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

Abdur Rosyid's Blog

Just a few notes on mechanical engineering and robotics

ROS Controllers for Mobile Robot

July 20, 2021 by Abdur Rosyid

A very common ROS controller used to control a mobile ground robot is diff_drive_controller. This controller can be used for two types of mobile ground robots: Mobile ground robot with two wheels using differential drive Mobile ground robot with four wheels using skid steering This controller is basically a velocity controller as it commands the …

Continue Reading

ROS Controllers for Manipulator

July 17, 2021 by Abdur Rosyid

There are two ROS controllers commonly used to control manipulators: effort_controllers/JointPositionController This is commonly used to control individual joints of a manipulator. The configuration YAML file of the controller, let’s call it my_controller.yaml, looks like this: A launch file to launch the controller looks like this: To command a joint position from the terminal, the …

Continue Reading

Writing Hardwara Interface Node

July 15, 2021 by Abdur Rosyid

The Big Picture The following shows the big picture of how to use ros_control with either simulation or a real robot. It can be seen in the picture that the class “hardware_interface::RobotHW” should be implemented in a hardware interface node when ros_control is used with a real robot. On the other hand, the class “hardware_interface::RobotHWSim” …

Continue Reading

ROS_Control

July 14, 2021 by Abdur Rosyid

In general, there are several types of control software. Some of them are available out of the box whereas some others are those you may write by yourselves. ros_control is among the out-of-the-box control software you can directly use (so that you don’t need to write one from scratch) which is compatible with third-party packages …

Continue Reading

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

Posts navigation

  • Previous
  • 1
  • 2
  • 3
  • 4
  • 5
  • …
  • 12
  • Next

Categories

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

Recent Posts

  • Developing Teleoperation Node for 1-DOF On-Off Gripper
  • Developing Teleoperation Node for UR Arm
  • Autonomous SLAM Using Explore_Lite in ROS
  • Autonomous SLAM Using Frontier Exploration in ROS
  • Performing SLAM using GMapping in ROS

Archives

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