Saturday, June 20, 2015

AVC 2015 Wrapup

OR: Will there be a Yukari 4?


In the practice runs this morning, the thing was swerving like crazy but happened to make the turn. I would have called that success. However, upon looking at the data, it appears that the GPS thought it was half a mile south of where it really was. That wouldn't have mattered, except that it also thought that it was going southeast instead of northeast.

In run 1, it headed straight for the fence :(

I was convinced at that point that the GPS was useless. I went back to my lab (a 20-minute drive from Sparkfun each way) and got every GPS I had plus a handful of IR line-follower sensors. I canibalized the Pinewood Derby car from long-long ago, which still had two of those sensors built into it. My idea was to build a wheel encoder into the robot and run on dead reckoning. I had to develop the hardware and write the software (a fairly minor addition to the Navigation module). I borrowed one of my neighbors orange paint pens and painted an orange mark on the left rear axle, close to the gear box where it isn't floating on the suspension.

By the time I got back, I had less than 30min, so I just installed the hardware over the back wheel and ran run 2 with the backup GPS sensor. As it turns out, this was one I brought with me in the morning, not one I needed brought back. This was an identical GP-2106, but gotten several months later than the first.

In run 2, it headed straight for the fence :(

Back to wheel encoders and dead reckoning. The problem was, I couldn't get it to work in direct sunlight. Both the light and the dark stripes were coming up as fully bright. I couldn't figure out how to build a darkroom around the sensor which was sufficiently dark but still allowed the suspension to move and the sensor leads to pass. At least not in the 10 minutes that I tried.

That got me back to wondering if I was even solving the right problem. I looked more closely at the data and realized that even though the robot had switched waypoints, it didn't do so until after it hit the fence. The waypoints were just too far out. I pulled the first waypoint back roughly 5m and tried again.

This time, the first five times I tried it, it worked all five times. It finally made the turn :) The first three times, it hit the fence after making the turn. The fourth it hit one of the barrels. The fifth time it dodged all the barrels and hit the fence beyond the second turn.

I went back to the pit and changed all the waypoints by 5m, actually 2 parking spaces as viewed by Google Earth. When I went back to try it the sixth time, it was involved in a head-on collision with one of the other robots (it was the other robot's fault) and even then it tried to keep going. I think the gyro just lost heading at that point.

The seventh time it turned, but only about 45deg. It still officially made the turn.

So, I was pretty confident that things would work. I don't know if switching out the GPS made any difference, or if it was just the waypoints. At this point, the robot was moving at several meters per second. Maybe it just took that long for the GPS to get a fix, transmit the data, have the robot to parse it, calculate the navigation, calculate the guidance, etc. It may have travelled several meters past the waypoint by that point. Maybe I should add a target lead, equivalent to the target overshoot I steer to. When we are past the target lead, we switch waypoints.

In any case, I didn't do anything to the software all day. I could have, I just didn't need to. The software that was on it on Friday was the software that it raced with. I put the robot on the line for the third time, confident that it would work.

In run 3, it turned with less than 1 turning radius to go before hitting the fence, and therefore it hit the fence :( The judge says that I was about 1 meter short of the line to gain which he would have counted as making the turn.

So now what? I did not achieve full mission success. I did have fun, keep at it, solve the problems, etc. I would say I achieved minimum mission success. The robot, as built and programmed, was at least capable of success.

Can it be fixed? Certainly. I can buy a proper wheel encoder. I can get a GPS with a higher update rate (the GP-2106 may be capable of such). I can get the Kalman filter in and use the GPS to contribute to heading estimation.

Do I want to? I think maybe no. I am married now, and time I spent on the robot is time I don't spend with my wife, and vice versa. She got sick last night, and as a consequence, I didn't get to practice then. I might have realized all of this at that time.

Does any one want to buy a slightly used robot? Make me an offer...

On a positive note, Frozen Cam was a hit. At one point, I even got to tell a better joke than the MCs. I just push the button and let it go.

No comments:

Post a Comment