ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A

ROS 2 Services Tutorial

Hi all,

I recently put together a quick tutorial on exploring ROS 2 services with a Robotis OpenMANIPULATOR-X and would welcome any comments you have, you can find it on Ubuntu discourse.

This was written after watching college students really struggle with getting the robot arm to do something after they finished up with the robotis manual and the ROS 2 CLI tutorials. The students are generally OK with higher level programming (python, java) but not terribly familiar with packages, workspaces, build environments and such. This tutorial tries to fill the a middle ground by applying the ROS 2 CLI to a specific use case and guide the readers into understanding when to use existing packages, and when to start writing their own packages. After this they should be ready to dig into the intermediate and advanced tutorials.

This was originally going to be a blog post, but now I’m thinking about an Ubuntu tutorial they provide a nice interactive format. Any thoughts on comment, scope or best place to publish would be much appreciated! I hope to continue publishing similar docs to help with ROS 2 adpotion.


Hi @SidFaber! Thank you for sharing this. This kind of content is invaluable to what we’d like to achieve with the ROS 2 documentation right now. While we’ve been working on updating content for standard ROS 2 skills, our goal is to have use-case and persona-specific content accompany the general tutorials each step of the way, just like this. Students “not terribly familiar” with ROS but needing to jump into using robots right away is a big use case for us, and a solution coming from the real world is, like I said, invaluable.

It’d be great to have your tutorial on the main tutorials page over on ros.index. If you’re interested, you can open a PR on ros2_documentation, or just let me know here and I’ll take care of it. At the very least, we’ll definitely be linking to “Call Services in ROS 2” in a few places in the docs :slight_smile:

I’d strongly encourage anyone else in the community who has faced similar situations to share their solutions in the form of discourse posts/tickets/tutorials that tackle clearly defined use cases and focus on granular skills like this one does!


Thanks Maraya, after going back and forth with this a few times I think it might fit best somewhere under the ros2_documentation area. I’ll mock up something as a PR and let you take a look.