SICK LMS 111激光雷达数据读取与分析

SICK LMS111激光雷达的使用https://blog.csdn.net/weixin_34146805/article/details/86126953icon-default.png?t=L892https://blog.csdn.net/weixin_34146805/article/details/86126953

 [硬件]SICK LMS111激光扫描仪使用

SICK激光雷达LMS511数据提取与分析https://blog.csdn.net/gwqwyh/article/details/93848951icon-default.png?t=L892https://blog.csdn.net/gwqwyh/article/details/93848951

SICK LMS200激光数据采集程序说明

激光雷达获取的数据怎么建立三维点云图 

https://wenku.baidu.com/view/7361f8fff61fb7360b4c65b4.html

激光雷达LMS111-10100调试经验总结 

在电脑上通过网络调试助手和LMS111建立网络连接之后,即可按照如下流程,让其传回数据:

1、登录

2、设置扫描频率和分辨率

3、设置扫描数据内容

4、设置扫描数据输出

5、存储参数

本项目不需要该功能。(20170731YC)

6、注销

注意:只有log out(注销)之后,新设置的参数才会被激活。

7、要求扫描(数据输出)

(注:为保证三维建模的实时性,优先选择“连续输出扫描的测量值”模式。20170731YC)

回传数据解析:

 

SOPES采集到一个帧
[1]STX[2]sSN[3]LMDscandata[4]0[5]1[6]D74F1D[7]0[8]0[9]DB35[10]D857[11]70BBB79[12]70BE5D2[13]0[14]0[15]3F[16]0[17]0[18]2710[19]168[20]0
[21]1[22]DIST1[23]40000000[24]0000000[25]926C0[26]2710[27]17D[28]43D4[29]4184..........[148]12BD[149]0[150]0[151]0[152]0[153]0[154]0[155]0
[155]ETX

 

[1] STX数据帧的开始标志,ASCII=2

[2] sSN=连续测量,sRN=单次测量

[3] 固定字段LMDscandata

[4] 版本号,一般为0

[5] 设备号,一般为1

[6] 出厂序列号,每台激光不同,一般为固定值

[7][8] 设备状态, 0 0 正常,0 1 出错,0 2 镜面污染警告,0 4 见面污染错误

[9] 数据帧计数,激光每次发出一帧数据该值自动加1,取值范围为0000h~FFFFh,达到最大值后又从0开始重新计数

[10] 扫描计数,激光每扫描一次该值就加1,取值范围为0000h~FFFFh,达最大值后从0开始重新计数

[11] 扫描开始时间取值范围为00000000h~FFFFFFFFh,时间单位是us

[12] 数据帧传输开始的时间,取值范围00000000h~FFFFFFFFh

[13][14] 输入状态,0 0表示4路开关量输入均在inactive状态,即没有输入

[15][16] 输出状态,3F 0表示6路开关量输出均在Active状态

[17] 保留位,一般为0

[18] 扫描频率,取值为:(1)9C4h-2500-25Hz (2)DACh-3500-35Hz (3)1388h-5000-50Hz (4) D4Ch-7500-75Hz (5) 2710h-10000-100Hz

[19] 测量频率,取值范围为0~540h

[20] 编码器,0=无,1=有编码器输出

[21] 16位输出通道,取值为1~5表示从哪个编号的通道输出

[22] 回波DIST1~DIST5,看返回能量取自哪个层

[23]比例因子,3F80000h-1或40000000-2。这个是很重要的,如果是40000000则表示得到的距离值是实际距离X2得到的。

[23] 固定值,0000000(可作标志位)

[25] 开始扫描角度,-50000~1850000,即-5°~185° 在数据帧中以补码表示,927C0h=600000,也就是60°

[26] 扫描步宽(分辨率),683h-1667-0.1667°至2710h-10000-1°

[27] 测量数据个数,0h-0至475h-1141之间,此处17D即381个点,返回测量距离值有381个点。即编号28~408一共381个数据都是测量距离值

[28]~[408] 测量值,单位mm。这时候就要注意比例因子[23]是否为2

[408]~[413] 一般都为0

[414] ETX 帧结束标志,ASCII=3

private void button2_Click(object sender, EventArgs e)
        {
            string s = File.ReadAllText("d:\\123.txt");

            var ss = s.Split('@');
         
            for (int j = 1; j < ss.Count(); j++)
            {
                string s1 = "";
                string s2 = "";
                var data = ss[j].Split(' ');
                int factors = 1;
                if (data[21] == "40000000")
                    factors = 2;

                var startangle = Convert.ToInt32(data[23], 16) / 10000;
                //  '''角度分辨率'''
                double ang = Convert.ToInt32(data[24], 16);
                double anglestep = ang / 10000;
                // '''数据总量'''
                int datanum = Convert.ToInt32(data[25], 16);
                PointF[] pts = new PointF[datanum];
                s1 += "数据总量:" + datanum+"\t\n"+"起始角度:"+startangle+"\t\n"+"角度分辨率:"+anglestep+"\t\n"+"数据内容:\t\n";
                s2 += "数据总量:" + datanum + "\t\n" + "起始角度:" + startangle + "\t\n" + "角度分辨率:" + anglestep + "\t\n" + "数据内容:\t\n"; ;
               
                for (int i = 0; i < datanum; i++)
                {
                    var dd = Convert.ToInt32(data[26 + i], 16);
                    s1 +=dd.ToString()+ "   ";
                    double x = Convert.ToInt32(data[26 + i], 16) * factors * Math.Cos((startangle + i * anglestep) / 180 * Math.PI) / 1000;
                    double y = Convert.ToInt32(data[26 + i], 16) * factors * Math.Sin((startangle + i * anglestep) / 180 * Math.PI) / 1000;
                    s2 += x+"   "+y+"\t\n";
                    pts[i].X = (float)x * 100;
                    pts[i].Y = (float)y * 100;
                }

                richTextBox1.AppendText(s1+"\t\n");
                richTextBox2.AppendText(s2 + "\t\n");

           
            }
        }

 @ LMDscandata 1 1 10932C9 0 0 FCF7 FCFA 9D8BFAEF 9D8C5810 0 0 7 0 0 1388 168 0 1 DIST1 3F800000 00000000 FFF92230 1388 21D 3 887 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 70C 703 6E4 6DB 6DA 6C4 6CC 6B5 6B8 6AC 69A 6B6 68C 69F 68C 696 692 676 672 673 66C 65F 65A 673 660 64A 653 65F 652 656 647 642 631 63C 64B 63A 62D 62A 643 638 633 620 616 621 611 62F 632 616 615 610 618 60C 628 609 613 614 61A 614 62A 613 625 611 614 611 623 61D 627 5FE 5F9 5FE 603 605 5DD 5B1 5AD 5AB 5BD 5C0 5C0 5C8 5C9 5CE 5CA 5C7 5D1 5E3 5D8 5D7 5E2 5E4 5FA 5E5 5F7 5ED 5F2 5F9 5FA 616 608 60D 622 62A 61F 628 636 648 643 63F 644 64D 65D 66F 677 670 67F 688 698 68F 69A 6AA 6AF 6C3 6C3 6EF 6E6 6DA 714 6F4 723 71F 729 738 74C 76D 77D 76F 76D 796 799 7B0 7C7 7D7 7DE 809 818 81E 832 83C 850 878 887 88F 8AB 8CA 8D4 8D8 902 909 8F6 8D8 8D3 8BD 8A4 8A5 880 874 86A 861 83C 836 824 825 81B 7F6 7EC 7F3 7D5 7CE 7B0 7A0 79B 78A 77F 771 75F 75C 75B 74B 748 73F 728 727 724 719 70D 700 70B 70A 708 6E3 6CA 6D9 6E5 6C7 6CA 6BB 6B0 6B9 6B1 68B 689 6A7 69A 682 6A1 686 675 67A 68E 660 660 65A 66C 660 65A 65D 660 659 662 655 651 64A 645 651 644 64A 62F 65C 648 638 63C 62B 645 642 657 63A 641 640 640 633 63E 629 639 642 64A 64C 64D 643 646 636 655 65B 649 645 64C 644 64F 64C 654 654 66C 644 647 65D 65E 661 681 65C 672 681 689 680 683 678 680 686 695 6A0 6A4 6AB 6C3 6B4 6BA 6BF 6CC 6C0 6D2 6D5 6EF 6EE 6F1 6F8 6F0 703 71C 718 728 72D 72D 747 766 750 769 758 73A 720 717 6FC 701 6E1 6D4 6BE 6BA 68A 689 68E 665 650 64F 640 62A 637 618 613 5F9 5E7 5CE 5C7 65F 672 68C 6AD 6A3 62F 5B9 5AE 5A5 5A4 5B3 5AD 5A1 5AE 5B6 5C0 5CB 5D5 5CA 5BF 5BF 5C1 5BE 5AB 590 544 534 526 522 52E 537 529 529 531 551 56B 563 563 550 55F 543 4D5 4AD 4AD 4B5 4A5 49B 4A2 4A7 496 49D 49C 49A 49E 4A8 48F 48D 49D 48A 498 497 489 487 481 475 47E 48F 496 472 47D 483 47D 479 47A 47D 487 48D 478 48C 47C 476 475 477 47A 481 488 48A 487 478 491 483 496 480 495 47F 47E 49A 49C 487 484 495 4A6 498 498 499 4A7 4A6 4B2 4A5 49F 4AB 4C0 4CA 4B6 4C6 4BC 4D3 4D6 4C8 4C5 4D4 4DB 4DD 4E8 4E6 4EF 4FE 503 50F 50C 501 506 517 521 520 52A 53A 53E 546 560 54C 547 556 56B 58B 579 581 58A 581 5B0 5A2 5B5 5AF 5CF 5D3 5CF 5E4 5F2 5FE 5FD 626 61A 617 63C 650 64C 660 680 67F 6A0 6B7 0 0 0 0 0 0

激光雷达LMS511-20100学习笔记(一)

这是我从LMS100保存的数据接下来做数据处理实验的数据。图

LMS100-1000激光雷达学习(二)_第1张图片


数据获取过程图

LMS100-1000激光雷达学习(二)_第2张图片

下面分享一下数据获取的步骤:
1.上篇论文说安装SOPAS-ET软件,连接LMS100雷达
2.如果不需要上网,你只需要配置PC的IP地址192.168.0.**网段就可以了,例如我的配置:192.168.0.10
3.不需要参数配置,LMS100的参数都可以从设备内获取。
4.你的设备设置成在线,右击选择打开设备窗口。

LMS100-1000激光雷达学习(二)_第3张图片


打开镜像模拟器,可以实时看到数据。

LMS100-1000激光雷达学习(二)_第4张图片


5.打开终端模拟器,(可以与激光雷达传送数据命令,修改参数等)我这仅仅是用终端保存数据。

LMS100-1000激光雷达学习(二)_第5张图片


PS弯路:我一开始下载的是SOPAS-ET 2.0的版本,不支持还是自己没研究懂,总之怎么也保存不了模拟终端的数据。研究了半天数据记录仪,可惜数据记录仪是可以回放的数据,数据格式和信息量太大,我也不知道要保留那些参数,折腾了半天,还是新版的好用,直接就可以保存。

LMS100-1000激光雷达学习(二)_第6张图片


读取到的数据,右击“全选”点击“导出”。保存成为*.log格式。也可以选择一帧数据进行保存。
具体的操作可以看一下中文的说明书,步骤和方法都很详细。这也是我解决问题的途径,我说的步骤或者方法可能不太清楚,大家可以研究官方的应用手册特别详细。记得有个老师说学好一个软件最快速和方便的方法就是看软件里面的“帮助”。
所以给大家分享一下,SOPAS-ET或者里面的模拟器终端使用说明就在软件的帮助里。

LMS100-1000激光雷达学习(二)_第7张图片

  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
激光雷达SICK LMS200编译失败可能有多种原因。首先,编译错误可能是由于软件版本不匹配所引起的。如果使用的编译器或操作系统版本与激光雷达的驱动程序或SDK不兼容,就会出现编译失败。此时,我们可以尝试使用兼容的软件版本重新安装驱动程序或SDK,然后重新编译。 其次,编译失败可能是由于配置错误引起的。在使用激光雷达之前,通常需要进行一些配置,如设置环境变量、路径、端口等。如果配置不正确,编译过程中会出现错误。我们需要检查这些配置参数,确保其正确无误,并重新尝试编译。 另外,编译失败还可能是由于代码错误引起的。在编写代码时,可能会存在语法错误、变量命名错误、函数调用错误等。检查代码并修复这些错误是解决编译失败的重要步骤。我们可以仔细检查代码中的每一行,并参考相关文档或示例代码来确保代码的正确性。 最后,编译失败还可能是由于缺少依赖项或库文件引起的。在编译过程中,可能会因为缺少必要的依赖项或库文件而失败。我们需要检查是否安装了所有必须的依赖项,并将其正确地链接到编译器中。 综上所述,激光雷达SICK LMS200编译失败可能是由于软件版本不匹配、配置错误、代码错误或缺少依赖项等原因引起的。通过仔细检查并解决这些问题,我们可以顺利地编译激光雷达

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值