六足爬行机器人系统设计 最后论文 - 图文

更新时间:2024-03-21 07:05:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

六足爬行机器人控制系统设计

目 录

摘 要 .................................................................................................................................. I ABSTRACT ............................................................................................................................ II 1 绪论 ................................................................................................................................. 1 1.1 课题研究的背景及意义 ..................................................................................... 1 1.2 机器人概述 ............................................................................................................. 1

1.2.1 机器人的定义 ...................................................................................................... 1 1.2.2 移动机器人 .......................................................................................................... 2 1.2.3 仿生机器人的简述 .............................................................................................. 4

1.3 国内外的研究状况 ............................................................................................... 4

1.3.1国外研究动态 ....................................................................................................... 4 1.3.2国内机器人研究动态 ........................................................................................... 5

1. 4 本章小结 ................................................................................................................ 6 2 六足爬行机器人步态规划 ....................................................................................... 7 2. 1 仿生学原理与步态生成 .................................................................................... 7 2. 2 本章小结 ................................................................................................................ 8 3 六足爬行机器人硬件控制系统设计 .................................................................... 9 3. 1 舵机的应用 ............................................................................................................ 9

3. 1. 1 舵机的类型及安装 ............................................................................................ 9 3. 1. 2 舵机的构造 ...................................................................................................... 10 3. 1. 3 舵机的控制方法 .............................................................................................. 11 3. 1. 4 舵机的工作原理 .............................................................................................. 12

六足爬行机器人控制系统设计

3. 2 伺服电机驱动电路的选择 .............................................................................. 14 3. 3 PC控制舵机 ........................................................................................................ 15 3. 4 本章小结 .............................................................................................................. 17 4 六足爬行机器人系统软件开发 ............................................................................ 17 4. 1 开发工具 .............................................................................................................. 18 4. 2 系统软件控制对象的控制原理 .................................................................... 18

4. 2. 1伺服电机控制原理 ........................................................................................... 18 4. 2. 2 mini USB 32伺服电机控制器工作原理 ......................................................... 19

4. 3 系统软件的开发 ................................................................................................ 20

4. 3. 1 MSComm控件属性设置 .............................................................................. 21 4. 3. 2 控制软件程序设计 .......................................................................................... 22

4. 4 本章小结 .............................................................................................................. 23 结论与展望 ...................................................................................................................... 24 毕业设计工作总结 ........................................................................................................ 25 致 谢 ............................................................................................................................... 26 参考文献 .......................................................................................................................... 27 附 录 ............................................................................................................................. 28

六足爬行机器人控制系统设计

六足爬行机器人控制系统设计

摘 要

随着社会的进步和科学的发展,机器人产品在人们的工作环境中发挥着越来越重要的作用,机器人也就成为目前国内外研究的热点课题,六足爬行机器人作为机器人的一个分支,其运动具有较强的稳定性,故而在军事运输、天文探测等领域就具有重要的意义,因此在国内外六足机器人均得到了广泛研究。本文研究的六足爬行机器人硬件系统主要是利用舵机,软件系统是利用visual basic实现,两者通过visual basic的MSComm控件实现串口通信,两者都具有运行简单,操作方便的功能,因而能容易的达到预期目标。最后,对本文的工作做了总结,指出了工作的成果及意义,并对今后的进一步工作进行了展望。

关键词 六足爬行机器人;visual basic;串口通信;舵机

I

六足爬行机器人控制系统设计

THE CONTROL SYSTEM DESIGN OF

HEXAPOD CRAWLED ROBOTS

ABSTRACT

Along with the progress of the society and the development of science, robot products play an increasingly important role in people's work environment .At home and abroad robots have become the hot topic. As a branch of the robot, the movement of hexapod crawled robots has strong stability, so it has an important meaning in military transport, astronomical detection and so on , and it also has been widely applied. In the paper its hardware system is mainly using the steering gear, and the software system is realized by visual basic. They realize serial communication through the MSComm control realization of visual basic .They all have operation simple, convenient operation function, and can therefore easy to reach expected objectives.Finally, the paper summarizes the achievements, points out the work and significance, and the further work for the future was prospected.

KEY WORDS hexapod crawled robots,visual basic ,serial communication,teering gear

II

六足爬行机器人控制系统设计

1 绪论

1.1 课题研究的背景及意义

机器人技术集机械、电子、计算机、材料、传感器、智能控制等多种技术于一体,代表了机电一体化技术的核心成就。目前许多国家都投入大量的人力物力对它的基础理论和应用技术进行了广泛的研究,机器人技术水平的高低和应用成就,在一定程度上体现了一个国家科技发展水平的高低,它的应用在很大程度上可以促进工业基础,特别是装备制造业技术水平和能力的提高。

