Dynamic model for articulated vehicle in gazebo
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
Asked by adel on 2020-05-22 06:09:11 UTC
Answers
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.
Asked by adel on 2020-05-26 09:59:01 UTC
Comments
It sounds like we would need to see your code to give any advice.
Asked by kumpakri on 2020-05-22 07:07:07 UTC
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.
Asked by adel on 2020-05-26 09:52:26 UTC