Buonasera,
sto cercando in rete progetti per realizzare un robot semovente che tracci linee seguendo un file bidimensionale in formato CAD (.dxf o .dwg). Mi sarebbe sufficiente anche qualche spunto per iniziare a realizzare il tutto.
Grazie.
Robot traccia linee da file CAD
Moderatori:
dimaios,
carlomariamanenti
9 messaggi
• Pagina 1 di 1
0
voti
0
voti
Quindi un plotter? In generale quello che farei nel tuo caso se non c'è molta esperienza alle spalle è comprare un kit per una stampante 3d, stampare un inserto per montare una penna al posto dell'estrusore ed usare quello :).
"640K ought to be enough for anybody" Bill Gates (?) 1981
Qualcosa non ha funzionato...
Lo sapete che l'arroganza in informatica si misura in nanodijkstra?
Qualcosa non ha funzionato...
Lo sapete che l'arroganza in informatica si misura in nanodijkstra?
-

fairyvilje
15,0k 4 9 12 - G.Master EY

- Messaggi: 3047
- Iscritto il: 24 gen 2012, 19:23
0
voti
No, a me occorrerebbe un robot che sia analogo al line follower; una "macchinina", pensavo cingolata, che traccia con un pennarello dei disegni che le vengano sottoposti tramite file cad. Ho già realizzato una fresa 3 assi CNC e pensavo di adattare un qualche cinematismo per far si che la movimentazione dei due assi ortogonali controllati facessero muovere la succitata "macchinina". Grazie
0
voti
Personalmente ho affrontato il problema di un robottino che, dopo avere girovagato a caso in piano scansando gli ostacoli, riesce a tornare esattamente al punto di partenza. Il software è diverso ma la meccanica potrebbe essere analoga. Per tenere conto degli spostamenti è stato approntato un triciclo con due ruote posteriori folli dotate di encoder in quadratura ottici con bassissimo attrito, ed un ruotino anteriore traente e sterzante. In tal modo gli eventuali slittamenti della ruota motrice non causano errori nel controllo della posizione, che rimane affidato ai due encoder. Il punto controllato è il punto medio dell'assale posteriore.
0
voti
Potrebbe essere già una buona partenza. Io pensavo di adattare il collaudato mach3 oppure, ancor meglio, scheda raspberry con Protoneer Raspberry Pi CNC Hat quale estensione e grbl. Seguendo tale strada ritorno al discorso di una cinematica controllata (eventualmente retroazionata da encoder) per pilotare il robot che mi trasformi gli assi ortogonali. La soluzione che mi paventi tu ritengo sia comunque interessante. Il problema in questo caso è non avere da parte mia conoscenze in merito al software che può fungere da tramite tra il file cad e i motori attuatori. Non riesco poi a trovare un modello matematico che mi trasformi gli spostamenti elementari (lungo linea o lungo un cerchio) negli spostamenti differenziali di due ruote montate su di un asse.
Grazie.
Grazie.
0
voti
wholff ha scritto: Il problema in questo caso è non avere da parte mia conoscenze in merito al software che può fungere da tramite tra il file cad e i motori attuatori.
Per questo credo ti convenga usare uno dei vari programmi che generano il g-code partendo dai file dei vari CAD.
0
voti
Comunque il problema non è tanto complicato, alla fine basta un po' di trigonometria elementare e una opportuna scelta del riferimento, il problema è la risoluzione degli encoder di cui alcune approssimazioni vanno sempre a cumularsi se non si stabilisce qualche metodo per riposizionarsi e azzerare l'errore.
0
voti
EcoTan ha scritto:Comunque il problema non è tanto complicato, alla fine basta un po' di trigonometria elementare e una opportuna scelta del riferimento...
Mi piacerebbe iniziare a seguire le tue indicazioni, potresti essere un po' più esplicito? E soprattutto trovata l'equazione del moto (pensavo di provare in coordinate polari) come potrei poi, partendo da un postprocessor già scritto, ottenere il gcode utile per la movimentazione delle ruote?
0
voti
Veramente io dicevo del mio problema che è l'inverso del tuo perché non si tratta di controllare la traiettoria bensì di lasciarla evolvere a caso tenendo conto dei movimenti effettuati al fine di ritornare poi al punto di partenza.
Semplicemente adotto un riferimento cartesiano XY fisso legato alla posizione iniziale di partenza del veicolo cioè avente l'origine nel punto medio dell'assale posteriore, l'asse X lungo lo stesso assale e quindi l'asse Y lungo l'asse longitudinale del veicolo, al momento della partenza.
Ogni impulso proveniente da un encoder consente di aggiornare in memoria sia la direzione corrente del veicolo sia le coordinate X,Y del detto punto medio, proiettando appunto lo spostamento, effettuato nella direzione corrente, sempre sugli stessi sugli assi fissi.
Per aggiornare la direzione, basta tenere conto che ogni passo di un encoder corrisponde a una deviazione di 1/230 giri nel mio caso, in verso destro o sinistro a seconda del lato in cui si trova l'encoder e del verso del passo.
Per quanto riguarda le coordinate, i passi vengono proiettati sugli assi sfruttando le funzioni seno e coseno già tabellate in formato integer x 10000.
Dopo un prefissato numero di urti inizia il viaggio di ritorno, sempre reagendo agli eventuali ostacoli.
Una routine tri() calcola ripetutamente la distanza fra il punto medio dell'assale e l'origine del detto riferimento, e calcola anche l'angolo fra l'asse longitudinale del robottino e la retta congiungente all'origine.
Durante il viaggio di ritorno, la ruota motrice viene continuamente sterzata verso l'origine e quando la distanza smette di diminuire avviene l'arresto finale.
Sono possibili calcoli più efficienti e comunque il tuo problema è diverso, forse ti converrebbe adottare motori stepper senza encoder ma con una bella riduzione a ingranaggi, chiudo la parentesi.
Semplicemente adotto un riferimento cartesiano XY fisso legato alla posizione iniziale di partenza del veicolo cioè avente l'origine nel punto medio dell'assale posteriore, l'asse X lungo lo stesso assale e quindi l'asse Y lungo l'asse longitudinale del veicolo, al momento della partenza.
Ogni impulso proveniente da un encoder consente di aggiornare in memoria sia la direzione corrente del veicolo sia le coordinate X,Y del detto punto medio, proiettando appunto lo spostamento, effettuato nella direzione corrente, sempre sugli stessi sugli assi fissi.
Per aggiornare la direzione, basta tenere conto che ogni passo di un encoder corrisponde a una deviazione di 1/230 giri nel mio caso, in verso destro o sinistro a seconda del lato in cui si trova l'encoder e del verso del passo.
Per quanto riguarda le coordinate, i passi vengono proiettati sugli assi sfruttando le funzioni seno e coseno già tabellate in formato integer x 10000.
Dopo un prefissato numero di urti inizia il viaggio di ritorno, sempre reagendo agli eventuali ostacoli.
Una routine tri() calcola ripetutamente la distanza fra il punto medio dell'assale e l'origine del detto riferimento, e calcola anche l'angolo fra l'asse longitudinale del robottino e la retta congiungente all'origine.
Durante il viaggio di ritorno, la ruota motrice viene continuamente sterzata verso l'origine e quando la distanza smette di diminuire avviene l'arresto finale.
Sono possibili calcoli più efficienti e comunque il tuo problema è diverso, forse ti converrebbe adottare motori stepper senza encoder ma con una bella riduzione a ingranaggi, chiudo la parentesi.
9 messaggi
• Pagina 1 di 1
Torna a Automazione industriale ed azionamenti
Chi c’è in linea
Visitano il forum: Nessuno e 15 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)



