Surajdroid ( Ramudroid v7 Solar Powered )

Ramudroid is an ingeniously build robot to clean outdoors and alleys inspired by Bharat Swachhata Abhiyaan . Read more

Prototype in Development

Stages include, assembly of frame and wheels , attaching bin and equalising weight distribution , adding circuits for drivers , relays , micro processors and controllers . Finally attaching power sources – solar panel and a standby battery for the micro controller so that it can communicate remotely without any solar power too.

Frame and wheel
Side view of Robot
solar panel mounted

Algorithm Enhancements

Obstruction Detection

Stop Operation on Tray Weight reaching threshold

Pause operation and take Shelter in Rain

Equipment Cost

Power And Charge Devices

  1. Solar Panel MicroSun MS 12v 60 WP – 2500 INR
  2. Solar charger Controller – 600 INR
  3. Battery 11.1 V 2200 mAh – 500 INR

Frame and Motion Assembly

  1. Wheels 10 cm diameter – 50 INR x 4 ie 200 INR
  2. Tray – 400 INR
  3. Frame Assembly – 1000 INR
  4. Arduino to control Motors Drivers – 500 INR
  5. Motor Driver – 300 INR
  6. LCD display – 200 INR

Electronics , Communicating modules and Sensors

  1. Raspberry Pi Moddel B+/ 4 -2700 INR
  2. GPS module – 700 INR
  3. GSM module – 1400 INR
  4. Camera 5 MP Board Module – 450 INR

Total Cost to Develop – 12000 INR

Working Principle

The robot is divided into 2 parts – Cleaning Unit and driving unit

Driving Unit

consists of 4 wheel to drive the setup . Wheels must be tightly fixed inot position to prevent them from tilting, spreading outwards and imbalancing the load. 2 rear controller by 12 V 1 amp DC motors with 300 RPM and 2 front free wheels. Motors are conneted to Arduino for receving command for start , stop , left or right navigation.

There are three input pins for each motor, including Input1 (IN1), Input2 (IN2), and Enable1 (EN1) for Motor1 and Input3, Input4, and Enable2 for Motor2.
IN1 IN2 MOTOR
0 0 BRAKE
1 0 FORWARD
0 1 BACKWARD
1 1 BRAKE

Cleaning Unit

Uses 3 tough bristled brushes controlled by 3 5V DC gear motors with 60 RPM. The arrangement of the brushes is such that the bottom 2 brushes use clockwise and anticlockwise motion outwards to pull in the litter and push up with the flow of the air and bristles of the brush. The third brush combs the collected into the collector tray. The tray is attached to weight control system to stop operations when critical weight is reached to prevent overloading the robot

Solar specification

Maximum Power (Pmax) – 60 Wp
Voltage at Maximum Power (Vmpp) – 18.1 V
Current at Maximum Power (Impp) – 3.32 A
Open Circuit Voltage (Voc) – 22.32 V
Short Circuit Current (Isc) – 3.63 A
Standard Test Conditions (STC): air mass AM 1.5, irradiance 1000W/m2, cell Temperature 25°C
Maximum System Voltage 1000 V

Electrical Data at NOCT
Temperature – 47±2 °C
Nominal Operating Cell Temperature (NOCT): 800W/m2, AM 1.5, windspeed 1m/s,ambient temperature 20°C

Thermal Ratings
Operating Temperature Range -20~90 °C
Temperature Coefficient of Pmax -0.43 %/°C
Temperature Coefficient of Voc -0.36 %/°C
Temperature Coefficient of Isc 0.66 %/°C

Material Data
Panel Dimension (H/W/D) 705x655x35 mm
Weight 6 kg
Cell Type Polycrystalline
Cell Size 156×156 mm
Cell Number 36
Encapsulant Type – EVA ( Ethylene vinyl acetate)
Frame Type Anodized Aluminium Alloy

Physical
Dimentions – 70mm x 655mm x 35mm
cells per module – 36
cell type – poly crystalline sIlicon
fuel cell dimention – 156mm x 156mm
Encapsulation – EVA
back cover – PV sheet

Ref : https://www.enfsolar.com/pv/panel-datasheet/crystalline/20863

Load

Solar panel weight – 5kg with annodixed alumium frame , 3 kg without the frame with just the toughened texture glass on panel
Frame and wheels – 2kg
Accessories – 1 kg
Garbage holding capacity – 2 kg
Total Weight of the Robot : maximum upto 10Kg

Scenarios

Good Sunlight scenario : This 12 Volt solar panel provide about 2.5 Amps of current on average during daytime. In such a situtaion it is directly used to drive the machine’s motors for wheels and brushes and electrical components such as PI and arduino. In no motion of rest conditions the genrated power is used to charge the attached backup battery.

Shady / evening / morning scenario : When the panel is not receiving direct or strong sunlight, the power generated is less hence not sufficient to take the load of driving the wheels for movement. Hence is the power falls below a certain prespecified threhold, the current is drawn from battery backup.

Night / No sunlight Scenario : battery is used to power the setup. panel can be dismounted to lower the load.

Contributing to Ramudroid Project or Reuse

It is deigned and developed as an MIT licensed Opensourced product by a bunch of developers and engineers in Bangalore for greater good.

https://github.com/Ramudroid/Ramudorid_robot

Automatic Garbage Segregation by Machine Learning

Sharing work in progress on the automatic garbage segregation system. This operates as an independent unit in addition to Ramudorid ( a road cleaning robot).

The system deals with incorporating image and edge detection algorithm over incoming video media to classify and identify items into one of the following categories

  1. Recyclable waste – paper , cardboard , leaves , sticks ..
  2. Non – Recyclable waste – plastic , bottles , wrappers ..
  3. E waste – ICs , computer peripherals , home appliances ..
  4. Dust and Sand
  5. Unidentified / unclassified objects

Components :

  1. High definition camera
  2. God lighting condition
  3. Grid marked conveyor belt
  4. image processing algorithm Open CV
  5. Object identification algorithm – AI
  6. feedback from manually classified unidentified objects – Machine learning

Garbage Segrigation system

Challenges:

  1. Difficulty in identification if the objects are broken beyond identification or molted together with other garbage
  2. Very minute particles such as glitter and thermocol balls cannot be segregated in this fashion

Tools and techniques :

1.Media Streaming on vp8

Using raspi cam and webrtc peer to streaming network over v8 video codec we achieve high frame rate to capture and send images for analysis by the backend analytics engine.

2. Robot arm for lifting  using arduino

-tbd-

robotics-lifting-arm-with-bi-directional-flex-sensors.jpg

flex / EMG sensors

string controlled by servos

change position on flexing or bending

 

3. Apache spark ML

Machine learning algorithms can be broken down into supervised and unsupervised learning . Supervised learning has linear of logistic regression and classification is form of Naive Bayes probabilistic model , support vector machines model ( SVM ) or Random Decision Forest . Whereas unsupervised learning works on dimensionality reduction such as principle components analysis or Single Value Decomposition. Often unsupervised learning is using clustering K means algorithms.

From among the 3 types of ML ( clustering , classifications and collaborative filtering ) , we are using classification approach to  identify every object’s characteristics on conveyer belt   .

As part of the implementation decision tress are created for evaluation using branches and nodes.

Snippets from programs :

step 1 : create environment for Spark , preferably 8GB ram Ubuntu

step 2 : Imports for Scala program

org.apache.spark._
org.apache.spark.rdd.RDD
org.apache.spark.mllib.regression.LabeledPoint
org.apache.spark.mllib.linalg.Vectors
org.apache.spark.mllib.tree.DecisionTree
org.apache.spark.mllib.tree.model.DecisionTreeModel
org.apache.spark.mllib.util.MLUtils

step 3 : Load the data from identified objects into for the  robotic arm to learn its coordinated , pick it up and put it in one of the bins . For this use the collected data to insert into RDD class.

Step 4 : Extract features to build a classifier model -> RDD containing feature array

Step 5 :  RDD containing features array – > RDD containing labelled points

Step 6 : train the model using the DecisionTree.trainClassifier method which returns a DecisionTreeModel

Parameters : MaxDepth , maxBisn , maxImpurity ,

var categoricalFeaturesInfo = MapInt, Int

val model = DecisionTree.trainClassifier(trainingData, numClasses, categoricalFeaturesInfo, impurity, maxDepth, maxBins)

model.toDebugString // prints out the decision tree

Step 7 : Use model.predict to test the data

Predicted value for a node param: predict predicted value param: prob probability of the label (classification only)

Reference : https://spark.apache.org/docs/latest/api/java/index.html

 

 

 

 

RamuDroid

Bot to clean roads and outdoors for a better and cleaner India. It lifts up small objects like plastic cups,wrappers,leaves etc.

ramudroid image.png

The droid also provides real-time camera stream and detects obstruction to re-route itself. It can communicates over GSM ,wifi and BLE . It can also be remote navigated via browsers or android.

Working :

stages of ramudroid

  1. Litter comes between rotating brushes
  2. Litter is picked by brushes and pushed upwards  
  3. Brushes push it towards the tray

Is is inspired by Swach Bharat Abhiyaan in India , its an effort to contribute to society and welfare and well-being through technology . Following are some diagrams for the current and the previous versions , along with major delta points .


RamuDroid v1.0

Remote Streaming and movement via motors switched manually. Communication over Ethernet.

Ramudroidv1.0.jpg

Dashboard /console Screen

RamuDroid v1  console


v3.0

Cleaning garbage on public roads and outdoors through robot . Remote navigation and control of control through web page and camera live streaming .

Ramudroid compoenet diagram v5

v3 web console

Screenshot from 2015-12-03 08:55:27.png


v6

Clean roads , pick up litter ( wrappers, leaves , cups , plastics bits etc ) . communicated over BLE ,Wifi and 3G n/w . Auto buzzer when meet with an obstruction in way . Flash Lights . Enhanced Design .

Ramudroid 6.5 componet diagram

 

Web Dashboard:

Screenshot from 2016-03-19 04-28-53.png

Pin Diagram associated with activities

Pin Pin 0 Pin 1 Pin 2 Pin 3 Pin 4 Pin 5 Pin 6 Pin 7
Front 0 1 0 1 1 1 1 1
Back 1 0 1 0 1 1 1 1
Left 1 0 1 0 1 1 1 1
Right 1 0 1 0 1 1 1 1
Brushes ON 1 0 1 0 1 1 1 1
Brushes OFF 1 0 1 0 1 1 1 1
Lift ON 1 0 1 0 1 1 1 1
Life OFF 1 0 1 0 1 1 1 1

 

Github : https://github.com/altanai/m2mcommunication

Slideshare :

Twitter :https://twitter.com/search?q=%23ramudroid