스마트 모션

Smart Motion 애드인은로봇이한지점에서다른지점으로충돌없이이동할수있는안전한경로를자동으로생성하도록도와주는모션플래너입니다. 이애드인은충돌회피알고리즘을사용하여충돌이없는경로를신속하게찾을수있도록합니다.

Smart Motion - 영상 1

'유틸리티'➔ 'Smart Motion'으로이동한후'충돌 없는 경로 생성'을클릭하면 Smart Motion메뉴를열수있습니다.

Smart Motion - 영상 2

메뉴를여는또다른방법은툴바에서첫번째(가장왼쪽) Smart Motion 아이콘을클릭하는것입니다.

Smart Motion - 영상 3

Smart Motion - 영상 4

또한도구모음의‘충돌 검사’ 드롭다운메뉴를통해서도액세스할수있습니다.

Smart Motion - 영상 5

Smart Motion 설정

스마트모션플래너를효과적으로사용하려면 RoboDK 프로젝트가올바르게구성되어있는지확인해야합니다.

프로젝트에는다음이포함되어야합니다:

1.로봇: 로봇암 1개. 이예제에서는Comau Smart5 NJ 130-2.6 로봇을사용합니다.

Smart Motion - 영상 6

2.공구: 하나이상의공구(TCP). 스폿용접예제에서는OBARA 스폿 용접 건을 사용합니다.

Smart Motion - 영상 7

3.객체: 충돌회피기능을활용하려면작업공간내에최소한개의객체(장애물)가있어야합니다. 이예제에서는사용자정의 자동차 프레임과자동차 프레임 랙, 자동차 프레임 레일을 사용했습니다.

Smart Motion - 영상 8

4.타깃: 생성된경로의시작및종료위치는타깃을사용하여정의해야합니다. 따라서스테이션에는최소두개의타깃이있어야합니다. 이예제에는전방과후방에접근/후퇴타깃이포함되어있으며, 스폿용접이수행될자동차프레임내부에도몇개의타깃이있습니다.

Smart Motion - 영상 9

Smart Motion 애드인 사용

Smart Motion을사용하여안전한경로를생성하려면로봇이이동해야할타겟을선택하고‘경로 생성(Generate Path)’을클릭하십시오. 애드인이자동으로계산을수행합니다.

Smart Motion 애드인을시연하기위해다음스폿용접예제를사용할것입니다: Comau를 사용한 스폿 용접. 이예제에는앞서설명한 4가지구성요소가포함되어있습니다.

이프로젝트에는PRM 플러그인을 사용하여생성된스크립트형태의충돌방지경로도포함되어있습니다. Smart Motion 애드인을시연하기위해, PRM 플러그인을통해자동으로생성된다음프로그램들을제거하겠습니다:

AppFrontPg

AppRearPg

HomePg

HomeToAppFront

AppRearToHome

AppFrontToAppRear

AppRearToAppFront

Main

Smart Motion - 영상 10

일반적인 단계

애드인을사용하려면다음단계를따르십시오:

1.타겟 선택기 열기: Smart Motion 메뉴에서 ‘타겟선택(Select Targets)’ 버튼을클릭하여선택창을엽니다. 이타겟들은생성할경로를정의합니다.

Smart Motion - 영상 11

Smart Motion - 영상 12

2.포인트 선택 및 순서 지정: 왼쪽의 ‘사용 가능한 타겟’ 섹션에서사용하려는포인트를선택하고>> 버튼을클릭하여오른쪽의‘선택된 타겟’ 섹션으로이동시킵니다. 오른쪽에서드래그앤드롭을사용하여순서를변경함으로써로봇이먼저이동할위치를결정할수있습니다. 타겟을모두선택했다면‘확인’버튼을눌러선택을확정합니다.

Smart Motion - 영상 13

