Glossary
- Bridge
The node that connects the lab domain and the planner domain. It forwards states, map and commands, checks that all components are ready and stops the experiment on errors. See Understanding the Domain IDs.
- Control Center
The user interface of the control flow, as panel in RViz or as
CPM control dashboardin Lichtblick.- Control flow
The node that starts and stops the map server, IPS, simulated vehicles, bridge, motion planner and recorder, and runs the experiment. See Running the Lab.
- CPM_LAB_HOME
Environment variable that moves the user data directory from
~/cpm_labto another location.- Deploy
The step that starts the bridge, the motion planner and the recorder for all vehicles that are online. After deploying, the experiment can be started once every component is ready. See Deploy Checks.
- IPS
- Indoor positioning system
The ceiling camera and its software that measure the pose of every muCar from its LEDs and publish it as vehicle observation. See Understanding the Indoor Positioning System.
- Lab domain
- Realtime domain
ROS_DOMAIN_ID=21, which contains the vehicles, IPS, map server, control flow and user interface. It runs at the fixed 20 ms period of the vehicles.- Lanelet2
The map format used by the CPM Lab. A map consists of lanelets, short lane sections with a left and right boundary. See Lanelet2 Maps.
- Motion planner
- High-level controller
- HLC
The component that computes the vehicle commands from the vehicle states and the map. This is usually the part you write. In the code it is called high-level controller. Internal planners are started by the control flow, external planners by you. See Understanding the Motion Planner.
- muCar
The 1:18 scale vehicle of the CPM Lab. It runs the vehicle controller on a Raspberry Pi and carries LEDs that the indoor positioning system uses to identify it. See muCar.
- Planner domain
- Triggered domain
ROS_DOMAIN_ID=1, which contains the motion planner. It runs at the planner period chosen when deploying.- Planner period
The time between two updates of the vehicle states sent to the motion planner, chosen when deploying. The default is 400 ms.
- ROS domain
A ROS2 network partition selected by
ROS_DOMAIN_ID. Nodes only see nodes in the same domain.- Run
One recorded experiment, stored in its own directory under
~/cpm_lab/experiments. See Recording and Evaluating Experiments.- Spawn point
A linestring in a map with the attribute
spawn_point=<vehicle_id>that defines where a simulated vehicle starts.- System trigger
A message on
/lab/system_triggeror/planner/system_triggerused to coordinate the components, for exampleREADY,STARTandSTOP. See Interface Reference.- Vehicle command
The command a motion planner sends to a vehicle. The command type selects how the vehicle controller follows it, for example a path or a trajectory. See Interface Reference.
- Vehicle controller
- Mid-level controller
- MLC
The controller on each vehicle that turns a vehicle command into motor and steering outputs. It also simulates the vehicle in simulation mode. In the code it is called mid-level controller. See Understanding the Vehicle Controller.
- Vehicle observation
The pose of a vehicle measured by the IPS, or emulated by the simulation.
- Vehicle state
The current estimate of a vehicle’s pose, speed and sensor values, published by the vehicle controller.