尝试迷人的机器人项目.ppt

上传人:牧羊曲112 文档编号:6275855 上传时间:2023-10-12 格式:PPT 页数:21 大小:372.85KB
返回 下载 相关 举报
尝试迷人的机器人项目.ppt_第1页
第1页 / 共21页
尝试迷人的机器人项目.ppt_第2页
第2页 / 共21页
尝试迷人的机器人项目.ppt_第3页
第3页 / 共21页
尝试迷人的机器人项目.ppt_第4页
第4页 / 共21页
尝试迷人的机器人项目.ppt_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《尝试迷人的机器人项目.ppt》由会员分享,可在线阅读,更多相关《尝试迷人的机器人项目.ppt(21页珍藏版)》请在三一办公上搜索。

1、1,第四章 尝试迷人的机器人项目,控制能力风暴的电机,能力风暴有左右两个电机,它是能力风暴主要动力的来源。充分利用好电机,能够让能力风暴走出更为满意的路径。直流电机和减速器由于生产装配过程中的因素,不可能做到转速完全一样。即使在程序中给左右两只电机设置同样的功率级别,能力风暴也走不出一条直线。,校正能力风暴的电机,在对运动精度要求高的场合,需要校正能力风暴的电机偏差。常用的方法是在软件中设置偏置量。调用的driveb()函数,就可对偏置量进行修改,从而修正左右电机的功率值,使电机转动达到预期效果。偏置量的大小是实验得到的。,实现过程,在一个平坦开阔的地方,先把drive_bias设为0,电机功

2、率设为80,能力风暴的中轴线对准前方,前进一段较长距离后,量出它偏离初始前进方向的距离,修改drive_bias的值和正负,重复前面的实验,直到偏离的值得到纠正或无法再变小为止,这时的drive_bias值就是最终的偏置量。,具体程序,int drive_bias=0;void driveb(int trans,int rot)int rot_bias=(drive_bias*trans)/100;motor(1,trans-(rot+rot_bias);motor(2,trans+(rot+rot_bias);如果您深入学习下去,将来还可以用 PID 算法编写更精细的JC 程序,让机器人智能

3、走直线。,6,航天飞船项目:用能力风暴机器人模拟航天飞船,让它先进入预定轨道,然后围绕地球和火星两个星体作“8”字飞行。地球和火星用蜡烛或灯泡代替。此项目要求实现机器人智能寻找光源,并且围绕两个光源智能旋转。,7,项目分析,1、机器人找到光源2、机器人靠近光源3、机器人绕两个光源作8字转圈,8,运行动作模拟,机器人绕两个光源作8字转圈,int i=0;int try;int goaround_flag=0;int dir=1;int trans=0,rot=0;int seeklight_flag=1;int left,right;int ir;,/*靠近光源*/void seeklight(

4、)while(seeklight_flag)left=analogport(1);right=analogport(0);ir=analogport(0)-analogport(1);if(ir=-10,/*旋转角度,准备绕光源*/void readyforgo()trans=0;rot=dir*40;sleep(0.5);seeklight_flag=0;goaround_flag=1;,/*绕光源旋转*/void goaround()while(goaround_flag)left=analogport(1);right=analogport(0);if(right-left40)if(l

5、eft80)trans=40;rot=0;sleep(0.1);else trans=35;rot=-15;sleep(0.1);try=right;if(try210)i+;if(i=12)trans=0;rot=40;sleep(0.5);goaround_flag=0;i=0;dir=-1*dir;seeklight_flag=1;,else if(left-right40)if(right230,void checklight()while(1)left=analogport(1);right=analogport(0);printf(left=%d,left);printf(righ

6、t=%dn,right);sleep(1.0);void drive_1()while(1)drive(trans,rot);,void main()init_motors();start_process(drive_1();start_process(seeklight();start_process(goaround();start_process(checklight();,表演程序:Dark.jc-我怕黑,在不同明暗环境中发出不同频率和间隔的声音,float freq(int left,int right)/*依据光敏传感器检测值的差值计算发声的频率*/int delta;float

7、frq=100.0;delta=left-right;frq=2500.0*(1.0+(float)delta)/(float)max(left,right);return frq;float period(int left,int right)/*依据左右光敏检测值的和通过算式计算出发声的间隔时间*/return(0.0008*(float)(512-(left+right);,void dark()int left=0;int right=0;while(1)left=photo(1);right=photo(2);tone(freq(left,right),0.1);wait(period(left,right);,表演程序:三部曲。,21,其它项目,警察抓小偷机器人灭火比赛走迷宫,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号