Dead reckoning:
A method of navigation in which one’s position is determined by adding the distance and direction traveled to the starting position. Position error in this type of navigation tends to get larger as the distance traveled increases.
Error:
The difference between the desired and actual values of a parameter being controlled in a control system.
EV3:
The third generation of the Mindstorms robot hardware and software.
Feedback:
Information about the operation of a system, used for either control, or monitoring and troubleshooting.
Control:
In the context of a robot controlling its own operation, such as following a line, one or more sensors are used to provide information about system operation, then that information is compared to the desired operation to create an error signal, which is used to adjust system operation.
Monitoring and troubleshooting:
Sometimes it is useful to have the robot provide information back to the user running the robot (e.g., “line detected”) to ensure the robot is really doing what it appears to be doing, and to assist with troubleshooting.
Firmware:
Quasi-permanent software stored in read-only memory and designed to facilitate interaction with a computing system’s hardware.
Friction:
A physical quality that resists sliding or slipping motion between two surfaces.
Geometry:
A branch of mathematics that deals with the properties of shapes like lines; angles; triangles, squares, rectangles, and other polygons; circles and ellipses; and so on.
Handoff:
Leaving the motors running at the transition from one My Block to the next, saving time by not stopping and restarting the robot.
Loop:
A program construct that executes one or more commands repetitively. A loop can execute a specified number of times, execute until a condition is met, or run until the user terminates the program (an infinite loop).
Modularity:
The principle of dividing programs into smaller, more manageable, and reusable blocks.
My Block:
A subprogram, or subroutine, that is designed to perform a repetitive task or set of tasks. Such a subroutine is programmed, debugged, and tuned once, then used multiple times in other programs.
Parallel execution:
Running two independent sections of software simultaneously. This can be done with the EV3 by plugging the output of a block into the inputs of two or more subsequent blocks.
pi (π):
A math constant used to, among many other things, convert between the diameter and circumference of a circle. Its value is approximately 3.14. The number extends to an infinite number of decimal places, 3.1415926…, but for our purposes 3.14 will suffice.
Proportional controller:
A type of controller that adjusts the amount of correction in direct relation to the amount of error; a small error, or deviation from the desired value, results in a small correction to move closer to the desired value, also called the set point; a large error generates a large correction to move more quickly toward the set point.
Sequence plug entry:
The point in a programming block that connects to the previous block.
Sequence plug exit:
The point in a programming block that connects to the next block.
Set point:
The desired value, such as distance or reflected light intensity, of a system being controlled.
SONAR:
Acronym for SOund NAvigation and Ranging. This technique measures the time it takes for a transmitted sound wave to travel to an object, reflect off of it, and return; it then uses that time to compute the distance to the object.
Torque:
A physical quantity that tends to create rotation. For instance, a motor produces torque to rotate its shaft, which could be attached to a gear or wheel and create movement. A lever attached to a shaft can be used to create torque on the shaft, like a wrench can be used to create torque on a bolt.
Track width:
Center-to-center distance between the two drive wheels of the robot.
Traction:
In the context of a wheel or tire on a robot, traction could be described as the friction between the tire and the surface on which it is rolling. This friction allows the tire to exert force on the surface to move the robot.
Unit conversion:
Translation of a value from one type of measurement to another (e.g., converting 1 inch to 2.54 centimeters).
Variable:
An element used to store a value that can be changed. In EV3 programming, the Variable block is under the Data Operations tab. It is set to Read mode when its value is to be passed to another element and Write mode when the value it contains is to be replaced with a new value. A Variable block can be any one of the following data types: Text, Numeric, Logic, Numeric Array, or Logic Array.
Waypoint:
A location with precisely known coordinates that can be used for correcting navigation position.