1、 1诺宝 RC 机器人编程软件 使用手册 哈尔滨工业大学深圳研究院 哈工大(深圳)教育机器人研究中心 2一、软件介绍 由哈尔滨工业大学深圳机器人教育中心研发的“诺宝 RC 编程软件” ,为开发智能机器人与智能控制项目及相关科研、教学、实践活动等提供了简洁而功能强大的编程调试平台。根据 C+ 编程语言设计成亲切且容易了解的软件。用图形化语言表示逻辑想法与过程,是学会基本逻辑和人工智能的一个强大工具。软件能让使用者学会机器人编程的主要步骤:感觉、分析和运动。 机器人的大脑也如同人的大脑一样的工作,先利用传感器对外界接收信息(感觉) ,运用知识进行判断(分析) ,然后输出反应(运动) ,这一工作过程
2、就是机器人智能的体现。 (如图 ) 人类智能 : 机器人智能 : 诺宝 RC 编程软件 要让机器人拥有人类的智能 , 能够按照人类的意图做事,就必须有能让机器人听懂的语言控制程序,也称为计算机程序,规定他动作的具体内容。诺宝RC 编程软件就是人类与机器人沟通的桥梁。 3机器人设计步骤 第一步 :设计构思、选择模块及搭建机器人 明确设计机器人所要完成什么任务,选择相应的使用模块,创造、搭建自己的机器人,让它运动、做动作,并为机器人赋予思想(机器人控制程序) ,通过输入(传感器)与输出(电机与灯等)对周围环境做出相对应回应。 第二步 :编写诺宝 RC 程序 编写控制程序是设计机器人中最重要的一个步
3、骤, 因为控制程序就是机器人的思想,也就是“人工智能” 。一个人的思想决定了这个人的行为,控制程序则决定了机器人的行为,编写控制程序即将人类思想赋予机器人。 第三步 :使用仿真界面检测程序 在仿真界面中为机器人设置类似现实的环境,检测机器人是否按预先设计的行动完成,以得知程序编写是否完善或者有误,如果检测有误,可以返回编程窗口修改原程序,再运行仿真测试,确保机器人完成任务。 第四步 :下载程序到微电脑 通过计算机编写好程序,在仿真界面检测成功后,使用 USB 下载线将机器人的微电脑与 pc 机连接下载程序至微电脑。打开电源运行机器人,参观机器人是否按设计任务行动。 4二、 .诺宝 RC 主界面
4、 (1)模块库区: 在上图中我们可以看到,在图形的左边是模块库区,这里包括数字传感器模块、数字化传感器模块、模拟传感器模块、输出模块、时间模块、流程控制模块和程序模块七部分 ,以鼠标左键点击即可将传感器或所需要地模块加入到流程图生成区。 (2)流程图生成区: 在流程图编辑界面中,流程图生成区是最主要的一个窗口,我们用图形编程时,在这里完成机器人控制程序。通过选择模块库中的图形程序模块,在流程菜单栏 工具栏 流程图生成区 C 语言代码显示区 模块库 5图生成区做设定与修改,再将各个模块组合成一个流程图,把这个程序下载到机器人微电脑,机器人就可以按照我们为它编辑好的程序运动了。 模块的移动:选中要
5、移动的图形模块(既可以选择一个,也可以选择多个) ,用鼠标左键点住所选图形模块,直接拖动到编程者所要移动到位置,这时这个图形模块上面就会显示向上添加或向下添加,当松开鼠标左键时,所选移动模块就会自动移到流程图生成区的指定位置。 ( 3) C 语言显示区: 在图形的右侧,我们可以看到一个 C 语言的程序界面,当我们在流程图生成区用图形语言编程以后,对应着在流程图生成区右侧的 C 语言显示区就会生成相匹配的 C 语言源程序,方便使用者熟练掌握两种编程环境语言。 ( 4)工具栏: 工具栏的介绍如下: :在一个比较复杂的程序里,某个部分程序多次使用且编写都一样,可以使用“新建子程序”简化,方便复杂的程
6、序编写。 :发现新建子程序不对,还没有返回主程序时,使用“删除子程序”删除错误的子程序。 子程序一旦被调用或者保存后就不能使用 “删除子程序” 。 :对已经保存好,在程序里使用的子程序进行编辑(包括修改、删除) 。 6 :先选定初始位置模块,再选添加方向来确定添加位置。 :先确定需要被替换的模块,再选“替换”图标,最后在左侧模块库中选所需的功能模块。 :编程出现错误时,只需点击鼠标左键匡选所需“删除”的图标,再点击工具栏中的删除键即可。 、 、 :在诺宝 RC 编程软件界面中,可以同时显示流程图编辑和C 语言源代码区,如果只显示流程图区就可以直接点击“显示图形”即可;如果只显示 C 语言源代码
7、区就可以直接点击“显示源代码”即可;如果都显示可以直接点击“同步显示”即可。 :程序编辑完后,为了确保下载到机器人中的程序正确,我们可以通过仿真界面来检测,只需点击“仿真”即可进入仿真界面检测。 :诺宝 RC 编程软件界面,也提供了 C 语言代码编辑区,只需点击“编辑代码”即可进行 C 语言编程。 :当编辑好程序后,先确定机器人与电脑连接好,之后打开机器人电源开关,最后点击下载按键, 即可将当前程序下载到机器人里。 7三、模块的基本操作 学会如何操作模块是编译程序的第一步,操作使用模块的方法分为五种: 调用模块、删除模块、移动模块、复制模块、设定模块。 (1)模块的调用 调用模块只需要在编程界
8、面的左侧模块库中点击鼠标左键即可在流程图生成区中的“主程序”与“结束”图形中间显示图标。如图: 诺宝 RC 编程软件中,可以按照添加顺序的不同,选择添加模块的方向及直接替换所选用的模块。 当编程者想在一个图形程序后添加其他图形程序的时候, 就先要用 鼠标右键点击选择当前图形。所选图形上就会有一个向下的灰色箭头。在左侧模块库里选择的图形程序就都加在所选图形程序的后面。 点击工具栏中的加在前图标,就可以将图形程序加在所选图形的前面。 灰色箭头 8(2)模块的删除 在诺宝 RC 编程软件界面中除了“主程序”与“结束”两个图形程序不能删除以外,其他的图形程序都可以随着编程者的意愿随意删除。 当编程者删
9、除一个模块时,只需点击鼠标左键匡选所需删除的图形,再点击工具栏中的 删除键 即可。如图所示: 另一种方法就是用鼠标左键选中所需要删除的图形以后,再用鼠标点住图标拖离逻辑图即可。 (3)模块的移动 诺宝 RC 编程软件中的图形程序移动的基本方法是选中要移动的图形程序(既可以选择一个图形,也可以选择多个图形的逻辑框图) ,用 鼠标左键 点住所选图形程序直接拖动到编程者所要移动到的图形程序位置, 这时这个图形程序上面就会显示向上添加或向下添加,当松开鼠标左键时,所选移动程序就会自动移到指定位置。如下图所示: 91.选定要移动的图形 2. 左键点住所选图形拖动 3. 松开鼠标左键 (4)模块的复制 诺
10、宝 RC 编程软件中模块的复制操作非常简单。类似模块的移动,只需要将所需要复制的图形程序选中,然后用 CTRL+鼠标左键 点住拖动到编程者指定位置即可。 1. 将图形用 CTRL+鼠标左键 点住拖动 2. 到指定位置松开鼠标左键 10(5)模块的设定 用 鼠标左键 双击流程图生成区中的图形模块,弹出一个可编辑的对话框,我们可以在对话框中对模块进行设置。 如上图,我们使用红外避障传感器的设定作为例子,双击在流程图里的红外避障图形,会弹出一个可编辑的对话框。 由于诺宝机器人可以同时使用前、后、左、右四个红外避障变量,并且可以设定所连接的端口,所以可以对所选红外避障变量进行编辑。有四个选择变量,六个
11、选择端口。如图: 注意: 1.传感器输入端口不可重 复使用(不同传感器设定不同端口) 。 2.装配硬件时,传感器所接端口要与软件设定一致。 11四、模块介绍 诺宝 RC 编程软件的模块库共分为七大类。包括 数字传感器模块 、 数字化传感器模块 、 模拟传感器模块 、 输出模块 、 时间模块 、 流程控制模块 、 程序模块 。模块库可以通过 鼠标左键 的点击把它们分别打开. 3.选择使用的模块 2.模块库滑出1.点击选取的模块库 12(1)数字传感器模块 数字传感器模块中包括 15 个传感器:红外避障传感器、声音传感器、光感传感器、触动传感器、磁敏传感器、倾斜传感器、振动传感器、光闸传感器、湿度
12、(水)传感器、烟感传感器、火焰传感器、人体红外传感器、接近传感器、轨迹识别传感器、光敏传感器。 数字传感器的输出变量为数字量,除了轨迹识别传感器外,输出变量均为(0, 1),以下是各个数字传感器输出变量数据。 传感器 输出 = 0 输出 = 1 红外避障 无障碍物 有障碍物 声音 无声音 有声音 光感 无光 有光 触动 无触动 有触动 磁敏 无磁场 有磁场 倾斜 无倾斜 有倾斜 振动 无振动 有振动 光闸 光闸中无障碍 光闸中有障碍湿度(水) 无水 有水 烟感 无烟 有烟 火焰 无火焰 有火焰 人体红外 无移动人体 有移动人体 接近 无接近障碍 有接近障碍 光敏 左边较亮 右边较亮 传感器 输
13、出 = 0 输出 = 1 输出 = 2 输出 = 3 轨迹识别 (朝下)两边都没有探测到轨迹 左边探测到轨迹 右边探测到 轨迹 两边都探测到 轨迹 13(2)数字化传感器模块 数字化传感器模块中包括:超声测距传感器、电子罗盘传感器、时间检测、变量赋值。 变量赋值在程序语言中是相当重要的工具。除了赋予各个传感器返回值以外, 变量赋值还能赋予通用变量、 时间等数值, 这种通用变量可以用来帮助纪录、计算等。 传感器 数据 超声测距 精确测量距离,输出变量为 0-255,单位为厘米 (cm).电子罗盘 精确测量角度,输出变量为 0-359,单位为度。 时间检测 记录系统时间,单位为 0.01 秒。 变
14、量赋值 赋予变量数值。 双击图形 变量值赋对话框14(3)模拟传感器模块 模拟传感器模块中包括 7 个传感器:温度传感器、湿度(土)传感器、湿度(气)传感器、压力传感器、色度传感器、亮度传感器和声强传感器。 传感器 数据 温度 测量环境温度, 输出变量为 0-100, 单位为摄氏度 ( )湿度(土)测量土壤湿度, 输出变量为 0-100, 单位为百分比 ()湿度(气)测量空气湿度, 输出变量为 0-100, 单位为百分比 ()压力 测量压力质量,输出变量为 0-5000,单位为克( g)色度 测量表面颜色,输出变量为 0-9,对照颜色如下表 亮度 测量环境亮度, 输出变量为 0-200, 单位
15、为勒克斯 ( LX)声强 测量环境声强,输出变量为 40-120,单位为分贝( db)颜色 输出变量 黑色 0 浅蓝 1 象牙白 2 橙色 3 绿色 4 褐色 5 深蓝 6 紫色 7 红色 8 白色 9 15(4)输出模块 输出模块库包含了 15 个输出模块:高速电机、电机停止、直行、转向、音乐、发光、风扇、蜂鸣器、LED 显示、LCD 显示、语音播放、通用输出、通用电机、画笔和继电器。在这个库中集成了机器人的基本动作模块,下面介绍这些模块的使用方法。 模块名称 模块功能 高速电机 控制左右电机运动, 从静止到最高速度有 10 个分段。 电机停止 控制电机处于停止状态。 直行 控制机器人向前或
16、向后行走的功能,并且可以设置动作时间。 转向 控制转向功能,可以设置转向角度。音乐 控制发音功能,可以编辑音乐。 发光 控制发光功能,可亮可灭。 风扇 控制风扇转动或停止。 蜂鸣器 控制发声功能,分贝大,用以示警。LED 显示 显示传感器、时间、通用变量返回值LCD 显示 带背投光显示传感器、时间、通用变量返回值 语音播放 控制录音、播放功能。 通用输出 连接多个输出时候使用。 通用电机 控制连接运动电机以外的其他电机画笔 控制画笔上台、下落、停止以显示行走路线 继电器 用来控制其他电路的开关 16(5)时间模块 时间模块在流程图模块区中,应用起来是最简单的一部分,时间模块主要由三部分构成:0
17、.01 秒延时、0.1 秒延时和秒级延时。 模块名称 模块功能 0.01 秒延时 可以将动作执行时间定时为 0.01 秒。 0.1 秒延时 可以将动作执行时间定时为 0.1 秒。 秒级延时 可以设置动作执行时间, 最大不超过 50S。17(6)流程控制模块 流程控制模块主要包括:条件判断模块、条件循环模块、do 条件循环模块、多次循环模块、永久循环模块、break 模块和 continue 模块。 流程控制模块是整个编程的骨架,有了骨架我们才可以添加我们设计的思想。当机器人通过传感器去感知外界信息后,要判断反馈回来的信息,就得运用条件判断、条件循环、do 条件循环。而控制判断及动作的次数与时机
18、,就要用到多次循环、永久循环、break 和 continue。 模块名称 流程图图标 模块功能 条件判断 判断条件是否成立,并执行下个动作。 条件循环 判断条件是否成立,如果成立,循环动作。如果不成立,将执行下个动作。DO 条件循环 先执行动作后进行判断,当条件成立,就继续循环,否则执行下个动作。多次循环 可以设置循环次数, 最多为 100 次。 永久循环 永远在里面循环。 18流程控制模块中,条件判断、条件循环、do 条件循环,这三个模块要设置判断条件的内容。这里以条件判断为例说明设置步骤。 第一步:使用 鼠标左键 双击条件判断的图形,即会弹出“条件表达式”对话框。 Continue 回到
19、此次循环开始。 Break 提前结束循环,接着执行循环下面的动作。 双击图形 条件表达式对话框 编辑符号 显示 变量使用 19大于 小于 等于 大于等于 小于等于不等于 非 并且 或者 刪除 要使用编辑符号只需在符号上点击鼠标左键 第二步:将条件表达式内 1 利用“删除键”删除。 第三步:选定要使用的变量。 第四步:使用符号编辑(因为红外避障的返回数值为(0.1),这里即是判断红外避障变量是否为 1) 20流程控制模块中,多次循环模块需要设定循环次数。 直接在对话框中变更次数即可 双击图形 对话框 21(7)程序模块 程序模块的主要功能为子程序的调用。 子程序的功能主要是为了简化复杂的主程序。
20、 因为在编辑有些主程序中会经常的 重复一些判断动作,这时候我们就可以运用子程序的调用。使主程序更加简化。 1、新建子程序: 在诺宝 RC 编程软件中, 新建子程序首先需要在工具栏里点击 “新建子程序”图标。在软件界面中会相对应的弹出新建子程序对话框,可以在对话框中设定子程序的名称。确定后就可以回到软件中对这个子程序进行编辑。具体操作方式如图: 点击“确定”新建的子程序模块便会出现在程序模块的模块库中。而流程图生成区中则自动生成子程序设定图形。 22设定好子程序后,点击程序模快中的“主程序 ,回到主程序编辑。 2、使用子程序: 子程序设定图形 23在主程序编辑中适当的位子,点击程序模快中的子程序
21、即可在主程序中使用子程序。 3、修改子程序: 修改子程序的方法有以下两点: 在主程序中修改所选子程序,只需用 鼠标左键 双击即可进入子程序编辑界面。 点击工具栏中的 “修改子程序”图标。弹出对应对话框后,选择所需要修改的子程序,点击修改即可。 再此对话框亦可执行 保存与删除子程序的动作 4、删除子程序: 24删除子程序有两种情况。 当子程序未被使用。 只要点击工具栏中的 “删除子程序”图标就可以直接删除子程序。 另一种方法是在编辑主程序界面中,需点击 “修改子程序”图标,弹出对应的对话框来针对子程序进行删除。 当子程序被使用。 需要先移除正在使用中的子程序,才可以使用的方法删掉子程序。 五、程
22、序仿真界面 25“诺宝 RC 编程软件”仿真工具能实时在线模拟机器人运行,同时提供了多种运行环境的创建、修改、删除、参数设置等功能。 1、程序仿真界面的进入与退出: 进入 :进入诺宝 RC 编程软件后,点击工具栏 中的仿真图标,即可进入仿真界面进行模拟机器人运行程序。 退出 :在仿真界面中,点击工具栏中的退出 按键,即可回到“诺宝 RC 编程软件”主界面。 仿真主界面由工具栏、仿真演示区、状态栏三部分组成。 (如图) 工具栏图标功能为: 机器人 障碍物 工具栏 仿真演示区 状态栏 262、仿真环境管理 仿真环境的管理主要分为:打开场地图文件与保存场地图文件两部分。 在诺宝 RC 编程软件仿真系
23、统即可以打开或保存硬盘中的场地图文件,也可以打开软盘中的场地图文件。具体方法如下: 点击工具栏中的“打开”图标,相对应的弹出对话框。 图标 具体功能应用 图标 具体功能应用 打开一个现存主程序 设置避障探测距离 用同样文件名保存一个打开的主程序 设置背景及画笔颜色 撤消动作 设置机器人初始化方向 返回动作 平面仿真程序运行 添加障碍物、色带及传感源 三维仿真程序运行 将当前选择动作删除 停止程序仿真 清除界面全部内容 退出仿真界面 修改 使用说明 27对话框中选择文件名或点击“指定路径”就可以在电脑中查找了。 点击确定键,添加场地图文件完成。 (如图) 保存场地图文件步骤与打开场地图文件的方法
24、一样。详细步骤如下: 点击工具栏中的“保存”图标,相对应的弹出对话框。 对话框中选择文件名或点击“指定路径”就可以在电脑中查找了。 点击确定键,保存场地图文件完成。 (如图) 3、添加障碍物、色带及传感源设置 28添加障碍物: 障碍物相当于实际场地中的墙壁或其它机器人不能穿越障碍物。诺宝在仿真环境添加障碍物的步骤为: 点击“添加物体”图标 ,弹出相对应的对话框。 选择需要的物体形状,点击添加即可。 诺宝 RC 编程软件仿真中的添加物体可以连续添加,直到添加物体足够后,点击鼠标右键, 就可以停止添加物体; 添加物体完成后, 编程者如果要修改物体,只需点住鼠标左键,匡选所需要物体后,在所需要修改物
25、体上,点击鼠标右键就会弹出相对应的对话框。 (如下图)弹出对话框后,可以修改物体的位置、大小和颜色。另一种方法是匡选需修改的物体后,物体上会显示八个可选点(如图) ,用鼠标点住物体上的可选点拖动时就可改变物体大小。 点住所选物体拖动就可以移动物体位置。 29障碍物在三维仿真中的显示 障碍物的删除方法有两种: 匡选所删除物体后,点击工具栏中的“删除”键即可。 匡选所删除物体后, 鼠标在所选物体上点击鼠标右键。 弹出对话框后, 选择删除即可。删除所选物体的快捷键为: “ Delete” 。 4、添加色带: 色带在实际环境中,代表地面颜色或色带的意思。它的添加与删除方法与障碍物添加与删除方法一样。不
26、过色带除可以选择矩形外的形状,还可以画圆环或圆弧。修改圆环的方法与修改障碍物的方法一样这里就不做详细说明。圆弧的修改方法为匡选需修改物体后,有两种修改方式: 点击鼠标右键就会弹出相对应的对话框(如图) 。弹出对话框后,可以修改物体的位置、内径与外径大小及颜色。 匡选需修改的物体后,物体上会显示四个可选点(如图) ,用鼠标点住物体上的可选点拖动时就可改变色带长度、圆弧角度和宽度。点住所选物体拖动就可以移动物体位置。 30色带在三维仿真中的显示 5、添加传感源: 传感源包括有光源、声源、磁铁、振源、湿源、烟雾、人体、热源、光闸、压力、坑(如图) 。它的添加与删除方法与其他物体添加与删除方法一样。在这里我们就不做详细介绍了。