WO2011033576A1 - 全方向移動車両の制御装置 - Google Patents

全方向移動車両の制御装置 Download PDF

Info

Publication number
WO2011033576A1
WO2011033576A1 PCT/JP2009/004726 JP2009004726W WO2011033576A1 WO 2011033576 A1 WO2011033576 A1 WO 2011033576A1 JP 2009004726 W JP2009004726 W JP 2009004726W WO 2011033576 A1 WO2011033576 A1 WO 2011033576A1
Authority
WO
WIPO (PCT)
Prior art keywords
speed
value
gravity
center
vehicle
Prior art date
Application number
PCT/JP2009/004726
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 JP2011531650A priority Critical patent/JP5306470B2/ja
Priority to US13/391,494 priority patent/US8532898B2/en
Priority to PCT/JP2009/004726 priority patent/WO2011033576A1/ja
Priority to DE112009005256.8T priority patent/DE112009005256B4/de
Publication of WO2011033576A1 publication Critical patent/WO2011033576A1/ja

Links

Images

Classifications

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

Definitions

  • the present invention relates to a control device for an omnidirectional vehicle capable of moving in all directions on a floor surface.
  • Patent Documents 1 and 2 As the omnidirectional vehicle that can move on the floor surface in all directions (two-dimensional all directions), for example, those shown in Patent Documents 1 and 2 have been proposed by the present applicant.
  • a spherical or wheel-like or crawler-like moving operation unit capable of moving in all directions on the floor surface while being in contact with the floor surface;
  • An actuator device having an electric motor or the like for driving the moving operation unit is assembled to a vehicle body. And this vehicle moves on a floor surface by driving a movement operation part with an actuator device.
  • a technique for controlling the movement operation of this type of omnidirectional vehicle for example, a technique found in Patent Document 3 has been proposed by the present applicant.
  • a vehicle base is provided so as to be tiltable in the front-rear and left-right directions with respect to a spherical moving operation unit. Then, the vehicle is moved according to the tilting motion of the base by measuring the tilt angle of the base and controlling the torque of the electric motor that drives the moving operation unit so as to keep the tilt angle at a required angle. I have to.
  • Patent Documents 1 and 2 or Patent Document 3 it is often desirable to attenuate the moving speed of the vehicle. For example, it is desirable to attenuate the moving speed of the vehicle while the request for acceleration of the vehicle (request to increase the moving speed of the vehicle) is resolved during the movement of the vehicle on which the passenger is boarded.
  • the present invention has been made in view of such a background, and an object thereof is to provide an omnidirectional vehicle capable of improving straightness.
  • the omnidirectional vehicle control apparatus of the present invention includes a moving operation unit that is movable in all directions including a first direction and a second direction orthogonal to each other on the floor surface,
  • An omnidirectional vehicle control device comprising an actuator device for driving a moving operation unit and a base body on which the moving operation unit and the actuator device are assembled,
  • a moving operation unit control means for controlling the operation of the moving operation unit via the actuator device according to at least a target speed vector determined by the target speed determination unit;
  • the target speed determining means when starting execution of the speed attenuation process immediately after determining a target speed vector in a direction different from the first direction, Within the speed decay period until the magnitude is
  • the fact that the movement operation unit is “movable in all directions including the first direction and the second direction” means that the movement direction is an axial direction 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 means that the direction of an arbitrary angular direction around the axial direction can be taken 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.
  • 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 movement operation unit control unit controls the operation of the movement operation unit via the actuator device according to the target speed vector sequentially determined by the target speed determination unit. That is, the operation of the moving operation unit is controlled so as to realize the target speed vector of the representative point of the vehicle (so that the actual speed vector of the representative point of the vehicle follows or approaches the target speed vector).
  • the target speed determination means executes the speed attenuation process.
  • the speed direction adjusting means included in the target speed determining means when the execution of the speed attenuation process is started immediately after determining the target speed vector in a direction different from the first direction,
  • the target speed vector is determined so as to be closer to the first direction than the direction of the attenuated initial target speed vector.
  • the execution of the speed attenuation process is started when the predetermined condition is satisfied immediately after the target speed vector having a direction different from the first direction is determined.
  • the direction of the target velocity vector is brought closer to the first direction.
  • the target speed vector of the representative point of the vehicle is attenuated stepwise or continuously, and consequently the magnitude of the actual speed vector of the representative point is attenuated stepwise or continuously.
  • the direction of the representative velocity vector is automatically brought closer to the first direction. Accordingly, the direction of the velocity vector of the representative point of the vehicle can be prevented from deviating from the first direction in the attenuation process, and the straightness of the vehicle with respect to the first direction can be improved.
  • stepwise attenuation related to the magnitude of the target velocity vector means attenuation including a period during which the magnitude of the target velocity vector is kept constant.
  • the period may be an initial period immediately after the execution of the speed attenuation process.
  • the predetermined condition for example, a condition relating to a vehicle operation state, a steering operation state, an environmental state, or the like can be employed.
  • the direction of the target speed vector within the speed decay period may be close to the first direction during the entire speed decay period. You may make it carry out in the period of a part.
  • the front-rear direction of the occupant who has boarded the riding part is set as the first direction, and The direction is preferably set as the second direction (second invention).
  • the straightness of the vehicle with respect to the front-rear direction of the passenger boarding the riding section is increased. Will increase. For this reason, it is easy for the passenger to operate the vehicle.
  • the speed direction adjusting means when the execution of the speed attenuation process is started immediately after the target speed vector having a direction different from the first direction is determined, the speed direction adjusting means is configured to provide the initial attenuation target. Regardless of the direction of the velocity vector, the target velocity vector is determined so that the direction of the target velocity vector is closer to the first direction than the direction of the attenuated initial target velocity vector within the velocity decay period. Is also possible.
  • the speed direction adjusting means determines that the acute angle between the direction of the initial damping initial speed vector and the first direction is smaller than a predetermined angle value.
  • the target speed vector is determined so that the direction of the target speed vector is closer to the first direction than the direction of the initial damping target speed vector within the speed decay period (first). 3 invention).
  • the direction of the attenuated initial target speed vector when the acute angle with respect to the direction of the attenuated initial target speed vector is smaller than the predetermined angle value, that is, the direction of the attenuated initial target speed vector is relatively in the first direction. Only when it is close, the direction of the target speed vector can be made closer to the first direction within the speed decay period.
  • the acute angle side angle with respect to the direction of the initial damping target velocity vector is smaller than the predetermined angle value, in other words, the first direction component of the damping initial target velocity vector.
  • the ratio of the component absolute value in the second direction to the absolute value of is smaller than a predetermined ratio.
  • the target speed determination means is configured such that an acute angle angle between the direction of the target speed vector determined immediately before the start of execution of the speed attenuation process and the first direction is the predetermined angle. If the value is larger than the value, it is preferable that the direction of the target speed vector is kept constant or the target speed vector is determined so as to approach the second direction within the speed decay period (first 4 invention).
  • the target speed vector is determined so that the direction of the target speed vector is kept constant or close to the second direction within the speed decay period. Within the decay period, a target speed vector having a direction suitable for the direction of the attenuated initial target speed vector can be determined.
  • the speed attenuation process is performed by, for example, continuously holding the target speed vector magnitude after holding the magnitude of the target speed vector constant for a predetermined time period from the start of execution. It is preferable that the process be attenuated.
  • the speed direction adjusting means changes the direction of the target speed vector in the first direction in at least the period in which the magnitude of the target speed vector is continuously attenuated in the speed decay period. It is preferable to determine the target velocity vector so as to be continuously close to (5th invention).
  • the direction of the target speed vector continuously approaches the first direction in parallel with the continuous attenuation of the magnitude of the target speed vector within the speed decay period. Therefore, the moving path of the representative point of the vehicle within the speed decay period can be a smooth path.
  • the direction of the target speed vector is made to continuously approach the first direction, including the period during which the magnitude of the target speed vector is kept constant. You may make it carry out.
  • acceleration request determination means for determining whether or not an acceleration request, which is a request for increasing the magnitude of the velocity vector of the representative point, has occurred, and the target speed determination means includes When the determination result of the acceleration request determination means becomes affirmative, execute a speed increasing process for determining the target speed vector so as to increase the magnitude of the target speed vector, and execute the speed increasing process. It is preferable that the target speed vector is determined by the speed direction adjusting means when the predetermined condition is satisfied (the sixth invention).
  • the magnitude of the target speed vector is increased by the acceleration process.
  • the target speed vector is determined so as to Thereby, the magnitude
  • 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. Execution of the attenuation process is started.
  • the speed direction adjusting means causes the direction of the target speed vector to be close to the first direction, so that a special maneuvering operation of the vehicle can be performed during automatic travel after the vehicle is accelerated. Without the need, the moving direction of the representative point of the vehicle can be brought close to the first direction.
  • the magnitude of the velocity vector of the representative point is increased by the external force.
  • the following modes are preferable. That is, an output corresponding to a speed change rate that is a temporal change rate of the magnitude of the actual velocity vector of the representative point or a temporal change rate of the magnitude of the speed component in the first direction of the speed vector.
  • a speed change rate measuring means for generating the acceleration request wherein the acceleration request determining means determines whether or not the acceleration request has occurred based on at least the measured value of the speed change rate indicated by the output of the speed change rate measuring means.
  • the target speed determining means determines that the predetermined condition is satisfied when the measured value of the speed change rate becomes smaller than a predetermined threshold value during execution of the speed increasing process. Execution of processing is started (seventh invention).
  • the acceleration request determination means determines whether or not the acceleration request has occurred based on at least the measured value of the speed change rate. It can be judged according to.
  • the speed increasing process can be executed in accordance with the actual operation state of the vehicle.
  • the measured speed change rate is the time change rate of the magnitude of the component in the first direction of the actual speed vector of the representative point
  • the actual operating state of the vehicle The speed increasing process can be started in accordance with the actual motion state of the vehicle in the first direction.
  • the speed attenuation process when the measured value of the speed change rate becomes smaller than a predetermined threshold value, the speed attenuation process is executed assuming that the predetermined condition is satisfied.
  • the speed attenuation process can be started in a state where the necessity of increasing the magnitude of the speed vector is eliminated. For this reason, it is possible to automatically attenuate the magnitude of the velocity vector of the representative point of the vehicle continuously or stepwise at an appropriate timing after the acceleration of the vehicle.
  • the moving direction of the representative point of the vehicle In the speed decay period in which the speed decay process is executed, the moving direction of the representative point of the vehicle can be brought closer to the first direction by the process executed by the speed direction adjusting unit.
  • the measurement value of the speed change rate is lower than 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 portion for the passenger, and the riding portion can be installed so that the passenger who has boarded the riding portion 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 boarding portion of the occupant is capable of tilting with respect to the vertical direction around two axes of the axis in the first direction and the axis in the second direction.
  • Application to an omnidirectional vehicle mounted on the vehicle is a preferred embodiment.
  • the representative point of the vehicle for example, the center of gravity of the whole of the vehicle and the occupant on the vehicle can be used.
  • an operation amount for controlling the operation of the moving operation unit (for example, a target acceleration of the moving operation unit, a target value of force to be applied to the moving operation unit, etc.) is determined. It is preferable to control the operation of the moving operation unit via the actuator device in accordance with the 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 flowchart which shows the subroutine processing of STEP23 of FIG. The flowchart which shows the subroutine processing of STEP23-5 of FIG.
  • the omnidirectional mobile vehicle 1 is omnidirectional (front-rear direction and left-right direction) on the floor surface while being in contact with the riding section 3 of the occupant (driver) and the floor surface.
  • 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 omnidirectional 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 in which the center of gravity point of the vehicle 1 (hereinafter referred to as the vehicle center of gravity point) 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 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 a set 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 greatly inclined from the basic posture, and as a result, 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 would cause the angular speed to deviate from the allowable range.
  • the requested center-of-gravity speed generation unit 74 generates the requested center-of-gravity speeds Vb_x_aim and Vb_y_aim (the requested center-of-gravity speed where one or both of Vb_x_aim and Vb_y_aim are not “0”) in response to a request by a steering operation such as an occupant.
  • a steering operation such as an occupant.
  • the electric motors 31R and 31L have a high rotational angular velocity that deviates from the allowable range (specifically, as long as Vw_x_lim2 and Vw_y_lim2 shown in FIG.
  • the required center-of-gravity speeds Vb_x_aim and Vb_y_aim are determined as the control target center-of-gravity speeds Vb_x_mdfd and Vb_y_mdfd, respectively. For this reason, the moving speed of the wheel body 5 is controlled so as to realize the required center-of-gravity speeds Vb_x_aim and Vb_y_aim (so that the actual center-of-gravity speed approaches the required center-of-gravity speeds Vb_x_aim and Vb_y_aim).
  • the required center-of-gravity speed generation unit 74 sets the required center-of-gravity speeds Vb_x_aim and Vb_y_aim to “0” as described above when the operation mode of the vehicle 1 is the self-supporting mode.
  • the requested center-of-gravity velocity generation unit 74 performs the operation according to the operation of the vehicle 1 by the occupant or the like (the operation of adding a propulsive force to the vehicle 1).
  • the required center-of-gravity speeds Vb_x_aim and Vb_y_aim estimated to be required are determined.
  • 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 required center-of-gravity velocity generation unit 74 determines the vehicle based on the temporal change rate of the magnitude (absolute value) of the actual velocity vector (hereinafter referred to as the center-of-gravity velocity vector ⁇ Vb) of the vehicle system center-of-gravity point. While determining whether or not an acceleration request as a request to increase the moving speed of 1 has occurred, in response to this, two required gravity center velocity vectors ⁇ Vb_aim (required gravity center velocity Vb_x_aim, Vb_y_aim as two target values of ⁇ Vb) The velocity vector as a component) is sequentially determined.
  • the process is schematically described.
  • the requested gravity center velocity vector ⁇ Vb_aim is increased so that the magnitude of the requested gravity center velocity vector ⁇ Vb_aim is increased until the acceleration request is canceled. Is determined.
  • the required center-of-gravity velocity vector ⁇ Vb_aim is determined so as to attenuate the magnitude of the required center-of-gravity velocity vector ⁇ Vb_aim stepwise.
  • the magnitude of the required center-of-gravity velocity vector ⁇ Vb_aim is kept constant for a predetermined time period after the acceleration request is canceled.
  • the magnitude of the required center-of-gravity velocity vector ⁇ Vb_aim is continuously attenuated to “0”.
  • the direction of the required center-of-gravity velocity vector ⁇ Vb_aim is brought closer to the X axis direction as appropriate.
  • the required center-of-gravity velocity generation unit 74 that executes such processing will be described in detail below with reference to the flowcharts of FIGS.
  • the requested center-of-gravity velocity generation unit 74 first executes the processing of STEP 21.
  • the requested center-of-gravity speed generation unit 74 has an estimated center-of-gravity speed vector ⁇ Vb_s that is a speed vector (observed value of the actual center-of-gravity speed vector ⁇ Vb) having the input center-of-gravity speed estimated values Vb_x_s and Vb_y_s as two components.
  • This DVb_s has a meaning as an observed value (estimated value) of the temporal change rate of the magnitude of the actual center-of-gravity velocity vector ⁇ Vb.
  • DVb_s is referred to as an estimated gravity center velocity absolute value change rate DVb_s.
  • the sqrt () is a square root function.
  • the requested center-of-gravity speed generation unit 74 calculates center-of-gravity acceleration estimated values Vbdot_x_s and Vvdot_y_s that are respective temporal change rates (differential values) of the input center-of-gravity speed estimated values Vb_x_s and Vb_y_s.
  • a vector having two components of Vbdot_x_s and Vvdot_y_s means an observed value of an actual acceleration vector at the vehicle system center of gravity.
  • the requested center-of-gravity velocity generation unit 74 determines which mode is the current arithmetic processing mode for calculating the requested center-of-gravity velocity Vb_x_aim.
  • the requested center-of-gravity velocity generation unit 74 determines a basic value of the requested center-of-gravity velocity vector ⁇ Vb_aim (hereinafter, referred to as a basic requested center-of-gravity velocity vector ⁇ Vb_aim1), and then the basic requested center-of-gravity velocity vector ⁇ The requested center-of-gravity velocity vector ⁇ Vb_aim is determined so that the requested center-of-gravity velocity vector ⁇ Vb_aim follows Vb_aim1 (in a consistent manner).
  • the calculation processing mode represents the type of determination method of the basic required center-of-gravity velocity vector ⁇ Vb_aim1.
  • the braking mode is a mode in which ⁇ Vb_aim1 is determined so that the magnitude of the basic required center-of-gravity velocity vector ⁇ Vb_aim1 is attenuated to “0” or held at “0”.
  • the speed follow-up mode is a mode in which the basic required center-of-gravity speed vector ⁇ Vb_aim1 is determined so as to follow (match or substantially match) the estimated center-of-gravity speed vector ⁇ Vb_s.
  • the speed hold mode is a mode for determining ⁇ Vb_aim1 so as to keep the magnitude of the basic required center-of-gravity velocity vector ⁇ Vb_aim1 constant.
  • calculation processing mode in a state where 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 to determine the basic required center-of-gravity velocity vector ⁇ Vb_aim1.
  • 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 velocity generation unit 74 firstly compares DVb_s> DV1 and
  • 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 general front-rear direction of the vehicle 1.
  • the DV1 is a positive first threshold value DV1 (> 0) set in advance.
  • DVb_s> DV1 means a situation where the magnitude
  • the a1 is a positive coefficient value set in advance.
  • means that the actual acceleration vector of the center of gravity of the vehicle system has a component in the X-axis direction that is not “0”, and the acceleration vector is in the X-axis direction.
  • the acute angle ( tan ⁇ 1 (
  • a1 is set to, for example, “1” or a value close thereto.
  • the situation in which the determination result in STEP 23-1 is affirmative is that a maneuvering operation (generally in the vehicle 1) is attempted to increase the magnitude of the center-of-gravity velocity vector ⁇ Vb in the longitudinal direction by an occupant or an outside assistant.
  • a maneuvering operation that adds propulsive force in the front-rear direction is performed.
  • the requested center-of-gravity velocity generation unit 74 next performs STEP 23. -4 determination processing is executed.
  • the requested center-of-gravity velocity generation unit 74 determines whether the estimated center-of-gravity velocity absolute value change rate DVb_s calculated in STEP21 is smaller than a preset negative third threshold DV3 ( ⁇ 0). Judge whether or not. This determination process determines whether or not a deceleration request has been made for the occupant of the vehicle 1 to actively reduce the magnitude of the center-of-gravity velocity vector ⁇ Vb. 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 velocity generation unit 74 executes the first braking calculation process at STEP 23-5, Determine the magnitude of the basic required centroid velocity vector ⁇ Vb_aim1
  • the requested center-of-gravity velocity generation unit 74 executes the second braking calculation process in STEP 23-6, thereby obtaining the basic request.
  • and the basic required center-of-gravity velocity vector azimuth angle ⁇ vb_aim1 are determined, and the processing in FIG. 15 ends.
  • , cos ( ⁇ vb_aim1) Vb_y_aim1 /
  • the first braking calculation process of STEP23-5 is executed as shown in the flowcharts of FIGS.
  • the required center-of-gravity velocity generation unit 74 firstly sets a predetermined positive value preset in advance from the previous value
  • a value that is decreased by the value ⁇ Vb1 is calculated as a candidate value ABS_Vb of
  • ⁇ Vb1 is a set value that defines the amount of decrease in
  • the requested center-of-gravity velocity generation unit 74 sets the larger value max (0, ABS_Vb) of the candidate value ABS_Vb and “0” as the current value of
  • the requested center-of-gravity velocity generation unit 74 determines in STEP23-5-3 whether or not
  • the requested center-of-gravity velocity generation unit 74 sets the previous value ⁇ vb_aim1_p of ⁇ vb_aim1 to 0 ° ⁇ 0 by the processing from STEP23-5-5.
  • ⁇ th1 + is a positive azimuth angle threshold preset with a value between 0 ° and 90 °
  • ⁇ th1- is a negative azimuth preset with a value between 0 ° and ⁇ 90 °
  • Angle threshold, ⁇ th2 + is a positive azimuth threshold preset with a value between 90 ° and 180 °
  • ⁇ th2- is a negative negative preset with a value between -90 ° and -180 ° Azimuth angle threshold.
  • the absolute values of ⁇ th1 + and ⁇ th1- are set to the same value (for example, 45 ° or an angle value in the vicinity thereof).
  • the processing from STEP23-5-5 is executed as described below. That is, the required center-of-gravity velocity generation unit 74 determines whether or not 0 ° ⁇ ⁇ vb_aim1_p ⁇ ⁇ th1 + in STEP23-5-5. If this determination result is affirmative, the required center-of-gravity velocity generation unit 74 in STEP23-5-6 reduces the value obtained by decreasing the previous value ⁇ vb_aim1_p of ⁇ vb_aim1 by a predetermined positive value ⁇ vb1. Calculated as a candidate value ANG_Vb of ⁇ vb_aim1.
  • ⁇ vb1 is a set value that defines the amount of change in ⁇ vb_aim1 (and thus the temporal change rate of ⁇ vb_aim1) for each control processing cycle.
  • the required center-of-gravity velocity generation unit 74 determines the larger angle value max (0, ANG_Vb) of the candidate value ANG_Vb and 0 ° as the current value of ⁇ vb_aim1 in STEP23-5-7.
  • the process of 16 is finished. Therefore, when ANG_Vb ⁇ 0 °, ANG_Vb is determined as it is as the current value of ⁇ vb_aim1, and when ANG_Vb ⁇ 0 °, the current value of ⁇ vb_aim1 is 0 °.
  • the requested center-of-gravity velocity generation unit 74 next determines whether or not ⁇ th1- ⁇ ⁇ vb_aim1_p ⁇ 0 ° in STEP23-5-8. . If this determination result is affirmative, the required center-of-gravity velocity generation unit 74 determines a value obtained by increasing the previous value ⁇ vb_aim1_p of ⁇ vb_aim1 by the predetermined value ⁇ vb1 in STEP23-5-9 as a candidate value ANG_Vb1 of ⁇ vb_aim1 Calculate as
  • the requested center-of-gravity velocity generation unit 74 determines the smaller angle value min (0, ANG_Vb) of the candidate value ANG_Vb and 0 ° as the current value of ⁇ vb_aim1 in STEP23-5-10, The process of 16 is finished. Therefore, when ANG_Vb ⁇ 0 °, ANG_Vb is determined as it is as the current value of ⁇ vb_aim1, and when ANG_Vb> 0 °, the current value of ⁇ vb_aim1 is 0 °.
  • the requested center-of-gravity velocity generation unit 74 next determines whether or not ⁇ th2 + ⁇ ⁇ vb_aim1_p ⁇ 180 ° in STEP23-5-11 in FIG. to decide. If this determination result is affirmative, the required center-of-gravity velocity generation unit 74 determines a value obtained by increasing the previous value ⁇ vb_aim1_p of ⁇ vb_aim1 by the predetermined value ⁇ vb1 in STEP23-5-12 as a candidate value ANG_Vb1 of ⁇ vb_aim1 Calculate as
  • the required center-of-gravity velocity generation unit 74 determines the smaller angle value min (180, ANG_Vb) of the candidate value ANG_Vb and 0 ° as the current value of ⁇ vb_aim1 in STEP23-5-13.
  • the process 17 is ended. Therefore, when ANG_Vb ⁇ 180 °, ANG_Vb is determined as it is as the current value of ⁇ vb_aim1, and when ANG_Vb> 180 °, the current value of ⁇ vb_aim1 is 180 °.
  • the requested center-of-gravity velocity generation unit 74 determines whether or not ⁇ 180 ° ⁇ ⁇ vb_aim1_p ⁇ ⁇ th2 ⁇ in STEP23-5-14. To do. If this determination result is affirmative, the required center-of-gravity velocity generation unit 74 determines a value obtained by reducing the previous value ⁇ vb_aim1_p of ⁇ vb_aim1 by the predetermined value ⁇ vb1 in STEP23-5-15 as a candidate value ANG_Vb1 of ⁇ vb_aim1 Calculate as
  • the required center-of-gravity velocity generation unit 74 determines the larger angle value max (180, ANG_Vb) of the candidate value ANG_Vb and ⁇ 180 ° as the current value of ⁇ vb_aim1 in STEP 23-5-16, The process of FIG. 17 is terminated. Therefore, when ANG_Vb ⁇ ⁇ 180 °, ANG_Vb is determined as it is as the current value of ⁇ vb_aim1, and when ANG_Vb ⁇ 180 °, the current value of ⁇ vb_aim1 is set to ⁇ 180 °.
  • the required center-of-gravity speed generation unit 74 firstly sets a predetermined positive value preset in advance from the previous value
  • a value that is decreased by the value ⁇ Vb2 is calculated as a candidate value ABS_Vb of
  • ⁇ Vb2 is a set value that defines the amount of decrease in
  • ⁇ Vb2 is set to a value larger than the predetermined value ⁇ Vb1 used in the first braking calculation process.
  • the requested center-of-gravity velocity generation unit 74 executes the same processing as STEP23-5-2 in STEP23-6-2, and selects the candidate value ABS_Vb calculated in STEP23-6-1 and “0”.
  • the larger value max (0, ABS_Vb) is determined as the current value of
  • the required center-of-gravity velocity generation unit 74 determines in STEP23-6-3 whether or not
  • the requested center-of-gravity velocity generation unit 74 next sets the current value of ⁇ vb_aim1 to the same value as the previous value ⁇ vb_aim1_p in STEP23-6-5. The process of FIG. 18 is terminated.
  • the required center-of-gravity velocity generation unit 74 performs STEP 23- 2 determines the basic required centroid velocity vector absolute value
  • the requested center-of-gravity velocity generation unit 74 changes the calculation processing mode from the braking mode to the velocity follow-up mode in STEP 23-3, and ends the processing in FIG.
  • a value obtained by multiplying by is determined as the basic required center-of-gravity velocity vector absolute value
  • the ratio ⁇ is set to a positive value (for example, 0.8) slightly smaller than “1”.
  • Such processing in STEP23-2 is to match the method of determining
  • the value of the ratio ⁇ is slightly smaller than “1”.
  • the value of the ratio ⁇ may be set to “1” or a value slightly larger than that.
  • the ratio ⁇ is set to a value slightly smaller than “1”.
  • 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 in STEP 24-1, that is, a determination process as to whether or not a deceleration request for the vehicle 1 has occurred.
  • the required gravity center speed generation unit 74 next executes the same processing as STEP 23-6 (processing shown in the flowchart of FIG. 18) in STEP 24-6.
  • and the basic required centroid velocity vector azimuth ⁇ vb_aim1 are determined. Further, the requested center-of-gravity velocity generation unit 74 changes the calculation processing mode from the velocity follow-up mode to the braking mode in STEP 24-7, and ends the processing of FIG.
  • the requested center-of-gravity velocity generation unit 74 next executes the processing of STEP 24-2.
  • the required center-of-gravity velocity generation unit 74 executes the same processing as in STEP 23-2, and determines the basic required center-of-gravity velocity vector absolute value
  • ⁇ ⁇ is determined as
  • the requested center-of-gravity speed generation unit 74 determines whether or not the estimated center-of-gravity speed absolute value change rate DVb_s (value calculated in STEP 21) is smaller than a preset second threshold value DV2 in STEP 24-3.
  • the second threshold value DV2 is set to a predetermined negative value that is larger than the third threshold value DV3 (closer to “0” than DV3).
  • the second threshold DV2 may be set to “0” or a positive value slightly larger than “0” (however, a value smaller than the first threshold DV1).
  • the determination process of 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 process of FIG. 19 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 assumes that the acceleration request for the vehicle 1 has been completed, and initializes the countdown timer in STEP 24-4. 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 is set in the timer time value CNT.
  • the initial value Tm means a set value of time for which the speed hold mode is to be continued.
  • the calculation processing in the speed hold mode in STEP 25 is executed as shown in the flowchart of FIG. Specifically, the required center-of-gravity velocity generation unit 74 first executes the same determination processing as STEP 23-4 in STEP 25-1, that is, whether or not a deceleration request for the vehicle 1 has occurred.
  • the required center-of-gravity velocity generation unit 74 determines that the above STEP 23-6 is the same as STEP 23-6. By executing the same process (the process shown in the flowchart of FIG. 18), the basic required centroid speed vector absolute value
  • 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.
  • and the basic required centroid velocity vector azimuth ⁇ vb_aim1 are determined. That is,
  • ⁇ ⁇ is determined as
  • the requested center-of-gravity velocity generation unit 74 changes the calculation processing mode from the velocity hold mode to the velocity follow-up mode in STEP 25-6, and ends the processing in FIG.
  • the required center-of-gravity velocity generation unit 74 determines that the countdown timer in STEP 25-7 Decrement the time value CNT. That is, the time value CNT is updated by subtracting the predetermined value ⁇ T (time of the control processing cycle) from the current value of the time value CNT.
  • the required center-of-gravity velocity generation unit 74 determines in STEP 25-8 whether or not the count value CNT of the countdown timer is greater than “0”, that is, whether or not the countdown timer has ended.
  • the requested center-of-gravity velocity generation unit 74 assumes that the calculation processing mode is maintained in the velocity hold mode, and calculates the basic required center-of-gravity velocity vector absolute value
  • is determined to be the same value as the previous value
  • the current value of ⁇ vb_aim1 is determined to be the same value as the previous value ⁇ vb_aim1_p. Accordingly, the previous value of the basic required center-of-gravity velocity vector ⁇ Vb_aim1_p is determined as it is as the velocity vector of the current value of ⁇ Vb_aim1.
  • the required gravity center speed generation is performed.
  • the unit 74 executes the same processing as STEP 23-5 (the processing of the flowcharts of FIGS. 16 and 17) in STEP 25-10, thereby obtaining the basic required center-of-gravity velocity vector absolute value
  • the angle ⁇ vb_aim1 is determined.
  • the requested center-of-gravity speed generation unit 74 changes the calculation processing mode 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 determines
  • Each of the processes (filtering process) to be input to the filter is executed in STEP26.
  • and ⁇ vb_aim1 are the sizes of the required gravity center velocity vector ⁇ Vb_aim
  • This is a low-pass filter having a first-order lag characteristic for preventing the azimuth angle ⁇ vb_aim from changing suddenly in a step shape.
  • is set to a relatively short time constant, and the output value of the filter matches
  • the output value of the filter to which ⁇ vb_aim1 is input is determined as it is as the azimuth angle ⁇ vb_aim of the required centroid velocity vector ⁇ Vb_aim (hereinafter referred to as the required centroid velocity vector azimuth angle ⁇ vb_aim).
  • the required center-of-gravity velocity generation unit 74 sets the value obtained by passing the output value of the filter to which
  • the limiter is for preventing
  • the required center-of-gravity velocity generation unit 74 determines the X-axis direction component (required center-of-gravity velocity in the X-axis direction) Vb_x_aim of the required center-of-gravity velocity vector ⁇ Vb_aim from
  • a component in the Y-axis direction (required center of gravity speed in the Y-axis direction) Vb_y_aim.
  • the required center-of-gravity speed vector ⁇ Vb_aim (and thus the required center-of-gravity speed Vb_x_aim, Vb_y_aim) is determined in the following manner.
  • the arithmetic processing mode before adding the propulsive force is the braking mode.
  • in STEP 26 of FIG. 14 is a value that falls within a range where the limit is not forcibly restricted by the limiter in STEP 27 (the upper limit of the limiter). Value).
  • the estimated center-of-gravity speed values Vb_x_s and Vb_y_s are within a range where the output values V_x_lim2 and V_y_lim2 in the limit processing unit 104 are not forcibly limited.
  • the present value (current value) of the estimated gravity center speed vector ⁇ Vb_s is multiplied by a ratio ⁇ of a predetermined value. That is, a velocity vector slightly smaller than ⁇ Vb_s and having the same direction as ⁇ Vb_s is sequentially determined as the basic required center-of-gravity velocity vector ⁇ Vb_aim1.
  • the requested center-of-gravity velocity vector ⁇ Vb_aim which is sequentially determined by the requested center-of-gravity velocity generation unit 74, substantially matches the actual center-of-gravity velocity vector ⁇ Vb that is accelerated (increased in magnitude) by the propulsive force applied to the vehicle 1.
  • the X-axis direction component and the Y-axis direction component of the required center-of-gravity velocity vector ⁇ Vb_aim determined in this way are determined as the control target center-of-gravity velocity Vb_x_mdfd and Vb_y_mdfd. Further, the operation amount 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 by the added driving force.
  • the requested center-of-gravity velocity vector ⁇ Vb_aim1 is set to the same velocity vector as the previous velocity vector ⁇ Vb_aim1_p.
  • the basic required center-of-gravity velocity vector ⁇ Vb_aim1 is set immediately before the start of the speed hold mode in a predetermined time period (the time of the initial value Tm of the countdown timer) after the start of the speed hold mode.
  • the speed vector is held constant at the same speed vector as the determined speed vector.
  • the required center-of-gravity velocity vector ⁇ Vb_aim determined so as to follow ⁇ Vb_aim1 is also maintained at a constant velocity vector (a velocity vector that coincides with or substantially coincides with ⁇ Vb_aim determined immediately before the velocity hold mode starts). It will be decided to sag.
  • the X-axis direction component and the Y-axis direction component of the required center-of-gravity speed vector ⁇ Vb_aim determined as described above are determined as the control target center-of-gravity speeds Vb_x_mdfd and Vb_y_mdfd. Further, the operation amount 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 magnitude and direction of the actual speed vector ⁇ Vb of the vehicle system center-of-gravity point are kept constant. Therefore, the actual running state of the vehicle 1 in this situation is a state in which the occupant slides at a substantially constant speed vector without performing a steering operation that actively moves the upper body.
  • the countdown is performed 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. 20 are both negative).
  • the processing mode is changed from the speed hold mode to the braking mode by the processing of STEP25-11 in FIG.
  • the processing after STEP23-5-3 in FIG. 16 is executed every control processing cycle in a situation where neither an acceleration request nor a deceleration request is generated.
  • the direction of the basic required center-of-gravity velocity vector ⁇ Vb_aim1 determined immediately before the transition from the speed hold mode to the braking mode (the control immediately before the control processing cycle in which the determination result in STEP25-8 in FIG.
  • the direction of the basic required center-of-gravity velocity vector ⁇ Vb_aim continuously approaches the X-axis direction within a period until
  • the ratio of the absolute value of the Y-axis direction component Vb_y_aim1 to the absolute value of the X-axis direction component Vb_x_aim1 of the basic required center-of-gravity velocity vector ⁇ Vb_aim approaches “0”.
  • ⁇ Vb_aim1 is determined such that the direction thereof approaches (converges) in the X-axis direction while the magnitude is attenuated.
  • the required gravity center velocity vector ⁇ Vb_aim determined so as to follow ⁇ Vb_aim1 is also determined so that its direction approaches the X-axis direction while the magnitude is attenuated. The Rukoto.
  • ⁇ Vb_aim1 is determined so that its direction is kept constant while its magnitude is attenuated.
  • the required center-of-gravity velocity vector ⁇ Vb_aim determined so as to follow ⁇ Vb_aim1 is also determined so that its direction is kept constant while its magnitude is attenuated. The Rukoto.
  • ⁇ Vb_aim1 in the speed hold mode, the magnitude and direction of ⁇ Vb_aim1 is kept constant, so that the basic required center-of-gravity speed vector ⁇ Vb_aim1 determined immediately before the transition from the speed hold mode to the braking mode is established.
  • ⁇ Vb_aim1 determined immediately before the transition from the speed following mode to the speed hold mode in this embodiment, determined in the control processing cycle in which the determination result of STEP24-3 in FIG. 19 becomes affirmative
  • the X-axis direction component and the Y-axis direction component of the required center-of-gravity velocity vector ⁇ Vb_aim determined as described above in the braking mode are determined as the control target center-of-gravity velocity Vb_x_mdfd and Vb_y_mdfd.
  • the operation amount 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 as to continuously attenuate from the magnitude in the speed hold mode.
  • the vehicle 1 when the vehicle 1 is to be accelerated, it is often required to accelerate the vehicle 1 particularly in the front-rear direction of the occupant.
  • the vehicle 1 of the present embodiment has high rectilinearity in the front-rear direction as described above, even if the direction of the propulsive force applied to the vehicle 1 slightly deviates from the front-rear direction, the subsequent speed hold mode is continued.
  • the braking mode the moving speed of the wheel body 5 is controlled so that the speed vector of the vehicle system center of gravity is automatically directed in the front-rear direction.
  • a variation in the moving direction of the vehicle 1 is unlikely to occur, and a vehicle 1 having high straightness with respect to the occupant's front-rear direction (a vehicle 1 that easily travels in the occupant's front-rear direction) is realized.
  • the vehicle 1 when the vehicle 1 is moved in the front-rear direction, the vehicle 1 can be moved in the front-rear direction without directing the propulsive force applied to the vehicle 1 in the front-rear direction.
  • the steering operation for moving the vehicle 1 in the front-rear direction is facilitated.
  • 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.
  • 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 vehicle system center-of-gravity point velocity vector ⁇ Vb The required center-of-gravity velocity vector ⁇ Vb_aim, which is a target value, corresponds to the target velocity vector in the present invention.
  • 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 determination result of STEP24-3 in FIG. 19 becomes affirmative during the velocity follow-up mode processing, and during the subsequent velocity hold mode processing and braking mode processing. Furthermore, the acceleration request and the deceleration request are not generated (more 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. 20 are both negative. This corresponds to the case where the predetermined condition in the present invention is satisfied.
  • the processing in the speed hold mode in a state where the acceleration request and the deceleration request are not generated (specifically, the processing in FIG. 20 in a state where the determination results in STEPs 25-1 and 25-4 are negative) and the braking mode
  • the processing (specifically, the processing in FIG. 15 until ⁇ Vb_aim attenuates to “0” in a state where the judgment results in STEPs 23-1 and 23-4 are negative) and the subsequent STEPs 26 to 28 are combined.
  • the speed attenuation processing in the present invention is realized.
  • the period from when ⁇ Vb_aim is attenuated to “0” corresponds to the speed attenuation period in the present invention.
  • ⁇ Vb_aim determined at the target control processing cycle corresponds to the attenuated initial target velocity vector in the present invention.
  • the speed direction adjusting means in the present invention is realized by the processing of STEPs 23-5-5 to 23-5-17 in FIGS.
  • the azimuth threshold value ⁇ th1 +,-( ⁇ th1-), 180 °-( ⁇ th2 +), and ( ⁇ th2-)-180 ° correspond to the predetermined angle values in the present invention.
  • the speed change rate measuring means in the present invention is realized by the processing of STEP 21 in FIG.
  • the estimated gravity center speed absolute value change rate DVb_s corresponds to the measured value of the speed change rate in the present invention.
  • 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. Then, the speed follow-up mode process in a state where no deceleration request is generated (the process of FIG. 19 in a state where the determination result in STEP 24-1 is negative) corresponds to the speed increase process in the present invention.
  • the calculation processing in the speed hold mode in STEP 25 in FIG. 14 is executed as shown in the flowchart in FIG. In this case, the processing other than the case where the determination result in STEP 25-8 in FIG. 21 is affirmative is the same as the processing described in the first embodiment (the processing in FIG. 20).
  • the required center-of-gravity velocity generation unit 74 determines the basic required center-of-gravity velocity vector absolute value
  • the basic required center-of-gravity velocity vector azimuth ⁇ vb_aim1 is determined.
  • is determined to be the same value as the previous value
  • the current value of ⁇ vb_aim1 is determined by the same processing as STEPs 25-5-5 to 25-5-17 in FIGS. 16 and 17 described in the first embodiment. Therefore, the direction of the basic required center-of-gravity velocity vector ⁇ Vb_aim1 determined immediately before the transition from the velocity tracking mode to the velocity hold mode ( ⁇ Vb_aim1 determined in the control processing cycle in which the determination result of STEP24-3 in FIG.
  • ⁇ vb_aim1 is ⁇ vb_aim1 is determined so as to approach 0 °, 180 °, or ⁇ 180 ° as a convergence target angle at a constant rate of time change, and finally be held at 0 °, 180 °, or ⁇ 180 °. .
  • ⁇ vb_aim1 approaches the convergence target angle (0 °, 180 °, or ⁇ 180 °) at a constant rate of change over a period that combines the speed hold mode and the subsequent braking mode. , ⁇ vb_aim1 is determined so as to be held at the convergence target angle.
  • ⁇ vb_aim1 is equal to the azimuth angle ⁇ vb_aim1 of ⁇ Vb_aim1 determined immediately before the transition It is held constant at the same angle value.
  • the determination process of the azimuth angle ⁇ vb_aim1 in this case is the same as that in the first embodiment. For this reason, it is determined so that ⁇ vb_aim1 is held constant during a period in which the speed hold mode and the subsequent braking mode are combined.
  • the direction of the basic required center-of-gravity velocity vector ⁇ Vb_aim1 determined immediately before the transition from the velocity follow mode to the velocity hold mode is different from the X axis direction and is relatively close to the X axis direction.
  • the direction of the speed vector at the center of gravity of the vehicle system is automatically determined even if the occupant does not actively perform the steering operation by the movement of the upper body. Will approach the X-axis direction (front-rear direction of the occupant). Accordingly, the straight traveling performance of the vehicle 1 with respect to the front-rear direction of the occupant can be further enhanced.
  • the correspondence between this embodiment and the present invention is the same as that of the first embodiment.
  • the correspondence relationship between the processing of FIG. 20 and the present invention described in the first embodiment is replaced with the correspondence relationship of the processing of FIG. 21 and the present invention.
  • the vehicle system center of gravity (specifically, the vehicle / occupant overall center of gravity) is set as a predetermined representative point of the vehicle 1, but the representative point is, for example, the center point of the wheel body 5 or a predetermined point of the base body 9. You may set to the point of this part (for example, support frame 13), etc.
  • DVb_s is related to the estimated center-of-gravity velocity absolute value change rate DVb_s and the center-of-gravity acceleration estimated values Vbdot_x_s and Vbdot_y_s in order to determine whether or not an acceleration request has occurred. It was determined whether or not the condition> DV1 and
  • the conditions regarding the center-of-gravity acceleration estimated values Vbdot_x_s and Vbdot_y_s may be omitted, and it may be determined whether or not an acceleration request has occurred by simply determining whether or not DVb_s> DV1.
  • the speed vector ⁇ Vb of the vehicle system center of gravity is accelerated in the approximate Y-axis direction, and then held at a constant speed vector, and then the magnitude of ⁇ Vb is attenuated.
  • the vehicle 1 can be run.
  • ⁇ vb_aim1_p is a value relatively close to 90 ° (a value within a predetermined range around 90 °). Is determined so that ⁇ vb_aim1 gradually approaches 90 °, and ⁇ vb_aim1 is a value relatively close to ⁇ 90 ° (when the value is within a predetermined range around ⁇ 90 °). May be determined so that ⁇ vb_aim1 gradually approaches ⁇ 90 °.
  • ⁇ vb_aim1 may be brought close to 90 ° or ⁇ 90 ° (an angle value closer to ⁇ vb_aim1_p).
  • a method for bringing ⁇ vb_aim1 close to 90 ° or ⁇ 90 ° for example, a method similar to the method for making ⁇ vb_aim1 close to 0 °, 180 °, or ⁇ 180 ° in the above-described embodiments may be used.
  • whether the direction of ⁇ Vb_aim1 (and thus ⁇ Vb_aim) is closer to the X-axis direction or the Y-axis direction. May be selectively switched according to a switch operation or the like.
  • ⁇ Vb_aim1 when the magnitude of ⁇ Vb_aim1 is attenuated in the braking mode,
  • may be attenuated to “0”.
  • may be attenuated exponentially with a predetermined time constant.
  • ⁇ vb_aim1 when the direction of ⁇ Vb_aim1 is made closer to the X-axis direction, instead of bringing ⁇ vb_aim1 closer to the convergence target angle (0 °, 180 °, or ⁇ 180 °) at a constant rate of time change, for example, ⁇ vb_aim1 May be exponentially approximated to the convergence target angle with a predetermined time constant. This is the same even when the direction of ⁇ Vb_aim1 is made closer to the Y-axis direction.
  • ⁇ vb_aim1 when the direction of ⁇ Vb_aim1 is made closer to the X-axis direction, ⁇ vb_aim1 (and thus ⁇ vb_aim) is sequentially determined so as to approach the convergence target angle (0 °, 180 °, or ⁇ 180 °). .
  • the direction of ⁇ Vb_aim1 may be determined by this ratio
  • the polarities of Vb_x_aim1 and Vb_y_aim1 are kept constant until the respective magnitudes become “0”.
  • the speed hold mode is provided between the speed follow-up mode and the braking mode.
  • this speed hold mode may be omitted.
  • the processing of STEP24-4 in FIG. 19 is omitted, and the processing for changing the arithmetic processing mode to the braking mode may be executed instead of the processing of STEP24-5.
  • the speed attenuation process according to the present invention is a process in the braking mode in a state where neither an acceleration request nor a deceleration request is generated (a state in which the determination results of STEPs 23-1 and 23-4 are both negative) 15) and the subsequent steps 26 to 28.
  • the required center-of-gravity velocity vector ⁇ Vb_aim is increased in accordance with the additional propulsive force applied to the vehicle 1, and then the speed hold mode and braking mode processes are executed as the speed attenuation process. I tried to do it.
  • the required center-of-gravity velocity vector ⁇ Vb_aim is increased so as to accelerate the vehicle 1 according to the switch operation by the occupant, and then the speed hold mode and the braking mode are activated according to the release of the switch operation. Execution of processing (speed attenuation processing) may be started.
  • environmental conditions etc. as conditions for starting the process of speed hold mode and braking mode.
  • the required center-of-gravity velocity vector ⁇ Vb_aim in the self-supporting mode, is always set to “0”. However, an operator or the like may use the vehicle 1 on which no occupant is boarding as necessary. In the case of pushing and moving, ⁇ Vb_aim may be determined so as to change the required center-of-gravity velocity vector ⁇ Vb_aim by executing the same processing as in the boarding mode.
  • the vehicle 1 having the structure shown in FIGS. 1 and 2 is illustrated, but the omnidirectional vehicle 1 in the present invention is not limited to the vehicle illustrated 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 this sphere is used as 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).
  • the omnidirectional mobile vehicle in the present invention has both feet as shown in FIG.
  • 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 omnidirectional vehicles having various structures as seen in Patent Documents 1 to 3 and the like.
  • the omnidirectional vehicle according to the present invention includes a plurality of moving operation units that can move in all directions on the floor (for example, two in the left-right direction, two in the front-rear direction, or three or more). You may have.
  • the control of the tilt angle of the base body may be omitted by preventing the base body from tilting.

Abstract

 直進性を高めることができる全方向移動車両を提供する。  床面上を第1の方向及び第2の方向を含む全方向に移動可能な移動動作部5を有する車両1の所定の代表点の目標速度ベクトル↑Vb_aimの大きさを連続的又は段階的に減速させていく速度成分減衰処理の実行開始時から↑Vb_aimの大きさが“0”に減衰するまでの期間内において、↑Vb_aimの向きを第1の方向に近づける。第1の方向を車両1に搭乗する乗員の前後方向、第2の方向を乗員の左右方向とする。

Description

全方向移動車両の制御装置
 本発明は、床面上を全方向に移動可能な全方向移動車両の制御装置に関する。
 床面上を全方向(2次元的な全方向)に移動可能な全方向移動車両としては、例えば、特許文献1、2に見られるものが本願出願人により提案されている。これらの特許文献1、2に見られる全方向移動車両にあっては、床面に接地しながら該床面上を全方向に移動可能な、球体状又は車輪状又はクローラ状の移動動作部と、該移動動作部を駆動する電動モータ等を有するアクチュエータ装置とが車両の基体に組付けられている。そして、この車両は、アクチュエータ装置により移動動作部を駆動することによって、床面上を移動する。
 また、この種の全方向移動車両の移動動作を制御する技術としては、例えば特許文献3に見られる技術が本願出願人により提案されている。この技術では、車両の基体が球体状の移動動作部に対して前後・左右に傾動自在に設けられている。そして、基体の傾き角を計測し、この傾き角を所要の角度に保つように、移動動作部を駆動する電動モータのトルクを制御することによって、基体の傾動動作に応じて車両を移動させるようにしている。
