一种基于改进SAC算法的六轴机械臂路径规划

妥吉英 ,  徐笑南 ,  李俊 ,  张玉琛 ,  黄安 ,  胡都 ,  刘梓林

中国机械工程 ›› 2025, Vol. 36 ›› Issue (12) : 2986 -2992.

PDF (1678KB)
中国机械工程 ›› 2025, Vol. 36 ›› Issue (12) : 2986 -2992. DOI: 10.3969/j.issn.1004-132X.2025.12.022
智能制造

一种基于改进SAC算法的六轴机械臂路径规划

作者信息 +

A Six-axis Robotic Arm Path Planning Based on Improved SAC Algorithm

Author information +
文章历史 +
PDF (1717K)

摘要

为提升柔性动作-评价(SAC)算法的收敛速度及训练的稳定性,在引入优势函数与奖励聚中机制的基础上,提出一种改进SAC算法。为验证改进SAC算法的训练效果,在六轴机械臂路径规划场景中进行了仿真分析,并与深度确定性策略梯度(DDPG)算法、双延迟深度确定性策略梯度(TD3)算法及SAC算法进行对比。结果显示,改进SAC算法在收敛速度和稳定性上均超越DDPG、TD3与SAC算法,训练1500回合后其路径规划成功率较SAC算法提高4.8%。进一步的实验验证了改进SAC算法的规划结果在真实环境中的可行性与有效性。

Abstract

To improve the convergence speed and training stability of the SAC(soft actor-critic) algorithm, an improved SAC algorithm was proposed, incorporating the concepts of advantage functions and reward centering. To validate the performance of the improved SAC algorithm, simulation analyses were conducted in a six-axis robotic arm path planning scenario, comparing with DDPG(deep deterministic policy gradient), TD3(twin delayed deep deterministic policy gradient), and the original SAC algorithm. The results show that the improved SAC outperforms DDPG, TD3, and SAC in both of the convergence speed and stability. After 1500 training episodes, the path planning success rate increases by 4.8% compared to the SAC algorithm. Further experiments confirm the feasibility and effectiveness of the improved SAC algorithm's planning results in real-world environments.

Graphical abstract

关键词

六轴机械臂 / 路径规划 / 优势函数 / 奖励聚中 / 改进SAC算法

Key words

six-axis robotic arm / path planning / advantage function / reward centering / improved SAC algorithm

引用本文

引用格式 ▾
妥吉英,徐笑南,李俊,张玉琛,黄安,胡都,刘梓林. 一种基于改进SAC算法的六轴机械臂路径规划[J]. 中国机械工程, 2025, 36(12): 2986-2992 DOI:10.3969/j.issn.1004-132X.2025.12.022

登录浏览全文

4963

注册一个新账户 忘记密码

0 引言

伴随着人工智能技术的快速发展,基于强化学习的机器人路径规划研究逐渐成为行业热点。各种强化学习算法,如Q-learining、深度确定性策略梯度(deep deterministic policy gradient,DDPG)、双延迟深度确定性策略梯度(twin delayed deep deterministic policy gradient,TD3)、柔性动作-评价(soft Actor-Critic,SAC)等算法已经在诸多路径规划任务中表现出了卓越的性能1-3。将深度强化学习算法应用于机械臂路径规划,不仅可提高机械臂在复杂环境下的学习、决策能力,也可提高机械臂的工作效率与安全性。

强化学习算法4根据其架构特点可分为Actor、Critic与Actor-Critic三种类型。SAC算法是结合了Actor与Critic优势的一类深度强化学习算法,Actor网络负责生成策略并根据策略选择动作,Critic网络负责评估Actor网络所选动作的价值,通过学习指导Actor网络策略优化。相比于其他深度强化学习算法,SAC算法引入了熵正则化概念,结合最大熵强化学习思想,在策略优化中平衡探索与利用。李永迪等5引入优先级经验回放技术,提出了PER-SAC算法,将其用在机器人的路径规划中,实现了不同障碍物环境中机器人的仿真路径规划。刘正发6以SAC算法为框架,通过激光雷达获取地图信息,设计了连续的奖励函数,对移动机器人进行局部路径规划,验证了算法的有效性。裴结安7为更好地解决三维空间中机械臂周围有动态障碍物场景下存在的问题,基于SAC算法提出了一种动态场景中的动态避障规划策略,相较于常规的强化学习方法,具有决策速度快,稳定性高等优点。ZHANG等8使用ROS平台与Gazebo软件分别在无障碍、静态障碍与动态障碍环境中,采用一种改进的SAC-LSTM算法,开展了仿真移动机器人在室内场景中的路径规划实验,结果显示采用该算法在动态障碍物环境中到达目标点的成功率相较于SAC算法的成功率提高了10.5%。

尽管现有的研究表明SAC算法及其改进算法在路径规划中取得了较好的成果,但在复杂、高维动作空间环境中,SAC算法仍然存在不足之处。在六轴机械臂路径规划这样高维动作空间中,SAC算法在策略稳定性方面仍然存在一定的局限性,导致算法在生成动作时可能会产生较大的波动,且高自由度下状态-动作空间复杂,SAC算法在训练初期的探索效率较低,导致收敛速度较慢。针对上述问题,本文提出了一种基于改进SAC算法的六轴机械臂路径规划方法,通过引入优势函数和奖励聚中机制来提高算法的稳定性和收敛效率,最后将改进SAC算法与SAC、DDPG、TD3三种算法进行了对比,并通过实验验证了改进SAC算法的性能。

1 六轴机械臂避障路径规划模型搭建

1.1 六轴机械臂建模

六轴串联机械臂包括6个连杆与6个传动关节,采用改进DH(MDH)参数法9建立机械臂连杆坐标系,如图1所示。根据连杆坐标系建立该机械臂的MDH参数表,如表1所示,表1li-1为连杆长度,di为连杆偏移量,αi-1为连杆扭转角,θi为关节转角。

1.2 碰撞检测

为实现六轴机械臂在路径规划过程中的有效避障,采用包围盒算法进行碰撞检测10。包围盒算法是一种常见的几何碰撞检测方法,能够快速判定机械臂连杆或末端执行器与环境障碍物之间是否发生碰撞。

碰撞检测的核心是判断机械臂连杆的包围盒与障碍物的包围盒是否发生相交。对两个圆柱形包围盒的碰撞检测11图2所示。

设连杆上下两个圆柱面的圆心坐标分别为(xi,yi,zi)(xi+1,yi+1,zi+1),则该连杆的轴线方程为

x-xixi+1-xi=y-yiyi+1-yi=z-zizi+1-zi=c        c0,1

其中,c为比例系数。进一步化简可得出该轴线在空间中的表达式为

Xi(c)=cxi+1+(1-c)xiYi(c)=cyi+1+(1-c)yiZi(c)=czi+1+(1-c)zi

同理,可推出障碍物使用圆柱形包围盒进行包络后的表达式,根据两点的直线方程,计算两点之间的欧氏距离为

L=(Xi-Xj)2+(Yi-Yj)2+(Zi-Zj)2

其中,L为两直线的距离,Xi,Yi,Zi为障碍物圆柱形包围盒轴线上任意点的坐标,若两包围盒之间的最小距离L小于两包围盒半径之和,即

L<ri+rj

则判定发生碰撞。其中,rirj分别为连杆和障碍物的包围盒半径。碰撞检测流程如图3所示。

2 深度强化学习

强化学习问题12通常被描述为一个马尔可夫决策过程(Markov decision process, MDP)13,由一个五元组(S,A,P,R,γ)表示,其中,S为状态空间,A为动作空间,P为状态转移概率,R为奖励函数,γ为折扣因子。强化学习的目标是找到最优策略,使得智能体在与环境的交互中能够最大化累积奖励,在这一过程中,智能体的行为可以建模为马尔可夫决策过程,如图4所示。

2.1 六轴机械臂深度强化学习环境建模

在深度强化学习任务中,环境设计的好坏直接影响智能体的学习效率和最终性能。基于机械臂路径规划任务,需要设计一个有针对性的深度强化学习环境,其中包括动作空间、状态空间以及奖励函数的设计14。动作空间定义为机械臂的每个关节转角的变化量,即

θ={θ1,θ2,θ3,θ4,θ5,θ6}

状态空间包括机械臂当前的关节转角、末端执行器位置、障碍物位置、目标位置以及任务是否完成的标志:

s=θ1,θ2,θ3,θ4,θ5,θ6,pend,pobs,ptar,T

其中,pend为机械臂末端位置,pobs为障碍物位置,ptar为目标位置,T为该任务是否完成的标志。

奖励函数的设计是深度强化学习环境设计的核心部分,它直接决定了智能体的学习目标。在机械臂路径规划任务中,奖励函数由以下三个部分组成:

1)接近目标奖励。接近目标的奖励函数采用指数递减形式,随着机械臂接近目标位置,奖励呈指数增长:

r1=e-10pdispdis=ptar-pend

2)碰撞奖励。若机械臂与障碍物发生碰撞,则给予较大的负奖励:

r2=-5        发生碰撞0             其他          

3)完成目标奖励。当机械臂到达目标点并且误差小于设置阈值时,给予额外奖励:

r3=10        pdis0.0050          其他             

最终的奖励函数为以上三部分的累加:

R=r1+r2+r3

2.2 SAC算法

SAC算法是一种基于策略梯度的深度强化学习算法,结合了最大熵强化学习思想,能够在连续动作空间任务中实现高效学习15。SAC算法的核心目标是通过最大化策略的随机性(熵)和累积奖励的加权和来实现探索与利用的平衡16

SAC算法主要由Actor策略网络、Critic价值网络、最大熵目标、经验回放等组成。策略网络的优化目标为最大化奖励和熵的组合:

Jπ=ES~D,a~π[αlog(a|s)-Q(s,a)]

其中,α为熵系数;log(a|s)为熵正则化项(强化学习中,一般log(·)函数采用自然对数,即ln(·));Q(s,a)为当前动作的价值估计;S~D表示从数据集中采样一个状态随机变量,D为经验回放缓冲区;a~π表示动作a是从策略π的概率分布中采样获得。

图5所示,Actor网络根据当前策略生成动作a,执行动作a后,环境返回奖励r与下一时刻状态s'。当经验积累了足够数量后,从经验回放池中采样小批量数据,使用目标V网络计算目标Q值:

y=r+γVtar(s')
Vtar(s')=Ea'~π[mini=1,2 Q(s,a)-αlog(a'|s')]

其中,Vtar(s')为下一状态的目标值,用于Q网络的更新。

通过最小化Q网络的损失函数进行Critic网络更新:

LQ=Es,a,r,s'~D[(Q(s,a)-y)2]

2.3 改进SAC算法

在SAC算法中,策略网络的更新依赖于梯度估计,而直接使用Qs,a进行策略更新会导致梯度的高方差,这是因为Q值受环境随机性、奖励尺度等因素影响较大,容易造成训练过程中的不稳定。

优势函数(advantage function)17用于衡量在给定状态s下选择某个动作a相对于平均水平的优劣,可表示为

A(s,a)=Q(s,a)-V(s)

其中,Q(s,a)为状态-动作对的价值,表示在状态s下执行动作a后的期望回报;V(s)为状态价值,表示在状态s下根据当前策略的平均期望回报。

优势函数通过Q(s,a)减去状态价值V(s),将动作的评估从绝对值转换为相对值,去除了与具体动作无关的基准部分,可降低梯度的方差,使得策略更新更加平稳。相比于直接使用Q(s,a),优势函数提供了更细粒度的动作评估方式。

在深度强化学习中,探索(Exploration)和利用(Exploitation)的平衡是一个核心问题18。优势函数通过识别高优势的动作,可以在鼓励探索的同时确保探索方向是有价值的,提高了探索效率,避免了盲目尝试低价值动作。

为避免Q值的高估,提高优势函数的准确性和算法的稳定性,在改进SAC算法中,优势函数的计算可表示为

A(s,a)=mini=1,2 Q(s,a)-V(s)

引入优势函数后,策略网络的优化目标可表示为

Jπ=ES~D,a~π[αlog(a|s)-A(s,a)]

Q网络的优化目标并不直接依赖优势函数,故Q网络的优化目标仍为

LQ=Es,a,r,s'~D[(Q(s,a)-y)2]

V网络的优化目标可表示为

LV=ES~D,a~π[(V(s)-Q(s,a)+αlog(a|s))2]

为进一步提高训练的稳定性与效率,在引入优势函数的同时加入奖励聚中(reward centering)机制19,降低奖励分布的偏移,避免奖励值范围过大或过小对训练带来的负面影响。引入奖励中心化机制后,原始的奖励信号R被重新调整为中心化后的奖励信号R'

R'=R-μ

其中,μ为奖励分布的均值。

3 仿真分析与实验验证

3.1 仿真分析

为验证改进SAC算法相对于DDPG、TD3、SAC算法的优越性,在Mujoco中加载六轴机械臂与障碍物模型,并进行改进SAC算法的训练任务,绘图观察算法的训练结果,每次机械臂的任务目标为从初始位置运动到目标点,同时不发生碰撞。在图6所示的机械臂深度强化学习仿真模型中,目标位置为红色球体,两个圆柱体在目标位置两侧。

图7为DDPG、TD3、SAC与改进SAC算法的回合数-奖励对比曲线,由图可知,DDPG算法收敛速度最慢,且在训练后期奖励波动性较大;TD3算法在训练225回合后逐渐收敛,奖励趋于稳定,该算法与DDPG算法都表现出了较慢的学习过程;SAC算法相较于前两种算法,收敛速度更快,在训练了100回合后曲线逐渐收敛,奖励趋于稳定;改进SAC算法收敛速度最快,在80回合后曲线就开始收敛,奖励开始保持稳定,且在训练后期的总回报的方差也小于SAC算法。即通过本文提出的改进算法,机械臂可既快又稳地实现路径规划任务。

图8为不同强化学习算法的成功率对比曲线,可以看出,DDPG算法的成功率上升速率最慢,在训练了1000回合后,成功率为73.8%;TD3算法成功率的上升速率仅次于SAC算法,在训练1000回合后,成功率为87.1%,SAC算法较DDPG算法和TD3算法在成功率的上升速率上有较大优势,在训练1000回合后,成功率为88.9%。改进SAC算法不论是在训练初期还是训练后期,成功率结果均优于另外三条曲线。改进SAC算法在训练1000回合后,成功率为95.5%。这表明改进SAC算法在高维路径规划任务中具有明显优势。

表2所示为不同的深度强化学习算法路径规划训练1500回合后的成功率,从表中结果可以看出,改进SAC算法的最终成功率高于DDPG、TD3与SAC算法,在训练1500回合后,其成功率为96.33%,相较于SAC算法,提高了4.8%。

图9示出了改进SAC算法在路径规划训练中的一条机械臂末端路径,蓝色曲线表示机械臂末端的运动路径,绿色为机械臂末端起始位置,蓝色柱状为障碍物。从图中可看出,此次运动规划生成的路径连续且平滑,无突兀或不合理的转折点,这表明改进SAC算法在六轴机械臂路径规划实现了可靠的障碍物规避,并抵达了任务目标。

3.2 实验验证

为验证本文提出的改进SAC算法在实际任务中的性能表现,搭建了六轴机械臂系统,并开展了图10所示的机械臂控制实验。其中,上位机为PC,使用USB转CAN模块将控制信号从上位机发送给机械臂,机械臂的六个关节电机全部采用大然科技的一体化关节电机,型号分别为B06-PA-36G、B18PA-36-M、B06-PA-36G、B03-PA-10G、B01-PA-10-G以及B01-PA-10-G,电机内部采用角度编码芯片(监测角度)与电流检测芯片(监测力矩),杆件采用碳纤维与铝合金材料,环境中障碍物采用2020铝型材模拟。

图10所示为机械臂在改进SAC算法仿真训练基础上的实际避障运动过程:初始状态、两个中间状态以及终止状态。实验开始时,机械臂距离障碍物较近,准备执行改进SAC算法的规划路径,由图10可以看出,机械臂从初始位置a开始,运动到b与c位置的过程中成功避开了障碍物,最终到达目标位置d。

图11所示为机械臂从初始位置(图10a)运动到目标位置(图10d)过程中改进SAC算法规划的关节转角曲线(实线)与实验中机械臂关节的角度传感器测量值(点线)对比。可以看到,在本实验中,机械臂各个关节的理论转角位置与实验转角几乎完全一致,这个过程也验证了训练良好的改进SAC算法可同时在Mujoco复杂仿真环境和实际复杂实验环境中实现良好的路径规划能力。此外,结合图10d与图11可以看到,通过约50步的角度控制,机械臂快速地运动到了设定的目标附近。实验结果表明,通过本文提出的改进SAC算法可以快速、高效地在复杂环境中完成对六轴机械臂的路径规划任务。

4 结论

1)通过引进优势函数和奖励聚中机制提出一种改进SAC算法,在收敛速度方面,所提算法相比传统SAC算法、DDPG算法和TD3算法表现出了显著优势。改进SAC算法在80回合后逐渐收敛,而传统SAC算法、TD3算法、DDPG算法分别在100回合、225回合、340回合后才开始收敛。

2)训练良好的改进SAC算法相较于传统SAC算法,其稳态方差更小,性能更稳定。同时,相较于传统SAC算法,改进SAC算法的成功率更高。特别地,在训练1500回合后,SAC算法可以在传统SAC算法的基础上提高成功率约4.8%,展示了更强的学习能力。通过与标准SAC算法、DDPG算法、TD3算法的对比,验证了改进SAC算法在高维路径规划中的优越性。

3)训练良好的改进SAC算法模型可在实际复杂环境中取得良好的路径规划效果。

参考文献

[1]

LIU Y CHUANG C Y.DDPG-based Adaptive Robust Tracking Control for Aerial Manipulators with Decoupling Approach[J].IEEE Transactions on Cybernetics2021(99):1-14.

[2]

ALI A ASHI J FZHU Z H.Path Planning of 6-DOF Free-floating Space Robotic Manipulators Using Reinforcement Learning[J].Acta Astronautica2024224:367-378.

[3]

戴晟潭,王寅,尚晨晨.基于深度强化学习的多无人车协同路径规划方法[J/OL].北京航空航天大学学报2024.(2024-09-10)[2025-04-08].

[4]

DAI ShengtanWANG YinSHANG Chenchen.Multi-UAV Collaborative Path Planning Method Based on Deep Reinforcement Learning[J/OL]. Journal of Beijing University of Aeronautics and Astronautics2024. (2024-09-10)[2025-04-08].

[5]

陈学松,杨宜民.强化学习研究综述[J].计算机应用研究201027(8):2834-2838.

[6]

CHEN XuesongYANG Yimin. A Review of Reinforcement Learning Research[J]. Computer Applications and Research201027(8):2834-2838.

[7]

李永迪,李彩虹,张耀玉,.基于改进SAC算法的移动机器人路径规划[J].计算机应用202243(2):654-660.

[8]

LI YongdiLI CaihongZHANG Yaoyuet al. Path Planning of Mobile Robots Based on the Improved SAC algorithm[J]. Computer Applications202243(2):654-660.

[9]

刘正发.面向局部路径规划的深度强化学习移动机器人导航[D].贵阳:贵州大学,2021.

[10]

LIU Zhengfa. Deep Reinforcement Learning-based Mobile Robot Navigation for Local Path Planning[D]. Guiyang: Guizhou University, 2021.

[11]

裴结安.基于深度强化学习的机械臂动态避障规划策略研究[D].南昌:华东交通大学,2022.

[12]

PEI Jiean. Research on Dynamic Obstacle Avoidance Planning Strategy of Robotic Arm Based on Deep Reinforcement Learning[D]. Nanchang:East China Jiaotong University, 2022.

[13]

ZHANG YCHEN P.Path Planning of a Mobile Robot for a Dynamic Indoor Environment Based on an SAC-LSTM Algorithm[J].Sensors202323(24): 9802.

[14]

KHALIL WKLEINFINGER J.A New Geometric Notation for Open and Closed-loop Robots[C]∥IEEE International Conference on Robotics & Automation.San Francisco, 1986:1174-1179.

[15]

靳雁霞,乔星宇,张翎,.布料与刚体模型间的空间网格碰撞检测方法[J].中国图象图形学报202429(10):3144-3156.

[16]

JIN YanxiaQIAO XingyuZHANG Linget al. A Spatial Mesh Collision Detection Method Between Cloth and Rigid Body Models[J]. Journal of Image and Graphics29(10), 3144-3156..

[17]

CAO XZOU XJIA Cet al.RRT-based Path Planning for an Intelligent Litchi-picking Manipulator[J].Computers and Electronics in Agriculture2019156:105-118.

[18]

SUTTON R SBARTO A G.Reinforcement Learning: an Introduction[J].IEEE Transactions on Neural Networks19989(5):1054.

[19]

BELLMAN R. A Markovian Decision Process[J]. Journal of Mathematics and Mechanics1957(6): 679-684.

[20]

张宇航, 陈雯柏, 张佳琪, . 一种面向六自由度机械臂柔顺装配的深度强化学习策略[J]. 重庆理工大学学报 (自然科学)202538(12): 148-154.

[21]

ZHANG YuhangCHEN WenbaiZHANG Jiaqiet al.A Deep Reinforcement Learning Strategy for Compliant Assembly of Six-degree-of-freedom Robotic Arms[J]. Journal of Chongqing University of Technology (Natural Science)202538(12): 148-154.

[22]

HAARNOJA TZHOU AHARTIKAINEN Ket al.Soft Actor-Critic Algorithms and Applications[EB/OL].[2025-04-08].

[23]

何联格,李天华,聂远航,.一种基于DDPG算法的6轴机械臂控制研究[J].重庆理工大学学报(自然科学)202337(9):134-140.

[24]

HE LianluoLI TianhuaNIE Yuanhuanget al. A Study on the Control of a 6-axis Robotic Arm Based on the DDPG Algorithm[J]. Journal of Chongqing University of Technology(Natural Science)202337(9), 134-140.

[25]

时高松, 赵清海, 董鑫, . 基于 PPO 算法的自动驾驶人机交互式强化学习方法[J]. 计算机应用研究202441(9):2732-2736.

[26]

SHI GaosongZHAO QinghaiDONG Xinet al. A Human-machine Interactive Reinforcement Learning Method for Autonomous Driving Based on the PPO Algorithm[J]. Application Research of Computers202441(9):2732-2736.

[27]

方宝富, 余婷婷, 王浩, . 稀疏奖励场景下基于状态空间探索的多智能体强化学习算法[J]. 模式识别与人工智能202437(5): 435-446.

[28]

FANG BaofuYU TingtingWANG Haoet al.Multi-agent Reinforcement Learning Algorithm Based on State Space Exploration in Sparse Reward Scenarios[J]. Pattern Recognition and Artificial Intelligence202437(5): 435-446.

[29]

NAIK AWAN YTOMAR Met al. Reward Centering[EB/OL]. [2025-04-08].

基金资助

重庆市教育委员会科学技术研究计划青年项目(KJQN202201134)

重庆市教育委员会科学技术研究计划青年项目(KJQN202101144)

重庆市基础科学与前沿技术研究专项(CSTC2020JCYJ-MSXMX0331)

AI Summary AI Mindmap
PDF (1678KB)

0

访问

0

被引

详细

导航
相关文章

AI思维导图

/