As explained in the previous post, the need to switch to ROS2 was essential for moving forward with a truly distributed architecture. In this post, we will take a look at how we can install and configure ROS2 on our target system.Please note, we will be publishing this tutorial with our target system in mind, which is a computer running Ubuntu18.04 LTS, having a 5th generation Intel core i3 and 12 GB of RAM.
Continue reading
Congratulations, you have now successfully configured ROS for your target system. It’s time to get to know the fundamental features of ROS. There are two main styles of development in ROS - we can either write everything from scratch, which for a small application is doable, but defeats the purpose of using ROS when we apply this for a large(complex) system. We will focus on the first approach here.
Continue reading
ROS (Robot Operating System) is a software environment (i.e., middleware) providing a set of tools to connect multiple parts of a robotic setup. It offers nice features to interface with a wide range of sensors and actuators. However, it does not natively provide any strict real-time guarantees. Yet, many modern-day robots have a strong need to achieve a deterministic, time-bounded behaviour (e.g., mobile robot collision avoidance).
The aim of the project is to determine how real-time capabilities can be brought to ROS. The first step would be to identify the existing real-time extensions, and carry out a comparative study about each of them. The next step would be to setup the installation process for a real-time environment using ROS and Linux/Xenomai. The final step will consist in developing and testing real-time ROS nodes.
Continue reading
The first thing we want on our target is an Operating System. Nowadays, the easiest and the most disposable option for installing Ubuntu is from a bootable thumb drive(4GB+). For that purpose, all we need is an image of the OS, a thumb drive, and we are ready to go.
Continue reading
Xenomai is a real-time OS using Linux as a background task. Linux is preempted as a simple task. With Xenomai, the idea of impossible preemption, handlers, is no longer valid. Tasks, handled by Xenomai, are guaranteed to have a hard real-time execution.
Continue reading