BSplineTrajectoryTask.h
Go to the documentation of this file.
1 /*
2  * Copyright 2015-2022 CNRS-UM LIRMM, CNRS-AIST JRL
3  */
4 
5 #pragma once
6 
8 
10 
11 namespace mc_tasks
12 {
13 
21 struct MC_TASKS_DLLAPI BSplineTrajectoryTask : public SplineTrajectoryTask<BSplineTrajectoryTask>
22 {
26 
27 public:
28  using SplineTrajectoryBase::target;
43  double duration,
44  double stiffness,
45  double weight,
46  const sva::PTransformd & target,
47  const waypoints_t & posWp = {},
48  const std::vector<std::pair<double, Eigen::Matrix3d>> & oriWp = {});
49 
66  unsigned int robotIndex,
67  const std::string & surfaceName,
68  double duration,
69  double stiffness,
70  double weight,
71  const sva::PTransformd & target,
72  const waypoints_t & posWp = {},
73  const std::vector<std::pair<double, Eigen::Matrix3d>> & oriWp = {});
74 
79  const mc_trajectory::BSpline & spline() const { return bspline; };
84  mc_trajectory::BSpline & spline() { return bspline; };
85 
89 
95  void posWaypoints(const waypoints_t & posWp);
96 
97 protected:
101  void targetPos(const Eigen::Vector3d & target);
102 
104  const Eigen::Vector3d & targetPos() const;
105 
106 protected:
108 };
109 
110 } // namespace mc_tasks
#define MC_TASKS_DLLAPI
Definition: api.h:50
Definition: StabilizerStandingState.h:12
Definition: RobotFrame.h:22
Definition: Robots.h:16
Definition: StateBuilder.h:28
Track a bezier curve with a robot surface.
Definition: BSplineTrajectoryTask.h:22
void targetPos(const Eigen::Vector3d &target)
Sets the curve target pose.
mc_trajectory::BSpline & spline()
accessor to the underlying spline (used by SplineTrajectoryTask)
Definition: BSplineTrajectoryTask.h:84
void addToGUI(mc_rtc::gui::StateBuilder &gui)
Add interactive GUI elements to control the curve waypoints.
void posWaypoints(const waypoints_t &posWp)
Control points for the bezier curve (position)
mc_trajectory::BSpline::waypoints_t waypoints_t
Definition: BSplineTrajectoryTask.h:25
const mc_trajectory::BSpline & spline() const
const accessor to the underlying spline (used by SplineTrajectoryTask)
Definition: BSplineTrajectoryTask.h:79
const Eigen::Vector3d & targetPos() const
Returns the curves target position.
mc_trajectory::BSpline bspline
Definition: BSplineTrajectoryTask.h:107
BSplineTrajectoryTask(const mc_rbdyn::RobotFrame &frame, double duration, double stiffness, double weight, const sva::PTransformd &target, const waypoints_t &posWp={}, const std::vector< std::pair< double, Eigen::Matrix3d >> &oriWp={})
Creates a trajectory that follows a bspline curve.
BSplineTrajectoryTask(const mc_rbdyn::Robots &robots, unsigned int robotIndex, const std::string &surfaceName, double duration, double stiffness, double weight, const sva::PTransformd &target, const waypoints_t &posWp={}, const std::vector< std::pair< double, Eigen::Matrix3d >> &oriWp={})
Creates a trajectory that follows a bspline curve.
Generic CRTP implementation for a task tracking a curve in both position and orientation....
Definition: SplineTrajectoryTask.h:38
Definition: BSpline.h:18
std::vector< Eigen::Vector3d > waypoints_t
Definition: BSpline.h:20