真正的全栈工程师!B站硬核UP主自己造了一个激光雷达

2022 年 2 月 2 日 机器之心

机器之心报道

机器之心编辑部

从零造一个激光雷达,需要多久?


激光雷达(LiDAR)是激光探测及测距系统的简称,目前广泛应用在无人驾驶和扫地机器人等领域。这种广泛的应用一方面得益于激光雷达的性能提升,一方面也得益于其成本的下降。

根据扫描方式,激光雷达可分为 MEMS 型、Flash 型、相控阵型、机械旋转型;根据线数,可分为单线型和多线型:


话说回来,有没有可能自制一个激光雷达?B 站的一位硬核 UP 主「不想宅的技术宅」还真就把这个小目标实现了。

UP 主用了大半年的业余时间,用一个激光测距传感器整出了一个单线机械旋转式激光雷达,总共包括硬件设计、结构设计、FPGA 开发和 3D 打印几个步骤。对于 UP 主来说,这不算是新的挑战,只能算是「把以前学过的东西复习了一遍」:


虽然 UP 主很谦虚,但很多人播放完视频之后,只能表示「不懂,但受到震撼」:


做一个激光雷达,需要哪些基本部件?

UP 主选用了一款 FPGA 开发板,主芯片为 Xilinx ZYNQ7000,板上搭载了一个最高可输出 1080p60 帧视频的 HDMI 接口、32 个 GPIO(通用输入输出接口)等其他外设。在这块开发板上,将要完成雷达数据的采集、运算和显示。


此外还有一个直流减速机,额定电压为 12V,减速比为 1:30,最大输出转速为 300 转每分钟,电机尾部安装了 500 线的光电编码器,通过光电编码器可以获知输出轴的转动角度。


最后,还有一个激光测距传感器,测距精度为 1cm,量程为 12m,每秒钟可以测量 1000 次,输出接口为串口。


这些就是自制激光雷达所需要的基本部件,然后就是结构设计的问题了。

结构设计

UP 主表示,激光雷达在工作时,探头需要连续旋转,因此探头和底座的信号传输无法用导线连接,否则会引发缠绕问题,他通过导电滑环解决了这个问题。导电滑环内部是一组电刷,可以解决信号线在旋转情况下的缠绕问题:


如此,激光雷达就设计好了:


整个激光雷达分为底座和探头,探头和底座通过旋转轴进行连接,激光测距传感器通过螺丝固定在探头基座上。


探头基座内部还固定有转子 PCB,底座部分固定有导电滑环、电机和定子 PCB。


在实际装配时,电机输出轴和导电滑环和旋转中心因为误差关系大概率不会处于同一轴心上,这里使用了一个弹性连轴器来补偿轴向偏差:


探头和底座之间设计了一对红外对管,用来确定探头转动的初始位置:


至此,结构设计就完成了。随后将设计好的结构件在 3D 打印软件中添加支撑,然后切片,最后通过 3D 打印机打印出来。打印好的探头基座、探头盖和底座就是这样:


硬件电路设计

整体框架如图所示,包含定子 PCB 和转子 PCB:


下图是整个电源以及隔离设计的框图,整个电机控制部分和其他电路没有实际的连接,电机在工作时不会干扰其他电路:


再之后是 PCB 设计:



一番装配之后(此处省略一万个步骤),激光雷达就做好了:


激光雷达和 FGPA 之间通过排线进行通信。在软件设计上,分为两部分:PS 侧的嵌入式开发,以及 PL 侧的 FPGA 开发,相比之下,PL 侧的开发显得比较复杂。整体框图如下:


而主要的难度恰恰在于 FPGA 部分。UP 主表示:「要把雷达数据叠加在视频数据流上,费了我不少脑细胞。」

最后,看下实际运行效果

受限于激光测距传感器测量频率,探头转动一圈采集 500 个点的数据,所以激光雷达的扫描频率只能做到 2Hz 每秒。

为了视觉效果,UP 主加上了雷达扫描线,最终实现的效果还是不错的:


目前,UP 主已经把视频中激光雷达的结构和 pcb 设计文件上传到 Github 平台,想要做一个玩玩的小伙伴可以去下载。

项目传送门: https://github.com/Messi-xiong/LiDAR.git



© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

登录查看更多
0

相关内容

FPGA:ACM/SIGDA International Symposium on Field-Programmable Gate Arrays。 Explanation:ACM/SIGDA现场可编程门阵列国际研讨会。 Publisher:ACM。 SIT: http://dblp.uni-trier.de/db/conf/fpga/
周志华教授:关于深度学习的一点思考
专知会员服务
121+阅读 · 2021年11月23日
【NeurIPS2021】多模态虚拟点三维检测
专知会员服务
18+阅读 · 2021年11月16日
【CMAP】机器学习硬核讲解课程
专知会员服务
38+阅读 · 2021年9月30日
【干货书】概率与信息,一种集成方法,291页pdf
专知会员服务
60+阅读 · 2021年9月1日
专知会员服务
28+阅读 · 2021年6月27日
3D目标检测进展综述
专知会员服务
191+阅读 · 2020年4月24日
【综述】自动驾驶领域中的强化学习,附18页论文下载
专知会员服务
172+阅读 · 2020年2月8日
23岁何同学引爆B站:当UP主的这5年
新智元
0+阅读 · 2022年4月18日
你买过什么被人嫌弃的数码产品?
ZEALER订阅号
0+阅读 · 2021年11月28日
B站小伙教你十分钟学会研发火箭,看完只会喊牛
学术头条
0+阅读 · 2021年10月16日
一文搞懂反向传播
机器学习与推荐算法
18+阅读 · 2020年3月12日
自动驾驶车载激光雷达技术现状分析
智能交通技术
17+阅读 · 2019年4月9日
从零开始一起学习SLAM | SLAM有什么用?
计算机视觉life
18+阅读 · 2018年9月17日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Arxiv
0+阅读 · 2022年4月20日
Arxiv
1+阅读 · 2022年4月19日
Arxiv
3+阅读 · 2022年4月19日
Arxiv
0+阅读 · 2022年4月19日
Arxiv
58+阅读 · 2021年11月15日
Arxiv
136+阅读 · 2018年10月8日
VIP会员
相关VIP内容
周志华教授:关于深度学习的一点思考
专知会员服务
121+阅读 · 2021年11月23日
【NeurIPS2021】多模态虚拟点三维检测
专知会员服务
18+阅读 · 2021年11月16日
【CMAP】机器学习硬核讲解课程
专知会员服务
38+阅读 · 2021年9月30日
【干货书】概率与信息,一种集成方法,291页pdf
专知会员服务
60+阅读 · 2021年9月1日
专知会员服务
28+阅读 · 2021年6月27日
3D目标检测进展综述
专知会员服务
191+阅读 · 2020年4月24日
【综述】自动驾驶领域中的强化学习,附18页论文下载
专知会员服务
172+阅读 · 2020年2月8日
相关资讯
23岁何同学引爆B站:当UP主的这5年
新智元
0+阅读 · 2022年4月18日
你买过什么被人嫌弃的数码产品?
ZEALER订阅号
0+阅读 · 2021年11月28日
B站小伙教你十分钟学会研发火箭,看完只会喊牛
学术头条
0+阅读 · 2021年10月16日
一文搞懂反向传播
机器学习与推荐算法
18+阅读 · 2020年3月12日
自动驾驶车载激光雷达技术现状分析
智能交通技术
17+阅读 · 2019年4月9日
从零开始一起学习SLAM | SLAM有什么用?
计算机视觉life
18+阅读 · 2018年9月17日
相关基金
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Top
微信扫码咨询专知VIP会员