Robotics StackExchange | Archived questions

ROS nodes killed by "rosnode kill" are reborn

Hello. I'm ROS beginner trying to move my robot.

I'm facing problem that another node prevent my robot from moving correctly. I found the node preventing my robot, but I don't understand where it comes from. So, as a short time solution, I killed that node by "rosnode kill" and checked it by "rqt_graph". But few second later, the node were reborn.

Is there any idea how this is happened? I've already checked crontab but there is no hint.

Thanks for your help.

Asked by murakami on 2020-12-16 03:02:16 UTC

Comments

I'd say you need to figure out which launch file starts this. Maybe there is the respawn flag set to true. If the robot automatically starts up the ROS master, there might be several ways how it is started. Maybe a custom init script (could be whereever) or using robot_usptart (check /etc/ros/<DISTRO>) for launch files.

Asked by mgruhler on 2020-12-16 03:56:21 UTC

The launch file starts this was found and I could solve this problem by deleting the launch file. Thank you for advice. But I still don't understand why this was happend. So I want to know about potential causes. How can I know about custom init script?

Asked by murakami on 2020-12-16 22:11:17 UTC

I'm not sure deleting the file would be the right way to go. Someone else using the robot (IF someone else is using the robot, that is) might be expecting this to start up.

There is no default way to know about custom init scripts. If you've bought the robot, it might be somewhere in the documentation. If it is developed by your lab or something, ask a "robot admin" or someone familiar with the system.

There is no default ROS custom init script or something.

Asked by mgruhler on 2020-12-17 02:03:48 UTC

Thanks for your advice. I gonna ask previous owner about it.

Asked by murakami on 2020-12-18 01:43:04 UTC

Answers

Thanks to @mgruhler 's advice, I could solve this problem.

The node that prevent my robot was executed by a launch file. The launch file was automatically executed when my robot booted by the ubuntu function "systemed". And it was automatically restarted every 10 seconds. I could check it by $sudo systemctl list-unit-files --type=service.

I really appriciate your help.

Asked by murakami on 2020-12-16 23:46:28 UTC

Comments