说明

灰度传感器(图 1)将检测到的各种颜色转换成灰度值,使用0~255的数值表示,其检测距离固定为5。转换方式依照计算机图像学公式进行转换,纯白色的灰度值为255,纯黑色的灰度值为0。

灰度传感器常用于检测颜色的区别,如轨迹类任务用于区分黑色轨迹线和灰白色地面。

为了提高机器人仿真效率,通常只有与任务相关的指定物体的颜色可以被灰度传感器检测到,如轨迹、跑道、迷宫场地、颜色标记等。而大的地形、草地、山、建筑、家具等物体,在灰度检测到时总是返回0。

灰度传感器

相关编程模块

与灰度传感器相关的编程模块有“侦测”类中的“灰度”模块(图 2),此模块获取灰度传感器的返回值,其返回值为整型。模块为容器内模块,不能连接,可放置到赋值、逻辑类的关系表达式、运算类等模块容器内,在属性面板中选择要获取返回值的灰度传感器。

灰度传感器编程模块

实例

此实例在机器人前进的过程循环检测“灰度传感器”的返回值,当返回值大于128(灰白色地面)时前进,不大于128(黑色轨迹线)时停止前进。

仿真时,机器人开始前进,直到碰到“S”形的轨迹线时停止。

机器人——“机器人-实例-灰度传感器”

控制程序——“程序-实例-灰度传感器”

实例机器人

“机器人-实例-灰度传感器”的机器人如图 3所示。前方右侧安装1个灰度传感器,检测方向朝下,端口设为31。

“机器人-实例-灰度传感器”结构及属性设置

实例程序

“程序-实例-灰度传感器”流程及设置如图 4所示。

“机器人-实例-灰度传感器”流程及属性设置

仿真视频