首页 文学文摘 时政新闻 科技科普 经济法律 健康生活 管理财经 教育教学 文化艺术 社科历史

一种可重构多变魔方模块的研究与实现

作者:万雷 王冬 王亚红 丁建强 来源:电子技术与软件工程

摘 要

论文介绍的可重构多变魔方模块采用了GY-85传感器模块感知位置信息,步进电机为执行器,模块监控器通过IIC总线与多变魔方控制器形成一个模块化分布式控制系统。论文以4模块构建的多变魔方为例,介绍了可重构多变魔方模块的硬件结构、软件结构、通信协议和模块运动的同步控制方法。

【关键词】模块化机器人 GY-85传感器 运动控制

1 可重构机器人与多变魔方

可重构机器人(Reconfigurable Robot)是由功能简单而具有一定感知能力的模块机器人有机联接而成。其核心是将机器人分解为标准化、模块化的组件,研究这些模块化组件如何有机的结合,以达到机械系统的快速拆装、功能模块间的有效通讯、整体机器人系统的协同控制。

多变魔方可看作是一个简单的可重构机器人,它同时拥有自重构、自组装和群体机器人的特点。多变魔方由结构简单、功能单一、配置方便的机电模块连接而成,这些模块集传感器、执行器、通信接口等装置为一体,能够快速拆装、互换装配、互相通讯、协调控制。多变魔方机器人的每个模块都可以自主移动并与其他模块自组装成魔方结构,可以被配置成各种不同形态,实现变形。

下面介绍一种可重构多变魔方模块及其重构的实现方法。

2 多变魔方的硬件结构

2.1 多变魔方的机械结构

多变魔方模块的机械结构采用直角立体三角形如图 1所示,每个模块包含了一个步进电机、位置传感器和驱动电路。由4个模块可组装连接成一个简单的多变魔方(其中有1个模块与支架相连,1个模块没有步进电机),通过驱动各模块步进电机可实现的几个变形操作见图2。

2.2 多变魔方的电路结构

可重构多变魔方模块包含位置信息传感器(GY-85)、步进电机驱动电路。模块之间通过IIC总线连接,并连接到多变魔方控制器,形成一个简单的模块化分布式控制系统。每个模块的电路是一样的,只是作为IIC总线上的器件地址需要进行设置。多变魔方控制器(上位控制机)包含人机交互和通信接口 。

位置信息传感器采用GY-85模块,这是一款九轴自由度IMU传感器,集成了三轴陀螺仪(ITG3205)、三轴加速度(ADXL345)和三轴磁场(HMC5883L)传感器,三个器件由IIC总线连接,集成在一小块PCB上,能够同时测量重力方向、磁场方向和角度方向的变化。

GY-85模块中ITG3205、ADXL345和HMC5883L三个器件已有统一的访问地址,分别为0xD0、0xA6和0x3C。为使多个GY-85模块通过IIC总线相连,需要通过模块监控器将每个可重构模块重新封装成一个IIC器件,并由模块编号开关设置不同的IIC器件地址。

模块监控器采用C8051F320,负责读取GY-85模块中位置信息和驱动模块执行器。

可重构模块的执行器采用步进电机,驱动参数有3个:当前的位置、目标位置和步进速度。模块监控器写入和读取驱动参数,可改变和获取步进电机状态。

多变魔方控制器通过通信接口IIC与各模块连接,并通过人机交互设备(带触摸屏的LCD显示器)显示多变魔方的状态信息,输入多变魔方状态的控制信息。

3 多变魔方的软件结构

多变魔方的软件由两部分组成:基于32位ARM架构下的多变魔方控制器软件和基于兼容8位MC51架构下的可重构模块监控软件,其中模块监控软件及其数据结构是重要基础。

3.1 模块监控软件及其数据结构

模块监控软件包括GY-85位置信息读取、电机状态读取、电机驱动、IIC总线驱动等模块组成。其中模块状态的数据结构通过下面语句来定义。

typedef struct {

int AA_x,AA_y,AA_z; //三轴角加速度数据

int Acc_x,Acc_y,Acc_z; //三轴加速度数据

int Mag_x,Mag_y,Mag_z; //三轴磁场数据

}GY_85; // GY-85模块位置信息数据结构

typedef struct {

int Target; //电机目标位置

int Position; //电机当前位置

int Speed; //电机当前运动速度方向(分正负方向)

}Motor; //电机数据结构

每个模块可分别定义两个位置信息变量和两个电机信息变量:

GY_85 GG0,GG1;

Motor MM0,MM1;

其中GG0、MM0为当前状态,由定时中断程序刷新(刷新周期取400ms),GG1、MM1为同步状态,由控制器发出的同步命令将GG0、MM0复制过来,以实现数据的同步采集。控制器发出的电机命令设置MM0中参数,可实现电机运动控制;先设置MM1然后同步复制到MM0可实现电机的同步控制。

3.2 控制器软件和通信协议

控制器软件在uC/OS II实时操作系统下工作,包括人机交互、运动控制、数据通信三个功能模块。人机交互的功能包括:多变魔方基本状态显示、各模块位置信息显示、多变魔方基本状态和自定义状态按钮检测。运动控制模块功能包括:单个模块驱动、基本状态控制、自定义状态控制。数据通信模块功能包括:IIC总线驱动、各模块位置信息和电机状态读取和电机运动数据设置。

多变魔方控制器与各可重构模块之间采用IIC通信接口,控制器为主器件,可重构模块为从器件。IIC总线的数据传输格式通常为:地址(1字节)+参数(n字节),设可重构模块扩展地址M_Addr为8位二进制,其中高4位为模块号M_No(模块号0000B对应所有模块),低4位为命令号M_Com(最低位为IIC的读写标志),参数分别为P1、P2……Pn。通信协议的数据包格式如图3所示,相关命令格式说明见表1。

4 模块运动的同步控制方法

首先通过多变魔方的上位控制机发出“同步允许”和“同步禁止”命令,来选择需要同步采集和同步控制的模块。

4.1 数据同步采集

发出对模块号为0000B(即对应所有模块)发出“同步刷新G”和“同步刷新M”命令,可将各模块的位置信息和电机信息的同步采集存放到各自GG1和MM1变量中,然后分别由“位置信息1”和“电机信息1”命令读取各模块的GG1和MM1变量,由此实现对各模块的数据同步采集。

4.2 电机同步控制

对各模块发出“运动控制1”命令,将模块电机目标位置发送到模块的MM1变量中,发出对模块号为0000B(即对应所有模块)发出“同步还原M”命令,各模块将同时驱动电机按给定的速度和方向到达目标位置,从而实现对各模块运动的同步控制。

5 结论

利用上述的可重构模块设计了一个四模块的多变魔方,实现了典型的变形操作。所设计的多变魔方融合了数字化传感技术、控制技术、通信技术和机电技术等;可重构模块不仅在机械结构上可以快速配置,形成不同构型的机器人,而且在电子线路上也能快速拓展;多变魔方结构简单,但造型丰富,能形成众多形态,再配上表面的灯光显示,具有很强的展示功能;多变魔方作为一个机电设计的教学案例,用于综合实验教学也有着重要意义。如将其作为一种新颖的室外大型电子“数字魔型”,布置在校园内或公共场所,在不同的时间、场合展示不同的造型,则需要改进其通信接口,如采用RS486、CAN总线。

参考文献

[1]周强强,关胜晓.可重构模块化机器人研究[J].计算机系统应用,2008,17(9): 28-32.

作者单位

苏州大学应用技术学院 江苏省苏州市 215325