I am trying to simulate a tracked based vehicle using libSimpleTrackedVehiclePlugin.so
.
My car moves smoothly on plain ground (it moves backward when I publish positive velocity on x axis, this doesn't really matter though), but it is not able to climb stairs or run through little obstacles.
My model uses tracks just like the shape of which of a conventional tank. After testing in different environments I find that the rolling direction of my tracks is not right.
For example, if the rolling direction of the lower part of my track(which is hitting the ground), is clockwise, the rolling direciton of the front part of my track(which has a shape of a half circle) would be anticlockwise. It's causing my vehicle to stop whenever the fornt part of the track hits anything. I am really confused why this happens.
My usage of the plugin is here:
<gazebo>
<plugin filename="libSimpleTrackedVehiclePlugin.so" name="simple_tracked_vehicle">
<body>base_link</body>
<left_track>track_a_1</left_track>
<right_track>track_b_1</right_track>
<track_mu>2</track_mu>
<track_mu2>0.5</track_mu2>
</plugin>
</gazebo>
This is how my vehicle looks, the red arrows represent the rolling direction of different parts of the track