Files
Gym_CPU/agent/__pycache__/agent.cpython-311.pyc

63 lines
6.4 KiB
Plaintext
Raw Normal View History

2026-03-10 09:31:39 -04:00
<EFBFBD>
è<>i<EFBFBD><00><00><><00>ddlmZddlZddlmZddlZddlmZddl m
Z
m Z ddl m Z mZej<00><00>ZGd<07>d<08><00>ZdS) <09>)<01>FieldN)<01>Mapping)<01>MathOps)<02> FIFAField<6C> HLAdultField)<02> PlayModeEnum<75>PlayModeGroupEnumc <00><><00>eZdZUdZedddddddd d
d d d <0A> ed ddd<10>iZeee ee
e e e e fffe d<d<12>Zdd<15>Zd<16>ZdS)<18>Agentz<74>
Responsible for deciding what the agent should do at each moment.
This class is called every simulation step to update the agent's behavior
based on the current state of the world and game conditions.
)g<><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@rr)<03>6@g(@r)r <00>@r)r g<10>r)r g(<28>r)g.@<40>r)r g0@r)<03>&@g@r)rg<18>r)r g0<>r)g@rr) <0B><00><00><00><00><00><00><00><00> <00>
<00> )<03>@g<00><>r)rg<00>?r)rrr<00>
BEAM_POSESc<00>.<00>ddlm}||_d|_dS)z<>
Creates a new DecisionMaker linked to the given agent.
Args:
agent: The main agent that owns this DecisionMaker.
r)<01>
Base_AgentFN)<04>agent.base_agentr<00>agent<6E> is_getting_up)<03>selfr rs <20>+/home/miku/Downloads/Code/SE/agent/agent.py<70>__init__zAgent.__init__+s+<00><00> 0<>/<2F>/<2F>/<2F>/<2F>/<2F>!&<26><04>
<EFBFBD>#(<28><04><1A><1A><1A><00>returnNc<00><><00>|jjjtjurdS|jjjt jt jfvr<>|jj <00>
|j t|jjj <00><00>|jjjdd<02>|j t|jjj <00><00>|jjjd<00><03><00>|js |jj<00>d<04><05><00>r'|jj<00>d<04><05><00> |_n<>|jjjtjur|<00><00><00>nh|jjjtjtjtjfvr |jj<00>d<06><00>n|<00><00><00>|jj<00><00><00>dS)z<>
Chooses what the agent should do in the current step.
This function checks the game state and decides which behavior
or skill should be executed next.
Nr)<02>pos2d<32>rotation<6F>GetUp)<01>
skill_name<EFBFBD>Neutral)r <00>world<6C>playmoder<00> GAME_OVER<45>playmode_groupr <00> ACTIVE_BEAM<41> PASSIVE_BEAM<41>server<65> commit_beamr<00>type<70>field<6C>numberr!<00>skills_manager<65>is_ready<64>execute<74>PLAY_ON<4F>
carry_ball<EFBFBD>BEFORE_KICK_OFF<46>
THEIR_GOAL<EFBFBD>OUR_GOAL<41>robot<6F>commit_motor_targets_pd)r"s r#<00>update_current_behaviorzAgent.update_current_behavior7s<><00><00> <10>:<3A> <1B> $<24> <0C>(><3E> ><3E> ><3E> <12>F<EFBFBD> <0F>:<3A> <1B> *<2A> <1D> )<29> <1D> *<2A>/
<EFBFBD>
<EFBFBD>
<EFBFBD> <11>J<EFBFBD> <1D> )<29> )<29><1A>o<EFBFBD>d<EFBFBD>4<EFBFBD>:<3A>+;<3B>+A<>&B<>&B<>C<>D<EFBFBD>J<EFBFBD>DT<44>D[<5B>\<5C>]_<>^_<>]_<>`<60><1D><1F><14>d<EFBFBD>j<EFBFBD>.><3E>.D<>)E<>)E<>F<>t<EFBFBD>z<EFBFBD>GW<47>G^<5E>_<>`a<>b<> *<2A> <0E> <0E> <0E>
<10> <1D> <1E><14><1A>!:<3A>!C<>!C<>w<EFBFBD>!C<>!W<>!W<> <1E>%)<29>Z<EFBFBD>%><3E>%F<>%F<>RY<52>%F<>%Z<>%Z<>!Z<>D<EFBFBD> <1E> <1E> <11>Z<EFBFBD> <1D> &<26>,<2C>*><3E> ><3E> ><3E> <10>O<EFBFBD>O<EFBFBD> <1D> <1D> <1D> <1D> <11>Z<EFBFBD> <1D> &<26><<3C>+G<><1C>I`<60>bn<62>bw<62>*x<> x<> x<> <10>J<EFBFBD> %<25> -<2D> -<2D>i<EFBFBD> 8<> 8<> 8<> 8<> <10>O<EFBFBD>O<EFBFBD> <1D> <1D> <1D> <0C>
<EFBFBD><18>0<>0<>2<>2<>2<>2<>2r%c <00><><00>|jjj<00><00><00>dd<02>}|jjjdd<02>}|jjjdd<02>}||z
}t j<00>|<04><00>}|dkrdS||z }d}|||zz
}||z
} t j<00>| <09><00>}
|
dkrt j d<02><00>} n| |
z } t j
| |<06><00>} t j | dd<06><00>} t j | <0C><00>} t j d<07><00>}|
dko| |k}t j
||z
|<06><00>dk}tj|<04><00>}|r|sM|jj<00>d |d
t j<00>||z
<00><00>dkrdn|<11> <0B><00>dS|jj<00>d |d
|<11> <0B><00>dS) zg
Basic example of a behavior: moves the robot toward the goal while handling the ball.
Nrrg333333<33>?g<00><>g<00>?g@g<><67><EFBFBD><EFBFBD><EFBFBD>ư><3E>WalkT)<03> target_2d<32>is_target_absolute<74> orientation)r r-r6<00>get_their_goal_position<6F>ball_pos<6F>global_position<6F>np<6E>linalg<6C>norm<72>zeros<6F>dot<6F>clip<69>arccos<6F>deg2radr<00> vector_angler8r:)r"<00>their_goal_posrI<00>my_pos<6F> ball_to_goal<61>bg_norm<72>ball_to_goal_dir<69> dist_from_ball_to_start_carrying<6E>carry_ball_pos<6F>
my_to_ball<EFBFBD>my_to_ball_norm<72>my_to_ball_dir<69>cosang<6E>
angle_diff<EFBFBD> ANGLE_TOL<4F>aligned<65> behind_ball<6C>desired_orientations r#r<zAgent.carry_ballWs<00><00><1E><1A>)<29>/<2F>G<>G<>I<>I<>"<22>1<EFBFBD>"<22>M<><0E><17>:<3A>#<23>,<2C>R<EFBFBD>a<EFBFBD>R<EFBFBD>0<><08><15><1A>!<21>1<>"<22>1<EFBFBD>"<22>5<><06>%<25><08>0<> <0C><14>)<29>.<2E>.<2E><1C>.<2E>.<2E><07> <12>a<EFBFBD><<3C><<3C> <12>F<EFBFBD>'<27>'<27>1<><18>+/<2F>(<28>!<21>$4<>7W<37>$W<>W<><0E><1D><06>&<26>
<EFBFBD><1C>)<29>.<2E>.<2E><1A>4<>4<><0F> <1A>a<EFBFBD> <1F> <1F><1F>X<EFBFBD>a<EFBFBD>[<5B>[<5B>N<EFBFBD>N<EFBFBD>'<27>/<2F>9<>N<EFBFBD><13><16><0E>(8<>9<>9<><06><13><17><16><14>s<EFBFBD>+<2B>+<2B><06><17>Y<EFBFBD>v<EFBFBD>&<26>&<26>
<EFBFBD><16>J<EFBFBD>s<EFBFBD>O<EFBFBD>O<EFBFBD> <09>"<22>T<EFBFBD>)<29>H<>
<EFBFBD>i<EFBFBD>0G<EFBFBD><07><18>f<EFBFBD>V<EFBFBD>h<EFBFBD>.<2E>0@<40>A<>A<>A<EFBFBD>E<> <0B>%<25>2<><<3C>@<40>@<40><1B><16> <0E>k<EFBFBD> <0E> <10>J<EFBFBD> %<25> -<2D> -<2D><16>(<28>#'<27>$&<26>I<EFBFBD>N<EFBFBD>N<EFBFBD>6<EFBFBD>N<EFBFBD>3J<33>$K<>$K<>a<EFBFBD>$O<>$O<>D<EFBFBD>D<EFBFBD>Uh<55> .<2E> <0E> <0E> <0E> <0E> <0E> <11>J<EFBFBD> %<25> -<2D> -<2D><16>(<28>#'<27>/<2F> .<2E> <0E> <0E> <0E> <0E> r%)r&N)<11>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__doc__rrrrr5r<00>int<6E>tuple<6C>float<61>__annotations__r$rBr<<00>r%r#r r s<><00><00><00><00><00><00><00><08><08> <12><1A><1E><1D><1E><1F><1D><1D><1D><1E><1F><1D> 
<EFBFBD> 
<EFBFBD> <15><1C><1D><1C>
<EFBFBD>
<EFBFBD>Q<06>J<EFBFBD><07><04>U<EFBFBD> <0B>W<EFBFBD>S<EFBFBD>%<25><05>u<EFBFBD>e<EFBFBD>8K<38>2L<32>-L<>%M<>M<>N<><06><06><06>*
)<29>
)<29>
)<29>3<>3<>3<>3<>@/<0E>/<0E>/<0E>/<0E>/r%r )<12> dataclassesr<00>logging<6E>typingr<00>numpyrK<00>utils.math_opsr<00>world.commons.fieldrr<00>world.commons.play_moderr <00> getLogger<65>loggerr rlr%r#<00><module>rvs<><00><01><1D><1D><1D><1D><1D><1D><0E><0E><0E><0E><1A><1A><1A><1A><1A><1A><12><12><12><12>"<22>"<22>"<22>"<22>"<22>"<22>7<>7<>7<>7<>7<>7<>7<>7<>C<>C<>C<>C<>C<>C<>C<>C<>
<1B><17> <1A> <1C> <1C><06>x<0E>x<0E>x<0E>x<0E>x<0E>x<0E>x<0E>x<0E>x<0E>xr%