Category Archives: Hobbies

Robots: Try, try again

 

Here is what I love about robots:

  • They take incredible amounts of interdisciplinary engineering skills.
  • They almost never quite work like you expect.
  • They take  perseverance.  A LOT of perseverance.

In summary, they are not for the easily discouraged.  Or if you want to teach about how to overcome/handle failure, robots are perfect.  Our first robot competition last year, did not go so well.  It was a good lesson for Caleb in setting expectations for how difficult robots are.  We had a long talk about failure, and what we should do with those feelings.  It’s easy to quit, but you can also use those feelings to drive yourselves to try better next time.

Mid-summer, we formed another team and entered the World Robot Olympiad competition.  Caleb, Joey, and Jackson have been working for about 8 weeks on building a robot that can detect the color of lego blocks, push them to a certain location, and dispense ping pong balls.

Unless you’ve actually try to put together a working robot, it’s difficult to understand what it feels like to make a robot.  Mostly, the feeling is frustration.  Sometimes, it’s deep, desperate frustration.  Sometimes, it’s laugh-at-yourself frustration.   And, there are glimpses of hope and celebration, but those moments are few and far between.

I spent half a day today with the kids as they were putting together their video entry for the competition.  A few minutes after we had started, my wife asked me, “Are you guys done?”  

It occurred to me then, that she has no idea what it means to work with robots.  We were not done.  We have not even really begun at that point… My phone is chock full of video footage of failed attempts from throughout the day.  I put it all together in an 8 minute video, that hopefully captures the feelings and experience of working with robots.  I thought the video might be a little bit long, but Tenille started watching it, and ended up watching the entire thing.

Overall, a rewarding experience.  I got to reminisce about my old mechanical engineering days.  Caleb and I watched a bunch of old MIT 2.70 (now called 2.007) contest videos.  I saw many of my old professors (who looked quite young in some of the older videos).  Dr. Woodie Flowers who I had for my design class started the First Lego League, which Caleb will be participating in this Fall.

These kids may not grow up to be engineers, but I’m sure they’re going to run into frustrating challenges throughout their lives.  Hopefully, they’ll be able to grit their teeth and persevere through… just like with the robots.

Nice job, Caleb, Joey, and Jackson.

 

      20150829_144935

Here is our actual submission
Here’s what it took to get there…

 

Some old MIT 2.70/2.007 videos:

http://video.mit.edu/embed/6680/

 

http://video.mit.edu/embed/28028/

Advertisements

2nd most disappointing day in Caleb’s life

In January, we got a Lego Mindstorm, so that I could start teaching my kids about robotics.  Robotics is a great engineering project because it’s so multi-disciplinary.  You need to learn about software programming, mechanics, hardware/electrical engineering, sensors and sensor error, tolerances, etc.  And at the end of all that hard work, you usually end up with something that kind of does what you want it to do most of the time….. or some of the time as the case may be.

We found that there were 3 big robot competitions throughout the year  (In reverse order of popularity):

1. robofest.net [March Competition]

2. World Robot Olympiad [July/August Competition]

3. First Lego League [December competition]

Since we were in January, I thought we would enter in the RoboFest competition which was held in Monroe.  If you win in Monroe, then you move on to the Championships in Michigan.

RoboFest 2015-03-29 002

Caleb invited his 4 close friends and we started meeting on Tuesday nights to start assembling the robot.  The goal of the competition was to create a “Bowling Robot.”  You load up a tennis ball onto your robot at home base, then it is supposed to roll out to the bowling area, then somehow release the ball down a lane to knock over water bottles at the other end.

After some discussion, we decided to use a gravity feed down a rail so that we can increase precision.  We used a guiding wall and the edge of playing area to set our robot up perfectly every time. 

After meeting about 7 times on Tuesday nights, we had a robot that was working.  On the Friday before the competition, the boys had a final meeting to make some final tweaks.  By the time I got home from work, they reported that the Robot was working very well.  They were talking about winning the competition and going to Michigan. 

RoboFest – Practice

The day of the competition finally came.  We woke up early and made the drive to Monroe, WA.  All the parents came to watch their kids in the competition.  I was reminded that at a certain time, coaches were no longer allowed to help the teams.  The kids needed to do the competition themselves.  Our good friend, Karlin Kersavage, and his son, Krew, came out to cheer us on.  I sat with them as we watched the kids prepare for the competition.

They started testing their robot on the competition table.  Immediately, the first thing we noticed was that the wheels were starting to spin out on the new table on the turns.  Our robot does all the turns by odometry (by turning the wheels a certain amount), rather than by sensor.  So, if the wheels start slipping, the robot will not turn enough.  We had thought this may be a problem, so we had a few ideas to try and deal with this problem.  First, the kids tried washing the wheels.  This had worked previously on our practice table when we thought the wheels were getting a bit too dusty.  On the competition table, when we washed the wheels, the wheels got even more slippery.  Our idea #2, was to wash the wheels in some type of sugar soda.  Caleb got some root beer and gave that a try.  No luck.  The wheels were still spinning. 

What we found was that the front sliding pads were not sliding as well on the new table surface.  The friction co-efficient was different, so it was making the wheels spin out.  We tried a few different options on the front pads like putting scotch tape on them to make them more slippery, but no luck.  Eventually, we tried to increase the number of wheel turns to make up for the slippage, but this was going to cause a large amount of variance in how much the robot would turn, but at this point, we were running out of time and options. 

Robofest Practice 1
Robofest Practice 2

As the kids were playing with the number of wheel turns, the robot fell off the edge of the table and broke.  Not just a little break.  It broke into many, many, many pieces.  There was only a few minutes left before the robots had to be impounded before the competition.  The parents of our kids watched on in horror.  The kids were frantically trying to piece the robot back together.  But, the robot was too far broken to be fixed up in a few minutes.  The time ran out.  The organizer, (bless her heart), was kind enough to give our kids a little more time to re-assemble their robot.  She saw how frustrated our kids were and had mercy on them.  Some of the kids were on the verge of tears as they tried desperately to piece their robot back together. 

I felt for the kids and their desperation.  I have never seen Caleb so focused.  It was an expression between panic and persistence.  I imagine brain surgeons have this look as they’re about to lose a patient and they quickly try to fix what was wrong with a prayer in their heart.  It is a look we see in movies as a super-hero is desperately trying to save the day.  This look was on several of the kids faces as they all did what they could to fix the robot.  For me, at that moment, it didn’t really matter to me what the outcome of this competition was going to be.  I got a glimpse of what my son was capable of when the world was burning down around him.  He would desperately try to put out the fire.   

Sad to say, the efforts were not enough.  They were able to put the robot back together, but not in its original configuration.  When they came back to the bleachers, I told them that we may not get a chance to bowl, but we could still get some points by measuring a black square.  (This is one of the first things that the robot needs to do).  I told them that were other robots that were also having problems.  If we can get a few points by accurately measuring the black square, then we would still have a chance.

When it was their turn, they carefully put the robot on the starting position.  When they pressed the Go button, the robot over-turned and it did not make it into the bowling area.  They tried to restart it.  But as they were handling it, the rails fell off the robot.  Caleb tried to put it back on, but the pieces started falling off and dragging behind the robot.  I yelled out that they should unplug the component that fell off (so that it wasn’t dragging behind the robot and getting in the way).  Caleb quickly reached for the robot and ended up unplugging all the sensors.  Now the robot would not be able to measure the black square any more.  That is how the first round ended – In complete disaster.  The clip is a little painful to watch…

RoboFest Round 1

Needless to say, the kids were all disappointed.   However, we found out that there was going to be a round 2.  We were going to get another 30 minutes to re-calibrate our robot and try again.  Hope returned to the kids faces.  When the 30 minute recalibration phase started, the kids started putting together the robot again so that it was more sturdy.  One of the kids, Joey, started reprogramming to get the turning right.  When the 30 minutes was up, the robot was completely over-hauled.  It was a little stronger.  However, the programming was not complete.  Joey continued to work on it after the robot was impounded.  He told the team that he needed to reflash the robot, so nobody should push the go button on the robot, when they start.

It was their turn again for Round 2.  In this round, Joey was ready to reflash and pushed the code from the computer to the robot.  While he was doing this, the “Go” button on the robot was pressed which wasn’t supposed to happen.  The robot started lurching forward.  Then the robot stopped in the middle of the playing field and got reprogrammed and started over again.  The robot ended up running off the edge of the table.  The rails broke off of the robot.  After some minor adjustments, they tried again, but the rails would not stay on.  They were able to accurately measure the black square this time.  However, they were not able to get the robot into the bowling area.

Robofest Round 2

They ended up getting 3rd place out of 4 in the 2nd Round, but got last overall.  There were some tears.  There were some hurt feelings.  There was definitely disappointment. 

As we were sitting there on the bleachers, I let them know that this is not where the story needs to end.  That all great people have bags full of stories like this.  Stories of failure.  And although I’m not necessarily a great person, stories of failure happen to be my specialty. 

I told them about my first robotics competition.  It was at MIT.  It was a class called 2.007.  (All classes at MIT are numbers… I’m sure the class has a name, too, but nobody calls it by the name.. )  This competition is probably one of the biggest events at the school.  I remember that the year I was competing, the competition filled the biggest lecture hall on campus.  It was literally standing room only and the people were lined up and packed in all along the aisles of the lecture hall.  Once you were in, there was no leaving.  There were drums and horns blaring.  The atmosphere was like a big football game at a “normal” college.  

 

2.007 Mad Cow Board

The robot game was to sweep up a bunch of ping pong balls and then climbing up a ramp to dump them into a bin from the top.   However, these bins had a sliding plexi-glass door on the side that slid upward.  If you were somehow able to slide up the plexi-glass door, you could just shove all the ping pong balls into the bin rather than taking it up the ramp and dumping them in at the top. 

2.007 Mad Cow2.007 Mad Cow 2

Out of about 30-40 competitors, I was the only person working on a mechanism to lift up the plexi-glass door.  It was all spring loaded and worked kind of like a mouse trap.  An arm fell down on to the top of the glass door.  When the arm hooked on to the hole in the plexiglass door, it would automatically trigger a mousetrap type mechanism that would spring the door upward and open.  It worked about 75% of the time.  But, when it did – it was awesome.  Then, I had a car in the shape of a cow.  This was the time that there was the mad cow epidemic in England.  My cow car had spiral eyes and holstein spots.  It even had a cow-pie that it was supposed to release in front of the other competitor as a “land mine” of sorts.

2.007 Mad Cow

On the day of the competition, my good friend Damon Bramble volunteered to be my assistant.  He was always a bit of a ham.  When it was our turn, he took my cow car and strode up to what seemed like a thousand people that came to watch the competition.  He held it up like Simba and gave a big “MOOOOOOOOOO!”.  The audience roared back in return “MOOOOOOOOOO!” 

I carefully lined up my door lifter mechanism, then put my cow car on top.  When the judge gave the signal to go, the door lifter arm fell onto the sliding door.  There was a loud snap, and it pulled the bin door up perfectly!  There was an admiring “ooooooooo” from the audience and then applause.  But, just as suddenly as the applause started, it stopped with an “awwwwwww” of disappointment.  In my excitement, I had jumped my cow car off of the starting platform and it flipped upside down.  For the remainder of the competition, there was nothing more I could do.  My cow car laid prostrate.  I released my cow pie…. and that was the end.  I had spent 3 months on that projects.  More than 70% of my time that semester went to building out this robot at the expense of all my other classes.  And this is how it ended – in 3 seconds of udder disappointment.  I spent the a week after that in a mild depression.  I didn’t go to classes.  I just laid in bed.  All I could think about was what I could have done differently.  How I could have designed that cow not to have flipped.  How I could have gently drove off the starting platform.  There was almost no limit to my list of ideas of what I could have done differently.  Then finally, on the next weekend, I decided I needed to stop doing this to myself.  I told myself I will never regret again.  I did my best, and that’s all I could do.  Next time, I know what I need to do differently, but at this point, there is no good that will come out of second guessing what I did or did not do for the last competition.  That was probably one of the best lessons I’ve learned in my life and I feel lucky I learned it early. 

The kids laughed at my story.  It was a modest salve to their hurt egos, but hopefully they could see the bigger picture.  This particular competition was not going to define who they were.  It is one story.  Hopefully, it is a story that will be fun for them to tell when they have successes.  And I know each of them will have plenty of successes.  I’m still waiting for my success, but when that happens, I’m going to really enjoy telling all my failure stories…

On the way home, I let Caleb know how proud I was of him.  He was reflective of the day on that long ride back home.  He told me that this was the 2nd most disappointing day of his life.  I asked him what the most disappointing day was… He said it was the balloon launch.  Nice…

Despite the disappointment, he wanted to do another Lego competition.  In my book, that’s a success.   Some people expect to try something for the first time and be awesome at it…. I don’t think there’s really anything worth doing where that happens.  The best things require a lot of practice and when you first try it, you’ll be very, very bad.  It’s our job as parents to try and get our kids over that hump so that they can eventually be good at many different things…

This was the first time I coached a robotics team.  Admittedly, I can do much better. 

Honestly, it was a little bit difficult running an elementary school robot team for the first time.  Keep in my mind that my primary goal was to get kids engaged in Robotics, not win a competition.  Here were my lessons learned:

1.  Not all kids had the same level of skills and interest in making a robot.  Some of the kids naturally started investigating and experimenting on their own.  Others were there to hang out with friends, but didn’t have an instinctive desire to start playing with the components.  Because we only had about 7 sessions, I couldn’t methodically teach lessons on various principles of engineering.  We had to start designing and building from Day 1.  This was difficult for kids that didn’t naturally want to engage in the problem solving discussions. 

2.  The team was made up of 5 kids and that was at least 2 too many kids.  I only had one robot, and 2 laptops.  For kids to learn and play with robots, everyone needs to be getting their hands dirty.  Ideally, future teams would be 2-3 kids so that they can be hands-on.  Even if all the kids wanted to be engaged in building robots,  I didn’t have enough stuff for all the kids to be doing.  This exacerbated the problem of the kids that were less interested, because then they would passively be pushed aside.  I’d rather run multiple smaller teams with more equipment than have half the team sit and be disengaged.  Everyone should actively solving a problem. 

3. Robots are hard.  Once a week for 7 weeks was not enough.  I think we needed multiple nights per week for a couple hours to make sure to teach fundamentals of mechanics and programming.  Then we can start building out features and improve on them.  Doing mini-problems and lessons that were skill-level appropriate would have allowed everyone to be more engaged. 

4. Time was not used efficiently during sessions.  There was no sense of urgency among the kids.  As a coach, I would probably set up a more competitive/timed environment to keep the kids more focused.  There were goals for each session, but the focus was not there.  During the competition, there was definitely focus.  I think that was due to the competitive nature of the competition and the strictly timed schedule.    During practice sessions, there was no consequence to socializing instead of getting work done… (Well.. the consequence was discovered at the competition…)  Practice sessions could have been engineered to get more out of the kids every time. 

Good lessons learned.  Next time – we’ll all do better.

Rotisserie Pig–Part III–Campout Day

As most of my stories go, the pig roast was almost a success…  I learned a lot about how closet rods are manufactured and why they are not ideal for use as rotisserie rods.  For those that are just tuning in, here is Part I and Part II, leading up to the big day.

First, a big shout out to Adam Robinson who came up with me on Thursday night to prep for the roast.  If he wasn’t there, it would have made the ordeal nearly impossible. 

We drove into Ensign Ranch about 7:30 pm after picking up the pig from Green Valley Meats.  We camped out in a tent and woke up around 6:30am to start getting set up.  We prepped the pig and applied olive oil and salt inside and out.  Then, we shoved the closet rod through the pig.  We put apple and onions in the belly cavity and sewed it up with steel bicycle brake cable.  Then, we put the pig on to the stand. 

Ideally, we would have used a steel rod for the rotisserie, but steel is much harder to work with than wood.  The advantage of using a wooden rod, is that we could drill holes easily through it.    We need to drill some holes to fix the pig to the rod using a clamping mechanism.  We also had to attach a sheave to one end and a counter-balance on the other.  There are ways to do this using a steel rod, but it would have been significantly more difficult.  My biggest concern was that a wooden rod might start burning if the fire got too hot.  It ends up that there are other issues with a wooden rod which I’ll get into later.

Once the pig was all set up, I tried to hook up the motor, but the motor was not nearly powerful enough and it would turn the sheave.  Within a minute, I realized we were not going to have an automated rotisserie.  That’s OK… Plan B… we’ll just crank it manually.

At about 9am, we lit up a half a bag of charcoal and dumped it on the base of the stand.  It wasn’t much heat, but we didn’t want to burn the pig… you can always speed up cooking later, but you can’t unburn a pig… 

For the rotation, we ended up using a clamp on the sheave to keep the pig fixed in different positions for about 10 minutes, then we would rotate it about 90 degrees.  After about an hour of this, we started growing concerned that the pig was not cooking fast enough.  We decided to amp up the heat and increasing the frequency of rotations.  We started putting piles of wood on top of the coals, then rotating the pig at 1 minute intervals.  The flames were coming up about 1/2 way to the pig and it was definitely cooking at this point.  This probably goes without saying, but manually rotating the pig at 1 minute intervals was extremely tedious.  I would not do this again unless I had complete confidence in an automated motor solution.  Adam’s dad owns a garage door company.  He mentioned that he had several old garage door opener motors.  That probably would have been perfect.  We may look at putting together a better solution for the next roast.  I’ve secured budget for a Lamb Roast for my 40th Birthday coming up later this year…   So, hopefully we can put together something before then.

There were a couple times where we missed the 1 minute alarm and kept the pig in the same position for a little too long.  It was interesting to see the liquified fat underneath the skin sloshing around.  When the pig was in the same position for too long, the skin was start deep frying from the inside out.  Apparently, this is how pork rinds are made.  The skin start styrofoaming.    Later, when we tasted this part of the skin, it tasted exactly like pork rinds you would buy at the store. 

Aside from a little bit of pork-rinding on the back side, everything seemed to be going well.  Throughout the day, there was a little bit of rain sprinkling down on us, but nothing beyond a light mist.  All the people at the ranch were wishing us luck because they saw that there was supposed to be rain that day.  If it poured down rain, that would have been the end of the rotisserie.  However, rain was not the issue.

P1000478

After about 7 hours of roast at 4pm, the unexpected happened.  The closet rod broke in half in the middle of the pig.  The pig hung loosely just inches from the fire.  Adam jumped on top of the pit to hold the pig off of the fire.  I ran and got a table set up with a tarp on top, so that we had a place to move the pig.  Within a minute, we heave the hot carcass on top of the folding table.  The backside of the pig burnt a tiny bit, but otherwise the pig was still intact.  We removed the closet rod to find that the rod was assembled using offset half rods that were glued together.  We saw that the heat and moisture inside the pig had made the joints expand and eventually the glue came apart.  This is why you shouldn’t use a closet rod for a rotisserie stick.

Now, we had a bit of a problem.  Finding another rotisserie rod was out of the question.  We transported the pig to the kitchen at the ranch.  They had 3 huge ovens.  Each of them could easily fit half of the pig.  We cut the pig in half, put each piece in a large tray, covered it in foil, then popped them in the oven for the last 2 hours of cooking.  But, before putting the pig in the oven, we took a few affectionate pictures.   

P1000480P1000481

In the end, this was probably a good thing as we could comfortably cook the pig at a higher consistent temperature.   We’ve had the pig on the rotisserie long enough that it got a very nice smoked color to it. 

