# Patent

## Title
Control device of inverted pendulum type vehicle

## Abstract

In an inverted pendulum type vehicle, a manipulated variable for control of a traveling motion unit is determined using adjustment parameters Ki_x, Ki_y (i=1, 2, 3) and θb_x_obj, θb_y_obj, which changes its value in accordance with whether it is in the loaded state in which an object to be transported is loaded on a loading part of the inverted pendulum type vehicle, or whether it is in the non-loaded state in which the object to be transported is not loaded thereon. The adjustment parameters are changed at a faster rate of change in the case of the transition from the loaded state to the non-loaded state, than in the case of the transition from the non-loaded state to the loaded state. The adjustment parameters for control are changed appropriately during transition while suppressing occurrence of slipping of the traveling motion unit.

## Background
TECHNICAL FIELD
The present invention relates to a control device of an inverted pendulum type vehicle capable of moving on a floor surface.
BACKGROUND ART
An inverted pendulum type vehicle is a vehicle in which a base body assembled with a traveling motion unit which travels on a floor surface and an actuator unit which drives the traveling motion unit, is also assembled with a loading part of an object to be transported which is capable of freely tilting with respect to the perpendicular direction, and is a vehicle with a necessity to move the traveling motion unit in a manner to move a fulcrum of the inverted pendulum, so as to maintain a tilt angle of the loading part to a desired tilt angle (so as to prevent loading part from fall due to tilting).
As a control technology of this type of the inverted pendulum type vehicle, for example, the one found in Patent Document 1 had been proposed by the present applicant.
In the Patent Document 1, there is disclosed a control technology of an inverted pendulum type vehicle in which a base body of a vehicle assembled with the payload supporting part of an occupant as a loading part of an object to be transported is provided so as to be freely tiltable about two axes, specifically about one axis in a longitudinal direction and about the other axis in a lateral direction, with respect to the ball-shaped traveling motion unit. In this technology, a driving torque of a motor is sequentially determined so as to make a difference between a measured value of a tilt angle of the base body (=tilt angle of the payload supporting part) and a desired tilt angle closer to 0, and also to make the difference between a measured value of a velocity of the motor as an actuator unit (and consequently a moving velocity of the traveling motion unit) and a desired velocity closer to 0. Thereafter, the traveling motion of the traveling motion unit is controlled via the motor, in accordance with the determined drive torque.
The present applicant further proposes vehicles capable of functioning as the inverted pendulum type vehicle, such as those found in Patent Document 2 and 3.
PRIOR ART REFERENCES
Patent Documents


    
    
        Patent document 1: U.S. Pat. No. 3,070,015
        Patent document 2: Published PCT International Applications WO/2008/132778
        Patent document 3: Published PCT International Applications WO/2008/132779
    
    


SUMMARY OF THE INVENTION
Problems to be Solved by the Invention
In the inverted pendulum type vehicle as those shown in Patent documents 1 through 3, it is conceivable that it should be preferable to control the traveling motion unit so that the loading part does not fall due to tilting, even in a state in which the object to be transported is not loaded on the loading part (hereinafter sometimes referred to as a non-loaded state), similarly to the state in which the object to be transported is loaded on the loading part (hereinafter, sometimes referred to as a loaded state). In this case, the overall weight or the position of the center-of-gravity of the vehicle differs between the non-loaded state and the loaded state, and consequently the behavior characteristics of the vehicle differ.
Therefore, it is necessary, or preferable, to generally differ the values of each parameter for control in the non-loaded state and in the loaded state. For example, the overall weight of the vehicle becomes smaller in the non-loaded state than in the loaded state, so that slipping of the traveling motion unit is easier to occur if the driving force applied to the traveling motion unit from the actuator becomes too large.
As such, in the technique for controlling the traveling motion of the traveling motion unit, for example in the one shown in the Patent document 1, it is conceivable that the absolute value of the gain related to an error between a measured value of a tilt angle of the base body (=tilt angle of the loading part) and a desired tilt angle thereof, or the absolute value of the gain related to an error between a measure value of the velocity of the motor and the desired velocity thereof, to be smaller in the non-loaded state than in the loaded state in a case of determining the desired torque of the motor.
Further, in the non-loaded state and the loaded state, the position of the vehicle overall center-of-gravity point (more specifically, the overall center-of-gravity point of the part capable of tilting uniformly with the loading part) generally differs, so that there are many cases where it is necessary for a desired tilt angle of the loading part as a tilt angle of the loading part in the state where the center-of-gravity point is positioned right above a tilt fulcrum of the loading part to differ in the non-loaded state and the loaded state.
As such, it is necessary, or preferable, to generally differ the values of each parameter for control in the non-loaded state and the loaded state. And, in such case, it is necessary to change the value of the parameter for control such as the above-mentioned gain and the desired tilt angle, during transition from the non-loaded state to the loaded state or during transition from the loaded state to the non-loaded state.
In this case, during transition from the loaded state to the non-loaded state, there are cases where excessive driving force is applied to the traveling motion unit according to the posture change and the like of the loading part, in the situation where a friction capable of being generated between the traveling motion unit and the floor had largely decreased from the loaded state, if the change in the values of the parameters are slow. And, in such state, slipping of the traveling motion unit occurs.
Further, during transition from the non-loaded state to the loaded state, there are cases where excessive driving force is applied to the traveling motion unit according to the posture change and the like of the loading part, in the situation where a friction capable of being generated between the traveling motion unit and the floor has not fully increased from the non-loaded state, if the change in the values of the parameters are too fast. And, also in such state, slipping of the traveling motion unit occurs.
Therefore, a technique capable of changing the values of the parameters for control appropriately, during transition from the loaded state to the non-loaded state, and during transition from the non-loaded state to the loaded state, is desired in order to avoid occurrence of slipping of the traveling motion unit.
The present invention has been made in view of such background, and aims at providing a control device for an inverted pendulum type vehicle capable of appropriately changing the parameters for control, during transition from the loaded-state to the non-loaded state, and during transition from the non-loaded state to the loaded state, while suppressing occurrence of slipping of the traveling motion unit.
Means for Solving the Problems
In order to achieve the object, a control device of an inverted pendulum type vehicle of the present invention is a control device of an inverted pendulum type vehicle having a traveling motion unit capable of moving on a floor surface, an actuator which drives the traveling motion unit, a base body on which the traveling motion unit and the actuator are mounted, and a loading part of an object to be transported which is attached to the base body so as to be tillable with respect to a vertical direction, comprising:
a loading detecting element which generates an output at least indicating whether it is in a loaded state in which the object to be transported is loaded on the loading part, or it is in a non-loaded state in which the object to be transported is not loaded on the loading part;
a tilt posture measuring element which generates an output according to an actual state amount related to a tilt posture of the loading part; and
a traveling motion unit controlling element which determines a manipulated variable for control which defines the driving force to be applied to the traveling motion unit to make the traveling motion unit travel, and which controls the traveling motion of the traveling motion unit via the actuator according to the determined manipulated variable for control;
the traveling motion unit controlling element includes
a manipulated variable for control determining element which determines the manipulated variable for control so as to bring a tilt posture state amount error, which is an error between a measured value of the state amount indicated by the output of the tilt posture measuring element and a desired value with respect to the state amount, closer to 0, at least according to a first manipulated variable component obtained by multiplying the tilt posture state amount error by a first gain coefficient; and
an adjustment parameter determining element which determines an adjustment parameter at least including one or both of the first gain coefficient and the desired value with respect to the state amount so as to change according to the output of the loading detecting element;
wherein the adjustment parameter determining element determines the adjustment parameter such that a rate of change of the value of the adjustment parameter becomes relatively faster in the case where the state indicated by the output of the loading detecting element changes from the loaded state to the non-loaded state, than in the case where the same changes from the non-loaded state to the loaded state (a first aspect of the invention).
Further, in the present invention, the term “floor” will be used to include an outdoor ground surface or a road surface rather than meaning only a floor in an ordinary sense (e.g., an indoor floor).
According to the first aspect of the invention, the manipulated variable for control determining element of the traveling motion unit controlling element determines the manipulated variable for control so as to bring the tilt posture state amount error closer to 0, at least according to the first manipulated variable component obtained by multiplying the tilt posture state amount error by the first gain coefficient. Thereafter, the traveling motion unit controlling element controls the traveling motion of the traveling motion unit according to the manipulated variable for control, via the actuator. By doing so, the motion of the traveling motion unit is controlled so as to bring the tilt posture state amount error closer to 0.
In this case, the adjustment parameter at least including either one of or both of the first gain coefficient and the desired value with respect to the state amount is determined so as to change according to the output of the loading detecting element, by the adjustment parameter determining element. Then, when comparing the case where the state indicated by the output of the loading detecting element changes from the loaded state to the non-loaded state and the case where the same changes from the non-loaded state to the loaded state, the adjustment parameter is determined so that the rate of change of the value of the adjustment parameter becomes relatively faster in the former case than the latter case.
Therefore, when removing the object to be transported from the loading part, the adjustment parameter changes comparatively rapidly from a value suitable for the loaded state to a value suitable for the non-loaded state. As a result, it becomes possible to rapidly dissolve the occurrence of a state in which an excessive driving force (driving force equivalent to that in the loaded state, or a driving force close thereto) is applied according to the change in the tilt posture state amount error, in the state where the frictional force capable of being generated between the traveling motion unit and the floor is lower than in the loaded state, during an action of removing of the object to be transported from the loading part (for example, the state where the removal of the object to be transported has completed, or the state immediately before completion).
Further, when mounting the object to be transported on the loading part, the adjustment parameter changes comparatively slowly from a value suitable for the non-loaded state to a value suitable for the loaded state. As a result, it becomes possible to prevent occurrence of a state in which an excessive driving force (driving force equivalent to that in the loaded state, or a driving force close thereto) is applied to the traveling motion unit according to the change in the tilt posture state amount error, in the state where the frictional force capable of being generated between the traveling motion unit and the floor has not sufficiently increased from the non-loaded state during loading of the object to be transported to the loading part (for example, the state in an initial state of immediately after starting of mounting action of the object to be transported to the loading part).
Therefore, according to the present invention, it becomes possible to appropriately change the parameter for control (the adjustment parameter) during transition from the loaded state to the non-loaded state, and during transition from non-loaded state to the loaded state, while suppressing occurrence of slipping of the traveling motion unit.
Further, a second aspect of the control device of the inverted pendulum type vehicle of the present invention is a control device of an inverted pendulum type vehicle having a traveling motion unit capable of moving on a floor surface, an actuator which drives the traveling motion unit, a base body on which the traveling motion unit and the actuator are mounted, and a loading part of an object to be transnported which is attached to the base body so as to be tiltable with respect to vertical direction, comprising:
a loading detecting element which generates an output at least indicating whether it is in a loaded state in which the object to be transported is loaded on the loading part, or it is in a non-loaded state in which the object to be transported is not loaded on the loading part;
a tilt posture measuring element which generates an output according to an actual state amount related to a tilt posture of the loading part;
a representative point velocity measuring element which generates an output according to a moving velocity of a predetermined representative point of the vehicle; and
a traveling motion unit controlling element which determines a manipulated variable for control which defines a driving force to be applied to the traveling motion unit to make the traveling motion unit travel, and which controls the traveling motion of the traveling motion unit via the actuator according to the determined manipulated variable for control;
the traveling motion unit controlling element includes
a manipulated variable for control determining element which determines the manipulated variable for control so as to bring a tilt posture state amount error, which is an error between a measured value of the state amount indicated by the output of the tilt posture measuring element and a desired value with respect to the state amount, and a representative point velocity error, which is an error between the measured value of the traveling velocity of the representative point indicated by the output of the representative point velocity measuring element and a desired value with respect to the traveling velocity, closer to 0, at least according to a first manipulated variable component obtained by multiplying the tilt posture state amount error by a first gain coefficient, and according to a second manipulated variable component obtained by multiplying the representative point velocity error by a second gain coefficient; and
an adjustment parameter determining element which determines an adjustment parameter at least including one or both of the second gain coefficient and the desired value with respect to the traveling velocity of the representative point so as to change according to the output of the loading detecting element;
wherein the adjustment parameter determining element determines the adjustment parameter such that a rate of change of the value of the adjustment parameter becomes relatively faster in the case where the state indicated by the output of the loading detecting element changes from the loaded state to the non-loaded state, than in the case where the same changes from the non-loaded state to the loaded state (a second aspect of the invention).
According to the second aspect of the invention, the manipulated variable for control determining element of the traveling motion unit controlling element determines the manipulated variable for control so as to bring the tilt posture state amount error and the representative point velocity error closer to 0, at least according to the first manipulated variable component obtained by multiplying the tilt posture state amount error by the first gain coefficient and the second manipulated variable component obtained by multiplying the representative point velocity error by the second gain coefficient. Then, the traveling motion unit controlling element controls the traveling motion of the traveling motion unit according to the manipulated variable for control via the actuator. By doing so, the motion of the traveling motion unit is controlled so as to bring the tilt posture state amount error and the representative point velocity error closer to 0.
In this case, the adjustment parameter at least including either one of or both of the second gain coefficient and the desired value with respect to the traveling velocity of the representative point is determined so as to change according to the output of the loading detecting element, by the adjustment parameter determining element. Then, when comparing the case where the state indicated by the output of the loading detecting element changes from the loaded state to the non-loaded state and the case where the same changes from the non-loaded state to the loaded state, the adjustment parameter is determined so that the rate of change of the value of the adjustment parameter becomes relatively faster in the former case than the latter case.
Therefore, when removing the object to be transported from the loading part, the adjustment parameter changes comparatively rapidly from a value suitable for the loaded state to a value suitable for the non-loaded state. As a result, it becomes possible to rapidly dissolve the occurrence of a state in which an excessive driving force (driving force equivalent to that in the loaded state, or a driving force close thereto) is applied according to the change in the representative point velocity error, in the state where the frictional force capable of being generated between the traveling motion unit and the floor is lower than in the loaded state, during an action of removing of the object to be transported from the loading part (for example, the state where the removal of the object to be transported has completed, or the state immediately before completion).
Further, when mounting the object to be transported on the loading part, the adjustment parameter changes comparatively slowly from a value suitable for the non-loaded state to a value suitable for the loaded state. As a result, it becomes possible to prevent occurrence of a state in which an excessive driving force (driving force equivalent to that in the loaded state, or a driving force close thereto) is applied according to the representative point velocity error, in the state where the frictional force capable of being generated between the traveling motion unit and the floor has not sufficiently increased from the non-loaded state during loading of the object to be transported to the loading part (for example, the state in an initial state of immediately after starting of mounting action of the object to be transported to the loading part).
Therefore, according to the present invention, it becomes possible to appropriately change the parameter for control (the adjustment parameter) during transition from the loaded state to the non-loaded state, and during transition from non-loaded state to the loaded state, while suppressing occurrence of slipping of the traveling motion unit.
In the second aspect of the invention, similar to the first aspect of the invention, either one of or both of the first gain coefficient and the desired tilt angle may be included in the adjustment parameter.
In the first aspect of the invention or the second aspect of the invention, preferably the state amount with respect to the tilt posture of the loading part (posture corresponding to the tilt state of the loading part) is at least either one of the tilt angle of the loading part and the temporal change rate thereof (change rate of the tilt angle), and in this case when the adjustment parameter includes the first gain coefficient related to the tilt posture state amount error, and the adjustment parameter determining element determines the first gain coefficient so that the absolute value of the first gain coefficient becomes smaller in the case where the state indicated by the output of the loading detecting element is the non-loaded state than in the case where the same is the loaded state (a third aspect of the invention).
According to the third aspect of the invention, the driving force applied to the traveling motion unit according to the change in the tilt posture state amount error may be suppressed to a smaller driving force in the non-loaded state than in the loaded state. As a result, it becomes possible to prevent occurrence of slipping of the traveling motion unit, by applying excessive driving force to the traveling motion unit in the non-loaded state. Further, in the loaded state, the driving force to be applied to the traveling motion unit may be made large according to the change in the tilt posture state amount error, so that the traveling motion of the traveling motion unit for bringing the tilt posture state amount error closer to 0 may be performed with rapid responsiveness according to the change in the tilt posture state amount error.
In the third aspect of the invention, for example, in the case if the state amount is both of the tilt angle of the loading part and the temporal change rate thereof, the error between the measured value of the tilt angle of the loading part and the desired value with respect to the tilt angle, and the error between the measured value of the temporal change rate of the tilt angle and the desired value with respect to the temporal change rate, respectively, holds the meaning as the tilt posture state amount error. Further, in this case, the gain coefficient related to the error between the measured value of the tilt angle of the loading part and the desired value with respect to the tilt angle, and the gain coefficient related to the error between the measured value of the temporal change rate of the tilt angle and the desired value with respect to the temporal change rate, respectively, holds the meaning as the first gain coefficient.
Further, in the second aspect of the invention, preferably in a case where the adjustment parameter includes the second gain coefficient related to the representative point velocity error, the adjustment parameter determining element determines the second gain coefficient so that the absolute value of the second gain coefficient becomes smaller in the case where the state indicated by the output of the loading detecting element is the non-loaded state than in the case where the same is the loaded state (a fourth aspect of the invention).
According to the fourth aspect of the invention, the driving force applied to the traveling motion unit according to the change of the representative point velocity error may be suppressed to a smaller driving force in the non-loaded state than in the loaded state. As a result, it becomes possible to prevent occurrence of slipping of the traveling motion unit, by applying excessive driving power to the traveling motion unit in the non-loaded state. Further, in the loaded state, the driving force to be applied to the traveling motion unit may be made large according to the change in the representative point velocity error, so that the traveling motion of the traveling motion unit for bringing the representative point velocity error closer to 0 may be performed with rapid responsiveness according to the change in the representative point velocity error.
Here, the fourth aspect of the invention may be combined with the second aspect of the invention or the third aspect of the invention.
Supplementarily, in the present embodiment explained above, the traveling motion unit may be capable of traveling in all directions including a first direction and a second direction orthogonal to each other on a floor surface. And, in this case, the loading part may be made tiltable about the axis in the first direction and about the axis in the second direction, and the traveling motion of the traveling motion unit in the second direction may be controlled according to the tilting of the loading part about the axis in the first direction, and the traveling motion of the traveling motion unit in the first direction may be controlled according to the tilting of the loading part about the axis in the second direction.
The traveling motion unit “being capable of moving in all directions, including the first direction and the second direction” means that the orientation of the velocity vector of the traveling motion unit at each instant observed in an axial direction orthogonal to the first direction and the second direction could take an orientation of an arbitrary angular orientation about the aforesaid axial direction when the traveling motion unit is driven by the actuator. In this case, the aforesaid axial direction is approximately a vertical direction or a direction perpendicular to a floor surface. Further, the term “orthogonal” in the present invention does not have to be orthogonal in a strict sense, and may slightly deviate from being orthogonal in the strict sense as long as it does not deviate from the nature of the present invention.
In such case, at least either one of the error between the measured value of the state amount related to the tilt posture of the loading part about the axis in the first direction and the desired value with respect to the state amount, and the error between the measured value of the state amount related to the tilt posture of the loading part about the axis in the second direction and the desired value with respect to the state amount, may be used as the tilt posture error. Further, at least either one of the error between the traveling velocity of the representative point in the first direction and the desired value with respect to the traveling velocity, and the error between the traveling velocity of the representative point in the second direction and the desired value with respect to the traveling velocity, may be used as the representative point velocity error.
Supplementarily, in the present invention explained above, for example an overall center-of-gravity of the occupant aboard the payload supporting part and the vehicle, a point of a predetermined position of the traveling motion unit or the base body, and the like, may be used as the predetermined representative point of the vehicle.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a front diagram of an inverted pendulum type vehicle according to an embodiment;
FIG. 2 is a side view of the inverted pendulum type vehicle according to the embodiment;
FIG. 3 is an enlarged view of a lower portion of the inverted pendulum type vehicle according to the embodiment;
FIG. 4 is a perspective view of the lower portion of the inverted pendulum type vehicle according to the embodiment;
FIG. 5 is a perspective view of a traveling motion unit (wheel assembly) of the inverted pendulum type vehicle according to the embodiment;
FIG. 6 is a diagram illustrating the placement relationship between the traveling motion unit (wheel assembly) and free rollers of the inverted pendulum type vehicle according to the embodiment;
FIG. 7 is a flowchart illustrating the processing by a control unit of the inverted pendulum type vehicle according to the embodiment;
FIG. 8 is a diagram illustrating an inverted pendulum model expressing the dynamic behaviors of the inverted pendulum type vehicle according to the embodiment;
FIG. 9 is a block diagram illustrating a processing function related to the processing in STEPS of FIG. 7;
FIG. 10 is a graph for explaining the processing of a tilt desired value setting element 70 shown in FIG. 9;
FIG. 11 is a graph for explaining the processing of a second gain adjustor 79 shown in FIG. 9;
FIG. 12 is a block diagram illustrating a processing function of a first gain adjustor 78 shown in FIG. 9;
FIG. 13 is a block diagram illustrating a processing function of a limiting processor shown in FIG. 12 (or a limiting processor shown in FIG. 14);
FIG. 14 is a block diagram illustrating a processing function of a center-of-gravity velocity restrictor 76 shown in FIG. 9;
FIG. 15 is a block diagram illustrating a processing function of a posture control calculator 80 shown in FIG. 9;



