Giter Club home page Giter Club logo

pcl_fusion's Introduction

PCL Fusion

This is a software package developed as part of a larger collaborative SLAM and planning framework, available here.

The package receives raw pointclouds (e.g. from image_undistort's dense_stereo node) along with keyframe messages from a client-server adaptation of VINS-Mono. It fuses the pointclouds together to create a larger pointcloud with rigid body transformations obtained from the keyframe messages, and then downsamples it using a voxel filter. These are then sent to a backend server for further pose-graph optimization.

If you use this code in your academic work, please cite (PDF):

@inproceedings{bartolomei2020multi,
  title={Multi-robot Coordination with Agent-Server Architecture for Autonomous Navigation in Partially Unknown Environments},
  author={Bartolomei, Luca and Karrer, Marco and Chli, Margarita},
  booktitle={2020 {IEEE/RSJ} International Conference on Intelligent Robots and Systems ({IROS})},
  year={2020}
}

This project is released under a GPLv3 license.

Installation

In order to install this package, follow these steps (tested under Ubuntu 18.04 LTS, ROS Melodic). First, install these dependencies:

$ sudo apt-get install ros-melodic-pcl-ros ros-melodic-pcl-conversions libnlopt-dev

Then, create a catkin workspace:

$ mkdir -p catkin_ws/src
$ cd catkin_ws

Set-up the workspace:

$ catkin init
$ catkin config --extend /opt/ros/melodic
$ catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
$ catkin config --merge-devel

Clone the dependencies:

$ cd ~/catkin_ws/src
$ wstool init
$ wstool merge pcl_fusion/dependencies_ssh.rosinstall # To clone with https: pcl_fusion/dependencies_https.rosinstall
$ wstool up -j8

Finally, build the package:

$ cd ~/catkin_ws
$ catkin build pcl_fusion

Parameters:

  • voxel_filter_size: The bigger the size, the more the pointcloud will be filtered, resulting in less resolution but lower size
  • num_odom_connections: The number of sequential keyframes that should be linked for relative pose odometry optimzation.
  • agent_id: The assigned ID of the agent that this is running on. Must be consistent across all packages.

pcl_fusion's People

Contributors

lucabartolomei avatar

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.