デザイン制作、Web制作、ブログ運営などのノウハウを配信するサイト

【自律型ロボット製作記】#4 ROS ゴール到着を検知して最終ゴールまで走行させる

こんにちは、InomaCreateです。

前回、HectorSLAMとmove_baseを使い、目的地へ自律走行させることができました。
ただし、カーブ走行がうまくいかず、遠くの目的地へ行くには、こまめに目的地を指定しないといけないという課題がありました。

そこで、今回は、以下のように中間地点を設け、中間地点に到着したら、次の中間地点を指定、それを繰り返し、最終的に遠くのゴールを目指して走行させるようにしてみました。

スポンサーリンク

Goalについたことを検知

中間地点をゴール指定し、ゴールについたら、次の中間地点を指定するためには、まずゴールについたことを検知しなければなりません。ナビゲーションを制御しているmove_baseは、常に/move_base/statusというトピックを配信しており、このトピックをサブスクライブしておけば、ゴールに到着したことも判定できそうです。
move_base/statusトピックは、具体的には以下のようなステータスが配信されます。

〇ステータスの説明

ゴールに着いた時、上記のSUCCEEDED=3が通知されます。

Goalトピックを配信する

今までは、rviz上でGoalを指定していましたが、中間地点に到着するごとに、手動でゴールを指定していくのは面倒です。よって、スタート位置を原点とし、中間地点の座標を事前に測定しておき、中間地点到着する毎にプログラムから次のゴール座標を指定するようにします。
※ゴールは、”move_base_simple/goal”トピックを配信します。

中間地点を経由して最終ゴールまで走行させるサンプルプログラム

以下のようなプログラムを作成し、中間地点を経由して最終ゴールまで走行させるようにしてみました。中間地点の座標、姿勢は自宅の環境下で設定してますので、適当に変更してください。
※サンプルプログラム

rosのビルド環境へ移動して、rosのパッケージを作ります。

$ catkin_create_pkg inobo_navi(パッケージ名) move_base_msgs actionlib roscpp std_msgs geometry_msgs

上記のプログラムを作成したパッケージのsrcフォルダにアップロードします。
作成したパッケージの中に入っているCmakeLists.txtを編集します。

catkinビルドを実施します。

$ cd ~/catkin_ws && catkin_make

ビルドが成功したら、ナビゲーションさせるためmove_baseを起動します。(以下の記事「実行方法」参照)
【自律型ロボット製作記】#3 Hector SLAMとmove_baseで自律走行させる

作成したパッケージ「inobo_navi」を起動します。

$ rosrun inobo_navi inobo_navi_node

これで、中間地点を経由しながら、最終ゴールを目指して自律走行します。

動画

動画では、中間地点を経由してゴールを目指すプログラムをAndroidアプリ上に実装し、動かしてみました。

最後に

まだまだ、SLAMの精度は改善が必要ですが、少しずつ自律走行が形になってきました。
SLAMの技術は本当に難しく、中身を理解するのにかなり苦戦しています。以下のSLAMの本を読んだのですが、確率論や統計学などの知識が必要でなかなか難しく完全に理解できなかったです。

ということで、別の本も読んで勉強中です。これらで得たノウハウもブログでアウトプットしていこうと考えています。
そのうち記事にしたいと思います。

次は、カメラや他のセンサー、上半身の制御など色々アイデアを出して、試作を繰り返していこうと思います。
それでは!!

スポンサーリンク

いいね!を押すと、
最新記事をお届けします。

Twitter で
関連記事(一部広告含む)

飲食店用WordPress無料テーマ
「InomaRestaurantBasic」

飲食店用の無料WordPressテーマを作成しました。
店のコンセプト、メニュー、アクセスなど
飲食店に必要な最低限の機能を搭載しました。
これから飲食店のホームページを開設したい方、
この無料テーマを是非活用してみてください。

無料WordPressテーマ

ブログ用WordPress無料テーマ
「chameleon(カメレオン)」

WordPressテーマ(chameleon)は、「WordPressで手軽・気軽にブログ始められる」をコンセプトに制作しました。
初めてWordPressでブログを始める方、是非シンプルなテーマchameleon「カメレオン」を使ってみてください!

ブログ用無料WordPressテーマ

士業用WordPress無料テーマ
「InomaExpertBasic」

士業用の無料WordPressテーマを作成しました。
もちろん、一般的なビジネスサイトに活用できます。
自分でサイト更新したい方、
これからホームページを立ち上げようとする方、
自分でWordPressテーマを作ってみたい方、
この無料テーマを是非活用してみてください。

無料WordPressテーマ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


ページトップボタン