Friday, February 20, 2009

status of cRIO

the new one is on its way and i've boxed up the old one, to be sent back first thing monday morning.

i am not shipping back the breakouts/bumpers/whateverthey'recalled. i tried to call NI today to ask them about what exactly gets shipped with the new one, but couldn't get through to anyone particularly helpful. one woman told me to only ship the base, so that's what i'm doing. i figure worst case scenario, we end up with two sets of breakouts.

Wednesday, February 18, 2009

both chairman's and woodie flowers essays have been submitted!
judging for them at davis regional.

and she's OFF!

at 3:00 yesterday afternoon, after some crating difficulties, sadie was packed into her bright green box and loaded up into the fedex box.

maybe it's just because this is my third time through shipping, but it felt so much less stressful this year. even with, yknow, the broken cRIO and everything. we made it, guys! and sadie is beautiful. and when she works, she works gorgeously.

we have three weeks before SVR. and plenty to do before then...
-ida and i will be submitting chairmans & woodie flowers tomorrow
-ida, erin, and i are meeting the packard foundation tomorrow
-code documentation! i'm not 100% sure how to do this in labview. i guess just like maps and zoomed-in boxes?
-return the cRIO
-pray to god they ship the new one soon. and that the cRIO was the only issue.
-box of spiffy stuff to show judges, like we did last year
-check that the tube/globe motor is all ready to go
-finish up the bill of materials
-autonomous code?
-pack for svr [can we try to pack stuff in 50lb crates already, and then just follow the list for davis/atlanta?]
-bits of pvc wire covers
-letter of rec from seton
-kpcb annual report

can anyone think of anything else we need to do?

this is unrelated, but annie has volunteered to lead the new crate effort for next year. i say we start on that as soon as competitions end.

HUGE thank you to our support team: beth o'malley and marsha abbott, doug for his crazy electrical knowledge and retail therapy tendencies, karlin for just always being there for us, jimmy for his machinist prowess and ability to make a motor mount in one hour flat, brian for helping out with the servo, mr. rockman for being there on ship and making us that delicious chocolate pie, everyone who we begged to open doors for us and did... we've got a long list. THANK YOU. we appreciate it. [and i'm really very sorry if i've forgotten someone at the moment.]

we made it through season, guys! and so much more smoothly. let me/erin know what you're interested in doing on the list of stuff above. i'm sure there's more that i've forgotten, too.

but for now, go sleep.

Tuesday, February 17, 2009

just a few hours to go

with the truck arriving in possibly four hours, we have hit a standstill.
late last night, in the midst of testing code [which did work! yayyy!] we got the error message no comm. that's happened before, and usually you just wait it out and then it's fine. but this time, it was not fine. upon further inspection, we discovered that the cRIO had no lit LEDs. checking voltage across the board, it was 24V at the input [correct] and 24V on the other end. but the thing just won't work. there's nothing we can do about - after scouring the forums, chief delphi, etc, we determined the only thing we can do is call NI, talk with them, and get a replacement. similar problems have occurs, resulting from a blown fuse within the cRIO (!)
the good news is that we do not have to ship the robot with the control system - so we'll call NI in a couple hours, and unless it's a quick fix, take off the control system and ship dear sadie off to svr.
i'm really relieved that we do in fact know the code works. there's nothing we can control at this point.

other "updates" that feel like ages ago
servo failed miserably at gating the orbit balls - after various reinforcements, we decided to use a globe motor. god bless jimmy and his motor-mount-making-magic. the plate extending from the motor still needs to be larger, but the globe is wayyyy better than the servo. we were able to suck spin and dump balls successfully last night. before the damn thing decided to break.

i have faith that somehow, things will work out. it's not likely that we'll get a functioning cRIO within the next five hours, but at least our first competition is a half hour away this year. we'll make it work.

thank you so much to everyone - we've had amazing support this year. when we are getting waffles made for us in the middle of the night, and mentors rush back to castilleja for programming "crises" that turn out to be us being done? we know we're well taken care of.

Monday, February 16, 2009


now we just have to test code... HA!

after ship, pre svr

we made a list of stuff to do after tomorrow but before competition
posting it here before i lose the paper it's written on

-SIGNAGE. there's plenty of space to make legit gorgeous signs this year.
-pvc wire covers - we just need some 4" bits of pvc cut
-extra servo mount
-coding documentation
-kpcb award essay thing
-letter of rec from seton
-POSTERS (both carboard/science fair one as well as fabulous emily-esque poster)

Sunday, February 15, 2009

status of sadie

that's right, she's named. sadie! and she's beauuutiful.

-both the top brush and the corkscrew work! it's amazingly exciting. and so so pretty!
-as of 10:30 tonight, the tube was not finished - anndini were doing some serious math to figure out angles/heights/etc.
-the tube has, however, been painted gatorbotics green
-electronics board. HA. well, we found out the black board was not polycarb. so jimmy gave us some new material to work with. which, it turns out, was also acrylic. joy. so we've gone through three electronics boards today. but jimmy mounted the final version
-battery mount and crio mount and kill switch all done
-woodie flowers and chairmans are on their way to being done.
-we started writing our names on the corkscrew and front brush - if you haven't get, be sure to.
-weight is not an issue. it's so relaxing to be able to say that.

see you tomorrow. we're so close, i can feel it.
we appreciate everyone's support so much - i've had multiple conversations just today about how much more smoothly this year's gone.

Saturday, February 14, 2009


she's alive

let's name her


the tower's delilah.
and i am delighted that she works!

two and half to go!

sunday, monday, and then we SHIP! almost there!

i don't have a complete idea of all that happened today, since programming/electronics remained at school while build was at ideo - BUILDING! i do know that the center brush for the corkscrew is done and works! so that's really exciting.

we wired up the actual electronics board. it's beautiful. even erin approves
drew out some shapes on lexan for a electronics board cage
reimaged the drivers station, after some difficulty.
bill of materials

things to do, off the top of my head.
-finish up the Essays
-bumper holes
-amber blinky light - where's it going?
-mounting of eboard + kill switch
-battery mount [i know we can't until the towers complete]
-test code, obv
-do we need to move the bars in the crate?
-let ms lonergan know when we want to be in the gym.

meeting at 10 tomorrow.

thank you to malaika's mom for chaperoning all day, and beth o'malley for delicious strawberries and cream, and jimmy for his machining prowess, doug for general Knowledge, brian for his servo-ing, and karlin for her ability to Make Stuff Work.
we're almost there! and the corkscrew WORKS! see you tomorrow at 10.

Thursday, February 12, 2009

functional driving!

no pun intended...

karlin sent us a test drive VI which did basically what we tried yesterday to put inside the formula node. but in this code, the formula node only set the state, and then there was a case structure inside of which we actually told the motors what function to do in any given state.
for whatever reason, this totally works. we're not sure why (that shouldn't have solved our time delay issues) but we're just not going to question it. yay for working code.
but there are severe button coding issues which we'll address tomorrow.
autonomous technically works. one of the things that labview makes extraordinarily easy.

sallie and divya painted all the bumpers

anne and nandini and annie and anna and erin were at ideo - the tower is welded and back at castilleja. tomorrow they plan on finishing the tower, including brackets [to be riveted on] as well as all the funny pipe.

Wednesday, February 11, 2009

wednesday [FIVE DAYS LEFT.]

i fear these posts will become progressively more incoherent as the number of days grows less.

-we tried that piecewise thing, first using a whole mess of case structures and such. it semi-sort-of-maybe worked, but in order to add PID loops, we had to add 4 or 5 of them. and something went badly wrong there - the robot just would not stop on time. it seemed like we'd added a lead time rather than a lag time (or maybe i've got it backwards). either way it DEFINITELY didn't work - after you pulled the joystick back to center (0,0) it would take many seconds for the motors to actually stop.
-so we attempted to use a formula node rather than uglygrossmess of case statements, as karlin suggested. the formula node essentially allows you to type code in c (!) into labview. as most of you can guess, this feature makes me really really happy. except then, the robot COMPLETELY did not work. at all. somehow, the motors received their values at different times. so if you moved the joystick really really quickly, then one wheel would start spinning, and almost as soon as it stopped, the other motor would start. they just weren't aligned, time-wise. although the control on the front panel thought they were getting the motor speeds at the same time. we tried to add a bias, which kind-of worked but not in a good enough way. according to karlin, there are Issues with the formula node.
-so tomorrow we attempt to write subvis which we can just place into robotmain. essentially, the subvi will take joysticky and joysticks and the output will get fed into the motor speed. that subvi will likely be the mess of case statements. although karlin says she thinks that there are smart ways to do it.

