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.

Permission Configuration

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).

  1. The package is hosted in a self-hosted repository, install this package to add the repository and the public key.
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
  1. Install the package.
sudo apt install lgdxrobot2-udev 

Download the package from here.

Desktop Docker Image

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

Physical Robot

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

Simulation / Testing

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

Full Image

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