Go to Post Inaccurate data is not data. It's guessing. - George1902 [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Events   CD-Media   CD-Spy   FRC-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 03-21-2004, 03:33 PM
mtrawls's Avatar
mtrawls mtrawls is offline
I am JVN! (John von Neumann)
#0122 (NASA Knights)
Team Role: Programmer
 
Join Date: Mar 2003
Location: Hampton, VA
Posts: 295
mtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to behold
Send a message via AIM to mtrawls
A Reminder of Simplicity

To all teams using the IR beacon to knock over the 2x multiplier, I am interested in what algorithms you used to get there, and how they worked. During the build season I myself experimented with several, using the EduBot, of a wide range of complexity ... and as I was about to decide on a very complex, trig-enabled algorithm, one of my mentors suggested I use a simpler approach. It turned out to be quite elegant, really.

I mentioned it before on CD (and was told it would never work!), but here is the basic premise of it: We have three IR sensors housed in a metal casing lined with black corrugated cardboard to reduce internal reflections, and have a small, adjustable vertical slit in each. The sensors are aligned so that one is put facing the right, one the left and the other forward (each housing box can be turned a given angle to adjust just when the sensor "sees" the beacon ... this can be used to hit the other team's ball, just ours or both).

As we put the robot down, we hit a switch to tell it which beacon type to look for. Then, when auto mode starts, the robot drives forward until either the left or right sensor "sees" the beacon, whereat the robot stops, then turns either left or right accordingly until the center sensor "sees" the beacon, at which point we know we are facing the beacon. Here the robot moves its "tusks" and its "arm" to a position so that we can knock down the ball, and then it drives forward for a short burst of time. It is worth noting that this arrangement lined us up with the beacon *every* time, and the only issue was with coordinating the "tusks" and "arm" correctly ... which by the end of the competition, I had worked out rather nicely.

It is a simple, uncomplex algorithm. We disgard the servo setup entirely, and just use three sensors. However, its simplicity makes it work fast and reduces the liklihood of either mechanical or programming failures. I'm interested in finding out how others modified the setup we were given, and to what success.
  #2   Spotlight this post!  
Unread 03-21-2004, 04:32 PM
Kevin Karan's Avatar
Happy Birthday! Kevin Karan Kevin Karan is offline
Linux Guy
AKA: maxdamage
None #0174 (Arctic Warriors)
Team Role: Alumni
 
Join Date: Jan 2003
Location: Liverpool, NY
Posts: 141
Kevin Karan will become famous soon enoughKevin Karan will become famous soon enough
Send a message via AIM to Kevin Karan
Re: A Reminder of Simplicity

That is a great way to do it! At one point my team had 4 servo sensors on the bot, but eventualy we went down to the old 2. We didnt do any real changes in what first did other than almost compleatly rewriting the code, making minor changes in the way the sensors are positioned on the head. We do have a very overly complicated navigation system that is completly untested on the frc! How have they been working at the comps? We cant wait to test ours at buckeye!
__________________
It isnt ALWAYS the programmers falt!
2004: Buckeye team website award
2002: Rutgers semi-finalists
2001: National semi-finalists
2001: Rutgers semi-finalists
1998: Manchester Rookie All-Star Award
  #3   Spotlight this post!  
Unread 03-21-2004, 04:50 PM
edomus's Avatar
edomus edomus is offline
Registered User
AKA: Evan
FLL #1218 (CHAbots)
Team Role: Driver
 
Join Date: Feb 2003
Location: the east
Posts: 325
edomus is on a distinguished road
Send a message via AIM to edomus
Re: A Reminder of Simplicity

Quote:
Originally Posted by Kevin Karan
That is a great way to do it! At one point my team had 4 servo sensors on the bot, but eventualy we went down to the old 2. We didnt do any real changes in what first did other than almost compleatly rewriting the code, making minor changes in the way the sensors are positioned on the head. We do have a very overly complicated navigation system that is completly untested on the frc! How have they been working at the comps? We cant wait to test ours at buckeye!
We tried to use the ir at anapolis and found that there is way too much interference. Most of the time our sensors could not lock on. Thank god we had a programmed overide and a accurate dead reconing code.
__________________
2004 National Finalists with 469 and 868

2004 Gallileo champions and #1 seed
  • Delphi "Driving tommarows technology" -philly 2004
  • 8th seed philly 2004
  • 58/58 at annapolis 2004 (like the improvement?)
  • Philadelphia Alliance Regional Winner!-2003
  • 7th seed Philly 2003
  • Rookie all star philly 2003
  • semi finalist Pitt 2003
  • picked 3rd in pitt 2003
  • Seeded 17(curie) at nats 2003
  #4   Spotlight this post!  
Unread 03-21-2004, 04:54 PM
KenWittlief KenWittlief is offline
.
no team
Team Role: Engineer
 
Join Date: Mar 2003
Location: Rochester, NY
Posts: 4,213
KenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond repute
Re: A Reminder of Simplicity

Mtrawls

great thinks mind alike!

we do exactly the same thing, except we us a yaw rate sensor integrated to give relative heading to measure the turn right or left

it works extreemly well

also - we dont use interrupts for the IR sensors - if you connect them to rc_dig_in01 and 02 there are interrupt flags that get set if the sensor toggles the input pin - all you have to do is poll the flag, see if its set, and if it is then you know the sensor saw the beacon (and you clear the flag in SW)

we did notice the sensors pick up stray triggers once in a while, so we wait until we see it in the SW loop 3 times in a row (about a 1/8th of a second)

great job - simple things work the best.
  #5   Spotlight this post!  
Unread 03-21-2004, 04:56 PM
mtrawls's Avatar
mtrawls mtrawls is offline
I am JVN! (John von Neumann)
#0122 (NASA Knights)
Team Role: Programmer
 
Join Date: Mar 2003
Location: Hampton, VA
Posts: 295
mtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to beholdmtrawls is a splendid one to behold
Send a message via AIM to mtrawls
Re: A Reminder of Simplicity

Quote:
How have they been working at the comps?
I was somewhat suprised, actually -- there aren't a lot of robots that can consistently knock down the 10 pt. ball. Even fewer that attempt to do it using the IR sensors. Unfortunately, I can't say how the finals at VCU went ... (I was ... err, elsewhere), but at Annapolis, I don't think the majority of bots in the finals were knocking the ball over (granted some robots did have the strategy of positioning the mobile goal under the release and specifically did not want to knock it over).

Quote:
Originally Posted by edomus
We tried to use the ir at anapolis and found that there is way too much interference. Most of the time our sensors could not lock on. Thank god we had a programmed overide and a accurate dead reconing code.
Really? We had absolutely no problems with our IR sensors ... except for that a tiny opening in the back of one produced some interesting reflection errors, which was duly noticed and fixed with some handy aluminum foil. Other than that, we didn't get any stray signals or anything of that sort, and found that we could control our acceptance angle very accurately. What type of set up did you use? The heat shrink?
  #6   Spotlight this post!  
Unread 03-21-2004, 05:03 PM
Ryan M. Ryan M. is offline
Programming User
FRC #1317 (Digital Fusion)
Team Role: Programmer
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Ohio
Posts: 1,508
Ryan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud ofRyan M. has much to be proud of
Re: A Reminder of Simplicity

Our bonus ball mode is completely untested. We initially were going to do line following, but lost them due to space and and weight. Our current setup is driving straight and turning. We probably will never do that, as we have a hopper on our 'bot and want to be there to catch 'em all. (And, yes, we can catch all of them.)
__________________

  #7   Spotlight this post!  
Unread 03-21-2004, 05:04 PM
10intheCrunch's Avatar
10intheCrunch 10intheCrunch is offline
Who's John V-Neun?
AKA: Alex Baxter
None #0254 (Cheesy Poofs)
Team Role: College Student
 
Join Date: Feb 2004
Rookie Year: 2004
Location: San Jose, CA
Posts: 129
10intheCrunch is a jewel in the rough10intheCrunch is a jewel in the rough10intheCrunch is a jewel in the rough10intheCrunch is a jewel in the rough
Send a message via AIM to 10intheCrunch
Re: A Reminder of Simplicity

In keeping with simplicity:

Why not just use dead reckoning? In general we have observed that the more complicated an auto mode gets, the less accurate it gets, and that extends just as much to sensor using robots. With some thought you can set up a really easy to maintain and tinkerable state machine to adjust motor values, and from there its just some testing to get it to work right...

A lot of people stopped by our pit in Sacramento and commented about how simple our idea for knocking the ball off is (a fiberglass whip on a spring, lowered by a pneumatic cylinder), and it kinda surprised me. Simple mechanism means a simple program, and that's why we were so successful in hitting off the ball (until day 2 when one of the motor transmissions got changed...that's the downside of sensorless automodes =\ ).
__________________
~Alex Baxter
Programming, Arms operation, Team 254
  #8   Spotlight this post!  
Unread 03-21-2004, 05:50 PM
RoteAugen's Avatar
RoteAugen RoteAugen is offline
Registered User
None #0138 (Entropy)
Team Role: Alumni
 
Join Date: Mar 2004
Rookie Year: 2001
Location: Amherst, NH
Posts: 92
RoteAugen will become famous soon enough
Send a message via AIM to RoteAugen
Re: A Reminder of Simplicity

Quote:
Originally Posted by 10intheCrunch
In keeping with simplicity:

Why not just use dead reckoning?
look
here

see that little platform inside the A-frame towards the top? that holds 4 fixed-position IR sensors each at a different angle.... makes life easier
__________________
TEAM 138 Entropy


we come from the land of the ice and snow....
  #9   Spotlight this post!  
Unread 03-21-2004, 07:54 PM
deltacoder1020's Avatar
deltacoder1020 deltacoder1020 is offline
Computer Guy
AKA: Dav
#1020 (The Indiana Prank Monkeys)
Team Role: Programmer
 
Join Date: Jan 2004
Location: Muncie, Indiana
Posts: 340
deltacoder1020 has a spectacular aura aboutdeltacoder1020 has a spectacular aura about
Send a message via AIM to deltacoder1020
Re: A Reminder of Simplicity

I don't think anyone at the st. louis regional used ir for competition (correct me, team members, if I'm wrong). Most of the successful autonomous modes were dead reckoning, although a few line followers got close (hit the frame around the bonus balls or some other such small failure).
__________________
Team 1020, the Indiana Prank Monkeys (www.team1020.org)
  #10   Spotlight this post!  
