Guide de configuration du LinkerBot O6
Du déballage à une session téléop en direct sur navigateur. Trois commandes, moins de 15 minutes.
Déballage et connexion USB
Retirez le système manuel O6 et le contrôleur de gants de l'emballage. Inspectez tout dommage dû au transport – vérifiez que toutes les articulations des doigts bougent librement et que le connecteur du câble du gant est intact.
Branchez l'O6 sur votre ordinateur via USB. Confirmez que le port apparaît :
# Linux ls /dev/ttyUSB* # should show /dev/ttyUSB0 or similar # Windows — check Device Manager under "Ports (COM & LPT)"
Si le port n'apparaît pas sous Linux, ajoutez votre utilisateur au dialout groupe :
sudo usermod -aG dialout $USER
# Log out and back in for the group change to take effect
Installation et connexion du SDK
Installez le SDK RoboticsCenter (Python 3.9+). Il gère automatiquement tous les tramages série, l'analyse des protocoles et la gestion des sessions de la plateforme :
pip install roboticscenter
Recherchez les appareils détectés, puis connectez-vous :
rc devices # scan all ports, confirm O6 is visible rc connect # auto-detect LinkerBot O6 and open a session
La CLI détecte automatiquement l'O6 en recherchant le Juqiao AA 55 03 99 en-tête de trame sur chaque port disponible. Il ouvre une session sur la plateforme et imprime une URL de navigateur. Si plusieurs périphériques série sont présents, spécifiez le port manuellement :
rc connect --port /dev/ttyUSB0 # Linux rc connect --port COM3 # Windows
rc connect --mock pour démarrer une session O6 simulée avec des données de capteur synthétisées. Toutes les fonctionnalités du SDK, le panneau du navigateur et l'enregistrement des données fonctionnent de manière identique en mode simulé.
Panneau Teleop du navigateur
Après rc connect réussit, la CLI imprime et ouvre éventuellement une URL de session telle que :
https://platform.roboticscenter.ai/session/RC-XXXX-XXXX
Ouvrez l'URL dans n'importe quel navigateur. Le panneau téléop comprend :
- Affichage de la position des doigts : Barres d'angle de courbure en temps réel pour les 10 doigts (5 par main), mises à jour à la fréquence d'images du capteur.
- Préréglages de gestes : Gestes en un clic : pierre, papier, ciseaux, pincement, écartement - envoyés comme cibles de position du moteur.
- Carte thermique tactile : Superposition de pression de 16 régions rendue sur un contour de main. L’intensité de la couleur correspond à la pression de contact.
- Sélecteur manuel : Basculez entre la main gauche, la main droite ou les deux simultanément.
- Enregistreur de session : Démarrer/arrêter l’enregistrement de l’épisode depuis le panneau. Chaque épisode est horodaté et mis en ligne sur la plateforme à l'arrêt.
Passeuse --no-browser pour supprimer le lancement automatique du navigateur s'il s'exécute sans tête :
rc connect --no-browser
Calibrage des gants
Calibrez le contrôleur de gants en fonction de la taille de la main de l'opérateur afin que les angles de courbure correspondent avec précision aux positions commandées de la main du robot. Les données d'étalonnage sont stockées par opérateur et persistent au fil des sessions.
Dans le panneau Teleop du navigateur, accédez à Paramètres → Calibrer le gant et suivez le flux en deux étapes :
- Référence de position ouverte : Tenez le gant à plat et complètement détendu (tous les doigts étendus). Confirmez lorsque vous y êtes invité.
- Position fermée : Faites un poing fermé (tous les doigts complètement fléchis). Confirmez lorsque vous y êtes invité.
Après l'étalonnage, les barres de courbure des doigts doivent suivre les mouvements de votre main de manière linéaire de 0 % (complètement ouvert) à 100 % (complètement fermé) sans se couper à chaque extrémité.
Collecte de données
Chaque image diffusée depuis l'O6 pendant une session d'enregistrement active est capturée au format JSONL. Utilisez le SDK Python directement pour les scripts de collection personnalisés :
from roboticscenter import LinkerO6
device = LinkerO6.connect()
print(f"Connected on: {device.port}")
print(f"Session: {device.session_url}")
for frame in device.stream():
left = frame.data.get('left', {})
print(f"Index: {left.get('index', 0):.3f}")
Ou utilisez l'enregistreur du panneau du navigateur : cliquez sur Enregistrer pour démarrer un épisode, effectuez votre démonstration, puis cliquez sur Arrêt. Les épisodes sont immédiatement disponibles dans le navigateur d'épisodes de la plateforme pour le téléchargement, la lecture ou l'ingestion du pipeline de formation.
rc session RC-XXXX-XXXX pour afficher les informations de session et l'URL de téléchargement.
Pour plus de détails sur le protocole, la référence du SDK Python et les documents d'intégration de la plateforme, consultez le Page wiki de LinkerBot O6.