상세보기

지능형 로봇 모션 프로파일을 위한 EtherCAT 구현 기술 지능형 로봇 모션 프로파일을 위한 EtherCAT 구현 기술 김재호 기자입력 2011-12-23 00:00:00

로봇통신의 대세 EtherCAT

지능형 로봇 모션 프로파일을 위한 EtherCAT 구현 기술

 

 

최근 로봇 통신 네트워크 방식에 있어 EtherCAT이 자주 등장한다. 이는 비단 제조업용 관련 로봇에만 적용되는 이야기가 아니다. 분야를 떠나 로봇업계에서는 이미 통신 속도, 모션 동기화, 디바이스 구조화 모델 등을 고려했을 때 EtherCAT이 ‘대세’라고 말하고 있기 때문이다. 본 지면에서는 지능형 로봇 모션 프로파일을 위한 EtherCAT 구현 기술에 대해 살펴봤다.

 

로봇 모션 프로파일이란 로봇을 개발하거나 사용함에 있어 표준화된 공용의 하드웨어 인터페이스 및 운용 인터페이스 방식을 적용하기 위한 하드웨어, 소프트웨어 구조화 기술로서 궁극적으로는 모든 로봇이 공용의 하드웨어 인터페이스 및 공용의 모션 인터페이스 방식을 사용해 로봇 디바이스들의 재사용성(Reuse)과 상호운용성(Interoperability)을 극대화 하고자하는 것이다. 즉, 서로 다른 환경에서 개발된 로봇 디바이스들을 통합하기 위한 별도의 추가적인 하드웨어 및 소프트웨어 인터페이스 과정 없이 하나의 통합 네트워크 시스템으로 묶어 서로 운용이 가능하도록 하고자 하는 것이다.


본문에서는 로봇 모션 프로파일화를 위하여 최근 로봇 모션 네트워크 기술로서 많은 연구 및 개발이 이루어지고 있는 EtherCAT(Ethrent for Control Automation) 통신을 기반으로 하는 로봇 모션 프로파일 구조를 도입하고 이를 검증하기 위한 개발 사례로서 EtherCAT 통신과 서보 드라이버 프로파일을 적용한 로봇용 서보 드라이버 모듈 구현에 대해 전반적으로 다뤄보고자 한다.
 
1. EtherCAT 기반의 로봇 모션 프로파일 구조
표준화된 로봇 모션 프로파일의 구현을 위해 필요한 사항으로는 서로 다른 로봇 하드웨어 디바이스의 통합을 위한 ‘표준화된 제어 네트워크 방식’과, 통합된 환경에서 분산된 장치들의 운용 및 제어를 위한 ‘표준화된 디바이스 프로파일’ 이렇게 2가지 항목이라 할 수 있다.


그림 1은 EtherCAT 통신과 로봇용 모션 프로파일을 적용한 통한 로봇 제어 네트워크 시스템의 개념적인 구조를 나타낸다. 통신 네트워크 방식의 경우 현재 지능형 로봇의 네트워크 방식의 통신 속도, 모션 동기화, 디바이스 구조화 모델 등을 종합적으로 봤을 때 EtherCAT 통신 방식이 대세이자 최적의 솔루션이라 할 수 있다. 디바이스 프로파일 기술은 사용자 응용층의 표준화 기술로서 각각의 로봇용 디바이스들의 어플리케이션에 대한 표준화를 의미한다.

이러한 디바이스 프로파일의 적용은 기존 EtherCAT 통신의 사용자 응용층에서 지원하는 자동화 기기용 디바이스 프로파일을 이용하여 로봇에 필요한 로봇 서보드라이버 프로파일, 로봇 센서 프로파일, 로봇 제어기 프로파일, 로봇 IO 프로파일 등으로 수정 및 확장 적용하는 방식을 제안한다. 이와 같은 구조가 적용된 EtherCAT 하드웨어 디바이스 모델을 다시 정의하면 그림 2와 같다.

 

2. EtherCAT 모션 드라이버 하드웨어 구조
로봇용 모션 드라이버 프로파일을 만족하는 ‘EtherCAT 모션 드라이버 구현을 위한 하드웨어 구조’는 크게 ▲EtherCAT 통신의 100Mbps 통신 인터페이스를 담당하는 물리층(Physical Layer) ▲EtherCAT 통신 데이터 및 모션 네트워크 제어 기능을 담당하는(Data Link Layer) ▲EtherCAT 통신 서비스가 구현되는 응용층(Application Layer) ▲로봇용 서보드라이버 모션 프로파일 및 연관된 서보 제어 회로가 구현되는 서보제어층(Servo Control Layer) 이렇게 4가지 영역으로 구분이 된다. 그림 3은 이를 도식화한 계층도이다.


EtherCAT 통신의 물리층은 범용 Ethernet 통신의 물리층 표준인 IEEE 802.3을 준수하고 있기 때문에 일반 이더넷 통신의 물리 계층과 동일한 하드웨어 구조로 설계가 된다.  EtherCAT 데이터 링크층은 EtherCAT 통신 및 모션 네트워크 수행을 위한 핵심 층으로서 이 부분에서는 전용의 네트워크 제어칩인 ESC(EtherCAT Network Controller)를 적용해 주어야 하며, 추가적으로 EtherCAT 슬레이브 모듈 구성정보의 저장을 위한 SII(Slave Information Interface) EEPROM을 설계해 주어야 한다.


EtherCAT 응용층은 EtherCAT 통신 서비스를 결정하는 통신 스택이 탑재되는 영역으로서 사용자 펌웨어 탑재가 가능한 MCU 등을 설계해 주면 된다.응용층 하드웨어 설계 시 핵심은 하위 데이터링크층과 응용층간의 데이터 교환에 사용되는 PDI(Process Data Interface)의 구성이 가장 중요하며, PDI의 타입은 적용된 ESC 하드웨어의 사양을 참고하면 된다. 사용자 응용층에 해당하는 서보제어층에서는 로봇용 서보드라이버제어를 위한 표준 모션 프로파일과 서보 구동 및 제어 관련 회로를 구성하여 설계해 주면 된다.


그림 4는 앞서 설명한 그림3의 EtherCAT 모션 드라이버 구조를 적용하여 개발한 본 사의 EtherCAT 모션 드라이버 모듈인 KINESTHESIA 모듈의 개략적인 하드웨어 구조를 나타낸다.

 


3. EtherCAT 통신 스택 및 서보 드라이버 프로파일 구현
표준 EtherCAT 통신 프로토콜의 경우 산업자동화 환경에 최적화된 고속의 모션 네트워크 프로토콜로서 종래에 로봇에 많이 사용되었던 칩 레벨의 통신 인터페이스들과는 달리 자동화용 네트워크 프로토콜(예 : 필드버스 등)에서 많이 적용이 되는 OSI 계층의 응용계층(Application Layer)을 별도로 정의하고 있다. 즉, 하드웨어 모듈이 정상적으로 개발이 되었다고 하더라도 응용계층에 대한 통신 서비스가 구현되지 않은 경우에는 통신이 이루어지지는 않는다는 것이다.


EtherCAT 디바이스가 정상적으로 임무를 수행하기 위해서는 EtherCAT 응용계층에 해당되는 ‘AL 통신 스택(Communication Stack)’을 구현해 주어야 한다. 그리고 또한 표준화된 로봇 모션 어플리케이션의 사용을 위한 ‘디바이스 프로파일(Device Profile)’ 부분 역시 별로도 구현해 주어야 한다.


본문에서 참조 모델로서 사용된 레드원테크놀로지(주)의 KINESTHESIA 모듈은 EtherCAT 응용계층의 통신 스택으로 CoE(CANOpen over EtherCAT)를 적용하였다. 그리고 로봇 모션을 위한 서보 드라이버 프로파일로는 Cia402 모션 프로파일을 적용하였다. 세부적인 개발 구조는 그림 5와 같다.


각각의 서비스들에 대한 세부적인 기능은 다음과 같다.

