Featured image of post Robot Operating System: Expose Control Nodes for an Interactive Simulation in Gazebo

Robot Operating System: Expose Control Nodes for an Interactive Simulation in Gazebo

In the recent articles about ROS and my project RADU, I showed how to launch a custom robot model in RVIZ and in Gazebo. In RVIZ, the robot was visually rendered, and with a small build-in GUI application, we could modify the joints of the robot. The Gazebo simulation that we finished in the last post was only visual. However, the goal is to have a fully working, controllable representation of the robot that can move inside its environment.

Featured image of post Robot Operating System: Getting Started with Simulation in ROS2

Robot Operating System: Getting Started with Simulation in ROS2

In a robotics project, simulation is an important aspect that serves multiple purposes. First, you can test the behavioral code that you want your robot to execute. Second, you can use the simulation to test different types of hardware, for example distance sensors, cameras or 3D point cloud sensors to see which works best. Third, the same software that visualizes a simulation can be used in real time, with a real robot, to see the environment while its being scanned and navigated by the robot.

Featured image of post Robot Operating System: How to Create a Robot Simulation Model (Part 2)

Robot Operating System: How to Create a Robot Simulation Model (Part 2)

In the last article, I showed how to model a 4-wheel robot with the Robot Operating System. We explored how to model a robot with the main concepts of links, shapes in the form of boxes, spheres or cylinders, and of joints, which define the connection and the positioning of the links. This model is expressed as an URDF file, an XML file format. The final model is very verbose and has lots of repetitions.

Featured image of post Robot Operating System: How to Create a Robot Simulation Model

Robot Operating System: How to Create a Robot Simulation Model

URDF is a custom data format for describing robots. It’s an XML file that provides concepts such as joints, motors and the general dimension of you robot. From this description, you can create and apply simulations. In this article, I will explain how to describe a robot with URDF.

Featured image of post Robot Operating System: How to Start the Robot Simulation Tool Rviz

Robot Operating System: How to Start the Robot Simulation Tool Rviz

With ROS, you have a powerful array of tools to help in your robotics project. One of these tools is rviz, a visualization tool for your robot model described in an URDF file. When I wanted to use rviz, I thought it would be as simple as starting rviz via the command line and to provide the URDF file as a parameter. But this is not a case! While I was following other URDF tutorials, the simulation always worked. But I did not understand why. However, when I learn things from ground up, I want to know why things work - and if they don’t work, how to fix them.

Featured image of post Robot Operating System: Installation Instructions for Ubuntu

Robot Operating System: Installation Instructions for Ubuntu

The Robot Operating System ROS is provided as several Debian packages. Installation instructions specifically target the Ubuntu distribution. If you want to get ROS running, its best to do so on an Ubuntu system. But what to do if you cannot use Ubuntu or have another operating system like OsX?

Featured image of post Robot Operating System: Introduction

Robot Operating System: Introduction

My ongoing goal is to build a self-navigating, pickup-and-deliver robot. Following the [project outline article](https://admantium.com/blog/robo01_intro/), I have researched the required hardware and software (phase 1) and built a moving robot prototype(phase 2). Now the goal is to use a robotics middleware software for simulating the robot with its chassis, movement abilities, and sensors.

Featured image of post Building a Custom PC in 2021

Building a Custom PC in 2021

Since years I have been working with laptops and small desktop computers, completely preassembled hardware. This year, working with Arduino, Raspberry Pi and Robot Projects, I feel more interested and familiar with electronics and hardware. Also, with the advent of recent next generation game consoles that use NVME technology to accelerate graphics rendering, I became interested and fascinated with PC hardware. To catch up and out of pure educational purpose I decided to build a new PC from scratch.

Featured image of post Python: Effective Serial Data Processing

Python: Effective Serial Data Processing

Sending serial data between microcontrollers and single-board-computers is an easy way to exchange information. In the last article, I showed three options how to connect the Raspberry Pi to the Raspberry Pico. At the time of writing this article, the best way is to use an USB-FTL connector on the Pi, and then to connect directly to TX/RX. This way, you do not need to configure anything special on your Pi and have a reliable connection.