Getting Started¶
Prerequisites¶
- Docker and Docker Compose v2+
- Git with submodule support
- Ubuntu 22.04 or later (recommended)
- For camera: Lucid Vision Triton camera with GigE Ethernet
- For LiDAR: Ouster OS-series sensor on Ethernet
- For vehicle: CAN interface (
can0) wired to the StreetDrone Twizy XCU
1 — Clone the repository¶
git clone https://github.com/AIR-UFG/air_twizy_hardware.git
cd air_twizy_hardware
git submodule update --init --recursive
ArenaSDK (camera only)
The Lucid camera submodule requires the ArenaSDK and arena_api files to be placed manually before building:
ArenaSDK_Linux_x64.tar.gz→workspace/camera-lucid/resources/ArenaSDK/linux64/arena_api-*.whl→workspace/camera-lucid/resources/arena_api/
Download both from the Lucid downloads hub.
2 — Configure environment variables¶
Edit .env with your machine-specific values. At minimum:
| Variable | Description | Example |
|---|---|---|
CAMERA_SERIAL |
Lucid camera serial number | 12345678 |
ROS_DOMAIN_ID |
Shared ROS2 domain (must match all machines) | 0 |
TWIZY_CAN_PORT |
Host CAN interface name | can0 |
See Configuration for the full variable reference.
3 — Build Docker images¶
# Build all three services
docker compose build
# Or build individually
docker compose build camera
docker compose build lidar
docker compose build carro
4 — Hardware setup¶
Connect the Ouster sensor to the host via Ethernet. The sensor auto-assigns
a link-local IP by default. Use avahi-resolve -n <hostname>.local or check
your DHCP server to find its IP before launching.
5 — Start the services¶
# Start everything
docker compose up -d
# Or start a specific service
docker compose up -d camera
docker compose up -d lidar
docker compose up -d carro