自动驾驶传感器集成调试与验证

背景:

 本文旨在介绍

  1.   如何将传感器样件适配整车,打通数据流,调试其至正常工作状态。
  2.   开发一些验证工具,为不同车型和不同型号传感器的集成工作提效。

初识硬件:

  1. 传感器

   常见传感器有激光雷达,毫米波雷达,摄像头,超声波雷达,组合惯导等。

a1b5f68c4b8e43738f8b42e8165538a8.png
毫米波雷达
11d8c7533b054c9cbee9279f7a973360.png
激光雷达
9cb67275f5a941e4baf1b3d175e6dfbc.png
摄像头
a25ce6130163402b97b92eb92c6535d1.png
组合惯导
5c37a9df262742ea90317b807c3a0616.png
超声波雷达

2. 通信链路

   数据传输物理链路有车载以太网,can/canfd,串口,GMSL同轴电缆等。

e011c1166b044253adb35ee5d2bf5a18.png
车载以太网网关 T1转RJ45
9312d68706f443e7bb6fc3b178968985.png
开发板外接多路can/canfd
摄像头接GMSL
5ccba571e9af4532960e2a2151ddbfce.png
RS232串口线束
3. 计算平台

    数据处理平台有x86,orin,tc397等。 

dfbe14ceaf6a4e2997239384e4e4ced6.png
X86工控机
b2768f97e7cd48878881581c084dca1d.png
TC397开发板
72c13a7e4fac4afe815db065ec6149de.png
Nvidia Jetson Orin开发模块

传感器集成适配流程:

激光雷达
激光雷达链路拓扑图
  1. 根据激光雷达产品手册,获取其车载以太网口信息,配置其连接的网关口(千兆/百兆,master/slave)。
  2. 确定lidar当前ip,产品手册查阅lidar的默认ip或在计算平台中通过wireshark查看对应网口的arp包(如 who has 192.168.10.1 ?Tell 192.168.10.200)
  3. 配置计算平台端对应网口(netplan配置),使其与lidar ip在同一网段。
  4. 连通lidar网络,自定义配置lidar的src_ip, dst_ip, dst_port, 时间同步方式(常见配置方式有lidar网页端配置,走uds协议的tcp通信),配置后重启lidar,tcpdump或wireshark抓包检查配置是否生效。
  5. 根据lidar的时间同步方式(pps+gprmc, gptp, ptp),在计算平台上配置相应的授时服务。
  6. 如果是pps+gprmc时间同步,就要从定位设备的串口线中引出,接至lidar线束,两边设备串口的波特率配置一致。
  7. 如果是gptp或ptp时间同步,计算平台要下载编译好linuxptp,配置对应的时间同步cfg文件,启用ptp4l(最好做成开机自启服务如 /lib/systemd/system/timesync_to_lidar.service)对lidar授时。在此之前还要用ethtool -T 网口名,查看网口是否支持软件和硬件时间戳。激光雷达内部的时间同步配置文件有可能也需要用户自定义 (一般注意修改两个参数tx_timestamp_timeout, step_threshold)。
  8. 解析lidar的udp数据包,确认其工作状态(时间同步状态,故障模式,实时流量,是否丢包,点云可视化),正常之后可进入标定环节。

毫米波雷达
毫米波雷达链路拓扑图 1

毫米波雷达链路拓扑图 2
  1. 确认radar的输入输出物理层链路(车载以太网还是can/canfd)。
  2. 用实测数据校对协议,确定radar的输出信息(原始点云或目标物输出)。若使用多个同型号的radar,考虑到向radar输入的can报文是一样的,不同安装位置的radar可通过多个pin脚的状态组合确定,在满足各radar的应用层输出的can报文ID互不冲突,uds诊断的寻址ID互不冲突,总线负载率(一般小于60%),总线上can/canfd兼容的要求下,可考虑将多个radar的can线合并,提高MCU侧的can口利用率。
  3. 根据用户手册,向radar转发协议要求的can报文(一般包含车速,方向盘转角,横摆角速度,档位信息)。如果radar是分输入输出两路can,底盘信息又都在一路can上,can波特率一致,底盘可以直连radar的输入can。若不满足直连,需要考虑MCU做应用层转发。有些radar需要接入autosar定义的can时间同步报文,需要MCU做授时。
  4. 解析radar输出的can或以太网包。确认其工作状态正常(故障模式,是否丢包,输出可视化),正常之后可进入标定环节。

组合惯导
组合惯导链路拓扑图
  1. 确认组合惯导的输入输出物理层链路(车载以太网还是can/canfd)。
  2. 接入天线(信号良好的开阔地带)
  3. 确定设备的时间同步模式(pps+gprmc, gptp, ptp),一般定位设备作为智驾域的主时钟节点。 
  4. 通过串口或车载以太网,给组合惯导配置loglist(如GPGGA, BESTPOS),千寻服务帐号,IP,时间同步模式,杆臂值初值等信息。
  5. 接入RTK服务需要联网,可以选择接入DTU设备。若直连计算平台,需要开启IP转发和使用iptables设置NAT。
  6. 根据用户手册协议,向组合惯导转发包含车轮速度信息的can报文。
  7. 检查组合惯导设备工作状态,读取其天线搜星数,rtk固定解状态,gprmc时间,输出信息是否与loglist一致。正常之后可进入标定环节。

验证工具开发案例:

1. can数据转发
2. can数据实时解析
3. udp解包
4. udp数据实时解析
5. 时间同步数据包解析
6. telnet工具
7. 网页端可视化摄像头图片
8. 查看系统服务状态
9. PCD文件点云可视化
10. 串口通信交互工具
11. ubuntu terminal交互工具
12. 网页端交互工具
13. deb包部署文件
14. 一些常用工具的函数
15. 压力测试log自动化分析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值