I'm employing the Smac Hybrid-A* Planner along with the Model Predictive Path Integral Controller for point-to-point navigation of an wheel-loader/LHD vehicle. The challenge is that there's a central pivot point, disrupting a consistent footprint. Therefore, during a three-point turn, the footprint doesn't maintain a parallel or rectangular shape, as shown in the figure below.Kinematic drawing of wheel-loader/LHD vehicle

Given that this vehicle will navigate within a confined space and weighs 25 tons, it's essential to have an accurate footprint.

Any advice or guidelines on navigating this challenge would be greatly appreciated.

Thank you.


1 Answer 1


The "easy" solution would be to use a footprint that covers the robot in any configuration - the downside is that footprint is likely quite large and if you are planning in confined areas, that won't work well (but likely does work out of the box with Nav2 and the SMAC hybrid planner).

I'm not sure that any of the existing planners would support a more accurate approach out of the box - you're actually getting closer to the type of planning that is done for manipulators than mobile bases. In that case, I would start with something like the SMAC Lattice Planner - and add the central pivot angle as one of the lattice state variables - so you would effectively have x/y/theta/pivot as the state space. In addition to updating the collision checking to use the pivot angle to define the footprint, you would also have to update the motion primitives. While this would likely entail quite a bit of work, you should be able to better define the actual kinematics of the mobile platform (since it is not actually an Ackermann platform, which is what the Hybrid A* is expecting).

  • $\begingroup$ This is a good answer. Adding dynamically changing states within the planners / controllers could be something we'd do; but that would either need to be a user contribution or likely a paid consulting contract to develop. It is non-trivial. $\endgroup$ Sep 21, 2023 at 16:41
  • 1
    $\begingroup$ Yeah - it's super NON-trivial - and will likely touch a lot of code. It's exactly the sort of use case where lattice planners excel. $\endgroup$ Sep 21, 2023 at 21:44

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.