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

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

Info

Publication number
WO2011033577A1
WO2011033577A1 PCT/JP2009/004727 JP2009004727W WO2011033577A1 WO 2011033577 A1 WO2011033577 A1 WO 2011033577A1 JP 2009004727 W JP2009004727 W JP 2009004727W WO 2011033577 A1 WO2011033577 A1 WO 2011033577A1
Authority
WO
WIPO (PCT)
Prior art keywords
speed
gravity
center
value
target
Prior art date
Application number
PCT/JP2009/004727
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 DE112009005246.0T priority Critical patent/DE112009005246B4/de
Priority to US13/391,690 priority patent/US8583342B2/en
Priority to JP2011531651A priority patent/JP5306471B2/ja
Priority to PCT/JP2009/004727 priority patent/WO2011033577A1/ja
Publication of WO2011033577A1 publication Critical patent/WO2011033577A1/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
    • B60VEHICLES IN GENERAL
    • B60BVEHICLE WHEELS; CASTORS; AXLES FOR WHEELS OR CASTORS; INCREASING WHEEL ADHESION
    • B60B19/00Wheels not otherwise provided for or having characteristics specified in one of the subgroups of this group
    • B60B19/003Multidirectional wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60BVEHICLE WHEELS; CASTORS; AXLES FOR WHEELS OR CASTORS; INCREASING WHEEL ADHESION
    • B60B3/00Disc wheels, i.e. wheels with load-supporting disc body
    • B60B3/04Disc wheels, i.e. wheels with load-supporting disc body with a single disc body not integral with rim, i.e. disc body and rim being manufactured independently and then permanently attached to each other in a second step, e.g. by welding
    • B60B3/048Disc wheels, i.e. wheels with load-supporting disc body with a single disc body not integral with rim, i.e. disc body and rim being manufactured independently and then permanently attached to each other in a second step, e.g. by welding the rim being rotatably mounted to the wheel disc
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2200/00Type of vehicle
    • B60Y2200/10Road Vehicles
    • B60Y2200/12Motorcycles, Trikes; Quads; Scooters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62JCYCLE SADDLES OR SEATS; AUXILIARY DEVICES OR ACCESSORIES SPECIALLY ADAPTED TO CYCLES AND NOT OTHERWISE PROVIDED FOR, e.g. ARTICLE CARRIERS OR CYCLE PROTECTORS
    • B62J45/00Electrical equipment arrangements specially adapted for use as accessories on cycles, not otherwise provided for
    • B62J45/40Sensor arrangements; Mounting thereof
    • B62J45/41Sensor arrangements; Mounting thereof characterised by the type of sensor
    • B62J45/415Inclination sensors
    • B62J45/4152Inclination sensors for sensing longitudinal inclination of the cycle
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/60Other road transportation technologies with climate change mitigation effect
    • Y02T10/72Electric energy management in electromobility

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 of the present invention is to provide an inverted pendulum type vehicle control device that can simplify the maneuvering of the vehicle and improve the maneuverability. .
  • a control device for an omnidirectional vehicle includes a moving operation unit that can move on the floor, 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,
  • a target representative point speed magnitude during a predetermined time period, or a holding target speed magnitude amount that is a magnitude of the component in the predetermined direction of the target representative point speed The target for executing the speed holding process, which is a process for determining the target representative point speed so as to be held constant at the same value as the holding target speed magnitude amount related to the target representative point speed determined immediately before the start of the period.
  • Speed determining means At least the target moving speed of the representative point and the actual inclination angle of the riding section are brought close to the target representative point speed determined by the target speed determining means and a predetermined target inclination angle of the riding section, respectively.
  • a moving operation unit control means for controlling the moving operation of the moving operation unit via the actuator device is provided (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 has an actual moving speed of the representative point at least between the target representative point speed determined by the target speed determining means and a predetermined target inclination angle of the riding section.
  • the movement operation of the movement operation unit is controlled so that the actual inclination angle of the boarding unit is close to each other. That is, the movement operation of the movement operation unit is controlled so that the actual movement speed of the representative point of the vehicle and the actual inclination angle of the riding section follow or approach the target representative point speed and the target inclination angle, respectively.
  • the speed holding process is executed by the target speed determination means when the predetermined condition is satisfied in a situation where the target representative point speed having at least the component in the predetermined direction is not “0” is determined.
  • the holding target speed magnitude amount (the target representative point speed magnitude or the magnitude of the component in the predetermined direction of the target representative point speed) during the predetermined time period is immediately before the start of the period. Is held constant at the same value as the holding target speed magnitude.
  • the magnitude of the actual moving speed of the representative point or a predetermined direction of the moving speed is not required without requiring fine adjustment of the inclination angle of the riding section.
  • the vehicle can be driven so that the magnitude of the component is kept constant at the magnitude immediately before the start of the period. Therefore, according to the inverted pendulum type vehicle of the first invention, it is possible to simplify the operation of the vehicle and improve the controllability.
  • the predetermined condition for example, a condition relating to a vehicle operation 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 target inclination angle of the predetermined value related to the inclination angle of the riding section may be, 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 in which the center of gravity of the whole (including the occupant) is located immediately above or almost immediately above the tilting center (tilting fulcrum) of the riding section that is, around the tilting center due to gravity acting on the center of gravity. It is preferable to adopt the inclination angle of the riding section when the moment is “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 predetermined direction matches the predetermined direction, and the target representative point speed and the component of the target representative point speed in the predetermined direction match.
  • 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
  • the riding unit is configured to move around the axis in the first direction and the first direction. It may be assembled to the base body so as to be tiltable about two axes with the axis in the two directions.
  • the boarding unit has the first direction and the second direction as the first direction and the second direction of the occupant who has boarded the boarding unit, respectively, around the axis in the first direction and in the second direction.
  • the target speed determining means is assembled to the base body so as to be tiltable around two axes, the target representative point speed in the first direction of the target representative point speed.
  • the component is held constant as the holding target velocity magnitude
  • the component in the second direction of the target representative point velocity is held at “0” or attenuated to “0”. It is preferable to determine the target representative point speed (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 second aspect of the invention in particular, it becomes easy to keep the moving speed of the representative point of the vehicle in the front-and-rear direction of a standard (generally frequent) occupant constant as the moving direction of the vehicle.
  • the maneuverability can be suitably improved.
  • the target movement speed immediately before the start of the speed holding process has a component in the second direction (occupant left-right direction)
  • the component in the second direction is held at “0” in the speed holding process. Or decays to “0”.
  • the actual movement speed of the representative point of the vehicle varies in the left-right direction of the occupant due to the fluctuation of the upper body of the occupant. It is possible to suppress the movement speed, and it becomes easier for the movement speed to be directed in the front-rear direction of the passenger.
  • the moving operation unit control means follows the speed holding process so that the target representative point speed is attenuated to “0”. It is preferable to execute a process of determining (third invention).
  • the magnitude of the moving speed of the representative point of the vehicle or the magnitude of the component in the predetermined direction of the moving speed is kept constant for a predetermined time period, and then the magnitude is increased.
  • a series of moving operations of decreasing the height can be easily performed without requiring fine adjustment of the inclination angle of the riding section.
  • acceleration request determination means for determining whether or not an acceleration request, which is a request to increase the holding target speed magnitude amount, has occurred
  • the moving operation unit control means includes: When the determination result of the acceleration request determination unit becomes affirmative, an acceleration process that is a process of determining the target representative point speed so as to increase the holding target speed magnitude amount is executed, and the acceleration It is preferable to start the speed holding process when the predetermined condition is satisfied during the execution of the process (fourth invention).
  • the holding target speed magnitude is increased by the acceleration process.
  • the target speed vector is determined so as to Thereby, the magnitude of the moving speed of the representative point of the vehicle or the magnitude of the component in the predetermined direction of the moving speed can be increased in accordance with the generation of the acceleration request.
  • the predetermined condition is satisfied during execution of the speed increasing process (for example, when a predetermined condition including a condition that the determination result of the acceleration request determining unit is negative is satisfied)
  • the speed is increased.
  • the holding process is started. Therefore, after acceleration of the vehicle, it is automatically determined that the magnitude of the moving speed of the representative point of the vehicle or the magnitude of the component in the predetermined direction of the moving speed is kept constant, and thereafter the damping is attenuated. Can be done.
  • the moving speed of the representative point is increased by the external force.
  • the following modes are preferable. That is, it comprises speed change rate measuring means for generating an output corresponding to the magnitude of the actual moving speed of the representative point or the temporal change rate of the magnitude of the component in the predetermined direction of the actual moving speed.
  • the acceleration request determining means determines whether or not the acceleration request has occurred based on at least the measured value of the temporal change rate indicated by the output of the speed change rate measuring means, and the target speed determining means is When the measurement value of the temporal change rate becomes smaller than a predetermined threshold during the speed increasing process, the speed holding process is started assuming that the predetermined condition is satisfied ( (5th invention).
  • the acceleration request determination means determines whether or not the acceleration request has occurred based on at least the measurement value of the temporal change rate. Judgment can be made according to the state. As a result, the speed increasing process can be executed in accordance with the actual operation state of the vehicle. In particular, when the measured speed change rate is a temporal change rate of the magnitude of the component in the predetermined direction of the actual moving speed of the representative point, The speed increasing process can be started in accordance with the actual motion state of the vehicle in the predetermined direction.
  • the magnitude of the actual moving speed of the representative point of the vehicle or the magnitude of the component in the predetermined direction of the actual moving speed is increased. This can be performed smoothly so as to follow the actual operating state of the vehicle.
  • the speed holding process when the measured value of the temporal change rate becomes smaller than a predetermined threshold value, the speed holding process is executed assuming that the predetermined condition is satisfied.
  • the speed holding process can be started in a state where the necessity of increasing the magnitude of the actual moving speed of the point or the magnitude of the component in the predetermined direction of the actual moving speed is eliminated. For this reason, at an appropriate timing after acceleration of the vehicle, it is automatically maintained that the magnitude of the actual moving speed of the representative point of the vehicle or the magnitude of the component in the predetermined direction of the actual moving speed is kept constant. Can be done automatically.
  • the measurement value of the temporal change rate is a predetermined threshold value.
  • a necessary condition or necessary and sufficient condition for determining that an acceleration request has occurred, it can be determined whether or not an acceleration request has occurred.
  • the boarding portion of the vehicle is provided with a riding section for the passenger, and the riding section is arranged so that the passenger who has boarded the riding section can land his / her feet at any time.
  • the occupant can apply the external force to the vehicle by kicking the floor with his / her foot.
  • an external force may be appropriately applied to the vehicle by an operator or assistant outside the vehicle, or an appropriate device.
  • the actual inclination angle of the riding section is converged to the target inclination angle (the inclination deviation which is the deviation between the measured value of the actual inclination angle and the target inclination angle is “0”).
  • the actual moving speed of the representative point center of gravity
  • the target representative point speed the measured value of the actual moving speed of the representative point and the target representative point speed.
  • a control operation amount that defines the driving force applied to the moving operation unit for example, the target acceleration of the moving operation unit, It is preferable to determine a target value of force to be applied to the moving operation unit, and control the operation of the moving operation unit via the actuator device according to the control operation amount.
  • FIG. 8 is a block diagram showing processing functions related to STEP 9 in FIG. 7.
  • 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 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 moving operation of the wheel body 5 is performed so that the moving speed of the vehicle 1 is once held at a constant speed and then attenuated to stop the vehicle 1.
  • Control is performed (braking control of the wheel body 5 is performed).
  • a state where the center of gravity of the single vehicle 1 is located almost directly above the center point of the wheel body 5 (center point on the axis C ⁇ b> 2) (more accurately, (The state where the center of gravity is located almost directly above the ground contact surface of the wheel body 5) is the target posture, and the actual posture of the base 9 is converged to the target posture.
  • the movement operation of the wheel body 5 is controlled so that the vehicle 1 can stand on its own without tilting.
  • “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.
  • a load sensor 54 for detecting whether or not the vehicle is rotating, and rotary encoders 56R and 56L as angle sensors for detecting the rotational angles and rotational angular velocities of the output shafts of the electric motors 31R and 31L, respectively. Installed in place.
  • 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 an occupant 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.
  • 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_cmd that 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 rotation angular velocity command ⁇ w_y_cmd that is the target value of the rotation angular velocity of the virtual wheel 62_y rotating 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_cmd by using the following values 07x and 07y using these input values.
  • 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_cmd is determined by adding three manipulated variable components (three terms on the right side of equations 07x and 07y).
  • the gain coefficients K1_x and K1_y are feedback gains related to the inclination angle of the base 9 (or the sheet 3), and the gain coefficients K2_x and K2_y are the inclination angular velocities (time of the inclination angle) of the base 9 (or the sheet 3).
  • the feedback gain and gain coefficients K3_x and K3_y related to the dynamic change rate have a meaning as a feedback gain related to the moving speed of the vehicle system center-of-gravity point (a predetermined representative point of the vehicle 1).
  • 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 posture control calculation unit 80 calculates the virtual wheel rotation angular acceleration command ⁇ wdot_x_cmd 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 attitude control calculation unit 80 calculates the virtual wheel rotation angular acceleration command ⁇ wdot_x_cmd 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_cmd and ⁇ wdot_y_cmd as described above, the attitude control calculation unit 80 then integrates the ⁇ wdot_x_cmd and ⁇ wdot_y_cmd by the integrator 80f, thereby obtaining the virtual wheel rotation speed command. Determine ⁇ w_x_cmd and ⁇ w_y_cmd.
  • the wheel rotation angular acceleration command ⁇ dotw_x_cmd may be calculated.
  • the wheel rotation angular acceleration command ⁇ dotw_y_cmd 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 rotation speed commands ⁇ w_x_cmd and ⁇ w_y_cmd determined as described above by the attitude control calculation unit 80 to the motor command calculation unit 82, and the motor command calculation unit By executing the process 82, the speed command ⁇ _R_cmd of the electric motor 31R and the speed command ⁇ _L_cmd 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_cmd, ⁇ w_y_cmd, ⁇ _R_cmd, and ⁇ _L_cmd, respectively, and sets ⁇ _R_cmd and ⁇ _L_cmd as unknowns.
  • the respective speed commands ⁇ _R_cmd and ⁇ _L_cmd of the electric motors 31R and 31L are determined.
  • the control unit 50 executes the control calculation process, so that the attitude of the base body 9 basically has the base body tilt angle deviation measured value ⁇ be_x_s in any of the operation modes of the boarding mode and the independent mode.
  • ⁇ be_y_s so as to maintain a posture where both are “0” (hereinafter, this posture is referred to as a basic posture), in other words, the vehicle system center-of-gravity point (vehicle / occupant overall center of gravity point or vehicle individual center-of-gravity point)
  • the virtual wheel rotation angular acceleration command ⁇ dotw_xy_cmd 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 keeping the attitude of the base body 9 in the basic attitude.
  • An angular acceleration command ⁇ dotw_xy_cmd 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_cmd is determined so that the center of gravity of the vehicle system is substantially 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_cmd obtained by integrating the components of ⁇ dotw_xy_cmd 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_cmd and the moving speed of the virtual wheel 62_y corresponding to ⁇ w_y_cmd, 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 a passenger
  • a steering operation such as a passenger
  • 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.
  • the vehicle 1 when an occupant of the vehicle 1 tries to actively increase the moving speed of the vehicle 1 (the moving speed of the center of gravity of the vehicle system) when the vehicle 1 starts, etc.
  • the vehicle 1 is subjected to kicking the floor, thereby applying to the vehicle 1 a propulsive force that increases the moving speed of the vehicle 1 (a propulsive force generated by the frictional force between the passenger's foot and the floor).
  • an external assistant or the like may add a propulsive force that increases the moving speed of the vehicle 1 in response to a request from a passenger of the vehicle 1.
  • the moving speed of the vehicle 1 that the occupant or the like is trying to increase is usually the moving speed of the occupant in the front-rear direction
  • the propulsive force applied to the vehicle 1 for the increased speed is usually, the driving force is in the X-axis direction or a direction close thereto.
  • the required center-of-gravity speed generation unit 74 is 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 the vehicle 1 (specifically, the moving speed of the vehicle system center of gravity point) in the X-axis direction, the requested center-of-gravity speed in the X-axis direction is determined accordingly. Vb_x_aim is sequentially determined.
  • the required center-of-gravity velocity Vb_x_aim is determined to be attenuated after being kept constant for a certain time.
  • the requested center-of-gravity velocity Vb_y_aim in the Y-axis direction is constantly held at “0” regardless of whether or not an acceleration request is generated.
  • 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.
  • a braking mode there are three types of calculation processing modes: a braking mode, a speed tracking mode, and a speed hold mode.
  • the braking mode is a mode in which the required center-of-gravity velocity basic value Vb_x_aim1 is set to “0” in order to attenuate the moving speed of the vehicle 1 or keep it at “0”.
  • the speed follow-up mode is a mode in which the required center-of-gravity speed basic value Vb_x_aim1 is determined so as to follow (substantially match) the center-of-gravity speed estimated value Vb_x_s as the actual movement speed of the vehicle system center-of-gravity point in the X-axis direction. It is.
  • the speed hold mode is a mode for determining the required center-of-gravity speed basic value Vb_y_aim1 to be constant.
  • a filter time constant Ta_x that defines the response speed for following the required center-of-gravity velocity Vb_x_aim with respect to the required center-of-gravity velocity basic value Vb_x_aim1 is determined.
  • the process to perform is also executed.
  • the calculation processing mode initial calculation processing mode in a state in which the control unit 50 is initialized when the control unit 50 is started is a braking mode.
  • the requested center-of-gravity velocity generation unit 74 next calculates the calculation of STEP 23 in STEP 22 in the case where the current calculation processing mode is the braking mode, the velocity follow-up mode, and the velocity hold mode, respectively.
  • the process, the calculation process of STEP24, and the calculation process of STEP25 are executed, and the required center-of-gravity velocity basic value Vb_y_aim1 and the filter time constant Ta_x are determined.
  • the calculation process corresponding to each mode is executed as follows.
  • the calculation process of the braking 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 or not 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 (> 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_s> DV1 means that the absolute value
  • the requested center-of-gravity speed generation unit 74 next performs the center-of-gravity speed In STEP 23-4, it is determined whether or not the absolute value change rate DVb_x_s is smaller than a preset negative third threshold value DV3_x ( ⁇ 0). 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 STEP23-4 is Become positive.
  • the required center-of-gravity speed generation unit 74 determines that the required center-of-gravity speed basic value Vb_x_aim1 The constant Ta_x is determined, and the process of FIG.
  • the required center-of-gravity speed generation unit 74 determines the required center-of-gravity speed basic value Vb_x_aim1 and the filter time constant Ta_x in STEP 23-6. And the process of FIG. 15 is terminated.
  • STEP23-6 as in STEP23-5, “0” is set as the required center-of-gravity velocity basic value Vb_x_aim.
  • a third response time constant ⁇ 3_x having a predetermined value set in advance is set as the filter time constant Ta_x.
  • This third response time number ⁇ 3_x is a time constant having a shorter time than the second response time constant ⁇ 2_x.
  • the required center-of-gravity velocity generation unit 74 determines the required center-of-gravity velocity basic value Vb_x_aim1 and the filter time constant Ta_x in STEP 23-2. Further, the required gravity center speed generation unit 74 changes the calculation processing mode (the calculation processing mode in the next control processing cycle) from the braking mode to the speed following mode in STEP 23-3, and ends the processing of FIG.
  • a value obtained by multiplying the estimated gravity center velocity value Vb_x_s in the X-axis direction input from the gravity center velocity calculation unit 72 by a preset ratio ⁇ _x is determined as the required gravity velocity basic value Vb_x_aim1. Is done.
  • the ratio ⁇ _x is set to a positive value (for example, 0.8) slightly smaller than “1”.
  • the processing in STEP 23-2 is to match the method of determining Vb_x_aim1 and Ta_x with the speed tracking mode starting from the next control processing cycle.
  • the value of the ratio ⁇ _x is slightly smaller than “1”.
  • the value of the ratio ⁇ _x may be set to “1” or a value slightly larger than that.
  • the ratio ⁇ _x in order to prevent the movement speed of the vehicle 1 that the occupant perceives sensibly (sensually) from being recognized as being higher than the actual movement speed, the ratio ⁇ _x The value is set to a value slightly smaller than “1”.
  • a first response time constant ⁇ 1_x having a predetermined value set in advance is set as the filter time constant Ta_x.
  • the first response time constant ⁇ 1_x is set to a time value relatively shorter than the second response time constant ⁇ 2_x.
  • the first response time constant ⁇ 1_x may be the same value as the third response time constant ⁇ 3_x.
  • the speed follow-up mode calculation process in STEP 24 is executed as shown in the flowchart of FIG. Specifically, the required center-of-gravity velocity generation unit 74 first executes the same determination process as in STEP 23-4, that is, a determination process as to whether or not a deceleration request for the vehicle 1 has occurred in STEP 24-1.
  • the requested center-of-gravity velocity generation unit 74 next executes the same processing as STEP 23-6 in STEP 24-6, thereby obtaining “0 as the requested center-of-gravity velocity basic value Vb_x_aim1”. ", And a third response time constant ⁇ 3_x is set as the filter time constant Ta_x. Further, the requested center-of-gravity velocity generation unit 74 changes the calculation processing mode in the next control processing cycle to the braking mode in STEP 24-7, and ends the processing in FIG.
  • the required center-of-gravity velocity generation unit 74 next executes STEP 23- in STEP 24-2.
  • the required center-of-gravity velocity basic value Vb_x_aim1 and the filter time constant Ta_x are determined. That is, the requested center-of-gravity speed generation unit 74 determines a value obtained by multiplying the input center-of-gravity speed estimated value Vb_x_s by the ratio ⁇ _x as the requested center-of-gravity speed basic value Vb_x_aim1. Further, the required center-of-gravity velocity generation unit 74 sets the first response time constant ⁇ 1_x as the filter time constant Ta_x.
  • the requested center-of-gravity speed generation unit 74 determines whether or not the estimated 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_x in STEP 24-3.
  • the second threshold value DV2_x is set to a negative predetermined value that is larger than the third threshold value DV3_x (closer to “0” than DV3_x).
  • the second threshold DV2_x may be set to “0” or a positive value slightly larger than “0” (however, a value smaller than the first threshold DV1_x).
  • the determination process of STEP24-3 is to determine the transition timing from the speed follow mode to the speed hold mode. Then, when the determination result in STEP 24-3 is negative, the requested center-of-gravity velocity generation unit 74 ends the processing in FIG. 16 as it is. In this case, since the arithmetic processing mode is not changed, the arithmetic processing mode is maintained in the speed tracking mode even in the next control processing cycle.
  • the requested center-of-gravity velocity generation unit 74 considers that the acceleration request for vehicle 1 (acceleration request in the front-rear direction) has been completed, and in STEP 24-4, Initialize the countdown timer. Then, the requested center-of-gravity velocity generation unit 74 changes the calculation processing mode from the velocity follow-up mode to the velocity hold mode in STEP 24-5, and ends the processing in FIG.
  • the countdown timer is a timer that measures the elapsed time after the start of the speed hold mode that starts from the next control processing cycle.
  • a preset initial value Tm_x is set to the timer time value CNT_x.
  • the initial value Tm_x means a set value of time for which the speed hold mode is to be continued.
  • the calculation process of the speed hold mode in STEP 25 is executed as shown in the flowchart of FIG. Specifically, the requested center-of-gravity velocity generation unit 74 first executes the same determination process as in STEP 23-4, that is, a determination process as to whether or not a deceleration request for the vehicle 1 has occurred in STEP 25-1.
  • the requested center-of-gravity velocity generation unit 74 then executes the same processing as STEP 23-6 in STEP 25-2, thereby obtaining “0 as the requested center-of-gravity velocity basic value Vb_x_aim1”. ", And a third response time constant ⁇ 3_x is set as the filter time constant Ta_x. Further, the requested gravity center speed generation unit 74 changes the calculation processing mode in the next control processing cycle from the speed hold mode to the braking mode in STEP 25-3, and ends the processing of FIG.
  • the requested center-of-gravity velocity generation unit 74 performs the same determination process as STEP 23-1, that is, the outline.
  • STEP 25-4 a process for determining whether or not there is a request for acceleration of the vehicle 1 in the front-rear direction is executed.
  • the required center-of-gravity velocity generation unit 74 determines in STEP 23- in STEP 25-5.
  • the required center-of-gravity velocity basic value Vb_x_aim1 and the filter time constant Ta_x are determined. That is, the requested center-of-gravity speed generation unit 74 determines a value obtained by multiplying the input center-of-gravity speed estimated value Vb_x_s by the ratio ⁇ _x as the requested center-of-gravity speed basic value Vb_x_aim1. Further, the required center-of-gravity velocity generation unit 74 sets the first response time constant ⁇ 1_x as the filter time constant Ta_x.
  • the requested center-of-gravity velocity generation unit 74 changes the calculation processing mode in the next control processing cycle from the velocity hold mode to the velocity follow-up mode in STEP 25-6, and ends the processing of FIG.
  • the required center-of-gravity velocity generation unit 74 determines that the countdown timer in STEP 25-7 Decrement the time value CNT_x. That is, the time value CNT_x is updated by subtracting the predetermined value ⁇ T (time of the control processing cycle) from the current value of the time value CNT_x.
  • the requested center-of-gravity velocity generation unit 74 determines in STEP 25-8 whether or not the count value CNT_x 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 that the requested center-of-gravity velocity basic value Vb_x_aim1 and the filter time constant Ta_x are determined in STEP 25-9, assuming that the calculation processing mode is maintained in the velocity hold mode. The process ends.
  • the current value of Vb_x_aim1 is determined to be the same value as the previous value. Further, as Ta_x, a predetermined value of a time shorter than the second response time constant ⁇ 2_x, for example, the first response time constant ⁇ 1_x is set.
  • the required gravity center speed generation is performed.
  • the unit 74 performs the same processing as STEP 23-5 in STEP 25-10, thereby setting “0” as the required center-of-gravity velocity basic value Vb_x_aim1, and setting the second response time constant ⁇ 2_x as the filter time constant Ta_x To do. Further, the requested center-of-gravity speed generation unit 74 changes the calculation processing mode in the next control processing cycle from the speed hold mode to the braking mode in STEP 25-11, and ends the processing of FIG.
  • the requested center-of-gravity velocity generation unit 74 executes any one of STEPs 23 to 25 as described above, and then filters the requested center-of-gravity velocity basic value Vb_x_aim1 determined by the operation processing.
  • the process (filtering process) passed through is executed in STEP26.
  • the filter is a first-order lag filter (low-pass filter) whose response time constant is the filter time constant Ta_x determined in any one of STEPs 23 to 25.
  • the transfer function is 1 / (1 + Ta_x ⁇ S ). Therefore, the output value of the filter obtained in STEP 26 follows the required center-of-gravity velocity basic value Vb_x_aim1 with a time constant of Ta_x.
  • the follow-up response speed changes according to the value of the filter time constant Ta_x variably determined in STEPs 23 to 25. More specifically, when the first response time constant ⁇ 1_x or the third response time constant ⁇ 3_x is set as the filter time constant Ta_x, the follow-up response speed becomes a faster speed. Further, when the second response time constant ⁇ 2_x is set as the filter time constant Ta_x, the response speed of the follow-up becomes a slower speed.
  • the required centroid speed generation unit 74 finally determines the required centroid speed 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 second response time constant ⁇ 2_x is set to the same value as the first response time constant ⁇ 1_x or the third response time constant ⁇ 3_x or a relatively short time value, and the arithmetic processing mode is Immediately after switching from the speed hold mode to the braking mode, the required center-of-gravity speed basic value Vb_x_aim1 itself may be gradually changed to “0” at a predetermined change speed (predetermined temporal change rate). .
  • 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 braking mode.
  • the output value of the filter obtained in STEP 26 of FIG. 14 falls within a range that is not subject to the compulsory restriction by the limiter in STEP 27. That is, the required center-of-gravity speed Vb_x_aim determined sequentially in STEP 27 is assumed to match the value obtained by passing the required center-of-gravity speed basic value Vb_x_aim1 through the filter.
  • a first response time constant ⁇ 1_x having a relatively short time is set as the filter time constant Ta_x. Therefore, the required center-of-gravity velocity Vb_x_aim follows Vb_x_aim1 with quick response.
  • 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 ⁇ _x ⁇ 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 arithmetic processing mode is changed to the braking mode. .
  • the moving speed of the vehicle 1 is attenuated.
  • the third response time constant ⁇ 3_x for a relatively short time is set as the filter time constant Ta_x, so that the required center-of-gravity velocity Vb_x_aim in the X-axis direction quickly decays to “0”. . Therefore, the moving speed of the vehicle 1 is also attenuated relatively quickly.
  • the required center-of-gravity velocity basic value Vb_x_aim1 is set immediately before the start of the speed hold mode during a predetermined time period (the time of the initial value Tm_x of the countdown timer) after the start of the speed hold mode. It will be held constant at the same value as the determined value.
  • the requested center-of-gravity speed Vb_x_aim which is sequentially determined by the requested center-of-gravity speed generation unit 74, is also determined to be maintained at a constant value (more precisely, to follow the constant value Vb_x_aim1).
  • the first response time constant ⁇ 1_x having a relatively short time is set as the filter time constant Ta_x. Therefore, the required center-of-gravity velocity Vb_x_aim follows Vb_x_aim1 with quick response. Therefore, Vb_x_aim in the speed hold mode basically matches Vb_x_aim1.
  • the required center-of-gravity speed Vb_x_aim determined as described above is determined as the control target center-of-gravity speed Vb_x_mdfd in the X-axis direction. 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 moving speed of the wheel body 5 is controlled so that the actual moving speed Vb_x of the vehicle system center-of-gravity point in the X-axis direction is kept constant at the speed after acceleration. Therefore, the actual running state of the vehicle 1 in this situation is to slide in the X-axis direction (the occupant's front-rear direction) at a substantially constant speed without the occupant moving the upper body actively. It becomes a state to do.
  • the countdown timer of the countdown timer is maintained while maintaining a situation where neither an acceleration request nor a deceleration request is generated (a situation where the determination results in STEP25-1 and 25-4 in FIG. 17 are both negative).
  • the calculation processing mode is changed from the speed hold mode to the braking mode by the processing of STEP25-11 in FIG.
  • 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. 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 moving speed of the wheel body 5 is controlled so that the moving speed of the wheel body 5 is continuously attenuated from the magnitude in the speed hold mode.
  • the moving speed of the vehicle 1 in the X-axis direction is increased. Subsequently, the moving speed of the vehicle 1 in the X-axis direction is kept substantially constant for a predetermined time represented by the initial value Tm_x of the countdown timer. Subsequently, the moving speed of the vehicle 1 in the X-axis direction gradually attenuates.
  • the vehicle 1 As described above, in the vehicle 1 according to the present embodiment, after an occupant or the like applies a propulsive force substantially in the X-axis direction to the vehicle 1, the vehicle 1 slides at a constant speed in the X-axis direction (the occupant's longitudinal direction). Subsequently, a series of movement operations of the vehicle 1 such as deceleration are automatically performed without requiring a complicated maneuvering operation by an occupant or the like. For this reason, the vehicle 1 can be easily steered and the vehicle 1 can be excellent in maneuverability.
  • the front-rear direction (X-axis direction) and the left-right direction (Y-axis direction) of the passenger boarding the vehicle 1 correspond to the first direction and the second direction in the present invention, respectively. Further, the X-axis direction corresponds to a predetermined direction in the present invention.
  • the required center-of-gravity speed generation unit 74 implements a target speed determination means in the present invention.
  • the vehicle system center-of-gravity point (more precisely, 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 speeds Vb_x and Vb_y are representative points in the present invention. It corresponds to the moving speed.
  • the required center-of-gravity speeds Vb_x_aim and Vb_y_aim which are target values of the moving speed of the vehicle system center-of-gravity point, correspond to the target representative point speed in the present invention.
  • the absolute value of the required center-of-gravity velocity Vb_x_aim in the X-axis direction corresponds to the retention target velocity magnitude in the present invention.
  • the center-of-gravity speeds Vb_x and Vb_y as the actual moving speed of the representative point of the vehicle are measured by the representative-point speed measuring means realized by the center-of-gravity speed calculator 72.
  • the movement center control means in the present invention is realized by the center-of-gravity speed limiting unit 76, the attitude control calculation unit 80, and the motor command calculation unit 82.
  • the inclination angles ⁇ b_x and ⁇ b_y of the base body 9 correspond to the inclination angles of the mounting portions in the present invention
  • the base body inclination angle target values ⁇ b_x_obj and ⁇ b_y_obj correspond to the target inclination angles in the present invention.
  • the base body tilt angles ⁇ b_x and ⁇ b_y corresponding to the actual tilt angle of the mounting portion are measured by the tilt angle measuring means realized by the tilt sensor 52 and the processing of STEP2 in FIG.
  • the determination result of STEP24-3 in FIG. 16 becomes affirmative during the processing in the velocity follow-up mode, and the acceleration request and deceleration are processed during the subsequent processing in the velocity hold mode. No request is generated (specifically, the determination results of STEPs 23-1 and 23-4 in FIG. 15 and the determination results of STEPs 25-1 and 25-4 in FIG. 17 are both negative). This corresponds to a case where a predetermined condition is satisfied.
  • the speed holding process in the present invention is realized by the process in which STEPs 26 and 27 are combined.
  • the acceleration request determination means in the present invention is realized by the determination processing in STEPs 23-1 and 25-4 executed by the required center-of-gravity velocity generation portion 74.
  • the speed change rate measuring means in the present invention is realized by the process of the gravity center speed calculation unit 72 and the process of STEP 21 of FIG.
  • the estimated gravity center velocity absolute value change rate DVb_x_s corresponds to the measurement value of the temporal change rate in the present invention.
  • the speed follow-up mode process in a state where no deceleration request is generated corresponds to the speed increasing process in the present invention.
  • whether or not an acceleration request has occurred is determined based on the temporal change rate of the absolute value of the center-of-gravity velocity estimated value Vb_x_s in the X-axis direction.
  • the presence or absence of an acceleration request may be determined based on the temporal change rate of the absolute value of the velocity vector of the vehicle system center of gravity point having the center of gravity speed estimated values Vb_x_s and Vb_y_x as two components.
  • the estimated gravity center speed absolute value change rate DVb_x_s instead of the estimated gravity center speed absolute value change rate DVb_x_s, processing using the time rate change rate of the absolute value of the velocity vector of the vehicle system center of gravity (vehicle / occupant overall center of gravity) (see FIGS. 14 to 17).
  • the required center-of-gravity velocity Vb_xy_aim may be determined by processing.
  • the center-of-gravity speed Vb_x in the X-axis direction is set as the holding target speed magnitude.
  • the absolute value of the speed vector of the vehicle system center-of-gravity point (vehicle / occupant overall center-of-gravity point) is set as the holding target speed magnitude. It may be a quantity.
  • An example embodiment in this case (hereinafter, referred to as a second embodiment) can be realized as follows, for example.
  • the requested center-of-gravity speed generation unit 74 uses the input center-of-gravity speed estimated values Vb_x_s and Vb_y_s in STEP 21 of FIG. 14 to determine the speed of the vehicle system center-of-gravity point (vehicle / occupant overall center-of-gravity point).
  • the required center-of-gravity velocity generation unit 74 performs the above-described determination processing (steps 23-1, 23-4, 24-1, 24-2, 25-1, 25-4) in FIGS.
  • the temporal change rate DVb2_x_s of the absolute value of the velocity vector of the vehicle system center-of-gravity point (vehicle / occupant overall center-of-gravity point) calculated as described above is used.
  • the required center-of-gravity velocity generation unit 74 performs the above-described STEP 23-2, 23-5, 23-6, 24-2, 24-6, 25-2, 25-5, 25-9, and 25-10, respectively.
  • the required center-of-gravity velocity basic value Vb_y_aim1 in the Y-axis direction is determined as the required center-of-gravity velocity basic value Vb_x_aim1 in the X-axis direction. Determine with the same method.
  • Vb_y_aim1 the previous value of Vb_y_aim1 is set as the current value as it is.
  • a value obtained by multiplying the center-of-gravity velocity estimated value Vb_y_s in the Y-axis direction by a predetermined ratio ⁇ _y is set as Vb_y_aim1.
  • the ratio ⁇ _y may be the same as the ratio ⁇ _x in the X-axis direction (for example, 0.8), but may be set to a different value.
  • the required center-of-gravity velocity generation unit 74 passes the required center-of-gravity velocity basic value Vb_x_aim1 in the X-axis direction through a filter (low-pass filter having a first-order lag characteristic), and in addition, the required center-of-gravity velocity in the Y-axis direction
  • the basic value Vb_y_aim1 is passed through a filter (first-order lag characteristic low-pass filter).
  • the response time constant of the filter that inputs Vb_y_aim1 may be the same as the response time constant ( ⁇ 1_x or ⁇ 2_x or ⁇ 3_x) of the filter that passes Vb_x_aim1.
  • the response time constant of the filter that passes the required center-of-gravity velocity basic value Vb_y_aim1 in the Y-axis direction is set to X
  • the direction of the speed vector composed of Vb_x_aim and Vb_y_aim is made closer to the X-axis direction (the occupant's longitudinal direction). (Finally matches the X-axis direction).
  • the required center-of-gravity velocity generation unit 74 performs a limit process on the output of the filter relating to the X-axis direction to determine the requested center-of-gravity velocity Vb_x_aim in the X-axis direction, and in addition to the Y-axis direction
  • the filter output is also subjected to limit processing in the same manner as in the X-axis direction, and the required center-of-gravity velocity Vb_y_aim in the Y-axis direction is determined.
  • the second embodiment may be the same as the above-described embodiment except for the matters described above. According to the second embodiment, after an occupant or the like applies propulsive force to the vehicle 1, the sliding in which the center-of-gravity speeds Vb_x and Vb_y in both the X-axis direction and the Y-axis direction are kept constant, and the subsequent deceleration are performed. Can be performed automatically without requiring a complicated operation by an occupant or the like.
  • Vb_x_aim in the X-axis direction is held at “0” and only the Y-axis direction Vb_y_aim is calculated as in the second embodiment. You may make it determine variably according to a mode.
  • the required gravity center speed Vb_x_aim is increased in response to additional driving force applied to the vehicle 1, and then the required gravity center speed Vb_x_aim is kept constant by processing in the speed hold mode.
  • the required center-of-gravity speed Vb_x_aim is attenuated by the processing in the braking mode.
  • the required center of gravity speed Vb_x_aim is increased so as to accelerate the vehicle 1 in accordance with a switch operation or the like by the occupant, and then the required center of gravity speed Vb_x_aim is determined in response to the release of the switch operation or the like. You may make it attenuate
  • the required center-of-gravity speeds Vb_x_aim and Vb_y_aim are always set to “0”. However, an operator or the like pushes the vehicle 1 on which no occupant is boarding as necessary. In the case of moving, the required center-of-gravity velocity Vb_x_aim or Vb_y_aim may be changed by executing the same process as in the boarding mode.
  • the behavior characteristics of the vehicle 1 such as the ease of acceleration of the vehicle 1 when a propulsive force is applied to the vehicle 1 are different. . Therefore, when the required center-of-gravity velocity Vb_x_aim (or Vb_y_aim) is determined according to the propulsive force applied to the vehicle 1 in both the boarding mode and the self-sustained mode, the first threshold DV1_x and the second response time constant are determined. You may make it set the value of parameters, such as (tau) 2_x, speed hold time Tm_x, ratio (gamma) _x, to a different value by boarding mode and independent mode.
  • Vb_x_aim or Vb_y_aim
  • the first threshold DV1_x and the second response time constant are determined. You may make it set the value of parameters, such as (tau) 2_x, speed hold time Tm_x, ratio (gamma) _x, to a different value by boarding mode and independent mode.
  • 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, 5 ... Wheel body (moving operation part), 7 ... Actuator apparatus, 9 ... Base

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Motorcycle And Bicycle Frame (AREA)
  • Electric Propulsion And Braking For Vehicles (AREA)

Abstract

車両の操縦を簡略なものとすることができ、操縦性を高めることができる倒立振子型車両の制御装置を提供する。 倒立振子型車両1の制御ユニット50は、所定の条件が成立した場合に、所定時間の期間における所定の代表点の目標速度の大きさ、又は該目標速度のうちの所定方向の成分の大きさである保持対象速度大きさ量を、該期間の開始直前に決定した目標速度に係わる当該保持対象速度大きさ量と同一の値で一定に保持するように目標速度を逐次決定し、決定した目標速度に応じて移動動作部5の移動動作を制御する。

Description

倒立振子型車両の制御装置
 本発明は、床面上を移動可能な倒立振子型車両の制御装置に関する。
 床面上を移動する移動動作部と、この移動動作部を駆動するアクチュエータ装置とが組み付けられた基体に、鉛直方向に対して傾動自在に乗員の搭乗部が組み付けられた倒立振子型車両が従来より知られている。この倒立振子型車両は、搭乗部の傾斜角度をある目標傾斜角度に保つために(搭乗部が傾倒しないようにするために)、倒立振子の支点を動かすような形態で、移動動作部を移動させる必要がある車両である。
 この種の倒立振子型車両の制御技術としては、例えば、特許文献1に見られるものが本願出願人により提案されている。
 この特許文献1には、乗員の搭乗部が組み付けられた車両の基体が球体状の移動動作部に対して前後方向の軸周りと左右方向の軸周りとの2軸周りに傾動自在に設けられた倒立振子型車両の制御技術が記載されている。この技術では、基体の傾斜角度(=搭乗部の傾斜角度)の計測値と目標傾斜角度との偏差と、アクチュエータ装置としてのモータの速度(ひいては移動動作部の移動速度)の計測値と目標速度との偏差とを“0”に近づけるようにモータの駆動トルクが逐次決定される。そして、その決定した駆動トルクに応じて、移動動作部の移動動作がモータを介して制御される。
 なお、倒立振子型車両として機能し得る車両としては、特許文献2、3に見られるものも本願出願人により提案されている。
特許第3070015号 PCT国際公開公報WO/2008/132778 PCT国際公開公報WO/2008/132779
 ところで、特許文献1~3に見られる如き倒立振子型車両では、乗員が搭乗部の傾斜角度をきめ細かく調整することは一般には困難である。そこで、例えば、車両を移動速度を所望の向きにある程度増速させた後は、乗員が積極的に搭乗部の傾斜角度を調整せずとも、ある程度の期間は、継続的な走行が持続することが車両の操縦性を向上させる上で望ましいと考えられる。
 しかるに、従来は、このような倒立振子型車両の操縦性の向上が十分に図られておらず、これを改善することが望まれていた。
 本発明は、かかる背景に鑑みてなされたものであり、車両の操縦を簡略なものとすることができ、操縦性を高めることができる倒立振子型車両の制御装置を提供することを目的とする。
 本発明の全方向移動車両の制御装置は、かかる目的を達成するために、床面上を移動可能な移動動作部と、該移動動作部を駆動するアクチュエータ装置と、該移動動作部及びアクチュエータ装置が組付けられた基体と、鉛直方向に対して傾動自在に前記基体に組付けられた乗員の搭乗部とを備えた倒立振子型車両の制御装置であって、
 前記車両の所定の代表点の移動速度の目標値である目標代表点速度を逐次決定する手段であり、少なくとも所定方向の成分が“0”でない大きさを有する目標代表点速度を決定している状況で所定の条件が成立した場合に、所定時間の期間における目標代表点速度の大きさ、又は該目標代表点速度のうちの前記所定方向の成分の大きさである保持対象速度大きさ量を、該期間の開始直前に決定した目標代表点速度に係わる当該保持対象速度大きさ量と同一の値で一定に保持するように目標代表点速度を決定する処理である速度保持処理を実行する目標速度決定手段と、
 少なくとも該目標速度決定手段が決定した目標代表点速度と前記搭乗部の所定値の目標傾斜角度とに前記代表点の実際の移動速度と前記搭乗部の実際の傾斜角度とをそれぞれ近づけるように、前記移動動作部の移動動作を前記アクチュエータ装置を介して制御する移動動作部制御手段とを備えることを特徴とする(第1発明)。
 なお、本発明において、「床」は、通常的な意味での床(屋内の床など)だけを意味するものではなく、屋外の地面もしくは路面をも含むものとして使用する。
 上記第1発明によれば、前記移動動作部制御手段は、少なくとも前記目標速度決定手段が決定した目標代表点速度と前記搭乗部の所定値の目標傾斜角度とに前記代表点の実際の移動速度と前記搭乗部の実際の傾斜角度とをそれぞれ近づけるように、前記移動動作部の移動動作を制御する。すなわち、車両の代表点の実際の移動速度と搭乗部の実際の傾斜角度とがそれぞれ、目標代表点速度、目標傾斜角度に追従もしくは近づくように、前記移動動作部の移動動作が制御される。
 この場合、少なくとも前記所定方向の成分が“0”でない大きさを有する目標代表点速度を決定している状況で前記所定の条件が成立した場合に、前記速度保持処理が目標速度決定手段により実行され、前記所定時間の期間における前記保持対象速度大きさ量(目標代表点速度の大きさ、又は、該目標代表点速度のうちの前記所定方向の成分の大きさ)が、該期間の開始直前における当該保持対象速度大きさ量と同一の値で一定に保持される。
 この結果、前記所定時間の期間においては、搭乗部のきめ細かな傾斜角度の調整を必要とすることなく、前記代表点の実際の移動速度の大きさ、又は、該移動速度のうちの所定方向の成分の大きさが該期間の開始直前の大きさで一定に保たれるように車両を走行させることができる。従って、第1発明の倒立振子型車両によれば、車両の操縦を簡略なものとすることができ、操縦性を高めることができる。
 なお、第1発明において、前記所定の条件としては、例えば、車両の動作状態、操縦操作状態、環境状態などに関する条件を採用することができる。
 また、前記代表点としては、前記搭乗部に搭乗した乗員と車両との全体の重心点や、前記移動動作部や基体の所定部位の点等を用いることができる。
 また、前記搭乗部の傾斜角度に係わる前記所定値の目標傾斜角度としては、例えば、前記搭乗部に搭乗した乗員と車両とを合わせた全体のうち、該搭乗部と一体的に傾動可能な部分(乗員を含む)の全体の重心点が該搭乗部の傾動中心(傾動の支点)の直上もしくはほぼ直上に位置する状態(すなわち当該重心点に作用する重力によって、該傾動中心の周りに発生するモーメントが“0”もしくはほぼ“0”となる状態)での該搭乗部の傾斜角度を採用することが好適である。
 かかる第1発明における倒立振子型車両では、前記移動動作部が、床面上を所定の1方向に移動可能に構成され、前記搭乗部が、当該所定の1方向と直交する方向の1軸周りに傾動自在に前記基体に組付けられていてもよい。なお、この場合、上記所定の方向は、前記所定方向と一致すると共に、目標代表点速度と、該目標代表点速度のうちの所定方向の成分とは一致する。
 あるいは、前記移動動作部が、床面上を互いに直交する第1の方向及び第2の方向を含む全方向に移動可能に構成され、前記搭乗部が、前記第1の方向の軸周りと第2の方向の軸周りとの2軸周りに傾動自在に前記基体に組付けられていてもよい。この場合、特に、前記搭乗部が、該搭乗部に搭乗した乗員の前後方向及び左右方向をそれぞれ前記第1の方向、第2の方向として、前記第1の方向の軸周りと第2の方向の軸周りとの2軸周りに傾動自在に前記基体に組み付けられている場合には、前記目標速度決定手段は、前記速度保持処理において、前記目標代表点速度のうちの前記第1の方向の成分を前記保持対象速度大きさ量として一定に保持すると共に、該目標代表点速度のうちの前記第2の方向の成分を“0”に保持するか、又は“0”に減衰させていくように目標代表点速度を決定することが好ましい(第2発明)。
 なお、第2発明において、前記移動動作部が、「第1の方向及び第2の方向を含む全方向に移動可能」ということは、該第1の方向及び第2の方向に直交する軸方向で見た場合における各瞬間での該移動動作部の速度ベクトルの向きが、前記アクチュエータ装置による移動動作部の駆動によって、上記軸方向の周りの任意の角度方向の向きを採り得るということを意味する。この場合、上記軸方向は、概ね、上下方向又は床面に垂直な方向である。また、本発明における「直交」は厳密な意味での直交であることは必須ではなく、本発明の本質を逸脱しない範囲で、厳密な意味での直交から若干のずれがあってもよい。
 この第2発明によれば、特に、車両の移動方向として標準的な(一般的に頻度の高い)乗員の前後方向での車両の代表点の移動速度を一定に保つことが容易になり、車両の操縦性を好適に高めることができる。また、速度保持処理の開始直前の目標移動速度が第2の方向(乗員の左右方向)の成分を有していても、速度保持処理において、該第2の方向の成分が“0”に保持されるか、又は“0”に減衰する。このため、車両を前後方向又はこれに近い方向に移動させる場合に、車両の代表点の実際の移動速度が、乗員の上体のふらつき等に起因して、乗員の左右方向で変動するのを抑制することができ、該移動速度が乗員の前後方向に向きやすくなる。
 また、前記第1発明又は第2発明では、前記移動動作部制御手段は、前記速度保持処理に続いて、前記目標代表点速度の大きさを“0”に減衰させるように該目標代表点速度を決定する処理を実行することが好ましい(第3発明)。
 この第3発明によれば、車両の代表点の移動速度の大きさ、又は該移動速度のうちの所定方向の成分の大きさを、所定時間の期間、一定に保持し、続いて、該大きさを減衰させていくという一連の移動動作を、搭乗部の傾斜角度のきめ細かな調整を必要とすることなく、容易に行なうことができる。
 また、上記第1~第3発明においては、前記保持対象速度大きさ量を増加させる要求である加速要求が発生した否かを判断する加速要求判断手段を備え、前記移動動作部制御手段は、前記加速要求判断手段の判断結果が肯定的になった場合に、前記保持対象速度大きさ量を増加させるように前記目標代表点速度を決定する処理である増速処理を実行し、該増速処理の実行中に前記所定の条件が成立した場合に、前記速度保持処理を開始することが好ましい(第4発明)。
 この第4発明によれば、前記加速要求判断手段の判断結果が肯定的になった場合、すなわち、前記加速要求が発生した場合に、前記増速処理によって、前記保持対象速度大きさ量を増加させるように前記目標速度ベクトルが決定される。これにより、前記加速要求の発生に合わせて、車両の代表点の移動速度の大きさ、又は、該移動速度のうちの所定方向の成分の大きさを増加させることができる。そして、上記増速処理の実行中に前記所定の条件が成立した場合(例えば、前記加速要求判断手段の判断結果が否定的となるという条件を含む所定の条件が成立した場合)に、前記速度保持処理の実行が開始される。このため、車両の加速後に、車両の代表点の移動速度の大きさ、又は該移動速度のうちの所定方向の成分の大きさ一定に保持することや、その後に減衰させていくことを自動的に行なうことができる。
 この第4発明では、前記車両は、前記アクチュエータ装置により前記移動動作部を駆動することによって発生する車両の推進力以外の外力が付加された場合に、該外力によって前記代表点の移動速度を増速可能な車両である場合には、例えば次のような態様が好ましい。すなわち、前記代表点の実際の移動速度の大きさ、又は該実際の移動速度のうちの前記所定方向の成分の大きさの時間的変化率に応じた出力を発生する速度変化率計測手段を備え、前記加速要求判断手段は、少なくとも前記速度変化率計測手段の出力が示す前記時間的変化率の計測値に基づいて、前記加速要求が発生したか否かを判断し、前記目標速度決定手段は、前記増速処理の実行中に、前記時間的変化率の計測値が所定の閾値よりも小さくなった場合に、前記所定の条件が成立したものとして、前記速度保持処理の実行を開始する(第5発明)。
 かかる第5発明によれば、前記加速要求判断手段は、少なくとも前記時間的変化率の計測値に基づいて、前記加速要求が発生したか否かを判断するので、その判断を車両の実際の動作状態に即して判断することができる。ひいては、前記増速処理を車両の実際の動作状態に即して実行することができる。特に、前記計測された速度変化率が、前記代表点の実際の移動速度のうちの前記所定方向の成分の大きさの時間的変化率である場合には、車両の実際の動作状態のうちの前記所定方向に係わる車両の実際の運動状態に即して前記増速処理を開始することができる。
 このため、車両に前記外力を付加的に作用させることによって、車両の代表点の実際の移動速度の大きさ、又は該実際の移動速度のうちの所定方向の成分の大きさを増加させていくことを車両の実際の動作状態に沿うようにして円滑に行なうことができる。
 そして、第5発明では、前記時間的変化率の計測値が所定の閾値よりも小さくなった場合に、前記所定の条件が成立したものとして、前記速度保持処理が実行されるので、車両の代表点の実際の移動速度の大きさ、又は該実際の移動速度のうちの所定方向の成分の大きさを増加させる必要性が解消した状態で、前記速度保持処理を開始することができる。このため、車両の加速後の適切なタイミングで、車両の代表点の実際の移動速度の大きさ、又は該実際の移動速度のうちの所定方向の成分の大きさを一定に保持することを自動的に行なうことができる。
 なお、第5発明において、少なくとも前記時間的変化率の計測値に基づいて、前記加速要求が発生したか否かを判断する場合、一例としては、前記時間的変化率の計測値が所定の閾値よりも大きくなるということを、加速要求が発生したと判断することの必要条件(もしくは必要十分条件)として、加速要求が発生したか否かを判断することが考えられる。
 また、第5発明において、例えば、前記車両の基体に、乗員の搭乗部が備えられており、その搭乗部に搭乗した乗員が随時、自身の足を着床させることができるように該搭乗部が構成されている場合には、該乗員が自身の足によって床を蹴ることによって、前記外力を車両に作用させることが可能である。あるいは、例えば、車両の外部の作業者もしくは補助者、又は適当な装置によって、適宜、車両に外力を作用させるようにしてもよい。
 補足すると、以上説明した本発明では、例えば、該搭乗部の実際の傾斜角度を目標傾斜角度に収束させる(実際の傾斜角度の計測値と目標傾斜角度との偏差である傾斜偏差を“0”に収束させる)ための操作量成分と、上記代表点(重心点)の実際の移動速度を前記目標代表点速度に収束させる(代表点の実際の移動速度の計測値と目標代表点速度との偏差である速度偏差を“0”に収束させる)ための操作量成分とを加え合わせることによって、移動動作部に付与する駆動力を規定する制御用操作量(例えば、移動動作部の目標加速度や、該移動動作部に作用させるべき力の目標値など)を決定し、その制御操作量に応じて前記アクチュエータ装置を介して移動動作部の動作を制御することが好ましい。
実施形態の全方向移動車両の正面図。 実施形態の全方向移動車両の側面図。 実施形態の全方向移動車両の下部を拡大して示す図。 実施形態の全方向移動車両の下部の斜視図。 実施形態の全方向移動車両の移動動作部(車輪体)の斜視図。 実施形態の全方向移動車両の移動動作部(車輪体)とフリーローラとの配置関係を示す図。 実施形態の全方向移動車両の制御ユニットの処理を示すフローチャート。 実施形態の全方向移動車両の動力学的挙動を表現する倒立振子モデルを示す図。 図7のSTEP9の処理に係わる処理機能を示すブロック図。 図9に示すゲイン調整部の処理機能を示すブロック図。 図10に示すリミット処理部(又は図12に示すリミット処理部)の処理機能を示すブロック図。 図9に示す重心速度制限部76の処理機能を示すブロック図。 図9に示す姿勢制御演算部80の処理機能を示すブロック図。 図9に示す要求重心速度生成部74の処理を示すフローチャート。 図14のSTEP23のサブルーチン処理を示すフローチャート。 図14のSTEP24のサブルーチン処理を示すフローチャート。 図14のSTEP25のサブルーチン処理を示すフローチャート。
 本発明の第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の移動動作が制御される(車輪体5の制動制御が行なわれる)。
 さらに、車両1に乗員が搭乗していない状態では、車両1の単体の重心点が、車輪体5の中心点(軸心C2上の中心点)のほぼ真上に位置する状態(より正確には当該重心点が車輪体5の接地面のほぼ真上に位置する状態)での基体9の姿勢を目標姿勢とし、該基体9の実際の姿勢を目標姿勢に収束させ、ひいては、基体9が傾倒することなく車両1が自立するように、車輪体5の移動動作が制御される。
 補足すると、「姿勢」は空間的な向きを意味する。本実施形態では、基体9がシート3と共に傾動することで、基体9やシート3の姿勢が変化する。また、本実施形態では、基体9とシート3とは一体的に傾動するので、基体9の姿勢をその目標姿勢に収束させるということは、シート3の姿勢を該シート3に対応する目標姿勢(基体9の姿勢が基体9の目標姿勢に一致する状態でのシート3の姿勢)に収束させるということと等価である。
 本実施形態では、以上の如き車両1の動作制御を行なうために、図1及び図2に示すように、マイクロコンピュータや電動モータ31R,31Lのドライブ回路ユニットなどを含む電子回路ユニットにより構成された制御ユニット50と、基体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個の操作量成分を加え合わせることによって決定される。
 制御ユニット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_cmdを決定する処理に係わる参照符号であり、括弧付きの参照符合は、Y軸方向に輪転する仮想車輪62_yの回転角速度の目標値である前記仮想車輪回転角速度指令ωw_y_cmdを決定する処理に係わる参照符号である。
 姿勢制御演算部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_cmdを算出する。
 
ω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_cmdと、X軸方向から見た倒立振子モデルの質点60_yの運動(ひいては、X軸方向から見た車両系重心点の運動)を制御するための操作量(制御入力)としての仮想車輪回転角加速度指令ωdotw_y_cmdとは、それぞれ、3つの操作量成分(式07x,07yの右辺の3つの項)を加え合わせることによって決定される。
 これらの式07x,07yにおけるゲイン係数K1_x,K1_yは、基体9(又はシート3)の傾斜角度に関するフィードバックゲイン、ゲイン係数K2_x,K2_yは、基体9(又はシート3)の傾斜角速度(傾斜角度の時間的変化率)に関するフィードバックゲイン、ゲイン係数K3_x,K3_yは、車両系重心点(車両1の所定の代表点)の移動速度に関するフィードバックゲインとしての意味を持つものである。
 この場合、式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_cmdを算出する。
 同様に、姿勢制御演算部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_cmdを算出する。
 ここで、式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_cmd,ωwdot_y_cmdを算出した後、次に、これらのωwdot_x_cmd,ωwdot_y_cmdをそれぞれ積分器80fにより積分することによって、前記仮想車輪回転速度指令ωw_x_cmd,ωw_y_cmdを決定する。
 以上が姿勢制御演算部80の処理の詳細である。
 補足すると、式07xの右辺の第3項を、Vb_x_sに応じた操作量成分(=K3_x・Vb_x_s)と、Vb_x_mdfdに応じた操作量成分(=-K3_x・Vb_x_mdfd)とに分離した式によって、仮想車輪回転角加速度指令ωdotw_x_cmdを算出するようにしてよい。同様に、式07yの右辺の第3項を、Vb_y_sに応じた操作量成分(=K3_y・Vb_y_s)と、Vb_y_mdfdに応じた操作量成分(=-K3_y・Vb_y_mdfd)とに分離した式によって、仮想車輪回転角加速度指令ωdotw_y_cmdを算出するようにしてよい。
 また、本実施形態では、車両系重心点の挙動を制御するための操作量(制御入力)として、仮想車輪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_cmd,ωw_y_cmdをモータ指令演算部82に入力し、該モータ指令演算部82の処理を実行することによって、電動モータ31Rの速度指令ω_R_cmdと電動モータ31Lの速度指令ω_L_cmdとを決定する。このモータ指令演算部82の処理は、前記リミット処理部86(図11参照)のXY-RL変換部86bの処理と同じである。
 具体的には、モータ指令演算部82は、前記式01a,01bのωw_x,ωw_y,ω_R,ω_Lをそれぞれ、ωw_x_cmd,ωw_y_cmd,ω_R_cmd,ω_L_cmdに置き換えて得られる連立方程式を、ω_R_cmd,ω_L_cmdを未知数として解くことによって、電動モータ31R,31Lのそれぞれの速度指令ω_R_cmd,ω_L_cmdを決定する。
 以上により前記STEP9の車両制御演算処理が完了する。
 以上説明した如く制御ユニット50が制御演算処理を実行することによって、前記搭乗モード及び自立モードのいずれの動作モードにおいても、基本的には、基体9の姿勢が、前記基体傾斜角度偏差計測値θbe_x_s,θbe_y_sの両方が“0”となる姿勢(以下、この姿勢を基本姿勢という)に保たれるように、換言すれば、車両系重心点(車両・乗員全体重心点又は車両単体重心点)の位置が、車輪体5の接地面のほぼ真上に位置する状態に保たれるように、操作量(制御入力)としての仮想車輪回転角加速度指令ωdotw_xy_cmdが決定される。より詳しく言えば、基体9の姿勢を前記基本姿勢に保ちつつ、車両系重心点の移動速度の推定値としての重心速度推定値Vb_xy_sを制御用目標重心速度Vb_xy_mdfdに収束させるように、仮想車輪回転角加速度指令ωdotw_xy_cmdが決定される。なお、制御用目標重心速度Vb_xy_mdfdは、通常は(詳しくは搭乗モードで乗員等が車両1の付加的な推進力を付与しない限り)、“0”である。この場合には、基体9の姿勢を前記基本姿勢に保ちつつ、車両系重心点がほぼ静止するように、仮想車輪回転角加速度指令ωdotw_xy_cmdが決定されることとなる。
 そして、ωdotw_xy_cmdの各成分を積分してなる仮想車輪回転角速度指令ωw_xy_cmdを変換してなる電動モータ31R,31Lのそれぞれの回転角速度が、電動モータ31R,31Lの速度指令ω_R_cmd,ω_L_cmdとして決定される。さらに、その速度指令ω_R_cmd,ω_L_cmdに従って、各電動モータ31R,31Lの回転速度が制御される。ひいては車輪体5のX軸方向及びY軸方向のそれぞれの移動速度が、ωw_x_cmdに対応する仮想車輪62_xの移動速度と、ωw_y_cmdに対応する仮想車輪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にその移動速度を増速させる推進力を付加する場合もある。なお、この場合、乗員等が増速させようとする車両1の移動速度は、通常、乗員の前後方向の移動速度であるので、その増速のために車両1に付加される推進力は、通常、X軸方向又はこれに近い方向の推進力である。
 そこで、本実施形態では、要求重心速度生成部74は、前記重心速度算出部72で算出されるX軸方向の重心速度推定値Vb_x_sの大きさ(絶対値)の時間的変化率に基づいて、車両1の移動速度(詳しくは、車両系重心点の移動速度)をX軸方向で増速させる要求としての加速要求の発生の有無を判断しつつ、それに応じて、X軸方向の要求重心速度Vb_x_aimを逐次決定する。そして、X軸方向の加速要求が解消すると、要求重心速度Vb_x_aimが、ある時間だけ一定に保たれた後、減衰していくように決定される。なお、Y軸方向の要求重心速度Vb_y_aimについては、要求重心速度生成部74は、本実施形態では、加速要求の発生の有無によらずに、定常的に“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に進んで、要求重心速度Vb_x_aimを算出するための現在の演算処理モードが、どのモードであるかを判断する。
 ここで、本実施形態では、要求重心速度生成部74は、要求重心速度Vb_x_aimの基本値(以下、要求重心速度基本値Vb_x_aim1)を決定した上で、この要求重心速度基本値Vb_x_aim1に一次遅れの応答時定数で追従させる(定常的には一致させる)ように要求重心速度Vb_x_aimを決定する。この場合、この要求重心速度基本値Vb_x_aim1の決定の仕方が、上記演算処理モードによって規定されるようになっている。
 そして、本実施形態では、該演算処理モードとしては、制動モード、速度追従モード、速度ホールドモードの3種類のモードがある。
 制動モードは、車両1の移動速度を減衰させていくか、又は“0”に保持するために、要求重心速度基本値Vb_x_aim1を“0”とするモードである。また、速度追従モードは、要求重心速度基本値Vb_x_aim1を、車両系重心点の実際のX軸方向の移動速度としての重心速度推定値Vb_x_sに追従させるように(ほぼ一致させるように)決定するモードである。また、速度ホールドモードは、要求重心速度基本値Vb_y_aim1を一定に保つように決定するモードである。
 なお、各演算処理モードの処理では、要求重心速度基本値Vb_x_aim1を決定することに加えて、該要求重心速度基本値Vb_x_aim1に対する要求重心速度Vb_x_aimの追従の応答速度を規定するフィルタ時定数Ta_xを決定する処理も実行される。また、制御ユニット50の起動時等に該制御ユニット50が初期化された状態での演算処理モード(初期演算処理モード)は、制動モードである。
 要求重心速度生成部74は、上記STEP22において、現在の演算処理モードが制動モードである場合と、速度追従モードである場合と、速度ホールドモードである場合とで、それぞれ、次に、STEP23の演算処理、STEP24の演算処理、STEP25の演算処理を実行し、要求重心速度基本値Vb_y_aim1とフィルタ時定数Ta_xとを決定する。
 これらの各モードに対応する演算処理は、次のように実行される。
 STEP23における制動モードの演算処理は、図15のフローチャートに示す如く実行される。具体的には、要求重心速度生成部74は、まず、前記STEP21で算出した重心速度絶対値変化率DVb_x_sが、あらかじめ設定された正の値の第1閾値DV1(>0)よりも大きいか否かをSTEP23-1で判断する。この判断処理は、車両1の移動速度を車両1の前後方向で増速させようとする加速要求が有るか否かを判断する処理である。
 この場合、DVb_s>DV1であるということは、X軸方向での実際の重心速度Vb_xの絶対値|Vb_x|が第1閾値DV1よりも大きな時間的変化率で増加している状況を意味する。従って、STEP23-1の判断結果が肯定的になる状況は、乗員あるいは外部の補助者等により前後方向での重心速度Vb_xの大きさを増加させようとする操縦操作(車両1に概略前後方向の推進力を付加する操縦操作)が行なわれている状況である。
 STEP23-1の判断結果が否定的となる場合、すなわち、車両1の加速要求(前後方向での車両1の加速要求)が無い場合には、要求重心速度生成部74は、次に、重心速度絶対値変化率DVb_x_sが、あらかじめ設定された負の値の第3閾値DV3_x(<0)よりも小さいか否かをSTEP23-4で判断する。この判断処理は、車両1の乗員が重心速度Vb_xの大きさを積極的に減少させようとする減速要求が発生したか否かを判断するものである。この場合、車両1の乗員が意図的に自身の足を接地させ、自身の足と床との間に車両1の制動方向の摩擦力を発生させたような場合にSTEP23-4の判断結果が肯定的になる。
 そして、STEP23-4の判断結果が否定的である場合(減速要求が発生していない場合)には、要求重心速度生成部74は、STEP23-5において、要求重心速度基本値Vb_x_aim1と、フィルタ時定数Ta_xとを決定し、図15の処理を終了する。
 上記STEP23-5では、要求重心速度基本値Vb_x_aimとして、“0”が設定される。また、フィルタ時定数Ta_xとして、あらかじめ設定された所定値の第2応答時定数τ2_xが設定される。
 また、STEP23-4の判断結果が肯定的である場合(減速要求が発生した場合)には、要求重心速度生成部74は、STEP23-6において、要求重心速度基本値Vb_x_aim1と、フィルタ時定数Ta_xとを決定し、図15の処理を終了する。
 上記STEP23-6では、STEP23-5と同様に、要求重心速度基本値Vb_x_aimとして、“0”が設定される。一方、フィルタ時定数Ta_xとして、あらかじめ設定された所定値の第3応答時定数τ3_xが設定される。この第3応答時点数τ3_xは、第2応答時定数τ2_xよりも短い時間の時定数である。
 前記STEP23-1の判断結果が肯定的である場合には、要求重心速度生成部74は、STEP23-2において、要求重心速度基本値Vb_x_aim1と、フィルタ時定数Ta_xとを決定する。さらに、要求重心速度生成部74は、STEP23-3において、演算処理モード(次回の制御処理周期での演算処理モード)を制動モードから速度追従モードに変更し、図15の処理を終了する。
 上記STEP23-2では、重心速度算出部72から入力されたX軸方向の重心速度推定値Vb_x_sに、あらかじめ設定された所定値の比率γ_xを乗じてなる値が、要求重心速度基本値Vb_x_aim1として決定される。上記比率γ_xは、本実施形態では、“1”よりも若干小さい正の値(例えば0.8)に設定されている。このようなSTEP23-2の処理は、Vb_x_aim1と、Ta_xとの決定の仕方を、次回の制御処理サイクルから開始する速度追従モードに合わせるものである。
 なお、上記比率γ_xの値が“1”よりも若干小さいことは必須ではなく、例えば、該比率γ_xの値を“1”あるいはそれよりも若干大きい値に設定してもよい。本実施形態では、乗員が体感的(感覚的)に認識する車両1の移動速度が、実際の移動速度に比べて高速であるかのように認識されるのを防止するために、比率γ_xの値を“1”よりも若干小さい値に設定している。
 また、フィルタ時定数Ta_xとして、あらかじめ設定された所定値の第1応答時定数τ1_xが設定される。この第1応答時定数τ1_xは、前記第2応答時定数τ2_xよりも相対的に短い時間の値に設定されている。該第1応答時定数τ1_xは、前記第3応答時定数τ3_xと同じ値であってもよい。
 なお、STEP21-1の判断結果が否定的となる場合には、演算処理モードは変更されないので、次回の制御処理周期においても、演算処理モードは、制動モードに維持されることとなる。
 以上が、STEP23における制動モードの演算処理である。
 次に、STEP24における速度追従モードの演算処理は、図16のフローチャートに示す如く実行される。具体的には、要求重心速度生成部74は、まず、前記STEP23-4と同じ判断処理、すなわち、車両1の減速要求が発生したか否かの判断処理をSTEP24-1で実行する。
 この判断結果が肯定的である場合には、要求重心速度生成部74は、次に、STEP24-6において、前記STEP23-6と同じ処理を実行することによって、要求重心速度基本値Vb_x_aim1として“0”を設定すると共に、フィルタ時定数Ta_xとして第3応答時定数τ3_xを設定する。さらに、要求重心速度生成部74は、STEP24-7において、次回の制御処理周期における演算処理モードを制動モードに変更し、図16の処理を終了する。
 一方、前記STEP24-1の判断結果が否定的である場合、すなわち、車両1の減速要求が発生していない場合には、要求重心速度生成部74は、次にSTEP24-2において、前記STEP23-2と同じ処理により、要求重心速度基本値Vb_x_aim1とフィルタ時定数Ta_xとを決定する。すなわち、要求重心速度生成部74は、入力された重心速度推定値Vb_x_sに前記比率γ_xを乗じてなる値を要求重心速度基本値Vb_x_aim1として決定する。また、要求重心速度生成部74は、フィルタ時定数Ta_xとして前記第1応答時定数τ1_xを設定する。
 次いで、要求重心速度生成部74は、STEP24-3において、前記推定重心速度絶対値変化率DVb_x_s(STEP21で算出した値)が、あらかじめ設定された第2閾値DV2_xよりも小さいか否かを判断する。この第2閾値DV2_xは、本実施形態では、前記第3閾値DV3_xよりも大きい(DV3_xよりも“0”に近い)負の所定値に設定されている。なお、第2閾値DV2_xは、“0”もしくは“0”よりも若干大きい正の値(但し、前記第1閾値DV1_xよりも小さい値)に設定されていてもよい。
 このSTEP24-3の判断処理は、速度追従モードから、前記速度ホールドモードへの移行タイミングを判断するものである。そして、要求重心速度生成部74は、STEP24-3の判断結果が否定的である場合には、そのまま図16の処理を終了する。この場合には、演算処理モードは変更されないので、次回の制御処理周期においても、演算処理モードは、速度追従モードに維持されることとなる。
 また、STEP24-3の判断結果が肯定的である場合には、要求重心速度生成部74は、車両1の加速要求(前後方向の加速要求)が完了したものとみなして、STEP24-4において、カウントダウンタイマを初期化する。そして、要求重心速度生成部74は、STEP24-5にて演算処理モードを速度追従モードから速度ホールドモードに変更し、図16の処理を終了する。
 上記カウントダウンタイマは、次回の制御処理周期から開始する速度ホールドモードの開始後の経過時間を計時するタイマである。そして、STEP24-4では、該タイマの計時値CNT_xに、あらかじめ設定された初期値Tm_xがセットされる。初期値Tm_xは、速度ホールドモードを継続させようとする時間の設定値を意味する。
 以上が、STEP24における速度追従モードの演算処理である。
 次に、STEP25における速度ホールドモードの演算処理は、図17のフローチャートに示す如く実行される。具体的には、要求重心速度生成部74は、まず、前記STEP23-4と同じ判断処理、すなわち、車両1の減速要求が発生したか否かの判断処理をSTEP25-1で実行する。
 この判断結果が肯定的である場合には、要求重心速度生成部74は、次に、STEP25-2において、前記STEP23-6と同じ処理を実行することによって、要求重心速度基本値Vb_x_aim1として“0”を設定すると共に、フィルタ時定数Ta_xとして第3応答時定数τ3_xを設定する。さらに、要求重心速度生成部74は、STEP25-3において、次回の制御処理周期における演算処理モードを速度ホールドモードから制動モードに変更し、図17の処理を終了する。
 一方、前記STEP25-1の判断結果が否定的である場合(車両1の減速要求が発生していない場合)には、要求重心速度生成部74は、前記STEP23-1と同じ判断処理、すなわち概略前後方向での車両1の加速要求が有るか否かの判断処理をSTEP25-4で実行する。
 そして、STEP25-4の判断結果が肯定的である場合(概略前後方向での車両1の加速要求が再び発生した場合)には、要求重心速度生成部74は、STEP25-5において、前記STEP23-2と同じ処理により、要求重心速度基本値Vb_x_aim1とフィルタ時定数Ta_xとを決定する。すなわち、要求重心速度生成部74は、入力された重心速度推定値Vb_x_sに前記比率γ_xを乗じてなる値を要求重心速度基本値Vb_x_aim1として決定する。また、要求重心速度生成部74は、フィルタ時定数Ta_xとして前記第1応答時定数τ1_xを設定する。
 さらに、要求重心速度生成部74は、STEP25-6にて、次回の制御処理周期における演算処理モードを速度ホールドモードから速度追従モードに変更し、図17の処理を終了する。
 前記STEP25-4の判断結果が否定的である場合(概略前後方向での加速要求が無い状態が継続している場合)には、要求重心速度生成部74は、STEP25-7において、前記カウントダウンタイマの計時値CNT_xをデクリメントする。すなわち、計時値CNT_xの現在値から所定値ΔT(制御処理周期の時間)を差し引くことによって、計時値CNT_xを更新する。
 次いで、要求重心速度生成部74は、カウントダウンタイマの計時値CNT_xが“0”よりも大きいか否か、すなわち、カウントダウンタイマの計時が終了したか否かをSTEP25-8にて判断する。
 このSTEP25-8の判断結果が肯定的である場合は、速度ホールドモードが開始してから、カウントダウンタイマの前記初期値Tm_xにより表される時間が未だ経過していない場合である。この場合には、要求重心速度生成部74は、演算処理モードを速度ホールドモードに維持するものとして、要求重心速度基本値Vb_x_aim1とフィルタ時定数Ta_xとをSTEP25-9にて決定し、図17の処理を終了する。
 この場合、STEP25-9では、Vb_x_aim1の今回値は、前回値と同じ値に決定される。また、Ta_xとして、第2応答時定数τ2_xよりも短い時間の所定値、例えば前記第1応答時定数τ1_xが設定される。
 なお、STEP25-8の判断結果が肯定的である場合には、演算処理モードは変更されないので、次回の制御処理周期においても、演算処理モードは、速度ホールドモードに維持されることとなる。
 前記STEP25-8の判断結果が否定的となった場合、すなわち、速度ホールドモードが開始してから、カウントダウンタイマの前記初期値Tm_xにより表される所定時間が経過した場合には、要求重心速度生成部74は、STEP25-10において、前記STEP23-5と同じ処理を実行することによって、要求重心速度基本値Vb_x_aim1として“0”を設定すると共に、フィルタ時定数Ta_xとして第2応答時定数τ2_xを設定する。さらに、要求重心速度生成部74は、STEP25-11において、次回の制御処理周期における演算処理モードを速度ホールドモードから制動モードに変更し、図17の処理を終了する。
 以上が、STEP25における速度ホールドモードの演算処理である。
 図14の説明に戻って、要求重心速度生成部74は、以上の如くSTEP23~25のいずれかの演算処理を実行した後、次に、その演算処理により決定した要求重心速度基本値Vb_x_aim1をフィルタに通す処理(フィルタリング処理)をSTEP26にて実行する。
 該フィルタは、STEP23~25のいずれかの演算処理で決定されたフィルタ時定数Ta_xを応答時定数とする一次遅れのフィルタ(ローパスフィルタ)であり、例えば、その伝達関数が1/(1+Ta_x・S)により表されるフィルタである。従って、STEP26で得られるフィルタの出力値は、Ta_xの時定数で要求重心速度基本値Vb_x_aim1に追従していくものとなる。この場合、その追従の応答速度はSTEP23~25で可変的に決定されるフィルタ時定数Ta_xの値に応じて変化することとなる。より詳しくは、フィルタ時定数Ta_xとして前記第1応答時定数τ1_x又は第3応答時定数τ3_xが設定された場合には、上記追従の応答速度は、速めの速度となる。また、フィルタ時定数Ta_xとして前記第2応答時定数τ2_xが設定された場合には、上記追従の応答速度は、遅めの速度となる。
 次いで、STEP27に進んで、要求重心速度生成部74は、上記フィルタの出力値をリミッタに通すことによって、最終的にX軸方向の要求重心速度Vb_x_aimを決定する。この場合、該リミッタは、要求重心速度Vb_x_aimの絶対値が過大になるのを防止するためのものであり、フィルタの出力値があらかじめ設定された所定の上限値(>0)と下限値(<0)との間の範囲に収まる場合には、フィルタの出力値をそのまま要求重心速度Vb_x_aimとして出力する。また、該リミッタは、フィルタの出力値の絶対値が上記上限値と下限値との間の範囲から逸脱している場合には、該上限値と下限値とのうちのフィルタの出力値に近い方の限界値を要求重心速度Vb_x_aimとして出力する。
 なお、上記上限値と下限値とは、それらの絶対値が同一でなくてもよく、それらの絶対値が互いに異なっていてもよい。
 以上がX軸方向の要求重心速度Vb_x_aimの生成処理の詳細である。
 補足すると、例えば、第2応答時定数τ2_xを第1応答時定数τ1_x又は第3応答時定数τ3_xと同じ値もしくはそれと同程度の比較的短い時間の値に設定しておくと共に、演算処理モードが速度ホールドモードから制動モードに切替わった直後において、要求重心速度基本値Vb_x_aim1自体を、所定の変化速度(所定の時間的変化率)で“0”まで徐々に変化させていくようにしてもよい。
 以上説明した要求重心速度生成部74の処理によって、X軸方向の要求重心速度Vb_x_aimは、以下のような態様で決定されることとなる。
 例えば、車両1の移動速度を乗員の前後方向(X軸方向)で増速するために、乗員が自身の足平で床を蹴ることによって、あるいは、補助者等が車両1を押すことによって、車両1に対して、概略前後方向の推進力(詳しくは、前記STEP23-1の判断結果が肯定的となるような推進力)を付加した場合を想定する。
 なお、推進力を付加する前の演算処理モードは、前記制動モードであるとする。また、ここでは、理解の便宜上、図14のSTEP26で得られるフィルタの出力値は、STEP27でのリミッタによる強制的な制限がかからない程度の範囲内に収まるものとする。すなわち、STEP27で逐次決定される要求重心速度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の標準的(通常的)な動作状況である。なお、本実施形態では、Vb_y_aim=0であるので、この通常的な状況では、Vb_y_mdfd=0となる。
 この場合、車両1に推進力を付加することによって、前記STEP23-1の判断結果が肯定的となると、図15のSTEP23-3の処理によって、演算処理モードが制動モードから速度追従モードに変更されることとなる。
 この速度追従モードでは、減速要求が発生しない状況(STEP24-1の判断結果が否定的となる状況)で、加速要求が解消するまでの期間(STEP24-3の判断結果が肯定的になるまでの期間)において、X軸方向の重心速度推定値Vb_x_sの今回値(現在値)に、所定値の比率γ_xを乗じてなる値、すなわち、Vb_x_sよりも若干小さい大きさの速度値が、要求重心速度基本値Vb_x_aim1として逐次決定される。
 このため、要求重心速度生成部74が逐次決定する要求重心速度Vb_x_aimは、車両1に付加された推進力によって増速する実際の重心速度Vb_xにほぼ一致する速度値(=γ_x・Vb_x_s)に追従するように、決定されることとなる。
 また、この場合、前記フィルタ時定数Ta_xとして、相対的に短い時間の第1応答時定数τ1_xが設定される。このため、Vb_x_aim1に対する要求重心速度Vb_x_aimの追従は、素早い応答性で行なわれる。
 そして、このように決定される要求重心速度Vb_x_aimがX軸方向の前記制御用目標重心速度Vb_x_mdfdとして決定される。従って、Vb_x_mdfdは、γ_x・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が付加された推進力によって乗員の前後方向で円滑に加速することとなる。
 なお、Y軸方向の制御用目標重心速度Vb_y_mdfdは“0”となるので、車両1に付加される推進力がY軸方向の成分を有していても、Y軸方向の車両系重心点の実際の移動速度は、その増速が抑制されることとなる。従って、車両1に付与する推進力の向きがX軸方向に対して多少のずれを生じていても、車両系重心点の移動速度を、乗員の前後方向で適切に加速度することができることとなる。
 なお、速度追従モードにおいて、車両1に制動力を付加することによって、図16のSTEP24-1の判断結果が肯定的になると(減速要求が発生すると)、演算処理モードが前記制動モードに変化する。このため、車両1の移動速度が減衰していくこととなる。この場合、減速要求の発生中は、前記フィルタ時定数Ta_xとして、比較的短い時間の第3応答時定数τ3_xが設定されるので、X軸方向の要求重心速度Vb_x_aimが素早く“0”に減衰する。従って、車両1の移動速度も比較的素早く減衰していくこととなる。
 次に、速度追従モードにおいて、車両1への推進力の付加が終了し、加速要求が解消すると(図16のSTEP24-3の判断結果が肯定的になると)、図16のSTEP24-5の処理によって、演算処理モードが速度追従モードから速度ホールドモードに変更されることとなる。
 この速度ホールドモードでは、加速要求及び減速要求が発生しない状況(図17のSTEP25-1、25-4の判断結果がいずれも否定的となる状況)で、カウントダウンタイマの計時が終了するまで、要求重心速度基本値Vb_x_aim1は、前回値と同じ値に設定される。
 従って、速度ホールドモードの開始後、カウントダウンタイマの計時が終了するまでの所定時間(カウントダウンタイマの初期値Tm_xの時間)の期間において、要求重心速度基本値Vb_x_aim1は、速度ホールドモードが開始する直前に決定された値と同じ値で一定に保持されることとなる。
 このため、要求重心速度生成部74が逐次決定する要求重心速度Vb_x_aimも、一定値に保たれるように(より正確には、一定値のVb_x_aim1に追従するように)決定されることとなる。
 なお、この場合、前記フィルタ時定数Ta_xとして、相対的に短い時間の第1応答時定数τ1_xが設定される。このため、Vb_x_aim1に対する要求重心速度Vb_x_aimの追従は、素早い応答性で行なわれる。従って、基本的には、速度ホールドモードでのVb_x_aimは、Vb_x_aim1に一致するものとなる。
 そして、上記の如く決定される要求重心速度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を各々収束させるように決定される。
 この結果、車両1の増速後に、カウントダウンタイマの計時が終了するまでの期間(前記初期値Tm_xにより表される時間の期間)において、乗員の上体の姿勢の頻繁な調整を必要とすることなく、X軸方向での車両系重心点の実際の移動速度Vb_xが加速後の速度で一定に保たれるように該車輪体5の移動速度が制御されることとなる。従って、この状況での車両1の実際の走行状態は、乗員がその上体を積極的に動かすような操縦操作をせずとも、ほぼ一定の速度でX軸方向(乗員の前後方向)に滑走するような状態となる。
 なお、速度ホールドモードにおいて、再び車両1に概略前後方向の推進力を付加することによって、図17のSTEP25-4の判断結果が肯定的になると(加速要求が発生すると)、演算処理モードが前記速度追従モードに戻る。このため、車両1が再び概略前後方向で加速することとなる。
 また、速度ホールドモードにおいて、車両1に制動力を付加することによって、図17のSTEP25-1の判断結果が肯定的になると(減速要求が発生すると)、演算処理モードが前記制動モードに変化する。このため、車両1の移動速度が減衰していくこととなる。この場合、速度追従モードで減速要求が発生した場合と同様に、減速要求の発生中は、X軸方向での車両系重心点の移動速度が素早く減衰する。
 次に、速度ホールドモードにおいて、加速要求及び減速要求が発生しない状況(図17のSTEP25-1、25-4の判断結果がいずれも否定的となる状況)が保たれたまま、前記カウントダウンタイマの計時が終了すると、図17のSTEP25-11の処理によって、演算処理モードが速度ホールドモードから制動モードに変更されることとなる。
 この制動モードでは、加速要求及び減速要求が発生しない状況(図15のSTEP23-1,23-4の判断結果がいずれも否定的となる状況)で、要求重心速度基本値Vb_x_aimとして、常に“0”が設定される。このため、要求重心速度生成部74が逐次決定する要求重心速度Vb_x_aimは、“0”に減衰していき、最終的に“0”に保たれるように決定される。そして、この場合、前記フィルタ時定数Ta_xとして、相対的に長い時間の第2応答時定数τ2_xが設定される。このため、要求重心速度Vb_x_aimは、比較的緩やかな減衰速度で、連続的に“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軸方向での車両系重心点の実際の移動速度の大きさが速度ホールドモードでの大きさから連続的に減衰していくように車輪体5の移動速度が制御されることとなる。
 以上のように、乗員等が車両1に概略X軸方向の推進力を付加した場合には、まず、車両1のX軸方向の移動速度が増速する。続いて、カウントダウンタイマの前記初期値Tm_xにより表される所定時間だけ、車両1のX軸方向の移動速度がほぼ一定に保たれる。続いて、車両1のX軸方向の移動速度が緩やかに減衰していく。
 以上のように本実施形態の車両1では、乗員等が車両1に概略X軸方向の推進力を付加した後は、X軸方向(乗員の前後方向)への一定速度での車両1の滑走、それに続く減速という、車両1の一連の移動動作が乗員等による煩雑な操縦操作を必要とすることなく、自動的に行なわれる。このため、車両1の操縦を簡単に行なうことができ、車両1を操縦性に優れたものとすることができる。
 ここで、本実施形態の車両1と本発明との対応関係を補足しておく。
 本実施形態では、車両1に搭乗する乗員の前後方向(X軸方向)、左右方向(Y軸方向)が、それぞれ、本発明における第1の方向、第2の方向に相当する。さらに、X軸方向は、本発明における所定方向にも相当する。
 そして、前記要求重心速度生成部74により、本発明における目標速度決定手段が実現される。この場合、本実施形態では、車両系重心点(より正確には車両・乗員全体重心点)が、本発明における車両の所定の代表点に相当し、重心速度Vb_x,Vb_yが本発明における代表点の移動速度に相当する。また、この車両系重心点の移動速度の目標値である要求重心速度Vb_x_aim,Vb_y_aimが、本発明における目標代表点速度に相当する。さらに、X軸方向の要求重心速度Vb_x_aimの絶対値が本発明における保持対象速度大きさ量に相当する。なお、車両の代表点の実際の移動速度としての、重心速度Vb_x,Vb_yは、前記重心速度算出部72により実現される代表点速度計測手段により計測される。
 また、前記重心速度制限部76、姿勢制御演算部80及びモータ指令演算部82により、本発明における移動動作部制御手段が実現される。
 また、基体9の傾斜角度θb_x,θb_yが本発明における搭載部の傾斜角度に相当し、基体傾斜角度目標値θb_x_obj,θb_y_objが本発明における目標傾斜角度に相当する。なお、搭載部の実際の傾斜角度に相当する基体傾斜角度θb_x,θb_yは、傾斜センサ52と、図7のSTEP2の処理とから実現される傾斜角度計測手段により計測される。
 また、要求重心速度生成部74の処理に関し、速度追従モードの処理中に図16のSTEP24-3の判断結果が肯定的になり、且つ、その後の速度ホールドモードの処理中に、加速要求と減速要求とが発生しないこと(詳しくは図15のSTEP23-1,23-4の判断結果と、図17のSTEP25-1,25-4の判断結果がいずれも否定的となること)が、本発明における所定の条件が成立する場合に相当する。
 また、加速要求及び減速要求が発生しない状態での前記速度ホールドモードの処理(詳しくは、STEP25-1及び25-4の判断結果が否定的となる状態での図17の処理)とこれに続くSTEP26,27とを併せた処理によって本発明における速度保持処理が実現される。
 また、要求重心速度生成部位74が実行する前記STEP23-1,25-4の判断処理によって、本発明における加速要求判断手段が実現される。この場合、重心速度算出部72の処理と図14のSTEP21の処理とによって、本発明における速度変化率計測手段が実現される。そして、前記推定重心速度絶対値変化率DVb_x_sが本発明における時間的変化率の計測値に相当する。また、減速要求が発生しない状態での速度追従モードの処理(STEP24-1の判断結果が否定的となる状態での図16の処理)が本発明における増速処理に相当する。
 次に、以上説明した実施形態に係わる変形態様に関していくつか説明しておく。
 前記実施形態では、STEP23-1、25-4において、X軸方向の重心速度推定値Vb_x_sの絶対値の時間的に変化率に基づいて、加速要求の発生の有無を判断するようにしたが、重心速度推定値Vb_x_s,Vb_y_xを2成分とする車両系重心点の速度ベクトルの絶対値の時間的変化率に基づいて、加速要求の発生の有無を判断するようにしてもよい。例えば、前記推定重心速度絶対値変化率DVb_x_sの代わりに、車両系重心点(車両・乗員全体重心点)の速度ベクトルの絶対値の時間的変化率を用いた処理(前記図14~図17の処理)によって、要求重心速度Vb_xy_aimを決定するようにしてもよい。
 また、本実施形態では、X軸方向の重心速度Vb_xを保持対象速度大きさ量としたが、例えば、車両系重心点(車両・乗員全体重心点)の速度ベクトルの絶対値を保持対象速度大きさ量としてもよい。この場合の一例の実施形態(以下、ここでは、第2実施形態という)は、例えば、次のように実現できる。
 すなわち、第2実施形態では、要求重心速度生成部74は、図14のSTEP21において、入力される重心速度推定値Vb_x_s,Vb_y_sを用いて、車両系重心点(車両・乗員全体重心点)の速度ベクトルの絶対値の時間的変化率DVb2_x_s(=sqrt(Vb_x_s2 + Vb_y_s2))を推定重心速度絶対値変化率DVb_x_sの代わりに求める。なお、sqrt( )は、平方根関数である。そして、要求重心速度生成部74は、図15~図17の各判断処理(STEP23-1,23-4,24-1,24-2,25-1,25-4の処理)では、上記の如く算出した車両系重心点(車両・乗員全体重心点)の速度ベクトルの絶対値の時間的変化率DVb2_x_sを用いる。
 また、要求重心速度生成部74は、前記STEP23-2,23-5,23-6,24-2,24-6,25-2,25-5,25-9,25-10において、それぞれ、X軸方向の要求重心速度基本値Vb_x_aim1と、フィルタ時定数Ta_xとを前記の通り決定することに加えて、Y軸方向の要求重心速度基本値Vb_y_aim1を、X軸方向の要求重心速度基本値Vb_x_aim1と同じ手法で決定する。具体的には、STEP23-5,23-6,24-6,25-2,25-10では、Vb_y_aim1として“0”を設定し、STEP25-9では、Vb_y_aim1の前回値をそのまま今回値として設定する。また、STEP23-2,24-2,25-5では、Y軸方向の重心速度推定値Vb_y_sに所定値の比率γ_yを乗じてなる値をVb_y_aim1として設定する。なお、比率γ_yは、X軸方向に関する比率γ_xと同一(例えば0.8)でよいが、異なる値に設定しておくことも可能である。
 そして、図14のSTEP26では、要求重心速度生成部74は、X軸方向の要求重心速度基本値Vb_x_aim1をフィルタ(一次遅れ特性のローパスフィルタ)に通すことに加えて、Y軸方向の要求重心速度基本値Vb_y_aim1をフィルタ(一次遅れ特性のローパスフィルタ)に通す。この場合、Vb_y_aim1を入力するフィルタの応答時定数は、Vb_x_aim1を通すフィルタの応答時定数(τ1_x又はτ2_x又はτ3_x)と同じでよい。
 但し、例えば、STEP23-5又は25-10でVb_y_aim1として“0”を設定した制御処理周期でのSTEP26の処理では、Y軸方向の要求重心速度基本値Vb_y_aim1を通すフィルタの応答時定数を、X軸方向の要求重心速度基本値Vb_x_aim1を通すフィルタの応答時定数よりも短い時間の値に設定してもよい。このようにすると、速度ホールドモードで要求重心速度Vb_x_aim,Vb_y_aimを所定時間、一定に保持した後の制動モードにおいて、Vb_x_aim,Vb_y_aimから成る速度ベクトルの向きをX軸方向(乗員の前後方向)に近づけていく(最終的にX軸方向に合致させる)ようにすることができる。
 さらに、図14のSTEP27では、要求重心速度生成部74は、X軸方向に関するフィルタの出力にリミット処理を施して、X軸方向の要求重心速度Vb_x_aimを決定することに加えて、Y軸方向に関するフィルタの出力にもX軸方向と同様にリミット処理を施して、Y軸方向の要求重心速度Vb_y_aimを決定する。
 第2実施形態は、以上説明した事項以外は、先に説明した実施形態と同じでよい。この第2実施形態によれば、乗員等が車両1に推進力を付加した後に、X軸方向及びY軸方向の両方向の重心速度Vb_x,Vb_yが一定に保持される滑走と、それに続く減速とを、乗員等による煩雑な操縦操作を必要とすることなく、自動的に行なうことができる。
 なお、車両1に付加させる推進力がY軸方向もしくはこれに近い方向である場合に、X軸方向のVb_x_aimを“0”に保持し、Y軸方向Vb_y_aimだけ、第2実施形態の如く演算処理モードに応じて可変的に決定するようにしてもよい。
 また、前記実施形態では、車両1に付加的に推進力を加えることに応じて要求重心速度Vb_x_aimを増速させ、続いて、速度ホールドモードの処理により要求重心速度Vb_x_aimを一定に保持した後、制動モードの処理によって、要求重心速度Vb_x_aimを減衰させるようにした。これに代えて、例えば、乗員によるスイッチ操作等に応じて、車両1を加速させるように要求重心速度Vb_x_aimを増速させ、続いて、該スイッチ操作の解除などに応じて、要求重心速度Vb_x_aimを一定に保持した後、減衰させていくようにしてもよい。また、要求重心速度Vb_x_aimを増速したり、あるいは、一定に保持するための条件として、環境条件などを加味してもよい。これらのことは、Y軸方向の要求重心速度Vb_y_aimについても同様である。
 また、前記実施形態では、前記自立モードにおいては、要求重心速度Vb_x_aim,Vb_y_aimを常に“0”に設定するようにしたが、乗員が搭乗していない車両1を必要に応じて作業者などが押して移動させるような場合には、搭乗モードの場合と同様の処理を実行することで、要求重心速度Vb_x_aim又はVb_y_aimを変化させるようにしてもよい。
 なお、搭乗モードと自立モードとでは、車両系の全体の重量が相違するので、車両1に推進力を付加させた場合の車両1の加速のしやすさ等の車両1の挙動特性が相違する。従って、搭乗モードと自立モードとの両方のモードにおいて、車両1に付加される推進力に応じて要求重心速度Vb_x_aim(又はVb_y_aim)を決定する場合に、前記第1閾値DV1_x、第2応答時定数τ2_x、速度ホールド時間Tm_x、比率γ_x等のパラメータの値を、搭乗モードと自立モードとで異なる値に設定するようにしてもよい。
 また、前記実施形態では、図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…倒立振子型車両、5…車輪体(移動動作部)、7…アクチュエータ装置、9…基体、72…重心速度算出部(速度変化率計測手段)、74…要求重心速度生成部(目標速度決定手段)、76…重心速度制限部(移動動作部制御手段)、80…姿勢制御演算部(移動動作部制御手段)、82…モータ指令演算部(移動動作部制御手段)、STEP21…速度変化率計測手段、STEP23-1,25-4…加速要求判断手段。

Claims (5)

  1.  床面上を移動可能な移動動作部と、該移動動作部を駆動するアクチュエータ装置と、該移動動作部及びアクチュエータ装置が組付けられた基体と、鉛直方向に対して傾動自在に前記基体に組付けられた乗員の搭乗部とを備えた倒立振子型車両の制御装置であって、
     前記車両の所定の代表点の移動速度の目標値である目標代表点速度を逐次決定する手段であり、少なくとも所定方向の成分が“0”でない大きさを有する目標代表点速度を決定している状況で所定の条件が成立した場合に、所定時間の期間における目標代表点速度の大きさ、又は該目標代表点速度のうちの前記所定方向の成分の大きさである保持対象速度大きさ量を、該期間の開始直前に決定した目標代表点速度に係わる当該保持対象速度大きさ量と同一の値で一定に保持するように目標代表点速度を決定する処理である速度保持処理を実行する目標速度決定手段と、
     少なくとも該目標速度決定手段が決定した目標代表点速度と前記搭乗部の所定値の目標傾斜角度とに前記代表点の実際の移動速度と前記搭乗部の実際の傾斜角度とをそれぞれ近づけるように、前記移動動作部の移動動作を前記アクチュエータ装置を介して制御する移動動作部制御手段とを備えることを特徴とする倒立振子型車両の制御装置。
  2.  請求項1記載の倒立振子型車両の制御装置において、
     前記移動動作部は、床面上を互いに直交する第1の方向及び第2の方向を含む全方向に移動可能に構成され、前記搭乗部は、該搭乗部に搭乗した乗員の前後方向及び左右方向をそれぞれ前記第1の方向、第2の方向として、前記第1の方向の軸周りと第2の方向の軸周りとの2軸周りに傾動自在に前記基体に組み付けられており、
     前記目標速度決定手段は、前記速度保持処理において、前記目標代表点速度のうちの前記第1の方向の成分を前記保持対象速度大きさ量として一定に保持すると共に、該目標代表点速度のうちの前記第2の方向の成分を“0”に保持するか、又は“0”に減衰させていくように目標代表点速度を決定することを特徴とする倒立振子型車両の制御装置。
  3.  請求項1記載の倒立振子型車両の制御装置において、
     前記移動動作部制御手段は、前記速度保持処理に続いて、前記目標代表点速度の大きさを“0”に減衰させるように該目標代表点速度を決定する処理を実行することを特徴とする倒立振子型車両の制御装置。
  4.  請求項1記載の倒立振子型車両の制御装置において、
     前記保持対象速度大きさ量を増加させる要求である加速要求が発生した否かを判断する加速要求判断手段を備え、
     前記移動動作部制御手段は、前記加速要求判断手段の判断結果が肯定的になった場合に、前記保持対象速度大きさ量を増加させるように前記目標代表点速度を決定する処理である増速処理を実行し、該増速処理の実行中に前記所定の条件が成立した場合に、前記速度保持処理を開始することを特徴とする倒立振子型車両の制御装置。
  5.  請求項4記載の倒立振子型車両の制御装置において、
     前記車両は、前記アクチュエータ装置により前記移動動作部を駆動することによって発生する車両の推進力以外の外力が付加された場合に、該外力によって前記代表点の移動速度を増速可能な車両であり、
     前記代表点の実際の移動速度の大きさ、又は該実際の移動速度のうちの前記所定方向の成分の大きさの時間的変化率に応じた出力を発生する速度変化率計測手段を備え、
     前記加速要求判断手段は、少なくとも前記速度変化率計測手段の出力が示す前記時間的変化率の計測値に基づいて、前記加速要求が発生したか否かを判断し、
     前記目標速度決定手段は、前記増速処理の実行中に、前記時間的変化率の計測値が所定の閾値よりも小さくなった場合に、前記所定の条件が成立したものとして、前記速度保持処理の実行を開始することを特徴とする倒立振子型車両の制御装置。
PCT/JP2009/004727 2009-09-18 2009-09-18 倒立振子型車両の制御装置 WO2011033577A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE112009005246.0T DE112009005246B4 (de) 2009-09-18 2009-09-18 Regelungs-/Steuerungsvorrichtung eines inverspendelartigen Fahrzeugs
US13/391,690 US8583342B2 (en) 2009-09-18 2009-09-18 Control device of inverted pendulum type vehicle
JP2011531651A JP5306471B2 (ja) 2009-09-18 2009-09-18 倒立振子型車両の制御装置
PCT/JP2009/004727 WO2011033577A1 (ja) 2009-09-18 2009-09-18 倒立振子型車両の制御装置

Applications Claiming Priority (1)

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

Publications (1)

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

Family

ID=43758206

Family Applications (1)

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

Country Status (4)

Country Link
US (1) US8583342B2 (ja)
JP (1) JP5306471B2 (ja)
DE (1) DE112009005246B4 (ja)
WO (1) WO2011033577A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200123500A (ko) * 2019-04-12 2020-10-30 정필기 멀티 모터를 구비한 이동장치

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102574560B (zh) * 2009-09-18 2014-06-18 本田技研工业株式会社 倒立摆型移动体
JP5921950B2 (ja) * 2012-05-14 2016-05-24 本田技研工業株式会社 倒立振子型車両
CN102826121B (zh) * 2012-09-05 2015-02-04 上海新世纪机器人有限公司 平移式自平衡两轮车转向装置
DE102016221248A1 (de) * 2016-10-28 2018-05-03 Bayerische Motoren Werke Aktiengesellschaft Fahrzeugrad und Verfahren zum Betreiben eines Fahrzeugrads

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3070015B2 (ja) * 1990-11-30 2000-07-24 本田技研工業株式会社 不安定車両の走行制御装置
JP2004129435A (ja) * 2002-10-04 2004-04-22 Sony Corp 搬送装置、制御方法、及び駆動機構
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
US7363993B2 (en) * 2003-11-04 2008-04-29 Toyota Jidosha Kabushiki Kaisha Traveling apparatus and method for controlling thereof
AU2007286080A1 (en) * 2006-08-11 2008-02-21 Segway Inc. Speed limiting in electric vehicles
US7847504B2 (en) * 2006-10-10 2010-12-07 Carnegie Mellon University Dynamic balancing mobile robot
EP2138379B1 (en) * 2007-04-20 2018-11-28 Honda Motor Co., Ltd. Omnidirectional drive device and omnidirectional vehicle with such a device
CN101657347B (zh) * 2007-04-20 2012-03-28 本田技研工业株式会社 全方向驱动装置以及使用该全方向驱动装置的全方向移动车
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
JP3070015B2 (ja) * 1990-11-30 2000-07-24 本田技研工業株式会社 不安定車両の走行制御装置
JP2004129435A (ja) * 2002-10-04 2004-04-22 Sony Corp 搬送装置、制御方法、及び駆動機構
WO2008139740A1 (ja) * 2007-05-16 2008-11-20 Honda Motor Co., Ltd. 全方向に移動可能な乗り物

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200123500A (ko) * 2019-04-12 2020-10-30 정필기 멀티 모터를 구비한 이동장치
KR102209712B1 (ko) * 2019-04-12 2021-01-29 정필기 멀티 모터를 구비한 이동장치

Also Published As

Publication number Publication date
JP5306471B2 (ja) 2013-10-02
US8583342B2 (en) 2013-11-12
DE112009005246B4 (de) 2016-09-15
JPWO2011033577A1 (ja) 2013-02-07
DE112009005246T5 (de) 2013-01-10
US20120150410A1 (en) 2012-06-14

Similar Documents

Publication Publication Date Title
JP5306474B2 (ja) 倒立振子型車両の制御装置
JP5386282B2 (ja) 歩行補助装置
JP5504272B2 (ja) 倒立振子型車両の制御装置
JP5306473B2 (ja) 倒立振子型車両の制御装置
WO2011033586A1 (ja) 倒立振子型車両の制御装置
WO2011036696A1 (ja) 倒立振子型車両
JP5414804B2 (ja) 倒立振子型車両の制御装置
JP5306472B2 (ja) 倒立振子型車両の制御装置
JP5330200B2 (ja) 倒立振子型車両の制御装置
JP5404800B2 (ja) 倒立振子型車両
JP5414801B2 (ja) 倒立振子型車両の制御装置
JP5414800B2 (ja) 倒立振子型車両の制御装置
JP5355700B2 (ja) 倒立振子型移動体の制御装置
JP5306470B2 (ja) 全方向移動車両の制御装置
JP5306471B2 (ja) 倒立振子型車両の制御装置
JP5379235B2 (ja) 倒立振子型車両の制御装置
JP2011068167A (ja) 倒立振子型車両の制御装置
JP2011093398A (ja) 全方向移動車両の制御装置
JP5330199B2 (ja) 倒立振子型車両の制御装置
JP5330198B2 (ja) 倒立振子型車両の制御装置
JP2011073628A (ja) 倒立振子型移動体の制御装置
JP5306951B2 (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: 09849437

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011531651

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 13391690

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1120090052460

Country of ref document: DE

Ref document number: 112009005246

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09849437

Country of ref document: EP

Kind code of ref document: A1