0% found this document useful (0 votes)
10 views35 pages

Mobile Robot Kinematics Explained

The document discusses the kinematics of mobile robots, emphasizing the importance of understanding their mechanical behavior for design and control software. It highlights the challenges of position estimation in mobile robots compared to manipulators, due to their self-contained nature and the need to integrate motion over time. The document also explains how each wheel contributes to the robot's motion while imposing constraints, and the necessity of establishing clear reference frames for accurate motion analysis.

Uploaded by

nageshbhugar1234
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views35 pages

Mobile Robot Kinematics Explained

The document discusses the kinematics of mobile robots, emphasizing the importance of understanding their mechanical behavior for design and control software. It highlights the challenges of position estimation in mobile robots compared to manipulators, due to their self-contained nature and the need to integrate motion over time. The document also explains how each wheel contributes to the robot's motion while imposing constraints, and the necessity of establishing clear reference frames for accurate motion analysis.

Uploaded by

nageshbhugar1234
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Kinematics is the most basic study of how mechanical systems behave.

In mobile robotics,
we need to understand the mechanical behavior of the robot both in order to design appro-
priate mobile robots for tasks and to understand how to create control software for an
instance of mobile robot hardware.
Of course, mobile robots are not the first complex mechanical systems to require such
analysis. Robot manipulators have been the subject of intensive study for more than thirty
years. In some ways, manipulator robots are much more complex than early mobile robots:
a standard welding robot may have five or more joints, whereas early mobile robots were
simple differential-drive machines. In recent years, the robotics community has achieved a
fairly complete understanding of the kinematics and even the dynamics (i.e., relating to
force and mass) of robot manipulators [11, 32].
The mobile robotics community poses many of the same kinematic questions as the
robot manipulator community. A manipulator robot’s workspace is crucial because it
defines the range of possible positions that can be achieved by its end effector relative to
its fixture to the environment. A mobile robot’s workspace is equally important because it
defines the range of possible poses that the mobile robot can achieve in its environment.
The robot arm’s controllability defines the manner in which active engagement of motors
can be used to move from pose to pose in the workspace. Similarly, a mobile robot’s con-
trollability defines possible paths and trajectories in its workspace. Robot dynamics places
additional constraints on workspace and trajectory due to mass and force considerations.
The mobile robot is also limited by dynamics; for instance, a high center of gravity limits
the practical turning radius of a fast, car-like robot because of the danger of rolling.
But the chief difference between a mobile robot and a manipulator arm also introduces
a significant challenge for position estimation. A manipulator has one end fixed to the envi-
ronment. Measuring the position of an arm’s end effector is simply a matter of understand-
ing the kinematics of the robot and measuring the position of all intermediate joints. The
manipulator’s position is thus always computable by looking at current sensor data. But a
mobile robot is a self-contained automaton that can wholly move with respect to its envi-
ronment. There is no direct way to measure a mobile robot’s position instantaneously.
Instead, one must integrate the motion of the robot over time. Add to this the inaccuracies
of motion estimation due to slippage and it is clear that measuring a mobile robot’s position
precisely is an extremely challenging task.
The process of understanding the motions of a robot begins with the process of describ-
ing the contribution each wheel provides for motion. Each wheel has a role in enabling the
whole robot to move. By the same token, each wheel also imposes constraints on the
robot’s motion; for example, refusing to skid laterally. In the following section, we intro-
duce notation that allows expression of robot motion in a global reference frame as well as
the robot’s local reference frame. Then, using this notation, we demonstrate the construc-
tion of simple forward kinematic models of motion, describing how the robot as a whole
moves as a function of its geometry and individual wheel behavior. Next, we formally
describe the kinematic constraints of individual wheels, and then combine these kinematic
constraints to express the whole robot’s kinematic constraints. With these tools, one can
evaluate the paths and trajectories that define the robot’s maneuverability.

Kinematic Models and Constraints

Deriving a model for the whole robot’s motion is a bottom-up process. Each individual
wheel contributes to the robot’s motion and, at the same time, imposes constraints on robot
motion. Wheels are tied together based on robot chassis geometry, and therefore their con-
straints combine to form constraints on the overall motion of the robot chassis. But the
forces and constraints of each wheel must be expressed with respect to a clear and consis-
tent reference frame. This is particularly important in mobile robotics because of its self-
contained and mobile nature; a clear mapping between global and local frames of reference
is required. We begin by defining these reference frames formally, then using the resulting
formalism to annotate the kinematics of individual wheels and whole robots. Throughout
this process we draw extensively on the notation and terminology presented in [52].

Representing robot position


