KUKA 로봇

RoboDK는 KUKA KRC3 및 KRC4 컨트롤러를포함하여 KRC2 이후모든 KUKA 로봇컨트롤러를지원합니다. 이문서는 KRC4 컨트롤러를기반으로합니다. KRC4 로봇컨트롤러는 Microsoft Embedded Windows 7 운영체제에서실행됩니다. KRC2와같은이전컨트롤러는 Windows 95에서실행됩니다. 로봇티치펜던트는 KUKA가 Windows에서실행하도록개발한프로그램인 "HMI"를표시하며로봇사용자가로봇을조작하는데사용하는인터페이스입니다.

다음섹션에서는 KUKA 로봇티치펜던트를사용하여 RoboDK에서새프로그램을준비하고이를로봇으로전송하는일반적인작업을설명합니다.

로봇 프로그램 전송

다음단계에따라 USB 디스크에서프로그램을작성하십시오.

1.로봇컨트롤러에 USB 디스크를삽입하십시오(티치펜던트연결을사용하는것보다훨씬빠름).

2.USB 디스크가보이지않으면관리자 모드로들어가십시오.

3.USB 디스크에서파일을선택하십시오.

4.편집 ➔ 복사를선택하십시오.

5.KRC 장치에서폴더를선택하십시오.

6.편집 ➔ 붙여넣기를선택하십시오.

Robots KUKA - 영상 1Robots KUKA - 영상 2

포스트 프로세서 동작

KUKA KRC 로봇컨트롤러용로봇프로그램을생성할때, 좌표계($BASE)와툴($TOOL)을 RoboDK에서입력한것과동일한좌표로정의하거나, 각각번호가매겨진좌표계와번호가매겨진툴로정의할수있습니다.

기본적으로 RoboDK는툴과좌표계의전체포즈(XYZABC 값)를 RoboDK에입력한것과동일한형식으로내보냅니다. 다음코드는 RoboDK가 KUKA SRC 로봇프로그램용으로생성하는내용의예입니다:

; ---- Setting tool (TCP) ----------

; TOOL_DATA[3]={FRAME: X 116.058,Y 0.0,Z 219.481,A 0.0,B 60.0,C 0.0}

$TOOL = {FRAME: X 116.058,Y 0.0,Z 219.481,A 0.0,B 60.0,C 0.0}

; $TOOL=TOOL_DATA[3]

; ----------------------------------

 

; ---- Setting reference (Base) ----

; BASE_DATA[1]={FRAME: X 640.289,Y -290.0,Z 0.0,A 90.0,B 0.0,C 0.0}

$BASE = {FRAME: X 640.289,Y -290.0,Z 0.0,A 90.0,B 0.0,C 0.0}

; $BASE = BASE_DATA[1]

; ----------------------------------

반면, 툴($TOOL 변수)과좌표계($BASE 변수)를번호가매겨진툴및기준좌표계에연결하고싶다면, 포스트프로세서에서다음변수를변경할수있습니다:

1.FRAME_INDEX: 이변수를 True로설정하면좌표계를번호가매겨진기준프레임에연결할수있습니다. 다음이미지와같이 RoboDK 스테이션에서기준좌표계에번호가지정되어있는지확인하십시오.

2.TOOL_INDEX: 이변수를 True로설정하면툴을번호가매겨진툴에연결할수있습니다. 다음이미지와같이 RoboDK 스테이션에서툴에번호가지정되어있는지확인하십시오.

Robots KUKA - 영상 3

로봇 프로그램 시작

KUKA KRC 컨트롤러에서로봇프로그램을시작하려면다음단계를수행하십시오.

1.KRC 메모리유닛에서프로그램을선택하십시오.

2.화면에서선택을선택하십시오.

3."R" 버튼(상단)을선택하고 프로그램 재설정을선택하십시오.

4.티치펜던트에서녹색 "재생" 버튼을선택하여프로그램을시작하십시오.

Robots KUKA - 영상 4Robots KUKA - 영상 5

TCP 검색

다음단계는로봇툴(KUKA KRC 로봇프로그래밍에서 $ BASE라고도알려진 TCP)을생성또는수정할수있도록합니다.

