日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

AR + ROS +UBUNTU16.04+ORB-SLAM2

發布時間:2023/11/27 生活经验 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AR + ROS +UBUNTU16.04+ORB-SLAM2 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ORB SLAM2 USB攝像頭

實驗環境ubuntu 16.04+ros? kinetic OPencv2.4.9

Step1: 配置環境變量

$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src

在’src’目錄中可能沒有任何軟件包,只有一個CMakeLists.txt,依然可以編譯它:

$ cd ~/catkin_ws/
$ catkin_make

在主文件夾下ctrl+h后找到隱藏文件夾.bashrc。在.bashrc 最下面添加

source /opt/ros/indigo/setup.bash`
source ~/catkin_ws/devel/setup.bash`

Step2:編譯usb_cam

[usb_cam下載鏈接] (https://github.com/bosch-ros-pkg/usb_cam)
把usb_cam放到catkin_ws/src下

$ cd catkin_ws/src/usb_cam
$ mkdir build
$ cd build
$ cmake ..
$ ma

Step3: 編譯orb_slam2

[orb_slam2 下載鏈接] ( https://github.com/raulmur/ORB_SLAM2 )

  1. 安裝orb slam2依賴

    • 安裝 g++11
      $ sudo apt-get install gcc g++

    • 安裝 Pangolin

$ sudo apt-get install libglew-dev   #安裝Glew
$ sudo apt-get install cmake         #安裝CMake
$ sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev  #安裝Boost
$ sudo apt-get install libpython2.7-dev  #安裝Python2'Python3
下載、編譯、安裝Pangolin:
$ git clone https://github.com/stevenlovegrove/Pangolin.git
$ cd Pangolin
$ mkdir build
$ cd build
$ cmake -DCPP11_NO_BOOST=1 ..
$ make
$ sudo make 

注意:Pangolin最新版本會編譯失敗請使用舊版本

  • 安裝OpenCV
$sudo apt-get update
$sudo apt-get install libcv-dev
  • 安裝Eigen
    $ sudo apt-get install libeigen3-dev

  • BLAS and LAPACK

$ sudo apt-get install libblas-dev
$ sudo apt-get install liblapack-dev
  1. 編譯ORB_SLAM2庫和例子程序(單目、雙目和RGB-D)
    $ git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
    把ORB_SLAM2放到catkin_ws/src下
$ cd ORB_SLAM2
$ chmod +x build.sh
$ ./build.sh

生成的libORB_SLAM2.so位于lib目錄下,可執行程序mono_tum, mono_kitti, rgbd_tum, stereo_kitti, mono_euroc and stereo_euroc位于Examples目錄下。

Step4: 把攝像頭數據發布到topic

4-1$ roslaunch usb_cam usb_cam-test.launch


這種方法下載并編譯的

[html] view plain copy
  1. $?cd?catkin_ws/src??
  2. $?git?clone?https://github.com/bosch-ros-pkg/usb_cam.git??
  3. $?cd?..??
  4. $?catkin_make??

需要確保usb_cam安裝過程中沒有錯誤

  • Bug / feature tracker:?https://github.com/bosch-ros-pkg/usb_cam/issues
  • Source: git?https://github.com/bosch-ros-pkg/usb_cam.git?(branch: master)
  • ROS wiki:http://wiki.ros.org/usb_cam

4-2、運行usb_cam_node開啟攝像頭

打開一個新的終端,運行roscore [html] view plain copy
  1. $?roscore??
新版本的usb_cam包在launch文件夾下有自帶的launch文件,名叫usb_cam-test.launch 我們可以直接cd到這個文件夾下運行它 [html] view plain copy
  1. $?cd??
  2. $?cd?catkin_ws/src/usb_cam/launch??
  3. $?roslaunch?usb_cam-test.launch??
如果工作空間的usb_cam包中不帶這個launch文件我們就要新建它: 打開catkin_ws/src/usb_cam/launch文件夾,在其中新建一個文件,把名字改為usb_cam-test.launch 用文本編輯器打開,寫入以下代碼: [html] view plain copy
  1. <launch>??
  2. ??<node?name="usb_cam"?pkg="usb_cam"?type="usb_cam_node"?output="screen"?>??
  3. ????<param?name="video_device"?value="/dev/video0"?/>??
  4. ????<param?name="image_width"?value="640"?/>??
  5. ????<param?name="image_height"?value="480"?/>??
  6. ????<param?name="pixel_format"?value="yuyv"?/>??
  7. ????<param?name="camera_frame_id"?value="usb_cam"?/>??
  8. ????<param?name="io_method"?value="mmap"/>??
  9. ??</node>??
  10. ??<node?name="image_view"?pkg="image_view"?type="image_view"?respawn="false"?output="screen">??
  11. ????<remap?from="image"?to="/usb_cam/image_raw"/>??
  12. ????<param?name="autosize"?value="true"?/>??
  13. ??</node>??
  14. </launch>??
保存,并關閉這個文件。 然后同樣要cd到launch文件夾才能運行這個文件: [html] view plain copy
  1. $?cd??
  2. $?cd?catkin_ws/src/usb_cam/launch??
  3. $?roslaunch?usb_cam-test.launch

4-3、遇到的問題

1、報錯[usb_cam-test.launch] is not a launch file name 運行完roslaunch usb_cam-test.launch后報錯說usb_cam-test.launch不是一個launch文件,這是因為沒有cd到catkin_ws/src/usb_cam/launch文件夾下,系統找不到這個launch文件 或者如果事先source了該工作空間,可以在任意目錄下運行roslaunch usb_cam usb_cam-test.launch都行 2、對于有些節點沒有跑起來的情況,可以從下載的catkin_ws/src/usb_cam中找到相應的.py文件然后用cp命令復制到opt/ros/hydro/的相應文件夾下 這篇文章:配置ROS工作空間catkin+rosbuild(http://my.phirobot.com/blog/2013-12-overlay_catkin_and_rosbuild.html)對于理解ROS的文件系統很有幫助 3、如果出現報錯“sh: 1: v4l2-ctl: not found”則需要安裝v4l2 運行:sudo apt-get install v4l-utils

Step5: 修改ros_mono.cc

進入~/catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/src
打開 ros_mono.cc 把程序里面的topic改為 /usb_cam/image_raw
具體還要查看自己的rviz(即上一步打開的攝像頭窗口的標題)
然后進入~/catkin_ws/src/ORB_SLAM

$ chmod +x build_ros.sh
$ ./build_ros.sh

Step5: 啟動mono

$ ~/catkin_ws/src/ORB_SLAM2$ 
rosrun ORB_SLAM2 Mono    /home/sun/catkin_ws/src/ORB_SLAM2/Vocabulary/ORBvoc.txt  /home/sun/catkin_ws/src/ORB_SLAM2/my.yaml     node:sun(zhuji)

有兩個參數,第二個參數是相機參數文件,根據自己的相機參數修改。

正常啟動效果如下

都上一步為止已經成功跑起來了,我們來玩點好玩的吧

Step6: 增強現實

參照step4啟動攝像頭然后執行一下命令

~/catkin_ws/src/ORB_SLAM2$ rosrun ORB_SLAM2 MonoAR      /home/sun/catkin_ws/src/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/sun/catkin_ws/src/ORB_SLAM2/my.yaml

如果沒有界面出來不要著急,參照step5 打開 ros_mono_ar.cc把程序里面的topic改為 /usb_cam/image_raw
具體還要查看自己的rviz(即上一步打開的攝像頭窗口的標題)
然后進入~/catkin_ws/src/ORB_SLAM

$ chmod +x build_ros.sh
$ ./build_ros.sh

首先確保SLAM ON 然后點擊添加物體,最終效果如下

總結

以上是生活随笔為你收集整理的AR + ROS +UBUNTU16.04+ORB-SLAM2的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。