yotiky Tech Blog

とあるエンジニアの備忘録

ROS ロボットプログラミングバイブル 第1章

ROSロボットプログラミングバイブル を読み始めたのでそのまとめです。

もくじ

第1章

ROSはソフトウェアプラットフォームである。

パソコンやスマホではOSが、ハードウェア・ソフトウェア間で統一的なインタフェースを提供し、ハードウェアのモジュール化、ハードウェアの抽象化、およびハードウェア開発とアプリケーション開発が分離され、多くのサービスとユーザーを獲得し、「大衆化されたプラットフォーム」となった。

ロボット分野でもプラットフォームの必要性が認識されつつあり、それはソフトウェアとハードウェアに分けられる。

ソフトウェアプラットフォームには、ハードウェアの抽象化や低レベルのデバイス制御、センサ信号処理と認識、学習、位置推定や地図作成(SLAM)、ナビゲーション、マニピュレーションなどの高度な制御、パッケージ管理、ライブラリや開発環境、デバッグ用ツールなどが含まれる。

ハードウェアプラットフォームには、移動ロボットやドローン、研究用ロボットから一般向けのロボットまで含まれる。

ソフトウェアプラットフォームはハードウェアプラットフォームと密に連携し、ハードウェアの機能や動作を抽象化することで、アプリ開発者がハードウェアに関する深い知識がなくとも開発できるようにする。

現在最も世界で普及しているロボットソフトウェアプラットフォームがROS。他にもいくつか有名なプラットフォームがしのぎを削っている。

ROSの5つの特徴。

  1. プログラムの再利用性
  2. コンポーネント化されたプログラムと通信
  3. 豊富な開発ツール
  4. 活発なコミュニティ活動
  5. エコシステムの構築