当前位置: 首页 > news >正文

【Text2reward】环境状态信息学习笔记

1. LiftCube-v0

1.1 self.obj: sapien.Actor

表示场景中可交互的立方体对象,是机器人操作任务的目标物体。该立方体具有以下特性:

  • 几何属性:立方体尺寸通过 self.cube_half_size 定义(默认值 [0.02, 0.02, 0.02]),表示立方体在 XYZ 三个方向的半长
  • 物理属性:具有碰撞体和质量属性,支持物理模拟交互(如抓取、推动、掉落等行为)

1.1.1 初始化:self.obj = self._build_cube(self.cube_half_size)

通过 self.obj.set_pose() 设置初始姿态,之后可通过 self.obj.pose.p 获取当前中心点坐标;

2. PickCube-v0

3. TurnFaucet-v0

3.1 self.target_angle: float

单位: 弧度(rad)

描述:
表示水龙头开关关节需要旋转到的目标角度值,是任务成功的关键指标。该参数具有以下特性:

计算逻辑:

# 在 _set_init_and_target_angle 方法中计算
qmin, qmax = self.target_joint.get_limits()[0]
self.target_angle = qmin + (qmax - qmin) * 0.9  # 取关节运动范围的90%位置

任务关联:

  • 作为 TurnFaucet 任务的核心成功条件
  • 当前关节角度通过 self.current_angle 属性获取
  • 角度差值 angle_dist = target_angle - current_angle 用于奖励计算

3.2 self.current_angle: float

单位: 弧度(rad)

描述:
表示水龙头开关关节的当前旋转角度值,是任务状态监测的核心参数。该参数具有以下特性:

计算方式:

@property
def current_angle(self):
    return self.faucet.get_qpos()[self.target_joint_idx]

任务关联:

  • self.target_angle 共同构成角度差值 angle_dist = target_angle - current_angle
  • evaluate() 方法中用于计算最终任务成功率
  • 作为 compute_dense_reward() 的核心输入参数,影响奖励函数的计算逻辑

4. OpenCabinetDrawer-v1

4.1 self.target_link.pose: sapien.Pose

描述:
表示目标关节连接部件的当前位姿信息,包含位置和旋转四元数。该参数是操作柜门/抽屉任务的核心空间坐标系参考点。

关键属性:

# 位置坐标 (x, y, z)
position = self.target_link.pose.p 

# 旋转四元数 (w, x, y, z) 
rotation = self.target_link.pose.q

任务关联:

  • _compute_grasp_poses 中计算抓取位姿的基准坐标系
  • 用于 _set_target_handle_info 生成手柄点云的变换矩阵
  • 作为 evaluate 方法中计算链接速度/角速度的基准

4.2 self.agent.get_ee_coords_sample()

获取末端执行器(End-Effector)几何采样点的三维坐标,用于密集奖励计算和接触点分析。该方法在操作类任务中常用于计算夹爪与目标物体的空间关系。

返回值:

np.ndarray  # 形状为 [2, 10, 3] 的三维数组
  • 第一维度:表示左右两个夹爪
  • 第二维度:每个夹爪上采样的10个空间点
  • 第三维度:三维坐标值 (X, Y, Z)

典型应用场景:[calculate ee_coords]
通过计算夹爪采样点与目标手柄点云的最小距离,生成抓取奖励信号

几何特性

  • 采样点分布在夹爪的接触表面
  • 坐标值基于世界坐标系
  • 动态更新反映夹爪的实时位姿变化

4.3 self.target_handle_pcd: np.ndarray

形状: [N, 3] (N=100 个三维坐标点)

描述:
表示目标柜门/抽屉手柄的三维点云坐标,用于密集奖励计算中的空间关系分析。该点云数据在 【_set_target_handle_info()】 方法中生成;

任务关联:

  • OpenCabinetDoorOpenCabinetDrawer 任务中用于计算夹爪与手柄的接近度
  • 作为 compute_dense_reward 的核心输入参数,影响抓取阶段的奖励计算
  • 点云坐标系基于手柄部件的局部坐标系

动态特性:

  • 每个 episode 初始化时随机重新采样
  • 通过位姿变换矩阵转换到世界坐标系,示例如下:[code]
