爪車

操作ハンドルを実装

3DCGソフトでポリゴンの頂点の編集に使う矢印みたいなものを実装しました。
名称がわからないので、操作ハンドルと呼んでいます。

Screenshot-GLWidget-20100425.png

名称がよくわからないものを調べるのは一苦労。
いろいろ調べた結果、マウスピッキング処理で実現するものらしい。

実装にあたっては、こちらのサイトを参考にさせていただきました。
[OpenGL] マウスによる頂点編集

操作ハンドルの実装は長年の夢。やっと実現できました。

シミュレーション表示用のプログラム開発は、だいぶ満足したので、いったん中止。
そろそろヒト型ロボット開発を再開することにします。

Qt4に移植中

OpenGLで書いたシミュレーション表示用のプログラムをせっせとQt4に移植中です。

Screenshot-GLWidget-20100420.png

Qt4には、OpenGLを扱うためのモジュールが用意されているので、glutの代わりにそれを使用します。

gl, gluの関数はそのまま使用できますが、glutの関数を使っていたところはすべて書き直しです。
Qt4に慣れないこともあり、けっこうてこずっています。

Qt4

GUIを扱えるようになりたいので、Qt4(キュート)の勉強を始めました。

Qt4に関する書籍やWebでの情報が少ないので、学習が大変かなと思っていたのですが、QT Createrに大量のすばらしいサンプルプログラムとチュートリアルが付いていました。

単純なボタンから、OpenGL、XML、ネットワーク関連といったものまで、様々なサンプルがありました。
これだけあれば学習には困らないかと。

OpenGLと組み合わせてロボットのシミュレータを作る予定です。

諦める

衝突、無理。

接触のシミュレーションができない

自由落下する剛体運動のシミュレーションはできるようになったのですが、床との接触のシミュレーションが上手くできないです。
本の通りにしても物体が地面に沈み込んでしまいます。
接触力の係数を変えてみたら、今度は物体が吹っ飛んでいってしまいました。

よくわからん。

動力学シミュレータを作り始めました

動力学シミュレータを作り始めました。
「ヒューマノイドロボット」(オーム社)の"6章:動力学シミュレーション"を実装してみたいと思います。

とりあえず環境整備と言うことで、シミュレーション表示用のプログラムを作りました。



以前の3次元プロット用に使っていたものを機能強化。
画面上で文字列の描写ができるようになりました。
シェーディングもできるようになりました。
陰影付けはまだですが、一応使えるものができたので完成です。

これで動力学シミュレーション本体に取り掛かれます。
数式がぜんぜん理解できないのですが・・・

4月中に全部完成すればいいのだけれど・・・

ヒト型ロボット 59 小休止

あれからいろいろとやってみましたが、良い結果は得られず。

ZMPの計算結果が収束せずにガッタガタになる件は、ZMPの近似計算に使う質点の速度と加速度の値がおかしいのが原因。
たぶんモデルが冗長関節のロボットだからです。
逆運動学はヤコビアンの擬似逆行列を利用した数値解法で求めていますが、そこに問題ありかと。
繰り返しの収束計算なので、関節速度が連続になっていないのだと思います。
そのため、前の状態(位置、速度)からの差分を元に算出する質点の速度と加速度がおかしくなるのかなと。

それに、計算時間がかなり掛かります。
0.01の時間刻みで10秒分の軌道を5回ほど繰り返し計算するのに、1分ほど要します。
逆運動学で腰の2関節と左右の脚の2x6関節をいっぺんに評価しているのが原因。
ヤコビアンの大きさは12x14。
これの擬似逆行列を計算して数回の収束計算ってなると、そりゃ計算に時間が掛かるはずです・・・

プログラムもなんだかメチャクチャになってきました。
根本的な改修が必要、書き直さないと・・・

・・・面倒くさい、疲れた。

という訳で、ヒト型ロボット開発はしばらくお休みすることに。

プログラミング関係の勉強でもしてみようかなと思います。

Top

HOME

tsumehashi

Author:tsumehashi
FC2ブログへようこそ!

03 | 2010/04 | 05
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -