160 likes | 432 Views
Stairs Cleaning Robot. Connie Lisu Ahmad Naqeeb Yahya. Problem Statement. Many complaints arise because stairs can take many more hours to dry than do typical carpeted floors.
E N D
Stairs Cleaning Robot Connie Lisu Ahmad NaqeebYahya
Problem Statement • Many complaints arise because stairs can take many more hours to dry than do typical carpeted floors. • It's rare that the stairs receive the same treatment. Weeks, even months, can go by without stairs receiving a proper vacuuming. • Solid load builds up in stairs which can be extreme at times. • Designs for structured obstacles.
Goals and Objectives • Primary Objective • Robot movement: • Sideways, Descent • Not tip over • Secondary Objective • Installing vacuum cleaner components • Roller brushes, suction cup, absorbent bag, filter Kakudou, T. (2011) . Study on Mobile Mechanism for a Stair Cleaning Robot , Design of Translational Locomotion Mechanism . Department of Intelligent Mechanical Systems, Okayama University, Okayama 700-8530, Japan.
Highlights of Technologies and Innovative Ideas • Rover 5 Motor Driver Board ROB-11593 • H-Bridges • Four motor outputs; four encoder inputs • Vex Bumper Switches • SPST switch; 3-wire cable • Signal behavior: Maintains digital HIGH signal • Arduino Uno R3 • Atmega328 microcontroller • 16Mhz clock speed, 14 I/O pins • Scissor Lift • Vex Gear Kit (12-, 36-, 60-, and 84-tooth gears) • Vex Metal and Hardware Kit (bars, shafts, bearings and etc)
System Details I • Rover 5 Motor Driver Board • Four pins are connected to Arduino Uno for motor directions and voltage control (PWM) • 6 x 1.5V NiMH as voltage source • One pin for current measurement
System Details I • unsigned long start;inttime_to_go;void loop (){analogWrite (MOTORA, 200);analogWrite (MOTORB, 200); • analogWrite (MOTORC, 200);analogWrite (MOTORD, 200); start = millis (); // check current drain while (millis () - start < time_to_go) { if (analogRead (0) > 325) // > 1.46 amps break; } switch (phase++ & 3) { case 0: digitalWrite (DIRECTIONA, 1); digitalWrite (DIRECTIONB, 1); time_to_go = TIME_FORWARDS; break; • case 1: digitalWrite (DIRECTIONC, 0); digitalWrite (DIRECTIOND, 0); time_to_go = TIME_BACKWARDS; break; } // end of switchanalogWrite (MOTORA, 0);analogWrite (MOTORB, 0); • analogWrite (MOTORC, 0);analogWrite (MOTORD, 0); delay (500);} // end of loop
System Details II • Arduino Uno + Vex Bumper Switches: • 9V battery • Force on bumper switch changes the switch state • Bump on either switch will reverse the current direction of the motors
System Details II • #include <AFMotor.h>AF_DCMotor motor1(1,MOTOR12_64KHZ);AF_DCMotor motor2(2,MOTOR12_64KHZ);intsleft = 52; //left bumper switchintsright = 53; //right bumper switchintlval; //left switch stateintrval; //right switch statevoid setup(){Serial.begin(9600);Serial.println("Here we go!");pinMode(sleft,INPUT);pinMode(sright,INPUT); motor1.setSpeed(255); motor2.setSpeed(255);digitalWrite(sleft,LOW);digitalWrite(sright,LOW);}void loop(){lval = digitalRead(sleft);rval = digitalRead(sright); while (lval == LOW,rval == LOW) { motor1.run(FORWARD); motor2.run(FORWARD); } • if (lval == LOW,rval == HIGH) { motor1.run(BACKWARD); motor2.run(BACKWARD); delay(1500); motor1.run(BACKWARD); motor2.run(FORWARD); delay(750); } if (lval == HIGH,rval == LOW) { motor1.run(BACKWARD); motor2.run(BACKWARD); delay(1500); motor2.run(BACKWARD); motor1.run(FORWARD); delay(750); } if (lval == HIGH,rval == HIGH) {Serial.print("WTF!!!"); delay(3000); motor1.run(BACKWARD); motor2.run(BACKWARD); delay(1500); motor1.run(BACKWARD); motor2.run(FORWARD); delay(2250); }}
System Details III • Scissor Lift • Metal framework that is able to move like several interconnected pairs of scissors in order to lift a platform. • This method will help the robot to move down the stairs.
System Details III • Kits • Vex Gear Kit • 12-, 36-, 60-, and 84-tooth gears • Vex Metal and Hardware Kit • Steel chassis, plates, bars, and gussets • Collars, shafts, bearings, and standoffs • Spacers, screws, nuts, and washers.
Suggestions For Future Development • Improving the scissor lift design so that the robot senses when the it touches the ground of the lower stairs. • Allowing the robot to detect and stop automatically on flat surfaces. • Improving the vacuum port design especially the roller brush so that it fits the stair treads.