# Calculating wheel linear velocity from body velocity

A frame {b} is attached to the centre of a robot chassis. The planar configuration is given by $$(x,y,\phi)$$ where $$\phi$$ is the angle between the x axis in {b} and the x axis of a fixed reference frame {s}.

The robot has 4 wheels; the centre of each is given by $$(x_i,y_i)$$ in {b} where i=1 to 4. The distance of the centre of the robot from the centre of each wheel is given by $$l$$ along the x-axis and $$w$$ along the y-axis.

The linear velocity of the centre of the $$i$$th wheel is given by the following equation. How do I derive/understand the middle mapping matrix? $$\begin{bmatrix}v_{x_i}\\v_{y_i}\end{bmatrix} = \begin{bmatrix}-y_i&1&0\\x_i&0&1\end{bmatrix} \begin{bmatrix}\dot\phi\\\dot x\\\dot y\end{bmatrix}$$

I've seen the same equation in 2 places, both in a 4 mecanum wheeled mobile robot context:

1. Equation 7 in this paper. It says it has something to do with the motion being planar.
2. Equation 13.5 in the book Modern Robotics by Kevin Lynch . There are other matrices in the equation but I'm mainly focused on this particular mapping matrix.

The matrix you have termed the "mapping matrix" is meant to translate between the twist (linear and angular velocity) of the robot and the linear velocity of the centre of each individual wheel, as you have said.

The easiest way to understand what is going on is to note that if the robot is rotating, then the linear velocity of each wheel will be a combination of both the linear velocity of the robot's central frame {b} and its angular velocity about that frame. The purpose of the matrix is to account for both of these contributions based on the relative position of each wheel relative to the central frame.

If we separate out the equations based on the matrix, we end up with the following: $$\begin{matrix}v_{x_i} = \dot x - \dot \phi y_i\\v_{y_i} = \dot y + \dot \phi x_i\end{matrix}$$

The first term on the right side of each equation is the linear velocity of the robot in the given direction, while the second term is the contribution to the wheel's linear velocity due to the rotation: an offset in the $$\hat y$$ direction contributes inversely to the velocity in the $$\hat x$$ direction and an offset in the $$\hat x$$ direction contributes proportionally to the velocity in the $$\hat y$$ direction.

To visualize where these come from, you can imagine that the robot is a disc spinning about its centre (the frame {b}) with an angular velocity of $$\dot \phi$$ (which by convention is positive in the counter-clockwise direction). The contribution of the angular velocity of the robot to each wheel centre's linear velocity will be the same as the linear velocity of the point on the disc at that wheel's centre.

• Might you be able to point me in the right direction to find more information on the equations for $v_{x_i}$ and $v_{y_i}$? Are they related to the transport theorem or galilean transformations?
– JJT
Jun 7, 2021 at 6:40
• They are primarily a product of rigid body motion formulations using screw theory, which I've generally seen included in velocity kinematics or mobile robotics sections of robotics textbooks (like Modern Robotics by Lynch and Park: modernrobotics.org). Jun 8, 2021 at 21:11