New Release: First ROS 2 book in Japan

Hi all, I’m Yutaka Kondo @youtalk from Japan.

I’m pleased to inform you that my book named “ROS2ではじめよう 次世代ロボットプログラミング” (Getting Started with ROS 2, the Next Generation Robot Programming Framework) will be published on Aug. 13th 2019 in Japan. https://www.amazon.co.jp/dp/4297107422

The book contains comprehensive features and applications of ROS 2. I hope it’s slightly better than the current official online resources. :lying_face:
Note that one of the book reviewers is Geoffrey Biggs. Without his huge effort I couldn’t finish writing it. Thank you very much, @gbiggs.

I would like to translate the book into English with some of your cooperation after a while. Then I also would like to donate freely the contents to https://index.ros.org/doc/ros2/ website (or the other proper place) under appropriate license such as CC BY 3.0.

The table of contents is shown below. The English titles follow Japanese.

  • はじめに (Introduction)
    • ROSとは何か (What is ROS?)
    • ROS2はなぜできたか (Why does ROS 2 start?)
    • なぜ本書を書いたか (Why did I write book?)
    • 本書の構成 (Book composition)
    • 本書の読者 (Book readers)
    • 前提知識 (Prior knowledge)
    • オンラインリソース (Online resource)
  • 1章 ROS1ツアー (ROS 1 tour)
    • 1-1 ROSの歴史 (ROS history)
    • 1-2 ROS1の開発環境セットアップ (Set up of ROS 1 development)
    • 1-3 Hello world!
    • 1-4 センシング (Sensing)
    • 1-5 Gazeboシミュレーション (Gazebo simulation)
    • 1-6 ナビゲーション (Navigation)
    • 1-7 マニピュレーション (Manipulation)
    • 1-8 ROS1のない世界 (World without ROS 1)
  • 2章 ROS2の開発環境セットアップ (Set up of ROS 2 development)
    • 2-1 Ubuntu 18.04のインストール (Ubuntu 18.04 installation)
    • 2-2 ROS1のセットアップ無効化 (How to disable ROS 1 set up)
    • 2-3 ROS2のインストール (ROS 2 installation)
    • 2-4 サンプルコードのセットアップ (Set up of sample code)
  • 3章 ROS2の基本機能 (Basic features of ROS 2)
    • 3-1 ROS1とROS2の違い (Difference between ROS 1 and ROS 2)
    • 3-2 ROS1との内部アーキテクチャ比較 (Comparison with ROS 1 architecture)
    • 3-3 Data Distribution Service(DDS)
    • 3-4 ROS2フロントエンドツールros2 (ros2: ROS 2 frontend tool)
    • 3-5 ROS1/2パッケージビルドツールcolcon (Colton: ROS 1/2 package build tool)
    • 3-6 トピック (Topic)
    • 3-7 サービス (Service)
    • 3-8 パラメータ (Parameter)
  • 4章 ROS2の応用機能 (Advanced features of ROS 2)
    • 4-1 Launchシステム (Launch system)
    • 4-2 アクション (Actio)
    • 4-3 ライフサイクル (Lifecycle)
    • 4-4 Quality of Service (QoS)
    • 4-5 DDSベンダ実装の変更 (DDS vendor replacement)
    • 4-6 セキュリティ (Security)
    • 4-7 ROS1ノードとの相互接続 (Bridge with ROS 1 node)
    • 4-8 リアルタイム制御 (Real time control)
  • 5章 ROS2に対応したツール/パッケージ (ROS 2 migrated tools / packages)
    • 5-1 進むROS2への対応 (ROS 2 migration progress)
    • 5-2 トピック記録・再生ツールrosbag2 (rosbag2: Topic record and playback tool)
    • 5-3 可視化ツールrviz2 (rviz2: Visualization tool)
    • 5-4 RealSenseドライバros2_intel_realsense (ros2_intel_realsense: RealSense driver)
    • 5-5 ナビゲーションパッケージnavigation2 (navigation2: Navigation package)
    • 5-6 動作計画パッケージmoveit2 (moveit2: manipulation package)
    • 5-7 Gazeboシミュレーション連携 (Gazebo simulation bridge)
  • 6章 Roomba用ROS1ドライバのROS2移行 (ROS 2 migration practice of Roomba ROS 1 driver)
    • 6-1 RoombaとROSの歴史 (History of Roomba and ROS)
    • 6-2 シリアル通信ケーブルの入手 (How to get serial cable for Roomba)
    • 6-3 Roomba/Create のROS1ドライバcreate_autonomy (create_autonomy: Roomba/Create ROS 1 driver)
    • 6-4 拙作ROS2版create_autonomy (My implementation of ROS 2 create_autonomy)
    • 6-5 package.xmlの更新 (Update of package.xml)
    • 6-6 メッセージ、サービス、アクション定義の更新 (Update of message, srvice, and action definition)
    • 6-7 ビルドシステムの変更 (Build system replacement)
    • 6-8 ソースコードの更新 (Update of source code)
    • 6-9 まとめ (Summery)
  • 7章 Pythonクライアントライブラリrclpy (rclpy: Python client library)
    • 7-1 ROS2 のクライアントライブラリ (ROS 2 client libraries)
    • 7-2 パッケージ構成 (Package configuration)
    • 7-3 トピック実装 (Topic implementation)
    • 7-4 サービス実装 (Service implementation)
    • 7-5 アクション実装 (Action implementation)
  • おわりに (Conclustion)
    • ROS2 Technical Steering Committee
    • 事前アンケート (Pre-questionnaire)
    • 本を書くということ (How difficult to write book)
    • 謝辞 (Acknowledgements)
  • 付録 (Appendix)
    • A-1 コンポーネント指向ROS2ノードプログラミング (Component based ROS 2 node programming)
    • A-2 Windows 10での開発環境セットアップ (Development set up on Windows 10)
    • A-3 macOS Mojaveでの開発環境セットアップ (Development set up on macOS Mojave)
    • A-4 サンプルコードのライセンス条項 (License print of sample code)

Through learning ROS 2 from scratch and writing the book, I was 100% sure that ROS 2 is promising and will change the world. Finally I will donate the part of the profits from the book sales to Open Robotics. Thanks to Open Robotics (or OSRF) I’m here.

10 Likes

Hi Kondo, I think this is the FIRST book about ROS 2. The ecosystem of ROS is really important. This is good news to celebrate in the ROS community. Congratulations and thank you. I look forward to your future contributions. :slight_smile:

I hope so. I keep contributing not only the documentation but also the development of ROS 2.

Since the first edition was published in 2019, I have been fortunate to have 5,000 readers. After five years, I’m releasing a completely revised second edition.

It is scheduled for release on September 19th, and the Kindle version will be also available. The content has been updated to reflect the latest ROS 2 Jazzy, which comes with five years of support, and the content related to ROS 1 has been entirely removed. It also includes practical examples, major tools, and discussions about the ecosystem.

Whether you own the first edition or not, I would be grateful if you could pick up a copy. I have carefully chosen the sentences and footnotes to make the content friendly not only for engineers but also for business people involved in the robotics industry and students.

https://amzn.to/3yXGyP6

3 Likes