Note MyRobotlab is a work in progress and in constant evolution, this tuto can be out of date within the next day I post.

But hopefully it will guide you in the correct direction.

SETUP & PREREQUISITES
STABLE RELEASE:

Manticore 1.0.2693

1/ Download & update
JAVA – https://www.java.com/fr/download/manual.jsp
( if your computer is 64bit, please take 64bit version )
CHROME – https://www.google.fr/chrome/browser/desktop/index.html ( set it to default )
ARDUINO – https://www.arduino.cc/en/Main/Software
2/ Set the Port com of your Arduino(s) in device manager to 115200 BAUD.
3/ Create a new directory [mrl] on root of your disk like this C:\mrl\
4/ Download script : myrobotlab.1.0.2693.4.zip and extract like this in your C:\mrl\

MRLwindow

 

 

 

 

5/ Double click START_INMOOV.bat and wait a while for MRL to complete the install, clik exit when the install is finished.

6/ Double click START_INMOOV.bat to re-start. Once MyRobotLab has started, you can use InMoov in Virtual mode, to get in Full mode, follow the next steps.
7/ Close MRL and upload the MRLcomm.ino code in your arduino from C:\mrl\myrobotlab.1.0.xxxx\resource\Arduino\MRLComm
8/ You can setup your arduino portCOM , service_6_Arduino.config in config folder
9/ Edit to activate the _InMoov.config to define which “real”parts you want to control.

Virtual mode, no servo required:

RightSide mode, for Finger Starter or right hand:

Full mode, servo required, all servo can work:

10/ In  _InMoov.config you can also define language. To modify the voice type, edit service_5_Mouth.config and define the SpeechEngine and the voice you want to use. See below for more configuration info.

11/ Edit to activate as True or False each of the skeleton_XXX.config files regarding each body part you have built.

12/ In skeleton_XXX.config, set your  mappings with min and max output for each servo and save. (A tool script is also available to test each servo one by one in C:\mrl\myrobotlab.1.0.xxxx\tool)

13/Double click START_INMOOV.bat

14/Enjoy!!

More info for to set your configuration files on Github:

 

Get a LOT more information about this GREAT software at:

 

 

 

 

###########################################################################

############################################################################

Official  Older versions:

VERSION 1.0.2693.2:

myrobotlab.1.0.2693.2.zip

 

VERSION 1.0.2693.1:

myrobotlab.1.0.2693.1.zip

 

VERSION 1.0.2340:

myrobotlab.1.0.2340.zip

  • Known issue with OpenCV filters.

 

 

VERSION Kraken 1.0.1723:

  • This version fixes issues with tracking related to 1412 with speed.
  • Adds more gestures to answers through programAB
  • You can ask the battery level of your bot PC
  • It can translate for you, say for exemple: translation in French. More info in translate.py and translator.aiml
  • It can Face recognize, say Face recognizer then train it. More info here.
  • AcapellaSpeech has gone down, we now use MarySpeech as default but NaturalReaderSpeech can be used in beta versions.

WARNING : The InMoov3 scripts are working well with MyRobotLab 1.0.1723 release that you can download here.

This quick “Tutorial” is included in the zip file.

1/ Install java: http://java.com/fr/download/win10.jsp
2/ Install Arduino IDE or update it’s library:
https://www.arduino.cc/en/Main/Software
3/Flash your Arduino board with the included MRLComm.ino
4/Set the Port com of your Arduino in device manager to 115200BAUD.
5/Install Google Chrome and set it as default (for voice recognition)
6/Set the folder “Myrobotlab” as C:/Myrobotlab and keep everything inside
6/Unzip the folder “myrobotlab.1.0.1723″ as C:/Myrobotlab/myrobotlab.1.0.1723. At this point myrobotlab.jar is functional.
7/In C:/Myrobotlab/myrobotlab.1.0.1723, Edit “mrl.bat” and set the correct paths. This is to kill the Java agents and to re-open automaticaly your prefered script.
8/Download a InMoov3 FULL script at:
https://github.com/MyRobotLab/pyrobotlab/blob/master/home/hairygael/InMoov3.Deep.AB.V7.py
9/Edit your InMoov3 Python script and check paths are correctly set:
gesturesPath = “C:\Myrobotlab\ProgramAB bots\gestures”
aimlPath = “C:/Myrobotlab/myrobotlab.1.0.1723/develop/ProgramAB”
aimlBotName = “inmoovWebKit”
aimlUserName = “YourName” (change this to your name)
10/In C:/Myrobotlab/myrobotlab.1.0.1723, double click on mrl.bat
11/Once everything is launched, Clik on the red Microphone of Chrome and say something, InMoov should respond. If it does not respond you need to go into the microphone settings of Chrome.(step1 to 6)
12/Say “close your right hand”, and the right hand should close. VOILA !

<iframe width=”560″ height=”315″ src=”https://www.youtube.com/embed/230FjTTJw6s” frameborder=”0″ allowfullscreen></iframe>

 

VERSION 1.0.1412:

WARNING : The InMoov3 scripts are working well with MyRobotLab 1.0.1412 release that you can download here.

This quick “Tutorial” is included in the zip file.

1/ Install java: http://java.com/fr/download/win10.jsp
2/ Install Arduino IDE or update it’s library:
https://www.arduino.cc/en/Main/Software
3/Flash your Arduino board with the included MRLComm.ino
4/Set the Port com of your Arduino in device manager to 115200BAUD.
5/Install Google Chrome and set it as default (for voice recognition)
6/Set the folder “Myrobotlab” as C:/Myrobotlab and keep everything inside
6/Unzip the folder “myrobotlab.1.0.1412″ as C:/Myrobotlab/myrobotlab.1.0.1412. At this point myrobotlab.jar is    functional.
7/In C:/Myrobotlab/myrobotlab.1.0.1412, Edit “mrl.bat” and set the correct paths. This is to kill the Java agents and to re-open automaticaly your prefered script.
8/Download a InMoov3 FULL script at:
https://github.com/MyRobotLab/pyrobotlab/blob/master/home/hairygael/InMoov3.Deep.AB.V4.py
9/Edit your InMoov3 Python script and check paths are correctly set:
gesturesPath = “C:\Myrobotlab\ProgramAB bots\gestures”
aimlPath = “C:/Myrobotlab/myrobotlab.1.0.1412/develop/ProgramAB”
aimlBotName = “inmoovWebKit”
aimlUserName = “Gael” (change this to your name)
botVoice = “Ryan”
10/In C:/Myrobotlab/myrobotlab.1.0.1412, double click on mrl.bat
11/Once everything is launched, Clik on the red Microphone of Chrome and say something, InMoov should respond. If it does not respond you need to go into the microphone settings of Chrome.(step1 to 6)
12/Say “close your right hand”, and the right hand should close. VOILA !


Many explanations of the below older version are still very useful. So you might want to read it as well.

 

VERSION 1.0.107:

WARNING : The InMoov2 scripts are working well with MyRobot Lab 1.0.107 release that you can download here.

There is also a tuto done on the site of MyRobotLab : How to start new MyRobotLab

A tutorial video done by Alessandro:

This is a older version installation technique:

Lets try to do this in order, I assume here you are using Windows.
Make sure your microphone and output speakers are correctly set in your Windows/Control panel/Hardware sound preferences

Download the .jar file 1.0.xx here

Create a folder in- C:\MyRobotLab

In that folder create another folder- C:\MyRobotLab\Myrobotlab1.0.xx

Move the .jar file in to the folder Myrobotlab1.0.xx-  C:\MyRobotLab\Mrobotlab1.0.56\myrobotlab.jar

Double click on: myrobotlab.jar

This will open the GUI of MRL(myrobotlab)

Go into tab “runtime” select “inmoov”, right click and Install.

The GUI will download components and prompt to agree for a restart, click OK

Do the same for to install “arduino”

Do the same to install “python”

Now, go into tab “runtime” select “arduino”, right click and Start

Give a name: arduino

Go in the tab “arduino”

Copy from the editor window, the whole text of MRLComm.ino

Close MRL(myrobotlab)

Open the Arduino IDE (arduino software)

Paste in the editor window the whole text of MRLComm.ino

Select in tools your board type and COM port.

Compile and Upload to Your Arduino board

Close the Arduino IDE

Go back in to the folder Myrobotlab1.0.56
Double click on: myrobotlab.jar
This will open the GUI of MRL
Go into tab “runtime” select “python”, right click and Start.
Give a name: python

In the GUI go into file/open the InMoov2.minimal.py script you downloaded at the beginning of this tuto.

On the script modify the COM port according to your arduino board port.

You can save the script for the next time in file/save

Click on Execute.

You now should be able to voice control the hand with the voice commands that are on the script.

For exemple: close hand or open hand…

You can also use the sliders to trigger manually the servos.

The next time you want to re-launch MRL:

First make sure that there is no java.exe or javaw.exe (zombies) still running by opening Task Manager and killing the Zombies.
Go back in to the folder Myrobotlab 1.0.XX
Double click on: myrobotlab.jar
This will open the GUI of MRL
Go into file/open choose the script you want
Click on Execute.

 

Saving your own settings for InMoov in MyRobotLab:

You simply need to have a script in which you set your desired positions.
Here bellow is a minimal script to understand the basic of the hand.
https://github.com/MyRobotLab/pyrobotlab/blob/9eb96ed1d094b23f5bfbce843251f81d225b3e8b/toSort/InMoov2.minimal.py
Here is my complete script, which allows you to do all gestures with voice speaking commands t the robot.
https://github.com/MyRobotLab/pyrobotlab/blob/master/toSort/InMoov2.full3.byGael.Langevin.1.py

To do so, in MRL install the python service if you haven’t done that already.

Copy paste the script into the python tab. (make sure to copy the raw file in github, because python is very delicate with indentation)

Save the file through the python tab where you like it.

Now modify the script according to your settings.(limit of your servos)

Once ready save the file again.

Next time when you re open MRL, open up the python script which contains your settings.

And you are good to execute.

As a exemple these are my servo settings for eyes and head in the above script:

By default InMoov Services sets the servos limits as shown in the bellow hardware map:

http://inmoov.fr/default-hardware-map/

 

Blog: 12/12/2012 : inmoovs-brain-at-work

