ros2_control hardware interface startup
Hi,
I've defined my my "hardware interface" in my robot xacro file (see below), but when I run the launch script I get the error below. My question 2-fold;
- Why do I get the error? Is ros2_control complaining it can't find an interface for these Joints?
- Does ros2_control start "ros2_hoverboard_hardwarex/HoverboardJoints" automatically or do I need to start it somehow?
Thank-you for your time,
Andrew
Error
[ros2_control_node-2] terminate called after throwing an instance of 'std::runtime_error'
[ros2_control_node-2] what(): Wrong state or command interface configuration.
[ros2_control_node-2] missing state interfaces:
[ros2_control_node-2] ' left_wheel_joint/velocity ' ' left_wheel_joint/position ' ' right_wheel_joint/velocity ' ' right_wheel_joint/position '
[ros2_control_node-2] missing command interfaces:
[ros2_control_node-2] ' left_wheel_joint/velocity ' ' right_wheel_joint/velocity '
XACRO
<ros2_control name="RealRobot" type="Actuator">
<hardware>
<plugin>ros2_hoverboard_hardwarex/HoverboardJoints</plugin>
</hardware>
<joint name="left_wheel_joint">
<command_interface name="velocity">
<param name="min">-10</param>
<param name="max">10</param>
</command_interface>
<state_interface name="velocity"/>
<state_interface name="position"/>
</joint>
<joint name="right_wheel_joint">
<command_interface name="velocity">
<param name="min">-10</param>
<param name="max">10</param>
</command_interface>
<state_interface name="velocity"/>
<state_interface name="position"/>
</joint>
</ros2_control>
Removing the "name" param in the ros2_control tag seemed to help. Found that in this post: link text
But now I get this error :-(