Skip to content

初心者向け: クライアントライブラリ

ROS 2のクライアントライブラリ(C++およびPython)を使用したプログラミングの基礎を学習するチュートリアルです。実際のコードを書きながら、ROS 2アプリケーションの開発方法を習得できます。

🎯 学習目標

このセクションを完了すると、以下のことができるようになります:

  • ROS 2ワークスペースとパッケージの作成・管理
  • C++とPythonでのパブリッシャー/サブスクライバーの実装
  • サービスとクライアントの作成
  • カスタムメッセージとサービスファイルの定義
  • パラメータを使用したノードの設定
  • プラグインシステムの活用

� チュートリアル一覧

1. 開発環境の準備

2. 基本的な通信パターンの実装

パブリッシャー/サブスクライバー

サービス/クライアント

3. カスタムインターフェースとパラメータ

4. 高度な機能

🚀 次のステップ

基本的なクライアントライブラリの使用方法をマスターしたら、中級に進んで、より高度なROS 2の機能を学習しましょう。

💡 学習のコツ

  • C++とPythonの両方のチュートリアルを比較して理解を深めましょう
  • 実際にコードを書いて動作を確認することが重要です
  • エラーが発生した場合は、ros2doctorを使用してデバッグしてみましょう
  • カスタムインターフェースを作成する前に、標準的なメッセージタイプを確認しましょう
    • ROS 2パッケージの基本構造
    • package.xmlとCMakeLists.txt
  1. 簡単なパブリッシャーとサブスクライバーの作成 (C++)

    • C++でのノード作成
    • トピック通信の実装
  2. 簡単なパブリッシャーとサブスクライバーの作成 (Python)

    • Pythonでのノード作成
    • トピック通信の実装
  3. 簡単なサービスとクライアントの作成 (C++)

    • C++でのサービス実装
    • 同期通信パターン
  4. 簡単なサービスとクライアントの作成 (Python)

    • Pythonでのサービス実装
    • 同期通信パターン
  5. カスタムmsgおよびsrvファイルの作成 -独自メッセージタイプの定義

    • インターフェース定義言語(IDL)
  6. カスタムインターフェースの実装

    • カスタムインターフェースの使用
    • パッケージ間でのインターフェース共有
  7. クラスでのパラメータの使用 (C++)

    • C++でのパラメータハンドリング
    • 動的パラメータ設定
  8. クラスでのパラメータの使用 (Python)

    • Pythonでのパラメータハンドリング
    • 動的パラメータ設定
  9. ros2doctorを使用した問題の特定

    • システム診断ツールの使用
    • 一般的な問題のトラブルシューティング
  10. プラグインの作成と使用 (C++)

    • pluginlibの使用
    • 動的ライブラリローディング

学習の進め方

  1. CLIツールの習得: まず初心者向け: CLIツールを完了してください
  2. 実践的なアプローチ: 各チュートリアルでは実際にコードを書いて実行します
  3. 言語の選択: C++またはPythonのどちらかを選んで始めることをお勧めします
  4. 段階的な学習: 基本的なパブリッシャー/サブスクライバーから始めて、より複雑な機能へと進んでください

前提条件

  • 初心者向け: CLIツールの完了
  • C++またはPythonの基本的なプログラミング知識
  • ROS 2 Humbleのインストール
  • colconビルドツールのインストール

開発環境

C++開発

  • GCC 7.5+またはClang 6.0+
  • CMake 3.5+
  • 適切なC++開発環境(VS Code、CLion、QtCreatorなど)

Python開発

  • Python 3.6+
  • pip3
  • 適切なPython開発環境(VS Code、PyCharm、vim/emacsなど)

次のステップ

クライアントライブラリの基本を習得したら、中級セクションに進んで、より高度なROS 2概念(Launch、tf2、テストなど)を学習してください。

Released under the MIT License.