ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

How do you exit back to safe mode after running a roslaunch file?

asked 2012-10-21 14:06:29 -0500

krst gravatar image

updated 2012-10-21 15:52:07 -0500

tfoote gravatar image


I am using a roomba to run turtlebot on, I have a specific launch file that I run, but I still haven't figured out how to stop it?! To end the session i typically kill the running processes but then robot is still in receiving mode and I have to do a hard reset to make the roomba work again as normal (we are using it as a vacuum cleaner so I don't like resetting it every time i use it)

Is there any real turning of command so to say?


edit retag flag offensive close merge delete


Thanks tfoote, not really sure how I would use the ~set_operation_mode command, atleast did not manage to execute it. I have no powerboard, and connecting to my roomba 780 directly with the irobot serial usb cable but havent really gotten the dashboard to show me any status from the robot, is there something special detail there to take notice to make it to work?

krst gravatar image krst  ( 2012-10-24 01:27:20 -0500 )edit

Aha, that was a clever way. Will try that out today, because still have to do alot of manual resets! Thanks

krst gravatar image krst  ( 2012-11-02 21:59:09 -0500 )edit

Jbuesch, what kind of launch file do you use then for your roomba? I tried your trick/idea but i then just get my roomba to go in a loop into passive mode all the time... when you say put it as the last line of spin() that means to put it just below the r.sleep() command right?

krst gravatar image krst  ( 2012-11-03 10:05:43 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2012-10-21 15:51:29 -0500

tfoote gravatar image

First I think you need to be in passive mode for it to drive itself. And secondly there are two options, one is to put it into passive mode using the dashboard before you shutdown the TurtleBot software. The second is to call the rosservice directly with the passive command ~set_operation_mode (Note the turtlebot_driver needs to still be running for either of these solutions to work.)

edit flag offensive delete link more

answered 2012-10-29 08:00:13 -0500

JBuesch gravatar image

I had the same problem and altered the by adding self._robot_reboot() in the last line of spin(). By doing so, roomba is soft-rebooted in the end (after killing the process from terminal).

This way you cannot forget to put it back to passive mode my rosservice.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2012-10-21 14:06:29 -0500

Seen: 338 times

Last updated: Oct 29 '12