UBUNTU16.04 ORB SLAM2 실행

3200 단어 SLAM
원본 다운로드:https://github.com/raulmur/ORB_SLAM2
chmod +x build.sh
./build.sh

실행 문제 1:
 error: ‘usleep’ was not declared in this scope          usleep(5000);
해결 방법:
ORB_에서SLAM2-master/include/system.h에서 "#include"를 추가합니다.
실행 성공
마지막 행 표시:
[100%] Built target stereo_euroc
catkin_ 만들기ws, 이 중 주 파일은 새로 만든 src 파일에 있습니다.Examples/ROS/ORB_SLAM2가 포함된 경로를 ROS_PACKAGE_PATH 환경 변수에 추가합니다.gedit ~/.bashrc 파일을 마지막으로 다음 줄을 추가합니다.
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:
catkin_make
 
터미널에서 명령 실행
source ./bashrc

(2) ROS의 ORB-SLAM2를 컴파일합니다.
chmod +x build_ros.sh
 ./build_ros.sh
컴파일 오류:
/usr/bin/ld: CMakeFiles/Stereo.dir/src/ros_stereo.cc.o: undefined reference to symbol '_ZN5boost6system15system_categoryEv'/usr/lib/x86_64-linux-gnu/libboost_system.so: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status CMakeFiles/Stereo.dir/build.make:214: recipe for target '../Stereo' failed make[2]: *** [../Stereo] Error 1 CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/Stereo.dir/all' failed make[1]: *** [CMakeFiles/Stereo.dir/all] Error 2
해결 방법:https://blog.csdn.net/sinat_38343378/article/details/78883919
관리자 권한 아래locate에서 가져온 3개의 파일을 모두 복사하는 것입니다.
또./build_ros.sh 실행 성공.
[100%] Built target Mono
 
단일 항목 모드(비ros 모드):
rosrun ORB_SLAM2 Mono/home/zp/p_s/ORB_SLAM2-master/src/Vocabulary/ORBvoc.txt/home/zp/p_s/ORB_SLAM2-master/src/Examples/Monocular/TUM1.yaml
출력이 없습니다.
위의 경로가 완전하지 않습니다.
./mono_tum path_to_vocabulary path_to_settings path_to_sequence
./mono_tum/home/zp/p_s/ORB_SLAM2-master/src/Vocabulary/ORBvoc.txt/home/zp/p_s/ORB_SLAM2-master/src/Examples/Monocular/TUM1.yaml/media/zp/zengpan/dataset/TUM dataset/rgbd_dataset_freiburg1_room/rgb [오류 보고]
경험적 교훈은 파일 이름에 빈칸을 포함하지 마십시오. 그렇지 않으면 입력할 때 자동으로 2개의 매개 변수로 간주됩니다.
./mono_tum ../../Vocabulary/ORBvoc.txt TUM1.yaml/media/zp/zengpan/dataset/TUM_dataset/rgbd_dataset_freiburg1_room 
[성공했습니다!]
실행 항목, TUM 데이터 세트:
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml/media/zp/zengpan/dataset/TUM%20dataset/rgbd_dataset_freiburg1_room/rgb
orbslam2를 실행하면 중간에 끊기고 인터페이스에tracklost가 표시됩니다.검색 결과 rgbd_tum.cc에서 slam 프로세스를 수행하면 SLAM이 실행됩니다.Shutdown () 함수, 이 함수가 끼워져도 다음 궤적을 저장할 수 없습니다.
해결 방법은 궤적을 저장하는 함수를 SLAM에 두는 것이다.Shutdown () 앞에 궤적을 저장할 수 있지만 shutdown () 함수는 통과할 수 없습니다. 
실행 목록, Euroc 데이터 세트:
/home/zp/p_s/ORB_SLAM2-master/src/Examples/Monocular/디렉토리:
./mono_euroc ../../Vocabulary/ORBvoc.txt EuRoC.yaml/media/zp/zengpan/dataset/Euroc_dataset/MH_01_easy/mav0/cam0/data /home/zp/p_s/ORB_SLAM2-master/src/Examples/Monocular/EuRoC_TimeStamps/MH01.txt
===============================================
RGBD 모드(ros 모드):
터미널을 3개 켜야 합니다.
1.roscore
2.rosbag play .bag
3.run......
rosrun ORB_SLAM2 RGBD /Vocabulary/ORBvoc.txt   kinect2.yaml  
그 중 두 번째는 로스를 기반으로 한 데이터가 유입되는 셈이다.
 
source ~/.bashrc
재편성 공사
 
chmod +x build_ros.sh
./build_ros.sh

좋은 웹페이지 즐겨찾기