I managed to solve the problem. In "http://www.ros.org/wiki/filters/Tutorials/Implementing a simple filter" it says that something similar to should be included in the plugin_description_file. However, according to http://www.ros.org/wiki/pluginlib/PluginDescriptionFile it should be so the filtersIncrementFilter part should be filters::IncrementFilter and filtersFilterBase should be filters::FilterBase Please correct me if I am wrong. Now I can load my plugin inside the node scan_to_scan_filter_chain Thanks Peshala ________________________________ From: Peshala Jayasekara To: ros-users@code.ros.org Sent: Thursday, April 1, 2010 18:53:28 Subject: Re: [ros-users] Filters Tully, Thank you very much for your reply. I have already added a plugin description file. Its contents are as follows: This is a background subtraction filter. Also, I have edited the manifest file as follows: and PLUGINLIB_REGISTER_CLASS(LaserBackgroundSubtractionFilter, beginner_tutorials::LaserBackgroundSubtractionFilter, filters::FilterBase) in the .cpp file I am confused with adding the node configuration parameters. Because I am running a launch file So when I run the launch file it says According to the loaded plugin descriptions the class LaserBackgroundSubtractionFilter with base class type filters::FilterBase does not exist. On the other hand, when I tried putting my .h and .cpp files inside laser_filters and using laser_filter namespace and editing its CMakeLists and laser_filters_plugins I could run the scan_to_scan_filter_chain node without problem; however I know this is not the recommended way. Also, in http://www.ros.org/wiki/pluginlib it says PLUGINLIB_DECLARE_CLASS which is not to be found in Need some advice how I can run scan_to_scan_filter_chain node using my libbackground_subtraction_filter.so outside the laser_filters package Thanks in advance Peshala ________________________________ From: Tully Foote To: ros-users@code.ros.org Sent: Thursday, April 1, 2010 4:49:23 Subject: Re: [ros-users] Filters Peshala, For question 1 you need to add a plugin description file. See http://www.ros.org/wiki/pluginlib linked from here http://www.ros.org/wiki/filters You will both need to add this file and export it in the manifest. To run it inside the scan_to_scan_filter_chain node you just need to add your filter to the nodes configuration parameters. See 3.2.2 in http://www.ros.org/wiki/filters#Steps_to_create_a_filter There is specific documentation on scan_to_scan_filter_chain node at http://www.ros.org/wiki/laser_filters For question 2, filters can be run in any node. The filters::FilterChain class is the recommended way to instantiate filters in code. However for your purposes the scan_to_scan_filter_chain node is likely the easiest. Tully On Wed, Mar 31, 2010 at 12:05 AM, Peshala Jayasekara wrote: > >Dear Ros-Users, > >I am thinking of writing a background subtraction filter for my incoming laser data through hokoyo_node. > >Here are my problems. > >1) After going through the examples of laser_filters, I thought I can use scan_to_scan_filter_chain node to run "background_subtraction_filter-which is the one I am writing, inside it. However, it gave an error msg saying > > >According to the loaded plugin descriptions the class LaserBackgroundSubtractionFilter with base class type filters::FilterBase does not exist. > >Is there a way to run a user's filter inside scan_to_scan_filter_chain node? > >2) On the other hand, once you write your own filter according to the "Implementing a simple filter" tutorial how do you run it - what node should it be associated with ? > >Thank you in advance >Peshala > > > >________________________________ Get your preferred Email name! >>Now you can @ymail.com and @rocketmail.com. >_______________________________________________ >>ros-users mailing list >ros-users@code.ros.org >https://code.ros.org/mailman/listinfo/ros-users > > -- Tully Foote Systems Engineer Willow Garage, Inc. tfoote@willowgarage.com (650) 475-2827 ________________________________ Get your preferred Email name! Now you can @ymail.com and @rocketmail.com. Get your new Email address! Grab the Email name you've always wanted before someone else does! http://mail.promotions.yahoo.com/newdomains/aa/