d435i跑orbslam3

下载realsense2_camera

source devel/setup.bash
roslaunch realsense2_camera test.launch

 test.launch中修改了这里

  <arg name="infra_width"         default="848"/>
  <arg name="infra_height"        default="480"/>
  <arg name="enable_infra"        default="true"/>
  <arg name="enable_infra1"       default="true"/>
  <arg name="enable_infra2"       default="true"/>
  <arg name="infra_rgb"           default="false"/>

 记得把相机插在usb3.0口上,然后看下话题和画面

camera/infra1/camera_info
/camera/infra1/image_rect_raw
/camera/infra1/image_rect_raw/compressed
/camera/infra1/image_rect_raw/compressed/parameter_descriptions
/camera/infra1/image_rect_raw/compressed/parameter_updates
/camera/infra1/image_rect_raw/compressedDepth
/camera/infra1/image_rect_raw/compressedDepth/parameter_descriptions
/camera/infra1/image_rect_raw/compressedDepth/parameter_updates
/camera/infra1/image_rect_raw/theora
/camera/infra1/image_rect_raw/theora/parameter_descriptions
/camera/infra1/image_rect_raw/theora/parameter_updates
/camera/infra1/metadata
/camera/infra2/camera_info
/camera/infra2/image_rect_raw
/camera/infra2/image_rect_raw/compressed
/camera/infra2/image_rect_raw/compressed/parameter_descriptions
/camera/infra2/image_rect_raw/compressed/parameter_updates
/camera/infra2/image_rect_raw/compressedDepth
/camera/infra2/image_rect_raw/compressedDepth/parameter_descriptions
/camera/infra2/image_rect_raw/compressedDepth/parameter_updates
/camera/infra2/image_rect_raw/theora
/camera/infra2/image_rect_raw/theora/parameter_descriptions
/camera/infra2/image_rect_raw/theora/parameter_updates
/camera/infra2/metadata

有   /camera/infra1/image_rect_raw  ;  /camera/infra2/image_rect_raw  就够了,然后更改orbslam3中的ros_stereo.cc中的话题

  ros::NodeHandle nh;

    message_filters::Subscriber<sensor_msgs::Image> left_sub(nh, "camera/infra1/image_rect_raw", 1);
    message_filters::Subscriber<sensor_msgs::Image> right_sub(nh, "camera/infra2/image_rect_raw", 1);
    typedef message_filters::sync_policies::ApproximateTime<sensor_msgs::Image, sensor_msgs::Image> sync_pol;
    message_filters::Synchronizer<sync_pol> sync(sync_pol(10), left_sub,right_sub);
    sync.registerCallback(boost::bind(&ImageGrabber::GrabStereo,&igb,_1,_2));

订阅camera/infra1/camera_info和camera/infra2/camera_info的内容。

在 src/ORB_SLAM3-master/Examples/ROS/ORB_SLAM3 下运行
进build文件下,cmake和make一下
source build/devel/setup.bash 
rosrun ORB_SLAM3 Stereo ../../../Vocabulary/ORBvoc.txt  MyD435i.yaml false 
 

运行了

随后增加imu运行 ,但是要下载mavros读取飞控信息

组后运行飞控和相机

roslaunch realsense2_camera test.launch
roslaunch mavros test.launch
rosrun ORB_SLAM3 Stereo_Inertial ../../../Vocabulary/ORBvoc.txt  MyD435i.yaml false 

 可以运行

RGBD报错

网上找了下,发现话题不对,是要对齐后的深度图

在相机的启动文件里找到ali这一项,选择true,然后更改话题 

message_filters::Subscriber rgb_sub(nh, "/camera/color/image_raw", 1);
message_filters::Subscriber depth_sub(nh, "/camera/aligned_depth_to_color/image_raw", 1);

 随后启动rgbd,可以正常启动,有一个问题就是rgbd的延迟比双目和单目都高

rosrun ORB_SLAM3 RGBD ../../../Vocabulary/ORBvoc.txt  MyD435i.yaml

 

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用ORBSLAM进行导航的过程可以分为以下几个步骤: 1. 建立稠密地图:ORBSLAM可以使用单目、双目或RGBD相机进行稠密地图的建立。通过相机图像将像素转换为点云数据,然后进行拼接。如果需要恢复物体外观轮廓,可以使用三角网格或面片进行建图。生成的点云地图可能会很大,因此可以考虑使用体素占据网格地图(Occupancy Map)来减小地图的大小。 2. 实现回环检测:ORBSLAM可以通过回环检测来提高导航的准确性。回环检测是指在导航过程中,当机器人回到之前经过的位置时,能够识别并利用之前的地图信息。这可以通过比较当前帧与之前帧的特征点来实现。 3. 转换为八叉树地图:使用octomap将稠密地图转换为实时的八叉树地图。八叉树地图是一种用于表示三维环境的数据结构,可以有效地管理地图的信息。 4. 导航规划:根据生成的地图,可以进行导航规划。基于octomap的航迹生成算法可以用于视觉导航,通过分析地图信息和当前位置,生成机器人的航迹路径。 总结来说,使用ORBSLAM进行导航的过程包括建立稠密地图、回环检测、转换为八叉树地图和导航规划。这些步骤可以帮助机器人在未知环境中进行导航和定位。\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [使用ORBSLAM2进行kineticV2稠密建图,实时转octomap建图以及导航](https://blog.csdn.net/lovely_yoshino/article/details/105272602)[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^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值