|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
||||
|
||||
|
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 |
|
#2
|
||||
|
||||
|
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.
|
|
#3
|
||||
|
||||
|
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 |
|
#4
|
|||||
|
|||||
|
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. Last edited by Mark McLeod : 09-12-2004 at 21:09. |
|
#5
|
|||||
|
|||||
|
Re: Autonomous Mode Lessons Learned??
Here's my list:
|
|
#6
|
|||
|
|||
|
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
|
|||||
|
|||||
|
Re: Autonomous Mode Lessons Learned??
My 2 points
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. |
|
#8
|
|||
|
|||
|
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
|
||||
|
||||
|
Re: Autonomous Mode Lessons Learned??
Quote:
How many times did we hear teams at the competitions requesting them or requesting how to make them? |
|
#10
|
|||||
|
|||||
|
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. |
|
#11
|
|||
|
|||
|
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:
--Quentin |
|
#12
|
||||
|
||||
|
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
|
||||
|
||||
|
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 |
|
#14
|
|||||
|
|||||
|
Re: Autonomous Mode Lessons Learned??
Quote:
|
|
#15
|
|||
|
|||
|
Re: Autonomous Mode Lessons Learned??
Quote:
Too confusing, and too easy to make a mistake during competition. This year we'll take the time to wire in a rotary switch for autonomous and a toggle switch for starting side and clearly label both. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
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 |