MyRobotLab / InMoov

inmoov repo
http://myrobotlab.org
94 stars 65 forks source link

inmoov tracking service #44

Closed moz4r closed 7 years ago

moz4r commented 7 years ago

Seem not worky and need refactor about servo mapping

i01.headTracking.faceDetect() i01.eyesTracking.faceDetect()

hairygael commented 7 years ago

I just tested, it seems to work for me with develop branch. Although the eyes are not very responsive.

Gael Langevin Creator of InMoov InMoov Robot http://www.inmoov.fr @inmoov http://twitter.com/inmoov

2017-04-03 22:12 GMT+02:00 Anthony notifications@github.com:

Seem not worky and need refactor about servo mapping

i01.headTracking.faceDetect() i01.eyesTracking.faceDetect()

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/MyRobotLab/inmoov/issues/44, or mute the thread https://github.com/notifications/unsubscribe-auth/AIF2x48pN8zNpgbIbJTxMbXLDji--s35ks5rsVLJgaJpZM4MyCI7 .

supertick commented 7 years ago

Tracking service must work as a standalone - and it must work with it's service python script https://github.com/MyRobotLab/pyrobotlab/blob/develop/service/Tracking.py

It looks like this was changed some by calamity - but the script on the develop branch is not compatible ...

supertick commented 7 years ago

This service is used often, inside & outside of InMoov .. I think there should be some group discussion regarding how to "fix" and stabilize it.

The topics would include :

hairygael commented 7 years ago

Yes I think the tracking service should work on it's own before to be used within InMoov. Tracking used to work with: -trackFaces (was working 107) -trackPoint (was working 107) -face recognition (recent versions)

The axis were: -X and Y eyes (was working 107) -X and Y head (was working 107) -Rollneck would be a great addon :)

Gael Langevin Creator of InMoov InMoov Robot http://www.inmoov.fr @inmoov http://twitter.com/inmoov

2017-05-06 18:25 GMT+02:00 GroG notifications@github.com:

This service is used often, inside & outside of InMoov .. I think there should be some group discussion regarding how to "fix" and stabilize it.

The topics would include :

  • interfaces to support .. e.g. trackFaces, trackPoint, track ???
  • initializing .. currently connect() doesnt start the Arduino .. which makes things fail outside InMoov
  • current dependencies from InMoov
  • multiple axis support ? - it looks like this was "kind-of" attempted ?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/MyRobotLab/inmoov/issues/44#issuecomment-299650651, or mute the thread https://github.com/notifications/unsubscribe-auth/AIF2x7cpELs2X_ZJAOZbwLWGSGeMt5G7ks5r3J8SgaJpZM4MyCI7 .

Calamity01 commented 7 years ago

The tracking service basically work now, but there is problem with the initialisation. Look like startPeer use to initialize the servo, arduino and openCV. required that they are start before and with a very specific names.

I have made some workaround recently to test the rest of the service and it's looking good http://myrobotlab.org/content/tracking-service

Le mar. 9 mai 2017 à 09:06, Langevin Gael notifications@github.com a écrit :

Yes I think the tracking service should work on it's own before to be used within InMoov. Tracking used to work with: -trackFaces (was working 107) -trackPoint (was working 107) -face recognition (recent versions)

The axis were: -X and Y eyes (was working 107) -X and Y head (was working 107) -Rollneck would be a great addon :)

Gael Langevin Creator of InMoov InMoov Robot http://www.inmoov.fr @inmoov http://twitter.com/inmoov

2017-05-06 18:25 GMT+02:00 GroG notifications@github.com:

This service is used often, inside & outside of InMoov .. I think there should be some group discussion regarding how to "fix" and stabilize it.

The topics would include :

  • interfaces to support .. e.g. trackFaces, trackPoint, track ???
  • initializing .. currently connect() doesnt start the Arduino .. which makes things fail outside InMoov
  • current dependencies from InMoov
  • multiple axis support ? - it looks like this was "kind-of" attempted ?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/MyRobotLab/inmoov/issues/44#issuecomment-299650651, or mute the thread < https://github.com/notifications/unsubscribe-auth/AIF2x7cpELs2X_ZJAOZbwLWGSGeMt5G7ks5r3J8SgaJpZM4MyCI7

.

— You are receiving this because you were assigned.

Reply to this email directly, view it on GitHub https://github.com/MyRobotLab/inmoov/issues/44#issuecomment-300156489, or mute the thread https://github.com/notifications/unsubscribe-auth/AQ8xSI3IOUJHtvqcMaqt_fRysQwN790Pks5r4GTmgaJpZM4MyCI7 .

supertick commented 7 years ago

Servo should be cleaned up before Tracking is fixed
http://myrobotlab.org/content/servo-attention#comment-9226

supertick commented 7 years ago

Tracking Worky Please Test I tested on simple pan / tilt kit - worky as simple Tracking service. tracking = Runtime.start("tracking","Tracking") tracking.connect("COM5", 6, 9, 1) tracking.startLKTracking()

Worked for both LK & FaceDetect facedetect lk

Please Test ! - If worky for others I'd like to close !

moz4r commented 7 years ago

robot does not want to look away. I feel spied. I am scared

supertick commented 7 years ago

Be Scared !

supertick commented 7 years ago

Have we reached consensus .. Worky or still needs Work ?

hairygael commented 7 years ago

I will try to test today, Too worky, worky lately... Plus I had trouble with my Desktop PC.

Gael Langevin Creator of InMoov InMoov Robot http://www.inmoov.fr @inmoov http://twitter.com/inmoov

2017-09-09 3:59 GMT+02:00 GroG notifications@github.com:

Have we reached consensus .. Worky or still needs Work ?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/MyRobotLab/inmoov/issues/44#issuecomment-328247414, or mute the thread https://github.com/notifications/unsubscribe-auth/AIF2x6P3ce8Wh1RTE7KxIV7Ax5Y6_RCkks5sgfDpgaJpZM4MyCI7 .

CheekyMonkey commented 7 years ago

Tested (build 2489) on the Raspberry Pi, but my observations so far are that there is still some underlying PID issue to troubleshoot, particularly in the "y" direction.

It may be some PID setting local to my setup, but would like to see what others also observe

video link

mrl 2489 tracking test - raspberry pi

The code that I'm using to test is here Arduino connected servos and here I2C connected servos

CheekyMonkey commented 7 years ago

Following further investigation, it appears that the tracking.connect() method may be setting any previously set servo inversion back to default

This then throws out tracking movements for the given inverted servo

A workaround for this behaviour is to, for any servo that requires inverting, call the servo invert method after the tracker service connect method

Video below showing tracking working in both x and y axis for reference

Video

tracking

CheekyMonkey commented 7 years ago

Looking closer at this, I observe that on exiting the following servo method the servo.isInverted() status is reset to False y.setMinMax(0,180)

On initial inspection, it appears that servo.setMinMax() calls map(min, max, min, max);

which in turn references mapper in org.myrobotlab.math

mapper has a statement that does the following boolean inverted = false;

So it appears that this is not as a result of the tracking service, but a possible issue linked to servo.setMinMax()

hairygael commented 7 years ago

Okay tracking head is working nice since version MRL 1.0.2563 for me. It works also good with the inmoov-develop. Eyes tracking is currently not activated because it still needs some fixing, but I guess for the Manticore version, that's far good enough.