GraspConsumer Plug-in

This section explains how to use the GraspConsumer plug-in which is a plug-in of OpenRTM consumer of the "grasping motion planning module" of the NEDO project.

Basic Information

Grasp Planning Algorithm

We distribute the grasping motion planning module for the NEDO project. What this module, we first prepare a set of the grasping posture with respect to the object coordinate system as a data file. Then, when performing the grasp planning, we search for this file and determine the grasping posture. GraspConsumer plug-in is a consumer of this grasping motion planning module.

GraspRTC Bar

GraspRTC Bar is like;
GraspRTCBar.png
For the detailed information, please see GraspRTC Bar Help.

Tutorial

Please see Grasp Motion Planning Tutorial by GraspConsumer Plug-in.

Grasping motion planning module

As for the detail of this RT module please see the following

English Japanese
GraspComsumer System Description システム仕様書
GraspConsumer Environment Configuration Specification 環境仕様書
GraspConsumer Operation Procedure 操作マニュアル

GraspComsumer System Description

This document summarizes the system specifications for “The hand grasp motion planning system” constructed during “The Research and development on robotic intelligence for in-house life support robots” conducted as part of the “Development Project for Intelligent Technologies for Next-Generation Robots.”

Relevant documents

The relevant documents are listed in the table below.
Table 1-1 Relevant documents
No. Document name Remarks
1 Hand grasp motion planning behavioral specification Description of the “Hand grasp motion planning” behavioral specification (Functional)
2 Hand grasp motion planning environment configuration specification Description of the “Hand grasp motion planning” environment configuration specification
3 Hand grasp motion planning operating procedure Description of the “Hand grasp motion planning” operating procedure

Target audience

This document targets developers of robotic systems that use RT Middleware (RTM) and RT Components (RTC) and assumes that they possess a general knowledge of RTM and RTC tools.

OpenRTM-aist Official Website:
http://www.openrtm.org/

Overview

Objective

To provide RT components that perform grasp motion planning for a known target position in in-house life support robots used in hospitals and nursing homes to perform daily operations such as the handing over or sending away of daily necessities.

System overview

This system is a grasp motion planning module that calculates the “ approach position & attitude” and the “hand grasp position & attitude” from (a) the measured position & attitude of the object (that is to be grasped) through visual modules and (b) previously stored information on the shape of the object.

The schematic diagram of the system is given below.

[inline:diagram.png=Figure 2-1. Schematic diagram of the hand grasp motion planning system]
Figure 2-1. Schematic diagram of the hand grasp motion planning system

[inline:planning_results.png=Figure 2-2 Example of grasp motion planning results]
Figure 2-2 Example of grasp motion planning results

System Specification

Module configuration

In the development of robotic intelligence for in-house life support robots, the robot receives instructions via voice interactions and acquires information on the position of the manipulating object through Town Management Systems (TMS) and visual measurements. Based on the above, the robot carries out grasp motion planning using a grasp motion planning RTC. The robot performs grasping operations by moving and coordinating its entire body based on the above planning.

Module specifications

Grasp motion planning RTC

1) Outline
Performs hand grasp motion planning based on the input.

2) Basic information

Table 3-1 Basic information on the grasp motion planning RTC
Classification RTC
Provider National Institute of Advanced Industrial Science and Technology (AIST)
Operating System Ubuntu 10.04
RT Middleware OpenRTM-aist-1.0.0-RELEASE(C++)
Development language C++
Dependent libraries
- -
3) Port information
Table 3-2 RTC Service Provider Ports for Grasp motion planning
Port name Connected to (RTC) Remarks
PlanStartPort “Operation planning execution” module Receives information on the target object for grasping
ResultPort “Operation planning execution” module Transmits grasp motion planning

Details of the RTC configuration and functions making up this system are given below.

[inline:grasp_motion_planning_RTC_connection.png=Figure 3-1. Connection configuration for grasp motion planning RTC]
Figure 3-1. Connection configuration for grasp motion planning RTC

I/F between the modules

Input/output specification

In order to implement grasp motion planning, specifications for the transmission between the operation execution RTCs are determined by viewing from the grasp motion planning RTC side, as given below.