*ESM Servicet : EtherCAT State Machine의 동작 및 이와 연관된 각종 서비스를 제어하는 서비스 기능을 수행한다.
*CoE Mapping : CoE 서비스 중 Cyclic PDO 객체들에 대한 Mapping 기능을 수행하는데, 구현 방식에 따라 다양한 Mapping 기법이 존재 한다(No Mapping, Readable PDO Mapping, Selectable PDO Mapping, Variable PDO Mapping 등).
*Mailbox Handler : 상위 제어기와 EtherCAT 슬레이브 디바이스 간의 Mailbox Hand Shake통신을 위한 통신 제어 기능을 수행한다.
*CoE Service : Mailbox 기반의 CoE 통신 입출력 서비스들에 대한 처리 기능을 수행한다.
*SDO/PDO : CoE 통신의 세부 기능별(Request, Response, Information) 처리 기능을 수행한다.
*Object Dictionary : 통신 서비스 객체 및 모션 프로파일 객체들을 종합적으로 관리하는 가상의 메모리 기능을 수행한다.
*Motion Profile : 표준 Cia402 모션 프로파일 기반으로 로봇 서보 드라이버의 모션(CSP, CSV, CST 등)을 제어한다.
*Backup : 객체 사전에 저장된 객체리스트 중 비휘발성 데이터를 저장하는 기능을 수행한다.

 

4. XML Device Description 파일 설계
표준화된 네트워크 기반 제어 디바이스들의 경우 상위 제어기에서 네트워크상에 분산된 슬레이브 디바이스들에 대한 정보를 인식하기 하기 위한 기술로 DD(Device Description) 기술을 사용한다. EtherCAT 통신 프로토콜의 경우 XML(eXtensible Markup Language) 기술을 이용한 DD 방식을 사용하여 개발 디바이스들에 대한 정보 및 디바이스 구조를 기술하는 형태를 취하고 있다.

 

그림 6은 EtherCAT 통신 프로토콜에서 제시하는 XML DD 파일 구현을 위한 XML 스키마 구조를 나타낸다.
개발된 EtherCAT 디바이스 용 XML DD 파일 설계 시 주의할 점은 하드웨어 관련 엘리먼트와 정보 기술용 엘리먼트에 대한 구분이 확실히 이루어져야 한다는 것이다. 그 이유는 정보 기술용 엘리먼트의 경우 하드웨어 동작에 영향을 미치지 않기 때문에 설계에 오류가 있더라도 상용 툴(TwinCAT, XML Spy 등)을 이용한 에러체크 및 수정이 용이하다.


그러나 하드웨어와 연관된 엘리먼트가 잘못 설계될 경우 하드웨어와의 네트워크 연동에 영향을 미치므로 문제 발생 시 문제의 원인이 하드웨어 문제인지 XML DD 파일의 설계 문제인지에 대한 파악이 어렵기 때문이다.


표 1은 표준 EtherCAT XML DD 스키마 엘리먼트 중 하드웨어 동작에 관련된 엘리먼트에 대한 정보를 나타낸다.

 그림 7은 레드원테크놀로지(주)에서 개발된 EtherCAT 모션 드라이버 모듈인 KINESTHESIA의 XML DD 파일의 일부를 나타낸다.
여기서 하드웨어 관련 엘리먼트인 RxPdo, TxPdo 엘리먼트가 존재하지 않는 이유는 KINESTHESIA 모듈의 경우 Modular Device Profile을 이용한 Selectable PDO Mapping 기술을 적용하고 있으므로 Pdo 정보를 기술해 줄 필요가 없기 때문이다.

 

5. CTT를 이용한 서보 모션 드라이버 기능 검증
개발된 EtherCAT 모션 디바이스에 대한 통신 기능 및 서비스에 대한 검증은 EtherCAT Conformance Test Tool(이하 CTT)을 이용하여 수행한다. CTT는 개발된 디바이스의 EtherCAT 통신을 위한 필수 요구사항 및 기능사항 등을 단계별로 체크함으로써 개발과정에서 발생할 수 있는 각종 에러 상황에 대한 파악을 가능하게 해 준다.


