<< return to Pixycam.com

Camera servo feedback


We’ve built a small competition robot based on the Pixy1 and a BeagleBone Blue (very nice combo for small robots btw.). The camera has a pan-servo.
Problem for us is that we want to use the pan-servo dynamically, turning our head while moving, but locating what we see require us to know the exact camera angle for each frame.

If this has already been solved by Pixy, then no need to read on, but simply help me understand how :slight_smile:

I see 3 fundamental solutions:

  1. Place small colored “tags” on the robot within the bottom (or top) edge of the camera view, then each frame will implicitly contain directional information in form of those colored “tags” in the blob-list.

  2. Create a servo model that estimates the position of the servo, given servo response and servo commands. This may prove hard to get right…

  3. Buy (or hack) a servo with position feedback (extra wire from servo internal potentiometer) and connect that wire to Pixy’s ADC input, then for each frame Pixy samples the actual servo position and sends that information over together with the frame - Could be embedded in a separate blob.

Anyone have any thoughts on this issue?



How are you moving the pan servo? Are you tracking objects with the pan servo, or are you just moving it back and forth (repeatedly) and trying to detect objects while moving?

In general, this is a difficult problem because when the servo is moving, there is limited knowledge of it’s actual position vs the commanded position. If you move it slowly enough, you can assume the actual position is “close enough”. Using feedback – potentiometer, etc, – can help with this.



Pan servo is moved by master controller, not Pixy, although it could be if that changed anything.
It’s a wheeled robot that moves around, and I want it to be able to locate objects, even when the servo is in the process of moving.

It sounds like another fix to the firmware is needed for me :slight_smile: