|
OPEN-R SDK |
OPEN-Rでプログラミングを行うにはC++のコーディングができなければならないのはもちろん、SDK仕組みを知らなければなりません。SDKドキュメントのプログラミングガイドには細かな説明が書いてあるにはあるのですが、なにせ難しいです。あらかたは自分の理解メモという位置付けでノートをまとめてみます。もし、万が一このノートでSDKの理解が進んだという初心者の方が居たらそれはそれで幸せになれるかもしれないです。
OPEN-RのプログラミングC++です。そして平行プロセス型であり、メッセージにより動作するちょっと変わったシステムです。そのため、思わぬ落とし穴がありそうです。ここではプログラムを作っていて陥った罠を記録として書いておきます。なんせ自分が素人同然なのですごく簡単な罠まで書いてます。ごくごく初心者の方には役に立つかも。
一足飛びに難しいプログラムはできないし、OPEN-Rのプログラミングのコツをつかむためにも簡単な課題から慣れていく必要がある。サンプルプログラムを使って自分なりのプログラムトレーニングをします。
ロボットに託す夢は生物としての覚醒です。ただじっと待つのはいやなのでその夢に一歩でも近づけるようにアイボに付き合ってもらいます。
- IKベースのモーション再生プログラム
なんだかんだ言っても歩かないアイボを見つづけるのは面白くないものです。また、歩行・動作以外の動作計画などの開発を考えた時、歩行モジュールが必要と考え、IKベースのモーション再生オブジェクトを開発する。
- クロール歩行の分析
アイボの基本的な歩容は「クロール」歩行。これを考察し、合成する手順をまとめる。モーションの再生ではなく関数による歩容の生成なので状況によりアレンジが可能。
- 音声認識プログラム
歩かせてみてもモーションで動かしてみてもやはり音声認識で会話ができないとロボットという感じがしない。単音でも、特定者でも構わないので音声認識を行なってみる。
- オブジェクト認識プログラム
外界認識の一歩としてCDTを使ったオブジェクト認識プログラムを開発する。全ての区別すべき面を異なる色(CDTで判別できる8色)におき、物体を3次元物として認識する。6面を異なる色で塗り分けた立方体から。
- 関節負荷の検出
関節のモーターはPID制御により指示位置に移動し、位置を保持する。移動・位置保持のために必要なトルクが計算されているので逆にいうと、トルクより関節が受ける負荷を検出できるはず。
- 立ち上がり獲得
ロボットは自ら動けなくてはなりません。歩いて移動するアイボにはまず立ち上がることから始めます。モーション再生ではない、アイボ(ロボット)の意思(というイメージを)大事にしていきます。出来れば立ち上がり動作の獲得とその固定化を。
役立つかはわからないが、一応まとめたもので見るに耐えるものはここにまとめておく。
- CDTカラーマップ