Connecting InMoov/Arduino Uno via USB with MyRobotLab on Mac

838 views
Skip to first unread message

Oliver Richter

unread,
Jul 9, 2018, 5:38:04 PM7/9/18
to InMoov
Hi guys,

I have a very hard time connecting the great robot (head) from Gaël (thank you so muchg for this project!) with my MacBook.

I'm able to program a little bit (see my project www.strandbeest.de) and I'm a little in robotics.
But it seems that I'm unable to edit the right config files to connect the (working) head with MyRobotLab on my MacBook Pro (USB-C).

What I've done:

1. Loaded the MRLComm.ino via Arduino IDE to the Arduino Uno

2. Edited the "service_6_Arduino.config.default" as follows:
[MAIN]
MyRightPort="/dev/cu.wchusbserial14640"
BoardTypeMyRightPort="atmega328p"
ArefRightArduino="DEFAULT"
That's the port, I use in Arduino IDE.

3. Edited the "_InMoov.config.default" as follows:
[MAIN]
ScriptType=Full

4. Edited the "skeleton_head.config.default" as follows:
[MAIN]
isHeadActivated
=True
and set the minimums and maximums and rest positions of the servo which I tried out before with simple servo-commands in Arduino IDE.
As I wrote...the servos work well.

When I now start the MyRobotLab, I don't know what Gaël means, when he writes "14/Enjoy!!" on  http://inmoov.fr/how-to-start-myrobotlab/

I go to "runtime" and start the Arduino there. I cannot chose a port and when I try to connect, I got the message "RROR c.myrobotlab.framework.Service - did not find method - connect(null)"

I'm a little bit frustrated at this point and perhaps I got some help to start with my InMoov-Project!

Thanks in advance

Oliver

inmoo...@free.fr

unread,
Jul 10, 2018, 9:16:57 AM7/10/18
to InMoov
Hi Oliver,


Point 13 : On Mac, you have to double clic on start_inmoov.sh (NOT start_inmoov.bat)

Point 14 : Enjoy !! -> Gaël means that, now you can play with your robot... enjoy !! 

Oliver Richter

unread,
Jul 10, 2018, 12:13:21 PM7/10/18
to InMoov
When I double click the start_inmoow.sh I got the following infos:

Last login: Tue Jul 10 18:10:31 on ttys000
Olivers-MBP:~ oliverr$ /Users/oliverr/MRL/start_inmoov.sh ; exit;
-bash: /Users/oliverr/MRL/start_inmoov.sh: /bin/bash^M: bad interpreter: No such file or directory
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Prozess beendet]

