Ask Your Question

Ackermann Steering and Arduino Servo Control

asked 2018-06-22 12:45:46 -0500

aarontan gravatar image


I am using this package to control some servo motors for an ackermann steered vehicle.

The local path planner that i am using is the teb_local_planner

I am wondering, how do I combine the two to achieve a complete ackermann steered system?

I have already implemented teb with a differential drive robot, but I am not sure what to do to send proper steering commands to the servo motors to achieve local path planning.

Please help, Aaron

edit retag flag offensive close merge delete


Can you describe with detail what each of your servos are doing? Before using a path planner (like teb_local_planner) you will need an ackermann steering controller. This subscribes to Geometry Twist messages and publishes Odometry messages. Will this be within ROS or will the arduino do it?

Ricardo Angeli gravatar image Ricardo Angeli  ( 2018-06-22 16:11:56 -0500 )edit

The servo motors are used in a rack and pinion set up to push/pull a wheel in/out for steering. From my understanding, ROS should send a steering angle command and the arduino is only responsible for realizing this command for the servos.

aarontan gravatar image aarontan  ( 2018-06-23 15:23:02 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2018-06-22 17:12:54 -0500

Vincent R gravatar image

updated 2018-06-22 17:13:30 -0500

You use the teb_local_planner with move_base. move_base will publish a twist message.

The teb_local_planner can publish a steering angle in the twist msg.

You will need a ROS node that convert steering angle of the twist to steering angles of each of your wheels.

Some code to help you :

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2018-06-22 12:45:46 -0500

Seen: 1,216 times

Last updated: Jun 22 '18