[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

Arduino and the STL library (C++)

So, you are using Arduino and you wonder if you can use the Cpp STL library in your code. The good news is: yes that’s possible! Even if some feature will still be lacking, or some others will be limited, you will be able to use things like std::vector and std::string in your Arduino programs. … Read more

Setup Raspberry Pi Hardware Permissions

Raspberry Pi hardware permissions can be quite tricky. So, you are using hardware functionalities with your Raspberry Pi 4 (or 3B, 3B+), and always getting errors such as “Permission denied”? This might be the case if you use I2C, SPI, UART, or simply the GPIOs on the Pi, with a user that isn’t root. In … 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

Create a ROS Node Outside a Catkin Workspace

In this tutorial I’ll show you how to create a ROS node outside a catkin workspace – both for Python and Cpp. Most of the post is dedicated to linking ROS libraries to a Cpp file, because as you’ll see it’s quite simple for Python. Why would you want to create a node outside of … Read more