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:

            <plugin filename="libSimpleTrackedVehiclePlugin.so" name="simple_tracked_vehicle">

This is how my vehicle looks, the red arrows represent the rolling direction of different parts of the track enter image description here


1 Answer 1


First thing I'd try is to rotate the half cylinders in the model 180° about their relative horizontal axis, so that their current bottom side becomes the top side and vice versa, and see if that solves the issue.

If that does not help, I suggest trying the tracked vehicle demo and if that works fine, to compare it to your model as it should be very similar.

  • $\begingroup$ You are right, if I flip my vehicle upside down, the tracks do work and can start to climb stairs. But my track has a wider top surface and a narrower bottom surface. If I rotate them this would be different design. Would there be another solution? $\endgroup$
    – Ziqin
    Commented May 27 at 9:08
  • $\begingroup$ I meant to flip only the cylinder part of the track. It's a bit hard to reason about your model without more background info. Are you using primitive shapes or a mesh? Best is if you can post a minimal example showing the issue. $\endgroup$
    – JRTG
    Commented May 27 at 11:44
  • $\begingroup$ Based on your answer, I assume that you use a mesh as shape. Given it works when you flip the whole track, I conclude that the top and cylindrical surface work in the same direction, but the lower surface in the opposite direction. So I would check the orientation of that surface in your CAD software: maybe its normal needs to be flipped. $\endgroup$
    – JRTG
    Commented May 27 at 11:47
  • $\begingroup$ Yes i am using mesh, I just posted a picture of the vehicle under my question. $\endgroup$
    – Ziqin
    Commented May 27 at 18:56
  • $\begingroup$ What I would do is to use the mesh only for visualisation, and add collision primitives (cylinder, box, etc) in your sdf to model the track. $\endgroup$
    – JRTG
    Commented May 27 at 19:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.