ROSロボットプログラミングバイブル を読み始めたのでそのまとめです。
もくじ
第1章
ROSはソフトウェアプラットフォームである。
パソコンやスマホではOSが、ハードウェア・ソフトウェア間で統一的なインタフェースを提供し、ハードウェアのモジュール化、ハードウェアの抽象化、およびハードウェア開発とアプリケーション開発が分離され、多くのサービスとユーザーを獲得し、「大衆化されたプラットフォーム」となった。
ロボット分野でもプラットフォームの必要性が認識されつつあり、それはソフトウェアとハードウェアに分けられる。
ソフトウェアプラットフォームには、ハードウェアの抽象化や低レベルのデバイス制御、センサ信号処理と認識、学習、位置推定や地図作成(SLAM)、ナビゲーション、マニピュレーションなどの高度な制御、パッケージ管理、ライブラリや開発環境、デバッグ用ツールなどが含まれる。
ハードウェアプラットフォームには、移動ロボットやドローン、研究用ロボットから一般向けのロボットまで含まれる。
ソフトウェアプラットフォームはハードウェアプラットフォームと密に連携し、ハードウェアの機能や動作を抽象化することで、アプリ開発者がハードウェアに関する深い知識がなくとも開発できるようにする。
現在最も世界で普及しているロボットソフトウェアプラットフォームがROS。他にもいくつか有名なプラットフォームがしのぎを削っている。
ROSの5つの特徴。
- プログラムの再利用性
- コンポーネント化されたプログラムと通信
- 豊富な開発ツール
- 活発なコミュニティ活動
- エコシステムの構築