Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   What to do with autonomous (http://www.chiefdelphi.com/forums/showthread.php?t=23755)

galewind 12-01-2004 22:11

Re: What to do with autonomous
 
Quote:

Originally Posted by KevinB

Good luck to all the teams who choose to implement autonomous! I hope everybody gets the chance to develop a decent autonomous program. I think we learned last year that it isnt too fun to get partnered with a robot that's dead in auto mode!

I think that one of the points of this game is that you're at an extreme DISADVANTAGE (moreso than stack attack) if you don't prepare for an autonomous mode this year.

ANd being that the code points it out for you more strategically than in PBASIC, I think more teams will be willing to give it a go.

Anthony Kesich 13-01-2004 01:22

Re: What to do with autonomous
 
quick question. Shaft encoders? What the heck are those? Do you really need much more precision than triangualtion, 2 accelerometers, and a gyro or 2 can give you? I'm planning on having one major positioning system with 2 sub ones. I.e. Range sensing triangualtion, then triangulation based on angles, than accel and gyro combined. Oh, and a quick way to do trig is make a datasheet and interpolate. If you choose your points right, you will be off by %.04 at the most and still only use something along the lines of 10 lines of code.

-Kesich

fred 13-01-2004 08:21

Re: What to do with autonomous
 
I think that autonomous doesn't all revolve around knocking off the ball, there are some other interesting things that you could do.

robolemur1236 13-01-2004 09:14

Re: What to do with autonomous
 
the IR beacon looks like our teams best bet, because we had the best line follower at the comp. last year, and it took us all 15 seconds to get out of the starting zone. it did give us a slight advantage on the bots w/o an autonomous tho. anywhere the autonoumouse mode gets you is helpful this time.

Chris Hibner 13-01-2004 10:23

Misnomers - Please Don't Use
 
Quote:

Originally Posted by Rickertsen2
Line tracking?

Dead reckoning based on timing?

Dead reckoning based on encoders?

Dead reckoning based on gyros and accelerometers?

Rarely do I stand up on a soapbox and preach, but I'm going to do so here:

Dead reckoning comes from ded. reckoning, which is short for DEDUCED reckonking. Ask anyone with a pilot certificate or someone who has taken a large-water boating class and they should know the definition.

The reason it is called deduced reckoning: You know where you started, you have an approximate idea of your heading, and you have an approximate idea of your speed. So by using TIMING, you can DEDUCE where you are after a certain amount of time. Do you KNOW where you are? NO!!! You only have an approximate idea via deduction.

When you KNOW where you are, via sensing capability, it is NO LONGER dead reckoning - it is guidance and measurement. There is a HUGE difference. One method knows quite precisely where you are, and the other method is just a decent educated guess.

The reason that I am preaching is because is becomes very difficult to describe how your autonomous mode works when everyone uses incorrect terminology.

Here's a quick example: Our team last year had a guidance system. We tried to describe it to some teams, and here was a typical conversation:

Other team: "You guys say you are fast, you must use dead reckoning."
Us: "No, we use a guidance system."
Other team: "huh?"
Us: "We use an angular rate sensor and a measurement wheel to calculate our position on the field."
Other team: "So, you use sensors. You must be slow."
Us: "No, we're not slow."
Other team: "But I read on ChiefDelphi.com that dead reckoning is the fastest method. If you're not dead reckoning, you must be slow."
Us: "No, we're not slow. We use sensors so we can go as fast as possible."
Other team: "So, you follow the line? I hear that is REALLY slow."
Us: "No, we don't follow the line. We use angular rate sensors and a measurement wheel."
Other team: "Oooooohhhhh. You dead reckon. Why didn't you just say so?"
Us: "AAAAAAAAAAAHhhhhhhhhhhhhhhhhhhhh!!!!!!!!!!!"

This is pretty much an actual conversation from last year. Why does it ruffle my feathers so much? Because it lumped us (with our wonderful guidance system that was virtually impossible to throw off) in with the dead reckoners that could be thrown off with a well placed bin or a low battery.

Sooooo......

I would appreciate it if we could please start using correct terminology now, so that when I get to the competitions, I don't need to have a repeat of the above conversation.

Whew, that was a long one. Now, let's see if I can get off the soapbox without getting hurt.

-Chris

Dave Flowerday 13-01-2004 15:32

Re: Misnomers - Please Don't Use
 
Quote:

Originally Posted by Chris Hibner
Rarely do I stand up on a soapbox and preach, but I'm going to do so here:

You might want to get off that soapbox, Chris. You're right that dead reckoning came from deduced reckoning, but "deduced reckoning" seems to be widely accepted to mean "determining one's position using a starting point, and adding distance traveled at a certain heading." Merriam-Webster defines dead reckoning as:
Quote:

1 : the determination without the aid of celestial observations of the position of a ship or aircraft from the record of the courses sailed or flown, the distance made, and the known or estimated drift
2 : GUESSWORK
Are you not navigating without the aid of celestial observations (or in our case, a fixed reference point) using the record of courses sailed or flown (again, in our case, knowing your heading and distance travelled in that direction)?

After reading a good deal about the subject last year, I came to the conclusion that our positioning system was indeed dead reckoning, and that generally the crowd on Chief Delphi used the term incorrectly to mean dead reckoning based on timing information only.

I think this excerpt explains it well (from this web site):
Quote:

First, a definition is in order. Dead reckoning is the process of estimating the position of an airplane or ship based solely on speed and direction of travel and time elapsed since the last known position (or fix). So all you need to figure out approximately where you are is an airspeed indicator or log or other measure of speed, a clock or watch, and a compass. Dead reckoning stands in contrast to pilotage (navigation by visible landmarks) and celestial navigation (navigation by reference to stars or other heavenly bodies). Since the development of radio technology, various forms of electronic navigation have also been developed, the best known of which is the satellite-based Global Positioning System. Navigating by external reference points is more accurate, but dead reckoning is the fallback when all else fails.
Your navigation system, like ours, wasn't navigating by any external reference, right?
Quote:

Do you KNOW where you are? NO!!! You only have an approximate idea via deduction.
Does your navigation system really know where it is? I don't think so. If your measurement wheel slips, your positioning system will think it's somewhere it's not - because you DEDUCED your position knowing a direction and distance traveled. Your robot cannot know with certainty that it actually reached it's destination without being able to observe something external - visually inspecting it's surroundings, using GPS, having someone else observe it and tell it that it's reached it's destination, etc.

MOEmaniac 13-01-2004 15:53

Re: What to do with autonomous
 
i was thinking why not just let the bot sit there so that way something doesnt go wrong

Dave Scheck 13-01-2004 16:08

Re: What to do with autonomous
 
Please read the first few paragraphs of Chapter 1 from this paper
from this page http://www-personal.engin.umich.edu/...b/position.htm

The author gives a very good description of dead reckoning.

It is also a nice reference for all the different types of autonomous movement. Let me warn that it is rather long, and at times mathematically complex. It is also somewhat outdated (written in 1996), but most of the concepts still hold true.

Chris Hibner 13-01-2004 16:47

Re: Misnomers - Please Don't Use
 
I'm climbing back up on my soapbox here. This is going to be a long one, so if you want to cut to the chase, you can skip to the last paragraph.

The FAA definition of dead reckoning (as taken from the Gleim Commercial Pilot manual):

"Dead reckoning is the navigation of your airplane solely by means of (human) computations based on true airspeed, course, wind direction and speed, groundspeed, and elapsed time. Simply, dead reckoning is a system of determining where the airplane should be on the basis of where it has been." Notice that "should" is underlined - it doesn't say determining where the airplane is, but where is should be.

This definition pretty much agrees on the two that you presented - i.e. navigating without direct external reference. However, what is not provided in the definitions is the fact that you have no way to truly measure groundspeed, wind speed and course - you can only estimate. The FAA also defines that any use of electronic navigation (i.e. any positioning system) to gain the above information is NOT dead reckoning - it is electronic navigation. If you try to use any electronic navigation aids during the dead reckoning portion of your pilot test, you will fail, as the FAA deems this as NOT dead reckoning.

Dead reckoning is ILLEGAL to use as a primary means of navigation under intrument flight rules. Some inertial navigation systems are 100% certified to use under IFR as a primary means of navigation.

Therefore... according to the FAA's definition (which is the one I subscribe to, being a commercially certified pilot and all), inertial navigation (and I would argue direct measurement of the ground using a wheel) is NOT dead reckoning.

Getting back to the IFR thing... IFR navigation is very much like our robot's autonomous mode. You know where you are when you enter the clouds, but while you're in the clouds, you have NO reference to the outside world (via your eyes) so you can't 100% truly verify your position over the ground. (for the robot, you know where you start, but without sensors, you can't truly know where you end up). This is where the difference between dead reckoning and inertial navigation comes in. Let's say you're in solid IMC (instrument meteorilogical conditions). You're calculating your position via dead reckoning and then the wind shifts. You would have NO IDEA that you're being blown off course into the mountain that's to the right of your route. (For the robot, you think you're going along in a straight line, when in actuality, you're in a shoving match with another robot.) However, with an inertial navigation system, the system would detect the subtle lateral acceleration and keep you on course. (For the robot, the navigation system would detect the lack of motion and could do something about it.)

In other words, the genrally accepted definition (amongst pilots, anyway) is that TRUE dead reckoning is BLIND between reference points. i.e. you only know where you start, where you THINK you're going, and how fast you THINK you're going. Then you calculate where you SHOULD be. Then, once you're not blind again (i.e. once you decide to reference the outside world), you can see how good you did, and then dead reckon to the next point. Even though you correct yourself at a few discrete points, you are blind between reference points (this is the definition of dead reckoning). If you have direct measurements of your course at any arbitrary instant in time, this is NOT defined as dead reckoning.

So... If you are measuring position constantly (by any reliable means of measurement), that is NOT dead reckoning. If you ever turn on motors to move and stop measuring, that IS dead reckoning. I guess it depends on how you defing "reliable means of measurement". I would agree that after a long period of time, and cheap INS would amount to dead reckoning. However, you mentioned that it was accurate to within an inch over the course of the autonomous period. I would say that you have a reliable means of measurement, and therefore are not dead reckoning.

(I'm climbing back down again, for the time being).

Servo888 13-01-2004 17:06

Re: What to do with autonomous
 
hmm.

I'm thinking of using a combination of all three options. First have the bot find detect the IR signal, and head to it till it gets about 3/4 there. This would be for speed; then turn off the IR detection; by then the robot should be on the white lines, then use those to get to the object. Afterwards, once the ball knocked out, have the bot turn around and head for the balls.

This way you get speed of the heading straight with IR mode, as well as the precision of line walking.

atleat I'll try that ;-). Sounds like fun.

Dave Flowerday 13-01-2004 17:08

Re: Misnomers - Please Don't Use
 
OK, first of all, I'd say there's enough disagreement (not just here, but in general on the web) that we're not going to change each other's minds. Because of that lack of concensus, though, it hardly seems fair to chastise others for using the phrase contradictory to the FAA, especially since most of the writing on the subject with regards to robotics seems to be differerent than the FAA.
Quote:

Originally Posted by Chris Hibner
However, what is not provided in the definitions is the fact that you have no way to truly measure groundspeed, wind speed and course - you can only estimate.

With your wheel encoder, are you really measuring your movement over ground directly? I don't personally think so - you're measuring rotations of a wheel, which only has an association with ground speed because you expect that wheel to be in contact with the ground, to rotate a certain number of times per distance traveled and to not slip. This seems to me to be no different than navigating in an airplane using airspeed - using your airspeed combined with knowledge of winds etc. you think you know your groundspeed, but you can't be sure.

If you put your robot up on a platform and spin your encoder wheel, your robot will think it has moved, won't it? Again, your robot assumed it was measuring groundspeed when it actually wasn't.

Anyway, it's clear we disagree on the definition, so I don't expect you to change your mind and you shouldn't expect me to change mine. I understand your reasoning and accept it, but I still personally believe the prevailing definition of dead reckoning in the world of robotics to be the one I described.

Chris Hibner 13-01-2004 17:26

Re: Misnomers - Please Don't Use
 
Quote:

Originally Posted by Dave Flowerday
OK, first of all, I'd say there's enough disagreement (not just here, but in general on the web) that we're not going to change each other's minds. Because of that lack of concensus, though, it hardly seems fair to chastise others for using the phrase contradictory to the FAA, especially since most of the writing on the subject with regards to robotics seems to be differerent than the FAA.

With your wheel encoder, are you really measuring your movement over ground directly? I don't personally think so - you're measuring rotations of a wheel, which only has an association with ground speed because you expect that wheel to be in contact with the ground, to rotate a certain number of times per distance traveled and to not slip. This seems to me to be no different than navigating in an airplane using airspeed - using your airspeed combined with knowledge of winds etc. you think you know your groundspeed, but you can't be sure.

If you put your robot up on a platform and spin your encoder wheel, your robot will think it has moved, won't it? Again, your robot assumed it was measuring groundspeed when it actually wasn't.

Anyway, it's clear we disagree on the definition, so I don't expect you to change your mind and you shouldn't expect me to change mine. I understand your reasoning and accept it, but I still personally believe the prevailing definition of dead reckoning in the world of robotics to be the one I described.

Okay, we'll agree to disagree. I figure you would want systems like yours to be distinuished, rather than being lumped in with everyone else's. Anyway, can we agree on "open-loop" and "closed-loop"?

This is a good lesson as far as showing how two cultures can clash. As the kids on South Park would say, "we've learned something today..."

Everyone should take this to heart, as this type of thing happens every day around the world. I thought Dave was an idiot for not knowing the definition of dead reckoning (based on the definition that I know), and he thought I was an idiot based on the definition that he knows. Are either of us idiots? No (okay, okay, I don't want to hear any snide remarks). However, our different backgrounds lead us to think that way.

This is very typical in a global corporate setting. Each culture has different expectations about the ways things are supposed to be, and if you don't understand that, you can think some pretty bad things about people without knowing the truth. For instance, our European office thought that our American engineers don't care what they're saying because we don't keep eye contact 100% of the time, while most Americans would interpret 100% eye contact to mean that they are angry or being intrusive. Anyway, that is one small example, but the point is this: if someone does something that to you seems inappropriate or stupid - you may just need to do some investigating to determine the true intentions. You'd be surprised at what you'll find out.

Lastly, I'm sorry for getting wound up. I had one of the most frustrating days of my life here at work today, and my blood pressure was probably through the roof today. But that doesn't mean I should go over the top here on you guys. I apologize.


Just a couple of side note for fun:

- the wheel is MUCH more accurate than aircraft groundspeed calculations.

An airspeed indicator can vary by a few knots in ideal conditions, then it changes in accuracy depending on the temperature and altitude (at 5000 ft on a hot day, your airspeed indicator can read as much as 15 knots low). Throw in the fact that winds aloft forcasts are rarely more accurate than +/- 5 knots and the direction is rarely better than +/- 30 degrees, and your compass is allowed to be off by 5 degrees, and you can start to see how aircraft dead reckoning can hardly be compared to a measurement wheel and a nice angular rate sensor. I guess when you are used to the horrible inaccuracy associated with aircraft dead reckoning you don't want your robot to be associated with that inaccuracy - too many bad connotations.

deltacoder1020 13-01-2004 17:45

Re: What to do with autonomous
 
going back to the side discussion of line following (whew, wasn't that a long time ago in the thread ;)), perhaps speed and accuracy in line detection could be improved by adding braking to the program controlling the wheels.

Chris Hibner 13-01-2004 17:58

Re: What to do with autonomous
 
Quote:

Originally Posted by deltacoder1020
going back to the side discussion of line following (whew, wasn't that a long time ago in the thread ;)), perhaps speed and accuracy in line detection could be improved by adding braking to the program controlling the wheels.

Line following should be much faster this year. The problem with line following last year is that the robot controller was so slow (~40 Hz sample rate) that you could easily move 3 inches per sample with a fast robot. You would blow by the line and not know it. Therefore, you needed to slow your robot down in order to do it.

With the new controller, you have a much faster sample rate, which means you won't go nearly as far in one sample and therefore correct much faster.

If you really want to be slick, use an array of optical sensors (say 8 of them in a line). Then you can use a feedback loop to try and keep the line in the center of the array. This way, your follower is more analog, rather than digital.

cbolin 14-01-2004 10:46

Re: What to do with autonomous
 
Hi,
This is my first year in the FIRST compo as a mentor. I must say that the first "15 seconds" seems to me to be the most interesting and challenging aspect after reading so many posts.

I was an Inertial Navigation tech on US Missile subs during the 80 and early 90's. We would leave port with accurate position information. Our inertial navigators (dead-reckoning) would use 3 accelerometers mounted on a gyro stabilized platform. Acceleration was integrated once to yield velocity north, west and vertical. Acceleration was integrated a second time to yield displacement (distance) changes north and west. These were good systems. After several days we would obtain a position "fix" from the old NavSat system (single satelite pass in a polar orbit), land based radio triangulation (LORAN) or underwater topography. We were generally only a few hundred yards off at the very most...pretty neat.

We could NOT use the three sources of position fix information all the time because the info was not available. NavSats a few times a day, LORAN only if close to land and topography every hundred miles or so.

Real-time constant triangulation with two IR beacons is pretty cool. If you can determine their directions then you can triangulate positions very easily given know distances between them. I don't see a need for line-following or dead-reckoning in this case if your system is accurate.

Dead-reckoning with time, encoders or distance traveled estimates should maintain some relative accuracy for 15 seconds. No need for triangulation or line following.

Line following from previous postings can be slow. In fact time could be lost trying to follow the line. However, it was shown in last year's competition that line-following works and has a lot of potential for improvement.

All in all there are many possibilities for that first 15 seconds of autonomous operations.

We are experimenting with 4 Banner sensors arranged in a diamond pattern. The current goal is not to follow the line exactly but to stay near it. This is much like a ship at sea following the coastline. If you are heading north on the East coast and you lose site of land, you gently steer to port (left) until land is visibile. We believe it is possible for the robot to travel much faster using this approach then typical line following techniques.

For those of you learning to drive, you know that when you are traveling 50 mph and your right side car wheels slip off of the road that the correct action is to let off of the accelerator (no brakes) and to gently steer back onto the road...then resume your speed and direction.

We'll keep you posted of any new results or ideas.

Regards,
Chuck


All times are GMT -5. The time now is 20:59.

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