侵权投诉
订阅
纠错
加入自媒体

DSP的激光雷达数据智能接口卡设计

2012-06-19 08:08
黯影冰风
关注

  3.2  UART和CAN通信模块

  UART采用中断方式接收激光雷达发送过来的数据,因为数据传输速率为500Kbps,接收中断非常频繁,中断程序过于复杂会延误后续的数据处理,所以整个中断程序非常简短,不超过20条指令。当主程序检测到UART接收到一桢数据后,就将数据写入CAN邮箱4和5,通过CAN发送给PC机。同时,CAN通信采用中断接收PC机发送过来的数据,再通过UART发送给激光雷达。

  3.3  车体避撞模块

  车辆在自动驾驶时需要实时检测车前方一定范围内的障碍物,一旦发现有障碍物就必须控制车辆紧急制动以免发生事故,这个障碍物检测是由安装在车前部的激光雷达完成的。

  当UART接收到激光雷达一桢数据732个字节后,进行CRC校验,数据校验无误后,去掉桢头和桢尾,将距离数据的高位字节和低位字节合并,然后存放在数组Laser_Range[361]里。智能车辆的宽度为1.4米,我们设置了一个障碍物检测区域,是以激光雷达为中心的一个2×2米的方形区域,只要在这个区域内有障碍物我们就认为车的前方有障碍物,需要紧急制动。一桢激光雷达数据是361个距离值,在判断时将这361个数据分为三个部分,三个区域内的数据分别有各自的判断条件,条件如果成立则认为该区域内有障碍物。当检测完361个数据以后,如果没发现障碍物则认为是安全的,如果发现了障碍物则认为有危险,这时直接通过I/O发送命令给底层控制器让车辆紧急刹车。

  4试验结果

  本文对上述接口卡进行了试验验证。试验平台为上海交通大学研制的无人自动驾驶车辆,测距传感器为LMS291激光雷达,安装在车辆前方。在车载笔记本电脑的VC++平台上对CAN接口进行配置,接收激光雷达在500kbps下发送的连续数据,对每一个测量的距离数据用一个小圆圈表示,在实验室外的车道上进行了实际演示。随着前方障碍物的变化,图像会实时地跟着变化。由于采集速率高,激光雷达数据完全没有丢失。数据传输实时性也很好,笔记本电脑接收激光雷达一桢732个字节数据的时间为27.2毫秒,比激光雷达实际的时间周期只延迟了0.6毫秒,达到了车辆精确定位导航算法的要求。

<上一页  1  2  3  4  5  下一页>  余下全文
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号