博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第三期 行为规划——7.状态转移方程的伪代码
阅读量:5728 次
发布时间:2019-06-18

本文共 1646 字,大约阅读时间需要 5 分钟。

行为规划伪代码

实现转换函数的一种方法是为每个可访问的“下一个状态”生成粗略轨迹,然后找到最佳状态。为了“找到最好的”,我们通常使用成本函数

然后我们可以计算出每条粗略轨迹的代价是多大,然后选择成本轨迹最低的状态。

稍后我们会更详细地讨论这一点,但首先仔细阅读下面的伪代码,以更好地了解转换函数的工作原理。

def transition_function(predictions, current_fsm_state, current_pose, cost_functions, weights):    # only consider states which can be reached from current FSM state.    possible_successor_states = successor_states(current_fsm_state)    # keep track of the total cost of each state.    costs = []    for state in possible_successor_states:        # generate a rough idea of what trajectory we would        # follow IF we chose this state.        trajectory_for_state = generate_trajectory(state, current_pose, predictions)        # calculate the "cost" associated with that trajectory.        cost_for_state = 0        for i in range(len(cost_functions)) :            # apply each cost function to the generated trajectory            cost_function = cost_functions[i]            cost_for_cost_function = cost_function(trajectory_for_state, predictions)            # multiply the cost by the associated weight            weight = weights[i]            cost_for_state += weight * cost_for_cost_function         costs.append({
'state' : state, 'cost' : cost_for_state}) # Find the minimum cost state. best_next_state = None min_cost = 9999999 for i in range(len(possible_successor_states)): state = possible_successor_states[i] cost = costs[i] if cost < min_cost: min_cost = cost best_next_state = state return best_next_state

显然,我们在这里重申了一些重要的细节。即:什么这些成本函数以及我们如何建立呢?接下来我们将讨论这个问题!

转载于:https://www.cnblogs.com/fuhang/p/8995132.html

你可能感兴趣的文章
SeeSite在win7下不能装载提示md:117的解决方法
查看>>
杭电2102--A计划(Bfs)
查看>>
HDU-1069-Monkey and Banana
查看>>
JSON 特殊字符处理
查看>>
20145337 《信息安全系统设计基础》实验五 网络通信
查看>>
【leetcode】942. DI String Match
查看>>
Python全局解释器锁
查看>>
MySQL • 特性分析 • 到底是谁执行了FTWL
查看>>
手把手教你写Router框架入门篇
查看>>
(五) 文章编辑页开发
查看>>
MYSQL 索引类型、什么情况下用不上索引、什么情况下不推荐使用索引
查看>>
深入分析GCC
查看>>
kibana使用操作部分
查看>>
rabbitmq消息队列——"topic型交换器"
查看>>
kernel zram feature
查看>>
一例ssh key 无密码登录失败案例 (dsa,openssh7)
查看>>
list的sublist用法
查看>>
java 企业 网站源码 模版 屏幕自适应 有前后台 springmvc SSM 生成静态化
查看>>
Activiti6.0 java项目框架 spring5 SSM 工作流引擎 审批流程
查看>>
MongoDB ReplicaSet 集群搭建
查看>>