Specifications

209
2. The foot will be connected to the pedal by a spherical joint having 3 constraints. This leaves us with
4 more constraints to specify.
3. The ankle angle will be presumed fixed by two constraints. This leaves 2 DOFs to be constrained.
4. The lateral position of the knee will be specified by a driver. This leaves a single degree of freedom
in the system.
5. Finally, we are going to drive the pedal angle. With the aforementioned constraints this will allow us
to specify the posture of the entire system by this single driver.
1. Fixing the pelvis to the global reference frame
We previously joined the pedal to the origin of the global reference frame. This means that the 'seat' to
which we shall fix the pelvis must be displaced a suitable distance from the origin. In the Environment.any
file, add the following to the definition of the GlobalReferenceFrame:
AnyFixedRefFrame GlobalRef = {
AnyRefNode Hpoint = {
sRel = {-0.7, 0.5, 0};
};
}; // Global reference frame
The name Hpoint is a term used in the seating industry to characterize the position of the pelvis in a seat.
Here we shall simply attach the pelvis to this point by means of a rigid connection.
All such specifications are traditionally put into a folder called ModelEnvironmentConnection, and for
historical reasons it is placed in an include file called JointsAndDrivers.any. Hit the 'New Include' button
on the toolbar. It brings up an empty window where we can define the objects we need.:
// This file contains the connections between the model
// and the environment along with the motion drivers
AnyFolder Joints = {
AnyStdJoint SeatPelvis = {
AnyRefNode &Seat = ;
AnySeg &Pelvis = ;
};
};
The local pointer variables &Seat and &Pelvis need something to point to. The best way of locating the
necessary points is to use the object tree at the left hand side of the editor window. Place your cursor in the
editor window on the &Seat line just before the final semicolon. Then expand the three in the left hand side
of the window through MyPedal, EnvironmentModel, GlobalRef to find the Hpoint that we defined previously.
Right-click Hpoint and choose 'Insert Object Name'. The full name of the Hpoint is inserted at the position of
the cursor.
We must repeat the procedure for the Pelvis. Place the cursor on the &Pelvis line just before the semicolon
and subsequently expand the object tree through MyPedal, HumanModel, Trunk, SegmentsLumbar. Inside
the lumbar segments folder you will find the PelvisSeg. Right-click and insert the object name. You should
now have the following:
AnyFolder Joints = {
AnyStdJoint SeatPelvis = {