When to use Python vs Cpp with ROS

You’re programming with ROS, or are just getting started, and you wonder: should you use Python vs Cpp with ROS? Of course… It depends. But in this post I’ll try to go beyond this “it depends” answer, to give you some points on when to you use one language or the other. To this question, … Read more

ROS Duration (roscpy and roscpp)

In this tutorial I’ll show you how to use ROS Duration in your ROS code – for roscpp and rospy. Through several examples you’ll see some of the most common use cases where ROS Duration is useful. Also, for each example you’ll learn about the differences between the Python and Cpp implementation, which is sometimes … Read more

rqt graph – Visualize and Debug Your ROS Graph

Rqt graph is a very useful tool to see what’s going on in your ROS graph. It’s a GUI plugin from the Rqt tool suite. In this tutorial I’ll show you how to install and use it. What is rqt graph Rqt graph is a GUI plugin from the Rqt tool suite. With rqt graph … Read more

rqt plot – Easily Debug ROS topics

In this tutorial I’ll show you what is ROS rqt plot and how to use it efficiently, through some examples. What is rqt plot and what to do with it Rqt is a very useful ROS tool to help you during your ROS development. It’s based on the Qt framework and includes a lot of … Read more

ROS Rate (rospy and roscpp)

ROS Rate is a powerful ROS feature you can use for your control loops – be it for reading a sensor, controlling a motor, etc. In this tutorial I’ll explain to you what is a ROS Rate, and you’ll see the code to use a rospy Rate and a roscpp Rate. Let’s get started! ROS … Read more

ROS: Create Multiple Catkin Workspaces

In this tutorial I’ll show you how to create multiple catkin workspaces with ROS. Sometimes you want to create different projects for different robots. The easiest way to manage that is to create several catkin workspaces, one for each robot project. But it’s not as simple as that. There are a few things you need … Read more

Get and Set ROS Params with rospy and roscpp

In this tutorial you’ll learn how to set and get ROS params with code, inside your nodes. You’ll see how to handle params with both rospy and roscpp. ROS parameters are quite useful to set global settings for your application. All your nodes can get access to those settings. And the best thing is: you … Read more