시작하기가이드는로봇시뮬레이션과오프라인프로그래밍을위한 RoboDK의기본프로젝트를만드는데도움이될것입니다. 본예에서는로봇도색애플리케이션을예제로프로그래밍과시뮬레이션을수행하게됩니다.
RoboDK 프로젝트의모든설정은 RDK 스테이션(RDK 파일)으로저장됩니다. RoboDK 스테이션은모든로봇, 툴, 기준좌표계, 객체및기타파라미터를포함합니다. RoboDK 스테이션은하나의파일(RDK 확장자)에저장됩니다. 로봇파일, 툴및객체의사본은 RDK 파일하나로저장되므로따로보관할필요는없습니다.
RoboDK 웹사이트의예제섹션에서이용할수있는영상들은다양한애플리케이션에 RoboDK를사용하는방법을설명하고있습니다. (https://robodk.com/examples)
다음단계에따라새 RoboDK 프로젝트(RDK 스테이션)를생성하십시오.
1.홈페이지(https://robodk.com/download)에서 RoboDK를다운로드및설치하십시오.
2.바탕화면에서바로가기더블클릭하십시오.
3.다른스테이션이열려있는경우에는파일➔새스테이션(Ctrl+N)을선택하여새프로젝트를시작하십시오.
여러RoboDK 프로젝트를동시에열수있습니다. 트리에서스테이션아이콘을두번클릭하면해당프로젝트가활성화되고표시됩니다.
새로운로봇은로컬드라이브나 RoboDK의온라인라이브러리에서추가할수있습니다.
1.파일➔온라인라이브러리열기(Ctrl+Shift+O)를선택하십시오. 온라인라이브러리를보여주는새창이활성화될것입니다.
툴바에서해당버튼을선택할수도있습니다.
2.필터를사용하여브랜드별, 가반하중별로로봇을검색하십시오.
이예에서는 M1013 로봇(10 kg의가반하중로봇, 1.3 m 도달거리)을사용할것입니다.
3.다운로드를선택하십시오. 몇초안에로봇이자동으로스테이션에나타날것입니다.
4.로봇이창에나타나면온라인라이브러리를닫아도됩니다.
기준좌표계는 3D 공간의로봇또는위치및방향을가지는특정객체를배치할수있습니다.
새기준좌표계를추가하는절차는아래와같습니다.
1.프로그램➔기준좌표계추가를선택하십시오.
또는도구모음에서해당아이콘을선택하십시오.
2.기준좌표계(트리또는메인화면의 3D 형상)를두번클릭하여영상에표시된좌표(방향에대한 X,Y,Z 위치및오일러각도)를입력하십시오. 마우스휠은각경우의메인화면에서기준좌표계위치를신속하게업데이트할수있습니다.
아래의색깔은기본설정색입니다:
●X 좌표➔적색
●Y 좌표➔녹색
●Z 좌표➔청색
●1번째오일러회전➔청록색
●2번째오일러회전➔자홍색
●3번째오일러회전➔노란색
3.기준좌표계의크기증가를위해보기➔기준좌표계확대를선택하십시오.
4.기준좌표계의크기감소를위해보기➔기준좌표계축소를선택하십시오.
5.텍스트를스크린에보이기또는감추기위해보기➔스크린에텍스트보이기/숨기기를선택하십시오.
6.선택적으로F2를선택하여트리에서기준좌표계또는개체이름을변경하십시오.
영상: 기준좌표계생성방법
https://www.youtube.com/watch?v=ilmJSD-a9bs&list=PLjiA6TvRACQd8pL0EnE9Djc_SCH7wxxXl&index=5.
둘이상의기준좌표계를사용하는경우, 실제설정에존재하는의존성과일치하도록스테이션트리내부에드래그앤드롭할수있습니다. 예를들어,기준좌표계 2는로봇기준과관련하여배치될수있습니다. 이경우M1013 기본좌표계를이동하면 Frame 2도함께이동합니다. 다른로봇이나기준좌표계를사용할경우이를고려하는것이중요합니다. 다음이미지는의존성의차이를보여줍니다.
종속성이다르더라도다음영상에서와같이다른기준좌표계와관련하여어떤기준좌표계의좌표를입력하거나검색할수있습니다. 대부분의로봇컨트롤러는로봇기본좌표계에관한기준좌표계의좌표를요구합니다.
기준좌표계는 Alt 키를누르거나도구모음에서해당버튼을선택하여메인화면에서이동할수도있습니다. 이후마우스를화면에대고기준을끌어다놓으십시오. 기준이이동하면해당좌표값이업데이트됩니다.
RoboDK는 STL, STEP(또는 STP), IGES(또는 IGS) 형식과같은대부분의표준 3D 형식을지원합니다. WRML, 3DS 또는 OBJ와같은다른형식도지원합니다(STEP 및 IGES는 Mac 및 Linux 버전에서는지원되지않습니다). 새 3D 파일을불러오려면아래의절차를수행합니다.
1.파일➔열기를선택합니다.
2.RoboDK의기본라이브러리에서사용할수있는Object Inspection을선택합니다.
C:/RoboDK/Library/Object Inspection.
3.또는파일을 RoboDK의기본창으로끌어다놓아자동으로가져오십시오.
4.객체를기준좌표계Frame 2로드래그앤드롭(스테이션트리내부) 하십시오.
영상: 객체불러오기및툴생성방법
https://www.youtube.com/watch?v=ilmJSD-a9bs&list=PLjiA6TvRACQd8pL0EnE9Djc_SCH7wxxXl&index=5.
이전에불러온 3D 형상으로부터 RoboDK에서새로운도구를만들수있습니다.
다음단계에따라개체를로드하고도구를통해설정하십시오.
1.이전섹션에서설명한바와같이파일➔열기를선택하십시오.
2.“Paint gun.stl” 파일을선택하여개체로로봇기본프레임에추가하십시오.
3.다음그림에표시된것처럼물체를스테이션트리내부로드래그앤드롭하십시오.
새툴은*.tool 형식으로불러오거나저장할수있습니다.
기본적으로 RoboDK는 [X,Y,Z]=[0,200] mm 위치에서 TCP를정의합니다. 이것은다음그림과같이수동으로좌표를입력하거나 Alt+Shift 키를누른상태에서 TCP를이동하여변경할수있습니다.
1.ALT+Shift를누르거나도구모음에서강조표시된버튼을선택하십시오.
2.다음그림과같이옅은파란색평면(TCP의 XZ 평면)을선택하고 TCP를대략스프레이건의표면쪽으로끌어다놓으십시오.
3.녹색둥근화살표(Y축을중심으로회전)를선택하여 Z축을바깥쪽으로향하게하십시오.
4.좌표추정치를구하면스프레이건객체를더블클릭하여수동으로이값을입력할수있습니다. 마우스휠은각상자상단에사용하여메인화면의위치를신속하게업데이트할수있습니다.
이때스테이션은다음과같이저장될수있습니다.
1.파일➔스테이션저장(Ctrl+S)을선택하십시오.
2.파일을Paint Test.rdk로저장합니다. 창제목및스테이션이름이업데이트될것입니다.
예를들어, 일정한거리를두거나참조또는툴홀더에대해커터를배치하기위해다른툴과관련하여툴 (TCP)을참조할수있습니다.
이단계에서는 Z 축을따라 150mm에서첫번째 TCP와관련하여두번째 TCP를추가해야한다고가정합니다.
1.로봇을마우스우측버튼으로클릭합니다.
2.툴추가(TCP)를선택하십시오. 툴 2라는새로운아이템이추가될것입니다.
3.이새 TCP를더블클릭하십시오.
4.페인트건과관련하여툴센터포인트를선택하십시오.
5.좌표 Z를 150mm로입력하고다른변환과회전을 0으로설정하십시오.
이전에정의된 TCP와관련된이새로운 TCP는다음섹션에서제외될것입니다.
로봇플랜지(기준좌표계)가 RoboDK에로드된경우툴의형상이로봇플랜지(기준좌표계)에대해올바르게정렬되지않을수있습니다. 다음단계에서는실수가발생하여공구가 Z 축주위에 180도장착된것으로가정하므로다음수정사항을적용해야합니다.
1.도구세부사항창에서추가옵션을선택하십시오.
2.다음그림과같이페인트건형상의노란색값(Z 회전)에 180을입력합니다. 마우스휠을각상자위에사용하여기본화면의위치를빠르게업데이트할수있습니다.
로봇위치는타겟으로기록됩니다. 다음단계에따라각각두개의대상을새홈타겟과접근타겟으로생성하십시오.
1.로봇을두번클릭하여로봇패널을표시하십시오.
2.페인트건을툴프레임으로선택합니다. 툴또는기준좌표계가활성화되면트리아이콘에녹색점이표시됩니다.
3.기준좌표계로Frame 2를선택하십시오.
4.Alt 키를누른상태에서 TCP 또는로봇플랜지를통해어떤물체와도충돌하지않는안전한위치로로봇을드래그하여이동시키십시오. 또는기준좌표계를기준으로툴프레임(TCP)의좌표를이동하십시오.
5.기타구성섹션을참조하여다른로봇구성간에로봇축이축한계에근접하지않도록하십시오.
영상: 로봇타겟생성방법
https://www.youtube.com/watch?v=ylKTq03-b_A&list=PLjiA6TvRACQd8pL0EnE9Djc_SCH7wxxXl&index=5
6.프로그램➔타겟추가(Ctrl+T) 또는도구모음에서해당버튼을선택하십시오. 대상은활성기준좌표계의종속으로배치되며현재로봇위치(직교및조인트축)를자동으로기억합니다.
이예에서, 첫번째목표에사용된로봇관절좌표는 [-132, 6, -86, -30, -70, 228] deg입니다.
이조인트값을텍스트에서복사하여해당하는버튼 을사용하여로봇패널의조인트축조그에붙여넣을수있습니다.
7.F2를눌러첫번째대상의이름을Home으로변경하십시오. 또는도구➔항목이름바꾸기를선택하십시오.
8.Alt 키를사용하여툴을끌거나좌표를입력하거나축을수동으로조그하여부품의한쪽가장자리로로봇을이동하십시오.
9.프로그램➔타겟추가(Ctrl+T) 또는새대상을생성하기위한도구모음의적절한버튼을선택하십시오.
10.7단계와같이대상의이름을Approach로변경하십시오.
11.Home 타겟과Approach 타겟을대안으로선택하여로봇이두타겟사이에서움직이는것을확인하십시오.
12.대상중하나에대해다른위치를기록해야하는경우대상을마우스우측버튼으로클릭하고현재위치지시(Alt+더블클릭)를선택하십시오.
13.대상을마우스오른쪽버튼으로클릭하고옵션...(F3)을선택하여다음이미지에표시된옵션창을여십시오.
필요한경우대상을정의할다른값을제공하십시오.
Home타겟에서Approach타겟으로이동하는프로그램을생성하려면다음단계를따르십시오.
1.메뉴에서프로그램➔프로그램추가를선택하거나도구모음에서해당버튼을선택하십시오.
2.프로그램이름을ApproachMove로변경하십시오.
3.Home 타겟을선택하십시오.
4.프로그램➔조인트이동명령또는도구모음에서해당버튼을선택하십시오.
로봇에게어떤툴프레임과기준좌표계를사용하고있는지알려주는두가지지침이자동으로추가됩니다.
5.Approach 타겟을선택하십시오.
6.프로그램➔조인트이동명령을다시선택하십시오.
ApproachMove프로그램을두번클릭하면프로그램시뮬레이션이실행됩니다. 시뮬레이션바및예상사이클타임이표시될것입니다.
표면에타겟을생성하는기능은도장또는검사와같은용도에유용합니다.
1.프로그램➔표면에타겟추가(Ctrl+Shift+T)를선택하십시오.
2.부품위로마우스커서를이동하여로봇이부품에도달했을때의모양을미리보십시오.
3.개체에서마우스왼쪽을클릭하여몇개의점을선택하십시오. 마우스왼쪽을클릭할때마다 TCP의 Z축을표면에수직으로유지하는새로운대상이정의됩니다.
4.필요한경우왼쪽패널의휠을이동시키거나마우스왼쪽/오른쪽키를눌러 Z축을중심으로방향을조정할수있습니다.
5.기존대상을이동하려면 Alt 키를누른채로유지하십시오.
6.Alt+Shift를누른상태로유지하여기존타겟이표면에서이동하도록하십시오.
7.Esc 키를선택하거나화면에서마우스오른쪽버튼을누른후완료를선택하여표면모드에서타겟생성을종료하십시오.
대상이생성되면다음단계에따라프로그램을생성하십시오.
1.표면에생성된대상을모두선택하고마우스우측버튼을클릭하십시오.
2.팝업메뉴에서그룹이름바꾸기를선택하십시오.
3.Top Paint를입력하십시오. 선택한모든대상의이름이바뀌고번호가부여될것입니다.
4.대상을다시마우스우측버튼으로클릭하고프로그램생성을선택하십시오. 새로운프로그램이생성될것입니다. 첫번째움직임은관절움직임이며다음움직임은선형입니다.
5.프로그램의이름을PaintTop으로바꾸려면 F2를선택하십시오.
6.PaintTop프로그램을더블클릭하여타겟을따라움직이는시뮬레이션을확인하십시오
7.필요한경우프로그램내에서이동명령을드래그하여이동순서를변경하십시오.
이전작업과유사하게아래작업을수행하십시오.
1.로봇을마지막표적에배치한상태에서로봇패널의기준프레임에대해 TCP의 Z 좌표를증가시켜로봇을위쪽으로이동하십시오(다음그림에서강조표시된경우).
2.메뉴에서프로그램➔프로그램추가를선택하거나도구모음에서해당버튼을선택하십시오.
3.프로그램➔선형이동명령또는도구모음에서해당버튼을선택하십시오. F2 키를눌러Retract로이름을변경하십시오.
4.Home 타겟을선택하십시오.
5.프로그램➔조인트이동명령을선택하십시오. Home target에연결된새로운이동명령이추가될것입니다.
각프로그램을더블클릭하여개별적으로시뮬레이션하십시오. 스페이스키를누르거나빠른시뮬레이션버튼/을선택하여시뮬레이션을가속할수있습니다.
메인로봇프로그램은접근, 페인트및취소프로그램을차례로실행할수있습니다.
1.메뉴에서프로그램➔프로그램추가를선택하십시오.
2.프로그램➔프로그램호출명령을선택하십시오.
3.ApproachMove라는이름을입력하거나프로그램선택을선택하여자동으로선택할수있습니다.
4.OK를선택하십시오.
5.PaintTop과Retract에대해다음그림과같이이전단계를반복하십시오.
메인프로그램을두번클릭하면전체시뮬레이션이실행됩니다. 메인프로그램을마우스우측버튼으로클릭하고루프에서시뮬레이션하려면루프를선택하십시오.
기준좌표계Frame 2가이동하면(예를들어 Alt 키를누르고기준좌표계의 X/빨간축을끌어서), 객체와대상이뒤따릅니다. 타겟에도달할수없게되면다음그림에서와같이타겟아이콘에작은경고표시가나타납니다.
시뮬레이션을 3D HTML 또는 3D PDF로내보낼수있으며, RoboDK 뷰어의단순버전으로스테이션에배포할수도있습니다.
다음단계에따라 3D HTML 및 3D PDF 문서를생성할수있습니다.
1.프로그램을마우스우측버튼으로클릭하십시오(이예제에서는메인프로그램).
2.시뮬레이션내보내기…를선택하십시오.
3.시작을선택하십시오. 프로그램이시작되고프로그램이완료될때까지시뮬레이션이기록될것입니다.
4.파일을저장하십시오. 파일이저장되면자동으로열리며결과를미리볼수있습니다.
HTML과 PDF 시뮬레이션은단일파일로저장됩니다. HTML 파일을압축하면크기가현저히줄어들것입니다. PDF 시뮬레이션은브라우저가아니라아크로벳리더로열어야합니다.
3D HTML 시뮬레이션의예제는다음과같습니다.
●https://robodk.com/simulations/UR-Paint.html
●https://robodk.com/simulations/Welding-3-Fanuc-Robots.html
●https://robodk.com/simulations/Robot-Drawing.html
3D PDF 시뮬레이션의예제는다음과같습니다.
●https://robodk.com/simulations/UR-Paint.pdf
●https://robodk.com/simulations/Welding-3-Fanuc-Robots.pdf
●https://robodk.com/simulations/Milling-with-External-Axes.pdf
3D 시뮬레이션을내보내는또다른방법은다음그림과같이 RoboDK의축소버전을가진자체압축풀기 EXE 파일이나 ZIP 파일을생성하는것입니다.
영상: 로봇시뮬레이션및로봇프로그램내보내기
https://www.youtube.com/watch?v=38Yzhsom54E&list=PLjiA6TvRACQd8pL0EnE9Djc_SCH7wxxXl&index=6
1.파일➔데모스테이션생성을선택하십시오.
2.선호하는출력(ZIP 또는 EXE 형식)을선택하십시오.
3.파일생성을선택하십시오.
몇초후 RoboDK의단순버전인원하는파일이약 20MB 크기로생성될것입니다. 이프로젝트는RoboDK 뷰어가열리면자동으로보일것입니다.
다음링크는이프로젝트를자체추출한 EXE 파일로생성한결과를제공합니다.
●https://robodk.com/simulations/UR-Paint.exe
하위프로그램을포함한메인프로그램을개별적으로내보낼수있습니다.
1.프로그램(예: MainProg)을마우스우측버튼으로클릭하십시오.
2.로봇프로그램생성(F6)을선택하십시오.
또는로봇프로그램생성…을선택하여파일을저장할위치를지정하십시오.
3.두산로봇용 SCRIPT 프로그램이텍스트편집기에표시될것입니다.
이파일은프로그램을오프라인으로생성한결과물입니다. 이파일은RoboDK에서시뮬레이션한것과같은동작을실행하기위해로봇컨트롤러로전송될수있습니다.
●로봇으로프로그램전송(Ctrl+F6)을선택하여FTP(오프라인프로그래밍)를통해프로그램을전송하십시오.
●로봇에서실행옵션을확인하여프로그램을실행할때마다프로그램을단계별로실행하십시오(온라인프로그래밍). 이를통해동시에시뮬레이션할때로봇에서프로그램을실행할수있습니다. 온라인프로그래밍을위해서는로봇드라이버가필요합니다.
두산로봇의포스트프로세서를변경하고프로그램생성방법을사용자정의할수있습니다.
1.프로그램또는로봇을마우스우측단추로클릭하십시오.
2.포스트프로세서선택을선택하십시오.
3.Doosan Robotics를선택하십시오.
프로그램을다시생성하십시오. 이예에서기본포스트프로세서는조인트값을사용하여각선형이동을정의하고, 두번째포스트프로세서는직교좌표를사용하여각선형이동을정의합니다.
RoboDK API는원하는만큼시뮬레이션을사용자정의할수있습니다. 기본적으로 RoboDK는파이썬과더높은수준의사용자지정이가능한샘플매크로세트를설치합니다. 여기에는페인트건시뮬레이션, 파이썬을통한로봇프로그래밍, 2D 카메라시뮬레이션, SVG 파일변환, 교착상태가주어지는 TCP 자동설정, 이산이벤트시뮬레이션등이포함됩니다. C#, C++ 또는매트랩과같은다른프로그래밍언어들도사용할수있습니다. 자세한내용은RoboDK API섹션에서확인할수있습니다.
이예제에서는페인트건의동작을시뮬레이션하는기존의샘플에매크로를추가합니다. 또한, 투명한색상의스프레이볼륨을기억하거나(도구➔툴색상변경 - Shift+T) 기존모델을적절한색상으로불러올것입니다(로컬라이브러리에서paint_gun.tool또는온라인라이브러리로사용가능).
1.새로운파이썬매크로(*.py 파일)을열기위해파일➔열기를선택하십시오.
2.C:/RoboDK/Library/Macros/로이동하여일부샘플매크로를확인하십시오.
3.SprayOn을선택하십시오.
4.열기를선택하십시오. 새로운파이썬객체가추가될것입니다. 이매크로에서는분무량모형을시뮬레이션할수있습니다.
5.SprayOn매크로를더블클릭하여테스트하십시오.
6.켜기를선택하여활성화하십시오.
7.Alt 키를누르고로봇플랜지를끌어서Paint gun으로표면을따라로봇을이동하십시오.
Paint gun의경로를추적하십시오. TCP가표면으로부터얼마나가깝거나멀리떨어져있느냐에따라색상과투명성이달라져야합니다.
시뮬레이션된페인트를지우려면 Esc를한번선택하십시오.
8.같은SprayOn프로그램을더블클릭하고끄기를선택하여분사시뮬레이션을종료하십시오.
내부에서일어나는일을더잘이해하기위해, 다음과같은방법으로파이썬코드를보거나편집할수있습니다.
1.SprayOn을마우스우측으로클릭하십시오.
2.파이썬스크립트편집을선택하십시오.
새창(텍스트편집기)이나타나스프레이동작을모델링하는코드와파이썬이RoboDK와통합되는방식을보여줍니다.
기본프로그램에서스프레이시뮬레이션을고려하려면다음단계를따르십시오.
1.ApproachMove호출명령을마우스우측버튼으로클릭하십시오.
2.명령추가➔프로그램호출명령을선택하면, 첫번째프로그램호출후새로운지침이추가되고새창이열릴것입니다.
3.SprayOn(1)을입력하십시오.
4.확인을선택하십시오.
5.PaintTop프로그램을SprayOn(0)으로설정후다음그림과같이같은작업을반복하십시오.
필요한경우프로그램내에서끌어서놓아지침을재정렬하십시오.
6.MainProg프로그램을실행하십시오. 두번반복한후결과는영상에표시된것과같아야합니다(정상속도로시뮬레이션).
또한, 아래의방법으로새로운매크로를만들수도있습니다.
1.프로그램➔파이썬프로그램추가를선택하십시오.
2.새프로그램을마우스우측버튼으로누르고파이썬스크립트편집을선택하십시오.
RoboDK는프로그램내에서로봇속도설정, 디지털출력설정, 디지털입력대기, 메시지표시등을지원합니다. 이러한지침은프로그램메뉴에서사용할수도있습니다.