MODE FOR CARRYING OUT THE INVENTION
[First Embodiment]
The following will describe a first embodiment of the present invention. First, referring to FIG. 1 to FIG. 6, the structure of an inverted pendulum type vehicle in the present embodiment will be described.
As illustrated in FIG. 1 and FIG. 2, an inverted pendulum type vehicle 1 in the present embodiment includes a payload supporting part 3 for an occupant (driver), a traveling motion unit 5 capable of traveling in all directions (two-dimensional all directions, including a fore-and-aft direction and a lateral direction) on a floor surface while being in contact with a floor surface, an actuator 7 which imparts, to the traveling motion unit 5, a motive power for driving the traveling motion unit 5, and a base body 9 on which the payload supporting part 3, the traveling motion unit 5, and the actuator 7 are mounted.
Here, in the description of the present embodiment, “the fore-and-aft direction” and “the lateral direction” mean the directions that coincide or substantially coincide with the fore-and-aft direction and the lateral direction, respectively, of the upper body of an occupant aboard the payload supporting part 3 in a normal posture. Incidentally, “the normal posture” is a posture envisaged in the design related to the payload supporting part 3, and it is a posture in which the trunk axis of the upper body of the occupant is oriented approximately in the vertical direction and the upper body is not twisted.
In this case, in FIG. 1, “the fore-and-aft direction” and “the lateral direction” are the direction perpendicular to the paper surface and the lateral direction of the paper surface, respectively·In FIG. 2, “the fore-and-aft direction” and “the lateral direction” are the lateral direction of the paper surface and the direction perpendicular to the paper surface, respectively·Further, in the description of the present embodiment, the suffixes “R” and “L” attached to reference numerals will be used to mean the correspondence to the right side and left side, respectively, of the vehicle 1.
The base body 9 is provided with a lower frame 11, to which the traveling motion unit 5 and the actuator 7 are installed, and a support frame 13 extendedly provided upward from the upper end of the lower frame 11.
A seat frame 15 extending toward the front from the support frame 13 is fixed to the top of the support frame 13. Further, the seat 3 on which an occupant sits is installed on the seat frame 15. In the present embodiment, the seat 3 serves as the payload supporting part for an occupant. Hence, the inverted pendulum type vehicle 1 in the present embodiment (hereinafter referred to simply as the vehicle 1) travels on a floor surface with an occupant seated on the seat 3.
Further, grips 17R and 17L to be grasped as necessary by the occupant seated on the seat 3 are disposed on the right and left of the seat 3. These grips 17R and 17L are secured to the distal portions of brackets 19R and 19L, respectively, which are provided extendedly from the support frame 13 (or the seat frame 15).
The lower frame 11 is provided with a pair of cover members 21R and 21L disposed to face each other in a forked shape with a gap therebetween in the lateral direction. The upper end portions (the forked portions) of these cover members 21R and 21L are connected through a hinge shaft 23 having a longitudinal axial center, so that one of the cover members 21R and 21L is relatively swingable about the hinge shaft 23 with respect to the other. In this case, the cover members 21R and 21L are biased by springs, which are not shown, in the direction in which the bottom end portions (the distal ends of the forked portions) of the cover members 21R and 21L narrow.
Further, a step 25R on which the occupant seated on the seat 3 rests his/her right foot and a step 25L on which the occupant rests his/her left foot are provided on the outer surfaces of the cover members 21R and 21L such that the steps extend out rightward and leftward, respectively·
The traveling motion unit 5 and the actuator 7 are disposed between the cover members 21R and 21L of the lower frame 11. The structures of the traveling motion unit 5 and the actuator 7 will be described with reference to FIG. 3 to FIG. 6.
The traveling motion unit 5 and the actuator 7 illustrated in the present embodiment have the same structures as those disclosed in, for example, FIG. 1 of patent document 2 mentioned above. Hence, in the description of the present embodiment, the aspects of the structures of the traveling motion unit 5 and the actuator 7 which are described in the aforesaid patent document 2 will be only briefly described.
In the present embodiment, the traveling motion unit 5 is a wheel assembly made of a rubber elastic material formed into an annular shape and has a substantially circular cross-sectional shape. This traveling motion unit 5 (hereinafter referred to as the wheel assembly 5) elastically deforms to be capable of rotating about a center C1 of the circular cross-section (more specifically, the circumferential line which passes the center C1 of the circular cross-section and which is concentric with the axial center of the wheel assembly 5), as indicated by an arrow Y1 in FIG. 5 and FIG. 6.
The wheel assembly 5 is disposed between the cover members 21R and 21L with an axial center C2 thereof (an axial center C2 orthogonal to the diametrical direction of the whole wheel assembly 5) oriented in the lateral direction, and comes in contact with a floor surface at the bottom end portion of the outer circumferential surface of the wheel assembly 5.
The wheel assembly 5 is capable of performing a motion of rotating about the axial center C2 of the wheel assembly 5 as indicated by an arrow Y2 in FIG. 5 (a motion of circumrotating on a floor surface) and a motion of rotating about the center C1 of the cross-section of the wheel assembly 5 by being driven by the actuator 7 (to be discussed in detail later). As a result, the wheel assembly 5 is capable of traveling in all directions on a floor surface by the motions combining the aforesaid rotating motions.
The actuator 7 is provided with a rotating member 27R and free rollers 29R interposed between the wheel assembly 5 and the right cover member 21R, a rotating member 27L and free rollers 29L interposed between the wheel assembly 5 and the left cover member 21L, an electric motor 31R serving as an actuator disposed above the rotating member 27R and the free rollers 29R, and an electric motor 31L serving as an actuator disposed above the rotating member 27L and the free rollers 29L.
The housings of the electric motors 31R and 31L are installed to the cover members 21R and 21L, respectively·Although not shown, the electric sources (batteries or capacitors) of the electric motors 31R and 31L are mounted on an appropriate place of the base body 9, such as the support frame 13 or the like.
The rotating member 27R is rotatively supported by the cover member 21R through the intermediary of a support axis 33R having a lateral axial center. Similarly, the rotating member 27L is rotatively supported by the cover member 21L through the intermediary of a support axis 33L having a lateral axial center. In this case, the rotational axial center of the rotating member 27R (the axial center of the support axis 33R) and the rotational axial center of the rotating member 27L (the axial center of the support axis 33L) are concentric with each other.
The rotating members 27R and 27L are connected to the output shafts of the electric motors 31R and 31L, respectively, through the intermediary of power transmission mechanisms, including functions as reducers, and rotatively driven by the motive power (torque) transmitted from the electric motors 31R and 31L, respectively·Each power transmission mechanisms are, for example, pulley and belt system. More specifically, as illustrated in FIG. 3, the rotating member 27R is connected to the output shaft of the electric motor 31R through the intermediary of a pulley 35R and a belt 37R. Similarly, the rotating member 27L is connected to the output shaft of the electric motor 31L through the intermediary of a pulley 35L and a belt 37L.
Incidentally, the aforesaid power transmission mechanism may be constructed of, for example, a sprocket and a link chain, or may be constructed of a plurality of gears. As another alternative, for example, the electric motors 31R and 31L may be constructed such that the output shafts thereof are arranged to oppose the rotating members 27R and 27L so as to arrange the output shafts to be concentric with the rotating members 27R and 27L, and the output shafts of the electric motors 31R and 31L may be connected to the rotating members 27R and 27L, respectively, through the intermediary of reducers (e.g., planetary gear devices).
The rotating members 27R and 27L are formed in the same shapes as circular truncated cones, the diameters of which reduce toward the wheel assembly 5, and the outer peripheral surfaces thereof form tapered outer peripheral surfaces 39R and 39L.
A plurality of the free rollers 29R are arrayed about the tapered outer peripheral surface 39R of the rotating member 27R such that the free rollers 29R are arranged at regular intervals on the circumference concentric with the rotating member 27R. Further, these free rollers 29R are installed to the tapered outer peripheral surface 39R through the intermediary of the brackets 41R and rotatively supported by the brackets 41R.
Similarly, a plurality of free rollers 29L (of the same quantity as that of the free rollers 29R) are arrayed about the tapered outer peripheral surface 39L of the rotary member 27L such that the free rollers 29L are arrayed at regular intervals on the circumference concentric with the rotating member 27L. Further, these free rollers 29L are installed to the tapered outer peripheral surface 39L through the intermediary of the brackets 41L and rotatively supported by the brackets 41L.
The wheel assembly 5 is disposed concentrically with the rotating members 27R and 27L, and held between the free rollers 29R adjacent to the rotating member 27R and the free rollers 29L adjacent to the rotating member 27L.
In this case, as illustrated in FIG. 1 and FIG. 6, the free rollers 29R and 29L are disposed in postures in which the axial centers C3 thereof are inclined against the axial center C2 of the wheel assembly 5 and also inclined against the diametrical direction of the wheel assembly 5 (the radial direction connecting the axial center C2 and the free rollers 29R and 29L when the wheel assembly 5 is observed in the direction of the axial center C2 thereof). Further, in the aforesaid postures, the outer peripheral surfaces of the free rollers 29R and 29L, respectively, are pressed into contact aslant with the inner peripheral surface of the wheel assembly 5.
More generally speaking, the right free rollers 29R are pressed into contact with the inner peripheral surface of the wheel assembly 5 in postures in which a frictional force component in the direction about the axial center C2 (a frictional force component in the tangential direction of the inner periphery of the wheel assembly 5) and a frictional force component in the direction about the center C1 of the cross-section of the wheel assembly 5 (a frictional force component in the tangential direction of the circular cross section) can be applied to the wheel assembly 5 at a surface in contact with the wheel assembly 5 when the rotating member 27R is rotatively driven about the axial center C2. The same applies to the left free rollers 29L.
In this case, as described above, the cover members 21R and 21L are biased by the springs, which are not shown, in the direction for narrowing the bottom end portions (the distal ends of the forked portions) of the cover members 21R and 21L. Thus, the urging force holds the wheel assembly 5 between the right free rollers 29R and the left free rollers 29L, and the free rollers 29R and 29L are maintained in the press contact with the wheel assembly 5 (more specifically, the press contact state that enables a frictional force to act between the free rollers 29R and 29L and the wheel assembly 5).
In the vehicle 1 having the structure described above, when the rotating members 27R and 27L are rotatively driven at the same velocity in the same direction by the electric motors 31R and 31L, respectively, the wheel assembly 5 will rotate about the axial center C2 in the same direction as those of the rotating members 27R and 27L. This causes the wheel assembly 5 to circumrotate on a floor surface in the fore-and-aft direction and the whole vehicle 1 will travel in the fore-and-aft direction. In this case, the wheel assembly 5 does not rotate about the center C1 of the cross-section thereof.
Further, if, for example, the rotating members 27R and 27L are rotatively driven in opposite directions from each other at velocities of the same magnitude, then the wheel assembly 5 will rotate about the center Cl of the cross section thereof. This causes the wheel assembly 5 to travel in the direction of the axial center C2 thereof (i.e., in the lateral direction), thus causing the whole vehicle 1 to travel in the lateral direction. In this case, the wheel assembly 5 does not rotate about the axial center C2 thereof.
Further, if the rotating members 27R and 27L are rotatively driven in the same direction or opposite directions at velocities that are different from each other (velocities including directions), then the wheel assembly 5 will rotate about the axial center C2 and also rotate about the center C1 of the cross-section thereof.
At this time, motions combining the aforesaid rotational motions (combined motions) cause the wheel assembly 5 to travel in directions inclined relative to the fore-and-aft direction and the lateral direction, thus causing the whole vehicle 1 to travel in the same direction as that of the wheel assembly 5. The traveling direction of the wheel assembly 5 in this case will change, depending upon the difference between the rotational velocities, including the rotational directions, of the rotating members 27R and 27L (the rotational velocity vectors, the polarities of which are defined according to rotational directions).
The traveling motions of the wheel assembly 5 effected as described above. Therefore, by controlling the rotational velocities (including the rotational directions) of the electric motors 31R and 31L, and consequently by controlling the rotational velocities of the rotating members 27R and 27L, it becomes possible to control the traveling velocity and the traveling direction of the vehicle 1.
Incidentally, the seat (the payload supporting part) 3 and the base body 9 are tiltable about the lateral axial center C2, the axial center C2 of the wheel assembly 5 being the supporting point, and also tiltable together with the wheel assembly 5 about the longitudinal axis, the ground contact surface (the lower end surface) of the wheel assembly 5 being the supporting point.
The construction for controlling the operation of the vehicle 1 according to the present embodiment will now be described. In the following description, assuming an XYZ coordinate system, in which the fore-and-aft horizontal axis is indicated by an X-axis, the lateral horizontal axis is indicated by a Y-axis, and the vertical direction is indicated by a Z-axis, as illustrated in FIG. 1 and FIG. 2, the fore-and-aft direction and the lateral direction may be referred to as the X-axis direction and the Y-axis direction, respectively·
First, the control of the operation of the vehicle 1 will be outlined. According to the present embodiment, basically, if the occupant seated on the seat 3 tilts his/her upper body (more specifically, if the upper body is tilted such that the position of the overall center-of-gravity point combining the occupant and the vehicle 1 (the position projected onto a horizontal plane) is moved), then the base body 9 is tilted together with the seat 3 toward the side to which the upper body has been tilted. At this time, the traveling motion of the wheel assembly 5 is controlled such that the vehicle 1 travels toward the side to which the base body 9 has tilted. For example, if the occupant tilts his/her upper body forward, causing the base body 9 to tilt forward together with the seat 3, then the traveling motion of the wheel assembly 5 is controlled to cause the vehicle 1 to travel forward.
In other words, according to the present embodiment, the operation in which the occupant moves his/her upper body, causing the seat 3 and the base body 9 to tilt provides one basic steering operation for the vehicle 1 (a motion request of the vehicle 1), and the traveling motion of the wheel assembly 5 is controlled through the actuator 7 according to the steering operation.
Here, in the vehicle 1 according to the present embodiment, the ground contact surface of the wheel assembly 5 as the ground contact surface of the whole vehicle 1 will be a single local region which is smaller than a region resulting from projecting all the vehicle 1 and the occupant thereon onto a floor surface, and a floor reaction force will act only on the single local region. For this reason, in order to prevent the base body 9 from falling due to tilting, the wheel assembly 5 must be moved such that the overall center-of-gravity point of the occupant and the vehicle 1 is positioned substantially right above the ground contact surface of the wheel assembly 5.
Therefore, according to the present embodiment, the posture of the base body 9 in a state wherein the overall center-of-gravity point of the occupant and the vehicle 1 is positioned substantially right above the central point of the wheel assembly 5 (the central point on the axial center C2)(more precisely, in a state wherein the center-of-gravity point is positioned substantially right above the ground contact surface of the wheel assembly 5) is defined as a desired posture, and basically, the traveling motion of the wheel assembly 5 is controlled such that the actual posture of the base body 9 is converged to the desired posture.
Further, in a state wherein no occupant is aboard the vehicle 1, the posture of the base body 9 in a state which the center-of-gravity point of the vehicle 1 alone is positioned substantially right above the central point of the wheel assembly 5 (the central point on the axial center C2) (a state wherein the center-of-gravity point is positioned substantially right above the ground contact surface of the wheel assembly 5) is defined as a desired posture, and the actual posture of the base body 9 is converged to the desired posture. Thus, the traveling motion of the wheel assembly 5 is controlled such that the vehicle 1 supports itself without causing the base body 9 to fall from tilting.
Further, in either state of the state where the occupant is aboard the vehicle 1 and the state where the occupant is not aboard, the traveling motion of the wheel assembly 5 is controlled so that the traveling speed of the vehicle 1 becomes faster as the deviation of the actual posture of the base body 9 from the desired posture becomes larger, and that the traveling of the vehicle 1 stops in the state where the actual posture of the base body 9 coincides with the desired posture.
Supplementally, “the posture” means a spatial orientation. In the present embodiment, when the base body 9 tilts together with the seat 3, the postures of the base body 9 and the seat 3 change. Further, in the present embodiment, the base body 9 and the seat 3 integrally tilt, so that converging the posture of the base body 9 to the desired posture is equivalent to converging the posture of the seat 3 to a desired posture associated with the seat 3 (the posture of the seat 3 in a state wherein the posture of the base body 9 coincides with a desired posture of the base body 9).
According to the present embodiment, in order to control the operation of the vehicle 1 as described above, a control unit 50 constructed of an electronic circuit unit which includes a microcomputer and a drive circuit unit for the electric motors 31R and 31L, a tilt sensor 52 for measuring a tilt angle θb relative to the vertical direction (the gravitational direction) of a predetermined portion of the base body 9 and a changing velocity thereof (=dθb/dt) as state amounts related to the posture of the base body 9 (or the posture of the sheet 3), a load sensor 54 for detecting whether or not an occupant is aboard the vehicle 1, and rotary encoders 56R and 56L serving as angle sensors for detecting the rotational angles and the rotational angular velocities of the output shafts of the electric motors 31R and 31L, respectively, are mounted at appropriate places of the vehicle 1, as illustrated in FIG. 1 and FIG. 2.
In this case, the control unit 50 and the tilt sensor 52 are installed to the support frame 13 by, for example, being accommodated in the support frame 13 of the base body 9. Further, the load sensor 54 is incorporated in the seat 3. Further, the rotary encoders 56R and 56L are provided integrally with the electric motors 31R and 31L. The rotary encoders 56R and 56L may alternatively be attached to the rotating members 27R and 27L, respectively·
More specifically, the aforesaid tilt sensor 52 is constructed of an acceleration sensor and a rate sensor (angular velocity sensor), such as a gyro sensor, and outputs detection signals of these sensors to the control unit 50. Then, the control unit 50 carries out predetermined measurement arithmetic processing (this may be publicly known arithmetic processing) on the basis of the outputs of the acceleration sensor and the rate sensor of the tilt sensor 52 thereby to calculate the measured value of the tilt angle θb of the portion, to which the tilt sensor 52 is installed (the support frame 13 in the present embodiment), relative to the vertical direction and the measured value of the tilt angular velocity θbdot, which is a change rate (differential value) thereof.
In this case, to be more specific, the tilt angle θb to be measured (hereinafter referred to a base body tilt angle θb in some cases) is constituted of a component in the direction about the Y-axis (a pitch direction) θb_x and a component in the direction about the X-axis (a roll direction) θb_y·Similarly, the tilt angular velocity θbdot to be measured (hereinafter referred to a base body tilt angular velocity θbdot in some cases) is composed of a component in the direction about the Y-axis (the pitch direction) θbdot_x (=dθb_x/dt) and a component in the direction about the X-axis (the roll direction) θbdot_y (=dθb_y/dt).
Supplementally, according to the present embodiment, the seat 3 tilts integrally with the support frame 13 of the base body 9, so that the base body tilt angle θb also has a meaning as the tilt angle of the payload supporting part 3.
In the description of the present embodiment, regarding variables, such as a motional state amount having components in directions of the X-axis and the Y-axis, such as the aforesaid base body tilt angle θb (or directions about each axes), or variables, such as coefficients related to the motional state amount, the reference characters of the variables will be accompanied by a suffix “_x” or “_y” to distinguishably denote the components.
In this case, for the variables related to translational motions, such as a translational velocity, a component in the X-axis direction thereof will be accompanied by the suffix “_x” and a component in the Y-axis direction thereof will be accompanied by the suffix “_y·”
Meanwhile, regarding the variables related to rotational motions, such as angles, rotational velocities (angular velocities), and angular acceleration, for the purpose of convenience, a component in the direction about the Y-axis will be accompanied by the suffix “_x” and a component in the direction about the X-axis will be accompanied by the suffix “_y” in order to match the variables related to translational motions with suffixes.
Further, to denote a variable in the form of a pair of a component in the X-axis direction (or a component in the direction about the Y-axis) and a component in the Y-axis direction (or a component in the direction about the X-axis), the suffix “_xy” is added to the reference character of the variable. For example, to express the aforesaid base body tilt angle θb in the form of the pair of a component in the direction about the Y-axis θb_x and a component in the direction about the X-axis θb_y, the pair will be denoted by “the base body tilt angle θb_xy·”
The load sensor 54 is incorporated in the seat 3 so as to be subjected to a load from the weight of an occupant when the occupant sits on the seat 3, and outputs a detection signal based on the load to the control unit 50. Then, the control unit 50 determines whether or not the occupant is aboard the vehicle 1 on the basis of the measured value of the load indicated by the output of the load sensor 54.
In place of the load sensor 54, a switch type sensor which, for example, turns on when an occupant sits on the seat 3 may be used.
The rotary encoder 56R generates a pulse signal each time the output shaft of the electric motor 31R rotates for a predetermined angle, and outputs the pulse signal to the control unit 50. Then, based on the pulse signal, the control unit 50 measures the rotational angle of the output shaft of the electric motor 31R and further measures the temporal change rate (differential value) of the measured value of the rotational angle as the rotational angular velocity of the electric motor 31R. The same applies to the rotary encoder 56L for the electric motor 31L.
The control unit 50 carries out predetermined arithmetic processing by using the aforesaid measured values thereby to determine velocity commands, which are the desired values of the rotational angular velocities of the electric motors 31R and 31L, respectively, and carries out feedback control on the rotational angular velocity of each of the electric motors 31R and 31L according to the determined velocity commands.
Incidentally, the relationship between the rotational angular velocity of the output shaft of the electric motor 31R and the rotational angular velocity of the rotating member 27R will be a proportional relationship based on the speed reduction ratio of a fixed value between the output shaft and the rotating member 27R. Hence, for the sake of convenience, in the description of the present embodiment, the rotational angular velocity of the electric motor 31R will mean the rotational angular velocity of the rotating member 27R. Similarly, the rotational angular velocity of the electric motor 31L will mean the rotational angular velocity of the rotating member 27L.
The following will describe in more detail the control processing carried out by the control unit 50.
The control unit 50 executes the processing (main routine processing) illustrated by the flowchart of FIG. 7 at a predetermined control processing cycle.
First, in STEP1, the control unit 50 acquires an output of a tilt sensor 52. Subsequently, the control unit 50 proceeds to STEP2 to calculate a measured value θb_xy_s of a base body tilt angle θb and a measured value θbdot_xy_s of a base body tilt angular velocity θbdot on the basis of the acquired output of the tilt sensor 52.
In the following description, to denote the observed value (the measured value or an estimated value) of an actual value of a variable (a state amount), such as the aforesaid measured value θb_xy_s of the base body tilt angle θb, by a reference character, the reference character of the variable will have a suffix “_s”.
Next, after acquiring an output of a load sensor 54 in STEP3, the control unit 50 carries out the determination processing in STEP4. In the determination processing, the control unit 50 determines whether or not the vehicle 1 has an occupant aboard (whether or not an occupant is sitting on the seat 3) by determining whether or not the load measured value indicated by the acquired output of the load sensor 54 is larger than a predetermined value which has been set beforehand.
Then, if the determination result in STEP4 is affirmative, the control unit 50 carries out the processing for setting an operational mode of the vehicle 1 and the processing for setting the values of constant parameters (e.g., the basic values of various gains) for controlling the operation of the vehicle 1 in STEP5 and STEP6, respectively·
In the present embodiment, two types of operational modes, that is, a boarding mode and an autonomous mode, are included as the operational mode of the vehicle 1. The “boarding mode” means the operational mode of the vehicle 1 in the state where an occupant is aboard the vehicle 1, and the “autonomous mode” means the operational mode of the vehicle 1 in the case where no occupant is aboard the vehicle 1.
Then, in STEP5, the control unit 50 sets the boarding mode as the operational mode of the vehicle 1. Further, in STEP6, the control unit 50 sets predetermined values for the boarding mode as the values of constant parameters for controlling the operation of the vehicle 1. The constant parameters include, for example, hx, hy, Ki_a_x, Ki_b_x, Ki_a_y, and Ki_b_y (i=1, 2, 3), which will be discussed later.
Meanwhile, if the determination result in STEP4 is negative, then the control unit 50 carries out the processing for setting the operational mode of the vehicle 1 and the processing for setting the values of constant parameters for controlling the operation of the vehicle 1 in STEP7 and STEP8, respectively·
Then, in STEP7, the control unit 50 sets the autonomous mode as the operational mode of the vehicle 1. Further, in STEP8, the control unit 50 sets predetermined values for the autonomous mode as the values of constant parameters for controlling the operation of the vehicle 1. The values of the constant parameters for the autonomous mode are different from the values of the constant parameters for the boarding mode.
The aforesaid values of the constant parameters are set to be different between the boarding mode and the autonomous mode, because the response characteristics of the operations of the vehicle 1 relative to control inputs are different from each other due to the differences in the height of the aforesaid center-of-gravity point, the overall mass, and the like between the respective modes.
By the processing in STEP4 to STEP8 described above, operational mode of the vehicle 1 is set according to the load detected value, and the values of the constant parameters are set for each of the operational modes, namely, the boarding mode and the autonomous mode.
Incidentally, the processing in STEP5 and STEP6 or the processing in STEP7 and STEP8 is not essential to carry out for each control processing cycle. Alternatively, the processing may be carried out only when the determination result in STEP4 changes.
After carrying out the processing in STEP5 and STEP6 or the processing in STEP7 and STEP8 as described above, the control unit 50 carries out vehicle control arithmetic processing in STEP9 thereby to determine the speed commands for electric motors 31R and 31L, respectively·The vehicle control arithmetic processing will be discussed later in detail.
Subsequently, the control unit 50 proceeds to STEP10 to carry out the processing for controlling the operations of the electric motors 31R and 31L according to the speed commands determined in STEP9. In this operation control processing, based on the difference between the speed command for the electric motor 31R determined in STEP9 and the measured value of the rotational speed of the electric motor 31R measured on the basis of an output of a rotary encoder 56R, the control unit 50 determines a desired value (desired torque) of an output torque of the electric motor 31R such that the difference is converged to 0. Then, the control unit 50 controls the current supplied to the electric motor 31R such that the electric motor 31R outputs an output torque of the desired torque. The same applies to the operation control of the left electric motor 31L.
The above has described the general control processing carried out by the control unit 50.
The vehicle control arithmetic processing in STEP9 mentioned above will now be described in detail.
In the following description, an overall center-of-gravity point of the vehicle 1 and the occupant aboard the sheet 3 in the boarding mode will be referred to as a vehicle-occupant overall center-of-gravity point, and a center-of-gravity point of the vehicle 1 alone in the autonomous mode will be referred to as a vehicle-alone center-of-gravity point. Further, the vehicle-occupant overall center-of-gravity point and the vehicle-alone center-of-gravity point will be generically referred to as the vehicle system center-of-gravity point. The vehicle system center-of-gravity point will mean the vehicle-occupant overall center-of-gravity point when the operational mode of the vehicle 1 is the boarding mode and will mean the vehicle-alone center-of-gravity point when the operational mode of the vehicle 1 is the autonomous mode.
Further, in the following description, regarding the values (updated values) determined at each control processing cycle by the control unit 50, a value determined at a current (latest) control processing cycle may be referred to as a current value, and a value determined at an immediately preceding control processing cycle may be referred to as a previous value. Further, a value will mean a current value unless otherwise specified as a current value or a previous value.
Further, regarding the velocity and acceleration in the X-axis direction, a forward-facing direction will be defined as a positive direction, and regarding the velocity and acceleration in the Y-axis direction, a left-facing direction will be defined as the positive direction.
In the present embodiment, the vehicle control arithmetic processing in STEP9 is carried out, assuming that the dynamic behaviors of the vehicle system center-of-gravity point (more specifically, the behaviors observed by projecting the behaviors from the Y-axis direction onto a plane (XZ plane) which is orthogonal thereto, and the behaviors observed by projecting the behaviors from the X-axis direction onto a plane (YZ plane) which is orthogonal thereto) are approximately expressed by the behaviors of an inverted pendulum model (dynamic behaviors of the inverted pendulum), as shown in FIG. 8.
In FIG. 8, unparenthesized reference numerals denote the reference numerals associated with the inverted pendulum model observed from the Y-axis direction, while the parenthesized reference numerals denote the reference numerals associated with the inverted pendulum model observed from the X-axis direction.
In this case, the inverted pendulum model expressing a behavior observed from the Y-axis direction is provided with a mass point 60_x positioned at the vehicle system center-of-gravity point and a imaginary wheel 62_x, which has a rotational axis 62a_x parallel to the Y-axis direction and which freely circumrotate on a floor surface (hereinafter referred to as the imaginary wheel 62_x). Further, the mass point 60_x is supported by a rotational shaft 62a_x of the imaginary wheel 62_x through the intermediary of a linear rod 64_x such that the mass point 60_x is swingable about the rotational shaft 62a_x, using the rotational shaft 62a_x as the supporting point.
In this inverted pendulum model, a motion of the mass point 60_x corresponds to a motion of the vehicle system center-of-gravity point observed from the Y-axis direction. Further, it is assumed that the tilt angle θbe_x of the rod 64_x relative to a vertical direction coincides with a difference θbe_x_s between a base body tilt angle measured value θb_x_s in the direction about the Y-axis and a desired value of the base body tilt angle θb_x determined as is explained below (hereinafter, referred to as a base body tilt angle desired value θb_x_obj) (=θb_x_s−θb_x_obj). It is also assumed that a changing velocity of the tilt angle θbe_x of the rod 64_x (=dθbe_x/dt) coincides with a base body tilt angular velocity measured value θbdot_x_s in the direction about the Y-axis. Further, it is assumed that a moving velocity Vw_x of the imaginary wheel 62_x (the translational moving velocity in the X-axis direction) coincides with the moving velocity of the wheel assembly 5 of the vehicle 1 in the X-axis direction.
Similarly, the inverted pendulum model expressing a behavior observed from the X-axis direction (refer to the parenthesized reference numerals in FIG. 8) is provided with a mass point 60_y positioned at the vehicle system center-of-gravity point and a imaginary wheel 62_y, which has a rotational axis 62a_y parallel to the X-axis direction and which freely circumrotate on a floor surface (hereinafter referred to as the imaginary wheel 62_y). Further, the mass point 60_y is supported by a rotational shaft 62a_y of the imaginary wheel 62_y through the intermediary of a linear rod 64_y such that the mass point 60_y is swingable about the rotational shaft 62a_y, using the rotational shaft 62a_y as the supporting point.
In this inverted pendulum model, a motion of the mass point 60_y corresponds to a motion of the vehicle system center-of-gravity point observed from the X-axis direction. Further, it is assumed that the tilt angle θbe_y of the rod 64_y relative to the vertical direction coincides with a difference θbe_y_s between a base body tilt angle measured value θb_y_s in the direction about the X-axis and a desired value of the base body tilt angle θb_y determined as is explained below (hereinafter, referred to as a base body tilt angle desired value θb_y_obj) (=θb_y_s−θb_y_obj). It is also assumed that a changing velocity of the tilt angle θbe_y of the rod 64_y (=dθbe_y/dt) coincides with a base body tilt angular velocity measured value θbdot_y_s in the direction about the X-axis. Further, it is assumed that a moving velocity Vw_y of the imaginary wheel 62_y (the translational moving velocity in the Y-axis direction) coincides with the moving velocity of the wheel assembly 5 of the vehicle 1 in the Y-axis direction.
Although it will be explained in detail below, the base body tilt angle desired values θb_x_obj, θb_y_obj are respectively determined to be values (constant values) coinciding or approximately coinciding with the base body tilt angle measured values θb_x_s, θb_y_s measured on the basis of the output of the tilt sensor 52, in the posture of the base body 9 in the state where the vehicle system center-of-gravity point is positioned approximately right above the ground contact surface of the wheel assembly 5, except in the period immediately after when the operational mode of the vehicle 1 is switched according to the determination result in STEP4. The base body tilt angle desired values θb_x_obj, θb_y_obj are generally different from one another in the boarding mode and the autonomous mode.
It is assumed that the imaginary wheels 62_x and 62_y have radii Rw_x and Rw_y of predetermined values, respectively·
It is assumed that relationships represented by expressions 01a and 01b given below hold between rotational angular velocities ωw_x and ωw_y of the imaginary wheels 62_x and 62_y, respectively, and rotational angular velocities ω_R and ω_L of the electric motors 31R and 31L, respectively (more accurately, the rotational angular velocities ω_R and ω_L of rotational members 27R and 27L, respectively).

ωw—x=(ω—R+ω—L)/2  Expression 01a

ωw—y=C·(ω—R−ω—L)/2  Expression 01b

where “C” in expression 01b denotes a coefficient of a predetermined value that depends on a mechanical relationship or slippage between free rollers 29R and 29L and the wheel assembly 5. The positive directions of ωw_x, ω_R and ω_L are the directions in which the imaginary wheel 62_x rotates in the case where the imaginary wheel 62_x circumrotates forward. The positive direction of ωw_y is the direction in which the imaginary wheel 62_y rotates in the case where the imaginary wheel 62_y circumrotates leftwards.
Here, the dynamics of the inverted pendulum model shown in FIG. 8 is represented by expressions 03x and 03y given below. Expression 03x is an expression that represents the dynamics of the inverted pendulum model observed from the Y-axis direction, while expression 03y is an expression that represents the dynamics of the inverted pendulum model observed from the X-axis direction.

d2θbe—x/dt2=α—x·θbe—x+β—x·ωwdot—x  Expression 03x

d2θbe—y/dt2=α—y·θbe—y+β—y·ωwdot—y  Expression 03y

where ωwdot_x in expression 03x denotes the rotational angular acceleration (first-order differential value of the rotational angular velocity ωw_x) of the imaginary wheel 62_x, α_x denotes a coefficient which depends on a mass or a height h_x of the mass point 60_x, and β_x denotes a coefficient which depends on an inertia (inertial moment) or the radius Rw_x of the imaginary wheel 62_x. The same applies to ωwdot_y, α_y, and β_y in expression 03y·
As may be understood from these expressions 03x and 03y, the motions of the mass points 60_x and 60_y of the inverted pendulum model (i.e., the motions of the vehicle system center-of-gravity point) are specified, depending on the rotational angular acceleration ωwdot_x of the imaginary wheel 62_x and the rotational angular acceleration ωwdot_y of the imaginary wheel 62_y, respectively·
In the present embodiment, therefore, the rotational angular acceleration ωwdot_x of the imaginary wheel 62_x is used as the manipulated variable (control input) for controlling the motion of the vehicle system center-of-gravity point observed from the Y-axis direction, while the rotational angular acceleration ωwdot_y of the imaginary wheel 62_y is used as the manipulated variable (control input) for controlling the motion of the vehicle system center-of-gravity point observed from the X-axis direction.
To briefly describe the vehicle control arithmetic processing in STEP9, the control unit 50 determines imaginary wheel rotational angular acceleration commands ωwdot_x_cmd and ωwdot_y_cmd, which are the command values (desired values) of the rotational angular accelerations ωwdot_x and ωwdot_y as the manipulated variables such that the motion of the mass point 60_x observed in the X-axis direction and the motion of the mass point 60_y observed in the Y-axis direction become the motions corresponding to desired motions of the vehicle system center-of-gravity point. Further, the control unit 50 determines the values obtained by integrating the imaginary wheel rotational angular acceleration commands ωwdot_x_cmd and ωwdot_y_cmd, respectively, as the imaginary wheel rotational angular velocity commands ωw_x_cmd and ωw_y_cmd, which are the command values (desired values) of the rotational angular velocities ωw_x and ωw_y of the imaginary wheels 62_x and 62_y, respectively·
Further, the control unit 50 defines the moving velocity of the imaginary wheel 62_x corresponding to the imaginary wheel rotational angular velocity command ωw_x_cmd (=Rw_x ·ωw_x_cmd) and the moving velocity of the imaginary wheel 62_y corresponding to the imaginary wheel rotational angular velocity command ωw_y_cmd (=Rw_y ·ωw_y_cmd) as the desired moving velocity of the wheel assembly 5 of the vehicle 1 in the X-axis direction and the desired moving velocity thereof in the Y-axis direction, respectively, and the control unit 50 determines velocity commands ω_R_cmd and ω_L_cmd of the electric motors 31R and 31L, respectively, so as to achieve the desired moving velocities.
In the present embodiment, the imaginary wheel rotational angular acceleration commands ωwdot_x_cmd and ωwdot_y_cmd as the manipulated variables (control inputs) are determined by adding up three manipulated variable components, as indicated by expressions 07x and 07y, which will be discussed later.
Supplementally, of the imaginary wheel rotational angular acceleration commands ωwdot_x_cmd, ωwdot_y_cmd as the manipulation variable (control input) in the present embodiment, ωwdot_x_cmd is a rotational angular acceleration velocity of the virtual wheel 62_x traveling in the X-axis direction, so that the same functions as the manipulated variable for regulating the driving force to be applied to the wheel assembly 5 for moving the wheel assembly 5 in the X-axis direction. Further, ωwdot_y_cmd is a rotational angular acceleration velocity of the virtual wheel 62_y traveling in the Y-axis direction, so that the same functions as the manipulated variable for regulating the driving force to be applied to the wheel assembly 5 for moving the wheel assembly 5 in the Y-axis direction.
The control unit 50 is provided with the functions illustrated in the block diagram of FIG. 9 as the functions for carrying out the vehicle control arithmetic processing in STEP9 as described above.
More specifically, the control unit 50 is provided with a tilt desired value setting element 70 which sets the base body tilt angle desired values θb_xy_obj, an error calculator 71 which calculates the base body tilt angle error measured value θbe_xy_s, which is the difference between the base body tilt angle measured value θb_xy_s and the base body tilt angle desired value θb_xy_obj, a center-of-gravity velocity calculator 72 which calculates an estimated center-of-gravity velocity value Vb_xy_s as an observed value of a center-of-gravity velocity Vb_xy, which is the moving velocity of the vehicle system center-of-gravity point, a center-of-gravity velocity restrictor 76 which determines a desired center-of-gravity velocity for control Vb_xy_mdfd as the desired value of the center-of-gravity velocity Vb_xy by taking into account a restriction based on a permissible range of the rotational angular velocities of the electric motors 31R and 31L, and a first gain adjustor 78 and a second gain adjustor 79 which respectively determines first gain adjustment parameters Kr1_xy and second gain adjustment parameters Kr2_xy for adjusting the values of gain coefficients of expressions 07x and 07y, which will be discussed later.
The control unit 50 is further provided with a posture control calculator 80 which calculates the imaginary wheel rotational angular velocity command ωw_xy_cmd, and a motor command calculator 82 which converts the imaginary wheel rotational angular velocity command ωw_xy_cmd into a pair of a velocity command ω_R_cmd (a command value of a rotational angular velocity) for the right electric motor 31R and a velocity command ω_L_cmd (a command value of a rotational angular velocity) for the left electric motor 31L.
Reference numeral 84 in FIG. 9 denotes a delay element which receives the imaginary wheel rotational angular velocity command ωw_xy_cmd calculated at each control processing cycle by the posture control calculator 80. The delay element 84 outputs a previous value ωw_xy_cmd_p of the imaginary wheel rotational angular velocity command ωw_xy_cmd at each control processing cycle.
In the vehicle control arithmetic processing in STEP9 described above, the processing by the aforesaid processing sections is carried out as described below.
The control unit 50 first carries out the processing by the tilt desired value setting element 70, the processing by the error calculator 71, the processing by the second gain adjustor 79, and the processing by the center-of-gravity velocity calculator 72.
The tilt desired value setting element 70 is input with the operational mode determined in STEP 5 or STEP7. Thereafter, the tilt desired value setting element 70 determines the base body tilt angle desired values θb_xy_obj according to the operational mode input thereto, as is shown in the graph of FIG. 10.
For example, explanation will be given with respect to the base body tilt angle desired value θb_x_obj in the direction about the Y-axis. In the present embodiment, a basic desired value for boarding mode as a value of the base body tilt angle desired value θb_x_obj in the state where the operational mode is maintained continuously in the boarding mode, and a basic desired value for autonomous mode as a value of the base body tilt angle desired value θb_x_obj in the state where the operational mode is maintained continuously in the autonomous mode, are set in advance.
In this case, the basic desired value for boarding mode is set to a value coinciding with or approximately coinciding with the base body tilt angle measured values θb_x_s, θb_y_s that are measured on the basis of the output of the tilt sensor 52, in the posture of the base body 9 in the state where the vehicle-occupant overall center-of-gravity point is positioned approximately right above the ground contact surface of the wheel assembly 5. Further, the basic desired value for autonomous mode is set to a value coinciding with or approximately coinciding with the base body tilt angle measured values θb_x_s, θb_y_s that are measured on the basis of the output of the tilt sensor 52, in the posture of the base body 9 in the state where the vehicle-alone center-of-gravity point is positioned approximately right above the ground contact surface of the wheel assembly 5. In the present embodiment, the basic desired value for boarding mode and the basic desired value for autonomous mode are values different from one another. In FIG. 10, the basic desired value for boarding mode is stated above the basic desired value for autonomous mode. However, the magnitude relationship between the basic desired value for boarding mode and the basic desired value for autonomous mode generally depends on the structure of the vehicle 1 or the like.
Thereafter, in a period immediately after the operational mode of the vehicle 1 switches from the autonomous mode to the boarding mode (immediately after time t1 in FIG. 10), a tilt desired value setting element 70 makes the base body tilt angle desired value θb_x_obj change from the basic desired value for autonomous mode towards the basic desired value for boarding mode at a constant temporal change rate. Further, after the base body tilt angle desired value θb_x_obj reaches the basic desired value for boarding mode, the tilt desired value setting element 70 holds θb_x_obj at the basic desired value for boarding mode.
Further, in a period immediately after the operational mode of the vehicle 1 switches from the boarding mode to the autonomous mode (immediately after time t2 in FIG. 10), the tilt desired value setting element 70 makes the base body tilt angle desired value θb_x_obj change from the basic desired value for boarding mode towards the basic desired value for autonomous mode at a constant temporal change rate. Further, after the base body tilt angle desired value θb_x_obj reaches the basic desired value for autonomous mode, the tilt desired value setting element 70 holds θb_x_obj at the basic desired value for boarding mode.
In this case, as is shown in the graph of FIG. 10, in the present embodiment, the temporal change rates are set beforehand so that the magnitude of the temporal change rate (rate of change) of θb_x_obj in the period immediately after switching from the boarding mode to the autonomous mode becomes faster than the temporal change rate (rate of change) of θb_x_obj in the period immediately after switching from the autonomous mode to the boarding mode.
In the case where the operational mode changes during the change of the base body tilt angle desired value θb_x_obj, the tilt desired value setting element 70 changes θb_x_obj from the value (previous value) of θb_x_obj immediately before change of the operational mode to the basic desired value corresponding to the operational mode after change, at the temporal change rate explained above.
The manner of determining the base body tilt angle desired value θb_x_obj explained above is the same for the base body tilt angle desired value θb_y_obj in the direction about the X-axis.
However, the basic desired value for boarding mode and the basic desired value for autonomous mode corresponding to θb_y_obj generally take values different from the basic desired values corresponding to θb_x_obj.
Further, the magnitude of the temporal change rate of θb_x_obj, θb_y_obj in the period immediately after changing from the autonomous mode to the boarding mode generally does not have to be mutually identical. For example, in the case where the difference between the basic desired value for boarding mode and the basic desired value for autonomous mode corresponding to θb_y_obj and the difference between the basic desired value for boarding mode and the basic desired value for autonomous mode corresponding to θb_x_obj is mutually different, the temporal change rate θb_x_obj, θb_y_obj may be set so that the time necessary from the time of switching from the autonomous mode to the boarding mode until θb_x_obj reaches the basic desired value for boarding mode and the time necessary from the time of switching until θb_y_obj reaches the basic desired value for boarding mode are equal. The same applies for the magnitude of the temporal change rate of θb_x_obj, θb_y_obj in the period immediately after switching from the boarding mode to the autonomous mode.
Supplementarily, there are cases where the tilt angle of the base body 9 in the direction about the X-axis in the state where the vehicle system center-of-gravity point is positioned approximately right above the ground contact surface of the wheel assembly 5 is identical or approximately identical in the boarding mode and the autonomous mode, such as in the case where the vehicle 1 is of a symmetrical configuration. In such case, the basic desired value for boarding mode and the basic desired value for autonomous mode may be set to identical values, and the base body tilt angle desired value θb_y_obj in the direction about the X-axis may be held constant regardless of the operational mode. The same applies for the base body tilt angle desired value θb_x_obj in the direction about the Y-axis.
Further, for either of θb_x_obj, θb_y_obj, in the case where the difference between the basic desired value for boarding mode and the basic desired value for autonomous mode is minute, θb_x_obj or θb_y_obj may be changed to the basic desired value corresponding to the operational mode after switching immediately from the switching in the case where the operational mode is switched.
The error calculator 71 is input with the base body tilt angle measured values θb_xy_s (θb_x_s and θb_y_s) calculated in above-mentioned STEP2 and the base body tilt angle desired values θb_xy_obj (θb_x_obj and θb_y_obj) determined by the tilt desired value setting element 70 as is explained above. Thereafter, the error calculator 71 calculates the base body tilt angle error measured value in the direction about the Y-axis θbe_x_s (=θb_x_s-θb_x_obj) by subtracting θb_x_obj from θb_x_s, and calculates the base body tilt angle error measured value in the direction about the X-axis θbe_y_s (=θb_y_s-θb_y_obj) by subtracting θb_y_obj from θb_y_s.
The processing of the tilt desired value setting element 70 and the error calculator 71 may be performed before the vehicle control arithmetic processing in STEP9. For example, the processing of the tilt desired value setting element 70 and the error calculator 71 may be performed between STEP4 and STEP9.
The second gain adjuster 79 is input with the operational mode determined in STEP5 or 7. Thereafter, the second gain adjustor 79 determines the second gain adjustment parameters Kr2_xy (Kr2_x and Kr2_y) according to the input operational mode, as is indicated in the graph of FIG. 11. Here, the second gain adjustment parameters Kr2_x, Kr2_y are both values within the range from 0 to 1.
For example, explanation will be given with respect to Kr2_x of the second gain adjustment parameters Kr2_x, Kr2_y·In the present embodiment, the value of the second gain adjustment parameter Kr2_x in the state where the operational mode is continuously held at the boarding mode (hereinafter referred to as an adjustment parameter basic value for boarding mode) is set beforehand to either one of 0 and 1, for example to 0. Further, the value of the second gain adjustment parameter Kr2_x in the state where the operational mode is continuously held at the autonomous mode (hereinafter referred to as an adjustment parameter basic value for autonomous mode) is set beforehand to the other one of 0 and 1 (in the present embodiment, 1).
Thereafter, the second gain adjustor 79 changes the second gain adjustment parameter Kr2_x from the adjustment parameter basic value for autonomous mode (=1) to the adjustment parameter basic value for boarding mode (=0) at the constant temporal change rate in the period immediately after the operational mode of the vehicle 1 switches from the autonomous mode to the boarding mode (immediately after time t1 in FIG. 11). Further, after the second gain adjustment parameter Kr2_x reaches the adjustment parameter basic value for boarding mode (=0), the second gain adjustor 79 holds Kr2_x at the adjustment parameter basic value for boarding mode (=0).
Further, the second gain adjustor 79 changes the second gain adjustment parameter Kr2_x from the adjustment parameter basic value for boarding mode (=0) towards the adjustment parameter basic value for autonomous mode (=1) at the constant temporal change rate in the period immediately after the operational mode of the vehicle 1 changes from the boarding mode to the autonomous mode (immediately after time t2 in FIG. 11). Further, after the second gain adjustment parameter Kr2_x reaches the adjustment parameter basic value for autonomous mode (=1), the second gain adjustor 79 holds Kr2_x at the adjustment parameter basic value for autonomous mode (=1).
In this case, in the present embodiment, the temporal change rates are set beforehand so that the magnitude of the temporal change rate (rate of change) of Kr2_y in the period immediately after switching from the boarding mode to the autonomous mode becomes faster than the magnitude of the temporal change rate (rate of change) of Kr2_x in the period immediately after switching from the autonomous mode to the boarding mode, as is shown in the graph of FIG. 11.
In the case where the operational mode changes during the change of the second gain adjustment parameter Kr2_x, the second gain adjustor 79 makes Kr2_x change from the value of Kr2_x (previous value) at immediately before the change of the operational mode toward the basic value corresponding to the operational mode after change, at the above-mentioned temporal change rate.
The manner of determining the second gain adjustment parameter Kr2_x is the same for Kr2_y·In this case, the magnitude of the temporal change rate of Kr2_x, Kr2_y generally does not have to be mutually identical in the period immediately after switching from the autonomous mode to the boarding mode. The same applies for the magnitude of the temporal change rate of Kr2_x, Kr2_y in the period immediately after switching from the boarding mode to the autonomous mode.
In the case where the magnitude of the temporal change rates of Kr2_x, Kr2_y in the period immediately after switching from the autonomous mode to the boarding mode are set to be mutually identical, and also the magnitude of the temporal change rates of Kr2_x, Kr2_y in the period immediately after switching from the boarding mode to the autonomous mode are set to be mutually identical, then Kr2_x=Kr2_y constantly holds, so that either one of Kr2_x, Kr2_y should be determined.
The center-of-gravity velocity calculator 72 receives the current value of the base body tilt angular velocity measured values θbdot_xy_s (θbdot_x_s and θbdot_y_s) calculated in the aforesaid STEP2 and also receives the previous values ωw_xy_cmd_p of the imaginary wheel velocity commands ωw_xy_cmd (ωw_x_cmd_p and ωw_y_cmd_p) from the delay element 84. Then, the center-of-gravity velocity calculator 72 calculates an estimated center-of-gravity velocity values Vb_xy_s (Vb_x_s and Vb_y_s) from the above input values according to a predetermined arithmetic expression based on the aforesaid inverted pendulum model.
More specifically, the center-of-gravity velocity calculator 72 calculates Vb_x_s and Vb_y_s according to the following expression 05x and expression 05y, respectively·

Vb—x—s=Rw—x·ωw—x—cmd—p+h—x·θbdot—x—s  05x

Vb—y—s=Rw—y·ωw—y—cmd—p+h—y·θbdot—y—s  05y

In these expressions 05x and 05y, Rw_x and Rw_y denote the radii of the imaginary wheels 62_x and 62_y, respectively, as described above, and the values thereof are predetermined values set beforehand. Further, reference characters h_x and h_y denote the heights of the mass points 60_x and 60_y, respectively, of the inverted pendulum model. In this case, according to the present embodiment, the height of the vehicle system center-of-gravity point is maintained to be substantially constant. Thus, predetermined values set beforehand are used as the values of h_x and h_y, respectively·Supplementally, the heights h_x and h_y are included in the constant parameters for setting the values in the aforesaid STEP6 or STEP8.
The first term of the right side of expression 05x given above denotes the moving velocity of the imaginary wheel 62_x in the X-axis direction, which corresponds to the previous value ωw_x_cmd_p of the velocity command of the imaginary wheel 62_x. This moving velocity corresponds to the current value of an actual moving velocity of the wheel assembly 5 in the X-axis direction. Further, the second term of the right side of expression 05x corresponds to the current value of the moving velocity of the vehicle system center-of-gravity point in the X-axis direction attributable to the base body 9 tilting at a tilt angular velocity of θbdot_x_s in the direction about the Y-axis (relative moving velocity in relation to the wheel assembly 5). The same applies to expression 05y·
Alternatively, the pair of the measured values (the current values) of the rotational angular velocities of the electric motors 31R and 31L, respectively, which are measured on the basis of the outputs of the rotary encoders 56R and 56L, may be converted into the pair of the rotational angular velocities of the imaginary wheels 62_x and 62_y, respectively, then the rotational angular velocities may be used in place of ωw_x_cmd_p and ωw_y_cmd_p of expressions 05x and 05y·However, in order to eliminate the influences of noises contained in the measured values of the rotational angular velocities, it is advantageous to use ωw_x_cmd_p and ωw_y_cmd_p, which are desired values.
Subsequently, the control unit 50 carries out the processing by the center-of-gravity velocity restrictor 76 and the processing by the first gain adjustor 78. In this case, the center-of-gravity velocity restrictor 76 and the first gain adjustor 78 respectively receive the estimated center-of-gravity velocity values Vb_xy_s (Vb_x_s and Vb_y_s) calculated by the center-of-gravity velocity calculator 72 as described above. Further, the second gain adjustor is input with the operational mode determined in STEP5 or 7.
Further, the first gain adjustor 78 determines the first gain adjustment parameters Kr1_xy (Kr1_x and Kr1_y) on the basis of the input estimated center-of-gravity velocity values Vb_xy_s (Vb_x_s and Vb_y_s).
The processing by the first gain adjustor 78 will be described below with reference to FIG. 12 and FIG. 13.
As illustrated in FIG. 12, the first gain adjustor 78 supplies the input estimated center-of-gravity velocity values Vb_x_s and Vb_y_s to a limiting processor 86. The limiting processor 86 adds, as appropriate, restrictions based on the permissible ranges of the rotational angular velocities of the electric motors 31R and 31L to the estimated center-of-gravity velocity values Vb_x_s and Vb_y_s, thereby generating output values Vw_x_lim1 and Vw_y_lim1. The output value Vw_x_lim1 means a value obtained after limiting the moving velocity Vw_x of the imaginary wheel 62_x in the X-axis direction and the output value Vw_y_lim1 means a value obtained after limiting the moving velocity Vw_y of the imaginary wheel 62_y in the Y-axis direction.
The processing by the limiting processor 86 will be described in further detail with reference to FIG. 13. The parenthesized reference characters in FIG. 13 denote the processing by a limiting processor 104 of the center-of-gravity velocity restrictor 76, which will be discussed later, and may be ignored in the description related to the processing by the limiting processor 86.
The limiting processor 86 first supplies the estimated center-of-gravity velocity values Vb_x_s and Vb_y_s to processors 86a_x and 86a_y, respectively·The processor 86a_x divides Vb_x_s by the radius Rw_x of the imaginary wheel 62_x to calculate the rotational angular velocity ωw_x_s of the imaginary wheel 62_x in the case where it is assumed that the moving velocity of the imaginary wheel 62_x in the X-axis direction coincides with Vb_x_s. Similarly, the processor 86a_y calculates the rotational angular velocity ωw_y_s of the imaginary wheel 62_y (=Vb_y_s/Rw_y) in the case where it is assumed that the moving velocity of the imaginary wheel 62_y in the Y-axis direction coincides with Vb_y_s.
Subsequently, the limiting processor 86 converts the pair of ωw_x_s and ωw_y_s into a pair of the rotational angular velocity ω_R_s of the electric motor 31R and the rotational angular velocity ω_L_s of the electric motor 31L by an XY-RL converter 86b. 
According to the present embodiment, the conversion is implemented by solving a simultaneous equation obtained by replacing ωw_x, ωw_y, ω_R and ω_L of the aforesaid expressions 01a and 01b by ωw_x_s, ωw_y_s, ω_R_s and ω_L_s, respectively, taking the ω_R_s and ω_L_s as unknowns.
Subsequently, the limiting processor 86 supplies the output values ω_R_s and ω_L_s of the XY-RL converter 86b to limiters 86c_R and 86c_L, respectively·At this time, the limiter 86c_R directly outputs the ω_R_s as an output value ω_R_lim1 if the ω_R_s falls within the permissible range for the right motor, which has an upper limit value (>0) and a lower limit value (<0) of predetermined values set beforehand. If the ω_R_s deviates from the permissible range for the right motor, then the limiter 86c_R outputs, as the output value ω_R_lim1, a boundary value of the upper limit value or the lower limit value of the permissible range for the right motor whichever is closer to the ω_R_s. Thus, the output value ω_R_lim1 of the limiter 86c_R is limited to a value within the permissible range for the right motor.
Similarly, the limiter 86c_L directly outputs the ω_L_s as an output value ω_L_lim1 if the ω_L_s falls within the permissible range for the left motor, which has an upper limit value (>0) and a lower limit value (<0) of predetermined values set beforehand. If the ω_L_s deviates from the permissible range for the left motor, then the limiter 86c_L outputs, as the output value ω_L_lim1, a boundary value of the upper limit value or the lower limit value of the permissible range for the left motor whichever is closer to the ω_L_s. Thus, the output value ω_L_lim1 of the limiter 86c_L is limited to a value within the permissible range for the left motor.
The permissible range for the right motor described above is a permissible range which has been set so as to prevent the rotational angular velocity (absolute value) of the right electric motor 31R from becoming excessively high thereby to prevent the maximum value of the torque that can be output by the electric motor 31R from decreasing. This applies also to the permissible range for the left motor.
Subsequently, the limiting processor 86 converts the pair of the output values ω_R_lim1 and ω_L_lim1 of the limiters 86c_R and 86c_L, respectively, into a pair of the rotational angular velocities ωw_x_lim1 and ωw_y_lim1 of the imaginary wheels 62_x and 62_y, respectively, by an RL-XY converter 86d. 
The conversion is the processing of the inverse conversion of the processing of the conversion by the aforesaid XY-RL converter 86b. This processing is implemented by solving a simultaneous equation obtained by replacing ωw_x, ωw_y, ω_R and ω_L of the aforesaid expressions 01a and 01b by ωw_x_lim1, ωw_y_lim1, ω_R_lim1 and ω_L_lim1, respectively, taking the ωw_x_lim1 and ωw_y_lim1 as unknowns.
Subsequently, the limiting processor 86 supplies the output values ωw_x_lim1 and ωw_y_lim1 of the RL-XY converter 86d to processors 86e_x and 86e_y, respectively. The processor 86e_x multiplies ωw_x_lim1 by the radius Rw_x of the imaginary wheel 62_x to convert ωw_x_lim1 into the moving velocity Vw_x_lim1 of the imaginary wheel 62_x. In the same manner, the processor 86e_y converts ωw_y_lim1 into the moving velocity Vw_y_lim1 of the imaginary wheel 62_y (=ωw_y_lim1·Rw_y).
If it is assumed that the processing by the limiting processor 86 described above causes the moving velocity Vw_x of the imaginary wheel 62_x in the X-axis direction and the moving velocity Vw_y of the imaginary wheel 62_y in the Y-axis direction to agree with the estimated center-of-gravity velocity values Vb_x_s and Vb_y_s, respectively (in other words, if it is assumed that the moving velocity of the wheel assembly 5 in the X-axis direction and the moving velocity in the Y-axis direction are set to agree with Vb_x_s and Vb_y_s, respectively), then the pair of output values Vw_x_lim1 and Vw_y_lim1 coinciding with Vb_x_s and Vb_y_s, respectively, is output from the limiting processor 86 if the rotational angular velocities ω_R_s and ω_L_s of the electric motors 31R and 31L, respectively, which are required for achieving the moving velocities, both fall within permissible ranges.
Meanwhile, if both or one of the rotational angular velocities ω_R_s and ω_L_s of the electric motors 31R and 31L, respectively, deviates from the permissible range or ranges, then both or one of the rotational angular velocities is forcibly limited to be within the permissible range, and a pair of the moving velocities in the X-axis direction and the Y-axis direction Vw_x_lim1 and Vw_y_lim1 corresponding to a pair of the limited rotational angular velocities ω_R_lim1 and ω_L_lim1 of the electric motors 31R and 31L, respectively, is output from the limiting processor 86.
Hence, the limiting processor 86 generates a pair of output values Vw_x_lim1 and Vw_y_lim1 such that the output values Vw_x_lim1 and Vw_y_lim1 agree with Vb_x_s and Vb_y_s, respectively, as much as possible under an essential required condition that the rotational angular velocities of the electric motors 31R and 31L corresponding to the pair of the output values Vw_x_lim1 and Vw_y_lim1, respectively, do not deviate from the permissible ranges.
Referring back to the description of FIG. 12, the first gain adjustor 78 then carries out the processing by calculators 88_x and 88_y·The calculator 88_x receives the estimated center-of-gravity velocity value in the X-axis direction Vb_x_s and the output value Vw_x_lim1 of the limiting processor 86. Then, the calculator 88_x calculates a value Vover_x obtained by subtracting Vb_x_s from Vw_x_lim1 and outputs the value Vover_x. Further, the calculator 88_y receives the estimated center-of-gravity velocity value in the Y-axis direction Vb_y_s and the output value Vw_y_lim1 of the limiting processor 86. Then, the calculator 88_y calculates a value Vover_y obtained by subtracting Vb_y_s from Vw_y_lim1 and outputs the value Vover_y·
In this case, if the output values Vw_x_lim1 and Vw_y_lim1 are not forcibly restricted by the limiting processor 86, then Vw_x_lim1=Vb_x_s and Vw_y_lim1=Vb_y_s. Therefore, the output values Vover_x and Vover_y of the calculators 88_x and 88_y, respectively, will be both 0.
Meanwhile, if the output values Vw_x_lim1 and Vw_y_lim1 of the limiting processor 86 are generated by forcibly restricting the input values Vb_x_s and Vb_y_s, then a corrected amount from Vb_x_s of Vw_x_lim1 (=Vw_x_lim1−Vb_x_s) and a corrected amount from Vb_y_s of Vw_y_lim1 (=Vw_y_lim1−Vb_y_s) will be output from the calculators 88_x and 88_y, respectively.
Subsequently, the first gain adjustor 78 passes the output value Vover_x of the calculator 88_x through processors 90_x and 92_x in this order thereby to determine the first gain adjustment parameter Kr1_x. Further, the first gain adjustor 78 passes the output value Vover_y of the calculator 88_y through processors 90_y and 92_y in this order thereby to determine the first gain adjustment parameter Kr1_y·The first gain adjustment parameters Kr1_x and Kr1_y both take values within the range from 0 to 1.
The processor 90_x calculates and outputs the absolute value of the input Vover_x. Further, the processor 92_x generates Kr1_x such that the output value Kr1_x monotonously increases relative to an input value |Vover_x| and has a saturation characteristic. The saturation characteristic is a characteristic in which a change amount of an output value relative to an increase in an input value becomes 0 or approaches to 0 when the input value increases to a certain level.
In this case, according to the present embodiment, if the input value |Vover_x| is a preset, predetermined value or less, then the processor 92_x outputs, as Kr1_x, a value obtained by multiplying the input value |Vover_x| by a proportionality coefficient of a predetermined value. Further, if the input value |Vover_x| is larger than the predetermined value, then the processor 92_x outputs 1 as Kr1_x. Incidentally, the proportionality coefficient is set such that the product of |Vover_x| and the proportionality coefficient becomes 1 when |Vover_x| agrees with a predetermined value.
The processing by processors 90_y and 92_y is the same as that carried out by the processors 90_x and 92_x, respectively, described above.
If the output values Vw_x_lim1 and Vw_y_lim1 in the limiting processor 86 are not forcibly restricted by the processing carried out by the first gain adjustor 78 described above, that is, if the rotational angular velocities of the electric motors 31R and 31L fall within the permissible ranges even when the electric motors 31R and 31L are operated such that the moving velocities Vw_x and Vw_y of the wheel assembly 5 in the X-axis direction and the Y-axis direction, respectively, agree with the estimated center-of-gravity velocity values Vb_x_s and Vb_y_s, respectively, then the first gain adjustment parameters Kr1_x and Kr1_y are both determined to be 0. Therefore, generally, Kr1_x=Kr1_y=0.
Meanwhile, if the output values Vw_x_liml and Vw_y_liml of the limiting processor 86 are generated by forcibly restricting the input values Vb_x_s and Vb_y_s, that is, if the rotational angular velocity of one of the electric motors 31R and 31L deviates from the permissible range (if the absolute value of one of the rotational angular velocities becomes excessively high) when the electric motors 31R and 31L are operated such that the moving velocities Vw_x and Vw_y of the wheel assembly 5 in the X-axis direction and the Y-axis direction, respectively, agree with the estimated center-of-gravity velocity values Vb_x_s and Vb_y_s, then the values of the first gain adjustment parameters Kr1_x and Kr1_y are determined on the basis of the absolute values of the aforesaid corrected amounts Vover_x and Vover_y, respectively·In this case, Kr1_x is determined to be a larger value as the absolute value of the corrected amount Vx_over increases, the upper limit value thereof being 1. The same applies to Kr1_y.
The center-of-gravity velocity restrictor 76 carries out the processing illustrated by the block diagram of FIG. 14 by using the estimated center-of-gravity velocity values Vb_xy_s (Vb_x_s and Vb_y_s) input thereto so as to determine desired center-of-gravity velocities for control Vb_xy_mdfd (Vb_x_mdfd and Vb_y_mdfd).
To be more specific, the center-of-gravity velocity restrictor 76 first carries out the processing by stead-state error calculators 94_x and 94_y·
In this case, the stead-state error calculator 94_x receives the estimated center-of-gravity velocity value in the X-axis direction Vb_x_s and also receives the previous value Vb_x_mdfd_p of the desired center-of-gravity velocity for control in the X-axis direction Vb_x_mdfd through the intermediary of a delay element 96_x. Then, in the stead-state error calculator 94_x, first, the input Vb_x_s is supplied to a proportional-differential compensation component (PD compensation component) 94a_x. The proportional-differential compensation component 94a_x is a compensation component whose transfer function is denoted by 1+Kd·S, and adds the input Vb_x_s and the value obtained by multiplying the differential value thereof (temporal change rate) by a coefficient Kd of a predetermined value, and outputs the value resulting from the addition.
Subsequently, the stead-state error calculator 94_x calculates, by a calculator 94b_x, the value obtained by subtracting the input Vb_x_mdfd_p from the output value of the proportional-differential compensation component 94a_x, then supplies the output value of the calculator 94b_x to a low-pass filter 94c_x having a phase compensation function. The low-pass filter 94c_x is a filter whose transfer function is denoted by (1+T2·S)/(1+T1·S). Then, the stead-state error calculator 94_x outputs the output value Vb_x_prd of the low-pass filter 94c_x.
Further, the stead-state error calculator 94_y receives the estimated center-of-gravity velocity value in the Y-axis direction Vb_y_s and also receives the previous value Vb_y_mdfd_p of the desired center-of-gravity velocity for control in the Y-axis direction Vb_y_mdfd through the intermediary of a delay element 96_y·
Then, as with the stead-state error calculator 94_x described above, the stead-state error calculator 94_y carries out the processing by a proportional-differential compensation component 94a_y, a calculator 94b_y, and a low-pass filter 94c_y in order and outputs an output value Vb_y_prd of the low-pass filter 94c_y·
Here, the output value Vb_x_prd of the stead-state error calculator 94_x has a meaning as a stead-state error of a future estimated center-of-gravity velocity value in the X-axis direction presumed from a current motion state of the vehicle system center-of-gravity point observed from the Y-axis direction (in other words, the motion state of the mass point 60_x of the inverted pendulum model observed from the Y-axis direction) relative to the desired center-of-gravity velocity for control Vb_x_mdfd of an expected convergence value. Similarly, the output value Vb_y_prd of the stead-state error calculator 94_y has a meaning as a stead-state error of a future estimated center-of-gravity velocity value in the Y-axis direction presumed from a current motion state of the vehicle system center-of-gravity point observed from the X-axis direction (in other words, the motion state of the mass point 60_y of the inverted pendulum model observed from the X-axis direction) relative to the desired center-of-gravity velocity for control Vb_y_mdfd of an expected convergence value. Hereinafter, the output values Vb_x_prd and Vb_y_prd of the stead-state error calculators 94_x and 94_y, respectively, will be referred to as the expected center-of-gravity velocity stead-state error values.
After carrying out the processing by the stead-state error calculators 94_x and 94_y as described above, the center-of-gravity velocity restrictor 76 inputs the expected center-of-gravity velocity stead-state error values Vb_x_prd, Vb_y_prd, respectively, to a limiting processor 100. The processing by the limiting processor 100 is the same as the processing by the limiting processor 86 of the first gain adjustor 78 described above. In this case, as indicated by the parenthesized reference characters in FIG. 11, only the input values and the output values of the individual processing sections of the limiting processor 100 are different from those of the limiting processor 86.
To be more specific, in the limiting processor 100, rotational angular velocities ωw_x_t and ωw_y_t of the imaginary wheels 62_x and 62_y in the case where it is assumed that the moving velocities Vw_x and Vw_y of the imaginary wheels 62_x and 62_y, respectively, coincide with Vb_x_prd and Vb_y_prd, respectively, are calculated by the processors 86a_x and 86a y, respectively·Then, the pair of the rotational angular velocities ωw_x_t and ωw_y_t is converted into the pair of the rotational angular velocities ω_R_t and ω_L_t of the electric motors 31R and 31L by the XY-RL converter 86b. 
Further, these rotational angular velocities ω_R_t and ω_L_t are limited to values within the permissible range for the right motor and the permissible range for the left motor, respectively, by limiters 86c_R and 86c_L. Then, the values ω_R_lim2 and ω_L_lim2, which have been subjected to the limitation processing, are converted by the RL-XY converter 86d into the rotational angular velocities ωw_x_lim2 and ωw_y_lim2 of the imaginary wheels 62_x and 62_y·
Subsequently, the moving velocities Vw_x_lim2 and Vw_y_lim2 of the imaginary wheels 62_x and 62_y corresponding to the rotational angular velocities ωw_x_lim2 and ωw_y_lim2 are calculated by the processors 86e_x and 86e_y, respectively, and these moving velocities Vw_x_lim2 and Vw_y_lim2 are output from the limiting processor 100.
By carrying out the processing by the limiting processor 100 described above, the limiting processor 100 generates a pair of output values Vw_x_lim2 and Vw_y_lim2 such that the output values Vw_x_lim2 and Vw_y_lim2 agree with Vb_x_t and Vb_y_t, respectively, as much as possible under an essential required condition that the rotational angular velocities of the electric motors 31R and 31L corresponding to the pair of the output values Vw_x_lim2 and Vw_y_lim2, respectively, do not deviate from the permissible ranges, as with the limiting processor 86.
Incidentally, the permissible ranges for the right motor and left motor in the limiting processor 100 do not have to be the same as the permissible ranges in the limiting processor 86, and may be set to be permissible ranges that are different from each other.
Referring back to the description of FIG. 14, the center-of-gravity velocity restrictor 76 then carries out the processing by calculators 102_x and 102_y to calculate the desired center-of-gravity velocities for control Vb_x_mdfd and Vb_y_mdfd, respectively·In this case, the calculator 102_x calculates a value, which is obtained by subtracting the expected center-of-gravity velocity stead-state error value in the X-axis direction Vb_x_prd from the output value Vw_x_lim2 of the limiting processor 100, as the desired center-of-gravity velocity for control in the X-axis direction Vb_x_mdfd. Similarly, the calculator 102_y calculates a value, which is obtained by subtracting the expected center-of-gravity velocity stead-state error value in the Y-axis direction Vb_y_prd from the output value Vw_y_lim2 of the limiting processor 100, as the desired center-of-gravity velocity for control in the Y-axis direction Vb_y_mdfd.
Regarding the desired center-of-gravity velocities for control Vb_x_mdfd and Vb_y_mdfd determined as described above, in the case where the output values Vw_x_lim2 and Vw_y_lim2 are not forcibly restricted by the limiting processor 100, that is, in the case where the rotational angular velocities of the electric motors 31R and 31L fall within the permissible ranges even when the electric motors 31R and 31L are operated such that the moving velocities of the wheel assembly 5 in the X-axis direction and the Y-axis direction, respectively, agree with the expected center-of-gravity velocity stead-state error values Vb_x_prd, Vb_y_prd, respectively, then the desired center-of-gravity velocities for control Vb_x_mdfd, Vb_y_mdfd are set to 0, respectively. Therefore, generally, Vb_x_mdfd=Vb_y_mdfd=0.
Meanwhile, if the output values Vw_x_lim2 and Vw_y_lim2 of the limiting processor 100 are generated by forcibly restricting the input values Vb_x_t and Vb_y_t, that is, if the rotational angular velocity of one of the electric motors 31R and 31L deviates from the permissible range (if the absolute value of one of the rotational angular velocities becomes excessively high) when the electric motors 31R and 31L are operated such that the moving velocities of the wheel assembly 5 in the X-axis direction and the Y-axis direction, respectively, agree with the expected center-of-gravity velocity stead-state error values Vb_x_prd, Vb_y_prd, respectively, then for the X-axis direction, a correction amount from the input value Vb_x_prd of the output value Vw_x_lim2 of the limiting processor 100 (=Vw_x_lim2−Vb_x_prd) is determined as the desired center-of-gravity velocity for control in the X-axis direction Vb_x_mdfd.
Further, regarding the Y-axis direction, a correction amount from the input value Vb_y_prd of the output value Vw_y_lim2 of the limiting processor 100 (=Vw_y_lim2−Vb_y_prd) is determined as the desired center-of-gravity velocity for control in the Y-axis direction Vb_y_mdfd.
In this case, for example, for the velocity in the X-axis direction, the desired center-of-gravity velocity for control Vb_x_mdfd becomes a velocity in the opposite direction from the expected center-of-gravity velocity stead-state error value in the X-axis direction Vb_x_prd output by the stead-state error calculator 94_x. The same applies to the velocity in the Y-axis direction.
The above has described the processing by the center-of-gravity velocity restrictor 76.
Returning to the description of FIG. 9, after carrying out the processing by the center-of-gravity velocity restrictor 76, the first gain adjustor 78, the second gain adjustor 79, and the error calculator 70 as described above, the control unit 50 carries out the processing by the posture control calculator 80.
The processing by the posture control calculator 80 will be described below by referring to FIG. 15. Incidentally, the unparenthesized reference characters in FIG. 15 are the reference characters related to the processing for determining the aforesaid imaginary wheel rotational angular velocity command ωw_x_cmd, which is the desired value of the rotational angular velocity of the imaginary wheel 62_x circumrotating in the X-axis direction. The parenthesized reference characters are the reference characters related to the processing for determining the aforesaid imaginary wheel rotational angular velocity command ωw_y_cmd, which is the desired value of the rotational angular velocity of the imaginary wheel 62_y circumrotating in the Y-axis direction.
The posture control calculator 80 receives the base body tilt angle error measured value θbe_xy_s calculated by the error calculator 70, the base body tilt angular velocity measured values θbdot_xy_s calculated in the aforesaid STEP2, the estimated center-of-gravity velocity values Vb_xy_s calculated by the center-of-gravity velocity calculator 72, the desired center-of-gravity velocities for control Vb_xy_mdfd calculated by the center-of-gravity velocity restrictor 76, the first gain adjustment parameters Kr1_xy calculated by the first gain adjustor 78, and the second gain adjustment parameters Kr2_xy calculated by the second gain adjustor 79.
Then, the posture control calculator 80 first calculates the imaginary wheel rotational angular acceleration commands ωwdot_xy_cmd according to the following expressions 07x and 07y by using the above received values.

ωwdot—x—cmd=K1—x·θbe—x—s+K2—x·θbdot—x—s+K3—x·(Vb—x—s−Vb—x—mdfd)  Expression 07x

ωwdot—y—cmd=K1—y·θbe—y—s+K2—y·θbdot—y—s+K3—y·(Vb—y—s−Vb—y—mdfd)  Expression 07y

Hence, according to the present embodiment, each imaginary wheel rotational angular acceleration command ωwdot_x_cmd denoting the manipulated variable (control input) for controlling the motion of the mass point 60_x of the inverted pendulum model observed from the Y-axis direction (i.e., the motion of the vehicle system center-of-gravity point observed from the Y-axis direction), and the imaginary wheel rotational angular acceleration command ωwdot_y_cmd denoting the manipulated variable (control input) for controlling the motion of the mass point 60_y of the inverted pendulum model observed from the X-axis direction (i.e., the motion of the vehicle system center-of-gravity point observed from the X-axis direction) are determined by adding up three manipulated variable components (the three terms of the right side of each of expressions 07x and 07y).
In this case, the gain coefficients K1_x, K2_x, and K3_x related to the manipulated variable components in expression 07x are variably set on the basis of the first gain adjustment parameter Kr1_x and the second gain adjustment parameter Kr2_x, while the gain coefficients K1_y, K2_y, and K3_y related to the manipulated variable components in expression 07y are variably set on the basis of the first gain adjustment parameter Kr1_y and the second gain adjustment parameter Kr2_y·Hereinafter, the gain coefficients K1_x, K2_x, and K3_x in expression 07x may be referred to as the first gain coefficient K1_x, the second gain coefficient K2_x, and the third gain coefficient K3_x, respectively·The same applies to the gain coefficients K1_y, K2_y, and K3_y in expression 07y·
The i-th gain coefficient Ki_x (i=1, 2, 3) in expression 07x is, as is shown in FIG. 15, determined according to the first gain adjustment parameter Kr1_x and the second gain adjustment parameter Kr2_x, by expressions 09x1 through 09x3 explained below. More specifically, the i-th gain coefficient Ki_x is determined by multiplying the gain coefficient Ki_x—1 determined by expression 09x2 according to the first gain adjustment parameter Kr1_x and the gain coefficient Ki_x_2 determined by expression 09x3 according to the second gain adjustment parameter Kr2_x, by expression 09x1.
Similarly, the i-th gain coefficient Ki_y (i=1, 2, 3) in expression 07y is, as is shown in FIG. 15, determined according to the first gain adjustment parameter Kr1_y and the second gain adjustment parameter Kr2_y, by expressions 09y1 through 09y3 explained below. More specifically, the i-th gain coefficient Ki_y is determined by multiplying the gain coefficient Ki_y_1 determined by expression 09y2 according to the first gain adjustment parameter Kr1_y and the gain coefficient Ki_y_2 determined by expression 09y3 according to the second gain adjustment parameter Kr2_y, by expression 09y1.

Ki—x=Ki—x—1·Ki—x—2  expression 09x1

    
    
        (i=1, 2, 3)
    
    


where

Ki—x—1=(1−Kr1—x)·Ki—a—x+Kr1—x·Ki—b—x  expression 09x2

Ki—x—2=(1−Kr2—x)+Kr2—x·Ki—c—x  expression 09x3

Ki—y=Ki—y—1·Ki—y—2  expression 09y1

    
    
        (i=1, 2, 3)
    
    


where

Ki—y—1=(1−Kr1—y)·Ki—a—y+Kr1—y·Ki—b—y  expression 09y2

Ki—y—2=(1−Kr2—y)+Kr2—y·Ki—c—y  expression 09y3

Here, Ki_a_x, Ki_b_x in expression 09x2, Ki_c_x in expression 09x3, Ki_a_y, Ki_b_y in expression 09y2, and Ki_c_y in expression 09y3 are constant values set beforehand. In the present embodiment, the values of Ki_a_x, Ki_b_x, Ki_c_x, Ki_a_y, Ki_b_y, and Ki_c_y (i=1, 2, 3) are set, for example, so that |Ki_a_x|<|Ki_b_x|, 1>Ki_c_x|, |Ki_a_y|<|Ki_b_y|, and 1>|Ki_c_y| holds. These Ki_a_x, Ki_b_x, Ki_c_x, Ki_a_y, Ki_b_y, and Ki_c_y are included in the constant parameters the value of which are set in STEP6 or 8.
Therefore, each i-th gain coefficient Ki_x (i=1, 2, 3) used in the calculation of expression 07x is determined as a product of Ki_x_1 as a weighted mean value of the constant values Ki_a_, Ki_b_x respectively corresponding thereto and Ki_x_2 as a weigh mean value of 1 and the constant value Ki_c_x.
In this case, during continuation of the boarding mode, except for the period immediately after the operational mode of the vehicle 1 changes from the autonomous mode to the boarding mode, Kr2_x=0, so that Ki_x_2=1 holds. And consequently, Ki_x=Ki_x_1 holds. In this case, in the situation where Kr1_x=0, Ki_x=Ki_a_x holds, and in the situation where Kr1_x=1, Ki_x=Ki_b_x holds. Further, Ki_x changes between Ki_a_x and Ki_b_x, accompanying the change of Kr1_x between 0 and 1.
Further, during continuation of the autonomous mode, except for the period immediately after the operational mode of the vehicle 1 changes from the boarding mode to the autonomous mode, Kr2_x=1, so that Ki_x_2=Ki_c_x holds. And consequently, Ki_x=Ki_x_1·Ki_c_x holds. In this case, in the situation where Kr1_x=0, Ki_x=Ki_a_x·Ki_c_x holds, and in the situation where Kr1_x=1, Ki_x=Ki_b_x·Ki_c_x holds. Further, Ki_x changes between Ki_a_x·Ki_c_x and Ki_b_x·Ki_c_x, accompanying the change of Kr1_x between 0 and 1.
Further, in the period immediately after switching of the operational mode of the vehicle 1, Ki_x monotonously changes from one of the value of Ki_x_1 and Ki_x_1·Ki_c_x to the other value.
Similar to above, each i-th gain coefficient Ki_y (i=1, 2, 3) used in calculation of expression 07y are determined as a product of Ki_x_1 as the weighted mean value of the constant values Ki_a_x, Ki_b_x respectively corresponding thereto, and the weighted mean value of 1 and the constant value Ki_c_x.
In this case, during continuation of the boarding mode, except for the period immediately after the operational mode of the vehicle 1 changes from the autonomous mode to the boarding mode, Ki_y changes between Ki_a_y and Ki_b_y, accompanying the change of Kr1_y between 0 and 1.
Further, during continuation of the autonomous mode, except for the period immediately after the operational mode of the vehicle 1 changes from the boarding mode to the autonomous mode, Ki_y changes between Ki_a_y·Ki_c_y, and Ki_b_y·Ki_c_y, accompanying the change of Kr1_y between 0 and 1.
Further, in the period immediately after switching of the operational mode of the vehicle 1, Ki_y monotonously changes from one of the value of Ki_y_1 and Ki_y_1. Ki_c_y to the other value.
Supplementarily, Kr1_x, Kr1_y are generally (more specifically, in the case where forcible restriction of the output values Vw_x_lim, Vw_y_lim1 at the limit processor 86 of the first gain adjustor 78 is performed) 0. Therefore, the i-th gain coefficients Ki_x, Ki_y (i=1, 2, 3) generally respectively become Ki_x=Ki_a_x·Ki_x_2, Ki_y=Ki_a_y·Ki_y_2.
Further, switching of the operational mode of the vehicle 1 is generally performed in the state where the vehicle is approximately stopped. Then, in such situation, the first gain adjustment parameters Kr1_x, Kr1_y become 0. Thgerefore, in the period immediately after switching of the operational mode of the vehicle 1, basically, the i-th gain coefficient Ki_x (i=1, 2, 3) monotonously changes from one of the values of Ki_a_x and Ki_a_x·—Ki_c_x to the other value thereof. Similarly, the i-th gain coefficient Ki_y (i=1, 2, 3) monotonously changes from one of the values of Ki_a_y and Ki_a_y·—Ki_c_y to the other value thereof.
The posture control calculator 80 uses the first to the third gain coefficients K1_x, K2_x, and K3_x determined as described above to perform the calculation of the above expression 07x, thereby calculating the imaginary wheel rotational angular acceleration command ωwdot_x_cmd related to the imaginary wheel 62_x circumrotating in the X-axis direction.
More detailedly, referring to FIG. 13, the posture control calculator 80 calculates a manipulated variable component u1_x obtained by multiplying the base body tilt angle error measured value θbe_x_s by the first gain coefficient K1_x and a manipulated variable component u2_x obtained by multiplying the base body tilt angular velocity measured value θbdot_x_s by the second gain coefficient K2_x by processors 80a and 80b, respectively·Further, the posture control calculator 80 calculates the difference between the estimated center-of-gravity velocity value Vb_x_s and the desired center-of-gravity velocity for control Vb_x_mdfd (=Vb_x_s−Vb_x_mdfd) by a calculator 80d, and calculates, by a processor 80c, a manipulated variable component u3_x obtained by multiplying the calculated difference by the third gain coefficient K3_x. Then, the posture control calculator 80 adds up these manipulated variable components u1_x, u2_x, and u3_x by a calculator 80e so as to calculate the imaginary wheel rotational angular acceleration command ωwdot_x_cmd.
Similarly, the posture control calculator 80 carries out the calculation of the above expression 07y by using the first to the third gain coefficients K1_y, K2_y, and K3_y determined as described above, thereby calculating the imaginary wheel rotational angular acceleration command ωwdot_y_cmd related to the imaginary wheel 62_y circumrotating in the Y-axis direction.
In this case, the posture control calculator 80 calculates a manipulated variable component u1_y obtained by multiplying the base body tilt angle error measured value ωbe_y_s by the first gain coefficient K1_y and a manipulated variable component u2_y obtained by multiplying the base body tilt angular velocity measured value ωbdot_y_s by the second gain coefficient K2_y by the processors 80a and 80b, respectively·Further, the posture control calculator 80 calculates the difference between the estimated center-of-gravity velocity value Vb_y_s and the desired center-of-gravity velocity for control Vb_y_mdfd (=Vb_y_s−Vb_y_mdfd) by the calculator 80d, and calculates, by the processor 80c, a manipulated variable component u3_y obtained by multiplying the calculated difference by the third gain coefficient K3_y·Then, the posture control calculator 80 adds up these manipulated variable components u1_y, u2_y, and u3_y by the calculator 80e so as to calculate the imaginary wheel rotational angular acceleration command ωwdot_x_cmd.
Here, the first term (=the first manipulated variable component u1_x) and the second term (=the second manipulated variable component u2_x) of the right side of expression 07x mean the feedback manipulated variable components for converging the base body tilt angle error measured value θbe_x_s in the direction about the X-axis to 0 (converging the base body tilt angle measured value θb_x_s to the desired value θb_x_obj) by the PD law (proportional-differential law) serving as the feedback control law.
Further, the third term (=the third manipulated variable component u3_x) of the right side of expression 07x means a feedback manipulated variable component for converging the difference between the estimated center-of-gravity velocity value Vb_x_s and the desired center-of-gravity velocity for control Vb_x_mdfd to 0 (converging Vb_x_s to Vb_x_mdfd) by a proportional law serving as the feedback control law.
The same applies to the first to the third terms (the first to the third manipulated variable components u1_y, u2_y, and u3_y) of the right side of expression 07y·
As is explained earlier, the desired center-of-gravity velocities for control Vb_x_mdfd, Vb_y_mdfd are generally (more specifically, in the case where the output values Vw_x_lim2, Vw_y_lim2 at the limiting processor 100 of the center-of-gravity velocity restrictor 76 are not forcibly restricted), 0. Further, in the general case where Vb_x_mdfd=Vb_y_mdfd=0, the third manipulated variable components u3_x, u3_y coincide with the value obtained by multiplying the estimated center-of-gravity velocity values Vb_x_s, Vb_y_s with the third gain coefficients K3_x, K3_y, respectively.
After calculating the imaginary wheel rotational angular acceleration commands ωwdot_x_cmd and ωwdot_y_cmd as described above, the posture control calculator 80 integrates each of the ωwdot_x_cmd and ωwdot_y_cmd by an integrator 80f thereby to determine the aforesaid imaginary wheel rotational velocity commands ωw_x_cmd and ωw_y_cmd.
Supplementally, the imaginary wheel rotational angular acceleration command ωwdot_x_cmd may alternatively be calculated by an expression wherein the third term of the right side of expression 07x is separated into the manipulated variable component based on Vb_x_s (=K3_x·Vb_x_s) and the manipulated variable component based on Vb_x_mdfd (=−K3_x —Vb_x_mdfd). Similarly, the imaginary wheel rotational angular acceleration command ωwdot_y_cmd may alternatively be calculated by an — —0 expression wherein the third term of the right side of expression 07y is separated into the manipulated variable component based on Vb_y_s (=K3_y·Vb_y_s) and the manipulated variable component based on Vb_y_mdfd (=−K3_y·Vb_y_mdfd).
Further, in the present embodiment, the rotational angular acceleration commands ωw_x_cmd and ωw_y_cmd of the imaginary wheels 62_x and 62_y have been used as the manipulated variables (control inputs) for controlling the behaviors of the vehicle system center-of-gravity point. However, for example, the drive torques of the imaginary wheels 62_x and 62_y or the translational forces obtained by dividing the driving torques by the radii Rw_x and Rw_y of each imaginary wheels 62_x and 62_y (i.e., the frictional forces between the imaginary wheels 62_x, 62_y and a floor surface) may be used as the manipulated variables.
Returning to the description of FIG. 9, the control unit 50 then supplies the imaginary wheel rotational velocity commands ωw_x_cmd and ωw_y_cmd determined as described above by the posture control calculator 80 to the motor command calculator 82, and carries out the processing by the motor command calculator 82 so as to determine a velocity command ω_R_cmd of the electric motor 31R and a velocity command ω_L_cmd of the electric motor 31L. The processing by the motor command calculator 82 is the same as the processing by the XY-RL converter 86b of the aforesaid limiting processor 86 (refer to FIG. 11).
To be more specific, the motor command calculator 82 determines the velocity commands ω_R_cmd and ω_L_cmd of the electric motors 31R and 31L by a simultaneous equation obtained by replacing ωw_x, ωw_y, ω_R and ω_L of the aforesaid expressions O1a and O1b by ωw_x_cmd, ωw_y_cmd ω_R_cmd and ω_L_cmd, respectively, taking the ω_R_cmd and ω_L_cmd as unknowns.
Thus, the vehicle control arithmetic processing in the aforesaid STEP9 is
By the control arithmetic processing carried out by the control unit 50 as described above, the imaginary wheel rotational angular acceleration commands ωwdot_xy_cmd as the manipulated variables (control inputs) are determined such that the vehicle system center-of-gravity is stationary, in the state where, basically, the posture of the sheet 3 and the base body 9 is maintained at a posture in which the aforesaid base body tilt angle error measured values θbe_x_s, θbe_y_s, are both 0 (hereinafter, this posture will be referred to as the basic posture) in both of the operation modes of the boarding mode and the autonomous mode. Further, by tilting the posture of the sheet 3 and the base body 9 with respect to the basic posture, stated otherwise, by displacing the horizontal direction position of the vehicle system center-of-gravity point (the vehicle-occupant overall center-of-gravity point or the vehicle-alone center-of-gravity point) from the state positioned approximately right above the ground contact surface of the wheel assembly 5, the imaginary wheel rotational angular acceleration commands ωwdot_xy_cmd are determined so that the posture of the sheet 3 and the base body 9 are restored to the basic posture (so as to bring θbe_x_s, θbe_y_s closer to 0 or retain the same at 0).
Then, the rotational angular velocities of the electric motors 31R and 31L, respectively, obtained by converting the imaginary wheel rotational angular velocity commands ωw_xy_cmd, which is obtained by integrating each component of ωwdot_xy_cmd, are determined as the velocity commands ω_R_cmd and ω_L_cmd of the electric motors 31R and 31L. Further, the rotational velocities of the electric motors 31R and 31L are controlled according to the velocity commands ω_R_cmd and ω_L_cmd. Thus, the moving velocities of the wheel assembly 5 in the X-axis direction and the Y-axis direction, respectively, are controlled so as to agree with the moving velocity of the imaginary wheel 62_x corresponding to ωw_x_cmd and the moving velocity of the imaginary wheel 62_y corresponding to ωw_y_cmd, respectively.
With this arrangement, if, for example, the actual base body tilt angle θb_x deviates from the desired value θb_x_obj in the direction about the Y-axis by leaning forward, then the wheel assembly 5 moves forward to eliminate the deviation (to converge θbe_x_s to 0). Similarly, if the actual θb_x deviates from the desired value θb_x_obj by leaning backward, then the wheel assembly 5 moves backward to eliminate the deviation (to converge θbe_x_s to 0).
Further, for example, if the actual base body tilt angle θb_y deviates from the desired value θb_y_obj in the direction about the X-axis by leaning rightward, then the wheel assembly 5 moves rightward to eliminate the deviation (to converge θbe_y_s to 0). Similarly, if the actual θb_y deviates from the desired value θb_y_obj by leaning leftward, then the wheel assembly 5 moves leftward to eliminate the deviation (to converge θbe_y_s to 0).
Further, if both the actual base body tilt angles θb_x and θb_y deviate from the desired values θb_x_obj and θb_y_obj, respectively, then the moving operation of the wheel assembly 5 in the fore-and-aft direction to eliminate the deviation of θb_x and the moving operation of the wheel assembly 5 in the lateral direction to eliminate the deviation of θb_y are combined, so that the wheel assembly 5 will move in a direction combining the X-axis direction and the Y-axis direction (a direction at an angle to both the X-axis direction and the Y-axis direction).
Thus, if the sheet 3 and the base body 9 tilt from the basic posture, then the wheel assembly 5 moves toward the tilting side. Hence, if, for example, the occupant intentionally inclines his/her upper body together with the sheet 3 and the base body 9 in the aforesaid boarding mode, then the wheel assembly 5 will move to the tilting side. In the present embodiment, the moving direction of the vehicle system center-of-gravity point within the horizontal surface in the case where the sheet 3 and the base body 9 are tilted from the basic posture (moving direction in the direction orthogonal to the Z-axis) does not necessarily coincide with the moving direction of the wheel assembly 5, from the reasons to be explained later.
Then, during movement of the wheel assembly 5 (during movement of the overall vehicle 1), when the posture of the sheet 3 and the base body 9 are maintained at a constant posture tilted from the basic posture (a posture where the base body tilt angle error measured values θbe_xy_s become stable), the moving velocity of the vehicle system center-of-gravity point (and further the moving velocity of the wheel assembly 5) converges to the moving velocity having a constant error with the desired center-of-gravity velocities for control Vb_xy_mdfd, the error of which depends on the base body tilt angle error measured values θbe_xy_s.
In the present embodiment, in the general case where the traveling motion of the wheel assembly 5 is carried out at a traveling speed in which the rotational angular velocities of the electric motors 31R, 31L do not become excessively fast (more specifically, in the case where the forcible restriction of the output values Vw_x_lim2, Vw_y_lim2 of the limiting processor 100 of the center-of-gravity velocity restrictor 76 is not performed), the desired center-of-gravity velocities for control Vb_x_mdfd, Vb_x_mdfd are maintained at 0, respectively·When the posture of the sheet 3 and the base body 9 are maintained at a constant posture tilted from the basic posture, in the situation where Vb_x_mdfd, Vb_x_mdfd are maintained constant, the moving velocity of the vehicle system center-of-gravity point (and further the moving velocity of the wheel assembly 5) converges to the moving speed having magnitude and orientation depending on the base body tilt angle error measured value θbe_xy_s.
More detailed explanation will be given on such operation. In the stationary state where both of the base body tilt angle error measured values θbe_x_s, θbe_y_s are maintained constant, the second manipulated variable components u2_x, u2_y are 0. Therefore, the imaginary wheel rotational angular acceleration command ωwdot_x_cmd becomes a value in which the first manipulated variable component u1_x and the third manipulated variable component u3_x are added together, and the imaginary wheel rotational angular acceleration command ωwdot_y_cmd becomes a value in which the first manipulated variable component u1_y and the third manipulated variable component u3_y are added together.
And, in the stationary state, the imaginary wheel rotational angular acceleration commands ωwdot_x_cmd, ωwdot_x_cmd converge to a value capable of maintaining the moving velocity of the wheel assembly 5 constant. And consequently, the center-of-gravity velocities Vb_x, Vb_y converge to a contant value.
In this case, the second term on the right side of the expression 07x (=u2_x) becomes 0, the first term of the right side (=u1_x=K1_x·θbe_x_s) becomes a constant value, and ωwdot_x_cmd of the left side becomes a constant value, so that the converging value of the center-of-gravity velocity Vb_x in the X-axis direction (the converging value of the estimated center-of-gravity velocity value Vb_x_s. Hereinafter referred to as a stationary-state converging velocity Vb_x_stb) becomes a value depending on the base body tilt angle error measured value θbe_x_s about the Y-axis direction. More specifically, Vb_x_stb becomes Vb_x_stb=(−K1_x·Δθbe_x_s+ωwdot_x_cmd)/K3_x+Vb_x_mdfd, so that it becomes a function value which changes monotonously with respect to θbe_x_s.
Similarly, the second term on the right side of the expression 07y (=u2_y) becomes 0, the first term on the right side (=u1_y=K1_y·θbe_y_s) becomes a constant value, and ωwdot_y_cmd on the left side becomes a constant value, so that the converging value of the center-of-gravity velocity Vb_y in the Y-axis direction (the converging value of the estimated center-of-gravity velocity value Vb_y_s. Hereinafter referred to as a stationary-state converging velocity Vb_y_stb) becomes a value depending on the base body tilt angle error measured value θbe_y_s about the X-axis direction. More specifically, Vb_y_stb becomes Vb_y_stb=(−K1_y·Δθbe_y_s+ωwdot_y_cmd)/K3_y+Vb_y_mdfd, so that it becomes a function value which changes monotously with respect to θbe_y_s.
As explained above, when the posture of the sheet 3 and the base body 9 are maintained at a constant posture tilted from the basic posture in the state where Vb_x_mdfd, Vb_y_mdfd are maintained constant, the moving velocity of the vehicle system center-of-gravity point (and further the moving velocity of the wheel assembly 5) converges to the moving velocity having a magnitude and orientation depending on the base body tilt angle error measured values θbe_xy_s.
Further, in a situation wherein, for example, the amount of the tilt of the base body 9 and the sheet 3 from the aforesaid basic posture (the base body tilt angle error measured values θbe_x_s and θbe_y_s) becomes relatively large, and the moving velocity or velocities of the wheel assembly 5 in one or both of the X-axis direction and the Y-axis direction in the case where the amount of tilt is maintained constant (these moving velocities corresponding to the aforesaid expected center-of-gravity velocity stead-state error values Vb_x_prd and Vb_y_prd, respectively, shown in FIG. 12) are an excessively large moving velocity or velocities that would cause the rotational angular velocity or velocities of one or both of the electric motors 31R and 31L to deviate from the permissible range or ranges thereof in the limiting processor 100, then a velocity in the opposite direction from the moving velocity of the wheel assembly 5 (more detailedly, Vw_x_lim2−Vb_x_prd and Vw_y_lim2−Vb_y_prd) will be determined as the desired center-of-gravity velocities for control Vb_x_mdfd and Vb_y_mdfd. Then, the third manipulated variable components u3_x and u3_y from within the manipulated variable components constituting a control input are determined such that the estimated center-of-gravity velocity values Vb_x_s and Vb_y_s will be converged to the desired center-of-gravity velocities for control Vb_x_mdfd and Vb_y_mdfd, respectively·Accordingly, the speed increase of the wheel assembly 5 is restrained, thus preventing the rotational angular velocity or velocities of one or both of the electric motors 31R and 31L from becoming excessively high.
Further, in the aforesaid first gain adjustor 78, in the situation wherein one or both of the estimated center-of-gravity velocity values Vb_x_s and Vb_y_s become large, and the moving velocity or velocities of the wheel assembly 5 in one or both of the X-axis direction and the Y-axis direction may become an excessively large moving velocity that would cause the rotational angular velocity or velocities of one or both of the electric motors 31R and 31L to deviate from the permissible range or ranges thereof at the limiting processor 86, as the deviation becomes more notable (more specifically, as the absolute values of Vover_x and Vover_y shown in FIG. 12 increase), one or both of the aforesaid first gain adjustment parameters Kr1_x and Kr1_y are brought closer to 1 from 0.
In this case, each i-th gain coefficient Ki_x (i=1, 2 or 3) calculated according to the aforesaid expression 09x1 approaches to Ki_b_x·Ki_x—2 from Ki_a_x·Ki_x—2, as Kr1_x approaches to 1. And consequently, the absolute value of Ki_x becomes larger. The same applies to each i-th gain coefficient Ki_y (i=1, 2 or 3) calculated according to the aforesaid expression 09y1.
As the absolute values of the aforesaid gain coefficients increase, the sensitivities of the manipulated variables (the imaginary wheel rotational angular acceleration commands ωwdot_x_cmd and ωwdot_y_cmd) in response to a change in the tilt of the base body 9 and the sheet 3 (the change in the base body tilt angle error measured values θbe_xy_s) and in response to the change in the estimated center-of-gravity velocity values Vb_xy_s increase. Hence, when the amount of a tilt of the base body 9 and the sheet 3 from the basic posture indicates an increase, or when the estimated center-of-gravity velocity values Vb_xy_s indicate an increase, the moving velocity of the wheel assembly 5 will be controlled to immediately eliminate these increase. This intensely restrains the base body 9 from considerably tilting from the basic posture and the estimated center-of-gravity velocity values Vb_xy_s from becoming large, thus making it possible to prevent the moving velocity or velocities of the wheel assembly 5 in one or both of the X-axis direction and the Y-axis direction from becoming an excessively high moving velocity that causes the rotational angular velocity or velocities of one or both of the electric motors 31R and 31L to deviate from the permissible range or ranges at the limiting processor 86.
Further, in the present embodiment, each i-th gain coefficient Ki_x (i=1, 2, 3) calculated by expression 09x1 becomes, except for the period immediately after switching of the operational mode of the vehicle 1, Ki_x=Ki_x_1 in the boarding mode and Ki_x=Ki_x_1·Ki_c_x in the autonomous mode. And, in this case, because Ki_c_x <1, the absolute value of Ki_x becomes relatively smaller in the autonomous mode than in the boarding mode. Similarly, the absolute value of each i-th gain coefficient Ki_y (i=1, 2, 3) calculated by expression 09y1 becomes relatively smaller in the autonomous mode than in the boarding mode.
Therefore, in the case where the tilt amount of the base body 9 and the seat 3 from the basic posture shows an increase, or the magnitude of the estimated center-of-gravity velocity value Vb_xy_s shows an increase, the driving force in the X-axis direction or the Y-axis direction applied to the wheel assembly 5 by the electric motors 31R, 31L in order to change the traveling velocity of the wheel body 5 is restricted to the driving force with smaller magnitude in the autonomous mode than in the boarding mode. As a result, it becomes possible to prevent occurrence of a situation where the wheel assembly 5 slips and runs idle, in the autonomous mode in which the frictional force capable of being generated between the wheel assembly 5 and the floor surface is smaller than that in the boarding mode.
In contrast thereto, in the boarding mode in which the frictional force capable of being generated between the wheel assembly 5 and the floor surface is larger than that in the autonomous mode, the absolute values of each gain coefficients Ki_x, Ki_y (i=1, 2, 3) become relatively larger than those in the autonomous mode. Therefore, it becomes possible to sufficiently increase the magnitude of the driving force to be applied to the wheel assembly 5 in the boarding mode than in the autonomous mode. And consequently, it becomes possible to control the traveling motion of the wheel assembly 5 with rapid responsiveness, with respect to the change in the posture of the base body 9 and the seat 3, or the change in the estimated center-of-gravity velocity values Vb_xy_s.
Further, upon comparing the state where the operational mode of the vehicle 1 switches from the boarding mode to the autonomous mode, and the state where the same switches from the autonomous mode to the boarding mode, the second gain adjustment parameters Kr2_x, Kr2_y in the period immediately after switching changes rapidly in the former case than in the latter case.
Therefore, in the case where the operational mode of the vehicle 1 switches from the boarding mode to the autonomous mode, by the occupant boarding the seat 3 dismounts the vehicle, the absolute values of each gain coefficients Ki_x, Ki_y (i=1, 2, 3) decreases comparatively rapidly. More specifically, Ki_x changes at a constant rate of change from Ki_x_1 to Ki_x_1·Ki_c_x having smaller absolute value than the former, and Ki_y changes at a constant rate of change from Ki_y_1 to Ki_y_1·Ki_c_y having smaller absolute value than the former. And, these rates of change become comparatively rapid rate. Ki_x_1, Ki_y_1 in the case where the occupant dismounts the vehicle generally become Ki_x_1=Ki_a_x, Ki_y_1=Ki_a_y.
Therefore, in the case where the occupant dismounts the vehicle, the state where the driving force to be applied to the wheel assembly 5 becomes large in the condition where the frictional force capable of being generated between the wheel assembly 5 and the floor surface is decreased by the decrease of the overall weight of the vehicle 1 accompanying the dismounting, to be dissolved rapidly·And consequently, it becomes possible to rapidly resolve the occurrence of slipping of the wheel assembly 5. Further, because the absolute values of each gain coefficients Ki_x, Ki_y (i=1, 2, 3) rapidly decreases, the sensitivity of the traveling motion of the wheel assembly 5 with respect to the change in posture of the base body 9 and the sheet 3 or the like decreases. Therefore, automatic movement of the wheel assembly 5 according to the change in posture of the base body 9 and the sheet 3 or the like during dismounting by the occupant is rapidly restrained. As a result, it becomes possible for the occupant to smoothly perform dismounting action.
Further, in the case where the operational mode of the vehicle 1 is switched from the autonomous mode to the boarding mode, by the occupant boarding the sheet 3 (occupant of the vehicle 1 gets on board), the absolute values of each gain coefficients Ki_x, Ki_y (i=1, 2, 3) increases at a comparatively slow speed. More specifically, Ki_x changes at a constant rate of change from Ki_x_1·Ki_c_x to Ki_x_1 having larger absolute value than the former, and Ki_y changes at a constant rate of change from Ki_y_1·Ki_c_y to Ki_y_1 having larger absolute value than the former. And, these rates of change becomes slower than in the case of the occupant unloading. Ki_x_1, Ki_y_1 in the case where the occupant gets on board the vehicle are, similar to the case of unloading, generally becomes Ki_x_1=Ki_a_x, and Ki_y_1=Ki_a_y.
Therefore, in the case where the occupant gets on boards the vehicle, during the initial stage of the on-boarding action such as the condition where the occupant is landing his/her leg for the on-boarding action (specifically, in the stage where the overall weight of the vehicle 1 has not sufficiently increased, and consequently, the frictional force capable of being generated between the wheel assembly 5 and the floor surface has not been sufficiently large), the driving force to be applied to the wheel assembly 5 is restrained to a small driving force. And consequently, it becomes possible to prevent occurrence of slipping of the wheel assembly 5 during on-boarding action. Further, because the absolute value of each gain coefficients Ki_x, Ki_y (i=1, 2, 3) in the initial stage of the on-boarding action is comparatively small, the sensitivity of the traveling motion of the wheel assembly 5 with respect to the change in the posture of the base body 9 and the sheet 3 or the like is restrained to a low sensitivity·Therefore, automatic movement of the wheel assembly 5 according to the change in posture of the base body 9 and the sheet 3 or the like during on-boarding action of the occupant is restrained. As a result, it becomes possible for the occupant to smoothly perform on-boarding action.
Here, the correspondence relationship between the vehicle 1 of the present embodiment and the present invention will be supplementally described.
The present embodiment is the embodiment of the first aspect of the invention and the second aspect of the invention. Further, in the present embodiment, the occupant corresponds to the object to be transported of the present invention, and the sheet 3 (payload supporting part) corresponds to the loading part of the present invention.
Further, the load sensor 54 corresponds to the loading detecting element of the present invention. Also, the state where the load measured value indicated by the output of the load sensor 54 is larger than the predetermined value (in the state where the determination result in STEP4 becomes positive), and the state where the load measured value is smaller than the predetermined value (in the state where the determination result in STEP4 becomes negative), respectively corresponds to the loaded state and the non-loaded state of the present invention.
Further, the tilt posture measuring element of the present invention is realized by the tilt sensor 52 and the processing of STEP2 in FIG. 7. Also, the tilt angles θb_x, θb_y of the base body 9 and the tilt angular velocities θbdot_x, θbdot_y as the temporal change rate thereof respectively correspond to the state amounts related to the tilt posture of the loading part of the present invention.
Further, vehicle system center-of-gravity point corresponds to a predetermined representative point of the vehicle in the present invention, and the representative point velocity measuring element of the present invention is realized by the center-of-gravity velocity calculator 72.
Further, the traveling motion unit controlling element of the present invention is realized by the processing of STEP9, 10 in FIG. 7 that is executed by the control unit 50. Also, the manipulated variable for control determining element of the present invention is realized by the arithmetic processing of expressions 07x, 07y, that are executed by the posture control calculator 80.
Further, the base body tilt angle error measured values θbe_x_s, θbe_y_s and the base body tilt angular velocity measured values θbdot_x_s, θbdot_y_s respectively corresponds to the tilt posture state amount error of the present invention. Here, the desired values with respect to θbdot_x, θbdot_y are 0 in the present embodiment. Further, the gain coefficients K1_x, K2_x, K1_y, and K2_y respectively corresponds to the first gain coefficient of the present invention, and the manipulated variable amounts u1_x, u2_x, u1_y, and u2_y respectively corresponds to the first manipulated variable component of the present invention.
Further, the estimated center-of-gravity velocity values Vb_x_s, Vb_y_s respectively corresponds to the representative point velocity error of the present invention. Here, the desired values of Vb_x, Vb_y are 0 in the present embodiment. Further, the gain coefficients K3_x, K3_y respectively correspond to the second gain coefficient of the present invention, and the manipulated variable amounts u3_x, u3_y respectively correspond to the second manipulated variable component of the present invention. Moreover, the imaginary wheel rotational angular acceleration commands ωwdot_x_cmd, ωwdot_y_cmd respectively correspond to the manipulated variable for control of the present invention.
Further, in the present embodiment, the adjustment parameter determining element of the present invention is realized by the processing of the second gain adjustor 79 and the tilt desired value setting element 70, and the arithmetic processing of expressions 09x1 through 09x3 , and 09y1 through 09y3 that are executed by the posture control calculator 80. And, each of the gain coefficients Ki_x, Ki_y (i=1, 2, 3) and each of the base body tilt angle desired values θb_x_obj, θb_y_obj correspond to the adjustment parameter of the present invention.
Some modifications related to the embodiments described above will now be described.
In the above-mentioned embodiments, each of the gain coefficients Ki_x, Ki_y (i=1, 2, 3) and each of the base body tilt angle desired values θb_x_obj, θb_y_obj are made to differ in the boarding mode and the autonomous mode as the adjustment parameters. However, it is not necessary for all of these parameters to be the adjustment parameters. For example, the gain coefficients K2_x, K2_y related to the base body tilt angular velocity measured values θbdot_x_s, θbdot_y_s, respectively, may be set to the same value in the boarding mode and the autonomous mode.
Further, in the case where the vehicle 1 is of a symmetrical structure, the base body tilt angle desired value θb_y_obj in the direction about the X-axis may be identical in the boarding mode and the autonomous mode. Further, there may be cases where the position of the vehicle system center-of-gravity point in the X-axis direction becomes identical or approximately identical in the boarding mode and the autonomous mode, according to the structure of the base body 9 and the like. In such cases, the base body tilt angle desired value θb_x_obj in the direction about the Y-axis may be identical in the boarding mode and the autonomous mode.
Further, of the gain coefficients Ki_x, Ki_y (i=1, 2, 3) and the base body tilt angle desired values θb_x_obj, θb_y_obj, the parameters in which the difference between the values in the boarding mode and the autonomous mode become sufficiently small may be excluded from the adjustment parameter, and the values of such parameters may be changed instantaneously (or at the same rate of change), in either case of the case where the operational mode of the vehicle 1 switches from the boarding mode to the autonomous mode, and the case where the same switches from the autonomous mode to the boarding mode.
Further, in the present embodiment, the desired values of the center-of-gravity velocities Vb_x, Vb_y are set to identical value (0) in the boarding mode and the autonomous mode, however, the desired value may be made to differ in the boarding mode and the autonomous mode, for example according to the usage state of the vehicle 1. And, in this case, the desired value thereof may be included in the adjustment parameter of the present invention.
Further, for example, the imaginary wheel rotational angular acceleration commands ωwdot_x_cmd, ωwdot_y_cmd as the manipulated variables for control may be calculated using an expression in which the third term in the right side of expression 07x or 07y, or an expression in which the second term in the right side thereof, is omitted.
Further, in the above-mentioned embodiments, explanation is given taking the inverted pendulum type vehicle 1 in which the occupant is the object to be transported as the example. However, luggage and the like other than the occupant may be the object to be transported, and a loading part of the object to be transported may be equipped in place of the sheet 3.
Further, in each of the aforesaid embodiments, the vehicle 1 having the structure illustrated in FIG. 1 and FIG. 2 has been exemplified. However, the inverted pendulum type vehicle 1 in the present invention is not limited to the vehicle 1 exemplified in each of the embodiments.
To be more specific, the wheel assembly 5 serving as the traveling motion unit of the vehicle 1 in each of the embodiments has the one-piece construction. Alternatively, however, the wheel assembly 5 may have a construction shown in, for example, FIG. 10 of the aforesaid patent document 3. More specifically, the wheel assembly may be constructed to have a rigid annular shaft member and a plurality of rollers rotatively and externally inserted into the rigid annular shaft member such that the axial centers thereof are oriented in the tangential direction of the shaft member, the plurality of these rollers being arranged in the circumferential direction along the shaft member.
Further, the traveling motion unit may have a crawler-shaped structure, as shown in, for example, FIG. 3 of patent document 2.
Alternatively, as shown in, for example, FIG. 5 of the aforesaid patent document 2, FIG. 7 of patent document 3, or FIG. 1 of patent document 1, the traveling motion unit may be constructed of a spherical member, and the vehicle may be constructed such that the spherical member is rotatively driven in a direction about the X-axis and a direction about the Y-axis by an actuator (e.g., an actuator having the aforesaid wheel assembly 5).
Further, in each of the embodiments, the vehicle 1 provided with the seat 3 as the boarding section for an occupant has been exemplified. Alternatively, however, the inverted pendulum type vehicle in accordance with the present invention may be a vehicle having a construction wherein a step on which an occupant rests his/her both feet and a section to be gripped by the occupant standing on the step are mounted on a base body, as illustrated in, for example, FIG. 8 in patent document 3.
Thus, the present invention can be applied to inverted pendulum type vehicles of various constructions, as illustrated in the aforesaid patent documents 1 to 3 and the like.
Further, the inverted pendulum type vehicle in accordance with the present invention may be provided with a plurality of traveling motion units (e.g., two in the lateral direction, or two in the fore-and-aft direction, or three or more).
Further, it is not necessary for the traveling motion unit to be movable in all of the directions, and it may be movable only in one direction. In this case, a boarding part of the object to be carried may be fixed to the base body so as to be tiltable about one axis only·For example, in stead of the wheel assembly 5 in the above-mentioned embodiments, a traveling motion unit capable of moving in the X-axis direction (the fore-and-aft direction of the occupant) and is not capable of tilting (or is difficult to tilt) in the direction about the X-axis direction (for example, a traveling motion unit in which a plurality of wheels rotatable about the axis in the Y-axis direction are coaxially arranged in parallel to one another may be provided to the vehicle 1. And, in this case, the boarding part of the object to be carried may be made tiltable about the axis in the Y-axis direction, and the traveling motion unit may move in the X-axis direction in accordance with the tilting.
Further, in the inverted pendulum type vehicle in accordance with the present invention, it is not essential for the base body to tilt together with the boarding part of the occupant. For example, in the case where the vehicle includes a plurality of the traveling motion units, the base body to which the traveling motion units are assembled may be made so that the base body does not tilt with respect to the floor surface, and the boarding part may be assembled to the base body so as to be freely tiltable.
DESCRIPTION OF REFERENCE NUMERALS
1 . . . inverted pendulum type vehicle; 3 . . . seat (loading part); 5 . . . wheel assembly (traveling motion unit); 7 . . . actuator; 9 . . . base body; 52 . . . tilt sensor (tilt angle measuring element); 54 . . . load sensor (loading detecting element); 72 . . . center-of-gravity calculator (representative point velocity measuring element); 70 . . . tilt desired value determining element (adjustment parameter setting element); 79 . . . second gain adjustor (adjustment parameter determining element); 80 . . . posture control calculator (manipulated variable for control determining element, adjustment parameter determining element); STEP2 . . . tilt posture measuring element; and STEP9 and STEP10 . . . traveling motion unit controlling element.

## Claims

1. A control device of an inverted pendulum type vehicle having a traveling motion unit capable of moving on a floor surface, an actuator which drives the traveling motion unit, a base body on which the traveling motion unit and the actuator are mounted, and a loading part of an object to be transported which is attached to the base body so as to be tiltable with respect to a vertical direction, comprising:
a loading detecting element which generates an output at least indicating whether it is in a loaded state in which the object to be transported is loaded on the loading part, or it is in a non-loaded state in which the object to be transported is not loaded on the loading part;
a tilt posture measuring element which generates an output according to an actual state amount related to a tilt posture of the loading part; and
a traveling motion unit controlling element which determines a manipulated variable for control which defines a driving force to be applied to the traveling motion unit to make the traveling motion unit travel, and which controls the traveling motion of the traveling motion unit via the actuator according to the determined manipulated variable for control;
the traveling motion unit controlling element includes
a manipulated variable for control determining element which determines the manipulated variable for control so as to bring a tilt posture state amount error, which is an error between a measured value of the state amount indicated by the output of the tilt posture measuring element and a desired value with respect to the state amount, closer to 0, at least according to a first manipulated variable component obtained by multiplying the tilt posture state amount error by a first gain coefficient; and
an adjustment parameter determining element which determines an adjustment parameter at least including one or both of the first gain coefficient and the desired value with respect to the state amount so as to change according to the output of the loading detecting element;
wherein the adjustment parameter determining element determines the adjustment parameter such that a rate of change of the value of the adjustment parameter becomes relatively faster in the case where the state indicated by the output of the loading detecting element changes from the loaded state to the non-loaded state, than in the case where the same changes from the non-loaded state to the loaded state.

2. A control device of an inverted pendulum type vehicle having a traveling motion unit capable of moving on a floor surface, an actuator which drives the traveling motion unit, a base body on which the traveling motion unit and the actuator are mounted, and a loading part of an object to be transported which is attached to the base body so as to be tiltable with respect to a vertical direction, comprising:
a loading detecting element which generates an output at least indicating whether it is in a loaded state in which the object to be transported is loaded on the loading part, or it is in a non-loaded state in which the object to be transported is not loaded on the loading part;
a tilt posture measuring element which generates an output according to an actual state amount related to a tilt posture of the loading part;
a representative point velocity measuring element which generates an output according to a traveling velocity of a predetermined representative point of the vehicle; and
a traveling motion unit controlling element which determines a manipulated variable for control which defines a driving force to be applied to the traveling motion unit to make the traveling motion unit travel, and which controls the traveling motion of the traveling motion unit via the actuator according to the determined manipulated variable for control;
the traveling motion unit controlling element includes
a manipulated variable for control determining element which determines the manipulated variable for control so as to bring a tilt posture state amount error, which is an error between a measured value of the state amount indicated by the output of the tilt posture measuring element and a desired value with respect to the state amount, and a representative point velocity error, which is an error between the measured value of the traveling velocity of the representative point indicated by the output of the representative point velocity measuring element and a desired value with respect to the traveling velocity, closer to 0, at least according to a first manipulated variable component obtained by multiplying the tilt posture state amount error by a first gain coefficient, and according to a second manipulated variable component obtained by multiplying the representative point velocity error by a second gain coefficient; and
an adjustment parameter determining element which determines an adjustment parameter at least including one or both of the second gain coefficient and the desired value with respect to the traveling velocity of the representative point so as to change according to the output of the loading detecting element;
wherein the adjustment parameter determining element determines the adjustment parameter such that a rate of change of the value of the adjustment parameter becomes relatively faster in the case where the state indicated by the output of the loading detecting element changes from the loaded state to the non-loaded state, than in the case where the same changes from the non-loaded state to the loaded state.

3. The control device of the inverted pendulum type vehicle according to claim 1,
wherein the state amount is at least either one of the tilt angle of the loading part and the temporal change rate thereof, and the adjustment parameter includes the first gain coefficient, and
the adjustment parameter determining element determines the first gain coefficient so that an absolute value of the first gain coefficient becomes smaller in the case where the state indicated by the output of the loading detecting element is the non-loaded state than in the case where the same is the loaded state.

4. The control device of the inverted pendulum type vehicle according to claim 2,
wherein the adjustment parameter includes the second gain coefficient, and
the adjustment parameter determining element determines the second gain coefficient so that an absolute value of the second gain coefficient becomes smaller in the case where the state indicated by the output of the loading detecting element is the non-loaded state than in the case where the same is the loaded state.

5. The control device of the inverted pendulum type vehicle according to claim 2,
wherein the state amount is at least either one of the tilt angle of the loading part and the temporal change rate thereof, and the adjustment parameter includes the first gain coefficient, and
the adjustment parameter determining element determines the first gain coefficient so that an absolute value of the first gain coefficient becomes smaller in the case where the state indicated by the output of the loading detecting element is the non-loaded state than in the case where the same is the loaded state.