Log in

View Full Version : Meeting at Nationals


Gui Cavalcanti
30-03-2002, 16:26
Hey guys!

Last year at Nationals 422 tried to pull of a programming conference, but it didn't work very well. Our lead programmer then graduated and left his legacy to me; namely, the Codex and the programmers conference. Here's what I'm wondering:

Would you guys (programmers of the various teams) like to meet at Nationals and discuss new coding algorithms, control schemes, projects, etc.? We'd probably meet Thursday and/or Friday during lunch, but I'd only want to meet if I knew some people were going to show up. We'll give out fliers at Nationals.

Also, related to the website passed down to me...

422's had a bad year school-wise. Our school just moved, and they didn't like us to begin with, so they've pretty much killed our webserver. We can't physically find it anywhere in the school, and it's only connected 1/4th of the time it's supposed to be. Therefore, the old CODEX we had to help beginner and advanced programmers, is permanently disabled. Would any team please, please help me establish a multi-team website dedicated to helping FIRST programmers by posting projects, beginner and advanced tutorials, and other helpful things on there? We'd need a domain name and server space, two obstacles I don't know how to overcome (I'm a programmer, not a webhead), but it would be a really cool project that would pay off.

Thanks!

Joe Matt
30-03-2002, 17:50
Someone on our team has an address we use. I can talk to him and mabey you guys can use it too? I need to talk too, and some type of money/candy might be needed to bribe him. Stay tuned....

Nate Smith
30-03-2002, 18:30
Originally posted by Gui Cavalcanti
We'd need a domain name and server space, two obstacles I don't know how to overcome (I'm a programmer, not a webhead), but it would be a really cool project that would pay off.

Thanks!

I just happen to work for an ISP...I'll see what I can do...

Matt Reiland
30-03-2002, 20:41
I wanted to upload our code to that from this year, we had two things that may be of interest to teams out there:

1.The code is broken into sub programs so teams can see what it takes to break their program into slots

2.Successful implementation of Crab steer using an Inverse SIN algorythm that should be at least a starting point for teams wondering what it takes to do crab steering.

All of it is fully commented just tell me your new address

Matt

VanWEric
31-03-2002, 16:00
I will definately attend the programmers convention. Please track me down in the 250 pits if i forget, which i will. As for the ISP, my freind runs a page in his basement on slackware. He may host something. maduin.yi.org

Ian W.
31-03-2002, 21:42
if there was/is a programming confrence at nats, i'm sure both me and dan would attend. from what i've heard/seen, we did a lot of programming for a rookie team, but i'm still clueless about a lot of things. i'd love to learn more, because every little bit could help. just remind me (team 810) at nats, and i'm sure i'll come. :D

VanWEric
01-04-2002, 17:41
Gui -- I convinced Reviek to host the codex. Track me down and i am sure we can have it running within a few moments.
vanweric@aol.com

Ken Delaney
01-04-2002, 23:10
I would be interested in attending the programmer's meeting at Nationals. I oversee the programming of the robot, but did not write any of the code. I will try and bring the two students, who programmed the robot, to the meeting. I would like to find more effecient ways of using PBASIC. Our code does some cool stuff but it is not pretty. We have a delay mechnism to make sure we are attached to the goal before the our arm pulls the goal in.

Once you have you the website set up I would gladly put a link on our web site. We cannot proved you any webspace as our site is growing everyday.

...dare to do mighty things...

Mark Hamilton
02-04-2002, 14:32
Our head programmer would probably love to attend. Im sure he would be interested in showing off our record code, which allows us to record our movements and play them back.

ChrisA
02-04-2002, 15:20
im sure my teams software crew or maybe just me wouldnt mind joining you guys

Originally posted by Matt Reiland
2.Successful implementation of Crab steer using an Inverse SIN algorythm that should be at least a starting point for teams wondering what it takes to do crab steering.
Matt

thought id also mention that my team has found a few different ways of doing crab and that crab steering can actually be a lot simpler and work just as well. my team is using probably the simplest crab steering method and works just as well (not that we dont want to upgrade it to work better, but with time restraints and all it just never got upgraded) :). i wouldnt mind seeing how ur using that inverse sin algorithm matt. id like to see how ur going about overcoming the friction of the carpet with it.

just stop by the team 111 pit area and let us know (well all be there).
you can also check out 'StangSense' while ur there... :D

VanWEric
03-04-2002, 17:08
Anyone wish to clue me into what crab steering is? My code uses a tank style drive, which is nice and simple, but i would be open to ways to make it prettier

Gui Cavalcanti
03-04-2002, 17:27
This would be another thing we'd talk about at the programming conference... ;)

I know that swerve steering (i think it's the same as crab... not entirely sure) is where all 4 wheels of your robot rotate on an axis. This is a normal robot:

|| --- ||
| |
| |
|| --- ||

This would be a robot with crab steering moving at 90 degrees to it's front:

= --- =
| |
| |
= --- =

Your wheels can rotate anywhere, so you can move laterally along the playing field without turning (your front stays pointing the front).

It's hard to control because you have to link the joystick with the amount of turn each of your wheels undergoes... I'm still clueless as to how teams can make this mechanically with all four wheels turning.

-Gui

ChrisA
03-04-2002, 18:56
to follow up on guis post and further explain crab drive....

as gui stated your wheels essentially have a 360 degree rotation. lets say you have a robot that has normal wheels...
||---||

||---||

this robot can only move in a front to back motion much like a car.

a robot that has crab drive would have 'crab modules'. basically separate wheel modules which turn about an axis that is perpendicular to the axis of the wheel itself (in other words vertical). the wheel module would be rotated about this axis. the amount of rotation would be measured by a potentiometer that is mounted on top of this crab module (connected to the vertical shaft).

this said our robot that could originally only travel in a forward or backward movement can now move side to side or diagonally according to how far the wheel is rotated about the vertical axis. this in effect gives our robot the ability to move like a crab (crabs in real life normally move in a sideways motion). hence the name 'crab drive'.

(crab modules turning 180 degrees)
||---|| \\---\\ =---= //---// ||---||

||---|| \\---\\ =---= //---// ||---||

if you would like to learn more feel free to stop by team 111 in the pits at nationals. and maybe if this programmers meeting happens we can try to explain some of the coding behind the way it works. (as i stated before there are many many different ways to go about it and i would love to see how other teams go about attaining this goal)

heres a short clip of our robot using crab drive
http://www.wildstang.com/2002/video/crab.mov

EricS-Team180
07-04-2002, 01:04
A programmers meeting at Nats is a great idea. The Team 180 "spamSoft" crew will support it. Let me know if you need any help to make it happen.

...we were wondering what happened to the CODEX


...got a white paper on the Inverse SIN algorithm?

Wetzel
07-04-2002, 07:32
I'd like to go. Even though I am not one of the code writers, I do understand and aprreceate the logic in it.
Besides, debugging is easier when you understand the language.:)

Curtis Williams
08-04-2002, 19:24
I saw the signs up at nats last year and intended on going, but you know how it is. Drivers always blame their mistakes on the program. Hopefully next year we can get a more powerful controller and can replace drivers with small scripts.

Beowulf
08-04-2002, 22:56
Look for me in a white lab coat with #114 on the back.

Malakili
09-04-2002, 11:31
Count me in for the programmers confrence

Ian W.
09-04-2002, 16:42
Originally posted by Curtis Williams
I saw the signs up at nats last year and intended on going, but you know how it is. Drivers always blame their mistakes on the program. Hopefully next year we can get a more powerful controller and can replace drivers with small scripts.

i thnik if you really wanted to, you could program the robot to move automatically for 2 minutes. of course, it would take lots of time to get it to work right, but it would be pretty cool. :p maybe a side project for me. or, if we can make a laptop control program (just for the hell of it), program that to make the robot do certain things. :D drivers are overrated, unless the you're the driver (which i sometimes am). the best part is just to play with the inputs, so you have to be the driver, cause no one else knows the buttons or joysticks. :p

Greg McCoy
10-04-2002, 16:33
FIRST Lego League is like this - I hated programming it. Everything has to be automatic. You press a button - it does it.

You have to use either timings or use a rotation sensor to figure out how far you wanted to go. If you used timings, as the battery wore out the timings changed, throwing everything off. Rotation sensors get confused when you turn. You can use light sensors to follow lines on the field, but it takes too long.

Also, the "RIS" software you had to use was terrible. It was too "user-friendly" for me.

I'm really glad I can work on real robots now :)

Ian W.
10-04-2002, 16:53
heh, i guess while programming the robot to be automatic would be cool, we don't really have what it takes to make a robot do that. maybe, if someone can find a way to control te robot through a laptop (for non-season use only, duh :p), you could make a program on the computer that ran through timings. that would be interesting.

Gui Cavalcanti
10-04-2002, 21:04
This conference is actually gonna happen this year! WOO! Sorry... pent up joy due to the failure of last year's conference...

Now, as for when:

Right now the schedule seems to be Thursday from 12 to 1 and Friday during lunch (don't know when it's scheduled...). The reasons for two conferences are that there are a lot of people with a lot of cool ideas which you just can't get to all at once, a lot of people could forget/get drawn away by robot problems, and sometimes you just gotta be with your team.

Team 422 will be handing out fliers both Thursday and Friday to remind everyone. On Thursday we will have a complimentary "runner" service. You tell us when your next practice match number is, we'll keep everyone informed of what matches are going on in what stadium. That way, nobody misses a match they have to attend.

Also, 422 will steal a bit of time at the beginning of the two conferences to announce our desperate need for web space, a domain name, and general help to keep the CODEX somewhat alive. It's been in a coma for the past couple of months, so...

One last thing. If everything works out well, we'll be giving out logic chips from an old Apple IIE's motherboard to every programmer that shows up (first come first serve) as a general programmer-only handout. We just have to figure out how to mount them somewhere so that they don't impale the wearer...

If anyone wants to figure out an actual agenda so we can do presentations maybe (like StangSense, acceleration programming, crab drive... anything), just respond here and we'll set things up.

One... teeny... last thing :) 422 will also hand out what we call the "PBasic Field Manual". Essentially it's a medium-sized packet going over everything in the big red PBasic Bible applicable to the robotics competition, squished into a readable size without confusing non-robotic examples. Respond if you're interested, because we may not have enough copies for everyone.

Ian W.
10-04-2002, 21:07
I WANT!!! :p the regular manual just had so much stuff, and being a "newbie" i sorta got lost for hours at a time lookig somethnig up. having something condensed would be great. as to the apple chips, that's pretty cool too, now i have to make sure i go. :D

Curtis Williams
10-04-2002, 21:19
I've been thinking about writing an annotated copy of the default program with explanations for rookie teams. So many teams using default programs....it makes me cry. Last year (my rookie year) I spent 2 days just staring, absorbing the code. A weekend of isolation, surviving only on Dr. Pepper and pizza. This should not be requeired of rookie teams.


See you at the meeting.

Also, I think you can add a cheap microcontroller on your custom circuit board, so replacing the driver is not far away.

The Lucas
12-04-2002, 00:00
I would like to attend the convention if I can get out of the pit (extreme difficult considering the amount of battle damage our robot sustains and all the modifications we make).

Originally posted by Ian W.
you could program the robot to move automatically for 2 minutes.

We built an code sequence to automatically steer our robot to the goals. Since we used to get to the goals in about 1.5 sec (bosch high direct mount) the drivers had little time to react. We were going to log the joystick values through the dashboard and automatically give these values to the drive calc code when the driver pushed a button. Unfortunately, we didn't use it because we changed the drive train.
Also, we were going to program a joke into the robot to lighten up the debug phase. Whenever the driver moved the stick out of the deadzone the robot would drive in a "figure 8". However, we were too busy during crunch time to debug a fake problem. See you at the convention (hopefully)!