CTT를 이용한 검증 단계는 총 6단계로 이루어지며 각각에 단계에서 수행되는 체크 항목은 다음과 같다.


*Slave Information Test : 설계된 XML DD 파일의 필수 항목을 체크하고 XML DD 파일의 정보와 EtherCAT Slave(EtherCAT 모션 드라이버) 내의 SII EEPROM 설정 정보와의 정상적인 매칭이 이루어지는지에 대한 여부를 체크한다.
*Data Link Layer Test : Data Link Layer에서는 EtherCAT 통신 서비스 중 메일박스를 기반으로 하는 대표적인 서비스인 CoE(CANOpen over EtherCAT) 및 SoE (Sercos over EtherCAT) 서비스에 대한 기능을 체크한다. 즉, 핸드세이크 방식의 통신을 수행하는 메일박스에서 메일박스의 통신을 제어하는 메일박스 핸들러의 동작이 원활이 수행되는지에 대한 체크를 수행하는 과정이라 할 수 있다.
*EtherCAT State Machine : EtherCAT 상태 머신의 정상적인 동작을 체크하는 과정으로서 INIT~OP 등 모든 네트워크 상태에 대한 상태천이 여부 및 에러 상황 발생 시의 정상적인 에러응답 여부에 대한 체크를 수행한다.
*CoE SDO Information Test : 표준 EtherCAT CoE 통신 서비스의 SDO (Service Data Object) 서버의 기능을 체크하는 과정으로서 XML DD 상에 기술된 객체들의 접근 권한에 따른 업로드/다운로드 등의 기능이 정상적으로 수행되는지에 대한 여부를 체크한다.
*CoE OD Test : 표준 EtherCAT CoE 통신 스택을 구현하는 경우 요구되는 객체사전 내의 필수 객체 리스트에 대한 존재여부 및 접근 권한을 체크한다.
*Cia402 OD Test : CoE를 이용한 Cia402 모션 프로파일 구현 시 필수 구현 모드인 CSP(Cyclic Synchronous Postion), CSV(Cyclic Synchronous Velocity), SCT(Cyclic Synchronous Torque) 모드의 필수 객체들에 대한 XML DD 설계 및 OD 설계가 정상적으로 이루어졌는지에 대한 여부를 체크한다.

 

6. EtherCAT 서보 모션 드라이버 동작 검증
최종 개발 완료된 로봇 모션 프로파일 적용 EtherCAT 서보 드라이버의 동작 검증을 위하여 상용 EtherCAT 네트워크 관리 및 제어 툴인 TwinCAT을 활용하였다. 사용된 서보 모션 드라이버는 본 문에서 참조모델로 사용된 KINESTHESIA 모듈을 이용하였다. 동작 검증 결과 그림 9, 10과 같이 모듈형 슬롯 구조의 서보 드라이버 모션 모드를 정상적으로 지원하고 있으며 각종 서보 모션 드라이버용 파라미터가 온라인 창에 정상적으로 출력되는 것을 알 수 있다.

 


본문은 로봇의 표준화된 모션 프로파일를 위하여 국제표준 EtherCAT 통신과 로봇용 표준 모션 프로파일의 구조를 제안하고, 이를 구현하기 위한 전반적인 개발 과정을 개략적으로 소개하는데 중점을 두었다. 물론 아직까지는 로봇의 개발 구조가 개발사 고유의 하드웨어 기술 및 운용 방식으로 개발되어 지고 있는 것이 주류를 이루는 방식이다.
그러나 로봇 산업을 장기적인 관점으로 보았을 때 향후 로봇 산업은 로봇 플랫폼이 아닌 로봇의 각 장치들이 하나의 표준화된 부품으로 취급되는 산업 형태로 발전한 것이며, 이러한 시기가 왔을 때 로봇의 표준 프로파일 기술은 그 빛을 발할 것으로 생각된다.  

김재호 기자
로봇시대의 글로벌 리더를 만드는 로봇기술 뉴스레터 받기
전문보기
관련 뉴스
의견나누기 회원로그인
  • 자동등록방지