いよいよ本日、「ROS2ではじめよう 次世代ロボットプログラミング」が一般の書店やAmazonなどのECサイトでも発売となります。一部、予約者の中には発売日よりも先に届いている方もいるようですね。

オンラインリソース

書籍のオンラインリソースは以下のGitHubレポジトリとウェブサイトで公開しています。

サンプルコードのほか、FAQや正誤表も載せていますので、ぜひご活用ください。特にmacOSユーザはFAQを読まれることをお勧めします。ROS2の開発環境構築の詰まりポイントの解決方法を書いています。

https://www.youtalk.jp/get-started-ros2/faq.html

先行販売

先行販売という形で、東京近郊の大型書店では一足早く8月5日から冊数限定ながら販売が開始されていました。 私も月に一回は会社帰りに訪れる秋葉原の書泉ブックタワーさんには、一番早く8月5日に店頭に並べていただけました。私が出版社から見本を受け取る日が8月6日だったので、著者より先に手にした方がいたかもしれません。 そして、なんと書泉さんでは8月4日の週のコンピュータ書ベスト一位を獲得することができました。初動の最初で最後の輝きだとは思いますが、それでもとても嬉しかったです。

何人かの学業でお世話になった方々、ROSCon JP関係者、識者の方々に献本もお贈りさせていただきました。感謝の気持ちがほとんどですので、無理に感想などを投稿していただかなくても大丈夫です(が、もちろん投稿いただければ僕個人としては嬉しいです)。

これまでを振り返って

本書の執筆は12月中旬に技術評論社の編集者さんから打診を受けて、12月末から書き始めました。そして、5月ゴールデンウィーク明けに第1校を書き上げて、編集協力者にレビューしてもらいました。6月からはデザイナの方にPDFの形にInDesignしてもらい、PDF上で僕含めて数度の校正を行いました。ようやく7月中旬頃に僕の役目は終わりました。その後は出版社の方に目次、索引作成や電子書籍化を進めていただき、本日、無事に書籍と電子書籍の同時発売にこぎつけました。出版社の方々、本当にありがとうございました。お疲れ様でした。

万事順調に終わったといいたいところですが、もちろんそんなわけはありません。執筆活動はGitHubのプライベートレポジトリで進めたのですが、下のスクリーンショットはそのコミット履歴です。 5月後半から6月前半にかけて恐ろしく高い山があることがわかりますね。この頃は編集協力者のレビュー結果を受けて、その修正を行っている頃です。さらに、5月31日のROS2 Dashing Diademataのリリース対応も重なり、この頃は毎日辛く険しい戦いでした。峠を越えるとは文字通りこのこと、今思い出すだけでも少し胃がもたれます…

もう一つ面白いグラフが毎日の追加行数の推移のスクリーンショットです。3月に入って、5月直前まで執筆活動が滞っていることが明らかです。この頃は仕事面でも一波乱あったのもあるのですが、一番の問題は、2月末までに簡単に書けるところは書き切ってしまったことが原因です。そこから先は、まずはROS2のソースコードや散見するドキュメントを頭の中にインプットして整理する必要があって、執筆はほとんど進みませんでした。

バイオリズムみたいに1, 2週おきに山谷の周期があるのも面白いですね。これは週末にガッツリ書いて、平日はさすがに執筆量が落ちていたからだと思います。 PDF校正はDropbox上で行ったため、GitHubには反映されていませんが、毎回一から本を読み直す必要があり、こちらもかなり時間がかかりました。

書いたこと、書かなかったこと

本書は2019年5月から2年間の長期間サポートを約束されたROS2 Dashing Diademataに対応しています。ですので、少なくとも2021年までは内容が陳腐化しないことが重要でした。 そのため、本書ではROS2に対応したツールやパッケージの紹介は最小限にしようと、執筆初期の段階から決めておりました。おそらく書いたそばから古くなっていくことは目に見えています。ですので、そうではなく、当分変わることのないROS2の目的、特徴、機能、プログラミング手法を網羅的に扱うことに徹しました。 ROS2のナビゲーション2やMoveIt2の詳細を知りたい方には、味気ない部分もあるかもしれませんが、その点ご了承ください。

誌面より

本書は書籍です。オンラインドキュメントのように簡単に改訂することは難しいです。そこで、本書で扱った項目はすべてこれから開発が進んでも、ほとんど内容が変わらないROS2の根幹を占める部分の説明に終始するように注意しました。特に「ROS2に対応したツール/パッケージ」の章はこれから急ピッチで開発が進み、今もし詳細に書いたとしてもすぐ内容が陳腐化してしまいます。だからあえて5章は軽く触れる程度に抑えました。本書を読破してROS2の開発ができるようになった皆様なら、ここから先は皆様自身の手でROS2に対応したツール、パッケージのドキュメントやソースコードを読んだり、開発にも取り組んだりできるようになっているはずです。皆様の手でROS2をより良いものにしていきましょう。日本人のROS2開発者が少しでも多くなったならば、本書を執筆した甲斐がありました。

ROS Japan UG #31 ROS2勉強会

が、その点はROS2勉強会でこれから補完していこうと考えています。まずは僕自身がナビゲーション2をゼロから学んでいきます。 8月23日にはROS Japan UG #31 ROS2勉強会が開催されます。僕は「ゼロからはじめるNavigation 2 on RasPi Mouse」というタイトルで発表するつもりです。 一昨日、ようやくRPLiDAR A1M8のROS1ドライバがROS2に移行できたので、これからナビゲーション2を学びつつ動かしていきます。お楽しみに。