一种机器人与算力动态分配方法与流程
本技术涉及机器人,尤其涉及一种机器人与算力动态分配方法。
背景技术:
1、随着机器人等具身智能终端的快速普及,低成本、低功耗的嵌入式主板成为主流硬件方案。这类终端需同时并发运行相机采集、人脸识别、云台控制、底盘运动、slam 导航等多类型业务任务,尤其在用户跟随这一核心家庭具身移动场景下,多任务高频并发对算力调度的实时性与稳定性提出了严苛要求。然而当前低成本家庭机器人普遍面临算力资源紧张与调度效率低下的矛盾,强实时业务与弱实时后台任务无序抢占算力,易出现云台卡顿、底盘行走抖动、人脸识别帧率骤降等问题,严重影响用户体验。
2、为解决上述问题,可以构建通用的算力复用架构,以通过算力资源的动态分配提升利用效率。例如,linux 原生操作系统提供了基础的进程优先级调度机制,可实现 cpu资源的初步分配。
3、通用的算力复用架构的优势在于普适性高,但与此相对的,对于家用低成本机器人的专属业务链路与异构硬件特性,通用的算力复用架构难以实现深度协同优化,导致低算力与高频并发任务带来的算力需求出现冲突,进而容易导致机器人频繁出现系统卡顿的问题。
技术实现思路
1、本技术实施例提供一种机器人与算力动态分配方法,以解决通用的算力复用架构难以实现深度协同优化,导致低算力与高频并发任务带来的算力需求出现冲突,进而容易导致机器人频繁出现系统卡顿的问题。
2、第一方面,本技术实施例提供一种机器人,包括:
3、控制器,被配置为:
4、获取系统负载数据;所述系统负载数据由所述控制器包含的子控制器的负载值确定;
5、根据所述系统负载数据和负载等级映射关系,确定目标负载等级;其中,所述负载等级映射关系包括所述系统负载数据与负载等级的对应关系;所述负载等级包括第一负载等级、第二负载等级和第三负载等级,所述第一负载等级对应的系统负载低于所述第二负载等级对应的系统负载,所述第二负载等级对应的系统负载低于所述第三负载等级对应的系统负载;
6、基于所述目标负载等级,对当前运行的多个任务执行与所述目标负载等级对应的分配策略,以使所述多个任务中的强实时优先级任务优先获得计算资源;所述多个任务包括强实时优先级任务、弱实时优先级任务和后台优先级任务。
7、这样,控制器通过获取由子控制器负载值确定的系统负载数据,能够综合反映机器人异构硬件的实际计算压力,而非仅依赖单一维度的负载指标。基于确定的目标负载等级,控制器对当前运行的多个任务执行与该负载等级对应的分配策略,确保强实时优先级任务在各种负载状态下均优先获得计算资源,从而在算力紧张时优先保障核心实时业务的响应性能,在算力充裕时兼顾弱实时任务和后台任务的执行。这种基于负载等级的分级分配机制,使机器人能够根据实际算力状况动态调整任务执行策略,有效平衡了算力资源的分配效率与系统的运行稳定性,避免了强实时业务与弱实时后台任务的无序抢占,显著减少云台卡顿、底盘行走抖动、人脸识别帧率骤降等系统卡顿问题,提升了机器人在多任务并发场景下的实时响应能力与用户体验。
8、在一些可行的实施例中,所述控制器执行获取系统负载数据之前,还被配置为:
9、根据预设的结构化配置文件识别所述当前运行的多个任务的业务类型,其中,所述结构化配置文件包括各任务的节点名称、节点依赖关系、业务类型描述和优先级属性字段;所述优先级属性字段用于确定各任务的优先级,以及用于确定各任务的优先级是否可调整;
10、根据所述业务类型和优先级属性字段,为每个任务分配优先级标识;所述优先级属性字段包括优先级标识、动态标识和静态标识;所述优先级标识用于表征所述任务的优先级;所述动态标识用于表征所述任务的优先级在执行过程中可变,所述静态标识用于表征所述任务的优先级在执行过程中不变;
11、根据所述结构化配置文件中的节点名称和节点依赖关系,构建任务依赖关系图;所述任务依赖关系图用于确定所述多个任务的执行顺序和恢复顺序。
12、这样,控制器在获取系统负载数据之前,通过结构化配置文件对当前运行的多个任务进行预识别和预分类,将任务的业务类型、节点依赖关系和优先级属性等关键信息以结构化的方式统一管理。通过业务类型和优先级属性字段为每个任务分配优先级与优先级标识,其中动态标识和静态标识的区分使得系统可以灵活处理不同类型任务的优先级调整需求,既保证了强实时任务的优先级稳定性,又允许弱实时任务在特定条件下进行优先级动态调整。此外,通过节点名称和节点依赖关系构建任务依赖关系图,明确了任务之间的执行约束和恢复约束,为后续的分配策略执行和任务恢复提供了可靠的顺序依据,避免了因任务间依赖关系未考虑而导致的执行错误或数据不一致。
13、在一些可行的实施例中,所述控制器执行基于所述目标负载等级,对当前运行的多个任务执行与所述目标负载等级对应的分配策略,具体被配置为:
14、当所述目标负载等级为所述第一负载等级时,确定所述多个任务中优先级为后台优先级的至少一个第一目标任务;
15、暂停所述至少一个第一目标任务的执行,以释放所述第一目标任务占用的计算资源。
16、这样,当系统负载处于第一负载等级时,控制器仅暂停后台优先级的任务,释放其占用的计算资源供强实时优先级任务和弱实时优先级任务使用。由于后台优先级任务对实时性的要求最低,暂停后台任务对用户感知的影响最小,而释放的计算资源能够有效缓解轻度过载状态下的算力紧张问题,使得强实时任务和弱实时任务能够保持正常运行。
17、在一些可行的实施例中,所述控制器还被配置为:
18、当所述目标负载等级为所述第二负载等级时,确定所述多个任务中优先级为弱实时优先级的至少一个第二目标任务;
19、在所述至少一个第一目标任务已暂停的基础上,暂停所述至少一个第二目标任务的执行,以保持强实时优先级的任务持续运行。
20、这样,当系统负载处于第二负载等级时,控制器在已经暂停后台优先级任务的基础上,进一步暂停弱实时优先级任务,将释放的计算资源全部集中供给强实时优先级任务使用。由于第二负载等级对应的系统负载显著高于第一负载等级,仅暂停后台任务已不足以缓解算力紧张,需要进一步暂停弱实时任务以保障核心实时业务的稳定运行。此策略确保了中度过载场景下强实时优先级任务仍能持续运行,避免云台控制、底盘运动等核心实时业务因算力不足而出现卡顿或抖动,同时通过逐级递进的暂停方式,最大限度保留了系统在当前负载等级下可执行的任务范围,保障了机器人在中度过载场景下的核心功能稳定性。
21、在一些可行的实施例中,所述控制器还被配置为:
22、当所述目标负载等级为所述第三负载等级时,确定所述多个任务中除优先级为强实时优先级之外的全部非强实时优先级任务;
23、暂停所述全部非强实时优先级任务的执行,并生成过载告警信息。
24、这样,当系统负载处于第三负载等级即最高负载等级时,控制器暂停全部非强实时优先级任务,将所有可用计算资源集中于强实时优先级任务的执行,确保核心实时业务在极端过载条件下仍能维持最低限度的运行。同时,控制器生成过载告警信息,及时提示系统当前处于严重过载状态,以便运维人员或上层应用采取进一步措施。
25、在一些可行的实施例中,所述控制器还被配置为:
26、在所述系统负载数据下降至低于所述第一负载等级对应的负载阈值时,按照预设的恢复优先级顺序,恢复执行被暂停的所述非强实时优先级任务。
27、这样,控制器在系统负载数据下降至低于第一负载等级对应的负载阈值时,按照预设的恢复优先级顺序逐步恢复被暂停的非强实时优先级任务,实现了算力资源的动态回收利用。当系统负载从高负载状态恢复至低负载状态后,之前为保障强实时任务而暂停的弱实时任务和后台任务可以被重新调度执行,使系统逐步恢复完整的业务功能。按照恢复优先级顺序进行恢复,避免了所有被暂停任务同时恢复导致的负载骤增和二次过载问题,确保系统在恢复过程中始终保持负载稳定,有效提升了算力资源的利用效率和系统功能的完整性,使机器人能够在负载波动场景下自适应地调整任务执行状态,保障持续稳定的多任务并发运行。
28、在一些可行的实施例中,所述控制器执行在所述系统负载数据下降至低于所述第一负载等级对应的负载阈值时,按照预设的恢复优先级顺序,恢复执行被暂停的所述非强实时优先级任务,具体被配置为:
29、在确认所述系统负载数据稳定的条件下,恢复优先级为弱实时优先级的被暂停任务;
30、在确认所述系统负载数据在所述弱实时优先级的被暂停任务恢复后,且所述系统负载数据保持稳定的条件下,恢复优先级为后台优先级的被暂停任务。
31、这样,控制器在恢复被暂停任务时,采用分阶段渐进恢复策略:首先确认系统负载数据稳定后才恢复弱实时优先级任务,然后在弱实时优先级任务恢复后再次确认系统负载数据保持稳定的条件下,才继续恢复后台优先级任务。这种逐步验证的恢复机制,在每个恢复阶段都设置了负载稳定性校验条件,确保每一步恢复都不会导致系统重新进入过载状态,有效避免了恢复过程中因负载骤增引发的二次过载问题。先恢复弱实时任务再恢复后台任务的顺序,与负载等级逐级递增时的暂停顺序相呼应,形成了完整的暂停-恢复对称机制,保障了系统在负载波动过程中始终保持稳定运行,提升了算力动态分配的鲁棒性和可靠性。
32、在一些可行的实施例中,所述子控制器包括中央处理器、神经网络处理器,和/或图形处理器;所述控制器执行根据所述业务类型和优先级属性字段,为每个任务分配对应的优先级与优先级标识之后,还被配置为:
33、将强实时优先级的任务绑定至所述中央处理器的大核心,将后台优先级的任务绑定至所述中央处理器的小核心,将弱实时优先级的任务绑定至所述中央处理器的大核心或小核心;所述中央处理器的大核心的运算能力高于所述中央处理器的小核心的运算能力;
34、和/或,将人工智能识别类任务的计算负载分配至所述神经网络处理器,和/或,将图形渲染类任务的计算负载分配至所述图形处理器。
35、这样,控制器在为任务分配优先级的基础上,进一步根据任务优先级和业务类型进行异构硬件的精准绑定与负载分配。将强实时优先级任务绑定至中央处理器的大核心,确保核心实时业务获得最高性能的计算资源;将后台优先级任务绑定至小核心,避免其占用大核心资源而影响实时业务。弱实时优先级任务根据实际需求灵活绑定至大核心或小核心,兼顾了性能需求与资源利用效率。同时,将人工智能识别类任务分配至神经网络处理器、图形渲染类任务分配至图形处理器,实现了计算负载在异构处理器间的合理分流,充分发挥各类处理器的专用加速优势。这种异构硬件感知的任务绑定与负载分配机制,使得算力分配不仅考虑了任务的实时性优先级,还结合了任务与硬件的计算特性匹配度,从处理器架构层面实现了算力资源的深度优化配置,有效提升了嵌入式主板异构算力的整体利用效率和系统的实时响应能力。
36、在一些可行的实施例中,所述控制器还被配置为:
37、在执行所述分配策略的过程中,响应于接收到的用户操作指令,确定所述用户操作指令对应的目标任务及其优先级;
38、当所述目标任务的优先级为强实时优先级时,优先为所述目标任务分配计算资源;
39、暂停或延迟执行所述分配策略中针对所述目标任务的降级操作。
40、这样,控制器在执行分配策略的过程中,当接收到用户操作指令时,能够识别该指令对应的目标任务及其优先级。若目标任务的优先级为强实时优先级,则优先为该任务分配计算资源,并暂停或延迟分配策略中针对该任务的降级操作,确保用户主动触发的强实时操作不会因系统自动的降级策略而被中断或延迟。这种用户操作干预机制,在系统自动算力分配与用户主动操作之间建立了协调通道,使得算力动态分配系统在保障整体稳定性的同时,能够灵活响应用户的即时操作需求,避免了因自动降级策略与用户操作意图冲突导致的操作延迟或中断,提升了机器人的人机交互响应性和用户体验,保障了用户在过载场景下仍能获得对核心功能的即时操控能力。
41、第二方面,本技术实施例提供一种算力动态分配方法,包括:
42、获取系统负载数据;所述系统负载数据由所述控制器包含的子控制器的负载值确定;
43、根据所述系统负载数据和负载等级映射关系,确定目标负载等级;其中,所述负载等级映射关系包括所述系统负载数据与负载等级的对应关系;所述负载等级包括第一负载等级、第二负载等级和第三负载等级,所述第一负载等级对应的系统负载低于所述第二负载等级对应的系统负载,所述第二负载等级对应的系统负载低于所述第三负载等级对应的系统负载;
44、基于所述目标负载等级,对当前运行的多个任务执行与所述目标负载等级对应的分配策略,以使所述多个任务中的强实时优先级任务优先获得计算资源;所述多个任务包括强实时优先级任务、弱实时优先级任务和后台优先级任务。
45、这样,通过获取由中央处理器负载值、神经网络处理器负载值和图形处理器负载值中的一项或几项确定的系统负载数据,能够全面反映异构硬件的计算压力状态。根据系统负载数据和负载等级映射关系确定目标负载等级后,基于目标负载等级对当前运行的多个任务执行对应的分配策略,确保强实时优先级任务在各种负载条件下优先获得计算资源。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com