Go Down

Topic: controllo remoto di un robot dal computer? (Read 9473 times) previous topic - next topic

ƎR

sto mettendo giù delle idee per il mio prossimo robot, volevo fare un robot cingolato esploratore con una video camera sopra, io pensavo di pilotarlo dal computer mandando dei messaggi in seriale che poi trasmetto al robot tramite dei moduli xbee... mi ponevo il problema di come fare un SW per il computer che mi svolgesse questa funzione, io volveo fare anche qualcosa che fosse anche graficamente bello, cosa mi suggerite voi? un mio amico mi ha parlato di processing, cosa ne pensate voi? mi spiegate un po' come funziona? ho letto in giro che basta caricare un programma standar sull'arduino e poi si controlla tutto da computer, io invece vorrei scrivere il codice per l'arduino e dal computer inviare solo dei comandi, tipo vai avanti, gira a destra, ruota la video camera a destra... (ovviamente i messaggi saranno opportunamente codificati :P )
grazie in anticipo ;)
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

leo72

Beh, devi fare lato Arduino un semplice (  :* ) software che stia in ascolto sulla seriale ed esegua i comandi ricevuti.
Ad esempio: A50* potrebbe stare per "A"vanza di 50 (millisecondi, secondi, minuti, metri? boh, devi stabilire tu l'ìunità di misura) con l'asterisco a chiudere la trasmissione.

Lato PC devi solo scegliere un software che sai controllare. Processing è molto gettonato perché è usato come base per l'IDE di Arduino ma io personalmente non lo conosco per cui non lo userei. Ad esempio, io su Linux userei Gambas, un linguaggio capace di creare interfacce grafiche che usa una sintassi derivata dal BASIC. Insomma, tutto dipende su cosa lavori.

ƎR

per il lato arduino non ho problemi, avevo già fatto qualcosa del genere sui miei vecchi robot che potevano essere controllati tramite un telecomando bluetooth...
il mio probema è il lato computer che non so da dove iniziare :smiley-red: io conosco solo il C/C++ che mi hanno "insegnato" a scuola, del BASIC non so niente... :(
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

ratto93

Io sto cercando di fare un interfaccia simile ma ho problemi di gestione della seriale in Java con interfaccia grafica ovviamente mentre in processing va senza problemi anche se l'interfaccia è schifosetta :)
Se corri veloce come un fulmine, ti schianterai come un tuono.

cyclone

hai necessità solo di pilotarlo in manuale o vuoi eseguire delle macro in modo automatico?
vuoi fare path-planning ed exploring con telemetria
pianificare un percorso vedendo il robot man mano che si muove animandolo su una mappa grafica tramite calcoli odometrici.

se vuoi implementare qualcosa da zero con grafica accattivante ticonsiglio di usare delphi o  visualbasic che è abbastanza semplice.

ƎR

a me intanto basta controllarne i movimenti in modo semplice, poi magari mi piacerebbe se possibile aggiungere un gps, ma non mi sono ancora informato a riguardo e prima di andare troppo avanti con le idee devo risolvere le cose basilari...
a me basterebbe fare una grafica che non faccia proprio schifo, con un programma relativamente semplice da usare, se mi dici così di visulbasic lo provo ;)
processing lo scarto quindi? :smiley-roll:
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

lesto

gaurda, vai di procesessing per iniziare che è tutto pre-confezionato, oltre che avere sul suo sito miliardi di esempi con arduino ed avere lo stesso editor di arduino (anzi, è arduino che copia xD)
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

superlol

io ti dico visualbasic, oltretutto l'IDE che rilascia microsoft (gratuito nella versione express, oppure gratuito in tutte le versioni con la carta dello studente) è molto comodo e sinceramente scrivi poco-niente a mano, il sistema che indica gli errori è relativamente chiaro e come debug il software non compila tutto, intendo che se l'errore lo hai quando premi un pulsante ti mostrerà l'errore quando premi il pulsante (lo so in realtà è bruttissima come cosa perchè ci sono casi in cui potresti non provare quella determinata cosa).

Anche interfacciarlo con la seriale vb è ottimo
Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

flz47655

#8
Aug 18, 2012, 12:15 am Last Edit: Aug 18, 2012, 12:22 am by flz47655 Reason: 1
Secondo me non ha più senso usare Visual Basic, non lo usa più nessuno. Lo insegnano ancora nelle scuole (addirittura la versione 6.0 che non ha nulla a che vedere con le nuove!) ma di fatto utilizzano quasi tutti i professionisti che si aggiornano usano C#. Il framework sottostante è il solito (.NET) ma trovi molti più esempi, libri, articoli.

Oltre che al linguaggio è fondamentale scegliere in ambito .NET framework se vuoi utilizzare Windows Forms o WPF. WPF è un "qualcosa di nuovo" che può richiedere più impegno se provieni da altri vecchi linguaggi e framework visuali.

Io personalmente conosco molto bene entrambi ed utilizzerei WPF tra i due

Utilizzare processing oltre a semplici cose non ha molto senso secondo me, sopratutto per questa applicazione che vuoi fare.

Ciao

ƎR

grazie mille a tutti per i consigli ;) ho guardato sia visual basic che processing, ma mi piace di più visual basic perchè si riescono a fare cose graficamente più belle e in modo più semplice... poi per la gestione della seriale non so cosa sia meglio tra i due, per ora ho guardato solo la grafica...
secondo voi è possibile gestire un joystick come dispositivo di input?
Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

flz47655

