![]() |
Luke's Robot |
![]() |
Ben's Robot |
![]() |
My robot |
The third robot used this platform.
We were all running stereo ultra-sonic ranging sonar for can location. These are similar to a Ping))) and require a single digital pin. They return a pulse length for distance to the closest object detected. More complex sonars have the ability to return multiple target distances but we went with what we had. The challenge was balancing the desire to scan across the entire table against detecting objects near the table (like people).
You might notice my robot had some wires across the back of the arms. This was a last-minute bodge as the edge-avoidance code wasn't properly tuned to allow the robot to tip the can off the edge of the table when it was being held so far back.
I was also using the circuit board out of an old PS2 ball mouse for reporting wheel encoder counts and button clicks for my LCD menu navigation. The encoder assemblies were removed from the mouse and hot-glued onto the robot but I did not get encoders working for the comp. I suspect I might have something not well aligned but ran out of time to troubleshoot. The advantage of the PS2 mouse is that you don't need interrupt routines in the main micro as the PS2 mouse can be queried for cumulative and current encoder counts together with status of up to 3 buttons.
All of our source code was based on a behaviour subsumption engine that Ben and I wrote a while back which we branched for each robot. Ben coded all behaviours etc himself, Luke specified the psuedo-code with me writing most of the C code for him and Ben helping him to tune it. Luke's next task is to learn C programming properly and take over his own coding.
The next competition will be more of a challenge. The table will be rectangular so we will need to reposition our edge detectors and avoid/ escape behaviours to allow us to get into the corners and out again in case there is a can there. Details are yet to be finalised but we may have to get the cans into a goal instead of simply tipping them off the edge. That would require can capture rather than simply knocking them off the edge.
No comments:
Post a Comment