ServoControllers vs Arduinos for InMoov

Ahoy ! 

Locally I have changed all the references from Arduinos to ServoControllers in InMoov.  This was done because of the refactoring I did for the JMonkeyEngine service.  I think its the way InMoov should go anyway, and it has been a place of difficulty for builders who do not use Arduinos.

My question is - should I commit these changes now ?

This might mean :

  • more InMoov testing would need to be done
  • scripts probably would need to conect the Arduinos to serial ports outside of the services
  • more delays for Nixie release - but I don't think there has been much intesive testing as yet...

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
moz4r's picture

Hi GroG ! that is definitly a

Hi GroG ! that is definitly a good idea and I think the way to go.
My opinion is your commit is welcome. it involves more testing and modifications around that, but it's necessary one day or the other.
I started to refactore existing parts of inmoov on the same logic , also using generic body parts, based on servoControllers and servoControl interfaces for less code lines and better flexibility. No more hardcoded hardware configuration, but backward compatible with current scripts.

After your mods, maybe I can pr some stuff / delete inmoov2 draft / lighten lot of python land stuffs / Unit test full script...

this will prepares modifications like the implementation of a great gui. It is not clean to use python land config files to plug a GUI on it.

Nixie will be delayed surely, we have manticore which is stable at the moment.

 

MaVo's picture

quick opinion: definately

quick opinion:
definately commit & push it upstream.

Don't have an opinion on if it should end up in develop & Nixie right now.

GroG's picture

Added to PR

Added to PR - https://github.com/MyRobotLab/myrobotlab/pull/361 

I'll begin testing on lappy & worke

GroG's picture

Exorcist InMoov ..  You

 

 

Exorcist InMoov .. 
You can't see anything new yet in the features, however, there are now VirtualServoControllers which is how this vinmoov is being controlled.

VirtualServoControllers are just like "any other" servo controllers and InMoov can use them instead of Arduinos :) .. and that was the reason behind the big change.

It should be - try InMoov with virtual controllers...
Train....
Test...
Change the ServoControllers to the "real" ones you have... whatever they are I2C or Arduinos...
Run in "real" world...

I need to iron out some parts - make it easy to write & update text .. then at some point we can think about OpenCV Kinect publishing stuffs into Virtual World 

oh and virtual controllers can relay commands to real controllers - (want to be able to do both at the same time)

Another nice thing (not completely done) is the ability to load and position a virtual object from a read in json file.  In the future this will allow us to dynamical load new materials and objects into the jmonkey service.

{"i01.head.jaw": {"name": "i01.head.jaw","parentName": "i01.head.rothead","mapper": {"minX": 0,"maxX": 180,"minY": 0,"maxY": 180,"minOutput": 0,"maxOutput": 180,"inverted": false},"defaultRotationalMap": {"x": -1,"y": 0,"z": 0},"localTranslation": {"x": -5,"y": 60,"z": -50},"currentAngle": 90,"assetPath": "Models/jaw.j3o"},"i01.head.neck": {"name": "i01.head.neck","parentName": "i01.torso.topStom","mapper": {

hairygael's picture

Aaah, now I understand why in

Aaah, now I understand why in my last test with Virtual InMoov had the head going to the side every time!

I was beginning to hope we were close to the Nixie release because most of the things were worky with OpenCV during my latest tests.

I am always a bit impatient when we approach Christmas..

But I totally agree with the push and commit because it is necessary for to improve the whole concept regarding servo controllers, specially if Anthony is going to refactor the config system behind.

GroG's picture

Moz4r ! :D

Moz4r ! :D