Go to Post Two students with no clue but enough dedication to work on something is always better than one expert who doesn't care enough not to leaveit until the last day. - Matt Krass [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 Rating: Thread Rating: 2 votes, 5.00 average. Display Modes
  #16   Spotlight this post!  
Unread 13-03-2011, 23:51
ayeckley's Avatar
ayeckley ayeckley is offline
Registered User
AKA: Alex Yeckley
FRC #2252 (Mavericks)
Team Role: Mentor
 
Join Date: Apr 2007
Rookie Year: 2007
Location: Sandusky, OH
Posts: 268
ayeckley has a reputation beyond reputeayeckley has a reputation beyond reputeayeckley has a reputation beyond reputeayeckley has a reputation beyond reputeayeckley has a reputation beyond reputeayeckley has a reputation beyond reputeayeckley has a reputation beyond reputeayeckley has a reputation beyond reputeayeckley has a reputation beyond reputeayeckley has a reputation beyond reputeayeckley has a reputation beyond repute
Re: Autonomy: How Did You Guys Do It?

Playback of recorded data from one of ten driver-selected .xls files stored on the cRIO. The file is selected during Disabled mode using buttons on one of the driver joysticks. The data is recorded during early practice matches to get a "gross" autonomous play accomplished, and then edited via MS Excel for any fine-tuning needed over the next few days. The recorded data includes joystick positions, button status, and pSoc switch status. It is written to a lossless queue (FIFO) at 20ms intervals (the same rate at which it arrives from the Driver Station) and eventually written to a file in one fell swoop once the driver decides to stop recording data.

For matches, the desired autonomous play is selected by the driver. Playback data from the corresponding .xls file is then loaded into several arrays (all while in Disabled mode). At the start of Autonomous, the data is "played" out from those arrays into the appropriate subsystem VIs (drive, arm, etc.) at the same rate at which is was collected. Of course, there is some variability in the response of the mechanical system from match to match but it is minimal. I guess you could call this a reasonably sophisticated open loop system.

Each link in our two-jointed tube-handling arm is controlled via independent PID loops. Pre-identified angular positions of each joint are contained in a lookup table of positions (home, feeding station, floor pickup, top center, etc.) stored in a .ini file on the cRIO similarly to the autonomous play files. A state machine monitors the status of buttons on the Driver Station and loads the angular positions into the PID setpoints when a state change occurs. The same state machine runs in both Autonomous as well as Teleop since the arm control VI doesn't care if the inputs are coming from a human being or from recorded data.

We had a pretty good success rate hanging ubertubes on the top peg at Pittsburgh using this system. The main problem we had was in getting our claw clear of the tube before backing away from the rack; we sometimes de-scored ourselves. There are some drawbacks to using the approach described, but as they say in math classes - the proof is left to the reader.
__________________


Last edited by ayeckley : 13-03-2011 at 23:54. Reason: Typo
  #17   Spotlight this post!  
Unread 13-03-2011, 23:58
AllenGregoryIV's Avatar
AllenGregoryIV AllenGregoryIV is offline
Engineering Coach
AKA: Allen "JAG" Gregory
FRC #3847 (Spectrum)
Team Role: Coach
 
Join Date: Jul 2008
Rookie Year: 2003
Location: Texas
Posts: 2,562
AllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond reputeAllenGregoryIV has a reputation beyond repute
Send a message via AIM to AllenGregoryIV
Re: Autonomy: How Did You Guys Do It?

Our autonomous uses one sonar on the left and one sonar on the front. Paired with our omni directional drive, the lane divider and driver station wall allow us to know exactly where we are. We also have a gyro to keep us orientated correctly, we were hoping to use two range finders up front to orient our selves but we never got that working fully. We are hoping to get a two tube auto working Thursday at Lone Star.
__________________

Team 647 | Cyber Wolf Corps | Alumni | 2003-2006 | Shoemaker HS
Team 2587 | DiscoBots | Mentor | 2008-2011 | Rice University / Houston Food Bank
Team 3847 | Spectrum | Coach | 2012-20... | St Agnes Academy
LRI | Alamo Regional | 2014-20...
"Competition has been shown to be useful up to a certain point and no further, but cooperation, which is the thing we must strive for today, begins where competition leaves off." - Franklin D. Roosevelt
  #18   Spotlight this post!  