jimmy should be done welding tonight.

5 days. keep your chin up, we're almost there.

Tuesday, February 10, 2009

tired tuesday

apologizes if this is completely incoherent - as many can attest, i am not at my most alert tonight.

-i saw the chassis drive! it's actually really demented - the turning has funny spots and when we turn backwards (ie if the y coordinates are negative in normal coordinate systems) it doesn't actually go according to plan/how we would like.
-while it would be possible to drive the robot with the ArcadeDrive function FIRST provides, it wouldn't be the best idea because of issues listed above. we want driving to be as intuitive as possible. so...
-we're writing our own code, in a sort of "piecewise function" way. we divided the joystick axes into different regions and are writing different equations for each region. we only actually coded up the "band of straightness" and the... band of turning? anyway, i believe it spins well when the joystick is pulled either direction on the x-axis and the straight/fwd bwd part was fine.
-we know what we want to do for the rest of the regions, too. there wasn't time tonight to actually code it up, but our fingers are crossed that it will work tomorrow.
-we realized that we don't have a model of any drive code that's 100% functional - because benji never needed to go backwards, and when he turned, he generally strafed. and scotty? uhhh we didn't document code that year. nevertheless, with karlin and doug on our side, i'm confident we'll figure it out :)
-re: jrock's comment below, no talismans/rabbit feet/goat entrails were necessary for successful downloading tonight. amen.

[obv this is not the complete version...]
-bumpers! the long ones were made and the shorter ones redone. allie served as inspector, and except for one that should not have passed inspection, they're all good. i think erin's going to get us the paint soon.
-erin and i did an alan steel run after school. the man definitely recognizes erin by this point. anyway, the tower tubing is here and will be delivered to jimmy tomorrow.
-brushes were attached to the tubing for the vertical corkscrew thing. apparently it spins really really fast.

-chassis weighs 62 lbs with the battery and assorted wood/clamps. meaning we are at 46 lbs with motors and gearboxes on. obviously we'll be keeping an eye on weight, but i think it's safe to say that we're in pretty good shape, weight-wise. we have 70 pounds left. in order to simulate the actual robot, we strapped 2 20-lb weights onto the chassis.
-woodie flowers and chairmans are on their way to being written.
-we plan to put sponsor signage on the output tube, and 1700 signs on bumpers as in the past.
-NAME IDEAS?! the robot's alive, let's name her. definitely a her this year. name suggestions thus far: remmy, gracie, lily... i personally love both gracie and remmy. but keep the suggestions coming!

thank you to the amos family and mukherjee for food - double booked! as well as karlin and doug for infinite patience wisdom and good humor.

Monday, February 09, 2009

We're driving!

So, we're driving. The chassis is all done, and all we need to finish is the tower! Sounds easy... wrong. The drive code is mostly functional, however, the PID loop delay is making our turning while driving forward/backward a little difficult. The delay causes the wheels to respond slower, so this means that when we're turning (which is usually for a short amount of time) the wheels that are going more slowly don't even start turning before we're done with the turn. Once we brought the robot back from IDEO and had more space to test we could get the slower wheels to turn a little because there was more space to practice in.

Speaking if IDEO, Jimmy had been working away on the tower. I picked up some more materials from alan steel this afternoon, so we have almost everything we need for the tower construction. I will be picking up some more stuff tomorrow. Jimmy made a nifty thing around which to construct the tower, which will theoretically prevent it from warping when he welds it.

Build worked on constructing the center brush, but without a drill press, it was hard to center the holes, so they are going to try again tomorrow in the wood shop. I am going to buy one more broom for them to attach as well.

We have eight more days until ship (feb 17th) and we will be working furiously until then!

Sunday, February 08, 2009



Finally some successful programming :) After about three days of messing with it and trying to figure out the system, some success:
currently, all the drive code, button code for the brushes, servo code, and acceleration control are downloaded ON TO THE ROBOT! YES! there is also autonomous code downloaded, which successfully runs in autonomous mode. Although i havent yet figured out a fail safe method for downloading the code, i have a nice long list of suggestions to try when it wont download. here they are:
1. check to make sure code in another LabView project is not set to run at startup. To do this, go to Build specifications in the project explorer window, and right click on each real time application. Select “unset as startup”
2. disconnect from the cRIO, then try again. It is possible code is still running on the cRIO, but not on the front panel of LabView. To do this, go to the project explorer window. Right click on RT CompactRIO target, and select “disconnect”
3. re-build the real time application, then reset it as startup. To do this, right click on the real time application, click unset as start up, then click build, then when that is done, click run as start up (NOT set as startup).
4. WAIT FOR AT LEAST ONE MINUTE when you get the “cannot connect to the cRIO” error message. If it still doesn’t work, then click ok, and try again.
5. if the code does not work once you download it, make sure that the PWMs in the “open motor” VI front panels are set to something other than “invalid”; as long as the pwm constant on the block diagram is set to the correct PWM, I don’t think that it matters exactly which one its set to.
6. If you make changes, and want to run the code, make sure nothing is set to run at startup. If you make changes and want to download it to the cRIO, YOU HAVE TO REBUILD IT, then follow the appropriate steps for downloading.
7. if none of this works, im really sorry. Turn off the robot, close LabView, unplug the wireless router and drivers station, and panic. Just kidding. Unplug it all, restart it all, and calmly try again.

if these steps really actually dont work, then that is not good... but so far, this has worked to download all of the code today :)

-bumpers are getting made! yay. w chassis design, we can now choose where to put the bolts
-more things (tubing, clamps etc) have been dropped off at IDEO. After some chatting with Jimmy, we know more about the chassis. The wheels are at the front, close to the outside of the robot. We are still determining where the gear boxes will go (likely way towards the front), and the exact position of the tower. Jimmy has made cool chain tensioning mechanisms, which are kinda tought to explain bc i havent seen them, but basically they make the chain cover more of the sprocket.
-allie has been working on drawing up the chassis in solidworks, and working with nandini to create drawings of the chassis

however, we will be meeting strict goals each night, which will be completed before leaving.

NINE DAYS until ship.

Saturday, February 07, 2009

saturday of [in]sanity

-shifrah divya sallie and allie made bumpers. and did some interpretive dance.
-caroline spent a lot of time trying to things to download correctly - we finally figured out the correct wiring which is now labeled nicely. please don't change the wiring without checking - things work for now at least. :) we also learned that we have to "disconnect from the crio" rather than simply stopping the code like we've been doing. we then have to remember to connect the next time. also, do not try to run anything while there's code set as the startup code. we're not sure if this is the root of the problem, but it has been not working when we haven't done this. i'm kind of worried about how to truly program if we keep having downloading problems on a daily basis. hopefully, we've finally figured things out once and for all, but we've got to figure out a foolproof method.
-anne nan erin talked tower? i don't really have details, sorry.
-ida and i spent a lot of time writing chairmans/exec summary/woodie flowers/editing website. we'll continue doing that.

tomorrow: 11-5.


Thursday, February 05, 2009

10 DAYS.

ten days to go! with no moving chassis and no tower, i'm beginning to descend into the panic stage. but i know, somehow, we'll make it.

tonight's progress:
-coding took a look over the accelerometer/encoder stuff from yesterday. there's some scary math involving integrals and derivitaves that i totally do not understand, but i do know that essentially we're just making the encoder and the accelerometer speak the same language - that's the "value" i talk about below. what we're trying to do is compare the encoder values [speed of wheels] and accelerometer value [speed of robot.] if we are slipping, then the encoder value will be higher than the accelerometer value. if the difference between the two is above some constant, then we want to slow the motor down.
-so caroline wrote the code to do that BUT in the process of testing it we realized the accelerometer was not working...
-which led us to the discovery, after some serious frustration, that the analog breakout circuit board [what you plug analog sensors into on the crio] is BROKEN. there's a diode that is essentially falling off. and the entire thing was incredibly hot after only having power attached for all of ten seconds. eek. we called doug, our electronics expert, who came down immediately and has taken the board home to see if it can be salvaged. he worked some serious magic on the gts last year, so if anyone can fix it, it's doug.
-if not, we've asked ms mourad to order another analog breakout ASAP.
-nandini and anna put the weatherproof tape in the crate. anna's our resident tarping expert by now :)
-nandini made a detailed drawing of the tower/corkscrew/etc
-we started to make a to-scale prototype of the corkscrew with supports out of 80-20. karlin [and i] worries that the tall part of the supports will be too shaky to actually be supportive. we didn't manage to make the prototype the correct size, and were balancing the hose awkwardly and it was late, so we decided to pick up work tomorrow, but we definitely want to finish the prototype to ensure that the concept will actually work. the idea is to fasten the hose to the supports [probably 1-by-1 tubing] with L-brackets.
-sallie divya and tobi started making a bom for bumpers.
-tanya came by today, so allie and annie were solidworksing. perhaps they blogged about it?

