老人服务机器人机械臂控制系统架构设计方法
2022-07-23常州工程职业技术学院郭发勇玮中国科学院合肥物质科学研究院先进制造技术研究所赵江海
常州工程职业技术学院 郭发勇 李 玮中国科学院合肥物质科学研究院先进制造技术研究所 赵江海
为老人提供各种服务的机器人成为一种迫切的社会需求。为提升老人服务机器人控制系统性能,对软件及硬件架构进行深层次分析,提出了一种包含三层控制系统架构的设计方法,在现有机器人操作系统ROS的基础上,向上拓展应用技术开发,向下延伸底层硬件驱动技术。将该方法应用在一种新型老人服务机器人上,对老人服务机器人的机械臂系统开展运动学分析,验证了该方法的有效性,实现了室内物体抓取,可通用于一般的服务机器人。
我国是人口大国,由于政策等原因使家庭老人的数量迅速增加,已经成为世界上人口老龄化速度最快的国家之一,并且我国人口基数庞大,老龄化人口的绝对数庞大。第七次人口普查结果显示中国超过60岁的老人将达到2.6亿人,老龄化程度进一步加深。因此,对于养老护理人员的需求极其旺盛,民政部官员表示,中国未来最少需要1000万名养老护理人员,这种巨大的需求将衍生出特殊的市场。老人服务机器人正是面向全民健康领域的国家重大需求,研发老人服务机器人具有重要的研究价值并将为社会带来较大的经济、社会效益。
近年来国内外众多企业和科研机构开展老人服务机器人的研究工作,例如本田汽车公司研发的ASIMO机器人可以根据人类的声音、手势等指令做出相应的动作。国内老人服务机器人也以突破环境识别、自主行走、任意抓取等多项关键技术,可为老人提供多功能服务。日本SCHAFT公司的HRP-2型机器人、日本国家先进工业技术研究院(AIST)的HRP-4C型机器人等也被用于研究。日本理化学研究所设计开发的RIBA机器人系列轻柔的动作可以将人类抱起或放下,或者是帮助其站立起来。
本文提出了一种新型老人服务机器人控制系统架构,以此为基础开发设计了一款老人服务机器人,开展各项测试和实验工作,可抓取水杯、药品,为老人提供各项服务,实验结果验证了该架构的有效性。
1 控制系统架构设计(见图1)
图1 控制系统架构设计
采用三层控制架构,整个系统分为3层,分别为会话层、决策层、物理层:
应用层一般采用移动终端,硬件可用嵌入式PC、安卓设备等,具备良好的可视化界面,可进行系统参数配置通过有线/无线网络控制机器人本体;终端上提供5-10Hz刷新频率的系统状态监测功能,包括系统各个执行部件、传感器,可进行机器人运动学、动力学仿真;提供任务编程脚本编辑、任务分解流图等高级应用,提供各类系统软件API接口供给测试及二次开发。
决策层包含运动控制单元和感知决策单元。运动控制单元主要包含机器人机械臂上核心算法计算和外围通信处理,包括复杂动力学迭代计算、双臂协同轨迹规划以及其他数值运算,对决策层运动控制单元开展软件功能设计,包括通信接口、核心算法及底层驱动三个方面内容,如图2所示。感知决策单元核心器件为深度机器视觉传感器,用于环境感知、SLAM语义地图构建、物体定位识别,为机械臂提供精确的物体位姿姿态信息。
图2 软件功能设计
物理层包含执行单元(电机、驱动器、减速机)、力传感器和高速总线构成。高速总线采用成本较低的CAN总线,搭载CANOpen CIA402运动控制协议,或者采用成本较高的Ethercat总线,搭载COE运动控制协议,实现2-10ms控制周期插补控制,可实时采集各个电机的位置、速度、加速度、温度、力矩等数据;电机、驱动器采用小体积高功率密度器件;力矩传感器包含安装在手腕部和手指部,手腕部的传感器可进行分别用于变负载物体抓取和动力学碰撞检测,安装于手指部的压力传感器可模拟皮肤采集物体触摸力。
系统软件基于Linux操作系统,采用开源框架,其中系统内部通信框架采用LCM/ROS系统组件,搭载Prempt-RT Linux实时核,利用Orocos开源控制系统软件进行机械臂运动学、动力学计算,控制双臂和底盘。
图3 软件系统架构设计
2 机械臂模型分析
老人服务机械人机械臂的运动学模型建立的方法采用的是传统的D-H方法,其D-H坐标分布图如图4所示。
图4 D-H机械臂连杆坐标系
采用机器人工具箱对机械臂运动学模型开展仿真研究,用于判断机器人运动学、动力学算法是否可以有效执行。本文采用MATLAB软件的机器人工具箱Robotic Toolbox进行老人服务机器人的正逆运动学和逆动力学仿真,利用标准的MATLAB编程环境和控制器流图仿真,模拟机器人连杆模型、轨迹运动规划、障碍物碰撞检测和机械臂物体抓取阻抗控制算法。修改了机器人工具箱的部分功能(仅能仿真单个机械臂),将其拓展为多机械臂仿真控制,如图5所示,采用表1中的D-H参数建立与实际机器人本体参数一致的仿真模型。
图5 双臂Matlab仿真
表1 机械臂D-H参数
逆运动学的求解有两种常用方法,几何解和数值解采用Newton-Raphson算法作为求解逆运动学方法。即是从当前状态的关节角减去一个,考虑到位姿的微小变化量,矩阵J为雅克比矩阵,通过矩阵的逆运算可以得到为:
式中J —1为J的广义逆解。通过循环求解关节角的修正量不断缩小位姿误差,其求解过程如图6所示。该方法在MATLAB中较为容易实现,但是考虑到实时数据通信和控制算法的需要,本文基于Moore-Penrose的对广义逆的定义在双臂机器人控制核心RT-Linux内核中编写求解矩阵的广义逆解或伪逆的算法以提高实时性。
图6 Newton-Raphson法求解逆运动学
3 机械臂抓取实验
根据本文设计的控制系统框架,开发了一款老人服务机器人,该机器人利用头部的Kinect体感摄像头进行环境识别和物体定位,实现机械臂指定位置的抓取,图7所示。
图7 双臂机器人物体抓取测试
本文提出了老人服务机器人三层架构控制系统框架设计方法并对通用老人服务机器人的机械臂系统开展运动学分析,将该方法应用在一种新型老人服务机器人上,实现了室内物体抓取,验证了该方法的有效性,具有一定的示范意义及通用拓展性。