Skip to content

Getting Started

Overview

IndySDK is a development environment and toolkit for improving the scalability and flexibility of the Indy control framework (IndyFramewrok).

  • Indy Framework is the main software framework for operating NRMK Indy robots.

  • IndySDK is an extended framework based on IndyFramework 2.0, and is provided only to non-profit organization for research purpose.

The IndySDK offers the following benefits to users:

  • Compatibility: User can access various functions through API and SDK provided by IndyFramework, and can directly use communication protocols and teach pendant.

  • Reusability: Component-wise software architecture of IndySDK extends usability.

  • Simplicity: Project template for each component type is provided as Eclipse IDE plugin.


Basic concept of IndySDK

Basically, IndyFramework consists of five types of components such as robot kinematic/dynamic model, joint-space controler, task-space controller, joint-space trajectory interpolator, and task-space trajectory interpolator.

Using IndySDK, researchers and developers can develop key components of robot control such as joint-space controller, task-space controller, joint-space trajectory interpolator, and task-space trajectory interpolator. Therefore, the users can easily implement their own position controller, force controller, and/or impedance controller and integrate them with Indy Framework.

Installation

Download and install the following Neuromeka software (They are available from Neuromeka's download page):

  • IndyFramework, Windows, v3.0.9PlatformSDK, Windows, v3.0.4

Then, download and install the following IndySDK patch file:

  • IndySDK Patch, Windows, v2.3.0.1

Sales policy

IndySDK is only provided to non-profit organizations such as research institute and university. IndySDK is available after receiving user license through an agreement with Neuromeka. Please contact to our sales team for detailed information (sales@neuromeka.com).

If the SDK is completely installed, NRMKFoundation and NRMKPlatformPC2 (for STEP3 user, NRMKPlatformPC3) folders will be created in the installed directory. Also, LeanDeployment folder is created in the NRMKFoundation folder.

NRMKFoundation provides a variety of header and library files for users to develop robot components using IndySDK. The subfolders of NRMKFoundation folder is given as follows:

  • bin contains utility tools that users can use during development and testing
  • core contains the necessary libraries for framework development
  • helper contains utility libraries for framework development
  • example contains sample projects for real-time task in IndyFramework
  • LeanDeployment contains all pre-built components for users to try at the beginning
  • lib & lib64 contain shared library files for framework development

NRMKPlatform includes the Eclipse IDE and library files for utilizing Xenomai, EtherCAT, and serial communication interfaces in STEP. The subfolders of NRMKPlatform folder is given as follows:

  • bin contains the Eclipse IDE and the necessary libraries for STEP2
  • example contains examples that can be used in the Eclipse IDE
  • Drivers contains JRE and VC++ installation files

Security Policy

In order to apply components developed by IndySDK to IndyFramework, users must enter the license infromation (user name, email, serial number), provided by Neuromeka, during component development. Please note that only one license can be provided for a robot. For more details on how to enter the license information, please refer to Tutorial section.

Organization of this Document

This document covers a wide range of topics from basic IndySDK usage to various robot control examples using IndySDK. Therefore, users can easily learn how to use IndySDK. The manual consists of the following.

  • Configuration starts with installing the IndySDK package and describes how to create IndySDK components and how to set a development environment.
  • Tutorial provides step-by-step tutorials to learn how to use IndySDK.
  • Examples provide controller design examples to learn how to use the APIs.