RoboDK API

RoboDK API(Application Program Interface)프로그래밍언어를통해RoboDK기능을사용할있는일련의루틴명령집합입니다. RoboDK API사용하면 C#, 파이썬(Python) 또는 C ++등의지원되는프로그래밍언어하나를사용하여모든로봇을프로그래밍할있습니다.

브랜드별로제공되는로봇프로그래밍과달리, RoboDK API사용하면파이썬과같은독특하고범용적인프로그래밍언어를사용하여모든로봇을시뮬레이션하고프로그래밍할있습니다. 메인페이지는개요와API이용한오프라인프로그래밍보여주는비디오를제공합니다.

RoboDK API파이썬, C #, C ++, 비주얼베이직(Visual Basic .NET) 매트랩(Matlab)사용할있습니다. 이러한프로그래밍언어는로봇을시뮬레이션하고프로그래밍하는사용될있습니다.

RoboDK API다음과같은작업에사용될있습니다:

1.시뮬레이션자동화: 움직이는객체, 기준좌표계또는로봇과같은 RoboDK 시뮬레이터내의특정작업을자동화하는매크로를생성할있습니다.

2.오프라인프로그래밍: 범용프로그래밍언어를사용하여오프라인에서로봇을프로그래밍합니다. RoboDK API사용할경우특정로봇컨트롤러 (: 파이썬또는 C# 프로그램)대한특정프로그램을생성합니다. 로봇프로그램은특정로봇에대해선택된포스트프로세서기반으로생성됩니다. 문서의파이썬을사용한오프라인프로그래밍섹션에서자세한정보와예제를제공합니다.

3.온라인프로그래밍: 범용프로그래밍언어를사용하여온라인에서로봇프로그래밍합니다. RoboDK API사용해서로봇을이동하고현재위치를검색할있습니다. RoboDK로봇드라이버사용하여로봇을구동합니다. 문서의파이썬을사용한온라인프로그래밍섹션에서자세한정보와예제를제공합니다.

다시말해서, 시뮬레이션에사용되는프로그램 (1)사용하여동일하게로봇프로그램 (2, 오프라인프로그래밍)생성하고, 로봇을실시간으로이동 (3, 온라인프로그래밍) 하는데사용할있습니다.

문서는다음주제를다룹니다.

시뮬레이션, 오프라인프로그래밍온라인프로그래밍에대한예제가포함된파이썬 API

시뮬레이션, 오프라인프로그래밍온라인프로그래밍에대한예제가포함된C # API

시뮬레이션을위한시뮬링크예제가포함된매트랩 API

RoboDK시작하는명령행옵션

파이썬 API

파이썬범용프로그래밍을위해널리사용되는고급프로그래밍언어입니다. Python보다빠르게작업하고시스템을보다효과적으로통합할있는프로그래밍언어입니다. 파이썬의구문을통해프로그래머는다른언어에비해적은수의코드줄로개념을표현할있어친숙하고배우기쉽습니다.

이전섹션에서는파이썬과같은로봇프로그래밍에널리사용되는프로그래밍언어와함께 RoboDK API사용하는장점에관해설명하였습니다.

파이썬은기본적으로 RoboDK함께자동설치통합됩니다. 도구옵션기타선택하여기본설정 (파이썬경로파이썬편집기)변경하십시오.

RoboDK API - 영상 1

파이썬 RoboDK API다음모듈로나뉩니다.

robolink모듈(robolink.py): robolink 모듈은 RoboDK파이썬사이의인터페이스입니다. RoboDK 스테이션트리의모든객체는 Robolink 객체를사용하여검색할있으며, 검색결과는Item객체로표시됩니다. Robolink.Item 클래스에따라해당항목에서다른작업을수행할있습니다.

robodk모듈(robodk.py): robodk 모듈은파이썬을위한로봇공학툴박스로써자세변환을계산하고다른업체의로봇들의오일러각도를얻을있습니다. 모든포스트프로세서는robodk모듈을기반으로합니다.

파이썬모듈은 C:/RoboDK/Python/ 폴더에있으며, RoboDK설치하거나파이썬설정기본값적용선택하면자동으로파이썬폴더경로에복사됩니다(이전이미지참조).

다음하위섹션은각각시뮬레이션, 오프라인프로그래밍온라인프로그래밍을위한간단한프로그램을만드는방법을보여줍니다. RoboDK 파이썬 API페이지에서많은예제를찾을있습니다. 또한, RoboDK 라이브러리가 C:/RoboDK/Library/Macros/ 폴더에샘플파이썬매크로와함께제공됩니다.

파이썬시뮬레이션

UR 로봇을사용하여샘플프로젝트를설정하고로봇과움직임을시뮬레이션하기위해다음단계를수행하십시오.

1.파일RoboDK API - 영상 2열기선택하십시오.

2.UR10불러오세요.

3.파일RoboDK API - 영상 3열기선택하십시오.

4.Paint_gun.tool불러오세요.

5.C:/RoboDK/Library/Macros/ 폴더에서샘플파이썬프로그램SampleOfflineProgramming.py불러오십시오.

6.SampleOfflineProgramming항목을클릭하여시뮬레이션을실행하십시오. 로봇은현재위치주위에육각형을그려야하며 TCP경로는노란색으로표시됩니다.
또는, 마우스오른쪽버튼으로프로그램을클릭하고RoboDK API - 영상 5파이썬스크립트실행선택하십시오.

7.마우스오른쪽버튼으로RoboDK API - 영상 6SampleOfflineProgramming항목을클릭하고, 파이썬스크립트편집선택하십시오. 다음이미지와같이프로그램을있습니다.

SampleOfflineProgramming 매크로는로봇기준좌표계를기준으로로봇의현재위치에서 n_sides 개의측면을갖고반경이 R다각형을그립니다. 원하는경우, 다각형치수를변경하여로봇을다른위치로이동하고프로그램을다시실행하십시오.

예제는사이트의오프라인프로그래밍섹션 (비디오포함)표시된프로그램과유사합니다.

RoboDK API - 영상 7

파이썬 OLP

파이썬프로그램은로봇을시뮬레이션하는사용된것과같은파이썬코드를사용하여오프라인으로생성될있습니다 (이전파이썬시뮬레이션섹션에표시됨). 오프라인프로그래밍을사용하면특정로봇컨트롤러에서실행할있는로봇프로그램을생성할있습니다.

1.RoboDK API - 영상 8파이썬프로그램을오른쪽버튼을클릭하여선택하십시오.

2.로봇프로그램생성(F6)선택하십시오.

경우프로그램은시뮬레이션되지않고로봇컨트롤러에특정한로봇프로그램인결과를얻기위해빠르게실행됩니다.

RoboDK API - 영상 9

RDK = Robolink()

RDK.setRunMode(RUNMODE_MAKE_ROBOTPROG)

파이썬온라인프로그래밍

파이썬프로그램은파이썬시뮬레이션섹션에보인것과같이로봇시뮬레이션에사용된것과같은파이썬코드를사용하여로봇에서직접실행할있습니다. 온라인프로그래밍에서로봇드라이버를사용하여특정로봇컨트롤러에서일반프로그램을실행할있습니다.

1.RoboDK API - 영상 10파이썬프로그램을마우스오른쪽버튼으로클릭하십시오.

2.로봇에서실행선택하십시오.

프로그램은파이썬프로그램이실행될때와같이로봇에서실행됩니다.

RoboDK API - 영상 11

RDK = Robolink()

RDK.setRunMode(RUNMODE_RUN_ROBOT)


C# API

RoboDK C# API RoboDK 클래스 (파이썬의 Robolink 클래스와유사), RoboDK.Item 클래스 (파이썬의 Robolink.Item 클래스 API유사) 포즈변환과함께작동하는행렬작업을위한Matrix 클래스 (RoboDK.Mat)같은로봇공학용도구를포함하는 RoboDK.cs 소스파일입니다.

C#마이크로소프트에서개발된프로그래밍언어로 .NET Framework에서실행되는다양한응용프로그램을작성하도록설계되었습니다. C#단순하고강력하며형식이안전하며객체지향적입니다. 문서의메인섹션에서는로봇프로그래밍을위해 C#같이널리사용되는프로그래밍언어와함께 RoboDK API사용하는이점을설명합니다.

RoboDK C# API다음이미지에보인것과같은샘플프로젝트와함께제공됩니다(전체소스코드가포함되어있음). NuGet 패키지로사용하여 .Net 프로젝트에통합될수도있습니다.

RoboDK API - 영상 12

파일불러오기선택하여 RoboDK 스테이션또는 RoboDK에서지원되는다른파일을불러옵니다. 로봇이불리면, ROBOT 변수가그에따라업데이트됩니다(로봇선택동일).

C# 시뮬레이션

로봇명령(: MoveJ, MoveL 또는 setDO)사용하면, C# 프로그램이기본적으로시뮬레이션됩니다. 샘플 C# 프로젝트가시작되면, 시뮬레이션모드도기본적으로선택됩니다.

RoboDK API - 영상 13

이는로봇이동이 RoboDK에서시뮬레이션됨을의미합니다. 예를들어, 오른쪽의버튼(+ Tx, -Tx,)선택하여10mm로봇을움직이거나로봇의현재위치를중심으로육각형움직임을실행하는테스트프로그램실행을선택할있습니다.

응용프로그램을디버깅하고로봇대상을검사하도록중단점을설정하십시오. 로봇타겟은조인트좌표또는 Mat 변수(4x4 자세매트릭스)정의할있으며, XYZWPR 형식으로검사하여프로그램문제를해결할수도있습니다. 기준좌표계섹션에서추가적인내용을확인할있습니다.

RoboDK API - 영상 14

다음섹션에표시되는것과같이실행모드를오프라인프로그래밍또는온라인프로그래밍(로봇에서실행)으로변경할수도있습니다.C# OLP #CsAPIOLP

로봇시뮬레이션에사용되는것과같은 C# 코드를사용하여 C# 프로그램을오프라인에서생성할있습니다(오프라인프로그래밍). 기능을테스트하려면다음단계를수행하십시오.

1.실행모드섹션에서오프라인프로그래밍선택하십시오.

2.테스트프로그램실행이나다른이동명령의조합을선택하십시오.

3.로봇제조사별프로그램을얻기위해프로그램생성선택하십시오.

경우, 프로그램은시뮬레이션되지않고로봇컨트롤러에특정한로봇프로그램을결과로얻기위해빠르게실행됩니다. 프로그램이생성되면, 실행모드가다시시뮬레이션으로변경됩니다.

RoboDK API - 영상 15


C# 온라인프로그래밍

C# programs can be directly executed on the robot using the same C# code used for simulation. Online programming allows running a generic program on a specific robot controller using Robot Drivers. Follow these steps to test this feature using the C# sample project:

C# 프로그램은시뮬레이션에사용된것과같은 C# 코드를사용하여로봇에서직접실행할있습니다. 온라인프로그래밍에서로봇드라이버를사용하여특정로봇컨트롤러에서일반프로그램을실행할있습니다. C# 샘플프로젝트를사용하여기능을테스트하려면다음단계를수행하십시오.

1.실행모드섹션에서로봇에서실행선택하십시오.

2.로봇이움직일있는아무명령이나선택하십시오.

움직임은실제로봇에서실행되며, 시뮬레이터는로봇모델의움직임을실제로봇과동기화합니다.

RoboDK API - 영상 16

RDK = Robolink();

RDK.setRunMode(RUNMODE_RUN_ROBOT);

매트랩 API

RoboDK 매트랩API RoboDK 설치폴더에서사용할있습니다. 일반적으로 C:/RoboDK/Matlab/에서찾을있습니다. RoboDK 매트랩 API일련의m 파일로제공됩니다.

매트랩은MathWorks에서개발된상용프로그래밍언어입니다. 매트랩은매트릭스조작, 함수데이터가시화알고리즘구현을제공합니다.

문서의메인섹션에서는로봇프로그래밍을위해매트랩과같이널리사용되는프로그래밍언어와함께 RoboDK API사용하는이점을소개합니다.

RoboDK 매트랩 API에는다음이포함됩니다:

Robolink.m RoboDK인터페이스하는클래스입니다. RoboDK 스테이션트리의모든객체는 Robolink 객체를사용하여검색될있으며, RobolinkItem 객체(파이썬의Robolink클래스와동일)표시됩니다.

RobolinkItem.m스테이션트리에서 RoboDK 항목을나타내는클래스입니다. 해당항목에대해다른작업을수행할있습니다(파이썬의Robolink.Item클래스와동일).

transl.m, rotx.m, roty.m rotz.m XYZ 평행이동벡터또는특정축을따라회전한경우의자세행렬을작성하는함수입니다.

Pose_2_XYZRPW.m XYZRPW_2_Pose.m사용하면자세를 XYZ 위치로, RPW 오일러각도로또는반대로변환할있습니다. 기준좌표계섹션에자세한정보가있습니다.

샘플코드는다음페이지에서제공됩니다:

https://robodk.com/Matlab-API

시뮬링크예제

시뮬링크프로젝트를예로들어소개합니다. 시뮬레이션에서로봇은임의로생성된일련의XYZ 좌표를따라이동합니다.

다음비디오는시뮬레이션실행결과를보여줍니다: https://www.youtube.com/watch?v=7DDBMwa0-Oc

RoboDK API - 영상 17

명령옵션

섹션에서는 RoboDK시작할사용가능한명령옵션에관해설명합니다. 명령옵션은 API명령기능을사용하여전달될수도있습니다.

다음의호출은일부인수가있는일반호출을나타냅니다:

RoboDK.exe -[option1] -[option2] open_fileA -[option3] open_fileB ...

아래의형식을포함하여RoboDK지원하는모든파일형식을인수로제공할있습니다:

RDK    RoboDK 스테이션파일: 파일은관련된모든정보(로봇, , NC 파일)포함하는전체프로젝트를담고있습니다.

robot    로봇파일: 로봇파일불러오면로봇의좌표계도함께생성됩니다.

tool      파일: 마지막으로추가된로봇에자동으로부착됩니다.

stl/wrl/step/stp/iges/igs/sld 객체(3D 형상): 객체는손쉽게툴로변환있습니다.

apt/gcode/cnc NC 프로그램파일: RoboDK에서자동으로가공프로젝트를준비합니다(유틸리티로봇가공프로젝트).

RDK = Robolink(args='-ADDFRAME "-RENAME=Main Ref " load_object.stl')

사용가능한명령옵션:

-NOSPLASH

시작할 RoboDK 스플래시이미지를제거합니다.

-DEBUG

bin 폴더에응용프로그램을디버깅할있는 RoboDK.debug.txt 파일을생성합니다.

-SETTINGS=filepath

텍스트파일에서인수를불러옵니다. 해당텍스트파일의줄은하나의단일인수로간주합니다.

-NOSHOW

RoboDK파일을불러오고프로그램을업데이트하는동안모든창을숨깁니다.

-HIDDEN

RoboDK불러오기를완료하면자동 /SHOW하지않습니다. 이후창을표시하는유일한방법은 API사용하는것입니다.

-NO_WINDOWS

NC 파일을불러올일반적으로자동으로표시되는모든창을숨깁니다.

-NOUI

사용자인터페이스없이 RoboDK시작합니다(3D 보기). API사용하여백그라운드에서 RoboDK실행할옵션을사용할있습니다.

-PORT=20501

주어진포트(TCP/IP 프로토콜)통해 API 통신을강제합니다. 기본포트는 20500입니다.

-TREE_STATE=-1

스테이션트리를표시하지않습니다.

-TREE_STATE=6

스테이션트리를창의왼쪽에고정된형태로불투명하게표시합니다.

-ADDFRAME

새로운기준좌표계를추가합니다. 불린모든객체를기준좌표계에배치합니다.

-RESET

객체가불리면마지막으로추가된좌표계가아닌스테이션기준좌표계에배치합니다.

-RENAME=Name

마지막으로추가된기준좌표계또는객체의이름을변경합니다.

-MOVE=x;y;z;rx;ry;rz

마지막으로추가된기준좌표계를 mm 단위로이동합니다.

-UPDATE_APT=YES

APT 파일을가진모든로봇가공프로젝트를업데이트합니다.

-UPDATE_APT=NO

로봇가공프로젝트를업데이트하지않습니다(이름이일치하는경우중복프로젝트를생성함).

-UPDATE=file.apt

문제가없으면, APT 파일을불러오거나업데이트하고로봇프로그램을생성합니다.

-REPLACE_ITEMS=YES

불린파일의이름이기존파일의이름과일치할경우, 기존도구객체를업데이트합니다.

-REPLACE_ITEMS=NO

파일이불릴도구객체를업데이트하지않습니다.

-SETCOLOR=blue

마지막으로불린객체(객체, , 로봇또는메커니즘)색상을설정합니다. 색상은명명된색상또는16진수색상(: #RRGGBBAA, : # 88112288)사용할있습니다.

-AUTOGEN_MAINPROG=Prog

불린 APT 파일에연결된프로그램을차례로호출하는기본프로그램을생성합니다.

-SELECTTOOL=#1

활성(프로그램을불러올사용되는)사용할있는번째로봇 (또는해당번호)설정합니다.

-SELECTTOOL=”tool name”

이름을지정하여활성툴을설정합니다.

-ADDCUTTER=length|path/cutter name.stl

Addcutter사용하면홀더를기준으로절삭공구형상을추가할있습니다. 절삭공구는 RoboDK에서절삭날의형상을유지하면서툴로취급됩니다. 절삭공구형상은공구끝에원점이있는 STL 파일(아스키또는이진)이어야합니다. 홀더와관련하여길이를 mm 단위로지정해야합니다(공구홀더의양의 Z 축이바깥쪽을향해야합니다).

-SELECTCUTTER=”cutter name”

Selectcutter SELECTTOOL같은기능을하며, 절삭공구는툴로취급됩니다.

-SHOW

RoboDK 창을표시합니다. 모든파일이불리고가공프로젝트가업데이트되면자동으로수행됩니다.

다음옵션하나를사용하면 /SHOW 명령으로보이는부분이변경됩니다.

-QUIT

오류메시지가없으면프로그램을종료합니다.

-END

오류메시지가있어도프로그램을종료합니다.