RoBorregos/home2

ROS 2 implementation for RoboCup @Home OPL | RoBorregos. API docs: https://roborregos.github.io/home2/

C++

27

947 commits

updated Sep 23, 2026

See the code

README

RoBorregos @Home

ROS Build Pre-commit

ROS 2 repository by RoBorregos, the Robotics Representative Team of Tecnologico de Monterrey. This project focuses on developing a modular software architecture for FRIDA (Friendly Robotics Interactive Domestic Assistant), an autonomous service robot competing in the RoboCup @Home league. The system enables robots to perform everyday domestic tasks through integrated vision, navigation, manipulation, and human-robot interaction modules.

Table of Contents

Getting Started

Prerequisites

Installation

git clone https://github.com/RoBorregos/home2.git --recursive
cd home2

# If you already cloned without --recursive
git submodule update --init --recursive

Usage

The run.sh script automatically detects your environment (CPU, CUDA, or L4T) and manages the Docker containers.

# Show available commands and options
./run.sh --help

# Run a specific area
./run.sh vision
./run.sh hri
./run.sh navigation
./run.sh manipulation
./run.sh integration

# Run a competition task
./run.sh --gpsr
./run.sh --restaurant

Available Areas

AreaDescription
visionSpins up the containers for the vision area
manipulationSpins up the containers for manipulation
navigationSpins up the containers for navigation
hriSpins up the containers for human-robot interaction
integrationSpins up the complete integration environment
frida_interfacesBuilds and configures FRIDA's custom interfaces/messages

Competition Tasks

FlagDescription
--hricRuns the Human-Robot Interaction challenge
--ppcRuns the Pick and Place challenge
--gpsrRuns the General Purpose Service Robot challenge
--dlcRuns the Doing Laundry Challenge
--restaurantRuns the Restaurant challenge
--finalsRuns the finals stage routine

Control Commands

FlagDescription
--stopStops the running containers without removing them
--downStops and removes all containers, networks, and volumes

Additional Flags

FlagDescription
--buildBuilds the ROS 2 packages inside the container
--build-imageBuilds the Docker image for the specified area or task
--recreateForces the recreation of containers

Cyclone DDS Setup

To enable communication between multiple computers (e.g., robot and development machine), set up Cyclone DDS on each host computer.

Bare Metal (Orin, direct install)

sudo bash scripts/setup_cyclonedds.sh <INTERFACE>
source ~/.bashrc

Docker Setup (PC)

Run the host-only setup once to apply kernel buffer settings:

sudo bash scripts/setup_cyclonedds.sh --host-only <INTERFACE>

Then run your area normally — run.sh reads the configuration automatically:

./run.sh navigation

Replace <INTERFACE> with your network interface (e.g., eno1, wlp2s0). Find it with:

ip -br link show

Revert to FastDDS

sudo bash scripts/setup_cyclonedds.sh --revert
source ~/.bashrc

For detailed configuration options, see the CycloneDDS setup docs.

AI Agent Setup

To set up personalized instructions for your AI development agent (Claude, Gemini, or Copilot), run the setup script:

./scripts/setup-agent.sh [agent_type]

Available agent_type options: claude, gemini, copilot, custom. If no argument is provided, the script will prompt you for a choice.

Documentation

Ask DeepWiki

Video Demonstrations

Explanatory video demonstration of task planning test using the command interpreter with the robot

Video demonstration of the GPSR task during the Mexican Robotics Tournament 2025

Video demonstration

Team Members

NameGitHubRole
Oscar Arreola@Oscar-ggHRI, Integration
Gerardo Fregoso@GerardoFJNavigation, Integration
Alejandra Coeto@Ale-CoetoVision, Integration
Danae Sanchez@DanaeSGVision, Navigation, Integration
Alejandro Gonzalez@AleGonzcamillaMechanics, Manipulation
Emil Winkler@emilwinkpManipulation
Fernando Hernandez@Fernando94654Vision, Manipulation
Camila Tite@CamilaTite26HRI
Daniela Herrera@DanHeGaVision
Gilberto Malagamba@GilMM27HRI, Integration
Jose Dominguez@JLDominguezMManipulation, Integration

Past Contributors

NameGitHubRole
Adan Flores-Ramirez@afr2903Research
David Vazquez@deivideichManipulation
Emiliano Flores@EmilianoHFloresManipulation, Vision, Integration
Ivan Romero@IvanRomero03Integration, HRI, Manipulation, Vision
Diego Hernandez@Diego-HCIntegration, HRI, Navigation

Contributors

(top 30 of 36)

GerardoFJ

147 commits

Oscar-gg

128 commits

GilMM27

114 commits

Ale-Coeto

87 commits

RoBorregos/home2

