Inmoov Gesture Creator & a short introduction of myself

A programm for an easier creation of Inmoov-Gestures! - UPDATED 30.08.2014

Cause this is the first post I am writing here, altough I am a member here for nearly 5 months and visit the site for 3/4 - 1 year, I want to use this to short introduce myself.

I'm a german pupil on a high school, very interested in robots, programming & similar things.
I have started with Java about 2 years ago (~ 1/7 of my life!), by then I discovered more and more and now I am writing mainly in Java, but also a bit Python (loose enough for my needs), Lua (advanced basics - altough I need it never), JavaScript (andvanced basics - rarely used), C (a bit - the similarities to Java are good).

 

But now to the actual topic.

The programm itself was easy, altough the gui is bad, get it into MRL was the hard part.

It should now be easier to make new gestures and show them in videos, or am I wrong at this point?

Keep the power cord handy, altough normally with good min max settings shouldn't get something wrong, but I don't want to be responsible for broken servos! ; )

Maybe GroG will include this in his next release?... (It is)

By the way: I love critics, improvements and notes!

 

Please look on it's service page for documentation & further information: http://myrobotlab.org/service/inmoovgesturecreator

 

TODO-LIST (a lot of work ahead):

- extending content (easy)

>>>>> add 6. finger servo

- extending fuctionality (easy - medium)

>>>>> make servos ON/OFF switchable (easy+ - GUI, grm)

>>>>> Detach/Attach button

- comment code (1/2 DONE)

- rework of the gui - clean up the displaying-bugs (I hate this point)

- kill bugs - never ending


Comment viewing options

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

Whoa :) that s great...i m

Whoa :) that s great...i m dure gael and other InMoov builders will love it... I can see this big potential !

I need to learn a bit of java-fu too !

Alessandruino's picture

One question...the list of

One question...the list of servos is automatically created? For example if I add another servo to the hand (6 fingers :) ) , it will be showed here or it s hardcoded?

MaVo's picture

It's hardcoded, but would be

It's hardcoded, but would be easy to add.

It leads to another TODOS:

- add it

- make servos ON/OFF switchable

Oh I forgot the Torso:

->TODO:

-add torso

Alessandruino's picture

Yeah... :) more to do :) but

Yeah... :) more to do :) but BIGGER FASTER STRONGER !

GroG's picture

This is a great introduction

This is a great introduction Ma. Vo. !

Welcome, I'm very glad you are sharing your hard work. and impressed with what you have. 

It would be a pleasure to include it in a future release.

Looks Great ! :D

Ya, Java Swing GUIs can be a PITA .  You mentioned you were good with JavaScript ? ... because the future is HTML5 !!!   :D

Are you working on an InMoov now ?

 

MaVo's picture

Thank you very much, a

Thank you very much, a tribute out of your mouth (keyboard) is a great credit for me.

My JavaScript is not good, but I can ~ advanced basics, I got a book from 1997 (it's older than me! - it was my first book in programming, etc., followed by one of my Java books) as a present, because it wasn't used anymore. Than I began to (try to) work with it, but at this point I didn't get it really. A few years later, I should design a website as a classwork, all things allowed, only website-builders not. I worked in the meantime sometimes with this book and/or JavaScript and used it in this project at many points, besides other "things". It was one of the best websited in my class - not so surprising, when two of the best pupils work on it ... ; ).

working on an InMoov? - Yes, but it is more waiting that the sold out servos come back into the store, so the whole project stagnates for a few months - I stopped printing, because I couldn't persuade my parents to further invest into something they don't think that I ever will get it to work . I started looking around for replacement-servos for the HK15298B - maybe anyone a recommendation?

GroG's picture

Other's here are more

Other's here are more knowledgable for servo replacements.   If your interested in a software gui replacement...  you might want to look at JQuery

http://jqueryui.com/demos/ 

MRL currently has a WebGUI service which has just begun supporting JQuery, websockets & HTML5 - You can see a little of it here - http://myrobotlab.org/content/webgui-updates

I would be glad to add your service to the mix - We'll need to think of a better name than TestService01 ;)

I know also there is a need for a "generalized"  Servo Orchestrator ...  and really, maybe it needs to be even "more" generalized Orchestrator - which can control Servos, Motors & Steppers.. 

Lots more fun ahead !

GroG's picture

Here are some more examples of Servo Orchestrators

MaVo's picture

I heard about jquery, but

I heard about jquery, but hadn't looked into it yet, another thing to do!

It has already got a new (boring) name: InMoovGestureCreator - I don't know, but I'm not really happy with it.

Servo Orchestrator - was that an indirect task assignment? - I can try it, are there any volunteers for the gui? ; )

That was an point on your TODO-List, am I wrong? - I don't want to steal you your work ... ; )

But it's ok, I have three weeks holidays left, much time for all kinds of (software-)projects (I have enough to finish - mostly only a few little things).

MaVo's picture

(No subject)

Gareth's picture

That is a nice Gui

Nice overlay..... this is perfect ...

....even just having all sliders on one Tab will make multiple servo testing so much easier.

 

MaVo's picture

Thanks, I will change it

Thanks, I will change it (GUI-work, grm).

First I thought I wouldn't have enough space for it, but now I see that I were wrong.

GroG's picture

Just so you know you can

Just so you know you can undock and stack Servos (or any Service)

Ya .. not as convienent as a single tab having them all .. but it might help a little in the meantime...

wvantoorn's picture

Ma.Vo. Where are you from? In

Ma.Vo. Where are you from? In germany that is. If in NRW, that would be close!

MaVo's picture

Yes, you are right, I'm from

Yes, you are right, I'm from NRW. Do you know Duisburg, it's near Düsseldorf (main-region-city) / Oberhausen (Centro - should be known to you as a Netherlander ; ))

30 minutes - 1 hour to Venlo ...

wvantoorn's picture

Yes, been to Duisburg before,

Yes, been to Duisburg before, im from Hengelo ,   That is next to Enschede, bit north and east to you. Also  about an hour.

hairygael's picture

Oh man I dream of something

Oh man I dream of something like this since the beginning. Creating gestures is taking so much time because the actual tabs aren't set in an organized way.

I follow this!!

MaVo's picture

A honoration from THE InMoov

A honoration from THE InMoov - Creator, I'm very happy ...

I did't expected that it would be liked so much.

dwilli9013's picture

Bravo Ma Vo

Very nice addition to the InMoov Nation porfolio. 

I have used your creator already and it worked without a hitch. Really Nice work.

Maybe you show these files to your parents and Gaels comments and they will realize you are helping many people. Then they may feel that letting you continue to build your own InMoov is worth the effort and expense.

Again thank you for your contribution to the InMoov Nation 

Peace out,

Dwilli9013 & InMoov Rob Otto

MaVo's picture

Thanks, responses from "real"

Thanks, responses from "real" users (they, who can test it on a real InMoov) are great, so I know that it actually works on a real InMoov.

My parents ... they let continue me, but only if I complete on section good and without servos this is really hard (first I waited a few months on servos, which were sold out, then I got bad servos, I wonder what will happen the next time (hopefully nothing).

hairygael's picture

Whooo ooo Ma.Vo!! So I just

Whooo ooo Ma.Vo!!

So I just tested release 1.0.49 with speeds included and it works!!

Now it's very nice because when we test the full gesture it works at the actual speeds.

What makes this gesture creator a nice thing also, is that for testing gestures, one don't need to restart MRL everytime, so adjusting a gesture is much faster.

Since Ma.Vo ask for suggestions:

-We could have a button to "detach" parts or all at once (I personaly do that through voice command, it avoids keeping the robot in a position and getting the servos to warm up)

-Importing a gesture would be nice, this way we could re-use already made gestures and modify them.

-Although the GUI tabs, you've made, that includes various servos(for example the RightHand) is already a must have for creating gestures, I wonder if we couldn't benefit of the blank space on both sides. If the sliders were vertical instead of horizontal, we could highlight more then one tab at once. (I know you mentionned playing with GUI is difficult, but maybe someone else is good at it, hey)

-The export button doesn't seem to export. The solution I found for now is to copy and paste into the script, but python being so nyfty with indentation, I have to re-indent each line manually.

 

So I want to say a BIG THANK YOU from InMoov

 

MaVo's picture

Speed works?! - That's cool,

Speed works?! - That's cool, I wasn't sure if I had done it right ...

I answered your question roughly yesterday at the shoutbox already, but I want to do it here again (to save it):

-detach/attach: should be easy, I'll try to do it when I get a big change in right.

-import: this is actually included in my thought of a "big change"

-gui: I have included a picture down here - better - it actually needs a bit more than 1 of my 2 screens ...

-export: this button export's the code in the textarea below it, not nice but this is my first try of a service in MRL ... - will be changed in the "big change"

here's the picture - the black area is unused area, because my first screen is not as tall, but wider than the second ...

[removed picture to try to post this]

I always pointed out a "big change" here, so here is a little pre-description:

I will change the section "export" (bottom-left) to a control area so you can easier change gestures in your python script (load it, save it, update it, etc.) - let me see - how it comes out!

------------------------------------------

@GroG: This is my second try to post this, my first ended up in a screen full a warnings with "MySQL has gone away" ... - it added more a while, but lastly it stopped - I copied the text, if you want it, I'll send it to you.

------------------------------------------

@GroG: second try: the same, third without picture

MaVo's picture

So, finally got it posted,

So, finally got it posted, now i'll try to get the picture up here ...

GroG's picture

I noticed in the past Ma. Vo.

I noticed in the past Ma. Vo. that your posts had embedded base64 encoded pictures instead of image references - the last one you did has an image reference to a png file...   

I suspect that the base64 image is too long to put into the database - and is a result of whatever text editor your using

MaVo's picture

I don't know what I have done

I don't know what I have done before this, I though I had uploaded it "correctly", but that could have been my problem.

a little update, even thogh a few days old:

As you can see, I added the tabs (again), and made different larger sections

- "main" (the checkboxes)

- the right side (hand & arm)

- the left side (hand & arm)

- the head & torso

but it should be rethought, when InMoov gets more servos.

The left-bottom section is

1. displayed wrong and

2. already completely different.

One of my goals is to keep it as small as possible, so it fits on smaller screens, too.

MaVo's picture

I only wanted to show up,

I only wanted to show up, what I made of the GUI, so far.

Currently I'm working on the functionality for the buttons ...

Any feedback would be nice!

hairygael's picture

Hey very good! the new GUI

Hey very good! the new GUI seems much better!

Nice work Ma.Vo

Let me know when it will be up and running in a released version. I'm currently in the Netherlands without the robot, but I will test it as soon as I return to Paris.

MaVo's picture

Thanks, that motivates me to

Thanks, that motivates me to work on.

 

The biggest problem(s) Is/are:
 
-can't Import all gestures
 
-> Some have function falls or if/Else and Loops in it
 
-> not all are implementing all Parts (Some only Hand, or not the Torso)
 
-> then there are different calls in which are not all Servos moved (for Example in the Head: Often only 2 of 5)
 
The First is already solved (it was the easiest), but the Second and third are Bad, a simple and not so Good Solution would be to Take the latetst value for the position, this would require a Manual Work After it.
MaVo's picture

Only a little update: - got

Only a little update:

- got the gesture import working - actually nearly 600 lines - without any coments (I'm sure it could be shortened, but I'm proud that it is actually working a bit)

-> I hope I cleaned many (all) bugs ...

-> when there is something like this: i01.moveHead(20,20) it will make i01.moveHead(20, 20, 90, 90, 90) out of it (same as wrist/hand 5->6) - not nice, but the simplest solution ...

-> if one part is not moved (e.g. often torso), it will fill it with 90's

-> speed is the same as the two points above - 1.0

- left is save script, add gesture, update gesture, remove gesture

- oh I forgot the detach/attach - button

MaVo's picture

So - "load gesture" seems to

So - "load gesture" seems to be finally completely working - Yef!

Added a bit of support around it and to other (function), too.

Aditionally I placed a few stones for other functions (add gesture, update gesture, remove gesture) - should be pretty straight-forward to get them work.

save script - this one will need a bit more work, currently it looks like this will get a new window with more export options.

detach/attach - it will be added, but I need to find space for it ; ) - one other button will need to get a new place, too ... - now it is making the gui expand one row in the other half of the screen and this is the cause why the GUI looks pretty bad now ...

MaVo's picture

Just an update: got "add

Just an update:

got "add gesture" finally working (after several stupid bugs).

Left is update gesture, remove gesture and save script.

I hope to get it finished (or at least the two "gesture-functions") this weekend.

@Gael: I always forget your detach/attach button, but everytime I post here, it comes back to my mind. ; )

MaVo's picture

little update: "update

little update:

"update gesture" is ready to use!

"remove gesture" and "save script" shouldn't take so long, so I'm looking forward to finally get it ready this weekend!

Oh, and of course the Detach/Attach button ...