Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   General Forum (http://www.chiefdelphi.com/forums/forumdisplay.php?f=16)
-   -   Hybrid Challenge-No Robot Left Behind (http://www.chiefdelphi.com/forums/showthread.php?t=61627)

Waynep 13-01-2008 23:42

Hybrid Challenge-No Robot Left Behind
 
The idea of this challenge came from this post, which deals with our responsibilities as veterans of FIRST to emanate positivity and foster the future of FIRST by encouraging and cultivating these younger teams. If you have time, I ask that you please read it.

HYBRID CHALLENGE
The GDC could not have done a better job at designing an autonomous/hybrid challenge to encourage all teams to at least move in the hybrid period. By simply putting a drive forward command into your code, you are then able to cross your start/finish line, allowing you to score points. There is absolutely no reason we should see robots take a "static defensive position" during the hybrid period, as we've seen too often in the past. A daunting portion of the game, many teams dismiss hybrid/autonomous period as being too difficult, whether due to lack of programming knowledge, or an absence of confidence in making a considerable difference or contribution in the match. Let's work together and change this mindset.

Veteran teams (or any team with a robot) that are attempting to do something in hybrid: it is my challenge to you to work before and at the regionals to ensure that NO ROBOT GETS LEFT BEHIND in hybrid; everyone DRIVES at the very least and attempts to cross one or two lines. Just giving the team the proper code does not fulfill the challenge. I fully expect you to help them understand the code (whether you enable them to dead reckon or use an IR remote to move), answer their questions, leave them with the confidence and knowledge to continue to improve their efforts and know you will be there to help them if questions arise, as well as to leave your door open to anyone seeking advice.

On a more selfish note, helping these teams will increase your odds of winning the match, so not only is it the RIGHT thing to do, but it will prove beneficial to your team as well. The level of play will only get better if we pair up these younger, less experienced teams with confident veterans and help them mature. We can slowly wait for this to happen, or we can come together and push this along.

MEASURE OF SUCCESS
There are 41 Regionals, thus 41 chances to get it right. Teams who scout, please report back in this thread what percentage of robots at your event attempted to move during hybrid period. I normally discourage overt bragging, but teams keep track of the teams that you helped go from "non-hybriders" to those who will actively participate in hybrid/auton mode. You will have earned your bragging rights and such accomplishments should be celebrated. I'd like to see 100% across the board, and do think that this is possible, but only if we work together to make it happen.

ACCEPTING THE CHALLENGE AND SPREADING THE WORD
If you accept my challenge, please insert the Hybrid Challenge Banner (courtesy of Joey Gannon) into your signature. I expect that by accepting the challenge you are committed to the cause, will help to spread the word, and will do your part in making this vision take life. Please share your thoughts and suggestions. I thank all of you in advance who will work to make sure that NO ROBOT is left behind during the hybrid period.

Guy Davidson 14-01-2008 00:27

Re: Hybrid Challenge-No Robot Left Behind
 
Wayne, I accept the challenge. I will make our Hybrid mode work (and work well, hopefully) before the regionals, so that (to the extent of my abilities) I can help other teams succesfuly take on the challenge of driving straight and turning left :)

If anyone would like some help programming, particularly if you're local (or if you'll be attending one of the regionals I will) please let me know, and I'll do what I can to make the code make more sense.

EDIT: I added the banner to my signature, now I guess I just have to wait for it to update.

Leav 14-01-2008 00:54

Re: Hybrid Challenge-No Robot Left Behind
 
I accept the challenge for the Israeli regional, and I'm sure Tottanka and feliks will join me.

Great Idea!

-Leav

Jimmy Nichols 14-01-2008 07:01

Re: Hybrid Challenge-No Robot Left Behind
 
Wayne, you know 1038 is and will always be willing to help out any team in need. It is what we do.

JBotAlan 14-01-2008 07:21

Re: Hybrid Challenge-No Robot Left Behind
 
I accept...newbies/veterans alike, feel free to PM/e-mail/IM/whatever me if you need help.

Tom Bottiglieri 14-01-2008 08:17

Re: Hybrid Challenge-No Robot Left Behind
 
Does this mean the end of "Spin Around/Dance" autonomous modes?

HedlessChkn 14-01-2008 10:39

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by Tom Bottiglieri (Post 677464)
Does this mean the end of "Spin Around/Dance" autonomous modes?

haha our autonomous mode programmer did that accidentally then we improved upon it, within 2 rounds every bot that didnt already have an autonomous mode was spinning around just like it haha! i love it

petek 14-01-2008 21:34

Re: Hybrid Challenge-No Robot Left Behind
 
This year there are 63 teams registered for the week-one New Jersey regional, with a great lineup of veteran teams (totaling 343 years of experience!) and just four rookies. The caliber of teams that show up for this event is always great, as is the competition - except that there's usually only a handful that attempt autonomous on a regular basis.

I agree wholeheartedly with Wayne that Overdrive's Hybrid period makes scoring under robot control a very achievable goal for every team. With the number of veterans returning to NJ, most of whom are practicing strongly by lunchtime on Wednesday, there should be no excuse for any team to not at least make a lunge for the line!

So if you're one of those teams that has it together at lunch, instead of going home early, how about getting your scouts to pinpoint teams in need as Wayne suggests, and help them compete for the whole 2:15.

I'm sure that most events this year can boast equally strong fields and I hope all my fellow FTAs will join me in encouraging the NRLB initiative. When I walk through the pits in Trenton, Detroit and Philly I promise I'll be on the lookout for those in need and those who can help.

Travis Hoffman 14-01-2008 22:24

Re: Hybrid Challenge-No Robot Left Behind
 
How about we post and refine a simple, drop-in dead reckoning autonomous here in this thread so rookies and others can integrate and practice tuning such code ahead of time?

Why put teams under more pressure AT the events when you can help bridge the gap now, while there's still ample time?

d.courtney 14-01-2008 22:34

Re: Hybrid Challenge-No Robot Left Behind
 
I will accept this challenge. The biggest part of this I feel isn't so much helping them with understanding how to code, as much as ensuring they have the IR board working. A Hybrid code that has the functions of straight left right (just in case you turn left too much) and stop is extremely easy to explain after a team has a working IR board, and it only gets more complex from there. So make sure you bring the tools needed to help teams assemble a working IR board (I know most teams accepting this challenge wouldn't go anywhere without these tools)!

Guy Davidson 14-01-2008 22:37

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by Travis Hoffman (Post 678058)
How about we post and refine a simple, drop-in dead reckoning autonomous here in this thread so rookies and others can integrate and practice tuning such code ahead of time?

Why put teams under more pressure AT the events when you can help bridge the gap now, while there's still ample time?

That sounds like a good idea Travis. However, some things to consider:

Teams use different framework codes - IFI's, Kevin Watson's, WPILib, EasyC. Each would need a different autonomous mode.

Teams use different pwm outputs for their drive motors, making it not truly a drop-in.

Teams use different gear ratios for the motors, so without encoders (or something similar, that regardless makes the whole routine a lot less drop-in-able) it would be hard to travel the same distances. While crossing the first line should be doable regardless, trying to add the turn would take more work.

d.courtney 14-01-2008 22:43

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by sumadin (Post 678068)
Teams use different gear ratios for the motors, so without encoders (or something similar, that regardless makes the whole routine a lot less drop-in-able) it would be hard to travel the same distances. While crossing the first line should be doable regardless, trying to add the turn would take more work.

Unless I am missing something your saying that doesn't have to be the case, have the robocoach dictate when this turn takes place, why would it need an encoder or the same ratios?

Travis Hoffman 14-01-2008 23:29

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by sumadin (Post 678068)
That sounds like a good idea Travis. However, some things to consider:

Teams use different framework codes - IFI's, Kevin Watson's, WPILib, EasyC. Each would need a different autonomous mode.

48, for one, uses MPLAB. I would not know how to perform this service for those teams who used anything else. But.....that's why we have all of yuns out there - to provide working, simple auto modes ahead of time in all formats. :)

Quote:

Teams use different pwm outputs for their drive motors, making it not truly a drop-in.


//Please replace pwm with actual values

#define leftmotor1 pwm01
#define leftmotor2 pwm02
#define rightmotor1 pwm03
#define rightmotor2 pwm04

leftmotor1 = 180;
leftmotor2 = 180;

...

Quote:


Teams use different gear ratios for the motors, so without encoders (or something similar, that regardless makes the whole routine a lot less drop-in-able) it would be hard to travel the same distances. While crossing the first line should be doable regardless, trying to add the turn would take more work.

Those who haven't programmed autonomous by the time of the regionals are most likely not going to care too much about anything other than simple timed auto routines. "Drop-in" the easy stuff with a pre-arranged routine, and you'll have more flexibility to add more functionality at the event.

Here's my initial contribution. This is the basic structure from one of our simpler auto modes from last year. If a team has successfully implemented encoders, they can replace the "timercounter" variable with the encoder variable. Please note I have never once taken a formal C programming course, so if I don't indicate something in the most "elegant" or "concise" manner, so be it. Often, the more complex and concise notations of the experienced aren't suitable for quickly teaching those who know jack squat about programming. Suggestions for improvements welcome.

Code:


unsigned int timercounter;
unsigned int timercounter2;
unsigned char pathtracker;
 
#define leftmotor1 pwm01
#define leftmotor2 pwm02
#define rightmotor1 pwm03
#define rightmotor2 pwm04

//Do a straight ahead timed move and stop - turn left at end of move
 
//Adjust values as necessary
 
#define NEUTRAL 127
 
#define STRAIGHTSPEEDLEFT  215 
#define STRAIGHTSPEEDRIGHT  200 //left side not as efficient
#define TURNSPEEDLEFT      54
#define TURNSPEEDRIGHT      200
#define STRAIGHTTIME        140  // ~ 35 counts per second
#define TURNTIME            185
#define DELAYTIME          0
 
//Step 1 - Straight Ahead to get in position
 
timercounter++;
 
if (pathtracker == 0)
{
timercounter2++;
 
if (timercounter2 < DELAYTIME)
{
//zzzzzzzzzzzzzz....delay start of movement
}
else
{
  if (timercounter < STRAIGHTTIME)
  {
      leftmotor1 = STRAIGHTSPEEDLEFT;
      leftmotor2 = STRAIGHTSPEEDLEFT;
      rightmotor1 = STRAIGHTSPEEDRIGHT;
      rightmotor2 = STRAIGHTSPEEDRIGHT;
  }
  else
  {
      pathtracker = 1;  //jump to the next step
  }
}
}
//Step 2 - TURN LEFT.
else if (pathtracker == 1)
{
if (timercounter < TURNTIME)
{
  leftmotor1 = TURNSPEEDLEFT;
  leftmotor2 = TURNSPEEDLEFT;
  rightmotor1 = TURNSPEEDRIGHT;
  rightmotor2 = TURNSPEEDRIGHT;
}
else
{
  pathtracker = 2;  //jump to the next step
}
 
}
else if (pathtracker == 2)
{
leftmotor  = NEUTRAL;  //Stop moving
rightmotor = NEUTRAL;
}
 
/*
You can add additional steps if desired to cross lane divider, turn again, drive past opponents'
finish line, etc.  And even if it might be boring and easy to program, don't forget about keeping the simple "line up in the left starting position and drive out a few feet" blocking defensive autonomous in your gee-whiz bag of tricks.  It may often prove to be a better strategy if you're facing a bevy of good autonomous bots - that is, if your bot is robust enough to survive the expected broadside contact from the opposing robots driving your way.
*/


Note that the left turn above is zero radius, when in fact, you might want to try and set up a gradual 180 degree turn that will take the bot smoothly past the lane divider. However, if you're running short on time or practice space to dial that kind of turn in, 90 degree zero-rad turns with a short move forward in between would be easier to set up.

I'll leave it up to others to add additional functionality if you wanted to include support for the IR remote to help indicate when to turn; i.e. you could program a longer timed straight move than necessary and use one of the remote functions to trigger the above program to step into the pathtracker = 1 left turn code. Another button (or another press of the same button - function written on 3 x 5 card would be "Jump to Next Autonomous Step") could then instruct the bot to jump from the turn step into the backstretch straightaway step. The IR commands would not replace the timed transitions - they would merely override the preset jumps prematurely. The timed jumps would still be there and occur should the robot not receive the IR commands from the Robocoach.

Not so hard - keep adding to it and see what we come up with.

blaxbb 14-01-2008 23:37

Re: Hybrid Challenge-No Robot Left Behind
 
I'll be in new york pit hopping

CzarValvador 14-01-2008 23:38

Re: Hybrid Challenge-No Robot Left Behind
 
Driving doesn't seem to be the difficult part.

Having the Robot figure out which ball is correct, and how to get there in order to push it off might be an issue.

Scott Carpman 14-01-2008 23:54

Re: Hybrid Challenge-No Robot Left Behind
 
All NYC Teams should send a student to the programming clinic sessions on Saturday at LIC High School. Randy Schaeffer sent out an email about it, I'll try to dig it up from the ol' inbox.

EDIT:
Follow this link for info
http://nycnjfirst.org/training_programming.html

NRLB!

taggartbg 15-01-2008 00:01

Re: Hybrid Challenge-No Robot Left Behind
 
I, along with 3 other members of my team, got our IR board and code working today. We plan to soon make a YouTube video to explain our process and offer hints for other teams to do the same.

Michelle Celio 15-01-2008 11:14

Re: Hybrid Challenge-No Robot Left Behind
 
I, for one, do not accept.

I'm going to try and compile my perspective, but odds of that happening successfully and everyone understanding my points is going to be slim to none.

But..

Let's say, you're a freshman on a rookie team, and have been put in charge of programming. You work hard all the six weeks to get your robot up and running. You get to the competition, with no hybrid mode because you either didn't have the resources to learn how to program it or you just plain and simple ran out of time.

So, you're at your first ever FIRST competition, and a semi-established team comes up to you "Hey, you don't have a hybrid mode? Here use this pre-built one!". So they load the code on to your robot, and explain to you what it does or how they wrote it.

How important do you think this code is to the freshman? Do you honestly think that this freshman is going to sit down between the end of this season and next builds-eason and learn how to program for another possible hybrid mode since what they know from a FIRST Competition is that the "harder" code will just be handed to them?

Yes, helping other teams get their robot working for hybrid mode, and explaining to them how the code was made is the "Gracious Professional" way to do things, but what message are we really sending to the freshman and rookie teams that have joined this year?

FIRST OVERDRIVE should not be about handing out hybrid modes to people who don't have them, it's supposed to be a challenge. If some teams can't beat the challenge than it's on them.

Just my $0.02

feliks_rosenber 15-01-2008 11:50

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

I accept the challenge for the Israeli regional, and I'm sure Tottanka and feliks will join me.

Great Idea!

-Leav
Leav you were right! Team 2217 accepts the challenge and will make sure all teams have hybrid mode or at least do their best to have it.

As I read from the previous post, there is something we mustn't do.

Dishing out the code won't do any good. We must encourage rookie to think because that's what FIRST is all about.

Only after teams thought and tried to find the solution by themselves with our mentoring and help, only then shell we present the code. Parts of it at first, to see maybe that gives the inspiration and spurs the team to think.
If that doesn't help than more of the code should be revealed.

There must be a process of mentoring and studying.

Travis Hoffman 15-01-2008 11:58

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by Michelle Celio (Post 678374)

FIRST OVERDRIVE should not be about handing out hybrid modes to people who don't have them, it's supposed to be a challenge. If some teams can't beat the challenge than it's on them.

Just my $0.02

Some teams don't have the mentors with programming experience who can help them solve the challenge. That's why forums like ChiefDelphi exist. But the information here is best put to use during the six-week build.

Let's empower and educate those who wouldn't normally try autonomous or hybrid programming to learn about such techniques NOW and inspire them to incorporate such functionality into their code. Then these students WILL take ownership of the knowledge prior to the regionals and will be more confident in using and tweaking THEIR code at the competitions.

It's easier to ensure no teams will be left behind if you find out who needs a jump start at the BEGINNING of the race....

meaubry 15-01-2008 12:11

Re: Hybrid Challenge-No Robot Left Behind
 
As I see it, there is a difference between general education vs. specific application.

In order to satisfy the suggestion for "no robot left behind", I also side with the education and training vs. providing plug and play code.

I agree and understand the lack of knowledgable folks on every team to develop the code used during hybrid, while at the same time strongly support teams taking responsibility for applying the code to their specific use.

I support the idea of creating code for general purposes, then when shared with teams that want to use it (and preferably early in the build schedule) - they should be the ones inputting the values needed for their specific drive system and any other application they want to apply it to.

The key here, in my mind, is developing code that would help everyone as much as possible, without doing the whole job for them.

Mike

Alexa Stott 15-01-2008 12:24

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by Michelle Celio (Post 678374)
I, for one, do not accept.

I'm going to try and compile my perspective, but odds of that happening successfully and everyone understanding my points is going to be slim to none.

But..

Let's say, you're a freshman on a rookie team, and have been put in charge of programming. You work hard all the six weeks to get your robot up and running. You get to the competition, with no hybrid mode because you either didn't have the resources to learn how to program it or you just plain and simple ran out of time.

So, you're at your first ever FIRST competition, and a semi-established team comes up to you "Hey, you don't have a hybrid mode? Here use this pre-built one!". So they load the code on to your robot, and explain to you what it does or how they wrote it.

How important do you think this code is to the freshman? Do you honestly think that this freshman is going to sit down between the end of this season and next builds-eason and learn how to program for another possible hybrid mode since what they know from a FIRST Competition is that the "harder" code will just be handed to them?

Yes, helping other teams get their robot working for hybrid mode, and explaining to them how the code was made is the "Gracious Professional" way to do things, but what message are we really sending to the freshman and rookie teams that have joined this year?

FIRST OVERDRIVE should not be about handing out hybrid modes to people who don't have them, it's supposed to be a challenge. If some teams can't beat the challenge than it's on them.

Just my $0.02

Waynep's challenge did not suggest simply handing code to rookie teams. As he stated in his original post, the code will be explained to the less experienced programmer, allowing him or her to fully understand how the code works. I, along with Wayne and other FIRSTers, am sick and tired of seeing robots doing absolutely nothing during hybrid/auto mode.

If you had any experience with programming in FIRST, you would understand that programming the robot does not simply mean dumping some code in and having it work the first go around. Different wiring schemes, as well as other numerous, unpredictable factors, will prove to be somewhat of a challenge for the veterans trying to help the other teams. Such challenges will force the programmers from each team to work as a cohesive whole to develop the proper code for the individual team's robot. Besides, how is this any different than a team offering to lend support to another team in order to get its drive train working? That has an ever greater effect on the competition, and it is a practice that is widespread and well-accepted by the FIRST community. I have even helped out rookie teams with some simple coding errors. Again, how is that any different than helping the team have an effective hybrid mode? I see Waynep's challenge as a way to increase the support the rookies are getting at the regionals, and I see it as he is striving to channel that support into a specific part of the game, one that is extremely daunting to new teams/programmers.

I can testify that working as a rookie alongside a veteran, and having the more experienced programmer walk you through the code is an effective teaching method. As freshmen, Kristian and I worked alongside Bharat, mostly watching Bharat and allowing him to explain the code to us once he was able to have the robot working flawlessly. We grew from that point, reprogramming the robot(s) during the offseason and gaining an understanding of how to program on our own. Now, Bharat is more of a supervisor, letting us do the programming and lending his advice when called upon. The system that Wayne has proposed seems quite similar to such a method. I fully believe that, if teams accept the challenge, programming will reach new heights in FIRST.

Perhaps you should go reread the original post. It may help you to fully and accurately comprehend the challenge which Wayne has presented us.

nparikh 15-01-2008 12:38

Re: Hybrid Challenge-No Robot Left Behind
 
In answering the question of what we are trying to show teams whom we help with the autonomous / hybrid period--we are showing them that help is here. We are showing them that FIRST is not a dog eat dog world in which only the strong survive. In fact, we take pride in the fact that we are different than other competition sports. Our goal is not to promote Darwinism [or so I hope].

Like others have mentioned, not everyone has the same level of support. Some teams have software and electrical engineers to help them and others do not.

Instead, I feel that by helping such teams, we are teaching them an important lesson--to make the best of what you can. Starting out, you won't always have the resources, the support, the knowhow to do everything that you want to--but provided that this challenge is executed properly [by really showing them how to do such a thing rather than just "dumping code"]--newer teams especially will benefit by learning the lesson that FIRST is different; that teams help one another for the benefit of the community at large.

And so if you teach a a programmer how to implement some code to get their robot running and perhaps leave some contact information and resources for them to get more help, I do believe that they will have learned something. Sure, they might not be an expert robot programmer in the time you've helped them, but they have learned that help is there and they have learned where to look for it. And learning something is never a bad thing in my book.

Swan217 15-01-2008 12:59

Re: Hybrid Challenge-No Robot Left Behind
 
I completely support Wayne in this challenge. In this week's FIRSTruth episode, I explain how instrumental this policy will be for the competition. As a summary, basically if you don't make sure all of your alliance partners have autonomous hybrid (And this year's algorythm should have you playing with every team), you will go nowhere. If everyone's robot has autonomous hybrid, then everybody wins, and the competition will be much more exciting.

As the way I see it, it's up to every team to make sure that they have a basic hybrid mode program. They need to try, even if it doesn't work. The mission to the veterans is that they need to be the wingflaps for the young teams to lift off with, not the entire jet engine. Everybody has to do their part, and if they do, it makes the challenge much easier for the veterans participating. But if you selfishly don't bother helping your fellow teams, and you end up winning the regional, or Chairmans, or any technical award, you don't deserve it and you have failed in the mission of FIRST.

For the young teams: It's ok if you fail, but at least TRY to get your hybrid working, and the veterans will be there to help you along.

JaneYoung 15-01-2008 13:06

Re: Hybrid Challenge-No Robot Left Behind
 
What I'm getting from this challenge is the possibility/opportunity of working together for the benefit of the game, mutually agreeing to help it be the best it can be. By suggesting this at the front end of build rather than the back end or waiting until after the 1st regional competitions, it allows teams to think about it.

Working together as teams in helping to make the competition more fun and exciting, imagine that. <grin>

GaryVoshol 15-01-2008 14:10

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by Waynep (Post 677357)
Veteran teams (or any team with a robot) that are attempting to do something in hybrid: it is my challenge to you to work before and at the regionals to ensure that NO ROBOT GETS LEFT BEHIND in hybrid; everyone DRIVES at the very least and attempts to cross one or two lines. Just giving the team the proper code does not fulfill the challenge. I fully expect you to help them understand the code (whether you enable them to dead reckon or use an IR remote to move), answer their questions, leave them with the confidence and knowledge to continue to improve their efforts and know you will be there to help them if questions arise, as well as to leave your door open to anyone seeking advice.

Quote:

Originally Posted by Michelle Celio (Post 678374)
I, for one, do not accept.

So, you're at your first ever FIRST competition, and a semi-established team comes up to you "Hey, you don't have a hybrid mode? Here use this pre-built one!". So they load the code on to your robot, and explain to you what it does or how they wrote it.
...
FIRST OVERDRIVE should not be about handing out hybrid modes to people who don't have them, it's supposed to be a challenge. If some teams can't beat the challenge than it's on them.

I totally understand Michelle's point. "If you give a man a fish, he eats for a day. If you teach a man to fish, he eats for a lifetime." We shouldn't be giving things to any team. We should be helping them to develop something on their own. However, if you look in the excerpt I quoted from the original challenge, you will see that was what was proposed. Even more important than working at a regional with a team is working before ship with them.

Veterans should look at the lists of teams in their area, and make contacts with those who are new. Find out what they are doing, offer your expertise.

While 1025 is not technically a rookie team this year, we are newly organized, under new sponsorship. There is no way we could have done it without the help of the Thunderchickens, starting over 6 months ago. That's the kind of help new teams need. Thanks, 217!

jessjank. 15-01-2008 14:21

Re: Hybrid Challenge-No Robot Left Behind
 
The No Robots Left Behind in Hybrid Challenge is a fantastic and completely achievable proposal. It's something that with a little collaboration among teams and a desire to continue to raise the bar, we can help foster a sense of confidence and spirit not only in our rookies, but veteran teams as well.

An important part of this challenge is that if you are accepting it, you won't just be giving the teams your code and expecting them to use it as is - you should feel the responsibility to engage them in the process of creating and understanding working code, and leave them with the ability to expand upon the knowledge and experiences you leave with them. Through such inspiration, we will hopefully find significant growth in the abilities of our teams now and in years to come.

The entire Pittsburgh region has readily accepted the challenge. Myself, the Regional Director, members of the National Robotics Engineering Center, and the Pittsburgh Teams have made it the goal of our region to have all teams, old and new in the surrounding area, have a functioning hybrid mode and have been promoting this through weekly programming workshops for all teams at NREC (held by Pittsburgh Referee and NREC employee Tim Friez). NREC graciously created the new RobotC programming system and has been using this in it's workshops to help teams (not just those in Pittsburgh) gain a better functional understanding of what their code actually does and is making sure that the teams gain the ability to write code that works. I encourage, if possible, to expand such workshops to all regions or at least to make it known to teams in need when your resources and aid may be available to them.

I can't wait to see just how successful this endeavor may be! Good luck to all teams and happy programming!

Bharat Nain 15-01-2008 14:27

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by Michelle Celio (Post 678374)
I, for one, do not accept.

So, you're at your first ever FIRST competition, and a semi-established team comes up to you "Hey, you don't have a hybrid mode? Here use this pre-built one!". So they load the code on to your robot, and explain to you what it does or how they wrote it.

How important do you think this code is to the freshman? Do you honestly think that this freshman is going to sit down between the end of this season and next builds-eason and learn how to program for another possible hybrid mode since what they know from a FIRST Competition is that the "harder" code will just be handed to them?

Quote:

Originally Posted by Waynep (Post 677357)
Veteran teams (or any team with a robot) that are attempting to do something in hybrid: it is my challenge to you to work before and at the regionals to ensure that NO ROBOT GETS LEFT BEHIND in hybrid; everyone DRIVES at the very least and attempts to cross one or two lines. Just giving the team the proper code does not fulfill the challenge. I fully expect you to help them understand the code (whether you enable them to dead reckon or use an IR remote to move), answer their questions, leave them with the confidence and knowledge to continue to improve their efforts and know you will be there to help them if questions arise, as well as to leave your door open to anyone seeking advice.

Forgive me for using you as an example Michelle, but you represent a vast majority of rookie team's thought process. I am actually very glad you made this post because it is a valid school of thought. If you don't mind Wayne, I would like to extend the Hybrid Challenge based on my explanation below.

Since 2004, my team has always encouraged me to help other teams get their robot working in autonomous and tele-operated period. At every regional I have been to, I can proudly say that I have helped at least 2 teams with their robot whether it is in programming, electrical or mechanical. On the surface, this is gracious professionalism and all is going well. But the truth of the matter is, every so often, there is a team who says exactly what Michelle is saying. They do not want the help. If they do take the help, I have to leave them feeling as though I was completely wrong and somehow they were the magic in getting their autonomous mode up and running. More than half the time, I choose to let them be because I could be doing other things in the time I could be *trying* to help them. It is also not wise to mess with anyones ego either. Sometimes they are best left to their misery. It also saves you the frustration and negative emotions that come with that.

The problem in most cases is the lack of expertise and experience. If they knew how to do it, don't you think they would have done it already? I refuse to believe that time is an issue. There has to be 5 minutes in the whole day to write 30 lines of code. There are many times I seeked outside help for programming also. If I knew what the problem with my code was, I would have fixed it already. But the issue is I did not so I listened to people who said they could help. I could have easily put an ego shield on and said "I am on team 25 and we won x amount of regionals". When I took the help, I realized what was going on and then went on to make the code better.

I am not excited about those people though. I am excited for the ones who will gladly take the help and initiative to learn what works and how. For those of you who know what I give rookie teams, it is really autonomous in its simplest form. Absolutely simplest. I never hand them the code. I sit down and write it with them and explain what every line is (and there are only a few, I assure you). There are only about 3 or 4 things they need to understand in order to write a successful autonomous mode. In 100% of the cases, those who chose to listen and learn, went ahead and modified the code to do something better if there was room for improvement. What I just said is very profound because it represents the spirit of learning something new and taking it to the next level. This year, depending on the situation, I would write enough code to make their robot go forward, and let them figure out how to make it turn left and so on. I have no doubt in my mind that those who want to do better in competition will do better. With the new knowledge acquired, they will take it to the next level and thank those who helped them. And right after that they will show signs of what is called excitement which indicates that they are having fun. For rookie teams who are going to only one regional, this could be a major portion of making their first year seem successful. Hybrid mode is a big deal this year. 4 points for crossing a line is a huge bonus. Many rounds will be won just because of hybrid mode and helping a rookie team through this will indeed make them feel a whole lot better. Contrary to what everyone tries to say, it is about the game and it is about performing well because the game is the glue to this organization and it is what makes people are so many different levels (students, teachers, engineers, corporate etc) come together. Helping a team win even one match might help them stay excited until the next season.

HYBRID CHALLENGE EXTENSION
With Wayne Penn's given permission, I would like to extend the Hybrid challenge. If you are a rookie team or a team who has limited resource and time, I strongly urge you to keep an open mind to those who can teach. I urge you respect the success of others and learn from it. I urge you to glorify their help by taking it to the next level. I am never tired of helping teams (even though my team always comes first), but sometimes it is really good to be thanked for helping. I remember once at Palmetto regional in 2005, a team made me a neat little tether/programming cable with multiple connectors on each end. We needed one since we had only 1 left. This is called sharing resources.

I thank you Wayne Penn for providing all the inspiration and I thank you Michelle for boldly representing a point of view most people would be afraid to.

jgannon 15-01-2008 14:32

Re: Hybrid Challenge-No Robot Left Behind
 
As Jess noted, the Pittsburgh teams will ensure that all 35 teams at the Pittsburgh Regional (including eight rookies) have the know-how to score points in hybrid. The demands of build season make the logistics difficult for we mentors to ensure that everyone has this knowledge before the ship date, but having everybody in one room will make the task a lot easier. Wayne, this proposal is excellent, and it's going to make a big difference for teams that don't have the resources to program on their own. I'm willing to bet that the number of teams who can independently create autonomy next year will drastically increase because of the seeds we will be planting at this year's regionals. Thank you to Wayne and to everyone else who is participating to increase everyone's inspiration.

Travis Hoffman 15-01-2008 14:45

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by GaryVoshol (Post 678507)
I totally understand Michelle's point. "If you give a man a fish, he eats for a day. If you teach a man to fish, he eats for a lifetime." We shouldn't be giving things to any team. We should be helping them to develop something on their own. However, if you look in the excerpt I quoted from the original challenge, you will see that was what was proposed. Even more important than working at a regional with a team is working before ship with them.

I think there is a compromise that must be struck between "teaching a rookie everything there is to know about MPLAB and autonomous programming from scratch" vs. "here's a complete MPLAB project - it'll work - download it and go". This is the build season, not the summer and fall where longer term classes and educational sessions can be held. It's crunch time, ladies and gentlemen. If veterans are to assist rookies and the inexperienced NOW, during the build and at the competitions, ANNNNND we hope to preserve our sanity because, ya know, we still have to design and build our robots too, then we're going to have to meet in the middle on this.

The autonomous program structure I posted earlier in this thread does not exist as a standalone package - it is merely a foundation upon which additional autonomous understanding can be constructed. The recipients must still take that code and discover where to insert and "hook" it into their project. They must understand what pwm outputs are and learn how the variables in the code link to the physical outputs on the RC. They must learn what the different speed and timing parameters are and how changing those values affects the real-life operation of the robot. If they wish to add additional steps to the program, they must seek to understand the function of the if statements and how the pathtracker variable works. It is merely a modular building block. It isn't a complete drop-in solution, nor is it too watered down to prevent relatively rapid comprehension of its functionality. It encourages further experimentation and learning while saving veterans the added stress of meticulously explaining what the heck an unsigned int or char is or why all those #define statements are in there.

Let me just say this from my personal experience - I'd like to think that I don't totally inhale audibly at programming. I possess nowhere near the skills that many others on these forums do, nor do I have any formal training in C, but I can do enough to get the job done. Now everything I first learned about programming in my rookie year of 2001, I learned by looking at the previous programmer's code from 2000. He left for a fellowship at Stanford - no one else on the team knew PBASIC. I joined the team in May of 2000, but I didn't have the opportunity to sit down and try to understand the code until late December, just prior to the 2001 kickoff. If I didn't have that existing framework in place from which I could borrow and construct my own 2001 code, I'd have been totally lost. And even with all the "pre-established" programming presented to me at the start of my initial programming journey, I'm quite certain I was very proud of what I was able to create by the end of that first season.

JesseK 15-01-2008 15:33

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by Travis Hoffman (Post 678525)
I think there is a compromise that must be struck between "teaching a rookie everything there is to know about MPLAB and autonomous programming from scratch" vs. "here's a complete MPLAB project - it'll work - download it and go". This is the build season, not the summer and fall where longer term classes and educational sessions can be held. It's crunch time, ladies and gentlemen. If veterans are to assist rookies and the inexperienced NOW, during the build and at the competitions, ANNNNND we hope to preserve our sanity because, ya know, we still have to design and build our robots too, then we're going to have to meet in the middle on this.

I completely agree with this. Learning curves are exponential and unpredictable: if you start with nothing it takes an excessive amount of time to get anywhere. You can give some knowledge and time to ensure understanding to a rookie team and who knows how fast they'll run with it. Chaos theory at work indeed.

iwin2000 15-01-2008 22:29

Re: Hybrid Challenge-No Robot Left Behind
 
This forum is for teaching new people. I am learning a lot by reading the posts that people leave on here, and I really hope people don't stop.

I think it is fine to help the beginners with learning to program. However, if you are holding back from the little secrets that you put in your code, that is fine as well.

Steve_Alaniz 15-01-2008 23:49

Re: Hybrid Challenge-No Robot Left Behind
 
I ...agree in THEORY .... with leaving no team behind, but realistically, isn't this, in effect reducing the autonomous period to another operator controlled period? The documentation for the IR board is a bit shaky and I think there is a learning curve here but by Regional time we'll have everything worked out and cataloged so that it will be a plug and play situation.
FIRST gives a default program so you don't HAVE to program if your team is weak in that area and we'll soon have (in fact... already have) the code for simple forward, left, right and reverse(or stop). In fact, virtually a driver controlled "drive" mode
That being said I also agree that a true autonomous robot can benefit by having a creative autonomous program supplemented by the Hybrid control.
but the point is, including everybody.
( I personally think the autonomous should be a separate task that happens concurrent with the round but scores differently. Then, at the end of the autonomous, they join in regular play... but thats a pipe dream.)
In the end, the autonomous periods have never had a scoring structure that makes an insurmountable difference in the game play and they have always been relatively short for the amount of work that goes into them.
Bottom line :
1) Sure, give code if asked.
2) Involve other teams if they want.
3) but keep the autonomous period a challenge to some degree.

Heck I wouldn't mind doing away with autonomous if we're really excluding people, but I kind of like the challenge. ( By the way... We've never had a truly successful autonomous code... but I still like it!)

Steve

jgannon 15-01-2008 23:57

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by Steve_Alaniz (Post 678988)
I ...agree in THEORY .... with leaving no team behind, but realistically, isn't this, in effect reducing the autonomous period to another operator controlled period?

I think you'll find that when there are six different IR transmitters going at once, it will be virtually impossible to successfully turn hybrid mode into another driver control period. All teams will need to exercise some amount of autonomy to perform reliably, and that the knowledge of how to do that should be passed on to those who don't have it. Believe me when I say that this will still undoubtedly be a challenge for all involved.

Steve_Alaniz 16-01-2008 00:41

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by jgannon (Post 679000)
I think you'll find that when there are six different IR transmitters going at once, it will be virtually impossible to successfully turn hybrid mode into another driver control period. All teams will need to exercise some amount of autonomy to perform reliably, and that the knowledge of how to do that should be passed on to those who don't have it. Believe me when I say that this will still undoubtedly be a challenge for all involved.

You make good points but what you are saying is that hybrid is so unreliable it should not be tried...only pure autonomous has a chance. If that is the case, many autonomous actions will probably be threatened by run away hybrids. You may be right but we won't truly know until the first regional happens.

Steve

jgannon 16-01-2008 01:47

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by Steve_Alaniz (Post 679047)
You make good points but what you are saying is that hybrid is so unreliable it should not be tried...only pure autonomous has a chance. If that is the case, many autonomous actions will probably be threatened by run away hybrids. You may be right but we won't truly know until the first regional happens.

Steve

That wasn't quite what I was going for. As waialua359 has pointed out in other threads, hybrid modes that are most likely to be successful are ones that take a minimal amount of input from the robocoach, perhaps solely at the start. As you point out, complete autonomy is at the mercy of the other robots. The limitations of the IR system reported by other teams indicate that full teleoperation will be problematic, too. Successful hybrid modes will be truly hybrid, and this is shaping up to be a pretty intense challenge. It will take a great deal of learning and planning, both now and at the regionals, to ensure that no robot is left behind.

Tottanka 16-01-2008 01:53

Re: Hybrid Challenge-No Robot Left Behind
 
see this:
http://www.chiefdelphi.com/media/papers/2070
inspired by this thread.

It is kind of a beta version, so i will consider adding there anything you want to =]

Qbranch 16-01-2008 08:23

Re: Hybrid Challenge-No Robot Left Behind
 
Hey... a note... I'm guessing I'm not the only one who's noticed that the IR remote reciever doesn't work at all if there's more than one remote in the general vicinity.

Is anyone else leaving the IR remote control as a last resort and going without?

Or has anyone figured out a way of making it function dependably?

For now, 1024 is improving it's SDAR (which was first debuted at our pit in Atlanta last year) or Sonar Direction and Ranging. Right now we have it to a point where we can take up to 3 simultaneous datastreams with a little over 1 update/sec, scan range 7', angle accuracy +/-2deg at Fast scan speed. Up to 9' range with +/-0.35deg accuracy.

We're going for a PID-based electronically geared path following routine with SDAR-based obstacle avoidance.

Okay, so i digressed a little. Videos to be posted (hopefully) in a couple weeks.

-q

Travis Hoffman 16-01-2008 09:30

Re: Hybrid Challenge-No Robot Left Behind
 
Please see this thread for free and easy software tools that facilitate connections and partnerships between teams over distances via the Internet.

Using these tools in tandem lets any veteran team reach out and provide programming or any other kind of educational assistance to rookie and inexperienced teams without ever leaving the comfort of their shops.

Realtime voice/videoconferencing combined with a powerful remote desktop/file transfer application - I invite you to check these tools out and see what kinds of creative applications you can discover.

Even if you're two veteran teams from the same region who aren't collaborating on a design, using these tools allows you to more easily ping ideas and prototypes off of mentors and students from other local teams - if people can get past the us vs. them competitive mentality and learn to spend more time "talking shop" with other local teams in person and via this software, I believe all the individual robotics programs involved would stand to benefit a great deal.

Doug Leppard 16-01-2008 22:59

Re: Hybrid Challenge-No Robot Left Behind
 
1902 team accepts the challenge and will support teams to have a simple hybrid mode.

PLEASE BUILD INTO THE HYBRID MODE TIME DELAYS.

One of my fears this year is not my opinents knocking me out but crashing into my partners coming out of the gate. We have built in switches that allow 0 0.5 1 and 2 second delays so we can give others time to get out of the way.

You don't need switches but you can have jumpers on the robot controller to change the delay time in the software.

lkdjm 16-01-2008 23:13

Re: Hybrid Challenge-No Robot Left Behind
 
As the senior programmer on Longwood's Digital Impact Team 564, I accept the challenge. Gracious professionalism is more important than competition.
One of our main goals at competition this year will be to help teams with their code, as so many helped me when I was learning.

lukevanoort 16-01-2008 23:23

Re: Hybrid Challenge-No Robot Left Behind
 
A goal of mine this year is to gradually make myself redundant, since I am graduating. So, hopefully I will succeed at that and thus have some time at the competitions to go out and help others with their programming. Actually, assuming they all make it to competition and all learn C (some are just starting), we should have six programmers available to help other teams on their hybrid modes.

If anyone is at the VCU regional (or the championship, but since we don't know divisions yet, it is kind of hard to make that offer) and lacks a hybrid mode (or is having any other robot-related issues) come on by the team 587 pit and ask for "Luke." If nobody in the pit is wearing a blue shirt embroidered with the FIRST logo (ie judges) I'll happily come by and help out. A word of warning: I don't know how to use EasyC and neither do most of our other coders, so if your robot code is in EasyC, we probably won't be very helpful.

SU 39 27-01-2008 18:42

Re: Hybrid Challenge-No Robot Left Behind
 
I think that this is a great idea for the learning experience. However, I personally won't be participating(my programming skills...suck). I just wanted to say that the complication of just saying "go straight" is that not all robots go in a perfectly straight line. Having 3 robots move in half the space as usual will make this even more difficult, with the risk of having one robot cut off the rest of the alliance and effectively impeding all possible scoring chances.
Also, for people who are participating in the challenge, it's worthy to note that if a team isn't coming with a preprogrammed hybrid mode, they probably don't have the IR board attached. So unless you have and are willing to lend extra IR boards + remotes, the program will have to be just a simple "go straight".

Doug Leppard 27-01-2008 19:40

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by SU 39 (Post 686877)
I think that this is a great idea for the learning experience. However, I personally won't be participating(my programming skills...suck). I just wanted to say that the complication of just saying "go straight" is that not all robots go in a perfectly straight line. Having 3 robots move in half the space as usual will make this even more difficult, with the risk of having one robot cut off the rest of the alliance and effectively impeding all possible scoring chances.
Also, for people who are participating in the challenge, it's worthy to note that if a team isn't coming with a preprogrammed hybrid mode, they probably don't have the IR board attached. So unless you have and are willing to lend extra IR boards + remotes, the program will have to be just a simple "go straight".

I agree about the collision. I fear this year more from my teammates than opponents. I would suggest that everyone should at least try to go forward and get the four points.

So I suggest that the go forward for four points have a delay of at least one second. We will hopefully have a significant hybrid mode and would appreciate not being hit. But at the same time we would appreciate having the extra points from our partners without hitting our robot.

So help evaryone get the four points and not be moving, but include a delay.

Tottanka 27-01-2008 20:12

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by Doug Leppard (Post 686907)
I agree about the collision. I fear this year more from my teammates than opponents. I would suggest that everyone should at least try to go forward and get the four points.

So I suggest that the go forward for four points have a delay of at least one second. We will hopefully have a significant hybrid mode and would appreciate not being hit. But at the same time we would appreciate having the extra points from our partners without hitting our robot.

So help evaryone get the four points and not be moving, but include a delay.

I would even include there a 5 second delay, and not jsut go straight, but also go left, for 8 points.

The 5 second delay is good for 2 reasons:
1)it gives your alliance members enough time to get out of your way when you will be blindely going forward/left.
2)that is justa bout the tame it will take to a robot from the oppoisng alliance to get to your location, if they go straight forward frm the start of the match. Therefore you might have a good chance of blocking them from recieving more points, and even if you don't - it's still good.

As a team that is gonna be having (hopefully) a significant hybrid mode, we will make sure that those in our aliance would not ram us down on the way, and i suggest the same for all of you guys.

Doug Leppard 27-01-2008 20:18

Re: Hybrid Challenge-No Robot Left Behind
 
Every year we put in delays controlled by switches. This year we will have 0.0, 0.5, 1, 2 second delays. We do hope and work with our partners in this area.

And I agree it is a crowded area this year and collisions will happen if all take off at same time.

thefro526 27-01-2008 21:08

Re: Hybrid Challenge-No Robot Left Behind
 
Tdorthebnator and I were talking about this the other day. This Auto/Hybrid mode is easier than 06's (if you were a dumper or defense). I'm gonna go harass our programmer on monday about this and see if he wants to get started on it. If your using easy c the code can be written in about 30 seconds so i think most teams are gonna have some kind of hybrid action

Doug Leppard 27-01-2008 21:20

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by thefro526 (Post 686959)
Tdorthebnator and I were talking about this the other day. This Auto/Hybrid mode is easier than 06's (if you were a dumper or defense). I'm gonna go harass our programmer on monday about this and see if he wants to get started on it. If your using easy c the code can be written in about 30 seconds so i think most teams are gonna have some kind of hybrid action

In EasyC Pro which we use it is easy to get the four points.

Once Hybrid startrts, wait a bit to let people clear, drive forward for XX seconds calculate how long it takes to cross line then stop. Most robots will not go straight but the distance is so close that it will be ok. You can even aim different to adjust.

For 8 points: Drive straight until clear the lane, again guess on time and adjust, do a 90 left again guess the time it takes and adjust and then drive straight again for xx seconds. You should be able to get 8 points with practice a certain percentage of the time, but should always get 4 points.

To get various amounts of wait, have a jumper on one of your digital input ports and read that. You can have several for several times to wait.

Ours is a bit more ambitious using encoders and other sensors.

thefro526 27-01-2008 21:38

Re: Hybrid Challenge-No Robot Left Behind
 
Last year I did a go straight and turn around the rack with dead reckoning. And I could show that to any on who wants to see it. It wasn't a 90 degree turn though it was more like 45 or so to match the angle of the rack. We used timers though and if we forgot to restart the bot it did some funny stuff.:P

TheNotoriousKid 28-01-2008 00:31

Re: Hybrid Challenge-No Robot Left Behind
 
Well, if it hasn't already been shown evident..."Team 25 Graciously Accepts"...the challenge.

Jim E 28-01-2008 00:46

Re: Hybrid Challenge-No Robot Left Behind
 
M.A.R.S. Team 1523 Graciously accepts.

I guess will have to nudge our programmer to write some generic short autonomous code to get them across the Finish line if they cannot do it themselves.

ShotgunNinja 31-01-2008 21:40

Re: Hybrid Challenge-No Robot Left Behind
 
Well, my team has shown that they wanted to go with the IR sensor controller, maybe using a TV/VCR remote. But I am in charge of the programming, and I was wondering...

Would something like this (Using ROBOTC) be usable?
Code:

task Autonomous()  { // Note: Just pseudocode, but whatever
while (bIfiAutonomousMode) /* Just in case... */
{
  switch(GetIRInputState()) /* Get the state of the IR sensor, in a different subroutine */
  {
      case Button1:
        Action1; // Something like "Move forward, stop"...
      case Button2:
        Action2; // Maybe "Turn Left"
      case Button3:
        Action3; // Maybe "Turn Right"
      case Button4:
        Action4; /* Something along the lines of: "Grab ball off overpass, however possible" */
      default:
        TakeNoAction; // Just "Stop Motors" or something
  }
  BetweenActions; // Something like "Stop Motors, Wait XX MS"
}
EndingAction; /* Play a sound or something. Reset motors for Human Control. Etc. */
}

Any comments?

timville 01-02-2008 11:10

Re: Hybrid Challenge-No Robot Left Behind
 
The problem with the code above is that the IR sensor does not remain as a "1" state when you hold the button. I believe the IR sensor will pulse the circut open and close every 100ms.

See my reply to your other thread with sample code on how to use the IR sensor with ROBOTC. http://www.chiefdelphi.com/forums/sh...ad.php?t=63004

GGCO 01-02-2008 11:14

Re: Hybrid Challenge-No Robot Left Behind
 
Hmm. The 5 second delay wastes a lot of time. My team wants to get the ball down, along with going around the track at least half-way.

Tottanka 01-02-2008 11:35

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by timville (Post 690167)
The problem with the code above is that the IR sensor does not remain as a "1" state when you hold the button. I believe the IR sensor will pulse the circut open and close every 100ms.

See my reply to your other thread with sample code on how to use the IR sensor with ROBOTC. http://www.chiefdelphi.com/forums/sh...ad.php?t=63004

yes.
what you need to do looks more like this:
Code:

If (RC_dig_in04)
    c=0;
If (RC_dig_in01)
    c=1;
If (RC_dig_in02)
    c=2;
If (RC_dig_in03)
    c=3;
if (c==1)
  pwm01=254;
if (c==2)
  Pwm02=0;
if (c==3)
  Pwm05=160;


meaubry 08-02-2008 19:38

Re: Hybrid Challenge-No Robot Left Behind
 
So, now that we have everyone capable of moving, and assuming most teams will still be potentially subjected/limited by signal overload, interference, blocking or stepping on each other - what can we do within the community, that will help reduce or eliminate this problem?

Signal guides (tubes) are helpful - if the signal gets there, but is there something that can be included in the code to help everyone?

Or, is this something that we must reinforce with the Robocoaches that are in control of the IR controls?

Is there a certain IR controller that works best for what we are trying to do? Signals are supposed to be sent as one time event - ideally, not continous (if the button is accidentally held) in the excitement of being a robo-coach?

Is there something that teams can do to there IR that would reduce the "holding down the button" problem?

No robot left behind would be alot more meaningful, in the context of FIRST coopertition, if it could also help eradicate the problem of multiple signals at the same time - that many are concerned about. I just don't know if it's possible.

Obviously, in the spirit of cooperation among alliance members, agreements as to who goes first, second, third, or not at all, can be done prior to the match. And, if that is all that is needed - so be it.

Just wondered if there was something that might be able to be done with the IR itself, or if certain IR's eliminate that problem and we could suggest using that one instead of the kind that cause problems. Maybe, a strongly suggested/recommended IR list, and a strongly NOT recommended IR list.

Mike Aubry

Doug Leppard 09-02-2008 08:06

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by meaubry (Post 694840)
Is there a certain IR controller that works best for what we are trying to do? Signals are supposed to be sent as one time event - ideally, not continous (if the button is accidentally held) in the excitement of being a robo-coach?
Mike Aubry

We want a continuous push of button to make sure the robot got the signal and that is legal. We will only be sending the signal the 1st second and then it will be turned off by that time the robot should know what ball to go after.

meaubry 09-02-2008 19:00

Re: Hybrid Challenge-No Robot Left Behind
 
Doug,
I understand the concern of assuring that the signal was recieved. Pushing and holding for a second or 2 isn't what I was referring to.

I was thinking that the robocoach may hold the button for 10 or all 15 seconds - simply, because they got excited and forgot to let up - or - they panic when the robot doesn't do what it was suppose to do, and continue to push the same button rapidly, over and over.

Just trying to better understand the dynamics of what might happen at the start of a match, and wondering if there might be something that could be more or less done to eliminate problems.

Like I said before, it's awesome that everyone is going to try to make sure that any team that wants to be able to try to move in the 15 second Hybrid/Autonomous time period has help available. And I'm thinking that with a little more thought, a few other issues could be addressed.

Such as -
If the code is simple to drive forward or go forward -turn left, it doesn't need to be IR controlled. That alone would eliminate alot or unnecessary IR signal traffic.
Also, simple delays in starting or ramping up to full speed could help avoid traffic jams - if each team also knows what speed they run at.

Mike

Doug Leppard 10-02-2008 06:13

Re: Hybrid Challenge-No Robot Left Behind
 
Thanks Mike. I appreciate your input.

What we are doing is telling our bot what balls to hit and then it does the rest. We figure we have 1-2 seconds to do this and then it is out of there and then there is no more reason to push buttons.

Interesting thing about the IR receiver according to my software guy over this is that once it receives a signal it transmits for 100ms waits 50ms then you can do another signal. Also holding down the IR same button it will acknowledge that button but only once, that button must be released to get another signal on it.

Also for our use, four buttons is barely adequate, six would be better.

tseres 10-02-2008 09:24

Re: Hybrid Challenge-No Robot Left Behind
 
if anyone is at the Waterloo and Greater Toronto Regional, come ask for me at the 1565 pit. i have code available that can help ANY team have a near-perfect autonomous. and no, i'm not bluffing :)

any questions please PM me and/or i'll see you in the pits!!!

meaubry 10-02-2008 09:36

Re: Hybrid Challenge-No Robot Left Behind
 
Doug,

Thanks for the response about the IR remote and how it works. I wonder if all remotes work that same way?? Should we be recommending a certain one that works a certain way, or will everyones code work with any IR remote??

Something else to consider, the robo-coach may want to delay pushing the button - long enough to be sure the alliance partners have gotten past the over pass, or at least are not going to be in your way to knock the ball off.

If the autonomous program is used without the IR, then simply build in a delay in the autonomous to simulate waiting a few seconds.

With the idea that everyone is going to move, now we must consider who goes first, second, third - in order to make sure we don't drive into each others way. I don't expect everyone to move at the same rate or even straight.

I've asked our guys to build a delay into our code that will allow the speed bots to go first - then we'll go (assuming we have the responsibility of knocking our ball off our overpass).

If we aren't responsible for knocking the ball down, we will simply let the autonomous code "go straight , turn left code run without an IR signal needed.

Mike

Mike Copioli 19-02-2008 10:54

Re: Hybrid Challenge-No Robot Left Behind
 
Wayne, you are on. See you at natonals.

Swan217 27-02-2008 16:35

Re: Hybrid Challenge-No Robot Left Behind
 
1 Attachment(s)
Last reminder before week one - Please make sure EVERY team has the means and the opportunity to participate in hybrid mode. If you help teams and have a story to share, or if EVERY team at your regional had a hybrid, spread the good news in this thread.

If you don't help other teams and there are teams that don't have a hybrid mode, I'm coming to the houses of the Chairmans and #1 seeded teams in the middle of the night and smacking them around.:D

Plus, remember to watch FIRSTruth for results and analysis of Week 1 regionals. (Plus catch up on all of the episodes you missed during build season.)

meaubry 29-02-2008 21:26

Re: Hybrid Challenge-No Robot Left Behind
 
So folks, How's the No Robot Left Behind Challenge going?
Any reports after week 1, day 1??

purduephotog 07-03-2008 20:06

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by meaubry (Post 710130)
So folks, How's the No Robot Left Behind Challenge going?
Any reports after week 1, day 1??



Well there are alot of stationary robots at Fingerlakes, ours included. The hybrid board was finally wired up to run on Friday- and there is only 1 'test' area to practice in- and you're given 5 minutes and back to the end of the line. You're not even allowed to 'queue' your name up unless you park your robot infront of the area. With matches every 20-40 minutes it's been impossible for us to get out and see just how tight our turns are.

And as you know, no untested code should ever go out on the floor- it's not safe.

So.... our robot is going to be left behind... but it'll just crawl forward and clear the first line... assuming we're not struck ;)

team2061 25-03-2008 00:56

Re: Hybrid Challenge-No Robot Left Behind
 
My team was unable to get hybrd mode workin, we were hoping to be able to knock the ball off the overpass buy we coulnt. My question is how would my team be able to score points in hybrid by crossing lane markers. my team uses easyC so how would we program our bot to drive straight and turn left drive straight and turn left?

DarkFlame145 25-03-2008 07:03

Re: Hybrid Challenge-No Robot Left Behind
 
I fount it weird how so many teams just didn't use the IR board at FLR, I mean we where one of the few teams that used it. Most just used dead reckoning. We had 3 hybrid modes when a lot of teams had none. All that we did was have one student and mentor work on it the whole 6 weeks. Thankfully we won and award for our hybrid modes at FLR. If anyone has any questions about the IR board or Hybrid mode let me know and I'll find someone on the team to help ya out.

Doug Leppard 25-03-2008 08:39

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by team2061 (Post 724348)
My team was unable to get hybrd mode workin, we were hoping to be able to knock the ball off the overpass buy we coulnt. My question is how would my team be able to score points in hybrid by crossing lane markers. my team uses easyC so how would we program our bot to drive straight and turn left drive straight and turn left?

We have easyc and were able to cross 5 lines in hybrid mode.

BUT, we have encoders and gyro and a pretty sophisticated way point software we developed over the weeks. All that would be too hard for you to start now, but with easyc you can quickly develop the ability to cross two lines for 8 points.

First of all about your robot. What sensors do you have? Do you have wheel encoders or fear counter to tell how far you have gone? Do you have the gyro onboard?

T3_1565 25-03-2008 10:28

Re: Hybrid Challenge-No Robot Left Behind
 
well we have no sensors what-so-ever on our robot (except the IR board to use as a kill switch in auto) and we managed to dead reckon a 5 line auto, (4 lines was more consitent) as long as no robots blocked us. If anyone needs a hybrid at GTR stop by our pit, we can get you to cross at least the first line no problems what-so-ever.

and hopefully we have the ability to knock down the ball at GTR as well.

Good luck with this challenge, and to report, most robots in Waterloo moved in hybrid, whether it was for points or not!!

Doug Leppard 25-03-2008 11:29

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by T3_1565 (Post 724476)
well we have no sensors what-so-ever on our robot (except the IR board to use as a kill switch in auto) and we managed to dead reckon a 5 line auto, (4 lines was more consitent) as long as no robots blocked us. If anyone needs a hybrid at GTR stop by our pit, we can get you to cross at least the first line no problems what-so-ever.

and hopefully we have the ability to knock down the ball at GTR as well.

Good luck with this challenge, and to report, most robots in Waterloo moved in hybrid, whether it was for points or not!!

Wow that is great doing this with no sensors. We managed to cross 4-5 lines 4-5 times at Florida, but then started having mysterious issues with the robot at the start do a fast left turn.

We got our data logger going and that will help us figure out what is going wrong with those issues.

So on your hybrid mode, did you doing timing to know when to turn. What kind of turns do you do, stop then do a 90 degree turn, or start turn at end of going straight?

I think it is amazing a robot can go that far without some sort of feedback.

This weekend we plan on start knocking down balls. We did it in practice but the mysterious problems killed the next step of knocking down balls.

Racer26 25-03-2008 12:59

Re: Hybrid Challenge-No Robot Left Behind
 
Well, 1565's linkage drive train (search it on CD, theres pics) would definitely help, as there should be no error in turning differences, as it never really turns.

T3_1565 25-03-2008 13:08

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by 1075guy (Post 724568)
Well, 1565's linkage drive train (search it on CD, theres pics) would definitely help, as there should be no error in turning differences, as it never really turns.

yep that would be why it works so well!

We just tell it to drive for x seconds foreward (I think its like 4.1 secs or something like that) then switch the linkage and drive x seconds left, switch, x seconds back, switch, etc etc. We managed 5 lines once, and 4 lines at least twice, but the rest of the time robots were in the way and we usually got three and crashed into someone. That's what we get for no sensors eh?? hahaha!

I'm quite proud that we managed that without any encoders and gyros and what-not. (We couldn't get encoders or we would of had them, they make things easy lol :D)

PS. 1075guy, I'll have to meet you in person at GTR you always seem ot pop up when talking about our drive system lol.

JesseK 25-03-2008 13:34

Re: Hybrid Challenge-No Robot Left Behind
 
Incorporating sensors isn't hard I think. It's just as easy (to me) as incorporating a timer and just takes a few extra lines of code. The hardest part is the mounting of the sensor.

Our auton. really is mostly autonomous. We set states using dipswitches on the bot to tell it what "lane" it is in when we place it. The gyro and transmission encoder take over from there. The robocoach has 1 main button he presses and that's the "1 second pause" button. 2 other buttons are for slight angle adjustments left/right if we're ever in position to knock our ball off or are in danger of knocking the opponent's ball off.

We've easily crossed 3 lines twice and should have crossed the last line. When asked why we didn't make the final turn, the lead programmer stated "I didn't think we'd ever get that far". Ha! In Philly our robocoach will be going around and is tasked with assisting other teams with their IR boards and at least getting them to slowly drive forward over the first line.

Racer26 25-03-2008 13:45

Re: Hybrid Challenge-No Robot Left Behind
 
lol. What can I say, I really like it. I was there at Waterloo with the team. And you can blame me for 1246 getting in your way in the last qualification match we played. I noticed your auton goes a bit too far forward, and would hit a robot that didnt move in the inside lane. I figured sacrificing their 1 line to limit you guys to 2 instead of 5 was a good tradeoff.

T3_1565 25-03-2008 13:51

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by 1075guy (Post 724598)
lol. What can I say, I really like it. I was there at Waterloo with the team. And you can blame me for 1246 getting in your way in the last qualification match we played. I noticed your auton goes a bit too far forward, and would hit a robot that didnt move in the inside lane. I figured sacrificing their 1 line to limit you guys to 2 instead of 5 was a good tradeoff.

bwahaha!! I knew that was planned..

no matter, you my friend made us tweak the time some more, so it actually reaches the 5th line and scores its points

Thanks :D

Racer26 25-03-2008 13:56

Re: Hybrid Challenge-No Robot Left Behind
 
I liked 188's strategy against 1114's auto too.

GDC says no defensive auton. 188 makes their auton get 1 line (therefore not being "defensive") and parks right in 1114's path.

T3_1565 25-03-2008 13:58

Re: Hybrid Challenge-No Robot Left Behind
 
we had 1558 try that against 1114 as well (well it was four sec pause then drive to one line) but that failed... horribly...

But they moved!! and thus, keeps another robot from being left behind!! :D

BLCamp 25-03-2008 14:35

Re: Hybrid Challenge-No Robot Left Behind
 
Of course, there are some teams that figured other robots might get in the way so they incorporated some collision avoidance, http://www.youtube.com/watch?v=6qrNdDw-YrM

Brian

Racer26 25-03-2008 14:54

Re: Hybrid Challenge-No Robot Left Behind
 
Wow... thats impressive, 79. I know 1114 was trying to do something similar, but that system sure works nice.

bcieslak 25-03-2008 15:42

Re: Hybrid Challenge-No Robot Left Behind
 
Go to team 1675's website (www.team1675.com) and check out the autoflex program they have that will allow your drivers to train the robot to perform during the 15 second autonomous period..even better than just driving straight.

BC

bcieslak 25-03-2008 16:07

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by ShotgunNinja (Post 689864)
Well, my team has shown that they wanted to go with the IR sensor controller, maybe using a TV/VCR remote. But I am in charge of the programming, and I was wondering...

Would something like this (Using ROBOTC) be usable?
Code:

task Autonomous()  { // Note: Just pseudocode, but whatever
while (bIfiAutonomousMode) /* Just in case... */
{
  switch(GetIRInputState()) /* Get the state of the IR sensor, in a different subroutine */
  {
      case Button1:
        Action1; // Something like "Move forward, stop"...
      case Button2:
        Action2; // Maybe "Turn Left"
      case Button3:
        Action3; // Maybe "Turn Right"
      case Button4:
        Action4; /* Something along the lines of: "Grab ball off overpass, however possible" */
      default:
        TakeNoAction; // Just "Stop Motors" or something
  }
  BetweenActions; // Something like "Stop Motors, Wait XX MS"
}
EndingAction; /* Play a sound or something. Reset motors for Human Control. Etc. */
}

Any comments?

You should look into using pointers to functions...it makes what your trying to do real simple...When you press a button, change the pointer to a function to the new behavior function..In your autonomous_routine just call the pointer as if it were the function. I

first decalre a couple of simple functions like: (fill in the code)
void drive_fwd(void);
void drive_bwd(void);
void turn_left(void);
void turn_right(void);

then declare a function pointer:
void (*auto_function)(void); the splat in the parens make a function pointer.
Note the format of the prototype and the fucntion pointer is the same, for the pointer replace the function name with the (*pointer_name)

Now use your code to read the IR board
but the action would assign a fucntion to the pointer.
switch(GetIRInputState()) /* Get the state of the IR sensor, in a different subroutine */
{
case Button1:
auto_function = drive_fwd;; // Something like "Move forward, stop"...
case Button2:
auto_function = drive_bwd;; // Maybe "backwards"
case Button3:
auto_function = turn_left; // Maybe "Turn left"
case Button4:
auto_fucntion = turn_right; /* Something along the lines of: "Grab ball off overpass, however possible" */
default:
TakeNoAction; // Just "Stop Motors" or something
}

then by calling auto_function just as if it were a function it will perform the function you assigned to it.

auto_function(); // do what it assigned to the pointer. call this in the autonomous loop.

The function pointer will stay the same until you change it with the IR board.


BC

Doug Leppard 25-03-2008 16:18

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by BLCamp (Post 724633)
Of course, there are some teams that figured other robots might get in the way so they incorporated some collision avoidance, http://www.youtube.com/watch?v=6qrNdDw-YrM

Brian

We had no idea you guys were doing that, way to go very impressive.

We considred it and have the sonar up front but didn't implement it. we may still consider it.

team2061 26-03-2008 14:48

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by Doug Leppard (Post 724417)
We have easyc and were able to cross 5 lines in hybrid mode.

BUT, we have encoders and gyro and a pretty sophisticated way point software we developed over the weeks. All that would be too hard for you to start now, but with easyc you can quickly develop the ability to cross two lines for 8 points.

First of all about your robot. What sensors do you have? Do you have wheel encoders or fear counter to tell how far you have gone? Do you have the gyro onboard?

No we were unable to put encoders on our bot

XXShadowXX 26-03-2008 21:51

Re: Hybrid Challenge-No Robot Left Behind
 
done,

flint rookie pilot, our programer wrote another alliance member team's hybrid code for them or improved it, but we all crossed 1 line in hybrid.

Doug Leppard 01-04-2008 16:46

Re: Hybrid Challenge-No Robot Left Behind
 
One story of "no robot left behind".

At each regional we have helped several robot teams. At our last match at Bayou I visited our partners trying to make sure their auto mode would not run into us. Neither team had an auto mode so I sent our lead programmer to work with them.

He got both of them going with a basic go straight and make 4 points after a three second delay.

Both of their auto modes worked each getting 4 points. They were excited because it was the first time they had an auto mode that worked. As it turned out we won by 6 points and without their 8 points we would have lost. That win ended putting us in the top 8 and allowed us to pick our partnership. So it was a win for all!

Tottanka 01-04-2008 19:53

Re: Hybrid Challenge-No Robot Left Behind
 
Quote:

Originally Posted by Doug Leppard (Post 728651)
One story of "no robot left behind".

At each regional we have helped several robot teams. At our last match at Bayou I visited our partners trying to make sure their auto mode would not run into us. Neither team had an auto mode so I sent our lead programmer to work with them.

He got both of them going with a basic go straight and make 4 points after a three second delay.

Both of their auto modes worked each getting 4 points. They were excited because it was the first time they had an auto mode that worked. As it turned out we won by 6 points and without their 8 points we would have lost. That win ended putting us in the top 8 and allowed us to pick our partnership. So it was a win for all!

That is a great story! good job guys =]
Oink Oink...


All times are GMT -5. The time now is 10:00.

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