Cómo usar el Lekiwi en Lerobot
Este repositorio de tutorial mantiene la versión estable verificada de Lerobot al 5 de junio de 2025. Actualmente, Hugging Face ha lanzado una actualización importante a Lerobot, introduciendo muchas nuevas características. Si quieres experimentar los tutoriales más recientes, por favor sigue la documentación oficial para orientación.
Introducción
El Lekiwi es un proyecto de coche robótico completamente de código abierto lanzado por SIGRobotics-UIUC. Incluye archivos detallados de impresión 3D y guías de operación, diseñado para ser compatible con el framework de aprendizaje por imitación LeRobot. Soporta el brazo robótico SO101 para habilitar un pipeline completo de aprendizaje por imitación,

Características Principales
- Código abierto y bajo costo: Es una solución de coche robótico de código abierto y bajo costo del Lekiwi
- Integración con LeRobot: Diseñado para integración con la plataforma LeRobot
- Abundantes recursos de aprendizaje: Proporciona recursos de aprendizaje de código abierto integrales como guías de ensamblaje y calibración, y tutoriales para pruebas, recolección de datos, entrenamiento y despliegue para ayudar a los usuarios a comenzar rápidamente y desarrollar aplicaciones robóticas.
- Compatible con Nvidia: Despliega este kit de brazo con reComputer Mini J4012 Orin NX 16 GB.
- Aplicación Multi-Escenario: Es aplicable a campos como educación, investigación científica, producción automatizada y robótica, ayudando a los usuarios a lograr operaciones robóticas eficientes y precisas en varias tareas complejas.
Seeed Studio solo es responsable de la calidad del hardware en sí. Los tutoriales se actualizan estrictamente de acuerdo con la documentación oficial. Si encuentras problemas de software o problemas de dependencias del entorno que no se pueden resolver, por favor reporta el problema oportunamente a la plataforma LeRobot o al canal Discord de LeRobot.
-
Todos los servomotores en el chasis LeKiwi requieren alimentación de 12V. Para usuarios con brazos robóticos de 5V, proporcionamos un módulo convertidor reductor de 12V a 5V. Ten en cuenta que se requerirá modificación del circuito de tu parte.
-
Una fuente de alimentación de 12V - Puedes seleccionar esta opción al finalizar la compra si es necesario. Si ya posees una fuente de alimentación de 12V, puedes omitir esta opción y simplemente convertir el conector de salida de tu fuente de alimentación a un enchufe DC 5521.
-
Controlador Raspberry Pi y cámara - Estos deben comprarse por separado a través de la interfaz de pedido.
Especificaciones
Tipo | Lekiwi |
---|---|
Servomotores | 3x 12v STS3215 Relación de Engranaje 1:345 |
Fuente de Alimentación | 12V DC o Batería |
Sensor de Ángulo | Codificador magnético de 12 bits |
Rango de Temperatura de Operación Recomendado | 0℃~40℃ |
Método de Comunicación | UART |
Método de Control | PC |
Lista de Materiales (BOM)
Parte | Cantidad | Incluido |
---|---|---|
Servomotores STS3215 1:345 12V | 3 | ✅ |
Rueda omnidireccional/rueda universal | 3 | ✅ |
Carcasa impresa en 3D Lekiwi | 1 | ✅ |
Módulo de Alimentación Buck DC-DC - 24V/12V a 5V | 1 | ✅ |
Placa de Control de Motor | 1 | ✅ |
Cable Y DC Macho a Doble DC Macho 5521 | 1 | ✅ |
Cable USB;Tipo C 2.0 a Tipo C 2.0-Negro;L150mm | 1 | ✅ |
Cable USB 3.1 Tipo C a A de 0.5 Metros | 1 | ✅ |
Adaptador de Corriente con Enchufe;Negro-12V-2A AC/DC | 1 | ✅ |
Tornillos Surtidos M2 M3 M4 | Suficientes | ✅ |
Raspberry pi | 1 | Opcional |
Cámara USB | 1 | Opcional |
Cámara de Profundidad | 2 | Opcional |
SO-ARM101 Pro | 1 | Opcional |
Paquete de Batería de Iones de Litio de Alta Capacidad 12V E326S | 1 | Opcional |
Entorno del Sistema Inicial
Para Ubuntu x86:
- Ubuntu 22.04
- CUDA 12+
- Python 3.10
- Torch 2.6
Para Jetson Orin:
- Jetson JetPack 6.0+
- Python 3.10
- Torch 2.6
Para Raspberry Pi:
- Raspberry Pi5 4G~16G
Guía de Impresión 3D
Piezas
Proporcionamos archivos STL listos para imprimir para las piezas impresas en 3D que se muestran a continuación. Estas se pueden imprimir con filamento PLA genérico en impresoras FDM de grado de consumidor. Probamos en una impresora Bambu Lab P1S. Para todos los componentes, simplemente cargamos en bambuslicer, auto-rotamos y auto-organizamos, habilitamos cualquier soporte recomendado, e imprimimos.
Artículo | Cantidad | Notas |
---|---|---|
Placa base Superior | 1 | |
Placa base Inferior | 1 | |
Soporte del motor de tracción | 3 | |
Cubo de rueda del servo | 3 | Usar Soportes |
Carcasa RasPi Superior | 1 | 2 |
Carcasa RasPi Inferior | 1 | |
Arducam soporte base y Soporte de muñeca | 1 | Compatible con esta cámara |
Webcam soporte base, inserto de pinza, y soporte de muñeca | 1 | Compatible con esta cámara |
Parámetros de Impresión
Los archivos STL proporcionados están listos para imprimir en muchas impresoras FDM. A continuación se muestran las configuraciones probadas y sugeridas, aunque otras pueden funcionar.
- Material: PLA+
- Diámetro de Boquilla y Precisión: diámetro de boquilla de 0.2mm a altura de capa de 0.2mm
- Densidad de Relleno: 15%
- Velocidad de Impresión: 150 mm/s
- Si es necesario, sube el código G (archivo de corte) a la impresora e imprime
Instalar LeRobot
En tu Raspberry Pi:
1. Instalar Miniconda
mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.sh
2. Reiniciar shell
Copia y pega en tu shell: source ~/.bashrc
o para Mac: source ~/.bash_profile
o source ~/.zshrc
si estás usando zshell
3. Crear y activar un entorno conda nuevo para lerobot
conda create -y -n lerobot python=3.10
Luego activa tu entorno conda (¡haz esto cada vez que abras una terminal para usar lerobot!):
conda activate lerobot
4. Clonar LeRobot
git clone https://github.com/huggingface/lerobot.git ~/lerobot
5. Instala ffmpeg en tu entorno
Cuando uses miniconda
, instala ffmpeg
en tu entorno:
conda install ffmpeg -c conda-forge
6. Instalar LeRobot con dependencias para los motores feetech
cd ~/lerobot && pip install -e ".[feetech]"
Instalar LeRobot en laptop(PC)
Si ya tienes instalado LeRobot en tu laptop puedes omitir este paso, de lo contrario por favor sigue adelante mientras hacemos los mismos pasos que hicimos en la Pi.
Usamos bastante el Símbolo del sistema (cmd). Si no te sientes cómodo usando el cmd o quieres repasar el uso de la línea de comandos puedes echar un vistazo aquí: Curso intensivo de línea de comandos
En tu computadora:
1. Instalar Miniconda
2. Reiniciar shell
Copia y pega en tu shell: source ~/.bashrc
o para Mac: source ~/.bash_profile
o source ~/.zshrc
si estás usando zshell
3. Crear y activar un entorno conda nuevo para lerobot
conda create -y -n lerobot python=3.10
Luego activa tu entorno conda (¡haz esto cada vez que abras una terminal para usar lerobot!):
conda activate lerobot
4. Clonar LeRobot
git clone https://github.com/ZhuYaoHui1998/lerobot ~/lerobot
5. Instala ffmpeg en tu entorno
Cuando uses miniconda
, instala ffmpeg
en tu entorno:
conda install ffmpeg -c conda-forge
6. Instalar LeRobot con dependencias para los motores feetech
cd ~/lerobot && pip install -e ".[feetech]"
Ensamblaje
Ensamblar Lekiwi
tutorial en video
Lo siguiente es un tutorial fotográfico
Puedes consultar el tutorial de ensamblaje oficial.
Al recibir las piezas impresas, todos los componentes impresos son como se muestra a continuación.

