{"id":20251610,"url":"https://github.com/rodrigobarbaedu/color-ball-robot-tracker","last_synced_at":"2026-02-12T08:05:02.283Z","repository":{"id":262416644,"uuid":"887161697","full_name":"rodrigobarbaedu/color-ball-robot-tracker","owner":"rodrigobarbaedu","description":"Este proyecto implementa un robot autónomo utilizando Raspberry Pi, Elegoo Smart Robot Car V4, Python y OpenCV para evitar obstáculos, reconocer y seguir pelotas de colores.","archived":false,"fork":false,"pushed_at":"2024-11-28T19:19:07.000Z","size":38512,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T09:52:04.761Z","etag":null,"topics":["arduino","arduino-uno","c","cpp","elegoo-robot-car","esp32s3-camera-tft","opencv","python","raspberry-pi"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rodrigobarbaedu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-12T09:19:45.000Z","updated_at":"2025-01-12T06:57:10.000Z","dependencies_parsed_at":"2025-03-03T16:51:03.220Z","dependency_job_id":null,"html_url":"https://github.com/rodrigobarbaedu/color-ball-robot-tracker","commit_stats":null,"previous_names":["rodrigobarbaedu/color-ball-robot-tracker"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/rodrigobarbaedu/color-ball-robot-tracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rodrigobarbaedu%2Fcolor-ball-robot-tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rodrigobarbaedu%2Fcolor-ball-robot-tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rodrigobarbaedu%2Fcolor-ball-robot-tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rodrigobarbaedu%2Fcolor-ball-robot-tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rodrigobarbaedu","download_url":"https://codeload.github.com/rodrigobarbaedu/color-ball-robot-tracker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rodrigobarbaedu%2Fcolor-ball-robot-tracker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29361811,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T01:03:07.613Z","status":"online","status_checked_at":"2026-02-12T02:00:06.911Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","arduino-uno","c","cpp","elegoo-robot-car","esp32s3-camera-tft","opencv","python","raspberry-pi"],"created_at":"2024-11-14T10:11:15.958Z","updated_at":"2026-02-12T08:05:02.265Z","avatar_url":"https://github.com/rodrigobarbaedu.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🤖 Robot Autónomo con Reconocimiento de Obstáculos y Reconocimiento de Pelotas de Colores\n\nEste proyecto tiene como objetivo desarrollar un **robot autónomo** utilizando una **Raspberry Pi** junto con el kit de **Elegoo Smart Robot Car V4.0**. El robot es capaz de detectar pelotas de colores en su entorno utilizando **visión por computadora** y seguirlas de manera autónoma, evitando obstáculos en su camino. El sistema utiliza una cámara del Smart Robot Car para capturar imágenes en tiempo real y procesarlas con **OpenCV** para identificar las pelotas de colores. Una vez detectadas, el robot calcula la distancia y el ángulo hacia la pelota y ajusta su trayectoria para seguirla. Además, el robot es capaz de detectar obstáculos cercanos y detenerse para evitar colisiones. El proyecto combina conceptos de robótica móvil, visión por computadora y control autónomo para crear un robot inteligente y autónomo.\n\n---\n\n## Características principales:\n\n- **Visión por Computadora:** Utiliza **OpenCV** para capturar imágenes de la cámara y procesarlas en tiempo real para identificar bolitas de colores específicos.\n- **Autonomía en Movimiento:** El robot se mueve hacia la bolita de color detectada, adaptando su trayectoria para alcanzarla utilizando cálculos de distancia y ángulo basados en los datos obtenidos de la cámara.\n- **Control del Robot:** El movimiento y la orientación del robot son controlados a través de comandos enviados a la placa base del Elegoo Smart Robot Car V4.0, con un control preciso de la velocidad y el ángulo de giro.\n- **Hardware:** Utiliza una **Raspberry Pi** como cerebro del sistema, donde el Smart Robot toma fotogramas de la cámara, las envia a la Raspberry Pi para el procesamiento y toma decisiones de movimiento, estas decisiones son enviadas al Smart Robot para procesar el movimiento.\n- **Detección de Obstáculos:** El robot es capaz de detectar obstáculos cercanos utilizando un sensor de ultrasonido y detenerse para evitar colisiones, reanudando su movimiento una vez que el obstáculo ha sido superado.\n\n---\n\n## Componentes utilizados:\n\n- **Raspberry Pi:** Placa de desarrollo que actúa como el controlador principal del robot, ejecutando los scripts en Python y gestionando las operaciones de visión por computadora.\n\n- **Elegoo Smart Robot Car V4.0:** Kit de robot con motores de Elegoo, ruedas y sensores de proximidad, utilizado para el movimiento y la navegación del robot.\n- **Python \u0026 OpenCV:** Lenguaje de programación y biblioteca de visión por computadora para procesar las imágenes, detectar pelotas de colores y calcular la posición relativa del robot con respecto a la bolita, además de controlar el movimiento del robot.\n- **Cámara:** Cámara ESP32-S3 para capturar imágenes en tiempo real y procesarlas para la detección de bolitas de colores.\n\n---\n\n## Funcionalidades del robot:\n\n1. **Detección de Pelotas de Colores:** El robot es capaz de detectar pelotas de colores específicos en su entorno utilizando visión por computadora y OpenCV.\n2. **Seguimiento de Pelotas:** Una vez que se detecta una pelota de color, el robot calcula la distancia y el ángulo hacia la pelota y ajusta su trayectoria para seguirla.\n3. **Evitación de Obstáculos:** El robot es capaz de detectar obstáculos cercanos utilizando un sensor de ultrasonido y detenerse para evitar colisiones.\n4. **Control de Movimiento:** El robot puede moverse hacia adelante, hacia atrás, girar a la izquierda y girar a la derecha, controlando la velocidad y el ángulo de giro.\n\n---\n\n## Objetivos de aprendizaje:\n\n- **Robótica Móvil:** Aprender los conceptos básicos de la robótica móvil y cómo construir un robot autónomo utilizando una Raspberry Pi y un kit de robot.\n- **Visión por Computadora:** Entender cómo utilizar OpenCV para procesar imágenes en tiempo real y detectar objetos de interés en un entorno.\n- **Control Autónomo:** Implementar un sistema de control autónomo que permita al robot tomar decisiones de movimiento basadas en la información capturada por la cámara y los sensores.\n\n---\n\n## Requisitos previos:\n\n- **Hardware:**\n  - Raspberry Pi (Modelo 3B+ o superior recomendado).\n  - Elegoo Smart Robot Car V4.0.\n\n- **Software:**\n  - Python 3.x. (Se recomienda la versión 3.7 o superior).\n  - OpenCV.\n  - Bibliotecas necesarias para la Raspberry Pi y el Elegoo Smart Robot Car.\n  - Sistema operativo Raspbian instalado en la Raspberry Pi.\n  - IDE o editor de código para programar en Python (por ejemplo, Thonny, VS Code, etc.).\n  - Docker para creación de contenedores.\n\n---\n\n## Instalación:\n\n1. Clona este repositorio:\n  ```bash\n   git clone https://github.com/rodrigobarbaedu/color-ball-robot-tracker.git\n  cd color-ball-robot-tracker/Application/docker\n  ```\n\n2. (Requerimiento: Docker) Construye la imagen del contenedor:\n  ```bash\n   docker build --no-cache -t app-1 app-2\n  ```\n\n3. Ejecuta los contenedores:\n  ```bash\n  docker-compose up -d app-1 app-2\n  ```\n\n4. Accede a la dirección IP de la Raspberry Pi en un navegador web:\n  ```bash\n  http://\u003cIP_Raspberry_Pi\u003e:5050\n  ```\n\n5. ¡Listo! Ahora puedes ver la interfaz web del robot.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frodrigobarbaedu%2Fcolor-ball-robot-tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frodrigobarbaedu%2Fcolor-ball-robot-tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frodrigobarbaedu%2Fcolor-ball-robot-tracker/lists"}