23章ROSでC++を使う
本書では多くの理由からPythonを使いました。最初の理由は、Pythonはそれほどコンピューターサイエンスの経験がなくても使える言語だからです。次に、Pythonはコアパッケージにたくさんの役に立つ機能があるので、細かいことを気にせずに高いレベルの内容に集中することができます。さらに、ROSはPythonを強力にサポートしています。最後に、本書ではすべてのサンプルを1つの言語で扱いたかったからであり、そういう意味でPythonは適切な言語だったのです。
しかし、ROS開発で他の言語が使いたくなることがあります。例えば、皆さんが使いたいライブラリがPythonでサポートされていなかったり、他の言語での開発のほうがやりやすい場合もあるでしょう。コンパイラー言語がもたらす実行速度の(わずかな)速さに惹かれることもあります。本章では、ROSでサポートされているC++のAPIがPythonとどう違うのか、本書の例をどうやってC++に変換するのかを見ていきます。C++を含めROSのAPIを持つ他の言語でもイディオムやデザインパターンはすべて同じです。コールバックを用い、トピックにメッセージを渡します。しかしながら、構文や特定のデータ構造は若干異なります。Pythonを他の言語に変換する方法がわかれば、ある言語で書かれた例を別の言語に書き直すのは簡単です。
ROSのAPIで最もよくサポートされている言語はPythonとC++です。本章では、C++のAPIに焦点を当てますが、ここで説明することの多くは、他の言語のAPIにも適用できます。構文とデータ構造の違いがわかれば、いろいろなものが同じに見え始め、言語を好きなように切り替えることができるようになります。
23.1 ...
Get プログラミングROS ―Pythonによるロボットアプリケーション開発 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.