3.경로 품질 선택: ‘경로 품질(Path Quality)’ 슬라이더를조절하세요. 빠른점검을원할때는‘거칠게(Coarse)’를사용하고, 로봇이좁은공간을안전하게점검하도록하려면‘정밀하게(Fine)’ 쪽으로슬라이더를이동시키세요.

Smart Motion - 영상 14

4.경로 생성: ‘경로 생성’ 버튼을클릭합니다. 이공구는목록에있는모든점쌍사이에안전한이동경로를생성합니다.

Smart Motion - 영상 15Smart Motion - 영상 16

Smart Motion - 영상 17

또한스테이션트리에서여러타겟을 (필요한순서대로) 선택한후툴바의‘선택한 항목 연결’아이콘(스마트모션의두번째또는맨오른쪽아이콘)을클릭하여‘항목연결’을수행할수도있습니다.

타겟 선택기의 체크박스

타겟선택기메뉴를통해경로를설정할때, 사용가능한지점목록이‘선택된 타겟’ 목록으로이동됩니다. 선택된항목중일부옆에는‘접근(Approach)’이라는레이블이붙은체크박스가있으며, 이를토글할수있습니다.

이체크박스는경로계획솔버에대한스마트한힌트역할을합니다.

체크 해제 시(표준 정지): 로봇은타겟을엄격한목적지로간주합니다. 로봇은점 A에서점 B까지의전체경로를계획한다음, 점 B에서점 C까지의완전히새로운경로를계획합니다. 로봇은다음단계를고려하기전에점 B에정확히도달하는데전적으로집중합니다.

선택된 경우(지나치기 또는 접근 지점): 이체크박스를선택하면솔버는해당지점이실제목적지로가는길에있는일시적인 ‘디딤돌’이나진입게이트에불과하다는것을인식합니다. 솔버는이동을별개의경직된구간(A에서 B로, 그다음 B에서 C로)으로나누는대신, 전체연결고리(A➔ B➔ C)를하나의유연한순서로평가합니다.

접근타겟을지정하면‘Simplify Program’ 공구가경로를최적화하는방식이완전히달라집니다:

유연한 코너링: 솔버는로봇이접근지점에서완전히정지할필요가없음을인식하므로, 동작을부드럽게연결합니다. 로봇은접근지점을향해이동하다가갑작스러운정지나 '끊김' 현상없이우아하게최종목적지로방향을전환합니다.

적극적인 정리: 단순화공구가다중지점경로를처리할때, 각중간타겟지점마다계산을중단하는대신전체시퀀스를미리살펴볼수있다면불필요하고부피가큰움직임을훨씬더효과적으로트리밍할수있습니다. 그결과코드줄수가줄어들고, 로봇속도가일정하게유지되며, 전반적인생산시간이단축됩니다.

Smart Motion 추가 옵션

Smart Motion 애드인에는요구사항에따라솔루션을미세조정할수있는추가옵션도제공됩니다. 이러한옵션을통해최종결과나생성된경로에영향을미치는몇가지매개변수를사용자정의할수있습니다.

공구 회전 제한

메뉴의‘공구 Z 회전 허용 범위: +/-’ 옵션을사용하여 TCP 회전을제한할수있습니다. 이옵션이활성화되면 X 및 Y 회전은고정되고, Z 회전은선택한값(예: +/- 45°)으로제한됩니다.

이기능은‘제약된 공간(Constrained Space)’과반대방식으로작동하여, 솔버가직교좌표계에서작동하도록강제함으로써공구의방향을제한합니다. X 및 Y 회전은잠기며, Z축회전은특정각도범위(설정된값의플러스또는마이너스)로제한될수있습니다. 이필드의값을“0”으로설정하면 X 및 Y 회전과함께 Z 회전도잠깁니다. 세축(X, Y, Z) 모두의회전을잠금해제하려면이옵션에"-1"을입력하십시오.

제한된 공간에서 작업하기

'제한된 공간(Constrained Space)'이활성화되면, 로봇은좁은틈을통과하거나물건이어수선하게널려있는환경에서작업하려고시도합니다. 이설정은카르테시안공간대신관절공간에서알고리즘을사용하도록강제하여, 테스트된구성이실제로사용되는구성이되도록보장합니다. 이는카르테시안포즈가여러가지잠재적인관절구성을초래하여경로생성중에문제를일으킬수있는로봇형태에매우중요합니다. 관절공간을강제함으로써시스템은식별된경로가유일하고충돌이없도록보장합니다.

충돌 맵 열기

Smart Motion 메뉴에서‘충돌 맵(Collision Map)’ 버튼을클릭하여 RoboDK의충돌 맵 설정을열수도있습니다. 올바르게구성된충돌맵을사용하면애드인이충돌행렬을참조하여충돌이없는경로를유지하는궤적을계산할수있습니다.

Smart Motion - 영상 18

생성된 프로그램 단순화

'선택한 프로그램 단순화' 옵션을사용하면충돌을피하면서프로그램의명령어수를줄일수있습니다. 즉, 이미생성된프로그램을단순화하여경로내타겟수를줄이면서도경로가충돌없이유지되도록보장합니다.

이는다음과같은측면에서유용합니다:

1.프로그램 크기 축소: 경로를분석하여불필요한타겟지점을제거합니다. 이는메모리가제한되어있어특정줄수만큼의코드만저장할수있는구형로봇컨트롤러에매우중요합니다.

2.더 부드러운 동작: 중복된지점을제거함으로써로봇의 "끊김현상"을방지할수있습니다. 컨트롤러는때때로동일한작은영역에대해너무많은명령을수신하면갑작스럽게움직이거나속도가느려질수있습니다. 경로를단순화하면로봇이더일정하고유연한속도를유지하는데도움이됩니다.

3.더 빠른 실행: 간소화된프로그램은로봇컨트롤러가처리해야할점의수가줄어들어사이클시간을단축시키는경우가많으며, 이를통해컨트롤러는프로그래밍된속도유지에집중할수있습니다.

4.“복잡한” 경로 정리: 동작을기록하거나밀집된 CAD 경로를가져와프로그램을생성한경우, 수백개의불필요한점이포함될수있습니다. 이공구는새로운짧은경로가모든충돌을여전히피하도록보장하면서해당데이터를 “정리”합니다.

5.구성 안전성 유지: 다른 Smart Motion 기능과마찬가지로, 단순화과정에서도로봇의구성을준수합니다. 이를통해점이제거되는동안로봇이충돌을유발할수있는방식(예: 팔꿈치뒤집기)으로실수로구성을변경하려는시도를하지않도록보장합니다.

프로그램 간 동작 생성

Smart Motion은타겟을연결하는데만국한되지않고, 서로다른독립형프로그램간에도연결할수있습니다. 이기능은수동개입없이피킹시퀀스에서가공경로로이동하는것과같은복잡한작업을연결하는데매우유용합니다.

이기능을사용하려면Target Selector 인터페이스에서별도의프로그램 항목을선택하여첫번째프로그램의종료상태에서두번째프로그램의시작상태까지안전한전환경로를계산합니다.

Smart Motion - 영상 19

이애드인은첫번째프로그램의마지막동작과다음프로그램의첫번째동작을식별하여두프로그램을연결함으로써, 두프로그램사이에연결경로를효과적으로생성합니다.

스마트 모션 대 충돌 방지 모션 플래너

RoboDK에서스마트모션(Smart Motion)과충돌방지모션플래너(PRM)는모두로봇이장애물에부딪히지않고이동할수있도록설계되었습니다. 그러나두기능은서로다른수학적계산방식과워크플로를사용하여작업을수행합니다.

충돌방지모션플래너의모션플래닝기능은 “확률적로드맵(PRM)”이라는모션플래닝알고리즘을사용하여로봇의작업공간내에서충돌이없는경로를자동으로생성합니다.

타겟 연결 방법

두모션플래너간의가장큰차이점은로봇이움직이기전에수행해야하는준비작업의양입니다.

PRM 플래너는영구적인도로망을구축하는것과유사한방식으로작동하는공구입니다. 먼저“건설단계”를실행하는데, 이단계에서는몇분동안무작위로점을배치하고이를거대한로드맵으로연결하려고시도합니다. 일단지도가완성되면 “도로”가이미구축되어있으므로경로를찾는데는순식간입니다. 하지만작업장내의테이블이나상자, 기타객체를단하나라도이동시키면지도전체가무용지물이되어처음부터다시구축해야합니다.

스마트모션(Smart Motion)은훨씬더유연하게설계되었습니다. 느린지도구축단계가없습니다. 로봇이현재정확히어디에있는지, 어디로가야하는지를파악한다음, 장애물을통과할수있는안전한 “터널”을찾아냅니다. 이는단한단계의과정입니다: 지점(타겟)을선택하고, ‘생성’을클릭하면로봇이이동합니다. 셀내의객체를이동시킨경우, 새로운지도가생성될때까지기다릴필요없이‘경로 생성’을 다시클릭하기만하면됩니다.

계산 시간

모션플래닝의속도는단순히로봇이움직이는속도뿐만아니라, 플래너가계산을완료하는데걸리는시간도포함합니다.

PRM 플래너의“쿼리단계”(맵에서경로찾기)는매우빠르지만, “구성단계”는매우오래걸립니다. 스테이션이항상고정되어있다면좋겠지만, 변경이빈번하게이루어지는경우에는시간이많이소요됩니다.

Smart Motion은단일 “A에서 B로” 이동문제를해결하는데놀라울정도로빠른알고리즘을사용합니다. 경로의양끝에서동시에검색을시작하여중간에서만나게됩니다. 덕분에대부분의일반적인작업에서 “생각하는시간”은거의느껴지지않습니다.

좁은 공간 내 항법

모든모션플래너의핵심은충돌감지및회피입니다. 따라서생성된안전경로의정밀도는매우중요한요소입니다.

PRM 플래너는매핑단계에서배치한무작위점들에의존합니다. 무작위점이좁은공간내부에위치하지않으면, 실제로충분한공간이있더라도로봇은막혀있다고판단합니다. 샘플 수를 늘리고샘플당 에지 수를 증가시키면더세밀한로드맵이생성되는데, 이는생성시간이더오래걸리지만더정밀한해결책을이끌어냅니다.

Smart Motion에는이러한까다로운지점을위한‘제약 공간(Constrained Space)’ 옵션이포함되어있습니다. 이옵션을활성화하면솔버는직교좌표계대신관절좌표계에서작동하도록강제됩니다. 이를통해포즈를테스트할때시스템이고유한관절구성을식별하도록보장함으로써, 단일직교포즈에대해여러가지가능한해가존재할때발생하는문제를방지합니다. 요컨대, 이는플래너가로봇의위치와구성을기억하여찾아낸경로가유지되도록돕습니다.

부드러움과 안전성

두모션플래너모두로봇이주변환경을얼마나 ‘신경쓸지’를제어할수있게해줍니다.

PRM 플래너를사용하여더부드럽거나안전한경로를얻으려면, ‘샘플 수’와‘샘플당 에지 수’를 그에따라늘려야합니다. 이렇게하면맵의품질은향상되지만대기시간이길어집니다.

Smart Motion은다음과같은제한이있는간단한‘경로 품질(Path Quality)’ 슬라이더를사용합니다:

1.거칠게(Coarse): 넓은개방공간에서즉시결과를얻기위해사용됩니다.

2.정밀: 이모드는복잡한작업에사용됩니다. 로봇이 “아주작은단계”를밟도록하여충돌을확인하고전체적으로부드러운경로를생성하도록합니다.