Contents
- My question isn't answered here; what do I do?
- Where do I get started?
- What Operating Systems are supported?
- How do I install prerequisites?
- What is a ROS package?
- How do I find the list of available ROS packages?
- How do I build a ROS package?
- There's no Makefile in the root of ros-pkg! How do I build everything?
- How do I visualize sensor data (or anything else)?
- How do I contribute back to ROS?
- Does ROS run on OS X?
- My SVN update failed with '''an unversioned directory of the same name already exists'''
- My SVN update failed with '''SSL negotiation failed: Secure connection truncated'''
- Can Player and ROS work together?
- How do I run ROS across multiple machines?
- Any time I try to do anything that uses rospack (rosmake, roscd) it takes a long time to execute - how can I make things faster?
- What does it take to be a implement my own Node library?
My question isn't answered here; what do I do?
Try running roswtf and see if it can diagnose your issue
Search the ros-users archives. If the answer to your question isn't there, please post your question to the appropriate mailing list. You may also want to subscribe to the ros-users list.
Where do I get started?
Start by looking at the ROS tutorials.
What Operating Systems are supported?
See rosdep documentation.
How do I install prerequisites?
Use the rosdep tool to install external dependencies (e.g. debian packages) for a Package. For example, to get all the system dependencies for the rviz package:
rosdep install rviz
What is a ROS package?
See Packages. A package is a chunk of code and/or data.
How do I find the list of available ROS packages?
On your running system, you can use rospack:
rospack list-names
You can also consult the autogenerated documentation for ROS packages which is updated nightly or the wiki PackageList. This list only contains packages from code.ros.org; only some other repositories are currently listed here.
How do I build a ROS package?
Use rosmake. It first builds all the package's dependencies, then builds the package itself.
E.g., to build the rviz package:
rosmake rviz
You can do this from anywhere. Alternatively, you can go to the package directory, then run rosmake with no arguments:
roscd rviz rosmake
There's no Makefile in the root of ros-pkg! How do I build everything?
ROS packages live in a federated space where's there's no central list of things to be built. For reasons of (disk) space and time, usually you just want to build the things that you're working with. E.g., if you're using the pr2_2dnav_gazebo package, which brings up a navigation stack in simulation, you can build all the pieces you need with rosmake:
rosmake pr2_2dnav_gazebo
Having said that, if you really want to build everything, you can use rosmakeall:
rosmakeall
It will build all packages in your ROS_ROOT and ROS_PACKAGE_PATH directories. Note that this will take about 90 minutes and consume about 1GB on disk. As of now, rosmakeall also runs all the tests for each package. It will eventually be modified to not run tests.
How do I visualize sensor data (or anything else)?
Use rviz.
How do I contribute back to ROS?
Great to hear that you're interested in contributing!
If you have made improvements to existing packages, the best thing to do is send a patch to the appropriate developers. For the ros and code.ros.org repositories, please open Trac tickets, with the patch attached:
If you have developed new packages, you are encouraged to create your own repository. We aim to have a federated system of repositories, with no one gatekeeper for distributing ROS packages. Having your own package repository lets you have full control over the code, set your own license terms, and make releases on your schedule.
Known ROS package repositories are listed on the Repositories page. If you create your own repository, please send an announcement to our ros-users list, and we'll link to your project.
Does ROS run on OS X?
See also: Tips on using ROS on OS X.
To date, we officially support only the ROS core platform on OS X. We don't yet support any of the non-core packages (e.g., the contents of the ros-pkg and wg-ros-pkg projects) on OS X.
A lot of the package code will work on OS X, and many could be made to work without too much effort. If you do fix something to work on OS X (or any other platform), please submit a patch to:
My SVN update failed with '''an unversioned directory of the same name already exists'''
This error can happen for a number of reasons. The workaround is to use the --force option when updating. (Alternatively, you can rm the directory (or file) that SVN is complaining about, then repeat the update. Unfortunately, SVN will only complain about one such conflict at a time, so you may have to repeat this rm and update loop multiple times.)
This problem occurs any time that a directory or file was previously autogenerated, but then is checked into SVN. For example, if someone adds some exported Python code to a package that already contained auto-generated message or service code.
My SVN update failed with '''SSL negotiation failed: Secure connection truncated'''
Occasionally, you may get a response like the following when doing an svn up:
svn: PROPFIND of '/svnroot/ros-pkg/!svn/bc/22522/pkg/trunk/calibration/sandbox/pr2_calibration_actions/msg/JointStatesChannelConfig.msg': SSL negotiation failed: Secure connection truncated (https://ros-pkg.svn.sourceforge.net)
This is, as far as we know, a network connectivity problem with the SVN server. SourceForge's servers exhibit this kind of error more often than others, and much more often than we would like.
The workaround is to try the svn up again. If the server is having a particularly bad day, you may need to run the update multiple times.
Can Player and ROS work together?
You can use Player drivers in ROS. We've also designed many of the ROS libraries to be easily embeddable, sans-ROS, inside of other frameworks. We don't have any formal tutorials on using Player drivers in ROS, but you can start here for pointers:
How do I run ROS across multiple machines?
Run the ROS master (roscore) on one of the machines. Then set the ROS_MASTER_URI environment variable on all other machines that you want to run ROS nodes on, as described in this tutorial, running ROS across multiple machines.
Any time I try to do anything that uses rospack (rosmake, roscd) it takes a long time to execute - how can I make things faster?
Sometimes old defunct packages - "zombies" - that have had their manifests moved removed or deleted may be making it time-consuming to crawl the directory structure. Try the command rospack profile - this will tell you the time required to crawl your directory structure and will describe your directory structure, including any zombies that may be in the structure. These will be indicated with an asterisk. Getting rid of the zombies may improve your system performance - running the command rospack profile --zombie-only will list these zombies. From this point you can either manually remove the zombies or if it looks to you like the entire list can be safely deleted you can run the command: rospack profile --zombie-only | xargs rm -r. This will remove all of the zombie directories, and can potentially may it quicker to navigate or build your ros directory structure.
What does it take to be a implement my own Node library?
Please see the document on Implementing Client Libraries.






