Monday, October 5, 2009

Jeep Restart: Keep It Simple Stupid

We got a new addition to Robot Day: Kris, who teaches robots to 5th graders at Jefferson Elementary.



Kris has come to pitch in just as Daniel has gone MIA for a while (he just had a baby). Kris is new to the projects so to get us started we did some constructive destruction on the Jeep. We ripped everything out and we're going to redo it from scratch, but simple.



The new motto is: Keep It Simple Stupid. I guess that was sort of our motto last time, but this time we're also going to keep it modular and remove fail-safes. Why? Because its easier and the government isn't watching. For example, why have a backup brake actuator when you can just have one and hope for the best? Good plan. Actually, it will probably end up more reliable if only for the reason that will be easier to figure out what's going on at any moment once the spaghetti is cleaned out. There's nothing more scary than a giant robot that has a mind of its own. And in any case, it will be fun.

Scott spent all day battling with sscanf until he realized he just needed to update the firmware on the Roboteq. Once the software is adapted it will be great because the same software will be able to control AION the jeep, Zippy the golf cart, or Johnny the test bot.

Wednesday, July 29, 2009

Focus shift to Zippy - robot day this weekend

We have a robot day this weekend and we're shifting focus to Zippy. Zippy is a golf cart onto which we've already installed braking and steering actuators. We now are going to turn this into an internet-based semi-autonomous (that is, driver goal assisted) vehicle.

Zippy drive-by-wire project review:

Hardware:

- test and confirm that drive by wire interface works.
- actuate forward and reverse
- actuate accelerator bypass relay
- perform and record ammeter test on Roboteq power draw while off

Software:

- Identify and prepare Player server box.
- Flush out software design and goals

Saturday, June 13, 2009

We took 2nd!

We placed 2nd and got a silver medal for Defconbots at Robogames 2009.






Here's the final round (below) - it came down to us versus Team Yuzhik again like last year. They did really well and were very accurate.

We did have a strength that Team Yuzhik didn't, but unfortunately we didn't have an opportunity to exploit it. Our system was very adaptable to quick calibration and changing conditions (because we have two cameras). Earlier in the day we noticed that Team Yuzhik's turret was extremely sensitive to calibration. Their gun was so accurate that if the calibration was even slightly off there was no hope of hitting a target if it didn't agree with the calibration the first time. This didn't come into play, however, because the competition did not require that the guns be moved and re-calibrated.

The targets were very springy and kept popping back up - it's sort of funny. Our final time was about 2.6 seconds per target. We're the gun on the right.

Thursday, June 11, 2009

On the way to Robogames

