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

ROS Param YAML Format

In this tutorial I’ll show you how to handle ROS params with a YAML file. ROS parameters are a great way to modify settings in your program without having to re-compile anything. But when you start to have many ROS params – sometimes more than a few hundreds – things  start to become quite complicated. … Read more

OOP with ROS in Cpp

In a previous tutorial I’ve shown you how to write OOP code with ROS in Python. Now, time to use OOP with ROS in Cpp! I’ll use here the same application to write an example, so you can easily compare all 4 codes: Python/Cpp with/without OOP. If you haven’t read the Python tutorial: the application … Read more

OOP with ROS in Python

You are starting to develop with ROS and come from a programming background. Maybe you’re already using OOP in many of your programs, and you wonder how you can use OOP with ROS in Python. In this post I’ll show you a complete Python example, without OOP, and then with OOP. The code will contain … Read more

What is ROS?

You want to develop robotics applications, and have discovered ROS. But you’re confused… What is ROS? ROS means Robot Operating System. It’s quite hard to understand what is ROS from the beginning. Is it an operating system? A framework? What should you do with it? When I first started a few years ago, it took … Read more

How To Use a ROS Anonymous Node

First, to understand when you should use a ROS anonymous node, let’s start with the problem. So, you’ve just created a node for your infra-red sensor, it works well, and you’re happy with it. But now, your robot has 12 infra-red sensors. Knowing that a node should have a unique name, and that you can’t … Read more

What is a ROS Launch File?

What is a ROS launch file? As we did for ROS parameters, let’s first start with the problem. This post is a part of the What is ROS? series. Your robotics application is growing Let’s say you now have an application with 6 nodes and 10 parameters. When you want to start your application, you … Read more

What is a ROS Parameter?

What is a ROS parameter ? Before diving into the explanation, let’s see the problem we have here. This post is a part of the What is ROS? series. Why do you need ROS parameters ? So, you have a nice robot application with many packages and nodes inside those packages. Great! Now, you want … Read more

What is a ROS Message?

You may already have heard about ROS topics and services using ROS messages. So… What is a ROS message ? This post is a part of the What is ROS? series. ROS messages in topics and services If you haven’t read the explanations on ROS topics and ROS services yet, please read them now and … Read more

What is a ROS Service?

After learning a little bit about ROS, you now have this question in mind: what is a ROS service ? As I did for ROS topics, let’s start with a real life analogy. I will use an analogy with a weather service online. The analogy may not be 100% accurate but the point is to … Read more