One day with the
@norma_core_dev ElRobot kit and LeRobot. The video is 3 min of full speed teleop, this thing twists in all directions and it's super reactive, good hardware for real.
What we did today, everything is public:
Ported the community ElRobot fork into a standalone LeRobot 0.6 plugin. No fork needed, the standard CLIs just work (calibrate, teleoperate, record).
Benchmarked the kit, numbers are impressive: the servo bus answers a full 8 motor read in 1.15 ms, that's around 860 Hz of headroom, way more than what a 30 Hz imitation learning loop needs. Cameras do a stable 30 fps at 1080p in MJPG. Check your capture mode, raw YUYV caps at 5 fps on any USB 2.0 camera.
Calibrated the 8 DOF arm without needing 3 hands: the arm goes to mid range by itself and holds the pose, you just press ENTER.
Then we ran teleop uncapped, no speed limit. Safety comes from alignment instead, both arms start from their gravity rest pose, so there is nothing to chase.
The fun part: we chased a wrist singularity, a joint would suddenly spin a full turn at max speed. We logged raw encoder ticks at 60 Hz and the data showed the mechanism: free spinning wrists have no end stop, your hand can cross the magnetic encoder wrap point and the reading jumps 359 degrees. Fixed with encoder unwrapping plus recentering the wrap away from the work zone. Best part, we then read NormaCore's open source code and their calibration does the same recentering. Two roads, same physics, good sign for the design.
Bonus round: while shooting this post video I felt some lag on fast joints during a stress test, I suspected data collisions. The log said no: 60000 ticks over 18 min, loop steady at 18 ms, worst tick 28 ms, the bus never hiccuped once. Real culprit was a servo gain, the community port had halved P against shakiness, that costs around 100 ms of tracking lag at 250 deg/s. Factory gains restored, PID is configurable now. Lesson: instrument first, blame later.
Everything is here, Apache 2.0, README with the numbers and every trap we hit:
github.com/metrox-eth/lerobo…
@ptruiz_dev feel free to review it.
Day one verdict: clean prints, correct IDs out of the box, a fast bus, and open source deep enough that you can read how it works. Once the settings are right, this thing dances.