Hi guys. I wonder how we implement the Face Detect + Tracking in MRL through INMOOV.bat? The Tracking.py only moves the x and y eyes.

hairygael

4 years 5 months ago

In InMoov once started with the START_INMOOV.bat, you can launch FaceDetect + Tracking via the voice command: "Face detection".

To stop it "Stop your tracking" or "Freeze track".

You can find the list of basic gestures in the InMoov/chatbot/en/aiml/InMoov_Gestures.aiml

 

Note that the tracking in Manticore 1.0.2963 operates only the Neck and RotHead, not the eyes.

Or you can launch and stop the FaceDetect + Tracking via the python tab with:

  • trackHumans(False)
  • stopTracking()

 

Thanks, Gael. It works (Of course it will). But the tracking process still a bit laggy, I think it's becuase of the power supply maybe? As I'm just using the power from Arduino only. (Still dealing with the external power supply....). Anyway, did you know which script and what directory from mrl does the tracking process used? Just want to grab a chance and study it.

hairygael

4 years 5 months ago

In reply to by Kelvin Chuah

Hello,

I re-post here the answer I gave you on the InMoov messages because it includes a part of the same question.

I think you are mixing up Voltage and Amps.
If you have servos that need 6V, you should get a 6V power supply or battery.
If you have servos that can stand up to 7.4V, you could get a Lipo or a power supply with 7.4V.
When a servo moves it uses Amps, if you plug a small micro servo on a Arduino, chances are that the Arduino will be able to supply enough Amps to make it move. But if you plug 3 or 4 servos to the Arduino without an extra power source with sufficient amps, it will not work. The Arduino will brown out (it will reset).
Now, if you had a small micro servo, you could power it with a 6V 50Amps with confidence and no risk for the servo.

Regarding the jaw servo acting strange, you said you are not using the mini InMoov breakout board yet. I suspect you are powering that servo directly from the Arduino and also possibly without connecting the ground of the Arduino to the ground of your supply. This almost always cause some strange behavior.
See here how you must connect the grounds to the external power supply and to the Arduino:
http://inmoov.fr/wp-content/uploads/2013/12/ArduinoPowerSupply1-1024×771.png

 

You can find the scripts of tracking in the InMoov directory, they are dispatched like this:

  • C:\MRL\myrobotlab.1.0.2693\InMoov\services\D_OpenCv.py
  • C:\MRL\myrobotlab.1.0.2693\InMoov\gestures\trackHumans.py
  • C:\MRL\myrobotlab.1.0.2693\InMoov\gestures\stopTracking.py
  • C:\MRL\myrobotlab.1.0.2693\InMoov\chatbot\bots\en\aiml\_inmoovGestures.aiml  (line 140 FACE DETECTION)