Closed
Description
I just got reported that the joint_state_controller
has resorted
joint_names compared to the ros2_control
-tag defined in the URDF file. They could be confusing and we should "debug" this if possible.
For this, I propose the following procedure:
- Start an example 6D robot to test this:
- Checkout
ros2_control_demos
repository6Dbot-example-for-tests
branch (Add example 6Dbot for tests and debugging ros2_control_demos#74). - Compile the package and start
ros2 launch ros2_control_demo_robot 6Dbot_example.launch.py
- Echo
/joint_states
topics and see that the name field does not start with "joint1", but "joint2". Why? This has to be answered in this issue!
- Checkout
- Check how the interfaces are ordered in the configuration incoming to the FakeSystem implementation. Check names of the joints in this line.
- Check the order of the
state_interfaces
in theassign_interfaces
method here. - Check the order here.
- Finally, the output joint names are sorted as stored in the
joint_names_
variable here.
If the joint_names are mixed, we have to find out exactly where to know if this is repairable or add additional parameters or parsing of URDF in the controller.
Metadata
Metadata
Type
Projects
Status
Done