Up:Tutorial? Previous:ロボット・ダイナミクス(ヒューマノイド) Next: 車両の制御(動力学有り) 車輪移動ロボット †ここでは車輪移動ロボットを操作するサンプルを紹介します。 ※このサンプルはバージョン2.1.1以降で動作します。 車両モデル †このチュートリアルでは以下の車両モデルを使用します。 上から見た車輪移動ロボット ひっくり返した車輪移動ロボット 車体の両サイドに車輪が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"を送信してみます。 すると車両は右前方向に進み始めます。 バックすることもできます。 Old Version †Up:Tutorial? Previous:ロボット・ダイナミクス(ヒューマノイド) Next: 車両の制御(動力学有り)
Counter: 3664,
today: 1,
yesterday: 0
|