技术标签: 移动机器人 可见光通信 物联网 可见光定位 Li-Fi
本人从2014年起从事可见光通信(Visible Light Communication, VLC)相关研究,主要包括:基于光电二极管(PD)、图像传感器(camera)的高精度可见光定位算法(Visible Light Positioning, VLP)、基于可见光通信的移动机器人定位与导航、成像可见光通信(Optical Camera Communications, OCC)、基于可见光通信的物联网(Internet of Things, IoT)应用、水下可见光通信等。
本博文为本人在可见光通信领域的工作及系列demo的总结。本人一直希望能促进可见光通信技术的进一步发展及产业化落地,希望能遇到更多从事可见光通信的朋友,多交流、合作。也希望此博客可以给大家一些motivation,共同促进行业的发展
特别鸣谢:华南理工大学-发光材料与器件国家重点实验室-文尚胜教授、华南理工大学-创新创业孵化基地、及R&C工作室历年学生的共同努力。
科研非一人之科研 As a researcher, I think there are two responsibilities: on one hand, to make a major breakthrough in my own research field; on the other hand, to vigorously cultivate a large number of talents in this professional field.
目录
下面演示为:本人受邀IEEE Photonics Journal Club session做的基于可见光通信的移动机器人定位与导航的讲座。
受邀出席IEEE Photonics Journal Club
下面演示为:本团队搭建的基于移动机器人的可见光通信与激光雷达融合定位系统,该系统在光通信顶会2022 Conference on Lasers and Electro-Optics (CLEO) 上做展示。
2022 CLEO Demo
下面演示为:本人给香港科技大学搭建的,基于可见光通信的移动机器人定位系统,该系统在光通信顶会2021 Optical Fiber Communication Conference and Exhibition (OFC) 上做展示。
本系统多次参与各类比赛与展示。最初搭建于2018年,参加《华南理工大学第十六届“挑战杯”大学生课外学术科技作品竞赛》并获终审决赛一等奖。其后,代表华南理工大学参加《2019年广东省第十五届“挑战杯”大学生课外学术科技作品竞赛》的作品,并获得广东省决赛的特等奖(请见下一演示)。同年,获《第五届中国“互联网+”大学生创新创业大赛》广东省决赛铜奖。2020年,本人将本系统引进华为,在公司内部进行展示。此后,本人再带到香港科技大学,同时把技术无偿给团队去进行各类产业化及科研应用。本系统亦曾连续两年(2020与2021)入选OFC Demo Zone。
PS:HKUST某团队的leader想霸占此技术(学术霸凌),强迫本人交出在华工期间开发的代码,本人拒绝,就反咬我曾经的demo图片的背景是他的公司场地,属于侵权,同时以美国人姿态侮辱我们中国人。故本人离开该团队。虽然后来此人求我回去(“still can offer***, if you help my company to do ***”),但士可杀不可辱!
2021 OFC Demo
一种具有通信与定位功能的智能LED灯具及其机器人定位系统——2020神灯奖申报技术 - 新品发布 - 阿拉丁-网上光亚展
下面演示为:我们搭建的世界首套基于移动机器人的可见光定位系统。该系统虽然比较简漏(机器人同一时刻需要观察到至少两个LED,且覆盖LED数、高度均有限),但却是我们团队所搭建的移动机器人可见光定位与导航的原型体。此作品算是我们团队承上启后的工作,既涵盖了数年在可见光定位领域的积累,而后续大量工作基本都是基于此系统进行了LED-ROI Tracking、LED-ID detection、VLP算法层面的改进。
广东省第十五届“挑战杯”大学生课外学术科技作品竞赛决赛特等奖
此作品荣获广东省第十五届“挑战杯”大学生课外学术科技作品竞赛决赛特等奖(全省116所参赛高校,共有1260项作品获奖,其中特等奖126项、一等奖191 项、二等奖245 项、三等奖698 项),此处展示当年的展板及查新报告。
下面演示为:我们实现的基于LiDAR-SLAM及VLP的高精度机器人定位系统,在大小的场景下,仅仅通过4盏LED即可实现2cm左右的定位误差,且场景会有遮挡等情况。进一步地,此工作结合了障碍物检测及路径规划等算法,真正意义上的实现了高精度定位与导航功能。
Multi-sensor fusion for VLP-SLAM localization and navigation
下面演示为:我们提出的基于RGB-D camera,轮式里程计以及VLP的多传感器紧耦合SLAM系统,该系统在实现高精度的可见光定位的同时,可以构建环境的地图(3D点云地图及LED-landmark地图)。
对于可见光定位而言,目前的工作均需要预先知道LED在环境中的位置(所谓的LED-ID识别就是通过VLC解码获取LED在世界坐标系下的位置)。但是对于大场景而言,如场景中有1000个LED,人为记录及测量这些LED的位置是非常的不现实的,为此我们提出的方法可以有效解决这一痛点。在实现高精度定位的同时,实时的记录及构建LED-landmark的地图,LED的位置无需预先知道,自动的把LED-ID序号与地图位置相关联,同时通过多传感器紧耦合进行联合优化提高定位与建图的精度。
Tightly-coupled SLAM for the VLP Landmark, Wheel Odometer and RGB-D camera
下面演示为:基于ROS-Android交互框架,开发了一款安卓APP,可实现基于可见通信的机器人与行人同时定位。
通过可见光定位分别实现机器人与手机的高精度定位,同时基于ROS-Android交互框架,实现机器人与手机之间的位置共享。
人机交互
下面演示为:我们自主研发的基于可见光通信的光二维码应用。可通过APP扫灯接入链接,实现猜灯谜、信息接入等。
该系统亦在团队的广东省光电技术协会作科创分享:【科普作品】一盏有故事的月球灯
具有信息的“月亮”——光二维码
下面的演示为:我们自主研发了基于蓝牙调控的可见光调制驱动芯片,可通过手机APP用蓝牙直接改变LED灯具的VLC编码,而不同的编码对应不同的网络接口。通过另外一台手机的APP扫灯具,实现光二维码扫码接入不同的网页。
蓝牙+VLC物联网应用
下面的演示为:基于可见光通信的光二维码技术,扫灯接入网页。
光二维码
下面演示为:我们测试战略合作伙伴(深圳华创芯光科技有限公司)的LiFi产品。该系统可以实现实时的LiFi上网。如有需求,欢迎私信商业合作。
实时LiFi通信
下面演示为:我们团队与深圳利亚德光电有限公司合作的广东省科技计划项目(500万资助项目)《高带宽微芯片覆晶封装小间距显示器件开发与产业化》,项目主要探索了通信与显示器件相结合(通显一体化)的可见光通信系统。
项目简介:本项目开发了一种具有高带宽小间距的显示阵列器件。采用深沟槽蚀刻技术与新型覆晶技术对LED芯片的精确切割和小间距封装,制作出高清晰度的微型显示器件;同时,通过对芯片内部进行材料改性与结构优化实现芯片的高光效与高带宽;最后,设计出双重调制信号,实现显示器件通显一体化。
下面演示为:采用所述高带宽覆晶封装LED芯片设计的,基于STM32F4的,具有可见光通信功能的LED阵列的演示。演示中包含了如何测量带宽的过程。但由于采用的STM32F4的限制,发射信号的频率估计不超过0.5MHZ。但通过MIMO以阵列并行通信的形式,亦可保证通信速率。
基于stm32的具有可见光通信功能的LED阵列
下面演示为:采用FPGA实现的,具有可见光通信功能的LED阵列演示。可输出1MHZ频率的信号并加载到LED上。不同的LED芯片可以以不同的频率发射不同的OOK信号,进而实现空间、频率复用。
基于FPGA的具有可见光通信功能的LED阵列
下面演示为:仅仅基于一盏LED即可实现高精度可见光定位,与此同时,与PDR (Pedestrian Dead Reckoning) 相结合,在没有LED覆盖的区域(LED短缺或NLOS问题)仍然可以实现定位,而当检测到至少一盏LED时,即可实现PDR位置的矫正。
单灯VLP+PDR
下面的演示为:基于可见光通信的同时定位与校正算法。在实现高精度室内可见光定位的同时,可以矫正手机摄像头的参数,进一步提定位系统的稳定性与精度。虽然也是需要camera至少观测到两盏LED,但无需借助角度等传感器即可实现倾斜三维定位(六自由度定位)。
同时定位与相机参数校正
下面的演示为:我们自主开发的可见光室内定位App,该算法可实现倾斜状态下的可见光定位(基于两盏LED灯)。
可见光倾斜定位
下面演示为:基于可见光通信的室内定位及基于不同位置的信息推送。主要演示demo为视频的后半段,通过PDR+VLP融合,在无LED的区域通过PRR进行定位,而检测到LED时,通过基于VLP的临近法进行粗定位(与前面提到的单灯定位算法不同,此处仅仅采用临近法定位)。看到在不同的LED灯下,通过VLC接收信号,实现基于位置信息的服务(location-based service),进而实现基于不同的位置给用户推送不同的信息。
基于可见光通信的室内定位及信息推送
下面演示为:我们搭建的水下可见光成像通信系统,该工作发表于2021年光通信顶级会议 Optical Fiber Communication Conference and Exhibition (OFC)。
2021 OFC Demo
下面演示为:本团队搭建的,实时可见光成像通信系统(基于C-OOK调制)。
实时可见光成像通信
希望有更多小伙伴一起学习交流,也希望多多引用我们的工作
ESI高被引论文
PS:有点不太懂这个ESI高被引,比如《High-Accuracy Robot Indoor Localization Scheme Based on Robot Operating System Using Visible Light Positioning》的citation更高,而且是IEEE Photonics Journal历史最受欢迎论文之一(第九位,截止到2022年11月),却没进入到ESI高被引行列(不过也可能往年进入了我没留意吧hhh)。
专利详情及原文的获取,请见PatentGuru,SooPAT,中国知网或Google Patents
JDK 命令行工具jps列出正在运行的虚拟机进程,并显示虚拟机执行(main()函数所在主类)名称 以及 这些进程的本地虚拟机唯一ID。命令格式为。jps [ options ] [ hostid ]其中选项option代表用户希望查询的虚拟机信息,主要分为三类:类加载,垃圾收集,运行期编译状况,常用的option选项如下如下图所示,210636是本地虚拟机唯一ID...
前台json放入form表单文本框提交,妹的,我的双引号,怎么到后台就变了身…………很是郁闷试了js的各种办法(什么encodeURIComponent****等等)最后利用java的StringEscapeUtils.unescapeHtml4,成功破解//将接收到的jsonStr处理一次,就OK了String newJson = StringEsca
错误描述Java源程序正常编译后,运行时报错:错误: 找不到或无法加载主类 ConTest01.class原因: java.lang.ClassNotFoundException: ConTest01.class原因及解决方法原因:编译后运行文件时不可以加.class。解决方法:去掉.class个人能力有限,如有谬误欢迎网友指正!...
/*Navicat MySQL Data Transfer Source Server : 3DSource Server Version : 50722Source Host : 127.0.0.1:3306Source Database : wclothing Target Server Type : MYSQLTarg...
为了使项目里的接口调用起来更方便,接口归类更加分明,需要对axios进行封装,下面我将会讲解下我在项目中对axios的封装以及处理:该目录是我们的项目目录,utils文件下的request.js是封装axios的文件,api问下下放了各个模块的接口文件,这样归类更容易区分。一、在request.js文件里对axios进行统一封装 第一步先引入axios依赖,iview的提示框引入在...
摘要:某程序达人的人生感悟,估计没有半个甲子的时间,是绝对不可能感悟出来的,强烈推荐,希望对大家有所启发和帮助。 当你选择计算机或者电子、自控等专业进入大学时,你本来还是有机会从事其它行业的,可你毕业时执迷不悟,仍然选择了开发做为你的职业,真是自做孽不可活。不过,欢迎你和我一样加入这个被其它人认为是风光无限的白领吧。 如果你不是特别的与人世隔绝,我想你一定看过金老先生...
LOGO是LOGOtype的缩写,中文意思为徽标或者商标,起到对徽标拥有公司的识别和推广的作用;网络中的LOGO主要是各个网站用来与其它网站链接的图形标志,代表一个网站或网站的一个板块。此外LOGO还是一种早期的计算机编程语言。logo的作用1、媒介宣传随着社会经济的发展和人们审美心理的变化,logo设计日益趋向多元化、个性化,新材料、新工艺的应用,以及数字化、网络化的实现,标志设计在更广阔的视觉...
下面是实现的效果图:这个适合用于选择 用户的一些兴趣标签,个性名片等。代码:主界面的activitypackage com.dyl.cloudtags;import java.util.ArrayList;import java.util.Arrays;import java.util.Random;import
SpringBoot整合Mybatis后,方法执行完后,看不到执行的sql语句,很影响我们调试所以今天讲一下怎么打印sql语句到控制台很简单,只需要在配置文件里加一句话就可以了#打印sql,方便调试mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl加完配置后,重启项目,再访问一下试...
好久不写jsp,标签全部忘了,总结一些常见的标签的用法,以备参考。1、useBean中直接使用字符串[code="java"] [/code]2、setProperty中,使用请求参数(而非属性)中的值[code="java"] [/code]3、setProperty中,使用请求参数(而非属性)中同名的属性的值[code="java...
读《企业应用架构模式》5Author:zhaozidongEmail zfive5/@/163.com昨天又开始读第2章,发现译者真不应该把" Transaction Script"这个词翻译成“事务脚本”,真的很容易与数据的”事务脚本”混淆,其实更像是业务的“执行剧本”,这种“所谓的剧本”的更强调过程是的执行,没有责任的分离和分层。真心希望如果大家今后如果翻译
VMware ESX4.1官方只支持到Win7和2008R2,想要装Win8 需要升级到ESX5.1以上。前些天客户提Case要求用Win8的环境。由于ESX升级可能会有数据丢失和其他的一些情况,而且暂时用Win8的用户不多,所以我们暂时不会升级。考虑到客户的需求所以我决定上网搜搜,尝试在ESX4.1上安装Win8。最后找到了一片技术文档,是个外国人写得:首先需要上传bios...