六足机器人设计参考解析.docx

上传人:b****5 文档编号:6798962 上传时间:2023-01-10 格式:DOCX 页数:11 大小:120.08KB
下载 相关 举报
六足机器人设计参考解析.docx_第1页
第1页 / 共11页
六足机器人设计参考解析.docx_第2页
第2页 / 共11页
六足机器人设计参考解析.docx_第3页
第3页 / 共11页
六足机器人设计参考解析.docx_第4页
第4页 / 共11页
六足机器人设计参考解析.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

六足机器人设计参考解析.docx

《六足机器人设计参考解析.docx》由会员分享,可在线阅读,更多相关《六足机器人设计参考解析.docx(11页珍藏版)》请在冰豆网上搜索。

六足机器人设计参考解析.docx

六足机器人设计参考解析

摘要

六足机器人有强大的运动能力,采用类似生物的爬行机构进行运动,自动化程度高,可以提供给运动学、仿生学原理研究提供有力的工具。

木设计中六足机器人系统基于仿生学原理,采用六足昆虫的机械结构,通过控制18个舵机,采用三角步态和定点转弯等步态,实现六足机器人的姿态控制。

系统使用RF24L01射频模块进行遥控。

为提高响应速度和动作连贯性,六足机器人的驱动芯片采用ARMCortexM4芯片,基于uC/OS-II操作系统,遥控器部分采用ARM9处理器S3C2440,基于Linux系统。

通过建立六足机器人的运动模型,运用正运动学和逆运动学对机器人进行分析,验证机器人步态的可靠性。

关键字:

六足机器人,Linux,ARM,NRF24L01,运动学

Abstract