A. Conecta el motor de accionamiento al soporte del motor usando 12 tornillos autorroscantes m2x6.
Paso 1 | Paso 2 |
---|---|
![]() | ![]() |
B. Atornilla el soporte del motor de accionamiento a la placa base inferior usando 12 tornillos de máquina m3x16.
Recuerda la disposición de ID: 8 representa la rueda trasera, mientras que 7 y 9 corresponden a las ruedas delantera izquierda y delantera derecha respectivamente.
Paso 1 | Paso 2 |
---|---|
![]() | ![]() |
C. Conecta el cubo de la rueda a la rueda omnidireccional.
Paso 1 y Paso 2: Retira los tres tornillos.
Paso 1 | Paso 2 |
---|---|
![]() | ![]() |
Paso 3 y Paso 4: Conecta el cubo de la rueda a la rueda omnidireccional usando 9 tornillos de máquina m4x18.
Paso 3 | Paso 4 |
---|---|
![]() | ![]() |
D. Conecta el cuerno del servo al cubo de la rueda usando 6 tornillos de máquina m3x16.
Paso 1 | Paso 2 | Paso 3 |
---|---|---|
![]() | ![]() | ![]() |
E. Conecta el cuerno del servo al motor de accionamiento usando 3 tornillos de máquina m3x10.
Paso 1 | Paso 2 | Paso 3 |
---|---|---|
![]() | ![]() | ![]() |
H. Añade el controlador del servo y conecta todos los circuitos.
Paso 1 | Paso 2 | Paso 3 | Paso 4 |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Paso 5 | Paso 6 | Paso 7 | Paso 8 |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
El Power IN se conecta directamente a la fuente de alimentación, como en el Paso 8, mientras que el puerto USB-C proporciona alimentación de 5V al Raspberry Pi.
Para los terminales adicionales de 2 pines (5V y 12V):
- Si usas un brazo robótico SO10x de 7.4V, alimenta la Placa de Servomotores a través de la salida de 5V.
- Si usas un brazo robótico de 12V, alimenta la Placa de Servomotores directamente desde el divisor de alimentación DC, como en el Paso 8.

