Programming Techniques
The algorithms robot arm software is built from
The written, language-independent techniques behind seeing, planning and moving: camera geometry, pose from points and calibration, matching and registration, least squares, RANSAC and filters, masks, clustering and 3D maps, sampling-based planning, inverse kinematics and MPC, PID, dynamics and safety monitoring, and state machines and behaviour trees. Each chapter puts the most used techniques first. Each page says where a technique is used on an arm, where it fails, and which library already does it.
- 01
What Techniques Are
This is the first page of Programming Techniques, which explains the methods that robot arm software is built from. A technique here means a fixed method that a person wrote down step by step, rather than something a computer…
- 02
Geometry and Cameras
This chapter covers the techniques that turn pixels, frames and joint angles into positions you can trust. A robot arm can only move to a place given in metres, measured from its own base, but a camera only gives it pixels. So…
- 03
Searching and Matching
This chapter covers the techniques that find the closest thing, and decide which thing is which. Between them they answer three questions that come up again and again in robot-arm software. Which point, object or pose is nearest…
- 04
Fitting and Estimation
This chapter is about getting a clean shape or a steady number out of noisy measurements. This is difficult because every sensor on a robot arm gives readings that are a little wrong. For example, a depth camera's points scatter…
- 05
Image and Point Cloud Processing
This page opens the chapter on image and point cloud processing, which is the fourth of the seven families of technique in this book. These are the techniques that clean up and cut up pictures and point clouds, so that separate…
- 06
Planning and Search
This chapter is about finding a way for the arm to get from here to there without hitting anything, and about choosing well among many possible moves. It covers six techniques: sampling-based planning, numerical inverse…
- 07
Control and Motion
This chapter is about turning a planned path into smooth, safe motor commands. It covers five techniques: proportional-integral-derivative (PID) control, trajectory generation, arm dynamics, safety monitoring, and impedance and…
- 08
Decisions and Task Logic
This chapter is about the part of a robot program that decides what the robot does next, and in what order. The other chapters of this book find the mug, plan a path to it and move the joints. Because those chapters do the work…