陈丹惠,顾潇宇,周 雄,赵江海,李子建
(1.常州先进制造技术研究所,江苏 常州 213164;2.中国科学院合肥物质科学研究院,安徽 合肥 230031;3.昆明理工大学农业与食品学院,云南 昆明 650500)
外骨骼机器人使用人群广泛:用于肌肉萎缩或脑或脊髓功能损伤的人群,可提高该人群的生活质量;用于战场士兵以及部队后勤等健康人群,可提升特殊领域作业人员的作业能力[1-4]。国内外外骨骼机器人按驱动系统分类,主要包括电机驱动、液压驱动、气缸驱动以及气动人工肌肉驱动等类型[5-9]。国外的研究成果有日本筑波大学研制的Hybrid Assistive Leg系列、美国范德堡大学的 “Indego”外骨骼,但都存在系统自重过重、价格昂贵等问题。国内研究机构、高校和公司对外骨骼的研制[10],大多还处于样机研制阶段,系统线路复杂、稳定性低。
本文针对国内外骨骼机器人的不足进行设计。控制系统设计采用控制器局域网络(controller area network,CAN)总线,连线少,结构清晰。CANopen通信协议在实时性和可靠性方面具有优势,可避免点对点连接造成的连线多、线路复杂、系统稳定性低的问题。
外骨骼机器人从穿戴者需求出发,通过传感器检测穿戴者有无行走趋势,判断是否需要助力,从而实现有效、实时助力。助力大小可根据穿戴者的适应情况进行选取。外骨骼机器人与穿戴者连接单元从人机舒适度角度出发,可拟合人体曲线,选用柔性材料,提高穿戴者舒适度。
外骨骼机器人系统集成包括虚拟样机设计、控制系统设计与软件编制、研制样机性能试验三部分。系统集成框图如图1所示。
图1 系统集成框图Fig.1 System integration block diagram
CANopen的基础是CAN。串行总线网络由Robert Bosch GmbH设计,用于协调汽车中的多个控制系统。CAN模型适用于分布式控制。任何设备都可以在网络上广播信息。每个设备都可以接收所有信息,并使用过滤器滤除不合适的信息。因此,单个信息可以到达多个节点,从而减少了需要发送的信息数量。这也大大减少了寻址所需的带宽,从而允许在整个系统中以实时速度进行分布式控制。
CAN在汽车和许多其他行业中的广泛使用,为用户提供了可用的廉价硬件和持续的支持。现有标准组件的可用性也减少了系统设计工作。CAN的相对简单性降低了培训要求。通过将控制分配给设备,CAN消除了设备与中央控制器之间多线连接的需求。更少的线路连接可在恶劣的工作条件下提高可靠性,而基于设备的错误检查和处理方法使CAN网络更加可靠。
CAN的物理层是差分驱动的两线总线,首末两端各有120 Ω电阻连接。 CAN所支持的最大波特率是1 Mbit/s,最长为25 m;较长的网络长度需要较低的波特率。
CANopen报文在CAN报文内传输。CAN报文也称为通信对象(communication object,COB)。
CAN报文以网络数据包的形式,通过总线进行通信。每个数据包均包含1个标志符(CAN报文ID)、控制位和0~8个字节的数据。
每个CAN报文都有1个CAN报文ID(也称为COB-ID)。报文ID扮演着2个重要角色:提供节点接收或拒绝报文的标准;确定待传输消息的优先级。CAN报文的优先级被编码在报文ID中。报文ID的值越小,报文的优先级越高。当2个或更多设备尝试同时发送数据包时,优先级最高的数据包将成功,而其他设备将被退回并重试。与其他网络技术相比,这种冲突处理方法可以提高带宽利用率。例如,以太网通过要求2个设备中止传输并重试来处理冲突。
CAN协议突出的特点是错误检测、限制和处理。CAN协议与其他总线系统的不同之处在于:它没有定义用于识别错误类型的握手方法。向每个数据包发送循环冗余校验(cyclic redundancy check,CRC)信息,使控制器识别并重新发送格式错误的数据包。
设备的基本模型包含通信单元、应用过程和对象字典3个部分。通信单元由CAN收发器、CAN控制器和CANopen通信协议栈组成。协议栈中包括实现通信的通信对象和状态机。通信对象包括过程数据对象(process data object,PDO)和服务数据对象(service data object,SDO)。
图2 CANopen设备模型Fig.2 CANopen device model
CANopen应用层详细描述了各种不同类型的COB。这些通信对象都是由1个或多个CAN报文来实现的。通信对象分为以下4种类型。
①过程服务数据(PDO消息),用于传输实时数据。
②服务数据对象(SDO服务器消息和SDO客户端消息),用于读/写其他CANopen设备的对象字典。
③预定义对象(同步、时间和紧急报文)。
④网络管理对象,用于控制网络管理(network management,NMT)状态机(NMT消息)和监测设备(心跳、启动报文)。
外骨骼机器人硬件系统结构图如图3所示。
图3 硬件系统结构图Fig.3 Hardware system structure diagram
硬件系统设计包括工业主板、显示器、PCAN-miniPCIe CAN卡、伺服驱动器模块、伺服电机模块和扭矩传感器。工业主板是整个控制系统的核心,负责数据处理和各个设备与系统的通信。PCAN-miniPCIe CAN卡与计算机相连,实时监测系统各设备状态,负责系统的监控和管理工作。该接口的CAN卡在汽车行业应用广泛,目前在机器人、医疗、传感器等行业也发展迅速。伺服系统由伺服驱动器模块和伺服电机模块组成,是整个控制系统的执行模块。良好的伺服性能对整个系统的控制非常关键。扭矩传感器通过驱动器的模拟量输入口,将数据上传到CAN总线。
硬件系统设计是外骨骼机器人良好运行的基础,因此各关键部件的选型尤为重要。硬件设计不仅要考虑器件本身发挥的作用,还要兼顾其接口与整体系统的匹配、兼容。
根据硬件系统组成,对关键器件选型。工业主板从系统所需硬件接口及计算处理能力方面进行选型。本设计选择了台湾LexSYSTEM公司的1I386H嵌入式主板。该主板接口丰富,包含系统所需的MiniPCIe、USB、mSATA.M.2接口,且体积小、功耗低。
CAN卡的稳定直接关系到系统的通信质量。本设计选用的PCAN-miniPCIe CAN卡能够把嵌入式电脑和带有PCI Express Mini插槽的笔记本电脑连接到CAN总线网络。该CAN卡有单通道和双通道型号。在电脑和CAN之间的电气隔离达到300 V。套装内含CAN监视软件PCAN-View for Windows和用于开发CAN连接的编程接口PCAN-Basic。
驱动器在选型方面要考虑周全,比如通信口、模拟量口(及分辨率)、数字输入/输出口(电平5 V/24 V)及功耗尺寸等。根据系统的实际需求,本设计选择了美国Copley Controls Accelnet Micro Module。Accelnet Micro Module支持的CiA 402模式包括插值位置(PVT),位置,速度,扭矩和回零。有10个逻辑输入。1个专用于Amp Enable功能,其他9个是可编程的。通过CMETM软件操作,可以进行驱动器调试,在Windows©下通过Accelnet Micro Module进行通信CAN或RS-232连接。
电机选择了maxon EC flat,由机械模型和助力要求分析选出具体型号。该系列电机重量轻,输出力矩大,且便于关节安装。
力传感器选用宇立公司自主研发的M221X系列单轴扭矩传感器。其特别适用于机器人关节的扭矩测量,在协作机器人上有大量应用。SRI的扭矩传感器厚度薄至7 mm,直径为53~100 mm,扭矩量程为20~300 Nm。传感器内置放大器,直流 5 V输入,0~5 V输出。
外骨骼机器人控制系统软件由初始化模块、通信模块、运动控制模块、算法规划模块、驱动控制模块和采集模块组成。
初始化模块对系统进行基本参数初始化。通信模块用于在上位机与下位机之间建立通信。采集模块是对力传感器数据的实时采集。驱动控制模块是由驱动器单元实现对电机的驱动。运动控制模块基于上位计算机控制实现。算法规划模块基于计算机编程实现。
系统软件如图4所示。
图4 系统软件框图Fig.4 System software block diagram
软件基于Ubuntu16.04,采用C语言实现。首先,进入主程序对系统进行初始化,配置并打开上位机CAN总线通信,并检测下位机系统所有CAN节点设备通信情况。然后,启动线程,进行数据采集。接着,判断是否需要助力:需要则进入助力线程;不需要则返回到启动线程后的状态。最后,结束任务,退出主程序。软件流程图如图5所示。
图5 软件流程图Fig.5 Software flowchart
试验平台基于外骨骼机器人、Win10操作系统计算机,PCAN-USB(USB转CAN接口)转接线缆和PCAN-View软件。
打开PCAN-View软件,点击Connect,选择与所有节点一致的波特率即可连接成功。若完成上述操作不能正常操作节点,可从以下几个方面解决:①更改驱动器指令源方式为CANopen;②总线首末端的节点添加120 Ω的终端电阻;③布线的拓扑结构选用“手牵手”式连接;④线缆采用屏蔽双绞线;⑤降低波特率。
外骨骼运行时,力矩信息、位置信息和速度信息需要实时上传到总线上进行分析、处理,从而进行指令下发。传输实时数据由CANopen中的PDO实现。 每个PDO包括通信参数和映射参数。CANOpen包括多种通信方式:主从站方式、客户服务器方式以及生产者消费者模式。其中,PDO采用生产者消费者模式。
PDO配置有明确的步骤。首先,激活节点,设置同步消息周期,激活同步功能;然后,配置PDO,关闭原有PDO通信参数配置,设置PDO每个同步消息更新一次,清空默认配置,将映射对象映射到映射参数中,设置映射参数映射对象数目;最后,打开PDO最高位设为0,使其有效。
按照上述步骤就可以实现所需数据的实时传输。通过PCAN-View软件逐一发送力矩采集的PDO配置报文,然后使用PCAN-View软件的跟踪功能,记录数据trc文件,将其导入MATLAB中,绘制出扭矩曲线。扭矩曲线如图6所示。该曲线与预期一致。
图6 扭矩曲线Fig.6 Torque curve
由本文设计及试验可发现,通过基于CANopen通信协议的外骨骼机器人控制系统设计,可实现外骨骼机器人控制系统数据的稳定采集。稳定的系统性能对外骨骼机器人的推广和研究具有重要意义。