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

Abdur Rosyid's Blog

Just a few notes on mechanical engineering and robotics

Month: July 2021

ROS Action

July 9, 2021 by Abdur Rosyid

Different from ROS service which consists of request and response only, ROS action additionally provides feedback. An action consists off three main parts: request, feedback, and result (which is similar to response in service). While a service is appropriate to be used for a non-progressive task, an action is appropriate to be used for a …

Continue Reading

Creating ROS1 Service in Python

July 8, 2021 by Abdur Rosyid

The following are some steps to create a ROS1 service in Python: Step 1: Add the following in package.xml rospy std_msgs message_generation rospy std_msgs message_runtime Step 2: Add the following in CMakeLists.txt find_package(catkin REQUIRED COMPONENTS message_generation std_msgs rospy) add_service_files(FILES ServiceName.srv) generate_messages(DEPENDENCIES std_msgs) catkin_package( LIBRARIES package_name CATKIN_DEPENDS std_msgs rospy ) catkin_install_python(PROGRAMS script/service_server.py DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} ) catkin_install_python(PROGRAMS …

Continue Reading

Creating ROS1 Service in C++

November 10, 2021 by Abdur Rosyid

The following are some steps to create a ROS1 service in C++: Step 1: Add the following in package.xml roscpp std_msgs message_generation roscpp std_msgs message_runtime Step 2: Add the following in CMakeLists.txt find_package(catkin REQUIRED COMPONENTS message_generation std_msgs roscpp) add_service_files(FILES ServiceName.srv) generate_messages(DEPENDENCIES std_msgs) catkin_package( LIBRARIES package_name CATKIN_DEPENDS std_msgs roscpp ) include_directories(${catkin_INCLUDE_DIRS}) add_executable(service_server src/service_server.cpp) add_dependencies(service_server ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) …

Continue Reading

ROS Service

July 7, 2021 by Abdur Rosyid

Different from topic, service is bidirectional communication between a service server and a service client. The service can be described as the following sequential mechanism: A service client makes a request to a service server The service server sends a response to the service client The communication between the service client and the service server …

Continue Reading

ROS1 Topic, Publisher, and Subscriber

July 9, 2021 by Abdur Rosyid

In ROS, a node can publish a topic and subscribe (listen) to a topic. A topic is basically a unidirectional message in a certain data type containing some information. It is like a radio broadcast. The radio station is the topic publisher whereas the radio receiver is the topic subscriber. The topic is the radio …

Continue Reading

Package in ROS1

July 8, 2021 by Abdur Rosyid

A ROS package is a wrapper or container of a piece of code. By this definition, you can write any C++ or Python code and then wrap it in a ROS package in order to use it in ROS. There are two types of packages in ROS: 1) packages already built in ROS and 2) …

Continue Reading

How to establish ROS1 network between multiple machines

July 5, 2021 by Abdur Rosyid

In ROS1, one machine/robot should serve as ROS Master whereas all the other machines/robots/devices in the same ROS network serve as ROS Clients. ROS Master can be a computer or a robot. The ROS Client can be a computer, a robot, or a device. The following is some steps to setup ROS1 network between multiple …

Continue Reading

How to Install ROS1 (Melodic)

July 5, 2021 by Abdur Rosyid

It is recommended to install an LTS ROS distribution, which is always to be installed on a certain LTS distribution of Linux Ubuntu. A specific ROS distribution can only be installed on a specific Linux Ubuntu distribution. ROS can be installed from either source or from binary (Debian installer). It is recommended to install the …

Continue Reading

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: …

Continue Reading

Main Aspects of Robotics

June 6, 2025 by Abdur Rosyid

The main aspects of robotics can be summarized below: 1. Topology There are so many existing and possible-in-the-future body types and topologies of a robot. The existing ones include: 1) wheeled unmanned ground vehicles (UGVs), 2) track-chained UGVs, 3) biped, quadruped, and six-legged robots, 4) humanoids, 5) multi-rotor unmanned aerial vehicles (UAVs), 6) flapping aerial …

Continue Reading

Posts pagination

  • Previous
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • Next

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