infinite thanks to both karlin and doug for their energy and patience.

another round of chassis drawings!

Wednesday, February 04, 2009

pr blog is BACK

the pr blog is back in business. ida's promised to update it regularly.
check it out

Tuesday, February 03, 2009

A Successful Day

So, today was a productive day for the build team. Right after school, Anne, Nandini and I went over to IDEO to talk to Jimmy about brush options and construction of the chassis. Yesterday, Doug purchased some large brooms of varying bristle stiffnesses for us to prototype with. We showed these to Jimmy and then returned to school and prototyped with them. It looks like we will be using the softer-bristled red broom. We split the broom in half and put the pieces back-to-back with a pole in the middle, which was then attached to the drill. This was surprusingly effective at moving the ball up the full-scale prototype ramp we created. From this prototype, we learned that we will only need one front brush to bring the balls in. We also fine-tuned the dimensions for the ramp so that when the chassis is done we can start working right away on the construction of the ramp/brush device. Tomorrow I am planning on heading over to Home Depot to buy some more brooms.

As for programming, Karlin explained traction control and how we can implement it on our robot using encoders and an accelerometer.

A lot of people have been wondering about going over to IDEO. This year, since Emily no longer works there, we will be going over a lot less. We will be doing most of our work at Castilleja. However, we will need to test code and install the electronics board at IDEO, so a few people may go over then. We will work out a system so that everyone who wants to see the shop can go over at some point during the season.

That's all for now. See you tomorrow at 5:15.

Monday, February 02, 2009


check out the spiffy blog that annie and allie created!

Sunday, February 01, 2009

A Successful Programming Day


Today we solved some of our programming problems from yesterday... so yay!
first, yesterday the code would not download to the cRIO. We could run it from the laptop, but couldnt turn on the robot and have it work again. We followed all the steps again, and Karlin helped us check they were correct against another copy of FIRST documentation. After patiently waiting through the computer finding the cRIO, we managed to download the code to the robot.
second... Erin, Caroline and Karlin added an acceleration control to the drive code. Remember when we would put the joystick all the way forward and the robot would spin in place? well, now it ramps up to full speed w a small time delay to prevent it from spinning in place. We added a filter to the joystick inputs (a handy feature of labview hahaha), and put a time delay on it.
third...Divya and Tobi coded up the front brushes with buttons for two speeds, and the roller for the tube (anne and nan have decided to add a roller since we cant get as close to the trailers anymore)
fourth: Divya and I made a table of the PWMs and buttons, to keep things straight and easy to reference
fifth: Divya, Tobi, and Sallie straightened up the wires on the electronics board (under erins orgainzing guidance), since they were super messy and likely dangerous before.

Solidworks: Annie and Allie modeled the corkscrew for raising the balls, and a brush thing to go with them

anne and nan have been working on prototyping the corkscrew. They also went to ACE with erin and brian to search for materials for the corkscrew and look at brushes. Also, they have been trying to figure out what to do with our new chassis design so we dont have to alter our game strategy and can still dump balls. I dont know exactly what else they've been up to, so maybe more information to come from one of them.

This week:
meeting 5-8, however, we will be going past eight when there are things that have to be done and finished since we are entering the second to last week.

To Do:
-find a place for the encoders in the gear boxes
-write encoder code -- traction control
-autonomous (we dont want ppl to find us and dump balls in during the autonomous period, therefore, the "avoid" strategy)

-choose materials (corkscrew, brushes, dumping tube)
-construction of corkscrew (discuss w jimmy)
-choose motors
-lip on dumping tube

see you all tomorrow!