Go to Post I'm intrigued by the possibility of Mayan stadium sports, minus the whole sacrificing part. - AlecMataloni [more]
Home
Go Back   Chief Delphi > Technical > Control System > FRC Control System
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
 
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 10-11-2012, 22:51
JPruim JPruim is offline
Registered User
FRC #4014
 
Join Date: Mar 2012
Location: United States
Posts: 5
JPruim is an unknown quantity at this point
Robot Co-Processors

I have heard like, 6 different thoughts on Co-Processors, i.e. an Arduino to handle other functions, ranging from an "Absolutely!" to a "Absolutely not.", and from what I gather, the Co-Processor has to
  • Not drive the bot
  • Talk to the cRIO about any driving
  • Disable when Kill Switch is hit
  • Be powered off the Bot's power supply
Is my list correct? I'm thinking about dealing with the Computer Vision on a Co-Processor and not get asked to remove it.
Reply With Quote
  #2   Spotlight this post!  
Unread 11-11-2012, 10:29
Unsung FIRST Hero
Al Skierkiewicz Al Skierkiewicz is offline
Broadcast Eng/Chief Robot Inspector
AKA: Big Al WFFA 2005
FRC #0111 (WildStang)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1996
Location: Wheeling, IL
Posts: 10,766
Al Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond repute
Re: Robot Co-Processors

J,
The rules are very specific on this subject and sometimes change from year to year so check the robot rules after kickoff. Yes you are correct under current rules. The computer if it is not a COTS computing device with it's own battery, must be powered from the PD board using appropriate wire and breaker protection. It cannot directly affect the movement of anything on the robot but must communicate with the Crio if needed for these actions. All other rules apply and will be checked during inspection.
__________________
Good Luck All. Learn something new, everyday!
Al
WB9UVJ
www.wildstang.org
________________________
Storming the Tower since 1996.
Reply With Quote
  #3   Spotlight this post!  
Unread 12-11-2012, 11:14
Daniel_LaFleur's Avatar
Daniel_LaFleur Daniel_LaFleur is offline
Mad Scientist
AKA: Me
FRC #2040 (DERT)
Team Role: Engineer
 
Join Date: Apr 2005
Rookie Year: 2003
Location: Peoria, IL
Posts: 1,953
Daniel_LaFleur has a reputation beyond reputeDaniel_LaFleur has a reputation beyond reputeDaniel_LaFleur has a reputation beyond reputeDaniel_LaFleur has a reputation beyond reputeDaniel_LaFleur has a reputation beyond reputeDaniel_LaFleur has a reputation beyond reputeDaniel_LaFleur has a reputation beyond reputeDaniel_LaFleur has a reputation beyond reputeDaniel_LaFleur has a reputation beyond reputeDaniel_LaFleur has a reputation beyond reputeDaniel_LaFleur has a reputation beyond repute
Send a message via MSN to Daniel_LaFleur
Re: Robot Co-Processors

Quote:
Originally Posted by JPruim View Post
I have heard like, 6 different thoughts on Co-Processors, i.e. an Arduino to handle other functions, ranging from an "Absolutely!" to a "Absolutely not.", and from what I gather, the Co-Processor has to
  • Not drive the bot
  • Correct. A co-processor may not directly control ANY output (not just the drivetrain). It may issue commands to the cRIO to execute drive functions.
    Quote:
    Originally Posted by JPruim View Post
  • Talk to the cRIO about any driving
  • ... or any outher output it wishes to activate.
    Quote:
    Originally Posted by JPruim View Post
  • Disable when Kill Switch is hit
  • Not entirely true. All motor outputs must disable when the e-stop is pressed. Since the outputs are all controlled by the cRIO, your coprocessor does not need to be disabled.
    Quote:
    Originally Posted by JPruim View Post
  • Be powered off the Bot's power supply
  • If it is a COTS item, and normally contains it's own battery (like a laptop, for example) it need not run off of the robots battery. That being said, it will be scrutenized closely for safety and other rules compliances.
Quote:
Originally Posted by JPruim View Post
Is my list correct? I'm thinking about dealing with the Computer Vision on a Co-Processor and not get asked to remove it.
One last caveat. All of my answers are based on last years rules. This years rules may be different. Check the rules, when they come out, for compliance.
__________________
___________________
"We are not now that strength which in old days moved earth and heaven; that which we are, we are;
One equal temper of heroic hearts, Made weak by time and fate, but strong in will
To strive, to seek, to find, and not to yield. "
- Tennyson, Ulysses
Reply With Quote
  #4   Spotlight this post!  
Unread 29-11-2012, 13:35
cbpetrovic's Avatar
cbpetrovic cbpetrovic is offline
Registered User
AKA: Mr. P
FRC #0166 (Chop Shop)
Team Role: Mentor
 
Join Date: Mar 2003
Rookie Year: 2001
Location: Merrimack, NH
Posts: 34
cbpetrovic is a jewel in the roughcbpetrovic is a jewel in the roughcbpetrovic is a jewel in the rough
Send a message via AIM to cbpetrovic
Re: Robot Co-Processors

So, one thought that we (T166) had regarding the use of Arduino-based coprocessors is to use them to provide sensor input to the cRIO either via the I2C bus or via the RS-232 comm port. The intent is to offload the cRIO, have sensor inputs processed by the Arduino and made available to the cRIO upon request.

It's not driving any motors directly, will be obtaining power from the +5V PD.

Thoughts?
__________________
C. B. Petrovic, Mentor/Team Advisor Team 166

Chairman's Award - UNH District Event, 2016
Entrepreneurship Award - Northeastern University District Event, 2015
Gracious Professionalism - Pioneer Valley District Event, 2015
Team Spirit - Pine Tree District Event, 2014
Entrepreneurship Award - University of New Hampshire, 2014
District EventMotorola Quality Award - LasVegas Regional, 2011
Chairman's Award - 2011, GSR
Gracious Professionalism - 2010, GSR
Innovation In Controls - 2009, GSR
Gracious Professionalism - 2008, Wisconsin Regional
Judges Award - 2007, GSR
Judges & Safety Award - 2006, GSR
Engineering Inspiration - 2003, GSR
Animation Honorable Mention - 2002, Nationals
Reply With Quote
  #5   Spotlight this post!  
Unread 29-11-2012, 13:42
Tom Bottiglieri Tom Bottiglieri is offline
Registered User
FRC #0254 (The Cheesy Poofs)
Team Role: Engineer
 
Join Date: Jan 2004
Rookie Year: 2003
Location: San Francisco, CA
Posts: 3,185
Tom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond repute
Re: Robot Co-Processors

Quote:
Originally Posted by cbpetrovic View Post
So, one thought that we (T166) had regarding the use of Arduino-based coprocessors is to use them to provide sensor input to the cRIO either via the I2C bus or via the RS-232 comm port. The intent is to offload the cRIO, have sensor inputs processed by the Arduino and made available to the cRIO upon request.

It's not driving any motors directly, will be obtaining power from the +5V PD.

Thoughts?
The cRIO provides hardware decoding of many sensor signals while an Arduino will need to handle them with software (ex: counting encoder ticks with a counter vs servicing an interrupt to increment a variable). I'm not sure if the Arduino lends itself to improving your robot unless you are tied to the Arduino environment or want to do something that the cRIO FPGA image doesn't support.
Reply With Quote
  #6   Spotlight this post!  
Unread 29-11-2012, 14:31
cbpetrovic's Avatar
cbpetrovic cbpetrovic is offline
Registered User
AKA: Mr. P
FRC #0166 (Chop Shop)
Team Role: Mentor
 
Join Date: Mar 2003
Rookie Year: 2001
Location: Merrimack, NH
Posts: 34
cbpetrovic is a jewel in the roughcbpetrovic is a jewel in the roughcbpetrovic is a jewel in the rough
Send a message via AIM to cbpetrovic
Re: Robot Co-Processors

Understood.

But I should have been clearer with the posting.

Legal or not?

R65, as I read it, says a co-processor is allowed.

Further, with 19-20 s/w people working on code, it's rather difficult to provide platforms for them to work with.

Arduinos are cheap.
__________________
C. B. Petrovic, Mentor/Team Advisor Team 166

Chairman's Award - UNH District Event, 2016
Entrepreneurship Award - Northeastern University District Event, 2015
Gracious Professionalism - Pioneer Valley District Event, 2015
Team Spirit - Pine Tree District Event, 2014
Entrepreneurship Award - University of New Hampshire, 2014
District EventMotorola Quality Award - LasVegas Regional, 2011
Chairman's Award - 2011, GSR
Gracious Professionalism - 2010, GSR
Innovation In Controls - 2009, GSR
Gracious Professionalism - 2008, Wisconsin Regional
Judges Award - 2007, GSR
Judges & Safety Award - 2006, GSR
Engineering Inspiration - 2003, GSR
Animation Honorable Mention - 2002, Nationals
Reply With Quote
  #7   Spotlight this post!  
Unread 29-11-2012, 14:45
JesseK's Avatar
JesseK JesseK is online now
Expert Flybot Crasher
FRC #1885 (ILITE)
Team Role: Mentor
 
Join Date: Mar 2007
Rookie Year: 2005
Location: Reston, VA
Posts: 3,625
JesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond repute
Re: Robot Co-Processors

Mr. P,

Arduinos may be cheap and a good way to write software in the offseason, but I think you'll spend much more time in integration than you'd spend in just writing C++ code for the cRIO.

You could write a layer between the robot logic code and the arduino-specific code such that the robot logic code can be transferred to the WindRiver environment and compiled for the cRIO directly. That's (essentially) what we do on much larger platforms (I program submarines) to isolate software from hardware. However, there will need to be a substantial amount of testing on the CRIO platform before you can call the code reliable.

As for the teaching side of things, if you have 20 kids in software then perhaps you can come up with other tasks for half of them to do. Tasks like custom dashboards written in Java that deserialize custom packets from the robot. There's a whole side of robot-human interaction that can be explored if done properly. There's also a very large set of tools these programmers can write for your robot so that tuning PID's, limits of sensors, debug levels of files, etc, become much easier for the other programmers in Week 6.

Good luck!
__________________

Drive Coach, 1885 (2007-present)
CAD Library Updated 5/1/16 - 2016 Curie/Carver Industrial Design Winner
GitHub
Reply With Quote
  #8   Spotlight this post!  
Unread 29-11-2012, 16:54
joelg236 joelg236 is offline
4334 Retired Mentor & Alumni
AKA: Joel Gallant
no team
Team Role: Mentor
 
Join Date: Dec 2011
Rookie Year: 2012
Location: Calgary
Posts: 733
joelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond reputejoelg236 has a reputation beyond repute
Re: Robot Co-Processors

I just had an idea related to this... Would a rasberry pi attached to the CRIO through the bridge be legal? Would vision processing on that be practical / better than doing it on the CRIO? (ie. not disrupting driving code)
__________________
All opinions are my own.
Reply With Quote
  #9   Spotlight this post!  
Unread 30-11-2012, 09:46
JesseK's Avatar
JesseK JesseK is online now
Expert Flybot Crasher
FRC #1885 (ILITE)
Team Role: Mentor
 
Join Date: Mar 2007
Rookie Year: 2005
Location: Reston, VA
Posts: 3,625
JesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond repute
Re: Robot Co-Processors

