Skip to content

Getting Started

Overview

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

  • 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

Researchers and developers can directly develop core components provided by Indy Framework such as robot kinematic/dynamic model, 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

Sales policy

IndySDK is only provided to non-profit organizations such as research institute and university. To use IndySDK, customers should conclude an agreement with Neuromeka. Please contact to our sales team for detailed information (sales@neuromeka.com).

If the SDK is completely installed, NRMKFoundation and NRMKPlatform folders will be created in the installed directory. NRMKFoundation contains a variety of header and library files for robot component development using IndySDK. The subfolders (inside the 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 (inside the 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

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.

Acronyms and Abbreviations

The acronyms and abbreviations used in this document and their meanings are as follows:

Abbreviations Description
Indy All types of Neuromeka Indy robot
IndySDK Indy Software Development Kit including Eclipse IDE, plugins, and 3rd libraries
STEP Embedded controller of Indy
TCP Tool Center Point
6-D Space 6 dimensional space (3-D displacement & 3-D orientation)
Pos/pos Cartesian-space Position (m & rad)
Vel/vel Cartesian-space Velocity (m/s & rad/s)
Acc/acc Cartesian-space Acceleration (m/s^{2} & rad/s^{2})
q Joint-space Position (rad)
qdot Joint-space Velocity (m/s & rad/s)
qddot Joint-space Acceleration (rad/s^{2})
J Jacobian Matrix
Jdot Derivative of Jacobian Matrix

Table 1. A List of Acronyms and Abbreviations