探秘 Gymnasium 中的双摆机器人:Acrobot 强化学习环境全解析
这个由两个连杆组成的简单机械系统,却蕴含着复杂的动力学特性,成为检验平衡控制与运动规划算法的绝佳平台。Acrobot 环境模拟了一个由两个连杆(link)和两个关节(joint)组成的双摆系统,其中一个连杆的一端固定,两个连杆之间的关节(此为驱动关节)是可驱动的。举个例子:若 theta1 让第一个连杆向左摆(theta1>0 ),同时 theta2 让第二个连杆继续向左 “甩开” 第一个连杆(更

在强化学习的世界里,有许多经典环境帮助研究者和开发者测试各种算法的性能,Acrobot 就是其中一个极具代表性的案例。这个由两个连杆组成的简单机械系统,却蕴含着复杂的动力学特性,成为检验平衡控制与运动规划算法的绝佳平台。今天,我们就来深入了解这个有趣的强化学习环境。
PART1
Acrobot 环境的核心构成

Acrobot 环境模拟了一个由两个连杆(link)和两个关节(joint)组成的双摆系统,其中一个连杆的一端固定,两个连杆之间的关节(此为驱动关节)是可驱动的。系统的目标是通过在驱动关节上施加扭矩,让自由端的连杆摆动到指定高度之上,而初始状态则是整个系统自然下垂。
从结构上看,Acrobot 包含以下关键部分:
-
两个连杆,长度均为 1.0 米
-
两个关节,其中连接两个连杆的关节是可驱动的
-
每个连杆都有设定的质量、转动惯量和质心位置
-
系统通过施加三种可能的扭矩(-1、0、1 牛・米)来控制驱动关节
PART2
动作空间

Acrobot动作是离散的、确定性的,表示施加在两个连杆之间驱动关节上的扭矩。包含三个可能的动作:
-
0:对驱动关节施加 -1牛・米的扭矩
-
1:对驱动关节施加 0牛・米的扭矩
-
2:对驱动关节施加 1牛・米的扭矩
eg. 动作a1=0,表示动作是0,对驱动关节施加-1牛・米的扭矩。
PART3
观测空间

观测结果是一个形状为 (6,) 的 ndarray,提供关于两个旋转关节角度及其角速度的信息。
其中
-
theta1是第一个连杆与竖直向下方向的夹角,其中角度为 0 表示第一个连杆直接向下。如果连杆向左(或逆时针)摆动,theta1 为 正角度;向右(或顺时针)摆动,theta1 为 负角度,物理上可理解为以固定支点为圆心,第一个连杆绕支点旋转的角度。
-
theta2是第二个连杆与第一个连杆的夹角,是相对角度。当两个连杆完全对齐(都竖直向下,或都朝同一方向)时,theta2 = 0,如果第二个连杆相对于第一个连杆 向左(或逆时针)“张开” ,theta2 为 正角度;向右(或顺时针)“张开” ,theta2 为 负角度 。举个例子:若 theta1 让第一个连杆向左摆(theta1>0 ),同时 theta2 让第二个连杆继续向左 “甩开” 第一个连杆(更向左摆),此时 theta2 为正;如果第二个连杆反而向右摆(和第一个连杆 “折叠” ),theta2 为负。
-
代码实现时会将这两个角度控制在[-π, π]之间,方便算法处理状态。
-
theta1 和 theta2 的角速度分别限制在 ±4π 和 ±9π 弧度/秒。
PART4
奖励
目标是让自由端以尽可能少的步数(驱动驱动关节的次数)达到指定的目标高度。Acrobot 的奖励机制设计简洁而有效:
-
每一步未达到目标时,奖励为-1
-
达到目标时,奖励为0
-
奖励阈值为-100
这种奖励设计鼓励智能体尽快找到达到目标的策略,因为每多一步都会累积更多的负奖励。
PART5
初始状态
基础状态中的每个参数(theta1、theta2 以及两个角速度)都在-0.1到0.1 之间均匀初始化。这意味着两个连杆都向下,并带有一定的初始随机性。
PART6
episode 结束条件
episode 结束的条件有两个:
-
终止:自由端达到目标高度,即设定的高度满足条件 -cos(theta1) - cos(theta2 + theta1) > 1.0
-
截断: episode 长度超过 500 步
PART7
动力学模型与参数设置
Acrobot 的动力学模型基于物理原理构建,考虑了重力、质量、转动惯量等因素的影响。系统采用四阶龙格 - 库塔(RK4)方法求解微分方程,模拟系统的运动状态变化。
环境中一些重要的物理参数包括:
-
连杆质量:均为 1.0 千克
-
连杆长度:均为 1.0 米
-
质心位置:每个连杆的中点(0.5 米处)
-
时间步长:0.2 秒
-
最大角速度:theta1 为 ±4π rad/s,theta2 为 ±9π rad/s
值得注意的是,Acrobot 提供了两种动力学模型选择:默认情况下,Acrobot 的动力学遵循 Sutton 和 Barto 的书《强化学习:导论》中所述。但是,可以修改 book_or_nips 参数,将摆的动力学更改为原始NeurIPS 论文 论文中描述的动力学。
PART8
如何使用 Acrobot 环境
使用 Gymnasium 创建和使用 Acrobot 环境非常简单,以下是一个基本示例:


END
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)