Online help and resources

2.6. Online help and resources#

The most up-to-date information about ROS can be found on the web. There are a myriad of resources online to help you out in your educational or practical journey. One thing to keep in mind is that ROS, like most software, has different versions and the format and structure of commands and API calls may differ slightly between versions (although the developers try to keep things as stable as possible).

While newer or older versions of ROS 2 will be generally similar, it is worth paying attention to the distribution name or version number as there are changes between versions.

ROS grew up with the modern web, and as such it has a variety of resources and forums to help you solve problems and learn about the API and tools. Some of our web resources actually pre-date more widely used systems, so it helps to know where they are and how to use them.

Note

For students of Robot Software Practicals, we of course recommend that during the course you use our Brightspace forum to ask questions!

Nevertheless, you will probably encounter the online resources below while you look for online information on ROS yourself. Plus, after the course has finished, the online resources below are still useful to consult.

Nowadays the most accessible resource on the web for ROS users is probably robotics.stackexchange.com, though in the past answers.ros.org was mostly used (you can still find some helpful answers there, but be aware that many answers apply to ROS 1 and are outdated). These are Q&A-style websites similar to StackOverflow. Once you register, you can ask or answer any ROS-related question. Be aware that asking a question clearly can be difficult. You should include as much information as possible to help others answer your question. This means you should include the ROS version, platform version, any debugging or stack trace information you have, and the offending source code.

Aside from ROS Answers you should check out both the ROS 2 tutorials and API documentation, and the ROS 1 wiki. The ROS 1 wiki can be found at wiki.ros.org. While it is specifically dedicated to ROS 1, much of the information is still relevant to ROS 2.

If you are searching for up to date ROS 2 information, your go to source is the ROS 2 tutorials and API documents located at index.ros.org. In fact, many of the tutorials you will find in this manual pull directly from this body of work!

If you would like to find the latest ROS news and discuss various ROS features, the ROS Discourse forum at discourse.ros.org is your best bet. ROS discourse is the community hub where developers discuss their latest projects and debate the finer points of ROS development.

For ROS application developers, there are a number of tools to help you connect with the broader ROS developer community. Open Robotics supports index.ros.org/packages/, which is an extended list of ROS packages sorted by ROS distribution.

If you are searching for a ROS driver for a particular piece of hardware, then the index is a great place to start. If you find a community package with failing tests, or would like to know the build status of any ROS package, take a look at build.ros.org. Similarly, for un-indexed packages GitHub maintains a ROS code tag. This tag will allow you to search all of the tagged repositories that are publicly listed. At the time of writing there were close to 4000 repositories listed on GitHub, so there is a pretty good chance you’ll find what you need.

Finally, there are a variety of unofficial resources that you should be aware of that can be useful, particularly if you want to keep yourself up to date with the latest ROS projects and features. Both Open Robotics and ROS maintain X (Twitter) feeds to share the latest news. We also have a yearly ROS developers conference called ROSCon; most talks are freely available on the web. There are a few other resources that can also be useful including the ROS subreddit and an “unofficial” ROS Discord.