Throughout this analysis we model the robot as a rigid body on wheels, operating on a hor-
izontal plane. The total dimensionality of this robot chassis on the plane is three, two for
position in the plane and one for orientation along the vertical axis, which is orthogonal to
the plane. Of course, there are additional degrees of freedom and flexibility due to the
wheel axles, wheel steering joints, and wheel castor joints. However by robot chassis we
refer only to the rigid body of the robot, ignoring the joints and degrees of freedom internal
to the robot and its wheels.
YI

YR

XR

XI

Figure 3.1
The global reference frame and the robot local reference frame.

In order to specify the position of the robot on the plane we establish a relationship
between the global reference frame of the plane and the local reference frame of the robot,
as in figure 3.1. The axes X I and Y I define an arbitrary inertial basis on the plane as the
global reference frame from some origin O: { X I, Y I } . To specify the position of the robot,
choose a point P on the robot chassis as its position reference point. The basis { X R, Y R }
defines two axes relative to P on the robot chassis and is thus the robot’s local reference
frame. The position of P in the global reference frame is specified by coordinates x and y,
and the angular difference between the global and local reference frames is given by θ . We
can describe the pose of the robot as a vector with these three elements. Note the use of the
subscript I to clarify the basis of this pose as the global reference frame:
Pose vector or state vector in 2D space XI subscript I
x
ξI = y (3.1)
θ

To describe robot motion in terms of component motions, it will be necessary to map


motion along the axes of the global reference frame to motion along the axes of the robot’s
local reference frame. Of course, the mapping is a function of the current pose of the robot.
This mapping is accomplished using the orthogonal rotation matrix:
YI

XR

θ
YR

XI

Figure 3.2
The mobile robot aligned with a global axis.

cos θ sin θ 0
R(θ) = – sin θ cos θ 0 (3.2)
0 0 1

This matrix can be used to map motion in the global reference frame { X I, Y I } to motion
·
in terms of the local reference frame { X R, Y R } . This operation is denoted by R(θ)ξ I
because the computation of this operation depends on the value of θ :

· π ·
ξ R = R(---)ξ I (3.3)
2

π
For example, consider the robot in figure 3.2. For this robot, because θ = --- we can
2
easily compute the instantaneous rotation matrix R:

0 1 0
R( π
---) = – 1 0 0 (3.4)
2
0 0 1
·
Given some velocity ( x· , y· , θ ) in the global reference frame we can compute the
components of motion along this robot’s local axes X R and Y R . In this case, due to the spe-
cific angle of the robot, motion along X R is equal to y· and motion along Y R is – x· :

0 1 0 x· y·
· π ·
ξ R = R(---)ξ I = –1 0 0 y· = – x· (3.5)
2
0 0 1 θ· θ
·

Forward kinematic models


In the simplest cases, the mapping described by equation (3.3) is sufficient to generate a
formula that captures the forward kinematics of the mobile robot: how does the robot move,
given its geometry and the speeds of its wheels? More formally, consider the example
shown in figure 3.3.
This differential drive robot has two wheels, each with diameter r . Given a point P cen-
tered between the two drive wheels, each wheel is a distance l from P . Given r , l , θ , and
the spinning speed of each wheel, ϕ· 1 and ϕ· 2 , a forward kinematic model would predict
the robot’s overall speed in the global reference frame:


·
ξ I = y· = f ( l, r, θ, ϕ· 1, ϕ· 2 ) (3.6)
·
θ

From equation (3.3) we know that we can compute the robot’s motion in the global ref-
· ·
erence frame from motion in its local reference frame: ξ I = R(θ) –1 ξ R . Therefore, the strat-
egy will be to first compute the contribution of each of the two wheels in the local reference
1. M(q)): Inertia Matrix

• Represents the mass and distribution of weight of the robot.


• It tells how hard it is to accelerate or decelerate the robot.
• Bigger/heavier robots → larger inertia.

Example:
Pushing a small toy car is easy (low inertia). Pushing a loaded truck is hard
(high inertia).

2. C(q,q˙): Coriolis and Centrifugal Forces

• These are motion-dependent forces that appear when the robot moves
along curved paths or rotates.
• Coriolis force → acts sideways when moving in a rotating frame.
• Centrifugal force → pushes outward when turning.

Example:
A robot making a sharp turn feels a sideways force pushing it outward. If
moving too fast, it may skid.

3. G(q): Gravity

• Represents the effect of gravity on the robot.


• On flat ground, often ignored.
• On a slope, gravity pulls the robot downhill.

Example:
A differential-drive robot on a ramp needs extra torque to climb because
gravity resists the upward motion.

4. τ: Input Torques

