ROSの研究ノート5-理解ノード(ノード)

:この記事でから来てhttp://wiki.ros.org/ROS/Tutorials/UnderstandingNodes

  1. 図(グラフ)概念の概要
    • ノード(ノード):ROSノードを下記する他のノードROSとの通信に使用される実行可能プログラムです。
    • メッセージ(メッセージ):購読または主題にデータ型を使用した場合のデータ構造を公開します。
    • トピックス(トピックス):ノードは、トピック、テーマにメッセージを公開したり、他のノードとのデータ交換を実現するために、メッセージを受信するために購読することができます。
    • ホストノード(マスター):ホストノードは他のノードにノードを見つけやすくするためのサービスを提供して命名します。
    • ROS出力(rosoutは):ROSでSTDOUTまたはstderr(ROSで標準出力)と同等です
    • ROSコア(roscore):ホストノード+ +標準出力パラメータサーバ。
  2. コアROS(roscore)
    roscoreは、あなたが他のノードが実行する前にroscoreを実行する必要があり、コマンドROSの実行を使用することです。
    $のroscore 
    ... /home/shao/.ros/log/93b4e9f2-d146-11e9-a3fd-69f079ca327f/roslaunch-UAVlab1-13621.logするためにログインする
    ディスクの使用状況のログディレクトリを確認します。これは時間がかかる場合があります。
    割り込みにCtrl-Cを押して
    、ログファイルのディスク使用量をチェック完了。使用方法は、<1ギガバイトです。
    
    開始roslaunchサーバーのhttp:// UAVlab1:40901 / 
    ros_commバージョン1.12.14 
    
    
    概要
    ======== 
    
    パラメータ
     * / rosdistro:運動
     * / rosversion:1.12.14は
    
    NODES 
    
    自動始まる新しいマスター・
    プロセスを[マスター]:開始PID [13631] 
    ROS_MASTER_URI =のhttp:// UAVlab1:11311 / 
    
    93b4e9f2-d146-11e9-a3fd-69f079ca327fが設定/ RUN_IDに 
    プロセスは、[rosout-1]:PID [13644]で開始
    開始したコアサービス[/ rosout]
    

    図に示すように、成功した操作の後。

  3. rosnodeコマンド
    rosnodeコマンドを使用して、情報のROSノードを表示することができます。たとえば:rosnode listコマンドリスト実行しているノードをROS。
    以下のように、新しいターミナルを開く、実行rosnodeリスト:
    $ rosnodeリスト
    / rosout
    

    図から分かるように、rosoutノードがあり、コマンドをroscoreを開始します。
    情報ROSノードを表示するrosnode infoコマンドを使用します。

    $のrosnode情報/ rosout 
    --------------------------------------------- ----------------------------------- 
    ノード[/ rosout] 
    出版:
     * / rosout_agg [rosgraph_msgs /ログイン] 
    
    サブスクリプション:
     * / rosout [不明なタイプ] 
    
    サービス:
     * / rosout / get_loggers 
     * / rosout / set_logger_level 
    
    
    連絡ノードのhttp:// UAVlab1:42313 / ... 
    でPid:13644
    

     

  4.  rosrun実行ノード

    次のようにコマンド構文を実行することができますrosrun ROSノードは次のとおりです。
    $ rosrun [パッケージ名] [NODE_NAME]
    

    問題の文書の公式ウェブサイトは、右のは次のようになります。

    rosrun <パッケージ> <実行>
    

    その第二の引数は、実行プログラム名、ノード名は必ずしも同一ではありません。
    新しいターミナルを開き、実行します。

    $ rosrun turtlesim turtlesim_node
    

     

     

     小亀は自分自身が登場しました。

    次に見ることができるrosnodeを使用します。
    $のrosnodeリスト
    / rosout 
    / turtlesim
    

    あなたはturtlesimのノード以上のものを見ることができます。
    その後、パラメータはノードの名前に変更することができリマップ、新しいターミナルを開きます。

    $ rosrun turtlesim turtlesim_node __name:= my_turtle
    

     そして、rosnodeリストを実行します

    $のrosnodeリスト
    / my_turtle 
    / rosout 
    / turtlesim
    

    あなたは、複数のノードのmy_turtleを見ることができます。
    pingコマンドと同様ノードと、の間の通信を確認するrosnodeのpingコマンドを使用します。

    $のrosnodeピング/ my_turtle 
    rosnode:ノードが[/ my_turtle]は
    3.0sのタイムアウト付きのping / my_turtle 
    // UAVlab1:43947 /時間= 0.296116ms HTTPからXML-RPC応答
    HTTPからXML-RPC応答:// UAVlab1:43947 /時間= 0.949144ms 
    のhttpからXMLRPC応答:// UAVlab1:43947 /時間= 0.707150ms 
    のhttpからXMLRPC応答:// UAVlab1:43947 /時間= 0.704050ms 
    のhttpからXMLRPC応答:// UAVlab1:43947 /時間= 1.071930ms
    

     

おすすめ

転載: www.cnblogs.com/spyplus/p/11481786.html