Skip to content

Latest commit

 

History

History
106 lines (86 loc) · 3.67 KB

README.md

File metadata and controls

106 lines (86 loc) · 3.67 KB

ROS Template Programs

ROSのトピック通信、サービス通信、アクションのテンプレートプログラム

Topic

std_msgs/String型のmessageをtopic通信

C++

$ roslaunch ros_template_programs topic_template.launch 

Python

$ roslaunch ros_template_programs topic_template_py.launch 

Service

計算式を送り,計算結果を返すサービス通信

C++

$ roslaunch ros_template_programs service_template.launch 

Python

$ roslaunch ros_template_programs service_template_py.launch 

Action

指定した時間だけ待機するアクション

C++

$ roslaunch ros_template_programs action_template.launch 

Python

$ roslaunch ros_template_programs action_template_py.launch 

Topic(Nodelet)

Nodeletのプラグインを用いたtopic通信

C++

$ roslaunch ros_template_programs topic_template_nodelet.launch 

Nodeletとは

ROSのノード間通信ではプロセス間通信のためにメモリコピーが発生し通信の遅延が存在します。
特に画像はデータサイズが大きいために通信量や遅延が無視できない量になります。

Nodeletを使うと記述の仕方が特殊になりますが、メモリコピー無しでノード間通信を行うことができます。
Nodeletとは通常のROSノードに当たる機能を持ったプログラムをプラグインの形で記述して、
実行時には複数のプラグインを1つのプロセスで実行することでメモリコピーを回避して高速化を狙うという仕組みです。

参考