Showing posts with label Gael Langevin. Show all posts
Showing posts with label Gael Langevin. Show all posts

Sunday, June 2, 2013

Modifying JHack's servobed and cover for easy mounting and removal: part 1

I did CAD work for the mounting block additions to the lower and upper halves of the loser side of the left hand forearm over the weekend.

I began by printing and gluing together the upper and lower halves of the left forearm.





I did a similar thing with Art of Illusion and Netfabb in CAD.  With both a real and virtual forearm bet I added JHack's servo bed.



With that model I was able to locate mounting blocks which snugly held the servo bed in place.



As I began to print test parts around 1100 on Sunday, however, my UPS system died, so I spent five hours getting a new one, which is also faulted but works for now.

I did a partial print of the lower half to see if the blocks holding the lower sides of the servo bed fit properly. Here you can see the blocks in place on the left.



On the right you can see the dummy block for the top of the servo bed in place in the glued lower half of the forearm.

Here I fitted the servo bed into the partial print.  The bed slides into place easily and the blocks are flush with the top of the bed.  


Friday, March 22, 2013

Seating the new, larger leadscrew in the bicep

Gael quite rightly suspected that the new, stronger lead screw I developed for the bicep would clash when it tried to seat in the recess in bottom of the RotGear.  Raising the hole that the thrust collar axis seats in by 11.5 mm sorted that problem out quite prettily.


Here you can see the revised HighArmSide part that supports the thrust collar.  I've overlaid the revised design over the old.  As you can see the new mounting hole has been moved upward a bit.  I simply plugged the old hole and cut a new one in the STL file.



Here is the forearm at full extension.


Contracting the forearm towards the bicep at the elbow.


Fully contracted, the lead screw slides into the recess in the bottom of the RotGear which allows the bicep to rotate in a perpendicular plane to its axis.



A closer view.


Removing RotGear you can see the lead screw seated where the recess in the bottom of the RotGear is.


A closer look.


Wednesday, March 20, 2013

Working on the Inmoov forearm/bicep actuator.

Gael Langevin's Inmoov robot uses a lead screw/thrust collar arrangement to move the forearm with respect to the bicep. He has noted that the lead screws are rather fragile and has, apparently, bought steel replacements.  I've priced lead screws and thrust collars and they are a substantial expense.  Given the goal of keeping the InMoov robot inexpensive it would seem that we should have another look at the notion of printing a lead screw.

While trying to get the servo for the elbow joint going I discovered that the 12.5 mm lead screw printed in ABS tended to suffer a shear failure in extension quite easily if you didn't have the potentiometer and servo settings just right.  After I'd broken three of them, I decided to take a crack at seeing if I could design a more robust lead screw with a larger cross section that would resist shear failures better.





I finally got a working model going this morning.  The cross sectional area of the screw is about 4.75 times larger than the 12.5 mm original. Basically, doubled the diameter of the lead screw and doubled the diameter.

Tuesday, March 12, 2013

Progress on the bicep gear box.

Well, I redesigned the lid on the bicep gear box and got all the pieces printed out.  I discovered that to print big footprint pieces you need to recalibrate the print table when you do a big print.  That doesn't take a long time and appears to be necessary if you intend to print pieces with dimensions over about 90-100 mm.

In any case, I spent a little time upgrading the lid to the gear box so that it take much less after print hand working than it did before.  The involute profile gear and the worm gear are, of course, opposite what one has in the shoulder.  For a 3D printer, that is not a big matter.

I did notice that the axis in the gearbox for the worm gear is about 0.5-1 degree off true.  That doesn't cause any real trouble, but I will remedy that later on.






I slapped on the same servo that I'd modified for the shoulder and, of course, the leads into the potentiometer were backwards to what they needed to be.  :-)

All the same, the HS-805BB servo turned the drive shaft barrel easily without lubrication.  

I got notice from the vendor for the spare gear sets for the HS805BB that they will arrive either this Friday or next Monday or at latest onTuesday.  Of course, they'd promised to deliver them by this Friday when I ordered them.  :-D

This weekend, I hope to have the time to get test the servos on the lead screws that position the forearm and the bicep away from the body.

Thursday, March 7, 2013

Left Shoulder Progress

Sadly, my consultancy is in a parlous state thanks to a perfect storm of crazy circumstances, so my thoughts and time have been almost completely consumed in the past month in doing everything I can to make sure that my contributions are not part of the problems my clients are facing. Over the weekend and in the odd hour this week, however, I've turned back to my project to get the left shoulder, arm and hand of Gael Langevin's Inmoov working.

I have been working on the Kinect motion capture part of the project in recent weeks while my broken UP! 3D printer was properly diagnosed by Brian Quan at X-objects and the warranty replacement parts dispatched.  On Tuesday, a full extruder head assembly arrived which enabled me to put the printer back into service.

Just before the UP! failure last month, I decided to redesign the worm gear box that is used so extensively in the shoulder.  My main objective was to create a smoother running gearbox that required less modifications after coming out of the printer to work.  Initially, I was going to do a radical redesign of the gearbox.  Eventually, however, sanity returned and I decided to make as few mods to Gael's gearbox design as I could so that other people building Inmoov could, if they wanted, use my modified box as well.

Aside from some minor mods to let the box work more smoothly with the involute profile gear and matching worm gear which I published in Thingiverse, the major problem that I wanted to address was the difficulty in assembling the box and especially in mating the worm gear to the servo.

Gael screwed the worm gear onto the servo's nylon turntable.  When I tried that, the screw heads clashed with the gearbox.  I found that when I put the screws in from the nylon turntable side, however, I had ample clearance without disturbing the basic gearbox configuration.



In this configuration it became a simple matter just to plug the servo into the back of the nylon turntable.

Placing the screw heads on the backside of the turntable did, however, create one minor clashing problem.






I had to place the screws on the next line of holes in on the turntable instead of the outside ring as Gael did.  Originally, the gearbox had a rather angular opening to accommodate the servo drive shaft.  I had to open that up a bit to let the screw heads pass properly.  This was no big matter.




Here you can see the nylon turntable and screw heads in the actual modified gearbox.




In a brief correspondence with Gael he mentioned that the weight of the arm was going to be critical to its successful operation.  That got me to worrying that we would eventually have to increase the torque to the gearboxes.  A search revealed several other servos which had much higher torque ratings available at prices either near or not too far from what the Hitech HS-805BB cost me.

I noticed that the original gearbox design depended heavily for stability on the strength of the servo box attached with screws to the gear box.  To lessen that dependence I strengthened the frame containing the gearbox so that more powerful servos could be used.





Finally, I did a little paring on the gearbox to give better clearance to the involute profile gear and the connector between the worm gear and the servo turntable.





The top to the gearbox will require some superficial modifications as well.  I used a Dremel tool with a sander to make them for this exercise and will apply the mods to the STL of the top later on.





Overall, the modified gearbox is no great departure from Gael's original conception.  I checked and it is not substantially bigger than the original and does not clash, as best as I can determine, with the bicep/shoulder assembly.

At that point I was ready to mate the servo into the gearbox and test the ensemble.  Unfortunately, I missed trimming the gear stop from the main drive gear, something that Gael very specifically showed me how to do in this pic in his assembly instructions.





That little omission cost me two stripped gears in the servo when I fired it up.  Fortunately, replacement gear sets for the HS-805BB cost about $10, so it was no big tragedy.  I cannibalized replacement gears from one of the other servos.  At that point, I discovered that what Gael thought was left and what I thought was left were two very different things.  Once I swapped the leads on the potentiometer, the gearbox behaved brilliantly!





Note that the gearbox runs smoothly without grease.  Mind, I intend to grease it when I put it in service, but for now, it doesn't need lubrication.

Monday, February 25, 2013

Sorting out the Kinect skeleton feature



The Kinect has some very clever software and firmware which enables it to capture the skeleton patterns of up to two people at the same time.  I have been tracking the progress of the Kinect since it's introduction and bought a commercial, as opposed to an Xbox release, when it became available in 2012.  With the rapid completion of the Inmoov robot print here and the successful testing of the Mini Maestro 24 servo controller with the Hitech HS-805BB servos used to move the arms and shoulders, I began to delve into the Kinect SDK.

The Kinect can capture skeleton patterns in two modes; full body...



...and upper body {seated}




Extracting the Cartesian coordinates of the bones in three dimensions is straightforward.  Being a naturally suspicious sort, however, I decided to check to see how consistent the length of the individual bones actually was.  As I suspected, they vary.  This shouldn't be surprising considering the wickedness of trying to figure out the position of bones buried in flesh and muscle starting only with surface measurements of the body and on top of that making the calculations at a rate of thirty frames per second.

Just eyeballing the captured data it appeared that the bone lengths were varying wildly.  When I took a mean and standard deviation for each bone, however, I discovered that the calculation was remarkably consistent. I made a test data set using myself as the subject.  The measurements are in meters.


Mean SD
Shoulder
Left 0.217 0.017
Right 0.218 0.013
Humerus 
Left 0.242 0.025
Right 0.241 0.026
Forearm
Left 0.235 0.024
Right 0.235 0.026
Palm
Left 0.089 0.034
Right 0.086 0.029










The numbers are not too bad.  The wrist/palm measurements are the worst.  I have extra code which I hope will give better results for the hands and fingers.

The next step will be to see if I can transform the coordinates into something more useful with the Inmoov by fixing the bone lengths to calibrated means.

Saturday, February 23, 2013

Kinect Progress 13-02-23



This morning, I got a note from the UP 3D printer people that they wanted to do a Skype video session to put my printer right.  I thought they meant right then, but was wrong, apparently.  While the new extruder heater block helped matters it didn't fix my UP.

In the meantime, I worked on the Kinect motion capture task.  I have it capturing the upper torso, head and arms and transferring it to a disk file.  My programme is very crude.  I simply identify the joints and put the coordinates in a list box.  Surprisingly, my PC and Visual Basic 2010 is able to keep up with the 30 frames/second that the Kinect does that process at with no effort whatsoever.  After I record a session, I simply save the XML formatted information to a file.

My next task is to restrict the saved output to the left upper torso, shoulder and arm and to covert the cartesian coordinates to joint specific coordinate systems which match the kinematics that Gael has designed into the Inmoov arm.

Tuesday, February 12, 2013

Commissioning the Mini Maestro 24 servo controller



I managed to get the drivers installed and the Visual Basic 2010 example coding running on my PC and demonstrated that I could drive a small test servo from my keyboard.


My old ATX PC power supply seems to be able to handle the test servo without a lot of bother.  It is rated at 30 amps, so with luck I won't have to do what Gael did with batteries and a charger just yet.  In theory, this controller should be able to handle the whole Inmoov robot.  It will certainly handle one arm, I hope.




I order the HS-805BB servos.  They should be here by Friday.

Just discovered a spool of 250 yards of 8 lb monofilament.  That should work for the hand.

Monday, February 11, 2013

Left arm of Inmoov robot complete



Printing an assembly for the left torso, shoulder, bicep, forearm, wrist and hand is complete.


Front view of left torso assembly, shoulder, bicep and base of forearm.


Detail of rear view of upper torso and shoulder.


Left arm raised.


Forearm flexed.


Forearm extended.


Detail of lead screw and collar controlling the left shoulder.

The Hitech HS-805BB servos that drive the torso and arm kinematics are on order.

Sunday, February 10, 2013

Printing Gael Langevin's Inmoov Robot

Andreas Maryanto and I have been working on animatronic hands for some time now with Andreas' Dexhand project streets ahead of my own efforts.  About a year ago, I happened across a printed hand done by hairygael {Gael Langevin} in Thingiverse.  It was interesting enough that I printed a copy of it, but at that time Gael had not got very far with the design, so I neglected to follow his subsequent progress.

Big mistake!  About a week ago I discovered that Gael's modest beginnings had subsequently blossomed into a full fledged animatronic robot upper half.



I was both shocked and completely entranced by what Gael had accomplished in so short a time.  Gael was kind enough to make his print files open source, so I immediately began a campaign to print a copy of his robot.  Using his files, I have so far managed to print out a copy of his Inmoov robot's left arm.



I apologise for the poor quality of the pictures.  My own camera was lost a few months ago when my son's car was broken into in Seattle and I have been remiss in replacing it even though his insurance company was quite prompt in reimbursing him for the loses.

At the moment, I have not tried to install servomotors but have concentrated on understanding how the many pieces go together.  I shall be buying the torso, shoulder, bicep and wrist servos in the next week or two.