Central Workstation
This section outlines the setup of the central workstation of the CPM Lab: its software, the NTP server and the
services the muCars need. Use Ubuntu 24.04 with ROS2 Jazzy, see Supported Platforms. The workstation has the
address 192.168.1.249 in the lab network, see Network.
Central Workstation
The CPM Lab requires a central workstation which can be used for central computation but is primarily used for the indoor positioning system and visualization.
The central workstation with the lab router (Ethernet) and the IPS camera (USB 3)
Development Setup
Install the software according to the Building from Source guide, or use the Debian packages (Install from Debian Packages) or the desktop image (Docker Images) if you do not develop on it. Use Zenoh as middleware, see Middleware.
Local NTP Server with chrony (Ubuntu 22.04 and newer)
Ubuntu 26.04 no longer ships the ntp package and the new default time service is chrony. On
Ubuntu 22.04 and 24.04 chrony works the same way. Installing it replaces an existing ntp
installation. The cars are unchanged. They keep synchronizing their clock
from the central workstation.
Make sure chrony is installed and starts at boot:
sudo apt install chrony
sudo systemctl enable chrony
Configure chrony
allow 192.168.1.0/24
If the central workstation has no internet connection, also add the following line. Without it, chrony reports itself as unsynchronized and the cars do not accept its time:
local stratum 10
Restart chrony on the central workstation:
sudo systemctl restart chrony
Firewall Ports
Starting with Ubuntu 24.04 it is required to open several ports on the system for the cars to connect to.
sudo ufw allow http # For the web server hosting the vehicle packages
sudo ufw allow 123/udp # For the ntp server
sudo ufw allow 123/tcp # For the ntp server
sudo ufw allow 7447/udp # For the zenoh router
sudo ufw allow 7447/tcp # For the zenoh router
Services for the muCars
The muCars have no internet access. The central workstation (192.168.1.249) provides everything they need:
Service |
Port |
Set up with |
|---|---|---|
Web server with the controller package |
80 |
|
Zenoh router |
7447 |
|
NTP server |
123 |
chrony, see above; the cars wait for a synchronized clock before they start the controller |
apt proxy and |
3142, 8090 |
|
See muCar for building and deploying the controller and setting up the cars. Open the apt ports in addition to the firewall ports above if you update the cars:
sudo ufw allow 3142/tcp # apt proxy for the cars
sudo ufw allow 8090/tcp # mucar-os package repository
Headless Deployment
The central workstation can run the CPM Lab without a display. Start the control flow together with the Foxglove bridge and host the Lichtblick web visualization on the central workstation, see Visualization with Lichtblick:
source /opt/ros/jazzy/setup.bash
export ROS_DOMAIN_ID=21
ros2 launch cpm_lab cpm_lab_foxglove.launch.xml
Everyone in the lab network can then operate the lab in the browser. The experiment recordings are stored on the
central workstation in ~/cpm_lab/experiments of the user that started the lab, see
Recording and Evaluating Experiments. The firewall must allow the ports of the web visualization and the Foxglove bridge:
sudo ufw allow 8080/tcp # Lichtblick web visualization
sudo ufw allow 8766/tcp # Lichtblick API
sudo ufw allow 8765/tcp # Foxglove bridge