- Future
The InMoov service allows control of the InMoov robot. This robot was created by Gael Langevin.
It's an open source 3D printable robot. All of the parts and instructions to build are on the website http://www.inmoov.fr
InMoov is a composite of servos, Arduinos, microphone, camera, kinect and computer. The InMoov service is composed of many other peer services, and allows easy initialization and control of these sub systems.
Current Services used by InMoov main service
Service | Name | Config files description : wiki | Description | Voice command sample |
---|---|---|---|---|
InMoov |
_InMoov.config | A composite service to control and allow easy operation of other all of InMoov's subsystems |
REST |
|
InMoovArm |
skeleton_rightArm.config skeleton_leftArm.config |
DA VINCI |
||
InMoovEyelids |
skeleton_eyeLids.config |
|
||
InMoovHand |
skeleton_leftHand.config |
OPEN YOUR RIGHT HAND OUVRE TA MAIN DROITE |
||
InMoovHead |
skeleton_head.config |
TILT YOUR HEAD ON THE RIGHT SIDE PENCHE LA TÊTE A DROITE |
||
InMoovTorso |
skeleton_torso.config | |||
Arduino |
service_6_Arduino.config |
Arduino control of the left, right sides of InMoov + 1 deported nano for Neopixel |
||
Servo |
A software servo service for motorized control and articulation of InMoov body parts |
|||
Tracking |
service_D_OpenCv.config | A service which allows a pan / tilt camera system to track things |
LOOK AT ME REGARDE MOI |
|
|
|
service_5_Mouth.config |
A service to synthesise speech, basic multi-lingual capability |
SAY HELLO DIS BONJOUR |
AzureTranslator |
service_G_Translator.config |
Use some Api to translate what the robot ear |
TRANSLATE hi IN japanese TRADUIT bonjour EN japonais |
|
WebGui |
service_0_WebGui.config |
The WebGUI is a mini webserver and websocket server |
||
ChatBot |
service_A_Chatbot.config |
Globalized AliceBot fork |
* |
|
AudioFile |
A service to play audio files |
WHAT ABOUT STAR WARS A PROPOS DE STAR WARS |
||
PID |
service_D_OpenCv.config | An important service to implement a PID (proportional integral derivative) controller - e.g. allows smooth tracking of objects | ||
PIR |
service_C_Pir.config |
Human basic detecor |
GO TO SLEEP FAIS DODO |
|
UltrasonicSensor |
service_I_UltraSonicSensor.config |
Ultrasonic sensor for distance calculation |
MEASURING THE DISTANCE MESURE LA DISTANCE |
|
OpenCV |
service_D_OpenCv.config |
The vision service which wraps opencv |
||
OpenNi |
service_E_OpenNI.config |
Useful to use a Kinect |
BODY CAPTURE TRACKING SQUELETTE |
|
Python |
A python scripting IDE |
|||
SwingGui |
A Swing graphical user interface |
|||
|
Voice recognition |
service_4_Ear.config |
speech recognition service WebkitSpeechRecognition
|
|
Neopixel |
service_9_neoPixel.config |
Neopixel control service |
||
OpenWeatherMap |
service_H_OpenWeatherMap |
Forecast |
WHAT IS THE FORECAST MÉTÉO |
|
WikiDataFetcher |
Knowledge bible |
QUELLE EST LA HAUTEUR DE LA TOUT EIFFEL |
Those services cooked to give life to InMoov :
- Overview
- Setup software
- Setup hardware
- Extra services
- Overview
InMoov is powered by MyRobotLab a java framework, hardware ( arduino ) is driven by a embeded protocol ( mrlcomm it is the sketch you need to put inside the arduino ) . Mrlcomm transform for you arduino code to easy undertandable & standardized methods. So every scripting methods are done in Python to end user side.
- Setup software
- Download JAVA 8 - https://www.java.com/fr/download/manual.jsp ( if your computer is 64bit, please take 64bit version )
- CHROME - set it default - https://www.google.fr/chrome/browser/desktop/index.html ( if you want to use WebKitSpeechRecognition service )
- ARDUINO- https://www.arduino.cc/en/Main/Software
- KINECT SDK ( if you have one , it is important you do it now ) - https://www.microsoft.com/en-us/download/details.aspx?id=40278
- Create a new folder mrl on root of your disk ( no spaces !! )
- Download myrobotlab.jar : manticore stable
-
Download the launcher
-Windows : https://raw.githubusercontent.com/MyRobotLab/inmoov/master/START_INMOOV.bat
-Linux : ( chmod +x ./start_inmoov.sh ) : https://raw.githubusercontent.com/MyRobotLab/inmoov/master/start_inmoov.sh
- Click START_INMOOV and wait . Inmoov will say "Hello" and ask for your name !
By default the program launch a virtual environment, with virtual arduino and virtual 3D InMoov.
Lets see how to use real Hardware !
- Setup hardware
If you use or not nervoboards, don't forget to use a dedicated power suply for your servo, arduino have not enough power. This is a generic recommandation about power supply and common ground.
- It's time to flash your arduino(s) with MRLcomm sketch. You can find it inside this folder : MRL\resource\Arduino\MRLComm ( close mrl before )
- Set the Port com of your Arduino(s) in device manager to 115200 BAUD.
Now you need to specify the hardware configuration according to the progress of your robot :
Open config file InMoov\config\_InMoov.config
Change ScriptType=Virtual to ScriptType=RightSide . This will tell the software it is not virtual anymore, and use the "right" arduino.
You need to specify now what is the COM port of arduino to use .
Open service_6_Arduino.config
You will see : MyRightPort=COM4 . Just change COM4 by your COM port number.
Because you need only one finger and don't want every unused InMoov skeleton part ( torso , arm ... ) you need to activate the right hand
Open config file InMoov\config\skeleton_rightHand.config and change isRightHandActivated=False by isRightHandActivated=True
You can now start InMoov
- Full robot :
Open config file InMoov\config\_InMoov.config
Change ScriptType=Virtual to ScriptType=Full . This will tell the software it is not virtual anymore, and use both arduino.
You need to specify now what are the COM ports of arduino to use .
Open service_6_Arduino.config
You will see : MyRightPort=COM4 . Just change COM4 by your COM port number.
you need to activate skeleton parts, exemple :
Open config file InMoov\config\skeleton_rightHand.config and change isRightHandActivated=False by isRightHandActivated=True. Same logic for all others skeleton parts.
You can now start InMoov
- Extra services
You can activate and tweak services using corresponding config file. Exemple to activate the camera :
Open config file InMoov\config\service_D_OpenCv.config
Set isOpenCvActivated=True
Inmoov can interact with you in many languages. There are some pre-configured ( en,fr,es,de,nl,ru,hi )
At this time most efficient worky chatbot is English & French ( others worky but need more translations )
You have the choice of multiple speech engines : List here
To use another language that default English, you need to change 2 things.
1/ System language inside main _InMoov.config
2/ Voice engine and voice name ( config/service_5_Mouth.config ) .
( Some of those voice engines need an API key )
Example to change English to Dutch using MarySpeech engine, edit those files :
_InMoov.config > Language=de
config/service_5_Mouth.config > Speechengine=MarySpeech
config/service_5_Mouth.config > VoiceName=dfki-pavoque-neutral-hsmm
Exemple to change English to French using local MarySpeech engine
_InMoov.config > Language=fr
config/service_5_Mouth.config > Speechengine=MarySpeech
config/service_5_Mouth.config > VoiceName=upmc-pierre-hsmm
Exemple to use universal local operating system TTS engine ( windows or macos ):
_InMoov.config > Language=fr
config/service_5_Mouth.config > Speechengine=LocalSpeech
config/service_5_Mouth.config > VoiceName=0 ( check the voice id )
etc ...
This is raw references about InMoov Scripting, if you want to code from scratch / debug / and understand how things worky. Inside Pyrobotlab repository you can find too useful things.
- Finger Starter
- InMoov Hand
- InMoov Arm
- InMoov Head
- InMoov Torso
- InMoov EyeLids
- InMoov basic Service
- InMoov Full Script
- Future
- SwinGui refactor to easy configure things
- Add new hadwares, like I2C
- Deep learning
- IK
- Legs service
- Unlimited list
Alright, there has been much
Alright, there has been much progress done with the service.
The left and right sides get correctly initiated and set to an initial position that avoid big arms movements.
Setting the speeds also works, which is a big step for to optimize movements and gestures.
Whooo hoo...inmoov has his
Whooo hoo...inmoov has his first "better faster stronger" repo script .... :D
Giant script coming soon
Giant script coming soon (whole robot), with Alessandruino's new BETTER FASTER LIGHTER face tracking !
Oh wow this is going to be
Oh wow this is going to be awesome! Hope it's ready before saturday 25/05/13
Where is InMoov?
I came into MRL - 8/20/2013. I upgraded all MRL files and started an InMoov service. Up comes a master tab, an ear and a mouth tab. There are no controls. There are no Arduino or other services associated or started. What happened?
hi
hello
I`m new here and i want to ask questions.
i`m going to start my inmoov but I want to use just one arduino due for whole the project , is there any special reason that you used 2 arduinos?
and inmoov arm is not openning for me , is that post deleted or it is just me who can`t open it.
Thanks for everything that you did and share it with everyone.
I have a problem this is the
def onEndSpeaking(text):
mouth.setmouth(90,120)
jaw.moveTo(95)
sleep(.5)
mouth.setmouth(110,120)
python.subscribe(speech.getName(),"publishEndSpeaking")
# Start of main script
speech.speakBlocking("I'm speaking a very long text to test mouth movement")
speech.speakBlocking("A new sentence to test another long sentece")
speech.speakBlocking("And one more")
when running if he speaks but does not move the mouth could help , arduino program I'm using is the one I boot when I run from myrobotlab I'm new to this I hope you can help me
I want to change the speech sentences of the InMoov robot