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

Raspberry Pi 4 Pins – Complete Practical Guide

The Raspberry Pi 4 board has a GPIO header with 40 pins. This GPIO header is also the same for Raspberry Pi 3 boards, so this guide applies to both versions. GPIOs allow you to easily use hardware features and communication, directly from a computer – the Raspberry Pi microprocessor. It brings the Raspberry Pi … Read more

Install and Use Vim on Raspberry Pi

So, you’re using a Raspberry Pi board, and are wondering which IDE you might use to write your code. As the Raspberry Pi resources are quite limited, and you’ll often use it headless (without a screen), the number of options you have is also quite limited. In this post I’ll show you how to install … Read more

Arduino millis() vs micros()

When using the Arduino library, you have two simple ways of getting the current time since the Arduino board started: millis() and micros(). Those are very useful functions that you need in almost all your programs. For example, they will allow you to write multitasks programs very easily, and thus avoid using the delay() function. … 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

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

Should You Learn Mathematics To Program Robots?

You know that mathematics are everywhere, and especially in robotics. But, if you just want to program robots, is it really important? Could you succeed without it? So, should you learn mathematics to program robots? The answer is: yes and no. Quite useful, right? Because it’s not as simple as that. Keep reading so you’ll … 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

Make a Raspberry Pi 4 program start on boot

Let’s say you have developed a super program running on your Raspberry Pi 4 board. But here’s the problem: to start it you always have to power on the board, log in (with a screen and keyboard or via ssh), and start your program. How could you make your Raspberry Pi 4 program start on … Read more