=====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