I have worked through navigation stack on diff-drive, I'm wondering how to get the stack running on 4 wheeled Omni-wheel robot equipped with Arduino and how to get odometry from 4 wheel encoders

It would be great if you would give me some hints to get it running. I am especially confused how to setup the 4 omni wheel control


1 Answer 1


It really depends on your robot kinematics (where is the location of the wheels in the robot frame and what type of wheels it have). There are a lot of resources online to get it from the configuration you have or you can even calculate it yourself. Since you got experience with diff drive then you know that you need to compute something like this for the linear velocity in the x axis of the local frame of your diff drive robot:

vx = radius_wheel* (vel_wheel_left + vel_wheel_right) / distance_between_wheels; 

when you get the kinematics for an omnidirectional 4 wheels you can also get such an equation to put it in your arduino and send the info to the main robot computer.

An arduino by itself is not powerful enough to run the full nav stack, you would need at least a raspberry pi to work as the main robot computer and the arduino as a low level controller for the motors and read encoders.

You can start by googling kinematics of 4 wheels omnidirectional robot.


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.