SICK激光雷达TCP/IP通信及数据解析[LD-MRS400001]

文章讲述了使用SICK雷达时,通过SOPAS软件进行参数设置和数据获取的不便,尝试寻找SDK和ROS包未果,最终通过网络串口助手实现了与雷达的TCP/IP通信,通过创建套接字读取并解析数据。强调了解数据编码、大端序和小端序的重要性。
摘要由CSDN通过智能技术生成

SICK雷达有配套的上位机软件SOPAS,可以对雷达参数设置、扫描数据点显示以及数据存储。但是使用该软件只能先获取点云数据,然后将点云数据导出再进行处理,实时性较差。由于课题需求,需要与雷达实时通信,但是关于该雷达的资料较少,而且我也不是通讯相关专业,因此这条路注定走的艰辛。
最开始接触确实也知道雷达支持TCP/IP通信,但是压根不知道这是什么东西。就在网上搜索资料,看有没有现成的SDK之类的,果真···没搜到。最后废了好大的力气,在gethub上搜到到了一个ros包,以为救星到了。就简单学习了ros,结果,果真还是学不懂啊,放弃了放弃了。不过这里还是把ros网址给出,供有兴趣的朋友学习。https://github.com/SICKAG/sick_ldmrs_laser。应该是车载导航用这个吧,我拿他就真的杀鸡用牛刀了耶hh。
后来再跟一位师兄交谈中,再次提到此事。让我用网络串口助手试试,看能不能收到东西。结果,好家伙,兜了一大圈,搁这儿呢。确实不懂这些嘿嘿,当时学QT都学到了TCP/IP通信,我怎么就没给这方面想呢,越学越废。接下里,看你用啥语言了,创建套接字读数据吧。
数据读取搞定,接下来就剩解析数据了。这个,SICK的官方文档里边会有,找那个Data encoding,重点在encoding。这一章节会具体介绍你套接字收到的数据是怎么编码的,以LD-MRS400001为例,数据分为两部分,信息头和信息,信息里边又包含两部分,点云数据头和具体点云数据。从第0个字节开始,每部分信息对应哪些字节都会列出,读取对应字节的数据解析就行,注意数据类型是有符号还是无符号。这里给个Data encoding的讲解链接,供大家学习交流,不足之处请大家指正:https://www.bilibili.com/video/BV1tz4y1h7Cj/?share_source=copy_web&vd_source=de1f1dab61a9d46b98b6750a75c68f9f。
最后,最最最重要的是,注意大端序和小端序,比如读取某两个字节的十六进制为0xAF21,如果是大端序,就直接转为十进制就行,但如果是小端序,记得先把它倒序为0x21AF,再转为10进制数。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值