news 2026/8/7 19:59:56

三轮小车实验记录

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
三轮小车实验记录

已经成功将暗光增强网络网络嵌入到orb-slam3中,并且可以运行tum数据集。

在实验过程中,libtorch、opencv、以及orb-slam3的依赖库eigen,pangolin。这些包的版本之间有莫名其妙的依赖问题。好不容易处理好了版本依赖,实现了运行tum数据集。

当编译orb-slam3的ros系列时,又出现了问题:

编译orb-slam3的ros系列,要保证ROS 发行版(ubuntu 20.04 Noetic)本身自带的 OpenCV 版本(4.2.0)与自定义的opencv版本保持一致。如果用自定义的 OpenCV 3.4.5 编译 ROS 节点 / 功能包,会触发错误。

所以我将opencv版本从3.4.5换成了4.2.0

这就导致出现了新问题

1.使用 GCC 9.4.0 + OpenCV 4.2.0 + C++17 编译时,Eigen 3.4.0 触发了编译器崩溃

解决:升级 GCC/G++ 到 11 版本,解决了该编译错误。

2.GCC 11 导致 libtorch_cuda.so 链接错误。GCC 11 对应的libstdc++.so.6.0.32引入新 ABI 符号,与libtorch_cuda.so编译时依赖的旧 ABI 不兼容;

解决:将编译器切回 GCC/G++ 9.4.0。

3.再次触发第一个bug

如此循环。

所以我采用了新方案

不修改orb-slam3的源代码,不影响原项目版本库互相之间的依赖

将暗光增强网络封装成一个ROS节点,订阅摄像头话题/camera/rgb/image_raw,发布增强后的图像话题/camera/rgb/image_enhance

修改orb-slam3的ros节点的话题订阅,订阅话题/camera/rgb/image_enhance,利用从这个话题中得到的消息进行建图。

实验

1.修改上位机(主机)的.bashrc文件

export ROS_MASTER_URI=http://192.168.3.65:11311 export ROS_IP=192.168.3.65

2.修改下位机(小车)的.bashrc文件

export ROS_MASTER_URI=http://192.168.3.65:11311 export ROS_IP=192.168.3.68

3.上位机启动

roscore

4.下位机开节点

#摄像头驱动 roslaunch turn_on_wheeltec_robot wheeltec_camera.launch #视觉建图 roslaunch orb-slam2-ros orb-slam2-Astra-rgbd.launch

5.上位机查看

rviz rqt_image_view

手机蓝牙遥控小车。

问题

视觉建图很不稳定,特别是使用实际小车的时候。动态物体,小车颠簸,运动速度,光照,小车内存不足不能构建整个大屋子的地图。环境有一点点的变化就会影响。

构建的图:

点云地图

栅格地图

所以接下来我计划先跑tum数据集,还是使用ros通信。然后在gazebo中模拟环境,利用ros通信,构建环境地图。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/8 6:40:06

城通网盘解析工具终极指南:轻松获取直连下载地址

城通网盘解析工具终极指南:轻松获取直连下载地址 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 还在为城通网盘的繁琐下载流程而烦恼吗?想要快速获取直连地址,告别广…

作者头像 李华
网站建设 2026/8/7 2:01:28

Sunshine游戏串流终极配置指南:5个步骤实现4K HDR完美体验

还在为游戏串流时的卡顿和画质损失而烦恼吗?Sunshine作为一款免费开源的自托管游戏串流服务器,能够让你在任何设备上享受低延迟、高画质的游戏体验。无论是想在平板上玩PC游戏,还是在客厅电视上体验桌面级画质,Sunshine都能完美胜…

作者头像 李华
网站建设 2026/8/7 22:48:22

如何快速掌握AMD Ryzen调试:SMUDebugTool完整使用指南

如何快速掌握AMD Ryzen调试:SMUDebugTool完整使用指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gi…

作者头像 李华
网站建设 2026/8/8 2:05:39

半监督学习和元学习的区别

一、核心目标不同1. 半监督学习(Semi-Supervised Learning, SSL)目标: 在标注数据很少、未标注数据很多的情况下,提高模型在当前任务上的性能。本质问题是:“如何更好地利用未标注数据,弥补标注样本不足&am…

作者头像 李华
网站建设 2026/8/8 3:07:16

ncmdumpGUI完整指南:快速解锁网易云NCM加密文件的终极解决方案

ncmdumpGUI完整指南:快速解锁网易云NCM加密文件的终极解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 在数字音乐时代,你是否遇…

作者头像 李华
网站建设 2026/8/8 3:18:53

高效会议时间管理利器:智能悬浮计时器完整教程

高效会议时间管理利器:智能悬浮计时器完整教程 【免费下载链接】ppttimer 一个简易的 PPT 计时器 项目地址: https://gitcode.com/gh_mirrors/pp/ppttimer 还在为会议超时而烦恼吗?智能悬浮计时器这款轻量级桌面工具,能够让你在各类会…

作者头像 李华