RoboDK는산업용로봇애플리케이션에중점을둔시뮬레이터입니다. 이는특정로봇암및로봇컨트롤러를위해로봇프로그램을오프라인에서생성, 시뮬레이션및프로그램을생성할수있음을의미합니다. 즉, RoboDK는오프라인프로그래밍용소프트웨어입니다.
로봇프로그램을작성하려면로봇을선택하고로봇툴을로드한후하나이상의 CAD를사용하여대상을추가하거나특정도구(예: CNC 프로그램을로봇프로그램으로변환)를사용하여프로그램을작성하는기능을경로지정해야합니다.
광범위한산업용로봇라이브러리가제공됩니다. 산업용로봇은축제한, 동작감지및축연결을포함하여공급업체별컨트롤러를사용하는것과같은방식으로 RoboDK에서모델링됩니다.
이섹션에서는 RoboDK GUI(그래픽사용자인터페이스)를사용하여특정로봇컨트롤러에대해로봇프로그램을생성, 시뮬레이션및프로그램을생성하는방법을보여줍니다.
오프라인프로그래밍은생산환경외부에서로봇을프로그래밍하는것을의미합니다. 오프라인프로그래밍은작업현장프로그래밍(티치펜던트를사용한프로그래밍)으로인한생산중단시간을제거합니다.
시뮬레이션및오프라인프로그래밍을통해생산셀을설정하기전에로봇셀의여러시나리오를연구할수있습니다. 작업셀을설계할때일반적으로발생하는실수는시간내에예측할수있습니다.
오프라인프로그래밍은로봇시스템에대한투자수익을극대화하는가장좋은방법이며적절한시뮬레이션도구가필요합니다. 새로운프로그램채택시간을몇주에서하루로단축하여단기생산로봇화를가능하게합니다.
프로그램에일련의명령을추가하여시뮬레이션을수행할수있습니다. 각명령어는특정컨트롤러에대한특정코드를나타내지만, RoboDK는코드를작성할필요없이일반적인방식으로로봇프로그램을쉽게구성할수있는 GUI(Graphical User Interface)를제공합니다.
로봇컨트롤러에특정한코드는프로그램이생성될때자동으로생성됩니다. RoboDK 그래픽사용자인터페이스를사용하여빈프로그램을새로만들려면아래의작업을수행하십시오.
1.프로그램➔프로그램추가를선택하십시오.
또는툴바에서해당버튼을선택하십시오.
2.도구➔항목이름바꾸기…(F2)를선택하여프로그램의이름을바꾸십시오.
이사항은빈프로그램을작성하고프로그램을마우스오른쪽단추로클릭하거나프로그램메뉴에서명령을선택하여새명령을추가할수있게합니다. 다음섹션의프로그램명령은명령어추가에대한자세한정보를제공합니다.
이전섹션과같이프로그램을마우스오른쪽버튼으로클릭하거나프로그램메뉴에서새명령을추가할수있습니다.
이섹션에서는로봇오프라인프로그래밍을위해 RoboDK 그래픽사용자인터페이스가지원하는명령에관해설명합니다.
새로운조인트이동명령을추가하려면프로그램➔조인트이동명령을선택하십시오. 또는툴바에서해당버튼을선택하십시오.
명령을추가하기전에대상을선택하지않으면이동명령이새대상을생성하고연결됩니다. 대상이이동하면이동도수정됩니다.
이것이프로그램에추가된첫번째명령인경우이동명령전에기준좌표계선택및툴좌표계선택의두개명령이추가됩니다. 이렇게하면프로그램이이동명령에도달할때로봇이이새로운대상을생성하는데사용된것과같은기준및툴좌표계를사용하게됩니다.
새로운선형이동명령을추가하려면프로그램➔선형이동명령을선택하십시오. 또는툴바에서해당버튼을선택하십시오.
명령을추가하기전에대상을선택하지않으면이동명령이새대상을생성하고연결됩니다. 대상이이동하면이동도수정됩니다.
조인트이동과선형이동은같은방식으로작동하며한유형에서다른유형으로쉽게전환할수있습니다.
조인트이동명령과마찬가지로프로그램에추가된첫번째명령인경우, 이동명령전에기준좌표계선택과툴좌표계선택이라는두가지명령이추가됩니다.
조인트움직임과달리선형움직임은로봇특이성과축제한에민감합니다. 예를들어, 6축로봇은직선이동후에특이점을넘을수없습니다. 다음그림은관절 5가특이점 (0도)에너무가깝다는예를보여줍니다. 그림에서와같이 […] 대신조인트이동을고려하십시오.
직선이동이꼭필요하지않으면이동명령을마우스오른쪽버튼으로클릭하고조인트명령으로변경하십시오.
또는, 특이점을피하기위해대상, TCP 또는기준좌표계의위치를수정해야합니다.
특정기준좌표계를사용하려면프로그램➔기준좌표계명령설정을선택하십시오. 그러면다음이동명령에따라컨트롤러에서지정된기준좌표계가업데이트되고시뮬레이션목적으로 RoboDK에서로봇의활성기준좌표계가변경됩니다. 즉, 마지막기준좌표계세트와관련하여특정대상(카르테시안타겟)으로의이동명령이수행됩니다.
기준좌표계는 Work Object(ABB 로봇), UFRAME(Fanuc 로봇), FRAME(Motoman 로봇) 또는 $BASE(KUKA 로봇)로도알려진변수입니다.
특정툴좌표계 (TCP)를사용하려면프로그램➔툴좌표계명령설정을선택하십시오. 그러면다음이동명령에따라프로그램에서주어진툴좌표계가업데이트되고시뮬레이션목적으로 RoboDK에서로봇의활성툴좌표계가변경됩니다. 즉, 마지막툴좌표계세트와관련하여특정타겟 (직교타겟)에대한이동명령이수행됩니다.
기준좌표계는 ToolData(ABB 로봇), UTOOL(Fanuc 로봇), TOOL(Motoman 로봇) 또는 $TOOL(KUKA 로봇)으로도알려진변수입니다.
새로운원형이동명령을추가하려면프로그램➔원형이동명령을선택하십시오. 또는툴바에서해당버튼을선택하십시오.
명령을추가하기전에두개의대상을선택하지않으면이동명령은새대상을생성하지않습니다. 다음그림과같이두개의대상을별도로추가하고원형이동명령에서대상을연결하십시오.
원형경로는로봇이있는지점에서생성된원호로, 첫번째원형점(연결된타겟1)을통과하고끝점 (연결된타겟 2)에서끝납니다.
속도및가속, 또는가속을변경하는새명령을추가하려면프로그램➔속도설정명령을선택하십시오. 조인트공간과데카르트공간에서속도와가속도를지정할수있습니다.
해당사례를활성화하여프로그램에특정속도및/또는가속을적용하십시오. 이명령이실행되는순간부터로봇속도가적용됩니다.
로봇속도는로봇매개변수메뉴에서도변경할수있습니다. 로봇을두번클릭한다음매개변수를선택하십시오.
티치펜던트에메시지를표시할새명령을추가하려면프로그램➔메시지명령보이기를선택하십시오.
프로그램➔명령어정지를선택하면잠시동안프로그램실행을일시중지하거나작업자가프로그램을다시시작하기를원할때까지프로그램을중지하는새명령을추가할수있습니다.
현재프로그램에서하위프로그램에대한호출을추가하려면프로그램➔프로그램호출명령을선택하십시오.
기본적으로이것은특정프로그램에대한차단호출입니다. 그러나코드삽입으로전환하여이명령어의위치에특정한코드를입력할수있습니다. 특정응용프로그램및특정컨트롤러에유용할수있습니다.
프로그램호출에서스레드시작으로전환하여하위프로그램에대한비차단호출을유발합니다. 이경우컨트롤러는새스레드를시작합니다. 이옵션은특정컨트롤러에서만사용할수있으며특정작업에서만작동합니다.
프로그램➔I/O 설정혹은대기명령을선택하여디지털출력(DO)의상태를변경하십시오. 기본적으로이명령어는디지털출력설정으로설정되어있습니다. 이명령어를사용하면특정디지털입력(DI)이특정상태로전환될때까지대기할수도있습니다.
IO 이름은명명된변수면숫자또는텍스트값일수있습니다. IO 값은숫자(False의경우 0, True의경우 1)이거나이름이지정된상태인경우텍스트값일수있습니다.
특정입력이특정값으로변경될때까지프로그램실행을중지하려면디지털입력대기를설정하십시오. 또한, 대부분의로봇컨트롤러는대기시간이특정값을초과하는경우오류를제기하기위해시간초과지연을지원합니다. 이기능을활성화하려면시간초과(ms) 옵션을확인하십시오.
시뮬레이션된디지털입력및디지털출력을변경하면새로운스테이션변수가생성됩니다. 이러한변수의상태를확인하려면스테이션을마우스오른쪽버튼으로클릭하고스테이션매개변수를선택하십시오. API를통해이러한변수를읽거나수정할수도있습니다.
라운딩정확도를변경하려면프로그램➔라운딩명령설정을선택하십시오. 라운딩정확도는연속적인움직임사이의가장자리를부드럽게하는데사용됩니다. 이변경사항은프로그램내에서실행되는순간부터적용되며 (다른모든명령과동일) 프로그램시작시이값을설정하는것이일반적입니다.
라운딩명령이없으면로봇은다음이동이이전이동과접하지않는한각이동이끝날때 0의속도에도달합니다. 이는각움직임에대해최고의정확성을보장하기위해높은가속과빠른속도변화를유발합니다.
이값은Blending radius(Universal Robots), ZoneData(ABB 로봇), CNT/FINE(Fanuc 로봇), Cornering(Mecademic로봇) 또는 $APO.CDIS/$ APO.CPTP/Advance(KUKA 로봇)라고도합니다.
RoboDK 경로정확도테스트를통해측정시스템에서다양한라운딩값의영향을더잘이해할수있습니다.
특정시뮬레이션이벤트를생성하려면프로그램➔시뮬레이션이벤트명령을선택하십시오. 시뮬레이션이벤트는생성된코드에영향을미치지않으며시뮬레이션목적으로특정이벤트를생성하는데만사용됩니다.
그래픽사용자인터페이스를사용한시뮬레이션이벤트를통해다음을수행할수있습니다.
●로봇툴에물체를부착또는분리
●객체또는도구표시또는숨기기
●객체및기준좌표계의위치변경
예를들어, 로봇이객체를잡기위해특정위치로이동하는경우, 객체를로봇과함께이동시키기위해객체연결이벤트를설정할수있습니다. 그런다음로봇이움직인후객체를이탈할준비가된후에는툴이잡은객체를남기도록객체분리이벤트를설정할수있습니다.
시뮬레이션프로그램을시작하려면프로그램을더블클릭하십시오.
또는,
1.프로그램을마우스오른쪽버튼으로클릭하십시오.
2.실행을선택하십시오.
프로그램을더블클릭하면하단에시뮬레이션바가나타납니다. 시뮬레이션바를사용하여시뮬레이션을슬라이드함으로써시뮬레이션을앞뒤로이동할수있습니다.
RoboDK는기본적으로실시간보다5배빠르게시뮬레이션합니다. 즉, 프로그램을실행하는데30초가걸리면 30 / 5 = 6초로시뮬레이션됩니다. 시뮬레이션속도를높이면이비율이 100으로증가합니다. 도구➔옵션➔모션메뉴에서정상및빠른시뮬레이션속도를변경할수있습니다.
로봇컨트롤러 (공급업체별로봇컨트롤러)에필요한로봇프로그램을생성하려면다음단계를따르십시오.
1.프로그램을선택하십시오.
2.프로그램➔프로그램생성 (F6)을선택하십시오.
또는프로그램을마우스오른쪽버튼으로클릭하고로봇프로그램생성 (F6)을선택하여프로그램을생성하십시오.
한번에여러프로그램을생성하기위해여러프로그램을선택할수있습니다. 하나이상의프로그램을선택하려면 Ctrl 키를누르십시오. 프로그램생성… (Shift + F6)옵션을선택하면프로그램을저장할위치를제공하도록요청하는창이열립니다.
컴퓨터에서로봇으로직접프로그램을전송할수있습니다. 이옵션은일반적으로 FTP 메시징또는소켓메시징또는직렬연결사용과같은기타특정프로토콜을통해프로그램을로봇으로보냅니다. 먼저로봇연결메뉴에서로봇 IP 및 FTP 설정을입력해야합니다.
1.로봇을마우스오른쪽버튼으로클릭하십시오.
2.로봇에연결…을선택하십시오. 창이왼쪽에나타날것입니다.
3.로봇 IP를입력하십시오.
4.추가옵션을선택하여 FTP 설정및필요한경우FTP 자격증명을입력하십시오.
Tip: Ping을선택하여네트워크에서로봇을찾을수있는지확인하십시오.
네트워크설정이제공되고로봇이올바르게연결되면다음단계에따라 RoboDK에서직접로봇으로프로그램을전송하십시오.
1.프로그램을마우스오른쪽버튼으로클릭하십시오.
2.로봇에프로그램보내기(Ctrl + F6)를선택하십시오.
알림창에성공또는실패상태가표시됩니다.
RoboDK 시뮬레이션에서특정로봇프로그램으로의변환은포스트프로세서에의해수행됩니다. 포스트프로세서는특정로봇에대해로봇프로그램을생성하는방법을정의합니다. 각로봇에는 RoboDK에서기본적으로지정한특정/기본포스트프로세서가있습니다.
로봇의특정포스트프로세서를선택하려면다음절차를수행하십시오.
1.로봇이나프로그램을마우스오른쪽버튼으로클릭하십시오.
2.포스트프로세서선택을선택하십시오.
3.목록에서포스트프로세서를선택하십시오.
4.확인을선택하십시오.
이제변경사항이적용되고프로그램을다시생성하여결과를볼수있습니다.
RoboDK의포스트프로세서는특정요구사항에맞는로봇프로그램을생성할수있는완벽한유연성을제공합니다. RoboDK는대부분의로봇브랜드에포스트프로세서를제공합니다. 포스트프로세서는쉽게만들거나수정할수있습니다. 포스트프로세서섹션에서포스트프로세서에대한추가정보를확인할수있습니다.
긴프로그램은컨트롤러제한을초과할수있습니다. 컨트롤러제한은파일크기또는프로그램당줄수입니다. 예를들어, 3D 프린팅또는로봇가공을위해만들어진로봇프로그램은백만줄의코드를초과할수있습니다. 이경우서브프로그램을순서대로실행하는하나의주프로그램을포함하여작은서브프로그램에서그러한긴프로그램을나누는것이좋습니다.
긴프로그램을자동으로나누려면다음단계를수행하십시오.
1.도구➔옵션➔프로그램을선택하십시오.
2.프로그램당최대라인수제한을확인하고파일당생성할프로그램당최대라인수를제공하십시오.