https://github.com/Klimmasch/AEC
Raw File
Tip revision: 96e9ae2336937469a8f1602c178ea5e0cb8564b6 authored by Lukas Klimmasch on 13 August 2021, 14:16:04 UTC
Merge branch 'alternateRearing' of https://github.com/Klimmasch/AEC into alternateRearing
Tip revision: 96e9ae2
eye_model.osim
<?xml version="1.0" encoding="UTF-8" ?>
<OpenSimDocument Version="30000">
	<Model name="eye_model">
		<credits />
		<publications>Holzbaur, K.R.S., Murray, W.M., Delp, S.L. A Model of the Upper Extremity for Simulating Musculoskeletal Surgery and Analyzing Neuromuscular Control. Annals of Biomedical Engineering, vol 33, pp 829–840, 2005</publications>
		<length_units>meters</length_units>
		<force_units>N</force_units>
		<!--Acceleration due to gravity.-->
		<gravity> 0 -9.8066 0</gravity>
		<!--Bodies in the model.-->
		<BodySet>
			<objects>
				<Body name="ground">
					<mass>0</mass>
					<mass_center> 0 0 0</mass_center>
					<inertia_xx>0</inertia_xx>
					<inertia_yy>0</inertia_yy>
					<inertia_zz>0</inertia_zz>
					<inertia_xy>0</inertia_xy>
					<inertia_xz>0</inertia_xz>
					<inertia_yz>0</inertia_yz>
					<!--Joint that connects this body with the parent body.-->
					<Joint />
					<VisibleObject>
						<!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj-->
						<GeometrySet>
							<objects>
								<DisplayGeometry>
									<!--Name of geometry file .vtp, .stl, .obj-->
									<geometry_file>plane.vtp</geometry_file>
									<!--Color used to display the geometry when visible-->
									<color> 1 1 1</color>
									<!--Name of texture file .jpg, .bmp-->
									<texture_file />
									<!--in body transform specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz-->
									<transform> 0 -1.57079632679 3.14159265359 0 1.578 0</transform>
									<!--Three scale factors for display purposes: scaleX scaleY scaleZ-->
									<scale_factors> 1.4 1.4 1.4</scale_factors>
									<!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded-->
                                                                        <display_preference>4</display_preference>
									<!--Display opacity between 0.0 and 1.0-->
									<opacity>1</opacity>
								</DisplayGeometry>																								
							</objects>
							<groups />
						</GeometrySet>
						<!--Three scale factors for display purposes: scaleX scaleY scaleZ-->
						<scale_factors> 1 1 1</scale_factors>
						<!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz-->
						<transform> -0 0 -0 0.025 0 0</transform>
						<!--Whether to show a coordinate frame-->
						<show_axes>false</show_axes>
						<!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded Can be overriden for individual geometries-->
                                                <display_preference>4</display_preference>
					</VisibleObject>
					<WrapObjectSet>
						<objects>
							<WrapSphere name="Sphere_left">
								<!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded-->
								<display_preference>4</display_preference>
								<!--Display Color-->
								<color>0 1 1</color>
								<xyz_body_rotation> 0 0 0</xyz_body_rotation>
								<translation> 0 1.578 -0.028</translation>
								<active>true</active>
								<quadrant>all</quadrant>
								<VisibleObject>
									<!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj-->
									<GeometrySet>
										<objects />
										<groups />
									</GeometrySet>
									<!--Three scale factors for display purposes: scaleX scaleY scaleZ-->
									<scale_factors> 1 1 1</scale_factors>
									<!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz-->
									<transform> 0 0 0 0 1.578 -0.028</transform>
									<!--Whether to show a coordinate frame-->
									<show_axes>true</show_axes>
									<!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded Can be overriden for individual geometries-->
									<display_preference>4</display_preference>
								</VisibleObject>
								<radius>0.0119</radius>
							</WrapSphere>							
						</objects>
					</WrapObjectSet>
				</Body>
				<Body name="left_eye">
					<mass>0.0075</mass>
					<mass_center> 0 0 0</mass_center>
					<inertia_xx>4.32e-007</inertia_xx>
					<inertia_yy>4.32e-007</inertia_yy>
					<inertia_zz>4.32e-007</inertia_zz>
					<inertia_xy>0</inertia_xy>
					<inertia_xz>0</inertia_xz>
					<inertia_yz>0</inertia_yz>
					<!--Joint that connects this body with the parent body.-->
					<Joint>
						<FreeJoint name="left_eye">
							<!--Name of the parent body to which this joint connects its owner body.-->
							<parent_body>ground</parent_body>
							<!--Location of the joint in the parent body specified in the parent reference frame. Default is (0,0,0).-->
							<location_in_parent>0 1.578 -0.028</location_in_parent>
							<!--Orientation of the joint in the parent body specified in the parent reference frame. Euler XYZ body-fixed rotation angles are used to express the orientation. Default is (0,0,0).-->
							<orientation_in_parent>0 0 0</orientation_in_parent>
							<!--Location of the joint in the child body specified in the child reference frame. For SIMM models, this vector is always the zero vector (i.e., the body reference frame coincides with the joint). -->
							<location>0 0 0</location>
							<!--Orientation of the joint in the owing body specified in the owning body reference frame.  Euler XYZ body-fixed rotation angles are used to express the orientation. -->
							<orientation>0 0 0</orientation>
							<!--Set holding the generalized coordinates (q's) that parmeterize this joint.-->
							<CoordinateSet>
								<objects>
									<Coordinate name="left_xRotation">
										<!--Coordinate can describe rotational, translational, or coupled motion. Defaults to rotational.-->
										<motion_type>rotational</motion_type>
										<!--The value of this coordinate before any value has been set. Rotational coordinate value is in radians and Translational in meters.-->
										<default_value>0</default_value>
										<!--The speed value of this coordinate before any value has been set. Rotational coordinate value is in rad/s and Translational in m/s.-->
										<default_speed_value>0</default_speed_value>
										<!--The minimum and maximum values that the coordinate can range between. Rotational coordinate range in radians and Translational in meters.-->
										<range>-1.65806 1.65806</range>
										<!--Flag indicating whether or not the values of the coordinates should be limited to the range, above.-->
										<clamped>true</clamped>
										<!--Flag indicating whether or not the values of the coordinates should be constrained to the current (e.g. default) value, above.-->
										<locked>true</locked>
										<!--If specified, the coordinate can be prescribed by a function of time. It can be any OpenSim Function with valid second order derivatives.-->
										<prescribed_function />
										<!--Flag indicating whether or not the values of the coordinates should be prescribed according to the function above. It is ignored if the no prescribed function is specified.-->
										<prescribed>false</prescribed>
									</Coordinate>
									<Coordinate name="left_yRotation">
										<!--Coordinate can describe rotational, translational, or coupled motion. Defaults to rotational.-->
										<motion_type>rotational</motion_type>
										<!--The value of this coordinate before any value has been set. Rotational coordinate value is in radians and Translational in meters.-->
										<default_value>0</default_value>
										<!--The speed value of this coordinate before any value has been set. Rotational coordinate value is in rad/s and Translational in m/s.-->
										<default_speed_value>0</default_speed_value>
										<!--The minimum and maximum values that the coordinate can range between. Rotational coordinate range in radians and Translational in meters.-->
										<range>-1.0472 1.65806</range>
										<!--Flag indicating whether or not the values of the coordinates should be limited to the range, above.-->
										<clamped>true</clamped>
										<!--Flag indicating whether or not the values of the coordinates should be constrained to the current (e.g. default) value, above.-->
										<locked>false</locked>
										<!--If specified, the coordinate can be prescribed by a function of time. It can be any OpenSim Function with valid second order derivatives.-->
										<prescribed_function />
										<!--Flag indicating whether or not the values of the coordinates should be prescribed according to the function above. It is ignored if the no prescribed function is specified.-->
										<prescribed>false</prescribed>
									</Coordinate>
									<Coordinate name="left_zRotation">
										<!--Coordinate can describe rotational, translational, or coupled motion. Defaults to rotational.-->
										<motion_type>rotational</motion_type>
										<!--The value of this coordinate before any value has been set. Rotational coordinate value is in radians and Translational in meters.-->
										<default_value>0</default_value>
										<!--The speed value of this coordinate before any value has been set. Rotational coordinate value is in rad/s and Translational in m/s.-->
										<default_speed_value>0</default_speed_value>
										<!--The minimum and maximum values that the coordinate can range between. Rotational coordinate range in radians and Translational in meters.-->
										<range>-1.309 1.0472</range>
										<!--Flag indicating whether or not the values of the coordinates should be limited to the range, above.-->
										<clamped>true</clamped>
										<!--Flag indicating whether or not the values of the coordinates should be constrained to the current (e.g. default) value, above.-->
										<locked>true</locked>
										<!--If specified, the coordinate can be prescribed by a function of time. It can be any OpenSim Function with valid second order derivatives.-->
										<prescribed_function />
										<!--Flag indicating whether or not the values of the coordinates should be prescribed according to the function above. It is ignored if the no prescribed function is specified.-->
										<prescribed>false</prescribed>
									</Coordinate>
									<Coordinate name="left_xTranslation">
										<!--Coordinate can describe rotational, translational, or coupled motion. Defaults to rotational.-->
										<motion_type>translational</motion_type>
										<!--The value of this coordinate before any value has been set. Rotational coordinate value is in radians and Translational in meters.-->
										<default_value>0</default_value>
										<!--The speed value of this coordinate before any value has been set. Rotational coordinate value is in rad/s and Translational in m/s.-->
										<default_speed_value>0</default_speed_value>
										<!--The minimum and maximum values that the coordinate can range between. Rotational coordinate range in radians and Translational in meters.-->
										<range>-999999.9 999999.9</range>
										<!--Flag indicating whether or not the values of the coordinates should be limited to the range, above.-->
										<clamped>false</clamped>
										<!--Flag indicating whether or not the values of the coordinates should be constrained to the current (e.g. default) value, above.-->
										<locked>true</locked>
										<!--If specified, the coordinate can be prescribed by a function of time. It can be any OpenSim Function with valid second order derivatives.-->
										<prescribed_function />
										<!--Flag indicating whether or not the values of the coordinates should be prescribed according to the function above. It is ignored if the no prescribed function is specified.-->
										<prescribed>false</prescribed>
									</Coordinate>
									<Coordinate name="left_yTranslation">
										<!--Coordinate can describe rotational, translational, or coupled motion. Defaults to rotational.-->
										<motion_type>translational</motion_type>
										<!--The value of this coordinate before any value has been set. Rotational coordinate value is in radians and Translational in meters.-->
										<default_value>0</default_value>
										<!--The speed value of this coordinate before any value has been set. Rotational coordinate value is in rad/s and Translational in m/s.-->
										<default_speed_value>0</default_speed_value>
										<!--The minimum and maximum values that the coordinate can range between. Rotational coordinate range in radians and Translational in meters.-->
										<range>-999999.9 999999.9</range>
										<!--Flag indicating whether or not the values of the coordinates should be limited to the range, above.-->
										<clamped>false</clamped>
										<!--Flag indicating whether or not the values of the coordinates should be constrained to the current (e.g. default) value, above.-->
										<locked>true</locked>
										<!--If specified, the coordinate can be prescribed by a function of time. It can be any OpenSim Function with valid second order derivatives.-->
										<prescribed_function />
										<!--Flag indicating whether or not the values of the coordinates should be prescribed according to the function above. It is ignored if the no prescribed function is specified.-->
										<prescribed>false</prescribed>
									</Coordinate>
									<Coordinate name="left_zTranslation">
										<!--Coordinate can describe rotational, translational, or coupled motion. Defaults to rotational.-->
										<motion_type>translational</motion_type>
										<!--The value of this coordinate before any value has been set. Rotational coordinate value is in radians and Translational in meters.-->
										<default_value>0</default_value>
										<!--The speed value of this coordinate before any value has been set. Rotational coordinate value is in rad/s and Translational in m/s.-->
										<default_speed_value>0</default_speed_value>
										<!--The minimum and maximum values that the coordinate can range between. Rotational coordinate range in radians and Translational in meters.-->
										<range>-999999.9 999999.9</range>
										<!--Flag indicating whether or not the values of the coordinates should be limited to the range, above.-->
										<clamped>false</clamped>
										<!--Flag indicating whether or not the values of the coordinates should be constrained to the current (e.g. default) value, above.-->
										<locked>true</locked>
										<!--If specified, the coordinate can be prescribed by a function of time. It can be any OpenSim Function with valid second order derivatives.-->
										<prescribed_function />
										<!--Flag indicating whether or not the values of the coordinates should be prescribed according to the function above. It is ignored if the no prescribed function is specified.-->
										<prescribed>false</prescribed>
									</Coordinate>
								</objects>
								<groups />
							</CoordinateSet>
							<!--Whether the joint transform defines parent->child or child->parent.-->
							<reverse>false</reverse>
						</FreeJoint>
					</Joint>
					<VisibleObject>
						<!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj-->
						<GeometrySet>
							<objects>
								<DisplayGeometry>
									<!--Name of geometry file .vtp, .stl, .obj-->
									<geometry_file>eye_proper.obj</geometry_file>
									<!--Color used to display the geometry when visible-->
									<color> 1 1 1</color>
									<!--Name of texture file .jpg, .bmp-->
									<texture_file>eye-texture.jpg</texture_file>
									<!--in body transform specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz-->
									<transform> 0 1.57079 0 0 0 0</transform>
									<!--Three scale factors for display purposes: scaleX scaleY scaleZ-->
									<scale_factors> 0.0255 0.0255 0.0255</scale_factors>
									<!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded-->
									<display_preference>4</display_preference>
									<!--Display opacity between 0.0 and 1.0-->
									<opacity>1</opacity>
								</DisplayGeometry>
							</objects>
						</GeometrySet>
					</VisibleObject>
					<WrapObjectSet>
						<!--All properties of this object have their default values.-->
					</WrapObjectSet>
				</Body>				
			</objects>
			<groups />
		</BodySet>
		<!--Constraints in the model.-->
		<ConstraintSet>
			<objects />
			<groups />
		</ConstraintSet>
		<!--Forces in the model.-->
		<ForceSet>
			<objects>
				<Schutte1993Muscle_Deprecated name="lateral_rect_left">
					<!--The set of points defining the path of the muscle.-->
					<GeometryPath>
						<!--The set of points defining the path-->
						<PathPointSet>
							<objects>
								<PathPoint name="lrl_eye">
									<location> 0.007 0 -0.01</location>
									<body>left_eye</body>
								</PathPoint>
								<PathPoint name="lateral_rect_left-P2">
									<location> -0.008 1.5777 -0.04</location>
									<body>ground</body>
								</PathPoint>
								<PathPoint name="lrl_ground">
									<location> -0.034 1.577 -0.015</location>
									<body>ground</body>
								</PathPoint>
							</objects>
							<groups />
						</PathPointSet>
						<!--The wrap objecs that are associated with this path-->
						<PathWrapSet>
							<objects>
								<PathWrap>
									<wrap_object>Sphere_left</wrap_object>
									<method>hybrid</method>
									<range> -1 -1</range>
								</PathWrap>
							</objects>
							<groups />
						</PathWrapSet>
						<!--Used to display the path in the 3D window-->
						<VisibleObject name="display">
							<!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj-->
							<GeometrySet>
								<objects />
								<groups />
							</GeometrySet>
							<!--Three scale factors for display purposes: scaleX scaleY scaleZ-->
							<scale_factors> 1 1 1</scale_factors>
							<!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz-->
							<transform> -0 0 -0 0 0 0</transform>
							<!--Whether to show a coordinate frame-->
							<show_axes>false</show_axes>
							<!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded Can be overriden for individual geometries-->
							<display_preference>4</display_preference>
						</VisibleObject>
					</GeometryPath>
					<!--Maximum isometric force that the fibers can generate-->
					<max_isometric_force>100.48</max_isometric_force>
					<!--Optimal length of the muscle fibers-->
					<optimal_fiber_length>0.0375</optimal_fiber_length>
					<!--Resting length of the tendon-->
					<tendon_slack_length>0.00771</tendon_slack_length>
				</Schutte1993Muscle_Deprecated>
				<Schutte1993Muscle_Deprecated name="medial_rect_left">
					<!--The set of points defining the path of the muscle.-->
					<GeometryPath>
						<!--The set of points defining the path-->
						<PathPointSet>
							<objects>
								<PathPoint name="mrl_eye">
									<location> 0.009 0 0.009</location>
									<body>left_eye</body>
								</PathPoint>
								<PathPoint name="medial_rect_left-P2">
									<location> -0.005 1.578 -0.014</location>
									<body>ground</body>
								</PathPoint>
								<PathPoint name="mrl_ground">
									<location> -0.03 1.579 -0.011</location>
									<body>ground</body>
								</PathPoint>
							</objects>
							<groups />
						</PathPointSet>
						<!--The wrap objecs that are associated with this path-->
						<PathWrapSet>
							<objects>
								<PathWrap>
									<wrap_object>Sphere_left</wrap_object>
									<method>hybrid</method>
									<range> -1 -1</range>
								</PathWrap>
							</objects>
							<groups />
						</PathWrapSet>
						<!--Used to display the path in the 3D window-->
						<VisibleObject name="display">
							<!--Set of geometry files and associated attributes, allow .vtp, .stl, .obj-->
							<GeometrySet>
								<objects />
								<groups />
							</GeometrySet>
							<!--Three scale factors for display purposes: scaleX scaleY scaleZ-->
							<scale_factors> 1 1 1</scale_factors>
							<!--transform relative to owner specified as 3 rotations (rad) followed by 3 translations rX rY rZ tx ty tz-->
							<transform> -0 0 -0 0 0 0</transform>
							<!--Whether to show a coordinate frame-->
							<show_axes>false</show_axes>
							<!--Display Pref. 0:Hide 1:Wire 3:Flat 4:Shaded Can be overriden for individual geometries-->
							<display_preference>4</display_preference>
						</VisibleObject>
					</GeometryPath>
					<!--Maximum isometric force that the fibers can generate-->
					<max_isometric_force>100.48</max_isometric_force>
					<!--Optimal length of the muscle fibers-->
					<optimal_fiber_length>0.03192</optimal_fiber_length>
					<!--Resting length of the tendon-->
					<tendon_slack_length>0.00491</tendon_slack_length>
				</Schutte1993Muscle_Deprecated>				
			</objects>
			<groups />
		</ForceSet>
		<!--Markers in the model.-->
		<MarkerSet>
			<objects />
			<groups />
		</MarkerSet>
		<!--ContactGeometries  in the model.-->
		<ContactGeometrySet>
			<objects />
			<groups />
		</ContactGeometrySet>
		<!--Controllers in the model.-->
		<ControllerSet name="Controllers">
			<objects />
			<groups />
		</ControllerSet>
		<!--Additional components in the model.-->
		<ComponentSet name="MiscComponents">
			<objects />
			<groups />
		</ComponentSet>
		<!--Probes in the model.-->
		<ProbeSet>
			<objects />
			<groups />
		</ProbeSet>
	</Model>
</OpenSimDocument>
back to top