Go to Post We have to have a water-based game discussion each year, because every time I try to start up a "jello-based game" thread no one takes me seriously... - dlavery [more]
Home
Go Back   Chief Delphi > Technical > Programming
Team 51   CD-Events   CD-Media   CD-Swap   CD-Spy   FRC-Spy   Unsung FIRST Heroes   WFA
portal register members calendar search Today's Posts Mark Forums Read FAQ rules
VEXpro
The Chief Delphi Forums are sponsored by Innovation First International, Inc.
Kettering University
ADVERTISEMENT

 
Reply
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 05-26-2012, 10:08 AM
kenavt's Avatar
kenavt kenavt is offline
outwork us.
AKA: Colin S
FRC #2337 (EngiNERDs)
Team Role: Alumni
 
Join Date: Feb 2010
Rookie Year: 2010
Location: Premier Tooling Systems
Posts: 221
kenavt has a brilliant futurekenavt has a brilliant futurekenavt has a brilliant futurekenavt has a brilliant futurekenavt has a brilliant futurekenavt has a brilliant futurekenavt has a brilliant futurekenavt has a brilliant futurekenavt has a brilliant futurekenavt has a brilliant futurekenavt has a brilliant future
Team 2337 - 2012 Rebound Rumble Code

For the first time, Team 2337 is open-sourcing our competition code for our Rebound Rumble robot, the Admiral. Any comments and questions are welcome.

Code source on GitHub: https://github.com/Team2337/2012ReboundRumble

For more information on robot performance: http://www.team2337.com/robots.html

The robot CAD can be found on FRC-Designs: http://www.frc-designs.com/html/CAD_2012.html

More pictures of the Admiral can be found here: https://plus.google.com/115608715549316219693/photos;

GitHub handles LabVIEW files as strictly binary files, so to actually view the code, one must download this whole repo and view it on a local installation of LabVIEW 2012.

A couple of code features:
  • An autonomous that reads scripts (with its own language) placed via FTP on the cRIO.
  • All logic is contained inside the Periodic Tasks.vi, with control data passed to Periodic Tasks via local variables
  • Simple shooter speed control
  • A basic vision program mostly copied from the Rectangular Target Processing example
  • 'Cheesy drive' - a form of arcade drive - provided by FRC 33 (which was based on work done by FRC 254)
  • An intake logic system used to suck balls in one at a time, and queue balls out one at a time
__________________
Drove:
2012 TARDEC, MARC, IRI, Kettering Kickoff
2013 Kettering, Troy, Bedford, MSC, Galileo
Team 2337 GitHub


Hard work beats talent, when talent doesn't work hard.
Reply With Quote
  #2   Spotlight this post!  
Unread 05-26-2012, 11:05 AM
apalrd's Avatar
apalrd apalrd is offline
Embedded Programmer
AKA: Andrew Palardy (Most people call me Palardy)
FRC #0033 (Killer Bees)
Team Role: College Student
 
Join Date: Mar 2009
Rookie Year: 2009
Location: Auburn Hills, MI
Posts: 1,154
apalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond repute
Re: Team 2337 - 2012 Rebound Rumble Code

I looked through the Auton code. Could you possibly provide an example of what a script looks like?
__________________
Kettering University - Electrical Engineering
Kettering University SAE Teams
Chrysler Powertrain - Controls and Calibration

"Sometimes, the elegant implementation is a function. Not a method. Not a class. Not a framework. Just a function." ~ John Carmack
Reply With Quote
  #3   Spotlight this post!  
Unread 05-26-2012, 04:08 PM
avanboekel's Avatar
avanboekel avanboekel is offline
Gear it FORWARD!
AKA: Adam
FRC #2338 (Gear it Forward)
Team Role: Alumni
 
Join Date: Jan 2010
Rookie Year: 2010
Location: Oswego, IL
Posts: 277
avanboekel has a brilliant futureavanboekel has a brilliant futureavanboekel has a brilliant futureavanboekel has a brilliant futureavanboekel has a brilliant futureavanboekel has a brilliant futureavanboekel has a brilliant futureavanboekel has a brilliant futureavanboekel has a brilliant futureavanboekel has a brilliant futureavanboekel has a brilliant future
Re: Team 2337 - 2012 Rebound Rumble Code

Can you explain how the cheesy drive works. I have only tried tank and arcade in the past.
__________________
http://oswegofirst.org/
2013 Galileo Quarterfinalists (2512, 1323)
2013 Midwest Dean's List Finalist
2013 Midwest Gracious Professionalism Award
2013 Midwest Semifinalist (111, 1675)
2013 Wisconsin Winners (1732, 111)
2012 Midwest Judges award
2012 Midwest Semifinalists (2781, 2709)
2011 Newton Division
2011 Midwest Quarterfinalists (2410, 2022)
2010 Midwest Quarterfinalists (2769, 3061)
2010 Wisconsin Quarterfinalists (2826, 1091)
Reply With Quote
  #4   Spotlight this post!  
Unread 05-26-2012, 08:37 PM
Zach O's Avatar
Zach O Zach O is offline
I send texts/2337 groupie
AKA: @FRCZach
no team
Team Role: College Student
 
Join Date: Jan 2009
Rookie Year: 2009
Location: Kalamazoo, MI
Posts: 431
Zach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond repute
Send a message via Skype™ to Zach O
Re: Team 2337 - 2012 Rebound Rumble Code

Quote:
Originally Posted by apalrd View Post
I looked through the Auton code. Could you possibly provide an example of what a script looks like?
Here's a copy of the auton scripts. I can't tell you when they're from in the season, but they work. The top line is a description of what the auton does. I'm sure once Colin checks back in he'll explain a little about the format of the files.

http://zcry.me/RrCj
__________________
Check out my sites - FRC Miner | FRC Megaphone

Last edited by Zach O : 05-26-2012 at 08:46 PM.
Reply With Quote
  #5   Spotlight this post!  
Unread 05-26-2012, 08:39 PM
Zach O's Avatar
Zach O Zach O is offline
I send texts/2337 groupie
AKA: @FRCZach
no team
Team Role: College Student
 
Join Date: Jan 2009
Rookie Year: 2009
Location: Kalamazoo, MI
Posts: 431
Zach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond repute
Send a message via Skype™ to Zach O
Re: Team 2337 - 2012 Rebound Rumble Code

Quote:
Originally Posted by avanboekel View Post
Can you explain how the cheesy drive works. I have only tried tank and arcade in the past.
I can't explain the LabVIEW part of it, but I can tell you how it works controls-wise. One of the sticks controls the forward and backwards drive, and the other stick will control turning. So your two axes are separated. I believe we have it in our code where if you're not going as fast on the forward-reverse stick, you'll get sharper turns.
__________________
Check out my sites - FRC Miner | FRC Megaphone
Reply With Quote
  #6   Spotlight this post!  
Unread 05-26-2012, 09:02 PM
Woolly's Avatar
Woolly Woolly is offline
Registered User
AKA: Dillon Woollums
FRC #1806 (S.W.A.T.)
Team Role: Programmer
 
Join Date: Feb 2012
Rookie Year: 2012
Location: Smithville, MO
Posts: 200
Woolly has much to be proud ofWoolly has much to be proud ofWoolly has much to be proud ofWoolly has much to be proud ofWoolly has much to be proud ofWoolly has much to be proud ofWoolly has much to be proud ofWoolly has much to be proud ofWoolly has much to be proud ofWoolly has much to be proud of
Send a message via Skype™ to Woolly
Re: Team 2337 - 2012 Rebound Rumble Code

I'll just do a quick copypasta from Twitter for this:
Quote:
Originally Posted by Woolly4 on Twitter
@Team2337 Hm... that command based autonomous looks pretty clever If I do say so myself. Though, could you clarify what poops.vi does?
Reply With Quote
  #7   Spotlight this post!  
Unread 05-26-2012, 09:05 PM
Zach O's Avatar
Zach O Zach O is offline
I send texts/2337 groupie
AKA: @FRCZach
no team
Team Role: College Student
 
Join Date: Jan 2009
Rookie Year: 2009
Location: Kalamazoo, MI
Posts: 431
Zach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond repute
Send a message via Skype™ to Zach O
Re: Team 2337 - 2012 Rebound Rumble Code

Quote:
Originally Posted by Woolly View Post
I'll just do a quick copypasta from Twitter for this:
poops.vi "poops" out all the digital IO states onto the driver console. It updates live with the robot, so you can see the IOs change as you go. We were having a lot of issues with our sensors at the beginning of the season, so we made this VI for debugging purposes.

It looks like I'm going to have to review filenames before we publish them next time
__________________
Check out my sites - FRC Miner | FRC Megaphone
Reply With Quote
  #8   Spotlight this post!  
Unread 05-26-2012, 09:05 PM
apalrd's Avatar
apalrd apalrd is offline
Embedded Programmer
AKA: Andrew Palardy (Most people call me Palardy)
FRC #0033 (Killer Bees)
Team Role: College Student
 
Join Date: Mar 2009
Rookie Year: 2009
Location: Auburn Hills, MI
Posts: 1,154
apalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond repute
Re: Team 2337 - 2012 Rebound Rumble Code

