Main workspace for Eurobot 2026 robotics competition with behavior tree management, navigation, and ROS 2 interfaces.
# Clone and setup
git clone https://github.com/DIT-ROBOTICS/Eurobot-2026-Main.git
cd Eurobot-2026-Main
# Add to ~/.bashrc
export USER_UID=$(id -u)
export USER_GID=$(id -g)
# Build and run
cd docker && docker compose build
cd .. && ./main build
./main enter # Enter development containerEurobot-2026-Main/
├── docker/ # Docker configs & scripts
│ ├── Dockerfile # Container image
│ ├── docker-compose.yaml # Services
│ └── scripts/ # Groot, VNC, micro_ros, settings
├── src/ # ROS 2 packages
│ ├── behaviortree_ros2/ # BT executor
│ ├── Interface/ # ROS 2 interfaces
│ └── startup/ # Startup node
└── main # CLI script
| Command | Description |
|---|---|
./main build |
Build workspace with colcon |
./main enter |
Enter development container |
./main groot |
Launch Groot2 (requires X11) |
./main groot-vnc |
Launch Groot2 in VNC |
./main vnc |
Start VNC server & enter container |
./main close |
Stop all containers |
./main vncConnect with VNC viewer to localhost:5902, password: ros
# Enter container
./main enter
# Source workspace
source install/setup.bash
# Build specific packages
colcon build --packages-select <package_name>
# Run nodes
ros2 run <package_name> <node_name>- behaviortree_ros2 - BehaviorTree.CPP integration with ROS 2
- btcpp_ros2_interfaces - BT interfaces (ExecuteTree, FirmwareMission, Navigation)
- startup - System initialization node
- main-build - Build service (host network)
- main-develop - Interactive dev container (host network)
- main-vnc - VNC with XFCE desktop (bridge network, port 5902)
Auto-set by main script or add to ~/.bashrc:
export USER_UID=$(id -u) # Container user ID
export USER_GID=$(id -g) # Container group ID
export ROS_DOMAIN_ID=100 # ROS 2 domain (default: 100)Permission errors:
echo $USER_UID $USER_GID # Should match host UID/GID (usually 1001)
cd docker && docker compose buildVNC fails to start:
./main close
docker compose exec main-vnc bash -c "sudo rm -rf /tmp/.X11-unix/X2 /tmp/.X2-lock"
./main vncROS 2 Humble, Navigation2, BehaviorTree.CPP, Cyclone DDS, Foxglove Bridge, XFCE (VNC), TigerVNC (VNC)
DIT Robotics Team