Skip to content
  • Home
  • About the Blog
  • About the Author
  • Sitemap

Abdur Rosyid's Blog

Just a few notes on mechanical engineering and robotics

What to Learn in ROS

July 6, 2021 by Abdur Rosyid

Based on my experience, here I summarize what to learn in Robot Operating System (ROS):

1 How to install ROS and prepare your development environment

2 How to create a ROS package and build it in your workspace

3 How to establish a ROS network between multiple machines and devices

4 Message communication in ROS:

4.1 Message data types

4.2 Topic publisher and subscriber

4.2.1 Understanding the concept of topic publisher and subscriber

4.2.2 How to write publisher and subscriber, and how to use them

4.3 Service

4.3.1 Understanding the concept of service

4.3.2 How to create service server and service client, and how to use the service

4.4 Action

4.4.1 Understanding the concept of action

4.4.2 How to create action server and action client, and how to use the action

4.5 Parameters

4.6 Bags

5 How to create ROS Launch

6 ROS CLI commands

7 How to use ROS tools

7.1 RViz

7.2 rqt

8 URDF

8.1 Understanding URDF and its limitations

8.2 How to create URDF

8.3 Understanding xacro and how to create and use it

8.4 How to export CAD model to URDF

9 Coordinate transformation (tf)

9.1 Understanding tf

9.2 How to publish tf

9.3 How to listen tf

9.4 How to transform Euler angles to quaternion and vice versa

10 Using rosserial

11 ROS Control

11.1 Understanding ROS Control; Types of ROS Controllers

11.2 Setting up ROS Control

11.3 Connecting ROS Control with simulated robot (in Gazebo) or real robot

11.4 Tuning PID gains

12 Using Gazebo and making connection between Gazebo and ROS

12.1 Understanding Gazebo and SDF

12.2 How to create a model and spawn it in Gazebo

12.3 How to create/use plugin in Gazebo

12.4 How to connect Gazebo and RViz

13 Using map in ROS

13.1 Manual generation of map

13.2 Setting up map server and calling the map

14 Localization in ROS

15 SLAM in ROS

16 Navigation in ROS

17 Using MoveIt

17.1 Understanding how MoveIt works

17.2 Using Setup Assistant

17.3 Setting up MoveIt

17.4 Planning schemes in MoveIt

18 Perception in ROS

18.1 Image-based perception in ROS

18.2 Pointcloud-based preception in ROS

Post navigation

Previous Post:

Main Aspects of Robotics

Next Post:

How to Install ROS1 (Melodic)

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Categories

  • STEM 101
  • Robotics
  • Kinematics
  • Dynamics
  • Control
  • Robot Operating System (ROS)
  • Robot Operating System (ROS2)
  • Software Development
  • Mechanics of Materials
  • Finite Element Analysis
  • Fluid Mechanics
  • Thermodynamics

Recent Posts

  • Pull Request on Github
  • Basics of Git and Github
  • Conda vs Docker
  • A Conda Cheat Sheet
  • Installing NVIDIA GPU Driver on Ubuntu

Archives

  • June 2025
  • July 2021
  • June 2021
  • March 2021
  • September 2020
  • April 2020
  • January 2015
  • April 2014
  • March 2014
  • March 2012
  • February 2012
  • June 2011
  • March 2008
© 2026 Abdur Rosyid's Blog | WordPress Theme by Superbthemes