Main Page   Files   Productions   Problem Spaces   Operators   Goal Hierarchy   Groups   Prod. By Type   Todo   All  


turn.soar

wander/
     turn.soar [src]

Go to the documentation for this file...

00001 echo "\nLoading wander/turn.soar "
00002 
00003 ################################
00004 ### Propose Turn operator if blocked
00005 ################################
00006 
00007 ##!
00008 # @brief Proposes turn operator
00009 # 
00010 # Proposes turn when forward is blocked.
00011 #
00012 # @problem-space wander
00013 # @operator turn
00014 # @type proposal
00015 sp {wander*propose*turn
00016    (state <s> ^name wander
00017               ^io.input-link.blocked <b>)
00018    (<b> ^forward yes
00019         ^ { << left right >> <dir> } no)
00020 -->
00021    (<s> ^operator <o> + =)
00022    (<o> ^name turn 
00023         ^actions <a>)
00024    (<a> ^rotate.direction <dir>
00025         ^radar.switch on
00026         ^radar-power.setting 13)}
00027 
00028 ##!
00029 # @brief Proposes backward operator
00030 # 
00031 # Proposes backward (two left turns) when all
00032 # directions are blocked.
00033 #
00034 # @problem-space wander
00035 # @operator turn
00036 # @type proposal
00037 sp {wander*propose*turn*backward
00038    (state <s> ^name wander
00039               ^io.input-link.blocked <b>)
00040    (<b> ^forward yes ^left yes ^right yes)
00041 -->
00042    (<s> ^operator <o> +)
00043    (<o> ^name turn 
00044         ^actions.rotate.direction left)}
00045 

Generated with SoarDoc on Wed Jun 25 18:02:44 2003 by ray