The algorithms that let machines sense the world, plan what to do, and act on it.
For you, picking up a cup of coffee is something you don't even have to think about. You can not only pick up a cup in any orientation but you're also smart enough to know which cup is yours, or how careful you need to be based on the amount of coffee inside.
This comes naturally to you, but try thinking about how difficult this would be to explain to a robot. It would need to first know what a cup is, then it would have to figure out how to get there, and even how hard it should grip it. Robotics is when software interacts with the physical world, and it's extremely diverse. Your robot has to sense the world, plan its next move, and figure out how to execute it and it must do this before things in its environment drastically change.
I've curated this list in order but feel free to jump around. Again, robotics is so diverse that you're best off jumping into something that you find interesting and then learning it more in-depth. Start wherever you like and try following the links recursively to learn more.
It may not seem fun but this section will teach you about the math most robots use to figure out where things are in space and how they're turned. You'll learn about the different pros and cons of each method and how the next one tries to build on top of it.
Rotate a point with one multiply, and undo it with a transpose.
Roll, pitch, and yaw: three familiar angles with one famous failure mode.
Any rotation is one axis and one angle. Rodrigues wrote down the formula.
Four numbers that rotate without gimbal lock, and blend smoothly between poses.
Rotation and translation in one 4x4 matrix you can chain down an arm.
This section explores the math behind robotic joints and how they know where to turn. Forward kinematics is used to figure out where the robot's hand would be based on its joints' position, inverse kinematics asks how the joints should turn to get the hand in a specific position.
Joint angles in, hand position out. Pure trigonometry.
Four numbers per joint that describe any arm, no drawings required.
Where should the joints be to reach a target? The cosine rule answers twice.
The matrix that maps joint speeds to hand speed, and tells you when it lies.
When no formula exists: guess, measure the miss, and iterate until it shrinks.
Where the arm can reach, and the poses where it suddenly can't move.
Your robotic arm can reach an object, but how should it plan its trajectory? In this section, we will explore how robots get to places smoothly, learn the physics behind that, and then try to solve the infamous inverted pendulum.
Cubic and quintic polynomials that start still, move smoothly, and stop still.
LERP for straight lines, SLERP for turning: motion the tool tip can follow.
The torque behind the motion: mass, gravity, and the equation of motion.
Balance a falling pole with a moving cart: the hello world of control.
This is the section that people find "cool" and it goddamn is. You'll learn about motors, gear reductions, and how to control the hardware you'll need to build meaningful projects.
Torque trades against speed along one straight line. Pick your point on it.
Kv, pole pairs, and why torque is just current with a constant attached.
Trade speed for torque with a ratio you can count on your fingers.
The load the motor actually feels shrinks with the square of the gear ratio.
Two offset square waves that count position and reveal direction.
Full voltage, switched fast enough that the motor only feels the average.
Add up the amps before the robot browns out mid-demo.
The three-term loop that keeps every joint on target.
A position loop commanding a velocity loop, each running at its own speed.
This section explores how robots learn and process the information about their environments. We'll cover how they see through cameras, sense motion with IMUs, and how they use an odometer to figure out how far they traveled. I'll then show you the ways we process that information into an actionable plan for our robot.
How a 3D point lands on a 2D pixel, and how to measure your lens's lies.
Two cameras, one disparity, and depth falls out of a ratio.
Gyros drift and accelerometers jitter. One blend constant fixes both.
Count wheel turns to track your pose, and watch the error quietly grow.
Tracks a best estimate through noise, with a confidence to match.
Thousands of guesses that converge on where the robot really is.
The Kalman filter, taught to survive curves by linearizing around its guess.
The world as a grid of cells: occupied, free, or unknown.
Grow a random tree until one branch touches the goal.
Chase a point a little ways down the path, and steering falls out of a circle.