0
$\begingroup$

Setup :

  • ROS2 Humble
  • Yocto Distro
  • Jetson Nano
  • diff_drive_controller : 2.23.0
  • controller_manager : 2.28.0

I have a python node publishing cmd_vel to a twist_mux and then to ros2_control. After a random (seems random) period of time, it seems that no cmd_vel are published and consequently motors are not running anymore. If I use the command ros2 topic echo on the command vel topic, it starts working again. Can you help me understand this behavior ?

Update :

Everything is running on the jetson nano so it isn't a network issue. What I saw this morning is that when it happens the twist_mux seems asleep (I can't see it as a publisher when doing ros2 topic info) BUT it restarts everything and if I re-enter the same "ros2 topic info" command, twist_mux is among the publishers... So it is either a DDS issue either a twist_mux... That's my conclusions for now.. ros2 topic info output

Thanks in advance.

$\endgroup$
4
  • $\begingroup$ Hi Antoine, this question coupled with your previous one makes me wonder if this might be a network/DDS issue. If you are sending these cmd_vel messages from some external computer, there is a possibility that either you have an internet issue, which means some commands are not being sent over to your Nano, or your DDS is dropping these messages for some reason. $\endgroup$
    – ssarkar
    Sep 29 at 9:24
  • $\begingroup$ Thanks again for your answer, as you can see, I continue my investigation on this one. Everything is running on the jetson nano so it isn't a network issue. What I saw this morning is that when it happens the twist_mux seems asleep (I can't see it as a publisher when doing ros2 topic info) BUT it restarts everything and if I re-enter the same "ros2 topic info" (or a ros2 topic list or echo or whatever) command, twist_mux is among the publishers... So it is either a DDS issue either a twist_mux... That's my conclusions for now... $\endgroup$ Sep 29 at 11:25
  • $\begingroup$ This seems like a DDS issue from a distance. What you can try doing is : go to the directory where your ROS logs (by default, it should be something akin to /home/antoine/.ros/log) are stored. Examine the files from your latest run, this might give you some insight if the DDS fails at some point. Look inside the launch.log file to see if anything suspicious pops up there, if not, then go on to check the controller manager's logs. I would also suggest that you open an issue on the ros2_control repo. You will find more dedicated support from the maintainers there. $\endgroup$
    – ssarkar
    Sep 29 at 11:37
  • $\begingroup$ @ssarkar Nothing to see in logs. I've created an issue on ros2_control : github.com/ros-controls/ros2_control/issues/1122 . Hope I will get something from there. Thanks for your help ! $\endgroup$ Sep 29 at 12:02

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.