Presentation is loading. Please wait.

Presentation is loading. Please wait.

通用机器人 陈志辉 2004.01.

Similar presentations


Presentation on theme: "通用机器人 陈志辉 2004.01."— Presentation transcript:

1 通用机器人 陈志辉

2 一.“机器人”的定义 1. 定义 机器人应该是一个具有一定智能的计算机控制系统。
机器人是人制造的一种高级工具,是按照人类的某种方式进行工作的一种机器,因此我们又称它为“智能机器人”。 我国科学家对机器人的定义是:“机器人是一种自动化的机器,所不同的是这种机器具备一些与人或生物相似的智能能力,如感知能力、规划能力、动作能力和协同能力,是一种具有高度灵活性的自动化机器”。

3 1920年捷克斯洛伐克剧作家卡雷尔·查培克创作了寓言剧剧本《罗莎姆万能机器人公司》。
2. 机器人一词的由来 1920年捷克斯洛伐克剧作家卡雷尔·查培克创作了寓言剧剧本《罗莎姆万能机器人公司》。 依照人的形体结构制造的机器人

4

5 3.机器人的外形 消防机器人 水下机器人 我国自行研制的蛇型机器人 我国自行研制的焊接机器人

6

7 4. 机器人探秘埃及金字塔 考古学者为实施金字塔探险项目,美国方面为此出资特别研制了一台微型铁臂机器人,并正式命名为:“金字塔漫游者” 。   “金字塔漫游者”的前身是“9·11”事件后在纽约世贸废墟搜寻幸存者过程中大显神通的“蛇形机器人”。经过改良后,“金字塔漫游者”体态更为轻盈,行动和操作非常灵活。 它的总重量只有2.7千克,长宽大约各为12厘米,高度可自动调节,最高高度在30厘米左右。每分钟行走914厘米。

8 指 挥 机 器 人

9 二 . 通 用 机 器 人 立 项 背 景 中小学的信息技术教育是培养创新精神和实践能力的重要途径。智能机器人技术应用了信息技术中的感测技术、传感技术、控制技术和施用技术,是信息技术课程和相关科技活动的良好载体。教育部最新颁发的《信息技术课程标准》已将智能机器人技术列为中学信息技术课程中的教学内容。 智能机器人属高新技术,在工业、医疗、军事等领域实用的智能机器人造价昂贵,不宜中小学生学习使用。正是在这样的背景下,我们开发研制了“通用ROBOT型教学用机器人”,定向用于中小学信息技术课程教学、课外科普教育活动以及相关竞赛,并于2002年6月15日通过中国教育学会中小学计算机教育专业委员会组织的专家鉴定,2002年获得北京市石景山区科学技术成果三等奖,同期申报北京市科学技术成果奖。

10 三 . 通用机器人通过专家鉴定 2002年6月15日通过“中国教育学会中小学计算机教育专业委员会”组织的专家鉴定。
通用ROBOT-II型教学用机器人 鉴定意见书

11 四. 通 用 机 器 人 的 特 点 普及性 当今世界,计算机升级换代的速度很快,软件运行的环境要求越来越高,促使计算机硬件不断的更新,对于不太富裕的中国人来说,教育部门和家庭压力很大。现阶段,我国BASIC语言的普及率很高,它简单易学,使用方便,逻辑性强。学习BASIC语言硬件环境要求不高,高、中、低各种档次的计算机都可以运行,提高了计算机的使用效益。

12 2. 开放性 “通用ROBOT教学用机器人”主板是可以安装在履带双轮或四轮的运动模型上,有很强的移动能力,且不限制车型,只要是遥控的或线控的驱动部分有两个电机以上的模型均可。“通用ROBOT教学用机器人”外观独特,符合学生的审美需要和兴趣,而且外形具有很强的可变性,学生可根据自己的喜好选择合适的模体外型。 学生可以自己动手改装家中原有的玩具遥控车,加上“通用ROBOT教学用机器人”主板和传感器组装属于自己的机器人。 下图就是学生改装的机器人。

13 教学适用性 “通用ROBOT教学用机器人”采用TYBASIC语言进行编程。TYBASIC与国际广泛流行的QBASIC相似。TYBASIC虽只有31条语句但功能十分的强大,它简单、易学具有很强的实际使用价值。 “通用ROBOT教学用机器人”有2K存储空间,可以存放 条BASIC命令,在20MHz的系统时钟下,每秒可执行8000 条以上的BASIC语句,可以满足一般的教学要求。 “通用ROBOT教学用机器人”将计算机语言的学习与机器人教学相结合,创建了一个情景化的、高智能的计算机教学环境,充分发挥了现代化教学的优势,延伸了学生对计算机编程的应用,可以有效提高中小学信息技术课程和课外科技活动的教学质量和教学效果。

14 4. 可扩展性 “通用ROBOT教学用机器人”具有多个备用输入输出接口,可同时外接多种模块,为学生利用输入输出接口开发出更为强大的功能留有很大的扩展空间。现有多个扩展功能模块:声控模块、相对光电模块、绝对光电模块、模拟光电模块、迷宫模块、灭火模块、足球模块、I/O扩展板等模块。还可以根据教育教学的需求,不断开发新的扩展功能模块。 学生也可根据自己的具体需要增加其它功能,也可在教师的指导下进行机器人结构设计安装、制作、调试、软件编程等环节的学习,设计并制作简易机器人。也就是说可以大大提高学生所学知识的综合性,培养学生的设计能力、创新能力、动手能力和跨学科的综合应用能力。

15 价格低 机器人教育的普及的前提要具有良好的环境基础和合理的价格。“通用教学机器人”的零售价格目前控制在500元人民币左右,普通的学校和一般学生都能买的起,便于普及和发展。 “通用ROBOT教学用机器人”的电源部分采用镍镉充电电池,成本较低,使用安全,且有利于环境保护。

16 五. “通用ROBOT教学用机器人”的适用范围
①以培养创新精神和实践能力为宗旨的中小学信息技术教学平台; ②中小学校内外科技活动的实验、组装、调试、改造的对象; ③国内外多种智能机器人竞赛用机。

17 六. 通 用 机 器 人 (一)教学用机器人 1. 所含模块
六. 通 用 机 器 人 (一)教学用机器人 1.  所含模块 运动模体(移动车1辆),避障模块(3个),相对光电模块(1个),机器人主板(1个),电池(4节)。 2.  功能 运动模体可以实现简单的运动,避障模块可以实现走迷宫,光电模块可以识别色差走固定图形,利用其本身和模块的功能,可以做许多有意义的事情,如:做小游戏,进行规定图形比赛,进行迷宫比赛等。

18 (二)迷宫型机器人 1.所含模块 运动模体(移动车1辆),避障模块,相对光电模块(1个),机器人主板(1个),电池(4节) 2.功能
运动模体可以实现简单的运动,避障模块可以实现走迷宫,光电模块可以识别色差走固定图形,利用其本身和模块的功能,可以做许多有意义的事情,如:做小游戏,进行规定图形比赛,进行迷宫比赛等。

19 (三)灭火机器人 1. 所含模块 运动模体(移动车1辆) 灭火模块 避障模块(已移植到灭火模块上) 相对光电模块(1个) 机器人主板(1个)
运动模体(移动车1辆) 灭火模块 避障模块(已移植到灭火模块上) 相对光电模块(1个) 机器人主板(1个) 2.功能 运动模体可以实现简单的运动,避障模块可以实现走迷宫,光电模块可以识别色差走固定图形,灭火模块可以实现机器人灭火,利用其自身和模块的功能,可以做许多有意义的事情,如:做小游戏,进行规定图形比赛,进行迷宫比赛等。

20 机 器 人 灭 火 比 赛 场 地

21

22

23 (四)足球机器人 1.所含模块 进攻队员: 守门队员: 运动模体(移动车1辆) 运动模体(移动车1辆) 足球模块-进攻(1个) 足球模块-守门(1个) 模拟光电模块(1个) 前、左、右避障模块(1套) 机器人主板(1个) 机器人主板(1个) 进攻队员推球板(1个) 守门队员档球板(1个)

24 2. 功能 运动模体可以实现简单的运动,避障模块可以实现走迷宫,模拟光电模块可以识别灰度检测,利用其本身和模块的功能,可以做许多有意义的事情,如:做小游戏,进行规定图形比赛,进行迷宫比赛,足球比赛等。 通用机器人在踢足球 通用机器人在踢足球

25

26

27 七. 通用机器人创新项目 (一)外型创新 挖 土 机 器 人 推 土 机 器 人
这是我们用普通的挖土机玩具、推土机玩具,装上通用机器人主板,改装的挖土机型机器人和推土机型机器人。除了具有基本的运动功能和机械臂运动功能外,我们还增加了前避障模块、声控模块和光电模块。

28

29 变 形 飞 机 型 机 器 人 这是我们用变形飞机玩具,装上通用机器人主板,改装成的变形飞机型机器人。它具有基本的运动功能,还保留了变形运动功能。

30

31 这是我们用普通的人形玩具,装上通用机器人主板,改装成的人形机器人,它保留了玩具上原有的音乐功能,现在它完全由程序来控制。人形机器人具有基本的运动功能和避障功能。
人型机器人

32 形形色色的通用机器人

33 (二)程序创新 利用通用机器人各种模块的组合和变换,可自己动手编写各种小程序,来实现各种动作,完成各种任务。

34 人 造 卫 星 机 器 人

35 机 器 人 寻 光

36 机 器 人 爬 坡 比 赛

37 警 察 抓 小 偷

38 机 器 人 相 扑 比 赛

39 机 器 人 拔 河 比 赛

40 机 器 人 过 断 桥

41 八. 通用机器人进入课堂教学 教材 北京市东城区作为国家“十五”重点课题《现代信息技术促进教育发展的实验研究》的实验区,东城区信息中心编写了“小小智能机器人”小学版教材,中学版教材正在编写;黑龙江省教育学院初教部编写了全省用的小学教材;江西省编写了中学版教材,这3套教材2003年9月开学开始使用。还有一些省市地区的教材正在编写中。欢迎各地教委选用这些教材,或者我公司提供机器人方面的资料,各地组织编写当地的教材。 江西省初中 信息技术课教材 北京市东城区小学 信息技术课教材 黑龙江省小学 信息技术课教材

42 2. 机器人进入课堂教学 北京市东城区非常重视机器人的普及和推广工作,目前有北京市府学胡同小学、北京市灯市口小学、北京市朝阳门小学、北京景山学校分部、北京市东四九条小学、北京市第六十五中学等学校进入课堂教学。 2003年9月26日中央教科所国家十五重点课题《现代信息技术促进教育教学发展》研究课题研讨会上,北京市灯市口小学做了一节《帮助机器人回家》的观摩课,非常成功。 中央教科所张家全教授、北京市基教研中心的王振强主任、北京市东城区教委马杏芳主任给予高度评价,认为低档次的计算机环境( 的计算机教室)也能做出高水平的课程,这种教学模式应该大力推广。

43 老师在讲授通用机器人控制程序 通用机器人观摩课 学生们在编写通用机器人控制程序

44 北京市府学胡同小学的领导班子重视信息课教学工作,建成了有52台机器人的设备齐全的机器人专用教室。
通用机器人教室全景 机器人灭火比赛场地 通用机器人专用教室 通用机器人教室 通用机器人储藏、充电柜 机器人足球比赛场地

45 “通用ROBOT教学用机器人”专用教室配置方案 (以班容量40人为例,仅供参考)
项目 配置要求、技术指标及规范 数量 备注 教学用机器人 含移动车、前左右避障、1个相对光电模块、使用手册、下载线、充电器 42台 学生1人一机,教师2台 灭火模块 含前左右避障、寻找火焰、风扇灭火功能 2个 用于灭火比赛、教学 灭火场地 2.5M*2.5M 模拟4个房间 1个 灭火比赛环境 足球模块 含前左右避障、寻找发光球、挡球或推球功能 6个 用于足球比赛、教学 机器人足球 小电珠的发光球 1套 足球充电器 足球比赛场地 2.4M*1.6M 黑白渐变的写真纸及四框 足球比赛环境 声控模块 灭火、足球比赛声控启动必选 绝对光电模块 灭火比赛必选 模拟光电模块 足球比赛必选 教学用机器人散件 2套 教师指导学生自己组装机器人

46 3. 机器人课外活动小组 老师正在指导 学生调试通用 机器人 学生正在编写通用机器人控制程序 学生在组装通用机器人 学生在进行通用机器人
外型创新设计与制作

47 “通用ROBOT教学用机器人”从面世以来,被大家所接受,到目前为止,在全国各地大约有300余所学校选用“通用ROBOT教学用机器人”开展课外小组活动。
如:北京市第六十五中学、北京市灯市口小学、北京市第179中学、北京市景山学校分部、北京市永乐二中、北京市西总布小学、北京市和平里九小、北京广渠门中学、北京机场路中学、北京陈经伦中学、北京市龙爪树小学等。 济南市实验初级中学、济南市育英中学、济南市五中、济南市解放路第一小学、章丘市二职、章丘市实验小学、石家庄西雅小学、湖北省华东师大附中、湖北省葛洲坝中学、湖北省襄樊五中、四川巴蜀中学、山东省济南市胜利大街小学、湖北省孝感高中等。

48 “通用ROBOT教学用机器人”活动小组配置方案 (以一个小组6人为例,仅供参考)
项目 配置要求、技术指标及规范 数量 备注 教学用机器人 含移动车、前左右避障、1个相对光电模块、使用手册、下载线、充电器 8台 学生1人一机,教师2台 灭火模块 含前左右避障、寻找火焰、风扇灭火功能 2个 用于灭火比赛、教学 灭火场地 2.5M*2.5M 模拟4个房间 1个 灭火比赛环境 足球模块 含前左右避障、寻找发光球、挡球或推球功能 6个 用于足球比赛、教学 机器人足球 小电珠的发光球 1套 足球充电器 足球比赛场地 2.4M*1.6M 黑白渐变的写真纸及四框 足球比赛环境 声控模块 灭火、足球比赛声控启动必选 绝对光电模块 灭火比赛必选 模拟光电模块 足球比赛必选 教学用机器人散件 2套 教师指导学生自己组装机器人

49 北京市第65中学机器人课外活动小组的学生在北京市第21届爱科学月开幕式上表演机器人创新项目—机器人接力赛

50 通用机器人网站-

51 北京市东城区机器人教学网站

52 九. 通用机器人模块 (一) 机器人主板 功能用途
九. 通用机器人模块 (一) 机器人主板 功能用途 通用机器人主板是通用机器人的主要部件,与计算机的主板类似。我们通过计算机发出的指令就是传送给CPU,驱动输入输出端口,完成不同的功能,在运动控制模块中。可以通过程序直接向通用机器人发出“运动命令”既前进,后退,左转,右转,停止几个简单的命令。运动控制模块直接嵌入主板上,即主板的初始功能。

53 (二) 机器人传动部件 通用机器人的驱动部分可以采用履带、双轮或四轮驱动,如图所示。你也可以将家中闲置的遥控车改装,作为机器人的传动部件,创作属于你个人的机器人。

54 (三)机器人动力能源 为了节省资源通用机器人使用的是可充电的镍镉电池,机器人所需要的一切电能均是由它提供的,其充电方式和性能指标如图所示。

55 (四 )机器人避障模块 功能介绍: 机器人可通过“红外发射与接收器”来判断前方、左面、右面是否有障碍物。利用避障模块的可以判断障碍物的这一特性,你完全可以在有障碍物的情况下让机器人做自己想做的动作,利用避障模块的最主要作用就是实现走迷宫。

56 (五)相对光电模块 绝对光电模块 功能用途:
(五)相对光电模块 绝对光电模块 功能用途: 相对光电模块采用了窗口比较技术和辅助光源技术,对环境光的变化有较好的抑制作用。相对光电模块可以识别色差走规定路线。 绝对光电可以识别不同的颜色(如黑色呈现高电平,白色呈现低电平),利用它的这一特性我们可以让机器人作很多种动作,利用左侧和右侧的接受光强不一致,也可以让机器人走规定路线。

57 (六)声 控 模 块 功能用途:    声控模块的主要功能是利用声音来控制机器人的运动,例如机器人跳舞就可以利用声控模块来实现。 (七)稳 压 模 块 功能用途: 稳压模块控制电路的线流,使模块的性能不会因为电量的改变而改变,比如说避障模块,在没有稳压模块的情况下,避障距离会因为电量的减少而逐步变小,加上稳压模块后,无论电量为多少,避障距离始终保持不变。

58 1. 2002年12月10日-12日,在北京国际会展中心举办首届“北京市中小学信息技术成果展”
十. 比赛活动及其他 年12月10日-12日,在北京国际会展中心举办首届“北京市中小学信息技术成果展” 北京市通用依耐特技术开发有限公司总经理黄敏女士向北京市教委主任耿学超先生汇报通用机器人在教学中的应用

59 2. 2003年3月9日在中国科技馆举行“全国中小学信息技术创新与实践活动北京地区邀请赛”
年3月9日在中国科技馆举行“全国中小学信息技术创新与实践活动北京地区邀请赛” 我的通用机器人获奖了 机器人在灭火

60 获 奖 情 况 智能机器人(中学组)灭火比赛特等奖、走规定图形一等奖得主,师大二附中 曲鸣川 (使用通用机器人)
智能机器人(中学组)灭火比赛特等奖、走规定图形一等奖得主,师大二附中 曲鸣川 (使用通用机器人) 智能机器人(小学组)比赛特等奖得主,灯式口小学 黄叒(灭火比赛) (使用通用机器人)

61 2002年7月《全国中小学信息技术创新与实践活动》组委会将“通用ROBOT教学用机器人”作为该活动的指定产品。2003年4月12日—13日,首届“全国中小学信息技术创新与实践活动”决赛及表彰大会在中国科技馆举行,智能机器人比赛项目包括走规定图形、灭火及创新比赛,在这次比赛中有通用机器人、乐高机器人、广茂达机器人、德利发机器人、自制的机器人参加,这也是第一次不同的机器人在一个平台上进行比赛,通用机器人取得较好的成绩。

