微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > DIY一款具运动状态追踪功能的遥控玩具,做守护天使

DIY一款具运动状态追踪功能的遥控玩具,做守护天使

时间:04-17 来源:互联网 点击:

置于飞机上,将从儿童身上采集的目标信号及自身传感器采集到的信号发射给接收装置,接受装置将信号显示在遥控器的LED上。

本系统选用iNEMO系列模块配备的ZigBee通信协议来实现这部分功能。

3.1.3飞机硬件模块

守护者飞机作为系统的执行机构,不仅要求具有较好的机械性能,小尺寸、轻重量等要求;在运动性能的控制上,也具有较高的精度和实时性。

飞机设计有四个模块:信号接收模块、存储器与中央处理控制模块、飞机执行模块、信息探测模块。

(1)信号接收模块:

接收装置依据ZigBee通信协议将接收儿童身上的运动信息即传感器信号传给存储器。

2)传感器信号处理:

中央处理器从存储器中读取数据,通过算法分析计算初始儿童 X、Y 轴的加速度和转角,并算出飞机需要的转速,输出对应脉宽的脉冲控制飞机飞行,随时接收飞机的反馈信号做出相应的处理。选用基于ARM的低功耗高性能32位微控制器STM32F103RE来实现。

3)信息探测模块:

地磁传感器检测儿童活动范围是否超出设定阈值

执行过程大体可以分为预测、观测和更新三个阶段。首先将儿童的位置存储在一个独立的状态向量中, 然后通过先预测再观测的迭代递推过程来估计系统状态,实现对儿童的定位和距离被观测点的位置的计算。 执行过程的各阶段可以描述为:

(a) 预测阶段,初始化得到飞机位置和遥控器的相对初始位移;

(b) 观测阶段,当飞机运动时,利用飞机自身携带的传感器识别当前位置的特征,即偏离特

征,获得遥控器与飞机之间的相对位置,建立量测方程,根据载体预测位置和特征点位置计

算两者的相对位置关系;

(c) 更新阶段,利用观测信息进行滤波更新,同步更飞机位置和遥控器的位置。

故选用LSM303DLH数字罗盘可以方便快捷的实现所需功能。

温度和压强测量儿童所在的环境信息

选用LPS001DL压力传感器测量环境压强、选用STLM75温度传感器,测量环境温度

4)飞机执行模块:

跟踪飞机为一个直升飞机,飞机的飞行姿态是通过由中央处理器输出的脉冲宽度来控制调节发动机和各个控制舵面来实现的。飞机上有以下几个地方需要控制:

1) 发动机进气量,来控制发动机的拉力(或推力);

2) 副翼舵面(安装在飞机机翼后缘),用来控制飞机的横滚运动;

3) 水平尾舵面,用来控制飞机的俯仰角;

4) 垂直尾舵面,用来控制飞机的偏航角;

3.2 硬件资源配置

图5 硬件资源配置图

主要由三个部分的硬件电路,

(1)跟踪目标(儿童)的硬件配置,主要的硬件包括位于儿童腰部的运动状态采集传感器(加速度计和陀螺仪),用于传输数据的射频模块,以及基本的电源和开关电路。

(2)飞机的硬件配置,包括STM32F103RE微控制器,LPR430AL陀螺仪,LY330ALH陀螺仪,LSM303DLH:地磁电子罗盘,LPS001DL压力传感器,STLM75温度传感器,音乐播放模块以及基本的电源和开关电路。

(3)显示端的硬件配置包括LED显示电路、信号接收的射频模块以及基本的电源和开关电路。

3.3系统软件架构

软件系统分为四个模块:

(1)通讯模块实现对无线通讯模块的传感信号的收发;

(2)运动模块实现对电机、电调的驱动,使电机按照指定的方向和速率转动,实现对飞机的控制;

(3)运动控制模块,通过参考当前的运动状态,通过选择合适的运动控制算法,控制电机的运动状态进而控制飞机的运动状态;

(4)主模块,通过合理的算法和调用,实现各个子模块之间的配合,完成系统的功能,满足系统的要求。

图6 软件系统各子模块

3.4 系统软件流程

3.4.1通讯系统软件系统框架设计

根据STM32F103RE处理器特点,本系统采用ZigBee模块作为无线接收器,串口对无线收发模块收一发状态转换的控制。处理器控制信号流程图如图 7所示。

图7 处理器控制信号流程图

3.4.2 轨迹计算流程图

轨迹计算总流程如图8所示,首先由MCU调用轨迹计算子程序,在子程序中判断该时刻是否为初始时刻,若该时刻为初始时刻则将速度和位移初始化;若该时刻为非零T时刻,则通过一定的数据处理算法以及T-1时刻的速度和位移数据来获得T时刻的速度和位移。

图8 轨迹计算流程图

3.4.3 飞机的控制算法

图9 系统控制算法结构框图

假设儿童是一个有一定大小的点,即可以在三维空间内自由运动。根据测得的加速度可以得到儿童的速度和位移。考虑到测量过程中重力加速度的影响,通过加速度计算得到速度和位移的最基本方程为:

其中*代表绝对坐标系 X,Y,Z 轴向中的任意一个,v0,s0分别是初始速度和位移,t0是测量开始时间,te是测量终止的时间。在测量中只需要测量 X,Y,Z三个轴向上的加速度以及运动的起始和终止时间t0,te就可以得到三个轴向上的速度和

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top