| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
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 container1. Prepare external systems
Make sure your localization, navigation, vision, and mission systems are ready and running before testing.
2. Enter the container
./main enter3. Run the test script
bash test_launch.shThis launches a tmux session with 4 panes:
| Pane | Command |
|---|---|
| Left | ros2 launch bt_core bt_engine_launch.py |
| Right-Top | ros2 launch startup startup_launch.py |
| Right-Middle | python3 mock_groups_test.py (interactive tester) |
| Right-Bottom | micro_ros_agent serial -b 115200 -D /dev/mission |
Tmux controls:
| Key | Action |
|---|---|
| Mouse click | Switch between panes (mouse mode is enabled) |
| Ctrl+B then arrow keys | Switch between panes |
| Ctrl+B then D | Detach from session (triggers auto-reset prompt) |
After detaching, you will be prompted to press Enter to restart all nodes, press c to colcon build then restart, or press q to quit.
Eurobot-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>The robot decides which target (collection point or pantry) to go to next using a two-tiered priority system:
The robot primarily attempts to follow a predefined point sequence loaded from a JSON file (e.g., params/mission_sequence.json).
If the predefined sequence is exhausted or not provided, the robot switches to an autonomous scoring fallback system. This system evaluates all viable points and selects the one with the highest "Spectral Score".
The configuration for this scoring is defined in src/startup/params/robot_config_*.yaml and can be adjusted independently for pantry and collection:
Note: In addition to these configurable parameters, distance to the robot is also automatically factored in as a linear penalty, favoring closer points over farther ones.
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
| Back | FazBrowse Home | New Git URL |