ros2机器人foxy版用笔记本摄像头跑单目orb_slam3

环境:
    Ubuntu 20.04
    ROS2 foxy
    OpenCV 4.4.0(4版本以上的应该都可以)

安装orb_slam3 搭建环境参考:

https://mp.csdn.net/mp_blog/creation/editor/129137521

git clone https://github.com/zang09/ORB-SLAM3-STEREO-FIXED.git ORB_SLAM3
cd ORB_SLAM3
chmod +x build.sh
./build.sh

这将在lib文件夹中创建libORB_SLAM3.so,只需要安装到这一步,生成 libORB_SLAM3.so 动态库即可。后面的ros程序安装是ros1的,ros1早晚会被ros2替代的,所以后面的ros程序我们就不在安装了。

安装ros2 foxy版orb_slam3程序:

安装相关的ROS2软件包:

sudo apt install ros-$ROS_DISTRO-message-filters

安装orb_slam3_ros2

mkdir -p colcon_ws/src
cd ~/colcon_ws/src
git clone https://github.com/zang09/ORB_SLAM3_ROS2.git orbslam3_ros2

 按自己的目录结构修改CMakeLists.txt 第五行

set(ENV{PYTHONPATH} “/opt/ros/foxy/lib/python3.8/site-packages/”)

 修改 FindORB_SLAM3.cmake 第八行为自己的ORB_SLAM3路径,比如我的:

set(ORB_SLAM3_ROOT_DIR “~/ORB_SLAM3”)

编译:

cd ~/colcon_ws
colcon build --symlink-install --packages-select orbslam3

编译报错找不到sophus/se3.hpp:

cd ~/ORB_SLAM3/Thirdparty/Sophus/build
sudo make install

重新编译直至成功。

安装笔记本摄像头驱动:

sudo apt install ros-foxy-usb-cam             //foxy安装摄像头驱动
ros2 run usb_cam usb_cam_node_exe    //启动摄像头节点

查看摄像头话题:ros2 topic list
/camera_info
/image_raw
/image_raw/compressed
/image_raw/compressedDepth
/image_raw/theora
/parameter_events
/rosout

摄像头发布话题为 : /image_raw

和程序里面的接收话题不一样,需要修改程序内的接收话题名与摄像头发布话题名一致

修改 monocular-slam-node.cpp

 修改好话题后要重新编译。

运行程序:

1. 打开终端开启摄像头节点 

ros2 run usb_cam usb_cam_node_exe

2. 重新打开一个终端开启单目orbslam3程序

source ~/colcon_ws/install/local_setup.bash

ros2 run orbslam3 mono ~/ORB_SLAM3/Vocabulary/ORBvoc.txt ~/ORB_SLAM3/Examples/Monocular/RealSense_D435i.yaml   

上面命令是ros主程序+  ORBvoc.txt  + RealSense_D435i.yaml (摄像头配置文件任意选一个就行)路径需要按自己电脑实际路径修改。

可能我的笔记本配置低,需要等待十几秒才能看到图像

 看到图像说明程序正常运行了,如果只是一个黑框出不来图像,移动一下笔记本,跑单目静止画面有时出不来图像。

我们这里的目的是跑通程序,真正要让程序运行好还需要给摄像头做标定。

参考网址:

GitHub – zang09/ORB-SLAM3-STEREO-FIXED: Fixed version of ORB-SLAM3 stereo mode

GitHub – zang09/ORB_SLAM3_ROS2: ROS2 wrapping package for orbslam3 library

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2023年11月3日
下一篇 2023年11月3日

相关推荐