From 924d158c728326c6f31c6696fb7650c5eba3572f Mon Sep 17 00:00:00 2001 From: eleurent Date: Sun, 8 Dec 2024 13:18:52 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20Farama-F?= =?UTF-8?q?oundation/HighwayEnv@3eab78ba2e11e2107dd89c4e5d9d1dc0ab4aafa3?= =?UTF-8?q?=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/_images/index_1_0.png | Bin 8060 -> 7956 bytes main/_images/index_2_0.png | Bin 10457 -> 10576 bytes main/_images/index_2_1.png | Bin 12745 -> 12685 bytes main/_images/index_2_2.png | Bin 14431 -> 14360 bytes main/_images/index_3_1.png | Bin 24509 -> 24582 bytes main/_images/multi_agent_0_0.png | Bin 11479 -> 11479 bytes main/_images/multi_agent_1_0.png | Bin 21969 -> 21969 bytes main/_images/quickstart_0_0.png | Bin 7788 -> 8425 bytes main/_images/quickstart_1_0.png | Bin 0 -> 6144 bytes main/multi_agent/index.html | 10 +++--- main/observations/index.html | 18 +++++----- main/quickstart/index.html | 58 +++++++++++-------------------- main/searchindex.js | 2 +- 13 files changed, 36 insertions(+), 52 deletions(-) create mode 100644 main/_images/quickstart_1_0.png diff --git a/main/_images/index_1_0.png b/main/_images/index_1_0.png index fbea5314a63d820a7dcf475f4c2dfc053948536f..c7236448c5b6b43b9e1d4222663112ad04785131 100644 GIT binary patch literal 7956 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 Yuh?{9L_8krOI;6jLGyghx!d>u3j!oR?EnA( literal 8060 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 diff --git a/main/_images/index_2_0.png b/main/_images/index_2_0.png index 98bc1343a0339b3f80d73e34dbb6a94c3e4ab448..14845f6d2524ebd1c30f6bc3ef149e651838ec61 100644 GIT binary patch literal 10576 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 Nb58-CFK+PHe*vOc>Wu&Z literal 12745 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 literal 14431 zcmd6O2{e`M-|p5xr9$R85;D(IL`XzLnP)O&p698zWGGZJMHIJcQbgXyWP-nyX$D_=4t9;fx2z#=49vSX7|ACqKAcx>jOszK^}1) z0j`VIZf;Jl61=?j|NaIZM;9wzCe`BuaFNqain^{S6p<Hin14uF)tHN#S3g*f8HqnQY?)1&pTg!QWE;}#uqIAToNiT?+c9~M9rVV zNY&NVyC?!9LkCf=DsH|ev0(;`t|~tbh948BVzg=Cit1?!KN^XoPoU!4E#bCIel!Go zZU2h1=dl$@RM*h>OZAOJeS3QzCQ-pnpIBBVqnk-ml5T0q-c_z8?`OY8Cl~3!)Pk;M zWZ2IV_gHTgRvX`qpZ#deVR^lYjGi7%ESIj?enM5%RaTYwpjWS6&ClU{q}F|EaAQqP zO;iH+6>UYI&XnG}ckgkslyB*d&tf}2tZL+pRf_=Jugx9O7U*HlaBAmQFHJW-Irk_e|NMDm^Y8FD+oJv3#xa`D(1qdDp_01~HuQo;yZH0qvcwt*s;!6dr~(Wo4q(H8uKG z)behG3rA}Zzr+v?yB*ac-;vRq;y3>5SMZBVH_gUs{jn(t?UoBeWkme^{CWG+p_%9S zn&ry~EEB%q_?zL~w;iU9s=fFv+h3oIxfR@%c5`xnbL^&}A^lWaLic}gn1lB(NLhR( zyQif!5ur_P@J z6iRYwYy5a>B42`vqMBNWLfUm1nV_^pS2=jMfK?|P0ZWK3tBXHu6;AqG@}B^n5o!95 zg7yDF{QrM)NlE&VphWMvtc-6(<~MJOKKgP+SV(AmHY3HuP4GPghUhd0k^pw*kX6ok4d8uI1J1B~AKOxJOmh|dpP8@NcXxNdL>Hp{!j zTQK)osYSloxV1i9;o9|1j^NLS2n&l>p8g(hk(%flgS@enAA+zmneOT$OJ!>6F$M;P zNC*6Z>!}Xo7Qdxq5nfN=)Y+4CUmG&&|!fpC1_+;kRs~^78SS zfRD%Qedf4AnQqoMZX#i;74v7>oxu zDLwr;X=&-CYyOoHdhX^>O7fM~vo&)HU8hy=TUfj^Z;qrAv^=X-U=(rv5x%bNg$oy+ zzk21??xH4zBf}OLJ9efpQ{ERyxO3-@Nnd@w<5;cN&TK}JWjjqqihNG54H+e+a$i+N z#SdJcaY#XdV~$#?BRN_{o0FS6ST!R$e|fa#DrDKC{oT!~wxeC{?d|=Jdn4iAQ1YPr zc|yX#hv*sodb-0}C|UjPNoUWTX;`1_cHUWk5cfu&km(Lo%$*&dS&N;`v<-zjzkd=5gt~Hb%(ok{GLk&dy|ZZGO*#an6@Gal{18di+YwVFE1n2z9U82 zv9CH+YCt$l_13M1zfKbJ+4QheMJVj;F9$aJZ;pgKdvm9*4u;IH9fgIuGU!6hg0@Qe&L%eMH3Z{J=_bf4}_X|6lm zceEQQ{`J~UjLp32g0 zw3V9V&P-ak`&G{+c}-37QSWK`xYy75TFc_3_kIwS|L(YIkIn40fx9^wa-RM#y*!T{ zLZz~=?d|8_j^xT5M(nV^rl!m`mqz+4-8m~g7UxPxtv_}st&i6D7Hn_AHgx6bi@r}! zXX4@M*l{&BHhvr&j8P?Q`2{i0p-Pwd`t|tK6nTBm3GpeqxCTk9hEu$0` z79PN9UDsw64A|J%z(>vCd@`i*yp)&2u+~DTpz-l>+kk^6O5^dvgXKeF3W_H!(QM`e z#TKGc`XBn{3>%dTkujm42T1-remy*K?&w0zL5T(*}OOy(S|(tPNZFTkjbeMfT=sb7G+n!8Vyf)QLHbqdXS+ zyUyp?(nGEjGA1S$ zjr>+`B#FD?Ltq~c!3D0KJb6+FV-sWcX24G2@L<2lZa`q6zv#I1{`%dkCHXl1*8Ih0 z#=uX|@yX`fECnYfCy|7xUi-?)-Aq_INxmC_jtN$XF66gb;k=>2XG~9v&hdOT*rcxZFRu!0v(Im$34xsdI7AVK@tZZ(^B2PTycDK*##dU((LSP-kSF-=;D(lT2QZte`%y@sJBolnzg>UdHQuqdV2c14x}Z2%`M3GO+3@>q zIVIxY*p!r%R&Y4XQv56EP2=C*$x&VN6Z6?zvPYNJ)-n*Br;~w5DcJsUO#jT8Gfq%X zpV5k*e{`ryk0MoUeyugl>V+wSCt;3q9g-{Ud_0l^`eK8lxy!!#mIAQ7Q?y%$}X6PoKVs zjeWvz{`swKU%rTKPIk7_`iwfNooEeO+ns9e-M#JK?Ck6xw^k>~i433%e%k&$jfVml zs^P!%<;5icPgJ4~bn8A+kd@?d71TGawrwbR3}jSQ&qIHD?^q_~HbXo-GLpW7EvP#P zFD@29eSFR&_pL54FcIfdbF}!*WGV8L{09JA$3NoDHy3>R^ywlC%cm&;?RQ9w zQk(4OUvdcu2s}?oiGrMWgKV{2OjnM3{^G^M@^Z1+9HuK*uJBQv4So9buAfsUl#aYI zXCf*-)FT3-Qr)qhp2x=t&cj7dTvB*esB1ewr0-x$D{S-1EU?>JNDEwOaZErasRg8H#rt-(>vbLlN6^_{Sl?9R2y?rTlp$B=lBi>nLKc#l^>G zis654Ym+xJN^bXeGB;0CzP~+ZUTl#o=<-t$Af24eHWb-+g@t!)a-$OypF(#=ZA7?3 zZG-zH-=t+zO)3m{Ht_cPBeLc`{71;5WOQ`mC#pX-2-HS~hs#=9XSVCLR->%1g)v>N zt@T=EMplzjnj9Brqu*XPM?G#+&~BH9gg+LPtM)AsXkE@#}6&!_=2w-LfeN=iwkH}@qZB!osq-2{MThc&A8qh?b}KJjhuMUY2SK`?!?_Y^e=6%{)y zp8b}xa-K1CG}%*3F0QUkIR&*Gs!3u@Yinztpq$Cq1?N0DMD%^2KIO2Apt{S{$YQSd3Y<}l+!V{E(dJ=AegP) zttVg%ef;=@x|Y@lon7eup))hq&OaJX&f=thw+WiNWX9 zC|qK_{hCE9SLdBhPTzdft1EYN=f}z%Qzitcsi~PcIBr49(cHl~^cP-#Mt@c7=kzou zHeh$L47<^mAb2yovu11J>BPGbh6{ku!ZEFJypGPXLxRnTBK8+xJD3Fp@2(2(ueI`G z?Kie2qX-|>U&PQOpID-o*K_zzHG?#8r#t0Su|+ExB+a9E3HNNTsRXO{yNVtjrJ<3L z6vqCz7&E8_SrCMj95J_^Q41>k{PpV!4;p$W5+zWc$Zew-q-;i#iLPzE%`7O;Hn7Ca z^_n$2KAj4CH-{4u5(*7r@KNN_D^V=M-WLcHcb(E1T3;+1LrL9 zF5R#7#d)sI#ry4TIU_fvCcV#6GcxMGY4{>Oo*fDoxvi+EGVj$LZXP-< z4U6~m_A)UuA0v`lCywPY6UHfOXiBuWbYUoM*)etl6)KbM$xrjJYr%x ztLGM>W&%{1`S$M7gs#<7ATvLI{(K8nb>@5e({{Z_^+8bX-R7~kS5;!0VmP&(w%07q zQt`>GF1!N$#K?#tXez`8`GGSnq~Ue=Pyqpr)m#tg*I!#(@q|+H)GOD{3mGpudwObD zXWMo4_lLq2ABTi+8np}3M11-BRo2Oguc5Iq9b2H4qkiX35D-PVRgUZS_S`&1)u-NW z7`W#>$!2`2I_Ue zv9IeDdwYIBzRjQ~h3`hd3lNJ6ZsmLG-ISw7u@U(Yj)8=l+Pm9-C66wS-d&~inLD66?tLdE-_H^d30Q*W()+n- z@87;ffkc1;a`U0TjH@~A<42jsrPtC7`Vm#4RJ0&ZCD9 z;w^0K?GH@&i`AT+i*R2f&Vm*pd9XFf&db|eWZn!ihWve^zjZo9u%io$p7EGiT#We9 z7@|BfsBLH%0nJ6vk>oP-bp0Q37Ex)V)0{4hs6t-`uJO)`HxLMLc6K&s1*u#2WSMOO z|JLRZkxu*!Ti4=yK*WI1Ys}sN@&RR$RW&IzJp4?Om~$$<-c9*pL@;WmBOPIgw{Rg- zO&vm1yPj@-Za7P*YR4iJx}W4RGy5WPQIt4qr4(Q5PsJqpvg7Gdwv{jLW~gEUG&H=&8f$6>Lv=b!BXkNFvWTrP z4I&twKp{bP|Ni@lN2H*Cyz8>&^I9=!8Zre;0^Jb!@oYu5u-4~Xjo0YMtnDUJDptgPz+0oU-)QX$ck2*MKPOG^tL%FEkZ zX|n>F#aU_rd1qg(d-vX!ms6p>W!+_4Umi0q+K0Nwm)K4vWK9f_as=j`@kPI`^?v>O z73AJX$g`o`s=;7FN{|v*d&^)2_iNli45kAvATkd<8JJsFg{xIlt%XP;NFXO`jEGP( zV|CIJ?sNBDsg=j(K--bOI3@^C8ZCbgK;+liguYir-WeG7usa4v1y}g%0RQ`m2MvnmN7LzRSLn9PI2tS~*R?)W|n6GOio2wjayOQP7q+u~xAAz_B!T z^~R<5vtiT2wX0sgehvEA>FAadDA4so&FZrA^A)aNe+Z=tSOcs^=J#Tz!2TSt>CCLG z7ZSC{+Xq_P+8#$mMfFh4K*0gMBFz<;;mGQmW+0$%T$@g z#owo{^=n49YBNT2`?n@fsw+23z)ooR&(9S_zO1g61Puu#11eGauGXD9#4ubT>m%CB za2#=NrVme{wM(D`UMCs7s1FrM!~AVd)J;%0;2S9KLc+qZb9lR-`(pPCQ&LinVD{Pj z$X}$a+N-5RQyEm*6sUj zj(9@rzW~UmdSlQw9B7^qB7jY7Pp4?-VxVUEYCU6+(gRsUt_V7T;-}A_!vRCe`|Mx! zSRe+qf&z9`GxzqbTgA1bHyOO;K`LspF!Eg#=69a>MC&j=7LaFLH(GfRXB?ngG-@pr zPAzB|3dB^oZWIO7Z?5RhbJlWk@X{{a~bAV+p* z9sp$)R#reLXPO4N^-Fd74u@Skl`w$^d)sE8pHVkh3!Q_ztTkdP*8vh4C7&N~B6CnI6&N%!(2f}$;oJT-7-yloJ zmXGSwA0S*8SoaSQ9xA>44-h6JBV)(H2&Z*08Q`QMu7c9oPhE0vr7^XrNWI8od+nF% z8w=$~QTss_5Ju!JEk8`y?!c|&4lS%UGg9I|x^8pz2uWh}vJU0msIncbXGn)xw8mb+ ziUDalsYaT?P8RHz?RIUZ=l>^G00CMwk)M2@HH(yajg)Al}CLEIzcu;{!`SPsb zHfwaesAF=xux%_rrEnZ?&H79CeSyjO*RN@u$NV?LL`S{kc5r&1`&wFB!ZB7INhC-h zbHsejUv;;$%Z1T`M(#+he-#e*HL?JqTC4r$QA+JVS|RJ)-QCUBezr_79&UxKZTTOv1^Av*o#L1Hbx!kS-t$wSeT#JB|`P9^OC0V$$ zqodR);T#cBv()CWIU+*A1hx@$WRNyQY`NVe=%LI%hJxILj)6gdnAgfhAKY9pliU-< zygFz@AlZe6gwmh}oaMnIIzpu4Ot^!?F$@ZN4qNdZp_UsO|4 zde~(xZ)e8^`qQZ2@7oB)5lo9T<80M#?dbRn?iVwzRPuu&tC|SensGbv2_Yqq$#A)I_>((|l6o6z+R6aah&v_>ok_uxZ z5nEas8juZ7q;;M0^z=l|*vPOJ01(W>gF!32C??i#X>Vb1Ig(NO{M&6WGDgON{sLqu z^77>cP{TMG#vV@j>$$dJg1b3ZE6+jG#&PV$+9_UL>9PvA5g#Bm=8BB#dB%UVT|dFx!GtuofzY z7-%%<8;wE!lePfCAgv%zu5=J`ahbm*xuozG@EJt@?_=nJvubK;v#ah}S`?onXfwRD z!;h|V#dLXV@Bv#F=#h6M6^Zwa5>!~$b59cz0)C;--_`|O1;~Z?!iChWhd*HQ0c8k$EXKx1DNiZ;wz&90a&q#i z^XFr2(!kOHkPU{qKc=Taoy^KQ4FwXyD|#X%P#! zSy@>!>Gwu?T4^xn1VhK&;baJ9_y;vUIhj@-!8OzklP3gK+Yy?Ki3lX9Waj3|H%HQg zMweOcfU>r>Mnj}P7!O5CzI_6%oe#NlwOVFX{I~s>UhyD z_wA$X#y}nTtDvBuU5_wN3y}b-c4DQ5&_GdHqm^vxoN*iLo15BubT^=we*Jn2Ag1zi z2={&!XrMFwMQQC8T)XEI_6vihhBAT4AaoDh50^)#0VVWorGIoEPq|)$Ylubpy7>@^@{Ov1UvUb7-w|Cti1<|Wfl@z|1g9G`D|`kVz9UQ zzVg`1fj+$wx701st07DBieW?f_V@xN6|>HD5_!>x`KJ7TQ-7E7XMU`l2rDyCoIavAV)(SvT* zrgMisLKw}4O6^fWpf&C-ItHST#CT*n3}C)F(XsYQ@8`BQmAzlQf%P!93)@|;8?&@m zQaX)Hq5=Dz0D&=9?+~hQ$mXao5zG)IfHv5nH-OXXfO`dnWLkfr=_9jg@A1K#ra~j^Q3~`!S*yNC_bJFW`qrvH3N2^yVay40O?QEY>r0Lko}sTo(yA4{s>i; z4@@M97-Zl8$|>K2?<`z8g)+_~pf-E_pp_M;CLBy9;geB7+PB6Z5s~d;#|{rX>BL=5p!nY!|SJu1L%$J5MyjJQ7?6G>t zR9nB)t{x6H3WlD8x%+@6^S0^4oGxPX4RiXZL7@u=s%?2$+z z{~b5G{zAMQt-OXHyyJF=KK=ttK6of(fSBUHK`kj|Pb8|9rx#pOB82??+F--$eltHx@3ABr5nA)zaG!hNv=4EDnTo^#BYikq0 zNF0tIzs3g#n+R;L$flPAnJPFg%%h~9fKob` z+iNWpFYd|;A{2P5RyqR@NMTr2QlSFfDVAIR$z|nO6PU9=J3%nc`wt(?;C5i_TBf@@ zV3lGz-SK7%)&UlPGFmL0Uz`|^vA>F{vT`Hz!J{aE#3|@mV+`10+E^Ol>@7oZd9HCC zgUoN8n-Bc#MG}!gMWYGdcv{pojp05X<61hH9GyUc_5>stHiVd#_9>;2SG{Fku!Y}# zS>67*BVZ>eAW&#he+!Nza@yE5;)>S{VT zvxJ^7cTjvmc?ZrU^5i_d&B!!o(X#>=x`o1McPO{UZT13a%>;lw0JzPr;sBM0!&Hm_ zhT%oJyD-2W$MhK;N5TA;9_Bf3JTC0Fi;fwHKDYwIF~}~MfM@lS@EDYv?1RIBNWaVh zqw6S;@V3_mPo@Z)3U>h|6EG51&{Pz9g9(h1Krx=hrAP-dz;EjI)(BxV?NixUK#rFO_oYjXJO1kGFD7h3Gs(=)e-al*S!zGT>b{W!jY9Sm zczE=RYD-HgVBR$_Fz|h-`#T#lYy)7DhE)6i&)@JLS2Gz)vkE+nNkEiMQ8YFGr zSX^u@M=gG<<}nbP;Y2|qAIkM)MT8i*E5hiO$8e0-=kkxWCfEQp%c|8hFtFP{fVoEa zqitwb2$9F-0pgt3^?2*OW|Dv!eP+?%ztGP=-z#w$OoP@oHVvTortic;H3Z53y;oro zD10GC1K|w+CvKIi5+KBj*HwLIoX;b`-YRKYH8Rte>&gMwR0^m<#*>NahqM#|+W5L_kwNs;z zRu8)h(kocBkn<9|e&RKoKg0w(7uPEZ2Hkv#uME7P5<&}qk(}&M)BV#Dw97ngCIIFe z3j>b;Y7QB&a&i))3Ih)V<~K#}>gag2j|~=?hnUrYZzdR41093Sz4u?q8<_V)q?fT-Jnl+4W%#h^R%5 zwc83souImbUCacSnP|=6z_)J~ah~*xM}tsT7@5yjnL*5<@8*InY%k? zWYSjD^ue3xe_W35571!&QLscf0gxHVJS!vrR|DR*3IG2c->&!I-DM>r>;d4-J5CQjma+cafc^*(T-Le+CjgD0O$Za|hZC=IJg}_@v!m6cd zK)mI^EmF=K%71#Ao^z1f;Gy*ZTMzkmM*9)#1RtU9)rE?w%%(dK>s{{67f zPe8LiHKRL@d0K=homxL}XaEcLuoHi^+^_uQ4k~q|XU@@19RGVK42dY7hKDymg)9O= z%WrSB85EVqa_7mn-LrQ|6Z`TUQrPg;?z zzZ04Re!8=CV#E~{6|j$w>P>?5@@hYPsIK07vbz(6pPAkI&i^mOj*f_Q{bepc40SlV0i_D3Gvf3xHSc#L%HPdw#C#FCkjDp9ak z<`S{N1eODc$?7LkHIvneCg3aZsVEBQC;Fb~&04#h0`~dY4&Yu8kDCNV_c5jvJaxeP ze*F01`m{LtbXsTJg2i^|RoJwt1{R!QU^Zz$u*fXej@e!Gj_G)-q{_s#w<; zd$vUL>8qN5Pk4U5|L3`bpRb~=fm3n;-T^Ofq(gY?k5XH4hbnBd{h-UR2Y0i5UuC(J zek5EF7Qk5cpw)Q@GrU;2n6y-H_V>W3++6OaDB+@Shxr%U7lKO85D18ET9` zzAkcboB{BZ0~>Y^Yz=s#qGh(VFs{t2a|Fx*4%lz$%9LBXyOY4C6uiAFj_WUofy@{$ z=`8@W;vZ8}PaNy^H(rksGOc{&EO_g?xdc@767tkRQc{wwO?FNWKVaz-Cr(^sXFsJT zxq1Sb1g>h9vrg$yqq(AVJ?JcT|9o>6e&Wg%CGOFnvw3E>7<9B}jC&clvzLq)FgT>cCd8S$He4z#!38R%hROP`USe;#=r16J#> zwOcmoL&)g2f(LfxDDbs4c6JhxvZ>00s|aHW!!EJF14*P2`+>a%Jc*w{zZ{ysT+TA3 z!+_=r(e*fMseAN|LttBxJljxYA`F`1e9fhf>=>+&IN)J?^7(-aB z_G%kLs)M6~7==s?FyJzfYG`l24L<5J{UO71u5d>V)Rq4N1OzSs z|CkWji-3_1U@k*+9^@SfIl0A%7IgnpAWs0t!>Yvd;VmsKfoIaIs%(IquX)2X){!1P zED~=4Sy>jT>)_v3vK=o=d>>>({A(FoOOKPn_UCsz+h; z{BNHt`+?&cYSaoOL^^mqEwE8AtPdxP*3*^Ip@#+9T!u_y^B2y_Hb9?4qtS3kU+lMN z!996HN2gzS=vGee1ehYR_T;3b$1!>lz(8%=!TfCssuMYR?~=X8$u?)O8*?{um7TM! z_;nN@`i!o_F7V?$2bYBzw#0obf`@*<5Lv`=6md6xf_T3H77TVyPFJ_?q|b!B)fW+) z8sbL-ALJ(h5b`kk0Ix(av1}+1BRyck%0NJkVLUDicmrv81Z9K#ZW3?cnHEYAqK^gX zpe-Yi7hp^Vn;SwQNyx}pJQfEpcO=1cI$q;=U1g5OUEjW$7&Zs)_XUQ5d>IP4`4qDD zDY!{Op-oE6U9LC*`F2z+APJAYL6VRTGSijoaW~?WHCr6Sq-qx!HMF)WBlA7b#M`=V zyKvn7pn`OHN+Tm9WNdBr_0<(-QPIAgT@de9hqx^hi%7c`@&j{qLPwT=2hKzyCW=wEfc(W)F|Qer&6|A9lb15Bs5% NZm7!V%bNW4KLA%H`}qI> diff --git a/main/_images/index_3_1.png b/main/_images/index_3_1.png index cb76601f51d5da72e01754b7731f592646d17f4e..20f7d73dc4a2f1de7e89d039e8b692c8adcedee3 100644 GIT binary patch literal 24582 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 xx68cDp8Co(xw*j>BfjW6 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 NZeq2&V3*VRzX7P_jM)GH diff --git a/main/_images/multi_agent_0_0.png b/main/_images/multi_agent_0_0.png index 18bc59efa8c8d637d4508ed70fe38fe042ded6e9..eab52f9e1959085209b80b3ae31799e2cac572c3 100644 GIT binary patch delta 41 wcmcZ}c|CH1hn%sFLPkkRL9vy-er{q(K~8>2PG*u`eo?yqvEZeC8`BDP08_#cJ^%m! delta 41 wcmcZ}c|CH1hn$g)LPkkRL9vy-er{q(K~8>2PG*u`eo?xH5clm-=l?%MJwqZ@>`y delta 43 zcmcb(n(^Xl#t9yBMmh=^B_##LR{Hw6i6sR&`6W4-NqYH3>H3O(%r`ftWrqR)X+97+ diff --git a/main/_images/quickstart_0_0.png b/main/_images/quickstart_0_0.png index 1bf01d25b8a4fb27805cbaa943747b5ae6ddc698..f89350cb531758f429b175f3c8ecda21e1013335 100644 GIT binary patch literal 8425 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 KQYuw65B)C+)dtl7 literal 7788 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 F-vFKZtgHY4 diff --git a/main/_images/quickstart_1_0.png b/main/_images/quickstart_1_0.png new file mode 100644 index 0000000000000000000000000000000000000000..a3fa5d32d1d8953729db419d18ab41c89482866d GIT binary patch literal 6144 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 z]n?${i1$>?TkxkUr);9B9i%5yBs1VUMHns~*d!05==T~LIo!O?0P8L@oT*B_iY zN?&0h|E6aUhn}hVm6arsB(?RmHa=#vP|xL>?NAQ%*q4`&Q$X;U6FMv-@YSW@HQ9MOwl0LY*LnZ zgDs^iyR}v65AK6<0ciR}Q}e>tIN2Cr;{b-AB>tFkzAG#&tkE1CdZ-w#WYDIl4R*;a@k;HbTq?kL`n)Dz8{w% zA5J&6n4gxNEf2T?<=_z0JdyVL#!>1n)g2zBRw;hIy}tlB7r<}t{qmvoSFfm(#67hx zx|Y1cRwb-fqGx)6*4%jZKC`6c5!f1!RB^Dx=H@2Gg#`00%Lfj;A&8!SfQ^|M7a1A( zI3*!$bh&?Rstss;_c@RfQ7$=ZbV1Vg#`($@qfBRbEUymX=#!m zvo6HzZ0zRg>fy}1ysEA-GY6Ep109@`Gxssi6*O{?-ef`YK&kRA`FH0^va_?>K_kDWwV;)U$ufmAqV=UZn2l4{LE{6eC>3n-9K z(9jB)pWXB-br`LE%nD}1n#1#9QB(GC(85Zn#QE%zddB zK*Xyub+9%kCnw3$yqugLphFRW@|^tsA@xf+kWqjUY}O`QjuqcxnB3kcl1PfQ`_|L# zaWLn}Hz4TL;d4FNxYX3^EAI1GOfP^YYWU`{Fs$f`HSQFDc zleH$JMkxQZaNTZLOJ}DLT~GtS--gBEYGHzQQ6g}>R~2j6K=bfHlM#%#GnbtrWNmGI z6q+~zE1-VkQ~80FbC~W*aR8kIRcGfSeIUZE?d-z7jL39Oq3*QU4wT&O&d$ha5I@+N zu>Ai1h9&T&(}SZ2WuoY5m2MGspN$W3f;Q2L3JQOq_*?Lmk2su-|MqR?+C$26f@X%? z)u0B`*R;%*mYs=LPjNMAG}vtJ9)XtS(op5?TeliSSm*?vHJ%c1Uot}fYJB^}ZJtRV zwEf<;y9)#Qj$zcX(Ez5WChange the observation space -
(array([[ 1.        ,  0.89726937,  0.        ,  0.3125    ,  0.        ],
-       [ 1.        ,  0.10234839,  0.75      , -0.01562341,  0.        ],
-       [ 1.        ,  0.20264469,  0.        , -0.04974489,  0.        ],
-       [ 1.        ,  0.30728498,  0.        , -0.02766261,  0.        ],
-       [ 1.        ,  0.4156653 ,  0.75      , -0.01946728,  0.        ]],
+
(array([[ 1.        ,  0.8996421 ,  0.5       ,  0.3125    ,  0.        ],
+       [ 1.        ,  0.10610674, -0.25      , -0.02496706,  0.        ],
+       [ 1.        ,  0.21663845, -0.5       , -0.01358112,  0.        ],
+       [ 1.        ,  0.33168566,  0.25      , -0.02108839,  0.        ],
+       [ 1.        ,  0.42837486,  0.        , -0.0485089 ,  0.        ]],
       dtype=float32),)
 
diff --git a/main/observations/index.html b/main/observations/index.html index 0f7243f20..f895c4841 100644 --- a/main/observations/index.html +++ b/main/observations/index.html @@ -560,23 +560,23 @@

Example configuration
[[ 1.          1.          0.08        1.          0.          1.
    0.        ]
- [ 1.          0.21897048  0.04       -0.18845703  0.          1.
+ [ 1.          0.19339375 -0.08       -0.10856369  0.          1.
    0.        ]
- [ 1.          0.41426247  0.         -0.12045569  0.          1.
+ [ 1.          0.3882512   0.04       -0.14759399  0.          1.
    0.        ]
- [ 1.          0.6127969  -0.08       -0.1973714   0.          1.
+ [ 1.          0.58959484 -0.04       -0.10062475  0.          1.
    0.        ]
- [ 1.          0.84082603  0.         -0.07387763  0.          1.
+ [ 1.          0.79629916  0.04       -0.12792489  0.          1.
    0.        ]
- [ 1.          1.         -0.08       -0.16941962  0.          1.
+ [ 1.          1.         -0.08       -0.09218342  0.          1.
    0.        ]
- [ 1.          1.         -0.08       -0.18702331  0.          1.
+ [ 1.          1.         -0.08       -0.16161428  0.          1.
    0.        ]
- [ 1.          1.          0.         -0.08220994  0.          1.
+ [ 1.          1.          0.04       -0.13337924  0.          1.
    0.        ]
- [ 1.          1.         -0.08       -0.05029499  0.          1.
+ [ 1.          1.          0.         -0.12700984  0.          1.
    0.        ]
- [ 1.          1.          0.04       -0.19899715  0.          1.
+ [ 1.          1.          0.04       -0.16464195  0.          1.
    0.        ]
  [ 0.          0.          0.          0.          0.          0.
    0.        ]
diff --git a/main/quickstart/index.html b/main/quickstart/index.html
index b24452058..858ed62b5 100644
--- a/main/quickstart/index.html
+++ b/main/quickstart/index.html
@@ -338,14 +338,31 @@ 

All the environments

Configuring an environment¶

The observations, actions, dynamics and rewards of an environment are parametrized by a configuration, defined as a -config dictionary. -After environment creation, the configuration can be accessed using the +config dictionary.

+

For example, the number of lanes can be changed with:

+
+
+
env = gymnasium.make(
+  "highway-v0",
+  config={"lanes_count": 2},
+  render_mode='rgb_array',
+)
+env.reset()
+plt.imshow(env.render())
+plt.show()
+
+
+
+
+../_images/quickstart_1_0.png +
+
+

After environment creation, the configuration can be accessed using the config attribute.

import pprint
 
-env = gymnasium.make("highway-v0", render_mode='rgb_array')
 pprint.pprint(env.unwrapped.config)
 
@@ -360,7 +377,7 @@

All the environmentsAll the environments

-

For example, the number of lanes can be changed with:

-
-
-
env.unwrapped.config["lanes_count"] = 2
-env.reset()
-plt.imshow(env.render())
-plt.show()
-
-
-
-
-../_images/quickstart_2_0.png -
-
-

or directly at creation time with:

-
-
-
env = gymnasium.make(
-  "highway-v0",
-  render_mode='rgb_array',
-  config={"lanes_count": 2}
-)
-
-
-
-
-
-
-
-

Note

-

The environment must be reset() for the change of configuration -to be effective.

-

Training an agent¶

diff --git a/main/searchindex.js b/main/searchindex.js index 95bf0cda1..d09f6f586 100644 --- a/main/searchindex.js +++ b/main/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"404": [[0, null]], "API": [[1, "module-highway_env.envs.common.action"], [4, "module-highway_env.road.lane"], [5, "module-highway_env.road.regulation"], [6, "module-highway_env.road.road"], [7, "module-highway_env.vehicle.behavior"], [8, "module-highway_env.vehicle.controller"], [9, "module-highway_env.vehicle.kinematics"], [10, "api"], [12, "api"], [13, "api"], [14, "api"], [15, "api"], [16, "api"], [18, "module-highway_env.envs.common.graphics"], [21, "module-highway_env.__init__"], [23, "module-highway_env.envs.common.observation"]], "Actions": [[1, null]], "All the environments": [[24, "all-the-environments"]], "Behavior": [[7, null]], "Bibliography": [[2, null]], "Change the action space": [[22, "change-the-action-space"]], "Change the observation space": [[22, "change-the-observation-space"]], "Configuring an environment": [[24, "configuring-an-environment"]], "Continuous Actions": [[1, "continuous-actions"]], "Control": [[8, null]], "Create the scene": [[21, "create-the-scene"]], "Create the vehicles": [[21, "create-the-vehicles"]], "Default configuration": [[10, "default-configuration"], [12, "default-configuration"], [13, "default-configuration"], [14, "default-configuration"], [15, "default-configuration"], [16, "default-configuration"]], "Development version": [[20, "development-version"]], "Discrete Actions": [[1, "discrete-actions"]], "Discrete Meta-Actions": [[1, "discrete-meta-actions"]], "Dynamics": [[3, null]], "Example configuration": [[23, "example-configuration"], [23, "grayscale-example-configuration"], [23, "id4"], [23, "id5"], [23, "id6"]], "Examples on Google Colab": [[24, "examples-on-google-colab"]], "Faster variant": [[10, "faster-variant"]], "Frequently Asked Questions": [[17, null]], "Getting Started": [[24, null]], "Goal environments": [[25, "goal-environments"]], "Graphics": [[18, null]], "Grayscale Image": [[23, "grayscale-image"]], "Heading control": [[8, "heading-control"]], "Highway": [[10, null]], "How to cite this work?": [[19, "how-to-cite-this-work"]], "I try to train an agent using the Kinematics Observation and an MLP model, but the resulting policy is not optimal. Why?": [[17, "i-try-to-train-an-agent-using-the-kinematics-observation-and-an-mlp-model-but-the-resulting-policy-is-not-optimal-why"]], "Illustration of the stack mechanism": [[23, "illustration-of-the-stack-mechanism"]], "Increase the number of controlled vehicles": [[22, "increase-the-number-of-controlled-vehicles"]], "Installation": [[20, null]], "Intersection": [[12, null]], "Kinematics": [[9, null], [23, "kinematics"]], "Lane": [[4, null]], "Lateral Behavior": [[7, "lateral-behavior"]], "Lateral controller": [[8, "lateral-controller"]], "Lidar": [[23, "lidar"]], "Longitudinal Behavior": [[7, "longitudinal-behavior"]], "Longitudinal controller": [[8, "longitudinal-controller"]], "Make the environment configurable": [[21, "make-the-environment-configurable"]], "Make your own environment": [[21, null]], "Making an environment": [[24, "making-an-environment"]], "Manual control": [[1, "manual-control"]], "Merge": [[13, null]], "Most environments": [[25, "most-environments"]], "My videos are too fast / have a low framerate.": [[17, "my-videos-are-too-fast-have-a-low-framerate"]], "Observations": [[23, null]], "Occupancy grid": [[23, "occupancy-grid"]], "Page Not Found": [[0, "page-not-found"]], "Parking": [[14, null]], "Position control": [[8, "position-control"]], "Prerequisites": [[20, "prerequisites"]], "Profit": [[21, "profit"]], "Racetrack": [[15, null]], "Register the environment": [[21, "register-the-environment"]], "Rewards": [[25, null]], "Road": [[6, null]], "Road regulation": [[5, null]], "Roads": [[3, "roads"]], "Roundabout": [[16, null]], "Scene graphics": [[18, "scene-graphics"]], "Set up files": [[21, "set-up-files"]], "Stable release": [[20, "stable-release"]], "The Multi-Agent setting": [[22, null]], "The environments": [[11, null]], "Time to collision": [[23, "time-to-collision"]], "Training an agent": [[24, "training-an-agent"]], "Ubuntu": [[20, "ubuntu"]], "Usage": [[10, "usage"], [12, "usage"], [13, "usage"], [14, "usage"], [15, "usage"], [16, "usage"]], "User Guide": [[26, null]], "Vehicles": [[3, "vehicles"]], "Welcome to highway-env\u2019s documentation!": [[19, null]], "When I try to make an environment, I get an error gymnasium.error.NameNotFound: Environment highway doesn't exist.": [[17, "when-i-try-to-make-an-environment-i-get-an-error-gymnasium-error-namenotfound-environment-highway-doesn-t-exist"]], "Windows 10": [[20, "windows-10"]], "World surface": [[18, "world-surface"]], "Wrapping it up": [[22, "wrapping-it-up"]], "presence feature: one vehicle is close to the north, and one is farther to the east.": [[23, "id7"]], "the Lidar observation": [[23, "id9"]], "v_x feature: the north vehicle drives at the same speed as the ego-vehicle, and the east vehicle a bit slower": [[23, "id8"]]}, "docnames": ["404", "actions/index", "bibliography/index", "dynamics/index", "dynamics/road/lane", "dynamics/road/regulation", "dynamics/road/road", "dynamics/vehicle/behavior", "dynamics/vehicle/controller", "dynamics/vehicle/kinematics", "environments/highway", "environments/index", "environments/intersection", "environments/merge", "environments/parking", "environments/racetrack", "environments/roundabout", "faq", "graphics/index", "index", "installation", "make_your_own", "multi_agent", "observations/index", "quickstart", "rewards/index", "user_guide"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinxcontrib.bibtex": 9}, "filenames": ["404.md", "actions/index.md", "bibliography/index.md", "dynamics/index.md", "dynamics/road/lane.md", "dynamics/road/regulation.md", "dynamics/road/road.md", "dynamics/vehicle/behavior.md", "dynamics/vehicle/controller.md", "dynamics/vehicle/kinematics.md", "environments/highway.md", "environments/index.md", "environments/intersection.md", "environments/merge.md", "environments/parking.md", "environments/racetrack.md", "environments/roundabout.md", "faq.md", "graphics/index.md", "index.md", "installation.md", "make_your_own.md", "multi_agent.md", "observations/index.md", "quickstart.md", "rewards/index.md", "user_guide.md"], "indexentries": {"_automatic_rendering() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._automatic_rendering", false]], "_info() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._info", false]], "_is_terminated() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._is_terminated", false]], "_is_truncated() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._is_truncated", false]], "_register_highway_envs() (in module highway_env.__init__)": [[21, "highway_env.__init__._register_highway_envs", false]], "_reset() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._reset", false]], "_reward() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._reward", false]], "_rewards() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._rewards", false]], "_simulate() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._simulate", false]], "abstractenv (class in highway_env.envs.common.abstract)": [[21, "highway_env.envs.common.abstract.AbstractEnv", false]], "abstractlane (class in highway_env.road.lane)": [[4, "highway_env.road.lane.AbstractLane", false]], "acc_max (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.ACC_MAX", false]], "acceleration() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.acceleration", false]], "acceleration() (highway_env.vehicle.behavior.linearvehicle method)": [[7, "highway_env.vehicle.behavior.LinearVehicle.acceleration", false]], "acceleration_range (highway_env.envs.common.action.continuousaction attribute)": [[1, "highway_env.envs.common.action.ContinuousAction.ACCELERATION_RANGE", false]], "act() (highway_env.envs.common.action.actiontype method)": [[1, "highway_env.envs.common.action.ActionType.act", false]], "act() (highway_env.envs.common.action.continuousaction method)": [[1, "highway_env.envs.common.action.ContinuousAction.act", false]], "act() (highway_env.envs.common.action.discreteaction method)": [[1, "highway_env.envs.common.action.DiscreteAction.act", false]], "act() (highway_env.envs.common.action.discretemetaaction method)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.act", false]], "act() (highway_env.envs.common.action.multiagentaction method)": [[1, "highway_env.envs.common.action.MultiAgentAction.act", false]], "act() (highway_env.road.road.road method)": [[6, "highway_env.road.road.Road.act", false]], "act() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.act", false]], "act() (highway_env.vehicle.behavior.linearvehicle method)": [[7, "highway_env.vehicle.behavior.LinearVehicle.act", false]], "act() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.act", false]], "act() (highway_env.vehicle.controller.mdpvehicle method)": [[8, "highway_env.vehicle.controller.MDPVehicle.act", false]], "act() (highway_env.vehicle.kinematics.vehicle method)": [[9, "highway_env.vehicle.kinematics.Vehicle.act", false]], "actions_all (highway_env.envs.common.action.discretemetaaction attribute)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.ACTIONS_ALL", false]], "actions_lat (highway_env.envs.common.action.discretemetaaction attribute)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.ACTIONS_LAT", false]], "actions_longi (highway_env.envs.common.action.discretemetaaction attribute)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.ACTIONS_LONGI", false]], "actiontype (class in highway_env.envs.common.action)": [[1, "highway_env.envs.common.action.ActionType", false]], "aggressivevehicle (class in highway_env.vehicle.behavior)": [[7, "highway_env.vehicle.behavior.AggressiveVehicle", false]], "blit_rotate() (highway_env.road.graphics.roadobjectgraphics static method)": [[18, "highway_env.road.graphics.RoadObjectGraphics.blit_rotate", false]], "change_lane_policy() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.change_lane_policy", false]], "change_vehicles() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.change_vehicles", false]], "circularlane (class in highway_env.road.lane)": [[4, "highway_env.road.lane.CircularLane", false]], "close() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.close", false]], "close() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.close", false]], "collect_data() (highway_env.vehicle.behavior.linearvehicle method)": [[7, "highway_env.vehicle.behavior.LinearVehicle.collect_data", false]], "comfort_acc_max (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.COMFORT_ACC_MAX", false]], "comfort_acc_min (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.COMFORT_ACC_MIN", false]], "compute_reward() (highway_env.envs.parking_env.parkingenv method)": [[14, "highway_env.envs.parking_env.ParkingEnv.compute_reward", false]], "continuous_curve() (highway_env.road.graphics.lanegraphics class method)": [[18, "highway_env.road.graphics.LaneGraphics.continuous_curve", false]], "continuous_line() (highway_env.road.graphics.lanegraphics class method)": [[18, "highway_env.road.graphics.LaneGraphics.continuous_line", false]], "continuousaction (class in highway_env.envs.common.action)": [[1, "highway_env.envs.common.action.ContinuousAction", false]], "controlled_vehicle (highway_env.envs.common.action.actiontype property)": [[1, "highway_env.envs.common.action.ActionType.controlled_vehicle", false]], "controlledvehicle (class in highway_env.vehicle.controller)": [[8, "highway_env.vehicle.controller.ControlledVehicle", false]], "create_from() (highway_env.vehicle.behavior.idmvehicle class method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.create_from", false]], "create_from() (highway_env.vehicle.controller.controlledvehicle class method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.create_from", false]], "create_from() (highway_env.vehicle.kinematics.vehicle class method)": [[9, "highway_env.vehicle.kinematics.Vehicle.create_from", false]], "create_random() (highway_env.vehicle.kinematics.vehicle class method)": [[9, "highway_env.vehicle.kinematics.Vehicle.create_random", false]], "default_config() (highway_env.envs.common.abstract.abstractenv class method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.default_config", false]], "default_config() (highway_env.envs.highway_env.highwayenv class method)": [[10, "highway_env.envs.highway_env.HighwayEnv.default_config", false]], "default_config() (highway_env.envs.intersection_env.intersectionenv class method)": [[12, "highway_env.envs.intersection_env.IntersectionEnv.default_config", false]], "default_config() (highway_env.envs.merge_env.mergeenv class method)": [[13, "highway_env.envs.merge_env.MergeEnv.default_config", false]], "default_config() (highway_env.envs.parking_env.parkingenv class method)": [[14, "highway_env.envs.parking_env.ParkingEnv.default_config", false]], "default_config() (highway_env.envs.racetrack_env.racetrackenv class method)": [[15, "highway_env.envs.racetrack_env.RacetrackEnv.default_config", false]], "default_config() (highway_env.envs.roundabout_env.roundaboutenv class method)": [[16, "highway_env.envs.roundabout_env.RoundaboutEnv.default_config", false]], "default_initial_speeds (highway_env.vehicle.kinematics.vehicle attribute)": [[9, "highway_env.vehicle.kinematics.Vehicle.DEFAULT_INITIAL_SPEEDS", false]], "defensivevehicle (class in highway_env.vehicle.behavior)": [[7, "highway_env.vehicle.behavior.DefensiveVehicle", false]], "define_spaces() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.define_spaces", false]], "define_spaces() (highway_env.envs.parking_env.parkingenv method)": [[14, "highway_env.envs.parking_env.ParkingEnv.define_spaces", false]], "delta (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.DELTA", false]], "delta_range (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.DELTA_RANGE", false]], "desired_gap() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.desired_gap", false]], "discreteaction (class in highway_env.envs.common.action)": [[1, "highway_env.envs.common.action.DiscreteAction", false]], "discretemetaaction (class in highway_env.envs.common.action)": [[1, "highway_env.envs.common.action.DiscreteMetaAction", false]], "display() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.display", false]], "display() (highway_env.road.graphics.lanegraphics class method)": [[18, "highway_env.road.graphics.LaneGraphics.display", false]], "display() (highway_env.road.graphics.roadgraphics static method)": [[18, "highway_env.road.graphics.RoadGraphics.display", false]], "display() (highway_env.road.graphics.roadobjectgraphics class method)": [[18, "highway_env.road.graphics.RoadObjectGraphics.display", false]], "display_road_objects() (highway_env.road.graphics.roadgraphics static method)": [[18, "highway_env.road.graphics.RoadGraphics.display_road_objects", false]], "display_traffic() (highway_env.road.graphics.roadgraphics static method)": [[18, "highway_env.road.graphics.RoadGraphics.display_traffic", false]], "distance() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.distance", false]], "distance_wanted (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.DISTANCE_WANTED", false]], "distance_with_heading() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.distance_with_heading", false]], "draw_stripes() (highway_env.road.graphics.lanegraphics class method)": [[18, "highway_env.road.graphics.LaneGraphics.draw_stripes", false]], "enforce_road_rules() (highway_env.road.regulation.regulatedroad method)": [[5, "highway_env.road.regulation.RegulatedRoad.enforce_road_rules", false]], "envviewer (class in highway_env.envs.common.graphics)": [[18, "highway_env.envs.common.graphics.EnvViewer", false]], "exitobservation (class in highway_env.envs.common.observation)": [[23, "highway_env.envs.common.observation.ExitObservation", false]], "fill_road_layer_by_cell() (highway_env.envs.common.observation.occupancygridobservation method)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation.fill_road_layer_by_cell", false]], "fill_road_layer_by_lanes() (highway_env.envs.common.observation.occupancygridobservation method)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation.fill_road_layer_by_lanes", false]], "follow_road() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.follow_road", false]], "from_config() (highway_env.road.lane.abstractlane class method)": [[4, "highway_env.road.lane.AbstractLane.from_config", false]], "from_config() (highway_env.road.lane.circularlane class method)": [[4, "highway_env.road.lane.CircularLane.from_config", false]], "from_config() (highway_env.road.lane.polylanefixedwidth class method)": [[4, "highway_env.road.lane.PolyLaneFixedWidth.from_config", false]], "from_config() (highway_env.road.lane.sinelane class method)": [[4, "highway_env.road.lane.SineLane.from_config", false]], "from_config() (highway_env.road.lane.straightlane class method)": [[4, "highway_env.road.lane.StraightLane.from_config", false]], "get_available_actions() (highway_env.envs.common.action.actiontype method)": [[1, "highway_env.envs.common.action.ActionType.get_available_actions", false]], "get_available_actions() (highway_env.envs.common.action.discretemetaaction method)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.get_available_actions", false]], "get_available_actions() (highway_env.envs.common.action.multiagentaction method)": [[1, "highway_env.envs.common.action.MultiAgentAction.get_available_actions", false]], "get_image() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.get_image", false]], "get_routes_at_intersection() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.get_routes_at_intersection", false]], "grayscaleobservation (class in highway_env.envs.common.observation)": [[23, "highway_env.envs.common.observation.GrayscaleObservation", false]], "handle_event() (highway_env.road.graphics.worldsurface method)": [[18, "highway_env.road.graphics.WorldSurface.handle_event", false]], "handle_events() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.handle_events", false]], "heading_at() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.heading_at", false]], "heading_at() (highway_env.road.lane.circularlane method)": [[4, "highway_env.road.lane.CircularLane.heading_at", false]], "heading_at() (highway_env.road.lane.polylanefixedwidth method)": [[4, "highway_env.road.lane.PolyLaneFixedWidth.heading_at", false]], "heading_at() (highway_env.road.lane.sinelane method)": [[4, "highway_env.road.lane.SineLane.heading_at", false]], "heading_at() (highway_env.road.lane.straightlane method)": [[4, "highway_env.road.lane.StraightLane.heading_at", false]], "highway_env.__init__": [[21, "module-highway_env.__init__", false]], "highway_env.envs.common.abstract": [[21, "module-highway_env.envs.common.abstract", false]], "highway_env.envs.common.action": [[1, "module-highway_env.envs.common.action", false]], "highway_env.envs.common.graphics": [[18, "module-highway_env.envs.common.graphics", false]], "highway_env.envs.common.observation": [[23, "module-highway_env.envs.common.observation", false]], "highway_env.road.graphics": [[18, "module-highway_env.road.graphics", false]], "highway_env.road.lane": [[4, "module-highway_env.road.lane", false]], "highway_env.road.regulation": [[5, "module-highway_env.road.regulation", false]], "highway_env.road.road": [[6, "module-highway_env.road.road", false]], "highway_env.vehicle.behavior": [[7, "module-highway_env.vehicle.behavior", false]], "highway_env.vehicle.controller": [[8, "module-highway_env.vehicle.controller", false]], "highway_env.vehicle.graphics": [[18, "module-highway_env.vehicle.graphics", false]], "highway_env.vehicle.kinematics": [[9, "module-highway_env.vehicle.kinematics", false]], "highwayenv (class in highway_env.envs.highway_env)": [[10, "highway_env.envs.highway_env.HighwayEnv", false]], "history_size (highway_env.vehicle.kinematics.vehicle attribute)": [[9, "highway_env.vehicle.kinematics.Vehicle.HISTORY_SIZE", false]], "idmvehicle (class in highway_env.vehicle.behavior)": [[7, "highway_env.vehicle.behavior.IDMVehicle", false]], "index_to_speed() (highway_env.vehicle.controller.mdpvehicle method)": [[8, "highway_env.vehicle.controller.MDPVehicle.index_to_speed", false]], "intersectionenv (class in highway_env.envs.intersection_env)": [[12, "highway_env.envs.intersection_env.IntersectionEnv", false]], "is_reachable_from() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.is_reachable_from", false]], "is_visible() (highway_env.road.graphics.worldsurface method)": [[18, "highway_env.road.graphics.WorldSurface.is_visible", false]], "kinematicobservation (class in highway_env.envs.common.observation)": [[23, "highway_env.envs.common.observation.KinematicObservation", false]], "kinematicsgoalobservation (class in highway_env.envs.common.observation)": [[23, "highway_env.envs.common.observation.KinematicsGoalObservation", false]], "lanegraphics (class in highway_env.road.graphics)": [[18, "highway_env.road.graphics.LaneGraphics", false]], "length (highway_env.vehicle.kinematics.vehicle attribute)": [[9, "highway_env.vehicle.kinematics.Vehicle.LENGTH", false]], "linearvehicle (class in highway_env.vehicle.behavior)": [[7, "highway_env.vehicle.behavior.LinearVehicle", false]], "linetype (class in highway_env.road.lane)": [[4, "highway_env.road.lane.LineType", false]], "local_angle() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.local_angle", false]], "local_coordinates() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.local_coordinates", false]], "local_coordinates() (highway_env.road.lane.circularlane method)": [[4, "highway_env.road.lane.CircularLane.local_coordinates", false]], "local_coordinates() (highway_env.road.lane.polylanefixedwidth method)": [[4, "highway_env.road.lane.PolyLaneFixedWidth.local_coordinates", false]], "local_coordinates() (highway_env.road.lane.sinelane method)": [[4, "highway_env.road.lane.SineLane.local_coordinates", false]], "local_coordinates() (highway_env.road.lane.straightlane method)": [[4, "highway_env.road.lane.StraightLane.local_coordinates", false]], "max_speed (highway_env.vehicle.kinematics.vehicle attribute)": [[9, "highway_env.vehicle.kinematics.Vehicle.MAX_SPEED", false]], "mdpvehicle (class in highway_env.vehicle.controller)": [[8, "highway_env.vehicle.controller.MDPVehicle", false]], "mergeenv (class in highway_env.envs.merge_env)": [[13, "highway_env.envs.merge_env.MergeEnv", false]], "metaclass__ (highway_env.road.lane.abstractlane attribute)": [[4, "highway_env.road.lane.AbstractLane.metaclass__", false]], "min_speed (highway_env.vehicle.kinematics.vehicle attribute)": [[9, "highway_env.vehicle.kinematics.Vehicle.MIN_SPEED", false]], "mobil() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.mobil", false]], "module": [[1, "module-highway_env.envs.common.action", false], [4, "module-highway_env.road.lane", false], [5, "module-highway_env.road.regulation", false], [6, "module-highway_env.road.road", false], [7, "module-highway_env.vehicle.behavior", false], [8, "module-highway_env.vehicle.controller", false], [9, "module-highway_env.vehicle.kinematics", false], [18, "module-highway_env.envs.common.graphics", false], [18, "module-highway_env.road.graphics", false], [18, "module-highway_env.vehicle.graphics", false], [21, "module-highway_env.__init__", false], [21, "module-highway_env.envs.common.abstract", false], [23, "module-highway_env.envs.common.observation", false]], "move_display_window_to() (highway_env.road.graphics.worldsurface method)": [[18, "highway_env.road.graphics.WorldSurface.move_display_window_to", false]], "multiagentaction (class in highway_env.envs.common.action)": [[1, "highway_env.envs.common.action.MultiAgentAction", false]], "multiagentwrapper (class in highway_env.envs.common.abstract)": [[21, "highway_env.envs.common.abstract.MultiAgentWrapper", false]], "neighbour_vehicles() (highway_env.road.road.road method)": [[6, "highway_env.road.road.Road.neighbour_vehicles", false]], "normalize() (highway_env.envs.common.observation.occupancygridobservation method)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation.normalize", false]], "normalize_obs() (highway_env.envs.common.observation.kinematicobservation method)": [[23, "highway_env.envs.common.observation.KinematicObservation.normalize_obs", false]], "observe() (highway_env.envs.common.observation.exitobservation method)": [[23, "highway_env.envs.common.observation.ExitObservation.observe", false]], "observe() (highway_env.envs.common.observation.grayscaleobservation method)": [[23, "highway_env.envs.common.observation.GrayscaleObservation.observe", false]], "observe() (highway_env.envs.common.observation.kinematicobservation method)": [[23, "highway_env.envs.common.observation.KinematicObservation.observe", false]], "observe() (highway_env.envs.common.observation.kinematicsgoalobservation method)": [[23, "highway_env.envs.common.observation.KinematicsGoalObservation.observe", false]], "observe() (highway_env.envs.common.observation.occupancygridobservation method)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation.observe", false]], "occupancygridobservation (class in highway_env.envs.common.observation)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation", false]], "on_lane() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.on_lane", false]], "parkingenv (class in highway_env.envs.parking_env)": [[14, "highway_env.envs.parking_env.ParkingEnv", false]], "perception_distance (highway_env.envs.common.abstract.abstractenv attribute)": [[21, "highway_env.envs.common.abstract.AbstractEnv.PERCEPTION_DISTANCE", false]], "pix() (highway_env.road.graphics.worldsurface method)": [[18, "highway_env.road.graphics.WorldSurface.pix", false]], "plan_route_to() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.plan_route_to", false]], "polylane (class in highway_env.road.lane)": [[4, "highway_env.road.lane.PolyLane", false]], "polylanefixedwidth (class in highway_env.road.lane)": [[4, "highway_env.road.lane.PolyLaneFixedWidth", false]], "pos2pix() (highway_env.road.graphics.worldsurface method)": [[18, "highway_env.road.graphics.WorldSurface.pos2pix", false]], "pos_to_index() (highway_env.envs.common.observation.occupancygridobservation method)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation.pos_to_index", false]], "position() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.position", false]], "position() (highway_env.road.lane.circularlane method)": [[4, "highway_env.road.lane.CircularLane.position", false]], "position() (highway_env.road.lane.polylanefixedwidth method)": [[4, "highway_env.road.lane.PolyLaneFixedWidth.position", false]], "position() (highway_env.road.lane.sinelane method)": [[4, "highway_env.road.lane.SineLane.position", false]], "position() (highway_env.road.lane.straightlane method)": [[4, "highway_env.road.lane.StraightLane.position", false]], "predict_trajectory() (highway_env.vehicle.controller.mdpvehicle method)": [[8, "highway_env.vehicle.controller.MDPVehicle.predict_trajectory", false]], "predict_trajectory() (highway_env.vehicle.kinematics.vehicle method)": [[9, "highway_env.vehicle.kinematics.Vehicle.predict_trajectory", false]], "predict_trajectory_constant_speed() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.predict_trajectory_constant_speed", false]], "racetrackenv (class in highway_env.envs.racetrack_env)": [[15, "highway_env.envs.racetrack_env.RacetrackEnv", false]], "recover_from_stop() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.recover_from_stop", false]], "regulatedroad (class in highway_env.road.regulation)": [[5, "highway_env.road.regulation.RegulatedRoad", false]], "render() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.render", false]], "reset() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.reset", false]], "respect_priorities() (highway_env.road.regulation.regulatedroad static method)": [[5, "highway_env.road.regulation.RegulatedRoad.respect_priorities", false]], "road (class in highway_env.road.road)": [[6, "highway_env.road.road.Road", false]], "roadgraphics (class in highway_env.road.graphics)": [[18, "highway_env.road.graphics.RoadGraphics", false]], "roadobjectgraphics (class in highway_env.road.graphics)": [[18, "highway_env.road.graphics.RoadObjectGraphics", false]], "roundaboutenv (class in highway_env.envs.roundabout_env)": [[16, "highway_env.envs.roundabout_env.RoundaboutEnv", false]], "set_agent_action_sequence() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.set_agent_action_sequence", false]], "set_agent_display() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.set_agent_display", false]], "set_route_at_intersection() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.set_route_at_intersection", false]], "simplify() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.simplify", false]], "sinelane (class in highway_env.road.lane)": [[4, "highway_env.road.lane.SineLane", false]], "space() (highway_env.envs.common.action.actiontype method)": [[1, "highway_env.envs.common.action.ActionType.space", false]], "space() (highway_env.envs.common.action.continuousaction method)": [[1, "highway_env.envs.common.action.ContinuousAction.space", false]], "space() (highway_env.envs.common.action.discreteaction method)": [[1, "highway_env.envs.common.action.DiscreteAction.space", false]], "space() (highway_env.envs.common.action.discretemetaaction method)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.space", false]], "space() (highway_env.envs.common.action.multiagentaction method)": [[1, "highway_env.envs.common.action.MultiAgentAction.space", false]], "space() (highway_env.envs.common.observation.grayscaleobservation method)": [[23, "highway_env.envs.common.observation.GrayscaleObservation.space", false]], "space() (highway_env.envs.common.observation.kinematicobservation method)": [[23, "highway_env.envs.common.observation.KinematicObservation.space", false]], "space() (highway_env.envs.common.observation.kinematicsgoalobservation method)": [[23, "highway_env.envs.common.observation.KinematicsGoalObservation.space", false]], "space() (highway_env.envs.common.observation.occupancygridobservation method)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation.space", false]], "speed_control() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.speed_control", false]], "speed_to_index() (highway_env.vehicle.controller.mdpvehicle method)": [[8, "highway_env.vehicle.controller.MDPVehicle.speed_to_index", false]], "speed_to_index_default() (highway_env.vehicle.controller.mdpvehicle class method)": [[8, "highway_env.vehicle.controller.MDPVehicle.speed_to_index_default", false]], "steering_control() (highway_env.vehicle.behavior.linearvehicle method)": [[7, "highway_env.vehicle.behavior.LinearVehicle.steering_control", false]], "steering_control() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.steering_control", false]], "steering_features() (highway_env.vehicle.behavior.linearvehicle method)": [[7, "highway_env.vehicle.behavior.LinearVehicle.steering_features", false]], "steering_range (highway_env.envs.common.action.continuousaction attribute)": [[1, "highway_env.envs.common.action.ContinuousAction.STEERING_RANGE", false]], "step() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.step", false]], "step() (highway_env.envs.common.abstract.multiagentwrapper method)": [[21, "highway_env.envs.common.abstract.MultiAgentWrapper.step", false]], "step() (highway_env.envs.intersection_env.intersectionenv method)": [[12, "highway_env.envs.intersection_env.IntersectionEnv.step", false]], "step() (highway_env.road.regulation.regulatedroad method)": [[5, "highway_env.road.regulation.RegulatedRoad.step", false]], "step() (highway_env.road.road.road method)": [[6, "highway_env.road.road.Road.step", false]], "step() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.step", false]], "step() (highway_env.vehicle.kinematics.vehicle method)": [[9, "highway_env.vehicle.kinematics.Vehicle.step", false]], "straightlane (class in highway_env.road.lane)": [[4, "highway_env.road.lane.StraightLane", false]], "stripe_length (highway_env.road.graphics.lanegraphics attribute)": [[18, "highway_env.road.graphics.LaneGraphics.STRIPE_LENGTH", false]], "stripe_spacing (highway_env.road.graphics.lanegraphics attribute)": [[18, "highway_env.road.graphics.LaneGraphics.STRIPE_SPACING", false]], "stripe_width (highway_env.road.graphics.lanegraphics attribute)": [[18, "highway_env.road.graphics.LaneGraphics.STRIPE_WIDTH", false]], "striped_line() (highway_env.road.graphics.lanegraphics class method)": [[18, "highway_env.road.graphics.LaneGraphics.striped_line", false]], "target_speed (highway_env.vehicle.controller.controlledvehicle attribute)": [[8, "highway_env.vehicle.controller.ControlledVehicle.target_speed", false]], "time_wanted (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.TIME_WANTED", false]], "time_wanted (highway_env.vehicle.behavior.linearvehicle attribute)": [[7, "highway_env.vehicle.behavior.LinearVehicle.TIME_WANTED", false]], "to_config() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.to_config", false]], "to_config() (highway_env.road.lane.circularlane method)": [[4, "highway_env.road.lane.CircularLane.to_config", false]], "to_config() (highway_env.road.lane.polylane method)": [[4, "highway_env.road.lane.PolyLane.to_config", false]], "to_config() (highway_env.road.lane.polylanefixedwidth method)": [[4, "highway_env.road.lane.PolyLaneFixedWidth.to_config", false]], "to_config() (highway_env.road.lane.sinelane method)": [[4, "highway_env.road.lane.SineLane.to_config", false]], "to_config() (highway_env.road.lane.straightlane method)": [[4, "highway_env.road.lane.StraightLane.to_config", false]], "vec2pix() (highway_env.road.graphics.worldsurface method)": [[18, "highway_env.road.graphics.WorldSurface.vec2pix", false]], "vehicle (class in highway_env.vehicle.kinematics)": [[9, "highway_env.vehicle.kinematics.Vehicle", false]], "vehicle (highway_env.envs.common.abstract.abstractenv property)": [[21, "highway_env.envs.common.abstract.AbstractEnv.vehicle", false]], "vehicle_class (highway_env.envs.common.action.actiontype property)": [[1, "highway_env.envs.common.action.ActionType.vehicle_class", false]], "vehicle_class (highway_env.envs.common.action.continuousaction property)": [[1, "highway_env.envs.common.action.ContinuousAction.vehicle_class", false]], "vehicle_class (highway_env.envs.common.action.discretemetaaction property)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.vehicle_class", false]], "vehicle_class (highway_env.envs.common.action.multiagentaction property)": [[1, "highway_env.envs.common.action.MultiAgentAction.vehicle_class", false]], "width (highway_env.vehicle.kinematics.vehicle attribute)": [[9, "highway_env.vehicle.kinematics.Vehicle.WIDTH", false]], "width_at() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.width_at", false]], "width_at() (highway_env.road.lane.circularlane method)": [[4, "highway_env.road.lane.CircularLane.width_at", false]], "width_at() (highway_env.road.lane.polylane method)": [[4, "highway_env.road.lane.PolyLane.width_at", false]], "width_at() (highway_env.road.lane.polylanefixedwidth method)": [[4, "highway_env.road.lane.PolyLaneFixedWidth.width_at", false]], "width_at() (highway_env.road.lane.straightlane method)": [[4, "highway_env.road.lane.StraightLane.width_at", false]], "window_position() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.window_position", false]], "worldsurface (class in highway_env.road.graphics)": [[18, "highway_env.road.graphics.WorldSurface", false]]}, "objects": {"highway_env": [[21, 0, 0, "-", "__init__"]], "highway_env.__init__": [[21, 1, 1, "", "_register_highway_envs"]], "highway_env.envs.common": [[21, 0, 0, "-", "abstract"], [1, 0, 0, "-", "action"], [18, 0, 0, "-", "graphics"], [23, 0, 0, "-", "observation"]], "highway_env.envs.common.abstract": [[21, 2, 1, "", "AbstractEnv"], [21, 2, 1, "", "MultiAgentWrapper"]], "highway_env.envs.common.abstract.AbstractEnv": [[21, 3, 1, "", "PERCEPTION_DISTANCE"], [21, 4, 1, "", "_automatic_rendering"], [21, 4, 1, "", "_info"], [21, 4, 1, "", "_is_terminated"], [21, 4, 1, "", "_is_truncated"], [21, 4, 1, "", "_reset"], [21, 4, 1, "", "_reward"], [21, 4, 1, "", "_rewards"], [21, 4, 1, "", "_simulate"], [21, 4, 1, "", "change_vehicles"], [21, 4, 1, "", "close"], [21, 4, 1, "", "default_config"], [21, 4, 1, "", "define_spaces"], [21, 4, 1, "", "render"], [21, 4, 1, "", "reset"], [21, 4, 1, "", "simplify"], [21, 4, 1, "", "step"], [21, 5, 1, "", "vehicle"]], "highway_env.envs.common.abstract.MultiAgentWrapper": [[21, 4, 1, "", "step"]], "highway_env.envs.common.action": [[1, 2, 1, "", "ActionType"], [1, 2, 1, "", "ContinuousAction"], [1, 2, 1, "", "DiscreteAction"], [1, 2, 1, "", "DiscreteMetaAction"], [1, 2, 1, "", "MultiAgentAction"]], "highway_env.envs.common.action.ActionType": [[1, 4, 1, "", "act"], [1, 5, 1, "", "controlled_vehicle"], [1, 4, 1, "", "get_available_actions"], [1, 4, 1, "", "space"], [1, 5, 1, "", "vehicle_class"]], "highway_env.envs.common.action.ContinuousAction": [[1, 3, 1, "", "ACCELERATION_RANGE"], [1, 3, 1, "", "STEERING_RANGE"], [1, 4, 1, "", "act"], [1, 4, 1, "", "space"], [1, 5, 1, "", "vehicle_class"]], "highway_env.envs.common.action.DiscreteAction": [[1, 4, 1, "", "act"], [1, 4, 1, "", "space"]], "highway_env.envs.common.action.DiscreteMetaAction": [[1, 3, 1, "", "ACTIONS_ALL"], [1, 3, 1, "", "ACTIONS_LAT"], [1, 3, 1, "", "ACTIONS_LONGI"], [1, 4, 1, "", "act"], [1, 4, 1, "", "get_available_actions"], [1, 4, 1, "", "space"], [1, 5, 1, "", "vehicle_class"]], "highway_env.envs.common.action.MultiAgentAction": [[1, 4, 1, "", "act"], [1, 4, 1, "", "get_available_actions"], [1, 4, 1, "", "space"], [1, 5, 1, "", "vehicle_class"]], "highway_env.envs.common.graphics": [[18, 2, 1, "", "EnvViewer"]], "highway_env.envs.common.graphics.EnvViewer": [[18, 4, 1, "", "close"], [18, 4, 1, "", "display"], [18, 4, 1, "", "get_image"], [18, 4, 1, "", "handle_events"], [18, 4, 1, "", "set_agent_action_sequence"], [18, 4, 1, "", "set_agent_display"], [18, 4, 1, "", "window_position"]], "highway_env.envs.common.observation": [[23, 2, 1, "", "ExitObservation"], [23, 2, 1, "", "GrayscaleObservation"], [23, 2, 1, "", "KinematicObservation"], [23, 2, 1, "", "KinematicsGoalObservation"], [23, 2, 1, "", "OccupancyGridObservation"]], "highway_env.envs.common.observation.ExitObservation": [[23, 4, 1, "", "observe"]], "highway_env.envs.common.observation.GrayscaleObservation": [[23, 4, 1, "", "observe"], [23, 4, 1, "", "space"]], "highway_env.envs.common.observation.KinematicObservation": [[23, 4, 1, "", "normalize_obs"], [23, 4, 1, "", "observe"], [23, 4, 1, "", "space"]], "highway_env.envs.common.observation.KinematicsGoalObservation": [[23, 4, 1, "", "observe"], [23, 4, 1, "", "space"]], "highway_env.envs.common.observation.OccupancyGridObservation": [[23, 4, 1, "", "fill_road_layer_by_cell"], [23, 4, 1, "", "fill_road_layer_by_lanes"], [23, 4, 1, "", "normalize"], [23, 4, 1, "", "observe"], [23, 4, 1, "", "pos_to_index"], [23, 4, 1, "", "space"]], "highway_env.envs.highway_env": [[10, 2, 1, "", "HighwayEnv"]], "highway_env.envs.highway_env.HighwayEnv": [[10, 4, 1, "", "default_config"]], "highway_env.envs.intersection_env": [[12, 2, 1, "", "IntersectionEnv"]], "highway_env.envs.intersection_env.IntersectionEnv": [[12, 4, 1, "", "default_config"], [12, 4, 1, "", "step"]], "highway_env.envs.merge_env": [[13, 2, 1, "", "MergeEnv"]], "highway_env.envs.merge_env.MergeEnv": [[13, 4, 1, "", "default_config"]], "highway_env.envs.parking_env": [[14, 2, 1, "", "ParkingEnv"]], "highway_env.envs.parking_env.ParkingEnv": [[14, 4, 1, "", "compute_reward"], [14, 4, 1, "", "default_config"], [14, 4, 1, "", "define_spaces"]], "highway_env.envs.racetrack_env": [[15, 2, 1, "", "RacetrackEnv"]], "highway_env.envs.racetrack_env.RacetrackEnv": [[15, 4, 1, "", "default_config"]], "highway_env.envs.roundabout_env": [[16, 2, 1, "", "RoundaboutEnv"]], "highway_env.envs.roundabout_env.RoundaboutEnv": [[16, 4, 1, "", "default_config"]], "highway_env.road": [[18, 0, 0, "-", "graphics"], [4, 0, 0, "-", "lane"], [5, 0, 0, "-", "regulation"], [6, 0, 0, "-", "road"]], "highway_env.road.graphics": [[18, 2, 1, "", "LaneGraphics"], [18, 2, 1, "", "RoadGraphics"], [18, 2, 1, "", "RoadObjectGraphics"], [18, 2, 1, "", "WorldSurface"]], "highway_env.road.graphics.LaneGraphics": [[18, 3, 1, "", "STRIPE_LENGTH"], [18, 3, 1, "", "STRIPE_SPACING"], [18, 3, 1, "", "STRIPE_WIDTH"], [18, 4, 1, "", "continuous_curve"], [18, 4, 1, "", "continuous_line"], [18, 4, 1, "", "display"], [18, 4, 1, "", "draw_stripes"], [18, 4, 1, "", "striped_line"]], "highway_env.road.graphics.RoadGraphics": [[18, 4, 1, "", "display"], [18, 4, 1, "", "display_road_objects"], [18, 4, 1, "", "display_traffic"]], "highway_env.road.graphics.RoadObjectGraphics": [[18, 4, 1, "", "blit_rotate"], [18, 4, 1, "", "display"]], "highway_env.road.graphics.WorldSurface": [[18, 4, 1, "", "handle_event"], [18, 4, 1, "", "is_visible"], [18, 4, 1, "", "move_display_window_to"], [18, 4, 1, "", "pix"], [18, 4, 1, "", "pos2pix"], [18, 4, 1, "", "vec2pix"]], "highway_env.road.lane": [[4, 2, 1, "", "AbstractLane"], [4, 2, 1, "", "CircularLane"], [4, 2, 1, "", "LineType"], [4, 2, 1, "", "PolyLane"], [4, 2, 1, "", "PolyLaneFixedWidth"], [4, 2, 1, "", "SineLane"], [4, 2, 1, "", "StraightLane"]], "highway_env.road.lane.AbstractLane": [[4, 4, 1, "", "distance"], [4, 4, 1, "", "distance_with_heading"], [4, 4, 1, "", "from_config"], [4, 4, 1, "", "heading_at"], [4, 4, 1, "", "is_reachable_from"], [4, 4, 1, "", "local_angle"], [4, 4, 1, "", "local_coordinates"], [4, 3, 1, "", "metaclass__"], [4, 4, 1, "", "on_lane"], [4, 4, 1, "", "position"], [4, 4, 1, "", "to_config"], [4, 4, 1, "", "width_at"]], "highway_env.road.lane.CircularLane": [[4, 4, 1, "", "from_config"], [4, 4, 1, "", "heading_at"], [4, 4, 1, "", "local_coordinates"], [4, 4, 1, "", "position"], [4, 4, 1, "", "to_config"], [4, 4, 1, "", "width_at"]], "highway_env.road.lane.PolyLane": [[4, 4, 1, "", "to_config"], [4, 4, 1, "", "width_at"]], "highway_env.road.lane.PolyLaneFixedWidth": [[4, 4, 1, "", "from_config"], [4, 4, 1, "", "heading_at"], [4, 4, 1, "", "local_coordinates"], [4, 4, 1, "", "position"], [4, 4, 1, "", "to_config"], [4, 4, 1, "", "width_at"]], "highway_env.road.lane.SineLane": [[4, 4, 1, "", "from_config"], [4, 4, 1, "", "heading_at"], [4, 4, 1, "", "local_coordinates"], [4, 4, 1, "", "position"], [4, 4, 1, "", "to_config"]], "highway_env.road.lane.StraightLane": [[4, 4, 1, "", "from_config"], [4, 4, 1, "", "heading_at"], [4, 4, 1, "", "local_coordinates"], [4, 4, 1, "", "position"], [4, 4, 1, "", "to_config"], [4, 4, 1, "", "width_at"]], "highway_env.road.regulation": [[5, 2, 1, "", "RegulatedRoad"]], "highway_env.road.regulation.RegulatedRoad": [[5, 4, 1, "", "enforce_road_rules"], [5, 4, 1, "", "respect_priorities"], [5, 4, 1, "", "step"]], "highway_env.road.road": [[6, 2, 1, "", "Road"]], "highway_env.road.road.Road": [[6, 4, 1, "", "act"], [6, 4, 1, "", "neighbour_vehicles"], [6, 4, 1, "", "step"]], "highway_env.vehicle": [[7, 0, 0, "-", "behavior"], [8, 0, 0, "-", "controller"], [18, 0, 0, "-", "graphics"], [9, 0, 0, "-", "kinematics"]], "highway_env.vehicle.behavior": [[7, 2, 1, "", "AggressiveVehicle"], [7, 2, 1, "", "DefensiveVehicle"], [7, 2, 1, "", "IDMVehicle"], [7, 2, 1, "", "LinearVehicle"]], "highway_env.vehicle.behavior.IDMVehicle": [[7, 3, 1, "", "ACC_MAX"], [7, 3, 1, "", "COMFORT_ACC_MAX"], [7, 3, 1, "", "COMFORT_ACC_MIN"], [7, 3, 1, "", "DELTA"], [7, 3, 1, "", "DELTA_RANGE"], [7, 3, 1, "", "DISTANCE_WANTED"], [7, 3, 1, "", "TIME_WANTED"], [7, 4, 1, "", "acceleration"], [7, 4, 1, "", "act"], [7, 4, 1, "", "change_lane_policy"], [7, 4, 1, "", "create_from"], [7, 4, 1, "", "desired_gap"], [7, 4, 1, "", "mobil"], [7, 4, 1, "", "recover_from_stop"], [7, 4, 1, "", "step"]], "highway_env.vehicle.behavior.LinearVehicle": [[7, 3, 1, "", "TIME_WANTED"], [7, 4, 1, "", "acceleration"], [7, 4, 1, "", "act"], [7, 4, 1, "", "collect_data"], [7, 4, 1, "", "steering_control"], [7, 4, 1, "", "steering_features"]], "highway_env.vehicle.controller": [[8, 2, 1, "", "ControlledVehicle"], [8, 2, 1, "", "MDPVehicle"]], "highway_env.vehicle.controller.ControlledVehicle": [[8, 4, 1, "", "act"], [8, 4, 1, "", "create_from"], [8, 4, 1, "", "follow_road"], [8, 4, 1, "", "get_routes_at_intersection"], [8, 4, 1, "", "plan_route_to"], [8, 4, 1, "", "predict_trajectory_constant_speed"], [8, 4, 1, "", "set_route_at_intersection"], [8, 4, 1, "", "speed_control"], [8, 4, 1, "", "steering_control"], [8, 3, 1, "", "target_speed"]], "highway_env.vehicle.controller.MDPVehicle": [[8, 4, 1, "", "act"], [8, 4, 1, "", "index_to_speed"], [8, 4, 1, "", "predict_trajectory"], [8, 4, 1, "", "speed_to_index"], [8, 4, 1, "", "speed_to_index_default"]], "highway_env.vehicle.kinematics": [[9, 2, 1, "", "Vehicle"]], "highway_env.vehicle.kinematics.Vehicle": [[9, 3, 1, "", "DEFAULT_INITIAL_SPEEDS"], [9, 3, 1, "", "HISTORY_SIZE"], [9, 3, 1, "", "LENGTH"], [9, 3, 1, "", "MAX_SPEED"], [9, 3, 1, "", "MIN_SPEED"], [9, 3, 1, "", "WIDTH"], [9, 4, 1, "", "act"], [9, 4, 1, "", "create_from"], [9, 4, 1, "", "create_random"], [9, 4, 1, "", "predict_trajectory"], [9, 4, 1, "", "step"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "method", "Python method"], "5": ["py", "property", "Python property"]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:attribute", "4": "py:method", "5": "py:property"}, "terms": {"": [1, 5, 6, 7, 8, 9, 10, 12, 13, 16, 17, 18, 21, 22, 23, 24, 25], "0": [1, 4, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 20, 21, 22, 23, 24, 25], "00593": 2, "01495": 2, "01562341": 22, "01946728": 22, "025": 23, "02766261": 22, "04": 23, "04974489": 22, "05": 23, "05029499": 23, "065": 23, "07387763": 23, "075": 23, "08": 23, "08220994": 23, "1": [1, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 22, 23, 24, 25], "10": [2, 7, 12, 23], "100": [12, 14, 23], "10234839": 22, "105": 23, "11": 16, "1140": 23, "12": 23, "1200x500": 23, "12045569": 23, "12250": 2, "128": 23, "13": [12, 23], "14": 24, "15": [2, 10, 12, 13, 14, 15, 16, 17, 18, 23, 24, 25], "150": [10, 13, 24], "15000": 24, "1612": 2, "16941962": 23, "17": [2, 24], "1707": 2, "172": 23, "18": [15, 23], "1805": 2, "1824": 2, "18702331": 23, "18845703": 23, "1911": 2, "1973714": 23, "19899715": 23, "1999": 2, "1d": [1, 7], "1m": 23, "1st": 9, "2": [1, 2, 7, 8, 9, 10, 20, 22, 23, 24], "20": [4, 10, 12, 23, 24], "200": [21, 24], "2000": 2, "2007": 2, "2008": 2, "2015": 2, "2017": 2, "2018": 19, "2019": [2, 24], "20264469": 22, "21897048": 23, "22": 23, "222": 23, "23": 9, "231": 15, "25": [9, 23], "256": 24, "25m": 23, "25mn": 24, "27": 23, "2989": 23, "2d": [1, 4, 7], "2e4": 24, "3": [1, 7, 10, 12, 13, 15, 18, 20, 23, 24], "30": [9, 10, 24], "300": [14, 15], "3000": 22, "30728498": 22, "3125": 22, "3141": 2, "32": 24, "33": 18, "3d": 2, "4": [1, 7, 10, 15, 18, 23, 24], "40": [9, 10, 24], "41426247": 23, "4156653": 22, "480": 18, "5": [1, 7, 9, 10, 12, 13, 14, 15, 16, 20, 23, 24], "50": [10, 18, 24], "518": 2, "529": 2, "533": 2, "54714144": 18, "5870": 23, "5e": 24, "6": [2, 7, 12, 16, 23], "600": [10, 12, 13, 14, 15, 16, 24], "6127969": 23, "62": 2, "64": 23, "640": 18, "640x480": [22, 23, 24], "675": 23, "7": [14, 15], "75": [22, 23], "7540": 2, "7853981633974483": 1, "8": [2, 23, 24], "84": 23, "84082603": 23, "89726937": 22, "9": 23, "A": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 18, 21, 22, 23, 24], "As": 22, "At": 8, "But": 12, "By": 18, "For": [1, 6, 7, 17, 22, 23, 24], "If": [1, 7, 8, 9, 16, 19, 21, 23], "In": [2, 7, 10, 13, 16, 17, 21, 22, 23, 25], "It": [6, 7, 8, 9, 12, 13, 14, 16], "Its": 18, "Of": 12, "On": 5, "That": 21, "The": [1, 2, 3, 4, 6, 7, 8, 9, 10, 12, 13, 15, 16, 18, 19, 20, 21, 23, 24, 25, 26], "Then": 1, "There": [3, 24], "These": [9, 21, 23], "To": [20, 21, 22], "Will": 21, "_": [7, 22, 23, 24, 25], "__init__": 21, "_automatic_rend": 21, "_c": 7, "_info": 21, "_is_termin": 21, "_is_trunc": 21, "_make_road": 21, "_n": 7, "_o": 7, "_r": 8, "_register_highway_env": 21, "_reset": 21, "_reward": [21, 25], "_simul": 21, "_state": 24, "_to": 8, "a_": 7, "a_c": 7, "a_n": 7, "a_o": 7, "ab": 7, "abbeel": 2, "abcmeta": 4, "abl": [1, 8, 17, 21], "about": [7, 17, 24], "abov": 1, "absolut": [12, 23], "abstract": [4, 21], "abstractenv": [1, 18, 21, 23], "abstractlan": [4, 6, 18], "acc_max": 7, "acceler": [1, 7, 8, 9, 14], "acceleration_rang": 1, "accept": 22, "access": [1, 13, 21, 24], "accord": 7, "achiev": [12, 14, 21], "achieved_go": 14, "act": [1, 6, 7, 8, 9], "action": [6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 21, 24, 26], "action_1": 22, "action_2": 22, "action_config": [1, 22], "action_dur": [8, 9], "action_i": 22, "action_reward": 15, "action_spac": [1, 17, 21], "action_typ": [21, 23, 24], "actions_al": [1, 22], "actions_index": [23, 24], "actions_lat": 1, "actions_longi": 1, "actions_per_axi": 1, "actiontyp": 1, "actual": [1, 6, 17, 22], "ad": [12, 21], "add": [1, 21], "addit": 21, "address": [17, 25], "adequ": 25, "advanc": 2, "affect": 3, "after": [7, 22, 24], "against": 25, "agent": [1, 10, 12, 13, 14, 15, 18, 21, 23, 25, 26], "agent_displai": 18, "aggreg": 21, "aggressivevehicl": 7, "agre": 12, "alex": 2, "algorithm": 22, "alia": 4, "align": 23, "align_to_vehicle_ax": [15, 23], "all": [7, 12, 17, 21, 23], "allow": [1, 7, 8, 21], "along": [8, 18, 23], "alreadi": 23, "also": [6, 10, 13, 17, 18, 23, 24, 25], "altch": 2, "altern": 21, "alwai": [1, 18, 23], "amir": 2, "among": 8, "amplitud": 4, "an": [1, 5, 6, 7, 8, 9, 12, 18, 19, 21, 22, 23, 25], "anaconda": 20, "andr": 2, "andrea": 2, "andrei": 2, "andrychowicz": 2, "ang_": 23, "angl": [1, 4, 7, 8, 9, 18, 23], "angular": 23, "ani": [12, 14, 21, 23, 25], "anoth": 6, "ansgar": 2, "anticip": 8, "antonogl": 2, "api": 26, "appear": 9, "appli": [1, 8], "approach": [13, 16, 23], "appropri": [14, 25], "approxim": [4, 7], "apt": 20, "ar": [1, 3, 4, 5, 6, 7, 8, 9, 10, 18, 21, 22, 23, 24, 25], "arbitr": 5, "arc": 4, "architectur": [17, 24], "arcsin": 8, "area": [16, 18], "argu": 17, "arn": 2, "around": [4, 18, 23], "arrai": [7, 18, 22, 23], "arrow": 1, "arxiv": 2, "as_imag": [15, 23], "aspect": 25, "assign": 5, "associ": 21, "assum": [8, 23], "attent": [2, 24], "attribut": [5, 24], "author": 19, "automat": [1, 8, 16, 21], "autonom": [2, 19], "avail": [1, 10, 24], "avoid": [8, 10, 12, 13, 15, 16, 25], "awai": 23, "awr": [2, 24], "ax": [22, 23, 24], "ax1": 22, "ax2": 22, "axi": [1, 7, 8, 9, 23], "b": [7, 25], "b_": 7, "base": [1, 5, 7, 9, 24], "baselin": 24, "baselines3": 24, "batch_siz": 24, "beatti": 2, "becaus": [7, 17], "been": [21, 22, 25], "befor": [7, 22], "behav": [3, 5], "behavior": [3, 5, 10, 12, 13, 16, 21, 24], "behaviour": [5, 6, 7, 12, 18, 21, 25], "behind": [9, 23], "being": [7, 9, 25], "bellemar": 2, "benefici": 25, "beta": 9, "better": 24, "between": [4, 5, 7, 8, 9, 18, 23, 25], "beyond": 1, "bibtex": 19, "bicycl": [2, 9], "bin": 23, "blit_rot": 18, "block": 12, "bob": 2, "bolt": 19, "bool": [1, 4, 5, 6, 7, 12, 18, 21, 23], "both": [1, 4, 7, 22, 23], "bottom": 23, "bound": 25, "boundari": 1, "box": 1, "brake": [7, 9, 25], "brigitt": 2, "buffer_s": 24, "c": [7, 18, 23], "calcul": 9, "call": [8, 10, 12, 13, 14, 15, 16, 17, 18, 21], "callabl": [1, 18], "callback": 18, "can": [1, 4, 6, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25], "canada": 2, "candid": 7, "captur": 21, "car": 2, "cartesian": [7, 8, 9], "cascad": 8, "case": [5, 6, 17, 23], "caus": 25, "cd": 22, "cell": 23, "center": [4, 7, 8, 9, 18, 23], "centering_posit": [10, 12, 13, 14, 15, 16, 18, 23, 24], "central": [4, 12, 22], "challeng": 25, "chang": [1, 2, 4, 7, 8, 16, 17, 21, 23, 24, 26], "change_lane_polici": 7, "change_vehicl": 21, "channel": [18, 23], "charl": 2, "check": [21, 23], "choic": [21, 25], "choos": [8, 25], "chosen": [7, 9, 18], "circl": 4, "circularlan": 4, "class": [1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21, 22, 23], "classif": 2, "classmethod": [4, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21], "clip": [1, 23], "clockwis": 4, "close": [7, 17, 18, 21], "closest": [8, 23], "cmap": 23, "cnn": [17, 24], "co": [9, 25], "code": [17, 22], "coeffici": [7, 25], "collect": [7, 19, 23], "collect_data": 7, "collid": [10, 23], "collis": [5, 10, 12, 13, 15, 16, 25, 26], "collision_penalti": 25, "collision_reward": [10, 12, 15, 24], "color": 18, "column": 23, "com": [15, 18, 19, 20], "combin": 8, "come": [1, 12, 23], "comfort_acc_max": 7, "comfort_acc_min": 7, "command": [7, 8, 9], "common": [1, 18, 21, 22, 23], "complet": 9, "compon": 23, "compos": [3, 6, 25], "comput": [2, 4, 7, 8, 21], "compute_reward": 14, "condit": [14, 24], "confer": 2, "config": [1, 4, 10, 12, 13, 14, 15, 16, 18, 21, 22, 23, 24], "config_kei": 21, "configur": [1, 18, 22, 25, 26], "conflict": 5, "congest": 2, "consid": [6, 19, 23], "consist": [1, 2], "constant": [8, 21, 23], "constant_st": 9, "contain": [6, 21, 22, 23], "continu": [14, 15, 18, 26], "continuous_curv": 18, "continuous_lin": 18, "continuousact": [1, 14, 15], "contribut": [12, 19], "control": [2, 3, 7, 14, 15, 16, 21, 26], "controlled_vehicl": [1, 15, 22, 24], "controlledvehicl": [7, 8], "convent": [18, 25], "convers": [4, 23], "convert": [4, 8, 18, 23], "coordin": [4, 6, 18, 23], "copi": [7, 8, 9, 17, 21], "correspond": [1, 4, 8, 14, 17, 18, 21, 23], "cos_d": 23, "cos_h": [12, 14, 23], "could": [12, 22, 25], "cours": 12, "crash": [9, 16], "creat": [1, 4, 7, 8, 9, 18, 24, 26], "create_from": [7, 8, 9], "create_random": 9, "creation": 24, "credit": [14, 15], "cross": 24, "cruis": [1, 8], "current": [1, 6, 8, 9, 20, 21, 23, 25], "curv": [4, 24], "custom": 19, "customari": 23, "customis": [1, 23], "cut": 7, "d": [2, 7], "d_0": 7, "daan": 2, "data": [7, 21, 23], "datafram": 23, "david": 2, "deceler": 7, "decelr": 1, "decemb": 2, "decentr": 12, "decid": [6, 7, 22], "decis": [2, 7, 12, 19, 21], "dedic": 18, "deep": [2, 24, 25], "def": 22, "default": [1, 7, 8, 9, 18, 21, 23, 24], "default_config": [10, 12, 13, 14, 15, 16, 21], "default_initial_spe": 9, "default_width": 4, "defensivevehicl": 7, "defin": [1, 4, 6, 10, 12, 13, 14, 15, 16, 18, 21, 23, 24, 25], "define_spac": [14, 21], "definit": 1, "delta": [1, 7, 8, 9], "delta_": 8, "delta_rang": 7, "demi": 2, "demonstr": 24, "dens": [2, 12], "densiti": 9, "depend": [9, 17, 20, 21], "deriv": 8, "describ": [3, 4, 5, 6, 10, 17, 19, 21, 22, 23], "descript": [3, 19, 23, 24], "desir": [1, 7, 8, 14, 21, 23, 25], "desired_gap": 7, "desired_go": 14, "destin": [8, 12, 23, 25], "detail": [10, 19], "detect": 23, "determin": [4, 5], "determinist": [2, 24], "dev": 20, "df": 23, "dharshan": 2, "dict": [1, 4, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21, 23, 24], "dictat": 7, "dictionari": [6, 21, 23, 24], "did": [12, 21], "differ": [7, 17, 23], "dimens": 18, "direct": [1, 7, 8, 9, 23], "directli": [1, 23, 24, 25], "dirk": 2, "disabl": 1, "disambigu": 23, "discret": [7, 8, 26], "discreteact": 1, "discretemetaact": [1, 10, 12, 13, 16, 22, 24], "discretis": 23, "dispatch": 22, "displai": [5, 6, 9, 16, 18], "display_road_object": 18, "display_traff": 18, "distanc": [4, 7, 18, 21, 23, 25], "distance_w": 7, "distance_with_head": 4, "distant": 21, "divid": 23, "do": [7, 17, 25], "doe": [7, 17, 24], "doesn": [6, 7], "doi": 2, "done": [1, 16, 17, 18, 22, 23, 24], "dot": [7, 8, 9], "doubl": 24, "dqn": [17, 22, 23, 24], "dqnagent": 22, "draw": 18, "draw_strip": 18, "drawn": 18, "drive": [2, 5, 6, 8, 9, 10, 13, 18, 19, 21, 24, 25], "driver": 7, "dt": [5, 6, 7, 8, 9], "dtype": 22, "duel": 24, "dummi": 22, "durat": [8, 9, 10, 12, 15, 16, 24], "dure": [7, 18], "dynam": [1, 5, 6, 7, 8, 9, 12, 21, 24, 26], "e": [1, 2, 17], "each": [1, 5, 6, 8, 9, 12, 17, 18, 22, 23], "earli": 25, "edg": [1, 6], "edouard": [2, 19], "effect": 24, "ego": [1, 7, 10, 12, 13, 14, 16, 18, 21, 25], "ego_attention_2h": 22, "ego_spac": 24, "ego_vehicl": 7, "either": 1, "eleur": [15, 19, 20, 22, 24], "els": [8, 23], "emerg": 25, "empir": 2, "enabl": [1, 23], "enable_lane_chang": 7, "encod": 23, "encourag": 25, "end": [4, 6, 8, 9, 12, 18, 21, 22], "end_phas": 4, "enforc": 5, "enforce_road_rul": 5, "ensur": 4, "entiti": [5, 6], "entri": 17, "entry_point": 21, "enumer": 23, "env": [1, 10, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24], "env_multi_ag": 22, "environ": [1, 3, 10, 12, 13, 14, 15, 16, 18, 19, 22, 23, 26], "envview": 18, "episod": [12, 17, 21, 22, 24, 25], "episode_trigg": 17, "equal": 16, "equival": 1, "eras": 8, "errat": 9, "euclidean": 25, "evalu": 22, "even": [7, 18], "event": 18, "eventhandl": 1, "everi": [1, 3, 25], "exampl": [17, 21, 22], "except": 23, "execut": [1, 7, 12, 21, 22], "exist": [7, 8, 9, 21, 23], "exit": 23, "exit_env": 23, "exitobserv": 23, "expect": [12, 23, 25], "experi": [2, 22, 24], "expon": 7, "express": 16, "extens": 24, "f": 23, "fail": 12, "fals": [1, 4, 5, 6, 10, 12, 13, 14, 15, 16, 17, 18, 22, 23, 24], "faq": 24, "far": 22, "fast": [10, 16, 24], "faster": [1, 8, 23], "feasibl": 2, "featur": [7, 12, 14, 15, 25], "features_rang": [12, 23], "feel": 17, "few": 24, "fewer": 23, "ffmpeg": 20, "fidjeland": 2, "field": [21, 22, 23], "fig": 23, "figsiz": 23, "figur": [12, 22, 23, 24], "file": 26, "filip": 2, "fill": 23, "fill_road_layer_by_cel": 23, "fill_road_layer_by_lan": 23, "find": [5, 6, 8], "fine": 12, "first": [1, 5, 17, 18, 21, 22, 23], "fix": [4, 21, 23], "flag": 18, "flat": 23, "flatten": 12, "float": [1, 4, 5, 6, 7, 8, 9, 12, 14, 18, 21, 23], "float32": 22, "florent": 2, "flow": 16, "fluid": 2, "focu": 25, "follow": [1, 2, 6, 7, 8, 15, 16, 17, 18, 21, 23, 24], "follow_road": 8, "fong": 2, "forbid": 25, "forbidden": 4, "forward": [8, 9, 18], "found": [6, 25], "fp": 24, "frac": [7, 8, 9, 25], "frame": [4, 17, 18, 21, 23], "fran": 2, "free": 17, "freeli": 21, "frenet": 4, "frequenc": [7, 17, 18, 21], "friction": 1, "from": [4, 6, 7, 8, 9, 10, 14, 21, 22, 23, 24, 25], "from_config": 4, "front": [7, 8, 9, 25], "front_vehicl": 7, "full": [1, 24], "function": [21, 24, 25], "futur": [8, 9], "g": [2, 17], "gain": [7, 8], "gamma": 24, "gap": 7, "gather": 19, "gcc": 20, "gener": [2, 5, 6, 17, 21, 22, 25], "geometri": [4, 6, 21], "georg": 2, "geq": 7, "get": [1, 4, 8, 20, 22, 23], "get_available_act": 1, "get_cmap": 23, "get_imag": 18, "get_routes_at_intersect": 8, "git": 20, "github": [15, 19, 20], "give": [5, 6, 21, 23], "given": [4, 6, 7, 8, 9, 14, 17, 18, 21], "global": 4, "go": [4, 6], "goal": [14, 24, 26], "good": 12, "gradient_step": 24, "grai": 23, "graph": 6, "graphic": [20, 26], "grave": 2, "graviti": 9, "grayscal": [17, 26], "grayscaleobserv": 23, "green": 22, "grid": 26, "grid_siz": [15, 23], "grid_step": [15, 23], "guiba": 2, "guid": 19, "gym": [1, 10, 12, 13, 14, 15, 16, 17, 18, 21, 23], "gymnasium": [1, 18, 21, 22, 23, 24], "h": [18, 23], "ha": [4, 15, 16, 20, 21, 22, 23, 24, 25], "handl": [8, 16, 18], "handle_ev": 18, "handler": 8, "hao": 2, "happen": 12, "hard": 12, "hasn": 16, "hassabi": 2, "have": [6, 7, 14, 21, 25], "he": 15, "head": [4, 7, 9, 14, 23], "heading_at": 4, "heading_weight": 4, "height": 16, "helb": 2, "helen": 2, "henneck": 2, "her": 24, "here": [10, 17, 21, 22, 23, 24], "hermit": 4, "high": [8, 10, 13, 14], "high_speed_reward": [10, 24], "higher": 7, "highwai": [1, 11, 13, 15, 18, 20, 22, 23, 24], "highway_dqn": 24, "highway_env": [1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24], "highwayenv": 10, "hindsight": [2, 24], "histori": 9, "history_s": 9, "hm08": [2, 24], "hook": 21, "horizon": 23, "horizont": [7, 8, 9], "hot": 23, "how": [1, 3, 7, 22, 24], "howev": [5, 17, 24, 25], "howpublish": 19, "hren": 2, "http": [15, 18, 19, 20], "human": 2, "hz": [10, 13, 16, 17], "i": [1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 19, 21, 22, 24, 25], "id": [9, 21], "idea": [14, 15], "ideal": 12, "identifi": 6, "idl": [1, 23, 24], "idm": 7, "idmvehicl": [7, 10, 13, 16, 21, 24], "ieee": 2, "ignor": 1, "imag": [17, 18, 21, 24, 26], "image1": 20, "implement": [1, 4, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24], "import": [1, 3, 17, 21, 22, 23, 24], "impos": 7, "improv": 24, "imshow": [22, 23, 24], "incent": 7, "includ": [1, 5, 6, 22], "include_obstacl": 23, "incom": 13, "incoming_vehicle_destin": 16, "increas": [7, 23, 26], "inde": 17, "index": [1, 6, 7, 8, 23], "index_to_spe": 8, "induc": 7, "info": [12, 14, 17, 21, 22, 23, 24], "inform": [2, 14, 17, 21, 23], "infrastructur": 6, "infti": 23, "inherit": 21, "initi": [4, 8, 9, 14, 15, 18, 21, 22], "initial_lane_id": 24, "initial_spac": 10, "initial_vehicle_count": 12, "inlin": [22, 23, 24], "input": [8, 9, 18], "insid": [21, 25], "instal": [17, 18, 21], "instanc": [1, 4, 6, 7, 8, 9, 23, 24], "instead": [17, 25], "int": [1, 4, 7, 8, 9, 12, 18, 21, 23, 24], "integ": 6, "integr": 9, "intellig": [2, 7], "interdisciplinari": 2, "intermedi": [17, 21], "intersect": [1, 5, 6, 8, 11, 24], "intersection_env": 12, "intersectionenv": [12, 22], "interv": 1, "invari": [17, 25], "invert": 8, "involv": 21, "ioanni": 2, "is_conflict_poss": 5, "is_reachable_from": 4, "is_vis": 18, "issu": 15, "iter": 23, "its": [1, 4, 6, 7, 8, 9, 16, 17, 22, 24], "itself": 20, "j": [2, 23], "jam": 7, "jean": 2, "joel": 2, "jojo": 14, "jona": 2, "josh": 2, "journal": 19, "json": [4, 22], "junction": 13, "k": [2, 16, 18], "k_": 8, "k_p": 8, "kaichun": 2, "kavukcuoglu": 2, "keep": [12, 25], "kei": [1, 16, 18, 23], "kest": 2, "kinemat": [1, 2, 3, 6, 8, 10, 12, 22, 24, 26], "kinematicobserv": 23, "kinematicsgo": 14, "kinematicsgoalobserv": 23, "king": 2, "known": 4, "korai": 2, "kp_a": 8, "kth07": [2, 7], "kumaran": 2, "kurtosi": 14, "kwarg": [1, 23], "l": [8, 9, 18, 23], "l1": 4, "lab": 6, "label": 1, "lambda": 17, "landmark": [5, 6], "lane": [1, 2, 3, 5, 6, 7, 8, 9, 10, 16, 17, 18, 21, 22, 23, 24], "lane_centering_cost": 15, "lane_change_max_braking_impos": 7, "lane_change_min_acc_gain": 7, "lane_change_reward": 24, "lane_from": 9, "lane_id": 9, "lane_index": [6, 7], "lane_left": 1, "lane_perception_dist": 23, "lane_point": 4, "lane_right": 1, "lane_to": 9, "lanegraph": 18, "laneindex": 6, "lanes_count": [10, 24], "laptop": 24, "larg": 23, "last": [9, 21, 23], "lat": [4, 8, 18], "lat_": 23, "later": [1, 4, 12, 15, 18, 23], "latest": 20, "layer": [1, 23], "layer_index": 23, "lead": [7, 23, 25], "learn": [2, 15, 24, 25], "learning_r": 24, "learning_start": 24, "lectur": 2, "left": [7, 8, 18, 22, 23], "left_boundary_point": 4, "legg": 2, "length": [9, 18], "leonida": 2, "leurent": [2, 19], "level": [1, 2, 4, 8, 17], "libavcodec": 20, "libavformat": 20, "libfreetype6": 20, "libportmidi": 20, "librari": 24, "libsdl": 20, "libsdl1": 20, "libsmpeg": 20, "libswscal": 20, "lidar": 26, "lidarobserv": 23, "light": 12, "like": 23, "line": [4, 8, 18], "line_typ": 4, "linear": [7, 8], "linearli": 10, "linearvehicl": 7, "linetyp": 4, "list": [1, 3, 4, 5, 6, 7, 8, 9, 17, 18, 21, 23, 24], "lm19": [2, 17, 24], "load": [21, 24], "local": [4, 6, 17, 18], "local_angl": 4, "local_coordin": 4, "locat": [18, 23], "long": 17, "long_": 23, "long_offset": 4, "longi": 4, "longitudin": [1, 4, 9, 12, 15, 16, 18, 23], "look": [6, 23], "lookahead": 8, "low": [1, 8], "lower": [7, 21], "lp": 14, "m": [1, 4, 7, 8, 9, 10, 16, 18, 21, 23], "machin": 2, "mai": [7, 23, 25], "main": [4, 13], "maintain": [7, 13], "make": [1, 2, 10, 12, 13, 14, 15, 16, 18, 19, 22, 23, 26], "maneuv": 7, "mani": [15, 18], "manual": [20, 21, 26], "manual_control": [1, 24], "map": [1, 10, 23], "marc": 2, "marcin": 2, "margin": [4, 18], "martin": 2, "matplotlib": [22, 23, 24], "matter": 12, "max": [23, 25], "max_i": 23, "max_spe": 9, "max_x": 23, "maxim": [1, 7], "maximum": [1, 7, 9, 21, 23, 25], "maximum_rang": 23, "mcgrew": 2, "mdpvehicl": 8, "meant": 21, "mechan": 1, "mercat": 2, "merg": [11, 24], "merge_env": 13, "mergeenv": 13, "meta": 26, "metaclass__": 4, "meter": 23, "method": [1, 4, 5, 7, 8, 9, 16, 21, 25], "mi": 2, "microscop": 2, "middl": 23, "might": 1, "min": [23, 25], "min_i": 23, "min_spe": 9, "min_x": 23, "minim": [1, 7], "minimum": [1, 7, 9, 25], "misc": 19, "mixer1": 20, "mk": [2, 25], "mlp": 24, "mlppolici": 24, "mnih": 2, "mo": 2, "mobil": [2, 7], "model": [2, 3, 7, 8, 9, 21, 22, 24], "modifi": [9, 21], "modul": [1, 21, 23], "modular": 21, "montreal": 2, "more": [7, 10, 12, 13, 14, 15, 16, 17, 21], "most": [1, 5, 22, 26], "move": [3, 9, 18, 23], "move_display_window_to": 18, "multi": [21, 26], "multiagentact": [1, 22], "multiagentobserv": 22, "multiagentwrapp": 21, "multilan": 10, "munir": 14, "muno": 2, "must": [1, 6, 14, 18, 20, 21, 22, 24, 25], "my": [12, 24], "n": 7, "name": [1, 23], "narrow": 25, "natur": [2, 23], "ncol": 23, "ndarrai": [1, 4, 7, 8, 9, 12, 14, 18, 21, 23], "nearbi": [7, 23], "nearest": 23, "need": [15, 17], "neg": 25, "negoti": [12, 13], "neighbour": [6, 10], "neighbour_vehicl": 6, "net_arch": 24, "network": [5, 6, 8, 21, 23], "neural": 2, "neurip": 2, "new": [4, 5, 6, 7, 8, 9, 17, 21], "next": [8, 12, 21, 23], "next_ob": 22, "next_obs_i": 22, "node": [6, 8, 9], "non": [4, 7, 8, 23], "none": [1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21, 23, 24], "norm": [14, 25], "normal": [14, 23, 25], "normalis": [4, 23], "normalize_ob": 23, "normalize_reward": [12, 24], "note": [2, 25], "notebook": 24, "novel": [2, 17], "now": [7, 13, 21, 22, 23], "np": [1, 4, 5, 6, 21], "np_random": [5, 6], "nrow": 22, "number": [5, 6, 9, 16, 18, 23, 24, 26], "numpi": 20, "nut": 19, "o": [7, 18], "o1": 12, "ob": [17, 21, 22, 23, 24], "object": [4, 5, 6, 7, 8, 9, 10, 13, 18, 21, 23], "object_": 18, "obs_i": 22, "observ": [1, 2, 10, 12, 13, 14, 15, 16, 21, 24, 25, 26], "observation_config": 22, "observation_factori": 23, "observation_shap": 23, "observe_intent": [12, 23], "obstacl": [5, 6, 23], "obtain": [6, 24], "occup": 26, "occupancygrid": [15, 23], "occupancygridobserv": 23, "off": 23, "offroad": 23, "offroad_termin": 24, "offscreen": 18, "offscreen_rend": [10, 13, 14, 15, 16, 24], "offset": [18, 23], "often": [12, 25], "oi": 2, "old": 7, "on_lan": 4, "on_road": 15, "onc": 21, "one": [7, 8, 9, 18, 22], "ongo": 21, "onli": [1, 7, 9, 21, 22, 24, 25], "onroad": 23, "opd": 24, "openai": 24, "optim": [21, 25], "optimist": 2, "option": [4, 19, 21], "order": [1, 9, 17, 22, 23, 25], "origin": 18, "origin_po": 18, "oscil": 4, "ostrovski": 2, "other": [5, 7, 8, 9, 10, 12, 15, 21, 22, 23], "other_valu": 21, "other_vehicl": 15, "other_vehicles_typ": [10, 13, 16, 24], "otherwis": 23, "output": [7, 17], "over": 23, "overal": 7, "overload": [10, 12, 13, 14, 15, 16, 21, 25], "overrid": 7, "overridden": 9, "overwritten": 21, "own": [7, 12, 22, 26], "p": [7, 8, 14, 25], "packag": 19, "page": [2, 24], "pair": [17, 21, 23], "paltchedandrean17": [2, 9], "param": [18, 23], "paramet": [1, 4, 5, 6, 7, 8, 9, 12, 14, 18, 21, 23, 25], "parametr": [4, 24], "parametris": 7, "park": [11, 23, 24, 25], "parking_env": 14, "parkingenv": 14, "part": [21, 23], "particular": 25, "pass": [16, 22, 23], "past": 17, "path": [21, 22], "penalti": 25, "per": 23, "perception_dist": 21, "perform": [1, 7, 8, 12, 21, 23, 24], "permut": 17, "perspect": 25, "peter": 2, "petersen": 2, "phase": 4, "philip": 2, "physic": [2, 3], "piec": 19, "pieter": 2, "pilot": 8, "pip": 20, "pix": 18, "pixel": 18, "place": [7, 8, 9, 23], "placehold": 23, "plan": [2, 8, 16, 24], "plan_route_to": 8, "plasma": 2, "pleas": 19, "plt": [22, 23, 24], "po": 18, "point": [1, 2, 4], "pointnet": 2, "polack": 2, "polici": [7, 21, 22, 24, 25], "policy_frequ": [10, 13, 14, 15, 16, 23, 24], "policy_kwarg": 24, "polit": 7, "polylan": 4, "polylanefixedwidth": 4, "polynomi": 4, "popul": [10, 21], "pos2pix": 18, "pos_to_index": 23, "posit": [4, 6, 7, 9, 14, 18, 23], "possibl": [16, 17, 25], "possibli": 7, "ppo": 17, "pprint": [22, 24], "practic": 25, "pre": 1, "preced": [6, 7], "predict": [5, 8, 9, 12, 22, 23, 24], "predict_trajectori": [8, 9], "predict_trajectory_constant_spe": 8, "predition_typ": 9, "prefer": 25, "presenc": [12, 15], "present": 21, "preserv": 21, "principl": 24, "print": 23, "priorit": 24, "prioriti": [4, 5], "prng": 21, "probabl": 17, "problem": 25, "process": [1, 2], "profit": 26, "progress": 25, "project": [6, 7, 19, 20, 25], "propag": 9, "properti": [1, 7, 8, 9, 21], "proport": 8, "provid": [4, 8, 17, 18, 19, 21, 24], "proxim": 14, "pseudo": 22, "psi": [8, 9, 25], "psi_": 8, "psi_g": 25, "psi_l": 8, "psi_r": 8, "pub": 6, "publish": 19, "pull": 21, "pulsat": 4, "purpos": [12, 19], "px": [10, 13, 16, 18], "py": [21, 22], "pygam": [16, 18, 20], "pyplot": [22, 23, 24], "python": [20, 21, 22], "python3": 20, "q": 24, "qi": 2, "qsmg17": [2, 17], "quantiz": 1, "quick": [19, 24], "quickli": 25, "quit": 12, "r": [2, 7, 8, 25], "racetrack": [11, 24], "racetrack_env": 15, "racetrackenv": 15, "rachel": 2, "rad": [1, 4, 7, 8], "radian": 23, "radiu": 4, "rai": 2, "ramp": 13, "random": [5, 6, 9, 24], "randomli": [7, 9], "randomst": [5, 6], "rang": [1, 7, 8, 9, 10, 23, 24, 25], "rate": 8, "rather": [1, 25], "ratio": 9, "reach": [7, 10, 14], "reachabl": [1, 4, 9], "real": 23, "real_time_rend": 24, "realist": [7, 25], "rear_vehicl": 7, "reason": [7, 12, 17], "receiv": 10, "recent": [5, 6], "recommend": 20, "record": [2, 5, 6, 17], "record_histori": [5, 6], "recordvideo": [17, 21], "recov": 7, "recover_from_stop": 7, "rectangl": [18, 23], "refer": [8, 21], "regist": [17, 26], "register_highway_env": [17, 21], "registr": 21, "regress": 7, "regul": 3, "regularli": 23, "regulatedroad": 5, "reinforc": [2, 24, 25], "reinstal": 21, "rel": 23, "relat": 2, "remov": 21, "render": [17, 18, 21, 22, 23, 24], "render_ag": [10, 13, 14, 15, 16, 24], "render_mod": [10, 12, 13, 14, 15, 16, 21, 22, 23, 24], "repeat": 9, "replac": 25, "replai": [2, 24], "repositori": [17, 19], "repres": [6, 9, 18, 23], "request": 21, "requir": [7, 20, 21], "research": 2, "reset": [1, 17, 18, 21, 22, 23, 24], "resolut": 23, "resolv": 5, "resp": 7, "respect": [1, 7, 8, 18, 25], "respect_prior": 5, "respons": 9, "result": [12, 24], "return": [1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21, 22, 23, 25], "reus": 17, "revers": 7, "review": 2, "revisit": 17, "reward": [10, 12, 13, 14, 17, 21, 22, 23, 24, 26], "reward_nam": 21, "reward_speed_rang": [10, 24], "reward_valu": 21, "rgb": [18, 23], "rgb_arrai": [22, 23, 24], "riedmil": 2, "right": [4, 5, 7, 8, 10, 18, 22, 23], "right_boundary_point": 4, "right_lane_reward": 24, "rightmost": 10, "risk": 25, "rl": [22, 24], "rlss": 24, "road": [1, 4, 7, 8, 9, 10, 12, 13, 18, 21, 23, 25, 26], "road_network": 6, "road_object": [5, 6], "roadgraph": 18, "roadnetwork": [3, 5, 6, 21], "roadobject": [6, 18], "roadobjectgraph": 18, "roadsurfac": 18, "robust": 25, "room": 13, "rotat": 18, "roundabout": [11, 18, 24], "roundabout_env": 16, "roundaboutenv": 16, "rout": [7, 8, 16], "row": 23, "rudimentari": 12, "rule": 5, "run": [16, 17, 21, 22, 24], "rusu": 2, "s2": [7, 8], "s_g": 25, "sadik": 2, "safe": [7, 13, 25], "safeti": 7, "sake": 22, "same": [7, 8, 9], "sampl": [1, 17, 21], "satisfi": 25, "save": [8, 9, 24], "sb3": [17, 24], "scalar": 21, "scale": [10, 12, 13, 14, 15, 16, 18, 23, 24, 25], "scene": [17, 23, 26], "schedul": 12, "schneider": 2, "scienc": 2, "screen": 18, "screen_height": [10, 12, 13, 14, 15, 16, 18, 24], "screen_width": [10, 12, 13, 14, 15, 16, 18, 24], "script": [22, 24], "search": 8, "second": [5, 6, 16, 21, 22], "section": 3, "sector": 23, "see": [15, 17, 21, 22, 23, 24, 25], "see_behind": 23, "seed": [21, 22, 24], "segment": 2, "self": [21, 22], "send": [17, 22], "sensit": 17, "separ": [1, 18], "sequenc": [4, 7, 8, 9, 18, 23], "serial": 4, "set": [1, 2, 4, 5, 6, 8, 14, 18, 23, 26], "set_agent_action_sequ": 18, "set_agent_displai": 18, "set_record_video_wrapp": 17, "set_route_at_intersect": 8, "set_titl": 22, "setpoint": 1, "setup": 21, "sever": [1, 7, 10, 12, 17, 21, 23, 24], "shane": 2, "shape": 23, "shift": 25, "should": [5, 6, 7, 17, 18, 21, 22, 23, 25], "show": [22, 23, 24], "show_rect": 18, "show_trajectori": [10, 13, 14, 15, 16, 24], "shuffl": 23, "side": [4, 10, 18], "silver": 2, "similarli": 1, "simpl": [7, 8, 12, 25], "simpli": 12, "simplifi": 21, "simul": [1, 2, 7, 8, 9, 12, 17, 18, 21, 23], "simulation_frequ": [10, 13, 14, 15, 16, 18, 24], "sin": [9, 25], "sin_d": 23, "sin_h": [12, 14, 23], "sinc": [12, 22, 23, 25], "sinelan": 4, "singl": [17, 21, 22, 25], "sinusoid": 4, "situat": 12, "size": [18, 22, 23, 24], "skill": 15, "slightli": 18, "slip": 9, "slower": [1, 8], "small": 23, "smaller": 16, "so": [1, 7, 13, 14, 17, 18, 21, 23], "social": [2, 24], "some": [1, 5, 8, 13, 25], "sometim": 12, "soon": 13, "sophist": 12, "sort": 23, "sourc": [1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21, 23], "south": 23, "southeast": 16, "space": [1, 7, 9, 14, 18, 21, 23, 26], "spawn": 9, "spawn_prob": 12, "specif": [10, 12, 13, 14, 15, 16, 18, 23], "specifi": [1, 8, 21, 25], "speed": [1, 7, 8, 9, 10, 13, 14, 21, 25], "speed_control": 8, "speed_limit": 4, "speed_rang": 1, "speed_to_index": 8, "speed_to_index_default": 8, "speedup": 10, "spike": 25, "sqrt": 7, "stabl": 24, "stable_baselines3": 24, "stack_siz": 23, "stackoverflow": 18, "stai": [10, 23], "standard": 22, "start": [4, 6, 9, 13, 18, 19], "start_phas": 4, "state": [2, 7, 8, 9, 17, 21, 22, 23, 25], "static": [5, 18], "statist": 2, "steer": [1, 7, 8, 9, 14], "steering_control": [7, 8], "steering_featur": 7, "steering_rang": 1, "step": [1, 5, 6, 7, 9, 12, 16, 17, 21, 22, 23, 24], "step_i": 23, "step_x": 23, "stig": 2, "still": [16, 21], "stop": [5, 7, 9], "store": [6, 7, 9], "str": [7, 8, 9, 10, 12, 13, 14, 15, 16, 21, 23], "straight": [4, 10, 23], "straightforward": 25, "straightlan": 4, "string": 6, "stripe": 18, "stripe_length": 18, "stripe_spac": 18, "stripe_width": 18, "striped_lin": 18, "stripes_count": 18, "struggl": 17, "stuck": 7, "su": 2, "sub": 17, "subclass": 1, "subplot": [22, 23], "subvers": 20, "sudo": 20, "suffer": 25, "suggest": [7, 17], "suitabl": 17, "sum": 23, "sum_i": 25, "supperted825": 15, "supplementari": [4, 14], "support": [7, 22], "surf": 18, "surfac": [7, 8, 9, 26], "switch": 8, "symposium": 2, "system": [2, 4, 9, 12, 18], "s\u00b2": 1, "t": [6, 7, 16, 23], "take": [1, 5, 7, 23, 24], "tan": 9, "target": [1, 5, 7, 8], "target_lane_index": [7, 8], "target_spe": [1, 7, 8], "target_update_interv": 24, "target_veloc": 7, "task": [10, 12, 13, 14, 16, 21, 24], "tend": 17, "tensorboard_log": 24, "term": [7, 25], "termin": [12, 21, 25], "test": [18, 24], "text": [7, 8, 25], "th": 7, "than": [1, 7, 17, 23, 25], "thank": [15, 18], "thei": [1, 5, 7, 13, 18, 23, 25], "them": [5, 18, 24, 25], "themselv": 21, "thh00": [2, 7], "thi": [1, 4, 7, 10, 12, 13, 16, 17, 20, 21, 22, 23, 24, 25], "thing": 12, "third": 2, "thirti": 2, "those": [8, 24], "though": 7, "three": 23, "throttl": [1, 8], "through": [1, 2, 3, 5, 8, 21, 25], "thu": [1, 17, 25], "tild": 7, "time": [3, 5, 7, 8, 16, 24, 25, 26], "time_w": 7, "timer": 7, "timestep": [5, 6, 7, 8, 9, 12, 21], "timetocollis": [13, 16, 23], "timetocollisionobserv": 23, "titl": [19, 22], "to_config": 4, "tobin": 2, "too": 12, "top": [1, 8, 23], "topic": 2, "topologi": [6, 21], "toward": 23, "track": [1, 8, 15], "traffic": [2, 12, 13, 16], "train": 22, "train_freq": 24, "trajectori": [2, 5, 6, 8, 9, 24, 25], "trajectory_timestep": [8, 9], "transform": 21, "transit": 22, "transpar": 18, "transport": 2, "treiber": 2, "trigger": 7, "trigonometr": 23, "true": [1, 4, 7, 10, 12, 13, 14, 15, 16, 17, 23, 24], "truncat": [12, 16, 17, 21, 22, 23, 24], "try": [5, 7], "ttf2": 20, "tupl": [1, 4, 6, 7, 8, 12, 18, 21, 22, 23], "turn": 8, "tutori": 24, "tv": 7, "two": [3, 5, 7, 8, 15, 17, 18, 22, 23, 25], "type": [1, 4, 10, 12, 13, 14, 15, 16, 21, 22, 23, 24], "typic": 17, "unavail": 1, "uncertain": 25, "under": 8, "underbrac": 7, "uniform": [1, 8, 23], "uniqu": 6, "unsaf": 7, "until": [5, 9, 12, 21], "unwrap": [17, 21, 22, 23, 24], "up": [12, 26], "updat": [8, 9, 18, 20, 22, 23], "upon": 1, "url": 19, "us": [1, 7, 8, 9, 14, 18, 19, 20, 21, 23, 24, 25], "user": 20, "usual": [5, 17], "v": [7, 8, 9, 23, 25], "v0": [1, 10, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24], "v1": 5, "v2": 5, "v_": [8, 25], "v_0": 7, "v_r": 8, "v_x": 25, "v_y": [23, 25], "valu": [1, 16, 21, 23, 24], "vanilla": 24, "variabl": 16, "variat": 8, "variou": 21, "vec": 18, "vec2pix": 18, "vector": [1, 21], "vehicl": [1, 2, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 24, 25, 26], "vehicle_class": [1, 21], "vehicle_class_path": 21, "vehiclegraph": 18, "vehicles_count": [10, 12, 22, 23, 24], "vehicles_dens": 24, "veloc": [1, 5, 7, 8, 23, 25], "veness": 2, "verbos": 24, "verg": 14, "version": 22, "video": [21, 22, 24], "video_fold": 17, "viewer": [18, 21], "visibl": 18, "visual": 18, "visualis": 22, "volodymyr": 2, "vx": [12, 14, 23], "vy": [12, 14, 23], "w": [7, 18, 23, 25], "w_i": 25, "wa": [12, 14, 18], "wai": [4, 5, 12, 17, 24], "wait": 12, "waypoint": 23, "we": [14, 17, 18, 20, 21, 23, 25], "weight": [4, 7, 14, 23, 25], "welcom": [12, 21], "welind": 2, "west": 23, "what": [22, 23], "wheel": [7, 8, 9], "when": [5, 7, 8, 10], "where": [1, 6, 7, 8, 9, 14, 15, 21, 23, 25], "whether": [1, 4, 5, 6, 7, 18, 21, 23], "which": [1, 4, 5, 6, 7, 8, 12, 14, 17, 18, 20, 21, 22, 23, 24, 25], "while": [1, 9, 10, 13, 15, 16, 17, 21, 22, 24], "who": [4, 5], "whole": 21, "whose": [6, 7], "why": 7, "width": [4, 9, 16, 18], "width_at": 4, "wierstra": 2, "window": [16, 18], "window_posit": 18, "wish": 25, "within": 23, "without": 18, "wojciech": 2, "wolski": 2, "work": 17, "workshop": 2, "world": [4, 23, 26], "worldsurfac": 18, "would": [18, 23, 25], "wrap": [17, 21, 26], "wrapper": [17, 21], "write": 4, "written": 24, "wrong": 7, "x": [1, 4, 9, 12, 14, 18, 23, 25], "x15": 10, "x_g": 25, "x_i": 25, "y": [4, 9, 12, 14, 18, 20, 23, 25], "y_g": 25, "yaw": 8, "year": 19, "yield": [5, 8, 24, 25], "you": [17, 19, 21, 23], "your": 26, "your_env": 21, "yourenv": 21, "zaremba": 2, "zero": 23, "zip": 22, "zoom": 18, "\u00e7": 2, "\u00e9": 2}, "titles": ["404", "Actions", "Bibliography", "Dynamics", "Lane", "Road regulation", "Road", "Behavior", "Control", "Kinematics", "Highway", "The environments", "Intersection", "Merge", "Parking", "Racetrack", "Roundabout", "Frequently Asked Questions", "Graphics", "Welcome to highway-env\u2019s documentation!", "Installation", "Make your own environment", "The Multi-Agent setting", "Observations", "Getting Started", "Rewards", "User Guide"], "titleterms": {"": 19, "10": 20, "404": 0, "Not": 0, "The": [11, 22], "action": [1, 22], "agent": [17, 22, 24], "all": 24, "an": [17, 24], "api": [1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21, 23], "ar": 17, "ask": 17, "behavior": 7, "bibliographi": 2, "bit": 23, "chang": 22, "cite": 19, "close": 23, "colab": 24, "collis": 23, "configur": [10, 12, 13, 14, 15, 16, 21, 23, 24], "continu": 1, "control": [1, 8, 22], "creat": 21, "default": [10, 12, 13, 14, 15, 16], "develop": 20, "discret": 1, "document": 19, "doesn": 17, "drive": 23, "dynam": 3, "east": 23, "ego": 23, "env": 19, "environ": [11, 17, 21, 24, 25], "error": 17, "exampl": [23, 24], "exist": 17, "farther": 23, "fast": 17, "faster": 10, "featur": 23, "file": 21, "found": 0, "framer": 17, "frequent": 17, "get": [17, 24], "goal": 25, "googl": 24, "graphic": 18, "grayscal": 23, "grid": 23, "guid": 26, "gymnasium": 17, "have": 17, "head": 8, "highwai": [10, 17, 19], "how": 19, "i": [17, 23], "illustr": 23, "imag": 23, "increas": 22, "instal": 20, "intersect": 12, "kinemat": [9, 17, 23], "lane": 4, "later": [7, 8], "lidar": 23, "longitudin": [7, 8], "low": 17, "make": [17, 21, 24], "manual": 1, "mechan": 23, "merg": 13, "meta": 1, "mlp": 17, "model": 17, "most": 25, "multi": 22, "my": 17, "namenotfound": 17, "north": 23, "number": 22, "observ": [17, 22, 23], "occup": 23, "one": 23, "optim": 17, "own": 21, "page": 0, "park": 14, "polici": 17, "posit": 8, "prerequisit": 20, "presenc": 23, "profit": 21, "question": 17, "racetrack": 15, "regist": 21, "regul": 5, "releas": 20, "result": 17, "reward": 25, "road": [3, 5, 6], "roundabout": 16, "same": 23, "scene": [18, 21], "set": [21, 22], "slower": 23, "space": 22, "speed": 23, "stabl": 20, "stack": 23, "start": 24, "surfac": 18, "t": 17, "thi": 19, "time": 23, "too": 17, "train": [17, 24], "try": 17, "ubuntu": 20, "up": [21, 22], "us": 17, "usag": [10, 12, 13, 14, 15, 16], "user": 26, "v_x": 23, "variant": 10, "vehicl": [3, 21, 22, 23], "version": 20, "video": 17, "welcom": 19, "when": 17, "why": 17, "window": 20, "work": 19, "world": 18, "wrap": 22, "your": 21}}) \ No newline at end of file +Search.setIndex({"alltitles": {"404": [[0, null]], "API": [[1, "module-highway_env.envs.common.action"], [4, "module-highway_env.road.lane"], [5, "module-highway_env.road.regulation"], [6, "module-highway_env.road.road"], [7, "module-highway_env.vehicle.behavior"], [8, "module-highway_env.vehicle.controller"], [9, "module-highway_env.vehicle.kinematics"], [10, "api"], [12, "api"], [13, "api"], [14, "api"], [15, "api"], [16, "api"], [18, "module-highway_env.envs.common.graphics"], [21, "module-highway_env.__init__"], [23, "module-highway_env.envs.common.observation"]], "Actions": [[1, null]], "All the environments": [[24, "all-the-environments"]], "Behavior": [[7, null]], "Bibliography": [[2, null]], "Change the action space": [[22, "change-the-action-space"]], "Change the observation space": [[22, "change-the-observation-space"]], "Configuring an environment": [[24, "configuring-an-environment"]], "Continuous Actions": [[1, "continuous-actions"]], "Control": [[8, null]], "Create the scene": [[21, "create-the-scene"]], "Create the vehicles": [[21, "create-the-vehicles"]], "Default configuration": [[10, "default-configuration"], [12, "default-configuration"], [13, "default-configuration"], [14, "default-configuration"], [15, "default-configuration"], [16, "default-configuration"]], "Development version": [[20, "development-version"]], "Discrete Actions": [[1, "discrete-actions"]], "Discrete Meta-Actions": [[1, "discrete-meta-actions"]], "Dynamics": [[3, null]], "Example configuration": [[23, "example-configuration"], [23, "grayscale-example-configuration"], [23, "id4"], [23, "id5"], [23, "id6"]], "Examples on Google Colab": [[24, "examples-on-google-colab"]], "Faster variant": [[10, "faster-variant"]], "Frequently Asked Questions": [[17, null]], "Getting Started": [[24, null]], "Goal environments": [[25, "goal-environments"]], "Graphics": [[18, null]], "Grayscale Image": [[23, "grayscale-image"]], "Heading control": [[8, "heading-control"]], "Highway": [[10, null]], "How to cite this work?": [[19, "how-to-cite-this-work"]], "I try to train an agent using the Kinematics Observation and an MLP model, but the resulting policy is not optimal. Why?": [[17, "i-try-to-train-an-agent-using-the-kinematics-observation-and-an-mlp-model-but-the-resulting-policy-is-not-optimal-why"]], "Illustration of the stack mechanism": [[23, "illustration-of-the-stack-mechanism"]], "Increase the number of controlled vehicles": [[22, "increase-the-number-of-controlled-vehicles"]], "Installation": [[20, null]], "Intersection": [[12, null]], "Kinematics": [[9, null], [23, "kinematics"]], "Lane": [[4, null]], "Lateral Behavior": [[7, "lateral-behavior"]], "Lateral controller": [[8, "lateral-controller"]], "Lidar": [[23, "lidar"]], "Longitudinal Behavior": [[7, "longitudinal-behavior"]], "Longitudinal controller": [[8, "longitudinal-controller"]], "Make the environment configurable": [[21, "make-the-environment-configurable"]], "Make your own environment": [[21, null]], "Making an environment": [[24, "making-an-environment"]], "Manual control": [[1, "manual-control"]], "Merge": [[13, null]], "Most environments": [[25, "most-environments"]], "My videos are too fast / have a low framerate.": [[17, "my-videos-are-too-fast-have-a-low-framerate"]], "Observations": [[23, null]], "Occupancy grid": [[23, "occupancy-grid"]], "Page Not Found": [[0, "page-not-found"]], "Parking": [[14, null]], "Position control": [[8, "position-control"]], "Prerequisites": [[20, "prerequisites"]], "Profit": [[21, "profit"]], "Racetrack": [[15, null]], "Register the environment": [[21, "register-the-environment"]], "Rewards": [[25, null]], "Road": [[6, null]], "Road regulation": [[5, null]], "Roads": [[3, "roads"]], "Roundabout": [[16, null]], "Scene graphics": [[18, "scene-graphics"]], "Set up files": [[21, "set-up-files"]], "Stable release": [[20, "stable-release"]], "The Multi-Agent setting": [[22, null]], "The environments": [[11, null]], "Time to collision": [[23, "time-to-collision"]], "Training an agent": [[24, "training-an-agent"]], "Ubuntu": [[20, "ubuntu"]], "Usage": [[10, "usage"], [12, "usage"], [13, "usage"], [14, "usage"], [15, "usage"], [16, "usage"]], "User Guide": [[26, null]], "Vehicles": [[3, "vehicles"]], "Welcome to highway-env\u2019s documentation!": [[19, null]], "When I try to make an environment, I get an error gymnasium.error.NameNotFound: Environment highway doesn't exist.": [[17, "when-i-try-to-make-an-environment-i-get-an-error-gymnasium-error-namenotfound-environment-highway-doesn-t-exist"]], "Windows 10": [[20, "windows-10"]], "World surface": [[18, "world-surface"]], "Wrapping it up": [[22, "wrapping-it-up"]], "presence feature: one vehicle is close to the north, and one is farther to the east.": [[23, "id7"]], "the Lidar observation": [[23, "id9"]], "v_x feature: the north vehicle drives at the same speed as the ego-vehicle, and the east vehicle a bit slower": [[23, "id8"]]}, "docnames": ["404", "actions/index", "bibliography/index", "dynamics/index", "dynamics/road/lane", "dynamics/road/regulation", "dynamics/road/road", "dynamics/vehicle/behavior", "dynamics/vehicle/controller", "dynamics/vehicle/kinematics", "environments/highway", "environments/index", "environments/intersection", "environments/merge", "environments/parking", "environments/racetrack", "environments/roundabout", "faq", "graphics/index", "index", "installation", "make_your_own", "multi_agent", "observations/index", "quickstart", "rewards/index", "user_guide"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinxcontrib.bibtex": 9}, "filenames": ["404.md", "actions/index.md", "bibliography/index.md", "dynamics/index.md", "dynamics/road/lane.md", "dynamics/road/regulation.md", "dynamics/road/road.md", "dynamics/vehicle/behavior.md", "dynamics/vehicle/controller.md", "dynamics/vehicle/kinematics.md", "environments/highway.md", "environments/index.md", "environments/intersection.md", "environments/merge.md", "environments/parking.md", "environments/racetrack.md", "environments/roundabout.md", "faq.md", "graphics/index.md", "index.md", "installation.md", "make_your_own.md", "multi_agent.md", "observations/index.md", "quickstart.md", "rewards/index.md", "user_guide.md"], "indexentries": {"_automatic_rendering() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._automatic_rendering", false]], "_info() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._info", false]], "_is_terminated() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._is_terminated", false]], "_is_truncated() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._is_truncated", false]], "_register_highway_envs() (in module highway_env.__init__)": [[21, "highway_env.__init__._register_highway_envs", false]], "_reset() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._reset", false]], "_reward() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._reward", false]], "_rewards() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._rewards", false]], "_simulate() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv._simulate", false]], "abstractenv (class in highway_env.envs.common.abstract)": [[21, "highway_env.envs.common.abstract.AbstractEnv", false]], "abstractlane (class in highway_env.road.lane)": [[4, "highway_env.road.lane.AbstractLane", false]], "acc_max (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.ACC_MAX", false]], "acceleration() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.acceleration", false]], "acceleration() (highway_env.vehicle.behavior.linearvehicle method)": [[7, "highway_env.vehicle.behavior.LinearVehicle.acceleration", false]], "acceleration_range (highway_env.envs.common.action.continuousaction attribute)": [[1, "highway_env.envs.common.action.ContinuousAction.ACCELERATION_RANGE", false]], "act() (highway_env.envs.common.action.actiontype method)": [[1, "highway_env.envs.common.action.ActionType.act", false]], "act() (highway_env.envs.common.action.continuousaction method)": [[1, "highway_env.envs.common.action.ContinuousAction.act", false]], "act() (highway_env.envs.common.action.discreteaction method)": [[1, "highway_env.envs.common.action.DiscreteAction.act", false]], "act() (highway_env.envs.common.action.discretemetaaction method)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.act", false]], "act() (highway_env.envs.common.action.multiagentaction method)": [[1, "highway_env.envs.common.action.MultiAgentAction.act", false]], "act() (highway_env.road.road.road method)": [[6, "highway_env.road.road.Road.act", false]], "act() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.act", false]], "act() (highway_env.vehicle.behavior.linearvehicle method)": [[7, "highway_env.vehicle.behavior.LinearVehicle.act", false]], "act() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.act", false]], "act() (highway_env.vehicle.controller.mdpvehicle method)": [[8, "highway_env.vehicle.controller.MDPVehicle.act", false]], "act() (highway_env.vehicle.kinematics.vehicle method)": [[9, "highway_env.vehicle.kinematics.Vehicle.act", false]], "actions_all (highway_env.envs.common.action.discretemetaaction attribute)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.ACTIONS_ALL", false]], "actions_lat (highway_env.envs.common.action.discretemetaaction attribute)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.ACTIONS_LAT", false]], "actions_longi (highway_env.envs.common.action.discretemetaaction attribute)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.ACTIONS_LONGI", false]], "actiontype (class in highway_env.envs.common.action)": [[1, "highway_env.envs.common.action.ActionType", false]], "aggressivevehicle (class in highway_env.vehicle.behavior)": [[7, "highway_env.vehicle.behavior.AggressiveVehicle", false]], "blit_rotate() (highway_env.road.graphics.roadobjectgraphics static method)": [[18, "highway_env.road.graphics.RoadObjectGraphics.blit_rotate", false]], "change_lane_policy() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.change_lane_policy", false]], "change_vehicles() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.change_vehicles", false]], "circularlane (class in highway_env.road.lane)": [[4, "highway_env.road.lane.CircularLane", false]], "close() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.close", false]], "close() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.close", false]], "collect_data() (highway_env.vehicle.behavior.linearvehicle method)": [[7, "highway_env.vehicle.behavior.LinearVehicle.collect_data", false]], "comfort_acc_max (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.COMFORT_ACC_MAX", false]], "comfort_acc_min (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.COMFORT_ACC_MIN", false]], "compute_reward() (highway_env.envs.parking_env.parkingenv method)": [[14, "highway_env.envs.parking_env.ParkingEnv.compute_reward", false]], "continuous_curve() (highway_env.road.graphics.lanegraphics class method)": [[18, "highway_env.road.graphics.LaneGraphics.continuous_curve", false]], "continuous_line() (highway_env.road.graphics.lanegraphics class method)": [[18, "highway_env.road.graphics.LaneGraphics.continuous_line", false]], "continuousaction (class in highway_env.envs.common.action)": [[1, "highway_env.envs.common.action.ContinuousAction", false]], "controlled_vehicle (highway_env.envs.common.action.actiontype property)": [[1, "highway_env.envs.common.action.ActionType.controlled_vehicle", false]], "controlledvehicle (class in highway_env.vehicle.controller)": [[8, "highway_env.vehicle.controller.ControlledVehicle", false]], "create_from() (highway_env.vehicle.behavior.idmvehicle class method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.create_from", false]], "create_from() (highway_env.vehicle.controller.controlledvehicle class method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.create_from", false]], "create_from() (highway_env.vehicle.kinematics.vehicle class method)": [[9, "highway_env.vehicle.kinematics.Vehicle.create_from", false]], "create_random() (highway_env.vehicle.kinematics.vehicle class method)": [[9, "highway_env.vehicle.kinematics.Vehicle.create_random", false]], "default_config() (highway_env.envs.common.abstract.abstractenv class method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.default_config", false]], "default_config() (highway_env.envs.highway_env.highwayenv class method)": [[10, "highway_env.envs.highway_env.HighwayEnv.default_config", false]], "default_config() (highway_env.envs.intersection_env.intersectionenv class method)": [[12, "highway_env.envs.intersection_env.IntersectionEnv.default_config", false]], "default_config() (highway_env.envs.merge_env.mergeenv class method)": [[13, "highway_env.envs.merge_env.MergeEnv.default_config", false]], "default_config() (highway_env.envs.parking_env.parkingenv class method)": [[14, "highway_env.envs.parking_env.ParkingEnv.default_config", false]], "default_config() (highway_env.envs.racetrack_env.racetrackenv class method)": [[15, "highway_env.envs.racetrack_env.RacetrackEnv.default_config", false]], "default_config() (highway_env.envs.roundabout_env.roundaboutenv class method)": [[16, "highway_env.envs.roundabout_env.RoundaboutEnv.default_config", false]], "default_initial_speeds (highway_env.vehicle.kinematics.vehicle attribute)": [[9, "highway_env.vehicle.kinematics.Vehicle.DEFAULT_INITIAL_SPEEDS", false]], "defensivevehicle (class in highway_env.vehicle.behavior)": [[7, "highway_env.vehicle.behavior.DefensiveVehicle", false]], "define_spaces() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.define_spaces", false]], "define_spaces() (highway_env.envs.parking_env.parkingenv method)": [[14, "highway_env.envs.parking_env.ParkingEnv.define_spaces", false]], "delta (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.DELTA", false]], "delta_range (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.DELTA_RANGE", false]], "desired_gap() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.desired_gap", false]], "discreteaction (class in highway_env.envs.common.action)": [[1, "highway_env.envs.common.action.DiscreteAction", false]], "discretemetaaction (class in highway_env.envs.common.action)": [[1, "highway_env.envs.common.action.DiscreteMetaAction", false]], "display() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.display", false]], "display() (highway_env.road.graphics.lanegraphics class method)": [[18, "highway_env.road.graphics.LaneGraphics.display", false]], "display() (highway_env.road.graphics.roadgraphics static method)": [[18, "highway_env.road.graphics.RoadGraphics.display", false]], "display() (highway_env.road.graphics.roadobjectgraphics class method)": [[18, "highway_env.road.graphics.RoadObjectGraphics.display", false]], "display_road_objects() (highway_env.road.graphics.roadgraphics static method)": [[18, "highway_env.road.graphics.RoadGraphics.display_road_objects", false]], "display_traffic() (highway_env.road.graphics.roadgraphics static method)": [[18, "highway_env.road.graphics.RoadGraphics.display_traffic", false]], "distance() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.distance", false]], "distance_wanted (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.DISTANCE_WANTED", false]], "distance_with_heading() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.distance_with_heading", false]], "draw_stripes() (highway_env.road.graphics.lanegraphics class method)": [[18, "highway_env.road.graphics.LaneGraphics.draw_stripes", false]], "enforce_road_rules() (highway_env.road.regulation.regulatedroad method)": [[5, "highway_env.road.regulation.RegulatedRoad.enforce_road_rules", false]], "envviewer (class in highway_env.envs.common.graphics)": [[18, "highway_env.envs.common.graphics.EnvViewer", false]], "exitobservation (class in highway_env.envs.common.observation)": [[23, "highway_env.envs.common.observation.ExitObservation", false]], "fill_road_layer_by_cell() (highway_env.envs.common.observation.occupancygridobservation method)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation.fill_road_layer_by_cell", false]], "fill_road_layer_by_lanes() (highway_env.envs.common.observation.occupancygridobservation method)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation.fill_road_layer_by_lanes", false]], "follow_road() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.follow_road", false]], "from_config() (highway_env.road.lane.abstractlane class method)": [[4, "highway_env.road.lane.AbstractLane.from_config", false]], "from_config() (highway_env.road.lane.circularlane class method)": [[4, "highway_env.road.lane.CircularLane.from_config", false]], "from_config() (highway_env.road.lane.polylanefixedwidth class method)": [[4, "highway_env.road.lane.PolyLaneFixedWidth.from_config", false]], "from_config() (highway_env.road.lane.sinelane class method)": [[4, "highway_env.road.lane.SineLane.from_config", false]], "from_config() (highway_env.road.lane.straightlane class method)": [[4, "highway_env.road.lane.StraightLane.from_config", false]], "get_available_actions() (highway_env.envs.common.action.actiontype method)": [[1, "highway_env.envs.common.action.ActionType.get_available_actions", false]], "get_available_actions() (highway_env.envs.common.action.discretemetaaction method)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.get_available_actions", false]], "get_available_actions() (highway_env.envs.common.action.multiagentaction method)": [[1, "highway_env.envs.common.action.MultiAgentAction.get_available_actions", false]], "get_image() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.get_image", false]], "get_routes_at_intersection() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.get_routes_at_intersection", false]], "grayscaleobservation (class in highway_env.envs.common.observation)": [[23, "highway_env.envs.common.observation.GrayscaleObservation", false]], "handle_event() (highway_env.road.graphics.worldsurface method)": [[18, "highway_env.road.graphics.WorldSurface.handle_event", false]], "handle_events() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.handle_events", false]], "heading_at() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.heading_at", false]], "heading_at() (highway_env.road.lane.circularlane method)": [[4, "highway_env.road.lane.CircularLane.heading_at", false]], "heading_at() (highway_env.road.lane.polylanefixedwidth method)": [[4, "highway_env.road.lane.PolyLaneFixedWidth.heading_at", false]], "heading_at() (highway_env.road.lane.sinelane method)": [[4, "highway_env.road.lane.SineLane.heading_at", false]], "heading_at() (highway_env.road.lane.straightlane method)": [[4, "highway_env.road.lane.StraightLane.heading_at", false]], "highway_env.__init__": [[21, "module-highway_env.__init__", false]], "highway_env.envs.common.abstract": [[21, "module-highway_env.envs.common.abstract", false]], "highway_env.envs.common.action": [[1, "module-highway_env.envs.common.action", false]], "highway_env.envs.common.graphics": [[18, "module-highway_env.envs.common.graphics", false]], "highway_env.envs.common.observation": [[23, "module-highway_env.envs.common.observation", false]], "highway_env.road.graphics": [[18, "module-highway_env.road.graphics", false]], "highway_env.road.lane": [[4, "module-highway_env.road.lane", false]], "highway_env.road.regulation": [[5, "module-highway_env.road.regulation", false]], "highway_env.road.road": [[6, "module-highway_env.road.road", false]], "highway_env.vehicle.behavior": [[7, "module-highway_env.vehicle.behavior", false]], "highway_env.vehicle.controller": [[8, "module-highway_env.vehicle.controller", false]], "highway_env.vehicle.graphics": [[18, "module-highway_env.vehicle.graphics", false]], "highway_env.vehicle.kinematics": [[9, "module-highway_env.vehicle.kinematics", false]], "highwayenv (class in highway_env.envs.highway_env)": [[10, "highway_env.envs.highway_env.HighwayEnv", false]], "history_size (highway_env.vehicle.kinematics.vehicle attribute)": [[9, "highway_env.vehicle.kinematics.Vehicle.HISTORY_SIZE", false]], "idmvehicle (class in highway_env.vehicle.behavior)": [[7, "highway_env.vehicle.behavior.IDMVehicle", false]], "index_to_speed() (highway_env.vehicle.controller.mdpvehicle method)": [[8, "highway_env.vehicle.controller.MDPVehicle.index_to_speed", false]], "intersectionenv (class in highway_env.envs.intersection_env)": [[12, "highway_env.envs.intersection_env.IntersectionEnv", false]], "is_reachable_from() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.is_reachable_from", false]], "is_visible() (highway_env.road.graphics.worldsurface method)": [[18, "highway_env.road.graphics.WorldSurface.is_visible", false]], "kinematicobservation (class in highway_env.envs.common.observation)": [[23, "highway_env.envs.common.observation.KinematicObservation", false]], "kinematicsgoalobservation (class in highway_env.envs.common.observation)": [[23, "highway_env.envs.common.observation.KinematicsGoalObservation", false]], "lanegraphics (class in highway_env.road.graphics)": [[18, "highway_env.road.graphics.LaneGraphics", false]], "length (highway_env.vehicle.kinematics.vehicle attribute)": [[9, "highway_env.vehicle.kinematics.Vehicle.LENGTH", false]], "linearvehicle (class in highway_env.vehicle.behavior)": [[7, "highway_env.vehicle.behavior.LinearVehicle", false]], "linetype (class in highway_env.road.lane)": [[4, "highway_env.road.lane.LineType", false]], "local_angle() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.local_angle", false]], "local_coordinates() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.local_coordinates", false]], "local_coordinates() (highway_env.road.lane.circularlane method)": [[4, "highway_env.road.lane.CircularLane.local_coordinates", false]], "local_coordinates() (highway_env.road.lane.polylanefixedwidth method)": [[4, "highway_env.road.lane.PolyLaneFixedWidth.local_coordinates", false]], "local_coordinates() (highway_env.road.lane.sinelane method)": [[4, "highway_env.road.lane.SineLane.local_coordinates", false]], "local_coordinates() (highway_env.road.lane.straightlane method)": [[4, "highway_env.road.lane.StraightLane.local_coordinates", false]], "max_speed (highway_env.vehicle.kinematics.vehicle attribute)": [[9, "highway_env.vehicle.kinematics.Vehicle.MAX_SPEED", false]], "mdpvehicle (class in highway_env.vehicle.controller)": [[8, "highway_env.vehicle.controller.MDPVehicle", false]], "mergeenv (class in highway_env.envs.merge_env)": [[13, "highway_env.envs.merge_env.MergeEnv", false]], "metaclass__ (highway_env.road.lane.abstractlane attribute)": [[4, "highway_env.road.lane.AbstractLane.metaclass__", false]], "min_speed (highway_env.vehicle.kinematics.vehicle attribute)": [[9, "highway_env.vehicle.kinematics.Vehicle.MIN_SPEED", false]], "mobil() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.mobil", false]], "module": [[1, "module-highway_env.envs.common.action", false], [4, "module-highway_env.road.lane", false], [5, "module-highway_env.road.regulation", false], [6, "module-highway_env.road.road", false], [7, "module-highway_env.vehicle.behavior", false], [8, "module-highway_env.vehicle.controller", false], [9, "module-highway_env.vehicle.kinematics", false], [18, "module-highway_env.envs.common.graphics", false], [18, "module-highway_env.road.graphics", false], [18, "module-highway_env.vehicle.graphics", false], [21, "module-highway_env.__init__", false], [21, "module-highway_env.envs.common.abstract", false], [23, "module-highway_env.envs.common.observation", false]], "move_display_window_to() (highway_env.road.graphics.worldsurface method)": [[18, "highway_env.road.graphics.WorldSurface.move_display_window_to", false]], "multiagentaction (class in highway_env.envs.common.action)": [[1, "highway_env.envs.common.action.MultiAgentAction", false]], "multiagentwrapper (class in highway_env.envs.common.abstract)": [[21, "highway_env.envs.common.abstract.MultiAgentWrapper", false]], "neighbour_vehicles() (highway_env.road.road.road method)": [[6, "highway_env.road.road.Road.neighbour_vehicles", false]], "normalize() (highway_env.envs.common.observation.occupancygridobservation method)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation.normalize", false]], "normalize_obs() (highway_env.envs.common.observation.kinematicobservation method)": [[23, "highway_env.envs.common.observation.KinematicObservation.normalize_obs", false]], "observe() (highway_env.envs.common.observation.exitobservation method)": [[23, "highway_env.envs.common.observation.ExitObservation.observe", false]], "observe() (highway_env.envs.common.observation.grayscaleobservation method)": [[23, "highway_env.envs.common.observation.GrayscaleObservation.observe", false]], "observe() (highway_env.envs.common.observation.kinematicobservation method)": [[23, "highway_env.envs.common.observation.KinematicObservation.observe", false]], "observe() (highway_env.envs.common.observation.kinematicsgoalobservation method)": [[23, "highway_env.envs.common.observation.KinematicsGoalObservation.observe", false]], "observe() (highway_env.envs.common.observation.occupancygridobservation method)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation.observe", false]], "occupancygridobservation (class in highway_env.envs.common.observation)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation", false]], "on_lane() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.on_lane", false]], "parkingenv (class in highway_env.envs.parking_env)": [[14, "highway_env.envs.parking_env.ParkingEnv", false]], "perception_distance (highway_env.envs.common.abstract.abstractenv attribute)": [[21, "highway_env.envs.common.abstract.AbstractEnv.PERCEPTION_DISTANCE", false]], "pix() (highway_env.road.graphics.worldsurface method)": [[18, "highway_env.road.graphics.WorldSurface.pix", false]], "plan_route_to() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.plan_route_to", false]], "polylane (class in highway_env.road.lane)": [[4, "highway_env.road.lane.PolyLane", false]], "polylanefixedwidth (class in highway_env.road.lane)": [[4, "highway_env.road.lane.PolyLaneFixedWidth", false]], "pos2pix() (highway_env.road.graphics.worldsurface method)": [[18, "highway_env.road.graphics.WorldSurface.pos2pix", false]], "pos_to_index() (highway_env.envs.common.observation.occupancygridobservation method)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation.pos_to_index", false]], "position() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.position", false]], "position() (highway_env.road.lane.circularlane method)": [[4, "highway_env.road.lane.CircularLane.position", false]], "position() (highway_env.road.lane.polylanefixedwidth method)": [[4, "highway_env.road.lane.PolyLaneFixedWidth.position", false]], "position() (highway_env.road.lane.sinelane method)": [[4, "highway_env.road.lane.SineLane.position", false]], "position() (highway_env.road.lane.straightlane method)": [[4, "highway_env.road.lane.StraightLane.position", false]], "predict_trajectory() (highway_env.vehicle.controller.mdpvehicle method)": [[8, "highway_env.vehicle.controller.MDPVehicle.predict_trajectory", false]], "predict_trajectory() (highway_env.vehicle.kinematics.vehicle method)": [[9, "highway_env.vehicle.kinematics.Vehicle.predict_trajectory", false]], "predict_trajectory_constant_speed() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.predict_trajectory_constant_speed", false]], "racetrackenv (class in highway_env.envs.racetrack_env)": [[15, "highway_env.envs.racetrack_env.RacetrackEnv", false]], "recover_from_stop() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.recover_from_stop", false]], "regulatedroad (class in highway_env.road.regulation)": [[5, "highway_env.road.regulation.RegulatedRoad", false]], "render() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.render", false]], "reset() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.reset", false]], "respect_priorities() (highway_env.road.regulation.regulatedroad static method)": [[5, "highway_env.road.regulation.RegulatedRoad.respect_priorities", false]], "road (class in highway_env.road.road)": [[6, "highway_env.road.road.Road", false]], "roadgraphics (class in highway_env.road.graphics)": [[18, "highway_env.road.graphics.RoadGraphics", false]], "roadobjectgraphics (class in highway_env.road.graphics)": [[18, "highway_env.road.graphics.RoadObjectGraphics", false]], "roundaboutenv (class in highway_env.envs.roundabout_env)": [[16, "highway_env.envs.roundabout_env.RoundaboutEnv", false]], "set_agent_action_sequence() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.set_agent_action_sequence", false]], "set_agent_display() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.set_agent_display", false]], "set_route_at_intersection() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.set_route_at_intersection", false]], "simplify() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.simplify", false]], "sinelane (class in highway_env.road.lane)": [[4, "highway_env.road.lane.SineLane", false]], "space() (highway_env.envs.common.action.actiontype method)": [[1, "highway_env.envs.common.action.ActionType.space", false]], "space() (highway_env.envs.common.action.continuousaction method)": [[1, "highway_env.envs.common.action.ContinuousAction.space", false]], "space() (highway_env.envs.common.action.discreteaction method)": [[1, "highway_env.envs.common.action.DiscreteAction.space", false]], "space() (highway_env.envs.common.action.discretemetaaction method)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.space", false]], "space() (highway_env.envs.common.action.multiagentaction method)": [[1, "highway_env.envs.common.action.MultiAgentAction.space", false]], "space() (highway_env.envs.common.observation.grayscaleobservation method)": [[23, "highway_env.envs.common.observation.GrayscaleObservation.space", false]], "space() (highway_env.envs.common.observation.kinematicobservation method)": [[23, "highway_env.envs.common.observation.KinematicObservation.space", false]], "space() (highway_env.envs.common.observation.kinematicsgoalobservation method)": [[23, "highway_env.envs.common.observation.KinematicsGoalObservation.space", false]], "space() (highway_env.envs.common.observation.occupancygridobservation method)": [[23, "highway_env.envs.common.observation.OccupancyGridObservation.space", false]], "speed_control() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.speed_control", false]], "speed_to_index() (highway_env.vehicle.controller.mdpvehicle method)": [[8, "highway_env.vehicle.controller.MDPVehicle.speed_to_index", false]], "speed_to_index_default() (highway_env.vehicle.controller.mdpvehicle class method)": [[8, "highway_env.vehicle.controller.MDPVehicle.speed_to_index_default", false]], "steering_control() (highway_env.vehicle.behavior.linearvehicle method)": [[7, "highway_env.vehicle.behavior.LinearVehicle.steering_control", false]], "steering_control() (highway_env.vehicle.controller.controlledvehicle method)": [[8, "highway_env.vehicle.controller.ControlledVehicle.steering_control", false]], "steering_features() (highway_env.vehicle.behavior.linearvehicle method)": [[7, "highway_env.vehicle.behavior.LinearVehicle.steering_features", false]], "steering_range (highway_env.envs.common.action.continuousaction attribute)": [[1, "highway_env.envs.common.action.ContinuousAction.STEERING_RANGE", false]], "step() (highway_env.envs.common.abstract.abstractenv method)": [[21, "highway_env.envs.common.abstract.AbstractEnv.step", false]], "step() (highway_env.envs.common.abstract.multiagentwrapper method)": [[21, "highway_env.envs.common.abstract.MultiAgentWrapper.step", false]], "step() (highway_env.envs.intersection_env.intersectionenv method)": [[12, "highway_env.envs.intersection_env.IntersectionEnv.step", false]], "step() (highway_env.road.regulation.regulatedroad method)": [[5, "highway_env.road.regulation.RegulatedRoad.step", false]], "step() (highway_env.road.road.road method)": [[6, "highway_env.road.road.Road.step", false]], "step() (highway_env.vehicle.behavior.idmvehicle method)": [[7, "highway_env.vehicle.behavior.IDMVehicle.step", false]], "step() (highway_env.vehicle.kinematics.vehicle method)": [[9, "highway_env.vehicle.kinematics.Vehicle.step", false]], "straightlane (class in highway_env.road.lane)": [[4, "highway_env.road.lane.StraightLane", false]], "stripe_length (highway_env.road.graphics.lanegraphics attribute)": [[18, "highway_env.road.graphics.LaneGraphics.STRIPE_LENGTH", false]], "stripe_spacing (highway_env.road.graphics.lanegraphics attribute)": [[18, "highway_env.road.graphics.LaneGraphics.STRIPE_SPACING", false]], "stripe_width (highway_env.road.graphics.lanegraphics attribute)": [[18, "highway_env.road.graphics.LaneGraphics.STRIPE_WIDTH", false]], "striped_line() (highway_env.road.graphics.lanegraphics class method)": [[18, "highway_env.road.graphics.LaneGraphics.striped_line", false]], "target_speed (highway_env.vehicle.controller.controlledvehicle attribute)": [[8, "highway_env.vehicle.controller.ControlledVehicle.target_speed", false]], "time_wanted (highway_env.vehicle.behavior.idmvehicle attribute)": [[7, "highway_env.vehicle.behavior.IDMVehicle.TIME_WANTED", false]], "time_wanted (highway_env.vehicle.behavior.linearvehicle attribute)": [[7, "highway_env.vehicle.behavior.LinearVehicle.TIME_WANTED", false]], "to_config() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.to_config", false]], "to_config() (highway_env.road.lane.circularlane method)": [[4, "highway_env.road.lane.CircularLane.to_config", false]], "to_config() (highway_env.road.lane.polylane method)": [[4, "highway_env.road.lane.PolyLane.to_config", false]], "to_config() (highway_env.road.lane.polylanefixedwidth method)": [[4, "highway_env.road.lane.PolyLaneFixedWidth.to_config", false]], "to_config() (highway_env.road.lane.sinelane method)": [[4, "highway_env.road.lane.SineLane.to_config", false]], "to_config() (highway_env.road.lane.straightlane method)": [[4, "highway_env.road.lane.StraightLane.to_config", false]], "vec2pix() (highway_env.road.graphics.worldsurface method)": [[18, "highway_env.road.graphics.WorldSurface.vec2pix", false]], "vehicle (class in highway_env.vehicle.kinematics)": [[9, "highway_env.vehicle.kinematics.Vehicle", false]], "vehicle (highway_env.envs.common.abstract.abstractenv property)": [[21, "highway_env.envs.common.abstract.AbstractEnv.vehicle", false]], "vehicle_class (highway_env.envs.common.action.actiontype property)": [[1, "highway_env.envs.common.action.ActionType.vehicle_class", false]], "vehicle_class (highway_env.envs.common.action.continuousaction property)": [[1, "highway_env.envs.common.action.ContinuousAction.vehicle_class", false]], "vehicle_class (highway_env.envs.common.action.discretemetaaction property)": [[1, "highway_env.envs.common.action.DiscreteMetaAction.vehicle_class", false]], "vehicle_class (highway_env.envs.common.action.multiagentaction property)": [[1, "highway_env.envs.common.action.MultiAgentAction.vehicle_class", false]], "width (highway_env.vehicle.kinematics.vehicle attribute)": [[9, "highway_env.vehicle.kinematics.Vehicle.WIDTH", false]], "width_at() (highway_env.road.lane.abstractlane method)": [[4, "highway_env.road.lane.AbstractLane.width_at", false]], "width_at() (highway_env.road.lane.circularlane method)": [[4, "highway_env.road.lane.CircularLane.width_at", false]], "width_at() (highway_env.road.lane.polylane method)": [[4, "highway_env.road.lane.PolyLane.width_at", false]], "width_at() (highway_env.road.lane.polylanefixedwidth method)": [[4, "highway_env.road.lane.PolyLaneFixedWidth.width_at", false]], "width_at() (highway_env.road.lane.straightlane method)": [[4, "highway_env.road.lane.StraightLane.width_at", false]], "window_position() (highway_env.envs.common.graphics.envviewer method)": [[18, "highway_env.envs.common.graphics.EnvViewer.window_position", false]], "worldsurface (class in highway_env.road.graphics)": [[18, "highway_env.road.graphics.WorldSurface", false]]}, "objects": {"highway_env": [[21, 0, 0, "-", "__init__"]], "highway_env.__init__": [[21, 1, 1, "", "_register_highway_envs"]], "highway_env.envs.common": [[21, 0, 0, "-", "abstract"], [1, 0, 0, "-", "action"], [18, 0, 0, "-", "graphics"], [23, 0, 0, "-", "observation"]], "highway_env.envs.common.abstract": [[21, 2, 1, "", "AbstractEnv"], [21, 2, 1, "", "MultiAgentWrapper"]], "highway_env.envs.common.abstract.AbstractEnv": [[21, 3, 1, "", "PERCEPTION_DISTANCE"], [21, 4, 1, "", "_automatic_rendering"], [21, 4, 1, "", "_info"], [21, 4, 1, "", "_is_terminated"], [21, 4, 1, "", "_is_truncated"], [21, 4, 1, "", "_reset"], [21, 4, 1, "", "_reward"], [21, 4, 1, "", "_rewards"], [21, 4, 1, "", "_simulate"], [21, 4, 1, "", "change_vehicles"], [21, 4, 1, "", "close"], [21, 4, 1, "", "default_config"], [21, 4, 1, "", "define_spaces"], [21, 4, 1, "", "render"], [21, 4, 1, "", "reset"], [21, 4, 1, "", "simplify"], [21, 4, 1, "", "step"], [21, 5, 1, "", "vehicle"]], "highway_env.envs.common.abstract.MultiAgentWrapper": [[21, 4, 1, "", "step"]], "highway_env.envs.common.action": [[1, 2, 1, "", "ActionType"], [1, 2, 1, "", "ContinuousAction"], [1, 2, 1, "", "DiscreteAction"], [1, 2, 1, "", "DiscreteMetaAction"], [1, 2, 1, "", "MultiAgentAction"]], "highway_env.envs.common.action.ActionType": [[1, 4, 1, "", "act"], [1, 5, 1, "", "controlled_vehicle"], [1, 4, 1, "", "get_available_actions"], [1, 4, 1, "", "space"], [1, 5, 1, "", "vehicle_class"]], "highway_env.envs.common.action.ContinuousAction": [[1, 3, 1, "", "ACCELERATION_RANGE"], [1, 3, 1, "", "STEERING_RANGE"], [1, 4, 1, "", "act"], [1, 4, 1, "", "space"], [1, 5, 1, "", "vehicle_class"]], "highway_env.envs.common.action.DiscreteAction": [[1, 4, 1, "", "act"], [1, 4, 1, "", "space"]], "highway_env.envs.common.action.DiscreteMetaAction": [[1, 3, 1, "", "ACTIONS_ALL"], [1, 3, 1, "", "ACTIONS_LAT"], [1, 3, 1, "", "ACTIONS_LONGI"], [1, 4, 1, "", "act"], [1, 4, 1, "", "get_available_actions"], [1, 4, 1, "", "space"], [1, 5, 1, "", "vehicle_class"]], "highway_env.envs.common.action.MultiAgentAction": [[1, 4, 1, "", "act"], [1, 4, 1, "", "get_available_actions"], [1, 4, 1, "", "space"], [1, 5, 1, "", "vehicle_class"]], "highway_env.envs.common.graphics": [[18, 2, 1, "", "EnvViewer"]], "highway_env.envs.common.graphics.EnvViewer": [[18, 4, 1, "", "close"], [18, 4, 1, "", "display"], [18, 4, 1, "", "get_image"], [18, 4, 1, "", "handle_events"], [18, 4, 1, "", "set_agent_action_sequence"], [18, 4, 1, "", "set_agent_display"], [18, 4, 1, "", "window_position"]], "highway_env.envs.common.observation": [[23, 2, 1, "", "ExitObservation"], [23, 2, 1, "", "GrayscaleObservation"], [23, 2, 1, "", "KinematicObservation"], [23, 2, 1, "", "KinematicsGoalObservation"], [23, 2, 1, "", "OccupancyGridObservation"]], "highway_env.envs.common.observation.ExitObservation": [[23, 4, 1, "", "observe"]], "highway_env.envs.common.observation.GrayscaleObservation": [[23, 4, 1, "", "observe"], [23, 4, 1, "", "space"]], "highway_env.envs.common.observation.KinematicObservation": [[23, 4, 1, "", "normalize_obs"], [23, 4, 1, "", "observe"], [23, 4, 1, "", "space"]], "highway_env.envs.common.observation.KinematicsGoalObservation": [[23, 4, 1, "", "observe"], [23, 4, 1, "", "space"]], "highway_env.envs.common.observation.OccupancyGridObservation": [[23, 4, 1, "", "fill_road_layer_by_cell"], [23, 4, 1, "", "fill_road_layer_by_lanes"], [23, 4, 1, "", "normalize"], [23, 4, 1, "", "observe"], [23, 4, 1, "", "pos_to_index"], [23, 4, 1, "", "space"]], "highway_env.envs.highway_env": [[10, 2, 1, "", "HighwayEnv"]], "highway_env.envs.highway_env.HighwayEnv": [[10, 4, 1, "", "default_config"]], "highway_env.envs.intersection_env": [[12, 2, 1, "", "IntersectionEnv"]], "highway_env.envs.intersection_env.IntersectionEnv": [[12, 4, 1, "", "default_config"], [12, 4, 1, "", "step"]], "highway_env.envs.merge_env": [[13, 2, 1, "", "MergeEnv"]], "highway_env.envs.merge_env.MergeEnv": [[13, 4, 1, "", "default_config"]], "highway_env.envs.parking_env": [[14, 2, 1, "", "ParkingEnv"]], "highway_env.envs.parking_env.ParkingEnv": [[14, 4, 1, "", "compute_reward"], [14, 4, 1, "", "default_config"], [14, 4, 1, "", "define_spaces"]], "highway_env.envs.racetrack_env": [[15, 2, 1, "", "RacetrackEnv"]], "highway_env.envs.racetrack_env.RacetrackEnv": [[15, 4, 1, "", "default_config"]], "highway_env.envs.roundabout_env": [[16, 2, 1, "", "RoundaboutEnv"]], "highway_env.envs.roundabout_env.RoundaboutEnv": [[16, 4, 1, "", "default_config"]], "highway_env.road": [[18, 0, 0, "-", "graphics"], [4, 0, 0, "-", "lane"], [5, 0, 0, "-", "regulation"], [6, 0, 0, "-", "road"]], "highway_env.road.graphics": [[18, 2, 1, "", "LaneGraphics"], [18, 2, 1, "", "RoadGraphics"], [18, 2, 1, "", "RoadObjectGraphics"], [18, 2, 1, "", "WorldSurface"]], "highway_env.road.graphics.LaneGraphics": [[18, 3, 1, "", "STRIPE_LENGTH"], [18, 3, 1, "", "STRIPE_SPACING"], [18, 3, 1, "", "STRIPE_WIDTH"], [18, 4, 1, "", "continuous_curve"], [18, 4, 1, "", "continuous_line"], [18, 4, 1, "", "display"], [18, 4, 1, "", "draw_stripes"], [18, 4, 1, "", "striped_line"]], "highway_env.road.graphics.RoadGraphics": [[18, 4, 1, "", "display"], [18, 4, 1, "", "display_road_objects"], [18, 4, 1, "", "display_traffic"]], "highway_env.road.graphics.RoadObjectGraphics": [[18, 4, 1, "", "blit_rotate"], [18, 4, 1, "", "display"]], "highway_env.road.graphics.WorldSurface": [[18, 4, 1, "", "handle_event"], [18, 4, 1, "", "is_visible"], [18, 4, 1, "", "move_display_window_to"], [18, 4, 1, "", "pix"], [18, 4, 1, "", "pos2pix"], [18, 4, 1, "", "vec2pix"]], "highway_env.road.lane": [[4, 2, 1, "", "AbstractLane"], [4, 2, 1, "", "CircularLane"], [4, 2, 1, "", "LineType"], [4, 2, 1, "", "PolyLane"], [4, 2, 1, "", "PolyLaneFixedWidth"], [4, 2, 1, "", "SineLane"], [4, 2, 1, "", "StraightLane"]], "highway_env.road.lane.AbstractLane": [[4, 4, 1, "", "distance"], [4, 4, 1, "", "distance_with_heading"], [4, 4, 1, "", "from_config"], [4, 4, 1, "", "heading_at"], [4, 4, 1, "", "is_reachable_from"], [4, 4, 1, "", "local_angle"], [4, 4, 1, "", "local_coordinates"], [4, 3, 1, "", "metaclass__"], [4, 4, 1, "", "on_lane"], [4, 4, 1, "", "position"], [4, 4, 1, "", "to_config"], [4, 4, 1, "", "width_at"]], "highway_env.road.lane.CircularLane": [[4, 4, 1, "", "from_config"], [4, 4, 1, "", "heading_at"], [4, 4, 1, "", "local_coordinates"], [4, 4, 1, "", "position"], [4, 4, 1, "", "to_config"], [4, 4, 1, "", "width_at"]], "highway_env.road.lane.PolyLane": [[4, 4, 1, "", "to_config"], [4, 4, 1, "", "width_at"]], "highway_env.road.lane.PolyLaneFixedWidth": [[4, 4, 1, "", "from_config"], [4, 4, 1, "", "heading_at"], [4, 4, 1, "", "local_coordinates"], [4, 4, 1, "", "position"], [4, 4, 1, "", "to_config"], [4, 4, 1, "", "width_at"]], "highway_env.road.lane.SineLane": [[4, 4, 1, "", "from_config"], [4, 4, 1, "", "heading_at"], [4, 4, 1, "", "local_coordinates"], [4, 4, 1, "", "position"], [4, 4, 1, "", "to_config"]], "highway_env.road.lane.StraightLane": [[4, 4, 1, "", "from_config"], [4, 4, 1, "", "heading_at"], [4, 4, 1, "", "local_coordinates"], [4, 4, 1, "", "position"], [4, 4, 1, "", "to_config"], [4, 4, 1, "", "width_at"]], "highway_env.road.regulation": [[5, 2, 1, "", "RegulatedRoad"]], "highway_env.road.regulation.RegulatedRoad": [[5, 4, 1, "", "enforce_road_rules"], [5, 4, 1, "", "respect_priorities"], [5, 4, 1, "", "step"]], "highway_env.road.road": [[6, 2, 1, "", "Road"]], "highway_env.road.road.Road": [[6, 4, 1, "", "act"], [6, 4, 1, "", "neighbour_vehicles"], [6, 4, 1, "", "step"]], "highway_env.vehicle": [[7, 0, 0, "-", "behavior"], [8, 0, 0, "-", "controller"], [18, 0, 0, "-", "graphics"], [9, 0, 0, "-", "kinematics"]], "highway_env.vehicle.behavior": [[7, 2, 1, "", "AggressiveVehicle"], [7, 2, 1, "", "DefensiveVehicle"], [7, 2, 1, "", "IDMVehicle"], [7, 2, 1, "", "LinearVehicle"]], "highway_env.vehicle.behavior.IDMVehicle": [[7, 3, 1, "", "ACC_MAX"], [7, 3, 1, "", "COMFORT_ACC_MAX"], [7, 3, 1, "", "COMFORT_ACC_MIN"], [7, 3, 1, "", "DELTA"], [7, 3, 1, "", "DELTA_RANGE"], [7, 3, 1, "", "DISTANCE_WANTED"], [7, 3, 1, "", "TIME_WANTED"], [7, 4, 1, "", "acceleration"], [7, 4, 1, "", "act"], [7, 4, 1, "", "change_lane_policy"], [7, 4, 1, "", "create_from"], [7, 4, 1, "", "desired_gap"], [7, 4, 1, "", "mobil"], [7, 4, 1, "", "recover_from_stop"], [7, 4, 1, "", "step"]], "highway_env.vehicle.behavior.LinearVehicle": [[7, 3, 1, "", "TIME_WANTED"], [7, 4, 1, "", "acceleration"], [7, 4, 1, "", "act"], [7, 4, 1, "", "collect_data"], [7, 4, 1, "", "steering_control"], [7, 4, 1, "", "steering_features"]], "highway_env.vehicle.controller": [[8, 2, 1, "", "ControlledVehicle"], [8, 2, 1, "", "MDPVehicle"]], "highway_env.vehicle.controller.ControlledVehicle": [[8, 4, 1, "", "act"], [8, 4, 1, "", "create_from"], [8, 4, 1, "", "follow_road"], [8, 4, 1, "", "get_routes_at_intersection"], [8, 4, 1, "", "plan_route_to"], [8, 4, 1, "", "predict_trajectory_constant_speed"], [8, 4, 1, "", "set_route_at_intersection"], [8, 4, 1, "", "speed_control"], [8, 4, 1, "", "steering_control"], [8, 3, 1, "", "target_speed"]], "highway_env.vehicle.controller.MDPVehicle": [[8, 4, 1, "", "act"], [8, 4, 1, "", "index_to_speed"], [8, 4, 1, "", "predict_trajectory"], [8, 4, 1, "", "speed_to_index"], [8, 4, 1, "", "speed_to_index_default"]], "highway_env.vehicle.kinematics": [[9, 2, 1, "", "Vehicle"]], "highway_env.vehicle.kinematics.Vehicle": [[9, 3, 1, "", "DEFAULT_INITIAL_SPEEDS"], [9, 3, 1, "", "HISTORY_SIZE"], [9, 3, 1, "", "LENGTH"], [9, 3, 1, "", "MAX_SPEED"], [9, 3, 1, "", "MIN_SPEED"], [9, 3, 1, "", "WIDTH"], [9, 4, 1, "", "act"], [9, 4, 1, "", "create_from"], [9, 4, 1, "", "create_random"], [9, 4, 1, "", "predict_trajectory"], [9, 4, 1, "", "step"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "method", "Python method"], "5": ["py", "property", "Python property"]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:attribute", "4": "py:method", "5": "py:property"}, "terms": {"": [1, 5, 6, 7, 8, 9, 10, 12, 13, 16, 17, 18, 21, 22, 23, 24, 25], "0": [1, 4, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 20, 21, 22, 23, 24, 25], "00593": 2, "01358112": 22, "01495": 2, "02108839": 22, "02496706": 22, "025": 23, "04": 23, "0485089": 22, "05": 23, "065": 23, "075": 23, "08": 23, "09218342": 23, "1": [1, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 22, 23, 24, 25], "10": [2, 7, 12, 23], "100": [12, 14, 23], "10062475": 23, "105": 23, "10610674": 22, "10856369": 23, "11": 16, "1140": 23, "12": 23, "1200x500": 23, "12250": 2, "12700984": 23, "12792489": 23, "128": 23, "13": [12, 23], "13337924": 23, "14": 24, "14759399": 23, "15": [2, 10, 12, 13, 14, 15, 16, 17, 18, 23, 24, 25], "150": [10, 13, 24], "15000": 24, "1612": 2, "16161428": 23, "16464195": 23, "17": [2, 24], "1707": 2, "172": 23, "18": [15, 23], "1805": 2, "1824": 2, "1911": 2, "19339375": 23, "1999": 2, "1d": [1, 7], "1m": 23, "1st": 9, "2": [1, 2, 7, 8, 9, 10, 20, 22, 23, 24], "20": [4, 10, 12, 23, 24], "200": [21, 24], "2000": 2, "2007": 2, "2008": 2, "2015": 2, "2017": 2, "2018": 19, "2019": [2, 24], "21663845": 22, "22": 23, "222": 23, "23": 9, "231": 15, "25": [9, 22, 23], "256": 24, "25m": 23, "25mn": 24, "27": 23, "2989": 23, "2d": [1, 4, 7], "2e4": 24, "3": [1, 7, 10, 12, 13, 15, 18, 20, 23, 24], "30": [9, 10, 24], "300": [14, 15], "3000": 22, "3125": 22, "3141": 2, "32": 24, "33": 18, "33168566": 22, "3882512": 23, "3d": 2, "4": [1, 7, 10, 15, 18, 23, 24], "40": [9, 10, 24], "42837486": 22, "480": 18, "5": [1, 7, 9, 10, 12, 13, 14, 15, 16, 20, 22, 23, 24], "50": [10, 18, 24], "518": 2, "529": 2, "533": 2, "54714144": 18, "5870": 23, "58959484": 23, "5e": 24, "6": [2, 7, 12, 16, 23], "600": [10, 12, 13, 14, 15, 16, 24], "62": 2, "64": 23, "640": 18, "640x480": [22, 23, 24], "675": 23, "7": [14, 15], "75": 23, "7540": 2, "7853981633974483": 1, "79629916": 23, "8": [2, 23, 24], "84": 23, "8996421": 22, "9": 23, "A": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 18, 21, 22, 23, 24], "As": 22, "At": 8, "But": 12, "By": 18, "For": [1, 6, 7, 17, 22, 23, 24], "If": [1, 7, 8, 9, 16, 19, 21, 23], "In": [2, 7, 10, 13, 16, 17, 21, 22, 23, 25], "It": [6, 7, 8, 9, 12, 13, 14, 16], "Its": 18, "Of": 12, "On": 5, "That": 21, "The": [1, 2, 3, 4, 6, 7, 8, 9, 10, 12, 13, 15, 16, 18, 19, 20, 21, 23, 24, 25, 26], "Then": 1, "There": [3, 24], "These": [9, 21, 23], "To": [20, 21, 22], "Will": 21, "_": [7, 22, 23, 24, 25], "__init__": 21, "_automatic_rend": 21, "_c": 7, "_info": 21, "_is_termin": 21, "_is_trunc": 21, "_make_road": 21, "_n": 7, "_o": 7, "_r": 8, "_register_highway_env": 21, "_reset": 21, "_reward": [21, 25], "_simul": 21, "_state": 24, "_to": 8, "a_": 7, "a_c": 7, "a_n": 7, "a_o": 7, "ab": 7, "abbeel": 2, "abcmeta": 4, "abl": [1, 8, 17, 21], "about": [7, 17, 24], "abov": 1, "absolut": [12, 23], "abstract": [4, 21], "abstractenv": [1, 18, 21, 23], "abstractlan": [4, 6, 18], "acc_max": 7, "acceler": [1, 7, 8, 9, 14], "acceleration_rang": 1, "accept": 22, "access": [1, 13, 21, 24], "accord": 7, "achiev": [12, 14, 21], "achieved_go": 14, "act": [1, 6, 7, 8, 9], "action": [6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 21, 24, 26], "action_1": 22, "action_2": 22, "action_config": [1, 22], "action_dur": [8, 9], "action_i": 22, "action_reward": 15, "action_spac": [1, 17, 21], "action_typ": [21, 23, 24], "actions_al": [1, 22], "actions_index": [23, 24], "actions_lat": 1, "actions_longi": 1, "actions_per_axi": 1, "actiontyp": 1, "actual": [1, 6, 17, 22], "ad": [12, 21], "add": [1, 21], "addit": 21, "address": [17, 25], "adequ": 25, "advanc": 2, "affect": 3, "after": [7, 22, 24], "against": 25, "agent": [1, 10, 12, 13, 14, 15, 18, 21, 23, 25, 26], "agent_displai": 18, "aggreg": 21, "aggressivevehicl": 7, "agre": 12, "alex": 2, "algorithm": 22, "alia": 4, "align": 23, "align_to_vehicle_ax": [15, 23], "all": [7, 12, 17, 21, 23], "allow": [1, 7, 8, 21], "along": [8, 18, 23], "alreadi": 23, "also": [6, 10, 13, 17, 18, 23, 24, 25], "altch": 2, "altern": 21, "alwai": [1, 18, 23], "amir": 2, "among": 8, "amplitud": 4, "an": [1, 5, 6, 7, 8, 9, 12, 18, 19, 21, 22, 23, 25], "anaconda": 20, "andr": 2, "andrea": 2, "andrei": 2, "andrychowicz": 2, "ang_": 23, "angl": [1, 4, 7, 8, 9, 18, 23], "angular": 23, "ani": [12, 14, 21, 23, 25], "anoth": 6, "ansgar": 2, "anticip": 8, "antonogl": 2, "api": 26, "appear": 9, "appli": [1, 8], "approach": [13, 16, 23], "appropri": [14, 25], "approxim": [4, 7], "apt": 20, "ar": [1, 3, 4, 5, 6, 7, 8, 9, 10, 18, 21, 22, 23, 24, 25], "arbitr": 5, "arc": 4, "architectur": [17, 24], "arcsin": 8, "area": [16, 18], "argu": 17, "arn": 2, "around": [4, 18, 23], "arrai": [7, 18, 22, 23], "arrow": 1, "arxiv": 2, "as_imag": [15, 23], "aspect": 25, "assign": 5, "associ": 21, "assum": [8, 23], "attent": [2, 24], "attribut": [5, 24], "author": 19, "automat": [1, 8, 16, 21], "autonom": [2, 19], "avail": [1, 10, 24], "avoid": [8, 10, 12, 13, 15, 16, 25], "awai": 23, "awr": [2, 24], "ax": [22, 23, 24], "ax1": 22, "ax2": 22, "axi": [1, 7, 8, 9, 23], "b": [7, 25], "b_": 7, "base": [1, 5, 7, 9, 24], "baselin": 24, "baselines3": 24, "batch_siz": 24, "beatti": 2, "becaus": [7, 17], "been": [21, 22, 25], "befor": [7, 22], "behav": [3, 5], "behavior": [3, 5, 10, 12, 13, 16, 21, 24], "behaviour": [5, 6, 7, 12, 18, 21, 25], "behind": [9, 23], "being": [7, 9, 25], "bellemar": 2, "benefici": 25, "beta": 9, "better": 24, "between": [4, 5, 7, 8, 9, 18, 23, 25], "beyond": 1, "bibtex": 19, "bicycl": [2, 9], "bin": 23, "blit_rot": 18, "block": 12, "bob": 2, "bolt": 19, "bool": [1, 4, 5, 6, 7, 12, 18, 21, 23], "both": [1, 4, 7, 22, 23], "bottom": 23, "bound": 25, "boundari": 1, "box": 1, "brake": [7, 9, 25], "brigitt": 2, "buffer_s": 24, "c": [7, 18, 23], "calcul": 9, "call": [8, 10, 12, 13, 14, 15, 16, 17, 18, 21], "callabl": [1, 18], "callback": 18, "can": [1, 4, 6, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25], "canada": 2, "candid": 7, "captur": 21, "car": 2, "cartesian": [7, 8, 9], "cascad": 8, "case": [5, 6, 17, 23], "caus": 25, "cd": 22, "cell": 23, "center": [4, 7, 8, 9, 18, 23], "centering_posit": [10, 12, 13, 14, 15, 16, 18, 23, 24], "central": [4, 12, 22], "challeng": 25, "chang": [1, 2, 4, 7, 8, 16, 17, 21, 23, 24, 26], "change_lane_polici": 7, "change_vehicl": 21, "channel": [18, 23], "charl": 2, "check": [21, 23], "choic": [21, 25], "choos": [8, 25], "chosen": [7, 9, 18], "circl": 4, "circularlan": 4, "class": [1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21, 22, 23], "classif": 2, "classmethod": [4, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21], "clip": [1, 23], "clockwis": 4, "close": [7, 17, 18, 21], "closest": [8, 23], "cmap": 23, "cnn": [17, 24], "co": [9, 25], "code": [17, 22], "coeffici": [7, 25], "collect": [7, 19, 23], "collect_data": 7, "collid": [10, 23], "collis": [5, 10, 12, 13, 15, 16, 25, 26], "collision_penalti": 25, "collision_reward": [10, 12, 15, 24], "color": 18, "column": 23, "com": [15, 18, 19, 20], "combin": 8, "come": [1, 12, 23], "comfort_acc_max": 7, "comfort_acc_min": 7, "command": [7, 8, 9], "common": [1, 18, 21, 22, 23], "complet": 9, "compon": 23, "compos": [3, 6, 25], "comput": [2, 4, 7, 8, 21], "compute_reward": 14, "condit": [14, 24], "confer": 2, "config": [1, 4, 10, 12, 13, 14, 15, 16, 18, 21, 22, 23, 24], "config_kei": 21, "configur": [1, 18, 22, 25, 26], "conflict": 5, "congest": 2, "consid": [6, 19, 23], "consist": [1, 2], "constant": [8, 21, 23], "constant_st": 9, "contain": [6, 21, 22, 23], "continu": [14, 15, 18, 26], "continuous_curv": 18, "continuous_lin": 18, "continuousact": [1, 14, 15], "contribut": [12, 19], "control": [2, 3, 7, 14, 15, 16, 21, 26], "controlled_vehicl": [1, 15, 22, 24], "controlledvehicl": [7, 8], "convent": [18, 25], "convers": [4, 23], "convert": [4, 8, 18, 23], "coordin": [4, 6, 18, 23], "copi": [7, 8, 9, 17, 21], "correspond": [1, 4, 8, 14, 17, 18, 21, 23], "cos_d": 23, "cos_h": [12, 14, 23], "could": [12, 22, 25], "cours": 12, "crash": [9, 16], "creat": [1, 4, 7, 8, 9, 18, 24, 26], "create_from": [7, 8, 9], "create_random": 9, "creation": 24, "credit": [14, 15], "cross": 24, "cruis": [1, 8], "current": [1, 6, 8, 9, 20, 21, 23, 25], "curv": [4, 24], "custom": 19, "customari": 23, "customis": [1, 23], "cut": 7, "d": [2, 7], "d_0": 7, "daan": 2, "data": [7, 21, 23], "datafram": 23, "david": 2, "deceler": 7, "decelr": 1, "decemb": 2, "decentr": 12, "decid": [6, 7, 22], "decis": [2, 7, 12, 19, 21], "dedic": 18, "deep": [2, 24, 25], "def": 22, "default": [1, 7, 8, 9, 18, 21, 23, 24], "default_config": [10, 12, 13, 14, 15, 16, 21], "default_initial_spe": 9, "default_width": 4, "defensivevehicl": 7, "defin": [1, 4, 6, 10, 12, 13, 14, 15, 16, 18, 21, 23, 24, 25], "define_spac": [14, 21], "definit": 1, "delta": [1, 7, 8, 9], "delta_": 8, "delta_rang": 7, "demi": 2, "demonstr": 24, "dens": [2, 12], "densiti": 9, "depend": [9, 17, 20, 21], "deriv": 8, "describ": [3, 4, 5, 6, 10, 17, 19, 21, 22, 23], "descript": [3, 19, 23, 24], "desir": [1, 7, 8, 14, 21, 23, 25], "desired_gap": 7, "desired_go": 14, "destin": [8, 12, 23, 25], "detail": [10, 19], "detect": 23, "determin": [4, 5], "determinist": [2, 24], "dev": 20, "df": 23, "dharshan": 2, "dict": [1, 4, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21, 23, 24], "dictat": 7, "dictionari": [6, 21, 23, 24], "did": [12, 21], "differ": [7, 17, 23], "dimens": 18, "direct": [1, 7, 8, 9, 23], "directli": [1, 23, 25], "dirk": 2, "disabl": 1, "disambigu": 23, "discret": [7, 8, 26], "discreteact": 1, "discretemetaact": [1, 10, 12, 13, 16, 22, 24], "discretis": 23, "dispatch": 22, "displai": [5, 6, 9, 16, 18], "display_road_object": 18, "display_traff": 18, "distanc": [4, 7, 18, 21, 23, 25], "distance_w": 7, "distance_with_head": 4, "distant": 21, "divid": 23, "do": [7, 17, 25], "doe": [7, 17, 24], "doesn": [6, 7], "doi": 2, "done": [1, 16, 17, 18, 22, 23, 24], "dot": [7, 8, 9], "doubl": 24, "dqn": [17, 22, 23, 24], "dqnagent": 22, "draw": 18, "draw_strip": 18, "drawn": 18, "drive": [2, 5, 6, 8, 9, 10, 13, 18, 19, 21, 24, 25], "driver": 7, "dt": [5, 6, 7, 8, 9], "dtype": 22, "duel": 24, "dummi": 22, "durat": [8, 9, 10, 12, 15, 16, 24], "dure": [7, 18], "dynam": [1, 5, 6, 7, 8, 9, 12, 21, 24, 26], "e": [1, 2, 17], "each": [1, 5, 6, 8, 9, 12, 17, 18, 22, 23], "earli": 25, "edg": [1, 6], "edouard": [2, 19], "ego": [1, 7, 10, 12, 13, 14, 16, 18, 21, 25], "ego_attention_2h": 22, "ego_spac": 24, "ego_vehicl": 7, "either": 1, "eleur": [15, 19, 20, 22, 24], "els": [8, 23], "emerg": 25, "empir": 2, "enabl": [1, 23], "enable_lane_chang": 7, "encod": 23, "encourag": 25, "end": [4, 6, 8, 9, 12, 18, 21, 22], "end_phas": 4, "enforc": 5, "enforce_road_rul": 5, "ensur": 4, "entiti": [5, 6], "entri": 17, "entry_point": 21, "enumer": 23, "env": [1, 10, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24], "env_multi_ag": 22, "environ": [1, 3, 10, 12, 13, 14, 15, 16, 18, 19, 22, 23, 26], "envview": 18, "episod": [12, 17, 21, 22, 24, 25], "episode_trigg": 17, "equal": 16, "equival": 1, "eras": 8, "errat": 9, "euclidean": 25, "evalu": 22, "even": [7, 18], "event": 18, "eventhandl": 1, "everi": [1, 3, 25], "exampl": [17, 21, 22], "except": 23, "execut": [1, 7, 12, 21, 22], "exist": [7, 8, 9, 21, 23], "exit": 23, "exit_env": 23, "exitobserv": 23, "expect": [12, 23, 25], "experi": [2, 22, 24], "expon": 7, "express": 16, "extens": 24, "f": 23, "fail": 12, "fals": [1, 4, 5, 6, 10, 12, 13, 14, 15, 16, 17, 18, 22, 23, 24], "faq": 24, "far": 22, "fast": [10, 16, 24], "faster": [1, 8, 23], "feasibl": 2, "featur": [7, 12, 14, 15, 25], "features_rang": [12, 23], "feel": 17, "few": 24, "fewer": 23, "ffmpeg": 20, "fidjeland": 2, "field": [21, 22, 23], "fig": 23, "figsiz": 23, "figur": [12, 22, 23, 24], "file": 26, "filip": 2, "fill": 23, "fill_road_layer_by_cel": 23, "fill_road_layer_by_lan": 23, "find": [5, 6, 8], "fine": 12, "first": [1, 5, 17, 18, 21, 22, 23], "fix": [4, 21, 23], "flag": 18, "flat": 23, "flatten": 12, "float": [1, 4, 5, 6, 7, 8, 9, 12, 14, 18, 21, 23], "float32": 22, "florent": 2, "flow": 16, "fluid": 2, "focu": 25, "follow": [1, 2, 6, 7, 8, 15, 16, 17, 18, 21, 23, 24], "follow_road": 8, "fong": 2, "forbid": 25, "forbidden": 4, "forward": [8, 9, 18], "found": [6, 25], "fp": 24, "frac": [7, 8, 9, 25], "frame": [4, 17, 18, 21, 23], "fran": 2, "free": 17, "freeli": 21, "frenet": 4, "frequenc": [7, 17, 18, 21], "friction": 1, "from": [4, 6, 7, 8, 9, 10, 14, 21, 22, 23, 24, 25], "from_config": 4, "front": [7, 8, 9, 25], "front_vehicl": 7, "full": [1, 24], "function": [21, 24, 25], "futur": [8, 9], "g": [2, 17], "gain": [7, 8], "gamma": 24, "gap": 7, "gather": 19, "gcc": 20, "gener": [2, 5, 6, 17, 21, 22, 25], "geometri": [4, 6, 21], "georg": 2, "geq": 7, "get": [1, 4, 8, 20, 22, 23], "get_available_act": 1, "get_cmap": 23, "get_imag": 18, "get_routes_at_intersect": 8, "git": 20, "github": [15, 19, 20], "give": [5, 6, 21, 23], "given": [4, 6, 7, 8, 9, 14, 17, 18, 21], "global": 4, "go": [4, 6], "goal": [14, 24, 26], "good": 12, "gradient_step": 24, "grai": 23, "graph": 6, "graphic": [20, 26], "grave": 2, "graviti": 9, "grayscal": [17, 26], "grayscaleobserv": 23, "green": 22, "grid": 26, "grid_siz": [15, 23], "grid_step": [15, 23], "guiba": 2, "guid": 19, "gym": [1, 10, 12, 13, 14, 15, 16, 17, 18, 21, 23], "gymnasium": [1, 18, 21, 22, 23, 24], "h": [18, 23], "ha": [4, 15, 16, 20, 21, 22, 23, 24, 25], "handl": [8, 16, 18], "handle_ev": 18, "handler": 8, "hao": 2, "happen": 12, "hard": 12, "hasn": 16, "hassabi": 2, "have": [6, 7, 14, 21, 25], "he": 15, "head": [4, 7, 9, 14, 23], "heading_at": 4, "heading_weight": 4, "height": 16, "helb": 2, "helen": 2, "henneck": 2, "her": 24, "here": [10, 17, 21, 22, 23, 24], "hermit": 4, "high": [8, 10, 13, 14], "high_speed_reward": [10, 24], "higher": 7, "highwai": [1, 11, 13, 15, 18, 20, 22, 23, 24], "highway_dqn": 24, "highway_env": [1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24], "highwayenv": 10, "hindsight": [2, 24], "histori": 9, "history_s": 9, "hm08": [2, 24], "hook": 21, "horizon": 23, "horizont": [7, 8, 9], "hot": 23, "how": [1, 3, 7, 22, 24], "howev": [5, 17, 24, 25], "howpublish": 19, "hren": 2, "http": [15, 18, 19, 20], "human": 2, "hz": [10, 13, 16, 17], "i": [1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 19, 21, 22, 24, 25], "id": [9, 21], "idea": [14, 15], "ideal": 12, "identifi": 6, "idl": [1, 23, 24], "idm": 7, "idmvehicl": [7, 10, 13, 16, 21, 24], "ieee": 2, "ignor": 1, "imag": [17, 18, 21, 24, 26], "image1": 20, "implement": [1, 4, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24], "import": [1, 3, 17, 21, 22, 23, 24], "impos": 7, "improv": 24, "imshow": [22, 23, 24], "incent": 7, "includ": [1, 5, 6, 22], "include_obstacl": 23, "incom": 13, "incoming_vehicle_destin": 16, "increas": [7, 23, 26], "inde": 17, "index": [1, 6, 7, 8, 23], "index_to_spe": 8, "induc": 7, "info": [12, 14, 17, 21, 22, 23, 24], "inform": [2, 14, 17, 21, 23], "infrastructur": 6, "infti": 23, "inherit": 21, "initi": [4, 8, 9, 14, 15, 18, 21, 22], "initial_lane_id": 24, "initial_spac": 10, "initial_vehicle_count": 12, "inlin": [22, 23, 24], "input": [8, 9, 18], "insid": [21, 25], "instal": [17, 18, 21], "instanc": [1, 4, 6, 7, 8, 9, 23, 24], "instead": [17, 25], "int": [1, 4, 7, 8, 9, 12, 18, 21, 23, 24], "integ": 6, "integr": 9, "intellig": [2, 7], "interdisciplinari": 2, "intermedi": [17, 21], "intersect": [1, 5, 6, 8, 11, 24], "intersection_env": 12, "intersectionenv": [12, 22], "interv": 1, "invari": [17, 25], "invert": 8, "involv": 21, "ioanni": 2, "is_conflict_poss": 5, "is_reachable_from": 4, "is_vis": 18, "issu": 15, "iter": 23, "its": [1, 4, 6, 7, 8, 9, 16, 17, 22, 24], "itself": 20, "j": [2, 23], "jam": 7, "jean": 2, "joel": 2, "jojo": 14, "jona": 2, "josh": 2, "journal": 19, "json": [4, 22], "junction": 13, "k": [2, 16, 18], "k_": 8, "k_p": 8, "kaichun": 2, "kavukcuoglu": 2, "keep": [12, 25], "kei": [1, 16, 18, 23], "kest": 2, "kinemat": [1, 2, 3, 6, 8, 10, 12, 22, 24, 26], "kinematicobserv": 23, "kinematicsgo": 14, "kinematicsgoalobserv": 23, "king": 2, "known": 4, "korai": 2, "kp_a": 8, "kth07": [2, 7], "kumaran": 2, "kurtosi": 14, "kwarg": [1, 23], "l": [8, 9, 18, 23], "l1": 4, "lab": 6, "label": 1, "lambda": 17, "landmark": [5, 6], "lane": [1, 2, 3, 5, 6, 7, 8, 9, 10, 16, 17, 18, 21, 22, 23, 24], "lane_centering_cost": 15, "lane_change_max_braking_impos": 7, "lane_change_min_acc_gain": 7, "lane_change_reward": 24, "lane_from": 9, "lane_id": 9, "lane_index": [6, 7], "lane_left": 1, "lane_perception_dist": 23, "lane_point": 4, "lane_right": 1, "lane_to": 9, "lanegraph": 18, "laneindex": 6, "lanes_count": [10, 24], "laptop": 24, "larg": 23, "last": [9, 21, 23], "lat": [4, 8, 18], "lat_": 23, "later": [1, 4, 12, 15, 18, 23], "latest": 20, "layer": [1, 23], "layer_index": 23, "lead": [7, 23, 25], "learn": [2, 15, 24, 25], "learning_r": 24, "learning_start": 24, "lectur": 2, "left": [7, 8, 18, 22, 23], "left_boundary_point": 4, "legg": 2, "length": [9, 18], "leonida": 2, "leurent": [2, 19], "level": [1, 2, 4, 8, 17], "libavcodec": 20, "libavformat": 20, "libfreetype6": 20, "libportmidi": 20, "librari": 24, "libsdl": 20, "libsdl1": 20, "libsmpeg": 20, "libswscal": 20, "lidar": 26, "lidarobserv": 23, "light": 12, "like": 23, "line": [4, 8, 18], "line_typ": 4, "linear": [7, 8], "linearli": 10, "linearvehicl": 7, "linetyp": 4, "list": [1, 3, 4, 5, 6, 7, 8, 9, 17, 18, 21, 23, 24], "lm19": [2, 17, 24], "load": [21, 24], "local": [4, 6, 17, 18], "local_angl": 4, "local_coordin": 4, "locat": [18, 23], "long": 17, "long_": 23, "long_offset": 4, "longi": 4, "longitudin": [1, 4, 9, 12, 15, 16, 18, 23], "look": [6, 23], "lookahead": 8, "low": [1, 8], "lower": [7, 21], "lp": 14, "m": [1, 4, 7, 8, 9, 10, 16, 18, 21, 23], "machin": 2, "mai": [7, 23, 25], "main": [4, 13], "maintain": [7, 13], "make": [1, 2, 10, 12, 13, 14, 15, 16, 18, 19, 22, 23, 26], "maneuv": 7, "mani": [15, 18], "manual": [20, 21, 26], "manual_control": [1, 24], "map": [1, 10, 23], "marc": 2, "marcin": 2, "margin": [4, 18], "martin": 2, "matplotlib": [22, 23, 24], "matter": 12, "max": [23, 25], "max_i": 23, "max_spe": 9, "max_x": 23, "maxim": [1, 7], "maximum": [1, 7, 9, 21, 23, 25], "maximum_rang": 23, "mcgrew": 2, "mdpvehicl": 8, "meant": 21, "mechan": 1, "mercat": 2, "merg": [11, 24], "merge_env": 13, "mergeenv": 13, "meta": 26, "metaclass__": 4, "meter": 23, "method": [1, 4, 5, 7, 8, 9, 16, 21, 25], "mi": 2, "microscop": 2, "middl": 23, "might": 1, "min": [23, 25], "min_i": 23, "min_spe": 9, "min_x": 23, "minim": [1, 7], "minimum": [1, 7, 9, 25], "misc": 19, "mixer1": 20, "mk": [2, 25], "mlp": 24, "mlppolici": 24, "mnih": 2, "mo": 2, "mobil": [2, 7], "model": [2, 3, 7, 8, 9, 21, 22, 24], "modifi": [9, 21], "modul": [1, 21, 23], "modular": 21, "montreal": 2, "more": [7, 10, 12, 13, 14, 15, 16, 17, 21], "most": [1, 5, 22, 26], "move": [3, 9, 18, 23], "move_display_window_to": 18, "multi": [21, 26], "multiagentact": [1, 22], "multiagentobserv": 22, "multiagentwrapp": 21, "multilan": 10, "munir": 14, "muno": 2, "must": [1, 6, 14, 18, 20, 21, 22, 25], "my": [12, 24], "n": 7, "name": [1, 23], "narrow": 25, "natur": [2, 23], "ncol": 23, "ndarrai": [1, 4, 7, 8, 9, 12, 14, 18, 21, 23], "nearbi": [7, 23], "nearest": 23, "need": [15, 17], "neg": 25, "negoti": [12, 13], "neighbour": [6, 10], "neighbour_vehicl": 6, "net_arch": 24, "network": [5, 6, 8, 21, 23], "neural": 2, "neurip": 2, "new": [4, 5, 6, 7, 8, 9, 17, 21], "next": [8, 12, 21, 23], "next_ob": 22, "next_obs_i": 22, "node": [6, 8, 9], "non": [4, 7, 8, 23], "none": [1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21, 23, 24], "norm": [14, 25], "normal": [14, 23, 25], "normalis": [4, 23], "normalize_ob": 23, "normalize_reward": [12, 24], "note": [2, 25], "notebook": 24, "novel": [2, 17], "now": [7, 13, 21, 22, 23], "np": [1, 4, 5, 6, 21], "np_random": [5, 6], "nrow": 22, "number": [5, 6, 9, 16, 18, 23, 24, 26], "numpi": 20, "nut": 19, "o": [7, 18], "o1": 12, "ob": [17, 21, 22, 23, 24], "object": [4, 5, 6, 7, 8, 9, 10, 13, 18, 21, 23], "object_": 18, "obs_i": 22, "observ": [1, 2, 10, 12, 13, 14, 15, 16, 21, 24, 25, 26], "observation_config": 22, "observation_factori": 23, "observation_shap": 23, "observe_intent": [12, 23], "obstacl": [5, 6, 23], "obtain": [6, 24], "occup": 26, "occupancygrid": [15, 23], "occupancygridobserv": 23, "off": 23, "offroad": 23, "offroad_termin": 24, "offscreen": 18, "offscreen_rend": [10, 13, 14, 15, 16, 24], "offset": [18, 23], "often": [12, 25], "oi": 2, "old": 7, "on_lan": 4, "on_road": 15, "onc": 21, "one": [7, 8, 9, 18, 22], "ongo": 21, "onli": [1, 7, 9, 21, 22, 24, 25], "onroad": 23, "opd": 24, "openai": 24, "optim": [21, 25], "optimist": 2, "option": [4, 19, 21], "order": [1, 9, 17, 22, 23, 25], "origin": 18, "origin_po": 18, "oscil": 4, "ostrovski": 2, "other": [5, 7, 8, 9, 10, 12, 15, 21, 22, 23], "other_valu": 21, "other_vehicl": 15, "other_vehicles_typ": [10, 13, 16, 24], "otherwis": 23, "output": [7, 17], "over": 23, "overal": 7, "overload": [10, 12, 13, 14, 15, 16, 21, 25], "overrid": 7, "overridden": 9, "overwritten": 21, "own": [7, 12, 22, 26], "p": [7, 8, 14, 25], "packag": 19, "page": [2, 24], "pair": [17, 21, 23], "paltchedandrean17": [2, 9], "param": [18, 23], "paramet": [1, 4, 5, 6, 7, 8, 9, 12, 14, 18, 21, 23, 25], "parametr": [4, 24], "parametris": 7, "park": [11, 23, 24, 25], "parking_env": 14, "parkingenv": 14, "part": [21, 23], "particular": 25, "pass": [16, 22, 23], "past": 17, "path": [21, 22], "penalti": 25, "per": 23, "perception_dist": 21, "perform": [1, 7, 8, 12, 21, 23, 24], "permut": 17, "perspect": 25, "peter": 2, "petersen": 2, "phase": 4, "philip": 2, "physic": [2, 3], "piec": 19, "pieter": 2, "pilot": 8, "pip": 20, "pix": 18, "pixel": 18, "place": [7, 8, 9, 23], "placehold": 23, "plan": [2, 8, 16, 24], "plan_route_to": 8, "plasma": 2, "pleas": 19, "plt": [22, 23, 24], "po": 18, "point": [1, 2, 4], "pointnet": 2, "polack": 2, "polici": [7, 21, 22, 24, 25], "policy_frequ": [10, 13, 14, 15, 16, 23, 24], "policy_kwarg": 24, "polit": 7, "polylan": 4, "polylanefixedwidth": 4, "polynomi": 4, "popul": [10, 21], "pos2pix": 18, "pos_to_index": 23, "posit": [4, 6, 7, 9, 14, 18, 23], "possibl": [16, 17, 25], "possibli": 7, "ppo": 17, "pprint": [22, 24], "practic": 25, "pre": 1, "preced": [6, 7], "predict": [5, 8, 9, 12, 22, 23, 24], "predict_trajectori": [8, 9], "predict_trajectory_constant_spe": 8, "predition_typ": 9, "prefer": 25, "presenc": [12, 15], "present": 21, "preserv": 21, "principl": 24, "print": 23, "priorit": 24, "prioriti": [4, 5], "prng": 21, "probabl": 17, "problem": 25, "process": [1, 2], "profit": 26, "progress": 25, "project": [6, 7, 19, 20, 25], "propag": 9, "properti": [1, 7, 8, 9, 21], "proport": 8, "provid": [4, 8, 17, 18, 19, 21, 24], "proxim": 14, "pseudo": 22, "psi": [8, 9, 25], "psi_": 8, "psi_g": 25, "psi_l": 8, "psi_r": 8, "pub": 6, "publish": 19, "pull": 21, "pulsat": 4, "purpos": [12, 19], "px": [10, 13, 16, 18], "py": [21, 22], "pygam": [16, 18, 20], "pyplot": [22, 23, 24], "python": [20, 21, 22], "python3": 20, "q": 24, "qi": 2, "qsmg17": [2, 17], "quantiz": 1, "quick": [19, 24], "quickli": 25, "quit": 12, "r": [2, 7, 8, 25], "racetrack": [11, 24], "racetrack_env": 15, "racetrackenv": 15, "rachel": 2, "rad": [1, 4, 7, 8], "radian": 23, "radiu": 4, "rai": 2, "ramp": 13, "random": [5, 6, 9, 24], "randomli": [7, 9], "randomst": [5, 6], "rang": [1, 7, 8, 9, 10, 23, 24, 25], "rate": 8, "rather": [1, 25], "ratio": 9, "reach": [7, 10, 14], "reachabl": [1, 4, 9], "real": 23, "real_time_rend": 24, "realist": [7, 25], "rear_vehicl": 7, "reason": [7, 12, 17], "receiv": 10, "recent": [5, 6], "recommend": 20, "record": [2, 5, 6, 17], "record_histori": [5, 6], "recordvideo": [17, 21], "recov": 7, "recover_from_stop": 7, "rectangl": [18, 23], "refer": [8, 21], "regist": [17, 26], "register_highway_env": [17, 21], "registr": 21, "regress": 7, "regul": 3, "regularli": 23, "regulatedroad": 5, "reinforc": [2, 24, 25], "reinstal": 21, "rel": 23, "relat": 2, "remov": 21, "render": [17, 18, 21, 22, 23, 24], "render_ag": [10, 13, 14, 15, 16, 24], "render_mod": [10, 12, 13, 14, 15, 16, 21, 22, 23, 24], "repeat": 9, "replac": 25, "replai": [2, 24], "repositori": [17, 19], "repres": [6, 9, 18, 23], "request": 21, "requir": [7, 20, 21], "research": 2, "reset": [1, 17, 18, 21, 22, 23, 24], "resolut": 23, "resolv": 5, "resp": 7, "respect": [1, 7, 8, 18, 25], "respect_prior": 5, "respons": 9, "result": [12, 24], "return": [1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21, 22, 23, 25], "reus": 17, "revers": 7, "review": 2, "revisit": 17, "reward": [10, 12, 13, 14, 17, 21, 22, 23, 24, 26], "reward_nam": 21, "reward_speed_rang": [10, 24], "reward_valu": 21, "rgb": [18, 23], "rgb_arrai": [22, 23, 24], "riedmil": 2, "right": [4, 5, 7, 8, 10, 18, 22, 23], "right_boundary_point": 4, "right_lane_reward": 24, "rightmost": 10, "risk": 25, "rl": [22, 24], "rlss": 24, "road": [1, 4, 7, 8, 9, 10, 12, 13, 18, 21, 23, 25, 26], "road_network": 6, "road_object": [5, 6], "roadgraph": 18, "roadnetwork": [3, 5, 6, 21], "roadobject": [6, 18], "roadobjectgraph": 18, "roadsurfac": 18, "robust": 25, "room": 13, "rotat": 18, "roundabout": [11, 18, 24], "roundabout_env": 16, "roundaboutenv": 16, "rout": [7, 8, 16], "row": 23, "rudimentari": 12, "rule": 5, "run": [16, 17, 21, 22, 24], "rusu": 2, "s2": [7, 8], "s_g": 25, "sadik": 2, "safe": [7, 13, 25], "safeti": 7, "sake": 22, "same": [7, 8, 9], "sampl": [1, 17, 21], "satisfi": 25, "save": [8, 9, 24], "sb3": [17, 24], "scalar": 21, "scale": [10, 12, 13, 14, 15, 16, 18, 23, 24, 25], "scene": [17, 23, 26], "schedul": 12, "schneider": 2, "scienc": 2, "screen": 18, "screen_height": [10, 12, 13, 14, 15, 16, 18, 24], "screen_width": [10, 12, 13, 14, 15, 16, 18, 24], "script": [22, 24], "search": 8, "second": [5, 6, 16, 21, 22], "section": 3, "sector": 23, "see": [15, 17, 21, 22, 23, 24, 25], "see_behind": 23, "seed": [21, 22, 24], "segment": 2, "self": [21, 22], "send": [17, 22], "sensit": 17, "separ": [1, 18], "sequenc": [4, 7, 8, 9, 18, 23], "serial": 4, "set": [1, 2, 4, 5, 6, 8, 14, 18, 23, 26], "set_agent_action_sequ": 18, "set_agent_displai": 18, "set_record_video_wrapp": 17, "set_route_at_intersect": 8, "set_titl": 22, "setpoint": 1, "setup": 21, "sever": [1, 7, 10, 12, 17, 21, 23, 24], "shane": 2, "shape": 23, "shift": 25, "should": [5, 6, 7, 17, 18, 21, 22, 23, 25], "show": [22, 23, 24], "show_rect": 18, "show_trajectori": [10, 13, 14, 15, 16, 24], "shuffl": 23, "side": [4, 10, 18], "silver": 2, "similarli": 1, "simpl": [7, 8, 12, 25], "simpli": 12, "simplifi": 21, "simul": [1, 2, 7, 8, 9, 12, 17, 18, 21, 23], "simulation_frequ": [10, 13, 14, 15, 16, 18, 24], "sin": [9, 25], "sin_d": 23, "sin_h": [12, 14, 23], "sinc": [12, 22, 23, 25], "sinelan": 4, "singl": [17, 21, 22, 25], "sinusoid": 4, "situat": 12, "size": [18, 22, 23, 24], "skill": 15, "slightli": 18, "slip": 9, "slower": [1, 8], "small": 23, "smaller": 16, "so": [1, 7, 13, 14, 17, 18, 21, 23], "social": [2, 24], "some": [1, 5, 8, 13, 25], "sometim": 12, "soon": 13, "sophist": 12, "sort": 23, "sourc": [1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21, 23], "south": 23, "southeast": 16, "space": [1, 7, 9, 14, 18, 21, 23, 26], "spawn": 9, "spawn_prob": 12, "specif": [10, 12, 13, 14, 15, 16, 18, 23], "specifi": [1, 8, 21, 25], "speed": [1, 7, 8, 9, 10, 13, 14, 21, 25], "speed_control": 8, "speed_limit": 4, "speed_rang": 1, "speed_to_index": 8, "speed_to_index_default": 8, "speedup": 10, "spike": 25, "sqrt": 7, "stabl": 24, "stable_baselines3": 24, "stack_siz": 23, "stackoverflow": 18, "stai": [10, 23], "standard": 22, "start": [4, 6, 9, 13, 18, 19], "start_phas": 4, "state": [2, 7, 8, 9, 17, 21, 22, 23, 25], "static": [5, 18], "statist": 2, "steer": [1, 7, 8, 9, 14], "steering_control": [7, 8], "steering_featur": 7, "steering_rang": 1, "step": [1, 5, 6, 7, 9, 12, 16, 17, 21, 22, 23, 24], "step_i": 23, "step_x": 23, "stig": 2, "still": [16, 21], "stop": [5, 7, 9], "store": [6, 7, 9], "str": [7, 8, 9, 10, 12, 13, 14, 15, 16, 21, 23], "straight": [4, 10, 23], "straightforward": 25, "straightlan": 4, "string": 6, "stripe": 18, "stripe_length": 18, "stripe_spac": 18, "stripe_width": 18, "striped_lin": 18, "stripes_count": 18, "struggl": 17, "stuck": 7, "su": 2, "sub": 17, "subclass": 1, "subplot": [22, 23], "subvers": 20, "sudo": 20, "suffer": 25, "suggest": [7, 17], "suitabl": 17, "sum": 23, "sum_i": 25, "supperted825": 15, "supplementari": [4, 14], "support": [7, 22], "surf": 18, "surfac": [7, 8, 9, 26], "switch": 8, "symposium": 2, "system": [2, 4, 9, 12, 18], "s\u00b2": 1, "t": [6, 7, 16, 23], "take": [1, 5, 7, 23, 24], "tan": 9, "target": [1, 5, 7, 8], "target_lane_index": [7, 8], "target_spe": [1, 7, 8], "target_update_interv": 24, "target_veloc": 7, "task": [10, 12, 13, 14, 16, 21, 24], "tend": 17, "tensorboard_log": 24, "term": [7, 25], "termin": [12, 21, 25], "test": [18, 24], "text": [7, 8, 25], "th": 7, "than": [1, 7, 17, 23, 25], "thank": [15, 18], "thei": [1, 5, 7, 13, 18, 23, 25], "them": [5, 18, 24, 25], "themselv": 21, "thh00": [2, 7], "thi": [1, 4, 7, 10, 12, 13, 16, 17, 20, 21, 22, 23, 24, 25], "thing": 12, "third": 2, "thirti": 2, "those": [8, 24], "though": 7, "three": 23, "throttl": [1, 8], "through": [1, 2, 3, 5, 8, 21, 25], "thu": [1, 17, 25], "tild": 7, "time": [3, 5, 7, 8, 16, 25, 26], "time_w": 7, "timer": 7, "timestep": [5, 6, 7, 8, 9, 12, 21], "timetocollis": [13, 16, 23], "timetocollisionobserv": 23, "titl": [19, 22], "to_config": 4, "tobin": 2, "too": 12, "top": [1, 8, 23], "topic": 2, "topologi": [6, 21], "toward": 23, "track": [1, 8, 15], "traffic": [2, 12, 13, 16], "train": 22, "train_freq": 24, "trajectori": [2, 5, 6, 8, 9, 24, 25], "trajectory_timestep": [8, 9], "transform": 21, "transit": 22, "transpar": 18, "transport": 2, "treiber": 2, "trigger": 7, "trigonometr": 23, "true": [1, 4, 7, 10, 12, 13, 14, 15, 16, 17, 23, 24], "truncat": [12, 16, 17, 21, 22, 23, 24], "try": [5, 7], "ttf2": 20, "tupl": [1, 4, 6, 7, 8, 12, 18, 21, 22, 23], "turn": 8, "tutori": 24, "tv": 7, "two": [3, 5, 7, 8, 15, 17, 18, 22, 23, 25], "type": [1, 4, 10, 12, 13, 14, 15, 16, 21, 22, 23, 24], "typic": 17, "unavail": 1, "uncertain": 25, "under": 8, "underbrac": 7, "uniform": [1, 8, 23], "uniqu": 6, "unsaf": 7, "until": [5, 9, 12, 21], "unwrap": [17, 21, 22, 23, 24], "up": [12, 26], "updat": [8, 9, 18, 20, 22, 23], "upon": 1, "url": 19, "us": [1, 7, 8, 9, 14, 18, 19, 20, 21, 23, 24, 25], "user": 20, "usual": [5, 17], "v": [7, 8, 9, 23, 25], "v0": [1, 10, 12, 13, 14, 15, 16, 17, 18, 21, 22, 23, 24], "v1": 5, "v2": 5, "v_": [8, 25], "v_0": 7, "v_r": 8, "v_x": 25, "v_y": [23, 25], "valu": [1, 16, 21, 23, 24], "vanilla": 24, "variabl": 16, "variat": 8, "variou": 21, "vec": 18, "vec2pix": 18, "vector": [1, 21], "vehicl": [1, 2, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 24, 25, 26], "vehicle_class": [1, 21], "vehicle_class_path": 21, "vehiclegraph": 18, "vehicles_count": [10, 12, 22, 23, 24], "vehicles_dens": 24, "veloc": [1, 5, 7, 8, 23, 25], "veness": 2, "verbos": 24, "verg": 14, "version": 22, "video": [21, 22, 24], "video_fold": 17, "viewer": [18, 21], "visibl": 18, "visual": 18, "visualis": 22, "volodymyr": 2, "vx": [12, 14, 23], "vy": [12, 14, 23], "w": [7, 18, 23, 25], "w_i": 25, "wa": [12, 14, 18], "wai": [4, 5, 12, 17, 24], "wait": 12, "waypoint": 23, "we": [14, 17, 18, 20, 21, 23, 25], "weight": [4, 7, 14, 23, 25], "welcom": [12, 21], "welind": 2, "west": 23, "what": [22, 23], "wheel": [7, 8, 9], "when": [5, 7, 8, 10], "where": [1, 6, 7, 8, 9, 14, 15, 21, 23, 25], "whether": [1, 4, 5, 6, 7, 18, 21, 23], "which": [1, 4, 5, 6, 7, 8, 12, 14, 17, 18, 20, 21, 22, 23, 24, 25], "while": [1, 9, 10, 13, 15, 16, 17, 21, 22, 24], "who": [4, 5], "whole": 21, "whose": [6, 7], "why": 7, "width": [4, 9, 16, 18], "width_at": 4, "wierstra": 2, "window": [16, 18], "window_posit": 18, "wish": 25, "within": 23, "without": 18, "wojciech": 2, "wolski": 2, "work": 17, "workshop": 2, "world": [4, 23, 26], "worldsurfac": 18, "would": [18, 23, 25], "wrap": [17, 21, 26], "wrapper": [17, 21], "write": 4, "written": 24, "wrong": 7, "x": [1, 4, 9, 12, 14, 18, 23, 25], "x15": 10, "x_g": 25, "x_i": 25, "y": [4, 9, 12, 14, 18, 20, 23, 25], "y_g": 25, "yaw": 8, "year": 19, "yield": [5, 8, 24, 25], "you": [17, 19, 21, 23], "your": 26, "your_env": 21, "yourenv": 21, "zaremba": 2, "zero": 23, "zip": 22, "zoom": 18, "\u00e7": 2, "\u00e9": 2}, "titles": ["404", "Actions", "Bibliography", "Dynamics", "Lane", "Road regulation", "Road", "Behavior", "Control", "Kinematics", "Highway", "The environments", "Intersection", "Merge", "Parking", "Racetrack", "Roundabout", "Frequently Asked Questions", "Graphics", "Welcome to highway-env\u2019s documentation!", "Installation", "Make your own environment", "The Multi-Agent setting", "Observations", "Getting Started", "Rewards", "User Guide"], "titleterms": {"": 19, "10": 20, "404": 0, "Not": 0, "The": [11, 22], "action": [1, 22], "agent": [17, 22, 24], "all": 24, "an": [17, 24], "api": [1, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 18, 21, 23], "ar": 17, "ask": 17, "behavior": 7, "bibliographi": 2, "bit": 23, "chang": 22, "cite": 19, "close": 23, "colab": 24, "collis": 23, "configur": [10, 12, 13, 14, 15, 16, 21, 23, 24], "continu": 1, "control": [1, 8, 22], "creat": 21, "default": [10, 12, 13, 14, 15, 16], "develop": 20, "discret": 1, "document": 19, "doesn": 17, "drive": 23, "dynam": 3, "east": 23, "ego": 23, "env": 19, "environ": [11, 17, 21, 24, 25], "error": 17, "exampl": [23, 24], "exist": 17, "farther": 23, "fast": 17, "faster": 10, "featur": 23, "file": 21, "found": 0, "framer": 17, "frequent": 17, "get": [17, 24], "goal": 25, "googl": 24, "graphic": 18, "grayscal": 23, "grid": 23, "guid": 26, "gymnasium": 17, "have": 17, "head": 8, "highwai": [10, 17, 19], "how": 19, "i": [17, 23], "illustr": 23, "imag": 23, "increas": 22, "instal": 20, "intersect": 12, "kinemat": [9, 17, 23], "lane": 4, "later": [7, 8], "lidar": 23, "longitudin": [7, 8], "low": 17, "make": [17, 21, 24], "manual": 1, "mechan": 23, "merg": 13, "meta": 1, "mlp": 17, "model": 17, "most": 25, "multi": 22, "my": 17, "namenotfound": 17, "north": 23, "number": 22, "observ": [17, 22, 23], "occup": 23, "one": 23, "optim": 17, "own": 21, "page": 0, "park": 14, "polici": 17, "posit": 8, "prerequisit": 20, "presenc": 23, "profit": 21, "question": 17, "racetrack": 15, "regist": 21, "regul": 5, "releas": 20, "result": 17, "reward": 25, "road": [3, 5, 6], "roundabout": 16, "same": 23, "scene": [18, 21], "set": [21, 22], "slower": 23, "space": 22, "speed": 23, "stabl": 20, "stack": 23, "start": 24, "surfac": 18, "t": 17, "thi": 19, "time": 23, "too": 17, "train": [17, 24], "try": 17, "ubuntu": 20, "up": [21, 22], "us": 17, "usag": [10, 12, 13, 14, 15, 16], "user": 26, "v_x": 23, "variant": 10, "vehicl": [3, 21, 22, 23], "version": 20, "video": 17, "welcom": 19, "when": 17, "why": 17, "window": 20, "work": 19, "world": 18, "wrap": 22, "your": 21}}) \ No newline at end of file