ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

You will probably need to write your own local trajectory planner if you have unusual kinematics like that, but you may be able to get away with DWB, TEB, or RPP if you have a custom low level controller that can convert Twists to wheel motion. However you're going to have additional motion constraints so to make the "best" use of your drivetrain, you'd need to come up with a custom plugin or custom sub-plugins to DWB for trajectory generation based on your physical constraints.

I'd be happy to chat more about this, though I won't be able to implement something for you, if you'd be open to open-sourcing the output so that there's support for more unusual vehicles like what you've proposed.

In terms of planners, the most "complete" solution would be the new State Lattice planner, but again since you have a unique non-standard setup, you'd have to provide your own minimum control set to make full use of the drivetrain's capabilities. However, you can pretty reasonably approximate it as well and make use of pregenerated files or use the generator with your custom parameterizations to generate one.

But short of wanting to use the full drivetrain and implement your own control set, Hybrid-A* in the Smac Planner Framework would probably suit you fine.

Since you have a unique set up the state lattice is probably your best algorithm choice anyway, so the actual planner is provided to you for free in Nav2, but you'd have to implement your own control set regardless if you used Nav2 or not. We provide planners specifically knowing that people have their own custom solutions that don't always fall into the usual bins of Omni, Diff, Legged, and Ackermann, but since you're using something unusual, there's some leg work you need to do.