|
datasheet

基于DSP的室内惯性导航系统设计

2015-10-21来源: 互联网关键字:室内  惯性导航系统  导航  导航系统
分享到
微博
QQ
微信
LinkedIn
轮式遥控机器人已经应用在地震、火灾等一些危险的室内区域进行救援和探测,或执行反恐任务。由于在这些特殊的环境下存在诸多的未知因素,且室内无 GPS信号,人们不得不依靠先进的科学技术和仪器来获取遥控机器人小车的导航信息。但是目前轮式运动小车主要采用的导航传感方式有视觉、光电、超声、里程计等,比较容易被外界环境干扰,不能满足广大市场的需求。

但是惯性导航装备安置在运载体内,工作时不依赖外界信息,也不向外界辐射能量,不容易遭到滋扰,是一种自立式导航系统,优于上述的导航传感例子。 并且近年来MEMS(微机电系统)结构的惯性传感器随半导体技术的进步得到了迅速发展,使其低成本而高精度的期望得到了实现。MEMS惯性传感器组成的惯性导航装置结合轮式小车的里程计,能够产生导航和定位信息,减少对外部环境的倚赖,实现在外部环境条件(例如光照、墙壁材质)未知情况下的导航。

由于是在室内区域进行勘测搜索,小车的运行特点与一般的飞机、船、车不同,它的运动轨迹变化较快,且在运动时存在一定的振动,因此常用的卡尔曼滤波算法需要进一步改进才能应用。惯性传感器采集数据量大,且进行惯性导航时需要大量的浮点运算,因此本项目采用了具有强大数字信号处理功能的DSP 28335芯片和PC控制终端,实现惯性传感器的数据采集、时序逻辑控制、与驱动系统通信和地图显示功能, 具有体积小、成本低、功耗低等优点。

综上所述,本文将选用低成本的MEMS器件,结合DSP和卡尔曼滤波算法,能实现较高精度的轮式小车导航和定位。

1 系统体系架构

本文的目标是研制一个轮式小车惯性导航系统,能够通过wifi实现PC终端和手持终端控制轮式小车行动以及小车所采集数据的传输。

搭建如下图1所示的系统,TI公司的浮点DSP TMS320F28335芯片作为主数字信号处理器,采集各MEMS惯性传感器的信号并处理,处理结果通过WIFI将数据输送到PC终端;PC终端负责显示定位结果和地图显示,并向小车驱动系统发送控制命令,同时接收驱动系统反馈的里程计信息。

 

图1  总体架构

图1 总体架构

2. 硬件计划及详细实现

硬件设计上,主要分为核心板和驱动板。核心板包括DSP最小系统,JTAG下载口设计,系统电源供给电路和MEMS传感器,WIFI模块等。而驱动板主要设计的内容是直流大电机的驱动模块。

2.1 核心板设计

2.1.1 电源电路设计

TMS320F28335 工作时需要的电压不同:内核电压(1.9 V)与I/O供电电压(3.3 V),对于电源比较敏感,所以电源部分利用两路输出电源器件TPS767D318来实现,如图2所示。同时根据仿真实验和实际焊接电路的测试,电源模块输出端最好使用一些容值不小于10uf的保护电容,且不能使用贴片电容,否则工作不稳定。

 

图2  DSP电源设计

图2 DSP电源设计

在电源设计中,考虑到TPS767D318芯片可以产生复位信号,所以在核心板上并没有再另外为DSP设计复位电路。

2.1.2 JTAG下载口电路设计

图3为JTAG电路,按照仿真器的通信引脚选择14脚的仿真接口,同时要注意EMU0和EMUl信号必须通过上拉电阻连接至电源,其中上拉电阻为10kΩ。

 

图3 JTAG电路设计

图3 JTAG电路设计

2.2 小车驱动板设计

在本装置中,我们采用BTS7960作为直流电机驱动芯片。BTS7960是集成的大电流半桥驱动,其内部包含了一片NMOS、一片PMOS和一片半桥门集驱动,在IOUT = 9 A,VS= 13.5V,Tj = 25 °C 时,其内阻抗为17mΩ。装置采用了两个直流大电机,如图4所示为驱动单个电机前后转向的电路图。

 

图4 驱动模块电路设计

图4 驱动模块电路设计

在电机驱动这里,需要注意一个细节,就是电机在转动过程中有可能会产生反向的电动势,使电流一瞬间过大,导致单片机复位甚至有可能烧坏芯片。因此在设计过程中,可以考虑在单片机PWM输入到电机驱动接口的地方添加光耦器件隔离或者二极管。如图5所示,驱动板选择了tlp521-4这种光耦器件设计隔离电路,减小电压的干扰,减化电路的设计,同时也把四路PWM的I/O电平从3.3上拉到5V。

 

图5 TLP521隔离电路

图5 TLP521隔离电路

3.软件设计及具体实现

在软件程序设计上,主要应用九自由度惯性导航传感器(ITG3200+ADXL345+HMC5883L ),结合DSP和卡尔曼滤波算法,能实现较高精度的轮式小车导航和定位。

3.1传感器器件程序设计

九自由度惯性导航传感器在许多领域都得到了实际的应用,如无人机,救灾机器人等。它包括ITG3200三轴陀螺仪,HMC5883L三轴磁感应传感器和ADXL345三轴加速度传感器,所以可以得到加速度,角速度以及角度实时的数值。

ITG3200是MEMS三轴陀螺仪,可以测量小车的旋转角速度,同时也可以通过积分把角速度转换为小车的倾角。程序中,ITG3200的初始化如下:

unsigned char Init_ITG3200(void)

{

unsigned char Return1,Return2,Return3,Return4;

unsigned char Data;

Data = 0x00;

Return1 = IIC_WriteData(0xD0, 0x3E, &Data, 1);

Data = 0x07;

Return2 = IIC_WriteData(0xD0, 0x15, &Data, 1);

Data = 0x1E;
 

Return3 = IIC_WriteData(0xD0, 0x16, &Data, 1);

Data = 0x00;

Return4 = IIC_WriteData(0xD0, 0x17, &Data, 1);

if(Return1 && Return2 && Return3 && Return4)

return 1;

else

return 0;

}

其具体功能实现可以在主程序中通过SCI读取其值。所读取的值为角速度,不会受到小车运动的影响,因此该信号噪声很小,同时可以由它积分得到小车倾斜角度,可以平滑信号使其更加稳定。

由于装置是要在不同的室内区域进行勘测搜索,再加上未知的环境,所以角速度信号可能存在一定的偏差,会导致积分后的角度出现大的误差,无法得到实际的数值。为了消除这个由于偏差而产生的累积误差,装置上加上ADXL345三轴加速度传感器对于获得的角度信息进行校正。ADXL345初始化如下:

unsigned char Init_ADXL345(void)

{

unsigned char Return1,Return2,Return3,Return4;

unsigned char Data;

Data = 0x0b;

byReturn1 = IIC_WriteData(0xA6, 0x31, &Data, 1);

Data = 0x08;

Return2 = IIC_WriteData(0xA6, 0x2c, &Data, 1);

Data = 0x08;

Return3 = IIC_WriteData(0xA6, 0x2d, &Data, 1);

Data = 0x80;

Return4 = IIC_WriteData(0xA6, 0x2e, &Data, 1);

Data = 0x00;

Return4 = IIC_WriteData(0xA6, 0x1e, &Data, 1);

Data = 0x00;

Return4 = IIC_WriteData(0xA6, 0x1f, &Data, 1);

Data = 0x05;

Return4 = IIC_WriteData(0xA6, 0x20, &Data, 1);

if(Return1&&Return2&&Return3&&Return4)

return 1;

else

return 0;

}

通过ADXL345所得到的角度,和陀螺仪积分后的角度进行对比,然后使用它们的偏差改变陀螺仪的输出,从而积分后的角度慢慢校正到实际的角度,如图5所示。

 

图5  通过加速度传感器校正角度

图5 通过加速度传感器校正角度

HMC5883L三轴磁感应传感器的作用相当于罗盘,在水平情况下,无需借助其他传感器便可以计算出航向。其初始化如下:

unsigned char Init_HMC5883(void)

{

unsigned char Return1;

unsigned char Data;

// Bit4 Bit3 等于11时,选择2000度/秒的量程

Data = 0x00;

Return1 = IIC_WriteData(0x3C, 0x02, &Data, 1);

if(Return1)

return 1;

else

return 0;

}

由于装置是要在不同环境下进行工作的,所以其并不能保持时刻水平,就需要加速度传感器来纠正由于倾斜引起的误差。

3.2 卡尔曼滤波算法应用

于是装置在室内区域进行勘测搜索,小车的运行特点与一般的飞机、船、车不同,它的运动变化快,轨迹不定,而且要适用于不同的环境下工作,因此常用的卡尔曼滤波算法需要进一步改进才能应用。卡尔曼过滤是用前一个估计值和最近一个观察数据,来估计信号的当前值,它是用状态方程和递推的方法进行估计的,它的解是以估计值形式给出的。其运用在加速度器和陀螺仪上的卡尔曼滤波程序如下:

// float gyro_m:陀螺仪测得的量(角速度)

//float incAngle:加速度器测得的角度值

#define dt 0.0015//卡尔曼滤波采样频率

#define R_angle 0.71 //测量噪声的协方差(即是测量偏差)

#define Q_angle 0.0001//过程噪声的协方差

#define Q_gyro 0.0003 //过程噪声的协方差 过程噪声协方差为一个一行两列矩阵

float kalmanUpdate(const float gyro_m,const float incAngle

{

float K0;//含有卡尔曼增益的另外一个函数,用于计算最优估计值

float K1;//含有卡尔曼增益的函数,用于计算最优估计值的偏差

float Y0;

float Y1;

float Rate;//去除偏差后的角速度

float Pdot[4];//过程协方差矩阵的微分矩阵

float angle_err;//角度偏量

float E;//计算的过程量

static float angle = 0; //下时刻最优估计值角度

static float q_bias = 0; //陀螺仪的偏差

static float n[2][2] = {{ 1, 0 }, { 0, 1 }};//过程协方差矩阵

Rate = gyro_m - q_bias;

//计算过程协方差矩阵的微分矩阵

Pdot[0] = Q_angle - P[0][1] - P[1][0];

Pdot[1] = - n[1][1];

Pdot[2] = - n[1][1];

Pdot[3] = Q_gyro;

angle += Rate * dt; //角速度积分得出角度

n[0][0] += Pdot[0] * dt; //计算协方差矩阵

n[0][1] += Pdot[1] * dt;

n[1][0] += Pdot[2] * dt;

n[1][1] += Pdot[3] * dt;

angle_err = incAngle - angle; //计算角度偏差

E = R_angle + P[0][0];

K0 = n[0][0] / E; //计算卡尔曼增益

K1 = n[1][0] / E;

Y0 = n[0][0];

Y1 = n[0][1];

n[0][0] -= K0 * Y0; //跟新协方差矩阵

n[0][1] -= K0 * Y1;

n[1][0] -= K1 * Y0;

n[1][1] -= K1 * Y1;

angle += K0 * angle_err; //给出最优估计值

q_bias += K1 * angle_err;//跟新最优估计值偏差

return angle;

通过滤波时数据平滑将加速度输出电压附近产生的波动噪声滤掉。

4 实验测试与结果分析

在装置硬件和软件搭建完成后,通过原先设计好的PC端软件和平板安卓软件,搜索到Wi-Fi,自动连入局域网。在实验室测试环境下,小车可以自由行驶并反馈回实时的数据并进行测试比较。

4.1 航向角数据测试

HMC5883L采集到的航向角存在随机波动性,因此可以对于进行多次采集平均值滤波,以提高系统输出的数据稳定性。如图6为一定时间内滤波前和滤波后航向角的数据。
 

 
 图6 航行角数据采集和对比图

图6 航行角数据采集和对比图

上图的数据对比可以得知,航向所采集到的数据进行平均值采样滤波优化后误差大大减小,比原有数据稳定许多,说明滤波效果明显。

4.2 角度数据测试

在角度获得的数据,可以使用ADXL345和ITG3200所得的数据,转换为横滚角和俯仰角。再结合卡尔曼滤波对数据进行滤波以达到更准确的实验结果。如下表1为滤波1前角度的数据及误差,表2为滤波后角度的数据及误差。

表1 滤波前角度的数据及误差

 

表1 滤波前角度的数据及误差

表2 滤波后角度的数据及误差

 

 表2 滤波后角度的数据及误差

由表1和表2的测试数据可知,经过滤波后,最大的误差从3.8降到-0.4,而且大体上都在1°内,大大提高了角度的输出精度。

5 结束语

本文所设计的轮式小车室内惯性导航装置,分析了该软件设计的各个模块的具体实现方法。经实验结果表明,该设计能够实时监测到移动机器人的位置信息,并对其能实现有效控制。同时其低成本、高精度、易操作的特点将进一步应用于例如巡逻机器人、救援机器人等专业领域,必将吸引国内外众多的投资商对其投资并进行更进一步的研发与应用,使其有着十分广大的创新创业前景、应用前景和市场前景。


关键字:室内  惯性导航系统  导航  导航系统

编辑:吕海英 引用地址:http://news.eeworld.com.cn/DSP/2015/1021/article_4247.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于DSP的软件锁相环的实现
下一篇:基于DSP的永磁同步电机全速范围转子定位

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

苹果新专利很实用,室内导航专利曝光!

苹果发布了一份题为“苹果室内定位地图发明”的报告,描述了个人iPhone商店应用程序的使用情况。报告还指出,苹果目前还有另外四项正在申请专利的发明,涵盖了一款室内定位应用程序(01、02、03和04)。       根据9to5Mac早些时候发布的一份报告,称2019年的iPhone将使用一种新改进过的PI天线结构,这将提高iPhone在室内导航方面的性能。      据了解,这种新天线材质名为是Modified PI(聚酰亚胺,简称MPI)材质,而目前用于iPhone XS、XS Max和XR是Liquid Crystal Polymer(液晶聚合物
发表于 2019-05-07
苹果新专利很实用,室内导航专利曝光!

支持精确定位蓝牙的两个用途:资产管理和室内高精度导航

(RTLS)和室内定位系统(IPS)是两种最流行的蓝牙定位系统。增强的资产跟踪准确性蓝牙实时定位系统(RTLS)解决方案用于跟踪设施中的重要资产,包括仓库中的托盘,叉车和工人的位置甚至医院中的超声机和患者,有助于确保安全并在紧急情况下优化响应时间。在RTLS解决方案中,低功耗、电池供电的蓝牙发射器(通常称为标签)放置到关键资产上,这些标签将其当前位置和接收信号强度(RSSI)传输到整个设施中固定位置的蓝牙接收器(通常称为定位器)。这为设施管理者提供了跟踪资产的一般定位。通过增加新的测向功能,RTLS解决方案中的定位引擎现在可以接收信号强度和标签方向,并使用该数据将位置精度提高到厘米级。这将使工厂能够更精确地跟踪材料的位置和流动,并在
发表于 2019-03-13

从军事走向民用,惯导定位能否破解室内导航难题?

“整整20分钟了,车还是没有找到。”老王的车并没丢,只是停在商场地下停车场里忘记了位置,兜兜转转没有头绪。想必大家都有在地下停车场找车的经历,有些人在停车前甚至会特意留心自己停车的区域,不放心的还会在车前拍张照片,害怕万一迷路还能“按图索骥”,但最后回家前的“找车游戏”还是难以避免。此时,那些号称能够精准定位的导航软件们也集体失灵,软件界面右上角“信号弱”的红色警示只能增加你的烦闷和无力感。在户外,卫星定位导航软件可以非常轻松的定位和寻找方向,然而到了室内,随着导航信号的衰减,我们常用的那些导航软件就开始“抓瞎”。为了解决室内定位的难题,人类进行了大量的研究,在此背景下,Wi-Fi定位、蓝牙定位、RFID定位、UWB(超宽带)定位
发表于 2018-12-19

IBM建立基于低功耗蓝牙信标的室内定位系统

在现代化的机场候机楼、医院大楼、办公楼、运动场、大学校园和零售商店中,方便易用的室内导航应用程序的市场日益扩大。根据 MarketWatch (道琼斯旗下的新闻网站)的一份报告,预计到2022年,这一需求可望以 30% 的速度增长。而智能手机中磁力计、加速计和陀螺仪等先进传感器的出现将加速这一需求。为了满足这一需求,IBM 爱尔兰研究院建立了一个可用于生产环境的室内定位系统,它比现有的应用于不同智能手机上的商业解决方案精确度更高。  这一自学习、自适应平台通过部署最少量的低功耗蓝牙(BLE,Bluetooth low energy)信标来推断用户的行程,进行学习,并最终为特定室内区域的每个智能手机型号建立定制的磁力地图
发表于 2018-12-04

室内人员定位解决方案特点及应用

提到定位,我们首先想到的是卫星、是GPS、是北斗,但在室内卫星信号衰减严重,精度大大降低。在室内做人员定位,有哪些好办法呢?古人的望月观日、司南辨位展示我们祖先的智慧和睿智。现在一提到定位导航,大家首先想到的是GPS,中国也推出了自己的卫星定位系统北斗卫星定位系统。但是,卫星定位只能用在室外环境,一到室内,由于导航信号衰减太快,卫星定位就无法使用。而事实上,随着室内场景越来越庞大复杂,工业、安防等行业的高速发展,人员定位管理也逐渐成为了热门市场。大型商超希望能够借助室内定位技术为前来购物的消费者提供实时导引服务,同时基于位置提供对应的营销服务。医院希望对医疗设备进行实时定位,便于需要时快速调用,希望能对特殊病患进行
发表于 2018-11-20

带你了解一下室内人员定位解决方案特点及应用

提到定位,我们首先想到的是卫星、是GPS、是北斗,但在室内卫星信号衰减严重,精度大大降低。在室内做人员定位,有哪些好办法呢? 古人的望月观日、司南辨位展示我们祖先的智慧和睿智。  现在一提到定位导航,大家首先想到的是GPS,中国也推出了自己的卫星定位系统北斗卫星定位系统。但是,卫星定位只能用在室外环境,一到室内,由于导航信号衰减太快,卫星定位就无法使用。  而事实上,随着室内场景越来越庞大复杂,工业、安防等行业的高速发展,人员定位管理也逐渐成为了热门市场。  大型商超希望能够借助室内定位技术为前来购物的消费者提供实时导引服务,同时基于位置提供对应的营销服务
发表于 2018-11-15
带你了解一下室内人员定位解决方案特点及应用
热门资源推荐
更多
  •  pdf文件室内天线分布方案
  •  pdf文件光纤陀螺捷联惯导系统中数据采集单元的设计与实现
  •  doc文件中国移动GSM室内覆盖培训教材
  •  pdf文件嵌入式车载导航信息系统研究
  •  Arduino与LabVIEW开发实战
  •  利尔达LORA模块用户手册Sx1278芯片的
  •  卡尔曼滤波的学习与应用
  •  5G相关知识及应用

小广播

最新DSP文章

  • 世强携工业控制DSP、4G七模模块等工业最新元件产品亮相慕展
  • 国产DSP完美替代TI 世强新增代理进芯电子
  • Nuance语音激活技术现可用于世界上功耗最低的 CEVA-TeakLite系列
  • 世强代理国内唯一批量供货的32位工业控制DSP供应商进芯电子
  • 科大讯飞的嵌入式语音识别软件与CEVA DSP深度整合优化
  • 美高森美为亚马逊Alexa语音服务提供AcuEdge开发套件
  • 多元应用发威 音频组件产值将达200亿美元
  • 专用DSP核心助阵 SoC支持AI算法非难事
  • 逆袭有望 纵观国产视频芯片进化史
  • 基于柔性石墨基板铟砷纳米线红外光探测器

更多相关热搜器件

  •  PIC16C72-04I/PQ
  •  SiT9001AC-44-25E1-3.68640
  •  STM32L151VET6
  •  XUL515100000JS6I
  •  XLP526150000JS6I
  •  XLH726016000JU4I
  •  ISL91108IINZ-TR5691
  •  ASDMPLV-148.500MHZ-LR-T3
  •  552FC000009DGR
  •  PSD954315MT

更多每日新闻

  • 5G具体落地任重道远,智能切片还将面临哪些挑战?
  • 日韩“氟化氢”禁运,是否会波及华为生产?
  • 商务部例行记者会:美禁止和大疆合作,无事实依据抹黑
  • 奥普光电上半年度业绩大降18.25%,收购有望扭转颓势
  • 大族激光陷入投资造假风波,并回复深交所问询函
  • 美几家科技巨头发布最新财报,谷歌净利润同比增长211%
  • 代工企业“伟创力”:曾扣押华为7亿人民币物料
  • 武汉·中国光谷从何说起?从零到世界第一还有多远的路要走
  • 谷歌首席执行官表示:公司应在AI方面加码
  • 机器视觉热度高居不下,谁能最先实现突围落地?

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: FPGA与DSP 网络通信 多媒体处理 工业控制 汽车电子 算法与软件设计 工具与IP DSP处理器 视频教程 综合资讯 DSP资源下载 DSP习题与教程

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright 2005-2019 EEWORLD.com.cn, Inc. All rights reserved