Quote:
Originally Posted by Zach O View Post
I can't explain the LabVIEW part of it, but I can tell you how it works controls-wise. One of the sticks controls the forward and backwards drive, and the other stick will control turning. So your two axes are separated. I believe we have it in our code where if you're not going as fast on the forward-reverse stick, you'll get sharper turns.
The turning power is proportional to the forward power, and added/subtracted to the forward power. If the forward power is 0, the turning power is sent to the motors. This provides better control at high speeds, and with varying speeds.
__________________
Kettering University - Electrical Engineering
Kettering University SAE Teams
Chrysler Powertrain - Controls and Calibration

"Sometimes, the elegant implementation is a function. Not a method. Not a class. Not a framework. Just a function." ~ John Carmack
Reply With Quote
  #9   Spotlight this post!  
Unread 05-26-2012, 09:10 PM
Woolly's Avatar
Woolly Woolly is offline
Registered User
AKA: Dillon Woollums
FRC #1806 (S.W.A.T.)
Team Role: Programmer
 
Join Date: Feb 2012
Rookie Year: 2012
Location: Smithville, MO
Posts: 200
Woolly has much to be proud ofWoolly has much to be proud ofWoolly has much to be proud ofWoolly has much to be proud ofWoolly has much to be proud ofWoolly has much to be proud ofWoolly has much to be proud ofWoolly has much to be proud ofWoolly has much to be proud ofWoolly has much to be proud of
Send a message via Skype™ to Woolly
Re: Team 2337 - 2012 Rebound Rumble Code

Quote:
Originally Posted by Zach O View Post
poops.vi "poops" out all the digital IO states onto the driver console. It updates live with the robot, so you can see the IOs change as you go. We were having a lot of issues with our sensors at the beginning of the season, so we made this VI for debugging purposes.

It looks like I'm going to have to review filenames before we publish them next time
Maybe reviewing them would be a good idea, but as long as you put a comment in it explaining what it actually does, it's at least worth a good laugh.
I mean, in our code, the logo for the vi that runs ball collection looks like a flux capacitor for no apparent reason.
Reply With Quote
  #10   Spotlight this post!  
Unread 05-26-2012, 11:14 PM
kenavt's Avatar
kenavt kenavt is offline
outwork us.
AKA: Colin S
FRC #2337 (EngiNERDs)
Team Role: Alumni
 
Join Date: Feb 2010
Rookie Year: 2010
Location: Premier Tooling Systems
Posts: 221
kenavt has a brilliant futurekenavt has a brilliant futurekenavt has a brilliant futurekenavt has a brilliant futurekenavt has a brilliant futurekenavt has a brilliant futurekenavt has a brilliant futurekenavt has a brilliant futurekenavt has a brilliant futurekenavt has a brilliant futurekenavt has a brilliant future
Re: Team 2337 - 2012 Rebound Rumble Code

Hey guys, sorry - I had family over today, and frankly I wasn't expecting as much interest as was displayed.

I was intending to post example scripts, but I didn't have access to any - which I was planning to remedy next week. However, I took the scripts from what Zach posted and pushed the ones we actually used this year to GitHub, under the "Autonomous Scripts" folder, as well as a quick Readme on them.

For a quick overview, the way the a function works TYPICALLY follows the formula:

commandFunction(relative, start type, start param, end type, end param)

So, for instance, the function:

intake(relative, label-end, shootOne, t, .5, intakeOne)

Will follow the end of a label('shootOne'), lasts for .5 seconds, and is assigned a label ('intakeOne').

Hopefully this helps.
__________________
Drove:
2012 TARDEC, MARC, IRI, Kettering Kickoff
2013 Kettering, Troy, Bedford, MSC, Galileo
Team 2337 GitHub


Hard work beats talent, when talent doesn't work hard.
Reply With Quote
  #11   Spotlight this post!  
Unread 05-27-2012, 12:10 AM
apalrd's Avatar
apalrd apalrd is offline
Embedded Programmer
AKA: Andrew Palardy (Most people call me Palardy)
FRC #0033 (Killer Bees)
Team Role: College Student
 
Join Date: Mar 2009
Rookie Year: 2009
Location: Auburn Hills, MI
Posts: 1,154
apalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond repute
Re: Team 2337 - 2012 Rebound Rumble Code

Reading over some of the scripting system, there's quite an elegance to the entire system. I do like it a lot.
__________________
Kettering University - Electrical Engineering
Kettering University SAE Teams
Chrysler Powertrain - Controls and Calibration

"Sometimes, the elegant implementation is a function. Not a method. Not a class. Not a framework. Just a function." ~ John Carmack
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 11:29 PM.

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


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Copyright © Delphi and Pontiac Central High School