Go Down

Topic: [OT ITA] Lo spamm bar (Read 236 times) previous topic - next topic

Testato

Un piccolo mostro, grazie delle spiegazioni.
Ho sempre pensato di fare un coso del genere ma non a questo livello, semplicemente un robot Che mi mando il video sul cel Android e Che possa pilotare in real time in base a CIO che vedo quindi niente sensori, pero con anche audio in modo da sentire e parlare con Chi incontro. Il tutto in wifi e HSDPA. Cosa mi servirebbe secondo te dei tuoi componenti  ?
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Madwriter

complimenti astrobeed ho seguito con interesse il tuo post tienici aggiornati mi raccomando  ;)
"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

astrobeed

Sulla G25, che ha un processore con clock a 400 MHz, il frame rate è 25 fps come richiesto, sia osservandolo dal browser utilizzando la pagina che crea mjpeg streamer che da vlc, la latenza è circa 0.2 secondi, ed è questa che ho necessità di eliminare dato che vorrei utilizzare lo streaming video per la visione artificiale in remoto su un notebook.
Sia sul robot ottagonale per interni, quello che nel video dimostra la sua elevata precisione, che questo per esterno uso motoriduttori da 25 Watt con ingranaggi metallici, il rumore che producono è normale, viene sicuramente "esaltato" del microfono della telecamera e dall'ambiente chiuso, l'orecchio umano lo percepisce minore come intensità.
Il controllo velocità e posizione è ottenuto tramite encoder ad alta risoluzione, 256 cpr, in quadratura 4x e un complesso controllo tramite pid a triplo anello (velocità, posizione, accelerazione) tra loro correlati.
L'elettronica è composta come segue:

Due ponti H basati su LMD18200 dotati di feedback temperatura e corrente, il ponte è provvisto di ventola di raffreddamento comandata da una fan controller, la ventola si attiva solo se la temperatura supera i 55° con velocità variabile in funzione della temperatura, rimane accesa fissa alla massima velocità se la temperatura supera 90°.

MuIn dsNAV, utilizza un micro dsPIC33FJ128MC, come Motion Controller, legge gli encoder e gestisce i motori tramite pid in base a dei comandi provenienti dall'esterno, è in grado di accettare fino a 10 comandi per poi eseguirli in totale autonomia, i comandi sono del tipo "avanza/gira di tot mm a questa velocità con questa accelerazione", fornisce informazioni sulla distanza percorsa in base all'ultimo comando, velocità e accelerazioni correnti.

MuIn dsPIC,  utilizza un micro dsPIC33FJ128GP, come Navigation Controller, utilizza le informazioni di posizione provenienti dalla motion controller (odometria) e pianifica il percorso (path planning) per raggiungere nuove coordinate, determina la posizione nell'ambiente (dead reckoning), esegue le correzioni di rotta per evitare eventuali ostacoli rilevati dai sensori, per il momento 5 ultrasuoni a fascio stretto.

MuIn dsPIC, dedicata alla gestione GPS e IMU, la IMU, a 9 d.o.f., fornisce informazioni sull'assetto del robot e fornisce il NORD magnetico compensato in pan e tilt fino a +/- 45°, inoltre fornisce informazioni sullo stato di moto o quiete del robot e una stima sulla sua velocità e angolo di sterzatura.
Il GPS fornisce la posizione assoluta del robot, è un modello da 10 Hz con risoluzione reale a 30 cm (da non confondersi con la precisione), l'altezza dal livello del mare e l'angolo del NORD reale, il processore usa queste informazioni per calcolare il vettore (distanza e angolo) tra due coordinate, la precisione del calcolo è +/-10 cm (matematica a 64 bit)

MEGA2560, gestisce i sensori di temperatura, uno per ogni motore e ponte H, i sensori di corrente delle batterie (quelli di assorbimento dei motori sono gestiti direttamente dalla motion controller), i sonar, raccoglie tutte le informazioni per la telemetria e le invia tramite un Xbee pro e alla G25 (da implementare), riceve le direttive operative dalla console di controllo tramite Xbee, in futuro da pagina web tramite la G25, gestisce il power up e il powe down di tutto il sistema tramite singoli stadi di alimentazione commutati tramite relè, in particolare l'accensione della G25 e il suo spegnimento effettivo dopo il "poweroff".
La 2560 si occupa anche della movimentazione dei tre servo della torretta pan/tilt/roll della telecamera, una Lifecame HD3000, si possono comandare da remoto per cambiare il punto di vista ed è possibile attivare il controllo automatico assetto della camera sfruttando i dati della IMU.

Aria G25, gestisce lo streaming video della camera, server web per le pagine dedicata alla telemetria e al controllo remoto (questa parte è ancora da implementare), mappatura ad alta risoluzione (10 cm di risoluzione) del territorio ed eventuali mappe precaricate da utilizzare per la navigazione, ci saranno sicuramente altre funzionalità che devo ancora definire, è da poco che ho la G25 e ci sto ancora "giocando" per capire bene quali sono i suoi limiti.

Tutte le schede comunicano tra loro tramite RS485, le due schede Motion Controller e Navigation Controller in realtà sono da vedersi come un blocco unico e inscindibile, comunicano tra loro tramite una UART dedicata a 1 Mbps e poi con il resto dell'elettronica tramite la 485, il master è la Navigation controller perché è lei che prende tutte le decisioni e necessità di tutte le informazioni.
Allego una foto della parte superiore del robot, dove si vede anche la torretta della telecamera, non è recente e come camera c'è una VX6000, non compatibile Linux, e manca il servo del roll.








lesto


Io sto usando la Lifecam HD3000 e va benissimo, per lo streaming sto utilizzando mjpeg streamer, l'impegno cpu, sulla Aria G25, settando la risoluzione a 720p e 25 fps è meno del 10%.


sto facendo ora delle prove col rasp. per ora con la stiringa

Code: [Select]
mjpg_streamer -i "input_uvc.so -f 15 -r 1280x720" -o "output_http.so -p 9999"

ho un fps di 2 o 3, uso cpu dal 2 al 5%, però l'uso di banda è micidiale, e ache da locale c'è lag di 1 secondo, da remoto la banda è insufficiente (5 secondi a frame mi dicono).
questo perchè il micro fa da ponte al flusso video senza elaborarlo (sono tnte foto jpeg in successione)

ora stiamo testato con vlc che sta facendo compressione video (wmv), uso cpu 40% con 8% di ram (10/15Kbit/s con grande influeza se usiamo o meno la chat vocale di google..)
purtroppo la compressione h264 non riusciamo a farla andare...

@testato: secondo me il rumore è perchè usa i passo-passo. ho visto un video (penso sia lo stesso bot) che fa 5 metri e stop con precisione al centimetro
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Testato

ho visto il video sull'altro post, e' normale tutto quel rumore ?
mi dici a cosa hai delegato le singole schede ? in modo da capire i limiti delle stesse
grazie  :)
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Go Up