




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I摘要本文详细介绍了六脚爬虫机器人的机械结构以及控制程序的编写。机械结构采用了对称式设计,结构简单;其行走功能由六只脚、18 个舵机实现,自由度较高,稳定性、灵活性较好。控制程序的主体是 C 语言。包括基本步态的编写,以及传感器的在机器人上的高级应用,这样,机器人在满足基本行走运动的同时,也能感知外界环境,并通过控制器对接收到的外界信号进行处理,并控制机器人运动。关键词: 对称式结构,舵机控制器,步态,传感器IIAbstractThe thesis describes in detail that the mechanic design of Hexcrawler and the compiling of control program.The structure of the robot is in symmetric expression, a simple mechanism; the function of walking is supported by six legs, and eighteen motors, with multiple degrees of freedom. Besides, it is of high stability and flexibility. The program to control the robot is written in C language, including basic gait, the advanced application of sensors. Thereby, the robot can walk in several gaits. At the same time, it can sense the condition around it. Then, it will process the data it received, and control the motion of the robot.Keywords: symmetric expression,PSCU, gait, sensorIII目录摘要 IAbstractII目录 III1 绪论 - 1 -1.1 课题来源 - 1 -1.2 本课题的目的及其意义 - 1 -1.3 国内外发展现状 - 1 -1.4 本课题的研究内容 - 5 -2 机械结构设计介绍 - 6 -2.1 功能需求与分析 - 6 -2.2 材料选择与结构设计介绍 - 6 -3 舵机控制板原理与应用 - 9 -3.1 舵机原理介绍 - 9 -3.2 舵机控制板原理介绍 - 10 -3.3 如何使用舵机控制板 - 12 -3.4 控制板程序编写 - 14 -4 STM32 开发板介绍与程序编写 - 18 -4.1 STM32F107 芯片简介 - 18 -4.2 软件与编程初始准备 - 18 -4.3 GPIO 与 AFIO 设置与应用 - 18 -4.31 GPIO 设置与应用18 4.32 AFIO-I/O 口重映射.22 IV4.4 USART 设置与应用 - 22 -4.5 外部中断设置与应用 - 26 -4.6 系统时钟设置与应用 - 29 -4.61 系统时钟简介与应用29 4.62 定时器配置31 4.7 机器人行走步态程序编写 - 32 -4.71 机器人行走步态简介33 4.72 三脚步态.35 4.73 四脚步态.37 4.74 单脚(波动)步态384.75 转弯与横爬步态.404.8 多传感器应用与程序编写 - 43 -4.81 指南针传感器.434.82 红外、光敏传感器.454.83 柔性力传感器.464.84 温湿度、发声、射频识别(RFID)传感器484.85 无线(Zigbee)传感器494.86 超声传感器525 总结 - 55 -致谢 - 56 -参考文献 - 57 - 1 -1 绪论1.1 课题来源本项目来源于华中科技大学与伍斯特理工学院合作的 WPI 项目。1.2 本课题的目的及其意义机器人是高级整合控制论、机械电子、计算机、材料和仿生学的产物。现在,机器人已经发展到一个全新阶段,各种机器人应运而生,从简单地追求功能到神似,到个性化;从单单发展工业机器人到工业、家用机器人全面开花,并取得了长足进步。六脚机器人作为行走机器人的一种,具有结构简单,稳定性好等优点,而本课题也并未在很高深的机器人理论花大量功夫,而更多地着眼于为大专院校提供机器人教学平台,或者用于科技馆展览。本课题所设计的机器人最大的特点是:理论通俗易懂、操作方便、便于二次开发。对于一些入门者(初步掌握控制论、机械设计、机械电子只是)来说,很容易便能被引领入机器人研究的殿堂。1.3 国内外发展现状对于仿生机器人,尤其是多足机器人,国内外均有大量研究。1990年,美国卡内基梅隆大学研制出用于外星探测的六脚步行机器人AMBLER。该机器人采用了新型的“腿机构“,并由一台32位的处理机来规划系统运动路线、制运动和监视系统的状态。但由于体积和质量太大,最终没被用于行星探测计划。1993年,卡内基梅隆大学开发出有缆的八足步行机器人DANTE,用于对南极的埃里伯斯火山进行了考察,其改进型也在实际中得到了应用。1994年二代- 2 -对距离安克雷奇145km的斯伯火山进行了考察,并传回了各种数据及图像。日本对多足步行机的研究从20世纪80年代开始,并不断进行着技术创新,随着计算机和控制技术的发展,其机械结构由复杂到简单,其功能由单一功能到组合功能,并已研究出各种类型的步行机。主要有四足步行机、爬壁机器人、腿轮分离型步行机器人和手脚统一型步行机器人。1994年,日本电气通信大学的木村浩等研制成功四足步行机器人Patrush二代。该机器人用两个微处理机控制,采用直流伺服电机驱动,每个关节安装了一个光电码盘,每只脚安装了两个微开关,采用基于神经振荡子模型CPG的控制策略,能够实现不规则地面的自适应动态步行,显示了生物激励控制对未知的不规则地面有自适应能力的特点。20002003年,木村浩等又研制成功四足步行机器人Tekken。该机器人用一台PC机系统控制,用瑞士 Maxon直流伺服电机驱动,能适应中等不规则表面的自适应步行。我国对于多足机器人的研究起步则较晚。1989年,北京航空航天大学在张启先教授的指导下,孙汉旭博士进行了四足步行机的研究,试制成功一台四足步行机。钱晋武博士研究地壁两用六脚步行机器人,并进行了步态和运动学方面的研究。1990年中国科学院沈阳自动化研究所研制出全方位六脚步行机,不仅能在平地步行,还能上楼梯。1991年,上海交通大学马培荪等研制出JTUWM 系列四足步行机器人。2000年,马培荪等对第一代形状记忆合金SMA驱动的微型六脚机器人进行改进,开发出具有全方位运动能力的微型双三足步行机器人其每条腿的自由度变为3 个自由度。2003年哈尔滨工程大学的孟庆鑫、袁鹏等进行了两栖仿生机器蟹的研究,通过研究多足步行机的单足周期运动规律,提出适合于两栖仿生机器蟹的单足运动路线规划方法,建立了生成周期运动的神经振荡子模型。目前市场上几款六脚机器人对比如下:- 3 -(一)DEPUSH HexCrawlerHexCrawlerCompany DEPUSHMaterial 5052 alloy aluminum, 1/16” thick with clear anodizingLeg Movement 2 DOFDimensions Body: 49.68 x 40 cm, Height: between 12.3 and 15.2 cmCost $350+(二)Lynxmotion RB-Lyn-248RB-Lyn-248Company LynxmotionMaterial 5052 alloy aluminum, 1/16” thick with black anodizingLeg Movement 3 DOFDimensions Body: 19.1 x 14.9 cm, Height: between 5.1 and 13.3 cm, Ground Clearance: up to 8.9 cmCost $261.35+(三)HexCrawler HDATSHexCrawler HDATSCompany DEPUSHMaterial 5052 alloy aluminum, 1/16” thick with clear anodizingLeg Movement 3 DOFDimensions Body: 52 x 49.7 cm, Height: between 12.3 and 15.2 cm, Ground - 4 -clearance: 12.7 cmCost 10,000 (about $1,500)其中HexCrawler一代机器人使用的编程软件为Parallax公司提供的教育发展版芯片。图1.1为Phoenix公司提供的六脚机器人,图1.2则为Depush公司的六脚机器人一代外形,其每个脚仅有两个自由度。图 1.1 Phoenix Hexapod图 1.2 DEPUSH HexCrawler 1.0- 5 -1.4 本课题的研究内容六脚机器人基本结构的设计,首先使之能够实现三脚步态、四脚步态、波动步态等,以满足行走要求;然后,能够感知外界环境的变化,实现避障报警等功能;最后,实现对机器人的远距离控制。具体要求为:设计机器人机械结构,使其可以完成前进,后退,左转,右转,侧移,扭动身躯等简单动作;可以完成抬脚,简单舞蹈等动作;1、编写机器人各种基本动作的软件代码,使其能完成以上动作;2、机器人可以接受电脑无线控制,编写相应无线控制程序;3、机器人可感知外界环境,编写相应传感器处理程序;4、对所有程序进行综合处理,协调各程序之间的关系。- 6 -2 六脚机器人机械结构设计介绍2.1 功能需求与分析作为六脚仿生机器人,在追求神似的同时,关键在于能否像爬虫一样完成各种行走动作。本课题对机械结构的要求不高,但需要满足下面几点:灵活度高、稳定性好、能够实现多足机器人的基本步态。针对这几点,同时按照德普士公司的要求,再参照目前市面上存在的六脚仿生机器人,最终拟定的机械结构设计方案为:在 DEPUSH HexCrawler 1.0(图 1.2)的基础上每只脚增加一个舵机,即将自由度由两个提升为三个。2.2 材料选择与结构设计介绍根据目前市面上的六脚仿真机器人,本课题选用 5052 铝合金作为机器人的主要材料,这样机器人既能满足强度要求,也能满足轻便性要求。同时,对外表进行烤漆处理,显得厚实而稳重,富有质感。如图 2.1 为机械结构的总三维图。- 7 -图 2.1 六脚机器人三维总图机器人整体上采用对称式结构,由六只脚和底架(身体)组成。每只脚有三个关节,每个关节处为采用舵机连接,可在固定平面内旋转 180,如图 2.2 所示。其中舵机 1 控制机器人脚前后摆动;舵机 2 控制机器人上下摆动;舵机 3 控制机器人内外伸缩。三个舵机配合即可实现机器人的走动。- 8 -图 2.2 六脚机器人单脚结构图机器人身体(图 2.3) 、脚(图 2.2)上均布满各种镂空图案,主要有两点作用:一、减轻机器人重量;二、增加机器人的美观度。由于机器人的完全对称性结构,其前后由认为设定,即图 2.1 中Leg1、 Leg4 在前, Leg3、 Leg6 在后。- 9 -图 2.3 六脚机器人底架结构图机器人的主要尺寸为:机器人全长:500.0mm ;底架(身体宽):228.0mm ;舵机 1(Leg1)距底架最前方距离:60.0mm;Leg1 与 Leg2 距离:195.0mm;Leg1 与 Leg3 距离:390.0mm;每只脚上舵机 2 与舵机 3 距离:120.0mm;舵机 3 与脚底距离:150.0mm。- 10 -3 舵机及舵机控制板原理与应用 本章主要介绍舵机以及舵机控制板(PSCU)的原理、使用方法与程序编写。3.1 舵机原理介绍舵机是一个通过输出轴的转动来控制物体转动的装置。它在特定编码的驱使下可以转动到工作范围内的任意给定位置。因为它的轻便,位置控制简易且精确,在机器人中使用尤多。多舵机的协调工作可满足机器人的多自由度要求。舵机可以实现 0180的旋转,当轴处于正确位置时,舵机将停止运动;当所在位置不对时,电路则驱动电机运转到需求位置。舵机是采用比例调节方式控制速度。当舵机转动的距离大时,则加载在舵机上的能量就大,反之亦然。而舵机的转动角度控制是由加载在控制线上的脉冲周期完成的,即所谓的脉冲编码调制。舵机设定为每隔 20ms 接受一个脉冲,这样的话,实际脉冲长度就可用来控制舵机转动的角度。如图 3.1,例如 1.5ms 的脉冲可使舵机转动 90。- 11 -图 3.1 舵机转角与脉冲周期关系图本项目采用的事Hi-Tec公司生产的HS-322HD舵机,如图 3.6。图3.6 HS-322HD舵机其主要技术参数如下:重量:43g尺寸:402036.5mm拉力:4.8V 3Kg.cm拉力:6.0V 3.7Kg.cm- 12 -转速:4.8V 0.19sec/60转速:6.0V 0.15sec/60计算电流:0.35A当舵机安装好后,需要获取其初始位置值,为编程做准备,具体可见 3.3节关于 PSCI 软件的介绍。3.2 舵机控制板原理介绍由上述机械结构介绍可知,本六脚机器人是通过控制 18 个舵机来实现机器人的运动的。但如何协调好各舵机的动作,让其满足功能需求?这就需要用到舵机控制板。舵机控制板按控制舵机数目(接口数)的多少,可分为 8 路舵机控制器,16 路舵机控制器,32 路舵机控制器等等。考虑到成本以及控制舵机的数量,本课题采用两块 16 路舵机控制器串联的方式来控制舵机。选用型号为 PARALLAX公司提供的 Propeller Servo Controller USB(#28830,简称 PSCU)。如图 3.2 所示:- 13 -图 3.2 舵机控制板PSCU 具有下述多项特点:可串联两块控制板实现 32 路舵机控制; 独立的螺旋式接线柱为控制板供电,舵机则可通过开关控制关停; 其所用固件开放源代码; 可通过 USB 接口或者串行通信接口编程; 舵机速度可控。PSCU 规格及性能: 电源要求:逻辑电平 5VDC60mA,4.87.5VDC 控制舵机; 通信:异步串行通信2400bps 或者 38.4kbps(TTL 或 USB) ; 工作温度:32158F ( 070C) ; 尺寸:2.26x1.80x0.65in(57.3x45.7x16.5mm);- 14 -3.3 如何使用舵机控制板在使用控制板前,需通过螺旋式接线柱给控制板提供 4.87.5V 的直流电,同时为使舵机运动,还需给舵机提供 5V 的直流电。此项可通过 USB 接口(如图 3.3)或者通过舵机控制板左上方的 Serial In 处的杜邦针供电(TTL 电平,如图 3.4) 。图 3.3 PSCU-USB 供电电路连接图- 15 -图 3.4 PSCU-主控制板供电电路连接图USB 调试:安装FTDI VCP驱动(下载地址:/usbdrivers ) ;安装PSCI 软件(访问网址www.paral ,并搜索28823) 。双击软件图标,即可获得图3.5所示,连接好USB线,在界面上选择 COM口,获取PSC 版本,即可使用。图 3.5 PSCI 控制界面图中每个channel的进度条,可发现对应舵机会向相应方向发生一定度数的旋转。这可用来进行舵机控制调试,从而获取舵机位置值,来书写步态。注意:图中数据在编入ARM程序中时,应先除以2倍,才是实际数据,即图中的中心出1500对应实际的 750。更多功能可参照PARALLAX公司提供的Propeller Servo Controller USB说明文档。当使用双块板时,其连接方式为:首先将主板的Serial In(两排,选上排)引出按高低电平信号线要求插在主控制板(STM32板)上,其中红色线接5V电源,黑色线接地,白色线接信号线,即PA9。然后将副板的Serial In(上排)引出插在主板的Serial In处(下排) 。最后通上电源即可。了解了PSCI 的基本功能,并按要求连接好电路后,首要做的就是将舵机位置的初始值找出。通过拖动进度条,并观察机器人各腿的位置,从而确定舵机初值。笔者提供的舵机初始值均为六脚与身体垂直时的值,且2、3关节夹角近似为90 。- 16 -3.4 控制板程序编写 基本工作准备与注意事项:前述工作准备停当,即可开始程序的编写。PARALLAX 公司提供的说明文档中提供了 BS2 程序,需要通过 C 语言转译,才可供 ARM 板识别。首先注意的是 PSCU 板的默认波特率为 2400bps,所以在编写串行通信程序时,应将串行通信的波特率设置为 2400bps(具体见 4.4 节关于 USART 设置的介绍) 。当然本控制板亦可通过程序设置,将波特率改为 38.4kbps,具体内容下面会介绍到。此外,控制板接收的异步通信数据格式要求还有,正相,8 个数据位,无奇偶校验位,1 个或 2 个停止位。其次控制板分为主副板,则对应的舵机控制通道号即为 031;即副板的通道号再原号基础上加 16 即可。如果按序连接舵机,可使编程变得较为简单,通过简单的数学关系进行数据处理,但线路凌乱,看起来不是很美观;本课题采用的是对称连线,即选用通道号 08,2331;当然,这样编程相对就复杂一些。最后关于主副板的界定还需提醒一句,由于硬件可能出现 bug,实际上控制板可能通道号等没有按照说明书的来,在调试过程中,可多试几次,按照实际结果编程。本课题在调试过程中即出现了问题,实际的主副板是颠倒的,且必须将副板与主控制板(STM32)连接才可使用。通信协议规则:PSCU 为用户提供了多种控制功能,但每种控制字符串均是以!SC 开始,以0x0D 结束,中间有间隔 4 个主控制字符,下面将一一介绍:位置命令设置舵机的位置控制字符串为:“!SC” 其中 channel 为通道号,即前述的 031;ramp speed 为一字节值,用于舵机转速控制,其变化范围为 063,且数值越大,转速越小; lowbyte 为舵机位置的低字节,highbyte 为舵机位置的高字节。通过改变 lowbyte 与 highbyte 值即可改变舵机位置,其值变化范围为 2501250。位置命令控制板最基本的命令,往往也是唯一用到的功能。通过此命令,- 17 -可以实现舵机按要求的转动,从而满足行走等多功能要求。SBR设置波特率控制字符串为:“!SCSBR” 其中 mode 是用来设置波特率的,0 代表 2400bps, 1 代表 38.4kbps。控制板的默认波特率为 2400bps,无需设置,但如果需要使用 38.4bps 的波特率进行通信时,可使用该程序对波特率进行更改。RSP返回位置值控制字符串为:“!SCRSP” 其中 channel 为通道号。与 VER?一样,需要进行输入输出的设置,方能返回位置值,这对编程很有用处,可以通过读取位置值,判断其是否到位来实现延迟,精确性较高。本课题未使用。读者可拓展功能。PSS设置软件口控制字符串为: “!SCPSS” 其中 mode 为 0 代表 015;1 代表 1631。可能由于板子的问题,实际过程中并未起作用,当控制板没问题时,可以根据个人喜好设置控制板的端口号,为编程提供便利。PSD使端口无效控制字符串为: “!SCPSD” 其中 channel 为通道号。此功能与 PSE 功能配合使用,在适当时候可能才生意想不到的效果。PSE使端口恢复有效控制字符串为: “!SCPSE” 其中 channel 为通道号。此功能用于 PSD 后,用来恢复端口的正常使用。其余的功能控制命令此处便不再赘述,因为一般情况下无法用到。- 18 -C 语言程序编写简介:由于说明书中只提供了 BS2 程序,较难普及,需使用应用较广的 C 语言编写。从控制命令的格式可以看出,无论哪种方式,都是 8 字节的字符串,于是,可定义一个联合体(结构体亦可) ,来储存这一串字节:typedef union _SERVO_PACKET char stream
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 零售服务与客户沟通技巧考核试卷
- 豆腐脑的地区差异与特点考核试卷
- 绝缘注塑成型工艺考核试卷
- 陶瓷工艺品的室内景观设计创新案例分享考核试卷
- 重大疾病保险产品介绍
- 口腔直播讲课课件设计规范
- 新生儿肺出血护理查房
- 急救护理基本知识
- 口腔剖面图区别与联系
- 麻醉通气系统技术规范与应用
- 项目经理讲安全课件
- 《休闲农业》课件 项目二 休闲农业分类及模式分析
- 2025年安徽省省情试题及答案
- 2025年消控室考核试题及答案
- 江西省吉安市遂川县2024-2025学年数学三下期末达标检测试题含解析
- 卫健系统2025年上半年安全生产工作总结
- EPC项目-总体实施方案
- 第一章体育与健康基础知识 第一节 科学发展体能 课件 2024-2025学年人教版初中体育与健康八年级全一册
- 高三数学复习策略
- 大豆病虫害的综合防治
- 贵州省毕节市2023-2024学年高二下学期期末考试 政治 含答案
评论
0/150
提交评论