Camera gimbal 2-DOF
Presentazione
Piattaforma di stabilizzazione camera open source 2-DOF. Controllo Python, tracking colore, rilevamento volto e tracking automatico del target.
Caratteristiche
- 2 DOF (Pitch/Yaw) servo
- Tracking colore, volto, QR code
- Python puro, facile da estendere
- Camera USB + servo seriali
- Open source: GitHub
Specifiche
| Parametro | Spec |
|---|---|
| DOF | 2 (Pitch + Yaw) |
| Servo | Servo bus seriali (SCS) |
| Interfaccia | USB seriale |
| Camera | USB UVC |
| Tracking | Colore/volto/QR |
| Linguaggio | Python 3 |
Guida rapida
Collegamento hardware
- Collegare il servo all'interfaccia del bus seriale
- Collegare il modulo USB-seriale a computer/Jetson/Raspberry Pi
- Montare la camera sul supporto del gimbal
- Collegare la camera USB
Installare le dipendenze
bash
pip install -r requirements.txt
# Oppure installazione manuale
pip install opencv-python pyserial numpyControllo base
python
from sc_servo import SCServo, Gimbal
servo = SCServo("COM3") # Linux: /dev/ttyUSB0
servo.connect()
gimbal = Gimbal(servo)
gimbal.enable_all()
gimbal.set_angle(0, 30) # yaw
time.sleep(1)
gimbal.set_angle(1, -20) # pitchTracking colore
python
import cv2, sys
sys.path.append('../src')
from sc_servo import SCServo, Gimbal
cap = cv2.VideoCapture(0)
servo = SCServo("COM3"); servo.connect()
gimbal = Gimbal(servo); gimbal.enable_all()
while True:
ret, frame = cap.read()
if not ret: break
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
mask = cv2.inRange(hsv, (0,100,100), (10,255,255))
contours, _ = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
if contours:
largest = max(contours, key=cv2.contourArea)
x,y,w,h = cv2.boundingRect(largest)
cx, cy = x+w//2, y+h//2
fh, fw = frame.shape[:2]
yaw = int((cx/fw - 0.5) * 180)
pitch = int((0.5 - cy/fh) * 90)
gimbal.set_angle(0, max(-90, min(90, yaw)))
gimbal.set_angle(1, max(-45, min(45, pitch)))
cv2.imshow('Color Tracking', frame)
if cv2.waitKey(1) & 0xFF == ord('q'): breakFunzionalità avanzate
Rilevamento del volto
Il file src/detectors/face_detector.py del repository fornisce un rilevatore di volti basato su OpenCV DNN, utilizzabile per il tracciamento automatico del volto.
Tracking automatico
L'esempio examples/auto_tracking_demo.py del repository implementa un flusso di tracking automatico completo, che include selezione del target, controllo PID e inseguimento fluido.
FAQ
Q: La connessione seriale fallisce?
A: Verificare la porta. Windows COMx, Linux /dev/ttyUSBx.
Q: Il servo non risponde?
A: Verificare l'alimentazione (SCS: 6-8.4V esterna).
Q: Tracking instabile?
A: Regolare PID, ridurre la risoluzione.
Supporto
- 📧 support@juxitech.com
- 🌐 www.juxitech.com
- 💻 Repository open source: GitHub

