基于CAN总线的多传感器校正通信方法技术

技术编号:11476182 阅读:105 留言:0更新日期:2015-05-20 06:01
本发明专利技术公开了一种基于CAN总线的多传感器校正通信方法,其包括以下步骤:1、测量单元节点上电后发送申请编号帧给主机;2、主机向测量单元节点发送编号分配帧;3、测量单元节点接收到主机发送的编号分配帧并判断所述编号分配帧是否相符;4、获得每个测量单元节点的校正矩阵;5、主机将带有校正矩阵的校正数据帧通过CAN总线发送给相应的测量单元节点。本发明专利技术通过简单、低成本的校正设备,简单而效果明显的校正算法和与之相配套可批量校正的CAN总线应用层协议和传感器校正软件系统,实现批量测量单元节点的校正,效率高、成本低。

【技术实现步骤摘要】
基于CAN总线的多传感器校正通信方法
本专利技术涉及传感器数据的校正方法,具体地说是一种通过CAN总线通信,涉及加速度和陀螺仪两种传感器数据的校正方法。
技术介绍
随着科技的发展,机器人越来越频繁地出现在人们的视野,人们的生活中,如自动化驾驶仪、空中机器人。而在机器人的控制中,姿态的精准度最为关键,计算姿态的传感器中加速度和陀螺仪最为常见。一般我们将加速度和陀螺仪两种传感器合称为MEMS(micro-electro-mechanicalsystem),本专利中简称为测量单元节点。由于存在着随温度变化的零点漂移(bias)和随温度变化的比例因子(scale)失真,以及生产工艺或焊接工艺带来的三维传感器带来的三轴之间的非正交耦合误差(M)等线性和非线性误差。在项目中需要在测量单元节点使用前进行校正,为了批量生产的方便,需要一种简单而有效的校正方法,需要对多个测量单元节点进行同时校正而且要控制校正设备的低成本。此时需要测量的数据量较大,频率较高以提高测量精度,且为了节约时间而进行多传感器校正,且由于计算量较大,测量单元节点无法独自进行校正,需要借助计算机进行运算,故需要的通信协议要求如下:1)无拥塞,测量单元节点间没有优先级区分,而通信模型为一个计算机主机对多个测量单元节点,在测量单元节点增加时,通信不能出现数据堵塞。而在多个测量单元节点同时发送数据而没有进行控制的情况下,有很大几率会造成数据拥塞。2)无丢包,由于大多数传感器校正算法中需要稳定的时间间隔,丢包后会对算法造成噪声,降低精确度;而且由于单个测量数据的数据量较大,需要分包,丢包后容易出现数据错位或数据异常、数据拥塞。3)快速,由于在传感器算法中,数据的测量时间间隔越短,校正的结果越精确,所以数据采集较快,若用轮询方式会占用双倍的数据带宽。CAN是ControllerAreaNetwork的缩写(以下称为CAN),是ISO国际标准化的串行通信协议,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。
技术实现思路
针对上述问题,本专利技术的目的在于提供一种MEMS测量单元节点的校正方法,一种简单而有效、批量而低成本、基于CAN总线与主机通信的校正方法。为实现上述目的,本专利技术采取的技术方案是:基于CAN总线的多传感器校正通信方法,其包括以下步骤:步骤1、测量单元节点上电后发送申请编号帧给主机,申请编号帧中的数据段为测量单元节点的唯一芯片编号,所述测量单元节点包括加速度计和陀螺仪;步骤2、主机接收所述申请编号帧后,查找哈希表并记录所述唯一芯片编号,同时,向测量单元节点发送编号分配帧,所述编号分配帧包括为测量单元节点分配的单元编号和组号;步骤3、测量单元节点接收到主机发送的编号分配帧并判断所述编号分配帧是否相符,如果相符,则该测量单元节点编号分配完毕,等待主机的控制命令,编号分配后的测量单元节点不再以其唯一芯片编号判断,而以主机分配的单元编号和组号进行判断;步骤4、主机通过图形化界面进行测量流程控制,并使能相应的测量单元节点进入校正流程,以获得每个测量单元节点的校正矩阵,所述主机通过校正设备对测量单元节点进行校正,所述校正设备包括水平转台和带有多个测量单元节点插槽且可六个方向水平摆放的正方体测量单元节点安装架,所述水平转台由主机通过CAN总线控制的电机驱动下转动,所述正方体测量单元节点安装架固定安装于水平转台的上侧中心位置,所述测量单元节点安装于正方体测量单元节点安装架内,所述校正矩阵包括零点漂移矩阵、比例因子矩阵以及三轴之间的非正交耦合误差矩阵;步骤5、校正完成后,主机将带有校正矩阵的校正数据帧通过CAN总线发送给相应的测量单元节点,测量单元节点接收到校正数据帧后记录并替换原有数据计算参数。所述步骤2中,主机分配组号的方法依据测量单元节点的上电顺序或用户选择或者单元编号进行,每个测量单元节点只能对应一个组号。所述步骤3中,判断所述编号分配帧是否相符的方法为:先判断测量单元节点是否处于等待编号分配阶段,如果是,则再将编号分配帧中的芯片编号与测量单元节点的唯一芯片编号进行比对验证。所述步骤4中,所述校正流程包括以下步骤:步骤41、主机通过图形化界面使能测量单元节点进入传感器数据采集阶段,此时,主机发送起始帧或继续帧,使能目标组号的测量单元节点或者起始单元编号到结束单元编号的测量单元节点开始传感器数据采集;数据采集时,主机通过CAN总线控制电机的转动状态获取每个测量单元节点校正数据,所述校正数据包括加速度计x、y、z三轴在静止状态下六个方向的输出数据、陀螺仪x、y、z三轴在静止状态下六个方向的输出数据、以及沿陀螺仪x、y、z三轴以固定角速度旋转时的实时传感器数据,静止状态下的输出数据以及实时传感器数据均为多组;步骤42、主机通过校正算法以及校正数据计算获得校正矩阵。所述步骤42包括以下步骤:步骤421、建立误差模型:在不考虑温度影响的情况下,校正矩阵分别为:其中,式(1)-(3)中,bias、scale和M分别表示零点漂移矩阵、比例因子矩阵以及三轴之间的非正交耦合误差矩阵;误差模型表示为:D_M=scale*M*D_T+bias(4)式(4)中,D_M为测量单元节点实际测量得到的数据,D_T为测量单元节点理论上的输出数据;误差模型可以改写成:D_T=N*(D_M-bias)(5)式(5)中:N=inv(scale*M)(6)步骤422、分别得到加速度计以及陀螺仪的零点漂移矩阵:对于加速度计的零点漂移矩阵bias1:通过静止状态时加速度计每轴向下摆放时,其上、下两个方向的读数和的二分之一,再求均值得到;对于陀螺仪的零点漂移矩阵bias2:通过静止状态时陀螺仪每轴向下摆放时,其上、下两个方向的读数和的二分之一,再求积分得到;步骤423、由于式(6)中的N体现了比例因子矩阵以及三轴之间的非正交耦合误差矩阵的混合矩阵,因此,只需获得加速度计和陀螺仪的混合矩阵即可:对于加速度计的混合矩阵N1:通过加速度计三个轴的读数后得到33的测量矩阵Ba:式(7)中,Pxy为在加速度计x轴向下摆放时,y轴对应的多次读数均减去ybias1后求得的均值;ybias1为零点漂移矩阵bias1对应的y轴上的零点漂移值;而加速度计对应的33的理论测量矩阵Aa为:式(8)中,G为重力加速度;通过理论测量矩阵Aa和测量矩阵Ba,得到混合矩阵N1=Aa/Ba;对于陀螺仪的混合矩阵N2:通过陀螺仪三个轴转动时的读数后得到获取33的测量矩阵Bg:式(9)中,Qxy为沿陀螺仪x轴转动时,y轴对应的多次读数均减去ybias2后求得的积分值;ybias2为零点漂移矩阵bias2对应的y轴上的零点漂移值;而陀螺仪对应的33的理论测量矩阵Ag为:式(10)中,n为转动圈数;通过理论测量矩阵Ag和测量矩阵Bg,得到混合矩阵N2=Ag/Bg。所述步骤41中,目标测量单元节点接收到起始帧或继续帧后判断起始帧或继续帧中的组号是否为零,若为零则说明不以组号为查询,再判断是否属于起始单元编号到结束单元编号范围,若处于范围内则开始测量传输数据。所述步骤41中,本文档来自技高网
...
基于CAN总线的多传感器校正通信方法