Unread 03-21-2004, 08:22 PM
KenWittlief KenWittlief is offline
.
no team
Team Role: Engineer
 
Join Date: Mar 2003
Location: Rochester, NY
Posts: 4,213
KenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond repute
Re: A Reminder of Simplicity

the problem with dead recogning is that as your bot gets wear and tear during the matches, and your batteries are at different levels of charge, the speed and direciton your bot will run will change enough to make you miss the ball

the IR sensor scheme the originator of this thread created solves part of that problem - no matter how much the forward speed of your bot changes, it will know when its reached the beacon off 90 to port or starboard - its will know where it is on the field at that instant

our bot is very similar - and since we get to the ball in about 5 seconds, it would be a waste of time to just sit there for almost 10% of the match

so we back up and turn towards the drivers, turn our front roller on and drive through the field of freshly fallen balls to try and capture some of them.

dead recogning is ok if you only want to go straight for several seconds and do nothing else - but I have to disagree with one of the previous posts - if you implement your sensors correctly then your bot will get the ball more reliably, not less

and it will be able to do other things - and compensate for stuff like, oh I dont know, the opponent teams bot getting in your way and you have to push it backwards on the way to the release ball? :^)
  #11   Spotlight this post!  
Unread 03-21-2004, 08:26 PM
10intheCrunch's Avatar
10intheCrunch 10intheCrunch is offline
Who's John V-Neun?
AKA: Alex Baxter
None #0254 (Cheesy Poofs)
Team Role: College Student
 
