-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add urdftest to ros2 control #31
Add urdftest to ros2 control #31
Conversation
Due to many robots with tip at various poses, the test verifies only if the tool0 frame can be resolved and is non-null
With the listener within the main class, strange wait_for_message issues arise
I get this error when testing this:
It seems there is still some kuka_robots_tests/src/kuka_experimental/kuka_ros2_control_support/test/ros2_control_support.py", line 285, in get_joint_states_from_trajectory_state return dict(zip(msg.joint_names, msg.actual.positions)) AttributeError: 'NoneType' object has no attribute 'joint_names' " /> |
That is annoying. I spend hours already on that, and thought I had solved it. This problem occurs when some message is not received properly by rclpy low-level middleware stuff. I think we are facing some non-atomic operations or so, due to threading. |
I cannot reproduce this on my side, but noticed there was a missing line (as compared to typical way executors are used and how the tf_listener test is done upstream ) so could you retry again ? |
Added a test ensuring the TCP (tool0) is resolved correctly using TF. If a URDF is mal-formed (example mismatch of joint_names between base robot and ros2_control), the joint_state would be wrong and the Robot State Publisher would then not be capable of creating all TF.
This addition was tricky as tf listener in python is known to have some issues with spinning its thread see 1, 2