Git Product home page Git Product logo

altanai / ramudroid Goto Github PK

View Code? Open in Web Editor NEW
25.0 11.0 9.0 33.61 MB

Ramudroid, autonomous solar-powered robot to clean roads, realtime object detection and webrtc based streaming

Home Page: https://medium.com/ramudroid

License: MIT License

C 0.56% JavaScript 4.89% CSS 0.03% HTML 1.39% Shell 0.29% Python 2.26% Jupyter Notebook 90.58%
motors robot raspberry-pi streaming garbage-classification garbage-collection computer-vision deep-learning deep-neural-networks deep-reinforcement-learning

ramudroid's Introduction

alt Ramudroid

Project Ramudroid

Project “Ramudroid” is designed to use computer vision and autonomous robots to target litter and clean roadsides for keeping the locality clean. The hardware assembly is designed to drive through roads / lanes / alleys / narrows pathways and lift up small litter objects like plastic cups, wrappers, leaves etc.

It's got wireless connectivity.

There's a camera for real-time image sensing of the environment

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

Ramudroid's Hardware

alt Ramudroid v7.5

List of components

Processing and MicroController

Raspberry Pi 3B+/4 as Central Processing Unit

  • runs webservices to receive remote navigation command
  • runs uv4l streaming server for webrtc
  • opencv remote object identification

Arduino Uno as Microcontroller

  • receives commands from Rpi on serial interface
  • control motors for movement and cleaning

Driving Unit

Pi NoIR Camera V2 Object and obstacle detection , uses Sony IMX219 8-megapixel sensor accessed through the MMAL and V4L APIs,

motor driver L298 Motor Driver

power Lipo batteru 11.1 V or Solar Panel connection 12 V

Cleaning Unit

brushes motor 3 x 5V DC gear motor

relay 5V single channel relay

power Lipo battery 11.1 V or Solar Panel connection 12 V

IR sensor to detect if garbage collection bin/tray is full

infrared radiation can be found between the visible and microwave regions, wavelengths between 0.75 and 1000µm.

Software

Following are the modular components of the project :

1. m2m-communication communication

Communication between the web client , mobile client , cloud server and robot's core unit is primarily on REST API's. Communication techniques used in the project are as follows

For external world

  • Wifi
  • BLE

For inter-components

  • GPIO
  • UART
  • I2C

comminterface

2. Computer Vision, object tracking, realtime video analysis

To effectively limit the usage of power on frontal clenaing brushes, it is crucial to target garbage/litter and active the motors only when suited target is found. Implementing edge image analysis based on opencv filters and classifiers to detect garbage

Ref : https://github.com/altanai/computervision https://github.com/altanai/opencv_extra

3. Live streaming and augmented reality

https://youtu.be/O7b6NlOpLso

4. Robot's core control unit

alt Ramudroid v6.5

Connecting Motors, drivers , sensors , batteries etc and controlling operation

GPIO access library written in C for the BCM2835 used in the Raspberry Pi

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

5. Web Console for Ramudroid

alt Ramudroid webconsole

Contributing guidelines

https://github.com/altanai/Ramudroid/wiki/Contributing-Guidelines

External References and Resources

Hackaday : https://hackaday.io/project/11201-ramudroid

JigsawAcdemy : https://youtu.be/49dtFYhxmjc

Version

Author

@altanai

License MIT

ramudroid's People

Contributors

altanai avatar altanaib avatar dependabot[bot] avatar gitter-badger avatar kakabisht avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ramudroid's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.