苍穹数码eFix R2型手持式GPS接收机的定位性能测试
班级:10电信1班 姓名:XXX 学号:XXXXXX
1 实验目的
(1)掌握 RTK GPS定位的原理
(2)掌握苍穹数码eFix R2型手持式GPS接收机的使用方法
(3)研究利用GPS定位数据进行土地面积量算的方法
2 实验设备及场地
(1)实验设备包括:苍穹数码eFix R2型手持式GPS接收机、射频转接线缆 、GPS外置天线 、碳纤维杆。
(2)实验场地:华南农业大学华山运动场(足球场)
(3)实验时间:20##年11月21日
3 实验步骤
(1) 手持机参数设置
1、 坐标系统设置:选择WGS84椭球坐标系统,其他参数保持默认;
2、插入开通了GPRS上网功能的SIM卡,进入GNSS设置,定位模式设置,选择CORS差分,设置好天线高;
3、 单击主菜单通信工具图标,然后单击 GPRS 工具按钮,如图1所示
图1
4、 使用射频转接线缆连接终端和天线,上紧天线和对中杆的螺丝。
5、 选择CORS站,用户名密码,选择cnnet运营商;
6、 单击打开GPRS,并且显示连接计数。如图2所示;
7、 成功建立GPRS连接后,单击获取源节点。在源节点列表中选择数据服务类型,单击连接服务器,完成CORS连接。
图2
(2) 对A、B、C、D点进行碎部点手动采集
1、 打开geopac软件,选择普通采集;
2、 单击项目菜单栏,点击新建项目,输入项目名称,其他参数保持默认;
3、 单击高级>数据采集>碎部点采集菜单栏,出现碎布文件窗口,如图3所示 :
4、 输入碎部点文件名,单击右上角的钩,完成新建碎部点文件的工作。
图3
5、每到达一个边角,点击按钮保存当前点的坐标信息。
(3) 沿足球场白色边线进行碎部点连续采集
1、 接上以上的设置,点击按钮进行连续采集,时间间隔一秒采样一次;
2、 沿着操场的白色边线走一圈,再点击完成连续采样的工作。
(4) 实验数据保存及导出
1、使用USB连接线连接终端和电脑,单击工具>数据导出菜单栏,弹出数据导出对话框,如图4所示:
图4
2、选择需要的文件格式,导出数据;
3、 也可以直接进去终端中所保存的项目的文件夹,找到.dtl后缀名的文件,直接使用Excel软件直接打开即可;
4 实验数据处理与分析
将我们采集到的数据进行处理,处理的数据表格如表1:
表1 采集经纬度的坐标转换表
(1)ABCD四点的散点图绘制
根据表1经纬度的坐标数据,我们可以绘制出ABCD四点的散点图。如图5:
图5 ABCD四点的散点图
(2)连续采集点的散点图绘制
同理绘制出运动场连续采集点的散点图,如图6:
图6 连续采集点的散点图
从图1和图2可以看出GPS采集到的数据比较准确,能呈现运动场的大致轮廓。
(3)连续采集点所围合面积的测算算法
由坐标值计算多边形面积的公式
分解多边形的边,以边为单元,计算并合成与其相关的数值多边形是由多条边围合而成,设多边形每一条边的两端点分别与坐标原点连接,多边形有几条边就有几个三角形, 图 7为两个多边形面积分解,图 8为三个三角形围成的面积。即每个三角形的一个顶点坐标点为 ( 0 . 00 , 0 . 00) , 这些诸多个三角形重叠在多边形平面图形上,每条边都有一个三角形面积计算值, 有的面积在多边形的图形里面(公式运算得数体现为正数 ), 有的面积在多边形的图形外面(公式运算得数体现为负数 ),正、 负数是来确定计算多边形的面积时是増加或减去, 如图 7、 图 8所示, 计算时各三角形面积将按代数和的方式进行累计而得到绝对的准确值,
这个数值就是多边形面积。计算一个多边形面积实际上是连续计算多个三角形面积及其代数和的过程, 计算多边形面积公式可为:
图 7 两个多边形面积分解
图 8 三个三角形围成的面积
面积测算方法流程图如下:
(4)测算结果与对比分析
通过测算,ABCD四点测量面积为7896.55平方米。连续采集点测量面积为7843.29平方米。
测量结果与实际情况接近,两种测量方法的结果误差在可允许范围内。
5 实验结论
(1) 谈谈自己对苍穹数码eFix R2型手持式GPS接收机的定位性能的认识
eFix R2 是武汉苍穹数码仪器有限公司设计生产的新一代高精度、高性能手持式、GNSS RTK 系统。为用户提供人性化、稳定可靠的高精度动静态实时/事后定位服务,可广泛用于高精度 RTK 测量、组建高精度大范围静态控制网以及野外数据采集等作业。
(2)提出自己对《全球定位系统》和《地理信息系统》两门课程的教学改进意见
建议:多点动手实践,少一些课堂课程,就像这个实验一样。
附录:面积计算程序
/// <summary>
/// 求算面积
/// </summary>
private void calculateArea(List<double[]> points)
{
if (points.Count > 2)
{
double areaMeters2 = PlanarPolygonAreaMeters2(points);
if (areaMeters2 > 1000000.0) areaMeters2 = SphericalPolygonAreaMeters2(points);
MessageBox.Show("面积为:"+areaMeters2+"(平方米)");
}
}
/// <summary>
/// 球面多边形面积计算
/// </summary>
private double SphericalPolygonAreaMeters2(List<double[]> points)
{
double totalAngle = 0.0;
for (int i = 0; i < points.Count; ++i)
{
int j = (i + 1) % points.Count;
int k = (i + 2) % points.Count;
totalAngle += Angle(points[i], points[j], points[k]);
}
double planarTotalAngle = (points.Count - 2) * 180.0;
double sphericalExcess = totalAngle - planarTotalAngle;
if (sphericalExcess > 420.0)
{
totalAngle = points.Count * 360.0 - totalAngle;
sphericalExcess = totalAngle - planarTotalAngle;
}
else if (sphericalExcess > 300.0 && sphericalExcess < 420.0)
{ sphericalExcess = Math.Abs(360.0 - sphericalExcess); }
return sphericalExcess * radiansPerDegree * earthRadiusMeters * earthRadiusMeters;
}
/// <summary>
/// 角度
/// </summary>
private double Angle(double[] p1, double[] p2, double[] p3)
{
double bearing21 = Bearing(p2, p1);
double bearing23 = Bearing(p2, p3);
double angle = bearing21 - bearing23;
if (angle < 0.0) angle += 360.0;
return angle;
}
/// <summary>
/// 方向
/// </summary>
private double Bearing(double[] from, double[] to)
{
double lat1 = from[1] * radiansPerDegree;
double lon1 = from[0] * radiansPerDegree;
double lat2 = to[1] * radiansPerDegree;
double lon2 = to[0] * radiansPerDegree;
double angle = -Math.Atan2(Math.Sin(lon1 - lon2) * Math.Cos(lat2), Math.Cos(lat1) * Math.Sin(lat2) - Math.Sin(lat1) * Math.Cos(lat2) * Math.Cos(lon1 - lon2));
if (angle < 0.0) angle += Math.PI * 2.0;
angle = angle * degreesPerRadian;
return angle;
}
/// <summary>
/// 平面多边形面积
/// </summary>
private double PlanarPolygonAreaMeters2(List<double[]> points)
{
double a = 0.0;
for (int i = 0; i < points.Count; ++i)
{
int j = (i + 1) % points.Count;
double xi = points[i][0] * metersPerDegree * Math.Cos(points[i][1] * radiansPerDegree);
double yi = points[i][1] * metersPerDegree;
double xj = points[j][0] * metersPerDegree * Math.Cos(points[j][1] * radiansPerDegree);
double yj = points[j][1] * metersPerDegree;
a += xi * yj - xj * yi;
}
return Math.Abs(a / 2.0);
}
第二篇:3-2扭摆法测定物体的转动惯量 华南农业大学实验报告
专业班次 姓名 日期
一、实验名称
扭摆法测定物体的转动惯量
二、实验目的
熟练掌握直尺、游标卡尺、数字式电子天平的使用;
熟悉扭摆的构造及使用方法,测定扭摆的仪器常数(弹簧的扭转系数)K;
测定几种不同形状物体的转动惯量,并与理论值进行比较;
验证转动惯量的平行轴定理。
三、实验器材
扭摆装置及其附件(塑料圆柱体,金属空心圆筒,实心球体,金属细长杆等),转动惯量测试仪,数字式电子天平,直尺,游标卡尺。
四、实验原理
1.测量物体转动惯量的构思与原理
将物体在水平面内转过一角度后,在弹簧的恢复力矩作用下,物体就开始绕垂直轴作往返扭转运动。根据虎克定律,弹簧受扭转而产生的恢复力矩M与所转过的角度成正比,即
(1)
式中K为弹簧的扭转常数。根据转动定律
(2)
式中I为转动惯量,β为角加速度,由(1)式和(2)式得
其中,忽略轴承的摩擦力矩,则有
上式表明扭摆运动是简谐振动,且角加速度与角位移成正比,方向相反。此方程的解为
式中A为简谐振动的角振幅, 为初位相,为角频率。此简谐振动的周期为
(3)
利用公式(3)式,测得扭摆的周期T,在I和K中任何一个量已知时即可计算出另一个量。
本实验用一个转动惯量已知的物体(几何形状有规则,根据它的质量和几何尺寸用理论公式计算得到),测出该物体摆动的周期,再算出本仪器弹簧的K值。若要测量其它形状物体的转动惯量,只需将待测物体安放在本仪器顶部的各种夹具上,测定其摆动周期,由(3)式即可计算出该物体绕转动轴的转动惯量。
假设扭摆上只放置金属载物圆盘时的转动惯量为,周期为,则
若在载物圆盘上放置已知转动惯量为的小塑料圆柱后,周期为,由转动惯量的可加性,总的转动惯量为,则
解得
以及
若要测量任何一种物体的转动惯量,可将其放在金属载物盘上,测出摆动周期T,就可算出其转动惯量I,即
本实验测量木球和金属细杆的转动惯量时,没有用金属载物盘,分别用了支架和夹具,则计算转动惯量时需要扣除支架和夹具的转动惯量。
2.验证物体转动惯量的平行轴定理
本实验利用金属细杆和两个对称放置的细杆两边凹槽内的滑块来验证平行轴定理。测量整个系统的转动周期,可得整个系统的转动惯量的实验值为
当滑块在金属细杆上移动的距离为时,根据平行轴定理,整个系统对中心轴转动惯量的理论计算公式应为
式中为滑块通过滑块质心轴的转动惯量理论值。
如果测量值与理论计算值相吻合,则树啊名平行轴定理得证。
五、实验数据
(1)用游标卡尺、米尺、天平分别测出待测物体的质量和必要的几何尺寸。
(2)计算扭摆弹簧的扭转常数K,其计算公式为:
(3)测定塑料圆柱、金属圆筒、木球与金属细杆的转动周期,计算转动惯量的实验值,并与理论值比较,求百分比误差。
(4)验证平行轴定理。