LeRobot documentation
Téléopérateurs
Téléopérateurs
Un téléopérateur génère des actions pour qu'un robot les suive — un bras maître, une manette, un clavier, un téléphone. Tous implémentent l'interface Teleoperator, de sorte qu'un script d'enregistrement écrit pour cette interface fonctionne avec n'importe quel périphérique d'entrée.
Consultez Phone teleoperation et Isaac Teleop pour les guides de configuration, et Imitation Learning for Robots pour le flux de travail d’enregistrement. Pour les appareils maintenus par la communauté en dehors du jeu de base, consultez Third-Party Robots & Teleoperators. Pour ajouter votre propre téléopérateur, consultez Bring Your Own Hardware.
Téléopérateur
classe lerobot.teleoperators.Teleoperator
< source >( config: TeleoperatorConfig )
Classe abstraite de base pour tous les périphériques de téléopération compatibles avec LeRobot.
Cette classe fournit une interface standardisée pour interagir avec des téléopérateurs physiques. Les sous-classes doivent implémenter toutes les méthodes et propriétés abstraites pour être utilisables.
connect
< source >( calibrate: bool = True )
Établir la communication avec le téléopérateur.
Déconnectez-vous du téléopérateur et effectuez le nettoyage nécessaire.
Appliquez toute configuration à usage unique ou d'exécution au téléopérateur. Cela peut inclure la définition des paramètres des moteurs, des modes de contrôle ou de l'état initial.
Calibrez le téléopérateur le cas échéant. Sinon, cette opération ne doit rien faire.
Cette méthode doit collecter les données nécessaires (par exemple, les décalages moteurs) et mettre à jour le dictionnaire
:pyattr:calibration en conséquence.
get_action
< source >( ) → RobotAction
Retourne
RobotAction
Un dictionnaire plat représentant les actions actuelles du téléopérateur. Sa structure doit correspondre à :pymeth:observation_features.
Récupérer l'action actuelle depuis le téléopérateur.
send_feedback
< source >( feedback: dict ) → dict[str, Any]
Paramètres
- feedback (dict[str, Any]) — Dictionnaire représentant le feedback souhaité. Sa structure doit correspondre à
:pymeth:
feedback_features.
Retourne
dict[str, Any]
L'action réellement envoyée aux moteurs, potentiellement tronquée ou modifiée, par exemple par des limites de sécurité sur la vitesse.
Envoyer une commande d'action de retour d'information au téléopérateur.
Un dictionnaire décrivant la structure et les types des actions produites par le téléopérateur. Sa structure (clés) doit correspondre à celle de ce qui est renvoyé par :pymeth:get_action. Les valeurs du dictionnaire doivent être le type de la valeur s’il s’agit d’une valeur simple, par exemple float pour une valeur proprioceptive unique (position/vitesse cible d’une articulation)
Note : cette propriété doit pouvoir être appelée, que le robot soit connecté ou non.
Un dictionnaire décrivant la structure et les types des actions de retour d'information attendues par le robot. Sa structure (clés) doit correspondre à celle de ce qui est transmis à :pymeth:send_feedback. Les valeurs du dictionnaire doivent être le type de la valeur s'il s'agit d'une valeur simple, par exemple float pour une valeur proprioceptive unique (position/vitesse cible d'une articulation)
Note : cette propriété doit pouvoir être appelée, que le robot soit connecté ou non.
Indique si le téléopérateur est actuellement connecté ou non. Si False, l'appel de :pymeth:get_action ou :pymeth:send_feedback doit lever une erreur.
Indique si le téléopérateur est actuellement calibré ou non. Doit toujours être True si non applicable
TeleoperatorConfig
classe lerobot.teleoperators.TeleoperatorConfig
< source >( id: str | None = Nonecalibration_dir: pathlib.Path | None = None )