Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   Adams Coprocessor Solution (http://www.chiefdelphi.com/forums/showthread.php?t=52563)

ScottWalls 23-01-2007 13:11

Adams Coprocessor Solution
 
Hello, teams! I am the programming captain of team 245, the Adambots. My team and I have been working for a very long time in doing a few ideas for robot programming that are a bit out there. We made a makefile and a makefile generator (configure.py) for WINE so that teams that were interested in using Linux could flash code onto the FRC.

Last year, we began development on a coprocessor project. It was inspired by work done in kinematics the previous year that simply didn't turn out due to the tedium of using trig functions in C. (Yes, we know, lookup tables, thank you). A coprocessor is another computer that does the processing instead of the Microchip. This is a great way to get around many limitations of the Microchip, as almost any coprocessor has more processing power than the Microchip (on our Gumstix coprocessor last year, we ran 5 independent PID loops without any slowdown or overhead!).

Having tested our code last year, we have decided that it is finally time to release it to the public. Now anyone can try their own coprocessor on for size.

The coprocessor is very easy to test. Simply hook any Linux machine to your FRC Controller through the Serial Port (on the coprocessor side) and the Program Port (on the FRC Side). Then, you can flash the FRC with our prewritten code to turn it essentially into a hub and run our python script on your coprocessor. The robot will then be running off of your machine!

Skippable: The Short Details-
Our coprocessor solution turns the Microchip 18F8722 into a dummy. All it does is sends and recieves signals such as PWMs and radio data to the coprocessor. The coprocessor then does all important processing on this information and spits the output back to the 18F8722. The code on the FRC is a stripped-down version of the default code that communicates through the program port with Kevin Watson's serial code. The code on the coprocessor was written from scratch and uses python libraries, due to the ease of programming, and just because we like python. For reference: With some work, the coprocessor infrastructure that we created could interface with many languages. That is, you could be programming in whatever language you want, although we haven't written that code for you. :D

To take a look at what we're all about, you can see our website athttp://adambots.gotdns.com/cgi-bin/v...in/CoProcessor
Also, if you just can't wait, you can download documented code at the bazaar branch http://adambots.gotdns.com/bzr/kickoff-polish/
(Note, to branch you need bzr, a version control system downloadable at http://bazaar-vcs.org/

whytheheckme 23-01-2007 13:58

Re: Adams Coprocessor Solution
 
This is some pretty sweet stuff.

Is it legal to put another processor on board the robot? What company/model processor did you use on yours?

I tried this once by myself with no success.

Thank you,
Jacob

EHaskins 23-01-2007 15:33

Re: Adams Coprocessor Solution
 
Yes other processors are legal as long as they pass the cost accounting rules(under $200 for any electronic component). I believe they used a GumStix<www.gumstix.com>.

ScottWalls 23-01-2007 16:09

Re: Adams Coprocessor Solution
 
Yes, we specifically used a gumstix last year. It is a bit fragile perhaps for robot use. We are still deciding whether or not we will use gumstix or MicroATX (Just a regular small motherboard) this year.

EHaskins 23-01-2007 18:17

Re: Adams Coprocessor Solution
 
I'm courious how long it takes a gumstix to boot?

ScottWalls 23-01-2007 18:57

Re: Adams Coprocessor Solution
 
Because we customized a version of Linux to put it on there, we got boot time to around six seconds, I believe. Also, I forgot to respond to the earlier question.

Yes! Coprocessors are 100% FIRST legal so long as each individual component costs no more than $200.

EHaskins 23-01-2007 19:00

Re: Adams Coprocessor Solution
 
Do you know the boot time before you customized it?

Shinigami2057 24-01-2007 20:36

Re: Adams Coprocessor Solution
 
This is a really great system. Our team tried to utilize something similar with the gumstix, but ultimately we ran into too many problems to actually get it off the ground (only one person really could work with it and wasn't in the greatest of health).

Having a nice code base to turn the PIC18 into a dummy for communication with the "master" gumstix (two master controllers are better than one ;]) is a great way to help teams get started with implementing a coprocessor solution. I'll check more into this tomorrow, thanks for the information!

Samuel H. 24-01-2007 21:38

Re: Adams Coprocessor Solution
 
Sounds interesting! I'm afraid that when I went to the "/bzr/kickoff-polish" link, it showed up empty.

I'm very glad you are showing us this stuff.

ScottWalls 25-01-2007 15:25

Re: Adams Coprocessor Solution
 
Samuel H - The bzr/kickoff-polish/ directory is not actually empty. It is a Bazaar branch. In order for you to get the code, you must first download Bazaar (a version control system that we have found to be incredibly useful {and I use all the time in personal applications}). Bazaar can be found at http://bazaar-vcs.org/.

Then, simply go to whatever directory you want to put our code into and use the command
Code:

bzr branch http://adambots.gotdns.com/bzr/kickoiff-polish/
Speaking of which, does anyone have any specific feedback, say, documentation that is unclear or needs to be written?

slimemonkey 26-01-2007 21:41

Encoders Module?
 
Is there an "encoders module" that we may use to use an encoder in our robot?

By the way, thank you very much for the python scripts. We found it very useful so far.

chris31 26-01-2007 21:46

Re: Encoders Module?
 
Quote:

Originally Posted by slimemonkey (Post 566033)
Is there an "encoders module" that we may use to use an encoder in our robot?

By the way, thank you very much for the python scripts. We found it very useful so far.

http://adambots.gotdns.com/cgi-bin/v...EncodersModule

Samuel H. 26-01-2007 21:52

Re: Adams Coprocessor Solution
 
Sorry for the confusion... as soon as I get a chance I will get Bazaar and check it out.

Cuog 26-01-2007 23:20

Re: Adams Coprocessor Solution
 
I plan to get working with this some starting tomorrow. I'm hoping that with the great boost that 245 is offering I will have some nice modules completed and available for later usage. Good luck everyone.

If anyone is wondering here's what we are using this year for a coproccessor:
http://www.jkmicro.com/products/omniflash.html

ScottWalls 28-01-2007 21:13

Re: Adams Coprocessor Solution
 
Impressive, cuog!

For reference, soon some changes will be made to the code to protect some intellectual property. We're all in this together, after all. Once I make these changes, I will alert you all. There should be no significant changes in functionality.

Thank you all for being so patient.

(Note: The encoder modules are very old, and I haven't looked at them in a while. Use at your own risk, although I'd be more than willing to give you some support!)


All times are GMT -5. The time now is 04:13.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi