ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Delta Robot Movement in Gazebo ROS2 Foxy

asked 2021-12-05 20:14:19 -0600

aash gravatar image

Hi, I am a newbie in both ROS and Gazebo. As for what I've found, delta robot which consist of closed loop chain is not able to be represented by URDF hence I've moved to the use of SDF. Do you guys have any idea on how to move the delta robot arm in gazebo? I am using ROS2 Foxy, is there any suitable plugin to use? Moveit2 is not suitable for this case as I'm not using URDF. Is ros2_control suitable? Do you guys have any example for me to refer? Thank you in advanced.

edit retag flag offensive close merge delete


Take a look at this ROS1 project, it might help you to get started, dynamics are bit tricky when it comes to delta robots:

osilva gravatar image osilva  ( 2021-12-06 07:58:40 -0600 )edit

Hi Osilva, thank you for the information. I have already read through the project, however I am not able to figure out what is the trick that the author did to create a close loop chain by using URDF. Can you explain a little bit on that? Thank you.

aash gravatar image aash  ( 2021-12-06 21:37:04 -0600 )edit

Not 100% clear on what you mean 'close loop chain' ? When it comes to the urfdf legs are just connected to small box where the gripper is located and top box that is fixed in space. I don't think a special trick is needed, as Gazebo has full physical simulator to consider all the dynamics involved.

osilva gravatar image osilva  ( 2021-12-07 10:10:34 -0600 )edit

What i mean is that i want all three arms to be connected to the same child link, which obey the tree structure that can be performed by URDF that only support a child link with single parent link, isn't it?

aash gravatar image aash  ( 2022-01-01 08:05:49 -0600 )edit

Take a look at this previous answer:

osilva gravatar image osilva  ( 2022-01-01 09:33:15 -0600 )edit

1 Answer

Sort by » oldest newest most voted

answered 2022-03-01 02:35:29 -0600

There are currently no controllers supporting explicitly parallel (delta) robots.

But what you can always do is to use ForwardCommandControllers (example), or even JointTrajectoryController to control the joints of the robot. If you want to do Cartesian control, then you will have to calculate forward kinematics on your own.

You can simply create an URDF without “closing” the kinematics and if you add ros2_control part there, everything should work fine.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2021-12-05 20:14:19 -0600

Seen: 581 times

Last updated: Mar 01 '22