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…