LoginSignup
0
0

More than 3 years have passed since last update.

独自ルール:GitLab上でのROS2のドキュメント

Last updated at Posted at 2019-07-10

ROS2関係トップページへ

ROS2のnode libraryを作成し,内部の誰かに使ってもらうときのドキュメンテーションについて.

概要

内部の誰かが自分のプロジェクト(プログラム)を使用する時,主に以下の状況が考えられる.

  1. ROS2の勉強のため
  2. カスタマイズ・改変のため
  3. libraryを利用するため

1,2の場合,ソースを見ることになるが3の場合別にソースを見る必要はない.使えればよい.
ここでは,そのような人に向けたドキュメントの雛形を考える.
言わずもがな当研究室の独自ルールであるが,一般的なより良いお話があれば参考にしたいです.

必要な情報一覧

  • パッケージ名
    • package.xmlやCMakeLists.txtなどで必要
  • node名とインクルードファイル
    • std::make_sharedで実体化するのに必要
  • parameter
    • parameter利用のために必要
    • yaml形式で表現するのが楽
  • 提供するservice名と必要なsrvのクラス名,インクルードファイル
    • service利用のために必要
  • 提供するpublish名と必要なmsgのクラス名,インクルードファイル
    • publish利用のために必要
  • 必要な他のnodeとインクルードファイル
    • 当該nodeの情報一覧へのリンクとして表現
  • 内部で使用するclient/subscribeは,そのサービスを提供するnodeを知っておいて起動する必要があるので必要

ドキュメント

内部GitLabのwikisに書くのがよろし.
例えば「Info_for_user」のページを作成する.

「#や##」と「[](#...)」によってジャンプできるようにしている.
注意としては,[...](#...)の#以降について.

  • 大文字は小文字に
  • スペースはハイフン(-)に
  • ピリオドなどは削除
  • 二つ以上の-はひとつの-に

例えば
# QValues.srv

は[QValues.srv](#qvaluessrv)となる.

GitLabでの目次

[[TOC]]で目次をつくってくれる.

[[_TOC_]]

----

# "パッケージ名1"
## "ノード名1"
...

## "ノード名2"
* #include "package_name/hoge.hpp"
* "namespace::クラス名"
* param info
    * [yaml]("リンク")
* service info
    * "サービス名"
        * 意味・概要
        * ["srvファイル名"](#"srvファイル名")
* client info
    * "使用するサービス名"
        * ["提供を確認しているnode1"]("Info for userの当該node1へのリンク")
        * ["提供を確認しているnode2"]("Info for userの当該node2へのリンク")
        *  ...
* publish info
    * "トピック名"
        * 意味・概要
        * ["msgファイル名"](#"msgファイル名")
* subscribe info
    * "使用するトピック名"
        * ["提供を確認しているnode1"]("Info for userの当該node1へのリンク")
        * ["提供を確認しているnode2"]("Info for userの当該node2へのリンク")
        *  ...
* rclcpp::executorの種類
    * SingleThreadedExecutor
        * OK/NG
    * MultiThreadedExecutor
        * OK/NG

# パッケージ名2  メッセージ専用なら以下のようにsrvとmsgで分けたり.
## "srvファイル"
* #include "srv_package_name/add_two_ints.hpp" //ディレクトリなどは適当...
* request
    * uint32 a
        * 意味・概要
    * uint32 b
        * 意味・概要
* response
    * uint sum
        * 意味・概要

## "msgファイル"
* #include "msg_package_name/two_ints.hpp" //ディレクトリなどは適当...
* topic
    * uint32 a
        * 意味・概要
    * uint32 b
        * 意味・概要

# その他
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0