Ajustar y validar el control
Resultado: acepte la configuración según criterios medidos en lugar de un movimiento exitoso. Primero verifique la calibración, la trayectoria del movimiento inicial, los perfiles y cualquier modelo de gravedad.
1. Prepare un plan de referencia
macOS / Linux
cp tools/tuning/example.json tools/tuning/plan.local.json
cp tools/tuning/controller.example.json tools/tuning/controller.local.json
Windows PowerShell
Copy-Item tools/tuning/example.json tools/tuning/plan.local.json
Copy-Item tools/tuning/controller.example.json tools/tuning/controller.local.json
En tools/tuning/plan.local.json, establezca config en controller.local.json, stage en baseline y candidates en []. El ejemplo fuente contiene un candidato PID; no lo ejecute sin cambios como medición de referencia.
Configure el puerto y los perfiles del controlador e incluya cada motor compatible en joints como {"followerId": ID}. Eliminar un durationMs copiado: el batch.maxDurationMs del plan posee el presupuesto de duración.
| Campo de plano | Decisión antes de correr |
|---|---|
probeId |
Motor que se moverá |
poses.screen, poses.validate |
Diferentes pares de criterios de valoración permitidos para el cribado y la validación; no copie los recuentos de ejemplo 2000/2050 sin verificar las posiciones físicas |
motion.speeds |
Velocidades adecuadas para la carga revisada. |
limits |
Error de seguimiento/soporte, límites de temperatura y voltaje |
acceptance |
Criterios de error, sobreimpulso, asentamiento y saturación. |
batch |
Repeticiones, duraciones de espera y presupuesto total |
Las posiciones son recuentos de codificador corregidos. Después de la recalibración, los mismos números pueden representar diferentes posiciones físicas. Las juntas de soporte mantienen los objetivos de sujeción existentes; la herramienta no reposiciona automáticamente todo el brazo.
2. Separa los tres comandos.
Inspeccione archivos y uso estimado del bus de comunicación sin conectarse:
macOS / Linux
npm run tune -- inspect tools/tuning/plan.local.json
Windows PowerShell
npm.cmd run tune -- inspect tools/tuning/plan.local.json
Lea firmware, calibración, límites y perfiles sin cambiar motores:
macOS / Linux
npm run tune -- preflight tools/tuning/plan.local.json
Windows PowerShell
npm.cmd run tune -- preflight tools/tuning/plan.local.json
Ejecute el lote con movimiento:
macOS / Linux
npm run tune -- run tools/tuning/plan.local.json
Windows PowerShell
npm.cmd run tune -- run tools/tuning/plan.local.json
No lo ejecute si la verificación previa revela objetivos recortados inesperados, un error de modelo o un par de puntos finales colapsado en una posición. El lote mueve probeId; otros motores deben mantener una postura de apoyo revisada.
3. Sintoniza en orden
- Línea base: movimientos iniciales y retenciones sin candidatos; establecer repetibilidad e investigar alarmas.
- Gravedad: revisa un modelo en poses, direcciones y al menos dos velocidades. Esta etapa recopila datos sin cambiar las ganancias de control.
- Velocidad: compara la alimentación direccional utilizando un movimiento constante.
- PID: compara P, D y filtrado entre cargas; Utilice retenciones más largas para exponer la oscilación.
- Integral: introducir sólo en caso de un error duradero; Pruebe la ganancia y el límite juntos, incluidas pequeñas reversiones.
- Movimiento: mantenga fijas las ganancias de control mientras compara la aceleración y el tiempo de rampa.
- Movimiento combinado: repetir un recorrido de todo el brazo; la sintonización conjunta aislada no valida el movimiento acoplado.
- Validación: congele la configuración y verifique las velocidades, aceleraciones, cargas útiles y retenciones prolongadas requeridas.
La etapa restringe los campos candidatos. La línea de base, la gravedad y la validación no cambian la configuración. Los límites de salida total permanecen configurados explícitamente en lugar de ajustarse automáticamente.
4. Interpretar los resultados
Cadatools/tuning/logs/<run>/directorio contieneevents.ndjsonysummary.json. Revise el estado de finalización, las líneas de base antes y después del lote, los pares de validación independientes y todos los criterios de aceptación. Un lote incompleto o fallido no proporciona ninguna recomendación. La desviación de la línea de base puede hacer que una comparación no sea concluyente.
Las métricas cubren el RMS de seguimiento en movimiento, el error y la amplitud constantes, el exceso, el tiempo de estabilización, el tiempo total de respuesta y la fracción de saturación. El asentamiento requiere un intervalo continuo dentro de la banda; un cruce temprano es insuficiente. Las posiciones cortas no pueden establecer la ausencia de una oscilación lenta.
La finalización normal restaura la configuración de referencia y mantiene la posición. Durante el ajuste, Ctrl+C intenta desactivar el par, a diferencia de la reproducción en modo Extension. Sostenga el mecanismo antes de interrumpir. Terminar el proceso por la fuerza o desconectar el bus puede dejar activo el mantenimiento de la posición anterior.
5. Guarde la configuración aceptada
La herramienta no instala automáticamente a un candidato ganador. Después de la revisión, actualice los perfiles locales y consérvelos con los detalles de calibración, modelo, carga útil/montaje y registros de validación. La siguiente exportación utiliza el controlador de pose con nombre de la guía del primer movimiento. Actualice sus perfiles a los valores aceptados. Para usar apply, primero agregue esta propiedad joints de nivel superior a tools/poses/controller.local.json, ajustando las ID para que coincidan con el brazo físico:
"joints": [
{"followerId": 1}, {"followerId": 2}, {"followerId": 3},
{"followerId": 4}, {"followerId": 5}, {"followerId": 6}
]
Este es un fragmento de propiedad, no un archivo JSON completo: agregue una coma entre este y la propiedad adyacente. Exportar a un nuevo directorio sin conectarse a motores:
macOS / Linux
npm run tune -- export tools/poses/controller.local.json accepted-controller
Windows PowerShell
npm.cmd run tune -- export tools/poses/controller.local.json accepted-controller
Utilice un directorio que aún no exista. La exportación no certifica la configuración. Para aplicar el controlador exportado sin repetición, debe contener joints para todos los seguidores. Este comando cambia el control y permite mantener:
macOS / Linux
npm run tune -- apply accepted-controller/controller.json
Windows PowerShell
npm.cmd run tune -- apply accepted-controller/controller.json
Un cambio de perfil puede liberar brevemente el torque. La reproducción ordinaria aplica su propia configuración y no requiere un comando apply por separado.
Inicio de la documentación · Revisión de la fuente: a995f77. Extensión 9.0.