I. Ahora puedes proceder a montar el Raspberry Pi en la placa superior de la segunda capa del vehículo. Antes de hacerlo, conecta tanto el cable de alimentación USB-C como el cable de comunicación USB-C para servomotores, luego pásalos a través del panel superior del vehículo.
Paso 1 Conecta el cable de alimentación a tu Raspberry Pi y pásalo a través de la abertura central del panel superior.
![]() | ![]() | ![]() |
Paso 2 Entre los tres servomotores del chasis, un servo tiene solo un cable conectado. Si necesitas instalar el brazo robótico SO10x, por favor: Retira el cable ID1 del brazo robótico. Conéctalo al motor del chasis. Pásalo a través del panel superior como cable reservado
![]() | ![]() | ![]() |
Paso 3 Ahora puedes conectar el USB-C de la placa controladora de servos al puerto USB de la Raspberry Pi.
![]() | ![]() |
J. Ahora necesitas asegurar la Raspberry Pi y las partes restantes de la placa superior usando 12 tornillos M3×16.
![]() | ![]() | ![]() |
K. Ahora puedes instalar la cámara USB y el Brazo Seguidor usando 1 tornillo M3x16 y 4 tornillos M5×25
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
Y asegúrate de que tanto el cable de control del servo como la cámara USB estén conectados al Raspberry Pi.
![]() |
Verifica las conexiones del circuito; después del ensamblaje, el Lekiwi debe estar conectado a la placa de desarrollo (Raspberry Pi / Jetson). El brazo líder debe estar conectado a tu PC.
| Lekiwi --> Raspberry Pi / Jetson |
| Brazo líder --> PC |
Configurar los motores
Brazo líder
Para encontrar el puerto de cada adaptador de servo bus, ejecuta este script:
python -m lerobot.find_port
Ejemplo de salida:
Finding all available ports for the MotorBus.
['/dev/tty.usbmodem575E0032081']
Remove the USB cable from your MotorsBus and press Enter when done.
[...Disconnect corresponding leader or follower arm and press Enter...]
The port of this MotorsBus is /dev/tty.usbmodem575E0032081
Reconnect the USB cable.
Ejemplo de salida al identificar el puerto (p. ej., /dev/tty.usbmodem575E0031751
en Mac, o posiblemente /dev/ttyACM0
en Linux):
Ejemplo de salida al identificar el puerto (p. ej., /dev/tty.usbmodem575E0032081
, o posiblemente /dev/ttyACM1
en Linux):
Finding all available ports for the MotorBus.
['/dev/tty.usbmodem575E0032081']
Remove the USB cable from your MotorsBus and press Enter when done.
Recuerda quitar el usb, luego presiona Enter, de lo contrario la interfaz no será detectada.
Solución de problemas: En Linux, es posible que necesites dar acceso a los puertos USB ejecutando:
sudo chmod 666 /dev/ttyACM0
sudo chmod 666 /dev/ttyACM1
Conecta el cable USB desde tu computadora y la fuente de alimentación a la placa controladora del brazo líder. Luego, ejecuta el siguiente comando o ejecuta el ejemplo de API con el puerto que obtuviste del paso anterior. También necesitarás darle un nombre a tu brazo líder con el parámetro id
.
python -m lerobot.setup_motors \
--teleop.type=so101_leader \
--teleop.port=/dev/tty.usbmodem575E0031751 # <- paste here the port found at previous step
Deberías ver la siguiente instrucción.
Connect the controller board to the 'gripper' motor only and press enter.
Como se indica, conecta el motor de la pinza. Asegúrate de que sea el único motor conectado a la placa, y que el motor en sí no esté aún conectado en cadena a ningún otro motor. Al presionar [Enter], el script establecerá automáticamente el id y la velocidad de baudios para ese motor.
Entonces deberías ver el siguiente mensaje:
'gripper' motor id set to 6
Seguido de la siguiente instrucción:
Connect the controller board to the 'wrist_roll' motor only and press enter.
Puedes desconectar el cable de 3 pines de la placa controladora, pero puedes dejarlo conectado al motor de la pinza en el otro extremo, ya que ya estará en el lugar correcto. Ahora, conecta otro cable de 3 pines al motor de rotación de la muñeca y conéctalo a la placa controladora. Como con el motor anterior, asegúrate de que sea el único motor conectado a la placa y que el motor en sí no esté conectado a ningún otro.
Repite la operación para cada motor según las instrucciones.
Verifica tu cableado en cada paso antes de presionar Enter. Por ejemplo, el cable de alimentación podría desconectarse mientras manipulas la placa.
Cuando hayas terminado, el script simplemente finalizará, momento en el cual los motores estarán listos para ser utilizados. Ahora puedes conectar el cable de 3 pines de cada motor al siguiente, y el cable del primer motor (el 'giro del hombro' con id=1) a la placa controladora, que ahora puede ser fijada a la base del brazo.
Lekiwi
Debes seguir el comando anterior para encontrar el USB correcto y configurar los motores.
Las instrucciones para configurar los motores se pueden encontrar en la documentación del SO101 (Igual que el brazo líder). Además de los ids para los motores del brazo, también necesitamos establecer los ids de los motores para la base móvil. Estos necesitan estar en un orden específico para funcionar. A continuación una imagen de los ids de los motores y las posiciones de montaje de los motores para la base móvil. Ten en cuenta que solo usamos una placa de Control de Motor en LeKiwi. Esto significa que los ids de los motores para las ruedas son 7, 8 y 9.
Puedes ejecutar este comando para configurar los motores para LeKiwi. Primero configurará los motores para el brazo (id 6..1) y luego configurará los motores para las ruedas (9,8,7).
python -m lerobot.setup_motors \
--robot.type=lekiwi \
--robot.port=/dev/tty.usbmodem58760431551 # <- paste here the port found at previous step

