- Ubuntu16.04
- ROS(Kinetic)
- g2o
- PCL(1.8)
Download Graph SLAM package
(catkin workspace)
$ git clone https://github.com/Sadaku1993/graph_slam
Download g2o package
- cmake
- Eigen3
- suitesparse
- Qt5
- libQGLViewer
On Ubuntu these dependencies are resolved by installing the following packages.
- cmake
- Eigen3
- libsuitesparse-dev
- qtdeclarative5-dev
- qt5-qmake
- libqglviewer-dev
( graph_slam package )
$ ./setup.bash
$ cd Thirdparty
$ git clone https://github.com/Sadaku1993/g2o
$ cd g2o
$ mkdir build
$ cmake .. -DBUILD_CSPARSE=ON
$ make
$ sudo make install
Download Velodyne package
( catkin workspace )
$ git clone https://github.com/ros-drivers/velodyne
Download Normal Estimation Package
( catkin workspace )
$ git clone https://github.com/amslabtech/perfect_velodyne
This bagdata is recorded at Meiji University (Autonomous Mobile Systems Lab).
Move this bagdata to bagfiles dirs.
graph_slam/
data/
bagfiles/
Infant-Dkan.bag
- Save Data
- Remove Obstacle
- GICP
- Graph Optimization and Loop Closing
save odometry and pointcloud data.
$ roslaunch graph_slam data_save.launch
odometry is saved at
graph_slam
/data
/csv/odometry.csv
pointcloud is saved at
/graph_slam
/data
/pcd
/0.pcd
/1.pcd
:
:
:
in the pointcloud data, obstacles (like human and so on) are included. in order to removed them, use clustering(PCL)
$ roslaunch graph_slam remove_cluster.launch
pointcloud is saved at
/graph_slam
/data
/remove
/0.pcd
/1.pcd
:
:
:
$roslaunch graph_slam node_edge.launch
node edge data is saved at
/graph_slam
/data
/csv
gicp.csv
$roslaunch graph_slam slam3d.launch
update node edge data is saved at
/graph_slam
/data
/csv
/0.csv
/1.csv
:
:
:
prease serect csv file name and detect pcd file name
$roslaunch graph_slam integrator.launch
CSV file list
odometry.csv
gicp.csv
0.csv
1.csv
:
:
Please select csv file: 2.csv
Please enter map file: 2.pcd
:
: