Autonomous opinions for a rookie

Well I am brand new to FIRST and relativly new to programming with C, I started using C last year but I alreaady had a decent amount of experience with Basic. But to make a long story short I am the only one who has any programing back ground and will be doing the vast majority of our team’s programming.

I have been writing autonomous code for the EDU bot as well as writing sample codes that could be adapted for use on the Competition bot(I dont know if there is an official name for this bot) I was wondering what your opinions were as to what the best and most reliable autonomous mode was, I have tried IR line tracing, IR beacon using triangulation, and am working on dead reckoning, I was wondering which one of these most teams find to be most effective and if there are any i am over looking.

Your help will be greatly appreciated,

James

Sorry if this is in the wrong place i didnt see any thing about autonomous mode so i figured it was most directly related to programming.

last year my team had a robot that had 16 different autonomous modes. We could use infrared, dead-reckoning, and wheel counts to get to the ball.

We found that the most reliable was wheel counts and dead reckoning. Every time that we wanted to knock the ball down in competition we did. I would suggest wheel counts because they ensure the distance the robot goes, it just seems a little more reliable than dead reckoning.

WELCOME TO FIRST!

Last year was my team’s first year, so I don’t know terribly too much. Not to mention I’m taking my first programming course next semester. But from the one year of experience I DO have, I can say that last year we tried line following and failed miserably (I blame the fact that the tape was smudged, but w/e). This year we’re going to be sticking to dead reckoning. It seemed to be the most reliable among teams and you can make your robot do whatever you want.

Again… little experience here

-Alex

First of all, welcome to the Chief Delphi Community. There are many threads discussing this topic, but it is ok, most new members dont know where to look or how to use the search feature to its full extent.

Before doing anything… read this.

And here are some threads that may answer your question.

Neat Discussion on Optical mouse navigation systems

http://www.chiefdelphi.com/forums/showthread.php?t=31678&page=2&pp=15&highlight=auto

FRC Programming FAQ’s

and the best one of all… the Chief Delphi Programming White Papers.

Don’t worry…you’re in the right forum. :slight_smile:

That said, it depends entirely on the game.

From my experience, tracking the tape on the floor of the playing field is a very slow method and most of the robots that I saw use that were lucky to be halfway to the goal before their time was up.

818 has used dead reckoning for three years now, and it’s worked relatively well. Assuming that you place the robot correctly before the match begins and that nothing obstructs your path (like another robot), it works well. Even if you do end up colliding with another robot or a field element like a moveable goal, you still might be able to accomplish something…even if it’s just accidental.

I haven’t experimented with IR beacons yet, but we might have to this year - last year, they emphasized learning how to use the IR system strongly at kickoff, and something tells me that we might not have a choice in the matter this year.

As I said, though, we don’t know what we’ll be up against…so my answer may change tomorrow. :slight_smile:

Sorry i didnt search i am relatively new to this forum. As far as the IR beacons i have been leaning towards wanting to use them for a while. Also due to the size of our team i am going to be alone on programming, is this unrealistic? One last question could you have DIP switches on the bot to switch between Auto modes, I was thinking 3 switches would give you 9 different modes.

Exactly how many people are there on your team? The main problem with one-programmer teams is that comments get bad or disappear entirely as the season goes on, leaving people who read the code later entirely up a creek. If you are an upper-classman, you should try to find someone to take “under your wing” as early as possible – and stick to it – as the long-term rewards will outweigh any appearance of slow progress during the build season. I made the mistake of being the only programmer on my HS team, but that was back in the simple days of basic :slight_smile:

DIP switches are great for auton. mode selection, but they are quite small and, if improperly mounted, can be fragile, so keep that in mind when constructing. Three “on-off” switches of any kind will give you 8 selections, corresponding to the binary values 0-7.

Dead reckoning is only as reliable as your drivetrain is. Use it if you’re confident in your machine and/or your ability to easily and quickly adapt the code to your machine.

I can’t really vouch for the other methods, as I’ve only had experience with dead reckoning.

As far as programming alone goes…it’s entirely possible, and I know that teams go with that method. The problem I see there is that when you have a mistake that you can’t quite seem to fix (missing semicolon?), it can take ages to solve. Why look for a mistake in the area that you know you coded perfectly? :wink:

Like Caleb said, trying to find someone else to work with you might not be a bad idea. If that doesn’t work out, though, you can always come to CD for help when you’re stuck…

You can use small toggle switches that can be securely mounted in a
piece of metal, placing the switches where they won’t get whacked in a
match. It is also a good idea to program an initial read of the switches
right after reset and then save the value for later use. This insulates
you from getting your switches whacked during the auto mode.

You can use multiconductor signal cable to connect a healthy
number of switches to the digital inputs on the robot controllers,
and use the C-Grid connectors to connect the signal lines to the pins
on the RC with very clean wiring that will not come loose.
The C-Grid connectors, and suitable crimp/insertion tooling, are
available from Digikey. We used 6 switches last year. You could
easily use more if desired.

There are 10 people including my self on the team, as far as taking some one under my wing I am a junior this year, my brother will be an incoming freshman next year, he is not ready to program yet but he understands the concepts of basic. There is one girl who has expressesed an interest in programming however I must admit I am not the best teacher when it comes to programming, largly because i taught myself what I know. I have pointed her in the direction of the tutorials available from FIRST. Perhapse as the build season commences the build team will be able to spare her if not I think we ma make programmer training an off season priority. After posting i realized my math was wrong and 3 switches=8 modes. Thank you guys for the help and quick responses.

James

our team used a 10 sided dial for auto mode, and then another switch to determine left and right. I would strongly suggest that you put in one auto mode that does absolutely nothing. One year we had an auto mode permanently stuck in our robot that didn’t work, without a computer we were lost.

Maybe I am overlooking something obvious but why is it a good idea to have an autonomous mode that does nothing?

Just for thoroughness. And if nothing else works, your bot won’t go careening around the field and get shut down.