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 
65  BSplineTrajectoryTask(const mc_rbdyn::Robots & robots,
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 
88  void addToGUI(mc_rtc::gui::StateBuilder & gui);
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
mc_rbdyn::Robots
Definition: Robots.h:15
mc_trajectory::BSpline::waypoints_t
std::vector< Eigen::Vector3d > waypoints_t
Definition: BSpline.h:20
MC_TASKS_DLLAPI
#define MC_TASKS_DLLAPI
Definition: api.h:50
mc_tasks::BSplineTrajectoryTask::waypoints_t
mc_trajectory::BSpline::waypoints_t waypoints_t
Definition: BSplineTrajectoryTask.h:25
mc_tasks::SplineTrajectoryTask
Generic CRTP implementation for a task tracking a curve in both position and orientation....
Definition: SplineTrajectoryTask.h:37
mc_tasks::BSplineTrajectoryTask
Track a bezier curve with a robot surface.
Definition: BSplineTrajectoryTask.h:21
mc_rbdyn::RobotFrame
Definition: RobotFrame.h:21
mc_tasks::BSplineTrajectoryTask::spline
const mc_trajectory::BSpline & spline() const
const accessor to the underlying spline (used by SplineTrajectoryTask)
Definition: BSplineTrajectoryTask.h:79
SplineTrajectoryTask.h
mc_rtc::gui::StateBuilder
Definition: StateBuilder.h:27
BSpline.h
mc_tasks::BSplineTrajectoryTask::spline
mc_trajectory::BSpline & spline()
accessor to the underlying spline (used by SplineTrajectoryTask)
Definition: BSplineTrajectoryTask.h:84
mc_tasks::BSplineTrajectoryTask::bspline
mc_trajectory::BSpline bspline
Definition: BSplineTrajectoryTask.h:107
mc_trajectory::BSpline
Definition: BSpline.h:17
mc_tasks
Definition: StabilizerStandingState.h:11