Volver a Paxini Gen3 Path

Entrenemos una política de conocimiento táctil

Añadir táctil como modalidad de observación en el ACT o en la Política de difusión, entrenar en su conjunto de datos y evaluar en función de una línea de base de la visión en las tareas de manipulación ricas en contacto.

Unidad 5 de 5 · En tren y despliegue · ~ 1,5 horas (+ tiempo de formación)

La unidad final. Agregar el tactilo como una modalidad de observación en ACT o Política de difusión, calcular estadísticas de normalización de su conjunto de datos, ejecutar el entrenamiento y evaluar con una línea de base sólo de visión.

Paso 1 Agregar modalidad táctil

Ampliación de la configuración de políticas

La observación táctil se puede agregar como el mapa de presión completo (espacial, 64 valores por marco) o el escalar agregado (total_force_n). Comienza con el escalar es más fácil de normalizar y suficiente para la mayoría de las tareas de manipulación. Agregue el mapa de presión si su tarea requiere información de contacto espacial (por ejemplo, distinguir el borde contra el contacto central).

# lerobot/configs/policy/act_paxini.yaml policy: name: act dataset: repo_id: local/paxini-grasp-place observation_features: - observation.state # joint positions (7,) - observation.images.wrist # wrist camera (H, W, 3) - observation.tactile.total_force_n # scalar force (1,) - observation.tactile.contact_area_mm2 # scalar area (1,) # Opcional: mapa de presión completa → - observation.tactile.pressure_map # (8, 8) posiciones de acción_features: - acción # joint observation (7,)

Paso 2 Computa estadísticas de normalización

Estadísticas de normalización de su conjunto de datos

Siempre computa estadísticas de normalización de su conjunto de datos específico no utilice valores codificados en formato duro. El SDK Paxini proporciona una utilidad para esto:

# Computa estadísticas de tu conjunto de datos grabado desde paxini.data importar computación_dataset_stats = computación_dataset_stats"./tactile_dataset/") print(stats.to_yaml()) # Resultados esperados (valores de ejemplo): # observación.tactile.total_force_n: # media: 2.84 # std: 1.93 # min: 0.0 # max: 14.2 # observación.tactile.contact_area_mm2: # media: 22.4 # std: 18.6 \ Guardar para configurar estadísticas.save"./act\paxini_stats.yaml")

Por qué la normalización es importante para el tactilo Los valores de fuerza (020 N) son en una escala completamente diferente de las posiciones conjuntas (normalmente ±π radianos) y los valores de píxeles (0255).

Paso 3 Formación

Comando de entrenamiento

Inicio de entrenamiento ACT con la configuración táctil. Tiempo de entrenamiento: ~ 45 minutos en una GPU de 8 GB, ~ 3 horas en la CPU.

# Instalar LeRobot si no está instalado pip instalar lerobot # Train ACT con modalidad táctil python lerobot/scripts/train.py \ --config-name act_paxini \ --dataset-path ./tactile_dataset/ \ --stats-path ./act_paxini_stats.yaml \ --output-dir ./checkpoints/act_tactile/ \ --num-epochs 300 \ --batch-size 8 \ --seed 42 # Monitoring loss (en un terminal separado) tensorboard --logdir ./checkpoints/act_tactile/logs/

El entrenamiento se completa cuando las pérdidas de validación se elevan. Durante 50 episodios a 100 Hz, espera convergencia alrededor de la época 200250. La métrica táctil_obs_loss en TensorBoard debe disminuir constantemente junto con la pérdida de acción principal.

Paso 4 Evaluación frente a línea de base de visión

Evaluar la mejora en vez de la visión solamente

Entrenar una segunda política utilizando sólo la visión + propriocepción (sin canales táctiles) en el mismo conjunto de datos. Esta es su línea de base. Realice una evaluación de más de 20 implementaciones para cada política en su tarea objetivo:

# Entrenar la línea de base sólo para visión (la misma configuración, menos claves táctiles) python lerobot/scripts/train.py \ --config-name act_vision_only \ --dataset-path ./tactile_dataset/ \ --output-dir ./checkpoints/act_baseline/ # Evaluar ambas políticas 20 implementaciones cada python lerobot/scripts/evall.py \ --checkpoint ./checkpoints/act_tactile/best.ck \ --num-episodes 20 \ --num-name "tactile" python lerobot/scripts/evall.py --checkpoint ./checkpoints/act_baseline/best.ispt \ --num-episodes 20 \ --evall-line "

Buscar mejoras en las métricas de estabilidad de agarre específicamente la tasa de éxito de tareas en objetos propensos a deslizamiento y la duración media de retención durante la fase de colocación.

Qué hacer si el tactilo no mejora el rendimiento Primero, compruebe que los eventos de contacto de su conjunto de datos se alinean con el video (control de calidad de la Unidad 4). Tercero, intenta agregar el mapa de presión como observación en lugar de sólo el escalar proporciona un contexto espacial más rico.

¿Qué es lo siguiente?

Las siguientes direcciones

¿Qué es esto?

Fusión de múltiples sensores

La guía Dexterous Hands cubre arquitecturas de políticas de múltiples sensores.

¿Qué es esto?

Los bucles de control de la fuerza

Utilice la corriente en tiempo real de la Gen3 como señal de retroalimentación para el control de impedancia ajuste dinámicamente la fuerza de agarre en función de los eventos de deslizamiento detectados.

Las recompensas de la táctil

Utilice la calidad de la captura desde el tactile como una señal de recompensa en línea para el aprendizaje de refuerzo, ajuste fino después del aprendizaje inicial de imitación.

El camino completo

Se ha pasado de la primera lectura de sensores a una política de manipulación consciente del tacto entrenada. Ahora tiene una pipeline completa hardware, datos y políticas que puede aplicar a cualquier tarea rica en contactos.

Unidad 5 completa cuando...

La formación se completa sin errores y produce un punto de control. La pérdida de validación táctil disminuye y se desestabiliza durante el entrenamiento.