Ask Your Question
7

Best practices for launching ROS on startup

asked 2011-08-15 12:23:28 -0500

Chad Rockey gravatar image

updated 2011-08-15 12:26:39 -0500

What are the current recommendations for starting a ROS Launch when the computer first comes online? Preferably, I'm looking for something that doesn't run as root and can happen without a user logging in, but I'm open to hearing all current recommendations. Is rc.local a good fit? What are some complications that can occur?

edit retag flag offensive close merge delete

Comments

The answer to this question should end up listed http://www.ros.org/wiki/BestPractices.
Brian Gerkey gravatar imageBrian Gerkey ( 2011-08-15 12:33:18 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted
5

answered 2011-08-15 14:43:46 -0500

mjcarroll gravatar image

updated 2011-08-15 16:19:02 -0500

tfoote gravatar image

I think the best approach would be to follow the example of turtlebot for now.

In the turtlebot system, there is a "minimal.launch" file that can be brought up as a service at system boot. The UID/GID is set to "turtlebot" at the launch.

You can find the upstart script in the Turtlebot Repository

Minimal is the least amount of hardware that you need running in order for the robot to function. It is basically the common functionality for any application that you would need to run on the robot.

In the example of turtlebot, this includes:

  • Loading the URDF file and other parameters
  • Starting the App manager
  • Starting state_publisher, diagnostics, and diagnostic_aggregator

From here, you can launch additional apps as necessary.

EDIT: I would like to add that taking your robot from the construction/testing phase to a more research-oriented phase should probably also involve starting to use app_manager and diagnostics.

edit flag offensive delete link more

Comments

I'm doing some work on getting app_manager and diagnostics running on one of our platforms in the next few weeks. I'll try to document the process so that we can come up with some sort of format "best practice" for how this should be done. Input is always appreciated.
mjcarroll gravatar imagemjcarroll ( 2011-08-16 04:58:45 -0500 )edit
3

answered 2013-09-11 09:56:45 -0500

Along the same lines as "follow the Turtlebot example", I've recently created a generalized robot_upstart package to cover the upstart needs of Clearpath's Husky, Kingfisher, and Grizzly products. Please check it out here:

https://github.com/clearpathrobotics/robot_upstart

It should also work for Turtlebot, if the Turtlebot maintainers are interested in switching to it. Apart from not being hard-coded to a specific robot name, package, or user, it's otherwise very much a clone of what Turtlebot does.

There will be a page on the ROS wiki shortly; the automatic spider has not yet created the stub for me to populate.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

8 followers

Stats

Asked: 2011-08-15 12:23:28 -0500

Seen: 9,931 times

Last updated: Sep 11 '13