Underactuated Robotics by Russ Tedrake

lect 1

robot dynamics

agility robotics boston dynamics toyota ANYbotics

this class is about making atlas dance!

  1. computer vision
  2. llm's
  3. foundation models

3 examples

atlas control system doesn't use much learning, mostly online planning with newtons equations of motion more of a physics based model with bipeds

ANYmal uses a lot more learning - the reinforcement learning success story - great when terrain gets dicey and there's a lot of uncertainty in the world - more like pure learning

with quadrapeds - BD and unitree have a light distal mass: light legs and big actuators at the hips means u can use your legs arbitrarily fast

Manipulation - imitation learning works best rn for dexterous manipulation

tesla's biped looks like a ZNP policy, not a RL policy

robot that 'likes' a page of a book and can flip to that page (knows if it is to the right or left)

We're gonna talk a lot about dynamics and control! Optimization based view of Control, then ML based view of control

Actions motor torque commands Environment also called a PLANT has the robot and its surroundings included Output: Observations joint position measurements contact load sensors cameras

Goal is to build a controller (or a policy) that does the other half: takes the environment and the observations and helps build actions

The strength of RL is that you have to make very minimal assumptions about the environment

What makes control challenging (or rich)?

Nonlinear Differential Equations!

our tools are mostly numerical

this is our dynamics model $dot{x} = f(x, u)$ x - state vector u - control input f - a vector valued function $dot{x}$ - time derivative of x (how does x change)

later we'll add an observation model y = g(x) y - vector of observations

Linear differential equation

a subset, where the input is linear $dot{x} = Ax + Bu$

For Mechanical Systems they are second order - F = ma $dot{dot{q}} = f(q, dot{q}, u)$ q - position (joint angle of robo) $dot{q}$ - velocity (motor torque) $dot{dot{q}}$ - joint accelerations u - control

"control affine nonlinear systems" the way $u$ enters the equation is limited if $u$ is a torque, $dot{dot{q}} = f_{1}(q, dot{q}) + f_{2}(q, dot{q})u$ u can only affect in an affine way linear is the part with u + a constant

dim(q) = m dim(u) = n

(1) $dot{dot{q}} = f_{1}(q, dot{q}) + f_{2}(q, dot{q})u$

DEFINITION::::: (1) is fully actuated in $(q, dot{q})$ iff $f_{2}(q, dot{q})$ is full row rank if it is full row rank, it has a right inverse

This is a question of: can you instantaneously cause an acceleration?

DEFINITION::::: (1) (the state) is underactuated in $(q, dot{q})$ iff $rank[f_{2}(q, dot{q})] < m$ The SYSTEM is underactuated if this holds for all $q, dot{q}$ (input position and velocity)

Feedback Equivalence to a double integrator

why is the system fully actuated if $dot{dot{q}} = f_{1}(q, dot{q}) + f_{2}(q, dot{q})u$ has a right inverse?

Given: $dot{dot{q}}^{d}$ -> trying to achieve acceleration $d$ Then: $u = f_2^{-1}(q, dot{q})[dot{dot{q}}^{d} - f_1(q, dot{q})]$

Why is it that having a lot of motors on a robot would mean that the dynamics gets erased, and you can write it as this double integrator? with enough motors, you can actually just make it do whatever you want. you can cancel momentum in a certain direction. important: this is what limited robotics for a really long time.

Can BREAK feedback equivalence if there are restrictions: input saturation: can't apply a torque to a motor outside of an accepted range technically underactuated state constraints: world won't let you make a motion where you pass through the ground holonomic or non holonomic model uncertainty - complicated, but can use adaptive control

previously, walking robots were built like two robot arms, where at least one is bolted to the floor at any time.

Manipulator Equations

main form for rigid body mechanics: $M(q)dot{dot{q}} + C(q, dot{q})dot{q} = au_{g}(q) + Bu$

$C(q, dot{q})$ - coriolis terms M(q) - mass matrix $ au_g$ - gravity term (torque due to gravity) u - torque input B - actuation selector matrix - if B is full row rank, there is an actuator for every motor, it is fully actuated - when B is low rank, control actions have longer term consequences

q - position (joint angle of robo) $dot{q}$ - velocity (motor torque) $dot{dot{q}}$ - joint accelerations

![[Screenshot 2025-01-11 at 7.39.49 PM.png]]

stall fluid dynamics -