1.메뉴 ➔ 시작 ➔ 보정 ➔ 툴을선택하십시오.

2.툴을선택하고 TCP의 X, Y, Z 위치를편집하거나검색하십시오.

Robots KUKA - 영상 6Robots KUKA - 영상 7


로봇 조인트 검색

다음단계를수행하면로봇조인트를검색할수있습니다.

1.메뉴 ➔ 디스플레이 ➔ 실제 위치를선택하십시오.

2.조인트모드를선택하고왼쪽열을사용하여로봇조인트를가져옵니다.

Robots KUKA - 영상 8Robots KUKA - 영상 9

관리자 모드

일부메뉴섹션에는 "관리자" 권한이필요합니다. “관리자”모드로들어가려면다음단계를수행하십시오.

1.메뉴 ➔ 구성 ➔ 사용자 그룹을선택하십시오.

2.관리자(또는기타)를선택하십시오.

3.필요한경우비밀번호를입력하십시오(기본비밀번호는“kuka” 입니다).

Robots KUKA - 영상 10Robots KUKA - 영상 11


KUKA용 RoboDK 드라이버

로봇 드라이버는오프라인프로그래밍(프로그램이생성된다음로봇으로전송되어실행되는방식)의대안을제공합니다. 로봇드라이버를사용하면로봇에서직접시뮬레이션을실행할수있습니다(온라인프로그래밍). 자세한내용은로봇드라이버섹션을참조하십시오.

RoboDK와 KUKA 컨트롤러간의연결을설정하면컴퓨터에서로봇을자동으로움직일수있습니다. 이를통해온라인프로그래밍및디버깅을위해 RoboDK의로봇에서실행옵션을사용할수있습니다. 연결은표준이더넷연결(TCP/IP)을통해설정할수있습니다.

최신버전의 RoboDK를사용하고있지않다면, 레거시드라이버(KUKAVARPROXY 프로젝트기반의 apikuka)를사용하고있을수있습니다. 현재드라이버를사용하려면 로봇 연결 창의추가옵션섹션에서 kukabridge 드라이버가선택되어있는지확인하십시오.

Robots KUKA - 영상 12

KUKA용 RoboDK 드라이버를설정하려면다음단계를따르십시오:

1.최신 C3 Bridge 설치파일(c3setup 실행파일)을이 링크에서받으십시오.

2.KUKA HMI를사용하여 c3setup.exe 설치파일을컨트롤러의데스크탑또는제어시스템폴더로복사하십시오.

3.마우스를연결하십시오(선택사항이지만권장함). USB 장치를티치펜던트또는컨트롤러에연결하십시오(재부팅불필요). 또는원격데스크톱연결을설정할수있습니다. 티치펜던트의터치스크린과가상키보드를사용해도이단계를수행할수있습니다.

4.KUKA HMI 애플리케이션을사용하면화면왼쪽위의 KUKA 버튼으로주메뉴를열수있습니다:

a.KUKA → 구성 → 사용자그룹 → 관리자선택(암호: kuka)

b.KUKA → 시작 → 서비스 → HMI 최소화선택(Windows 화면이나타남)

5.앞서복사한 c3setup-X.Y.Z.exe (X.Y.Z는 Kukabridge의릴리스버전, 예: 1.7.1) 파일을찾아실행하십시오. 설치마법사의안내를따르십시오.

6.TCP/UDP 통신을위해포트 7000을허용하십시오(포트 7000이이미사용중인경우다른포트를사용하십시오. 아래참고참조)(KUKA KRC2 컨트롤러에서는이단계가필요하지않습니다):

a.HMI를복원하십시오.

b.KUKA → 시작 → 네트워크구성 → 고급

c.NAT → 포트추가 → 포트번호 7000

d.허용할프로토콜을설정하십시오: tcp/udp

7.데스크탑바로가기또는시작메뉴항목에서 C3 Bridge Server를시작하십시오(설치마지막단계에서 C3 Bridge Server 실행을선택했다면이단계는건너뛸수있습니다).

8.시스템이시작될때 C3 Bridge Server가자동으로시작되도록하려면, 데스크탑의애플리케이션바로가기를시작메뉴의시작프로그램폴더로복사하십시오.

9.Using the KUKA HMI application it is possible to open the main menu using the KUKA button Robots KUKA - 영상 13, at the top left of the screen:

a.Robots KUKA - 영상 14KUKA➔Configuration➔User group➔ choose Expert (password: kuka)

b.Robots KUKA - 영상 15KUKA➔Start-up➔Service➔Minimize HMI (the windows screen will appear)

c.Robots KUKA - 영상 16KUKA➔Start-up➔Network configuration➔Advanced

Robots KUKA - 영상 17 Robots KUKA - 영상 18 Robots KUKA - 영상 19

이제 C3 Bridge Server가준비되었습니다. 이프로그램은계속실행상태로둘수있습니다. 이서버를사용하면 KUKA 제어시스템과원격 PC 간에전역변수값을교환하고, KRL 프로그램을다운로드/업로드하고, KRL 프로그램의실행을제어할수있습니다.

제어시스템의추가설정은두가지방법으로수행할수있습니다: kukabridge 드라이버의대화형모드를이용한자동설정(KRC4 전용)과, KUKA HMI에서로봇제어시스템파일을편집하는수동설정입니다. 두가지방법을모두살펴보겠습니다.

C3 Bridge Server 포트 번호 변경

C3 Bridge Server는설정을 Windows 레지스트리에저장합니다. 네트워크포트를변경하려면다음단계를따르십시오:

1.C3 Bridge Server를종료하십시오.

2.레지스트리편집기를열고 HKEY_CURRENT_USER\SOFTWARE\C3 Bridge Interface로이동하십시오.

3.NetworkTcpPort 키의값을 7000이아닌다른값(예: 7001)으로변경하십시오.

4.C3 Bridge Server를다시시작하고이전 섹션의 6단계(적절한포트에대한액세스허용)를반복하십시오.

최신버전의 C3 Bridge Server(1.7.1 이상)는명령줄옵션을지원합니다. 특히 -tcpPort 매개변수를지정하여애플리케이션을실행하면서버의포트를변경할수있습니다. 예:

c3bridge.exe -tcpPort 7001

스크립트를 이용한 자동 설정

C:\RoboDK\Library\Scripts 폴더에있는 KUKA_Auto_Configuration.py 스크립트를사용하면 KUKA 제어시스템의자동설정을수행할수있습니다. 이를위해서는현재 RoboDK 스테이션에 로봇 연결 창에서올바른 IP 주소와포트가설정된 KUKA 로봇이하나이상있어야합니다. 이스크립트는메뉴의 Tools → Run Script에서실행하거나 Shift+S 단축키로호출할수있습니다.

Robots KUKA - 영상 20

자동 설정

전제조건: RoboDK 버전 5.5.2 이상, Windows 운영체제, 설치경로 C:\RoboDK.

1.START → All programs → Accessories → Command Prompt, 또는 START → Run → cmd로명령셸을여십시오.

2.C:\RoboDK\bin으로디렉터리를변경하고다음명령을실행하여 kukabridge.exe를시작하십시오:

c:

cd C:\RoboDK\bin

..\api\Robot\kukabridge.exe

1.이제 KUKA Bridge Driver가대화형모드로실행됩니다.

2.CONNECT <로봇 IP 주소> <포트> <로봇축수>를입력하여제어시스템에대한연결을설정하십시오. 예:

CONNECT 172.1.1.10 7000 6

1.성공하면다음과같은출력이표시됩니다:

SMS:Connecting

Connected

SMS:Working...

SMS:Ready

1.CJNT 명령을입력하여현재로봇관절위치를요청하십시오:

CJNT

SMS:Working...

JNTS 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000

SMS:Ready

1.CONFIGURE FORCE 명령으로자동설정을실행하십시오:

CONFIGURE FORCE

SMS:Working...

Requesting robot program state

Current robot program state is #P_FREE

Reading current configuration ($config.dat)

Read complete, updating configuration

Adding definition of variable COM_ACTION

Adding definition of variable COM_ACTCNT

Adding definition of variable COM_ROUNDM

Adding definition of variable COM_VALUE1

Adding definition of variable COM_VALUE2

Adding definition of variable COM_VALUE3

Adding definition of variable COM_VALUE4

Adding definition of variable COM_E6AXIS

Adding definition of variable COM_FRAME

Adding definition of variable COM_POS

Adding definition of variable COM_E6POS

Configuration lines have been updated: 11 added, 0 removed, 0 updated, 659 total

Checking existence of old backup file ($config.bak)

Old backup file exists, deleting it

Creating new backup file ($config.bak)

Backup completed, writing new configuration

New configuration was successfully written

Checking existence of program file (RoboDKsync543.src)

Program file does not exists

Writing program file to robot system

Configuration is complete

SMS:Ready

Robots KUKA - 영상 21

1.이제로봇이준비되었습니다. RoboDKsyncVER.src 프로그램(VER은동기화프로그램의버전, 예: 543)을선택하여 실행하기만하면됩니다.

수동 설정

다음단계는로봇동작을처리할메인프로그램을수동으로설정하기위한것입니다:

1.다음전역변수선언을추가하십시오. 이를위해서는 KUKA HMI를통해파일 "KRC:\R1\SYSTEM\$CONFIG.DAT"를찾아편집하십시오. "KRC:\R1\" 폴더는 Windows 경로 "C:\KRC\ROBOTER\KRC\"를통해 C: 드라이브에서도액세스할수있습니다.

INT COM_ACTION=0

INT COM_ACTCNT=0

REAL COM_ROUNDM=0

REAL COM_VALUE1=0

REAL COM_VALUE2=0

REAL COM_VALUE3=0

REAL COM_VALUE4=0

DECL E6AXIS COM_E6AXIS

DECL FRAME COM_FRAME

DECL POS COM_POS

DECL E6POS COM_E6POS

1.KUKA SRC 프로그램 RoboDKsyncVER.src를 KRC\R1\PROGRAM 폴더로복사하십시오. 파일이름의 VER 접미사는프로그램버전을나타냅니다(예: RoboDKsync543.src).

2.RoboDKsyncVER.src 프로그램을수동으로시작하여로봇이컴퓨터로부터의명령을기다리도록하십시오.

RoboDKsyncVER.src 프로그램이실행되고있지않아도, 로봇컨트롤러에서 C3 Bridge Server가실행중이면 RoboDK는로봇관절을읽을수있습니다.

KUKA용 레거시 드라이버(Kukavarproxy)

로봇드라이버는오프라인프로그래밍(프로그램이생성된다음로봇으로전송되어실행되는)의대안을제공합니다. 로봇드라이버를사용하면로봇에서직접시뮬레이션을실행할수있습니다(온라인프로그래밍). 로봇 드라이버섹션에자세한정보가있습니다.

RoboDK를사용하여연결된 PC에서로봇을자동으로이동시키기위해 RoboDK와 KUKA 로봇간의연결을설정할수있습니다. 이를통해온라인프로그래밍및디버깅을위해RoboDK 로봇에서 실행옵션을사용할수있습니다. 표준이더넷연결(TCP / IP)을통해연결을설정할수있습니다.

KUKA 용 RoboDK 드라이버를설정하려면다음단계를수행하십시오.

3.마우스를연결하십시오(선택사항이지만권장함).          
USB 장치를티치펜던트또는컨트롤러에연결하십시오(재부팅불필요).           
또는원격데스크톱연결을설정할수있습니다.        
티치펜던트의터치스크린과가상키보드를사용하여이단계를수행할수도있습니다.

4.KUKA HMI 애플리케이션을사용하면화면왼쪽위의 KUKA 버튼Robots KUKA - 영상 22을사용하여주메뉴를열수있습니다.

a.Robots KUKA - 영상 23 KUKA ➔ 구성 ➔ 사용자 그룹 ➔관리자선택(암호: kuka)

b.Robots KUKA - 영상 24 KUKA➔ 시작 ➔ 서비스 ➔ HMI 최소화선택(Windows 화면이나타남)

5.KUKAVARPROXY 폴더를데스크탑(또는컨트롤러 PC)에복사하십시오.

6.TCP / UDP 통신을위해포트 7000을허용하십시오(KUKA KRC2 컨트롤러에서는이단계가필요하지않습니다).

a.HMI를선택하십시오.

b.Robots KUKA - 영상 25 KUKA ➔ 시작 ➔ 네트워크 구성 ➔ 고급

c.NAT ➔ 포트 추가 ➔포트번호 7000

d.허용된프로토콜을설정하십시오. tcp/udp

7.로봇컨트롤러에서 KUKAVARPROXY.EXE 프로그램을시작하십시오(Windows에서실행).

8.이단계를통해재부팅시컨트롤러에서드라이버를자동으로시작할수있습니다(권장).

a.KUKAVARPROXY.EXE 파일의바로가기를만드십시오.

b.Windows 시작 ➔ 모든 프로그램 ➔ 시작 우측 클릭 ➔ 열기를선택하십시오.

c.시작폴더에바로가기를붙어넣기하십시오.

KUKAVARPROXY 서버가준비되었습니다. 이프로그램을계속실행시킬수있습니다. 이서버를사용하면 KUKA 컨트롤러에서원격 PC로글로벌변수를교환할수있습니다.

다음단계는로봇움직임을처리할기본프로그램을설정하는것입니다.

1.다음과같은전역변수선언을추가하십시오.
이렇게하려면파일“KRC\R1\STEU\$config.dat”(또는 KRC2 컨트롤러의경우“KRC\R1\System\$config.dat”)를찾아수정하십시오. "KRC\R1\" 폴더는 C:\드라이브에서다음 Windows 경로의 "C:\KRC\ROBOTER\KRC\"에도액세스할수있습니다.

INT COM_ACTION=0

INT COM_ACTCNT=0

REAL COM_ROUNDM=0

REAL COM_VALUE1=0

REAL COM_VALUE2=0

REAL COM_VALUE3=0

REAL COM_VALUE4=0

DECL E6AXIS COM_E6AXIS

DECL FRAME COM_FRAME

DECL POS COM_POS

2.제공된 SRC 프로그램(RoboDKsynch.src)을KRC \ R1폴더에복사하십시오.

3.RoboDKsynch.src프로그램을수동으로시작하여로봇이 PC에서오는명령이동에응답하는서버처럼동작하도록하십시오.

RoboDKsynch.src 프로그램이실행중이아닌경우, 로봇컨트롤러에서 KUKAVARPROXY 프로그램이실행중이면언제든지 RoboDK가로봇조인트를인식할수있습니다.

문제 해결

이섹션에서는 RoboDK에서 KUKA 로봇드라이버를사용할때발생할수있는문제를파악, 진단및해결하는방법을설명합니다.

포트 7000 사용 가능 여부 확인

포트 7000 관련문제를해결하려면 KUKA 컨트롤러에서 Expert 사용자그룹으로진입해야합니다.

1.KUKA → Configuration → User group → Expert 선택(암호: kuka)

2.KUKA → Start-up → Service → Minimize HMI 선택(Windows 화면이나타남)

3.START → All programs → Accessories → Command Prompt, 또는 START → Run → cmd로명령셸을여십시오.

4.다음명령을사용하여모든연결및리스닝포트목록을요청하십시오:

netstat -a -b -n -o -p TCP | findstr :7000

1.응답에아무문자열도포함되어있지않다면포트 7000은비어있으며드라이버작동에사용할수있습니다. 이후단계는건너뛸수있습니다.

2.4단계명령에대한응답이다음과같았다면:

TCP    0.0.0.0:7000           0.0.0.0:0              LISTENING       1840

1.위줄의마지막숫자가프로세스 ID(PID)입니다. 이를사용하여다음명령으로프로세스이름에대한정보를얻을수있습니다(1840 대신본인의번호를사용하십시오):

tasklist /fi "PID eq 1840"

1.tasklist 명령의결과에는포트 7000에서리스닝중인프로세스에대한정보가포함됩니다. 출력예:

Image Name                     PID Session Name        Session#    Mem Usage

========================= ======== ================ =========== ============

c3bridge.exe                  1840 Console                    1      5,912 K

1.포트가 KukavarProxy.exe 또는 c3bridge.exe 프로세스에의해사용되고있다면, 시스템은선택한드라이버로작동할준비가된것입니다. 포트가다른애플리케이션에의해사용되고있다면, 해당애플리케이션을종료하거나 C3 Bridge Server의포트 번호를 변경해야합니다.

레거시 드라이버 제거

KUKAVARPROXY를사용해왔고 C3 Bridge Server로업그레이드하려는경우, 특별한제거절차는필요하지않습니다. KUKA HMI를최소화하고 KUKAVARPROXY를종료한다음, 시스템시작시자동으로로드되지않도록하십시오(START → All programs → Startup에바로가기가없어야함). KUKAVARPROXY 실행파일을삭제할필요는없습니다.

구성 오류

제어시스템의 자동 설정또는 수동 설정절차가실패할수있습니다. 대부분의경우이는 $config.dat 파일을덮어쓸수없기때문입니다. 이파일은상급권한(Expert)을가진사용자만편집할수있습니다. 또한로봇및서브밋의모든인터프리터가정지되어있어야합니다. 로봇인터프리터를정지하려면선택된프로그램을취소하거나, 제어시스템을방금로드했다면프로그램을선택하지않은상태로두십시오. 서브밋인터프리터를취소하려면아래그림과같이 KRC2 시스템과 KRC4 시스템각각에서 HMI를사용하십시오:

모든인터프리터를정지한후에도 $config.dat 파일이여전히잠겨있다면, 로봇제어시스템의소프트웨어부분실행을완전히정지할수있습니다. KRC2 시스템에서는상태표시기(S I R) 옆의사각형영역을클릭한다음 Exit 버튼을클릭하십시오:

KRC4 시스템에서는트레이영역의녹색로봇아이콘을클릭하고 Stop KRC를선택하십시오:

제어소프트웨어를정지한후, 파일 C:\KRC\ROBOTER\KRC\R1\System\$config.dat를원하는텍스트편집기로수정할수있습니다. 변경사항을적용하려면운영체제를재시작하십시오.

외부 축

턴테이블과같은외부축이있는경우에도 KUKA 로봇컨트롤러에서드라이버와포스트프로세서를사용할수있어야합니다. 로봇컨트롤러에이미정의되어있는, 번호가매겨진좌표계또는올바른머신정의를가진좌표계를사용하는것이좋습니다.

다음 KUKA 로봇컨트롤러파일들은 KUKA 시스템이어떻게구성되어있는지이해하는데도움이됩니다:

1.KRC\R1\System\$config.dat

2.KRC\R1\System\bas.src

3.KRC\R1\Mada\$machine.dat

턴테이블이있는경우, 턴테이블원점의위치는 config.dat 파일의 MACHINE_DEF 변수에정의되어있어야합니다. 시스템을설치한담당자는 BAS 함수를기반으로동기화된턴테이블을사용하여프로그램을생성하는예제를제공했을것입니다.

예를들어 SRC 파일에서 ex_BASE 플래그와특정인덱스(예: 인덱스 9)를사용하여 BAS 함수를호출하는경우:

BASE_DATA[9] = {FRAME: X 0, Y 0, Z 0, A 0, B 0, C 0}

BAS(#ex_BASE,9)

이는 MACHINE_FRAME_DATA의인덱스 9를사용하고자함을의미합니다. 또한컨트롤러가기본적으로참조하는머신인덱스(MACH_IDX)가무엇인지확인하기위해 BAS 및 EX_BASE 정의도확인해야합니다. SRC 파일에서 BAS 함수를호출하기직전에정의되는 BASE_DATA 배열은턴테이블에부착된지그의오프셋에불과할수도있습니다.

로봇암과동기화된턴테이블이있는경우, 포스트프로세서또는드라이버에서 $BASE 변수를수동으로변경하여턴테이블원점으로설정해야할수있습니다.

예를들어 BASE_DATA의인덱스 9를사용할수있는경우, 드라이버에서다음코드를사용해야합니다.

  ;--------

  ; Replace this the $BASE definition by the following 2 lines

  ;    to make the KUKA RoboDKSynch driver work with external axes:

  ; $BASE = {FRAME: X 0, Y 0, Z 0, A 0, B 0, C 0} ; Comment this line

  BASE_DATA[9] = {FRAME: X 0, Y 0, Z 0, A 0, B 0, C 0}

  BAS(#ex_BASE,9)

  ; the BAS ex_BASE function links to a fixed MACHINE_DEF index

  ;   visible in the BAS function

 

  ; The previous two lines are equivalent to the following,

  ;   if the BAS function uses index 2 for the Machine definition

  ; BASE_DATA[9] = {FRAME: X 0, Y 0, Z 0, A 0, B 0, C 0}

  ; $BASE=EK(MACHINE_DEF[2].ROOT,MACHINE_DEF[2].MECH_TYPE,BASE_DATA[9])

  ;--------

$BASE=EK(EX_AX_DATA[1].ROOT,EX_AX_DATA[1].EX_KIN,EX_AX_DATA[1].OFFSET)

포스트프로세서에서턴테이블과지그사이의오프셋을고려하고싶다면, 포스트프로세서의 setFrame 함수에서이전줄을이 $BASE 정의로대체할수있습니다:

$BASE=EK(MACHINE_DEF[2].ROOT, MACHINE_DEF[2].MECH_TYPE, {%s})' % self.pose_2_str(pose)

또는드라이버를사용하는경우, 아래설명된절차에따라좌표계를분리할수도있습니다(따라서 RoboDK 내에서외부축의운동학을완전히일치시킬필요가없습니다).

예를들어 RoboDK 드라이버를기본값으로사용하려면, 로봇컨트롤러에서정의된외부축의운동학이 RoboDK에서생성된운동학과일치해야합니다. 또한턴테이블이있는경우, 턴테이블의루트포인트가 RoboDK에서정의된턴테이블위치와일치해야합니다.

알려진좌표계를사용하여드라이버를사용하려면다음단계를따르십시오:

1.Tools→Options의 Drivers 탭을선택합니다.

2.Provide Cartesian coordinates with respect to the reference 옵션을켭니다.

Robots KUKA - 영상 26

1.RoboDKsync.src 프로그램파일의 $BASE 변수를사용하려는좌표계로바꿉니다.

예를들어기준좌표계번호 5를사용하고싶다면, RoboDKsync.src 파일은다음과같습니다(첫번째줄은주석처리되어있으며 25번째줄부근에있습니다):

; $BASE = {FRAME: X 0,Y 0,Z 0,A 0,B 0,C 0}

$BASE = BASE_DATA[5]

이좌표계는 KUKA 로봇컨트롤러내에미리정의되어있어야하며, RoboDK는이값을덮어쓰지않습니다.

로봇 캘리브레이션

RoboDK를사용하면 KUKA의 Absolute Accuracy 옵션으로이미캘리브레이션된 KUKA 로봇을캘리브레이션할수있습니다. 다만 KUKA 로봇컨트롤러에서이옵션을비활성화해야합니다. Absolute Accuracy 옵션으로이미캘리브레이션된 KUKA 로봇을캘리브레이션할때는 RoboDK에서캘리브레이션할수있도록이옵션을비활성화하는것이중요합니다.

KUKA의 Absolute Accuracy를비활성화하려면변수 DEACTIVATE_ABS_ACCUR을 TRUE로설정해야합니다. 이변수는파일 KRC:\STEU\MADA\$custom.dat(73번째줄부근)에있습니다.

KUKA의 Absolute Accuracy 옵션이올바르게비활성화되었는지확인하려면, 로봇을알려진위치로이동시킨다음(예: 실제로봇과 RoboDK 양쪽에서로봇축을홈위치로이동), 로봇컨트롤러에표시되는데카르트위치가 RoboDK에표시되는데카르트위치와일치하는지확인하십시오.