``
看到了这个熟悉的标志,我默默掏出了手机打开 WLAN。 Wi-Fi 标志大家都很熟悉,Wi-Fi 技术在生活中随处可见,连接网络上网、远程控制家居、安防监控等等都离不开 Wi-Fi。 机器人比赛也运用了 Wi-Fi 技术,它让机器人与机器人、机器人与操作手可以互相通信。 没有视觉系统的机器人是“瞎子”,而无法通信的机器人就是“聋哑人”,无法和外部交流,成了独立的个体。 机器人需要交流什么呢?例如:通过图传系统,机器人把摄像头拍到的画面传到电脑屏幕上;机器人把自己的信息(例如血量、射速和功率)传给操作手;操作手把信息传给机器人,让机器人听命令......这些在比赛中都是必不可少的。
机器人拍摄的画面 左下角为机器人自身信息
机器人有很多种通信方式,不用的用途要选择不同的方式。
例如 UART 、SPI和CAN通信,一般用在机器人内部,让内部模块之间或者系统之间的信息有线传输;RFID 射频识别技术,用于机器人和场地的信息交互,例如机器人用障碍块套机关立柱可以激活机关,这需要很近的距离才能实现通信。
用障碍块套机关立柱 而要实现机器人与机器人通信,机器人与操作手通信,显然上面的几种方法都不适合。 WiFi 技术就可以完成机器人之间、以及与电脑端的信息互通。
Wi-Fi 是什么? Wi-Fi(WIreless-Fidelity,无线保真技术),是一种允许电子设备连接到一个无线局域网(WLAN)的技术。无线局域网就是没有线的、局部的网络,在餐厅、家庭和体育馆等小范围场地都是使用局域网。 (广域网一般是用卫星通信链路,价格高、实现难。) Wi-Fi 通过无线路由器建立一个无线组网,一群机器人借助无线电波连入这个网络,用特定的编码方式相互交流,以及执行人类的命令,就实现了信息互通。
机器人端、无线路由器中转站、电脑端 它也是一种网络协议,专利归美国的“Wi-Fi 联盟”组织所有, WiFi 的通信协议问题都由这个组织负责。
Wi-Fi 联盟 logo Wi-Fi 不是凭空而来,它的出现是有故事的: 在以前,夏威夷有很多岛屿,岛屿之间想互相沟通,但是没法搭设线路。1971 年,出现了 ALOHA 网络,它构造了一个以 Oahu 岛为中心,其他岛屿为外界的的无线通信链路。 这个网络协议的工作模式是这样的:
“Aloha 协议”有一个通信约定:在一个大群岛中,有主岛(接收方)和周边小岛(发送信息的节点),只要某一时刻有小岛有数据,就会马上发给主岛,数据发完之后,接收方会反馈ACK(代表主岛已经成功接收到了)。 如果没有收到 ACK,小岛会觉得传输失败是因为有其他岛也在传输而导致的,就会选择一个等待时间(也叫“回退时间”)。这样很好地避免了大家同时传输。 在这之后,很多机构都开始尝试用新的方法来完成同样效果的网络,我们来看看Wi-Fi短暂又繁荣的发展过程:
通信协议 WiFi 在传输信息的时候,会遇到各种各样的问题,比如信息太多而争抢资源,我们就需要定一个规定,让设备文明地传信息。这个规定就叫做“通信协议”。 在讲两种常用的通信协议之前,先了解一下 STA 和 AP 是什么。 STA & AP
STA(Station,站点)是接收 WiFi 信号的接入点(比如手机、电脑设备),AP 是把信号转换成无线发送的装置(比如无线路由器)。
上图存在一个 AP 和三个节点(STA 1、2、3),如果 STA1 和 STA2 同时向 AP 发送数据,数据就会在 AP 发生冲突,导致两败俱伤,谁都不能接收。 于是,有一个和事佬出现了,它叫做 CSMA/CA 协议,会经常给它们“劝架”。 协议1:CSMA/CD,CSMA/CA
CSMA(Carrier Sense Multiple Access)在有线网络中为 CSMA/CD 协议,在无线网络中为 CSMA/CA 协议。 CSMA 协议类似最早的“群岛”通信,但它引入了监听机制。CSMA 节点在发送信息之前,会先监听信道是否是空闲,如果不空闲,就等待一会再听一次直到空闲了才发送数据,避免发生冲突。
协议2:RTS/CTS
除了 CSMA,还有 RTS/CTS 协议也可以避免冲突。 STA 与 AP 通信的信道是虚拟的,我们可以把它用信号发射的范围表示,一个信道就看做一个圆面,多个信道看做多个圆摞起来。 下图左边的节点和 AP 有交叉区域,说明它们可以通信,右边同理。
假如大家一起发信息给 AP 老板,那么 AP 老板是这么想的……
RTS/CTS 就可以解决对老板的信息轰炸,这种模式是这样的:
我们可以比作:有很多员工给老板打电话,但老板没时间马上接起,等忙完之后,他看到很多未接来电,就对所有人说(CTS):“刚才员工1给我打电话了(RTS),现在请员工 1 回电。” 员工 1 就对老板正式报告(Data),老板收到报告后会反馈(ACK),其他员工就默默等老板通知。
通过以上,Wi-Fi 已经可以其乐融融、顺顺利利地通信了。但不得不提一个问题:设备有这么多信息传输,还有各种协议在运作,这些都是有芯片或者模块完成的,如何合理用电呢? Wi-Fi 节能模式 工作中,STA 有以下几种状态,我们把 STA 比作一个参加乒乓球训练的学员,AP 比作教练员: 1、Sleep(休眠模式):节点会关闭发送和接收模块来进行休眠,能耗最低。
2、Rx Idle(接收空闲状态):节点对信道进行监听,但并未真实接收数据帧。
3、Rx(接收状态):节点监听到数据帧,并对其进行接收。 4、Tx(发送状态):节点发送数据帧。
其中,1 基本不耗能,3 和 4 都是正式工作的阶段,不能为了省电而委屈性能。所以可以从 2 入手,引入“节能模式”。 我们拿乒乓球训练来说明: 第一步,缓存机制:AP 收到外网发来的信息后,先存起来,等 STA 向 AP 申请,再发给 STA。
第二步,PS-Poll机制:如果外网发来很多信息,那么需要发送信息的 STA 就要向 AP 申请发送,直到把信息发完了,整个传输到此结束。 经过以上两步,不发信息的 SAT 就处于 1 睡眠状态,想发信息的 SAT 就去申请(3 和 4 的收发状态),尽量避免了 2 的既监听又不传输信息的浪费,达到节能的目的。 Wi-Fi 的干扰 家太大的小伙伴有时会遇到一个问题:进了房间就收不到客厅的 Wi-Fi 了。 因为Wi-Fi 信号很容易***扰,直观的就是物理干扰,障碍物会阻挡和吸收 Wi-Fi 信号;还有相关设备的干扰,比如蓝牙和微波炉一类的设备,它们工作频段和 Wi-Fi 相近,同时使用会导致信息互相“打架”; 这就是为什么在观看机器人比赛时,观众应该尽量避免携带太多无线电设备入场,更加不要连入参赛队伍自行搭建的比赛网络,不然会对比赛有很大的影响。 Wi-Fi 应用 除了机器人比赛,生活中的 Wi-Fi 应用也不少,下面举两个典型的栗子。 室内定位
Wi-Fi 可以做室内定位,一般无线 AP 安装在屋顶,无线信号近似于一个球面传播,与地面上需要定位的设备交接于一个圆面上。 当某一个设备接受到某一 AP 发出的 Wi-Fi 信号时,AP 就像一个“被蒙住眼睛的人”,它知道设备与它的距离,但不知道设备的方向。
我们把定位范围画成圆圈,一个 AP 时,定位在圆内;两个AP定位在眼形图中心连线上;三个 AP 时,定位在中心点。
当然这是理想情况,一般存在 n 个 AP,坐标分别为(xi,yi),目标点到这 n 个 AP 的距离是 di,设目标点的坐标是(X,Y),则可列一个方程组,有 n 个等式:
接下来就是数学的工作了,简单的变换消去二次,最后利用最小二乘法求解,再加入坐标变换等后续工作,就可以确定设备的具体位置坐标。 智能家居
大家对智能家居耳熟能详,最容易使家居智能的就是 Wi-Fi 技术,因为开发简易、成本低、传输快,而且无线电波覆盖范围很广。 有了智能家居,我们可以用手机远程查看和操控家里的设备,比如:远程监控室内、远程开房门、远程设定扫地机器人的工作时间等等。
下图是使用 Wi-Fi 的智能家居系统。电子设备通过串口将数据发给 Wi-Fi模块,Wi-Fi 模块通过无线网络将数据传给手机端。用户用一部手机就可以控制家里所有的智能电子设备。
◆◆◆ 现在,市面上最先进的设备大多基于 802.11ax 协议,这个协议是 IEEE 认证的最新 Wi-Fi 标准,解决了目前多个节点接入而占用信道带宽的问题。 它在 5GHz 频段上有高达 10.53Gbps 的 Wi-Fi 连接速度,直接效果就是,在节点接入超多的情况下,每个用户的平均传输率可以提升4倍以上! 下一个 802.11xx 又会如何改变我们的生活呢? 本期作者 中北大学 刘伟 爱诗爱色彩,踏在机器学习之路
``
|