Almost a year now from my first an last diary entry...
The "coupe de France de robotique" (French robotic cup) took
place in may, with more than 189 teams registered. Botzilla
was among the 144 qualified, and after the fourth day and we
ranked 49th. Some (non-technical) pictures can be seen here.
The official site for the 2003 competition is here
It still hurt to say it, but though this was a success for
the team this was a failure for me: we had to completely
change our strategy 1 week before the competition, relying
entirely on a PIC16F877 which original purpose was only to
manage the propulsion wheels. The plan was to use a 68332
board running a real-time executive for the high level code,
but though everything was OK when running in RAM, I failed
to make in run in flash, thus preventing the robot to run
autonomously. I obviously grossly underestimated the
difficulty in making my BSP running from flash, starting to
work about it something like 2 weeks before the competition
after almost a year of work on it (but work in RAM!).
I must have messed up with the chip select settings...
Stupid me. Well, anyhow a time came when we had to make a
decision and we backed-up on a state machine on the PIC.
My 68332 board stood in its box since we came back from the
competition more than 4 month ago until today. Sigh.
On the positive side, as usual, much was learned. You can
still do a lot with an 8 bit thingy like a PIC, though if it
was to be done again I would vote for an Atmel AVR (the lack
of real stack on Microchip is a very real limitation). On
the 68332, I played with the TPU, a kind of coprocessor
dedicated to time-related function like PWM and such. The
trick is that you can re-program the microcode of this TPU
in order to use or create the functions that fit your
application need. I used some microcode from Arno
Morbach providing I2C capabilities to the TPU. I
assembled this on Linux using TAS,
Zoltán Kócsi's GPL TPU assembler. Then I glued all this with
RTEMS and the TPU lib from the motorobots
project. And though quite beta, all this actually worked.
The TPU-I2C function was previously know to work with serial
EEPROM, I can tell that I had it talk with some PCF8574.
I didn't do any kind of serious (non-professional) work this
summer. Robotic hacking is a winter sport.
BTW, if by looking at botzilla's picture you wonder how we
managed to get a
round shape out of wood: this is a special plywood,
called "souplex" (in French at least). This is used for
curved furniture, like bars and such. You can find some at a
professional wood dealer.