Go to Post If I can do it, it's not art. - Ether [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 26-05-2012, 11:08
kenavt's Avatar
kenavt kenavt is offline
Registered User
AKA: Colin S
no team
Team Role: Alumni
 
Join Date: Feb 2010
Rookie Year: 2010
Location: Ann Arbor
Posts: 253
kenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond repute
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
__________________
University of Michigan Computer Engineering '17

FRC 2337 student alumni (2010-2013)
  #2   Spotlight this post!  
Unread 26-05-2012, 12:05
apalrd's Avatar
apalrd apalrd is offline
More Torque!
AKA: Andrew Palardy (Most people call me Palardy)
VRC #3333
Team Role: College Student
 
Join Date: Mar 2009
Rookie Year: 2009
Location: Auburn Hills, MI
Posts: 1,347
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 - Computer Engineering
Kettering Motorsports
Williams International - Commercial Engines - Controls and Accessories
FRC 33 - The Killer Bees - 2009-2012 Student, 2013-2014 Advisor
VEX IQ 3333 - The Bumble Bees - 2014+ Mentor

"Sometimes, the elegant implementation is a function. Not a method. Not a class. Not a framework. Just a function." ~ John Carmack
  #3   Spotlight this post!  
Unread 26-05-2012, 17:08
avanboekel's Avatar
avanboekel avanboekel is offline
Registered User
AKA: Adam Van Boekel
FRC #5934 (Gear it Forward, Crowbotics)
Team Role: Mentor
 
Join Date: Jan 2010
Rookie Year: 2010
Location: Oswego, IL
Posts: 372
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.
__________________


2338 Gear It Forward | Student 2010-2013 | Mentor 2014-Present | oswegofirst.org
2013 Wisconsin Regional Winner (1732, 111, 2338)
2013 Midwest Regional Dean's List Finalist
2015 Midwest Regional Chairman's Award Winner
2015 Archimedes Subdivision Winner (1023, 2338, 3996, 1089)
2016 Midwest Regional Chairman's Award Winner
4096 CTRL-Z | Mentor 2014 | team4096.org
5934 Crowbotics | Mentor 2016-Present | crowbotics.org
  #4   Spotlight this post!  
Unread 26-05-2012, 21:37
Zach O's Avatar
Zach O Zach O is offline
Building an iOS app @ glacial speed
AKA: @FRCZach
no team
Team Role: Alumni
 
Join Date: Jan 2009
Rookie Year: 2009
Location: Atlanta, GA
Posts: 512
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
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
__________________
Follow me twitter dot com slash frc zach

Last edited by Zach O : 26-05-2012 at 21:46.
  #5   Spotlight this post!  
Unread 26-05-2012, 21:39
Zach O's Avatar
Zach O Zach O is offline
Building an iOS app @ glacial speed
AKA: @FRCZach
no team
Team Role: Alumni
 
Join Date: Jan 2009
Rookie Year: 2009
Location: Atlanta, GA
Posts: 512
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
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.
__________________
Follow me twitter dot com slash frc zach
  #6   Spotlight this post!  
Unread 26-05-2012, 22:02
Woolly's Avatar
Woolly Woolly is offline
Programming Mentor
AKA: Dillon Woollums
FRC #1806 (S.W.A.T.)
Team Role: Mentor
 
Join Date: Feb 2012
Rookie Year: 2012
Location: Springfield, MO
Posts: 512
Woolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond repute
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?
  #7   Spotlight this post!  
Unread 26-05-2012, 22:05
Zach O's Avatar
Zach O Zach O is offline
Building an iOS app @ glacial speed
AKA: @FRCZach
no team
Team Role: Alumni
 
Join Date: Jan 2009
Rookie Year: 2009
Location: Atlanta, GA
Posts: 512
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
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
__________________
Follow me twitter dot com slash frc zach
  #8   Spotlight this post!  
Unread 26-05-2012, 22:05
apalrd's Avatar
apalrd apalrd is offline
More Torque!
AKA: Andrew Palardy (Most people call me Palardy)
VRC #3333
Team Role: College Student
 
Join Date: Mar 2009
Rookie Year: 2009
Location: Auburn Hills, MI
Posts: 1,347
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 - Computer Engineering
Kettering Motorsports
Williams International - Commercial Engines - Controls and Accessories
FRC 33 - The Killer Bees - 2009-2012 Student, 2013-2014 Advisor
VEX IQ 3333 - The Bumble Bees - 2014+ Mentor

"Sometimes, the elegant implementation is a function. Not a method. Not a class. Not a framework. Just a function." ~ John Carmack
  #9   Spotlight this post!  
Unread 26-05-2012, 22:10
Woolly's Avatar
Woolly Woolly is offline
Programming Mentor
AKA: Dillon Woollums
FRC #1806 (S.W.A.T.)
Team Role: Mentor
 
Join Date: Feb 2012
Rookie Year: 2012
Location: Springfield, MO
Posts: 512
Woolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond reputeWoolly has a reputation beyond repute
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.
  #10   Spotlight this post!  
Unread 27-05-2012, 00:14
kenavt's Avatar
kenavt kenavt is offline
Registered User
AKA: Colin S
no team
Team Role: Alumni
 
Join Date: Feb 2010
Rookie Year: 2010
Location: Ann Arbor
Posts: 253
kenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond reputekenavt has a reputation beyond repute
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.
__________________
University of Michigan Computer Engineering '17

FRC 2337 student alumni (2010-2013)
  #11   Spotlight this post!  
Unread 27-05-2012, 01:10
apalrd's Avatar
apalrd apalrd is offline
More Torque!
AKA: Andrew Palardy (Most people call me Palardy)
VRC #3333
Team Role: College Student
 
Join Date: Mar 2009
Rookie Year: 2009
Location: Auburn Hills, MI
Posts: 1,347
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 - Computer Engineering
Kettering Motorsports
Williams International - Commercial Engines - Controls and Accessories
FRC 33 - The Killer Bees - 2009-2012 Student, 2013-2014 Advisor
VEX IQ 3333 - The Bumble Bees - 2014+ Mentor

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

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