【技术保护点】
基于CAN总线的多传感器校正通信方法,其特征在于,其包括以下步骤:步骤1、测量单元节点上电后发送申请编号帧给主机,申请编号帧中的数据段为测量单元节点的唯一芯片编号,所述测量单元节点包括加速度计和陀螺仪;步骤2、主机接收所述申请编号帧后,查找哈希表并记录所述唯一芯片编号,同时,向测量单元节点发送编号分配帧,所述编号分配帧包括为测量单元节点分配的单元编号和组号;步骤3、测量单元节点接收到主机发送的编号分配帧并判断所述编号分配帧是否相符,如果相符,则该测量单元节点编号分配完毕,等待主机的控制命令,编号分配后的测量单元节点不再以其唯一芯片编号判断,而以主机分配的单元编号和组号进行判断;步骤4、主机通过图形化界面进行测量流程控制,并使能相应的测量单元节点进入校正流程,以获得每个测量单元节点的校正矩阵,所述主机通过校正设备对测量单元节点进行校正,所述校正设备包括水平转台和带有多个测量单元节点插槽且可六个方向水平摆放的正方体测量单元节点安装架,所述水平转台由主机通过CAN总线控制的电机驱动下转动,所述正方体测量单元节点安装架固定安装于水平转台的上侧中心位置,所述测量单元节点安装于正方体测量单元节点安装架内,所述校正矩阵包括零点漂移矩阵、比例因子矩阵以及三轴之间的非正交耦合误差矩阵;步骤5、校正完成后,主机将带有校正矩阵的校正数据帧通过CAN总线发送给相应的测量单元节点,测量单元节点接收到校正数据帧后记录并替换原有数据计算参数。...

