Sunteți pe pagina 1din 90

Modelarea si simularea unui brat de robot in SimMechanics si Virtual Reality

Ianosi Zoltan ISM Master 2011 - 2012

Construirea pieselor in SolidWorks


Suport Gaura pentru conectare la suport Corp

Construirea pieselor in SolidWorks


L1 L2 Brat superior

Brat inferior Gaura pt conectare la bratul superior Griper

Griper1

Construirea ansamblului de model

Suport

Se adauga Suportul la ansa!blu"

Construirea ansamblului de model

%loat

Se debloc#ea$a piesa prin co!anda %loat "

Construirea ansamblului de model

Mate

)rigin asse!1

)rigin suport

Se crea$a o constrangere intre punctul de origine al piesei si punctul de origine al ansa!blului" &upa aceea se sterge coincidenta" Si se fi'ea$a la loc piesa prin clic( dreapta pe piesa si co!anda %i' "

Construirea ansamblului de model

Corp

Se adauga ur!atoarea piesa corp "

Construirea ansamblului de model

Suprafata corp

Suprafata suport

Se crea$a o constrangere intre suprafetele selectate din i!agine"

Construirea ansamblului de model

Suprafata corp

Suprafata suport

Se crea$a inca o constrangere intre suprafetele pre$entate in figuri"

Construirea ansamblului de model

brat*inf

Se inserea$a ur!atoarea piesa brat*inf

Construirea ansamblului de model

Suprafata corp

Suprafata brat inferior

Se crea$a doua constrangeri intre brat*inf si corp " +n cu suprafetele pre$entate in figura de sus, iar a doua cu suprafetelel pre$ente in ur!atorul slide"

Construirea ansamblului de model

Suprafata brat inferior

Suprafata corp

Suprafetele pentru a doua coincidenta

Construirea ansamblului de model

Se inserea$a ur!atoare piesa brat*sup

Construirea ansamblului de model

Suprafata brat*sup

Suprafata brat*inf

-ri!a constrangere intre brat*inf si brat*sup

Construirea ansamblului de model

Suprafata brat*sup

Suprafata brat*inf

. doua constrangere intre brat*inf si brat*sup

Construirea ansamblului de model

Griper

Se inserea$a ur!atoarea piesa/ griper

Construirea ansamblului de model

Suprafata brat*sup Suprafata griper

-ri!a constrangere intre brat*sup si griper

Construirea ansamblului de model

Suprafata brat*sup

Suprafata griper

. doua constrangere intre brat*sup si griper

Construirea ansamblului de model

griper2

Se inserea$a a doua co!ponenta a griperului/ griper2

Construirea ansamblului de model

Suprafata griper2

.nti-.ligned

Suprafata griper -ri!a constrangere se face prininternediul suprafetelor pre$entate in figura" &aca orientarea pieselor nu este buna se apasa butonul .nti-.ligned

Construirea ansamblului de model

Suprafata Griper2

Suprafata Griper

. doua constrangere" &aca orientarea pieselor nu este buna se apasa butonul .nti-.ligned

Construirea ansamblului de model

Se crea$a inca o constrangere pentru a alinia cele doua co!ponente a griper-ului" Constrangerea se face intre !uc#ile pre$entate !ai sus"

Mate

Aducerea modelului in pozitie 0 pentru exportare

.sse!1 %ront plane

brat*sup

%ront plane

0ste ne1oie de asta pentru a usura i!ple!entarea cine!aticii in1erse" Se selectea$a %ront plane al .sse!1 si %ront plane al brat*sup , se crea$a o constrangere intre acestea" 0'ista posibilitatea ca planurile sa nu coincida cu cel din tutorial"

Aducerea modelului in pozitie 0 pentru exportare

-arallel

.ligned

&upa confir!are, acesta constrangere se sterge"

Mate

Aducerea modelului in pozitie 0 pentru exportare

%ront plane brat*inf

%ront plane brat*sup

Aducerea modelului in pozitie 0 pentru exportare

Coincident

.ligned

Mate

Aducerea modelului in pozitie 0 pentru exportare

2op plane brat*sup

2op plane griper

Aducerea modelului in pozitie 0 pentru exportare

Se sterg ulti!ele trei constrangeri care or fost create pentru po$itionarea !odelului"

coincidenta

Se cauta ulti!a coincidenta dintre cele doua co!ponente ale griperului si se sterge"

xportarea modelului in !ormat SimMechanics si Virtual Reality


Sa1e as

S2L 34"stl5

xportarea modelului in !ormat SimMechanics si Virtual Reality


67ML 89 Milli!eters

+nc#ec( 67ML 34":rl5

)ptions

xportarea modelului in !ormat SimMechanics si Virtual Reality

Si!Mec#anics Lin(34"'!l5

"eschiderea modelului SolidWorks #n SimMechanics

%olderul curent din Matlab trebuie s; fie acela <n care este sal1at !odelul Solid=or(s -entru i!portarea !odelului se 1a folosi ur!;toare co!and;/ >>!ec#*i!port3?2lin(*robot"'!l?5 2lin(*robot"'!l - este nu!ele sub care a fost sal1at !odelul Solid=or(s

"eschiderea modelului SolidWorks #n SimMechanics

Se sal1ea$a !odelului in for!at Si!Mec#anics/ 2lin(*robot"!dl

Modelarea sistemului in SimMechanics

Create subsAste!

Se selectea$a toate blocurile 3ctrl@.5 si se crea$a un subsiste! Se redenu!este blocul SubsAste! in Model B& pentru usurarea lucrului"

Modelarea sistemului in SimMechanics


7e1oluteB

7e1olute

7e1olute1

7e1olute2

-ris!atic

In fereastra de proprietati ale blocurilor pre$entate in figura, la para!etrul/ Cu!ber of sensorDactuator ports se introduce 1al/ 2"

Modelarea sistemului in SimMechanics

7e1olute

E0,-1,0F

Modelarea sistemului in SimMechanics

7e1olute1

E0,0,1F

Modelarea sistemului in SimMechanics

7e1oluteB

E0,0,-1F

Modelarea sistemului in SimMechanics

7e1olute2

E-1,0,0F

Modelarea sistemului in SimMechanics

-ris!atic

E0,0,-1F

Modelarea sistemului in SimMechanics


7e1olute

In &eri1ati1e Mu' &eri1ati1e Goint .ctuator

)ut Goint Sensor

Se inserea$a blocurile si se crea$a legaturile confor! figuri" Se repeta si pentru blocurile 7e1olute1 si 7e1oluteB " Blocurile In si )ut se redenu!es" In H ung#i directie si )ut H ung#i directie1

Modelarea sistemului in SimMechanics


7e1olute1 7e1oluteB 7e1olute2 -ris!atic

Cu se folosesc &eri1ati1e

Modelarea sistemului in SimMechanics

Goint .ctuator In fereastra de proprietati ale blocurilor Goint .ctuator para!etrul .ctuate :it# se sc#i!ba in Motion I .ngular unit sa fie in grade" Se repeta pt toate blocurile Goint .ctuator cu e'ceptia celui care este conectat la blocul -ris!atic

Modelarea sistemului in SimMechanics


-ris!atic

Goint actuator -entru blocul Goint .ctuator care este legat la blocul -ris!atic , para!etrul .ctuate :it# si sc#i!ba in Motion , iar -osition unit in !!

Modelarea sistemului in SimMechanics


-ris!atic

!!

Goint Sensor

In proprietatile blocului Goint Sensor care este conectat la -ris!atic , unitatea de !asurare a po$itiei se sc#i!ba in !!"

Modelarea sistemului in SimMechanics

GoAstic( Input

Selector

Gain

Mu'

B ' )ut

&ead $one

Integrator

0!bedde M.2L.B %unction

In siste!ul principal se inserea$a blocurile pre$entate !ai sus, se crea$a legaturile" Se selectea$a toate blocurile introduse si se crea$a un subsAte! care se redenu!este GoAstic(

Modelarea sistemului in SimMechanics

Selector )utJ

E1 2 BF

Modelarea sistemului in SimMechanics

-0"K &ead $one

0"K

Modelarea sistemului in SimMechanics


Gain

EK0 -K0 -K0F

Modelarea sistemului in SimMechanics

Integrator E0 1K0 K0F Einf L00 L00F Einf 1K0 K0F

Modelarea sistemului in SimMechanics


function [x,y] = fcn(x1,y1) %#eml r=___; x=x1; y=y1; xmax=sqrt(r^2-y^2); ymax=sqrt(r^2-x^2); if x xmax x=xmax; en!; if y ymax y=ymax; en!; r M su!a lungi!ilor celor doua brate @ lungi!ea griper-ului

Modelarea sistemului in SimMechanics

Saturation

Gain

0!bedded M.2L.B %unction &e!u' 0!bedded M.2L.B %unction +nit &elaA Se introduc blocurile pre$entate !ai sus si se conectea$a confor! i!agini" Blocurile )ut se 1or redenu!i/ )ut -ul de sus/ griper )ut -ul de Nos/ ung#i griper +nit &elaA )ut

Modelarea sistemului in SimMechanics

0!bedded M.2L.B %unction

function " = fcn(a,#,"1) %#eml "="1 "="$a; "="-#; en!

0ditor

Modelarea sistemului in SimMechanics

0!bedded M.2L.B %unction

function r = fcn(c,!,r1) %#eml r=r1 r=r$c; r=r-!; en!

0ditor

Modelarea sistemului in SimMechanics

Saturation 200

Modelarea sistemului in SimMechanics

Gain

0"1

Modelarea sistemului in SimMechanics

0!bedded M.2L.B %unction

In siste!ul principal se introduce un bloc 0!bedded Matlab %unction " Se redenu!este blocul/ Cine!atica in1ersa

Modelarea sistemului in SimMechanics


Se desc#ide editorul blocului 0!bedded Matlab %unction si se introduce ur!atorul cod/
function [q1,q2,q%]= fcn(x,y) %#eml l1=&&&; l2=&&&; y1=y-'(; %)n"*iul format intre l1 si l2 q+=acos!((l2^2$l1^2-x^2-y1^2),(2-l1-l2)); q%=(1./-q+); %)n"*iul format intre l1 si x a=atan!(y1,x); #=acos!((l1^2$x^2$y1^2-l2^2),(2-l1-sqrt(x^2$y1^2))); q1=(a$#); %)n"*iul format intre l2 si x q2=%0/-(q%$q1$1./);

l1 M lungi!ea bratului inferior l2 M lungi!ea bratului superior

Modelarea sistemului in SimMechanics


inf

Mu'

&isplaA

Mu'

&isplaA

&isplaA

Se inserea$a blocurile pre$entate si se fac cone'iunile confor! figuri"

$estarea sistemului creat

B" 0'portarea !odelului Solid=or(s <n 6irtual =orld, Oi legarea acestuia la !odelul Si!Mec#anics, folosind 2oolbo'ul 6irtual 7ealitA

S; opri! si!ularea !odelul, Oi s; <nc#ide! toate ferestrele care aparPin !atlabului, cu e'cepPia progra!ului principal Oi al feresteri cu siste!ul principal"

2lin(*robot":rl

)pen as te't

nu!e*piesa":rl

nu!e*piesa":rl

Se desc#ide ca te't fiOierul 2lin(*robot":rl " Se 1a Oterge spaPiul din faPa Oi sfQrOitul denu!irilor pieselor scrise <n g#ili!ele" Ri se sal1ea$; !odificarea"

Se porneOte progra!ul 6-7eal! Builder" .cesta se poate g;si ur!Qnd traseul/ S!atlabTtoolbo'TslBdT1real!Tprogra!T1rbuild2"e'e Se desc#ide fiOierul/ alin(*robot":rl "

Ce: =orld

Insert 2ransfor!

Se !arc#ea$; Ce: =orld Oi se inserea$; un 2ransfor! " Si se 1a redenu!i 2ransfor! -ul inserat <n Model "

Model

C#ildren

Insert 2ransfor!

Se desc#ide Model , se selectea$; c#ildren Oi se inserea$; un 2ransfor! "

2ransfor! H suport

suport":rl

Se redenu!eOte 2ransfor!-ul inserat <n suport"

Inline

Se selectea$; pri!ul Inline , Oi se 1or folosi co!en$ile CutD-aste prin co!binaPia de taste ctrl@' Oi ctrl@1

Model C#ildren 2ransfor! H corp

Insert 2ransfor!

Se 1a insera <nc; un 2ransfor! <n C#ildren -ul de sub Model " 2ransfor! -ul inserat se 1a redenu!i <n corp "

Inline

Se selectea$; ur!atorul Inline , Oi se 1or folosi co!en$ile CutD-aste prin co!binaPia de taste ctrl@' Oi ctrl@1

Model C#ildren

2ransfor! H griper

Insert 2ransfor!

Se 1a insera <nc; un 2ransfor! <n C#ildren -ul de sub Model " 2ransfor! -ul inserat se 1a redenu!i <n griper " Se selectea$; ur!atorul Inline , Oi se 1or folosi co!en$ile CutD-aste prin co!binaPia de taste ctrl@' Oi ctrl@1

Model C#ildren

2ransfor! H brat*inf

Insert 2ransfor!

Se 1a insera <nc; un 2ransfor! <n C#ildren -ul de sub Model " 2ransfor! -ul inserat se 1a redenu!i <n brat*inf " Se selectea$; ur!atorul Inline , Oi se 1or folosi co!en$ile CutD-aste prin co!binaPia de taste ctrl@' Oi ctrl@1

Model C#ildren

2ransfor! H brat*sup

Insert 2ransfor!

