基于STM32的机器人传感网络节点设计毕业论文
2020-02-18 11:57:16
摘 要
本文基于下肢外骨骼机器人在医疗康复领域的应用背景,设计了一个用于采集压力、加速度、角速度和姿态角数据的传感网络节点。本文首先简要分析了人体下肢的骨骼构造和人体在正常步行时可检测的物理量,确定了本传感节点中要采集的数据,接着通过对比市场上各类传感器的特点完成了压力传感器和IMU模块的选型。根据产品手册的说明并考虑到国内电子元器件的供货条件,为传感器设计了合适接口电路。接下来使用EDA软件Altium Designer设计了传感节点的电路原理图和PCB布局,基于STM32F1系列微控制器,在集成开发环境KEIL中编写了各个传感模块的初始化程序和数据获取程序,采用了成熟的MODBUS协议实现传感节点与上位机之间的通信,最后搭建了完整的传感节点并验证了采集传感数据的功能。
关键词:下肢外骨骼;STM32;传感节点;MODBUS协议
Abstract
Based on the application background of the Lower Limb Exoskeleton Robot in medical rehabilitation, this paper designs a sensor network node for collecting data including pressure, acceleration, angular velocity and attitude angle. This paper firstly briefly analyzes the skeletal structure of the lower extremity of the human body and the physical variables that can be detected when a people walk normally and determines the data to be collected in the sensor node. By comparing the characteristics of various available sensors on the electronic market, we selected the suitable type for pressure sensor and IMU module. Considering the supply conditions of domestic electronic components market, we designed the interface circuit connected to MCU according to the product manual. Next, we designed the circuit schematic and PCB layout of the sensing node by using EDA software Altium Designer. Based on the integrated development environment KEIL that supports STM32 microcontroller, we realized the initialization function and data acquisition function for each sensing module. The mature MODBUS communication protocol is used to realize the data transmission between the sense node and the host computer. Finally, we built a complete sensor node and verified the function of the system.
Key Words:The Lower Limb Exoskeleton; STM32; Sensor Node; MODBUS Protocol
目 录
摘 要 I
Abstract II
第1章 绪论 1
1.1 设计背景和目的 1
1.2 国内外研究现状 2
1.3 本设计的主要内容 5
第2章 传感节点设计需求分析和传感器选型 6
2.1 设计需求分析 6
2.2 传感器的选型 8
2.2.1 压力传感器的选型 8
2.2.2 IMU模块的选型 9
第3章 传感节点的设计与实现 10
3.1 传感节点的硬件设计 10
3.1.1 STM32最小系统 10
3.1.2 压力传感器接口 12
3.1.3 MPU6050模块 13
3.1.4 RS485接口 14
3.1.5 PCB的布局和布线设计 15
3.2 传感节点的软件设计 18
3.2.1 压力数据的读取 19
3.2.2 MPU6050的数据获取与姿态解算 20
3.2.3 MODBUS通信协议 25
第4章 传感节点的功能验证 31
第5章 总结 34
参考文献 35
致 谢 37
绪论
设计背景和目的
外骨骼(Exoskeleton)一词源于生物学,指昆虫和甲壳类动物的坚硬外壳[1]。与仿生学密切相关的外骨骼机器人是一种可穿戴的机电一体化系统,它能支撑、保护使用者并为其提供额外动力。作为一项能够扩展和增强人体运动能力的技术,外骨骼机器人潜在的开发价值和广阔的应用前景不可忽视。比如,在家居领域可协助老人或体弱者行走,在医疗领域可协助残疾人进行康复训练。当然,用于“治疗”的技术往往可以用于“增强”,外骨骼机器人的使用对象还可以是消防员、士兵等[2]。
民用的外骨骼机器人主要集中在康复治疗领域,现代社会中不少人因为惨烈的交通事故或者工业事故而损伤了肢体和脊椎,而且肢体损伤和瘫痪仅仅依靠手术治疗和药物治疗往往是不足够的,因为长期不运动会导致患者身体机能的退化,这严重威胁患者的生命安全[3]。另外随着人口老年化,社会需要投入更多资源来照顾身体逐渐衰弱的老人,开发成熟的外骨骼机器人系统来辅助行走的市场需求还是不容忽视的。
外骨骼机器人技术涉及的学科领域众多,随着材料学、机电工程学、微电子学、控制理论、信息处理、机械仿生学、医学等相关领域的发展,该技术不断取得进步,但是现阶段仍未能大规模商用化。这是由于外骨骼机器人技术复杂,融合了传感、控制、通信、数据融合、移动计算、能源驱动等技术,需要突破的关键技术较多,如机械结构设计的合理性,材料的强韧性和轻便性,动力系统的安全性和高效性,通信的可靠性和快速性,控制方案的实时性和智能性[1]。若在未来需要实现脑机交互的功能,则还需攻克神经生理学和医学等方面的难题。
从系统工程的角度来看,外骨骼机器人的功能实现和性能保障依赖于其子系统的正常运行和互相联系,这些子系统包括(但不限于)机械结构、能源动力系统、控制决策、传感系统。机械结构支撑人体重量,能源动力系统是辅助行走的基础,控制决策要保证运动过程的平稳性和安全性,而传感系统的主要作用是采集前端数据,为控制器执行决策提供必要的数据支撑,其设计的优劣将直接影响整个外骨骼系统的性能。需要考虑的问题有:如何合理布置外骨骼机器人的传感网络节点,采集实时的运动数据和姿态数据;又如何综合分析这些传感数据来判断穿戴者的状态,检测存在的危险,保障系统的安全[4]。因此需要通过合理地设计硬件系统和软件系统来保障底层传感数据传输的准确性和实时性,保证传感网络节点之间能够协同工作。
国内外研究现状
在知识密集型经济模式和全球化浪潮的影响下,外骨骼机器人技术成为新的研究热点,众多潜在的应用需求驱使研究人员去实现安全稳定、轻型灵活、通用性强、智能化、续航时间长的外骨骼机器人。其广阔的应用前景吸引了越来越多的国家参与投资和研发。
美国的高等学府、研究机构和相关企业对外骨骼技术的关注较早,投入的资金也较大,其中较出名的有洛克希德马丁公司、EKSO仿生学公司。而日本对外骨骼的研究主要集中于工业、农业、医疗等民用领域,研究水平相对较高,如日本Cyberdyne公司的HAL系列外骨骼,日本DaisukeSasaki的气动外骨骼。此外,荷兰、意大利、德国、以色列等国家在研究外骨骼技术的过程中也取得了一定的实用成果[1]。
图1.1所示为美国Ekso Bionics公司研发的外骨骼机器人EksoTM GT,这是一款用于康复训练治疗的下肢外骨骼机器人,它能够测量使用者的步态参数并计算出适合当前使用者的助力方案,其辅助效果已经得到美国多个康复中心的认可[5]。
图1.1 Ekso Bionics的康复外骨骼机器人
图1.2 EksoVest无动力上肢外骨骼装置
除了医疗领域,Ekso Bionics公司也致力于开发外骨骼机器人在工业上的应用。2017年11月,福特公司在其汽车工厂中测试了Ekso Bionics公司的上肢外骨骼机器人EksoVest,该无助力产品主要用于支持重复性的肢体劳动作业,能够改善工人的工作条件,一定程度上缓解工人肌肉、骨骼的疲劳,减少因肢体疲惫而导致的工业事故[6]。图1.2为工人使用EksoVest的情景。
以色列Rewalk Robotic公司开发的外骨骼机器人以公司的名称命名,该公司提供的Rewalk康复版和Rewalk个人版两种产品分别用于医疗康复中心和个人日常生活。当前产品的最新版本为Rewalk6.0,能够支撑患者的大部分重量,其轻质便捷、步态控制能力较好的特点为下肢截瘫患者带来了福音[7]。图1.3展示了患者在Rewalk个人版的辅助下行走。
图1.3 以色列Rewalk个人版下肢外骨骼机器人
Cyberdyne公司推出的HAL(Hybrid Assistive Limb,混合辅助假肢)是发展较为成功的下肢外骨骼康复机器人之一,该产品能支撑下肢重量,辅助使用者行走,帮助使用者完成简单的日常生活[8]。2018年3月,美国食品和药品管理局(FDA)批准了该产品作为医疗器械使用。
图1.4 Cyberdyne公司的HAL外骨骼机器人
中国虽幸运赶上了信息时代的末班车,但在许多先进技术领域的起步比较迟,技术积累不如发达国家,在外骨骼技术方面处于追赶状态。至今,我国有不少的科研机构和企业投入到外骨骼技术的研究和开发之中,但技术水平相对较低,商用化进程仍然处在初步阶段。
电子科技大学的机器人研究中心团队研发的康复外骨骼系统(AssIstive Device for paralyzed patient,AIDER)已经在康复治疗上开展了实质性应用[9]。在2015年全国第九届残运会暨第六届特运会开幕式上,下肢截瘫患者林寒在该系统的辅助下独立行走并且点燃火炬[10],见图1.5。
图1.5 电子科技大学的AIDER外骨骼机器人
我国外骨骼机器人产业的商用化进程还处于初步阶段,目前在做相关研究的上市公司和创企有限,但是该技术的发展前景可观。2015年成立的上海傅利叶智能科技公司于2017年3月推出了下肢外骨骼Fourier X1,这款以伟大数学家傅利叶命名的产品带有触觉和智能感知技术,能通过多种传感数据识别出穿戴者的走路意图,帮助下半身瘫痪患者实现坐立行走等基本动作[11]。
图1.6 Fourier X1下肢外骨骼机器人
本设计的主要内容
本毕业设计主要以STM32为控制器,结合人体下肢的生理构造、下肢外骨骼机器人的应用背景和数据采集系统的特点,设计了一个初步的传感网络节点,并根据MODBUS RTU协议栈编写通信程序,实现主从节点之间的数据交换。本设计完成的工作主要有:
- 介绍了外骨骼机器人的研究价值、应用前景以及国内外研究现状;
- 分析了支持下肢外骨骼机器人控制决策需要检测的物理量,考虑到本人现阶段的能力水平有限和嵌入式应用开发经验不足,确定了本设计中传感网络节点需要检测采集的数据;
- 分析了常用压力传感器或IMU模块的工作原理和特点,结合实际的应用背景完成了传感器或传感模块的选型,学习并理解这些数据采集元件的基本使用方法;
- 学习了STM32F1的基本结构和常用片上外设的使用方法,熟悉了基于官方固件库开发该系列微控制器平台的流程,在Altium Designer 18上设计了本传感节点硬件系统的电路原理图,根据PCB厂家给出的极限工艺参数合理设置规则,完成了器件布局和器件之间的布线;
- 了解OSI七层参考模型和事实上常用的数字通信协议,编写了传感节点系统初始化程序和每个模块传感数据读取的程序,根据MODBUS协议的实现等级说明和本节点的实际需求,将适用于嵌入式系统的FreeMODBUS开源通信程序移植到STM32芯片中,实现传感节点与上位机的通信,以分析传感数据的获取情况和通信速率。
- 采购设计所需元器件并搭建了传感节点的硬件电路,测试了传感数据的获取、上传到上位机的功能。
传感节点设计需求分析和传感器选型
设计需求分析
基于下肢外骨骼装置设计合适的传感节点需要分析人体下肢的基本构造、步行的运动特点等,并且从中提取出重要的物理量来检测。
人体在正常走路时下肢在神经系统、肌肉、关节、骨骼等元素的配合下运动。图2.1是单侧下肢骨骼的正面示意图,单侧下肢由31块骨头组成[12],其中髋关节、膝关节、踝关节在走路时的旋转幅度较大,因此设计外骨骼的机械结构时不得不考虑这三个重要的关节,以它们为分界点,外骨骼机器人的机械结构至少应该分为腰部模块、大腿模块、小腿模块和脚部模块,而传感系统的设计与机械结构有较大关联的,比如传感网络节点的布置、检测的物理量等。
图2.1 下肢骨骼正面示意图
根据相关研究资料,设计下肢外骨骼装置需要检测的力学参数有足底与地面之间的互相作用力,重要关节受到的力矩等;运动学参数有速度、加速度、关节运动的角度和角速度、步进的频率等;空间参数比如下肢说与周围障碍物的距离。若要深入研究的话还可以考虑检测下肢肌肉的微弱电信号[13]。
因此,下肢外骨骼机器人传感网络节点的设计需要多种类型的传感器,其中基本的有压力传感器、加速度计、陀螺仪[14]-[15]。量程合适的压力传感器是分析足部受力情况必备不可少的测量器件,加速度计用于推测系统的运动状态,陀螺仪和加速度计得到的数据可以反映下肢外骨骼模块的空间三维姿态。考虑到本人现阶段的能力水平有限和嵌入式应用开发经验不足等问题,本设计基于脚部模块设计一个能够测量足部压力、加速度、角速度和姿态角度的传感节点。
压力是最常见的被测物理量,压力传感器的发展也比较早,技术工艺比较成熟,其种类较多,一般来说,根据本传感节点需要的量程和对体积的要求,可以从市面上找到合适压力传感器[16]。
加速度传感器实际上直接测量的是力,为了分析方便,通常把这个与加速度方向相反的力称为惯性力。在重力的作用下依靠三轴加速度计于静态条件下可以根据三维空间的矢量合成定理计算出重力矢量与三个轴的夹角(方向角)。但是在物体运动状态下,再加上震动、机械噪声等因素的影响,计算出来的角度精度差,也就是说仅仅依靠加速度计无法获得可利用的角度数据。因此,还需要陀螺仪测量的三轴角速度,综合这些数据才能解算出满足精确度和实时性要求的姿态角度。考虑到利用分立的加速度计和陀螺仪来设计传感节点需要综合两者的坐标系,而且凭本人现阶段的条件无法消除安装导致的较大误差,虽然这种方法材料成本低,但是开发难度较大,并不适合我这种缺乏开发经验的设计者。相对于分立的功能单一的传感器件,科学理论的进步和技术工艺的积累使得常用的传感元件能够往多器件集成化、体积小型化、数字接口标准化、检测智能化的方向发展,综合性的传感模块性能越来越好,提供给用户使用说明、参考资料、技术支持越来越齐全,使用的方式也越来越方便,一些知名的半导体公司利用微机电(MENS)技术制成的传感器已经被大量应用在运动状态分析和空间姿态分析中,当前市面上流行的消费级惯性测量单元(IMU)中,最常见的是Invensence公司设计的产品。以功能较齐全的型号MPU9250为例,该芯片内部集成了的加速度计、陀螺仪和磁力计,利用合适的数据处理算法来融合这些数据可以解算出精度很高的姿态数据[17]。
这些底层的传感元器件为步态分析和运动意图识别等抽象程度较高的分析和研究提供了数据基础,保证传感器采集到相对准确的、精度较高的原始数据是控制下肢外骨骼机器人运动的关键之一。
传感节点硬件电路的设计需求有:搭建主控制芯片的最小系统,根据所选择的压力传感器和集成惯性测量单元的具体型号来设计与之相匹配的信号调理电路或者数字接口电路,考虑到本传感节点只是下肢外骨骼装置的一部分,希望设计的硬件系统体积较小,这与实际的PCB的器件布局密切相关,应特别留意。
软件功能实现的设计思路是:熟悉与主控芯片匹配的软件开发平台的开发流程,根据传感器产品手册说明和参考官方的开源代码(一般设计比较复杂的集成数字传感器,其官方网站会给出基于某款微控制器的参考开源代码)设计传感器件的初始化程序,依据标准的或者产品手册说明的数字通信协议设计读取ADC数据的程序。传感网络节点必须要有一定的数据处理能力和通信能力才能和主节点交换实时数据,本设计打算采用成熟可靠的串行链路通信协议——MODBUS通信协议[18]。此外,考虑到可测量数据的多样性,传感网络节点的设计应预留适当的扩展空间。
综上所述,本毕业设计中要解决的主要问题有:传感器选型确定,硬件电路的设计,软件功能实现,如图2.2所示。由于个人能力和条件有限,本传感节点的设计暂时没有过多考虑机械设计。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: