Balance training apparatus and control program for balance training apparatus
11400346 · 2022-08-02
Assignee
Inventors
Cpc classification
A63B22/20
HUMAN NECESSITIES
A63B2071/0638
HUMAN NECESSITIES
A63B24/0087
HUMAN NECESSITIES
A63B2220/833
HUMAN NECESSITIES
A63B2071/0675
HUMAN NECESSITIES
A63B2022/0094
HUMAN NECESSITIES
A63B71/0054
HUMAN NECESSITIES
A63B2024/0096
HUMAN NECESSITIES
A63B2220/80
HUMAN NECESSITIES
A63B24/0062
HUMAN NECESSITIES
A63B2024/0093
HUMAN NECESSITIES
International classification
A63B24/00
HUMAN NECESSITIES
Abstract
A balance training apparatus that allows a training person having a disease in his/her balance function to perform appropriate rehabilitation training safely in order to recover the balance function is provided. The balance training apparatus includes a moving carriage configured to be able to move on a moving surface by driving a driving unit, a detection unit configured to detect a load received from training person's feet standing on the moving carriage, a calculation unit configured to calculate a load's center of gravity of the training person's feet on a boarding surface from the load detected by the detection unit, and a control unit configured to convert a displacement amount of the load's center of gravity into a control amount using a setting selected from a plurality of settings, and drive the driving unit based on the control amount to control movement of the moving carriage.
Claims
1. A balance training apparatus comprising: a moving carriage configured to be able to move on a moving surface by driving a driving unit; a detection unit configured to detect a load received from training person's feet standing on the moving carriage; a calculation unit configured to calculate a load's center of gravity of the training person's feet on a boarding surface from the load detected by the detection unit; and a control unit configured to convert a displacement amount of the load's center of gravity into a control amount using a setting selected from a plurality of settings, and drive the driving unit based on the control amount to control movement of the moving carriage.
2. The balance training apparatus according to claim 1, wherein each of the plurality of settings is prepared in advance corresponding to a training stage, and a setting used for the conversion is selected according to the training stage of the training person.
3. The balance training apparatus according to claim 1, wherein each of the plurality of settings is configured in such a way that a displacement amount of the control amount per unit displacement amount becomes greater when the displacement of the load's center of gravity is greater than or equal to a threshold than the displacement amount of the control amount per unit displacement amount when the displacement amount of the load's center of gravity is less than the threshold.
4. The balance training apparatus according to claim 1, wherein the control unit is configured to convert the displacement amount into a target speed using the selected setting, and calculate the control amount for causing the moving carriage to reach the target speed.
5. The balance training apparatus according to claim 1, wherein the control unit is configured to convert the displacement amount into a target position using the selected setting, and calculate the control amount for causing the moving carriage to reach the target position.
6. The balance training apparatus according to claim 1, wherein the moving carriage is able to move in a straight direction by the driving of the driving unit, and the control unit is configured to convert the displacement amount along the straight direction of the load's center of gravity into the control amount.
7. A balance training apparatus comprising: a moving carriage configured to be able to move on a moving surface by driving a driving unit; a sensor configured to detect a load received from training person's feet standing on the moving carriage; processer configured to calculate a load's center of gravity of the training person's feet on a boarding surface from the load detected by the sensor, and to convert a displacement amount of the load's center of gravity into a control amount using a setting selected from a plurality of settings, and drive the driving unit based on the control amount to control movement of the moving carriage.
8. A non-transitory computer readable medium storing a control program for a balance training apparatus for performing balance training by a training person standing on a moving carriage moving on a moving surface by driving a driving unit, the control program causing a computer to execute: detecting a load received from training person's feet standing on the moving carriage; calculating a load's center of gravity of the training person's feet on a boarding surface from the load detected in the detecting; converting a displacement amount of the load's center of gravity into a control amount using a setting selected from a plurality of settings; and driving the driving unit based on the control amount to control movement of the moving carriage.
Description
BRIEF DESCRIPTION OF DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
DETAILED DESCRIPTION
(14) Hereinafter, the present disclosure will be described through embodiments of the disclosure, but the disclosure according to the claims is not limited to the following embodiments. Further, all of the configurations described in the embodiments are not necessarily essential as means for solving the problem.
(15)
(16) The training apparatus 100 includes a moving carriage 110 and a frame 160. The moving carriage 110 is able to move in a front-rear direction on a moving surface that is a floor surface or the like of a rehabilitation facility. The frame 160 is provided to stand on the moving carriage 110 and prevents the training person 900 boarding the moving carriage 110 from falling. The moving carriage 110 mainly includes driving wheels 121, casters 122, a boarding plate 130, load sensors 140, and a control box 150.
(17) The driving wheels 121 are arranged as two front wheels with respect to a traveling direction. Each driving wheel 121 is rotationally driven by a motor (not shown) as a driving unit, and moves the moving carriage 110 forward or backward. The front-rear direction in which the moving carriage 110 is moved is defined as an x-axis, a reference position where the training apparatus 100 is installed in an initial state is defined as an origin (x=0), a forward direction is defined as a positive direction, and a backward direction is defined as a negative direction. The casters 122 are driven wheels and are arranged as two rear wheels with respect to the traveling direction. The boarding plate 130 is a boarding unit on which the training person 900 boards and places his/her feet. A flat plate made of, for example, a polycarbonate resin with a relatively high rigidity that can withstand the boarding of the training person 900 is used as the boarding plate 130. The boarding plate 130 is supported on an upper surface of the moving carriage 110 with the load sensors 140 disposed at four corners interposed therebetween.
(18) Each of the load sensors 140 is, for example, a load cell, and functions as a detection unit that detects a load received from the training person 900's feet standing on the moving carriage 110. The control box 150 accommodates an arithmetic processing unit and a memory, which will be described later.
(19) The frame 160 includes an opening and closing door 161 and a handrail 162. The opening and closing door 161 is opened when the training person 900 boards the boarding plate 130 to form a passage for the training person 900. The opening and closing door 161 is closed and locked when the training person 900 performs a training attempt. The handrail 162 is provided to surround the training person 900 so that it can be grasped when the training person 900 is about to lose his/her balance or feels uneasy. Note that when the training person 900 performs a training attempt, he/she tries to maintain an upright posture by maintaining his/her balance by himself/herself without grasping the handrail 162. The frame 160 supports a display panel 170. The display panel 170 is a display unit that is, for example, a liquid crystal panel. The display panel 170 is disposed at a position where the training person 900 can easily see during the training attempt.
(20)
(21) An operation reception unit 220 receives input operations from the training person 900 and an operator, and transmits an operation signal to the arithmetic processing unit 200. The training person 900 or the operator operates an operation button provided on the apparatus, a touch panel superimposed on the display panel 170, an attached remote controller, or the like, which constitute the operation reception unit 220, in order to give an instruction for turning on and off the power and for starting a training attempt, to enter numerical values for setting, and to select menu items.
(22) A display control unit 230 generates a graphic video image and the like of a task game, which will be described later, in accordance with a display signal from the arithmetic processing unit 200, and displays the graphic video image and the like on the display panel 170. The memory 240 is a non-volatile storage medium. For example, a solid state drive is used as the memory 240. The memory 240 stores a control program and so on for controlling the training apparatus 100. The memory 240 further stores various parameter values, functions, lookup tables and so on used for control. In particular, the memory 240 stores a task game 241 that is a program for giving a task in a game format so that the training person 900 can enjoy a training attempt. The load sensors 140 detect loads applied from the training person 900's feet via the boarding plate 130, and transmit detection signals to the arithmetic processing unit 200.
(23) The arithmetic processing unit 200 also serves as a function execution unit that performs various calculations and control of individual elements in accordance with a request of the control program. A load calculation unit 201 acquires the detection signals of the four load sensors 140 and calculates a load's center of gravity of the training person 900's feet on the boarding surface. Specifically, since the respective positions of the four load sensors 140 are known, the center of gravity position is calculated from the distribution of the loads in the vertical direction detected by the respective load sensors 140, and the center of gravity position is used as the load's center of gravity. The load's center of gravity is calculated as the center of gravity position of a load distribution in this way, and thus the load's center of gravity can also be regarded as a center of foot pressure applied to the boarding surface by the training person 900's feet.
(24) A position acquisition unit 202 acquires the current position of the moving carriage 110 using an output signal of a rotary encoder included in the driving wheel unit 210 and other sensor signals. For example, the position of the moving carriage 110 at the time of starting a training attempt is defined as an origin, and the acquired output signal of the rotary encoder is integrated to calculate a movement amount from the origin as the current position. A movement control unit 203 generates a driving signal to be transmitted to the driving wheel unit 210, and controls the movement of the moving carriage 110 via the driving wheel unit 210. Details of the control method will be described later.
(25) The arithmetic processing unit 200 may be composed of one or more processors. The load calculation unit 201, the position acquisition unit 202, and the movement control unit 203 may be composed of one or more processors. Alternatively, the load calculation unit 201, the position acquisition unit 202, the movement control unit 203, and the display control unit 230 may be composed of one or more processors.
(26)
(27) In this embodiment, the training person 900 is encouraged to perform training by carrying out the task game 241. The task game 241 processed by the arithmetic processing unit 200 generates a graphic video image that changes every moment and displays the graphic video image on the display panel 170, and the training person 900 is encouraged to perform a moving operation of the training apparatus 100.
(28)
(29) On the right side of the tennis court displayed at the center of the screen, a character M throwing a tennis ball B is superimposed on a background image, and on the left side of the tennis court, a character P hitting the thrown tennis ball B back is superimposed on the background image. The character M expresses an action of moving up and down or throwing according to the task given by the task game 241. The character P is a character representing the training person 900 and expresses an action of moving up and down in accordance with the movement of the training apparatus 100 or swinging a racket in accordance with an arrival of the tennis ball B. The tennis ball B reciprocates in the left and right direction on the tennis court in accordance with the actions of the characters M and P. The game screen also includes information such as a score and elapsed time, etc. that change according to a status of the game.
(30) As shown in
(31)
(32) The training person 900 moves the character P to a hitting position T.sub.h where he/she can hit the tennis ball B back at B.sub.h before the tennis ball B reaches B.sub.h. That is, as shown in
(33) The character P on the game screen moves to the upper part of the screen at a speed V.sub.c linked with the speed V of the moving carriage 110 at that time. When the character P can be moved to T.sub.h before the tennis ball B reaches B.sub.h, the racket is shaken when the tennis ball B reaches B.sub.h and the tennis ball B is hit back. When the tennis ball B can be hit back, the score is incremented.
(34)
(35) The character P on the game screen moves to the lower part of the screen at the speed V.sub.c linked with the speed v of the moving carriage 110. When the character P can be returned to the initial position T.sub.s within a predetermined time, the score is incremented.
(36) A certain amount of time is required until the character P reaches the hitting position T.sub.h or returns to the initial position T.sub.s, although it depends on the speed V.sub.c of the character P. During this time, the training person 900 continues to adjust his/her balance by tilting his/her center of gravity. This balance adjustment is effective rehabilitation training for the training person 900 with a disease in the balance function. Further, since the load's center of gravity CP can be changed every moment according to the balance adjustment of the training person 900, the speed v of the moving carriage 110 and the speed V.sub.c of the character P can also change. The training person 900 not only moves the character P according to his/her balance adjustment but also moves the training apparatus 100 itself, so that the training person 900 can obtain sensations that act on his/her sense of balance and sense of posture in addition to visual information, and thus the training person 900 can enjoy the training attempt. When the training person 900 can enjoy the training attempt, it can be expected that the training person 900 can actively and continuously perform training. That is, the balance function can be recovered in a shorter period.
(37) First, a case in which the movement control unit 203 controls the moving carriage 110 using speed control will be described.
(38) A displacement amount ΔC.sub.flim is a limit displacement amount when the training person 900 tilts his/her center of gravity forward without changing his/her step, and a displacement amount ΔC.sub.blim is a limit displacement amount when the training person 900 tilts his/her center of gravity backward without changing his/her step. For example, the displacement amount ΔC.sub.flim is acquired from a result of a measurement in which the training person 900's center of gravity is tilted forward until right before his/her heels are lifted in the air while the training person 900 maintains a standing posture. The displacement amount ΔC.sub.blim is acquired from a result of a measurement in which the training person 900's center of gravity is tilted backward until right before his/her toes are lifted in the air while the training person 900 maintains a standing posture. Alternatively, the movement control unit 203 may select the displacement amounts ΔC.sub.flim and ΔC.sub.blim, from a preset lookup table, corresponding to the training person 900's height, weight, foot size, a progress of rehabilitation training, etc. and set the displacement amounts ΔC.sub.flim and ΔC.sub.blim.
(39) In the speed control according to this embodiment, a ΔC-V.sub.T conversion formula for advanced users as indicated by the solid line and a ΔC-V.sub.T conversion formula for beginners as indicated by the dotted line are prepared. In the ΔC-V.sub.T conversion formula for the advanced users, when the displacement amount ΔC is in the range of ΔC.sub.bc to ΔC.sub.fc including the reference position RP (ΔC=0), the displacement amount ΔC is proportional to the target speed V.sub.T with a slope α.sub.a1 (>0), and when ΔC=ΔC.sub.fc. V.sub.T=v.sub.afc, and when ΔC=ΔC.sub.bc, V.sub.T=v.sub.abc. Further, when the displacement amount ΔC is in the range of ΔC.sub.blim to ΔC.sub.bc or in the range of ΔC.sub.fc to ΔC.sub.flim, the displacement amount ΔC is proportional to the target speed V.sub.T with a slope α.sub.a2 (>α.sub.a1), and when ΔC=ΔC.sub.blim, V.sub.T=v.sub.ablim, and when ΔC=ΔC.sub.flim, V.sub.T=v.sub.aflim.
(40) ΔC.sub.fc is set, for example, as ΔC.sub.fc=0.6×ΔC.sub.flim, and ΔC.sub.bc is set, for example, as ΔC.sub.bc=0.6×ΔC.sub.blim. That is, the range of ΔC.sub.bc to ΔC.sub.fc is set to a central range in the vicinity of the reference position RP in the range of ΔC.sub.blim to ΔC.sub.flim, which is a range in which the training person 900 can maintain a standing state without lifting his/her feet in the air. In this range, the slope α.sub.a1 to be converted into the target speed is made smaller than the slope α.sub.a2 in the range of ΔC.sub.blim to ΔC.sub.bc and in the range of ΔC.sub.fc to ΔC.sub.flim. In other words, with |ΔC.sub.bc| and |ΔC.sub.fc| as thresholds, when the magnitude of a displacement amount |ΔC| is large, an increment of the target speed per unit displacement amount is set to become large. With such a setting, even when the training person 900 moves his/her center of gravity back and forth near the reference position RP, the moving carriage 110 will not shake greatly. Further, when the training person 900 moves his/her center of gravity by a small amount, the moving carriage 110 also moves slowly, while when the training person 900 moves his/her center of gravity by a large amount, the moving carriage 110 also moves rapidly and quickly. By doing so, it can be expected that the movement of the moving carriage 110 matches the sense of the training person 900 well. Note that in this embodiment, the threshold |ΔC.sub.fc| when the moving carriage 110 moves forward and the threshold |ΔC.sub.bc| when the moving carriage 110 backward are made to be different from each other. However, these values can be adjusted according to the training person 900's condition and the like. For example, both thresholds may be the same value, or the threshold value |ΔC.sub.fc| when the moving carriage 110 moves forward may be made smaller than the threshold |ΔC.sub.bc| when the moving carriage 110 moves backward.
(41) In the ΔC-V.sub.T conversion formula for the beginners, when the displacement amount ΔC is in the range of ΔC.sub.bc to ΔC.sub.fc including the reference position RP (ΔC=0), the displacement amount ΔC is proportional to the target speed V.sub.T with a slope α.sub.b1 (>0), and when ΔC=ΔC.sub.fc, V.sub.T=v.sub.bfc, and when ΔC=ΔC.sub.bc, V.sub.T=v.sub.bbc. Further, when the displacement amount ΔC is in the range of ΔC.sub.blim to ΔC.sub.bc or in the range of ΔC.sub.fc to ΔC.sub.flim, the displacement amount ΔC is proportional to the target speed V.sub.T with a slope α.sub.b2 (>α.sub.b1), and when ΔC=ΔC.sub.blim, V.sub.T=v.sub.bblim, and when ΔC=ΔC.sub.flim, V.sub.T=v.sub.bflim.
(42) Also in the ΔC-V.sub.T conversion formula for the beginners, the slope α.sub.b1 in the range of ΔC.sub.bc to ΔC.sub.fc is made smaller than the slope α.sub.b2 in the range of ΔC.sub.blim to ΔC.sub.bc and in the range of ΔC.sub.fc to ΔC.sub.flim. Further, in the range of ΔC.sub.bc to ΔC.sub.fc, the slope α.sub.a1 for the advanced users is made larger than the slope α.sub.b1 for the beginners (α.sub.a1>α.sub.b1>0). Likewise, in the range of ΔC.sub.blim to ΔC.sub.bc and in the range of ΔC.sub.fc to ΔC.sub.flim, the slope α.sub.a2 for the advanced users is set larger than the slope α.sub.b2 for the beginners (α.sub.a2>α.sub.b2>0). That is, the setting for the advanced users moves the moving carriage 110 more intensely than the setting for the beginners. With such a setting, the training person 900 can enjoy stimulus suitable for the training stage. For example, in the above-mentioned task game 241 with a tennis concept, the movement control unit 203 automatically switches from the ΔC-V.sub.T conversion formula for the beginners to the ΔC-V.sub.T conversion formula for the advanced users at a timing when the training person 900 completes a stage and a game level rises to a certain game level. Alternatively, the training apparatus may be configured in such a way that the training person 900 or the operator may select either the setting for the beginners or the setting for the advanced users via the operation reception unit 220 at the time of starting a training attempt.
(43) In this embodiment, both ΔC.sub.fc for the advanced users and ΔC.sub.fc for the beginners are set as 0.6×ΔC.sub.flim. However, the definition of ΔC.sub.fc for the advanced users may differ from the definition of ΔC.sub.fc for the beginners. For example, ΔC.sub.fc may be narrower for the advanced users such as ΔC.sub.fc=0.4×ΔC.sub.flim. Likewise, the definition of ΔC.sub.bc for the advanced users may differ from the definition of ΔC.sub.bc for the beginners. When the range of ΔC.sub.bc to ΔC.sub.fc is narrowed, the moving carriage 110 is moved more intensely, and thus more advanced training can be provided to the advanced users.
(44) Next, a case where the movement control unit 203 controls the moving carriage 110 by using the position control will be described.
(45) The displacement amounts ΔC.sub.flim, ΔC.sub.blim, ΔC.sub.bc, ΔC.sub.fc are similar to ΔC.sub.flim, ΔC.sub.blim, ΔC.sub.bc, ΔC.sub.fc in
(46) In the range of ΔC.sub.bc to ΔC.sub.fc, the slope β.sub.a1 to be converted into the target position is made smaller than the slope β.sub.a2 in the range of ΔC.sub.blim to ΔC.sub.bc and in the range of ΔC.sub.fc to ΔC.sub.flim. In other words, with ΔC.sub.bc and ΔC.sub.fc as thresholds, when the magnitude of a displacement amount |ΔC| is large, an increment of the target position per unit displacement amount is set to become large. With such a setting, even when the training person 900 moves his/her center of gravity back and forth near the reference position RP, the moving carriage 110 will not shake greatly. Further, when the training person 900 changes his/her center of gravity by a small amount, the moving carriage 110 also moves by a small amount, while when the training person 900 moves his/her center of gravity changes by a large amount, the moving carriage 110 also tries to move farther. Thus, it can be expected that the movement of the moving carriage 110 matches the sense of the training person 900 well.
(47) In the ΔC-X.sub.T conversion formula for the beginners, when the displacement amount ΔC is in the range of ΔC.sub.bc to ΔC.sub.fc including the reference position RP (ΔC=0), the displacement amount ΔC is proportional to the target speed X.sub.T with a slope β.sub.b1 (>0) and when ΔC=ΔC.sub.fc, X.sub.T=x.sub.bfc, and when ΔC=ΔC.sub.bc, X.sub.T=X.sub.bbc. Further, when the displacement amount ΔC is in the range of ΔC.sub.blim to ΔC.sub.bc or in the range of ΔC.sub.fc to ΔC.sub.flim, the displacement amount ΔC is proportional to the target speed X.sub.T with a slope β.sub.b2 (>β.sub.b1), and when ΔC=ΔC.sub.blim, X.sub.T=x.sub.bblim, and when ΔC=ΔC.sub.flim, X.sub.T=x.sub.bflim.
(48) Also in the ΔC-X.sub.T conversion formula for the beginners, the slope β.sub.b1 in the range of ΔC.sub.bc to ΔC.sub.fc is made smaller than the slope β.sub.b2 in the range of ΔC.sub.blim to ΔC.sub.bc and in the range of ΔC.sub.fc to ΔC.sub.flim. Further, in the range of ΔC.sub.bc to ΔC.sub.fc, the slope β.sub.a1 for the advanced users is made larger than the slope β.sub.b1 for the beginners (β.sub.a1>β.sub.b1>0). Likewise, in the range of ΔC.sub.blim to ΔC.sub.bc and in the range of ΔC.sub.fc to ΔC.sub.flim, the slope β.sub.a2 for the advanced users is made larger than the slope β.sub.b2 for the beginners (β.sub.a2>β.sub.b2>0). That is, the moving carriage 110 is moved more intensely with the setting for the advanced users than with the setting for the beginners. With such a setting, the training person 900 can enjoy stimulus suitable for the training stage. For example, in the above-mentioned task game 241 with a tennis concept, the movement control unit 203 automatically switches from the ΔC-X.sub.T conversion formula for the beginners to the ΔC-X.sub.T conversion formula for the advanced users at a timing when the training person 900 completes a stage and a game level rises to a certain game level. Alternatively, the training apparatus may be configured such a way that the training person 900 or the operator may select either the setting for the beginners or the setting for the advanced users via the operation reception unit 220 at the time of starting a training attempt.
(49) Whether the movement control unit 203 performs the speed control or the position control can be associated with each task game 241 in accordance with, for example, the properties of the plurality of prepared task games 241. Alternatively, the training person 900 or the operator may be able to select whether to employ the movement control or the position control via the operation reception unit 220 at time of starting the training attempt. Further, for example, the movement control and the position control may be switched according to the position of the moving carriage 110.
(50)
(51) In Step S102, the load sensor 140 detects a load received from the training person 900's feet in accordance with the progress of the task game 241, and passes the detected detection signal to the load calculation unit 201. In Step S103, the load calculation unit 201 calculates the load's center of gravity from the received detection signal, and passes the calculated load's center of gravity to the movement control unit 203.
(52) In Step S104, the movement control unit 203 calculates the displacement amount ΔC from the received load's center of gravity. Then, the movement control unit 203 confirms whether the current training attempt is set for the advanced users or for the beginners. As described above, the movement control unit 203 uses the conversion formula for the beginners when the setting is for the beginners, and uses the conversion formula for the advanced users when the setting is for the advanced users. The displacement amount ΔC is converted into the target speed V.sub.T or the target position X.sub.T.
(53) When the displacement amount ΔC is converted into the target speed V.sub.T, a driving torque is calculated as a control amount for causing the moving carriage 110 to reach the target speed V.sub.T. Specifically, the movement control unit 203 calculates a current speed v of the moving carriage 110 from an output of the driving wheel unit 210, and calculates the driving torque by, for example, PID control from a difference between the target speed V.sub.T and the current speed v. When the displacement amount ΔC is converted into the target position X.sub.T, the movement control unit 203 calculates the driving torque as a control amount for causing the moving carriage 110 to reach the target position X.sub.T. Specifically, the movement control unit 203 receives the current position x of the moving carriage 110 from the position acquisition unit 202, and calculates the driving torque by, for example, PID control from the difference between the target position X.sub.T and the current position x. In Step S105, a driving signal for outputting the driving torque is transmitted to the driving wheel unit 210 to drive the driving wheels 121. Furthermore, the arithmetic processing unit 200 moves the character P on the display panel 170 in accordance with the driving of the driving wheels 121, and lets the task game 241 proceed.
(54) In Step S106, the arithmetic processing unit 200 determines whether the training attempt has ended. The training attempt ends, for example, when the task game 241 ends, a set period of time elapses, or a target item is achieved. When the arithmetic processing unit 200 determines that the training attempt has not ended, the process returns to Step S102 where the training attempt is continued, whereas when the arithmetic processing unit 200 determines that the training attempt has ended, the process proceeds to Step S107. In Step S108, the arithmetic processing unit 200 executes end processing to end a series of processing. The end processing is to display the final score on the display panel 170 and update history information of the training that has been carried out so far.
(55)
(56) In the above-described embodiments, the moving carriage 110 has a structure that moves back and forth, and thus the movement control and task games corresponding to such a structure are employed. However, when the moving carriage 110 has a structure that also moves in the right-left direction, the movement control and task games corresponding to such a structure that moves back and forth and also left and right may be employed. In the above-described embodiments, the movement control is performed by calculating the displacement amount ΔC in the front-rear direction, which is the moving direction of the moving carriage 110. However, when the moving carriage 110 can also move in the right-left direction, the moving direction and the target speed may be determined according to a vector from the reference position RP to the load's center of gravity, and similar movement control can be performed. In this case, a moving area is defined two-dimensionally, and thus weighting of a first control amount and weighting of a second control amount may also be defined two-dimensionally.
(57) In this embodiment described above, the ΔC-V.sub.T conversion formula is used for the speed control, and the ΔC-X.sub.T conversion formula is used for the position control. However, instead of using the conversion formulas, for example, a lookup table may be used to convert the displacement amount ΔC into the target speed V.sub.T or the target position X.sub.T. The control is not limited to the speed control and the position control, and other types of control may be employed. In such a case, the displacement amount ΔC may be converted into a control amount corresponding to the control.
(58) The program can be stored and provided to a computer using any type of non-transitory computer readable media. Non-transitory computer readable media include any type of tangible storage media. Examples of non-transitory computer readable media include magnetic storage media (such as floppy disks, magnetic tapes, hard disk drives, etc.), optical magnetic storage media (e.g. magneto-optical disks), CD-ROM (compact disc read only memory), CD-R (compact disc recordable), CD-R/W (compact disc rewritable), and semiconductor memories (such as mask ROM, PROM (programmable ROM), EPROM (erasable PROM), flash ROM, RAM (random access memory), etc.). The program may be provided to a computer using any type of transitory computer readable media. Examples of transitory computer readable media include electric signals, optical signals, and electromagnetic waves. Transitory computer readable media can provide the program to a computer via a wired communication line (e.g. electric wires, and optical fibers) or a wireless communication line.
(59) From the disclosure thus described, it will be obvious that the embodiments of the disclosure may be varied in many ways. Such variations are not to be regarded as a departure from the spirit and scope of the disclosure, and all such modifications as would be obvious to one skilled in the art are intended for inclusion within the scope of the following claims.