시작하기
개요
IndySDK 는 Indy 제어프레임워크(Indy Frmaework)의 확장성과 유연성을 높이기 위해 설계된 연구용 개발환경 입니다.
-
Indy Frmaework 는 뉴로메카 Indy을 구동시키는 핵심 소프트웨어 프레임워크입니다.
-
IndySDK 는 IndyFramework 2.0을 기반으로 개발된 확장 프레임워크이며, 비영리 연구기관에게 연구 목적으로만 제공됩니다.
IndySDK는 개발자에게 다음과 같은 이점을 제공합니다.
-
호환성: 뉴로메카의 Indy Framework가 제공하는 다양한 기능들을 API와 SDK를 통해 쉽게 접근할 수 있으며, 통신프로토콜과 티칭팬던트 연동 기능을 그대로 활용할 수 있습니다.
-
재사용성: IndySDK의 컴포넌트 방식 소프트웨어 아키텍처는 재사용성을 보장합니다.
-
간편성: 컴포넌트의 프로젝트 템플릿이 Eclipe 개발환경에서 플러그인으로 제공됩니다.
개발자는 IndySDK를 이용하여 Indy Framework이 제공하는 로봇제어의 핵심 컴포넌트인 로봇의 기구학적 동역학적 모델, 관절공간 제어기, 작업공간 제어기, 관절공간 궤적 인터폴레이터 및 작업공간 궤적 인터폴레이터 등 에 대한 직접 개발이 가능합니다. 즉, IndySDK를 이용해서 개발자가 직접 개발한 위치제어, 힘제어, 임피던스 제어 알고리즘 등을 Indy Frmawork에 쉽게 이식할 수 있습니다.
설치하기
공급/판매 정책
IndySDK는 비영리 연구기관 (연구소 및 대학교)에만 제공됩니다. 이를 사용하기 위해서는 뉴로메카와 몇 가지 사용관련 협약을 진행하여야 합니다. 구체적인 문의사항은 뉴로메카 영업팀에 문의해주십시오 (sales@neuromeka.com).
설치가 성공적으로 진행 되었다면, 설치 된 디렉토리에 NRMKFoundation 폴더와 NRMKPlatformPC2 폴더가 생성됩니다. NRMKFoundation 폴더에는 IndySDK를 사용하여 컴포넌트 개발을 수행 할 수 있도록 다양한 헤더와 라이브러리 파일들이 설치됩니다. 폴더의 하위폴더들은 다음과 같습니다.
- bin 은 개발 및 테스트 단계에서 사용자가 활용할 수 있는 유틸리티 도구들을 포함합니다.
- core 는 프레임워크 개발을 위한 핵심 헤더파일과 3rd party 라이브러리를 포함합니다.
- helper 는 프레임워크 개발을 위한 유틸리티 헤더파일을 포함합니다.
- example 은 IndyFramework에서 구현된 실시간 태스크 예제 프로젝트를 포함합니다.
- lib & lib64 는 프레임워크 개발을 위한 핵심 라이브러리 파일들을 포함합니다.
NRMKPlatform 은 Eclipse 개발환경을 포함하며 Xenomai, EtherCAT, 직렬 통신 인터페이스등을 STEP에서 활용하기 위한 라이브러리 파일들을 포함합니다.
- bin 은 Eclipse IDE를 포함하며 필수 라이브러리 파일들을 포함합니다.
- example 은 STEP의 이더켓 통신, 실시간 태스크, 그 외 입출력 예제들을 예제들을 포함합니다.
- Drivers 는 JRE와 VC++ 설치파일들을 포함합니다.
IndySDK 매뉴얼의 구성
이 문서는 IndySDK 기초 사용방법부터 IndySDK를 활용한 다양한 로봇제어 예제에 이르기까지 광범위한 내용을 다루기 때문에 사용자는 IndySDK의 활용방법을 쉽게 터득할 수 있습니다. 매뉴얼의 구성은 다음과 같습니다.
- 구성하기 에서는 IndySDK 패키지 설치방법을 시작으로 IndySDK 컴포넌트를 생성하는방법 및 개발환경을 구축하는 방법에 대해서 설명합니다.
- 튜토리얼 에서는 단계별 튜토리얼을 통해서 IndySDK의 기초 사용방법을 학습합니다.
- 예제 에서는 제어기 설계 예제들을 활용하여 IndySDK에서 제공하는 API들의 활용방법을 학습합니다.
머리문자 및 약어
이 문서에서 사용되는 머리문자 및 약어들은 아래 표를 참고하시기 바랍니다.
머리문자 및 약어 | 의미 |
---|---|
Indy | 모든 유형의 뉴로메카 인디로봇 |
IndySDK | Eclipse IDE plugin, 3rd party library들을 포함하는 Indy Software Development Kit |
STEP | 인디의 임베디드 컨드롤러 |
TCP | 로봇의 Tool Center Point |
6-D 공간 | 6차원 공간 (3-D 변위 & 3-D 방향) |
Pos/pos | 로봇의 직교공간 위치 (미터 & 라디안) |
Vel/vel | 로봇의 직교공간 속도 (미터/초 & 라디안/초) |
Acc/acc | 로봇의 직교공간 가속도 (미터/초^{2} & 라디안/초^{2}) |
q | 로봇의 관절공간 위치 (라디안) |
qdot | 로봇의 관절공간 속도 (라디안/초) |
qddot | 로봇의 관절공간 가속도 (라디안/초^{2}) |
J | 자코비안 행렬 |
Jdot | 자코비안 행렬의 미분 |