Map merge tool을 이용한다.
PC 환경
OS : Ubuntu 18.04
ROS version : ROS1
pytohn version : 3.7.0
sensor : ouster1 64ch
imu : ouster imu
LIO-SAM을 Scan context형식과 합하여 LIO-SAM을 업그레이드 시킨 SLAM 알고리즘이다.
https://github.com/gisbi-kim/SC-LIO-SAM
빌드 순서:
$ catkin_make
$ source devel/setup.bash
실행 순서:
$ roslaunch aloam_velodyne aloam_fast_lio.launch
$ roslaunch fast_lio mapping_avia.launch
$ rosbag play KA_Urban_Campus_1.bag
rqt_graph 결과
SC-LIO-SAM 안에 있는 makeMergedMap이라는 tool을 이용한다. 경로는 다음과 같으며, python 3.x version으로 구성되어 있다.
/(본인 워크스페이스)/src/SC-LIO-SAM-master/SC-LIO-SAM/tools/python/makeMergedMap.py
data_dir에본인이 가지고 있는 sc-pgo-tutorial에 있는 데이터 폴더를 넣어준다. 그리고 scan_idx_range_to_stack에 본인의 데이터 폴더에 Scans 파일 범위를 적어주면 된다. 만약 아래 그림과 같이 00000.pcd부터 001774.pcd 까지 있다면, 범위를 [0, 1774]를 적어준다.
#실행
$ python3 makeMergedMap.py
# pcd 데이터 폴더 안에서
pdal merge *.pcd out.las
'TypeError: startswith first arg must be bytes or a tuple of bytes, not str'
⭕ startswith 해결 :
에러가 나면, 기존의 pypcd를 지우고 아래 명령어로 pypcd를 설치한다.
pip3 uninstall pypcd
pip3 install --upgrade git+https://github.com/klintan/pypcd.git
ModuleNotFoundError: No module named 'cStringIO'
⭕ String module 해결 : 오류가 난 pypcd.py 파일을 열어서
import cStringIO as sio
를 찾아
from io import StringIO
로 바꿔준다.
ModuleNotFoundError: No module named 'open3d'
⭕ Module 해결 :
$ pip3 install open3d
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
⭕ SSL 해결 : ssl 인증서가 환경 변수 경로에 없어서 생기는 오류로,
$ gedit ./bashrc
으로 bashrc를 열어서
export LD_LIBRARY_PATH=/usr/local/ssl/lib/
를 추가해준다.
TypeError: startswith first arg must be bytes or a tuple of bytes, not str
⭕ TypeError 해결 : ' ' 앞에 b를 추가
전 :
후 :
error while loading shared libraries : ~ : cannot open shared object file: No such file or directory
⭕ Library 해결 : 라이브러리 Path가 제대로 설정되어 있지 않기 때문에 발생한 오류로써, bashrc를 열어 path를 추가해주면 된다.
필자의 경우, libmetis-gtsam.so가 없어서, 먼저 이 파일을 찾은 다음,
/Downloads/gtsam-develop/build/gtsam/3rdparty/metis/libmetis 이 위치를 기억하자.
$ gedit ~/.bashrc
그리고 bashrc를 열어서 맨 밑줄에 본인이 찾은 경로를 다음과 같은 형식으로 넣어주면 된다.
export LD_LIBRARY_PATH=/home/lyu/Downloads/gtsam-develop/build/gtsam/3rdparty/metis/libmetis
참고 :