Monday, October 28, 2013

A robotastic skating weekend

Hey everyone, so how does robotics and figure skating go together? Yes, I could have built a figure skating robot. That would be cool, but no, that's not what I did this weekend. It's actually 2 different things; built a robot for a contest and watched a friend skate in a figure skating contest. I'll go in chronological order.

So here's my story with the robot, warning, engineering jargon ahead. It's the only way to tell the story properly. About 2 weeks ago, I was drafted to represent my college in the 4th annual Stryker Engineering Challenge over at Stryker Medical. In this challenge, a team of 4 engineering students competes against 5 other colleges by building a robot that can complete 3 challenges, the teams learn what their challenge is the day of the competition, and they have 17 hours to build a robot that will do these challenges, all for a $1000 scholarship and an interview with Stryker. The challenges change from year to year. This year, our challenges were "locate a magnet placed inside this rig and drill a hole in a piece of wood directly beneath it," "with a similar size piece of wood, cut a section that is exactly 2.54 CM, aka 1 inch," and "using LEDs running on different frequencies, be able to raise and lower a power Stryker emergency stretcher to make a bridge to cross between 2 tables." The first 2 events determined the order at which each team would compete in the final bridge event and at what handicap. Speed and accuracy were the 2 deciding factors as to the order and handicap. Accuracy was weighted higher than speed.

Before we started, we were given the run down as to what Stryker does, the history of Stryker, and some of the tools and equipment they've made in the past. Sorry, I can't really give you more details beyond that. Confidentiality and stuff. I don't want to get sued for leaking trade secrets. It was really cool. The events I mentioned earlier, well they based them off of actual medical situations and when you would use the tools we had to use to make our cuts. The drilling a hole was about cleft pallets and how surgeons use the drill to make precise holes in that surgery. The cut was about removing an under bite and how surgeons use the saw we used to cut bone. The LED signalling of the stretchers, well that I think was more showing off their tech. But hey, it was cool. During the build, we were given 2 "office hour appointments with our professor." With that, we could ask a professional Stryker engineer any question and he would answer it like a college professor, by not directly giving you the information, but cryptically answering it making you think. If there was something flat out "hey, this isn't working and I've tried everything, even your cryptic answers," then he would kind of answer directly, but other than that, cryptic or "google it." We also had a resident Stryker staff member to answer questions about the rules, what is and isn't allowed, and basically be our connection to the officials, but he couldn't help us beyond that. So let's begin the night.

So we are able to start the build at 8:30. We get our stuff and go to our conference room we will be working in. Since my specialty is product design and concept generation with a minor in build, I took the lead as to how we were going to design the robot. I had us break down each event and what we would need to be doing, paying extra attention to not letting people give "hows" at that moment in time and only letting us say the "whats." Once the whats were cemented, we started to focus on the hows. As a group, we only really stayed together for the general frame of the robot. And that's when we came up with our genius idea of "3 wheel frame with 2 drive wheels and a caster wheel." This would give us a zero degree turning radius, and that proved very effective in the 3rd challenge. The first thing we built was the caster wheel. One other member and I built it. After that we assembled a rough frame to make sure that it worked, and after adding a direction bar, it did. We also did group brain storming as to how we would make the robot do the different tasks. We came up with the general ideas as to what we would do, and we went from there. This is when we basically broke up into teams.

Here's how the teams went down, one member worked on programing the controller and motors, one  member worked on the electrical circuitry for the LED lights and the magnet sensor, and one other member and I worked on the physical building of the robot. We had the engineering drawings of the rig that holds the wood and from their we based our building. We went with a design that, when the robot was in place in front of the rig, it would move the tool at hand left and right, and then it would move the tool in further to do the actual drilling or cutting, and do it much more precisely than if we just ran the robot into it. At one point we were thinking about adding an up and down 3rd axis, but then decided that it's just overcomplicating things when we all we need is for things to stay at one height. So now our task was "how will we make a device that moves a tool along the x-axis and the move along the y-axis?" Us build guys went with "first it moves along the x-axis (left and right), then it moves along the y-axis (in and out)." We decided to keep the frame and we made before, it was just what we needed. We had to choose between a chain and a gear system. To keep things doable, we went with a gear system. Next we had to choose between making the rigged track stationary or making the gears stationary. We also had to think of how we were going to do this double carriage device. We spent about 3 hours trying to figure that out. We even brought in the programing guy for consulting.

