[ros-users] scan_to_scan_filter_chain and filter_chain

Tully Foote tfoote at willowgarage.com
Wed Apr 7 04:17:26 UTC 2010


Peshala,
You are correct that if you have a lot of filters which run for a long 
time it will only operate on one at a time.  Any new data coming in will 
be buffered in the receiving queue(size 50).  You will only be able to 
operate at a frequency of 1/T where T is the time it takes for each 
message to traverse through all the filters.  I would recommend working 
on optimizing your filters before you try to multi-thread the node.

It is safe to publish inside the callback.  It will be queued to send 
inside the callback thread and sent in another thread. 

Tully

Peshala Jayasekara wrote:
> Dear ros-users,
>
> This is about the filter_chain.
> Inside the callback function of the scan_to_scan_filter_chain, it 
> calls the update function of the filter_chain.
> In the update function of the filter_chain, each update function of 
> the included filters is sequentially called.
> However, I feel that if many filters are included in the 
> scan_to_scan_filter_chain, this may cause not to receive any callbacks 
> until you are done with all the filter updates. 
>
> Please correct me if I am wrong.
>
> The above I used as an example. Anyway, what I am trying to do is to 
> publish some processed data after subscribing to a topic (laser scan). 
> However, if I do the processing and publishing inside the callback of 
> the subscription it may lead to block the callback. Please guide me 
> how I should handle this.
> I would like to know how spawning a new thread be done so that 
> processing can be done separately without blocking the callback.
>
> Thank you in advance.
> Peshala
>
> ------------------------------------------------------------------------
> New Email names for you! 
> <http://sg.rd.yahoo.com/aa/mail/domainchoice/mail/signature/*http://mail.promotions.yahoo.com/newdomains/aa/> 
>
> Get the Email name you've always wanted on the new @ymail and @rocketmail.
> Hurry before someone else does!
> ------------------------------------------------------------------------
>
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>   




More information about the ros-users mailing list