-
Notifications
You must be signed in to change notification settings - Fork 32
Gazebo [Japanese]
GazeboでSIA5を起動する際の手順について説明しておきます。
-
パス通しをしてください
cd <catkin_ws> source devel/setup.bash
-
以下のlaunchファイルを実行してください
roslaunch motoman_gazebo sia5_empty_world.launch
-
うまく起動すると、以下のようになるはずです。
-
sia5/joint_<s~t>_position_controller/command/data
というトピックに、各関節の希望角度をラジアンでPublishすると関節が動きます。rqtのTopicPublisher等を使うと楽です。尚、<s~t>
の部分は、動かしたいjoint
の名前を入れてください。以下の画像をクリックすると、実際に動かしているYoutubeのリンクにジャンプできます。動画の説明にも書いていますが、各joint
にsin波を入力しているだけです。因みに入力した値は、rqtのTopicPublisherでPublisherを100[Hz]に設定し、1.57*sin(i/300)
としました。
上記のコマンドでは、以下の事項が行われています。
-
Gazeboの起動 障害物等が何もない空間をGazeboで起動しています。
-
SIA5のモデルの読み込み SIA5のxacroデータをurdfに変換し、
robot_description
という名前でパラメータ登録します。 -
SIA5モデルのスポーン Gazebo上に、先ほど設定した
robot_description
の情報を使ってモデルを登場させます。 -
コントローラの起動 各関節を制御するコントローラを起動します。launchファイルの中では、SIA5用のコントローラlaunchファイルを読み込んでいます。
コントローラについては、<motoman_project>/motoman_control/
で記述してあります。
コントローラとGazeboモデルを引き離してデバッグ等を行いたい際には、motoman_gazebo/launch/sia5/sia5_empty_world.launch
の最後にコントローラのlaunch部分をコメントアウトしてください。
因みに、デバッグしようと思う方には必要無い情報かもしれませんが、コントローラを起動する際には、Gazeboモデルをlaunchした後、コントローラをlaunchしてください。
つまり、コントローラ部分をコメントアウトした後、roslaunch motoman_gazebo sia5_empty_world.launch roslaunch motoman_control sia5_control.launch
としてください。