《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 多变魔方机器人的控制系统设计
多变魔方机器人的控制系统设计
来源:微型机与应用2011年第7期
揭宗昌1,郭力峰2,蔡泽辉1
(1.中国矿业大学 计算机科学与技术学院,江苏 徐州 221116; 2.中国矿业大学 信息与电气工
摘要: 介绍了一种新型的可重构模块化机器人(多变魔方机器人),它同时拥有自重构、自组装和群体机器人的特点。多变魔方机器人的每个模块都可以自主移动并与其他模块自组装成魔方结构,还可以被配置成各种不同形态,实现变形。多变魔方机器人选用控制功能强大的ARM芯片和高可靠的ATmega8单片机,应用Zigbee无线网络通信构建了模块化分布式控制系统,有效地实现了机器人的运动控制。本文详细描述了多变魔方机器人模块的硬件结构,软件体系以及系统的工作原理。
Abstract:
Key words :

摘  要: 介绍了一种新型的可重构模块化机器人(多变魔方机器人),它同时拥有自重构、自组装和群体机器人的特点。多变魔方机器人的每个模块都可以自主移动并与其他模块自组装成魔方结构,还可以被配置成各种不同形态,实现变形。多变魔方机器人选用控制功能强大的ARM芯片和高可靠的ATmega8单片机,应用Zigbee无线网络通信构建了模块化分布式控制系统,有效地实现了机器人的运动控制。本文详细描述了多变魔方机器人模块的硬件结构,软件体系以及系统的工作原理。
关键词: 可重构;模块化机器人;自组装;分布式控制系统;ZigBee

 在航天航空、星际探索、地质勘查、地质灾害预报、军事侦察、救灾抢险等领域,因为不能预先确知非结构化的环境,需要执行的任务往往也是变化莫测[1]。因此传统的机器人设计和控制方法已经难以满足机器人在非结构的、未知的环境下自主工作的要求[2]。模块化可重构机器人的拓扑形态是自主可变的,系统可以根据所处的环境通过组成模块之间的自主对接和分离实现整体或局部形态的改变,来调整其构形和功能,从而完成既定的任务,故能广泛应用于非结构化的环境。这样就对其控制系统提出了人工智能的更高要求,这也是当今机器人研究界最热门和尖端的研究方向之一。
 本文提出一种可重构模块化机器人——多变魔方机器人,并完成其控制系统的设计,实现感知、通信、驱动、传动和信息处理的融合,根据多智能体机器人系统的相应协调控制策略完成多种形态的变化和自组装。
1 多变魔方机器人的控制系统
 多变魔方机器人由n×n×n个相同的小模块机器人组成,如图1(a)所示为多变魔方机器人的最小组合,其中每个小方块代表一个具有完全相同结构的模块机器人。机器人控制系统能够根据指令以及传感器信息控制机器人完成一定的动作或作业任务,它是机器人的心脏,决定了机器人性能的优劣。传统机器人控制系统有集中式、主从式、分散式三类控制方式,但它们都不太适合作为多变魔方机器人的控制系统,因为多变魔方机器人有着模块化、可重组的鲜明特点。为了能够充分发挥多变魔方机器人的特点,有必要为它设计适合其特点的控制系统。

 组成多变魔方机器人的模块数量较多,而且每个模块都有数据采集、运动规划、运动控制以及通信等功能,为了能够充分发挥多变魔方机器人的特点,故采用模块化分布式控制系统(MDCS)。模块化分布式控制系统由若干个子系统构成,子系统的个数与多变魔方机器人中模块的个数相同,子系统与模块一一对应。每个子系统的结构功能都相同,它是一个独立的单元,拥有电源、微处理器、移动结构、连接结构、自由度结构、传感器单元和通信接口等,如图1(b)所示。子系统除了控制与它对应的模块之外,还要负责整个系统的协调以及计算和规划等工作。模块化分布式控制系统是一个基于分布式网络的分布式系统,每个子系统都是网络中的一个节点。

 


2 系统硬件设计
 模块化分布式控制系统的各个子系统的结构功能完全相同,因此在进行系统硬件设计时只需要设计出一个子系统,即只需要为一个模块设计出硬件电路即可,多个相同的子系统通过网络总线连接起来就构成了完整的控制系统。
2.1 机械结构设计
本项目设计的多变魔方机器人的模块为一个可以自由移动的10 cm×10 cm×10 cm的小立方体,每个模块上嵌入有自由度结构、移动机构、连接机构、传感器单元、通信接口、电源和控制系统电路板。为了减轻模块重量,模块尽可能采用小型化设计,这样势必要求控制系统硬件设计也要小型化,因此选择器件时要本着小型化的原则。
 考虑到模块的供电和小直流电机的最大输出力矩等因素,故只设计了一个自由度如图2(a)所示,由一个经过6条棱的中点的平面切割得到,这大大减小了模块的功耗和结构复杂程度。这个自由度由360°无限位舵机来实现,其中舵机的旋转轴在小立方体的中心,并在小立方体的下半部分安装一个霍尔元件,在上半部分安装三个磁钢,根据霍尔元件测得的电磁信号来确定转动位置。

 根据小立方体剖面图图2(b),求得这个自由度的大小范围为0~240°。模块可以通过这个自由度,在近似不破坏任何一个面的情况下完成三个面的位置变化,如图3所示。

 模块的自主移动方案有很多种,如足式、轮子和蠕动[3]等。本项目暂采用比较简单的三轮结构,通过控制两个小伺服电机的转动配合一个万向轮来调节分立模块在平面上的移动。
 为了实现多变魔方机器人的形态变化和自组装,每个模块必须要有连接机构。常见的连接方案有机械结构和电磁结构两种,其中参考文献[4]提出一种能提供足够的吸引力或排斥力的E型电磁铁,通过适当的设计就可以利用它改变可重构机器人的形状。本项目采用定制的类似电磁铁来实现模块之间的连接与分离,并在模块的六个面上分别装上这种电磁铁。
2.2 电气设计
 多变魔方机器人模块的电气系统框架如图4所示,它分为3个单元:控制中心、传感器与执行机构和通信系统。

 (1)控制中心:本单元使用ARM系列的STM32微处理器作为主控制芯片,它完成机器人的定位导航及其他决策任务。控制中心通过I2C接口接收编码器的信息并计算处理,其结果可以用来作为定位导航的基础。同时,它收集每个传感器的信息以及其他机器人的信息,并通过适当的控制算法决策后经I2C接口传给执行机构执行。
 (2)传感器与执行机构:本单元由控制器、传感器及执行部件组成。在模块的内部有四个单独的ATmega8微控制器,分别控制着模块底部用于移动的两个伺服电机、模块中心用于实现一个自由度的360°无限位舵机、分布模块六个面的电磁铁以及相应位置的红外线传感器和微动开关等传感器。这些ATmega8微控制器通过I2C接口以“一主四从”的模式与控制核心通信,将传感器采集到的信息传给控制中心处理,并接受控制中心的命令控制执行机构。
 (3)通信系统:多变魔方机器人模块间的通信采用ZigBee无线通信。ZigBee无线通信选用TI的内置ZigBee协议栈拥有片内无线定位引擎并包含一个增强型8051MCU的CC2431芯片,通过串口与控制核心相连。通过通信系统,多变魔方机器人的模块就可以获取来自其他模块的信息并作出响应。
3 软件设计
 模块化分布式控制系统的各个子系统的功能是相同的,因此在进行软件设计时只要设计出一个子系统的软件即可,子系统的软件也是多变魔方机器人的模块的软件。它的模块的软件应该具有以下功能:
 (1)系统协调功能。多变魔方机器人是由众多的模块组成的一个整体,各个模块之间要相互协调才能保证机器人按要求完成某项任务。
 (2)计算和规划功能。多变魔方机器人在运动过程中以及自重组过程中,需要进行运动规划、路径规划以及传感器算法计算等工作。
 (3)通信功能。作为机器人整体的组成部分,各个模块之间必须能够进行通信。
 (4)感知功能。各模块必须要能感知当前的状态,利用传感器采集数据。
 (5)连接功能。多变魔方机器人在形态变化和自组装时,需要进行模块间的连接与分离。
(6)运动功能。模块能在平面上自主移动并且还有一个转动自由度,多变魔方机器人的运动是通过组成它的模块的运动实现的。
 软件设计就是为了使多变魔方机器人的模块具有以上功能,如果以后模块需要更多的功能,只要在此软件的基础上进行扩展即可。模块的软件功能结构图如图5所示。

 模块的软件控制流程采用中断驱动方式,主程序除了完成系统协调、计算和规划等工作之外,主要是处于循环等待状态来等待中断的发生。
3.1 系统协调
 多变魔方机器人是由众多的模块组成的一个整体,它的任何一项工作的完成都离不开模块之间的相互协调。虽然每个模块都有能力进行系统的协调,但在机器人具体执行某项任务时只需要一个或几个模块来处理这项工作,这种模块暂且称其为主模块。主模块的存在与模块化分布式控制系统并不矛盾,因为每个模块的结构功能都相同,都可以成为主模块。具体让哪个或哪些模块成为主模块,则根据任务的需要动态地确定。
 在多变魔方机器人的变形之处,系统选择处于分散模块中心位置的模块作为首次确立的主模块。CC2431定位引擎基于RSSI技术,能根据接收信号强度与已知参考节点位置准确计算出目标装置位置。由此可以得到所有模块之间的间距,显然当其中一个模块与所有模块的间距之和是最小的,则该模块处于中心位置,即被确立为主模块。之后,每次完成模块的自组装后,则选择最利于对接的模块作为主模块。
 确定主模块后,这就需要选择与其合作的模块,为保障合作的高效性需要建立合作效果的评价机制。本文选取当前要完成的变形形态、模块与主模块的间距和对接面与主模块对接面的角度等作为评价参数。
主模块对系统中各个模块的协调合作是通过与各个模块进行通信而实现的,主模块可以给与其合作的模块发送控制命令,与其合作的模块有时也需要给主模块发送回应的命令。经过这样一次次的合作,就能完成多变魔方机器人的自组装和形态变化。
3.2 计算与规划
 多变魔方机器人的每个模块都有计算和规划的功能,但在具体执行某项任务时,只让主模块来执行这项功能。机器人在执行不同的任务时主模块需要进行不同的计算和规划工作,当机器人实现某种变形时需要进行运动规划,主模块根据多变魔方机器人根据机器人的初始形态和目标形态,运用特定的对接路径规划算法得到各个模块的分开、组合序列[5],这样得到机器人的对接路径后进行运动规划,以决定机器人的各个模块的中轴自由度转动状态,采用逐步填充式变形算法[6]完成机器人设定的形态变化。
 在机器人的变形过程中,主模块除了要进行运动规划之外,还要进行传感器计算。多变魔方机器人在变形过程中需要由红外传感器、微动开关等来对模块的接近和对接运动进行导航,因此主模块还要有传感器算法的计算。
4 实验与总结
 经过一系列安装、调试,完成了多变魔方机器人的原理样机。多次试验后,顺利完成了自组装和几种形态的变化。各个电机运行平稳,机器人各模块运动稳定,尤其是在硬质平面上运动更为明显。ZigBee无线网络工作正常,CC2431定位效果良好,顺利完成了系统的控制,完全达到现阶段的要求。作为原理性的工作样机,该控制系统是合适的。
 多变魔方机器人在现实应用中具有重要的价值,下一步将对原理样机进行改进。后期的研究中将考虑增加陀螺仪、加速度传感器、摄像头等,并改良模块的自主移动机构,以期多变魔方机器人能在更恶劣的环境中实现自组装和形态变化,在实际应用中发挥更大的作用。
参考文献
[1] 徐威,王高中,王石刚.模块化自重构机器人变形算法的仿真研究[J].系统仿真学报,2004,16(5):883-886.
[2] 张建广,饶建华.模块化可重构机器人分布式控制系统的设计与实现[J].机械设计与制造,2007(5):95-97.
[3] SRIRAMAN K R, RAMAN S G S, SESHADRIS K.Hardness and sliding wear resistance of electrodeposited nanocrystalline Ni-W alloys[J]. Materials Science and Engineering, 2006(418):303-311.
[4] Ming Chiuan Shiu, Li Chen Fu, Hou Tsan Lee. Design of Reconfigurable Robot Based on Electromagnets. Proceedings of the 7th Asian Control Conference, Hong Kong, China,2009:925-930.
[5] ZYKOV V, MYTILINAIOS E, DESNOYER M, et al. Evolved and designed modular robotics systems capable of self-reproduction. IEEE Trans. Robotics, 2007:308-319.
[6] 费燕琼,张鑫,夏振兴.自重构模块化机器人的运动空间及自变形算法[J].机械工程学报,2009,45(3):197-202.

此内容为AET网站原创,未经授权禁止转载。