APP下载

基于STM32的双足机器人控制系统的研究

2019-03-06王增喜

自动化与仪表 2019年2期
关键词:舵机步态上位

王增喜

(1.清研华翊(天津)教育科技有限公司,天津300304;2.清华大学 天津高端装备研究院,天津300304)

双足机器人是机器人技术的制高点,具有非常典型的学科综合和交叉性强等特点,几乎涵盖了工科大部分专业内容,是非常好的创新实践教学载体。 基于STM32的6 自由度双足机器人,STM32 单片机是整个控制系统的核心,负责协调和监控整个控制系统的运行;通信单元主要负责人机交互时的数据传递;存储单元主要用来存储脱机运行时的位置信息;电源单元负责给控制系统和舵机提供电源;采用插补法实现了舵机的调速控制,解决了多路舵机的联动控制问题[1-3]。

1 系统设计

整个机器人的控制系统如图1 所示,主要由主控单元、通信单元、存储单元、电源单元、舵机单元、无线单元和传感单元等组成。

图1 机器人控制系统Fig.1 Robot control system

电源单元主要通过锂电池,电压进行转换后为其他单元供电;舵机单元是控制器通过总线TTL 给舵机发送控制命令,控制舵机转动;通信单元是控制器与上位机进行通信;传感器单元包括超声波传感器、红外遥控传感器、LED、蜂鸣器;存储单元是控制器将上位机发送数据进行存储。

2 控制软件设计

采用总线舵机控制方案,具有在线调试、下载程序模块、离线程序执行功能特点。 为满足机器人运动控制要求,机器人采用分布式控制系统,分为运动控制层和决策层两层控制,运动控制层管理机器人的各种运动,功能包括数据存储,在线姿态调整,舵机控制。 决策层处理传感器信息,做出智能决策,生成运动指令,两层控制互相通信,并且共享信息[4-5]。

2.1 控制系统程序框架

控制系统程序框架如图2 所示。

图2 控制系统程序框架图Fig.2 Control system program frame diagram

在线调试模块包括通信模块、驱动模块、传感器模块和数据管理模块。 功能主要是用于调试和制作机器人步态动作;操作者在计算机使用图形化界面编程,通过专用数据线进行在线调试。

图3 在线调试模块Fig.3 Online debugging module

下载程序模块包括通信模块、存储模块。 将控制器与计算机用数据线连接,使用图形化界面下载已调试好的程序,下载程序即步态数据以非易失的形式储存。

离线程序模块包括存储模块、舵机模块、传感器模块。 机器人调试完毕后,控制器与计算机断开;控制器执行存储与控制器的步态数据及命令,以此使机器人做出不同动作。

图4 下载程序模块Fig.4 Download program module

图5 离线调试模块Fig.5 Off-line debug module

2.2 控制系统

控制系统采用主循环处理+中断事件的程序结构的协作式的多任务系统,其结构如图6 所示。

图6 控制系统多任务处理Fig.6 Multitask processing of control system

所有的任务均在主循环内得到运行,某个任务得以运行的条件是由该任务对应的事件发生,例如接收到串口数据,则中断子程序会给对应的串口数据包处理任务打标记,时间中断检测在一个运行周期内是否有新事件产生,如果有则在消息队列中加入一条对应的消息,主循环不断地检测消息队列内是否有消息,如果有则立即执行该消息对应的处理函数。 这样可以最大限度地利用CPU 时间,以期在未来加入在线步态规划时有充足的CPU资源[6-8]。

3 上位机

上位机基于LabVIEW 开发, 主要是造型简介主界面、步态规划界面和编程界面,如图7、图8 所示。主界面包括双足机器人舵机关节ID、零件清单;步态界面有新建、导入、在线调试步态等功能;编程界面主要是可以调用设计的不同步态。

图7 上位机主界面Fig.7 Host computer interface

图8 上位机步态界面Fig.8 Gait interface of upper computer

4 算法设计

4.1 步态算法

双足步行的复杂性使仿人机器人研究存在较大难度,其动作是高维非线性耦合的,双足机器人在很长一段时间内由单腿支撑,同时存在开环机构和闭环机构的交替转变。 因此,目前的机器人系统仍远没有达到自然生物界的运动灵活性,仍然有众多问题亟待解决。

步行运动规划研究始终是仿人机器人技术研究的核心问题,目前已取得诸多研究成果。从考虑环境约束的角度主要分为无环境约束的步行运动规划和考虑全局环境的运动规划两个方向,前者即常见的步态规划,后者则以足迹规划最具代表性。首先在全局地图、初始条件和目标状态已知的情况下,构造自起始点至终止点的足迹序列,进而由步态规划方法生成关节轨迹,逐个实现足迹序列的单元,最终由控制器和关节驱动器跟随该轨迹,完成步行运动任务。

该步行运动规划的本质是通过足迹序列建立了机器人关节运动和环境约束的联系,将问题一分为二,以足迹规划解决环境障碍物的躲避问题,以步态规划达到了满足动力学约束的关节轨迹生成目标,为仿人机器人的步行运动规划建立了通用的流程。

4.2 速度算法

4.2.1 插补法调速过程

舵机本身是不能进行速度控制的,我们必须要通过软件实现,想要实现速度控制,必须要给定舵机的初始位置和终点位置,然后给定从初始位置到终点位置的时间,把时间和角度分别细化,并一一对应。 这样就可以从宏观上对舵机实现速度控制。时间细分的越密集,舵机的转动也越流畅,但是受舵机自身条件的限制,不可能无限的细分下去。 插补法具体实现过程如下,采用定时器中断来实现时间的细化,一个周期为T 的时间里,定时器中断N次,这样时间的细化单位如式(1)所示:

从初始位置到目标位置时间为Ten,这样细化次数n 如式(2)所示:

初始位置的角度为ω0, 终点位置的角度为ωn,从初始位置到终点位置的角度差dp如式(3)所示:

最终得出角度的细化单位,如式(4)所示:

由此可见,时间每增加一个dt,角度也对应增加dp0,令m 为差补次数变量,当m=n 时,舵机到达目标位置。

4.2.2 插补法调速过程

为了实现舵机的速度控制,本控制系统采用插补法实现,差补法速度调节流程如图9 所示。

5 结语

本文设计了基于嵌入式的双足机器人控制系统,系统的硬件和软件均采用模块化的设计方法,有利于系统后期的功能拓展和硬件维护;并对验证一个关节舵机的位置控制和速度控制的效果是否达到控制系统的整体要求。 设计了一款基于STM32的类人机器人控制器,该控制器主要解决了多路关节舵机的联动控制和速度控制问题,使控制系统可以实现对多个关节的联动控制,保证了系统具有较好的实时性能。 同时,为了使此类人操作系统具有人机交互功能,采用LabVIEW 编写上位机控制软件及人机交互界面,通过人机交互可以实现机器人的“示教-再现”功能。 双足机器人涉及到仿生学、运动学、动力学级自动控制理论的综合运用。 测试结果表明上位机步态设计合理,舵机控制平滑,实现双足机器人平稳控制。

图9 差补法速度调节流程Fig.9 Speed adjustment flow chart of difference compensation method

猜你喜欢

舵机步态上位
基于步态参数分析的老年跌倒人群步态特征研究
基于面部和步态识别的儿童走失寻回系统
步态识人
特斯拉 风云之老阿姨上位
基于dsPIC单片机的飞艇舵机控制实现
基于ZigBee和VC上位机的教室智能监测管理系统
超音速舵机保护器
菜鸟看模型
基于云模型的舵机同步控制
基于VC的PLC数据采集管理系统