Go to Post When we learn physics, we almost always "ignore friction". The real world never does... - Mike Betts [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 19-03-2006, 16:12
Ben Englert Ben Englert is offline
Registered User
FRC #1072
 
Join Date: Jan 2006
Location: San Jose CA
Posts: 40
Ben Englert has a spectacular aura aboutBen Englert has a spectacular aura aboutBen Englert has a spectacular aura about
Offboard coprocessor!

I am hell-bent on using an offboard coprocessor with the FRC next year because I'm sick of lookup tables that need to be regenerated every time hardware changes (although perl does expedite that process).

I've read the documentation for the Gumstix series of Linux single-board computers, as well as all of the Adambots' "Delta Force Coprocessor" material, and the FIRST rules regarding custom circuitry. I am about ready to take home an RC and order a Gumstix and get going.

I'm just wondering if anyone has any experience with this that they'd like to share.
__________________
Before a match at SVR, 3/17/06
Tatsu: "Yo Englert, what's our autonomous mode?"
Me: "We'll find out, won't we."
Both: *maniacal laughter*
After the match's autonomous period ends:
Me: "Well, the basic control system still responds. That's always good."
Both: *further laughter*
  #2   Spotlight this post!  
Unread 19-03-2006, 18:12
mogunus mogunus is offline
Registered User
AKA: Luciano DiFalcone
FRC #1350 (Rambots)
Team Role: Programmer
 
Join Date: Jan 2006
Rookie Year: 2003
Location: RI
Posts: 19
mogunus is an unknown quantity at this point
Re: Offboard coprocessor!

Quote:
Originally Posted by Ben Englert
I am hell-bent on using an offboard coprocessor with the FRC next year because I'm sick of lookup tables that need to be regenerated every time hardware changes (although perl does expedite that process).

I've read the documentation for the Gumstix series of Linux single-board computers, as well as all of the Adambots' "Delta Force Coprocessor" material, and the FIRST rules regarding custom circuitry. I am about ready to take home an RC and order a Gumstix and get going.

I'm just wondering if anyone has any experience with this that they'd like to share.
I used a gumstix to do binocular vision this year. They're AWESOME, and they work great. I'm putting together a wiki page on the gumstix tikiwiki, explaining everything, and I'll have my code up on their subversion repository soon. I'm also developing a wifi positioning system, using gumstix. All that info will be there too.
__________________
... 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.
-- Robert Firth
  #3   Spotlight this post!  
Unread 19-03-2006, 19:06
Mike's Avatar
Mike Mike is offline
has common ground with Matt Krass
AKA: Mike Sorrenti
FRC #0237 (Sie-H2O-Bots (See-Hoe-Bots) [T.R.I.B.E.])
Team Role: Programmer
 
Join Date: Dec 2004
Rookie Year: 2004
Location: Watertown, CT
Posts: 1,003
Mike has a reputation beyond reputeMike has a reputation beyond reputeMike has a reputation beyond reputeMike has a reputation beyond reputeMike has a reputation beyond reputeMike has a reputation beyond reputeMike has a reputation beyond reputeMike has a reputation beyond reputeMike has a reputation beyond reputeMike has a reputation beyond reputeMike has a reputation beyond repute
Re: Offboard coprocessor!

Unless you're really doing some hardcore stuff, I don't think a gumstix is necessary. Look at the Atmel AVR series, specifically the ATMegas. An STK500 development kit can be had for $80 and includes everything to get started. Someone likened it to a Swiss Army knife for microcontrollers, and I agree.

Atmel STK500
__________________
http://www.mikesorrenti.com/
  #4   Spotlight this post!  
Unread 19-03-2006, 20:08
coldabert's Avatar
coldabert coldabert is offline
The Dude
FRC #0888 (Robotiators)
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2003
Location: MD
Posts: 83
coldabert is a glorious beacon of lightcoldabert is a glorious beacon of lightcoldabert is a glorious beacon of lightcoldabert is a glorious beacon of lightcoldabert is a glorious beacon of light
Send a message via AIM to coldabert
Outboard motors

I would love to know what sort of programming you have that requires that much additional circuitry and time. Dont forget rules about using items from previous years, you wouldnt want to have it rejected by inspectors after that much. Not to mention the costs of development hardware.
  #5   Spotlight this post!  
Unread 21-03-2006, 00:59
Ben Englert Ben Englert is offline
Registered User
FRC #1072
 
Join Date: Jan 2006
Location: San Jose CA
Posts: 40
Ben Englert has a spectacular aura aboutBen Englert has a spectacular aura aboutBen Englert has a spectacular aura about
Re: Offboard coprocessor!

Quote:
Originally Posted by mogunus
I used a gumstix to do binocular vision this year. They're AWESOME, and they work great. I'm putting together a wiki page on the gumstix tikiwiki, explaining everything, and I'll have my code up on their subversion repository soon. I'm also developing a wifi positioning system, using gumstix. All that info will be there too.
Am looking forward to seeing that - I'm already in contact with the Adambots who are successfully using a Gumstix this year, and they have pointed me to their SVN repository as well. Their programmer mentioned that it would be really cool to have all teams using this collaborate on it. I definitely agree!

Please do post us a link when you have one.
__________________
Before a match at SVR, 3/17/06
Tatsu: "Yo Englert, what's our autonomous mode?"
Me: "We'll find out, won't we."
Both: *maniacal laughter*
After the match's autonomous period ends:
Me: "Well, the basic control system still responds. That's always good."
Both: *further laughter*
  #6   Spotlight this post!  
Unread 21-03-2006, 19:36
ericand's Avatar
ericand ericand is offline
Registered User
AKA: Eric Anderson
FRC #3765 (Terrabots)
Team Role: Mentor
 
Join Date: Jan 2005
Rookie Year: 2004
Location: St. Paul, MN
Posts: 148
ericand is a jewel in the roughericand is a jewel in the roughericand is a jewel in the rough
Re: Offboard coprocessor!

Team 1425 uses a PIC processor to controll the speed of the ball shooter this year. The shooter has two impeller wheels that give the ball its velocity. Our aiming depends on the shooter having a constant velocity as close to the limit as possible.

The PIC processor uses digital I/O to provide 2 bits of info for each impeller. The code on the robot controller uses 3 of the 4 possible
combinations to tell if the impeller is {too slow, on speed, too fast}

The robot controller uses this info to determine if/how to adjust the PWMs controlling the impeller motors.
  #7   Spotlight this post!  
Unread 22-03-2006, 05:16
Doug G's Avatar
Doug G Doug G is offline
Coach / Teacher
FRC #0701 (Robovikes)
Team Role: Coach
 
Join Date: Dec 2002
Rookie Year: 2001
Location: Fairfield, CA
Posts: 877
Doug G has a reputation beyond reputeDoug G has a reputation beyond reputeDoug G has a reputation beyond reputeDoug G has a reputation beyond reputeDoug G has a reputation beyond reputeDoug G has a reputation beyond reputeDoug G has a reputation beyond reputeDoug G has a reputation beyond reputeDoug G has a reputation beyond reputeDoug G has a reputation beyond reputeDoug G has a reputation beyond repute
Re: Offboard coprocessor!

Quote:
Originally Posted by ericand
Team 1425 uses a PIC processor to controll the speed of the ball shooter this year. The shooter has two impeller wheels that give the ball its velocity. Our aiming depends on the shooter having a constant velocity as close to the limit as possible.

The PIC processor uses digital I/O to provide 2 bits of info for each impeller. The code on the robot controller uses 3 of the 4 possible
combinations to tell if the impeller is {too slow, on speed, too fast}

The robot controller uses this info to determine if/how to adjust the PWMs controlling the impeller motors.
We do the same thing with our shooter, but just simply use a couple of encoders connected to the RC and Watson's velocity PID code with some tweaking of the constants and are getting pretty good results. So why use the separate PIC?
__________________
Work Hard, Have Fun, Make a Difference!

  #8   Spotlight this post!  
Unread 22-03-2006, 07:39
Gdeaver Gdeaver is offline
Registered User
FRC #1640
Team Role: Mentor
 
Join Date: Mar 2004
Rookie Year: 2001
Location: West Chester, Pa.
Posts: 1,363
Gdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond repute
Re: Offboard coprocessor!

I'm curious as to why there is a need for a powerful coprocessor. I can see using a small PIC for a sensor that requires I2Cc or SPI interface since we don't have access to the hardware on the robot controller. This year the camera certainly didn't overwhelm the processor. There are more limitations in the actual camera hardware and firmware. So why the need for a powerful
coproc? Are our games complex enough to justify one?
  #9   Spotlight this post!  
Unread 22-03-2006, 10:46
fowlerm's Avatar
fowlerm fowlerm is offline
Bringing .NET to Robots
AKA: Matthew Fowler
FRC #0312 (Heatwave); FRC #1369 (Minotaur)
Team Role: Engineer
 
Join Date: Apr 2005
Rookie Year: 2001
Location: St. Petersburg, FL, USA
Posts: 78
fowlerm has a spectacular aura aboutfowlerm has a spectacular aura aboutfowlerm has a spectacular aura about
Re: Offboard coprocessor!

We are using a 400MHz Gumstix running Windows CE 5 for our drivetrain/positioning system and target acquisition, but we didn't have it on the robot at UCF. It will certainly be there for Nationals.
  #10   Spotlight this post!  
Unread 22-03-2006, 18:07
devicenull devicenull is offline
Robot? We need a robot?
no team
 
Join Date: Sep 2004
Rookie Year: 1234
Location: n/a
Posts: 359
devicenull is just really nicedevicenull is just really nicedevicenull is just really nicedevicenull is just really nicedevicenull is just really nice
Re: Offboard coprocessor!

Quote:
Originally Posted by Gdeaver
I'm curious as to why there is a need for a powerful coprocessor. I can see using a small PIC for a sensor that requires I2Cc or SPI interface since we don't have access to the hardware on the robot controller. This year the camera certainly didn't overwhelm the processor. There are more limitations in the actual camera hardware and firmware. So why the need for a powerful
coproc? Are our games complex enough to justify one?
If your going to go through the effort of adding one, why not make it forwards-compatible? Sure, you might not need 400mhz of computing speed now, but what about in two years.. Wouldn't it then be a waste to have to redevelop everything?
  #11   Spotlight this post!  
Unread 25-03-2006, 11:04
lukevanoort lukevanoort is offline
in between teams
AKA: Luke Van Oort
no team
 
Join Date: Oct 2005
Rookie Year: 2005
Location: Waterloo, ON, Canada
Posts: 1,873
lukevanoort has a reputation beyond reputelukevanoort has a reputation beyond reputelukevanoort has a reputation beyond reputelukevanoort has a reputation beyond reputelukevanoort has a reputation beyond reputelukevanoort has a reputation beyond reputelukevanoort has a reputation beyond reputelukevanoort has a reputation beyond reputelukevanoort has a reputation beyond reputelukevanoort has a reputation beyond reputelukevanoort has a reputation beyond repute
Send a message via AIM to lukevanoort
Re: Offboard coprocessor!

Quote:
Originally Posted by Gdeaver
I'm curious as to why there is a need for a powerful coprocessor. I can see using a small PIC for a sensor that requires I2Cc or SPI interface since we don't have access to the hardware on the robot controller. This year the camera certainly didn't overwhelm the processor. There are more limitations in the actual camera hardware and firmware. So why the need for a powerful
coproc? Are our games complex enough to justify one?
Omni style drive systems can be. Also this year, if you threw PID loops on shooters and drivetrain, exponential joystick smoothing, pots on turret elevation and rotation, light sensors for ball indexing, accelerometers for traction control and auto, camera running a turret constantly, had a killough omni drive, and tried to run it all really fast without using any look-up tables, you might run out of power. (Or have to slow down response times) Hence, the offboard processor. In fact, if you learned to use it in the offseason, the offboard processor might speed up your programming, by letting you do quick and dirty solutions instead of having to optimize.
__________________
Team 1219: 2009 - Mentor
Team 587: 2005 - Animator, 2006-2008 - Team Captain
  #12   Spotlight this post!  
Unread 28-03-2006, 18:34
mogunus mogunus is offline
Registered User
AKA: Luciano DiFalcone
FRC #1350 (Rambots)
Team Role: Programmer
 
Join Date: Jan 2006
Rookie Year: 2003
Location: RI
Posts: 19
mogunus is an unknown quantity at this point
Re: Offboard coprocessor!

I use an offboard coprocessor for ease of programming and added horsepower. The PIC18 C is really too troublesome to write stereoscopic vision routines in, never mind powerful enough to execute them. For Manchester regional, what I got working was a really simple trig-based binocular vision scheme, a complete and total hack using two cameras, the light, and a gumstix. The reason I could use such a trig-heavy approach was the gumstix, you need lookup tables for that on a PIC, and using the actual functions would really slow you down.

For nationals, I'm working on implementing true binocular vision on the gumstix/cmucam array, along with the "light hack" for easy aiming. I might end up adding a third cmucam, I'm not sure. But this opens up all sorts of fun possibilities... In auto, stereoscopic vision combined with a good positioning system can lock on to, track, and ram an enemy bot. When I'm done and it doesn't look stupid anymore, I'll post the code for that.

(Also, the gumstix runs linux. Linux programming environment = wonderful. You can only program a PIC using clunky wine wrapperthings in linux. This way, there's the one PIC code that works and then you're done messing with that, its just easier to work with two linux systems and two REAL implementations of gcc, not PIC18 special C)
__________________
... 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.
-- Robert Firth
  #13   Spotlight this post!  
Unread 22-03-2006, 13:40
ericand's Avatar
ericand ericand is offline
Registered User
AKA: Eric Anderson
FRC #3765 (Terrabots)
Team Role: Mentor
 
Join Date: Jan 2005
Rookie Year: 2004
Location: St. Paul, MN
Posts: 148
ericand is a jewel in the roughericand is a jewel in the roughericand is a jewel in the rough
Re: Offboard coprocessor!

Quote:
Originally Posted by Doug G
We do the same thing with our shooter, but just simply use a couple of encoders connected to the RC and Watson's velocity PID code with some tweaking of the constants and are getting pretty good results. So why use the separate PIC?
2 reasons to use the PIC

1) The student who did it had some PIC experience and wanted to add a bit of interesting control circuitry. This also provides an example for future robots.

2) We were worried about the interrupt overhead from the impellers spinning at over 2000rpm. We did do a pass through mode so that (if there was a problem with the sensor PIC) we could hook the sensors up to interrupts 5 and 6 and do everything in the RC.

The off board PIC can determine the speed on every revolution by measuring the pulse width. The sensor
sees one high and one low every revolution.

We also thought about routing the GTS signals (from our robot drive system) through the PIC (or a similar device) to get the drive rotational direction since measuring the GTS pulse width is difficult to do in the RC. However, we ran out of time to do that.
  #14   Spotlight this post!  
Unread 22-03-2006, 18:45
lupjohn's Avatar
lupjohn lupjohn is offline
Registered User
AKA: Larry Upjohn
FRC #0692 (FemBots)
Team Role: Mentor
 
Join Date: Oct 2004
Rookie Year: 2002
Location: Sacramento, CA
Posts: 31
lupjohn is an unknown quantity at this point
Re: Offboard coprocessor!

Quote:
Originally Posted by Doug G
We do the same thing with our shooter, but just simply use a couple of encoders connected to the RC and Watson's velocity PID code with some tweaking of the constants and are getting pretty good results. So why use the separate PIC?
If you use the camera you are using a peripheral controller. In the 80S there was one controller chip in your car. Now, in the next century, I am sure there are at least 6 or more through out the new cars that communicate using the CAN networking protocol. My team has not utilized all of its computing power yet but ideally this would have been the way to go. Such as to off load some of the computational load for the shooter/camera combo to keep the master RC reasonably stressed. It is complex from the software standpoint particularly if you have several development environments ( IDE's, compilers, assemblers, etc.) to work with but the robot may be more effectively controlled by breaking down the control tasks and distributing the workload to peripherals closer to the effected component. Someday. LRU.
  #15   Spotlight this post!  
Unread 19-03-2006, 20:13
Joel J's Avatar
Joel J Joel J is offline
do you..
no team
 
Join Date: May 2001
Rookie Year: 2000
Location: San Jose, CA
Posts: 1,445
Joel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond reputeJoel J has a reputation beyond repute
Re: Offboard coprocessor!

There is a $50.00 demo board from microchip that actually includes the 18f8722.. its fairily small, and very useful..

http://microchip.com/stellent/idcplg...&part=DM183022
__________________
Joel Johnson

Division By Zero (229) Alumni, 2003-2007
RAGE (173) Alumni, 1999-2003
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


All times are GMT -5. The time now is 03:18.

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