“外骨骼”智能健身与康复机器人的控制系统由嵌入式控制模块和上位机控制系统两个层级组成。嵌入式控制模块采用意法半导体公司的STM32作为主控芯片,实现电动机轨迹控制算法,并通过串口通信与通信模块和电动机驱动模块进行控制信号与反馈信号传递。机器人功能的实现需要对22个舵机的位置和速度完成闭环控制,使得机器人能够精确拟合人体运动轨迹,实现健身、康复牵引功能及标准运动姿势教学功能。当机器人实现健身功能时,需要通过控制舵机提供阻力矩来达到健身运动的目的,嵌入式控制模块将对舵机输出力矩进行控制,使得力矩的输出符合人体运动工程学规律。上位机控制系统包括PC控制界面、移动设备控制终端和显示设备。利用上位机实现对“外骨骼”机器人本体的模式转换、功能设置等功能,在显示设备中可直接显示出各驱动电动机的位置、速度与输出力矩,结合PC机的显示屏和手机、平板电脑等移动设备的屏幕,实现对“外骨骼”机器人动作的动态展示。控制系统框图如图9-38所示。
图9-38 控制系统框图
1.驱动系统与算法设计
采用高性能、大力矩直流伺服电动机作为驱动元件,可同时提供健身所需的运动阻力和康复所需的牵引动力。采用位置环、速度环、力矩环的反馈式驱动控制,使机器人各构件在健身或康复过程中实现精准且迅速的运动,且能同时实现对运动速度、驱动扭矩(力度)的任意调整。这一特性改变了传统健身器械需要重物或弹性元件提供阻力的思维定式,可以在健身/康复过程中为各构件提供所需要的阻/动力与速度,即使在一组动作中也可以实现阻力的相应变化,不受外界因素制约。
由于本作品是以施加人体运动的阻力或动力,从而分别起到健身与康复牵引的功能,这就对电动机的力矩和冲量控制提出了要求。为精确拟合人体运动轨迹,引入四阶闭环PID控制算法以实现对电动机高精度控制,其框图如图9-39所示。
图9-39 驱动控制算法框图
鉴于本作品在运作过程中是跟随人体进行随动运动,并依靠作品运动末端与人体产生互动,从而实现健身与康复功能。考虑到互动过程中的顺畅性、舒适性和运动轨迹拟合的良好性,需对作品的运动轨迹进行规划,而传统的直线插补或低次插补算法虽然简单易行,但无法满足本作品的要求。为此,在运动轨迹规划中引入了五次样条曲线插补算法,对伺服舵机的速度轨迹和加速度轨迹进行规划。避免由于采用直线插补或低次插补算法带来的运动轨迹衔接处无法保证良好精度要求等弊端。
2.基于STM32芯片的硬件电路开发
针对系统高实时性和高可靠性的要求,嵌入式控制系统以STM32F103VET6为控制核心。实现以ARM CortexTM-M3为内核的高性能、低成本、低功耗的嵌入式控制系统的开发,并辅以RS485伺服指令总线、RS232系统级通信接口及通信总线、PWM波发生模块等功能模块。基于STM32芯片的硬件电路原理图与实物图分别如图9-40和图9-41所示。
3.软件系统设计与开发
(1)上位机调试软件的编写 基于Windows的MFC编程,自主开发了调试软件。考虑到MFC以C++类的形式封装了Windows的API,并且包含一个应用程序框架,可以减少应用程序开发人员的工作量。MFC包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类,借用这些类封装和控件,在C++环境下编写了调试应用程序,上位机调试程序如图9-42所示。
(2)通信协议 根据嵌入式控制系统对舵机的控制需求,并针对通信语义语法的可读写性强、简单明了的特点,设计过程中对上下位机之间和嵌入式控制系统与驱动元件舵机之间的串行通信协议进行了自定义。通过自定义的通信协议,实现对通信双方的数据传送进行约定。约定中包括对数据格式、同步方式、传送速度、传送步骤、检查纠错方式及控制字符定义等问题做出统一规定,通信双方共同遵守。图9-43所示为舵机间的通信协议。
图9-40 硬件电路原理图
图9-41 硬件电路实物图
图9-42 上位机调试程序
图9-43 舵机间的通信协议
图9-43中,各字符含义为:
1)0XFF 0XFF:帧头。
2)ID:舵机的ID编号。
3)LENGTH:该帧长度。
4)INSTRUCTION:命令名。
5)PARAMETER:对应命令的参数。(www.xing528.com)
6)CHECK_SUM:校验帧。
上位机与下位机的通信协议如图9-44所示。
图9-44 上位机与下位机的通信协议
图9-44中,各字符含义为:
1)0XFF 0XFF:帧头。
2)ID:舵机的ID编号。
3)HL:给定位置的高位和低位。
4)最后一字节:命令识别位。
在用户使用移动控制终端时,对“外骨骼”机器人的控制由人机交互界面完成。设计人机交互界面时,从Android设备多媒体播放器获得灵感,设计出名为“HNG Client”移动端程序。将每一个锻炼动作想象成一首“歌”,用户对于机器人的所有的操作如同在手机上选择歌曲一样。
UI界面包括运动播放界面、运动列表界面、时间设定界面和强度设定界面四个组成部分。运动播放界面概念图如图9-45所示。
图9-45 运动播放界面概念图
运动播放界面各单元说明:
1)运动图标:清晰提示当前运动项目。
2)运动列表按钮:打开运动项目选择列表。
3)设定按钮:设定希望运动的时间/次数及强度。
4)关于按钮:得到关于该运动的信息。
5)上一个运动:播放上一个运动列表中的运动。
6)播放:开始当前锻炼项目。
7)下一个运动:播放下一个运动列表中的运动。
8)进度提示界面:包含当前时间、总时间、时间进度等提示。
运动播放界面设计采用网格型列表排布,若下面仍有未显示图标,在触屏用手向上拖动整个页面即可。项目图标将采用大图标,方便用户识别和选择。图标设计采用黑图白底配色,配以简洁的“人偶运动”图标,传达的信息直观明了。
时间设定、强度设定概念图如图9-46所示。设定包括时间设定和强度设定,其中时间设定分为时间模式和次数模式。拖动进度条可调节运行时间或锻炼次数,强度设定同上,拖动进度条即可改变。
图9-46 时间设定、强度设定概念图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。