From Artisan's Asylum
What is it?
Friendly people with less than friendly robots battling it out to see whose contraption is the easiest to get-working/repair... err I mean strongest. The rules are pretty much cribbed from NERC (http://www.nerc.us/rules.html) for the 1 and 3 pound weight classes, with exceptions made when reasonable (especially for the sake of putting on a good show). We're also adding a 3D printed class for bots whose structural bits are by-and-large 3D printed and a 4lb autonomous division.
Make sure to check this page as the competition draws nearer for rule clarifications and other important changes (like filling in the size of the AR tags...)
The current plan is to have five competition classes:
- 500g autonomous sumo (using the robogames rules: http://robogames.net/rules/all-sumo.php)
- 1lb RC (using NERC rules: http://www.nerc.us/rules.html)
- 3lb RC (NERC rules)
- 1lb 3D printed (see below)
- 4.5lb autonomous (see below)
Autonomous Class Details
We want software people involved in fighting robots too! Towards that end we're adding a fully-autonomous 4lb class. To make it more accessible for people we're providing an eye in the sky telemetry stream to broadcast the locations of all the robots in the arena. Practically speaking, that means that robots in this class will be required to have a flat area on top (and potentially on the bottom for reversible bots) where we can affix an AR tag with your assigned number. The size of the tag is still TBD, but it'll probably be a 12cm square.
Once you have the hardware for your bot done show it to M@ and he'll assign you a number and give you an AR tag. Additional tags will be available the day of the competition, but there's something to be said for being able to test your bot in advance (something like: "it's the only way to succeed").
Okay, that's great, but how do I get the telemetry??
The telemetry format is a stream of messages of the form
"robotID X Y theta\n"
Without the quotes, and where \n is the newline character.
There are two ways to tap into the telemetry stream, each has its pros and cons. You can either provide a computer that will act as a base station and wirelessly control your robot from the safety of outside the arena, or you can do your processing onboard your robot using the telemetry we're streaming wirelessly.
Providing a base station computer has the advantages that it is far more reliable (wireless things tend to not work when there are large crowds, so we're supplying ethernet), it gives you much more computational horsepower (only useful if you need more than an Arduino can supply, which is unlikely), it removes costly components from the danger zone, and it allows you to use whatever programming environment you want. On the other hand, it's more expensive and more complex. If you want to go this route you'll need to learn the very basics of ZeroMQ, either from the online guide (http://zguide.zeromq.org/page:all) or by reading/stealing my example code (https://gist.github.com/dunmatt/0dbb4180141500c6bdd0). The IP address and port of the telemetry server may change, but as of right now it is tcp://172.16.10.214:5555 I'm leaving it running, so you should be able to test against it from anywhere on the Asylum LAN. Note, if nothing seems to be coming through make sure there's an AR tag visible to the camera in my space...
Alternatively, we're also broadcasting the telemetry stream over XBee S1 on channel 10 on topic C0C0. If you're an Arduino guru, or perhaps a KISS adherent this is probably what you'll want to do. It's simple, fast, and it gets the job done. If you want to go this route you'll need a microcontroller and a XBee S1 with the DigiMesh firmware. The easy way to configure it is to open your XBee in XCTU, click the person icon, choose Load Profile, and select wherever you downloaded https://gist.github.com/dunmatt/71608f497e3c5442d612 to (and then click the pencil icon to write all of the settings to the radio). Once you've confirmed that the radio is set up correctly to receive telemetry (perhaps by using XCTU's serial monitor) you can connect it to your microcontroller and use code along the lines of https://gist.github.com/dunmatt/16370fa5a781daf56097 to parse the stream.
Previously the telemetry has sucked, is it going to suck this time?
No! This year we're testing and debugging the setup well in advance, I don't know what the total round trip latency is going to be, but if it's more than 50ms I'm going to be unhappy. Stay tuned for updates once the arena is set up and I can run tests and tune everything!
3D Printed Class Details
This is just the same as the regular robogames classes, except that the main structural pieces and armor need to be 3D printed. Things like electronics and wheels need not be printed. We're using common sense here.
HALP! How do I robots?
Don't panic. Robots aren't too hard. Don't be afraid to hit discuss, and definitely show up for circuit hacking night on Wednesday. Also, feel free to come harass me in my space (just past 23's space), I'm always glad to lend a hand.