Asked — Edited

Noisy Camera Tracking

Guys, I just hooked up my camera. I hard wired the leads to the camera circuit board (confirmed to be working) and set up a camera tracking widget.

When I have no servo movement selected in the config, the camera seems to track my hand just fine, however, when I check off camera track and set my neck and head servos, the processed display fills with a LOT of tracking delta and it doesn't seem to clear up. The "head" goes a little bizzerk as it tries to rectify.

Here is the image...

User-inserted image


ARC Pro

Upgrade to ARC Pro

With Synthiam ARC Pro, you're not just programming a robot; you're shaping the future of automation, one innovative idea at a time.

#1  

P.S.

Messed around with sensitivity to no avail. It reduces noice, but still get overall screen of delta noise.

#2  

Lowering sensitivity and object size didn't change it?

#3  

Nope. Seems that the tracking is clear (no deltas) when it starts, however, as soon as there is some movement (I wave my hand), then the display goes bonkers like above.

Is it generally a matter of messing with size and sensitivity?

PRO
Synthiam
#4  

That's because you are using Motion tracking mode.:)

If your robot is physically set to move, you may want to use a tracking method other than "Motion". Because as you experienced, the robot will move and therefore the image moves

PRO
Synthiam
#6  

Motion Tracking is used when your robot is stationary to detect movement. You can also write a short little EZ-Script to sweep a camera mounted on a servo and speak when it detects motion. Here is an Example Project for you: Example-Script-CameraScanForMotion.EZB

Here is the EZ-Script:


$direction = 1

:START

  ControlCommand("Camera", CameraMotionTrackingDisable)

  if ($direction = 1)
    ServoUp(D6, 5)
  else
    ServoDown(D6, 5)

  if (GetServo(d6) > 80)
    $direction = 0
  elseif (GetServo(d6) < 20)
    $direction = 1

  sleep(500)

  ControlCommand("Camera", CameraMotionTrackingEnable)

  $count = 0

  :SCAN

    if ($count = 10)
      goto(START)

    if ($CameraIsTracking = 1)
      Say("I see you!")
      Halt()
    endif

    sleep(250)
      
    $count = $count + 1

  goto(SCAN)

#7  

or you may use the motion tracking for A stationary camera and make the robot move

#8  

Ah, ok. I think I get that. DJ although there are motion controls in place on the screen, the robot is not actually moving during this testing. Is that a factor in your determination?