机械机器人模拟仿真毕业设计abpi.doc

上传人:仙人指路1688 文档编号:3945518 上传时间:2023-03-28 格式:DOC 页数:53 大小:1.21MB
返回 下载 相关 举报
机械机器人模拟仿真毕业设计abpi.doc_第1页
第1页 / 共53页
机械机器人模拟仿真毕业设计abpi.doc_第2页
第2页 / 共53页
机械机器人模拟仿真毕业设计abpi.doc_第3页
第3页 / 共53页
机械机器人模拟仿真毕业设计abpi.doc_第4页
第4页 / 共53页
机械机器人模拟仿真毕业设计abpi.doc_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《机械机器人模拟仿真毕业设计abpi.doc》由会员分享,可在线阅读,更多相关《机械机器人模拟仿真毕业设计abpi.doc(53页珍藏版)》请在三一办公上搜索。

1、表17东莞理工学院城市学院本 科 毕 业 设 计毕业设计题目:机器人控制系统的设计学生姓名:a 学 号:a 系 别:a 专业班级: 指导教师姓名及职称: 起止时间:2012年3月 2012年6月摘 要机器人的应用越来越广泛,几乎渗透到各行各业。如何能让机器人更好地为我们服务,是当前科学研究的一个重要课题。本文所用机器人是学校实验室中的6脚柱状铁甲虫机器人,对基于单片机的机器人控制系统的设计,综合运用51单片机,电子电路等知识进行智能移动机器人的控制系统设计以及研究。实际操作调试运动,不仅注重理论知识的探讨,更注重于对理论知识在实际中的应用。文章中详细介绍机器人的硬件机构以及软件的设计。控制系统

2、的主要内容是利用传感器使机器人步行、步伐调整、智能避障,以及利用按钮开关对机器人进行控制移动等。通过软件程序对机器人的控制,机器人能按预期的设想行走,但由于机器人质量较重,电机转动速度不是很快,所以行走速度比较慢,而且动作不是很流畅。关键词:机器人、控制系统、单片机、传感器、智能避障ABSTRACTRobots are used more and more widely, almost penetrated into all walks of life. How to enable the robot to serve us better, is currently an important

3、topic in scientific research The robot used in the study is HexRod HD Hexapod Robot which was generally used in school laboratory, and the study is based on SCM robot control system design, which comprehensively applied the theories such as the 51 SCM and electronic circuit to design and study the c

4、ontrol system of the intelligent mobile robot. The practical operation of trial run not only emphasizes the discussion of theoretical knowledge, but also focuses more on the application of theory.The article introduces the robots mechanism of hardware and design of software in detail. The main funct

5、ion of the control system is using sensor to make robot walked, adjusted the working pace and intelligent barrier; using the switch to control the movement of robot.Through the software procedure to the robot, robot can be expected to walk, because the robot with heavier weight, motor rotation speed

6、 is not fast, so walking speed is relatively slow, and the action is not very smooth.Keyword: Control system, Robot, SCM, Sensor, Intelligence obstacle avoidance目 录1、智能移动机器人的发展11.1 智能移动机器人的发展现状11.2智能移动机器人的关键技术52、六脚柱状铁甲虫机器人82.1 六脚柱状铁甲虫机器人简介82.2 六脚柱状铁甲虫机器人控制系统设计及分析93、程序的编写烧录以及机器人调试运行203.1 程序的编写与烧录203.

7、2 机器人调试运行254、机器人三维建模及其运动仿真274.1 机器人三维建模274.2 运动仿真275、总结与展望305.1 总结305.2 展望30参考文献34图标说明33致谢34附录一:机器人控制系统程序35附录二:头文件soft_rs232.h43机器人控制系统的设计吴永华1、智能移动机器人的发展1.1 智能移动机器人的发展现状机器人的应用越来越广泛 ,几乎渗透到所有领域。智能移动机器人是机器人学中的一个重要分支。早在 60年代 ,就已经开始了关于智能移动机器人的研究。关于智能移动机器人的研究涉及许多方面 ,首先 ,要考虑移动方式 ,可以是轮式的、履带式、腿式的 ,对于水下机器人 ,则

8、是推进器。其次 ,必须考虑驱动器的控制 ,以使机器人达到期望的行为。第三 ,必须考虑导航或路径规划 ,对于后者 ,有更多的方面要考虑 ,如传感融合 ,特征提取 ,避碰及环境映射。因此 ,智能移动机器人是一个集环境感知、动态决策与规划、行为控制与执行等多种功能于一体的综合系统。对智能移动机器人的研究 ,提出了许多新的或挑战性的理论与工程技术课题 ,引起越来越多的专家学者和工程技术人员的兴趣 ,更由于它在军事侦察、扫雷排险、防核化污染等危险与恶劣环境以及民用中的物料搬运上具有广阔的应用前景 ,使得对它的研究在世界各国受到普遍关注。自1961年美国Unimation公司研制出世界上第一台往复式工业机

9、器人以来,机器人的发展经历了三个阶段:第一代示教/再现(Teaching/Playback)机器人,第二代传感控制(Sensorycontrolled)机器人,第三代智能(Inteligent)机器人。机器人以其具有灵活性、提高生产率、改进产品质量、改善劳动条件等优点而得到广泛应用。但是,目前绝大多数机器人的灵活性,只是就其能够反复编程而言,工作环境相对来说是固定的,所以一般人们称之为操作手(Manipulator)。近年来,智能移动机器人特别是自主式智能移动机器人成为机器人研究领域的中心之一。智能移动机器人的研究现状: 1.体系结构自主式智能移动机器人的复杂性以及当前计算技术的局限性等决定了

10、体系结构是影响机器人性能的主要因素。自主式智能移动机器人的智能体现为具有感知(Sensing)、决策(Decision-making)和行为(Acting)等基本功能。根据实现这些基本功能的过程的不同,常见的体系结构有三类:分层递阶结构(Hierarchical architechure)、行为系统(Behavior system)和黑板系统(Blackboard system)。 2.信息感知信息感知来源于传感器。对传感器来说,最主要的两个品质是可靠性和带宽(实时性)。目前自主式智能移动机器人普遍使用的传感器有:声纳、红外、激光扫描、摄像机和陀螺等。每种传感器各有利弊,于是人们自然想到了取长

11、补短,也即多传感器集成和融合(Multisensor integration and Fusion),其优点在于提供了信息冗余、互补和适时(Timeliness),从而提高了信息的可靠性。 3.智能移动机器人控制 (1)建模根据所受约束的不同,可以将控制系统分为完整(Holonomic)系统和非完整(Nonholonomic)系统。约束条件能够以位形变量显式代数方程描述的系统,即为完整系统;约速条件为不完全可积的微分方程则为非完整系统。智能移动机器人是典型的非完整系统。目前,智能移动机器人普遍使用的运动学模型为基于机器人几何中心或轮轴线中心的时间微分方程,该模型物理意义明确。为避免繁琐的时间微

12、分,E.T.Baumgartner选择了独立变量,建立独立于时间变量的运动学模型,并由此实现了对速度的独立调节。最近,链式(Chained form)方程和幂式(Power form)方程用于描述一类非完整系统。该模型虽然描述的是非线性系统,但具有良好的线性结构,基于此可开环类解耦控制、闭环反馈稳定控制,特别适用于带有拖车的智能移动机器人。 (2)定位(Localization) 定位是智能移动机器人控制中的关键问题,其准确性和精度直接影响规划的实现,从而影响整个系统的性能。定位有静态定位和动态定位之分。静态定位每次将传感器得到的环境信息和环境的先验模型相匹配来定位,计算量大,很难满足实时性要

13、求。最常用的定位方法为推算航行法(Dead reckoning),即依靠内部里程表沿着经过的路径对轮子的旋转进行计量。这种方法简单,容易实现,但由初始位姿误差、运动学模型误差以及运动过程中的不确定扰动(如与地面发生相对滑动)等会引起累积误差,严重影响定位精度,特别对于长距离运动的机器人的影响将是灾难性的。为了克服以上缺点,人们采用动态定位,即将外部传感器获得的信息与推算航行法的信息进行融合,以获取高精度定位。融合方法多用Kalman滤波进行最小方差估计和基于模糊逻辑进行模糊推理。 (3)控制及其稳定性智能移动机器人的控制困难在于机器人平面运动具有三个自由度,即平面位置和方位,而控制只有二个自由

14、度,即两个驱动轮的速度或机器人的平移速度和转动速度。Samson指出,智能移动机器人开环可控。但不存在光滑的时不变稳定状态反馈。由于开环控制容易受不确定因素的影响,为了获得较强的鲁棒性和对规划出的路径具有良好的跟踪性能,反馈控制方案才是研究者所寻求的。由于智能移动机器人不存在光滑的时不变稳定状态反馈控制,所以一般采用不连续控制或分段光滑控制实现稳定反馈,控制目的是减少运动自由度或增加控制自由度。各种反馈控制方案虽然解决了作为系统工作必要条件的稳定性问题,但系统要获取良好的性能,还取决于控制律中参数的确定,而所有控制律的参数均很难确定。利用神经网络的学习和容错能力对智能移动机器人控制和基于规则的

15、模糊控制,避免了控制参数的确定,并增强了系统对参数扰动的鲁棒性。近几年来,由美国NASA资助研制的“丹蒂II”八足行走机器人,是一个能提供对高移动性机器人运动的了解和远程机器人探险的行走机器人,为实现在充满碎片的月球或其它星球的表面进行探索而提供一种机器人解决方案。之后,美国NASA 研制的火星探测机器人索杰那于1997年登上火星,这一事件引起了全世界的轰动。为了在火星上进行长距离探险,美国第四个火星探测器“好奇号”于2011年11月26日在佛罗里达州的卡纳维拉尔角空军基地发射。该火星探测器将负责探索评估火星生命的状况图1.1 火星探测机器人“好奇号”2009年12月,海洋学家利用水下机器人“

16、杰森”(Jason)探测到了深海处的一次火山喷发现象。图1.2深水摄影机“杰森”“ASIMO”是本田公司开发的双脚步行机器人,于2000年11月首次在横滨国际和平会议中心举行的机器人展示会上亮相。2004年12月,本田公司曾改进过“ASIMO”的性能,增加了它的关节和马达,使其可以以每小时3公里的速度小跑,而且将其身高也由最初的11米提高到13米,体型犹如一个8岁小男孩。图1.3 日本双脚步行机器人“阿西莫”在一次展览会上,一名美军陆军军官在展示绰号“剑”的履带式行走机器人。图1.4 美国绰号“剑”的履带式行走机器人以上几个典型的智能移动机器人应用于各大领域的例子,另外在我国,国防科技大学研制

17、的全自主无人驾驶汽车,突出特点为实时并行程序结构、实时局部路径规划以及汽车驾驶智能控制等方面。该车能够在无人干预的情况下,自主地完成点火、起步、换档、停车等操作,在行进过程中,还能根据道路情况自动增减油门和进行加减档,使汽车安全平稳地行驶。在高速公路环境下,最高时速达75.6公里。中国科学院自动化所自行设计、制造的全方位移动式机器人视觉导航系统CASIA。上海交通大学研制的基于全景视觉的足球机器人,台湾交通大学的家庭服务机器人。哈尔滨工业大学成功研制的导游机器人、香港城市大学智能设计、自动化及制造研究中心的自动导航车和服务机器人等,都推进了国内智能移动机器人的发展进程。1.2智能移动机器人的关

18、键技术1.2.1 机器人控制器技术机器人控制器被称为机器人的大脑,它可以有很多叫法,可以叫做:可编程控制器、微控制器,微处理器,处理器或者计算器等,不过这都不要紧,通常微处理器是指一块芯片,而其它的是一整套控制器,包括微处理器和一些别的元件。任何一个机器人大脑就必须要有这块芯片,不然就称不上机器人了。在选择微控制器的时候,主要要考虑:处理器的速度,要实现的功能ROM和RAM的大小,I/O端口类型和数量,编程语言以及功耗等。其主要类型有:单片机、PLC、工控机、PC机等。单有这些硬件是不够的,机器人的大脑还无法运行。只有在程序的控制下,它才能按我们的要求去工作。可以说程序就是机器人的灵魂了。而程

19、序是由编程语言所编写的。编程语言是一个控制器能够接受的语言类型,一般有C语言,汇编语言或者basic语言等,这些通常能被高级一点的控制器直接执行,因为在高级控制器里面内置了编译器能够直接把一些高级语言翻译成机器码。微处理器将执行这些机器码,并对机器人进行控制。1.2.2 机器人传感器技术机器人是由计算机控制的复杂机器,它具有类似人的肢体及感官功能;动作程序灵活;有一定程度的智能;在工作时可以不依赖人的操纵。机器人传感器在机器人的控制中起了非常重要的作用,正因为有了传感器,机器人才具备了类似人类的知觉功能和反应能力。其主要有:光电传感器、红外传感器、力传感器、超声波传感器、位置传感器和姿态传感器

20、等等。下面我将就几种常用传感器进行介绍:1、光电传感器:采用光电元件作为检测元件的传感器。它首先把被测量的变化转换成光信号的变化,然后借助光电元件进一步将光信号转换成电信号。光电传感器一般由光源、光学通路和光电元件三部分组成。2、红外传感器:红外传感器是用来测量距离和感知周围情况的。因为发射出去的红外信号在一定距离内遇到物体就会反射回来。通过发送红外线信号,并接收反射回来的信号,机器人就可以感知前方或身体周围的情况,做出相应的调整(如:倒退或绕行等)。3、力传感器:能感受外力并转换成可用输出信号的传感器,比如机械手的应用,当你放一个东西到机械手的时候,机械手自动抓住它,它就需要力传感器检测东西

21、抓的紧不紧。典型的力传感器是微动开关和压敏传感器。4、超声波传感器:利用超声波检测技术,将感受的被测量转换成可用输出信号的传感器。超声波是一种振动频率高于声波的机械波,由换能晶片在电压的激励下发生振动产生的,它具有频率高、波长短、绕射现象小,特别是方向性好、能够成为射线而定向传播等特点。5、位置传感器:能感受被测物的位置并转换成可用输出信号的传感器。位置传感器可分为两种,直线位移传感器和角位移传感器。其中直线位移传感器常用的有直线位移定位器等,具有工作原理简单、测量精度高、可靠性强的特点;角位移传感器则可选旋转式电位器,具有可靠性高、成本低的优点。角位移器还可使用光电编码器,有增量式与绝对式两

22、种形式。其中增量式码盘在机器人控制系统中得到了广泛的应用。6、姿态传感器:能感受物体姿态(轴线对重力坐标系的空间位置)并转换成可用输出信号的传感器。姿态传感器(E.T-ahrs)是基于MEMS技术的高性能三维运动姿态测量系统。它包含三轴陀螺仪、三轴加速度计(即IMU),三轴电子罗盘等辅助运动传感器,通过内嵌的低功耗ARM处理器输出校准过的角速度,加速度,磁数据等,通过基于四元数的传感器数据算法进行运动姿态测量,实时输出以四元数、欧拉角等表示的零漂移三维姿态数据。姿态传感器 (E.T-ahrs)可广泛应用于航模无人机,机器人,天线云台,聚光太阳能,地面及水下设备,虚拟现实,人体运动分析等需要低成

23、本、高动态三维姿态测量的产品设备中。传感器的种类繁多,安装在机器人上使机器人实现各种功能。图1.5 传感器在机器人身上的分布2、六脚柱状铁甲虫机器人2.1 六脚柱状铁甲虫机器人简介图2.1 6脚柱状铁甲虫机器人材质: 采用国家标准铝材。表面特别处理,防腐蚀防刮痕。尺寸(长X宽): 41厘米X35.38厘米 腿到腿距离 高度:站立高度17.38厘米腿运动方式:标准配置为2自由度(垂直及水平)负荷能力:3.4千克自重:1.56千克(带电机)六脚柱状铁甲虫机器人系统由一块C51+AVR控制板、一块PSCU(电机控制板)、12个直流伺服马达、电源、连接电路以及铝制机身组成。2.2 六脚柱状铁甲虫机器人

24、控制系统设计及分析2.2.1 机器人控制系统硬件分析2.2.1.1 AT89S52单片机AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。1、主要性能a.与MCS-51单片机产品兼容;b.8K字节在系统可编程Flash存储器;c.1000次擦写周期;d.全静态操作:0Hz-33

25、MHz;e.三级加密程序存储器;f.32个可编程I/O口线;g.三个16位定时器/计数器;h.八个中断源;i.全双工UART串行通道;j.低功耗空闲和掉电模式;k.掉电后中断可唤醒;l.看门狗定时器;m.双数据指针;n.掉电标识符。2、引脚说明AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超

26、有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访

27、问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0不具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)。在flash编程和校验时,

28、P1口接收低8位地址字节。引脚号第二功能:P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVXDPTR)时,P2口送出高八

29、位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVXRI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,p3输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。端口引脚第二功能:P3.0RXD(串行输

30、入口)P3.1TXD(串行输出口)P3.2INTO(外中断0)P3.3INT1(外中断1)P3.4TO(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访

31、问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP:外部访问允许,欲使CPU仅访问外部程

32、序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。图2.2 AT89S52引脚图单片机上还有特殊功能寄存器、存储器、定时器、计数器等。2.2.1.2 PSCU电机控制板一块PSCU电机控制板可以控制16都舵机同时工作,本文中设计只用到了12个通

33、道,控制12个舵机。其工作原理:通过与单片机的P10口相连,从P10处获取信号(舵机channel和脉冲宽度以字节的方式发送到PSCU舵机控制板),PSCU控制相对应的舵机转过相对的角度。图2.3 PSCU-主控制板供电电路连接图2.2.1.3 微型直流伺服电机(舵机)1、微型伺服马达内部结构一个微型伺服马达内部包括了一个小型直流马达;一组变速齿轮组;一个反馈可调电位器;及一块电子控制板。其中,高速转动的直流马达提供了原始动力,带动变速(减速)齿轮组,使之产生高扭力的输出,齿轮组的变速比愈大,伺服马达的输出扭力也愈大,也就是说越能承受更大的重量,但转动的速度也愈低。图2.4 微型伺服马达内部结

34、构图2、微行伺服马达的工作原理一个微型伺服马达是一个典型闭环反馈系统,其原理可由下图表示:控制电路马达齿轮组比例电位器控制脉冲比例电压图2.5 微型伺服马达工作原理图减速齿轮组由马达驱动,其终端(输出端)带动一个线性的比例电位器作位置检测,该电位器把转角坐标转换为一比例电压反馈给控制线路板,控制线路板将其与输入的控制脉冲信号比较,产生纠正脉冲,并驱动马达正向或反向地转动,使齿轮组的输出位置与期望值相符,令纠正脉冲趋于为0,从而达到使伺服马达精确定位的目的。3、伺服马达的控制脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输

35、出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。伺服马达的控制就是应用PWM实现的。标准的微型伺服马达有三条控制线,分别为:电源、地及控制。电源线与地线用于提供内部的直流马达及控制线路所需的能源,电压通常介于4V6V之间,该电源应尽可能与处理系统的电源隔离(因为伺服马达会产生噪音)。甚至小伺服马达在重负载时也会拉低放大器的电压,所以整个系统的电源供应的比例必须合理。输入不同的脉冲数,伺服马达转过的角度就不同,本文设计中所用伺服马达为Hitec HS422舵机,脉冲值为300到1200,转角位置为-90到90。如下表:脉冲数转角3009075001

36、200-90300到120090到-90图2.6 脉冲数与转角关系2.2.1.4 控制系统电路图2.7 控制电路原理图2.2.2 机器人控制系统软件部分设计2.2.2.1 基本动作设计通过控制6只脚上12个伺服马达协调动作,使机器人做如前行、后行、转弯等基本动作。图2.8 PSC控制伺服马达的分布开始全部脚放下全部脚居中结束立正居中:原地踏步调整:开始脚1、2、3、4、5、6逐个抬起、居中、放下结束图2.9 机器人步伐调整流程图开始脚1、3、5抬起 脚1、3、5向前;脚2、4、6向后脚1、3、5放下;脚2、4、6抬起脚1、3、5向后;脚2、4、6向前脚2、4、6放下结束前进后退:开始脚1、3、

37、5抬起 脚1、3、5向后;脚2、4、6向前脚1、3、5放下;脚2、4、6抬起脚1、3、5向前;脚2、4、6向后脚2、4、6放下结束开始脚1、3、5抬起 脚1、3、5顺时针转;脚2、4、6逆时针转脚1、3、5放下;脚2、4、6抬起 脚1、3、5逆时针转;脚2、4、6顺时针转脚2、4、6放下结束左右转弯:开始脚1、3、5抬起 脚1、3、5逆时针转;脚2、4、6顺时针转脚1、3、5放下;脚2、4、6抬起 脚1、3、5顺时针转;脚2、4、6逆时针转脚2、4、6放下结束图2.10 机器人基本移动动作流程图2.2.2.2 基本功能的设计通过传感器以及按钮开关,组合基本动作,进行机器人控制移动以及智能避障。

38、单片机和舵机通电,主函数运行,机器人立正居中复位调整,通过单刀双掷开关选择传感函数或控制行走函数。当开关掷传感函数时,机器人通过红外传感器发射接收装置自动避障行走;当开关掷控制行走函数时,机器人原地踏步调整等待按钮开关信号,可以分别控制其向前后左右行走。立正开始传感函数控制移动函数K1=0K2=0NONOYESYES图2.11 主函数流程图主函数原地踏步右转前进后退左转K3=0K4=0K5=0K6=0YESYESYESYESNONONONO图2.12 控制移动函数流程主函数前进R&L=0R=0L=0后退左转右转YESYESYESNONONO图2.13 传感器函数流程图3、程序的编写烧录以及机器

39、人调试运行3.1 程序的编写与烧录使用Keil uVision2软件编写程序,编写语言为C语言。3.1.1 头文件soft_rs232.h在C语言家族程序中,头文件被大量使用。一般而言,每个C+/C程序通常由头文件(header files)和定义文件(definition files)组成。头文件作为一种包含功能函数、数据接口声明的载体文件,用于保存程序的声明(declaration),而定义文件用于保存程序的实现 (implementation)。而且 .c就是你写的程序文件。头文件soft_rs232.h中包含多个功能函数,定义串口收、发送管脚以及选择晶振频率和波特率等。串口初始化函数s

40、oft_rs232_init ();监测起始位函数soft_receive_init();允许接受函数oft_receive_enable();允许发送函数soft_send_enable ();中断函数soft_rs232_interrupt();发送一个字节函数rs_send_byte(INT8U SendByte)。在编写机器人所用的程序时,所使用的头文件都是soft_rs232.h,主要内容是使用一个定时器和 2 个 I/O 口模拟一个串行口,包含发送接收函数以及中断函数。发送时,要先调用 soft_send_enable (), 它为发送做初始化的工作,以后就可以调用 rs_send

41、_byte () 启动发送一个字节的过程。发送口平时为高电平,rs_send_byte ()函数使发送口变为低电平开始发送起始位; 同时设置和启动定时器,为发送数据位在预定的时刻产生定时器中断。发送数据位和停止位都在定时器的中断服务程序中进行。中断服务程序中处理 4 种情况:发送数据位、发送停止位、发送完毕、处理错误。其详细内容请看附录二。3.1.2 主函数main()主函数内容流程图如图2.10所示。电源通电时后,机器人立正居中调整,如单刀双掷开关掷K1时,执行控制移动函数,如果是掷K2则执行传感函数,编写如下:void main(void)/主函数soft_rs232_init();whi

42、le(1)P0=0xff;/P0初始化walking_neutral();/立正while(K1=0) remote_control();while(K2=0) sensor();3.1.3 控制移动函数remote_control()控制移动函数流程图如图2.11所示。当单刀双掷开关掷K1时,控制移动函数开始执行,先是原地踏步调整函数,当按下按钮开关K3、K4、K5、K6时,机器人分别执行前进、后退、左转、右转函数。如单刀双掷开关掷K2时,跳出函数回到主函数。编写如下:void remote_control(void)while(1)walking_adjust();while(K3&K4&

43、K5&K6)=0)if(K3=0) while(1) walking_forward();/前进 if(K2&K4&K5&K6)=0) break; else if(K4=0) while(1) walking_back();/后退 if(K2&K3&K5&K6)=0) break;else if(K5=0) while(1) walking_lturn();/左转 if(K2&K3&K4&K6)=0) break;else if(K6=0) while(1) walking_rturn();/右转 if(K2&K3&K4&K5)=0) break;if(K2=0) break;3.1.4 传

44、感器函数sensor(void)传感器函数流程图如图2.12所示。当单刀双掷开关掷K2时,传感器函数开始执行,一开始是执行立正居中调整函数,红外线传感器发射接收装置工作,当两边接收不到低电平时执行前进函数,当两边都接收到低电平时执行后退函数和右转函数,当左边接收到低电平时向右转,当右边接收到低电平时向左转。如单刀双掷开关掷K1时,跳出函数回到主函数。编写如下:void sensor(void)walking_neutral();/立正doint counter;char a,b;for(counter=0;counter38;counter+)/发射LF=1;delay_nus(12);LF=

45、0;delay_nus(12);if(LIR=0)break;a=LIR;for(counter=0;counter38;counter+)RF=1;delay_nus(12);RF=0;delay_nus(12);if(RIR=0)break;b=RIR;/发射接收完毕if(a=0)&(b=0)/根据接收到的信号判断要执行函数walking_back();walking_rturn();else if(a=0)walking_rturn();else if(b=0)walking_lturn();else walking_forward();if(K1=0) break;while(1);3.1.5 基本移动函数以及调整函数基本移动函数有前进、后退、左转以及右转,调整函

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号