近年来,随着人类对在复杂环境中既具备高移动能力,又具高可靠性,且易于扩展的移动平台日益迫切的需求,有相当多的研究探讨两足至多足机器人的应用,过去两足机器人多为轮型机构系统,其运动局限于二维平面,无法克服许多困难山区崎岖的地形[1]。因此,人类开始思考创造类似人类、昆虫、动物等运动模式的仿生爬行机器人。

仿生六足爬行机器人是一种基于仿生学原理研制开发的新型足式机器人[2]。与传统的轮式或履带式机器人相比,足式机器人自由度多、可变性大、结构复杂、控制繁琐,但其在运动特性方面具有独特的优点:首先是足式机器人具有较好的机动性,对不平地面的适应能力十分突出,由于其立足点是离散的,与地面的接触面积较小,因而可以在可能达到的地面上选择最优支撑点,从而能够相对容易地通过松软地面(如沼泽和沙漠)以及跨越比较大的障碍(如沟、坎、台阶等);其次是足式机器人的运动系统可以实现主动隔振,允许机身运动轨迹与足运动轨迹解藕。尽管地面高低不平,机身的运动仍可达到相当平稳;再次是在不平地面和松软地面上的行进速度较高,而能耗较少。正是由于上述特点,足式机器人正日益成为机器人技术领域的研究热点。

1.2 机器人概述

1.2.1 机器人的定义

(1)美国机器人协会(RIA)定义:一种用于移动各种材料、零件、工具或专用装置,通过可变程序动作来执行种种任务,并具有编程能力的多功能机械手。

(2)日本工业机器人协会(JIRA)的定义:一种装备有记忆装置和末端执行器(end-effecter)的,能够转动并通过自动完成各种移动来代替人类劳动的通用机器。

(3)国际标准化组织(ISO)的定义:机器人是一种自动的、位置可控的、具有编程能力的多功能机械手,这种机械手具有几个轴,能够借助于可变程序操作来处理

1

六足爬行机器人控制系统设计

2 六足爬行机器人步态规划

2. 1 仿生学原理与步态生成[17-18]

为满足仿生六足机器人平稳性的要求,六足机器人采用占空系数为1/2(即运动时三足支撑,另三足悬空)的三角步态 。 如图2-1(a)所示,机器人开始运动时,2、4、6三条腿抬起进行向前摆动的姿态准备,另外三条腿1、3、5处于支撑状态,支撑起机器人本体以确保机器人的重心位置始终处于三条支腿所构成的三角形内,使机器人处于稳定状态而不至于摔倒,摆动腿2、4、6抬起向前跨步(如图2-1(b)所示),支撑腿1、3、5一面支撑机器人本体,一面在舵机的作用下驱动机器人机体向前运动半步长s(如图2-1(c)所示)。在机器人机体移动结束后,摆动腿2、4、6立即放下,呈支撑态,使机器人的重心位置处于2、4、6三腿支撑所构成的三角形稳定区内,同时原来的支撑腿1、3、5抬起并准备向前跨步(如图2-1(d)所示),当摆动腿1、3、5向前跨步时(如图2-1(e)所示),支撑腿2、4、6此时一面支撑机器人,一面驱动机器人本体,使机器人机体向前行进半步长s(如图2-1(f)所示),如此不断循环往复,以实现机器人的向前运动,但是其行进轨迹并不是一条直线,而是z形。

六足仿生机器人步态除了三角步态以外还有一种不常见的六足步态,六足步态和三角步态的主要区别是三角步态中六个足都有竖直和水平两个自由度,而六足步态中只有前腿和后腿能前后移动,中间腿只有竖直方向一个自由度,因此当机器人采用这种步态行走时躯体很难稳定,会有较大幅度的摇摆,不利于机器人的越障。所以这种步态只有少数自由度数较少的机器人才会采用,以实现其基本运动。

图2-1 直线行走时的步态

本文还设计了一种机器人转弯步态,见图2-2。以机体中心为旋转中心的旋转方

7

六足爬行机器人控制系统设计

式即中心转轴步态主要是这样的,以机器人向右90度转向为例:机器人在静止状态下六个足端点的分布(俯视图)如图2-2 所示。把左面三足分别命名为L1、L2、L3,右面三足分别命名为R1、R2、R3。采用中心转轴步态原地右转弯90度,首先L1、L2、L3 三条腿抬起并向右旋转,而R1、L2、R3 三条腿支撑地面;待L1、R2、L3 落地后,R1、L2、R3 再抬起向右旋转,落地,如此循环。每个动作周期机器人原地旋转22.5°,将此过程重复四次,就完成了右转弯90°的动作。L1 足端将最终落在(L1)位置处,其余足端类似。

图2-2 中心轴步态示意图

2. 2 本章小结

本章主要介绍了六足爬行机器人运动时的步态。

8

六足爬行机器人控制系统设计

3 六足爬行机器人硬件控制系统设计

在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。 舵机可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口。

舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。目前在高档遥控玩具,如航模,包括飞机模型,潜艇模型。遥控机器人中已经使用得比较普遍。舵机是一种俗称,其实是一种伺服马达。

舵机有着如下的优点:大扭力、控制简单、装配灵活、相对经济,但它亦有着先天的不足:首先它是一个精细的机械部件,超出它承受范围的外力会导致其损坏,其次它内藏电子控制线路,不正确的电子连接也会对它造成损毁,因此,很有必要在使用前先了解舵机的工作原理,以免造成不必要的损失。

3. 1 舵机的应用

3. 1. 1 舵机的类型及安装

舵机是遥控模型无线电操纵系统中很重要的部件。如果不了解它的性能,不讲究正确的安装方法,轻则影响模型的飞行姿态,重则如果卡住模型则无法操纵,造成事故的发生。所以,在使用舵机前,了解它的性能和安装方法是必要的。目前市场上出售的模型舵机,主要是比例式的,类型有普通型、超小型,强力型和特殊用途型等几种。下面分别介绍一下它们各自的性能。

普通型:

45 克,0.2 秒/60 度,力矩 3 千克·厘米。这种舵机各方面性能都比较适中,一般用在尺寸不是很大的 P3A-1、2 和 P2B-1、2等模型上。

超小型:

20克,0.15 秒/60度,力矩2千克·厘米。它的体积小、重量轻,输出力矩小,通常用于小尺寸、舵面阻力相对小的模型上,如 P5A、小型电动类模型等。

强力型:

100克,0.2秒/60 度,力矩9千克·厘米。这种舵机输出力矩大,可以克服高速、大舵面带来的阻力大的缺点。主要用于尺寸和飞行重量大,速度快,舵面阻力大的模型,如 F3A、大型仿真飞机模型、现代特技飞机模型、喷射模型飞机和 F4 级模型等。

9

六足爬行机器人控制系统设计

特殊用途型:

多数特殊用途的舵机,其性能与强力型相似。通常用于专项任务,如收索机 (帆船)、起落架蛇机等。另外,还有—些耐高温和可防水的舵机,主要用于科学研究和工业方面,一般模型很少采用,但近年来这种舵机随着模型产品的发展在民用模型领域发展迅速。

—般的舵机内部的电路和齿轮等零件都是很精细的,自己较难制作,多采用成品舵机。日产成品舵机品质较好,剩余功率大,不易打齿、比较耐用。国产舵机质量有的也不错。安装舵机也很重要,安装方法主要有三种:

(1)用胶直接把舵机粘在模型上。要求粘接技术较高,不能更换,通常用于一些简单模型。

(2)对好舵机两边的安装孔,用螺钉固定。这种方法的好处是容易更换。 (3)利用配套的固定片及减震片固定。对于装大容积内燃机的模型,为了减少振动对舵机的损害,多采用这种方法。

舵机的安装位置应尽量靠近模型的重心。有条件时,舵机和接收机应尽量分别使用电源。电源电压不足时,应立即更换,以免舵机操纵失灵导致空中停机。舵机输出盘(摇臂)不同的角度和力臂孔,应尽量选择力臂大的,这样可以减小舵机负荷。输出盘与舵面,可以专用联杆或钢丝连接,前者效果较好。

3. 1. 2 舵机的构造

舵机主要是由外壳、电路板、无核心马达、齿轮与位置检测器所构成。其工作原理是由接收机发出讯号给舵机,经由电路板上的 IC 判断转动方向,再驱动无核心马达开始转动,透过减速齿轮将动力传至摆臂,同时由位置检测器送回讯号,判断是否已经到达定位。位置检测器其实就是可变电阻,当舵机转动时电阻值也会随之改变,藉由检测电阻值便可知转动的角度。一般的伺服马达是将细铜线缠绕在三极转子上,当电流流经线圈时便会产生磁场,与转子外围的磁铁产生排斥作用,进而产生转动的作用力。依据物理学原理,物体的转动惯量与质量成正比,因此要转动质量愈大的物体,所需的作用力也愈大。舵机为求转速快、耗电小,于是将细铜线缠绕成极薄的中空圆柱体,成一个重量极轻的五极中空转子,并将磁铁置於圆柱体内,这就是无核心马达,如图3-1所示。

10

六足爬行机器人控制系统设计

图3-1 舵机的结构

3. 1. 3 舵机的控制方法

标准的舵机有3条导线,分别是:电源线、地线、控制线,如图3-2所示。

图3-2 标准舵机

电源线和地线用于提供舵机内部的直流电机和控制线路所需的能源。电压通常介于4—6V,一般取5V。注意,给舵机供电电源应能提供足够的功率。控制线的输入是一个宽度可调的周期性方波脉冲信号,方波脉冲信号的周期为20ms(即频率为50 Hz)。 当方波的脉冲宽度改变时,舵机转轴的角度发生改变,角度变化与脉冲宽度的变化成正比。某型舵机的输出轴转角与输入信号的脉冲宽度之间的关系可用图3-3来表示。

