Simulatore robotico autonomo (o capace di essere)


13

Sono un ingegnere del software che si offre volontario con un'organizzazione no profit che introduce le ragazze nella tecnologia. Di recente abbiamo parlato dei metodi per introdurre questi bambini nel mondo della robotica e sono curioso di sapere quali tipi di opzioni a basso costo abbiamo.

Un'idea molto interessante sarebbe quella di avere un simulatore online o (più preferibile) un simulatore autonomo off-line con cui possiamo costruire e programmare robot semplici. Forse nient'altro che trascinare i componenti insieme e quindi programmare le interazioni tra quei componenti.

Quali soluzioni esistono che potrei essere in grado di utilizzare nel nostro raggio di azione?


Nella mia esperienza, un robot dall'aspetto medio non funzionante ottiene molta più attenzione (come robot) rispetto a un robot dall'aspetto fantastico in un simulatore. Finché non è reale, potrebbe anche essere stato un gioco per computer o un cartone animato per tutti i bambini.
Shahbaz,

Abbiamo bisogno di un simulatore in modo che le ragazze possano effettivamente imparare i concetti di programmazione e metterli in pratica. Non è necessario che il simulatore sia carino: potrebbe essere nient'altro che forme geometriche grezze. Il codice è ciò che conta.
Sampson,

Risposte:


7

Stage e Gazebo sono rispettivamente simulatori 2D e 3D open source. Sono creati e gestiti dal progetto Player . Sono molto facili da usare e hanno molte mappe e robot pre-costruiti. A seconda dell'esperienza del tuo pubblico, potresti dover fare un po 'di lavoro pesante (ad es. Costruire file di configurazione e le classi principali).

Hanno anche un paio di vantaggi aggiuntivi. Innanzitutto, fintanto che crei il tuo codice di controllo principale come plug-in del lettore, possono essere facilmente adattati ai robot reali. In secondo luogo, esiste già un gran numero di plug-in creati per funzionare con hardware reale. In terzo luogo, lavorano con ROS .


4

Può essere un po 'caro (CHF 75) ma suggerisco ancora Colobot . È un ambiente piacevole, quasi da gioco, in cui i robot devono aiutare gli umani a rendere abitabile una base spaziale. I robot sono programmati dai bambini mentre vengono eseguite attività sempre più complesse. Il programma insegna i fondamenti della programmazione in modo divertente e orientato agli obiettivi.


3

La robotica Microsoft è GRATUITA e include un simulatore . Non è esattamente l'ambiente più semplice al mondo, tuttavia È robusto e adeguato alla robotica reale. Penso che con un po 'di coinvolgimento degli insegnanti per impostare le cose in anticipo, potrebbe essere utilizzabile. Esiste un "pacchetto" di simulatore per LEGO, Neato e alcuni altri robot, che possono essere programmati in C # o in un linguaggio di trascinamento visivo.

Ancora una volta, penso che avrebbe bisogno di un po 'di lavoro in anticipo per renderlo facile da usare per i giovani, ma non sarebbe così difficile e sarebbe il mio approccio alla luce delle tue esigenze. Direi che per quanto riguarda la complessità, questo ambiente (Windows) rispetto a un ambiente Linux con Gazebo / ROS, l'ambiente Windows sarebbe leggermente meno complicato, anche se si spera che la maggior parte di questo sarebbe nascosto con il lavoro di preparazione.


2

RobotC ha un simulatore disponibile, sebbene entrambi siano prodotti ad alcuni costi. Tuttavia, sono molto orientati verso gli studenti più giovani e l'istruzione. Questo sarebbe il percorso più semplice e appropriato se i costi non sono un fattore di blocco ( circa $ 100 per licenza per entrambi per singolo utente, $ 300 per 6 utenti, $ 600 per 30 utenti ).

Se acquisti la versione studentesca ROBOTC per MINDSTORMS NXT di LEGO il prezzo può essere di 49 $ per ciascuno o 40 $ (più di 20 licenze)


2

V-Rep (Virtual Robot Experimentation Platform) sembra essere abbastanza ampio nei tipi di simulazioni che può fare. È gratuito per scopi didattici e viene fornito con una vasta gamma di strumenti. Puoi dare un'occhiata a questo video di YouTube per una demo.


1

Forse non è un simulatore robotico completo ma stiamo usando CAD 3D, Autodesk Inventor, abbastanza per le simulazioni. Di solito creiamo un'interfaccia al CAD simile a quella che vogliamo che sia per l'hardware. In questo modo possiamo usare il modello CAD come prototipo virtuale per:

  • Cattura in anticipo errori di progettazione. Collisioni, colpo insufficiente ecc.
  • È stato anche utile per trovare compensazioni per errori come errori di allineamento. Usando il CAD possiamo modellare diversi errori uno per uno e testare le nostre compensazioni. È conveniente essere in grado di introdurre errori di grandi dimensioni con segno noto.
  • Il CAD fornisce anche risposte su cose come momenti di inerzia.
  • Utilizziamo anche il modello CAD per generare il programma per l'apparecchiatura.

Correggimi se sbaglio, ma CAD si concentra molto sulla modellazione corretta dell'hardware e della fisica, tanto meno sulla programmazione del robot. L'OP è interessato all'insegnamento della programmazione, non dell'ingegneria, quindi penso che un sistema CAD non
risolva il

@ThomasH abbiamo avuto un po 'di successo nella programmazione per l'API del CAD e in questo modo siamo riusciti a fare molto sviluppo. Devo cancellare?
Johan Larsson,

1
Non è necessario eliminare. Non è una cattiva risposta solo perché penso che non sia adatto per l'OP. Il voto di solito spinge comunque la risposta più adeguata all'inizio, e l'OP accetterà quella che ha aiutato di più. Ma il tuo potrebbe essere ancora di interesse per qualcuno con un problema simile che si imbatte in questa domanda
ThomasH,

1

Potresti voler dare un'occhiata a " MindRover ". È vecchio e più difficile da trovare ora poiché il sito Web originale è defunto, ma può ancora essere trovato su Ebay o Amazon . Sebbene orientato al gioco / alla missione, comportava la selezione da una tavolozza di componenti robotici, la loro collocazione su uno chassis e quindi il cablaggio insieme. È stato davvero ben fatto per un gioco e potrebbe essere utilizzato per esplorare concetti semplici o semi-avanzati. Alcuni screenshot qui: http://images.google.com/images?q=mindrover .

Se stai cercando qualcosa di un po 'più serio con le capacità del mondo reale, potresti voler dare un'occhiata a FlowStone for Education . Non l'ho usato, ma credo che sia un ambiente di programmazione visiva ideale per il lavoro di tipo robotico.

Infine, sebbene non sia un software o una simulazione, di recente mi sono imbattuto in un commento su reddit di phblj relativo a una tecnica per introdurre la programmazione e ho pensato che fosse davvero buono (e particolarmente adattabile alla programmazione robotica). Citazione:

Ottimo esempio di computer che ho fatto con i bambini: un bambino è diventato il "programma" e ha dato istruzioni su come preparare un sandwich con burro di arachidi e gelatina, ma non sono stati in grado di guardare le mie azioni. Ero il computer e ho seguito esattamente le istruzioni. Ilarità risultò. (Non toglievo il coperchio dalla barretta di arachidi, non estraevo il pane dalla scatola in cui lo avevo inserito). Dopo un minuto, un altro bambino si avvicinò e ci provò. Si fecero un po 'più avanti, ma continuavano a vacillare. "Metti il ​​burro di arachidi sul pane" ha portato il vaso seduto sulla pagnotta, ecc. Ci sono voluti diversi bambini, ma alla fine ce l'abbiamo fatta. Se hai un assistente, chiedi loro di scrivere le istruzioni come si dice, creando il "programma".

È possibile ottenere spiegazioni, quindi, ma la cosa veramente bloccata era che i bambini erano "più intelligenti di un computer". Ma i computer erano molto, molto veloci nel seguire le istruzioni. Quindi avevano bisogno di usare la loro intelligenza e la velocità dei computer e ... la programmazione!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.