calamity's blog

Moving 3D model with JMonkey in MRL

calamity's picture

Last week I manage to get a 3d model of InMoov taking the position in synch of my InMoov. So let me explain how I did it

I start with the VinMoov model that Gareth post some time ago. Unfortunatly, I did not manage to be able to move it's armature (or did not found how to do). So I try something else

in Blender, I disasemble the VinMoov and saved each robot part that represent my DHLink in IK individually. I modify the part slightly so the origin of the part (rotation point) is at 0,0,0. I then export the part using OGRExml exporter.

IntegratedMovement service visualized with jmonkey

calamity's picture


I have replace the drawing with mesh. I still have to do some adjustment as the movement seem to be a bit offset but progressing



ESP8266 and MrlComm with websocket

calamity's picture

In the last few day, I have try to use my ESP8266 to run MrlCommand communicate with it using a WiFi protocol.

So far I manage to

Servo Mapper

calamity's picture

There was a lot of discution about the servo mapper this week-end and we did not seem to found a consensus how to fix the problem related the it's usage.

To have the servo service work properly, the user should be able to

Pinocchio playing drums (almost)

calamity's picture

A little video for demonstration of the IntegratedMovement service.

The position of the cymbal and the tom are scripted, but how the inMoov choose to move the stick to the tom or cymbal is fully determined by the service. 

Servo speed control, explaination how it work

calamity's picture

I have recently make many change on the Servo speed control to have a method that don't change the speed with modification to MRLComm or load on it and that are backyard compatibable with scripts users currently had. Sorry if it cause some confusion on the way. I writing this post to clear out how to use it

there is 3 methods relate to the speed control


Tracking problem

calamity's picture

Today I have try to fix the Tracking service without success

The problem seem to be relate to the servo map function

At his original state, Tracking was working when NOT using map function

Data used by Tracking are mix data from map input and output

it use servo.getPos() (input) and servo.getMax() or servo.getMin() (output)


I try to use all input data (servo.getPos(), servo.getMaxInput() and servo.getMinInput()

but it make the Tracking service run without limits when servo limits are not set using map function.

Trying to understand old style servo speed control

calamity's picture

After many unsuccessful try to bring back compatibility for servo speed control into the new MRLComm, I decide to run some test to understand better the old style speed control

I modify MRLComm used with version 107 and version 1412 to report the time it take to move the servo from 0 to 180 (or 180 to 0) at various speed setting and compute the angular velocity at those speed setting

Here`s the results

Servo speed control back compatibility

calamity's picture

I have some problem with the servo speed control

In the previous version of MRLComm (less than 1412), the speed control was adding some delay (skip on the main loop) before incrementing the position toward the target position. This will create: