Go Down

Topic: Progetto robot Master and Slave (Read 164 times) previous topic - next topic

hapticAle

Salve a tutti,
per un progetto universitario devo realizzare un robot "braccio Master"da comandare a mano che possa far muovere un altro "robot slave" che inizialmente simulerò al pc.
Allora, il mio problema è che al momento devo acquistare tutta la componentistica e non so quali motori acquistare per il robot Master. Questo problema sorge perché il robot Master(robot che muoverò a mano per far muovere il secondo robot) non deve possedere solo degli encoder o potenziometri dove sono posizionati i giunti, bensì dovrà possedere dei motori che permettano una sorta di "rotazione assistita" (stile servosterzo elettrico).
é possibile trovare motori con encoder/potenziometri integrati tali da leggere il movimento del robot e aiutarmi nel movimento azionando i motori?
Vi chiedo aiuto, sperando di esser stato abbastanza chiaro nello spiegare il problema.

cyberhs

Ci sono dei servo digitali della DYNAMIXEL che sono fatti apposta per questo tipo di applicazioni.

Purtroppo sono costosi.

hapticAle

Ci sono altre possibili soluzioni? Usando ad esempio servo ed encoder separatamente?

cyberhs

Mi sembra di capire che il servo master dovrebbe avere una sorta di feedback per sentire lo sforzo che fanno i servo slave.

Se tu dessi maggiori informazioni sul progetto sarebbe meglio.

hapticAle

Si esattamente! Lo scopo finale del progetto è proprio questo. Ci dovrà essere un controllo in retroazione che controllerà la resistenza del servo e regolerà il master.

Inizialmente,però, ciò che devo fare è controllare, tramite il braccio master fisico, un braccio virtuale( su Unity3d), successivamente se questo non occupa molto tempo potrò passare al passo successivo cioè il controllo su un vero robot slave.

cyberhs

Ogni giunto del master dovrebbe possedere un potenziometro solidale ad un piccolo motore.

Il potenziometro serve a ottenere la posizione angolare, mentre il motore serve a restituire lo sforzo del corrispondente giunto dello slave.

Sullo slave, invece, ogni giunto corrisponde ad un servo solidale con un sensore di forza.

Il servo ruoterà in funzione del potenziometro del master, mentre il sensore di forza fornirà un segnale analogico proporzionale che dovrà comandare il motore del master controllato in PWM ed anche in direzione (forza positiva o negativa).

hapticAle

Avrei delle domande:

1)Per quanto riguarda i piccoli servo del master che tipo di servo è possibile acquistare per il mio scopo?


2)Quello che non mi è chiaro, inoltre, è nella prima fase del mio progetto, cioè devo costruire questo robot master tale da gestire un robot virtuale su Unity(successivamente dovrò comandare lo slave). Mi chiedo se è possibile muovere a mano il robot master considerando comunque che è presente un piccolo motore nei giunti oltre al potenziometro. L'effetto dovrebbe essere inizialmente quello di una sorta di servosterzo quindi il motore nei giunti dovrebbe accompagnare il mio movimento. Ma questo com'è possibile farlo se muovo io a mano il mio robot? Il tempo che intercorre da quando il potenziometro legge che c'è stato un movimento a quando azionerà il motore sarà comunque non trascurabile e potrei aver già iniziato un altro movimento.


Chiedo scusa per le domande se possono sembrare banali, ma non ho ancora molta esperienza in questo campo.

Etemenanki

... una sorta di servosterzo quindi il motore nei giunti dovrebbe accompagnare il mio movimento. ...
Il contrario ... il motore nel master ti restituirebbe il feedback dello slave, rilevato tramite opportuni sensori di peso (esempio, se lo slave sta alzando un chilo, il motore nel master fa un chilo di resistenza al tuo movimento, facendoti "sentire" come se il chilo lo stessi sollevando tu con la mano) ... se questa funzione non e' necessaria, magari perche' lo slave e' in piena vista e non serve feedback tattile, allora di motori nel master non ne servono (supponendo ovviamente che il master sia solo un manipolatore con cui controlli lo slave e non un braccio robotizzato indipendente, che si muove in modo autonomo), e quindi si risparmia anche parecchio materiale e programma ...
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