And that's it. It seems that I'm not clever enough to start the script correct :(

Is there someone who can help me?

Oliver


Oliver Richter

unread,
Jul 10, 2018, 2:29:14 PM7/10/18
to InMoov
So I can now start MRL and there appears a voice.
A website was opened (http://localhost:8888/#/service/i01.ear) but there is a loading error

The MRL is starting, but with a red information at the bottom part:
Traceback (most recent call last): File "<string>", line 41 in <module>   File "InMoov/system/initCheckup.py", on line 49, in <mod...

I can start the arduino interface from the runtime tab and connect it with the Arduino using the port /dev/cu.wchusbserial14440

But there is no interaction with the head and I have no idea what to do with the MyRobotLab...

How does the software know on which pins the servos are connected?
I found something in the skeleton_head.config.default and edited the pins:

[SERVO_PIN]
jaw=3
eyeX=5
eyeY=4
rothead=6

but with no reaction...

Can one tell me the right steps to interact with the head...?

Thanks
Oliver

gael langevin

unread,
Jul 10, 2018, 3:03:23 PM7/10/18
to Oliver Richter, InMoov
Hello Oliver,
Do you have Chrome browser as default?
This is necessary to have WebKitSpeechRecognition properly working. (http://localhost:8888/#/service/i01.ear)

Pins number should be respected like this:

The jaw needs to be on pin 26 because the configuration default is organized that way in order to make him speak.

Once start_inmoov.sh is double clicked, all activated services will start automatically. No need to launch an Arduino via runtime.
If that is not the case, something is not configured correctly.

Gael Langevin
Creator of InMoov
InMoov Robot
@inmoov



--
You received this message because you are subscribed to the Google Groups "InMoov" group.
To unsubscribe from this group and stop receiving emails from it, send an email to inmoov+unsubscribe@googlegroups.com.
To post to this group, send email to inm...@googlegroups.com.
Visit this group at https://groups.google.com/group/inmoov.
For more options, visit https://groups.google.com/d/optout.

Oliver Richter

unread,
Jul 11, 2018, 11:51:39 AM7/11/18
to InMoov


Hi Gael,

first of all - thank you very much for this great project! The 3D-Printing and the mechanics was pure fun!

Today my Arduino Mega arrived (I've used an Uno before) and I connected the parts of the head to the right pins.

I switched my default browser from Firefox to Chrome - with the same result: "Error - the site cannot be loaded".

But I made the next step - my Arduino is connected to the MacBook and the InMoov started completely.
He told me "Alert ! my system use 1 or more arduino but there is no skeleton parts activated".

He also tells me "I am listening - what is my name" - that's funny, but I don't know how to give him a name.

Next problem: The board layout isn't correct. I don't know how to choose the right pins (see the picture above).

I would love to build the rest of the InMoov project but first of all I have to understand the system. And that's a little bit hard for me at he moment.

Thanks a lot for your help!

Olver


gael langevin

unread,
Jul 11, 2018, 5:30:09 PM7/11/18
to Oliver Richter, InMoov
Hello,
I am glad you enjoyed the assembly of the 3D printed parts.

1- Edit the "service_6_Arduino.config
[MAIN]
MyRightPort="/dev/cu.usbmodem1441"
BoardTypeMyRightPort="atmega2560"

Make sure to set your Left Arduino correctly as well.
This could be causing the board layout issue. Note that the SwingGui may have layout issues under Mac.
You shouldn't need to choose the right pins, because they are set in the skeleton config files.
You selected Full in the main Config. (two Arduino)
It would be good to activate as True, head, arms and hands even they are not present.

Is this page (http://localhost:8888/#/service/i01.ear) in Chrome loaded?
If not your microphone is maybe not correctly set in Chrome settings. see https://help.followupboss.com/article/411-microphone-settings-in-google-chrome

If you still can't talk with the robot through the microphone, you can communicate via the chatbot tab. Just type in his name and press enter.




Gael Langevin
Creator of InMoov
InMoov Robot
@inmoov



Oliver Richter

unread,
Jul 12, 2018, 1:12:00 PM7/12/18
to InMoov
Hi Gael,

thank you so much for your support!

I have only one Arduino Mega connected with Inmoovs head, so I've chosen the following config in the service_6_Arduino.config.default:
[MAIN]

;my rightport if used ( /dev/ttyUSB0 for linux/macos )
MyRightPort=""
BoardTypeMyRightPort=""
ArefRightArduino="DEFAULT"

;my leftport if used
MyLeftPort=/dev/cu.usbmodem1461
BoardTypeMyLeftPort="atmega2560"
ArefLeftArduino="DEFAULT"


When I use "/dev/cu.usbmodem1461" without the quotes, everything works well. Perhaps this information helps other guys.

My _Inmoov.config.default looks like this:
[MAIN]
ScriptType=LeftSide

and in my skeleton_head.config.default I have changed this:
[MAIN]
isHeadActivated
= True

When I then started the head there where no errors - fine :)

I find out, that the jaw tried to move, but the minimums and maximums I used in the skeleton_head.config.default which I tried out with the Arduino IDE before didn't fit.
So I played a little bit around and then...BOOOM...Inmoov moved his jaw when talking. That was a blast!

Next...the eyes! I started playing around also with the parameters and found the correct rest position. YEAH!

Now I would say: I'm IN!

But I have some more questions (sorry for that):

1. The microphone doesn't work and the website won't be loaded. See configuration below - perhaps you can held. I would love to talk to him!


I don't really understand how this site should be loaded without a webserver. I also startet Apache on my Mac but it didn't help. Could you explain what should happen?

2. What else can I do with Inmoov? It seems that I don't really understand the gesture creator.

3. How can I force him perhaps to move the eyes up and down.

4. Everytime Inmoov starts, he asked me what his name is. Is there a possibility to save the given name?

5. Is there a way that Inmoov could speak via the "ear speakers"?

Oh Gael...you opened pandoras box - that is such a wonderful project and I would love to share it with my team in our company. I know, they will love it, too!

Thanks in advance for your time. Please let me know if there's a patreon account or an other way, I could support you!

Oliver

gael langevin

unread,
Jul 12, 2018, 6:25:04 PM7/12/18
to Oliver Richter, InMoov
Hello,
Great there is progress!

1. The microphone doesn't work and the website won't be loaded.
  The microphone and speakers that will be used by MyRobotlab have to be the default one, so I am guessing you need also to set that in your Mac parameters.

2. What else can I do with Inmoov? It seems that I don't really understand the gesture creator.
   InMoov can do a lot of things because MyRobotLab has many services available. The default config of InMoov is made to have voice, speaking, video, object and face tracking, face recognition and so much more... You will need to discover them step by step.
The GestureCreator is a bit broken in the version 1.0.2693 unfortunately. Some functions work but you cannot edit, open or save scripts. Which is pretty necessary. In the next version of MRL it should be refactored in a better way.

3. How can I force him perhaps to move the eyes up and down.
  Simply by moving the sliders, you can move any servo manually. You can also write a gesture python to create your own movements.
  For exemple execute this code in the python tab:
  i01.moveHead(90,90,90,90,90,0)
  sleep(0.2)
  i01.moveHead(90,90,170,0,90,0)
  sleep(0.2)
  i01.moveHead(90,90,0,170,90,0)
  sleep(0.2)
  i01.moveHead(90,90,90,90,90,0)

4. Everytime Inmoov starts, he asked me what his name is. Is there a possibility to save the given name?
  It normally saves automatically the given name if you run through the whole initialization process. You can also force it to save by clicking
  the "Save Predicates" in the chatbot tab. You are using the English language or another? Some other available language are at a very early stage  of translation and do not work properly.

5. Is there a way that Inmoov could speak via the "ear speakers"?
  If the ear speakers are set as default speakers in your Mac parameters, it should automatically use them. (Given that you have them powered and ready)

6. Please let me know if there's a patreon account or an other way.
  You can make a donation on my website: http://inmoov.fr/
  Scroll down on the main page to the donate button.
  You can also purchase a NervoBoard, it helps me to make a living out the InMoov project.


Gael Langevin
Creator of InMoov
InMoov Robot
@inmoov



--

Oliver Richter

unread,
Jul 13, 2018, 2:31:01 PM7/13/18
to InMoov
Hi Gael,

thank you very much. I ordered the Nervoboards today and look forward to use them :) I also made a donation - this project must be keep alive!

Move the sliders will not result in motion, the Cam I ordered and built into the eye will not work with MacOS, the issue with the Webspeechkit ...
I ordered now a Lenovo Thinkpad 8" today - hope this will work better than my MacBook Pro.

Thanks for the Python snippet - it works.

My Inmoov isn't able to remember his name even when I hit the "Save Predicates" button in the chatbot tab. I'm sure there is a config file for the name...where can I edit it?

Have a nice weekend.

Oliver

gael langevin

unread,
Jul 15, 2018, 9:25:54 AM7/15/18
to Oliver Richter, InMoov
Hello,
Thanks for your order and donation on the InMoov site!
You can edit the predicates and add manually your name, I am guessing the fact it doesn't automatically save it, is related to the path where you have put MyRobotLab.
Here is where the predicate is saved:
C:\mrl\myrobotlab.1.0.2693\InMoov\chatbot\bots\en\config\YourName.predicates.txt

Amazing that you still found a Lenovo Thinkpad 8" to buy, they are out of stock since a while now. Finding the correct USB OTG+charge will also be difficult, I think.


Gael Langevin
Creator of InMoov
InMoov Robot
@inmoov



--

Oliver Richter

unread,
Jul 15, 2018, 2:57:42 PM7/15/18
to InMoov
Hi Gael,

it' an honor for me to support such a great project in which you invested several years.

I hope most of my problems with the software will be fixed by changing the hardware :D
I also found the OTG cable (with the help of the information here in the UG), so I will be complete in a few days.


It has nothing to do with the subject of this thread but perhaps you can answer the following question:

Is it possible to put all torso parts together without building the shoulder parts?
I would like to go step by step and the next step is printing the torso parts to get a support for the neck parts and to bring the head in motion :)
In the moment I have a head wich can rotate but the tilt is missing.

If it is possible...do you have a picture only for the connected torso parts? They now lay down in front of me and I'm a little confused, which parts I should mount together.

Thanks a lot!

Oliver

wilco van toorn

unread,
Jul 16, 2018, 5:33:44 AM7/16/18
to InMoov
You could use a bolt with a large spacer in between and fix the torso. But don't glue then together already, because you need to add a servo in the body for the neck. That is a hs-805ss servo.
But other than that you certainly can do the body and neck and head first. Make sure to clamp it down very good, or you'll be printing a new neck in no time.

Gr. Wilco

gael langevin

unread,
Jul 16, 2018, 7:02:05 AM7/16/18
to wilco van toorn, InMoov
As Wilco say,
You can built only the torso without the shoulders.
The Neck servo can even be added afterwards, just make sure to insert the servo support inside the torso when doing the assembly.

Gael Langevin
Creator of InMoov
InMoov Robot
@inmoov



Oliver Richter

unread,
Jul 16, 2018, 7:08:44 AM7/16/18
to InMoov
Hi Wilco,

thank you for your response.

I now decided to print all the shoulder parts first and then mount torso, shoulders and head together.

Oliver

Oliver Richter

unread,
Jul 16, 2018, 7:15:11 AM7/16/18
to InMoov
Hi Gael,

thanks a lot for the link - that's what I was searching for. You made such a great job with this site and I have to watch better :)

Oliver


Oliver Richter

unread,
Jul 19, 2018, 3:18:26 PM7/19/18
to InMoov
OK, today I got my Lenovo Tablet and I'm not happy to work with Windows again :(

The tablet is soooo slow and absolutely not responsive...OK; but this is not the question...

The tablet is not able to communicate with the Arduino Mega via Com1.
The board gets powered up and the jaw servo moves a little bit but I'm neither able to send the .ino-File to the board nor can I receive the data from the board.

I use the OTG cable which was recommended here in the Uasergroup...it seems to work (loading tablet and power up the Arduino).

Does someone have an idea for me?

gael langevin

unread,
Jul 19, 2018, 6:23:14 PM7/19/18
to Oliver Richter, InMoov
Hi,
There is various model of the same tablet.
The fastest model was running a 64 bit system Windows 8.1. 4go Ram, quad core processor.
I have also a later model which is under Windows 10, and it is slow to operate.
In both cases, it is best to take control of the tablet from another computer with a bigger screen via TeamViewer or VNC.

Regarding your Arduino board, did you install the correct drivers?
Seems your board is not correctly recognized by the Arduino ide.

Gael Langevin
Creator of InMoov
InMoov Robot
@inmoov



--

Oliver Richter

unread,
Jul 21, 2018, 6:21:46 PM7/21/18
to InMoov
Hey Gael,

I would like to give some feedback because of your patient help.

The tablet now connects to the Arduino Mega als works also together with the head.
You was right - the drivers for the communication ports made some problems but after reinstalling (and waiting a while) the Arduino was found.

The work via TeamViewer is quite OK. Do you have a suggestion for an other - perhaps open source - remote control software?

One question about the MyRobotLab window on the tablet. The font is quite small so I cannot read very well the titles of the tabs.
Of course the text on the tablet is set to 200% but that seems not to have an impact of the Java applet.


Finally the speech recognition and the saving of InMoovs and my name also worked with no further problems. It seems that MacOS isn't the right platform for MyRobotLab also it was developed with Java.


Again...thanks a lot for this project and your help!

Oliver


P.S. Can you tell me, when the Nervoboards will be send to me?

gael langevin

unread,
Jul 22, 2018, 3:32:23 AM7/22/18
to Oliver Richter, InMoov
Hello Oliver,
Thanks for the feedback!

Instead of TeamViewer, you can use VNC or use MyRobotLab webGui.
To try webGui:

Note that webGui doesn't give you access to other files on your tablet  than MyRobotLab.
But it is very usefull as a remote service. Some functions (buttons) on the tab windows still need improvements.
The developpers are working on it for our next version.

Regarding font size, Windows can change the screen resolution which can help, but it affects other windows software, like the browsers for example.

PS:All orders of this week and NervoBoards are packaged and ready to ship tommorrow (Monday 22/07/18)

Gael Langevin
Creator of InMoov
InMoov Robot
@inmoov



--

wilco van toorn

unread,
Jul 22, 2018, 3:56:05 PM7/22/18
to InMoov
You can detach some services from the main program. So you can have them anywhere on the screen where you want.
But I must agree that team viewer or ssh might be the best choice for setting up. Once everything is ready then it should not be necessary to use a magnifying glass.
Reply all
Reply to author
Forward
0 new messages