CN111923039B - 一种基于强化学习的冗余机械臂路径规划方法 - Google Patents
一种基于强化学习的冗余机械臂路径规划方法 Download PDFInfo
- Publication number
- CN111923039B CN111923039B CN202010673526.1A CN202010673526A CN111923039B CN 111923039 B CN111923039 B CN 111923039B CN 202010673526 A CN202010673526 A CN 202010673526A CN 111923039 B CN111923039 B CN 111923039B
- Authority
- CN
- China
- Prior art keywords
- mechanical arm
- reinforcement learning
- training
- parameters
- end effector
- 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
Images
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/1605—Simulation of manipulator lay-out, design, modelling of manipulator
-
- 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/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- 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)
- Feedback Control In General (AREA)
- Manipulator (AREA)
Abstract
本发明涉及一种基于强化学习的冗余机械臂路径规划方法,基于深度强化学习算法,构建冗余机械臂训练环境,设计奖励函数对机械臂进行训练。虽然进行离线训练的时间较长,但训练成功后的网络模型可以直接使用,有效地规避了传统路径规划算法的不足,提高了遥操作的时效性和交互效率。
Description
技术领域
本发明属于遥操作任务中路径规划方向,涉及一种基于强化学习的冗余机械臂路径规划方法。
背景技术
遥操作系统是利用机器人,通过传输媒介由操作人员在相对安全的环境中向远端机器人发送指令,远端机器人利用自身搭载的传感器获取数据进行反馈,操作人员利用这些反馈进行下一步决策的系统。遥操作系统广泛应用在空间安装,核工业,深海探测,军事等高危或远距离环境中。
遥操作系统中使用的机械臂从最开始的三轴机械臂,六轴机械臂发展具有更高冗余性的七轴机械臂,乃至九轴机械臂。其中七自由度冗余机械臂凭借其良好的仿人特性逐渐被广泛采用,相较于传统的六自由度机械臂,机械臂的末端执行器可以以任意姿态到达工作空间的任意位置,可以避免奇异,避免关节超限,可以在任务空间进行避障。
在遥操作任务中,机械臂的路径规划作为重要的一部分,采用多种方法进行求解,如人工势场法,RRT算法,遗传算法等,这些算法或存在易陷入局部最优解,或规划的路径不平滑,或占用大量存储空间,不符合遥操作虚拟仿真端“实时性”的要求,给冗余机械臂的路径规划带来不便。
发明内容
要解决的技术问题
为了避免现有技术的不足之处,本发明提出一种基于强化学习的冗余机械臂路径规划方法,聚焦于遥操作中冗余机械臂的路径规划问题,针对传统路径规划算法的求解问题,基于Unity ml-agents强化学习算法训练机械臂完成路径规划任务,大大提升了解算的速度同时减少了程序运行时的内存消耗,提高了遥操作任务的操作效率。
技术方案
一种基于强化学习的冗余机械臂路径规划方法,其特征在于步骤如下:
步骤1:根据Kuka iiwaR820冗余机械臂的DH参数,在建模软件调整每个模型旋转轴的位置和方向;将修改好的模型导出成.fbx文件,导入unity软件中;
步骤2、强化学习环境配置:
1、在unity软件中,采用三维建模得到训练模型的环境,将环境中碰撞相关的模型的Tag设置为“obstacle”;
2、每个场景中必须包含且只包含一个Academy,用于与Python强化学习网络进行通讯;
3、设置机械臂的Agent组件:新建脚本并继承Agent类,重写CollcetObservation()方法,在其中使用addVectorObs()方法添加Agent观测的变量,包括末端执行器的位置target.transform.position和姿态target.transform.locaRotation,当前末端执行器与目标位置的距离distance,当前末端执行器与末端姿态的差异difQuaternion,环境的障碍物信息meshObstacle;
步骤3、奖惩函数设计:
1、在Agent的AgentAction()方法中重写强化学习的奖惩方法,当机械臂到达末端位姿且不发生碰撞时,使用SetAward()方法将奖励设置为1,并标记为Done;
2、采用能量最优的原则,机械臂在到达目标点前每次仿真移动都会有-0.01的惩罚;
3、机械臂的移动使得其末端执行器较上一个状态State更接近目标时,得到0.05的奖励;
4、机械臂在运动过程中与场景障碍物发生碰撞或与自身发生碰撞时,惩罚值为-1,标记为Done并结束本次episode;
步骤4、训练与模型导出:
1、Ml-agent采用PPO强化学习算法,训练之前对参数进行配置,修改config.yaml中的超参数。
2、设置每个episode的max step为3000-5000;通过控制台指令运行ml-agent进行训练;
3、更改配置文件中超参数,使用TensorBoard对比不同参数得到的训练结果,选择最优的进行导出,导出为.nn文件;
4、将训练模型.nn文件导入到unity中Agent的Behavior Parameter中,运行unity,机械臂根据目标点位置进行路径规划。
所述修改config.yaml中的超参数:将batches调整为1024,buffer_size调整为10240。
所述每个episode的max step为5000。
有益效果
本发明提出的一种基于强化学习的冗余机械臂路径规划方法,基于深度强化学习算法,构建冗余机械臂训练环境,设计奖励函数对机械臂进行训练。虽然进行离线训练的时间较长,但训练成功后的网络模型可以直接使用,有效地规避了传统路径规划算法的不足,提高了遥操作的时效性和交互效率。
附图说明
图1:方法流程图
具体实施方式
现结合实施例、附图对本发明作进一步描述:
步骤一:模型设定
(1)强化学习需要首先确定训练模型,本专利使用Kuka iiwaR820冗余机械臂进行,在Unity虚拟仿真软件中进行训练,将待训练的机械臂三维模型导入建模软件3dsmax;
(2)该机械臂的每个关节均为旋转关节,均有各自的旋转轴,根据机械臂的DH参数在建模软件中对模型的坐标轴进行调整,使其满足关节旋转的要求且不会造成死锁问题;
(3)将修改好的模型导出成.fbx文件,导入unity中使用。
步骤二:强化学习环境配置
(1)设置训练模型的环境,如场景中的障碍物等,即强化学习中的Environment,环境可以由三维建模得到,也可以由遥操作三维重建模块获得,将与碰撞相关的模型的Tag设置为“obstacle”;
(2)设置Academy。每个场景中必须包含且只包含一个Academy,用于与Python强化学习网络进行通讯;
(3)设置机械臂的Agent组件。新建脚本并继承Agent类,重写CollcetObservation()方法,在其中使用addVectorObs()方法添加Agent观测的变量,包括末端执行器的位置target.transform.position和姿态target.transform.locaRotation,当前末端执行器与目标位置的距离distance,当前末端执行器与末端姿态的差异difQuaternion,环境的障碍物信息meshObstacle。
步骤三:奖惩函数设计
(1)在Agent的AgentAction()方法中重写强化学习的奖惩方法,当机械臂到达末端位姿且不发生碰撞时,使用SetAward()方法将奖励设置为1,并标记为Done;
(2)采用能量最优的原则,机械臂在到达目标点前每次仿真移动都会有-0.01的惩罚;
(3)机械臂的移动使得其末端执行器较上一个状态State更接近目标时,得到0.05的奖励;
(4)机械臂在运动过程中与场景障碍物发生碰撞或与自身发生碰撞时,惩罚值为-1,标记为Done并结束本次episode。
步骤四:训练与模型导出
(1)设置训练参数。Ml-agent采用PPO强化学习算法,训练之前需要对参数进行配置,修改config.yaml中的参数,将batches调整为1024,buffer_size调整为10240;
(2)设置每个episode的max step为5000。通过控制台指令运行ml-agent进行训练;
(3)调节配置文件中其他参数,如折扣因子gamma,学习率alpha等,使用TensorBoard对比不同参数得到的训练结果,选择最优的进行导出,导出为.nn文件。
(4)将训练模型导入到unity中Agent的Behavior Parameter中,运行unity,机械臂即可根据目标点位置进行路径规划。
Claims (3)
1.一种基于强化学习的冗余机械臂路径规划方法,其特征在于步骤如下:
步骤1:根据Kuka iiwaR820冗余机械臂的DH参数,在建模软件调整每个模型旋转轴的位置和方向;将修改好的模型导出成.fbx文件,导入unity软件中;
步骤2、强化学习环境配置:
(1)在unity软件中,采用三维建模得到训练模型的环境,将环境中碰撞相关的模型的Tag设置为“obstacle”;
(2)每个场景中必须包含且只包含一个控制中心,用于与Python强化学习网络进行通讯;
(3)设置机械臂的代理组件:新建脚本并继承代理类,重写CollcetObservation()方法,在其中使用addVectorObs()方法添加代理所需的变量,包括末端执行器的位置和末端执行器的姿态,当前末端执行器与目标位置的距离,当前末端执行器与末端姿态的差异,环境的障碍物信息;
步骤3、奖惩函数设计:
(1)在代理的AgentAction()方法中重写强化学习的奖惩方法,当机械臂到达末端位姿且不发生碰撞时,使用SetAward()方法将奖励设置为1,并标记为Done;
(2)采用能量最优的原则,机械臂在到达目标点前每次仿真移动都会有-0.01的惩罚;
(3)机械臂的移动使得其末端执行器较上一个状态更接近目标时,得到0.05的奖励;
4、机械臂在运动过程中与场景障碍物发生碰撞或与自身发生碰撞时,惩罚值为-1,标记为Done并结束本次迭代;
步骤4、训练与模型导出:
(1)多智能体代理采用PPO强化学习算法,训练之前对参数进行配置,修改配置文件中的超参数。
(2)设置每次迭代的最大值范围为3000-5000;通过控制台指令运行ml-agent进行训练;
(3)更改配置文件中超参数,使用图形化截面对比不同参数得到的训练结果,选择最优的进行导出,导出为.nn文件;
(4)将训练模型.nn文件导入到unity中代理的行为参数中,运行unity,机械臂根据目标点位置进行路径规划。
2.根据权利要求1所述基于强化学习的冗余机械臂路径规划方法,其特征在于:所述修改配置文件中的超参数:将批处理大小调整为1024,缓存大小调整为10240。
3.根据权利要求1所述基于强化学习的冗余机械臂路径规划方法,其特征在于:所述每次迭代的最大值为5000。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010673526.1A CN111923039B (zh) | 2020-07-14 | 2020-07-14 | 一种基于强化学习的冗余机械臂路径规划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010673526.1A CN111923039B (zh) | 2020-07-14 | 2020-07-14 | 一种基于强化学习的冗余机械臂路径规划方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111923039A CN111923039A (zh) | 2020-11-13 |
CN111923039B true CN111923039B (zh) | 2022-07-05 |
Family
ID=73313537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010673526.1A Active CN111923039B (zh) | 2020-07-14 | 2020-07-14 | 一种基于强化学习的冗余机械臂路径规划方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111923039B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113232016A (zh) * | 2021-04-13 | 2021-08-10 | 哈尔滨工业大学(威海) | 一种强化学习与模糊避障融合的机械臂路径规划方法 |
CN113232019A (zh) * | 2021-05-13 | 2021-08-10 | 中国联合网络通信集团有限公司 | 机械臂控制方法、装置、电子设备及存储介质 |
CN113459109B (zh) * | 2021-09-03 | 2021-11-26 | 季华实验室 | 机械臂路径规划方法、装置、电子设备及存储介质 |
CN113752265B (zh) * | 2021-10-13 | 2024-01-05 | 国网山西省电力公司超高压变电分公司 | 一种机械臂避障路径规划方法、系统及装置 |
CN114800488B (zh) * | 2022-03-18 | 2023-06-20 | 清华大学深圳国际研究生院 | 一种基于深度强化学习的冗余机械臂可操作度优化方法及装置 |
CN116394264B (zh) * | 2023-06-07 | 2023-08-25 | 安徽大学 | 基于群体编码脉冲神经网络的多机械臂协同运动规划方法 |
CN116834018B (zh) * | 2023-08-07 | 2024-08-27 | 南京云创大数据科技股份有限公司 | 一种多机械臂多目标寻找的训练方法及训练装置 |
CN117162103B (zh) * | 2023-11-01 | 2024-02-09 | 中山大学 | 一种冗余机器人自碰撞规避控制方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10161470A1 (de) * | 2001-12-13 | 2003-06-26 | Volkswagen Ag | Roboter-Programmierung |
WO2006007833A1 (de) * | 2004-07-21 | 2006-01-26 | Erwin Rothballer | Verfahren und anordnung zum programmieren der bahn eines robotergerätes |
CN105786483A (zh) * | 2016-01-05 | 2016-07-20 | 南京熊猫电子股份有限公司 | 基于平板电脑的焊接机器人离线编程系统及其离线编程方法 |
CN109719721A (zh) * | 2018-12-26 | 2019-05-07 | 北京化工大学 | 一种仿蛇搜救机器人适应性步态自主涌现方法 |
CN110328668A (zh) * | 2019-07-27 | 2019-10-15 | 南京理工大学 | 基于速度平滑确定性策略梯度的机械臂路径规划方法 |
CN110658829A (zh) * | 2019-10-30 | 2020-01-07 | 武汉理工大学 | 一种基于深度强化学习的群无人艇智能避碰方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110198813B (zh) * | 2017-01-31 | 2023-02-28 | 株式会社安川电机 | 机器人路径生成装置和机器人系统 |
-
2020
- 2020-07-14 CN CN202010673526.1A patent/CN111923039B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10161470A1 (de) * | 2001-12-13 | 2003-06-26 | Volkswagen Ag | Roboter-Programmierung |
WO2006007833A1 (de) * | 2004-07-21 | 2006-01-26 | Erwin Rothballer | Verfahren und anordnung zum programmieren der bahn eines robotergerätes |
CN105786483A (zh) * | 2016-01-05 | 2016-07-20 | 南京熊猫电子股份有限公司 | 基于平板电脑的焊接机器人离线编程系统及其离线编程方法 |
CN109719721A (zh) * | 2018-12-26 | 2019-05-07 | 北京化工大学 | 一种仿蛇搜救机器人适应性步态自主涌现方法 |
CN110328668A (zh) * | 2019-07-27 | 2019-10-15 | 南京理工大学 | 基于速度平滑确定性策略梯度的机械臂路径规划方法 |
CN110658829A (zh) * | 2019-10-30 | 2020-01-07 | 武汉理工大学 | 一种基于深度强化学习的群无人艇智能避碰方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111923039A (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111923039B (zh) | 一种基于强化学习的冗余机械臂路径规划方法 | |
CN113352319B (zh) | 基于改进快速扩展随机树的冗余机械臂避障轨迹规划方法 | |
CN108326849B (zh) | 一种基于改进人工势场法的多自由度机械臂动态避障路径规划方法 | |
CN112757306B (zh) | 一种机械臂逆解多解选择和时间最优轨迹规划算法 | |
CN110561440B (zh) | 一种冗余度机械臂加速度层多目标规划方法 | |
CN108068113B (zh) | 7-dof仿人臂飞行物体作业最小加速度轨迹优化 | |
CN108638055B (zh) | 一种七自由度空间机械臂自主避障规划方法 | |
CN113127989B (zh) | 一种六自由度机械臂逆运动学解析求解控制方法 | |
CN107538493A (zh) | 一种避免线缆干涉约束的工业机器人轨迹规划方法 | |
CN110682286A (zh) | 一种协作机器人实时避障方法 | |
CN111890349A (zh) | 一种四自由度机械臂运动规划方法 | |
CN104760041A (zh) | 一种基于突加度的障碍物躲避运动规划方法 | |
Li et al. | Development of articulated robot trajectory planning | |
CN110561419B (zh) | 臂型线约束柔性机器人轨迹规划方法及装置 | |
CN107443379A (zh) | 一种基于仿真数据的机械臂运动控制方法 | |
CN111791234A (zh) | 一种狭窄空间内多机器人空间工作位置防撞控制算法 | |
Wen et al. | Obstacle avoidance path planning of manipulator based on improved RRT algorithm | |
CN115716264A (zh) | 一种基于机器人轨迹优化的涂装生产线优化方法 | |
CN118305803A (zh) | 一种基于六轴机械臂的改进粒子群轨迹规划方法 | |
Cheng et al. | Robot arm path planning based on improved RRT algorithm | |
CN117415806A (zh) | 变目标条件下加卸钻杆机械手的避障轨迹规划方法 | |
CN113103262A (zh) | 机器人控制装置和用于控制机器人的方法 | |
Tang et al. | Coordinated motion planning of dual-arm space robot with deep reinforcement learning | |
CN117021076A (zh) | 考虑能耗与运动性能的大型冗余机械臂轨迹规划方法 | |
Wang et al. | Path planning optimization for teaching and playback welding robot |
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 |