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.
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…
*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…
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
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
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.
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.
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.
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…
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
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.
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’.
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)
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.
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.
*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. 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. 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.
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.