Skip to content

KAIST-NMAIL/floor_octomap

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Floor Octomap

This package flattens the Octomap of the floor.

Briefly, the following is happening. A visual SLAM (either Dense Visual Odometry and SLAM (dvo_slam) or ORB-SLAM2 runs to localize. Using the pose information and a pointcloud, the Octomapping Server reconstructs an octomap based on the realworld. As this octomap is noisy, this package tries to remove the noise based on the reconstructed octomap and re-publishes it.

Installation

We use following non standard ROS-Kinetic packages

sudo apt-get install 
    ros-kinetic-octomap 
    ros-kinetic-octomap-mapping
    ros-kinetic-catkin-virtualenv 

We recommend to place all packages in the same workspace such as

$ mkdir -p ~/floor_octomap_ws/src
$ cd ~/floor_octomap_ws/src/
$ catkin_init_workspace

We assume that intel-realsense-ROS package is already installed and avaivable in the workspace.

Installing DVO SLAM

We kindly refer to our other fork of this projcet located at: https://github.com/SuperN1ck/dvo_slam/tree/kinetic-devel

Clone the package into the src/-directory of the workspace.

$ git clone https://github.com/SuperN1ck/dvo_slam.git
$ cd dvo_slam
$ git checkout kinetic-devel # Not necessary if already on kinetic branch
$ cd ../..
$ catkin_make -j8 -DCMAKE_BUILD_TYPE=Release

If g2o is not installed please look at the readme in https://github.com/SuperN1ck/dvo_slam/tree/kinetic-devel

Installing Floor Octomap

Similarly floor_octomap can be installed

# in 'src/'
$ git clone https://github.com/jyp0802/floor_octomap.git
$ cd ..
$ catkin_make --pkg floor_octomap

Installing ORB SLAM2 (Doesn't work for now. Use DVO SLAM instead)

We use a modified ROS package version of ORB_SLAM2 which can be found

# in '/src'
$ git clone https://github.com/jyp0802/singlecamera_orbslam2.git
$ cd ..
$ catkin_make --pkg singlecamera_orbslam2

Compiling together

Of course it is also possible to drop the --pkg-parameter in order to compile both packages at the same time. It is important though that you make sure to build dvo_slam in Release-Mode as otherwise it is really slow.

Source the workspace

$ source devel/setup.bash

Running

Once your camera is running you can use our launch-file

$ roslaunch floor_octomap modify_octomap_dvo.launch # to use with dvo_slam
OR
$ roslaunch floor_octomap modify_octomap_orb.launch # to use with orb_slam 

If using with bagfile

$ roslaunch floor_octomap modify_octomap_dvo.launch bagfile:=PATH_TO_BAGFILE 
OR
$ roslaunch floor_octomap modify_octomap_orb.launch bagfile:=PATH_TO_BAGFILE 

Modifications

Changes must be made in the launch file and the flatten.yaml file.

launch file

  • set the pointcloud to use for octomapping
  • set the quaternion of TF: Initial Camera Position and TF: Initial Camera Angle
  • if you want to use pointcloud generated from the depth image, set the depth image on the Depth Image to Pointcloud
  • if you want to filter the depth image, set the depth image on the Depth Image Filter
  • code_backup.launch (not for running) has brief descriptions of each node/file that is run.

flatten.yaml file

  • camera_robot_height: height of the camera from the ground
  • box_XXX: dimensions for the bounding_box where the octomap will be modified
    • (computation will be slow if set to big)
  • you do not need to change the rest

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 61.9%
  • Python 29.0%
  • CMake 9.1%