📄 node12.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!--Converted with LaTeX2HTML 2002-2-1 (1.71)original version by: Nikos Drakos, CBLU, University of Leeds* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan* with significant contributions from: Jens Lippmann, Marek Rouchal, Martin Wilck and others --><HTML><HEAD><TITLE>BATS Agent Architecture</TITLE><META NAME="description" CONTENT="BATS Agent Architecture"><META NAME="keywords" CONTENT="howtorobocop"><META NAME="resource-type" CONTENT="document"><META NAME="distribution" CONTENT="global"><META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1"><META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"><LINK REL="STYLESHEET" HREF="howtorobocop.css"><LINK REL="next" HREF="node13.html"><LINK REL="previous" HREF="node9.html"><LINK REL="up" HREF="howtorobocop.html"><LINK REL="next" HREF="node13.html"></HEAD><BODY ><DIV CLASS="navigation"><!--Navigation Panel--><A NAME="tex2html204" HREF="node13.html"><IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="/usr/share/latex2html/icons/next.png"></A> <A NAME="tex2html200" HREF="howtorobocop.html"><IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="/usr/share/latex2html/icons/up.png"></A> <A NAME="tex2html194" HREF="node11.html"><IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="/usr/share/latex2html/icons/prev.png"></A> <A NAME="tex2html202" HREF="node1.html"><IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="/usr/share/latex2html/icons/contents.png"></A> <BR><B> Next:</B> <A NAME="tex2html205" HREF="node13.html">Tutorial</A><B> Up:</B> <A NAME="tex2html201" HREF="howtorobocop.html">RoboCup 3D Simulation HowTo</A><B> Previous:</B> <A NAME="tex2html195" HREF="node11.html">The Soccerbot</A> <B> <A NAME="tex2html203" HREF="node1.html">Contents</A></B> <BR><BR></DIV><!--End of Navigation Panel--><H1><A NAME="SECTION00500000000000000000"></A><A NAME="chArchitecture"></A><BR>BATS Agent Architecture</H1><P>After setting up a large, behavior driven system for the 2006 RoboCup competition in Bremen, we decided that although dividing the code up into behaviors was good, the architecture was missing some crucial thing. The 2006 robots had a tendency to switch behaviors to quickly, and would also try to combine tasks that shouldn't be combined (like attacking and defending at the same time).With this in mind, we created a list of minimal requirements for our architecture:<UL><LI>An agent should be able to commit to a task, but never get completely stuck in it. For example: <SPAN CLASS="textit">Keep getting up until you are done</SPAN>.</LI><LI>An agent should be able to decide which behavior best fits the situation. For example: <SPAN CLASS="textit">Dont' walk to the ball, when the play mode doesn't allow you to</SPAN>.</LI><LI>Behaviors should be groupable, to keep certain behaviors from interfering with others. For example: <SPAN CLASS="textit">Don't try to stand up, when you want to lie down on the ground</SPAN>.</LI><LI>Some behaviors are only usefull after running other behaviors. For example: <SPAN CLASS="textit">Don't try to go through a locked door, before unlocking it.</SPAN></LI></UL><P>The Little Green BATS architecture allows the agent programmer to group behaviors in a flexible hierarchy, commit agents to behaviors, and decide which of a group of applicable behaviors is the best.To support all of these features, the architecture introduces a hierarchy of behaviors. Each behavior can have sub-behaviors in steps and slots.Steps are used to create sequences of behaviors: when the next step is possible, it is run.Slots are contained in steps and allow for behaviors to compete (share a slot) or run in parallel (each behavior has it's own slot, and these slots share a step).<P>Because the architecture has no knowledge of the applicability of a behavior, the behavior will have to export this information in a uniform interface. This is known as the capability. The capability of a behavior, tells the architecture how likely (and how certain) a behavior thinks it can achieve it's goals when executed.<P>The architecture can choose between competing behaviors by sorting the capability of the competing behaviors and choosing the first in the list. This sorting method is something which is implementation specific.<P><P><DIV CLASS="navigation"><HR><!--Navigation Panel--><A NAME="tex2html204" HREF="node13.html"><IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="/usr/share/latex2html/icons/next.png"></A> <A NAME="tex2html200" HREF="howtorobocop.html"><IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="/usr/share/latex2html/icons/up.png"></A> <A NAME="tex2html194" HREF="node11.html"><IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="/usr/share/latex2html/icons/prev.png"></A> <A NAME="tex2html202" HREF="node1.html"><IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="/usr/share/latex2html/icons/contents.png"></A> <BR><B> Next:</B> <A NAME="tex2html205" HREF="node13.html">Tutorial</A><B> Up:</B> <A NAME="tex2html201" HREF="howtorobocop.html">RoboCup 3D Simulation HowTo</A><B> Previous:</B> <A NAME="tex2html195" HREF="node11.html">The Soccerbot</A> <B> <A NAME="tex2html203" HREF="node1.html">Contents</A></B> </DIV><!--End of Navigation Panel--><ADDRESS>Bram2007-11-18</ADDRESS></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -