Apollo 6.0 perception 瞎学笔记(一)bitmap2d

Apollo 6.0 perception 瞎学笔记(一)roi_filter

目录

前面看到autoware是怎么结合地图信息来滤除聚类点云目标的,现在我们学习下百度apollo的做法,这里纯属作者写给自己看的,肯定有很多错误,请大家不要相信。

代码分析:

bitmap2d.cc

打开 apollo-r6.0.0/modules/perception/lidar/lib/roi_filter/hdmap_roi_filter目录下的bitmap2d.cc
在这里插入图片描述这些是关于bitmap的底层位操作,这里作者还不是太理解,因此跳过哈哈哈哈。。。。
在这里插入图片描述这里是地图初始化,输入量是地图的最小,最大值,单元格尺寸。

  • 前面是Check数据是否满足要求
  • dims_等于变化量除以单元格尺寸
  • dims_加上Vec2ui(1,1)
  • map_size_ 存放dims_数据
  • bitmap_调整到如此大小,但是里面的元素值为0

在这里插入图片描述
这里是SetUp函数,传入地图的主方向。然后计算出相反方向,将bitmap_.data()指向内存的前size个字节清0。

在这里插入图片描述这里是RealToBitmap将真实的值转换为地图

  • 计算出p点相对于最小点的单元格数,有种像素值的感觉
  • 这里没看懂,传入到major_pix
  • 将x,y,z分别传给3D的矩阵bit_p

在这里插入图片描述

没看懂,算出3维p点的2维index

在这里插入图片描述
根据2维索引判断时候合法存在

在这里插入图片描述
检测p点,将2维p点转换成3维点bit_p, 通过Index方法转换到idx,通过CheckBit方法检测数据位。
在这里插入图片描述
这里将上述的CheckBit转换为SetBit,应该是将p点的z值传到对应索引处
在这里插入图片描述
这里是将该点的z数据位重置
在这里插入图片描述Set方法,传入x,min_y, max_y

  • 将最小y和最大y分别传入到real_left,real_right的副方向,x传入到主方向
  • 通过realtobitmap方法将其转换成3D的点
  • 如果左边的y值等于右边的y值,得到左边点的索引,调用SetRangeBits方法
  • 如果不相等的话,设立起始的bits为左边位的z值,设立尾部的bits为右边的z值
  • 然后从左边的index到右边的index,将bitmap的每一位都设置为-1

在这里插入图片描述相对于上面的方法,只是将-1改成0

总结

作者基本没看懂

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Apollo 6.0 Docker是指使用Docker容器来运行Apollo 6.0的开发环境。首先,你需要检查并切换到Apollo的r6.0.0分支,可以使用以下命令:cd apollo git checkout r6.0.0 \[1\]。然后,你可以使用bash docker/scripts/dev_start.sh命令来启动Apollo开发Docker容器 \[1\]。如果你想要设置循环回放模式,可以使用选项--loop \[2\]。如果你想要停止Apollo容器,你可以在容器中执行exit命令或者在宿主机中执行docker stop $(docker ps -aq)命令来停止所有的Docker容器,或者使用docker stop apollo_xxxxx命令来停止特定的Apollo容器 \[2\]。如果你想要重新启动Apollo Docker,你可以使用以下命令:systemctl start docker && systemctl enable docker systemctl status docker \[3\]。 #### 引用[.reference_title] - *1* *3* [【apollo6.0安装全教程】](https://blog.csdn.net/weixin_42377570/article/details/123429583)[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_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Apollo6.0安装文档教程——环境搭建、安装、编译、测试](https://blog.csdn.net/qq_37346140/article/details/127405885)[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_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值