Unread 14-03-2011, 00:03
jonboy jonboy is offline
Engineer/Mentor
FRC #0885 (The Green Team)
Team Role: Engineer
 
Join Date: Jan 2003
Rookie Year: 2003
Location: Tunbridge, Vermont
Posts: 46
jonboy is an unknown quantity at this point
Re: Autonomy: How Did You Guys Do It?

Our autonomous followed the line til it sensed the tee and then gunned it for the last loop of the while loop and stopped, which put us right at the wall. The "gunning" worked well except it should have been a little less energetic. Since we had holomonic drive we just controlled via strafing to keep on the line thus remaining normal to the wall. We started raising the arm to the limits at the start so that it was in position when we hit the wall. We scored 8/10 on the top middle peg in qualification runs and 100% in elimination except for one case where the arm was intentionally disabled. We could do the Y but almost all the alliances allowed us to go straight. Too bad autonomous did not offer more points.
__________________
... jon
  #19   Spotlight this post!  
Unread 14-03-2011, 01:35
Bethie42's Avatar
Bethie42 Bethie42 is offline
Registered User
AKA: Bethany Carlson
FRC #0956 (Eagle Cybertechnology)
Team Role: Alumni
 
Join Date: Dec 2009
Rookie Year: 2008
Location: Oregon
Posts: 126
Bethie42 is a splendid one to beholdBethie42 is a splendid one to beholdBethie42 is a splendid one to beholdBethie42 is a splendid one to beholdBethie42 is a splendid one to beholdBethie42 is a splendid one to beholdBethie42 is a splendid one to beholdBethie42 is a splendid one to behold
Re: Autonomy: How Did You Guys Do It?

This rookie programmer wrote autonomous mode on the last day at 9 PM

Our arm's highest extension is at roughly the height of the highest peg, and when we release the tube we don't have to back up in order to score, which made things easier.

