書籍概要

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

著者
発売日
更新日

概要

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

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

こんな方におすすめ

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

目次

はじめに

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

サポート

現在サポート情報はありません。

商品一覧