CN116690588B - 多机械臂多任务的目标获取方法、装置、设备及存储介质 - Google Patents
多机械臂多任务的目标获取方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116690588B CN116690588B CN202310980985.8A CN202310980985A CN116690588B CN 116690588 B CN116690588 B CN 116690588B CN 202310980985 A CN202310980985 A CN 202310980985A CN 116690588 B CN116690588 B CN 116690588B
- Authority
- CN
- China
- Prior art keywords
- mechanical arm
- reward
- mechanical
- function
- total
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 230000009471 action Effects 0.000 claims abstract description 76
- 238000012549 training Methods 0.000 claims abstract description 56
- 230000007613 environmental effect Effects 0.000 claims abstract description 36
- 230000006870 function Effects 0.000 claims description 65
- 230000002787 reinforcement Effects 0.000 claims description 11
- 238000010276 construction Methods 0.000 claims description 3
- 239000003795 chemical substances by application Substances 0.000 description 43
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000002349 favourable effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000005507 spraying Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- 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)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Feedback Control In General (AREA)
- Manipulator (AREA)
Abstract
本发明涉及工业机械臂领域,具体涉及一种多机械臂多任务的目标获取方法、装置、计算机设备及存储介质。方法通过对执行目标获取任务的多个机械臂进行初始化,获取各个机械臂的初始环境状态信息后用来训练基于SAC算法构建的机械臂智能体,使机械臂智能体能够根据输入的多个待获取随机目标的位置信息及采集的环境状态信息,与环境不断进行交互并输出动作,通过新的环境状态信息和得到的动作奖励不断更新,实现机械臂智能体自主进行环境探索并规划多个目标的获取轨迹,并在轨迹规划中为每一步的动作做出正确决策,使机械臂更加智能化,从而使各机械臂能在无碰撞的情况下完成寻获多个随机目标的轨迹规划任务,提高了机械臂的泛化能力和适应性强。
Description
技术领域
本发明涉及工业机械臂领域,具体涉及一种多机械臂多任务的目标获取方法、装置、计算机设备及存储介质。
背景技术
如今,工业机械手臂在焊接、喷漆、堆垛、装配及物流等行业中应用广泛,已经成为工业生产中必不可少的一种智能化设备。
但是,现有的各行业的工业机器臂大多是在执行重复的任务,且基本上是在预定好的轨迹中移动,其中采用传统轨迹规划算法(如RRT等)的机器臂不具备处理未知情况、探索环境的能力,而开发人员所需要的机械臂专业技能高,却只能完成固定工作,不能泛化到新任务中,尤其是随着机械臂个数的增多,任务数量和随机性的增加,机械臂碰撞的情况也增多,传统算法已无法有效地完成任务,因此需要更加智能、泛化能力更强的机械臂。
发明内容
本发明目的在于提供一种多机械臂多任务的目标获取方法、装置、计算机设备及存储介质,基于SAC算法构建和训练后的机械臂智能体可以实现机械臂自主进行环境探索并规划轨迹,使机械臂更加智能化,从而使各机械臂能在无碰撞的情况下完成寻获多个随机目标的轨迹规划任务,并可以泛化到其他任务中,提高了机械臂的泛化能力和适应性。
为达成上述目的,本发明提出如下技术方案:
第一方面,本发明提出一种多机械臂多任务的目标获取方法,包括以下步骤:
对执行目标获取任务的多个机械臂进行初始化,获取各个机械臂的初始环境状态信息;
基于所述初始环境状态信息,使用预设的智能体训练方法对各个机械臂进行随机目标获取训练,对应得到多个训练好的机械臂智能体;
分别为各个训练好的机械臂智能体输入多个随机目标的位置信息,各个训练好的机械臂智能体根据随机目标的位置信息自动规划轨迹并获取多个目标。
进一步的,所述基于所述初始环境状态信息,使用预设的智能体训练方法对各个机械臂进行随机目标获取训练的步骤具体包括:
基于SAC深度强化学习算法构建机械臂智能体;
基于所述初始环境状态信息设置所述机械臂智能体的奖励函数,并用来迭代训练对应的机械臂智能体进行随机目标的获取。
进一步的,所述机械臂的初始环境状态信息包括机械臂的各关节位置信息、各关节速度信息、运行时间以及多个随机目标的位置信息。
进一步的,所述基于所述初始环境状态信息设置所述机械臂智能体的奖励函数的步骤具体包括:
基于位置信息分别计算多个随机目标与机械臂的末端关节之间对应的多个欧氏距离,并依欧式距离从小到大的次序与所述机械臂运行时间作为所述机械臂智能体每次训练的第一奖励函数;
以机械臂的各关节速度信息构建所述机械臂智能体的第二奖励函数;
基于所述第一奖励函数、所述第二奖励函数以及多个机械臂的碰撞情况设置所述机械臂智能体各次训练的总奖励函数。
进一步的,所述基于SAC深度强化学习算法构建的机械臂智能体至少包括一个Actor动作网络和一个Critic动作值网络,所述Critic动作值网络基于所述机械臂智能体总奖励函数对所述Actor动作网络输出的动作进行评价。
进一步的,所述迭代训练机械臂智能体的步骤具体包括:
对机械臂智能体的Actor动作网络和Critic动作值网络进行初始化,并获取环境状态信息;
将环境状态信息输入到机械臂智能体的Actor动作网络和Critic动作值网络,并通过Critic动作值网络的输出对Actor动作网络进行迭代更新,直到每次训练所述Actor动作网络输出的动作满足所述机械臂智能体总奖励函数的约束。
第二方面,本发明还提供一种多机械臂多任务的目标获取装置,包括:
初始化模块,用于对执行目标获取任务的多个机械臂进行初始化,获取各个机械臂的初始环境状态信息;
训练模块,用于基于所述初始环境状态信息,使用预设的智能体训练方法对各个机械臂进行随机目标获取训练,对应得到多个训练好的机械臂智能体;
自动获取模块,用于分别为各个训练好的机械臂智能体输入多个随机目标的位置信息,各个训练好的机械臂智能体根据随机目标的位置信息自动规划轨迹并获取多个目标。
进一步的,所述训练模块具体包括:
构建子模块,用于基于SAC深度强化学习算法构建机械臂智能体;
迭代训练子模块,用于基于所述初始环境状态信息设置所述机械臂智能体的奖励函数,并用来迭代训练对应的机械臂智能体进行随机目标的获取。
第三方面,本发明还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现所述的多机械臂多任务的目标获取方法的步骤。
第四方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现所述的多机械臂多任务的目标获取方法的步骤。
有益效果:
由以上技术方案可知,本发明的技术方案提供了一种多机械臂多任务的目标获取方法,通过对执行目标获取任务的多个机械臂进行初始化,获取各个机械臂的初始环境状态信息后用来训练基于SAC算法构建的机械臂智能体,使机械臂智能体能够根据输入的多个待获取随机目标的位置信息及采集的环境状态信息,与环境不断进行交互并输出动作,通过新的环境状态信息和得到的动作奖励不断更新自身,实现机械臂智能体自主进行环境探索并规划多个目标的获取轨迹,并在轨迹规划中为每一步的动作做出正确决策,使机械臂更加智能化,从而使各机械臂能在无碰撞的情况下完成寻获多个随机目标的轨迹规划任务,并可以泛化到其他任务中,提高了机械臂的泛化能力和适应性强。
应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。
结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本发明教导的具体实施方式的实践中得知。
附图说明
附图不表示按照真实参照物比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。现在,将通过例子并参考附图来描述本发明的各个方面的实施例,其中:
图1是根据本发明提供的多机械臂多任务的目标获取方法的一个实施例的流程图;
图2是图1中步骤S104的一种具体实施方式的流程图;
图3是图2中步骤S1042的一种具体实施方式的流程图;
图4是图1中步骤S104的迭代训练机械臂智能体具体实施方式的流程图;
图5是根据本发明提供的多机械臂多任务的目标获取装置的一个实施例的结构示意图;
图6是图5中训练模块502的一个实施例的结构示意图;
图7是根据本发明提供的计算机设备的一个实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另作定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。
本发明专利申请说明书以及权利要求书中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样, 除非上下文清楚地指明其它情况,否则单数形式的“一个”“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现在“包括”或者“包含”前面的元件或者物件涵盖出现在“包括”或者“包含”后面列举的特征、整体、步骤、操作、元素和/或组件, 并不排除一个或多个其它特征、整体、步骤、 操作、元素、组件和/或其集合的存在或添加。“上”“下”“左”“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
如图1所示,图1示出了根据本发明提供的多机械臂多任务的目标获取方法的一个实施例的流程图。所述多机械臂多任务的目标获取方法包括以下步骤:
S102、对执行目标获取任务的多个机械臂进行初始化,获取各个机械臂的初始环境状态信息。
在本发明实施例中,执行目标获取任务的机械臂至少包括两个,且各机械臂在一定区域或应用场景内需要在无碰撞的情况下各自执行自身的多个随机目标的获取任务,待获取的目标可以是需要机械臂去抓取的静置的物体,也可以是机械臂需要将物体放置于其上的位置(如货架);上述对机械臂进行初始化包括初始化各个机械臂的环境状态,包括机械臂动作初始化、状态初始化等,从而获得机械臂相应的初始环境状态信息,机械臂的初始环境状态信息包括机械臂的各关节位置信息、各关节速度信息、运行时间以及多个随机目标的位置信息,其中,机械臂各关节位置信息、目标的位置信息可以通过机械臂各关节、目标在xyz空间直角坐标系中的位置进行确定,运行时间指机械臂获取到目标所需的时长。
S104、基于所述初始环境状态信息,使用预设的智能体训练方法对各个机械臂进行随机目标获取训练,对应得到多个训练好的机械臂智能体。
具体的,如图2所示,上述步骤S104包括:
S1041、基于SAC深度强化学习算法构建机械臂智能体;
S1042、基于所述初始环境状态信息设置所述机械臂智能体的奖励函数,并用来迭代训练对应的机械臂智能体进行随机目标的获取。
上述步骤中,SAC(Soft Actor-Critic)深度强化学习算法是面向MaximumEntropy Reinforcement learning 开发的一种off policy算法,和DDPG等确定性算法相比,Soft Actor-Critic使用的是随机策略,使得基于SAC构建的智能体具有探索性更强。上述基于SAC深度强化学习算法构建的机械臂智能体至少包括一个Actor动作网络和一个Critic动作值网络,其中Actor动作网络接受机械臂的环境状态信息作为输入,根据环境状态信息做出动作决策(包括多个动作及其概率),并在Critic动作值网络的引导下不断更新网络,重新与环境交互后做出新的动作决策;Critic动作值网络同时接受环境状态信息和Actor动作网络的输出作为输入,输出为在该状态下执行该动作获得的折扣未来奖励的期望值q,然后对q值进行回归修正后用来对Actor动作网络输出的动作进行评价,引导Actor动作网络输出的一个或多个动作满足奖励函数约束条件的要求,其中折扣未来奖励的期望值q包括由机械臂智能体总奖励函数确定的奖励值,机械臂智能体总奖励函数基于上述初始环境状态信息进行设置,并用来迭代训练更新机械臂智能体的Actor动作网络,使得机械臂智能体可以根据环境状态信息自主探索环境和进行多个随机目标获取任务的轨迹规划并做出正确的动作决策,从而使机械臂更加智能化,提高机械臂的泛化能力和适应性强。
进一步的,如图3所示,上述步骤S1042中,基于所述初始环境状态信息设置所述机械臂智能体的奖励函数的步骤具体包括:
S10421、基于位置信息分别计算多个随机目标与机械臂的末端关节之间对应的多个欧氏距离,并依欧式距离从小到大的次序与所述机械臂运行时间作为所述机械臂智能体每次训练的第一奖励函数;
S10422、以机械臂的各关节速度信息构建所述机械臂智能体的第二奖励函数;
S10423、基于所述第一奖励函数、所述第二奖励函数以及多个机械臂的碰撞情况设置所述机械臂智能体各次训练的总奖励函数。
在本发明实施中,为了使各个机械臂能够快速、准确且无碰撞地到达每个随机目标的位置并获取到相应目标,可以构建如下总奖励函数来引导机械臂智能体的学习:
Reward_total=Reward_1 + Reward_2
其中,Reward_1为机械臂智能体的第一奖励函数,具体可以基于随机目标的位置信息和机械臂末端关节的位置信息分别计算各个随机目标与机械臂的末端关节之间对应的欧氏距离,然后对得到欧氏距离按升序进行排序、并依从小到大的次序将各欧氏距离与机械臂的运行时间分别求和之后取负值,得到机械臂智能体每次训练的第一奖励函数,即第一奖励函数包括距离惩罚与时间惩罚:
其中(x,y,z)是机械臂末端关节位置坐标,是随机目标的位置坐标,reward_step_time是机械臂运行时间。可见,机械臂的末端关节离目标越远、机械臂运行时间越长,则对机械臂智能体的惩罚越高,从而可以通过上述第一奖励函数对机械臂智能体进行位置和时间上的指导约束,使机械臂可以快速地接近目标,且通过对多个随机目标依次位置的训练学习,可以使机械臂智能体对位置有一定的泛化能力,从而有助于机械臂智能体进行由近及远的多目标获取的轨迹规划。
Reward_2为机械臂智能体的第二奖励函数,可以通过机械臂的各关节速度信息进行构建:
其中为机械臂7个关节的动作信息(关节速度信息),可见第二奖励函数为动作惩罚,机械臂各关节转动速度越快转动量也越大,每次的动作改变就越大,因此惩罚也越大,从而通过第二奖励函数的动作惩罚可以对机械臂进行动作约束使其以特定姿态到达目标点,且使用机械臂各个关节点的转动速度和/或转动量作为特征来训练机械臂智能体网络,更加简洁高效。需要说明的使,上述随机目标的数目、机械臂关节数量在本发明实施例中仅仅是示意性的,实际使用中可以是任意数目,例如随机目标可以是4个也可以是8个等等。
最后,基于上述第一奖励函数、第二奖励函数以及机械臂的碰撞情况设置机械臂智能体总奖励函数Reward_total:
当所有机械臂都完成了任务,即任意两个机械臂没有碰撞,且都到达目标时,则都给与较高的奖励,如设置Reward_total=10;
当有机械臂发生碰撞时,则可以设置其Reward_total=-10;
当任意两个机械臂都没有碰撞,但机械臂没有完成任务时,即机械臂没到达目标时:
1)、当所有机械臂中的任一机械臂没到达一个目标时:Reward_total=Reward_1+Reward_2;
2)、当所有机械臂中有一个机械臂到达一个目标时:Reward_1=Reward_1 + 1,Reward_total=Reward_1+Reward_2;
3)、当所有机械臂中有一个机械臂到达N个目标时:Reward_1=Reward_1 + N,Reward_total=Reward_1+Reward_2。通过上述总奖励函数的设置并用来训练机械臂智能体,可以有效避免多个机械臂智能体在寻找随机目标时进行自主探索环境、轨迹规划和动作过程中机械臂与机械臂之间发生碰撞,增强机械臂的泛化能力和适应性。
继续参见图4,上述步骤S104中,迭代训练机械臂智能体进行随机目标的获取的步骤具体包括:
S10424、对机械臂智能体的Actor动作网络和Critic动作值网络进行初始化,并获取环境状态信息;
S10425、将环境状态信息输入到机械臂智能体的Actor动作网络和Critic动作值网络,并通过Critic动作值网络的输出对Actor动作网络进行迭代更新,直到每次训练所述Actor动作网络输出的动作满足所述机械臂智能体总奖励函数的约束。
上述迭代训练机械臂智能体的具体过程如下:
(1)超参数设置:最大迭代次数max_epoch= 14000,最大运行时间max_step_time=200,训练批数据大小Batch_size =128;
(2)初始化:包括环境初始化,如随机目标的数量和位置信息;机械臂智能体的动作空间、状态空间初始化;经验回放初始化;机械臂智能体SAC模型Actor动作网络和Critic动作值网络的加载和初始化;
(3)训练:每一轮epoch,首先获取环境初始化时的环境状态信息state;针对每一步step_time,SAC模型输入环境状态信息state,Actor动作网络输出动作action;此时机械臂得到了action,与环境交互后得到下一个新的状态new_state和Critic动作值网络输出的奖励值reward_total,以及本次epoch是否结束的标志done;经验回放Reply_Buffer则保存(state,action,reward_total, new_state, done),并更新状态state=new_state,再次进行循环,当Reply_Buffer中的数据大于训练所需的batch_szie开始训练;通过Critic动作值网络输出的奖励来引导Actor动作网络进行迭代更新,直到所述Actor动作网络输出的动作满足本次训练机械臂智能体总奖励函数中各个奖励函数的约束,有助于机械臂智能体通过奖励函数来判断动作是有利于达到目标,还是不利于到达目标,有利的动作则通过给与更高的奖励,鼓励机械臂智能体后续多多执行有利的动作,不利的动作则被抑制,让机械臂智能体后续少做一些这样的动作;然后重复上述步骤,进行机械臂智能体寻找下一个随机目标的训练。通过机械臂不断与环境交互的方式引导机械臂智能体学习和探索环境,来训练机械臂智能体做出正确决策的能力,从而实现机械臂无碰撞的规划轨迹,完成寻找多个随机目标的任务。
S106、分别为各个训练好的机械臂智能体输入多个随机目标的位置信息,各个训练好的机械臂智能体根据随机目标的位置信息自动规划轨迹并获取多个目标。
在上述步骤中,各个经过上述迭代训练方法得到的机械臂智能体,能够根据输入的待获取的多个随机目标的固定位置信息及采集的环境状态信息,与环境不断进行交互并输出动作,通过新的环境状态信息和得到的动作奖励不断更新自身,实现机械臂智能体自主进行环境探索并规划轨迹,并在轨迹规划中为每一步的动作做出正确决策,通过不断调整机械臂自身的姿态、速度等逐渐靠近每个随机目标的位置,使各机械臂能在无碰撞的情况下完成寻获多个随机目标的轨迹规划任务,并可以泛化到其他任务中。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图5,作为对上述图1所示方法的实现,本发明提供了一种多机械臂多任务的目标获取装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例所述的多机械臂多任务的目标获取装置包括:
初始化模块501,用于对执行目标获取任务的多个机械臂进行初始化,获取各个机械臂的初始环境状态信息;
训练模块502,用于基于所述初始环境状态信息,使用预设的智能体训练方法对各个机械臂进行随机目标获取训练,对应得到多个训练好的机械臂智能体;
自动获取模块503,用于分别为各个训练好的机械臂智能体输入多个随机目标的位置信息,各个训练好的机械臂智能体根据随机目标的位置信息自动规划轨迹并获取多个目标。
进一步的,如图6所示,所述训练模块502具体包括:
构建子模块601,用于基于SAC深度强化学习算法构建机械臂智能体;
迭代训练子模块602,用于基于所述初始环境状态信息设置所述机械臂智能体的奖励函数,并用来迭代训练对应的机械臂智能体进行随机目标的获取。
本发明实施例提供的多机械臂多任务的目标获取装置能够实现图1至图4的方法实施例中的各个实施方式,以及相应的有益效果,为避免重复,这里不再赘述。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图7,图7为本实施例计算机设备基本结构框图。
所述计算机设备7包括通过系统总线相互通信连接存储器71、处理器72、网络接口73。需要指出的是,图中仅示出了具有组件71-组件73的计算机设备7,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器 (Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器71至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器71可以是所述计算机设备7的内部存储单元,例如该计算机设备7的硬盘或内存。在另一些实施例中,所述存储器71也可以是所述计算机设备7的外部存储设备,例如该计算机设备7上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(FlashCard)等。当然,所述存储器71还可以既包括所述计算机设备7的内部存储单元也包括其外部存储设备。本实施例中,所述存储器71通常用于存储安装于所述计算机设备7的操作系统和各类应用软件,例如消息事件的延时处理方法的计算机可读指令等。此外,所述存储器71还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器72在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器72通常用于控制所述计算机设备7的总体操作。本实施例中,所述处理器72用于运行所述存储器71中存储的计算机可读指令或者处理数据,例如运行所述消息事件的延时处理方法的计算机可读指令。
所述网络接口73可包括无线网络接口或有线网络接口,该网络接口73通常用于在所述计算机设备7与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的消息事件的延时处理方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。
Claims (6)
1.一种多机械臂多任务的目标获取方法,其特征在于,包括以下步骤:
对执行目标获取任务的多个机械臂进行初始化,获取各个机械臂的初始环境状态信息;
基于所述初始环境状态信息,使用预设的智能体训练方法对各个机械臂进行随机目标获取训练,对应得到多个训练好的机械臂智能体;
其中,所述基于所述初始环境状态信息,使用预设的智能体训练方法对各个机械臂进行随机目标获取训练的步骤包括:首先,基于SAC深度强化学习算法构建机械臂智能体;其次,基于所述初始环境状态信息设置所述机械臂智能体的奖励函数,并用来迭代训练对应的机械臂智能体进行随机目标的获取;
其中,所述初始环境状态信息包括机械臂的各关节位置信息、各关节速度信息、运行时间以及多个随机目标的位置信息;
所述基于所述初始环境状态信息设置所述机械臂智能体的奖励函数的步骤包括:
基于位置信息分别计算多个随机目标与机械臂的末端关节之间对应的多个欧氏距离,并依欧式距离从小到大的次序与所述机械臂运行时间作为所述机械臂智能体每次训练的第一奖励函数;
以机械臂的各关节速度信息构建所述机械臂智能体的第二奖励函数;
基于所述第一奖励函数、所述第二奖励函数以及多个机械臂的碰撞情况设置所述机械臂智能体各次训练的总奖励函数;
具体的,所述总奖励函数构建如下:Reward_total=Reward_1 + Reward_2
其中,Reward_1为机械臂智能体的第一奖励函数,Reward_2为机械臂智能体的第二奖励函数;
所述第一奖励函数包括距离惩罚与时间惩罚,构建如下:
;
其中,(x,y,z)是机械臂末端关节位置坐标,(xt,yt,zt)是随机目标的位置坐标,reward_step_time是机械臂运行时间;
所述第二奖励函数通过机械臂的各关节速度信息,构建如下:
;
其中,为机械臂7个关节速度信息;
所述总奖励函数Reward_total设置如下:
当所有机械臂都完成了任务,即任意两个机械臂没有碰撞,且都到达目标时,则设置Reward_total=10;
当有机械臂发生碰撞时,则设置Reward_total=-10;
当任意两个机械臂都没有碰撞,但机械臂没有完成任务时,即机械臂没到达目标时:
1)当所有机械臂中的任一机械臂没到达一个目标时:设置Reward_total=Reward_1+Reward_2;
2)当所有机械臂中有一个机械臂到达一个目标时:设置Reward_1=Reward_1 + 1,Reward_total=Reward_1+Reward_2;
3)当所有机械臂中有一个机械臂到达N个目标时:设置Reward_1=Reward_1 + N,Reward_total=Reward_1+Reward_2;
分别为各个训练好的机械臂智能体输入多个随机目标的位置信息,各个训练好的机械臂智能体根据随机目标的位置信息自动规划轨迹并获取多个目标。
2.根据权利要求1所述的多机械臂多任务的目标获取方法,其特征在于,所述基于SAC深度强化学习算法构建的机械臂智能体至少包括一个Actor动作网络和一个Critic动作值网络,所述Critic动作值网络基于所述机械臂智能体总奖励函数对所述Actor动作网络输出的动作进行评价。
3.根据权利要求2所述的多机械臂多任务的目标获取方法,其特征在于,所述迭代训练机械臂智能体进行随机目标的获取的步骤具体包括:
对机械臂智能体的Actor动作网络和Critic动作值网络进行初始化,并获取环境状态信息;
将环境状态信息输入到机械臂智能体的Actor动作网络和Critic动作值网络,并通过Critic动作值网络的输出对Actor动作网络进行迭代更新,直到每次训练所述Actor动作网络输出的动作满足所述机械臂智能体总奖励函数的约束。
4.一种多机械臂多任务的目标获取装置,其特征在于,包括:
初始化模块,用于对执行目标获取任务的多个机械臂进行初始化,获取各个机械臂的初始环境状态信息;
训练模块,用于基于所述初始环境状态信息,使用预设的智能体训练方法对各个机械臂进行随机目标获取训练,对应得到多个训练好的机械臂智能体;
其中,所述训练模块包括:
构建子模块,用于基于SAC深度强化学习算法构建机械臂智能体;
迭代训练子模块,用于基于所述初始环境状态信息设置所述机械臂智能体的奖励函数,并用来迭代训练对应的机械臂智能体进行随机目标的获取;
其中,所述初始环境状态信息包括机械臂的各关节位置信息、各关节速度信息、运行时间以及多个随机目标的位置信息;
所述基于所述初始环境状态信息设置所述机械臂智能体的奖励函数的步骤包括:
基于位置信息分别计算多个随机目标与机械臂的末端关节之间对应的多个欧氏距离,并依欧式距离从小到大的次序与所述机械臂运行时间作为所述机械臂智能体每次训练的第一奖励函数;
以机械臂的各关节速度信息构建所述机械臂智能体的第二奖励函数;
基于所述第一奖励函数、所述第二奖励函数以及多个机械臂的碰撞情况设置所述机械臂智能体各次训练的总奖励函数;
具体的,所述总奖励函数构建如下:Reward_total=Reward_1 + Reward_2
其中,Reward_1为机械臂智能体的第一奖励函数,Reward_2为机械臂智能体的第二奖励函数;
所述第一奖励函数包括距离惩罚与时间惩罚,构建如下:
;
其中,(x,y,z)是机械臂末端关节位置坐标,(xt,yt,zt)是随机目标的位置坐标,reward_step_time是机械臂运行时间;
所述第二奖励函数通过机械臂的各关节速度信息,构建如下:
;
其中,为机械臂7个关节速度信息;
所述总奖励函数Reward_total设置如下:
当所有机械臂都完成了任务,即任意两个机械臂没有碰撞,且都到达目标时,则设置Reward_total=10;
当有机械臂发生碰撞时,则设置Reward_total=-10;
当任意两个机械臂都没有碰撞,但机械臂没有完成任务时,即机械臂没到达目标时:
1)当所有机械臂中的任一机械臂没到达一个目标时:设置Reward_total=Reward_1+Reward_2;
2)当所有机械臂中有一个机械臂到达一个目标时:设置Reward_1=Reward_1 + 1,Reward_total=Reward_1+Reward_2;
3)当所有机械臂中有一个机械臂到达N个目标时:设置Reward_1=Reward_1 + N,Reward_total=Reward_1+Reward_2;
自动获取模块,用于分别为各个训练好的机械臂智能体输入多个随机目标的位置信息,各个训练好的机械臂智能体根据随机目标的位置信息自动规划轨迹并获取多个目标。
5.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至3中任一项所述的多机械臂多任务的目标获取方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至3中任一项所述的多机械臂多任务的目标获取方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310980985.8A CN116690588B (zh) | 2023-08-07 | 2023-08-07 | 多机械臂多任务的目标获取方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310980985.8A CN116690588B (zh) | 2023-08-07 | 2023-08-07 | 多机械臂多任务的目标获取方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116690588A CN116690588A (zh) | 2023-09-05 |
CN116690588B true CN116690588B (zh) | 2023-10-10 |
Family
ID=87832586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310980985.8A Active CN116690588B (zh) | 2023-08-07 | 2023-08-07 | 多机械臂多任务的目标获取方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116690588B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117032262B (zh) * | 2023-09-12 | 2024-03-19 | 南栖仙策(南京)科技有限公司 | 机器控制方法、装置、电子设备及存储介质 |
CN117260743B (zh) * | 2023-11-20 | 2024-02-06 | 宁德思客琦智能装备有限公司 | 一种机械臂堆垛任务的多目标约束优化方法和系统 |
CN117798936B (zh) * | 2024-02-29 | 2024-06-07 | 卡奥斯工业智能研究院(青岛)有限公司 | 机械臂集群的控制方法、装置、电子设备及存储介质 |
CN118014054B (zh) * | 2024-04-08 | 2024-06-21 | 西南科技大学 | 一种基于平行重组网络的机械臂多任务强化学习方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012041004A (ja) * | 2010-08-23 | 2012-03-01 | Nippon Telegr & Teleph Corp <Ntt> | 自律移動ロボットの動作計画方法、自律移動ロボットの動作計画方法を利用した自律移動ロボットの制御方法、自律移動ロボットの動作計画装置、自律移動ロボットの動作制御装置、自律移動ロボットの動作計画プログラム、自律移動ロボットの制御プログラム |
CN111515961A (zh) * | 2020-06-02 | 2020-08-11 | 南京大学 | 一种适用于移动机械臂的强化学习奖励方法 |
CN111552301A (zh) * | 2020-06-21 | 2020-08-18 | 南开大学 | 一种基于强化学习的蝾螈机器人路径跟踪的分层控制方法 |
CN112936290A (zh) * | 2021-03-25 | 2021-06-11 | 西湖大学 | 一种基于分层强化学习的四足机器人运动规划方法 |
CN114115350A (zh) * | 2021-12-02 | 2022-03-01 | 清华大学 | 飞行器的控制方法、装置及设备 |
CN114414231A (zh) * | 2022-01-25 | 2022-04-29 | 台州学院 | 一种动态环境下机械手自主避障规划方法和系统 |
CN114952828A (zh) * | 2022-05-09 | 2022-08-30 | 华中科技大学 | 一种基于深度强化学习的机械臂运动规划方法和系统 |
WO2022236064A2 (en) * | 2021-05-06 | 2022-11-10 | Strong Force Iot Portfolio 2016, Llc | Quantum, biological, computer vision, and neural network systems for industrial internet of things |
CN115493597A (zh) * | 2022-11-15 | 2022-12-20 | 山东大学 | 一种基于sac算法的auv路径规划控制方法 |
CN116540731A (zh) * | 2023-06-02 | 2023-08-04 | 东莞理工学院 | 融合堆叠lstm与sac算法的路径规划方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7117067B2 (en) * | 2002-04-16 | 2006-10-03 | Irobot Corporation | System and methods for adaptive control of robotic devices |
US11662731B2 (en) * | 2020-09-14 | 2023-05-30 | Toyota Research Institute, Inc. | Systems and methods for controlling a robot |
-
2023
- 2023-08-07 CN CN202310980985.8A patent/CN116690588B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012041004A (ja) * | 2010-08-23 | 2012-03-01 | Nippon Telegr & Teleph Corp <Ntt> | 自律移動ロボットの動作計画方法、自律移動ロボットの動作計画方法を利用した自律移動ロボットの制御方法、自律移動ロボットの動作計画装置、自律移動ロボットの動作制御装置、自律移動ロボットの動作計画プログラム、自律移動ロボットの制御プログラム |
CN111515961A (zh) * | 2020-06-02 | 2020-08-11 | 南京大学 | 一种适用于移动机械臂的强化学习奖励方法 |
CN111552301A (zh) * | 2020-06-21 | 2020-08-18 | 南开大学 | 一种基于强化学习的蝾螈机器人路径跟踪的分层控制方法 |
CN112936290A (zh) * | 2021-03-25 | 2021-06-11 | 西湖大学 | 一种基于分层强化学习的四足机器人运动规划方法 |
WO2022236064A2 (en) * | 2021-05-06 | 2022-11-10 | Strong Force Iot Portfolio 2016, Llc | Quantum, biological, computer vision, and neural network systems for industrial internet of things |
CN114115350A (zh) * | 2021-12-02 | 2022-03-01 | 清华大学 | 飞行器的控制方法、装置及设备 |
CN114414231A (zh) * | 2022-01-25 | 2022-04-29 | 台州学院 | 一种动态环境下机械手自主避障规划方法和系统 |
CN114952828A (zh) * | 2022-05-09 | 2022-08-30 | 华中科技大学 | 一种基于深度强化学习的机械臂运动规划方法和系统 |
CN115493597A (zh) * | 2022-11-15 | 2022-12-20 | 山东大学 | 一种基于sac算法的auv路径规划控制方法 |
CN116540731A (zh) * | 2023-06-02 | 2023-08-04 | 东莞理工学院 | 融合堆叠lstm与sac算法的路径规划方法及系统 |
Non-Patent Citations (2)
Title |
---|
Control of Space Flexible Manipulator Using Soft Actor-Critic and Random Network Distillation.Control of Space Flexible Manipulator Using Soft Actor-Critic and Random Network Distillation.《2019 IEEE International Conference on Robotics and Biomimetics (ROBIO)》.2020,全文. * |
宋紫阳 ; 李军怀 ; 王怀军 ; 苏鑫 ; 于蕾.基于路径模仿和SAC 的机械臂路径规划算法.《计算机应用》.2023,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN116690588A (zh) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116690588B (zh) | 多机械臂多任务的目标获取方法、装置、设备及存储介质 | |
CN109960880B (zh) | 一种基于机器学习的工业机器人避障路径规划方法 | |
Qureshi et al. | Motion planning networks: Bridging the gap between learning-based and classical motion planners | |
CN114603564B (zh) | 机械臂导航避障方法、系统、计算机设备及存储介质 | |
CN109976148B (zh) | 机器人运动路径规划方法、装置、存储介质及终端设备 | |
Meyes et al. | Motion planning for industrial robots using reinforcement learning | |
CN108958235B (zh) | 机器人运动规划 | |
McConachie et al. | Learning when to trust a dynamics model for planning in reduced state spaces | |
US11759947B2 (en) | Method for controlling a robot device and robot device controller | |
CN112629542A (zh) | 基于ddpg和lstm的无地图机器人路径导航方法及系统 | |
US20220184808A1 (en) | Motion trajectory planning method for robotic manipulator, robotic manipulator and computer-readable storage medium | |
CN114211495B (zh) | 面向半导体晶圆传送机械臂的自适应轨迹优化方法及系统 | |
CN113119104B (zh) | 机械臂控制方法、机械臂控制装置、计算设备及系统 | |
Meyes et al. | Continuous motion planning for industrial robots based on direct sensory input | |
Zhao et al. | Bi-criteria acceleration level obstacle avoidance of redundant manipulator | |
CN116394264A (zh) | 基于群体编码脉冲神经网络的多机械臂协同运动规划方法 | |
CN114779792B (zh) | 基于模仿与强化学习的医药机器人自主避障方法及系统 | |
CN116079747A (zh) | 机器人跨具身控制方法、系统、计算机设备和存储介质 | |
CN113218399B (zh) | 一种基于多智能体分层强化学习的迷宫导航方法及装置 | |
CN114489055A (zh) | 基于时序逻辑的机器人多任务运动实现方法、介质及设备 | |
US20170024635A1 (en) | Image processing system and method for identifying content within image data | |
Afzali et al. | A Modified Convergence DDPG Algorithm for Robotic Manipulation | |
CN116652972B (zh) | 基于双向贪心搜索算法的串联机器人末端轨迹规划方法 | |
Iwasaki et al. | Online motion planning based on swept volume search with replanning using sequential quadratic programming | |
US20240217099A1 (en) | Robot planning for gaps |
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 |