OPEN-R SDK トレーニング及び開発項目

1.オブジェクト間通信

簡単なオブジェクト間通信。オブジェクト間通信をじっくり理解する。

2.パソコンからのコマンドでLEDを光らせる

WLANとオブジェクト間通信の練習。あと、ロボットにコマンドを送る(コマンドデータを作る)練習。

3.パソコンからのコマンドで頭を動かす

関節制御の練習。
コマンドデータ1つに最大16フレームのデータが入る。1データの実行時間は8ms、16フレームで128msとなる。
大きな角度の変化は複数のフレームに分割する必要がある。

4.サーバー・クライアント通信

モーションエディターを作りたいのでネットワークプログラムの練習。
サンプルにあるエコーサーバーとかエコークライアントは固定長データのやりとりしかしていないので可変長にしたり、VBで作ったクライアントと通信させてみたり。

5.モーションエディター

モーションを実際と同じタイミングで再生できるようにする。PCから送るモーションデータをスタックに納めて順に再生する。データの転送と再生を非同期で行う。エディットはPC側のプログラムで行う。

6.アイボレースプログラム

12月1日日本未来科学館で行われたOPEN-R テクノフォーラムで参加したアイボレースに使ったプログラム。歩行モーションは基本的にMTNを利用。高速化のため、モーションの微調整やモーションの短縮化、方向補正のための左右でのモーション補正(歩幅調整と脇ロケータ調整)を行った。足ロケータ・カメラ・CDT・タッチセンサー・LEDを使用し、5つのオブジェクトで動いている。 PSD・加速度センサー・マイク・スピーカは使用せず。

7.センサー情報の取得

6のアイボレースプログラムで、歩行モーションを高速化していくと、40キーモーション(640ms/サイクル)で歩行の様子に変化が生じた。
左右に体を大きく揺さぶりながらガッシガッシと進むようになり、モーションがクロールであるに関わらず、ペースのような感じになった。これをデータ的に解明すべくロケータの角度及び指示値・加速度センサー・肉球センサーの値を取得しファイルするようにした。

8.インバースキネマティクスのインプリメント

指示した3次元位置に肉球点を移動させることが出来るインバースキネマティクス(逆運動学)を折り込んだプログラム。
とりあえずは四肢は平行になっており、胴体の位置を指示によって移動させる。

9.姿勢制御プログラム

IK(インバースキネマティクス)とセンサー情報を使い、胴体姿勢のコントロールを行う。
・地面が傾斜を持っていたらそれに応じて足を変化させて水平を保つ。
・指示に従った胴体姿勢をとる。
・PIDサーボの保持トルクを利用して外力を測定できないか。胴体を押されたらそれに応じて姿勢を変える。
など。
指示した胴体姿勢などは問題ないが、加速度センサーからの値により、傾斜地でも姿勢を保つというのは難しい。
第一に関節動作による胴体の移動により加速度が発生し、重力加速度による姿勢の取得が出来ない。
また、傾斜地に対応するには姿勢の相対的指示が必要で、関節動作の応答速度を考慮した指示を出す必要があり、困難。
【その他の考察】

?.振動同調プログラム【計画】

IK(インバースキネマティクス)とセンサー情報を使い、左右の反復動作で同調を試みる。位相制御の一環。
アイボの左右振動にも同調周波数があり、それに同調すれば指示値と動作に位相差が無くなり、振幅が大きくなるのではないかと予想する。
これの周波数をプログラムで見つけ出す。
また、アイボ個体によって関節のがたつきなどが異なるため特性は微妙に異なると思う。

?.画像処理プログラム【計画】

単純化した世界の画像から物体を復元(認識)する。