robotics software stack
The robotics software stack is the layered chain of programs that turns raw sensor readings into the precise commands that move a robot. A robot's body is just metal and motors; this software is its mind. Like a stack of pancakes, it is built in layers, and information flows from the bottom up: each layer takes what the one below it produced, makes sense of it, and hands a more useful result to the layer above.
The classic layers are perception, planning, and control. Perception takes in data from cameras, lidar, and other sensors and figures out what is around the robot and where things are — turning a flood of pixels and distances into a tidy picture of the world. Planning then decides what to do about it: which path to drive, where to reach, in what order to act. Control finally translates that plan into the exact electrical signals that drive each motor, moment by moment, while constantly checking the result and correcting.
Thinking in this layered way matters because it lets a big, hard problem be split into smaller pieces that teams can build and improve one at a time. The same skeleton — sense, then decide, then act — underlies almost every robot, from a warehouse rover to a self-driving car, even though the details inside each layer change enormously from one machine to the next.
A delivery robot rolling down a sidewalk: its cameras spot a pedestrian ahead (perception), it chooses to slow and curve gently around them (planning), and it sends just the right power to its left and right wheels to follow that curve smoothly (control).
Sensor data flows up through perception, planning, and control, coming out as motor commands.
The three layers mirror the sense-plan-act idea: perception is sensing, planning is deciding, control is acting.