🧪 Se publican nuevos tutoriales — del brazo robótico al sensor
Saltar al contenido

09 Resolución de problemas ​

Los comandos serie se envían mediante un asistente/monitor serie: escríbelos en el cuadro de envío y pulsa Intro (activa «enviar nueva línea» en UartAssist); las herramientas serie / la descarga de UartAssist para Windows están en la página 03, sección 3.3.

9.1 Síntomas habituales ​

SíntomaCausa probableSolución
waiting for IMU startup 5000 ms... y luego IMU not readyArranque lento de la IMU, cableado defectuoso, dirección incorrectaEspera 5–10 s; comprueba 3V3, SDA=GPIO6 / SCL=GPIO7, dirección 0x23
IMU lost -> bus reset + re-init repetidoCables I²C largos o flojosAcorta los cables, reasienta las conexiones
El flasheo falla con could not open port / Access is deniedEl puerto serie lo ocupa el monitor o el asistente serieCierra antes hw_monitor.py o el monitor serie
El robot no arranca tras colocarloEl cuerpo no está quieto, o una mano lo tocaSuelta y mantén quieto ≥0.5 s; espera getup start
Agitación inmediata / dirección incorrectaLa condición de caída se disparó a mitad de rodadura, clasificación erróneaColócalo y suéltalo limpiamente; reintenta
La ejecución se detiene e imprime executor timeout tras 14 sLa referencia no terminóRespaldo normal; reintento automático tras 1.5 s; conserva el registro
Eventos executor re-plan ocasionalesRespaldo normal tras una presión de roll_neg fallidaComprueba si termina con done
El servo zumba / se calientaBloqueo o objetivo que agarrotaEnvía x o corta la alimentación; comprueba límites y holgura mecánica
El brazo golpea el cuerpo durante el auto-enderezamientoMovimiento grande del hombroComprueba Q_SHOULDER_MAX y la holgura; mantén la altura de base de ~68 mm
up no coincide con la postura real (inclinación persistente de 5°+ estando tumbado)Desfases de cero del acelerómetro sin calibrarPon el robot nivelado y envía c (véase la página 06, 6.2)
El brazo no descansa en el centro visual tras retraerseCero desplazado (reindexado/remontado sin volver a poner a cero)Vuelve a poner a cero con la herramienta de la página 05 y graba el valor
El servo zumba/castañetea tras una incorporaciónAutoexcitación transitoria del servo analógico tras movimiento grande/bloqueos (la salida es constante)Se amortigua solo; añade arandelas de goma amortiguadoras o usa un servo digital; sujetar el brazo lo silencia al instante
Página de estado / aprovisionamiento inaccesibleProxy del navegador no eludido, o punto de acceso apagadoAñade 192.168.4.1 a las excepciones del proxy; envía w para activar el WiFi

9.2 Comandos de seguridad ​

SituaciónComando
Detener el movimiento de inmediatos (mantener el último objetivo) o x (desacoplar el PWM, liberar el par)
Recuperarse tras xr reinicializa el PWM y centra
Una articulación se mueve al revésInversión de signo con v (hombro) / b (codo)

9.3 Capturar un fallo ​

Conserva la parte correspondiente de logs/hw_monitor.log. Las líneas clave son:

text
<time> getup start pose=... up=(x,y,z)
<time> executor pose=... ph=... tick=... tgt=... up=... q=... sw=...
<time> executor re-plan A -> B up=(x,y,z)
<time> standing -> executor done | executor timeout

← Volver al índice del tutorial