is there a standalone steering package for car-like robot?

asked 2021-09-21 15:13:37 -0500

teonik gravatar image

tl;dr is there a ready ROS\third-party package that takes in car position (position, orientation, current steering angle and velocity) and desired trajectory, and outputs steering angle to make classic four-wheel-car robot follow the trajectory?

long: We're developing a robotics project where the vehicle in question has a classic car-like chassis. That means, four wheels on two axles, with front axle steering and limited turn angle. We have a working homegrown stack with planning, steering and obstacle avoidance, but now we're upping the speeds, and our trajectory following algorithms appear to be insufficiently stable. We would like to make the steering more sophisticated and smooth, without switching the stack entirely. I've seen a number of cool full-stack solutions for ROS, but modularity is our problem here.

The stack is on ROS Kinetic, though we plan switching to Noetic soon.

edit retag flag offensive close merge delete


I believe the search keywords would be "ackermann steering".

gvdhoorn gravatar image gvdhoorn  ( 2021-09-22 03:09:33 -0500 )edit

Nah, that one is for creating a steering command when the desired speed and rotation are calculated. What I need is an algorithm to calc the desired movement. There are simple methods for track following like Stanley algo, Pure Pursuit, etc. I want to know if there is something more sophisticated package-ready.

teonik gravatar image teonik  ( 2021-09-30 09:55:24 -0500 )edit

Nav2 (for ROS 2) comes with motion planners which can deal with Ackermann kinematics. In ROS 1, the teb local planner is known to also be configurable for such setups.

You could take a look at those.

gvdhoorn gravatar image gvdhoorn  ( 2021-09-30 13:09:45 -0500 )edit