123456789101112131415161718192021222324252627 |
- sickTest使用简单,即插即用
- 1.在解决方案资源管理器中将Test设为启动项。
- 2.将计算机ip设为192.168.1.1
- 3.运行。
- 核心代码在Test->Form1.cs中
- 对激光采集一帧数据的811个点,通过设置left_range和right_range,用点的序号设置显示点的范围;
- ground_truth_height:激光到"地面"的标准高度
- static int min_num_point_of_hinder :判定为障碍物的最少点的数目
- button1_Click():开始扫描
- 在this.Invoke(new Action(()=>中进行循环采集
- 解析好的811个点的x,y坐标分别存放在listx,listy中
- listy通过kalmanFilter()进行卡尔曼滤波
- dataFilter():对激光数据在相邻三个点之间去平均的方式进行滤波,还具备报警功能,如果滤波后依然有连续三帧数据
- 存在“有大于min_num_point_of_hinder个点与ground_truth_height之间距离大于30mm”的情况,则报警,在界面
- 的“障碍物”后面显示为True.
- InitChart()是界面显示部分
- this.chart1.ChartAreas[0].AxisX/Y.Minimum : 坐标轴最小值
- this.chart1.ChartAreas[0].AxisX/Y.Maximum : 坐标轴最大值
- this.chart1.ChartAreas[0].AxisX/Y.Interval :网格大小
- this.chart1.Series[0].Points.AddXY:显示激光点
|