Go to Post Didn't know the details about the battery. In the past it was just a black (grey) box with two terminals...use...recharge...use..recharge. - cbolin [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 09-12-2004, 10:29
cbolin's Avatar
cbolin cbolin is offline
Programming & Electrical
FRC #0342 (Burning Magnetos)
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Charleston, SC
Posts: 72
cbolin is a splendid one to beholdcbolin is a splendid one to beholdcbolin is a splendid one to beholdcbolin is a splendid one to beholdcbolin is a splendid one to beholdcbolin is a splendid one to beholdcbolin is a splendid one to behold
Autonomous Mode Lessons Learned??

Hi,
I will be giving a workshop in January during the kickoff for the next round of competition at the Palmetto Regional. I will will be speaking on Autonomous modes and using the Dashboard.

I am interested in tabulating a list of lessons learned from all of you programmers who worked on this. Things like "it seemed easy in concept but it didn't work that way in practice", or "it works but I don't know why" or "this really kicked my tail for days trying to figure it out." Simple and moderately complex lessons learned would all be beneficial to my presentation.

Also, what have you done with the Dashboard regarding autonomous programming?

Thanks in advance,
ChuckB
__________________
Team 342 Programming & Control Systems
Good luck and have fun!
  #2   Spotlight this post!  
Unread 09-12-2004, 14:13
Steve W Steve W is offline
Grow Up? Why?
no team
 
Join Date: Feb 2003
Rookie Year: 2002
Location: Toronto,Ontario Canada
Posts: 2,523
Steve W has a reputation beyond reputeSteve W has a reputation beyond reputeSteve W has a reputation beyond reputeSteve W has a reputation beyond reputeSteve W has a reputation beyond reputeSteve W has a reputation beyond reputeSteve W has a reputation beyond reputeSteve W has a reputation beyond reputeSteve W has a reputation beyond reputeSteve W has a reputation beyond reputeSteve W has a reputation beyond repute
Re: Autonomous Mode Lessons Learned??

I am not a programmer but I do know that last year Infrared was a BIG problem. The was a ton of bouncing going on that most of us didn't account for. Even the people I worked with at the events didn't believe it tail I proved it with their test units. When building practice areas for IR remember that wood does not have the same reflective power as Plexiglas and Diamond plate.
__________________
We do not stop playing because we grow old;
we grow old because we stop playing.
  #3   Spotlight this post!  
Unread 09-12-2004, 14:37
cbolin's Avatar
cbolin cbolin is offline
Programming & Electrical
FRC #0342 (Burning Magnetos)
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Charleston, SC
Posts: 72
cbolin is a splendid one to beholdcbolin is a splendid one to beholdcbolin is a splendid one to beholdcbolin is a splendid one to beholdcbolin is a splendid one to beholdcbolin is a splendid one to beholdcbolin is a splendid one to behold
Re: Autonomous Mode Lessons Learned??

Good points!

Regarding IR, we spent two weeks with an IR sensor mounted to a servo. The servo would scan back and forth looking for any IR signal. We put the controller and servo with sensor on a cart and moved it around. The servo and sensor would look onto the IR source if the range was less than 5 feet.
We were so focused on trying to detect the IR sources from 20 plus feet away that we didn't take advantage of this this short range capability. We could have moved in autonomous straight ahead until we were right next to the ball/trigger mechanism. This short range system would definitely have worked.....but we didn't think of it. Of course other teams did. :-)

These Banner sensors have a couple of different part numbers. We had three on our bot...thought they were the same. Programming just didn't make sense. We found at that two were detecting 'light' areas but the third would detect anything that could reflect. Can't tell you how much code was rewritten over and over to figure this out. Check part numbers closely.

Regards,
ChuckB
__________________
Team 342 Programming & Control Systems
Good luck and have fun!
  #4   Spotlight this post!  
Unread 09-12-2004, 15:21
Mark McLeod's Avatar
Mark McLeod Mark McLeod is offline
Just Itinerant
AKA: Hey dad...Father...MARK
FRC #0358 (Robotic Eagles)
Team Role: Engineer
 
Join Date: Mar 2003
Rookie Year: 2002
Location: Hauppauge, Long Island, NY
Posts: 8,809
Mark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond repute
Re: Autonomous Mode Lessons Learned??

I have lots of little stories.

I found one team checked the autonomous bit to start a dead-reckoning timer, however, at the regional the autonomous bit was on while the pre-start disable bit was also on. If the match started quickly the robot would behave as if it were partway through the autonomous period. If the match start was delayed more than 15 seconds (what normally happened), then the robot would just sit there and they couldn’t figure out why.

Several teams also had a problem with autonomous in the back-to-back practice matches. They'd forget to turn off or reset their robot controller (because that nice backup battery keeps it running even if the main power is off) after the first practice match and if it didn't get turned off their robot continued to think autonomous mode was over. That was fixed with a software reset on Disable.
__________________
"Rationality is our distinguishing characteristic - it's what sets us apart from the beasts." - Aristotle

Last edited by Mark McLeod : 09-12-2004 at 21:09.
  #5   Spotlight this post!  
Unread 09-12-2004, 20:02
Astronouth7303's Avatar
Astronouth7303 Astronouth7303 is offline
Why did I come back?
AKA: Jamie Bliss
FRC #4967 (That ONE Team)
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Grand Rapids, MI
Posts: 2,071
Astronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud of
Re: Autonomous Mode Lessons Learned??

Here's my list:
  • Check to make sure that you compensate for different timings if they are.
    My story: Our hand shut-down code (To keep the hand from smoking if it grabs something) requires over-current 5 runs in a row. However, this was based on the 20 hz (whatever) main loop. I wrote my auton to run in the fast loop. So now in auton, it requires 40.
  • Fix the bug in Main.c
    I've outlined this once or twice, but anyway. In Main.c, when you enter auton, it will run Process_Data_From_Master_uP() one more time on null OI data. In that sub, there is code to put an OI value into a variable (which was the auton setup). What you need to do is put that before the call to Process_Data_From_Master_uP(). And put a check to make sure the data is valid. (I also believe this will fix the PWM reset problem IFI described in the second release of the default code.)
  • Get a dongle.
    Just do it. Don't argue.
  • Write code while the robot is being built.
    This is my big lesson. I had about 2 days to code (That's regular code and auton). Auton never really worked for us...
  #6   Spotlight this post!  
Unread 09-12-2004, 21:19
eugenebrooks eugenebrooks is offline
Team Role: Engineer
AKA: Dr. Brooks
no team (WRRF)
 
Join Date: Jan 2004
Rookie Year: 2001
Location: Livermore, CA
Posts: 601
eugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond repute
Re: Autonomous Mode Lessons Learned??

Once you get your autonomous mode working, there is more work to do:

Try and detect obstructions to success, and drop out of an auto mode for which persistence might damage the robot. You can do this with time restrictions placed on completion of state changes.

Shut down mechanisms, such as a feed back loop controlling an arm, once the last state of the auto mode is achieved. There might be 10 seconds left with the arm hung up in part of the field, in this instance the frame around the balls to tip, and the arm might be blindly inflicting self damage while pinned on the obstruction. This is similar to the issue above, but in this instance the robot needs to do the right things to protect itself when it finishes the autonomous mode.

Sometimes it pays to code several auto modes selected with a set of switches on the robot. You select the strategy that you find to work more reliably in the actual competition.
  #7   Spotlight this post!  
Unread 09-12-2004, 22:57
scitobor 617's Avatar
scitobor 617 scitobor 617 is offline
More nerd than you can handle!
AKA: Alan Meekins
FRC #0617 (HSHS 617 "DUKE")
Team Role: Programmer
 
Join Date: Nov 2003
Rookie Year: 2003
Location: Richmond, VA
Posts: 153
scitobor 617 will become famous soon enoughscitobor 617 will become famous soon enough
Send a message via AIM to scitobor 617
Re: Autonomous Mode Lessons Learned??

My 2 points

  • A $5 limit switch can go a long ways to protect a $6000 robot.
  • KISS (Keep It Super Simple) is a good idea if it is your first time writing an autonomous mode program. For example, banner sensors are simple to use and program while IR or encoders tends to be more complex.

I setup a simple line following autonomous mode last year using 3 banner sensors. It was simple to build and program and when it was complete it was reliable. Now that experience has made me more prepared to write a much more ambitious encoder based autonomous mode this year.
__________________
Beta testers needed!
http://www.nullagent.no-ip.com

Your kidding, there are other operating systems besides Linux?!
  #8   Spotlight this post!  
Unread 12-12-2004, 00:31
Orborde Orborde is offline
Registered User
FRC #1747
Team Role: Mentor
 
Join Date: Apr 2004
Rookie Year: 2003
Location: Indianapolis, IN
Posts: 44
Orborde has a spectacular aura aboutOrborde has a spectacular aura about
Send a message via AIM to Orborde
Re: Autonomous Mode Lessons Learned??

Utterly stupid loop-counting state machines can and do work wonders; never, EVER use them.

In case you didn't see 1024 (my team)'s autonomous last year, it was exactly that: a state machine coupled to a counter that incremented every program loop. Somehow we got the counter numbers nearly perfect, and our robot's autonomous was a minor legend, zipping out and nailing the 10-pt ball in less than 5 seconds. Though it worked, it's really too stupid, rigid, arbitrary (ours only worked so well by sheer luck and a little testing in the practice rounds at St. Louis), and moreover, dangerous to use again. Still, it worked...
  #9   Spotlight this post!  
Unread 12-12-2004, 06:35
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: Autonomous Mode Lessons Learned??

Quote:
Originally Posted by Astronouth7303
Here's my list:
  • Get a dongle.
    Just do it. Don't argue.
If I were giving a workshop about autonomous, this would be priority #1 !!!
How many times did we hear teams at the competitions requesting them or requesting how to make them?
__________________
Work Hard, Have Fun, Make a Difference!

  #10   Spotlight this post!  
Unread 12-12-2004, 09:07
Billfred's Avatar
Billfred Billfred is online now
...and you can't! teach! that!
FRC #5402 (Iron Kings); no team (AndyMark)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2004
Location: The Land of the Kokomese, IN
Posts: 8,532
Billfred has a reputation beyond reputeBillfred has a reputation beyond reputeBillfred has a reputation beyond reputeBillfred has a reputation beyond reputeBillfred has a reputation beyond reputeBillfred has a reputation beyond reputeBillfred has a reputation beyond reputeBillfred has a reputation beyond reputeBillfred has a reputation beyond reputeBillfred has a reputation beyond reputeBillfred has a reputation beyond repute
Re: Autonomous Mode Lessons Learned??

I'll give you a lesson to be learned...

Always make sure your kids know when autonomous mode will engage when you're off the field.

And then make sure, if you lack a dongle, that you can reach the circuit breaker without letting the robot trip you up. Trust me, I know this.
__________________
William "Billfred" Leverette - Gamecock/Jessica Boucher victim/Marketing & Sales Specialist at AndyMark

2004-2006: FRC 1293 (D5 Robotics) - Student, Mentor, Coach
2007-2009: FRC 1618 (Capital Robotics) - Mentor, Coach
2009-2013: FRC 2815 (Los Pollos Locos) - Mentor, Coach - Palmetto '09, Peachtree '11, Palmetto '11, Palmetto '12
2010: FRC 1398 (Keenan Robo-Raiders) - Mentor - Palmetto '10
2014-2016: FRC 4901 (Garnet Squadron) - Co-Founder and Head Bot Coach - Orlando '14, SCRIW '16
2017-: FRC 5402 (Iron Kings) - Mentor

94 events (more than will fit in a ChiefDelphi signature), 14 seasons, over 61,000 miles, and still on a mission from Bob.

Rule #1: Do not die. Rule #2: Be respectful. Rule #3: Be safe. Rule #4: Follow the handbook.
  #11   Spotlight this post!  
Unread 12-12-2004, 15:45
CoolerQ CoolerQ is offline
Registered User
AKA: Quentin Smith
#1277 (Groton-Dunstable FIRST Robotics)
Team Role: Programmer
 
Join Date: Sep 2003
Rookie Year: 2004
Location: Hollis, NH
Posts: 3
CoolerQ is an unknown quantity at this point
Send a message via ICQ to CoolerQ Send a message via AIM to CoolerQ Send a message via Yahoo to CoolerQ
Re: Autonomous Mode Lessons Learned??

The biggest thing we learned is that the autonomous mode needs lots of testing. My team literally didn't have a working robot until 30 minutes before we had to crate it up. Therefore, I had no opportunity to work on the autonomous mode before the practice rounds at the regional. Then, it took me all day before I had something that worked reasonably well. So here are some gotchas I ran into:
  • Test, test, test!
  • Be careful that you don't rely solely on the IR sensor - remember, if the IR sensor is mounted in the center of your robot, it will try to drive through the wall to get to the beacon!
  • Be very careful with overheating/driving too fast. One robot had one goal in its autonomous mode: rush the other side, ram us from the front and push us backwards while we were driving forward. That killed our motors several times.
  • Simple is sometimes better. We scrapped the original IR-only design for a timed system that worked a bit better.
  • Test, test, test!

--Quentin
  #12   Spotlight this post!  
Unread 12-12-2004, 21:16
slickguy2007 slickguy2007 is offline
Copioli is the man!!!
FRC #1403 (Cougar Robotics)
Team Role: Alumni
 
Join Date: Nov 2004
Rookie Year: 1997
Location: Skillman, NJ
Posts: 545
slickguy2007 has a reputation beyond reputeslickguy2007 has a reputation beyond reputeslickguy2007 has a reputation beyond reputeslickguy2007 has a reputation beyond reputeslickguy2007 has a reputation beyond reputeslickguy2007 has a reputation beyond reputeslickguy2007 has a reputation beyond reputeslickguy2007 has a reputation beyond reputeslickguy2007 has a reputation beyond reputeslickguy2007 has a reputation beyond reputeslickguy2007 has a reputation beyond repute
Send a message via AIM to slickguy2007
Re: Autonomous Mode Lessons Learned??

We had a cool way of setting our autonomous.... it involved a copy cat program and i noticed a few other teams had it as well. Everbody who had this program forgot that if you change your drive train settings you have to re-record your movements in order to have a properly working autonomous program. This program was a huge advantage to have but also a pain if you can't get time to use a practice field to re-record! (Especially if you have someone like team 25 coming after you everytime you play them! THANXS CORY!)

GO 1403!!!
  #13   Spotlight this post!  
Unread 13-12-2004, 08:33
cbolin's Avatar
cbolin cbolin is offline
Programming & Electrical
FRC #0342 (Burning Magnetos)
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Charleston, SC
Posts: 72
cbolin is a splendid one to beholdcbolin is a splendid one to beholdcbolin is a splendid one to beholdcbolin is a splendid one to beholdcbolin is a splendid one to beholdcbolin is a splendid one to beholdcbolin is a splendid one to behold
Re: Autonomous Mode Lessons Learned??

Great feedback!

Have any of you placed switches on the controller so you can select various autonomous modes?

For example:
auto_mode == 0 means 'do nothing'.
auto_mode == 1 means 'follow line'
auto_mode == 2 means 'go and grab goal', etc.

Regards,
ChuckB
__________________
Team 342 Programming & Control Systems
Good luck and have fun!
  #14   Spotlight this post!  
Unread 13-12-2004, 10:52
Alan Anderson's Avatar
Alan Anderson Alan Anderson is offline
Software Architect
FRC #0045 (TechnoKats)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2004
Location: Kokomo, Indiana
Posts: 9,113
Alan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond repute
Re: Autonomous Mode Lessons Learned??

Quote:
Originally Posted by cbolin
Have any of you placed switches on the controller so you can select various autonomous modes?
We used a many-position rotary switch wired up with a bunch of resistors, connected to one of the joystick inputs of the OI. We had 8 different autonomous modes defined (4 each for left and right side starting positions), plus a "no autonomous" position. There was also a secret unlabeled switch position that we used for development in the pits, so we wouldn't have to worry about breaking a working autonomous program during competition.
  #15   Spotlight this post!  
Unread 13-12-2004, 12:44
seanwitte seanwitte is offline
Registered User
None #0116
Team Role: Engineer
 
Join Date: Nov 2002
Location: Herndon, VA
Posts: 378
seanwitte has a brilliant futureseanwitte has a brilliant futureseanwitte has a brilliant futureseanwitte has a brilliant futureseanwitte has a brilliant futureseanwitte has a brilliant futureseanwitte has a brilliant futureseanwitte has a brilliant futureseanwitte has a brilliant futureseanwitte has a brilliant futureseanwitte has a brilliant future
Send a message via AIM to seanwitte
Re: Autonomous Mode Lessons Learned??

We added a 4-bit BCD thumbwheel switch to the OI to set the autonomous program number. Its a mechanical switch that displays digits 0-9 with buttons to select the value. The value is sent to the robot while its disabled, so the operators can change the value right up to the start of the match. You need to be careful not to check the value during autonomous mode or it will always be zero.
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

Similar Threads
Thread Thread Starter Forum Replies Last Post
Future of Autonomous Mode FadyS. Programming 41 24-05-2004 19:45
Next Years Game? Jeremy General Forum 49 27-04-2004 01:53
Initializing autonomous mode Mr. Lim Programming 7 02-02-2004 07:26
autonomous mode problem on field Chris_C Programming 17 26-03-2003 19:11


All times are GMT -5. The time now is 15:01.

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