2014/12/22

ROSのトピックにおける送受信間のバッファ数について

ちょっとトピックの送受信間の通信で、バッファみたいなのがあるならその数を調整したいです。

調べた所、やっぱりあるみたいですね。
ROSのチュートリアルにも書いてありました。

C++のチュートリアルではこの行ですね。
ros::Publisher chatter_pub = n.advertise<std_msgs::string>("chatter", 1000);
Pythonではこの行です。
pub = rospy.Publisher('chatter', String, queue_size=10)

ROSではqueue_sizeという引数の名前になっているらしく、
上記ではC++は1000、Pythonでは10に設定されていますね。

要するにバッファの数なので、どんなときに大きくするといいのか、小さくするといいのかは解ると思いますが、以下のURLの" Choosing a good queue_size "ってところに書いてますね。
rospy/Overview/Publishers and Subscribers - ROS Wiki
http://wiki.ros.org/rospy/Overview/Publishers%20and%20Subscribers

加えて、Hydro以降はqueue_sizeが入力されていないと、以下のようなWarningが出るようになっているそうです。

SyntaxWarning: The publisher should be created with an explicit keyword argument 'queue_size'. Please see
http://wiki.ros.org/rospy/Overview/Publishers%20and%20Subscribers
 for more information.

参考にしたサイト
roscpp: ros::NodeHandle Class Reference
http://docs.ros.org/indigo/api/roscpp/html/classros_1_1NodeHandle.html

0 件のコメント:

コメントを投稿