I know that every build season all the programming teams have the entire 6 weeks to program but I was wondering how much time your team has with the finished Robot to do the stuff you can only do on the finished robot.
We’ve been using a similar drive system for a couple years so the programming aspect hasn’t really changed much. The main bulk of the time is spent working with autonomous but in terms of time needed to just drive around, it usually takes 1-2 days if the robot is completely built. Auto mode can be a six week headache if things don’t go the right way.
This year I had aprox. 2 hrs. to program before we shipped the robot. At least this year I didn’t have a camera or autonomous.
Last year I had an entire 8hrs. Saturday meeting to debug the camera tracking system, and autonomous. :ahh:
This year we planed to have a week for programing and drive practice. Unfortunately we didn’t get all of our parts machined until 2 or 3 days before ship, and then spent most of the remaining time putting them together.
We planned a week but due to mechanical running over and the need to redisign the arm over and over and the frame once(thankfully cause we kinda went squish with version 1) I ended up not getting time at all with a finished bot. I did get a few hours with various stages of a working bot and had a driving base done in ~30 minutes.
This year our team had planned to have about 2 weeks afterwords, but we ended up with only 5 days after it was built, 3 days for marathon programming and another 2 for driving.
Our team planned 2-3 weeks for progging/driving. Sadly, I got about 17 hours (9PM night before ship - 4PM day of ship). I of course had been coding before that, but that was the time I had with the robot . Oh well. There is always next year.
Jacob
Most of the programming for the robot is pretty simple. The code was ready for basic commands of the robot before we had more than a chassis. The only part that takes a lot of time is testing and retesting the autonomous. I had to write the code at home without a robot to test on the Sunday before ship without the robot and to all the testing and configuring the day before ship (till 1:30 AM). Luckily, I made some good guessing when writing the code and was close to a working autonomous. Unfortunately, the camera had to be a problem and the regionals and the championship. It worked in the shop, but only came close once on Curie.
I had practice day at the Regionals and the Championships, we finished the robot the Sunday before ship and thankfully I got enough time to make sure the required manual components worked, but alot of the stuff was untested until Regionals.
This year we planned to finish the robot 2 weeks before ship date. One week for programming and one for coding. This didn’t really work too well and we didn’t have very much time with our finished robot to program.
We didn’t have enough time to get any type of autonomous code written (well, there was some code written, but it didn’t work well enough to bother using and we didn’t have time with the robot to debug it). Our arm (forklift style) would move faster when the joystick was closer to center than when it was pulled all the way back, but we didn’t have time to fix that either.
Next year I think we’ll definitely try to get a lot more time with the robot.
We shoot for six days before ship date. (We get the last six days before ship off because of 3 day weekend, and our school has 3 days where students do experiential learning) Generally we get to program the robot for most of the six days, with a many breaks in there for when mechanical things need to be tweaked. This year we ended up only using four days and spending two of the days with driver practice.
For the first time, our programming team had most of the build season to program certain features on the robot this year. Since we had a practice robot chassis and arm running within the first week and a half, they used the time to work on a working autonomous. The final robot was finished with a couple days left, so they had a full 2-3 days to program the rest of the robot.
Our hardware team committed to finishing the robot in week five and they did it. To do that we had drop some of our hardware goals. They saw in 2006 how important autonomous was to our strategy and wanted to give us time.
We had an 87% auto mode success rate coming into the championships because we took a week working on software. But also we spent 5 weeks before that building vex bots testing our ideas before putting it on the big bot.
Here’s how my programming time went…
me: so can i have the robot?
guy: yep, that’s it, all done, go ahead.
<<program the elevator servo>>
robot: BANG! SQUEEEEEK! ANGRY BUZZ!
me: <<shuts off robot>>
guy: well… you can have it again in an hour or so.
and thats how it went for about a day. Developed the drive code offline and ended up tuning the elevator servo over the course of a few matches, proud to say no code errors though!
I developed as much autonomous as i could off the robot but never got a chance to tune the servos very well on the robot… hopefully we’ll have pipes again (uprights in the rack) in next year’s game so i can use our sonar based radar system. :o
-q
I did most of my work gradually. There was no 5 hour period where I just started programming with a finished robot. I could do quite a bit of my programming without the robot actually there, and I just used the robot to test stuff out and to tune my closed feedback loop stuff. As each component of the robot was built, I’d write some code and test it out. That way there was no massive amount of work to be done at the end.
Once we got our robot all completed I got about 5 minutes with it. Lets just say that I was not able to finish.
By day 5, we had a testbed frame made using the kitbot frame, but we didn’t have mecanum wheels until maybe week 4. By week 2, we had gotten the other 2 motors and we wrote our mecanum code. We weren’t driving with mecanum on ANY frame until maybe halfway through week 5 though. As for autonomous… well… that’s what Wednesday night in the hotel is for.
I think the universal answer to “how much time do you have to program?” is “not enough!”
We had the practice robot complete about 10 days before ship and about 4 hours of time on the real robot. Because of the practice robot, we also had all the fix-it-windows available for programming.
One thing you can do is to try to reuse as much code as possible. Over the years, teams tend to develop mechanisms that they reuse to some extent. Do the same with your code.
Like for autonomous. I pulled architecture I wrote in pre-season 2006 but didn’t use then. After I got that integrated and working, I was able to write new dead-recon based autonomous modes rapidly.
How much time did I have? Not much on a real robot. But because of the simplicity and my ability to code and debug off a robot, when I got it loaded, it worked like a charm (at least as much as can be expected).
Too simple for me, though. (Give me a gyro! Give me encoders! Give me something nicer than 3 pots and a limit switch!)
I didn’t think you were supposed to reuse code, though I guess you could have someone retype it word for word. shrug