Up:Tutorial?    Previous:ロボット・ダイナミクス(ヒューマノイド)     Next: 車両の制御(動力学有り)  


車輪移動ロボット

ここでは車輪移動ロボットを操作するサンプルを紹介します。

※このサンプルはバージョン2.1.1以降で動作します。

車両モデル

このチュートリアルでは以下の車両モデルを使用します。

syaryou1.jpg

      上から見た車輪移動ロボット

 
syaryou2.jpg

      ひっくり返した車輪移動ロボット

車体の両サイドに車輪が2つついていて、前と後ろには球のキャスターが付いています。 左右の車輪は"JOINT_LWHEEL"と"JOINT_RWHEEL"という関節名でつながれています。この関節の角速度を設定して、車輪を回転させます。このモデルの車輪の半径は8cm。車体のサイズは 20×8×25(cm)。 車体や車輪の質量、サイズ、色等はすべて形状ファイルで設定されています。

コントローラ作成

まずは車輪移動ロボットを操作するコントローラを作成します。

$ emacs wheelController.cpp

wheelController.cpp

これはビューワーで車輪移動ロボットを操作できるサンプルです。車輪移動ロボットは左右の車輪の角速度[rad/s]のメッセージを受け取って車輪の角速度を設定します。メッセージの送信方法は左と右の角速度をスペースで区切るだけです。例えば左の車輪を角速度1.5(rad/s)、右の車輪の角速度を2(rad/s)に設定したいときは"1.5 2"というメッセージを送信します。

コンパイルします。

$ ./sigmake.sh wheelController.cpp

世界ファイル

次に世界ファイルを作成します。

$ emacs wheelWorld.xml

wheelWorld.xml

この世界ファイルでは"mobile_base.xml"を指定しています。 カメラはロボットの車体"LINK_CENTER"に設置しました。 車輪移動ロボット以外にも障害物としてペットボトルを置きました。

実行

それでは実行してみましょう。

$ sigserver.sh -w ./wheelWorld.xml

ビューワーで接続して見てみると車輪移動ロボットの前方にペットボトルが置かれています。

例えばビューワーからメッセージ"1 0.5"を送信してみます。 すると車両は右前方向に進み始めます。

syaryou_4.PNG

バックすることもできます。

Old Version


Up:Tutorial?    Previous:ロボット・ダイナミクス(ヒューマノイド)     Next: 車両の制御(動力学有り)  

Counter: 3457, today: 1, yesterday: 0

Front page   Edit Freeze Diff Backup Upload Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2014-11-07 (Fri) 17:31:36 (3454d)