全向自动巡线搬运机器人课件_第1页
全向自动巡线搬运机器人课件_第2页
全向自动巡线搬运机器人课件_第3页
全向自动巡线搬运机器人课件_第4页
全向自动巡线搬运机器人课件_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 课程设计报告书 题 目 全向自动巡线搬运机器人学 院 湖南文理学院芙蓉学院 专 业 班 级 学 号 姓 名 指导教师 2014 年 1 月 1日 一、课程设计目的自动机器人在现代工业和生产中广泛运用,大大减少了人力物力。而机器人要完成指定动作,不光需要机械手臂,驱动模块,还需要准确的定位。这不光需要依靠指定的完成机械手臂的动作,同时还需要接受外部的检测信号。在这次课程设计中,我们自主设计组装了自动巡线机器人,完成在指定线路上的搬运物件工作。主要熟悉了机器人制作的整个流程(包括设计,仿真,安装,调试等),利用SolidWorks装配机器人,COSMOSMOTION仿真,机器人调试过程,AVR单

2、片机编程,UP-Commander调试环境,AVR Studio的Gcc编程环境,电机及舵机控制等。二、课程设计任务 (1)利用Solidworks装配机器人,并进行运动仿真; (2)利用已给零件及传感器搭建设计机器人; (3)运用UP-Commander在线调试机器人运动; (4)运用AVR Studio编程环境编写C语言下载至AVR单片机中完成指定动作;三、硬件介绍 1.控制模块:图中为MultiFLEX2-AVR Controller Datasheet控制卡,基于控制卡编程实现机器人的功能。l功能概述 MultiFLEX2-AVR控制器是一款小型机器人通用控制器,集成开关量传感器、模拟

3、量传感器、RC舵机、机器人总线舵机控制接口,具有RS422总线接口和RS232 接口,具有丰富的扩展能力。具体特点如下:l控制接口丰富 可以控制R/C 舵机、机器人总线舵机,直流电机伺服驱动器等。l数据接口丰富 12路双向IO接口,8 路10 位精度的AD 接口;RS-422总线、RS-232 接口。l多种开发环境 配套NorthSTAR图形化集成开发环境,无需编写C语言即可完成机器人控制程序编写。此外,也支持AVRStudio,Eclipse 等IDE开发环境。l接口开放彻底 MultiFLEX 2-AVR开放所有底层源码,用户可以参照这些源码开发自己的程序,也可以调用已封装的函数接口。Mu

4、ltiFLEX2-AVR控制器有丰富的自我保护机制,对于超负荷功率输出、电源反向输入、电池电压过低、电源输入电压过高等具有软硬件保护,可以及时有效保护控制器,并提示用户错误信息。MultiFLEX2-AVR 控制器可以配备ZigBee 无线网络电台,实现机器人无线控制,机器人组网,可为群体机器人研究、多机器人协作等科研领域提供快速机器人原型。MultiFLEX2-AVR控制器的具体参数如下所示: l 主处理器ATmega12816MHz,协处理器ATmega816MHz; l 6 个机器人舵机接口,兼容Robotis Dynamixel AX12+; l 8 个R/C舵机接口; l 12 个T

5、TL 电平的双向I/O 口,GND/VCC/SIG 三线制; l 8 个AD 转换器接口(05V); l 2 个RS-422 总线接口(可挂接1-127 个422 设备); l 1 个无源蜂鸣器; l 通过RS-232 与上位机通讯,可选无线通讯模组; l 使用USB接口的AVR-ISP下载调试器。应用领域 l 小型机器人; l 其它要求配置多种传感器、执行器,机电系统快速原型。 2.舵机的介绍:图中为proMOTION CDS 系列机器人伺服电机:功能概述 proMOTION CDS 系列机器人伺服电机(机器人舵机)属于一种集电机、伺服驱动、总线式通讯接口为一体的集成伺服单元,非常适合替代R

6、C 舵机,作为微型机器人的关节、轮子、履带驱动,也可用于其他简单位置控制场合。主要特点如下: l大扭矩:16Kgfcm l高转速:最高0.16s/60输出转速 lDC 6.8V14V 供电 l0.32位置分辨率 l双端输出轴,适合安装在机器人关节 l高精度全金属齿轮组,双滚珠轴承 l连接处O 型环密封,防尘防溅水 l位置伺服控制模式下转动范围0-300 l在速度控制模式下可连续旋转,调速 l总线连接,理论可串联254 个单元 l高达1M 通讯波特率 l0.25KHz 的伺服更新率 l具备位置、温度、电压、速度反馈 l通讯协议兼容Robotis Dynamixel CDS5516 机器人舵机采用

7、先进的伺服控制技术和高速微处理器,响应速度快、到位准确无抖动。相比传统RC 舵机50Hz 的控制频率,CDS 系列机器人舵机通过高达250Hz 的控制频率,确保位置控制的准确和保持力矩的稳定性。 CDS5516 机器人舵机采用周转型高精度电位器测量位置,舵机输出轴可连续整周旋转,运动扭矩输出高达16kgf.cm。 CDS5516 具备总线接口,理论多至254 个机器人舵机可以通过总线组成链型, 通过异步串行接口统一控制。每个舵机可以设定丌同的节点地址,多个舵机可以统一运动也可以单个独立控制。 CDS5516 的通讯指令集完全开放,舵机通过异步串行接口不用户的上位机通讯, 用户可对其参数设置、功

8、能控制。通过异步串行接口収送指令, CDS5516 可以设置为电机模式或位置控制模式。在电机模式下,CDS5516 可以作为直流减速电机使用,速度可调;在位置控制模式下,CDS5516 拥有0-300的转动范围,在此范围内具备精确位置控制性能,速度可调。CDS5516 机器人舵机的外形和安装方式兼容传统舵机。 应用领域 CDS5516 继承RC 舵机的优点,并针对机器人应用进行了优化。其理想应用领域是: l 小型仿人形机器人 l 小型关节式机器人 l 其他小型仿生机器人 l 机器人轮子、履带驱动 l 需要简单位置控制的工业自动化 3.红外线传感器 红外线传感器是利用红外线的物理性质来进行测量的

9、传感器。红外线又称红外光,它具有反射、折射、散射、干涉、吸收等性质。 4.灰度传感器 灰度传感器是模拟传感器,有一只发光二极管和一只光敏电阻,安装在同一面上。灰度传感器利用不同颜色的检测面对光的反射程度不同,光敏电阻对不同检测面返回的光其阻值也不同的原理进行颜色深浅检测。在有效的检测距离内,发光二极管发出白光,照射在检测面上,检测面反射部分光线,光敏电阻检测此光线的强度并将其转换为机器人可以识别的信号。四、课程设计步骤 1、机构设计整个全向运动搬运机器人由大致三个模块组成:1.由4直流电机与4轮组成的驱动模块。2.由7舵机组成的搬运卸载模块。3.又1个红外线传感器和两个灰度传感器组成的传感模块

10、。 2、其完成的任务为 1.沿着指定黑色轨迹带上进行运动,停止以及调整动作转弯,这个功能由驱动部分和红外线传感部分协作完成。2.在指定地点进行货物的搬运与卸载,这一部分主要由机器人上部的机械手和灰度传感部分协作完成。实际图 通过Solidworks装配零件如下图,并进行运动仿真,曲线见附页3、机构装配 整个全向运动搬运机器人由1个控制板,4个电机组成转向机构,7个舵机组成手臂模块,1个红外线传感器和2个灰度传感器以及相应的连接件构成。 安装舵机前,先将舵机接入控制板上的CH端口,将舵机复中位,减少以后调试过程中由于中位不对而导致的重新搭建的冗余过程。先将4个直流电机与转向舵机组成驱动模块组装完

11、成后,与底板固定完成底部的搭建工作,在机械臂中分配7个舵机,一个舵机负责夹子的转动,一个舵机负责夹子的夹紧与松开功能,其他舵机负责装夹物的定位。4、连接电缆 1.将车轮4个电机串联在一起,再通过一端接入MultiFLEX控制卡上。 2.将车轮7个舵机串联在一起,再通过一端接入MultiFLEX控制卡上。 3.将红外线传感器接入MultiFLEX控制器io口上。 4.将两个灰度传感器接入MultiFLEX控制器ad口上。5、微调初始姿态为了更好的进行预期动作,可以将机器人的舵机位置调整合适,由于之前已将舵机调整中位,所以这部调整较为简单,只需旋转舵机的舵盘的位置即可,即当机器人通电后,舵机自动调

12、至中位,此时为机器人的初始姿态。之后的所有调试,都是基于这个初始姿态设计的。6、机器人步态调试我们在UP-commander下调试机器人的预期动作,通过调节舵机转角、转速,电机的转速、运动时间来完成预期机器人的动作,包括机器人的直行,转弯,机械臂的装夹物件等动作,过程中应注意USB-Serial接口的位置,金属片应指向芯片。在在线调试环境中,完成各个动作的细节数值,包括转角,转速及运动时间等。由于UP-commander环境下无法读取IO口的数值,所以要完成传感器部分的设计必须采用C语言的调试环境。7、AVR Studio调试程序在该编译环境下,可以更直观的观测到所有输出与输入端口,可以很好的

13、完成对机器人的控制。源代码见附页,程序流程如下: 当小车偏离黑色带时,灰度传感器检测到偏离,当左边灰度传感器检测到时,控制器控制左边车轮前进,右边车轮后退,就实现了小车向右转弯,当右边灰度传感器检测到时,控制器控制右边车轮前进,左边车轮后退,就实现了小车向左转弯,若没有检测到黑带,左右车轮都前进,当前面有障碍物时,红外线传感器检测到障碍物,向MultiFLEX控制器io口上传输低电平,机器人停止前进,控制器向手臂发出指令,这时各舵机按照手臂预定动作程序运动。五、功能描述该自动巡线机器人能够准确的识别小弧度的弯道,并能迅速准确的校正前进的姿态保证机器人能够准确的沿指定的路线前进,并在指定的位置停

14、止,装夹货物。六、 总结通过这次课程设计,我们了解了机器人的制作过程,自己亲手安装调试开发机器人,不仅锻炼了我们的动手能力,而且还在过程中熟悉了嵌入式系统的编程设计,不知不觉中锻炼了我们的创新思维。平时在课上学到电机和运动副的问题,却很少有机会去动手实现这些,这次让不但让我们亲手接触这些,还学会了控制电机,运用他们调整机器人的运动及稳定性。不仅将平时课本中的知识移植到了实验中,还在实践中不断的完善知识体系,更好的达到了学以致用的目的。整个课程设计下来,发觉那些看似高科技的机器人原来离我们并不那么遥远,只要好好发挥我们的创新能力,没有做不到的只有想不到的。其实我们想开发的功能还很多,但是由于时间

15、和器件的问题,我们只开发了机器人中的一小部分,当这一小部分就让我们感受到了其中的艰辛与快乐。当调试过程中屡次受挫时,我们没有放弃,不断的修改程序,不断的仿真曲线,当我们初见成效时,我们击掌相庆。总之,经过了这个课程设计让我们受益匪浅,锻炼自己的动手能力,还体现了团队合作的精神,从头到尾我们都是一个团体,收获颇多。附页:一、Solidworks运动仿真曲线:图1 前轮角速度曲线图2 前轮角加速度曲线图3 前轮平均速度曲线图4 前轮动能曲线图5 前轮舵机角速度曲线图6 前轮舵机角加速度曲线图7 舵机动能曲线2、 机器人装配图:3、 机器人工程图四、C语言源程序#include Apps/Syste