PCT国際公開公報WO/2008/132778 PCT国際公開公報WO/2008/132779 特許第3070015号
 ところで、特許文献1,2、あるいは特許文献3に見られる如き全方向移動車両の移動制御を行なう場合、車両の移動速度を減衰させていくことが望ましい状況が多々ある。例えば、乗員が搭乗した車両の移動中において、車両の加速要求(車両の移動速度を増速させる要求)が解消した状態では、車両の移動速度を減衰させていくことが望ましい。
 このような場合において、特許文献1,2、あるいは特許文献3に見られる如き全方向移動車両は、全方向への移動が可能であることから、床の凹凸等に起因する外乱の影響で、進行方向のばらつきが発生しやすい。このため、全方向移動車両の直進性を高める技術が望まれる。
 本発明は、かかる背景に鑑みてなされたものであり、直進性を高めることができる全方向移動車両を提供することを目的とする。
 本発明の全方向移動車両の制御装置は、かかる目的を達成するために、床面上を互いに直交する第1の方向及び第2の方向を含む全方向に移動可能な移動動作部と、該移動動作部を駆動するアクチュエータ装置と、該移動動作部及びアクチュエータ装置が組付けられた基体とを備えた全方向移動車両の制御装置であって、
 前記車両の所定の代表点の速度ベクトルの目標値である目標速度ベクトルを逐次決定する手段であり、所定の条件が成立する場合に、該目標速度ベクトルの大きさを連続的又は段階的に減衰させていく処理である速度減衰処理を実行する目標速度決定手段と、
 少なくとも該目標速度決定手段が決定した目標速度ベクトルに応じて前記移動動作部の動作を前記アクチュエータ装置を介して制御する移動動作部制御手段とを備え、
 前記目標速度決定手段は、前記第1の方向と異なる向きの目標速度ベクトルを決定した直後に前記速度減衰処理の実行を開始した場合に、該速度減衰処理の実行開始時から前記目標速度ベクトルの大きさを“0”に減衰させるまでの速度減衰期間内において、前記目標速度ベクトルの向きを、該速度減衰処理の実行開始時の直前に決定した目標速度ベクトルである減衰初期目標速度ベクトルの向きよりも前記第1の方向に近づけるように目標速度ベクトルを決定する速度方向調整手段を含むことを特徴とする(第1発明)。
 なお、本発明において、前記移動動作部が、「第1の方向及び第2の方向を含む全方向に移動可能」ということは、該第1の方向及び第2の方向に直交する軸方向で見た場合における各瞬間での該移動動作部の速度ベクトルの向きが、前記アクチュエータ装置による移動動作部の駆動によって、上記軸方向の周りの任意の角度方向の向きを採り得るということを意味する。この場合、上記軸方向は、概ね、上下方向又は床面に垂直な方向である。また、本発明における「直交」は厳密な意味での直交であることは必須ではなく、本発明の本質を逸脱しない範囲で、厳密な意味での直交から若干のずれがあってもよい。
 また、本発明において、「床」は、通常的な意味での床(屋内の床など)だけを意味するものではなく、屋外の地面もしくは路面をも含むものとして使用する。
 前記第1発明によれば、前記移動動作部制御手段によって、前記目標速度決定手段が逐次決定した目標速度ベクトルに応じて、前記移動動作部の動作が前記アクチュエータ装置を介して制御される。すなわち、車両の代表点の目標速度ベクトルを実現するように(車両の代表点の実際の速度ベクトルが目標速度ベクトルに追従もしくは近づくように)、前記移動動作部の動作が制御される。
 この場合、前記所定の条件が成立する場合に、目標速度決定手段は、前記速度減衰処理を実行する。そして、目標速度決定手段に含まれる前記速度方向調整手段は、前記第1の方向と異なる向きの目標速度ベクトルを決定した直後に前記速度減衰処理の実行を開始した場合に、該速度減衰処理の実行開始時から前記目標速度ベクトルの大きさを“0”に減衰させるまでの速度減衰期間内において、前記目標速度ベクトルの向きを、該速度減衰処理の実行開始時の直前に決定した目標速度ベクトルである減衰初期目標速度ベクトルの向きよりも前記第1の方向に近づけるように目標速度ベクトルを決定する。
 このため、第1発明によれば、前記第1の方向と異なる向きの目標速度ベクトルを決定した直後に前記所定の条件が成立することによって前記速度減衰処理の実行が開始された場合に、目標速度ベクトルの大きさが連続的又は段階的に減衰する過程で、目標速度ベクトルの向きが前記第1の方向に近づけられることとなる。
 この結果、第1発明によれば、車両の代表点の目標速度ベクトルを段階的又は連続的に減衰させ、ひいては、該代表点の実際の速度ベクトルの大きさが段階的又は連続的に減衰していく過程で、該代表的の速度ベクトルの向きが自動的に第1の方向に近づけられることとなる。従って、当該減衰過程で、車両の代表点の速度ベクトルの向きが第1の方向から乖離するのを抑制し、第1の方向に対する車両の直進性を高めることができる。
 補足すると、第1発明において、前記目標速度ベクトルの大きさに係わる「段階的に減衰」は、該目標速度ベクトルの大きさを一定に保つ期間を途中に含む減衰を意味する。該期間は、前記速度減衰処理を実行開始直後の初期の期間であってもよい。
 また、第1発明において、前記所定の条件としては、例えば、車両の動作状態、操縦操作状態、環境状態などに関する条件を採用することができる。
 また、第1発明において、前記速度減衰期間内で前記目標速度ベクトルの向きを前記第1の方向に近づけることは、該速度減衰期間の全期間で行なってもよいが、該速度減衰期間の一部の期間で行なうようにしてもよい。
 かかる第1発明において前記車両の基体に、乗員の搭乗部が組付けられている場合には、前記搭乗部に搭乗した乗員の前後方向が、前記第1の方向として設定され、該乗員の左右方向が、前記第2の方向として設定されていることが好ましい(第2発明)。
 この第2発明によれば、前記車両の代表点の実際の速度ベクトルの大きさが段階的又は連続的に減衰していく過程で、搭乗部に搭乗した乗員の前後方向に対する車両の直進性が高まることとなる。このため、乗員にとって車両の操縦操作が容易になる。
 前記第1発明又は第2発明では、前記第1の方向と異なる向きの目標速度ベクトルを決定した直後に前記速度減衰処理の実行を開始した場合に、前記速度方向調整手段は、前記減衰初期目標速度ベクトルの向きによらずに、前記速度減衰期間内において、前記目標速度ベクトルの向きを、前記減衰初期目標速度ベクトルの向きよりも前記第1の方向に近づけるように目標速度ベクトルを決定することも可能である。
 但し、前記減衰初期目標速度ベクトルの向きが、第1の方向と比較的大きく乖離している場合には、前記速度減衰期間内で、目標速度ベクトルを第1の方向に近づけることが必ずしも適切とはならない場合もあると考えられる。
 そこで、前記第1、第2発明では、前記速度方向調整手段は、前記減衰初期目標速度ベクトルの向きと前記第1の方向との間の鋭角側の角度が所定の角度値よりも小さいことを必要条件として、前記速度減衰期間内において、前記目標速度ベクトルの向きを、前記減衰初期目標速度ベクトルの向きよりも前記第1の方向に近づけるように前記目標速度ベクトルを決定することが好ましい(第3発明)。
 この第3発明によれば、前記減衰初期目標速度ベクトルの向きに関する前記鋭角側の角度が前記所定の角度値よりも小さい場合、すなわち、減衰初期目標速度ベクトルの向きが第1の方向に比較的近い場合にだけ、前記速度減衰期間内で前記目標速度ベクトルの向きを第1の方向にお近づけるようにすることができる。
 なお、前記減衰初期目標速度ベクトルの向きに関する前記鋭角側の角度が前記所定の角度値よりも小さいということは、別の言い方をすれば、前記減衰初期目標速度ベクトルの前記第1の方向の成分の絶対値に対する第2の方向の成分絶対値の比率が所定の比率よりも小さいということを意味する。
 この第3発明では、前記目標速度決定手段は、前記速度減衰処理の実行開始時の直前に決定した目標速度ベクトルの向きと前記第1の方向との間の鋭角側の角度が前記所定の角度値よりも大きい場合には、前記速度減衰期間内において、前記目標速度ベクトルの向きを一定に保持するか、又は前記第2の方向に近づけるように前記目標速度ベクトルを決定することが好ましい(第4発明)。
 この第4発明によれば、前記減衰初期目標速度ベクトルの向きに関する前記鋭角側の角度が前記所定の角度値よりも大きい場合、すなわち、減衰初期目標速度ベクトルの向きが第1の方向から比較的乖離している場合には、前記速度減衰期間内において、前記目標速度ベクトルの向きを一定に保持するか、又は前記第2の方向に近づけるように前記目標速度ベクトルが決定されるので、該速度減衰期間内において、減衰初期目標速度ベクトルの向きに適した向きの目標速度ベクトルを決定できる。
 前記第1~第4発明では、前記速度減衰処理は、例えばその実行開始時から所定時間の期間、前記目標速度ベクトルの大きさを一定に保持した後、該目標速度ベクトルの大きさを連続的に減衰させていく処理であることが好ましい。そして、この場合、前記速度方向調整手段は、前記速度減衰期間内のうち、少なくとも前記目標速度ベクトルの大きさを連続的に減衰させていく期間において、前記目標速度ベクトルの向きを第1の方向に連続的に近づけるように前記目標速度ベクトルを決定することが好ましい(第5発明)。
 この第5発明によれば、前記速度減衰期間内において、前記目標速度ベクトルの大きさが連続的に減衰することと並行して、該目標速度ベクトルの向きが第1の方向に連続的に近づいていくので、前記速度減衰期間内での前記車両の代表点の移動経路を滑らかな経路にすることができる。
 なお、第5発明では、前記目標速度ベクトルの向きを第1の方向に連続的に近づけることを、前記目標速度ベクトルの大きさを一定に保持する期間を含めて、前記速度減衰期間の全期間で行なうようにしてもよい。
 前記第1~第5発明では、前記代表点の速度ベクトルの大きさを増加させる要求である加速要求が発生したか否か否かを判断する加速要求判断手段を備え、前記目標速度決定手段は、前記加速要求判断手段の判断結果が肯定的になった場合に、前記目標速度ベクトルの大きさを増加させるように前記目標速度ベクトルを決定する増速処理を実行し、該増速処理の実行中に前記所定の条件が成立した場合に、前記速度方向調整手段により前記目標速度ベクトルを決定することが好ましい(第6発明)。
 この第6発明によれば、前記加速要求判断手段の判断結果が肯定的になった場合、すなわち、前記加速要求が発生した場合に、前記増速処理によって、前記目標速度ベクトルの大きさを増加させるように前記目標速度ベクトルが決定される。これにより、前記加速要求の発生に合わせて、車両の代表点の速度ベクトルの大きさを増加させることができる。そして、上記増速処理の実行中に前記所定の条件が成立した場合(例えば、前記加速要求判断手段の判断結果が否定的となるという条件を含む所定の条件が成立した場合)に、前記速度減衰処理の実行が開始される。このため、車両の加速後に、車両の代表点の速度ベクトルの大きさを連続的又は段階的に減衰させることを自動的に行なうことができる。そして、前記速度減衰期間において、前記速度方向調整手段によって、目標速度ベクトルの向きを前記第1の方向に近づけることで、車両の加速後の自動的な走行中に、車両の特別な操縦操作を必要とすることなく、車両の代表点の移動方向を第1の方向に近づけることができる。
 この第6発明では、前記車両が、前記アクチュエータ装置により前記移動動作部を駆動することによって発生する車両の推進力以外の外力が付加された場合に、該外力によって前記代表点の速度ベクトルの大きさを増加可能な車両である場合には、例えば次のような態様が好ましい。すなわち、前記代表点の実際の速度ベクトルの大きさの時間的変化率又は該速度ベクトルのうちの前記第1の方向の速度成分の大きさの時間的変化率である速度変化率に応じた出力を発生する速度変化率計測手段を備え、前記加速要求判断手段は、少なくとも前記速度変化率計測手段の出力が示す前記速度変化率の計測値に基づいて、前記加速要求が発生したか否かを判断し、前記目標速度決定手段は、前記増速処理の実行中に前記速度変化率の計測値が所定の閾値よりも小さくなった場合に、前記所定の条件が成立したものとして、前記速度減衰処理の実行を開始する(第7発明)。
 かかる第7発明によれば、前記加速要求判断手段は、少なくとも前記速度変化率の計測値に基づいて、前記加速要求が発生したか否かを判断するので、その判断を車両の実際の動作状態に即して判断することができる。ひいては、前記増速処理を車両の実際の動作状態に即して実行することができる。特に、前記計測された速度変化率が、前記代表点の実際の速度ベクトルのうちの前記第1の方向の成分の大きさの時間的変化率である場合には、車両の実際の動作状態のうちの前記第1の方向に係わる車両の実際の運動状態に即して前記増速処理を開始することができる。
 このため、車両に前記外力を付加的に作用させることによって、車両の代表点の速度ベクトルの大きさを増加させていくことを車両の実際の動作状態に沿うようにして円滑に行なうことができる。
 そして、第7発明では、前記速度変化率の計測値が所定の閾値よりも小さくなった場合に、前記所定の条件が成立したものとして、前記速度減衰処理が実行されるので、車両の代表点の速度ベクトルの大きさを増加させる必要性が解消した状態で、前記速度減衰処理を開始することができる。このため、車両の加速後の適切なタイミングで、車両の代表点の速度ベクトルの大きさを連続的又は段階的に減衰させることを自動的に行なうことができる。そして、前記速度減衰処理が実行される速度減衰期間では、前記速度方向調整手段が実行する処理によって、車両の代表点の移動方向を第1の方向に近づけることができる。
 なお、第7発明において、少なくとも前記速度変化率の計測値に基づいて、前記加速要求が発生したか否かを判断する場合、一例としては、前記速度変化率の計測値が所定の閾値よりも大きくなるということを、加速要求が発生したと判断することの必要条件(もしくは必要十分条件)として、加速要求が発生したか否かを判断することが考えられる。
 また、第7発明において、例えば、前記車両の基体に、乗員の搭乗部が備えられており、その搭乗部に搭乗した乗員が随時、自身の足を着床させることができるように該搭乗部が構成されている場合には、該乗員が自身の足によって床を蹴ることによって、前記外力を車両に作用させることが可能である。あるいは、例えば、車両の外部の作業者もしくは補助者、又は適当な装置によって、適宜、車両に外力を作用させるようにしてもよい。
 補足すると、以上説明した本発明は、例えば、乗員の搭乗部が、前記第1の方向の軸周りと第2の方向の軸周りとの2軸周りで鉛直方向に対して傾動自在に前記基体に組み付けられている全方向移動車両に適用することが好適な態様として挙げられる。この場合、車両の代表点としては、例えば該車両とこれに搭乗している乗員とを合わせた全体の重心点を用いることができる。そして、例えば、該搭乗部の実際の傾斜角度を所定の目標角度に収束させるための操作量成分と、上記代表点(重心点)の実際の速度ベクトルを前記目標速度ベクトルに収束させるための操作量成分とを加え合わせることによって、移動動作部の動作を制御するための操作量(例えば、移動動作部の目標加速度や、該移動動作部に作用させるべき力の目標値など)を決定し、その操作量に応じて前記アクチュエータ装置を介して移動動作部の動作を制御することが好ましい。
実施形態の全方向移動車両の正面図。 実施形態の全方向移動車両の側面図。 実施形態の全方向移動車両の下部を拡大して示す図。 実施形態の全方向移動車両の下部の斜視図。 実施形態の全方向移動車両の移動動作部(車輪体)の斜視図。 実施形態の全方向移動車両の移動動作部(車輪体)とフリーローラとの配置関係を示す図。 実施形態の全方向移動車両の制御ユニットの処理を示すフローチャート。 実施形態の全方向移動車両の動力学的挙動を表現する倒立振子モデルを示す図。 図7のSTEP9の処理に係わる処理機能を示すブロック図。 図9に示すゲイン調整部の処理機能を示すブロック図。 図10に示すリミット処理部(又は図12に示すリミット処理部)の処理機能を示すブロック図。 図9に示す重心速度制限部76の処理機能を示すブロック図。 図9に示す姿勢制御演算部80の処理機能を示すブロック図。 図9に示す要求重心速度生成部74の処理を示すフローチャート。 図14のSTEP23のサブルーチン処理を示すフローチャート。 図15のSTEP23-5のサブルーチン処理を示すフローチャート。 図15のSTEP23-5のサブルーチン処理を示すフローチャート。 図15のSTEP23-6のサブルーチン処理を示すフローチャート。 図14のSTEP24のサブルーチン処理を示すフローチャート。 図14のSTEP25のサブルーチン処理を示すフローチャート。 第2実施形態における図14のSTEP25のサブルーチン処理を示すフローチャート。
[第1実施形態]
 本発明の第1実施形態を以下に説明する。まず、図1~図6を参照して、本実施形態における全方向移動車両の構造を説明する。
 図1及び図2に示すように、本実施形態における全方向移動車両1は、乗員(運転者)の搭乗部3と、床面に接地しながら該床面上を全方向(前後方向及び左右方向を含む2次元的な全方向)に移動可能な移動動作部5と、この移動動作部5を駆動する動力を該移動動作部5に付与するアクチュエータ装置7と、これらの搭乗部3、移動動作部5及びアクチュエータ装置7が組付けられた基体9とを備える。
 ここで、本実施形態の説明では、「前後方向」、「左右方向」は、それぞれ、搭乗部3に標準的な姿勢で搭乗した乗員の上体の前後方向、左右方向に一致もしくはほぼ一致する方向を意味する。なお、「標準的な姿勢」は、搭乗部3に関して設計的に想定されている姿勢であり、乗員の上体の体幹軸を概ね上下方向に向け、且つ、上体を捻ったりしていない姿勢である。
 この場合、図1においては、「前後方向」、「左右方向」はそれぞれ、紙面に垂直な方向、紙面の左右方向であり、図2においては、「前後方向」、「左右方向」はそれぞれ、紙面の左右方向、紙面に垂直な方向である。また、本実施形態の説明では、参照符号に付する添え字「R」,「L」は、それぞれ車両1の右側、左側に対応するものという意味で使用する。
 基体9は、移動動作部5及びアクチュエータ装置7とが組付けられた下部フレーム11と、この下部フレーム11の上端から上方に延設された支柱フレーム13とを備える。
 支柱フレーム13の上部には、該支柱フレーム13から前方側に張り出したシートフレーム15が固定されている。そして、このシートフレーム15上に、乗員が着座するシート3が装着されている。本実施形態では、このシート3が乗員の搭乗部となっている。従って、本実施形態における全方向移動車両1(以降、単に車両1という)は、乗員がシート3に着座した状態で、床面上を移動するものである。
 また、シート3の左右には、シート3に着座した乗員が必要に応じて把持するためのグリップ17R,17Lが配置され、これらのグリップ17R,17Lがそれぞれ、支柱フレーム13(又はシートフレーム15)から延設されたブラケット19R,19Lの先端部に固定されている。
 下部フレーム11は、左右方向に間隔を存して二股状に対向するように配置された一対のカバー部材21R,21Lを備える。これらのカバー部材21R,21Lの上端部(二股の分岐部分)は、前後方向の軸心を有するヒンジ軸23を介して連結され、カバー部材21R,21Lの一方が他方に対して相対的にヒンジ軸23の周りに揺動可能となっている。この場合、カバー部材21R,21Lは、図示を省略するバネによって、カバー部材21R,21Lの下端部側(二股の先端側)が狭まる方向に付勢されている。
 また、カバー部材21R,21Lのそれぞれの外面部には、前記シート3に着座した乗員の右足を載せるステップ25Rと左足を載せるステップ25Lとが各々、右向き、左向きに張り出すように突設されている。
 移動動作部5及びアクチュエータ装置7は、下部フレーム11のカバー部材21R,21Lの間に配置されている。これらの移動動作部5及びアクチュエータ装置7の構造を図3~図6を参照して説明する。
 なお、本実施形態で例示する移動動作部5及びアクチュエータ装置7は、例えば前記特許文献2の図1に開示されているものと同じ構造のものである。従って、本実施形態の説明においては、移動動作部5及びアクチュエータ装置7の構成に関して、前記特許文献2に記載された事項については、簡略的な説明に留める。
 本実施形態では、移動動作部5は、ゴム状弾性材により円環状に形成された車輪体であり、ほぼ円形の横断面形状を有する。この移動動作部5(以降、車輪体5という)は、その弾性変形によって、図5及び図6の矢印Y1で示す如く、円形の横断面の中心C1(より詳しくは、円形の横断面中心C1を通って、車輪体5の軸心と同心となる円周線)の周りに回転可能となっている。
 この車輪体5は、その軸心C2(車輪体5全体の直径方向に直交する軸心C2)を左右方向に向けた状態で、カバー部材21R,21Lの間に配置され、該車輪体5の外周面の下端部にて床面に接地する。
 そして、車輪体5は、アクチュエータ装置7による駆動(詳細は後述する)によって、図5の矢印Y2で示す如く車輪体5の軸心C2の周りに回転する動作(床面上を輪転する動作)と、車輪体5の横断面中心C1の周りに回転する動作とを行なうことが可能である。その結果、車輪体5は、それらの回転動作の複合動作によって、床面上を全方向に移動することが可能となっている。
 アクチュエータ装置7は、車輪体5と右側のカバー部材21Rとの間に介装される回転部材27R及びフリーローラ29Rと、車輪体5と左側のカバー部材17Lとの間に介装される回転部材27L及びフリーローラ29Lと、回転部材27R及びフリーローラ29Rの上方に配置されたアクチュエータとしての電動モータ31Rと、回転部材27L及びフリーローラ29Lの上方に配置されたアクチュエータとしての電動モータ31Lとを備える。
 電動モータ31R,31Lは、それぞれのハウジングがカバー部材21R,21Lに各々取付けられている。なお、図示は省略するが、電動モータ31R,31Lの電源(蓄電器)は、支柱フレーム13等、基体9の適所に搭載されている。
 回転部材27Rは、左右方向の軸心を有する支軸33Rを介してカバー部材21Rに回転可能に支持されている。同様に、回転部材27Lは、左右方向の軸心を有する支軸33Lを介してカバー部材21Lに回転可能に支持されている。この場合、回転部材27Rの回転軸心(支軸33Rの軸心)と、回転部材27Lの回転軸心(支軸33Lの軸心)とは同軸心である。
 回転部材27R,27Lは、それぞれ電動モータ31R,31Lの出力軸に、減速機としての機能を含む動力伝達機構を介して接続されており、電動モータ31R,31Lからそれぞれ伝達される動力(トルク)によって回転駆動される。各動力伝達機構は、例えばプーリ・ベルト式のものである。すなわち、図3に示す如く、回転部材27Rは、プーリ35Rとベルト37Rとを介して電動モータ31Rの出力軸に接続されている。同様に、回転部材27Lは、プーリ35Lとベルト37Lとを介して電動モータ31Lの出力軸に接続されている。
 なお、上記動力伝達機構は、例えば、スプロケットとリンクチェーンとにより構成されるもの、あるいは、複数のギヤにより構成されるものであってもよい。また、例えば、電動モータ31R,31Lを、それぞれの出力軸が各回転部材27R,27Lと同軸心になるように各回転部材27R,27Lに対向させて配置し、電動モータ31R,31Lのそれぞれの出力軸を回転部材27R,27Lに各々、減速機(遊星歯車装置等)を介して連結するようにしてもよい。
 各回転部材27R,27Lは、車輪体5側に向かって縮径する円錐台と同様の形状に形成されており、その外周面がテーパ外周面39R,39Lとなっている。
 回転部材27Rのテーパ外周面39Rの周囲には、回転部材27Rと同心の円周上に等間隔で並ぶようにして、複数のフリーローラ29Rが配列されている。そして、これらのフリーローラ29Rは、それぞれ、ブラケット41Rを介してにテーパ外周面39Rに取付けられ、該ブラケット41Rに回転自在に支承されている。
 同様に、回転部材27Lのテーパ外周面39Lの周囲には、回転部材27Lと同心の円周上に等間隔で並ぶようにして、複数(フリーローラ29Rと同数)のフリーローラ29Lが配列されている。そして、これらのフリーローラ29Lは、それぞれ、ブラケット41Lを介してにテーパ外周面39Lに取付けられ、該ブラケット41Lに回転自在に支承されている。
 前記車輪体5は、回転部材27R側のフリーローラ29Rと、回転部材27L側のフリーローラ29Lとの間に挟まれるようにして、回転部材27R,27Lと同軸心に配置されている。
 この場合、図1及び図6に示すように、各フリーローラ29R,29Lは、その軸心C3が車輪体5の軸心C2に対して傾斜すると共に、車輪体5の直径方向(車輪体5をその軸心C2の方向で見たときに、該軸心C2と各フリーローラ29R,29Lとを結ぶ径方向)に対して傾斜する姿勢で配置されている。そして、このような姿勢で、各フリーローラ29R,29Lのそれぞれの外周面が車輪体5の内周面に斜め方向に圧接されている。
 より一般的に言えば、右側のフリーローラ29Rは、回転部材27Rが軸心C2の周りに回転駆動されたときに、車輪体5との接触面で、軸心C2周りの方向の摩擦力成分(車輪体5の内周の接線方向の摩擦力成分)と、車輪体5の前記横断面中心C1の周り方向の摩擦力成分(円形の横断面の接線方向の摩擦力成分)とを車輪体5に作用させ得るような姿勢で、車輪体5の内周面に圧接されている。左側のフリーローラ29Lについても同様である。
 この場合、前記したように、カバー部材21R,21Lは、図示しないバネによって、カバー部材21R,21Lの下端部側(二股の先端側)が狭まる方向に付勢されている。このため、この付勢力によって、右側のフリーローラ29Rと左側のフリーローラ29Lとの間に車輪体5が挟持されると共に、車輪体5に対する各フリーローラ29R,29Lの圧接状態(より詳しくはフリーローラ29R,29Lと車輪体5との間で摩擦力が作用し得る圧接状態)が維持される。
 以上説明した構造を有する車両1においては、電動モータ31R,31Lによりそれぞれ、回転部材27R,27Lを同方向に等速度で回転駆動した場合には、車輪体5が回転部材27R,27Lと同方向に軸心C2の周りに回転することとなる。これにより、車輪体5が床面上を前後方向に輪転して、車両1の全体が前後方向に移動することとなる。なお、この場合は、車輪体5は、その横断面中心C1の周りには回転しない。
 また、例えば、回転部材27R,27Lを互いに逆方向に同じ大きさの速度で回転駆動した場合には、車輪体5は、その横断面中心C1の周りに回転することとなる。これにより、車輪体4がその軸心C2の方向(すなわち左右方向)に移動し、ひいては、車両1の全体が左右方向に移動することとなる。なお、この場合は、車輪体5は、その軸心C2の周りには回転しない。
 さらに、回転部材27R,27Lを、互いに異なる速度(方向を含めた速度)で、同方向又は逆方向に回転駆動した場合には、車輪体5は、その軸心C2の周りに回転すると同時に、その横断面中心C1の周りに回転することとなる。
 この時、これらの回転動作の複合動作(合成動作)によって、前後方向及び左右方向に対して傾斜した方向に車輪体5が移動し、ひいては、車両1の全体が車輪体5と同方向に移動することとなる。この場合の車輪体5の移動方向は、回転部材27R,27Lの回転方向を含めた回転速度(回転方向に応じて極性が定義された回転速度ベクトル)の差に依存して変化するものとなる。
 以上のように車輪体5の移動動作が行なわれるので、電動モータ31R,31Lのそれぞれの回転速度(回転方向を含む)を制御し、ひいては回転部材27R,27Lの回転速度を制御することによって、車両1の移動速度及び移動方向を制御できることとなる。
 なお、シート(搭乗部)3及び基体9は、車輪体5の軸心C2を支点として、左右方向の軸心C2周りに傾動自在となっていると共に、車輪体5の接地面(下端面)を支点として、前後方向の軸周りに該車輪体5と共に傾動自在となっている。
 次に、本実施形態の車両1の動作制御のための構成を説明する。なお、以降の説明では、図1及び図2に示すように、前後方向の水平軸をX軸、左右方向の水平軸をY軸、鉛直方向をZ軸とするXYZ座標系を想定し、前後方向、左右方向をそれぞれX軸方向、Y軸方向と言うことがある。
 まず、車両1の概略的な動作制御を説明すると、本実施形態では、基本的には、シート3に着座した乗員がその上体を傾けた場合(詳しくは、乗員と車両1とを合わせた全体の重心点の位置(水平面に投影した位置)を動かすように上体を傾けた場合)に、該上体を傾けた側に基体9がシート3と共に傾動する。そして、この時、基体9が傾いた側に車両1が移動するように、車輪体5の移動動作が制御される。例えば、乗員が上体を前傾させ、ひいては、基体9をシート3と共に前傾させると、車両1が前方に移動するように、車輪体5の移動動作が制御される。
 すなわち、本実施形態では、乗員が上体を動かし、ひいては、シート3と共に基体9を傾動させるという動作が、車両1に対する1つの基本的な操縦操作(車両1の動作要求)とされ、その操縦操作に応じて車輪体5の移動動作がアクチュエータ装置7を介して制御される。
 ここで、本実施形態の車両1は、その全体の接地面としての車輪体5の接地面が、車両1とこれに搭乗する乗員との全体を床面に投影した領域に比して面積が小さい単一の局所領域となり、その単一の局所領域だけに床反力が作用する。このため、基体9が傾倒しないようにするためには、乗員及び車両1の全体の重心点が車輪体5の接地面のほぼ真上に位置するように、車輪体5を動かす必要がある。
 そこで、本実施形態では、乗員及び車両1の全体の重心点が、車輪体5の中心点(軸心C2上の中心点)のほぼ真上に位置する状態(より正確には当該重心点が車輪体5の接地面のほぼ真上に位置する状態)での基体9の姿勢を目標姿勢とし、基本的には、基体9の実際の姿勢を目標姿勢に収束させるように、車輪体5の移動動作が制御される。
 また、車両1を発進させる場合等において、アクチュエータ装置7による推進力とは別に、例えば乗員が必要に応じて自身の足により床を蹴り、それにより車両1の移動速度を増速させる推進力(乗員の足平と床との摩擦力による推進力)を、付加的な外力として車両1に作用させた場合には、それに応じて車両1の移動速度(より正確には、乗員及び車両の全体の重心点の移動速度)が増速するように、車輪体5の移動動作が制御される。なお、当該推進力の付加が停止された状態では、車両1の移動速度が一旦、一定速度に保持された後、減衰して、該車両1が停止するように、車輪体5の移動動作が制御される(車輪体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の動作モードが搭乗モードである場合には、乗員等による車両1の操縦操作(車両1に推進力を付加する操作)に応じて、該操作により要求されると推定される要求重心速度Vb_x_aim,Vb_y_aimを決定する。
 ここで、例えば、車両1の乗員が、車両1の発進時等において、車両1の移動速度(車両系重心点の移動速度)を積極的に増速させようとする場合には、自身の足により床を蹴り、それにより車両1に移動速度を増速させる推進力(乗員の足平と床との摩擦力による推進力)を車両1に付加する。あるいは、例えば、車両1の乗員の要求に応じて、外部の補助者等が、車両1にその移動速度を増速させる推進力を付加する場合もある。
 このような場合に、要求重心速度生成部74は、車両系重心点の実際の速度ベクトル(以降、重心速度ベクトル↑Vbという)の大きさ(絶対値)の時間的変化率に基づいて、車両1の移動速度を増加させる要求としての加速要求が発生したか否かを判断しつつ、それに応じて、↑Vbの目標値としての要求重心速度ベクトル↑Vb_aim(要求重心速度Vb_x_aim,Vb_y_aimを2つの成分とする速度ベクトル)を逐次決定する。
 その処理を概略的に説明すると、上記加速要求が発生した場合には、該加速要求が解消するまでの間、要求重心速度ベクトル↑Vb_aimの大きさを増加させるように、要求重心速度ベクトル↑Vb_aimが決定される。そして、上記加速要求が解消すると、要求重心速度ベクトル↑Vb_aimの大きさを段階的に減衰させていくように、要求重心速度ベクトル↑Vb_aimが決定される。この場合、本実施形態では、基本的には、加速要求が解消してから、所定時間の期間、要求重心速度ベクトル↑Vb_aimの大きさが一定に保たれる。そして、その後に、要求重心速度ベクトル↑Vb_aimの大きさが“0”まで連続的に減衰させられる。なお、この減衰時には、適宜、要求重心速度ベクトル↑Vb_aimの向きがX軸方向に近づけられる。
 このような処理を実行する要求重心速度生成部74を、図14~図20のフローチャートを参照して以下に詳細に説明する。
 図14を参照して、要求重心速度生成部74は、まず、STEP21の処理を実行する。この処理では、要求重心速度生成部74は、入力される重心速度推定値Vb_x_s,Vb_y_sを2つの成分とする速度ベクトル(実際の重心速度ベクトル↑Vbの観測値)である推定重心速度ベクトル↑Vb_sの大きさ|↑Vb_s|(=sqrt(Vb_x_s2+Vb_y_s2))の時間的変化率(微分値)DVb_sを算出する。このDVb_sは、実際の重心速度ベクトル↑Vbの大きさの時間的変化率の観測値(推定値)としての意味を持つ。以降、DVb_sを推定重心速度絶対値変化率DVb_sという。なお、上記sqrt( )は、平方根関数である。
 さらに、STEP21では、要求重心速度生成部74は、入力される重心速度推定値Vb_x_s,Vb_y_sのそれぞれの時間的変化率(微分値)である重心加速度推定値Vbdot_x_s,Vvdot_y_sを算出する。なお、Vbdot_x_s,Vvdot_y_sを2つの成分とするベクトルは、車両系重心点の実際の加速度ベクトルの観測値を意味する。
 次いで、STEP22に進んで、要求重心速度生成部74は、要求重心速度Vb_x_aimを算出するための現在の演算処理モードが、どのモードであるかを判断する。
 ここで、本実施形態では、要求重心速度生成部74は、要求重心速度ベクトル↑Vb_aimの基本値(以降、基本要求重心速度ベクトル↑Vb_aim1という)を決定した上で、この基本要求重心速度ベクトル↑Vb_aim1に要求重心速度ベクトル↑Vb_aimを追従させるように(定常的には一致させるように)、要求重心速度ベクトル↑Vb_aimを決定する。
 上記演算処理モードは、上記基本要求重心速度ベクトル↑Vb_aim1の決定の仕方の種別を表すものである。そして、本実施形態では、該演算処理モードとしては、制動モード、速度追従モード、速度ホールドモードの3種類のモードがある。
 制動モードは、基本要求重心速度ベクトル↑Vb_aim1の大きさを“0”に減衰させていくか、又は“0”に保持するように↑Vb_aim1を決定するモードである。また、速度追従モードは、基本要求重心速度ベクトル↑Vb_aim1を、推定重心速度ベクトル↑Vb_sに追従させるように(一致又はほぼ一致させるように)決定するモードである。また、速度ホールドモードは、基本要求重心速度ベクトル↑Vb_aim1の大きさを一定に保つように↑Vb_aim1を決定するモードである。
 なお、制御ユニット50の起動時等に該制御ユニット50が初期化された状態での演算処理モード(初期演算処理モード)は、制動モードである。
 要求重心速度生成部74は、上記STEP22において、現在の演算処理モードが制動モードである場合と、速度追従モードである場合と、速度ホールドモードである場合とで、それぞれ、次に、STEP23の演算処理、STEP24の演算処理、STEP25の演算処理を実行し、基本要求重心速度ベクトル↑Vb_aim1を決定する。
 これらの各モードに対応する演算処理は、次のように実行される。
 STEP23における制動モードの演算処理は、図15のフローチャートに示す如く実行される。具体的には、要求重心速度生成部74は、まず、前記STEP21で算出した推定重心速度絶対値変化率DVb_sと、重心加速度推定値Vbdot_x_s,Vbdot_y_sとに関して、DVb_s>DV1、且つ、|Vbdot_x_s|>a1・|Vbdot_y_s|という条件が成立するか否かをSTEP23-1で判断する。この判断処理は、車両1の移動速度を車両1の概略前後方向で増速させようとする加速要求が有るか否かを判断する処理である。
 ここで、上記DV1は、あらかじめ設定された正の値の第1閾値DV1(>0)である。そして、DVb_s>DV1であるということは、実際の重心速度ベクトル↑Vbの大きさ|↑Vb|が第1閾値DV1よりも大きな時間的変化率で増加している状況を意味する。
 また、上記a1は、あらかじめ設定された正の値の係数値である。そして、|Vbdot_x_s|>a1・|Vbdot_y_s|であるということは、車両系重心点の実際の加速度ベクトルが“0”でないX軸方向の成分を有し、且つ、該加速度ベクトルのX軸方向に対する鋭角側の角度(=tan-1(|Vbdot_y_s|/|Vbdot_x_s|)が、所定角度(=tan-1(1/a1))よりも“0”に近い状況であることを意味する。本実施形態では、a1は、例えば“1”又はこれに近い値に設定されている。
 従って、STEP23-1の判断結果が肯定的になる状況は、乗員あるいは外部の補助者等により概略前後方向での重心速度ベクトル↑Vbの大きさを増加させようとする操縦操作(車両1に概略前後方向の推進力を付加する操縦操作)が行なわれている状況である。
 STEP23-1の判断結果が否定的となる場合、すなわち、車両1の加速要求(概略前後方向での車両1の加速要求)が無い場合には、要求重心速度生成部74は、次に、STEP23-4の判断処理を実行する。
 STEP23-4の判断処理では、要求重心速度生成部74は、STEP21で算出した推定重心速度絶対値変化率DVb_sが、あらかじめ設定された負の値の第3閾値DV3(<0)よりも小さいか否かを判断する。この判断処理は、車両1の乗員が重心速度ベクトル↑Vbの大きさを積極的に減少させようとする減速要求が発生したか否かを判断するものである。この場合、車両1の乗員が意図的に自身の足を接地させ、自身の足と床との間に車両1の制動方向の摩擦力を発生させたような場合にSTEP23-4の判断結果が肯定的になる。
 そして、要求重心速度生成部74は、STEP23-4の判断結果が否定的である場合(減速要求が発生していない場合)には、STEP23-5で第1制動演算処理を実行することによって、基本要求重心速度ベクトル↑Vb_aim1の大きさ|↑Vb_aim1|(以降、基本要求重心速度ベクトル絶対値|↑Vb_aim1|という)と方位角θvb_aim1(以降、基本要求重心速度ベクトル方位角θvb_aim1という)とを決定し、図15の処理を終了する。また、STEP23-4の判断結果が肯定的である場合(減速要求が発生した場合には)、要求重心速度生成部74は、STEP23-6で第2制動演算処理を実行することによって、基本要求重心速度ベクトル絶対値|↑Vb_aim1|と基本要求重心速度ベクトル方位角θvb_aim1とを決定し、図15の処理を終了する。
 なお、本実施形態では、基本要求重心速度ベクトル方位角θvb_aim1は、sin(θvb_aim1)=Vb_x_aim1/|↑Vb_aim1|,cos(θvb_aim1)=Vb_y_aim1/|↑Vb_aim1|となる角度(-180°≦θvb_aim≦180°)として定義される。また、|↑Vb_aim|=0である場合には、θvb_aim=0°であるとする。
 上記STEP23-5の第1制動演算処理は、図16及び図17のフローチャートに示す如く実行される。
 この第1制動演算処理では、要求重心速度生成部74は、まず、STEP23-5-1において基本要求重心速度ベクトル絶対値|↑Vb_aim1|の前回値|↑Vb_aim_p|からあらかじめ設定された正の所定値ΔVb1だけ減少させてなる値を、|↑Vb_aim1|の候補値ABS_Vbとして算出する。ΔVb1は、制御処理周期毎の|↑Vb_aim1|の減少量(ひいては|↑Vb_aim1|の時間的変化率)を規定する設定値である。
 次いで、要求重心速度生成部74は、STEP23-5-2において、この候補値ABS_Vbと、“0”とのうちの大きい方の値max(0,ABS_Vb)を、|↑Vb_aim1|の今回値として決定する。従って、ABS_Vb≧0である場合には、ABS_Vbがそのまま|↑Vb_aim1|の今回値として決定され、ABS_Vb<0である場合には、|↑Vb_aim1|の今回値は“0”とされる。
 次いで、要求重心速度生成部74は、上記の如く決定した|↑Vb_aim1|が“0”であるか否かをSTEP23-5-3で判断する。この判断結果が肯定的である場合には、要求重心速度生成部74は、次に、STEP23-5-4において、θvb_aim1の今回値を0°とし、図16の処理を終了する。
 STEP23-5-3の判断結果が否定的である場合には、要求重心速度生成部74は、次に、STEP23-5-5からの処理によって、θvb_aim1の前回値θvb_aim1_pの値が、0°≦θvb_aim1_p≦θth1+、θth1-≦θvb_aim1_p<0°、θth2+≦θvb_aim1_p≦180°、-180°≦θvb_aim1_p≦θth2-、θth1+<θvb_aim1_p<θth2+、θth2-<θvb_aim1_p<θth1-のいずれの範囲内の値であるかに応じて、θvb_aim1の今回値を決定する。
 ここで、θth1+は、0°と90°との間の値であらかじめ設定された正の方位角閾値、θth1-は、0°と-90°との間の値であらかじめ設定された負の方位角閾値、θth2+は、90°と180°との間の値であらかじめ設定された正の方位角閾値、θth2-は、-90°と-180°との間の値であらかじめ設定された負の方位角閾値である。本実施形態では、θth1+とθth1-とは、それらの絶対値が互いに同一の値(例えば45°もしくはその近辺の角度値)に設定されている。また、θth2+とθth2-とは、それらの絶対値が互いに同一の値(例えば135°もしくはその近辺の角度値)に設定されている。なお、θth1+とθth1-との差(=(θth1+)-(θth1-))と、θth2とθth2-との差(=(θth2+)-(θth2-))とは、互いに同一である必要なない。
 STEP23-5-5からの処理は以下に説明する如く実行される。すなわち、要求重心速度生成部74は、STEP23-5-5において、0°≦θvb_aim1_p≦θth1+であるか否かを判断する。この判断結果が肯定的である場合には、要求重心速度生成部74は、STEP23-5-6において、θvb_aim1の前回値θvb_aim1_pからあらかじめ設定された正の所定値Δθvb1だけ減少させてなる値を、θvb_aim1の候補値ANG_Vbとして算出する。Δθvb1は、制御処理周期毎のθvb_aim1の変化量(ひいてはθvb_aim1の時間的変化率)を規定する設定値である。
 そして、要求重心速度生成部74は、STEP23-5-7において、この候補値ANG_Vbと、0°とのうちの大きい方の角度値max(0,ANG_Vb)をθvb_aim1の今回値として決定し、図16の処理を終了する。従って、ANG_Vb≧0°である場合には、ANG_Vbがそのままθvb_aim1の今回値として決定され、ANG_Vb<0°である場合には、θvb_aim1の今回値は0°とされる。
 STEP23-5-5の判断結果が否定的である場合には、要求重心速度生成部74は、次に、STEP23-5-8において、θth1-≦θvb_aim1_p<0°であるか否かを判断する。この判断結果が肯定的である場合には、要求重心速度生成部74は、STEP23-5-9において、θvb_aim1の前回値θvb_aim1_pから前記所定値Δθvb1だけ増加させてなる値を、θvb_aim1の候補値ANG_Vbとして算出する。
 そして、要求重心速度生成部74は、STEP23-5-10において、この候補値ANG_Vbと、0°とのうちの小さい方の角度値min(0,ANG_Vb)をθvb_aim1の今回値として決定し、図16の処理を終了する。従って、ANG_Vb≦0°である場合には、ANG_Vbがそのままθvb_aim1の今回値として決定され、ANG_Vb>0°である場合には、θvb_aim1の今回値は0°とされる。
 STEP23-5-8の判断結果が否定的である場合には、要求重心速度生成部74は、次に、図17のSTEP23-5-11において、θth2+≦θvb_aim1_p≦180°であるか否かを判断する。この判断結果が肯定的である場合には、要求重心速度生成部74は、STEP23-5-12において、θvb_aim1の前回値θvb_aim1_pから前記所定値Δθvb1だけ増加させてなる値を、θvb_aim1の候補値ANG_Vbとして算出する。
 そして、要求重心速度生成部74は、STEP23-5-13において、この候補値ANG_Vbと、0°とのうちの小さい方の角度値min(180,ANG_Vb)をθvb_aim1の今回値として決定し、図17の処理を終了する。従って、ANG_Vb≦180°である場合には、ANG_Vbがそのままθvb_aim1の今回値として決定され、ANG_Vb>180°である場合には、θvb_aim1の今回値は180°とされる。
 STEP23-5-11の判断結果が否定的である場合には、要求重心速度生成部74は、次に、STEP23-5-14において、-180°≦θvb_aim1_p≦θth2-であるか否かを判断する。この判断結果が肯定的である場合には、要求重心速度生成部74は、STEP23-5-15において、θvb_aim1の前回値θvb_aim1_pから前記所定値Δθvb1だけ減少させてなる値を、θvb_aim1の候補値ANG_Vbとして算出する。
 そして、要求重心速度生成部74は、STEP23-5-16において、この候補値ANG_Vbと、-180°とのうちの大きい方の角度値max(180,ANG_Vb)をθvb_aim1の今回値として決定し、図17の処理を終了する。従って、ANG_Vb≧-180°である場合には、ANG_Vbがそのままθvb_aim1の今回値として決定され、ANG_Vb<-180°である場合には、θvb_aim1の今回値は-180°とされる。
 STEP23-5-14の判断結果が否定的である場合、すなわち、θth1+<θvb_aim1_p<θth2+又はθth2-<θvb_aim1_p<θth1-である場合には、要求重心速度生成部74は、STEP23-5-17において、θvb_aim1の今回値を、前回値θvb_aim1_pと同じ値に決定し、図17の処理を終了する。
 以上が、STEP23-5の第1制動演算処理の詳細である。
 一方、前記STEP23-6の第2制動演算処理は、図18のフローチャートに示す如く実行される。
 この第2制動演算処理では、要求重心速度生成部74は、まず、STEP23-6-1において基本要求重心速度ベクトル絶対値|↑Vb_aim1|の前回値|↑Vb_aim_p|からあらかじめ設定された正の所定値ΔVb2だけ減少させてなる値を、|↑Vb_aim1|の候補値ABS_Vbとして算出する。ΔVb2は、第2制動演算処理での、制御処理周期毎の|↑Vb_aim1|の減少量(ひいては|↑Vb_aim1|の時間的変化率)を規定する設定値である。この場合、ΔVb2は、前記第1制動演算処理で使用する所定値ΔVb1よりも大きな値に設定されている。
 次いで、要求重心速度生成部74は、STEP23-6-2において、前記STEP23-5-2と同様の処理を実行し、STEP23-6-1で算出した候補値ABS_Vbと、“0”とのうちの大きい方の値max(0,ABS_Vb)を、|↑Vb_aim1|の今回値として決定する。
 次いで、要求重心速度生成部74は、上記の如く決定した|↑Vb_aim1|が“0”であるか否かをSTEP23-6-3で判断する。この判断結果が肯定的である場合には、要求重心速度生成部74は、次に、STEP23-6-4において、θvb_aim1の今回値を“0”とし、図18の処理を終了する。
 また、STEP23-6-3の判断結果が否定的である場合には、要求重心速度生成部74は、次に、STEP23-6-5において、θvb_aim1の今回値を、前回値θvb_aim1_pと同じ値に決定し、図18の処理を終了する。
 以上が、STEP23-6の第2制動演算処理の詳細である。
 図15の説明に戻って、前記STEP23-1の判断結果が肯定的である場合、すなわち、概略前後方向での車両1の加速要求が有る場合には、要求重心速度生成部74は、STEP23-2で基本要求重心速度ベクトル絶対値|↑Vb_aim1|と基本要求重心速度ベクトル方位角θvb_aim1とを決定する。要求重心速度生成部74は、STEP23-3で演算処理モードを制動モードから速度追従モードに変更し、図15の処理を終了する。
 上記STEP23-2では、具体的には、前記推定重心速度ベクトル↑Vb_s(今回値)の大きさ|↑Vb_s|(=sqrt(Vb_x_s2+Vb_y_s2))に、あらかじめ設定された所定値の比率γを乗じてなる値が、基本要求重心速度ベクトル絶対値|↑Vb_aim1|として決定される。上記比率γは、本実施形態では、“1”よりも若干小さい正の値(例えば0.8)に設定されている。
 さらに、STEP23-2では、推定重心速度ベクトル↑Vb_sの方位角θvb_s(=sin-1(Vb_x_s/|↑Vb_s|))がそのまま、基本要求重心速度ベクトル方位角θvb_aim1として決定される。従って、STEP23-2では、結果的には、推定重心速度ベクトル↑Vb_sに上記比率γを乗じてなるベクトルが、基本要求重心速度ベクトル↑Vb_aim1として決定されることとなる。
 このようなSTEP23-2の処理は、|↑Vb_x_aim1|とθvb_aim1との決定の仕方を、次回の制御処理サイクルから開始する速度追従モードに合わせるものである。
 なお、上記比率γの値が“1”よりも若干小さいことは必須ではなく、例えば、該比率γの値を“1”あるいはそれよりも若干大きい値に設定してもよい。本実施形態では、乗員が体感的(感覚的)に認識する車両1の移動速度が、実際の移動速度に比べて高速であるかのように認識されるのを防止するために、比率γの値を“1”よりも若干小さい値に設定している。
 以上が、STEP23における制動モードの演算処理である。
 なお、STEP23-1の判断結果が否定的となる場合には、演算処理モードは変更されないので、次回の制御処理周期においても、演算処理モードは、制動モードに維持されることとなる。
 次に、STEP24における速度追従モードの演算処理は、図19のフローチャートに示す如く実行される。具体的には、要求重心速度生成部74は、まず、STEP24-1において、前記STEP23-4と同じ判断処理、すなわち、車両1の減速要求が発生したか否かの判断処理を実行する。
 この判断結果が肯定的である場合には、要求重心速度生成部74は、次に、STEP24-6において、前記STEP23-6と同じ処理(図18のフローチャートに示す処理)を実行することによって、基本要求重心速度ベクトル絶対値|↑Vb_aim1|と基本要求重心速度ベクトル方位角θvb_aim1とを決定する。さらに、要求重心速度生成部74は、STEP24-7において、演算処理モードを速度追従モードから制動モードに変更し、図19の処理を終了する。
 一方、前記STEP24-1の判断結果が否定的である場合、すなわち、車両1の減速要求が発生していない場合には、要求重心速度生成部74は、次にSTEP24-2の処理を実行する。このSTEP24-2では、要求重心速度生成部74は、前記STEP23-2と同じ処理を実行し、基本要求重心速度ベクトル絶対値|↑Vb_aim1|と基本要求重心速度ベクトル方位角θvb_aim1とを決定する。すなわち、|↑Vb_x_s|・γが|↑Vb_aim1|として決定される共に、θvb_sがθvb_aim1として決定される。
 次いで、要求重心速度生成部74は、STEP24-3において、前記推定重心速度絶対値変化率DVb_s(STEP21で算出した値)が、あらかじめ設定された第2閾値DV2よりも小さいか否かを判断する。この第2閾値DV2は、本実施形態では、前記第3閾値DV3よりも大きい(DV3よりも“0”に近い)負の所定値に設定されている。なお、第2閾値DV2は、“0”もしくは“0”よりも若干大きい正の値(但し、前記第1閾値DV1よりも小さい値)に設定されていてもよい。
 このSTEP24-3の判断処理は、速度追従モードから、前記速度ホールドモードへの移行タイミングを判断するものである。そして、要求重心速度生成部74は、STEP24-3の判断結果が否定的である場合には、そのまま図19の処理を終了する。この場合には、演算処理モードは変更されないので、次回の制御処理周期においても、演算処理モードは、速度追従モードに維持されることとなる。
 また、STEP24-3の判断結果が肯定的である場合には、要求重心速度生成部74は、車両1の加速要求が完了したものとみなして、STEP24-4において、カウントダウンタイマを初期化する。そして、要求重心速度生成部74は、STEP24-5にて演算処理モードを速度追従モードから速度ホールドモードに変更し、図19の処理を終了する。
 上記カウントダウンタイマは、次回の制御処理周期から開始する速度ホールドモードの開始後の経過時間を計時するタイマである。そして、STEP24-4では、該タイマの計時値CNTに、あらかじめ設定された初期値Tmがセットされる。初期値Tmは、速度ホールドモードを継続させようとする時間の設定値を意味する。
 以上が、STEP24における速度追従モードの演算処理である。
 次に、STEP25における速度ホールドモードの演算処理は、図20のフローチャートに示す如く実行される。具体的には、要求重心速度生成部74は、まず、STEP25-1において、前記STEP23-4と同じ判断処理、すなわち、車両1の減速要求が発生したか否かの判断処理を実行する。
 そして、このSTEP25-1の判断結果が肯定的である場合(車両1の減速要求が発生した場合)には、要求重心速度生成部74は、次に、STEP25-2において、前記STEP23-6と同じ処理(図18のフローチャートに示す処理)を実行することによって、基本要求重心速度ベクトル絶対値|↑Vb_aim1|と基本要求重心速度ベクトル方位角θvb_aim1とを決定する。さらに、要求重心速度生成部74は、STEP25-3において、演算処理モードを速度ホールドモードから制動モードに変更し、図20の処理を終了する。
 一方、前記STEP25-1の判断結果が否定的である場合(車両1の減速要求が発生していない場合)には、要求重心速度生成部74は、前記STEP23-1と同じ判断処理、すなわち概略前後方向での車両1の加速要求が有るか否かの判断処理をSTEP25-4で実行する。
 そして、STEP25-4の判断結果が肯定的である場合(概略前後方向での車両1の加速要求が再び発生した場合)には、要求重心速度生成部74は、STEP25-5において、前記STEP23-2と同じ処理を実行することによって、基本要求重心速度ベクトル絶対値|↑Vb_aim1|と基本要求重心速度ベクトル方位角θvb_aim1とを決定する。すなわち、|↑Vb_x_s|・γが|↑Vb_aim1|として決定される共に、θvb_sがθvb_aim1として決定される。
 さらに、要求重心速度生成部74は、STEP25-6において、演算処理モードを速度ホールドモードから速度追従モードに変更し、図20の処理を終了する。
 前記STEP25-4の判断結果が否定的である場合(概略前後方向での加速要求が無い状態が継続している場合)には、要求重心速度生成部74は、STEP25-7において、前記カウントダウンタイマの計時値CNTをデクリメントする。すなわち、計時値CNTの現在値から所定値ΔT(制御処理周期の時間)を差し引くことによって、計時値CNTを更新する。
 次いで、要求重心速度生成部74は、カウントダウンタイマの計時値CNTが“0”よりも大きいか否か、すなわち、カウントダウンタイマの計時が終了したか否かをSTEP25-8にて判断する。
 このSTEP25-8の判断結果が肯定的である場合は、速度ホールドモードが開始してから、カウントダウンタイマの前記初期値Tmにより表される時間が未だ経過していない場合である。この場合には、要求重心速度生成部74は、演算処理モードを速度ホールドモードに維持するものとして、基本要求重心速度ベクトル絶対値|↑Vb_aim1|と基本要求重心速度方位角θvb_aim1とをSTEP25-9にて決定し、図20の処理を終了する。
 この場合、STEP25-9では、|↑Vb_aim1|の今回値は、前回値|↑Vb_aim1_p|と同じ値に決定される。また、θvb_aim1の今回値は、前回値θvb_aim1_pと同じ値に決定される。従って、基本要求重心速度ベクトル↑Vb_aim1_pの前回値がそのまま、↑Vb_aim1の今回値の速度ベクトルとして決定される。
 なお、STEP25-8の判断結果が肯定的である場合には、演算処理モードは変更されないので、次回の制御処理周期においても、演算処理モードは、速度ホールドモードに維持されることとなる。
 前記STEP25-8の判断結果が否定的となった場合、すなわち、速度ホールドモードが開始してから、カウントダウンタイマの前記初期値Tmにより表される所定時間が経過した場合には、要求重心速度生成部74は、STEP25-10において、前記STEP23-5と同じ処理(図16及び図17のフローチャートの処理)を実行することによって、基本要求重心速度ベクトル絶対値|↑Vb_aim1|と基本要求重心速度方位角θvb_aim1とを決定する。
 さらに、要求重心速度生成部74は、STEP25-11にて、演算処理モードを速度ホールドモードから制動モードに変更し、図20の処理を終了する。
 以上が、STEP25における速度ホールドモードの演算処理である。
 図14の説明に戻って、要求重心速度生成部74は、以上の如くSTEP23~25のいずれかの演算処理を実行した後、次に、その演算処理により決定した|↑Vb_aim1|とθvb_aim1とをそれぞれフィルタに入力する処理(フィルタリング処理)をSTEP26にて実行する。
 ここで、|↑Vb_aim1|とθvb_aim1とをそれぞれ入力するフィルタは、特に、演算処理モードが制動モードから速度追従モードに変更された直後に、要求重心速度ベクトル↑Vb_aimの大きさ|↑Vb_aim|と方位角θvb_aimとがステップ状に急変するのを防止するための一次遅れ特性のローパスフィルタである。この場合、|↑Vb_aim|を入力するフィルタの時定数は比較的短い時定数に設定されており、|↑Vb_aim1|が急変した直後以外の状況では該フィルタの出力値が|↑Vb_aim1|に一致又はほぼ一致するようになっている。θvb_aim1を入力するフィルタについても同様である。
 そして、STEP26では、θvb_aim1を入力したフィルタの出力値が、そのまま、要求重心速度ベクトル↑Vb_aimの方位角θvb_aim(以降、要求重心速度ベクトル方位角θvb_aimという)として決定される。
 次いで、STEP27に進んで、要求重心速度生成部74は、|↑Vb_aim1|を入力したフィルタの出力値を、リミッタに通してなる値を、最終的に要求重心速度ベクトル↑Vb_aimの大きさ|↑Vb_aim|(以降、要求重心速度ベクトル絶対値|↑Vb_aim|という)として決定する。この場合、該リミッタは、|↑Vb_aim|が過大になるのを防止するためのものであり、|↑Vb_aim1|を入力したフィルタの出力値があらかじめ設定された所定の上限値以下である場合には、該フィルタの出力値をそのまま|↑Vb_aim|として出力する。また、該リミッタは、フィルタの出力値が上記上限値を超えている場合には、該上限値を|↑Vb_aim|として出力する。換言すれば、該リミッタは、フィルタの出力値と上記上限値とのうちの小さい方の値を|↑Vb_aim|として出力する。
 次いで、STEP28に進んで、要求重心速度生成部74は、上記の如く決定した|↑Vb_aim|とθvb_aimとから、要求重心速度ベクトル↑Vb_aimのX軸方向成分(X軸方向の要求重心速度)Vb_x_aimと、Y軸方向の成分(Y軸方向の要求重心速度)Vb_y_aimとを算出する。より詳しくは、|↑Vb_aim|・sin(θvb_aim)がVb_x_aimとして算出され、|↑Vb_aim|・cos(θvb_aim)がVb_y_aimとして算出される。
 以上が要求重心速度生成部74の処理の詳細である。
 以上説明した要求重心速度生成部74の処理によって、要求重心速度ベクトル↑Vb_aimは(ひいては要求重心速度Vb_x_aim,Vb_y_aim)は、以下のような態様で決定されることとなる。
 すなわち、例えば、車両1の移動速度を増速するために、乗員が自身の足平で床を蹴ることにって、あるいは、補助者等が車両1を押すことによって、車両1に対して、概略X軸方向の推進力(詳しくは、前記STEP23-1の判断結果が肯定的となるような推進力)を付加した場合を想定する。
 なお、推進力を付加する前の演算処理モードは、前記制動モードであるとする。また、ここでは、理解の便宜上、図14のSTEP26で|↑Vb_aim1|を入力するフィルタの出力値は、STEP27でのリミッタによる強制的な制限がかからない程度の範囲内に収まる値(該リミッタの上限値以下の値)であるとする。同様に、重心速度推定値Vb_x_s,Vb_y_sが、前記リミット処理部104での出力値V_x_lim2,V_y_lim2の強制的な制限が行なわれない程度の範囲内に収まるものとする。
 この場合、車両1に推進力を付加することによって、前記STEP23-1の判断結果が肯定的となると、図15のSTEP23-3の処理によって、演算処理モードが制動モードから速度追従モードに変更されることとなる。
 この速度追従モードでは、減速要求が発生しない状況(STEP24-1の判断結果が否定的となる状況)で、推定重心速度ベクトル↑Vb_sの今回値(現在値)に、所定値の比率γを乗じてなるベクトル、すなわち、↑Vb_sよりも大きさが若干小さく、且つ、↑Vb_sと同じ向きの速度ベクトルが、基本要求重心速度ベクトル↑Vb_aim1として逐次決定される。
 このため、要求重心速度生成部74が逐次決定する要求重心速度ベクトル↑Vb_aimは、車両1に付加された推進力によって増速する(大きさが増加する)実際の重心速度ベクトル↑Vbにほぼ一致する速度ベクトル↑Vb_aim1(=γ・↑Vb_s)に追従するように、決定されることとなる。
 そして、このように決定される要求重心速度ベクトル↑Vb_aimのX軸方向成分とY軸方向成分とが前記制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdとして決定される。さらに、各仮想車輪回転角加速度指令ωdotw_x_cmd,ωdotw_y_cmdにそれぞれ含まれる操作量成分u3_x,u3_yは、制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdに重心速度推定値Vb_x_s,Vb_y_sを各々収束させるように決定される。
 この結果、乗員が車両1に付加した推進力による車両系重心点の実際の移動速度の増速(概略前後方向での増速)が該推進力による要求に即して速やかに行なわれるように、車輪体5の移動速度が制御されることとなる。従って、車両1が付加された推進力によって円滑に加速することとなる。
 なお、速度追従モードにおいて、車両1に制動力を付加することによって、図19のSTEP24-1の判断結果が肯定的になると(減速要求が発生すると)、演算処理モードが前記制動モードに変化する。このため、車両1の移動速度が減衰していくこととなる。この場合、減速要求の発生中は、STEP23-6の第2制動演算処理(図18の処理)によって、|↑Vb_aim1|とθvb_aim1とが決定されるので、基本要求重心速度ベクトル↑Vb_aim1、あるいはこれに追従する要求重心速度ベクトル↑Vb_aimは、その向きを一定に保ったまま、大きさが一定の時間的変化率(前記所定値ΔVb2により規定される時間的変化率)で減衰していくように決定されることとなる。
 次に、速度追従モードにおいて、車両1への推進力の付加が終了し、推定重心速度絶対値変化率DVb_sが前記第2閾値DV2よりも小さくなると(図19のSTEP24-3の判断結果が肯定的になると)、図19のSTEP24-5の処理によって、演算処理モードが速度追従モードから速度ホールドモードに変更されることとなる。
 この速度ホールドモードでは、加速要求及び減速要求が発生しない状況(図20のSTEP25-1、25-4の判断結果がいずれも否定的となる状況)で、カウントダウンタイマの計時が終了するまで、基本要求重心速度ベクトル↑Vb_aim1は、前回値の速度ベクトル↑Vb_aim1_pと同じ速度ベクトルに設定される。
 従って、速度ホールドモードの開始後、カウントダウンタイマの計時が終了するまでの所定時間(カウントダウンタイマの初期値Tmの時間)の期間において、基本要求重心速度ベクトル↑Vb_aim1は、速度ホールドモードが開始する直前に決定された速度ベクトルと同じ速度ベクトルで一定に保持されることとなる。
 このため、↑Vb_aim1に追従するように決定される要求重心速度ベクトル↑Vb_aimも、一定の速度ベクトル(速度ホールドモードが開始する直前に決定された↑Vb_aimと一致又はほぼ一致する速度ベクトル)に保たれるように決定されることとなる。
 そして、上記の如く決定される要求重心速度ベクトル↑Vb_aimのX軸方向成分とY軸方向成分とが前記制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdとして決定される。さらに、各仮想車輪回転角加速度指令ωdotw_x_cmd,ωdotw_y_cmdにそれぞれ含まれる操作量成分u3_x,u3_yは、制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdに重心速度推定値Vb_x_s,Vb_y_sを各々収束させるように決定される。
 この結果、車両1の増速後に、カウントダウンタイマの計時が終了するまでの期間(前記初期値Tmにより表される時間の期間)において、乗員の上体の姿勢の頻繁な調整を必要とすることなく、車両系重心点の実際の速度ベクトル↑Vbの大きさ及び向きが一定に保たれるように該車輪体5の移動速度が制御されることとなる。従って、この状況での車両1の実際の走行状態は、乗員がその上体を積極的に動かすような操縦操作をせずとも、ほぼ一定の速度ベクトルで滑走するような状態となる。
 なお、速度ホールドモードにおいて、再び車両1に概略前後方向の推進力を付加することによって、図20のSTEP25-4の判断結果が肯定的になると(加速要求が発生すると)、演算処理モードが前記速度追従モードに戻る。このため、車両1が再び概略前後方向で加速することとなる。
 また、速度ホールドモードにおいて、車両1に制動力を付加することによって、図20のSTEP25-1の判断結果が肯定的になると(減速要求が発生すると)、演算処理モードが前記制動モードに変化する。このため、車両1の移動速度が減衰していくこととなる。この場合、速度追従モードで減速要求が発生した場合と同様に、減速要求の発生中は、STEP23-6の第2制動演算処理(図18の処理)によって、|↑Vb_aim1|とθvb_aim1とが決定される
 次に、速度ホールドモードにおいて、加速要求及び減速要求が発生しない状況(図20のSTEP25-1、25-4の判断結果がいずれも否定的となる状況)が保たれたまま、前記カウントダウンタイマの計時が終了すると、図20のSTEP25-11の処理によって、演算処理モードが速度ホールドモードから制動モードに変更されることとなる。
 この制動モードでは、加速要求及び減速要求が発生しない状況(図15のSTEP23-1,23-4の判断結果がいずれも否定的となる状況)で、図16のSTEP23-5-1,23-5-2の処理が制御処理周期毎に実行されることによって、基本要求重心速度ベクトル絶対値|↑Vb_aim1|が、“0”まで一定の時間的変化率(前記ΔVb1により規定される時間的変化率)で連続的に減衰していくこととなる。そして、|↑Vb_aim1|が“0”まで減衰した後には、|↑Vb_aim1|が“0”に保持される。
 さらに、制動モードでは、加速要求及び減速要求が発生しない状況で、図16のSTEP23-5-3以降の処理が制御処理周期毎に実行される。この場合、速度ホールドモードから制動モードへの移行直前に決定された基本要求重心速度ベクトル↑Vb_aim1の向き(図20のSTEP25-8の判断結果が否定的となる制御処理周期の1つ前の制御処理周期で決定された↑Vb_aim1の向き)が、X軸方向と異なり、且つ、比較的X軸方向に近い向きである場合(より正確には、移行直前に決定された↑Vb_aim1の方位角θvb_aim1が、0°<θvb_aim1_p≦θth1+、θth1-≦θvb_aim1_p<0°、θth2+≦θvb_aim1_p<180°、-180°<θvb_aim1_p≦θth2-のいずれかの範囲内の角度値である場合)には、|↑Vb_aim1|が“0”に減衰するまでの期間内において、θvb_aim1が一定の時間的変化率で収束目標角度値としての0°又は180°又は-180°に近づいていき、最終的に、該収束目標角度値に保持される。従って、制動モードの開始後、|↑Vb_aim1|が“0”に減衰するまでの期間内において、基本要求重心速度ベクトル↑Vb_aimの向きが、連続的にX軸方向に近づいていくこととなる。換言すれば、当該期間内において、基本要求重心速度ベクトル↑Vb_aimのX軸方向成分Vb_x_aim1の絶対値に対するY軸方向成分Vb_y_aim1の絶対値の比率が、“0”に近づいていくこととなる。そして、|↑Vb_aim1|が“0”に減衰するまでに、↑Vb_aim1の向きがX軸方向と同じ向きに到達すると(Vb_y_aim1=0になると)、↑Vb_aim1の向きがX軸方向と同じ向きに保持される。
 従って、↑Vb_aim1は、その大きさが減衰しつつ、その向きがX軸方向に近づく(収束する)ように決定される。このように↑Vb_aim1が決定される状況では、↑Vb_aim1に追従するように決定される要求重心速度ベクトル↑Vb_aimも、その大きさが減衰しつつ、その向きがX軸方向に近づくように決定されることとなる。
 また、速度ホールドモードから制動モードへの移行直前に決定された基本要求重心速度ベクトル↑Vb_aim1の向きが、X軸方向と異なり、且つ、X軸方向から比較的乖離した向きである場合(より正確には、上記移行直前に決定された↑Vb_aim1の方位角θvb_aim1が、θth1+<θvb_aim1_p<θth2+、θth2-<θvb_aim1_p<θth1-のいずれかの範囲内の角度値である場合)には、|↑Vb_aim1|が“0”に減衰するまでの期間内において、θvb_aim1が、上記移行直前に決定された↑Vb_aim1の方位角θvb_aim1と同じ角度値で一定に保持される。
 従って、↑Vb_aim1は、その大きさが減衰しつつ、その向きが一定に保たれるように決定される。このように↑Vb_aim1が決定される状況では、↑Vb_aim1に追従するように決定される要求重心速度ベクトル↑Vb_aimも、その大きさが減衰しつつ、その向きが一定に保たれるように決定されることとなる。
 なお、本実施形態では、速度ホールドモードでは、↑Vb_aim1は、その大きさ及び向きが一定に保持されるので、速度ホールドモードから制動モードへの移行直前に決定された基本要求重心速度ベクトル↑Vb_aim1は、結果的には、速度追従モードから速度ホールドモードへの移行直前に決定された↑Vb_aim1(本実施形態では、図19のSTEP24-3の判断結果が肯定的となる制御処理周期で決定された↑Vb_aim1)に一致する。
 そして、制動モードで上記の如く決定される要求重心速度ベクトル↑Vb_aimのX軸方向成分とY軸方向成分とが前記制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdとして決定される。さらに、各仮想車輪回転角加速度指令ωdotw_x_cmd,ωdotw_y_cmdにそれぞれ含まれる操作量成分u3_x,u3_yは、制御用目標重心速度Vb_x_mdfd,Vb_y_mdfdに重心速度推定値Vb_x_s,Vb_y_sを各々収束させるように決定される。
 この結果、前記制動モードの前の演算処理モードが速度ホールドモードである場合に、乗員がその上体の動きによる積極的な操縦操作を行なわずとも、車両系重心点の実際の速度ベクトルの大きさが速度ホールドモードでの大きさから連続的に減衰していくように車輪体5の移動速度が制御されることとなる。
 この場合、速度ホールドモードから制動モードへの移行直前に決定された↑Vb_aim1(=速度追従モードから速度ホールドモードへの移行直前に決定された↑Vb_aim1)の向きが、X軸方向と異なり、且つ、比較的X軸方向に近い向きである場合には、乗員がその上体の動きによる積極的な操縦操作を行なわずとも、車両系重心点の速度ベクトルの大きさが減衰しながら、該速度ベクトルの向きが自動的にX軸方向(乗員の前後方向)に近づいていくこととなる。従って、乗員の前後方向に対する車両1の直進性が高まる。
 ここで、車両1を加速しようとする場合、多くの場合、特に乗員の前後方向で車両1を加速することが要求される。この場合、本実施形態の車両1は、上記の如く前後方向に対する直進性が高いので、車両1に付加する推進力の向きが、前後方向から多少ずれていても、その後の速度ホールドモードに続く制動モードにおいて、自動的に車両系重心点の速度ベクトルが、前後方向に向くように車輪体5の移動速度が制御される。
 このため、車両1の移動方向のばらつきが生じにくく、乗員の前後方向に対して高い直進性を有する車両1(乗員の前後方向に進み易い車両1)が実現されている。ひいては、車両1を前後方向に移動させる場合に、車両1に付加する推進力を正確に前後方向に向けずとも、該車両1を前後方向に移動させることができる。その結果、車両1を前後方向に移動させる操縦操作が容易になる。
 また、速度ホールドモードから制動モードへの移行直前に決定された基本要求重心速度ベクトル↑Vb_aim1(=速度追従モードから速度ホールドモードへの移行直前に決定された↑Vb_aim1)の向きが、X軸方向と異なり、且つ、X軸方向から比較的乖離した向きである場合には、乗員がその上体の動きによる積極的な操縦操作を行なわずとも、車両系重心点の速度ベクトルの大きさが減衰しながら、該速度ベクトルの向きがほぼ一定に保たれる。すなわち、速度ホールドモードから制動モードへの移行直前に決定された↑Vb_aim1の向きが、X軸方向から比較的乖離した向きである場合には、速度追従モードで最終的に乗員が意図した車両系重心の速度ベクトルの向きが、X軸方向と異なる向きである可能性が高い。従って、速度追従モード以後に、車両系重心点が、乗員が意図する方向と乖離する向きに移動しようとするのを防止できる。
 ここで、本実施形態と本発明との対応関係を補足しておく。
 本実施形態では、車両1に搭乗する乗員の前後方向(X軸方向)、左右方向(Y軸方向)が、それぞれ、本発明における第1の方向、第2の方向に相当する。
 そして、前記要求重心速度生成部74により、本発明における目標速度決定手段が実現される。この場合、本実施形態では、車両系重心点(より正確には車両・乗員全体重心点)が、本発明における車両の所定の代表点に相当し、この車両系重心点の速度ベクトル↑Vbの目標値である要求重心速度ベクトル↑Vb_aimが、本発明における目標速度ベクトルに相当する。
 また、前記重心速度制限部76、姿勢制御演算部80及びモータ指令演算部82により、本発明における移動動作部制御手段が実現される。
 そして、要求重心速度生成部74の処理に関し、速度追従モードの処理中に図19のSTEP24-3の判断結果が肯定的になり、且つ、その後の速度ホールドモードの処理中と制動モードの処理中に、加速要求と減速要求とが発生しないこと(詳しくは図15のSTEP23-1,23-4の判断結果と、図20のSTEP25-1,25-4の判断結果がいずれも否定的となること)が、本発明における所定の条件が成立する場合に相当する。
 また、加速要求及び減速要求が発生しない状態での前記速度ホールドモードの処理(詳しくは、STEP25-1及び25-4の判断結果が否定的となる状態での図20の処理)と制動モードの処理(詳しくは、STEP23-1及び23-4の判断結果が否定的となる状態で、↑Vb_aimが“0”に減衰するまでの図15の処理)とこれらに続くSTEP26~28とを併せた処理によって本発明における速度減衰処理が実現される。そして、速度ホールドモードの処理の実行開始時から、該速度ホールドモードに続く制動モードにおいて、↑Vb_aimが“0”に減衰するまでの期間が本発明における速度減衰期間に相当する。
 また、演算処理モードが速度追従モードから速度ホールドモードに移行する直前に決定された↑Vb_aim(これは、↑Vb_aim1に一致又はほぼ一致する)、すなわち、図19のSTEP24-3の判断結果が肯定的となる制御処理周期で決定された↑Vb_aimが、本発明における減衰初期目標速度ベクトルに相当する。
 また、図16及び図17のSTEP23-5-5~23-5-17の処理によって、本発明における速度方向調整手段が実現される。この場合、方位角閾値θth1+と、-(θth1-)と、180°-(θth2+)と、(θth2-)-180°とが本発明における所定の角度値に相当する。
 さらに、要求重心速度生成部74が実行する図14のSTEP21の処理によって、本発明における速度変化率計測手段が実現される。この場合、本実施形態では、前記推定重心速度絶対値変化率DVb_sが、本発明における速度変化率の計測値に相当する。
 また、要求重心速度生成部位74が実行する前記STEP23-1,25-4の判断処理によって、本発明における加速要求判断手段が実現される。そして、減速要求が発生しない状態での速度追従モードの処理(STEP24-1の判断結果が否定的となる状態での図19の処理)が本発明における増速処理に相当する。
 
 [第2実施形態]
次に、本発明の第2実施形態を図21を参照しつつ以下に説明する。なお、本実施形態は、前記速度ホールードモードでの一部の処理のみが前記第1実施形態と相違するものである。このため、本実施形態の説明では、第1実施形態と同一の構成及び処理については説明を省略する。
 本実施形態では、図14のSTEP25の速度ホールドモードの演算処理は、図21のフローチャートに示す如く実行される。この場合、図21のSTEP25-8の判断結果が肯定的となった場合以外の処理は、第1実施形態で説明した処理(図20の処理)と同じである。
 そして、本実施形態では、図21のSTEP25-8の判断結果が肯定的となった場合、すなわち、速度ホールドモードが開始してから、加速要求及び減速要求が発生しない状態で、カウントダウンタイマの初期値Tmにより表される所定時間が未だ経過していない場合には、要求重心速度生成部74は、STEP25-9aにおいて基本要求重心速度ベクトル絶対値|↑Vb_aim1|を決定し、さらに、STEP25-9bにおいて基本要求重心速度ベクトル方位角θvb_aim1を決定する。
 この場合、STEP25-9aでは、|↑Vb_aim1|の今回値は、第1実施形態の場合と同様に、前回値|↑Vb_aim1_p|と同じ値に決定される。
 また、STEP25-9bでは、θvb_aim1の今回値は、前記第1実施形態で説明した図16、17のSTEP25-5-5~25-5-17と同じ処理によって決定される。従って、速度追従モードから速度ホールドモードへの移行直前に決定された基本要求重心速度ベクトル↑Vb_aim1の向き(図19のSTEP24-3の判断結果が肯定的となる制御処理周期で決定された↑Vb_aim1の向き)が、X軸方向と異なり、且つ、比較的X軸方向に近い向きである場合(より正確には、移行直前に決定された↑Vb_aim1の方位角θvb_aim1が、0°<θvb_aim1_p≦θth1+、θth1-≦θvb_aim1_p<0°、θth2+≦θvb_aim1_p<180°、-180°<θvb_aim1_p≦θth2-のいずれかの範囲内の角度値である場合)には、速度ホールドモードの継続期間において、θvb_aim1が一定の時間的変化率で収束目標角度としての0°又は180°又は-180°に近づいていき、最終的に、0°又は180°又は-180°に保持されるようにθvb_aim1が決定される。
 このため、速度ホールドモードとこれに続く制動モードとを合わせた期間で、θvb_aim1が一定の時間的変化率で収束目標角度(0°又は180°又は-180°)に近づいていき、最終的に、該収束目標角度に保持されるようにθvb_aim1が決定される。
 また、速度追従モードから速度ホールドモードへの移行直前に決定された基本要求重心速度ベクトル↑Vb_aim1の向き(図19のSTEP24-3の判断結果が肯定的となる制御処理周期で決定された↑Vb_aim1の向き)が、X軸方向と異なり、且つ、X軸方向から比較的乖離した向きである場合(より正確には、上記移行直前に決定された↑Vb_aim1の方位角θvb_aim1が、θth1+<θvb_aim1_p<θth2+、θth2-<θvb_aim1_p<θth1-のいずれかの範囲内の角度値である場合)には、速度ホールドモードの継続期間において、θvb_aim1が、上記移行直前に決定された↑Vb_aim1の方位角θvb_aim1と同じ角度値で一定に保持される。従って、この場合における方位角θvb_aim1の決定処理は、第1実施形態と同じである。このため、速度ホールドモードとこれに続く制動モードとを合わせた期間で、θvb_aim1が一定に保持されるように決定される。
 以上説明した以外の処理は、第1実施形態と同じである。
 かかる本実施形態では、速度追従モードから速度ホールドモードへの移行直前に決定された基本要求重心速度ベクトル↑Vb_aim1の向きが、X軸方向と異なり、且つ、比較的X軸方向に近い向きである場合に、速度ホールドモードに続く制動モードだけでなく、速度ホールドモードにおいても、乗員がその上体の動きによる積極的な操縦操作を行なわずとも、車両系重心点の速度ベクトルの向きが自動的にX軸方向(乗員の前後方向)に近づいていくこととなる。従って、乗員の前後方向に対する車両1の直進性がより一層高めることができる。
 補足すると、本実施形態と本発明との対応関係は第1実施形態と同様である。ただし、本実施形態では、第1実施形態で説明した図20の処理と本発明との対応関係は、図21の処理と本発明との対応関係に置き換えられる。
 次に、以上説明した実施形態に係わる変形態様に関していくつか説明しておく。
 前記各実施形態では、車両系重心点(詳しくは車両・乗員全体重心点)を車両1の所定の代表点としたが、該代表点を例えば、車輪体5の中心点や、基体9の所定の部位(例えば支持フレーム13)の点等に設定してもよい。
 前記各実施形態では、STEP23-1,25-4において、加速要求が発生したか否かを判断するために、推定重心速度絶対値変化率DVb_sと、重心加速度推定値Vbdot_x_s,Vbdot_y_sとに関して、DVb_s>DV1、且つ、|Vbdot_x_s|>a1・|Vbdot_y_s|という条件が成立するか否かを判断した。
 ただし、例えば、X軸方向の重心速度推定値Vb_x_sの絶対値の時間的変化率が所定の閾値よりも大きい場合に、加速要求が発生したものと判断するようにしてもよい。
 あるいは、例えば、重心加速度推定値Vbdot_x_s,Vbdot_y_sに関する条件を省略し、単に、DVb_s>DV1であるか否かを判断することで、加速要求が発生したか否かを判断するようにしてもよい。このようにした場合には、車両系重心点の速度ベクトル↑Vbを概略Y軸方向に加速した後に、一定の大きさの速度ベクトルに保持し、次いで、↑Vbの大きさを減衰させていくという車両1の走行を行なうことができる。
 また、前記各実施形態において、図17のSTEP23-5-14の判断結果が否定的である場合において、θvb_aim1_pが90°に比較的近い値である場合(90°の前後の所定範囲内の値である場合)には、θvb_aim1を90°に徐々に近づけるように決定し、θvb_aim1が-90°に比較的近い値である場合(-90°の前後の所定範囲内の値である場合)には、θvb_aim1を-90°に徐々に近づけるように決定してもよい。あるいは、STEP23-5-14の判断結果が否定的である場合に常に、90°又は-90°(θvb_aim1_pにより近い方の角度値)にθvb_aim1を近づけるようにしてもよい。これらの場合にθvb_aim1を90°又は-90°に近づける手法としては、例えば、前記各実施形態でθvb_aim1を0°又は180°又は-180°に近づける手法と同様の手法を用いればよい。
 このようにした場合には、速度追従モードから速度ホールドモードに移行する直前における↑Vb_aim1の向きが、Y軸方向に比較的近い場合に、速度ホールドモードに続く制動モードにおいて、あるいは、速度ホールドモードと制動モードとにおいて、要求重心速度ベクトル↑Vb_aimをY軸方向の向きに近づけることができる。
 また、速度追従モードの後の制動モードにおいて、あるいは、速度ホールドモードと制動モードとにおいて、↑Vb_aim1の向き(ひいては↑Vb_aimの向き)をX軸方向とY軸方向とのいずれの方向に近づけるかを、スイッチ操作などに応じて選択的に切り換えることができるようにしてもよい。
 また、前記各実施形態では、↑Vb_aim1の大きさを制動モードで減衰させていく場合に、|↑Vb_aim1|を一定の時間的変化率で“0”に連続的に減衰させていくようにしたが、他の形態で|↑Vb_aim1|を“0”に減衰させていくようにしてもよい。例えば、|↑Vb_aim1|を所定の時定数で指数関数的に減衰させていくようにしてもよい。
 同様に、↑Vb_aim1の向きをX軸方向に近づけていく場合に、θvb_aim1を一定の時間的変化率で、収束目標角度(0°又は180°又は-180°)に近づける代わりに、例えば、θvb_aim1を所定の時定数で指数関数的に収束目標角度に近づけるようにしてもよい。なお、このことは、↑Vb_aim1の向きをY軸方向に近づけていく場合でも同様である。
 また、前記各実施形態では、↑Vb_aim1の向きをX軸方向に近づけていく場合に、θvb_aim1(ひいてはθvb_aim)を収束目標角度(0°又は180°又は-180°)に近づけるように逐次決定した。ただし、θvb_aim1を逐次決定する代わりに、↑Vb_aim1のX軸方向成分Vb_x_aim1の絶対値に対するY軸方向成分Vb_y_aim1の絶対値の比率|Vb_y_aim1|/|Vb_x_aim1|を“0”に近づけていくように逐次決定し、この比率|Vb_y_aim1|/|Vb_x_aim1|によって、↑Vb_aim1の向きを決定するようにしてもよい。この場合、Vb_x_aim1,Vb_y_aim1の極性は、それぞれの大きさが“0”になるまでは、一定の極性に保持する。
 なお、↑Vb_aim1の向きをY軸方向に近づけていく場合には、↑Vb_aim1のY軸方向成分Vb_y_aim1の絶対値に対するX軸方向成分Vb_x_aim1の絶対値の比率|Vb_x_aim1|/|Vb_y_aim1|を“0”に近づけていくように逐次決定し、この比率|Vb_x_aim1|/|Vb_y_aim1|によって、↑Vb_aim1の向きを決定すればよい。
 また、前記各実施形態では、速度追従モードと制動モードとの間に速度ホールドモードを備えるようにしたが、この速度ホールドモードを省略するようにしてもよい。この場合には、図19のSTEP24-4の処理を省略すると共に、STEP24-5の処理の代わりに、演算処理モードを制動モードに変更する処理を実行するようにすればい。そして、これ以外は、例えば前記第1実施形態と同一でよい。このようにした場合には、本発明における速度減衰処理は、加速要求及び減速要求が発生しない状態での制動モードの処理(STEP23-1,23-4の判断結果がいずれも否定的となる状態での図15の処理)とこれに続くSTEP26~28の処理とにより実現されることとなる。
 また、前記各実施形態では、車両1に付加的に推進力を加えることに応じて要求重心速度ベクトル↑Vb_aimを増速させ、その後、速度減衰処理としての速度ホールドモード及び制動モードの処理を実行するようにした。ただし、例えば、乗員によるスイッチ操作等に応じて、車両1を加速させるように要求重心速度ベクトル↑Vb_aimを増速させ、その後、該スイッチ操作の解除などに応じて、速度ホールドモード及び制動モードの処理(速度減衰処理)を実行を開始するようにしてもよい。また、速度ホールドモード及び制動モードの処理を開始するための条件として、環境条件などを加味してもよい。
 また、前記各実施形態では、前記自立モードにおいては、要求重心速度ベクトル↑Vb_aimを常に“0”に設定するようにしたが、乗員が搭乗していない車両1を必要に応じて作業者などが押して移動させるような場合には、搭乗モードの場合と同様の処理を実行することで、要求重心速度ベクトル↑Vb_aimを変化させるように↑Vb_aimを決定するようにしてもよい。
 また、前記各実施形態では、図1及び図2に示した構造の車両1を例示したが、本発明における全方向移動車両1は、本実施形態で例示した車両に限られるものではない。
 具体的には、本実施形態の車両1の移動動作部としての車輪体5は一体構造のものであるが、例えば、前記特許文献2の図10に記載されているような構造のものであってもよい。すなわち、剛性を有する円環状の軸体に、複数のローラをその軸心が該軸体の接線方向に向くようにして回転自在に外挿し、これらの複数のローラを軸体に沿って円周方向に配列させることによって、車輪体を構成してもよい。
 さらに移動動作部は、例えば、特許文献1の図3に記載されているようなクローラ状の構造のものであってもよい。
 あるいは、例えば、前記特許文献1の図5、特許文献2の図7、もしくは特許文献3の図1に記載されているように、移動動作部を球体により構成し、この球体を、アクチュエータ装置(例えば前記車輪体5を有するアクチュエータ装置)によりX軸周り方向及びY軸周り方向に回転駆動するように車両を構成してもよい。
 また、本実施形態では、乗員の搭乗部としてシート3を備えた車両1を例示したが、本発明における全方向移動車両は、例えば特許文献2の図8に見られるように、乗員が両足を載せるステップと、そのステップ上で起立した乗員が把持する部分とを基体に組付けた構造の車両であってもよい。
 このように本発明は、前記特許文献1~3等に見られる如き、各種の構造の全方向移動車両に適用することが可能である。
 さらには、本発明における全方向移動車両は、床面上を全方向に移動可能な移動動作部を複数(例えば、左右方向に2つ、あるいは、前後方向に2つ、あるいは、3つ以上)備えていてもよい。この場合、例えば、移動動作部を3つ以上備えた場合には、基体が傾動しないようにして、該基体の傾斜角度の制御を省略してもよい。
 1…全方向移動車両、3…シート(搭乗部)、5…車輪体(移動動作部)、7…アクチュエータ装置、9…基体、74…要求重心速度生成部(目標速度決定手段)、76…重心速度制限部(移動動作部制御手段)、80…姿勢制御演算部(移動動作部制御手段)、82…モータ指令演算部(移動動作部制御手段)、STEP21…速度変化率計測手段、STEP23-1,25-4…加速要求判断手段。

Claims (7)

  1.  床面上を互いに直交する第1の方向及び第2の方向を含む全方向に移動可能な移動動作部と、該移動動作部を駆動するアクチュエータ装置と、該移動動作部及びアクチュエータ装置が組付けられた基体とを備えた全方向移動車両の制御装置であって、
     前記車両の所定の代表点の速度ベクトルの目標値である目標速度ベクトルを逐次決定する手段であり、所定の条件が成立する場合に、該目標速度ベクトルの大きさを連続的又は段階的に減衰させていく処理である速度減衰処理を実行する目標速度決定手段と、
     少なくとも該目標速度決定手段が決定した目標速度ベクトルに応じて前記移動動作部の動作を前記アクチュエータ装置を介して制御する移動動作部制御手段とを備え、
     前記目標速度決定手段は、前記第1の方向と異なる向きの目標速度ベクトルを決定した直後に前記速度減衰処理の実行を開始した場合に、該速度減衰処理の実行開始時から前記目標速度ベクトルの大きさを“0”に減衰させるまでの速度減衰期間内において、前記目標速度ベクトルの向きを、該速度減衰処理の実行開始時の直前に決定した目標速度ベクトルである減衰初期目標速度ベクトルの向きよりも前記第1の方向に近づけるように目標速度ベクトルを決定する速度方向調整手段を含むことを特徴とする全方向移動車両の制御装置。
  2.  請求項1記載の全方向移動車両の制御装置において、
     前記車両の基体には、乗員の搭乗部が組付けられており、
     前記搭乗部に搭乗した乗員の前後方向が、前記第1の方向として設定され、該乗員の左右方向が、前記第2の方向として設定されていることを全方向移動車両の制御装置。
  3.  請求項1又は2記載の全方向移動車両の制御装置において、
     前記速度方向調整手段は、前記減衰初期目標速度ベクトルの向きと前記第1の方向との間の鋭角側の角度が所定の角度値よりも小さいことを必要条件として、前記速度減衰期間内において、前記目標速度ベクトルの向きを、前記減衰初期目標速度ベクトルの向きよりも前記第1の方向に近づけるように前記目標速度ベクトルを決定することを特徴とする全方向移動車両の制御装置。
  4.  請求項3記載の全方向移動車両の制御装置において、
     前記目標速度決定手段は、前記速度減衰処理の実行開始時の直前に決定した目標速度ベクトルの向きと前記第1の方向との間の鋭角側の角度が前記所定の角度値よりも大きい場合には、前記速度減衰期間内において、前記目標速度ベクトルの向きを一定に保持するか、又は前記第2の方向に近づけるように前記目標速度ベクトルを決定することを特徴とする全方向移動車両の制御装置。
  5.  請求項1~4のいずれか1項に記載の全方向移動車両の制御装置において、
     前記速度減衰処理は、その実行開始時から所定時間の期間、前記目標速度ベクトルの大きさを一定に保持した後、該目標速度ベクトルの大きさを連続的に減衰させていく処理であり、
     前記速度方向調整手段は、前記速度減衰期間内のうち、少なくとも前記目標速度ベクトルの大きさを連続的に減衰させていく期間において、前記目標速度ベクトルの向きを第1の方向に連続的に近づけるように前記目標速度ベクトルを決定することを特徴とする全方向移動車両の制御装置。
  6.  請求項1~5のいずれか1項に記載の全方向移動車両の制御装置において、
     前記代表点の速度ベクトルの大きさを増加させる要求である加速要求が発生したか否か否かを判断する加速要求判断手段を備え、
     前記目標速度決定手段は、前記加速要求判断手段の判断結果が肯定的になった場合に、前記目標速度ベクトルの大きさを増加させるように前記目標速度ベクトルを決定する増速処理を実行し、該増速処理の実行中に前記所定の条件が成立した場合に、前記速度減衰処理の実行を開始することを特徴とする全方向移動車両の制御装置。
  7.  請求項6記載の全方向移動車両の制御装置において、
     前記車両は、前記アクチュエータ装置により前記移動動作部を駆動することによって発生する車両の推進力以外の外力が付加された場合に、該外力によって前記代表点の速度ベクトルの大きさを増加可能な車両であり、
     前記代表点の実際の速度ベクトルの大きさの時間的変化率又は該速度ベクトルのうちの前記第1の方向の速度成分の大きさの時間的変化率である速度変化率に応じた出力を発生する速度変化率計測手段を備え、
     前記加速要求判断手段は、少なくとも前記速度変化率計測手段の出力が示す前記速度変化率の計測値に基づいて、前記加速要求が発生したか否かを判断し、
     前記目標速度決定手段は、前記増速処理の実行中に前記速度変化率の計測値が所定の閾値よりも小さくなった場合に、前記所定の条件が成立したものとして、前記速度減衰処理の実行を開始することを特徴とする全方向移動車両の制御装置。
PCT/JP2009/004726 2009-09-18 2009-09-18 全方向移動車両の制御装置 WO2011033576A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2011531650A JP5306470B2 (ja) 2009-09-18 2009-09-18 全方向移動車両の制御装置
US13/391,494 US8532898B2 (en) 2009-09-18 2009-09-18 Control device of omnidirectional vehicle
PCT/JP2009/004726 WO2011033576A1 (ja) 2009-09-18 2009-09-18 全方向移動車両の制御装置
DE112009005256.8T DE112009005256B4 (de) 2009-09-18 2009-09-18 Regelungs -/Steuerungsvorrichtung eines omnidirektionalen Fahrzeugs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/004726 WO2011033576A1 (ja) 2009-09-18 2009-09-18 全方向移動車両の制御装置

Publications (1)

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

Family

ID=43758205

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/004726 WO2011033576A1 (ja) 2009-09-18 2009-09-18 全方向移動車両の制御装置

Country Status (4)

Country Link
US (1) US8532898B2 (ja)
JP (1) JP5306470B2 (ja)
DE (1) DE112009005256B4 (ja)
WO (1) WO2011033576A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8522902B2 (en) * 2009-09-18 2013-09-03 Honda Motor Co., Ltd. Inverted pendulum type vehicle
JP5921950B2 (ja) * 2012-05-14 2016-05-24 本田技研工業株式会社 倒立振子型車両
JP6020328B2 (ja) * 2013-04-18 2016-11-02 トヨタ自動車株式会社 移動体制御装置、移動体制御方法、及び制御プログラム
US10384672B1 (en) * 2016-05-11 2019-08-20 Apple Inc. Vehicle stability control system
CN108885152B (zh) * 2017-03-10 2020-07-07 百度时代网络技术(北京)有限公司 解决自动驾驶车辆的转向不足的自动转向控制参考自适应
US11863007B1 (en) * 2019-12-11 2024-01-02 Amazon Technologies, Inc. Wheel-based charger for wireless smart controllers and carts

Citations (6)

* 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 搬送装置、制御方法、及び駆動機構
JP2006282160A (ja) * 2005-03-07 2006-10-19 Univ Of Tokyo 全方向移動ロボット及び該ロボットの全方向移動駆動機構
WO2008132779A1 (ja) * 2007-04-20 2008-11-06 Honda Motor Co., Ltd. 全方向駆動装置及びそれを用いた全方向移動車
WO2008132778A1 (ja) * 2007-04-20 2008-11-06 Honda Motor Co., Ltd. 全方向駆動装置及びそれを用いた全方向移動車
WO2008139740A1 (ja) * 2007-05-16 2008-11-20 Honda Motor Co., Ltd. 全方向に移動可能な乗り物

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4223753A (en) * 1977-12-19 1980-09-23 Bradbury Harold M Omni-directional transport device
KR100520272B1 (ko) * 2002-02-15 2005-10-11 주식회사 비에스텍 전방향 이동 승용완구
AU2007286080A1 (en) * 2006-08-11 2008-02-21 Segway Inc. Speed limiting in electric vehicles
US7878284B1 (en) * 2007-11-29 2011-02-01 Shultz Jonathan D Omni-directional tread and contiguous moving surface

Patent Citations (6)

* 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 搬送装置、制御方法、及び駆動機構
JP2006282160A (ja) * 2005-03-07 2006-10-19 Univ Of Tokyo 全方向移動ロボット及び該ロボットの全方向移動駆動機構
WO2008132779A1 (ja) * 2007-04-20 2008-11-06 Honda Motor Co., Ltd. 全方向駆動装置及びそれを用いた全方向移動車
WO2008132778A1 (ja) * 2007-04-20 2008-11-06 Honda Motor Co., Ltd. 全方向駆動装置及びそれを用いた全方向移動車
WO2008139740A1 (ja) * 2007-05-16 2008-11-20 Honda Motor Co., Ltd. 全方向に移動可能な乗り物

Also Published As

Publication number Publication date
US20120150408A1 (en) 2012-06-14
DE112009005256B4 (de) 2015-07-23
DE112009005256T5 (de) 2013-05-02
JPWO2011033576A1 (ja) 2013-02-07
US8532898B2 (en) 2013-09-10
JP5306470B2 (ja) 2013-10-02

Similar Documents

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011531650

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 13391494

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 112009005256

Country of ref document: DE

Ref document number: 1120090052568

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09849436

Country of ref document: EP

Kind code of ref document: A1