江苏大学创新课程结题报告(履带机器人).docx_第1页
江苏大学创新课程结题报告(履带机器人).docx_第2页
江苏大学创新课程结题报告(履带机器人).docx_第3页
江苏大学创新课程结题报告(履带机器人).docx_第4页
江苏大学创新课程结题报告(履带机器人).docx_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

履带机器人创新课程结题报告 组员: 顾志伟3130304046 杨成武 3130304047焦建祥 3130304048郭全燃3130304049指导教师:肖凤 一、履带机器人作品简介履带机器人,是指该机器人所用履带的构形可以根据地形条件和作业要求进行适当变化。该机器人的主体部分是两条形状可变的履带,分别由两个主电动机驱动。当两条履带的速度相同时,机器人实现前进或后退移动;当两条履带的速度不同时,机器人实现转向运动。通过控制舵机使得履带机器人的机械手臂自由转动并能抓取物体。履带机器人的控制是基于Arduino软件开发的。Arduino 是一款便捷灵活、方便上手的开源电子原型平台,包含硬件(各种型号的 Arduino 板)和软件(Arduino IDE)。它构建于开放原始码 simple I/O 介面版,并且具有使用类似 Java、C 语言的Processing/Wiring 开发环境 Arduino 可以接收来自各种传感器的输入信号从而检测出运行环境,并通过控制光源, 电机以及其他驱动器来影响其周围环境。 Arduino 具有以下明显优势:1.开放的源代码。2.简单的编译语言,编译环境。其上位机软件界面整洁简单易学,故由 Arduino 开发的产品也是五花八门。产品应包括传感器,开发板,及输入输出设备。不同的开发板也有不同的规格。通过机器人零件的组装和软件的调试后,履带机器人就能达到我们的要求自由的移动以及抓取物品。二、履带机器人课程任务1. 安装装配履带机器人,并对履带机器人车体实现前进、后退、转弯等运动控制;2装配好机器人上的机械手臂,并编程实现货物机械手臂的运动控制;3. 编写程序,使得履带机器人完成如下图所示的任务:机器人从起点出发到达终点后机械手抓取货物后沿原路返回到终点。机器人运动的控制方式不限形式,可以采用手柄控制、语音控制、传感器循迹控制、蓝牙、WiFi等多种形式,只要实现上述运动轨迹要求即可。4. 撰写履带机器人创新课程结题报告,报告包含以下内容:履带机器人作品简介、研制过程、创意设计及实现,自我评价、作者的自我介绍及完成课程的心得体会等。三、履带机器人研制过程1.车体拼装及调试 履带车车体上下板由四根铜棒支撑,左右两板与上下两板由螺钉链接,左右两板各五个轴承以支撑履带,左右各设置一直流电动机,与齿轮相连,齿轮与履带啮合,带动履带运动。为保证履带长度适宜,需对履带进行剪裁,各部分安装时螺钉处需加弹簧垫片防松。具体安装步骤参考Robo-Soul TK 系列履带底盘组装教程,安装果见下图: 车体安装部分需要注意 相同部分铜棒应保证使用一致。 螺钉与螺母及垫圈应配套使用。 轴承应紧定。 履带应保证与齿轮啮合良好, A 侧朝外。 电动机应保证内部齿轮啮合良好,不允许出现松动及卡死现象等。车体的控制即控制两电动机协调转动。控制部分为 Arduino Romeo 板及双通道电机驱动器系列 DBH-1 series(以下称放大板)共同控制,放大板实现将信号电压放大以控制电机转动的目的,Romeo 有上位机软件 Arduino 控制,传输并处理信号,Romeo 可用 USB 或电池供电,放大板必须用电池提供放大电压,接线参考DBH-1_系列电机驱动使用手册,如下图所示。欲采用电池为 Romeo 供电,需将放大板供电端口并联至 Romeo 外电源,外电源接口处有开关可控制是否供电。程序控制部分:(1)车体运动的控制电机转速可调整,相应端口需接PWM,即模拟量输出,输出值大小决定电机转动状态及速度,模拟量输出采用analogWrite()语句。由于电机输出功及履带长度的影响,相同模拟量输出下两电机转速可能不同,需进行测试确定,保证相应输出下车体可走直线。(2)蓝牙模块的调试脱机工作采用蓝牙控制,蓝牙模块为BLE-Link,Romeo上具有蓝牙模块接口,由于Romeo特点,蓝牙接口为1号串口,本组采用串口监视器监控输入,应注意语句使用对应1号端口。蓝牙模块可与手机配对,需蓝牙4.0以上版本,蓝牙模块波特率可直接利用Arduino IED上位机软件串口设置。设置步骤及语句如下:打开串口监视器,设置115200bps及Both NL&CR,发送+,显示Enter AT mode表示进入AT指令模式,选择没有结束符输入指令。常用AT指令如下:AT+ROLE=? 查询芯片主从状态 ROLE-CENTRAL 主机;ROLEPERIPHERAL 从机; AT+UART=* 设置波特率为* AT+NAME= 设置和查询当前设备名称为 AT+EXIT 退出 AT 指令模式(3)手机与蓝牙模块的配对为保证正确配对,我们使用手机为iphone5s蓝牙版本4.0,软件使用bluno终端。最终控制程序如下:int a=11; int b=10; int c=6; int d=5; void setup() pinMode(a,OUTPUT); /此处确定输入输出端口, pinMode(b,OUTPUT); pinMode(c,OUTPUT); a/b控制左边履带,c/d控制右边 pinMode(d,OUTPUT); 履带。 Serial1.begin(115200); /Serial1.代表1号串口,由蓝 void loop() int chuan; if(Serial1.available() 牙模块输入信号。 chuan=Serial1.read(); if(chuan=q) qian(); if(chuan=h) hou(); /利用 if 语句控制车体运 if(chuan=z) zuo(); 动状态。 q 代表前;h 代表后;z 代表左;y 代表右;t 代表停。 if(chuan=y) you(); if(chuan=t) ting(); void qian() analogWrite(a,LOW); analogWrite(b,160); analogWrite(c,120); analogWrite(d,LOW); void hou() analogWrite(b,LOW); analogWrite(a,159); analogWrite(c,LOW); analogWrite(d,157); void you() analogWrite(b,159); analogWrite(a,LOW); analogWrite(c,LOW); analogWrite(d,LOW); delay(2150); ting(); void zuo() analogWrite(a,LOW); analogWrite(b,LOW); analogWrite(d,LOW); analogWrite(c,157); delay(2150); ting(); void ting() analogWrite(a,LOW); analogWrite(b,LOW); analogWrite(d,LOW); analogWrite(c,LOW); 将蓝牙模块安装在Romeo控制板指定的接口,在Romeo控制板中写入上述程序,即可通过手机控制车体前后左右运动。手机发送命令对应的车体运动形式如下表所示。Q前进H后退Z向左转Y向右转T停止 2.机械手臂的安装及调试 机械手臂安装主要由顾志伟、杨成武和郭全燃参考安装说明共同完成。 机械手臂主要实现抓取重物的目的,由六个舵机实现多个旋转自由度运动,自上向下为方便区分,我们将其记为1/2/3/4/5/6,1号可控制整体绕竖直轴旋转,2号、3号、4号均负责分级抬升重物,5号负责手臂绕轴旋转,6号控制手臂张合。 舵机的控制可利用上位机软件控制其角度,将程序写入舵机控制板中,利用手柄控制,根据实际情况,我们拟定了最初方案,将动作组写入了控制板中,但是在执行动作时手臂出现震动不止的现象,老师给出建议,直接将语句写入莱奥纳多中,只使用一个板便可实现控制车体与手臂两部分,接口不够可以只使用两到三个舵机即可实现抓取重物的目的。决定只使用 1 号、3 号及 6 号舵机。 舵机的控制可利用上位机软件控制其角度,将程序写入舵机控制板中,利用手柄控制,根据实际情况,我们拟定了最初方案,将动作组写入了控制板中,但是在执行动作时手臂出现震动不止的现象,老师给出建议,直接将语句写入莱奥纳多中,只使用一个板便可实现控制车体与手臂两部分,接口不够可以只使用两到三个舵机即可实现抓取重物的目的。决定只使用 1 号、3 号及 6 号舵机。 结合最初控制接电机四个 pwm 接口,至少需要六个模拟信号端口,最初决定的 a=11,b=10,c=6,d=5,此处首先使用 2,9 号端口,只控制 3号及 6 号舵机。 写入程序如下:#include Servo myservo1; Servo myservos; Servo myservoz; int a=11; int b=3; int c=6; int d=5; int ang=0; void setup() myservo1.attach(2); myservos.attach(9); myservoz.attach(4); pinMode(a,OUTPUT); pinMode(b,OUTPUT); pinMode(c,OUTPUT); pinMode(d,OUTPUT);/ put your setup code here, to run once: Serial1.begin(115200); void Initial() myservo1.write(0); myservos.write(0); myservoz.write(0); void loop() int chuan; if(Serial1.available() chuan=Serial1.read(); if(chuan=q) qian(); if(chuan=h) hou(); delay(3500); ting(); if(chuan=z) zuo(); if(chuan=y) you(); if(chuan=k) xiaozuo(); if(chuan=l) xiaoyou(); if(chuan=t) ting(); if(chuan=w) qian(); delay(250); ting(); if(chuan=e) qian(); delay(3500); ting(); if(chuan=1)for( int angle=0;angle=0;angle-) myservo1.write(angle); delay(20); if(chuan=3)for( int angle=30;angle=30;angle-) myservos.write(angle); delay(20); if(chuan=5) ang=ang+5; myservoz.write(ang); if(chuan=6) ang=ang-5; myservoz.write(ang); void qian() analogWrite(a,LOW); analogWrite(b,152); analogWrite(c,157); analogWrite(d,LOW); void hou() analogWrite(b,LOW); analogWrite(a,163); analogWrite(c,LOW); analogWrite(d,157); void zuo() digitalWrite(a,158); digitalWrite(b,LOW); digitalWrite(d,LOW); digitalWrite(c,157); delay(627); ting(); void you() digitalWrite(b,158); digitalWrite(a,LOW); digitalWrite(c,LOW); digitalWrite(d,157); delay(634); ting(); void ting() digitalWrite(a,LOW); digitalWrite(b,LOW); digitalWrite(d,LOW); digitalWrite(c,LOW); void xiaoyou() analogWrite(b,200); analogWrite(a,LOW); analogWrite(c,LOW); analogWrite(d,LOW); delay(400); ting(); void xiaozuo() analogWrite(a,LOW); analogWrite(b,LOW); analogWrite(d,LOW); analogWrite(c,200); delay(400); ting(); 四、自我评价及作者的自我介绍 本次创新课程我们小组四人:顾志伟,杨成武,焦建祥,郭全燃,顾志伟和杨成武动手能力较强,主要负责组装车体,调试软件,对车体出现的问题进行分析并汇总;焦建祥对软件知识较为了解,思维清晰,主要负责车体控制软件Arduino的编译,郭全燃总结能力较强,主要负责对课程中出现的问题进行记录并完成结题报告的书写。五、完成课程的心得体会创新课程个人总结及心得体会 时至今日,我们小组的创新课程任务也告一段落,这一个学期,算是我目前的大学生涯中最为充实的一个学期,我和我的同学们一起完成了创新课程的任务。 在我们小组中,虽说有着各自的分工,我因为不太擅长编制程序,所以编程的任务主要落在了其他的同学身上,一开始,我完成自己的组装工作,之后又开始在一旁关注同学的编程进展,对于那些一串串的代码,带给我们机器人各种的指示,让它按我们的要求完成老师交于的任务。 随着编程的进展,我对编程的兴趣也愈来愈强烈,开始在一旁尝试着提出自己的建议,虽然大部分都是我们不太可能实现的复杂程序,但在这其中我也开始了解编程。 总而言之,在这一次的创新课程中,不仅加深了我和同学的友谊,更重要的是提高了我的动手能力,以及引起了我对编程的兴趣,同时让我对自己所学的知识有了更进一步的了解,在此,本次课程设计已经正式结束了,天下没有不散的宴席,这一次的经验对我很有帮助,以后若是有类似的活动,我相信我还会继续参加。 顾志伟 3130304046创新课程个人总结及心得体会这学期进行的创新课程是履带机器人的制作拼装已经编程运行。在这过程中完全是我们自己动手做的,有遇到的问题也是在查找各种原因之后慢慢解决,感觉对自己来说有很多提高,锻炼了发现问题,解决问题的能力,已经团队配合的重要性。在一个组中,每个人有自己的想法,但是不可能去考虑所有人的想法,大家都尽量配合其他人,也都努力去做好每个细节,不论是在车的拼装还是在编程方面,我们都把大家的智慧集中起来,这样才能更有效率的去完成。另一方面,在做的过程中我们遇到了许多的问题,比如在拼装小车时电动机不能转动,后来检查程序,检查线路,最后没发现问题后就断定电动机出问题,把电动机拆下来打开后才发现是轴上的齿轮脱落了。问题很多,但是只要一条条排除可能性才能够解决问题。在这不断发现问题解决问题的过程中,自己对编程机器人越来越感兴趣,也学到了许多东西,学习了arduino编程控制,电动机原理,PWM舵机控制等。实践出真知,许多知识只有去认识去运用才能理解的更加透彻。这个创新课程做了一个学期,时间比较长,而且平时课业不较多,直到最后考试的时候也没做完,压力比较大了,有时候都想放弃去做,最后还是做完了,坚持做完一件事情是非常重要的,到最后的时候小车程序调试完成,发现程序几乎没错误,但是小车不能按预定的方向跑,查了一早上的原因都没找出来,换了几块控制板都没什么作用,再坚持把控制串口改了,做了好多调试才能做好。坚持真的太重要了。在这个创新课程中,我们能发现自己的许多不足并且去完善这些不足,我觉得这是最重要的。 杨成武 3130304047创新课程个人总结及心得体会这学期进行的创新课程是履带机器人的安装和设计运行。我们首先对控制板进行学习和认识,包括程序的调试,以及如何编写程序等。在学习的过程中我们遇见了好多的问题,但我们很认真的查找资料和询问老师解决了问题,在过程中得到了好多编程的技巧,提高了自己编程能力和锻炼了自己的逻辑思维能力,并且知道了团队配合的重要性。学习了arduino编程控制,电动机原理,PWM舵机控制等。在安装车的过程中,看到那些设计很有技巧零件,感觉到了机械的奥妙,只要设计合理,不但可以实现特定的功能,而且可以很美观。但是在这个过程中也遇见了好问题,我想只要去实践们都会有问题,都会有收获问题很多,但是只要一条条排除可能性才能够解决问题。在这不断发现问题解决问题的过程中,自己对编程机器人越来越感兴趣,也学到了许多东西,实践出真知,许多知识只有去认识去运用才能理解的更加透彻。一学期的课程,时间比较长,平时压力也挺大的,但现在回想起来觉得这次体验也是很不错的,也是很独特的,当看到我们自己的车完成了特定的要求以后,心里挺是欣慰的。除此之外,也增强了我们的团队合作精神。焦建祥 3130304048创新课程个人总结及心得体会经过近一个学期的学习和实践,我们小组的履带机器人最终得以完成,而此学习课程也将拉下帷幕。在这门课程的学习过程中,我们小组成员配合默契,交流完善,虽然在制作机器人的过程中遇到了不少困难,但也最终披荆斩棘攻克难关,为机器人学习课程画下一个相对圆满的句号,我个人在学习过程中也收获颇丰。 首先,在课程刚开始的时候自己对于Arduino是没有任何了解和认识的。现在的相关知识都是这个学期一点一滴积累起来的。总的来说,在我的认识中, Arduino板就是一个小型处理中心,其上有输入端和输出端。输入过程中,我们可以通过电压的输入给板子供电,可以通过传感器采集的数字或者模拟信号输入到板中,也可以通过串口将数据输入到板中。之后我们通过Arduino板输出合适的电平,来为执行元件提供合适的电压,或者将电平输入到下一级中作为输入信号。总之,Arduino板的工作原理相对简单,用电路的理解方式就可以明白其原理,其本质过程就是采集电平与输出电平。Arduino 板的这一本质也提醒我们:只要能够通过一个变量来描述某一个量的变化,不管是通过传感器采集还是串口通信,我们都可以通过硬件将这个变量采集并加以控制和调节。例如:通过串口通信接收到数据a,通过串口读取函数就可以读取数据然后处理,接下来调整输出的电平控制输出并且用串口发送函数将相应的信息传送出去。理论上,只要是一个变化量,我们都能够通过Arduino板控制。在硬件方面,我们还可以自己设计并完成所需要的电路。比如通过发光二极管,面包板就可以设计跑马灯的简单电路。设计过程中会用到一点电路和模拟电子的知识,最起码不能将硬件设备烧坏。 软件方面,Arduino编程语句与C语言几乎没有差别,所以在编程方面不会有太大的问题。还记得刚开始上课的时候BLINK程序老师都会让我们看很久,当时还觉得很难懂。现在想来,只要把握一下 Arduino 中一些基本的函数(如: digitalWrite 等)那些程序示例也可以当场学会的。这也说明了刚开始学习一件新事物的时候,相关概念和基础知识是十分重要的。 在最后一个环节,履带机器人的组装和控制的过程中遇到的问题最多,学到的东西也最多。首先在机器人装配

温馨提示

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

评论

0/150

提交评论