11

六足爬行机器人控制系统设计

图3-3 舵机输出转角与输入信号脉冲宽度的关系

舵机的电源引线:电源引线有三条,舵机三条线中橙色的线是控制线,接到控制芯片上;红色的线是舵机工作电源线,一般工作电源是5V;黑色的线是地线。如图3-4所示。

图3-4 舵机电源引线

3. 1. 4 舵机的工作原理

控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1. 5ms 的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过多级减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。当然我们可以不用去了解它的具体工作原理,知道它的控制原理就够了。就像我们使用晶体管一样,知道可以拿它来做开关管或放大管就行了,至于管内的电子具体怎么流动是可以完全不用去考虑的

小型舵机的工作电压一般为4. 8V或6V,转速也不是很快,一般为 0. 22/60 度 或 0. 18/60 度,所以假如你更改角度控制脉冲的宽度太快时,舵机可能反应不过来。 如果需要更快速的反应,就需要更高的转速了。

要精确的控制舵机,其实没有我们想的那么容易,很多舵机的位置等级有1024个。如此说来,如果舵机的有效角度范围为180度的话,其控制的角度精度是可以达到180/1024度约0.18度了,从时间上看其实要求的脉宽控制精度为 2000/1024us 约

12

六足爬行机器人控制系统设计

2us。如果你拿了个舵机,连控制精度为 1 度都达不到的话,而且还看到舵机在发抖。在这种情况下,只要舵机的电压没有抖动,那抖动的就是你的控制脉冲了。使用传统单片机控制舵机的方案也有很多,多是利用定时器和中断的方式来完成控制的,这样的方式控制1个舵机还是相当有效的,但是随着舵机数量的增加,也许控制起来就没有那么方便而且可以达到约 2 微秒的脉宽控制精度了。

图3-5 TowerPro—MG995

国内市场上常见的微型伺服电机主要是JR、Futaba和辉盛三个品牌。 JR和Futaba品牌是日本生产的,价格相对较高,各方面性能较好;辉盛品牌为国内厂家制造,价格相对低廉。 但是,运动精度与速度以及稳定性,辉盛系类的微型伺服电机稍逊一筹。 另外,不同品牌的微型伺服电机的接头和正逆转的方向也有所不同 。JR 的伺服电机都是以 4. 8V 为测试电压,Futaba则是以 6. 0V 作为测试电压。速度快、扭力大的伺服电机,除了价格贵,还会伴随著高耗电的特点。对于应用于六足仿生机器人的微型伺服电机的要求,需要微型伺服电机具有体积小、重量轻、扭力大的特点。 不同品牌的微型伺服电机性能各有不同,见表3-1。

表3-1 伺服电机技术参数

品牌、类型 Futaba(s3801) Futaba(s5801) JR(NES-605) JR(NES-4721) 辉盛 (Tower Pro—MG995) 辉盛(Tower Pro—MG996R)

重量(g) 工作电压(V) 107 83 145 49 55. 2 55. 2

6 7. 2 4. 8 4. 8 4. 8~7. 2 4. 8-7. 2

无负载速度

扭力(Kg/cm) 结构尺寸(mm)

(sec/60°)

0. 26 0. 5 0. 28 0. 22

14 9. 8 10 8. 6

59. 2×28. 8×49. 8

46×25×44 63. 5×32×53. 5 39×19×33

0. 24(6. 0V) / 13. 0(6. 0V) / 15.

40. 6×19. 8×37. 8

0. 2(7. 2V) 0(7. 2V) 0. 17(4. 8V) 9. 0(4. 8V)/10.

40. 7×19. 7×42. 9

/0. 14(6V) 5(6V)

根据相关参考资料,利用微型伺服电机驱动关节机器人,通常扭矩为 3. 1 kg/cm 的伺服电机可以驱动 0. 45kg 的机器人。 TowerPro—MG995 型伺服马达最大扭矩为 15 kg/cm,故必须使机器人质量控制在 2. 15kg 之内。TowerPro—MG995的扭力在几个品牌中是最大的,并且工作电压的范围较为宽泛,重量虽然不是最轻的,但是它体

13

六足爬行机器人控制系统设计

积相对较小,性价比最优。最后决定选用 TowerPro—MG995 型微型伺服电机作为关节驱动元件。TowerPro—MG995如图3-5,技术参数见表3-1。

3. 2 伺服电机驱动电路的选择

六足仿生机器人伺服电机驱动电路的要求:

(1) 对伺服电机的供电必须输出稳定,且电流足够驱动12个伺服电机。 (2) 驱动电路输出的驱动信号稳定,以便伺服电机能够正常工作不产生抖动。 (3) 结构紧凑,体积小,物理性能稳定。 驱动电路的方案有两种:

a. 独立设计驱动电路或直接对MCU进行编程,使MCU产生控制伺服电机PWM 信号,利用程序改变PWM信号的脉宽,从而改变伺服电机的状态。

这种方式的优点是,可以使得主控电路与伺服电路最大化的集成,得到的电路规模为最小,给电路板在机器人身上的安装带来直接的便利,而且减少的机器人的总体重量。 机器人的伺服电机可以选择较小扭力的伺服电机。 缺点是:程序的规模较大,给调试带来较大的麻烦,使程序设计者不能把全部的精力用来规划机器人的运动。 机器人的程序规模变大,直接导致程序的不稳定。 在多个伺服电机同时工作状态和多个伺服电机的速度要协调的状态下,程序的编制尤为困难和繁杂。

b. 选择产品化的伺服电机控制器,通过与主控制器的通信来实现对伺服电机的 高效控制。

这种控制方式的优点是,可以方便的实现多个伺服电机的协调优化控制,较为轻松的达到多个伺服电机的同时启停的控制。 使程序的规模有相当大的精简,以往需要几十行的或者更多的程序,通常短短的几个控制字符就可以轻易的实现。 并且控制精度也有相当的提高。 程序设计者可以把丰富的精力用来研究机器人的动作规划。 缺点是,电路板的规模会有一定的提高,给电路板的安装带来一定麻烦。

综合各个方面的因素,决定选用第二种方式。

伺服电机驱动器采用mini USB 32微型伺服电机控制器。 这是一款功能较强、体积较小的微型伺服电机控制器。它有着很高的位置精度以及运动精度。结构如图3-6。

14

六足爬行机器人控制系统设计

1 、mini USB接口 2、TTL串口跳线 3、比特率设置 4、对外5V供电接口 5、4路输入接口 6、舵机信号接口

7、舵机电源正极 8、舵机电源负极 9、舵机供电 10、控制板电源(7V-12V)

图3-6 mini USB 32路舵机控制器

其主要特性有:

1、采用32位高速CPU,处理速度更快,控制更精确,运行更稳定。

2、自动识别波特率(9600,19200,38400,57600,115200,12800自动识别)。 3、真正的脱机运行(例如发送\带回车,舵机控制器上电之后自动运行第1,3,4,5,6,7个动作组,循环执行100次,性能稳定,添加500个动作组也完全没问题)。

4、USB与TTL串口采用不同的IO口分开处理,绝对没有任何干扰。 5、动作组执行完都会返回一个“AGF”,这样大家检测动作组有没有执行完毕,以便执行其他命令。

可以同时控制多达32个伺服电机协调动作,具有位置控制以及速度控制,既可以用PC机上的软件来控制,也可以通过MCU(51、AVR、ARM、FPGA、PIC等)中的UART通讯(TTL电平的串口)发命令来控制舵机,也可以将PC机上的软件产生的指令代码下载到伺服电机控制器,实现脱机运作。

通过PC机操作上位机软件给控制器传递控制指令信号,即可实现多路伺服电机单独控制或同时控制。也可以用带串口的微处理器作为上位机组合使用,控制指令精简,控制转角精度高,波特率可以实时更改,体积小,重量轻,其可作为类人型机器人、仿生机器人、多自由度机械手的主控制器。

3. 3 PC控制舵机

15

六足爬行机器人控制系统设计

1 将舵机控制器PC连接好,并加上5V的电压,注意电源的正负极。 2 安装舵机控制器的驱动程序,如图3-7。

图3-7 驱动程序安装按钮

3 查看舵机控制器与PC机相连的端口。如下图3-8所示为COM3。

图3-8 端口设置

4 将舵机与舵机控制器连接好,将1500对应的位置设为舵机启动的初始位置,

然后把零件组装在一起。

5 启动舵机控制软件,选择COM3端口,并连接,然后调整BOX,如图3-9所示。

图3-9 32舵机控制器舵机位置图

16

六足爬行机器人控制系统设计

6 启动VB6.0,添加MSComm控件,修改其属性,如图3-10。

图3-10 属性设置

7 在VB上编写程序,控制舵机运动。

3. 4 本章小结

本章主要介绍了舵机的基本知识,选择了TowerPro—MG995伺服电机作为驱动装置和型号为mini USB32 路舵机控制器,以及VB如何实现对舵机的控制。经过加工,最终完成的试制物理样机,如图3-11。

图3-11 六足爬行机器人实物

17

六足爬行机器人控制系统设计

4 六足爬行机器人系统软件开发

4. 1 开发工具

Visual Basic是Microsoft公司推出的一套完全独立的Windows应用程序开发系统,可应用于Windows环境下的各种应用程序。VB是一种可视化、面向对象、采用事件驱动方式的结构化高级程序设计语言,简捷易用,开发效率高,而且功能强大。 利用VB事件驱动的编程机制和新颖的可视化设计工具以及Windows内部应用程序接口(API)函数,采用动态链接库(DLL) 动态数据交换(DDE)、对象链接嵌入(OLE)以及开放式数据库访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件。其MSComm控件是开发串口通信的便捷工具。

MSComm控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。 MSComm控件提供下列两种处理通讯方式:

事件驱动通信是处理串行端口交互作用的一种非常有效的方法。 在许多情况下,在事件发生需要得到通知。

在程序的每个关键功能后,可以通过CommEvent属性的值来查询时间和错误。 如果应用程序较小,并且是自保持的,这种方法是可取的。

每个使用的MSComm控件对应着一个串行端口。 如果应用程序需要访问多个串行端口,必须使用多个MSComm控件。 可以在Windows“控制面板”中改变端口地址和中断地址。

4. 2 系统软件控制对象的控制原理

系统软件的控制对象为:伺服电机、伺服电机控制器。它们的控制关系为递进关系。首先系统软件控制串口发送控制字节到mini USB 32伺服电机控制器,mini USB 32伺服电机控制器发出PWM信号到伺服电机,伺服电机根据驱动信号运转相应的角度。

4. 2. 1伺服电机控制原理

伺服电机是一个典型闭环反馈系统,如图4-1所示。 控制脉冲 图4-1 伺服电机原理

18

控制电路 马达 齿轮组 比例电位器 六足爬行机器人控制系统设计

伺服电机的主要工作原理在第三章已经介绍过了,需要指出的是,本次设计采用的是用专业的伺服电机控制器来直接驱动伺服电机。这种方法归根结底来说还是单片机控制伺服电机,所不同的是控制伺服电机的所以方法都被固化于单片机内。可以通过对伺服电机控制器的简单控制字节产生伺服电机所需要大量变化的PWM信号。

4. 2. 2 mini USB 32伺服电机控制器工作原理

mini USB 32的物理特性已经在第二章做过介绍,这里主要针对mini USB 32的控制特性作说明。

mini USB 32具有高效的控制伺服电机的能力。它不但可以很轻松地实现单个舵机的速度、位置等控制,还可以通过单个字符控制多个舵机的协调运动。每个动作的控制只用一个字符的ASCⅡ就足够了,而以往的单片机编程控制来说则需要至少几十行的程序工作。mini USB 32的指令输入必须以回车键(ASCⅡ13)字符作为一个连贯的命令输入,在没有收到ASCⅡ13字符时,mini USB 32接收到的指令不会被执行。 不同类型的的命令不能出现在同一命令组中。另外,mini USB 32所有的命令的数据必须是ASCⅡ的字符串,其中一些指令接受负数数据。mini USB 32对ASCⅡ的格式不敏感,可以根据需要使用其他字符如:空格、换行、等,增加控制程序的可读性,它们不会被系统识别。

指令格式

# P S . . . # P S T

=脉冲宽度(舵机位置) ,范围500 -2500。 单位 us(微秒) =移动速率 每秒移动脉脉冲宽度 单位 us/s 仅对一路舵机有效。

#5 P1600 S750 注: 为ascii 13(回车) 移动舵机号5 到 脉宽 1600us 速率为 每秒改变脉宽750 微秒

#5 P1600 #10 P750 T2500 注: 为ascii 13(回车) 移动舵机号5 到 脉宽 1600us 移动舵机号10 到 脉宽 750us 使用时间为

19

六足爬行机器人控制系统设计

2500ms。

无论前面舵机的位置是多少,5 号和10 号舵机 都将花2500ms 移动到指定位置,此时舵机的移动速度依赖于前一个舵机位置和要移动到的位置决定,5 号和 10 号舵机将同时完成动作。

注: T 可以对前面所有舵机有效 除了有S 参数的舵机号。 #5 P1600 #10 P750 #12 P1700S500 T2500

5 号和10 舵机是使用2. 5S 完成移动 12 舵机的速度取决于他的开始位置,但是速度不能超过S500,2. 5秒后无论12 舵机在什么位置都将停止。

4. 3 系统软件的开发

所开发的控制系统是利用VB6. 0开发的,主要是利用MSComm控件进行串口程序的开发。系统软件结构图,如图4-2所示。

开始 初始化 左转按钮? Y 运行 N 结束按钮? Y 结束 N 其他按钮? Y 运行 图4-2 系统软件机构图

开发的控制系统软件界面,如图4-3所示。在此界面中,

为计时器,每一个

计时器对应一个方向按钮,所有计时器初始状态为无效。点击开始按钮,串口通信端

20

六足爬行机器人控制系统设计

口有效,机器人进入初始状态;点击左转按钮时,与之对应的计时器有效,机器人向左运动;点击暂停按钮,计时器无效,机器人暂停;点击结束按钮,程序结束,机器人停止运动,重新进入初始状态;其它方向按钮与左转按钮的工作原理类似。

图4-3 系统软件界面

4. 3. 1 MSComm控件属性设置

使用VB的MSComm控件作通信控制的步骤: 加入MSComm对象。

设定通信端口号码,即MSComm。 设定通信协议,即HandShaking属性。 设定传输速度等参数,即Settings属性。 设定其他参数,若必要时再加上其他属性设定。 开启通信端口,即将PortOpen属性设定为TRUE。 使用完MSComm通信对象后,将通信端口关闭。 MSComm的属性设置如图4-4所示。

21

六足爬行机器人控制系统设计

图4-4 MSComm的属性设置

4. 3. 2 控制软件程序设计

设置舵机的初始位置:

#16P2000 #0P1000 #18P1400 #2P1600 #20P1500 #4P1500 #22P1400 #6P1600 #24P1000 #8P2000 #26P1400 #10P1500

伺服电机控制端口的定义:

#16左前腿旋转,#18左前腿上下,#20左中腿旋转,#22左中腿上下,#24左后腿旋转,#26左后腿上下#0右前腿旋转,#2右前腿上下,#4右中腿旋转,#6右中腿上下,#8右后腿旋转,#10右后腿上下

点击开始按钮程序进入初始化程序如下: MSComm1. PortOpen = True

MSComm1. Output = \#0P1000 #18P1400 #2P1600 #20P1500 #4P1500 #22P1400 #6P1600 #24P1000 #8P2000 #26P1400 #10P1500 T1000\

Command6. Enabled = False

选择所要运动的方向的按钮,比如前进、后退等。 左转程序分析:

(1)22、2、10 抬起,0、8 向前,20向后

MSComm1. Output = \#2P1900 #4P1500 #6P1600 #8P2300 #10P1900 #16P2000 #18P1400 #20P1800 #22P1100 #24P1000 #26P1400 T1000\

(2)22、2、10 落下

MSComm1. Output = \#2P1600 #4P1500 #6P1600 #8P2300 #10P1600

22

六足爬行机器人控制系统设计

#16P2000 #18P1400 #20P1800 #22P1400 #24P1000 #26P1400 T1000\

(3)18、6、26 抬起,4向前,16、24 向后

MSComm1. Output = \#2P1600 #4P1800 #6P1900 #8P2300 #10P1600 #16P2300 #18P1100 #20P1800 #22P1400 #24P1300 #26P1100 T1000\

(4)0、8、20 恢复初始位置(重心左偏)

MSComm1. Output = \#2P1600 #4P1800 #6P1900 #8P2000 #10P1600 #16P2300 #18P1100 #20P1500 #22P1400 #24P1300 #26P1100 T1000\

(5)18、6、26 落下

MSComm1. Output = \#2P1600 #4P1800 #6P1600 #8P2000 #10P1600 #16P2300 #18P1400 #20P1500 #22P1400 #24P1300 #26P1400 T1000\

(6)22、2、10 抬起,0、8向前,20向后

MSComm1. Output = \#2P1900 #4P1800 #6P1600 #8P2300 #10P1800 #16P2300 #18P1400 #20P1800 #22P1100 #24P1300 #26P1400 T1000\

(7)16、4、24恢复初始位置(重心左偏)

MSComm1. Output = \#2P1900 #4P1500 #6P1600 #8P2300 #10P1800 #16P2000 #18P1400 #20P1800 #22P1100 #24P1000 #26P1400 T1000\

然后接着(2)开始循环,通过程序的调试使其稳定的左转,达到规划的稳定步态。

4. 4 本章小结

本章介绍了利用VB6.0开发系统软件的全过程,伺服电机和mini 32路伺服电机控制器的控制原理与控制方法,以及利用串口通信对六足仿生机器人进行控制的原理以及程序的设计和调试。经过物理样机的反复调试最终实现了六足爬行机器人前进、后退、左转、右转的稳态运行。

23

六足爬行机器人控制系统设计

结论与展望

(1)设计成果:

1、设计制作了一台小型六足仿生机器人,该机器人长260mm,高130mm,宽270mm,每只腿上有两个自由度,通过串口通讯发送控制字符,实现机器人的运动试验。

2、通过物理样机的调试,验证了所规划运动姿态的可行性,获得了设计、控制和调试六足仿生机器人的直接经验,为以后的研究工作积累了必要的技术储备。

(2)后续研究工作展望:

本次课题的完成构建了六足仿生机器人的物理样机,虽然取得了一定的成果,但是,还属于初步研究,今后要在以下方面取得改进和进一步的研究。

1. 结构的进一步优化和选材的改进。

改进制作机器人的材料,选用更轻巧坚固的材料,使机器人的重量减轻;选择更加紧凑的结构配置,使得机器人的物理样机性能更加坚固、稳定、美观。

2. 驱动方式的改进。