Before I tell you about how we did the different axis motions, I need to tell you about our first major mile stone. The programing guy got the motors running with the speed and control we needed to move a robot. We hooked up the control unit and motors to the robot, set-up the wireless communication and controller, and got our first robot movement. We were able to drive the robot. We had a wireless robot. That was so cool. Now back to our regularly scheduled blog.

We eventually decided on doing the x-axis motion first. The other build guy came up with a great idea for that and we decided we'd make that and let the chips fall where they may. We went with a stationary drive gear system, where the gears stay mounted in one place, and the carriage is on a base with rigged pieces that match the gears. We had 2 drive gears, both attached to the same drive shaft and and lining up so they provide front and back points of stability. We also had 2 gears on both sides that freely spun to add lateral stability. It worked out really well. We had a hiccup getting the 2 drive gears to align properly, but I eventually figured it out and we got a successful x-axis movement. We noticed that there wasn't really anything keeping the carriage from falling off, so we added some guard bars. Worked great.

Now we needed to figure out how to hold the tools and get them to move forward. I grab 2 L-plates and put them together in a u shape and said "how about this to hold the tool?" It's about time for our first office hours appointment. The programing guy was having some trouble getting the software to run properly, and that was a technical issue and the professor was able to answer his question directly. The electrician had some trouble, but his answer was "google it, it's all online." Ours, we had him look at our design, and gave us some cryptic suggestions, and told us that "cutting off zip ties counts as adding/removing parts, and that's against the rules." The cryptic was "isn't there something in your kits that would hold it better than a zip tie?" And with that, we were done with the office hours. We went back, went with slightly smaller L-bars, and then used hose clamps to hold the tools in place. That worked out well. Really well. With that out of the way, now it was "how will we get it to move along the y-axis?"

Somehow, the motor to drive the y-axis movement had to move with the x-axis carriage, and that proved to be a big challenge. We didn't have much room on the x-carriage, nor really the parts, for a similar set-up with the y-carriage. So how will we do this. After some brain storming, lots of trial and error, we came up with using a worm gear and rigged piece to control the movement and figured out a way to mount that motor to the x-carriage. Once that was done, it was all fine tuning from there.

We had some trouble keeping the y-carriage steady, and there were other things, but this was our primary focus at the moment. At this point, it was time for our second office hours. We took the robot to the professor and basically said, "what are your thoughts? Let us know what you think." We showed him how the robot drove. We showed him the x and y movement. He pointed out how we had a 3-bar stability system set-up with the x-carriage, and he suggested maybe something similar to that to solve the y-carriage problem. He was really impressed though. We basically spent the entire office hour testing on the test course he had set-up.

After the office hour, we added a stability bar to the y-carriage. That really helped in keeping it steady. Now we just need to get the rest of the robot set-up. We came up with a claw design that would grab on to the sides of the rig. Now, even if we lost friction with our massive wheels, we would still be able to keep driving the tools forward. That came in handy. Now we just needed a mount for the magnet sensor. The other build guy was burned out at this point. I built the sensor mount rather quickly and we were able to get it on the robot easily. Now all that's left is getting the circuitry and controls on it.