• These are the control inputs → forces generated by motors at the


wheels.
• Directly related to battery power, motor size, and gear ratios.

Example:
When a motor applies torque to the left wheel, the robot accelerates forward
and may turn depending on wheel speed difference.

5. JTλ: Constraint Forces from Wheels

• Represents the no-slip constraints of wheels (nonholonomic


constraints).
• Wheels restrict sideways sliding, so special forces enforce this
constraint.
• Ensures the robot follows its kinematic path without violating wheel-
ground contact conditions.

Example:
A differential drive robot cannot move sideways. The constraint force
mathematically ensures the sideways velocity = 0.

Why Dynamics Matters

• Predicts real behavior (slippage, acceleration limits).


• Needed for path tracking at high speed.
• Ensures stability (e.g., preventing tipping over).

Aspect Kinematics Dynamics


Focus Motion (x, y, θ) Forces, torques, mass
Assumptions Perfect rolling, no slip Realistic (slip, inertia, friction)
Questions If wheels turn, where If torque is applied, how does
answered does robot go? robot accelerate?
Example Differential drive Force balance for acceleration
equations & turning stability
Limitation Ignores forces Complex to model, requires
physics

1. What is Kinematics in Robotics?

• Kinematics = study of motion (position, velocity, orientation) without


considering forces/torques.
• In mobile robots:
o Helps design robots that can move as intended.
o Provides mathematical models for control software.

Analogy: Like planning where and how fast a car moves, without worrying
about engine power or friction yet.

2. Mobile Robots vs Manipulators

• Manipulators (robot arms):


o Fixed base.
o Multiple joints (5+ degrees of freedom).
o Position of the end effector is computed from joint angles.
o Workspace = region arm can reach.
• Mobile Robots:
o Self-contained, move freely in the environment.
o Position estimation harder → no fixed base.
o Workspace = all possible poses (x,y,θ)(x, y, \theta)(x,y,θ) the
robot can achieve.

Example:

• Welding robot arm → computes tool position from angles.


• Differential-drive robot → integrates wheel motion over time to
estimate position.
3. Key Concepts

• Workspace:
o Manipulator → 3D space it can reach.
o Mobile robot → all possible locations + orientations in
environment.
• Controllability:
o Ability to move between different poses using motor inputs.
o Defines possible paths & trajectories.
• Dynamics Limitation:
o Real robots face constraints from mass, inertia, forces.
o Example: A tall, heavy robot with high center of gravity cannot
turn too sharply (risk of rolling).

4. Position Estimation Challenges

• Manipulators: Easy – measure joint positions, compute end effector


location.
• Mobile Robots: Hard – must integrate motion over time (odometry).
o Errors accumulate (wheel slip, sensor noise).
o Makes precise localization difficult.

Example: A Roomba may think it moved 2m forward, but due to wheel slip
on carpet, it actually moved 1.8m.

5. Wheels and Motion Contribution

• Each wheel contributes to the robot’s motion.


• Each wheel also imposes constraints (e.g., no sideways sliding for
fixed wheels).
• To analyze motion:
o Define global reference frame (world map).
o Define local reference frame (robot body).
o Use math models (rotation matrices) to map between them.

Example:

• A car’s wheels → allow forward/backward but constrain sideways


motion.
• An omniwheel robot → wheels allow sideways sliding, so fewer
constraints.
Summary (from this section):

• Kinematics helps understand and model how mobile robots move.


• Compared to manipulators, mobile robots face bigger challenges in
position estimation.
• Each wheel both enables motion and restricts motion.
• Kinematic models (local ↔ global frames) are essential to predict robot
paths.

1. Building a Kinematic Model


• A robot’s overall motion is derived in a bottom-up process:
o Start with each individual wheel.
o Each wheel contributes motion (rolling) and imposes constraints
(like no sideways slip).
o Wheels are connected by the robot chassis geometry, which
combines constraints into the robot’s global motion model.

The whole robot’s motion = sum of wheel contributions + restrictions from


wheel design and placement.

2. Importance of Reference Frames


• To describe robot motion clearly, we need two coordinate frames:
1. Global frame (world frame): Fixed reference in the environment
(e.g., a map).
2. Local frame (robot frame): Attached to the robot body, moves
with it.
• We must be able to convert (transform) between these frames to
analyze motion correctly.

Example:
If a robot moves forward in its own frame while facing northeast, in the
global frame it appears as motion along both +x and +y directions.

3. Robot Chassis Geometry