handle_pose = self.target_link.pose
handle_pcd = transform_points(
    handle_pose.to_transformation_matrix(), 
    self.target_handle_pcd
)

4.4 self.target_handle_sdf.signed_distance(ee_center_at_handle)

参数:

ee_center_at_handle: np.ndarray  # 形状为 [N, 3] 的数组,表示夹爪中心点在手柄局部坐标系中的坐标

返回值:

np.ndarray  # 形状为 [N,] 的数组,包含每个采样点到手柄网格表面的符号距离
  • 正值: 表示点在网格外部
  • 负值: 表示点在网格内部
  • 零值: 表示点在网格表面

功能描述:
该方法用于计算夹爪中心点与目标手柄几何表面的空间关系,是密集奖励计算中抓取质量评估的核心指标。具体实现基于 trimesh.proximity.ProximityQuery 库。

任务关联性: [code]
compute_dense_reward 中用于生成抓取奖励信号:

  • 当最大符号距离>0时表示夹爪有效包裹手柄;
  • 距离值映射到[-1,0]区间作为奖励分量;

4.5 info["open_enough"]

类型: bool

描述:
表示目标柜门/抽屉是否已开启到预设阈值,是任务成功判定的核心指标。该参数通过以下逻辑计算:

计算逻辑:

# 在 evaluate 方法中计算 (line 341-345)
link_qpos = self.link_qpos  # 当前关节位置
qmin, qmax = self.target_joint.get_limits()[0]
self.target_qpos = qmin + (qmax - qmin) * 0.9  # 目标开启位置为运动范围的90%
flags["open_enough"] = link_qpos >= self.target_qpos

任务关联:

  • 作为 evaluate() 方法返回的核心成功标志
  • 直接影响 success 的最终判定:
success = flags["open_enough"] and flags["cabinet_static"]

5. OpenCabinetDrawer-v1

6. PushChair-v1

6.1 self.agent.get_ee_coords()

获取双机械臂末端执行器(End-Effector)的实时三维坐标,用于计算夹爪与目标物体的空间交互关系。该方法在推椅子任务中主要用于评估机械臂与椅子的接触状态。

返回值:

np.ndarray  # 形状为 [2, 3] 的二维数组
  • 第一维度:表示左右两个机械臂(左臂索引0,右臂索引1)
  • 第二维度:三维坐标值 (X, Y, Z)
  • 坐标系:世界坐标系

任务关联: [code]
compute_dense_reward 中用于计算夹爪与椅子的距离:

  • 计算夹爪坐标与椅子点云的最小距离
  • 生成接触奖励信号
  • 评估机械臂是否处于有效操作位置

6.2 self._get_chair_pcd()

生成椅子在当前关节状态下的三维点云表示,用于密集奖励计算和空间关系分析。该方法通过聚合椅子各部件链接的点云数据构建完整椅子模型。

返回值:

np.ndarray  # 形状为 [N, 3] 的二维数组
  • N: 点云总数(取决于椅子部件数量和采样密度)
  • 三维坐标值 (X, Y, Z) 基于世界坐标系

生成逻辑: [code]

  1. 遍历椅子所有链接部件
  2. 获取每个部件的局部点云数据
  3. 应用部件当前位姿的变换矩阵到局部点云
  4. 合并所有变换后的点云数据

任务关联: [code]
compute_dense_reward 中用于:

  • 计算机械臂末端与椅子的最小距离
  • 评估接触状态
  • 生成空间接近度奖励信号

6.3 info["chair_tilt"]: float

表示椅子根链接(root link)与垂直方向的倾斜角度,用于评估椅子是否保持直立状态。

计算逻辑:

z_axis_chair = self.root_link.pose.to_transformation_matrix()[:3, 2]
chair_tilt = np.arccos(z_axis_chair[2])  # 计算Z轴与全局Z轴(0,0,1)的夹角

物理意义:

  • 值域范围: [0, π/2] 弧度
  • 0 弧度: 椅子完全直立
  • π/2 弧度: 椅子完全平躺

任务关联: [code]
evaluate 方法中用于:

  1. 判断成功条件 chair_standing=chair_tilt < 0.05 * np.pi
  2. 生成密集奖励信号 reward += -chair_tilt * 0.2

6.4 chair_vel = self.root_link.velocity[:2] [code]

类型: np.ndarray

形状: (2,)

描述:
表示椅子根链接(root link)在水平面(XY平面)的线速度向量,用于评估椅子移动状态和方向有效性。

物理意义:

  • 元素 [0]: X轴方向速度分量(单位:米/秒)
  • 元素 [1]: Y轴方向速度分量(单位:米/秒)
  • 忽略Z轴垂直方向速度分量

任务关联: [code]
compute_dense_reward 中用于:

  1. 计算速度模长 chair_vel_norm = np.linalg.norm(chair_vel)
  2. 评估速度方向与目标方向的一致性 cos_chair_vel_to_target = sdist.cosine(disp_chair_to_target, chair_vel)
  3. 生成速度相关奖励信号

6.5 dist_chair_to_target = info["dist_chair_to_target"]

类型: float

描述:
表示椅子根链接(root link)与目标位置的二维欧氏距离,用于评估椅子是否成功移动到目标区域。

计算逻辑:


disp_chair_to_target = self.chair.pose.p[:2] - self.target_xy
dist_chair_to_target = np.linalg.norm(disp_chair_to_target)

物理意义:

  • 单位:米
  • 仅计算XY平面距离(忽略垂直方向)
  • 值域范围: [0, +∞)

6.6 chair_ang_vel_norm = info["chair_ang_vel_norm"]

类型: float

描述:
表示椅子根链接(root link)的角速度模长,用于评估椅子的旋转状态稳定性。

计算逻辑:

ang_vel_norm = np.linalg.norm(self.root_link.angular_velocity)

物理意义:

  • 单位:弧度/秒 (rad/s)
  • 值域范围: [0, +∞)
  • 0 表示无旋转运动
  • 值越大表示旋转速度越快

任务关联: [code]
evaluate 方法中用于:

  1. 生成观测指标 chair_ang_vel_norm=ang_vel_norm
  2. 间接影响成功判定(需结合线速度指标)

相关文章:

  • python __name__与__main__深刻理解(涵详细解释、应用场景、代码举例、高级用法)
  • 基于WebRtc,GB28181,Rtsp/Rtmp,SIP,JT1078,H265/WEB融合视频会议接入方案
  • 工单分类总结
  • Leetcode Hot 100 35.搜索插入位置
  • 体育直播模板nba英超直播欧洲杯直播模板手机自适应
  • 实时视频分析的破局之道:蓝耘 MaaS 如何与海螺 AI 视频实现高效协同
  • [leetcode]1631. 最小体力消耗路径(bool类型dfs+二分答案/记忆化剪枝/并查集Kruskal思想)
  • 介绍 Docker 的基本概念和优势,以及在应用程序开发中的实际应用
  • Qt窗口控件之菜单栏QMenuBar
  • HTTP Header 中的 cookie 和 set-cookie
  • 笔记:介绍如何使用Docfx生成开发文档
  • 在若依框架,导出对象作为模版,填充内容可以搜索数据库数据作为下拉选择数据,一个工具类就够了【拿来就用】
  • c++:红黑树
  • Vue 中的nextTick函数的原理、作用及使用场景。
  • 蓝桥杯备赛(搜索)
  • el-table折叠懒加载支持排序
  • -PHP 应用文件管理模块包含上传遍历写入删除下载安全
  • C++调用ffmpeg解复用、解码案例
  • vue学习九
  • Apache APISIX 架构浅析
  • 暴利之下:宠物殡葬行业的冰与火之歌
  • 人民日报评“组团退演出服”:市场经济诚信原则需全社会维护
  • 追光|铁皮房、土操场,这有一座“筑梦”摔跤馆
  • 85后清华博士黄佐财任湖北咸宁市咸安区委副书记、代区长
  • 技术派|伊朗展示新型弹道导弹,美“萨德”系统真的拦不住?
  • 公募基金改革八大要点:建立浮动管理费收取机制、降低规模排名考核权重