Robotic Arm Simulation with ROS and Gazebo

Published on . Written by

Robotic Arm Simulation with ROS and Gazebo

This tutorial is for enthusiasts who want to develop a software system for robots without building one. You can make use of the simulators for software development. Gazebo is one of these simulators and it can be integrated with ROS which makes the development process easier. In this ROS project, you will learn how to integrate Gazebo and ROS and start experimenting with robotic software.


Skyfi Labs Projects
What is Gazebo?

Gazebo is a 3D simulator that helps to simulate AI systems, robots, test algorithms in realistic scenarios. It offers the ability to efficiently simulate multiple robots in complex environments. Using gazebo you can create a 3D virtual environment adding real-time obstacles and objects. It also uses a physical engine for gravity, inertia, illumination, etc. Thus making it easy to simulate robots in harsh environments without creating any damage to robots. 

Read more..

SLNOTE
What is ROS?

ROS is a meta operating system used to control robotics systems. ROS helps engineers by making them reuse the components from other robotics systems that other people wrote. Thus helps engineers to access functions such as inverse kinematics and SLAM. 

Let’s start by installing ROS and Gazebo

For this project, we are going to use “ROS Kinetic kame”. Make sure you have the supported OS to run ROS. It is better to use Ubuntu 15.04 or 16.04 where ROS will work seamlessly. Make sure to install all the dependencies. You need to set up a catkin workspace to develop your own packages. 

ROS includes many packages and modules and these modules communicate with the other modules by passing messages. This makes it easy to connect modules with other modules but it is difficult to visualize what is happening inside. So before starting the actual project it is better to get around ROS. 

Also learning the commands will help you to debug the behavior of the code. You can take the help of the ROS cheat sheet or official documentation that is available on the ROS website. 

Now we are going to simulate a robotic arm in Gazebo. Install the Katana robotic arm by typing the appropriate command. This will start the Gazebo. In Gazebo you can visualize a variety of things such as velocity, inertia, forces on joints, sensor information, etc. 

Let’s add a laser module to the robotic arm. So to extend a model with any other component we need to think about how to attach it. This laser module will be attached to the katana robotic arm base link and helps to measure the distance. 

After attaching the module you can check whether it is working or not by writing the appropriate code. 


SLLATEST
Everything is now set. Let’s start writing the software to develop the control system. Below are the steps followed to develop the control software:

  • Create a New ROS Module
  • Call back routine - Call back the routines of laser scanner and joints
  • Messages - Communication is done through messages and it is important to understand those messages. 
  • Calculate the positions
    • Sensor to Cartesian
    • Cartesian to joint positions
    • Planning the path
    • Grasping an object
Robots are complex to design and it requires many tools to make the process easier. Thus Gazebo and ROS act as a suitable platform to simulate the robots with real time scenarios.



SLDYK
Kit required to develop Robotic Arm Simulation with ROS and Gazebo:
Technologies you will learn by working on Robotic Arm Simulation with ROS and Gazebo:


Any Questions?


Subscribe for more project ideas