GraspPlanningStart: Input information on the target object.
Table 3-3 “GraspPlanningStart” Input/Ouput specifications
Input/Output Variable type Variable name Comments
in unsigned long ObjId Code number of the object to be grasped
in DblSequence3 objPos Position of the object to be grasped
in DblSequence9 objOri Attitude of the object to be grasped
out unsigned long state Success (0) or Failure (1)
GraspPlanningResult: Output of grasp motion planning
Table 3-4 “GraspPlanningResult” Input/Ouput specifications
Input/Output Variable type Variable name Comments
In DblSequence3 GraspPos Grasp Position
In DblSequence9 GraspOri Grasp Attitude
In DblSequence3 ApproachPos Approach Position
In DblSequence9 ApproachOri Approach Attitude
In double angle Opening and Closing angles of the Gripper
In unsigned long state 1 when grasp pattern exists
out unsigned long isContinue Takes the value of 1 while Continue=Yes

Operating sequence

The operating sequence in grasp motion is given below.
[inline:grasp_motion_planning_sequence_diagram.png=Figure 3-2. Grasp motion planning sequence diagram]
Figure 3-2. Grasp motion planning sequence diagram

GraspConsumer Operation Procedure

Introduction

Scope

This document describes the operating procedures for “The hand grasp motion planning system” constructed during “The Research and development on robotic intelligence for in-house life support robots” conducted as part of the “Development Project for Intelligent Technologies for Next-Generation Robots.”

Relevant documents

The relevant documents are listed in the table below.

Table 1.1 Relevant documents
No. Document name Remarks
1 Hand grasp motion planning behavioral specification Description of the “hand grasp motion planning” behavioral specification (Functional)
2 Hand grasp motion planning system specification Description of the “hand grasp motion planning” system specification
3 Hand grasp motion planning environment configuration specification Description of the “hand grasp motion planning” module’s environment configuration

Target audience

This document targets developers of robotic systems that use RT Middleware (RTM) and RT Components (RTC) and assumes that they possess a general knowledge of RTM and RTC tools.

OpenRTM-aist Official Website
http://www.openrtm.org/

Software Installation

This module operates on Ubuntu10.04. OpenRTM-aist-1.0.0-RELEASE installation is a prerequisite for the module’s operation. Details on libraries, etc. are specified in the environment configuration specification. This document describes the installation procedure.

Standard operating environment

OpenRTM-aist-1.0.0 RELEASE (C++)

Install the RT middleware required for executing RTC, which is written in C++.

Use the installer script for Ubuntu. Open the C + + 1.0.0 version -RELEASE distribution page: http://www.openrtm.org/openrtm/ja/node/849 (as of 21st April, 2011) from the “OpenRTM-aist” download page. Download the batch installation script pkg_install_ubuntu.sh for Ubuntu from the list of Linux packages and run the same.


Installer Program to be installed
pkg_install_ubuntu.sh Batch Installation

Compilation

Unzip and extract the “CGraspPlanComp.tar” files. Taking the generated “GraspPlan20100623” folder as the current directory, execute the following command.

 % make

Execution

Successful operation requires a component for acquiring information on the object's position and delivering it to this component. This module’s execution sequence is described below.

Invoking the module

Taking the extracted “GraspPlan20100623” folder as the current directory, execute the following command.

 % ./GraspPlannerComp

Input/Output Information

Send “grasp planning control orders” to Hand RTC using “GraspPlanningStart”. Acquire grasp motion patterns using “GraspPlanningResult.”

The inputs to “GraspPlanningStart” are the (i) Object ID and (ii) position & attitude measured by the visual sensors.

The output obtained from “GraspPlanningResult” are the hand position & attitude, approach position & attitude, opening and closing angles of the gripper, and presence or absence of a grasp pattern.

 void GraspPlanningStart (in unsigned long ObjId,
                          in DblSequence3 objPos,
                          in DblSequence9 objOri,
                          out unsigned long state);

Table 3-1 “GraspPlanningStart” Input/Ouput specifications
Input/Output Variable type Variable name Comments
in unsigned long ObjId Code number of the object to be grasped
in DblSequence3 objPos Position of the object to be grasped
in DblSequence9 objOri Attitude of the object to be grasped
out unsigned long state Success (0) or Failure (1)
 void GraspPlanningResult (in DblSequence3 GraspPos,
                           in DblSequence9 GraspOri,
                           in DblSequence3 ApproachPos,
                           in DblSequence9 ApproachOri,
                           in double angle,
                           in unsigned long state,
                           out unsigned long isContinue );

Table 3-2 “GraspPlanningResult” Input/Ouput specifications
Input/Output Variable type Variable name Comments
In DblSequence3 GraspPos Grasp Position
In DblSequence9 GraspOri Grasp Attitude
In DblSequence3 ApproachPos Approach Position
In DblSequence9 ApproachOri Approach Attitude
In double angle Opening and Closing Gripper angles
In unsigned long state 1 when grasp pattern exists and 0 when it does not
out unsigned long isContinue Success (0) or Failure (1)