2020.01.09この記事は私が金沢工業大学ロボティクス学科で担当している講義ロボットプログラミングII用です。今回は先回作った2自由度のロボットアームの先端に位置センサを取り付け、先端位置を取得するプログラムを作ります。位置センサ用プラグインの追加gazeboのロボットモデルに位置センサを取り付けるために、~/catkin_ws/src/armbot2_sensor/urdf/armbot2_sensor.gazeboに以下のプラグインを追加します。</gazebo>ソース前週のソースコードにgroundTruthCallback関数を追加し、トピック/armbot2_sensor/pose_ground_truthTurtlebtをサブスクライブするだけで、位置センサからのデータを取得できます。ノードハンドラの作成。ハンドラは必要になったら起動される。トピックに対してデータを送信。この場合は10Hz、1秒間に10回数、1ループ100ms。0;}launchファイルこの演習で使うlaunchファイルarmbot2_sensor.launchを以下示す。説明はコメントを読んで頂きたい。このlaunchファイルでgazeboやロボットコントローラなどの必要なノードを起動している。liburdfdom-toolsプログラムとビルド以下を~/catkin_ws/srcディレクトリ(/home/ユーザ名/catkin_ws/src)にダウンロードする。端末を2つ開き、次のコマンドを実行する。dコマンドを入力する毎にEnterキーを入力するとロボットアームが動く。各コマンドを入力する度にEnterキーを押さなければ動きません。kは第2関節を正方向、dは負方向に目標角度を5度ずつ変化させる。