[ROS] Include a Cpp header from another package

You want to include a Cpp header from another package in ROS, and don’t know how to do? Or you already tried and got a lot of compilation errors? Well, this tutorial is for you. I will start from scratch with a brand new custom library, build it inside a package, install it, and use … Read more

ROS AsyncSpinner Example

In this tutorial I’ll show you how to use a ROS AsyncSpinner with an example. You’ll see when using a roscpp AsyncSpinner is required, instead of the standard roscpp spinner. This tutorial could also be called: how to solve roscpp callback issues, when it seems that some callbacks are stuck or late. We’ll start by … Read more

[ROS] How To Import a Python Module From Another Package

In this tutorial I’ll show you how to import a Python module from another package. ROS allows you to do that, and as you’ll see it’s quite simple. If you have a package which contains some common tools, helper functions, utils, or other stuff like that, you may want to be able to write the … Read more

Package Organization For a ROS Stack [Best Practices]

What is the best package organization for your ROS stack? How can your better separate your code into different packages? Although there is no right answer to this question, and everyone is free to do what they think is best, I’ll try to give here some feedback from my own experience. I have analyzed what … Read more

ROS Param Command Line Tool – Practical Example (rosparam)

This tutorial is a practical guide on how to use rosparam command line tool to debug ROS Params. ROS params are really useful to launch your ROS application with different setup settings, without having to re-write and re-compile any part of your code. With the rosparam command line tool, you’ll be able to test your … Read more