View Full Version : Did Anyone Accept the Challenge?
Geek 2.0
14-03-2011, 11:30
If my memory serves me correctly, there was a thread last year where a challenge was put forth for teams to make their robot entirely autonomous, with no operator control. A few teams pledged to do it.
I in no way criticize anyone who said they would and then didn't, because it's something that is really difficult to do, and not just anyone can do it. But I would like to know if you've seen anyone (or you are someone) who actually did this, because if they did, they deserve the utmost respect.
Alan Anderson
14-03-2011, 12:50
If a team fielded a robot that used only its onboard sensors and programming and took no input from the drivers, I'd wonder why they chose to show off their programming skills instead of playing the game to win. I would feel sorry for any of their alliance partners.
Unless, of course, the fully autonomous robot could score more points than the same robot could under driver control. That achievement would indeed be inspirational.
If my memory serves me correctly, there was a thread last year where a challenge was put forth for teams to make their robot entirely autonomous, with no operator control. A few teams pledged to do it.
I in no way criticize anyone who said they would and then didn't, because it's something that is really difficult to do, and not just anyone can do it. But I would like to know if you've seen anyone (or you are someone) who actually did this, because if they did, they deserve the utmost respect.
This goal is still very alive in my eyes. Where I don't expect to see any in the regular season, I think come IRI we may see one that can pull it off.
Actually my defensive bot would be fully autonomous. It would start off right next to one of the towers and create a wall within the 84" limit stopping teams from putting up one of the mini bots. Also it would block a significant portion of the lane....
I am going to be working on a fully autonomous robot once I raise the money for it. (4 rev swerves, a killer bees 4 speed shifter, 4 range finders, and a second camera)
I think once I have the platform built, it will take about a 6 week period to program it. Hopefully come this years IRI, I will be able to bring it down and showcase it.
davidthefat
14-03-2011, 18:25
Even I, the one who proposed the challenge, did not do it for several reasons. I choose not to express why, but I can say it was from personal issues. Even if the robot was fully autonomous, and it dominated, we would not have implemented it. I will say that people have a fear of failure; that includes the fear of the unknown.
Mentors were very optimistic about it. I will attempt to implement it next year when it would be my last year.
SudoSammich
14-03-2011, 18:43
If anyone managed it I'll be rather surprised. Hell, over here we didn't even put out a robot with full code on it since the builders were inside the thing up until it was put in the bag. We'd be thrilled to have enough time to run A test on the bot before it's shipped...a team that can get full autonomous robot testing in has to be moving pretty close to the speed of light...
If anyone managed it I'll be rather surprised. Hell, over here we didn't even put out a robot with full code on it since the builders were inside the thing up until it was put in the bag. We'd be thrilled to have enough time to run A test on the bot before it's shipped...a team that can get full autonomous robot testing in has to be moving pretty close to the speed of light...
Or have their robot already finished at kickoff... cough PINK cough :)
but in seriousness I think it's an almost impossible task to accomplish in 6 weeks. If you had a fully built robot it may be possible, but you would have to have exclusive rights to the robot (ie no drive team practicing with it).
I wish FIRST would allow the zigbee module so we could begin programming coordinated autonomous programs. Three autonomous robot working together would be pretty awesome
davidthefat
14-03-2011, 18:58
I personally think it is more than doable; the teams just need to have a very expandable and scalable engine. That will take a long time. But once you have the engine, I believe it is doable in 6 weeks. My worry is using too much funds for such goals. I don't want to put a cap on how much the other departments can use for the robot. The sensors do not pay for themselves.
My other worry is: "Woop dee doo, you have a fully autonomous robot; what is the big deal?" Programmers would be impressed; no one else would be. It mostly is a public statement to even have autonomy. The drive team was mostly seniors, and a sophomore and I will be the only ones left next year. I don't think drive team would mind.
Third, it seems like a very selfish goal. I am purposely choosing NOT to be the team captain next year for the fear that I would turn out to be a dictator and drag the team down with me. I am nominating someone else on purpose.
Oh and BTW, I love your signature Mr. Mike
Or have their robot already finished at kickoff... cough PINK cough :)
HAHA anyone who knows pink knows they have to work like crazy just to finish there robot by Saturday afternoon...
On the topic of the thread i think this year has to may things involved to really pull this off. Making logos, finding the right peaces, navigating the field the list goes on and on. In order for this to happen we need another game like lunacy there the field is open, there are very few goals, very simple strategy, and very few (preferably one) type of game piece.
I for one hope to see this happen one day (or have the chance to try it myself) but i don't think its gonna happen successfully this year. Even if it was pulled off i think i would leave it in the shop and leave the real work to our drivers, autonomous is enough of a burden.
I personally think it is more than doable; the teams just need to have a very expandable and scalable engine. That will take a long time. But once you have the engine, I believe it is doable in 6 weeks. My worry is using too much funds for such goals. I don't want to put a cap on how much the other departments can use for the robot. The sensors do not pay for themselves.
My other worry is: "Woop dee doo, you have a fully autonomous robot; what is the big deal?" Programmers would be impressed; no one else would be. It mostly is a public statement to even have autonomy. The drive team was mostly seniors, and a sophomore and I will be the only ones left next year. I don't think drive team would mind.
Third, it seems like a very selfish goal. I am purposely choosing NOT to be the team captain next year for the fear that I would turn out to be a dictator and drag the team down with me. I am nominating someone else on purpose.
Oh and BTW, I love your signature Mr. Mike
Haha thanks! It was my quote for my slot in the senior yearbook.
I definitely think it is possible in 6 weeks also, but there would be some requirements. First using almost an identical chassis. Second, a swerve or a mecanum would make the task a lot easier. Third, working libraries for each sensor (many could be a layer on top of wpiLib) and a working camera library on the driver station (I just got Open CV working in netbeans on my mac).
My list of absolute requirements for autonomous logomotion:
2 cameras
2 rangefinders
strafe (mecanum, swerve, drop strafe)
encoder on arm/lift
5 ft / s @ 90% on at least one speed (hopefully not the only speed)
ideal additions
a third camera for the robot (on board processing)
1 compass
1 gyro
encoders on everything
multi-speed transmission
EricLeifermann
14-03-2011, 19:20
Aren't the mini bots fully autonomous?... then any team with a mini bot has a fully autonomous robot this year :D
HAHA anyone who knows pink knows they have to work like crazy just to finish there robot by Saturday afternoon...
On the topic of the thread i think this year has to may things involved to really pull this off. Making logos, finding the right peaces, navigating the field the list goes on and on. In order for this to happen we need another game like lunacy there the field is open, there are very few goals, very simple strategy, and very few (preferably one) type of game piece.
I for one hope to see this happen one day (or have the chance to try it myself) but i don't think its gonna happen successfully this year. Even if it was pulled off i think i would leave it in the shop and leave the real work to our drivers, autonomous is enough of a burden.
it was a joke referring to the picture they posted :)
The concept was give me a robot close to what this years will be, and I could play with it all season. :)
I agree this year is a bit ambitious to accomplish. I think the most difficult part would be avoiding penalties. finding tubes, picking them up, and knowing where to cap them can be done reasonably with off-robot processing using something like open CV
JamesBrown
14-03-2011, 22:27
David and lineskier ot of curiosity how much experience do you guys have with programming autonomous robots? I think you guys are drastically under estimating the difficulty of this task.
davidthefat
14-03-2011, 22:31
David and lineskier ot of curiosity how much experience do you guys have with programming autonomous robots? I think you guys are drastically under estimating the difficulty of this task.
I really have no experience, I believe that it can't be that hard in a such confined environment such as a FIRST game compared to the world. I was only planning on being defensive anyway. A fully autonomous robot could have been just a wall like pong. Just strafing with the bot in front
Vikesrock
14-03-2011, 22:33
I really have no experience, I believe that it can't be that hard in a such confined environment such as a FIRST game compared to the world. I was only planning on being defensive anyway.
It may be even harder. In "the world" it is often not a requirement to navigate around objects moving around at 10-15FPS.
davidthefat
14-03-2011, 22:41
It may be even harder. In "the world" it is often not a requirement to navigate around objects moving around at 10-15FPS.
Eh, true, but we won't need to be calculating realtime to compensate for uneven terrain or some other stuff like that. I see no reason why this will not be possible in 1 year.
David and lineskier ot of curiosity how much experience do you guys have with programming autonomous robots? I think you guys are drastically under estimating the difficulty of this task.
Lets say 04 was the first time I was introduced to autonomous (glanced at it in 03, but basic sucks).
However coding was completely changed with the introduction of the cRIO.
That being said, I got the camera working for this game in about one nights of work. My biggest issue was our drive (2wd direct with only 1 cim per box). The arm didn't help either. If I was to try to accomplish this, I would have a long list of requirements for the robot. Something like 40 (swerve with a reliable arm)
Using real vision libraries, you could find the tubes, analyze the rack and cap.
The tubes make huge targets, and the pegs show up really well on the camera.
Using something like that which 33 developed where based on the tube, the arm goes to a given height would help.
I already have the structure to allow autonomous to work as a graph state machine, allowing me to create loops. So to do a fully autonomous robot, you would have to create maneuvers such as the following, and then it would progress through the graph.
FIND TUBE
CAPTURE TUBE
FIND TARGET
CAP TUBE
RESET...
I'm not saying it would be easy, but I think it would be possible if it was a goal from kickoff to IRI.
If I could score 2 ubertubes and one logo fully autonomous that would be my metric for success.
Probably the way I would start is by making a deal with the opposing alliance, "you throw three tubes in our scoring zone, we'll throw 3 in yours" This way I would never have to leave the area by the goal and deal with a defending robot.
More realistically I could set up the maneuvers for driver use. So the driver gets the tube in the cameras image, and then the tube capture is handled. Then the driver gets to the pegs, and runs the auto cap. Drivers are better than the autonomous at adjusting to their environment, tube captures and caps are fairly static so may be better for auto maneuver
theprgramerdude
15-03-2011, 00:05
I believe the challenge was a worth goal; it surely can be done given a small team of experience programmers with the drive to make something this awesome. However, this game doesn't really suit a full autonomous. Can someone here tell me exactly how complex the code would be to sense out all the tubes flying around the field, and differentiate them from the field, the arena, and other robots? Last year would've been a great game to try it with (not as many objects to deal with, and a more limited space at any given time). This year would just be hell if you have anything less than 10 or 15 sensors, including all the code required to operate them all effectively.
Geek 2.0
15-03-2011, 10:13
Perhaps we should try a new goal, maybe for off-season events. I doubt we will be able to do this, but I would love to see someone give it a shot.
What if the challenge were not a fully autonomous bot, but rather a MOSTLY autonomous bot? lineskier put forth a good idea, by telling the robot to "FIND TUBE" and "CAPTURE TUBE", etc. Obviously, if it misinterprets, the error will just rack up and there will be problems on problems.
To avoid this, give the driver two buttons: "Success" and "Failure/Retry". If the robot succeeds in the command it's given, you tell it "Success". If it fails, you tell it to retry.
To be really impressive, have it learn from failure. Yeah, that sounds difficult, but it's possible, and not as complex as you might think. If it grabs the wrong color, have it tweak it's color detection settings. If it went the wrong way, tweak the heading.
So, what do you think? Anyone willing to take up the challenge? (Like I said earlier, unfortunately our team won't be able to do this yet, but maybe in the future).
I believe the challenge was a worth goal; it surely can be done given a small team of experience programmers with the drive to make something this awesome. However, this game doesn't really suit a full autonomous. Can someone here tell me exactly how complex the code would be to sense out all the tubes flying around the field, and differentiate them from the field, the arena, and other robots? Last year would've been a great game to try it with (not as many objects to deal with, and a more limited space at any given time). This year would just be hell if you have anything less than 10 or 15 sensors, including all the code required to operate them all effectively.
Actually I believe this year would be easier than last year for several reasons:
The pegs are easier to see than the targets.
The pegs relate more information than the goals.
The tubes are easier to see than balls.
Fully autonomous would help if you had a full alliance involved in the cause. I think an autonomous capper could be faster than a human capper, so if you had a team dedicated to delivering tubes, and your only job was to cap them I think you could get the average down to about 10 seconds per find and cap by staying in your endzone.
One thing I've noticed a lot of is alliance partners bumping into one another. By putting an autonomous robot on one rack, and having one runner, i think it would free up quite a bit of the field.
Again you wouldn't want to try to watch the tubes flying around, but tubes on the ground are certainly detectable as the are large and have specific shapes. Open CV contains some shape matching libraries that could help there. You would drive around scanning for a tube that was on the field.
Perhaps we should try a new goal, maybe for off-season events. I doubt we will be able to do this, but I would love to see someone give it a shot.
What if the challenge were not a fully autonomous bot, but rather a MOSTLY autonomous bot? lineskier put forth a good idea, by telling the robot to "FIND TUBE" and "CAPTURE TUBE", etc. Obviously, if it misinterprets, the error will just rack up and there will be problems on problems.
To avoid this, give the driver two buttons: "Success" and "Failure/Retry". If the robot succeeds in the command it's given, you tell it "Success". If it fails, you tell it to retry.
To be really impressive, have it learn from failure. Yeah, that sounds difficult, but it's possible, and not as complex as you might think. If it grabs the wrong color, have it tweak it's color detection settings. If it went the wrong way, tweak the heading.
So, what do you think? Anyone willing to take up the challenge? (Like I said earlier, unfortunately our team won't be able to do this yet, but maybe in the future).
This is definitely my first goal. However I don't have a swerve drive, which would be my first requirement for this project...
Once I raise the money I'll be putting together a 4-speed swerve drive. it wouldnt need an arm at first. It would simply drive to a tube, and then drive to the peg column where that tube would be worth the most.
Ideally such a task would be accomplished by 2 separate teams... one for the drive, one for the arm. So work could be done in parallel rather than in series.
or even better 3, adding in a team for the vision system, as it would dictate to the drive and arm.
JamesBrown
15-03-2011, 10:52
Lets say 04 was the first time I was introduced to autonomous (glanced at it in 03, but basic sucks).
However coding was completely changed with the introduction of the cRIO.
That being said, I got the camera working for this game in about one nights of work. My biggest issue was our drive (2wd direct with only 1 cim per box). The arm didn't help either. If I was to try to accomplish this, I would have a long list of requirements for the robot. Something like 40 (swerve with a reliable arm)
Using real vision libraries, you could find the tubes, analyze the rack and cap.
The tubes make huge targets, and the pegs show up really well on the camera.
Using something like that which 33 developed where based on the tube, the arm goes to a given height would help.
I already have the structure to allow autonomous to work as a graph state machine, allowing me to create loops. So to do a fully autonomous robot, you would have to create maneuvers such as the following, and then it would progress through the graph.
FIND TUBE
CAPTURE TUBE
FIND TARGET
CAP TUBE
RESET...
I'm not saying it would be easy, but I think it would be possible if it was a goal from kickoff to IRI.
If I could score 2 ubertubes and one logo fully autonomous that would be my metric for success.
Probably the way I would start is by making a deal with the opposing alliance, "you throw three tubes in our scoring zone, we'll throw 3 in yours" This way I would never have to leave the area by the goal and deal with a defending robot.
More realistically I could set up the maneuvers for driver use. So the driver gets the tube in the cameras image, and then the tube capture is handled. Then the driver gets to the pegs, and runs the auto cap. Drivers are better than the autonomous at adjusting to their environment, tube captures and caps are fairly static so may be better for auto maneuver
I was looking more for any experience with Autonomous robots outside of FIRST (well outside of the 15 seconds FIRST requires).
You are on the right track about what needs to get done, but you are drastically simplifying how hard it is to do. I would say that it is possible on an empty field with no other robots and only tubes placed by your HP to score 3 tubes plus Ubertubes, but that is far from playing the game. Consider all of the contingencies that a driver deals with during a match, tubes moving through the field of view, flat tubes that the bot cant pick up (Unless you have an awesome vision algorithm a flat tube is going to look identical to a full one) other tubes getting in your way etc. It is incredibly difficult to predict what could happen and to deal with it.
I do however agree that automating small tasks is the right path to head down. It amazes me every year how many teams are impressed by other teams arm presets or automatic aiming. This year offers two very beneficial game elements to automate, first, adjusting arm position for pick up or scoring, and second adjusting robot/deployment system to line up with the pole for the mini-bot race. Start by automating those and then work from there.
I really have no experience, I believe that it can't be that hard in a such confined environment such as a FIRST game compared to the world. I was only planning on being defensive anyway. A fully autonomous robot could have been just a wall like pong. Just strafing with the bot in front
The FIRST game field is a relatively small area which you are right does make autonomy easier; however it is a dynamic world. There are at least 9 other players in the world (5 robots and 4 human players) this immediately complicates things. Look at the number of penalties caused by drivers playing defense this year. An Autonomous robot that plays defense would be a huge risk, what happens when you misinterpret data and all of a sudden instead of playing pong in front of the zone you are driving into and out of it? Sure you can try to defend against that (look for the lines on the ground but what happens if you get pushed inside the line (by a robot going to score, not intentionally so no penalty to them) then all of a sudden the robot wants to stay in the zone instead of outside of it. FIRST games are far too complicated to play autonomously.
Eh, true, but we won't need to be calculating real-time to compensate for uneven terrain or some other stuff like that. I see no reason why this will not be possible in 1 year.
If I remember your old posts you want to map the area, because you are in a dynamic environment you will need to map in real-time to keep the map relatively accurate. Uneven terrain in a static environment is trivial compared to Robot-Robot and Robot-Game piece interaction in a dynamic environment. I am not sure what you mean by this will be possible in a year, if you mean that with 1 year to program and implement an autonomous bot you could play the FIRST game or if you mean that next year a team could do this during build season. Either way I would say that there is no way it is possible.
If you want an example of the difficulty of playing a game with Autonomous robots, look at robot soccer, that is much simpler than FIRST, one game piece, one way to score, and you get to control all of the robots on your team. Even the best robot soccer teams are still quite frankly terrible at the game, a team of identical bots driven by humans would beat the autonomous ones every time.
I know that there is always the argument that even if an Autonomous robot doesn't perform as well as a human driven one would it is still work pursuing as FIRST is not about winning a robotics competition it is about inspiring students. While I agree that is the message of FIRST it is important to keep in mind that FIRST is teaching students about engineering through an engineering challenge. As an Engineer I can tell you that when my manager gives me a task to create a control system for a human controlled manipulator he will not be impressed if I tell him it does half the job and only when it is not interfered with by outside forces that we know will exist in the environment, but it is fully autonomous. I didn't solve the problem; I just built something for the sake of building it. Identifying constraints and finding the best solution is 98% of what engineering is about, the actual coding, machining, or fabrication is a miniscule part of what makes a good engineer.
vBulletin® v3.6.4, Copyright ©2000-2017, Jelsoft Enterprises Ltd.