Quote:
Originally Posted by joelg236 View Post
I just had an idea related to this... Would a rasberry pi attached to the CRIO through the bridge be legal? Would vision processing on that be practical / better than doing it on the CRIO? (ie. not disrupting driving code)
I'm not sure about the raspberry pi specifically as far as "better". The setup is legal, so long as the board is supplied with power from a legal source. I'll also note here that if the vision system has a tendency to dump packets and cause high latencies on the field, then the FTA will come talk to you about why there's so much network traffic (not in the rules directly -- it's more a GP thing, which IS in the rules). So at least be aware of your network impact.

We're trying an offboard processor following the whitepaper 987 put out at the end of last year so we can offload Kinect processing from the cRIO. We also have some kids dedicated to the interfacing of the 3 systems (cRIO, pandaboard, & custom dashboard). This vision system will (at a high level) not receive communications from the cRIO, but rather be a standalone processor that spits out information which will override certain logic blocks of our autonomous code. That way, [when] the vision system crashes, the autonomous code still has a default set of logic to perform (probably dead reckoning).
__________________

Drive Coach, 1885 (2007-present)
CAD Library Updated 5/1/16 - 2016 Curie/Carver Industrial Design Winner
GitHub

Last edited by JesseK : 30-11-2012 at 09:50. Reason: IF the vision system crashes -- ha
Reply With Quote
  #10   Spotlight this post!  
Unread 30-11-2012, 10:23
Unsung FIRST Hero
Al Skierkiewicz Al Skierkiewicz is offline
Broadcast Eng/Chief Robot Inspector
AKA: Big Al WFFA 2005
FRC #0111 (WildStang)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1996
Location: Wheeling, IL
Posts: 10,766
Al Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond reputeAl Skierkiewicz has a reputation beyond repute
Re: Robot Co-Processors

Quote:
Originally Posted by joelg236 View Post
I just had an idea related to this... Would a rasberry pi attached to the CRIO through the bridge be legal? Would vision processing on that be practical / better than doing it on the CRIO? (ie. not disrupting driving code)
Could be...as long as you are compliant with all other rules. Among those, direct control, power supply, and protected ports.
__________________
Good Luck All. Learn something new, everyday!
Al
WB9UVJ
www.wildstang.org
________________________
Storming the Tower since 1996.
Reply With Quote
  #11   Spotlight this post!  
Unread 29-11-2012, 17:17
artdutra04's Avatar
artdutra04 artdutra04 is offline
VEX Robotics Engineer
AKA: Arthur Dutra IV; NERD #18
FRC #0148 (Robowranglers)
Team Role: Engineer
 
Join Date: Mar 2005
Rookie Year: 2002
Location: Greenville, TX
Posts: 3,078
artdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond repute
Re: Robot Co-Processors

Quote:
Originally Posted by cbpetrovic View Post
So, one thought that we (T166) had regarding the use of Arduino-based coprocessors is to use them to provide sensor input to the cRIO either via the I2C bus or via the RS-232 comm port. The intent is to offload the cRIO, have sensor inputs processed by the Arduino and made available to the cRIO upon request.

It's not driving any motors directly, will be obtaining power from the +5V PD.

Thoughts?
Compared to the processing power of the cRIO+FPGA, an Arduino is pretty wimpy. Offloading sensor inputs to an Arduino won't really free up any meaningful resources that would make an additional layer of system complexity (and potential problems) worth it, especially since a lot of the heavy lifting in regards to I/O is handled via the FPGA. (Imagine all the interrupts from multiple 39,000 count-per-second encoders that the FPGA prevents!)

The only reasons to use a co-processor are for computationally intensive tasks (like video processing) or if you need additional sensor input ports beyond what the cRIO can provide.
__________________
Art Dutra IV
Robotics Engineer, VEX Robotics, Inc., a subsidiary of Innovation First International (IFI)
Robowranglers Team 148 | GUS Robotics Team 228 (Alumni) | Rho Beta Epsilon (Alumni) | @arthurdutra

世上无难事,只怕有心人.
Reply With Quote
Reply


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 19:03.

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