<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE ep-patent-document PUBLIC "-//EPO//EP PATENT DOCUMENT 1.5.1//EN" "ep-patent-document-v1-5-1.dtd">
<!-- This XML data has been generated under the supervision of the European Patent Office -->
<ep-patent-document id="EP20184731A1" file="EP20184731NWA1.xml" lang="en" country="EP" doc-number="3936197" kind="A1" date-publ="20220112" status="n" dtd-version="ep-patent-document-v1-5-1">
<SDOBI lang="en"><B000><eptags><B001EP>ATBECHDEDKESFRGBGRITLILUNLSEMCPTIESILTLVFIROMKCYALTRBGCZEEHUPLSKBAHRIS..MTNORSMESMMAKHTNMD..........</B001EP><B005EP>J</B005EP><B007EP>BDM Ver 2.0.14 (4th of August) -  1100000/0</B007EP></eptags></B000><B100><B110>3936197</B110><B120><B121>EUROPEAN PATENT APPLICATION</B121></B120><B130>A1</B130><B140><date>20220112</date></B140><B190>EP</B190></B100><B200><B210>20184731.6</B210><B220><date>20200708</date></B220><B250>en</B250><B251EP>en</B251EP><B260>en</B260></B200><B400><B405><date>20220112</date><bnum>202202</bnum></B405><B430><date>20220112</date><bnum>202202</bnum></B430></B400><B500><B510EP><classification-ipcr sequence="1"><text>A63B  21/005       20060101AFI20201207BHEP        </text></classification-ipcr><classification-ipcr sequence="2"><text>A63B  21/04        20060101ALI20201207BHEP        </text></classification-ipcr><classification-ipcr sequence="3"><text>A63B  21/072       20060101ALI20201207BHEP        </text></classification-ipcr><classification-ipcr sequence="4"><text>A63B  21/00        20060101ALI20201207BHEP        </text></classification-ipcr><classification-ipcr sequence="5"><text>A63B  21/16        20060101ALI20201207BHEP        </text></classification-ipcr><classification-ipcr sequence="6"><text>A63B  23/04        20060101ALI20201207BHEP        </text></classification-ipcr><classification-ipcr sequence="7"><text>A63B  23/12        20060101ALI20201207BHEP        </text></classification-ipcr><classification-ipcr sequence="8"><text>A63B  24/00        20060101ALI20201207BHEP        </text></classification-ipcr><classification-ipcr sequence="9"><text>A63B  23/035       20060101ALI20201207BHEP        </text></classification-ipcr><classification-ipcr sequence="10"><text>A61H   1/02        20060101ALN20201207BHEP        </text></classification-ipcr></B510EP><B520EP><classifications-cpc><classification-cpc sequence="1"><text>A63B  23/1236      20130101 LI20201201BHEP        </text></classification-cpc><classification-cpc sequence="2"><text>A63B  21/0442      20130101 LI20201201BHEP        </text></classification-cpc><classification-cpc sequence="3"><text>A63B  21/0435      20130101 LI20201201BHEP        </text></classification-cpc><classification-cpc sequence="4"><text>A63B2220/40        20130101 LA20201201BHEP        </text></classification-cpc><classification-cpc sequence="5"><text>A61H2203/0425      20130101 LA20201201BHEP        </text></classification-cpc><classification-cpc sequence="6"><text>A61H2201/164       20130101 LA20201201BHEP        </text></classification-cpc><classification-cpc sequence="7"><text>A63B  23/0355      20130101 LI20201201BHEP        </text></classification-cpc><classification-cpc sequence="8"><text>A61H2201/5035      20130101 LA20201201BHEP        </text></classification-cpc><classification-cpc sequence="9"><text>A61H2201/50        20130101 LA20201201BHEP        </text></classification-cpc><classification-cpc sequence="10"><text>A61H2201/1635      20130101 LA20201201BHEP        </text></classification-cpc><classification-cpc sequence="11"><text>A61H2203/0406      20130101 LA20201201BHEP        </text></classification-cpc><classification-cpc sequence="12"><text>A61H2201/5061      20130101 LA20201201BHEP        </text></classification-cpc><classification-cpc sequence="13"><text>A61H2201/1215      20130101 LA20201201BHEP        </text></classification-cpc><classification-cpc sequence="14"><text>A61H   1/0237      20130101 LA20201201BHEP        </text></classification-cpc><classification-cpc sequence="15"><text>A63B  21/16        20130101 LI20201201BHEP        </text></classification-cpc><classification-cpc sequence="16"><text>A63B2220/30        20130101 LA20201201BHEP        </text></classification-cpc><classification-cpc sequence="17"><text>A63B2220/50        20130101 LA20201201BHEP        </text></classification-cpc><classification-cpc sequence="18"><text>A63B  21/0724      20130101 LI20201201BHEP        </text></classification-cpc><classification-cpc sequence="19"><text>A63B2024/0068      20130101 LA20201201BHEP        </text></classification-cpc><classification-cpc sequence="20"><text>A63B2220/13        20130101 LA20201201BHEP        </text></classification-cpc><classification-cpc sequence="21"><text>A63B2220/62        20130101 LA20201201BHEP        </text></classification-cpc><classification-cpc sequence="22"><text>A63B2208/0204      20130101 LA20201201BHEP        </text></classification-cpc><classification-cpc sequence="23"><text>A63B2024/0093      20130101 LA20201201BHEP        </text></classification-cpc><classification-cpc sequence="24"><text>A63B2023/0411      20130101 LA20201201BHEP        </text></classification-cpc><classification-cpc sequence="25"><text>A63B2220/803       20130101 LA20201201BHEP        </text></classification-cpc><classification-cpc sequence="26"><text>A63B2208/0247      20130101 LA20201201BHEP        </text></classification-cpc><classification-cpc sequence="27"><text>A61H   1/0274      20130101 LA20201201BHEP        </text></classification-cpc><classification-cpc sequence="28"><text>A63B  23/0429      20130101 LI20201201BHEP        </text></classification-cpc><classification-cpc sequence="29"><text>A63B  21/153       20130101 LI20201201BHEP        </text></classification-cpc><classification-cpc sequence="30"><text>A63B  24/0087      20130101 LA20201201BHEP        </text></classification-cpc><classification-cpc sequence="31"><text>A63B  21/00178     20130101 LI20201201BHEP        </text></classification-cpc><classification-cpc sequence="32"><text>A63B  21/00181     20130101 LI20201201BHEP        </text></classification-cpc><classification-cpc sequence="33"><text>A63B  21/4035      20151001 LI20201201BHEP        </text></classification-cpc><classification-cpc sequence="34"><text>A63B  21/4007      20151001 LI20201201BHEP        </text></classification-cpc><classification-cpc sequence="35"><text>A63B  21/4043      20151001 LI20201201BHEP        </text></classification-cpc><classification-cpc sequence="36"><text>A63B  21/0059      20151001 FI20201201BHEP        </text></classification-cpc></classifications-cpc></B520EP><B540><B541>de</B541><B542>ZUSTANDSGESTEUERTE TRAININGSEINHEIT ZUM KÖRPERLICHEN TRAINING MIT KABELANTRIEB</B542><B541>en</B541><B542>A STATE CONTROLLED TRAINING UNIT FOR PHYSICAL TRAINING WITH CABLE DRIVE</B542><B541>fr</B541><B542>UNITÉ D'ENTRAÎNEMENT À CONTRÔLE D'ÉTAT POUR ENTRAÎNEMENT PHYSIQUE À COMMANDE PAR CÂBLE</B542></B540><B560><B565><date>20201211</date></B565></B560><B590><B598>1</B598></B590></B500><B700><B710><B711><snm>Stengaard Sørensen, Anders</snm><iid>101863602</iid><irf>160287/BJ/MT</irf><adr><str>Møllemarksvej 27B</str><city>5200 Odense V</city><ctry>DK</ctry></adr></B711></B710><B720><B721><snm>Stengaard Sørensen, Anders</snm><adr><str>Møllemarksvej 27B</str><city>5200 Odense V</city><ctry>DK</ctry></adr></B721></B720><B740><B741><snm>Budde Schou A/S</snm><iid>101417042</iid><adr><str>Dronningens Tvaergade 30</str><city>1302 Copenhagen K</city><ctry>DK</ctry></adr></B741></B740></B700><B800><B840><ctry>AL</ctry><ctry>AT</ctry><ctry>BE</ctry><ctry>BG</ctry><ctry>CH</ctry><ctry>CY</ctry><ctry>CZ</ctry><ctry>DE</ctry><ctry>DK</ctry><ctry>EE</ctry><ctry>ES</ctry><ctry>FI</ctry><ctry>FR</ctry><ctry>GB</ctry><ctry>GR</ctry><ctry>HR</ctry><ctry>HU</ctry><ctry>IE</ctry><ctry>IS</ctry><ctry>IT</ctry><ctry>LI</ctry><ctry>LT</ctry><ctry>LU</ctry><ctry>LV</ctry><ctry>MC</ctry><ctry>MK</ctry><ctry>MT</ctry><ctry>NL</ctry><ctry>NO</ctry><ctry>PL</ctry><ctry>PT</ctry><ctry>RO</ctry><ctry>RS</ctry><ctry>SE</ctry><ctry>SI</ctry><ctry>SK</ctry><ctry>SM</ctry><ctry>TR</ctry></B840><B844EP><B845EP><ctry>BA</ctry></B845EP><B845EP><ctry>ME</ctry></B845EP></B844EP><B848EP><B849EP><ctry>KH</ctry></B849EP><B849EP><ctry>MA</ctry></B849EP><B849EP><ctry>MD</ctry></B849EP><B849EP><ctry>TN</ctry></B849EP></B848EP></B800></SDOBI>
<abstract id="abst" lang="en">
<p id="pa01" num="0001">The state controlled training unit for physical training with cable drive is relevant for people in want or need of specialized physical training, where force and motion can be transmitted through a cable, including athletes, fitness enthusiasts and rehab patients. The invention solve the problem of repetitive and monotonous physical interaction associated with existing cable drive training units. The novelty draw from framing the inherent exchange of force and motion between user and unit, with a combination of multivariable feedback control and interactive state machines, that can produce and recognize motion/force sequences that are vastly more complex than the static setting or binary back, forth, back, forth ... sequences, associated with previous technology. The invention can be implemented using component and techniques know to practitioners in the fields of automation and computer science.
<img id="iaf01" file="imgaf001.tif" wi="64" he="147" img-content="drawing" img-format="tif"/></p>
</abstract>
<description id="desc" lang="en"><!-- EPO <DP n="1"> -->
<p id="p0001" num="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.</p>
<p id="p0002" num="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.</p>
<p id="p0003" num="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.</p>
<p id="p0004" num="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.</p>
<p id="p0005" num="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.<!-- EPO <DP n="2"> --></p>
<p id="p0006" num="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.</p>
<p id="p0007" num="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.</p>
<p id="p0008" num="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.</p>
<p id="p0009" num="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.</p>
<p id="p0010" num="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.<!-- EPO <DP n="3"> --></p>
<p id="p0011" num="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.</p>
<p id="p0012" num="0012"><patcit id="pcit0001" dnum="DK179003P1"><text>DK 179003 P1</text></patcit> describe a motorized winch, that can perform measurements and assist a user with motion training through a cable.</p>
<p id="p0013" num="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.</p>
<p id="p0014" num="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).</p>
<p id="p0015" num="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<!-- EPO <DP n="4"> --> states, such as <i>forward, backward, forward, backward....</i> With only position and/or force to instigate a switch between them.</p>
<p id="p0016" num="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.<br/>
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.<br/>
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.</p>
<p id="p0017" num="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<!-- EPO <DP n="5"> --> 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.</p>
<p id="p0018" num="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.</p>
<p id="p0019" num="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.</p>
<p id="p0020" num="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<!-- EPO <DP n="6"> --> 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.</p>
<p id="p0021" num="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.</p>
<p id="p0022" num="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.</p>
<p id="p0023" num="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:<br/>
A training unit for physical training or rehabilitation of a person comprising
<ul id="ul0001" list-style="dash">
<li>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,</li>
<li>a first sensor for measuring a first kinematic quantity of said training unit,<!-- EPO <DP n="7"> --></li>
<li>a second sensor for measuring a second kinematic quantity of said training unit,</li>
<li>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,</li>
</ul>
each respective state defining a first target kinematic quantity of said training unit, and a second target kinematic quantity of said training unit,<br/>
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.</p>
<p id="p0024" num="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.</p>
<p id="p0025" num="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.<!-- EPO <DP n="8"> --></p>
<p id="p0026" num="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.</p>
<p id="p0027" num="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.</p>
<p id="p0028" num="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.</p>
<p id="p0029" num="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:
<ul id="ul0002" list-style="bullet" compact="compact">
<li>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.</li>
<li>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.</li>
</ul><!-- EPO <DP n="9"> --></p>
<p id="p0030" num="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.</p>
<p id="p0031" num="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.</p>
<p id="p0032" num="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.</p>
<p id="p0033" num="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.
<ul id="ul0003" list-style="none">
<li><figref idref="f0001">Figure 1</figref> show two similar embodiments of the training unit. <figref idref="f0001">Figure 1-a</figref> show a ceiling mounted embodiment and <figref idref="f0001">figure 1-b</figref> show a rail mounted embodiment.</li>
<li><figref idref="f0002">Figure 2</figref> 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.</li>
<li><figref idref="f0003">Figure 3</figref> 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.</li>
</ul><!-- EPO <DP n="10"> --></p>
<heading id="h0001"><b>Multi-variable feedback motor control</b></heading>
<p id="p0034" num="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: <b><i>x</i></b> □ <i><b>R</b><sup>N</sup></i>, and the MISO control is defined as the vector function: <i><b>f</b>: <b>R</b></i><sup><i><b>(</b>N</i>+<i>M)</i></sup> → <b><i>R</i></b> that calculate output for the motor: <i>y</i> □ <b><i>R</i></b> as a function of <b><i>x</i></b> and the M relevant target values for the physical values of the system.</p>
<p id="p0035" num="0035">Usually, but not necessarily, <i>M</i>=<i>N</i>. Theory and practice for multi-variable feedback control is well known by practitioners and taught through standard textbooks such as: <i>[</i><nplcit id="ncit0001" npl-type="b"><text>Skogestad, Sigurd, and Ian Postlethwaite: "Multivariable feedback control: Analysis and design." Vol. 2. New York: Wiley, 2007</text></nplcit><i>.]</i> or<br/>
<i>[</i><nplcit id="ncit0002" npl-type="s"><text>Jannerup, Ole Erik, og Paul Hasse Sørensen. "Reguleringsteknik, 4. udgave." (2006</text></nplcit><i>)</i>.]</p>
<p id="p0036" num="0036">In control systems that drive the relevant physical variables against a specific combination, the function: <b><i>f</i></b> 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: <i>F</i> with, position: <i>I,</i> velocity: <i>dl</i>/<i>dt</i> or acceleration: <i>d<sup>2</sup>l</i>/<i>dt</i><sup>2</sup>, 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:<!-- EPO <DP n="11"> --> <maths id="math0001" num=""><math display="block"><mrow><mo>"</mo><mi>Spring force</mi><mo>"</mo><mo>:</mo><mi>F</mi><mo>=</mo><mo>−</mo><mi>k</mi><mo>*</mo><mi>l</mi></mrow></math><img id="ib0001" file="imgb0001.tif" wi="43" he="6" img-content="math" img-format="tif"/></maths> <maths id="math0002" num=""><math display="block"><mrow><mo>"</mo><mi>Friction force</mi><mo>"</mo><mo>:</mo><mi>F</mi><mo>=</mo><mo>−</mo><mi>k</mi><mo>*</mo><mi mathvariant="italic">dl</mi><mo>/</mo><mi mathvariant="italic">dt</mi></mrow></math><img id="ib0002" file="imgb0002.tif" wi="52" he="5" img-content="math" img-format="tif"/></maths> <maths id="math0003" num=""><math display="block"><mrow><mo>"</mo><mi>Inertial force</mi><mo>"</mo><mo>:</mo><mi>F</mi><mo>=</mo><mo>−</mo><mi>k</mi><mo>*</mo><msup><mi>d</mi><mn>2</mn></msup><mi>l</mi><mo>/</mo><msup><mi mathvariant="italic">dt</mi><mn>2</mn></msup></mrow></math><img id="ib0003" file="imgb0003.tif" wi="53" he="6" img-content="math" img-format="tif"/></maths> "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.</p>
<p id="p0037" num="0037">Emulation of mechanical impedance or admittance via computer controlled motors is well known among practitioners, and is widely used in attempts at reproducing human motion in robotics. The method is described in textbooks such as:<br/>
[<nplcit id="ncit0003" npl-type="b"><text>Ott, Christian. "Cartesian impedance control of redundant and flexible-joint robots." Springer, 2008</text></nplcit><i>.</i>] Examples of applications of the method are found in patents like: <i>[Reiland, Matthew J., et al. "Joint-space impedance control for tendon-driven manipulators."</i> <patcit id="pcit0002" dnum="US8060250B"><text>U.S. Patent No. 8,060,250. 15 Nov. 2011</text></patcit><i>]</i></p>
<heading id="h0002"><b>Motors</b></heading>
<p id="p0038" num="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<!-- EPO <DP n="12"> --> 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: [<nplcit id="ncit0004" npl-type="b"><text>Bose, Bimal K. "Power electronics and motor drives advances and trends". Elsevier, 2010</text></nplcit><i>.]</i></p>
<p id="p0039" num="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.</p>
<p id="p0040" num="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<!-- EPO <DP n="13"> --> 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:<br/>
[<nplcit id="ncit0005" npl-type="b"><text>Rasmussen, Peter Windfeld. "Hydraulik ståbi." Teknisk forlag, 1996</text></nplcit>. and <nplcit id="ncit0006" npl-type="b"><text>Parr, Andrew. "Hydraulics and pneumatics: a technician's and engineer's guide." Elsevier, 2011</text></nplcit><i>.]</i></p>
<heading id="h0003"><b>Sequencing:</b></heading>
<p id="p0041" num="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.</p>
<p id="p0042" num="0042">In <patcit id="pcit0003" dnum="DK179003P1"><text>DK 179003 P1</text></patcit>, 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". <patcit id="pcit0004" dnum="DK179003P1"><text>DK 179003 P1</text></patcit> state a few examples of conditions for state change, but none that encompass both force and position combined.</p>
<p id="p0043" num="0043">Normal written or spoken language is inadequate to precisely describe systems with even just a a few states and simple conditions for state changes. Practitioners prefer strict mathematical notation and concepts for describing even simple systems. The predominant notation and methodology for describing systems with states and rules for state changes - so called "state machines" - is know as "Automata theory" and apply to formal specification and analysis of all types of sequential control, independent of the technology used to implement the system that control the sequences, although practitioners are chiefly familiar with automata theory in relation to electrical (digital) systems and computer software. Automata theory in relation to electrical systems is described in literature such as: [<nplcit id="ncit0007" npl-type="b"><text>Elektronikståbi 8. udgave, Ingeniørens forlag 2013</text></nplcit>] and [<nplcit id="ncit0008" npl-type="b"><text>John F. Wakerly: Digital Design --- Principles and Practices 4. edition, ISBN: 0-13-186389-4</text></nplcit>.] Automata theory, it's notation and application in software is described more comprehensively in computer science literature, such as: [<nplcit id="ncit0009" npl-type="b"><text>Henning Christiansen: Sprog og abstrakte maskiner 3. reviderede udgave Roskilde<!-- EPO <DP n="14"> --> Universitetscenter, Datalogi --- Modul 2, 2000</text></nplcit>] and [<nplcit id="ncit0010" npl-type="s"><text>Thomas A. Sudkamp: "Laguages and Machines" Januar 1991, ISBN 0-201-15768-3</text></nplcit>.]</p>
<p id="p0044" num="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:
<ul id="ul0004" list-style="dash" compact="compact">
<li>A finite set: <i>S</i> of <i>N</i> discrete states: <i>{s<sub>0</sub></i>,<i>s<sub>1</sub></i>,...<i>s<sub>N</sub>}</i>, whereof one, for instance: s<i><sub>0</sub></i> is designated as the start state of the state machine.</li>
<li>An input "alphabet": <i>∑</i> consisting of a finite number of inputs.</li>
<li>An output alphabet: <i>Γ</i> consisting of a finite number of outputs.</li>
<li>A transition function: <i>δ: (S</i> × <i>∑)</i> → <i>S</i> that define how combinations of "current state" - which is a member of <i>S</i>, and current input - which is a member of <i>Σ</i>, combine to define the "next state" which is also a member of <i>S</i>.</li>
</ul></p>
<p id="p0045" num="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 <i>δ</i>. 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 <i>δ</i>.</p>
<p id="p0046" num="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.</p>
<p id="p0047" num="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, <i>s<sub>0</sub>, ∑, Γ and δ</i> elements defined above the Moore variation of DFA's also feature an output function: <i>ω</i> : <i>S</i> → <i>Γ</i> that define how the output depend solely on the current state of the DFA. The alternative Mealy type, feature an output function: <i>ω : (S</i> × <i>∑)</i> → <i>Γ</i> 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.<!-- EPO <DP n="15"> --></p>
<p id="p0048" num="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: [<nplcit id="ncit0011" npl-type="b"><text>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</text></nplcit><i>.]</i></p>
<p id="p0049" num="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.</p>
<p id="p0050" num="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<!-- EPO <DP n="16"> --> relate only to state machines involved in the user interaction that is part of the physical training which the unit participate in.</p>
<p id="p0051" num="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".</p>
<heading id="h0004"><b>Other types of state machines</b></heading>
<p id="p0052" num="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 = <i>{ "Passive", "Alert", "Patrolling", "Attacking"}.</i> Where the change between each state is conditioned by parameters like distance to the players character, the passage of time or similar conditions.</p>
<p id="p0053" num="0053">In connection to computer games, it is also common practice to apply other types of state machines or automatons than the DFA described above. A more life-like simulation of behaviors can be achieved by allowing a gradual change between states. This can be achieved by utilizing "Fuzzy logic" in the conditions for state change, possibly<!-- EPO <DP n="17"> --> combined with defining states as fuzzy sets. Fuzzy state machines are known to practitioners, and well described in literature such as: [<nplcit id="ncit0012" npl-type="b"><text>Johnson, Daniel, and Janet Wiles. "Computer games with intelligence." 10th IEEE International Conference on Fuzzy Systems. (Cat. No. 01CH37297). Vol. 3. IEEE, 2001</text></nplcit><i>.]</i> or [<nplcit id="ncit0013" npl-type="s"><text>Doostfatemeh, Mansoor, og Stefan C. Kremer. "New directions in fuzzy automata." International Journal of Approximate Reasoning 38.2 (2005): 175-214</text></nplcit><i>.]</i></p>
<p id="p0054" num="0054">The theoretical and practical aspects of both fuzzy sets, -relations, -functions, -variables, -rules and -state machines are well known to practitioners and described in textbooks such as: [<nplcit id="ncit0014" npl-type="b"><text>Mordeson, John N., and Davender S. Malik: "Fuzzy automata and languages: theory and applications." Chapman and Hall/CRC, 2002</text></nplcit><i>.]</i> or [<nplcit id="ncit0015" npl-type="b"><text>Jantzen, Jan: "Foundations of fuzzy control." Vol. 209. West Sussex: John Wiley \&amp; Sons, 2007</text></nplcit><i>.]</i></p>
<p id="p0055" num="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.</p>
<p id="p0056" num="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.</p>
<p id="p0057" num="0057">Like the DFA, the PDA and the Turing Machine also have fuzzy counterparts, where the state transition can be gradual. Literature describe this, for instance in: [<nplcit id="ncit0016" npl-type="b"><text>Mordeson, John N., and Davender S. Malik. "Fuzzy automata and languages: theory and applications". Chapman and Hall/CRC, 2002</text></nplcit>.<i>]</i>and [<nplcit id="ncit0017" npl-type="s"><text>Li, Yongming. "Fuzzy Turing machines: variants and universality." IEEE Transactions on Fuzzy Systems 16.6 (2008): 1491-1502</text></nplcit><i>.]</i><!-- EPO <DP n="18"> --></p>
<p id="p0058" num="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: [<nplcit id="ncit0018" npl-type="b"><text>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</text></nplcit>.]</p>
<heading id="h0005"><b>Biofeedback</b></heading>
<p id="p0059" num="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.</p>
<p id="p0060" num="0060">In an embodiment shown in <figref idref="f0001">figure 1</figref>, the training unit consist of an open or closed mechanical <b>frame</b> {1}, that can be attached directly, via <b>brackets</b> {2} or similar connection mechanisms, to <b>ceilings</b> {3}, walls, surfaces, rods, racks, <b>rails</b> {4}, or other bodies that have strength to carry the mechanical loads from the training.</p>
<p id="p0061" num="0061"><figref idref="f0001">Figure 1</figref> shows examples of fixed <b>ceiling</b> {1} mounting via <b>brackets</b> {2}, or mounting on overhanging rail {4} with <b>wheels</b> {6}, balls, gliders or similar bodies that allow motion.</p>
<p id="p0062" num="0062">An electric <b>motor</b> {8} is mounted in the frame using a <b>gear</b> {d} and a <b>drum</b> {c} to wind up a <b>cable</b> {7}, wire, string, band, ribbon, chain or other pliable element. The device's<!-- EPO <DP n="19"> --> <b>motor</b> {8} is, directly or via bracket or sub-frame, mounted on one or more <b>load-cells</b> {9}, allowing the cable force to be calculated from the load measurement, by an embedded <b>controller</b> {a} that contains a multi variable feedback <b>motor controller</b> {h} and a <b>sequence controller</b> {5} in the form of a computer or processor that implements a state machine.</p>
<p id="p0063" num="0063">The motor {8} is also fitted with a <b>shaft angle sensor</b> {b} so<br/>
cable length can be calculated from the rotation of the motor shaft by the same <b>controller</b> {a}. The cable leaves the frame through a <b><i>hawsehole</i></b> {e}, in front of which a <b>range-finder</b> {f} that can detect the distance: <i>d</i> to objects thicker than the <b>cable</b> {7}, so the <b>controller</b> {a} become able to detect fingers, hands or other obstacles getting close enough to the <b>hawsehole</b> {e} to risk collision, crushing or bodily damage to the user, as well as overload or damage to the training unit.</p>
<p id="p0064" num="0064">The training unit contains a <b>timer</b> {g} that enable the <b>controller</b> {a} to measure and/or calculate the passage of time in relation to relevant time references.</p>
<p id="p0065" num="0065">The power supply to the unit is external via a <b>cable connection</b> {k}, via electric conductive <b>rails</b> {4}, or possibly internal via battery.</p>
<p id="p0066" num="0066">The power supply to the motor is controlled by a <b>motor control unit</b> {h}, which is shown as part of the overall controller {a}, shown in detail in <figref idref="f0002">figure 2</figref>.</p>
<p id="p0067" num="0067">The <b>motor control unit</b> {h} controls the voltage: <i>U</i> of the <b>motor</b> {8} electro-magnetic circuit as a function: <i>g ()</i> of the real, measured or calculated values for:
<ol id="ol0001" compact="compact" ol-style="">
<li>1) real cable length: <i>x<sub>r</sub></i> calculated from measured motor shaft position, using previous calibration with respect to cable length.</li>
<li>2) real cable velocity: <i>v<sub>r</sub></i> calculated as the rate of change of cable position over time.</li>
<li>3) real cable force: <i>F<sub>r</sub></i> calculated from load cell measurements.</li>
</ol></p>
<p id="p0068" num="0068">In addition, the function: g() use "target" values for the same physical values:
<ol id="ol0002" compact="compact" ol-style="">
<li>1) target cable position: <i>x<sub>t</sub></i></li>
<li>2) target cable speed: <i>v<sub>t</sub></i></li>
<li>3) target cable force: <i>F<sub>t</sub></i></li>
</ol><!-- EPO <DP n="20"> --></p>
<p id="p0069" num="0069">Finally, the function <i>g()</i> also use coefficients that weigh the importance of controlling the motor so that each of the desired values is obtained:
<ol id="ol0003" compact="compact" ol-style="">
<li>1) weight of motor shaft position: <i>k<sub>x</sub></i></li>
<li>2) weight of motor speed <i>k<sub>v</sub></i></li>
<li>3) weight of cable force: <i>k<sub>F</sub></i></li>
</ol></p>
<p id="p0070" num="0070">For a DC motor with electro-magnetic circuit voltage: U, the function: <i>g()</i> is implemented as: <maths id="math0004" num=""><math display="block"><mrow><mi mathvariant="normal">g</mi><mfenced separators=",,,,,,,,"><msub><mi>x</mi><mi>r</mi></msub><msub><mi>v</mi><mi>r</mi></msub><msub><mi>F</mi><mi>r</mi></msub><msub><mi>x</mi><mi>t</mi></msub><msub><mi>v</mi><mi>t</mi></msub><msub><mi>F</mi><mi>t</mi></msub><msub><mi>k</mi><mi>x</mi></msub><msub><mi>k</mi><mi>v</mi></msub><msub><mi>k</mi><mi>F</mi></msub></mfenced><mo>=</mo><msub><mi>k</mi><mi>x</mi></msub><mfenced separators=""><msub><mi>x</mi><mi>t</mi></msub><mo>−</mo><msub><mi>x</mi><mi>r</mi></msub></mfenced><mo>+</mo><msub><mi>k</mi><mi>v</mi></msub><mfenced separators=""><msub><mi>v</mi><mi>t</mi></msub><mo>−</mo><msub><mi>v</mi><mi>r</mi></msub></mfenced><mo>+</mo><msub><mi>k</mi><mi>F</mi></msub><mfenced separators=""><msub><mi>F</mi><mi>t</mi></msub><mo>−</mo><msub><mi>F</mi><mi>r</mi></msub></mfenced></mrow></math><img id="ib0004" file="imgb0004.tif" wi="112" he="6" img-content="math" img-format="tif"/></maths></p>
<p id="p0071" num="0071"><figref idref="f0002">Figure 2</figref> show the embodiment of the <b>controller</b> {a} as a block diagram.</p>
<p id="p0072" num="0072">The voltage of the electromagnetic circuit is controlled using a class-D (switched mode) <b>power module</b> {α}, providing either 0V, V<sub>max</sub> or <i>-V<sub>max</sub></i> 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, <i>U</i> is the expression of the mean voltage between the DC motor's two electrodes, over a time interval shorter than L<sub>m</sub> / R<sub>m</sub>, where L<sub>m</sub> and R<sub>m</sub> is the self-induction and resistance of the motors electrical circuit. V<sub>max</sub> 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.</p>
<p id="p0073" num="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<sub>max</sub>, 0, -V<sub>max</sub>), or a continuous or sampled signal indicating which mean voltage: <i>U</i> the power module should submit to the motor.</p>
<p id="p0074" num="0074">While the 3 physical values for <i>F<sub>r</sub>, x<sub>r</sub></i> and <i>v<sub>r</sub></i> originate from <b>load cells</b> {9}, <b>shaft angle sensor</b> {b}, combined with <b>timer</b> {g}, the other 6 values: <i>x<sub>t</sub>, v<sub>t</sub>, F<sub>t</sub>, k<sub>x</sub>, k<sub>v</sub>, k<sub>F</sub> -</i> shown together as <b>Config</b> {δ} in <figref idref="f0002">figure 2</figref> - come from a Moore type DFA <b>state machine</b> {5} implemented by a processor in the controller, with input from cable length, cable speed, cable force, and distance: d to any obstacle<!-- EPO <DP n="21"> --> as discussed above. In addition, the state machine has input from one <b>control panel</b> {ε} including a binary setting: <i>b</i> □ <i>{on, off}.</i></p>
<p id="p0075" num="0075">The <b>sequence controller</b> {5} is implemented as a Moore type DFA state machine specified with 3 states: <i>S</i> □ <i>{<b>Stop</b>, Light, Heavy},</i> where <b><i>Stop</i></b> is selected as the start state. In <figref idref="f0002">figure 2</figref>, the <b>states</b> {η} are sketched in compact form as {s0,s1,s2}, where: <i>s0</i>=<i>Stop,s1</i>=<i>Light,s2</i>=<i>Heavy.</i> The DFA's <b>output function</b> {γ} specify the following settings to the motor controller:
<ul id="ul0005" list-style="none" compact="compact">
<li>S = Stop → x<sub>t</sub> = 0 m k<sub>x</sub> = 0V/m v<sub>t</sub> = 0 m/s k<sub>v</sub> = 100 Vs/m F<sub>t</sub> = 0 N k<sub>F</sub> = 0 V/N</li>
<li>S = Light → x<sub>t</sub> = 0 m k<sub>x</sub> = 20 V/m v<sub>t</sub> = 0 m/s k<sub>v</sub> = 0 Vs/m F<sub>t</sub> = 1 N k<sub>F</sub> = 10 V/N</li>
<li>S = Heavy → x<sub>t</sub> = 0 m k<sub>x</sub> = 20 V/m v<sub>t</sub> = 0 m/s k<sub>v</sub> = 0 Vs/m F<sub>t</sub> = 20 N k<sub>F</sub> = 10 V/N</li>
</ul></p>
<p id="p0076" num="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<sub>x</sub> 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<i><sub>r</sub></i> = 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<sub>v</sub> 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<sub>r</sub> = 0.24 m/s. The setting of k<sub>F</sub>= 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.<br/>
The input alphabet of the DFA: <i>∑</i> = <i>{Z, sl, ll, sh, lh, SL, LL, SH, LH}</i> is specified by an <b>input function</b> {Φ} 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 <i>off</i>, or if a hand or other obstacle is closer to the hawsehole than <i>0</i>.<i>1 m</i>, then the input symbol is defined as: <i>Z</i>. Alternatively, the input symbol "<i>SL</i>" is shorthand for "<u>S</u>hort cable, <u>L</u>ow velocity"; "LL" is shorthand for "<u>L</u>ong cable, <u>L</u>ow velocity"; "SH": "<u>S</u>hort cable,<!-- EPO <DP n="22"> --> <u>H</u>igh velocity" and "LH": "<u>L</u>ong cable, <u>H</u>igh velocity". Capital letters indicate that the cable force is "high" while lowercase letters indicate that the force is low.
<tables id="tabl0001" num="0001">
<table frame="all">
<tgroup cols="13">
<colspec colnum="1" colname="col1" colwidth="14mm" align="center"/>
<colspec colnum="2" colname="col2" colwidth="14mm" align="center"/>
<colspec colnum="3" colname="col3" colwidth="15mm" align="center"/>
<colspec colnum="4" colname="col4" colwidth="13mm" align="center"/>
<colspec colnum="5" colname="col5" colwidth="12mm" align="center"/>
<colspec colnum="6" colname="col6" colwidth="9mm" align="center"/>
<colspec colnum="7" colname="col7" colwidth="6mm" align="center"/>
<colspec colnum="8" colname="col8" colwidth="13mm" align="center"/>
<colspec colnum="9" colname="col9" colwidth="14mm" align="center"/>
<colspec colnum="10" colname="col10" colwidth="15mm" align="center"/>
<colspec colnum="11" colname="col11" colwidth="13mm" align="center"/>
<colspec colnum="12" colname="col12" colwidth="12mm" align="center"/>
<colspec colnum="13" colname="col13" colwidth="9mm" align="center"/>
<thead valign="middle">
<row>
<entry><i>σ</i> ⊐<i>∑</i></entry>
<entry><i>x<sub>r</sub> [m]</i></entry>
<entry><i>v<sub>r</sub> [m</i>/<i>s]</i></entry>
<entry><i>F<sub>r</sub> [N]</i></entry>
<entry><i>d [m]</i></entry>
<entry><i>b</i></entry>
<entry/>
<entry><i>σ</i> ⊐ <i>∑</i></entry>
<entry><i>x<sub>r</sub> [m]</i></entry>
<entry><i>v<sub>r</sub> [m</i>/<i>s]</i></entry>
<entry><i>F<sub>r</sub> [N]</i></entry>
<entry><i>d [m]</i></entry>
<entry><i>b</i></entry></row></thead>
<tbody valign="middle">
<row>
<entry><i>Z</i></entry>
<entry>≤ <i>1</i></entry>
<entry>≤ <i>0.1</i></entry>
<entry>≤ <i>1</i></entry>
<entry>≤ <i>0.1</i></entry>
<entry><i>on</i></entry>
<entry/>
<entry><i>Z</i></entry>
<entry>≤ <i>1</i></entry>
<entry>≤ <i>0.1</i></entry>
<entry>≤ <i>1</i></entry>
<entry>≤ <i>0.1</i></entry>
<entry><i>off</i></entry></row>
<row>
<entry><i>Z</i></entry>
<entry>&gt; <i>1</i></entry>
<entry>≤ <i>0.1</i></entry>
<entry>≤ <i>1</i></entry>
<entry>≤ <i>0.1</i></entry>
<entry><i>on</i></entry>
<entry/>
<entry><i>Z</i></entry>
<entry>&gt; <i>1</i></entry>
<entry>≤ <i>0.1</i></entry>
<entry>≤ <i>1</i></entry>
<entry>≤ <i>0.1</i></entry>
<entry><i>off</i></entry></row>
<row>
<entry><i>Z</i></entry>
<entry>≤ <i>1</i></entry>
<entry>&gt; <i>0.1</i></entry>
<entry>≤ <i>1</i></entry>
<entry>≤ <i>0.1</i></entry>
<entry><i>on</i></entry>
<entry/>
<entry><i>Z</i></entry>
<entry>≤ <i>1</i></entry>
<entry>&gt; <i>0.1</i></entry>
<entry>≤ <i>1</i></entry>
<entry>≤ <i>0.1</i></entry>
<entry><i>off</i></entry></row>
<row>
<entry><i>Z</i></entry>
<entry>&gt; <i>1</i></entry>
<entry>&gt; <i>0.1</i></entry>
<entry>≤ <i>1</i></entry>
<entry>≤ <i>0.1</i></entry>
<entry><i>on</i></entry>
<entry/>
<entry><i>Z</i></entry>
<entry>&gt; <i>1</i></entry>
<entry>&gt; <i>0.1</i></entry>
<entry>≤ <i>1</i></entry>
<entry>≤ <i>0.1</i></entry>
<entry><i>off</i></entry></row>
<row>
<entry><i>Z</i></entry>
<entry>≤ <i>1</i></entry>
<entry>≤ <i>0.1</i></entry>
<entry>&gt; <i>1</i></entry>
<entry>≤ <i>0.1</i></entry>
<entry><i>on</i></entry>
<entry/>
<entry><i>Z</i></entry>
<entry>≤ <i>1</i></entry>
<entry>≤ <i>0.1</i></entry>
<entry>&gt; <i>1</i></entry>
<entry>≤ <i>0.1</i></entry>
<entry><i>off</i></entry></row>
<row>
<entry><i>Z</i></entry>
<entry>&gt; <i>1</i></entry>
<entry><i>≤ 0.1</i></entry>
<entry>&gt; <i>1</i></entry>
<entry><i>≤ 0.1</i></entry>
<entry><i>on</i></entry>
<entry/>
<entry><i>Z</i></entry>
<entry>&gt; <i>1</i></entry>
<entry><i>≤ 0.1</i></entry>
<entry>&gt; <i>1</i></entry>
<entry><i>≤ 0.1</i></entry>
<entry><i>off</i></entry></row>
<row>
<entry><i>Z</i></entry>
<entry>≤ <i>1</i></entry>
<entry>&gt; <i>0</i>.<i>1</i></entry>
<entry>&gt; <i>1</i></entry>
<entry><i>≤ 0.1</i></entry>
<entry><i>on</i></entry>
<entry/>
<entry><i>Z</i></entry>
<entry>≤ <i>1</i></entry>
<entry>&gt; <i>0.1</i></entry>
<entry>&gt; <i>1</i></entry>
<entry><i>≤ 0.1</i></entry>
<entry><i>off</i></entry></row>
<row>
<entry><i>Z</i></entry>
<entry>&gt; <i>1</i></entry>
<entry>&gt; <i>0</i>.<i>1</i></entry>
<entry>&gt; <i>1</i></entry>
<entry><i>≤ 0.1</i></entry>
<entry><i>on</i></entry>
<entry/>
<entry><i>Z</i></entry>
<entry>&gt; <i>1</i></entry>
<entry>&gt; <i>0.1</i></entry>
<entry>&gt; <i>1</i></entry>
<entry><i>≤ 0.1</i></entry>
<entry><i>off</i></entry></row>
<row>
<entry><i>sl</i></entry>
<entry>≤ <i>1</i></entry>
<entry><i>≤ 0.1</i></entry>
<entry>≤ <i>1</i></entry>
<entry>&gt; <i>0</i>.<i>1</i></entry>
<entry><i>on</i></entry>
<entry/>
<entry><i>Z</i></entry>
<entry>≤ <i>1</i></entry>
<entry><i>≤ 0.1</i></entry>
<entry>≤ <i>1</i></entry>
<entry>&gt; <i>0</i>.<i>1</i></entry>
<entry><i>off</i></entry></row>
<row>
<entry><i>ll</i></entry>
<entry>&gt; <i>1</i></entry>
<entry><i>≤ 0.1</i></entry>
<entry>≤ <i>1</i></entry>
<entry>&gt; <i>0</i>.<i>1</i></entry>
<entry><i>on</i></entry>
<entry/>
<entry><i>Z</i></entry>
<entry>&gt; <i>1</i></entry>
<entry><i>≤ 0.1</i></entry>
<entry>≤ <i>1</i></entry>
<entry>&gt; <i>0</i>.<i>1</i></entry>
<entry><i>off</i></entry></row>
<row>
<entry><i>sh</i></entry>
<entry>≤ <i>1</i></entry>
<entry>&gt; <i>0.1</i></entry>
<entry>≤ <i>1</i></entry>
<entry>&gt; <i>0</i>.<i>1</i></entry>
<entry><i>on</i></entry>
<entry/>
<entry><i>Z</i></entry>
<entry>≤ <i>1</i></entry>
<entry>&gt; <i>0.1</i></entry>
<entry>≤ <i>1</i></entry>
<entry>&gt; <i>0</i>.<i>1</i></entry>
<entry><i>off</i></entry></row>
<row>
<entry><i>lh</i></entry>
<entry>&gt; <i>1</i></entry>
<entry>&gt; <i>0.1</i></entry>
<entry>≤ <i>1</i></entry>
<entry>&gt; <i>0.1</i></entry>
<entry><i>on</i></entry>
<entry/>
<entry><i>Z</i></entry>
<entry>&gt; <i>1</i></entry>
<entry>&gt; <i>0</i>.<i>1</i></entry>
<entry>≤ <i>1</i></entry>
<entry>&gt; <i>0.1</i></entry>
<entry><i>off</i></entry></row>
<row>
<entry><i>SL</i></entry>
<entry>≤ <i>1</i></entry>
<entry><i>≤ 0.1</i></entry>
<entry>&gt; <i>1</i></entry>
<entry>&gt; <i>0.1</i></entry>
<entry><i>on</i></entry>
<entry/>
<entry><i>Z</i></entry>
<entry>≤ <i>1</i></entry>
<entry><i>≤ 0.1</i></entry>
<entry>&gt; <i>1</i></entry>
<entry>&gt; <i>0</i>.<i>1</i></entry>
<entry><i>off</i></entry></row>
<row>
<entry><i>LL</i></entry>
<entry>&gt; <i>1</i></entry>
<entry><i>≤ 0.1</i></entry>
<entry>&gt; <i>1</i></entry>
<entry>&gt; <i>0.1</i></entry>
<entry><i>on</i></entry>
<entry/>
<entry><i>Z</i></entry>
<entry>&gt; <i>1</i></entry>
<entry><i>≤ 0.1</i></entry>
<entry>&gt; <i>1</i></entry>
<entry>&gt; <i>0.1</i></entry>
<entry><i>off</i></entry></row>
<row>
<entry><i>SH</i></entry>
<entry>≤ <i>1</i></entry>
<entry>&gt; <i>0.1</i></entry>
<entry>&gt; <i>1</i></entry>
<entry>&gt; <i>0.1</i></entry>
<entry><i>on</i></entry>
<entry/>
<entry><i>Z</i></entry>
<entry>≤ <i>1</i></entry>
<entry>&gt; <i>0.1</i></entry>
<entry>&gt; <i>1</i></entry>
<entry>&gt; <i>0.1</i></entry>
<entry><i>off</i></entry></row>
<row>
<entry><i>LH</i></entry>
<entry>&gt; <i>1</i></entry>
<entry>&gt; <i>0.1</i></entry>
<entry>&gt; <i>1</i></entry>
<entry>&gt; <i>0.1</i></entry>
<entry><i>on</i></entry>
<entry/>
<entry><i>Z</i></entry>
<entry>&gt; <i>1</i></entry>
<entry>&gt; <i>0</i>.<i>1</i></entry>
<entry>&gt; <i>1</i></entry>
<entry>&gt; <i>0.1</i></entry>
<entry><i>off</i></entry></row></tbody></tgroup>
</table>
</tables></p>
<p id="p0077" num="0077">The transition function from current state: s to next state: s+ is sketched in compact form as unannotated arrows {η} on <figref idref="f0002">figure 2</figref>, but defined completely by the table below:
<tables id="tabl0002" num="0002">
<table frame="all">
<tgroup cols="3">
<colspec colnum="1" colname="col1" colwidth="15mm" align="center"/>
<colspec colnum="2" colname="col2" colwidth="23mm" align="center"/>
<colspec colnum="3" colname="col3" colwidth="15mm" align="center"/>
<tbody>
<row>
<entry><i>s</i></entry>
<entry><i>σ</i> □ <i>∑</i></entry>
<entry><i>s</i><sub>+</sub></entry></row>
<row>
<entry><i>Light</i></entry>
<entry><i>Z</i></entry>
<entry><i>Stop</i></entry></row>
<row>
<entry><i>Heavy</i></entry>
<entry><i>Z</i></entry>
<entry><i>Stop</i></entry></row>
<row>
<entry><i>Stop</i></entry>
<entry><i>Z</i></entry>
<entry><i>Stop</i></entry></row>
<row>
<entry><i>Stop</i></entry>
<entry><i>sh, SH, sl, SL</i></entry>
<entry><i>Light</i></entry></row>
<row>
<entry><i>Stop</i></entry>
<entry><i>Ih, LH, ll, LL</i></entry>
<entry><i>Heavy</i></entry></row><!-- EPO <DP n="23"> -->
<row>
<entry><i>Light</i></entry>
<entry><i>Ih, ll, LH, LL</i></entry>
<entry><i>Heavy</i></entry></row>
<row>
<entry><i>Light</i></entry>
<entry><i>sl</i></entry>
<entry><i>Stop</i></entry></row>
<row>
<entry><i>Light</i></entry>
<entry><i>sh, SH, SL</i></entry>
<entry><i>Light</i></entry></row>
<row>
<entry><i>Heavy</i></entry>
<entry><i>sh, sl, SH, SL</i></entry>
<entry><i>Light</i></entry></row>
<row>
<entry><i>Heavy</i></entry>
<entry><i>ll</i></entry>
<entry><i>Stop</i></entry></row>
<row>
<entry><i>Heavy</i></entry>
<entry><i>lh, LH, LL</i></entry>
<entry><i>Heavy</i></entry></row></tbody></tgroup>
</table>
</tables></p>
<p id="p0078" num="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 <figref idref="f0003">Figure 3-A</figref>, where the <b>user</b> {S} is using a hand to hold on to the <b>cable</b> {7} directly, or via a <b>strap</b> {U}. The <b>training unit</b> {X} is mounted on the <b>ceiling</b> {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:<br/>
<i>"If the control panel is set to 'off' or a hand comes closer to the hawsehole than 0</i>.<i>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</i>.<i>1 m</i>/<i>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"</i></p>
<p id="p0079" num="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:<br/>
<i>"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"</i></p>
<p id="p0080" num="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<sub>s</sub>. There is no practical upper limit to how high f<sub>s</sub> may be, but limits to the sensors, motor controller or processing units can make it advantageous or necessary to limit f<sub>s</sub>. There is a lower limit to f<sub>s</sub>, 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<sub>r</sub> where t<sub>r</sub> is the users reaction time. Practical experiments have shown<!-- EPO <DP n="24"> --> 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.</p>
<heading id="h0006"><b>Alternative embodiments</b></heading>
<p id="p0081" num="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.</p>
<p id="p0082" num="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<sub>0</sub> ... s<sub>n</sub> is changed to a fuzzy set. The state of the machine is then given as a vector of values: <b>ζ</b> □ [0, 1]<sup>n</sup> 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<!-- EPO <DP n="25"> --> 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: <b>ψ</b> □ [0, 1]<sup>m</sup> 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 <b>and</b> the current input to the next state. An example of such a fuzzy rule is given as follows, using the designation: s, s<sub>+</sub>, x<sub>r</sub> v<sub>r</sub> F<sub>r</sub> 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: <i>"If s is stop <b>and</b> x<sub>r</sub> is short <b>and</b> v<sub>r</sub> is low <b>and</b> d is large and b is on then s</i><sub>+</sub> <i>is Light".</i><br/>
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: <b>ζ</b> is converted into a vector of output values: <b>u</b> though a matrix multiplication so: <b>u</b> = <b>A ζ</b>, where the matrix <b>A</b> uniquely define the output function.<br/>
For Mealy type machines, the state vector <b>ζ</b> and input vector <b>ψ</b> are concatenated so: <b>u</b> = <b>B</b> |<b>ζ ψ</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.</p>
<p id="p0083" num="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.</p>
<p id="p0084" num="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.<!-- EPO <DP n="26"> --></p>
<p id="p0085" num="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.</p>
<p id="p0086" num="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 [<nplcit id="ncit0019" npl-type="s"><text>LaSalle, J. P. "Time optimal control systems." Proceedings of the National Academy of Sciences of the United States of America 45.4 (1959): 573</text></nplcit><i>]</i> or be designed to optimize other aspects, for instance using the principles described in <i>[</i><nplcit id="ncit0020" npl-type="s"><text>Kalman, Rudolf Emil. "Contributions to the theory of optimal control." Bol. soc. mat. mexicana 5.2 (1960): 102-119</text></nplcit><i>.]</i> or [<nplcit id="ncit0021" npl-type="s"><text>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</text></nplcit><i>]</i></p>
<p id="p0087" num="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.</p>
<p id="p0088" num="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.</p>
<p id="p0089" num="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.<!-- EPO <DP n="27"> --></p>
<p id="p0090" num="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.</p>
<p id="p0091" num="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. <figref idref="f0003">Figure 3-C</figref> illustrate a <b>training unit</b> {X} which <b>cable</b> {7} is threaded through a <b>pulley</b> {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 <b>harness</b> {W} and pulley. <figref idref="f0003">Figure 3-D</figref> illustrate a <b>training unit</b> {X} which <b>cable</b> {7} is connected to a <b>footplace</b> {R}, that can move along an arc due to it's mounting on a set <b>levers</b> {P} connected to <b>hinges</b> {Q}, that allow the levers and footplate to swing relatively to a <b>mount</b> {O} holding a <b>seat</b> {T} where the <b>user</b> {S} can reside. The user is connected to the training unit through the footplate and lever, being pulled by the cable.</p>
<p id="p0092" num="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.<!-- EPO <DP n="28"> --></p>
<p id="p0093" num="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.</p>
<p id="p0094" num="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.</p>
<p id="p0095" num="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. <figref idref="f0003">Figure 3-B</figref> illustrate two <b>training units</b> {X} which cables are connected to either end of a <b>lifting bar</b> {Z}. The user is connected to the training units through the lifting bar.</p>
<p id="p0096" num="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.</p>
<p id="p0097" num="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.</p>
<p id="p0098" num="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.<!-- EPO <DP n="29"> --></p>
<p id="p0099" num="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.</p>
</description>
<claims id="claims01" lang="en"><!-- EPO <DP n="30"> -->
<claim id="c-en-0001" num="0001">
<claim-text>A training unit for physical training or rehabilitation of a person comprising
<claim-text>- 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,</claim-text>
<claim-text>- a first sensor for measuring a first kinematic quantity of said training unit,</claim-text>
<claim-text>- a second sensor for measuring a second kinematic quantity of said training unit,</claim-text>
<claim-text>- 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,</claim-text>
each respective state defining a first target kinematic quantity of said training unit, and a second target kinematic quantity of said training unit,<br/>
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.</claim-text></claim>
<claim id="c-en-0002" num="0002">
<claim-text>The training unit according to claim 1, said memory comprising a set of rules constituting a set of threshold values of said first target kinematic quantity, and said second target kinematic quantity for switching between states of said set of states.</claim-text></claim>
<claim id="c-en-0003" num="0003">
<claim-text>The training unit according to any of the preceding claims, said controller arranged for controlling said training unit such that a shift between states in said set of states being a function of said first kinematic quantity and said second kinematic quantity according to said set of rules.</claim-text></claim>
<claim id="c-en-0004" num="0004">
<claim-text>The training unit according to any of the preceding claims, said controller arranged for comparing said first target kinematic quantity, and said second target kinematic quantity to said set of rules for shifting from a first state to a second state.<!-- EPO <DP n="31"> --></claim-text></claim>
<claim id="c-en-0005" num="0005">
<claim-text>The training unit according to any of the preceding claims, comprising a third sensor for measuring a third kinematic quantity of said training unit.</claim-text></claim>
<claim id="c-en-0006" num="0006">
<claim-text>The training unit according to any of the preceding claims, said driving signal being a function of said third kinematic quantity.</claim-text></claim>
<claim id="c-en-0007" num="0007">
<claim-text>The training unit according to any of the preceding claims, a respective state of said set of states being a fuzzy state.</claim-text></claim>
<claim id="c-en-0008" num="0008">
<claim-text>The training unit according to any of the preceding claims , said fuzzy state being a mix between a first state and a second state of said set of states.</claim-text></claim>
<claim id="c-en-0009" num="0009">
<claim-text>The training unit according to any of the preceding claims, each state having a number of state variables.</claim-text></claim>
<claim id="c-en-0010" num="0010">
<claim-text>The training unit according to any of the preceding claims, the state variables of said first state and said second state being weighted.</claim-text></claim>
<claim id="c-en-0011" num="0011">
<claim-text>The training unit according to any of the preceding claims, comprising a device to measure time in relation to external time references, or such as time of day, or internal time references such as time since start of training, or time spent in specific state or states.</claim-text></claim>
<claim id="c-en-0012" num="0012">
<claim-text>The training unit according to any of the preceding claims, said driving signal being a function of one or more time measurements.</claim-text></claim>
<claim id="c-en-0013" num="0013">
<claim-text>The training unit according to any of the preceding claims, said rules for state change including one or more time measurements such that a state change being a function of time.</claim-text></claim>
<claim id="c-en-0014" num="0014">
<claim-text>The training unit according to any of the preceding claims, said set of states including at least 4 states or said set of states including at least 5 states or said set of states including at least 6 states.<!-- EPO <DP n="32"> --></claim-text></claim>
<claim id="c-en-0015" num="0015">
<claim-text>The training unit according to any of the preceding claims, said training unit including a third kinematic quantity, said third kinematic quantity being measured by a third sensor or determined by said controller as a function of time and one of said first kinematic quantity or said second kinematic quantity, said training unit preferably including a clock or timer for determining said time.</claim-text></claim>
</claims>
<drawings id="draw" lang="en"><!-- EPO <DP n="33"> -->
<figure id="f0001" num="1(a),1(b)"><img id="if0001" file="imgf0001.tif" wi="79" he="222" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="34"> -->
<figure id="f0002" num="2"><img id="if0002" file="imgf0002.tif" wi="68" he="229" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="35"> -->
<figure id="f0003" num="3A,3B,3C,3D"><img id="if0003" file="imgf0003.tif" wi="165" he="231" img-content="drawing" img-format="tif"/></figure>
</drawings>
<search-report-data id="srep" lang="en" srep-office="EP" date-produced=""><doc-page id="srep0001" file="srep0001.tif" wi="157" he="233" type="tif"/><doc-page id="srep0002" file="srep0002.tif" wi="155" he="233" type="tif"/></search-report-data><search-report-data date-produced="20201203" id="srepxml" lang="en" srep-office="EP" srep-type="ep-sr" status="n"><!--
 The search report data in XML is provided for the users' convenience only. It might differ from the search report of the PDF document, which contains the officially published data. The EPO disclaims any liability for incorrect or incomplete data in the XML for search reports.
 -->

