Thursday, July 7, 2011

Make It Challenge at FTF 2011

I got an invitation to attend the Freescale Technology Forum 2011 at San Antonio, as an educator from Galileo University in Guatemala.
Freescale has lots of cool stuff at FTF every year, such as technical sessions, workshops and very nice receptions with demos at their technology lab.

One of the activities I never miss at FTF is their on-site Design Challenge. I got the first place on the "Can Your Badge Do This?" Design Challenge at FTF2008, and later the third place on a second online version of the same challenge.


The Challenge
So FTF2011's design challenge was called the "Make It" Challenge, and it had two tracks: The Tower System Track and the Robot Track. I decided to go for the Robot approach.

We got this very cool FSLBOT kit, which is a biped robot with gooddies such as 12 touch sensor contacts (placed in the shape of a cartoon head), a freaky face made of LEDs on the touch-sensing head, 8 servo-ready connectors, an Xtrinsic sensor port, etc. Plus, Freescale provided lots of stuff to help us get our designs up and running: A dedicated lab with soldering irons and tools, geek snacks, a HUGE box full of batteries, and two very important elements: A large supply of VEX parts, and an Xtrinsic sensor kit with an accelerometer and a magnetometer.
FSLBOT

The challenge was simple: Make a cool robot to impress the judges with the provided tools and any extra hardware you have in Two Days. The only requirement was to use the FSLBOT's controller, the Tower System Mechatronics Board.

The judges were:   
  1. Joe Grand (host), president of Grand Idea Studio, Inc. He was one of the inventors on Discovery Channel's "Prototype This" show. He's a Hacker-RockStar: he's Kingpin from the l0pht!!!!!!!!! :OOOOOO w00t!!!!
  2. Heather Knight, Social Robotocist and founder of Marilyn Monrobot Labs. She was one of the kenote speakers at FTF2011, a true geek (meant as a compliment). She was part of the team of engineers behind the "This too shall pass" video, by OK Go.
  3. Anton Olsen, Master Geek at Innovation First, Inc. ( VEX Robotics ), Contributor at GeekDad.com, and Blogger at AntonOlsen.com
We had two programming language choices: C and RobotSee. Working in C ultimately meant an autonomous, powerful, but time-consuming robot for me (given the short deadline), while RobotSee meant a PC-dependent, basic, but fast-development robot. That's why I chose RobotSee (My heart still belongs to C).

The RobotSee IDE was made by Eric Gregori for the FSLBOT's controller, the Tower System Mechatronics Board. RobotSee looks a lot like a mix of BASIC and C. I found it very easy to learn and definitely suitable for my situation.

My Entry
I didn't want to make a biped as the suggested FSLBOT, because I couldn't come up with something unique for such robot (I imagined lots of dancing robots at the judging). I wanted to make a wheeled rover so much, but when I got to grab VEX parts from the stack, all the DC motors were gone! Then I started to panic, but considering alternatives for DC motor locomotion, I decided to think outside the box and use something I once told my students to do, with no clue on the implementation.

My general idea was to make a Servo-Only rover. So I came up with this robot that paddles his way fordward using four non-driven wheels, a rubber paddle and two servos: one for paddling and one for lifting the paddle so it can move back.

My paddling robot

So how does it turn left or right? I came up with a cool suspension system that most likely already has a name and evolution. Anyway, my robot has two servos acting together to achieve two states:
  1. The servos lift most of the structure at one end, causing the four non-driven wheels to make contact with the floor, supporting the robot. By the way, did I mention this is a carpet robot? It had to be, since I didn't get rubber wheels at the giveaway either, so I used actual shameless gears as wheels.
  2. The servos lift the wheels at their other end. This causes a horizontal stand  (made from a large gear) to make contact with the floor (carpet). This gear is very special because it's driven by a fifth servo. This allows the robot to turn exactly the angle it's supposed to (provided you have a rubber band around it for friction).
Take a look at this suspension system:
The ServoBot's Suspension System

At the last minute I decided to make the demo using the touch-sensing face. So I made the robot take a step forward when you touch his eyes (yes, his eyes), turn left when you touch his left ear, and turn right when you touch his right ear. I did this in order to use as much hardware as possible. Judges like that.

Since I expected the robot to look like a paddling boatman, I intended to name it Charon.
The robot's movement ended up looking quite funny. After lots of coffee, it looked to me like the robot was proud to manage without DC motors. That's why I called it DC-Motor-Less, Yet Proud ServoBot.

So here's a video of my experience at the Make It Challenge:

I had a lot of fun participating in this challenge and I encourage everyone to put yourselves to the test on similar events. Chances are, you'll have fun too.

Although I didn't expect to win anything, I finally got the second prize. I know the judges liked my project despite being useless, because it was geeky and for most of it's features I had to wing it. Here's my robot with my prizes back home :)

My Robot and Prizes (Note the juicy debit card with the name "Especially for you")

Difficulties
I did have a lot of setbacks while making this robot such as availability of the right parts, time, etc (I had to attend several sessions and workshops during the conference, plus I had to eat and sleep!). My wife was very supportive, though :)

I also received tough news about 2 hours before judging: RobotSee wasn't yet ready to drive more than 4 servos, although the board has 8 servo connectors. I asked Eric Gregori if there was an easy way of driving more servos through RobotSee, but the answer was no. I intended to quit using one of the servos, the one that lifts the paddle, and came up with a mechanical one-way rubber wheel at the end of the paddle.
Once the panic was gone, a much simpler solution came to me: The two servos that lift the robot can be driven by the same signal, seen as one big logical servo in my code. So I got to use both servos. The attempt for a one-way wheel mechanism is still visible in the paddle. I left this rubber wheel static in the end.

The slippery gears I misused to support the robot were also a lot of trouble. That's why I limited my robot to the realm of carpets. I used a rubber band that came with a Freescale T-Shirt to wrap around the turning gear for friction. Take a look:
Rubber band and one-way wheel 

I must admit that during the thinking part of the challenge, I was facing the biggest obstacle of all: Myself. Since I don't have as much experience in mechanics as I do in electronics, I felt very challenged and didn't believe in myself, but then I said "Shame on you, Robotics Teacher!", and then I got to work.

If you're interested in the code, you can download it from here. The mechanics might get tricky :/ Contact me if you're interested.

No comments:

Post a Comment