ORB-SLAM2 ubuntu16.04+kinect2运行记录

本文详细记录了在安装ORB_SLAM2过程中遇到的编译错误及解决步骤,包括处理libboost依赖问题,修改CMakeLists.txt,解决ros下的iai_kinect2和libfreenect2的bridge问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要参考:https://blog.youkuaiyun.com/weixin_39718903/article/details/80856241

问题描述:安装ORB_SLAM2时编译“./build_ros.sh”时出现报错。
遇到的问题如下:

1 --libboost_filesystem

$locate  boost_system
//查找到目录
/usr/lib/x86_64-linux-gnu/libboost_system.a
/usr/lib/x86_64-linux-gnu/libboost_system.so
/usr/lib/x86_64-linux-gnu/libboost_system.so.1.58.0
/usr/local/MATLAB/R2017a/bin/glnxa64/libboost_system.so.1.56.0

$locate boost_filesystem
//查找到目录

/usr/lib/x86_64-linux-gnu/libboost_filesystem.a
/usr/lib/x86_64-linux-gnu/libboost_filesystem.so
/usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.58.0
/usr/local/MATLAB/R2017a/bin/glnxa64/libboost_filesystem.so.1.56.0

将libboost_system.so , libboost_system.so.1.58.0与libboost_filesystem.so , libboost_filesystem.so.1.58.0复制到ORB_SLAM2/lib //不是Example ROS里的lib

2 target Cmakelists修改

/usr/lib/x86_64-linux-gnu/libboost_system.so: error adding symbols: DSO missing from command line

解决办法:在Examples/ROS/ORB_SLAM2/Cmakelist.txt 的文件后面加入两句话:

target_link_libraries(Stereo boost_system boost_filesystem)  
target_link_libraries(RGBD boost_system boost_filesystem) 

3 ros下的iai_kinect2 和libfreenect2的bridge问题

usb接口调换

4 常见错误

https://blog.youkuaiyun.com/u014709760/article/details/85253525

参考:

https://www.cnblogs.com/bigzhao/p/6635770.html

### 关于ROS中的SLAM算法 在机器人操作系统(ROS)中,同步定位与建图(SLAM)是一个核心领域,用于帮助移动机器人构建环境地图并实时定位自身位置。传统的SLAM学习方法通常涉及以下几个阶段:研究openSLAM官网上的资源、深入分析算法的原始论文、基于理解阅读开源代码,并最终通过实践来发现问题和优化解决方案[^1]。 对于具体的实现方式,在ROS环境下可以利用多种现有的SLAM算法库,例如激光雷达SLAM (Lidar SLAM),RGB-D SLAM以及ORB-SLAM等。这些现成的算法能够简化开发流程,使开发者无需从头编写复杂的程序即可获取必要的数据[^2]。此外,针对特定硬件设备如Kinect的应用场景,可以通过`depthimage_to_laserscan` 和 `kinect_2d_scanner` 这样的工具包来进行导航操作;而像`turtleBot`平台则提供了专门的SLAM指南文档,其中重点介绍了诸如`move_base`, `gmapping`, 及 `amcl` 等关键功能包的作用及其配置说明[^3]。 当涉及到更高级别的需求时,例如使用Normal Distributions Transform (NDT) 方法进行点云匹配处理,则需关注其背后的理论依据和技术细节。这包括但不限于代价函数的设计思路、梯度的一阶导数与Hessian矩阵对应的二阶导数值求解过程,还有每次迭代过程中步长调整策略等内容。上述所有技术要点均可参照相关学术文章获得进一步指导[^4]。 另外值得注意的是,在实际部署之前还需要完成一系列准备工作。以`slam_gmapping`为例,它作为一款广泛使用的二维平面扫描测距仪为基础的地图创建工具,要求使用者确认目标计算机已正确安装对应版本的支持组件。如果运行的操作系统为Ubuntu 16.04搭配ROS Kinetic Kame组合形式的话,那么可以直接借助官方APT仓库完成一键式安装动作;然而面对不同发行版情况下的兼容性挑战,则往往需要手动克隆项目源码至本地后再执行交叉编译任务才能正常使用该特性[^5]。 ```python import rospy from nav_msgs.msg import Odometry from sensor_msgs.msg import LaserScan from geometry_msgs.msg import PoseWithCovarianceStamped def init_slam(): rospy.init_node('simple_slam', anonymous=True) if __name__ == '__main__': try: init_slam() except rospy.ROSInterruptException: pass ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ray Song

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值