2013-02-05

InMoov Vision Tracking

Last night I made a test after Grog from MyrobotLab has been improving the service tracking for InMoov.
It works pretty well out of the box, I am always amazed how Grog can do those modifications. The movements are rather smooth. If I move the object too fast, InMoov loses the track, so there is a bit of tweaking to do, but there is solutions.
The movement of the head uses only two servos for now, up/down, left/right. There is another servo (HK15298) for to actuate the jaw, but it isn't actif yet. Then two small servos (XGD-11HMB) will be used for to actuate the eyes/camera. I haven't tried these small servos yet, but they can actuate 3kg at 6V, it should be enough. It means later, four servos will be using PID controlled for the vision tracking. 
We should get further very soon I think.


2013-01-25

Stand Holder for Torso

This thing was made for my previous torso and someone on the forum requested it for download.
Unfortunatly the torso has been redesigned since then. 
So tonight I pulled myself on the front of the screen, launched Blender and modeled this new part.
Never tried it though, so use it carefully.
It's the green part on the picture, handy stuff, you can now set InMoov on a broomstick.
Ahh, I wish it could already clean up my shop!!

Stand HolderV2 



2013-01-20

Torso for InMoov on Cubehero

Hi all,
The torso parts, which allows you to make the junction between the two shoulders and the neck, are uploaded on Cubehero for the moment.
I'm trying to see how that works.

Of course for now the site doesn't look as fancy, compared to Thingiverse, and has some problems to be solved. I can't remove a part that was uploaded by mistake. (It's the one with no thingiview image)
But the guy that runs it is very responsive.

https://cubehero.com/physibles/hairygael/Torso_for_Robot_InMoov

For the building of those parts, check the Tab "Assembly help", it is explained with the shoulders construction. 

When I will have a bit of time I will add some sketchs.

My troubles with power supply are completly gone since I use the batteries. Remember in a previous post, I had jittering servos which would move erraticaly. 
No more of that, I can really focus on the next parts. 
The good news about battery powering, is that it makes InMoov independant for the days he is going to walk around.( Well if he ever walks around...)
One battery is enough to power all the servos, I had bought three, so I'm using all three.
They are very cheap, I found them on a special offer for 8 euros each.

This is great! I found it in my street, someone had dumped a desk chair with wheels, although it is forbidden to dump in the streets.
At least it made a happy finder.
I removed the seat, added a metal tube I had laying in the workshop. It's a super stand for InMoov until he gets his own wheels or feet.

2013-01-03

2013-01-02

Shoulder InMoov for New Year, 3d print it!

Happy New Year to all of you crazy robot fan and builders!
I have a little present for you ready to download. You should be abble to build the shoulder with succes if you follow the tutorial I am going to post in the Assembly Help tab.

I know some of you have been waiting, but I had to redesign and reprint this a few times before to finally get it the way I like it. My initial design and prints didn't have enough DOF, and my second design was too large to stay in a human size range. I tried to use parts of the bicep, but came to realize there was to much pressure/torque on the worm gear, so that also had to be redesigned.
initial design shoulder 3d print
This was the initial design of the shoulders

Redesigned torso DOF 3d print
Then I redesigned the whole thing to get more DOF

3d printed robot
Final result of the torso with shoulders


Of course it could be much more improved but I don't have enough time and money for to do that. For exemple, the printed screw threads could be replaced with linear actuators, making it more accurate and strong. But I try to manage my wallet for this project, and I know a lot of you are in the same kind of position. So if you've got a thick wallet, you can replace those parts fairly easily. I have made the space for it and added attachment holes for to be adaptive. The others with a smaller budget can print and play, if it breaks, well, reprint. Or get them printed by Shapeways in stainless steel for a reasonable price.
inmoov screw 3d print
These are some of the broken and rejected prints I didn't throw away.


But be reassured, I've had these parts on for several weeks now and I have been making them run already quite a few hours, sometimes mistreating them badly, and they are holding. The main breakage I had, were during the implementation of the servos speeds and positions feedback, plus a problem with my power supply, which would make my servos act erratical. If they go further then the limits, they break.

Anyway, like I say following the tutorial should make it easy to construct.

I also need  to upload the torso because the tuto concerns it too. My problem is that I'm not finished with it.
You see I need to think of the vertebra attachments to the torso and that might change a bit still.
We will see...




2012-12-08

Power supply + robot head printed

Being stucked on a problem is never fun, and this is what's going on right now. 

I had bought a fancy power supply thinking "This is The One" that will power the whole robot, but I guess I was wrong. You see since the beginning of this project I had been using a very small power supply DC6V3A I had laying around in my workshop. But by adding more and more servos to it, I came to realize it was not enough anymore to power up the 22 servos of InMoov. During the initialization, each servo seems to draw about 2 Amps. I guess I was just lucky with my small supply to already be able to run the arm and not fry it instantly.

So I got "The One" after searching quite a bit on the net, it seemed to have the amps I required and the 6V I needed for the servos I'm using. 
This thing was expensive, but it was sold by the same kind of shop that sales servos for hobbiest so I thought it must be compliant. I'm no electrician, I do all those things by guessing...

Okay, I received the Power supply, I was excited because I was going to finally get the whole robot to move. First thing I did was to test with a simple Arduino sketch with only one servo. It worked perfect!
Since I had the right arm connected to the Arduino Uno, I plugged it and ran the simple Arduino sketch again. Perfect!!

At that point I had to think of making a small pcb board to connect all my servos and my two Arduino board all to that single power supply.


Once again I ran a simple test with my two Aduino boards and only 8 servos attached. It went perfect again!
Boy, was I getting excited!
So I went straight forward and plugged every thing together, 22 servos, 2 Aduinos, 1 power supply. I had used only one side of the output of the power supply, instead of both, which can each deliver 20Amps and I think here lays my mistake.
I ran the simple sketch which is only moving all the servos from, let say, 0 to 30 position. Some of the servos were already at 0 position. Then they all had to move to their new positions, here started some strange behaviours. Some of the servos were jittering (shaking), and the movements of the robot became erratic.
I unplugged everything, rechecked all my connections, everything seemed okay.

At that point I thought, I must have plugged or touched something that did that strange acting, and decided to go on.

So excited I was , it was the time to get InMoov controlled through Myrobotlab.
Here starts the initialization, and I get this same kind of strange behaviour, all servos buzzing, erratical moves.
Then all of a sudden one of the arm starts to twist way further then what it is supposed to do!!
WOW! I unplugged everything...
I ran the same test again, but this time everything went off at once, no more power. The power supply is protected against short circuit, thermal heat, and overload drawing.
I checked all the connections one by one again, nothing was wrong.
What was the problem, so I restarted with my first initial test, 1 Arduino, 1 servo, simple sketch, it was not perfect at all anymore. It was acting totally erraticaly...! 
And since then of on.
There must be something damaged in the power supply, strangely if I use it with another device, like a little DC motor, it works normal.

So, end of the story, back in search on the net. I read on this page what I hadn't found before about switching power supplies with servos.
Now, I have ordered three batteries with a small charger. They were very cheap when I passed my order, 8 euros per battery. I think that will do for now, I also had found some Lipo batteries but they are rather expensive.
I really would rather a power supply, because I just don't want to have doubts about the power or wait for charging time. I need a DC 6V 44Amps or more, no swithching, with a 250V input.
Would be great if someone has an idea. Any suggestion is welcomed, please post in the comments.





In the meanwhile I have been designing and printing more parts for the head. I also redesigned the top of the front torso, the other was going too high in the middle, and it bothered me because it wasn't taking a human shape structure.
The jaw has it's own servo motor mounted and can be actionned. I still need to test the microphones in the ear circus amplifiers, but this is pure creating guessing. I have no idea if it's going to help InMoov to hear better the voice commands. But hey, why not try something different since I can print and design what ever I want!
3D printed robot head inmoov
Robot head sideway without ear

3D printed robotic head inmoov
InMoov has ears and jaw attached

InMoov robot new neck and yes
Changements have been done on the torso structures of InMoov




2012-11-12

InMoov's brain at work

In my previous post, I was talking about Myrobotlab for the brain, and I want to explain a little bit more of what's going on. I have been searching for an easy to use software in order to control InMoov's servos. My goal was to be as open source as I could, so keeping my Arduino boards, and not to go into closed systems. Of course the choice is yours once you are building your robot. Through my search I read on different forums about Myrobotlab and this guy ,GroG, was the one who ruled it.

I had tried to use the software a few times, trying to figure stuff on my own, but I finally decided to contact him. And boy, what a help! The Gui still remains opaque to me, but since I had been fooling around with Arduino scripts since January, I was ready to jump into Python scripts. At my very low level of knowledge of course. GroG has been helping to figure out many problems I had with scripts but mainly has been working on creating a special service in his software for InMoov.

This means if you have printed let say the hand and forarm and set servos inside and you are looking for a way to control it, with that service you can. It allows you to test your servo's movements with sliders. If you have a microphone with your PC you can give voice commands to your servos. OpenCV should be easily installed when you install the software, that will allow you to control with it's own vision your robot.
There is Tutorials, and maybe some more coming up for easier understanding.

For the software to take control of the servos through the Arduino board:

-First download Myrobotlab. Here Get the last one on the bottom of the list.
-Unzip into your hard drive C:\
-Open the folder Myrobotlab in C:\ and double click on myrobotlab.bat
-Right click on InMoov's service and click "install"
-Start the Arduino service by right clicking on it and give it a name, for exemple: arduino1

-Choose in the Arduino tab, the type of board you have and which serial port it is connected to.
-Then upload the script on to your board. (It seems that sometimes it doesn't work through the GUI, in that case copy click the script and upload it directly on your board using the Arduino.exe)

-Start the service InMoov by right clicking on it and give it a name, for exemple: inmoov1

 -At this point the GUI will load all the servos and will attach them to your board.
If you click on the "thumbRight" tab you will have access to the slider of the thumb servo.
Notice all the servos and two arduinos are now available in the tab bar.
This is for both arms, right and left + the head.
Ear tab is for giving voice commands, Mouth is for the robot to talk back.
OpenCV is if you have a camera set in the head. (Although those STL parts are not ready for downloads yet)

So now you have the base, it's up to you to play around, discover and there will be more to come according to GroG.

Following the tutorials might help you to go further.

Hope you have fun!