ブログ
BLOG

技術ブログ

前回の「ROS2でSLAM入門1:ROS2インストールからマップ作成編」で、ROS2のインストールから、SLAMのサンプルを動かして、地図を作成しました。


今回は、作成した地図を用いた自律移動ロボットのシミュレーションを試してみたいと思います。 前回同様、ROS2+シミュレータ(Gazebo)を使用していきます。


ロボットを好きな場所に移動させるには「SLAM」と「自律移動(ナビゲーション)」という技術が必要です。SLAMは環境内でのロボット位置姿勢を求めるもので、 自律移動は経路計算・経路追従・障害物回避などを行いながらロボットを目的地まで導く技術です。

前回作成した地図を活用して、自律移動のシミュレーションを行ってみます。

技術ブログ

2023年8月10日 改訂
対応するROS2のバージョンをfoxy→humbleとし、コマンド等をhumble用に修正。
旧記事(foxy用)はこちら

 ショッピングセンターや空港を走る自律移動ロボットが多く開発されていますが、どういった技術で動いているかご存知でしょうか。 メインとなるのはSLAM(Simultaneous Localization and Mapping)と呼ばれる技術です。 センサ情報などから「自己位置推定」と「環境地図作成」を同時に行うというものです。 この技術を使用すれば、ロボットにとって未知の場所でも自分の位置を認識して走行できます。 以下にSLAMの入力と出力のイメージを示します。

 このような自律移動ロボットを開発する場合、ROSというロボット制御のミドルウェアを活用することが多いと思います。 ROSの基本的な説明はこちらにまとめました。 また最近は、ROSからROS2への移行が進んできています。

 今回のブログでは、これらの技術を体験するために、次の内容について解説していきます。

  • ROS2のセットアップ
  • シミュレーション用ロボットデータのインストール
  • シミュレータでSLAMの実行(地図の作成)

技術ブログ

 前回、機械学習の開発環境を整える方法を解説し、 Windows上に、Visual Studio Code(VS Code), Anaconda, PyTorchをインストールしました。

前回の記事:Pytorchで機械学習1:Anaconda/VS Codeで環境構築編


 今回はニューロ(機械学習)の基礎を簡単に解説し、PyTorchのプログラムで動かす方法を示します。 シンプルな例として、2入力1出力のXOR問題というものを学習するプログラムを解説します。