Gepetto
Specifications
Specification Dimention
Style Phidget Servo or RC based robot
4, DC Gearhead HG37F260-031
Vantec RDFR21 ESC
Phidget 4 servo controller
Software MAX/MSP Jitter/Cyclops
Colson 4” * 2” wheels
Height in inches 29
34 armed**
Length in inches 22
33 armed**
Width in inches 29
Frame materials Oak, Poplar, Steel, Paint
Introduction:
Gepetto (named after the old man who makes pinocchio the puppet who wants to be a real boy) was conceived of in response to two things. Most importantly looking around I have noticed that a lot of things people make these days seam to be made to look modern, but not to last. For example look at cars today. So much of what goes onto and into them is plastic crap that is going to break off the first time you touch it. (I know this isn’t actually true...and plastics have come a long way and are much more durable than they were in the past) I wanted to make something that looked and felt as though it wasn’t going anywhere. I also wanted a sort of timeless sense. Here you have this thing that seams like it could have been made forty years ago, but inside of it you have some technologies that are pretty modern.
The second reason is that I make robots as an art form. In going around to different galleries near where I live, I was always being told that my work was too radical for people to accept as art. People would ask. “what would someone do with that thing?”.
So I decided to see if I could make something sellable.
Mounting a gun on its back was an afterthought.
This really hurts.
Concept:
The idea behind this robot was to create a stable mobile platform upon which to base an artificially intelligent robot. This has always been a problem for me. I know that we aren’t exactly there yet, but it seams to me that a lot of the robots that I have come across focus solely on mobility. That is they have programs that allow them to climb stares, or go over big rocks and boxes, or avoid them all together. At the same time while some of these robots can do things like find their way from point A to point B, and avoid obstacles along the way, I have not seen a lot in the way of a robot that would “decide” to go from point A to point B, Nor am I sure that I know what that might look like...but none the less, that is my over all goal.
The Platform:
In the past I worked primarily with two robotic platforms, the lego mindstorms system, and the ER-1 by Evolution robotics (www.evolution.com). The ER-1 was discontinued several years ago, and I decided then that I would not subject my work to the limitations of any one company. I then began looking for other ways to have successful platforms, and decided on using the Phidget Servo controller in conjunction with MAX/MSP.
Continuing the concept of the ER-1 a robot that uses an umbilicus concept only carries its mother (the computer) on its back, I have built a three phidget servo controlled robots which carry computers around with them.
In addition to being able to carry around a computer, I wanted this robot to be fairly stable. The frame design allows individual wheels to move independently with a wheel travel of almost 3 inches. Given that the wheel diameter is only five inches, that is quite a bit of movement.
Gepetto’s motors, while much stronger than I thought they would be, are still undersized given the weight they have to carry. Gepetto won’t get stuck on carpet edges or the like, but I don’t see him climbing any mountains...or even doing well in grass.
The video screen on Gepettos head does actually work, and using MAX/MSP I can display different pictures or video on the screen. I plan on using it for video conferencing while doing telepresence stuff in the future. I also wanted to make the robot capable of displaying its “mood”.
I plan on making a much more capable model this summer using many the same concepts.
The Software:
To be honest, I haven’t done nearly as much work on the software end of things as I should have at this point. I guess that is because in part the programming part is not as much fun for me as the building part.
In any case I have worked up some Max patches for doing things like changing the probability of an event based on virtual rewards or punishments. Really just a random number generator spitting numbers through a gate. Say from 0-9. The gate begins open up to 8 (9 gets rejected). A number making it through the gate triggers the behavior. So to start with the gate almost fully open, and most number gets through. If I then “punish” the robot. The gate is now half way closed and will cut off any number over 5. Further punishments will work the gate down to 2. There will still be some chance that the robot will perform the behavior, but it becomes less and less likely based on punishments. Rewards work the opposite way. Rewards keep the gate mostly open. These gates are the way in which behaviors are triggered thus a robot can simply “choose” not to do something you ask it to do.
Similarly the next iteration of this robot will have “see far” devices mounted on all 4 sides. In this way it will be able to respond to new things in its environment, or choose not to respond. Again, I will be able to encourage it either way with rewards and punishments.
“Mood” displayed on the screen on its head will be based on a culmination of all of its gates. A sort of average, coupled with how recently it has been punished. The more recently the more negative the mood. Mood will have the effect of making behaviors more or less likely to be performed, and also more or less erratic.
I have also worked a bit with the cyclops patch for MAX/MSP. This is a smaller program that triggers events based on visual data. Cyclops is not quite as advanced as I would like for it to be, but either with work, or with other people getting involved I’m hoping to be able to create behaviors based on visual information. As it currently stands I can trigger events by having either a specific color, or a movement in different zones on the screen.
Problems:
Given that this is really just a platform, I have run into very few major problems.
One problem was making room around the motors so the shocks would fit. While this was a problem I should have foreseen during the CAD drawings, I did the drawings without actually having purchased the motors yet, and I didn’t realize that the motors would stick out as far as they did.
With the first Gepetto I also made the mistake of reconsidering the gap between the two frame rails. This made it so that the battery didn’t fit the way it was supposed to, and I had to add the dropped shelf.
Finally the original wheels that I chose were not designed for a robot that is so heavy. I switched them out for the colson wheels. The problem with using colson wheels is that I had to find a creative way to mount them on the 6mm shaft output from the motors. I used 1 3/8 oak wood dowels, and drilled out the ends using a 7/8th inch bit. I then used epoxy to glue aluminum hubs into the wooden shafts. I drilled two holes on opposite sides of the wheels, and dropped in wood screws that go into the shaft.
The software has also been a problem. The phidgetservo object for MAX/MSP does not work in MAX version 4.5. I can upgrade to 4.6 but for that I would have to buy an upgrade for Jitter (the video software). Given that I do all of this on a school teachers salary, Gepetto will have to wait.
The Future:
Included with this post should be drawings of the next version of this robot. It will be similar in concept, and capable of running the same software, but the computer used will be my sony vaio vgn ux180p. Its a micro PC. This unfortunately means no cyclops (the video software that Gepetto is capable of running). Instead I am going to use the I-cube which is a box that translates sensor data into MIDI events. Through these sensors Gepetto II will be able to create a model of her environment and respond to it.
Front View
Side View
Top View
Links:
Software:
www.cycling74.com
http://www.trossenrobotics.com/phidgets.aspx
http://infusionsystems.com/catalog/index.php
Hardware:
http://infusionsystems.com/catalog/index.php
www.robotmarketplace.com
www.trossenrobotics.com










Reply With Quote












Bookmarks