Ian W.
12-04-2002, 14:55
Originally posted by Curtis Williams
I've been thinking about writing an annotated copy of the default program with explanations for rookie teams. So many teams using default programs....it makes me cry. Last year (my rookie year) I spent 2 days just staring, absorbing the code. A weekend of isolation, surviving only on Dr. Pepper and pizza. This should not be requeired of rookie teams.

do that many teams use the default code!?! i'm on a rookie team, and we didn't. when the 6 weeks started, the two juniors who were supposed to code dropped the team, so me and another person (SuperDanMan), who were just supposed to learn the code this year and program next year, sat in front of a computer for about an hour or two, and learned just about every line of the default code. that very day, we then procceeded to modify it, and by the end of the build period, had completely altered everything that we knew how to. the only thing we couldn't figure out, that we needed this year, was the uP initilization. we left that as it was. :D

i just don't see why rookie teams don't make thier own code. even though i've only been taking C++ since this year, and Dan's been taking VB since last year, C++ since this year, we managed to make our own code. sure, we scrapped the default, but that's what it's there for. it's called PBASIC for a reason, if you take the time to learn it, it's basic! it's actually a lot easier than C++, if you only have a little knowledge in either, but i like C++ better, cause you can do many more things. all rookie teams attending nats should send their best math/logic person/people to the conference. i know i'll be there.

Beowulf
12-04-2002, 22:14
The WRRF has made this neat template for coding. It makes it a lot easier than trying to figure out the Default code. Lemme go look for it...


Ah, ha. Found it. Formatting's screwed up for some odd reason.

Ian W.
12-04-2002, 23:34
hmm, the template is interesting, although i think i actually find it slightly harder to understand then the default program. maybe cause i just looked over it fast, or maybe cause the default didn't use gosubs and everything went in the order that the uP used it (declarations, initilizations, mainloop, etc.). maybe i'll try using that next year, cause next year i'm gona have to teach PBASIC to my team. maybe have them look over that, and using that, make this year's robot work, or something like that. :D maybe have them make code that's more effecient than this year's.

K. Skontrianos
13-04-2002, 00:01
Some members of team 102 have been working on a GPS guided robot that can drive itself to any point we tell it to. We have the robot pretty much built and are now working on the program. While it doesn't seem likely that we can bring the GPSbot to Nationals :( , we'll bring some of the code along. Maybe some programmers will have some good suggestions for us. If you want to see what have done so far, check out the link below. Oh yeah, i have to mention Lucent. They gave us a $1,000 grant to do this project, so we greatly appreciate their generosity.

srawls
13-04-2002, 11:46
Count me in! As the programmer for team 122, (plus with all those nifty handouts :D) I wouldn't miss this for the world. I wanted to go last year, but I had to stay in the pits and debug our code, but this year I should be free at least durring lunch.

See ya there!
Stephen

Cody_538
14-04-2002, 00:10
Hey guys count me in on the meeting. I will be glad to go and talk to some of the other programmers out there. On the part of drivers blaming programmmers, I have a problem. I am programmer and a driver ,so when something goes wrong i have to end up blaming myself or the other programmer.He gets maf when everyone blames him so now if the robot does something it isn't supposed to i get blamed. That gets kinda crazy after a while. Well i hope we all get to meet up and have a meeting. See everyone at Nats.

Cody, Team 538 "The Dragonslayers"

Ian W.
14-04-2002, 00:15
well, when something breaks, then you go and blame te mechanic. i'm a programmer/driver, and when i have problems, i first say, oh, it was the breakers, then we find out like, a chain fell off of the left side, so i had no power on the left side of the robot. then everyone who yelled at me are like, um, uh, yeah, sorry. then they fix it, and by then, time to go out again.

just remember, figure out what failed, then pick whoever did that part, blame them. :D works most of the time. then, you go and redo the code so it doens't happen again.

VanWEric
15-04-2002, 10:31
We may need several tables for this, with this type of response. FIRST one to program a wooden picnic to hold 18 people wins 2 of those chip things. Hmm...That'll be a bit hard to optimize. Thank goodness for assembly. So if everyone can just send there bodies source, we can start the contest.

Gui Cavalcanti
15-04-2002, 16:41
Here are a couple of more things:

The meeting will take place out at the picnic area behind Einstein (where everybody goes for food). Look for the person/people in drab kelly green shirts holding up signs for "CODEX" or "Programmers Conference", and look for the directional signs we'll be posting around the pits, directing you (hopefully) to the programmer's conference.

Remember: Wooden picnic tables, kelly green wearing people holding up signs, directional signs in the pits.

Ian W.
15-04-2002, 17:11
how will i ever remember!?! it's a whole week and two days until nats!! :p

I can't wait until tuesday at about 2:00 PM. that's when my school ends. then, i go home, pack, and goof off all night :D. then, at some ungodly hour, i go to a shoping center and get on a bus to the airport. sounds like fun. :p

ChrisA
20-04-2002, 12:04
might i inquire when this meeting will take place so that i can plan my time accordingly?

ChrisA
29-04-2002, 17:38
would someone like to fill me in on how the programmers meeting went?

i appologize for my team (#111) on account of us not attending. we unfortunately kept forgetting about it (the flyer helped out a lot though). The timing unfortunately being during lunch didnt help much. seeing as one of our software people was human player didnt help much because they (the head honchos) wouldnt let her stray very far (didnt really stop her though) so we waited for her to get lunch and by the time we got through the lunch lines after talking to people on other teams we were already too late. we would like to know what happened if anything and would also like to say that if someone wants to try for it next year my team will still be interested in coming.

ps hope everyone who went had a great time at nats

Gui Cavalcanti
29-04-2002, 22:27
Unfortunately, I think the CODEX meetings were somewhat dulled by the fact that we had no organization, agenda, or idea as to what we were doing. If we manage to go to Nationals next year (3/5 points... need 2 more), I promise we'll be more organized :)

Thursday was fun, because we had a lot of people (around 20) that showed up. After around 2 minutes of waiting on people to show up (bad idea, it meant that we lost a lot of people that should've gone), we moved to the wooded area in front of the FIRST sign and before Epcot and had a group discussion of everything from the default program to ramp-up code. Unfortunately, I think some people got either overwhelmed or scared off, because not everyone came back Friday.

Friday, we waited for 15 minutes for people to arrive (only around 15 did, with some new people) and then moved back to the wooded area, and split up into two groups. The first group, led by Linda (from 422) went over the basics of programming for first-timers. The second group (my group) discussed some advanced coding, but we didn't have that much time. I had to leave early because we were the first match after lunch (and my team actually managed to queue without the OI... d'oh...), but not before Ashlee and I made a serious attempt to search for 111 programmers and Mike Soukup. We were all really curious to know how you pulled off crab drive code-wise :)

We also announced the new CODEX website - www.first-codex.net. The site will soon have the ability to submit articles, and the forums are up, so everyone should check it out and register with the forums soon. I hope you and the WildStang programmers, Chris, get together and write an article on how to pull of crab drive mechanically and in programming, as well as a description as to what it is :)

Ian W.
30-04-2002, 15:49
Yay!!! More forums for me to win awards on!!! :p

We'll have to have a "CODEX Web Hug" now too. :D Then, maybe I can get a Top 10 Poster on CODEX too! God, I need to get out more...

DaBruteForceGuy
30-04-2002, 18:05
a chain fell off of the left side, so i had no power on the left side of the robot. then everyone who yelled at me are like, um, uh, yeah, sorry. then they fix it, and by then, time to go out again.



O MY GOD IAN! If that post didn't jynx us i don't know what did!

Ian W.
30-04-2002, 19:11
what are you talking about steve?

Noah
05-05-2002, 00:08
Well, I know its late, but here I am, and I need help. Pretty much, I'm the only programmer for team 861 USC & Venice high School. I am more than a little confoosed here...
Firstly, I want to be able to access the legendary CODEX that the veteran programmers talk about... does it have a new home yet? If so, what is it? If it doesn't I will personally host it because I NEED it.
Also, the "PBasic Field Manual"- is it available on the internet? My team doesn't even have the big red manual, and I lack the resources to print the 200 page thing (not enough toner :( ). An abridged version that explained things pertinant to the competition would be like a Godsend.
Between school, building the robot (Yes, yes... a programmer doing manual labor, unthinkable) and still trying to keep an intact social life I didn't really have time to figure out the Default program, simple as it is. can anyone explain the MASTER uP init routine in the default program to me? Or even just the SERIN Command, that one has been bugging me too...
Thanks all!

Nate Smith
05-05-2002, 11:34
Visit http://www.first-codex.net

Some parts of the site are still under construction, but there's a bit of information there already.

Gui Cavalcanti
05-05-2002, 12:45
Noah, I feel your pain. The CODEX is back up at www.first-codex.net, like Nate said.

I think the Master uP initialization routine is one of those things FIRST marks as "Don't touch! Don't move!", so I've never dabbled in that.

As for the SERIN/SEROUT stuff, I think there's already an article up on the CODEX dealing with everything you need to know about that (Maybe the IO shuffle? I'll check for sure later). It should help you out. If not, email me, and I'll post another article dealing with it.

The PBasic Field Manual has fallen by the wayside a bit, because I'm entirely too busy to write in it right now. It will be posted on the CODEX within the next month or two, hopefully, and I'll send you a copy via email if you wish.