<srep-info><file-reference-id>160287/BJ/MT</file-reference-id><application-reference><document-id><country>EP</country><doc-number>20184731.6</doc-number></document-id></application-reference><applicant-name><name>Stengaard Sørensen, Anders</name></applicant-name><srep-established srep-established="yes"/><srep-invention-title title-approval="yes"/><srep-abstract abs-approval="yes"/><srep-figure-to-publish figinfo="by-applicant"><figure-to-publish><fig-number>1</fig-number></figure-to-publish></srep-figure-to-publish><srep-info-admin><srep-office><addressbook><text>MN</text></addressbook></srep-office><date-search-report-mailed><date>20201211</date></date-search-report-mailed></srep-info-admin></srep-info><srep-for-pub><srep-fields-searched><minimum-documentation><classifications-ipcr><classification-ipcr><text>A63B</text></classification-ipcr><classification-ipcr><text>A61H</text></classification-ipcr></classifications-ipcr></minimum-documentation></srep-fields-searched><srep-citations><citation id="sr-cit0001"><patcit dnum="US2018214729A1" id="sr-pcit0001" url="http://v3.espacenet.com/textdoc?DB=EPODOC&amp;IDX=US2018214729&amp;CY=ep"><document-id><country>US</country><doc-number>2018214729</doc-number><kind>A1</kind><name>RUBIN ZACHARY M [US] ET AL</name><date>20180802</date></document-id></patcit><category>X</category><rel-claims>1-6,11-15</rel-claims><rel-passage><passage>* paragraphs [0075] - [0076],  [0085] - [0086],  [0101] - [0104],  [0160]; figures 1,2,4,5,12 *</passage></rel-passage></citation><citation id="sr-cit0002"><patcit dnum="WO2020033657A1" id="sr-pcit0002" url="http://v3.espacenet.com/textdoc?DB=EPODOC&amp;IDX=WO2020033657&amp;CY=ep"><document-id><country>WO</country><doc-number>2020033657</doc-number><kind>A1</kind><name>TONAL SYSTEMS INC [US]</name><date>20200213</date></document-id></patcit><category>X</category><rel-claims>1-15</rel-claims><rel-passage><passage>* paragraphs [0044],  [0052],  [0061],  [0119] - [0120]; figures 1,3A-3B,4A,10,11 *</passage></rel-passage></citation><citation id="sr-cit0003"><patcit dnum="US2015148194A1" id="sr-pcit0003" url="http://v3.espacenet.com/textdoc?DB=EPODOC&amp;IDX=US2015148194&amp;CY=ep"><document-id><country>US</country><doc-number>2015148194</doc-number><kind>A1</kind><name>BIRD JOHN M [US]</name><date>20150528</date></document-id></patcit><category>X</category><rel-claims>1</rel-claims><rel-passage><passage>* paragraphs [0140],  [0146],  [0150],  [0170],  [0277]; figures 1,11A-11C *</passage></rel-passage></citation><citation id="sr-cit0004"><patcit dnum="US2015306459A1" id="sr-pcit0004" url="http://v3.espacenet.com/textdoc?DB=EPODOC&amp;IDX=US2015306459&amp;CY=ep"><document-id><country>US</country><doc-number>2015306459</doc-number><kind>A1</kind><name>BOYETTE ROBERT B [US]</name><date>20151029</date></document-id></patcit><category>A</category><rel-claims>1-15</rel-claims><rel-passage><passage>* paragraphs [0035] - [0038],  [0060],  [0061]; figures 2A-2C,7B *</passage></rel-passage></citation></srep-citations><srep-admin><examiners><primary-examiner><name>Vesin, Stéphane</name></primary-examiner></examiners><srep-office><addressbook><text>Munich</text></addressbook></srep-office><date-search-completed><date>20201203</date></date-search-completed></srep-admin><!--							The annex lists the patent family members relating to the patent documents cited in the above mentioned European search report.							The members are as contained in the European Patent Office EDP file on							The European Patent Office is in no way liable for these particulars which are merely given for the purpose of information.							For more details about this annex : see Official Journal of the European Patent Office, No 12/82						--><srep-patent-family><patent-family><priority-application><document-id><country>US</country><doc-number>2018214729</doc-number><kind>A1</kind><date>20180802</date></document-id></priority-application><family-member><document-id><country>CN</country><doc-number>110769902</doc-number><kind>A</kind><date>20200207</date></document-id></family-member><family-member><document-id><country>US</country><doc-number>2018214729</doc-number><kind>A1</kind><date>20180802</date></document-id></family-member><family-member><document-id><country>WO</country><doc-number>2018140959</doc-number><kind>A1</kind><date>20180802</date></document-id></family-member></patent-family><patent-family><priority-application><document-id><country>WO</country><doc-number>2020033657</doc-number><kind>A1</kind><date>20200213</date></document-id></priority-application><family-member><document-id><country>US</country><doc-number>2020070032</doc-number><kind>A1</kind><date>20200305</date></document-id></family-member><family-member><document-id><country>US</country><doc-number>2021236907</doc-number><kind>A1</kind><date>20210805</date></document-id></family-member><family-member><document-id><country>WO</country><doc-number>2020033657</doc-number><kind>A1</kind><date>20200213</date></document-id></family-member></patent-family><patent-family><priority-application><document-id><country>US</country><doc-number>2015148194</doc-number><kind>A1</kind><date>20150528</date></document-id></priority-application><family-member><document-id><country>CA</country><doc-number>2917687</doc-number><kind>A1</kind><date>20140206</date></document-id></family-member><family-member><document-id><country>EP</country><doc-number>2879764</doc-number><kind>A1</kind><date>20150610</date></document-id></family-member><family-member><document-id><country>US</country><doc-number>2014038777</doc-number><kind>A1</kind><date>20140206</date></document-id></family-member><family-member><document-id><country>US</country><doc-number>2015148194</doc-number><kind>A1</kind><date>20150528</date></document-id></family-member><family-member><document-id><country>US</country><doc-number>2015165272</doc-number><kind>A1</kind><date>20150618</date></document-id></family-member><family-member><document-id><country>US</country><doc-number>2017333756</doc-number><kind>A1</kind><date>20171123</date></document-id></family-member><family-member><document-id><country>US</country><doc-number>2019151716</doc-number><kind>A1</kind><date>20190523</date></document-id></family-member><family-member><document-id><country>US</country><doc-number>2021354003</doc-number><kind>A1</kind><date>20211118</date></document-id></family-member><family-member><document-id><country>WO</country><doc-number>2014022600</doc-number><kind>A1</kind><date>20140206</date></document-id></family-member></patent-family><patent-family><priority-application><document-id><country>US</country><doc-number>2015306459</doc-number><kind>A1</kind><date>20151029</date></document-id></priority-application><family-member><document-id><country>US</country><doc-number>8900099</doc-number><kind>B1</kind><date>20141202</date></document-id></family-member><family-member><document-id><country>US</country><doc-number>2015080184</doc-number><kind>A1</kind><date>20150319</date></document-id></family-member><family-member><document-id><country>US</country><doc-number>2015306459</doc-number><kind>A1</kind><date>20151029</date></document-id></family-member></patent-family></srep-patent-family></srep-for-pub></search-report-data>
<ep-reference-list id="ref-list">
<heading id="ref-h0001"><b>REFERENCES CITED IN THE DESCRIPTION</b></heading>
<p id="ref-p0001" num=""><i>This list of references cited by the applicant is for the reader's convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.</i></p>
<heading id="ref-h0002"><b>Patent documents cited in the description</b></heading>
<p id="ref-p0002" num="">
<ul id="ref-ul0001" list-style="bullet">
<li><patcit id="ref-pcit0001" dnum="DK179003P1"><document-id><country>DK</country><doc-number>179003P1</doc-number></document-id></patcit><crossref idref="pcit0001">[0012]</crossref><crossref idref="pcit0003">[0042]</crossref><crossref idref="pcit0004">[0042]</crossref></li>
<li><patcit id="ref-pcit0002" dnum="US8060250B"><document-id><country>US</country><doc-number>8060250</doc-number><kind>B</kind><date>20111115</date></document-id></patcit><crossref idref="pcit0002">[0037]</crossref></li>
</ul></p>
<heading id="ref-h0003"><b>Non-patent literature cited in the description</b></heading>
<p id="ref-p0003" num="">
<ul id="ref-ul0002" list-style="bullet">
<li><nplcit id="ref-ncit0001" npl-type="b"><article><atl/><book><author><name>SKOGESTAD</name></author><author><name>SIGURD</name></author><author><name>IAN POSTLETHWAITE</name></author><book-title>Multivariable feedback control: Analysis and design.</book-title><imprint><name>Wiley</name><pubdate>20070000</pubdate></imprint><vid>2</vid></book></article></nplcit><crossref idref="ncit0001">[0035]</crossref></li>
<li><nplcit id="ref-ncit0002" npl-type="s"><article><author><name>JANNERUP</name></author><author><name>OLE ERIK</name></author><author><name>OG PAUL HASSE SØRENSEN</name></author><atl/><serial><sertitle>Reguleringsteknik, 4. udgave.</sertitle><pubdate><sdate>20060000</sdate><edate/></pubdate></serial></article></nplcit><crossref idref="ncit0002">[0035]</crossref></li>
<li><nplcit id="ref-ncit0003" npl-type="b"><article><atl/><book><author><name>OTT, CHRISTIAN</name></author><book-title>Cartesian impedance control of redundant and flexible-joint robots.</book-title><imprint><name>Springer</name><pubdate>20080000</pubdate></imprint></book></article></nplcit><crossref idref="ncit0003">[0037]</crossref></li>
<li><nplcit id="ref-ncit0004" npl-type="b"><article><atl/><book><author><name>BOSE, BIMAL K.</name></author><book-title>Power electronics and motor drives advances and trends</book-title><imprint><name>Elsevier</name><pubdate>20100000</pubdate></imprint></book></article></nplcit><crossref idref="ncit0004">[0038]</crossref></li>
<li><nplcit id="ref-ncit0005" npl-type="b"><article><atl/><book><author><name>RASMUSSEN, PETER WINDFELD</name></author><book-title>Hydraulik ståbi.</book-title><imprint><name>Teknisk forlag</name><pubdate>19960000</pubdate></imprint></book></article></nplcit><crossref idref="ncit0005">[0040]</crossref></li>
<li><nplcit id="ref-ncit0006" npl-type="b"><article><atl/><book><author><name>PARR, ANDREW</name></author><book-title>Hydraulics and pneumatics: a technician's and engineer's guide.</book-title><imprint><name>Elsevier</name><pubdate>20110000</pubdate></imprint></book></article></nplcit><crossref idref="ncit0006">[0040]</crossref></li>
<li><nplcit id="ref-ncit0007" npl-type="b"><article><atl/><book><book-title>Elektronikståbi 8. udgave</book-title><imprint><name>Ingeniørens forlag</name><pubdate>20130000</pubdate></imprint></book></article></nplcit><crossref idref="ncit0007">[0043]</crossref></li>
<li><nplcit id="ref-ncit0008" npl-type="b"><article><atl/><book><author><name>JOHN F. WAKERLY</name></author><book-title>Digital Design --- Principles and Practices</book-title></book></article></nplcit><crossref idref="ncit0008">[0043]</crossref></li>
<li><nplcit id="ref-ncit0009" npl-type="b"><article><atl>Sprog og abstrakte maskiner 3. reviderede udgave Roskilde</atl><book><author><name>HENNING CHRISTIANSEN</name></author><book-title>Datalogi --- Modul 2</book-title><imprint><name>Universitetscenter</name><pubdate>20000000</pubdate></imprint></book></article></nplcit><crossref idref="ncit0009">[0043]</crossref></li>
<li><nplcit id="ref-ncit0010" npl-type="s"><article><author><name>THOMAS A. SUDKAMP</name></author><atl/><serial><sertitle>Laguages and Machines</sertitle><pubdate><sdate>19910100</sdate><edate/></pubdate><isbn>0-201-15768-3</isbn></serial></article></nplcit><crossref idref="ncit0010">[0043]</crossref></li>
<li><nplcit id="ref-ncit0011" npl-type="b"><article><atl>A generic FSM interpreter for embedded systems</atl><book><author><name>VISKARI, JUHA</name></author><author><name>RISTO JOKINEN</name></author><author><name>KARI HAKKARAINEN</name></author><book-title>Proceedings of the Eighth Euromicro Workshop on Real-Time Systems</book-title><imprint><name>IEEE</name><pubdate>19960000</pubdate></imprint></book></article></nplcit><crossref idref="ncit0011">[0048]</crossref></li>
<li><nplcit id="ref-ncit0012" npl-type="b"><article><atl>Computer games with intelligence</atl><book><author><name>JOHNSON, DANIEL</name></author><author><name>JANET WILES</name></author><book-title>10th IEEE International Conference on Fuzzy Systems. (Cat. No. 01CH37297)</book-title><imprint><name>IEEE</name><pubdate>20010000</pubdate></imprint><vid>3</vid></book></article></nplcit><crossref idref="ncit0012">[0053]</crossref></li>
<li><nplcit id="ref-ncit0013" npl-type="s"><article><author><name>DOOSTFATEMEH</name></author><author><name>MANSOOR</name></author><author><name>OG STEFAN C. KREMER</name></author><atl>New directions in fuzzy automata.</atl><serial><sertitle>International Journal of Approximate Reasoning</sertitle><pubdate><sdate>20050000</sdate><edate/></pubdate><vid>38.2</vid></serial><location><pp><ppf>175</ppf><ppl>214</ppl></pp></location></article></nplcit><crossref idref="ncit0013">[0053]</crossref></li>
<li><nplcit id="ref-ncit0014" npl-type="b"><article><atl/><book><author><name>MORDESON, JOHN N.</name></author><author><name>DAVENDER S. MALIK</name></author><book-title>Fuzzy automata and languages: theory and applications.</book-title><imprint><name>Chapman and Hall/CRC</name><pubdate>20020000</pubdate></imprint></book></article></nplcit><crossref idref="ncit0014">[0054]</crossref></li>
<li><nplcit id="ref-ncit0015" npl-type="b"><article><atl>Foundations of fuzzy control.</atl><book><author><name>JANTZEN, JAN</name></author><book-title>West Sussex</book-title><imprint><name>John Wiley \&amp; Sons</name><pubdate>20070000</pubdate></imprint><vid>209</vid></book></article></nplcit><crossref idref="ncit0015">[0054]</crossref></li>
<li><nplcit id="ref-ncit0016" npl-type="b"><article><atl/><book><author><name>MORDESON, JOHN N.</name></author><author><name>DAVENDER S. MALIK.</name></author><book-title>Fuzzy automata and languages: theory and applications</book-title><imprint><name>Chapman and Hall/CRC</name><pubdate>20020000</pubdate></imprint></book></article></nplcit><crossref idref="ncit0016">[0057]</crossref></li>
<li><nplcit id="ref-ncit0017" npl-type="s"><article><author><name>LI, YONGMING</name></author><atl>Fuzzy Turing machines: variants and universality.</atl><serial><sertitle>IEEE Transactions on Fuzzy Systems</sertitle><pubdate><sdate>20080000</sdate><edate/></pubdate><vid>16.6</vid></serial><location><pp><ppf>1491</ppf><ppl>1502</ppl></pp></location></article></nplcit><crossref idref="ncit0017">[0057]</crossref></li>
<li><nplcit id="ref-ncit0018" npl-type="b"><article><atl>Hybrid Artificial Intelligence Systems: 4th International Conference</atl><book><book-title>Proceedings</book-title><imprint><name>Springer</name><pubdate>20090610</pubdate></imprint><vid>5572</vid></book></article></nplcit><crossref idref="ncit0018">[0058]</crossref></li>
<li><nplcit id="ref-ncit0019" npl-type="s"><article><author><name>LASALLE, J. P</name></author><atl>Time optimal control systems</atl><serial><sertitle>Proceedings of the National Academy of Sciences of the United States of America</sertitle><pubdate><sdate>19590000</sdate><edate/></pubdate><vid>45.4</vid></serial><location><pp><ppf>573</ppf><ppl/></pp></location></article></nplcit><crossref idref="ncit0019">[0086]</crossref></li>
<li><nplcit id="ref-ncit0020" npl-type="s"><article><author><name>KALMAN, RUDOLF EMIL</name></author><atl>Contributions to the theory of optimal control.</atl><serial><sertitle>Bol. soc. mat. mexicana</sertitle><pubdate><sdate>19600000</sdate><edate/></pubdate><vid>5.2</vid></serial><location><pp><ppf>102</ppf><ppl>119</ppl></pp></location></article></nplcit><crossref idref="ncit0020">[0086]</crossref></li>
<li><nplcit id="ref-ncit0021" npl-type="s"><article><author><name>STEIN, GÜNTER</name></author><author><name>MICHAEL ATHANS</name></author><atl>The LQG/LTR procedure for multivariable feedback control design.</atl><serial><sertitle>IEEE Transactions on Automatic Control</sertitle><pubdate><sdate>19870000</sdate><edate/></pubdate><vid>32.2</vid></serial><location><pp><ppf>105</ppf><ppl>1</ppl></pp></location></article></nplcit><crossref idref="ncit0021">[0086]</crossref></li>
</ul></p>
</ep-reference-list>
</ep-patent-document>
