ros:study:00

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
ros:study:00 [2018/04/13 07:00] – [ノード] tsukuchalleros:study:00 [2018/04/20 01:51] (現在) – [ノード] tsukuchalle
行 13: 行 13:
 ~/.bashrcの一番下に下記を追加する。 ~/.bashrcの一番下に下記を追加する。
   source ~/catkin_ws/devel/setup.bash   source ~/catkin_ws/devel/setup.bash
-  +一度端末を閉じて,開き直して,.bashrcの変更を反映する. 
 +  cd ~/catkin_ws/ 
 +  catkin_make 
 ===== 環境変数 ===== ===== 環境変数 =====
 ROSは環境変数をパッケージの検索などに使っているので, ROSは環境変数をパッケージの検索などに使っているので,
行 27: 行 30:
 例として,ros_studyというパッケージを作る. 例として,ros_studyというパッケージを作る.
   cd ~/catkin_ws/src   cd ~/catkin_ws/src
-  catkin_create_pkg ros_study std_msgs sensor_msgs nav_msgs roscpp+  catkin_create_pkg ros_study std_msgs sensor_msgs nav_msgs geometry_msgs roscpp
 std_msgs以降の引数は依存パッケージを指定している. std_msgs以降の引数は依存パッケージを指定している.
 ===== roscore ===== ===== roscore =====
 ==== roscore ==== ==== roscore ====
-(ROSを使うときに最初に実行するコマンド,rosoutというノードが起動する)+(ROSを使うときに最初に実行するコマンド,rosout,rosmaster,ros parameter serverが起動する)
   roscore   roscore
 roscoreを行っている間はその端末では他のコマンドが実行できないので,別の端末を起動する.\\ roscoreを行っている間はその端末では他のコマンドが実行できないので,別の端末を起動する.\\
行 105: 行 108:
  
 === rosrun === === rosrun ===
-  rosrun ros_study ros_study_node+  rosrun ros_study ros_study_node # 実行しても何も表示はされない
 でros_studyという名前のパッケージにあるros_study_nodeという名前のノードを実行する.\\ でros_studyという名前のパッケージにあるros_study_nodeという名前のノードを実行する.\\
 後で使うので実行したまま,別の端末を起動する. 後で使うので実行したまま,別の端末を起動する.
行 114: 行 117:
  
 ===== topic ===== ===== topic =====
-ノード間で非同期的にやり取りされるデータ+ノード間で非同期的にやり取りされるデータをメッセージと呼ぶ.\\ 
 +メッセージの送信先の指定はtopicによって行われる.\\ 
 +topicはwebサービスにおけるアドレスに似ている.
  
 === topic一覧の表示 === === topic一覧の表示 ===
   rostopic list   rostopic list
  
-=== topicの中身の表示 ===+=== topicに送られたデータの表示 ===
 例としてros_study_node/outのデータを表示する 例としてros_study_node/outのデータを表示する
-  rostopic echo ros_study_node/out+  rostopic echo ros_study_node/out # 現時点では何も表示されない
 後で使うので実行したまま,別の端末を起動する. 後で使うので実行したまま,別の端末を起動する.
  
行 154: 行 159:
 === launchファイル === === launchファイル ===
 例えば,以下のようなファイルを作る.\\ 例えば,以下のようなファイルを作る.\\
-pkgにはパッケージ名,\\ +~/catkin_ws/src/ros_study/launch/apple.launchに配置する.\\ 
-nameには適当に理解しやすい固有名(ノード名と同じでも可),\\ +<code><launch> 
-typeにはノード名を指定する.\\ +  <node pkg="ros_study" type="ros_study_nodename="john_node">
-paramタグを使ってパラメータを指定する.\\ +
-~/catkin_ws/src/package_name/launch/launch_name.launchに配置する.\\ +
-<code> +
-<launch> +
-  <node pkg="ros_study" name="john_nodetype="ros_study_node">+
     <param name="name" value="john"/>     <param name="name" value="john"/>
 +    <remap from="/in" to="~/in"/>
 +    <remap from="~/out" to="/paul_node/in"/>
   </node>   </node>
-  <node pkg="ros_study" name="paul_nodetype="ros_study_node">+  <node pkg="ros_study" type="ros_study_nodename="paul_node">
     <param name="name" value="paul"/>     <param name="name" value="paul"/>
 +    <remap from="/in" to="~/in"/>
 +    <remap from="~/out" to="/george_node/in"/>
   </node>   </node>
-  <node pkg="ros_study" name="george_nodetype="ros_study_node">+  <node pkg="ros_study" type="ros_study_nodename="george_node">
     <param name="name" value="george"/>     <param name="name" value="george"/>
 +    <remap from="/in" to="~/in"/>
 +    <remap from="~/out" to="/ringo_node/in"/>
   </node>   </node>
-  <node pkg="ros_study" name="ringo_nodetype="ros_study_node">+  <node pkg="ros_study" type="ros_study_nodename="ringo_node">
     <param name="name" value="ringo"/>     <param name="name" value="ringo"/>
 +    <remap from="/in" to="~/in"/>
   </node>   </node>
 </launch> </launch>
 </code> </code>
 +pkgにはパッケージ名,\\
 +nameには適当に理解しやすい固有名(ノード名と同じでも可),\\
 +typeにはノード名を指定する.\\
 +paramタグを使ってパラメータを指定する.\\
 +remapタグを使ってトピック名を変更する.\\
  
 === launchファイルを実行する === === launchファイルを実行する ===
   roslaunch ros_study apple.launch   roslaunch ros_study apple.launch
 +別の端末で 
 +  rostopic echo ringo_node/out 
 +さらに別の端末で 
 +  rostopic pub john_node/in std_msgs/String "hello" 
 +すると,data: "ringo: george: paul: john: hello"と表示される. 
 +  rosrun rqt_graph rqt_graph 
 +すると,メッセージが受け渡される流れを確認できる.
  • ros/study/00.1523602820.txt.gz
  • 最終更新: 2018/04/13 07:00
  • by tsukuchalle