智能机器人实验报告电子稿
实验一 教你的机器人“走路”
一、要求与目的
熟悉机器人用于走路的“脚”,要教你的机器人学会走路,同时你要掌握控制机器人走路的基本方法。
二、内容 1、机器人为什么会“走”
要想让机器人移动,就要控制电机的转动。控制机器人“行走”的基本指令是motor(x,y)函数和drive(x,y)函数。 2、驱动电机的函数
通过JC程序控制电机转动,使机器人行走的指令有两个,它们是motor(x,y)函数和drive(x,y)函数,介绍: 一、motor(x,y)函数
此函数是“启动”电机,x取值1、2,分别表示左右两个电机;y表示电机转速 两个电机同时以相同速度启动,意味着什么?机器人将怎样运动? 答:机器人将直走。
进一步讨论:如果将一侧电机速度改为0,机器人将会怎样运动?(顺时针、逆时针旋转)
答:左侧电机速度为零,则逆时针旋转;反之,则顺时针旋转。 实验题一:让机器人顺时针、逆时针旋转
(1)用vjc语言或者流程图让能力风暴顺时针走直径约1米的圆形路径; 程序:
void main() {
while(1) {
motor( 1 , 80 ); motor( 2 , 20 ); }
stop(); }
(2)用vjc语言或者流程图让能力风暴逆时针走约1米立方的正方形路径; 程序:
void main() {
while(1) {
drive( 100 ,0); wait( 1.000000 ); stop();
motor( 1 , -20 ); motor( 2 , 20 ); wait( 0.500000 );
stop(); } }
实验题二:首先机器人前进2秒,之后机器人逆时针旋转1.8秒,然后机器人前进1秒,最后停下来。小结:motor函数主要是实现旋转。 实验代码:
Void main() {
Drive(60,0); Wait(2.000000); Stop();
Drive(0,-60); Wait(1.800000); Stop();
Drive(80,0); Wait(1.000000); Stop();
}
二、drive(x,y)函数
此函数是“直行”,x表示基准速度,y表示左右电机与基准速度的差。机器人左侧电机速度为x-y,右侧电机速度为x+y。
推断:drive函数既可以直行,也可以转弯。 试一试下面程序能够干什么? 答:可以画圆。 Void main() {drive(60,-20);
wait(11.0); ——参数11.0可以调整,调整的变化是什么? stop(); } 答:调整后所画圆弧弧度变小。
实验二 机器人“听令”出发
一、要求与目的
机器人的光敏传感器和红外传感器可以像人的眼睛一样,获取光线强弱的信息和周围障碍物体的信息。并且机器人还可以用声音传感器获取声音信息,在本次的项目中,将通过声音传感器为机器人发令。 二、内容
1、项目分析
能力风暴机器人的声音传感器实际上是一只可以接收声音大小的麦克风,通过该传感器,机器人可以“听到”发出的声音指令,并根据环境声音大小对机器人实现智能控制。
知识点提示:声音传感器(麦克风)函数MICROPHONE()用于检测声音传感器接收到的声音信息。函数对音量检测值的范围为0—255的整数,函数值越大,声音越大。 环境声音信号的检测:通过下面的程序可以检测到周围环境的声音信息,同时也可以检测到发令的声音强度信息,并将发令声音信息记录下来,作为机器人“听令”出发的判断依据。 void main() { int micv;
while(1)
{ micv=microphone();
printf(“micv%d\\n”,micv); wait(0.3); } }
通过上面的程序获取环境声音的检测数据,并填入下面的空中以备项目实施时的应用:机器人所在场地的声音环境检测值是____15______,发令时的声音检测值是______70_______。 2、算法分析
通过反复判断环境声音信号的检测值来实现机器人的“听令”出发。
知识点提示:VJC系统的关系式:用能力风暴机器人的VJC系统编写程序时,循环控制和条件控制语句中都要用到条件判断,条件判断中的条件可以用VJC系统的关系表达式来表示。大于>,不等于!=,小于<,大于等于>=,等于= =,小于等于<=。 机器人“听令”出发程序的部分框图。
没有发
令信息
机器人起跑
采集发令信息 输出采集的信息
3、项目实施
机器人执行以下的项目程序时,会根据环境声音信号检测时的声音信号检测值(80),对发令声音信号进行判断来决定是否起跑。
Int mic1=0; Void main() {
while(mic1<80) {
mic1=microphone();
printf(“mic1=%d\\n”,mic1); }
drive(80,0); wait(2.0); stop(); }
实验测试结果:188,机器人起跑 (1) 能力拓展:机器人开始直线行走,机器人听到声音命令后,后退。
void main()
{ int mic;
drive(20,0); while(mic<70) { mic=microphone(); printf(\
wait(0.5);
}
drive(-20,0); }
实验测试数据:72, 机器人后退。
(2)高级应用:如何声控。击掌启动直行,击掌后退
void main()
{ int b=1;int mic; while(1) {
mic=microphone();
printf(\ wait(0.5);
if(mic>60) b=b*-1; if(b==1) drive(20,0); if(b==-1) drive(-20,0); }
}
实验测试数据:72,机器人数据188
实验三 机器人唱歌
一、要求与目的
在机器人唱歌项目中,要“教会”机器人唱歌,然后掌握机器人发声的原理。 二、内容
(一)项目分析
机器人的主板上有一个喇叭,在VJC系统中用发声函数可以让喇叭发出声音。为了让机器人唱歌,可以如此设计。
编写机器人唱歌的程序算法分析:VJC系统的音频函数tone(float h,float t)用于产生一个音频为h赫兹,时间为t秒长的音频信号。函数中表示音频的变量h和表示时间的变量t都是实型变量。
VJC系统的音频函数beep()用于产生一段0.3秒500赫兹的音频信号。 (二)项目实施
1、编写机器人唱歌程序
给机器人编写简单发音程序的步骤:
A、 从“控制模块库”拖出“永远循环”模块,置于“主程序”模块下,使机器人不停
的重复唱同一首歌曲 B、 从“执行器模块库”拖出“发音”模块,置于“永远循环”模块下的循环体中,实
现唱歌功能 C、 在“发音1”模块上右击鼠标,弹出“发音模块”对话框,在该对话框中可以修改
发音频率或发音时间,以唱出优美的歌曲
2、能力拓展:“祝你生日快乐”乐曲的子程序。 知识点总结:
tone (261.6,0.25); ——简谱dou的音 tone (293.6,0.25); ——简谱rai的音 tone (329.6,0.25); ——简谱mi的音 tone (349.2,0.25); ——简谱fa的音 tone (391.6,0.25); ——简谱sou的音 tone (440.0,0.25); ——简谱la的音 tone (493.8,0.25); ——简谱xi的音 tone (523.2,0.25); ——简谱dou的高音
实验程序: void main() {
printf(\ while(1)
相关推荐:
- [学前教育]MC9S12XS256RMV1 xs128芯片手册4
- [学前教育]安东尼语录经典语录
- [学前教育]e级gps控制测量技术设计书
- [学前教育]苏教版2022-2022学年八年级下学期期末
- [学前教育]装修公司推广 营销
- [学前教育]家政服务合同(完整版)
- [学前教育]湖北省2016届高三联考语文试题
- [学前教育]爱立信无涯学习系统LTE题库1-LTE基础知
- [学前教育]揭秘大众柴油车作弊软件原理
- [学前教育]人才流失原因及对策分析
- [学前教育]房屋建筑施工工程劳务分包合同
- [学前教育]国际贸易实务试卷A卷09.6
- [学前教育]校园废品回收活动计划方案书范文格
- [学前教育]电大成本会计试题及答案
- [学前教育]大学物理实验 华南理工出版社 绪论答案
- [学前教育]爱丁堡产后抑郁量表
- [学前教育]液压冲击的危害、产生原因与防止方法(
- [学前教育]学生工作总结高一学生期中考试总结_020
- [学前教育]人民医院医疗废物管理规章制度大全
- [学前教育]阳光维生素的巨大抗癌潜能阅读题答案.d
- 马云在云锋基金江苏论坛闭幕式的发言
- 试论小学体育教育中的心理健康教育-教
- 语文A版一年级下册《语文乐园一》教学
- 2021四川大学物理化学考研真题经验参考
- [人教A版]2015-2016学年高中数学 第二
- 终端网点销售返利协议书
- 江苏省2015年眼科学主治医师青光眼考试
- 2017年部编人教版八年级语文上册教案
- 十一中学七年级英语上册Unit7Howmuchar
- 以赛促教的创新性实验教学机制建设实践
- 平凉市崆峒区2015七年级下生物期末试题
- 琶洲(地块五)A、B塔楼1、2#塔吊基础
- 一级医院工作制度与人员岗位职责
- 2018北京西城区高三二模理科数学试题及
- 炒股密码线技术 - 图文
- 职高学生生涯发展辅导教案
- 语文人教版四年级上册8 世界地图引出的
- 最新最新人教版二年级上册全册数学教案
- 2017高考英语全国2卷精彩试题(有问题
- 普通心理学笔记




