@@ -916,7 +916,13 @@ <h1>Source code for isaaclab.envs.mdp.events</h1><div class="highlight"><pre>
916916 < span class ="k "> raise</ span > < span class ="ne "> ValueError</ span > < span class ="p "> (</ span >
917917 < span class ="s2 "> "Randomization term 'randomize_rigid_body_mass' does not support operation:"</ span >
918918 < span class ="sa "> f</ span > < span class ="s2 "> " '</ span > < span class ="si "> {</ span > < span class ="n "> cfg</ span > < span class ="o "> .</ span > < span class ="n "> params</ span > < span class ="p "> [</ span > < span class ="s1 "> 'operation'</ span > < span class ="p "> ]</ span > < span class ="si "> }</ span > < span class ="s2 "> '."</ span >
919- < span class ="p "> )</ span > </ div >
919+ < span class ="p "> )</ span >
920+ < span class ="k "> if</ span > < span class ="n "> cfg</ span > < span class ="o "> .</ span > < span class ="n "> params</ span > < span class ="o "> .</ span > < span class ="n "> get</ span > < span class ="p "> (</ span > < span class ="s2 "> "min_mass"</ span > < span class ="p "> )</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="kc "> None</ span > < span class ="p "> :</ span >
921+ < span class ="k "> if</ span > < span class ="n "> cfg</ span > < span class ="o "> .</ span > < span class ="n "> params</ span > < span class ="o "> .</ span > < span class ="n "> get</ span > < span class ="p "> (</ span > < span class ="s2 "> "min_mass"</ span > < span class ="p "> )</ span > < span class ="o "> <</ span > < span class ="mf "> 1e-6</ span > < span class ="p "> :</ span >
922+ < span class ="k "> raise</ span > < span class ="ne "> ValueError</ span > < span class ="p "> (</ span >
923+ < span class ="s2 "> "Randomization term 'randomize_rigid_body_mass' does not support 'min_mass' less than 1e-6 to avoid"</ span >
924+ < span class ="s2 "> " physics errors."</ span >
925+ < span class ="p "> )</ span > </ div >
920926
921927 < span class ="k "> def</ span > < span class ="w "> </ span > < span class ="fm "> __call__</ span > < span class ="p "> (</ span >
922928 < span class ="bp "> self</ span > < span class ="p "> ,</ span >
@@ -927,6 +933,7 @@ <h1>Source code for isaaclab.envs.mdp.events</h1><div class="highlight"><pre>
927933 < span class ="n "> operation</ span > < span class ="p "> :</ span > < span class ="n "> Literal</ span > < span class ="p "> [</ span > < span class ="s2 "> "add"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "scale"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "abs"</ span > < span class ="p "> ],</ span >
928934 < span class ="n "> distribution</ span > < span class ="p "> :</ span > < span class ="n "> Literal</ span > < span class ="p "> [</ span > < span class ="s2 "> "uniform"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "log_uniform"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "gaussian"</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="s2 "> "uniform"</ span > < span class ="p "> ,</ span >
929935 < span class ="n "> recompute_inertia</ span > < span class ="p "> :</ span > < span class ="nb "> bool</ span > < span class ="o "> =</ span > < span class ="kc "> True</ span > < span class ="p "> ,</ span >
936+ < span class ="n "> min_mass</ span > < span class ="p "> :</ span > < span class ="nb "> float</ span > < span class ="o "> =</ span > < span class ="mf "> 1e-6</ span > < span class ="p "> ,</ span >
930937 < span class ="p "> ):</ span >
931938 < span class ="c1 "> # resolve environment ids</ span >
932939 < span class ="k "> if</ span > < span class ="n "> env_ids</ span > < span class ="ow "> is</ span > < span class ="kc "> None</ span > < span class ="p "> :</ span >
@@ -954,6 +961,7 @@ <h1>Source code for isaaclab.envs.mdp.events</h1><div class="highlight"><pre>
954961 < span class ="n "> masses</ span > < span class ="o "> =</ span > < span class ="n "> _randomize_prop_by_op</ span > < span class ="p "> (</ span >
955962 < span class ="n "> masses</ span > < span class ="p "> ,</ span > < span class ="n "> mass_distribution_params</ span > < span class ="p "> ,</ span > < span class ="n "> env_ids</ span > < span class ="p "> ,</ span > < span class ="n "> body_ids</ span > < span class ="p "> ,</ span > < span class ="n "> operation</ span > < span class ="o "> =</ span > < span class ="n "> operation</ span > < span class ="p "> ,</ span > < span class ="n "> distribution</ span > < span class ="o "> =</ span > < span class ="n "> distribution</ span >
956963 < span class ="p "> )</ span >
964+ < span class ="n "> masses</ span > < span class ="o "> =</ span > < span class ="n "> torch</ span > < span class ="o "> .</ span > < span class ="n "> clamp</ span > < span class ="p "> (</ span > < span class ="n "> masses</ span > < span class ="p "> ,</ span > < span class ="nb "> min</ span > < span class ="o "> =</ span > < span class ="n "> min_mass</ span > < span class ="p "> )</ span > < span class ="c1 "> # ensure masses are positive</ span >
957965
958966 < span class ="c1 "> # set the mass into the physics simulation</ span >
959967 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> asset</ span > < span class ="o "> .</ span > < span class ="n "> root_physx_view</ span > < span class ="o "> .</ span > < span class ="n "> set_masses</ span > < span class ="p "> (</ span > < span class ="n "> masses</ span > < span class ="p "> ,</ span > < span class ="n "> env_ids</ span > < span class ="p "> )</ span >
0 commit comments