Drive Team Configuration

David,

Your failing to see the point. Adam suggested that you use your programming skills to help the drivers and the **TEAM **. With your abilities you could:

-Create a competitive autonomous routine
-Allow better control of the robot for drivers
-Implement more sensors that would provide valuable feedback
-Design a dashboard for you team.
-Automate tasks that would be hard for drivers (such as re cockk the kicker after kicking the 2010 soccer ball and having the kicker go to a desired position).

There are so many different and valuable things you can do to put your team in the best position to win. I believe there was a thread talking about how missions to the moon/mars are not fully autonomous and require some sort of human interaction.

**A fully autonomous crappy robot isn’t really that amazing, a well built winning robot is hands down much more amazing.
**
Its very foolish for you to ignore the advice of very talented and respectable CD members. To be honest, my team has worked all year long. Even in the off season. If my team was in the top 8 and we lost a spot cause our alliance partner used us as a “guinea pig”, I would be very very upset and so would many of our parents/mentors.

Taking everyones advice here on CD as a challenge makes you look quiet stupid, it doesn’t hurt for you to stop an say “Man I was wrong” and take a new direction.

Adam said it best:

“In engineering, it’s important to use the appropriate tools and not more resources than are required. Building a completely autonomous robot for a teleoperated competition may be cool, but it’s bad engineering. A robot with many automated and autonomous portions to make it easier on the drivers (while maintaining driver control), is good engineering.”

Also take some time and think about the posts, don’t reply back right away cause you **HAVE **to leave a reply.

-RC

While I, in David’s position, would take your advice, I don’t necessarily agree with this. A fully autonomous robot that actually played the game, though not necessarily very well, would be rather impressive, at least to me.

By playing the game, I don’t mean, followed a ball until it’s picked up, then turned towards the goal and shot. I mean intelligently finds the closest or easiest game piece to grab while avoiding obstacles, knows not to shoat with an opponent in the way, and finally but precisely finds the goal with the game piece. Anything less than that really isn’t playing the game.

Yes, that probably wouldn’t be the greatest use of human resources, to use a talented programmer to recreate the most basic human driver, but that is award winning (Innovation in Control…) and a valuable experience for the programmer in question.

That said, it would probably hurt the team to a certain extent, and I can’t imagine a potential drive team would be happy to see their places taken by a less competent AI. So David, if you really are going to try this, which I believe you will, if your AI is worse than a human driver, don’t expect it to be used. However, if it is actually better, then that is a significant accomplishment.

Did his entire post go completely over your head? Seriously?

It’s your duty in FRC to your teammates and alliance partners to put the most competitive robot possible on the field. A fully autonomous robot (assuming you do it, as literally hundreds of posts about the difficulties of such a system have again gone completely over your head) will in no way be better than a teleoperated robot with only 6 weeks of work.

Though honestly, you’re lacking something far more important to your alliance partners than a good robot: good listening skills. Though, hey, everyone else in the world is your guinea pig anyway, you won’t need to coordinate with them.

David. Talk to 33 or 111. They have some of the most automated robots in the competition every year. They could probably make a serious run at a fully-autonomous robot if they wanted to. They don’t. There is a reason for this!

33 has automation built into a lot of functions. A filter they wrote years ago went onto a sponsor’s vehicle a year or two later with little modification. They were one of the first teams to do shift-on-the-fly–with a 4-speed gearbox that shifted smoothly. They write the automation code so that the operator can tell the robot what device X needs to be doing, and the robot just does it with no further input, if it can be done safely. Read the 2007 Behind the Design book.

111, same thing. They’ve built some complex robots, and the code to match. They did a 4-5 joint arm a few years back. (See the same book.) If they didn’t have some form of automation, they’d be crazy.

1024, back in 2008, ran a full avoidance program (until the sensors smoked and flamed). They could avoid just about anything autonomously.

To run a fully-autonomous robot and run it well, you need to combine the avoidance code of 1024’s 2008 robot with the automation of 33 and 111, along with the decision-making of a human and the drive code of your robot design. If you can’t do that decision-making, settle for automation. Make it so that your driver or operator says, I need X at point Y, and the robot does it quickly and smoothly.

Very few robots could run fully autonomously these days. The last game that was practical was 2003: Drive up the ramp and lock down. 111 was one of the World Champions. This was also the first time automode came into play. 2002 would be even easier–drive straight, grab goal, drive straight, park. Imagine if 71 had run autonomously that year: Drivers hit “go” and watch the robot win the match every time (as opposed to drivers drive the robot out, shift drivetrains, and win the match).