本次课题完成的机器人是外接电源供电的。 下步的研究应该使机器人的电源内置与机器人本体当中。 只有机器人本体脱离了电源线的限制,才能实现机器人的大范围自主活动,但是自带电源的容量有限制了机器人的活动时间。

3. 增加机器人的功能。

如运用六维力传感器、摄像头、红外传感器等,增加机器人对外部信息的搜集和处理能力,使得机器人具有自主识别环境的能力,在识别的基础上,根据客观环境的变化自主地选择合适的步态和行进的路径。 随着传感器系统的建立,使机器人具有语音识别能力和图像的识别能力。不断完善程序,使其具有绘图、写字等简单的功能。

24

六足爬行机器人控制系统设计

毕业设计工作总结

毕业设计可以说是对我大学四年学习成果的考核和总结,通过开题以来半年多的努力,在孟凯老师和其他同学的热心帮助下,毕业设计工作比较成功,最终完成这次大学四年里最后的设计实践,也使我的个人科研能力获得了较大的提升。

开题之初,我通过查阅相关的文献资料,了解了当今机器人技术的发展状况,对自己所从事的课题有了更深入的了解。在查阅大量相关文献当中,逐步培养了自己的信息检索能力。检索信息能力的加强,对研究工作有着巨大的帮助,使得研究效率大步提高。随着对研究六足仿生机器人所具备能力了解,愈发感觉到自己能力的欠缺。 一个六足爬行机器人系统是一个相对复杂的机电一体化系统,需要机构设计、电气控制、控制策略、运动学的规划、动力学的分析等多方面的知识。

通过一段时间艰苦的学习,我基本掌握了机电产品的设计方法和调试问题的处理,具备了机电产品的基本研发能力。首先,基本掌握了六足爬行机器人各种运动形态的步法。其次,对控制系统、驱动系统的设计、调试具备了一定的全局把握能力,不再局限于单一局部细节,而是把整个机器人的各个子系统作为一个有机的系统来分析处理。这种全局的观念在机电一体化系统的设计当中显的尤为重要。最后,掌握了一些机电系统调试的方法。由理论计算、系统设计、计算机仿真到最终的物理样机的调试,这一系列的锻炼使得个人的设计能力、分析处理相关问题的能力得到了很大的提高。

在整个毕业设计中,既让我懂得了怎样把理论应用于实际,又让我懂得了在实践中遇到的问题怎样用理论去解决,它更是综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节。

25

六足爬行机器人控制系统设计

致 谢

毕业设计是对我们只是运用能力的一次全面的考核,也是对我们进行科学研究基本功的训练,培养我们综合运用所学知识独立地分析问题和解决问题的能力,为以后撰写专业学术论文和工作打下良好的基础。

本设计的完成是在我们的孟凯老师和王新莉老师的细心指导下进行的。在每次设计遇到问题时老师不辞辛苦的讲解才使得我的设计顺利的进行。从设计的选题到资料的搜集直至最后设计的修改的整个过程中,花费了孟老师很多的宝贵时间和精力,在此向导师表示衷心地感谢!导师严谨的治学态度,开拓进取的精神和高度的责任心都将使学生受益终生!

还要感谢和我同一设计小组的几位同学,是你们在我平时设计中和我一起探讨问题,并指出我设计上的误区,使我能及时的发现问题把设计顺利的进行下去,没有你们的帮助我不可能这样顺利地结稿,在此表示深深的谢意。

26

六足爬行机器人控制系统设计

End Sub '后退

Private Sub Timer4_Timer() Static d As Integer d = d + 1 Select Case d Case 1

MSComm1.Output = \#0P700 #18P1500 #2P1900 #20P1800 #22P1100 #6P1600 #24P1300 #8P1700 #26P1400 #10P2100 T1000\Case 2

MSComm1.Output = \#0P700 #18P1500 #2P1900 #20P1800 #22P1100 #6P1600 #24P1000 #8P1700 #26P1400 #10P2100 T1000\Case 3

MSComm1.Output = \#0P700 #18P1500 #2P1450 #20P1800 #22P1400 #6P1600 #24P1000 #8P1700 #26P1400 #10P1610 T1000\Case 4

MSComm1.Output = \#0P700 #18P1100 #2P1450 #20P1800 #22P1400 #6P1900 #24P1300 #8P1700 #26P1100 #10P1610 T1000\Case 5

MSComm1.Output = \#0P1000 #18P1100 #2P1450 #20P1500 #22P1400 #6P1900 #24P1300 #8P2000 #26P1100 #10P1610 T1000\Case 6

MSComm1.Output = \#0P1000 #18P1500 #2P1450 #20P1500 #22P1400 #6P1600 #24P1300 #8P2000 #26P1400 #10P1610 T1000 \End Select

If d = 6 Then d = 0 End Sub

#4P1200

#4P1500

#4P1500

#4P1200

#4P1200

#4P1200

32

本文来源:https://www.bwwdw.com/article/bdw8.html

Top