ROSシミュレーションでgmapping、ナビゲーションを行う

3119 ワード

1.まず、Turtlebot関連のすべての機能パッケージをインストールする必要があります.次のコマンドを使用してインストールします.
sudo apt-get install ros-kinetic-turtlebot-*

2.入力
sudo gedit ~/.bashrc

次の行に加わる
export TURTLEBOT_GAZEBO_WORLD_FILE="/opt/ros/kinetic/share/turtlebot_gazebo/worlds/playground.world"

3.gazeboシミュレーションの起動
roslaunch turtlebot_gazebo turtlebot_world.launch

正確にはgazeboの図が現れるはずです.
4.SLAM建図
次のコマンドを使用してgmapping_を開きます.demo.Launchファイル、少し修正します:
$ roscd turtlebot_gazebo/launch/
$ sudo gedit gmapping_demo.launch

結果は次のとおりです.

    
  
  

次に、次のコマンドを使用してシミュレーション環境とgmappingノードを起動します.
$ roslaunch turtlebot_gazebo turtlebot_world.launch
$ roslaunch turtlebot_gazebo gmapping_demo.launch
$ roslaunch turtlebot_rviz_launchersview_navigation.launch
$ roslaunch turtlebot_teleopkeyboard_teleop.launch

SLAM終了後、以下のコマンドを使用して地図を保存し、myslamと命名します(このステップで古月を直接使用するとエラーが発生する可能性がありますので、パスを指定してください).
rosrun map_server map_saver -f ~/map/myslam

これで正しく実行できます.
次に,作成した地図上でTurtleBotの自主ナビゲーション機能を実現する.turtlebot_gazebo機能パッケージには同様にナビゲーション機能を実現するlaunch起動ファイルが提供されていますが、ファイル内部の含むパスにも問題があり、直接実行するとエラーが表示されます.
同じ方法で変更:
$ roscd turtlebot_gazebo/launch/
$ sudo gedit amcl_demo.launch

次のように変更します.

   
   
   

   
   
   
   
   
       
       
       
   

   
  

ここは大きな穴に出会って、私は直接複製した古月ブロガーのこの端なので、結局新聞を間違えて、半日探して彼が貼ったこの部分のスペースが消えたことに気づいて、だから新聞を間違えて、私が貼った自分で手動でスペースを打ちました.
シミュレーション環境以外のノードとrvizを閉じ、次のコマンドを実行するとナビゲーションを開始できます.gazeboだけは関系なく、他は関系ありません.
roslaunch turtlebot_gazebo amcl_demo.launch map_file:=/home/midi/map/myslam.yaml
roslaunch turtlebot_rviz_launchers view_navigation.launch

やはり古月のスペースが消されることに注意します.
最後に2 D Nav Goalをクリックしてターゲットポイントを選択します.
参照先:https://zhuanlan.zhihu.com/p/35822939