62 媒体对首届“中小学信息技术创新与实践活动”的 报道

63 “通用机器人”在走规定图形

64

65 中学组规定图形比赛场地示意图

66

67 5. 2003年12月6日石家庄市青少年第二届电脑机器人竞赛活动
石家庄市青少年第二届电脑机器人竞赛于昨天上午在市第41中学举行。本次比赛由石家庄市科学技术协会和市教育局联合举办,目的是为了培养青少年科技创新精神和动手实践能力,把现代化的科学技术知识引入中小学科技教育活动,鼓励更多的青少年机器人爱好者搞小发明、小创造,激发广大青少年学习、探索科学文化知识,掌握和运用有关的电子信息技术,提高他们的科学素质。 此次竞赛设置的项目有机器人轨迹、机器人爬楼梯、机器人灭火、机器人竞走和机器人足球比赛。来自全市16所学校的80名中小学生组成了21只代表队参加了此次竞赛。

68 石家庄市青少年第二届电脑机器人竞赛 小选手调试机器人寻找轨迹 机器人竞速比赛 机器人灭火比赛

69 5. 中国青少年电脑机器人竞赛 小学组常规比赛规则:机器人轨迹比赛
比赛场地规格:机器人轨迹比赛的场地为一块长2.4米,宽1.6米的白色的木质板,板面上将贴有一条2—2.5厘米宽的黑色轨迹线。此条黑色轨迹线由直线、圆弧、隧道(长30厘米,宽20厘米,隧道高20厘米)、拱形斜坡(坡长40厘米,宽20厘米,坡高3-5厘米)和其它曲线组成,场地中间圆形图形的直径为90厘米。具体比赛场地的轨迹图形、障碍设计与要求、各区域的色彩搭配将由组委会在赛前确定。

70

71 第五届“全国中小学电脑制作活动” 教育部基础教育课程教材发展中心组织的一年一次的全国中小学电脑制作比赛—智能机器人比赛项目(灭火比赛、足球比赛)。第四届智能机器人项目的比赛因非典原因没有进行,现在各省市都在抓紧筹备第五届比赛的准备工作。第五届“全国中小学电脑制作活动”指导文件中对参赛机器人的品牌没有指定,欢迎全国各地组队踊跃参加智能机器人比赛项目,详细内容请浏览教育部课程发展中心网站,网址:

72 第二届“全国中小学信息技术创新与实践活动”
第二届“全国中小学信息技术创新与实践活动”大赛已经启动 ,由教育部网络科技时代杂志社承办,智能机器人有机器人灭火、机器人足球、机器人创新项目的比赛。欢迎全国各地组队参加智能机器人的比赛项目,有关比赛详细内容请浏览网络科技时代杂志社网站,网址:

73 第四届中国青少年电脑机器人竞赛 中国青少年电脑机器人竞赛活动是在青少年电子、信息技术不断普及应用的基础上,逐步兴起的一项全国性青少年科普教育活动。它是中国科协在21世纪青少年科技创新活动中着力创建和打造的一个崭新品牌。 中国青少年电脑机器人竞赛是以弘扬科学技术,突显创造与创新,强化团队贡献,培养科学素质,关联当今世界面临的问题与机遇为宗旨。 网址:

74 与当前国内外同类研究、 同类技术的综合比较
1)采用适用于初学者和青少年学习使用的BASIC语言编写程序以控制机器人的运动,将中小学信息技术课程中的程序设计教学内容与智能机器人的知识和技能的教学有机地结合起来,有利于在我国中小学开展智能机器人的普及活动。 其他产品有的用C语言,有的用视窗流程图等取代计算机高级语言程序设计。专家认为,其作法不符合青少年的学习心理,也不符合基础教育中的信息技术教学目标。

75 2)“通用机器人”操作非常简便。用随机带有的电缆与计算机端口连接,可直接从计算机上下载程序,并可离线运行。
其他产品有的不能离线,有的操作比较复杂。 3)“通用机器人”主板是可以安装在任意履带双轮或四轮的运动模型上,具有开放性。学生可以自己动手改装家中原有的玩具遥控车,加上“通用机器人”主板和传感器组装属于自己的机器人。 其他产品都是固定外型,不宜学生自己组装机械部分。

76 4)“通用机器人”对计算机硬件环境要求不高,高、中、低各种档次的计算机都可以编辑、运行其使用的程序,提高了计算机的使用效益
其他产品一般对运行环境要求比较严格。 5)“通用机器人”的零售价格低,普通的学校和一般学生都能买的起,便于普及和发展。 其他多数产品价格偏高

77 信息技术课、综合实践课的最佳教学平台 ---通用6型机器人即将问世 能参加国内、外机器人灭火竞赛 能参加国内、外机器人足球竞赛 支持学生参与多种创新与实践活动 附赠多语言教学光盘

78 程 序 设 计 2004年01月

79 一、通用ROBOT教学用机器人的运行环境
通用ROBOT教学用机器人使用的BASIC单片机,采用美国Microchip公司的 PIC16C57单片机注入单片机BASIC语言解释程序,它兼有单片机的实用、低价、省电、小巧和BASIC 编程的易学易用的特点,免去了用单片机的汇编语言开发应用程序的艰辛。 1. 固化在CPU内部的BASIC解释程序,提供了31个语句。 2. 具有16位双向可独立编程(I/O)口,BASIC语言支持多种I/O操作。 3. 工作速度:在20MHz的系统时钟下,每秒可执行8000 条以上的BASIC语句。 4. BASIC源程序存放在外接的24C16B串行EEPROM。 EEPROM 的容量为2K字节,约可存放600~800条语句。当与PC机连接时,可以在线下载、修改和调试BASIC源程序。

80 二、启动DOS操作系统 通用机器人的软件是基于DOS操作系统的,要启动通用机器人软件,首先应先进入DOS操作系统:
a. 在WINDOWS窗口中工作时,切换请在关闭WINDOWS操作系统时,选择 “重新启动计算机并切换到MS-DOS方式 ”。 b. 在开机时不进入WINDOWS操作系统,而应按F8键选择菜单的第5项,切换到MS-DOS方式。 c. 用DOS启动盘直接进入DOS系统。

81 要启动通用机器人软件,首先应先进入DOS操作系统
进入DOS系统后,首先将当前盘符C:改变成软件所在盘符 ⑴ 在提示符D:>的后面键入CD TYBASIC并回车进入BASIC所在的文件夹。

82 ⑵ 直接键入可执行文件TYBASIC,敲入回车键后进入编辑窗口。
快捷键提示 程序编辑区 快捷键提示

83 2. 窗口操作 ⑴ 窗口上方快捷键提示 Alt/R 下载并运行TYBASIC程序 Alt/L 载入文件至编辑缓冲区 Alt/S 保存编辑缓冲区中的内容至文件 Alt/F 寻找一个字符串 Alt/N 再次寻找 Alt/Q 退出TYBASIC ⑵ 窗口下方常用编辑键的提示: Shift: 加上光标↑↓←→移动键成为标记块的操作键。 Alt/X: 删去标记块 Alt/C: 标记块拷入剪接板 Alt/V: 将剪接板的内容粘贴(插入)到当前光标位置 TYBASIC系统是基于PC-DOS的操作系统,一切的操作只能用键盘控制。

84 四、应用实例 要实现某一个功能,需要在按下ALT键的同时敲命令的第一个字母。 1.打开一个编辑好的程序
⑴ 在按下ALT键的同时敲 “Load “命令的第一个字母L,此时在编辑窗口出现一个打开程序的对话框。

85 ⑵ 输入演奏音乐的程序M-TYSG.BAS,敲回车键。

86 ⑶ 演奏音乐《同一首歌》的程序就会出现在编辑区。

87 2.保存已经编辑好的程序。 ⑴ 在按下ALT键的同时敲“Save”命令的第一个字母键S,此时在编辑窗口出现一个保存程序的对话框。

88 ⑵ 在光标闪烁处输入文件名MUSIC.BAS,当敲入回车键后,程序就会以MUSIC.BAS的新名子保存起来。

89 A 将通用机器人数据下载线的连接打印机口插入计算机的打印机插座。连接数据下载口插头插入通用机器人数据下载口。
3.运行已编辑好的程序 ⑴ 连接好通用机器人 A 将通用机器人数据下载线的连接打印机口插入计算机的打印机插座。连接数据下载口插头插入通用机器人数据下载口。 B 将通用机器人正确的拿在手中,打开电源开关。 底部的正确拿法 通用机器人后部的正确拿法

90 2.运行已编辑好的程序 A. 在按下ALT键的同时敲命令的第一个字母键R。 B. 程序运行后,先进行语法检查。检查源程序的所有语句是否符合TYBASIC的语法,包括 FOR-NEXT嵌套的限制(8级)、子程序的限制(16 个 ) 和源程序是否超出EEPROM(可擦除只读存储器)的空间(包括源程序中对EEPROM数据空间的使用)。 C. 下载程序 TYBASIC程序与CPU板联络,出现一个联络窗口,如果联络不成功,那么联络窗口中会提示: ERROR ◆ Hardware not Found

91 D. 此时按任意键,将返回编辑。如果联络成功,将下载代码 和数据。若下载成功,小窗中的灰块变色,其中白色小块指示空闲的EPROM空间;红色块表示程序已用的EEPROM空间。

92 五、退出TYBASIC 如果要退出TYBASIC,只要按Alt+Q键,就可以退出TYBASIC,返回DOS操作系统。如果你正在编辑一个程序,并且没有保存,那么它会弹出小窗,提示你是否保存这一修改,你可按Y保存修改后退出,或按N放弃修改退出,或按Esc键取消退出而重新编辑程序。

93 机器人走图形 一、机器人走图形 通用机器人的控制面板一共有16个I/O(输入输出)口,打开不同的I/O口,通用机器人会有不同的反应,本模块直接嵌入主板上,即主板的初始功能。 我们可以通过编程序,直接向通用机器人发出“运动命令”,如前进,后退,左转,右转,停止命令,就可实现让机器人走各种图形的表演。

94 二、编程基础 1.常量 常量:在程序运行中,其值不变的数据。 ⑴ 数值常量:与数学中的“常数”概念相同。 ⑵ 字符串常量:用双引号“ ”括起来的字符(字母、数字、符号)。 TYBASIC的常数可以是数值或字符(串)。数值可以用三种进位制表示:十进制、十六进制和二进制。 表示十进制数值的数字不加任何符号,按常规书写即可;十六进制要在最高位数字前加美元符号$;二进制则加百分号%。字符(串)用双引号括起来。  十进制100 $ 十六进制64,相当于十进制100 % 二进制 ,相当于十进制100 “A" 字符A,相当于A的ASCII码65 $AA 十六进制数AA,相当于十进制170

95 2.变量 变量:用字符(变量名)表示的,可以取不同值的量。 TYBASIC为所有变量事先赋予一个名字(称为预定义名)。 ⑴ 通用变量 变量W0~W13(字变量,允许值为0~65535)、B0~B27(字节变量,允许值为0~255)和BIT0~BIT31(位变量,允许值为0和1)是通用的变量, 可以作为一般变量使用。

96 字变量 字节变量 位变量 PINW PINB PIN0~PIN7 PINB PIN8~PIN15 DIRW DIRB DIR0~DIR7 DIRB DIR8~DIR15 W B BIT0~BIT7 B BIT8~BIT15 W B BIT16~BIT23 B BIT24~BIT31 W B4 B5 W B6 B7

97 ⑵ 专用变量 ① 专用变量1 DIRB0、DIRB1专用变量 【格式】DIRB0=<变量值> 或 DIRB1=<变量值> 【功能】对CPU的I/O口的方向控制的缓冲 【说明】对其中的某位写入0,对应的引脚就被设定为输入, 反之为输出。 在执行后续的每一语句之前,这个字节的数据被 送入P0~P15的方向控制寄存器。  【应用】 l  DIRB0=% ;从右向左,将I/O口的0、1、2、3、4 五个引脚设为输出, 5、6、7三个引脚为设为输入。 l  DIRB1=% ;从右向左,将I/O口的8、9、10、11四个引脚设为输出, 12、13、14、15四个引脚设为输入。 l   DIRB0控制I/O口的0~7引脚,DIRB1控制I/O口的8~15引脚。

98 ② 专用变量2 PINB0、PINB1专用变量 【格式】PINB0=<变量> 或 PINB1=<变量> 【功能】不同的变量打开不同的输出口 【说明】 l  变量值可以是二进制、十进制、十六进制的具体数值,其具体数值是按照打开不同的管脚而确定的。 l   在执行后续的每个语句之前,将该字节的数据写入P0~P15。 【应用】 l   PINB0=% ;从右向左,将I/O口的0、2、4 三个引脚设为打开, 1,3,5、6、7五个引脚为设为关闭。 PINB1=% ;从右向左,将I/O口的8、9、10、11四个引脚设为打开, 12、13、14、15四个引脚设为关闭。

99 PINB0控制I/O口的0--7引脚,PINB1控制I/O口的8--15引脚。

100 编程序 1 基本语句 ⑴暂停语句 【格式】 PAUSE 时间 【功能】 暂时停止程序的执行,或是延迟一段时间。 【说明】 1. 在让机器人运动时,是通过时间的长短来控制机器人前进、后退的距离,以及左、右转动的角度。 2.时间的具体值就是指时间的长短,它可以精确到毫秒。 【应用】 PAUSE 此语句的意思是延时时间设为1秒。 (2) 结束语句 【格式】 END 【功能】 终止运行

101 2 编程序 ⑴ 前进:FD dirb0=% (I/O口的0、1、2、3、4 五个引脚 设为输出, 其余三个引脚为输入) pinb0= (变量清零<0为十进制>) pinb0=% (前进) pause (前进1秒) pinb0=% (停止<% 为二进制>) end (结束)

102 ⑵ 后退:BK dirb0=% (I/O口的0、1、2、3、4 五个引脚 设为输出, 其余三个引脚为输入) pinb0= (变量清零) pinb0=% (后退) pause (后退1秒) pinb0=% (停止) end (结束)

103 ⑶ 左转:LT dirb0=% (I/O口的0、1、2、3、4 五个引脚设 为输出,其余三个引脚为输入) pinb0= (变量清零) pinb0=% (左转) pause (左转1秒) pinb0=% (停止) end (结束)

104 ⑷ 右转:RT dirb0=% (I/O口的0、1、2、3、4 五个引脚 设为输出, 其余三个引脚为输入) pinb0= (变量清零) pinb0=% (右转) pause (右转1秒) pinb0=% (停止) end (结束)

105 (5) 原地左转 dirb0=% (I/O口的0、1、2、3、4 五个引脚 设为输出, 其余三个引脚为输入) pinb0= (变量清零) pinb0=% (原地左转) pause (原地左转延时1秒) pinb0=% (停止) end (结束)

106 (6)原地右转 dirb0=% (I/O口的0、1、2、3、4 五个引脚 设为输出, 其余三个引脚为输入) pinb0= (变量清零) pinb0=% (原地右转) pause (原地右转延时1秒) pinb0=% (停止) end (结束)

107 机器人走正方形 1.编程序:走正方形的一条边 dirb0=%00011111 pinb0 = 0 pause 1000 (停止1秒)
一边

108 二、循环语句 1.循环语句 【格式】 FOR 循环变量 = 初值  TO  终值  STEP 步长 …… …… 循环体 NEXT 变量 FOR 循环说明语句(循环入口) NEXT 循环终值语句(循环出口) 【功能】循环语句用来执行固定次数的重复动作。 【说明】 1. 循环变量的初值、终值和步长均可以是常数或变量 2. 当步长为1时,STEP可以省略。 3. FOR/ NEXT需同时使用缺一不可,循环变量名要一致。 4. 循环的嵌套层数不超过8层。

109 用循环语句走正方形: 1.流程图

110 2.编程序 dirb0=% (I/O口的0、1、2、3、4 五个引脚 设为输出, 其余三个引脚为输入) pinb0= (变量清零) pause (停止1秒) for b3=1 To (循环变量b3 初值为1,终值为4) pinb0=% (前进) pause (前进400毫秒) pinb0=% (停止) pause (停止1秒) pinb0=% (左转) pause (左转500毫秒) next b (循环终端语句) pinb0=% (停止) end (结束)

111 调整机器人运动的速度 1)调整机器人运动的速度
在编写通用机器人运动程序时你会发现,你手中的通用机器人运动速度很快。机器人运动的越快,其运行的轨迹偏离预定路线越大。 在机器人运动时,不断调整送给pin4(调制脉冲)口的参数,即可实现调速的功能。

112 ⑵ 程序: dirb0=% (I/O口的0、1、2、3、4 五个引脚设 为输出,其余三个引脚为输入) pinb0= (变量清零) pause (延时1秒) pinb0=% (驱动左电机正转的引脚0和驱动右电机 正转的引脚2打开,调制脉冲引脚4不打开) for b3=1 to 20 (循环20次) pin4 = (打开调制脉冲口) pause (打开调制脉冲口延时20毫秒) pin4 = (关断调制脉冲口) pause (关断调制脉冲口延时30毫秒) next b3 pinb0=% (停止) end (结束)

113 声音语句 【格式】SOUND 引脚号,(声调,持续时间,声调,持续时间,……) 【功能】在指定的持续时间内发出给定的声调的声音。 【说明】
⑴ 本模块已集成在通用机器人主板的PIN8端口。 ⑵ 声调为0-127(0为休止符,1-127分别发出127种频率的声音),实际应用中,可适当改变声音的频率来校正音准。

114 ⑶ 简谱和声音频率对照表 低音 1 2 3 4 5 6 7 83 87 91 94 97 101 105 中音 106 108 109 111 113 115 116 高音 117 118 119 120 121 122 123 ⑷ 持续时间: 时间值:1约为1.3毫秒 ⑸ 全音符和持续时间对照表 全音符 1/2音符 1/4音符 1/8音符 持续时间 130 60 30 15

115 无条件转移语句 【格式】 GOTO 行标号 【功能】无条件地转向指定的行标号去执行程序。 【说明】 ⑴ 标号是表示某一地址的符号。
⑵ 标号以冒号结束,并且出现在执行语句的前面,而不能出现在不可执行语句前。

116 通用机器人演奏1、2、3、4、5、6、7 【程序】: dirb0=% pinb0=0 dirb1=% pinb1=0 music: sound 8,(83,60) sound 8,(87,60) sound 8,(91,60) sound 8,(94,60) sound 8,(97,60) sound 8,(101,60) sound 8,(105,60) goto music

117 演奏“同一首歌”: 【程序】: dirb0=%00011111 pinb0 = 0 dirb1=%00001111 pinb1 = 0
music: sound 8,(97,60,106,30,108,30,110,45,111,15,110,30, 106,30) sound 8,(108,60,106,30,101,30,106,130) sound 8,(97,60,106,30,108,30,110,30,110,15,111,15, 113,30,106,30) sound 8,(111,45,110,15,113,30,108,15,110,15,108,130) sound 8,(110,60,113,30,117,30,116,45,115,15,115,60) sound 8,(113,30,113,15,115,15,116,30,115,15,113,15, 110,130) sound 8,(111,45,111,15,113,30,115,30,113,30,111,15, 110,15,108,60) sound 8,(104,30,104,15,101,15,97,30,101,30,106,130) goto music end

118 分支语句IF……THEN…… 【格式】 IF 条件表达式 THEN 标号 【功能】 根据条件表达式是否成立,决定程序的流向。 【说明】
⑴ 在条件语句中,条件表达式的值如果为真,那么转到给定的标号去执行程序,否则执行条件语句的下一个语句。 ⑵ 条件表达式可以是算术表达式、关系表达式、逻辑表达式等等。 ① 算术表达式: 算术运算符:+(加)、-(减)、*(乘)、/(除)、^(乘方)、(、)圆括号 算术表达式:用算术运算符和括号,将常量、变量和函数连接起来的式子。

119 ② 关系表达式 关系运算符:=(等于)、<>(不等于)、=>或>=(大于等 于)、=<或<=(小于等于)、>、(大于)、 <(小于)。 关系表达式:用关系运算符把两个算术表达式连接起来的 式子。 关系表达式的运算结果是一个逻辑值, 逻辑值 只有两个,真(1)和假(0)。 条件成立,其值为真,条件不成立,其值为假。 ③ 逻辑表达式 逻辑运算符:AND(与)、OR(或) 逻辑表达式:用逻辑运算符把多个关系表达式连接起来的 式子。 逻辑表达式的运算结果是一个逻辑值。 运算结果如下: A AND B 只有A 为真,B为真,逻辑表达式为真。 A OR B A和B中只要一个为真,逻辑表达式为真。

120 利用条件判断走正方形 ⑴.流程图:

121 ⑵ 编程序: dirb0=% (I/O口的0、1、2、3、4 五个引脚设为输出, 其余三个引脚为输入) pinb0= (变量清零) b3= (变量清零) pause (延时1秒) zfx: (行标号) pinb0=% (前进) pause (前进400毫秒) pinb0=% (停止) pause (停止1秒) pinb0=% (左转) pause (左转500毫秒) b3 = b (变量加1) If b3 < 4 Then zfx (当变量b3小于4程序转到行标号zfx执行, 否则转下一个语句) pinb0 = % (停止) end (结束)

122 多分支语句 【格式】 BRANCH 变量,(标号0,标号1,…,标号n) 【功能】多分支语句根据变量的值转向不同的标号。 【说明】 ⑴如果变量的值为零,那么转至标号0;为1转至标号1, 依此类推。如果变量的值大于n,那么执行下一条语句。 ⑵这个语句用于那些需要根据某一变量的值进行不同处理的场合,这样就可以用多分支语句分别转到几个不同的标号。

123 程序 dirb0=%00011111 pinb0 = 0 st1: sound 8,(87,120) dirb1=%00011111
loop:branch b2, (st0,st1,st2,st3,st4) sound 8,(83,120, 87,120, 91,120, 94,120, 97,120) end st0: sound 8,(83,120) b2=b2+1 goto loop st1: sound 8,(87,120) b2=b2+1 goto loop st2: sound 8,(91,120) st3: sound 8,(94,120) goto loop: st4: sound 8,(97,120)

124 红外线传感器 1. 红外发射器 红外发射器可以发出红外线,如果有障碍物, 该障碍物将红外线反射回来。 2. 红外接收器
红外接收器是一种接收设备。它检测从障碍物反射回来的红外线。红外接收器有各种不同的工作方式。红外接收器在在接收到红外线时,该接收器将被激活。 3.红外线传感器 通用机器人的红外线传感器具有很好的避障功能,它是由红外线发射管、红外线接收管组成,红外线传感器的检测距离可在10—30 cm之间选择,当红外线发射管发出的红外线,遇到障碍物将红外线反射回来,该接收管接收后将被激活。 通用机器人在机身的前面、左面、右面三个不同方位各安装了一个红外线传感器,可以实现三个方向的避障,因此可以用它来走迷宫。

125 机器人躲避障碍 机器人避开正前方障碍物 流程图

126 程序 dirb0=% pinb0 = 0 loop: If pin5 = 0 then zz (如果前避障有信号,则执行zz) pinb0=% (前进) pause (前进延时200毫秒)  pinb0 = % (停止) pause (停止延时500毫秒) goto loop (无条件地转向标号loop) zz: (行标号) pinb0=% ( 原地左转) pause ( 原地左转延时300毫秒) pinb0 = (停止) pause (停止延时500毫秒) goto loop (无条件地转向标号loop)

127 机器人躲避障碍物的完整程序 条件判断语句逐级进行判断 通用机器人躲避正前方及左、右两边障碍物的完整程序: ⑴程序分析:
① 避障头的情况:PIN5=0——前避障头有信号 PIN6=0——左避障头有信号 PIN7=0——右避障头有信号 ② 通用机器人前进,PIN5=0(前避障头检测到信号)的情况:   当PIN6=0 PIN7=0 通用机器人原地右转调头,返回继续判断。     当PIN6=0 PIN7≠0 通用机器人原地右转,返回继续判断。 当PIN6≠0 PIN7=0 通用机器人原地左转,返回继续判断。 当PIN6≠0 PIN7≠0 通用机器人原地左转,返回继续判断 ③ 通用机器人前进,PIN5≠0(前避障头没检测到信号)的情况:       当PIN6=0 PIN7=0 通用机器人前进,返回继续判断。      当PIN6=0 PIN7≠0 通用机器人原地右转,返回继续判断。 当PIN6≠0 PIN7≠0 通用机器人前进,返回继续判断

128 流程图

129 程序 dirb0=% pinb0 = 0 Loop: If pin5 = 0 then pd1 (前避障头有信号,转到判断1) If pin6 = 0 then pd2 (前避障头没有信号,左避障 头有信号, 转到判断2) If pin7 = 0 then lt (前避障头没有信号,左避障头没 信号, 右避 障头有信号转到原地左转) goto fd pd1:If pin6 = 0 then pd3 (左避障头有信号,转到判断3) If pin7 = 0 then lt (左避障头没有信号,右避障头有 信号, 转到 原地左转) goto rt pd2:If pin7 =0 then fd (右避障头有信号,转到原地左转) goto rt pd3:If pin7 = 0 then rt (右避障头有信号,转到原地右转)

130 前进 原地左转 fd: pinb0=%00000101 pin4 = 1 pause 10 pin4 = 0 pause 20
goto loop lt: pinb0=% pause 30 goto loop rt: pinb0=% end 前进 原地左转 原地右转

131 程序分析: 当通用机器人前进,PIN5=0(前避障头检测到信号)的情况:有四种 ① pin5 = 0 And pin6 = 0 And pin7 = 0 ② pin5 = 0 And pin6 = 0 And pin7 <> 0 ③ pin5 = 0 And pin6 <> 0 And pin7 = 0 ④ pin5 = 0 And pin6 <> 0 And pin7 <> 0  通用机器人前进,PIN5≠0(前避障头没检测到信号)的情况:有四种 ① pin5 <> 0 And pin6 = 0 And pin7 = 0 ② pin5 <> 0 And pin6 = 0 And pin7 <> 0 ③ pin5 <> 0 And pin6 <> 0 And pin7 = 0 ④ pin5 <> 0 And pin6 <> 0 And pin7 <> 0 将这8种情况全部列出,每种情况之间用逻辑运算符AND连接,由通用机器人进行判断,做出相应的反应。

132 流程图

133 If pin5=0 And pin6=0 And pin7=0 Then rt
编程序 dirb0=% pinb0=0 Loop: If pin5=0 And pin6=0 And pin7=0 Then rt If pin5=0 And pin6=0 And pin7<>0 Then rt If pin5=0 And pin6<>0 And pin7=0 Then lt If pin5=0 And pin6<>0 And pin7<>0 Then rt If pin5<>0 And pin6=0 And pin7=0 Then fd If pin5<>0 And pin6=0 And pin7<>0 Then rt If pin5<>0 And pin6<>0 And pin7=0 Then lt If pin5<>0 And pin6<>0 And pin7<>0 Then fd goto loop

