Close-loop kinematics in URDF and SDF

asked 2023-07-30 13:50:46 -0500

Hello everyone,

I am trying to find a working solution to close some joints sharing the same child link. Particularly, I'm trying to describe in URDF and SDF an Ackermann suspension: C:\fakepath\susp2.png. A robot using this suspension will be spawned in Gazebo and RViz.

All the thick, colored lines indicate revolution axes, the numbers are placed right near the joints: C:\fakepath\susp1_1.png

Used tools:
- Ubuntu 20.04
- ROS 2 Foxy
- corresponding Gazebo package
- RViz

How this should work:
1. Whenever a rocker is rotated around Y-axis (for example, joint 5), its rotation is passed to a lever fixed to the rocker
2. then the lever pushes a turnbuckle which is rotating around Y-axis in the joint 4
3. which is turn pushes the end of a torsion bar (joint 2, Y-axis Revolute-joint) making the torsion bar to rotate around Z-axis in the joint 1 (at which the torsion bar is connected to a body_link)
4. this makes the other torsion bar's end in the joint 3 to push back the second turnbuckle
5. the second turnbuckle pushes the its common with the second lever joint 6
6. making the second lever to rotate the (fixed to it!) second rocker.

I indicate that the torsion bar is the link which is never a parent to any of the other links, but always a child-link. There fore I'm dealing with a closed-loop kinematics (?).

The question:
How do I describe this all in URDF and/or SDF?

What was already tried: I have already tried the 4-bar linkage tutorial here, but nothing works for me.

Best regards

edit retag flag offensive close merge delete