RoboCup2d学习——动作链

RoboCup2d学习——动作链

动作链
产生–评估–优化–执行–更新
1.sample_player.cpp
2116 createActionGenerator() 创建动作产生器
//****************
shoot
strict check pass
Cross
direct pass
short dribble
self pass (long dribble)
simple dribble
*******************//不同的动作
通过调用addGenerator() 函数,将创建的动作压入容器中,最后返回存储动作的容器
PS:产生一系列的动作放入容器中,为接下来的动作执行做准备

2.action_chain_graph.cpp
146 calculateResultChain()计算出结果
doSearch()
294 calculateResultBestFirstSearch()
(1)初始化,定义最好带球分数和最好传球分数,将vector容器清空;
(2)创建一个优先队列;
(3)检测当前状态,将储存最好结果的容器设置为empty_path,将储存最优评估的容器置为当前的评估结果;
结果放入队列;
(4)无限循环:
获取最有价值的动作链,当优先队列为空时跳出循环;
series 储存优先队列的第一个元素的first;(queue.top().first
存疑,first?)
获取候选的状态:若series为空,状态就为当前的状态,否则就是series的最后一个元素的状态;
产生候选的动作;
对每个候选动作进行评估并放入优先队列:(循环–超过最大的评估量时跳出)
double ev 储存评估的结果,每次对最好的结果进行更新;
PS:获得最好的结果,即最优的动作,产生最优的动作链

3.action_chain_holder.cpp
120 update() 更新动作链

4.sample_field_evaluator.cpp
对球场上不同的情况进行评估
evaluate_state() 评估函数 该函数的返回值是double类型的值,可根据返回值的数值大小对动作链进行调整

5.bhv_chain_action.cpp
205 execute() 执行函数

总结:球员通过动作链完成一系列动作,动作链是在不断地更新中的,通过不同的动作链的得分情况来对球员的动作链进行及时的调整以获得最高的比分。动作链的优化和评估紧密结合,通过一系列的函数调用获得最好的动作链,获得最高的比分。(可对评估函数进行调整优化)

疑问:
1.action_chain_graph.cpp
335 std::vector< ActionStatePair > series = queue.top().first;
其中的first不知是什么
2.场上每个球员(除守门员外)的初始动作链是否一致?比赛最开始如何确定执行的动作链?

PS:本文档仅为个人学习总结,其中有些自己的疑问,也有不完整的地方,或许会有错误,望指正!

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
RoboCup 2D Yushan是一个机器人足球比赛的项目。RoboCup是一个国际机器人足球比赛,旨在推动机器人技术的发展和提高,培养人工智能领域的专业人才。RoboCup 2D Yushan是其一个比赛项目,主要针对二维机器人足球比赛。 RoboCup 2D Yushan比赛是通过模拟的方式进行的,参赛队伍需要开发自己的机器人程序来控制虚拟足球比赛的机器人。这些程序需要具备智能决策、运动控制和战术策略等能力。参赛队伍在比赛需要通过机器人程序来实现进攻、防守和传球等技术动作,争取在比赛取得胜利。 RoboCup 2D Yushan比赛对参赛队伍的要求很高。参赛队伍需要具备深入了解机器人控制、运动规划和协作策略等方面的知识。参赛队伍还需要不断优化和改进自己的机器人程序,以适应比赛的各种情况和策略。 RoboCup 2D Yushan是一个很有挑战性的比赛项目。通过参与这样的比赛,人们可以展示自己在机器人控制和人工智能领域的技术实力,促进学术和行业界的交流与合作,推动机器人技术的发展和应用。此外,这样的比赛也能够激发年轻人对科学和技术的兴趣,培养他们的创新精神和团队合作能力。 总而言之,RoboCup 2D Yushan是一个鼓励研究和发展机器人技术的国际比赛项目,通过模拟的方式展示机器人控制和智能决策等方面的能力,旨在促进机器人技术的跨领域交流与合作,促进人工智能领域的发展和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值