Okay here are the ears. These ears are for the look, they actually don't really have a function. They were initially designed to act like a circus in which the microphone was inserted, but the servos are making a lot of noise and I haven't found a simple solution for to get these ears to listen well.
If one of you can put some microphones in there and get good results, let us know on the forum, it would be nice. I can always redesign something for it.
Just, one day! Can you imagine fifty 3D printers working at the same time to produce InMoov in one day. Builders actively organizing the files to be printed, Hackers getting the parts ready and preparing the program in one day. The result should be a World Record Event (according to Ground3D) which will take place on the 25 of may in Utrecht in the Nederlands. This is an event organised by the Protospace Fablab in Holland. If you can read dutch this is for you: LINK. If you can't read dutch, use the Google translator.
This is very exciting! I have been contacted by Ground3D which has been printing InMoov parts since a while. When they first contacted me I wasn't abble to pick up the phone so my wife did. They must have been surprised to get someone who could converse with them in dutch. (She is from Holland) So the plan is to dispatch all the files on 50 different printers, it is possible that some very long printing parts will be started the previous day. (Just in case) They seem to know a bunch of hackers, which will prepare and assemble the parts once they are printed. Some other hackers will organize all the wiring and programms. We still need to see if they plan on using MRL and Arduinos, but I really hope so because it is part of the force of InMoov. I will let you know more when I get more info. I will certainly try to attend this event although it isn't that close by. I wonder why this just doesn't happen here in Paris, it would be so much easier... In France, there is a blob in Science & Vie junior in the 284 issue.
Apparently, it leaded them to make a full article about robots in the next issue (285). She looks like InMoov's wife..
In the meantime during the nights, I keep on working. It's been a while that I want to test a finger sensor. J Ha, an Australian InMoov builder, has been busy making some sensors for the hand, his last video is very interesting because he has done a mechanism where the whole servo moves according to the pressure. J Ha also has printed almost the whole robot, so according to him, he will soon let us know how he did this sensor mechanism. I had found on the Instructables a very simple and cheap way to create sensors, so cheap that I had to try it. So I got myself some of that antistatic foam used to protect circuits from shorting. A board of 40cm X 25cm X 0.5cm cost 3 euros. I have cut two disks of copper in the diameter of the finger and another disk in the foam. The copper I had it laying around my workshop, aluminium foil can be used as well.
I ran two very thin wires through the hinges up to the tip of the finger, soldered them to the copper disks, if you use aluminium foil you won't be able to solder it. Then I sandwiched the foam between the copper disks. Using a two component epoxy glue on the outside of the disks, I managed to glue it all together preserving the spongious effect of the foam.
Writing a script in the Arduino.exe took me a lot of time, that's why I got to bed only at 4 AM. All the scripts I would find on the net were about how to make a servo move when triggering a pressure sensor. But my goal was different, I want the servo to stop moving when the sensor gets a certain amount of pressure, plus I wanted to be able to visualize how reactif was my DIY sensor, to make the servo act in accordance. Another problem I had with the script was to slow down the servo during it's movements to get relevants values out of the sensor. If the finger goes very fast and hits the objet strongly isn't the same factor is if it encounter the object softly. The script is still not correct but I got to see what I wanted. I also used the Oscope in MRL to see what curves it would produce and what was the minimum and maximum values.
The result of the Oscope, here, shows a min value of 0 and a max of 347 which seems pretty good to me. This was obtained by pressing firmly and releasing the finger tip. I had never used the Oscope of MRL and it is a fine piece of the software which can be very handy. Bellow is a little video done at the request of Grog, because this way he can maybe integrate and adapt the script in the InMoov Service with Python.
Now, I have ordered some QTC pills sensors which are ridiculously cheap and will modify the finger tip to improve the pressure impact direction. Users will be able to just remove the finger tips already printed and add that modified finger tip to simply benefit of a pretty effective sensor. The other night I was for the second time testing the recently rebuilt tracking service in MRL and somehow I got to burn my second Hitec HS805BB. According to Grog I shouldn't test it anymore until something is fixed in the service. I guess I will listen to his advise. The servo goes beyond it's range for some reason. Expensive tests...30 euros to the trash. Replacing the RotHead servo in the head gave an odd and creepy feeling in the worshop the other night...
Working with the InMoov tracking service in MRL showed some limits. The movements of the head up and down limits the range view of the robot. Since the cameras I used aren't wide angle lens and if I would add another lens, the tracking would get confused because of distortionned images. That's what I understood from different posts on the forum, so I did'nt buy a wide angle lens to try. Now the option was to build a mechanism for the eyes. In earlier post I had discribed it, but couldn't upload it on Thingiverse because of servo failure which resumed my test to a few minutes of movements.
Since then I was waiting for some other servos, some DS929HV from HobbyKing, which finally arrived. After a few test the mechanism had to be reviewed again. Somehow the eyes would get stuck upwards, the skull had a thickness that had to be modified before it's release.
Now the mechanism seems to fonction properly. It isn't very strong and not really easy to hook up in the head, but since I want to go on with the legs, I will release it, as is. Hopefully some of you will make more performant derivatives on Thingiverse.
The tracking service integrated in InMoov is under work by Grog on MRL at the moment, so I can't really make more test with that. Plus, I have bought two Adafruit 16 chanel boards for to extend the servo number capacities of my two Arduino.
I did some simple test with the Adafruit boards using the Arduino library and it works. Now Grog needs to add on his working list, the implementation of this two boards in the service... I don't know when he is going to find time for that.
The goal is to create a tracking service which will benefit of four actuators, two for the head movement and two for the eyes. It's like adding a pan/tilt mechanism in another pan/tilt...According to Grog and Alessandruino (A friendly participant of MRL which is of great advise) it is faisible.
Below is a video of the tracking recorded through the camera of InMoov.
the video is slow and corrupt because the codec encoder I choosed in MRL
OpenCV wasn't the right one. So I can't cut uninteresting parts and
also can't speed it up. If you really have time to loose, you will see
the InMoov's hand showing the teddy bear to the tracking, after that I
give voice commands (which aren't recorded), the tracking head moves
accordingly to the tracking set point. When the hand reaches the bottom
of the screen, this is the limit of the head movement. I did try a few
times with the same voice commands "one", "two", etc like seen in
previous videos without succes. Of course I could modify the gestures to
stay in the view range of the tracking but it is too limited. Now
adding the movements of the eyes to this, hopefully I will gain in view
range.
Again nothing much happens in this video, so if you really have time to loose, go ahead
Okay you will find the eye mechanism Here.
I have done pictures of the assembly and need to make the tuto. The connections to the Adafruit board still needs to be done, so no details about that.
Concerning the ears. I haven't solved the noise problem coming from the servos interfering with voice command, so instead of loosing time on that, I got myself a Bluetooth head set with microphone which let me give the commands pretty safely. This is what I got: Logiteck 981-000382 Wireless Headset..
So at the moment the ears are just for the look, I will upload them as well. If you find a way to use microphone in there, please let us know on the forum.
The foot and ankle still needs improvements, but all together the principle of double contrary rotational system that I imagined seems to work. The ankle can take any human positions at rather fast speed. How to control it, so it adapts itself to an uneven floor still remains a question though... I need to reinforce someparts because they wouldn't last long with the full robot standing on them.
I designed the foot with a look halfway between a foot and a shoe. The big toe doesn't look anymore like on these photos, it is now, more integrated to the other toes. Also the toes fold more to a 45 degree angle now.
Here are some pics.
Beside the foot which needs to be improved, that meens somehow redesigning some parts, I decided to make myself happy and to enhance the look of InMoov.
The Torso was initially designed to receive a shell for to create a chest and a back. I only worked on the chest for now and reserved a space for to insert the kinect Xbox360. The space reserved should allow other users to insert other brands of Kinect. On the pictures below it doesn't show how it is inserted because it will come right under the printed chest. I still need to print those parts to make sure it all fits together.
Of course I couldn't resist to put the InMoov logo on his chest... These new parts gives him a pretty sturdy figure, I'm happy with the look. That's where my sculptor feelings are the best exhorted.
And this is what I think is pretty cool at the moment. Playing with InMoov seems slow but when I see how difficult programming is, I think they did a fantastic job. Their goal is to present it at the MakerFaire in Taiwan.
Paper Scissor video:
Luckily I just got an Iphone. About a year ago when I was working on how to configure my PC to control the arm with a keyboard, I was getting help from Zack through the Net. Back then he said, if I had an Iphone I could certainly control the servos with an Iphone. Unfortunatly I wasn't possessing one.
A week ago, I finally got one and a few days later a new InMoov builder posted a video on Youtube which was actually exactly what Zack had been talking about. Brancante, the new builder, was kind enough to post a simple tutorial on the forum, which I followed and adapted to a whole arm. Of course it would need more adaptation for to use it controlling both Arduino boards, but the results are fun and interesting. This is not going through Myrobotlab. Although Grog, a few months ago, has been mentionning this possibility to play with the bot. In the following video, beside using the Iphone, I demonstrate how the robot can lift weight. it has been a recurrent question, because some builders seem to have trouble with their replicant for to just lift a arm. Even though they use the same servos as me. I think the key is to make sure every thing runs smooth and to grease very well the wormgears. If parts are to tight or not smooth enough, it adds difficulty and stress to the servos. I'm just amazed how those tiny little motors can be so powerfull at the end. I had ordered servos for the legs by Hobbyking, but the post has lost them, this is going to delay even more my research, unfortunatly. I hope it will be solved soon and to get a refund somehow...
The ankle and foot mechanism was printed and tested, I definitly need to redesign a few pieces for strength but all together it operates as expected. I'm sure a lot of robotisist would laugh if they see my design, because creating a real foot shape for a robot that needs to walk is still pretty much an aberation. Most of the robots I see have feet made out of large plates to ensure their stability. But I can't force myself to reduce a humanoid looking robot to have feet like an elephant. Even if he never walks because of that choice.
Aaah, I guess we can always screw large boards under his feet...
It's Easter and the bells brought you something cool! Okay, it took me a while to release my robot's face, but understand me it isn't easy to just give away. You guys better be very gentle with him because I will have eyes and ears every where.
So parts are available on Thingiverse and Cubehero. I dispatched them just to protect the Open Source goal of it. I think assembling should be pretty easy to figure out. There is parts that needs to be glued but for the rest it is all assembled with screws, this is mostly for to access the components and mechanism inside the head. The eye mechanism is ready but I wait for a little servo to see how it reacts with stereo movements.
Thanks to Grog, Myrobotlab keeps improving and it seems like the Cortex service is going to be pretty amazing. Added to InMoov service we should get memory. Grog said, "I've been mostly busy trying to make meaningful Memory . Memory
in the sense of abstract ideas, objects and relations and a way to
visualize them. It's been challenging but I think I'm finally done with
most of the structures and am starting to work on the visualization of
memory."
Beside these crazy days of work I just went through, I wanted to find a solution concerning the restriction movements of the HK15298 servos. While trying to assemble some junk parts of InMoov to create a simple device for testing a servo connected to one finger, I got an idea.
Hey! but this is what is needed for the beginners, a simple kit which has a finger, a servo, and an Arduino.
The black printed finger is one of the junks I had in my box, very low res print...
This is going to be fun, if you never tried an Arduino and a servo together, we are, Grog, Chris and I, going to make things very simple for you to learn. First a tuto for to assemble and print this baby InMoov and then a video tuto on how to start MRL in a very simple way to start playing with this. Grog is going to create a service called InMoov Starter and hopefully it should be pretty easy to make it all happen.
Once you understand how to control this toy, you should be ready, mentaly, to build the complete robot...(Mmmh maybe not, we will see)
Well, I got bad news for those who bought the HK15298 servos for the forarms. It seems these digital servos have a restricted rotation from 0 to 90° which doesn't let the fingers do their complet movement.
There is search going on at the moment to see if we could reprogram them to get a rotation of 0 to 145°, but it won't be an easy thing, I think.
So if you are about to buy these servos, try to get some others with a 0 to 180° rotation like the analog MG995 I had at first.
This has lead me to design another bracket system.
As it was in my previous version the servos were set sideways, and we could have a total of 5 servos.
The space between the bottom actuator and the robpart was really small
I wanted to create some printed actuator rings with a bigger diameter which would allow restricted servo rotation to get more pulling developpement. So I turned all the servos up, this way I get more space and actually it all comes out more fonctionnal. I remember when I first designed the forarm brackets, how much time it took me to create it. It was insane.
This went actually pretty fast.
I have uploaded it on Thingiverse.
You can get here.
You don't need to reprint the "robparts", it can just fit in. You only need to remove two little parts with a plier and it all should go nicely. Fixing the fishing braid will be an easy task, done with a few nots.
The nice thing about this, is that we can have an extra servo in the forarm now. That's a total of 6 servos. With a bit of redesign we could even have 7 servos in there.
We can actuate the thumb with this derivative or create something to move up and down the wrist.
I haven' t tried to print it yet, since I don't need it, but I think it should be fine.
The assembly is pretty straight forward.
Have fun!
I have done the complete step by step for the assembly of the neck and jaw. This should get you going. Check the "Assembly help" tab. There might be some stuff to modify but it works in my InMoov robot like this for now, and I'm not going to review it all again so you might as well try it like this. Remember if you decide to modify some parts, there is the eye mechanism, still to come in there.
I hope you have fun building this, sometimes I which I was you guys. What took me a month to create, you just print it and put it together. I'm getting a bit jealous...
Please post your pictures on Thingiverse otherwise I don't keep posting parts!
Sometimes I find people building InMoov, posting pictures on their own blog or site and making modifications and not sharing their work. Not even attributing the parts to InMoov.
This "was" the exemple of what I meant. What do you think about that? At the time I put this link their post has been modified. So thanks to them. I hope, we hope, we all hope they will put their derivatives files for download.