Join Date: Feb 2004
Rookie Year: 2004
Location: San Jose, CA
Posts: 129
10intheCrunch is a jewel in the rough10intheCrunch is a jewel in the rough10intheCrunch is a jewel in the rough10intheCrunch is a jewel in the rough
Send a message via AIM to 10intheCrunch
Re: A Reminder of Simplicity

We use a fresh battery in every single match, no exceptions, and test on fresh batteries at the lab, so thats not a problem.

Second, the only serious wear problem we've had has been tread (we use waffle tread, it goes quickly), but surprisingly, it made no difference. The program we took from our lab, with our creaky, worn practice bot with almost no tread left worked perfectly on our smooth practice bot with new tread.

I maintain that sensors will only complicate the process, though if you do not have a practice robot and no way to test and calibrate dead reckoning, it can be difficult. A sensor program could conceivably be written and used with no testing...
__________________
~Alex Baxter
Programming, Arms operation, Team 254
  #12   Spotlight this post!  
Unread 03-21-2004, 08:31 PM
KenWittlief KenWittlief is offline
.
no team
Team Role: Engineer
 
Join Date: Mar 2003
Location: Rochester, NY
Posts: 4,213
KenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond reputeKenWittlief has a reputation beyond repute
Re: A Reminder of Simplicity

where do you get a fresh battery from in every match of the elimination rounds? they take about an hour to recharge after a tough match and they only gave us two batterys?!

your right about having to tweak the DR auton modes - we did not get any real testing time on our bot for auton before we shipped it - but by the end of the day friday we were hitting the release ball dead center every time - and all we use to naviagate is the fixed IR sensors and one yaw rate sensor (i mentioned this above)

it seems odd that you would be against using sensors. Put a pair of winter gloves on, put on a blindfold, and try to make a peanut butter sandwhich in your kitchen with YOUR feedback all turned off.

Sensors provide feedback - feedback is information - more information is always better than none :^)
  #13   Spotlight this post!  
Unread 03-21-2004, 08:51 PM
Astronouth7303's Avatar
Astronouth7303 Astronouth7303 is offline
An inspired alumnus
AKA: Jamie Bliss
no team (previously 904 (D-cubed) and 1227 (Techno-Gremlins))
Team Role: Alumni
 
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
Send a message via ICQ to Astronouth7303 Send a message via AIM to Astronouth7303 Send a message via MSN to Astronouth7303 Send a message via Yahoo to Astronouth7303
Re: A Reminder of Simplicity

I agree. If you do your sensors (and code) right, You don't need to calibrate between every match. We have a routine that we run ONCE, during the 7 AM practice round, and base everything on that.

And I'm not worried about other 'bots. If we go against a wall, the wall looses. If we a go against a bot, who do you think looses?
  #14   Spotlight this post!  
Unread 03-21-2004, 09:32 PM
LauraN's Avatar
LauraN LauraN is offline
Holder of the Missile Keys
FRC #0097 (RoboRuminants)
Team Role: College Student
 
Join Date: Feb 2004
Rookie Year: 2004
Location: New Jersey
Posts: 96
LauraN is a splendid one to beholdLauraN is a splendid one to beholdLauraN is a splendid one to beholdLauraN is a splendid one to beholdLauraN is a splendid one to beholdLauraN is a splendid one to behold
Send a message via AIM to LauraN
Re: A Reminder of Simplicity

Quote:
Originally Posted by KenWittlief
where do you get a fresh battery from in every match of the elimination rounds? they take about an hour to recharge after a tough match and they only gave us two batterys?!
We have all kinds of batteries from previous years. We bring a cart with about 8 batteries and at least one (maybe two, not sure) charger(s). The biggest challenge is keeping them organized into which are charged and which aren't.

