View Full Version : Fully autonomous robots?
I was thinking about how, this year, FIRST has shifted autonomous into user controlled mode. I foresee that many robots will be a hybrid of both technologies. User-controlled driving and autonomous-controlled shooting. Now, what if you programmed in an object avoidance system? What if you programmed your robot to try to evade all large objects (robots) coming at it and pick up all small objects (balls)? This pretty much eliminates all the necessity for a driver during offense.
So, the focus of this thread is:
Do you think an offensively autonomous robot is feasible?
If so, do you think it would be competitive?
If not feasible, why not? What specific function could a robot do that a human could not?
Greg Marra
15-01-2006, 00:37
Do you think an offensively autonomous robot is feasible?
If so, do you think it would be competitive?
If not feasible, why not? What specific function could a robot do that a human could not?
Personally, I think that with the sensors we have available, a fully autonomous robot would be less competitive than a human driven one. I think it's just a lot easier for a human to say, "Hey, there's a ball, let me go pick it up," than for a robot to decide that that shape over there is a spherical game object and figure out how to change it's motors to get there (without pinning itself in a corner).
Primarily, I think the number one disadvantage comes from defensive driving. If I don't want you to get the to goal, I can play smarter than your algorithms. I can block your path, I can push you around, I can fool you into thinking you're on the other end of the field (:D).
However, I wish you the best of luck. It would be an amazing accomplishment.
SoftwareBug2.0
15-01-2006, 00:40
I was thinking about how, this year, FIRST has shifted autonomous into user controlled mode. I foresee that many robots will be a hybrid of both technologies. User-controlled driving and autonomous-controlled shooting. Now, what if you programmed in an object avoidance system? What if you programmed your robot to try to evade all large objects (robots) coming at it and pick up all small objects (balls)? This pretty much eliminates all the necessity for a driver during offense.
So, the focus of this thread is:
Do you think an offensively autonomous robot is feasible?
If so, do you think it would be competitive?
If not feasible, why not? What specific function could a robot do that a human could not?The reason that it won't work is that there's sort of a hierarchy of what gets done:
1)Mechanical
2)Basic Driving Code
3)Basic autonomous mode
4)Telemetry
5)Advanced autonomous code.
Most teams only get to stage 2 or 3. In six weeks, there's just not enough time to make such a system work more reliably than a human driver.
I was thinking about how, this year, FIRST has shifted autonomous into user controlled mode. I foresee that many robots will be a hybrid of both technologies. User-controlled driving and autonomous-controlled shooting. Now, what if you programmed in an object avoidance system? What if you programmed your robot to try to evade all large objects (robots) coming at it and pick up all small objects (balls)? This pretty much eliminates all the necessity for a driver during offense.
So, the focus of this thread is:
Do you think an offensively autonomous robot is feasible?
If so, do you think it would be competitive?
If not feasible, why not? What specific function could a robot do that a human could not?
I would also like to add that FIRST exist to get students interested in science and technology. A fully auto mode I think would take some of the fun away from this.
sanddrag
15-01-2006, 01:56
It would be very difficult for an autonomous robot to adjust it's strategy mid-match to account for varying field conditions and scoring status. This is something a driver can do quite easily.
TimCraig
15-01-2006, 02:16
Most teams only get to stage 2 or 3. In six weeks, there's just not enough time to make such a system work more reliably than a human driver.
Having spent years working on similar software projects, that's true. However, to get around it, you start working on your software in April. :D
SoftwareBug2.0
15-01-2006, 03:28
Having spent years working on similar software projects, that's true. However, to get around it, you start working on your software in April. :DVery true. In at least the past couple years, you've been able to have all sorts of sensors and such that could be connected to separate processors, so you could work on designing a custom "black box" in the off season. Include a few gyros, accelerometers, encoders even some ultrasonic proximity sensors, and it could give you a very good idea of where you were on the field.
Then, in the season, there's almost no work except physically rebuilding it. You could have it just send back the position and rotation of the robot to the robot controller.
I would also like to add that FIRST exist to get students interested in science and technology. A fully auto mode I think would take some of the fun away from this.
On the contrary, I think a lot of people on other teams would be like "Woah! I wish our robot could do that!", thus inspiring them to create systems similar to this on their own.
It would be very difficult for an autonomous robot to adjust it's strategy mid-match to account for varying field conditions and scoring status. This is something a driver can do quite easily.
Well, this varies from robot to robot. If your robot is one that can do everything (defend, pick up balls to throw into corner goals, shoot balls, etc.) then yes, this system may not be for you. However, if your robot only does one thing (shooting balls) all it has to do is pick up balls and shoot. I don't know what you mean by "varying field conditions." If there is a broken down robot in the way, it would treat it the same way as anything else and avoid it.
TimCraig
15-01-2006, 13:48
Very true. In at least the past couple years, you've been able to have all sorts of sensors and such that could be connected to separate processors, so you could work on designing a custom "black box" in the off season. Include a few gyros, accelerometers, encoders even some ultrasonic proximity sensors, and it could give you a very good idea of where you were on the field.
Then, in the season, there's almost no work except physically rebuilding it. You could have it just send back the position and rotation of the robot to the robot controller.
I was thinking even more of reusable software for the robot controller. With the controller now C programmable, the software is very portable even if the processor in the controller changes. A number of "problems" in robot control appear in all robots, for instance, providing the transfer function from joysticks to drive motor outputs. How many robots have you seen slamming around the field because the team used the default algorithm of joystick in equals PWM out? The output of the Victor speed controllers is VERY nonlinear relative to the PWM number input. You can come up with a general solution that's data driven and then you only have to tweak the data to fit the next robot. The software is already written and debugged. From developing the software in the first time around, you probably even have an idea how to tweat the data to make it do what you want in the new robot. :cool:
Astronouth7303
15-01-2006, 15:04
Do you think an offensively autonomous robot is feasible?
Theoretically, but not with our controller/libraries.
If not feasible, why not? What specific function could a robot do that a human could not?
Such an advanced object detection/avoidance is a current area of R&D (ie, DARPA's Grand Challenge)
I'm not sure you could do that much processing within the constraints of IFI's library (processing must be done in 26.2ms chunks, the amount of IO)
$$$, and the rules about it
I do foresee, though, more automation this year. Especially with "Montana", I expect many robots will attempt at autonomous aiming. (I doubt many humans trying to aim a launcher will have very good accuracy.)
Theoretically, but not with our controller/libraries.
Such an advanced object detection/avoidance is a current area of R&D (ie, DARPA's Grand Challenge)
I'm not sure you could do that much processing within the constraints of IFI's library (processing must be done in 26.2ms chunks, the amount of IO)
$$$, and the rules about it
I do foresee, though, more automation this year. Especially with "Montana", I expect many robots will attempt at autonomous aiming. (I doubt many humans trying to aim a launcher will have very good accuracy.)
Who says our controller has to be used? I think an offboard controller, communicating with the IFI controller at a decent speed would be sufficient.
- It would not have to be nearly as complex as The Grand Challenge. They were traveling 130 miles through a desert at speeds of 35mph. All our robot would have to do is stay on the offensive side of the field, and avoid ramming into walls.
- Offboard controller.
- A decent proximity sensor, with a couple foot range, would cost you about $25. For added accuracy, you can have a small array of these.
Tom Bottiglieri
15-01-2006, 15:29
Is it impressive? Very.
Will I do it? No.
Will I support you in your quest to get this done? Yes.
Good luck on this Mike. We need more young minds like yours in this program to keep pushing the envelope of whats possible and whats not. (Who would have thought holomonic drive systems and 4 speed transmissions would be common items 6 years ago?!)
Andrew Blair
15-01-2006, 15:56
A completely autonomous game will never take off. Rookies would be lost. Veterans would be lost. But a combo can be done. Heres what the incentive needs to be:
1. Double points for every score autonomously.
Thats it. However, the robot would have to be entirely autonomous th entire match, or impose a rule that it must navigate from a specific area and score autonomously to get double points. That way, a team can't line up, hit a button, and call it autonomous. The way to ensure the team is doing it autonomously is to have a button that enables a separate automode. You can turn it off anywhere and regain human control, but you can't turn it back on until the robot is back in that specific area.
nehalita
15-01-2006, 16:14
(oh dear this is a long one. bear with me, i actually supported my statements so that's why it's long...)
Our team was actually talking about a possible hybrid of autonomous code and the use of drivers.
Ideally, a combination of both would make the robot more competitive. With the target far away, shooting at an angle could be more difficult than anticipated (this may not be true...obviously, we don't have a working robot that can shoot in the goal and drive around yet so this has yet to be determined). If we can use some autonomous code that automatically tracks the goal and provides the proper angle of inclination or speed, some human error can be eliminated.
However, I started off with "ideally" for a reason. The code has to be able to be properly developed, used, and corrected in time.
I personally feel that a fully autonomous robot would not be nearly as competitive. An autonomous robot doesn't have the awareness of its surroundings that we do looking across the field. What I like so much about this year's game is the amount of strategy needed. You cannot teach a robot strategy....at least not in the amount of time we are allotted.
I'm not saying that an autonomous robot isn't functionable but to be competitive, I still think we need a human touch -- that means the ease of going between offensive and defensive strategies and ensuring that no one gets in each other's way. Now, we still have that problem when we are controlling the robot (getting in each other's way) but we can easily fix that. To conjure a code that would anticipate all elements, possibilities, and problems into account would simply be illogical and impractical when, given our complex decision-making faculties, humans can do the same thing with a lot less effort.
Finally, I would like to point out that there are 3 of us on the field while there is one camera on the robot. We can decide what to do when a robot rams into us and figure out where to go next, the robot cannot. We can determine whether the corner goal is free alot faster than the robot can and if a robot needs help up the ramp, we can do that while an autonomous robot cannot see whether a robot needs help or not (or decide which robot to help in the even that both robots cannot go up the ramp). it cannot assess which robot would be easier to aid and even if we could devise a code to do that, it would be easier for a human to simply take 1/2 second to figure that out than spend several hours coding it into a robot.
So essentially, autonomous code can take out the guesswork but we still need humans to decide what's best to do next. If this games was 1 vs. 1, things would be different but we have 6 robots. Versatility is essential.
I don't think an excellent robot would come of fully autonomous. It is hard enough to make stuff accurate in FLL with a decent selection of sensors, and in FRC it would be harder because although you have more sensors you also, in this case, face unexpected field changes and strategy.
Strategy would be the hardest to accomplish with autonomous.
d.courtney
15-01-2006, 17:02
I had plans on doing this since last november when an alumni from our team chalenged me saying a fully autonomous robot would never survive in first. He did say that a pannel for the "driver" with general tasks, such as buttons for say "avoid all objects", "play defence", "shoot at will" and so on would constitute as still being fully autonomous. Which is exactly what I plan on doing with our team... however to this point one thing seems to be stoping me... TIME(as I am a lone programmer).
Now as I am sure you picked up I think it is feasible. and things a robot could do better: keeping away from penalties for one... as it would be easy to program in preventive measures from getting them.
Now the other thing I will want to include is a manual override system for tougher matches. or when we are in a pickle.
Oh yeah one more thing... is there anyway that the robot could remember information, ie a robot that improves as matches go by...
and last tracking a sphere isn't to hard, already have had some success with it and the green light.
I had plans on doing this since last november when an alumni from our team chalenged me saying a fully autonomous robot would never survive in first.
The doubt of others is the best inspiration.
Now as I am sure you picked up I think it is feasible. and things a robot could do better: keeping away from penalties for one... as it would be easy to program in preventive measures from getting them.
Now the other thing I will want to include is a manual override system for tougher matches. or when we are in a pickle.
Of course. Any system like this should have a good level of redundancy.
Oh yeah one more thing... is there anyway that the robot could remember information, ie a robot that improves as matches go by...
I think you are thinking about a sort of Artificial Intelligence/Machine Learning system. This would be severely stretching the limits of any mid-priced microcontroller. But, you could use the EEPROM to store data. Kevin Watson has code to do that at http://www.kevin.org/frc
d.courtney
15-01-2006, 17:31
I think you are thinking about a sort of Artificial Intelligence/Machine Learning system. This would be severely stretching the limits of any mid-priced microcontroller. But, you could use the EEPROM to store data. Kevin Watson has code to do that at http://www.kevin.org/frc
yeah, a bit, but that would be more for a project I do next summer, just something I have been wondering about.
btw, are you attempting for the fully atonomous robot mike?
yeah, a bit, but that would be more for a project I do next summer, just something I have been wondering about.
btw, are you attempting for the fully atonomous robot mike?
Ahh, ok then.
I would love to work on a fully autonomous robot. Whether or not I do comes down to a team decision. To be perfectly honest, I think it will be hard to convince my team to relinquish the beloved CH Flightsticks.
However, if I can't do it in FIRST, I'd probably do it outside of FIRST. I just need to think of a cool application. Having a robot autonomously navigating my backyard isn't very fun, so suggestions are welcome.
d.courtney
15-01-2006, 17:59
hmm my team seemed much more willing, all they said was "If you can do it we will use it"... so if you'd do it either way wheather in or out of first, you should code as if it will be used, and if it is good I am sure your team or any for that matter would be willingfor it (just give them manual override so they can play some of the matches) because it is quite an impressive thing, which would garuntee the inovation award, and its just plain cool... correct me if i am wrong but I think it would be a first in FIRST. and I for one would like to be apart of it... besides you have to admit this is the best year in a while to have fully autonomous code, since the shoting has to be autonomous anyway.
A fully automonous robot really would not happen unless there was advantages to it. Here is an idea that if FIRST applied to a future game, many teams would seriously think about a fully autonomous robot.
All robots start off the match in auto mode like normal and they will stay in auto mode unless the drivers of the robot press a button similar to the e-stop in the player station. When this button is pressed, the robot switchs to manual control and cannot be switched back. The advantage they could add to auto mode is that any points scored by a robot in auto would be doubled. This would encourage teams to stay in auto mode as long as possible, even the whole match, and be rewarded for being so.
Tom Bottiglieri
15-01-2006, 18:33
Ahh, ok then.
I would love to work on a fully autonomous robot. Whether or not I do comes down to a team decision. To be perfectly honest, I think it will be hard to convince my team to relinquish the beloved CH Flightsticks.
However, if I can't do it in FIRST, I'd probably do it outside of FIRST. I just need to think of a cool application. Having a robot autonomously navigating my backyard isn't very fun, so suggestions are welcome.
Make an autonomous snowblower.
Make an autonomous snowblower.
Haha, I'll go ask my dad if I can rip apart our new $1,100 snowblower :p
d.courtney
16-01-2006, 21:38
and if you did make an autonomous snowblower you'd want some proximity sensors just in case little kids ar playing in its way... that wouldn't be too pretty
I think that partial autonomous, or perhaps better phrased, driver augmentation is the perfect, and indeed key component of this year's game. I think that especially with shooting, the driver needs to be able to just hit a "shoot" button, and have the robot auto-fire if in range.
Furthermore, I think that the ideal system is like a nice glass aircraft . . . the pilot still flys, but does not have to worry about individual settings like mixture or prop, instead having the computer manage those for a requested "power."
Andrew Blair
18-01-2006, 21:15
Ahh, ok then.
I would love to work on a fully autonomous robot. Whether or not I do comes down to a team decision. To be perfectly honest, I think it will be hard to convince my team to relinquish the beloved CH Flightsticks.
However, if I can't do it in FIRST, I'd probably do it outside of FIRST. I just need to think of a cool application. Having a robot autonomously navigating my backyard isn't very fun, so suggestions are welcome.
What you need to build is a people follower. Use an infrared camera to seek out moving heat signatures, then keep it at a safe distance, while still inciting curiosity. Keep it in your front yard, or close, not an attack robot...
It would be really neat to walk down the street and notice a robot "watching" you, by itself. The hard part's going to be the algorithm that lets it run when it's being stolen!
Jared Russell
18-01-2006, 21:32
While I've thought about this before, and in each year our team increased the amount of autonomy involved, the problem is in the limitations posed by FIRST.
Too little money. Too little time. Too few motors. Too little battery. Too small a processor.
If all that were not an issue, then I have no doubts that a fully-autonomous robot would work well.
The problem is that FIRST allows you four of a really powerful computer when you run your robot, a computer than can react to all sorts of stimuli - vision, sound, the score of the match. It has built in feedback controls and is powered by coffee and donuts.
Four living, breathing, thinking people are tough to beat. :]
phrontist
18-01-2006, 21:34
I think that a strong alliance could win against a weaker one with properly implemented autonomy.
Andrew Blair
18-01-2006, 21:37
I think that a strong alliance could win against a weaker one with properly implemented autonomy.
You don't say! :)
It would really depend how weak. If they couldn't score, maybe. Also depends on how dynamic your autonomous is. It would be rather easy to put you in a corner if you didn't know it was happening...
vBulletin® v3.6.4, Copyright ©2000-2017, Jelsoft Enterprises Ltd.