IK su robot antropomorfo industriale
Moderatori: Arkimed, natas, visualtricks, cappellaiomatto
-
- Advertising
IK su robot antropomorfo industriale
Chiedo cortesemente una mano per risolvere un problema di rigging di un robot antropomorfo.
(Ho provato a cercare sul forum e sul web/youtube ma non ho trovato molto...)
Allego un file dove c'è già un robot che esegue già dei movimenti controllando i vari giunti
(in particolare se cliccate su "TX200L-Lavaggio" avete un controllo Userdata per ogni giunto del robot)
Fin qui tutto ok.
Il problema nasce se voglio far percorrere all'utensile che ha in mano il robot una traiettoria rettilinea (vedi frame da 90 a 174).
In questo caso dovrei usare un tag IK sull'asse1. Giusto?
Il problema è che quando ci provo non riesco a controllare l'oggetto e farlo seguire correttamente dal robot
(solitamente i giunti mi vagano nello spazio)
C'è qualcuno che mi potrebbe indicare come far percorrere una traiettoria rettilinea al robot usando la cinematica inversa?
Grazie mille.
- Allegati
-
- Test.zip
- (1.94 MiB) Scaricato 64 volte
- cappellaiomatto
- Moderatore
- Messaggi: 1572
- Iscritto il: lun mag 07, 2012 5:12 pm
Re: IK su robot antropomorfo industriale
ho dato un occhio al file....secondo me il problema sta nel fatto che stai usando un po di cinematica diretta alla quale vorresti aggiungere alla fine una indiretta.......ma così su due piedi mi sa che non torna.
in pratica da 0 a 90 vai con la diretta e fin qui nessun problema (anche se oggettivamente il rig della gerarchia è pessimo ed è un miracolo se non sei andato ancora in gimballock, hai tutti gli assi storti e non ci sono dei nulli cuscinetto che impedirebbero eventuali gimbalock....ma sorvoliamo un attimo su questo problema)
da 90 in poi la cosa migliore sarebbe avere appunto una IK e spostare il goal in maniera tale da fare percorrere al pezzo la traiettoria lineare che desideri......ovvio che devi applicare la ik a tutto il braccio se e non solo alla mano se no si spezza il braccio.
Hai 2 soluzioni
1) continui come stai facendo e tramite le curve funzione cerchi di compensare e aggiustare le rotazioni finchè il movimento non appare lineare
2)tagliare la sequenza in due pezzi
da 0 a 90 ed è già pronta.
da 90 in poi riparti esattamente nello stesso punto e a quel punto fai un rig nuovo con una cinematica inversa applicata a tutto il braccio.
Prendi con beneficio di inventario la seconda soluzione perchè andrebbero fatte 2 prove e bisogna perderci un po di tempo per capire bene il movimento, tutti gli snodi del braccio complicano non poco le cose e bisogna vedere se applicando una IK non si deforma erroneamente il braccio.
Considera che il macchinario nella realtà è mosso tutto quanto in cinematica diretta, quindi è solo questione di aggiustare bene le curve funzione con tanta sana pazienza.
Follow me on Twitter https://twitter.com/matteoc4dzone
Follow me on Vimeo https://vimeo.com/cappellaiomatto
Re: IK su robot antropomorfo industriale
Faccio un esempio: Mettiamo di avere il piano parallelo al suolo posizionato sotto l'utenzile ( nel tuo caso gli uggelli delle pistole), dovendo far compiere al piano una rotazione di 360°sotto agli uggelli, avresti bisogno di un ulteriore rotore sotto al piano ( che poi è quello che risolverebbe il tuo problema),in alternativa, l'unico modo sarebbe di ruotare l'intero robot intorno agli uggelli, perché il baricentro del piano si trova fuori asse con l'ultimo rotore.
Detto questo, quoto in tutto il Cappellaio con una piccola precisazione: In molti casi la programmazione delle azioni viene fatta a mano ( posizionando e registrando ) proprio in cinematica inversa, quindi io rivedrei il progetto applicando la cinematica inversa all'estenzione del braccio e lascierei a xpresso ( userdata ) la gestione delle rotazioni...
PS. il rig è davvero pessimo ( ) va bene per provare a giocherellare con la cinematica, ma non si presta assolutamente ad un uso "tecnico" della macchina...
Re: IK su robot antropomorfo industriale
Per rispondere al Cappellaio:
-A me usare la cinematica diretta e comandare direttamente la rotazione di ogni asse non importa. Era solo per far capire che movimenti mi interessava realizzare (visto che non ero riuscito a mettere su la IK). Mi interessa molto invece l'uso della cinematica inversa (IK). Di cui però in C4D non l'ho mai usata. Nel frattempo mi ci sono messo un po' e vi allego cosa sono riuscito a fare (ditemi voi poi cosa è da migliorare...)
-I robot industriali si programmano nel 90% dei casi già in cinematica inversa.
Per Abe3d
-il fatto di usare un' "utensile a 45°", se è quello che intendi tu, è un trucco per dare più area di lavoro al robot.
-A me non interessa ruotare il pezzo sotto gli ugelli ma interessa fargli percorrere una traiettoria rettilinea (tipo scanner).
Nell'allegato che trovate è un robot diverso (nel progetto ne avevo 2 e ho messo mano all'altro.)
Facendo due prove riesco a muoverlo facendogli fare all'utensile (GOAL) dei movimenti lineari (X,Y,Z). Non so però come potrei fare a forzagli un orientamento costante (dell'utensile) (per esempio con un piano dell'utensile perpendicolare al pavimento...). Ho provato con i constraint ma poi non mi funziona bene l'IK.
PS grazie mille per i suggerimenti e a buon rendere!
- Allegati
-
- RX160-HB4.zip
- (1.76 MiB) Scaricato 49 volte
- cappellaiomatto
- Moderatore
- Messaggi: 1572
- Iscritto il: lun mag 07, 2012 5:12 pm
Re: IK su robot antropomorfo industriale
Ho ragionato con il buon senso e dedotto che essendo dei motori alla fine ricevono un impulso per girare in diretta.....mi sono andato a leggere qualcosa ora per curiosità e ho visto che dietro hanno tirato fuori teoremi e algoritmi come se non ci fosse un domani che di fatto convertono l'inversa in diretta.....veramente avanti
Follow me on Twitter https://twitter.com/matteoc4dzone
Follow me on Vimeo https://vimeo.com/cappellaiomatto
-
- Advertising
FOLLOW US