Listen to JVN. He’s been on three good teams and learned from many more. If he says that he does not want to be paired with you, without even hearing about your robot, you might want to listen to why.

On the same note, I’d want to pair with 33, 111, 71, or 148 any day, no matter the game and no matter their robot. There’s a very good reason why, or several, and some of them are above.

Wrong sir. Very wrong. There is absolutely no duty whatsoever to field the best competitive robot a team can, absolutely not. It is your opinion that putting out a good tele-operated robot would be better than an autonomous one to work with, but that is just YOUR OPINION. The fact that others may share you opinion does not mean that it is going to be a fact, as it’s still YOUR OPINION.

Going back to the FIRST acronym, For INSPIRATION and Recognition of SCIENCE and Technology, a working, functioning autonomous robot is hands-down the best way, IMO, to get people to be inspired by the competition. Interfacing with a human operator is a fine thing and all, but forcing a robot to run on it’s own, and run well, is pure science and pure inspiration. People will respect that better than any winning robot that can do some things neatly and win, because FIRST and the FRC isn’t about winning.

If he can convince his team that this course would suit them well, and they feel like it’s in their most inspirational interests to do so, they should. It’s why they are building a robot, after all.

Nice, good luck with that, but I would recommend you don’t discard the advice given by some highly respected FRC members. From a programming perspective, that would be awesome; however, from a strategist/scout I would never pick your team in eliminations. Looking back, our team with some more controls and sensors could have probably programmed our 2008 speed racer to run laps autonomously.*** Would that have been cool, yes. Would it have been the most effective strategy, no. Why? Because when we did compete with it during the off-season we used that lap bot to not only run laps, but our driver would play defense at the same time such as knocking balls away/out of grabbers and stuff like that making it a highly obnoxious opponent. I was behind the glass during a few of those matches and found the on the fly choices genius.

Another note, how many FRC robots have successfully completed their autonomous program repeated in the exact same way every match? Along the same idea, how many robots have done the exact same things in each and every match? FLL robots compete on tables with no other robot interaction and most of them cannot pull off 400 points consistently every round all the time.

I am not doubting your programming skills, it is A match strategy, but it isn’t the ONLY of most EFFECTIVE strategy. Consider the amount of time it would take to program/test/debug all of that code in 2 minute matches. I would rather take all that time to train drivers how to play the game and react to different strategies.

1519 has done the usual driver for the chassis and moving the robot, operator for the manipulators, coach for direction, and human player to do the human player things. In 2009 we gave the control of picking up balls to our driver instead of our operator too ease communication between the two.

Merry Christmas!!

***http://www.mechanicalmayhem.org/teamvideos.asp

Thanks to all of you that responded to my post, but now lets get back to the topic:

I suggest that you have the maximum number of persons allowed at the box at all times. You never know, what if the driver cramps up his forearm an cannot properly drive? Somebody has to come in and replace him. Ok far-fetched example, but I am exemplifying something. Always come prepared. You would never go to the regional without spare parts, tools and a computer to program the robot with. Why step onto the ring without a backup? Ben Franklin once said that failing to prepare is preparing to fail. You never know when your driver passes out during the match due to dehydration or his arms cramp up. Always have depth in your rosters.

I was right with you until we got to this part. There are lots of threads in CD that discuss this part and in those threads are a lot of opinions and a lot of opinions expressed using wisdom. If it were not about winning, it would not be called a competition - but FRC is much more than winning a competition and therein lies the magic of infinite possibilities. Some include how a team wins which could touch into some of our higher ideals such as playing with integrity and honor. Some can include the honor of the win or the loss, recognizing the importance of going the distance and never giving up. Some include the teamwork developed between students and their mentors, pushing us into areas of innovation, creative problem-solving, and hands-on applications. Some can include the doors that open to educational and careers opportunities that would otherwise not make themselves available or remain undiscovered. Sometimes, there is nothing sadder than a dormant or undiscovered opportunity when it is actually right at our fingertips and we aren’t paying attention.

It is about winning and what that can mean.

Jane

Pay close attention to the other two letters you ignored there. We’re not just talking FIRST. We’re talking the FIRST Robotics Competition. If you are going for “impressive” at the expense of “competitive”, it’s my opinion that you’re being unreasonably selfish.

That’s even before considering the increasingly obvious fact that the programmer in question (and his entire team, for that matter) has more than a few other things to work on before getting to the point where a fully autonomous robot is anything more than a fantasy.

816 has always followed the following configuration for as long as I’ve been involved and from what I’ve heard since our inception.

Driver - Responsible for the movement of the robot and getting the robot to where it needs to be. Usually we’ve tried to keep the driver’s controls to a minimum so there is less to worry about, but we have played on giving the driver some control over other machine functions (Ramps in 2007, Dumper override in 2009 which was never used.)

Operator - Responsible for robot manipulators. Pretty straight forward, anything that’s not in the drive-train is usually controlled my the operator.

Human Player - Varies with the game, and usually is the person most likely to change from year to year depending on the role. Usually this person is relatively athletic should the game call for it, otherwise this role is assigned to one of the more dedicated members that wasn’t able to cut it as Operator or Driver.

Coach - This is the role I’ve somehow fallen into since my graduation from HS, and I take responsibility for pre-match strategy, Analyzing Scouting Info (This varies from year to year, depending on what human resources are available) and watching the match while it is in progress. I try to keep my driveteam as well informed as possible both before and during the match so that they have less to worry about.

We also have a sort of an Assistant Coach on 816, Zach. He was our Coach in 2009 and a really close friend of mine so he usually travels with the team to help with strategy, scouting, keeping me sane, match analysis, comic relief and a handful of other things. If you don’t have a Zach on your team, I think you should find one.

I place a large emphasis on drive team cohesiveness (I guess that’s the appropriate term) and how well the personalities mesh with each other. I’ve worked with a lot of different drive team configurations in my 5-seasons with FIRST and I’ve found that this is often over looked. In many years we’d often pick the person that was best for a single job but often conflicting personalities would hinder the drive team from reaching it’s full potential. Just something to think about.

We also like to keep at least one or two back ups for each position, but we never cycle through drive teams. (anymore) Consistency is often one of the most important things when Alliance Selections come around, so you should keep this in mind. Nothing’s worse that picking a team and having them switch drivers or coaches during a match - it really messes up the flow of things.

And statements like this are why I love you, Chris.

I really might have to borrow this one.

In 2010 for 1178 we had:
Driver: Drove the robot, could activate the kicker, or hold down a button to deactivate it

Weapons Operator: (Team Name, makes it sound really cool) Could kick, deactivate kicker, change kick setting and activate the winch on the robot.

Coach: Talked strategy with the other teams before the match, keep track of the score and penalties, help the human players communicate (if the person on the trident wasn’t paying attention) and sometimes would tell us what our alliance partners would do

Human player: Pulled the balls out of the corral and handed them to the person with the trident

We kept the same four people for the whole St. Louis Regional, and aside from robot problems, it worked fairly well. I cannot tell you about 2009 but in 2008 the driver was given more control of other functions as the Weapons Operator had a complex task.

That’s how you try to get back on topic, with an asinine example? You seriously need to do a lot more listening to people who are trying to help and a lot less talking and bragging. But I doubt you’ll listen to me either. You seem to have a “Peanuts” filter in your brain; adults try to give you great advice, but all you hear is “Wah wah wah wah wah wah.”

That’s funny…

Reaaallly sorry for continuing the OT here and sorry for the long post. :rolleyes:

Hey David,

I believe I can safely say that I know where you’re coming from with your confidence in achieving a fully autonomous robot, and like some of the CD programmers here, I wish you the best of luck in achieving that.

I’ve read several of your posts in this previous year and although I haven’t seen any of your works personally, you’ve given me the impression of a very talented person, aside of being a talented programmer. I also assume that you are more experienced in this field, more than in mechanics.
As such a talented and experienced programmer, I’m quite sure you realize that by looking at previous years games and the diversity in the challenges and tasks in most of them, especially from every following year, you can see that it is very difficult to predetermine the challenges your TEAM’S robot will have to go up against. You may predict and prepare, and sometimes that works, but as for automation that is nearly impossible. There are a lot of FRC rules, field parameters and game element parameters and robot parameters and much more that you must take into consideration when forming up your TEAM’S strategy of the autonomous robot. But wait! Now you might know the rules, but you need to define GAME STRATEGY of your TEAM’S robot. Now that should put in some more considerations. Can you define all of the possibilities of different types of strategy-based tactics? Tons! Assuming you can define the solutions and implement them into the robot while in the competitions is very unlikely.

Speaking of parameters, somewhere deep in that huge paragraph i just worte (:stuck_out_tongue: ), Can you really trust your TEAM’S robot’s sensors and their accuracy? What if changes are made to the robot’s physical model?

Out of experience (as myself and as observing the work of another talented programmer I personally know), you may have the whole game plan for programming and operating the fully autonomous robot, but there’s a huge consideration you need to take in mind.

What if the rest of your TEAM cannot build the robot your TEAM’s strategy is based on? What if certain MECHANIC components or ideas just don’t work? A lot of time (and that is part of merely 6 WEEKS), and that also means sensor and manipulator calibration time, testing time and correction time (which includes going over the last two again), will be lost if that happens, and, sadly, as the young engineers and fragile humans we are, it happens to us a lot; And as a programmer, it’s a real shame to think that you might have had the “ultimate code to rule them all!”…when even in practice you couldn’t bring it out in the final product, the TEAM’s robot.
I have already experienced in the past 4 years the disappointment when you realize you’ve written a great code for your robot’s mechanical component, but it isn’t built until the very last days, and sometimes is just scratched off the final product, and all that code has gone for the season.

Your autonomous robot relies HEAVILY on the REST OF YOUR TEAM to build the other parts of your robot successfully, that is the electrical and mechanical parts. If they can’t achieve even the minimum required out of an FRC robot, your code is just virtual for the season, which is the most important period - not the off-season.
Virtual is beautiful and awesome, but reality is much more awesome, more practical and more accepted within the ranks of engineers and scientists in the field future science and engineering.

That was more of a personal statement for you David, and now to the point:

Unless you have 100%, or even 95% assurance you can achieve your goal with all it’s prior requirements to achieve it, then go for it. But if you cannot assure it, it’s best to lower your goals until you reach that 95-100% area of insurance of success.
Like others said, helping out your drivers, who will need to manually drive the robot in case of a “fully-autonomous emergency”, by giving them easier and smoother controls, faster response, simpler manual control methods and more, which are much more achievable and mostly likely to guarantee your TEAM success when driving the robot. Like I’ve said, you’re probably a very talented programmer and can probably think of very creative and useful ways to help out your TEAM in driving the robot, and hey!, maybe even when building it, say for mechanical tests!

…Though on the other hand you do have 8 programmers on your team, which is already too much… :S

Non-the-less, best of luck to you and your team in this year’s season, and I hope to hear great stories from your side. :slight_smile:

With regard to davidthefat’s controversial statements, please, let’s all keep things graciously professional. Whether you agree with someone or not, gracious professionalism is even more important than competition, engineering, science, or technology, for none of the latter will succeed (or possibly even matter) in the absence of the former. Please avoid using derogatory adjectives about people, and stay in rational (if energetic) debate mode. And when you’ve made your point(s), assume you were heard, and let it go.

Learning how (and when) to sway someone’s opinion (or be swayed) without alienation or offense is the most important skill you can learn in FIRST.

Back to on topic:

One thing to consider is that it generally takes a lot of practice or talent to be good at controlling a robot. Think about it from a video game perspective:

Video game skill tends to follow an “S” curve relative to time put in.
Generally the first few times you try something, you are trying to understand the controls, what does what, and how the system will react to inputs. That is one of the reasons some games have skill training sessions at the begininning of them typically 10-15 minutes to complete. The games tend to ramp up slowly. Then between 1-10 hrs, there is a rapid growth of scales until the user becomes quite proficient. After 10+ hours, you tend to level off, but many will still continue to improve. The same is true of other games and other skills. Mastery level though of a skill tends to be on the order of 1,000-10,000 hours of dedicated practice.

I gave up playing first person shooter games with most of my friends as they were in the 100-1000 hour camp when I was in teh 1-10 minute camp.

The bad news is, you will not likely get there in FIRST Robotics. Even the Michigan teams that do 2 districts, the MSC, and the Championship will at most see 44 qualifying matches and 42 elim matches (this would be 3 matching every round all the way through einstein finals). This is 86 matches or about 172 minutes of controlling your robot. Thus a little under 3 total hours of tele-op mode.

Because of this keeping a consistent driver, operator, human player is often key to having a strong competitive team.
Off-loading the required skills the driver/operator need is also very important.**
Whatever practice you can give your drive team is essential. If you do not have time or resources for a second bot, “finish” as early as possible. 2 hours of *** dedicated practice ***the day before ship day is more driving than many teams will see all season.


*A not so quick word on dedicated practice. Dedicated practice is not messing around with the robot for a couple of hours. We have only had a practice bot a couple of times, but they were wonderful things to have. Messing around is fine for the driver for 1 -2 batteries as they are trying to figure out the controls. After that, you should change over to drills. Practice key strategies and techniques.

In 2007, our drive team practiced a hang 9 in 2 drill. The team would hang 9 tubes on 3 rows of 3 in 2 minutes. Initially it took much longer that the 2 minutes (they could hang 4-5 in 2 minutes initially), but eventually they got to where they could hang all 9 tubes in 2 minutes. During the matches, they typically would only hang between 4-6 because of defense, and deploying ramps, but they had the ability to hang 9 and their timing was really commendable.

In 2010, we had a practice bot as well and we spent a Saturday cleaning the home zone. The assumptions was that there were 6 balls in the home zone after autonomous, and our bot was in the mid zone. They had to cross the bump and clean up all 6 balls plus hang in 2 minutes. The first couple of times, it took over 3 minutes, but eventually they got it down to 1:20 that morning. Again with defense, the results varried, but the practice clearly improved the level of performance that the drive team had.

In 2009, we kept very accurate data on human players and could tell when teams switched human players. This became a major factor in their ranking on our pick-list.

The dedicated practice principles are for any skilled base initiatives: sports, making things, brainstorming ideas, singing, writing, or racing a car.


**Some more not so quick words on the secondary topic. Jim Z. taught me the first year I helped there team that due to the lack of practice, off-loading skills & talent based needs from the drive-team is imperitive. This would include using a gyro to help the driver drive straight at high speeds. Automatic shifting to off-load needs of the driver. Using “State” control for complicated things like multi-jointed arms that have to score at different levels. Target tracking to assist the operator scoring balls. All of this is fine and dandy, but is only possible with a good mechanical foundation.

As Jim says, great controls can make a good mechanical bot great, but a bad mechanical bot will be bad no matter how good the software is.

Last year, in auto-mode, you had the opportunity to score at least 3 balls in autonomous. The national average per team score per match was 1 pt. 1 pt!!! You could be 3x better than the national average if your team just consistently scored their 3 in auto-mode! If you were a little more daring, there was time and opportunity to score as many as 5-balls in automode. If you could score all 5 of those, you would have been one of the top 25 or so in the nation within the first 15 seconds. Think about that!

I bring this up because I know that many good teams tried to do this. I know we did. A few teams were even successful at kicking 5 into the home zone a few times. For the most part though, this was extremely limited due to 2 major factors. 1. repeatability (field, mechanical design, ball inflation, ball placement, robot starting position…) 2. Partners (not all partners will let you kick “their” 2 balls. Some won’t even get out of the way of your 3!).

To answer the original question: the make up of our drive team is highly dependent on the nature of the game and of the robot we build.

Some games lend themselves towards logical divisions of “driving” and “operating” tasks. For example, in 2006, our machine had a multi-modal 2-speed drive train for one driver, and a turreted, multi-range shooter for the other.

But in 2010, our machine was much more integrated - the main driver both controlled the drive as well as the kicking (in a quick grab-aim-shoot scenario, we would rather only one person needs to do everything to cut down on latency and be able to snap off the shot when the bot was aligned). The operator only regulated the spin of the ball magnet and was responsible for the since-abandoned hanger. Because of this, our operator acted much like a coach for our driver, pointing out balls (it helps that he was absurdly tall) and providing situational awareness for the driver. This freed up the coach (me) to look at bigger picture things like the overall state of the field, and to communicate with our partners.

The last tidbit also extends to our use of the human player: some years (2009), the human player clearly needs to be quite athletic. But in other years (2010), the task is much more basic, so we put our sharpest student on the job in order to provide still more observation and coaching to our alliance.

Lastly, when it comes to the coach, we have used both students and adults. In 2009 and 2010, it was almost always me (an adult), simply because we have found that sometimes alliance partners don’t tend to listen as well to students, and those games were the type where one bad partner can destroy a match. But in 2008, for example, there was really no need for an adult in the booth to coordinate strategy and keep partners on track.

330’s driver from 2005-2008 (and last year’s drive coach) raced R/C cars before he got into robotics. I wouldn’t be surprised if one or two drivers out there flew model aircraft. Practice with the robot is better, but in a pinch, you might be able to substitute some other “small” moving object.

IKE,

These are two awesome ways to no only train your drivers but also map out the game as well. We have never had a good mock up field to practice with and were delayed by a few factors. (Snow :mad:) I would really love to try and make this a priority for this season because it gives initiative to the subteams to finish quick and efficiently.

Brief aside for our viewers at home… Shane is arguably one of the best drivers in the history of FRC. Watching him drive was quite the experience…

-John