20210806
2019 ワード
前回のコードの問題
原因分析
下限、Maxinterval durationパラメータを変更して最適化します.
ex)ユーザがTopiC#1を受信する処理中、TopiC#2,#3は受信されず、新たに加入したTopiC#4は、作業終了後にのみ受信される.
image_transport::SubscriberFilter sub1(it, "camera/image1", 1);
// 마지막 파라미터 : sub1에 대한 메세지 큐
message_filters::Synchronizer<SyncPolicy> sync(SyncPolicy(10), sub1, sub2);
// 10 : Policy에 대한 메세지 큐
いくら実際の原因
最初にPublisherは毎秒5つのTopicしか送信しませんでした.
=>publisherから
loop_rate()
に変更[5->30]image transportは元のイメージ自体をROS Topicにロードするため、パブリッシャとサブスクライバに遅延が発生します.
=>画像圧縮完了後にROS Topicを送信
圧縮image transportパッケージ:http://wiki.ros.org/compressed_image_transport
発行元はパッケージを受け取った後、
catkin_make
バージョンを提供します.ユーザ側で
rosrun
を実行する場合rosrun webcam webcam_sub _image_transport:=compressed
圧縮画像画像を受け取った場合
結果
Before
After:毎秒30 Topic
Reference
この問題について(20210806), 我々は、より多くの情報をここで見つけました https://velog.io/@boris3853/20210806テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol