Repository Summary

Checkout URI https://github.com/peterweissig/ros_pcdfilter.git
VCS Type git
VCS Version master
Last Updated 2021-06-08
Dev Status MAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
pcdfilter_pa 1.2.0

README

ProAut Pointcloud Filter

Introduction

This package was designed to remove simple geometric shapes from pointclouds. E.g. A cube or a sphere. Several of these filters can be applied to a pointcloud in one shot. For more details on the types of filters and their parameters see Filters.

This package includes a full node and a ros interface for one’s own node. For more details about the node, like topic names and parameters, see Node.

The package can handle three different input types of pointclouds:

Additionaly the input data can be throttled to reduce the cpu load.

Node

rosrun pcdfilter_pa pcdfilter_pa_node
roslaunch pcdfilter_pa pcdfilter_pa.launch

Input and Output Topics

Topic Name Type Description
”~/in_cloud” sensor_msgs/PointCloud2 Input as new pointcloud type.
”~/in_cloud_old” sensor_msgs/PointCloud Input as old pointloud type. Will be converted to new pointcloud type.
”~/in_laser” sensor_msgs/LaserScan Input as single laser scan. Will be converted to new pointcloud type by package “laser_geometry”.
”~/out_cloud” sensor_msgs/PointCloud2 Output of filtering node.

All topics can be remapped using parameters (see below).

Services

Service Name Type Description
”~/filter” pcdfilter_pa/PcdFilterPaCloud Forced filtering via service call. No throttling is done and input/output cloud is part of service message.
”~/add_filters” pcdfilter_pa/PcdFilterPaFilter Adding new filters. Old filters are kept.
”~/change_filters” pcdfilter_pa/PcdFilterPaFilter Adding new filters, but removing all old filters before adding.
”~/enable” std_srvs/Empty Disables this node. This also disconnects the node from all input messages.
”~/disable” std_srvs/Empty Enables this node.

Parameters

Filter

Parameter Name | Type | Description ———————–|——————-|————————————- “~/filters” | vector of strings | All pointcloud filters as an array of strings.

general settings

Parameter Name | Type | Description ———————–|——————-|————————————- “~/skip_count” | integer | Input throttling. Number of skipped messages after each processed message. “~/skip_time” | double | Input throttling. Time intervall in seconds. After each processed message, this intervall starts and all input messages will be skipped. “~/tf_lookup_time” | double | Maximum time in seconds for waiting for a specific TF transform. “~/buffer_pointcloud” | bool | Flag for buffering the last received pointcloud. This can be used to test different filters without resending the some pointcloud. “~/debugging” | bool | Flag for enabling extented output. “~/enabled” | bool | Flag for setting start up behaviour. Indicates if node is filtering at startup, or not.

laser

Parameter Name | Type | Description ———————–|——————-|————————————- “~/laser_nan_replacement_value” | double | If a nan-value is represented within the laser scan, it might indicate “no obstacle within range”. Therefore this parameters will replace those values with a fixed number.

topics and services

Parameter Name | Type | Description ———————–|——————-|————————————- “~/topic_in_cloud” | string | Name of input topic for new pointclouds. “~/topic_in_cloud_old” | string | Name of input topic for old pointclouds. “~/topic_in_laser” | string | Name of input topic for laser scans. “~/topic_out_cloud” | string | Name of output topic for filtered pointcloud.

See also this config file. It contains all parameters and their default value.

Filter

Definition

This is the definition of every single filter as a string.

[<inversion>]<type> <separator> <dimensions> <tf> [<tf_offset>] [<tf2> [<tf2_offset>]] [# <comment>]

inversion (optional)

Inversion | Description ———-|————————————————————– “” (none) | normal behaviour; points within the volume will be filtered out; all points outside will be kept “!” | reversed behaviour; points within the volume will be kept; all points outside will be filtered out

type

Type | Description | Nr Parameters | Nr TF ids

File truncated at 100 lines see the full file