Enable remote teleoperation over WebRTC using LiveKit
Enable remote tele-operation of LeRobot
A new Manipulator subclass named LiveKitManipulator that allows the creation of either a Leader or a Follower device using existing robot configurations that will automatically connect to a LiveKit server in order to send the Leader commands to the Follower using WebRTC.
The new class expects 3 new properties:
is_leader - if True, the robot will run in Leader mode. All captured Leader positions are published as Data messages over LiveKit. If False, it will listen for messages from the leader and set the appropriate action on the follower arm(s).
livekit_url - the url of your LiveKit server.
livekit_token - the LiveKit token for the robot instance.
How it was tested
- Leader arms connected to a MacBook running lerobot.
- Follow arms connected to a linux laptop running lerobot.
- All actions performed on the leader arms are reflected on the follower smoothly.
How to checkout & try? (for the reviewer)
Follow the instructions in [examples/13_use_so100_livekit_teleop.md] to run a robot remotely via LiveKit teleoperation.
questions please reach out to: [email protected]