版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验一教你的机器人"走路"一、 要求与目的熟悉机器人用于走路的“脚”,要教你的机器人学会走路,同时你要掌握控制机器人走路的基本方法。二、 内容1、 机器人为什么会“走”要想让机器人移动,就要控制电机的转动。控制机器人"行走”的基本指令是motor(x,y)函数和drive(x,y)函数。2、 驱动电机的函数通过JC程序控制电机转动,使机器人行走的指令有两个,它们是motor(x,y)函数和drive(x,y)函数,介绍:一、motor(x,y)函数此函数是“启动”电机,x取值1、2,分别表示左右两个电机;y表示电机转速两个电机同时以相同速度启动,意味着什么?机器人将怎样运动?答:机器人将直走。进一步讨论:如果将一侧电机速度改为0,机器人将会怎样运动?(顺时针、逆时针旋转)答:左侧电机速度为零,则逆时针旋转;反之,则顺时针旋转。实验题一:让机器人顺时针、逆时针旋转用vjc语言或者流程图让能力风暴顺时针走直径约1米的圆形路径;程序:voidmainQ{wlule(l){motoi(1,80);motoi(2,20);}stopO;}用vjc语言或者流程图让能力风暴逆时针走约1米立方的正方形路径:程序:voidmainQ{wlule(l){dnve(100,0);wait(1.000000);stop();motoi(1,-20);motoi(2,20);wait(0.500000);stopO;}实验题二:首先机器人前进2秒,之后机器人逆时针旋转1.8秒,然后机器人前进1秒,最后停下来。小结:motor函数主要是实现旋转。实验代码:VoidmainQ{Drive(60,0);Wait(2.000000);StopQ;Drive(0.-60);Wait(l.800000);StopQ;Drive(80,0);Wait(1.000000);StopQ;二、drive(x,y)函数此函数是“直行”,X表示基准速度,y表示左右电机与基准速度的差。机器人左侧电机速度为x-y,右侧电机速度为x+y。推断:drive函数既可以直行,也可以转弯。试一试下面程序能够干什么? 答:可以画圆。Voidmam(){drive(60r20);wait(U.O); 一一参数11.0可以调整,调整的变化是什么?stopQ;}答:调整后所画圆弧弧度变小。实验二机器人"听令"出发一、 要求与目的机器人的光敏传感器和红外传感器可以像人的眼睛一样,获取光线强弱的信息和周I判障碍物体的信息。并且机器人还可以用声音传感器获取声音信息,在本次的项目中,将通过声音传感器为机器人发令。二、 内容1、 项目分析能力风暴机器人的声音传感器实际上是一只可以接收声音人小的麦克风,通过该传感器,机器人可以“听到”发出的声音指令,并根据环境声音人小对机器人实现智能控制。知识点提示:声音传感器(麦克风)函数MICROPHONE()用于检测声音传感器接收到的声音信息。函数对音量检测值的范I制为0-255的整数,函数值越人,声音越人。环境声音信号的检测:通过卜•面的程序可以检测到周I制坏境的声音信息,同时也可以检测到发令的声音强度信息,并将发令声音信息记录下来,作为机器人“听令”出发的判断依据。voidmain(){intmicv;wlnle(l){micv=micn)phoM();pnntf("micv%d\n笃micv);wait(0.3);}}通过上面的程序获取坏境声音的检测数据,并填入下面的空中以备项目实施时的应用:机器人所在场地的声音环境检测值是—15 ,发令时的声音检测值是 70 。2、 算法分析通过反复判断坏境声音信号的检测值来实现机器人的“听令”出发。知识点提示:VJC系统的关系式:用能力风暴机器人的VJC系统编写程序时,循坏控制和条件控制语句中都要用到条件判断,条件判断中的条件可以用VJC系统的关系表达式来表示。大于〉,不等于!=,小于<,大于等于>=,等于==,小于等于3、项目实施机器人执行以下的项目程序时,会根据坏境声音信号检测时的声音信号检测值(80),对发令声音信号进行判断来决定是否起跑。liltniicl=0;Voidinaiii(){while(iiucl<80){niic1=microphone();pnntf(t4nucl=%d'iV\nuc1);}dnve(80,0);wait(2.0);stop。;}实验测试结果:188,机器人起跑能力拓展:机器人开始直线行走,机器人听到声音命令后,后退。voidmain(){mtmic;drive(20,0);wliile(niic<70){niic=niicrophoneQ;printf(nniic=%d\nH,niic);wait(0.5);}drive(-20,0);}实验测试数据:72,机器人后退。高级应用:如何声控。击掌启动直行,击掌后退voidmaiii(){mtb=l;iiitmic;while(l){inic=inicrophone();printf(Hniic=%cl'nH,iiiic);wait(0.5);if(inic>60)b=b*-l;if(b=l)drive(20.0);if(b=-l)dnve(-20.0);}}实验测试数据:72,机器人数据188实验三机器人唱歌一、 要求与目的在机器人唱歌项目中,要“教会”机器人唱歌,然后掌握机器人发声的原理。二、 内容项目分析机器人的主板上有一个喇叭,在VJC系统中用发声函数可以让喇叭发出声音。为了让机器人唱歌,可以如此设计。编写机器人唱歌的程序算法分析:VJC系统的音频函数tone(floath.floatt)用于产生一个音频为h赫兹,时间为t秒长的音频信号。函数中表示音频的变量h和表示时间的变量t都是实型变量。VJC系统的音频函数beep()用于产生一段0.3秒500赫兹的音频信号。项目实施1、 编写机器人唱歌程序给机器人编写简单发音程序的步骤:A、 从“控制模块库”拖出“永远循坏”模块,置于“主程序”模块下,使机器人不停的重复唱同一首歌曲B、 从“执行器模块库”拖出“发音”模块,置于“永远循坏”模块卞的循环体中,实现唱歌功能C、 在“发音1”模块上右击鼠标,弹出“发音模块”对话框,在该对话框中可以修改发音频率或发音时间,以唱出优美的歌曲2、 能力拓展:“祝你生口快乐”乐曲的子程序。知识点总结:tone(261.6A25);-简谱dou的音tone(29360.25);--一简谱RH的音tone(32960.25);--一简谱mi的音tone(349.2A25);--一简谱fa的音tone(39160.25);--一简谱sou的音tone(440.0A25);--一简谱b的音tone(493.8A25);--一简谱XI的音tone(52320.25);-一简谱dou的高音实验程序:voidmaiiiQ{prmtf(njustforwlule(l){tone(393.0,0.25);tone(393.0,0.25);tone(441.0,0.5);tone(393.0,0.5);tone(524.0,0.5);tone(495.0,1.0);tone(393.0,0.25);
tone(393.0,0.25);tone(441.0,0.5);tone(393.0,0.5);tone(588.0,0.5);tone(524.0,1.0);tone(393.0,0.25);tone(393.0,0.25);tone(786.0,0.5);tone(660.0,0.5);tone(524.0,0.5);tone(495.0,0.5);tone(441.0J.0);tone(700.0,0.25);tone(700.0,0.25);tone(660.0,0.5);tone(524.0,0.5);tone(588.0,0.5);tone(524.0,1.0);}}实验边走边唱实验边走边唱一、 要求与目的在机器人唱歌项目中,首先要“教会”机器人唱歌,然后再让机器人在运动过程中边走边唱。二、 内容(一) 项目分析机器人的主板上有一个喇叭,在VJC系统中用发声函数可以让喇叭发出声音。为了让机器人一边行走一边唱歌,可以从以下两个方面进行设计。1、 写机器人唱歌的程序2、 利用VJC的多任务功能,以分时的方式,使机器人“同时”执行走矩形和唱歌的程序。(二) 算法分析VJC系统通过进程函数,可以让用户为几段具有独立功能的程序分配很小的时间片,使这些程序段按分配的时间片和进程函数的顺序反复被执行。由于时间片很小,所以使我们感到几段程序好彖使在"同时”执行。在实验机器人唱歌项目时,可以分别编写走矩形和唱歌的两段程序,通过进程为它们分配时间片,并按顺序反复调用这两段程序。(三〉项目实施1、写机器人唱歌程序在学习编写机器人唱歌程序之前,先来了解一下给机器人编写简单发音程序的步骤。A、 “控制模块库”拖出“永远循坏”模块,置于''主程序”模块下,使机器人不停的重复唱同一首歌曲B、 “执行器模块库”拖出“发音”模块,置于“永远循环”模块下的循环体中,实现唱歌功能C、在“发音1”模块上右击鼠标,弹出“发音模块”对话框,在该对话框中可以修改发音频率或发音时间,以唱出优美的歌曲2、VJC的多任务功能,以分时的方式,编写机器人“同时”走矩形和唱歌的程序。实现的操作步骤如下:A、程序模块库”中的“任务开始”模块拖到流程图窗「1,作为任务1的开始E、前面用流程图编写的走矩形程序置于任务1的“任务”模块的下面,形成名为task-0的任务,同时形成以task-0为任务的进程stall-process(task-0()),来实现机器人走矩形的功能。C、 “程序模块库”中的“任务开始”模块拖到流程图窗I丨,作为任务2的开始。D、 前面用流程图编写的简单发音程序置于任务2的“任务”模块的卞面,形成名为task-1的任务,同时形成以task-1为任务的进程start-process(task-1()),来实现机器人唱歌的功能。项目实现代码:voidmain(){stait__piocess(task_0());wlule(l){dnve(100,0);wait(1.000000);stop();motor(1,-20);motor(2,20);wait(0.500000);stop();}}voidtask_0Q{printf(Mjustforfun\nH);wlule(l){tone(393.0.0.25);tone(393.0,0.25);tone(441.0,0.5);tone(393.0,0.5);tone(524.0,0.5);tone(495.0J.0);tone(393.0,0.25);tone(393.0,0.25);tone(441.0,0.5);tone(393.0,0.5);tone(588.0,0.5);tone(524.0J.0);tone(393.0,0.25);tone(393.0,0.25);tone(786.0,0.5);tone(660.0.0.5);tone(524.0,0.5);tone(495.0,0.5);tone(441.0,1.0);tone(700.0.0.25);tone(700.0,0.25);tone(660.0,0.5);tone(524.0,0.5);tone(588.0,0.5);tone(524.0J.0);}}实验五机器人追光一、 要求与目的利用光敏传感器来做一个项目一一追光(就好比飞蛾扑火,机器人向有光的地方运动)。二、 内容项目分析在机器人追光项目中,将机器人放在黑暗的房间里,当打开电筒时,机器人会朝着电筒光亮的方向行进。在信息处理的过程中,信息获取时信息处理的首要坏节,能力风暴机器人可以通过各类传感器获取不同的信息。光敏传感器是能力风暴智能机器人所使用的传感器之一,它通过感测机器人外部坏境光线的强弱来感知光源的位置,在机器人追光项目的完成过程中,将学会光敏传感器的运用以及结合VJC系统的条件判断功能来处理信息的方法。机器人追光的项目是通过反复对光敏传感器采集的光线信号做出比较判断来确定光线较强的方向,从而使机器人朝着光线较亮的方向移动。能力风暴机器人的左前方和右前方分别装有一个光敏传感器。运行下面的程序,来体会光敏传感器的应用。光敏传感器是通过光敏传感器函数的驱动来反复采集坏境光线信息的,并通过输出端LCD显示采集到表示光线强弱的数据。Voidmain(){intphoto1=0;intphoto2=0;wliile(l){photol=photo(l);photo2=photo(2);piintf(c<p1=%dp2=%dii,\photol,photo2);wait(0.3);}}算法分析在项目实施过程中,机器人可以对环境光线强度进行检测,并根据比较左右光线强度的人小做出判断,以控制机器人向光线强的方向行走。在该项目中,对所获取的左右光敏信号的判断及处理是解决问题的关键。1、流程图机器人追光项目的算法可以用下图所示的流程图来表示,它能以直观的方式表达解决问2、 知识点提示if(条件表达式){程序段A}else{程序段B}程序段C3、 项目实施通过执行这个程序,机器人就可以完成追光的任务了,但是一定要注意机器人转向的时间和速度以及机器人直行的时间和速度都要根据使用的机器人进行具体的设定和调试。能力提高:能否让机器人朝黑暗的地方走?实验代码:朝亮处走:voidmain(){iiitphoto_l=0,photo_2=0;wlule(l){photo_1=photo(1);photo_2=photo(2);if(photo_l>photo_2){diive(0,20);wait(O.l);}else{diive(0,-20);wait(O.l);}dnve(20,0);wait(0.5);stopQ;}}朝暗处走:voidmain(){iiitphoto_l=0,photo_2=0;wlule(l){photo_1=photo(1);photo_2=photo(2);if(photo_l<photo_2)dnve(0.20);}else{dnve(0.-20);wait(O.l);}dnve(20,0);wait(O・5);stopQ;}}综合实验六卫星SVJC是能力风暴智能机器人的仿真软件,它可以在计算机中仿真机器人程序的运行。用SV'JC软件编程,让机器人如同一个卫星一样,围绕“恒星”(一支点
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院年终工作总结2022
- 2024年企业财产保险合同范本3篇
- DB45T 2549-2022 蔗株田间剥叶机技术条件
- DB45T 2496-2022 丘陵山区旱地宜机化整治技术规范
- 2025招标合同范文
- 有关工作申请书范文集合7篇
- 2024年度个人投资散伙协议及债权债务处理合同3篇
- 2025维修合同范本
- 三好学生育儿心得
- 6年级小学生演讲稿怎么写?【五篇】
- 异彩纷呈的民族文化智慧树知到期末考试答案2024年
- 车辆救援及维修服务方案
- 三体读书分享
- 2024年南平实业集团有限公司招聘笔试参考题库附带答案详解
- 咖啡学概论智慧树知到期末考试答案2024年
- (高清版)DZT 0217-2020 石油天然气储量估算规范
- 深圳港口介绍
- 2024年工贸行业安全知识考试题库500题(含答案)
- 2024版国开电大法学本科《合同法》历年期末考试案例分析题题库
- 产妇产后心理障碍的原因分析及心理护理措施
- T-SHNA 0004-2023 有创动脉血压监测方法
评论
0/150
提交评论