移动机器人路径跟踪实验.pptx
《移动机器人路径跟踪实验.pptx》由会员分享,可在线阅读,更多相关《移动机器人路径跟踪实验.pptx(79页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1页/共79页能力风暴第2页/共79页第3页/共79页第4页/共79页第一部分第5页/共79页一.控制主板结构说明 第6页/共79页(1)LCD插座:探索者配备了一个16x2的液晶显示模块,将其正确插入该插座,机器人在运行过程中可以显示2行16字符的文本信息,是探索者与操作者的交互界面之一;(2)直流电机口3:探索者控制主板上扩展了四个直流伺服接口,编号为0,具备PWM(脉宽调制)功能,可以用于各种直流驱动装置,如直流马达、继电器等执行机构,旁边的红色和绿色用于指示方向;(3)直流电机口2:同(2);(4)直流电机口1:同(2);(5)直流电机口0:同(2);(6)移动轮电机1:探索者教育机
2、器人左右各装备了一个直流驱动马达,分别对应于WHEEL0和WHEEL1两个五芯插座,是探索者的主要移动机构,安装时应注意左右对应关系;(7)移动轮电机0:同(6);(8)电源插座:电池组上电源线连接在此处,连接时应注意电池极性;(9)充电插座:探索者配备的12伏500毫安充电器上的同轴插头插入此插座可以对连接在机器人上的8节9.6伏串联电池组进行充电;(10)充电指示:黄颜色的发光二极管,用于指示探索者是否处于正常充电状态,若快速充电跳线插座短路,则该指示灯不起作用;第7页/共79页(11)扩展电源插座:用于给探索者上扩展的直流电机口03和移动轮电机驱动口01提供额外的电源,电源极性请见板上的
3、标注,附加电源的规格为57节1.5伏干电池或78节1.2伏串联充电电池,但一般要求等效电压等于或略高于连接于(8)的电池电压;(12)电源开关:用于打开和关闭探索者;(13)电源指示:绿颜色的发光二极管,用于指示探索者是否处于工作状态;(14)电压低指示:红颜色的发光二极管,灯亮时,表示电源电压太低;(15)功能按钮:该按钮占用通用数字输入口7,在用户程序中可以获得该按钮的状态,另外,该按钮与复位按钮联合使用可以使控制板进入特殊启动模式,从而能够进行操作系统的装入;(16)复位按钮:按下此按钮使控制板复位,当与功能按钮联合使用可以使控制板进入特殊启动模式,从而可以进行操作系统的装入,具体做法是
4、先按下功能按钮并保持,然后按一下复位按钮;(17)通用数字口0-6、8-9:通用数字输入口,从左至右编号为0到6和8-9;(18)通用模拟口7-4:通用模拟输入口,从左至右编号为7到4;(19)通讯指示:黄颜色的发光二极管,灯闪烁时,表示控制板正与PC机进行通讯;第8页/共79页(20)串行通讯插座:RS232串行通讯接口;(21)麦克风:用于采集声音信号,占用通用模拟接口2;(22)红外调节1:用于调节红外发射管1的发射强度;(23)红外发送1:红外发射管1插座;(24)红外接收:红外接受头插座;(25)红外发送0:红外发射管0插座;(26)红外调节0:用于调节红外发射管0的发射强度;(27
5、)光敏传感器1:预设的光敏电阻插座1,与右边的光敏传感器对应,也 可以作为通用模拟输入口使用,编号为1;(28)光敏传感器0:预设的光敏电阻插座0,与左边的光敏传感器对应,也 可以作为通用模拟输入口使用,编号为0;(29)扩展接口:该扩展接口插座与LCD插座一起构成了探索者的扩展总 线;(30)红外频率调节:用于调节红外振荡电路的频率,使其位于38KHz左 右;(31)快速充电:若需对电池组进行快速充电,应将该跳线座短路;(32)蜂鸣器:可以在用户程序的控制下产生不同频率的声响。第9页/共79页二.C语言基础和JC C基础 main()函数 JC简介 交互式C语言(简称JC)是用于能力风暴个人
6、机器人(基于68HC11)的专用开发系统。JC由两部分组成:编译环境(包含交互式命令行编辑和调试功能)和能力风暴操作系统。JC实现了C语言的一个子集,它包括控制语句(for,while,if else),局部变量和全局变量,数组,指针,结构体,16位和32位整数,和32位浮点数。运行JC 首先要安装JC。把能力风暴接到你计算机的一个串口上,打开能力风暴电源开关,并运行JC。电源开关拨至“下载”位置(左边),JC将引导你首先下载操作系统;若控制板上已有操作系统,将电源开关拨到“运行”位置(右边),运行JC时,JC将初始化能力风暴内存并下载系统库函数。第10页/共79页能力风暴库函数文件 JC库函
7、数库函数文件为能力风暴控制板的硬件提供了标准C的接口函数。这些函数是用C或者汇编语言写成的驱动程序。库函数提供了诸如控制电机,发出声音,输入传感器值等功能 为更好理解库函数如何工作,建议研究一下库文件的源代码。能力风暴主库文件列表为lib_as.lis。相关内容:输出控制 传感器输入 定时命令 音频函数第11页/共79页1.输出控制 函数stop()关闭两个电机 motor(int m,int p)用于电机功率水平的控制 void drive(int trans_vel,int rot_vel)同时设定两个电机的速度,控制能力风暴的平移和旋转。trans_vel平移速度,rot_vel旋转速度
8、。rot_vel0能力风暴逆时针旋转。该函数将左轮速度设为(trans_vel-rot_vel),右轮速度设为(trans_vel+rot_vel)。第12页/共79页2.传感器输入 数字输入 int digital(int p)返回数字口p上传感器的值,(1为真,0为假)。如果从传感器数字硬件读到的值为零伏或逻辑零,digital()函数将返回真。第13页/共79页 模拟输入 int analogport(int p)返回模拟口p上传感器的值。返回值是0到255间的整数值。如果该传感器在硬件上只有开关两种状态,则硬件上的数字读数为1时返回值为255(就象一个数字开关断开,电位被拉高一样,导致
9、一个最高读数),当硬件的数字读数为0,则返回0(就象一个数字开关合上,电位接地)。系统设定的传感器端口全局变量:int photo_right=photo(1);右光敏电阻 int photo_left=photo(2);左光敏电阻 int microphone=2;麦克风 第14页/共79页例:analogport(photo_right);检测右光敏,返回值越小,光线越亮。analogport(microphone);检测麦克风,返回值越大,声音越响。第15页/共79页 红外线系统 红外线系统由两部分构成:两个红外线发送器,以及一个红外线接收器 左右两个方向的红外线发送器分别发射一定频率的
10、红外线脉冲信号,红外线接收器可以检测出这种频率的红外调制信号 红外线系统探测障碍的有效距离是1080厘米 第16页/共79页 int ir_detector()返回值 0b00:没有接收到红外,0b01:右边接收到,0b10:左边接收到,0b11:两边都接收到。第17页/共79页碰撞检测 在能力风暴四周有一个碰撞环,上面有四个碰撞传感器,可以检测是否撞上障碍以及碰撞发生的方位 int bumper()碰撞传感器检测。返回值低4位的意义,位0=右前,位1=左前,位2=右后,位3=左后。如果实际检测方位与此处定义不一致,请调整碰撞传感器的安装位置 第18页/共79页3.定时命令 void slee
11、p(float sec)等待一段等于或稍大于指定的sec时间(秒)后再执行后面的语句。sec是一个浮点数。例:sleep(1.5);/*等待1.5秒 */第19页/共79页void msleep(long msec)等待一段等于或稍大于指定的msec时间(毫秒)后再执行后面的语句。sec是一个长整数。例:msleep(1500L);/*等待1.5秒 */第20页/共79页多任务 (1)多任务叙述 JC的一个强大的功能是它的多任务设置。在运行期间,进程可以被动态地建立和撤消。多个进程运行通过分时间片实现的。每个进程一次只执行一定数量的时间片。每个进程都有自己的栈,用于函数调用传递参数,存放局部变
12、量,存放函数调用的返回地址。栈的大小在进程创建时确定。一个进程栈的缺省大小为256字节。第21页/共79页 (2)创建新进程 int start_process(function-call(.),TICKS,STACK-SIZE)start_process取得一个进程标识,创建一个进程。有两个可选参数:进程的时间片数和栈大小。返回一个整数,它就是新进程的进程ID。第22页/共79页下面给出了创建一个进程的例子:void check_sensor(int n)while(1)printf(Sensor%d is%dn,n,digital(n);void main()start_process(c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 移动 机器人 路径 跟踪 实验
限制150内