
    nir&                     .   S SK rS SKJr  S SKrS SKJr  S SKrS SKrS SKrSr	Sr
\R                  " \R                  S9r\R                  \R                  " 5       5        \R!                  S5      r\R%                  S S S5        Sr\R)                  \5        \R*                  r/ S	Qr/ S
Qr\R!                  S\\\SS9r\R5                  \\\5        \
(       d:  \" \R9                  \5      5       H  r\R=                  \\\R>                  S S9  M!     \R!                  S/ SQ/ SQ5      r \RC                  \ SS S 5        \" \R9                  \ 5      5       HF  r\R=                  \ \\R>                  S S9  \RC                  \ \S S 5        \RE                  \ \/ SQS9  MH     \RG                  \ \R9                  \ 5      S-
  \S\RH                  / SQ/ SQ/ SQ5      r%\RM                  \%SS9  / r'/ r(/ r)/ SQr*/ SQr+\" S5       H6  r,\)R[                  S 5        \)R[                  S5        \)R[                  S5        M8     \R]                  SS SS 5      r/\" \R9                  \5      5       Hd  r\Ra                  \\S S S!9  \Rc                  \\5      r2\2S   r3\2S"   r4\4\Rj                  :X  d  \4\Rl                  :X  d  MS  \'R[                  \5        Mf     / S#Qr7\" \R9                  \5      5       H(  r\Rq                  \\'\   \*\   \7\   -  \)\   -   5        M*     \Rr                  " 5       r:\" \R9                  \5      5       H  r\;" \Rc                  \\5      5        M     / S$Qr<\< H_  r=\< HV  r>\>\=:  d  M  Sr?\;" S%\=\>\Rc                  \\=5      S&   \Rc                  \\>5      S&   S'\?5        \R                  \\S"S(\?5        MX     Ma     / r'/ r(/ r)/ SQr*/ SQr+\" S5       H6  r,\)R[                  S 5        \)R[                  S5        \)R[                  S5        M8     \R]                  S)S SS*5      rA\" \R9                  \5      5       Hd  r\Ra                  \\S S S!9  \Rc                  \\5      r2\2S   r3\2S"   r4\4\Rj                  :X  d  \4\Rl                  :X  d  MS  \'R[                  \5        Mf     \R                  S+S,5        \R                  S 5        / rD\R                  " 5       rF\R                  " 5       S--   rG\FR                  \G5        \;" S.\FR                  5       5        \;" S/\FR                  5       5        \;" S0\FR                  5       5        \;" S1\FR                  5       5        \R                  " \5      rN\FR                  5       rOS rP\PS2\O-  :  Ga  \FR                  5       rQ\FR                  5       rO\FR                  \P\O5      rS\P\S\O-  -
  rT\TS :  a  \T\O-  rT\U" \T\Q-  5      rV\VS-   rW\W\FR                  5       :  a  \VrW\T\V\Q-  -
  \Q-  rX\FR                  S3   \V   rZ\FR                  S3   \W   r[\:R                  \X\Z\[\5      u  r]r^\R                  \/5      r`\R                  \A5      ra\RM                  \%\aS9  \	(       a  \rb\c" \]S    * 5      \c" \]S   5      * \c" \]S"   5      /rb\c" \]S   5      \c" \]S(   5      \c" \]S4   5      \c" \]S5   5      /rd\R5                  \\b\d5        \" S&5       H3  r\c" \]\S6-      5      re\Rq                  \\'\   \*\   \e-  \)\   -   5        M5     GOI\
(       aJ  \" S&5       H=  r\c" \]\S6-      5      re\R=                  \\'\   \R>                  \*\   \e-  \)\   -   \`S9  M?     O/ rf\" S65       H  r\c" \]\   5      rg\fR[                  \g5        M!     \" S&5       H0  r\c" \]\S6-      5      rg\*\   \g-  \)\   -   re\fR[                  \e5        M2     S4rhS&\h-   riSrj\jS:X  a  S /\i-  rj\NR                  \\'\f\jS7/\i-  S8/\i-  \`/\i-  \S99rlS4rmSrn\" \o" \'5      5       H2  rp\'\p   rq\n\l\m   -  /rr\R                  \\q\R                  \rS:9  \mS-  rmM4     \R                  5         \P\-  rP\R                  " \5        \PS2\O-  :  a  GM  Srw\w(       a  \x" S;S<5       ry\y H  rz\R                  \/5      r`\zR                  S=5      r|\|S    rV\|S   rP\|S"S> rD\" S&5       H:  r\c" \D\   5      re\R=                  \\'\   \R>                  \*\   \e-  \)\   -   \`S9  M<     \R                  5         \< H  r}M     \R                  " S5        M     SSS5        \" \R9                  \5      5       H  r\Ra                  \\S S S!9  \Rc                  \\5      r2\R                  \\5      r\2S   r3\2S"   r4\4\Rj                  :X  d  \4\Rl                  :X  d  Me  \(R[                  \R]                  \3GR                  S?5      S@S\S    \)\   -
  \*\   -  5      5        M     \R                  S5         \" \o" \(5      5       HV  r,\(\,   r\R                  \5      re\R                  \/5      r`\R=                  \\'\,   \R>                  \*\,   \e-  \)\,   -   \`S9  MX     Mj  ! , (       d  f       GNM= f)A    N)bullet_client)pd_controller_stableF)connection_modez
plane.urdfigMb`?)g[B S|?g޵t?gmwB{?)gWeNx?g?g&[&?gJfzlaikago/laikago.urdf)flagsuseFixedBase)forcezcube_no_rotation.urdf)r   r   g      )r         ?r	   r   )   r   r   r   )	rgbaColorr   )r   r   r   )r   r   r   
   )maxForce)r
   r   r   r   r   r   r
   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r      gffffffgffffff?r   d   x   )linearDampingangularDamping   )g vy?gMSt$?g<|g{ԗg~8H?g0{vZgcGP?gq-?g5"g>QygBs?ga)r            zcollision for pair   zenabled=r   
maxUpForce   i  i@  z/data/motions/laikago_walk.txtzmocapData.NumFrames=zmocapData.KeyFrameDuraction=zmocapData.getCycleTime=zmocapData.computeCycleOffset=g      $@Frames         i  (   )bodyUniqueIdjointIndicesdesiredPositionsdesiredVelocitieskpskds	maxForcestimeStep)controlModer   z	data1.txtr,   zutf-8)pybulletp1pybullet_utilsr   pybullet_datar   timemotion_capture_dataquadrupedPoseInterpolatoruseKinematicuseConstraintsBulletClientGUIpsetAdditionalSearchPathgetDataPathloadURDFplane
setGravityr'   setTimeStepURDF_USE_SELF_COLLISION	urdfFlagsstartPosstartOrn	quadrupedresetBasePositionAndOrientationrangegetNumJointsjsetJointMotorControl2POSITION_CONTROLcubesetCollisionFilterGroupMaskchangeVisualShapecreateConstraintJOINT_FIXEDcidchangeConstraintjointIdsparamIdsjointOffsetsjointDirectionsjointAnglesiappendaddUserDebugParameter
maxForceIdchangeDynamicsgetJointInfoinfo	jointName	jointTypeJOINT_PRISMATICJOINT_REVOLUTEstartQresetJointStateQuadrupedPoseInterpolatorqpiprint
lower_legsl0l1enableCollisionsetCollisionFilterPairmaxUpForceIdgetCameraImagesetRealTimeSimulationjointsMotionCaptureData	mocapData
motionPathLoad	NumFramesKeyFrameDuractiongetCycleTimecomputeCycleOffsetPDControllerStablestablePD	cycleTimetkeyFrameDurationcalcCycleCount
cycleCount	frameTimeintframe	frameNextframeFraction_motion_data	frameDataframeDataNextSlerp	jointsStrqdotreadUserDebugParameterr   r   basePosfloatbaseOrn	targetPosr"   targetPosUnmodifiednumBaseDofs	totalDofsr#   	computePDtausdofIndexscalinglenindex
jointIndexr   setJointMotorControlMultiDofTORQUE_CONTROLstepSimulationsleep
useOrgDataopen
filestreamlinesplitcurrentline	lower_leggetJointStatejsdecodec     b/home/james-whalen/.local/lib/python3.13/site-packages/pybullet_envs/deep_mimic/env/testLaikago.py<module>r      sy    (  /    rvv6   -335 6	

<  Q3  h  %%	JaJJ-&$)	  +	
  ! !)Xx @	*+aIq!*<*<AF ,
 	zz)<9IJ   dB1 -	q~~d#	$A$1#5#5Q?aA.dA6 