16、mTask.huint8 SERVO_MAPPING11 = 1,2,3,4,5,6,7,10,20,30,40;int main() int ad2 = 0; int io0 = 0; MFInit(); MFInitServoMapping(&SERVO_MAPPING0,11); MFSetPortDirect(0x00000FFE); MFSetServoMode(1,0); MFSetServoMode(2,0); MFSetServoMode(3,0); MFSetServoMode(4,0); MFSetServoMode(5,0); MFSetServoMode(6,0); M

17、FSetServoMode(7,0); MFSetServoMode(10,1); MFSetServoMode(20,1); MFSetServoMode(30,1); MFSetServoMode(40,1); while (1) io0 = MFGetDigiInput(0); ad0 = MFGetAD(0); ad1 = MFGetAD(1); if (io0=0) MFSetServoPos(1,860,80); MFSetServoPos(2,488,80); MFSetServoPos(3,210,80); MFSetServoPos(4,400,80); MFSetServo

18、Pos(5,540,80); MFSetServoPos(6,860,80); MFSetServoPos(7,290,80); MFSetServoRotaSpd(10,0); MFSetServoRotaSpd(20,0); MFSetServoRotaSpd(30,0); MFSetServoRotaSpd(40,0); MFServoAction(); DelayMS(8000); MFSetServoPos(1,860,80); MFSetServoPos(2,488,80); MFSetServoPos(3,220,80); MFSetServoPos(4,400,80); MFS

19、etServoPos(5,540,80); MFSetServoPos(6,860,80); MFSetServoPos(7,510,80); MFSetServoRotaSpd(10,0); MFSetServoRotaSpd(20,0); MFSetServoRotaSpd(30,0); MFSetServoRotaSpd(40,0); MFServoAction(); DelayMS(3000); MFSetServoPos(1,550,80); MFSetServoPos(2,488,80); MFSetServoPos(3,300,80); MFSetServoPos(4,420,8

20、0); MFSetServoPos(5,550,80); MFSetServoPos(6,860,80); MFSetServoPos(7,510,80); MFSetServoRotaSpd(10,0); MFSetServoRotaSpd(20,0); MFSetServoRotaSpd(30,0); MFSetServoRotaSpd(40,0); MFServoAction(); DelayMS(4500); MFSetServoPos(1,550,80); MFSetServoPos(2,488,80); MFSetServoPos(3,300,80); MFSetServoPos(

21、4,420,80); MFSetServoPos(5,550,80); MFSetServoPos(6,860,80); MFSetServoPos(7,300,80); MFSetServoRotaSpd(10,0); MFSetServoRotaSpd(20,0); MFSetServoRotaSpd(30,0); MFSetServoRotaSpd(40,0); MFServoAction(); DelayMS(4000); MFSetServoPos(1,680,60); MFSetServoPos(2,488,60); MFSetServoPos(3,400,60); MFSetSe

22、rvoPos(4,300,60); MFSetServoPos(5,420,60); MFSetServoPos(6,860,60); MFSetServoPos(7,300,60); MFSetServoRotaSpd(10,0); MFSetServoRotaSpd(20,0); MFSetServoRotaSpd(30,0); MFSetServoRotaSpd(40,0); MFServoAction(); DelayMS(5000); MFSetServoPos(1,860,80); MFSetServoPos(2,488,80); MFSetServoPos(3,860,80);

23、MFSetServoPos(4,770,80); MFSetServoPos(5,680,80); MFSetServoPos(6,860,80); MFSetServoPos(7,300,80); MFSetServoRotaSpd(10,0); MFSetServoRotaSpd(20,0); MFSetServoRotaSpd(30,0); MFSetServoRotaSpd(40,0); MFServoAction(); DelayMS(4000); else if (ad0300) MFSetServoPos(1,860,80); MFSetServoPos(2,488,80); MFSetServoPos(3,860,80); MFSetServoPos(4,770,80); MFSetServoPos(5,680,80); MFSetServoPos(6,860,80); MFSetServoPos(7,300,80);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论