Hadrien Cornier GitHub

Tags / 8 articles

so-101

Every article tagged so-101, newest first.

Precise control of the SO-101 arm · Part 4 of 822 min readNumber line in ticks: reading 100, next reading 110, goal sent 150. The joint moved 10 and the label, the goal minus the next reading, is 40.

Learning what the physics misses

Where a neural network fits in a robot controller. A network that learns only what the physics model gets wrong does the same job as a Kalman disturbance estimate, with more freedom, and this is where recent research is going.

so-101controlmachine-learning
Precise control of the SO-101 arm · Part 5 of 8 · Hardware24 min readDesign 5 on the full arm in a drawing pose

A pen holder that shows the arm’s error, not its own

I want to see my SO-101 trajectory errors as ink on paper. For that, the pen must not add an error of its own. I made five holder designs. The one I release is a printed sleeve that slides onto the stock gripper: 4 printed parts, nothing to buy, any pen from 8 to 13 mm.

so-101hardware3d-printing
Precise control of the SO-101 arm · Part 3 of 835 min readBar chart of the real-arm tracking error. Cat motion: direct 22.5 mrad at 30 Hz, pi 8.4, solve 6.2 and mpc 6.0 at 60 Hz. Signature motion: direct 28.3, lead 23.7 and inv 13.4 mrad.

Six ways to choose the goal

One general formula for the goal sent to a servo. Every controller I built, from a plain look-ahead to MPC, is that formula with some terms set to zero.

so-101control
Precise control of the SO-101 arm · Part 2 of 816 min readTop: a ramp of true angles and the staircase of readings rounded to the nearest tick. Bottom: the reading error, a sawtooth between minus and plus half a tick, with an RMS of 1 over the square root of 12 tick, 0.443 mrad.

Seeing finer than the sensor

The sensor side of the joint equation: why differences of encoder ticks explode the noise, and how an observer or a Kalman filter can estimate an angle finer than one tick.

so-101controlsensors
Precise control of the SO-101 arm · Part 1 of 844 min readThree drawings of one joint as a torsion spring. With no load, the goal and the joint sit on the target. With gravity and the goal on the target, the joint sags below and the spring between goal and joint stretches. With the goal moved up past the target, the stretched spring holds the joint on the target.

One equation, and every way the arm misses it

Start from torque = inertia × acceleration, then add each term a cheap servo arm really has: gravity, friction, a payload, dead time, a dead band. Each term is one way the arm misses its target.

so-101controlhardware

← All tags · All writing