calamity's blog

vinMoov first step

calamity's picture

not bad... learning fast 

 

 

positionning all done by the ik engine. I only gives command to moveTo legs and swich the feet put is weight on


Self-balancing vinMoov

calamity's picture

Now that the IK engine is working like I want. I can add more functionality to it.

I first start with a self-balancing positionning. So every time the vinMoov is ask to move a body part, the ik engine will adjust the rest of his body so the vinMoov can keep is balance (in theory, that will remain to see if it could work with a real inMoov) 


IK with multiple target

calamity's picture


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