
    nit                     T   S SK rS SKrS SKrS SKr\R
                  " \R                  5        \R                  " \R                  " 5       5        \R                  " 5         \R                  " SSS/ SQ5        \R                  " \R                  S 5        Sr\R                  " \R                  \S9r\R                  " \R"                  SS	9rS
rSrSrSr\R                  " \R.                  \\\/S9rSrSrS r\" \5       H  r\R<                  " S \\S S/S9  \S-
  rM     \" \5       H.  rS r\S-  (       a  Sr\R<                  " S \\S S\-   /S9  \S-
  rM0     \R@                  " \RB                  S-  S \RB                  S-  /5      r"\" \5       HH  r\R<                  " S \\S S/S9  \S-
  r\S-  (       d  M)  \R<                  " S \\\S-  S\-   \-   /\"S9  MJ     \" \5       HR  r\R<                  " S \\S S/S9  Sr#\" \#5       H'  r$\R<                  " S \\S
\S-  -  \$-   \#S-  -
  S /S9  M)     \S-
  rMT     S/r%\/r&S/r'/ SQ/r(/ SQ/r)/ SQ/r*/ SQ/r+S /r,\RZ                  /r./ SQ/r// SQr"\" \5       H  r\R<                  " S \S\S S/\"\%\&\'\(\)\*\+\,\.\/S9r0\Rb                  " \0SSSSS9  \2" \Rf                  " \05      5        \" \Rf                  " \05      5       H/  r4Sr5\S-  (       a  S r5\Rl                  " \0\4\Rn                  \5S!S"9  M1     \S#-
  rM     \R                  " \R                  S5         \Rp                  " 5       r9\9S   r:\9S   r;\Rx                  " S$S$\:\;\Rz                  S%9  \R|                  " 5       r?\R                  " 5         \R                  " S&5        Mo  )'    N   ii)ir      g?)radiusz	stone.obj)fileNameg      ?g      @g?   )halfExtentsr   g)baseMassbaseCollisionShapeIndexbasePosition   g       @   )r
   r   r   baseOrientation   )r   r   r   )r   r   r   r   )r   r   r   )

linkMasseslinkCollisionShapeIndiceslinkVisualShapeIndiceslinkPositionslinkOrientationslinkInertialFramePositionslinkInertialFrameOrientationslinkParentIndiceslinkJointTypeslinkJointAxisgMbP?g        )spinningFrictionrollingFrictionlinearDamping
   id   )targetVelocityforceg?   )
viewMatrixprojectionMatrixrendererg{Gz?)Bpybulletptimemathpybullet_dataconnectGUIsetAdditionalSearchPathgetDataPathresetSimulationresetDebugVisualizerCameraconfigureDebugVisualizerCOV_ENABLE_RENDERINGsphereRadiuscreateCollisionShapeGEOM_SPHEREcolSphereId	GEOM_MESHstoneIdboxHalfLengthboxHalfWidthboxHalfHeightsegmentLengthGEOM_BOXcolBoxIdmassvisualShapeIdsegmentStartrangeicreateMultiBodyheightgetQuaternionFromEulerpir   widthjlink_Massesr   r   r   r   r   r   indicesJOINT_REVOLUTE
jointTypesaxisboxIdchangeDynamicsprintgetNumJointsjointr    setJointMotorControl2VELOCITY_CONTROLgetDebugVisualizerCameracamDataviewMatprojMatgetCameraImageER_BULLET_HARDWARE_OPENGLgetKeyboardEventskeysstepSimulationsleep     `/home/james-whalen/.local/lib/python3.13/site-packages/pybullet_examples/createObstacleCourse.py<module>rc      sA       		!%%    -335 6       RsK 8   1111 5$$Q]]<H
 
 
 {
C!!!**/<lM.Z\ 		}	AQ,4".4!8: !,	 
 
}	A&!eFQ,4".4&=!AC !, 
 **DGGbL!TWWr\+JK	}	AQ,4".4!8: !,!eeq.6$0!a%9U#V&57 
 
}	AQ,4".4!8: %<aq.5$0#Q-!2Cebj2PRS#TV  !, 
 c%J   > '[ !- #
{	}	A


A'q$ 7+'26O3I*7-=7Q:W.5+5*.0% 5"ue[^_uQ^^E*+eN	AnE!..+9"%	'	 , #,5 
8   1111 5&&('AJ'AJ'3%$+77	9
 
			$**T 	ra   