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

Abdur Rosyid's Blog

Just a few notes on mechanical engineering and robotics

tf/tf2 Broadcaster and Listener in C++

July 13, 2021 by Abdur Rosyid

tf Broadcaster and Listener tf broadcaster node written in C++ can be found here: In the code above, the node is subscribing to the pose of robot given by “turtle_name” parameter. Upon receiving the pose topic, it will run “poseCallback” callback function which basically broadcast the transformation between the robot frame and the world frame. …

Continue Reading

tf/tf2 Broadcaster and Listener in Python

July 13, 2021 by Abdur Rosyid

tf Broadcaster and Listener tf broadcaster node written in Python can be found here: In the code above, the node is subscribing to the pose of robot given by “~turtle” parameter. Upon receiving the pose topic, it will run “handle_turtle_pose” callback function which basically broadcast the transformation between the robot frame and the world frame. …

Continue Reading

Using tf/tf2 in ROS

July 20, 2021 by Abdur Rosyid

tf and tf2 are ROS packages that handles frame transformation in the time frame. This means, we can get information about “What is the relative pose of Frame B with respect to Frame A at 10 seconds ago.” Frame transformation is extremely important in robotics as a robot itself typically consist of several frames, such …

Continue Reading

Using URDF in Gazebo Simulation

July 14, 2021 by Abdur Rosyid

The URDF robot description can be used to simulate the robot in Gazebo. This can be done through the following steps. For the example below, the folders “urdf”, “config”, “rviz”, and “launch” used in the example are all inside “my_robot_description” package. Step 1: Install gazebo_ros_pkgs package which connect between Gazebo and ROS. Step 2: Install …

Continue Reading

Using xacro to simplify URDF

July 13, 2021 by Abdur Rosyid

xacro is a language defined in ROS to be used to: simplify URDF; make URDF cleaner make it easier to change the URDF’s parameters create a modular URDF xacro:property Use case 1: Using xacro:property, we can use constants as variables so that it is easier to change them or to avoid redundancy (repetition) in their …

Continue Reading

Writing URDF

July 13, 2021 by Abdur Rosyid

URDF is the description of your robot. It describes how your robot looks like (the number of links, properties of the links, types of joints, where the joints located, properties of the joints, etc) and how the links of the robot move relative to each other. The kinematics of your robot is based on the …

Continue Reading

ROS1 vs ROS2: What Are Differences?

July 9, 2021 by Abdur Rosyid

The following are some differences between ROS1 and ROS2. Difference 1: Master-Slave vs Distributed Network Architecture ROS1 communication is based on TCPROS (a custom TCP communication) with master-slave network architecture, where one computer/robot should serve as ROS Master while the others serve as slaves. If ROS Master fails, the whole network fails. ROS2 is based …

Continue Reading

Creating ROS2 Action in Python

July 9, 2021 by Abdur Rosyid

Below are the steps to create a ROS2 action using Python. Notice that we are going to have two packages involved: 1) a package called “my_package” which contains the action file, and 2) a package called “action_nodes_python” which contains the action server and client nodes. Separating the package which contains the action file(s) like this, …

Continue Reading

Creating ROS2 Action in C++

July 9, 2021 by Abdur Rosyid

Below are the steps to create a ROS2 action. Notice that we are going to have two packages involved: 1) a package called “my_package” which contains the action file, and 2) a package called “action_nodes_cpp” which contains the action server and client nodes. Separating the package which contains the action file(s) like this, in general, …

Continue Reading

ROS2 Launch File

July 9, 2021 by Abdur Rosyid

In ROS1, we write a launch file in XML. In ROS2, there are three ways to write a launch file: Using Python Using XML Using YAML Since the API of ROS2 launch is written in Python, you have a lower level access to the launch features if you write your launch file in Python. This …

Continue Reading

Posts pagination

  • Previous
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • …
  • 13
  • 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