机器人实验实验报告

上传人:新** 文档编号:498130363 上传时间:2023-02-20 格式:DOCX 页数:12 大小:336.51KB
返回 下载 相关 举报
机器人实验实验报告_第1页
第1页 / 共12页
机器人实验实验报告_第2页
第2页 / 共12页
机器人实验实验报告_第3页
第3页 / 共12页
机器人实验实验报告_第4页
第4页 / 共12页
机器人实验实验报告_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《机器人实验实验报告》由会员分享,可在线阅读,更多相关《机器人实验实验报告(12页珍藏版)》请在金锄头文库上搜索。

1、审0讦滋中国农业大学课程论文(2013-2014学年秋季学期)论文题目:机器人创新实验(1)实验报告课程名称:机器人创新实验(1)任课教师:班 级:姓 名:学 号: 机器人创新实验(1)实验报告关键字:ARM TKStudio集成化编程C语言传感器舵机控制摘要:机器人创新实验课引导我们综合利用机械扩展、电子扩展、软件扩展及传 感器扩展能力,以创新为主题,自主完成从机器人的机构组装到编程控制。通过 这门课程,我初步掌握了有关机器人技术的基本知识和机器人学所涉及的技术的 基本原理和方法,加深了对理论知识的理解和掌握。一、认知实验:了解探索者机器人实验一这门课用到的教学材料是探索者教学机器人创新套件

2、。通过这 个实验平台,我们可以完成机器人的创新设计、组装以及编程控制。在前期的认 知实验中,我们搭建了一个二轮驱动的自动避障小车,并且实现了对它的控制, 从而对探索者有了很好的了解。(一)机械部分探索者的机械零件包括金属件、塑胶件、舵机、零配件四部分。其中金属件 共有29种,具有相同的壁厚和丰富的扩展孔。舵机分为圆周舵机和标准舵机两 种。同学们在创新设计的过程中可以根据零件的特点,灵活运用,合理搭配,从 而实现自己所设计的机械结构以及运动方式。(二)控制部分我们使用的Robotway ARM7 LPC2138主控板采用32位高性能实时嵌入式芯片,支持用户自定义开发,开放电路图、源代码、库函数。

3、探索者套件中包含了触碰传感器、触须传感器、近红外传感器、声控传感器等八种传感器,可以实现寻线、避障、声光等多种控制。(三)编写和烧录程序我们使用的编译环境是TKStudio。由于我们并没有学习过单片机,所以编 程对我们来说是一个难点。我们先从实验指导书上简单的例程开始学习,结合C 语言的知识,逐渐掌握了 ARM的编程方法。烧写程序的时候,我们用到的是Phil ips Flash U tility软件。使用的过程 是:1、选择端口; 2、读取主控板的ID号;3、擦除主控板中原有的程序;4、 选择自己的程序;5、上传。(四)认知实验成果仿照扫地小车例子,我们制作了属于我们自己的自动避障小车,功能包

4、括碰 到左右障碍在制作的过程中详细了解了安装机械部件的技巧以及圆周舵机、传感 器等的控制方法,为之后的创新实验积累了宝贵的经验。经验总结:1检验器材:在使用主板和传感器之前,要先对各个端口进行检查。做好前期的准备工作 是很重要的。具体方法是:编写一个让所有端口均输出令圆周舵机不停旋转信号 的程序,烧制程序至主板芯片中,然后启动芯片,将一个圆周舵机依次连接各端 口即可检查每个端口的完好性,同时这也是检验舵机完好性的好方法。在实验前 对器材进行测试是必要的。2.构件连接:机械结构可能会随着设计而进行局部的改变,因此拧连接螺钉时不必将所有 空位均固定牢靠,开始搭建时可以只对必要的空位进行连接,比如只

5、拧紧对角线 两个螺钉,待到结构确认无误时在紧固所有螺钉,方便改造重组,节约时间。另 外为方便拆卸,应将螺母统一放置一侧,最好是便于使用扳手的部件外部。3.程序编写:编写程序前需按照教程进行相应配置,否则编译时即使没有语法错误,也无 法编译成功。在阅读例程并进行实验充分理解语句含义以及传感器、舵机、端口 的使用方法的基础上开始编程,为了便于调试编写相关语句(LedIn,LedOut)将 各个端口的工作状态用led信号灯表示出来,实验时可根据led信号灯判断程序 运行是否正常,舵机、传感器是否运行正确。二、创新实验方案设计(一) 结构组装在最后一次创新实验中,我们最初的构想是一只可以切换运动方式的

6、机器小 猫。第一种运动方式是标准四足的行走方式。由一个圆周舵机带动两组偏心轮四 杆机构,实现和动物相似的对角线交替的行走方式。如下图所示:右傅两足状态2第二种运动方式为两轮驱动,四足静止的行走方式。两个车轮最初处于悬空 状态,声音传感器触发后,控制两个标准舵机转动一定角度,使车轮着地,完成 前进方式的转换。下面是我们依据这种构想搭建的机械小猫:之后我们在不接传感器的情况下用简单的程序来测试机械猫两种方式下的 运动情况,结果却不尽人意。首先是舵机太多。其次整个机构的结构太繁琐,稳 定性不够,很难维持平衡。由于带动四杆机构的轴比较短,机构太重的话也不够 稳固。所以我们对整个机构进行了简化,舍弃了车

