Gael described a problematic issue where omoplates and other parts failed to reset themselves after a "rest" command.  It was difficult because it did not seem consistent.  Problems which always fail 100% are usually easy to solve. This one wasn't.  But I think I've got it....

EVIL GNOMES !!!
 

No .. that wasn't it.  But almost as bad.  It's a rounding issue.  The command to move servos moveTo(pos) goes through a calculation which uses floats. Floats on computers are decimals like 9.183943 .

Well omoplate and possibly a few other servos have rest positions == min or max limits ..  Omoplate min & rest = 10.  In certain situations rest will be calculated as less 9.9999999  effectively 10 but it will become 9.. due to rounding - a baddabing ERROR OUT OF RANGE - the omoplate will not move at all.  Omoplate stuck ..

Quick fix is not to have rest on limits .. but rest on say 11 with omoplate min @ 10 .. I'll think about other solutions too

dwilli9013

10 years 4 months ago

That makes perfect sense. Because when this occurs for me on the bottom of the MRL gui it says in yellow omoplate out of range at 9.

 

GroG

10 years 4 months ago

I need to say, one of the reasons I was able to solve this quickly is Gael provided me with a video + a noWorky log report - which is very helpful..   it means I could actually see & correlate what was going on.

dwilli9013

10 years 4 months ago

Yes I definitely need to get better on the videos for you Greg. I know that the visual plays a large impact on your diagnosis. I was hoping to get out and purchase a tripod for videos but a problem with my wifes car prevented that. Got to keep the little women mobile you know. 

I certainly appreciate all of your expertise to this point and hope to be a value added member of the InMoov Nation in the future.

 

hairygael

10 years 4 months ago

Hi Grog, I can confirm this is the problem.

In fact some time ago we also modified min max range for bicep from 0-90 to 5-90. That also cause many gestures to fail, and "putitdown" is one of them and of course "Da Vinci".

"ok" gesture seems to put the jaw and eyes out of range on mine...

So I'm guessing you need to review all the default gestures to make sure none are out of range.

Good job Grog.

Let me know when this is fixed so I can test before the 12th of june's event.

GroG

10 years 4 months ago

I updated Dwilli's script last night so omoplate rest would be @ 11 and min would be 10 .. this could fix it but I feel it's not addressing the issue.  This morning I looked into the details and fixed it "correctly".  Now rest can equal min.  If the value comes in > 10.5 then the resulting value will be 11 and all will be good.

The new build is here

https://drive.google.com/file/d/0BwldU9GvnUDWeExwczRsOUtmLUE/edit?usp=s…

Please test and verify when you can. Thanks.

BTW Dwilli, I've taken the "work around" back out of the script - so your rest is back to 10.

hairygael

10 years 4 months ago

Hi Grog, I tested the fix and it is a 100% WORKY!!!

On my side.

This is good because I was desperate to be able to create new gestures including the new torso parts before the event on the 12th of june.