Skip to content
Ryodo Tanaka edited this page Nov 30, 2015 · 6 revisions

手順

GazeboでSIA5を起動する際の手順について説明しておきます。

  1. パス通しをしてください

    cd <catkin_ws>
    source devel/setup.bash
  2. 以下のlaunchファイルを実行してください

    roslaunch motoman_gazebo sia5_empty_world.launch
  3. うまく起動すると、以下のようになるはずです。
    sia5_gazebo

  4. 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)としました。
    SIA5_gazebo

何をやっているのか?

上記のコマンドでは、以下の事項が行われています。

  1. Gazeboの起動 障害物等が何もない空間をGazeboで起動しています。

  2. SIA5のモデルの読み込み SIA5のxacroデータをurdfに変換し、robot_descriptionという名前でパラメータ登録します。

  3. SIA5モデルのスポーン Gazebo上に、先ほど設定したrobot_descriptionの情報を使ってモデルを登場させます。

  4. コントローラの起動 各関節を制御するコントローラを起動します。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

    としてください。