acantostega
10-27-2006, 01:14 PM
http://forums.parallax.com/images/smilies/yeah.gif 1st place! http://forums.parallax.com/images/smilies/yeah.gif
I'm a computer engineering student at the Pontificia Universidad Catolica de Chile (PUC), which has just finished hosting the IEEE Latin American RoboCup (LARC). Me and a friend, a mechanical engineering student participated in a category called "Cowbots". As described in the competition website, www.robopuc.cl/larc (http://www.robopuc.cl/larc):
[quote]
Cowbots duel: Involves custom-built (free-style) cowbots (COWboy-roBOTS) that must fight a duel between them, using a revolver and a melee weapon. Like in the free category, the robots must be fully autonomous (i.e. no external processing is allowed).
As far as I know, it's a local invention. It's pretty exciting. The robots must find their opponent, possibly using some sort of beacon (the most popular choice is an infrared emitting beacon, although a couple of robots using color vision have participated), and fire ping pong balls at it. The first bot to get hit by a ping pong ball loses.
While I was planning how to build the bot, I read about the Propeller chip and knew right away it was just what I needed. Having used other MCUs like PICs and AVRs, I found it pretty hard to combine all the I/O and AI processing in just one chip while keeping the response time of the 'bot low. I also wanted to avoid multi-chip solutions since I wouldn't to keep the complexity of the electronics as low as possible.
The bot's program was written in Spin and loosely inspired in Brooks' Subsumption architecture. I used 3 cogs to execute independent behaviors in a parallel fashion: Escape, Navigate, and Hunt. These behaviors did most of their own sensory processing (e.g., the "escape" behavior polled/debounced the whiskers to detect if they were pressed), save for a couple of more cpu-intensive sensory tasks, like analyzing the frequency of modulated IR from an array of IR sensors, which were delegated to their own cogs. Each behavior wrote their motor outputs to shared memory, and an "arbiter" cog chose the output from the behavior with the highest priority and sent it to the effectors. The rest of the cogs were devoted to servo controlling and serial i/o.
While some of the mechanical aspects of my robot need work, and the sensors definitely could've used more tuning, the robot overall worked great and it easily beat opponents with what seemed like a lot more money behind them. In particular, the robot that placed second used 2 AVR Atmega 128s, a Gumstix 400-MHz ARM based SBC running Linux, an IP camera and a holonomic drive train, among other luxuries!
I'd like to thank the people of Parallax for their excellent chip, as well as all those who have posted useful info and advice here in the forum, like Chip, Mike Green and Beau Schwabe.
I attach some of the photographs of the robot and the event. As you can see I'm using the Propeller Robot Controller, which is a great board. I'm the guy with the black shirt picking up the robot after a victorious duel. I may post some video as well, if I find out how to make them smaller.
Post Edited (acantostega) : 10/27/2006 7:54:26 AM GMT
I'm a computer engineering student at the Pontificia Universidad Catolica de Chile (PUC), which has just finished hosting the IEEE Latin American RoboCup (LARC). Me and a friend, a mechanical engineering student participated in a category called "Cowbots". As described in the competition website, www.robopuc.cl/larc (http://www.robopuc.cl/larc):
[quote]
Cowbots duel: Involves custom-built (free-style) cowbots (COWboy-roBOTS) that must fight a duel between them, using a revolver and a melee weapon. Like in the free category, the robots must be fully autonomous (i.e. no external processing is allowed).
As far as I know, it's a local invention. It's pretty exciting. The robots must find their opponent, possibly using some sort of beacon (the most popular choice is an infrared emitting beacon, although a couple of robots using color vision have participated), and fire ping pong balls at it. The first bot to get hit by a ping pong ball loses.
While I was planning how to build the bot, I read about the Propeller chip and knew right away it was just what I needed. Having used other MCUs like PICs and AVRs, I found it pretty hard to combine all the I/O and AI processing in just one chip while keeping the response time of the 'bot low. I also wanted to avoid multi-chip solutions since I wouldn't to keep the complexity of the electronics as low as possible.
The bot's program was written in Spin and loosely inspired in Brooks' Subsumption architecture. I used 3 cogs to execute independent behaviors in a parallel fashion: Escape, Navigate, and Hunt. These behaviors did most of their own sensory processing (e.g., the "escape" behavior polled/debounced the whiskers to detect if they were pressed), save for a couple of more cpu-intensive sensory tasks, like analyzing the frequency of modulated IR from an array of IR sensors, which were delegated to their own cogs. Each behavior wrote their motor outputs to shared memory, and an "arbiter" cog chose the output from the behavior with the highest priority and sent it to the effectors. The rest of the cogs were devoted to servo controlling and serial i/o.
While some of the mechanical aspects of my robot need work, and the sensors definitely could've used more tuning, the robot overall worked great and it easily beat opponents with what seemed like a lot more money behind them. In particular, the robot that placed second used 2 AVR Atmega 128s, a Gumstix 400-MHz ARM based SBC running Linux, an IP camera and a holonomic drive train, among other luxuries!
I'd like to thank the people of Parallax for their excellent chip, as well as all those who have posted useful info and advice here in the forum, like Chip, Mike Green and Beau Schwabe.
I attach some of the photographs of the robot and the event. As you can see I'm using the Propeller Robot Controller, which is a great board. I'm the guy with the black shirt picking up the robot after a victorious duel. I may post some video as well, if I find out how to make them smaller.
Post Edited (acantostega) : 10/27/2006 7:54:26 AM GMT