Return to blog

AI For Good - Autonomous Robot

by Neophyte Team
AI For Good - Autonomous Robot

AI For Good - Autonomous Robot

2 min read

Summary

This project involves developing an autonomous robot capable of navigating environments, detecting and collecting coloured blocks, and completing assigned tasks within a specific timeframe. The robot features obstacle avoidance, color sensing, and a gripping mechanism, processing all logic on an ESP32 microcontroller using Micro-ROS.

Technologies Used

  • ESP32 microcontroller
  • Micro-ROS framework
  • ROS 2 Humble
  • Vulcanexus distribution
  • PlatformIO/ESP-IDF
  • Ultrasonic sensor (obstacle detection)
  • Color sensor (RGB detection)
  • Servo motors (x4 for gripper mechanism)
  • Steering servo motor
  • DC motors with speed control
  • GitHub for version control
  • VS Code with PlatformIO extension
  • CH340 drivers

Challenges

Some of the challenges we faced during the project execution are listed below:

  • Integrating multiple sensor inputs (ultrasonic, color) with actuator control
  • Achieving precise gripper movements with four servo coordination
  • Implementing reliable autonomous navigation within tight time constraints (1m 30s-1m 45s)
  • Micro-ROS communication stability between ESP32 and host computer
  • Preventing servo conflicts (e.g., waist turn interfering with microprocessor)
  • Real-time processing limitations of ESP32

Results

At the completion of the project, we achieved the following before final delivery of project

  • Successful development of a robot that can:
  • Autonomously navigate while avoiding obstacles
  • Detect and differentiate between red and green blocks
  • Collect 6 red blocks (worth 8 points each) and place them in the Hospital Consultation Room
  • Collect 4 green blocks (worth 4 points each) and place them on the upper level of the Refuge
  • Complete tasks within the target timeframe (estimated total score: 64 points)
  • Created comprehensive documentation including pinout tables, programming guides, and FAQs
  • Implemented Test-Driven Development (TDD) approach for reliability

Lessons Learned

  • Importance of servo calibration to prevent hardware damage
  • Benefits of Micro-ROS for embedded robotics development
  • Need for careful timing in sequential operations (using delay())
  • Value of comprehensive pre-planning for sensor/actuator integration
  • Effectiveness of modular function design for complex robotic behaviors
  • Importance of continuous integration testing for firmware stability

Media Assets