倒立摆是一种经典的物理模型,也是一种典型的非线性控制系统。它由一个可以绕垂直轴旋转的摆杆和一个可以在水平方向上移动的小车组成。倒立摆的目标是通过控制小车的位置或速度来使摆杆保持在垂直向上的平衡位置。
中科深谷直线一级倒立摆系统
倒立摆系统具有高度的不稳定性、多变量、高阶次、非线性、强耦合等特点,这使得它能够成为验证控制策略有效性的理想平台。倒立摆控制问题的有效解决方案可以为机器人控制、自动驾驶汽车、航空航天等领域的控制系统设计提供理论基础和技术支撑,推动相关技术的发展和应用。
传统的倒立摆控制方法包括PID控制、线性二次型调节器(LQR)、模型预测控制(MPC)等。虽然能取得一定效果,但这些方法在面对非线性、不确定性和复杂环境变化的情况下,其适应性和鲁棒性往往受到限制。
◆ PID控制结构简单,易于实现,但难以处理非线性系统,参数调整困难;LQR是一种最优控制算法,适用于线性系统,但对模型误差敏感,无法处理约束条件;MPC可以处理非线性系统和约束条件,但计算量大,对模型准确性要求高。
强化学习是一种机器学习方法,通过与环境的交互来学习决策策略,以最大化长期累积奖励。强化学习的特点包括无需模型信息、能够处理高维状态空间、具有自我学习与自我适应能力、适用于复杂和非线性问题等。
中科深谷技术研发团队将强化学习方法引入到倒立摆的平衡控制当中,基于Nvidia开发的物理模拟环境Isaac Gym进行仿真实践。通过仿真训练的结果可以看出,强化学习方法能够在不依赖精确模型的情况下学习最佳控制策略,从而取得良好的控制效果,展现出了其在解决复杂控制问题上的巨大潜力。
Isaac Gym中加载的一级摆和二级摆仿真模型
01 能够处理复杂非线性问题
倒立摆系统本身是非常不稳定的,且具有高度的非线性特性。强化学习算法能够处理这种复杂非线性问题,通过智能体与环境的交互,自动学习到有效的控制策略来维持倒立摆的平衡。
02 无需精确模型
强化学习是一种数据驱动的方法,它能够在不依赖精确模型的情况下学习最佳控制策略。这对于像倒立摆这样的复杂非线性系统尤为重要,因为在实际应用中,系统的精确动力学模型往往难以获取或存在不确定性。
03 具有较强的适应性和鲁棒性
强化学习算法能够通过与环境的不断交互,自动调整控制策略以适应环境的变化。这使得基于强化学习的倒立摆控制方法在面对系统扰动、噪声和不确定性时表现出较强的适应性和鲁棒性。
04 自动优化控制策略
强化学习的目标是最大化累积奖励,这促使智能体在学习过程中不断尝试和优化控制策略。通过大量的试错和经验积累,智能体能够找到最优或接近最优的控制策略,从而提高倒立摆控制的性能和稳定性。
▷ STEP 1
建立并行仿真环境,包括坐标系朝向, 基础环境,地面和加载模型资产;其中,加载资产完成仿真环境的创建是创建并行环境的重要步骤,一个环境由一组行为体和传感器组成,Isaac Gym中,并行环境是按2D网格形式排列,需要设定单个环境大小及在网格中的位置,每次设定一行,形成全局并行仿真空间,本次训练并行环境数为256。
▷ STEP 2
强化学习算法采用A2C:
A2C算法将回报(Q)值分解为状态值和优势值,优势函数能够评估在给定状态下与其他行为相比更好的行为。
▷ STEP 3
构建优势函数:根据杆的垂直偏离角度,速度及滑块水平移速构建优势函数。
▷ STEP 4
开始训练,共训练最少500个epoch,训练视频实例如下:
单摆并行仿真训练视频
单摆推理效果视频如下:
单摆推理视频
与单摆类似,根据双摆的两个杆垂直与相对偏离度,速度及滑块水平移速构建优势函数的双摆训练视频如下:
双摆并行仿真训练视频
双摆推理效果视频如下:
将强化学习方法用于解决倒立摆的平衡控制问题有效提升了倒立摆系统的控制性能,进而可以推广到机器人控制、自动驾驶汽车、航空航天等领域,为这些领域的控制系统设计提供有力的技术支撑,具有重要的实际应用价值。