Robot quadrupede utilizzando cubietruck, xtion e ROS - feat. astrobeed

Ciao a tutti, dopo quasi un anno di forzata assenza sto riprendendo il progetto del mio
robot quadrupede autonomo e almeno una cosa positiva questa pausa forzata
me l'ha regalata : ho deciso finalmente di seguire i consigli di astrobeed
e di riprogettare il mio robot utilizzando cubietruck, xtion per la
scansione del terreno + riconoscimento oggetti e ROS.
Ora SO che e' la cosa giusta :slight_smile:

Ovviamente, dovro' affrontare il difficile svezzamento relativo l'uso
di tecnologie cosi'avanti rispetto l'attuale tecnologia del mio robottino.

Ok posto qualche domanda (tratta da quello che mi scrisse astrobeed
riguardo l'uso di cubietruck, xtion ecc) per iniziare a rompere il
ghiaccio; probabilmente queste domande fanno un po a cazzotti l'una con
l'altra e si ripetono in vari passaggi ma vi sarei grato se mi rispondeste
comunque a tutte! (ho un bel casino in testa e le mie domande,
probabilmente, lo riflettono bene..) comunque:

1) Ho capito che il Cubietruck e' un vero e proprio computer con scheda
singola.. Quale modello mi consigliate considerando il mio progetto?

2) perche' la raspberry non e'una cubietruck adatta? (ricordo astrobeed
che mi disse di non scegliere quella)

3) Che sistema operativo utilizza la cubietruck? Linux?

4) tale sistema operativo, qualsiasi esso sia, sara' il sistema operativo
in cui caricare e utilizzare il pacchetto software/librerie ROS?

5) quale porta si utilizza nel cubietruck per attaccare la Xtion?

6) che sistema di alimentazione utilizza la xtion?

7) posso alimentare la cubietruck (e di conseguenza la xtion attaccata ad
essa) da alimentazione elettrica e/o batterie?

8 ) tutte le periferiche collegate attualmente alla mia arduino (e gestite
dalla stessa):
adafruit servo driver, giroscopio, 4 sensori tattili ecc dove dovrei
attaccarli??
potrei utilizzare la stessa arduino a sua volta attaccata alla cubietruck?
o ancora meglio una tensy?...
quindi utilizzerei il ros (che gira sotto il linux del cubietruck) per
gestire la mia arduino o tensy (attaccata al cubietruck) e tutte le
periferiche (attaccate appunto all'arduino o tensy)

9) tutto il codice relativo al movimento dei servi, alla gestione del
giroscopio e sensori tattili, dove dovrei scriverlo??? in una eventuale
IDE del ROS (Ros che gira appunto sotto il linux della cubietruck)?

10) il ROS utilizza C++ per la stesura del codice? e che IDE utilizza?

11) il Nodo ROS (robot operating sistem) e' una serie di pacchetti
software/librerie pensati e sviluppati per programmare i robot.. e anche
per gestire la xtion attraverso il linguaggio c++.. corretto?
Lo deduco dal fatto che ho letto nella scheda informativa della xtion che
viene programmata in c++ (linux)

12) quindi un nodo ROS si integra con il sistema operativo della
cubietruck (linux) e fornisce IDE,linguaggio e librerie per programmare
ogni aspetto del mio robot: dal movimento, al giroscopio ai sensori
tattili fino alla vista fornita dalla xtion..
O una cubietruck puo' utilizzare come sistema operativo direttamente il
ROS?

13) Gazebo, boh da quello che ho capito e' una specie di ROS ma che punta
ad essere utilizzato nel computer che verra' utilizzato per comandare e
gestire da remoto il mio robot..

14) un cloud point e'l'insieme dei punti 3D che ricostruiscono l'ambiente
reale "fotografato" dalla xtion? e dove viene immagazzinata tutta questa
mole di variabili? nella memoria della cubietruck o in una eventuale ram
della xtion?

15) le prestazioni della xtion (e la gestione del cloud point) verranno
esclusivamente gestite dalla cpu del cubietruck.

16) Astrobeed scrisse anche che un qualcosa di piu' economico della xtion
e' la pixy anche se non integra un sistema di scansione del terreno.
Gli ho dato un'occhiata e permette di fare un sacco di cosette
interessanti.. sarebbe quindi interessante sapere se fosse possibile
integrare, insieme a cubietruck, xtion, nodo ROS anche questa pixy..
ma alla fine, non e' che per caso la xtion gia' permette di fare tutto
quello che si puo' fare con una pixy?

17) La Xtion mi sta affascinando ma nella scheda tecnica ho trovato un
inquietante "OPERATION ENVIROMENT --> INDOOR"...
Ma come??? Non funzionerebbe correttamente in esterno?
Esiste un'alternativa funzionante per interni ed esterni paragonabile alla
Xtion?

Grazie!!

Quante domande :slight_smile:
Andiamo con ordine.

  1. La CubieTruck è una SBC (Single Board Computer) basata sul SoC Allwinner A20 dotato di 2 Giga ram e 8 giga di flash, molti gpio polifunzione, porte serieli, I2C e SPI, uscita video hdmi o vga, inoltre è presente sulla board sia il WiFi che il Bluetooth (v4).
    La Cubietruck è nota anche come Cubie board 3 in quanto è la terza evoluzione di questa serie di SBC, in pratica è un piccolo pc basato su processore ARM invece che X86, come sistema operativa si usa Linux, perfetto per ros.

  2. La Raspberry è una SBC diversa dalla Cubietruck, usa un SoC diverso e ha funzionalità diverse come i/o, inoltre all'epoca la Cubietruck era notevolmente più performante della Raspberry.
    Attualmente c'è la Raspberry 3 che sebbene è un quad core, la cubie è dual core, è solo leggermente più performante della Cubietruck, inoltre non ha la flash integrata e ha solo 1 giga di ram, con ros la ram è molto importante.

  3. Tutte queste board usano Linux come s.o., del resto se vuoi usare ros è obbligatorio lavorare con Linux.

  4. Si.

  5. La Xtion si collega alla porta USB, la Cubietruck è perfettamente in grado di alimentare la Xtion senza usare una doppia connession USB come avviene con altri tipi di SBC, l'assorbimento complessivo, board e Xtion, è circa 650 mA.

  6. 5V da USB.

  7. Si, inoltre la Cubietruck prevede on board un connettore per una cella LiPo, provvede alla sua ricarica, quando presente l'alimentazione esterna, e la conversione della tensione a 5V per la USB, p.e. con una singola cella da 2000 mAh alimenti il tutto per almeno 3 ore.

  8. Puoi usare sia la board attuale che una Teensy, poi comunicheranno con la SBC tramite porta seriale, per ROS trovi moduli pronti per utilizzare Arduino come periferica esterna.

  9. La gestione servo, low level, rimane su Arduino, mentre sposti la cinematica inversa sulla SBC, idem per gli altri sensori.

  10. ROS è un sistema operativo, in pratica una estensione del desktop, specifico per il controllo dei robot, è composto da un'interfaccia utente, totalmente personalizzabile, e vari moduli, chiamati nodi, che girano localmente sul hardware da controllare, dialogano con l'interfaccia utente sia a fini telemetriche che per l'invio dei comandi.
    Per i nodi di ROS, ne esistono molti pronti all'uso, spesso e volentieri altamente personalizzabili, si usa il C/c++, ma volendo anche Python o altri linguaggi, per la Xtion c'è il relativo modulo pronto che ti fornisce sia il video in chiaro che la mappa della profondità che poi è la mappa 3D dell'ambiente.

  11. Si, ovviamente il discorso è un "pochino" più complicato, però questa è una cosa che approfondiremo mano a mano che procedi col progetto.

  12. Sulla SBC c'è Linux e uno, o più, nodi/moduli ros, nel tuo caso dovrebbe bastare quello per la Xtion e quello per la telemetria, poi servirà la cinematica inversa che è da fare (più che altro adattare) specificatamente per il tuo robot.

  13. Gazebo è l'interfaccia utente, non è l'unica disponibile però è quella più utilizzata.

  14. La Xtion fornisce, 30 volte al secondo, l'intero cloud point, complessivamente sono 615k di dati, puoi leggerli tutti oppure solo quelli di una riga, ovviamente vanno memorizzati, ed elaborati, nella ram della SBC.

  15. Si.

  16. La Xtion è infinitamente superiore alla Pixy, questa è pensata per fornire semplici capacità di visione artificiale a sistemi non dotati di sufficiente potenza di calcolo per farlo autonomamente, p.e. inseguire un oggetto monocromatico di forma regolare utilizzando solo Arduino.

  17. La Xtion funziona anche in esterno, verificato personalmente, a patto che il sensore non venga investito direttamente dalla luce solare, basta schermarlo, e ovviamente fornisce una deepth map solo per gli oggetti entro il suo campo visivo, circa 8 metri.

Sei vuoi risparmiare ho una Xtion, usata poco, e una Cubietruck, nuova, che non uso, le avevo prese per realizzare un altro robot poi ho cambiato progetto e ho preso un Lidar a lungo raggio, più adatto per le esigenze del robot, e una nVidia Jetson TK1, se ti interessa scrivimi in pm che ti faccio un ottimo prezzo.

Innanzi tutto, ancor prima di leggere la tua risposta, ti ringrazio astrobeed per quanto velocemente mi stai rispondendo! Ho smesso di dare mie notizie in maniera anche un po maleducata ma tu subito pronto ad aiutare! grande!.

Questo pomeriggio avro' un paio di orette per leggere con calma la risposta. A dopo!

Molto bene!

  1. La CubieTruck è una SBC (Single Board Computer) basata sul SoC Allwinner A20 dotato di 2 Giga ram e 8 giga di flash, molti gpio polifunzione, porte serieli, I2C e SPI, uscita video hdmi o vga, inoltre è presente sulla board sia il WiFi che il Bluetooth (v4).
    La Cubietruck è nota anche come Cubie board 3 in quanto è la terza evoluzione di questa serie di SBC, in pratica è un piccolo pc basato su processore ARM invece che X86, come sistema operativa si usa Linux, perfetto per ros.

Ok, un vero e proprio computer.. impressionante.

  1. Tutte queste board usano Linux come s.o., del resto se vuoi usare ros è obbligatorio lavorare con Linux.

Beh.. prima o poi sarebbe successo :\ :slight_smile: Non ho la benche' minima esperienza con linux ma e' pieno di tutorial in rete.

  1. La Xtion si collega alla porta USB, la Cubietruck è perfettamente in grado di alimentare la Xtion senza usare una doppia connession USB come avviene con altri tipi di SBC, l'assorbimento complessivo, board e Xtion, è circa 650 mA.

Ok e quando al cubietruck attacchero' la mia MEGA2560 con al seguito adafruit servo driver, sensori tattili, servi, giroscopio ecc? dovro utilizzare una fonte di alimentazione ovviamente indipendente rispetto a quella che alimenta il cubietruck+xtion. Corretto?

  1. Si, inoltre la Cubietruck prevede on board un connettore per una cella LiPo, provvede alla sua ricarica, quando presente l'alimentazione esterna, e la conversione della tensione a 5V per la USB, p.e. con una singola cella da 2000 mAh alimenti il tutto per almeno 3 ore.

Fantastico.. praticamente ha una gestione dell'utilizzo di una batteria e della sua ricarica simile a quella che hanno i portatili!
Se attacco la cubietruck all'alimentazione 220v, la batteria LiPo (connessa alla cubietruck) si ricarica.

8 ) Puoi usare sia la board attuale che una Teensy, poi comunicheranno con la SBC tramite porta seriale, per ROS trovi moduli pronti per utilizzare Arduino come periferica esterna.

Diciamo che continuero', momentaneamente ad utilizzare la MEGA che verra' linkata alla SBC tramite porta seriale.
Per quanto riguarda il ROS, ci sono quindi librerie (scritte ovviamente in c++) pronte per comunicare sempre con l'arduino.
Praticamente:

  1. l'arduino si unira' (in ambito hardware) alla SBC tramite porta seriale
  2. l'arduino comunichera' (ambito software) con SBC tramite le librerie apposite del ROS
  1. La gestione servo, low level, rimane su Arduino, mentre sposti la cinematica inversa sulla SBC, idem per gli altri sensori.

mmm Quindi io tramite ROS, diro' all' arduino MEGA di eseguire i comandi (comandi del classico c semplificato di arduino) per muovere i servi.

Mentre tutti i calcoli prodotti dal mio codice per "creare" i movimenti delle zampe e quindi creare il valore target da raggiungere (valore che poi verra' appunto dato in pasto al comando Arduino), verranno gestiti dalla cpu e ram dell' SBC...
Naturalmente questa "distinzione" di codice la realizzo utilizzando il ROS...
haha dimmi se piu' o meno ci sono.... :\

  1. ROS è un sistema operativo, in pratica una estensione del desktop, specifico per il controllo dei robot, è composto da un'interfaccia utente, totalmente personalizzabile, e vari moduli, chiamati nodi, che girano localmente sul hardware da controllare, dialogano con l'interfaccia utente sia a fini telemetriche che per l'invio dei comandi.
    Per i nodi di ROS, ne esistono molti pronti all'uso, spesso e volentieri altamente personalizzabili, si usa il C/c++, ma volendo anche Python o altri linguaggi, per la Xtion c'è il relativo modulo pronto che ti fornisce sia il video in chiaro che la mappa della profondità che poi è la mappa 3D dell'ambiente.

Ok, quindi questo sistema operativo ROS gira sotto linux che appunto sara' il SO della mia SBC.
Si potrebbe dire quindi che il ROS non sia un vero e proprio sistema operativo!
sembra piu' un estensione (vera e propria interfaccia appunto) di linux per la gestione di robot!
Naturalmente in questo bel pacchetto ROS trovero' anche un IDE c++.. ci sono?
Sinceramente mi sta venendo l'acquolina in bocca.. sembrano potenzialita' enormi.

  1. Si, ovviamente il discorso è un "pochino" più complicato, però questa è una cosa che approfondiremo mano a mano che procedi col progetto.

Ok.

  1. Sulla SBC c'è Linux e uno, o più, nodi/moduli ros, nel tuo caso dovrebbe bastare quello per la Xtion e quello per la telemetria, poi servirà la cinematica inversa che è da fare (più che altro adattare) specificatamente per il tuo robot.

Ok quindi SBC con linux + 3 nodi :

  1. nodo per gestione Xtion
  2. nodo per telemetria. Tali dati telemetrici potro' osservarli anche collegando un monitor direttamente all'SBC?
    Ecco, quando io programmero' il mio robot, dovro' utilizzare direttamente l'SBC giusto?? Perche' sono ancora ancorato al fatto che per programmare la mia Arduino, utilizzo il mio bel pc windows7...

Quindi colleghero' un monitor, tastiera, mouse all'SBC e utilizzero appunto l'SBC per far tutto??!

  1. Gazebo è l'interfaccia utente, non è l'unica disponibile però è quella più utilizzata.

mmmm Ma sto gia' utilizzando il ROS come interfaccia utente!?

  1. La Xtion fornisce, 30 volte al secondo, l'intero cloud point, complessivamente sono 615k di dati, puoi leggerli tutti oppure solo quelli di una riga, ovviamente vanno memorizzati, ed elaborati, nella ram della SBC.

Il tutto tramite ROS; corretto?

  1. La Xtion funziona anche in esterno, verificato personalmente, a patto che il sensore non venga investito direttamente dalla luce solare, basta schermarlo, e ovviamente fornisce una deepth map solo per gli oggetti entro il suo campo visivo, circa 8 metri.

8 metri vanno benissimo!! e se volessi aggiungere un sensore di "vista" piu' a lungo raggio, potrei sempre aggiungere ed integrare il laser LIDAR!

La Mega 2560 richiede una alimentazione a 5V oppure a 7.5 V se usi il suo regolatore, potresti usare uno switching 5V 3A per fornire l'alimentazione sia alla Mega e relativa elettronica che per la Cubie + Xtion, meglio ancora se usi due switching separati, uno per la Mega e uno per la Cubie, così alimenti tutto con una sola batteria.
Se metti anche la batteria dedicata per la Cubie, una singola cella LiPo, quando questa è alimentata esternamente provvede alla ricarica della batteria se necessario, è una carica a 1/2C, ovvero ci mette due ore se la LiPo è completamente scarica.
Sulla Cubie avrai ROS, con relativi nodi, che si occupa di gestire la Xtion, compito principale, e la cinematica inversa per i movimenti, cosa impossibile da fare sulla Mega perché non ha abbastanza potenza di calcolo per farlo in tempo reale.
Assieme alla telemetria hai anche lo streaming video della Xtion, non ti aspettare di vedere un canale tv full HD, però una visione chiara a livello di buona webcam si.
ROS devi vederlo come un'estensione di Linux, Gazebo è una delle interfacce utente di ROS, non è l'unica però è la più utilizzata, sopratutto quella con maggiore supporto, in realtà Gazebo è sua volta un nodo ROS.
Dal punto di vista stesura software ROS non offre nulla, come non lo offre Linux o Windows, sono solo dei sistemi operativi, però esistono molti tool di programmazione per Linux e sono tutti utilizzabili, p.e. Netbeans che è un ottimo IDE per scrivere software C e non solo C.
Ovviamente puoi sviluppare tutto sul tuo desktop, basta che installi una distro Linux Ubuntu compatibile con la versione ROS che vuoi utilizzare, puoi farlo sia come macchina virtuale, decisamente più comodo, che come installazione su partizione dedicata del disco, un pochino più performante ma decisamente più complicato da mettere a posto, sopratutto per i driver, per chi non è pratico di Linux.

La Mega 2560 richiede una alimentazione a 5V oppure a 7.5 V se usi il suo regolatore, potresti usare uno switching 5V 3A per fornire l'alimentazione sia alla Mega e relativa elettronica che per la Cubie + Xtion, meglio ancora se usi due switching separati, uno per la Mega e uno per la Cubie, così alimenti tutto con una sola batteria.
Se metti anche la batteria dedicata per la Cubie, una singola cella LiPo, quando questa è alimentata esternamente provvede alla ricarica della batteria se necessario, è una carica a 1/2C, ovvero ci mette due ore se la LiPo è completamente scarica.
Sulla Cubie avrai ROS, con relativi nodi, che si occupa di gestire la Xtion, compito principale, e la cinematica inversa per i movimenti, cosa impossibile da fare sulla Mega perché non ha abbastanza potenza di calcolo per farlo in tempo reale.
Assieme alla telemetria hai anche lo streaming video della Xtion, non ti aspettare di vedere un canale tv full HD, però una visione chiara a livello di buona webcam si.
ROS devi vederlo come un'estensione di Linux, Gazebo è una delle interfacce utente di ROS, non è l'unica però è la più utilizzata, sopratutto quella con maggiore supporto, in realtà Gazebo è sua volta un nodo ROS.
Dal punto di vista stesura software ROS non offre nulla, come non lo offre Linux o Windows, sono solo dei sistemi operativi, però esistono molti tool di programmazione per Linux e sono tutti utilizzabili, p.e. Netbeans che è un ottimo IDE per scrivere software C e non solo C.
Ovviamente puoi sviluppare tutto sul tuo desktop, basta che installi una distro Linux Ubuntu compatibile con la versione ROS che vuoi utilizzare, puoi farlo sia come macchina virtuale, decisamente più comodo, che come installazione su partizione dedicata del disco, un pochino più performante ma decisamente più complicato da mettere a posto, sopratutto per i driver, per chi non è pratico di Linux.

Molto, molto bene! ho sufficiente materiale da studiacchiare aspettando di mettere le zampe sopra la cubietruck e la xTion!
Mi rendo conto che avrei da farti qualche altro centinaio di domande ma per il mio bene non voglio mettere troppa carne al fuoco troppo presto..

Intanto astrobeed GRAZIE e ci aggiorniamo domani mattina appena faccio il bonifico!

Ovviamente puoi sviluppare tutto sul tuo desktop, basta che installi una distro Linux Ubuntu compatibile con la versione ROS che vuoi utilizzare, puoi farlo sia come macchina virtuale, decisamente più comodo, che come installazione su partizione dedicata del disco, un pochino più performante ma decisamente più complicato da mettere a posto, sopratutto per i driver, per chi non è pratico di Linux.

Allora sto iniziando ad organizzare il mio pc (win7) per ospitare in macchina virtuale il Linux.

Siccome pero' parli di compatibilita' tra ROS e Linux..
Quale versione del ROS mi consigli?

ROS Indigo Igloo on Ubuntu Linux
ROS Jade Turtle on Ubuntu Linux

Ok, leggendo qui e la, ho scelto come versione di LINUX la ubuntu 14.04.4 LTS a 64bit.
Per quanto riguarda il ROS (che come dicevi fornisce anche l'interfaccia Gazebo) ho scelto la versione Indigo Igloo che dovrebbe essere quella piu' sicura e stabile.
Fantastico l'utilizzo di Linux in macchina virtuale! Pensavo fosse molto piu' complicato il tutto.
Per quanto riguarda Linux in se beh.. per uno che ha sguazzato sempre e solo in Windows è un po' una rivoluzione ma mi ci sto trovando relativamente bene!.

Entro stasera dovrei essere riuscito a installare ROS sul mio Linux dopodiche' provero' ad installare anche l'IDE Netbeans.

E poi vedremo come capirci qualcosa :slight_smile:

Si va benissimo ROS Indigo Igloo e Ubuntu 14.04 lts, per Ubuntu non usare mai versioni non lts perché hanno sempre un sacco di problemi, puoi considerare le versioni lts come stabili mentre quelle non lts come delle release candidate.
Io sto ancora con il vecchio ROS Groovy Galapagos, più che altro per pigrizia, a breve farò l'aggiornamento a ROS Indigo.

astrobeed:
Si va benissimo ROS Indigo Igloo e Ubuntu 14.04 lts, per Ubuntu non usare mai versioni non lts perché hanno sempre un sacco di problemi, puoi considerare le versioni lts come stabili mentre quelle non lts come delle release candidate.
Io sto ancora con il vecchio ROS Groovy Galapagos, più che altro per pigrizia, a breve farò l'aggiornamento a ROS Indigo.

Devo dire che sto iniziando a conoscere le rogne di ubuntu.. problemi di risoluzione dello schermo dovute al xserver-xorg che sembra in tanti debbano affrontare prima di godersi linux.. ma sto provvedendo a farmi sia un po di palestra linux che a risolvere tale problema :slight_smile:

Quindi il ROS (+ gazebo) non l'ho ancora installato ma credo non manchi tanto!

come IDE ti consiglio Code::Blocks, a mio avviso uno tra i migliori, sicuramente meglio di netbeabs.
In linea di massima non avresti nemmeno bisogno di una scheda supplementare oltre alla SBC, l'ultimo kernel RT linux ha un jitter massimo di 20us.
Come schefa potresti guardare la Odroid serie C0/1/2.

vbextreme:
come IDE ti consiglio Code::Blocks, a mio avviso uno tra i migliori, sicuramente meglio di netbeabs.
In linea di massima non avresti nemmeno bisogno di una scheda supplementare oltre alla SBC, l'ultimo kernel RT linux ha un jitter massimo di 20us.
Come schefa potresti guardare la Odroid serie C0/1/2.

Ciao vbextreme! :slight_smile:
Eh purtroppo prima di dedicarmi al ROS e all'IDE C dovro' levarmi dall'infognatura del risolvere il problema della risoluzione della scheda video bloccata a 640x480 su ubuntu..
appena ne esco fuori provero' Blocks!

Cosa intendi quando scrivi che non avrei bisogno di scheda supplementare? ti riferisci alla scheda che dovra' collegarsi a tutti i dispositivi del robot? (attualmente Arduino MEGA)

Prova ad installare i driver proprietari x la scheda grafica.

Si teoricamente potresti collegare tutto Alla SBC senza usare la mega, non è semplice come giocare con Arduino ma sarebbe decisamente più bello.
Il problema più grosso sarà quello di imparare ad usare GNU Linux, poi anche eseguire la cross compilazione non sarà semplice, dovrai studiare parecchio.

Prima di acquistare una scheda cerca tutta la documentazione che ti serve e valuta bene.

È un progetto che richiede parecchio tempo , non avere fretta.

vbextreme:
Prova ad installare i driver proprietari x la scheda grafica.

Si teoricamente potresti collegare tutto Alla SBC senza usare la mega, non è semplice come giocare con Arduino ma sarebbe decisamente più bello.
Il problema più grosso sarà quello di imparare ad usare GNU Linux, poi anche eseguire la cross compilazione non sarà semplice, dovrai studiare parecchio.

Prima di acquistare una scheda cerca tutta la documentazione che ti serve e valuta bene.

È un progetto che richiede parecchio tempo , non avere fretta.

Eh mi sto accorgendo gia' da Linux che la strada è in salita ma ho appena risolto il problema della risoluzione dopo un bel po di test che mi stanno schiarendo le idee su questo sistema operativo.

Il problema più grosso sarà quello di imparare ad usare GNU Linux, poi anche eseguire la cross compilazione non sarà semplice, dovrai studiare parecchio.

Ma ti riferisci al collegare tutto l'hardware del robot alla SBC?
o in generale alla programmazione del mio robot SBC+ROS paragonata alla programmazione da Arduino?

In generale sarà molto complesso, sia che usi Linux+Arduino, sia che usi solo Linux.
Detta come va detta forse potrebbe essere più complicato Linux+Arduino.

vbextreme:
In generale sarà molto complesso, sia che usi Linux+Arduino, sia che usi solo Linux.
Detta come va detta forse potrebbe essere più complicato Linux+Arduino.

Eh ma la SBC ha tutti i pin necessari per collegare tutta quella roba??
Perche' in effetti se fosse possibile, sarebbe sicuramente meno complesso; si avrebbe uno step in meno (l'Arduino) dove far "scorrere" il codice!

ne hanno parecchi, fai un attimo la lista dei pin che ti servono.

Ciao, io ho usato questo
http://www.hardkernel.com/main/products/prdt_info.php?g_code=G138745696275
per fare questo:

Molto primitivo e non terminato!
Adesso fanno la xu4.

vbextreme:
ne hanno parecchi, fai un attimo la lista dei pin che ti servono.

molto interessante :slight_smile:
ero quasi certo che sarei stato costretto ad utilizzare la MEGA.
Stai in contatto in questo thread vbextreme!

:slight_smile:
Bisogna prima sempre informarsi se è possibile e se esiste già qualcosa a riguardo.
Ad esempio esistono già moduli per il kernel che gestiscono i servo, altri per device specifici.