Calibración
Ahora tenemos que calibrar el brazo líder y el brazo seguidor. Los motores de las ruedas no necesitan ser calibrados. El proceso de calibración es muy importante porque permite que una red neuronal entrenada en un robot funcione en otro.
Calibrar brazo seguidor (en base móvil)
Asegúrate de que el brazo esté conectado a la Raspberry Pi y ejecuta este script o ejemplo de API (en la Raspberry Pi vía SSH) para lanzar la calibración del brazo seguidor:
python -m lerobot.calibrate \
--robot.type=lekiwi \
--robot.id=my_awesome_kiwi # <- Give the robot a unique name
Unificamos el método de calibración para la mayoría de robots, por lo tanto, los pasos de calibración para este brazo SO100 son los mismos que los pasos para el Koch y SO101. Primero, tenemos que mover el robot a la posición donde cada articulación esté en el medio de su rango, luego presionamos Enter
. En segundo lugar, movemos todas las articulaciones a través de su rango completo de movimiento. Un video de este mismo proceso para el SO101 como referencia se puede encontrar aquí.
Versión con cable
Si tienes la versión con cable LeKiwi, por favor ejecuta todos los comandos en tu laptop.
Calibrar brazo líder
Luego, para calibrar el brazo líder (que está conectado a la laptop/pc). Ejecuta el siguiente comando del ejemplo de API en tu laptop:
python -m lerobot.calibrate \
--teleop.type=so100_leader \
--teleop.port=/dev/tty.usbmodem58760431551 \ # <- The port of your robot
--teleop.id=my_awesome_leader_arm # <- Give the robot a unique name
Teleoperar LeKiwi
Si estás usando una Mac, es posible que necesites dar permiso a Terminal para acceder a tu teclado. Ve a Preferencias del Sistema > Seguridad y Privacidad > Monitoreo de Entrada y marca la casilla para Terminal.
Para teleoperar, conéctate por SSH a tu Raspberry Pi, y ejecuta conda activate lerobot
y este script:
python -m lerobot.robots.lekiwi.lekiwi_host --robot.id=my_awesome_kiwi
Luego en tu laptop, también ejecuta conda activate lerobot
y ejecuta el ejemplo de API, asegúrate de establecer el remote_ip
y port
correctos en examples/lekiwi/teleoperate.py
.

python examples/lekiwi/teleoperate.py
Deberías ver en tu laptop algo como esto: [INFO] Connected to remote robot at tcp://172.17.133.91:5555 and video stream at tcp://172.17.133.91:5556.
Ahora puedes mover el brazo líder y usar el teclado (w,a,s,d) para conducir hacia adelante, izquierda, atrás, derecha. Y usar (z,x) para girar a la izquierda o girar a la derecha. Puedes usar (r,f) para aumentar y disminuir la velocidad del robot móvil. Hay tres modos de velocidad, ver la tabla a continuación:
Modo de Velocidad | Velocidad Lineal (m/s) | Velocidad de Rotación (deg/s) |
---|---|---|
Rápido | 0.4 | 90 |
Medio | 0.25 | 60 |
Lento | 0.1 | 30 |
Tecla | Acción |
---|---|
W | Mover hacia adelante |
A | Mover a la izquierda |
S | Mover hacia atrás |
D | Mover a la derecha |
Z | Girar a la izquierda |
X | Girar a la derecha |
R | Aumentar velocidad |
F | Disminuir velocidad |
Si usas un teclado diferente puedes cambiar las teclas para cada comando en el LeKiwiRobotConfig
.
Versión con cable
Si tienes la versión con cable de LeKiwi, por favor ejecuta todos los comandos incluyendo ambos comandos de teleoperación en tu laptop.
Solucionar problemas de comunicación
Si tienes problemas conectándote al Mobile SO100, sigue estos pasos para diagnosticar y resolver el problema.
1. Verificar la configuración de la dirección IP
Asegúrate de que la IP correcta para la Pi esté configurada en el archivo de configuración. Para verificar la dirección IP de la Raspberry Pi, ejecuta (en la línea de comandos de la Pi):
hostname -I
2. Verificar si la Pi es accesible desde la laptop/pc
Intenta hacer ping a la Raspberry Pi desde tu laptop:
ping <your_pi_ip_address>
Si el ping falla:
- Asegúrate de que la Pi esté encendida y conectada a la misma red.
- Verifica si SSH está habilitado en la Pi.
3. Probar conexión SSH
Si no puedes conectarte por SSH a la Pi, podría no estar conectada correctamente. Usa:
ssh <your_pi_user_name>@<your_pi_ip_address>
Si obtienes un error de conexión:
-
Asegúrate de que SSH esté habilitado en la Pi ejecutando:
sudo raspi-config
Luego navega a: Interfacing Options -> SSH y habilítalo.
4. Mismo archivo de configuración
Asegúrate de que el archivo de configuración en tu laptop/pc y en la Raspberry Pi sea el mismo.
Grabar un conjunto de datos
Una vez que estés familiarizado con la teleoperación, puedes grabar tu primer conjunto de datos con LeKiwi.
Utilizamos las características del hub de Hugging Face para subir tu conjunto de datos. Si no has usado previamente el Hub, asegúrate de poder iniciar sesión a través de la cli usando un token de acceso de escritura, este token se puede generar desde la configuración de Hugging Face.
Añade tu token a la CLI ejecutando este comando:
huggingface-cli login --token ${HUGGINGFACE_TOKEN} --add-to-git-credential
Luego almacena el nombre de tu repositorio de Hugging Face en una variable:
HF_USER=$(huggingface-cli whoami | head -n 1)
echo $HF_USER
Ahora puedes grabar un conjunto de datos. Para grabar episodios y subir tu conjunto de datos al hub, ejecuta este ejemplo de API adaptado para LeKiwi. Asegúrate de adaptar primero el remote_ip
, repo_id
, port
y task
en el script. Si deseas ejecutar el script por más tiempo, puedes aumentar NB_CYCLES_CLIENT_CONNECTION
.

python examples/lekiwi/record.py
Carga del conjunto de datos
Localmente, tu conjunto de datos se almacena en esta carpeta: ~/.cache/huggingface/lerobot/{repo-id}
. Al final de la grabación de datos, tu conjunto de datos se cargará en tu página de Hugging Face (por ejemplo, https://huggingface.co/datasets/cadene/so101_test) que puedes obtener ejecutando:
echo https://huggingface.co/datasets/${HF_USER}/so101_test
Tu conjunto de datos será etiquetado automáticamente con LeRobot
para que la comunidad lo encuentre fácilmente, y también puedes añadir etiquetas personalizadas (en este caso tutorial
por ejemplo).
Puedes buscar otros conjuntos de datos de LeRobot en el hub buscando etiquetas de LeRobot
tags.
Consejos para recopilar datos
Una vez que te sientas cómodo con la grabación de datos, puedes crear un conjunto de datos más grande para entrenamiento. Una buena tarea inicial es agarrar un objeto en diferentes ubicaciones y colocarlo en un contenedor. Sugerimos grabar al menos 50 episodios, con 10 episodios por ubicación. Mantén las cámaras fijas y conserva un comportamiento de agarre consistente durante todas las grabaciones. También asegúrate de que el objeto que estás manipulando sea visible en las cámaras. Una buena regla general es que deberías poder hacer la tarea tú mismo mirando solo las imágenes de la cámara.
En las siguientes secciones, entrenarás tu red neuronal. Después de lograr un rendimiento de agarre confiable, puedes comenzar a introducir más variaciones durante la recopilación de datos, como ubicaciones de agarre adicionales, diferentes técnicas de agarre y alterar las posiciones de la cámara.
Evita añadir demasiada variación muy rápidamente, ya que puede perjudicar tus resultados.
Si quieres profundizar en este tema importante, puedes consultar la publicación del blog que escribimos sobre qué hace un buen conjunto de datos.
Solución de problemas
En Linux, si las teclas de flecha izquierda y derecha y la tecla escape no tienen ningún efecto durante la grabación de datos, asegúrate de haber configurado la variable de entorno $DISPLAY
. Ver limitaciones de pynput.
Versión con cable
Si tienes la versión con cable de LeKiwi, por favor ejecuta todos los comandos incluyendo ambos comandos de grabación de conjunto de datos en tu laptop.
Visualizar el conjunto de datos
Si subiste tu conjunto de datos al hub con --dataset.push_to_hub=true
, puedes visualizar tu conjunto de datos en línea copiando y pegando tu id de repositorio dado por:
echo ${HF_USER}/lekiwi_test
Si no subiste con --dataset.push_to_hub=false
, también puedes visualizarlo localmente con (se puede abrir una ventana en el navegador http://127.0.0.1:9090
con la herramienta de visualización):
python -m lerobot.scripts.visualize_dataset_html \
--repo-id ${HF_USER}/lekiwi_test \# <-change to your repo-id
--local-files-only 1
Reproducir un episodio
Para reproducir un episodio ejecuta el ejemplo de API a continuación, asegúrate de cambiar remote_ip
, port
, LeRobotDatasetId e índice del episodio. El archivo se encuentra en la ruta examples/lekiwi/replay.py
.

Ejecuta el siguiente comando:
python examples/lekiwi/replay.py
Entrenar una política
Para entrenar una política para controlar tu robot, usa el script python lerobot/scripts/train.py
. Se requieren algunos argumentos. Aquí tienes un comando de ejemplo:
python lerobot/scripts/train.py \
--dataset.repo_id=${HF_USER}/lekiwi_test \
--policy.type=act \
--output_dir=outputs/train/act_lekiwi_test \
--job_name=act_lekiwi_test \
--policy.device=cuda \
--wandb.enable=true # You can choose false if you don't need wandb
Vamos a explicarlo:
- Proporcionamos el conjunto de datos como argumento con
--dataset.repo_id=${HF_USER}/lekiwi_test
. - Proporcionamos la política con
policy.type=act
. Esto carga configuraciones desdeconfiguration_act.py
. Importante, esta política se adaptará automáticamente al número de estados del motor, acciones del motor y cámaras de tu robot (por ejemplo,laptop
yphone
) que se han guardado en tu conjunto de datos. - Proporcionamos
policy.device=cuda
ya que estamos entrenando en una GPU Nvidia, pero podrías usarpolicy.device=mps
para entrenar en silicio de Apple. - Proporcionamos
wandb.enable=true
para usar Weights and Biases para visualizar gráficos de entrenamiento. Esto es opcional pero si lo usas, asegúrate de estar conectado ejecutandowandb login
.
El entrenamiento debería tomar varias horas. Encontrarás puntos de control en outputs/train/act_lekiwi_test/checkpoints
.
Evalúa tu política
Para evaluar tu política ejecuta el ejemplo de API evaluate.py
, asegúrate de cambiar remote_ip
, port
, modelo..
La ruta es examples/lekiwi/evaluate.py
.

python examples/lekiwi/evaluate.py
Como puedes ver, es casi el mismo comando que se usó anteriormente para grabar tu conjunto de datos de entrenamiento. Dos cosas cambiaron:
- Hay un argumento adicional
policy
que indica la ruta a tu checkpoint de política con (por ejemplo,outputs/train/eval_act_lekiwi_test/checkpoints/last/pretrained_model
). También puedes usar el repositorio del modelo si subiste un checkpoint del modelo al hub (por ejemplo,${HF_USER}/act_lekiwi_test
). - El nombre del conjunto de datos comienza por
eval
para reflejar que estás ejecutando inferencia (por ejemplo,${HF_USER}/eval_act_lekiwi_test
).
Ayuda 🙋
Para problemas de hardware, por favor contacta al servicio al cliente. Para preguntas de uso, únete a Discord.
Soporte Técnico y Discusión de Productos
¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.