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.
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 is like;
For the detailed information, please see GraspRTC Bar Help.
Please see Grasp Motion Planning Tutorial by GraspConsumer Plug-in.
English | Japanese |
---|---|
GraspComsumer System Description | システム仕様書 |
GraspConsumer Environment Configuration Specification | 環境仕様書 |
GraspConsumer Operation Procedure | 操作マニュアル |
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.”
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 |
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/
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.
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
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.
1) Outline
Performs hand grasp motion planning based on the input.
2) Basic information
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 | |
- - |
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
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.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) |
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 |
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
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.”
The relevant documents are listed in the table below.
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 |
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/
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.
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 |
Unzip and extract the “CGraspPlanComp.tar” files. Taking the generated “GraspPlan20100623” folder as the current directory, execute the following command.
% make
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.
Taking the extracted “GraspPlan20100623” folder as the current directory, execute the following command.
% ./GraspPlannerComp
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);
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 );
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) |