134 fd: pinb0=%00000101 pin4 = 1 pause 50 pin4 = 0 pause 30 goto loop
lt: pinb0=% rt: pinb0=% end 原地前进 原地左转 原地右转

135 dirb0=% pinb0=0 loop: b0=0 if pin5=0 then zb011 a20: if pin6=0 then zb001 a30: if pin7=0 then zb021 a40: branch b0, (st0,st1,st2,st3,st4,st5,st6,st7) Zb001: bit0=1 goto a30 zb011: bit1=1 goto a20 zb021: bit2=1 goto a40 st0: goto qj st1: goto kyz st2: goto kzz st3: goto kyz st4: goto kzz st5: goto qj st6: goto kzz st7: goto kz180 qj: pinb0=% goto pwmout1 kzz: pinb0=% kyz: pinb0=% kz180: pinb0=% pause 300 pinb0=% goto loop pwmout1: pin4=1 pause 20 pin4=0 pause 5 end

136 模块化的程序设计 1. 转子程序语句和返回语句 【格式】 GOSUB 标号 : : 程序 主程序 END 标号 : 程序 子程序1
: 程序 主程序 END 标号 : 程序 子程序1 RETURN : 程序 子程序2

137 【功能】跳转到指定的行标号开始执行程序。
【说明】 ① 子程序用来缩短程序并增加程序的可读性。 ② 从主程序转向子程序使用GOSUB语句。 ③ 子程序执行完后,用RETURN语句返回到主程序的GOSUB语句的下一个语句行执行程序。 ④ 子程序嵌套不能超过16级。

138 用转子程序语句和返回语句走“8”字: ⑴ 程序分析: 对于在程序中多次出现的内容,可以建立相对独立的程序模块。在程序设计中,由主程序多次进行了调用,简化了程序,缩短程序并增加程序的可读性,用转子程序语句和返回语句,使程序设计模块化。 任务分析: 走“8”字分八步完成: ①前进、右转 ②前进、左转 ③前进、左转 ④前进、左转 ⑤前进、左转 ⑥前进、右转 ⑦前进、右转 ⑧前进、右转 建立两个子程序: FDRT 前进右转 FDLT 前进左转

139 编程序 dirb0=% pinb0=0 pause 1000 GoSub FDRT (调用前进右转的子程序) GoSub FDLT (调用前进左转的子程序) GoSub FDLT (调用前进左转的子程序) 主程序 end

140 FDLT: pinb0=% (前进) pause (前进300毫秒) pinb0 = (停止) pause (停止1秒) pinb0=% (左转) 子程序1 pause (左转300毫秒) Return (返回主程序)  FDRT: pinb0=% (右转) 子程序2 pause (右转300毫秒) Return (返回主程序)

141 光电模块 光电模块采用了窗口比较技术和辅助光源技术,对环境光的变化有较好的抑制作用。
光电模块的工作原理是:当两个光敏电阻接收(发光二极管照射到地面后反射回的光)光的强度接近时,两个输出端均呈现高电位(PIN14=1、PIN14=1)。当光电模块两侧的光强差超过一定数值时,比较亮的一侧(如左侧)将输出低电位(PIN14=0)。 光电模块的I/O接口使用了PIN14、PIN15,左侧较亮时PIN14=0,右侧较亮时PIN15=0。

142 机器人沿黑线行走 流程图

143 程序 dirb0=% (I/O口的0、1、2、3、4 五个引脚设为输 出,其余三个引脚为输入) pinb0= (变量清零) dirb1=% (I/O口的8、9、10、11、四个引脚设为输 出其余12、13、14、15四个引脚为输入) pinb1= (变量清零) pause 1000 Loop: If pin14=0 Then rt (左侧输出低电平,向右转) If pin15=0 Then lt (右侧输出低电平,向左转) pinb0=% (前进) pin4= (打开调制脉冲口) pause (打开调制脉冲口延时10毫秒) pin4= (关断调制脉冲口) pause (关断调制脉冲口延时10毫秒) goto loop

144 lt: sound 8,(87,15) pinb0=% pin4 = 1 pause 左转 pin4 = 0 pause 10 goto loop  rt: sound 8,(83,15) pinb0=% pause 右转 goto loop

145 机器人沿白线行走 编程序 dirb0=% (I/O口的0、1、2、3、4五个引脚设为 输出, 其余三个引脚为输入) pinb0= (变量清零) dirb1=% (I/O口的8、9、10、11、四个引脚设为输 出其余12、13、14、15四个引脚为输入) pinb1= (变量清零) pause 1000 Loop: If pin14=0 Then lt (左侧输出低电平,向左转) If pin15=0 Then rt (右侧输出低电平,向右转) pinb0=% (前进) pin4= (打开调制脉冲口) pause (打开调制脉冲口延时10毫秒) pin4= (关断调制脉冲口) pause (关断调制脉冲口延时30毫秒) goto loop

146 lt:sound 8,(87,15) pinb0=% pin4 = pause 左转 pin4 = pause goto loop rt:sound 8,(83,15) pinb0=% pin4 = pause 右转 pin4 = pause goto loop end

147 随机数语句 随机数语句产生一个伪随机数。其格式为: RANDOM Var 其中,Var是接收伪随机数的字变量和工作变量( 其后的随机数以此为基础计算)。 例: RANDOM W1 将产生一个伪随机数,并将这个伪随机数赋给变量W1。 充分利用EEPROM空间 EEPROM [地址,](常数,常数…) 其中地址是一个常数或变量,它指定存放的起始地址。 如果不指定地址,那么接着上一个EEPROM语句存放的最后一个数据往下存放;如果是第一个EEPROM语句,那么从0开始。 例如: EEPROM 4,(3,2,5) 将3、2和5依次存入地址4、5和6。 注: 常数语句不是一个可执行语句。

148 读语句 读语句从数据空间中读出数据。格式如下: READ 地址,Var 其中地址可以是常数(0~255)或字节变量。它将数据空间中指定地 址的内容读出并赋给变量。 写语句 写语句将数据写入数据空间中的指定地址。格式如下: WRITE 地址,常数|变量 其中地址可以是常数(0~255)或字节变量。

149 read 128,b8 ‘(将数据空间中第128地址的内容读出
b8=b '(将变量B8进行累加,步长为1) if b8>3 then eep '(如果变量B8大于3,则执行EEP1) write 128,b ‘(将变量B8中的数据写入数据空间中 的第128地址中) goto start '(执行START0) eep1: write 128, '(将0写入数据空间中的第128地址中) b8= '(将0赋给变量B8) start0: debug b '(将变量B8的状态在显示屏上显示) if b8=1 then z '(如果变量B8为1,则执行Z2) if b8=2 then z '(如果变量B8为2,则执行Z3) if b8=3 then z '(如果变量B8为3,则执行Z4)

150 查表语句 查表语句从数据表中找出对应指定序号的数据。格式为: LOOKUP 序号,(数据表),Var 例如: Lookup 2,(b1,b0,3,b5,0),b9 的执行结果是b9 = 3。 而语句: Lookup 3,(b0,3,4,b5,7),b8 将b5的值赋给b8。 注: 如果序号大于等于项数, 那么变量的值不变。

151 查找语句 它在数据表中从左自右查找给定的目的数据,如果在表中找到与目的数据相等的项,那么将该项在表中的序号(从0开始)赋给给定的变量。 LOOKDOWN 目的数据,(数据表),Var 例如: LOOKDOWN 5,(B1,B0,5,B5,0),B3 当B1 = 5 时,B3 = 当B1 ≠ 5且B0 = 5时,B3 = 1 当B1 ≠ 5且B0 ≠5时,B3 = 2 注: 如果在数据表中找不到与目的数据相等的项, 那么变量的值不 变。 例如: b3 = 23 LOOKDOWN 3,(1,2,5,4),b3 debug b3 那么b3的值不变,还是23。

152 I/O引脚的方向控制 方向设定可以用方向控制语句或写DIRW变量。 方向控制语句有三个,如表所示: 其中引脚号可以是值为0~15的常数或变量。 通过写DIRW(或DIRB0~DIRB15)变量也可以设定I/O引脚的方向。 例如: DIR1 = '引脚1为输入 DIR2 = '引脚2为输出

153 数字量输出 数字量输出通过引脚输出数字量。数字量输出可以使用数字量输出语句也可以通过写PINB1和PINB0(或PIN0~PIN15)变量来实现。 (1)数字量输出语句 数字量输出语句共三个,其格式和功能如表。 例: OUTPUT '引脚2为输出 LOW '使引脚2输出一个低电平 TOGGLE '使引脚2输出一个高电平(承上句)

154 2)写PINW变量输出数字量 写PINW变量或PIN0~PIN15变量输出数字量可以通过赋值语句实现。写PINW变量将从8根I/O引脚输出,写PIN0~PIN7 将从相应的引脚输出。 例如: DIRB0 = $FF '8个I/O引脚用于输出 PINB0 = b '输出b2的值 PIN0 = '引脚0输出高电平

155 模拟量输入 模拟量输入是感知现实世界的物理量的重要手段。因此TYBASIC提供简易的A/D变换语句──POT来读入电阻传感器的阻值。 (1)原理 POT语句用来读入一个5~50K的电位器、热电耦、 光敏电阻或其它可变电阻的输入,即一个电阻传感器的输入。为从POT语句读入电阻值,这个电阻的一端连到I/O引脚,另一端接一个电容到地。 这个电路通过引脚向电容充电,当电容充电充满时,在引脚将输出一个电位。此时,切换成输入,将通过电容放电至低电平。POT 语句通过测量放电的时间来测这个电阻值。

156 (2)格式 POT语句的格式如下: POT 引脚号,比例系数,Var 其中:引脚号是此POT使用的I/O引脚的编号,值为0~7, 可以是变量或常数。 比例系数是一个值为0~255的变量或常数。 它用来量化读入的值。 POT语句在内部计算一个16位的值,而后被按比例量化为8 位后赋给变量Var。 这个内部量化出的结果将随着所接的电阻的阻值变化而变化。

157 (3)确定比例系数 当你要挂接一个电阻传感器(如热电耦)时, 你可以找一个范围与之相同或略大一些的电位器, 先用这个电位器替代它来确定比例系数。 确定最佳的比例系数的步骤如下: 1). 启动最佳系数寻找 启动TYBASIC后(或在编辑时)按Alt/P键,此时将出现一个请求指定所用的引脚的窗口(见图3-9 a>)。你可以使用→、←或按0~7之一选择引脚,然后按回车。 2). 找最佳系数 按回车后,TYBASIC将下装一段代码,下装成功后, 出现一个显示比例系数(scale)和读出值(reading)的窗口,如图3-9 b>。 调整这个电位器直至Scale的值最小。这个Scale的值就是用于POT 语句中的比例系数。

158 机器人扩展端口说明 (1)机器人提供3个扩展输出口PIN9~PIN11和4个扩展输入口PIN12~PIN15,其区别只是作为输入口的PIN12~PIN15分别接有10K的上拉电阻而输出口则没有。用户也可以不受此限制,根据实际需要重新分配输入、输出口。 (2)各输入、输出口分别由3X2.54插针引出,其中靠近线路板边缘的为电源地,中间的为I/O,里边的为电源。 (3)由于机器人采用4节1.2V充电电池供电,未经稳压,所以实际的I/O口供电电压为4.5~5.5V左右,要求自行设计扩展功能模块时,应能适应此电压变化范围。工作电流原则上不受限制,但是越小越好。电流过大时将大大缩短电池的使用时间。建议输入模块消耗电流不超过10mA,输出模块静态不超过10mA,短时100mA。 (4)自行设计扩展功能模块时应注意,良好的电源滤波是必要的,电机工作时电流较大,加之电刷产生火花,可能干扰电路的正常工作

159 机器人走规定图形比赛 1.任务: 要求通用机器人从比赛场地中的起始区出发,在规定的时间内分别通过7颗星星,到达停止区,以通用机器人的中心(通用机器人的俯视中线)在停止区内为准。 2.比赛场地 比赛场地可以用已有的机器人灭火比赛场地,也可以自己来设计。 ⑴ 用机器人灭火比赛场地 比赛场地是一个长250cm、宽250cm 正方形区域(用标准的机器人灭火比赛场地)。区域内有长和宽均为300mm的起始区和停止区,起始区和停止区的出口和入口分别设有宽度为10mm的白色标记线,如图 ⑵ 比赛场地的地板为黑色的光滑木制表面,比赛场地的中间有7颗白色的星星,直径为40mm,被宽度为40mm的白色线由起始区贯穿到停止区。比赛的场地平面示意图见图

160

161 lt: pinb0=% pin4 = 1 pause 30 pin4 = 0 pause 10 goto loop rt: pinb0=% Stop: pinb0 = 0 sound 8,(105,250) End 程序 dirb0=% pinb0 = 0 dirb1=% pinb1 = 0 pause 1000 Loop: If pin14 = 0 Then rt If pin15 = 0 Then lt If pin5 = 0 And pin6 = 0 And pin7 = 0 Then Stop pinb0=% pin4 = 1 pause 10 pin4 = 0 goto loop

162 程序设计 1.程序 ⑴ 学会正确的编程序 编程序就是你对计算机发号施令。用一个或者多个命令使计算机做你想要做的事,但是要想把事情做好,总要讲究些方法及做事的步骤,这就要求你学会正确的编程序。 ⑵ 什么是计算机程序 计算机程序是用计算机能理解的语言来描述的,计算机可以理解和执行的一系列有序指令的集合。 计算机程序主要包括事件描述和操作步骤两个方面。我们可以这样理解:事件的描述称为数据结构,操作的步骤称为算法。这样就可以认为程序=数据结构+算法。

163 2.结构化程序设计 ⑴ 结构化设计原则 ① 使用语言的基本控制结构。如:顺序、选择、重复等。 ② 选用的控制结构只准许一个入口和一个出口。 ③ 复杂的结构用基本的控制结构来组合和嵌套。 ④ 程序语句组成容量识别的块,每个块只有一个入口和一个出口。 ⑤ 严禁控制GOTO语句。仅在以下情况下可使用 l        用非结构化的语言去实现一个结构化的构造。 l        只是在可能改善而不是损害程序可读性的情况下。  ⑵ “自顶向下,逐步求精”的解决方法 结构化程序设计的思想要求“自顶向下”的方法设计程序模块结构图,运用“逐步求精”的方法设计模块程序的算法,使用无GOTO语句的编程技巧,通过组合3种基本逻辑结构(顺序结构、循环结构、分支结构)的嵌套构造程序。 “自顶向下,逐步求精”的设计有以下的特点: ① “自顶向下,逐步求精”思想符合解决问题的规律,可以提高程序设计的成功率。 ② “逐步求精”的过程开发出来的程序有清晰的结构,容易阅读和理解。 ③ 程序“自顶向下,逐步求精”形成一个树形结构,每一个点都是一个独立的功能模块,因此程序易于调试。 ④ 程序清晰和模块化,可重复利用已编制好的模块。

164 机器人灭火 1.机器人灭火比赛 一个由计算机程序控制的机器人,在一间模拟平面结构为四室一厅的单元房间里运动,找到一根燃烧的蜡烛并尽快将它扑灭。它模拟了现实家庭中机器人处理火警的过程。蜡烛代表房间里燃起的火灾,机器人必须尽快找到并扑灭火源, 这就是机器人灭火比赛。 2.比赛场地 模拟平面结构的房间和特性如下:模拟房间的墙壁33cm高,材质为木板。墙壁为白色。竞赛场地的地板为黑色的光滑木制表面。地板可以有接口,但接合处平整并是同样的黑色。场地的平整度要求,只要机器人可以处理0.3cm的不连续区域就可以。竞赛场地模拟房间里整体地面是水平的,没有斜坡和楼梯。 房子中,所有的走廊和门口宽都不小于46cm。门口并没有门,在地面上用一条2.5cm宽的白线表示房间入口。

165

166

167 3.比赛规则 ⑴ 机器人的运行 机器人一旦启动必须在没有参赛选手的干预下自动控制,即:机器人必须是由计算机程序控制,而非人工现场控制。   机器人在运行过程中可以碰撞或接触墙壁,但是不能故意标记和破坏墙壁。机器人当经过比赛场地时不能把任何东西留在后面,并且它不能在比赛场地留下任何可以帮助它运行的标记。 ⑵ 扑灭蜡烛火焰   机器人不能运用任何破坏性的或危险的方法来扑灭蜡烛火焰。它可以运用类似水、空气、CO2等,或者使用机械方式,可以通过吹气来熄灭蜡烛,尽管这在现实生活中不一定是适合的灭火方法,但在机器人灭火竞赛中是允许的。   蜡烛在燃烧状态时不允许被撞倒。如果机器人在灭火过程中碰撞蜡烛,机器人的运行仍然有效。如果蜡烛被撞倒,按未完成灭火任务处理。 机器人在试图扑灭火焰前必须到达距离火焰30cm以内。在距离火焰30cm的圆上有一条2.5cm宽的白线,机器人在扑灭火焰之前必须有一部分在圆圈内。

168 ⑶ 家具 竞赛场地的每个模拟房间里有一件家具。模拟家具是一根直径11.5cm,表面涂了半光泽黄色的钢柱,柱高30cm、重2.3公斤。 机器人可以接触摸家具,但是不能推开家具。家具挡住机器人看蜡烛的视线或者机器人要绕过家具才能到达蜡烛,这增加了家具方式的趣味性、真实感和挑战性。 机器人为了看一看家具是否真的挡住它的视线,也许要从不同角度来查看房间,如果蜡烛真的在家具后边,机器人要确定接近蜡烛的最佳路径。 ⑷ 蜡烛 安装在一个漆成黄色的半透明木质基座上(7.5cm x 7.5cm x 3.5cm)。蜡烛白色。火焰的底部离地面15cm到20cm高,这高度包括支持蜡烛的木质基座。