% -19b!--QZ"I/   3  $82	qAadc 

 $$ZC=
	q~~i(	)A9aqC	
	1	%$1g)1g)1$$$	Q5E5E(EOOA 
*
 
q~~i(	)AIx{OA,>,J\Z[_,\] 
*  99; 
q~~i(	)Ay!$% 
* 

Bb
Ro "bNN9b)"-NN9b)"-z?L y)Q?K   82	qAadc 

 &&|QR@	q~~i(	)A9aqC	
	1	%$1g)1g)1$$$	Q5E5E(EOOA 
*   c     	113	&&(+KK
 	z  i113 4 $i&A&A&C D !7!7!9 : %y'C'C'E F2215""$	#	/002$$&)''95* *y(()!mI
i**
+%ai)9&&((Iu'777<LM- $$X.u5)((29=-IImYqI/)T%%j1( ''5*S:. Gy|m$eIaL&9%9%	!:MNGYq\"51#6uYq\7JER[\]R^L_`G%%iA2Y)AE*+		)HQK0BY0NQ]^_Q`0`a 
 Bi1q5)*yy'{ 11.q1I=QO%-	  /  Ah"9Q<023  Bi"9QU#34"1%(;;l1oMyy)  [k!YT!3?I,40@1B$(6I#5$&4)#3*2i)?(0  2T XWH&UOz$x.()u%%i&0232B2B,1 & 3 1}x ' x-!**Xy #	/| 
K))*5hJJsOk!ne
a.a1R fRy!&)$			 ( ! 2 2 / 2Y >a P&.	 	  	0  !) " jj+  0 
q~~i(	)A9aqC	
	1	%$y!$"1g)1g)1$$$	Q5E5E(EOO		 0 0 92q!#Aa!8OA<N N	PQ 
*    XaA((+I''
3HI$QK..+A.:\!_L"*	  ,	   	M s   B,j
j