Co-Processor
Contents |
No Support
Due to recent graduations and some difficulty finding more knowledge to develop and support the AdamBots Co-Processor their is currently no support for the project. You can reach the John Dong, the main developer of this project at john.dong [AT] gmail [DOT] com. We are working to find people that are interested in developing both of the Delta-Force projects (the Co-Processor and AdamBots-Live)
Our Goal:
We are seeking to redefine the way the FIRST community looks at programming. We are trying to make effective autonomous modes available to every team with as minimal work as possible, as well as allowing teams with well-developed programming teams to expand greatly on their possibilities.
Please read the Why Co-Processor section for more information on the benefits of using the AdamBots Co-Processor.
To All Outsiders -- PLEASE READ
This area of our site has not been updated since we first dreamt up the idea of the coprocessor. Everything about "modules" were ideas we had for making the code flexible and advanced sensors usable to the whole FIRST community, even those with little programming experience. They are not, however, actually used or developed yet - they're an active project and the next step. To test the stable system, please use the kickoff code from this year's competition, found right below this message, and you're likely best off ignoring anything else on this page. We're working on it - we promise.
Kickoff Code
The code used in the kickoff is finally here and well documented! It can be found at the bazaar branch http://adambots.gotdns.com/bzr/kickoff-polish/
NOTE: This section of our website was created upon the founding of the Delta Force Co-Processor Initiative, about a year and a half ago. Having established a solid and robust framework, we are in the process of bringing this website up to the current development, but much of the site is still old. Please be understanding of this! We are working on it, and hope to have the site completely prepared soon! Until then, you may reach Scott Walls at arekmenner@gmail.com with any questions.
FIRST Kickoff 2007
We will be releasing all of our work to the FIRST community at the 2007 FIRST Kickoff. At the kickoff, we will be teaching a class at Novi High School on the usage of the co-processor to all interested teams. For more details visit Delta Force Kickoff (we're not giving up that code name yet!).
What's a Co-Processor?
- A co-processor is a small computer, ranging from another IFI-esque controller to a full computer. It’s purpose is to take over the brunt of the processing power as it is a more powerful processor.
- On the smaller end, a co-processor can be an embedded system, such as GUMSTIX:
- Embedded systems are basically miniature computers. They are similar to what control PDAs, cell phones, and other small electronic devices.
- They are usually quite small and power efficent.
- They usually run from approximately 100 MHz to 600 MHz.
- On the more powerful end, a co-processor can be a true computer.
- Similar to laptop or a desktop, only without the large cases and unnecessary elements, such as CD-ROM drives or power supplies.
- They are usually larger and have more complex power requirements.
- They run from 1 GHz (1000 MHz) to 3.8 GHz.
OK..., so how does all this work?
We've developed a strong and effective co-procesor solution, and we're in the process of transforming this branch of our website into an effective guide and tutorial for teams just starting out with this, as well as a center for source code, updates, and modules written by our team.
Resources and Links
This is the beginning of the resource web:
Getting Started
- GUMSTIX Tutorial -- Step-by-step instructions for implementing co-processor on the GUMSTIX computing platform
- IFI Co-Processor Setup -- Instructions and code to turn your IFI controller into a slave to your new co-processor
- Co-Processor Setup -- Includes requirements for any generic co-processor, instructions for setting up the co-processor, and base code to communicate to IFI
- Drive Module Simple Tutorial -- The first 'module' you'll want to install. Allows basic driving capability.
Signed Modules
These modules have been extensively tested on our systems and should work correctly right out-of-the-box. There is a support page included in all of the module pages if you are having trouble.
- Drive Module Simple -- The most basic 'module'. It maps p1_x to pwm01 and p2_x to pwm02 (read Drive Module Simple Tutorial for why x and not y).
- Drive Module -- The true module implementation of a basic driving system. It is threaded, and allows for either 1-joy, 2-joy, or toggled control.
- Wireless Programming -- Not really a "module". Page includes instructions for how to set up a wireless programming environment.
- CMUCam Module -- Includes everything you need to get the CmuCam up and running on your new system.
- Encoders Module -- Includes everything you need to get encoders up and running on your new system.
- Velocity Control Module -- Includes everything you need to get true PID working. Depends -- Encoders Module
Experimental Modules
While officially supported by the AdamBots developers, these modules are currently in development and therefore not guaranteed in any way. Each module page includes support links as well as developer links if you would like to help on these projects.
- Accelerometer Module -- Includes everything you need to read and interpret accelerometer feedback.
- TrueDrive Module -- An experimental module combining encoder and accelerometer feedback to maximize accuracy of position. Depends -- Encoders Module, Accelerometer Module, Drive Module
- Webcam Module (USB) -- For those of you who have opted to put a motherboard on your robot, we're seeing if manual image processing from a high-quality USB webcam gives any better images. This is one of our lowest priority project, so if you have experience in image processing and would like to help out please see Webcam Module Developers.
- SmartDrive Module -- Converts rapid human shifts to maximize motor efficiency. If you'd like to help gather data and debug this one, we need some serious testing on it, see SmartDrive Module Developers. Depends -- Drive Module
Third-Party Modules
These modules have been written by members of other teams, and while we have tested them to ensure that they do not break the implemented system and appear to do what they intend to do, we have not performed an extensive de-bugging and do not guarantee that they will work properly
- Module Standards -- Includes descriptions of how abc-governor_generator and ifi_generator function. Gives specific formatting requirements for modules so that the automatic generation will work correctly.
Development Links
- Bzr Branches - A list of Bazaar programming branches
Page Functions