Quote
- e' integrato in Office nella forma di VisualBasic-script
utile per automatizzare la gestione dei documenti (e, con estensioni, non solo office)


Si chiama VBA (Visual Basic for Applications) ed è diverso dal Visual Basic 6.0 sia come strumenti di debug, non si possono creare EXE, etc.. e comporta di imparare l'Object Model dell'applicazione specifica che si vuole automatizzare. In questo caso non lo vedo utile.

Quote
- supporta molto molto bene OLE, anzi e' il suo preferito ed e' facile interfacciarsi
e puoi far comunicare autoCAD con excel, o Word con Doors


Più che OLE sia parla di COM in questi casi, sei rimasto un pò indietro.

Quote
- rispetto a (dot).net esiste in una forma leggera, poche decine di Mb
features ovviamente pesantemente limate, ma il core minimo e' comunque utile


Se parli di VB6 non ha senso continuare a svilupparci nuovi progetti. Il vecchio IDE non è più supportato, si è fermato ad XP, la programmazione è anche troppo semplicistica e superata ed ormai è morto e sepolto.

Gli eseguibili .NET sono più leggeri in quanto non bisogna portarsi sempre dietro le solite funzioni che sono inglobate nel runtime che è già installato con Windows nelle versioni più recenti, nelle altre versioni ormai il 90% degli utenti l'ha già installato perché utilizzato da moltissimi programmi (vedi Autocad, etc..).

Se parli di VB.NET allora è equivalente a C# in quanto cambia proprio solamente la sintassi alla fine.

Ciao

PS: Se vuoi fare delle cosette con grafica avanzata, webcam, joystick, etc.. lascia perdere subito VB6 e guarda .NET

lesto

guarda vbscipt lo uso nelle pagine ASP per lavoro e sinceramente NON mi piace.
1. Se non dai Option Explicit le variabili non serve dichiararle. certo però che se poi sbagli ad usarle (magari un typo) sei fregato
2. Non è case sensitive, il che rende meno intuitivo leggere un codice di prima occhiata
3. for, do, funzuioni, subroutine, tutto ha una sua sintassi differente e secondo me poco intuitiva
4. è un linguaggio interpretato, quindi è più lento e non fa il check di errori sitattici su tutto il codice (quindi IMHO indatatto per grossi codici)
5. ormai la tecnologia .netsta assorbendo praticamente tutti gli sforzi di mamma microsoft, quindi a meno di passare ad asp.net posso scordarmi sviluppo del linguaggio
@legacy:
supporterà bene COM e io sono nabbo della tecnologia, ma per ora a far parlare ASP+IIS con OpenOffice non ci sono riuscito..

il proicessing è un derivato di java, quindi il linguaggio è molto simile, anzi praticamente identico. Prova a adare un'occhiata ad eclipse o a netbeans che internamente hanno anche un estensione per fare la grafica "plug and play"

@ratto93: se hai problemi al 90% hai fatto cazzate con i thread, apri una discussione apposta che vediamo che si può fare
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

superlol

io intendevo vb.net in quanto è più flessibile, è vero che, come dice lesto, ha una sintassi dei for, if ecc diversi ma l'ide di casa microsoft bisogna dire che è ben fatto e impari tutto anche senza volerlo XD

comunque un'altra soluzione è visual C++ che è la sintassi del C++ ma con già la possibilità di grafica e le stesse funzioni di vb.net, insomma se vuoi un qualcosa di completo io non ci penserei 2 volte:
http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express
Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

superlol


guarda vbscipt lo uso nelle pagine ASP per lavoro e sinceramente NON mi piace.
1. Se non dai Option Explicit le variabili non serve dichiararle. certo però che se poi sbagli ad usarle (magari un typo) sei fregato
2. Non è case sensitive, il che rende meno intuitivo leggere un codice di prima occhiata
3. for, do, funzuioni, subroutine, tutto ha una sua sintassi differente e secondo me poco intuitiva
4. è un linguaggio interpretato, quindi è più lento e non fa il check di errori sitattici su tutto il codice (quindi IMHO indatatto per grossi codici)
5. ormai la tecnologia .netsta assorbendo praticamente tutti gli sforzi di mamma microsoft, quindi a meno di passare ad asp.net posso scordarmi sviluppo del linguaggio
@legacy:
supporterà bene COM e io sono nabbo della tecnologia, ma per ora a far parlare ASP+IIS con OpenOffice non ci sono riuscito..

il proicessing è un derivato di java, quindi il linguaggio è molto simile, anzi praticamente identico. Prova a adare un'occhiata ad eclipse o a netbeans che internamente hanno anche un estensione per fare la grafica "plug and play"

@ratto93: se hai problemi al 90% hai fatto cazzate con i thread, apri una discussione apposta che vediamo che si può fare

lesto stai facendo confusione:
noi parliamo di vb usato non come script ma come linguaggio che alla fine viene complilato e non interpretato (alla fine ti risulta un file .exe).
viene interpretato solo in fase di debug.

tu ti riferisci a vb inteso come script per applet web, come detto da flz sono 2 cambpi di utilizzo completamente diversi che restituiscono cose diverse  :P

è come dire che java e javascript sono la stessa cosa  XD
Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

flz47655


comunque un'altra soluzione è visual C++ che è la sintassi del C++ ma con già la possibilità di grafica e le stesse funzioni di vb.net, insomma se vuoi un qualcosa di completo io non ci penserei 2 volte:
http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express


Visual C++ va bene se ci sono diverse persone che lavorano al progetto o per piccole parti, altrimenti finisci il programma nel 3000...

Go Up