[0001] The present invention relates to the field of devices where physical training is
performed in interaction between a person and a motorized winch connected through
a cable, wire or similar pliable element. The person can pull the cable directly by
grabbing it, or by connection through one or more handles, straps, levers or similar
mechanical elements suitable for connecting a persons body, limbs or body parts to
a cable. The winch is constructed to pull the cable in such a way, that the physical
training emerges as the interaction between the pull and motion of the person and
the winch, in such a way that the interaction may be more complex than simple repetitions
of the same motion.
[0002] The invention can be applied for physical training or rehabilitation based on exercises
that can be manifested through direct or indirect cable pulling, where more complex
motion patterns than simple repetitions are required.
[0003] Simple repetitions is currently the norm for training in various cable based training
machines, regardless if the cable pull is supplied by passive mechanical elements
such as weights, springs, friction or pneumatic cylinders or by motorized cable pulling,
as motorized training machines are currently employed to increase accuracy or to adapt
cable force to the users physical abilities.
[0004] Computer monitored cable pulling training devices with integral sensors, are in common
use, either to keep a record of the persons efforts, to provide real-time or delayed
"bio feedback", or both. Both usages can encompass information on status or progress
of the training. Record keeping and biofeedback does not change the monotonous repetitive
nature of the motion itself.
[0005] Motorized training devices have an advantage in their ability to accurately dose
and measure effort, and create relationships between motion and force, that are hard
to establish with purely mechanical means. Additionally, motorized training devices
are better suited to provide assistance, rather than resistance to users that are
too weak to train unassisted.
[0006] Existing manifestations of training units in the field, have proved efficient from
a physiological perspective, because they are able to adapt to, and optimize the load,
tempo and other training physiological aspects of exercises, to the individual user.
It is however still a challenge for users to obtain the desired dose of training in
terms of load and/or training time, because the monotonous repetitions are demotivating
for the users. This is especially a problem for: Users unfamiliar with training, for
sick or injured users with reduced strength or endurance, as well as for all other
users that may not possess the same routine and willpower as athletes or other experienced
users of training.
[0007] As an alternative to this invention, it is popular for people to break the monotony
of training machines, by training with other people, training with animals, or training
in nature for instance by walking in terrain, or swimming in the ocean, where the
motions of the person training contain varying element of interaction, as the person
must respond to complex outside variation in force, motion and the relationship between
force and motion. Such natural training is not always possible or feasible, for instance
if you are injured or otherwise bound to domestic surroundings. Also such "natural
training" lack the option of accurately designing specific loads and movements, as
well as accurately measuring and dose effort.
[0008] As the popularity of cable-pull based training machines appear to increase, and as
demotivation through monotony continue to be a problem with their use, there is a
clear application and demand for cable-pull training units, that offer a more varied
and complex interaction than mere repetitions of the same motion over and over, similar
to the way computer games continue to be interesting, by varying the basic interaction
between the player and the computer generated characters and features of the game.
[0009] A training unit with complex and motivation interaction that, for example, offer
the user to execute or even improvise complex series of motions, similar to "a dance",
rather than to "saw firewood", can be used to increase motivation and variation of
physical training, so that the joy of exercise as well as physiological outcome will
be increased.
[0010] By increasing the complexity, so that more parameters influence the force and motion
the motor supply to the user, the training can be made more of an interaction between
the user and the training unit, than a preprogrammed experience, which will increase
the motivation and effort of the user throughout the training.
[0011] There are many examples of motorized winches used for resistance or assistance of
people throught physical training. A common denominator is that they are designed
to operate in simple states, for instance to pull with constant force, constant velocity,
constant speed, constant length, or to vary one single parameter as a function of
another single parameter, for instance by varying pulling force as a function of cable
length or vice versa. Changes between states are instigated by the operator, or by
achieving predefined conditions of one or maximum two parameters. Existing training
units can thus emulate passive force creating elements, such as weights or springs
that are varied as predefined functions of position. In such solutions, the user has
a certain influence on the emerged motion, by increasing or decreasing the user-applied
force in order to assist or resist the motor. Depending on the control system of the
motor, such user behavior may influence the velocity, or it may ensure that a predefined
condition for direction change is met.
[0012] DK 179003 P1 describe a motorized winch, that can perform measurements and assist a user with
motion training through a cable.
[0013] Existing examples of motorized training units based on cable pulling use very simple
combinations of motor control and sequence generators, where only up to 2 physical
properties are used to generate sequences that encompass only 2 states. This practice
mean that the users option of establishing interaction with the training unit is limited
to influencing only when a state change takes place, not which state is changed to,
as there are only two states to change through. This can be very demotivating for
physical training, as the user may experience being locked into a primitive and endless
repeating binary pattern without other possibilities for initiative or variation than
quitting the training.
[0014] In other areas, for instance computer games, a comprehensive practice have evolved
around state machines and automata theory of varying complexity, to instigate far
more motivational interaction between humans (the user) and machines (the computer
game).
[0015] This practice has not yet been combined with motorized cable based training units
or machines, where extremely simple 2-state systems are controlled by 1-2 physical
parameters, locking the user into interaction consisting of 2 binary, forever repeating
states, such as
forward, backward, forward, backward.... With only position and/or force to instigate a switch between them.
[0016] Existing training with the aid of motorized cable pulling training units exert a
monotonous near constant force or velocity, or change between two alternating states
of similar monotonous forward/backward motion or force. Such training lack the vast
capacity of variation and interaction, that comprise the natural interaction of training
with a human partner, with an animal, or training in a varied physical environment.
Both users and training experts regret the loss of complex interaction when using
simplistic training machines, as the complex interaction is highly motivating, and
allow training with a wider focus than strengthening a single muscle in a particular
motion.
This invention allow users and training experts to benefit from cable pull training
with a complexity similar to natural interaction with training partners or varied
physical environments, where the rules of the interaction is embedded in the design
of the unit control system, by the designer, manufacturer, training expert or the
user. The highly predictive behavior of existing cable pull units is thus replaced
by behaviors of varied complexity, involving elements beyond force and position in
the interaction.
State controlled training units will thus provide interactive and motivational training
to everyone that want the known benefits of a cable pull motorized training units,
such as stationary indoor training, where the training effort can be quantified and
no partner is needed.
[0017] By combining the ability of state machines to define, generate, pass through and
reckognize complex sequences, based on input from the user; with multivariable feedback
motor control's ability to weigh control of many different physical properties simultaneously,
a new type of motorized training unit with cable pull is created. The new unit is
characterized by the users ability to partake in complex sequential interaction, where
the next element in the sequence is a choice of 2 or more alternate states, based
on the users current or past physical performance, combined with the specific design
or pre-programming of the training unit. This possibility can be utilized to create
physical interaction between user and training unit, where the user can instigate
changes to multiple states of the training unit, by the way the user pull the cable.
As the unit change state, the configuration of the multi-variable feedback motor control
changes, which change the users perception of the motors pull on the cable. As far
as the changes to motor controller configuration can be perceived by the user, they
may stimulate the user to change pull sufficiently to cause the unit to change state
again, and so on. The rules for state changes combined with the rules for configuring
the multi-variable motor controller based on states thus create a frame for more or
less complex sequences of interaction between user an training unit, far more complex
than binary sequences, and potentially far more motivating for users to partake in.
[0018] By using the same type of state machines used, for instance, to create life-like
or even human-like behavior of characters in computer games, the interaction between
user and training unit can become more complex than the somewhat predictable sequences
characteristic of basic "Deterministic Finite Automaton" (DFA) type state machines.
The use of fuzzy state machines can create gradual state changes that are more similar
to human behavior than DFA's sharp transitions. The use of pushdown automata (PDA)
and/or Turing Machine type state machines can create sequences that vary over time,
based for instance on the users effort, precision or timing in previous sequences.
[0019] By using multiple measured or calculated physical parameters in the feedback motor
control as well as in the input to the state machine, it is ensured that the interaction
is not only carried by force, position and velocity, but may also be carried by time
related parameters such as: Precision over time, acceleration, repetitive accuracy,
and user exhaustion over time. The interaction can also be carried by different parameters
relating to the cable, such as cable angle. The interaction can also be carried by
parameters relating to the user, including examples such as: Breathing, heart frequency,
sweating, absolute or relative body position, and electromyography (EMG) measurements.
Using proximity to the training unit or to other designated reference points as a
parameter that influence motor control and/or state changes, safety related speed
or force changes can integrate safety measures with the training interaction, rather
than disrupt or pause the training at unintended proximity, collisions or force excesses
between the user and training unit.
[0020] By letting the output of the state machine consist partially or wholly of the configuration
for the multi-variable feedback motor control, the definition of the training units
behavior is given by the components of the state machine. As these components are
stringent and well defined in a formal sense, the state machine - and thereby the
behavior of the training unit - can be uniquely defined in a machine readable specification
language, for instance based on formal languages such as XML or UML, or on other languages
suited for this purpose. Therefore, the state machine does not have to be an integrated
or pre specified part of the control unit, but can be loaded by the training unit
at runtime and executed or interpreted by the training unit. This possibility enable
dynamic updating of the training units behavior, and enable a "programmer" to develop
or change "training programs" or "behavior" for the training unit at a separate location
and/or time, even during training.
[0021] State machines are well suited for graphical presentation, which enable graphical
communication of the training unit's behavior to people that are not experts in automation
and programming, by presenting sequence generating state machines in a graphical representation.
Conversely, state machines are also well suited for graphical programming paradigms,
where the programmer specify the state machine, simply by drawing it as a state-,
block-, flow- or other type of usable diagram in a suitable CAD application, that
can save the specification in a format that is readable for the training unit.
[0022] Relevant conditions for state change can vary from person to person, for instance,
it may be relevant to increase the thresholds for force related conditions for strong
users, or position related conditions for tall persons. As a supplement to state machines
that create sequences intended to convey physical training, it is possible to design
state machines that create sequences suited for relevant physical measurements of
the user. Such measurements can later be used to adjust or design state machines tailored
to the specific user, or users with similar characteristics. State sequences suited
for measuring relevant parameters, can also be combined with state sequences intended
for training, resulting in state machines that have both capacities combined.
[0023] The above object and advantages together with numerous other objects and advantages,
which will be evident from the description of the present invention, are according
to a first aspect of the present invention obtained by:
A training unit for physical training or rehabilitation of a person comprising
- a motor for pulling a cable such that a body part of said person experiencing a pull
when said body part being attached to said cable or such that gravity acting on said
body part being perceived as reduced when said body part being attached to said cable,
- a first sensor for measuring a first kinematic quantity of said training unit,
- a second sensor for measuring a second kinematic quantity of said training unit,
- a controller including a memory for generating and providing a driving signal to said
motor such that said training unit being operable in a state space having a set of
states including at least three states,
each respective state defining a first target kinematic quantity of said training
unit, and a second target kinematic quantity of said training unit,
said driving signal being a function of a current state of said training unit, said
first kinematic quantity, said second kinematic quantity, said first target kinematic
quantity, and said second target kinematic quantity.
[0024] A training unit may be a mechanical device, including a motor, constructed in a way
so the force and motion of the motor is conveyed to a cable, which further convey
the force and motion to the body or body part of a person, for the purpose of resistance,
assistance or evaluation of performance during physical training. The training unit
may have integral controller and/or one or more sensors. The training unit may alternatively
or supplementary have facilities to connect external controller or controller components,
sensors or sensor components.
[0025] A motor may be a device that convert one or more forms of electrical or mechanical
energy into kinetic energy, defined as a combination of motion and force, in a way
that allow the motor to operate at a limited range of velocities combined with a limited
range of forces. A motor may operate with loss, so not all the input energy is converted
to kinetic energy. A motor may be designed to facilitate control of other kinematic
properties than velocity and force, but will still produce combinations of velocity
and force when operating. A motor may be designed to produce linear, rotational or
other paths of motion, producing force and velocity related to said path. Electrical
motors include devices that convert electrical energy to force and/or motion, for
instance by using magnetic and/or electrical fields, through the piezoelectric effect,
or through electrical heating that change the volume and/or shape of elements in the
motor. Mechanical motors include devices that convert mechanical energy to force and/or
motion, for instance through the pressure and/or flow exerted by a gas and/or liquid
on one or more surfaces of a movable element.
[0026] A cable may be an elongated pliable element, for instance in the shape of a rope,
band, lace, tape, wire, thread, filament, lanyard or chain. A cable convey mechanical
pull, primarily through elastic deformation in it's lengthwise direction, and will
align itself fully or partially in the direction of the pulling force due to it's
pliability in one or more directions perpendicular to the lengthwise direction. The
lengthwise elasticity of a cable can be designed or chosen so low that lengthwise
elongation is negligible to a person pulling it, but may also be designed/chosen with
noticeable lengthwise elasticity for training applications where such elasticity may
be desirable.
[0027] Physical training or rehabilitation may be activities or circumstances where a person
is positioning and/or moving one or more joints in the body with the intention of
changing or evaluating the strength, velocity, range, precision, volume, mass, density
or other physical or mental ability associated with the body and/or the persons relationship
to, or perception of the body.
[0028] A person is to be understood as a human being, comprising a number of joined anatomical
body parts, that may move or be moved around or along the joints. A person may use
relevant body parts, for instance a hand, to hold or grip the cable directly or through
an attachment, in order to interact with the training unit. Alternatively a person
may be attached to the cable through one or more harnesses, straps, pads, levers or
other mechanical elements designed to convey force and motion from a cable to the
body or part of the body.
[0029] A kinematic quantity may be any absolute or relative quantifiable property of a motion
and/or the force that causes that motion, including but not limited to:
- Properties or states of elements and/or components in the training unit, the cable
or elements or devices attached to the cable, such as: Normal or shear force or forces,
torque or torques, linear and/or rotational position or positions, linear and/or rotational
velocity or velocities, linear and/or rotational acceleration or accelerations, linear
and/or rotational jerk or jerks defined as rate of change of acceleration.
- Absolute or relative spatial state or properties of the cable, attachment to the cable,
or the parts of the body caused to move by the cable, such as: distance, position,
angle, velocity, angular velocity, acceleration, angular acceleration or mechanical
strain.
[0030] A Controller may be a device, module, unit or system that control the flow of energy
to the motor in order to obtain or approximate a desired combination or relation of
kinematic quantities, based on a calculation that compare the target kinematic quantities
to the measured kinematic quantities, optionally including the passage of time. The
controller allow the set of target kinematic quantities as well as parameters of the
calculation to be changed dynamically by a sequencing algorithm that is specified
in advance, for instance as a program executing on a computer.
[0031] A target kinematic quantity may be the desired value of a kinematic quantity, for
instance the desired force to be pulled in the cable, or the desired lengthwise velocity
of the cable.
[0032] A state may be the basic elements of sequences in the sequencing algorithm that provide
settings for the controller. By changing between at least 3 states, as a function
of current state and kinematic quantities, the sequencing algorithm can provide non
trivial sequences of controller settings based on a combination of preprogrammed rules
as well as the actions of the person.
[0033] A driving signal may be the power supply to the motor of the training unit, or a
signal representing a relevant parameter of the power supply, so that the controller
can regulate the power and hence output of force and motion of the motor. For instance,
the driving signal can be the voltage and/or current supplied to an electrical DC
motor, or it can be a signal that represent voltage and/or current to a power controlling
module integrated with an electrical DC motor.
Figure 1 show two similar embodiments of the training unit. Figure 1-a show a ceiling
mounted embodiment and figure 1-b show a rail mounted embodiment.
Figure 2 is a block diagram, showing the control architecture of the training unit,
featuring details of the multi variable feedback motor control and it's connection
to the state-machine based sequence control.
Figure 3 show examples of use of the training unit, including variations of connecting
the training unit's cable to the user directly or through mechanical connecting elements.
Multi-variable feedback motor control
[0034] Within robotics, it is normal practice to use motor control systems, that does not
aim to achieve either specific velocity or specific force, but rather aim at specific
combinations of velocity, force, torque, position, acceleration or possibly other
relevant parameters. Each relevant physical parameter is perceived as a dimension
or axis in a coordinate system or "geometric space", known as the state-space, referring
to a specific combination of physical parameters as a specific physical state of the
system, corresponding to a "point" in said space. In classic motor control such as
"P", "PI" or "PID" control used for instance to achieve a specific force by controlling
power supply to a motor based on a force measurement, both the input - target force
- and output - actual force - are one dimensional, and such controllers are named
"Single input, Single output" (SISO). A motor controller that act on a combination
of 2 or more measured or calculated physical properties, for instance by endeavoring
to achieve a combination of specific force and velocity, has multidimensional - or
multi variable - feedback, and is designated as "multi-variable feedback control".
In cases where there is still only one output - for instance to control an aspect
of motor power - the system can also be designated "Multiple input, Single output"
(MISO). If the number of physical variables that are used for feedback is generalized
to N, the feedback can be perceived as a vector:
x □
RN, and the MISO control is defined as the vector function:
f: R(N+M) →
R that calculate output for the motor:
y □
R as a function of
x and the M relevant target values for the physical values of the system.
[0036] In control systems that drive the relevant physical variables against a specific
combination, the function:
f will have a mathematical topology that create a gradient against the intended combination
of physical properties. If such a control system involve combinations of force:
F with, position:
I, velocity:
dl/
dt or acceleration:
d2l/
dt2, they are often referred to as "impedance control" or "admittance control" as a gradient
that combine force with position, velocity or acceleration will emulate combinations
of the classic mechanical impedances known as:

"Impedance" is understood as force per movement, while "admittance" is understood
as the reciprocal: Movement per force. A motorized winch that utilize multi-variable
feedback control, can thus, not merely increase or lower force or velocity as a function
of position as a means of leading a person through a repetitive motion, but can to
a higher extent interact with the person by emulating the action of well known elements
such as springs, friction, inertia or combinations of them. This can be utilized to
increase the degree of interaction by "leading" rather than "forcing" a person through
a motion pattern, and thus breaking the monotony that characterize existing training
units in the field.
Motors
[0038] Motorized training units typically use electrical motors, as electrical motors has
a number of advantages, such as: low price, low weight, low noise level and low maintenance.
Furthermore, electrical motors have short reaction times or "time constants", that
make them relatively easy to control accurately and fast, compared to other motor
types. Electrical motors are readily available as rotary and linear motion variants,
and can be designed for other motion geometries as well. In rotary motors, electrical
power is converted to mechanical power in terms of a rotary motion, where the mechanical
power is given as the product of torque and rotary velocity. In linear motors, electrical
power is converted to mechanical in terms of a linear motion, where power is given
as the product of force and velocity. All practical motors are subject to conversion
losses, nonlinearities and internal negative feedback, for instance in the form of
electromotorical force and friction. These imperfections often makes it desirable
to place the motor in a feedback control system, that regulate the power supply to
the motor in order to achieve or approach a specific value or combination of values
of relevant motor output, for instance position, velocity, force or torque. Some motors
are designed to eliminate the need for feedback control, by ensuring that a specific
motor output is linear- or synchronous with one or more parameters of motor input.
For instance, the torque or force of many types of electrical motors are nominally
proportional to input current. In some motor types, for instance synchronous AC motors
and stepper motors, the motor velocity is synchronous with the frequency of input
voltages and currents. All types of electrical motors can be used to pull a cable,
a wire or similar pliable element, by applying a suitable mechanism, and hence be
used for motorized training units as described. Different motor types place different
requirements to the part of the motor controller that supply and regulate the electrical
power to the motor. Often, the motor and power control unit is acquired as an integrated
or complimentary set, or the motor manufacturer recommend or advise on a compatible
power control unit. Power control for various kinds of motors is a well know and well
described field to the practitioner, and is described in textbooks such as: [
Bose, Bimal K. "Power electronics and motor drives advances and trends". Elsevier,
2010.]
[0039] Depending on which specific technology that is used for power control, the power
supplied to the motor will be controlled by one or more signals to the power control
unit, system or component. This or these signals can be generated by a processor or
a computer, designed or programmed to regulate the power supply as a function including
one or more measured physical parameters, and thus regulate the motor toward a "target"
output parameter or combination of output parameters.
[0040] As alternatives to electrical motors, hydraulic or pneumatic motors can be used.
These are often referred to as "actuators". Hydraulic and pneumatic motors are available
in both rotary and linear variants. Both variants convert mechanical input power given
as the product of pressure and flow in a fluid (hydraulic) or a gas (pneumatic), to
mechanical output power, as described for electrical motors above. Hydraulic and pneumatic
motors have nonlinearities, losses, friction and other internal feedback, that often
make a control system necessary. The power supply can be regulated by regulating input
pressure and/or flow, using a valve or a controllable power supply (pump) that supply
pressure and flow. In both cases, the power supply is controlled by the signal or
signals that control the valve or power supply. A motor controller or regulator is
thus able to control the power supply to a hydraulic or pneumatic motor by this or
these signals, in the same way as described for the electrical motor. Technology and
methods for controlling hydraulic and pneumatic motors is well known to the practitioner,
and described in textbooks such as:
[
Rasmussen, Peter Windfeld. "Hydraulik ståbi." Teknisk forlag, 1996. and
Parr, Andrew. "Hydraulics and pneumatics: a technician's and engineer's guide." Elsevier,
2011.]
Sequencing:
[0041] In applications of motorized winches for training, it is appropriate to subdivide
the training into elements that are executed in a sequence. Each element can for instance
consist of a motion trajectory, an exertion of force, or a combination. The definition
of training elements, and the rules for sequencing them, define the exercise the user
is performing.
[0042] In
DK 179003 P1, two elements are applied: "Reel out" and "Reel in", which can be categorized as
binary states by the specified "processor". The change between these two binary states
is specified as combinations of two measurements: "Force" and "position".
DK 179003 P1 state a few examples of conditions for state change, but none that encompass both
force and position combined.
[0044] The simplest type of state machine that can create or control sequences based on
the value of inputs, is the "Deterministic Finite Automaton" (DFA). A DFA for sequence
control can be defined by the following elements:
- A finite set: S of N discrete states: {s0,s1,...sN}, whereof one, for instance: s0 is designated as the start state of the state machine.
- An input "alphabet": ∑ consisting of a finite number of inputs.
- An output alphabet: Γ consisting of a finite number of outputs.
- A transition function: δ: (S × ∑) → S that define how combinations of "current state" - which is a member of S, and current input - which is a member of Σ, combine to define the "next state" which is also a member of S.
[0045] The state machine will initially be in the designated start state, and may then progress
to being in either of the states in S, depending on the sequence of inputs presented
to it, and the "rules" for state changes defined by
δ. The state of the state machine may thus change through sequences of the states in
S, sequences which is defined by the interaction between the input and the "rules"
of the state change function
δ.
[0046] Inputs that stem from continuous values, such as measurements of physical properties
can be resolved into a finite set of discrete values to keep the input alphabet finite.
[0047] State machines intended to create sequences are often designated. "Transducers",
and it is common to distinguish between two types of transducers: "Moore" and "Mealy".
In addition to the: S,
s0, ∑, Γ and δ elements defined above the Moore variation of DFA's also feature an output function:
ω :
S →
Γ that define how the output depend solely on the current state of the DFA. The alternative
Mealy type, feature an output function:
ω : (S ×
∑) →
Γ that define how the output depend on a combination of current state and current input.
While chiefly used with the DFA type state machine, the "Transducer", "Moore" and
"Mealy" nomenclature may also be applied to other types of state machines, that serve
to define or generate sequences based on inputs, and where the output depend on either
current state or current state combined with current input.
[0048] The literature of the field contain a vast range of different notations and concepts
to define and implement DFA's, but also show that they are formally equivalent in
terms of the sequences they can generate, and they can all be defined in the practitioners
preferred notation. Literature also specify a vast number of graphical notations to
depict DFA's, for instance "state diagrams", as well as formal notations for defining
DFA's so they can be integrated and/or implemented in source-code for formalized languages,
such as programming languages for computers, such as C, python and JAVA, or formal
specification languages such as UML and XML, so computer programs can read and implement
a pre-specified DFA at runtime, by "interpreting" the read specification code while
operating. Examples of relevant literature include: [
Viskari, Juha, Risto Jokinen, and Kari Hakkarainen. "A generic FSM interpreter for
embedded systems." Proceedings of the Eighth Euromicro Workshop on Real-Time Systems.
IEEE, 1996.]
[0049] Automata theory can also be used to accurately describe and/or design how a training
unit execute sequences of varying complexity based on physical properties that the
user influences by using the training unit. The notation and methods associated with
implementing the automatons described by automata theory, using computer software,
computers, processors or other electrical or electronic units are well suited to implement
such rule based "training sequences" or "training programs" in practice.
[0050] Some existing training units with cable pull, utilize operator input such as pushbuttons,
knobs, sliders and other operator inputs to configure the operation of the unit. Operator
input can thus be used to change parameters such as cable position, -velocity, - force
or settings that relate to output or sequencing in any way. Operator interfaces are
commonly implemented as state machines, using all possible operator input combinations
as input alphabet, which is kept finite by resolving continuous inputs such as sliders
into a finite set of intervals. The present description distinguish between "user
interaction" which encompass the interaction between user and training unit that are
intended to be a part of the users physical training, and "operator interaction" which
encompass the interaction between an operator and the training unit, for instance
in order to start, stop, pause, specify or change the operation or programming of
the machine. While the user (person performing training in interaction with the machine),
may also be the operator (person that operate, adjust, program or in other ways interact
with the unit in ways that are not intended as physical training), the present description
relate only to state machines involved in the user interaction that is part of the
physical training which the unit participate in.
[0051] Apart from generating sequences of states and/or outputs, state machines and automata
theory is also well suited to decode sequences of inputs. By specifying a set of states
and conditions for changing through them in a way that will only allow sequences of
input that comply to certain criteria to bring the state machine through the state
sequence , the state machine will only complete the sequence if the input sequence
comply to the specification. In this respect, literature describe acceptable input
sequences as a "Language", and the state machine as an "acceptor" of sequences that
comply to the "grammar" of the "language". The language and grammar is thus defined
by the state machine. State machines are often used in this capacity by various machines
and systems where input must be given in specific sequences for the machine to operate.
State machines are also used in this capacity in computer games, where a users (players)
"character" must perform actions in a specific sequence in order to get the computer
controlled "character" or object to change state, for instance opening a door, or
pacifying an "opponent".
Other types of state machines
[0052] DFA's are widely used in sequential interaction between humans and machines. It is
common practice to use them with pushbutton operated machines, for instance in elevators,
vending machines, sensor equipped traffic lights, safes, household appliances, and
other situations where humans interact sequentially with technology. They are also
widely used in user interfaces for software applications, where the user interface
or elements in the user interface can change between 2 or more states, depending on
the users actions. It is standard practice to simulate or create behavior in computer
games, by letting computer controlled characters control by a state machine with a
set of states like: S =
{ "Passive", "Alert", "Patrolling", "Attacking"}. Where the change between each state is conditioned by parameters like distance to
the players character, the passage of time or similar conditions.
[0055] The behavior of characters in computer games can become further life-like by making
their state changes depend on previous states or inputs, by adding "memory" to the
state machine. Common literature devise a formal framework to describe such expansion
of DFA's, as "Push Down Automatons" (PDA), where the conditions for state changes
is expanded with information stored in a "stack" type memory (last in first out).
A further formal expansion is the "Turing Machine" where the DFA's conditions for
state changes are expanded by dependency on information stored in a random access
type memory. It is necessary to distinguish between a theoretical PDA or Turing Machine
which both feature unlimited memory capacity, and practical implementations, that
are restricted to the finite amounts of memory available in the technology chosen
by the practitioner to implement them.
[0056] It has been theoretically proven, that all algorithms based on sequences of discrete
states, can be transformed into one of the 3 types of state machines described above:
DFA, PDA or Turing Machine, on the condition that there is sufficient memory capacity.
[0058] Apart from computer games, Fuzzy logic is widely used in modeling and control of
a wide range of physical applications as described in, for instance: [
Hybrid Artificial Intelligence Systems: 4th International Conference. Corchado, Emilio,
Lhotská et al., eds. HAIS 2009, Salamanca, Spain, June 10-12, 2009, Proceedings. Vol.
5572. Springer, 2009.]
Biofeedback
[0059] For computer monitored training machines and other technologies where a computer
or processor measure some parameters of physical training, it is common practice to
use the computer or processor to communicate to the person performing the training,
through graphical display, sound or other media available to the computer, or possibly
to computers connected to the measuring computer. The communication of measured information
to the person being measured, is known as biofeedback. Biofeedback can be dynamic,
where the information is presented immediately. The computer can, for instance, present
the measurement as a graph or other graphical element on a screen, which the user
can then attempt to shape in a specific way, by varying the training effort and hence
the sensor measurements. Variations include the playing of sounds depending on the
users compliance or deviation from specified values. Biofeedback can also be retrospective,
by having the measuring computer or a computer connected to it, compile an evaluation
or report of the users efforts over a longer or shorter time span. Visualization or
other ways to make even small progress noticeable is known to increase user motivation.
[0060] In an embodiment shown in figure 1, the training unit consist of an open or closed
mechanical
frame {1}, that can be attached directly, via
brackets {2} or similar connection mechanisms, to
ceilings {3}, walls, surfaces, rods, racks,
rails {4}, or other bodies that have strength to carry the mechanical loads from the training.
[0061] Figure 1 shows examples of fixed
ceiling {1} mounting via
brackets {2}, or mounting on overhanging rail {4} with
wheels {6}, balls, gliders or similar bodies that allow motion.
[0062] An electric
motor {8} is mounted in the frame using a
gear {d} and a
drum {c} to wind up a
cable {7}, wire, string, band, ribbon, chain or other pliable element. The device's
motor {8} is, directly or via bracket or sub-frame, mounted on one or more
load-cells {9}, allowing the cable force to be calculated from the load measurement, by an embedded
controller {a} that contains a multi variable feedback
motor controller {h} and a
sequence controller {5} in the form of a computer or processor that implements a state machine.
[0063] The motor {8} is also fitted with a
shaft angle sensor {b} so
cable length can be calculated from the rotation of the motor shaft by the same
controller {a}. The cable leaves the frame through a
hawsehole {e}, in front of which a
range-finder {f} that can detect the distance:
d to objects thicker than the
cable {7}, so the
controller {a} become able to detect fingers, hands or other obstacles getting close enough
to the
hawsehole {e} to risk collision, crushing or bodily damage to the user, as well as overload
or damage to the training unit.
[0064] The training unit contains a
timer {g} that enable the
controller {a} to measure and/or calculate the passage of time in relation to relevant time
references.
[0065] The power supply to the unit is external via a
cable connection {k}, via electric conductive
rails {4}, or possibly internal via battery.
[0066] The power supply to the motor is controlled by a
motor control unit {h}, which is shown as part of the overall controller {a}, shown in detail in figure
2.
[0067] The
motor control unit {h} controls the voltage:
U of the
motor {8} electro-magnetic circuit as a function:
g () of the real, measured or calculated values for:
- 1) real cable length: xr calculated from measured motor shaft position, using previous calibration with respect
to cable length.
- 2) real cable velocity: vr calculated as the rate of change of cable position over time.
- 3) real cable force: Fr calculated from load cell measurements.
[0068] In addition, the function: g() use "target" values for the same physical values:
- 1) target cable position: xt
- 2) target cable speed: vt
- 3) target cable force: Ft
[0069] Finally, the function
g() also use coefficients that weigh the importance of controlling the motor so that
each of the desired values is obtained:
- 1) weight of motor shaft position: kx
- 2) weight of motor speed kv
- 3) weight of cable force: kF
[0070] For a DC motor with electro-magnetic circuit voltage: U, the function:
g() is implemented as:

[0071] Figure 2 show the embodiment of the
controller {a} as a block diagram.
[0072] The voltage of the electromagnetic circuit is controlled using a class-D (switched
mode)
power module {α}, providing either 0V, V
max or
-Vmax to the DC motor. By switching quickly between 2 or 3 of the 3 specified voltages,
using pulse width modulation (PWM), the mean voltage of the motor electro-magnetic
circuit can be controlled using the pulse width. Thus,
U is the expression of the mean voltage between the DC motor's two electrodes, over
a time interval shorter than L
m / R
m, where L
m and R
m is the self-induction and resistance of the motors electrical circuit. V
max represent the voltage that is available from a connected power supply {β} e.g a battery,
a DC-DC or AC-DC converter, selected to match the nominal maximum operating voltage
of the motor.
[0073] The power module may be an integral part of the motor control unit, or be a separate
unit depending on the choice of the professional. The vector y represents the type
of input that the selected power module prescribes, e.g. a number of binary signals
indicating the choice between (V
max, 0, -V
max), or a continuous or sampled signal indicating which mean voltage:
U the power module should submit to the motor.
[0074] While the 3 physical values for
Fr, xr and
vr originate from
load cells {9},
shaft angle sensor {b}, combined with
timer {g}, the other 6 values:
xt, vt, Ft, kx, kv, kF - shown together as
Config {δ} in figure 2 - come from a Moore type DFA
state machine {5} implemented by a processor in the controller, with input from cable length, cable
speed, cable force, and distance: d to any obstacle as discussed above. In addition,
the state machine has input from one
control panel {ε} including a binary setting:
b □
{on, off}.
[0075] The
sequence controller {5} is implemented as a Moore type DFA state machine specified with 3 states:
S □
{Stop, Light, Heavy}, where
Stop is selected as the start state. In figure 2, the
states {η} are sketched in compact form as {s0,s1,s2}, where:
s0=
Stop,s1=
Light,s2=
Heavy. The DFA's
output function {γ} specify the following settings to the motor controller:
S = Stop → xt = 0 m kx = 0V/m vt = 0 m/s kv = 100 Vs/m Ft = 0 N kF = 0 V/N
S = Light → xt = 0 m kx = 20 V/m vt = 0 m/s kv = 0 Vs/m Ft = 1 N kF = 10 V/N
S = Heavy → xt = 0 m kx = 20 V/m vt = 0 m/s kv = 0 Vs/m Ft = 20 N kF = 10 V/N
[0076] Which mean that the motor controller is configured to act as a pure velocity controller
with target velocity 0, in the Stop state. As a combined position and force controller
in the Light and Heavy states, with a target position of 0 in both, and a target force
of 1N and 20N in Light and Heavy respectively. The k values are chosen for a DC motor
with nominal maximum voltage of 24V, electrical resistance of 1 Ω and a motor constant
that - combined with the gear and drum - correspond to 10 N/A. They represent the
voltage to be applied proportional to the deviation between target and real values.
The k
x setting of 20 V/m mean that the motor will pull progressively harder as the cable
length deviates from the target length of 0 m, reaching the maximum pull of 240 N
when U reach 24 V at x
r = 1.2 m. Beyond that length, the power module can not supply more voltage, and the
voltage to the motor remain 24 V. The setting of 100 Vs/m for k
v mean that the motor will brake progressively harder as the cable velocity deviate
from the target value of 0 m/s, reaching maximum braking force at v
r = 0.24 m/s. The setting of k
F= 10 V/N mean that the motor will pull progressively harder as the cable force deviate
from the target value of 1 N or 20 N respectively, in the same manner as previously
discussed. The professional will choose k values that are appropriate for the motor
used, and the intended application of the training unit.
The input alphabet of the DFA:
∑ =
{Z, sl, ll, sh, lh, SL, LL, SH, LH} is specified by an
input function {Φ} given by the following table, that map continuous and/or discrete values to the
finite set of input symbols: ∑. It is noted, that if the user panel is set to
off, or if a hand or other obstacle is closer to the hawsehole than
0.
1 m, then the input symbol is defined as:
Z. Alternatively, the input symbol "
SL" is shorthand for "
Short cable,
Low velocity"; "LL" is shorthand for "
Long cable,
Low velocity"; "SH": "
Short cable,
High velocity" and "LH": "
Long cable,
High velocity". Capital letters indicate that the cable force is "high" while lowercase
letters indicate that the force is low.
| σ ⊐∑ |
xr [m] |
vr [m/s] |
Fr [N] |
d [m] |
b |
|
σ ⊐ ∑ |
xr [m] |
vr [m/s] |
Fr [N] |
d [m] |
b |
| Z |
≤ 1 |
≤ 0.1 |
≤ 1 |
≤ 0.1 |
on |
|
Z |
≤ 1 |
≤ 0.1 |
≤ 1 |
≤ 0.1 |
off |
| Z |
> 1 |
≤ 0.1 |
≤ 1 |
≤ 0.1 |
on |
|
Z |
> 1 |
≤ 0.1 |
≤ 1 |
≤ 0.1 |
off |
| Z |
≤ 1 |
> 0.1 |
≤ 1 |
≤ 0.1 |
on |
|
Z |
≤ 1 |
> 0.1 |
≤ 1 |
≤ 0.1 |
off |
| Z |
> 1 |
> 0.1 |
≤ 1 |
≤ 0.1 |
on |
|
Z |
> 1 |
> 0.1 |
≤ 1 |
≤ 0.1 |
off |
| Z |
≤ 1 |
≤ 0.1 |
> 1 |
≤ 0.1 |
on |
|
Z |
≤ 1 |
≤ 0.1 |
> 1 |
≤ 0.1 |
off |
| Z |
> 1 |
≤ 0.1 |
> 1 |
≤ 0.1 |
on |
|
Z |
> 1 |
≤ 0.1 |
> 1 |
≤ 0.1 |
off |
| Z |
≤ 1 |
> 0.1 |
> 1 |
≤ 0.1 |
on |
|
Z |
≤ 1 |
> 0.1 |
> 1 |
≤ 0.1 |
off |
| Z |
> 1 |
> 0.1 |
> 1 |
≤ 0.1 |
on |
|
Z |
> 1 |
> 0.1 |
> 1 |
≤ 0.1 |
off |
| sl |
≤ 1 |
≤ 0.1 |
≤ 1 |
> 0.1 |
on |
|
Z |
≤ 1 |
≤ 0.1 |
≤ 1 |
> 0.1 |
off |
| ll |
> 1 |
≤ 0.1 |
≤ 1 |
> 0.1 |
on |
|
Z |
> 1 |
≤ 0.1 |
≤ 1 |
> 0.1 |
off |
| sh |
≤ 1 |
> 0.1 |
≤ 1 |
> 0.1 |
on |
|
Z |
≤ 1 |
> 0.1 |
≤ 1 |
> 0.1 |
off |
| lh |
> 1 |
> 0.1 |
≤ 1 |
> 0.1 |
on |
|
Z |
> 1 |
> 0.1 |
≤ 1 |
> 0.1 |
off |
| SL |
≤ 1 |
≤ 0.1 |
> 1 |
> 0.1 |
on |
|
Z |
≤ 1 |
≤ 0.1 |
> 1 |
> 0.1 |
off |
| LL |
> 1 |
≤ 0.1 |
> 1 |
> 0.1 |
on |
|
Z |
> 1 |
≤ 0.1 |
> 1 |
> 0.1 |
off |
| SH |
≤ 1 |
> 0.1 |
> 1 |
> 0.1 |
on |
|
Z |
≤ 1 |
> 0.1 |
> 1 |
> 0.1 |
off |
| LH |
> 1 |
> 0.1 |
> 1 |
> 0.1 |
on |
|
Z |
> 1 |
> 0.1 |
> 1 |
> 0.1 |
off |
[0077] The transition function from current state: s to next state: s+ is sketched in compact
form as unannotated arrows {η} on figure 2, but defined completely by the table below:
| s |
σ □ ∑ |
s+ |
| Light |
Z |
Stop |
| Heavy |
Z |
Stop |
| Stop |
Z |
Stop |
| Stop |
sh, SH, sl, SL |
Light |
| Stop |
Ih, LH, ll, LL |
Heavy |
| Light |
Ih, ll, LH, LL |
Heavy |
| Light |
sl |
Stop |
| Light |
sh, SH, SL |
Light |
| Heavy |
sh, sl, SH, SL |
Light |
| Heavy |
ll |
Stop |
| Heavy |
lh, LH, LL |
Heavy |
[0078] The specified DFA act together with the motor controller and the mechanical part
of the training unit, to create a training unit that can interact with the user as
shown in Figure 3-A, where the
user {S} is using a hand to hold on to the
cable {7} directly, or via a
strap {U}. The
training unit {X} is mounted on the
ceiling {3}, and can provide force upward directed force relative to the user. The behavior
specified by the state machine can be approximated with the following linguistic description:
"If the control panel is set to 'off' or a hand comes closer to the hawsehole than
0.
1 m, the unit will stop and attempt to keep the cable still. Alternatively, if the
cable force falls below 1 N while the cable is moving inward or if the cable is moving
outward at a velocity lower than 0.
1 m/
s, the unit will stop and attempt to keep the cable still. Alternatively, if the cable
force exceed 1N, the unit will change to the 'Light' state, if the cable is shorter
than 1 m, or alternatively to the 'Heavy' state. In the 'Light' state, the cable is
acting like a spring combined with a steady force of 1 N. In the 'Heavy' state, the
steady force is increased to 10 N"
[0079] A less precise, but perhaps more understandable way to describe the behavior of the
training unit in the given embodiment, is with the sentence:
"If the unit is turned 'on' and the user interact with it by pulling the cable, the
interaction will be similar to operating a "roller curtain" by pulling it's string"
[0080] As the state machine is implemented by a processor with finite processing speed,
the update of input, output and state can neither be continuous nor infinitely fast.
The update of these elements is implemented with a finite frequency, known as the
sampling frequency: f
s. There is no practical upper limit to how high f
s may be, but limits to the sensors, motor controller or processing units can make
it advantageous or necessary to limit f
s. There is a lower limit to f
s, in terms of acceptable operation of the training unit. This limit can be found through
practical experiments, but will usually have to be larger than 1/t
r where t
r is the users reaction time. Practical experiments have shown that sample frequencies
above 20Hz are sufficient for the embodiment presented here. The specific motor and
motor controller technology, and the specific technology for connecting the state
machine, may present higher demands for sample rate than the users reaction time.
Such demands will be addressed and resolved by the practitioner choosing the specific
technologies.
Alternative embodiments
[0081] The embodiment described above use a simple DFA with 3 states, limiting the interaction
complexity to be similar to the operation of a roller curtain. To change or expand
the boundaries of interaction, the training unit can be implemented in a number of
alternative embodiments, applying DFA's with any combination of: Different states,
more states, different input alphabet, different input function, different output
alphabet, different output function, or different transition function. It can be left
to designers, manufacturers and users of the training unit, to design and implement
DFA's that enable the interactions desired. It is noted however, that while the mathematical
theory and literature about state machines may operate with an unlimited amount of
states and/or input alphabet, practical embodiments are limited by constraints such
as memory capacity and processing speed of the computer, processor or other technology
implementing the state machine. Alternative embodiments are thus also limited by such
practical constraints of the applied computer or processor and associated components.
In alternative embodiments, state machines of the Moore type can be exchanges with
machines of the Mealy type, where the inputs of the sequence controller may partake
directly in the calculation of it's output, depending on current state.
[0082] In alternative embodiments, the DFA is exchanged with different types of state machines,
including finite implementations of Pushdown automatons (PDA) and Turing Machines,
as well as fuzzy variants of DFA, PDA or Turing Machines, which use fuzzy sets and/or
functions and/or variables to implement similar state machines with continuous transitions
between states. In order to implement a fuzzy variant of a state machine type, each
state: s
0 ... s
n is changed to a fuzzy set. The state of the machine is then given as a vector of
values:
ζ □ [0, 1]
n specifying to which degree: 0..1 the current state is a member of each state-set.
The input function is changed to perform fuzzyfication of the relevant input values.
For instance, the input cable length: I is fuzzyfied to two fuzzy sets: "Long cable"
and "Short cable" using two membership functions, designed for the specific interaction.
In the same way, other inputs can be fuzzified using suitable membership functions.
The input alphabet will thus become all the fuzzy sets prescribed by the membership
functions in the input function. Input can then be perceived as a vector:
ψ □ [0, 1]
m where m is the number of fuzzy sets prescribed by the input function. The transition
function will then become a table of fuzzy rules, mapping the current state
and the current input to the next state. An example of such a fuzzy rule is given as
follows, using the designation: s, s
+, x
r v
r F
r d and b to denote the fuzzified versions of current state, next state, cable length,
cable velocity, cable force, distance to obstacle and state of operator input:
"If s is stop and xr is short and vr is low and d is large and b is on then s+ is Light".
For Moore type fuzzy state machines, the output function will consist of defuzzification
of the current state, for instance using the Takagi-Sugeno method, where the vector
describing state:
ζ is converted into a vector of output values:
u though a matrix multiplication so:
u =
A ζ, where the matrix
A uniquely define the output function.
For Mealy type machines, the state vector
ζ and input vector
ψ are concatenated so:
u =
B |
ζ ψ|. It is noted that the theory of PDA's and Turing Machines, as well as their fuzzy
counterparts, allow unlimited number of states, unlimited memory and inputs. In practical
embodiments, the state machines will be limited by practical boundaries of the chosen
technology, in terms of memory, processing capacity and required sampling frequency.
[0083] In a number of alternative embodiments, the DC motor is exchanged for a brushless
DC motor, synchronous AC motor, AC servomotor, stepper motor or other type of electrical
motor. The motor controller is changed to control the selected motor type, so that
the power supply to the motor in terms of voltage, current or power can still be controlled
by the multi-variable feedback type of control, based on multiple simultaneous feedback
variables as described above.
[0084] In a range of alternative embodiments, the switched mode power stage and/or pulse
width modulation is replaced by other technologies or methods that can control the
power supply to the motor in terms of voltage, current, power or other parameters
suited to control the motor in a multi variable feedback control loop, as described
above.
[0085] In a range of alternative embodiments, the electrical motor and the power controller
for it, is replaced by a hydraulic or pneumatic motor combined with a suitable power
supply and/or valve that allow the motor to be placed in a multi variable feedback
control loop as described above.
[0086] In a range of alternative embodiments, the linear function g() in the multi variable
feedback control, is replaced with a nonlinear and/or adaptive function or algorithm,
with the purpose to optimize the coefficients of feedback in relation to an optimization
goal, relevant to the specific application, training or interaction. The function
or algorithm can for instance be designed to minimize the time it takes to achieve
the desired combination of physical properties in the multi-variable feedback control,
by designing the function according to the theory of "time optimal control" as described
in literature such as [
LaSalle, J. P. "Time optimal control systems." Proceedings of the National Academy
of Sciences of the United States of America 45.4 (1959): 573] or be designed to optimize other aspects, for instance using the principles described
in
[Kalman, Rudolf Emil. "Contributions to the theory of optimal control." Bol. soc. mat.
mexicana 5.2 (1960): 102-119.] or [
Stein, Günter, and Michael Athans. "The LQG/LTR procedure for multivariable feedback
control design." IEEE Transactions on Automatic Control 32.2 (1987): 105-1]
[0087] In alternative embodiment, the drum is replaced by another rotary element that transfer
torque of the motor into linear force in the cable through friction, magnetism, detention,
protrusions, notches, cogs, teeth, or other means that can withhold a pliable element
in the lengthwise direction.
[0088] In an alternative embodiment, the motor is directly or via brackets, attached to
a torque sensor, so the cable force is calculated from measurements of motor torque,
or torque applied to the drum or other rotary element with contact to the cable or
other pliable element.
[0089] In an alternative embodiment, the cable or other pliable element pass one or more
mechanical elements such as a wheels or rolls in a way so that the tension of the
cable is fully or partially translated into normal force on the wheel or roll. The
wheel or roll being attached to a sensor that allow the normal force to be measured
or calculated from measurements, in a way that allow cable tension to be calculated
from said measurement.
[0090] In a range of alternative embodiments, the physical parameters chosen as feedback
for the multi variable feedback motor control and/or input to the state machine is
expanded or replaced with other combinations of physical parameters relevant for the
training or interaction in question. This can be achieved by including relevant sensors
in the training unit, or by connecting relevant sensors externally to the training
unit. The sensors may include sensors that can measure for instance: position, velocity,
acceleration, angle, angular velocity, angular acceleration, force, torqe, spacial
position, spatial velocity or spatial orientation of the cable, of equipment or devices
attached to the cable, the body or body parts of the user. The sensors may also include
sensors to measure properties of the users body, including heart rate, breathing,
sweating, muscle tone, or neural signals.
[0091] In an alternative embodiment, the training unit is connected indirectly to the body
using one or more connected levers, sprockets, drive wheels, pulleys or similar mechanical
elements suited to change the direction or the balance between force and motion, for
instance from linear motion of the cable, to rotary motion of a handle, grip, pad,
pedal, armrest, footplate, strap or similar interface to the body. Figure 3-C illustrate
a
training unit {X} which
cable {7} is threaded through a
pulley {V} to change the balance between force and motion transferred to the user {S}. The
user is thus connected to the training unit through a
harness {W} and pulley. Figure 3-D illustrate a
training unit {X} which
cable {7} is connected to a
footplace {R}, that can move along an arc due to it's mounting on a set
levers {P} connected to
hinges {Q}, that allow the levers and footplate to swing relatively to a
mount {O} holding a
seat {T} where the
user {S} can reside. The user is connected to the training unit through the footplate
and lever, being pulled by the cable.
[0092] In an alternative embodiment, the control unit contain one or more storage media
whereon relevant measurements and calculations are stored during use. The storage
media can be integrated with the control unit or be replaceable or exchangeable, so
measurements can be transported by dislodging or exchanging the storage media or medias.
[0093] In an alternative embodiment, the control unit is connected to one or more external
computers or network of computers through the INTERNET or through one or more electrical,
optical or radio based connections.
[0094] In an alternative embodiment, the control unit is fully or partially placed outside
the training unit, for instance in the shape of a personal computer or similar commercially
available computing unit, that implement part of the control unit's functionality,
and communicate with the parts that remain integrated with the training unit.
[0095] In an alternative embodiment, more than one training units are connected and may
exchange information, in order to allow synchronous control of more than one cable.
Figure 3-B illustrate two
training units {X} which cables are connected to either end of a
lifting bar {Z}. The user is connected to the training units through the lifting bar.
[0096] In an alternative embodiment, more than 1 training unit is combined to interact with
the user with force and motion in more than one direction. For instance, 3 training
units placed in a triangle above the user, can combine their cables in a single point
to form a parallel kinematic structure, that can assert upward force in a 3 dimensional
space within the space spanned by the training units. In the same fashion, more than
1 training units can be applied to different points of the body, enabling interaction
across bodily joints. In a similar fashion, 2 training units can be mounted below
the user, and pull either end of a weightlifting bar through their individual cables.
[0097] In an alternative embodiment, the control unit or a computer connected to the control
unit is connected to one or more displays, projectors, printers or other units that
can display still or animated text, numbers, pictures or graphics to the user, in
order to provide visual biofeedback while the training and/or interaction is taking
place, and/or after it has taken place.
[0098] In an alternative embodiment, the control unit or a computer connected to the control
unit, is connected with one or more loudspeakers, headphones or other controllable
sound sources, that can play sounds, instructions or music that contain or is influenced
by information about the training or interaction.
[0099] In an alternative embodiment, the external or internal energy supply for the training
unit is supplemented or replaced by an internal energy storage, such as an accumulator
or capacitor, that allow the training unit to operate fully or partially independently
of external power supply, being charged by external power occasionally, or possibly
being charged by the electromotoric force of the units motor, harvesting energy exerted
by the user when training.