7#include "dynamics/inertial.h"
9#include "math/liegroup.h"
13class CommandHeaderBuilderImpl;
14class JointPositionCommandBuilderImpl;
15class JointGroupPositionCommandBuilderImpl;
16class JointImpedanceControlCommandBuilderImpl;
17class OptimalControlCommandBuilderImpl;
18class GravityCompensationCommandBuilderImpl;
19class CartesianCommandBuilderImpl;
20class CartesianImpedanceControlCommandBuilderImpl;
21class ImpedanceControlCommandBuilderImpl;
22class JointVelocityCommandBuilderImpl;
23class JogCommandBuilderImpl;
24class SE2VelocityCommandBuilderImpl;
25class StopCommandBuilderImpl;
26class RealTimeControlCommandBuilderImpl;
27class ArmCommandBuilderImpl;
28class TorsoCommandBuilderImpl;
29class BodyComponentBasedCommandBuilderImpl;
30class BodyCommandBuilderImpl;
31class MobilityCommandBuilderImpl;
32class HeadCommandBuilderImpl;
33class ComponentBasedCommandBuilderImpl;
34class WholeBodyCommandBuilderImpl;
35class RobotCommandBuilderImpl;
46 [[nodiscard]]
void* Build()
const;
49 std::unique_ptr<CommandHeaderBuilderImpl> impl_;
51 friend class GravityCompensationCommandBuilderImpl;
52 friend class JointPositionCommandBuilderImpl;
53 friend class JointGroupPositionCommandBuilderImpl;
54 friend class JointImpedanceControlCommandBuilderImpl;
55 friend class CartesianCommandBuilderImpl;
56 friend class CartesianImpedanceControlCommandBuilderImpl;
57 friend class OptimalControlCommandBuilderImpl;
58 friend class ImpedanceControlCommandBuilderImpl;
59 friend class JointVelocityCommandBuilderImpl;
60 friend class StopCommandBuilderImpl;
61 friend class SE2VelocityCommandBuilderImpl;
62 friend class JogCommandBuilderImpl;
82 [[nodiscard]]
void* Build()
const;
85 std::unique_ptr<JointPositionCommandBuilderImpl> impl_;
87 friend class ArmCommandBuilderImpl;
88 friend class TorsoCommandBuilderImpl;
89 friend class BodyCommandBuilderImpl;
90 friend class HeadCommandBuilderImpl;
112 [[nodiscard]]
void* Build()
const;
115 std::unique_ptr<JointGroupPositionCommandBuilderImpl> impl_;
117 friend class TorsoCommandBuilderImpl;
143 [[nodiscard]]
void* Build()
const;
146 std::unique_ptr<JointImpedanceControlCommandBuilderImpl> impl_;
148 friend class ArmCommandBuilderImpl;
149 friend class TorsoCommandBuilderImpl;
150 friend class BodyCommandBuilderImpl;
151 friend class HeadCommandBuilderImpl;
163 const std::string& link_name,
164 const math::SE3::MatrixType& T,
165 double translation_weight,
166 double rotation_weight
170 const Eigen::Vector3d& pose,
175 double target_position,
192 [[nodiscard]]
void* Build()
const;
195 std::unique_ptr<OptimalControlCommandBuilderImpl> impl_;
197 friend class TorsoCommandBuilderImpl;
198 friend class BodyCommandBuilderImpl;
222 [[nodiscard]]
void* Build()
const;
225 std::unique_ptr<ImpedanceControlCommandBuilderImpl> impl_;
227 friend class ArmCommandBuilderImpl;
228 friend class TorsoCommandBuilderImpl;
246 [[nodiscard]]
void* Build()
const;
249 std::unique_ptr<JointVelocityCommandBuilderImpl> impl_;
251 friend class MobilityCommandBuilderImpl;
260 double value()
const {
return value_; }
270 double value()
const {
return value_; }
278 explicit OneStep(
bool direction) : value_(direction) {}
280 bool value()
const {
return value_; }
305 [[nodiscard]]
void* Build()
const;
308 std::unique_ptr<JogCommandBuilderImpl> impl_;
310 friend class RobotCommandBuilderImpl;
328 [[nodiscard]]
void* Build()
const;
331 std::unique_ptr<SE2VelocityCommandBuilderImpl> impl_;
333 friend class MobilityCommandBuilderImpl;
345 [[nodiscard]]
void* Build()
const;
348 std::unique_ptr<StopCommandBuilderImpl> impl_;
350 friend class WholeBodyCommandBuilderImpl;
362 [[nodiscard]]
void* Build()
const;
365 std::unique_ptr<RealTimeControlCommandBuilderImpl> impl_;
367 friend class WholeBodyCommandBuilderImpl;
381 const std::string& link_name,
382 const math::SE3::MatrixType& T,
383 double linear_velocity_limit,
384 double angular_velocity_limit,
385 double acceleration_limit_scaling = 1.
389 double target_position,
390 std::optional<double> velocity_limit = std::nullopt,
391 std::optional<double> acceleration_limit = std::nullopt
401 [[nodiscard]]
void* Build()
const;
404 std::unique_ptr<CartesianCommandBuilderImpl> impl_;
406 friend class ArmCommandBuilderImpl;
407 friend class TorsoCommandBuilderImpl;
408 friend class BodyCommandBuilderImpl;
422 const std::string& ref_link_name,
423 const std::string& link_name,
424 const math::SE3::MatrixType& T,
425 std::optional<double> linear_velocity_limit = std::nullopt,
426 std::optional<double> angular_velocity_limit = std::nullopt,
427 std::optional<double> linear_acceleration_limit = std::nullopt,
428 std::optional<double> angular_acceleration_limit = std::nullopt
432 const std::string& joint_name,
433 double target_position,
434 std::optional<double> velocity_limit = std::nullopt,
435 std::optional<double> acceleration_limit = std::nullopt
439 const Eigen::VectorXd& target_position,
440 const Eigen::VectorXd& weight,
441 std::optional<double> k_p = std::nullopt,
442 std::optional<double> k_d = std::nullopt,
443 std::optional<double> cost_weight = std::nullopt
463 [[nodiscard]]
void* Build()
const;
466 std::unique_ptr<CartesianImpedanceControlCommandBuilderImpl> impl_;
468 friend class ArmCommandBuilderImpl;
469 friend class TorsoCommandBuilderImpl;
470 friend class BodyCommandBuilderImpl;
484 [[nodiscard]]
void* Build()
const;
487 std::unique_ptr<GravityCompensationCommandBuilderImpl> impl_;
489 friend class BodyCommandBuilderImpl;
490 friend class ArmCommandBuilderImpl;
491 friend class TorsoCommandBuilderImpl;
525 [[nodiscard]]
void* Build()
const;
528 std::unique_ptr<ArmCommandBuilderImpl> impl_;
530 friend class BodyComponentBasedCommandBuilderImpl;
572 [[nodiscard]]
void* Build()
const;
575 std::unique_ptr<TorsoCommandBuilderImpl> impl_;
577 friend class BodyComponentBasedCommandBuilderImpl;
593 [[nodiscard]]
void* Build()
const;
596 std::unique_ptr<BodyComponentBasedCommandBuilderImpl> impl_;
598 friend class BodyCommandBuilderImpl;
636 [[nodiscard]]
void* Build()
const;
639 std::unique_ptr<BodyCommandBuilderImpl> impl_;
641 friend class ComponentBasedCommandBuilderImpl;
659 [[nodiscard]]
void* Build()
const;
662 std::unique_ptr<MobilityCommandBuilderImpl> impl_;
664 friend class ComponentBasedCommandBuilderImpl;
678 [[nodiscard]]
void* Build()
const;
681 std::unique_ptr<HeadCommandBuilderImpl> impl_;
683 friend class ComponentBasedCommandBuilderImpl;
699 [[nodiscard]]
void* Build()
const;
702 std::unique_ptr<ComponentBasedCommandBuilderImpl> impl_;
704 friend class RobotCommandBuilderImpl;
722 [[nodiscard]]
void* Build()
const;
725 std::unique_ptr<WholeBodyCommandBuilderImpl> impl_;
727 friend class RobotCommandBuilderImpl;
749 [[nodiscard]]
void* Build()
const;
752 std::unique_ptr<RobotCommandBuilderImpl> impl_;
754 template <
typename T>
757 template <
typename T>
Definition robot_command_builder.h:494
Definition robot_command_builder.h:601
Definition robot_command_builder.h:580
Definition robot_command_builder.h:370
Definition robot_command_builder.h:411
Definition robot_command_builder.h:37
Definition robot_command_builder.h:686
Definition robot_command_builder.h:473
Definition robot_command_builder.h:667
Definition robot_command_builder.h:201
Definition robot_command_builder.h:256
Definition robot_command_builder.h:276
Definition robot_command_builder.h:266
Definition robot_command_builder.h:254
Definition robot_command_builder.h:93
Definition robot_command_builder.h:120
Definition robot_command_builder.h:65
Definition robot_command_builder.h:231
Definition robot_command_builder.h:644
Definition robot_command_builder.h:154
Definition robot_command_builder.h:353
Definition robot_command_builder.h:730
Definition robot_command_builder.h:313
Definition robot_command_builder.h:336
Definition robot_command_builder.h:533
Definition robot_command_builder.h:707