7、轮的部分。下面是改进后的机 械小猫:(二)传感器设置改进后,我们对机械小猫的功能设计为:电源启动后,圆周舵机工作,小猫 开始前进。如遇到前方有障碍物,则后退10秒。当接收到声音信号时,停止前 后运动,同时颈部的标准舵机转动一定角度,完成转头的动作。因此我们的小猫 中对应地设置了一个近红外传感器和一个声音传感器,分别实现避障和转头的功 能。上图中的触须传感器是为了美观设置的。(三)程序编写1. 初步设计端口兀件类型安装位置及功能Servo(l,*)圆周舵机左轮前进、后退、转弯Servo(2,*)圆周舵机右轮前进、后退、转弯Servo(3,*)标准舵机左臂 旋转90度收放左轮Servo(4,*)标

8、准舵机右臂 旋转90度收放右轮Servo(5,*)标准舵机脖子左右转动幅度180度Servo(6,*)圆周舵机带动四足机构单向匀速旋转Input(1,1)触觉传感器左头部左侧收到信号右转Input(2,1)触觉传感器右头部右侧收到信号左转Input(3,1)红外传感器头部前方收到信号后退并原地转弯Input(4,1)声音传感器机身后方收到信号由轮子跑模式切换到四足行走模式#include config.h #include lib_io.h#include lib_arm.hint main(void) int i;unsigned int flag=1;Initial_ARM();Delay

9、NS(1500); while (1)if (Input(1,1)=1) /左触觉传感器触发 LedIn(1,2); LedIn(2,0); LedIn(3,0); LedIn(4,0); LedOut(1,1);LedOut(2,0);信号灯标识舵机、传感器工作状态Servo(1,60); /左轮向前转,右转 Servo(2,90); /右轮不动,右转 DelayNS(1500); /右转 1.5s flag=1;else if (Input(2,1)=1) /右触觉传感器触发LedIn(1,0);LedIn(2,2);LedIn(3,0);LedIn(4,0); LedOut(1,0);L

10、edOut(2,l);信号灯标识舵机、传感器工作状态 Servo(1,90); /左轮不动,左转Servo(2,l20); /右轮向前转,左转DelayNS(1500);右转 1.5s flag=l;else if (Input(3,1)=1) /前方有障碍物,红外传感器触发 LedIn(1,0);LedIn(2,0);LedIn(3,2);LedIn(4,0);LedOut(1,1);LedOut(2,l);信号灯标识舵机、传感器工作状态 Servo(1,120);Servo(2,60);左右轮同向同速转,后退DelayNS(lOOO);/后退 ls Servo(l,l75);Servo(2

11、,l75); /左右轮反向同速转,原地旋转 DelayNS(2100);原地打转 2.1s flag=l;else if (Input(4,1)=1) /声音传感器触发Servo(1,90);Servo(2,90); /左右轮停止旋转Servo(3,90);DelayNS(1000);Servo(4,90);DelayNS(lOOO);/标准舵机带动左右臂向前上方旋转,收起轮子 for (i=0;i6;i+)Servo(5,0);脖子标准舵机左转至0度DelayNS(200);Servo(5,180);脖子标准舵机右转至180度DelayNS(200);Servo(5,90);脖子标准舵机回归

12、原始方位DelayNS(200); /以上程序实现脖子扭动数次Servo(6,60);/圆周舵机匀速旋转,带动四足机构向前踱步 DelayNS(10000);持续 10 秒 flag=1; if (flag=1) flag=0;LedIn(1,0);LedIn(2,0);LedIn(3,0);LedIn(4,2);LedOut(1,1);LedOut(2,1);信号灯标识舵机、传感器工作状态 Servo(3,0);DelayNS(1000);Servo(4,180);DelayNS(lOOO);/标准舵机带动左右臂向下方旋转,放下轮子 Servo(1,60);Servo(2,120);左右轮同

13、速同向旋转,前进 /不经传感器触发,向前行走 return(1);2. 改进程序:端口兀件类型安装位置及功能Servo(1,*)圆周舵机带动四足机构单向匀速旋转Servo(2,*)标准舵机脖颈部180度范围内旋转摇头Input(1,1)红外传感器头部前方收到信号后退Input(2,1)声音传感器机身后方收到信号摇头#include config.h#include lib_io.h#include lib_arm.hint main(void)int i; unsigned int flag=1; Initial_ARM(); DelayNS(1500); while (1) f (Input

14、(1,1)=1)声音传感器触发,摇头 for (i=0;i10;i+) Servo(2,0);脖子标准舵机左转至0度 DelayNS(200);Servo(2,180);脖子标准舵机右转至180度 DelayNS(200);Servo(2,90);脖子标准舵机回归原始方位 DelayNS(200); flag=1;else f (Input(2,1)=1)红外传感器触发,摇前方有障碍,后退Servo(1,120); /圆周舵机带动四足机构进行后退踱步DelayNS(10000);flag=1;if (flag=1)flag=0;Servo(1,60); /圆周舵机带动四足机构进行前进踱步ret

15、urn(1);编程设计经验总结:1)舵机控制: 实现机器人各个动作的核心是舵机控制,而我们的实验器材中有两种舵机, 一种是圆周舵机,可以实现正反向圆周转动;另一种是标准舵机,可实现 180 度范围内的指定角度的旋转。通过实验发现,圆周舵机的控制值范围为 0180,其中值为 90 时舵机静止, 小于 90 为逆时针(从舵机外部看,也就是从舵机伸向外部的旋转端看)旋转, 大于90 为顺时针旋转,且值偏离 90 越多,速度越大,即0 和180 为正反向旋转 的最大速度。标准舵机的控制值范围也为 0180,值得大小代表旋转的度数大小,可以进 行指定度数的旋转控制。根据两种舵机的特性,我们设计将圆周舵机用于轮子的传动,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号