書店員向け情報 HELP
出版者情報
書店注文情報
ROS2ではじめよう 次世代ロボットプログラミング
- 書店発売日
- 2019年8月13日
- 登録日
- 2019年6月25日
- 最終更新日
- 2019年8月28日
紹介
Robot Operation System(ROS)の次世代バージョンであるROS2はロボットアプリケーション開発のためのミドルウェアです。ROS2は、ROS1で得られた経験をもとにほぼ再実装されたため、ROS1と直接的には互換性がありません。ROS1は通信内容が暗号化されておらず認証機能もありませんので、セキュリティ面で見ると商用ロボットの開発には不向きでした。ROS2ではセキュリティ、メンテナンス性、ライセンス、商業サポートなどのさまざまな観点から見直され、開発当初から製品への組み込みを目標にして再設計されています。
本書は今後のロボットアプリケーション開発のデファクトスタンダードになるROS2の入門書です。基本操作から、ROS1の資産を活用するための接続方法、パッケージの開発方法までを網羅します。本書のサンプルコードはC++ですが、それ以外のプログラミング言語を用いたクライアントライブラリについても解説します。ROS1ではUbuntuのみで利用できましたが、ROS2からはWindows、macOSで利用できるようになり、さらに利用者が増えると見込まれています。主なOSの開発環境のセットアップについても解説します。これからロボット開発をはじめたいと考える方だけでなく、ROS1ユーザにとっても有用な1冊です。
目次
- はじめに
- ROSとは何か
- ROS2はなぜできたか
- なぜ本書を書いたか
- 本書の構成
- 本書の読者
- 前提知識
- オンラインリソース
- 第1章 ROS1ツアー
- 1-1 ROSの歴史
- 1-2 ROS1の開発環境セットアップ
- 1-3 Hello world!
- 1-4 センシング
- 1-5 Gazeboシミュレーション
- 1-6 ナビゲーション
- 1-7 マニピュレーション
- 1-8 ROS1のない世界
- 第2章 ROS2の開発環境セットアップ
- 2-1 Ubuntu 18.04のインストール
- 2-2 ROS1のセットアップ無効化
- 2-3 ROS2のインストール
- 2-4 サンプルコードのセットアップ
- 第3章 ROS2の基本機能
- 3-1 ROS1とROS2の違い
- 3-2 ROS1との内部アーキテクチャ比較
- 3-3 Data Distribution Service(DDS)
- 3-4 ROS2フロントエンドツールros2
- 3-5 ROS1/2パッケージビルドツールcolcon
- 3-6 トピック
- 3-7 サービス
- 3-8 パラメータ
- 第4章 ROS2の応用機能
- 4-1 Launchシステム
- 4-2 アクション
- 4-3 ライフサイクル
- 4-4 Quality of Service (QoS)
- 4-5 DDSベンダ実装の変更
- 4-6 セキュリティ
- 4-7 ROS1ノードとの相互接続
- 4-8 リアルタイム制御
- 第5章 ROS2に対応したツール/パッケージ
- 5-1 進むROS2への対応
- 5-2 トピック記録・再生ツールrosbag2
- 5-3 可視化ツールrviz2
- 5-4 RealSenseドライバros2_intel_realsense
- 5-5 ナビゲーションパッケージnavigation2
- 5-6 動作計画パッケージmoveit2
- 5-7 Gazeboシミュレーション連携
- 第6章 Roomba用ROS1ドライバのROS2移行
- 6-1 RoombaとROSの歴史
- 6-2 シリアル通信ケーブルの入手
- 6-3 Roomba/Create のROS1ドライバcreate_autonomy
- 6-4 拙作ROS2版create_autonomy
- 6-5 package.xmlの更新
- 6-6 メッセージ、サービス、アクション定義の更新
- 6-7 ビルドシステムの変更
- 6-8 ソースコードの更新
- 6-9 まとめ
- 第7章 Pythonクライアントライブラリrclpy
- 7-1 ROS2 のクライアントライブラリ
- 7-2 パッケージ構成
- 7-3 トピック実装
- 7-4 サービス実装
- 7-5 アクション実装
- 付録
- A-1 コンポーネント指向ROS2ノードプログラミング
- A-2 Windows 10での開発環境セットアップ
- A-3 macOS Mojaveでの開発環境セットアップ
- A-4 サンプルコードのライセンス条項
上記内容は本書刊行時のものです。