You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

双涡旋流场机器人导航Q-learning能耗奖励函数集成方案咨询

双涡旋流场Q-learning导航奖励函数优化方案

核心思路

要平衡路径效率(时间步)和能耗,奖励函数需包含三部分:终点奖励、时间步惩罚、能耗关联奖励。能耗量化基于智能体移动方向与流场速度矢量的夹角——顺流时能耗低给予正向奖励,逆流时能耗高给予负向惩罚,垂直流场则按基础能耗处理。

能耗量化逻辑

流场中每个网格点对应速度矢量(U, V),智能体动作对应固定方向矢量:

  • up: (0, 1)
  • down: (0, -1)
  • right: (1, 0)
  • left: (-1, 0)

通过计算动作方向矢量与流场速度矢量的点积判断顺逆流:

  • 点积>0:动作与流场同向(顺流),能耗低,奖励与点积正相关
  • 点积<0:动作与流场反向(逆流),能耗高,惩罚与点积负相关
  • 点积=0:垂直流场,无额外能耗奖励/惩罚

调整后的奖励函数实现

需注意流场随时间t变化,需根据当前episode的时间步匹配对应流场数据,代码实现如下:

# 定义动作对应的方向矢量
action_dirs = {
    0: (0, 1),   # up
    1: (0, -1),  # down
    2: (1, 0),   # right
    3: (-1, 0)   # left
}

def get_reward(state, action, current_t_step):
    # 1. 终点奖励:保持高优先级引导智能体到达目标
    if state == end_point:
        return 100
    
    # 2. 时间步惩罚:避免智能体无意义绕路,保障路径效率
    step_penalty = -1
    
    # 3. 能耗关联奖励
    x_idx, y_idx = state
    # 获取当前时间步的流场速度数据
    current_flow = VEC[current_t_step % t_incr]  # 循环复用流场时间序列
    u = current_flow['U'][y_idx, x_idx]
    v = current_flow['V'][y_idx, x_idx]
    flow_vec = np.array([u, v])
    
    # 获取当前动作的方向矢量
    action_vec = np.array(action_dirs[action])
    
    # 归一化点积,避免流场绝对速度影响奖励幅度
    flow_norm = np.linalg.norm(flow_vec) if np.linalg.norm(flow_vec) != 0 else 1
    action_norm = np.linalg.norm(action_vec)
    dot_product = np.dot(flow_vec, action_vec) / (flow_norm * action_norm)
    
    # 能耗奖励权重:可根据需求调整平衡程度
    energy_weight = 5.0
    energy_reward = dot_product * energy_weight
    
    # 总奖励计算
    total_reward = step_penalty + energy_reward
    return total_reward

平衡效率与能耗的调参建议

  • 终点奖励(100):保持较大值,确保智能体以到达终点为核心目标
  • 时间步惩罚(-1):固定小惩罚,防止智能体过度绕路
  • 能耗权重(5.0):若更侧重能耗最小化,可增大权重;若更看重路径速度,可减小权重
  • UCB探索参数c:训练初期适当增大c,让智能体充分探索不同能耗的路径;后期减小c,聚焦利用最优路径

注意事项

  • 流场时间序列复用:当单episode步数超过t_incr时,用current_t_step % t_incr循环调用流场数据
  • 零流场处理:代码中已针对静止流场(U=V=0)做归一化除零判断,避免计算错误

内容的提问来源于stack exchange,提问作者hmlkd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 17:24:58