Our best score this week was 17.9 seconds (that's 1.2 seconds per target).

Here's a 23 second run I caught on tape:


Now we're on our way to Robogames!

Monday, June 8, 2009

We ran out of bullets!

It's a mad dash today to pick up more bullets as we ran out over the weekend. Apparently our gun is pretty particular about its bullets and if they're not shiny they'll jam.

We increased the resolution of the mounted camera 4 times this weekend as we attempted to get tighter and more calibrated control. Our best times (listed below) got down to 2.27 seconds per target! Consistency still needs some work.

In the first time below, note that there were 28 attempts on the 15 targets. This conceals another layer of failure in that each attempt includes the initial movement (and a fire), and sometimes a subsequent correction movement (and a fire). So there were 28 initial fires, then 13 corrections and fires, for 41 total. That leaves 36% accuracy.

The second attempt is much worse (but obviously shot with much higher frequency) as it attempted 111 times in order to knock down the 15 targets. That's 14% accuracy. If we bring that up, we'll benefit from drastically reduced times.

scott@dell-desktop:~/playeratat/log$ perl times.pl < playeratat-20090607135034.log
Description , Count, Time (ms), Avg (ms)
TOTAL , 1, 34046, 34046
auto_target:acquire_targets , 28, 0, 0
auto_target:acquire_targets_mounted , 71, 4, 0
auto_target:fire_mounted , 13, 2880, 221
auto_target:fire_mounted_update , 28, 1592, 56
auto_target:fired_acquire_targets_mounted , 28, 0, 0
auto_target:fired_acquire_targets_static , 28, 8, 0
auto_target:get_nearest_target , 28, 0, 0
auto_target:get_nearest_target_mounted , 71, 1, 0
auto_target:move_to_target_mounted , 71, 4769, 67
auto_target:move_to_target_mounted_update , 71, 17667, 248
auto_target:move_to_target_static , 28, 2875, 102
auto_target:move_to_target_static_update , 28, 1265, 45
auto_target:static_fire , 28, 6078, 217
auto_target:target_attempt , 28, 38183, 1363

scott@dell-desktop:~/playeratat/log$ perl times.pl < playeratat-20090607140427.log
Description , Count, Time (ms), Avg (ms)
TOTAL , 1, 37764, 37764
auto_target:acquire_targets , 75, 0, 0
auto_target:acquire_targets_mounted , 140, 9, 0
auto_target:fire_mounted , 36, 8317, 231
auto_target:fire_mounted_update , 75, 3806, 50
auto_target:fired_acquire_targets_mounted , 75, 0, 0
auto_target:fired_acquire_targets_static , 75, 4, 0
auto_target:get_nearest_target , 75, 0, 0
auto_target:get_nearest_target_mounted , 140, 2, 0
auto_target:move_to_target_mounted , 140, 10372, 74
auto_target:move_to_target_mounted_update , 140, 34807, 248
auto_target:move_to_target_static , 75, 6024, 80
auto_target:move_to_target_static_update , 75, 3157, 42
auto_target:static_fire , 75, 16406, 218
auto_target:target_attempt , 75, 86372, 1151

Thursday, June 4, 2009

Times breakdown

Results today

playeratat-20090604201502.log: 263 329 66
playeratat-20090604200735.log: 99 130 31
playeratat-20090604192852.log: 905 952 47

48 seconds average (15 targets)

3.2 seconds / target




scott@dell-desktop:~/playeratat/log$ perl times.pl < playeratat-20090604200735.log
Description , Count, Time (ms), Avg (ms)
auto_target:target_attempt , 27, 34798, 1288
auto_target:move_to_target_static , 27, 3849, 142
auto_target:acquire_targets , 27, 0, 0
auto_target:fire_mounted , 9, 1996, 221
auto_target:fired_acquire_targets_static , 27, 1, 0
auto_target:move_to_target_mounted_update , 50, 14657, 293
auto_target:fire_mounted_update , 27, 1286, 47
auto_target:static_fire , 27, 6160, 228
auto_target:fired_acquire_targets_mounted , 27, 0, 0
auto_target:get_nearest_target , 27, 1, 0
auto_target:get_nearest_target_mounted , 50, 0, 0
auto_target:move_to_target_static_update , 27, 1103, 40
auto_target:move_to_target_mounted , 50, 3418, 68
auto_target:acquire_targets_mounted , 50, 3, 0

scott@dell-desktop:~/playeratat/log$ perl times.pl < playeratat-20090604201502.log
Description , Count, Time (ms), Avg (ms)
auto_target:target_attempt , 56, 73868, 1319
auto_target:move_to_target_static , 56, 5462, 97
auto_target:acquire_targets , 56, 0, 0
auto_target:fire_mounted , 26, 6267, 241
auto_target:fired_acquire_targets_static , 56, 3, 0
auto_target:move_to_target_mounted_update , 104, 31188, 299
auto_target:fire_mounted_update , 56, 2739, 48
auto_target:static_fire , 56, 12876, 229
auto_target:fired_acquire_targets_mounted , 56, 0, 0
auto_target:get_nearest_target , 56, 0, 0
auto_target:get_nearest_target_mounted , 104, 2, 0
auto_target:move_to_target_static_update , 56, 2767, 49
auto_target:move_to_target_mounted , 104, 6338, 60
auto_target:acquire_targets_mounted , 104, 6, 0

scott@dell-desktop:~/playeratat/log$ perl times.pl < playeratat-20090604192852.log
Description , Count, Time (ms), Avg (ms)
auto_target:target_attempt , 108, 128941, 1193
auto_target:move_to_target_static , 108, 8342, 77
auto_target:acquire_targets , 108, 0, 0
auto_target:fire_mounted , 36, 8067, 224
auto_target:fired_acquire_targets_static , 108, 5, 0
auto_target:move_to_target_mounted_update , 203, 61551, 303
auto_target:fire_mounted_update , 108, 5566, 51
auto_target:static_fire , 108, 24731, 228
auto_target:fired_acquire_targets_mounted , 108, 4, 0
auto_target:get_nearest_target , 108, 0, 0
auto_target:get_nearest_target_mounted , 203, 12, 0
auto_target:move_to_target_static_update , 108, 4143, 38
auto_target:move_to_target_mounted , 203, 11678, 57
auto_target:acquire_targets_mounted , 203, 8, 0

Monday, June 1, 2009

Our best time ever: 2.5 sec per target

Our best time ever

Time trials today with 15 targets:

filename / startime / endtime / duration / per target
playeratat-20090531143039.log: 588 960 372 24.8
playeratat-20090531145100.log: 29 117 88 5.87
playeratat-20090531154751.log: 21 64 43 2.86
playeratat-20090531160845.log: 124 162 38 2.53

Best time: 2.53 per target

Today was the first time we completed time trials with the new turret.
It was also the first time we shot down 15 targets without reloading with any turret.

I didn't take any videos, but I should definitely do that next time we test.

Excellent results!