【技术特征摘要】
1.基于CAN总线的多传感器校正通信方法,其特征在于,其包括以下步骤:步骤1、测量单元节点上电后发送申请编号帧给主机,申请编号帧中的数据段为测量单元节点的唯一芯片编号,所述测量单元节点包括加速度计和陀螺仪;步骤2、主机接收所述申请编号帧后,查找哈希表并记录所述唯一芯片编号,同时,向测量单元节点发送编号分配帧,所述编号分配帧包括为测量单元节点分配的单元编号和组号;步骤3、测量单元节点接收到主机发送的编号分配帧并判断所述编号分配帧是否相符,如果相符,则该测量单元节点编号分配完毕,等待主机的控制命令,编号分配后的测量单元节点不再以其唯一芯片编号判断,而以主机分配的单元编号和组号进行判断;步骤4、主机通过图形化界面进行测量流程控制,并使能相应的测量单元节点进入校正流程,以获得每个测量单元节点的校正矩阵,所述主机通过校正设备对测量单元节点进行校正,所述校正设备包括水平转台和带有多个测量单元节点插槽且可六个方向水平摆放的正方体测量单元节点安装架,所述水平转台由主机通过CAN总线控制的电机驱动下转动,所述正方体测量单元节点安装架固定安装于水平转台的上侧中心位置,所述测量单元节点安装于正方体测量单元节点安装架内,所述校正矩阵包括零点漂移矩阵、比例因子矩阵以及三轴之间的非正交耦合误差矩阵;步骤41、主机通过图形化界面使能测量单元节点进入传感器数据采集阶段,此时,主机发送起始帧或继续帧,使能目标组号的测量单元节点或者起始单元编号到结束单元编号的测量单元节点开始传感器数据采集;数据采集时,主机通过CAN总线控制电机的转动状态获取每个测量单元节点的校正数据,所述校正数据包括加速度计x、y、z三轴在静止状态下六个方向的输出数据、陀螺仪x、y、z三轴在静止状态下六个方向的输出数据、以及沿陀螺仪x、y、z三轴以固定角速度旋转时的实时传感器数据,静止状态下的输出数据;实时传感器数据均为多组;步骤42、主机通过校正算法以及校正数据计算获得校正矩阵;所述步骤42包括以下步骤:步骤421、建立误差模型:在不考虑温度影响的情况下,校正矩阵分别为:其中,式(1)-(3)中,bias、scale和M分别表示零点漂移矩阵、比例因子矩阵以及三轴之间的非正交耦合误差矩阵;误差模型表示为:D_M=scale*M*D_T+bias(4)式(4)中,D_M为测量单元节点实际测量得到的数据,D_T为测量单元节点理论上的输出数据;误差模型可以改写成:D_T=N*(D_M-bias)(5)式(5)中:N=inv(scale*M)(6)步骤422、分别得到加速度计以及陀螺仪的零点漂移矩阵:对于加速度计的零点漂移矩阵bias1:通过静止状态时加速度计每轴向下和向上摆放时,其上、下两个方向的读数和的二分之一,再求均值得到;对于陀螺仪的零点漂移矩阵bias2:通过静止状态时陀螺仪每轴向下和向上摆放时读数和的二分之一,再求积分得到;步骤423、由于式(6)中的N体现了比例因子矩阵以及三轴之间的非正交耦合误差矩阵的混合矩阵,因此,只需获得加速度计和陀螺仪的混合矩阵即可:对于加速度计的混合矩阵N1:通过加速度计三个轴的读数后得到3×3的测量矩阵Ba:式(7)中,Pxy为在加速度计x轴向下摆放时,y轴对应的多次读数均减去ybias1后求得的均值;ybias1为零点漂移矩阵bias1对应的y轴上的零点漂移值;而加速度计对应的3×3的理论测量矩阵Aa为:

【专利技术属性】
技术研发人员:吴灿鑫曹永军曾文武
申请(专利权)人:广东省自动化研究所
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1