浙江省杭州第二中学 张殳韬
基于树莓派智能家居扫地机器人系统设计
浙江省杭州第二中学 张殳韬
随着科技的发展与人们生活水平需求的提高,“智能家居”越来越受到人们的青睐。本文设计了一款高效智能的家居扫地机器人系统。该系统是以搭载了Linux系统的树莓派(Raspberry Pi)为主控核心,以智能手机为客户端,基于ORB-SLAM设计的一款智能家居扫地机器人系统。本系统利用Kinect模块进行周围环境的信息采集,通过ORB-SLAM模块对收集到的信息进行整合与2D绘图,最后采用Socket模块实现手机客户端与机器人的信息交互,实现与树莓派远程通信从而达到远程启动、重点清扫、自定义区域清扫等功能。此外机器人可以通过已绘制好的地图智能设计最优清扫方案并大大减少与家具的不必要碰撞。本文提出的智能家居扫地机器人系统具有市面上现有机器人所不具有的智能自定义管理、大量减少碰撞、高效清扫等优势,为广大用户提供了更为便捷智能的居家体验。
智能家居扫地机器人远程;树莓派;ORB-SLAM;Socket通信
机器人具有工作环境要求低、可持续作业、产品质量稳定、效率高等优势,其应用正在逐渐融入人们的生活。作为家居机器人,其使用目的就是方便人们的生活,将人们从繁琐的家庭劳动中解放出来。而现在市面上的家居扫地机器人存在清扫效率不高、产品智能化不高、对家居破坏较大等问题。
图1 基于树莓派智能家居扫地机器人系统的总体框架图
本文设计了一款基于树莓派智能家居扫地机器人系统。该系统以树莓派为主控核心,以智能手机为客户端,实现家用扫地机器人的智能清扫。工作时,启动Kinect相机,继电器模块控制驱动电机使机器人移动,ORB-SLAM模块将Kinect相机采集到的室内信息转换成室内地图。当图像绘制完成后,智能手机与树莓派中Socket模块建立通信,客户端即可将各种清扫命令传输至树莓派。处理器通过继电器模块控制各个电机以达到清扫要求。在清扫过程中,红外模块通过实时检测防止机器人碰撞家具和人,尽量减少因碰撞而产生的破坏。
树莓派是学习计算机编程教育而设计的具有信用卡大小的微型电脑,其系统基于Linux。本文树莓派作为机器人的主控核心,对系统的各个模块进行控制。
所谓继电器,就是一种控制开关,用小电压、小电流设备控制大电压、大电流的器件。继电器通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用,可做到节约能源、便捷管理。控制端的电源、GND地、信号分别接树莓派的GPIO的2、6、7接口,另一端接外接设备,控制扫地机器人的清扫电机,毛刷吸尘电机及驱动电机等模块。
树莓派以模块化的形式对各个传感器进行统一管理。本设计中树莓派控制的传感器主要是Kinect相机和红外感应模块。2.3.1 Kinect
Kinect是一款深度相机,同其他种类深度相机相比较,Kinect的价格便宜,测量范围在3m-12m之间,精度约3cm,较适合于室内小型扫地机器人。
Kinect的一大优势在于能比较廉价地获得每个像素的深度值,不管是从时间上还是从经济上来说。有了这些信息,只要事先标定了Kinect,或者采用出厂的标定值,系统可以自动计算采集到的图片中,每一个点的3D位置,将采集到的信息传递给ORB-SLAM进行处理。
2.3.2 红外感应HC-SR501
HC-SR501是一款人体红外感应模块,是基于红外线技术的自动控制模块。当有人进入感应范围时,专用传感器探测到人体红外光谱的变化,人不离开感应范围,将持续接通;人离开后,延时自动关闭负载。用于机器人在扫地时防止对人的不必要碰撞。
HC-SR501的特点如下:
(1)全自动感应:当有人进入其感应范围则输入高电平,人离开感应范围则自动延时关闭高电平;输出低电平。
(2)光敏控制(可选):模块预留有位置,可设置光敏控制,白天或光线强时不感应。光敏 控制为可选功能,出厂时未安装光敏电阻。如果需要,需另行购买光敏电阻并安装。
(3)两种触发方式:L不可重复,H可重复。可跳线选择,默认为H。
1)不可重复触发方式:即感应输出高电平后,延时时间一结束,输出将自动从高电平变为低电平。
2)可重复触发方式: 即感应输出高电平后,在延时时间段内,如果有人体在其感应范围内活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。
(4)输出高电平信号:可方便与各类电路实现对接。
感应模块通电后有一分钟左右的初始化时间,在此时间模块会间隔地输出0-3次,一分钟后进入待机状态。感应模块采用双元探头,探头的窗口为长方形,双元(A元B元)位于较长方向的两端,当人体从左到右或从右到左走过时,红外光谱到达双元的时间、距离有差值,差值越大,感应越灵敏,为了增加感应角度范围,本模块采用圆形透镜,也使得探头四面都感应。
2.3.3 红外线反射传感器
红外线反射传感器与ORB-SLAM模块共同发挥作用,能大大降低与家居碰撞的风险。
红外线反射传感器是利用红外线反射的原理,根据反射的强度来判定前方障碍的有无。当电源接通后,红外线传感器就开始工作,机器人距离障碍物达到所设定的范围时,传感器接收到反射回来的红外线达到一定程度后,传感器输出低电平,我们可以利用CPU判断后,执行相应的程序,达到绕开障碍物的目的。红外线反射传感器主要为防止机器人对家居的不必要碰撞设立的双重防线。
红外线传输距离远,但对使用环境有相当高的要求,其检测精度并不是很高,很容易造成机器与家居物品发生碰撞时间一久,底部的家居物品会被它撞的斑斑点点。
ORB-SLAM (simultaneous localization and mapping)是一个基于特征识别的单目SLAM系统,可以实时运行,适用于各种场合,室内的或者室外的,大场景或小场景的。系统具有很强的鲁棒性,可以很好地处理剧烈运动图像、可以有比较大的余地自由处理闭环控制、重定位、甚至全自动位置初始化。本文中我们采用了SLAM的追踪、地图构建、重定位和控制功能。生成了精简的、可追踪的地图,当场景的内容改变时,地图构建可持续工作。
在SLAM系统中,主要的两个功能分别是定位(Localization)和建图(Mapping),路径规划也被纳入该系统中。总体而言,SLAM是指机器人依靠自身传感器在位置环境中获得感知信息,递增地创建周围环境的地图,同时利用创建的地图实现自主定位。
ORB-SLAM的优点:(1)追踪的平均时间约为20ms每帧,基本可以达到实时追踪(i5-5200,4.2GHz)。(2)丢帧以后回到原来的场景,很容易就可以找回来。(3)定位的稳定性较好,姿态流畅,没有跳变。
网络上的两个程序(进程)通过一个双向的TCP连接,实现数据的交换,连接的一端即称为一个socket。本系统中智能手机充当客户端,树莓派充当服务端。倘若服务器端和客户端需要进行通信,则服务器端必须创建一个socket,同时客户端也需要创建一个socket,两者基于TCP协议进行双向连接。
在TCP/IP协议中,TCP协议通过三次握手建立一个可靠的连接。客户端与服务端之间的连接过程可以分为三个步骤:服务器监听、客户端请求、连接确认,即为三次握手的名称。在电话系统中,一般用户只能感受到本地电话机和对方电话号码的存在,建立通话的过程,话音传输的过程以及整个电话系统的技术细节对他都是透明的,这也与Socket机制非常相似。Socket利用客户/服务器模式巧妙地解决了进程之间建立通信连接的问题。在家中,智能手机可以和扫地机器人连接同一个局域网,通过Socket通信,不用接入互联网在家中也可以实现智能手机对扫地机器人的控制。
在智能化程度日益提高的当下生活,解放人们的双手和大脑成为了机器人的主要目标,本文设计的基于树莓派智能家居扫地机器人系统在原有扫地机器人功能的基础上提高了机器人的清扫效率,减少了对家居的碰撞损害,实现了智能手机对扫地机器人的远程自定义控制,为居家生活带来了便利。
[1]叶振旭,张嵩灏.基于51单片机的智能家居的设计[J].
[2]刘继元.基于树莓派的物联网应用[J].电子世界,2016(8):24-25.
[3]何海燕.基于树莓派的智能家居系统设计与实现[J].中国高新技术企业,2016(17):11-12.
[4]陈必东,谭美娟.基于 Raspberry Pi+Arduino智能家居雏形系统的探索与研究[J].智慧工厂,2016(6):49-54.