Robotics you can drag around
Interactive tools for kinematics, control, planning, and design.
Kinematics
Where it is, and where it can reach.
- Quadcopter kinematicsFour propellers, all pointing the same way, and six degrees of freedom to cover with them. Fly one in 3D and watch the mixer decide what each motor gets.
- Differential drive and its relativesTwo wheels, two motors, and the one equation underneath skid steer, Ackermann steering and every trailer that ever jackknifed.
- Mecanum driveDrive a mecanum chassis, watch the four motor powers, and find out why mounting the rollers wrong costs a whole degree of freedom.
- Denavit-Hartenberg parametersFour numbers per joint describe an entire arm. Type a table in and watch it appear.
- Inverse kinematicsEvery reachable point has two arm configurations, and choosing between them is a real decision.
Sensing
Getting a usable number out of a sensor.
- The extended Kalman filterA robot with a lidar and the map of a building, tracking its own pose. Every scan is matched to the map, and the match is a sensor whose noise depends on what the scan could see: in a bare corridor it says where across, and nothing about where along.
- Kalman, extended Kalman, or particle filterThree filters localise the same robot from the same lidar. Where the scan pins the pose they are equally precise, at very different prices. Where it does not, the difference is what each one does with the wheels.
- The particle filterA robot woken up somewhere in a building it has the map of. Belief as two thousand guesses rather than a mean and a covariance, so it can hold two places at once until the map tells them apart.
- The Kalman filterA sensor that reports position only, fed into a filter that reports velocity too. Add a second, slower sensor and the same update fuses it in: precision adds, whichever one arrives first.
- Filtering a noisy sensorNoise, drift, and mains hum are three different problems wearing the same disguise. Four filters, and which corruption each one is actually for.
Inference
Working out what is true from what you can see.
- Gaussian belief propagationRobots locating each other by passing messages to their neighbours, with nobody solving the whole problem. On a graph with a loop the means come out exact and the uncertainties do not, and the tool shows how far out they are.
- PolytreesBelief propagation on a graph that branches, and what setting one variable does to the rest of it. Evidence usually creates independence. At one shape of junction it destroys it, and the algebra says why.
- The discrete Bayes filterA robot switched on somewhere in a corridor it has the map of, with one bit of sensor. Belief as a table of fifteen numbers, moved by Bayes' rule and nothing else, so the posterior is exact and every step of the arithmetic is on screen.
Control
Getting it there, and holding it.
Motion planning
Working out where to go.
- Behaviour treesA robot patrols, breaks off to approach, breaks off that to recharge. No state machine is coded anywhere.
- Rapidly-exploring random treesThrow a random point at the space, step toward it from the nearest thing you have already reached, and never enumerate the free space at all.
- Configuration spaceGrow every obstacle by the robot's own shape and the robot becomes a point. Every planner after that is simpler.
- A* searchDijkstra plus an estimate of the distance remaining, and far less of the map examined.
- Breadth-first searchEvery cell one step away, then every cell two steps away. The first route it finds is the shortest.
- Depth-first searchChange the queue to a stack and every guarantee disappears.
Learning
Working it out from experience.
Design
Picking the hardware.