Gazebo | Ignition | Community
Ask Your Question

Dynamic model for articulated vehicle in gazebo

asked 2020-05-22 06:09:11 -0500

adel gravatar image

updated 2020-05-22 06:42:44 -0500

Hello everyone, I have a vehicle model described by URDF (xacro) format. The model has front and rear parts. Furthermore, it has 6 wheels (2 for the front part and 4 for the rear part) linked to the vehicle by 3 axles.

The front and rear part are linked together by a joint (type revolute) which make the vehicle articulated vehicle. I need to control the movement of the vehicle by sending velocities commands. These commands are: 1. linear velocity command to be applied to the axle (of the front part) to rotate the wheels and move the vehicle linearly. 2. angular velocity command to be applied to the articulated joint to make the vehicle turn around.

I established a ROS node using python for the two points mentioned above but I have some problems: 1. When I give only linear velocity the front axle and one axle from the rear axles rotate properly whereas the other rear axle does not rotate which makes the movement not accurate. 2. When applying only angular velocity the model rotate too slow, sometimes it rotates faster when applying high values 3. when I apply both velocities together, the model should move in a curve but it separates the two movements (linearly and rotationally)

Any help will be appreciated and thank in advance. Adel

edit retag flag offensive close merge delete


It sounds like we would need to see your code to give any advice.

kumpakri gravatar imagekumpakri ( 2020-05-22 07:07:07 -0500 )edit

Hello and sorry for the late answer. Unfortunately, I cannot use my code in public because of the privacy rules of where I am working. I know it is difficult to find out the problem and help without the codes but I thought that maybe my problem's description could be enough.

adel gravatar imageadel ( 2020-05-26 09:52:26 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2020-05-26 09:59:01 -0500

adel gravatar image

The problem (1) was solved. The reason behind this was wrong robot dimensions, the front axle was higher than the rear axles (the difference was almost 7 mm), and they had to be at same position in 'z' axis (same height). The other problem still exit. Moving the articulation joint between the two parts is too heavy and I tried to increase the PID parameters and the limit of the effort to very high values but without any benefit. Moreover, even I specified a controller for the joints they move freely even when no movement command is applied.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2020-05-22 06:09:11 -0500

Seen: 213 times

Last updated: May 26 '20