I discovered how to modify objects in the OOPic's EEPROM memory besides oServos. Each object has a certain number of bytes allocated to it. oServo objects take up four bytes and oByte objects take up two bytes. This is becuase the first byte of each object is reserved for the object's heading, which tells what type of object it is. A oServo object's heading is 192 and an oByte object's heading is 162.
However, you must also know what the object's address in memory is. I'm not entirely sure about this part, but I think that the memory is divided into sections reserved for certain types of objects. I know that each object has an address that ranges from 0 - 127. Also, whenever I make an oServo object it's address is 41. Since oServo objects take up 4 bytes, the next oServo object's address is 45, and so on. The oByte objects start at 108. This design makes it easy for me, but it would limit the number of each type of object.
The communication with the OOPic was much too slow (only about 4 bytes per second), so I set out to find a faster method of communication. I knew that I could download 2k programs to the OOPic in less than one second, so I decided to use whatever method is used to download code.
Soon I discovered that when a program was downloaded into the OOPic the processor was bypassed; the program was downloaded via the OOPic's I2C port straight into the EEPROM memory. Now I use the same method to control servos. Once the code has been downloaded into the OOPic the OOPic begins running the program. When it does this it creates oServo object(s) in the EEPROM memory, which I can modify from the PC.
I rode my bike five miles to Home Depot to get some round tubing, and then five miles back. We need this to lengthen the tie-rods on the Expeditor. The diameter of the tie-rods is 9/16th", and the tubing I got has an inner diameter of 10/16ths". We'll cut the tie-rods in half and use the tubing as a sleeve over the halves of the tie-rods. Each one needs to be lengthened 1.5".
Chris and I are going to collect some parts before our next build session. We need some bearings for the swing arm and a piston kit for the engine.
The DARPA Grand Challenge Administrative Staff sent me an email announcing their plan to have a Grand Challenge approximately eighteen months from now. The prize will be $2 million. Chris and I plan on entering this.
On the home page in the sponsors section I added a link that says, "Want to help?". It goes to a page that tells what parts we need and also thanks Glen Muir for his donation of $100.
Well, I finally have the time to make a post. The first day of the QID (Monday - in Ontario, California) I walked around and took a lot of pictures of the robots (below). Then I got my assignment - QID and Start Line Video. My job was to film the information-download from the E-Stop boxes during the QID and at the actual race. All of this documentation was in case of liability issues. Ryan from "R" Junk Works as well as a guy named Dana were also doing video.
However, after a couple days of watching AGVs that couldn't even start moving, let alone finish the qualification course, Col. Negron decided to slacken up and give the teams practice runs. Since it was no longer official, the guys from OmniTech weren't downloading the info. Since this was what I was supposed to be filming, I was left without a job, but I continued to film the robot "launches" as well as help out by delivering scoring sheets and things like that.
The QID course was entirely inside the California Speedway and consisted of obstacles such as orange cones, sand bags, tires, and sheet metal. The Red Team made it the farthest on their first run - they made it to the very end before crashing into a gate. The gate was the last obstacle and was closed as the robots approached it. I think the only robot that actually finished the entire course and then stopped in front of the gate was SciAutonics 2, but a few more made it close enough to count as qualifiers.
Finally, on Friday I took a bus to Barstow, California, where the race would begin. It was pretty cool that I got to be right in the middle of all the action! The robots were launched at 5 minute intervals, and I filmed the E-Stop info before the launch of each robot. As it turned out, nobody won, but the Red Team made it the farthest at 7.4 miles. Next was Sciautonics and then Digital Auto Drive.
Today I'm packing to go to the Grand Challenge. I'll make sure to take lots of pictures to put up on this website. Hopefully I'll be able to make posts while I'm down there.
I integrated the edge-detecting algorithm into my neural network software. Now I can choose to "edgify" a training-video before using it to teach a neural network. Later, when the neural network is actually being used (e.g. to drive a car) it will "edgify" the video in real time. I haven't done any experiments yet using this new feature.
I got a reply from coolgear.com to my proposition of a sponsorship deal - in return for a free hard drive they would be given 6" x 12" of advertising space on EX. Their email said sounds great, please contact so and so at xxx-xxx-xxxx ext. xxx.
If they're given 6" x 12", that will be a total of 2' x 1' of advertising space we've given so far - one side of EX.
I put the links on the links page in an iFrame. The reasoning behind this is so that the menu is always on the screen; you won't have to scroll up to see it. I also wrote a javascript file to make a table of links and replaced my html with that. It's much easier to read the code, plus it made it easy to highlight every other link.
Later I added the "Autonomous Ground Vehicles" category of links. This includes the websites of teams entering the DARPA Grand Challenge and the IRRF Open Challenge.
After realizing that the posts on this page go from latest at the top to most recent at the bottom, I spent a while reversing this on every month. It was just a matter of a lot of coppying and pasting.
Once I had done that I added a lot of pictures to the past posts. These came from the "Misc" section of the old picture page.