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

【自律型ロボット製作記】#3 Hector SLAMとmove_baseで自律走行させる

こんにちは、InomaCreateです。
前回、Hector SLAMからマップが作成できることを確認しました。
今回は、Hector SLAMと自律走行のためのナビゲーションを組み合わせて自律走行させてみました。
動作環境:
・ラズパイ3B+ (Ubuntu16.04 + ROS kinetic)
・UbuntuPC (Ubuntu16.04 + ROS kinetic)

スポンサーリンク

Navigation Stack

Navigation Stackは、ロボットを自律走行させるためのROSのパッケージ群です。
今回は、その中でも目的地までのナビゲーションを実施してくれるmove_baseパッケージと前回試した自己位置&地図生成を行うHector_SLAMを組み合わせて自律走行させてみます。
以下Gitにmove_baseとHector_SLAMのサンプルがありますので、そちらを活用させていただきました。
https://github.com/DaikiMaekawa/navigation2d_example

事前準備

※事前準備は、すべてubuntuPC側の設定です。
まずは、前回記事で入れたように、Hector_SLAMのパッケージをインストールします。(前回記事参照)
【自律型ロボット製作記】#2 RPLiDAR A1M8 レーザースキャナでSLAMを試す

あとは、ナビゲーションに関連しそうな依存パッケージを入れておきます。

$ sudo apt-get install ros-kinetic-joy ros-kinetic-teleop-twist-joy ros-kinetic-teleop-twist-keyboard ros-kinetic-laser-proc ros-kinetic-rgbd-launch ros-kinetic-depthimage-to-laserscan ros-kinetic-rosserial-arduino ros-kinetic-rosserial-python ros-kinetic-rosserial-server ros-kinetic-rosserial-client ros-kinetic-rosserial-msgs ros-kinetic-amcl ros-kinetic-map-server ros-kinetic-move-base ros-kinetic-urdf ros-kinetic-xacro ros-kinetic-compressed-image-transport ros-kinetic-rqt-image-view ros-kinetic-gmapping ros-kinetic-navigation

navigatinのサンプルをgitからクローンして、catkin_makeを実行します。

$ cd ~/catkin_ws/src/
$ git clone https://github.com/DaikiMaekawa/ros-navigation2d-example
$ cd ../
$ catkin_make

launchファイルの変更

今回使用したサンプルは、roomba用になっていますので、起動時にエラーが出ました。
したがって、不要なノードをコメントアウトして削除しておきます。

■ros-navigation2d-expample/launch/move_base.launch

■ros-navigation2d-expample/launch/hector_hokuyo.launch

実行方法

以下ディレクトリへ移動します。

$ cd catkin_ws/src/ros-navigation2d-example/launch/

move_baseのlaunchを起動します。※ubuntu PC側

$ roslaunch move_base.launch

ロボット側で、rplidarのlaunchを起動します。※ロボット(ラズパイ側)

$ roslaunch rplidar_ros rplidar.launch

ロボット側でmotor駆動用のノードを起動します。※ロボット(ラズパイ側)

$ rosrun inobo_motor inobo_dcmotor.py

Rvizが立ち上がり、マップ上にロボットが表示せます。
2D Nav Goalボタンを押して目的地を指定すると、ロボットが自律走行を始めます。

単純な目的地であれば、うまく自律走行することができました!
ただし、モーターへの出力制御が調整できていないのか、カーブ走行がうまくいかず、遠くの目的地へ行くには、こまめに目的地を指定しないとうまくいきません。まだまだ改善点が多いですね。

最後に

キャタピラー型のため、迂回が苦手なので、障害物がうまく避けれないことや、速度を速くすると自己位置を見失うなどいろいろ細かな課題はありますが、とりあえず、簡単な自律走行が実現できてよかったです!
Navigationの仕組みや、各パラメータの意味を理解するなどまだまだ勉強することが盛り沢山ですが、少しずつ理想のロボットに近づけるように頑張っていきます!

それでは!!

参考

本記事を作成するにあたり、以下サイトを参考にさせていただきました。ありがとうございます。
http://tokunn.hateblo.jp/entry/2017/02/04/181018

hector_slamと2D Navigationを組み合わせてRoombaを自律移動させる

スポンサーリンク

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

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

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

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

無料WordPressテーマ

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

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

ブログ用無料WordPressテーマ

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

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

無料WordPressテーマ

コメントを残す

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

CAPTCHA


ページトップボタン