Robotics StackExchange | Archived questions

Omni-direction cmd_vel to motors speed callback

Hello,

I recently 3d printed some mecanum wheels and now i'm waiting for stepper motors.

My question is how to get the speed from the Twist message (linear.x , linear.y, angular.z) provided by move_base and transform into appropriate motor speeds. The setup is the normal square one (the extended lines from the rollers need to converge on the centre of the robot)

Thank you!!!

Asked by makemelive on 2019-10-11 06:19:10 UTC

Comments

You put omni-wheel in the tags. But you mean mecanum-wheel, right?

Asked by ct2034 on 2019-10-11 06:56:01 UTC

yes sorry about that!

Asked by makemelive on 2019-10-11 07:11:20 UTC

Answers

You need to implement inverse kinematics for mecanum wheels. A quick google gave me: https://www.scirp.org/Html/6-7900244_31739.htm#txtF2 or even this one: http://robotsforroboticists.com/drive-kinematics/

Asked by ct2034 on 2019-10-11 07:05:19 UTC

Comments

very helpfull what i needed, actually i think i need to implement only forward kinematics, inverse kinematics might be usefull for getting odometry although some guess work might be needed since the steppers are open-loop but still quite accurate. I will study the links and upload my rosserial arduino code (or Jetson nano gpio code ) with the a4988 drivers here!! Thanks!!

Asked by makemelive on 2019-10-11 07:18:50 UTC

I think the terminology in the second link may be mixed up ... https://en.wikipedia.org/wiki/Forward_kinematics

Asked by ct2034 on 2019-10-11 07:29:30 UTC