G-ROBORS GR001制御プログラム

G-ROBORS GR001制御プログラム

Author: 
isao-hara

概要

このプログラムは、株式会社HPIジャパンの人間型ホビーロボットGR001をPCから制御するための プログラムです。

個人的な利用または非商用の利用に限り自由に利用可能としますが、著作権は (独)産業技術研究所 知能システム研究部門 原 功が所有いたします。

また、(独)産業技術総合研究所および原 功は、本プログラムをダウンロード、 インストールまたはご利用いただいた場合に生じたすべての瑕疵およびその使用 結果について一切保証せず、損害賠償も負いません。

GR001サンプルプログラムは、以下の4つのプログラムまたはライブラリから構成 されています。

  1. GR001
    GR001をRS232cを介して制御するためのライブラリ。
  2. GR001_CUI
    上記のライブラリを使った簡単なCUIベースの制御プログラム。
  3. GR001_Controller
    上記のライブラリを使ったGR001制御RTC。
  4. CommandIn
    GR001_Controllerに対してテキストコマンドを入力するためのRTC。

ライブラリ&実行プログラムの生成と動作条件

これらのプログラムは、WindowsまたはLinuxで動作可能であると思いますが、 Windows 7 (VS2008 または VS2010)にてコンパイル&実行を確認しています。 また、このプログラムをコンパイルするためには、libyamlとOpenRTM-aist-1.0.0以降 が必要になります。

libyamlに関しては、GR001/libyamlの下に、ヘッダーと静的リンク用ライブラリを 同梱して配布しています。

GR001_Controllerを使ったシステム例

GR001_ControllerとcommandInを使うと下記のような簡単なコマンド入力システムができます。

SimpleSystem.png

現在GR001_Controllerに実装されているコマンドは下記の通りです。

  • On
    サーボモータをOnにして、servoState出力ポートに1を出力。ただし、配列の先頭のみにデータを格納する。(未完成)
  • Off
    サーボモータをOffにして、servoState出力ポートに0を出力。ただし、配列の先頭のみにデータを格納する。(未完成)
  • Break
    サーボモータをBreakModeにして、servoState出力ポートに0を出力。ただし、配列の先頭のみにデータを格納する。(未完成)
  • Free& GR001クラスのメンバ関数 setFreeMotion(1) を実行する。すなわち、サーボモータに一定の負荷がかかった場合に、そのモータをBreakModeにする。
  • Init
    GR001クラスのメンバ関数 initPosition()を実行し、初期姿勢に変移する。(初期姿勢はGR001ライブラリの中で中腰姿勢に定義されている)
  • Clear
    GR001クラスのメンバ関数 clearRecord()を実行し、メンバ変数 motionに登録されている動作する
  • Push
    GR001クラスのメンバ関数 recordCurrentPosture()を実行する。
  • DoRecord
    GR001クラスのメンバ関数 doRecord()を実行する。
  • PrintRecord
    GR001クラスのメンバ変数 recordのメンバ関数printMotion()を実行する。
  • Save
    GR001クラスのメンバ変数 motionに登録されている動作をファイルに保存する。保存形式は、独自形式。
  • Rec
    GR001クラスのメンバ関数 clearRecord()を実行し、メンバ変数 motionに登録されている動作する。そして、メンバ変数 recordMotionFlagを1にセットする。これにより、動作記憶モードになる。
  • End
    GR001クラスのメンバ変数 recordMotionFlagを0にセットする。そして、記憶した動作をファイルに保存する。保存形式は、独自形式。
  • Start
    GR001クラスのメンバ変数 motionに登録されている動作を実行する。
  • Reverse
    GR001クラスのメンバ変数 motionに登録されている動作を逆順で実行する。
  • connect
    シリアルポートの接続を再接続する。
  • close
    シリアルポートの接続を切断する。

#br; また、上記のシステムに、別のGR-001を接続して下記のようなシステムを作ると、2つのGR-001が同時に同じ動作をすることができます。さらに、1方のロボットのサーボモータをOFFにして、手で姿勢を変えるともう一方の姿勢も変化します。つまり、マスター−スレーブ型のシステムを簡単に構築することができます。

MirrorSystem.png

プログラムのライセンスとダウンロード

GR001_Controller,commandInは、Eclipse Public License ver.1.0 で GR001, GR001_CUIは、GNU Lesser General Public License ver.2.1 で配布致します。 また、このライブラリを使用していかなる不具合、故障、損害が発生しても一切の責任を負いません。 ライブラリをダウンロードされた場合には、ライセンスと使用条件に合意されたものとみなします。

詳細は、下記をご覧ください。

http://openrtp.jp/wiki/_default/ja/Software/GR001.html

問合先(メールアドレス): 
isao-hara@aist.go.jp
Resources
Project Information
OS: 
Windows
Linux
言語: 
C++
OpenRTM ver.: 
1.0
1.1
Average: 
0
No votes yet
Last modified: 
Fri, 2012-05-11 13:56

Download

latest Releases : 2.0.0-RELESE

2.0.0-RELESE Download page

Number of Projects

Choreonoid

Motion editor/Dynamics simulator

OpenHRP3

Dynamics simulator

OpenRTP

Integrated Development Platform

AIST RTC collection

RT-Components collection by AIST

TORK

Tokyo Opensource Robotics Association

DAQ-Middleware

Middleware for DAQ (Data Aquisition) by KEK