ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:30.80KB ,
资源ID:8523541      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8523541.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(机器人课程设计报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

机器人课程设计报告.docx

1、机器人课程设计报告智能机器人课程设计总结报告姓 名: 组 员: 指导老师: 时 间: 一、课程设计设计目的了解机器人技术的基本知识以及有关电工电子学、单片机、机械设计、传感器等相关技术。初步掌握机器人的运动学原理、基于智能机器人的控制理论,并应用于实践。 通过学习,具体掌握智能机器人的控制技术,并使机器人能独立执行一定的任务。基本要求:要求设计一个能走迷宫(迷宫为立体迷宫)的机器人。要求设计机器人的行走机构,控制系统、传感器类型的选择及排列布局。要有走迷宫的策略(软件流程图)。对于走迷宫小车控制系统设计主要有几个方面:控制电路设计,传感器选择以及安放位置设计,程序设计二、总体方案2.1 机器人

2、的寻路算法选择将迷宫看成一个m*n的网络,机器人通过传感器反馈的信息感知迷宫的形状,并将各个节点的与周围节点的联通性信息存储于存储器中,再根据已经构建好的地图搜索离开迷宫的路径。这里可选择回溯算法。对每个网格从左到右,每个网格具有4个方向,分别定义。并规定机器人行进过程中不停探测前方是否有障碍物,同时探测时按左侧规则,进入新网格后优先探测当前方向的左侧方向。探测过程中记录每个网格的四个方向上的状态:通路、不通或未知,探测得到不同状态后记记录,同时记录当前网格的四个方向是否已被探测过。若某网格四个方向全部探测过则利用标志位表示该网格已访问。为了寻找到从起点到终点的最佳路径,记录当前网格在四个方向

3、上的邻接网格序号,由此最后可在机器人已探测过的网格中利用Dijkstra算法找到最佳路径。并为计算方便,记录网格所在迷宫中行号、列号。并机器人探索过程中设置一个回溯网格栈记录机器人经过的迷宫网格序号及方向,此方向是从一个迷宫网格到下一个迷宫网格经过的方向。设置一个方向队列记录机器人在某网格内探测方向的顺序。设置一个回溯路径数组记录需要回溯时从回溯起点到回溯终点的迷宫网格序号及方向。考虑到迷宫比较简单,且主要为纵横方向的直线,可采用让小车在路口始终左转或者始终右转的方法走迷宫,也就是让小车沿迷宫的边沿走。这样最终也能走出迷宫。本次课程设计采用此方法。即控制策略为机器人左侧有缺口时,向左进入缺口,

4、当机器人前方有障碍是,向右旋转180,其余情况保持前进。2.2 传感器的选择由于需要检测机器人左侧和前方是否有通路,采用红外传感器对机器人行进方向和左侧进行感知。红外避障传感器是依据红外线的反射来工作的。当遇到障碍物时,发出的红外线被反射面反射回来,被传感器接收到,信号输出引脚就会给出低电平提示信号。本机器人系统的红外避障信号采用直接检测的方式进行,直接读取引脚电平。传感器感应障碍物的距离阈值可以通过调节传感器上的变阻器来改变。行进过程中,机器人可能会偏绿迷宫的横轴或纵轴的方向。碰触传感器利用外力的作用传递给单片机信息,当碰触传感器碰到迷宫墙壁后,传感器检测到信号就可以判断小车碰壁。经过电路处

5、理后,信号输出接口输出数字信号送给控制器,从而让控制器进行决策调整小车姿态。本机器人系统共使用了2个碰触传感器,分别安装在小车的左前方和右前方,使得机器人在偏离航向撞击迷宫侧面后可以立即对航向进行修正。四个传感器一共占用四个外部中断。3.3 总体结构设计三、具体实现3.1 芯片选择最小系统已经设计好,本次课程设计采用的控制芯片为STM32F103RBT6它是32位的Cortex-M3内盒的控制芯片, 主频达到72MHz, 拥有128kB 闪存, 20kB SRAM,锁相环,内置 8MHz and 32kHz时钟电路,具有PWM模块,方便电机转速的控制。3.2 控制电路设计(1)电机驱动:电机驱

6、动电路原理图如图所示,采用BTS7960芯片驱动电机,以控制机器人的两个驱动轮,利用PWM控制方法,通过改变PWM波的占空比,达到调节电机转速的目的,实现机器人的前进,后退,转向,刹车等功能。每个电机都由一个H桥电路驱动,由两个输入信号共同控制。两个电机共由4路PWM波进行控制,结合上述的电机驱动原理,小车运动方式可以通过如下方式实现:四个控制信号均为低电平时,电机停转,小车停止;电机的左右轮电机同向等速运行时,可以实现前行或后退的动作;小车的左右转向通过两轮差速来实现。在本机器人的设计中,需要实现的90角度转弯,是通过电机定速运动和延时的配合完成的,通过不断调试确定出最佳的旋转时间。(2)电

7、源模块:采用电池供电,可行的供电方案原理图如下(3)引脚(外部中断)分配:PA0,PA4,PA5,PA15为中断输入引脚。PA0引脚对应的外部中断由机器人前向红外传感器触发,PA4,PA5分别连接机器人前进方向的左侧和右侧的碰撞开关,PA4,PA5的上升沿信号代表机器人与迷宫的左,右侧发生碰撞,触发相应地终端服务程序,调整航向。PA15接收左侧红外传感器产生的触发信号,当机器人左侧出现缺口时,触发中断服务程序,机器人向左转向进入缺口。3.3 程序设计部分(1)机器人的移动:机器人靠两个驱动轮,一个从动轮进行移动,每个驱动轮由一个电机,两个驱动芯片进行控制。驱动芯片输出电平的高低决定电机的转向,

8、占空比决定了电机的转速。首先应配置芯片的PWM模块,具体过程如下:#include pwm.hfloat mo1,mo2,mo3,mo4;void PWM_Init(u16 arr,u16 psc) RCC-APB1ENR|=1CRL&=0X00FFFFFF; GPIOA-CRL|=0XBB000000; GPIOA-ODR|=16|1CRL&=0XFFFFFF00; GPIOB-CRL|=0X000000BB; GPIOB-ODR|=10|1ARR=arr; TIM3-PSC=psc; TIM3-CCER|=11|15|19|1CCMR1|=712|7CCMR1|=111|1CCMR2|=7

9、12|7CCMR2|=111|1CCER|=112|18|14|1CR1=0x0080; /ARPE1? TIM3-CR1|=1EGR |= 1CR1|=0x01;本段代码使能TIM3时钟,启用PA6,PA7,PB0,PB1引脚的复用功能,并对计数器进行相应设置(向下计数),使得芯片能在这四个引脚上输出所需的PWM波。由于前进,后退,转向,都是重复性的动作,直接对这些操作进行宏定义,需要的时候直接调用,能减轻程序编写的负担:#define Moto_PwmMax 899 /#define LEFT_MOTOR_F TIM3-CCR1#define LEFT_MOTOR_B TIM3-CCR2#

10、define RIGHT_MOTOR_B TIM3-CCR3#define RIGHT_MOTOR_F TIM3-CCR4注:TIM3产生PWM波相应寄存器的宏定义如下#define go_forward LEFT_MOTOR_F =3500;LEFT_MOTOR_B =0; RIGHT_MOTOR_F =3500; RIGHT_MOTOR_B =0;#define go_back LEFT_MOTOR_F =0; LEFT_MOTOR_B =3500; RIGHT_MOTOR_F =0; RIGHT_MOTOR_B =3500;#define turn_left LEFT_MOTOR_F =

11、0; LEFT_MOTOR_B =0; RIGHT_MOTOR_F =4000; RIGHT_MOTOR_B =0;#define turn_left_90 LEFT_MOTOR_F =0; LEFT_MOTOR_B=0;RIGHT_MOTOR_F=4000;RIGHT_MOTOR_B=0;delay_ms(800);delay_ms(800);delay_ms(600);RIGHT_MOTOR_F=0;#define turn_right LEFT_MOTOR_F =4000;LEFT_MOTOR_B =0;RIGHT_MOTOR_F =0;RIGHT_MOTOR_B =0;delay_ms

12、(200);#define turn_back_righ LEFT_MOTOR_F=4000;LEFT_MOTOR_B=0;RIGHT_MOTOR_F=0;RIGHT_MOTOR_B=4000;delay_ms(800);delay_ms(800);delay_ms(400);LEFT_MOTOR_F=0;RIGHT_MOTOR_B=0;#define turn_back_left LEFT_MOTOR_F =0; LEFT_MOTOR_B =4000;RIGHT_MOTOR_F =4000;RIGHT_MOTOR_B=0;delay_ms(800);delay_ms(800);delay_m

13、s(400);LEFT_MOTOR_B=0;RIGHT_MOTOR_F=0;#define stop LEFT_MOTOR_F =0; LEFT_MOTOR_B =0;RIGHT_MOTOR_F =0;RIGHT_MOTOR_B =0;/几个机器人基本动作的宏定义由于采用向下计数的方式,CCR中的值代表相应引脚高电平持续时间长度,响应值越大,PWM占空比越大,驱动电机转速越快。(2)机器人对外界的感知及相应中断服务程序的编写:#includeexti.hvoid EXTIX_Init(void) RCC-APB2ENR|=1CRL&=0XFF00FFF0;GPIOA-CRL|=0X00880008; GPIOA-CRH&=0X0FFFFFFF;GPIOA-ODR|=(1PR=1PR=1PR=1PR=1APB2ENR|=1CRL&=0XFF00FFF0;/PA0,4,5设置成输入 GPIOA-CRL|=0X00880008; GPIOA-CRH&=0X0FFFFFFF;/PA15设置成输入 GPIOA-ODR|=(1PR=1PR=1PR=1PR=115; /清除LINE0上的中断标志位

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

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