We navigate to the scoring grid using line sensors. I didn't program for the Y because I figured 1) we should have our pick of starting positions, we can just choose the straight path and 2) it would distract us from getting the easier stuff working.
Currently we are just running the elevator motor up all the time during autonomous, due to a weird problem with our limit switches in autonomous [speaking of which, would anybody like to Find the Bug that's making our limit switches work in teleop but not autonomous? I used C++.]. However, we recently switched our elevator motor to a more powerful one, which actually caused a belt to shear when it was run too far.....alarmed, I am now planning some careful testing and playing with the motor speed before we go out to a match and shear another belt. The idea is that if the elevator reaches the top just as we reach the scoring grid, we won't damage anything.

We use the tape T to trigger scoring, which involves stopping the elevator motor and opening the gripper. We can drop the tube at just about any height and still score.

All very rudimentary and I am particularly irked that the limit switches are still proving noncompliant. We didn't get very much [read: any] testing in of the whole system: at roughly 9 PM on ship night we got the line following stuff working, and then I successfully wrote and tested a switch statement to ensure that we don't just drive right over the T before it has time to stop us. So theoretically it should all work: I am anxiously looking forward to our Week 4 regional to try it all out
__________________
Robot is now a verb.

We're back to square one...while we're at it, let's redesign square one!

Team 956: Celebrating ten years of FIRST!

Code:
Team record 2002-2011
2002: Highest Rookie Seed, AOR
2003, 2006, 2012: Xerox Creativity Award, AOR
2006: Semi-finalist, Sacramento Regional
2009: Quarter-finalist, AOR
2010: Quarter-finalist, AOR
2011: Semi-finalist, AOR, and Dean's List finalist, AOR 

Personal record: 
2008: Lead scout
2009: Lead scout, publicity
2010: Lead scout, publicity, fundraising, Chairman's, videography
2011: Team captain, lead programmer, fundraising, Chairman's, publicity, wrench-turning, Dean's List finalist at Autodesk Oregon Regional

Last edited by Bethie42 : 14-03-2011 at 02:01. Reason: Might help to specify which language I used...
  #20   Spotlight this post!  
Unread 14-03-2011, 01:41
RoBoTiCxLiNk's Avatar
RoBoTiCxLiNk RoBoTiCxLiNk is offline
King of All That is Digital
AKA: Dan Egan
FRC #2791 (Shaker Robotics)
Team Role: Programmer
 
Join Date: Jan 2010
Rookie Year: 2006
Location: Latham, New York
Posts: 25
RoBoTiCxLiNk is on a distinguished road
Re: Autonomy: How Did You Guys Do It?

Quote:
Originally Posted by Bethie42 View Post
This rookie programmer wrote autonomous mode on the last day at 9 PM

Our arm's highest extension is at roughly the height of the highest peg, and when we release the tube we don't have to back up in order to score, which made things easier.

We navigate to the scoring grid using line sensors. I didn't program for the Y because I figured 1) we should have our pick of starting positions, we can just choose the straight path and 2) it would distract us from getting the easier stuff working.
Currently we are just running the elevator motor up all the time during autonomous, due to a weird problem with our limit switches in autonomous [speaking of which, would anybody like to Find the Bug that's making our limit switches work in teleop but not autonomous? ]. However, we recently switched our elevator motor to a more powerful one, which actually caused a belt to shear when it was run too far.....alarmed, I am now planning some careful testing and playing with the motor speed before we go out to a match and shear another belt. The idea is that if the elevator reaches the top just as we reach the scoring grid, we won't damage anything.

We use the tape T to trigger scoring, which involves stopping the elevator motor and opening the gripper. We can drop the tube at just about any height and still score.

All very rudimentary and I am particularly irked that the limit switches are still proving noncompliant. We didn't get very much [read: any] testing in of the whole system: at roughly 9 PM on ship night we got the line following stuff working, and then I successfully wrote and tested a switch statement to ensure that we don't just drive right over the T before it has time to stop us. So theoretically it should all work: I am anxiously looking forward to our Week 4 regional to try it all out
I'm currently trying to distract myself from the fact that the next regionall for us is in like 2 and a half weeks so if youd like me to look over your code, id be happy to help debug it, granted i understand the language you send me
and that sounds pretty awesome. im still working on getting time to work on our teams autonomous
__________________
2009: Electronics, Scout, Turret Operator
2010: Programmer, Electronics, Safety Captain
2011: Lead Programmer, Lead Electronics, Forum Admin, Design Committee Member, Arm Operator/Driver, Safety Captain, Pit Captain

2012: Alum of 2791, Programming and Electronics Mentor for 2791
  #21   Spotlight this post!  
Unread 14-03-2011, 02:00
Bethie42's Avatar
Bethie42 Bethie42 is offline
Registered User
AKA: Bethany Carlson
FRC #0956 (Eagle Cybertechnology)
Team Role: Alumni
 
Join Date: Dec 2009
Rookie Year: 2008
Location: Oregon
Posts: 126
Bethie42 is a splendid one to beholdBethie42 is a splendid one to beholdBethie42 is a splendid one to beholdBethie42 is a splendid one to beholdBethie42 is a splendid one to beholdBethie42 is a splendid one to beholdBethie42 is a splendid one to beholdBethie42 is a splendid one to behold
Re: Autonomy: How Did You Guys Do It?

Quote:
Originally Posted by RoBoTiCxLiNk View Post
I'm currently trying to distract myself from the fact that the next regionall for us is in like 2 and a half weeks so if youd like me to look over your code, id be happy to help debug it, granted i understand the language you send me
and that sounds pretty awesome. im still working on getting time to work on our teams autonomous
Why thank you I have MORE than enough stuff to distract myself with: ie, Chairman's Award, scouting, and general team organization, heh.

It's in C++...I shall update my original post. Also I posted about the limit-switch problem here.

One of the best memories from this build season was running around on ship night [bag-and-tag night actually], writing code for autonomous while hardware wanted to work on the robot too, meantime our programming laptop died and we had to shuffle the robot back and forth from the shop to our high-ceiling testing area....then getting the line-following code to work. I shrieked with joy [and caffeine] and promptly laid down another duct tape line for the robot to follow....who knew that you can get cuts from duct tape?
__________________
Robot is now a verb.

We're back to square one...while we're at it, let's redesign square one!

Team 956: Celebrating ten years of FIRST!

Code:
Team record 2002-2011
2002: Highest Rookie Seed, AOR
2003, 2006, 2012: Xerox Creativity Award, AOR
2006: Semi-finalist, Sacramento Regional
2009: Quarter-finalist, AOR
2010: Quarter-finalist, AOR
2011: Semi-finalist, AOR, and Dean's List finalist, AOR 

Personal record: 
2008: Lead scout
2009: Lead scout, publicity
2010: Lead scout, publicity, fundraising, Chairman's, videography
2011: Team captain, lead programmer, fundraising, Chairman's, publicity, wrench-turning, Dean's List finalist at Autodesk Oregon Regional
  #22   Spotlight this post!  
Unread 14-03-2011, 02:07
RoBoTiCxLiNk's Avatar
RoBoTiCxLiNk RoBoTiCxLiNk is offline
King of All That is Digital
AKA: Dan Egan
FRC #2791 (Shaker Robotics)
Team Role: Programmer
 
Join Date: Jan 2010
Rookie Year: 2006
Location: Latham, New York
Posts: 25
RoBoTiCxLiNk is on a distinguished road
Re: Autonomy: How Did You Guys Do It?

Quote:
Originally Posted by Bethie42 View Post
Why thank you I have MORE than enough stuff to distract myself with: ie, Chairman's Award, scouting, and general team organization, heh.

It's in C++...I shall update my original post. Also I posted about the limit-switch problem here.

One of the best memories from this build season was running around on ship night [bag-and-tag night actually], writing code for autonomous while hardware wanted to work on the robot too, meantime our programming laptop died and we had to shuffle the robot back and forth from the shop to our high-ceiling testing area....then getting the line-following code to work. I shrieked with joy [and caffeine] and promptly laid down another duct tape line for the robot to follow....who knew that you can get cuts from duct tape?
Haha, sounds awesome. My attempts at line following were with a chassis of last years bot on a tiled hallway and the little markings all over them ended up messing up the line sensors so much that it was impossible to write reliable code.

I had just seen that thread in the real time forum thing, and i immediately thought to myself "its C++ :/". I program in java, so i may not be able to find it if its a language specific problem.

and for our first regional, my mom needed the laptop i use to program for a conference she went to because her mac cant make databases, so i was stuck programming on the dinky driver station computer >.< the multi purpose netbook thing. still managed to get many things working though
__________________
2009: Electronics, Scout, Turret Operator
2010: Programmer, Electronics, Safety Captain
2011: Lead Programmer, Lead Electronics, Forum Admin, Design Committee Member, Arm Operator/Driver, Safety Captain, Pit Captain

2012: Alum of 2791, Programming and Electronics Mentor for 2791
  #23   Spotlight this post!  
Unread 14-03-2011, 02:22
Bethie42's Avatar
Bethie42 Bethie42 is offline
Registered User
AKA: Bethany Carlson
FRC #0956 (Eagle Cybertechnology)
Team Role: Alumni
 
Join Date: Dec 2009
Rookie Year: 2008
Location: Oregon
Posts: 126
Bethie42 is a splendid one to beholdBethie42 is a splendid one to beholdBethie42 is a splendid one to beholdBethie42 is a splendid one to beholdBethie42 is a splendid one to beholdBethie42 is a splendid one to beholdBethie42 is a splendid one to beholdBethie42 is a splendid one to behold
Re: Autonomy: How Did You Guys Do It?

Quote:
Originally Posted by RoBoTiCxLiNk View Post
Haha, sounds awesome. My attempts at line following were with a chassis of last years bot on a tiled hallway and the little markings all over them ended up messing up the line sensors so much that it was impossible to write reliable code.

I had just seen that thread in the real time forum thing, and i immediately thought to myself "its C++ :/". I program in java, so i may not be able to find it if its a language specific problem.

and for our first regional, my mom needed the laptop i use to program for a conference she went to because her mac cant make databases, so i was stuck programming on the dinky driver station computer >.< the multi purpose netbook thing. still managed to get many things working though
Yeah, tiled hallways don't help... We have a little scrap of carpet from the local scrimmage in our shop and it's amazingly handy for both testing line-following and spread-eagling on to work on the robot! The aluminum shavings get into the seams a bit but oh well...

I discovered at our scrimmage that finding a bit of fabric or other material that simulates the carpet for testing in one's pit is surprisingly hard. Also our scrimmage had very pale grey tape lines...very nice high contrast, but not really what I expect at competition. Guess who's going down on the floor with the drive team with a screwdriver on day one to calibrate the light sensors.

Programming on the Classmate?! I applaud you. I don't have the patience to change default settings on that thing, lol, much less program on it...and the keys are so tiny. Try programming on a cell phone, I imagine it's about the same.
We are actually planning on taking our desktop computer, my personal PC laptop, and my Macbook to regionals. The desktop is a backup in case the laptop has the fabled 64-bit incompatibility with WindRiver, and the Mac is for scouting use. We did about the same last year, and got told by some scouting team that we had the most computers they'd seen in a pit...said something about that being a scouting criteria, which makes one wonder...

The original programming laptop didn't actually die....but WindRiver just...stopped compiling. It gets to 13% [on ANY program] and then just sits there indefinitely. We reinstalled and everything. It wasn't even particularly slow to begin with...
__________________
Robot is now a verb.

We're back to square one...while we're at it, let's redesign square one!

Team 956: Celebrating ten years of FIRST!

Code:
Team record 2002-2011
2002: Highest Rookie Seed, AOR
2003, 2006, 2012: Xerox Creativity Award, AOR
2006: Semi-finalist, Sacramento Regional
2009: Quarter-finalist, AOR
2010: Quarter-finalist, AOR
2011: Semi-finalist, AOR, and Dean's List finalist, AOR 

Personal record: 
2008: Lead scout
2009: Lead scout, publicity
2010: Lead scout, publicity, fundraising, Chairman's, videography
2011: Team captain, lead programmer, fundraising, Chairman's, publicity, wrench-turning, Dean's List finalist at Autodesk Oregon Regional
  #24   Spotlight this post!  
Unread 14-03-2011, 02:39
RoBoTiCxLiNk's Avatar
RoBoTiCxLiNk RoBoTiCxLiNk is offline
King of All That is Digital
AKA: Dan Egan
FRC #2791 (Shaker Robotics)
Team Role: Programmer
 
Join Date: Jan 2010
Rookie Year: 2006
Location: Latham, New York
Posts: 25
RoBoTiCxLiNk is on a distinguished road
Re: Autonomy: How Did You Guys Do It?

Quote:
Originally Posted by Bethie42 View Post
Yeah, tiled hallways don't help... We have a little scrap of carpet from the local scrimmage in our shop and it's amazingly handy for both testing line-following and spread-eagling on to work on the robot! The aluminum shavings get into the seams a bit but oh well...

I discovered at our scrimmage that finding a bit of fabric or other material that simulates the carpet for testing in one's pit is surprisingly hard. Also our scrimmage had very pale grey tape lines...very nice high contrast, but not really what I expect at competition. Guess who's going down on the floor with the drive team with a screwdriver on day one to calibrate the light sensors.

Programming on the Classmate?! I applaud you. I don't have the patience to change default settings on that thing, lol, much less program on it...and the keys are so tiny. Try programming on a cell phone, I imagine it's about the same.
We are actually planning on taking our desktop computer, my personal PC laptop, and my Macbook to regionals. The desktop is a backup in case the laptop has the fabled 64-bit incompatibility with WindRiver, and the Mac is for scouting use. We did about the same last year, and got told by some scouting team that we had the most computers they'd seen in a pit...said something about that being a scouting criteria, which makes one wonder...

The original programming laptop didn't actually die....but WindRiver just...stopped compiling. It gets to 13% [on ANY program] and then just sits there indefinitely. We reinstalled and everything. It wasn't even particularly slow to begin with...
The keys are very small on the DS, but you get used to it after a while. its pretty handy, using it for all the programming and keeping comms to the driver station exe, then not switching laptops for regional.

we do have a small bit of carpet, but its all curled and needs weight at each end, and its only slightly larger than the robot, so its not of much use. even to sit or lie down on, its very hard to use. i usually just sit on the floor, cross legged with MY laptop that i used to program this year (an actual laptop, not DS) on my lap, right next to the chassis on a cart. and i think maybe ill suggest a mac to the scouting leader or whatever hes called, but pretty much everyone on the team is a pc.

and that sucks about your original programming laptop. we have this really old laptop in our closet with no wifi, and probably about 5 MB of RAM that i was thinking of using to program one time, till i picked it up... very heavy for such a bad laptop...
__________________
2009: Electronics, Scout, Turret Operator
2010: Programmer, Electronics, Safety Captain
2011: Lead Programmer, Lead Electronics, Forum Admin, Design Committee Member, Arm Operator/Driver, Safety Captain, Pit Captain

2012: Alum of 2791, Programming and Electronics Mentor for 2791
  #25   Spotlight this post!  
Unread 14-03-2011, 13:40
Bethie42's Avatar
Bethie42 Bethie42 is offline
Registered User
AKA: Bethany Carlson
FRC #0956 (Eagle Cybertechnology)
Team Role: Alumni
 
Join Date: Dec 2009
Rookie Year: 2008
Location: Oregon
Posts: 126
Bethie42 is a splendid one to beholdBethie42 is a splendid one to beholdBethie42 is a splendid one to beholdBethie42 is a splendid one to beholdBethie42 is a splendid one to beholdBethie42 is a splendid one to beholdBethie42 is a splendid one to beholdBethie42 is a splendid one to behold
Re: Autonomy: How Did You Guys Do It?

Quote:
Originally Posted by RoBoTiCxLiNk View Post
The keys are very small on the DS, but you get used to it after a while. its pretty handy, using it for all the programming and keeping comms to the driver station exe, then not switching laptops for regional.

we do have a small bit of carpet, but its all curled and needs weight at each end, and its only slightly larger than the robot, so its not of much use. even to sit or lie down on, its very hard to use. i usually just sit on the floor, cross legged with MY laptop that i used to program this year (an actual laptop, not DS) on my lap, right next to the chassis on a cart. and i think maybe ill suggest a mac to the scouting leader or whatever hes called, but pretty much everyone on the team is a pc.

and that sucks about your original programming laptop. we have this really old laptop in our closet with no wifi, and probably about 5 MB of RAM that i was thinking of using to program one time, till i picked it up... very heavy for such a bad laptop...
Wow, I thought it was only our team that has stacks of old decrepit laptops stashed in the closet.....along with old control boards and expired software...

At one point this season I was actually writing code on my Mac...couldn't compile because of not having WPI lib stuff, but still...and I have a fond hope of someday compiling C++ for FRC on a mac, in Xcode or Code::Blocks. I tried to do that earlier this season.....after linking up most of the dozens and dozens of WPI library header files, I gave up, but I was CLOSE! Or at least I like to think so!


On another note, has anyone here worked on an autonomous mode that scores more than one tube?
__________________
Robot is now a verb.

We're back to square one...while we're at it, let's redesign square one!

Team 956: Celebrating ten years of FIRST!

Code:
Team record 2002-2011
2002: Highest Rookie Seed, AOR
2003, 2006, 2012: Xerox Creativity Award, AOR
2006: Semi-finalist, Sacramento Regional
2009: Quarter-finalist, AOR
2010: Quarter-finalist, AOR
2011: Semi-finalist, AOR, and Dean's List finalist, AOR 

Personal record: 
2008: Lead scout
2009: Lead scout, publicity
2010: Lead scout, publicity, fundraising, Chairman's, videography
2011: Team captain, lead programmer, fundraising, Chairman's, publicity, wrench-turning, Dean's List finalist at Autodesk Oregon Regional
  #26   Spotlight this post!  
Unread 14-03-2011, 13:53
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: Autonomy: How Did You Guys Do It?

Quote:
Originally Posted by Bethie42 View Post
On another note, has anyone here worked on an autonomous mode that scores more than one tube?
I have.

The command functions are written in LabVIEW and perform specific tasks reliably and accurately. The primary drive functions are drive_straight and drive_gyro_turn, and both were calibrated fairly precisely (drive is accurate to about 1/2" and gyro is repeatable to about a degree, but is usually off by two degrees). There are also more command functions for elevator actions, but all of those set the getsets which are read by the elevator code elsewhere (do score, set state, etc.)

The beescript system runs on top of the command functions, and reads a text file on the cRio which it interprets and calls the command functions (by ref).

An example script would be:
Code:
#score a tube 150 inches away 3.4 ft/sec
ELEV_SET_STATE score_hi
DRIVE_STRAIGHT 150 3.4
#score
ELEV_SCORE
#backup
DRIVE_STRAIGHT -150 6
This would be read by the interpreter and it would call the command functions in sequence.
__________________
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
  #27   Spotlight this post!  
Unread 14-03-2011, 16:58
Jeffy's Avatar
Jeffy Jeffy is offline
Retired, for now
AKA: Jeff Gier
FRC #2410 (Metal Mustang Robotics) #159 (Alpine Robotics)
Team Role: College Student
 
Join Date: Mar 2008
Rookie Year: 2008
Location: Fort Collins
Posts: 523
Jeffy has a brilliant futureJeffy has a brilliant futureJeffy has a brilliant futureJeffy has a brilliant futureJeffy has a brilliant futureJeffy has a brilliant futureJeffy has a brilliant futureJeffy has a brilliant futureJeffy has a brilliant futureJeffy has a brilliant futureJeffy has a brilliant future
Re: Autonomy: How Did You Guys Do It?

Line trackers. They work very well if you calibrate them at the beginning of each day. Once we got ours right, we scored in our last 6 matches without flaw.
__________________
Metal Mustang Robotics 2410 (2008-2011)
2008 STL Rookie All-Star
2010 GKC Finalists
2010 OKC Champions
Alpine Robotics 159 (2012-)
2012 CO Finalists

700 miles from home, 2 miles from FRC. Life is good.
  #28   Spotlight this post!  
Unread 15-03-2011, 02:02
connor.worley's Avatar
connor.worley connor.worley is offline
Registered User
FRC #0973 (Greybots)
Team Role: Mentor
 
Join Date: Mar 2011
Rookie Year: 2010
Location: Berkeley/San Diego
Posts: 601
connor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond reputeconnor.worley has a reputation beyond repute
Re: Autonomy: How Did You Guys Do It?

We use a gyro, one encoder on our drivetrain, an IR sensor on our roller claw, and a 10 turn potentiometer on our arm. All of them are used in autonomous, but only the IR sensor and the pot are used in teleop.

On the programming side of things, we've got P loops for the encoder and gyro, a PD loop for the arm, and a state machine for the roller. We push all the autonomous commands to a queue with a timeout. If the target positions for the subsystems aren't achieved within the timeout, we skip to the next command. This helps ensure that the robot doesn't get stuck in a control loop and is always doing something.

Last edited by connor.worley : 15-03-2011 at 02:07.
  #29   Spotlight this post!  
Unread 15-03-2011, 02:07
davidthefat davidthefat is offline
Alumni
AKA: David Yoon
FRC #0589 (Falkons)
Team Role: Alumni
 
Join Date: Jan 2011
Rookie Year: 2010
Location: California
Posts: 792
davidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud of
Re: Autonomy: How Did You Guys Do It?

Quote:
Originally Posted by connor.worley View Post
We use a gyro, one encoder on our drivetrain, an IR sensor on our roller claw, and a 10 turn potentiometer on our arm. All of them are used in autonomous, but only the IR sensor and the pot are used in teleop.

On the programming side of things, we've got P loops for the encoder and gyro, a PD loop for the arm, and a state machine for the roller. We push all the autonomous commands to a stack with a timeout. If the target positions for the subsystems aren't achieved within the timeout, we skip to the next command. This helps ensure that the robot doesn't get stuck in a control loop and is always doing something.
Congrats on your performance at the SD Regional
__________________
Do not say what can or cannot be done, but, instead, say what must be done for the task at hand must be accomplished.
  #30   Spotlight this post!  
Unread 15-03-2011, 02:34
WizenedEE's Avatar
WizenedEE WizenedEE is offline
Registered User
AKA: Adam
FRC #3238 (Cyborg Ferrets)
Team Role: Leadership
 
Join Date: Jan 2011
Rookie Year: 2010
Location: Anacortes, WA
Posts: 395
WizenedEE is a name known to allWizenedEE is a name known to allWizenedEE is a name known to allWizenedEE is a name known to allWizenedEE is a name known to allWizenedEE is a name known to all
Re: Autonomy: How Did You Guys Do It?

We're first raising our arm with two PD loops and two accelerometers (it's a two part arm) and a little bit on the wrist, then tracking the line with the rockwells, stopping at the T and then it opens the claw, lowers the arms, and runs away all at the same time.

The running away will hopefully be useful in competition, because it's been very useful scaring all the PR folks.

Does anybody else find the "practice" mode very useful for the 15 second cutoff? The awesome sounds are also nice
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 13:19.

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