CN114253604A - 基于ros2提高机器人计算性能的方法以及机器人 - Google Patents
基于ros2提高机器人计算性能的方法以及机器人 Download PDFInfo
- Publication number
- CN114253604A CN114253604A CN202111342665.7A CN202111342665A CN114253604A CN 114253604 A CN114253604 A CN 114253604A CN 202111342665 A CN202111342665 A CN 202111342665A CN 114253604 A CN114253604 A CN 114253604A
- Authority
- CN
- China
- Prior art keywords
- ros2
- module
- instruction information
- robot
- core 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000004364 calculation method Methods 0.000 title abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 91
- 230000003993 interaction Effects 0.000 claims abstract description 42
- 230000005540 biological transmission Effects 0.000 claims abstract description 25
- 230000000875 corresponding effect Effects 0.000 claims abstract description 18
- 230000008569 process Effects 0.000 claims description 7
- 238000012423 maintenance Methods 0.000 claims description 3
- 230000017525 heat dissipation Effects 0.000 claims description 2
- 230000009191 jumping Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000001816 cooling Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000009849 deactivation Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 101150054987 ChAT gene Proteins 0.000 description 1
- 101100203187 Mus musculus Sh2d3c gene Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Manipulator (AREA)
Abstract
本发明公开了一种基于ROS2提高机器人计算性能的方法以及高计算性能机器人,机器人包括:用户交互模块,用于采集用户的指令信息,将所述指令信息发送给核心处理模块;核心处理模块,用于接收所述指令信息并进行处理,将处理后的控制信息发送给嵌入式执行模块;嵌入式执行模块,用于接收所述控制信息,根据所述控制信息执行相应的动作;其中,用户交互模块、核心处理模块以及嵌入式执行模块内部均设置ROS2系统,各个模块根据ROS2系统进行数据交互。根据本公开实施例提供的高计算性能机器人,解决了机器人全系统中消息传输的服务质量需求,解决了跨平台间传输信息需要定义复杂接口的问题,同时从各个方面提升吞吐量、提升计算性能、降低资源开销和时延。
Description
技术领域
本发明涉及机器人技术领域,特别涉及一种基于ROS2提高机器人计算性能的方法以及机器人。
背景技术
随着科技的发展进步,计算机技术和人工智能技术得到飞速发展,智能机器人的运用领域越来越广泛,在生活中也广泛地运用了智能机器人。在智能机器人领域,人们或关注于如何将现有的人工智能算法在机器人上应用,或关注于如何做好机器人的硬件设计和控制,但是鲜有解决机器人计算性能的方案。
因此,如何高效的使机器人进行计算,使得机器人能够实时的反馈用户指令,提高用户的体验,是本领域技术人员亟待解决的技术问题。
发明内容
本公开实施例提供了一种基于ROS2提高机器人计算性能的方法以及机器人。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
第一方面,本公开实施例提供了一种基于ROS2的高计算性能机器人,包括:
用户交互模块,用于采集用户的指令信息,将指令信息发送给核心处理模块;
核心处理模块,用于接收指令信息并进行处理,将处理后的控制信息发送给嵌入式执行模块;
嵌入式执行模块,用于接收控制信息,根据控制信息执行相应的动作;
其中,用户交互模块、核心处理模块以及嵌入式执行模块内部均设置ROS2系统,各个模块根据ROS2系统进行数据交互。
在一个可选地实施例中,用户交互模块包括第一控制单元以及与第一控制单元相连接的语音处理单元、触摸显示单元,第一控制单元通过以太网接口与核心处理模块相连。
在一个可选地实施例中,核心处理模块包括第二控制单元以及与第二控制单元相连接的散热风扇、图像传感器,第二控制单元通过以太网接口与嵌入式执行模块相连。
在一个可选地实施例中,嵌入式执行模块包括第三控制单元以及与第三控制单元相连接的雷达测距传感器、超声波测距传感器、电机、里程计以及惯性传感器。
第二方面,本公开实施例提供了一种基于ROS2提高机器人计算性能的方法,包括:
在机器人的用户交互模块、核心处理模块以及嵌入式执行模块内部均设置ROS2系统;
用户交互模块、核心处理模块以及嵌入式执行模块根据ROS2系统进行数据交互。
在一个可选地实施例中,用户交互模块、核心处理模块以及嵌入式执行模块根据ROS2系统进行数据交互,包括:
用户交互模块接收用户的指令信息,将指令信息采用ROS2消息的方式发送给核心处理模块;
核心处理模块根据指令信息进行处理,将处理后的控制信息采用ROS2消息的方式发送给嵌入式执行模块;
嵌入式执行模块根据控制信息执行相应的动作。
在一个可选地实施例中,将指令信息采用ROS2消息的方式发送给核心处理模块,包括:
通过ROS2节点接收指令信息;
判断指令信息对应的需求类型;
根据指令信息对应的需求类型配置不同的消息处理策略;
根据消息处理策略对指令信息进行处理,将处理后的指令信息发送给核心处理模块。
在一个可选地实施例中,根据指令信息对应的需求类型配置不同的消息处理策略,包括:
当指令信息的需求类型为可靠传输、逐个处理时,ROS2节点中的传输模式采用服务质量中的可靠交付配置策略,对应底层的TCP传输模式;ROS2节点中的消息队列采用服务质量中的全部保持配置策略,将队列长度设为无限长,按照输入的时间先后顺序进行排队,逐个处理指令信息;
当指令信息的需求类型为实时性、低时延、可丢包时,ROS2节点中的传输模式采用服务质量中最大努力交付配置策略,对应底层的UDP传输模式;ROS2节点中的消息队列采用服务质量中先入先出配置策略,将超出预设队列长度的过期数据丢弃。
在一个可选地实施例中,核心处理模块根据接收到的指令信息进行处理,包括:
通过ROS2节点将指令的执行状态分为初始化、待配置、待激活、已激活、去激活以及退出;
在状态跳转的同时配置完成该状态所需的数据资源,在指令完成后删除所需的数据资源。
在一个可选地实施例中,在状态跳转的同时配置完成该状态所需的数据资源之后,还包括:
根据指令信息确定用户的意图;
判断意图是否属于预设的高实时性意图类别;
将属于高实时性意图类别的数据在本地计算。
本公开实施例提供的技术方案可以包括以下有益效果:
本公开实施例提供的机器人,主要由用户交互模块、核心处理模块、嵌入式执行模块三部分组成,三个不同平台的模块都使用ROS2系统,平台之间使用ROS2传递消息,且使用千兆以太网以提升消息传输能力,降低传输时延,从硬件上保证机器人的实时性、可靠性需求。
而且,使用ROS2中关于生命周期管理的技术进行资源的释放和加载,以保证足够的资源响应当前指令,使用ROS2中关于服务质量的技术,从软件层面保证消息传输的实时性和可靠性。极大的提升了机器人的计算性能以及用户的体验,简化了跨平台信息的交换方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种机器人的结构示意图;
图2是根据一示例性实施例示出的一种机器人的硬件组成示意图;
图3是根据一示例性实施例示出的一种机器人系统的数据流图;
图4是根据一示例性实施例示出的一种基于ROS2提高机器人计算性能的方法流程示意图;
图5是根据一示例性实施例示出的一种用户交互模块、核心处理模块以及嵌入式执行模块的数据交互示意图;
图6是根据一示例性实施例示出的一种计算机存储介质的示意图。
具体实施方式
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本发明的一些方面相一致的系统和方法的例子。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
实施例一:
本实施例主要提出了一种基于ROS2的高计算性能机器人,主要通过ROS2技术的相关应用,提升机器人对用户指令处理的实时性。ROS2可以使用有线或无线局域网传输消息。图1是根据一示例性实施例示出的一种机器人的结构示意图,如图1所示,该机器人包括用户交互模块,硬件主要安装在智能机器人的头部位置,包括核心处理模块,硬件主要安装在智能机器人的上半身位置,还包括嵌入式执行模块,硬件主要安装在智能机器人的四肢和下半身位置。各内部模块都设有ROS2系统,模块之间都使用有线网络连接,同时使用ROS2节点发布和接收各模块间、模块内部的消息。
在一个实施例中,机器人的各模块的硬件组成如图2所示,参见图2,智能机器人包括用户交互模块,用户交互模块包括第一控制单元以及与第一控制单元相连接的语音处理单元、触摸显示单元,第一控制单元通过以太网接口与核心处理模块相连,用于采集用户的指令信息,将指令信息发送给核心处理模块。
在一种可能的实现方式中,第一控制单元为安卓板,语音处理单元为麦克风阵列,触摸显示单元为触摸显示屏,将安卓板与麦克风阵列使用USB连接,用于获取用户的语音指令信息,将安卓板与触摸显示屏连接,用于获取用户的非语音指令信息,例如获取用户输入的文字信息,安卓板还与核心处理模块使用千兆以太网口连接,用于向核心处理模块发送数据。
本实施例中的用户交互模块内设置了ROS2系统,通过ROS2节点接收用户的指令信息,并将接收到的指令信息以ROS2消息的方式发送给核心处理模块。
机器人还包括核心处理模块,核心处理模块包括第二控制单元以及与第二控制单元相连接的散热风扇、图像传感器,第二控制单元通过以太网接口与嵌入式执行模块相连,用于接收指令信息并进行处理,将处理后的控制信息发送给嵌入式执行模块。
在一种可能的实现方式中,第二控制单元为一种高性能计算机,高性能计算机的CPU采用Intel 10代I9系列,GPU选用高于2080Ti的系列,内存大于32G,同时配有水冷风扇以达到散热效果,连接有图像传感器等。核心处理模块与用户交互模块采用千兆以太网连接,与嵌入式执行模块也采用千兆以太网进行连接,还可与云服务器采用无线千兆网络连接,当遇到计算量庞大的数据时,可通过云服务器进行计算,当遇到实时性要求较高的数据时,可采用本地的高性能计算机进行计算,通过本实施例中的高性能计算机,可以提高机器人的计算性能。
本实施例中的核心处理模块内也设置了ROS2系统,通过ROS2节点接收用户的指令信息,然后对接收到的指令信息进行处理,将处理后的控制信息通过ROS2消息的方式发送给嵌入式执行模块,或者反馈给用户交互模块。
机器人还包括嵌入式执行模块,嵌入式执行模块包括第三控制单元,其中,第三控制单元可为采用stm32的异构双核处理器,以及与第三控制单元相连接的雷达测距传感器、超声波测距传感器、电机、里程计以及惯性传感器,用于接收核心处理模块的控制信息,根据控制信息执行相应的动作。
本公开实施例提供的高计算性能机器人,通过在内部的各个模块中都设置ROS2系统,使用ROS2节点发布和接收各模块间、模块内部的消息,解决了机器人全系统中消息传输的服务质量需求,解决了跨平台间传输信息需要定义复杂接口的问题,同时使用千兆以太网以提升消息的传输能力,降低传输时延,从硬件上保证机器人的实时性、可靠性需求。
实施例二:
本公开实施例提供了一种基于ROS2提高机器人计算性能的方法,图4是根据一示例性实施例示出的一种基于ROS2提高机器人计算性能的方法流程示意图,如图4所示,方法包括以下步骤。
S401在机器人的用户交互模块、核心处理模块以及嵌入式执行模块内部均设置ROS2系统。
S402用户交互模块、核心处理模块以及嵌入式执行模块根据ROS2系统进行数据交互。
进一步地,如图5所示,用户交互模块、核心处理模块以及嵌入式执行模块根据ROS2系统进行数据交互,包括:
S501用户交互模块接收用户的指令信息,将指令信息采用ROS2消息的方式发送给核心处理模块。
在一种可能的实现方式中,用户交互模块主要包括安卓系统以及ROS2系统,安卓系统通过麦克风阵列可以获取用户的语音信息,通过语音识别模块识别用户的语音,得到用户的指令信息,还可以通过触摸显示屏获取用户的非语音信息,例如,获取用户输入的文字信息、图像信息等。
进一步地,将用户指令使用ROS2消息的方式传递给核心处理模块,基于ROS2的消息使用ROS2中的节点发送,并且在收到用户的指令信息后,还包括根据ROS2节点配置消息的处理策略,以进一步提高服务质量,满足实时性、可靠性的需求。
在一个实施例中,将用户输入的指令信息包装成一个ROS2的消息,采用ROS2的节点将信息发布出去。同时使用ROS2节点侦听发送给安卓模块的消息,收到消息后进行相关的处理判断,消息输入速度大于安卓系统处理信息的速度时,按照输入时间的先后顺序进行排队,然后判断指令信息对应的需求类型,根据指令信息对应的需求类型配置不同的消息处理策略,根据消息处理策略对指令信息进行处理,将处理后的指令信息发送给核心处理模块。
其中,根据指令信息对应的需求类型配置不同的消息处理策略,包括:
当指令信息的需求类型为可靠传输、逐个处理时,例如用户输入的控制指令,为保证可靠性,在传输策略上,ROS2节点中的传输模式采用服务质量中的可靠交付配置策略,对应底层的TCP传输模式,保证消息的可靠传输,ROS2节点中的消息队列采用服务质量中的全部保持配置策略,将队列长度设为无限长,按照输入的时间先后顺序进行排队,逐个处理指令信息。
当指令信息的需求类型为实时性、低时延、可丢包时,例如核心处理模块反馈处理完成后的图像信息,安卓板收到后展示给用户,此类消息的需求为实时性,低时延,可容忍适当的丢包。ROS2节点中的传输模式采用服务质量中最大努力交付配置策略,对应底层的UDP传输模式,该模式不保障可靠交付,但能保证较低的时延。同时,过期的数据已无展示给用户的需求,因此,ROS2节点中的消息队列采用服务质量中先入先出配置策略,设定一个较为合适的队列长度,按照先入先出的原则将超出预设队列长度的过期数据丢弃,保持一个固定的队列长度。
通过在ROS2节点中配置不同的消息处理模式,可以根据消息的不同需求,提供不同质量的服务,从而充分使用资源,实现高性能的服务。
S502核心处理模块根据指令信息进行处理,将处理后的控制信息采用ROS2消息的方式发送给嵌入式执行模块。
在一个实施例中,核心处理模块可以根据内部的高性能计算机对指令信息进行处理,在处理不同的指令时,核心处理模块可以根据当前所需的资源,采用ROS2中生命周期的资源管理方法,对计算所需的资源进行管理,快速的释放当前不需要的资源,加载需要的资源,保障当前指令所需的资源最大化,保障计算速度和实时性、可靠性的要求。
机器人需要针对用户的指令做各种处理和计算,不同的指令所需要的资源不同,但机器人核心处理模块的硬件资源有限,将所有的模块都加载起来,必然导致内存及CPU/GPU的占用过度,计算速度大幅度下降,因此,采用ROS2的生命周期管理机制,可以在需要的时候加载合适的资源,释放暂时不需要的资源,保障当前指令能被完整快速实现。
具体地,通过ROS2节点将指令的执行状态分为初始化、待配置、待激活、已激活、去激活以及退出等几个状态,在状态跳转的同时配置完成该状态所需的数据资源,在指令完成后删除所需的数据资源。例如,在配置的时候加载模型,在激活的时候激活相关的配置,在去激活的时候删除相关配置,在退出的时候释放所加载的模型,同时释放所占用的CPU/GPU/内存资源,以保证机器人有足够的资源响应用户的指令。
在一个示例性场景中,机器人需要按照用户的指令到达某个地方,然后找到某个人。按照需求,第一步即走到指定位置,也即在收到指令后,需要配置导航模块。具体的,在节点初始化的时候实例化导航相关的模块,在节点待配置的时候配置导航相关的地图、规划器等,在节点激活的时候给与用户反馈,然后根据用户的指令规划路径,到达指定地点以后,节点进入去激活状态,释放相关的地图和规划器,在退出状态删除导航相关模块,释放所占用的CPU/内存等资源。到达某个具体位置后,需要进行人脸识别功能,识别指定的用户,此时,在初始化的时候实例化人脸识别及图像发布的模块,在待配置阶段加载人脸识别模型,在待激活时做图像消息的订阅,从而进行人脸识别,找到指定人以后,在去激活阶段取消订阅图像,在退出的阶段删除人脸识别模型,删除实例,释放所占用的CPU/GPU/内存资源。
ROS2节点通过采用生命周期的资源管理模式,可以快速的释放当前不需要的资源,加载需要的资源,保障当前指令所需的资源最大化,保障计算速度和实时性、可靠性的要求。
为了进一步提高本实施例中机器人的计算性能,在收到用户的指令信息之后,还包括结合自然语言处理算法识别用户的意图,判断意图是否属于预设的高实时性意图类别,例如用户的意图是询问当前的场所信息,属于实时问答意图类别,对实时性的要求较高,将属于高实时性意图类别的数据在本地高性能计算机上进行计算。对于计算量庞大的指令,使用云服务器进行计算。针对计算所需要的数据,在传递时使用ROS2中内部通信的方式,通过共享内存降低资源开销,减少数据拷贝的开销。得到计算结果后按照预设的逻辑进行处理,或反馈给用户,或下发到嵌入式执行模块,执行相应的动作。
S503嵌入式执行模块根据控制信息执行相应的动作。
嵌入式执行模块主要使用嵌入式软件相关技术,高性能的异构双核嵌入式执行系统,同时移植了ROS2系统以及UCOS实时操作系统,与核心处理模块之间,使用ROS2的节点传输数据,简化了传统嵌入式与核心处理模块之间信息传输的接口定义。当接收到控制信息之后,可以采用实时操作系统控制外围设备,例如,控制电机抬起机器人的手臂,结合雷达导航、超声波测距模块控制机器人行走到指定位置。
图3是根据一示例性实施例示出的一种机器人系统的数据流图,如图3所示,用户可以将语音、文字等指令信息下发到用户交互模块,用户交互模块可以对指令信息进行预处理,将预处理后的指令信息发送到核心处理模块,核心处理模块可以接收外部的图像传感器数据,并对指令信息进行计算,根据预设的控制逻辑将结果反馈给用户交互模块,再反馈给用户,也可以将结果反馈给嵌入式执行模块,嵌入式执行模块结合各类传感器的数据以及反馈的执行信息,将运动指令发送给运动单元,控制机器人运动,将控制指令反馈给核心处理模块,核心处理模块根据控制指令执行反馈,将结果反馈给用户。
通过以上各系统的协作,智能机器人可以完成导航避障、人脸识别、抓取物体、聊天交互等功能,高效的、可靠的完成用户指令,满足用户的需求。且该机器人模块分明,跨安卓、Linux、嵌入式三种平台,易于部署和维护,充分满足了软件质量的功能性、可靠性、易用性、效率、维护性以及可移植性等6大特点。
本申请实施例还提供一种与前述实施例所提供的基于ROS2提高机器人计算性能的方法对应的计算机可读存储介质,请参考图6,其示出的计算机可读存储介质为光盘600,其上存储有计算机程序(即程序产品),计算机程序在被处理器运行时,会执行前述任意实施例所提供的基于ROS2提高机器人计算性能的方法。
需要说明的是,计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的基于ROS2提高机器人计算性能的方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于ROS2的高计算性能机器人,其特征在于,包括:
用户交互模块,用于采集用户的指令信息,将所述指令信息发送给核心处理模块;
核心处理模块,用于接收所述指令信息并进行处理,将处理后的控制信息发送给嵌入式执行模块;
嵌入式执行模块,用于接收所述控制信息,根据所述控制信息执行相应的动作;
其中,所述用户交互模块、核心处理模块以及嵌入式执行模块内部均设置ROS2系统,各个模块根据所述ROS2系统进行数据交互。
2.根据权利要求1所述的机器人,其特征在于,所述用户交互模块包括第一控制单元以及与所述第一控制单元相连接的语音处理单元、触摸显示单元,所述第一控制单元通过以太网接口与所述核心处理模块相连。
3.根据权利要求1所述的机器人,其特征在于,所述核心处理模块包括第二控制单元以及与所述第二控制单元相连接的散热风扇、图像传感器,所述第二控制单元通过以太网接口与所述嵌入式执行模块相连。
4.根据权利要求1所述的机器人,其特征在于,所述嵌入式执行模块包括第三控制单元以及与所述第三控制单元相连接的雷达测距传感器、超声波测距传感器、电机、里程计以及惯性传感器。
5.一种基于ROS2提高机器人计算性能的方法,其特征在于,包括:
在机器人的用户交互模块、核心处理模块以及嵌入式执行模块内部均设置ROS2系统;
所述用户交互模块、核心处理模块以及嵌入式执行模块根据所述ROS2系统进行数据交互。
6.根据权利要求5所述的方法,其特征在于,所述用户交互模块、核心处理模块以及嵌入式执行模块根据所述ROS2系统进行数据交互,包括:
所述用户交互模块接收用户的指令信息,将所述指令信息采用ROS2消息的方式发送给核心处理模块;
所述核心处理模块根据所述指令信息进行处理,将处理后的控制信息采用ROS2消息的方式发送给嵌入式执行模块;
所述嵌入式执行模块根据所述控制信息执行相应的动作。
7.根据权利要求6所述的方法,其特征在于,将所述指令信息采用ROS2消息的方式发送给核心处理模块,包括:
通过ROS2节点接收所述指令信息;
判断所述指令信息对应的需求类型;
根据所述指令信息对应的需求类型配置不同的消息处理策略;
根据所述消息处理策略对所述指令信息进行处理,将处理后的指令信息发送给核心处理模块。
8.根据权利要求7所述的方法,其特征在于,根据所述指令信息对应的需求类型配置不同的消息处理策略,包括:
当所述指令信息的需求类型为可靠传输、逐个处理时,ROS2节点中的传输模式采用服务质量中的可靠交付配置策略,对应底层的TCP传输模式;ROS2节点中的消息队列采用服务质量中的全部保持配置策略,将队列长度设为无限长,按照输入的时间先后顺序进行排队,逐个处理所述指令信息;
当所述指令信息的需求类型为实时性、低时延、可丢包时,ROS2节点中的传输模式采用服务质量中最大努力交付配置策略,对应底层的UDP传输模式;ROS2节点中的消息队列采用服务质量中先入先出配置策略,将超出预设队列长度的过期数据丢弃。
9.根据权利要求6所述的方法,其特征在于,所述核心处理模块根据接收到的所述指令信息进行处理,包括:
通过ROS2节点将指令的执行状态分为初始化、待配置、待激活、已激活、去激活以及退出;
在状态跳转的同时配置完成该状态所需的数据资源,在指令完成后删除所需的数据资源。
10.根据权利要求9所述的方法,其特征在于,在状态跳转的同时配置完成该状态所需的数据资源之后,还包括:
根据所述指令信息确定用户的意图;
判断所述意图是否属于预设的高实时性意图类别;
将属于高实时性意图类别的数据在本地计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111342665.7A CN114253604A (zh) | 2021-11-12 | 2021-11-12 | 基于ros2提高机器人计算性能的方法以及机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111342665.7A CN114253604A (zh) | 2021-11-12 | 2021-11-12 | 基于ros2提高机器人计算性能的方法以及机器人 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114253604A true CN114253604A (zh) | 2022-03-29 |
Family
ID=80790780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111342665.7A Pending CN114253604A (zh) | 2021-11-12 | 2021-11-12 | 基于ros2提高机器人计算性能的方法以及机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114253604A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115933494A (zh) * | 2022-12-28 | 2023-04-07 | 睿尔曼智能科技(北京)有限公司 | 面向机器人的嵌入式同构多核控制系统 |
-
2021
- 2021-11-12 CN CN202111342665.7A patent/CN114253604A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115933494A (zh) * | 2022-12-28 | 2023-04-07 | 睿尔曼智能科技(北京)有限公司 | 面向机器人的嵌入式同构多核控制系统 |
CN115933494B (zh) * | 2022-12-28 | 2023-11-07 | 睿尔曼智能科技(北京)有限公司 | 面向机器人的嵌入式同构多核控制系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113950066B (zh) | 移动边缘环境下单服务器部分计算卸载方法、系统、设备 | |
CN110347500A (zh) | 用于边缘计算环境中面向深度学习应用的任务卸载方法 | |
US12001681B2 (en) | Distributed storage system and data processing method | |
CN113032120B (zh) | 一种基于边缘计算的工业现场大数据任务协同调度方法 | |
Zhang et al. | Edgebatch: Towards ai-empowered optimal task batching in intelligent edge systems | |
Yuan et al. | Online dispatching and fair scheduling of edge computing tasks: A learning-based approach | |
CN112650585A (zh) | 一种新型边缘-云协同边缘计算平台、方法及存储介质 | |
CN108319359A (zh) | 一种基于微云的能耗优化方法 | |
CN114253604A (zh) | 基于ros2提高机器人计算性能的方法以及机器人 | |
CN116886703A (zh) | 一种基于优先级和强化学习的云边端协作计算卸载方法 | |
Kazmi et al. | A novel deep reinforcement learning-based approach for task-offloading in vehicular networks | |
CN111309488A (zh) | 无人机集群的计算资源共享方法与系统及计算机存储介质 | |
Wang et al. | Priority-oriented trajectory planning for UAV-aided time-sensitive IoT networks | |
Tao et al. | Drl-driven digital twin function virtualization for adaptive service response in 6g networks | |
Mu et al. | Deep reinforcement learning based adaptive threshold multi-tasks offloading approach in mec | |
CN116197919B (zh) | 机器人控制系统及控制方法 | |
Badawy et al. | New approach to enhancing the performance of cloud-based vision system of mobile robots | |
CN115065683B (zh) | 基于车辆聚类的车辆边缘网络任务分配卸载方法 | |
CN115022188B (zh) | 一种电力边缘云计算网络中的容器放置方法及系统 | |
CN110532033A (zh) | 一种数据处理系统和数据处理方法 | |
Raj et al. | Scheduling dnn inferencing on edge and cloud for personalized uav fleets | |
Chen et al. | Distributed computation offloading using deep reinforcement learning in internet of vehicles | |
Jabour et al. | An optimized approach for efficient-power and low-latency fog environment based on the PSO algorithm | |
CN112887347B (zh) | 一种工业互联网中边缘计算动态迁移方法和装置 | |
KR20200096102A (ko) | 연산 모델의 병렬적 처리 |
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 |