150 likes | 253 Views
Week 4. Team ECHO “Megatron”. Main(). Megatron orient itself facing east, activation of all systems Start sweep: Wall following using proximity sensor, light sensors on the lookout for unloading area (cst. period of dark floor on both sensors) & helping with path correction
E N D
Week 4 Team ECHO “Megatron”
Main() Megatron orient itself facing east, activation of all systems • Start sweep: • Wall following using proximity sensor, light sensors on the lookout for unloading area (cst. period of dark floor on both sensors) & helping with path correction • Question: Can we have a color sample of stacking area for sensor calibrating?
Search pattern • Picking up boxes and avoiding obstacles while searching. • Robot width:10” • Search distance:2’3”
Search pattern • Advantages: • dead simple • easy to implement • independent of unknown variables (grid size & stacking location)
Stacking area • When we get there, disable orientation correction & wall following (in_stacking_area=true). mark the start of stacking area and (if box count= 3), drop stack. After dropping stack, back up, avoid it & mark location • Also mark location of far edge of unloading zone.
subsequent stacking • Consistent approach: slow, but failsafe and easy to implement • Lookout for stack location from US and odometer from edge of stacking area (which ever one comes first to avoid crashing in a stack) • LUS used to correct distance from wall • No turning in stacking area!!
subsequent stacking • Advantages: • dead simple • easy to implement • independent of unknown variables (grid size & stacking location) • Allows for good protection of stacks from dumb robot • Dowside: Might be a bit slow (sacrificing speed for security)
Resume Search • If we had reached 3 boxes before reaching area • record location of where 3rd box was picked up • go back • resume search from there.
BADS (Box acquisition and dropping system) • While loop always on the lookout for boxes except in stacking area and when shaft is full (!in_stacking_area && !Full) • Counts: as soon as sensor=true, count++ • when boxes = 3; full = true -> goTo stacking area • Trigger switch on the back of the forks (BADS = true) => activates lift and pauses motion
NAS (Navigation system) • Corrects heading when crossing perpendicular lines • While loop Turned off when picking up boxes and avoiding obstacles • while (!BADS !BOR)
BOReS (Box and Obstacles Recognition System) • HUS looks out for obstacles in front. Dead angle is covered by proximity sensor • If obstacle is detected in front, avoids it by going around & checking to make sure it passed before resuming normal path • d
BOReS (Box and Obstacles Recognition System) • If LUS detects < 75cm, rotate 90o ccw to look with HUS • If obstacle || box < 10cm to wall; {move forward 15cm once and retry} • If box • locate exact location • BOR = true; • Record current number of onboard boxes (old number) • Orient To box angle • Go To box distance +15cm as per LUS reading • Since the first thing BADS does is count++ • wait(1000) • if count !> old count {jiggle and move forward some more} • Return to search location & resume search
BOReS Main disadvantage • will not see boxes behind obstacles • d
Time budget • Used/Allocation (W4)= 76/66 • Used/Allocation (YTD) = 214/264