手机版

盲人导向仪说明书(6)

时间:2025-07-08   来源:未知    
字号:

在理想状态下,X轴测量数据与Y轴测量数据变化范围都应是-32768~32767 之间,X轴数据与Y轴数据组成的坐标刚好构成一个正圆形如图 2.4,但实际测量中,X轴测量数据与Y轴测量数据最大值或最小值均达不到-32768~32767 这个范围,则导致这两个数据组成坐标构成的图形成为一个中心不在原点的椭圆形,如图

电子导向模组实际测量坐标图

为了得到准确的方向值必须对电子导向模组返回的数据进行校正,将椭圆调整为正圆形,这样才能得到更准确的角度值。这就需要电子导向模组进入校正模式得到四个校正参数,这

四个校正参数分别是椭圆中心的坐标(xOffset,yOffset)和椭圆两个半轴的长度xRange,yRange。电子导向模组校正模式执行的操作为持续纪录X 轴、Y 轴测量数据的最大值和最小值,因此在校正模式下要不停的旋转电子导向模组来得到尽可能精确的X 轴、Y 轴测量数据的最大值和最小值。得到X 轴、Y 轴测量数据的最大值和最小值后就可以求出四个校正参数了。每次开机或每到一个新地方都应该进入校正模式,重新获得校正参数。计算校正参数的参考代码如下。

int Xmax,Xmin,Ymax,Ymin;

int Xraw,Yraw;

int i;

Xmax = Ymax = -32768; // 将最大值赋值为最小值

Ymin = Ymin = 32767; // 将最小值赋值为最大值

for(i = 0; i <100; i++)

{

Xraw = F_PNI_11096_Read(0xE9); // 得到x 轴大小

Yraw = F_PNI_11096_Read(0xEA); // 得到Y 轴大小

if(Xraw > Xmax)

Xmax = Xraw; // 得到一个尽可能大的值作为X 最大值

if(Xraw < Xmin)

Xmin = Xraw; // 得到一个尽可能小的值作为X 最小值

if(Yraw > Ymax)

Ymax = Yraw; // 得到一个尽可能大的值作为Y 最大值

if(Yraw < Ymin)

Ymin = Yraw; // 得到一个尽可能小的值作为Y 最大值

}

xOffset = (Xmax + Xmin)>>1; // 得到X 轴偏移量

yOffset = (Ymax + Ymin)>>1; // 得到Y 轴偏移量

xRange = Xmax - Xmin; // 得到X 轴取值范围

yRange = Ymax -Ymin; // 得到Y 轴取值范围

return 0;

在正常的测量模式下,电子导向模组X 轴、Y 轴测量数据都要利用在校正模式下得到的参

盲人导向仪说明书(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)