=====Filtering Lasercan ===== Sometimes, Laserscans contain odd values that need being filtered out. ====Creating a laser filter plugin==== * Create a plugin package: ''catkin_create_pkg range_filter_plugin roscpp pluginlib sensor_msgs filters'' * [[http://wiki.ros.org/pluginlib/Tutorials/Writing%20and%20Using%20a%20Simple%20Plugin| Write a plugin]] * [[http://wiki.ros.org/filters/Tutorials/Implementing%20a%20simple%20filter| Implement a filter plugin]] ====Running a laser pipeline ==== If you choose existing filters and the node ''laser_filters'' : * As explained in [[http://wiki.ros.org/laser_filters#Laser_Filter_Nodes|ROS wiki]], one may create a launchfile and a config file to automate the process. * **Caution**: make sure that the node ''laser_filters'' reads from the right laser scan topic. The config file may rename the topics as in the following example: ''# in my_laser_filter.launch \\ '' Interesting filters: * LaserScanRangeFilter: ''# in my_laser_config.yaml \\ scan_filter_chain: \\ - name: range\\ type: LaserScanRangeFilter \\ params: \\ lower_threshold: 10\\ '' * [[https://github.com/ros-perception/laser_filters/blob/hydro-devel/include/laser_filters/range_filter.h|git]] * check the param values: ''rosparam get /laser_filter/scan_filter_chain'' Other methods: filters http://wiki.ros.org/laser_filters http://wiki.ros.org/laser_filters/Tutorials http://wiki.ros.org/laser_pipeline/Tutorials http://wiki.ros.org/laser_pipeline/Tutorials/IntroductionToWorkingWithLaserScannerData