WO2011033581A1 - 倒立振子型車両の制御装置 - Google Patents

倒立振子型車両の制御装置 Download PDF

Info

Publication number
WO2011033581A1
WO2011033581A1 PCT/JP2009/004732 JP2009004732W WO2011033581A1 WO 2011033581 A1 WO2011033581 A1 WO 2011033581A1 JP 2009004732 W JP2009004732 W JP 2009004732W WO 2011033581 A1 WO2011033581 A1 WO 2011033581A1
Authority
WO
WIPO (PCT)
Prior art keywords
speed
component
value
control
processing mode
Prior art date
Application number
PCT/JP2009/004732
Other languages
English (en)
French (fr)
Inventor
透 竹中
一志 秋元
慎一郎 小橋
秀雄 村上
勇一 上林
Original Assignee
本田技研工業株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 本田技研工業株式会社 filed Critical 本田技研工業株式会社
Priority to US13/394,618 priority Critical patent/US8478490B2/en
Priority to PCT/JP2009/004732 priority patent/WO2011033581A1/ja
Priority to DE112009005250.9T priority patent/DE112009005250B4/de
Priority to JP2011531655A priority patent/JP5306473B2/ja
Publication of WO2011033581A1 publication Critical patent/WO2011033581A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62KCYCLES; CYCLE FRAMES; CYCLE STEERING DEVICES; RIDER-OPERATED TERMINAL CONTROLS SPECIALLY ADAPTED FOR CYCLES; CYCLE AXLE SUSPENSIONS; CYCLE SIDE-CARS, FORECARS, OR THE LIKE
    • B62K1/00Unicycles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62KCYCLES; CYCLE FRAMES; CYCLE STEERING DEVICES; RIDER-OPERATED TERMINAL CONTROLS SPECIALLY ADAPTED FOR CYCLES; CYCLE AXLE SUSPENSIONS; CYCLE SIDE-CARS, FORECARS, OR THE LIKE
    • B62K11/00Motorcycles, engine-assisted cycles or motor scooters with one or two wheels
    • B62K11/007Automatic balancing machines with single main ground engaging wheel or coaxial wheels supporting a rider

Definitions

  • the present invention relates to a control device for an inverted pendulum type vehicle that can move on a floor surface.
  • inverted pendulum type vehicle in which an occupant's riding section is assembled to a base body on which a moving operation section that moves on the floor and an actuator device that drives the moving operation section is assembled is tiltable in the vertical direction. More known.
  • This inverted pendulum type vehicle moves the moving operation part in such a way that the fulcrum of the inverted pendulum is moved in order to keep the inclination angle of the riding section at a certain target inclination angle (in order to prevent the riding section from tilting). It is a vehicle that needs to be
  • a vehicle base on which a passenger's riding section is assembled is provided so as to be tiltable about two axes, a front-rear axis and a left-right axis, with respect to a spherical moving operation unit.
  • the drive torque of the motor is sequentially determined so that the deviation from the value approaches 0. Then, the movement operation of the movement operation unit is controlled via the motor in accordance with the determined drive torque.
  • the present invention has been made in view of such a background, and an object thereof is to provide an inverted pendulum type vehicle control device capable of appropriately controlling fluctuations in the moving speed of a vehicle in accordance with the operation state of the vehicle. To do.
  • a control device for an inverted pendulum type vehicle includes a moving operation unit that can move on a floor surface, an actuator device that drives the moving operation unit, and the moving operation unit and actuator device.
  • a control unit for an inverted pendulum type vehicle comprising: a base body assembled with; and an occupant riding portion of the occupant assembled to the base body so as to be tiltable with respect to a vertical direction, An inclination angle measuring means for generating an output corresponding to an actual inclination angle of the riding section; Representative point speed measuring means for generating an output corresponding to the moving speed of the predetermined representative point of the vehicle;
  • a moving operation unit control that determines a control operation amount that defines a driving force applied to the moving operation unit, and controls the moving operation of the moving operation unit via the actuator device according to the determined control operation amount.
  • the moving operation unit control means has a first processing mode and a predetermined value during execution of the processing in the first processing mode as a processing mode for determining the control operation amount in a state where an occupant is on the riding unit. And the second processing mode that shifts from the first processing mode when the first condition is satisfied, and in the first processing mode, the inclination angle of the riding section indicated by the output of the inclination angle measuring means is measured.
  • An inclination deviation that is a deviation between a value and a predetermined target inclination angle, and a speed deviation that is a deviation between a measured value of the representative point moving speed indicated by the output of the representative point speed measuring means and a predetermined target moving speed The control operation amount is determined according to at least the tilt deviation and the speed deviation so as to be close to “0”.
  • the measurement value of the moving speed of the representative point or the representative point is determined.
  • Measured value of moving speed The sensitivity of the change in the control operation amount with respect to the change in the component in the predetermined direction is relatively lower than that in the first processing mode, and at least the tilt deviation of the tilt deviation and the speed deviation is “0”.
  • the control operation amount is determined in accordance with at least the inclination deviation so as to approach the distance (first invention).
  • floor does not mean a floor in a normal sense (such as an indoor floor) but also includes an outdoor ground or road surface.
  • the moving operation unit control means determines the control operation amount so that the tilt deviation and the speed deviation are close to “0”. For this reason, when the actual movement speed of the representative point, and hence the speed deviation, tends to fluctuate due to fluctuations in the actual inclination angle of the riding section, the driving force that suppresses the fluctuation is given to the movement operation unit.
  • the control operation amount is determined to be given.
  • the moving operation unit control means executes the processing of the second processing mode.
  • the movement operation unit control means determines the control operation amount with respect to a change in a component in a predetermined direction of the measurement value of the movement speed of the representative point or the measurement value of the movement speed of the representative point.
  • the control operation amount is determined so that at least the inclination deviation of the inclination deviation and the speed deviation approaches “0” while making the sensitivity of the change relatively lower than in the first processing mode.
  • the sensitivity is relatively lower than that in the first processing mode. This means that the sensitivity becomes “0” (the control operation amount is a measured value of the moving speed of the representative point or the representative point.
  • the measurement value of the moving speed does not depend on the change of the component in the predetermined direction is also included.
  • the driving force applied to the moving operation unit changes with respect to a change in a component in a predetermined direction of the actual moving speed of the representative point or the moving speed of the representative point. It becomes difficult or no longer changes. For this reason, automatic control of the actual moving speed of the representative point is eased or eliminated. Therefore, the moving speed of the representative point is easily changed flexibly by an external force or the like.
  • the first aspect of the present invention it is possible to appropriately control the fluctuation of the moving speed of the vehicle according to the operation state of the vehicle.
  • the predetermined first condition for example, a condition relating to a vehicle operating state, a steering operation state, an environmental state, and the like can be employed.
  • the center of gravity of the entire occupant and vehicle boarded on the riding section can be used.
  • the predetermined target moving speed related to the moving speed of the representative point for example, a speed whose magnitude is a value within a predetermined range (including “0”) in the vicinity of “0” may be adopted. Conceivable. In this case, it is possible to keep the actual moving speed of the representative point at “0” or almost “0” in a state where the tilt deviation is “0” or almost “0”. It becomes.
  • the predetermined target inclination angle related to the inclination angle of the riding section for example, a portion that can be tilted integrally with the riding section of the whole of the passenger and the vehicle boarded on the riding section (A state where the center of gravity of the whole of the occupant (including the occupant) is located immediately above or almost immediately above the tilting center (tilting fulcrum) of the riding section (that is, the moment generated around the tilting center by gravity acting on the center of gravity) It is preferable to adopt the inclination angle of the riding section in a state where “0” or almost “0”.
  • the moving operation unit is configured to be movable in a predetermined direction on the floor surface, and the riding unit is around one axis in a direction orthogonal to the predetermined one direction. It may be assembled to the base body so as to be freely tiltable.
  • the moving operation unit is configured to be movable in all directions including a first direction and a second direction orthogonal to each other on the floor surface, and the riding unit is configured to be an axis in the first direction. It may be assembled to the base body so as to be tiltable about two axes, the periphery and the axis in the second direction.
  • the moving operation unit control unit is configured to include a first inclination deviation component that is a component around the axis in the second direction of the inclination deviation and an axis around the first direction.
  • a second inclination deviation component as a component, a first speed deviation component as a component in the first direction of the speed deviation, and a second speed deviation component as a component in the second direction are each set to “0”.
  • the control operation amount is determined so as to approach, and in the second processing mode, the sensitivity of the change in the control operation amount with respect to the change in at least the component in the first direction among the measured values of the moving speed of the representative point. Is relatively lower than in the first processing mode, and at least a first inclination deviation component of the first inclination deviation component, the second inclination deviation component, the first speed deviation component, and the second speed deviation component. And the second slope deviation component approaches “0” It is preferable to determine the control operation amount so that (second invention).
  • the fact that the moving operation section is “movable in all directions including the first direction and the second direction” means that the axial direction is orthogonal to the first direction and the second direction.
  • the direction of the velocity vector of the moving operation unit at each moment when viewed in the above can take any angle direction around the axial direction by driving the moving operation unit by the actuator device.
  • the axial direction is generally a vertical direction or a direction perpendicular to the floor surface.
  • “orthogonal” in the present invention is not necessarily orthogonal in the strict sense, and may be slightly deviated from orthogonal in the strict meaning without departing from the essence of the present invention.
  • the movement speed of the representative point in the first processing mode, is stabilized in all directions including the first direction and the second direction while the inclination deviation is kept substantially constant.
  • the nature will increase.
  • the moving speed of the representative point in at least the first direction is easily changed flexibly. Therefore, the moving speed of the representative point in at least the first direction can be freely changed in a desired form.
  • the sensitivity of the change in the control operation amount with respect to the change in the component in the second direction in the measured value of the moving speed of the representative point is the same as that in the first processing mode.
  • a mode different from the first processing mode can be adopted.
  • the moving operation unit control means In the two processing mode, the sensitivity of the change in the control operation amount relative to the change in the component in the first direction among the measured values of the moving speed of the representative point is relatively lower than that in the first processing mode.
  • the first inclination is set such that the sensitivity of the change in the control operation amount with respect to the change in the component in the second direction in the measurement value of the moving speed of the representative point is not lower than that in the first processing mode.
  • the second inclination deviation component In order to bring at least the first inclination deviation component, the second inclination deviation component, and the second speed deviation component out of the deviation component, the second inclination deviation component, the first speed deviation component, and the second speed deviation component closer to “0”. At least Tilt error component, it is preferable to determine the control operation amount in accordance with the second inclination difference component and the second speed deviation component (third invention).
  • the movement speed of the representative point in the second processing mode, can be flexibly changed in the front-rear direction (first direction) of the occupant, while the occupant left-right direction (second ), The fluctuation of the moving speed of the representative point is suppressed to be equal to or stronger than that in the first processing mode.
  • the component in the front-rear direction of the occupant of the moving speed of the representative point is likely to change, but the component in the left-right direction of the occupant is difficult to change.
  • the vehicle is moved in the front-rear direction of the occupant or in a direction close thereto.
  • the third aspect of the present invention when the vehicle is moved in the front-rear direction of the occupant or in a direction close to the occupant as described above, It can suppress that the moving speed of a representative point fluctuates in the left-right direction. The vehicle maneuvering operation for moving the vehicle in the front-rear direction of the occupant or in a direction close thereto is facilitated.
  • the moving operation unit is movable on the floor surface in at least the first direction as the predetermined direction
  • the control operation amount is the movement operation of the moving operation unit in the first direction. It includes at least a first control operation amount that defines a driving force applied to the moving operation unit for control.
  • the moving operation unit control means includes a first a manipulated variable component obtained by multiplying the inclination deviation around the axis in a direction orthogonal to the first direction by a first a gain coefficient.
  • the first control operation amount by a first combining process that combines a plurality of predetermined operation amount components including a first b operation amount component obtained by multiplying the speed deviation in the first direction by a first b gain coefficient. To decide. Further, in the second processing mode, the moving operation unit control means is configured to multiply the speed deviation in the first direction by a first c gain having an absolute value smaller than the first b gain coefficient.
  • a representative value in the first direction variably determined in accordance with the measured value so as to match or follow the measured value of the quantity component, the moving speed of the representative point in the first direction, and the measured value
  • the first synthesis that uses any one of the first d manipulated variable component obtained by multiplying the deviation from the target moving speed of the point by the first d gain coefficient and “0” instead of the first b manipulated variable component.
  • the operation amount for the first control is determined by processing (fourth invention).
  • the moving operation unit control means synthesizes a plurality of predetermined operation amount components including at least the first a operation amount component and the first b operation amount component.
  • the first control operation amount for controlling the movement operation of the movement operation unit in the first direction is determined by the first synthesis process. As a result, the first control operation amount can be determined so that the tilt deviation and the speed deviation are close to “0”.
  • the moving operation unit control means uses any one of the first c manipulated variable component, the first d manipulated variable component, and “0” instead of the first b manipulated variable component.
  • the first control operation amount is determined by the first synthesis process. Accordingly, in the second processing mode, the sensitivity of the change in the control operation amount with respect to the change in at least the component in the first direction among the measured values of the moving speed of the representative point is higher than that in the first processing mode. It can be made relatively low. As a result, the moving speed of the representative point in the first direction can be flexibly changed by an external force or the like.
  • the control operation amount defines a driving force applied to the moving operation unit in order to control the moving operation of the moving operation unit in the first direction.
  • the movement operation unit control means is configured to multiply a first a manipulated variable component obtained by multiplying at least the first inclination deviation component by a first a gain coefficient and a first b gain to the first speed deviation component.
  • the first control operation amount is determined by a first combining process for combining a predetermined plurality of types of operation amount components including the first b operation amount component multiplied by a coefficient, and at least the second inclination deviation component is Multiply by 2a gain factor a second control process for synthesizing a plurality of predetermined operation amount components including an a operation amount component and a second b operation amount component obtained by multiplying the second speed deviation component by a second b gain coefficient. It is preferable to determine the operation amount.
  • the moving operation unit control means includes a first c manipulated variable component obtained by multiplying the first speed deviation by a first c gain having an absolute value smaller than the first b gain coefficient, The target of the representative point in the first direction variably determined in accordance with the component in the first direction of the measurement value of the moving speed of the representative point so as to match or follow the component.
  • the first control operation amount is determined, and the second control operation amount is determined by the second synthesis process that is the same as the first process mode (fifth invention).
  • the movement speed of the representative point in the first direction can be flexed by an external force or the like, as in the fourth aspect of the invention. Can be changed.
  • the second control operation amount is determined by the same second synthesis process in the first process mode and the second process mode. For this reason, controllability with respect to the target moving speed of the moving speed of the representative point in the second direction is enhanced in both the first processing mode and the second processing mode. As a result, fluctuations in the moving speed of the representative point in the second direction can be suppressed.
  • the fifth invention is particularly preferably combined with the third invention. According to this, the restraint property of the moving speed of the representative point in the left-right direction of the occupant can be improved while increasing the flexibility of the moving speed of the representative point in the front-rear direction of the occupant. As a result, the maneuverability of the vehicle is enhanced.
  • the second control operation amount may be determined by the same method as the first control operation amount.
  • the moving operation unit control means resumes the process in the first process mode when a predetermined second condition is satisfied during the execution of the process in the second process mode. It is preferable to do this (the sixth invention).
  • the vehicle when the second condition is satisfied, the vehicle returns to the first processing mode from the second processing mode, so that the vehicle is operated in the first processing mode and the vehicle is in the second processing mode. Can be selectively performed in accordance with the operating conditions of the vehicle.
  • the sixth aspect of the invention further comprises acceleration request determination means for determining whether or not an acceleration request, which is a request for increasing the moving speed of the representative point, has occurred.
  • acceleration request determination means for determining whether or not an acceleration request, which is a request for increasing the moving speed of the representative point, has occurred.
  • the determination result of the acceleration request determination means becomes affirmative, that is, when the acceleration request is generated, execution of the processing in the second processing mode is started. For this reason, it is possible to smoothly increase the moving speed of the representative point in a situation where an acceleration request is generated.
  • the moving operation unit control means is configured to execute a state in which the determination result of the acceleration request determination means is negative for a predetermined time during execution of the processing in the second processing mode. It is preferable that the processing in the first processing mode is restarted assuming that the predetermined second condition is satisfied (eighth invention).
  • the processing mode when the state in which the acceleration request is generated continuously or intermittently is resolved, the processing mode can be maintained in the second processing mode until a predetermined time elapses after the cancellation. For this reason, it is possible to continue the state in which the driving force applied to the moving operation unit is hardly affected by the moving speed of the representative point in a certain period after the moving speed of the representative point is increased. As a result, after the movement speed of the representative point is increased, a driving force that positively changes the movement speed of the representative point is generated by the occupant maintaining the inclination angle of the riding section. Can be prevented from being granted. As a result, it is possible to realize a state in which the vehicle slides due to inertial force without special operation by the occupant after the movement speed of the representative point is increased.
  • the acceleration request determining means is at least a temporal change rate of a measured value of the moving speed of the representative point or the predetermined value of the measured value. It is preferable to determine whether or not the acceleration request is generated based on a speed change rate that is a temporal change rate of the magnitude of the direction component (the ninth invention).
  • the acceleration request determination means determines whether or not the acceleration request has occurred based on at least the speed change rate, so that the determination is based on the actual operating state of the vehicle. Can be judged. As a result, the transition from the first processing mode to the second processing mode can be performed at an appropriate timing in accordance with the actual operation state of the vehicle.
  • an acceleration request is generated as a necessary condition (or necessary and sufficient condition) for determining that an acceleration request has occurred when the speed change rate is greater than a predetermined threshold value. It is conceivable to determine whether or not it has been done.
  • the occupant when the riding section is configured such that an occupant who has boarded the riding section can land his / her feet at any time, the occupant can
  • the external force can be applied to the vehicle by kicking the floor.
  • an external force may be appropriately applied to the vehicle by an operator or assistant outside the vehicle, or an appropriate device.
  • the front view of the inverted pendulum type vehicle of embodiment The side view of the inverted pendulum type vehicle of embodiment.
  • the flowchart which shows the process of the control unit of the inverted pendulum type vehicle of embodiment.
  • the block diagram which shows the processing function of the gain adjustment part shown in FIG. The block diagram which shows the processing function of the limit process part (or limit process part shown in FIG. 12) shown in FIG.
  • limiting part 76 shown in FIG. The block diagram which shows the processing function of the attitude
  • the block diagram which shows the processing function regarding the process of STEP9 of FIG. 7 in 2nd Embodiment. 18 is a flowchart showing processing of a speed gain adjustment unit 106 shown in FIG.
  • the inverted pendulum type vehicle 1 is omnidirectional (front-rear direction and left-right direction) on the floor surface while being grounded on the floor surface of the occupant (driver).
  • a moving operation unit 5 movable in all directions including two directions
  • an actuator device 7 for applying power for driving the moving operation unit 5 to the moving operation unit 5, and the riding unit 3,
  • a base 9 on which the operating unit 5 and the actuator device 7 are assembled.
  • front-rear direction and “left-right direction” respectively match or substantially coincide with the front-rear direction and the left-right direction of the upper body of the occupant who has boarded the riding section 3 in a standard posture.
  • Means direction Note that the “standard posture” is a posture assumed by design with respect to the riding section 3, and the trunk axis of the occupant's upper body is generally directed vertically and the upper body is not twisted. It is posture.
  • the “front-rear direction” and the “left-right direction” are the direction perpendicular to the paper surface and the left-right direction of the paper surface, respectively.
  • FIG. It is the left-right direction of the paper surface and the direction perpendicular to the paper surface.
  • the suffixes “R” and “L” attached to the reference numerals are used to mean the right side and the left side of the vehicle 1, respectively.
  • the base 9 includes a lower frame 11 to which the moving operation unit 5 and the actuator device 7 are assembled, and a support frame 13 extending upward from the upper end of the lower frame 11.
  • a seat frame 15 projecting forward from the support frame 13 is fixed to the top of the support frame 13.
  • a seat 3 on which an occupant sits is mounted on the seat frame 15.
  • this seat 3 is a passenger's boarding part. Therefore, the inverted pendulum type vehicle 1 (hereinafter, simply referred to as the vehicle 1) in the present embodiment moves on the floor surface while the occupant is seated on the seat 3.
  • grips 17R and 17L are disposed for the passengers seated on the seat 3 to grip as necessary. These grips 17R and 17L are respectively provided to the support frame 13 (or the seat frame 15). It is being fixed to the front-end
  • the lower frame 11 includes a pair of cover members 21R and 21L arranged to face each other in a bifurcated manner with an interval in the left-right direction.
  • the upper end portions (bifurcated branch portions) of these cover members 21R and 21L are connected via a hinge shaft 23 having a longitudinal axis, and one of the cover members 21R and 21L is hinged relative to the other. It can swing around the shaft 23.
  • the cover members 21R and 21L are urged by a spring (not shown) in a direction in which the lower end side (the bifurcated tip side) of the cover members 21R and 21L is narrowed.
  • a step 25R for placing the right foot of the occupant seated on the seat 3 and a step 25L for placing the left foot are respectively projected so as to protrude rightward and leftward.
  • the moving operation unit 5 and the actuator device 7 are disposed between the cover members 21R and 21L of the lower frame 11.
  • the structures of the moving operation unit 5 and the actuator device 7 will be described with reference to FIGS.
  • the moving operation unit 5 is a wheel body formed in an annular shape from a rubber-like elastic material, and has a substantially circular cross-sectional shape. Due to its elastic deformation, the moving operation unit 5 (hereinafter referred to as the wheel body 5) has a circular cross section center C1 (more specifically, a circular cross section center C1 as shown by an arrow Y1 in FIGS. 5 and 6). And can be rotated around a circumferential line that is concentric with the axis of the wheel body 5.
  • the wheel body 5 is disposed between the cover members 21R and 21L with its axis C2 (axis C2 orthogonal to the diameter direction of the entire wheel body 5) directed in the left-right direction. Ground to the floor at the lower end of the outer peripheral surface.
  • the wheel body 5 rotates around the axis C2 of the wheel body 5 as shown by an arrow Y2 in FIG. 5 (operation to rotate on the floor surface) by driving by the actuator device 7 (details will be described later). And an operation of rotating around the cross-sectional center C1 of the wheel body 5 can be performed. As a result, the wheel body 5 can move in all directions on the floor surface by a combined operation of these rotational operations.
  • the actuator device 7 includes a rotating member 27R and a free roller 29R interposed between the wheel body 5 and the right cover member 21R, and a rotating member interposed between the wheel body 5 and the left cover member 17L. 27L and a free roller 29L, an electric motor 31R as an actuator disposed above the rotating member 27R and the free roller 29R, and an electric motor 31L as an actuator disposed above the rotating member 27L and the free roller 29L. .
  • the electric motors 31R and 31L have their respective housings attached to the cover members 21R and 21L. Although illustration is omitted, the power sources (capacitors) of the electric motors 31 ⁇ / b> R and 31 ⁇ / b> L are mounted at appropriate positions on the base 9 such as the support frame 13.
  • the rotating member 27R is rotatably supported by the cover member 21R via a support shaft 33R having a horizontal axis.
  • the rotation member 27L is rotatably supported by the cover member 21L via a support shaft 33L having a horizontal axis.
  • the rotation axis of the rotation member 27R (axis of the support shaft 33R) and the rotation axis of the rotation member 27L (axis of the support shaft 33L) are coaxial.
  • the rotating members 27R and 27L are connected to the output shafts of the electric motors 31R and 31L via power transmission mechanisms including functions as speed reducers, respectively, and the power (torque) transmitted from the electric motors 31R and 31L, respectively. It is rotationally driven by.
  • Each power transmission mechanism is of a pulley-belt type, for example. That is, as shown in FIG. 3, the rotating member 27R is connected to the output shaft of the electric motor 31R via the pulley 35R and the belt 37R. Similarly, the rotating member 27L is connected to the output shaft of the electric motor 31L via a pulley 35L and a belt 37L.
  • the power transmission mechanism may be constituted by, for example, a sprocket and a link chain, or may be constituted by a plurality of gears.
  • the electric motors 31R and 31L are arranged to face the rotating members 27R and 27L so that the respective output shafts are coaxial with the rotating members 27R and 27L, and the electric motors 31R and 31L are respectively arranged.
  • the output shaft may be connected to each of the rotating members 27R and 27L via a speed reducer (such as a planetary gear device).
  • Each rotary member 27R, 27L is formed in the same shape as a truncated cone that is reduced in diameter toward the wheel body 5, and the outer peripheral surfaces thereof are tapered outer peripheral surfaces 39R, 39L.
  • a plurality of free rollers 29R are arranged around the tapered outer peripheral surface 39R of the rotating member 27R so as to be arranged at equal intervals on a circumference concentric with the rotating member 27R.
  • Each of these free rollers 29R is attached to the tapered outer peripheral surface 39R via a bracket 41R and is rotatably supported by the bracket 41R.
  • a plurality (the same number as the free rollers 29R) of free rollers 29L are arranged around the tapered outer peripheral surface 39L of the rotating member 27L so as to be arranged at equal intervals on a circumference concentric with the rotating member 27L. Yes.
  • Each of these free rollers 29L is attached to the taper outer peripheral surface 39L via the bracket 41L, and is rotatably supported by the bracket 41L.
  • the wheel body 5 is arranged coaxially with the rotating members 27R and 27L so as to be sandwiched between the free roller 29R on the rotating member 27R side and the free roller 29L on the rotating member 27L side.
  • each of the free rollers 29 ⁇ / b> R and 29 ⁇ / b> L has the axis C ⁇ b> 3 inclined with respect to the axis C ⁇ b> 2 of the wheel body 5 and the diameter direction of the wheel body 5 (the wheel body 5.
  • the axis C2 When viewed in the direction of the axis C2, it is arranged in a posture inclined with respect to the radial direction connecting the axis C2 and the free rollers 29R and 29L. In such a posture, the outer peripheral surfaces of the free rollers 29R and 29L are in pressure contact with the inner peripheral surface of the wheel body 5 in an oblique direction.
  • the free roller 29R on the right side has a frictional force component in the direction around the axis C2 at the contact surface with the wheel body 5 when the rotating member 27R is driven to rotate around the axis C2.
  • the frictional force component in the tangential direction of the inner periphery of the wheel body 5 and the frictional force component in the direction around the cross-sectional center C1 of the wheel body 5 (the tangential frictional force component in the circular cross section)
  • the wheel body 5 is pressed against the inner peripheral surface in such a posture that it can act on the wheel body 5.
  • the cover members 21R and 21L are urged in a direction in which the lower end side (the bifurcated tip side) of the cover members 21R and 21L is narrowed by a spring (not shown). Therefore, the wheel body 5 is sandwiched between the right free roller 29R and the left free roller 29L by this urging force, and the free rollers 29R and 29L are in pressure contact with the wheel body 5 (more specifically, free The pressure contact state in which a frictional force can act between the rollers 29R and 29L and the wheel body 5 is maintained.
  • the wheel body 5 when the rotating members 27R and 27L are driven to rotate at the same speed in the same direction by the electric motors 31R and 31L, the wheel body 5 has the same direction as the rotating members 27R and 27L. Will rotate around the axis C2. Thereby, the wheel body 5 rotates on the floor surface in the front-rear direction, and the entire vehicle 1 moves in the front-rear direction. In this case, the wheel body 5 does not rotate around the center C1 of the cross section.
  • the wheel body 5 rotates around the center C1 of the cross section.
  • the wheel body 4 moves in the direction of the axis C2 (that is, the left-right direction), and as a result, the entire vehicle 1 moves in the left-right direction.
  • the wheel body 5 does not rotate around the axis C2.
  • the wheel body 5 rotates around its axis C2, It will rotate about the cross-sectional center C1.
  • the wheel body 5 moves in a direction inclined with respect to the front-rear direction and the left-right direction by a combined operation (composite operation) of these rotational operations, and as a result, the entire vehicle 1 moves in the same direction as the wheel body 5.
  • the moving direction of the wheel body 5 in this case changes depending on the difference in rotational speed (rotational speed vector in which the polarity is defined according to the rotational direction) including the rotational direction of the rotating members 27R and 27L. .
  • the moving operation of the wheel body 5 is performed as described above, by controlling the respective rotational speeds (including the rotational direction) of the electric motors 31R and 31L, and by controlling the rotational speeds of the rotating members 27R and 27L, The moving speed and moving direction of the vehicle 1 can be controlled.
  • the seat (boarding portion) 3 and the base body 9 are tiltable about the axis C2 in the left-right direction with the axis C2 of the wheel body 5 as a fulcrum, and the grounding surface (lower end surface) of the wheel body 5 As a fulcrum, it can be tilted together with the wheel body 5 around an axis in the front-rear direction.
  • FIGS. 1 and 2 an XYZ coordinate system is assumed in which the horizontal axis in the front-rear direction is the X axis, the horizontal axis in the left-right direction is the Y axis, and the vertical direction is the Z axis.
  • the direction and the left-right direction may be referred to as the X-axis direction and the Y-axis direction, respectively.
  • the operation of the occupant moving the upper body and thus tilting the base body 9 together with the seat 3 is one basic control operation (operation request of the vehicle 1) for the vehicle 1, and the control The moving operation of the wheel body 5 is controlled via the actuator device 7 in accordance with the operation.
  • the ground contact surface of the wheel body 5 as the entire ground contact surface has an area compared to a region where the entire vehicle 1 and the passengers riding on the vehicle 1 are projected on the floor surface. It becomes a small single local region, and the floor reaction force acts only on the single local region. For this reason, in order to prevent the base body 9 from tilting, it is necessary to move the wheel body 5 so that the center of gravity of the occupant and the vehicle 1 is positioned almost directly above the ground contact surface of the wheel body 5.
  • the center of gravity of the entire occupant and vehicle 1 is positioned almost directly above the center point of the wheel body 5 (center point on the axis C2) (more precisely, the center of gravity point is
  • the posture of the base body 9 in a state (which is located almost directly above the ground contact surface of the wheel body 5) is set as a target posture, and basically, the actual posture of the base body 9 is converged to the target posture.
  • the movement operation is controlled.
  • the occupant kicks the floor with his / her foot as necessary, thereby increasing the moving speed of the vehicle 1 (
  • the driving force the propulsive force generated by the frictional force between the occupant's foot and the floor
  • the moving speed of the vehicle 1 (more precisely, the occupant and the entire vehicle)
  • the movement operation of the wheel body 5 is controlled so that the movement speed of the center of gravity of the wheel body increases.
  • the center of gravity of the single vehicle 1 is positioned almost directly above the center point of the wheel body 5 (center point on the axis C ⁇ b> 2).
  • the actual posture of the base body 9 is converged to the target posture, and the base body 9 is not tilted.
  • the movement operation of the wheel body 5 is controlled so that the vehicle 1 is independent.
  • the moving speed of the vehicle 1 increases as the deviation from the target posture of the base body 9 increases.
  • the moving operation of the wheel body 5 is controlled so that the movement of the vehicle 1 is stopped.
  • “posture” means spatial orientation.
  • the base body 9 and the sheet 3 are tilted to change the postures of the base body 9 and the sheet 3. Further, in the present embodiment, the base body 9 and the sheet 3 are integrally tilted, so that the posture of the base body 9 is converged to the target posture, which means that the posture of the sheet 3 is the target posture corresponding to the seat 3 ( This is equivalent to converging to the posture of the sheet 3 in a state where the posture of the base 9 matches the target posture of the base 9.
  • the vehicle 1 in order to control the operation of the vehicle 1 as described above, as shown in FIG. 1 and FIG. 2, it is constituted by an electronic circuit unit including a microcomputer and drive circuit units of the electric motors 31R and 31L.
  • Rotary encoders 56 ⁇ / b> R and 56 ⁇ / b> L as angle sensors are mounted at appropriate positions on the vehicle 1.
  • control unit 50 and the inclination sensor 52 are attached to the column frame 13 in a state of being accommodated in the column frame 13 of the base body 9, for example.
  • the load sensor 54 is built in the seat 3.
  • the rotary encoders 56R and 56L are provided integrally with the electric motors 31R and 31L, respectively.
  • the rotary encoders 56R and 56L may be attached to the rotating members 27R and 27L, respectively.
  • the tilt sensor 52 includes 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 performs a predetermined measurement calculation process (this may be a known calculation process) based on the outputs of the acceleration sensor and the rate sensor of the tilt sensor 52, and thereby the part on which the tilt sensor 52 is mounted.
  • a predetermined measurement calculation process this may be a known calculation process
  • the tilt angle ⁇ b to be measured (hereinafter also referred to as the base body tilt angle ⁇ b) is more specifically, the component ⁇ b_x in the Y axis direction (pitch direction) and the X axis direction (roll direction), respectively. It consists of component ⁇ b_y.
  • the base body tilt angle ⁇ b also has a meaning as the tilt angle of the riding section 3.
  • a variable such as a motion state quantity having a component in each direction of the X axis and the Y axis (or a direction around each axis) such as the base body inclination angle ⁇ b, or a relation to the motion state quantity.
  • a suffix “_x” or “_y” is added to the reference symbol of the variable when each component is expressed separately.
  • a subscript “_x” is added to the component in the X-axis direction
  • a subscript “_y” is added to the component in the Y-axis direction.
  • the subscript “_x” is added to the component around the Y axis for convenience in order to align the subscript with the variable related to translational motion.
  • the subscript “_y” is added to the component around the X axis.
  • a variable is expressed as a set of a component in the X-axis direction (or a component around the Y-axis) and a component in the Y-axis direction (or a component around the X-axis)
  • the reference numeral of the variable The subscript “_xy” is added.
  • the base body tilt angle ⁇ b is expressed as a set of a component ⁇ b_x around the Y axis and a component ⁇ b_y around the X axis, it is expressed as “base body tilt angle ⁇ b_xy”.
  • the load sensor 54 is built in the seat 3 so as to receive a load due to the weight of the occupant when the occupant is seated on the seat 3, and outputs a detection signal corresponding to the load to the control unit 50. Then, the control unit 50 determines whether or not an occupant is on the vehicle 1 based on the measured load value indicated by the output of the load sensor 54.
  • a switch type sensor that is turned on when an occupant sits on the seat 3 may be used.
  • the rotary encoder 56R generates a pulse signal every time the output shaft of the electric motor 31R rotates by a predetermined angle, and outputs this pulse signal to the control unit 50. Then, the control unit 50 measures the rotational angle of the output shaft of the electric motor 53R based on the pulse signal, and further calculates the temporal change rate (differential value) of the measured value of the rotational angle as the rotational angular velocity of the electric motor 53R. Measure as The same applies to the rotary encoder 56L on the electric motor 31L side.
  • the control unit 50 determines a speed command that is a target value of the rotational angular speed of each of the electric motors 31R and 31L by executing a predetermined calculation process using each of the measured values, and the electric motor is operated according to the speed command.
  • the rotational angular velocities of the motors 31R and 31L are feedback controlled.
  • 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 is proportional to the constant reduction ratio between the output shaft and the rotating member 27R.
  • the rotational angular velocity of the electric motor 31R means the rotational angular velocity of the rotating member 27R.
  • the rotational angular velocity of the electric motor 31L means the rotational angular velocity of the rotating member 27L.
  • control process of the control unit 50 will be described in more detail.
  • the control unit 50 executes the process (main routine process) shown in the flowchart of FIG. 7 at a predetermined control process cycle.
  • control unit 50 acquires the output of the tilt sensor 52.
  • control unit 50 calculates the measured value ⁇ b_xy_s of the base body tilt angle ⁇ b and the measured value ⁇ bdot_xy_s of the base body tilt angular velocity ⁇ bdot based on the acquired output of the tilt sensor 52.
  • control unit 50 executes the determination process in STEP 4. In this determination process, the control unit 50 determines whether or not an occupant is on the vehicle 1 depending on whether or not the load measurement value indicated by the acquired output of the load sensor 54 is larger than a predetermined value set in advance ( Whether or not an occupant is seated on the seat 3).
  • control unit 50 sets the target value ⁇ b_xy_obj of the base body tilt angle ⁇ b, and constant parameters for controlling the operation of the vehicle 1 (basic values of various gains, etc.) ) Is set in STEPs 5 and 6, respectively.
  • control unit 50 sets a predetermined target value for the boarding mode as the target value ⁇ b_xy_obj of the base body tilt angle ⁇ b.
  • boarding mode means an operation mode of the vehicle 1 when a passenger is on the vehicle 1.
  • the target value ⁇ b_xy_obj for the boarding mode is such that the overall center of gravity of the vehicle 1 and the occupant seated on the seat 3 (hereinafter referred to as the vehicle / occupant overall center of gravity) is located almost directly above the ground contact surface of the wheel body 5.
  • the posture of the base body 9 in a state is set in advance so as to coincide with or substantially coincide with the measured value ⁇ b_xy_s of the base body tilt angle ⁇ b measured based on the output of the tilt sensor 52.
  • control unit 50 sets a predetermined value for the boarding mode as a constant parameter value for controlling the operation of the vehicle 1.
  • control unit 50 performs processing for setting the target value ⁇ b_xy_obj of the base body tilt angle ⁇ b_xy, and processing for setting constant parameter values for operation control of the vehicle 1. Are executed in STEP7 and STEP8.
  • control unit 50 sets a predetermined target value for the independent mode as the target value ⁇ b_xy_obj of the inclination angle ⁇ b.
  • independent mode means an operation mode of the vehicle 1 when no occupant is on the vehicle 1.
  • the target value ⁇ b_xy_obj for the self-supporting mode is an inclination sensor in the posture of the base body 9 where the center of gravity of the vehicle 1 (hereinafter referred to as the vehicle center of gravity) is located almost directly above the ground contact surface of the wheel body 5. It is set in advance so as to coincide with or substantially coincide with the measured value ⁇ b_xy_s of the base body tilt angle ⁇ b measured based on the output of 52.
  • the target value ⁇ b_xy_obj for the self-supporting mode is generally different from the target value ⁇ b_xy_obj for the boarding mode.
  • control unit 50 sets a predetermined value for the independent mode as a constant parameter value for operation control of the vehicle 1.
  • the value of the constant parameter for the independent mode is different from the value of the constant parameter for the boarding mode.
  • the difference in the value of the constant parameter between the boarding mode and the independent mode is due to the difference in the height of the center of gravity, the overall mass, etc. in each mode, and the response of the operation of the vehicle 1 to the control input. This is because the characteristics are different from each other.
  • the target value ⁇ b_xy_obj of the base body inclination angle ⁇ b_xy and the value of the constant parameter are set for each operation mode of the boarding mode and the self-supporting mode.
  • the target value of the component ⁇ bdot_x around the Y axis and the target value of the component ⁇ bdot_y around the X axis of the base body tilt angular velocity ⁇ bdot are both “0”. For this reason, the process which sets the target value of base
  • control unit 50 After executing the processing of STEPs 5 and 6 or the processing of STEPs 7 and 8 as described above, the control unit 50 next executes the vehicle control arithmetic processing in STEP 9 to thereby control the respective speed commands of the electric motors 31R and 31L. To decide. Details of this vehicle control calculation processing will be described later.
  • the control unit 50 executes an operation control process for the electric motors 31R, 31L in accordance with the speed command determined in STEP 9.
  • the control unit 50 determines the deviation according to the deviation between the speed command of the electric motor 31R determined in STEP 9 and the measured value of the rotational speed of the electric motor 31R measured based on the output of the rotary encoder 56R.
  • the target value (target torque) of the output torque of the electric motor 31R is determined so as to converge to “0”.
  • the control unit 50 controls the energization current of the electric motor 31R so that the output torque of the target torque is output to the electric motor 31R. The same applies to the operation control of the left electric motor 31L.
  • the vehicle / occupant overall center-of-gravity point in the boarding mode and the vehicle single body center-of-gravity point in the independent mode are collectively referred to as a vehicle system center-of-gravity point.
  • the vehicle system center-of-gravity point means the vehicle / occupant overall center-of-gravity point
  • the operation mode of the vehicle 1 is the independent mode, it means the vehicle single body center-of-gravity point.
  • the value determined in the current (latest) control processing cycle is the current value, and the control processing immediately before that The value determined by the cycle may be referred to as the previous value.
  • a value not particularly different from the current value and the previous value means the current value.
  • the forward direction is a positive direction
  • the speed and acceleration in the Y-axis direction the left direction is a positive direction
  • the dynamic behavior of the center of gravity of the vehicle system (specifically, the behavior seen by projecting from the Y-axis direction onto a plane (XZ plane) orthogonal thereto, and orthogonal to the X-axis direction)
  • the vehicle of STEP9 is assumed that the behavior (projected and projected on the plane (YZ plane)) is approximately expressed by the behavior of the inverted pendulum model (the dynamic behavior of the inverted pendulum) as shown in FIG. Control arithmetic processing is performed.
  • reference numerals without parentheses are reference numerals corresponding to the inverted pendulum model viewed from the Y-axis direction, and reference numerals with parentheses refer to the inverted pendulum model viewed from the X-axis direction. Corresponding reference sign.
  • the inverted pendulum model expressing the behavior seen from the Y-axis direction has a mass point 60_x located at the center of gravity of the vehicle system and a rotation axis 62a_x parallel to the Y-axis direction.
  • Wheel 62_x (hereinafter referred to as virtual wheel 62_x).
  • the mass point 60_x is supported by the rotation shaft 62a_x of the virtual wheel 62_x via the linear rod 64_x, and can swing around the rotation shaft 62a_x with the rotation shaft 62a_x as a fulcrum.
  • the motion of the mass point 60_x corresponds to the motion of the center of gravity of the vehicle system viewed from the Y-axis direction.
  • the movement speed Vw_x (translation movement speed in the X-axis direction) of the virtual wheel 62_x is the same as the movement speed in the X-axis direction of the wheel body 5 of the vehicle 1.
  • an inverted pendulum model (refer to the reference numerals in parentheses in FIG. 8) expressing the behavior seen from the X-axis direction includes a mass point 60_y located at the center of gravity of the vehicle system and a rotation axis 62a_y parallel to the X-axis direction. And virtual wheels 62_y (hereinafter referred to as virtual wheels 62_y) that can rotate on the floor surface.
  • the mass point 60_y is supported by the rotation shaft 62a_y of the virtual wheel 62_y via a linear rod 64_y, and can swing around the rotation shaft 62a_y with the rotation shaft 62a_y as a fulcrum.
  • the motion of the mass point 60_y corresponds to the motion of the center of gravity of the vehicle system viewed from the X-axis direction.
  • the moving speed Vw_y (translational moving speed in the Y-axis direction) of the virtual wheel 62_y is set to coincide with the moving speed in the Y-axis direction of the wheel body 5 of the vehicle 1.
  • the virtual wheels 62_x and 62_y have predetermined radii of predetermined values Rw_x and Rw_y, respectively.
  • the rotational angular velocities ⁇ w_x and ⁇ w_y of the virtual wheels 62_x and 62_y and the rotational angular velocities ⁇ _R and ⁇ _L of the electric motors 31R and 31L (more precisely, the rotational angular velocities ⁇ _R and ⁇ _L of the rotating members 27R and 27L), respectively.
  • the relationship of the following formulas 01a and 01b is established.
  • ⁇ w_x ( ⁇ _R + ⁇ _L) / 2 Equation 01a
  • “C” in Expression 01b is a coefficient of a predetermined value depending on the mechanical relationship between the free rollers 29R and 29L and the wheel body 5 and slippage.
  • the positive directions of ⁇ w_x, ⁇ _R, and ⁇ _L are the rotation direction of the virtual wheel 62_x when the virtual wheel 62_x rotates forward, and the positive direction of ⁇ w_y is the case when the virtual wheel 62_y rotates leftward. This is the rotation direction of the virtual wheel 62_y.
  • the dynamics of the inverted pendulum model shown in FIG. 8 is expressed by the following equations 03x and 03y.
  • the expression 03x is an expression expressing the dynamics of the inverted pendulum model viewed from the Y-axis direction
  • the expression 03y is an expression expressing the dynamics of the inverted pendulum model viewed from the X-axis direction.
  • ⁇ wdot_x is the rotational angular acceleration of the virtual wheel 62_x (first-order differential value of the rotational angular velocity ⁇ w_x)
  • ⁇ _x is a coefficient that depends on the mass and height h_x of the mass 60_x
  • ⁇ _x is the inertia (moment of inertia of the virtual wheel 62_x )
  • Rw_x the radius
  • the motions of the mass points 60_x and 60_y of the inverted pendulum are the rotational angular acceleration ⁇ wdot_x of the virtual wheel 62_x and the rotational angular acceleration ⁇ wdot_y of the virtual wheel 62_y, respectively. It is defined depending on.
  • the rotational angular acceleration ⁇ wdot_x of the virtual wheel 62_x is used as an operation amount (control input) for controlling the motion of the vehicle system center of gravity point viewed from the Y-axis direction, and viewed from the X-axis direction.
  • the rotational angular acceleration ⁇ wdot_y of the virtual wheel 62_y is used as an operation amount (control input) for controlling the motion of the vehicle system center of gravity.
  • the control unit 50 determines that the motion of the mass point 60_x seen in the X-axis direction and the motion of the mass point 60_y seen in the Y-axis direction are Virtual wheel rotational angular acceleration commands ⁇ wdot_x_cmd and ⁇ wdot_y_cmd, which are command values (target values) of the rotational angular accelerations ⁇ wdot_x and ⁇ wdot_y as operation amounts, are determined so as to achieve a motion corresponding to a desired motion.
  • control unit 50 integrates the virtual wheel rotation angular acceleration commands ⁇ wdot_x_cmd and ⁇ wdot_y_cmd, and the virtual wheel rotation that is the command values (target values) of the respective rotation angular velocities ⁇ w_x and ⁇ w_y of the virtual wheels 62_x and 62_y.
  • the angular velocity commands are determined as ⁇ w_x_cmd and ⁇ w_y_cmd.
  • the target movement speed in the X-axis direction and the target movement speed in the Y-axis direction of the wheel body 5 of the vehicle 1 and the respective speeds of the electric motors 31 ⁇ / b> R and 31 ⁇ / b> L so as to realize these target movement speeds.
  • the commands ⁇ _R_cmd and ⁇ L_cmd are determined.
  • the virtual wheel rotation angular acceleration commands ⁇ wdot_x_cmd and ⁇ wdot_y_cmd as the operation amount (control input) are obtained by adding three operation amount components as shown in equations 07x and 07y described later, respectively. It is determined.
  • ⁇ wdot_x_cmd is the rotation angular velocity of the virtual wheel 62_x moving in the X-axis direction. This functions as an operation amount that defines the driving force to be applied to the wheel body 5 in order to move the wheel in the X-axis direction.
  • ⁇ wdot_y_cmd is the rotational angular velocity of the virtual wheel 62_y moving in the Y-axis direction, it functions as an operation amount that defines the driving force to be applied to the wheel body 5 in order to move the wheel body 5 in the Y-axis direction. To be.
  • the control unit 50 has the function shown in the block diagram of FIG. 9 as a function for executing the vehicle control calculation process of STEP 9 as described above.
  • the control unit 50 calculates the base body tilt angle deviation measurement value ⁇ be_xy_s, which is a deviation between the base body tilt angle measurement value ⁇ b_xy_s and the base body tilt angle target value ⁇ b_xy_obj, and the moving speed of the vehicle system center-of-gravity point. It is estimated that the center of gravity speed calculation unit 72 that calculates the center of gravity speed estimated value Vb_xy_s as an observed value of a certain center of gravity speed Vb_xy and the operation of the vehicle 1 by the occupant or the like (operation for adding propulsive force to the vehicle 1) are estimated.
  • the required center-of-gravity speed generation unit 74 for generating the required center-of-gravity speed V_xy_aim as the required value of the center-of-gravity speed Vb_xy, and the allowable angular velocity of the electric motors 31R and 31L based on the estimated center-of-gravity speed value Vb_xy_s and the required center-of-gravity speed V_xy_aim
  • a center of gravity speed limiter 76 for determining a control target center of gravity speed Vb_xy_mdfd as a target value of the center of gravity speed Vb_xy in consideration of a limit in accordance with the range;
  • a gain adjustment unit 78 determines the gain adjustment parameter Kr_xy for adjusting the value of the expression 07x, gain factor 07y.
  • the control unit 50 further calculates the virtual wheel rotation angular velocity command ⁇ w_xy_cmd, the attitude control calculation unit 80, and the virtual wheel rotation angular velocity command ⁇ w_xy_cmd from the speed command ⁇ _R_cmd (rotational angular velocity command value) of the right electric motor 31R. And a motor command calculation unit 82 for converting into a set with a speed command ⁇ _L_cmd (rotation angular velocity command value) of the left electric motor 31L.
  • control unit 50 first executes the process of the deviation calculating unit 70 and the process of the gravity center speed calculating unit 72.
  • the deviation calculation unit 70 receives the base body tilt angle measurement value ⁇ b_xy_s ( ⁇ b_x_s and ⁇ b_y_s) calculated in STEP2 and the target values ⁇ b_xy_obj ( ⁇ b_x_obj and ⁇ b_y_obj) set in STEP5 or STEP7.
  • the process of the deviation calculating part 70 may be executed in the process of STEP 5 or 7.
  • the center-of-gravity velocity calculation unit 72 receives the current value of the base body tilt angular velocity measurement value ⁇ bdot_xy_s ( ⁇ bdot_x_s and ⁇ bdot_y_s) calculated in STEP 2 and the previous value ⁇ w_xy_cmd_p ( ⁇ w_x_cmd_p and ⁇ w_y_cmd_p) of the virtual wheel speed command ⁇ w_xy_cmd. Input from the delay element 84.
  • the center-of-gravity speed calculation unit 72 calculates the center-of-gravity speed estimated values Vb_xy_s (Vb_x_s and Vb_y_s) from these input values using a predetermined arithmetic expression based on the inverted pendulum model.
  • the center-of-gravity velocity calculation unit 72 calculates Vb_x_s and Vb_y_s by the following equations 05x and 05y, respectively.
  • Rw_x and Rw_y are the respective radii of the virtual wheels 62_x and 62_y as described above, and these values are predetermined values set in advance.
  • H_x and h_y are the heights of the mass points 60_x and 60_y of the inverted pendulum model, respectively.
  • the height of the vehicle system center-of-gravity point is maintained substantially constant. Therefore, predetermined values set in advance 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 whose values are set in STEP 6 or 8.
  • the first term on the right side of the formula 05x is the moving speed in the X-axis direction of the virtual wheel 62_x corresponding to the previous value ⁇ w_x_cmd_p of the speed command of the virtual wheel 62_x, and this moving speed is the X-axis direction of the wheel body 5 This corresponds to the current value of the actual movement speed.
  • the second term on the right side of the expression 05x is the movement speed in the X-axis direction of the vehicle system center-of-gravity point caused by the base body 9 tilting at the inclination angular velocity of ⁇ bdot_x_s around the Y axis (relative to the wheel body 5). This is equivalent to the current value of the movement speed.
  • Formula 05y The same applies to Formula 05y.
  • a set of measured values (current values) of the respective rotational angular velocities of the electric motors 31R and 31L measured based on the outputs of the rotary encoders 56R and 56L is converted into a set of rotational angular velocities of the virtual wheels 62_x and 62_y.
  • the rotational angular velocities may be converted and used in place of ⁇ w_x_cmd_p and ⁇ w_y_cmd_p in equations 05x and 05y.
  • the control unit 50 executes the processing of the required center-of-gravity velocity generation unit 74 and the processing of the gain adjustment unit 78.
  • the center-of-gravity speed estimation value Vb_xy_s (Vb_x_s and Vb_y_s) calculated by the center-of-gravity speed calculation unit 72 as described above is input to the required center-of-gravity speed generation unit 74 and the gain adjustment unit 78, respectively.
  • the required center-of-gravity speed generation unit 74 when the operation mode of the vehicle 1 is the boarding mode, the requested center-of-gravity speed V_xy_aim based on the input center-of-gravity speed estimated value Vb_xy_s (Vb_x_s and Vb_y_s). (V_x_aim, V_y_aim) is determined.
  • the requested center-of-gravity speed generation unit 74 sets both the requested center-of-gravity speeds V_x_aim and V_y_aim to “0”.
  • the gain adjustment unit 78 determines the gain adjustment parameter Kr_xy (Kr_x and Kr_y) based on the input center-of-gravity velocity estimated value Vb_xy_s (Vb_x_s and Vb_y_s).
  • the gain adjusting unit 78 inputs the input center-of-gravity velocity estimated values Vb_x_s and Vb_y_s to the limit processing unit 86.
  • output values Vw_x_lim1 and Vw_y_lim1 are generated by appropriately adding limits corresponding to the allowable ranges of the rotational angular velocities of the electric motors 31R and 31L to the gravity center speed estimated values Vb_x_s and Vb_y_s.
  • the output value Vw_x_lim1 has a meaning after limiting the moving speed Vw_x in the X-axis direction of the virtual wheel 62_x, and the output value Vw_y_lim1 has a meaning as a value after limiting the moving speed Vw_y in the Y-axis direction of the virtual wheel 62_y. .
  • the processing of the limit processing unit 86 will be described in more detail with reference to FIG. Note that the reference numerals in parentheses in FIG. 11 indicate processing of the limit processing unit 104 of the gravity center speed limiting unit 76 described later, and may be ignored in the description of the processing of the limit processing unit 86.
  • the limit processing unit 86 first inputs the center-of-gravity velocity estimated values Vb_x_s and Vb_y_s to the processing units 86a_x and 86a_y, respectively.
  • the processing unit 86a_x divides Vb_x_s by the radius Rw_x of the virtual wheel 62_x to calculate the rotational angular velocity ⁇ w_x_s of the virtual wheel 62_x when it is assumed that the moving speed in the X-axis direction of the virtual wheel 62_x matches Vb_x_s. .
  • the limit processing unit 86 converts the set of ⁇ w_x_s and ⁇ w_y_s into a set of the rotation angular velocity ⁇ _R_s of the electric motor 31R and the rotation angular velocity ⁇ _L_s of the electric motor 31L by the XY-RL conversion unit 86b.
  • this conversion is performed by solving simultaneous equations obtained by replacing ⁇ w_x, ⁇ w_y, ⁇ _R, and ⁇ _L in the equations 01a and 01b with ⁇ w_x_s, ⁇ w_y_s, ⁇ _R_s, and ⁇ _L_s, with ⁇ _R_s and ⁇ _L_s as unknowns. Done.
  • the limit processing unit 86 inputs the output values ⁇ _R_s and ⁇ _L_s of the XY-RL conversion unit 86b to the limiters 86c_R and 86c_L, respectively. At this time, if the limiter 86c_R is within the allowable range for the right motor having a predetermined upper limit value (> 0) and lower limit value ( ⁇ 0), the limiter 86c_R keeps ⁇ _R_s as it is. Output as output value ⁇ _R_lim1.
  • the limiter 86c_R outputs the boundary value closer to ⁇ _R_s between the upper limit value and the lower limit value of the right motor allowable range as the output value ⁇ _R_lim1. Output as. As a result, the output value ⁇ _R_lim1 of the limiter 86c_R is limited to a value within the allowable range for the right motor.
  • the limiter 86c_L keeps ⁇ _L_s as it is. Output as output value ⁇ _L_lim1. Further, when ⁇ _L_s deviates from the left motor allowable range, the limiter 86c_L outputs the boundary value closer to ⁇ _L_s between the upper limit value and the lower limit value of the left motor allowable range as the output value ⁇ _L_lim1. Output as. As a result, the output value ⁇ _L_lim1 of the limiter 86c_L is limited to a value within the left motor allowable range.
  • the allowable range for the right motor is set so that the rotational angular velocity (absolute value) of the right electric motor 31R does not become too high, and in turn prevents the maximum value of torque that can be output by the electric motor 31R from decreasing. Tolerance. The same applies to the allowable range for the left motor.
  • the limit processing unit 86 converts the set of output values ⁇ _R_lim1 and ⁇ _L_lim1 of the limiters 86c_R and 86c_L into sets of rotational angular velocities ⁇ w_x_lim1 and ⁇ w_y_lim1 of the virtual wheels 62_x and 62_y by the RL-XY conversion unit 86d. .
  • This conversion is a reverse conversion process of the conversion process of the XY-RL conversion unit 86b.
  • This processing is performed by solving simultaneous equations obtained by replacing ⁇ w_x, ⁇ w_y, ⁇ _R, and ⁇ _L in the equations 01a and 01b with ⁇ w_x_lim1, ⁇ w_y_lim1, ⁇ _R_lim1, and ⁇ _L_lim1 as ⁇ w_x_lim1 and ⁇ w_y_lim1.
  • the limit processing unit 86 inputs the output values ⁇ w_x_lim1 and ⁇ w_y_lim1 of the RL-XY conversion unit 86d to the processing units 86e_x and 86e_y, respectively.
  • the processing unit 86e_x converts ⁇ w_x_lim1 into the moving speed Vw_x_lim1 of the virtual wheel 62_x by multiplying ⁇ w_x_lim1 by the radius Rw_x of the virtual wheel 62_x.
  • both or one of the rotational angular velocities ⁇ _R_s and ⁇ _L_s of the electric motors 31R and 31L deviate from the allowable range, both or one of the rotational angular velocities is forcibly limited within the allowable range.
  • the limit processing unit 86 outputs a set of movement speeds Vw_x_lim1 and Vw_y_lim1 in the X-axis direction and the Y-axis direction corresponding to the set of rotational angular velocities ⁇ _R_lim1 and ⁇ _L_lim1 of the electric motors 31R and 31L after the limitation.
  • the limit processing unit 86 can make the rotation angular velocities of the electric motors 31R and 31L corresponding to the set of the output values Vw_x_lim1 and Vw_y_lim1 not to deviate from the permissible range under the necessary conditions. As long as the output values Vw_x_lim1 and Vw_y_lim1 coincide with Vb_x_s and Vb_y_s, a set of output values Vw_x_lim1 and Vw_y_lim1 is generated.
  • the gain adjustment unit 78 next executes the processing of the calculation units 88_x and 88_y.
  • the calculation unit 88_x receives the estimated center-of-gravity velocity value Vb_x_s in the X-axis direction and the output value Vw_x_lim1 of the limit processing unit 86. Then, the calculation unit 88_x calculates and outputs a value Vover_x obtained by subtracting Vb_x_s from Vw_x_lim1. Further, the Y-axis direction center-of-gravity velocity estimated value Vb_y_s and the output value Vw_y_lim1 of the limit processing unit 86 are input to the calculation unit 88_y.
  • the computing unit 88_y calculates and outputs a value Vover_y obtained by subtracting Vb_y_s from Vw_y_lim1.
  • Vw_x_lim1 and Vw_y_lim1 of the limit processing unit 86 are generated by forcibly limiting the input values Vb_x_s and Vb_y_s
  • the correction amount ( Vw_x_lim1-Vb_x_s) of Vw_x_lim1 from Vb_x_s
  • the gain adjustment unit 78 determines the gain adjustment parameter Kr_x by sequentially passing the output value Vover_x of the calculation unit 88_x through the processing units 90_x and 92_x. Further, the gain adjustment unit 78 determines the gain adjustment parameter Kr_y by sequentially passing the output value Vover_y of the calculation unit 88_y through the processing units 90_y and 92_y.
  • the gain adjustment parameters Kr_x and Kr_y are both values in the range from “0” to “1”.
  • the processing unit 90_x calculates and outputs the absolute value of the input Vover_x. Further, the processing unit 92_x generates Kr_x so that the output value Kr_x monotonously increases with respect to the input value
  • the saturation characteristic is a characteristic in which the change amount of the output value with respect to the increase of the input value becomes “0” or approaches “0” when the input value increases to some extent.
  • the processing unit 92_x sets a value obtained by multiplying the input value
  • the processing unit 92_x outputs “1” as Kr_x.
  • the proportional coefficient is set so that the product of
  • processing of the processing units 90_y and 92_y is the same as the processing of the above-described processing units 90_x and 92_x, respectively.
  • the output values Vw_x_lim1 and Vw_y_lim1 of the limit processing unit 86 are generated by forcibly limiting the input values Vb_x_s and Vb_y_s, that is, in the X axis direction and the Y axis direction of the wheel body 5 respectively. If the electric motors 31R and 31L are operated so that the moving speeds Vw_x and Vw_y coincide with the center-of-gravity speed estimated values Vb_x_s and Vb_y_s, respectively, the rotational angular speed of either of the electric motors 31R and 31L deviates from the allowable range.
  • the gain adjustment parameters Kr_x and Kr_y are determined according to the absolute values of the correction amounts Vover_x and Vover_y, respectively.
  • Kr_x is determined to have a larger value as the absolute value of the correction amount Vx_over increases with “1” as the upper limit. The same applies to Kr_y.
  • control unit 50 executes the processes of the center-of-gravity speed calculator 72 and the requested center-of-gravity speed generator 74 as described above, and then executes the process of the center-of-gravity speed limiter 76.
  • the center-of-gravity speed limiter 76 includes an estimated center-of-gravity speed value Vb_xy_s (Vb_x_s and Vb_y_s) calculated by the center-of-gravity speed calculator 72, and a requested center-of-gravity speed Vb_xy_aim (Vb_x_aim and Vb_y_aim) determined by the required center-of-gravity speed generator 74. Is entered.
  • the center-of-gravity speed limiting unit 76 uses these input values to determine the control target center-of-gravity speed Vb_xy_mdfd (Vb_x_mdfd and Vb_y_mdfd) by executing the processing shown in the block diagram of FIG.
  • the center-of-gravity speed limiting unit 76 first executes the processes of the steady deviation calculating units 94_x and 94_y.
  • the steady-state deviation calculating unit 94_x receives the estimated center-of-gravity velocity value Vb_x_s in the X-axis direction and the previous value Vb_x_mdfd_p of the control target center-of-gravity velocity Vb_x_mdfd in the X-axis direction via the delay element 96_x. .
  • the steady deviation calculating unit 94_x first inputs the input Vb_x_s to the proportional / differential compensation element (PD compensation element) 94a_x.
  • the proportional / differential compensation element 94_x is a compensation element whose transfer function is represented by 1 + Kd ⁇ S, and is obtained by multiplying the input Vb_x_s and its differential value (time change rate) by a predetermined coefficient Kd. Add the value and output the result of the addition.
  • the steady deviation calculating unit 94_x calculates a value obtained by subtracting the input Vb_x_mdfd_p from the output value of the proportional / differential compensation element 94_x by the calculating unit 94b_x, and then outputs the output value of the calculating unit 94b_x to the phase compensation It inputs into the low-pass filter 94c_x which has a function.
  • the low-pass filter 94c_x is a filter whose transfer function is represented by (1 + T2 ⁇ S) / (1 + T1 ⁇ S).
  • the steady deviation calculating unit 94_x outputs the output value Vb_x_prd of the low-pass filter 94c_x.
  • the steady-state deviation calculating unit 94_y receives the Y-axis centroid speed estimated value Vb_y_s and the previous value Vb_y_mdfd_p of the Y-axis control target centroid speed Vb_y_mdfd via the delay element 96_y.
  • the steady deviation calculation unit 94_y sequentially executes the processing of the proportional / differential compensation element 94a_y, the calculation unit 94b_y, and the low-pass filter 94c_y, and outputs the output value Vb_y_prd of the low-pass filter 94c_y. To do.
  • the output value Vb_x_prd of the steady deviation calculating unit 94_x is based on the current motion state of the vehicle system center of gravity as viewed from the Y-axis direction (in other words, the motion state of the mass point 60_x of the inverted pendulum model as viewed from the Y-axis direction). It has a meaning as a steady deviation with respect to the control target center-of-gravity speed Vb_x_mdfd of the estimated predicted center-of-gravity speed estimated value in the X-axis direction.
  • the steady deviation calculating unit 94_y output value Vb_y_prd is estimated from the current motion state of the vehicle system center of gravity as viewed from the X-axis direction (in other words, the motion state of the mass point 60_y of the inverted pendulum model as viewed from the X-axis direction).
  • the convergence predicted value of the estimated center-of-gravity speed value in the future Y-axis direction has a meaning as a steady deviation with respect to the control target center-of-gravity speed Vb_y_mdfd.
  • the respective output values Vb_x_prd and Vb_y_prd of the steady deviation calculation units 94_x and 94_y are referred to as center-of-gravity velocity steady deviation prediction values.
  • the center-of-gravity speed limiter 76 executes the processes of the steady-state deviation calculators 94_x and 94_y as described above, and then adds the requested center-of-gravity speed Vb_x_aim to the output value Vb_x_prd of the steady-state deviation calculator 94_x and the steady-state deviation calculator 94_y. Processing for adding the requested center-of-gravity velocity Vb_y_aim to the output value Vb_y_prd is executed by the calculation units 98_x and 98_y, respectively.
  • the output value Vb_x_t of the calculation unit 98_x is a speed obtained by adding the required center-of-gravity speed Vb_x_aim in the X-axis direction to the center-of-gravity speed steady-state deviation predicted value Vb_x_prd in the X-axis direction.
  • the output value Vb_y_t of the calculation unit 98_y is a speed obtained by adding the requested center-of-gravity speed Vb_y_aim in the Y-axis direction to the center-of-gravity speed steady-state deviation predicted value Vb_y_prd in the Y-axis direction.
  • the center-of-gravity speed limiting unit 76 inputs the output values Vb_x_t and Vb_y_t of the calculation units 98_x and 98_y to the limit processing unit 100, respectively.
  • the processing of the limit processing unit 100 is the same as the processing of the limit processing unit 86 of the gain adjustment unit 78 described above. In this case, only the input value and the output value of each processing unit of the limit processing unit 100 are different from the limit processing unit 86, as indicated by reference numerals in parentheses in FIG.
  • the moving speeds Vw_x and Vw_y of the virtual wheels 62_x and 62_y respectively match the Vb_x_t and Vb_y_t, respectively, and the rotational angular velocities ⁇ w_x_t, ⁇ w_y_t is calculated by the processing units 86a_x and 86a_y, respectively.
  • the set of rotational angular velocities ⁇ w_x_t and ⁇ w_y_t is converted into a set of rotational angular velocities ⁇ _R_t and ⁇ _L_t of the electric motors 31R and 31L by the XY-RL conversion unit 86b.
  • rotational angular velocities ⁇ _R_t and ⁇ _L_t are limited by the limiters 86c_R and 86c_L to values within the allowable range for the right motor and values within the allowable range for the left motor, respectively. Then, the values ⁇ _R_lim2 and ⁇ _L_lim2 after the restriction processing are converted into the rotational angular velocities ⁇ w_x_lim2 and ⁇ w_y_lim2 of the virtual wheels 62_x and 62_y by the RL-XY conversion unit 86d.
  • the moving speeds Vw_x_lim2 and Vw_y_lim2 of the virtual wheels 62_x and 62_y corresponding to the rotational angular velocities ⁇ w_x_lim2 and ⁇ w_y_lim2 are calculated by the processing units 86e_x and 86e_y, respectively, and the moving speeds Vw_x_lim2 and Vw_y_lim2 are output from the limit processing unit 100.
  • the limit processing unit 100 has the rotational angular velocities of the electric motors 31R and 31L corresponding to the set of output values Vw_x_lim2 and Vw_y_lim2 deviate from the allowable range. It is an essential requirement that the output values Vw_x_lim2 and Vw_y_lim2 are generated so that the output values Vw_x_lim2 and Vw_y_lim2 coincide with Vb_x_t and Vb_y_t, respectively, as much as possible under the necessary conditions.
  • permissible ranges for the right motor and the left motor in the limit processing unit 100 need not be the same as the permissible ranges in the limit processing unit 86, and may be set to different permissible ranges.
  • the center-of-gravity speed limiting unit 76 next calculates the control target center-of-gravity speeds Vb_x_mdfd and Vb_y_mdfd by executing the processing of the calculation units 102_x and 102_y, respectively.
  • the calculation unit 102_x calculates a value obtained by subtracting the X-axis direction center-of-gravity velocity steady deviation predicted value Vb_x_prd from the output value Vw_x_lim2 of the limit processing unit 100 as the control target center-of-gravity velocity Vb_x_mdfd.
  • the calculation unit 102_y calculates a value obtained by subtracting the Y-axis direction center-of-gravity velocity steady-state deviation predicted value Vb_y_prd from the output value Vw_y_lim2 of the limit processing unit 100 as the Y-axis direction control center-of-gravity velocity Vb_y_mdfd.
  • the control target center-of-gravity velocities Vb_x_mdfd and Vb_y_mdfd determined as described above are obtained when the output values V_x_lim2 and V_y_lim2 in the limit processing unit 100 are not forcibly limited, that is, in the X-axis direction of the wheel body 5. Even if the electric motors 31R and 31L are operated so that the respective movement speeds in the Y-axis direction coincide with the output value Vb_x_t of the calculation unit 98_x and the output value Vb_y_t of the calculation unit 98_y, respectively.
  • the required center-of-gravity speeds Vb_x_aim and Vb_y_aim are determined as control target center-of-gravity speeds Vb_x_mdfd and Vb_y_mdfd, respectively.
  • the output values Vw_x_lim2 and Vw_y_lim2 of the limit processing unit 100 are generated by forcibly limiting the input values Vb_x_t and Vb_y_t, that is, the X axis direction and the Y axis direction of the wheel body 5 respectively.
  • the electric motors 31R and 31L are operated so that the moving speeds coincide with the output value Vb_x_t of the calculation unit 98_x and the output value Vb_y_t of the calculation unit 98_y, the rotational angular speed of either of the electric motors 31R and 31L is allowed.
  • the correction amount ( Vw_x_lim2) from the input value Vb_x_t of the output value Vw_x_lim2 of the limit processing unit 100 in the X-axis direction.
  • -Vb_x_t is a value obtained by correcting the required center-of-gravity velocity Vb_x_aim (the value obtained by adding the correction amount to Vb_x_aim) is determined as the control target center-of-gravity velocity Vb_x_mdfd. It is.
  • the control target center-of-gravity speed Vb_x_mdfd is closer to “0” than the requested center-of-gravity speed Vb_x_aim or The speed is opposite to the speed Vb_x_aim.
  • the control target center-of-gravity speed Vb_x_mdfd is a speed opposite to the X-axis center of gravity speed steady deviation predicted value Vb_x_prd output by the steady deviation calculator 94_x. .
  • control unit 50 executes the processes of the center-of-gravity speed calculation unit 72, the center-of-gravity speed limit unit 76, the gain adjustment unit 78, and the deviation calculation unit 70 as described above, and then performs posture control.
  • the processing of the calculation unit 80 is executed.
  • reference numerals without parentheses are reference numerals related to processing for determining the virtual wheel rotation angular velocity command ⁇ w_x_com, which is a target value of the rotation angular velocity of the virtual wheel 62_x rotating in the X-axis direction.
  • the reference numerals in parentheses are reference numerals related to the process of determining the virtual wheel rotational angular velocity command ⁇ w_y_com that is the target value of the rotational angular velocity of the virtual wheel 62_y that rotates in the Y-axis direction.
  • the posture control calculation unit 80 includes a base body tilt angle deviation measurement value ⁇ be_xy_s calculated by the deviation calculation unit 70, a base body tilt angular velocity measurement value ⁇ bdot_xy_s calculated in STEP2, and a center of gravity speed calculated by the center of gravity speed calculation unit 72.
  • the estimated value Vb_xy_s, the control target center-of-gravity speed Vb_xy_mdfd calculated by the center-of-gravity speed limiting unit 76, and the gain adjustment parameter Kr_xy calculated by the gain adjustment unit 78 are input.
  • the attitude control calculation unit 80 first calculates a virtual wheel rotation angular acceleration command ⁇ dotw_xy_com using these input values according to the following expressions 07x and 07y.
  • Formula 07y Therefore, in the present embodiment, as an operation amount (control input) for controlling the motion of the mass point 60_x of the inverted pendulum model viewed from the Y-axis direction (and hence the motion of the vehicle system center-of-gravity point viewed from the Y-axis direction).
  • the virtual wheel rotation angular acceleration command ⁇ dotw_y_com is determined by adding three manipulated variable components (three terms on the right side of equations 07x and 07y).
  • the gain coefficients K1_x, K2_x, K3_x related to each manipulated variable component in the expression 07x are variably set according to the gain adjustment parameter Kr_x, and the gain coefficients K1_y, K2_y, K3_y related to each manipulated variable component in the expression 07y. Is variably set according to the gain adjustment parameter Kr_y.
  • the gain coefficients K1_x, K2_x, and K3_x in Expression 07x may be referred to as a first gain coefficient K1_x, a second gain coefficient K2_x, and a third gain coefficient K3_x, respectively. The same applies to the gain coefficients K1_y, K2_y, and K3_y in Expression 07y.
  • Ki_a_x and Ki_b_x in the expression 09x are preliminarily set as the gain coefficient value on the minimum side (side closer to “0”) and the gain coefficient value on the maximum side (side away from “0”) of the i-th gain coefficient Ki_x, respectively. It is a set constant value. The same applies to Ki_a_y and Ki_b_y in Expression 09y.
  • the weights applied to Ki_a_y and Ki_b_y are changed according to the gain adjustment parameter Kr_y. Therefore, as in the case of Ki_x, as the value of Kr_y changes between “0” and “1”, the value of the i-th gain coefficient Ki_y changes between Ki_a_y and Ki_b_y.
  • the attitude control calculation unit 80 calculates the expression 07x using the first to third gain coefficients K1_x, K2_x, and K3_x determined as described above, so that the virtual wheel related to the virtual wheel 62_x that rotates in the X-axis direction. Rotational angular acceleration command ⁇ wdot_x_cmd is calculated.
  • the posture control calculation unit 80 sets the manipulated variable component u1_x obtained by multiplying the base body tilt angle deviation measured value ⁇ be_x_s by the first gain coefficient K1_x and the base body tilt angular velocity measured value ⁇ bdot_x_s.
  • the operation amount component u2_x obtained by multiplying the two gain coefficients K2_x is calculated by the processing units 80a and 80b, respectively.
  • the operation amount u3_x is calculated by the processing unit 80c.
  • the attitude control calculation unit 80 calculates the virtual wheel rotation angular acceleration command ⁇ wdot_x_com by adding these manipulated variable components u1_x, u2_x, u3_x in the calculation unit 80e.
  • the attitude control calculation unit 80 calculates the expression 07y using the first to third gain coefficients K1_y, K2_y, and K3_y determined as described above, so that the virtual wheel 62_y that rotates in the Y-axis direction is obtained.
  • the related virtual wheel rotation angular acceleration command ⁇ wdot_y_cmd is calculated.
  • the posture control calculation unit 80 multiplies the operation amount component u1_y obtained by multiplying the base body tilt angle deviation measurement value ⁇ be_y_s by the first gain coefficient K1_y and the base body tilt angular velocity measurement value ⁇ bdot_y_s by the second gain coefficient K2_y.
  • the operation amount component u2_y is calculated by the processing units 80a and 80b, respectively.
  • the operation amount u3_y is calculated by the processing unit 80c.
  • the posture control calculation unit 80 calculates the virtual wheel rotation angular acceleration command ⁇ wdot_x_com by adding these manipulated variable components u1_y, u2_y, u3_y in the calculation unit 80e.
  • first to third terms first to third manipulated variable components u1_y, u2_y, u3_y on the right side of the expression 07y.
  • the attitude control calculation unit 80 After calculating the virtual wheel rotation angular acceleration commands ⁇ wdot_x_com and ⁇ wdot_y_com as described above, the attitude control calculation unit 80 then integrates the ⁇ wdot_x_com and ⁇ wdot_y_com by the integrator 80f, thereby obtaining the virtual wheel rotation speed command. ⁇ w_x_com and ⁇ w_y_com are determined.
  • the wheel rotation angular acceleration command ⁇ dotw_x_com may be calculated.
  • the wheel rotation angular acceleration command ⁇ dotw_y_com may be calculated.
  • the rotational angular acceleration commands ⁇ w_x_cmd and ⁇ w_y_cmd of the virtual wheels 62_x and 62_y are used as the operation amount (control input) for controlling the behavior of the vehicle system center-of-gravity point.
  • the driving torque of 62_x, 62_y or a translational force obtained by dividing this driving torque by the radii Rw_x, Rw_y of the virtual wheels 62_x, 62_y (that is, the frictional force between the virtual wheels 62_x, 62_y and the floor surface) is manipulated. It may be used as a quantity.
  • control unit 50 next inputs the virtual wheel rotational speed commands ⁇ w_x_com and ⁇ w_y_com determined by the attitude control calculation unit 80 as described above to the motor command calculation unit 82, and the motor command calculation unit By executing the process 82, the speed command ⁇ _R_com of the electric motor 31R and the speed command ⁇ _L_com of the electric motor 31L are determined.
  • the processing of the motor command calculation unit 82 is the same as the processing of the XY-RL conversion unit 86b of the limit processing unit 86 (see FIG. 11).
  • the motor command calculation unit 82 replaces ⁇ w_x, ⁇ w_y, ⁇ _R, and ⁇ _L in the equations 01a and 01b with ⁇ w_x_com, ⁇ w_y_com, ⁇ _R_cmd, and ⁇ _L_cmd, respectively, and sets ⁇ _R_cmd and ⁇ _L_cmd as unknowns.
  • the speed commands ⁇ _R_com and ⁇ _L_com of the electric motors 31R and 31L are determined.
  • the posture of the base body 9 is determined to be the measured base body tilt angle deviation value ⁇ be_x_s in both the riding mode and the independent mode. , ⁇ be_y_s so as to be maintained in a posture in which both of them are “0” (hereinafter, this posture is referred to as a basic posture).
  • the virtual wheel rotation angular acceleration command ⁇ dotw_xy_com as the operation amount (control input) is determined so that the position is maintained almost directly above the ground contact surface of the wheel body 5.
  • the virtual wheel rotation is performed so that the center-of-gravity speed estimated value Vb_xy_s as the estimated value of the moving speed of the vehicle system center-of-gravity point converges to the control target center-of-gravity speed Vb_xy_mdfd while maintaining the attitude of the base body 9 in the basic attitude.
  • An angular acceleration command ⁇ dotw_xy_com is determined.
  • the control target center-of-gravity velocity Vb_xy_mdfd is normally “0” (specifically, unless the passenger or the like gives additional propulsive force of the vehicle 1 in the boarding mode).
  • the virtual wheel rotation angular acceleration command ⁇ dotw_xy_com is determined so that the center of gravity of the vehicle system is almost stationary while maintaining the posture of the base body 9 in the basic posture.
  • the rotational angular velocities of the electric motors 31R and 31L obtained by converting the virtual wheel rotational angular velocity command ⁇ w_xy_com obtained by integrating the components of ⁇ dotw_xy_com are determined as the speed commands ⁇ _R_cmd and ⁇ _L_cmd of the electric motors 31R and 31L. Further, the rotational speeds of the electric motors 31R and 31L are controlled according to the speed commands ⁇ _R_cmd and ⁇ _L_cmd.
  • the moving speeds of the wheel body 5 in the X-axis direction and the Y-axis direction are controlled so as to coincide with the moving speed of the virtual wheel 62_x corresponding to ⁇ w_x_com and the moving speed of the virtual wheel 62_y corresponding to ⁇ w_y_com, respectively.
  • the wheel body 5 is adjusted to eliminate the shift (to converge ⁇ be_x_s to “0”). Move forward. Similarly, when the actual ⁇ b_x shifts backward from the target value ⁇ b_x_obj, the wheel body 5 moves rearward in order to eliminate the shift (to converge ⁇ be_x_s to “0”).
  • the wheel body 5 faces right to eliminate the shift (to converge ⁇ be_y_s to “0”). Move to. Similarly, when the actual ⁇ b_y shifts to the left tilt side from the target value ⁇ b_y_obj, the wheel body 5 moves to the left in order to eliminate the shift (to converge ⁇ be_y_s to “0”).
  • the wheel body 5 when the base body 9 is tilted from the basic posture, the wheel body 5 is moved toward the tilted side. Therefore, for example, in the boarding mode, when the occupant intentionally tilts the upper body, the wheel body 5 moves to the tilted side.
  • the tilt amount of the base body 9 from the basic posture (base tilt angle deviation measurement)
  • the values ⁇ be_x_s and ⁇ be_y_s) are relatively large, and are eliminated or one or both of the moving speeds of the wheel body 5 in the X-axis direction and the Y-axis direction necessary to maintain the inclination amount (the moving speeds thereof).
  • Vw_x_lim2-Vb_x_prd and Vw_y_lim2-Vb_y_prd are the control target center-of-gravity speed Vb_x_m. dfd and Vb_y_mdfd are determined.
  • the operation amount components u3_x and u3_y among the operation amount components constituting the control input are determined so as to converge the center-of-gravity speed estimated values Vb_x_s and Vb_y_s to the control target center-of-gravity speeds Vb_x_mdfd and Vb_y_mdfd, respectively. For this reason, it is prevented that the inclination amount of the base body 9 from the basic posture becomes excessive, and consequently, the rotational angular velocity of one or both of the electric motors 31R and 31L is prevented from becoming too high.
  • the gain adjusting unit 78 one or both of the center-of-gravity velocity estimated values Vb_x_s and Vb_y_s are increased, and as a result, it is necessary for eliminating the inclination of the base body 9 from the basic posture or maintaining the inclination amount.
  • the moving speed of one or both of the X-axis direction and the Y-axis direction of the wheel body 5 may be an excessive moving speed that causes the rotational angular speed of one or both of the electric motors 31R and 31L to deviate from the allowable range.
  • the gain adjustment parameters Kr_x and Kr_y change from “0” to “1”. It can be approached.
  • the same applies to each i-th gain coefficient Ki_y (i 1, 2, 3) calculated by the expression 09y.
  • the sensitivity of the operation amount (virtual wheel rotation angular acceleration commands ⁇ dotw_x_cmd, ⁇ dotw_y_cmd) with respect to a change in the tilt of the base body 9 increases. Therefore, if the inclination amount of the base body 9 from the basic posture is increased, the moving speed of the wheel body 5 is controlled so as to quickly eliminate the inclination amount. Accordingly, it is strongly suppressed that the base body 9 is largely inclined from the basic posture, and consequently, the moving speed of one or both of the wheel body 5 in the X-axis direction and the Y-axis direction is the rotation of one or both of the electric motors 31R and 31L. It is possible to prevent an excessive movement speed that causes the angular speed to deviate from the allowable range.
  • the requested center-of-gravity speed generation unit 74 generates the requested center-of-gravity speeds Vb_x_aim and Vb_y_aim (the requested center-of-gravity speed where one or both of Vb_x_aim and Vb_y_aim are not “0”) in response to a request by a steering operation such as an occupant.
  • a steering operation such as an occupant.
  • the electric motors 31R and 31L have a high rotational angular velocity that deviates from the allowable range (specifically, as long as Vw_x_lim2 and Vw_y_lim2 shown in FIG.
  • the required center-of-gravity speeds Vb_x_aim and Vb_y_aim are determined as the control target center-of-gravity speeds Vb_x_mdfd and Vb_y_mdfd, respectively. For this reason, the moving speed of the wheel body 5 is controlled so as to realize the required center-of-gravity speeds Vb_x_aim and Vb_y_aim (so that the actual center-of-gravity speed approaches the required center-of-gravity speeds Vb_x_aim and Vb_y_aim).
  • the required center-of-gravity speed generation unit 74 sets the required center-of-gravity speeds Vb_x_aim and Vb_y_aim to “0” as described above when the operation mode of the vehicle 1 is the self-supporting mode.
  • the requested center-of-gravity velocity generation unit 74 requests the X-axis direction while maintaining the requested center-of-gravity velocity Vb_y_aim in the Y-axis direction at “0”.
  • the center-of-gravity velocity Vb_x_aim is variably determined in accordance with a steering operation of the vehicle 1 (operation for adding a propulsive force to the vehicle 1) by a passenger or the like.
  • a propulsive force (a propulsive force generated by a frictional force between the occupant's foot and the floor) that causes the vehicle 1 to kick the floor and thereby increase the moving speed in the front-rear direction.
  • an external assistant or the like may add a driving force that increases the moving speed in the front-rear direction to the vehicle 1 in response to a request from a passenger of the vehicle 1.
  • the requested center-of-gravity speed generation unit 74 determines the vehicle based on the temporal change rate of the magnitude (absolute value) of the center-of-gravity speed estimated value Vb_x_s in the X-axis direction calculated by the center-of-gravity speed calculation unit 72. While determining whether or not an acceleration request is generated as a request for increasing the moving speed of 1 (specifically, the moving speed of the vehicle system center of gravity point) in the X-axis direction, the required center of gravity speed Vb_x_aim is sequentially determined accordingly. .
  • the requested center-of-gravity velocity generation unit 74 holds the requested center-of-gravity velocity Vb_x_aim in the X-axis direction at “0”.
  • the requested center-of-gravity speed generation unit 74 determines the requested center-of-gravity speed Vb_x_aim in the X-axis direction by sequentially executing the processing shown in the flowchart of FIG. 14 at a predetermined control processing cycle.
  • the requested center-of-gravity velocity generation unit 74 first executes the processing of STEP21. In this process, the requested center-of-gravity speed generation unit 74 calculates a temporal change rate (differential value) DVb_x_s of the absolute value
  • DVb_x_s is referred to as the gravity center velocity absolute value change rate DVb_x_s.
  • the requested center-of-gravity speed generation unit 74 determines a basic value of the requested center-of-gravity speed Vb_x_aim (hereinafter referred to as the requested center-of-gravity speed basic value Vb_x_aim1), and then first-order lags to the requested center-of-gravity speed basic value Vb_x_aim1.
  • the required center-of-gravity velocity Vb_x_aim is determined so as to follow the response time constant (normally match).
  • how to determine the required center-of-gravity velocity basic value Vb_x_aim1 is defined by the arithmetic processing mode.
  • calculation processing modes there are two types of calculation processing modes, a first processing mode and a second processing mode.
  • ⁇ dotw_x_cmd so that the moving speed of the vehicle 1 is attenuated (the center-of-gravity speed Vb_xy in the X-axis direction and the Y-axis direction is brought close to “0” by the function of the third manipulated variable component u3_xy).
  • This is a processing mode for determining ⁇ dotw_x_cmd.
  • the requested center-of-gravity velocity generation unit 74 converges the requested center-of-gravity velocity Vb_x_aim in the X-axis direction to “0” while maintaining the requested center-of-gravity velocity Vb_x_aim in the Y-axis direction at “0” (steady state).
  • the required center-of-gravity velocity basic value Vb_x_aim1 is sequentially determined so as to hold “0”.
  • the movement speed of the vehicle 1 in the X-axis direction is less likely to be attenuated than in the first processing mode (the third manipulated variable component u3_x in the X-axis direction is “0” or
  • the required center-of-gravity velocity generation unit 74 maintains the required center-of-gravity velocity Vb_x_aim in the Y-axis direction at “0”, and changes the required center-of-gravity velocity Vb_x_aim in the X-axis direction to the actual X of the vehicle system center-of-gravity point.
  • the required center-of-gravity speed basic value Vb_x_aim1 is sequentially determined so as to follow (substantially match) the center-of-gravity speed estimated value Vb_x_s as the moving speed in the axial direction.
  • the arithmetic processing mode in a state in which the control unit 50 is initialized when the control unit 50 is started is the first processing mode.
  • the requested center-of-gravity velocity generation unit 74 determines whether the current calculation processing mode is the first processing mode or the second processing mode in STEP 22, and then the calculation processing in STEP 23 and the calculation in STEP 24, respectively. The process is executed to determine the required center-of-gravity velocity basic value Vb_x_aim1.
  • the calculation process corresponding to each mode is executed as follows.
  • the calculation processing for the first processing mode in STEP 23 is executed as shown in the flowchart of FIG. Specifically, the requested center-of-gravity speed generation unit 74 first determines whether the center-of-gravity speed absolute value change rate DVb_x_s calculated in STEP 21 is greater than a first positive threshold value DV1_x (> 0) set in advance. Is determined in STEP23-1. This determination process is a process for determining whether or not there is an acceleration request for increasing the moving speed of the vehicle 1 in the front-rear direction of the vehicle 1.
  • DVb_x_s> DV1_x means that the absolute value
  • the required center-of-gravity velocity generation unit 74 then performs STEP 23- 4, the value of the required center-of-gravity velocity basic value Vb_x_aim1 is set to “0”, and the processing of FIG. 15 ends.
  • the required center-of-gravity speed generation unit 74 determines the required center-of-gravity speed basic value in STEP 23-2.
  • Vb_x_aim1 is determined.
  • the requested center-of-gravity speed generation unit 74 requests a value obtained by multiplying the estimated center-of-gravity speed value Vb_x_s in the X-axis direction input from the center-of-gravity speed calculation unit 72 by a first ratio ⁇ 1 set in advance.
  • the center-of-gravity velocity basic value Vb_x_aim1 is determined.
  • the first ratio ⁇ 1 is set to a positive value (for example, 0.8) slightly smaller than “1”.
  • Such processing of STEP23-2 is to match the method of determining Vb_x_aim1 with the second processing mode starting from the next control processing cycle.
  • the value of the first ratio ⁇ 1 is slightly smaller than “1”.
  • the value of the first ratio ⁇ 1 may be set to “1” or a value slightly larger than that.
  • the moving speed of the vehicle 1 specifically, the moving speed of the vehicle system center-of-gravity point
  • the first ratio ⁇ 1 is set to a value slightly smaller than “1” in order to prevent it from being recognized as if it is faster than.
  • the requested center-of-gravity velocity generation unit 74 changes the calculation processing mode from the first processing mode to the second processing mode in STEP 23-3, and ends the processing of FIG.
  • the requested center-of-gravity velocity generation unit 74 first determines whether or not the center-of-gravity velocity absolute value change rate DVb_x_s calculated in STEP 21 is smaller than a preset negative third threshold DV3 ( ⁇ 0). Is determined in STEP24-1. This determination process is to determine whether or not a deceleration request for the passenger of the vehicle 1 to actively reduce the magnitude of the center-of-gravity velocity Vb_x has occurred. In this case, when the occupant of the vehicle 1 intentionally grounds his / her foot and generates a frictional force in the braking direction of the vehicle 1 between his / her foot and the floor, the determination result of STEP 24-1 is Become positive.
  • the requested center-of-gravity velocity generation unit 74 sets the value of the requested center-of-gravity velocity basic value Vb_x_aim1 to “0” in STEP 24-9. Set to. Further, the requested center-of-gravity velocity generation unit 74 ends the processing of FIG. 16 after changing the calculation processing mode from the second processing mode to the first processing mode.
  • the requested center-of-gravity velocity generation unit 74 next executes the determination process of STEP 24-2.
  • the requested center-of-gravity speed generation unit 74 determines whether or not the center-of-gravity speed absolute value change rate DVb_x_s (value calculated in STEP 21) is smaller than a preset second threshold value DV2.
  • the second threshold value DV2 is set to a predetermined negative value that is larger than the third threshold value DV3 (closer to “0” than DV3).
  • the second threshold DV2 may be set to “0” or a positive value slightly larger than “0” (however, a value smaller than the first threshold DV1).
  • the determination process of STEP 24-2 determines whether or not the acceleration request has been resolved (whether or not the state in which the propulsive force is applied to the vehicle 1 for increasing the moving speed of the vehicle 1 has been completed). It is.
  • the requested center-of-gravity velocity generation unit 74 determines that the acceleration request is continued and determines the requested center-of-gravity velocity basic value Vb_x_aim1 in STEP 24-3. The process of 16 is finished.
  • Vb_x_aim1 is determined by the same processing as in STEP23-2.
  • the requested center-of-gravity speed generation unit 74 determines, as Vb_x_aim1, a value obtained by multiplying the center-of-gravity speed estimated value Vb_x_s in the X-axis direction input from the center-of-gravity speed calculation unit 72 by the first ratio ⁇ 1. In this case, the arithmetic processing mode is maintained in the second processing mode even in the next control processing cycle.
  • the required center-of-gravity velocity generation unit 74 further executes the determination process of STEP 24-4. .
  • the current control processing cycle is the timing immediately after switching from the state where the acceleration request is continued to the canceling state.
  • the required gravity center speed generation unit 74 initializes the countdown timer in STEP 24-5.
  • This countdown timer is a timer that counts the elapsed time after the acceleration request is canceled (specifically, the elapsed time when no acceleration request and deceleration request are generated).
  • a preset initial value Tm is set in the timer time value CNT.
  • the initial value Tm means a set value of time for which the second processing mode is to be continued after the acceleration request is canceled and the acceleration request and the deceleration request are not generated.
  • the requested center-of-gravity velocity generation unit 74 determines the requested center-of-gravity velocity basic value Vb_x_aim1 in STEP 24-6, and ends the processing of FIG. In this case, the arithmetic processing mode is maintained in the second processing mode even in the next control processing cycle.
  • the requested center-of-gravity speed generation unit 74 sets the second ratio ⁇ 2 of a predetermined value set in advance to the center-of-gravity speed estimated value Vb_x_s in the X-axis direction input from the center-of-gravity speed calculation unit 72.
  • a value obtained by multiplying is determined as a required center-of-gravity velocity basic value Vb_x_aim1.
  • the second ratio ⁇ 2 is set to a positive value (for example, 0.9) closer to “1” than the first ratio ⁇ 1, for example.
  • the value of the second ratio ⁇ 2 is closer to “1” than the first ratio ⁇ 1, for example, the value of the second ratio ⁇ 2 is set to the same value as the first ratio ⁇ 1. May be.
  • the second ratio ⁇ 2 may be set to “1”, a value slightly larger than “1”, or a value slightly smaller than the first ratio ⁇ 1.
  • the second ratio ⁇ 2 is basically a value in the vicinity of “1”, and preferably coincides with or substantially coincides with the first ratio ⁇ 1.
  • the requested center-of-gravity velocity generation unit 74 determines that the STEP 24 At -7, the count value CNT of the countdown timer is decremented. That is, the time value CNT is updated by subtracting the predetermined value ⁇ T (time of the control processing cycle) from the current value of the time value CNT.
  • the requested center-of-gravity velocity generation unit 74 determines in STEP 24-8 whether or not the count value CNT of the countdown timer is greater than “0”, that is, whether or not the countdown timer has ended.
  • the requested center-of-gravity velocity generation unit 74 determines Vb_x_s ⁇ ⁇ 2 as the requested center-of-gravity velocity basic value Vb_x_aim1 by executing the processing of STEP24-6, and ends the processing of FIG. In this case, the arithmetic processing mode is maintained in the second processing mode even in the next control processing cycle.
  • the required gravity center speed generation unit No. 74 sets the value of the required center-of-gravity velocity basic value Vb_x_aim1 to “0” in STEP25-9.
  • the requested center-of-gravity velocity generation unit 74 returns the calculation processing mode from the second processing mode to the first processing mode in STEP 24-10, and ends the processing of FIG.
  • the requested center-of-gravity velocity generation unit 74 performs the calculation process of any one of STEPs 23 and 24 as described above, and then filters the requested center-of-gravity velocity basic value Vb_x_aim1 determined by the calculation process. The process passed through is executed in STEP25.
  • the filter is, for example, a first-order lag filter (low-pass filter). Therefore, the output value of the filter obtained in STEP 25 follows the required center-of-gravity velocity basic value Vb_x_aim1 with a certain time constant. For this reason, even if Vb_x_aim1 changes suddenly or discontinuously immediately after switching of the processing mode, the output value of the filter changes smoothly and follows Vb_x_aim1 (constantly matches Vb_x_aim1) Will be).
  • the required center-of-gravity velocity generation unit 74 finally determines the required center-of-gravity velocity Vb_x_aim in the X-axis direction by passing the output value of the filter through a limiter.
  • the limiter is for preventing the absolute value of the required center-of-gravity velocity Vb_x_aim from becoming excessive, and the output value of the filter is set to a predetermined upper limit value (> 0) and lower limit value ( ⁇ 0), the output value of the filter is output as it is as the required center-of-gravity velocity Vb_x_aim.
  • the limiter is close to the filter output value of the upper limit value and the lower limit value.
  • This limit value is output as the required center-of-gravity velocity Vb_x_aim.
  • the upper limit value and the lower limit value may not have the same absolute value, and the absolute values may be different from each other.
  • the time constant of the filter used in STEP 25 may be changed according to the arithmetic processing mode or the like.
  • the filter time constant in the first processing mode, the filter time constant may be set to a relatively long time value, and in the second processing mode, the filter time constant may be set to a relatively short time value.
  • the required center-of-gravity velocity Vb_x_aim is prevented from being attenuated rapidly, particularly immediately after the transition from the second processing mode.
  • the required center-of-gravity speed Vb_x_aim can quickly follow the actual change of the center-of-gravity speed Vb_x, particularly during the increase of the actual center-of-gravity speed Vb_x in the X-axis direction of the vehicle 1.
  • the time constant of the filter is set to be shorter and the required center-of-gravity velocity Vb_x_aim is set more quickly than in the situation where the deceleration request is not generated. It may be attenuated to 0 ′′.
  • the required center-of-gravity velocity basic value Vb_x_aim1 itself is set to “0” at a predetermined change rate (predetermined temporal change rate). You may make it change gradually.
  • the required center of gravity speed Vb_x_aim in the X-axis direction is determined in the following manner.
  • a substantially longitudinal propulsive force (specifically, a propulsive force that makes a positive determination in STEP 23-1) is applied to the vehicle 1.
  • the arithmetic processing mode before adding the propulsive force is the first processing mode.
  • the output value of the filter obtained in STEP 25 of FIG. 14 falls within a range where the limit is not forcibly restricted by the limiter in STEP 26. That is, the required center-of-gravity speed Vb_x_aim determined sequentially in STEP 26 is assumed to match the value obtained by passing the required center-of-gravity speed basic value Vb_x_aim1 through the filter.
  • Vb_x_aim The required center of gravity speed Vb_x_aim determined in this way is determined as the control target center of gravity speed Vb_x_mdfd in the X-axis direction. Therefore, Vb_x_mdfd is a value that matches or substantially matches ⁇ 1 ⁇ Vb_x_s. Further, since the required center-of-gravity speed Vb_y_aim in the Y-axis direction is held at “0”, the control target center-of-gravity speed Vb_x_mdfd in the Y-axis direction becomes “0”.
  • the third manipulated variable components u3_x and u3_y included in the virtual wheel rotation angular acceleration commands ⁇ dotw_x_cmd and ⁇ dotw_y_cmd are determined so that the center-of-gravity speed estimated values Vb_x_s and Vb_y_s converge to the control target center-of-gravity speeds Vb_x_mdfd and Vb_y_mdfd, respectively.
  • the actual moving speed of the vehicle system center of gravity (acceleration in the front-rear direction) due to the propulsive force applied by the occupant to the vehicle 1 is promptly performed in accordance with the request by the propulsive force.
  • the moving speed of the wheel body 5 is controlled. Therefore, the vehicle 1 is smoothly accelerated in the front-rear direction of the occupant by the propulsive force applied.
  • the current value (current value) of the estimated center-of-gravity velocity value Vb_x_s in the X-axis direction is multiplied by the second ratio ⁇ 2 of the predetermined value during the predetermined time Tm until the countdown timer finishes counting.
  • Value that is, a velocity value slightly smaller than Vb_x_s is sequentially determined as the required center-of-gravity velocity basic value Vb_x__aim1.
  • the required center of gravity speed Vb_x_aim determined in this way is determined as the control target center of gravity speed Vb_x_mdfd in the X-axis direction. Therefore, Vb_x_mdfd is a value that matches or substantially matches ⁇ 2 ⁇ Vb_x_s. Further, since the required center-of-gravity speed Vb_y_aim in the Y-axis direction is held at “0”, the control target center-of-gravity speed Vb_x_mdfd in the Y-axis direction becomes “0”.
  • the third manipulated variable components u3_x and u3_y included in the virtual wheel rotation angular acceleration commands ⁇ dotw_x_cmd and ⁇ dotw_y_cmd are determined so that the center-of-gravity speed estimated values Vb_x_s and Vb_y_s converge to the control target center-of-gravity speeds Vb_x_mdfd and Vb_y_mdfd, respectively.
  • K3_x ⁇ (1 ⁇ 2) corresponds to the sensitivity to speed. Since 1 ⁇ 2 is a value close to “0” (in this embodiment, for example, 0.1), the speed sensitivity is also close to “0”. For this reason, ⁇ dotw_x_cmd has a low dependency on Vb_x_s as in the period from the start of the second processing mode to the cancellation of the acceleration request.
  • the control target center-of-gravity speed Vb_x_mdfd in the Y-axis direction becomes “0”.
  • the third manipulated variable components u3_x and u3_y included in the virtual wheel rotation angular acceleration commands ⁇ dotw_x_cmd and ⁇ dotw_y_cmd are determined so that the center-of-gravity speed estimated values Vb_x_s and Vb_y_s converge to the control target center-of-gravity speeds Vb_x_mdfd and Vb_y_mdfd, respectively.
  • the third manipulated variable component u3_x related to the X-axis direction increases in the braking direction. For this reason, the moving speed of the vehicle 1 in the X-axis direction is attenuated.
  • the control target center-of-gravity velocity Vb_x_mdfd in the X-axis direction basically becomes “0” or monotonically approaches “0”.
  • the sensitivity to speed corresponds to the third gain coefficient K3_x (> K3_x ⁇ (1 ⁇ 1)) or approaches K3_x from K3_x ⁇ (1 ⁇ 2). Therefore, in the second processing mode, the speed sensitivity is relatively lower than in the first processing mode.
  • the driving force applied to the wheel body 5 so that Vb_x_s approaches “0” acts stronger than in the second processing mode.
  • the control target center-of-gravity velocity Vb_x_mdfd in the Y-axis direction is basically “0”. Therefore, in this embodiment, the moving speed Vb_y of the vehicle system center-of-gravity point in the Y-axis direction is difficult to change.
  • the third manipulated variable component u3_x in the second processing mode can be set to “0”.
  • ⁇ dotw_x_cmd can be determined without being affected by the center-of-gravity velocity Vb_x_s in the X-axis direction.
  • the X-axis direction and the Y-axis direction correspond to the first direction and the second direction in the present invention, respectively.
  • the tilt angle measuring means in the present invention is realized by the tilt sensor 52 and the processing of STEP 2 in FIG.
  • the inclination angles ⁇ b_x and ⁇ b_y of the base 9 correspond to the inclination angles of the mounting portion in the present invention.
  • the vehicle system center of gravity point (specifically, the vehicle / occupant overall center of gravity point) corresponds to a predetermined representative point of the vehicle in the present invention
  • the center-of-gravity speed calculation unit 72 realizes the representative point speed measuring means in the present invention. Is done.
  • the center-of-gravity speeds Vb_x and Vb_y correspond to the movement speed of the representative point in the present invention.
  • moving operation unit control means in the present invention is realized by the processing of STEPs 9 and 10 of FIG. 7 executed by the control unit 50.
  • the virtual wheel rotation angular acceleration commands ⁇ dotw_x_cmd and ⁇ dotw_y_cmd correspond to the control operation amounts in the present invention.
  • ⁇ dotw_x_cmd corresponds to the first control operation amount
  • ⁇ dotw_y_cmd corresponds to the second control operation amount.
  • the third term on the right side of 07x corresponds to the 1a gain coefficient, the 1b gain coefficient, the 1a manipulated variable component, and the 1b manipulated variable component in the present invention, respectively, and the calculation process of Expression 07x corresponds to the first synthesis process To do.
  • the third gain coefficient K3_x and the third manipulated variable component u3_x (the third term on the right side of Expression 07x) in the second processing mode correspond to the first d gain coefficient and the first d manipulated variable in the present invention, respectively.
  • the first b gain coefficient and the first d gain coefficient have the same value, but the value of the third gain coefficient K3_x may be different between the first processing mode and the second processing mode. Good.
  • the acceleration request determination means in the present invention is realized by the determination processing in STEP23-1.
  • the case where the determination result in STEP 23-1 is affirmative corresponds to the case where the predetermined first condition in the present invention is satisfied.
  • the determination result of STEP 24-1 is affirmative, or when the determination results of STEP 24-2 and STEP 24-4 are affirmative and negative, respectively, the predetermined second condition in the present invention is It corresponds to the case where it is established.
  • control unit 50 has a function shown in the block diagram of FIG. 17 as a function for executing the vehicle control calculation process of STEP 9 of FIG. 7 described above.
  • the control unit 50 includes the deviation calculator 70, the centroid speed calculator 72, the gain adjuster 78, the centroid speed limiter 76, the attitude control calculator 80, the motor.
  • a command calculation unit 82 and a delay element 84 are provided.
  • control unit 50 uses the gain for adjusting the value of the third gain coefficient K3_x related to the third manipulated variable component u3_x instead of the required center-of-gravity velocity generation unit 74 in the first embodiment.
  • a speed gain adjustment unit 106 that determines the adjustment parameter Kr_3 is provided. Then, the center-of-gravity speed estimated value Vb_x_s calculated by the center-of-gravity speed calculation unit 72 is input to the speed gain adjustment unit 106.
  • the posture control calculation unit 80 includes a speed.
  • a gain adjustment parameter Kr_3 determined by the gain adjustment unit 106 is input.
  • the values of the required center-of-gravity speeds Vb_x_aim and Vb_y_aim used in the process of the center-of-gravity speed limiter 76 are always “ 0 ”. For this reason, in FIG. 17, the input of Vb_x_aim and Vb_y_aim to the center-of-gravity speed limit unit 76 is omitted. A part of the processing of the unit 80 is different from that of the first embodiment, and the other processes are the same as those of the first embodiment.
  • This embodiment variably adjusts the required center-of-gravity velocity Vb_x_aim in the X-axis direction, and consequently the control target center-of-gravity velocity Vb_x_mdfd, when a substantially longitudinal thrust is applied to the vehicle 1, as in the first embodiment. Instead, the value of the first gain coefficient K3_x is adjusted.
  • the gain adjustment parameter Kr3_x for adjusting the value of the first gain coefficient K3_x is sequentially determined by the speed gain adjustment unit 106.
  • the speed gain adjustment unit 106 determines the gain adjustment parameter Kr3_x by the process shown in the flowchart of FIG.
  • the speed gain adjustment unit 106 first executes the same processing as STEP 21 in STEP 31, and calculates the gravity center speed absolute value change rate DVb_x_s.
  • the speed gain adjusting unit 106 executes the determination process of STEP32.
  • This determination processing is the same determination processing as in STEP 22, and the current calculation processing mode (the mode of how to determine the virtual wheel rotation angular acceleration commands ⁇ dotw_x_cmd, ⁇ dotw_x_cmd) is the first processing mode or in the second processing mode. It is judged whether there is.
  • the first processing mode attenuates the moving speed of the vehicle 1 (the center-of-gravity speed Vb_xy in the X-axis direction and the Y-axis direction is set to “0 by the function of the third manipulated variable component u3_xy”.
  • the speed gain adjusting unit 106 determines whether the current calculation processing mode is the first processing mode or the second processing mode in STEP 32, and then the calculation processing of STEP 33 and STEP 34, respectively.
  • An arithmetic process is executed to determine a basic value Kr3_x_1 (hereinafter referred to as a gain adjustment parameter basic value Kr3_x_1) of the gain adjustment parameter Kr3_x.
  • the calculation processing for the first processing mode in STEP 33 is executed as shown in the flowchart of FIG. Specifically, the speed gain adjustment unit 106 first determines whether or not an acceleration request for the vehicle 1 has been generated by executing the same determination processing as STEP 23-1 in STEP 33-1.
  • the speed gain adjustment unit 106 sets the value of the gain adjustment parameter basic value Kr3_x_1 to “1” in STEP 33-4. ”And the process of FIG. 19 is terminated. In this case, since the arithmetic processing mode is not changed, the arithmetic processing mode is maintained in the first processing mode even in the next control processing cycle.
  • the speed gain adjustment unit 106 sets the value of the gain adjustment parameter basic value Kr3_x_1 to “0” in STEP 33-2. decide. Furthermore, the speed gain adjustment unit 106 changes the calculation processing mode from the first processing mode to the second processing mode in STEP 33-3, and ends the processing of FIG.
  • the arithmetic processing for the second processing mode in STEP 34 is executed as shown in the flowchart of FIG. Specifically, the speed gain adjusting unit 106 first determines whether or not a deceleration request for the vehicle 1 has occurred by executing the same determination processing as STEP 24-1 in STEP 34-1.
  • the speed gain adjustment unit 106 determines the gain adjustment parameter basic value Kr3_x_1 to “1” in STEP 34-9. Furthermore, the speed gain adjustment unit 106 returns the calculation processing mode from the second processing mode to the first processing mode in STEP 34-10, and ends the processing of FIG.
  • the acceleration request is resolved by executing the same determination process in STEP 34-2 as in STEP 24-2. Determine whether or not. Then, when the determination result in STEP 34-2 is affirmative (when the acceleration request is considered to be continuing), the speed gain adjustment unit 106 sets the gain adjustment parameter basic value Kr3_x_1 in STEP 34-3. The value is determined to be “0”, and the processing in FIG. In this case, the arithmetic processing mode is maintained in the second processing mode even in the next control processing cycle.
  • the speed gain adjustment unit 106 executes the same determination process in STEP 34-4 in STEP 34-4, so that the current control processing cycle is accelerated. It is determined whether or not it is the timing immediately after the request has been switched to the canceled state.
  • the speed gain adjustment unit 106 initializes the count value CNT of the countdown timer for counting the elapsed time after cancellation of the acceleration request by executing the same processing as STEP 24-5 in STEP 34-5 ( A predetermined time Tm is set as the time measurement value CNT).
  • the speed gain adjusting unit 106 determines the value of the gain adjustment parameter basic value Kr3_x_1 to “0” in STEP 34-6, and ends the processing of FIG. In this case, the arithmetic processing mode is maintained in the second processing mode even in the next control processing cycle.
  • the speed gain adjustment unit 106 determines that the above-mentioned STEP 24-7 By executing the same processing in STEP 34-7, the count value CNT of the countdown timer is decremented.
  • the speed gain adjustment unit 106 executes the same determination process as in STEP 24-8 in STEP 34-8, thereby determining whether the countdown timer has ended.
  • the speed gain adjustment unit 106 performs gain adjustment in STEP 34-6.
  • the value of the parameter basic value Kr3_x_1 is determined to be “0”, and the processing in FIG. In this case, the arithmetic processing mode is maintained in the second processing mode even in the next control processing cycle.
  • the speed gain adjusting unit 106 determines whether the above-described STEP 34-9, 34- 10 is executed, and the process of FIG. 20 is terminated. That is, in the speed gain adjusting unit 106, the required center-of-gravity speed generating unit 74 determines the value of the gain adjustment parameter basic value Kr3_x_1 to “1” and returns the calculation processing mode from the second processing mode to the first processing mode.
  • the speed gain adjustment unit 106 executes the calculation process of any of STEPs 33 and 34 as described above, and then uses the gain adjustment parameter basic value Kr3_x_1 determined by the calculation process as a filter.
  • the gain adjustment parameter Kr3_x is finally determined by executing the passing process in STEP35.
  • the filter is, for example, a first-order lag filter (low-pass filter). Therefore, the gain adjustment parameter Kr3_x follows the gain adjustment parameter basic value Kr3_x_1 with a certain time constant. For this reason, the gain adjustment parameter Kr3_x follows Kr3_x_1 while changing smoothly (constantly coincides with Kr3_x_1).
  • the time constant of the filter used in STEP 35 may be changed according to the arithmetic processing mode or the like.
  • the filter time constant in the first processing mode, the filter time constant may be set to a relatively long time value, and in the second processing mode, the filter time constant may be set to a relatively short time value.
  • the time constant of the filter in the first processing mode, is set shorter in the situation where the deceleration request is generated than in the situation where the deceleration request is not generated, and the gain adjustment parameter Kr3_x is more quickly set. You may make it return to "1".
  • the gain adjustment parameter basic value Kr3_x_1 itself is set to “0” at a predetermined change rate (predetermined temporal change rate). From 1 to "1" may be gradually changed.
  • the attitude control calculation unit 80 to which the gain adjustment parameter Kr3_x determined as described above is input, as described below, the virtual wheel rotation angular acceleration command ⁇ wdot_x_cmd as an operation amount (control input). , ⁇ wdot_y_cmd is determined. Then, as in the first embodiment, the attitude control calculation unit 80 integrates ⁇ wdot_x_cmd and ⁇ wdot_y_cmd to determine and output virtual wheel rotation speed commands ⁇ w_x_com and ⁇ w_y_com.
  • the method of determining the virtual wheel rotation angular acceleration command ⁇ wdot_x_cmd related to the X-axis direction is different from that in the first embodiment.
  • the virtual wheel rotation angular acceleration command ⁇ wdot_x_cmd is determined by the calculation of the following expression 07x2.
  • This embodiment is the same as the first embodiment except for the matters described above.
  • a substantially longitudinal propulsive force is applied to the vehicle 1 as in the case of the first embodiment.
  • the calculation processing mode is set to the first processing mode by the processing in STEP 33-3 in FIG.
  • the processing mode is changed to the second processing mode.
  • the gain adjustment parameter Kr3_x is held at “0” or determined to be a value closer to “0” than “1”.
  • K3_x ⁇ Kr3_x corresponds to the sensitivity (vs. speed sensitivity) of the change in ⁇ dotw_x_cmd with respect to the change in Vb_x_s.
  • ⁇ dotw_x_cmd has a low dependency on Vb_x_s, and even if Vb_x_s changes, ⁇ dotw_x_cmd does not change or the change becomes minute.
  • the driving force applied to the wheel body 5 in the X-axis direction by the electric motors 31R, 31L is less likely to be regulated according to the value of Vb_x_s.
  • the vehicle 1 is smoothly accelerated in the front-rear direction of the occupant by the propulsive force applied.
  • the speed sensitivity is also “0”, and ⁇ dotw_x_cmd is not affected by Vb_x_s. Therefore, even if the acceleration request is canceled, the drive applied to the wheel body 5 in the X-axis direction by the electric motors 31R and 31L is performed until the predetermined time Tm elapses after the cancellation, unless a deceleration request is generated. The force is not affected by the value of Vb_x_s.
  • the vehicle 1 slides for a predetermined time period Tm even if the occupant does not perform a maneuvering operation that positively moves the upper body. The state will be maintained.
  • the value of the gain adjustment parameter basic value Kr3_x_1 is changed from “0” to “1”. Changed to For this reason, the gain adjustment parameter Kr3_x approaches “1” from “0”, and is finally maintained at “1”.
  • the third term (third manipulated variable component u3_x) of the expression 07x2 increases in the braking direction. For this reason, the moving speed of the vehicle 1 in the X-axis direction is attenuated.
  • the sensitivity to speed corresponds to the third gain coefficient K3_x (> K3_x ⁇ Kr3_x) or approaches K3_x from K3_x ⁇ Kr3_x. Therefore, also in the present embodiment, in the second processing mode, the speed sensitivity is relatively lower than in the first processing mode. In the first processing mode, the driving force applied to the wheel body 5 so that Vb_x_s approaches “0” acts stronger than in the second processing mode.
  • the third gain coefficient K3_y is the same in the first processing mode and the second processing mode. Accordingly, in both the first processing mode and the second processing mode, the moving speed Vb_y of the vehicle system center-of-gravity point in the Y-axis direction is unlikely to fluctuate, as in the first embodiment.
  • the value of the gain adjustment parameter basic value Kr3_x_1 is set to “0” in STEPs 34-3 and 34-6 in the second processing mode, but in both or one of STEPs 34-3 and 34-6, Kr3_x_1 may be set to a value slightly larger than “0” (for example, 0.1). Even in this case, basically, the sensitivity to speed in the second processing mode is sufficiently reduced so that the driving force applied to the wheel body 5 in the X-axis direction is unlikely to be affected by the value of Vb_x_s. Can be.
  • the third term on the right side corresponds to the 1a gain coefficient, the 1b gain coefficient, the 1a operation amount component, and the 1b operation amount component in the present invention, respectively, and the calculation process of Expression 07x corresponds to the first synthesis process.
  • the acceleration request determination means in the present invention is realized by the determination processing of STEP 33-1.
  • the case where the determination result in STEP 33-1 is affirmative corresponds to the case where the predetermined first condition in the present invention is satisfied.
  • the predetermined second condition in the present invention is It corresponds to the case where it is established.
  • the virtual wheel rotation angular acceleration command ⁇ wdot_y_cmd as the operation amount is determined by the same processing in the first processing mode and the second processing mode.
  • ⁇ wdot_y_cmd may be determined by different processing in the first processing mode and the second processing mode.
  • the required center-of-gravity velocity Vb_y_aim in the Y-axis direction may be determined so as to change between the first processing mode and the second processing mode, as in the first embodiment.
  • the gain adjustment parameter for adjusting the gain coefficient of the third term of the expression 07y is determined to be changed between the first processing mode and the second processing mode by the same method as in the second embodiment.
  • ⁇ wdot_y_cmd may be determined by an expression obtained by further multiplying the gain adjustment parameter by the third term of Expression 07y.
  • the vehicle 1 having the structure shown in FIGS. 1 and 2 is exemplified.
  • the inverted pendulum type vehicle 1 in the present invention is not limited to the vehicle exemplified in the present embodiment.
  • the wheel body 5 as the moving operation unit of the vehicle 1 has an integral structure.
  • the wheel body 5 has a structure as shown in FIG. May be. That is, a plurality of rollers are extrapolated on a rigid annular shaft body so that the shaft centers in the tangential direction of the shaft body, and the plurality of rollers are circumferentially arranged along the shaft body. You may comprise a wheel body by arranging in a direction.
  • the moving operation unit may have a crawler-like structure as described in FIG.
  • the moving operation unit is configured by a sphere, and the sphere is connected to an actuator device (
  • the vehicle may be configured to be rotationally driven in the direction around the X axis and the direction around the Y axis by an actuator device having the wheel body 5).
  • FIG. 8 of patent document 3 shows, for example, the passenger
  • the vehicle may have a structure in which the step of placing and the portion gripped by the occupant standing on the step are assembled to the base body.
  • the present invention can be applied to an inverted pendulum type vehicle having various structures as seen in Patent Documents 1 to 3 and the like.
  • the inverted pendulum type vehicle according to the present invention may include a plurality of moving operation units (for example, two in the left-right direction, two in the front-rear direction, or three or more).
  • the moving operation unit does not have to be movable in all directions, and may be movable only in one direction.
  • the carrying part of the object to be transported only needs to be assembled to the base body so as to be tiltable only around one axis.
  • a moving operation that can be moved only in the X-axis direction (the occupant's front-rear direction) and cannot tilt (or is difficult to tilt) in the direction around the X-axis.
  • the vehicle 1 may include a moving operation unit in which a plurality of wheels that are rotatable only around an axis in the Y-axis direction are coaxially arranged in the Y-axis direction.
  • the mounting portion may be tiltable only about the axis in the Y-axis direction, and the moving operation unit may move in the X-axis direction in accordance with the tilting.
  • the base body tilts together with the riding section of the occupant.
  • the base body to which these moving operation units are assembled is prevented from tilting with respect to the floor surface, and the riding section is assembled to be tiltable with respect to the base body. Also good.
  • SYMBOLS 1 Inverted pendulum type vehicle, 3 ... Seat (boarding part), 5 ... Wheel body (moving operation part), 7 ... Actuator apparatus, 9 ... Base

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Motorcycle And Bicycle Frame (AREA)

Abstract

 車両の動作状況等に応じて車両の移動速度の変動を適切に制御することができる倒立振子型車両の制御装置を提供する。倒立振子型車両1の移動動作部制御手段50は、第1処理モードと第2処理モードとを有し、第1処理モードでは、搭乗部3の傾斜角度と車両1の代表点の移動速度とを目標値に近づけるように制御用操作量を決定する。移動動作部制御手段50は、第2処理モードでは、車両1の代表点の移動速度の計測値の変化に対する前記制御用操作量の変化の感度が第1処理モードよりも相対的に低くなるようにしつつ、制御用操作量を決定する。

Description

倒立振子型車両の制御装置
 本発明は、床面上を移動可能な倒立振子型車両の制御装置に関する。
 床面上を移動する移動動作部と、この移動動作部を駆動するアクチュエータ装置とが組み付けられた基体に、鉛直方向に対して傾動自在に乗員の搭乗部が組み付けられた倒立振子型車両が従来より知られている。この倒立振子型車両は、搭乗部の傾斜角度をある目標傾斜角度に保つために(搭乗部が傾倒しないようにするために)、倒立振子の支点を動かすような形態で、移動動作部を移動させる必要がある車両である。
 この種の倒立振子型車両の制御技術としては、例えば、特許文献1に見られるものが本願出願人により提案されている。
 この特許文献1には、乗員の搭乗部が組み付けられた車両の基体が球体状の移動動作部に対して前後方向の軸周りと左右方向の軸周りとの2軸周りに傾動自在に設けられた倒立振子型車両の制御技術が記載されている。この技術では、基体の傾斜角度(=搭乗部の傾斜角度)の計測値と目標傾斜角度との偏差と、アクチュエータ装置としてのモータの速度(ひいては移動動作部の移動速度)の計測値と目標速度との偏差とを“0”に近づけるようにモータの駆動トルクが逐次決定される。そして、その決定した駆動トルクに応じて、移動動作部の移動動作がモータを介して制御される。
 なお、倒立振子型車両として機能し得る車両としては、例えば、特許文献2、3に見られるものも本願出願人により提案されている。
特許第3070015号 PCT国際公開公報WO/2008/132778 PCT国際公開公報WO/2008/132779
 ところで、特許文献1~3に見られる如き倒立振子型車両では、搭乗部(又は基体)の傾斜角度を安定に一定値に保持することは一般には困難である。すなわち、乗員が、搭乗部の傾斜角度を一定値に保持しようとしても、一般には、該傾斜角度の変動(ふらつき)が生じやすい。従って、搭乗部の傾斜角度が概ね一定に保持されるような定常的な状態では、該傾斜角度の微小変動に伴って移動動作部の移動速度(車両全体の移動速度)が頻繁に変動するのを抑制するために、該移動速度の変動に対して素早くそれを解消するように移動動作部の移動動作を制御することを望ましいと考えられる。すなわち、該移動速度の変動に対して感度よく、該変動を抑制する駆動力が前記移動動作部に付与されるようにモータ等のアクチュエータ装置を制御することが望ましいと考えられる。
 他方、例えば、乗員が自身の前後方向等で車両の移動速度を増速させようとするような場合のように、乗員が意識的に車両の移動速度を変化させようとする場合には、その移動速度の変化が円滑に行なわれるようにすることが望ましいと考えられる。しかるに、上記のように、移動速度の変動に対して移動動作部に付与される駆動力の変動の感度が高くなるようにした場合には、車両の移動速度の円滑な変化が阻害される恐れがある。
 本発明はかかる背景に鑑みてなされたものであり、車両の動作状況等に応じて車両の移動速度の変動を適切に制御することができる倒立振子型車両の制御装置を提供することを目的とする。
 本発明の倒立振子型車両の制御装置は、かかる目的を達成するために、床面上を移動可能な移動動作部と、該移動動作部を駆動するアクチュエータ装置と、該移動動作部及びアクチュエータ装置が組付けられた基体と、鉛直方向に対して傾動自在に前記基体に組付けられた乗員の搭乗部とを備えた倒立振子型車両の制御装置であって、
 前記搭乗部の実際の傾斜角度に応じた出力を生成する傾斜角度計測手段と、
 前記車両の所定の代表点の移動速度に応じた出力を生成する代表点速度計測手段と、
 前記移動動作部に付与する駆動力を規定する制御用操作量を決定し、その決定した制御用操作量に応じて前記移動動作部の移動動作を前記アクチュエータ装置を介して制御する移動動作部制御手段とを備え、
 前記移動動作部制御手段は、前記搭乗部に乗員が搭乗した状態で前記制御用操作量を決定するための処理モードとして、第1処理モードと、該第1処理モードの処理の実行中に所定の第1条件が成立した場合に該第1処理モードから移行する第2処理モードとを有すると共に、前記第1処理モードでは、前記傾斜角度計測手段の出力が示す前記搭乗部の傾斜角度の計測値と所定値の目標傾斜角度との偏差である傾斜偏差と、前記代表点速度計測手段の出力が示す前記代表点の移動速度の計測値と所定値の目標移動速度との偏差である速度偏差とを“0”に近づけるように、少なくとも前記傾斜偏差と速度偏差とに応じて前記制御用操作量を決定し、前記第2処理モードでは、前記代表点の移動速度の計測値又は該代表点の移動速度の計測値のうちの所定方向の成分の変化に対する前記制御用操作量の変化の感度が前記第1処理モードよりも相対的に低くなるようにしつつ、前記傾斜偏差及び速度偏差のうちの少なくとも傾斜偏差を“0”に近づけるように、少なくとも該傾斜偏差に応じて前記制御用操作量を決定することを特徴とする(第1発明)。
 なお、本発明において、「床」は、通常的な意味での床(屋内の床など)だけを意味するものではなく、屋外の地面もしくは路面をも含むものとして使用する。
 上記第1発明によれば、前記移動動作部制御手段は、前記第1処理モードにおいては、前記傾斜偏差と速度偏差とを“0”に近づけるように前記制御用操作量を決定する。このため、前記搭乗部の実際の傾斜角度の変動等に起因して、前記代表点の実際の移動速度、ひいては、速度偏差が変動しようとすると、その変動を抑制する駆動力を移動動作部に付与させるべく前記制御用操作量が決定される。この結果、第1処理モードでは、前記傾斜偏差を概ね一定に保持した状態での前記代表点の移動速度の安定性が高まることとなる。
 一方、第1処理モードの実行中に前記所定の第1条件が成立した場合には、前記移動動作部制御手段は、前記第2処理モードの処理を実行する。この第2処理モードにおいては、移動動作部制御手段は、前記代表点の移動速度の計測値又は該代表点の移動速度の計測値のうちの所定方向の成分の変化に対する前記制御用操作量の変化の感度が前記第1処理モードよりも相対的に低くなるようにしつつ、前記傾斜偏差及び速度偏差のうちの少なくとも傾斜偏差を“0”に近づけるように前記制御用操作量を決定する。なお、上記感度が第1処理モードよりも相対的に低くなるということは、該感度が“0”になる(前記制御用操作量が、前記代表点の移動速度の計測値又は該代表点の移動速度の計測値のうちの所定方向の成分の変化に依存しなくなる)場合も含まれるものとする。
 このため、第2処理モードでは、前記代表点の実際の移動速度又は該代表点の移動速度のうちの所定方向の成分の変化に対して、前記移動動作部に付与される駆動力が変化し難くなるか、もしくは変化しなくなる。このため、代表点の実際の移動速度の自動的な制御が緩和もしくは解消される。従って、該代表点の移動速度が外力等によって柔軟に変化し易くなる。
 よって、第1発明によれば、車両の動作状況等に応じて車両の移動速度の変動を適切に制御することが可能となる。
 補足すると、第1発明において、前記所定の第1条件としては、例えば、車両の動作状態、操縦操作状態、環境状態などに関する条件を採用することができる。
 また、前記代表点としては、前記搭乗部に搭乗した乗員と車両との全体の重心点や、前記移動動作部や基体の所定部位の点等を用いることができる。
 また、前記代表点の移動速度に係わる前記所定の目標移動速度としては、例えば、その大きさが“0”近傍の所定範囲内の値(“0”を含む)となる速度を採用することが考えられる。このようにした場合には、前記傾斜偏差が“0”もしくはほぼ“0”となる状態で、前記代表点の実際の移動速度を“0”もしくはほぼ“0”に保つようにすることが可能となる。
 また、前記搭乗部の傾斜角度に係わる前記所定の目標傾斜角度としては、例えば、前記搭乗部に搭乗した乗員と車両とを合わせた全体のうち、該搭乗部と一体的に傾動可能な部分(乗員を含む)の全体の重心点が該搭乗部の傾動中心(傾動の支点)の直上もしくはほぼ直上に位置する状態(すなわち当該重心点に作用する重力によって、該傾動中心の周りに発生するモーメントが“0”もしくはほぼ“0”となる状態)での該搭乗部の傾斜角度を採用することが好適である。
 かかる第1発明における倒立振子型車両では、前記移動動作部が、床面上を所定の1方向に移動可能に構成され、前記搭乗部が、当該所定の1方向と直交する方向の1軸周りに傾動自在に前記基体に組付けられていてもよい。
 あるいは、前記移動動作部は、床面上を互いに直交する第1の方向及び第2の方向を含む全方向に移動可能に構成されていると共に、前記搭乗部は、前記第1の方向の軸周りと第2の方向の軸周りとの2軸周りに傾動自在に前記基体に組付けられていてもよい。この場合には、前記移動動作部制御手段は、前記第1処理モードでは、前記傾斜偏差のうちの第2の方向の軸周り成分である第1傾斜偏差成分と、第1の方向の軸周り成分である第2傾斜偏差成分と、前記速度偏差のうちの第1の方向の成分である第1速度偏差成分と第2の方向の成分である第2速度偏差成分とをそれぞれ“0”に近づけるように前記制御用操作量を決定し、前記第2処理モードでは、前記代表点の移動速度の計測値のうちの少なくとも第1の方向の成分の変化に対する前記制御用操作量の変化の感度が前記第1処理モードよりも相対的に低くなるようにしつつ、前記第1傾斜偏差成分、第2傾斜偏差成分、第1速度偏差成分及び第2速度偏差成分のうちの少なくとも第1傾斜偏差成分及び第2傾斜偏差成分を“0”に近づけるように前記制御用操作量を決定することが好ましい(第2発明)。
 なお、第2発明において、前記移動動作部が、「第1の方向及び第2の方向を含む全方向に移動可能」ということは、該第1の方向及び第2の方向に直交する軸方向で見た場合における各瞬間での該移動動作部の速度ベクトルの向きが、前記アクチュエータ装置による移動動作部の駆動によって、上記軸方向の周りの任意の角度方向の向きを採り得るということを意味する。この場合、上記軸方向は、概ね、上下方向又は床面に垂直な方向である。また、本発明における「直交」は厳密な意味での直交であることは必須ではなく、本発明の本質を逸脱しない範囲で、厳密な意味での直交から若干のずれがあってもよい。
 この第2発明によれば、前記第1処理モードでは、前記傾斜偏差を概ね一定に保持した状態で、前記第1の方向及び第2の方向を含む全方向における前記代表点の移動速度の安定性が高まることとなる。また、前記第2処理モードでは、少なくとも前記第1の方向での前記代表点の移動速度が柔軟に変化し易くなる。従って、少なくとも第1の方向での前記代表点の移動速度を所望の形態で自在に変化させることが可能となる。
 この第2発明では、前記代表点の移動速度の計測値のうちの前記第2の方向の成分の変化に対する前記制御用操作量の変化の感度を、前記第1処理モードと同一とする態様と、第1処理モードと異ならせる態様とを採用することができる。
 この場合、特に、前記第1の方向及び第2の方向が、それぞれ前記搭乗部に搭乗した乗員の前後方向、左右方向に設定されている場合には、前記移動動作部制御手段は、前記第2処理モードでは、少なくとも前記代表点の移動速度の計測値のうちの第1の方向の成分の変化に対する前記制御用操作量の変化の感度が前記第1処理モードよりも相対的に低くなり、且つ、前記代表点の移動速度の計測値のうちの第2の方向の成分の変化に対する前記制御用操作量の変化の感度が前記第1処理モードよりも低くならないようにしつつ、前記第1傾斜偏差成分、第2傾斜偏差成分、第1速度偏差成分及び第2速度偏差成分のうちの少なくとも第1傾斜偏差成分、第2傾斜偏差成分及び第2速度偏差成分を“0”に近づけるように、少なくとも該第1傾斜偏差成分、第2傾斜偏差成分及び第2速度偏差成分に応じて前記制御用操作量を決定することが好適である(第3発明)。
 この第3発明によれば、前記第2処理モードでは、乗員の前後方向(第1の方向)では、前記代表点の移動速度の柔軟な変更が可能となる一方、乗員の左右方向(第2の方向)では、前記代表点の移動速度の変動が第1処理モードと同等か、もしくは、それよりも強めに抑制される。換言すれば、第2処理モードでは、前記代表点の移動速度のうち、乗員の前後方向の成分は変化し易いが、乗員の左右方向の成分は変化し難いものとなる。
 ここで、車両の移動は、多くの場合、乗員の前後方向もしくはこれに近い方向で行なわれる。そして、第3発明によれば、このように乗員の前後方向もしくはこれに近い方向で車両を移動させる場合に、乗員の左右方向での該乗員の上体のふら付き等に起因して車両の代表点の移動速度が左右方向で変動するのを抑制できる。乗員の前後方向もしくはこれに近い方向で車両を移動させるための車両の操縦操作が容易になる。
 前記第1発明では、より具体的な態様として、次のような態様を採用することができる。すなわち、前記移動動作部が、床面上を少なくとも前記所定方向としての第1の方向に移動可能であると共に、前記制御用操作量は、前記第1の方向での移動動作部の移動動作を制御するために該移動動作部に付与する駆動力を規定する第1制御用操作量を少なくとも含む。そして、前記移動動作部制御手段は、前記第1処理モードでは、少なくとも前記第1の方向に直交する方向の軸周りでの前記傾斜偏差に第1aゲイン係数を乗じてなる第1a操作量成分と前記第1の方向での前記速度偏差に第1bゲイン係数を乗じてなる第1b操作量成分とを含む所定の複数種類の操作量成分を合成する第1合成処理により前記第1制御用操作量を決定する。また、該移動動作部制御手段は、前記第2処理モードでは、前記第1の方向での前記速度偏差に前記第1bゲイン係数よりも小さい絶対値を有する第1cゲインを乗じてなる第1c操作量成分と、前記第1の方向での前記代表点の移動速度の計測値と該計測値に一致又は追従させるように該計測値に応じて可変的に決定した前記第1の方向での代表点の目標移動速度との偏差に第1dゲイン係数を乗じてなる第1d操作量成分と、“0”とのうちのいずれか1つを前記第1b操作量成分に代わりに用いる前記第1合成処理により前記第1制御用操作量を決定する(第4発明)。
 この第4発明によれば、前記移動動作部制御手段は、前記第1処理モードでは、少なくとも前記第1a操作量成分と第1b操作量成分とを含む所定の複数種類の操作量成分を合成する第1合成処理により、前記第1の方向での移動動作部の移動動作を制御するための前記第1制御用操作量を決定する。これにより、前記傾斜偏差と速度偏差とを“0”に近づけるように第1制御用操作量を決定することができる。
 そして、第2処理モードでは、前記移動動作部制御手段は、第1c操作量成分と第1d操作量成分と“0”とのうちのいずれか1つを前記第1b操作量成分に代わりに用いる前記第1合成処理により前記第1制御用操作量を決定する。これにより、前記記第2処理モードでは、前記代表点の移動速度の計測値のうちの少なくとも第1の方向の成分の変化に対する前記制御用操作量の変化の感度が前記第1処理モードよりも相対的に低くなるようにすることができる。ひいては、該第1の方向での前記代表点の移動速度を、外力等によって柔軟に変化させることが可能となる。
 また、前記第2発明又は第3発明において、前記制御用操作量が、前記第1の方向での移動動作部の移動動作を制御するために該移動動作部に付与する駆動力を規定する第1制御用操作量と、前記第2の方向での移動動作部の移動動作を制御するために該移動動作部に付与する駆動力を規定する第2制御用操作量とから構成される場合には、前記移動動作部制御手段は、前記第1処理モードでは、少なくとも前記第1傾斜偏差成分に第1aゲイン係数を乗じてなる第1a操作量成分と、前記第1速度偏差成分に第1bゲイン係数を乗じてなる第1b操作量成分とを含む所定の複数種類の操作量成分を合成する第1合成処理により前記第1制御用操作量を決定すると共に、少なくとも前記第2傾斜偏差成分に第2aゲイン係数を乗じてなる第2a操作量成分と、前記第2速度偏差成分に第2bゲイン係数を乗じてなる第2b操作量成分とを含む所定の複数種類の操作量成分を合成する第2合成処理により前記第2制御用操作量を決定することが好ましい。さらに、該移動動作部制御手段は、前記第2処理モードでは、前記第1速度偏差に前記第1bゲイン係数よりも小さい絶対値を有する第1cゲインを乗じてなる第1c操作量成分と、前記代表点の移動速度の計測値のうちの前記第1の方向の成分と該成分に一致又は追従させるように該成分に応じて可変的に決定した該第1の方向での前記代表点の目標移動速度との偏差に第1dゲイン係数を乗じてなる第1d操作量成分と、“0”とのうちのいずれか1つを前記第1b操作量成分に代わりに用いる前記第1合成処理により前記第1制御用操作量を決定すると共に、前記第1処理モードと同一の前記第2合成処理により前記第2制御用操作量を決定することが好ましい(第5発明)。
 この第5発明によれば、前記第1の方向での車両の代表点の移動に関しては、前記第4発明と同様に、該第1の方向での前記代表点の移動速度を外力等によって柔軟に変化させることができる。
 一方、第2の方向での車両の代表点の移動に関しては、第1処理モードと第2処理モードとで同一の前記第2合成処理により前記第2制御用操作量が決定される。このため、第1処理モードと第2処理モードとのいずれのモードでも、該第2の方向での代表点の移動速度の目標移動速度に対する制御性が高まる。その結果、第2の方向での代表点の移動速度の変動を抑制することができる。
 なお、この第5発明は、特に、前記第3発明と組合せることが好適である。これによれば、乗員の前後方向での前記代表点の移動速度の柔軟性を高めつつ、乗員の左右方向での前記代表点の移動速度の拘束性を高めることができる。その結果、車両の操縦性が高まる。
 補足すると、第2発明において、第2の方向での車両の代表点の移動に関して、第1の方向での代表点の移動の場合と同様に、前記代表点の移動速度の計測値のうちの第2の方向の成分の変化に対する前記制御用操作量の変化の感度が前記第1処理モードよりも相対的に低くなるようにすることも可能である。この場合には、第2制御用操作量を第1制御用操作量と同じ手法で決定するようにすればよい。
 以上説明した第1~第5発明では、前記移動動作部制御手段は、前記第2処理モードの処理の実行中に所定の第2条件が成立した場合に、前記第1処理モードの処理を再開することが好ましい(第6発明)。
 この第6発明によれば、前記第2条件が成立した場合に、第2処理モードから第1処理モードに戻すので、前記第1処理モードでの車両の運転と、第2処理モードでの車両の運転とを車両の動作状況等に適合させて、選択的に行なうことができる。
 この第6発明では、前記代表点の移動速度を増速させる要求である加速要求が発生した否かを判断する加速要求判断手段を備え、前記移動動作部制御手段は、前記第1処理モードの処理の実行中に前記加速要求判断手段の判断結果が肯定的になった場合に、前記所定の第1条件が成立したものとして、前記第2処理モードの処理の実行を開始することが好ましい(第7発明)。
 この第7発明によれば、前記加速要求判断手段の判断結果が肯定的になった場合、すなわち、前記加速要求が発生した場合に、前記第2処理モードの処理の実行が開始される。このため、加速要求が発生した状況で、前記代表点の移動速度を円滑に増速させることが可能となる。
 さらに、上記第7発明では、前記移動動作部制御手段は、前記第2処理モードの処理の実行中に、前記加速要求判断手段の判断結果が否定的となる状態が所定時間、継続した場合に、前記所定の第2条件が成立したものとして前記第1処理モードの処理を再開することが好ましい(第8発明)。
 この第8発明によれば、加速要求が連続的又は間欠的に発生する状態が解消すると、その解消後、所定時間が経過するまで、処理モードを前記第2処理モードに維持することができる。このため、前記代表点の移動速度の増速後の一定期間において、移動動作部に付与される駆動力が該代表点の移動速度の影響を受け難い状態を継続することができる。その結果、前記代表点の移動速度の増速後に、乗員が前記搭乗部の傾斜角度を保つようにすることによって、該代表点の移動速度を積極的に変動させるような駆動力が移動動作部に付与されないようにすることができる。ひいては、代表点の移動速度の増速後に、乗員が特別な操縦操作をせずとも、車両が慣性力によって滑走するような状態を実現できる。
 また、上記第7発明又第8発明では、前記車両が、前記アクチュエータ装置により前記移動動作部を駆動することによって発生する車両の推進力以外の外力が付加された場合に、該外力によって前記代表点の移動速度を増速可能な車両である場合には、前記加速要求判断手段は、少なくとも前記代表点の移動速度の計測値の大きさの時間的変化率又は該計測値のうちの前記所定方向の成分の大きさの時間的変化率である速度変化率に基づいて前記加速要求が発生したか否かを判断することが好ましい(第9発明)。
 かかる第9発明によれば、前記加速要求判断手段は、少なくとも前記速度変化率に基づいて、前記加速要求が発生したか否かを判断するので、その判断を車両の実際の動作状態に即して判断することができる。ひいては、前記第1処理モードから第2処理モードへの移行を車両の実際の動作状態に即した適切なタイミングで行なうことができる。
 なお、第9発明においては、例えば、前記速度変化率が所定の閾値よりも大きくなるということを、加速要求が発生したと判断することの必要条件(もしくは必要十分条件)として、加速要求が発生したか否かを判断することが考えられる。
 また、第9発明において、例えば、前記搭乗部に搭乗した乗員が随時、自身の足を着床させることができるように該搭乗部が構成されている場合には、該乗員が自身の足によって床を蹴ることによって、前記外力を車両に作用させることが可能である。あるいは、例えば、車両の外部の作業者もしくは補助者、又は適当な装置によって、適宜、車両に外力を作用させるようにしてもよい。
実施形態の倒立振子型車両の正面図。 実施形態の倒立振子型車両の側面図。 実施形態の倒立振子型車両の下部を拡大して示す図。 実施形態の倒立振子型車両の下部の斜視図。 実施形態の倒立振子型車両の移動動作部(車輪体)の斜視図。 実施形態の倒立振子型車両の移動動作部(車輪体)とフリーローラとの配置関係を示す図。 実施形態の倒立振子型車両の制御ユニットの処理を示すフローチャート。 実施形態の倒立振子型車両の動力学的挙動を表現する倒立振子モデルを示す図。 第1実施形態での図7のSTEP9の処理に係わる処理機能を示すブロック図。 図9に示すゲイン調整部の処理機能を示すブロック図。 図10に示すリミット処理部(又は図12に示すリミット処理部)の処理機能を示すブロック図。 図9に示す重心速度制限部76の処理機能を示すブロック図。 図9に示す姿勢制御演算部80の処理機能を示すブロック図。 図9に示す要求重心速度生成部74の処理を示すフローチャート。 図14のSTEP23のサブルーチン処理を示すフローチャート。 図14のSTEP24のサブルーチン処理を示すフローチャート。 第2実施形態での図7のSTEP9の処理に係わる処理機能を示すブロック図。 図17に示す速度ゲイン調整部106の処理を示すフローチャート。 図18のSTEP33のサブルーチン処理を示すフローチャート。 図18のSTEP34のサブルーチン処理を示すフローチャート。
[第1実施形態]
本発明の第1実施形態を以下に説明する。まず、図1~図6を参照して、本実施形態における倒立振子型車両の構造を説明する。
 図1及び図2に示すように、本実施形態における倒立振子型車両1は、乗員(運転者)の搭乗部3と、床面に接地しながら該床面上を全方向(前後方向及び左右方向を含む2次元的な全方向)に移動可能な移動動作部5と、この移動動作部5を駆動する動力を該移動動作部5に付与するアクチュエータ装置7と、これらの搭乗部3、移動動作部5及びアクチュエータ装置7が組付けられた基体9とを備える。
 ここで、本実施形態の説明では、「前後方向」、「左右方向」は、それぞれ、搭乗部3に標準的な姿勢で搭乗した乗員の上体の前後方向、左右方向に一致もしくはほぼ一致する方向を意味する。なお、「標準的な姿勢」は、搭乗部3に関して設計的に想定されている姿勢であり、乗員の上体の体幹軸を概ね上下方向に向け、且つ、上体を捻ったりしていない姿勢である。
 この場合、図1においては、「前後方向」、「左右方向」はそれぞれ、紙面に垂直な方向、紙面の左右方向であり、図2においては、「前後方向」、「左右方向」はそれぞれ、紙面の左右方向、紙面に垂直な方向である。また、本実施形態の説明では、参照符号に付する添え字「R」,「L」は、それぞれ車両1の右側、左側に対応するものという意味で使用する。
 基体9は、移動動作部5及びアクチュエータ装置7とが組付けられた下部フレーム11と、この下部フレーム11の上端から上方に延設された支柱フレーム13とを備える。
 支柱フレーム13の上部には、該支柱フレーム13から前方側に張り出したシートフレーム15が固定されている。そして、このシートフレーム15上に、乗員が着座するシート3が装着されている。本実施形態では、このシート3が乗員の搭乗部となっている。従って、本実施形態における倒立振子型車両1(以降、単に車両1という)は、乗員がシート3に着座した状態で、床面上を移動するものである。
 また、シート3の左右には、シート3に着座した乗員が必要に応じて把持するためのグリップ17R,17Lが配置され、これらのグリップ17R,17Lがそれぞれ、支柱フレーム13(又はシートフレーム15)から延設されたブラケット19R,19Lの先端部に固定されている。
 下部フレーム11は、左右方向に間隔を存して二股状に対向するように配置された一対のカバー部材21R,21Lを備える。これらのカバー部材21R,21Lの上端部(二股の分岐部分)は、前後方向の軸心を有するヒンジ軸23を介して連結され、カバー部材21R,21Lの一方が他方に対して相対的にヒンジ軸23の周りに揺動可能となっている。この場合、カバー部材21R,21Lは、図示を省略するバネによって、カバー部材21R,21Lの下端部側(二股の先端側)が狭まる方向に付勢されている。
 また、カバー部材21R,21Lのそれぞれの外面部には、前記シート3に着座した乗員の右足を載せるステップ25Rと左足を載せるステップ25Lとが各々、右向き、左向きに張り出すように突設されている。
 移動動作部5及びアクチュエータ装置7は、下部フレーム11のカバー部材21R,21Lの間に配置されている。これらの移動動作部5及びアクチュエータ装置7の構造を図3~図6を参照して説明する。
 なお、本実施形態で例示する移動動作部5及びアクチュエータ装置7は、例えば前記特許文献2の図1に開示されているものと同じ構造のものである。従って、本実施形態の説明においては、移動動作部5及びアクチュエータ装置7の構成に関して、前記特許文献2に記載された事項については、簡略的な説明に留める。
 本実施形態では、移動動作部5は、ゴム状弾性材により円環状に形成された車輪体であり、ほぼ円形の横断面形状を有する。この移動動作部5(以降、車輪体5という)は、その弾性変形によって、図5及び図6の矢印Y1で示す如く、円形の横断面の中心C1(より詳しくは、円形の横断面中心C1を通って、車輪体5の軸心と同心となる円周線)の周りに回転可能となっている。
 この車輪体5は、その軸心C2(車輪体5全体の直径方向に直交する軸心C2)を左右方向に向けた状態で、カバー部材21R,21Lの間に配置され、該車輪体5の外周面の下端部にて床面に接地する。
 そして、車輪体5は、アクチュエータ装置7による駆動(詳細は後述する)によって、図5の矢印Y2で示す如く車輪体5の軸心C2の周りに回転する動作(床面上を輪転する動作)と、車輪体5の横断面中心C1の周りに回転する動作とを行なうことが可能である。その結果、車輪体5は、それらの回転動作の複合動作によって、床面上を全方向に移動することが可能となっている。
 アクチュエータ装置7は、車輪体5と右側のカバー部材21Rとの間に介装される回転部材27R及びフリーローラ29Rと、車輪体5と左側のカバー部材17Lとの間に介装される回転部材27L及びフリーローラ29Lと、回転部材27R及びフリーローラ29Rの上方に配置されたアクチュエータとしての電動モータ31Rと、回転部材27L及びフリーローラ29Lの上方に配置されたアクチュエータとしての電動モータ31Lとを備える。
 電動モータ31R,31Lは、それぞれのハウジングがカバー部材21R,21Lに各々取付けられている。なお、図示は省略するが、電動モータ31R,31Lの電源(蓄電器)は、支柱フレーム13等、基体9の適所に搭載されている。
 回転部材27Rは、左右方向の軸心を有する支軸33Rを介してカバー部材21Rに回転可能に支持されている。同様に、回転部材27Lは、左右方向の軸心を有する支軸33Lを介してカバー部材21Lに回転可能に支持されている。この場合、回転部材27Rの回転軸心(支軸33Rの軸心)と、回転部材27Lの回転軸心(支軸33Lの軸心)とは同軸心である。
 回転部材27R,27Lは、それぞれ電動モータ31R,31Lの出力軸に、減速機としての機能を含む動力伝達機構を介して接続されており、電動モータ31R,31Lからそれぞれ伝達される動力(トルク)によって回転駆動される。各動力伝達機構は、例えばプーリ・ベルト式のものである。すなわち、図3に示す如く、回転部材27Rは、プーリ35Rとベルト37Rとを介して電動モータ31Rの出力軸に接続されている。同様に、回転部材27Lは、プーリ35Lとベルト37Lとを介して電動モータ31Lの出力軸に接続されている。
 なお、上記動力伝達機構は、例えば、スプロケットとリンクチェーンとにより構成されるもの、あるいは、複数のギヤにより構成されるものであってもよい。また、例えば、電動モータ31R,31Lを、それぞれの出力軸が各回転部材27R,27Lと同軸心になるように各回転部材27R,27Lに対向させて配置し、電動モータ31R,31Lのそれぞれの出力軸を回転部材27R,27Lに各々、減速機(遊星歯車装置等)を介して連結するようにしてもよい。
 各回転部材27R,27Lは、車輪体5側に向かって縮径する円錐台と同様の形状に形成されており、その外周面がテーパ外周面39R,39Lとなっている。
 回転部材27Rのテーパ外周面39Rの周囲には、回転部材27Rと同心の円周上に等間隔で並ぶようにして、複数のフリーローラ29Rが配列されている。そして、これらのフリーローラ29Rは、それぞれ、ブラケット41Rを介してにテーパ外周面39Rに取付けられ、該ブラケット41Rに回転自在に支承されている。
 同様に、回転部材27Lのテーパ外周面39Lの周囲には、回転部材27Lと同心の円周上に等間隔で並ぶようにして、複数(フリーローラ29Rと同数)のフリーローラ29Lが配列されている。そして、これらのフリーローラ29Lは、それぞれ、ブラケット41Lを介してにテーパ外周面39Lに取付けられ、該ブラケット41Lに回転自在に支承されている。
 前記車輪体5は、回転部材27R側のフリーローラ29Rと、回転部材27L側のフリーローラ29Lとの間に挟まれるようにして、回転部材27R,27Lと同軸心に配置されている。
 この場合、図1及び図6に示すように、各フリーローラ29R,29Lは、その軸心C3が車輪体5の軸心C2に対して傾斜すると共に、車輪体5の直径方向(車輪体5をその軸心C2の方向で見たときに、該軸心C2と各フリーローラ29R,29Lとを結ぶ径方向)に対して傾斜する姿勢で配置されている。そして、このような姿勢で、各フリーローラ29R,29Lのそれぞれの外周面が車輪体5の内周面に斜め方向に圧接されている。
 より一般的に言えば、右側のフリーローラ29Rは、回転部材27Rが軸心C2の周りに回転駆動されたときに、車輪体5との接触面で、軸心C2周りの方向の摩擦力成分(車輪体5の内周の接線方向の摩擦力成分)と、車輪体5の前記横断面中心C1の周り方向の摩擦力成分(円形の横断面の接線方向の摩擦力成分)とを車輪体5に作用させ得るような姿勢で、車輪体5の内周面に圧接されている。左側のフリーローラ29Lについても同様である。
 この場合、前記したように、カバー部材21R,21Lは、図示しないバネによって、カバー部材21R,21Lの下端部側(二股の先端側)が狭まる方向に付勢されている。このため、この付勢力によって、右側のフリーローラ29Rと左側のフリーローラ29Lとの間に車輪体5が挟持されると共に、車輪体5に対する各フリーローラ29R,29Lの圧接状態(より詳しくはフリーローラ29R,29Lと車輪体5との間で摩擦力が作用し得る圧接状態)が維持される。
 以上説明した構造を有する車両1においては、電動モータ31R,31Lによりそれぞれ、回転部材27R,27Lを同方向に等速度で回転駆動した場合には、車輪体5が回転部材27R,27Lと同方向に軸心C2の周りに回転することとなる。これにより、車輪体5が床面上を前後方向に輪転して、車両1の全体が前後方向に移動することとなる。なお、この場合は、車輪体5は、その横断面中心C1の周りには回転しない。
 また、例えば、回転部材27R,27Lを互いに逆方向に同じ大きさの速度で回転駆動した場合には、車輪体5は、その横断面中心C1の周りに回転することとなる。これにより、車輪体4がその軸心C2の方向(すなわち左右方向)に移動し、ひいては、車両1の全体が左右方向に移動することとなる。なお、この場合は、車輪体5は、その軸心C2の周りには回転しない。
 さらに、回転部材27R,27Lを、互いに異なる速度(方向を含めた速度)で、同方向又は逆方向に回転駆動した場合には、車輪体5は、その軸心C2の周りに回転すると同時に、その横断面中心C1の周りに回転することとなる。
 この時、これらの回転動作の複合動作(合成動作)によって、前後方向及び左右方向に対して傾斜した方向に車輪体5が移動し、ひいては、車両1の全体が車輪体5と同方向に移動することとなる。この場合の車輪体5の移動方向は、回転部材27R,27Lの回転方向を含めた回転速度(回転方向に応じて極性が定義された回転速度ベクトル)の差に依存して変化するものとなる。
 以上のように車輪体5の移動動作が行なわれるので、電動モータ31R,31Lのそれぞれの回転速度(回転方向を含む)を制御し、ひいては回転部材27R,27Lの回転速度を制御することによって、車両1の移動速度及び移動方向を制御できることとなる。
 なお、シート(搭乗部)3及び基体9は、車輪体5の軸心C2を支点として、左右方向の軸心C2周りに傾動自在となっていると共に、車輪体5の接地面(下端面)を支点として、前後方向の軸周りに該車輪体5と共に傾動自在となっている。
 次に、本実施形態の車両1の動作制御のための構成を説明する。なお、以降の説明では、図1及び図2に示すように、前後方向の水平軸をX軸、左右方向の水平軸をY軸、鉛直方向をZ軸とするXYZ座標系を想定し、前後方向、左右方向をそれぞれX軸方向、Y軸方向と言うことがある。
 まず、車両1の概略的な動作制御を説明すると、本実施形態では、基本的には、シート3に着座した乗員がその上体を傾けた場合(詳しくは、乗員と車両1とを合わせた全体の重心点の位置(水平面に投影した位置)を動かすように上体を傾けた場合)に、該上体を傾けた側に基体9がシート3と共に傾動する。そして、この時、基体9が傾いた側に車両1が移動するように、車輪体5の移動動作が制御される。例えば、乗員が上体を前傾させ、ひいては、基体9をシート3と共に前傾させると、車両1が前方に移動するように、車輪体5の移動動作が制御される。
 すなわち、本実施形態では、乗員が上体を動かし、ひいては、シート3と共に基体9を傾動させるという動作が、車両1に対する1つの基本的な操縦操作(車両1の動作要求)とされ、その操縦操作に応じて車輪体5の移動動作がアクチュエータ装置7を介して制御される。
 ここで、本実施形態の車両1は、その全体の接地面としての車輪体5の接地面が、車両1とこれに搭乗する乗員との全体を床面に投影した領域に比して面積が小さい単一の局所領域となり、その単一の局所領域だけに床反力が作用する。このため、基体9が傾倒しないようにするためには、乗員及び車両1の全体の重心点が車輪体5の接地面のほぼ真上に位置するように、車輪体5を動かす必要がある。
 そこで、本実施形態では、乗員及び車両1の全体の重心点が、車輪体5の中心点(軸心C2上の中心点)のほぼ真上に位置する状態(より正確には当該重心点が車輪体5の接地面のほぼ真上に位置する状態)での基体9の姿勢を目標姿勢とし、基本的には、基体9の実際の姿勢を目標姿勢に収束させるように、車輪体5の移動動作が制御される。
 また、車両1を発進させる場合等において、アクチュエータ装置7による推進力とは別に、例えば乗員が必要に応じて自身の足により床を蹴り、それにより車両1の移動速度を増速させる推進力(乗員の足平と床との摩擦力による推進力)を、付加的な外力として車両1に作用させた場合には、それに応じて車両1の移動速度(より正確には、乗員及び車両の全体の重心点の移動速度)が増速するように、車輪体5の移動動作が制御される。
 さらに、車両1に乗員が搭乗していない状態では、車両1の単体の重心点が、車輪体5の中心点(軸心C2上の中心点)のほぼ真上に位置する状態(当該重心点が車輪体5の接地面のほぼ真上に位置する状態)での基体9の姿勢を目標姿勢とし、該基体9の実際の姿勢を目標姿勢に収束させ、ひいては、基体9が傾倒することなく車両1が自立するように、車輪体5の移動動作が制御される。
 また、車両1に乗員が搭乗している状態と搭乗していない状態とのいずれの状態においても、基体9の実際の姿勢の目標姿勢からずれが大きいほど、車両1の移動速度が速くなると共に、基体9の実際の姿勢の目標姿勢に一致する状態では、車両1の移動が停止するように車輪体5の移動動作が制御される。
 補足すると、「姿勢」は空間的な向きを意味する。本実施形態では、基体9がシート3と共に傾動することで、基体9やシート3の姿勢が変化する。また、本実施形態では、基体9とシート3とは一体的に傾動するので、基体9の姿勢をその目標姿勢に収束させるということは、シート3の姿勢を該シート3に対応する目標姿勢(基体9の姿勢が基体9の目標姿勢に一致する状態でのシート3の姿勢)に収束させるということと等価である。
 本実施形態では、以上の如き車両1の動作制御を行なうために、図1及び図2に示すように、マイクロコンピュータや電動モータ31R,31Lのドライブ回路ユニットなどを含む電子回路ユニットにより構成された制御ユニット50と、基体9の姿勢(又はシート3の姿勢)に関する状態量として、基体9の所定の部位の鉛直方向(重力方向)に対する傾斜角度θb及びその変化速度(=dθb/dt)を計測するための傾斜センサ52と、車両1に乗員が搭乗しているか否かを検知するための荷重センサ54と、電動モータ31R,31Lのそれぞれの出力軸の回転角度及び回転角速度を検出するための角度センサとしてのロータリエンコーダ56R,56Lとがそれぞれ、車両1の適所に搭載されている。
 この場合、制御ユニット50及び傾斜センサ52は、例えば、基体9の支柱フレーム13の内部に収容された状態で該支柱フレーム13に取付けられている。また、荷重センサ54は、シート3に内蔵されている。また、ロータリエンコーダ56R,56Lは、それぞれ、電動モータ31R,31Lと一体に設けられている。なお、ロータリエンコーダ56R,56Lは、それぞれ、回転部材27R,27Lに装着してもよい。
 上記傾斜センサ52は、より詳しくは、加速度センサとジャイロセンサ等のレートセンサ(角速度センサ)とから構成され、これらのセンサの検出信号を制御ユニット50に出力する。そして、制御ユニット50が、傾斜センサ52の加速度センサ及びレートセンサの出力を基に、所定の計測演算処理(これは公知の演算処理でよい)を実行することによって、傾斜センサ52を搭載した部位(本実施形態では支柱フレーム13)の、鉛直方向に対する傾斜角度θbの計測値とその変化速度(微分値)である傾斜角速度θbdotの計測値とを算出する。
 この場合、計測する傾斜角度θb(以降、基体傾斜角度θbということがある)は、より詳しくは、それぞれ、Y軸周り方向(ピッチ方向)の成分θb_xと、X軸周り方向(ロール方向)の成分θb_yとから成る。同様に、計測する傾斜角速度θbdot(以降、基体傾斜角速度θbdotということがある)も、Y軸周り方向(ピッチ方向)の成分θbdot_x(=dθb_x/dt)と、X軸周り方向(ロール方向)の成分θbdot_y(=dθb_y/dt)とから成る。
 補足すると、本実施形態では、基体9の支柱フレーム13と一体にシート3が傾動するので、基体傾斜角度θbは、搭乗部3の傾斜角度としての意味も持つ。
 なお、本実施形態の説明では、上記基体傾斜角度θbなど、X軸及びY軸の各方向(又は各軸周り方向)の成分を有する運動状態量等の変数、あるいは、該運動状態量に関連する係数等の変数に関しては、その各成分を区別して表記する場合に、該変数の参照符号に、添え字“_x”又は“_y”を付加する。
 この場合において、並進速度等の並進運動に係わる変数については、そのX軸方向の成分に添え字“_x”を付加し、Y軸方向の成分に添え字“_y”を付加する。
 一方、角度、回転速度(角速度)、角加速度など、回転運動に係わる変数については、並進運動に係わる変数と添え字を揃えるために、便宜上、Y軸周り方向の成分に添え字“_x”を付加し、X軸周り方向の成分に添え字“_y”を付加する。
 さらに、X軸方向の成分(又はY軸周り方向の成分)と、Y軸方向の成分(又はX軸周り方向の成分)との組として変数を表記する場合には、該変数の参照符号に添え字“_xy”を付加する。例えば、上記基体傾斜角度θbを、Y軸周り方向の成分θb_xとX軸周り方向の成分θb_yの組として表現する場合には、「基体傾斜角度θb_xy」というように表記する。
 前記荷重センサ54は、乗員がシート3に着座した場合に該乗員の重量による荷重を受けるようにシート3に内蔵され、その荷重に応じた検出信号を制御ユニット50に出力する。そして、制御ユニット50が、この荷重センサ54の出力により示される荷重の計測値に基づいて、車両1に乗員が搭乗しているか否かを判断する。
 なお、荷重センサ54の代わりに、例えば、乗員がシート3に着座したときにONとなるようなスイッチ式のセンサを用いてもよい。
 ロータリエンコーダ56Rは、電動モータ31Rの出力軸が所定角度回転する毎にパルス信号を発生し、このパルス信号を制御ユニット50に出力する。そして、制御ユニット50が、そのパルス信号を基に、電動モータ53Rの出力軸の回転角度を計測し、さらにその回転角度の計測値の時間的変化率(微分値)を電動モータ53Rの回転角速度として計測する。電動モータ31L側のロータリエンコーダ56Lについても同様である。
 制御ユニット50は、上記の各計測値を用いて所定の演算処理を実行することによって、電動モータ31R,31Lのそれぞれの回転角速度の目標値である速度指令を決定し、その速度指令に従って、電動モータ31R,31Lのそれぞれの回転角速度をフィードバック制御する。
 なお、電動モータ31Rの出力軸の回転角速度と、回転部材27Rの回転角速度との間の関係は、該出力軸と回転部材27Rとの間の一定値の減速比に応じた比例関係になるので、本実施形態の説明では、便宜上、電動モータ31Rの回転角速度は、回転部材27Rの回転角速度を意味するものとする。同様に、電動モータ31Lの回転角速度は、回転部材27Lの回転角速度を意味するものとする。
 以下に、制御ユニット50の制御処理をさらに詳細に説明する。
 制御ユニット50は、所定の制御処理周期で図7のフローチャートに示す処理(メインルーチン処理)を実行する。
 まず、STEP1において、制御ユニット50は、傾斜センサ52の出力を取得する。
 次いで、STEP2に進んで、制御ユニット50は、取得した傾斜センサ52の出力を基に、基体傾斜角度θbの計測値θb_xy_sと、基体傾斜角速度θbdotの計測値θbdot_xy_sとを算出する。
 なお、以降の説明では、上記計測値θb_xy_sなど、変数(状態量)の実際の値の観測値(計測値又は推定値)を参照符号により表記する場合に、該変数の参照符号に、添え字“_s”を付加する。
 次いで、制御ユニット50は、STEP3において、荷重センサ54の出力を取得した後、STEP4の判断処理を実行する。この判断処理においては、制御ユニット50は、取得した荷重センサ54の出力が示す荷重計測値があらかじめ設定された所定値よりも大きいか否かによって、車両1に乗員が搭乗しているか否か(シート3に乗員が着座しているか否か)を判断する。
 そして、制御ユニット50は、STEP4の判断結果が肯定的である場合には、基体傾斜角度θbの目標値θb_xy_objを設定する処理と、車両1の動作制御用の定数パラメータ(各種ゲインの基本値など)の値を設定する処理とを、それぞれSTEP5、6で実行する。
 STEP5においては、制御ユニット50は、基体傾斜角度θbの目標値θb_xy_objとして、あらかじめ定められた搭乗モード用の目標値を設定する。
 ここで、「搭乗モード」は、車両1に乗員が搭乗している場合での車両1の動作モードを意味する。この搭乗モード用の目標値θb_xy_objは、車両1とシート3に着座した乗員との全体の重心点(以降、車両・乗員全体重心点という)が車輪体5の接地面のほぼ真上に位置する状態となる基体9の姿勢において、傾斜センサ52の出力に基づき計測される基体傾斜角度θbの計測値θb_xy_sに一致又はほぼ一致するようにあらかじめ設定されている。
 また、STEP6においては、制御ユニット50は、車両1の動作制御用の定数パラメータの値として、あらかじめ定められた搭乗モード用の値を設定する。なお、定数パラメータは、後述するhx,hy,Ki_a_x,Ki_b_x,Ki_a_y,Ki_b_y(i=1,2,3)等である。
 一方、STEP4の判断結果が否定的である場合には、制御ユニット50は、基体傾斜角度θb_xyの目標値θb_xy_objを設定する処理と、車両1の動作制御用の定数パラメータの値を設定する処理とを、STEP7、8で実行する。
 STEP7においては、制御ユニット50は、傾斜角度θbの目標値θb_xy_objとして、あらかじめ定められた自立モード用の目標値を設定する。
 ここで、「自立モード」は、車両1に乗員が搭乗していない場合での車両1の動作モードを意味する。この自立モード用の目標値θb_xy_objは、車両1単体の重心点(以降、車両単体重心点という)が車輪体5の接地面のほぼ真上に位置する状態となる基体9の姿勢において、傾斜センサ52の出力に基づき計測される基体傾斜角度θbの計測値θb_xy_sに一致又はほぼ一致するようにあらかじめ設定されている。この自立モード用の目標値θb_xy_objは、搭乗モード用の目標値θb_xy_objと一般的には異なる。
 また、STEP8においては、制御ユニット50は、車両1の動作制御用の定数パラメータの値として、あらかじめ定められた自立モード用の値を設定する。この自立モード用の定数パラメータの値は、搭乗モード用の定数パラメータの値と異なる。
 搭乗モードと自立モードとで、上記定数パラメータの値を異ならせるのは、それぞれのモードで上記重心点の高さや、全体質量等が異なることに起因して、制御入力に対する車両1の動作の応答特性が互いに異なるからである。
 以上のSTEP4~8の処理によって、搭乗モード及び自立モードの各動作モード毎に各別に、基体傾斜角度θb_xyの目標値θb_xy_objと定数パラメータの値とが設定される。
 なお、STEP5,6の処理、又はSTEP7,8の処理は、制御処理周期毎に実行することは必須ではなく、STEP4の判断結果が変化した場合にだけ実行するようにしてもよい。
 補足すると、搭乗モード及び自立モードのいずれにおいても、基体傾斜角速度θbdotのY軸周り方向の成分θbdot_xの目標値とX軸周り方向の成分θbdot_yの目標値とは、いずれも“0”である。このため、基体傾斜角速度θbdot_xyの目標値を設定する処理は不要である。
 以上の如くSTEP5,6の処理、又はSTEP7,8の処理を実行した後、制御ユニット50は、次にSTEP9において、車両制御演算処理を実行することによって、電動モータ31R,31Lのそれぞれの速度指令を決定する。この車両制御演算処理の詳細は後述する。
 次いで、STEP10に進んで、制御ユニット50は、STEP9で決定した速度指令に応じて電動モータ31R,31Lの動作制御処理を実行する。この動作制御処理では、制御ユニット50は、STEP9で決定した電動モータ31Rの速度指令と、ロータリエンコーダ56Rの出力に基づき計測した電動モータ31Rの回転速度の計測値との偏差に応じて、該偏差を“0”に収束させるように電動モータ31Rの出力トルクの目標値(目標トルク)を決定する。そして、制御ユニット50は、その目標トルクの出力トルクを電動モータ31Rに出力させるように該電動モータ31Rの通電電流を制御する。左側の電動モータ31Lの動作制御についても同様である。
 以上が、制御ユニット50が実行する全体的な制御処理である。
 次に、上記STEP9の車両制御演算処理の詳細を説明する。
 なお、以降の説明においては、前記搭乗モードにおける車両・乗員全体重心点と、前記自立モードにおける車両単体重心点とを総称的に、車両系重心点という。該車両系重心点は、車両1の動作モードが搭乗モードである場合には、車両・乗員全体重心点を意味し、自立モードである場合には、車両単体重心点を意味する。
 また、以降の説明では、制御ユニット50が各制御処理周期で決定する値(更新する値)に関し、現在の(最新の)制御処理周期で決定する値を今回値、その1つ前の制御処理周期で決定した値を前回値ということがある。そして、今回値、前回値を特にことわらない値は、今回値を意味する。
 また、X軸方向の速度及び加速度に関しては、前方向きを正の向きとし、Y軸方向の速度及び加速度に関しては、左向きを正の向きとする。
 本実施形態では、前記車両系重心点の動力学的な挙動(詳しくは、Y軸方向からこれに直交する面(XZ平面)に投影して見た挙動と、X軸方向からこれに直交する面(YZ平面)に投影して見た挙動)が、近似的に、図8に示すような、倒立振子モデルの挙動(倒立振子の動力学的挙動)によって表現されるものとして、STEP9の車両制御演算処理が行なわれる。
 なお、図8において、括弧を付していない参照符号は、Y軸方向から見た倒立振子モデルに対応する参照符号であり、括弧付きの参照符号は、X軸方向から見た倒立振子モデルに対応する参照符号である。
 この場合、Y軸方向から見た挙動を表現する倒立振子モデルは、車両系重心点に位置する質点60_xと、Y軸方向に平行な回転軸62a_xを有して床面上を輪転自在な仮想的な車輪62_x(以降、仮想車輪62_xという)とを備える。そして、質点60_xが、仮想車輪62_xの回転軸62a_xに直線状のロッド64_xを介して支持され、該回転軸62a_xを支点として該回転軸62a_xの周りに揺動自在とされている。
 この倒立振子モデルでは、質点60_xの運動が、Y軸方向から見た車両系重心点の運動に相当する。また、鉛直方向に対するロッド64_xの傾斜角度θbe_xがY軸周り方向での基体傾斜角度計測値θb_x_sと基体傾斜角度目標値θb_x_objとの偏差θbe_x_s(=θb_x_s-θb_x_obj)に一致するものとされる。また、ロッド64_xの傾斜角度θbe_xの変化速度(=dθbe_x/dt)がY軸周り方向の基体傾斜角速度計測値θbdot_x_sに一致するものとされる。また、仮想車輪62_xの移動速度Vw_x(X軸方向の並進移動速度)は、車両1の車輪体5のX軸方向の移動速度に一致するものとされる。
 同様に、X軸方向から見た挙動を表現する倒立振子モデル(図8の括弧付きの符号を参照)は、車両系重心点に位置する質点60_yと、X軸方向に平行な回転軸62a_yを有して床面上を輪転自在な仮想的な車輪62_y(以降、仮想車輪62_yという)とを備える。そして、質点60_yが、仮想車輪62_yの回転軸62a_yに直線状のロッド64_yを介して支持され、該回転軸62a_yを支点として該回転軸62a_yの周りに揺動自在とされている。
 この倒立振子モデルでは、質点60_yの運動が、X軸方向から見た車両系重心点の運動に相当する。また、鉛直方向に対するロッド64_yの傾斜角度θbe_yがX軸周り方向での基体傾斜角度計測値θb_y_sと基体傾斜角度目標値θb_y_objとの偏差θbe_y_s(=θb_y_s-θb_y_obj)に一致するものとされる。また、ロッド64_yの傾斜角度θbe_yの変化速度(=dθbe_y/dt)がX軸周り方向の基体傾斜角速度計測値θbdot_y_sに一致するものとされる。また、仮想車輪62_yの移動速度Vw_y(Y軸方向の並進移動速度)は、車両1の車輪体5のY軸方向の移動速度に一致するものとされる。
 なお、仮想車輪62_x,62_yは、それぞれ、あらかじめ定められた所定値Rw_x,Rw_yの半径を有するものとされる。
 また、仮想車輪62_x,62_yのそれぞれの回転角速度ωw_x,ωw_yと、電動モータ31R,31Lのそれぞれの回転角速度ω_R,ω_L(より正確には、回転部材27R,27Lのそれぞれの回転角速度ω_R,ω_L)との間には、次式01a,01bの関係が成立するものとされる。
 
ωw_x=(ω_R+ω_L)/2  ……式01a
ωw_y=C・(ω_R-ω_L)/2  ……式01b
 
 なお、式01bにおける“C”は、前記フリーローラ29R,29Lと車輪体5との間の機構的な関係や滑りに依存する所定値の係数である。また、ωw_x,ω_R,ω_Lの正の向きは、仮想車輪62_xが前方に向かって輪転する場合の該仮想車輪62_xの回転方向、ωw_yの正の向きは、仮想車輪62_yが左向きに輪転する場合の該仮想車輪62_yの回転方向である。
 ここで、図8に示す倒立振子モデルの動力学は、次式03x,03yにより表現される。なお、式03xは、Y軸方向から見た倒立振子モデルの動力学を表現する式、式03yは、X軸方向から見た倒立振子モデルの動力学を表現する式である。
 
2θbe_x/dt2=α_x・θbe_x+β_x・ωwdot_x  ……式03x
2θbe_y/dt2=α_y・θbe_y+β_y・ωwdot_y  ……式03y
 
 式03xにおけるωwdot_xは仮想車輪62_xの回転角加速度(回転角速度ωw_xの1階微分値)、α_xは、質点60_xの質量や高さh_xに依存する係数、β_xは、仮想車輪62_xのイナーシャ(慣性モーメント)や半径Rw_xに依存する係数である。式03yにおけるωwdot_y、α_y、β_yについても上記と同様である。
 これらの式03x,03yから判るように、倒立振子の質点60_x,60_yの運動(ひいては車両系重心点の運動)は、それぞれ、仮想車輪62_xの回転角加速度ωwdot_x、仮想車輪62_yの回転角加速度ωwdot_yに依存して規定される。
 そこで、本実施形態では、Y軸方向から見た車両系重心点の運動を制御するための操作量(制御入力)として、仮想車輪62_xの回転角加速度ωwdot_xを用いると共に、X軸方向から見た車両系重心点の運動を制御するための操作量(制御入力)として、仮想車輪62_yの回転角加速度ωwdot_yを用いる。
 そして、STEP9の車両制御演算処理を概略的に説明すると、制御ユニット50は、X軸方向で見た質点60_xの運動と、Y軸方向で見た質点60_yの運動とが、車両系重心点の所望の運動に対応する運動となるように、操作量としての上記回転角加速度ωwdot_x,ωwdot_yの指令値(目標値)である仮想車輪回転角加速度指令ωwdot_x_cmd,ωwdot_y_cmdを決定する。さらに、制御ユニット50は、仮想車輪回転角加速度指令ωwdot_x_cmd,ωwdot_y_cmdをそれぞれ積分してなる値を、仮想車輪62_x,62_yのそれぞれの回転角速度ωw_x,ωw_yの指令値(目標値)である仮想車輪回転角速度指令ωw_x_cmd,ωw_y_cmdとして決定する。
 そして、制御ユニット50は、仮想車輪回転角速度指令ωw_x_cmdに対応する仮想車輪62_xの移動速度(=Rw_x・ωw_x_cmd)と、仮想車輪回転角速度指令ωw_y_cmdに対応する仮想車輪62_yの移動速度(=Rw_y・ωw_y_cmd)とを、それぞれ、車両1の車輪体5のX軸方向の目標移動速度、Y軸方向の目標移動速度とし、それらの目標移動速度を実現するように、電動モータ31R,31Lのそれぞれの速度指令ω_R_cmd,ωL_cmdを決定する。
 なお、本実施形態では、操作量(制御入力)としての上記仮想車輪回転角加速度指令ωwdot_x_cmd,ωwdot_y_cmdは、それぞれ、後述する式07x,07yに示す如く、3個の操作量成分を加え合わせることによって決定される。
 補足すると、本実施形態における操作量(制御入力)としての上記仮想車輪回転角加速度指令ωwdot_x_cmd,ωwdot_y_cmdのうち、ωwdot_x_cmdは、X軸方向に移動する仮想車輪62_xの回転角速度であるから、車輪体5をX軸方向に移動させるために該車輪体5に付与すべき駆動力を規定する操作量として機能するものとなる。また、ωwdot_y_cmdは、Y軸方向に移動する仮想車輪62_yの回転角速度であるから、車輪体5をY軸方向に移動させるために該車輪体5に付与すべき駆動力を規定する操作量として機能するものとなる。
 制御ユニット50は、上記の如き、STEP9の車両制御演算処理を実行するための機能として、図9のブロック図で示す機能を備えている。
 すなわち、制御ユニット50は、基体傾斜角度計測値θb_xy_sと基体傾斜角度目標値θb_xy_objとの偏差である基体傾斜角度偏差計測値θbe_xy_sを算出する偏差演算部70と、前記車両系重心点の移動速度である重心速度Vb_xyの観測値としての重心速度推定値Vb_xy_sを算出する重心速度算出部72と、乗員等による車両1の操縦操作(車両1に推進力を付加する操作)によって要求されていると推定される上記重心速度Vb_xyの要求値としての要求重心速度V_xy_aimを生成する要求重心速度生成部74と、これらの重心速度推定値Vb_xy_s及び要求重心速度V_xy_aimから、電動モータ31R,31Lの回転角速度の許容範囲に応じた制限を加味して、重心速度Vb_xyの目標値としての制御用目標重心速度Vb_xy_mdfdを決定する重心速度制限部76と、後述する式07x,07yのゲイン係数の値を調整するためのゲイン調整パラメータKr_xyを決定するゲイン調整部78とを備える。
 制御ユニット50は、さらに、前記仮想車輪回転角速度指令ωw_xy_cmdを算出する姿勢制御演算部80と、この仮想車輪回転角速度指令ωw_xy_cmdを、右側の電動モータ31Rの速度指令ω_R_cmd(回転角速度の指令値)と左側の電動モータ31Lの速度指令ω_L_cmd(回転角速度の指令値)との組に変換するモータ指令演算部82とを備える。
 なお、図9中の参照符号84を付したものは、姿勢制御演算部70が制御処理周期毎に算出する仮想車輪回転角速度指令ωw_xy_cmdを入力する遅延要素を示している。該遅延要素84は、各制御処理周期において、仮想車輪回転角速度指令ωw_xy_cmdの前回値ωw_xy_cmd_pを出力する。
 前記STEP9の車両制御演算処理では、これらの上記の各処理部の処理が以下に説明するように実行される。
 すなわち、制御ユニット50は、まず、偏差演算部70の処理と重心速度算出部72の処理とを実行する。
 偏差演算部70には、前記STEP2で算出された基体傾斜角度計測値θb_xy_s(θb_x_s及びθb_y_s)と、前記STEP5又はSTEP7で設定された目標値θb_xy_obj(θb_x_obj及びθb_y_obj)とが入力される。そして、偏差演算部70は、θb_x_sからθb_x_objを減算することによって、Y軸周り方向の基体傾斜角度偏差計測値θbe_x_s(=θb_x_s-θb_x_obj)を算出すると共に、θb_y_sからθb_y_objを減算することによって、X軸周り方向の基体傾斜角度偏差計測値θbe_y_s(=θb_y_s-θb_y_obj)を算出する。
 なお、偏差演算部70の処理は、STEP9の車両制御演算処理の前に行なうようにしてもよい。例えば、前記STEP5又は7の処理の中で、偏差演算部70の処理を実行してもよい。
 前記重心速度算出部72には、前記STEP2で算出された基体傾斜角速度計測値θbdot_xy_s(θbdot_x_s及びθbdot_y_s)の今回値が入力されると共に、仮想車輪速度指令ωw_xy_cmdの前回値ωw_xy_cmd_p(ωw_x_cmd_p及びωw_y_cmd_p)が遅延要素84から入力される。そして、重心速度算出部72は、これらの入力値から、前記倒立振子モデルに基づく所定の演算式によって、重心速度推定値Vb_xy_s(Vb_x_s及びVb_y_s)を算出する。
 具体的には、重心速度算出部72は、次式05x,05yにより、Vb_x_s及びVb_y_sをそれぞれ算出する。
 
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
 
 これらの式05x,05yにおいて、Rw_x,Rw_yは、前記したように、仮想車輪62_x,62_yのそれぞれの半径であり、これらの値は、あらかじめ設定された所定値である。また、h_x,h_yは、それぞれ倒立振子モデルの質点60_x,60_yの高さである。この場合、本実施形態では、車両系重心点の高さは、ほぼ一定に維持されるものとされる。そこで、h_x,h_yの値としては、それぞれ、あらかじめ設定された所定値が用いられる。補足すると、高さh_x,h_yは、前記STEP6又は8において値を設定する定数パラメータに含まれるものである。
 上記式05xの右辺の第1項は、仮想車輪62_xの速度指令の前回値ωw_x_cmd_pに対応する該仮想車輪62_xのX軸方向の移動速度であり、この移動速度は、車輪体5のX軸方向の実際の移動速度の現在値に相当するものである。また、式05xの右辺の第2項は、基体9がY軸周り方向にθbdot_x_sの傾斜角速度で傾動することに起因して生じる車両系重心点のX軸方向の移動速度(車輪体5に対する相対的な移動速度)の現在値に相当するものである。これらのことは、式05yについても同様である。
 なお、前記ロータリエンコーダ56R,56Lの出力を基に計測される電動モータ31R,31Lのそれぞれの回転角速度の計測値(今回値)の組を、仮想車輪62_x,62_yのそれぞれの回転角速度の組に変換し、それらの回転角速度を、式05x、05yのωw_x_cmd_p、ωw_y_cmd_pの代わりに用いてもよい。ただし、回転角速度の計測値に含まれるノイズの影響を排除する上では、目標値であるωw_x_cmd_p、ωw_y_cmd_pを使用することが有利である。
 次に、制御ユニット50は、要求重心速度生成部74の処理とゲイン調整部78の処理とを実行する。この場合、要求重心速度生成部74及びゲイン調整部78には、それぞれ、重心速度算出部72で上記の如く算出された重心速度推定値Vb_xy_s(Vb_x_s及びVb_y_s)が入力される。
 そして、要求重心速度生成部74は、詳細は後述するが、車両1の動作モードが搭乗モードである場合に、入力された重心速度推定値Vb_xy_s(Vb_x_s及びVb_y_s)を基に、要求重心速度V_xy_aim(V_x_aim,V_y_aim)を決定する。なお、本実施形態では、車両1の動作モードが自立モードである場合には、要求重心速度生成部74は、要求重心速度V_x_aim及びV_y_aimをいずれも“0”とする。
 また、ゲイン調整部78は、入力された重心速度推定値Vb_xy_s(Vb_x_s及びVb_y_s)を基に、前記ゲイン調整パラメータKr_xy(Kr_x及びKr_y)を決定する。
 このゲイン調整部78の処理を図10及び図11を参照して以下に説明する。
 図10に示すように、ゲイン調整部78は、入力された重心速度推定値Vb_x_s,Vb_y_sをリミット処理部86に入力する。このリミット処理部86では、重心速度推定値Vb_x_s,Vb_y_sに、電動モータ31R,31Lのそれぞれの回転角速度の許容範囲に応じた制限を適宜、加えることによって、出力値Vw_x_lim1,Vw_y_lim1を生成する。出力値Vw_x_lim1は、前記仮想車輪62_xのX軸方向の移動速度Vw_xの制限後の値、出力値Vw_y_lim1は、前記仮想車輪62_yのY軸方向の移動速度Vw_yの制限後の値としての意味を持つ。
 このリミット処理部86の処理を、図11を参照してさらに詳細に説明する。なお、図11中の括弧付きの参照符号は、後述する重心速度制限部76のリミット処理部104の処理を示すものであり、リミット処理部86の処理に関する説明では無視してよい。
 リミット処理部86は、まず、重心速度推定値Vb_x_s,Vb_y_sをそれぞれ処理部86a_x,86a_yに入力する。処理部86a_xは、Vb_x_sを仮想車輪62_xの半径Rw_xで除算することによって、仮想車輪62_xのX軸方向の移動速度をVb_x_sに一致させたと仮定した場合の該仮想車輪62_xの回転角速度ωw_x_sを算出する。同様に、処理部86a_yは、仮想車輪62_yのY軸方向の移動速度をVb_y_sに一致させたと仮定した場合の該仮想車輪62_yの回転角速度ωw_y_s(=Vb_y_s/Rw_y)を算出する。
 次いで、リミット処理部86は、ωw_x_s,ωw_y_sの組を、XY-RL変換部86bにより、電動モータ31Rの回転角速度ω_R_sと電動モータ31Lの回転角速度ω_L_sとの組に変換する。
 この変換は、本実施形態では、前記式01a,01bのωw_x,ωw_y,ω_R,ω_Lをそれぞれ、ωw_x_s,ωw_y_s,ω_R_s,ω_L_sに置き換えて得られる連立方程式を、ω_R_s,ω_L_sを未知数として解くことにより行なわれる。
 次いで、リミット処理部86は、XY-RL変換部86bの出力値ω_R_s,ω_L_sをそれぞれ、リミッタ86c_R,86c_Lに入力する。このとき、リミッタ86c_Rは、ω_R_sが、あらかじめ設定された所定値の上限値(>0)と下限値(<0)とを有する右モータ用許容範囲内に収まっている場合には、ω_R_sをそのまま出力値ω_R_lim1として出力する。また、リミッタ86c_Rは、ω_R_sが、右モータ用許容範囲から逸脱している場合には、該右モータ用許容範囲の上限値と下限値とのうちのω_R_sに近い方の境界値を出力値ω_R_lim1として出力する。これにより、リミッタ86c_Rの出力値ω_R_lim1は、右モータ用許容範囲内の値に制限される。
 同様に、リミッタ86c_Lは、ω_L_sが、あらかじめ設定された所定値の上限値(>0)と下限値(<0)とを有する左モータ用許容範囲内に収まっている場合には、ω_L_sをそのまま出力値ω_L_lim1として出力する。また、リミッタ86c_Lは、ω_L_sが、左モータ用許容範囲から逸脱している場合には、該左モータ用許容範囲の上限値と下限値とのうちのω_L_sに近い方の境界値を出力値ω_L_lim1として出力する。これにより、リミッタ86c_Lの出力値ω_L_lim1は、左モータ用許容範囲内の値に制限される。
 上記右モータ用許容範囲は右側の電動モータ31Rの回転角速度(絶対値)が高くなり過ぎないようにし、ひいては、電動モータ31Rが出力可能なトルクの最大値が低下するのを防止するために設定された許容範囲である。このことは、左モータ用許容範囲についても同様である。
 次いで、リミット処理部86は、リミッタ86c_R,86c_Lのそれぞれの出力値ω_R_lim1,ω_L_lim1の組を、RL-XY変換部86dにより、仮想車輪62_x,62_yのそれぞれの回転角速度ωw_x_lim1,ωw_y_lim1の組に変換する。
 この変換は、前記XY-RL変換部86bの変換処理の逆変換の処理である。この処理は、前記式01a,01bのωw_x,ωw_y,ω_R,ω_Lをそれぞれ、ωw_x_lim1,ωw_y_lim1,ω_R_lim1,ω_L_lim1に置き換えて得られる連立方程式を、ωw_x_lim1,ωw_y_lim1を未知数として解くことにより行なわれる。
 次いで、リミット処理部86は、RL-XY変換部86dの出力値ωw_x_lim1,ωw_y_lim1をそれぞれ処理部86e_x,86e_yに入力する。処理部86e_xは、ωw_x_lim1に仮想車輪62_xの半径Rw_xを乗じることによって、ωw_x_lim1を仮想車輪62_xの移動速度Vw_x_lim1に変換する。同様に、処理部86e_yは、ωw_y_lim1を仮想車輪62_yの移動速度Vw_y_lim1(=ωw_y_lim1・Rw_y)に変換する。
 以上のリミット処理部86の処理によって、仮想車輪62_xのX軸方向の移動速度Vw_xと、仮想車輪62_yのY軸方向の移動速度Vw_yとをそれぞれ重心速度推定値Vb_x_s,Vb_y_sに一致させたと仮定した場合(換言すれば、車輪体5のX軸方向の移動速度とY軸方向の移動速度とをそれぞれ、Vb_x_s,Vb_y_sに一致させたと仮定した場合)に、それらの移動速度を実現するために必要な電動モータ31R,31Lのそれぞれの回転角速度ω_R_s,ω_L_sが、両方とも、許容範囲内に収まっている場合には、Vb_x_s,Vb_y_sにそれぞれ一致する出力値Vw_x_lim1,Vw_y_lim1の組がリミット処理部86から出力される。
 一方、電動モータ31R,31Lのそれぞれの回転角速度ω_R_s,ω_L_sの両方又は一方が許容範囲から逸脱している場合には、その両方又は一方の回転角速度が強制的に許容範囲内に制限された上で、その制限後の電動モータ31R,31Lのそれぞれの回転角速度ω_R_lim1,ω_L_lim1の組に対応する、X軸方向及びY軸方向の移動速度Vw_x_lim1,Vw_y_lim1の組がリミット処理部86から出力される。
 従って、リミット処理部86は、その出力値Vw_x_lim1,Vw_y_lim1の組に対応する電動モータ31R,31Lのそれぞれの回転角速度が許容範囲を逸脱しないことを必須の必要条件として、その必要条件下で可能な限り、出力値Vw_x_lim1,Vw_y_lim1をそれぞれVb_x_s,Vb_y_sに一致させるように、出力値Vw_x_lim1,Vw_y_lim1の組を生成する。
 図10の説明に戻って、ゲイン調整部78は、次に、演算部88_x,88_yの処理を実行する。演算部88_xには、X軸方向の重心速度推定値Vb_x_sと、リミット処理部86の出力値Vw_x_lim1とが入力される。そして、演算部88_xは、Vw_x_lim1からVb_x_sを減算してなる値Vover_xを算出して出力する。また、演算部88_yには、Y軸方向の重心速度推定値Vb_y_sと、リミット処理部86の出力値Vw_y_lim1とが入力される。そして、演算部88_yは、Vw_y_lim1からVb_y_sを減算してなる値Vover_yを算出して出力する。
 この場合、リミット処理部86での出力値Vw_x_lim1,Vw_y_lim1の強制的な制限が行なわれなかった場合には、Vw_x_lim1=Vb_x_s、Vw_y_lim1=Vb_y_sとなるので、演算部88_x,88_yのそれぞれの出力値Vover_x,Vover_yはいずれも“0”となる。
 一方、リミット処理部86の出力値Vw_x_lim1,Vw_y_lim1が、入力値Vb_x_s,Vb_y_sに対して強制的な制限を施して生成された場合には、Vw_x_lim1のVb_x_sからの修正量(=Vw_x_lim1-Vb_x_s)と、Vw_y_lim1のVb_y_sからの修正量(=Vw_y_lim1-Vb_y_s)とがそれぞれ、演算部88_x,88_yから出力される。
 次いで、ゲイン調整部78は、演算部88_xの出力値Vover_xを処理部90_x,92_xに順番に通すことによって、ゲイン調整パラメータKr_xを決定する。また、ゲイン調整部78は、演算部88_yの出力値Vover_yを処理部90_y,92_yに順番に通すことによって、ゲイン調整パラメータKr_yを決定する。なお、ゲイン調整パラメータKr_x,Kr_yは、いずれも“0”から“1”までの範囲内の値である。
 上記処理部90_xは、入力されるVover_xの絶対値を算出して出力する。また、処理部92_xは、その出力値Kr_xが入力値|Vover_x|に対して単調に増加し、且つ、飽和特性を有するようにKr_xを生成する。該飽和特性は、入力値がある程度大きくなると、入力値の増加に対する出力値の変化量が“0”になるか、もしくは、“0”に近づく特性である。
 この場合、本実施形態では、処理部92_xは、入力値|Vover_x|があらかじめ設定された所定値以下である場合には、該入力値|Vover_x|に所定値の比例係数を乗じてなる値をKr_xとして出力する。また、処理部92_xは、入力値|Vover_x|が所定値よりも大きい場合には、“1”をKr_xとして出力する。なお、上記比例係数は、|Vover_x|が所定値に一致するときに、|Vover_x|と比例係数との積が“1”になるように設定されている。
 また、処理部90_y,92_yの処理は、それぞれ上記した処理部90_x,92_xの処理と同様である。
 以上説明したゲイン調整部78の処理によって、リミット処理部86での出力値Vw_x_lim1,Vw_y_lim1の強制的な制限が行なわれなかった場合、すなわち、車輪体5のX軸方向及びY軸方向のそれぞれの移動速度Vw_x,Vw_yを、それぞれ、重心速度推定値Vb_x_s,Vb_y_sに一致させるように電動モータ31R,31Lを動作させても、電動モータ31R,31Lのそれぞれの回転角速度が許容範囲内に収まるような場合には、ゲイン調整パラメータKr_x,Kr_yはいずれも“0”に決定される。
 一方、リミット処理部86の出力値Vw_x_lim1,Vw_y_lim1が、入力値Vb_x_s,Vb_y_sに対して強制的な制限を施して生成された場合、すなわち、車輪体5のX軸方向及びY軸方向のそれぞれの移動速度Vw_x,Vw_yを、それぞれ、重心速度推定値Vb_x_s,Vb_y_sに一致させるように電動モータ31R,31Lを動作させると、電動モータ31R,31Lのいずれかの回転角速度が許容範囲を逸脱してしまう場合(いずれかの回転角速度の絶対値が高くなり過ぎる場合)には、前記修正量Vover_x,Vover_yのそれぞれの絶対値に応じて、ゲイン調整パラメータKr_x,Kr_yの値がそれぞれ決定される。この場合、Kr_xは、“1”を上限値して、修正量Vx_overの絶対値が大きいほど、大きな値になるように決定される。このことは、Kr_yについても同様である。
 図9の説明に戻って、制御ユニット50は、重心速度算出部72及び要求重心速度生成部74の処理を前記した如く実行した後、次に、重心速度制限部76の処理を実行する。
 この重心速度制限部76には、重心速度算出部72で算出された重心速度推定値Vb_xy_s(Vb_x_s及びVb_y_s)と、要求重心速度生成部74で決定された要求重心速度Vb_xy_aim(Vb_x_aim及びVb_y_aim)とが入力される。そして、重心速度制限部76は、これらの入力値を使用して、図12のブロック図で示す処理を実行することによって、制御用目標重心速度Vb_xy_mdfd(Vb_x_mdfd及びVb_y_mdfd)を決定する。
 具体的には、重心速度制限部76は、まず、定常偏差算出部94_x,94_yの処理を実行する。
 この場合、定常偏差算出部94_xには、X軸方向の重心速度推定値Vb_x_sが入力されると共に、X軸方向の制御用目標重心速度Vb_x_mdfdの前回値Vb_x_mdfd_pが遅延要素96_xを介して入力される。そして、定常偏差算出部94_xは、まず、入力されるVb_x_sが比例・微分補償要素(PD補償要素)94a_xに入力する。この比例・微分補償要素94_xは、その伝達関数が1+Kd・Sにより表される補償要素であり、入力されるVb_x_sと、その微分値(時間的変化率)に所定値の係数Kdを乗じてなる値とを加算し、その加算結果の値を出力する。
 次いで、定常偏差算出部94_xは、入力されるVb_x_mdfd_pを、比例・微分補償要素94_xの出力値から減算してなる値を演算部94b_xにより算出した後、この演算部94b_xの出力値を、位相補償機能を有するローパスフィルタ94c_xに入力する。このローパスフィルタ94c_xは、伝達関数が(1+T2・S)/(1+T1・S)により表されるフィルタである。そして、定常偏差算出部94_xは、このローパスフィルタ94c_xの出力値Vb_x_prdを出力する。
 また、定常偏差算出部94_yには、Y軸方向の重心速度推定値Vb_y_sが入力されると共に、Y軸方向の制御用目標重心速度Vb_y_mdfdの前回値Vb_y_mdfd_pが遅延要素96_yを介して入力される。
 そして、定常偏差算出部94_yは、上記した定常偏差算出部94_xと同様に、比例・微分補償要素94a_y、演算部94b_y及びローパスフィルタ94c_yの処理を順次実行し、ローパスフィルタ94c_yの出力値Vb_y_prdを出力する。
 ここで、定常偏差算出部94_xの出力値Vb_x_prdは、Y軸方向から見た車両系重心点の現在の運動状態(換言すればY軸方向から見た倒立振子モデルの質点60_xの運動状態)から推測される、将来のX軸方向の重心速度推定値の収束予測値の制御用目標重心速度Vb_x_mdfdに対する定常偏差としての意味を持つものである。同様に、定常偏差算出部94_y出力値Vb_y_prdは、X軸方向から見た車両系重心点の現在の運動状態(換言すればX軸方向から見た倒立振子モデルの質点60_yの運動状態)から推測される、将来のY軸方向の重心速度推定値の収束予測値の制御用目標重心速度Vb_y_mdfdに対する定常偏差としての意味を持つものである。以降、定常偏差算出部94_x,94_yのそれぞれの出力値Vb_x_prd,Vb_y_prdを重心速度定常偏差予測値という。
 重心速度制限部76は、上記の如く定常偏差算出部94_x,94_yの処理を実行した後、定常偏差算出部94_xの出力値Vb_x_prdに要求重心速度Vb_x_aimを加算する処理と、定常偏差算出部94_yの出力値Vb_y_prdに要求重心速度Vb_y_aimを加算する処理とをそれぞれ、演算部98_x,98_yにより実行する。
 従って、演算部98_xの出力値Vb_x_tは、X軸方向の重心速度定常偏差予測値Vb_x_prdに、X軸方向の要求重心速度Vb_x_aimを付加した速度となる。同様に、演算部98_yの出力値Vb_y_tは、Y軸方向の重心速度定常偏差予測値Vb_y_prdに、Y軸方向の要求重心速度Vb_y_aimを付加した速度となる。
 なお、車両1の動作モードが自立モードである場合等、X軸方向の要求重心速度Vb_x_aimが“0”である場合には、X軸方向の重心速度定常偏差予測値Vb_x_prdがそのまま、演算部98_xの出力値Vb_x_tとなる。同様に、Y軸方向の要求重心速度Vb_y_aimが“0”である場合には、Y軸方向の重心速度定常偏差予測値Vb_y_prdがそのまま、演算部98_yの出力値Vb_y_tとなる。
 次いで、重心速度制限部76は、演算部98_x,98_yのそれぞれの出力値Vb_x_t,Vb_y_tを、リミット処理部100に入力する。このリミット処理部100の処理は、前記したゲイン調整部78のリミット処理部86の処理と同じである。この場合、図11に括弧付きに参照符号で示す如く、リミット処理部100の各処理部の入力値及び出力値だけがリミット処理部86と相違する。
 具体的には、リミット処理部100では、前記仮想車輪62_x,62_yのそれぞれの移動速度Vw_x,Vw_yを、Vb_x_t,Vb_y_tにそれぞれ一致させたと仮定した場合の各仮想車輪62_x,62_yの回転角速度ωw_x_t,ωw_y_tがそれぞれ処理部86a_x,86a_yにより算出される。そして、この回転角速度ωw_x_t,ωw_y_tの組が、XY-RL変換部86bにより、電動モータ31R,31Lの回転角速度ω_R_t,ω_L_tの組に変換される。
 さらに、これらの回転角速度ω_R_t,ω_L_tが、リミッタ86c_R,86c_Lによって、それぞれ、右モータ用許容範囲内の値と左モータ用許容範囲内の値とに制限される。そして、この制限処理後の値ω_R_lim2,ω_L_lim2が、RL-XY変換部86dによって、仮想車輪62_x,62_yの回転角速度ωw_x_lim2,ωw_y_lim2に変換される。
 次いで、この各回転角速度ωw_x_lim2,ωw_y_lim2に対応する各仮想車輪62_x,62_yの移動速度Vw_x_lim2,Vw_y_lim2がそれぞれ処理部86e_x,86e_yによって算出され、これらの移動速度Vw_x_lim2,Vw_y_lim2がリミット処理部100から出力される。
 以上のリミット処理部100の処理によって、リミット処理部100は、リミット処理部86と同様に、その出力値Vw_x_lim2,Vw_y_lim2の組に対応する電動モータ31R,31Lのそれぞれの回転角速度が許容範囲を逸脱しないことを必須の必要条件として、その必要条件下で可能な限り、出力値Vw_x_lim2,Vw_y_lim2をそれぞれVb_x_t,Vb_y_tに一致させるように、出力値Vw_x_lim2,Vw_y_lim2の組を生成する。
 なお、リミット処理部100における右モータ用及び左モータ用の各許容範囲は、リミット処理部86における各許容範囲と同一である必要はなく、互いに異なる許容範囲に設定されていてもよい。
 図12の説明に戻って、重心速度制限部76は、次に、演算部102_x,102_yの処理を実行することによって、それぞれ制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdを算出する。この場合、演算部102_xは、リミット処理部100の出力値Vw_x_lim2から、X軸方向の重心速度定常偏差予測値Vb_x_prdを減算してなる値をX軸方向の制御用目標重心速度Vb_x_mdfdとして算出する。同様に、演算部102_yは、リミット処理部100の出力値Vw_y_lim2から、Y軸方向の重心速度定常偏差予測値Vb_y_prdを減算してなる値をY軸方向の制御用目標重心速度Vb_y_mdfdとして算出する。
 以上のようにして決定される制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdは、リミット処理部100での出力値V_x_lim2,V_y_lim2の強制的な制限が行なわれなかった場合、すなわち、車輪体5のX軸方向及びY軸方向のそれぞれの移動速度を、それぞれ、演算部98_xの出力値Vb_x_tと演算部98_yの出力値Vb_y_tとに一致させるように電動モータ31R,31Lを動作させても、電動モータ31R,31Lのそれぞれの回転角速度が許容範囲内に収まるような場合には、要求重心速度Vb_x_aim,Vb_y_aimがそれぞれ、そのまま、制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdとして決定される。
 なお、この場合、X軸方向の要求重心速度Vb_x_aimが“0”であれば、X軸方向の制御用目標重心速度Vb_x_mdfdも“0”となり、Y軸方向の要求重心速度Vb_y_aimが“0”であれば、Y軸方向の制御用目標重心速度Vb_y_mdfdも“0”となる。
 一方、リミット処理部100の出力値Vw_x_lim2,Vw_y_lim2が、入力値Vb_x_t,Vb_y_tに対して強制的な制限を施して生成された場合、すなわち、車輪体5のX軸方向及びY軸方向のそれぞれの移動速度を、それぞれ、演算部98_xの出力値Vb_x_tと演算部98_yの出力値Vb_y_tとに一致させるように電動モータ31R,31Lを動作させると、電動モータ31R,31Lのいずれかの回転角速度が許容範囲を逸脱してしまう場合(いずれかの回転角速度の絶対値が高くなり過ぎる場合)には、X軸方向については、リミット処理部100の出力値Vw_x_lim2の入力値Vb_x_tからの修正量(=Vw_x_lim2-Vb_x_t)だけ、要求重心速度Vb_x_aimを補正してなる値(当該修正量をVb_x_aimに加算した値)が、X軸方向の制御用目標重心速度Vb_x_mdfdとして決定される。
 また、Y軸方向については、リミット処理部100の出力値Vw_y_lim2の入力値Vb_y_tからの修正量(=Vw_y_lim2-Vb_y_t)だけ、要求重心速度Vb_y_aimを補正してなる値(当該修正量をVb_y_aimに加算した値)が、Y軸方向の制御用目標重心速度Vb_y_mdfdとして決定される。
 この場合において、例えばX軸方向の速度に関し、要求重心速度Vb_x_aimが“0”でない場合には、制御用目標重心速度Vb_x_mdfdは、要求重心速度Vb_x_aimよりも“0”に近づくか、もしくは、要求重心速度Vb_x_aimと逆向きの速度となる。また、要求重心速度Vb_x_aimが“0”である場合には、制御用目標重心速度Vb_x_mdfdは、定常偏差算出部94_xが出力するX軸方向の重心速度定常偏差予測値Vb_x_prdと逆向きの速度となる。これらのことは、Y軸方向の速度に関しても同様である。
 以上が、重心速度制限部76の処理である。
 図9の説明に戻って、制御ユニット50は、以上の如く重心速度算出部72、重心速度制限部76、ゲイン調整部78、及び偏差演算部70の処理を実行した後、次に、姿勢制御演算部80の処理を実行する。
 この姿勢制御演算部80の処理を、以下に図13を参照して説明する。なお、図13において、括弧を付していない参照符号は、X軸方向に輪転する仮想車輪62_xの回転角速度の目標値である前記仮想車輪回転角速度指令ωw_x_comを決定する処理に係わる参照符号であり、括弧付きの参照符合は、Y軸方向に輪転する仮想車輪62_yの回転角速度の目標値である前記仮想車輪回転角速度指令ωw_y_comを決定する処理に係わる参照符号である。
 姿勢制御演算部80には、偏差演算部70で算出された基体傾斜角度偏差計測値θbe_xy_sと、前記STEP2で算出された基体傾斜角速度計測値θbdot_xy_sと、重心速度算出部72で算出された重心速度推定値Vb_xy_sと、重心速度制限部76で算出された制御用目標重心速度Vb_xy_mdfdと、ゲイン調整部78で算出されたゲイン調整パラメータKr_xyとが入力される。
 そして、姿勢制御演算部80は、まず、これらの入力値を用いて、次式07x,07yにより、仮想車輪回転角加速度指令ωdotw_xy_comを算出する。
 
ωwdot_x_cmd=K1_x・θbe_x_s+K2_x・θbdot_x_s
         +K3_x・(Vb_x_s-Vb_x_mdfd)  ……式07x
ωwdot_y_cmd=K1_y・θbe_y_s+K2_y・θbdot_y_s
         +K3_y・(Vb_y_s-Vb_y_mdfd)    ……式07y
 
 従って、本実施形態では、Y軸方向から見た倒立振子モデルの質点60_xの運動(ひいては、Y軸方向から見た車両系重心点の運動)を制御するための操作量(制御入力)としての仮想車輪回転角加速度指令ωdotw_x_comと、X軸方向から見た倒立振子モデルの質点60_yの運動(ひいては、X軸方向から見た車両系重心点の運動)を制御するための操作量(制御入力)としての仮想車輪回転角加速度指令ωdotw_y_comとは、それぞれ、3つの操作量成分(式07x,07yの右辺の3つの項)を加え合わせることによって決定される。
 この場合、式07xにおける各操作量成分に係わるゲイン係数K1_x,K2_x,K3_xは、ゲイン調整パラメータKr_xに応じて可変的に設定され、式07yにおける各操作量成分に係わるゲイン係数K1_y,K2_y,K3_yは、ゲイン調整パラメータKr_yに応じて可変的に設定される。以降、式07xにおけるゲイン係数K1_x,K2_x,K3_xのそれぞれを第1ゲイン係数K1_x、第2ゲイン係数K2_x、第3ゲイン係数K3_xということがある。このことは、式07yにおけるゲイン係数K1_y,K2_y,K3_yについても同様とする。
 式07xにおける第iゲイン係数Ki_x(i=1,2,3)と、式07yにおける第iゲイン係数Ki_y(i=1,2,3)とは、図13中にただし書きで示した如く、次式09x、09yにより、ゲイン調整パラメータKr_x,Kr_yに応じて決定される。
 
Ki_x=(1-Kr_x)・Ki_a_x+Kr_x・Ki_b_x  ……式09x
Ki_y=(1-Kr_y)・Ki_a_y+Kr_y・Ki_b_y  ……式09y
          (i=1,2,3)
 
 ここで、式09xにおけるKi_a_x、Ki_b_xは、それぞれ、第iゲイン係数Ki_xの最小側(“0”に近い側)のゲイン係数値、最大側(“0”から離れる側)のゲイン係数値としてあらかじめ設定された定数値である。このことは、式09yにおけるKi_a_y、Ki_b_yについても同様である。
 従って、式07xの演算に用いる各第iゲイン係数Ki_x(i=1,2,3)は、それぞれに対応する定数値Ki_a_x、Ki_b_xの重み付き平均値として決定される。そして、この場合、Ki_a_x、Ki_b_xにそれぞれ掛かる重みが、ゲイン調整パラメータKr_xに応じて変化させられる。このため、Kr_x=0である場合には、Ki_x=Ki_a_xとなり、Kr_x=1である場合には、Ki_x=Ki_b_xとなる。そして、Kr_xが“0”から“1”に近づくに伴い、第iゲイン係数Ki_xはKi_a_xからKi_b_x近づいていく。
 同様に、式07yの演算に用いる各第iゲイン係数Ki_y(i=1,2,3)は、それぞれに対応する定数値Ki_a_y、Ki_b_yの重み付き平均値として決定される。そして、この場合、Ki_a_y、Ki_b_yにそれぞれ掛かる重みが、ゲイン調整パラメータKr_yに応じて変化させられる。このため、Ki_xの場合と同様に、Kr_yの値が“0”から“1”の間で変化するに伴い、第iゲイン係数Ki_yの値が、Ki_a_yとKi_b_yとの間で変化する。
 補足すると、上記定数値Ki_a_x、Ki_b_x及びKi_a_y,Ki_b_y(i=1,2,3)は、前記STEP6又は8において値が設定される定数パラメータに含まれるものである。
 姿勢制御演算部80は、上記の如く決定した第1~第3ゲイン係数K1_x,K2_x,K3_xを用いて前記式07xの演算を行なうことで、X軸方向に輪転する仮想車輪62_xに係わる仮想車輪回転角加速度指令ωwdot_x_cmdを算出する。
 さらに詳細には、図13を参照して、姿勢制御演算部80は、基体傾斜角度偏差計測値θbe_x_sに第1ゲイン係数K1_xを乗じてなる操作量成分u1_xと、基体傾斜角速度計測値θbdot_x_sに第2ゲイン係数K2_xを乗じてなる操作量成分u2_xとをそれぞれ、処理部80a,80bで算出する。さらに、姿勢制御演算部80は、重心速度推定値Vb_x_sと制御用目標重心速度Vb_x_mdfdとの偏差(=Vb_x_s-Vb_x_mdfd)を演算部80dで算出し、この偏差に第3ゲイン係数K3_xを乗じてなる操作量成u3_xを処理部80cで算出する。そして、姿勢制御演算部80は、これらの操作量成分u1_x,u2_x,u3_xを演算部80eにて加え合わせることにより、仮想車輪回転角加速度指令ωwdot_x_comを算出する。
 同様に、姿勢制御演算部80は、上記の如く決定した第1~第3ゲイン係数K1_y,K2_y,K3_yを用いて前記式07yの演算を行なうことで、Y軸方向に輪転する仮想車輪62_yに係わる仮想車輪回転角加速度指令ωwdot_y_cmdを算出する。
 この場合には、姿勢制御演算部80は、基体傾斜角度偏差計測値θbe_y_sに第1ゲイン係数K1_yを乗じてなる操作量成分u1_yと、基体傾斜角速度計測値θbdot_y_sに第2ゲイン係数K2_yを乗じてなる操作量成分u2_yとをそれぞれ、処理部80a,80bで算出する。さらに、姿勢制御演算部80は、重心速度推定値Vb_y_sと制御用目標重心速度Vb_y_mdfdとの偏差(=Vb_y_s-Vb_y_mdfd)を演算部80dで算出し、この偏差に第3ゲイン係数K3_yを乗じてなる操作量成u3_yを処理部80cで算出する。そして、姿勢制御演算部80は、これらの操作量成分u1_y,u2_y,u3_yを演算部80eにて加え合わせることにより、仮想車輪回転角加速度指令ωwdot_x_comを算出する。
 ここで、式07xの右辺の第1項(=第1操作量成分u1_x)及び第2項(=第2操作量成分u2_x)は、X軸周り方向での基体傾斜角度偏差計測値θbe_x_sを、フィードバック制御則としてのPD則(比例・微分則)により“0”に収束させる(基体傾斜角度計測値θb_x_sを目標値θb_x_objに収束させる)ためのフィードバック操作量成分としての意味を持つ。
 また、式07xの右辺の第3項(=第3操作量成分u3_x)は、重心速度推定値Vb_x_sと制御用目標重心速度Vb_x_mdfdとの偏差をフィードバック制御則としての比例則により“0”に収束させる(Vb_x_sをVb_x_mdfdに収束させる)ためのフィードバック操作量成分としての意味を持つ。
 これらのことは、式07yの右辺の第1~第3項(第1~第3操作量成分u1_y,u2_y,u3_y)についても同様である。
 姿勢制御演算部80は、上記の如く、仮想車輪回転角加速度指令ωwdot_x_com,ωwdot_y_comを算出した後、次に、これらのωwdot_x_com,ωwdot_y_comをそれぞれ積分器80fにより積分することによって、前記仮想車輪回転速度指令ωw_x_com,ωw_y_comを決定する。
 以上が姿勢制御演算部80の処理の詳細である。
 補足すると、式07xの右辺の第3項を、Vb_x_sに応じた操作量成分(=K3_x・Vb_x_s)と、Vb_x_mdfdに応じた操作量成分(=-K3_x・Vb_x_mdfd)とに分離した式によって、仮想車輪回転角加速度指令ωdotw_x_comを算出するようにしてよい。同様に、式07yの右辺の第3項を、Vb_y_sに応じた操作量成分(=K3_y・Vb_y_s)と、Vb_y_mdfdに応じた操作量成分(=-K3_y・Vb_y_mdfd)とに分離した式によって、仮想車輪回転角加速度指令ωdotw_y_comを算出するようにしてよい。
 また、本実施形態では、車両系重心点の挙動を制御するための操作量(制御入力)として、仮想車輪62_x,62_yの回転角加速度指令ωw_x_cmd,ωw_y_cmdを用いるようにしたが、例えば、仮想車輪62_x,62_yの駆動トルク、あるいは、この駆動トルクを各仮想車輪62_x,62_yの半径Rw_x,Rw_yで除算してなる並進力(すなわち仮想車輪62_x,62_yと床面との間の摩擦力)を操作量として用いるようにしてもよい。
 図9の説明に戻って、制御ユニット50は、次に、姿勢制御演算部80で上記の如く決定した仮想車輪回転速度指令ωw_x_com,ωw_y_comをモータ指令演算部82に入力し、該モータ指令演算部82の処理を実行することによって、電動モータ31Rの速度指令ω_R_comと電動モータ31Lの速度指令ω_L_comとを決定する。このモータ指令演算部82の処理は、前記リミット処理部86(図11参照)のXY-RL変換部86bの処理と同じである。
 具体的には、モータ指令演算部82は、前記式01a,01bのωw_x,ωw_y,ω_R,ω_Lをそれぞれ、ωw_x_com,ωw_y_com,ω_R_cmd,ω_L_cmdに置き換えて得られる連立方程式を、ω_R_cmd,ω_L_cmdを未知数として解くことによって、電動モータ31R,31Lのそれぞれの速度指令ω_R_com,ω_L_comを決定する。
 以上により前記STEP9の車両制御演算処理が完了する。
 以上説明した如く制御ユニット50が制御演算処理を実行することによって、前記搭乗モード及び自立モードのいずれの動作モードにおいても、基本的には、基体9の姿勢が、前記基体傾斜角度偏差計測値θbe_x_s,θbe_y_sの両方が“0”となる姿勢(以下、この姿勢を基本姿勢という)に保たれるように、換言すれば、車両系重心点(車両・乗員全体重心点又は車両単体重心点)の位置が、車輪体5の接地面のほぼ真上に位置する状態に保たれるように、操作量(制御入力)としての仮想車輪回転角加速度指令ωdotw_xy_comが決定される。より詳しく言えば、基体9の姿勢を前記基本姿勢に保ちつつ、車両系重心点の移動速度の推定値としての重心速度推定値Vb_xy_sを制御用目標重心速度Vb_xy_mdfdに収束させるように、仮想車輪回転角加速度指令ωdotw_xy_comが決定される。なお、制御用目標重心速度Vb_xy_mdfdは、通常は(詳しくは搭乗モードで乗員等が車両1の付加的な推進力を付与しない限り)、“0”である。この場合には、基体9の姿勢を前記基本姿勢に保ちつつ、車両系重心点がほぼ静止するように、仮想車輪回転角加速度指令ωdotw_xy_comが決定されることとなる。
 そして、ωdotw_xy_comの各成分を積分してなる仮想車輪回転角速度指令ωw_xy_comを変換してなる電動モータ31R,31Lのそれぞれの回転角速度が、電動モータ31R,31Lの速度指令ω_R_cmd,ω_L_cmdとして決定される。さらに、その速度指令ω_R_cmd,ω_L_cmdに従って、各電動モータ31R,31Lの回転速度が制御される。ひいては車輪体5のX軸方向及びY軸方向のそれぞれの移動速度が、ωw_x_comに対応する仮想車輪62_xの移動速度と、ωw_y_comに対応する仮想車輪62_yの移動速度とに各々一致するように制御される。
 このため、例えば、Y軸周り方向で、実際の基体傾斜角度θb_xが目標値θb_x_objから前傾側にずれると、そのずれを解消すべく(θbe_x_sを“0”に収束させるべく)、車輪体5が前方に向かって移動する。同様に、実際のθb_xが目標値θb_x_objから後傾側にずれると、そのずれを解消すべく(θbe_x_sを“0”に収束させるべく)、車輪体5が後方に向かって移動する。
 また、例えば、X軸周り方向で、実際の基体傾斜角度θb_yが目標値θb_y_objから右傾側にずれると、そのずれを解消すべく(θbe_y_sを“0”に収束させるべく)、車輪体5が右向きに移動する。同様に、実際のθb_yが目標値θb_y_objから左傾側にずれると、そのずれを解消すべく(θbe_y_sを“0”に収束させるべく)、車輪体5が左向きに移動する。
 さらに、実際の基体傾斜角度θb_x,θb_yの両方が、それぞれ目標値θb_x_obj,θb_y_objからずれると、θb_xのずれを解消するための車輪体5の前後方向の移動動作と、θb_yのずれを解消するための車輪体5の左右方向の移動動作とが合成され、車輪体5がX軸方向及びY軸方向の合成方向(X軸方向及びY軸方向の両方向に対して傾斜した方向)に移動することとなる。
 このようにして、基体9が前記基本姿勢から傾くと、その傾いた側に向かって、車輪体5が移動することとなる。従って、例えば前記搭乗モードにおいて、乗員が意図的にその上体を傾けると、その傾けた側に、車輪体5が移動することとなる。
 なお、制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdが“0”である場合には、基体9の姿勢が基本姿勢に収束すると、車輪体5の移動もほぼ停止する。また、例えば、基体9のY軸周り方向の傾斜角度θb_xを基本姿勢から傾いた一定の角度に維持すると、車輪体5のX軸方向の移動速度は、その角度に対応する一定の移動速度(制御用目標重心速度Vb_x_mdfdと一定の定常偏差を有する移動速度)に収束する。このことは、基体9のX軸周り方向の傾斜角度θb_yを基本姿勢から傾いた一定の角度に維持した場合も同様である。
 また、例えば、前記要求重心速度生成部74で生成される要求重心速度Vb_x_aim,Vb_y_aimの両方が“0”となっている状況において、基体9の前記基本姿勢からの傾き量(基体傾斜角度偏差計測値θbe_x_s,θbe_y_s)が比較的大きくなり、それを解消し、もしくはその傾き量を維持するために必要な車輪体5のX軸方向及びY軸方向の一方又は両方の移動速度(これらの移動速度は、それぞれ、図12に示した前記重心速度定常偏差予測値Vb_x_prd、Vb_y_prdに相当する)が、電動モータ31R,31Lの一方又は両方の回転角速度を許容範囲から逸脱させてしまうような、過大な移動速度になるような状況では、該車輪体5の移動速度に対して逆向きとなる速度(詳しくは、Vw_x_lim2-Vb_x_prd及びVw_y_lim2-Vb_y_prd)が制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdとして決定される。そして、制御入力を構成する操作量成分のうちの操作量成分u3_x,u3_yが、この制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdに重心速度推定値Vb_x_s,Vb_y_sをそれぞれ収束させるように決定される。このため、基体9の前記基本姿勢からの傾き量が過大になるのを予防し、ひいては、電動モータ31R,31Lの一方又は両方の回転角速度が高速になり過ぎるのが防止される。
 さらに、前記ゲイン調整部78では、重心速度推定値Vb_x_s,Vb_y_sの一方又は両方が大きくなり、ひいては、基体9の前記基本姿勢からの傾きを解消し、もしくはその傾き量を維持するために必要な車輪体5のX軸方向及びY軸方向の一方又は両方の移動速度が、電動モータ31R,31Lの一方又は両方の回転角速度を許容範囲から逸脱させてしまうような、過大な移動速度になる恐れがある状況では、その逸脱が顕著になるほど(詳しくは、図10に示すVover_x,Vover_yの絶対値が大きくなるほど)、前記ゲイン調整パラメータKr_x,Kr_yの一方又は両方が“0”から“1”に近づけられる。
 この場合、前記式09xにより算出される各第iゲイン係数Ki_x(i=1,2,3)は、Kr_xが“1”に近づくほど、最小側の定数値Ki_a_xから最大側の定数値Ki_b_xに近づく。このことは、前記式09yにより算出される各第iゲイン係数Ki_y(i=1,2,3)についても同様である。
 そして、上記ゲイン係数の絶対値が大きくなることによって、基体9の傾きの変化に対する操作量(仮想車輪回転角加速度指令ωdotw_x_cmd,ωdotw_y_cmd)の感度が高まる。従って、基体9の基本姿勢からの傾き量が大きくなろうとすると、それを素早く解消するように、車輪体5の移動速度が制御されることとなる。従って、基体9が基本姿勢から大きく傾くことが強めに抑制され、ひいては、車輪体5のX軸方向及びY軸方向の一方又は両方の移動速度が、電動モータ31R,31Lの一方又は両方の回転角速度を許容範囲から逸脱させてしまうような、過大な移動速度になるのを防止することができる。
 また、搭乗モードにおいて、要求重心速度生成部74が、乗員等の操縦操作による要求に応じて要求重心速度Vb_x_aim,Vb_y_aim(Vb_x_aim,Vb_y_aimの一方又は両方が“0”でない要求重心速度)を生成した場合には、電動モータ31R,31Lの一方又は両方の回転角速度が許容範囲を逸脱するような高速の回転角速度にならない限り(詳しくは図12に示すVw_x_lim2,Vw_y_lim2がVb_x_t,Vb_y_tにそれぞれ一致する限り)、要求重心速度Vb_x_aim,Vb_y_aimがそれぞれ前記制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdとして決定される。このため、要求重心速度Vb_x_aim,Vb_y_aimを実現するように(実際の重心速度が要求重心速度Vb_x_aim,Vb_y_aimに近づくように)、車輪体5の移動速度が制御される。
 次に、説明を後回しにした、前記要求重心速度生成部74の処理の詳細を説明する。
 要求重心速度生成部74は、本実施形態では、車両1の動作モードが自立モードである場合には、前記したように、要求重心速度Vb_x_aim,Vb_y_aimを“0”とする。
 一方、要求重心速度生成部74は、車両1の動作モードが搭乗モードである場合には、本実施形態では、Y軸方向の要求重心速度Vb_y_aimを“0”に保ちつつ、X軸方向の要求重心速度Vb_x_aimを乗員等による車両1の操縦操作(車両1に推進力を付加する操作)に応じて可変的に決定する。
 ここで、例えば、車両1の乗員が、車両1の発進時等において、車両1の移動速度(車両系重心点の移動速度)を前後方向で積極的に増速させようとする場合には、自身の足により床を蹴り、それにより車両1に移動速度を前後方向で増速させる推進力(乗員の足平と床との摩擦力による推進力)を車両1に付加する。あるいは、例えば、車両1の乗員の要求に応じて、外部の補助者等が、車両1にその移動速度を前後方向で増速させる推進力を付加する場合もある。
 このような場合に、要求重心速度生成部74は、前記重心速度算出部72で算出されるX軸方向の重心速度推定値Vb_x_sの大きさ(絶対値)の時間的変化率に基づいて、車両1の移動速度(詳しくは、車両系重心点の移動速度)をX軸方向で増速させる要求としての加速要求の発生の有無を判断しつつ、それに応じて、要求重心速度Vb_x_aimを逐次決定する。なお、加速要求の発生時とその直後の期間とを除く通常的な状態では、要求重心速度生成部74は、X軸方向の要求重心速度Vb_x_aimを“0”に保持する。
 具体的には、要求重心速度生成部74は、図14のフローチャートに示す処理を所定の制御処理周期で逐次実行することによって、X軸方向の要求重心速度Vb_x_aimを決定する。
 以下説明すると、要求重心速度生成部74は、まず、STEP21の処理を実行する。この処理では、要求重心速度生成部74は、入力される重心速度推定値Vb_x_sの絶対値|Vb_x_s|の時間的変化率(微分値)DVb_x_sを算出する。以降、DVb_x_sを重心速度絶対値変化率DVb_x_sという。
 次いで、STEP22に進んで、前記仮想車輪回転角加速度指令ωdotw_x_cmd,ωdotw_x_cmdを決定するための制御ユニット50の現在の演算処理モードが、どのモードであるかを判断する。
 ここで、本実施形態では、要求重心速度生成部74は、要求重心速度Vb_x_aimの基本値(以下、要求重心速度基本値Vb_x_aim1)を決定した上で、この要求重心速度基本値Vb_x_aim1に一次遅れの応答時定数で追従させる(定常的には一致させる)ように要求重心速度Vb_x_aimを決定する。この場合、この要求重心速度基本値Vb_x_aim1の決定の仕方が、上記演算処理モードによって規定されるようになっている。
 そして、本実施形態では、該演算処理モードとしては、第1処理モード及び第2処理モードの2種類のモードがある。
 第1処理モードは、車両1の移動速度を減衰させる(前記第3操作量成分u3_xyの機能によってX軸方向及びY軸方向の重心速度Vb_xyを“0”に近づけていく)ように、ωdotw_x_cmd,ωdotw_x_cmdを決定する処理モードである。この第1処理モードでは、要求重心速度生成部74は、Y軸方向の要求重心速度Vb_x_aimを“0”に保持しつつ、X軸方向の要求重心速度Vb_x_aimを“0”に収束させる(定常的には“0”に保持する)ように、要求重心速度基本値Vb_x_aim1を逐次決定する。
 また、第2処理モードは、第1処理モードに比して、X軸方向での車両1の移動速度の減衰が生じ難いように(X軸方向における第3操作量成分u3_xが“0”もしくはそれに近い値になるように)、ωdotw_x_cmd,ωdotw_x_cmdを決定する処理モードである。この第2処理モードでは、要求重心速度生成部74は、Y軸方向の要求重心速度Vb_x_aimを“0”に保持しつつ、X軸方向の要求重心速度Vb_x_aimを、車両系重心点の実際のX軸方向の移動速度としての重心速度推定値Vb_x_sに追従させるように(ほぼ一致させるように)、要求重心速度基本値Vb_x_aim1を逐次決定する。
 なお、制御ユニット50の起動時等に該制御ユニット50が初期化された状態での演算処理モード(初期演算処理モード)は、第1処理モードである。
 要求重心速度生成部74は、上記STEP22において、現在の演算処理モードが第1処理モードである場合と、第2処理モードである場合とで、それぞれ、次に、STEP23の演算処理、STEP24の演算処理を実行し、要求重心速度基本値Vb_x_aim1を決定する。
 これらの各モードに対応する演算処理は、次のように実行される。
 STEP23における第1処理モード用の演算処理は、図15のフローチャートに示す如く実行される。具体的には、要求重心速度生成部74は、まず、前記STEP21で算出した重心速度絶対値変化率DVb_x_sが、あらかじめ設定された正の値の第1閾値DV1_x(>0)よりも大きいか否かをSTEP23-1で判断する。この判断処理は、車両1の移動速度を車両1の前後方向で増速させようとする加速要求が有るか否かを判断する処理である。
 この場合、DVb_x_s>DV1_xであるということは、X軸方向での実際の重心速度Vb_xの絶対値|Vb_x|が第1閾値DV1_xよりも大きな時間的変化率で増加している状況を意味する。従って、STEP23-1の判断結果が肯定的になる状況は、乗員あるいは外部の補助者等により前後方向での重心速度Vb_xの大きさを増加させようとする操縦操作(車両1に概略前後方向の推進力を付加する操縦操作)が行なわれている状況である。
 STEP23-1の判断結果が否定的となる場合、すなわち、車両1の加速要求(前後方向での車両1の加速要求)が無い場合には、要求重心速度生成部74は、次に、STEP23-4において、要求重心速度基本値Vb_x_aim1の値を“0”に設定し、図15の処理を終了する。
 一方、STEP23-1の判断結果が肯定的となる場合、すなわち、前後方向での車両1の加速要求が発生した場合には、要求重心速度生成部74は、STEP23-2で要求重心速度基本値Vb_x_aim1を決定する。この場合、要求重心速度生成部74は、重心速度算出部72から入力されたX軸方向の重心速度推定値Vb_x_sに、あらかじめ設定された所定値の第1比率γ1を乗じてなる値を、要求重心速度基本値Vb_x_aim1として決定する。上記第1比率γ1は、本実施形態では、“1”よりも若干小さい正の値(例えば0.8)に設定されている。このようなSTEP23-2の処理は、Vb_x_aim1の決定の仕方を、次回の制御処理サイクルから開始する第2処理モードに合わせるものである。
 なお、上記第1比率γ1の値が“1”よりも若干小さいことは必須ではなく、例えば、該第1比率γ1の値を“1”あるいはそれよりも若干大きい値に設定してもよい。本実施態では、車両1の移動速度の増速中に、乗員が体感的(感覚的)に認識する車両1の移動速度(詳しくは、車両系重心点の移動速度)が、実際の移動速度に比べて高速であるかのように認識されるのを防止するために、第1比率γ1の値を“1”よりも若干小さい値に設定している。
 次いで、要求重心速度生成部74は、STEP23-3で演算処理モードを第1処理モードから第2処理モードに変更し、図15の処理を終了する。
 以上が、STEP23における第1処理モード用の演算処理である。
 なお、STEP23-1の判断結果が否定的となる場合には、演算処理モードは変更されないので、次回の制御処理周期においても、演算処理モードは、第1処理モードに維持されることとなる。
 次に、STEP24における第2処理モード用の演算処理は、図16のフローチャートに示す如く実行される。具体的には、要求重心速度生成部74は、まず、前記STEP21で算出した重心速度絶対値変化率DVb_x_sが、あらかじめ設定された負の値の第3閾値DV3(<0)よりも小さいか否かをSTEP24-1において判断する。この判断処理は、車両1の乗員が重心速度Vb_xの大きさを積極的に減少させようとする減速要求が発生したか否かを判断するものである。この場合、車両1の乗員が意図的に自身の足を接地させ、自身の足と床との間に車両1の制動方向の摩擦力を発生させたような場合にSTEP24-1の判断結果が肯定的になる。
 そして、要求重心速度生成部74は、STEP24-1の判断結果が肯定的である場合(減速要求が発生した場合)には、STEP24-9において、要求重心速度基本値Vb_x_aim1の値を“0”に設定する。さらに、要求重心速度生成部74は、演算処理モードを第2処理モードから第1処理モードに変更した後、図16の処理を終了する。
 また、STEP24-1の判断結果が否定的である場合(減速要求が発生していない場合)には、要求重心速度生成部74は、次に、STEP24-2の判断処理を実行する。
 この判断処理では、要求重心速度生成部74は、前記重心速度絶対値変化率DVb_x_s(STEP21で算出した値)が、あらかじめ設定された第2閾値DV2よりも小さいか否かを判断する。この第2閾値DV2は、本実施形態では、前記第3閾値DV3よりも大きい(DV3よりも“0”に近い)負の所定値に設定されている。なお、第2閾値DV2は、“0”もしくは“0”よりも若干大きい正の値(但し、前記第1閾値DV1よりも小さい値)に設定されていてもよい。
 このSTEP24-2の判断処理は、加速要求が解消したか否か(車両1の移動速度の増速のために車両1に推進力が付加される状態が終了したか否か)を判断するものである。
 そして、要求重心速度生成部74は、STEP24-2の判断結果が否定的である場合には、加速要求が継続しているものとして、STEP24-3において要求重心速度基本値Vb_x_aim1を決定し、図16の処理を終了する。この場合、STEP24-3では、前記STEP23-2と同じ処理によりVb_x_aim1が決定される。すなわち、要求重心速度生成部74は、重心速度算出部72から入力されたX軸方向の重心速度推定値Vb_x_sに、前記第1比率γ1を乗じてなる値をVb_x_aim1として決定する。なお、この場合、演算処理モードは、次回の制御処理周期でも第2処理モードに維持される。
 また、STEP24-2の判断結果が肯定的である場合、すなわち、加速要求が解消したものと判断される場合には、要求重心速度生成部74は、さらに、STEP24-4の判断処理を実行する。
 この判断処理では、前記重心速度絶対値変化率DVb_x_sの前回値DVb_x_s_pが、前記第2閾値DV2以上であるか否か、すなわち、前回の制御処理周期においてSTEP24-2の判断結果が否定的であったか否かが判断される。
 このSTEP24-4の判断結果が肯定的となるということは、現在の制御処理周期が、加速要求が継続している状態から解消状態に切替わった直後のタイミングであることを意味する。そして、この場合には、要求重心速度生成部74は、STEP24-5において、カウントダウンタイマを初期化する。
 このカウントダウンタイマは、加速要求の解消後の経過時間(詳しくは、加速要求及び減速要求が発生しない状態での経過時間)を計時するタイマである。そして、STEP24-5では、該タイマの計時値CNTに、あらかじめ設定された初期値Tmがセットされる。初期値Tmは、加速要求の解消後、加速要求及び減速要求が発生しない状態で第2処理モードを継続させようとする時間の設定値を意味する。
 次いで、要求重心速度生成部74は、STEP24-6において要求重心速度基本値Vb_x_aim1を決定し、図16の処理を終了する。なお、この場合、演算処理モードは、次回の制御処理周期でも第2処理モードに維持される。
 本実施形態では、上記STEP24-6では、要求重心速度生成部74は、重心速度算出部72から入力されたX軸方向の重心速度推定値Vb_x_sに、あらかじめ設定された所定値の第2比率γ2を乗じてなる値を、要求重心速度基本値Vb_x_aim1として決定する。上記第2比率γ2は、本実施形態では、例えば、前記第1比率γ1よりも“1”に近い正の値(例えば0.9)に設定されている。
 なお、上記第2比率γ2の値が第1比率γ1よりも“1”に近い値であることは必須ではなく、例えば、該第2比率γ2の値を第1比率γ1と同じ値に設定してもよい。あるいは、第2比率γ2を“1”、あるいは“1”よりも若干大きい値、あるいは、第1比率γ1よりも若干小さい値に設定してもよい。第2比率γ2は、基本的には、“1”近傍の値で、第1比率γ1と一致もしくはほぼ一致することが好ましい。
 STEP24-4の判断結果が否定的である場合(詳しくは、加速要求の解消後で、加速要求及び減速要求が無い状態が継続している場合)には、要求重心速度生成部74は、STEP24-7において、前記カウントダウンタイマの計時値CNTをデクリメントする。すなわち、計時値CNTの現在値から所定値ΔT(制御処理周期の時間)を差し引くことによって、計時値CNTを更新する。
 次いで、要求重心速度生成部74は、カウントダウンタイマの計時値CNTが“0”よりも大きいか否か、すなわち、カウントダウンタイマの計時が終了したか否かをSTEP24-8にて判断する。
 このSTEP24-8の判断結果が肯定的である場合は、加速要求が解消してから、カウントダウンタイマの前記初期値Tmにより表される時間が未だ経過していない場合である。この場合には、要求重心速度生成部74は、前記STEP24-6の処理を実行することで、Vb_x_s・γ2を要求重心速度基本値Vb_x_aim1として決定し、図16の処理を終了する。なお、この場合、演算処理モードは、次回の制御処理周期でも第2処理モードに維持される。
 前記STEP24-8の判断結果が否定的となった場合、すなわち、加速要求が解消してから、カウントダウンタイマの前記初期値Tmにより表される所定時間が経過した場合には、要求重心速度生成部74は、STEP25-9において、要求重心速度基本値Vb_x_aim1の値を“0”に設定する。
 さらに、要求重心速度生成部74は、STEP24-10にて、演算処理モードを第2処理モードから第1処理モードに戻し、図16の処理を終了する。
 以上が、STEP24における第2処理モード用の演算処理である。
 図14の説明に戻って、要求重心速度生成部74は、以上の如くSTEP23、24のいずれかの演算処理を実行した後、次に、その演算処理により決定した要求重心速度基本値Vb_x_aim1をフィルタに通す処理をSTEP25にて実行する。
 該フィルタは、例えば一次遅れのフィルタ(ローパスフィルタ)である。従って、STEP25で得られるフィルタの出力値は、ある時定数で要求重心速度基本値Vb_x_aim1に追従していくものとなる。このため、演算処理モードの切替わりの直後等でVb_x_aim1が急激もしくは不連続に変化しても、該フィルタの出力値が滑らかに変化しつつ、Vb_x_aim1に追従する(定常的には、Vb_x_aim1に一致する)こととなる。
 次いで、STEP26に進んで、要求重心速度生成部74は、上記フィルタの出力値をリミッタに通すことによって、最終的にX軸方向の要求重心速度Vb_x_aimを決定する。この場合、該リミッタは、要求重心速度Vb_x_aimの絶対値が過大になるのを防止するためのものであり、フィルタの出力値があらかじめ設定された所定の上限値(>0)と下限値(<0)との間の範囲に収まる場合には、フィルタの出力値をそのまま要求重心速度Vb_x_aimとして出力する。また、該リミッタは、フィルタの出力値の絶対値が上記上限値と下限値との間の範囲から逸脱している場合には、該上限値と下限値とのうちのフィルタの出力値に近い方の限界値を要求重心速度Vb_x_aimとして出力する。
 なお、上記上限値と下限値とは、それらの絶対値が同一でなくてもよく、それらの絶対値が互いに異なっていてもよい。
 以上がX軸方向の要求重心速度Vb_x_aimの生成処理の詳細である。
 補足すると、STEP25で用いるフィルタの時定数を、演算処理モード等に応じて変化させてもよい。例えば、第1処理モードでは、フィルタの時定数を相対的に長めの時間値に設定し、第2処理モードではフィルタの時定数を相対的に短めの時間値に設定してもよい。このようにすることで、第1処理モードでは、特に、第2処理モードからの移行直後に、要求重心速度Vb_x_aimが急減に減衰するのが防止される。また、第2処理モードでは、特に、車両1のX軸方向での実際の重心速度Vb_xの増速中に、要求重心速度Vb_x_aimを素早く実際の該重心速度Vb_xの変化に追従させることができる。また、例えば、第1処理モードでは、減速要求が発生している状況では、減速要求が発生していない状況よりも、上記フィルタの時定数を短めに設定し、要求重心速度Vb_x_aimをより素早く“0”に減衰させるようにしてもよい。
 また、例えば、演算処理モードが第2処理モードから第1処理モードに切替わった直後においては、要求重心速度基本値Vb_x_aim1自体を、所定の変化速度(所定の時間的変化率)で“0”まで徐々に変化させていくようにしてもよい。
 以上説明した要求重心速度生成部74の処理によって、X軸方向の要求重心速度Vb_x_aimは、以下のような態様で決定されることとなる。
 例えば、車両1の移動速度を乗員の前後方向(X軸方向)で増速するために、乗員が自身の足平で床を蹴ることによって、あるいは、補助者等が車両1を押すことによって、車両1に対して、概略前後方向の推進力(詳しくは、前記STEP23-1の判断結果が肯定的となるような推進力)を付加した場合を想定する。
 なお、推進力を付加する前の演算処理モードは、前記第1処理モードであるとする。また、ここでは、理解の便宜上、図14のSTEP25で得られるフィルタの出力値は、STEP26でのリミッタによる強制的な制限がかからない程度の範囲内に収まるものとする。すなわち、STEP26で逐次決定される要求重心速度Vb_x_aimは、要求重心速度基本値Vb_x_aim1をフィルタに通した値に一致するものとする。同様に、実際の重心速度Vb_x,Vb_yが、前記リミット処理部104での出力値V_x_lim2,V_y_lim2の強制的な制限が行なわれない程度の範囲内に収まるものとする。すなわち、制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdは、それぞれ要求重心速度Vb_x_aim,Vb_y_aimに一致するものとする。このような状況は、車両1の標準的(通常的)な動作状況である。
 この場合、車両1に推進力を付加することによって、前記STEP23-1の判断結果が肯定的となると、図15のSTEP23-3の処理によって、演算処理モードが第1処理モードから第2処理モードに変更されることとなる。
 この第2処理モードでは、減速要求が発生しない状況(STEP24-1の判断結果が否定的となる状況)で、加速要求が解消するまでの期間(STEP24-2の判断結果が肯定的になるまでの期間)において、X軸方向の重心速度推定値Vb_x_sの今回値(現在値)に、所定値の第1比率γ1を乗じてなる値、すなわち、Vb_x_sよりも若干小さい大きさの速度値が、要求重心速度基本値Vb_x_aim1として逐次決定される。
 このため、要求重心速度生成部74が逐次決定する要求重心速度Vb_x_aimは、車両1に付加された推進力によって増速する実際の重心速度Vb_xにほぼ一致する速度値(=γ1・Vb_x_s)に追従するように、決定されることとなる。
 そして、このように決定される要求重心速度Vb_x_aimがX軸方向の前記制御用目標重心速度Vb_x_mdfdとして決定される。従って、Vb_x_mdfdは、γ1・Vb_x_sに一致又はほぼ一致する値となる。また、Y軸方向の要求重心速度Vb_y_aimは“0”に保持されるので、Y軸方向の制御用目標重心速度Vb_x_mdfdは“0”となる。さらに、各仮想車輪回転角加速度指令ωdotw_x_cmd,ωdotw_y_cmdにそれぞれ含まれる第3操作量成分u3_x,u3_yは、制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdに重心速度推定値Vb_x_s,Vb_y_sを各々収束させるように決定される。
 この結果、乗員が車両1に付加した推進力による車両系重心点の実際の移動速度の増速(概略前後方向での増速)が該推進力による要求に即して速やかに行なわれるように、車輪体5の移動速度が制御されることとなる。従って、車両1が付加された推進力によって乗員の前後方向で円滑に加速することとなる。
 さらに詳細には、上記の如くVb_x_mdfdは、γ1・Vb_x_sに一致又はほぼ一致する値となるので、X軸方向に係わる第3操作量成分u3_xは、u3_x=K3_x・(Vb_x_s-Vb_x_mdfd)≒K3_x・(1-γ1)・Vb_x_sとなる。そして、K3_x・(1-γ1)が、Vb_x_sの変化に対するωdotw_x_cmdの変化の感度(以下、対速度感度ということがある)に相当するものとなる。この場合、1-γ1は、“0”に近い値(本実施形態では、例えば0.2)であるので、上記対速度感度も“0”に近いものとなる。従って、ωdotw_x_cmdは、Vb_x_sに対する依存性が低いものとなり、Vb_x_sが変化してもωdotw_x_cmdの変化は微小なものとなる。ひいては、電動モータ31R,31Lによって車輪体5にX軸方向で付与される駆動力は、Vb_x_sの値に応じた規制を受け難いものとなる。その結果、上記の如く、車両1が付加された推進力によって乗員の前後方向で円滑に加速することとなる。
 次に、第2処理モードにおいて、車両1への推進力の付加が終了し、加速要求が継続的に解消すると(図16のSTEP24-2、24-4の判断結果がそれぞれ、肯定的、否定的になると)、前記カウントダウンタイマの計時が終了するまでの所定時間Tmの期間において、X軸方向の重心速度推定値Vb_x_sの今回値(現在値)に、所定値の第2比率γ2を乗じてなる値、すなわち、Vb_x_sよりも若干小さい大きさの速度値が、要求重心速度基本値Vb_x__aim1として逐次決定される。
 このため、要求重心速度生成部74が逐次決定する要求重心速度Vb_x_aimは、第2処理モードの開始後、加速要求が解消するまでの期間と同様に、実際の重心速度Vb_xにほぼ一致する速度値(=γ2・Vb_x_s)に追従するように、決定されることとなる。
 そして、このように決定される要求重心速度Vb_x_aimがX軸方向の前記制御用目標重心速度Vb_x_mdfdとして決定される。従って、Vb_x_mdfdは、γ2・Vb_x_sに一致又はほぼ一致する値となる。また、Y軸方向の要求重心速度Vb_y_aimは“0”に保持されるので、Y軸方向の制御用目標重心速度Vb_x_mdfdは“0”となる。さらに、各仮想車輪回転角加速度指令ωdotw_x_cmd,ωdotw_y_cmdにそれぞれ含まれる第3操作量成分u3_x,u3_yは、制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdに重心速度推定値Vb_x_s,Vb_y_sを各々収束させるように決定される。
 この場合、X軸方向に係わる第3操作量成分u3_xは、u3_x=K3_x・(Vb_x_s-Vb_x_mdfd)≒K3_x・(1-γ2)・Vb_x_sとなる。従って、K3_x・(1-γ2)が、前記対速度感度に相当するものとなる。そして、1-γ2は、“0”に近い値(本実施形態では、例えば0.1)であるので、上記対速度感度も“0”に近いものとなる。このため、第2処理モードの開始後、加速要求が解消するまでの期間と同様に、ωdotw_x_cmdは、Vb_x_sに対する依存性が低いものとなる。
 この結果、加速要求が解消しても、その解消後、所定時間Tmが経過するまでの期間は、減速要求が発生しない限り、電動モータ31R,31Lによって車輪体5にX軸方向で付与される駆動力は、Vb_x_sの値の影響を受け難いものとなる。この場合、乗員が車両系重心点を、前記基本姿勢での位置よりも、車両1の後方側にずらすよように、基体9及びシート3を傾動させない限り、車輪体5には、制動方向の駆動力がほとんど作用しないこととなる。このため、車両1の加速後、所定時間Tmの期間は、乗員がその上体を積極的に動かすような操縦操作をせずとも、車両1が滑走するような状態が維持されることとなる。
 次に、第2処理モードにおいて、減速要求が発生するか、又は、加速要求の解消後、所定時間Tmが経過した場合には、X軸方向の要求重心速度Vb_x_aimが“0”に減衰していき、最終的に“0”に保たれるように決定される。そして、このように決定されれるVb_x_aimが、X軸方向の前記制御用目標重心速度Vb_x_mdfdとして決定される。また、Y軸方向の要求重心速度Vb_y_aimは“0”に保持されるので、Y軸方向の制御用目標重心速度Vb_x_mdfdは“0”となる。さらに、各仮想車輪回転角加速度指令ωdotw_x_cmd,ωdotw_y_cmdにそれぞれ含まれる第3操作量成分u3_x,u3_yは、制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdに重心速度推定値Vb_x_s,Vb_y_sを各々収束させるように決定される。
 この場合、X軸方向に係わる第3操作量成分u3_xが制動方向で増加していくこととなる。このため、車両1のX軸方向の移動速度が減衰していくこととなる。
 補足すると、第1処理モードでは、X軸方向の制御用目標重心速度Vb_x_mdfdは、基本的には、“0”となるか、もしくは、単調に“0”に近づけられていく。そして、この状態では、上記対速度感度は、前記第3ゲイン係数K3_x(>K3_x・(1-γ1))に一致するか、又は、K3_x・(1-γ2)からK3_xに近づいていく。従って、第2処理モードでは、前記対速度感度は、第1処理モードよりも相対的に低いものとなる。また、第1処理モードでは、Vb_x_sを“0”に近づけるように車輪体5に付与される駆動力が、第2処理モードよりも強めに作用することとなる。
 また、第1処理モードと第2処理モードとのいずれにおいても、Y軸方向の制御用目標重心速度Vb_x_mdfdは、基本的には、“0”となる。従って、本実施形態では、Y軸方向での車両系重心点の移動速度Vb_yは、変動し難いものとなる。
 なお、例えばγ1,γ2を“1”に設定することによって、第2処理モードでの第3操作量成分u3_xを“0”にすることもできる。このようにした場合には、第2処理モードにおいて、X軸方向の重心速度Vb_x_sの影響を全く受けないようにして、ωdotw_x_cmdを決定することができることとなる。
 ここで、本実施形態の車両1と本発明との対応関係を補足しておく。
 本実施形態では、X軸方向、Y軸方向がそれぞれ本発明における第1の方向、第2の方向に相当する。
 また、傾斜センサ52と、図7のSTEP2の処理とによって、本発明における傾斜角度計測手段が実現される。そして、基体9の傾斜角度θb_x,θb_yが本発明における搭載部の傾斜角度に相当する。
 また、前記車両系重心点(詳しくは車両・乗員全体重心点)が、本発明における車両の所定の代表点に相当し、前記重心速度算出部72によって、本発明における代表点速度計測手段が実現される。そして、重心速度Vb_x,Vb_yが本発明における代表点の移動速度に相当する。
 また、制御ユニット50が実行する図7のSTEP9,10の処理によって、本発明における移動動作部制御手段が実現される。
 また、前記仮想車輪回転角加速度指令ωdotw_x_cmd,ωdotw_y_cmdがそれぞれの本発明における制御用操作量に相当する。この場合、詳しくは、ωdotw_x_cmdが第1制御用操作量に相当し、ωdotw_y_cmdが第2制御用操作量に相当する。
 また、本実施形態では、第1処理モードでの前記第1ゲイン係数K1_x、第3ゲイン係数K3_x、第1操作量成分u1_x(式07xの右辺第1項)、第3操作量成分u3_x(式07xの右辺第3項)がそれぞれ、本発明における第1aゲイン係数、第1bゲイン係数、第1a操作量成分、第1b操作量成分に相当し、式07xの演算処理が第1合成処理に相当する。また、第2処理モードでの第3ゲイン係数K3_x、第3操作量成分u3_x(式07xの右辺第3項)がそれぞれ、本発明における第1dゲイン係数、第1d操作量に相当する。なお、本実施形態では、第1bゲイン係数と第1dゲイン係数とは同一の値となるが、第3ゲイン係数K3_xの値を第1処理モードと第2処理モードとで異ならせるようにしてもよい。
 また、本実施形態では、前記STEP23-1の判断処理によって、本発明における加速要求判断手段が実現される。そして、このSTEP23-1の判断結果が肯定的となる場合が、本発明における所定の第1条件が成立する場合に相当する。さらに、STEP24-1の判断結果が肯定的となる場合、あるいは、STEP24-2とSTEP24-4との判断結果がそれぞれ、肯定的、否定的となる場合が、本発明における所定の第2条件が成立する場合に相当する。
[第2実施形態]
次に、本発明の第2実施形態を図17~図20を参照して説明する。なお、本実施形態は、制御ユニット50の一部の処理のみが第1実施形態と相違するものとである。従って、本実施形態の説明では、第1実施形態と同一の構成部分又は同一の機能部分については、第1実施形態と同一の参照符号を用い、詳細な説明を省略する。
 本実施形態では、制御ユニット50は、前記した図7のSTEP9の車両制御演算処理を実行するための機能として、図17のブロック図で示す機能を備えている。
 この場合、本実施形態では、制御ユニット50は、第1実施形態と同様に、偏差演算部70、重心速度算出部72、ゲイン調整部78、重心速度制限部76、姿勢制御演算部80、モータ指令演算部82、遅延要素84を備える。
 一方、本実施形態では、制御ユニット50は、第1実施形態における前記要求重心速度生成部74の代わりに、前記第3操作量成分u3_xに係わる第3ゲイン係数K3_xの値を調整するためのゲイン調整用パラメータKr_3を決定する速度ゲイン調整部106が備えられている。そして、この速度ゲイン調整部106に、重心速度算出部72で算出された重心速度推定値Vb_x_sが入力されるようになっている。また、姿勢制御演算部80には、前記第1実施形態で説明した前記基体傾斜角度偏差計測値θbe_xy_s、基体傾斜角速度計測値θbdot_xy_s、ゲイン調整パラメータKr_xy、制御用目標重心速度Vb_xy_mdfdの他に、速度ゲイン調整部106が決定するゲイン調整用パラメータKr_3が入力されるようになっている。
 なお、本実施形態では、搭乗モードと自立モードとのいずれの動作モードにおいても、重心速度制限部76の処理(図12に示した処理)で使用する要求重心速度Vb_x_aim,Vb_y_aimの値は常に“0”とされる。このため、図17では、重心速度制限部76にVb_x_aim,Vb_y_aimを入力することを省略している
 そして、本実施形態における制御ユニット50の処理は、速度ゲイン調整部106の処理と、姿勢制御演算部80の一部の処理とが、第1実施形態と相違し、それ以外は、第1実施形態と同じである。
 本実施形態は、車両1に概略前後方向の推進力が付加された場合に、第1実施形態の如くX軸方向の要求重心速度Vb_x_aim、ひいては、制御用目標重心速度Vb_x_mdfdを可変的に調整する代わりに、第1ゲイン係数K3_xの値を調整するようにしたものである。
 そして、この第1ゲイン係数K3_xの値の調整のためのゲイン調整パラメータKr3_xが、前記速度ゲイン調整部106により逐次決定される。この場合、速度ゲイン調整部106は、図18のフローチャートに示す処理によって、ゲイン調整パラメータKr3_xを決定する。
 以下説明すると、速度ゲイン調整部106は、まず、前記STEP21と同じ処理をSTEP31で実行し、重心速度絶対値変化率DVb_x_sを算出する。
 次いで、速度ゲイン調整部106は、STEP32の判断処理を実行する。この判断処理は、前記STEP22と同じ判断処理であり、現在の演算処理モード(仮想車輪回転角加速度指令ωdotw_x_cmd,ωdotw_x_cmdの決定の仕方のモード)が第1処理モードであるか、第2処理モードであるかが判断される。この場合、第1実施形態と同様に、第1処理モードは、車両1の移動速度を減衰させる(前記第3操作量成分u3_xyの機能によってX軸方向及びY軸方向の重心速度Vb_xyを“0”に近づけていく)ように、ωdotw_x_cmd,ωdotw_x_cmdを決定する処理モードである。また、第2処理モードは、第1処理モードに比して、X軸方向での車両1の移動速度の減衰が生じ難いように(X軸方向における第3操作量成分u3_xが“0”もしくはそれに近い値になるように)、ωdotw_x_cmd,ωdotw_x_cmdを決定する処理モードである。
 そして、速度ゲイン調整部106は、上記STEP32において、現在の演算処理モードが第1処理モードである場合と、第2処理モードである場合とで、それぞれ、次に、STEP33の演算処理、STEP34の演算処理を実行し、ゲイン調整パラメータKr3_xの基本値Kr3_x_1(以下、ゲイン調整パラメータ基本値Kr3_x_1という)を決定する。
 STEP33における第1処理モード用の演算処理は、図19のフローチャートに示す如く実行される。具体的には、速度ゲイン調整部106は、まず、前記STEP23-1と同じ判断処理をSTEP33-1で実行することによって、車両1の加速要求が発生したか否かを判断する。
 そして、STEP33-1の判断結果が否定的である場合(加速要求が発生していない場合)には、速度ゲイン調整部106は、STEP33-4において、ゲイン調整パラメータ基本値Kr3_x_1の値を“1”に決定し、図19の処理を終了する。なお、この場合、演算処理モードは変更されないので、次回の制御処理周期においても、演算処理モードは、第1処理モードに維持されることとなる。
 また、STEP33-1の判断結果が肯定的である場合(加速要求が発生した場合)には、速度ゲイン調整部106は、STEP33-2において、ゲイン調整パラメータ基本値Kr3_x_1の値を“0”に決定する。さらに、速度ゲイン調整部106は、STEP33-3において、演算処理モードを第1処理モードから第2処理モードに変更し、図19の処理を終了する。
 以上が、STEP33における第1処理モード用の演算処理である。
 次に、STEP34における第2処理モード用の演算処理は、図20のフローチャートに示す如く実行される。具体的には、速度ゲイン調整部106は、まず、前記STEP24-1と同じ判断処理をSTEP34-1で実行することによって、車両1の減速要求が発生したか否かを判断する。
 そして、この判断結果が肯定的である場合(減速要求が発生した場合)には、速度ゲイン調整部106は、STEP34-9において、ゲイン調整パラメータ基本値Kr3_x_1の値を“1”に決定する。さらに、速度ゲイン調整部106は、STEP34-10において、演算処理モードを第2処理モードから第1処理モードに戻し、図20の処理を終了する。
 また、STEP34-1の判断結果が否定的である場合(減速要求が発生していない場合)には、前記STEP24-2と同じ判断処理をSTEP34-2で実行することによって、加速要求が解消したか否かを判断する。そして、速度ゲイン調整部106は、STEP34-2の判断結果が肯定的である場合(加速要求が継続しているものと見なされる場合)には、STEP34-3において、ゲイン調整パラメータ基本値Kr3_x_1の値を“0”に決定し、図20の処理を終了する。なお、この場合、演算処理モードは、次回の制御処理周期でも第2処理モードに維持される。
 一方、STEP34-2の判断結果が肯定的である場合には、速度ゲイン調整部106は、前記STEP24-4と同じ判断処理をSTEP34-4で実行することによって、現在の制御処理周期が、加速要求が継続している状態から解消状態に切替わった直後のタイミングであるか否かを判断する。
 そして、速度ゲイン調整部106は、前記STEP24-5と同じ処理をSTEP34-5で実行することによって、加速要求の解消後の経過時間を計時するためのカウントダウンタイマの計時値CNTを初期化する(計時値CNTとして所定時間Tmを設定する)。
 次いで、速度ゲイン調整部106は、STEP34-6において、ゲイン調整パラメータ基本値Kr3_x_1の値を“0”に決定し、図20の処理を終了する。なお、この場合、演算処理モードは、次回の制御処理周期でも第2処理モードに維持される。
 STEP34-4の判断結果が否定的である場合(加速要求の解消後で、加速要求及び減速要求が無い状態が継続している場合)には、速度ゲイン調整部106は、前記STEP24-7と同じ処理をSTEP34-7で実行することによって、カウントダウンタイマの計時値CNTをデクリメントする。
 次いで、速度ゲイン調整部106は、前記STEP24-8と同じ判断処理をSTEP34-8で実行することによって、カウントダウンタイマの計時が終了したか否かを判断する。
 このSTEP34-8の判断結果が肯定的である場合(加速要求が解消してから、所定時間Tmが未だ経過していない場合)には、速度ゲイン調整部106は、STEP34-6において、ゲイン調整パラメータ基本値Kr3_x_1の値を“0”に決定し、図20の処理を終了する。なお、この場合、演算処理モードは、次回の制御処理周期でも第2処理モードに維持される。
 また、STEP34-8の判断結果が否定的となった場合(加速要求が解消してから、所定時間Tmが経過した場合)には、速度ゲイン調整部106は、前記したSTEP34-9、34-10の処理を実行し、図20の処理を終了する。すなわち、速度ゲイン調整部106は、要求重心速度生成部74は、ゲイン調整パラメータ基本値Kr3_x_1の値を“1”に決定すると共に、演算処理モードを第2処理モードから第1処理モードに戻す。
 以上が、STEP34における第2処理モード用の演算処理である。
 図18の説明に戻って、速度ゲイン調整部106は、以上の如くSTEP33、34のいずれかの演算処理を実行した後、次に、その演算処理により決定したゲイン調整パラメータ基本値Kr3_x_1をフィルタに通す処理をSTEP35で実行することによって、最終的にゲイン調整パラメータKr3_xを決定する。
 該フィルタは、例えば一次遅れのフィルタ(ローパスフィルタ)である。従って、ゲイン調整パラメータKr3_xは、ある時定数でゲイン調整パラメータ基本値Kr3_x_1に追従していくものとなる。このため、ゲイン調整パラメータKr3_xは、滑らかに変化しつつ、Kr3_x_1に追従する(定常的には、Kr3_x_1に一致する)こととなる。
 以上が速度ゲイン調整部106の処理の詳細である。
 補足すると、前記第1実施形態におけるSTEP25で用いるフィルタに関する時定数と同様に、STEP35で用いるフィルタの時定数を、演算処理モード等に応じて変化させてもよい。例えば、第1処理モードでは、フィルタの時定数を相対的に長めの時間値に設定し、第2処理モードではフィルタの時定数を相対的に短めの時間値に設定してもよい。また、例えば、第1処理モードでは、減速要求が発生している状況では、減速要求が発生していない状況よりも、上記フィルタの時定数を短めに設定し、ゲイン調整パラメータKr3_xが、より素早く“1”に復帰するようにしてもよい。
 また、例えば、演算処理モードが第2処理モードから第1処理モードに切替わった直後においては、ゲイン調整パラメータ基本値Kr3_x_1自体を、所定の変化速度(所定の時間的変化率)で“0”から“1”まで徐々に変化させていくようにしてもよい。
 本実施形態では、以上の如く決定されるゲイン調整パラメータKr3_xが入力される姿勢制御演算部80は、以下に説明するようにように操作量(制御入力)としての前記仮想車輪回転角加速度指令ωwdot_x_cmd,ωwdot_y_cmdを決定する。そして、姿勢制御演算部80は、第1実施形態と同様に、ωwdot_x_cmd,ωwdot_y_cmdを積分することにより、仮想車輪回転速度指令ωw_x_com,ωw_y_comを決定して出力する。
 この場合、本実施形態では、Y軸方向に係わる仮想車輪回転角加速度指令ωwdot_y_cmdの決定の仕方は、前記第1実施形態と同じである。すなわち、姿勢制御演算部80は、ゲイン調整部78から入力されるゲイン調整パラメータKr_yを用いて前記式09yにより第1~第3ゲイン係数Ki_y(i=1,2,3)を決定する。そして、姿勢制御演算部80は、この決定した第1~第3ゲイン係数Ki_y(i=1,2,3)を用いて、前記式07yの演算によりωwdot_y_cmdを決定する。
 一方、本実施形態では、X軸方向に係わる仮想車輪回転角加速度指令ωwdot_x_cmdの決定の仕方は、前記第1実施形態と相違する。具体的には、姿勢制御演算部80は、まず、第1実施形態と同様に、ゲイン調整部78から入力されるゲイン調整パラメータKr_xを用いて前記式09xにより第1~第3ゲイン係数Ki_x(i=1,2,3)を決定する。そして、姿勢制御演算部80は、これらの第1~第3ゲイン係数Ki_x(i=1,2,3)と、前記速度ゲイン調整部部106から入力されるゲイン調整パラメータKr3_xとを用いて、次式07x2の演算により、仮想車輪回転角加速度指令ωwdot_x_cmdを決定する。
 
ωwdot_x_cmd=K1_x・θbe_x_s+K2_x・θbdot_x_s
         +(K3_x・Kr3)・(Vb_x_s-Vb_x_mdfd)  
                         ……式07x2
 
 すなわち、姿勢制御演算部80は、前記式07xの右辺の第3項(第3操作量成分u3_x)におけるゲイン係数K3_xの代わりに、このゲイン係数K3_xにゲイン調整パラメータKr3_xを乗じてなるゲイン係数(=K3_x・Kr3_x)を用いた式によって、ωwdot_x_cmdを決定する。この場合、Kr3=0である場合には、式07x2の第3項は、“0”となる。
 本実施形態は、以上説明した事項以外は、前記第1実施形態と同一である。
 かかる本実施形態によれば、前記第1実施形態と同様の作用効果を奏することができる。
 より具体的には、演算処理モードが前記第1処理モードに継続的に維持されている状況で、第1実施形態の場合と同様に、車両1に対して、概略前後方向の推進力を付加した場合を想定する。
 なお、ここでは、理解の便宜上、実際の重心速度Vb_x,Vb_yが、前記リミット処理部104での出力値V_x_lim2,V_y_lim2の強制的な制限が行なわれない程度の範囲内に収まるものとする。すなわち、車両1の動作状況は、標準的(通常的)な動作状況であり、制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdが、それぞれ要求重心速度Vb_x_aim,Vb_y_aim(本実施形態では、Vb_x_aim=Vb_y_aim=0)に一致するものとする。。
 この場合、車両1に推進力を付加することによって、前記STEP33-1の判断結果が肯定的となると(加速要求が発生すると)、図19のSTEP33-3の処理によって、演算処理モードが第1処理モードから第2処理モードに変更される。
 そして、この第2処理モードでは、減速要求が発生しない状況(STEP34-1の判断結果が否定的となる状況)において、加速要求が解消した後、所定時間Tmが経過するまでの期間において、ゲイン調整パラメータ基本値Kr3_x_1の値が“0”に決定される。
 このため、ゲイン調整パラメータKr3_xは、“0”に保持されるか、又は、“1”よりも“0”に近い値に決定されることとなる。
 ここで、前記式07x2から明らかなように、本実施形態では、X軸方向に関しては、K3_x・Kr3_xが、Vb_x_sの変化に対するωdotw_x_cmdの変化の感度(対速度感度)に相当するものとなる。そして、上記の如く、第2処理モードでKr3_xが“0”に保持されるか、又は、“1”よりも“0”に近い値に決定される状況では、K3_x・Kr3_x、ひいては、対速度感度は“0”もしくはこれに近い値になる。従って、ωdotw_x_cmdは、Vb_x_sに対する依存性が低いものとなり、Vb_x_sが変化してもωdotw_x_cmdが変化しないか、もしくは、その変化が微小なものとなる。ひいては、電動モータ31R,31Lによって車輪体5にX軸方向で付与される駆動力は、Vb_x_sの値に応じた規制を受け難いものとなる。その結果、車両1が付加された推進力によって乗員の前後方向で円滑に加速することとなる。
 次に、第2処理モードにおいて、車両1への推進力の付加が終了し、加速要求が継続的に解消すると(図20のSTEP34-2、34-4の判断結果がそれぞれ、肯定的、否定的になると)、所定時間Tmが経過するまでの期間において、ゲイン調整パラメータ基本値Kr3_x_1の値が引き続き、“0”に保持される。このため、ゲイン調整パラメータKr3_xも“0”に保持されることとなる。
 そして、このような状況では、前記対速度感度も“0”となり、ωdotw_x_cmdは、Vb_x_sの影響を受けないものとなる。従って、加速要求が解消しても、その解消後、所定時間Tmが経過するまでの期間は、減速要求が発生しない限り、電動モータ31R,31Lによって車輪体5にX軸方向で付与される駆動力は、Vb_x_sの値の影響を受けないものとなる。
 この結果、第1実施形態と同様に、車両1の加速後、所定時間Tmの期間は、乗員がその上体を積極的に動かすような操縦操作をせずとも、車両1が滑走するような状態が維持されることとなる。
 次に、第2処理モードにおいて、減速要求が発生するか、又は、加速要求の解消後、所定時間Tmが経過した場合には、ゲイン調整パラメータ基本値Kr3_x_1の値が“0”から“1”に変更される。このため、ゲイン調整パラメータKr3_xは、“0”から“1”に近づいていき、最終的に、“1”に保たれる。
 この場合、前記式07x2の第3項(第3操作量成分u3_x)が制動方向で増加していくこととなる。このため、車両1のX軸方向の移動速度が減衰していくこととなる。
 補足すると、本実施形態における第1処理モードでは、前記対速度感度は、前記第3ゲイン係数K3_x(>K3_x・Kr3_x)に一致するか、又は、K3_x・Kr3_xからK3_xに近づいていく。従って、本実施形態においても、第2処理モードでは、前記対速度感度は、第1処理モードよりも相対的に低いものとなる。また、第1処理モードでは、Vb_x_sを“0”に近づけるように車輪体5に付与される駆動力が、第2処理モードよりも強めに作用することとなる。
 また、Y軸方向に関しては、第1処理モードと第2処理モードとで、第3ゲイン係数K3_yは同じである。従って、第1処理モードと第2処理モードとのいずれにおいても、第1実施形態と同様に、Y軸方向での車両系重心点の移動速度Vb_yは、変動し難いものとなる。
 なお、本実施形態では、第2処理モードでのSTEP34-3、34-6において、ゲイン調整パラメータ基本値Kr3_x_1の値を“0”としたが、STEP34-3、34-6の両方又は一方において、Kr3_x_1の値を“0”よりも若干大きい値(例えば0.1)に設定してもよい。このようにしても、基本的には、第2処理モードにおける対速度感度を十分に小さくして、車輪体5にX軸方向で付与される駆動力が、Vb_x_sの値の影響を受け難いようにすることができる。
 ここで、本実施形態の車両1と本発明との対応関係を補足しておく。
 本実施形態では、第1処理モードでの前記第1ゲイン係数K1_x、第3ゲイン係数K3_x、第1操作量成分u1_x(式07xの右辺第1項)、第3操作量成分u3_x(式07xの右辺第3項)がそれぞれ、本発明における第1aゲイン係数、第1bゲイン係数、第1a操作量成分、第1b操作量成分に相当し、式07xの演算処理が第1合成処理に相当する。また、第2処理モードでの第3ゲイン係数K3_xとゲイン調整パラメータKr3_xとの積(=K3_x・Kr3_x)、式07x2の右辺第3項がそれぞれ、本発明における第1dゲイン係数、第1d操作量に相当する。
 また、本実施形態では、前記STEP33-1の判断処理によって、本発明における加速要求判断手段が実現される。そして、このSTEP33-1の判断結果が肯定的となる場合が、本発明における所定の第1条件が成立する場合に相当する。さらに、STEP34-1の判断結果が肯定的となる場合、あるいは、STEP34-2とSTEP34-4との判断結果がそれぞれ、肯定的、否定的となる場合が、本発明における所定の第2条件が成立する場合に相当する。
 上記以外は、本実施形態と本発明との対応関係が、第1実施形態の場合と同様である。
 次に、以上説明した実施形態に係わる変形態様に関していくつか説明しておく。
 前記各実施形態では、Y軸方向に関しては、前記第1処理モードと第2処理モードとで、同じ処理により操作量としての仮想車輪回転角加速度指令ωwdot_y_cmdを決定するようにしたが、X軸方向の場合と同様に、第1処理モードと第2処理モードとで異なル処理によりωwdot_y_cmdを決定するようにしてもよい。この場合、例えば、Y軸方向の要求重心速度Vb_y_aimを第1実施形態と同様に、第1処理モードと第2処理モードとで変化させるように決定すればよい。あるいは、例えば、前記式07yの第3項のゲイン係数を調整するためのゲイン調整パラメータを第2実施形態と同様の手法で、第1処理モードと第2処理モードとで変化させるように決定し、このゲイン調整パラメータを、式07yの第3項にさらに乗算してなる式によって、ωwdot_y_cmdを決定するようにすればよい。
 また、前記実施形態では、図1及び図2に示した構造の車両1を例示したが、本発明における倒立振子型車両1は、本実施形態で例示した車両に限られるものではない。
 具体的には、本実施形態の車両1の移動動作部としての車輪体5は一体構造のものであるが、例えば、前記特許文献3の図10に記載されているような構造のものであってもよい。すなわち、剛性を有する円環状の軸体に、複数のローラをその軸心が該軸体の接線方向に向くようにして回転自在に外挿し、これらの複数のローラを軸体に沿って円周方向に配列させることによって、車輪体を構成してもよい。
 さらに移動動作部は、例えば、特許文献2の図3に記載されているようなクローラ状の構造のものであってもよい。
 あるいは、例えば、前記特許文献2の図5、特許文献3の図7、もしくは特許文献1の図1に記載されているように、移動動作部を球体により構成し、この球体を、アクチュエータ装置(例えば前記車輪体5を有するアクチュエータ装置)によりX軸周り方向及びY軸周り方向に回転駆動するように車両を構成してもよい。
 また、前記実施形態では、乗員の搭乗部としてシート3を備えた車両1を例示したが、本発明における倒立振子型車両は、例えば特許文献3の図8に見られるように、乗員が両足を載せるステップと、そのステップ上で起立した乗員が把持する部分とを基体に組付けた構造の車両であってもよい。
 このように本発明は、前記特許文献1~3等に見られる如き、各種の構造の倒立振子型車両に適用することが可能である。
 さらには、本発明における倒立振子型車両は、移動動作部を複数(例えば、左右方向に2つ、あるいは、前後方向に2つ、あるいは、3つ以上)備えていてもよい。
 また、移動動作部は、全方向に移動可能である必要はなく、1方向にのみ移動可能なものであってもよい。この場合、運搬対象物体の搭載部は、1軸周りでのみ傾動自在に基体に組付けられておればよい。例えば、前記実施形態での車輪体5の代わりに、X軸方向(乗員の前後方向)にのみ移動可能で、且つ、X軸周り方向での傾動が不能である(又は傾動し難い)移動動作部(例えば、Y軸方向の軸周りにのみ回転自在な複数の車輪をY軸方向に同軸心に並列させてなる移動動作部を車両1に備えてもよい。そして、この場合、運搬対象物体の搭載部をY軸方向の軸周りにのみ傾動自在とし、その傾動に応じて移動動作部がX軸方向に移動するようにしてもよい。
 また、本発明における倒立振子型車両は、基体が乗員の搭乗部と共に傾動することは必須ではない。例えば、複数の移動動作部を有する場合に、これらの移動動作部を組付ける基体が床面に対して傾動しないようにすると共に、この基体に対して搭乗部を傾動自在に組付けるようにしてもよい。
 1…倒立振子型車両、3…シート(搭乗部)、5…車輪体(移動動作部)、7…アクチュエータ装置、9…基体、52…傾斜センサ(傾斜角度計測手段)、72…重心速度算出部(代表点速度計測手段)、STEP2…傾斜姿勢計測手段、STEP9,10…移動動作部制御手段、STEP23-1…加速要求判断手段。

Claims (9)

  1.  床面上を移動可能な移動動作部と、該移動動作部を駆動するアクチュエータ装置と、該移動動作部及びアクチュエータ装置が組付けられた基体と、鉛直方向に対して傾動自在に前記基体に組付けられた乗員の搭乗部とを備えた倒立振子型車両の制御装置であって、
     前記搭乗部の実際の傾斜角度に応じた出力を生成する傾斜角度計測手段と、
     前記車両の所定の代表点の移動速度に応じた出力を生成する代表点速度計測手段と、
     前記移動動作部に付与する駆動力を規定する制御用操作量を決定し、その決定した制御用操作量に応じて前記移動動作部の移動動作を前記アクチュエータ装置を介して制御する移動動作部制御手段とを備え、
     前記移動動作部制御手段は、前記搭乗部に乗員が搭乗した状態で前記制御用操作量を決定するための処理モードとして、第1処理モードと、該第1処理モードの処理の実行中に所定の第1条件が成立した場合に該第1処理モードから移行する第2処理モードとを有すると共に、前記第1処理モードでは、前記傾斜角度計測手段の出力が示す前記搭乗部の傾斜角度の計測値と所定値の目標傾斜角度との偏差である傾斜偏差と、前記代表点速度計測手段の出力が示す前記代表点の移動速度の計測値と所定値の目標移動速度との偏差である速度偏差とを“0”に近づけるように、少なくとも前記傾斜偏差と速度偏差とに応じて前記制御用操作量を決定し、前記第2処理モードでは、前記代表点の移動速度の計測値又は該代表点の移動速度の計測値のうちの所定方向の成分の変化に対する前記制御用操作量の変化の感度が前記第1処理モードよりも相対的に低くなるようにしつつ、前記傾斜偏差及び速度偏差のうちの少なくとも傾斜偏差を“0”に近づけるように、少なくとも該傾斜偏差に応じて前記制御用操作量を決定することを特徴とする倒立振子型車両の制御装置。
  2.  請求項1記載の倒立振子型車両の制御装置において、
     前記移動動作部は、床面上を互いに直交する第1の方向及び第2の方向を含む全方向に移動可能に構成されていると共に、前記搭乗部は、前記第1の方向の軸周りと第2の方向の軸周りとの2軸周りに傾動自在に前記基体に組付けられており、
     前記移動動作部制御手段は、前記第1処理モードでは、前記傾斜偏差のうちの第2の方向の軸周り成分である第1傾斜偏差成分と、第1の方向の軸周り成分である第2傾斜偏差成分と、前記速度偏差のうちの第1の方向の成分である第1速度偏差成分と第2の方向の成分である第2速度偏差成分とをそれぞれ“0”に近づけるように前記制御用操作量を決定し、前記第2処理モードでは、前記代表点の移動速度の計測値のうちの少なくとも第1の方向の成分の変化に対する前記制御用操作量の変化の感度が前記第1処理モードよりも相対的に低くなるようにしつつ、前記第1傾斜偏差成分、第2傾斜偏差成分、第1速度偏差成分及び第2速度偏差成分のうちの少なくとも第1傾斜偏差成分及び第2傾斜偏差成分を“0”に近づけるように前記制御用操作量を決定することを特徴とする倒立振子型車両の制御装置。
  3.  請求項2記載の倒立振子型車両の制御装置において、
     前記第1の方向及び第2の方向は、それぞれ前記搭乗部に搭乗した乗員の前後方向、左右方向に設定されており、前記移動動作部制御手段は、前記第2処理モードでは、少なくとも前記代表点の移動速度の計測値のうちの第1の方向の成分の変化に対する前記制御用操作量の変化の感度が前記第1処理モードよりも相対的に低くなり、且つ、前記代表点の移動速度の計測値のうちの第2の方向の成分の変化に対する前記制御用操作量の変化の感度が前記第1処理モードよりも低くならないようにしつつ、前記第1傾斜偏差成分、第2傾斜偏差成分、第1速度偏差成分及び第2速度偏差成分のうちの少なくとも第1傾斜偏差成分、第2傾斜偏差成分及び第2速度偏差成分を“0”に近づけるように、少なくとも該第1傾斜偏差成分、第2傾斜偏差成分及び第2速度偏差成分に応じて前記制御用操作量を決定することを特徴とする倒立振子型車両の制御装置。
  4.  請求項1記載の倒立振子型車両の制御装置において、
     前記移動動作部は、床面上を少なくとも前記所定方向としての第1の方向に移動可能であると共に、前記制御用操作量は、前記第1の方向での移動動作部の移動動作を制御するために該移動動作部に付与する駆動力を規定する第1制御用操作量を少なくとも含み、
     前記移動動作部制御手段は、
     前記第1処理モードでは、少なくとも前記第1の方向に直交する方向の軸周りでの前記傾斜偏差に第1aゲイン係数を乗じてなる第1a操作量成分と前記第1の方向での前記速度偏差に第1bゲイン係数を乗じてなる第1b操作量成分とを含む所定の複数種類の操作量成分を合成する第1合成処理により前記第1制御用操作量を決定し、
     前記第2処理モードでは、前記第1の方向での前記速度偏差に前記第1bゲイン係数よりも小さい絶対値を有する第1cゲインを乗じてなる第1c操作量成分と、前記第1の方向での前記代表点の移動速度の計測値と該計測値に一致又は追従させるように該計測値に応じて可変的に決定した前記第1の方向での代表点の目標移動速度との偏差に第1dゲイン係数を乗じてなる第1d操作量成分と、“0”とのうちのいずれか1つを前記第1b操作量成分に代わりに用いる前記第1合成処理により前記第1制御用操作量を決定することを特徴とする倒立振子型車両の制御装置。
  5.  請求項2記載の倒立振子型車両の制御装置において、
     前記制御用操作量は、前記第1の方向での移動動作部の移動動作を制御するために該移動動作部に付与する駆動力を規定する第1制御用操作量と、前記第2の方向での移動動作部の移動動作を制御するために該移動動作部に付与する駆動力を規定する第2制御用操作量とから構成され、
     前記移動動作部制御手段は、
     前記第1処理モードでは、少なくとも前記第1傾斜偏差成分に第1aゲイン係数を乗じてなる第1a操作量成分と、前記第1速度偏差成分に第1bゲイン係数を乗じてなる第1b操作量成分とを含む所定の複数種類の操作量成分を合成する第1合成処理により前記第1制御用操作量を決定すると共に、少なくとも前記第2傾斜偏差成分に第2aゲイン係数を乗じてなる第2a操作量成分と、前記第2速度偏差成分に第2bゲイン係数を乗じてなる第2b操作量成分とを含む所定の複数種類の操作量成分を合成する第2合成処理により前記第2制御用操作量を決定し、
     前記第2処理モードでは、前記第1速度偏差に前記第1bゲイン係数よりも小さい絶対値を有する第1cゲインを乗じてなる第1c操作量成分と、前記代表点の移動速度の計測値のうちの前記第1の方向の成分と該成分に一致又は追従させるように該成分に応じて可変的に決定した該第1の方向での前記代表点の目標移動速度との偏差に第1dゲイン係数を乗じてなる第1d操作量成分と、“0”とのうちのいずれか1つを前記第1b操作量成分に代わりに用いる前記第1合成処理により前記第1制御用操作量を決定すると共に、前記第1処理モードと同一の前記第2合成処理により前記第2制御用操作量を決定することを特徴とする倒立振子型車両の制御装置。
  6.  請求項1記載の倒立振子型車両の制御装置において、
     前記移動動作部制御手段は、前記第2処理モードの処理の実行中に所定の第2条件が成立した場合に、前記第1処理モードの処理を再開することを特徴とする倒立振子型車両の制御装置。
  7.  請求項6記載の倒立振子型車両の制御装置において、
     前記代表点の移動速度を増速させる要求である加速要求が発生した否かを判断する加速要求判断手段を備え、
     前記移動動作部制御手段は、前記第1処理モードの処理の実行中に前記加速要求判断手段の判断結果が肯定的になった場合に、前記所定の第1条件が成立したものとして、前記第2処理モードの処理の実行を開始することを特徴とする倒立振子型車両の制御装置。
  8.  請求項7記載の倒立振子型車両の制御装置において、
     前記移動動作部制御手段は、前記第2処理モードの処理の実行中に、前記加速要求判断手段の判断結果が否定的となる状態が所定時間、継続した場合に、前記所定の第2条件が成立したものとして前記第1処理モードの処理を再開することを特徴とする倒立振子型車両の制御装置。
  9.  請求項7記載の倒立振子型車両の制御装置において、
     前記車両は、前記アクチュエータ装置により前記移動動作部を駆動することによって発生する車両の推進力以外の外力が付加された場合に、該外力によって前記代表点の移動速度を増速可能な車両であり、
     前記加速要求判断手段は、少なくとも前記代表点の移動速度の計測値の大きさの時間的変化率又は該計測値のうちの前記所定方向の成分の大きさの時間的変化率である速度変化率に基づいて前記加速要求が発生したか否かを判断することを特徴とする倒立振子型車両の制御装置。
PCT/JP2009/004732 2009-09-18 2009-09-18 倒立振子型車両の制御装置 WO2011033581A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US13/394,618 US8478490B2 (en) 2009-09-18 2009-09-18 Control device of inverted pendulum type vehicle
PCT/JP2009/004732 WO2011033581A1 (ja) 2009-09-18 2009-09-18 倒立振子型車両の制御装置
DE112009005250.9T DE112009005250B4 (de) 2009-09-18 2009-09-18 Regelungs-/Steuerungsvorrichtung eines inverspendelartigen Fahrzeugs
JP2011531655A JP5306473B2 (ja) 2009-09-18 2009-09-18 倒立振子型車両の制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/004732 WO2011033581A1 (ja) 2009-09-18 2009-09-18 倒立振子型車両の制御装置

Publications (1)

Publication Number Publication Date
WO2011033581A1 true WO2011033581A1 (ja) 2011-03-24

Family

ID=43758210

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/004732 WO2011033581A1 (ja) 2009-09-18 2009-09-18 倒立振子型車両の制御装置

Country Status (4)

Country Link
US (1) US8478490B2 (ja)
JP (1) JP5306473B2 (ja)
DE (1) DE112009005250B4 (ja)
WO (1) WO2011033581A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8522902B2 (en) * 2009-09-18 2013-09-03 Honda Motor Co., Ltd. Inverted pendulum type vehicle
JP6095436B2 (ja) 2013-03-27 2017-03-15 本田技研工業株式会社 倒立振子型車両
JP6081271B2 (ja) 2013-03-29 2017-02-15 本田技研工業株式会社 倒立振子型車両
JP6111119B2 (ja) 2013-03-29 2017-04-05 本田技研工業株式会社 倒立振子型車両
JP6062785B2 (ja) 2013-03-29 2017-01-18 本田技研工業株式会社 倒立振子型車両
JP6081270B2 (ja) 2013-03-29 2017-02-15 本田技研工業株式会社 倒立振子型車両
JP6062784B2 (ja) 2013-03-29 2017-01-18 本田技研工業株式会社 倒立振子型車両
JP6099483B2 (ja) 2013-05-31 2017-03-22 本田技研工業株式会社 倒立振子型車両
JP6099485B2 (ja) 2013-05-31 2017-03-22 本田技研工業株式会社 倒立振子型車両
JP6099484B2 (ja) 2013-05-31 2017-03-22 本田技研工業株式会社 倒立振子型車両
JP7398111B2 (ja) 2018-05-24 2023-12-14 学校法人 芝浦工業大学 耐食性及び強度に優れたアルミニウム合金材及びその製造方法
US11286649B2 (en) * 2019-07-12 2022-03-29 Caterpillar Inc. Estimating yaw of rotating body using velocity measurements

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004129435A (ja) * 2002-10-04 2004-04-22 Sony Corp 搬送装置、制御方法、及び駆動機構
JP2006282160A (ja) * 2005-03-07 2006-10-19 Univ Of Tokyo 全方向移動ロボット及び該ロボットの全方向移動駆動機構
WO2008139740A1 (ja) * 2007-05-16 2008-11-20 Honda Motor Co., Ltd. 全方向に移動可能な乗り物

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3070015B2 (ja) 1990-11-30 2000-07-24 本田技研工業株式会社 不安定車両の走行制御装置
US6543564B1 (en) * 1994-05-27 2003-04-08 Deka Products Limited Partnership Balancing personal vehicle
JP5292283B2 (ja) 2007-04-20 2013-09-18 本田技研工業株式会社 全方向駆動装置及びそれを用いた全方向移動車
US8342270B2 (en) 2007-04-20 2013-01-01 Honda Motor Co., Ltd. Omni-directional drive device and omni-directional vehicle using the same
US20100168993A1 (en) * 2007-06-29 2010-07-01 Kabushikikaisha Equos Research Vehicle
JP4605204B2 (ja) * 2007-10-24 2011-01-05 トヨタ自動車株式会社 倒立振子型移動体、及びその制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004129435A (ja) * 2002-10-04 2004-04-22 Sony Corp 搬送装置、制御方法、及び駆動機構
JP2006282160A (ja) * 2005-03-07 2006-10-19 Univ Of Tokyo 全方向移動ロボット及び該ロボットの全方向移動駆動機構
WO2008139740A1 (ja) * 2007-05-16 2008-11-20 Honda Motor Co., Ltd. 全方向に移動可能な乗り物

Also Published As

Publication number Publication date
JP5306473B2 (ja) 2013-10-02
US8478490B2 (en) 2013-07-02
DE112009005250T5 (de) 2013-01-24
JPWO2011033581A1 (ja) 2013-02-07
DE112009005250B4 (de) 2015-05-28
US20120173086A1 (en) 2012-07-05

Similar Documents

Publication Publication Date Title
JP5306473B2 (ja) 倒立振子型車両の制御装置
JP5306474B2 (ja) 倒立振子型車両の制御装置
JP5386282B2 (ja) 歩行補助装置
JP5504272B2 (ja) 倒立振子型車両の制御装置
JP5414804B2 (ja) 倒立振子型車両の制御装置
WO2011036696A1 (ja) 倒立振子型車両
JP5414801B2 (ja) 倒立振子型車両の制御装置
JP5330200B2 (ja) 倒立振子型車両の制御装置
JP5404800B2 (ja) 倒立振子型車両
JP5414800B2 (ja) 倒立振子型車両の制御装置
WO2011033578A1 (ja) 倒立振子型車両の制御装置
JP5306470B2 (ja) 全方向移動車両の制御装置
JP5379235B2 (ja) 倒立振子型車両の制御装置
JP5306471B2 (ja) 倒立振子型車両の制御装置
JP5303413B2 (ja) 倒立振子型移動体の制御装置
JP5386283B2 (ja) 倒立振子型移動体、制御装置、および、制御方法
JP5330199B2 (ja) 倒立振子型車両の制御装置
JP5330198B2 (ja) 倒立振子型車両の制御装置
JP5535856B2 (ja) 全方向移動体操作システム及び全方向移動体操作方法
JP2011073628A (ja) 倒立振子型移動体の制御装置
JP5306951B2 (ja) 倒立振子型車両
JP5297960B2 (ja) 倒立振子型車両の制御装置、制御方法、および制御プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09849441

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011531655

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 13394618

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1120090052509

Country of ref document: DE

Ref document number: 112009005250

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09849441

Country of ref document: EP

Kind code of ref document: A1