Kinematics of a Motorcycle Tire

(C) 2004 - Roberto Lot

> restart:  mylib :="C:\LIBS": libname := mylib,libname: with(MBsymba):

[Maple Metafile]

Variables

> x(t),y(t),z(t), center of mass coordinates (point G)
psi(t),
yaw angle
phi(t), roll angle
theta(t); spin angle

x(t), y(t), z(t), psi(t), phi(t), theta(t)

Definition of Frames

frame for the wheel in vertical position with the z axis pointing downward

> TSAE := translate(x(t),y(t),z(t)) * rotate('Z',psi(t));

TSAE := matrix([[cos(psi(t)), -sin(psi(t)), 0, x(t)...

wheel frame (without spin rotation) where the x rotation represents camber angle

> TW := TSAE * rotate('X',phi(t));

TW := matrix([[cos(psi(t)), -sin(psi(t))*cos(phi(t)...

wheel-fixed frame (spin rotation included) where the y rotation represents wheel spin

> TWS := TW * rotate('Y',theta(t));

TWS := matrix([[cos(psi(t))*cos(theta(t))-sin(psi(t...

Kinematics

wheel center

> G := origin(TW): show(G);

G = POINT(coords = matrix([[0], [0], [0], [1]]),fra...

unit vector v (points from wheel center towards point of contact)

> v := make_VECTOR(TW,0,0,1): #show(v);

position of the contact point, where rho is the tire radius

> C := G + rho*v:
show(C);

C = POINT(coords = matrix([[0], [0], [rho], [1]]),f...

sliding velocity of the contact point

> VC := velocity(C,'absolute'): #show(VC);

> VC := project(VC,TSAE): show(VC);

VC = VECTOR(comps = matrix([[cos(psi(t))*diff(x(t),...

> VS := Xcomp(VC); forward velocity

> VN := Ycomp(VC); lateral velocity

VS := cos(psi(t))*diff(x(t),t)+diff(psi(t),t)*sin(p...

VN := -cos(phi(t))*diff(phi(t),t)*rho-sin(psi(t))*d...

rolling velocity (differentiating theta with respect to time multiplied by the wheel radius i.e. vertical component of the contact point position)

> VR := diff(theta(t),t)*evalm(Zcomp(C));

VR := diff(theta(t),t)*rho

longitudinal slip (SAE definition: 1 plus the ratio of the rolling velocity over the contact point foward velocity)

> kappa := 1+VR/VS;

kappa := 1+diff(theta(t),t)*rho/(cos(psi(t))*diff(x...

sideslip angle (SAE definition: arctangent of the negative contact point lateral velocity over the foward velocity)

> lambda := arctan(-VN/VS);

lambda := -arctan((-cos(phi(t))*diff(phi(t),t)*rho-...