gazebo+ORB-SLAM仿真教程

13 篇文章 19 订阅

1 介绍

开发环境:本博文实现了ORB-SLAM在gazebo环境下的仿真,环境为:ubuntu 16.04 + ROS + gazebo 7.0 + ORB-slam2
预备知识:ROS,gazebo,ORB-SLAM的相关知识
参考链接:运行效果:https://www.bilibili.com/video/BV1ZK4y1T7jR?share_source=copy_web
 mooc教学视频(含丰富的gazebo仿真环境):https://www.icourse163.org/course/ISCAS-1002580008
  ros入门21讲:(讲解更细腻):https://www.bilibili.com/video/BV1zt411G7Vn?share_source=copy_web
  ORBSLAM2下载:https://github.com/raulmur/ORB_SLAM2

2 仿真环境搭建

1.安装ros和gazebo,网上有很多教程。
2.创建工作空间tutorial_ws:https://blog.csdn.net/qinqinxiansheng/article/details/106768491
3.进入src文件目录下,下载mooc教学视频中的仿真环境,https://github.com/DroidAITech/ROS-Academy-for-Beginners

cd tutorial_ws/src         #进入src路径,克隆教学软件包
git clone https://github.com/DroidAITech/ROS-Academy-for-Beginners.git

4.安装依赖项:

cd ~/tutorial_ws
rosdep install --from-paths src --ignore-src --rosdistro=kinetic -y

5.检查gazebo版本,要在7.0以上

gazebo -v

如果Gazebo版本低于7.0,则需要进行升级

 sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
 wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
 sudo apt-get update
 sudo apt-get install gazebo7

6.编译工作空间

cd ~/tutorial_ws
catkin_make
source ~/tutorial_ws/devel/setup.bash #刷新环境 ,如果在~/.bashrc文件的末尾追加了source ~/tutorial_ws/devel/setup.bash,则此行可以省略

3 ORBSLAM2安装与配置

1.网上有很多安装教程(注意,我们需要用ros的接口调用orbslam)
https://blog.csdn.net/learning_tortosie/article/details/79881165
2.修改参数配置
此仿真环境下,发布的相机图像的话题为/camera/depth/image_raw和/camera/rgb/image_raw,所以我们slam接受话题的数据时名称要一致。打开/src/ORB_SLAM2_ros/Examples/ROS/ORB_SLAM2/src/ros_rgbd.cc进行修改
在这里插入图片描述
另外我们还要有仿真环境中kinetic相机参数文件,它在ROS-Academy-for-Beginners/orbslam2_demo/param/Zdzn.yaml
3.编译slam。编译的位置要注意:src/ORB_SLAM2_ros/Examples/ROS/ORB_SLAM2/build。在此路径下打开终端,用 cmake . . make 的命令进行编译
4.运行slam。后两个参数为字典文件何相机参数文件的位置,要根据自己的路径进行设置(这里我把Zdzn.yaml文件与orbslam其他相机参数文件放在一起了)

rosrun ORB_SLAM2 RGBD /home/qin/catkin_ws/src/ORB_SLAM2_ros/Vocabulary/ORBvoc.txt /home/qin/catkin_ws/src/ORB_SLAM2_ros/Examples/RGB-D/Zdzn.yaml 

4 运行仿真环境:

1.打开仿真环境,第一次可能有些慢,甚至卡出来。
打开终端,输入:

roslaunch robot_sim_demo robot_spawn.launch

在这里插入图片描述

2.运行键盘控制节点。打开另一个终端,输入

rosrun robot_sim_demo robot_keyboard_teleop.py

将光标定位到此终端上,便可以通过按键控制机器人运动。
3.打开新的终端,用rostopic list命令查看机器人发布的所有的话题,其中/camera/depth/image_raw和/camera/rgb/image_raw即为深度和rab的图像话题。
在这里插入图片描述
4.打开新的终端,通过命令即可查询机器人所采集到的图像:

rosrun image_view image_view image:=/camera/depth/image_raw
rosrun image_view image_view image:=/camera/rgb/image_raw

在这里插入图片描述
5.运行orbslam2,并控制机器人移动,即可进行定位与建图工作。视频链接https://www.bilibili.com/video/BV1ZK4y1T7jR?share_source=copy_web
在这里插入图片描述

  • 15
    点赞
  • 155
    收藏
    觉得还不错? 一键收藏
  • 32
    评论
ORB-SLAM是一种基于视觉的同时定位与地图构建(SLAM)算法,可以用于实时定位和建图。引用\[1\]中提到了使用D435i相机运行ORB-SLAM3的命令行示例。首先需要运行roscore和启动realsense2_camera节点来连接相机。然后使用rosrun命令来运行ORB-SLAM3节点,指定相机参数文件和词袋文件。最后,可以选择将关键帧轨迹和相机轨迹保存到不同的文件中。 引用\[2\]中提到了解决OpenCV版本问题的方法。由于ORB-SLAM2默认依赖于OpenCV 3.0,如果使用了与ROS版本一样的OpenCV或者直接使用ROS的OpenCV,可能会导致版本冲突。可以通过修改ORB-SLAM2文件夹下的CMakeLists.txt文件,将find_package(OpenCV 3.0 QUIET)修改为适合的OpenCV版本,例如OpenCV 4.0。 最后,引用\[3\]中提到了重新编译ROS节点并运行ORB-SLAM2的命令行示例。首先需要在ORB_SLAM2目录下打开终端,运行./build_ros.sh来重新编译ROS节点。然后使用rosrun命令来运行ORB-SLAM2节点,指定词袋文件和相机参数文件。最后,可以使用rosbag play命令来播放数据包,以便进行实时定位和建图。 综上所述,要将ORB-SLAM与D435i相机结合使用,需要按照引用中提到的步骤来配置和运行ORB-SLAM节点,并确保解决了可能出现的OpenCV版本冲突问题。 #### 引用[.reference_title] - *1* [使用D435i深度相机运行ORB-SLAM3](https://blog.csdn.net/qq_46107892/article/details/130403411)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Ubuntu 20.04配置ORB-SLAM2和ORB-SLAM3运行环境+ROS实时运行ORB-SLAM+Gazebo仿真运行ORB-SLAM2+各种相关库...](https://blog.csdn.net/zardforever123/article/details/125044004)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 32
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值