2. 始める前に

2-1. R2miniシステムの理解


2-2. Ubuntuとは?

Ubuntuは コンピューターを動かす基本的なプログラム(オペレーティングシステム)の一つです。
私たちがよく使うWindowsやMacOSもオペレーティングシステムであり、Ubuntuもその一つです。

しかし、ロボット分野ではUbuntuが標準として使われています。


その理由は?

  • ロボット用ソフトウェア(特にROS)がUbuntuで最も安定して動作する
  • 無料で使用できる
  • 研究・開発用のプログラムの多くがUbuntuと相性が良い


簡単に比較すると


項目WindowsUbuntu
一般ユーザー文書作成、ゲーム、YouTubeなど開発者、研究者、ロボット
使用目的便利な日常用正確で自由な開発用
費用基本的に有料無料


つまり、ロボットはUbuntu上で動かすのが最も自然なのです。


2-3. ROSとは?

ROSはRobot Operating Systemの略です。
名前は「オペレーティングシステム」ですが、実際にはロボットをより簡単に作れるようにするソフトウェアの集合体です。


なぜ必要なのか?

ロボットは複数のデバイスが同時に動作します。

  • 車輪を回すモーター
  • 壁までの距離を測定するLiDAR
  • 方向を検知するIMUセンサー
  • 地図を生成するソフトウェア
  • 自律走行を制御するソフトウェア

これらすべてがデータをやり取りし「協調」することでロボットが動きます。

ROSはこの協調を標準的な方法で実現する「共通言語」の役割を果たします。


  • 「自分の位置はここ!」
  • 「前に壁があるよ!」
  • 「左に回転して!」

このような情報を決められたルールに従ってやり取りできるようにします。


2-4. SLAMとは?

SLAMの核心となる問いは2つあります。

  1. 「自分は今どこにいるのか?」

  2. 「周囲の環境はどのようになっているのか?」

SLAMはこの2つの問題を同時に解決する技術です。


なぜ必要なのか?

家や倉庫などの屋内ではGPSがうまく機能しません。
そのためロボットは自分で周囲を観察しながら、自分の位置を推定する必要があります。


ロボットが使用する情報:

  • LiDAR(レーザーで周囲との距離を測定)
  • IMU(傾きや回転を検知)
  • 車輪の回転量(どのくらい移動したかを推定)

これらのデータを組み合わせて、ロボットは「地図と自分の位置」をリアルタイムで計算します。


   簡単に言えば:
   「コンパスなしで地図を描きながら旅をする探検家」のようなものです。


2-5. Mappingとは?

Mappingとは、地図を作るプロセスです。

ロボットが周囲を移動してスキャンすると、コンピュータは
「ここは壁です」
「ここは通れる通路です」
と記録します。

こうして作られた地図は、写真のような画像として保存されます。


例:

██████ 壁 ・ ・ ・ ・ 通路(通れる道)

Mappingは、後で自律走行を行うために必ず最初に行う必要があるプロセスです。


2-6. Navigationとは?

Navigationとは、作成された地図の上で目的地まで自律的に移動するプロセスです。

ロボットが行うこと:

  1. 地図上での現在位置の確認
  2. 目的地までの経路探索(Path Planning)
  3. 移動中の障害物回避
  4. 速度・方向を計算して車輪モーターを制御


   一つの例として考えると:
   ナビゲーションアプリ(カカオ/Google)をロボットが自分で起動して、道を探して進むイメージです。


全体の概念フローを一目で確認


ステップ説明結果
Mapping移動しながら地図を作成周囲の地形情報を保存
SLAM地図と自分の位置を同時に計算「私は今ここにいる」
Navigation地図上で目的地まで自律移動自律走行完了

理解を助ける直感的な比喩のまとめ


概念人に例えるとロボットでは
Ubuntu私たちが生活する「基本環境」ロボットソフトウェアを実行する
オペレーティングシステム
ROS共通言語およびコミュニケーションの仕組みセンサー・モーター・制御が協力するルール
SLAM地図を見ながら道を探す探検家(Explorer)移動しながら地図作成+自分の位置推定
Mapping周囲の地域を手で描く地図作業LiDARで壁・通路を記録
Navigationナビゲーションを起動して目的地まで行く地図を基に自律走行