3#include <franka/robot_state.h>
16template <
typename ControlSignalType>
26template <
typename ControlSignalType>
29 std::function<std::shared_ptr<Motion<ControlSignalType>>(
const RobotState &, franka::Duration, franka::Duration)>;
56 std::shared_ptr<Motion<ControlSignalType>>
operator()(
82 MotionFunc motion_func_;
84 std::mutex callback_mutex_;
85 std::vector<std::function<
void(
const RobotState &, franka::Duration, franka::Duration)>> callbacks_{};
A condition on the robot state.
Definition condition.hpp:16
Base class for motions.
Definition motion.hpp:24
A reaction that can be attached to a motion.
Definition reaction.hpp:27
bool condition(const RobotState &robot_state, franka::Duration rel_time, franka::Duration abs_time) const
Check if the condition is met.
Definition reaction.hpp:68
void registerCallback(const std::function< void(const RobotState &, franka::Duration, franka::Duration)> &callback)
Register a callback that is called when the condition of this reaction is met.
Definition reaction.cpp:41
std::shared_ptr< Motion< ControlSignalType > > operator()(const RobotState &robot_state, franka::Duration rel_time, franka::Duration abs_time)
Get the new motion if the condition is met.
Definition reaction.cpp:33
Definition dynamics_limit.cpp:8
std::array< double, dims > toStdD(const Eigen::Matrix< double, dims, 1 > &vector)
Definition util.hpp:18
Full state of the robot.
Definition robot_state.hpp:23