• Chassis = rigid body of the robot.
• Motion is described only for the rigid body, ignoring internal wheel
joints and flexibility.
• Robot position is modeled in a 2D plane (assuming flat ground):
o 3 degrees of freedom (DoF):
▪ xxx (position along global X-axis)
▪ yyy (position along global Y-axis)
▪ θ\thetaθ (orientation/heading, rotation about vertical
axis)

Example:
A differential-drive robot has wheels and axles, but in kinematic modeling
we only care about the center point of chassis (x,y,θ)(x, y, \theta)(x,y,θ).

4. Why This Matters


• Different wheel types (fixed, steerable, castor, omni, spherical) impose
different constraints.
• These constraints affect:
o How the robot can move.
o Whether it can move sideways.
o How maneuverable it is.

Example:

• A car (Ackermann steering): Wheels allow only forward/backward


motion + turning.
• An omnidirectional robot (omni wheels): Wheels impose almost no
constraints, so it can move in any direction.

Forward and inverse kinematics

• Forward kinematics (how wheel rates → chassis velocity),


• Inverse kinematics (how desired chassis velocity → required
wheel/steer rates)
Notation Used
Standard Wheel (Fixed / Steered)

Forward and Inverse kinematics model of standard wheel

• A wheel can move only along its rolling direction.


• If it is a fixed wheel, it forbids any lateral (sideways) motion.
• This means the contact velocity of the wheel must match the surface
speed caused by wheel spinning.

A wheel can only move along its rolling direction, so the chassis velocity at
the wheel contact point must match the wheel’s surface speed.

The velocity at the wheel’s contact point comes from two parts:

1. the linear velocity of the robot chassis (vx,vy)


2. the additional velocity due to chassis rotation (ω) about the center,
which depends on the wheel’s position (xi,yi).
The velocity of the wheel’s contact point depends on two parts: the linear
velocity of the chassis and the extra velocity caused by chassis rotation
around its center.

By projecting this contact velocity onto the wheel’s rolling direction, we get
the relationship between chassis motion and the wheel’s spin rate.

The Jacobian in robotics, especially as shown in the provided image, is a matrix that relates the
robot's body velocity to the resulting wheel velocities for robots with multiple wheels.

Role of the Jacobian


