コマンド

コマンド操作
rospackパッケージの情報を取得(パッケージ情報を保存しているpackage.xmlをパースするコマンド)
rospack find <package>packageのパスを取得
rospack depends1 <package>packageの直接依存パッケージを取得
rospack depends <package>packageの全依存パッケージを取得
rosnode list起動中のnodeを列挙
rosnode ping <nodename>nodenameが起動中かチェック
roscdpackageに移動
roslspackageのディレクトリでls
rosrun [package_name] [node_name]package_nameに含まれる、node_nameのプログラムを実行する。(__name:=my_turtleなどで、node_nameを操作可能)
rosed <package> <file>packageのfileを編集する
rosmsg show [<message> or <package>/<message>]ROSメッセージ定義の情報提供
rossrv show [<service> or <package>/<service>]ROSサービス定義の情報提供
rosrun rqt_graph rqt_graphメッセージの配信購読関係の可視化。青を購読していて、緑に配信している。
rostopic echo /<packagename>/<nodename>topic(/<packagename>/<nodename>)に流れているメッセージをそのまま出力する
rostopic type /<packagename>/<nodename>流れているメッセージの型を出力
rostopic pub -n /<packagename>/<nodename> <message型> -- x yn回topicに指定したメッセージ型と指定したメッセージで送る。 -nは-r 1で1Hzになる。
catkin_create_pkg <package_name> [depend1] [depend2] [depend3](catkinワークスペース内で)depend_iに依存するpackage_nameを作成
catkin_make [--source src_dir]catkin_wsディレクトリで実行。sourceが指定されなければsrcがデフォルトとなる。

package.xml

タグ意味形式
dependencies(build_depend, buildtool_depend, run_depend, test_depend)様々な状況で依存するパッケージ例略
description概要<description>The beginner_tutorials package</description>
maintainer開発者<maintainer email="you@yourdomain.tld">Your Name</maintainer>
licenseライセンス<license>BSD</license>

中枢処理

  • roscore
    • 「マスター」と呼ばれる名前管理システム
    • 「rosout」と呼ばれるstdin, stdoutシステム
    • 「パラメータサーバ」
  • マルチプロセスなので、ノード間で言語が一致する必要無し。
  • roscoreは一つしか実行できない。

情報伝達

  • Publisher->(メッセージ)->トピック->(コールバックで引数にメッセージ)->Subscribers
    • 情報を書いておく掲示板のようなものがトピック
    • 配信者がトピックに思い思いのタイミングで配信し、購読者はトピックが更新されたらコールバックを呼ぶ形式
  • ノードはメッセージをトピックへ向けてPublish(配信)し,同様にSubscribe(購読)することでトピックからメッセージを受け取ることができます.
  • n.subscribe("chatter", 1000, chatterCallback);
    • "chatter"という名前の1000行まで貯めておけるトピックが更新されたら、chatterCallbackせよ。

機能提供

  • 「クライアント」を媒介とするシステム(Service Node - Client Nodeの関係)
    • クライアントは、起動中のサービスノードのプロセスをインスタンス化したもの。

rosの実行

  1. catkin_makeを実行した後でかつアプリケーションを使い始める前にワークスペースのsetup.shを読み込んだことを確認してください。
  2. roscore実行
  3. ノードを起動していく

ROS C++

関数機能
ROS_INFOprintfと同値

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS