PDA

View Full Version : [Generico] Progettazione e programmazione Robot


Rsk
27-02-2010, 13:51
Ciao a tutti.

Un po' stufo di programmare per pc, ho deciso di buttarmi sulla programmazione di robot, robe semplici per ora.
Mi piacerebbe programmare un robot dotato di arti oppure anche solo su ruote.

Ma da dove comincio?
(niente robe LEGO)
Magari è consigliabile iniziare programmando un microcontrollore..

cionci
27-02-2010, 15:18
Magari è consigliabile iniziare programmando un microcontrollore..
Esatto. Programmare per PIC è la strada più semplice. Poi tramite il PIC riceverai input dai sensori e controllerai gli attuatori.

Rsk
27-02-2010, 18:09
Quindi, non avendone a disposizione, dovrei comprare microcontrollore, basette, sensori ecc..
Non c'è qualche kit già pronto?

cionci
27-02-2010, 18:17
Sinceramente non ne ho idea. Sicuramente schede kit per PIC di piccole dimensioni con interfacce esterne solo da collegare ce ne sono tante.
Prova a cercare Robot PIC su Google, ci sono cose interessanti. Anche negozi italiani con tutto quello che serve.

Rsk
27-02-2010, 18:31
ok grazie :)

bobbytre
27-02-2010, 23:52
prova a cercare in giro informazioni su Arduino , una piattaforma hardware usata anche per la costruzione di robot, potrebbe fare al caso tuo.

Tommo
28-02-2010, 01:15
Una domanda che non c'entra quasi niente:

Perchè, nei robot moderni, nonostante le meraviglie dell'hardware dei nostri tempi, si continua a programmare coi PIC? :D

Non sarebbe meglio programmare sul PIC solo i comandi motori e hardware di base, e poi delegare le funzioni ad alto livello ad una piattaforma più potente, magari un pc in wireless?

/OT :asd:

cionci
28-02-2010, 01:30
Non sarebbe meglio programmare sul PIC solo i comandi motori e hardware di base, e poi delegare le funzioni ad alto livello ad una piattaforma più potente, magari un pc in wireless?
Infatti attualmente fanno così ;)
Un mio amico sta lavorando ad un elicottero che si autopilota (in stile drone) e si collegano al modellino via wireless.

ohi
28-02-2010, 11:44
Anche a me da qualche mese mi frulla per la testa la voglia di imparare.

Secondo voi si deve avere una conoscenza molto avanzata di elettronica?

Mattyfog
28-02-2010, 13:40
Infatti attualmente fanno così ;)
Un mio amico sta lavorando ad un elicottero che si autopilota (in stile drone) e si collegano al modellino via wireless.

:eek: che bello!!
bisogna sperare però che funzioni perchè se no si autodistrugge cadendo :p
ma per sviluppare per robot cosa viene usato, C++?
tempo fa avevo letto qualcosa per sviluppare per lego su un simulatore su pc mmm mi sa che dovrò studiare molto :cry:

EDIT: ragazzi programmare robot è una cosa a cui non avevo mai pensato mi piacerebbe troppo programmare i robot della lego!! mi sa che mi metterò seriamente sui libri

!fazz
28-02-2010, 15:12
Ciao a tutti.

Un po' stufo di programmare per pc, ho deciso di buttarmi sulla programmazione di robot, robe semplici per ora.
Mi piacerebbe programmare un robot dotato di arti oppure anche solo su ruote.

Ma da dove comincio?
(niente robe LEGO)
Magari è consigliabile iniziare programmando un microcontrollore..

peccato perchè proprio il lego è un'ottima base per la programmazione dei robot

marco.r
28-02-2010, 15:25
:eek: che bello!!
bisogna sperare però che funzioni perchè se no si autodistrugge cadendo :p
ma per sviluppare per robot cosa viene usato, C++?

Dipende. Oltre ad esserci un'infitina' di robot disparati, ognuno è composto da parti diverse con requisiti diversi. La parte di piu' basso livello (controllo motori, encoder etc.) tipicamente la scrivi in C o al piu' C++. Man mano che si sale di livello ci sono meno requisiti di real-time e meno limitazioni hardware, per cui ci si puo' dirottare su linguaggi piu' produttivi per parti come planning, AI etc.

cionci
28-02-2010, 15:27
:eek: che bello!!
bisogna sperare però che funzioni perchè se no si autodistrugge cadendo :p
ma per sviluppare per robot cosa viene usato, C++?
tempo fa avevo letto qualcosa per sviluppare per lego su un simulatore su pc mmm mi sa che dovrò studiare molto :cry:
C per la parte del microcontrollore sull'elicottero. C++ per la parte sul PC che, diciamo, lo pilota.

VirtualFlyer
28-02-2010, 15:28
peccato perchè proprio il lego è un'ottima base per la programmazione dei robot

quoto, poi il Mindstorms se programmato con l'NXC è quasi programmazione vera!

Mattyfog
28-02-2010, 17:54
ma scusate il c consente di lavorare più a basso livello del c++?

cionci
28-02-2010, 18:06
ma scusate il c consente di lavorare più a basso livello del c++?
Devi anche fare i conti con cosa ti permette il compilatore che hai a disposizione ;)

Mattyfog
28-02-2010, 18:38
Devi anche fare i conti con cosa ti permette il compilatore che hai a disposizione ;)

quindi il problema sta nel fatto che il software che usano per programmare l'elicottero non supporta il C++?

beh ma ragazzi, se io mi studiassi bene il C e C++ (ho un manuale, mi sembra sia thinking C++ o comunque un librone del genere di 1200 pagine) poi sarebbe comunque una cosa molto complessa programmare un robot della lego?
adesso dovrei guardare perchè se non sbaglio su una rivista avevo letto che esistono dei simulatori (mi sembra ufficiali) per programmare lego su pc

Rsk
28-02-2010, 20:15
quoto, poi il Mindstorms se programmato con l'NXC è quasi programmazione vera!

Con NXC potrei riprendere in considerazione i lego.. Non mi piaceva ROBOLAB e l'altro tool grafico.
Però ho visto i prezzi e siamo sui 300€ per il lego nxt 2

Mattyfog
28-02-2010, 21:48
cosa cambia tra nxc e ntx della lego?
comunque guardando su youtube mi sembra siano davvero limitati, o forse sono limitate le idee dei programmatori: alla fine si vedono sempre le stesse cose ossia robot che risolvono il cubo di rubic, quelli che camminano senza alcun senso, quelli che sono comandati via cellulare o cotroller vari ma non fanno niente e quelli che scavalcano qualche oggetto.. il + utile e divertente era quello che tirava l'acqua del water da solo :D
non vorrei comprare tutto e ritrovarmi a programmare sempre le solite 2 cose.. idee?
anche gli automi sono un'idea carina, ma vagano tutti senza alcun senso...

edit: carino questo però http://www.youtube.com/watch?v=_ogQuLdEcBY&feature=related

Rsk
01-03-2010, 10:25
cosa cambia tra nxc e ntx della lego?
comunque guardando su youtube mi sembra siano davvero limitati, o forse sono limitate le idee dei programmatori: alla fine si vedono sempre le stesse cose ossia robot che risolvono il cubo di rubic, quelli che camminano senza alcun senso, quelli che sono comandati via cellulare o cotroller vari ma non fanno niente e quelli che scavalcano qualche oggetto.. il + utile e divertente era quello che tirava l'acqua del water da solo :D
non vorrei comprare tutto e ritrovarmi a programmare sempre le solite 2 cose.. idee?
anche gli automi sono un'idea carina, ma vagano tutti senza alcun senso...

edit: carino questo però http://www.youtube.com/watch?v=_ogQuLdEcBY&feature=related

NXC è un linguaggio C-like per programmare i mindstorm
NTX è un modello di lego mindstorm

VirtualFlyer
01-03-2010, 12:24
cosa cambia tra nxc e ntx della lego?
comunque guardando su youtube mi sembra siano davvero limitati, o forse sono limitate le idee dei programmatori: alla fine si vedono sempre le stesse cose ossia robot che risolvono il cubo di rubic, quelli che camminano senza alcun senso, quelli che sono comandati via cellulare o cotroller vari ma non fanno niente e quelli che scavalcano qualche oggetto.. il + utile e divertente era quello che tirava l'acqua del water da solo :D
non vorrei comprare tutto e ritrovarmi a programmare sempre le solite 2 cose.. idee?
anche gli automi sono un'idea carina, ma vagano tutti senza alcun senso...

edit: carino questo però http://www.youtube.com/watch?v=_ogQuLdEcBY&feature=related

Già a fare il cubo di rubik non è che sia proprio un gioco, quel tizio è abbastanza un genio!
Comunque forse è ancora meglio l'nxt1, al posto dei due sensori touch aveva quello per il suono e non aveva l'attrezzo per lanciare le biglie. Però mi pare avesse molti più pezzi, anche se non ne sono sicuro. Inoltre hanno rifatto il software, ma se usi l'nxc non serve.
IMHO se trovi l'1 è meglio, però. Io ho quello, ma un mio amico ha l'altro e non ci sono grandi differenze, per quello che ho visto. Forse l'1 non si trova nemmeno più.

P.S.
OT se guardi bene sulla community della lego, di roba bella se ne trova.

Mattyfog
01-03-2010, 14:20
si probabilmente sono io a non avere idee.. quello che mi chiedo però è: meglio la lego od altro per avere qualcosa di carino?
non voglio spendere 12000€ per un robotttino e neppure un migliaio, vorrei far qualcosa già con 200/300€ e per questo credo che la lego potrebbe essere buono ma non conosco le alternative..

ah, mi potete rispondere ancora qui:

quindi il problema sta nel fatto che il software che usano per programmare l'elicottero non supporta il C++?

beh ma ragazzi, se io mi studiassi bene il C e C++ (ho un manuale, mi sembra sia thinking C++ o comunque un librone del genere di 1200 pagine) poi sarebbe comunque una cosa molto complessa programmare un robot della lego?
adesso dovrei guardare perchè se non sbaglio su una rivista avevo letto che esistono dei simulatori (mi sembra ufficiali) per programmare lego su pc


sempre gentilissimi :)

VirtualFlyer
01-03-2010, 14:44
si probabilmente sono io a non avere idee.. quello che mi chiedo però è: meglio la lego od altro per avere qualcosa di carino?
non voglio spendere 12000€ per un robotttino e neppure un migliaio, vorrei far qualcosa già con 200/300€ e per questo credo che la lego potrebbe essere buono ma non conosco le alternative..

ah, mi potete rispondere ancora qui:


sempre gentilissimi :)
simulatori che io sappia non ne esistono, ci sono dei programmi con cui puoi fare il modello graficamente, ma non farlo andare
il lego lo puoi programmare con un'interfaccia grafica su un software che ti danno insieme al robot e ci voglionon tipo 8 ore a padroneggiarlo.
Se no, meglio, puoi usare l'NXC che non credo sia molto diverso dal C, tranne ovviamente per i comandi dei motori e dei sensori. Comunque io l'NXC non l'ho studiato benissimo.
Non ricordo il regolamento, ma se posso ti pubblico il link del tutorial all'NXC http://bricxcc.sourceforge.net/nbc/nxcdoc/NXC_tutorial.pdf, sullo stesso sito c'è anche il compilatore, il programma ed una guida più completa.
Quello lì è scritto da Daniele Benedettelli, lo stesso del cubo di RUbik

Mattyfog
01-03-2010, 14:54
ok grazie probabilmente mi tornerà utile però prima di tutto devo vedere se usare la lego o meno.. tu cosa consigli?
dopo cerco quella rivista, forse sì esiste solo per creare la grafica, effettivamente avrebbe + senso.. :)
io sapevo un po' di c++ però prima dovrei studiare bene il c, ma come detto ho un bel manuale...

Mattyfog
01-03-2010, 20:34
leggendo su una rivista dicono che il lego si può programmare anche in .net (C#) e altro con software vari... :mbe: ma mi sembra strano.. il procio che usa il lego è poi solo un aggeggino da 64mhz :stordita:

Rsk
02-03-2010, 08:43
leggendo su una rivista dicono che il lego si può programmare anche in .net (C#) e altro con software vari... :mbe: ma mi sembra strano.. il procio che usa il lego è poi solo un aggeggino da 64mhz :stordita:

Linguaggi di programmazione disponibili

Forniti da LEGO (entrambi grafici):

* RCX Code, incluso nella versione commerciale, in vendita nei negozi di giocattoli;
* ROBOLAB, basato su LabVIEW (linguaggio usato nei laboratori di ricerca in ogni campo) e sviluppato dalla Tufts University.

Linguaggi di terze parti (tutti testuali tranne actor-lab):

* QuiteC
* C and C++ sotto sistema operativo BrickOS (precedentemente LegOS) o utilizzando QuiteC
* Java sotto sistema operativo leJOS o TinyVM
* Lego.NET
* NQC ("Not Quite C")
* OnScreen
* pbFORTH (estensione del Forth)
* PbrickDev
* PRO-BOT
* SqLego
* TclRCX
* Terrapin Logo
* Visual Basic
* XS (Un dialetto LISP simile a Scheme)
* actor-lab linguaggio grafico parallelo all'ufficiale
* C#
* Bricx

Mattyfog
02-03-2010, 13:01
:eek:
e dici che cambia qualcosa sviluppare in un linguaggio piuttosto ch in un altro?
forse se si usano quelle di terze parti si rischia di avere meno supporto.. o il contrario??

Mattyfog
02-03-2010, 19:19
guardate qua: http://vimeo.com/4543755 come fa a stare in piedi? :eek:

wisher
02-03-2010, 21:24
guardate qua: http://vimeo.com/4543755 come fa a stare in piedi? :eek:
Qui dovrebbe esserci spiegato tutto http://www.scribd.com/doc/24546913/Progettazione-e-implementazione-del-sistema-di-controllo-per-un-pendolo-inverso

Mattyfog
02-03-2010, 21:42
Qui dovrebbe esserci spiegato tutto http://www.scribd.com/doc/24546913/Progettazione-e-implementazione-del-sistema-di-controllo-per-un-pendolo-inverso

proverò a guardare :)
sentite ma capisco poco: che linguaggio è meglio usare alla fine? cioè visto che èun procio da 64mhz vorrei qualcosa il + possibile veloce anche se non voglio qualcosa di poco supportato... :mc:

EDIT: pff però che peccato uno spende 280€ e non ha neppure tutto, i sensori di gratià (a che servono?), gli accellerometri e quello di entrata audio :( http://shop.lego.com/ByTheme/Product.aspx?p=8547&cn=17

Mattyfog
03-03-2010, 17:55
ma non capisco.. ho visto un video che faceva vedere un software per rprogettare lego (non mi ricordo il video :D) ma sto software non è che te lo danno assieme al robot? io speravo di scaricarlo e dargli un'occhiata..

Mattyfog
05-03-2010, 10:21
più nessuno?