
APT.all-test.clean-house-new.elaborations.direction-laird@umich.edu,lairdpc1.soar Maven / Gradle / Ivy
sp {robot*elaborate*state*gateway-direction-structures
(state ^name robot
^superstate nil)
-->
( ^gateway-directions
^avoidance-turning )
( ^south #values are opposite - which direction to head to go through gateway that is on that side
^north
^east
^west )
( ^value 0
^min -5
^max 5
^x-displace -1.5
^y-displace 0)
( ^value 180
^min-pos 175
^max-pos 180
^max-neg -175
^min-neg -180
^x-displace 1.5
^y-displace 0)
( ^value 90
^min 85
^max 95
^x-displace 0
^y-displace -1.5)
( ^value -90
^min -95
^max -85
^x-displace 0
^y-displace 1.5)
( ^item )
( ^id -2
^turn -80)
( ^id -1
^turn -50)
( ^id 2
^turn 80)
( ^id 1
^turn 50)
( ^id 0
^turn 0)
}
sp {robot*elaborate*state*directions
(state ^name robot
^superstate nil)
-->
( ^directions )
( ^nnw 22.5
^nw 45
^wnw 67.5
^wsw 112.5
^sw 135
^ssw 157.5
^sse -157.5
^se -135
^ese -112.5
^ene -67.5
^ne -45
^nne -22.5)
}
sp {robot*elaborate*state*directions*eswn
(state ^name robot
^superstate nil)
-->
( ^directions )
( ^value north ^opposite south)
( ^value south ^opposite north)
( ^value east ^opposite west)
( ^value west ^opposite east)
}
sp {robot*elaborate*direction*north1
(state ^name robot
^directions
-^io.input-link.self.pose.yaw >
-^io.input-link.self.pose.yaw <= )
( ^nw
^ne )
-->
( ^direction north)
}
sp {robot*elaborate*direction*east
(state ^name robot
^directions
-^io.input-link.self.pose.yaw >
-^io.input-link.self.pose.yaw <= )
( ^ne
^se )
-->
( ^direction east)
}
sp {robot*elaborate*direction*south1
(state ^name robot
^directions
-^io.input-link.self.pose.yaw > )
( ^se
^sw )
-->
( ^direction south)
}
sp {robot*elaborate*direction*south2
(state ^name robot
^directions
-^io.input-link.self.pose.yaw <= )
( ^se
^sw )
-->
( ^direction south)
}
sp {robot*elaborate*direction*west
(state ^name robot
^directions
-^io.input-link.self.pose.yaw <=
-^io.input-link.self.pose.yaw > )
( ^sw
^nw )
-->
( ^direction west)
}
sp {robot*elaborate*tight-direction*north
(state ^name robot
^directions
^io.input-link.self.pose.yaw { <= > })
( ^nne
^nnw )
-->
( ^tight-direction north)
}
sp {robot*elaborate*tight-direction*east
(state ^name robot
^directions
^io.input-link.self.pose.yaw { <= > })
( ^nne
^ese )
-->
( ^tight-direction east)
}
sp {robot*elaborate*tight-direction*south1
(state ^name robot
^directions
^io.input-link.self.pose.yaw <= )
( ^sse
^ssw )
-->
( ^tight-direction south)
}
sp {robot*elaborate*tight-direction*south2
(state ^name robot
^directions
^io.input-link.self.pose.yaw > )
( ^sse
^ssw )
-->
( ^tight-direction south)
}
sp {robot*elaborate*tight-direction*west
(state ^name robot
^directions
^io.input-link.self.pose.yaw { <= > })
( ^wnw
^wsw )
-->
( ^tight-direction west)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy