From c753c369b4861e8af5f3fe76f3826c9174fda347 Mon Sep 17 00:00:00 2001 From: Victor Mylle Date: Sun, 8 Mar 2026 22:58:32 +0100 Subject: [PATCH] :sparkles: add rotary cartpole env --- assets/rotary_cartpole/meshes/arm_1.stl | Bin 0 -> 571184 bytes assets/rotary_cartpole/meshes/base_link.stl | Bin 0 -> 203884 bytes assets/rotary_cartpole/meshes/pendulum_1.stl | Bin 0 -> 93284 bytes assets/rotary_cartpole/rotary_cartpole.urdf | 105 +++++++++++ configs/env/rotary_cartpole.yaml | 7 + configs/runner/mujoco.yaml | 7 +- configs/training/ppo.yaml | 8 +- requirements.txt | 2 + src/core/env.py | 7 + src/core/runner.py | 5 +- src/envs/rotary_cartpole.py | 94 ++++++++++ src/models/mlp.py | 2 +- src/runners/mujoco.py | 148 ++++++++++----- src/training/trainer.py | 182 ++++++++----------- train.py | 68 +++++-- 15 files changed, 464 insertions(+), 171 deletions(-) create mode 100644 assets/rotary_cartpole/meshes/arm_1.stl create mode 100644 assets/rotary_cartpole/meshes/base_link.stl create mode 100644 assets/rotary_cartpole/meshes/pendulum_1.stl create mode 100644 assets/rotary_cartpole/rotary_cartpole.urdf create mode 100644 configs/env/rotary_cartpole.yaml create mode 100644 src/envs/rotary_cartpole.py diff --git a/assets/rotary_cartpole/meshes/arm_1.stl b/assets/rotary_cartpole/meshes/arm_1.stl new file mode 100644 index 0000000000000000000000000000000000000000..2cfeba88fab46ae2ae80d77b6991238d81c78274 GIT binary patch literal 571184 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̹r$WMeS?QX))Pn@0ymwZ5kD@}tdvfWTyVQdOqr3-LdatEI!h4J9n!D74 z1f#r{S(-CYA>lpJbj@ArL4r}Oq20-dirs;i!=Co^`tBF7+V6 zDDRP%=Au+cc<()3bC-IMV3hazOLJ-}Bzz7bU2~UukYJS0S(MfWR7m(-NV?`O^&r70 z&b{n9?5x%!HJ0R8JNN23MU8p(GMlf_JdU^P{9&{-*u^lVQ(NHFTHFHSOI%&w@4%!3LEU0w1>uiDgu1f#}odAt$V z{F?QkLPDd2Jkrr8^&r8h=GzT2V&MI#itIS3kkDu+k8~7GJxDNW(Axcts5}Z)k$F%d zp;22N>D?gpAi=2DzUgB`=M`BGDkOCGkwb_6*Fye>HQ5D&7P$8kas65iU zbLv5YQNvc-#fa5bLseuRR7fZrkVnbN{sIX`y?$~#BU+xG^`JsRS&ckOo=_-|VAKIS zZ*N5YsjLST63WixQSzikfdr$LUbe9j7p|jfB6(~5-L0TPLRqFfN}d=gkYH5Bh&7C8 z-8Jh$g@m$Yd6Yc)QXs*o5l4NuK*aNhW<98oP}VP^1rMq-j}`OP$8k7oIKKAU+O`EQKv8HWqUPf zt*i$X66!6=BkftH9wZob@?Ya@uZ}n@n*mTEp&qF`(%x(8L4r|#{?x&UE)%ku3>6aU z^~xjdA*UWB7`66o1tXq*Bb)V6A)%hNJknlx>Oq20o438kJl0z~>p_KtdhhZ`d-|yd z2}Ug%{E&HUuruZjECZlILURc6NarR}4-$;(v;G3}_~e*urcZ^0=0fC=&atE(BpBt} z(aet>M>#@K{`!=$Sa}u^Quud$52G2Z5`t0wj-2}tR-Q%gt`rjfPDe9wB?P1VlRfWK ztUNP<3JE`Bq8Y^!f>C~k)^C>ephCjW{Agy>JV-Fgue5%LV0D`jR7m(09L?~S5RCE> zqx~&fdG^ygx2jv4-|~-}>Zp+Lktobm|FzTOMm)9l?GeE!ANkt+4=c}Xuc(ml5jC1| zFCiG^BltSIXFaHp@H<1aa=<)DFv{;l!|uh(Gb5;w@H*s$iHL>_ zpk%dr1qr{OE6Ov2N%v!Qo9z`95}t9CuG1&MD9>;{J22}(g@k8LrOz9XV3cQS_f%v( zsF3gsu=KeJ5{&YU^Y*9k-RkyUQ6b@(Z0YkKBpBtH^N@*I4=N-)BQJf9g#@F#0vLQl z)`JQOuPmaKXLjTy80FPV`jk*bw*HViqr6(0cWZX9sF3g~EPdK3^&r70ulkODAnQSe zgjbX4Q(LJA2}XJKy3WU04=NC7DkQwRPoJVoJxDOhy9t9Y z&U#QG;a!UKX~5Kj1f#qwGU|)02Ne?DZHdGXWJMQ}IU5yF}@8X4Z;eTxSqGm1g$E|aF9SKHx*RV}D zWdI9%^{W$c@8!+vsF3h(WLV$+knrws^t^$2kYJQ|qx)Wz&HAX2@Gf`s+=O|MV3c>&m-WeJ z$W%ypw?2CQ!#qeZ%4Y|j-9DS?Qz7BA4$*Tg=0So{oaIQngGCJw2e0>d{=^d=U8s4E zRd%Z@YWwvADtmT6exbddt~@Iw!6GWCknrs}cj7qymQa*?r$?T8P~qPl(R7aO;pgAt z^Dqw*jB2^r3_FhW6HGm*kQhAXY4g~;SJs0BqYkdS!93D4G4-HAV&}DwG$Oh_>^P{9 zIQg*8ZLi+DyWwn4JxDO>i|XHU`ZU9JUSa>jCrE`v)56*dM9f}2>p_B1Q(o-fLqr&_ z=s|_Vhu^g@k8g)Jj11{URM>Ou*dqsuB@(FqKcyf8e6FjL02}U(}f0Vtu z>HQ-msF3K{;dLXTyPEA46%uWl9&3Bmp^)7x5{$aE*``KBcW3jULSpepqm1};yQ~KZ zM*Ve8Pa~o%!#t>vsJ!J?BaVHg;XatYS0os<#lFLhh_WT~phDu4!|yZV?OU=QBpCJl zn4649v%Yk%sF0XCX{HfTE^2#4g~XNbE-<3anc2M}!KjWqJ!3?aQ=11B5_doKmJwh6 zGwVTuQP2POi4jpXVIEXSZ2HVMMjSSz!K1>*b`p#lG<&5HQB`CfR7m`%*D4Ej)gD>M zdXQk$1#7KqL{#0G2Ne=szuv-#sOB_+3W@xCO^vwr{_I|nU{uv{t&E6jXY-&!;?zGk zHDbq~vK}NDHERDIjEH&w=0SzTcVo6UVy^=luJiO0B*Cavujy_?)XOjrDkNSysI?I% zJ(Bex!KgJ?-^YlkCu1H|NPN3ls|Eg3GP_9&SX`Z#NGrB<{E-ob73boPOpc80D`=GYyf46cX+? zZYt&`N(e^z@kKKx(R(F@guidI`(lozgkY3^PSMPd5mZR{xe(1q89{}FpJP}2mfb57 zjPi3jnpZOqDkS_`xoQGtuu2F<`L!9%4;n#*gkSUfcE)U93Bf2IW1@LZBdCz@v8ymQ z>p_B1K2}EawdO&Egpc6SEV2<)NccFvP09DrlVFtJSEAW)^Pob)?^nCuh56bNf>C~d zjAr$XphCj$yNCRo^&r70zt2aj6U>7O3C|x^bj93u3Bf4OSE5xGMo=N)c~HAkvK}ND z<#|`MTEsl4knr3tTEiluK!t?ojGf11_lg9gJV%XI@0bS_5}y0sadp;%1fx9Hj#eR= z2Ne>Y!wp_B1UNc0ismy~439m(F_0M{cV3gNB(W4x6|GehQ9*@- z*KJi>XZETB;4Mr-cOg9-_+KPSDAxdsa)80GbDw06)usF3hF`iN7q9wZp$b$hf1 z(mbe;@P5F;6`7H`K!Q=;e~8v{%A-Jqg!ee26{faVR7iO5Wc<0=y&}OV@6|*rWzB;M z3GV^DwIp+|Es$W8_ne{?zve-Og!i)U?UVH&!6@&YMJt!hg9-`n$(>%8$x8|(809^{ zXa%-B3RFmVpD|q*Uhw*y3JLFD-t|W&Pb`pNl=n;3_l>_ji3$nt!>T)+_K@>8R^DEx zu5+8Eg@x+ls?)4(WyQ*5eLEs*sF3i#6!vQTH+Sk;vV88jxe>uAWwP>!GUR;n?p9DC zp+3Bb^xf4*A)-KnQOZk2L>aPqP$8lD1QF3^ZXP5UrMy%`l<%4c6%v{k5fPoc=0So{ z%1cE=`L20TA))yl5z#eRLNH46R3f60!S;$Cj8Y~mB4o(t{a9%;SgoJFw2lf1&7O$} zBiy_h*V+u$j8%`XCBZ1=r6NLxJb33ZM!d7Z`L$F?XckaJ7-6N*z;^7rtfi8Efo@)%@h&tAKiK#WyIATZiom*DK8Zf^4+7)>2Ji?VK>)OA)#4W z5#c`g%g~*T_|J+vBZ5(yD;5#%&iPv>+voA-$Q|nF!6;?2BBBi0&JrplH0LcM$};RM zA;BnRvLd1k**vI_(A>RFv#MMU|oc~Bvt zwG<+vT+}>BFiLr;h$!DRf(i+(A`ubg)V5b77^Sr>BGOF1&@hTtkYJQDSrJi&Y#vld zXpN4DwEjpvNH9uysfZ{;HV-N!wAM&OT1TZGBp9WU4yD|ryB9`dSfGkQOZk2gbexq2Sysvwb|%eDkQW*P(hf(*ugkY4vBhf00=-rhD=l3!k$O-e;a6}pS7aU} z80DixG=o(_Fv`cVbd^QAS5!#&Xcx_^nFk3*`FNbJvPeCsknmAEnjbU|5{&ZuO1fqu z^`Jt+?>^Byr+JWIl;7>rH4~`^6%u|Ijpl33g9M}eP94o6mk^Bd%phH5k?s{05}t8H zv*G4Jf>EB~q^m4a4=N-)bBgBZ&4UD^JX1^8Or#!ENO%Sqtu-(Y5{&YUGhH*0dQc(Z znQXLX!aPVY%CqHYB}WOtD9_HLRTf52A>mnnv?8U1V3b!G(JBigsF3jLC0!?zzE>m| z<<(NOX2LwEknk!jTJKXrFv_dGXw8HXR7iL=8Le9?AsFS=YqVy<2r4AJDvs7)l@N^b z$~#&WRzfh!djrub3nQqI@D4({RxSMmNifQL9MLKZ^Pob)J0a1UyApy?-g$}EOc+6h zgm-kJwSy%Dqr8I@t(h=_3JLE_MQb2S2u6ALD_WUZLNLm^ZP6+VBdCz@E?&A`H2nlg zFv`1z(JBk`phCjCk?FeE)Pn@0y!#ognJ^D3B)qE{*6*TQTStOX?E9u2;i7g;#3>UV zwLY$*w5=ZUpaEUe?YK`(g@pg5=s3)S1fwpve>d~E`>^b45h^6~9%>Jx&%-=OFlt8q zE=KG$FS|~L3JIMH@`%nW^B}>f5o32WVu#AC2Ne>!ZsZYNQRYE{QJ=NwY($%zvulc| zkkIunk7#5t4-$;(HNLG8*KLsXph809m^`8p&OAsk>a8`ZjF@&?c8wPm5*l6Q5slR5 zL4r|3uGq$iOFL#gsF2W|NFLEW$~;Ig>WLnk81ea=*;RT}Na&6#kLX@&9wZo*JD{l% zM_-rqph7~Kfjpv|!8}MX>aX`#F=DHM8IJ-L63SQP5#>Jes35_pdF{VjAmY#NSq~~C zl&Oh`ayauK!Ki-wzHh{JU9uijNGRi!N0hyq2MI=fGx(XmISwi$lsU^I%EHZq1f%NS zdeDf{&w~mHRRHpcstNNT!KgMrPc)+Byed#3p-M&`QB`CfBpB6v)9Z~WxjqV1NT`OB zM^q1*2MI>0vJ??jsU-xX=B_rfADe`|DjngdkWi&BkEm;4 z9wZpmW5M1=l#bL?NT|mlkEmZ_9wZnw_x8?4l-_ZukWjBi9#P*XyjS>Jj5_m|?aZU} z&Pj!Yx>WLr`d8*bf>C!?Z)_f=82}X$>chz+>cg1_2}TY1=Q`$5n#oWhp?;z~qJE-z zkYLoJC)P5L(si#?NceWtNi~mhgreMg$<0`65bc!|{#`$&s3TlLFv{P`RWNWsX4Ojt6%u}}l&r;x2uAs}`SW{O z4=N=5nlD*XR6&AKKE`~|FS81%f(i*AyGmA5MFgXKtXzG5)`JQOAA?I)g;kJXl;0)p z+BCC{tbz&&zn4U_efF7?V3gmlqB+PCf>C~dtQnZyD=H-Xz8lS@ng#`nH zNO=Ab%?XY2Su~t=0So{o_GEHXx4)Y3D4)!S^Yv%(wYYeMtS~N zdK^?pcwU;WPDnjSFv|1b($9km3D2+7RTilS2}XH7UwU3qA>nmGx>_XlAi*fFOG>XO zDkQw#N!Nv^9wZp$^;PM}K!t?YZRz^<)Pn@0yiP0~;i!=C`ZHbGpL&pBl-IkZBQ+Hg zUPq@-D5M@F80B?)=^cj(3GWA_E6-975{&ZxL+PE93JLFPq$}uB4-$;>K1yi@K!t?& zXVR5`sRs#0c|WK$lc7Sw`%LMI#?*rZquAHlb=W}*7T>FR&WoS_ptYi^=7!agH?Gpv zw*MSjX)81JdX&TEpB=paed?sSLP8$?dfJD}S0w*PFlxn`foMKPUA2do)!e7OTJgnB z_wny?59=y+GmmcXD(jp5^*|#Ac5c;{3JJY$+N`Q|EW2LgMDHI~eix^&$=)zPS;%U;EfhDkOBxYp=psvf3KA&XUJ%2mCdQ z1f#Z@)y{|~pOnY=l@}ZF`gZTkqC#THnyrnPy1sI_s_q?)cy-5hJ5nK`(N236M$re4 z`mB@o>dH-D>qLT4&n4YK5n-fW|M#tp==FZ{*;Ghq)D{u$24|i$(TIOdcyAU7M$PZE zoe`T(({U_*W=|tN`K2(M3JKkPTczvi@)$Ju}Mok4|!G7jxk$Yg#$X6%xuBMTA^*?}7ib^J?6e zoja0X)ScbGGGf`k<+07EPde+}op5faPE<%JtCh!(mLVUt$1?i_=gm0#ekvrCEsF?Q z_*X~XY95#Wbz4L*>c_<|8ZqAX>Wi(nviGX{r!U`6g@m$xd4y`>sE5zGU&qnnvk4Kw zsNQpnMvR@TBfs;!%gp19U2nUe3JFy&@(5MYq$}&qXWtoANT_bpUWIya_Iq>e^Z4S?t7ej5)ZNEV zGUDbz+NvAx0~Hdp54pvN$J>i&cEKFGN3F5TKRQq$p^8;|73$gnAJui# z=kezm!)K9T)c&7dX+#*W+HCt@+pFGBZ!(Jt3Dwc^2=)2xd%SPg$7WAG(~$(Ds)vTX zI_@Qni4T17h!NeU)ODmn;>Q7Jo5!~|iFoj%jqErU_H5gc3JG-(v{#`sv1HF$y9O5= zzRvw57*)AWIF4|~d1+>qorzy>zu9amB-9C!N9eG0zOacAw|qJ?A{h1C?|qE8=x5z) z&*-?Oorxdx>)eS7i9gTY&4`czv^;Zbd#|qA@co%oNT>&-y$Zdhqh_;9R+K~jK ze(t}65vL8*UL^^o@?Fa;sgO`FOCF&|R=2!WTM_r&vqgInjOun?wRvpNR34{(ah{#K z_n)-sOe!Q!Zo91!A%|NybbC9FBTv}2BNY-87Hw_B>eH3OJ+kp5`qk zemaiOPh9im2aV`)@~^E)FlxZY&CFx-ygZt1Jl^ikU005;r9wjeOL>I8=vj|mQ?0%F z>*w2BlVH^A&#!A9Ir}}xADX^lE0Ijz* zj8dmqL|U<=X9*P&z8yN-?{2xiedcE!G_8F(LQ#h_3CD4wRV>@|*vW`#SN;25D*U^C zOrb-6@PVUkyju9%e`k_l)D7>3clXQ9RTWKG^oNb@C;qy7M=B()=)Jxj`D?#vR)5%~ zH_gx|c=eE*+fgCmpMRK}IQ*_1>~65~`inY{U{r4ACgw5uR(a%4X==wYY}l_esgO9c z;rjS}M-fe*=xoHCAFpgrg@m8^VOHj+<*VB$`au zIxXlxg~Xyq+Zoa85v?3J;`0_pjQ)7$3@RjiTnY10N42}#uJiMUj-N$>Q7aq9#0f{r zqtEv9%wuW$?K)8*@xjnNZLbzqV?BeN?Nmtkh#F?%&f4S^d#?tsxUC}zM$K8{5c634 zzSbIa+P#$#1E+2_iwX(9mxLL`RnKl|cY}(4!)B9Ul;4S_+nR}GmyWeN&d%$d+K~#0 z!;U-8_Ug=@+N%Sm_BG;@56Z*?vjoXA!|Dzt8Xgt7hD{*zt8c z6VE?-`!oZPLc;ThFvEM$!1c}J(={hV1fy0NcAXu^JMYM2quu^z^~dsW&TU79#QeK% zH{#ftB5oM-g59Gw`{x1oQ6b@(Q<&TC@^ec&jvwlNj|fJ2ZrAoodHnQOhwz!-@NEYw zByL8`XX`9E^^>6y!KfyO zzGQoK+b;4*vW(_6j@l-}ljx7a#6npU0a29p9M> z39lx@%9?u)c*Q*K-MnQ)FlzD9t65z;?>KvRE5Ef*a8{33J5eFwRdHA$bmC2qY;e)LTLjR3sHb^g%(?AVmLxL|}_kCA36Eh=Gt0O_s-K zXb7@~K7|@WrJ=~7p`oQHszHkLz8-jP&CmPeo^#JVANM)Wkw5~g)PFmF?UuV7%@5yM z-h~PhMjLwougkJk&X|ez^Y5iC7b-|72Z6Iu9@`DA?Ze)53JI(VC(P9ItBia`Fmge= zb0F(Vp@M|+PB`Ngx}Otr1p5l79we|zc{RMkC0ooif+N>{feI2nYaO-9Sr5rG+Hp`p zLitRbZnN|RX$1YBUjhlNn%HMIDmE#fVSOpl926A?8Y)OACye)x=d!ET_~6h`K|(of zoa>uO@E>GxFRCN3YJ8xXdT#oVt*Sf>^ShcF)KEb}Ifa~0%$;P2=(=4^BY{=xWnYv} z0NefsdRLwAmu^&$P#!7gENhKEA`C;0G!j^qf77TR_7!<%XnLxl9j7W@+Cc@0{-l?P zP*D=`woy7+M%Rv$s34*IWKNg{vK#dOu^?LANMM!nuldw>p4z1OVJLJ9RFL=?Yo}I4 zdgU1o*IiVQa4)ilJiq&wKm`fq*6Y%^^tB^_Rgcwt(=cs^#4i!3Afav@bgANh1Xk(q OKd|ShAb~e29kahcDe58s literal 0 HcmV?d00001 diff --git a/assets/rotary_cartpole/meshes/base_link.stl b/assets/rotary_cartpole/meshes/base_link.stl new file mode 100644 index 0000000000000000000000000000000000000000..d56b5483b5caa9199801728fadd3bc180ab025a2 GIT binary patch literal 203884 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

US^aRr~B{y9H#_@zml{`>S9 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%0Ac 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 literal 0 HcmV?d00001 diff --git a/assets/rotary_cartpole/rotary_cartpole.urdf b/assets/rotary_cartpole/rotary_cartpole.urdf new file mode 100644 index 0000000..b68ed3b --- /dev/null +++ b/assets/rotary_cartpole/rotary_cartpole.urdf @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/configs/env/rotary_cartpole.yaml b/configs/env/rotary_cartpole.yaml new file mode 100644 index 0000000..c4fb61c --- /dev/null +++ b/configs/env/rotary_cartpole.yaml @@ -0,0 +1,7 @@ +max_steps: 1000 +model_path: assets/rotary_cartpole/rotary_cartpole.urdf +reward_upright_scale: 1.0 +actuators: + - joint: motor_joint + gear: 15.0 + ctrl_range: [-1.0, 1.0] diff --git a/configs/runner/mujoco.yaml b/configs/runner/mujoco.yaml index 42a54b5..861b8ba 100644 --- a/configs/runner/mujoco.yaml +++ b/configs/runner/mujoco.yaml @@ -1,4 +1,5 @@ -num_envs: 16 +num_envs: 64 device: cpu -dt: 0.02 -substeps: 2 +dt: 0.002 +substeps: 20 +action_ema_alpha: 0.2 # motor smoothing (τ ≈ 179ms, ~5 steps to reverse) diff --git a/configs/training/ppo.yaml b/configs/training/ppo.yaml index 8025216..c078de6 100644 --- a/configs/training/ppo.yaml +++ b/configs/training/ppo.yaml @@ -1,5 +1,5 @@ hidden_sizes: [128, 128] -total_timesteps: 1000000 +total_timesteps: 5000000 rollout_steps: 1024 learning_epochs: 4 mini_batches: 4 @@ -8,6 +8,8 @@ gae_lambda: 0.95 learning_rate: 0.0003 clip_ratio: 0.2 value_loss_scale: 0.5 -entropy_loss_scale: 0.01 +entropy_loss_scale: 0.05 log_interval: 10 -clearml_project: RL-Framework + +# ClearML remote execution (GPU worker) +remote: false diff --git a/requirements.txt b/requirements.txt index f40d2e8..f3ed7df 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,4 +5,6 @@ omegaconf mujoco skrl[torch] clearml +imageio +imageio-ffmpeg pytest \ No newline at end of file diff --git a/src/core/env.py b/src/core/env.py index 2654898..80c5d96 100644 --- a/src/core/env.py +++ b/src/core/env.py @@ -57,3 +57,10 @@ class BaseEnv(abc.ABC, Generic[T]): def compute_truncations(self, step_counts: torch.Tensor) -> torch.Tensor: return step_counts >= self.config.max_steps + + def get_default_qpos(self, nq: int) -> list[float] | None: + """Return the default joint positions for reset. + Override in subclass if the URDF zero pose doesn't match + the desired initial state (e.g. pendulum hanging down). + Returns None to use the URDF default (all zeros).""" + return None diff --git a/src/core/runner.py b/src/core/runner.py index f3e17fa..ff00890 100644 --- a/src/core/runner.py +++ b/src/core/runner.py @@ -90,8 +90,9 @@ class BaseRunner(abc.ABC, Generic[T]): # skrl expects (num_envs, 1) for rewards/terminated/truncated return obs, rewards.unsqueeze(-1), terminated.unsqueeze(-1), truncated.unsqueeze(-1), info - def render(self, env_idx: int = 0, mode: str = "human") -> torch.Tensor | None: - raise NotImplementedError("Render method not implemented for this runner.") + def render(self, env_idx: int = 0): + """Offscreen render → RGB numpy array. Override in subclass.""" + raise NotImplementedError("Render not implemented for this runner.") def close(self) -> None: self._sim_close() \ No newline at end of file diff --git a/src/envs/rotary_cartpole.py b/src/envs/rotary_cartpole.py new file mode 100644 index 0000000..d70dcf2 --- /dev/null +++ b/src/envs/rotary_cartpole.py @@ -0,0 +1,94 @@ +import dataclasses +import torch +from src.core.env import BaseEnv, BaseEnvConfig +from gymnasium import spaces + + +@dataclasses.dataclass +class RotaryCartPoleState: + motor_angle: torch.Tensor # (num_envs,) + motor_vel: torch.Tensor # (num_envs,) + pendulum_angle: torch.Tensor # (num_envs,) + pendulum_vel: torch.Tensor # (num_envs,) + + +@dataclasses.dataclass +class RotaryCartPoleConfig(BaseEnvConfig): + """Rotary inverted pendulum (Furuta pendulum) task config. + + The motor rotates the arm horizontally; the pendulum swings freely + at the arm tip. Goal: swing the pendulum up and balance it upright. + """ + # Reward shaping + reward_upright_scale: float = 1.0 # cos(pendulum) when upright = +1 + + +class RotaryCartPoleEnv(BaseEnv[RotaryCartPoleConfig]): + """Furuta pendulum / rotary inverted pendulum environment. + + Kinematic chain: base_link ─(motor_joint, z)─► arm ─(pendulum_joint, y)─► pendulum + + Observations (6): + [sin(motor), cos(motor), sin(pendulum), cos(pendulum), motor_vel, pendulum_vel] + Using sin/cos avoids discontinuities at ±π for continuous joints. + + Actions (1): + Torque applied to the motor_joint. + """ + + def __init__(self, config: RotaryCartPoleConfig): + super().__init__(config) + + @property + def observation_space(self) -> spaces.Space: + return spaces.Box(low=-torch.inf, high=torch.inf, shape=(6,)) + + @property + def action_space(self) -> spaces.Space: + return spaces.Box(low=-1.0, high=1.0, shape=(1,)) + + def build_state(self, qpos: torch.Tensor, qvel: torch.Tensor) -> RotaryCartPoleState: + return RotaryCartPoleState( + motor_angle=qpos[:, 0], + motor_vel=qvel[:, 0], + pendulum_angle=qpos[:, 1], + pendulum_vel=qvel[:, 1], + ) + + def compute_observations(self, state: RotaryCartPoleState) -> torch.Tensor: + return torch.stack([ + torch.sin(state.motor_angle), + torch.cos(state.motor_angle), + torch.sin(state.pendulum_angle), + torch.cos(state.pendulum_angle), + state.motor_vel, + state.pendulum_vel, + ], dim=-1) + + def compute_rewards(self, state: RotaryCartPoleState, actions: torch.Tensor) -> torch.Tensor: + # height: sin(θ) → -1 (down) to +1 (up) + height = torch.sin(state.pendulum_angle) + + # Upright reward: strongly rewards being near vertical. + # Uses cos(θ - π/2) = sin(θ), squared and scaled so: + # down (h=-1): 0.0 + # horiz (h= 0): 0.0 + # up (h=+1): 1.0 + # Only kicks in above horizontal, so swing-up isn't penalised. + upright_reward = torch.clamp(height, 0.0, 1.0) ** 2 + + # Motor effort penalty: small cost to avoid bang-bang control. + effort_penalty = 0.001 * actions.squeeze(-1) ** 2 + + return 5.0 * upright_reward - effort_penalty + + def compute_terminations(self, state: RotaryCartPoleState) -> torch.Tensor: + # No early termination — episode runs for max_steps (truncation only). + # The agent must learn to swing up AND balance continuously. + return torch.zeros_like(state.motor_angle, dtype=torch.bool) + + def get_default_qpos(self, nq: int) -> list[float] | None: + # The STL mesh is horizontal at qpos=0. + # Pendulum hangs down at θ = -π/2 (sin(-π/2) = -1). + import math + return [0.0, -math.pi / 2] diff --git a/src/models/mlp.py b/src/models/mlp.py index ebc4537..398c6a5 100644 --- a/src/models/mlp.py +++ b/src/models/mlp.py @@ -4,7 +4,7 @@ from gymnasium import spaces from skrl.models.torch import Model, GaussianMixin, DeterministicMixin class SharedMLP(GaussianMixin, DeterministicMixin, Model): - def __init__(self, observation_space: spaces.Space, action_space: spaces.Space, device: torch.device, hidden_sizes: tuple[int, ...] = (32, 32), clip_actions: bool = False, clip_log_std: bool = True, min_log_std: float = -20.0, max_log_std: float = 2.0, initial_log_std: float = 0.0): + def __init__(self, observation_space: spaces.Space, action_space: spaces.Space, device: torch.device, hidden_sizes: tuple[int, ...] = (32, 32), clip_actions: bool = False, clip_log_std: bool = True, min_log_std: float = -2.0, max_log_std: float = 2.0, initial_log_std: float = 0.0): Model.__init__(self, observation_space, action_space, device) GaussianMixin.__init__(self, clip_actions, clip_log_std, min_log_std, max_log_std) DeterministicMixin.__init__(self, clip_actions) diff --git a/src/runners/mujoco.py b/src/runners/mujoco.py index d91e54e..7cf7755 100644 --- a/src/runners/mujoco.py +++ b/src/runners/mujoco.py @@ -1,12 +1,11 @@ import dataclasses -import tempfile +import os import xml.etree.ElementTree as ET from src.core.env import BaseEnv, ActuatorConfig from src.core.runner import BaseRunner, BaseRunnerConfig import torch import numpy as np import mujoco -import mujoco.viewer @dataclasses.dataclass class MuJoCoRunnerConfig(BaseRunnerConfig): @@ -14,6 +13,7 @@ class MuJoCoRunnerConfig(BaseRunnerConfig): device: str = "cpu" dt: float = 0.02 substeps: int = 2 + action_ema_alpha: float = 0.2 # EMA smoothing on ctrl (0=frozen, 1=instant) class MuJoCoRunner(BaseRunner[MuJoCoRunnerConfig]): def __init__(self, env: BaseEnv, config: MuJoCoRunnerConfig): @@ -39,36 +39,89 @@ class MuJoCoRunner(BaseRunner[MuJoCoRunnerConfig]): This keeps the URDF clean and standard — actuator config lives in the env config (Isaac Lab pattern), not in the robot file. """ - # Step 1: Load URDF/MJCF as-is (no actuators) - model_raw = mujoco.MjModel.from_xml_path(model_path) + abs_path = os.path.abspath(model_path) + model_dir = os.path.dirname(abs_path) + is_urdf = abs_path.lower().endswith(".urdf") + + # MuJoCo's URDF parser strips directory prefixes from mesh filenames, + # so we inject a block into a + # temporary copy. The original URDF stays clean and simulator-agnostic. + if is_urdf: + tree = ET.parse(abs_path) + root = tree.getroot() + # Detect the mesh subdirectory from the first mesh filename + meshdir = None + for mesh_el in root.iter("mesh"): + fn = mesh_el.get("filename", "") + dirname = os.path.dirname(fn) + if dirname: + meshdir = dirname + break + if meshdir: + mj_ext = ET.SubElement(root, "mujoco") + ET.SubElement(mj_ext, "compiler", attrib={ + "meshdir": meshdir, + "balanceinertia": "true", + }) + tmp_urdf = os.path.join(model_dir, "_tmp_mujoco_load.urdf") + tree.write(tmp_urdf, xml_declaration=True, encoding="unicode") + try: + model_raw = mujoco.MjModel.from_xml_path(tmp_urdf) + finally: + os.unlink(tmp_urdf) + else: + model_raw = mujoco.MjModel.from_xml_path(abs_path) if not actuators: return model_raw - # Step 2: Export internal MJCF representation - tmp_mjcf = tempfile.mktemp(suffix=".xml") + # Step 2: Export internal MJCF representation (save next to original + # model so relative mesh/asset paths resolve correctly on reload) + tmp_mjcf = os.path.join(model_dir, "_tmp_actuator_inject.xml") try: mujoco.mj_saveLastXML(tmp_mjcf, model_raw) with open(tmp_mjcf) as f: mjcf_str = f.read() + + # Step 3: Inject actuators into the MJCF XML + # Use torque actuator. Speed is limited by joint damping: + # at steady state, vel_max = torque / damping. + root = ET.fromstring(mjcf_str) + act_elem = ET.SubElement(root, "actuator") + for act in actuators: + ET.SubElement(act_elem, "motor", attrib={ + "name": f"{act.joint}_motor", + "joint": act.joint, + "gear": str(act.gear), + "ctrlrange": f"{act.ctrl_range[0]} {act.ctrl_range[1]}", + }) + + # Add damping to actuated joints to limit max speed and + # mimic real motor friction / back-EMF. + # vel_max ≈ max_torque / damping (e.g. 1.0 / 0.05 = 20 rad/s) + actuated_joints = {a.joint for a in actuators} + for body in root.iter("body"): + for jnt in body.findall("joint"): + if jnt.get("name") in actuated_joints: + jnt.set("damping", "0.05") + + # Disable self-collision on all geoms. + # URDF mesh convex hulls often overlap at joints (especially + # grandparent↔grandchild bodies that MuJoCo does NOT auto-exclude), + # causing phantom contact forces. + for geom in root.iter("geom"): + geom.set("contype", "0") + geom.set("conaffinity", "0") + + # Step 4: Write modified MJCF and reload from file path + # (from_xml_path resolves mesh paths relative to the file location) + modified_xml = ET.tostring(root, encoding="unicode") + with open(tmp_mjcf, "w") as f: + f.write(modified_xml) + return mujoco.MjModel.from_xml_path(tmp_mjcf) finally: - import os - os.unlink(tmp_mjcf) - - # Step 3: Inject actuators into the MJCF XML - root = ET.fromstring(mjcf_str) - act_elem = ET.SubElement(root, "actuator") - for act in actuators: - ET.SubElement(act_elem, "motor", attrib={ - "name": f"{act.joint}_motor", - "joint": act.joint, - "gear": str(act.gear), - "ctrlrange": f"{act.ctrl_range[0]} {act.ctrl_range[1]}", - }) - - # Step 4: Reload from modified MJCF - modified_xml = ET.tostring(root, encoding="unicode") - return mujoco.MjModel.from_xml_string(modified_xml) + if os.path.exists(tmp_mjcf): + os.unlink(tmp_mjcf) def _sim_initialize(self, config: MuJoCoRunnerConfig) -> None: model_path = self.env.config.model_path @@ -83,14 +136,22 @@ class MuJoCoRunner(BaseRunner[MuJoCoRunnerConfig]): self._nq = self._model.nq self._nv = self._model.nv + # Per-env smoothed ctrl state for EMA action filtering. + # Models real motor inertia: ctrl can't reverse instantly. + nu = self._model.nu + self._smooth_ctrl = [np.zeros(nu, dtype=np.float64) for _ in range(config.num_envs)] + def _sim_step(self, actions: torch.Tensor) -> tuple[torch.Tensor, torch.Tensor]: actions_np: np.ndarray = actions.cpu().numpy() + alpha = self.config.action_ema_alpha qpos_batch = np.zeros((self.num_envs, self._nq), dtype=np.float32) qvel_batch = np.zeros((self.num_envs, self._nv), dtype=np.float32) for i, data in enumerate(self._data): - data.ctrl[:] = actions_np[i] + # EMA filter: smooth_ctrl ← α·raw + (1-α)·smooth_ctrl + self._smooth_ctrl[i] = alpha * actions_np[i] + (1 - alpha) * self._smooth_ctrl[i] + data.ctrl[:] = self._smooth_ctrl[i] for _ in range(self.config.substeps): mujoco.mj_step(self._model, data) @@ -109,14 +170,23 @@ class MuJoCoRunner(BaseRunner[MuJoCoRunnerConfig]): qpos_batch = np.zeros((n, self._nq), dtype=np.float32) qvel_batch = np.zeros((n, self._nv), dtype=np.float32) + default_qpos = self.env.get_default_qpos(self._nq) + for i, env_id in enumerate(ids): data = self._data[env_id] mujoco.mj_resetData(self._model, data) - # Add small random perturbation so the pole doesn't start perfectly upright + # Set initial pose (env-specific, e.g. pendulum hanging down) + if default_qpos is not None: + data.qpos[:] = default_qpos + + # Add small random perturbation for exploration data.qpos[:] += np.random.uniform(-0.05, 0.05, size=self._nq) data.qvel[:] += np.random.uniform(-0.05, 0.05, size=self._nv) + # Reset smoothed ctrl so motor starts from rest + self._smooth_ctrl[env_id][:] = 0.0 + qpos_batch[i] = data.qpos qvel_batch[i] = data.qvel @@ -126,30 +196,14 @@ class MuJoCoRunner(BaseRunner[MuJoCoRunnerConfig]): ) def _sim_close(self) -> None: - if hasattr(self, "_viewer") and self._viewer is not None: - self._viewer.close() - self._viewer = None - if hasattr(self, "_offscreen_renderer") and self._offscreen_renderer is not None: self._offscreen_renderer.close() self._offscreen_renderer = None - self._data.clear() - def render(self, env_idx: int = 0, mode: str = "human") -> torch.Tensor | None: - if mode == "human": - if not hasattr(self, "_viewer") or self._viewer is None: - self._viewer = mujoco.viewer.launch_passive( - self._model, self._data[env_idx] - ) - # Update visual geometry from current physics state - mujoco.mj_forward(self._model, self._data[env_idx]) - self._viewer.sync() - return None - elif mode == "rgb_array": - # Cache the offscreen renderer to avoid create/destroy overhead - if not hasattr(self, "_offscreen_renderer") or self._offscreen_renderer is None: - self._offscreen_renderer = mujoco.Renderer(self._model, height=480, width=640) - self._offscreen_renderer.update_scene(self._data[env_idx]) - pixels = self._offscreen_renderer.render().copy() # copy since buffer is reused - return torch.from_numpy(pixels) \ No newline at end of file + def render(self, env_idx: int = 0) -> np.ndarray | None: + """Offscreen render → RGB numpy array (H, W, 3).""" + if not hasattr(self, "_offscreen_renderer") or self._offscreen_renderer is None: + self._offscreen_renderer = mujoco.Renderer(self._model, height=480, width=640) + self._offscreen_renderer.update_scene(self._data[env_idx]) + return self._offscreen_renderer.render().copy() \ No newline at end of file diff --git a/src/training/trainer.py b/src/training/trainer.py index 5d5a18e..3315156 100644 --- a/src/training/trainer.py +++ b/src/training/trainer.py @@ -4,19 +4,22 @@ import tempfile from pathlib import Path import numpy as np +import torch import tqdm +from clearml import Logger +from gymnasium import spaces +from skrl.agents.torch.ppo import PPO, PPO_DEFAULT_CONFIG +from skrl.memories.torch import RandomMemory +from skrl.resources.preprocessors.torch import RunningStandardScaler +from skrl.trainers.torch import SequentialTrainer from src.core.runner import BaseRunner -from clearml import Task, Logger -import torch -from gymnasium import spaces -from skrl.memories.torch import RandomMemory from src.models.mlp import SharedMLP -from skrl.agents.torch.ppo import PPO, PPO_DEFAULT_CONFIG -from skrl.trainers.torch import SequentialTrainer + @dataclasses.dataclass class TrainerConfig: + # PPO rollout_steps: int = 2048 learning_epochs: int = 8 mini_batches: int = 4 @@ -29,30 +32,27 @@ class TrainerConfig: hidden_sizes: tuple[int, ...] = (64, 64) + # Training total_timesteps: int = 1_000_000 log_interval: int = 10 - # Video recording - record_video_every: int = 10000 # record a video every N timesteps (0 = disabled) - record_video_min_seconds: float = 10.0 # minimum video duration in seconds - record_video_fps: int = 0 # 0 = auto-derive from simulation rate + # Video recording (uploaded to ClearML) + record_video_every: int = 10_000 # 0 = disabled + record_video_fps: int = 0 # 0 = derive from sim dt×substeps - clearml_project: str | None = None - clearml_task: str | None = None +# ── Video-recording trainer ────────────────────────────────────────── class VideoRecordingTrainer(SequentialTrainer): - """Subclass of skrl's SequentialTrainer that records videos periodically.""" + """SequentialTrainer with periodic evaluation videos uploaded to ClearML.""" def __init__(self, env, agents, cfg=None, trainer_config: TrainerConfig | None = None): super().__init__(env=env, agents=agents, cfg=cfg) - self._trainer_config = trainer_config + self._tcfg = trainer_config self._video_dir = Path(tempfile.mkdtemp(prefix="rl_videos_")) def single_agent_train(self) -> None: - """Override to add periodic video recording.""" - assert self.num_simultaneous_agents == 1 - assert self.env.num_agents == 1 + assert self.num_simultaneous_agents == 1 and self.env.num_agents == 1 states, infos = self.env.reset() @@ -61,26 +61,17 @@ class VideoRecordingTrainer(SequentialTrainer): disable=self.disable_progressbar, file=sys.stdout, ): - # Pre-interaction self.agents.pre_interaction(timestep=timestep, timesteps=self.timesteps) with torch.no_grad(): actions = self.agents.act(states, timestep=timestep, timesteps=self.timesteps)[0] next_states, rewards, terminated, truncated, infos = self.env.step(actions) - if not self.headless: - self.env.render() - self.agents.record_transition( - states=states, - actions=actions, - rewards=rewards, - next_states=next_states, - terminated=terminated, - truncated=truncated, - infos=infos, - timestep=timestep, - timesteps=self.timesteps, + states=states, actions=actions, rewards=rewards, + next_states=next_states, terminated=terminated, + truncated=truncated, infos=infos, + timestep=timestep, timesteps=self.timesteps, ) if self.environment_info in infos: @@ -90,7 +81,7 @@ class VideoRecordingTrainer(SequentialTrainer): self.agents.post_interaction(timestep=timestep, timesteps=self.timesteps) - # Reset environments + # Auto-reset for multi-env; single-env resets manually if self.env.num_envs > 1: states = next_states else: @@ -100,111 +91,90 @@ class VideoRecordingTrainer(SequentialTrainer): else: states = next_states - # Record video at intervals - cfg = self._trainer_config + # Periodic video recording if ( - cfg - and cfg.record_video_every > 0 - and (timestep + 1) % cfg.record_video_every == 0 + self._tcfg + and self._tcfg.record_video_every > 0 + and (timestep + 1) % self._tcfg.record_video_every == 0 ): self._record_video(timestep + 1) - def _get_video_fps(self) -> int: - """Derive video fps from the simulation rate, or use configured value.""" - cfg = self._trainer_config - if cfg.record_video_fps > 0: - return cfg.record_video_fps - # Auto-derive from runner's simulation parameters - runner = self.env - dt = getattr(runner.config, "dt", 0.02) - substeps = getattr(runner.config, "substeps", 1) + # ── helpers ─────────────────────────────────────────────────────── + + def _get_fps(self) -> int: + if self._tcfg and self._tcfg.record_video_fps > 0: + return self._tcfg.record_video_fps + dt = getattr(self.env.config, "dt", 0.02) + substeps = getattr(self.env.config, "substeps", 1) return max(1, int(round(1.0 / (dt * substeps)))) def _record_video(self, timestep: int) -> None: - """Record evaluation episodes and upload to ClearML.""" try: import imageio.v3 as iio except ImportError: - try: - import imageio as iio - except ImportError: - return + return - cfg = self._trainer_config - fps = self._get_video_fps() - min_frames = int(cfg.record_video_min_seconds * fps) - max_frames = min_frames * 3 # hard cap to prevent runaway recording + fps = self._get_fps() + max_steps = getattr(self.env.env.config, "max_steps", 500) frames: list[np.ndarray] = [] - while len(frames) < min_frames and len(frames) < max_frames: - obs, _ = self.env.reset() - done = False - steps = 0 - max_episode_steps = getattr(self.env.env.config, "max_steps", 500) - while not done and steps < max_episode_steps: - with torch.no_grad(): - action = self.agents.act(obs, timestep=timestep, timesteps=self.timesteps)[0] - obs, _, terminated, truncated, _ = self.env.step(action) - frame = self.env.render(mode="rgb_array") - if frame is not None: - frames.append(frame.cpu().numpy() if isinstance(frame, torch.Tensor) else frame) - done = (terminated | truncated).any().item() - steps += 1 - if len(frames) >= max_frames: - break + obs, _ = self.env.reset() + for _ in range(max_steps): + with torch.no_grad(): + action = self.agents.act(obs, timestep=timestep, timesteps=self.timesteps)[0] + obs, _, terminated, truncated, _ = self.env.step(action) + + frame = self.env.render() + if frame is not None: + frames.append(frame) + + if (terminated | truncated).any().item(): + break if frames: - video_path = str(self._video_dir / f"step_{timestep}.mp4") - iio.imwrite(video_path, frames, fps=fps) + path = str(self._video_dir / f"step_{timestep}.mp4") + iio.imwrite(path, frames, fps=fps) logger = Logger.current_logger() if logger: logger.report_media( - title="Training Video", - series=f"step_{timestep}", - local_path=video_path, - iteration=timestep, + "Training Video", f"step_{timestep}", + local_path=path, iteration=timestep, ) - # Reset back to training state after recording + # Restore training state self.env.reset() + +# ── Main trainer ───────────────────────────────────────────────────── + class Trainer: def __init__(self, runner: BaseRunner, config: TrainerConfig): self.runner = runner self.config = config - - self._init_clearml() self._init_agent() - def _init_clearml(self) -> None: - if self.config.clearml_project and self.config.clearml_task: - self.clearml_task = Task.init( - project_name=self.config.clearml_project, - task_name=self.config.clearml_task, - ) - else: - self.clearml_task = None - def _init_agent(self) -> None: - device: torch.device = self.runner.device - obs_space: spaces.Space = self.runner.observation_space - act_space: spaces.Space = self.runner.action_space - num_envs: int = self.runner.num_envs + device = self.runner.device + obs_space = self.runner.observation_space + act_space = self.runner.action_space - self.memory: RandomMemory = RandomMemory(memory_size=self.config.rollout_steps, num_envs=num_envs, device=device) + self.memory = RandomMemory( + memory_size=self.config.rollout_steps, + num_envs=self.runner.num_envs, + device=device, + ) - self.model: SharedMLP = SharedMLP( + self.model = SharedMLP( observation_space=obs_space, action_space=act_space, device=device, hidden_sizes=self.config.hidden_sizes, + initial_log_std=0.5, + min_log_std=-2.0, ) - models = { - "policy": self.model, - "value": self.model, - } + models = {"policy": self.model, "value": self.model} agent_cfg = PPO_DEFAULT_CONFIG.copy() agent_cfg.update({ @@ -217,9 +187,19 @@ class Trainer: "ratio_clip": self.config.clip_ratio, "value_loss_scale": self.config.value_loss_scale, "entropy_loss_scale": self.config.entropy_loss_scale, + "state_preprocessor": RunningStandardScaler, + "state_preprocessor_kwargs": {"size": obs_space, "device": device}, + "value_preprocessor": RunningStandardScaler, + "value_preprocessor_kwargs": {"size": 1, "device": device}, }) + # Wire up logging frequency: write_interval is in timesteps. + # log_interval=1 → log every PPO update (= every rollout_steps timesteps). + agent_cfg["experiment"]["write_interval"] = self.config.log_interval + agent_cfg["experiment"]["checkpoint_interval"] = max( + self.config.total_timesteps // 10, self.config.rollout_steps + ) - self.agent: PPO = PPO( + self.agent = PPO( models=models, memory=self.memory, observation_space=obs_space, @@ -238,6 +218,4 @@ class Trainer: trainer.train() def close(self) -> None: - self.runner.close() - if self.clearml_task: - self.clearml_task.close() \ No newline at end of file + self.runner.close() \ No newline at end of file diff --git a/train.py b/train.py index aa40206..b133bbc 100644 --- a/train.py +++ b/train.py @@ -1,39 +1,80 @@ import hydra +from clearml import Task from hydra.core.hydra_config import HydraConfig from omegaconf import DictConfig, OmegaConf +from src.core.env import BaseEnv, BaseEnvConfig, ActuatorConfig from src.envs.cartpole import CartPoleEnv, CartPoleConfig +from src.envs.rotary_cartpole import RotaryCartPoleEnv, RotaryCartPoleConfig from src.runners.mujoco import MuJoCoRunner, MuJoCoRunnerConfig from src.training.trainer import Trainer, TrainerConfig -from src.core.env import ActuatorConfig + +# ── env registry ────────────────────────────────────────────────────── +# Maps Hydra config-group name → (EnvClass, ConfigClass) +ENV_REGISTRY: dict[str, tuple[type[BaseEnv], type[BaseEnvConfig]]] = { + "cartpole": (CartPoleEnv, CartPoleConfig), + "rotary_cartpole": (RotaryCartPoleEnv, RotaryCartPoleConfig), +} -def _build_env_config(cfg: DictConfig) -> CartPoleConfig: +def _build_env(env_name: str, cfg: DictConfig) -> BaseEnv: + """Instantiate the right env + config from the Hydra config-group name.""" + if env_name not in ENV_REGISTRY: + raise ValueError(f"Unknown env '{env_name}'. Registered: {list(ENV_REGISTRY)}") + + env_cls, config_cls = ENV_REGISTRY[env_name] env_dict = OmegaConf.to_container(cfg.env, resolve=True) + + # Convert actuator dicts → ActuatorConfig objects if "actuators" in env_dict: for a in env_dict["actuators"]: if "ctrl_range" in a: a["ctrl_range"] = tuple(a["ctrl_range"]) env_dict["actuators"] = [ActuatorConfig(**a) for a in env_dict["actuators"]] - return CartPoleConfig(**env_dict) + + return env_cls(config_cls(**env_dict)) + + +def _init_clearml(choices: dict[str, str], remote: bool = False) -> Task: + """Initialize ClearML task with project structure and tags. + + Project: RL-Trainings/ (e.g. RL-Trainings/Rotary Cartpole) + Tags: env, runner, training algo choices from Hydra. + """ + Task.ignore_requirements("torch") + + env_name = choices.get("env", "cartpole") + runner_name = choices.get("runner", "mujoco") + training_name = choices.get("training", "ppo") + + project = "RL-Framework" + task_name = f"{env_name}-{runner_name}-{training_name}" + tags = [env_name, runner_name, training_name] + + task = Task.init(project_name=project, task_name=task_name, tags=tags) + + if remote: + task.execute_remotely(queue_name="default") + + return task @hydra.main(version_base=None, config_path="configs", config_name="config") def main(cfg: DictConfig) -> None: - env_config = _build_env_config(cfg) - runner_config = MuJoCoRunnerConfig(**OmegaConf.to_container(cfg.runner, resolve=True)) + choices = HydraConfig.get().runtime.choices + # ClearML init — must happen before heavy work so remote execution + # can take over early. The remote worker re-runs the full script; + # execute_remotely() is a no-op on the worker side. training_dict = OmegaConf.to_container(cfg.training, resolve=True) - # Build ClearML task name dynamically from Hydra config group choices - if not training_dict.get("clearml_task"): - choices = HydraConfig.get().runtime.choices - env_name = choices.get("env", "env") - runner_name = choices.get("runner", "runner") - training_name = choices.get("training", "algo") - training_dict["clearml_task"] = f"{env_name}-{runner_name}-{training_name}" + remote = training_dict.pop("remote", False) + task = _init_clearml(choices, remote=remote) + + env_name = choices.get("env", "cartpole") + env = _build_env(env_name, cfg) + runner_config = MuJoCoRunnerConfig(**OmegaConf.to_container(cfg.runner, resolve=True)) trainer_config = TrainerConfig(**training_dict) - env = CartPoleEnv(env_config) runner = MuJoCoRunner(env=env, config=runner_config) trainer = Trainer(runner=runner, config=trainer_config) @@ -41,6 +82,7 @@ def main(cfg: DictConfig) -> None: trainer.train() finally: trainer.close() + task.close() if __name__ == "__main__":