It's now 11 AM, we've been working on this for 14.5 hours strait. Our programer had the programing done and our electrician had the electrical work done. Now it was just getting it together. The team got it all together and did some tests. At this point I've been up for 24 strait hours, and I don't do well on no sleep. I did pretty well up until then because I was running on caffeine and a raw drive to keep working; mostly the raw drive. I started crashing, but I knew I couldn't even take a small nap because then I wouldn't be able to wake up. I didn't have much to do because all my stuff was pretty much done. We had some troubles with the LEDs. That sucked because we weren't able to get the test sensor to read an "up" signal. We were able to get a "down" signal, but no up. That really sucked because we're coming in to zero hour, but we were able to successfully do challenge 1 and just hoped for the best with challenge 2. We worked on getting the lights set up on the robot, and after some hot gluing, we got the lights set-up on the robot so that if we get the lights working, the sensors will be able to read it.

Now it's zero hour, the robot is as ready as it'll ever be, and we'll just have to go with it. We turned in our robot, cleaned up the work space, and got ready for our tour of the facility. We got to see the cafeteria, the "what is Stryker" room, and some conference rooms before the challenge began, but not the actual build line. After an all night build session, we got a tour of the build line. Again, no details due to confidential information. Sorry guys.

Now is the time for the main event, the 3 challenges. We get our robot and set it up at the designated site. Here's the rules, we can't add or remove any parts during the competition. This does not include the $1,000 medical drill and the $1,000 medical saw. I don't think they'd very much appreciate us dropping $2000 worth of equipment 3 feet off the floor and having a 20 pound robot fall directly on it. Those we can remove and exchange between challenges. We can however, make adjustments to the robot between challenges, or if need be, during the challenge for  2 minute penalty.

First up, the drill a hole challenge. As it turns out, some wiring got loose in transit and our set-up that tells us if we're over the magnet (an LED lighting up when over it) failed to light up. Even after we scanned the entire section twice, we decided to cut our losses and just make our hole right dead center. Now we're have essentially a 50-50 chance of hitting it. I don't know the exact probability, but whatever. We had a little trouble of the magnet sensor getting in the way of the drill. What we decided to do was just ram it as fast as we can, and keep going at it until we were through. We also had some trouble with the drill vibrating. We made a rather big hole, but we were able to make a hole. We were the first ones done, and we were the most accurate, by luck. We got first place in that event.

The second challenge, cut a chunk of wood exactly 1 inch long. Before we started, we had time to make adjustments. We moved the magnet sensor to a different part of the robot so it wouldn't be in the way. We also put the saw on. Now it's time to make the cut. We roll up to the wood rig, and start making the cut. The saw wiggled itself low and wasn't making cuts through. We then took a time penalty and made some adjustments. This time, we got it up, but it went a little to high. We took another time penalty, made a second adjustment, and we were able to make clean cuts through the one side. Now we just needed to get the second side cut through. I was watching on the back side to let them know if we made it through, and that's something I just did halfway through the event. I did it unconsciously. I've been up for 28 strait hours at this point. I had no conscious thoughts to be found. I'm running on basic engineer and team player instinct. We had to make 2 more adjustments for a total of 8 minutes of penalties, but they were worth it. We placed second in that event, being almost spot on and finishing 2nd, penalties included. And we didn't practice this event at all. Not to shabby for not practicing.

(Insert explanation of the points here.) We were only 8 points behind the team in first. We were in second place. We only had an 8 second handicap when going into the final round.

Now is time for the final, winner takes all event. In this timed event, the team that crossed the finish line first wins the scholarship and interview. We went in knowing we were having some troubles with our signals. Well, as it turns out, the signal we needed was the signal we couldn't get right. We couldn't get the up signal. We rolled right up to the sensor, shined the light right where we needed it, but no up. After all the other teams crossed the finish line, we tried to suicide, but the caster wheel caught us. We just put the robot on the other side of the gap. We lost, we admitted defeat. We just wanted to cross the finish line. Technically we were supposed to start back at the starting point if we go off the table, but no one cared at then, the contest was over, they let us have our finish. We fought valiantly though.

So after the 3 events, we got interviewed for a local news paper. The reporter might have just went to get everyone, but here's what made us feel much better, everyone was interested in our design. Everyone else used a 4 wheel design. We're the only guys that did a 3 wheel design. We were answering so many questions as to what we did. That made us feel good. We may not have won, but no one was interested in the wining design. They wanted to see our design. I guess we could say we were the "fan favorite."
Here are some pictures I got.

