ROS实验笔记之——基于gazebo的ORB-SLAM2的仿真

82 篇文章 118 订阅

本博文是本人仿真ORB-SLAM2的学习笔记,仅供本人学习记录用

Simulation for ORB-SLAM

 

目录

仿真环境搭建

查看gazebo版本的方法:

运行ORB-SLAM2的仿真

参考资料


 

仿真环境搭建

首先搭建的ROS-Academy-for-Beginners的gazebo仿真环境

一个不错的ROS仿真环境包:https://github.com/DroidAITech/ROS-Academy-for-Beginners

在该软件包中,包含了以下功能包:

软件包内容
robot_sim_demo机器人仿真程序,大部分示例会用到这个软件包
topic_demotopic通信,自定义msg,包括C++和python两个版本实现
service_demoservice通信,自定义srv,分别以C++和python两种语言实现
action_demoaction通信,自定义action,C++和python两种语言实现
param_demoparam操作,分别以C++和python两种语言实现
msgs_demo演示msg、srv、action文件的格式规范
tf_demotf相关API操作演示,tf示例包括C++和python两个版本
name_demo演示全局命名空间和局部命名空间下参数的提取
tf_follower制作mybot机器人 实现mybot跟随xbot的功能
urdf_demo创建机器人urdf模型,在RViz中显示
navigation_sim_demo导航演示工具包,包括AMCL, Odometry Navigation等演示
slam_sim_demo同步定位与建图演示,包括Gmapping, Karto, Hector等SLAM演示
robot_orbslam2_demoORB_SLAM2的演示
ros_academy_for_beginnersMetapacakge示例,依赖了本仓库所有的pacakge
cd ~/catkin_ws/src
git clone https://github.com/DroidAITech/ROS-Academy-for-Beginners.git

然后cm一下,发现不行,需要安装依赖

rosdep install --from-paths src --ignore-src --rosdistro=melodic -y

然后再cm一下就ok了~

然后下载ORB-SLAM2源码包

$ cd ~/catkin_ws/src
$ git clone https://github.com/raulmur/ORB_SLAM2.git

然后编译ORB_SLAM2功能包

#修改环境变量,在本窗口临时生效
$ export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/catkin_ws/src/ORB_SLAM2/Examples/ROS
$ cd ORB_SLAM2
$ chmod +x build.sh
$ ./build.sh
$ chmod +x build_ros.sh
$ ./build_ros.sh
 
$ cd 
$ gedit .bashrc
#在文件末尾加上:(始终生效)
$ export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/catkin_ws/src/ORB_SLAM2/Examples/ROS

查看opencv版本

ORB-SLAM2成功:

./build_ros.sh

编译成功了~

 

 

 

查看gazebo版本的方法:

升级的方法:

$ 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

查看没有安装的包

apt search ros-melodic

 

 

运行ORB-SLAM2的仿真

roslaunch robot_sim_demo robot_spawn.launch
roslaunch orbslam2_demo ros_orbslam2.launch
rosrun robot_sim_demo robot_keyboard_teleop.py

最终构建的是一个三维点云形态的地图,效果如下

运行数据库

下载数据集:https://vision.in.tum.de/data/datasets/rgbd-dataset/download#freiburg1_desk

 

 

 

参考资料

ORB-SLAM2的源代码:https://github.com/raulmur/ORB_SLAM2

https://blog.csdn.net/li528405176/article/details/81164637

https://blog.csdn.net/baidu_36211769/article/details/103374441

 

 

 

 

 

 

  • 2
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值