<?xml version="1.0" encoding="UTF-8" ?>
<OpenSimDocument Version="40600">
	<Model name="model">
		<!--The model's ground reference frame.-->
		<Ground name="ground">
			<!--The geometry used to display the axes of this Frame.-->
			<FrameGeometry name="frame_geometry">
				<!--Path to a Component that satisfies the Socket 'frame' of type Frame.-->
				<socket_frame>..</socket_frame>
				<!--Scale factors in X, Y, Z directions respectively.-->
				<scale_factors>0.20000000000000001 0.20000000000000001 0.20000000000000001</scale_factors>
			</FrameGeometry>
		</Ground>
		<!--List of bodies that make up this model.-->
		<BodySet name="bodyset">
			<objects>
				<Body name="top">
					<!--The geometry used to display the axes of this Frame.-->
					<FrameGeometry name="frame_geometry">
						<!--Path to a Component that satisfies the Socket 'frame' of type Frame.-->
						<socket_frame>..</socket_frame>
						<!--Scale factors in X, Y, Z directions respectively.-->
						<scale_factors>0.20000000000000001 0.20000000000000001 0.20000000000000001</scale_factors>
					</FrameGeometry>
					<!--List of geometry attached to this Frame. Note, the geometry are treated as fixed to the frame and they share the transform of the frame when visualized-->
					<attached_geometry>
						<Brick name="top_geom_1">
							<!--Path to a Component that satisfies the Socket 'frame' of type Frame.-->
							<socket_frame>..</socket_frame>
							<!--Half lengths in X, Y, Z respectively.-->
							<half_lengths>0.20000000298023224 0.0099999997764825821 0.20000000298023224</half_lengths>
						</Brick>
					</attached_geometry>
					<!--The mass of the body (kg)-->
					<mass>1</mass>
					<!--The location (Vec3) of the mass center in the body frame.-->
					<mass_center>0 0 0</mass_center>
					<!--The elements of the inertia tensor (Vec6) as [Ixx Iyy Izz Ixy Ixz Iyz] measured about the mass_center and not the body origin.-->
					<inertia>1 1 1 0 0 0</inertia>
				</Body>
				<Body name="bottom">
					<!--The geometry used to display the axes of this Frame.-->
					<FrameGeometry name="frame_geometry">
						<!--Path to a Component that satisfies the Socket 'frame' of type Frame.-->
						<socket_frame>..</socket_frame>
						<!--Scale factors in X, Y, Z directions respectively.-->
						<scale_factors>0.20000000000000001 0.20000000000000001 0.20000000000000001</scale_factors>
					</FrameGeometry>
					<!--List of geometry attached to this Frame. Note, the geometry are treated as fixed to the frame and they share the transform of the frame when visualized-->
					<attached_geometry>
						<Brick name="bottom_geom_1">
							<!--Path to a Component that satisfies the Socket 'frame' of type Frame.-->
							<socket_frame>..</socket_frame>
							<!--Half lengths in X, Y, Z respectively.-->
							<half_lengths>0.20000000298023224 0.0099999997764825821 0.20000000298023224</half_lengths>
						</Brick>
					</attached_geometry>
					<!--The mass of the body (kg)-->
					<mass>1</mass>
					<!--The location (Vec3) of the mass center in the body frame.-->
					<mass_center>0 0 0</mass_center>
					<!--The elements of the inertia tensor (Vec6) as [Ixx Iyy Izz Ixy Ixz Iyz] measured about the mass_center and not the body origin.-->
					<inertia>1 1 1 0 0 0</inertia>
				</Body>
			</objects>
			<groups />
		</BodySet>
		<!--List of joints that connect the bodies.-->
		<JointSet name="jointset">
			<objects>
				<WeldJoint name="top_to_ground">
					<!--Path to a Component that satisfies the Socket 'parent_frame' of type PhysicalFrame (description: The parent frame for the joint.).-->
					<socket_parent_frame>ground_offset</socket_parent_frame>
					<!--Path to a Component that satisfies the Socket 'child_frame' of type PhysicalFrame (description: The child frame for the joint.).-->
					<socket_child_frame>top_offset</socket_child_frame>
					<!--Physical offset frames owned by the Joint that are typically used to satisfy the owning Joint's parent and child frame connections (sockets). PhysicalOffsetFrames are often used to describe the fixed transformation from a Body's origin to another location of interest on the Body (e.g., the joint center). When the joint is deleted, so are the PhysicalOffsetFrame components in this list.-->
					<frames>
						<PhysicalOffsetFrame name="ground_offset">
							<!--The geometry used to display the axes of this Frame.-->
							<FrameGeometry name="frame_geometry">
								<!--Path to a Component that satisfies the Socket 'frame' of type Frame.-->
								<socket_frame>..</socket_frame>
								<!--Scale factors in X, Y, Z directions respectively.-->
								<scale_factors>0.20000000000000001 0.20000000000000001 0.20000000000000001</scale_factors>
							</FrameGeometry>
							<!--Path to a Component that satisfies the Socket 'parent' of type C (description: The parent frame to this frame.).-->
							<socket_parent>/ground</socket_parent>
							<!--Translational offset (in meters) of this frame's origin from the parent frame's origin, expressed in the parent frame.-->
							<translation>0 1 0</translation>
							<!--Orientation offset (in radians) of this frame in its parent frame, expressed as a frame-fixed x-y-z rotation sequence.-->
							<orientation>-0 0 -0</orientation>
						</PhysicalOffsetFrame>
						<PhysicalOffsetFrame name="top_offset">
							<!--The geometry used to display the axes of this Frame.-->
							<FrameGeometry name="frame_geometry">
								<!--Path to a Component that satisfies the Socket 'frame' of type Frame.-->
								<socket_frame>..</socket_frame>
								<!--Scale factors in X, Y, Z directions respectively.-->
								<scale_factors>0.20000000000000001 0.20000000000000001 0.20000000000000001</scale_factors>
							</FrameGeometry>
							<!--Path to a Component that satisfies the Socket 'parent' of type C (description: The parent frame to this frame.).-->
							<socket_parent>/bodyset/top</socket_parent>
						</PhysicalOffsetFrame>
					</frames>
				</WeldJoint>
				<WeldJoint name="botto_to_ground">
					<!--Path to a Component that satisfies the Socket 'parent_frame' of type PhysicalFrame (description: The parent frame for the joint.).-->
					<socket_parent_frame>ground_offset</socket_parent_frame>
					<!--Path to a Component that satisfies the Socket 'child_frame' of type PhysicalFrame (description: The child frame for the joint.).-->
					<socket_child_frame>bottom_offset</socket_child_frame>
					<!--Physical offset frames owned by the Joint that are typically used to satisfy the owning Joint's parent and child frame connections (sockets). PhysicalOffsetFrames are often used to describe the fixed transformation from a Body's origin to another location of interest on the Body (e.g., the joint center). When the joint is deleted, so are the PhysicalOffsetFrame components in this list.-->
					<frames>
						<PhysicalOffsetFrame name="ground_offset">
							<!--The geometry used to display the axes of this Frame.-->
							<FrameGeometry name="frame_geometry">
								<!--Path to a Component that satisfies the Socket 'frame' of type Frame.-->
								<socket_frame>..</socket_frame>
								<!--Scale factors in X, Y, Z directions respectively.-->
								<scale_factors>0.20000000000000001 0.20000000000000001 0.20000000000000001</scale_factors>
							</FrameGeometry>
							<!--Path to a Component that satisfies the Socket 'parent' of type C (description: The parent frame to this frame.).-->
							<socket_parent>/ground</socket_parent>
						</PhysicalOffsetFrame>
						<PhysicalOffsetFrame name="bottom_offset">
							<!--The geometry used to display the axes of this Frame.-->
							<FrameGeometry name="frame_geometry">
								<!--Path to a Component that satisfies the Socket 'frame' of type Frame.-->
								<socket_frame>..</socket_frame>
								<!--Scale factors in X, Y, Z directions respectively.-->
								<scale_factors>0.20000000000000001 0.20000000000000001 0.20000000000000001</scale_factors>
							</FrameGeometry>
							<!--Path to a Component that satisfies the Socket 'parent' of type C (description: The parent frame to this frame.).-->
							<socket_parent>/bodyset/bottom</socket_parent>
						</PhysicalOffsetFrame>
					</frames>
				</WeldJoint>
			</objects>
			<groups />
		</JointSet>
		<!--Controllers that provide the control inputs for Actuators.-->
		<ControllerSet name="controllerset">
			<objects />
			<groups />
		</ControllerSet>
		<!--Forces in the model (includes Actuators).-->
		<ForceSet name="forceset">
			<objects>
				<Millard2012EquilibriumMuscle name="scholz_muscle">
					<!--Minimum allowed value for control signal. Used primarily when solving for control values.-->
					<min_control>0.01</min_control>
					<!--Maximum allowed value for control signal. Used primarily when solving for control values.-->
					<max_control>1</max_control>
					<!--The path of the actuator which defines length and lengthening speed.-->
					<Scholz2015GeometryPath name="path">
						<!--Default appearance attributes for this AbstractGeometryPath.-->
						<Appearance>
							<!--The color, (red, green, blue), [0, 1], used to display the geometry. -->
							<color>0.80000000000000004 0.10000000000000001 0.10000000000000001</color>
						</Appearance>
						<!--The list of elements (path points or obstacles) defining the path.-->
						<path_elements>
							<Scholz2015GeometryPathPoint name="scholz_muscle-P1">
								<!--A point fixed to a PhysicalFrame that the path must pass through.-->
								<PathPoint name="pathpoint">
									<!--Path to a Component that satisfies the Socket 'parent_frame' of type PhysicalFrame (description: The frame in which this path point is defined.).-->
									<socket_parent_frame>/bodyset/top</socket_parent_frame>
									<!--The fixed location of the path point expressed in its parent frame.-->
									<location>0 0 0</location>
								</PathPoint>
							</Scholz2015GeometryPathPoint>
							<Scholz2015GeometryPathObstacle name="scholz2015geometrypathobstacle">
								<!--Path to a Component that satisfies the Socket 'contact_geometry' of type ContactGeometry (description: The contact geometry representing the obstacle.).-->
								<socket_contact_geometry>/contactgeometryset/cylinder1</socket_contact_geometry>
								<!--The contact hint for the obstacle.-->
								<contact_hint>0.10125963389873505 0 0</contact_hint>
							</Scholz2015GeometryPathObstacle>
							<Scholz2015GeometryPathObstacle name="scholz2015geometrypathobstacle_0">
								<!--Path to a Component that satisfies the Socket 'contact_geometry' of type ContactGeometry (description: The contact geometry representing the obstacle.).-->
								<socket_contact_geometry>/contactgeometryset/ellipsoid1</socket_contact_geometry>
								<!--The contact hint for the obstacle.-->
								<contact_hint>-0.068739306334666406 0.011541354656219471 -0.1699626240821912</contact_hint>
							</Scholz2015GeometryPathObstacle>
							<Scholz2015GeometryPathObstacle name="scholz2015geometrypathobstacle_1">
								<!--Path to a Component that satisfies the Socket 'contact_geometry' of type ContactGeometry (description: The contact geometry representing the obstacle.).-->
								<socket_contact_geometry>/contactgeometryset/ellipsoid2</socket_contact_geometry>
								<!--The contact hint for the obstacle.-->
								<contact_hint>0.099055499734862162 0 0.15617597947794615</contact_hint>
							</Scholz2015GeometryPathObstacle>
							<Scholz2015GeometryPathObstacle name="scholz2015geometrypathobstacle_1_0">
								<!--Path to a Component that satisfies the Socket 'contact_geometry' of type ContactGeometry (description: The contact geometry representing the obstacle.).-->
								<socket_contact_geometry>/contactgeometryset/torus1</socket_contact_geometry>
								<!--The contact hint for the obstacle.-->
								<contact_hint>0.04272334550790724 0.010000000142542787 0.054606570876131327</contact_hint>
							</Scholz2015GeometryPathObstacle>
							<Scholz2015GeometryPathObstacle name="scholz2015geometrypathobstacle_1_0_0">
								<!--Path to a Component that satisfies the Socket 'contact_geometry' of type ContactGeometry (description: The contact geometry representing the obstacle.).-->
								<socket_contact_geometry>/contactgeometryset/torus2</socket_contact_geometry>
								<!--The contact hint for the obstacle.-->
								<contact_hint>0.14162606013463758 0.057788035689856354 0.0098957505729592166</contact_hint>
							</Scholz2015GeometryPathObstacle>
							<Scholz2015GeometryPathObstacle name="scholz2015geometrypathobstacle_1_0_0_0">
								<!--Path to a Component that satisfies the Socket 'contact_geometry' of type ContactGeometry (description: The contact geometry representing the obstacle.).-->
								<socket_contact_geometry>/contactgeometryset/sphere1</socket_contact_geometry>
								<!--The contact hint for the obstacle.-->
								<contact_hint>-0.08162884265184403 0.041571608185768133 -0.07021468728780747</contact_hint>
							</Scholz2015GeometryPathObstacle>
							<Scholz2015GeometryPathPoint name="scholz_muscle-P2">
								<!--A point fixed to a PhysicalFrame that the path must pass through.-->
								<PathPoint name="pathpoint">
									<!--Path to a Component that satisfies the Socket 'parent_frame' of type PhysicalFrame (description: The frame in which this path point is defined.).-->
									<socket_parent_frame>/bodyset/bottom</socket_parent_frame>
									<!--The fixed location of the path point expressed in its parent frame.-->
									<location>0 0 0</location>
								</PathPoint>
							</Scholz2015GeometryPathPoint>
						</path_elements>
					</Scholz2015GeometryPath>
					<!--Active-force-length curve.-->
					<ActiveForceLengthCurve name="scholz_muscle_ActiveForceLengthCurve">
						<!--Minimum value of the active-force-length curve-->
						<minimum_value>0</minimum_value>
					</ActiveForceLengthCurve>
					<!--Force-velocity curve.-->
					<ForceVelocityCurve name="scholz_muscle_ForceVelocityCurve">
						<!--Curve slope at the maximum normalized concentric (shortening) velocity (normalized velocity of -1)-->
						<concentric_slope_at_vmax>0</concentric_slope_at_vmax>
						<!--Curve slope just before reaching concentric_slope_at_vmax-->
						<concentric_slope_near_vmax>0.25</concentric_slope_near_vmax>
						<!--Curve slope at isometric (normalized velocity of 0)-->
						<isometric_slope>5</isometric_slope>
						<!--Curve slope at the maximum normalized eccentric (lengthening) velocity (normalized velocity of 1)-->
						<eccentric_slope_at_vmax>0</eccentric_slope_at_vmax>
						<!--Curve slope just before reaching eccentric_slope_at_vmax-->
						<eccentric_slope_near_vmax>0.14999999999999999</eccentric_slope_near_vmax>
						<!--Curve value at the maximum normalized eccentric contraction velocity-->
						<max_eccentric_velocity_force_multiplier>1.3999999999999999</max_eccentric_velocity_force_multiplier>
					</ForceVelocityCurve>
					<!--Passive-force-length curve.-->
					<FiberForceLengthCurve name="scholz_muscle_FiberForceLengthCurve">
						<!--All properties of this object have their default values.-->
					</FiberForceLengthCurve>
					<!--Tendon-force-length curve.-->
					<TendonForceLengthCurve name="scholz_muscle_TendonForceLengthCurve">
						<!--All properties of this object have their default values.-->
					</TendonForceLengthCurve>
				</Millard2012EquilibriumMuscle>
			</objects>
			<groups />
		</ForceSet>
		<!--Geometry to be used in contact forces.-->
		<ContactGeometrySet name="contactgeometryset">
			<objects>
				<ContactCylinder name="cylinder1">
					<!--Path to a Component that satisfies the Socket 'frame' of type PhysicalFrame (description: The frame to which this contact geometry is attached.).-->
					<socket_frame>/bodyset/top</socket_frame>
					<!--The location of the contact geometry center in the PhysicalFrame.-->
					<location>0.20000000298023224 -0.20000000298023224 0</location>
					<!--The orientation of the contact geometry in the PhysicalFrame in body-fixed XYZ Euler angles.-->
					<orientation>-0 0 -0</orientation>
					<!--The default appearance for this Geometry-->
					<Appearance>
						<!--The color, (red, green, blue), [0, 1], used to display the geometry. -->
						<color>0 1 1</color>
						<!--Visuals applied to surfaces associated with this Appearance.-->
						<SurfaceProperties>
							<!--The representation (1:Points, 2:Wire, 3:Shaded) used to display the object.-->
							<representation>-1</representation>
						</SurfaceProperties>
					</Appearance>
					<!--Radius of the cylinder (default: 0).-->
					<radius>0.10000000149011612</radius>
				</ContactCylinder>
				<ContactEllipsoid name="ellipsoid1">
					<!--Path to a Component that satisfies the Socket 'frame' of type PhysicalFrame (description: The frame to which this contact geometry is attached.).-->
					<socket_frame>/bodyset/top</socket_frame>
					<!--The location of the contact geometry center in the PhysicalFrame.-->
					<location>-0.21471759676933289 -0.21643924713134766 0</location>
					<!--The orientation of the contact geometry in the PhysicalFrame in body-fixed XYZ Euler angles.-->
					<orientation>-0 0.78539812564849854 -0</orientation>
					<!--The default appearance for this Geometry-->
					<Appearance>
						<!--The color, (red, green, blue), [0, 1], used to display the geometry. -->
						<color>0 1 1</color>
						<!--Visuals applied to surfaces associated with this Appearance.-->
						<SurfaceProperties>
							<!--The representation (1:Points, 2:Wire, 3:Shaded) used to display the object.-->
							<representation>3</representation>
						</SurfaceProperties>
					</Appearance>
					<!--Radii of the ellipsoid (default: [0, 0, 0]).-->
					<radii>0.10000000149011612 0.10000000149011612 0.20000000298023224</radii>
				</ContactEllipsoid>
				<ContactEllipsoid name="ellipsoid2">
					<!--Path to a Component that satisfies the Socket 'frame' of type PhysicalFrame (description: The frame to which this contact geometry is attached.).-->
					<socket_frame>/bodyset/top</socket_frame>
					<!--The location of the contact geometry center in the PhysicalFrame.-->
					<location>0.20000000298023224 -0.46997839212417603 0</location>
					<!--The orientation of the contact geometry in the PhysicalFrame in body-fixed XYZ Euler angles.-->
					<orientation>-0 0.78539812564849854 -0</orientation>
					<!--The default appearance for this Geometry-->
					<Appearance>
						<!--The color, (red, green, blue), [0, 1], used to display the geometry. -->
						<color>0 1 1</color>
						<!--Visuals applied to surfaces associated with this Appearance.-->
						<SurfaceProperties>
							<!--The representation (1:Points, 2:Wire, 3:Shaded) used to display the object.-->
							<representation>3</representation>
						</SurfaceProperties>
					</Appearance>
					<!--Radii of the ellipsoid (default: [0, 0, 0]).-->
					<radii>0.10000000149011612 0.10000000149011612 0.20000000298023224</radii>
				</ContactEllipsoid>
				<ContactTorus name="torus1">
					<!--Path to a Component that satisfies the Socket 'frame' of type PhysicalFrame (description: The frame to which this contact geometry is attached.).-->
					<socket_frame>/bodyset/top</socket_frame>
					<!--The location of the contact geometry center in the PhysicalFrame.-->
					<location>-0.20456393827349029 -0.55274664623932246 -4.3025294324580389e-11</location>
					<!--The orientation of the contact geometry in the PhysicalFrame in body-fixed XYZ Euler angles.-->
					<orientation>1.5707962512969971 -0.78539812564849854 -0</orientation>
					<!--The default appearance for this Geometry-->
					<Appearance>
						<!--The color, (red, green, blue), [0, 1], used to display the geometry. -->
						<color>0 1 1</color>
						<!--Visuals applied to surfaces associated with this Appearance.-->
						<SurfaceProperties>
							<!--The representation (1:Points, 2:Wire, 3:Shaded) used to display the object.-->
							<representation>3</representation>
						</SurfaceProperties>
					</Appearance>
					<!--The radius of the circular centerline of the torus, measure from the origin (default: 0).-->
					<torus_radius>0.10000000149011612</torus_radius>
					<!--The radius of the torus cross-section: perpendicular distance from the circular centerline to the surface (default: 0).-->
					<tube_radius>0.05000000074505806</tube_radius>
				</ContactTorus>
				<ContactTorus name="torus2">
					<!--Path to a Component that satisfies the Socket 'frame' of type PhysicalFrame (description: The frame to which this contact geometry is attached.).-->
					<socket_frame>/bodyset/top</socket_frame>
					<!--The location of the contact geometry center in the PhysicalFrame.-->
					<location>0.17912224387593845 -0.6799125021663025 0.19097314923341546</location>
					<!--The orientation of the contact geometry in the PhysicalFrame in body-fixed XYZ Euler angles.-->
					<orientation>1.7095518112182617 0.63385409116744995 -0.034555986523628235</orientation>
					<!--The default appearance for this Geometry-->
					<Appearance>
						<!--The color, (red, green, blue), [0, 1], used to display the geometry. -->
						<color>0 1 1</color>
						<!--Visuals applied to surfaces associated with this Appearance.-->
						<SurfaceProperties>
							<!--The representation (1:Points, 2:Wire, 3:Shaded) used to display the object.-->
							<representation>3</representation>
						</SurfaceProperties>
					</Appearance>
					<!--The radius of the circular centerline of the torus, measure from the origin (default: 0).-->
					<torus_radius>0.10000000149011612</torus_radius>
					<!--The radius of the torus cross-section: perpendicular distance from the circular centerline to the surface (default: 0).-->
					<tube_radius>0.05000000074505806</tube_radius>
				</ContactTorus>
				<ContactSphere name="sphere1">
					<!--Path to a Component that satisfies the Socket 'frame' of type PhysicalFrame (description: The frame to which this contact geometry is attached.).-->
					<socket_frame>/bodyset/top</socket_frame>
					<!--The location of the contact geometry center in the PhysicalFrame.-->
					<location>0 -0.8836202472448349 0</location>
					<!--The orientation of the contact geometry in the PhysicalFrame in body-fixed XYZ Euler angles.-->
					<orientation>-0 0 -0</orientation>
					<!--The default appearance for this Geometry-->
					<Appearance>
						<!--The color, (red, green, blue), [0, 1], used to display the geometry. -->
						<color>0 1 1</color>
						<!--Visuals applied to surfaces associated with this Appearance.-->
						<SurfaceProperties>
							<!--The representation (1:Points, 2:Wire, 3:Shaded) used to display the object.-->
							<representation>3</representation>
						</SurfaceProperties>
					</Appearance>
					<!--Radius of the sphere (default: 0).-->
					<radius>0.10000000149011612</radius>
				</ContactSphere>
			</objects>
			<groups />
		</ContactGeometrySet>
		<!--Visual preferences for this model.-->
		<ModelVisualPreferences name="modelvisualpreferences">
			<!--Model display preferences-->
			<ModelDisplayHints>
				<!--Flag to indicate whether or not to show frames, default to false.-->
				<show_frames>true</show_frames>
			</ModelDisplayHints>
		</ModelVisualPreferences>
	</Model>
</OpenSimDocument>
