LGDXRobot2 ROS 2 is available as Docker images for both AMD64 and ARM64 architectures. It provides web interface access for GUI tools such as rqt, RViz2 and ChassisTuner.
To allow access to hardware devices without root permissions, the lgdxrobot2-udev package needs to be installed on the host machine.
The lgdxrobot2-udev package can be installed on Debian 12+ and Ubuntu 22.04+ (LTS only).
curl -L -s -o /tmp/lgdxrobot-apt-source.deb https://packages.lgdxrobot.uk/lgdxrobot-apt-source.deb
sudo dpkg -i /tmp/lgdxrobot-apt-source.deb
sudo apt update
rm -f /tmp/lgdxrobot-apt-source.deb
sudo apt install lgdxrobot2-udev
Download the package from here.
The desktop images include ROS 2 GUI tools and provide a web interface suitable for remote control. After the container is started, the web interface becomes accessible at http://localhost:3000. For external access, the address https://<host-ip>:3001 should be used.
The image may require access to USB devices, so it is necessary to mount the host’s /dev and pass the appropriate cgroup rules. Below are the groups for the corresponding devices. The --device-cgroup-rule options may be removed if they are not required.
| Major Number | Device |
|---|---|
| 81 | Camera (Optional) |
| 189 | Camera (Optional) |
| 188 | LiDAR (ttyUSB) |
| 166 | Controller Board (ttyACM) |
| 13 | Joystick |
docker run -d \
--name lgdxrobot2 \
-e PUID=1000 \
-e PGID=1000 \
-v /dev:/dev \
--device-cgroup-rule='c 188:* rwm' \
--device-cgroup-rule='c 166:* rwm' \
--device-cgroup-rule='c 13:* rwm' \
-p 3000:3000 \
-p 3001:3001 \
lgdxrobot/lgdxrobot2-desktop:latest
docker run -d \
--name lgdxrobot2 \
-e PUID=1000 \
-e PGID=1000 \
-v /dev:/dev \
--device-cgroup-rule='c 188:* rwm' \
--device-cgroup-rule='c 166:* rwm' \
--device-cgroup-rule='c 13:* rwm' \
-p 3000:3000 \
-p 3001:3001 \
lgdxrobot/lgdxrobot2-desktop:jazzy
docker run -d \
--name lgdxrobot2 \
-e PUID=1000 \
-e PGID=1000 \
-p 3000:3000 \
-p 3001:3001 \
lgdxrobot/lgdxrobot2-desktop:latest
The image only supports simulation in Webots.
docker run -d \
--name lgdxrobot2 \
-e PUID=1000 \
-e PGID=1000 \
-p 3000:3000 \
-p 3001:3001 \
lgdxrobot/lgdxrobot2-desktop:jazzy
The full image includes the dependencies required to build LGDXRobot2 packages.
docker run -d \
--name lgdxrobot2 \
-e PUID=1000 \
-e PGID=1000 \
-p 3000:3000 \
-p 3001:3001 \
lgdxrobot/lgdxrobot2-desktop:latest-full
docker run -d \
--name lgdxrobot2 \
-e PUID=1000 \
-e PGID=1000 \
-p 3000:3000 \
-p 3001:3001 \
lgdxrobot/lgdxrobot2-desktop:jazzy-full