Docs Reference Workspace repo
Docs menu

Glossary

Short definitions of the terms these pages use, from ROS 2 basics to racing-line vocabulary.

ROS 2

Term Definition
Node One running program with one job, such as reading the LiDAR or choosing a steering angle
Topic A named channel that nodes publish messages on and subscribe to, such as /scan
Message The data sent on a topic, in a fixed type both sides agree on
Package One unit of code, built and installed together, with a package.xml
Workspace A folder of packages built together. Both cars build the same workspace repository, Racerbot-Car-Workspace.
Car profile The folder under src/racerbot_car/cars/ that holds one car’s hardware values and calibration: rb1 for car 1, rb2 for car 2. Launches load it on top of the shared configuration.
Launch file A Python script that starts a set of nodes with their parameters
Parameter A named setting a node reads at start, set from a YAML file
colcon build The command that builds every package into install/
Sourcing Loading a setup script into the current shell, so its commands and packages become available
ROS domain A number, ROS_DOMAIN_ID, that separates ROS graphs on one network
TF, transform, frame A frame is a named coordinate system. TF keeps the transforms between frames and converts between them.
Latched topic A topic whose last message is delivered to a subscriber that joins later
QoS Quality of service: the delivery rules a publisher or subscriber uses, such as reliable or best effort. A subscriber that asks for more than the publisher offers receives nothing. See QoS and timing.
Callback A function a node registers to run each time a message arrives on a topic, or a timer fires

The car

Term Definition
LiDAR The laser scanner that measures the distance to everything around the car, about 40 times a second
Scan One LiDAR sweep: a list of distances, one per beam
VESC The motor controller board. It drives the motor and the steering servo and reports the motor’s speed.
ERPM Electrical revolutions per minute: the motor speed the VESC reports and is commanded in
Odometry The car’s estimate of how far it has moved, from motor revolutions and the steering command. It drifts.
Ackermann steering Car-style steering, where the front wheels turn and the car cannot move sideways
Bicycle model The car simplified to one front and one rear wheel, a wheelbase apart, used to relate steering to turning
Mux ackermann_mux, which passes on the highest-priority drive command that is still arriving
Deadman A control that works only while held. On the cars, LB on the F710: release it and every mode commands zero speed.
Watchdog A check that stops the car when an input goes stale, such as a pose older than 0.5 s
Latch A stop that stays in force until something deliberate releases it, such as pressing LB again
Teleop Manual driving with the gamepad
Control layer The one launch, on top of bringup, that decides what the car does
Bringup The launch that starts the drivers and the mux. It never moves the car by itself.
IMU Inertial measurement unit: a gyro, which measures rotation, and an accelerometer, which measures acceleration. Each VESC has a built-in IMU, and each car also has a BNO085. A VESC IMU that is turned off in VESC Tool reads all zeros.
Kalman filter An estimator that keeps a best guess and its uncertainty, moves the guess with a model between measurements, and pulls it toward each measurement by an amount set by how much it trusts each. See IMU fusion.
Dead reckoning Working out position by adding up measured movements from a known start. Fast and smooth, but its error grows without limit.
Servo map The straight line that converts a steering angle in radians into a servo command between 0 and 1

Maps and driving

Term Definition
SLAM Simultaneous localization and mapping: building a map while working out where the car is on it
Occupancy grid A map made of cells, each free, occupied or unknown
Pose graph SLAM’s record of poses and the constraints between them, re-optimized when a loop closes
Loop closure Recognizing a place already mapped, which removes the drift accumulated since
Localization Working out where the car is on a map that already exists
Particle filter Localization by tracking thousands of weighted guesses of the pose
Racing line The path the car follows on a mapped course, stored as points
Velocity profile A target speed at each point of the racing line
Curvature How sharply a path bends: one over the radius of the circle that fits it, in m⁻¹
Cross-track error How far the car is to the side of the racing line
Pure pursuit Steering along the arc to a point a set distance ahead on the racing line
Lookahead That distance ahead
Follow the gap Steering toward the most open direction in the current scan, with no map
Disparity A sharp jump between neighbouring LiDAR readings, which marks an obstacle’s edge
Safety bubble The beams around the closest obstacle, set to zero so no gap can pass too close to it
Time to collision The time until the car would reach an obstacle at its current speed
Shadow mode Running a controller so that its commands are recorded but never sent to the motor
Steering law The rule that turns the car’s position relative to the racing line into a steering angle: pure pursuit, Stanley, LQR or MPC. See Choose a steering law.
Heading error The angle between the car’s heading and the racing line’s direction
Feedforward The steering a bend needs on its own, , added before any correction for error
Stanley A steering law that measures the error at the front axle and steers to remove the heading and sideways error together
LQR Linear-quadratic regulator: a steering law whose feedback gains are computed from a model of the error, to minimize a weighted sum of error and steering
Riccati equation The matrix equation whose solution gives LQR’s gains
MPC Model predictive control: a steering law that plans several moves ahead within hard limits, applies the first and plans again
Quadratic program An optimization problem with a quadratic cost and linear limits, the form MPC solves each tick
Delay compensation Predicting where the car will be when a command takes effect, and steering from there
Friction circle The limit on a tyre’s total grip, shared between braking or accelerating and cornering
Minimum curvature line The racing line that bends least while staying inside the track, which allows the highest cornering speeds
ICP Iterative closest point: matching two LiDAR scans by repeatedly pairing nearest points and solving for the motion between them
Frenet frame Coordinates measured along a path and sideways from it, instead of in the map’s and

Checked against car 1 commit 0265263 and car 2 commit b81b291, before the two workspaces merged.