169

170 机器人灭火

171 机器人踢足球 机器人足球比赛规则 比赛场地及设备标准: 1、场地:长240cm,宽160cm, 高18cm。
2、墙壁:场地边界放置墙壁(包括球门区),由木板制成。墙壁外侧为红、黄、绿相间的彩色,墙壁内侧为黑色。 3、球门:球门位于场地底线的中间,宽60cm,深15cm,门前有一条宽0.8cm的红色球门线。 4、基板:球场铺有一张灰度由浅至深的黑白图纸,基板应尽量保持平整和水平。

172

173 5、球门区:从球门线两端向中场延伸20cm的矩形区域。
7、开球点:球场中央点。 8、坠球点:经过点球位,与中场线平行,形成2条线;再将球场纵向4等份,形成3条线。这样,包括中场线在内的6条线所形成的9个交点即为坠球点(见上图)。(在真实的场地中坠球点没有明显标志) 9、照明:为室内体育馆灯光。 10、机器人:机器人(包括所有部件)必须在一个直径为30cm圆的范围内,限高22cm,限重2.5kg。机器人踢球装置的深度最大为3cm。 11、足球:直径9cm,重160±5g。是一个内部装有电池与小电珠的透明发光球。

174 名词解释 1、出界球:足球(越过墙壁)被机器人踢出球场外。 2、进球:足球的中心(即球的1/2以上)越过球门线且非出界球,即为进球。 3、死球:足球被机器人和墙夹在中间无法移动、或足球被多个机器人包围卡住不动超过10秒钟时,则为死球。 4、丢球:机器人在第一次踢出球以后5秒内没有再接触到球。 5、比赛中断:裁判员吹哨宣布比赛开始或继续后,在20秒内没有任何机器人触到球,而且看上去没有机器人将会触到球,为比赛中断。 6、坠球:当发生死球或比赛中断时所采用的继续开始比赛的方式。 7、任意球:发生犯规判罚、出界球、点球未中时所采用的继续开始比赛的方式。

175 比赛规则 1、赛前准备: 各参赛队应根据比赛时间安排,提前半小时进入比赛区域,做赛前检查及准备调试。 比赛开始前,每个机器人需要接受全体裁判员的检查,以确证它们符合上述规范。检查时,机器人大小以其最突出部位为准,即最长点为计算点。不符合规则的机器人将被取消参赛资格。 为了验证机器人的搭建和编程是否参赛选手自己制作完成,在比赛前将要求参赛选手陈述如何操作他们的机器人。 不允许指导老师进入检查区域。 2、机器人: 机器人装饰物不能对比赛有任何影响。守门机器人在外观上必须与其他上场机器人有所区别。禁止使用无线或红外线装置等进行遥控,禁止参赛选手在墙上、地上或其他位置放置灯塔或反射物等来帮助机器人导航。每个比赛半场的开始和每次暂停后由裁判指示参赛者来激活足球机器人。 每队可带4个机器人。2个机器人上场比赛,其中可有1名守门机器人。另外2个机器人作为替补。

176 3、开球: 开球时,所有的机器人都必须位于自己的半场,且必须处于静止状态。由裁判将球放置在开球点,所有不开球的机器人必须离球大于25cm。开球方将机器人放置在球附近。裁判可以调整机器人的位置,并宣布完成调整。裁判吹哨后,比赛开始。开球机器人触球后,其他机器人方可触球。 某方进球后,应由对方以同样方式,重新开球继续比赛。 下半场,参赛双方互换场地及开球权。 4、比赛时间: 常规赛:比赛分上下两个半场,各5分钟,中场休息时间2分钟,比赛开始前,每队有2分钟的准备调试时间。比赛时钟将持续计时(两个5分钟半场),不会停止(“被破坏机器人”除外)。计时器由裁判来控制。由于坠球、替补、处理伤员、罚点球、延误时间及其它原因损失的时间均应扣除。 加时赛:比赛需有胜负时,且双方在10分钟比赛中打成平局,另加加时赛。加时赛分上下两个半场,各2分钟,中间不休息。加时赛规则同上(包括猜边、开球等)。加时赛采取突然死亡法,即一方进球后比赛结束。

177 5、点球: 胜负点球:比赛需有胜负时,且双方在加时赛中无进球,则以互罚点球决胜负。 首轮罚点球采用3球制,双方猜边、猜球后,轮流罚点球;完成3个点球后,双方仍平局,则采用轮流各罚1个点球,直至分出胜负。罚点球所用机器人为加时赛结束时所用的机器人。罚点球时,除罚球机器人和对方守门机器人外,其他机器人均应在另外半场。对方守门机器人在球被踢出前,必须站在球门线前的中间点。由裁判将球放置在点球位,罚球方将机器人放置在球附近。裁判吹哨后,方可踢球。 如果踢出的球直接或触及守门机器人而进入球门,或主罚机器人将球带入球门,只要没有犯规现象发生,均应判为进球。 如果守门机器人在球被踢出前发生移动,且足球未进,则判守门机器人违例,重新罚点球。 出现以下情况之一,则判为点球未中: ⑴守门机器人将球踢出; ⑵主罚机器人丢球; ⑶主罚机器人后退; ⑷主罚机器人延误开球; ⑸死球; ⑹足球被反弹至主罚机器人所在位置之后。 犯规点球:常规或加时赛中,机器人严重犯规被判罚的点球。罚球方式同上。如果点球未中,换由对方在原点球位开任意球。

178 机器人寻球 机器人对死球的处理 机器人丢球的处理
机器人检测场地方向 机器人守门员 机器人踢足球

179 程序设计实例 1.机器人走“8”字

180 编程序: dirb0=%00011111 pinb0 = 0 pause 1000 GoSub y (调用圆的子程序)
End y: For b2 = 1 To 10 pinb0=% pause 5 pause 100 pinb0=% 圆 pause 300 Next b2 Return

181 2.警察抓小偷

182 程序 ① 小偷程序 ② 警察程序 dirb0=%00011111 pinb0 = 0 dirb1=%00001111
①    小偷程序 dirb0=% pinb0 = 0 loop: pinb0=% pin4 = 1 pause 5 pin4 = 0 pause 12 If pin5 <> 0 Then Loop end ② 警察程序 dirb0=% pinb0 = 0 dirb1=% pinb1 = 0 loop: if pin5 = 0 then js pinb0=% pin4 = 1 pause 5 pin4 = 0 pause 8 goto loop js: sound 8,(83,60) pinb0=% pause 40 If pin5 <> 0 Then Stop goto js stop: end

183 3.人造卫星机器人 程序分析: a)         利用蜡烛模拟一个“恒星”(也就是太阳)。 b)        机器人是环绕这一颗“恒星”有轨道运转的“卫星”。 c)        机器人只用一侧的光敏传感器来进行对“太阳”的感测。

184 程序: DIRB0=%00011111 ‘(将0,1,2,3,4号端口设为输出,5,6,7 号端口设为输入)
PINB0= '(给专用变量PINB0清零) DIRB1=% ‘(将8,9,10,11号端口设为输出,12,13,14, 15号端口设为输入) PINB1= '(给专用变量PINB1清零) START: IF PIN13=0 THEN ZX '(如果左红外三极接收管有信号时,则执行ZX) PINB0=% '(打开调速开关) PIN1= '(打开1号引脚,驱动左电机反转) PIN2= '(打开2号引脚,驱动右电机正转) PAUSE '(进行30毫秒) PIN1= '(关闭左电机反转) PIN2= '(关闭右电机正转) PAUSE '(进行5毫秒) ZX: PINB0=% (执行前进) PIN4= '(打开调速开关) PAUSE '(进行8毫秒) PIN4= '(关闭调速开关) PAUSE (进行3毫秒) GOTO START '(执行START) END '(程序结束)

185 叫人起床的机器人 (1)程序分析: a)         利用光敏传感器可以实现对对光线明暗的检测,利用奏乐模块来实现机器人的发声。 b)        如果光线很暗的话(我们可以模拟成夜间),则机器人也在休息。 c)        如果有一点光线的话,无论机器人是左方的还是右方的光敏传感器、或是左方和右方的光敏传感器同时的,检测到光,机器人则发出美妙的音乐叫人起床。

186 编程序: dirb0=% (设前8个引脚的输入,输出端口) pinb0= '(给专用变量PINB0清零) dirb1=% ‘(设后8个引脚的输入,输出端口) pinb1= '(给专用变量PINB1清零) start: if pin12=1 and pin13=1 then sj '(如果右红外三极接收管和左红外三极接收管没有信号时,则执行SJ) for b1=1 to '(将变量B1循环5次,步长为1) SOUND 8,(113,30,113,18,115,12) '(声音语句) SOUND 8,(108,60,106,35,106,18,101,12) '(声音语句) SOUND 8,(108,60,113,30,113,30) '(声音语句) SOUND 8,(115,18,117,12,115,18,113,12) '(声音语句)

187 机器人走七星

188 机器人过断桥

189 机器人走太极

190 机器人绕障碍走S形


Download ppt "通用机器人 陈志辉 2004.01."

Similar presentations


Ads by Google