calamity's blog

viewing your virtual inMoov in 3d implemented in inMoov service

calamity's picture

I add the possibility to view a virtual 3d InMoov from the inMoov service.

To view it, you have to add in your inMoov script

i01.startVinMoov()

and

i01.stopVinMoov()

to stop viewing it.

The 3d model should mimic what your real inMoov is doing.
The model probably still needs some adjustment but is looking good.
The fingers and eyes are not working yet


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

edit

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

 

 

https://youtu.be/76EfxJIRVXk

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

servo.setMaxVelocity(int)


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