cvl-robot's diary

研究ノート メモメモ https://github.com/dotchang/

2013-10-01から1ヶ月間の記事一覧

おまけ:RICOH THETAのJPG画像を平面-球変換してOpenGLで表示する

RICOHのTHETAが来たので、全方位画像をOpenGLで表示出来るようにしてみます。いつものように、openFrameworksのpointCloudExampleを改造して作ります。おそらく単純な極座標変換で大丈夫なので*1、画像座標を極座標(球面座標)値と見立てて、半径Rの球状の…

KinectFusionのFrameTextureからPointCloudを取り出す

D3DとかMicrosoft方言は使ったことが無いとチンプンカンプンです困りますね。LockRectとか何の必要性があって存在するのかピンと来ません*1。それはさておき、KinectFusionで得られた結果の中から3次元位置を取得しましょう。 参考になるのは、本家のForum…

視覚フィードバック制御のためのカメラ導入 その1

初出:2013/10/25, 最終更新:2013/10/28 21.KinectFusionColorBasicsのOpenCV対応 次の中期開発目標を、ロボットの視覚を用いたフィードバック制御にします。というのは、HIROのアームは位置決め精度が悪くmoveRelativeなどのコマンドを繰り返し使用する…

補助平面の導入

20.マウスで3次元空間の操作 今考える空間には、スクリーン座標系、ロボット座標系、世界座標系が存在します。補助平面は、ロボットを動かすためにロボットの周辺に配置したいものですから、ロボット座標系で管理することにします。したがって、出力とし…

カメラターゲットの変更

19.カメラターゲットの変更 F1,F2、F3キーで複数のロボットを導入した際に、カメラのターゲットを変更できるようにしました。targetというポインタ変数を導入して、操作対象のロボットを選択できるようにしただけです。GitHubのtestApp.cppのソー…

ソースコード公開ofxRobotCoordinatorExample

手探りでGitHubを使い始めてみました。 プログラムに名前をつける必要ができたので、ofxRobotCoordinatorExampleと名付けました。ロボットの座標系と調整役のコーディネータを掛けて気取っているつもり。 https://github.com/dotchang/ofxRobotCoordinatorEx…

ikfastによる逆運動学(その3)

(編集中) OpenRaveのikfastを使って、pa10でもIKを使えるようにしてみます。 ここで使っているOpenHRP用PA10モデルはOpenRaveのモデルとルートの座標系のとり方が違っているようなので、IKターゲットを座標変換してからikfastに入力します。HIRONXと同じよ…

ikfastによる逆運動学(その2)

ライブラリのリンク #pragma comment(lib, "C:\\Users\\yoshi\\Downloads\\of_v0.8.0_vs_release\\examples\\addons\\assimpExample\\bin\\ClapackWin.lib") ikfastの利用方法 引数の渡し方 [入力] 姿勢:3x3, [入力] 位置:3、 [出力] 解:可変長二次元配列…

ikfastによる逆運動学(その1)

http://openrave.org/docs/latest_stable/ikfast/kawada-hironx/ ikfast60.Lookat3D.1_2.cpp ikfast60.Lookat3D.1_2_f0.cpp ikfast60.Transform6D.3_4_5_6_7_8.cpp ikfast60.Transform6D.3_4_5_6_7_8_f0.cpp ikfast60.Transform6D.13_14_15_16_17_18.cpp ikf…

ロボットの視界シミュレーション

初稿: 2013/10/13, 最終更新: 文責: Yoshihiro Sato 15.ロボットの視線で画面を表示する しばらくプログラミング優先でロボットっぽい話題から離れていましたので、ロボットに戻りましょう。次は、ロボットのカメラとGUIコントローラをつないでいく方…

付録2.モデルの表示のカラー化

PA10モデルのカラー化 for(int i=0; i

ロボットGUIコントローラのクラス化

複数のロボットど同時に扱うことも簡単にできるようになりました。

ofxAssimpMeshHelperの修正

ofxAssimpModelLoader.cpp .cppと.hを修正 メッシュとノードが1対1で対応していることを想定し、メッシュにノードと同じ名前が与えられている。 meshHelperのメッシュ番号がノードの探索順に変更されている。 ofxAssimpModelLoader.cpp> ofxAsiimpModelLoa…

他のロボットモデル読み込み

Assimpのエラーメッセージ [verbose] ofxAssimpModelLoader: loadModel(): loading "PA10.dae" from "C:\workspace\of_v0.8.0_vs_release\examples\addons\assimpExample\bin\data\" [ error ] ofxAssimpModelLoader: loadModel(): Collada: $$$___magic___$…

hiro_handleとGUIコントローラを接続する(その3)

初稿: 2013/10/8, 最終更新: 文責: Yoshihiro Sato 11.GUIコントローラでロボット実機を動かす hiro_test_xmlrpc.py server.register_function(hiro.setJointAnglesDeg, "setJointAnglesDeg") testApp.h ofParameter rpc_set_angles; testApp.cpp setup g…

hiro_handleとGUIコントローラを接続する(その2)

初稿: 2013/10/8, 最終更新: 文責: Yoshihiro Sato 10.GUIコントローラにXMLRPCクライアント機能を付ける XMLRPC++0.7 ライセンスLGPL vs2012対応版xmlrpc++0.7 c:\workspace\xmlrpc++0.7 testApp.h #include "XmlRpc.h" class testApp内 ofParameter …

hiro_handleとGUIコントローラを接続する(その1)

初稿: 2013/10/8, 最終更新: 文責: Yoshihiro Sato 9.hiro_handleをサーバ化する(xmlrpc版) hiro_handleが上手く動くようになり、GUIもそれなりに出来つつあるので、2つを接続する方法を検討していきましょう。 9.1 接続方法の検討 困ったことに、hir…

hiro_handleを使ってWindowsからHIRONX実機を動かす

初稿: 2013/10/6, 最終更新: 文責: Yoshihiro Sato 8.Windowsにhiro_handleをセットアップ HIRONXのメーカー付属サンプルプログラムのJythonが邪魔な場合や、Windows環境からHIROを直接動かしたいとき、電通大の末廣先生が開発されたhiro_handleを使うと便…

ロボットのGUIコントローラを作る(その7)

初稿: 2013/10/7, 最終更新: 文責: Yoshihiro Sato 7.スライダーでも関節を操作できるようにする ロボットの関節をマウスで操作できるようになりました。でもロボット実機を動かしたい時、正確に数値を確認しながら角度を決められたほうが便利ですね。そこ…

ロボットのGUIコントローラを作る(その6つづき)

6.2 全関節を操作できるようにしよう 少し楽しくなってきてしまったので、すべての関節を動かせるようにしてしまいしましょう。ここまでの全ソースコードを記載します。 // おしゃれなインターフェースの割には、短いソースコードでしょう?これで腕も動…

ロボットのGUIコントローラを作る(その6)

初稿: 2013/10/6, 最終更新: 文責: Yoshihiro Sato 6.関節可動範囲の追加 前回は、マウスで関節操作をできるようにしました。しかし、角度を際限なく動かせてしまうため、首が体にめり込んでしまったり、思うような角度に調整できないという不満がありまし…

ロボットのGUIコントローラを作る(その5)

初稿: 2013/10/4, 最終更新: 文責: Yoshihiro Sato 5.マウスで関節を動かせるようにする マウスでロボットの関節を操作できたら格好いいのですが、どうすればできるのでしょうか?なんと便利なことにopenFrameworksのexampleの中にpointPickerExampleがあ…

ロボットのGUIコントローラを作る(その4)

初稿: 2013/10/4, 最終更新: 文責: Yoshihiro Sato 4.カメラの導入 前回表示が鏡面にひっくり返っていることが判明しました。今回はカメラを導入することでこれを解決していきます。カメラといっても、もちろんロボットの頭部のカメラのことではなく、open…

ロボットのGUIコントローラを作る(付録1)

初稿: 2013/10/4, 最終更新: 文責: Yoshihiro Sato Appendix1 ソースコードの整理 ここまでお世話になってきたassimpExampleのソースコードですが、思い切って使わない部分は整理して消してしまいましょう。 // openFrameworksのイベントループの基本を確認…

ロボットのGUIコントローラを作る(その3)

初稿: 2013/10/4, 最終更新: 文責: Yoshihiro Sato 3.ロボットの関節を連続的に動かす 前回は、ロボットの首を回転させてみましたが、一度だけ、決めた角度に動いただけでした。今回は、これを連続的に変化させられるようにしていきます。 3.1 各ノード…

ロボットのGUIコントローラを作る(その2)

初稿: 2013/10/4, 最終更新: 文責: Yoshihiro Sato 2.ロボットの関節を動かす 次は、ロボットの関節を動かすことを目標にしていきます。 2.1 COLLADA形式のロボットモデル ロボットのモデルファイルから、関節情報がどのように記述されているか見ていき…

ロボットのGUIコントローラを作る(その1)

初稿: 2013/10/3, 最終更新: 2013/10/6 文責: Yoshihiro Sato ロボットの制御と3次元CGは、力学の有無を除いてよく似ています。もしコンピュータの中でロボットの3Dモデルをうまく動かすことができたら、実際のロボットを動かすこともそう難しくありません。…