Although I do agree that dead reckoning has serious drawbacks. Feedback is important.

Something of a hybrid could work. Our team had light sensors mounted facing our wheels. Weglued circles to our wheels that each had about 100 black and white stripes. The light sensors gave us feedback on the transitions between white and black as the wheels spun and gave us accruate wheel counts that we used to drive straight. (Our drive train was...not cooperating and veered to the left in autonomous when told to go straight).

Although we didn't use it to attempt to hit the 10 point ball, you could use these wheel counters to tell you exactly how many revolutions you've made at any point in time, and if you know the circumference of your wheels and the distances on the field, you could do some pseudo-dead reckoning with feedback. =)

I think that would be the best solution for a lot of teams who, like ours, may have had trouble with designing a system for using the IR beacons. The wheel counters were easy(ier?) to work with and could give you feedback.

Because a robot without feedback is a robot out of control. =)

(Our team didn't have any actual physical mechanism on the robot that would have been able to knock off the 10 point ball, in case you were wondering why we never tried. That and I just thought of this idea while writing this post. )
__________________
-Laura Nicholson
Team 97 (RoboRuminants) Mentor
Team 30 (FURY) Alumna
  #15   Spotlight this post!  
Unread 03-21-2004, 10:34 PM
10intheCrunch's Avatar
10intheCrunch 10intheCrunch is offline
Who's John V-Neun?
AKA: Alex Baxter
None #0254 (Cheesy Poofs)
Team Role: College Student
 
Join Date: Feb 2004
Rookie Year: 2004
Location: San Jose, CA
Posts: 129
10intheCrunch is a jewel in the rough10intheCrunch is a jewel in the rough10intheCrunch is a jewel in the rough10intheCrunch is a jewel in the rough
Send a message via AIM to 10intheCrunch
Re: A Reminder of Simplicity

We had about 8 batteries at competition this weekend, and kept cycling them through our three chargers...during elimination matches we ran close to out, but thankfully we didn't have to play any tiebreak matches and stayed powered through it all. If all else fails, I am almost positive another FIRST team would offer a spare battery (especially if they are not in elimination matches) if you are out of fresh ones. Even then, we had about 40 minutes between matches, so if you have 3 batteries you could have stayed powered through preliminaries...sorry if I am discounting teams that don't have the battery supply we do.

Perhaps my aversion to using sensors comes from the ease of using the whip to tap the balls off the tees. We don't have to turn and face into the ball; rather we run along the wall and in fact use the wall somewhat to correct our angle and hold straight. We are planning on putting a light sensor to detect the line and tell us where to stop to only hit one ball, but any more sensors would have only put more hardship on us programmers (we had enough to think about on the arms).

Another problem is serious sensor malfunction. Team 60, the team we collaborated with this year, lost in semifinals because their proximity sensor that was counting gear teeth was malfunctioning. Their autonomous mode, based on this sensor, then flung them into a wall, and they lost a pneumatic fitting, and all pressure. Eventually they lost the match and couldn't get repaired in time for the next one. With our dead reckoning, we can tap the wall a little hard, but we feel safer than if we were letting the robot decide things more.
__________________
~Alex Baxter
Programming, Arms operation, Team 254
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
Just a reminder - BACK YOUR CODE UP! wun Programming 0 02-23-2004 08:59 PM
LAST REMINDER - Discounted DUEL ON THE DELAWARE John Larock Off-Season Events 2 06-17-2003 12:00 PM
Reminder about CNN archiver 2001 0 06-24-2002 02:34 AM
Reminder...... skrussel General Forum 0 09-28-2001 04:16 PM
REMINDER! Clark Gilbert Chit-Chat 6 08-05-2001 09:26 AM


All times are GMT -5. The time now is 11:24 AM.

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


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi