Coder Social home page Coder Social logo

cloudfilter's Introduction

Cloudfilter

A simple ROS1 node that filters a sensor_msgs/PointCloud2 based on a given filter function.

This is a good starting point for implementing ROS1 point cloud nodes (not just filters) with rosrust inside a catkin environment. See the CMakelists.txt and build.sh for details.

Maybe this node will be extended with more complex filters in the future but for now it is just a simple example for working with point clouds in Rust and an example for working with the ros_pointcloud2 crate.

Note: The points get transformed into a different frame before applying the filter function.

Features

  • Bounding Box Filter. All bounds are infinite by default. Change them with the parameters in filter.launch.
  • Keep meta fields (e.g. RGB, intensity, label). Change the types in src/main.rs and the point conversion in the filter function for this. See predefined types in the ros_pointcloud2 docs for more.
  • Use as starting point for your own node. CMakelists.txt and build.sh are helpful for creating other nodes.

Usage

You do not need to have Rust in order to use this node. It will be installed automatically by the build.sh script.

cd ~/catkin_ws/src
git clone https://github.com/stelzo/cloudfilter
catkin build

source ../devel/setup.bash
roslaunch cloudfilter filter.launch # edit this file for your needs

License

MIT

cloudfilter's People

Contributors

stelzo avatar

Watchers

 avatar

cloudfilter's Issues

[Feature] Stacking filters

Parameter to stack multiple filters behind each other. Example:

<param name="filters" type="string" value="voxel_0,aabb_0"/>
<param name="aabb_0_invert" type="bool" value="true"/>

First applies a Voxel Downsampling filter followed by the AABB in inverted mode.
The _0 implies the first instance which can be used to set specific parameters with a prefix.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.