人工智能机器人编程与设计robotbasic_第1页
人工智能机器人编程与设计robotbasic_第2页
人工智能机器人编程与设计robotbasic_第3页
人工智能机器人编程与设计robotbasic_第4页
人工智能机器人编程与设计robotbasic_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

机器人编程与设计RobotBASIC朱映辉特点机器人模拟器是对各种可能情况和不同硬件、软件组合方式进行实验的有效工具节省组装真实机器人的时间和费用使用RobotBASIC来编写算法使机器人与其所处环境进行交互.学习后不仅能对模拟器进行编程,也能够对机器人进行编程对模拟机器人进行编程的算法和原则同样可应用于对真实机器人的控制RobotBASIC模拟器象BASIC语言一样简单、易学(对初学者)(高级爱好者和有经验的编程人员)功能仍然足够强大,它拥有所有标准流动控制结构及对变量和矩阵真正无限的空间能快速迅速地模拟多种类型的环境和状况,对算法进行检查通过模拟,可确定需要什么类型的硬件进行选择(如传感器<碰撞、红外、距离…>)机器人不仅仅是硬件RobotBASIC语言它有工具箱、命令和函数对机器人进行真实、有效的模拟进行图形显示用输入、输出命令与用户交互进行数学、三角和统计计算创建并控制字符,并在字符和数字间进行转换用一系列命令和函数创建并控制矩阵,能对数学课程中遇到的许多矩阵进行操作[一]机器人模拟器终端屏幕模拟一个四面有墙的房间:800x600像素(机器人活动空间)机器人默认大小:40像素(直径)机器人的初始化rLocateX,Y,Heading,Size,ColorX,Y位置(整数)Heading可选,默认0,指机器人要面对的方向(0~359°),0°为北,90°为东,180°为南,270°为西Size可选,默认20像素的半径,在5~50之间Color可选,默认蓝色Rlocate300,300,45,40,redend机器人动作rForwardnpixels在面对的方向上前进或倒退几个像素正---前;负---退rTurnnDegrees沿顺时针或逆时针旋转几度(整数)负---逆时针;正---顺时针rlocate300,300rturn90rforward300rturn-45rforward-200end绕过障碍物障碍物用圆形和矩形模拟Circlex1,y1,x2,y2,PenColor,FillColorrectanglex1,y1,x2,y2,PenColor,FillColorx1,y1,x2,y2确定边界PenColor轮廓颜色FillColor填充颜色程序代码rectangle300,300,500,500,red,redcircle100,100,200,200,blue,bluecircle600,500,700,550,magenta,magentarlocate50,50rturn90rforward400rturn135rforward300rturn-45rforward300rturn-90rforward250rturn-45rforward400end练习创建程序,使机器人从(100,100)运动到(300,300),然后从(500,100)回到(100,100)提示,定位(100,100),朝向135°,前进283,转-90°,前进283,再转-135°,最近前进400按下图搭建环境并按箭头指示进行运动[二]RobotBASIC传感器RobotBASIC中的机器人有一系列的传感器,使其对周围环境有感知的能力控制算法通过传感器来分析环境,然后采取行动避障,并能发现、定位目标部分编程结构RobotBASIC一般不区分大小写但变量名、阵列名、标签区分大小写变量很灵活,命名无限制,可存储任意类型数据,且可以改变变量中所存的数据类型和数值.注释//部分编程结构条件语句1.IF条件THEN一种操作2.IF条件多个操作

ENDIF3.IF条件操作

ELSE

操作

ENDIF部分编程结构比较操作>=<<=>=<>循环For-nextWhile-wend(1)用缓冲器进行避障缓冲器rBumper()RobotBASIC机器人有4个缓冲器,前面和后面的分别形成130°圆弧,侧面的仅形成50°.缓冲器位值后201右212前224左238rLocate400,300Fora=1to500ifrbumper()=0thenrForward1NextEndrLocate400,300Whilerbumper()=0rForward1WendEnd(2)红外传感器红外传感器使机器人能够在接触到物体之前就探测到路径上物体的存在原理:使用红外LED(发光二极管)机器人向周围发出光线,若光线被反射回机器人,则晶体管电路可检测到.RobotBASIC机器人有5个红外传感器,分别间隔45°进行安装使用函数rFeel()获得红外传感器状态的编码数字,机器人右侧的传感器是二进制数字中的最小位.rLocate400,300Whilerfeel()=0rforward1WendEndrFeel()比rBumper()探测物体的效果更好,因为最好是不发生碰撞.缺点:有可能探测不到小的物体(或大物体的边角),因此,当想避免障碍物时,推荐同时使用rFeel和rBumper状态数据进行分析.(3)超声波和红外测距rFeel和rBumper的其中一个局限性是只能探测距机器人很近的物体,然而,最好能够对其路径上的远处物体进行探测,以尽早采取行动.RobotBASIC机器人装有单一测距的传感器,因此面向与机器人相同的方向.函数rRange()获取机器人前方物体的距离rRange()返回20,表明在距离机器人20个像素处有某个物体存在.下方程序使机器人在距离北墙20个像素处停止rLocate400,300Whilerrange()>20rforward1WendEnd(4)机器人视觉RobotBASIC机器人摄像头返回一个数字,表示其所看到的颜色.函数rLook().Circle600,500,620,520,red,redRlocate400,300Whilerlook()<>redrturn1Wendend(5)信号探测若希望机器人找到房间里的某个位置,可在该处挂一个闪烁灯(可见或红外线的),因为这个闪烁灯在房间的位置较高,所以即使其他物体处于机器人和目标位置之间,这个闪烁信号也一直可见.函数rBeacon(color)返回一个非0值,表示机器人面对一个该颜色的信号,这数字实际就是机器人和信号之间的距离;若返回0,表示机器人没有面对信号.若不想使用距离数据,可只当作真和假指示器使用.Circle600,500,620,520,red,redRlocate400,300WhilerBeacon()=falserturn1Wendend(6)指南针指南针函数rCompass(),返回机器人面对的当前方向.屏幕上方向:上北下南,左西右东.北:0°,东:90°,南:180°,西:270°Rlocate400,300Whilepass()<>90//东部

rturn1Wen

温馨提示

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

评论

0/150

提交评论