My view

dom14's picture
MyRobotLab is a formidable programming tool but it is becoming more and more heavy due to the high level services such as InMoov and it will soon become InMoovLab.
MyrobotLab must be a tool to execute scripts in python language. It must manage the low level.
There should not be any high level services such as InMoov, Roomba, etc ... because it freezes the programming of python scripts and you can no longer program as you wish.

More cool stuff from Festo

GroG's picture

Very cool stuff from Festo ..  First time I heard them say ROS (what?) :)



Simple compressions joints ... very cool

MyRobotLab Coding Style

GroG's picture

Keeping track of changes is difficult enough.  Merging differently formatted code makes sad monkeys !

If you use eclipse, we have a file which will make eclipse do the myrobotlab "standard" formatting.

Here it is ! ->

[JME] subscribe service

moz4r's picture

ohh today I'm lost in deep mrl.
I m sure someone here can help me to do a clean thing.

Curently playin with vinmoov to use it as a optional main read only interface.

I started to add some functions to update things from an other service , it is messy, I think I can optimise that.
What I want is access published informations from other services in realtime.

In most case from python or I use with success :


but inside InMoov3DApp I cant


dom14's picture


I would like use kinect with OpenNi. Do you have more example than :

openni = Runtime.createAndStart("openni", "OpenNi")
Do you have documentations ?
I would like move my bot with skeleton recognition. Is it possible ? Do you have example ?
Thank you


AutonomicPerfectionist's picture


I am needing help understanding the HTTP API. I am trying to develop Bash scripts to control MRL in order to help with remote debugging and system management, but I am running into problems regarding the API. Using this command:

curl -H "Content-Type: application/json" -X POST -d "{\"service\":$1,\"method\":$2,\"data\":\"$3\"}" http://localhost:$MRL_PORT/api/messages

MRL simply holds the connection but does not execute anything. I tried using the example JSON with this command:

Help ! strange things again about servo moves

moz4r's picture

Before to call an exorcist I will ask you :

I have sometime problems about no worky commands ( rest() moveTo() or autodetach if velocity =-1 )
Problems ocure often at startup.

This is the smallest thing I can use to isolate. When I launch rest() , slider in swing go to the asked position, but no action on servo or virtual servo. ( like the servo is disabled, but servo is electrised)
and if I move the slider a little degree, servo go to good position.

Serial com

dom14's picture

This is my test to check if serial communication work:

I use 3 arduinos nano with MrlComm inside. I connect each of them on serial1, serial2 and serial3 on the mega left or right. I Connect one servo on all nano.

With MyRobotLab, I move 3 servo.

With MrlComm 55, After few minutes, MrlComm 55 break the communication, doesn't work.

With MrlComm 41, i have no problem, the test work all the time. This is called reliability.

So, moz4r, do this test and give your result !!


Inmoov BOM update / new skeleton parts

moz4r's picture
pushed 2 new things inside Inmoov service :
- rollneck servo Inside head ( usefull to use rollneck+neck+rothead into ik+tracking+vinmoov later )
- Eyelids separated & optional skeleton part
I need some confirmation about default pin to use
- hacked rollneck : pin 30 - left
- eyelidsLeft( or both eyes default ) pin 29 - right
- eyelidsRight pin 30 - right
Added an option to change hardcoded pins :
ex : i01.startHead(port,12,13,22,24,26,30)

Where we are headed ...

GroG's picture

Two interesting talks ....