Skip to content

목차


뉴로메카 협동로봇 Indy

뉴로메카 협동로봇 인디 (Indy)는 뉴로메카에서 자체 개발한 리눅스 기반의 임베디드 제어기 STEP을 통해 동작됩니다. 인디를 제어하는 핵심 소프트웨어인 Indy Framework 는 협동로봇의 기구학, 동역학, 제어 알고리즘, 충돌감지 알고리즘 등 핵심적인 로보틱스 기능을 탑재하고 있습니다.

  • Indy Framework 는 로봇 비전문가 사용성 편의를 고려한 콘티 (Conty) 를 통해 누구나 쉽게 로봇을 프로그래밍 할 수 있도록 합니다.

  • Indy API 는 다양한 상위레벨 인터페이스를 제공하여 고급 사용자도 다양한 장비와 뉴로메카 로봇을 연동제어 할 수 있도록 합니다.

  • Indy SDK 는 로봇의 하위레벨의 토크/전류 입출력을 제어 할 수 있도록 개발환경을 제공합니다.
  • 사용자는 다양한 입출력 인터페이스 통해 로봇과 외부센서 신호를 송수신을 할 수 있으며 이를 통해 다양한 시스템통합 프로그래밍을 수행할 수 있습니다.

Note

본 온라인 매뉴얼은 Indy Framework v3.4.0 (Conty v3.4.0) 버전에 대한 것입니다. 이전 버전의 매뉴얼은 우측 상단의 예시 이미지 버튼을 누르시면 확인하실 수 있습니다.

Indy API

사용자는 Indy API를 이용하여 상위레벨 프로그래밍 인터페이스를 구현할 수 있습니다. gRPC 기반의 IndyDCP3, 산업용으로 널리쓰이는 모드버스 TCP, 그리고 TCP/IP 기반의 IndyDCP2 세 가지 API가 제공됩니다. 또한 다양한 언어로 작성된 예제코드와 사용법에 대한 설명을 제공합니다.

Indy SDK

IndySDK는 연구용 플랫폼으로서 사용자가 직접 계산한 토크를 로봇의 모든 관절에 입력 할 수 있도록 개발환경을 제공합니다. 사용자는 인디에 기본적으로 내장되어 있는 로우레벨 제어기 (nonlinear \mathcal{H}_\infty optimal control)를 다른 제어기로 대체할 수 있습니다. 또한 힘/토크 센서와 같은 외수용성 센서를 활용하여 임피던스/어드미턴스 제어기를 설계한 후 이를 쉽게 구현 할 수 있습니다. IndySDK를 활용하면 Indy Framework 의 강력한 기능들 (Conty, Indy API)을 그대로 사용할 수 있음과 동시에 연구자가 직접 개발한 로봇제어기만을 인디에 이식할 수 있기 때문에 제어기 프로토타이핑에 굉장히 유용하게 사용될 수 있습니다. 본 장에서는 다양한 제어 예제들을 기반으로 IndySDK의 활용방법에 대해 설명합니다.

ROS

ROS (Robot Operating System)는 다양한 로보틱스 관련 라이브러리와 개발환경을 제공하는 오픈소스 소프트웨어 플랫폼입니다. 본 장은 ROS 패키지 중 매니퓰레이터 연구에 많이 사용되는 MoveIt!, RViz, and Gazebo에 대한 설치 방법과 인디와의 연동방법에 대해 설명합니다.

ROS2

ROS2 (Robot Operating System 2) 기존의 ROS를 기반으로 모듈성, 확장성, 그리고 상호 운용성을 향상시킨 로봇 운영 플랫폼입니다.

뉴로메카 로봇비전 IndyEye

인디아이 (IndyEye)는 뉴로메카의 협동로봇에 탑재된 비전 솔루션입니다. 딥러닝 기반의 물체 감지와 분류 (검사) 기능을 제공하며, 자동화된 작업물 데이터 수집과 원격 학습 서비스를 통해 딥러닝 알고리즘을 현장 작업물에 쉽게 적용할 수 있습니다. 이 장에서는 IndyEye의 기본 사용법부터 작업물 데이터 수집, 알고리즘 학습과 물체 감지를 수행하는 방법에 대해 설명합니다. 더불어 통신 프로토콜과 이를 이용한 픽 앤 플레이스 구현 예제도 제공됩니다.

뉴로메카 자율주행 이동로봇 Moby

