CN113127218B - 机器人的实时通信方法、装置、系统、控制器和机器人 - Google Patents

机器人的实时通信方法、装置、系统、控制器和机器人 Download PDF

Info

Publication number
CN113127218B
CN113127218B CN201911412757.0A CN201911412757A CN113127218B CN 113127218 B CN113127218 B CN 113127218B CN 201911412757 A CN201911412757 A CN 201911412757A CN 113127218 B CN113127218 B CN 113127218B
Authority
CN
China
Prior art keywords
shared memory
control data
preset shared
processing module
application processing
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.)
Active
Application number
CN201911412757.0A
Other languages
English (en)
Other versions
CN113127218A (zh
Inventor
王子宜
熊友军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Youbixuan Intelligent Robot Co ltd
Original Assignee
Ubtech Robotics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ubtech Robotics Corp filed Critical Ubtech Robotics Corp
Priority to CN201911412757.0A priority Critical patent/CN113127218B/zh
Publication of CN113127218A publication Critical patent/CN113127218A/zh
Application granted granted Critical
Publication of CN113127218B publication Critical patent/CN113127218B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

本发明涉及机器人的实时通信方法、装置、系统、控制器和机器人,该实时通信方法通过设置第一预设共享内存、第二预设共享内存以及采用消息队列的进程间通信方式,将同步周期控制信号和对应的数据同步写入第一预设共享内存或第二预设共享内存,进而从上述第一预设共享内存或第二预设共享内存同步读取同步周期控制信号和对应的数据,使得机器人的控制中心、消息中心和各个应用处理模块在同步控制周期信号内能够互相实时进行通信,总体上提高了机器人消息的实时性。

Description

机器人的实时通信方法、装置、系统、控制器和机器人
技术领域
本发明涉及机器人通信领域,尤其涉及一种机器人的实时通信方法、装置、系统、控制器和机器人。
背景技术
机器人操作系统ROS((Robot Operating System,ROS)是一个强大而灵活的机器人编程框架,从软件构架的角度说,它是一种基于消息传递通信的分布式多进程框架。ROS本身是基于消息机制的,开发者可以根据功能把软件拆分成为各个模块,每个模块只是负责读取和分发消息,模块间通过消息关联,但是ROS不是实时性的,因此,目前机器人的ROS系统通信的实时性亟需提高。
发明内容
鉴于此,本发明提供一种机器人的实时通信方法、装置、系统、控制器和机器人,能够通过设置第一预设共享内存、第二预设共享内存以及采用消息队列的进程间通信方式,且共享内存和消息队列是最快的进程间通信方式,将同步周期控制信号和数据同步写入上述第一预设共享内存或第二预设共享内存,进而从上述第一预设共享内存或第二预设共享内存同步读取同步周期控制信号和数据,使得机器人控制中心、消息中心和各个应用处理模块在同步控制周期信号内能够互相实时进行通信,总体上提高了机器人消息的实时性。
一种机器人的实时通信方法,应用于单个控制器,控制器上设置有控制中心、消息中心和各个应用处理模块,实时通信方法包括:
消息中心对第一预设共享内存与控制中心之间的通信进行监听;
当监听到同步控制周期信号到达第一预设共享内存时,消息中心从第一预设共享内存同步读取控制中心写入的输入控制数据,并对输入控制数据进行数据筛选处理以得到筛选后的输入控制数据;
消息中心接收各个应用处理模块的请求信息;
消息中心根据各个请求信息匹配各自对应的筛选后的输入控制数据,并将同步控制周期信号和各个应用处理模块各自所对应的筛选后的输入控制数据写入第二预设共享内存;
当监听到同步控制周期信号到达第二预设共享内存时,各个应用处理模块同步读取对应的筛选后的输入控制数据并分别对所对应的筛选后的输入控制数据进行目标运算设置以生成各自对应的目标控制数据;
消息中心通过消息队列接收各个应用处理模块所广播的目标控制数据,将各个应用处理模块各自对应的目标控制数据进行汇总,并将汇总后的目标控制数据和同步控制周期信号写入第一预设共享内存;
当监听到同步控制周期信号到达第一预设共享内存时,控制中心同步读取对应汇总后的目标控制数据。
在一个实施例中,消息中心对第一预设共享内存与控制中心之间的通信进行监听的步骤之前还包括:
消息中心接收控制中心发送的第一预设共享内存标识,根据第一预设共享内存标识与第一预设共享内存建立第一数据连接。
在一个实施例中,消息中心接收各个应用处理模块的请求信息的步骤之前还包括:
消息中心接收各个应用处理模块发送的注册请求消息,注册请求消息包括对应的应用处理模块的名称和第二预设共享内存标识;
消息中心根据第二预设共享内存标识查找对应的第二预设共享内存并与第二预设共享内存建立第二数据连接。
在一个实施例中,实时通信方法还包括:
消息中心对第一预设共享内存和第二预设共享内存各自的占用程度分别进行监控;
当对应的占用程度分别超过各自对应的预设比例阈值时,分别动态增加第一预设共享内存和第二预设共享内存各自的配额大小以满足机器人的实时通信。
在一个实施例中,请求信息包括请求数据名称、请求数据类型和请求数据优先级,消息中心根据各个请求信息匹配各自对应的筛选后的输入控制数据的步骤包括:
消息中心将各个请求信息按照各自对应的请求数据优先级从大到小进行排序,得到排序后的请求信息列表;
消息中心根据排序后的请求信息列表、结合各个请求信息各自对应的请求数据名称和请求数据类型匹配对应的筛选后的输入控制数据。
此外,还提供一种机器人的实时通信方法,应用于主控器和至少一个从属控制器,主控器和各个从属控制器分别通过对应的PCI总线连接,主控器的内存区域设置有第一预设共享内存、第二预设共享内存以及分别与各个从属控制器一一对应的多个预设共享内存,主控器上设置有控制中心、消息中心和各个应用处理模块,各个从属控制器上分别设置有对应的应用处理模块,实时通信方法包括:
消息中心对第一预设共享内存与控制中心之间的通信进行监听;
当监听到同步控制周期信号到达第一预设共享内存时,消息中心从第一预设共享内存同步读取控制中心写入的输入控制数据,并对输入控制数据进行数据筛选处理以得到筛选后的输入控制数据;
消息中心接收各个应用处理模块的请求信息;
消息中心根据各个请求信息匹配各自对应的筛选后的输入控制数据,并将同步控制周期信号和各个应用处理模块各自所对应的筛选后的输入控制数据写入第二预设共享内存;
消息中心将同步控制周期信号和主控器上设置的各个应用处理模块各自所对应的筛选后的输入控制数据写入第二预设共享内存,将同步控制周期信号和各个从属控制器上各自设置的应用处理模块所对应的筛选后的输入控制数据写入各个从属控制器各自所对应的预设共享内存;
当监听到同步控制周期信号到达第二预设共享内存时,主控器上设置的各个应用处理模块同步读取对应的筛选后的输入控制数据并分别对所对应的筛选后的输入控制数据进行目标运算设置以生成各自对应的目标控制数据,当监听到同步控制周期信号到达各个从属控制器各自对应的预设共享内存时,各个从属控制器上各自设置的应用处理模块同步读取对应的筛选后的输入控制数据并分别对所对应的筛选后的输入控制数据进行目标运算设置以生成各自对应的目标控制数据;
消息中心通过消息队列接收各个应用处理模块所广播的目标控制数据,将各个应用处理模块各自对应的目标控制数据进行汇总,并将汇总后的目标控制数据和同步控制周期信号写入第一预设共享内存;
当监听到同步控制周期信号到达第一预设共享内存时,控制中心同步读取对应汇总后的目标控制数据。
此外,还提供一种机器人的实时通信装置,应用于单个控制器,控制器上设置有控制中心、消息中心和各个应用处理模块,实时通信装置包括:
监控单元,用于调用消息中心对第一预设共享内存与控制中心之间的通信进行监听;
数据读取和筛选单元,用于当监听到同步控制周期信号到达第一预设共享内存时,调用消息中心从第一预设共享内存同步读取控制中心写入的输入控制数据,并对输入控制数据进行数据筛选处理以得到筛选后的输入控制数据;
请求接收单元,用于调用消息中心接收各个应用处理模块的请求信息;
第一信号与数据写入单元,用于调用消息中心根据各个请求信息匹配各自对应的筛选后的输入控制数据,并将同步控制周期信号和各个应用处理模块各自所对应的筛选后的输入控制数据写入第二预设共享内存;
目标数据生成单元,用于当监听到同步控制周期信号到达第二预设共享内存时,通过各个应用处理模块同步读取对应的筛选后的输入控制数据并分别对所对应的筛选后的输入控制数据进行目标运算设置以生成目标控制数据;
第二信号与数据写入单元,用于调用消息中心通过消息队列接收各个应用处理模块所广播的目标控制数据,将各个应用处理模块各自对应的目标控制数据进行汇总,并将汇总后的目标控制数据和同步控制周期信号写入第一预设共享内存;
目标数据读取单元,用于当监听到同步控制周期信号到达第一预设共享内存时,通过控制中心同步读取对应汇总后的目标控制数据。
此外,还提供一种机器人的实时通信系统,应用于单个控制器,实时通信系统包括控制中心、消息中心和各个应用处理模块:
消息中心用于对第一预设共享内存与控制中心之间的通信进行监听;
当监听到同步控制周期信号到达第一预设共享内存时,消息中心用于从第一预设共享内存同步读取控制中心写入的输入控制数据,并对输入控制数据进行数据筛选处理以得到筛选后的输入控制数据;
消息中心用于接收各个应用处理模块的请求信息;
消息中心用于匹配各个请求信息各自对应的筛选后的输入控制数据,并将同步控制周期信号和各个应用处理模块各自所对应的筛选后的输入控制数据写入第二预设共享内存;
当监听到同步控制周期信号到达第二预设共享内存时,各个应用处理模块用于同步读取对应的筛选后的输入控制数据并分别对所对应的筛选后的输入控制数据进行目标运算设置以生成各自对应的目标控制数据;
消息中心通过消息队列接收各个应用处理模块所广播的目标控制数据,将各个应用处理模块各自对应的目标控制数据进行汇总,并将汇总后的目标控制数据和同步控制周期信号写入第一预设共享内存;
当监听到同步控制周期信号到达第一预设共享内存时,控制中心用于同步读取对应汇总后的目标控制数据。
此外,还提供一种控制器,控制器上设置有上述实时通信系统。
此外,还提供一种机器人,包括存储器以及控制器,存储器用于存储计算机程序,控制器运行计算机程序以使机器人执行上述实时通信方法。
此外,还提供一种可读存储介质,可读存储介质存储有计算机程序,计算机程序在被控制器运行时执行上述实时通信方法。
上述机器人的实时通信方法,应用于单个控制器,控制器上设置有控制中心、消息中心和各个应用处理模块,通过消息中心对第一预设共享内存与控制中心之间的通信进行监听,当监听到同步控制周期信号到达第一预设共享内存时,消息中心从第一预设共享内存同步读取控制中心写入的输入控制数据,并对输入控制数据进行数据筛选处理以得到筛选后的输入控制数据,消息中心接收各个应用处理模块的请求信息,消息中心根据各个请求信息匹配各自对应的筛选后的输入控制数据,并将同步控制周期信号和各个应用处理模块各自所对应的筛选后的输入控制数据写入第二预设共享内存,当监听到同步控制周期信号到达第二预设共享内存时,各个应用处理模块同步读取对应的筛选后的输入控制数据并分别对所对应的筛选后的输入控制数据进行目标运算设置以生成各自对应的目标控制数据,消息中心通过消息队列接收各个应用处理模块所广播的目标控制数据,将各个应用处理模块各自对应的目标控制数据进行汇总,并将汇总后的目标控制数据和同步控制周期信号写入第一预设共享内存,当监听到同步控制周期信号到达第一预设共享内存时,控制中心同步读取对应汇总后的目标控制数据,能够通过设置第一预设共享内存、第二预设共享内存以及采用消息队列的进程间通信方式,且共享内存和消息队列是最快的进程间通信方式,将同步周期控制信号和数据同步写入上述第一预设共享内存或第二预设共享内存,进而从上述第一预设共享内存或第二预设共享内存同步读取同步周期控制信号和数据,使得机器人控制中心、消息中心和各个应用处理模块在同步控制周期信号内能够互相实时进行通信,总体上提高了机器人消息的实时性。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1为一个实施例中一种机器人的实时通信方法的流程示意图;
图2为另一个实施例中一种机器人的实时通信方法的流程示意图;
图3为又一个实施例中一种机器人的实时通信方法的流程示意图;
图4为再一个实施例中一种机器人的实时通信方法的流程示意图;
图5为一个实施例中匹配对应的筛选后的输入控制数据的方法流程示意图;
图6为再一个实施例中一种机器人的实时通信方法的流程示意图;
图7为一个实施例中一种机器人的实时通信装置的结构框图;
图8为一个实施例中一种机器人的实时通信系统的结构示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下文中,将更全面地描述本公开的各种实施例。本公开可具有各种实施例,并且可在其中做出调整和改变。然而,应理解:不存在将本公开的各种实施例限于在此公开的特定实施例的意图,而是应将本公开理解为涵盖落入本公开的各种实施例的精神和范围内的所有调整、等同物和/或可选方案。
在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
如图1所示,提供了一种机器人的实时通信方法,应用于单个控制器,控制器上设置有控制中心、消息中心和各个应用处理模块,实时通信方法包括:
步骤S110,消息中心对第一预设共享内存与控制中心之间的通信进行监听。
其中,机器人操作系统ROS包括中央控制器,中央控制器上设置有控制中心、消息中心和各个应用处理模块,控制中心主要用于电机和各个传感器的数据采集和控制,例如伺服电机位置、转速、角速度、惯导数据三轴姿态角、加速度和各个传感器数据的采集和控制。
其中,控制中心建立第一预设共享内存,消息中心在与第一共享内存建立通信连接的基础上,通过监听同步控制周期信号是否到达第一预设共享内存进而实现第一预设共享内存与控制中心之间的通信进行监听。
其中,第一预设共享内存的大小通常根据ROS系统的内存合理的进行设定分配。
步骤S120,当监听到同步控制周期信号到达第一预设共享内存时,消息中心从第一预设共享内存同步读取控制中心写入的输入控制数据,并对所述输入控制数据进行数据筛选处理以得到筛选后的输入控制数据。
其中,当控制中心在将同步控制周期信号和输入控制数据写入上述第一预设共享内存时,消息中心监听到同步控制周期信号到达第一预设共享内存,此时消息中心从上述第一预设共享内存同步读取控制中心写入的输入控制数据,并对所述输入控制数据进行数据筛选处理,以得到筛选后的输入控制数据。
其中,上述消息中心在获取到伺服电机位置、转速、角速度、惯导数据三轴姿态角、加速度和各个传感器数据等输入控制数据后,还需要对上述输入控制数据进行筛选,例如对数据的有效性、取值范围以及权限进行甄别,得到筛选后的输入控制数据。
步骤S130,消息中心接收各个应用处理模块的请求信息。
步骤S140,消息中心根据各个请求信息匹配各自对应的筛选后的输入控制数据。
其中,消息中心在获取各个请求信息后,还需要进一步根据各个请求信息匹配各自对应的筛选后的输入控制数据,这是因为消息中心在得到筛选后的输入控制数据后,还需要综合考虑每个请求信息,合理的进行匹配。
例如,可首先按照请求数据名称将筛选后的输入控制数据进行匹配对应,得到匹配对应结果,然后进一步根据请求数据类型对匹配对应结果进行过滤,生成对应的过滤结果,最后可按照请求数据的优先级对过滤结果进行排序。
步骤S150,消息中心将同步控制周期信号和各个应用处理模块各自所对应的筛选后的输入控制数据写入第二预设共享内存。
其中,第二预设共享内存的大小通常根据实际的需要进行设置,消息中心与第二预设共享能够进行数据通信,消息中心在为各个请求信息匹配对应的筛选后的输入控制数据之后,进一步将同步控制周期信号和各个应用处理模块各自所对应的筛选后的输入控制数据写入第二预设共享内存。
步骤S160,当监听到同步控制周期信号到达第二预设共享内存时,各个应用处理模块同步读取对应的筛选后的输入控制数据并分别对所对应的筛选后的输入控制数据进行目标运算设置以生成各自对应的目标控制数据。
其中,各个应用处理模块在监听到同步控制周期信号到达第二预设共享内存时,同步读取对应的筛选后的输入控制数据,然后分别对所对应的筛选后的输入控制数据进行目标运算设置,最终生成各自对应的目标控制数据。
在一个实施例中,应用处理模块为步态算法处理单元,步态算法处理单元在监听到同步控制周期信号到达第二预设共享内存时,同步读取步态算法所对应的筛选后的输入控制数据,例如步态算法处理单元对应的惯导数据,然后步态算法处理单元对上述惯导数据进行目标运算设置,生成对应的目标控制数据。
步骤S170,消息中心通过消息队列接收各个应用处理模块所广播的目标控制数据,将各个应用处理模块各自对应的目标控制数据进行汇总,并将汇总后的目标控制数据和同步控制周期信号写入第一预设共享内存。
其中,消息队列作为通信载体,是十分快速的进程间通信方式,各个应用处理单元在生成各自对应的目标控制数据之后,进一步通过消息队列将各自对应的目标控制数据发送至消息中心,消息中心需要将各个应用处理模块各自对应的目标控制数据进行汇总,并在同步周期控制信号开始时,将汇总后的目标控制数据和同步控制周期信号写入第一预设共享内存。
步骤S180,当监听到同步控制周期信号到达第一预设共享内存时,控制中心同步读取对应汇总后的目标控制数据。
其中,控制中心与第一预设共享内存建立通信连接,对同步控制周期信号进行监听,在同步控制周期信号到达第一预设共享内存时,控制中心同步读取对应汇总后的目标控制数据。
上述机器人的实时通信方法,能够通过设置第一预设共享内存、第二预设共享内存以及采用消息队列的进程间通信方式,且共享内存和消息队列是最快的进程间通信方式,将同步周期控制信号和数据同步写入上述第一预设共享内存或第二预设共享内存,进而从上述第一预设共享内存或第二预设共享内存同步读取同步周期控制信号和数据,使得机器人控制中心、消息中心和各个应用处理模块在同步控制周期信号内能够互相实时进行通信,总体上提高了机器人消息的实时性。
在一个实施例中,如图2所示,步骤S110之前还包括:
步骤S190,消息中心接收控制中心发送的第一预设共享内存标识,根据第一预设共享内存标识与第一预设共享内存建立第一数据连接。
其中,控制中心创建并发送第一预设共享内存标识给消息中心,消息中心和控制中心通过第一预设共享内存进行建立快速的第一数据连接。
其中,采用共享内存是进程间最快的通信方式之一,通过建立第一数据连接,极大的提高了消息中心与控制中心之间的通信效率。
在一个实施例中,如图3所示,步骤S130之前还包括:
步骤S200,消息中心接收各个应用处理模块发送的注册请求消息,注册请求消息包括对应的应用处理模块的名称和第二预设共享内存标识。
其中,每个应用处理模块均需要在消息中心进行注册,向消息中心发送注册请求信息,注册请求消息包括对应的应用处理模块的名称和第二预设共享内存标识。
步骤S210,消息中心根据第二预设共享内存标识查找对应的第二预设共享内存并与第二预设共享内存建立第二数据连接。
其中,消息中心在获取第二预设共享内存标识后,进一步查找对应的第二预设共享内存并与第二预设共享内存建立第二数据连接。
其中,采用共享内存是进程间最快的通信方式之一,通过建立第二数据连接,极大的提高了消息中心与各个应用处理模块之间的通信效率。
在一个实施例中,如图4所示,实时通信方法还包括:
步骤S220,消息中心对第一预设共享内存和第二预设共享内存各自的占用程度分别进行监控,当对应的占用程度分别超过各自对应的预设比例阈值时,分别动态增加第一预设共享内存和第二预设共享内存各自的配额大小以满足机器人的实时通信。
通过消息中心对第一预设共享内存和第二预设共享内存各自的占用程度分别进行监控和动态调整,能够保证系统内存资源可用,且不会因为内存资源阻塞而阻塞实时进程。
在一个实施例中,请求信息中包括请求数据名称、请求数据类型和请求数据优先级,如图5所示,步骤S140包括:
步骤S142,消息中心将各个请求信息按照各自对应的请求数据优先级从大到小进行排序,得到排序后的请求信息列表。
其中,消息中心在获取各个请求信息各自对应的请求数据名称、请求数据类型和请求数据优先级之后,还需要进一步根据各个请求信息各自对应的请求数据名称、请求数据类型和请求数据优先级匹配对应的筛选后的输入控制数据,这是因为消息中心在得到筛选后的输入控制数据后,还需要综合考虑每个请求信息所对应的请求数据优先级、请求数据名称以及请求数据类型,合理的进行匹配。
其中,请求数据的优先级越高,对于机器人的控制过程越重要,此时消息中心将各个请求信息按照各自对应的请求数据优先级从大到小进行排序,得到排序后的请求信息列表,为后续的过程奠定基础。
步骤S144,消息中心根据排序后的请求信息列表、结合各个请求信息各自对应的请求数据名称和请求数据类型匹配对应的筛选后的输入控制数据。
其中,在得到上述请求信息列表之后,可进一步根据综合请求数据名称和请求数据类型匹配对应的筛选后的输入控制数据。
通过上述按照数据的优先级排序处理过程,能够进一步提升整个机器人控制的实时性。
此外,如图6所示,还提供一种机器人的实时通信方法,应用于主控器和至少一个从属控制器,主控器和各个从属控制器分别通过对应的PCI总线连接,主控器的内存区域设置有第一预设共享内存、第二预设共享内存以及分别与各个从属控制器一一对应的多个预设共享内存,主控器上设置有控制中心、消息中心和各个应用处理模块,各个从属控制器上分别设置有对应的应用处理模块,实时通信方法包括:
步骤S310,消息中心对第一预设共享内存与控制中心之间的通信进行监听。
步骤S320,当监听到同步控制周期信号到达第一预设共享内存时,消息中心从第一预设共享内存同步读取控制中心写入的输入控制数据,并对所述输入控制数据进行数据筛选处理以得到筛选后的输入控制数据。
步骤S330,消息中心接收各个应用处理模块的请求信息。
步骤S340,消息中心根据各个请求信息匹配各自对应的筛选后的输入控制数据。
步骤S350,消息中心将同步控制周期信号和主控器上设置的各个应用处理模块各自所对应的筛选后的输入控制数据写入第二预设共享内存,将同步控制周期信号和各个从属控制器上各自设置的应用处理模块所对应的筛选后的输入控制数据写入各个从属控制器各自所对应的预设共享内存。
其中,每个从属控制板分别通过对应的PCI总线连接与主控器连接,主控器在系统内存为各个从属控制板分别分配了对应的预设共享内存,以保证消息中心与各个从属控制板能够通过对应的预设共享内存建立起高效的数据连接,每个从属控制板只对应一个预设共享内存。
每个从属控制板上均设置有至少一个应用处理模块,消息中心将同步控制周期信号和主控器上设置的各个应用处理模块各自所对应的筛选后的输入控制数据写入第二预设共享内存,将同步控制周期信号和各个从属控制器上各自设置的应用处理模块所对应的筛选后的输入控制数据写入各个从属控制器各自所对应的预设共享内存。
步骤S360,当监听到同步控制周期信号到达第二预设共享内存时,主控器上设置的各个应用处理模块同步读取对应的筛选后的输入控制数据并分别对所对应的筛选后的输入控制数据进行目标运算设置以生成各自对应的目标控制数据,当监听到同步控制周期信号到达各个从属控制器各自对应的预设共享内存时,各个从属控制器上各自设置的应用处理模块同步读取对应的筛选后的输入控制数据并分别对所对应的筛选后的输入控制数据进行目标运算设置以生成各自对应的目标控制数据。
其中,主控板上设置的各个应用处理模块通过对各自对应的预设共享内存的通信进行监听,当监听到同步控制周期信号到达第二预设共享内存时,同步读取对应的筛选后的输入控制数据并分别对所对应的筛选后的输入控制数据进行目标运算设置以生成各自对应的目标控制数据。
同样地,各个从属控制器上各自设置的应用处理模块对各自对应的预设共享内存进行监听,当监听到同步控制周期信号到达各个从属控制器各自对应的预设共享内存时,同步读取对应的筛选后的输入控制数据并进行后续进一步处理。
步骤S370,消息中心通过消息队列接收各个应用处理模块所广播的目标控制数据,将各个请求信息各自对应的目标控制数据进行汇总,并将汇总后的目标控制数据和同步控制周期信号写入第一预设共享内存。
步骤S380,当监听到同步控制周期信号到达第一预设共享内存时,控制中心同步读取对应汇总后的目标控制数据。
上述机器人的实时通信方法,能够通过设置第一预设共享内存、第二预设共享内存、对应于各个从属控制板的各个预设共享内存以及采用消息队列的进程间通信方式,且共享内存和消息队列是最快的进程间通信方式,将同步周期控制信号和数据同步写入上述第一预设共享内存、第二预设共享内存以及对应于各个从属控制板的各个预设共享内存,进而从上述第一预设共享内存、第二预设共享内存以及对应于各个从属控制板的各个预设共享内存中同步读取同步周期控制信号和数据,使得机器人控制中心、消息中心和各个应用处理模块在同步控制周期信号内能够互相实时进行通信,总体上提高了机器人消息的实时性。
此外,如图7所示,还提供一种机器人的实时通信装置400,应用于单个控制器,控制器上设置有控制中心、消息中心和各个应用处理模块,实时通信装置400包括:
监控单元410,用于调用消息中心对第一预设共享内存与控制中心之间的通信进行监听;
数据读取和筛选单元420,用于当监听到同步控制周期信号到达第一预设共享内存时,调用消息中心从第一预设共享内存同步读取控制中心写入的输入控制数据,并对输入控制数据进行数据筛选处理以得到筛选后的输入控制数据;
请求接收单元430,用于调用消息中心接收各个应用处理模块的请求信息;
第一信号与数据写入单元440,用于调用消息中心根据各个请求信息匹配各自对应的筛选后的输入控制数据,并将同步控制周期信号和各个应用处理模块各自所对应的筛选后的输入控制数据写入第二预设共享内存;
目标数据生成单元450,用于当监听到同步控制周期信号到达第二预设共享内存时,通过各个应用处理模块同步读取对应的筛选后的输入控制数据并分别对所对应的筛选后的输入控制数据进行目标运算设置以生成目标控制数据;
第二信号与数据写入单元460,用于调用消息中心通过消息队列接收各个应用处理模块所广播的目标控制数据,将各个应用处理模块各自对应的目标控制数据进行汇总,并将汇总后的目标控制数据和同步控制周期信号写入第一预设共享内存;
目标数据读取单元470,用于当监听到同步控制周期信号到达第一预设共享内存时,通过控制中心同步读取对应汇总后的目标控制数据。
此外,如图8所示,还提供一种机器人的实时通信系统500,应用于单个控制器,所述实时通信系统包括控制中心510、消息中心520和各个应用处理模块530:
所述消息中心520用于对第一预设共享内存与控制中心510之间的通信进行监听;
当监听到同步控制周期信号到达所述第一预设共享内存时,所述消息中心520用于从所述第一预设共享内存同步读取所述控制中心写入的输入控制数据,并对所述输入控制数据进行数据筛选处理以得到筛选后的输入控制数据;
所述消息中心520用于接收各个应用处理模块的请求信息;
所述消息中心520用于根据各个请求信息匹配各自对应的筛选后的输入控制数据,并将所述同步控制周期信号和各个应用处理模块各自所对应的筛选后的输入控制数据写入第二预设共享内存;
当监听到所述同步控制周期信号到达所述第二预设共享内存时,各个应用处理模块530用于同步读取对应的筛选后的输入控制数据并分别对所对应的筛选后的输入控制数据进行目标运算设置以生成各自对应的目标控制数据;
所述消息中心520通过消息队列接收各个应用处理模块所广播的目标控制数据,将各个应用处理模块各自对应的目标控制数据进行汇总,并将汇总后的目标控制数据和所述同步控制周期信号写入所述第一预设共享内存;
当监听到所述同步控制周期信号到达所述第一预设共享内存时,所述控制中心510用于同步读取对应汇总后的目标控制数据。
此外,还提供一种控制器,控制器上设置上述实时通信系统。
此外,还提供一种机器人,包括存储器以及控制器,存储器用于存储计算机程序,控制器运行计算机程序以使机器人执行上述实时通信方法。
此外,还提供一种可读存储介质,可读存储介质存储有计算机程序,计算机程序在被控制器运行时执行上述实时通信方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

Claims (11)

1.一种机器人的实时通信方法,其特征在于,应用于单个控制器,所述控制器上设置有控制中心、消息中心和各个应用处理模块,所述实时通信方法包括:
所述消息中心对第一预设共享内存与控制中心之间的通信进行监听;
当监听到同步控制周期信号到达所述第一预设共享内存时,所述消息中心从所述第一预设共享内存同步读取所述控制中心写入的输入控制数据,并对所述输入控制数据进行数据筛选处理以得到筛选后的输入控制数据;
所述消息中心接收各个应用处理模块的请求信息;
所述消息中心根据各个请求信息匹配各自对应的筛选后的输入控制数据,并将所述同步控制周期信号和各个应用处理模块各自所对应的筛选后的输入控制数据写入第二预设共享内存;
当监听到所述同步控制周期信号到达所述第二预设共享内存时,各个应用处理模块同步读取对应的筛选后的输入控制数据并分别对所对应的筛选后的输入控制数据进行目标运算设置以生成各自对应的目标控制数据;
所述消息中心通过消息队列接收各个应用处理模块所广播的目标控制数据,将各个应用处理模块各自对应的目标控制数据进行汇总,并将汇总后的目标控制数据和所述同步控制周期信号写入所述第一预设共享内存;
当监听到所述同步控制周期信号到达所述第一预设共享内存时,所述控制中心同步读取对应汇总后的目标控制数据。
2.根据权利要求1所述的实时通信方法,其特征在于,所述消息中心对第一预设共享内存与控制中心之间的通信进行监听的步骤之前还包括:
所述消息中心接收控制中心发送的第一预设共享内存标识,根据所述第一预设共享内存标识与所述第一预设共享内存建立第一数据连接。
3.根据权利要求2所述的实时通信方法,其特征在于,所述消息中心接收各个应用处理模块的请求信息的步骤之前还包括:
所述消息中心接收各个应用处理模块发送的注册请求消息,所述注册请求消息包括对应的应用处理模块的名称和第二预设共享内存标识;
所述消息中心根据所述第二预设共享内存标识查找对应的第二预设共享内存并与所述第二预设共享内存建立第二数据连接。
4.根据权利要求1所述的实时通信方法,其特征在于,所述实时通信方法还包括:
所述消息中心对所述第一预设共享内存和所述第二预设共享内存各自的占用程度分别进行监控,当对应的占用程度分别超过各自对应的预设比例阈值时,分别动态增加所述第一预设共享内存和所述第二预设共享内存各自的配额大小以满足所述机器人的实时通信。
5.根据权利要求1所述的实时通信方法,其特征在于,所述请求信息包括请求数据名称、请求数据类型和请求数据优先级,所述消息中心根据各个请求信息匹配各自对应的筛选后的输入控制数据的步骤包括:
所述消息中心将各个请求信息按照各自对应的请求数据优先级从大到小进行排序,得到排序后的请求信息列表;
所述消息中心根据排序后的请求信息列表、结合各个请求信息各自对应的请求数据名称和请求数据类型匹配对应的筛选后的输入控制数据。
6.一种机器人的实时通信方法,其特征在于,应用于主控器和至少一个从属控制器,所述主控器和各个从属控制器分别通过对应的PCI总线连接,所述主控器的内存区域设置有第一预设共享内存、第二预设共享内存以及分别与各个从属控制器一一对应的多个预设共享内存,所述主控器上设置有控制中心、消息中心和各个应用处理模块,各个从属控制器上分别设置有对应的应用处理模块,所述实时通信方法包括:
所述消息中心对第一预设共享内存与控制中心之间的通信进行监听;
当监听到同步控制周期信号到达所述第一预设共享内存时,所述消息中心从所述第一预设共享内存同步读取所述控制中心写入的输入控制数据,并对所述输入控制数据进行数据筛选处理以得到筛选后的输入控制数据;
所述消息中心接收各个应用处理模块的请求信息;
所述消息中心根据各个请求信息匹配各自对应的筛选后的输入控制数据,并将所述同步控制周期信号和各个应用处理模块各自所对应的筛选后的输入控制数据写入第二预设共享内存;
所述消息中心将所述同步控制周期信号和所述主控器上设置的各个应用处理模块各自所对应的筛选后的输入控制数据写入第二预设共享内存,将所述同步控制周期信号和各个从属控制器上各自设置的应用处理模块所对应的筛选后的输入控制数据写入各个从属控制器各自所对应的预设共享内存;
当监听到所述同步控制周期信号到达所述第二预设共享内存时,所述主控器上设置的各个应用处理模块同步读取对应的筛选后的输入控制数据并分别对所对应的筛选后的输入控制数据进行目标运算设置以生成各自对应的目标控制数据,当监听到所述同步控制周期信号到达各个从属控制器各自对应的预设共享内存时,各个从属控制器上各自设置的应用处理模块同步读取对应的筛选后的输入控制数据并分别对所对应的筛选后的输入控制数据进行目标运算设置以生成各自对应的目标控制数据;
所述消息中心通过消息队列接收各个应用处理模块所广播的目标控制数据,将各个应用处理模块各自对应的目标控制数据进行汇总,并将汇总后的目标控制数据和所述同步控制周期信号写入所述第一预设共享内存;
当监听到所述同步控制周期信号到达所述第一预设共享内存时,所述控制中心同步读取对应汇总后的目标控制数据。
7.一种机器人的实时通信装置,其特征在于,应用于单个控制器,所述控制器上设置有控制中心、消息中心和各个应用处理模块,所述实时通信装置包括:
监控单元,用于调用所述消息中心对第一预设共享内存与控制中心之间的通信进行监听;
数据读取和筛选单元,用于当监听到同步控制周期信号到达所述第一预设共享内存时,调用所述消息中心从所述第一预设共享内存同步读取所述控制中心写入的输入控制数据,并对所述输入控制数据进行数据筛选处理以得到筛选后的输入控制数据;
请求接收单元,用于调用所述消息中心接收各个应用处理模块的请求信息;
第一信号与数据写入单元,用于调用所述消息中心根据各个请求信息匹配各自对应的筛选后的输入控制数据,并将所述同步控制周期信号和各个应用处理模块各自所对应的筛选后的输入控制数据写入第二预设共享内存;
目标数据生成单元,用于当监听到所述同步控制周期信号到达所述第二预设共享内存时,通过各个应用处理模块同步读取对应的筛选后的输入控制数据并分别对所对应的筛选后的输入控制数据进行目标运算设置以生成目标控制数据;
第二信号与数据写入单元,用于调用所述消息中心通过消息队列接收各个应用处理模块所广播的目标控制数据,将各个应用处理模块各自对应的目标控制数据进行汇总,并将汇总后的目标控制数据和所述同步控制周期信号写入所述第一预设共享内存;
目标数据读取单元,用于当监听到所述同步控制周期信号到达所述第一预设共享内存时,通过所述控制中心同步读取对应汇总后的目标控制数据。
8.一种机器人的实时通信系统,其特征在于,应用于单个控制器,所述实时通信系统包括控制中心、消息中心和各个应用处理模块:
所述消息中心用于对第一预设共享内存与控制中心之间的通信进行监听;
当监听到同步控制周期信号到达所述第一预设共享内存时,所述消息中心用于从所述第一预设共享内存同步读取所述控制中心写入的输入控制数据,并对所述输入控制数据进行数据筛选处理以得到筛选后的输入控制数据;
所述消息中心用于接收各个应用处理模块的请求信息;
所述消息中心用于匹配各个请求信息各自对应的筛选后的输入控制数据,并将所述同步控制周期信号和各个应用处理模块各自所对应的筛选后的输入控制数据写入第二预设共享内存
当监听到所述同步控制周期信号到达所述第二预设共享内存时,各个应用处理模块用于同步读取对应的筛选后的输入控制数据并分别对所对应的筛选后的输入控制数据进行目标运算设置以生成各自对应的目标控制数据;
所述消息中心通过消息队列接收各个应用处理模块所广播的目标控制数据,将各个应用处理模块各自对应的目标控制数据进行汇总,并将汇总后的目标控制数据和所述同步控制周期信号写入所述第一预设共享内存;
当监听到所述同步控制周期信号到达所述第一预设共享内存时,所述控制中心用于同步读取对应汇总后的目标控制数据。
9.一种控制器,其特征在于,所述控制器上设置有权利要求8所述的实时通信系统。
10.一种机器人,其特征在于,包括存储器以及控制器,所述存储器用于存储计算机程序,所述控制器运行所述计算机程序以使所述机器人执行权利要求1至6中任一项所述的实时通信方法。
11.一种可读存储介质,其特征在于,所述可读存储介质存储有计算机程序,所述计算机程序在被控制器运行时执行权利要求1至6中任一项所述的实时通信方法。
CN201911412757.0A 2019-12-31 2019-12-31 机器人的实时通信方法、装置、系统、控制器和机器人 Active CN113127218B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911412757.0A CN113127218B (zh) 2019-12-31 2019-12-31 机器人的实时通信方法、装置、系统、控制器和机器人

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911412757.0A CN113127218B (zh) 2019-12-31 2019-12-31 机器人的实时通信方法、装置、系统、控制器和机器人

Publications (2)

Publication Number Publication Date
CN113127218A CN113127218A (zh) 2021-07-16
CN113127218B true CN113127218B (zh) 2022-09-20

Family

ID=76770517

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911412757.0A Active CN113127218B (zh) 2019-12-31 2019-12-31 机器人的实时通信方法、装置、系统、控制器和机器人

Country Status (1)

Country Link
CN (1) CN113127218B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113535437B (zh) * 2021-08-03 2023-04-07 节卡机器人股份有限公司 一种机器人的模块数据交互方法、电子设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8954697B2 (en) * 2010-08-05 2015-02-10 Red Hat, Inc. Access to shared memory segments by multiple application processes
CN107483384B (zh) * 2016-06-08 2020-07-14 国家计算机网络与信息安全管理中心 一种网络数据交互方法及装置
CN106648939A (zh) * 2016-12-30 2017-05-10 上海寰视网络科技有限公司 用于进程间资源共享的方法与设备
CN107770271A (zh) * 2017-10-20 2018-03-06 南方电网科学研究院有限责任公司 集群机器人云控制方法、装置和系统
CN109933438B (zh) * 2019-01-31 2022-12-20 西南电子技术研究所(中国电子科技集团公司第十研究所) 高速共享内存数据收发系统

Also Published As

Publication number Publication date
CN113127218A (zh) 2021-07-16

Similar Documents

Publication Publication Date Title
US9634888B2 (en) Method and system for transmitting data in parallel via wireless link and wired link
CN107924388B (zh) 通用传感器和/或用于提供检测模式的传感器集群
US11595431B2 (en) Information processing apparatus, moving apparatus, and method
CN109600375B (zh) 消息跟踪方法、装置、电子设备及存储介质
CN111163130B (zh) 一种网络服务系统及其数据传输方法
CN110022260B (zh) 一种跨环境回执消息处理方法及系统
US11841942B2 (en) Anomaly detection device and anomaly detection method
CN111639127B (zh) 一种智能合约的更新方法、系统、装置及设备
CN113127218B (zh) 机器人的实时通信方法、装置、系统、控制器和机器人
CN111447166B (zh) 车辆攻击检测方法及装置
US20190384771A1 (en) Extracting device, extracting method and storage medium, and abnormality detecting device and abnormality detecting method
CN105302766B (zh) 嵌入式控制器可重新配置的处理器间通信的机构和装置
EP3748913A1 (en) Link bandwidth utilization rate acquisition method and device, and terminal
CN107566543B (zh) 一种节点标识设置方法和装置
CN113296061A (zh) 一种同步脉冲信号的传输方法、系统和电子设备
EP3499848A1 (en) Onboard system and control method of the same
CN111562973A (zh) 一种地图数据任务执行方法及电子设备
CN116303456A (zh) 工业数据处理方法、系统、装置及计算机可读存储介质
CN111586636A (zh) 基于混合交通流状态下的自动驾驶车辆快速通信方法、设备、存储介质
CN115437761A (zh) 调度器的仿真方法、电子设备和存储介质
CN114564286B (zh) 一种规则引擎告警方法及规则引擎告警系统
CN112740579B (zh) 数据传输方法、装置及相关设备
CN111443683B (zh) 基于车辆can总线结构的电子控制单元测试方法及装置
CN111782271A (zh) 一种软硬件交互方法及装置、存储介质
CN111475659B (zh) 输入数据制作装置及输入数据制作方法

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231122

Address after: Room 601, 6th Floor, Building 13, No. 3 Jinghai Fifth Road, Beijing Economic and Technological Development Zone (Tongzhou), Daxing District, Beijing, 100176

Patentee after: Beijing Youbixuan Intelligent Robot Co.,Ltd.

Address before: 518000 16th and 22nd Floors, C1 Building, Nanshan Zhiyuan, 1001 Xueyuan Avenue, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: Shenzhen UBTECH Technology Co.,Ltd.