CN112911012A - 一种机器人传感器数据的分发及订阅系统、芯片及机器人 - Google Patents
一种机器人传感器数据的分发及订阅系统、芯片及机器人 Download PDFInfo
- Publication number
- CN112911012A CN112911012A CN202110174846.7A CN202110174846A CN112911012A CN 112911012 A CN112911012 A CN 112911012A CN 202110174846 A CN202110174846 A CN 202110174846A CN 112911012 A CN112911012 A CN 112911012A
- Authority
- CN
- China
- Prior art keywords
- module
- data
- subscription
- sensor
- sensor data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C19/00—Electric signal transmission systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Manipulator (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
Abstract
本发明公开一种机器人传感器数据的分发及订阅系统、芯片及机器人,所述分发及订阅系统在机器人内部的本地端分别协调:发布模块与通信总线模块之间的传感器数据包的发布通信传输过程、订阅模块与通信总线模块之间的传感器数据的订阅通信传输过程,使得订阅模块或客户端设备获取到按需订阅的各种数据类型的传感器数据,实现发布模块和订阅模块之间解耦、传感器模块之间的解耦,减少机器人的感测数据在本地端的分发和订阅方面的运行资源,可以在资源有限的嵌入式机器人平台运行,而且,不受限于传感器设备的类型,扩展性较好。
Description
技术领域
本发明涉及机器人的数据处理的技术领域,具体涉及一种机器人传感器数据的分发及订阅系统、芯片及机器人。
背景技术
机器人集成了多种传感器,是一个多传感器融合,传输处理的系统。搭建和学习这样一个系统环境的门槛较高,ROS(Robot Operating System,机器人操作系统)统一了机器人操作系统,降低了学习门槛,由于其太庞大,对硬件资源的要求高,在感测数据的分发传输方面比较消耗资源,使得机器人在导航控制方面出现延迟;另一方面,移植在ROS上的传统机器人建图导航系统大都只能同时为多个同种数据结构类型、具备类似功能的机器人传感器提供数据服务,灵活性较差,应用场景局限性较大。
发明内容
为解决上述问题,本发明公开一种兼容不同传感器产品、资源消耗小的适用于机器人传感器数据的分发及订阅系统、芯片,从而同时兼顾了各种类型数据传输增减的扩展性和易用性。本发明的具体技术方案如下:
一种机器人传感器数据的分发及订阅系统,该分发及订阅系统包括发布模块、订阅模块以及通信总线模块;该分发及订阅系统安装在机器人上;发布模块存在底层接口被配置为连接机器人上的至少一个传感器,用于传输获取并传输机器人的传感器所采集的传感器数据,其中,所述机器人上的至少一个传感器设置在这个所述分发及订阅系统的外部;订阅模块存在底层接口被配置为与这个所述分发及订阅系统外部的至少一个客户端设备耦接,用于根据至少一个客户端设备发出的请求命令向发布模块发出分发请求指令,以实现订阅相应传感器数据;通信总线模块,用于根据订阅模块发出的分发请求指令,打包发布模块所获取的不同数据类型的传感器数据 ,再向订阅模块发布打包好的传感器数据,使得订阅模块或客户端设备获取到按需订阅的传感器数据。
与现有技术相比,本技术方案公开的分发及订阅系统在机器人内部的本地端分别协调:发布模块与通信总线模块之间的传感器数据包的发布通信传输过程、订阅模块与通信总线模块之间的传感器数据的订阅通信传输过程,使得订阅模块或客户端设备获取到按需订阅的各种数据类型的传感器数据,实现发布模块和订阅模块之间解耦、传感器模块之间的解耦,减少机器人的感测数据在本地端的分发和订阅方面的运行资源,可以在资源有限的嵌入式机器人平台运行,而且,不受限于传感器设备的类型,扩展性较好。
进一步地,所述通信总线模块,用于在与所述发布模块建立通信联系后,创建出发布数据标识链表再配置传感器节点,以使得采集到的不同数据类型的传感器数据挂载在传感器节点对应的发布数据标识链表下,再根据所述分发请求指令将不同数据类型的传感器数据打包成携带相应数据标识的传感器数据包,然后发布给所述订阅模块;其中,在所述传感器数据包内,每一种数据类型的传感器数据分别携带有对应的一种数据标识。在技术方案中的发布模块可以采集多种数据类型的传感器数据并能将这些传感器数据打包发布,提高数据分发效率。
进一步地,所述通信总线模块,用于在与所述订阅模块建立通信联系后,在所述传感器节点下创建出订阅数据标识链表,进而根据所述分发请求指令所对应订阅的数据标识,增减所述传感器节点所对应的订阅数据标识链表的数目,以实现为符合所述分发请求指令所要求订阅的传感器数据包提供其在所述通信总线模块内相应的订阅缓存地址、以及只将符合所述分发请求指令所要求订阅的传感器数据包内的至少一个数据标识挂载在对应的一个订阅数据标识链表内;其中,每一种数据标识与对应的一种传感器数据类型一一匹配,或与对应的一种设备标识符一一匹配;其中,在传感器数据包内,每一种数据类型的传感器数据及其对应携带的一种数据标识分别占据不同的地址空间。与现有技术相比,本技术方案公开的通信总线模块不为所述订阅模块分配新的节点作为订阅节点,而是共享所述传感器节点,并且不对所述传感器节点下创建的订阅数据标识链表挂载数据缓存空间,节省内存和省去部分拷贝步骤;本技术方案还根据订阅需求动态增减订阅数据标识链表的数目,以满足当前场景下的定位目的;从而最大化地利用空间和时间效率。
进一步地,在所述发布模块与所述通信总线模块建立通信联系后,在所述通信总线模块创建出发布数据标识链表的同时,所述通信总线模块按照所述发布模块发出的数据标识开辟相对应的写数据缓存区,使得携带对应数据标识的传感器数据在所挂载的发布数据标识链表中存在相应的缓存地址;其中,所述发布模块设置专门的写操作接口与所述通信总线模块的对应总线接口相连接,用于将采集的传感器数据写入所述写数据缓存区,实现所述发布模块通过写操作接口发布传感器数据。本技术方案在建立通信联系所确定的传感器节点这一主题下,通过发布相应的数据标识来创建相应数据缓存地址并挂载到发布数据标识链表,让传感器采集传输过来的数据快速定位到相应的缓存空间中,便于所述订阅模块读取,提高所述发布模块和所述订阅模块之间的通信传输效率、数据分发的灵活性。
进一步地,在所述订阅模块与所述通信总线模块建立通信联系后,且在所述订阅模块执行读取操作之前,所述通信总线模块将所述符合分发请求指令要求的传感器数据包缓存到所述订阅缓存地址内,便于所述订阅模块根据所述分发请求指令去读取并解析出携带相应数据标识的传感器数据包;其中,所述订阅模块设置专门的读操作接口与所述通信总线模块的对应总线接口相连接,用于通过读操作接口从所述订阅缓存地址内读取出前述携带相应数据标识的传感器数据包。提高打包缓存的效率,节省内存空间和拷贝内存。
进一步地,所述发布模块与所述通信总线模块建立通信联系的方式是所述发布模块通过搜索所述通信总线模块所属的设备名来建立的,以便于启动发布符合通信要求的传感器数据;所述订阅模块与所述通信总线模块建立通信联系的方式是:所述订阅模块通过搜索所述通信总线模块所属的设备名来建立的。使得发布模块所属的设备和订阅模块所属的设备可以独立开发,实现模块之间的解耦。
进一步地,所述发布请求指令是:基于所述客户端设备发出的请求命令转换而成的,用于订阅用户所需的传感器数据或打包后的传感器数据。便于通过所述客户端设备接收云端下发的SDK,进而通过订阅SDK软件升级包的方式来增加机器人的相关控制功能。
进一步地,所述数据标识用于表示传感器的设备类型,其中涉及的传感器的设备类型包括但不限于激光传感器、摄像头、码盘、里程计以及陀螺仪。从而让本技术方案公开的机器人传感器数据的分发及订阅系统支持嵌入式系统数据采集,跨操作系统数据传输和集成。
进一步地,所述订阅模块还用于按照机器人封装的用于导航定位的SLAM算法功能包的数据需求,读取解析出对应的数据标识的传感器数据包,并将解析的结果送给用于导航定位的SLAM算法功能包,以便执行机器人在不同运动环境下的定位和/或路径规划;其中,SLAM算法功能包设置在机器人的内部。
一种芯片,该芯片集成所述通信总线模块,其中,所述的发布模块被配置为建立起与所述通信总线模块的写数据通道,所述的订阅模块被配置为建立起与所述通信总线模块的读数据通道。解决了在低配的硬件资源上实现高效的数据分发/订阅系统,使系统平台更好用,更易用,模块之间解耦 。在增加通信灵活性的同时,实现了数据传输的实时性。
一种机器人,所述机器人包括:处理器、传感器设备、前述实施例的一种机器人传感器数据的分发及订阅系统,所述分发及订阅系统与传感器设备存在电性连接关系,所述分发及订阅系统与处理器存在电性连接关系。
附图说明
图1为本发明实施例公开一种机器人传感器数据的分发及订阅系统的框架示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用于解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
除非另作定义,本申请所涉及的技术术语或科学术语应当为本申请所述技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含,例如:包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。本申请所涉及的术语“第一”、“第二”、“第三”仅仅是区别类似的对象,不代表针对对象的特定排序。
本发明实施例公开一种机器人传感器数据的分发及订阅系统,如图该分发及订阅系统包括发布模块、订阅模块以及通信总线模块,通信总线模块分别通过总线接口与发布模块和订阅模块连接;通信总线模块通过总线接口与发布模块连接,并由通信总线模块分配一个数字标识以表示建立通信;通信总线模块通过总线接口与订阅模块连接,并由通信总线模块分配另一个数字标识以表示建立通信。所述分发及订阅系统安装在机器人上。发布模块可以作为一种支持windows操作系统的机器人主控电路板或简单的单片机模块,发布模块存在底层接口被配置为连接机器人上的至少一个传感器,用于获取机器人的传感器所采集的传感器数据并在建立通信联系后将所述传感器数据传输给通信总线模块,需要注意的是,每一种传感器对应采集一种数据类型的传感器数据,不同类型的传感器对应采集的传感器数据的数据类型不同;数据类型作为传感器数据的数字标识、或传感器设备的型号标识符。在本实施例中,所述机器人上的至少一个传感器设置在这个分发及订阅系统的外部,对应采集的传感器数据包括机器人在地面行进场景中的环境特征数据和/或机器人自身的位姿信息,比如,机器人上安装的运动传感器采集机器人自身运动状态数据,机器人上安装的环境传感器包括但不限于激光雷达、相机、惯性测量单元或里程计等,用于获取机器人所在周围环境信息,完成地图搭建和定位的任务;机器人上安装的环境传感器还可以包括用于测量电量状态的电流传感器、测量设备温度的温度传感器、测量环境干湿度的湿度传感器。
订阅模块可以作为一种支持linux操作系统的机器人主控电路板或封装SLAM算法的机器人控制电路模组,订阅模块存在底层接口被配置为与这个分发及订阅系统外部的至少一个客户端设备耦接,用于根据至少一个客户端设备发出的请求命令向发布模块发出分发请求指令,具体地,当订阅模块在一个通信进程中打开设备以建立起与通信总线模块的通信联系时,向通信总线模块发出所述分发请求指令,以便于所述通信总线模块在其内部开辟的缓存空间内接收来自所述发布模块打包发送过来的传感器数据包,以实现订阅相应传感器数据的目的,优选地,这个客户端设备不是安装在机器人上的,且可以接收云端下发的指令。
所述通信总线模块,用于根据所述订阅模块发出的分发请求指令,控制所述发布模块打包所采集的不同数据类型的传感器数据,再控制所述发布模块向所述订阅模块发布打包好的传感器数据,使得订阅模块或客户端设备获取到按需订阅的传感器数据,以便执行机器人在不同运动环境下的定位和/或路径规划,或者以便监视机器人所处的环境的温湿度、以及机器人内部零部件的运行电量温度状态。通信总线模块是按照软件系统的发布/订阅功能分解出的、且可以作为本地端的传感器数据传输通信平台、一种类似ROS的软件框架的机器人平台,不需依赖云端服务器的计算能力执行数据的打包发布、订阅请求以及传输控制操作;且所述通信总线模块内部开辟的数据缓存空间是属于全局数据空间。本实施例明确发布模块和订阅模块之间的数据流,这两个模块之间不存在直接耦合,是最弱的一种耦合关系,这两个模块之间的相互影响只有数据流,单个模块运行异常(发布模块或订阅模块),不会导致其他模块(所述通信总线模块)乃至整个系统的瘫痪。优选地,当通信总线模块是SPI总线接口控制模块时,总线接口是SPI总线接口,其中涉及的通信协议是SPI通信协议。所述通信总线模块可以独立存在、或附属于发布模块或订阅模块、或附属于所述分发及订阅系统的其它相关联的控制模块。
需要强调的是,在通信总线模块接收到所述分发请求指令后,相应给所述订阅模块反馈响应信号,通信总线模块与所述发送模块也存在相类似的收发响应的通信机制,是按照两者之间的总线协议执行的,是常规的通信收发手段,在此不再赘述。
需要说明的是,所述订阅模块每发出一次分发请求指令(包括根据订阅模块最新订阅的机器人主题动作而输出的新的分发请求指令),则所述通信总线模块根据所述订阅模块发出的最新的分发请求指令,控制所述发布模块打包包括不同数据类型的传感器数据,再控制所述发布模块向所述订阅模块发布这个打包好的传感器数据,这个打包好的传感器数据与上一次分发请求指令下打包好的传感器数据可以完全相同、这个打包好的传感器数据与上一次分发请求指令下打包好的传感器数据也可以部分相同、这个打包好的传感器数据与上一次分发请求指令下打包好的传感器数据还可以完全不同。
与现有技术相比,本实施例公开的分发及订阅系统在机器人内部的本地端分别协调:发布模块与通信总线模块之间的传感器数据包的发布通信传输过程、订阅模块与通信总线模块之间的传感器数据的订阅通信传输过程,使得订阅模块或客户端设备获取到按需订阅的各种数据类型的传感器数据,实现发布模块和订阅模块之间解耦、外部的传感器模块之间的解耦,减少机器人的感测数据在本地端的分发和订阅方面的运行资源,可以在资源有限的嵌入式机器人平台运行,而且,不受限于传感器设备的类型,所述分发及订阅系统能够扩展使用于多种传感器设备,可以接受来自所述订阅模块相应的分发请求指令,进而增加机器人封装的SLAM算法在不同场景下的可扩展性、或保证不同场景下的状态量的监视效果。
作为一种实施例,所述通信总线模块与所述发布模块建立通信联系后,即这两个模块之间建立连接关系,然后所述通信总线模块先创建出一个发布数据标识链表再相应配置一个传感器节点(NODE),作为发布者和订阅者在所述分发及订阅系统内的数字标识,属于所述全局数据空间内分配的全局唯一标识;在分配一个传感器节点后,所述发布模块才开始向所述通信总线模块传输传感器数据;然后,所述通信总线模块按照所述发布模块发出的数据标识(ID)为所述发布模块开辟相对应的写数据缓存区,使得携带对应数据标识的传感器数据挂载在发布数据标识链表下相应的缓存地址上或缓存地址区间内;在本实施例中,所述发布模块设置专门的写操作接口与所述通信总线模块的对应总线接口相连接,用于将采集的传感器数据写入所述写数据缓存区,本实施例将所述实时嵌入式系统的外部的传感器采集的数据通过发布模块的写操作接口挂载到所述通信总线模块内的发布数据标识链表下,实现所述发布模块通过写操作接口发布传感器数据。需要说明的是,不同的数据标识的传感器数据(DATA)是挂载在发布数据标识链表下相匹配的缓存地址中;每一种数据标识与对应的一种传感器数据类型一一匹配,或与对应的一种设备标识符一一匹配(传感器设备的ID号),但所述发布模块通过所述通信总线模块向所述发布数据标识链表挂载的所有传感器数据不一定全部被所述订阅模块所订阅读取。本实施例在建立通信联系所确定的传感器节点这一主题下,通过发布相应的数据标识来创建相应数据缓存地址并挂载到发布数据标识链表,让传感器采集传输过来的数据快速定位到相应的缓存空间中,便于所述订阅模块读取,提高所述发布模块和所述订阅模块之间的通信传输效率、数据分发的灵活性。
需要说明的是,本实施例在所述通信总线模块内接收数据之前,所创建的内存存储空间(数据结构)是链表,一种支持在程序运行过程中动态分配空间的数据结构,需要额外存储空间存放所述传感器节点(作为表示结点关系的指针),使得插入传感器数据的速度快,移除传感器数据包的速度快,且不影响原来的物理顺序。值得注意的是,链表的优点在于:当确定插入或删除链表的一个节点之后,不需要像其它的数据结构(线性表、数组)按照连续的内存地址逐个迁移太多其它数据。
需要说明的是,所述通信总线模块每当与所述发布模块建立一次通信联系,所述通信总线模块则创建出相应的一个发布数据标识链表再相应配置一个传感器节点(可以是与已创建的传感器节点相同、或者与已创建的传感器节点不同,因而可以延伸使用NODE1、NODE2、NODE3等不同通信条件下的传感器节点符号区分),作为发布者和订阅者在所述分发及订阅系统内的数字标识,属于当前通信条件下创建的全局数据空间内的全局唯一标识。
然后,在所述通信总线模块内,根据来自所述订阅模块的所述分发请求指令将不同数据类型的传感器数据打包成携带相应数据标识的传感器数据包,再由所述通信总线模块发布给所述订阅模块,以便于所述订阅模块在传感器数据包的缓存地址处读取解析相应数据标识的传感器数据。在所述传感器数据包内,每一种数据类型的传感器数据分别携带有唯一的一种数据标识,其中,在传感器数据包内,每一种数据类型的传感器数据及其对应携带的一种数据标识分别占据不同的地址空间。因此在本实施例中的发布模块可以采集多种数据类型的传感器数据并能将这些传感器数据打包发布,提高数据分发效率。值得注意的是,所述分发请求指令发生改变后,所述通信总线模块打包形成的传感器数据包也发生调整,以满足用户客户端的订阅读取需求。
具体地,所述传感器数据包包括16bit的包头数据、16bit的表示数据类型的变量数据、32至64bit的表示数据长度的变量数据、以及传感器数据包的末尾位置的16bit校验码,基于所述分发请求指令,所述传感器数据包的其它部分按照填充的数据类型的数目划分为多帧分包数据;在所述传感器数据包中,16bit的包头数据和16bit类型数据依次填充所述传感器数据包的byte[0…31],表示数据长度的变量数据至少占据所述传感器数据包的第32比特位至第65比特位,表示数据长度的变量数据至多占据所述传感器数据包的第32比特位至第107比特位;每一帧分包数据包括:占据32位的数据标识(ID)、占据16位的传感器数据的源地址(src)、占据16位的传感器数据的目的地址(dst)、占据32位的传感器数据的数据长度(len)以及该数据标识(ID)对应数据类型的传感器数据(传感器数据所占据的位宽是根据传感器实际采集的数据决定的);其中,数据标识(ID)、源地址(src)、目的地址(dst)、数据长度(len)按照低位至高位顺序填充对应一帧分包数据;每一部分数据帧的数据标识(ID)都是不同的,至于分包数据的帧数是根据所述分发请求指令配置打包形成的。
作为一种实施例,所述通信总线模块与所述订阅模块建立通信联系,即所述订阅模块搜索到所述通信总线模块的设备名时,所述分发及订阅系统控制这两个模块建立起连接关系,在前述实施例在所述通信总线模块内配置的传感器节点下创建出订阅数据标识链表,这个传感器节点也作为订阅者在所述分发及订阅系统内的数字标识;所述订阅模块根据所述分发请求指令所对应订阅的数据标识或所述请求命令所对应订阅的数据标识,控制所述通信总线模块增减所述传感器节点所对应的订阅数据标识链表的数目,这里对订阅数据标识链表的数目的增减操作,实质是对待订阅的传感器数据的数据类型的增减,可以是增加处理一种传感器数据、或减少处理一种传感器数据以服务所述订阅模块对应连接的算法功能封装包。在本实施例中,所述通信总线模块创建出的订阅数据标识链表是为符合所述分发请求指令所要求订阅的传感器数据包提供其在所述通信总线模块内相应的订阅缓存地址,对于所述传感器数据包内,每一种数据类型的传感器数据及其对应携带的一种数据标识分别占据不同的订阅缓存地址。相对于现有技术不再将发布数据标识链表下缓存的不同的数据标识的传感器数据(DATA)重复拷贝到所述订阅数据标识链表下相应的缓存地址内,节省部分缓存内存;本实施例公开的所述订阅模块发出的分发请求指令包含待订阅的传感器数据包的信息,这个传感器数据包的信息包括多个数据标识,所述通信总线模块根据所述分发请求指令将发布数据标识链表下缓存的若干种数据标识的传感器数据(DATA)在所述通信总线模块内打包成为一个传感器数据包,这个传感器数据包会被发布(分发)缓存在订阅缓存地址上,然后,若所述订阅模块将这个传感器数据包读取解析,则将符合所述分发请求指令所要求订阅的传感器数据包内的至少一个数据标识挂载在对应的一个订阅数据标识链表内,但不能挂载用于缓存没有携带数据标识的传感器数据。本实施例的一个订阅数据标识链表内可能挂载一个或多个数据标识,使得同一订阅数据标识链表内接收的数据标识满足对应机器人主题下的软件处理动作。需要说明的是,每一种数据标识与对应的一种传感器数据类型一一匹配,或与对应的一种设备标识符一一匹配。其中,在传感器数据包内,每一种数据类型的传感器数据及其对应携带的一种数据标识分别占据不同的地址空间。与现有技术相比,本实施例公开的通信总线模块不为所述订阅模块分配新的节点作为订阅节点,而是共享所述传感器节点,并共享所述通信总线模块内缓冲的数据,降低缓存空间内的数据的复制次数,并且不对所述传感器节点下创建的订阅数据标识链表挂载数据缓存空间,节省内存;本实施例还根据订阅需求动态增减订阅数据标识链表的数目,以满足当前场景下的定位目的;从而最大化地利用空间和时间效率。
在上述实施例的基础上,在所述订阅模块与所述通信总线模块建立通信联系后,且在所述订阅模块执行读取操作之前,所述通信总线模块根据所述分发请求指令将发布数据标识链表下缓存的若干种数据标识的传感器数据(DATA)在所述通信总线模块内打包成为一个传感器数据包,再由所述通信总线模块将所述发布模块发布的符合所述分发请求指令要求的传感器数据包缓存到所述订阅缓存地址内,提高数据传输效率。在所述订阅模块执行读取操作时,所述订阅模块根据所述分发请求指令去解析携带相应数据标识的传感器数据包;其中,所述订阅模块设置专门的读操作接口与所述通信总线模块的对应总线接口相连接,用于通过读操作接口从所述订阅缓存地址内读取出前述携带相应数据标识的传感器数据包。提高打包缓存的效率,节省内存空间和拷贝内存。
在前述实施例中,所述发布模块与所述通信总线模块建立通信联系的方式是:所述发布模块通过搜索所述通信总线模块所属的设备名来建立的,以便于启动发布符合通信要求的传感器数据,所述发布模块后续可以向所述通信总线模块发布传感器采集的数据、或经过换算后的传感器数据,再执行前述实施例;所述订阅模块与所述通信总线模块建立通信联系的方式是:所述订阅模块通过搜索所述通信总线模块所属的设备名来建立的,以使得所述订阅模块可以发送所述分发请求指令,开始执行前述实施例。使得发布模块所属的设备和订阅模块所属的设备可以独立开发,实现模块之间的解耦,进而解决了在低配的硬件资源上,实现高效的数据分发/订阅系统,使系统平台更好用、更易用、模块之间解耦。
优选地,所述发布请求指令是:基于所述客户端设备发出的请求命令转换而成的,用于订阅用户所需的传感器数据或打包后的传感器数据。便于通过所述客户端设备接收云端下发的SDK,进而通过订阅SDK软件升级包的方式来增加机器人的相关控制功能,特别是对机器人的底层的嵌入式系统的控制。
优选地,所述数据标识用于表示传感器的设备类型,其中涉及的传感器的设备类型包括但不限于激光传感器、摄像头、码盘、里程计以及陀螺仪,从而让本实施例公开的机器人传感器数据的分发及订阅系统支持嵌入式系统数据采集,跨操作系统数据传输和集成,这对于场景判断和感知信息的传输运行效率至关重要。
优选地,所述订阅模块还用于按照机器人封装的用于导航定位的SLAM算法功能包的数据需求,读取解析出对应的数据标识的传感器数据包,并将解析的结果送给用于导航定位的SLAM算法功能包,以便执行机器人在不同运动环境下的定位和/或路径规划;其中,SLAM算法功能包也是设置在机器人的内部。在具体实施中,用于实时定位与地图构建、存储激光雷达或视觉传感器的点云信息以及场景地图等比较庞大的数据,能够通过所述发布模块传输给所述通信总线模块,再根据所述订阅模块发出的所述分发请求指令,实时根据用户的需要或不同功用的机器人的运行程序动态订阅相应数据类型的传感器数据,交由本地端封装的SLAM算法功能包访问这些解析后的传感器数据,并向机器人下达控制指令,实现只需要在现有硬件平台上升级SLAM算法功能包就能实施前述的数据分布(分发)和订阅。
在一些具体的实施例中,传感器所属的嵌入式系统中根据机器人的传感器信息计算得出某一固定时间间隔内机器人各部分运动模块的线速度和转向角度信息,交由所述发布模块发布到指定机器人的控制话题中,并传输到所述通信总线模块的单一节点下链表缓存空间内,再打包发送给需要读取解析处理的订阅模块,在所述SLAM算法功能包内作进一步的定位处理,进而在订阅模块和发布模块的数据收发过程中,实现驱动机器人移动到达指定的位置。
一种芯片,该芯片集成所述通信总线模块,其中,所述的发布模块被配置为建立起与所述通信总线模块的写数据通道,所述的订阅模块被配置为建立起与所述通信总线模块的读数据通道。解决了在低配的硬件资源上实现高效的数据分发/订阅系统,使系统平台更好用,更易用,模块之间解耦 。在增加通信灵活性的同时,实现了数据传输的实时性。
一种机器人,所述机器人包括:处理器、传感器设备、前述实施例的一种机器人传感器数据的分发及订阅系统,所述分发及订阅系统与传感器设备存在电性连接关系,所述分发及订阅系统与处理器存在电性连接关系。在本申请的一个扫地机实施例中,所述通信总线模块向所述订阅模块传输的打包多种数据类型的传感器数据包,有利于后续融合多种类型传感器的采集数据来进行道路场景的判断,提高扫地机器人的导航定位的精度。在一部分场景中,所述发布模块通过所述通信总线模块按需将相应数据类型(数据标识ID)的传感器数据反馈至所述订阅模块,比如可以将激光点云数据及时地反馈到订阅模块,以针对性地获取感知环境扫描轮廓信息,加快场景识别消息的判断处理,如碰撞预警场景。增加算法的可扩展性,丰富资源受限的嵌入式系统的场景判断功能。
本发明所提供的实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现,以上描述的实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有其它划分方式,例如多个模块或组件可以结合或可以集成到另一个系统,或一些特征可以忽略或不执行,可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。
最后应当说明的是,以上各实施例仅仅是本发明的一部分实施例,而不是全部实施例,各个实施例之间的技术方案可以相互结合,实施例所公开的具体步骤可以根据实际需求调整顺序以达到相同的技术效果。本领域的普通技术人员应当理解,在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,均应包括在本发明的保护范围之内。
Claims (11)
1.一种机器人传感器数据的分发及订阅系统,其特征在于,该分发及订阅系统包括发布模块、订阅模块以及通信总线模块;该分发及订阅系统安装在机器人上;
发布模块存在底层接口被配置为连接机器人上的至少一个传感器,用于获取并传输机器人的传感器所采集的传感器数据,其中,所述机器人上的至少一个传感器设置在所述分发及订阅系统的外部;
订阅模块存在底层接口被配置为与所述分发及订阅系统外部的至少一个客户端设备耦接,用于根据至少一个客户端设备发出的请求命令向发布模块发出分发请求指令,以实现订阅相应传感器数据;
通信总线模块,用于根据订阅模块发出的分发请求指令,打包发布模块所获取的传感器数据,再向订阅模块发布打包好的传感器数据,使得订阅模块或客户端设备获取到按需订阅的传感器数据。
2.根据权利要求1所述分发及订阅系统,其特征在于,所述通信总线模块,用于在与所述发布模块建立通信联系后,创建出发布数据标识链表再配置传感器节点,以使得采集到的不同数据类型的传感器数据挂载在传感器节点对应的发布数据标识链表下,再根据所述分发请求指令将不同数据类型的传感器数据打包成携带相应数据标识的传感器数据包,然后发布给所述订阅模块;
其中,在所述传感器数据包内,每一种数据类型的传感器数据分别携带有对应的一种数据标识。
3.根据权利要求2所述分发及订阅系统,其特征在于,所述通信总线模块,用于在与所述订阅模块建立通信联系后,在所述传感器节点下创建出订阅数据标识链表,进而根据所述分发请求指令所对应订阅的数据标识,增减所述传感器节点所对应的订阅数据标识链表的数目,以实现为符合所述分发请求指令所要求订阅的传感器数据包提供其在所述通信总线模块内相应的订阅缓存地址、以及只将符合所述分发请求指令所要求订阅的传感器数据包内的至少一个数据标识挂载在对应的一个订阅数据标识链表内;
其中,每一种数据标识与对应的一种传感器数据类型一一匹配,或与对应的一种设备标识符一一匹配;
其中,在传感器数据包内,每一种数据类型的传感器数据及其对应携带的一种数据标识分别占据不同的地址空间。
4.根据权利要求3所述分发及订阅系统,其特征在于,在所述发布模块与所述通信总线模块建立通信联系后,在所述通信总线模块创建出发布数据标识链表的同时,所述通信总线模块按照所述发布模块发出的数据标识开辟相对应的写数据缓存区,使得携带对应数据标识的传感器数据在所挂载的发布数据标识链表中存在相应的缓存地址;
其中,所述发布模块设置专门的写操作接口与所述通信总线模块的对应总线接口相连接,用于将采集的传感器数据写入所述写数据缓存区,实现所述发布模块通过写操作接口发布传感器数据。
5.根据权利要求4所述分发及订阅系统,其特征在于,在所述订阅模块与所述通信总线模块建立通信联系后,且在所述订阅模块执行读取操作之前,所述通信总线模块将所述符合分发请求指令要求的传感器数据包缓存到所述订阅缓存地址内,便于所述订阅模块根据所述分发请求指令去读取并解析出携带相应数据标识的传感器数据包;
其中,所述订阅模块设置专门的读操作接口与所述通信总线模块的对应总线接口相连接,用于通过读操作接口从所述订阅缓存地址内读取出前述携带相应数据标识的传感器数据包。
6.根据权利要求4或5所述分发及订阅系统,其特征在于,所述发布模块与所述通信总线模块建立通信联系的方式是:所述发布模块通过搜索所述通信总线模块所属的设备名来建立的,以便于启动发布符合通信要求的传感器数据;
所述订阅模块与所述通信总线模块建立通信联系的方式是:所述订阅模块通过搜索所述通信总线模块所属的设备名来建立的。
7.根据权利要求6所述分发及订阅系统,其特征在于,所述发布请求指令是基于所述客户端设备发出的请求命令转换而成的,用于订阅用户所需的携带对应的数据标识的传感器数据或经过打包的传感器数据。
8.根据权利要求7所述分发及订阅系统,其特征在于,所述数据标识用于表示传感器的设备类型,其中涉及的传感器的设备类型包括但不限于激光传感器、摄像头、码盘、里程计以及陀螺仪。
9.根据权利要求8所述分发及订阅系统,其特征在于,所述订阅模块还用于按照机器人封装的用于导航定位的SLAM算法功能包的数据需求,读取解析出对应的数据标识的传感器数据包,并将解析的结果送给用于导航定位的SLAM算法功能包,以便执行机器人在不同运动环境下的定位和/或路径规划;
其中,SLAM算法功能包设置在机器人的内部。
10.一种芯片,其特征在于,该芯片集成权利要求1至9任一项所述通信总线模块,其中,权利要求1至9任一项所述的发布模块被配置为建立起与所述通信总线模块的写数据通道,权利要求1至9任一项所述的订阅模块被配置为建立起与所述通信总线模块的读数据通道。
11.一种机器人,其特征在于,所述机器人包括:处理器、传感器设备、权利要求1至9任一项所述的一种机器人传感器数据的分发及订阅系统,所述分发及订阅系统与传感器设备存在电性连接关系,所述分发及订阅系统与处理器存在电性连接关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110174846.7A CN112911012B (zh) | 2021-02-07 | 2021-02-07 | 一种机器人传感器数据的分发及订阅系统、芯片及机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110174846.7A CN112911012B (zh) | 2021-02-07 | 2021-02-07 | 一种机器人传感器数据的分发及订阅系统、芯片及机器人 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112911012A true CN112911012A (zh) | 2021-06-04 |
CN112911012B CN112911012B (zh) | 2023-05-05 |
Family
ID=76122873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110174846.7A Active CN112911012B (zh) | 2021-02-07 | 2021-02-07 | 一种机器人传感器数据的分发及订阅系统、芯片及机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112911012B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114579493A (zh) * | 2022-03-03 | 2022-06-03 | 夏春萌 | 一种通过软件式数据交互总线降低软件耦合度的机制 |
CN115150458A (zh) * | 2022-05-20 | 2022-10-04 | 阿里云计算有限公司 | 设备管理系统以及方法 |
CN117201525A (zh) * | 2022-05-31 | 2023-12-08 | 华为技术有限公司 | 一种数据处理方法、装置、设备、存储介质及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103458033A (zh) * | 2013-09-04 | 2013-12-18 | 北京邮电大学 | 事件驱动、面向服务的物联网服务提供系统及其工作方法 |
WO2017121456A1 (en) * | 2016-01-11 | 2017-07-20 | Abb Schweiz Ag | A robot system and a method for operating the robot system |
CN110427039A (zh) * | 2019-08-29 | 2019-11-08 | 山东大学 | 一种基于ros2的分布式云导航系统及导航方法 |
CN112109090A (zh) * | 2020-09-21 | 2020-12-22 | 金陵科技学院 | 多传感器融合的搜索救援机器人系统 |
-
2021
- 2021-02-07 CN CN202110174846.7A patent/CN112911012B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103458033A (zh) * | 2013-09-04 | 2013-12-18 | 北京邮电大学 | 事件驱动、面向服务的物联网服务提供系统及其工作方法 |
WO2017121456A1 (en) * | 2016-01-11 | 2017-07-20 | Abb Schweiz Ag | A robot system and a method for operating the robot system |
CN110427039A (zh) * | 2019-08-29 | 2019-11-08 | 山东大学 | 一种基于ros2的分布式云导航系统及导航方法 |
CN112109090A (zh) * | 2020-09-21 | 2020-12-22 | 金陵科技学院 | 多传感器融合的搜索救援机器人系统 |
Non-Patent Citations (1)
Title |
---|
李海闻等: "一种发布订阅中间件的设计", 《现代计算机(专业版)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114579493A (zh) * | 2022-03-03 | 2022-06-03 | 夏春萌 | 一种通过软件式数据交互总线降低软件耦合度的机制 |
CN115150458A (zh) * | 2022-05-20 | 2022-10-04 | 阿里云计算有限公司 | 设备管理系统以及方法 |
CN117201525A (zh) * | 2022-05-31 | 2023-12-08 | 华为技术有限公司 | 一种数据处理方法、装置、设备、存储介质及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112911012B (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112911012B (zh) | 一种机器人传感器数据的分发及订阅系统、芯片及机器人 | |
JP5255579B2 (ja) | 車内データ中継装置、車両制御システム | |
CN112422498A (zh) | 一种带内网络遥测方法、系统及计算机可读存储介质 | |
CN113938356B (zh) | 一种智能网关 | |
CN101998629A (zh) | 搜索虚拟资源的位置的方法、装置和系统 | |
CN112416840A (zh) | 一种计算资源的远程映射方法、装置、设备及存储介质 | |
KR102211298B1 (ko) | 센서 간의 데이터 전송을 위한 데이터 전송 로직과 자율 주행 차량의 계획 및 제어 | |
CN106155264A (zh) | 管理存储子系统的电力消耗的计算机方法与计算机系统 | |
CN112947384A (zh) | 一种多功能的卫星仿真测试系统及方法 | |
CN114116946A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113475107B (zh) | 将云侧角色委派给设备的方法、系统和计算机可读存储介质 | |
JP7107046B2 (ja) | 制御システム、検索装置および検索プログラム | |
JP2000269996A (ja) | システム並びに通信ユニット及び機器並びに論理マップ情報の生成方法及びツール装置 | |
Wulf et al. | A compact software framework for distributed real-time computing | |
CN114900751A (zh) | 一种控制装置、数据处理方法、设备及存储介质 | |
CN107992197A (zh) | 虚拟现实设备和系统 | |
CN205051717U (zh) | 一种智能路由器 | |
Nath et al. | IrisNet: An architecture for compute-intensive wide-area sensor network services | |
CN117544711B (zh) | 一种多处理器间的通信方法、装置、设备和介质 | |
CN110768888A (zh) | 数据传输装置和系统 | |
CN115858203B (zh) | 异构功能交互信息翻译系统及方法 | |
WO2021008494A1 (zh) | 通信方法和装置 | |
CN214502485U (zh) | 一种传感器系统、机器人 | |
CN114866534B (zh) | 一种图像处理方法、装置、设备及介质 | |
WO2023276960A1 (ja) | システム、センター、及び制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 519000 2706, No. 3000, Huandao East Road, Hengqin new area, Zhuhai, Guangdong Applicant after: Zhuhai Yiwei Semiconductor Co.,Ltd. Address before: Room 105-514, No.6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province Applicant before: AMICRO SEMICONDUCTOR Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |