🧪 Stanno arrivando nuovi tutorial — dal braccio robotico al sensore
Vai al contenuto

09 Risoluzione dei problemi ​

I comandi seriali si inviano tramite un assistente/monitor seriale: digitali nella casella di invio e premi Invio (abilita "invia nuova riga" in UartAssist); gli strumenti seriali / il download di UartAssist per Windows sono alla pagina 03, sezione 3.3.

9.1 Sintomi comuni ​

SintomoCausa probabileSoluzione
waiting for IMU startup 5000 ms... poi IMU not readyAvvio lento dell'IMU, cablaggio difettoso, indirizzo erratoAttendi 5–10 s; controlla 3V3, SDA=GPIO6 / SCL=GPIO7, indirizzo 0x23
Ripetuti IMU lost -> bus reset + re-initFili I²C lunghi o allentatiAccorcia i fili, reinserisci i connettori
Il flash fallisce con could not open port / Access is deniedPorta seriale occupata da monitor/monitor serialeChiudi prima hw_monitor.py o il monitor seriale
Il robot non parte dopo essere stato posatoCorpo non fermo, o una mano lo toccaLascialo e tienilo fermo per ≥0.5 s; osserva getup start
Agitazione immediata / direzione sbagliataSoglia di caduta attivata a metà rotolamento, classificazione errataPosiziona e lascia pulitamente; riprova
L'esecuzione si ferma e stampa executor timeout dopo 14 sLa sequenza di riferimento non è terminataFallback normale; nuovo tentativo automatico dopo 1.5 s; conserva il log
Occasionali eventi executor re-planFallback normale dopo una pressione roll_neg fallitaControlla se termina con done
Il servomotore ronza / si surriscaldaStallo o target in bloccoInvia x o togli alimentazione; controlla i limiti e il gioco meccanico
Il braccio urta il corpo durante l'auto-raddrizzamentoMovimento ampio della spallaControlla Q_SHOULDER_MAX e il gioco; mantieni l'altezza della base di ~68 mm
up non corrisponde alla posa reale (inclinazione persistente di 5°+ da sdraiato)Offset di zero dell'accelerometro non calibratiMetti il robot in piano e invia c (vedi pagina 06, 6.2)
Il braccio non si ferma al centro visivo dopo la ritrazioneZero derivato (re-indicizzazione/riassemblaggio senza riazzeramento)Riazzera con lo strumento della pagina 05 e memorizza
Il servomotore ronza/tremola dopo una rialzataAuto-eccitazione transitoria del servomotore analogico dopo movimenti ampi/stalli (l'uscita è costante)Si attenua da sola; aggiungi rondelle smorzanti in gomma o usa un servomotore digitale; stringere il braccio la fa tacere subito
Pagina di stato / provisioning irraggiungibileProxy del browser non escluso, o hotspot spentoAggiungi 192.168.4.1 alle eccezioni del proxy; invia w per attivare il WiFi

9.2 Comandi di sicurezza ​

SituazioneComando
Fermare subito il movimentos (mantieni l'ultimo target) o x (stacca il PWM, rilascia la coppia)
Recuperare dopo xr reinizializza il PWM e centra
Un giunto si muove nel verso sbagliatoInversione di segno con v (spalla) / b (gomito)

9.3 Catturare un guasto ​

Conserva la parte corrispondente di logs/hw_monitor.log. Le righe chiave sono:

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

← Torna all'indice del tutorial