hapticAle

#8
Today at 09:51 am Last Edit: Today at 09:53 am by hapticAle
Perfetto, fin qui ci sono!

Il problema è che nella prima parte di progetto, non avendo a disposizione lo slave, devo realizzare un robot master che muovo comunque a mano e i motori devono aiutare il mio movimento! È proprio qui il problema..

Come faccio a sfruttare motori e potenziometri per facilitare il movimento della mia mano?

cyberhs

Io mi concentrerei più sulla struttura del sistema che sul tipo di motori da utilizzare.

Comunque, i motori del master non possono essere dei comuni servo RC, ma motori con asse di rotazione solidale al giunto, proprio per ridurre la resistenza allo spostamento manuale, teoricamente nulla se i motore non è alimentato.

Ogni giunto, ovviamente, avrà un motore con coppia massima diversa a secondo della sua funzione (es. la "spalla" avrà il motore più potente, mentre il "polso" avrà quello meno potente).

Il calcolo della coppia richiesta per giunto dipende dal rapporto di forza richiesta: se il rapporto è 1:1 ed un giunto dello slave deve sollevare 10kg, il corrispondente motore del master deve applicare una forza contraria di 10kg, se il rapporto è 1:10 la forza sarà di solo 100g.

Altro non posso dire, perché non conosco il tuo progetto.

hapticAle

Provo a spiegare meglio la prima parte del mio progetto.
Allora:
Devo realizzare un robot a 5 gradi di libertà, ho la possibilità di stampare con la stampante 3D tutti i vari pezzi che mi servono e devo acquistare eventuali motori, sensori ecc..
Con il movimento della mia mano muoverò il robot e questo andrà a muovere un modello cad che ho sul pc.


Ho allegato un immagine dove si vede un robot simile a quello che devo costruire io.

La differenza sta nel fatto che il mio robot dovrà possedere dei motori nei giunti, questi servono a facilitare il mio movimento. Cioè tramite dei potenziometri devo rilevare il movimento della mia mano e azionare i motori in modo che guidino il mio movimento. Ad esempio nella pedalata assistita o come dicevo sopra lo stesso funzionamento del servosterzo della macchina.

vbextreme

io userei un accelerometro piu giroscopio montato sul palmo per rilevare il movimento e darei il feedback ai motori.
Easy framework linguaggio c
MagixCubic un cli puzzle game
Bigt Google traduttore per bash

Etemenanki

#12
Today at 03:23 pm Last Edit: Today at 03:25 pm by Etemenanki
... tramite dei potenziometri devo rilevare il movimento della mia mano e azionare i motori in modo che guidino il mio movimento. ...
Eh, no, niente da fare ... quello che tu descrivi non e' un robot master ma un waldo, il che significa che ti servono celle di carico dappertutto per rilevare la spinta della tua mano ed azionare i servomotori di conseguenza (con i potenziometri non risolveresti nulla, perche' sarebbero calettati in asse con i motori, quindi quando rilevi il loro movimento, ad esempio di un grado, e' perche' il braccio si e' gia spostato di un grado, e di conseguenza anche il motore si e' gia portato nella posizione in cui dovrebbe andare per "aiutare" il tuo movimento, per cui diventerebbe inutile azionarlo)

EDIT: a meno che, ovviamente (ma questo tu non lo dici), il movimento della tua mano lo rilevi con un pantografo indipendente dal braccio master ;)
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

hapticAle

Etemenanky hai perfettamente capito il mio problema!

Come dovrei posizionare queste celle di carico? Conosci qualche progetto già svolto da cui posso prendere ispirazione o documentarmi?

Il mio è un robot "braccio" a 5 gradi di libertà

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy