4 Star 3 Fork 9

西风/agv_LaserScannerR2000

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
ParameterClass.cs 5.58 KB
一键复制 编辑 原始数据 按行查看 历史
ldhe2019 提交于 2019-08-13 16:11 . first commit
/*
* Created by SharpDevelop.
* User: ZJUCAOBIN
* Date: 2019/4/16
* Time: 13:40
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using Newtonsoft.Json;
using System .Linq ;
using System .IO ;
using System .Windows .Forms;
using System .Threading ;
namespace P_F_Interface
{
/// <summary>
/// Description of PrarmeterClass.
/// </summary>
public class ParameterClass
{
public ParameterClass()
{
}
public ParameterClass (string path )
{
GetParaJson (path );
}
/// <summary>
/// 读取配置信息
/// </summary>
/// <param name="path"></param>
public void GetParaJson(string path )
{
//string [] json =File .ReadAllLines (Application .StartupPath +@"\ParameterSet.ini");
string [] json =File .ReadAllLines (path );
ParameterClass item =JsonConvert .DeserializeObject <ParameterClass >(json[0]);
Para .LidarIP =item .LidarIP ;
Para .WathchDogTimeOut =item .WathchDogTimeOut ;
Para .PackType =item .PackType ;
Para .TheoryPointNum =item .TheoryPointNum ;
Para .XYERROR =item .XYERROR ;
Para .LENERROR =item .LENERROR ;
Para .ANGLEFILTER =item .ANGLEFILTER ;
Para .MAXDISTANCE =item.MAXDISTANCE ;
Para .FilterType =item .FilterType ;
Para .FilterWidth =item .FilterWidth ;
Para .TIMETOLERANCE =item .TIMETOLERANCE ;
if (Para .FilterType == "remission")
{
Para .AngleResolution =(float )1.600;//用于获取滤波后的定位数据
LidarMode .IsNavicationMode =true ;
}
else if (Para .FilterType=="none")
{
Para .AngleResolution =(float )0.100;//用于获取未进行滤波的轮廓数据
LidarMode .IsNavicationMode =false ;
}
float tem =360/Para .AngleResolution ;
Para .PackageNum =(int )tem ;
}
/// <summary>
/// 设置信息
/// </summary>
/// <param name="strjson"></param>
/// <returns></returns>
public bool WritePara(ParameterClass strjson)
{
try
{
FileStream file=new FileStream (Application .StartupPath +@"\ParameterSet.ini",FileMode .Create );
string str=JsonConvert .SerializeObject (strjson );
byte [] data =System .Text .ASCIIEncoding .Default .GetBytes (str );
file .Write (data,0,data .Length );
file .Flush ();
file .Close ();
}
catch (Exception ex)
{
return false ;
}
return true ;
}
/// <summary>
///激光雷达的IP地址
/// </summary>
public string LidarIP{get ;set ;}
/// <summary>
/// 激光雷达的数据类型 默认为A;
/// </summary>
public string PackType{get ;set ;}
/// <summary>
/// 激光雷达的理论最大输出点云点的数量
/// </summary>
public int TheoryPointNum{get ;set ;}
/// <summary>
/// 激光雷达看门狗超时时间间隔
/// </summary>
public int WathchDogTimeOut{get ;set ;}
/// <summary>
/// 滤波类型
/// </summary>
public string FilterType{get ;set ;}
/// <summary>
/// 滤波宽度
/// </summary>
public int FilterWidth{get ;set ;}
/// <summary>
///激光雷达识别已存储反光柱的偏差阀值1
/// </summary>
public int XYERROR {get ;set ;}
/// <summary>
/// 激光雷达识别已存储反光柱的偏差阀值2
/// </summary>
public int LENERROR{get ;set ;}
/// <summary>
/// 激光雷达识别已存储反光柱滤波阀值1
/// </summary>
public int ANGLEFILTER{get ;set ;}
/// <summary>
/// 激光雷达识别已存储反光柱最大距离
/// </summary>
public int MAXDISTANCE{get ;set ;}
/// <summary>
/// 反光柱识别响应时间容差
/// </summary>
public int TIMETOLERANCE{get ;set ;}
}
class Para
{
/// <summary>
///激光雷达的IP地址
/// </summary>
public static string LidarIP;
/// <summary>
/// 激光雷达的数据类型 默认为A;
/// </summary>
public static string PackType;
/// <summary>
/// 激光雷达的理论最大输出点云点的数量
/// </summary>
public static int TheoryPointNum;
/// <summary>
/// 激光雷达看门狗超时时间间隔
/// </summary>
public static int WathchDogTimeOut;
/// <summary>
/// 滤波类型
/// </summary>
public static string FilterType;
/// <summary>
/// 滤波宽度
/// </summary>
public static int FilterWidth;
/// <summary>
/// 角度分辨率
/// </summary>
public static float AngleResolution;
/// <summary>
///单圈数据个数
/// </summary>
public static int PackageNum;
/// <summary>
///激光雷达识别已存储反光柱的偏差阀值1
/// </summary>
public static int XYERROR ;
/// <summary>
/// 激光雷达识别已存储反光柱的偏差阀值2
/// </summary>
public static int LENERROR;
/// <summary>
/// 激光雷达识别已存储反光柱滤波阀值1
/// </summary>
public static int ANGLEFILTER;
/// <summary>
/// 激光雷达识别已存储反光柱最大距离
/// </summary>
public static int MAXDISTANCE;
/// <summary>
/// 反光柱识别响应时间容差
/// </summary>
public static int TIMETOLERANCE;
}
class LidarMode
{
/// <summary>
/// 导航模式(true)/轮廓数据获取(false)
/// </summary>
public static bool IsNavicationMode;
/// <summary>
/// 靶标探测模式(true)/其他模式(false)
/// </summary>
public static bool TargetDetectionState;
/// <summary>
/// 建图模式(true)/其他模式(false)(至少三个靶标以上)
/// </summary>
public static bool GraphCreateState;
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/xifengwesterly/agv_LaserScannerR2000.git
[email protected]:xifengwesterly/agv_LaserScannerR2000.git
xifengwesterly
agv_LaserScannerR2000
agv_LaserScannerR2000
master

搜索帮助