Se 1a insera <nc; un 2ransfor! <n C#ildren -ul de sub Model " 2ransfor! -ul inserat se 1a redenu!i <n brat*sup " Se selectea$; ur!atorul Inline , Oi se 1or folosi co!en$ile CutD-aste prin co!binaPia de taste ctrl@' Oi ctrl@1

Model C#ildren

2ransfor! H griper2

Insert 2ransfor!

Se 1a insera <nc; un 2ransfor! <n C#ildren -ul de sub Model " 2ransfor! -ul inserat se 1a redenu!i <n griper2 " Se selectea$; ur!atorul Inline , Oi se 1or folosi co!en$ile CutD-aste prin co!binaPia de taste ctrl@' Oi ctrl@1

2est

Insert Bac(ground

Ce: =orld Model -an Ca1igation

Se selectea$; Ce: =orld Oi se inserea$; un Bac(ground" Se apas; butonul 2est Oi se aranNea$; 1ederea cu aNutorul co!en$ilor de na1igare"

.ccesD0dit 6ie:point

&ac; s-a aranNat 1ederea, se selectea$; Ce: =orld Oi se inserea$; un 6ie:point "

6ie:point description

1ie:1

Se desc#ide 6ie:point , se d; dublu clic( pe description Oi se denu!eOte 1ederea/ 1ie:1

&irectionalLig#t direction

Insert &irectiona Lig#t

Se selectea$; Ce: =orld Oi se inserea$; un &irectional lig#t " Se desc#ide &irectionalLig#t Oi se d; dublu clic( pe direction " Se bifea$; coordonatele U,V,Z, Oi se introduc 1alorile/ UM-K, VM0, ZM0"

Insert =orld Info

Insert Ca1igation Info

Se !ai inserea$; un =orld Info Oi un Ca1igation Info " Se sal1ea$; !odelul Oi se <nc#ide progra!ul"

corp-1

.dd CSB

Se desc#ide !odelul Matlab se intr; <n Model B& Oi se desc#ide fereastra de propriet;Pi al blocului corp-1 " Se selectea$; CSB Oi se adaug; un nou rQnd"

E0 0 0F

CSJ Se sc#i!b; 1alorile po$iPiei lui CSJ la E0 0 0F" Se repet; pasurile anterioare Oi pentru blocurile brat*inf-1 , brat*sup-1 , griper-1 si griper2-1 "

BodA sensor BodA sensor BodA sensor BodA sensor BodA sensor

Se inserea$; cinci blocuri BodA sensor " .cestea se leag; la blocurile corp-1 , brat*inf-1 , brat*sup-1 , griper-1 si respecti1 griper2-1 "

-osition 7otation Matri' EB ' BF !!

+nc#ec( BodA sensor Se desc#ide fereastra de propriet;Pi al blocului BodA sensor " Se bifea$; opPiunea -osition Oi 7otation !atri' , la -osition unit se seleactea$; unitatea de !;sur; <n !!" Se procedea$; la fel Oi la cel;lalte blocuri BodA sensor "

global corp1po$ corp1rot Goto E7F Se inserea$; cate dou; blocuri Goto pentru fiecare BodA sensor " Se desc#ide fereastra de propriet;Pi al blocului Goto , <n c;suPa Goto tag se trece nu!ele piesei la care este legat Oi portul de la BodA sensor Oi 2ag 1isibilitA se sc#i!b; <n global la toate" global

&upa ter!inarea pasului anterior, !odelul ar terbui sa arate asa!anator figuri"

2lin(*robot":rl

Bro:se

67 Sin(

Wn siste!ul principal se inserea$; un bloc 67 Sin( " Se desc#ide fereastra de proprite;Pi al acesteia Oi se <ncarc; !odelul creat <n 6-7eal! Builder/ 2lin(*robot":rl "

c#ildren corp rotation translation

Wn c;suPa 67ML 2ree sub ModelDC#ildren se bifea$; rotation si translation din corp , griper , brat*inf " brat*sup si griper2

%ro! corp"rotation

corp1rot

-entru fiecare intrare al blocului 67 Sin( se inserea$a in bloc %ro! " La para!etrul Goto 2ag se selectea$a denu!irea corespun$atoare intrari 67 Sin( la care este legat" Se procedea$a la fel pentru fiecare bloc %ro!

corp1rot griper1rot brat*inf1rot brat*sup1rot

7otation Matri' 2o 67ML 7otation

griper21rot

La fiecare cone'iune de roatie intre blocurile %ro! si 67 Sin( se !ai inserea$a cate un bloc 7oation Matri' to 67ML 7otation

Succes%%%

S-ar putea să vă placă și