Glossary
108 terms from programming, computer science and robotics, each defined in plain words and linked to the free lesson that teaches it.
- abstraction Leaving out detail that does not matter to the problem, so that what remains is simpler to think about. A…
- actuator A device that turns a program's command into movement or an effect on the world: a motor, a servo, an LED.
- admissible heuristic A heuristic that never overestimates the true remaining cost to the goal. A* search with an admissible…
- algorithm A precise sequence of steps that solves a problem or carries out a task. A program is an algorithm written…
- assignment Giving a variable a value with =, as in x = 10. The right-hand side is worked out first, then stored under…
- block A group of lines that belong together and run as one unit: the body of an if, a loop or a function. In…
- blocking call A function that does not return until its job is finished, such as forward with a distance. The program…
- body frame The coordinate frame fixed to the robot, which turns as the robot turns. On the BugBot its x axis points to…
- Boolean A value that is either True or False. Comparisons produce Booleans, and if and while decide what to do from…
- broadcast Sending one message that every device on the network receives, rather than to one named receiver.
- classifier A model that answers with a category: which of several labels this input is most like.
- closed loop Control with measurement: read a sensor, compare with what you wanted, adjust, repeat. The measurement…
- comment A note in the code for people, not the computer. In Python it starts with # and the computer ignores…
- comparison operator An operator that compares two values and gives True or False: == (equal), != (not equal), <, >, <= and >=.
- complementary filter A way of fusing two sensors that fail in opposite ways: trust the one that is smooth but drifts (an…
- condition An expression that is either true or false, used by selection and iteration to decide what happens next:…
- configuration space The space of every possible configuration of the robot, such as (x, y, heading), with the obstacles grown by…
- control error In control, the difference between the target and the measurement: target minus actual. Its sign says which…
- controller The part of a program that decides what command to send from the difference between what was wanted and what…
- covariance A measure of how two uncertain quantities vary together. A covariance matrix holds each variable's variance…
- cross-track error How far the robot is from its path, measured at right angles to the path and signed to say which side it is…
- data type The kind of value a piece of data is: integer, real (float), Boolean, character or string. The type decides…
- dead band A range of small commands or small errors that produce no action at all, for example motor commands under…
- dead reckoning Working out where the robot is by starting from a known pose and adding up its measured speeds and turns…
- decomposition Breaking a problem into smaller parts that are easier to solve, then solving each part. Writing one function…
- deterministic Always giving the same result from the same starting point. The simulator is deterministic, which is what…
- domain randomisation Tuning or training across many randomly varied versions of the world, such as different noise levels, drive…
- effective sample size A count of how many particles are still doing useful work: 1 divided by the sum of the squared normalised…
- feature One of the numbers a model is given as input. Choosing which numbers describe the situation is called…
- feedforward The part of a command worked out from a model of the system and the reference alone, before any error has…
- float A real number with a fractional part, such as 3.5 or -0.25. Python calls the type float; exam papers say real.
- focal length In the pinhole camera model, the distance from the pinhole to the image plane, given in pixels for vision…
- forward kinematics Working out how a robot moves from the commands sent to it: command to velocity in the body frame, rotated…
- frontier In an occupancy grid, a free cell with at least one unknown neighbour: a place the robot can reach that…
- function A named block of code that does one job and can be called from anywhere in a program. It may take parameters…
- gain The number the error is multiplied by in a controller. Too small and the correction is sluggish; too big and…
- heading The direction the robot faces, in degrees, measured clockwise from a fixed reference. Zero is the direction…
- holonomic Able to move in every direction it has freedom in, independently and at once. A holonomic robot on a floor…
- indentation The spaces at the start of a line. In Python indentation is not decoration: the lines indented under an if,…
- index The position of an item in a list or a string, counting from 0: the first item is at index 0, the second at…
- infinite loop A loop whose condition never becomes false, so it never ends. Sometimes wanted (a robot's main loop), often…
- innovation In a filter, the measurement minus what the filter predicted it would be: the part of the measurement the…
- instruction A single command in a program that tells the computer to do one thing, such as move, print or compare.
- integer A whole number, positive, negative or zero, with no fractional part: 3, -12, 0. Python calls the type int.
- integral windup When the actuator is saturated and cannot do what the controller asks, the integral term keeps growing, then…
- intrinsics The numbers that describe what a camera does to a ray, independent of where the camera is: the focal lengths…
- inverse kinematics Working out which commands produce a wanted motion: rotate the wanted world velocity into the body frame…
- inverse sensor model The rule that turns one sensor reading into evidence about map cells. For a range reading, the cells the…
- iteration Repeating a set of instructions, either a fixed number of times (count-controlled, a for loop) or while a…
- JSON JavaScript Object Notation: a text format for lists, dictionaries, numbers and strings that almost every…
- Kalman filter An estimator that repeats two steps, predict with a model and correct towards a measurement, and works out…
- Kalman gain The fraction k, between 0 and 1, by which a Kalman filter moves its estimate towards a new measurement. For…
- label The right answer attached to an example in training data, such as open or wall-ahead for a depth reading.
- log odds The natural logarithm of p / (1 - p), used to store a probability p. Zero means 50 percent, positive means…
- logic error The program runs without complaint but does the wrong thing, because the instructions do not say what the…
- logical operator An operator that combines Booleans: and (both must be true), or (at least one true) and not (the opposite).
- look-ahead distance In pure pursuit, how far along the path the aim point is placed. A longer look-ahead gives smoother, gentler…
- loop A set of instructions that is repeated. A for loop repeats a known number of times; a while loop repeats as…
- low pass filter A filter that lets slow changes in a signal through and smooths away fast ones, such as sensor noise. The…
- machine learning Making a computer work out a rule from examples instead of being given the rule. The examples are the data;…
- measurement noise The random error on each sensor reading. In a Kalman filter its variance is R, which can be measured by…
- median filter A filter that keeps the last few readings and outputs the middle one after sorting. Unlike an average, it…
- model What a learning method produces: the rule, as data, that turns new inputs into answers. It can be saved as…
- Monte Carlo localisation A particle filter used to find a robot's pose on a known map: move the particles by odometry, weight them by…
- neural network A model made of layers of weighted sums and simple squashing functions. Training adjusts the weights so the…
- non-blocking A function that returns at once and lets the effect carry on in the background, such as forward with no…
- occupancy grid A map that divides the world into equal cells and stores for each one how likely it is to be occupied.…
- odometry Working out where the robot is by adding up its own measured movements. Drift builds up: odometry is an…
- open loop Control without measurement: send a command and hope. Drive for two seconds and assume you went forty…
- outlier A reading that is not a noisy measurement of the quantity at all but of something else, such as a depth beam…
- overfitting When a model fits its training data too closely, noise included, so that it does well on the data it was…
- overshoot Going past the target before settling, because the correction was too strong or arrived too late.
- parameter A name inside a function definition for a value the caller will pass in. The actual value passed when the…
- particle deprivation The failure of a particle filter in which repeated resampling leaves every particle a copy of a few…
- particle filter An estimator that represents its belief as a cloud of guesses, called particles. Each tick it moves every…
- polling Checking repeatedly, in a loop, whether something has happened, such as whether a message has arrived,…
- potential field A way of steering without planning a route: the goal pulls the robot towards it, every obstacle pushes it…
- process noise In a Kalman filter, Q: the variance of the ways the state can change between ticks that the prediction does…
- program A sequence of instructions that a computer can execute to carry out a task. The instructions run in the…
- proportional control Correcting by an amount proportional to the error: command = gain times error. Big error, big correction;…
- protocol An agreed set of rules for how messages are formed and exchanged, so that two programs understand each other.
- pure pursuit A path-following method that steers towards a point a fixed look-ahead distance further along the path,…
- ray casting Stepping along a line through a map from a given pose until it reaches an occupied cell, to predict what a…
- reality gap The difference between the world a controller or policy was tuned in, such as a simulator or one robot on…
- reinforcement learning Learning from rewards rather than labels: the program tries actions, is told how well each went, and shifts…
- resampling Drawing a fresh set of particles from the old set, each chosen with probability in proportion to its weight,…
- return value The value a function sends back to the code that called it, with the return statement. A function with no…
- reward hacking When a learning system scores well on its reward function while doing the wrong thing, because the reward…
- rotation matrix A 2 by 2 matrix of the sine and cosine of the heading that turns a vector in the body frame into the same…
- RRT Rapidly-exploring Random Tree: a sampling planner that grows a tree from the start by repeatedly picking a…
- runtime error An error that happens while the program is running, such as dividing by zero or using a name that has no…
- selection Choosing which instructions to run depending on whether a condition is true or false: an if statement. One…
- sensor A device that measures something about the world and turns it into a value the program can read: distance,…
- sequence Instructions carried out one after another, in the order they are written. One of the three basic…
- simulation A model of the real thing, run on a computer, that behaves closely enough to test programs on. The mat and…
- state What a program is currently doing, held in a variable so that each tick of the loop can behave differently:…
- state machine A program organised as a set of states and the transitions between them: in each state it does one thing,…
- steady state error An error that is still there after the system has settled and stopped changing. A proportional controller…
- step response How a system's output changes over time after its input jumps suddenly from one value to another, such as…
- string A sequence of characters, such as a word or a sentence, written between quotes. Strings can be joined,…
- syntax The rules that say how a language's instructions must be written: the spelling, the brackets, the colons,…
- time constant How long a first order system takes to cover 63 percent of the way to its final value after a step, written…
- timeout A limit on how long to wait for something before giving up and doing something else, so a program is never…
- training data The examples a model learns from: each one is some input (the features) together with the right answer (the…
- variable A named location in memory that holds a value which can change while the program runs. Assigning gives it a…
- velocity profile Speed written as a function of time along a path, designed so that the machine can actually follow it within…
- visual servoing Controlling a robot directly from what its camera sees, in a closed loop. Image based visual servoing keeps…
- world frame The coordinate frame fixed to the mat, which stays put however the robot moves. Its x axis runs to the right…