gazebo小车使用stereo相机ORB_SLAM2

gazebo小车使用stereo相机运行ORB_SLAM2

修改urdf文件

在工作空间中找到urdf模型,我的是

urdf/mybot.gazebo.xacro

将stereo相机添加进去(替换原来的相机)
ORB_SLAM2下载安装方法见我之前的博客

<!-- stereo camera -->
    <gazebo reference="base_camera_link">  
      <sensor type="multicamera" name="stereocamera">
        <always_on>true</always_on>
        <update_rate>10</update_rate>
        <visualize>false</visualize>
        <camera name="left">
          <pose>0 0 0 0 0 0</pose>
          <horizontal_fov>1.047</horizontal_fov>
          <image>
            <width>320</width>
            <height>240</height>
          </image>
          <clip>
            <near>0.1</near>
            <far>100</far>
          </clip>
        </camera>
        <camera name="right">
          <pose>0 -0.07 0 0 0 0</pose>
          <horizontal_fov>1.047</horizontal_fov>
          <image>
            <width>320</width>
            <height>240</height>
          </image>
          <clip>
            <near>0.1</near>
            <far>100</far>
          </clip>
        </camera>        
        <plugin name="stereo_camera_controller" filename="libgazebo_ros_multicamera.so">
          <cameraName>stereocamera</cameraName>
          <alwaysOn>true</alwaysOn>
          <updateRate>10</updateRate>
          <cameraName>stereocamera</cameraName>
          <imageTopicName>image_raw</imageTopicName>
          <cameraInfoTopicName>camera_info</cameraInfoTopicName>
          <frameName>camera_link_optical</frameName>
          <baseline>0.07</baseline>
          <distortion_k1>0.0</distortion_k1>
          <distortion_k2>0.0</distortion_k2>
          <distortion_k3>0.0</distortion_k3>
          <distortion_t1>0.0</distortion_t1>
          <distortion_t2>0.0</distortion_t2>
        </plugin>
      </sensor>
    </gazebo>

编译工作空间、修改topic

将下载好的ORB_slam2放到工作空间里,进行编译

cd ORB_SLAM2
cmake ..
./build_ros.sh
cd ..
cd ..
(回到工作空间路径下)
catkin_make

查看之前修改的机器人urdf模型文件得到机器人的stereo左右相机topic,修改ORB_SLAM2/Examples/ROS/ORB_SLAM2/src/ros_stereo.cc文件下订阅的摄像头信息
在这里插入图片描述

cd ORB_SLAM2 
./build_ros.sh

编译功能包

运行demo

运行gazebo
运行slam2-stereo相机

rosrun ORB_SLAM2 Stereo src/ORB_SLAM2/Vocabulary/ORBvoc.txt src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/Stereo_setting.yaml false

在这里插入图片描述运行键盘控制控制机器人运动

rosrun robotcar teleop_robot_key

通过键盘控制小车运动,可以看到有两个窗口。CURRENT Frame和Map viewer。

运行结果

在CURRENT Frame窗口中看到摄像机实时检测到的画面和特征点,在Map viewer窗口中摄像机(即机器人)运行的轨迹和特征点的点云(3维)信息。
现在通过键盘控制机器人遍历地图。
在这里插入图片描述
在这里插入图片描述
在运行过程中特征点检测停止并且Map viwer停止更新。但是图像传输没有断。
可以看到current frame中显示track lost 轨迹丢失,因为是仿真环境,特征点较少,经历了一段没有特征点的情况会导致机器人无法获知轨迹的状态。如果是在现实环境中做ORB_SLAM2就可以有效避免这种情况。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
gazebo orbslam3 是指在使用gazebo仿真环境时,结合使用ORBSLAM3 SLAM算法进行定位和地图建立的技术。通过将gazebo仿真环境与ORBSLAM3算法相结合,可以实现机器人在仿真环境中的定位和地图构建。具体操作步骤如下: 1.首先,使用catkin_create_pkg命令创建一个包,包含gazebo_test、urdf、xacro、gazebo_ros、gazebo_ros_control和gazebo_plugins等所需功能包。 2.按照ubuntu18安装ORB_SLAM3的步骤进行安装,可以参考博客文章《ubuntu18安装ORB_SLAM3_ssssXishu的博客-CSDN博客_orb-slam3安装》。 3.修改orbslam源码,可以参考GitHub上的相关代码《GitHub - electech6/ORB_SLAM3_detailed_comments: Detailed comments for ORB-SLAM3》[3]。 4.在工作空间下编译ORBSLAM3,确保正确安装了所有依赖项,并按照相关指南进行编译。 通过以上步骤,你可以在gazebo仿真环境中使用ORBSLAM3进行定位和地图建立。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [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^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [prometheus 无人机平台 gazeboORBSLAM3调试实现rgbd模式](https://blog.csdn.net/Sherry__C/article/details/125071345)[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^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值