At 6pm, people were starting to arrive.  We took the pig out of the oven.  Several volunteers came and helped chopping up the pig.  Cutting up the pig was a lot of work.  There was about 70 people to feed.  We had to cut up the meat in small pieces.  We found that there was still  a little bit of pink around the thighs, so we just put those pieces back in the oven.  We kept the head intact for guests to take pictures with.    But, eventually throughout the night, we cut up all the meat on the head, too.  There was only a zip-loc bag of meat left by the time it was all over.  It seems like a 60 lb pig will feed about 80 people (provided there are other side dishes.) 

In general, the pig was super moist and tender.  A few people wished it had a little more flavor.  We didn’t really season it other than the light salting and olive oil.   The Korean people ate the pig with SaeuJeot (pronouned Sae-Woo Jot).  SaeuJeot is fermented and salted shrimp.  Adam tasted it and said it was saltier than salt.   Some people also dipped the pig in GochuJang (fermented red chili paste). 

It was quite a bit of work, but at the end of the day, everyone got to eat pig and it was pretty delicious.  Again, I can’t thank Adam enough for coming up and helping out with this project.  Not only would it have been nearly impossible for me to set up by myself, but turning the pig every minute for 7 hours would have been unendurably dull.  Needless to say, the emergency rescue once the rod broke would have also ended up in a bigger disaster.

P1000468

About Ensign Ranch

The following day, we enjoyed the other amenities at Ensign Ranch.  Ensign Ranch is a property owned by the Church of Jesus Christ of Latter-Day Saints.  For anyone interested, it is open to everyone.  It is about 25 miles East of the Snoqualmie Summit ski resort.   It is about $10-$30/night depending on whether you stay in a campsite or a cabin.  There is horseback riding, canoeing, fishing, and a gigantic slip and slide.    Most importantly, they have a pretty nice pit to do a pig roast.

P1000515P1000500

One interesting thing to note about Ensign Ranch (and other church-owned recreational properties) is that it is maintained and operated by volunteer church member missionary couples.  All church members are encouraged to serve volunteer missions not only when they are 18, but also when they are older  (Senior Missions).  Senior missions are typically served by married couples that are empty nesters.  Just like the 18 year-old missionaries, senior missionaries also save up money to fund their own missions.  Tenille and I are also looking forward to and saving up for missionary service when our children take off for college.   It’ll be a fantastic way to travel somewhere new and give service for a few years.  This last weekend, we met missionaries from Utah, California, and Washington staffing various areas of the camp. 

The lady who checked us in was from Vernal, Utah at which point my eyes lit up.  I’ve always wanted to visit Vernal which has the Dinosaur National Park.  But, it’s about a 3 hour drive from the closest major city (Salt Lake City).  She vouched that it was worth seeing.  So, maybe I can try to convince my family to make that 6 hour drive commitment on our next trip to Utah.

Home brew breastpump

 It’s finally finished…
 
$20 for two wiper motors at the junkyard  (one blew out… )
$20 for two power supplies at PC recycle (one blew out…)
Some help from my father in law and brother in law…
Voila, a breast pump…
 
 
So, it ends up that it was a bit slow to extract any milk…  And it’s definitely possible that I could ratchet up the voltage to make the motor go faster… However, this would force me to venture into territory outside of my expertise… not that that has ever stopped me in the past…
However, the real culprit to mothballing this project is that our good friends (the Crocketts) had hospitable grade pump that they lent us… It’s hard to compete for pump time when the other pump is a $1000 beauty from the hospital… and I suppose combined with the slight danger of eletrocuting myself and my wife…  we decided – we’re done…
IMG_6214IMG_6215IMG_6216
 
 

We made a Hovercraft!

On a Friday night, a bunch of us got together and built a hovercraft under the leadership and inspiration of Dan Roth.  Admittedly, at first, there were doubters (most prominently our spouses).  But, all doubt was replaced with enthusiasm as everyone had their first ride on the hovercraft.  I was amazed that we got something working within 2 hours.  Much thanks to Karlin as he supplied the plywood, leafblower, and holesaw.  The budget for this project was around $5 – $2 for shower curtain and $3 for duct tape.

Apparently, it is the first of many that our group is going to make. Details are here.  For a video of Tenille riding around on the hovercraft, click here.

For the hovercraft rock video, click here.