navigation 总结

1. 项目总结

本次项目已经进行有3个月左右了,项目也逐渐进入了尾声。我和yxs负责的导航部分也要结束了。

导航的绝大多数模块已经完成而且经过了测试,并且可以通过对 Grid Map 的可视化,查看障碍物信息,和TEB规划出来的路径信息。同时,也可以将要下发的速度打印出来。

同时,我们的项目也有一部分因为疫情原因,没办法获得小车平台,以及没能及时获得传感器,耽误了项目的进度。同时,因为这是一门课程,因此,只能在一个模拟环境下完成。

项目没能整合的模块为:yxs负责的车道线识别。这一部分已经经过了模块的单独测试,但是因为没有小车平台,没办法整合进导航部分。因此,导航不能从车道线模块获取到目标点的位置。

项目缺少的模块为:获取小车当前速度和与小车通信。这个部分因为缺少硬件的支持,和负责硬件支持的老师没能正常和我们沟通,导致这部分的模块缺失。

navigation 项目的其他模块均已经整合,且经过实际数据的测试。

2. 技术栈总结

项目的技术栈其实在一开始的设计中,已经有提及一部分的流程,这里对已经完成的项目再做一次技术总结。

首先,整个项目会尽量减少线程的使用,尽量少用线程。原因在于项目所运行的环境为tx2,CPU计算资源比较匮乏,开多个线程会增加系统上下文切换的频率,从而导致额外的性能浪费。

因此,项目除了因为要接收点云数据和位姿数据开了2个线程接收,除此之外只有一个线程。同时,这两个接收数据的线程也只有数据到来时,才运行,其他时间都挂起。

主线程的运行流程如下:

  1. 从线程共享的内存中,获取位姿和点云数据。
  2. 通过视觉模块,获取边界障碍物和目标点位姿。因为条件所限,这里的目标点由自己模拟实现。
  3. 将接受到的点云数据,通过我们自己实现的转换器,将空间三维信息,映射到二维平面栅格地图,同时,从栅格地图中提取障碍物信息。
  4. 将障碍物信息输入到 teb 规划器中的指定的容器,规划器产生下一刻要下发的速度和规划出的完整轨迹。
  5. 将完整轨迹和障碍物可视化,并将下发的速度打印出来。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值