So I get back to mane campus Friday evening. I eat dinner, shower, and after being up for 32 strait hours, I went to sleep. Here's a quick little video I filmed after 32 strait hours of no sleep.
I slept for 16 hours.

So now it's Saturday. The event is over, so why am I still talking about the weekend? Well now it's time for the skating part of this weekend.

So one of my high school friends is a figure skater. I've talked about her a couple of times on my blogs. Remember mskate? Well the team she's on was in a competition that was hosted by my college. Since I live basically next door to the ice arena she was competing in, of course I'm going to go watch and support her. I'm not about to pass of a chance to see a good high school friend when she's right next door. She competed in 2 events, individual and team, both about 12 hours apart from each other.

The first event was the individual routine event, and was at 9:35 AM. Now normally I'm not up and moving that early on a Saturday, let alone alert enough to be able to find a place I've never been to before. Yes, I've never been to the ice arena at my college. I've never had a reason to before today. I look up directions online and the directions looked easy enough. I leave an hour early, just in case I get lost. As it would happen, I needed that extra time because the directions I got were crap. They took me to some catholic church that's close to East campus. I turn around and decide to follow the signs that say "ice arena this way." That was much better. I got there with enough time to spare. I walk in and find an open seat. She did very well based on my "the fact that you can skate backwards is amazing" point of reference.

After the event, I went out in the hall to wait for her to come out. While out in the hall, I ran into a former band mom. Apparently her daughter also figure skates and was at the competition too. She asked if I went to the same college as mskate. I replied with "no I'm here, this is just a 15 minute walk from my dorm." There was a little other small talk, but that was the most memorable part.

So mskate and the rest of her team come out to the hall, mainly to check their scores. Mskate sees me, we say our hellos and she introduces me to some of her teammates. Basically things were "Hi, I'm an old high school friend, I'm here because I'm local." We exchanged the usual "how have things been? what's new?" while we waited for the scores to be posted. Good news, she got 3rd place in her section of the individuals. Looks like I wasn't the only one that thought she did well.

After she got her medal, mskate and her mom took me back to my dorm, but we took the long way back so I could give the driving tour of the campus. That was fun, and it basically took us all the way around campus. I got the stuff the brought up for me from home, and I showed mskate my dorm. Apparently she's never seen a real dorm room before. She was rather surprised with the level of mess. She got to see the couple of things she sees when we Skype and that I talk about. After the grand dorm tour, they left to get ready for the next event and all the team stuff that goes with it, and I worked on my paper.

Fast forward 8-10 hours, and it's time for the team event. This event is a team event. This time, the team picks certain members to perform specific tricks, like the axle thing. She asked me to record the event. Sure, no problem. I know how to do proper camera work with the rule of 3rds and all that, and I'm here so why not. I get there and this time I was able to find her mom to sit with. It must have been nerves or adrenalin or something that caused mskate to forget that I needed her phone to be able to record it for her. Luckily I was able to use her mom's phone. Afterwards she felt rather foolish forgetting that crucial aspect.

In the team event, her team placed first. Woo hoo. Though I do feel rather conflicted, since one of the opponent teams is my college. Eh whatever, I don't follow sports. I'm just glad my friend's team won. After the event they drop me off at my dorm, but this time we take the short way, and that was just a 4 minute drive.

It was good seeing her again, in person, no matter how short the time was. It would have been fun to be able to actually hang out, but whatever. I was dead tired on Friday and went to bed at 6:30 PM and she was busy with skating things all throughout Saturday, and they left on Sunday, so no time. Oh well, I never get visitors so it's more than I normally get. Plus, there's always thanksgiving. Well this has been Pokematic signing off and bu-bye.

If you noticed a change in my writing style between the engineering section and the skating section, that's because they were written on 2 separate days, at 2 different levels of brain fried.