Archive for January, 2009
FNR BubbleBoy Lamp Video
Here is the video of BubbleBoy reacting to the lamp turning on!
BubbleBoy Lamp from RobotGrrl on Vimeo.
It is also on youtube.
The “squeaking” that you hear was one of the servos pulsating, most likely due to a short. I unplugged it later, and it stopped. ^_^
Friday Night Robotics – Light
For better or worse, I made a program for BubbleBoy that reacts to a light being turned on.

The program evaluates the light the same way MANOI’s hockey stick did. Once it goes over a particular threshold, it will begin to spin its hat and start saying “HELLO!HELLO!HELLO!”.

At first, I wanted to make BB react to sound, so I dismantled a “haut-parleur” that I got a while ago, thinking that it was a piezo speaker. It’s actually not a piezo, because when I was looking at the analog readings on the Arduino, nothing happened if I fiddled with it. Weird!
When it says on the LCD that I’m at “cheel”, it is hardcoded in. I tried to use the script that downloads a feed, but it doesn’t work for me, for some reason. I commented below that post with my setup and questions. =)

Aah I can’t wait until my Femsapien arrives from the EPFL! It is super boring without a humanoid to work on.
I’m not exactly sure what the moral of this FNR is supposed to be… annoy me and face ‘teh ultimate’ BubbleBoy?! Hahahaha
I’ll add the video later in another post, Vimeo has a wait time of 130 minutes – and YouTube … well who knows about YouTube. o.O
I’m going to be working on an AI Library for Processing with a few people here at the COSI (hopefully). Expect many more posts about that! Woohuu! =)
That’s all for now. *turns lamp off*

Friday Night Robotics – Plain Vanilla
At first, the title of this post was “Mediocre at Best”, but after I typed it all up, I realized that I did do stuff that makes it a little bit better than mediocre! So, I switched it to “Plain Vanilla”. There really isn’t much stuff to do when I don’t have MANOI around!
I started a new project thingy where it is an extremely simple game of pong. The paddles are stationary, but the trick is that one paddle would be controlled by the computer (in this case- an Arduino), and the other would be controlled by the human with a Wii Nunchuck.

The paddles are represented by tiny pink LEDs, and the ball is represented by the LEDs in between them.
There is one LED at the top that is used to signal the start of a new game, and/or a goal.

Since the human player would be using a nunchuck, it would sort of be like Dance-Dance-Revolution where you would have to tilt it a particular way to have the paddle show up. For this, I’m going to use BubbleBoy’s LCD screen:

It will also be able to display the score! ^_^
I got a little bored of doing this due to numerous conflicting errors when I compiled the code, so I switched to my snowplow robot.
I remember having trouble trying to get the two motors to move with this one, so my main goal was to debug it. It turns out that one of the tab thingys on the DC motor was loose!
I had to snap the robot in half in order to transport it, so now the snowplow is waaay too top heavy =) It’s kind of funny!

I really can’t wait to get my Femsapien that I won from the Robots Podcast contest. I’ll play around with it a bit, then I will hack it and put an Arduino in it! One of the things I really want to do is to try making it Twitter. Since I don’t have an ethernet shield, I would probably have the robot (Arduino) send a variable to Processing, which would then twitter, probably using something like this.
Hockey MANOI – a summary
I made a pretty good summary of Hockey MANOI in this thread at Trossen Robotics forum. I figured I should post it on my blog because it is a good summary
and I broke it down into easy to read parts, so it’s like a whole JOURNEY of awesome!
Hello TRC World!
My project is a hockey playing humanoid.

It uses a MANOI AT01 kit, controlled by an Arduino (with an ATmega328) with a Wave Shield, and a SSC-32.
Humanoids have always been associated with walking or running. This project focuses on a different action for humanoids, skating. The end result of this project yields an interesting vision of the possibilities of skating robots.
Introduction
The idea came around when I was trying to make my humanoid (MANOI AT01) walk. Instead of taking a “big bite”, I decided to take a smaller bite and make it slide its feet. However, I quickly realized that when it slides its feet, it looks exactly like a newbie Canadian hockey player!
A Canadian newbie hockey player begins to skate by almost walking. Although the skater doesn’t go far, he does move forward due to the friction between the blade of the skate and the ice.
When I did notice this, I quickly grabbed some lego to create MANOI’s own version of skates, which are similar to rollerskates. I mounted the lego onto the feet using velcro.
The hockey stick I just found laying around. I had to cut a bit of it off, as it was too tall. I use tape and tie wraps to keep it mounted to MANOI.

Development
Development on this project was mainly trial and error. To get all of the motions correct so they all balance together was critical.
Instead of using the controller board that is usually used to control the MANOI, I did a major transplant and substituted it for the Arduino and SSC-32. This allows me to have much more flexibility in terms of sensing and creating motions. The H2H software was too problematic.
Usually what would happen is I would draw out a motion, on paper, that I would want to create, and I would put it into MANOI. Sometimes I got it first try, other times I didn’t. However, the cool part is that a lot of the motions stemmed from the ideas of other motions.
For instance, in the video of MANOI Skating with music (seen below), the motion where MANOI is running is actually a faster version of the sway motion! That was really surprising.
The development for the Wii nunchuck part of the code was quite easy as I had already established all of the variables and settings of when the nunchuck is tilted left or right, forwards or backwards. Instead of using real numbers for it though, I just defined a “home position” of the nunchuck, and subtracted or added numbers to the accelerometer axis, x y and z.
The music part of the wave shield was quite fun and straight forward. I looked around for the songs, and put them on a SD card which plugs into the wave shield. From there, it was just a simple method call inside of the Arduino.
Once the above developments were done, I wanted to create a version of MANOI that could sense if a ball/puck/object was there. I did this by using LDRs and LEDs.
Rest assured, I would have used IR Sensors if I had any
This was the best alternative I had, though!

On the left side of the sticks the LEDs are in a yellow casing, and on the right side they are in a clear casing. There is some effect on the reading, however their values change precisely the same when an object is in front of the stick.
The black construction paper enclosure around the LDRs was required to direct the reading. Otherwise, the light from the LEDs saturated the reading and no difference was seen when an object was present or not.
I observed the change between the readings of when there was an object present, and when there was not an object present.
From this, I created a simple neuron, where if the input values succeed a predefined threshold, it will perform an action. In this case, the action would be to shoot the object.
I had to tweak the threshold a little to make it work with smaller objects, such as a roll of electrical tape.

In the video below, you will observe that it does work with a roll of electrical tape, a ball, and a spool of lead solder (the LEAD solder isn’t mine, it’s my DAD’s because he can’t use non-lead solder like the rest of us -_-;). The spool is white, which proves that the theory does work, meaning that the light that is reflected from the LEDs back into the same LDR board does not obscure the readings.
Results
Here are the videos that you can look at!
This is the first video, where I was just getting the motions down.
The program is basically a sequence of movements:
- Forward 6 times
- Shoot 3 times
- Backward 6 times
- Shoot 3 times
As you can see, the forward and backward movements both result in MANOI moving backwards. As I later found out, through trial and error, it was due to the Arduino and power cords limiting the movement of MANOI! Once they were mounted properly, it worked much better.
This is the second video, where MANOI is controlled by the Wii nunchuck!
You press Z to shoot, and you hold C and tilt to move it.
MANOI can move forwards, backwards, left, right, and home.
This is there third video, where MANOI is playing a little game of hockey by himself while listening to some music. The song that you first hear is the Hockey Night in Canada theme song!
This is the last video, where MANOI can autonomously decide if he should shoot or not.
(The quality in that video is quite yucky, please check out the video on [URL="http://vimeo.com/2641041?pg=embed&sec=2641041"]vimeo[/URL] if you’d like to see it in better quality)

Conclusion
In conclusion, this project was SO much fun! The only time I didn’t enjoy it was when I was trying to hold MANOI, who was whacking me with its stick, with one hand and trying to type in some code with my other hand.
My favourite part was watching people play with the Wii version of the code. They really enjoyed it!
I also liked making the AI part too, that was pretty fun.
Next Steps
The next steps would include coding a modified version of the Bayes filter algorithm to predict if an object is in front of the stick or not.
More sensors would be fun, like three proximity sensors mounted on the front, left and right. This way MANOI could avoid opponents trying to take the ball off of it.
I would also add two more servos in the leg that would allow rotation. This would then allow me to create a more realistic skating humanoid, where there would actually be a stride.
Perhaps I could also add a camera to the head so that it could track where the ball/puck/object is.
That’s my project, I hope you like it! ^_^
You can see more of everything I mentioned at robotgrrl.com