ROS 2 implementation for RoboCup @Home OPL | RoBorregos. API docs: https://roborregos.github.io/home2/

C++

27

947 commits

updated Sep 23, 2026

See the code

README

RoBorregos @Home

ROS Build Pre-commit

ROS 2 repository by RoBorregos, the Robotics Representative Team of Tecnologico de Monterrey. This project focuses on developing a modular software architecture for FRIDA (Friendly Robotics Interactive Domestic Assistant), an autonomous service robot competing in the RoboCup @Home league. The system enables robots to perform everyday domestic tasks through integrated vision, navigation, manipulation, and human-robot interaction modules.

Table of Contents

Getting Started

Prerequisites

Installation

git clone https://github.com/RoBorregos/home2.git --recursive
cd home2

# If you already cloned without --recursive
git submodule update --init --recursive

Usage

The run.sh script automatically detects your environment (CPU, CUDA, or L4T) and manages the Docker containers.

# Show available commands and options
./run.sh --help

# Run a specific area
./run.sh vision
./run.sh hri
./run.sh navigation
./run.sh manipulation
./run.sh integration

# Run a competition task
./run.sh --gpsr
./run.sh --restaurant

Available Areas

AreaDescription
visionSpins up the containers for the vision area
manipulationSpins up the containers for manipulation
navigationSpins up the containers for navigation
hriSpins up the containers for human-robot interaction
integrationSpins up the complete integration environment
frida_interfacesBuilds and configures FRIDA's custom interfaces/messages

Competition Tasks

FlagDescription
--hricRuns the Human-Robot Interaction challenge
--ppcRuns the Pick and Place challenge
--gpsrRuns the General Purpose Service Robot challenge
--dlcRuns the Doing Laundry Challenge
--restaurantRuns the Restaurant challenge
--finalsRuns the finals stage routine

Control Commands

FlagDescription
--stopStops the running containers without removing them
--downStops and removes all containers, networks, and volumes

Additional Flags

FlagDescription
--buildBuilds the ROS 2 packages inside the container
--build-imageBuilds the Docker image for the specified area or task
--recreateForces the recreation of containers

Cyclone DDS Setup

To enable communication between multiple computers (e.g., robot and development machine), set up Cyclone DDS on each host computer.

Bare Metal (Orin, direct install)

sudo bash scripts/setup_cyclonedds.sh <INTERFACE>
source ~/.bashrc

Docker Setup (PC)

Run the host-only setup once to apply kernel buffer settings:

sudo bash scripts/setup_cyclonedds.sh --host-only <INTERFACE>

Then run your area normally — run.sh reads the configuration automatically:

./run.sh navigation

Replace <INTERFACE> with your network interface (e.g., eno1, wlp2s0). Find it with:

ip -br link show

Revert to FastDDS

sudo bash scripts/setup_cyclonedds.sh --revert
source ~/.bashrc

For detailed configuration options, see the CycloneDDS setup docs.

AI Agent Setup

To set up personalized instructions for your AI development agent (Claude, Gemini, or Copilot), run the setup script:

./scripts/setup-agent.sh [agent_type]

Available agent_type options: claude, gemini, copilot, custom. If no argument is provided, the script will prompt you for a choice.

Documentation

Ask DeepWiki

Video Demonstrations

Explanatory video demonstration of task planning test using the command interpreter with the robot

Video demonstration of the GPSR task during the Mexican Robotics Tournament 2025

Video demonstration

Team Members

NameGitHubRole
Oscar Arreola@Oscar-ggHRI, Integration
Gerardo Fregoso@GerardoFJNavigation, Integration
Alejandra Coeto@Ale-CoetoVision, Integration
Danae Sanchez@DanaeSGVision, Navigation, Integration
Alejandro Gonzalez@AleGonzcamillaMechanics, Manipulation
Emil Winkler@emilwinkpManipulation
Fernando Hernandez@Fernando94654Vision, Manipulation
Camila Tite@CamilaTite26HRI
Daniela Herrera@DanHeGaVision
Gilberto Malagamba@GilMM27HRI, Integration
Jose Dominguez@JLDominguezMManipulation, Integration

Past Contributors

NameGitHubRole
Adan Flores-Ramirez@afr2903Research
David Vazquez@deivideichManipulation
Emiliano Flores@EmilianoHFloresManipulation, Vision, Integration
Ivan Romero@IvanRomero03Integration, HRI, Manipulation, Vision
Diego Hernandez@Diego-HCIntegration, HRI, Navigation

Contributors

(top 30 of 36)

GerardoFJ

147 commits

Oscar-gg

128 commits

GilMM27

114 commits

Ale-Coeto

87 commits

Languages

C++

49.7%

Python

45.3%

Shell

2.1%