No excuses. Last minute changes caused last minute problems that we were unable to overcome. Although we were at the race, the vehicle’s GPS was flakey and being knocked out continuously even in open sky. The problem was discovered on Wednesday before the race. Lack of time failed to get it resolved before we arrived and I pulled the plug much to Floyd’s chagrin, I’m sure.
SparkFun posted a race recap. Maybe next time. From the stats, it appears were were not the only team with an issue or three. Maybe next year.
Okay, perhaps the title is a bit misleading…more computational horsepower. Today, I finally got around to mounting the TS-7800 from Technologic Systems. It’ll be running all the main processing and communicating with the micro controller via a serial port.
Additionally, we’d failed to include a shiny “GO” switch anywhere in the system so I used the DIO port on the ARM to read in a signal to indicate the mission should execute. If you are looking for sample code for the TS-7800, Eric Robishaw’s example is a good start.
If that’s a little much to parse, here’s my simpler variant. It does far less but is a test bit of code that shows the reading without a lot of extra capability.
I’ll leave you now to get back to porting code over to the board. Here’s the vehicle with its ever growing payload.
Update: Just a word of warning, the distribution of Debian shipped with these board is ANCIENT. Packages are no longer available.
Just for fun
And some near destruction before proper handling of GPS popping was in place…
Apparently my code has a preconceived need to heard toward fences. Don’t ask me why….
Got the word from Peter over at at SparkFun earlier today. He reviewed our video and gave the thumbs up. So we’re officially in the autonomous vehicle contest next month.
Complete update. Decided its just easier to host the video(s) here. On that note, here is the video submitted to Sparkfun.
After two weeks of battling the speed control, the Traxxas Slash is ready. It has 4 stationary IR range finders, one scanning IR range finder, a compass, a GPS, and a wheel encoder.
We’ve using X-Bee modules to send information and commands between the vehicle and a laptop. After we added all the sensor information and other feedback to Proto-2, I started to see communication drop outs when attempting bi-directional comm. Since it is a stop-gap mechanism for test and debug, I wasn’t too worried about it but wow has it been annoying.
The modules are the X-Bee 900 Pro‘s. We had the baud rate ramped up to 115.2 but decided after some calculations to drop back to 38400. No help. So I dug through the manual again. Likely, we should be using API mode but for the moment we kept it simple and just left them in the default broadcast configuration.
The downside of this mode is that the modules are not really communicating point to point even though only two are in the system. So they duplicate broadcast messages to help assure the messages get to everyone in the message. The default duplication is set to 3. I lowered it to 1. If we drop a message here or there, it shouldn’t really effect the performance of the system significantly.
Also, the vehicle is really and end-point, not a router and will never be for this configuration so I changed it to be an end-point not a router. However, that required a firmware upgrade which was seamless using the X-CTU software other than it defaulting the module back to 9600 baud. Honestly both could be set as endpoints I think but I didn’t test that configuration since I was in a rush to get the comm working.
I also tried lowering the packet ratio to zero prior to the other changes to immediately transmit characters rather than bundling messages. It proved too not help but might be a good option at some point. I also lowered the XOFF buffer maximum to 128 characters down from the default of 319 since none of our message strings exceed that length.
If we were going to rely on the radios for good communication, the API interface is the way to go not the transparent default. The changes cleared up the congestion but I made mass changes so cannot specify precisely which one did the trick. If you run into similar issues, I can check the exact configuration and setting changes.
In the end, one more hurdle cleared.