Featured image of post Robot Operating System: Requirements for Autonomous Navigation

Robot Operating System: Requirements for Autonomous Navigation

To build a self-navigating robot in ROS, we need to understand the fundamentals of different aspects. The robot itself needs to be modeled in a way that transformations of its pose can be achieved. Also, the robot needs to listen and react to `Twist` data. And finally, it needs to continuously publish positional sensor data in the form of odometry messages.

Featured image of post Robot Operating System: How to Model Point Cloud Data in ROS2

Robot Operating System: How to Model Point Cloud Data in ROS2

The simulation of RADU in RViz and Gazebo is progressing well. In the last articles, we learned how to launch the robot and operate it with a teleop node. In this article, we will add two visual sensors. First, an image camera to see a live feed from the robot when it moves around. Second, a depth camera sensor, which outputs a point cloud, a distance measurement of the robots' surrounding in which the colors represent how far away objects are. These two sensors help in 2D navigation and 3D object recognition.

Featured image of post Robot Operating System: Controlling a Robot with the ROS Gazebo Plugins

Robot Operating System: Controlling a Robot with the ROS Gazebo Plugins

In my recent articles about ROS and my project RADU, I showed how to launch a custom robot model in Gazebo and exposing its joints via special control nodes. These nodes accept commands to change their efforts, velocity, or position. However, the nodes are not translating the commands per-se and move your robot, you still need to write the code that interfaces with Gazebo.

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?