UWB跟随小车TRACKINGCAR使用手册VersionV1.
0研创物联UWB跟随小车TRACKINGCAR使用手册温州市研创物联网科技有限公司2015-2019Page1目录跟随小车简介2UWBMINI3S模块介绍3TRACKINGCAR主控板介绍3TRACKINGCAR跳帽使用方法4开发软件介绍与固件更新5专业术语表5串口数据解析6KALMANFILTER算法7角度计算算法8PWM电机调速算法8跟随算法9硬件操作指南11跟随小车实验注意事项12蓝牙模块调试13跟随小车USB输出数据调试方法16研创物联UWB跟随小车TRACKINGCAR使用手册温州市研创物联网科技有限公司2015-2019Page2研创物联跟随小车介绍跟随小车简介随着科学技术的不断发展,机器人技术自从问世以来就取得很大的进步.
作为机器人领域的一个重要组成部分,移动机器人一直是机器人领域的研究热点之一.
近年来,移动机器人随着技术的不断发展,逐渐成为了一个集环境感知、动态决策和行为控制等多功能于一体的综合系统,它主要通过各种不同的传感器结合信息处理技术来识别本身及周围环境的变换从而完成相对的运动.
目前,市面上出现了多种不同功能的移动机器人,而自动跟随机器人一直是移动机器人的研究热点,大多自动跟随机器人的无线定位技术都是基于无线蓝牙技术或基于超声波技术,但这些定位技术都存在定位缺陷,所以这些自动跟随机器人跟随效果差.
在此背景下,为了提高智能小车的定位精度,本产品跟随小车的无线定位技术选择基于超宽带(UWB)的无线定位技术.
UWB技术是一种短距离无载波的无线传输技术,它与传统通信技术相比具有显著不同.
它采用窄脉冲传输数据,这种窄脉冲能达到纳秒级别,而且能传送低功率的信号,可以穿越障碍物,能方便的实现定位功能,定位精度高达厘米级且抗干扰能力强等优点.
因此基于UWB技术的自动跟随小车实现能够对目标标签的定位计算进行自动跟随的功能,通过对该小车的研究能够使人解放双手,使人们的生活变得更加便捷、轻松.
利用基于UWB定位技术完成自动跟随小车控制系统的设计.
该系统主要由DC-DC降压模块、电机驱动模块、STM32单片机、OLED显示模块等部分组成,其中单片机采用意法半导体公司生产的高性能、低功耗处理芯片STM32F103C8T6作为主控器.
系统利用UWB定位技术完成小车对移动目标的测距,结合自主开发的加载串口数据解析、KalmanFilter距离滤波算法、角度计算算法、PWM电机调速算法、跟随算法,使小车向目标位置移动,从而实现小车对目标的自动跟随.
图1.
1UWB跟随小车实物图基站A0基站A1标签T0dis1dis3dis2θ研创物联UWB跟随小车TRACKINGCAR使用手册温州市研创物联网科技有限公司2015-2019Page3UWBMini3s模块介绍UWBMini3s是研创物联自研的UWB开发板,模块采用STM32F103T8U6单片机为主控芯片.
外围电路包括:DW1000芯片、电源模块、LED指示模块、复位电路等.
该模块既可以作为基站,也可以作为标签,通过USB指令进行切换.
图1.
2Mini3s正面图Mini3s基本电气参数见表1.
2.
表1.
2Mini3s硬件参数基本参数无线参数PCB工艺4层板-环氧树脂通讯速率110kbit/s,850kbit/s,6.
8Mbit/s供电接口micro-USB(5.
0V)/接线柱工作频率3.
5GHz~6.
5GHz(见1.
3.
2节)通讯接口micro-USB(5.
0V)/串口(3.
3VTTL)工作频道6(见1.
3.
2节)下载接口SWD(VCCSDIOSCKGND)发射功率-35dbm/MHZ~-62dbm/MHZ可程控主控制器STM32F103T8U6(64pin)最大包长1023字节外部晶振8Mhz通讯距离80m(无遮挡)PCB尺寸46mm*20mm数据抖动典型±10cm,一般遮挡±30cmTRACKINGCAR主控板介绍跟随小车TRACKINGCAR主控板采用STM32F103C8T6作为主控芯片,集成了电机驱动模块、电源管理模块、OLED显示模块,并配备了蓝牙无线接口和CH340串口调试接口.
图1.
3TRACKINGCAR主控板示意图TPS73601DBVR超低纹波LDODW1000-RXLED指示灯(蓝灯)DW1000-TXLED指示灯(蓝灯)USART1串口输出引脚SWDSTLINK下载调试接口电源指示灯(红色)单片机状态指示灯(蓝色)接UWB全向天线研创物联UWB跟随小车TRACKINGCAR使用手册温州市研创物联网科技有限公司2015-2019Page4TRACKINGCAR跳帽使用方法通道介绍表1.
4.
1通道介绍表简写英文全称含义U1TUSART1TXSTM32单片机串口1发送端U1RUSART1RXSTM32单片机串口1接收端U2TUSART2TXSTM32单片机串口2发送端U2RUSART2RXSTM32单片机串口2接收端A0RUWB-A0RXUWB-A0接收端A0TUWB-A0TXUWB-A0发送端CHRCH340RXCH340接收端CHTCH340TXCH340发送端通道切换设置表1.
4.
2通道切换设置表序号跳帽接法说明备注1UWB-A0的数据,通过USART1发送给单片机必接2UWB-A0的数据,通过USART1发送给单片机,单片机将处理好的数据通过USART1发送给CH340到电脑串口调试助手研创物联UWB跟随小车TRACKINGCAR使用手册温州市研创物联网科技有限公司2015-2019Page5开发软件介绍与固件更新本软件开发编译平台为KEIL5.
20版本,固件库采用STM32KEIL标准库V3.
5编写.
语言为标准C语言.
请预留至少1G的电脑硬盘空间对该软件进行安装操作,开发软件的安装流程,请见手册ap03-UWB模块固件更新.
专业术语表表1.
3专业术语表简写英文全称含义ANCHOR基站,也称作信标锚点,指通过其它方式预先获得位置坐标的节点DW1000Decawave出的一款芯片DWM1000Decawave出的一款模组ICintegratedcircuit芯片PHYphysicallayer物理层PSRpreamblesymbolrepetitions前导符号重复RTLSrealtimelocationsystem实时定位系统TAG标签RXreceive接收TCXOtemperaturecompensatedcrystaloscillator温度补偿晶体振荡器TDOAtimedifferenceofarrivalTDOA定位是一种利用时间差进行定位的方法.
通过测量信号到达监测站的时间,可以确定信号源的距离.
TOAtimeofarrivalTOA定位是一种直接利用信号到达时间进行定位的方法.
TOFtimeofflightTOF飞行时间测距法,它主要利用信号在两个异步收发机(Transceiver)(或被反射面)之间往返的飞行时间来测量节点间的距离.
TXtransmit发送TWRtwo-wayranging双向测距法,即两个异步收发机(Transceiver)都能获得测距值.
UWBultra-widebandUWB(UltraWideband)是一种无载波通信技术,利用纳秒至微微秒级的非正弦波窄脉冲传输数据.
研创物联UWB跟随小车TRACKINGCAR使用手册温州市研创物联网科技有限公司2015-2019Page6研创物联跟随小车工作原理本软件控制思路可分为五个步骤:1)串口数据解析2)KalmanFilter距离滤波算法3)角度计算算法4)PWM电机调速算法5)跟随算法串口数据解析从UWB模块发来的数据格式内容为:1.
mr0f000005a4000004c800000436000003f90958c040424042a0:02.
ma07000000000000085c00000659000006b7095b2600024beda0:03.
mc0f00000663000005a300000512000004cb095fc100024c24a0:0MIDMASKRANGE0RANGE1RANGE2RANGE3NRANGESRSEQDEBUGaT:A表2.
1TOF数据格式表内容功能MID消息ID,一共有三类,分别为mr,mc,mamr代表标签-基站距离(原生数据)mc代表标签-基站距离(优化修正过的数据,用于定位标签)ma代表基站-基站距离(修正优化过,用于基站自动定位)MASK表示RANGE0,RANGE1,RANGE2,RANGE3有哪几个消息是有效的;例如:MASK=7(00000111)表示RANGE0,RANGE1,RANGE2都有效RANGE0如果MID=mc或mr,表示标签x到基站0的距离,单位:毫米RANGE1如果MID=mc或mr,表示标签x到基站1的距离,单位:毫米如果MID=ma,表示基站0到基站1的距离,单位:毫米RANGE2如果MID=mc或mr,表示标签x到基站2的距离,单位:毫米如果MID=ma,表示基站0到基站2的距离,单位:毫米RANGE3如果MID=mc或mr,表示标签x到基站3的距离,单位:毫米如果MID=ma,表示基站1到基站2的距离,单位:毫米NRANGESunitrawrange计数值(会不断累加)RSEQrangesequencenumber计数值(会不断累加)DEBUG如果MID=ma,代表TX/RX天线延迟aT:AT是标签ID,A是基站ID此处提到的ID只是一个shortID,完整的ID是64bit的ID为了保证串行通讯的数据及时可靠的接收,同时兼顾其它任务不受影响,采用了基于DMA和中断方式相结合的UART串行通信方式.
由表格可知,mc是优化修正过的数据,所以程序中只接收mc的数据,将表格中的内容Rang0/Rang1解析出来,存入变量trans[0]/trans[1].
DMA是DirectMemoryAccess的缩写,意思是"存储器直接访问",它是一种高速的数据传输操作,允许在外部设备和存储器之间直接读/写数据,即不通过CPU,也不需要CPU干预.
整个数据传输操作是在一个称作DMA控制器的控制下进行的.
CPU除了在数据传输开始和结束时做一点处理外,在传输过程中可以进行其他的工作.
研创物联UWB跟随小车TRACKINGCAR使用手册温州市研创物联网科技有限公司2015-2019Page7KalmanFilter算法KalmanFilter理论基础首先以一个离散控制过程为例讨论kalmanFilter.
该系统可用一个线性微分方程来描述.
()=(1)+()+()(2.
2.
1.
1)Z(k)=HX(k)+V(k)(2.
2.
1.
2)(2.
2.
1.
1)式和(2.
.
2.
1.
2)式中,X(k)是K时刻的系统状态,U(k)是K时刻对系统的控制量,A和B是系统参数,对于多模型系统,它们为矩阵.
Z(k)是K时刻的测量值,H是测量系统的参数,对于多测量系统,H为矩阵.
W(k)和V(k)分别表示系统和测量过程中的噪声,使用kalmanFilter估计时,我们认为噪声满足高斯白噪声模型,设W(k)和V(k)的协方差分别为Q和R.
讨论kalmanFilter的5个经典核心公式.
第一步,预测现在的状态:X(k|k1)=AX(k1|k1)+BU(k)(2.
2.
1.
3)式(2.
2.
1.
3)中X(k|k-1)是利用上一状态预测的结果,X(k-1|k-1)是上一时刻的最优预测值,U(k)为现在状态的控制量,如果没有,可以为0.
经过公式(2.
2.
1.
3)后系统结果已经更新了,对应于X(k|k-1)的协方差还没有更新,用P表示协方差,P(k|k1)=AP(k1|k1)+(2.
2.
1.
4)式(2.
2.
1.
4)中P(k|k-1)是X(k|k-1)对应的协方差,P(k-1|k-1)是X(k-1|k-1)对应的协方差,AT是A的转置矩阵.
Q是系统的噪声,(2.
2.
1.
3)和(2.
2.
1.
4)式便是kalmanFilter中的前两个公式.
对系统的预测.
有了系统的预测,接下来就要参考测量值进行估计了.
X(k|k)=X(k|k1)+()(()(|1))(2.
2.
1.
5)由式(2.
2.
1.
5)分析可知为了实现递归,每次的Kg都是实时更新的.
()=(|1)/((|1)+)(2.
2.
1.
6)P(k|k)=(1(k)H)P(k|k1)(2.
2.
1.
7)由式(2.
2.
1.
6)和(2.
2.
1.
7)分析,P(k|k)和kg(k)都需要前一时刻的值来更新,从而不断地递归下去.
式(2.
2.
1.
3)~(2.
2.
1.
7)便是kalmanFilter的五条核心公式.
KalmanFilter算法实现通过对kalmanFilter核心公式的改写实现kalmanFilter程序编程,改写公式如式(2.
2.
2.
1)~(2.
2.
2.
8)所视.
x_mid=x_last;//x_last=x(k1|k1),x_mid=x(k|k1)(2.
2.
2.
1)_=_+;//_=(|1),_=(1|1),=噪声(2.
2.
2.
2)kg=p_mid/(p_mid+R);//kg为kalmanfilter,R为噪声(2.
2.
2.
3)z_measure=z_real+frand()0.
03;//测量值(2.
2.
2.
4)x_now=x_mid+kg(z_measurex_mid);//估计出的最优值(2.
2.
2.
5)p_now=(1kg)p_mid;//最优值对应的协方差(2.
2.
2.
6)p_last=p_now;//更新协方差值(2.
2.
2.
7)x_last=x_now;//更新系统状态值(2.
2.
2.
8)研创物联UWB跟随小车TRACKINGCAR使用手册温州市研创物联网科技有限公司2015-2019Page8角度计算算法如图2.
3所示为2个基站(A0,A1)与1个标签(T0)组成的三角示意图,其中dis1为基站A0与基站A1的距离,dis2为基站A0与标签T0的距离,dis3为基站A1与标签T0的距离.
角度计算算法基于余弦定理,对于任意三角形,任何一边的平方等于其他两边平方的和减去这两边与它们夹角的余弦的积的两倍,可得出以下公式.
22=12+32213cos(2.
3.
1)由式2.
3.
1可得cosθ以及θ值,cos=12+3222213(2.
3.
2)θ=(cos1(cosθ)180)/(2.
3.
3)(由于在C语言中通过反三角函数得到角度值是弧度,因此需要进行转换)PWM电机调速算法脉宽宽度调制(PWM)是将数字输出波形,转换成一个等效的模拟波形.
PWM其原理:在不改变脉冲方波周期的前提下,通过调整其每个周期脉冲方波占空比(占空比是指高电平在一个周期之内所占的时间比率),从而达到等效模拟电压输出的目的.
由于直流电机是一个感性的负载,电感对电流的突变有抑制的作用.
如果我们设定的PWM方波的频率过高,就会使电感的抑制作用过于明显.
从而造成对小电机的驱动能力不足,所以我们不能将频率设定过高.
因此在程序中我们设计了四路周期为10ms的PWM波用来分别控制小车的四个电机转速,如图2.
4.
1所示为其中一个电机运转中的PWM图,0~τ(τ商务邮箱:yciot@qq.
com商务(林工)热线/微信:15606880772QQ:171932915技术(郑工)热线/微信:13282788693QQ:1006060756技术(吴工)热线/微信:13296707815QQ:3225895549
Virmach自上次推出了短租30天的VPS后,也就是月抛型vps,到期不能续费,直接终止服务。此次又推出为期6个月的月抛VPS,可选圣何塞和水牛城机房,适合短期有需求的用户,有兴趣的可以关注一下。VirMach是一家创办于2014年的美国商家,支持支付宝、PayPal等方式,是一家主营廉价便宜VPS服务器的品牌,隶属于Virtual Machine Solutions LLC旗下!在廉价便宜美国...
在之前几个月中也有陆续提到两次HostYun主机商,这个商家前身是我们可能有些网友熟悉的主机分享团队的,后来改名称的。目前这个品牌主营低价便宜VPS主机,这次有可以看到推出廉价版本的美国CN2 GIA VPS主机,月费地址15元,适合有需要入门级且需要便宜的用户。第一、廉价版美国CN2 GIA VPS主机方案我们可看到这个类型的VPS目前三网都走CN2 GIA网络,而且是原生IP。根据信息可能后续...
pacificrack怎么样?pacificrack商家发布了七月最新优惠VPS云服务器计划方案,推出新款优惠便宜VPS云服务器采用的是国产魔方管理系统,也就是PR-M系列,全系基于KVM虚拟架构,这次支持Windows server 2003、2008R2、2012R2、2016、2019、Windows 7、Windows 10以及Linux等操作系统,最低配置为1核心2G内存1Gbps带宽1...
商务邮箱为你推荐
现有新的ios更新可用请从ios14be苹果手机更新不了最新14系统是怎么回事?企业推广品牌推广的目的是什么?2019支付宝五福2019年1月25日今天的支付宝集五福了吗?全国企业信息查询想查一个企业的信息,哪个网站提供信息查询?泉州商标注册请问泉州商标注册要怎么办理?在哪办理?12306.com注册12306邮箱地址怎么写discuz伪静态discuz怎么才能把专题目录也实现伪静态的方法详解joomla安装巡更怎么安装shopex分销王商派的分销王怎么样?听说ShopEx还是大牌子?空间导航自定义名称在空间里 给导航 改名字 怎么改
广州主机租用 阿里云搜索 高防dns 冰山互联 光棍节日志 免费博客空间 魔兽世界台湾服务器 北京双线机房 789电视网 赞助 网站卫士 Updog 银盘服务是什么 外贸空间 免费个人主页 后门 阿里云个人邮箱 register.com 免费的加速器 中美互联网论坛 更多