Go to Post OUR CNC machine is named Joe, and he has this week of school off. He eats candy instead of electricity. Not so accurate or repeatable, but very easy to re-program. - Not2B [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 23-01-2007, 13:11
ScottWalls ScottWalls is offline
Registered User
FRC #0245 (AdamBots)
Team Role: Leadership
 
Join Date: Mar 2006
Rookie Year: 2003
Location: Rochester Hills
Posts: 31
ScottWalls will become famous soon enoughScottWalls will become famous soon enough
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.

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/
  #2   Spotlight this post!  
Unread 23-01-2007, 13:58
whytheheckme's Avatar
whytheheckme whytheheckme is offline
Registered User
AKA: Jacob Komar
no team
 
Join Date: Feb 2006
Rookie Year: 2005
Location: Providence, RI
Posts: 1,320
whytheheckme has a reputation beyond reputewhytheheckme has a reputation beyond reputewhytheheckme has a reputation beyond reputewhytheheckme has a reputation beyond reputewhytheheckme has a reputation beyond reputewhytheheckme has a reputation beyond reputewhytheheckme has a reputation beyond reputewhytheheckme has a reputation beyond reputewhytheheckme has a reputation beyond reputewhytheheckme has a reputation beyond reputewhytheheckme has a reputation beyond repute
Send a message via ICQ to whytheheckme Send a message via AIM to whytheheckme Send a message via MSN to whytheheckme Send a message via Yahoo to whytheheckme
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
  #3   Spotlight this post!  
Unread 23-01-2007, 15:33
EHaskins EHaskins is offline
Needs to change his user title.
AKA: Eric Haskins
no team (CARD #6 (SCOE))
Team Role: College Student
 
Join Date: Jan 2006
Rookie Year: 2006
Location: Elkhorn, WI USA
Posts: 998
EHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond repute
Send a message via MSN to EHaskins
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>.
__________________
Eric Haskins KC9JVH
  #4   Spotlight this post!  
Unread 23-01-2007, 16:09
ScottWalls ScottWalls is offline
Registered User
FRC #0245 (AdamBots)
Team Role: Leadership
 
Join Date: Mar 2006
Rookie Year: 2003
Location: Rochester Hills
Posts: 31
ScottWalls will become famous soon enoughScottWalls will become famous soon enough
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.
  #5   Spotlight this post!  
Unread 23-01-2007, 18:17
EHaskins EHaskins is offline
Needs to change his user title.
AKA: Eric Haskins
no team (CARD #6 (SCOE))
Team Role: College Student
 
Join Date: Jan 2006
Rookie Year: 2006
Location: Elkhorn, WI USA
Posts: 998
EHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond repute
Send a message via MSN to EHaskins
Re: Adams Coprocessor Solution

I'm courious how long it takes a gumstix to boot?
__________________
Eric Haskins KC9JVH
  #6   Spotlight this post!  
Unread 23-01-2007, 18:57
ScottWalls ScottWalls is offline
Registered User
FRC #0245 (AdamBots)
Team Role: Leadership
 
Join Date: Mar 2006
Rookie Year: 2003
Location: Rochester Hills
Posts: 31
ScottWalls will become famous soon enoughScottWalls will become famous soon enough
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.
  #7   Spotlight this post!  
Unread 23-01-2007, 19:00
EHaskins EHaskins is offline
Needs to change his user title.
AKA: Eric Haskins
no team (CARD #6 (SCOE))
Team Role: College Student
 
Join Date: Jan 2006
Rookie Year: 2006
Location: Elkhorn, WI USA
Posts: 998
EHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond reputeEHaskins has a reputation beyond repute
Send a message via MSN to EHaskins
Re: Adams Coprocessor Solution

Do you know the boot time before you customized it?
__________________
Eric Haskins KC9JVH
  #8   Spotlight this post!  
Unread 24-01-2007, 20:36
Shinigami2057 Shinigami2057 is offline
Slackware Is Your New God (Mentor)
AKA: Harry Bock
FRC #1350 (Rambots)
Team Role: Programmer
 
Join Date: Oct 2006
Rookie Year: 2006
Location: Johnston, RI
Posts: 106
Shinigami2057 is just really niceShinigami2057 is just really niceShinigami2057 is just really niceShinigami2057 is just really niceShinigami2057 is just really nice
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!
__________________
One of the main causes of the fall of the Roman Empire was that, lacking zero, they had no way to indicate successful termination of their C programs.
  #9   Spotlight this post!  
Unread 24-01-2007, 21:38
Samuel H. Samuel H. is offline
Registered User
no team
 
Join Date: Dec 2005
Rookie Year: 1000
Location: World
Posts: 40
Samuel H. has a spectacular aura aboutSamuel H. has a spectacular aura about
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.
__________________
Team 931 Alumni
Freshman
South Dakota School of Mines and Technology

Last edited by Samuel H. : 24-01-2007 at 21:41. Reason: rephrase
  #10   Spotlight this post!  
Unread 25-01-2007, 15:25
ScottWalls ScottWalls is offline
Registered User
FRC #0245 (AdamBots)
Team Role: Leadership
 
Join Date: Mar 2006
Rookie Year: 2003
Location: Rochester Hills
Posts: 31
ScottWalls will become famous soon enoughScottWalls will become famous soon enough
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?
  #11   Spotlight this post!  
Unread 26-01-2007, 21:41
slimemonkey slimemonkey is offline
Registered User
FRC #1015 (Pi Hi Samurai)
Team Role: Programmer
 
Join Date: Mar 2006
Location: Ann Arbor, MI
Posts: 10
slimemonkey is an unknown quantity at this point
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.
  #12   Spotlight this post!  
Unread 26-01-2007, 21:46
chris31 chris31 is offline
Team 2021 Captain
AKA: Chris Davidson
FRC #2021 (FA Robotics)
Team Role: Mentor
 
Join Date: Nov 2005
Rookie Year: 2006
Location: Atlanta, GA/ Fredericksburg,VA
Posts: 949
chris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond repute
Send a message via AIM to chris31
Re: Encoders Module?

Quote:
Originally Posted by slimemonkey View Post
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
  #13   Spotlight this post!  
Unread 26-01-2007, 21:52
Samuel H. Samuel H. is offline
Registered User
no team
 
Join Date: Dec 2005
Rookie Year: 1000
Location: World
Posts: 40
Samuel H. has a spectacular aura aboutSamuel H. has a spectacular aura about
Re: Adams Coprocessor Solution

Sorry for the confusion... as soon as I get a chance I will get Bazaar and check it out.
__________________
Team 931 Alumni
Freshman
South Dakota School of Mines and Technology
  #14   Spotlight this post!  
Unread 26-01-2007, 23:20
Cuog's Avatar
Cuog Cuog is offline
Registered Linux User: 390661
AKA: Alex
FRC #0422
Team Role: Mentor
 
Join Date: Nov 2005
Rookie Year: 2004
Location: Richmond, Virginia
Posts: 852
Cuog has a reputation beyond reputeCuog has a reputation beyond reputeCuog has a reputation beyond reputeCuog has a reputation beyond reputeCuog has a reputation beyond reputeCuog has a reputation beyond reputeCuog has a reputation beyond reputeCuog has a reputation beyond reputeCuog has a reputation beyond reputeCuog has a reputation beyond reputeCuog has a reputation beyond repute
Send a message via AIM to Cuog
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
__________________
KK4KQO
http://voltair.us
Too many projects, too little time.
  #15   Spotlight this post!  
Unread 28-01-2007, 21:13
ScottWalls ScottWalls is offline
Registered User
FRC #0245 (AdamBots)
Team Role: Leadership
 
Join Date: Mar 2006
Rookie Year: 2003
Location: Rochester Hills
Posts: 31
ScottWalls will become famous soon enoughScottWalls will become famous soon enough
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!)
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Using Vex Brain as FRC Coprocessor Tom Bottiglieri General Forum 25 18-04-2006 22:36
VEX + Coprocessor? ForgottenSalad FIRST Tech Challenge 4 13-04-2006 17:45
Offboard coprocessor! Ben Englert Programming 19 28-03-2006 18:34


All times are GMT -5. The time now is 23:54.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


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