动态环境下移动机器人的导航定位项目 算法与开发技术栈分析

本文详细介绍了动态环境下移动机器人导航定位项目,利用C++调用PyTorch模型,进行多线程编程处理视觉SLAM和动态物体剔除。项目中采用CMake构建环境,融合RGBD相机、Yolact实例分割模型,利用Opencv、PCL、Eigen等库构建SLAM系统,并借助NCNN加速模型计算,实现嵌入式平台上的实时建图。
摘要由CSDN通过智能技术生成
  • 项目描述:以复杂的动态的室内实验室环境为背景,探索动态环境下构建语义地图的方法,结合基于RGBD相机的视觉SLAM系统和基于单阶段实例分割的神经网络 Yolact 框架设计算法剔除动态物体点,融合位姿信息和语义信息以及构建语义目标数据库实时构建高层次语义地图.
  • 项目硬件:Turtlebot2,Kinectv2,Nvidia Jetson Tx2
  • 项目主体框架:使用Cmake构建环境,使用Opencv,PCL点云库,Eigen矩阵运算库,g2o图优化库和DBOW2词袋模型库协助构建SLAM系统,并在SLAM前端的视觉里程计使用轻量级的实例分割模型YOLACT进行动态点的检测与剔除,并与点云信息进行结合完成三维语义地图和语义目标数据库的构建,并针对嵌入式平台TX2使用NCNN框架降低YOLACT模型的前向计算速度和使用octomap八叉树算法对地图进行压缩,完成实时建图的要求。

开发涉及的技术栈:

项目主要实现:主要使用CMake来编译整体工程代码,使用git 来进行代码版本控制,项目使用的主要语言为c++和python。

项目涉及的主要技术栈:

1.C++中调用Pytorch模型

​ 由于项目的主体框架使用的C++代码,python主要是在pytorch框架中使用,pytorch框架生成的模型会pytorch中的tracing方法将模型封装成一个module对象,通过使用pythorh的C++ API—libtorch加载的这个module会得到一个序列化过的module,然后在C++代码中来反序列化这个module来取到需要的模型。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值