覃润基,杨其城
(长春工程学院 机电工程学院,吉林 长春 130000)
随着科技水平的提高,除去传统固定环境下工作的工业机器人,现已发展出了各种非结构化环境下作业的有自主决策能力的智能机器人,如航天机器人、救援机器人、巡逻机器人、服务机器人等[1],这些脱离了固定工作环境的机器人需要有更高的环境适应能力。目前,大多数移动机器人都是采用传统轮式或履带式[2]的移动方式,而多足机器人凭借更好的适应能力与机动性,一直是机器人研究领域的热点,相比于履带式和轮式机器人,多足机器人能通过不同的支撑点来获取有效动力[3]。合理的设计结构、适当的调整步态,能让多足机器人稳定移动。
目前在多足机器人的步态设计方法中,最常见的是基于机器人重心的静稳定性方法,即要求机器人重心时刻保持在支撑区域内,但这限制了机器人行走的流畅性。零力矩点(Zero Moment Point, ZMP)稳定性理论[4]已广泛应用于双足机器人的平衡控制问题处理当中。目前,对多足机器人步态方面的研究有以下几种:从仿生学角度对四足机器人的腿部摆动轨迹进行研究[5]、基于ZMP稳定性理论对四足机器人机身运动轨迹进行优化[6]、在耗能最优方面研究多足机器人综合步态[7]、为了提高四足机器人爬行稳定性和速度对步态进行优化[8]、能够越过障碍的多足机器人步态设计[9]、多足机器人的跳跃步态设计[10]。
参考上述对多足机器人步态研究成果,本文记录了使用LSC-20舵机控制器控制LD-1501MG舵机调整多足机器人步态的过程。首先,拟定一个能够使多足机器人平稳站立的姿态,作为默认的初始姿态,即每一个动作周期的最后一个姿态;其次,设计出一个基于默认姿态下的行进姿态,调整机器人每步独立动作中的舵机参数,在保证机身平稳的同时,确保机器人在行进过程中的稳定;最后,将站立姿态与行进姿态相结合、优化,在保证机身重心稳定的同时,机器人足部行进动作流畅、平滑、迅速,使整个行进过程的开始与结束都顺利进行。
本文使用的机器人腿部结构在现有六足机器人当中十分常见,如图1所示。该结构由2个舵机和连接块组成,依靠机械结构来实现抬腿。该结构控制较为简单,相比于其他结构,该结构抬腿只需要使用1个舵机,节省空间且减轻整体重量。
图1 多足机器人的腿部机械结构
本文使用LSC-20舵机控制器,如图2所示。搭配对应的软件“LSC-20 Controller”能够实现对最多18个舵机的控制,即6个由3个舵机控制的腿部,使每条腿的每个部位都能够最大幅度的摆动。该控制器同时具备蓝牙模块和ps2手柄的接口。配套的软件“LSC-20 Controller”使用简单,界面直观简洁明了,省去了较为繁琐的编程步骤,如图3所示。
图2 LSC-20舵机控制器
图3 LSC-20上位机
控制板第一次连接电脑时,电脑会自动安装对应驱动。链接舵机与控制器后,打开控制软件“LSC-20 Controller”,若界面中机器人的眼睛变绿,则表示软件与控制器正常连接并启动成功。
舵机滑块调整窗口如图4所示。界面中,每条腿上的3个小窗口是舵机滑块调整窗口,范围为500~2 500(默认为中位1 500)。点击滑竿白色区域,滑块向着鼠标方向移动,按住不放则连续移动;也可以直接拖动滑块,滑块滑动的时候,舵机位置值也会随之变化。记录舵机参数只需要记录界面中显示的数据便可。
图4 舵机滑块调整窗口
对多足机器人的每条腿编号,如图5所示。将1号、4号腿归为A组,2号、3号腿归为B组。
图5 给舵机4条腿编号
先将其调整为站立姿态,待稳定后,记录每个舵机的舵机位置参数,如图6中黑色选中部分,作为初始姿态。
调整前进步态,先改动A组腿部舵机的数据,使其抬起后将舵机数据添加到动作组中,以此类推,将A,B两组腿各抬起一次记为一步。当机器人完成“前进一步”的动作后回归到初始姿态中,即该前进动作组的第一行舵机参数应与最后一行舵机参数设置相同。“前进一步”动作组由以下4个步骤组成:
(1)抬起A组腿并且向前方转动45°;
(2)放下A组腿;
(3)抬起B组腿,同时A组腿向后方向移动回到最初的位置;
(4)放下B组腿。
在已经调整完成的“前进一步”动作组基础上,若要衔接上前进第二步,则只需要简单地在动作(3)中加入B组腿的前进动作,即:
(3)抬起B组腿并且向前方转动45°,同时A组腿回到初始位置;
(4)抬起A组腿,同时B组腿回到初始位置;
(5)放下A组腿。
此为“连续前进两步”动作组。由此可见,若该机器人需要持续向前运动,只需要在对应的动作中,将A,B两组的腿部动作互换,即可完成持续前进动作。
调整为前进两步后停止的舵机数据如图6所示。将经过调整试验后的动作组拆分为两个部分:静止部分和前进部分。将两个部分结合后,便可实现随时前进、随时停止。
图6 完整动作组舵机参数
在学习和参考了各种多足机器人的行进步态后,本文应用LSC-20 Controller对多足机器人进行简单的步态调整。经调试,该软件对多足机器人的步态调整起到了很大的帮助作用,但在功能多样性方面有待进一步完善。