Up:Tutorial    Previous:ロボット・ダイナミクス(ヒューマノイド)     Next: 距離センサ  

車輪移動ロボット

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

※SIGVerseのバージョン111026、ビューワー1.4.2以降で正常に動作

車両モデル

ここではデフォルトで用意されている車輪移動ロボットのモデル(OpenHRP形式)を用います。

syaryou1.jpg

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

 
syaryou2.jpg

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

車体の両サイドに車輪が2つついていて、前と後ろには球のキャスターが付いています。 左右の車輪は"JOINT_LWHEEL"と"JOINT_RWHEEL"という関節名でつながれています。この関節の角速度を設定して、車輪を回転させます。このモデルの車輪の半径は3、左の車輪の中心から右の車輪の中心までの距離は22(SIGVerseの長さの単位)です。

車体や車輪の質量、サイズ、色等はすべて形状ファイルで設定されています。

形状ファイルはこちら(※ダウンロードする必要はありません)

コントローラ作成

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

$ cd ~/sigverse-<version>/bin/NewWorld
$ emacs wheelController.cpp

wheelController.cpp

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

Makefileを修正してコンパイルします。(動作手順省略)

世界ファイル

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

$ cd ..
$ emacs xml/wheelWorld.xml

wheelWorld.xml

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

実行

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

$ ./sigserver.sh -p 9001 -w xml/wheelWorld.xml

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

syaryou3.jpg

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

syaryou4.jpg

障害物に衝突しないよういろいろと移動してみてください。

車輪の特性など細かい設定を行いたい場合はこちらを参考にしてください。

Up:Tutorial    Previous:ロボット・ダイナミクス(ヒューマノイド)     Next: 距離センサ  


Attach file: filesyaryou4.jpg 750 download [Information] filesyaryou3.jpg 647 download [Information] filesyaryou2.jpg 1120 download [Information] filesyaryou1.jpg 1139 download [Information] filewheel_robot.x3d 873 download [Information]

Front page   Edit Freeze Diff Backup Upload Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2012-02-08 (Wed) 11:56:37 (2474d)