acmerobotics / road-runner

Wheeled mobile robot motion planning library designed for FTC
MIT License
224 stars 77 forks source link

Issue in Section 2.1 of "Mobile Robot Kinematics for FTC" Paper #87

Closed pxdal closed 1 year ago

pxdal commented 1 year ago

Section 2.1 claims that the velocity of any point on a robot is given by the equation

$$ \vec{v} = \frac{d\vec{r}}{dt} = (v_x - y \ \omega) \hat{\imath} + (v_y + x \ \omega) \hat{\jmath} $$

with $x$ and $y$ defined by the equation

$$ \vec{r} = x \hat{\imath} + y \hat{\jmath} $$

This makes the former equation erroneous, as $x$ and $y$ should be defined as the x and y components of the ${\vec{r}\ }'$ vector. It's using the expanded form of $\vec{\omega} \times \vec{r}$, not $\vec{\omega} \times {\vec{r}\ }'$.

This only affects this one instance, of course, and the correct equation is used for the rest of the paper.

rbrott commented 1 year ago

If the first equation is erroneous, what would you replace it with? I'm confused what your exact objection is.

jkenney2 commented 1 year ago

r is defined as the position of some point on the robot in the world coordinate system. It is stated to have i and j components of x and y, respectively.

r' is defined as a vector from the center of rotation of the robot to the same point on the robot. Its i and j components are not stated, but one could call them x' and y'.

So,

r = R + r' , where R is the vector from the origin of the world coordinate system to the center of rotation of the robot.

The equation for the velocity of the point on the robot would therefore be:

dr/dt = (vx - wy')i + (vy + wx')j
(where w means "omega")