# apply the inverse kinematic tranformation?

so ive been tryna figure out my own mecanum drive algorithim and i searched a few threads for hints and I noticed that people have mentioned applying the inverse kinematic transformation when you have the x, y, and twist values to get the individual motor speeds. I was wondering what on earth is the inverse kinematic transformation and how i would use it to figure out each individual motor speed from these. It would be appreciated the chief delphi community could explain this without giving me the actual algorithims for each wheel speed in mecanum drive

It’s exactly what you just said. It’s the calculation that takes you from joystick inputs to wheel speed outputs.

More precisely, it’s the operation which transforms the 3 vehicle motion commands: translation (forward/reverse and strafe right/left) and rotation (rotate clockwise/counterclockwise), into 4 wheel speed commands.

It would be appreciated the chief delphi community could explain this without giving me the actual algorithims for each wheel speed in mecanum drive

I’m not sure how much latitude that leaves for explaining. This paper gives the mathematical derivation of the inverse kinematic transformation in detail for a 4-wheel mecanum vehicle, but may be more detail than you are looking for.

and how i would use it to figure out each individual motor speed from these.

Using it is very straightforward. This paper explains how to do the calculations, but it sounds like that’s not what you want.

Your post sounds like you were given an assignment. Give us more guidance what we are and aren’t allowed to tell you… or perhaps try asking some more-focused questions.

**

I assigned myself this and i dont want the actual end result is what I’m saying.I pretty much taught myself trig today so now I wanna code the mecanum wheels. thing is i have no clue how to do that so thats why this topic came up. Ill take a look at that paper and post again afterwards

You do not need trig to code mecanum.

i dont want the actual end result is what I’m saying.

**

kk ill just not click that link then lol, but ya i figured out arcade, thanks for your help on that, and i know i dont need trig but it would be a good challenge for me to do it with trig since i just taught myself it

Trigonometry is very useful for deriving the transformation equations, but the equations themselves have no trig functions in them at all.

But hey, whatever works for ya. Knock yourself out

If you encounter questions about trigonometry you can ask them here too.

**

Formal kinematics for robotics is a rigorous treatment to handle any robotic system, regardless of how complex it may be.

Most college courses in robotics start with position rather than velocity. They also start with forward kinematics as it yields a unique result.

In a forward kinematic equation, you can find the position of the tool tip (the end effector of your arm) given the angles of each joint. However, the inverse kinematic, calculating the joint angles for a desired tool tip position, is much harder. For a non-trivial arm, there are usually several solutions to the inverse kinematic. Many of these positions would require the arm to be in positions that are nonsensical in the real world.

Once you have positional kinematics in hand, you move on to velocity and acceleration. Figuring these out usually require calculus.

The math and physics involved is not for the fainthearted… If someone is handing you the equations for a given task, I would look hard at the gift…

JMHO,

Mike

In the case of the velocity kinematics of the mecanum vehicle, it is the inverse kinematic transformation (from desired vehicle motion to required wheel speeds to achieve that motion) which has a unique result.

The forward kinematic transformation for a mecanum vehicle (from four arbitrary wheel speeds to the vehicle motion which would result from those wheel speeds) in general has no exact solution, but you can calculate a “least squares fit” to find the “best” approximate solution. This is discussed in this paper.

**

so ya i read that paper and, well lets just say I am absolutely clueless now. Maybe taking calc would help but I can’t take that class till senior year and I’m only a sophmore. Unless one of you could pretty much explain the paper for someone my level?

You don’t need to understand the derivation of the inverse kinematic equations in order to use them, any more than you have to be able to derive the Pythagorean Theorem or the Law of Cosines in order to use them.

The inverse kinematic equations are very simple:

FR = FWD - STR - ROT

FL = FWD + STR + ROT

RR = FWD + STR - ROT

RL = FWD - STR + ROT

… where FWD, STR, and ROT are the vehicle forward, strafe right, and rotate clockwise commands, respectively. These equations map your desired vehicle motion into a set of 4 wheel speeds required to achieve that motion.

You can setup your driver interface any way you want to map your joystick(s) axes to the FWD, STR, and ROT commands.

**

Thank you very much sir
this should be fairly easy to program.