ROS2ではじめよう 次世代ロボットプログラミング

[表紙]ROS2ではじめよう 次世代ロボットプログラミング

紙版発売
電子版発売

A5判/264ページ

定価3,058円(本体2,780円+税10%)

ISBN 978-4-297-10742-0

電子版

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

Robot Operation System(ROS)の次世代バージョンであるROS2はロボットアプリケーション開発のためのミドルウェアです。ROS2は,ROS1で得られた経験をもとにほぼ再実装されたため,ROS1と直接的には互換性がありません。ROS1は通信内容が暗号化されておらず認証機能もありませんので,セキュリティ面で見ると商用ロボットの開発には不向きでした。ROS2ではセキュリティ,メンテナンス性,ライセンス,商業サポートなどのさまざまな観点から見直され,開発当初から製品への組み込みを目標にして再設計されています。

本書は今後のロボットアプリケーション開発のデファクトスタンダードになるROS2の入門書です。基本操作から,ROS1の資産を活用するための接続方法,パッケージの開発方法までを網羅します。本書のサンプルコードはC++ですが,それ以外のプログラミング言語を用いたクライアントライブラリについても解説します。ROS1ではUbuntuのみで利用できましたが,ROS2からはWindows,macOSで利用できるようになり,さらに利用者が増えると見込まれています。主なOSの開発環境のセットアップについても解説します。これからロボット開発をはじめたいと考える方だけでなく,ROS1ユーザにとっても有用な1冊です。

こんな方におすすめ

  • ロボットの開発に興味のあるエンジニア
  • ロボット新規事業の検討とサーベイを行う方
  • ROS1パッケージのROS2移行を考える方

この書籍に関連する記事があります!

ロボットアプリケーション開発のROS2とは
Robot Operation System(ROS)の次世代バージョンであるROS2は,非常に大きな目標を掲げたロボットアプリケーション開発のためのミドルウェアです。
ROSCon JP 2019開催記念! 9月24日より期間限定で『ROS2ではじめよう 次世代ロボットプログラミング』電子版半額キャンペーンを開催
技術評論社は,「ROSCon JP 2019」開催を記念し,「Gihyo Digital Publishing」にて販売されている書籍『ROS2ではじめよう 次世代ロボットプログラミング』の電子版を,開催期間中に限り,定価の半額となる1,390円で販売する。

目次

はじめに

  • 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 サンプルコードのライセンス条項

著者プロフィール

近藤豊(こんどうゆたか)

株式会社Preferred Networks エンジニア。ROS Japan Users Group を主催。奈良先端科学技術大学院大学 情報科学研究科 博士後期課程 修了 博士(工学)。
ホームページ:https://www.youtalk.jp/
Twitter:@youtalk