robot clothes About Us Projects News
return to lablog homepage
 
 
 

Main | May 2005 »

April 30, 2005

Open Studios

Today is the Open Studios at Eyebeam. Some visitors recommended that we look into these two artists:

Jon Kessler

Jennifer & Kevin McCoy

The McCoys are a married couple whose work includes miniature sets and robotic cameras. They also draw from personal experiences in their work such as a traffic jam during their second date.

Posted by michelle at 03:42 PM | Comments (0)

April 25, 2005

Setting up a Java Environment (Lablog4-25-05 #2)

I am designing the software for InsideOut in Java. James usually uses C code with some C++ libraries for this kind of project. I feel more comfortable working in Java and I think the robots are suited to object-oriented design.

First I set up a Java environment on my computer. I installed the Java 1.4 SDK and the Eclipse SDK. I had not used Eclipse before, but it makes tasks like creating getters and setters and compiling easier. Eventually, I think I will need to install Apache and Tomcat to run the code on my machine.

I found some robot code on a CMU web site. It includes an example of implementing a serial port interface in Java via a C dll. This might make sense because we already have serial code in C. Here’s part of the Java code:

public synchronized class serialPort
extends java.lang.Object
{
// open serial port at specified baud with other
// appropriate parameters. returns:
// 0 on success
// -1 on failure to open serial port
// -2 on failure to read port state
// -3 on failure to set port state
// coms are: 1 = "COM1"; 2 = "COM2" et cetera
// baud rates are: 1 = 9600; 2=19200; 3=38400;
// 4=57600; 5=115200; 6=230400
public native int openSerial(int comNum, int baudSpec);
public native int closeSerial();
// returns 0 on success or -1 on failure to send byte
public native int sendByte(int theByte);
// initialTimeout is measured in milliseconds //
// returns -6 on failure to set timeout, 0 on success
public native int setReadTimeout(int initialTimeout);
// returns -1 in error or timeout, else returns int
// between 0 and 255
public native int readByte();

static {
System.loadLibrary("sserial");
}

}

sserial is the name of the dll.

Apparently, Java has come out with a javax.comm package for serial communication. That might be a little more efficient than loading a C dll.

Java 1.4 SDK

Eclipse SDK

Posted by michelle at 08:47 PM | Comments (2)

Arm R&D (Lablog4-25-05)

The arm and body R&D has been a learning experience. 13 days went by fast. We have been doing research since March so we had some idea what size characters we wanted. Michelle leans toward the miniature and I keep thinking bigger is likely easier up to a point, as mini- and micro options for actuators are limited and expensive.

But I planned on baselining shape memory alloy (SMA) actuators and stepper motors into the research as they both had desirable qualities and I am already pretty familiar with servo and hobby servo motor performance and control.

SMA was desirable from the standpoint of cost, quiet operation, compact size, strength and similarity to the human muscle actuation. Basically, you apply a current across muscle wire, a brand name pre-shaped SMA, and you get a small thermally-triggered contraction in the wire at about 70C or 90C depending on the type. Once the circuit is opened, the wire cools and begins to return to its normal length with some hysteresis depending on the mechanical loading and thermal environment on the wire.

An almost comic link on SMAs:
http://www.robotstore.com/shapememoryalloys.asp?afid=home

I set up two experiments using muscle wire from the robot store (see our current baseline document for ordering information). I built a 5 degree-of-freedom (DOF) arm from Fimo clay and wire. Michelle had already built me two previous arms in Fimo in order to determine the ideal DOFs we thought we would need to make a generally expressive arm with a range of motion visually similar to a human arm. I saw two potential areas where SMAs might be useful on the arm: the full contraction of the deltoid muscle and the forearm pronation/supination via the pronator teres muscle.

The Deltoid

deltoidant2.jpg

The Pronator Teres

pronatorteres.jpg

The Supinator

supinator.jpg

The muscle wire was to provide a single degree of freedom, e.g. lifting the arm to the horizontal plane at the shoulder or forearm pronation respectively, while a spring was to enable the arm or forearm to return to a loaded home position.

smArm1.jpg

View larger image

After multiple tests with poor results in terms of both desired motion and two fried slivers of large diameter, high-temp muscle wire, I simplified the test set-up to just experiment with muscle wire control and sensitivity:

smArm2Tester.jpg

View larger image

I have concluded that given the time we have SMA will be a pain in my ass for three major reasons:

1. They contract almost enough to achieve the desired motion but not quite. 3-5% of the total wire length is the suggested contraction in order to get the millions of cycles promised. You can achieve as much as 8% contraction but the lifetime of the actuator will be diminished.
2. They are hard to mechanically connect to the worksite due to their small diameter and operational temperature. They operate at 70C + and ABS plastic is only spec’ed to 60C. This could be remedied by thermally isolating the wire from the plastic mounting and connection features. With the Fimo arm, I used a barrel crimp and crimped a thin-gauge wire (26 AWG) in one side of the barrel with a doubled-up piece of muscle wire. I crimped a bent staple in the other end of the barrel. The staple connected to the eyelet features on the arm. This was clugey no doubt and broke many times during the research. A better solution would be to use a potting compound or epoxy to mechanically fix the wires, SMA and mechanical connections, but this would make it hard to impossible to replace burnt out wires.
3. SMAs are hard to control. One guiding principle in this effort has been to afford each actuator a method of keeping the control closed-loop. This means each actuator should have sufficient position feedback to implement a PID or other control algorithm. This is the minimum needed to make smooth, controllable and expressive motions. With the SMA, I would have to implement feedback via a strain-gauge or flex-sensor and it would need to be very responsive in order to keep contraction within the 3-5% range. And these guys are really sensitive in general to mechanical and electrical damage.

So no muscle wire.

This menas the overall minimum arm diameter and length need to be larger than we had previously thought. The motor and motor assembly diameter will be the primary discriminator in terms of arm diameter.

Now, we have three types of motors to work with: steppers, servos and hobby servos.

Steppers are desirable from the perspective of control and size. Even without feedback, you can construct a type of closed-loop control so you can adjust your step rate to create a movement envelope that is aesthetically pleasant. If you loose your place though, position error would build up fast and it would be hard to correct unless you just routinely returned to a home position identified via limit switch. Steppers are also commonly flat and compact. I found and purchased two Seiko 10mm, 20 steps per revolution stepper motors. These guys are “ahh cute” tiny and worked very well when tested. I used a stepper motor controller chip that Mike Passaretti, a CE colleague of mine at Honeybee, suggested. He let me use the chip evaluation board to test the performance of the motor.

http://allegromicro.com/sf/3967/
http://allegromicro.com/demo/apek3967slb-01.htm

The board worked great. The motor performed pretty well too. It could half-, quarter- and eighth-step and moved up to 1k hz across the full stepping range at under 3 Volts. Here are the problems with the stepper for me:

(I'll insert an image of board and test set-up here tomorrow)

1. They are really coggy when they rotate at the speed at which we would need them to move. Cogging means you can see or feel the rotational movement in discrete intervals corresponding to the internal magnet positions vs. continuous rotational movement. 20 steps per rev is good for such a small motor and even while eight-stepping, it looked jumpy and mechanical. Realism isnt necessary, but it didn’t look believable.
2. These motors have really bad documentation and some really undesirable minimum purchase amounts. I got these 10mm motors at a surplus store. They cant really be relied upon for future use. They don’t have any documentation in terms of torque, operation power, etc. I have found other similar size motors but they can only be ordered in 10,000 + units. The next size up in available stepper motors jumps to 1” + diameter sizes and twice the mass.

While steppers presented an attractive potential in terms of simple control with internal feedback, they also could be difficult to correct in terms of position error caused by slippage and the available steppers were not as compact as I had hoped.

So we arrive where we began. I have used servos with precision encoder feedback, both custom made and COTS, and hobby servos for actuation of less sensitive DOFs. This is an approach used pretty commonly by hobbyists and research scientists alike. Kismet uses maxon motors with optical encoder feedback for the sensitive DOFs, like the eyes, mouth and neck, but relegates the eyebrows, ears and lips to Futabo RC servos.

I know the range of sizes for RC servos:

http://www.aeromicro.com/Catalog/servos_108602_products.htm

I am going to continue investigating servo motors, particularly those with thru shafts, and add-on encoders like these:

http://www.usdigital.com/products/optical-encoders.shtml

In terms of the other arm DOFs and a general summary of the arm R&D:

1. The arm will have 5 DOF:
A. The equivalent to the Deltoid in order to raise the arm out from the body to the horizontal plane
B. The equivalent to the Coracobrachialis for raising the arm out in front of and perpendicular to the body also to the horizontal plane.
C. The equivalent to the Biceps brachii in order to enable pronation and supination of the upper arm
D. The equivalent to the Tricep and Brachialis for flexion and extension of the arm at the elbow.
E. And the equivalent to the Supinator and Pronator Teres for supination and pronation of the forearm.

The wrist will likely also have a single DOF (likely a pulley type assembly) that attempts to simulate to a limited extent the muscles controlling wrist extension/flexion and the fingers (Flexor digitorum sublimis, Flexor carpi ulnaris, Palmaris longus, Flexor carpi radialis)

The wrist and hand DOF and DOF D will require a right-angle conversion, likely a beveled gear and pinion assembly.

Posted by powderly at 03:48 PM | Comments (0)

April 17, 2005

Project Plan Completed (lablog4-17-05)

So we have “released” our first contribution to the DIY humanoid robot KIT. Don’t get too excited here folks, it’s just our project plan and planning tools: a gantt chart, a work breakdown structure (WBS), an org chart and our statement of work (SOW).

A gantt chart is just a project schedule organized by task and graphically illustrated over time. Our gantt chart was made in Microsoft Project. Project can be painful to use. If I get the chance to do it again using a better piece of software I’ll put that up in a revision. You can make one in excel or photoshop or with a crayon, but make a gantt chart so you have something to guide you step by step during the ritual chaos of your project. It will be particularly important when you are in the thickest weeds of fabrication and integration and unable to think anymore and just want to be told golem-like what to do next. This is true of most documentation like wiring diagrams and software flow-charts: they make it easier for tired minds to accomplish the higher project goals.

The WBS is a tool that allows you to break a project down from its high-level product and processes to its lowest level tasks. Historically, the WBS was adopted by the DoD, and it is described in Military Standard (MIL-STD) 881B as: " a product-oriented family tree composed of hardware, software, services, data and facilities .... [it] displays and defines the product(s) to be developed and/or produced and relates the elements of work to be accomplished to each other and to the end product(s)." So there you go. I learned about them through my work with NASA and I think they are extremely useful as a tool, logic game and pillow talk. You basically break your project down into the product you hope to make and the processes you need to make it. So if we were making a pencil the product, or product breakdown structure (PBS), is lead, a wood hexagonal body painted yellow and an eraser. Each of these product elements will need a number of tasks to make them happen, design, fab, etcetera. In addition to all this, in order to crank out this improbable pencil, we will need someone to manage the whole damn pencil project, the integration of all these pencil parts we will have and someone to test the hell out of this pencil. So we have six level one WBS nodes: lead, wood body, eraser, project management, integration and testing. You can expand it to pencil marketing and distribution too if you’d like. I won’t. Each one of these six nodes gets broken down until you get to a resolution where the individual project tasks start to emerge. Below is a partially completed example of our pencil enterprise in WBS form:

Pencil3.jpg

View larger image

Even at this resolution and degree of finish you can already discern a few clear low-level tasks, like creating the projet plan, periodic schedule traking and eraser integration.

This Page has more about the WBS if you are interested in being a civil servant:

http://www.hyperthot.com/pm_wbs.htm

An organization chart is just a graphic that illustrates your team hierarchy, who will support who to get the work done. If you have a big crew helping you and a complicated project, it’s essential you have an idea of how you organization is structured. For me and Michelle, we basically have to fill every project role we can, asking some engineer/artist friends for some specific help here and there and making sure to have a network of informal consultants, advisors and references. So our chart is more useful as an indicator of where we need to make a new friend who knows how to cast in silicon or take a class at the complete sculptor.

And finally the SOW is just the act of putting exactly what you intend to make in writing. Not every nut and bolt but just the high-level goals. With our pencil project the SOW would be simply to make a pencil. It seems stupid to suggest that but you would be surprised how often people have no idea of the scope of what they intend to create or at least don’t communicate this to their team members.

In part, all of this is to ensure that seventy-five years from now, if our little animatronic life story is lucky enough to be in storage in some art warehouse in Jersey as part of someone’s permanent collection, I hope it has been documented well-enough to be repaired, improved and re-installed without any assistance from the happily dead artists.

Now we can begin working on requirements analysis and specifically the humanoid arm.

Project Management Kit Zipped folder

Posted by michelle at 05:10 PM | Comments (0)

April 15, 2005

Studio (lablog4-15-05)

Here is a view of our studio space at the Eyebeam atelier:

smStudio.jpg

View larger image

Today I purchased a toaster oven for our Femo. Femo and wire is going to be a main R&D material. I like it because it is easy to shape and form, becomes very rigid with similar physical properties to ABS plastic and its cheap. Only problem is the toaster isn’t the preferred method of cooking the stuff. It burns it. I will need Michelle's help and candy thermometer to get this to the right temp.

Posted by powderly at 01:45 PM | Comments (1)

April 04, 2005

Lablog4-4-05

The project has begun. We have a basic plan for doing this. We clearly do not have enough time or money. But a plan we have. If everything goes well, no hospital visits or divorce, Michelle and I will end-up with the designs for a lot of the characters we need to tell our story, decent breadboard Michelle and James robots and the first iteration of a humanoid design kit geared towards DIY engineers, students and hobbyists.

We just completed the project plan. We have a schedule, we have broken down the project into parts we can understand, formed a team and created this website

Our lablog entries will generally consist of project progress updates, accounts of our experiments, results, design choices, etcetera including probably a healthy dose of stream-of-powderly type theories and polemics…a little here and there about our story and my colon.

And we also want to use this log as a place to archive thoughts and experiments relevant to the DIY humanoid robot KIT materials and designs.

Ultimately, this will be a place to learn from the lessons of a few engineers as they attempt to make some humanoid robots, to build-upon and contribute to our designs and to find out about some exciting emerging genres like peer robotics, DIY/personal fabrication and robotic fine art.

To start this off in the right spirit, here is a James Tate poem that captures how I feel at the start of most of our projects:

Jesus got up one day a little later than usual. He had been dream- ing so deep there was nothing left in his head. What was it? A nightmare, dead bodies walking all around him, eyes rolled back, skin falling off. But he wasn't afraid of that. It was a beau- tiful day. How 'bout some coffee? Don't mind if I do. Take a little ride on my donkey, I love that donkey. Hell, I love everybody.

Posted by michelle at 10:13 PM | Comments (0)

 
Creative Commons License
This work is licensed under a Creative Commons License.

Powered by Movable Type