📑 Formula Sheet - Control Of Mobile Robots (GeorgiaTech)

#Physics #Engineering #Control_Theory #Robotics #Math

Table of Contents:

↩️ Go Back

Module 1 - Dynamical Models and Controls

Read more: Module 1 - Introduction to Controls and Dynamical Models

Continuous Dynamical Models (Differential Equations)

Discrete Dynamical Models (Difference Equations)

Taylor Approximation:

Continuous Time PID Regulator

The control signal should be a function of the error signal "e"

Calculate Steady State error,

Discrete Time PID Regulator

Discrete P-term:
the discrete version is trivial, we just need to sample the error,

Discrete D-term
We know that the derivative of the error is roughly,

Furthermore, we can modify KD and include Δ t in the calculation, we will call it KD

Then, our controller will be,

Discrete I - term
We can approximate this area with rectangles, and now we write the sum of these rectangles as a Riemann approximation,

So after some time Δ t passes, and I want to calculate my new integral, I just need to add a new rectangle to the sum,

Conclusion: To calculate the approximate integral we just need to compute,

But we can modify KI and include Δ t in the calculation, we will call it KI

Then, our controller will be,

And we just need to update "Enew" every cycle,

Discrete PID Controller

Example - pseudo-code:



Module 2 - Wheeled Robot Models

Read more: Module 2 - Introduction to Mobile Robotics and Wheeled Robot Models

Forward Kinematics: Differential Drive Model

Based on the actual physical constraints of the robot.
Inputs: Angular velocities of the wheels:

Forward Kinematics: Unicycle Model (Simplified Model)

Used for designing controllers.
Inputs:

Model Conversion (Unicycle to Differential Drive)

Geometric Formulas

|400

|300

Wheel Encoder Odometry

Calculating Global Obstacle Positions from Sensor Data

If the robot knows its pose (x,y,ϕ) and the position of obstacles in its local frame, it can compute the global position of obstacles:

Go-to-Goal Behavior: Heading-Based Proportional Controller

Closed Loop:

Key Notation:



Module 3 - Linear State-Space Control Theory

Read more: Module 3 - Introduction to Linear State-Space Control Theory

General State-Space Equations (LTI System)



Steps: Converting a Linear Second-Order System to State-Space Form

Step 1: Choose State Variables & define Inputs and Outputs

Step 2: Rewrite Second-Order as a pair of First-Order Equations

Step 3: Represent in State-Space Form

The equations can be expressed as:

x˙=Ax+Bu

where:

A=(01βmαm),B=(0cm).

The output equation y=f=x1 can be written as:

y=Cx,

where:

C=(10).

Thus, the system is represented in state-space form:

x˙=(01βmαm)x+(0cm)u,y=(10)x.

Linearizations: using a Small Angle Approximation

For small θ, sin(θ)θ.


Linearization Steps: using the Jacobian Matrix

Consider a nonlinear second-order differential equation:

z¨=γz˙+lz2+cτ

We need linearize it around an equilibrium point x=0 (meaning at z0=0 and z˙0=0)

Step 1: Choose State Variables & define Inputs and Outputs

Step 2: Rewrite Second-Order as a pair of First-Order Equations

Step 3: Linearize Around an Operating Point (use the Jacobian Matrix)

At the operating point (x1,x2)=(0,0), we use the Jacobian Matrix,

where,

Calculate A

Calculate B

The linearized equations become:

δx˙1=δx2,δx˙2=(γ)δx2+(c)δu.

Step 4: Represent in State-Space Form

Now we have a Linearized system around the Operating Point: zo=0, z˙o=0, uo=0.

δx˙Aδx+Bδu,δyCδx

where:

A=(010γ),B=(0c).C=(10).

and δx,δu,δy are the difference with respect to the Operating Point.

we can expand this model like this,

δx˙=(010γ)δx+(0c)δu,δy=(10)δx

Scalar Exponential and Matrix Exponential (Taylor Series)

Time derivative of the Exponential Function

Derivative of the Exponential:

Time derivative of the scalar exponential:

ddteat=aeat

Time derivative of the matrix exponential (behaves like a scalar exponential):

ddteAt=AeAt

Matrix Diagonalization

Let’s say there exists an invertible matrix P such that:

Augly=PDP1,

where:

By induction, we can generalize:

An=PDnP1.

Matrix Exponential Diagonalization

Applying this to the matrix exponential as eDt, we have:

eAt=PeDtP1.

where:

D=(λ1000λ2000λn),λieig(A)

and:

P=(v1v2vn),

where each column vi is the eigenvector corresponding to eigenvalue λi.

If D is a diagonal matrix, its exponential is straightforward:

eDt=(eλ1t000eλ2t000eλnt).

Thus, the final result is:

eAt=P(eλ1t000eλ2t000eλnt)P1.

Eigenvalues (Characteristic Equation)

Eigenvectors

The Null Space of a Linear Transformation

The null space of A is defined as:

Null(A)={xAx=0}.

It means, that the null space of A is the set of all vectors x that satisfy Ax=0


Solution to the Homogeneous First-Order Linear Differential Equation

This is a first-order linear differential equation, it is a scalar system, where x is a single number, not a vector:

x˙=ax

The solution to this equation is:

x(t)=ea(tt0)x0

where:

Stability of the Scalar System


Solution to the System of Coupled Homogeneous First-Order Linear Differential Equations (Matrix Case)

For systems where xRn, the dynamics are:

x˙=Ax

The solution remains similar to the scalar version, but uses a matrix exponential:

x(t)=eA(tt0)x0

Here, eA(tt0) is the matrix exponential, defined as a Taylor Series:

eAt=k=0Aktkk!

The State Transition Matrix

Φ(t,t0)=eA(tt0)

it can be used to express the general general solution,

x(t)=Φ(t,τ)x(τ)

The properties of the matrix exponential still apply,

General Solution for a Controlled System

For systems with inputs:

x˙=Ax+Bu

The solution incorporates the input's influence:

x(t)=Φ(t,t0)x(t0)+t0tΦ(t,τ)Bu(τ)dτ

Key Terms:

For systems with measured outputs:

y=Cx

The output is derived directly from the state solution.

Note: If A is diagonalizable, then: Φ(t,t0)=PeD(tt0)P1

Stability of Higher Dimension Systems


The Rendezvous Problem in Swarm Robotics

the system can be written as:

x˙=Lx,

where L is the Graph Laplacian Matrix, describing the communication structure (who talks to whom).

Graph Laplacian Properties:

  1. L has:
    • One zero eigenvalue (λ1=0) if the graph is connected.
    • All other eigenvalues are positive (λ2,λ3,>0).
  2. L has:
    • One zero eigenvalue (λ1=0).
    • All other eigenvalues are negative (λ2,λ3,<0).
    • Therefore the multiple-robot case has Critical Stability

The null space of L determines the consensus value. If the graph is connected:

Null(L)={x=(α,α,,α)αR}.



Module 4 - Linear State-Space Control Design

Read more: Module 4 - Linear State-Space Control Design