DaVinci ! 

from original InMoov gesture script ...

hairygael

4 years 1 month ago

Hello Grog,

I really like you have been putting for the webgui presentation!

It will help SOOO much for beginners!

Some thoughts, I had while testing it, I think it could be usefull to add a drop down with voices to select, what do you think?

I did some modifications in the InMoov2Gui.html and the InMoov2Gui.js to test, but it is not fully functional (I am not very good at coding), otherwise I would propose to puch it to Github.

 

Maybe instead of a servo icon, it should be the InMoov icon, because this button also starts other components, like mouth, ear and so on... For servo starting, it would be good to have a autoDisable tick option (ticked by default)

 

 

 

Great feedback ... 
The voices can be done - it will take a little work, because when you switch the mouth to a different service, a different set of voices becomes available.   I agree and it will be done ...

Sure, I'll switch the icon.

I can tell you are on an "old" develop version.  Kwatters needs to accept my pull request for synching up.

A few more important TODOs

  • We need to bundle a build of InMoov2 that publishes to the repo (like we did with InMoov)
  • We need to start using InMoov2 - it will be end of support for InMoov
  • We need to agree on the best way to manage configurations.  It will be python, it will be done from the webgui, it could be multiple files, you could have a single configuration name which is a directory of the python files

Glad your poking at this Gael

Hello Grog,

Regarding the configuration, of course it would be fantastic to be able to do all the configurations via the webgui, but we would  need to have all the options in the webgui to relate to the current ini.config which should ultimately be replaced by python files.

It's a lot to add in the webgui and I fear, it might take a lot of work.

Have you opened the ini.config files already to check all of the many options?

Let's take the head config for example and see all the config that need to be done in order to get it worky with the rest of the InMoov files:

;----------------------------- HEAD CONFIGURATION ----------------------------------------

[MAIN]
isHeadActivated=False

[ROLLNECKSERVO]
isrollneckactivated = True
RollNeckArduino=right
;RollNeckArduino=left or right

[SERVO_MINIMUM_MAP_OUTPUT]
;your servo minimal limits
jaw=10
eyeX=60
eyeY=60
neck=20
rothead=30
rollneck=60

[SERVO_MAXIMUM_MAP_OUTPUT]
;your servo maximal limits
jaw=25
eyeX=120
eyeY=120
neck=160
rothead=150
rollneck=130

[SERVO_REST_POSITION]
jaw=0
eyeX=90
eyeY=90
neck=90
rothead=90
rollneck=90

;robot move the jaw while speaking
[MOUTHCONTROL]
MouthControlActivated=True
;How much the jaw move ( after map )
MouthControlJawMin=0
MouthControlJawMax=180

MouthControlJawTweak=False
MouthControlJawdelaytime=1
MouthControlJawdelaytimestop=1
MouthControlJawdelaytimeletter=1

;----------------------------------- ADVANCED CONFIGURATION --------------------------------------------------

[AUDIOSIGNALPROCESSING]
;this is optional direct mouthcontrol
AudioSignalProcessing=False
;analog pin range are 14-18 on uno, 54-70 on mega
AnalogPin=59
HowManyPollsBySecond=50
sensibility=20

[SERVO_INVERTED]
jaw=False
eyeX=False
eyeY=False
neck=False
rothead=False
rollneck=False

[MINIMUM_MAP_INPUT]
jaw=0
eyeX=0
eyeY=0
neck=0
rothead=0
rollneck=0

[MAXIMUM_MAP_INPUT]
jaw=180
eyeX=180
eyeY=180
neck=180
rothead=180
rollneck=180

[MAX_VELOCITY]
neck=-1
rothead=-1
jaw=-1
eyeX=-1
eyeY=-1
rollneck=-1

[SERVO_PIN]
jaw=26
eyeX=22
eyeY=24
neck=12
rothead=13
rollneck=12

[SERVO_AUTO_DISABLE]
jaw=True
eyeX=True
eyeY=True
neck=True
rothead=True
rollneck=True

;----------------------------------- END --------------------------------------------------

Do you think that's doable?

Or do we just set in the webgui a tick for the isHeadActivated=True or False

And people need to edit the python file to modify the rest of the configs.

Having separate config files is better than a huge file. Less scary for beginners...