calamity's blog

Reviewing IntegratedMovement service

calamity's picture

Some time ago, I had want to add legs to my test model (InMoov) in the IntegratedMovement (IM) service, but find out that something was lacking to work properly. By example, using the jMonkey simulator, when I make the right knee bent, it work fine and raise the foot. but if I also bent the left knee, it would raise the left foot and the robot will appear to be flying, wich is not even close of that will happen with the physical robot. So I need to find a way to make IM model act more in jMonkey to what a real robot will act. 


How to fix IntegratedMovement service?

calamity's picture

I am a bit annoyed by the recent change that broke the Integrated Movement service. In the past I was always take great care to not break anything that may used shared code. My code was maybe clobbering or misplaced, but was not affecting anything else. Now part of the code I used have been modified or removed and IM service is not working anymore.

What I was doing:


Tracking service

calamity's picture

I have look at the Tracking service and identify a few thing that was not working well


Servo limits

calamity's picture

There is currently two way to set limits to a servo

  • with servo.map(minInput, maxInput, minOutput, maxOutput)
  • with servo.setMinMax(minOutput, maxOutput)

Both method are doing a good job at keeping the servo inside the limits. However, they behave differently and that dual behavior is causing problem to services using Servo. Tracking service is an example of service that suffer from it


Integrated Movement Demo using VinMoov

calamity's picture

 

 

 

this is the script use for the demo, run after my inMoov script.

[[home/Calamity/imdemo.py]]

 

 


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