ブログ
BLOG

技術ブログ

ソフトウェアチームの高橋です。

ROS 2は、ロボットシステムの開発において非常に強力なツールであり、その中でロボットシステムの起動を担うのがLaunchファイルです。

Launchファイルは、ROS 2ノードやトピック、パラメータなどの設定を記述し、複数のノードを起動し管理するための仕組みです。launchファイルからノードが起動するイメージを示します。

ROS 2では、LaunchファイルをPython、XML、YAMLの3つの形式で記述することができます。

まず、例を用いて各形式のファイルを示します。

その後にそれぞれの形式の特徴やメリット、デメリットを挙げていきます。

技術ブログ

前回の「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の実行(地図の作成)