Skip to content

DIT-ROBOTICS/Eurobot-2026-Main

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eurobot 2026 Main

Main workspace for Eurobot 2026 robotics competition with behavior tree management, navigation, and ROS 2 interfaces.

Quick Start

# 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 container

Workspace Structure

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

Main Commands

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

VNC Access

./main vnc

Connect with VNC viewer to localhost:5902, password: ros

Development Workflow

# 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>

ROS 2 Packages

  • behaviortree_ros2 - BehaviorTree.CPP integration with ROS 2
  • btcpp_ros2_interfaces - BT interfaces (ExecuteTree, FirmwareMission, Navigation)
  • startup - System initialization node

Docker Services

  • main-build - Build service (host network)
  • main-develop - Interactive dev container (host network)
  • main-vnc - VNC with XFCE desktop (bridge network, port 5902)

Environment Variables

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)

Troubleshooting

Permission errors:

echo $USER_UID $USER_GID  # Should match host UID/GID (usually 1001)
cd docker && docker compose build

VNC fails to start:

./main close
docker compose exec main-vnc bash -c "sudo rm -rf /tmp/.X11-unix/X2 /tmp/.X2-lock"
./main vnc

Dependencies

ROS 2 Humble, Navigation2, BehaviorTree.CPP, Cyclone DDS, Foxglove Bridge, XFCE (VNC), TigerVNC (VNC)

License & Contact

DIT Robotics Team

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published