Skip to content

altanai/Ramudroid

Repository files navigation

RamuDroid

RamuDroid

RamuDroid is an open-source autonomous outdoor garbage-picking robot that combines robotics, IoT connectivity, and computer vision to detect and collect litter from roadsides and public outdoor spaces.

Project links:

Join the chat at https://gitter.im/altanai/m2mcommunication

What RamuDroid Does

  • Drives through roads, lanes, alleys, and narrow pathways
  • Uses camera-based sensing to detect litter
  • Triggers cleaning operation based on detection
  • Supports remote monitoring and control through web services

Hardware Overview

RamuDroid circuit diagram

Processing and control

  • Raspberry Pi 3B+/4 as central processor
    • Runs web services for remote navigation and control
    • Runs streaming stack (UV4L/WebRTC setups by version)
    • Runs computer vision processing
  • Arduino Uno as microcontroller
    • Receives control commands from Raspberry Pi over serial
    • Controls motors and sensor-level operations

Driving unit

  • Pi NoIR Camera V2 (Sony IMX219 8MP)
  • L298 motor driver
  • 11.1V LiPo battery or 12V solar panel input

Cleaning unit

  • 3 x 5V DC gear motors for brush assembly
  • 5V single-channel relay
  • 11.1V LiPo battery or 12V solar panel input
  • IR sensor to detect collection bin/tray fullness

Software Architecture

Key communication model:

  • External: WiFi, BLE
  • Inter-component: GPIO, UART, I2C
  • Application control: REST APIs

Communication interface

Main modules in this repository

  • gps_navigation/ - GPS and path navigation related notes/code
  • robot_controller_rpi_setup/ - Raspberry Pi setup and control scripts
  • robot_mcu_arduino_uno_setup/ - Motor controller and Arduino-side firmware
  • self_driving_rpi_robot/ - Self-driving model training/inference resources
  • sensors/ - Sensor integrations (including ultrasonic)
  • webrtc_stream_objectdetection/ - WebRTC streaming and object detection stacks
  • webservices_rpi_arduino_comm/ - Service layer for RPi-Arduino communication

Getting Started

1. Clone the repository

git clone https://github.com/altanai/Ramudroid.git
cd Ramudroid

2. Install Python dependencies

pip install -r requirements.txt

3. Explore module-specific setup guides

  • robot_controller_rpi_setup/README.md
  • webrtc_stream_objectdetection/README.md
  • webservices_rpi_arduino_comm/README.md
  • self_driving_rpi_robot/README.md

4. Optional: install wiringPi for low-level GPIO utilities

git clone git://git.drogon.net/wiringPi
cd wiringPi
git pull origin
./build
gpio -v
gpio readall

Version Highlights

External References

Contributing

Author

License

MIT