Presentation is loading. Please wait.

Presentation is loading. Please wait.

SOUTHEASTCON 2016 HARDWARE COMPETITION

Similar presentations


Presentation on theme: "SOUTHEASTCON 2016 HARDWARE COMPETITION"— Presentation transcript:

1 SOUTHEASTCON 2016 HARDWARE COMPETITION
Michael Miranda Roberto Miguel Sanchez Joseph Mousa

2 HAMPTON ROADS SHIPPING CONTAINER TERMINAL CHALLENGE
A roadstead or road is a body of water sheltered form water related hazards where ships can anchor without dragging Here ships wait their turn to enter port OBJECTIVE Build a fully automated robot that: Picks up goods (containers) from a barge Identifies goods Drops them off to correct shipping zones Do these tasks in under 5 minutes

3 MAP:

4 MAP A:

5 MAP B:

6 OBSTACLES: Boat Shipping zone Rail Shipping zone Truck Shipping zone
Start area Tunnel Barge Containers Qr Codes

7 BARGE 3 zones A (all blue 5” containers) 7” off of ground
B ( mixed blocks of 5” and 2.5” containers) 10” off Ground C ( mixed blocks of 5” containers) 5” off Ground

8 CONTAINERS Zone A: Go to boat shipping zone
1.5”x1.5”x5” 8 stacks of 2 all blue blocks Zone B: Go to rail shipping 8 stacks of 2 12 1.5”x1.5”x 5” multi colored 8 1.5”x1.5”x2.5 multi colored Zone C: Blue blocks go to boat shipping zone others go to truck shipping 8 Stacks of 2 1.5”x1.5”x5” multi colored blocks All blocks except blue in zone A have QR codes All blocks spaced 1” apart

9 BOAT SHIPPING ZONE 24” by 36”

10 RAIL SHIPPING ZONE Each car is 10.75”L x 7.75”W x 5”H .5” thick walls
Spaced 1” apart Have QR codes

11 TRUCK SHIPPING ZONE

12 START AREA & TUNNEL Start Area – 20”x 30” has start led signals
Same height as tunnel Tunnel 17” by 17” has 1/2” drop Robot can expand after tunnel

13 QR CODES 4 QR codes – one for each color Yellow Red Green Blue

14 Total Number of shipping containers on barge at start of competition
SCORING Shipping Container (starting location and description) Destination (location of block at end of game) Total Number of shipping containers on barge at start of competition Boat Truck Rail Red Green Blue Rail Yellow Zone A 5” Blue Block (no QR) 3 -1 16 Zone B 2.5” Red Block -2 10 2 2.5” Green Block 2.5” Blue Block 2.5” Yellow Block 5” Red Block 15 5” Green Block 5” Blue Block 5” Yellow Block Zone C 5 4 Additional Scoring* Robot moves 25 points Robot drives through tunnel Robot successfully moves any shipping container 10 points

15 OUR SOLUTION A fully automated robot Needs: Start
IR line follower - recognizing zones Switch for programming between both maps Mobility Navigation Adjustable height QR scanner Color sensors to differentiate between half blocks Pick up drop off mechanism

16 OUR SOLUTION A fully automated robot Requirements:
Must leave start area after button press/ switch Must pick up blocks Must read blocks Must drop off blocks Constraints Initial robot size is 12” x 12” x 12” can expand to 20”x 20” x 20” Pins available 5 minute time limit Accessibility to different drop off zones

17 OUR SOLUTION’S STRATEGIC IMPLEMENTATION

18 HARDWARE

19 MECHANICAL DESIGN Front View Side View Angled View

20 MAJOR PARTS OF ROBOT WITH PRICES
Quantity Price CIM motors 6 28 Other motors 3 14 Encoders 10 15 Motor Controllers 5 Arudino Mega 1 46 Rasberry pi 30 Arduino uno 25 IR SHARP SENSORS Rack and pinion gear for arm movement 2 2 screws for scissor lift Bars for scissor lift 8 Dowels 24 Screw for pushing wall Mount/ boat for moving wall Top/bottom chassis 2 20 Conveyor belt 1 30 Color sensors 8 Qr reader 24 Sprockets Circuitry FREE Gear chains IR LINE FOLLOWER 10 Batteries Battery charger Mecanum wheels 4 Free Total= 1092

21 WEIGHT OF ROBOT Robot qty lbs weight total motors base 4 2.8 11.2
wheels 1 motors others 6 0.5 3 battery 12.5 conveyor belt sensors base motor controllers 5 qr reader color sensors 2 0.25 scissor lift base micro controllers Total= 40.45 torque required 2.25 kgcm req

22 HOW WE WANT THE BASE TO BE

23 MECANUM WHEELS

24 MOTORS FOR WHEELS - CALCULATIONS

25 MOTORS FOR WHEELS - CALCULATIONS

26 MOTOR SPECS Physical Specs:Size: 2.5 inch diameter, 4.34 inch long body Output Shaft size: / , with 2mm keyway Weight: 2.82 pounds Mounting Holes: #10-32 tapped holes (2), on a 2" bolt circle Wire Gauge: 14 AWG Performance Specs:Voltage: 12 volt DC No load RPM: 5,310 (+/- 10%) Free Current: 2.7 amps Maximum Power: 337 Watts (at 2655 rpm, 172 oz-in, and 68 amps) Stall Torque: 2.42 N-m, or oz-in Stall Current: 133 amps

27 POWER -12 V 9 AH BATTERY CIM motor - Base motors + scissor lift motors: 16.2 amp hour CCL motor- other motors: 5.4 amp hour Total: 21.6 amp hour Battery: 9 V 12 amp hour battery Each round is 5 mins. Battery will last around 30mins 2 batteries and 1 charger (12 V 4 amp hour)

28 SCISSOR LIFTS Bot is 2 inches off ground.
Need bot to raise 11 inches to reach 13 inches. The calculated length for 2 stacks of scissors 7.77 inches. To keep stability we chose this length so the scissors do not extend pass 45 degrees.

29 SENSORS 2 COLOR SENSORS 1 QR SENSORS 2 LONG SHARP RANGE IR SENSORS
Used to differentiate blocks on conveyor belt. 1 QR SENSORS Used to distinguish railroad carts. 2 LONG SHARP RANGE IR SENSORS Used in navigation for orientation of robot. 4 SHORT SHARP RANGE IR SENSORS Used to detect walls and object.

30 TOP HALF OF ROBOT - DESIGN
Angled View Front View

31 SOFTWARE

32 CONTROL UNITS Bottom Arduino mega 2560 Top Raspberry Pi 2 Arduino Uno

33 BOTTOM COMMUNICATION

34 TOP COMMUNICATION

35 NAVIGATION Use dead reckoning Adjust at known places
Calculating current position based on previous position and distance traveled Adjust at known places Use sensors to center at known spots Update current position with known position

36 BOTTOM PROGRAMMING //initialize all components
//Function and class declarations Class Point { Public: Double x; Double y; Point (double a=0, double b=0):x{a},y(b){} }; Enum Movements (forward,backwards,left,right); Enum Direction (NORTH, EAST, SOUTH, WEST); directions& operator++(directions& d) { directions original = d; d= static_cast<directions>((d+ 1)%4); return original; } directions& operator--(directions& d) d= static_cast<directions>((4 + d -1)%4);

37 BOTTOM PROGRAMMING Void lift (int height); Void navigate(Point p);
Void turn90Right(); Void turn90Left(); Void turn180(); Void ReadRails(); Move(movements m); Point ZoneA, ZoneB, ZoneC, Rail1,Rail2,Rail3,Rail4, Truck,Boat; Point * Red, Green, Blue, Yellow; Grid[x][y] //grid to represent map 1 represent obstacles {1, 1,1,1,1,1 1, 0,0,0,0,1 ……} Int height; Point position; Direction direction;

38 BOTTOM PROGRAMMING Int main(){ While(led is not on){ Check for led}
Navigate (zoneA); Adjust(zoneA); Lift(7); SignalTop(pickUpBlocks); While(notDoneZoneA) { if(TopSignaledToMove) Point newPoint = GetPointFromTop Navigate(newPoint); Adjust(newPoint); SignalTop(Ready); } if(TopSignaledToLift) Lift(newHeight);

39 BOTTOM PROGRAMMING Navigate (zoneB); Adjust(zoneB); Lift(10);
SignalTop(pickUpBlocks); While(notDonePickingUp); Navigate(Rail1); Adjust(Rail1); ReadRails(); SignalTop(Ready); While(notDoneZoneB) { if(TopSignaledToMove) Point newPoint = getColorFromTop; Navigate(newPoint); Adjust(newPoint); } if(TopSignaledToLift) Lift(newHeight);

40 BOTTOM PROGRAMMING Navigate (zoneC); Adjust(zoneC); Lift(10);
SignalTop(pickUpBlocks); SignalTop(Ready); While(notDoneZoneC) { if(TopSignaledToMove) Point newPoint = getColorFromTop; Navigate(newPoint); Adjust(newPoint); } if(TopSignaledToLift) Lift(newHeight);

41 BOTTOM PROGRAMMING Void turn90Right() {
//use wheels and IR sensors to turn direction++; } Void turn90Left() direction--; Void turn180() turn90Right();

42 BOTTOM PROGRAMMING Void turn90Right() {
//use wheels and IR sensors to turn direction++; } Void turn90Left() direction--; Void turn180() turn90Right();

43 BOTTOM PROGRAMMING Void navigate(Point p) { movements m;
While( abs(p.x – destination.x) > tolerance && abs(p.y – destination.y) || tolerance) { while(abs(p.x – destination.x) > tolerance ) { If(destination.x > p.x) {m = //Move West left/right/forward/back based on current facing direction //check grid to see if can keep moving in this direction, if not break loop Move(m); destination.x -= distance traveled; } else {m = //Move East left/right/forward/back based on current facing direction destination.x += distance traveled; } //end x coordinate loop and send StopSignal to arduino uno

44 BOTTOM PROGRAMMING //Void navigate(Point p) continued
while(abs(p.y – destination.y) > tolerance ) { If(destination.y > p.y) {m = //Move North left/right/forward/back based on current facing direction //check grid to see if can keep moving in this direction, if not break loop Move(m); destination.y -= distance traveled; } else {m = //Move South left/right/forward/back based on current facing direction destination.y += distance traveled; }//end y coordinate loop and send StopSignal to arduino uno }// end navigate

45 BOTTOM PROGRAMMING Void move(movements m) {
//send signal to arduino uno based on the movement //arduino uno spins motors until stop signal is sent }

46 LEARNING COMPONENTS

47 POSSIBLE PROBLEMS As top moves away and closer to bottom the wires between the two sections might get pinched or pulled apart Delay of parts Breaking of parts Not enough pins BUDGET

48 BY NEXT PRESENTATION Top of robot cad design
Finalized parts to purchase/begin purchasing call companies for more funding Revise based on comments today.

49 QUESTIONS?


Download ppt "SOUTHEASTCON 2016 HARDWARE COMPETITION"

Similar presentations


Ads by Google