• The Jacobian matrix captures how small movements or velocities in the robot’s chassis
(like moving forward, sideways, or rotating) produce velocities in each individual
wheel.
• The specific form in mobile robot kinematics stacks the contribution of each wheel into
the overall system equation, allowing analysis or control of the robot using matrix
algebra.
By projecting this contact velocity onto the wheel’s rolling direction (a unit
vector defined by the wheel angle βi, we get a direct equation that links the
chassis motion with the wheel’s spin rate.

When we collect the equations for all wheels, we form a matrix J that links
the chassis velocity vector and the wheel spin rates
A pseudoinverse is a mathematical generalization of the matrix inverse,
commonly used for Jacobian matrices in robotics when the Jacobian is not
square or not invertible.

• When we write this rolling equation for all wheels, we stack them into a
matrix J.
• This matrix relates the chassis velocity vector vb=[vx,vy,ω]T to the wheel
speeds φ˙ through the relation:
• In this case, we know the wheel spin rates and want the robot’s motion.
• If J is square and invertible, we can directly compute:
vb=J−1Rφ˙
• If J is not square, we use a pseudoinverse to find the “best-fit” chassis
velocity.

In the forward kinematics problem, we are given the wheel spin rates and
want to know how the chassis moves. This means solving the matrix equation.
If the number of wheels and their arrangement make J square and invertible,
we can solve directly. If not, we use the pseudoinverse, which gives the best-
fit chassis velocity.

• Here, the desired chassis velocity is known.


• The wheel spins are simply using above equation

In the inverse kinematics problem, we already know the desired chassis


velocity and want to compute how fast each wheel should spin. In this case,
the calculation is simple: multiply the chassis velocity by J and divide by the
wheel radius.
ni:
This is the lateral direction unit vector for the i-th wheel, pointing
perpendicular to the wheel’s rolling direction in the local wheel frame.

vc,i:
This is the velocity vector at the contact point of the i-th wheel with the
ground.
It expresses how the point where the wheel meets the ground is moving in the
robot’s coordinate frame.

• This is the no-slip constraint for a fixed wheel:


o The dot product (projection) of the contact velocity onto the
wheel’s lateral axis must be zero.
o In other words, the velocity at the contact point cannot have any
component in the lateral (sideways) direction, else the wheel
would slip.
• Interpretation:
If this constraint is violated (i.e., if ni⊤vc,i≠0), the robot commands a
motion that the wheel physically cannot perform without skidding or
slipping—a situation called infeasible motion.

This ensures only allowable motions are commanded, preserving realistic and
safe operation for robots with fixed wheels.

For fixed wheels, sideways motion is forbidden.

This condition is checked by projecting the contact velocity onto the lateral
direction (perpendicular to the wheel).

If the result is not zero, the desired chassis motion is not feasible because the
wheels would have to slip.

For fixed standard wheels, sideways slipping is not allowed. This adds an
extra condition called the lateral no-slip constraint. It means the sideways
component of the contact velocity must be zero. If this condition is not
satisfied, the commanded motion cannot be achieved physically.
Forward and Inverse kinematics of Steered standard wheel (actuated βi)

A steered wheel is different from a fixed wheel because its wheel plane angle,
denoted as βi, can be actively controlled. This means the wheel can be rotated
to point in any direction, instead of being permanently aligned with the
chassis.

• Steered wheel: The wheel’s plane angle βi can be actively controlled


(like a car’s front wheels).
• This allows the wheel to point in different directions, instead of being
fixed.

In the forward kinematics case, where wheel spins are known and we want to
find the chassis velocity, the same rolling equation applies as in the fixed
wheel. For each wheel, the velocity at the contact point projected onto the
rolling direction must equal the wheel’s surface speed. Once all wheel
equations are written, they can be combined into the matrix form Jvb=Rφ˙ . If
all the steering angles βi are known, this system can be solved for the chassis
velocity using either a direct inverse (if the system is square) or a
pseudoinverse (if it is over- or under-determined).
In the inverse kinematics case, where the desired chassis velocity is given and
we want to find how each wheel should move, the process is slightly different.
First, we calculate the velocity of the contact point of each wheel based on the
chassis velocity and the wheel’s location. Then, we set the steering angle of
the wheel to align with that contact velocity, which is simply found by taking
the angle of the velocity vector using the atan2 function. After that, the wheel
spin rate is determined by dividing the magnitude of the contact velocity by
the wheel radius.

Finally, there is a special situation when the contact velocity is zero. In this
case, the wheel does not need to spin, and the steering angle can be arbitrary,
since no actual motion is happening at that wheel.
Castor Wheel (Passive swivel with offset d)

A castor wheel is commonly used in mobile robots, carts, and trolleys. The special thing
about a castor wheel is that:

• It is swivel-mounted: The wheel can rotate freely around a vertical axis, allowing it
to change its direction of contact with the ground.
• It is usually passive, meaning it is not actively steered by motors (unless specifically
designed as actuated).
• The contact point of the wheel on the ground is offset by a distance d from the
swivel axis.

This setup allows the wheel to automatically align with the direction of motion, reducing
friction and allowing smooth movement in any direction.

Forward Kinematics — How Motion Relates


We want to understand how the castor behaves when the robot or base moves.
Rolling Constraint

This equation expresses pure rolling without slip along the wheel’s rolling direction:


• Meaning: The velocity component of the contact point along the rolling direction (uᵀ
v_c) is directly proportional to how fast the wheel spins (φ̇).
• Why Important: Ensures that the wheel rotates the right amount relative to how fast
the robot moves forward/backward.

Lateral / Swivel Coupling

This tells us how the castor swivels as the robot moves.

Inverse Kinematics — Controlling from Known Base Velocity

If the velocity of the robot's body (v_b) is known or commanded, we can compute:
Swedish / Omni Wheel

Forward kinematics

An omni wheel differs from a standard wheel in that it is a wheel with small rollers mounted
perpendicular to the main wheel axis. These rollers allow free motion in the direction
perpendicular to the wheel's main rolling axis.

• Main Idea: Each omni wheel imposes only one scalar rolling constraint (no lateral
constraint).
• Each wheel allows free sideways motion (thanks to the rollers), but enforces rolling
in its main axis.
Inverse Kinematics (Desired Chassis Velocity → Wheel
Spins)
To compute how fast each wheel must spin to achieve a desired chassis velocity:
Spherical Wheel

Forward kinematics
Mobility Insights
Wheel Type Rolling Lateral Constraint Mobility Effect
Constraint
Fixed Yes Yes Nonholonomic,
Standard restricted sideways
Steered Yes Yes More flexible
Standard (changeable β\betaβ)
Castor Yes Relaxed (depends on Support only
β˙\dot\betaβ˙)
Swedish Yes None Holonomic (true
(Omni) omni)
Spherical Yes (trivial) None Fully unconstrained

Summary:

• Standard wheels → restrict sideways motion.


• Steered wheels → allow reorientation of constraints.
• Castors → don’t add constraints, just support.
• Swedish wheels → remove lateral constraint → omnidirectional.
• Spherical wheels → no constraints → full mobility.

You might also like