Bionichexapodwalkingrobothasastrongabilityofmovement,theuseofsimilarcreaturescrawlingmechanismmovement,highdegreeofautomation,canbeprovidedtothekinematics,theprincipleofbionicsresearchprovidespowerfultool.Sixfeetinthedesignofthisrobotsystembasedonbionicsprinciple,themechanicalstructureofthesix-leggedinsect,through18steeringgearcontrol,usethegait,suchastrianglegaitandturningpointtocontrolthepositionofsix-leggedrobot.RemotecontrolsystemuseRF24L01rfmodules・Inordertoimprovetheresponsespeedandmotionconsistency,six-leggedrobotdriverchipUSEStheARMarchitecture(M4chip,basedonmuC/OS-IIoperationsystem,remotecontrolpartadoptsARM9processorS3C2440,basedonLinuxsystem.Byestablishingasix-leggedrobotmotionmodel,usingforwardkinematicsandinversekinematicsanalysisofrobot,verifythereliabilityoftherobotgait.

KEYWORD:

Bionichexapodwalkingrobot;Linux,ARM,NRF24L01:

Kinematics

1.绪论

2.六足机器人的硬件搭建

3・操作系统的搭建

4.六足机器人的步态分析与实现

5•总结与展望

1.绪论

1.1多足机器人的发展状况

目前,用于在人类不宜、不便或不能进入的地域进行独立探测的机器人主要分两种,一种是由轮子驱动的轮行机器人,另一种是基于仿生学的步行机器人。

轮行机器人的不足之处在于对于未知的复杂自然地形,其适应能力很差,而步行机器人可以在复杂的自然地形中较为容易的完成探测任务。

因此多足步行机器人有广阔的应用前景,如军事侦察、矿山开采、核能工业、星球探测、消防及营救、建筑业等领域。

在步行机器人中,多足机器人是最容易实现稳定行走的。

在众多步行机器人中,模仿昆虫以及其他节肢动物们的肢体结构和运动控制策略而创造出的六足机器人是极具代表性的一种。

六足机器人与两足和四足步行机器人相比,具有控制结构相对简单、行走平稳、肢体兀余等特点,这些特点使六足机器人更能胜任野外侦查、水下搜寻以及太空探测等对独立性、可靠性要求比较高的工作。

国内外对六足机器人进行了广泛的研究,现在己有70多种六足机器人问世,由于六足仿生机器人多工作在非结构化、不确定的环境内,人们希望其控制系统更加灵活,并且具有更大的自主性。

同时六足仿生机器人肢体较多,运动过程中需要实现各肢体之间的协调工作,如何方便可靠的实现这种协调,也是六足仿生机器人结构设计研究的一个热点。

1.2多足机器人的机构类型

一般来说,腿的构造形式可分为昆虫类和哺乳动物类两种不同形式。

昆虫类生物其腿的数目较多,一般在四足以上;其腿分布于身体的两侧,身体重心低,稳定性好,且运动灵活,但过低的重心不利于昆虫的越障能力;喃乳动物的行走腿则通常为两足或四足,且腿多分布于身体下方,重心高,便于快速奔跑和越障,但在转向等需要灵活性的场合不如昆虫类有优势。

无论是昆虫类亦或哺乳动物类的腿的构造方式,在机器人机构中的具体实现形式上,一般有以下几种方式:

1.2.1单连杆式

出于简易灵活、价格低廉的角度考虑,一些功能单一、以娱乐性为主机器人的六条腿采用单连杆机构设计,并以较少的自由度实现了基木的步行功能,减少了执行电机,简化了设计。

目前市面上有很多诸如此类的爬虫玩具,如图所示为常见的单杆式腿结构的机器人。

但是,过于简单的腿部结构以及较少的自由度导致此类机器人难以完成复杂的动作,实用性较差。

不过这类机器人也可以通过简单的控制完成倒退、转弯等功能,只是无法实现精确定位。

1.2.2关节式

出于简易灵活、价格低廉的角度考虑,一些功能单一、以娱乐性为主机器人的六条腿采用单连杆机构设计,并以较少的自由度实现了基木的步行功能,减少了执行电机,简化了设计。

目前市面上有很多诸如此类的爬虫玩具,如图2一1所示为常见的单杆式腿结构的机器人。

但是,过于简单的腿部结构以及较少的自由度导致此类机器人难以完成复杂的动作,实用性较差。

不过这类机器人也可以通过简单的控制完成倒退、转弯等功能,只是无法实现精确定位。

1.3多足机器人的控制策略

通俗地说,步态是行走系统抬腿和放腿的顺序。

从1899年Muybridge用连续摄影法研究动物的行走开始,人们对步行行走机构的步态进行了大量的研究工作,尤其是近二三十年来,关于步态研究的重要成果不断涌现。

下而介绍的是目前应用较广的几种多足机构行走方式。

1.3.1三角步态

三角步态也称交替三角步态,是“六足纲”昆虫最常使用的一种步态,也被誉为最快速有效的静态稳定步态。

大部分六足机器人都是从仿生学的角度出发使用这一步态。

昆虫三角步态的移动模式较简单,非常适合步行架构的机器人的直线行走,行进速度也比较快。

本论文也采用这种步态实现机器人的直线行走,该步态的具体方式将会在后文中具体给出。

1.3.2跟导步态

通常,三角步态的研究通常都局限在平坦地面,并且假设对于不平地而也是合理的。

然而随着1974年Sun首先提出了跟导步态的概念,并于1983年由Tsai成功地把这种步态应用于俄亥俄州立大学的电动六足机器人中,这些为跟导步态的研究和发展,为提高机器人在不平地而上的行走速度奠定了基础。

对于六足机器人来说,跟导步态的重点是选择前两足下一步的落点,而一对中足和一对后足的下一步落点由当前前足和中足的立足点决定。

跟导步态每次只需要选择前两足的立足点,因而具有控制简单,稳定性较好,越沟能力强等特点,所以特别适合多足步行机在不平地面行走时采用。

1.3.3交替步态

与跟导步态类似,为了充分发挥六足机器人相对于轮式机器人在复杂地形的行走优势,交替步态成为新兴的六足机器人研究的重点。

这种单腿交替行走步态,也被称为五角步态。

在交替步态中,各腿的运动可分为抬升和前进两个部分。

当某腿的相邻各腿均己触地时,该腿开始运动,并给其相邻各腿发出信号。

同样,在该腿触地时,也会给相邻各腿发出触地信号。

这样,一旦整个六足系统进入行走状态,这种顺次的步态运行状态就可以一直维持下去。

由于各腿等待其相邻腿触地的时间取决于其相邻腿的动作及其触地位置,因而,对于崎岖不平的地而而言,这种步态本身是不可预测的。

然而,对于理想的平整地而而言,各腿的运动周期应该是一致的,故而此时的交替步态实质上等同于三角步态。

2六足机器人的硬件搭建

2.1机器人部分

2.1.1主控芯片

机器人主控芯片采用先进的ARMCortexM4架构的STM32F407芯片。

具有浮点型运算能力,增强型的DSP处理指令,主频高达168MHz,拥有高达1M字节的片上内存。

本设计所选用封装为LQFP100封装,有多达80个10口,9个通用定时器,20路以上的PWM输出通道,因此有足够的硬件资源满足本系统的设计需要。

2.1.2结构设计

六足机器人每条腿有三个自由度,前两个自由度的转动轴线相互垂直,后两个自由度的转动轴线相互平行,分别由三个独立的舵机驱动。

根据所需扭力和成本,选择辉盛MG995舵机。

2.2遥控器部分

遥控器部分使用基于ARM920T核心的S3C2440A微处理器,主频可达400MHz,并且包含MMU内存管理单元提供了对Linux,WindowsCE等操作系统的支持。

2.3RF射频通信部分

nRF24L01是一款工作在2.4~2.5GHz世界通用ISM频段的单片无线收发器芯片。

无线收发器包括:

频率发生器、增强型SchockBurstTM模式控制器、功率放大器、晶体振荡器、调制器、解调器。

输岀功率、频道选择和协议的设置可以通过SPI接口进行设置。

3操作系统的搭建

3.1nc/OSII系统的移植与搭建

UC/OS-II,作为一个优秀的实时系统,不仅代码短小精悍,在实时性方面也非常优秀。

uC/OS-II的各种服务都以任务的形式来出现的。

在uC/OS-II中,每个任务都有一个唯一的优先级。

它是基于优先级可剥夺型内

核,适合应用在对实时性要求较高的地方。

用户应用程序

uCOS-II与处理器

无关的代码

os_

.CORE.C

OS_Q.C

os_

.FLAG.C

OS_SEM.C

os_

川BOX.C

OS_TASK.C

os_

.MEN.C

OS_TIME.C

os_

.MUTEX.C

uCOS」I・C

uCOS_II.H

uCOS-II与应用程序

相关的代码

OS_CFG・H

INCLUDES.H

uCOS-II与处理器相关的代码,移植时需要修改

OS_CPU・H

OS_CPU.A.ASM

OS_CPU_C.C

现在介绍各个方框内的部分。

从上往下看,可以看到应用程序在整个卩

C/OS-I啲构架的最上方。

这点也很容易理解,因为UC/OS-II作为一个很优秀的嵌入式操作系统,它最基础的功能就在底层驱动支持下屏蔽硬件的差异性,来为用户提供一个不需要考虑硬件的多任务平台。

因此和其他的操作系统一样用户程序都是建立在uC/OS-II内核基础之上的。

这样非常方便应用程序的编写。

中间层左边方框内的这些代码是与处理器及其他硬件都无关的代码。

可以看到,这些代码占了整个nC/OS-II的绝大部分。

作为嵌入式操作系统,易于移植是一个优秀操作系统必不可少的特性之一。

为了使nC/OS-II易于移植,它的创始人花费了大量的心血,力求与硬件相关的代码部分占整个系统内核的比例降到最小。

其中OS_CORE.C是内核文件,OS_FLAG.C是与事件标志管理相关的内容,OS_MBOX.C是负责消息邮箱管理的内容,OS_MEM.C负责内存管理,OS_MUTEX.C负责互斥信号量的管理,OS_Q.C负责消息队列的管理,OS_SEM.C负责信号量集的管理,OS_TASK.C负责任务管理等。

中间层右边方框里列出的实际上是两个头文件。

OS_CFG.H是为了实现UC/OS-II内核功能的裁剪。

通过配置这个头文件,UC/OS-II可以方便的实现裁剪,以适应不同的嵌入式系统。

而INCLUDES.H则包含了所有的头文件,这样在应用程序包含头文件时只需将此头文件包括进去就能包含uC/OS-II所有的头文件了。

最下而的一个方框列岀的是与处理器相关的代码,这部分是系统移植的主角。

在OS_CPU.H中,主要声明了一些与微处理器相关的常量、宏和typedefo宏定义了进出临界代码区的语句,并且定义栈的生长方向等。

与处理器相关的汇编代码是OS_CPU_A.ASM,其中有5个与处理器相关的函数,OS_CPU_SR_Save()函数作用是保存当前的状态寄存器然后关闭中断,也就是进入临界区的汇编实现,代码如下

OS_CPU_SR_Save

MRSRO,PRIMASK;加载中断屏蔽寄存器的值到RO

CPSIDI;关中断

BXLR;函数返回

OS_CPU_SR_Restorc()函数作用是将状态寄存器的值从R0恢复PRIMASK以开启中断,并跳转回去,实现代码如下

OS_CPU_SR_Restore

MSRPRIMASK,RO;恢复RO的值到PRIMASK,以开启中断

BX

LR

;函数返回

OSStartHighRdyO函数的作用是

(1)设置PendSV优先级为最低优先级;

(2)设置堆栈指针到0;(3)设置OSRunning=TRUE,l^表明系统正在运行;(4)

触发一次PendSV,打开中断等待第一次任务的切换;(5)开中断。

osctxSw()和osimctxSw()函数的内容一样,作用都是完成一次任务的上下文切换,不过OSIntCtxSw()只在OSIntExit()中被调S用。

OS_CPU_C.C函数中编写了六个简单的C函数,唯一必要的函数是OSTaskStkInit(),初始化堆栈,其它五个函数必须得声明但没必要包含代码。

3.2Linux系统开发

在Linux系统中一个完善的设备驱动既要有硬件的支持,同时也要符合硬件设计的驱动模块。

结合NRF24L01芯片的特点以及Linux系统下设备类型的不同,可以把它认为是字符设备驱动的一种。

本次设计中使用的是2630的内核,根据Linux字符驱动的特定架构,本系统中设计的NRF24101芯片驱动由init、exit、open、close、wad等函数结构组成,以完成不同的功能。

木系统板载2MNORFLASH和256MNANDFLASH,掉电非易失,NORFLASH已经烧写BIOS,可用来引导内核文件和系统文件的装载。

系统启动时是从NANDFLASH开始。

驱动程序设计完成以后,首先在内核源代码以及字符驱动的目录下,修改Makefile文件,做好编译前的配置工作,然后将驱动.h文件和.c文件移至字符驱动目录下,分别执行"makeclean”,"makemodules”命令后,将生成名为nRF24L01.ko的目标文件,最后将该文件从宿主机移至目标机上执行

uinsmodnRF24L01.kon命令即完成驱动模块的加载,同时也可执行"rmmodnRF24L01”命令来卸载模块。

也可以将驱动程序编译到内核中去,配置Linux2.6可采用makemenuconfig,再修改对应目录下的Makefile和Kconfig即可完成配置,最后在内核根目录下运行make即可完成编译。

在Linux中,NRF24L01被看做为字符设备,因此我们需要在文件系统的dev目录下新建NRF24L01的设备节点,通过“mknodnrf24101c33750”来完成,其中c代表字符型设备,3375和0代表主、次设备号。

应用程序的编写比较简单,包括•按键的中断检测和XRF24L01的发送。

程序中通过检测按键中断,发送对应的编码,来控制机器人的动作。

木系统中采用的是ARM-Linux-gcc编译器,这样编译出来的可执行文件才能在板子上运行。

5.六足机器人的步态分析与实现

5.1步态的相关定义

步态:

是指机器人的每条腿按一定的顺序和轨迹的运动过程,正是因为这一运动过程实现了机器人的步行运动。

步态周期:

步态周期是指多足机器人完成一个步态所需的时间,也就是所有腿轮番完成一次“提起-摆动-放下”的动作所花费的时间,在此过程中机器人机体也完成过渡过程。

木系统的步态周期参数可调,经过实际测试,最小步态周期是300ms,这个参数受限于舵机的性能。

占地系数:

占地系数是指每条腿接触地而的时间和整个步态周期的比值。

当占地系数等于0.5时,机器人是用两组腿交替摆动,这种步态称为小跑步态;当占地系数小于0.5时,机器人任何瞬间只有不足三条腿支撑地面,称为跳跃步态,当占地系数大于0.5时,机器人轮番有三条腿以上支撑地面,这种步态俗称慢爬行步态

步幅:

机器人的重心在一个步态周期中的平移为步幅。

木系统中步幅为6cm。

系统步幅参数也是可调的。

静态稳定性:

步态的生成策略则取决于机器人的步行稳定性,即在步态生成时必须进行稳定性分析。

对于多足机器人,在任何时候都要有足够多的腿立足于地面支撑机器人机体,才能确保它静态稳定地步行。

通常,至少需要三条这样的腿,并且由这三条腿的立足点构成的三角形必须包围机器人的重心垂直投影,机器人步行时,虽然这个三角形区域是不停变化的,但只要机器人重心投影始终在这个交替变化的区域内,则机器人的步行就是稳定的。

5.2运动学分析

5.2.1机器人结构分析

六足机器人机构待征及腿部机械尺寸

根据Grubler公式,机器人机体的运动自由度A=,其中”代表连杆数,丿代表关节数,代表第,个关节的自由度数,几=6代表运动参数。

机器人与地面的接触点可看为球关节,其余关节为旋转关节。

所以运动自由度^=6x(20-24-1)+3x6+1x18=60因此任何时候机器人的机动性不仅包括三维平动还包扌舌三维转动。

5.2.1机器人站力腿正运动学分析

上图给出了多足爬行机器人站立腿的结构示意图,图中A代表站立腿的立足点,色代表机器人机体上臀关节的连接点,厶代表第/个连杆的长度,其中八,、厶属于平面连杆机构,©、0和%代表驱动关节的位置(角度),而耳、Q和2代表被动关节的位置,工。

代表固定在地面上的参考坐标系,而》d代表固定在臀关节d上并使旋转轴线和Z轴重合的相对坐标系,仏和仏为4和B,在参考坐标系的位置矢量,脚关节模型化为三个相互正交的旋转关节以及两个连杆厶和人,一般而言,厶和厶都等于0。

脚上各连杆、机器人机体和地面间几何关系的数学描述是至关重要的,这些关系是通过坐标系来建立的。

齐次变换是解决此问题的重要手段,因为三维空间中的位置和方向可以通过齐次变化矩阵来描述。

以S和代代表坐标系工c

的原点位置和坐标系旋转矩阵即

原点位置化=。

儿,坐标系旋转矩阵

其屮Pc中兀、工和z代表工c的原点位置在工o中的三维坐标,7?

<中xc>。

儿和2代表相对于工。

中X、Y和Z轴的方向余弦构成。

于是,齐次变换込可表示为z几。

[01」

事实上,齐次变换矩阵可以通过平动齐次变换和旋转齐次变换导出,即

7;代]屮珂代]°1,其中⑴为3x3阶单位矩阵,进而,平动和旋.。

1JL01JL°L

转变换分别由和rot(ky6)表示,即

■rL■

trans(/\.)=:

rof(k,B)=川》°);,其屮R伙,0)为旋转算子,代表

■J■

坐标系绕坯由旋转&角度后得到的新坐标系的方位矩阵。

现在,对机器人站立状态的3号脚进行分析,首先令工色和工。

重合,然后从4到$进行平移和旋转变换,通过下述齐次变换得到工色最后的位置和方向:

TBi=transCxAi9yAi,°zA/)rot(z,0t)trans(O90,l5)trans(l4,0,0)

71

xrrazi5(0,0,ljrot(y,——)rof(z,0)

上式为站力腿的正运动学解,即臀关节工色的位置和姿态是由给定的关节角度确定的,由于臀关节轴是固定在机体上的,因此上式实际上给出了机器人机体的位置和姿态。

5.2.1机器人站力腿逆运动学分析

逆运动学指的是根据机器人的位置和姿态,计算机器人的驱动关节的变量值。

已知九八心和九,而驱动关节变量未知,根据矢量与坐标的变换关系,可得Pm=PBi+RJPAi,

腿的连杆平面与工色中Q平面是垂直的,设腿在工B(中小平面和Z轴上的厶=J

伸展长度为厶和0,有,根据几何关系容易得到

km(龙-0)=H/'S

Z=厶+厶cos%+/3cosg+乙)联立这两个方程组可得Misin©+匕2cos卩=如

Hi=l2sin+/3sin(^+/r.)一"[Z?

nsin^+Z?

^cosp.=bl3

其中41、®2、伟和勺i、勺2、勺3均为已知常量,令A=tan@/2)及(2=tan(p/2)得斤与匚的值。

最终得到?

,=2arCtanZ,o

/.=2arctanr2-2arctan

5.3本系统步态实现

5.3.1三角步态

三角步态是占地系数为0.5的波形步态,运动时候三条腿交替支撐前迈,“六足纲”昆虫运动时,是将三对足分成两组,以三角形支架结构交替前行。

如图1、

3、5为一组,2、4、6为一组。

当一组三角形支架中所有的足提起时,另一组三角形支架的三只足原地不懂,以支撑身体,并以中足为支点,拉动身体向前,同时机器人的重心落在另一组“三角形支架”的三足上,然后重复前一组的动作,相互轮换周而复始。

这种步态可以让机器人随时停下来,因为重心总是落在三角形支架内。

5.3.2定点转弯步态

以定点左转步态为例,设1、3、5为A组腿,2、4、5为B组腿,首先机器人做姿态调整,六条腿站立撐地,立足点不变。

接着B组腿摆动,A组腿支撑。

机器人做姿态调整,六条腿站立支撐,立足点不变,机身转动。

接着A组腿摆动,B组腿支撑,依次循环。

由于定点转弯步态的稳定性容易满足,机器人最大转角主要由机械机构来决定,木系统的默认转角是7度。

6作品展望

多足机器人之所以有存在的价值,就是因为他能够适应非结构环境,能够在崎岖不平的的恶劣路而上行走,这是他优于轮式和履带机器人的关键之处。

显然,如何设计多足机器人的腿(脚),使其能够适应复杂地面状况的运动,这是目前众多研究人员仍在研究的目标。

木作品因为没有安装足部的接触传感器,所以,并不能实现非平坦地而的行走,这是需要继续改善的一个方而。

为木系统建立友好的人机界而。

通过人机交互能够实时显示六足机器人的所有状态,并方便用户传达控制命令。

为各个部件建立即插即用的功能,并能够自动识别在步行机器人构型中的位置和功能,使机器人具有可重构性,即在不改变软硬件的情况下实现机器人的重新构型,这就要求系统能够自动进行识别。

使系统具有即插即用的可靠性即容错能力。

引入操作系统,增加了系统的可扩展性,随着开发的深入,机器人可能需要增加一些特别的能力,比如视觉模块,GPS(全球定位系统)模块等等。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 成考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1