Moby Framework 는 뉴로메카의 모바일매니퓰레이터 제어 소프트웨어 프레임워크이며, 뉴로메카에서 자체 개발한 리눅스 기반의 임베디드 제어기 STEP3에서 실행됩니다. 모바일로봇의 바퀴 구동과 협동로봇의 관절구동을 하나의 제어기에서 동기제어 할 수 있어서 전신제어 (whole-body control) 기능을 구현할 수 있습니다.

뉴로메카 협동로봇 NURI 시리즈

NURI 협동로봇 시리즈 는 여러 제조사와 다양한 형태의 로봇을 뉴로메카의 제어기와 티치펜던트를 이용하여 통일된 방식으로 사용할 수있도록 구성된 로봇 플랫폼 생태계입니다. 로봇 비전문가 사용성 편의를 고려한 콘티 (Conty) 를 통해 누구나 쉽게 로봇을 프로그래밍 할 수 있도록 합니다.

  • NURI SDK은 누리(NURI)로봇의 구동제어에 대한 프로토콜을 제공합니다.

뉴로메카 실시간 이더켓 마스터 STEP

STEP 은 리눅스 기반의 로봇전용 임베디드 제어기로써 실시간 제어를 위해 Hard Realtime OS인 Linux/Xenomi 환경에서 실시간 제어 응용프로그램 개발을 위한 소프트웨어 프레임워크인 PlatformSDK를 제공합니다. 리눅스 환경에 익숙하지 않은 엔지니어들도 쉽게 임베디드 제어 프로그램을 개발할 수 있도록 MS 윈도우® OS에서 작동되는 개발환경을 제공합니다.

다축, 동기화 고속 실시간 분산제어를 위해 STEP은 많은 시스템에서 검증된 오픈소스 이더캣 (EtherCAT) 마스터 스택인 EtherLab을 채용하고 있습니다. 표준 EtherCAT 기반의 실시간 제어 응용프로그램 개발을 위해 CoE (CANopen-over-EtherCAT) 프로토콜 기반 프로그래밍 인터페이스를 제공합니다. STEP은 다양한 디바이스들의 연결을 위해 RS485 및 CAN 인터페이스를 표준으로 내장하고 있으며, 기본적인 CoE 기반 응용프로그램 코드의 자동 생성 기능과 다양한 소프트웨어 도구들을 제공합니다. PlatformSDK에는 CAN 기반 응용프로그램의 개발을 위해 실시간 CAN 기능과 오픈소스 CANOpen 프레임워크 소프트웨어인 CanFestival이 설치 되어 있습니다.

뉴로메카는 STEP의 쉬운 사용을 위해 이더켓 슬레이브들의 PDO, SDO 매핑 및 슬레이브 인터페이스를 자동으로 구성해주는 GUI 툴을 제공합니다. 이러한 강력한 기능을 통해 다축 액츄에이터에 대한 Hard realtime 제어가 요구되는 분야에 손쉽게 활용될 수 있습니다. 본 장에서는 STEP의 소프트웨어 프레임워크인 PlatformSDK의 사용법에 대해 설명합니다. STEP의 이더켓 시스템인터페이스 구성 방법 및 자동 코드생성에 대해서는 EtherCAT 챕터에서 다루며 step-by-step 예제를 제공합니다.

EtherCAT

본 장은 STEP을 이용하여 이더켓 시스템인터페이스를 자동으로 구성할 수 있는 GUI 툴인 ECatService 사용법에 대해 설명합니다. 이를 통해 사용자는 여러 축의 슬레이브 (액츄에이터 및 센서)를 이더켓 마스터 STEP에 연결하여 PDO, SDO 매핑을 손쉽게 수행할 수 있습니다. 또한 코드 자동생성 기능을 통해 이더켓 통신과 Xenomai의 실시간 프로세스를 이용하는 응용 소프트웨어 개발이 가능합니다. 뉴로메카에서 개발한 스마트액츄에이터 (CORE)의 시스템인터페이스 구성에 대한 step-by-step 예제 뿐만 아니라 타사의 이더켓 슬레이브 디바이스 (Maxon motor, Beckhoff)에 대한 시스템인터페이스 구성 예제도 제공합니다.

뉴로메카 스마트액추에이터 CORE

CORE 는 로봇 및 자동화 시스템을 위한 스마트 엑츄에이터 모듈입니다. CORE 는 CORE100, CORE200, CORE500 3 종류가 있으며 각각 100W, 200W, 500W 모듈입니다. 각 CORE 모듈은 하모닉 드라이브, BLDC 모터, 브레이크, 앱솔루트 엔코더(멀티턴, 16-bit) 및 모터 드라이버의 조합입니다. CORE 는 CiA402 모션 프로파일 준수하여 EtherCAT 통신 인터페이스를 사용합니다.