63 explicit InterfaceData(
const std::string& command_interface) : command_interface_(command_interface)
67 std::string command_interface_;
68 double command_ = std::numeric_limits<double>::quiet_NaN();
69 double state_ = std::numeric_limits<double>::quiet_NaN();
72 double transmission_passthrough_ = std::numeric_limits<double>::quiet_NaN();
98 std::string joint_name =
"";
102 std::shared_ptr<control_toolbox::PidROS> pos_pid{
nullptr };
103 std::shared_ptr<control_toolbox::PidROS> vel_pid{
nullptr };
105 int mj_joint_type = -1;
108 int mj_actuator_id = -1;
112 bool is_position_control_enabled{
false };
113 bool is_position_pid_control_enabled{
false };
114 bool is_velocity_pid_control_enabled{
false };
115 bool is_velocity_control_enabled{
false };
116 bool is_effort_control_enabled{
false };
117 bool has_pos_pid{
false };
118 bool has_vel_pid{
false };
120 void copy_state_to_transmission()
122 position_interface.transmission_passthrough_ = position_interface.state_;
123 velocity_interface.transmission_passthrough_ = velocity_interface.state_;
124 effort_interface.transmission_passthrough_ = effort_interface.state_;
127 void copy_command_from_transmission()
129 position_interface.command_ = position_interface.transmission_passthrough_;
130 velocity_interface.command_ = velocity_interface.transmission_passthrough_;
131 effort_interface.command_ = effort_interface.transmission_passthrough_;
134 void copy_command_to_state()
136 position_interface.state_ = position_interface.command_;
137 velocity_interface.state_ = velocity_interface.command_;
138 effort_interface.state_ = effort_interface.command_;
158 std::string name =
"";
163 std::vector<std::string> command_interfaces = {};
165 bool is_mimic{
false };
166 long int mimicked_joint_index;
167 double mimic_multiplier;
169 bool is_position_control_enabled{
false };
170 bool is_velocity_control_enabled{
false };
171 bool is_effort_control_enabled{
false };
173 void copy_state_from_transmission()
175 position_interface.state_ = position_interface.transmission_passthrough_;
176 velocity_interface.state_ = velocity_interface.transmission_passthrough_;
177 effort_interface.state_ = effort_interface.transmission_passthrough_;
180 void copy_command_to_transmission()
182 position_interface.transmission_passthrough_ = position_interface.command_;
183 velocity_interface.transmission_passthrough_ = velocity_interface.command_;
184 effort_interface.transmission_passthrough_ = effort_interface.command_;
187 void copy_state_to_command()
189 position_interface.command_ = position_interface.state_;
190 velocity_interface.command_ = velocity_interface.state_;
191 effort_interface.command_ = effort_interface.state_;