Comments 49

    • Profile photo of Gael Langevin

      The latest built gets installed the same way, but the minimal scripts are different. Because I am not yet satisfied (13/06/16) with the latest build to run my complete inmoov, I haven’t yet released new scripts.
      Let me know, or get directly on MRL shoutbox for to get some help.

  1. Profile photo of ensernet

    Gail

    Thanks for getting back to me. I got the InMoov3.minimal working some time ago and wanted to get more of the functions going. I have InMoov3.Deep.AB.V7.py working to some degree. It will do gestures like giving and fighter and uses MarySpeech.

    I have been trying to find books on python scripting that will help me understand so I can get more of the gestures going. Do you know of any books that might help.

    Thanks again for your help. Being an engineer myself I have been very impressed with how well all of my InMoov has fit together. I am just not up to speed on this python scripting

  2. Profile photo of Max

    Hi!

    7/ “from C:\MRL\resource\Arduino\MRLComm”
    After running START_INMOOV in folder a lot of subfolders, ant MyRobotLab run(correctly? maybe not), but there is not resource folder.
    Also the bat script give a lot of 404 errors at running of github.

    Maybe you can advise something? Or there newer version?

    • Profile photo of Gael Langevin

      Hello,
      If you followed the latest tutorial regarding installing MyRobotLab with the InMoov-develop directories, it is simple to run the kinect.
      Make sure that you have set your service_E_OpenNI.config.default as:True.
      Make sure that you have installed the drivers for your Kinect 360 and that it works properly in Windows.
      Make sure that all servos are properly calibrated on your robot using the config files.
      Once you have launched MyRobotlab by double clicking START_INMOOV.bat, you can say to the robot “body capture”, or “start kinect”.
      The skeleton might take some time before being activated on your body.
      To stop the kinect from capturing, say “freeze body capture”.

  3. Profile photo of Olli

    Hello InMoov builders! I wanted to ask you for help in disabling all the random preprogrammed movement that the InMoov does (eg. moving head and rolling eyes). It somehow overrides our own code and we are not sure where this behavior is originated from. We are using the newest version of MRL. Thanks!

  4. Profile photo of Talha Sufyan

    hello INMOOV makers! I am inspired alot from this robot project. I want to make my own to introduce it in my country. I want your help. Can you please share me complete programming(codes and scripts) of both hands with a video tutorial.
    because I am starting it from hands.

    I will be very greatfull to you. THANKS!

  5. Profile photo of daniel

    Hey Gael,
    I have a Problem with attech the left arduino with nervo board.
    So i install all like your tourtorial, then i Flash de mrl at the arduino mega.
    after that i go to inmoov/config/service_6_Arduino.config and Change the left arduino to COM9 (in the device Manager it says its com9). so in the service_8_NervoBoardRelay.config i set it to isNervoboardRelayActivated=1. after that i connect only the neck board with one 805BB servo to the nervo board und start my robotlab.
    It Boot up and load all parts if i go to the regista left arduino there is a green lamp and it Shows connected to COM9 but i cant do anything and after a few minuts i get the red failur line with: cant write to a cloesd port.
    can you help me i search 3 days and dont find the failure.

  6. Profile photo of Andrea Fachiri

    Hello Gael,
    Myrobotlab did work when in virtual mode.I was able to speak and get the more or less correct word in writing. However, when I tried the real version( having dutefully followed your instruction)the .bat script gave a lot of errors and could not reach the end.I then suspected a faulty flash in the Arduino Mega board(s) and tried to flash them again, but the MrlComm.ino would not compile, giving errors from the very beginning.Other .ino files from Arduino can,on the other hand, be compiled without any problem, therefore it seems that Arduino.ide is correctly installed.With simpler .ino programmes Arduino.ide accepts the .ino programme immediately, while with MrlComm. ino it says that the programme should be inside an Arduino sketch folder and offers to do so automatically.However, when so done, compiling becomes impossible. Any suggestion?
    By the way, Which is the Myrobotlab version that I should use? I am a little puzzled about the different issues and the 32 or 64 version. I run a Windows 10 64 on a sufficiently powerful PC.
    Thanks a lot for your help and,as I am late for a Merry Xmas, at least I wish a Happy New Year to you and your family.
    Andrea

  7. Profile photo of Andrea Fachiri

    Thanks a lot, Gael.
    Unfortunately, when trying to dowload myrobotlab.1.0.2693.zip I got same error message as Rob P.
    Regarding my problem,I am using Arduino 1.8.5, therefore this part of the procedure should be OK. I’ll try the new Manticore as soon as downloadable/repaired and let you know.
    Happy New Year to you again.
    Andrea

  8. Profile photo of Andrea Fachiri

    Hi Gael,
    As expected, Manticore did the trick and I have been able to upload MrlComm.ino into Arduino board straight away.
    In Virtual mode, when I talk in the mike, it responds by writing down the commands.However, the InMoov figure moves the mouth only , no matter which command is given. I thought that it would move the requested body part instead . Am I wrong?
    On the other side, when I change the script to a different mode, I do not obtain any movement of the servo(s) (config files are properly set as true).
    The MyRobotlab windows says that no battery is detected by system, though battery is connected and working.
    I tried also the SERVO_CALIBRATION.bat, but it does not seem to work though the script appears ,but without any further action , even moving the file or the whole folder to the root of mrl (i.e. as subfolder of mrl).When so doing, the windows shows up for an instant and disappears immediately thereafter.
    Answers to my instructions (even if I change the script to another language ) are in English but, as I am pretty hearing impaired , aka deaf!- being not young any more, unfortunately-I do not quite understand what the script voice says:is there any way to see the words written on the screen? This might give me some hint to correct a possible mistake I make in the procedure and possibly help somebody else who does not hear well or is not fluent in any of the available language (alas, my language, Italian ,is not among them!) .
    Sorry for all these question, but I am almost through with the hardware job on the InMoov…and would like to see it ….moving!
    Thanks again for your help
    Andrea

    • Profile photo of Gael Langevin

      Hello,
      Lets take it from the beginning.
      1- ##############################################################
      -Get back in Virtual mode.
      -When MyRobotlab is launched the first time the robot is asking his name, you need to tell him his name.
      You can either do it by voice or writing in the chatbot tab.
      -Then the robot is asking to confirm by “yes” or “no” for his name.
      -If you did okay, the robot will ask your own name and will ask also to confirm by yes or no.
      -Once this is done,and only if you did this right, you can tell him other commands and the virtual body will move.
      2- ################################################################
      The battery level is measuring the battery remaining on your computer, not the battery to power the servo or the Nervo Board. So if you are running a Desktop that has no battery, it is not detected.
      3- ################################################################
      Once you modified to TRUE each skeleton part and that you have set the InMoov_config to Full instead of Virtual, you need to set the Arduino com ports in the Arduino_config files, did you do that?
      4- ################################################################
      Make sure you have Java 8

  9. Profile photo of Andrea Fachiri

    Hi Gael,
    Thanks again for your quick answer.I tried immediately your suggestions and, somehow or other I have been able to obtain some motion from the virtual robot.However, only a nice welcome with his /its hands in answer to “Hello Robert” and some kind of dance and music when answering to another phrase (honestly I do not remember what I said: is there, by the way, any list of acceptable words/phrases?No moving reaction to a command like :”Close your right hand” or other ( the robot only says:” I am closing my right hand “,but the hand does not move at all). Is that what the program is supposed to do or am I doing something wrong again?
    Other subject:it would be extremely useful to check each servo with SERVO_CALIBRATION.bat but, as said in may other post, it seems not to work. Have you got any suggestion?
    I believe to be a wise procedure to test first all motions in virtual mode, then test each servo and finally go to the the whole system. I have tried to be as accurate as possible in wiring, but a mistake is always possible: you know the Murphy’s law…
    With my renewed thanks, best personal regards

    Andrea

    • Profile photo of Gael Langevin

      Okay that’s good progress!
      1-################################################
      Virtual InMoov cannot move it’s fingers yet in Manticore. Only the wrist can rotate.
      2-################################################
      You have two lists of voice commands in:
      C:\mrl\myrobotlab.1.0.2693\InMoov\chatbot\bots\en\aiml\_inmoovGestures
      and:
      C:\mrl\myrobotlab.1.0.2693\InMoov\chatbot\bots\en\aiml\_inmoovChatbot
      Of course you can create more and add the gesture.py here:
      C:\mrl\myrobotlab.1.0.2693\InMoov\gestures
      3-#################################################
      SERVO_CALIBRATION.bat is a simple script that needs to be at root to work.
      So it should be in your directory like this:
      C:\mrl\myrobotlab.1.0.2693\tools\SERVO_CALIBRATION.bat
      What it does:
      -Launch MRL
      -Launch an Arduino service
      -Launch a servo service
      If ever you cannot make it work, you can do it manually:
      -Start MRL by double click myrobotlab.jar
      -In Runtime tab, add a Arduino service
      -Configure the COM port of the Arduino service
      -In Runtime tab, add a Servo service
      -Configure the pin and Arduino in the servo service
      -Test your servo by moving the slider and determine the min and max value
      4-####################################################
      For security, I recommend when testing each servo to disconnect power of the other servo body parts

  10. Profile photo of Andrea Fachiri

    Hello Gael,
    I hope that I do not annoy you (too much, i.e.!) with my problems,but I am finally getting some results and would like to see the InMoov working at its full power.
    First of all (this might be interesting for many people)I found that no command , let alone Arduino programs , were able to be uploaded with a cable longer than the 30 cm. long one, cable which comes usually with Arduino boards.The PC port woud not acknowledge the connection. After several failures, I found that a 3.0 USB port does the trick , no so the USB 2.0. Being, for the moment, the InMoov standing on its pedestal, I find much more convenient using a PC for the connections than installing a tablet,with all iits limitations in terms of speeds and memory capacity on the InMoov..
    However, several problems remain.
    If I try to give a command like “close your right hand” nothing happens.All connections are checked, ports defined and motions configured as true.
    If I say, however, “Hello Robert”(where this name has come from I do not know, but, at least for the moment, my InMoov understands this name) the robot answers “Hello, Andrea,nice to see you” and plays all the welcome motions (or almost all) that are seen in the virtual mode.I said “almost” because the hands close and there is no way to have them open again. This happens only by re-starting START_INMOOV.bat.(is there a faster way to reset?)
    I have not been able to make the robot close/open hands, lifting arms etc. Only the head seems to work, when asked the robot to turn it.
    The robot speaks normally (in my earphone, i.e., not having loudspeaker installed yet)but the mouth does not move. I checked the skeleton_head.config and proper indications were set true.
    Berore, when testing the first assembled index finger alone,the finger did open and close according to commands.
    What do you think of all this? Connections should be correct, as ,by resetting, hands go back to open position.
    Could you perhaps indicate me some test commands that I can give the robot to and see whether they are executed? By the way, the robot, both in virtual and real mode does not accept written commands,but only vocal ones.
    Last thing: what is the purpose of the SwingGui and how do I find how to make use of it?
    Thanks as always for you nice, valuable help in this extremely interest project and best personal regards.
    Andrea.

Leave a Reply