Mobile body and its control device
Patent Information
- Application Number
- JP2025059601
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-03-31
- Publication Date
- 2026-10-14
AI Technical Summary
【0007】 以上の態様によれば、移動体において倒立振子制御を継続できなくなった場合に発生する転倒モーメントを低減することができる。
Smart Images

Figure 2026166583000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a moving body and a control device thereof.
Background Art
[0002] Conventionally, an inverted pendulum type moving body as disclosed in Patent Document 1 has been known. The moving body includes a main body, a pair of omnidirectional wheels provided on the main body, and a control device that controls the pair of omnidirectional wheels. The control device maintains the posture of the moving body by executing inverted pendulum control.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In the moving body as described above, an abnormality that makes it impossible to continue the inverted pendulum control may occur. The abnormality occurs, for example, when the center of gravity of the occupant moves beyond the drivable force that the omnidirectional wheels can output, or when a sensor necessary for the inverted pendulum control fails. If the control of the omnidirectional wheels is suddenly stopped when such an abnormality occurs, the overturning moment applied to the moving body may increase. Therefore, the occupant needs to respond quickly to the stop of the inverted pendulum control.
[0005] In view of the above background, an aspect of the present invention aims to reduce the overturning moment that occurs when the inverted pendulum control can no longer be continued in the moving body.
Means for Solving the Problems
[0006] To solve the above problems, one aspect of the present invention provides a mobile body comprising a main body, omnidirectional wheels provided on the main body, and a control device for controlling the omnidirectional wheels, wherein the control device monitors for abnormalities in the mobile body, calculates target values including target forward / backward translational speed, target left / right translational speed, and target turning speed of the mobile body based on inverted pendulum control when normal, controls the omnidirectional wheels based on the target values, stops calculating the target values when an abnormality is detected, and controls the omnidirectional wheels for a predetermined period from the time the abnormality is detected based on the latest value of the target value calculated immediately before the abnormality was detected or a value obtained by gradually decreasing the latest value. [Effects of the Invention]
[0007] According to the above embodiment, it is possible to reduce the tipping moment that occurs when the inverted pendulum control of the moving body becomes impossible to maintain. [Brief explanation of the drawing]
[0008] [Figure 1] Side view of the mobile body in a state where the upper part of the main body is in a high position, according to the embodiment. [Figure 2] Side view of the mobile unit with the upper part of the main body in a low position. [Figure 3] Diagram illustrating the mobile unit from the front. [Figure 4] Cross-sectional view of an all-directional wheel [Figure 5] Block diagram of the control system for a mobile device. [Figure 6] Diagram illustrating the inverted pendulum model of a moving object viewed from the Y-axis direction. [Figure 7] Diagram illustrating the inverted pendulum model of a moving object viewed from the X-axis direction. [Figure 8] Block diagram showing the target translational velocity determination unit. [Figure 9] Block diagram showing the centroid displacement estimation unit. [Figure 10] Block diagram showing the target turning speed determination unit. [Figure 11] Block diagram showing the individual target translational velocity determination unit. [Figure 12]Time chart showing target lateral translational speed, target turning speed, and target forward / backward translational speed during abnormal conditions. [Modes for carrying out the invention]
[0009] The following describes an embodiment of the mobile body 1 with reference to the drawings. In this embodiment, the mobile body 1 is configured as an inverted pendulum type vehicle. In the following description, the front-to-back direction of the mobile body 1 is the X-axis direction, the left-to-right direction of the mobile body 1 is the Y-axis direction, and the up-and-down direction of the mobile body 1 is the Z-axis direction.
[0010] As shown in Figures 1 to 3, the mobile body 1 has a main body 2 and a pair of omnidirectional wheels 3 provided on the main body 2. The main body 2 is provided with a plurality of legs 4. The main body 2 has a lower body 6 that supports the pair of omnidirectional wheels 3 and an upper body 7 provided above the lower body 6. The plurality of legs 4 are connected to the upper body 7 and extend downward from the upper body 7. Between the lower body 6 and the upper body 7, there is a lifting device 8 that raises and lowers the lower body 6 between a low position and a high position relative to the upper body 7.
[0011] A pair of omnidirectional wheels 3 are provided on the left and right sides of the lower part 6 of the main body. The left and right pair of omnidirectional wheels 3 have the same configuration. The omnidirectional wheels 3 are also called friction drive devices. The omnidirectional wheels 3 have inverted pendulum controlled drive wheels 11. As shown in Figure 3, the omnidirectional wheels 3 include a frame 12, a pair of left and right drive discs 13 rotatably supported on the frame 12, a plurality of drive rollers 14 rotatably supported on each of the drive discs 13, an annular drive wheel 11 positioned between the left and right drive discs 13 and in contact with the drive rollers 14, and a pair of electric motors 15 that rotate the pair of drive discs 13 independently.
[0012] The pair of drive disks 13 are arranged coaxially with each other, and their rotational axes extend in the left-right direction (Y-axis direction). As shown in FIG. 3 and FIG. 4, each electric motor 15 is connected to the corresponding drive disk 13 via a transmission mechanism 16. The transmission mechanism 16 may be, for example, a belt transmission mechanism. Each electric motor 15 is preferably arranged above the corresponding drive disk 13.
[0013] As shown in FIG. 4, the drive wheel 11 has an annular shape, and is arranged coaxially with the drive disks 13 between the pair of drive disks 13. Further, the drive wheel 11 is in contact with the plurality of drive rollers 14, and is rotatable around the central axis and around the annular axis. The drive wheel 11 includes, for example, an annular core body 11A, and a plurality of driven rollers 11B rotatably supported by the core body 11A. Each driven roller 11B is supported by the core body 11A so as to be rotatable around the axis of the annular core body 11A. Each driven roller 11B receives a load from the drive disk 13 and rotates relative to the core body 11A.
[0014] The left and right omnidirectional wheels 3 have the same configuration. The reference numeral of the left omnidirectional wheel 3 is denoted as 3L with a subscript L added. The reference numeral of the right omnidirectional wheel 3 is denoted as 3R with a subscript R added. In the left omnidirectional wheel 3L, the reference numeral of the left element in the pair of left-right components is appended with LL, and the reference numeral of the right element is appended with LR. Similarly, in the right omnidirectional wheel 3R, the reference numeral of the left element in the pair of left-right components is appended with RL, and the reference numeral of the right element is appended with RR. For example, as shown in FIG. 5, the left omnidirectional wheel 3L includes a left electric motor 15LL, a right electric motor 15LR, a left transmission mechanism 16LL, a right transmission mechanism 16LR, a left drive disk 13LL, a right drive disk 13LR, and a drive wheel 11L. Similarly, the right omnidirectional wheel 3R includes a left electric motor 15RL, a right electric motor 15RR, a left transmission mechanism 16RL, a right transmission mechanism 16RR, a left drive disk 13RL, a right drive disk 13RR, and a drive wheel 11R.
[0015] In each omnidirectional wheel 3, when a pair of drive discs 13 rotate in the same direction at the same rotational speed, the drive wheel 11 rotates together with the pair of drive discs 13. That is, the drive wheel 11 rotates forward or backward around its own axis, which coincides with the axis of rotation A. At this time, the drive rollers 14 of the drive discs 13 and the driven rollers 11B of the drive wheel 11 do not rotate relative to the core body 11A. In each omnidirectional wheel 3, when there is a difference in rotational speed between a pair of drive discs 13, a component force perpendicular to the circumferential (tangential) force caused by the rotation of the pair of drive discs 13 acts from the left and right drive rollers 14 to the driven roller 11B of the drive wheel 11. Because the axis of the drive roller 14 is inclined with respect to the circumferential direction of the drive roller 14, a component force is generated between the drive discs 13 due to the difference in rotational speed. This component force causes the drive roller 14 to rotate and the driven roller 11B to rotate relative to the core body 11A. As a result, the drive wheel 11 generates a driving force in the left and right directions.
[0016] The moving body 1 moves forward as the left and right omnidirectional wheels 3 rotate forward at the same speed. The moving body 1 moves backward as the left and right omnidirectional wheels 3 rotate backward at the same speed. The moving body 1 turns to the right or left as velocity is generated in the forward and backward rotation of the left and right omnidirectional wheels 3. The moving body 1 moves parallel to the right or left as the driven rollers 11B of each drive wheel 11 of the left and right omnidirectional wheels 3 rotate.
[0017] As shown in FIG. 1 and FIG. 2, the lifting device 8 moves the main body upper part 7 up and down between a low position and a high position. The lifting device 8 includes a lower member 8A tiltably provided on the main body lower part 6, and an upper member 8B supported to be movable up and down relative to the lower member 8A and coupled to the main body upper part 7. The lower member 8A and the upper member 8B are preferably formed, for example, in a cylindrical shape extending in the vertical direction. The lower member 8A is slidably inserted inside the upper member 8B. Inside the upper member 8B and the lower member 8A, an expansion / contraction mechanism that moves the upper member 8B relative to the lower member 8A is provided. The expansion / contraction mechanism is preferably, for example, a screw mechanism. The screw mechanism preferably includes a screw shaft extending vertically and rotatably supported by the upper member 8B, an electric motor 15 provided at the upper end of the upper member 8B for rotating the screw shaft, and a nut provided on the lower member 8A and threadedly engaged with the screw shaft. When the screw shaft is rotated by the electric motor 15, the upper member 8B moves upward or downward relative to the lower member 8A. That is, the lifting device 8 expands and contracts in the vertical direction. The expansion / contraction mechanism may be a rack and pinion mechanism, a linear motor, or an air cylinder that expands and contracts by compressed air. Inside the upper member 8B and the lower member 8A, a spring that biases the lower member 8A and the upper member 8B in a direction approaching each other, and a damper that cushions the movement of the upper member 8B relative to the lower member 8A may be provided. The damper is preferably a cylinder damper.
[0018] The lower member 8A is provided on the main body lower part 6 so as to be tiltable about a tilt axis 19 extending in the front-rear direction (X-axis direction). The lower member 8A is provided on the main body lower part 6 so as to be tiltable about the tilt axis 19 extending in the front-rear direction. The lower member 8A is preferably rotatably supported by the tilt axis 19 provided on the main body lower part 6 and extending in the front-rear direction.
[0019] As shown in FIG. 1 to FIG. 3, the main body upper part 7 includes a seat 21 for an occupant 100 to sit on. The seat 21 is preferably provided on the upper portion of the main body upper part 7.
[0020] Multiple legs 4 have the same configuration. The legs 4 extend downward from the upper part 7 of the main body. The legs 4 are displaceable between a grounded position where they are in contact with the floor and a retracted position where they are above the floor. In this embodiment, the legs 4 are displaced between the grounded position and the retracted position as the upper part 7 of the main body to which the legs 4 are attached is raised and lowered by a lifting device 8. That is, the lifting device 8 raises and lowers the legs 4 between the grounded position and the retracted position. In other embodiments, another lifting device may be provided between the upper part 7 of the main body and the legs 4 to raise and lower the legs 4 between the grounded position and the retracted position. In this embodiment, the legs 4 are in the grounded position when the upper part 7 of the main body is in a low position, and the legs 4 are in the retracted position when the upper part 7 of the main body is in a high position.
[0021] Each leg 4 has a swivel caster 4A at its lower end. When the leg 4 is in the ground-contacting position, the leg 4 makes contact with the ground at the swivel caster 4A. With each leg 4 in contact with the ground, the main body 2 is maintained in an upright position. Each leg 4 maintains the main body 2 in an upright position by making contact with the ground.
[0022] As shown in Figures 1 and 5, the mobile body 1 has a control device 30 that controls a pair of omnidirectional wheels 3 and a lifting device 8. The control device 30 is a computer having a processor and memory connected to the processor in a communicative manner. The processor may include at least one of the following as its core: a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or a RISC (Reduced Instruction Set Computer). The memory stores control programs executed by the processor and various data. The processor realizes various applications by executing programs stored in the memory. The control device 30 may be located in the lower part 6 or the upper part 7 of the main body.
[0023] The mobile body 1 has a plurality of operating state sensors 31 provided on each electric motor 15 to detect the operating state of each electric motor 15 of the left and right omnidirectional wheels 3, a tilt sensor 32 to detect the tilt angle of the main body 2, a yaw rate sensor 33 to detect the yaw rate of the main body 2, and a position sensor 34 to detect the height of the upper part 7 of the main body relative to the lower part 6 of the main body. The plurality of operating state sensors 31, tilt sensors 32, yaw rate sensors 33, and position sensors 34 are connected to a control device 30.
[0024] Each electric motor 15 corresponds to an operating state sensor 31, which includes, for example, a current sensor for detecting the current supplied to the electric motor 15 and a rotation sensor for detecting the rotation angle or rotation speed (angular velocity) of the output shaft of the electric motor 15. In this case, the rotation sensor may be, for example, a resolver, a rotary encoder, a potentiometer, etc.
[0025] The tilt sensor 32 may be composed of, for example, a known inertial measurement unit (IMU) capable of detecting acceleration in three axes and angular velocity in three axes. The tilt sensor 32 may be provided on the upper part 7 of the main body. Based on the detected acceleration and angular velocity, the tilt sensor 32 measures the tilt angle of the upper part 7 of the main body in the roll direction (direction around the X axis) and the pitch direction (direction around the Y axis) using a known measurement calculation process such as the strapdown method, and outputs the measurement data. The measurement calculation process may be performed by the control device 30.
[0026] The yaw rate sensor 33 is composed of a known angular velocity sensor and detects the yaw rate generated when the moving body 1 rotates. The yaw rate sensor 33 may be provided, for example, at the lower part 6 of the main body. If the tilt sensor 32 is composed of an inertial measurement unit, the tilt sensor 32 may measure the yaw rate from the detected acceleration and angular velocity data by measurement calculation processing such as the strapdown method. In other words, the tilt sensor 32 may also serve as the yaw rate sensor 33.
[0027] The control device 30 communicates wirelessly or via wired connection with the operating terminal 40 held by the crew member 100 or the like. The operating terminal 40 may be, for example, a smartphone or tablet device. The operating terminal 40 can operate the mobile unit 1 by launching a pre-installed control application.
[0028] The operating terminal 40 may be a remote control type operating terminal 40 that includes an operating unit for controlling the mobile unit 1, such as a joystick. Alternatively, the operating terminal 40 may be attached to the upper part 7 of the main unit.
[0029] The control device 30 has an inverted pendulum control unit 51, a lifting control unit 52, and an abnormality monitoring unit 53, as functions realized by either or both of the implemented hardware configuration and / or program (software configuration).
[0030] The lifting control unit 52 controls the lifting device 8 to raise and lower the upper part of the main body 7 and the seat 21 between a low position and a high position. The lifting control unit 52 controls the electric motor 15 of the lifting device 8 based on the lifting signal from the operation terminal 40. The operation terminal 40 may display lifting buttons on its operation screen and transmit a lifting signal to the control device 30 when the lifting button is operated by the occupant 100.
[0031] The inverted pendulum control unit 51 performs inverted pendulum control when the upper part 7 of the main body has risen from a low position, that is, when each leg 4 is lifted off the floor. The inverted pendulum control unit 51 has a target translational speed determination unit 56, a target rotation speed determination unit 57, an individual target translational speed determination unit 58, and an abnormal target speed determination unit 59. The target translational speed determination unit 56 sequentially determines the target translational speed, which is the target value of the translational speed of the moving body 1. The target translational speed includes the target forward / backward translational speed and the target left / right translational speed. The target rotation speed determination unit 57 sequentially determines the target rotation speed, which is the target value of the angular velocity (yaw rate) in the yaw direction of the moving body 1. The individual target translational speed determination unit 58 determines the target translational speed for each of the omnidirectional wheels 3.
[0032] The inverted pendulum control unit 51 controls the electric motors 15 of the left and right omnidirectional wheels 3 in inverted pendulum control so that the overall center of gravity, including the mobile body 1 and the occupant 100, is balanced like a point mass of an inverted pendulum. Balancing the overall center of gravity of the mobile body 1 means balancing the resultant force of gravity acting on the overall center of gravity and the inertial force generated by the motion of the overall center of gravity with the ground reaction force that the mobile body 1 receives from the floor. The inverted pendulum control unit 51 also controls the electric motors 15 of the left and right omnidirectional wheels 3 so that the mobile body 1 moves in response to the operation of the operation terminal 40 by the occupant 100.
[0033] As shown in Figures 6 and 7, the dynamic behavior of the entire center of gravity of the moving body 1 is represented by the behavior of an inverted pendulum model. The subscript "x" represents the component in the X-axis direction, and "y" represents the component in the Y-axis direction. As shown in Figure 6, the inverted pendulum model representing the behavior of the entire center of gravity of the moving body 1 as viewed from the Y-axis direction comprises a wheel 61_x that has a rotation axis parallel to the Y-axis direction and is able to roll freely on the floor surface in the X-axis direction, a rod 62_x that extends from the rotation center of the wheel 61_x and is able to swing freely around the rotation axis of the wheel 61_x (in the pitch direction), and a point mass Ga_x connected to a reference part Ps_x which is the tip of the rod 62_x.
[0034] Wheel 61_x is a wheel that models the left and right omnidirectional wheels 3 that roll in the X-axis direction. The radius r_x of wheel 61_x is set to a value that matches the radius of the omnidirectional wheel 3 as viewed from the axial direction of the core body 11A of the drive wheel 11 of each omnidirectional wheel 3. In addition, the height h_x of the reference part Ps_x and the point mass Ga_x from the floor surface is set to a predetermined default value (constant value).
[0035] In the inverted pendulum model, the motion of the point mass Ga_x corresponds to the motion of the entire center of gravity of the moving body 1 as viewed from the Y-axis direction, and the inclination angle θb_x of the rod 62_x relative to the vertical coincides with the inclination angle in the pitch direction of the upper part 7 of the main body. In addition, the translational motion of the omnidirectional wheel 3 in the X-axis direction corresponds to the translational motion in the X-axis direction due to the rolling of the wheel 61_x.
[0036] As shown in Figure 7, the inverted pendulum model representing the behavior of the entire center of gravity of the moving body 1 as viewed from the X-axis direction comprises a pair of left and right wheels 61L_y and 61R_y that have a rotation axis parallel to the X-axis direction and can roll freely on the floor surface in the Y-axis direction, a connecting part 63_y that connects the wheels 61L_y and 61R_y, a rod 62_y extending from the connecting part 63_y, and a point mass Ga_y connected to a reference part Ps_y which is the tip (upper end) of the rod 62_y.
[0037] Rod 62_y is pivotally supported on the connecting part 63_y at an intermediate position between wheels 61L_y and 61R_y, allowing it to swing in the roll direction around its axis in the X-axis direction. Wheels 61L_y and 61R_y are wheels that model and represent the respective omnidirectional wheels 3 that move in the Y-axis direction. The height h_y of the reference part Ps_y and the point mass Ga_y from the pivot point of rod 62_y is set to a predetermined value (constant value).
[0038] In the inverted pendulum model, the motion of the point mass Ga_y corresponds to the motion of the entire center of gravity of the moving body 1 as viewed from the X-axis direction, and the inclination angle θb_y of the rod 62_y relative to the vertical coincides with the inclination angle of the upper part of the main body 7 in the rolling direction. Furthermore, the translational motion of the omnidirectional wheel 3 in the Y-axis direction corresponds to the translational motion in the Y-axis direction due to the rolling of the wheels 61R_y and 61L_y.
[0039] In Figure 6, the position of the reference part Ps_x corresponds to the position of the center of gravity of the moving body 1, assuming that the occupant 100, seated on the upper part 7 of the main body, remains motionless in a predetermined neutral position relative to the upper part 7. When the occupant 100 remains motionless in a neutral position relative to the upper part 7 of the main body, the position of the point mass Ga_x coincides with the position of the reference part Ps_x. The same applies to the positional relationship between the reference part Ps_y and the point mass Ga_y when viewed from the X-axis direction.
[0040] As the crew member 100, seated on the upper part 7 of the main body, moves relative to the upper part 7, the position of the overall center of gravity in the X-axis and Y-axis directions shifts horizontally from the positions of the reference parts Ps_x and Ps_y, respectively. Therefore, in Figures 6 and 7, the positions of the point masses Ga_x and Ga_y are shown shifted from the positions of the reference parts Ps_x and Ps_y, respectively.
[0041] The behavior of the entire center of gravity of moving body 1, represented by the inverted pendulum model described above, is expressed by equations (1A), (1B), (2A), and (2B). Equations (1A) and (1B) represent the behavior as viewed from the Y-axis direction, and equations (2A) and (2B) represent the behavior as viewed from the X-axis direction.
[0042] Vb_x = Vw_x + h_x · ωb_x ... (1A) dVb_x / dt=(g / h_x)·(θb_x·(h_x-r_x)+Ofst_x)+ωz·Vb_y ...(1B) Vb_y = Vw_y + h_y · ωb_y ...(2A) dVb_y / dt=(g / h_y)·(θb_y·h_y+Ofst_y)-ωz·Vb_x ...(2B)
[0043] Here, Vb_x is the translational velocity in the X-axis direction of the entire center of gravity of the moving body 1, θb_x is the inclination angle of the upper part of the main body 7 in the direction of the Y axis (pitch direction), Vw_x is the translational velocity of the wheel 61_x in the X-axis direction, ωb_x is the angular velocity representing the rate of change of θb_x over time (=dθb_x / dt), Ofst_x is the amount of displacement in the X-axis direction of the position of the entire center of gravity of the moving body 1 in the X-axis direction (position of the point mass Ga_x in the X-axis direction) from the position of the reference part Ps_x, Vb_ y is the translational velocity in the Y-axis direction of the entire center of gravity of the moving body 1, Vw_y is the translational velocity in the Y-axis direction of the wheels 61L_y and 61R_y, θb_y is the inclination angle of the upper part of the main body 7 around the X-axis (roll direction), ωb_y is the angular velocity representing the rate of change of θb_y over time (=dθb_y / dt), and Ofst_y is the amount of deviation in the Y-axis direction of the position of the entire center of gravity of the moving body 1 (position of the point mass Ga_y in the Y-axis direction) from the position of the reference part Ps_y. Also, ωz is the rotational velocity of the moving body 1 (angular velocity in the yaw direction), and g is the gravitational acceleration constant.
[0044] In equations (1A), (1B), (2A), and (2B), the positive directions of θb_x and ωb_x are the directions in which the entire center of gravity of the moving body 1 tilts in the positive direction of the X axis (forward), and the positive directions of θb_y and ωb_y are the directions in which the entire center of gravity of the moving body 1 tilts in the positive direction of the Y axis (leftward). Also, the positive direction of ωz is the counterclockwise direction when the moving body 1 is viewed from above.
[0045] In this embodiment, the processing algorithm of the inverted pendulum control unit 51 is constructed based on an inverted pendulum model that takes into account the amount of deviation of the entire center of gravity of the moving body 1 from the reference parts Ps_x and Ps_y (hereinafter referred to as the center of gravity deviation) and the centrifugal force. In the following description, with respect to the reference symbols of state quantities such as velocity and acceleration, the reference symbols with the subscript "xy" added mean a pair of components in the X-axis direction and components in the Y-axis direction.
[0046] The inverted pendulum control unit 51 performs inverted pendulum control of the omnidirectional wheels 3 while sequentially executing the processing of the target translational speed determination unit 56, the target turning speed determination unit 57, and the individual target translational speed determination unit 58 at predetermined calculation processing cycles.
[0047] As shown in Figure 8, the target translational speed determination unit 56 includes a center of gravity target speed determination unit 71 that determines the target center of gravity target speed, which is the target value of the translational speed of the entire center of gravity of the moving body 1; a center of gravity speed calculation unit 72 that estimates the center of gravity speed, which is the actual translational speed of the entire center of gravity of the moving body 1; a posture control calculation unit 73 that determines the overall target translational speed of the omnidirectional wheels 3 so as to stabilize the posture of the upper part of the main body 7 while making the actual center of gravity speed follow the center of gravity target speed; a center of gravity displacement estimation unit 74 that estimates the amount of center of gravity displacement of the entire center of gravity of the moving body 1, which will be described later; and a center of gravity displacement influence amount calculation unit 75 that calculates the amount of center of gravity displacement influence caused by the amount of center of gravity displacement, which will be described later.
[0048] The target translational velocity determination unit 56 first executes the center of gravity velocity calculation 72 in each calculation processing cycle. The center of gravity velocity calculation 72 calculates a first center of gravity velocity estimate Vb_estm_xy, which is an estimated value of the actual center of gravity velocity of the moving body 1, based on the kinematic relational equations expressed by equations (1A) and (2A). Specifically, as shown in Figure 8, the first center of gravity velocity estimate Vb_estm_xy is calculated using equations (3A) and (3B) from the actual translational velocity Vw_act_xy of the omnidirectional wheels 3, the actual rate of change of the inclination angle θb_xy of the upper part of the main body 7 (inclination angular velocity) ωb_act_xy, and the height of the overall center of gravity h_xy (default setting value). Vb_estm_x=Vw_act_x+h_x·ωb_act_x ...(3A) Vb_estm_y=Vw_act_y+h_y·ωb_act_y ...(3B)
[0049] In equations (3A) and (3B), Vw_act_x and Vw_act_y are the overall target translational speed Vw_cmd_xy (previous value) of the omnidirectional wheels 3 determined by the attitude control calculation unit 73 in the previous calculation processing cycle. In other embodiments, for example, the rotational speed of the output shafts of the electric motors 15LL, 15LR, 15RL, and 15RR may be detected, and the latest values of Vw_act_x and Vw_act_y estimated from these detected values may be used.
[0050] In equations (3A) and (3B), ωb_act_x and ωb_act_y are the latest values of the time rate of change of the measured tilt angles θb_x and θb_y of the upper part 7 of the main body measured by the tilt sensor 32, or the latest values of the measured ωb_act_x and ωb_act_y.
[0051] The target translational velocity determination unit 56 then performs processing by the center of gravity displacement estimation unit 74 to determine the estimated center of gravity displacement value Ofst_estm_xy, which is an estimated value of the center of gravity displacement amount Ofst_xy. The processing by the center of gravity displacement estimation unit 74 is performed, for example, as shown in the block diagram of Figure 9. In Figure 9, the reference sign of the state quantity related to the determination process of the center of gravity displacement amount estimate Ofst_estm_x in the X-axis direction of the center of gravity displacement amount estimate Ofst_estm_xy is shown without parentheses, and the reference sign of the state quantity related to the determination process of the center of gravity displacement amount estimate Ofst_estm_y in the Y-axis direction is shown with parentheses. Furthermore, regarding the arithmetic symbols "+" and "-", arithmetic symbols common to both the determination process of the centroid displacement estimate in the X-axis direction (Ofst_estm_x) and the determination process of the centroid displacement estimate in the Y-axis direction (Ofst_estm_y) are represented by symbols without parentheses, while arithmetic symbols that apply only to the determination process of the centroid displacement estimate in the Y-axis direction (Ofst_estm_y) are represented by symbols with parentheses.
[0052] As shown in Figure 9, the center of gravity displacement estimation unit 74 calculates the estimated value DVb_estm_xy of the translational acceleration of the entire center of gravity of the moving body 1 by performing the calculation on the right side of equations (1B) and (2B) in the calculation unit 74A, using the measured value (latest value) of the tilt angle θb_act_xy measured by the tilt sensor 32, the measured value (latest value) of the yaw rate ωz_act measured by the yaw rate sensor 33, the first estimated center of gravity velocity Vb_estm_xy (latest value) calculated by the center of gravity velocity calculation unit 72, and the estimated amount of center of gravity displacement Ofst_estm_xy (previous value) determined in the previous calculation processing cycle.
[0053] The calculation unit 74B of the center of gravity displacement estimation unit 74 calculates the second center of gravity velocity estimate Vb_estm2_xy, which is the second estimate of the velocity of the entire center of gravity of the moving body 1, by performing a process of integrating each component (X-axis component and Y-axis component) of the estimated translational acceleration DVb_estm_xy.
[0054] Next, the calculation unit 74C of the center of gravity displacement estimation unit 74 performs a process to calculate the deviation of each component between the second center of gravity velocity estimate Vb_estm2_xy (latest value) and the first center of gravity velocity estimate Vb_estm_xy (latest value). Furthermore, the calculation unit 74D of the center of gravity displacement estimation unit 74 determines the latest value of the center of gravity displacement amount estimate Ofst_estm_xy by performing a process to multiply each component of the deviation by a predetermined gain (-Kp).
[0055] The target translational velocity determination unit 56 then calculates the center of gravity displacement effect amount Vofs_xy by executing the processing of the center of gravity displacement effect amount calculation unit 75 shown in Figure 8. The center of gravity displacement effect amount Vofs_xy represents the actual velocity deviation of the center of gravity of the entire mass from the target velocity when feedback control is performed in the attitude control calculation unit 73, which will be described later, without considering that the position of the center of gravity of the entire mass of the moving body 1 deviates from the position of the reference unit Ps_xy in the inverted pendulum model.
[0056] The center of gravity displacement effect calculation unit 75 calculates the center of gravity displacement effect Vofs_xy in the X-axis direction by multiplying the newly determined estimated center of gravity displacement in the X-axis direction, Ofst_estm_x, by the value (Kth_x / (h_x-r_x)) / Kvb_x. The center of gravity displacement effect calculation unit 75 also calculates the center of gravity displacement effect Vofs_y in the Y-axis direction by multiplying the newly determined estimated center of gravity displacement in the Y-axis direction, Ofst_estm_y, by the value (Kth_y / h_y) / Kvb_y. Kth_x, Kth_y, Kvb_x, and Kvb_y are predetermined gain values used in the processing of the attitude control calculation unit 73, which will be described later.
[0057] The target translational speed determination unit 56 then determines the target center of gravity speed Vb_cmd_xy for each calculation cycle by executing the processing of the center of gravity target speed determination unit 71 shown in Figure 8. First, the center of gravity target speed determination unit 71 determines the basic value V1_xy of the target center of gravity speed Vb_cmd_xy from the speed command Vs_xy (latest value) given from the operation terminal 40 in response to the operation of the operation terminal 40 and the center of gravity displacement influence amount Vofs_xy (latest value) determined by the center of gravity displacement influence amount calculation unit 75. The basic value V1_xy corresponds to the required value of the center of gravity speed in accordance with the operation of the operation terminal 40 and the estimated center of gravity displacement amount Ofst_estm_xy associated with the movement of the occupant 100. Hereafter, the above basic value V1_xy will be referred to as the basic required value of the center of gravity speed V1_xy.
[0058] The calculation unit 71A of the center of gravity target velocity determination unit 71 performs dead zone processing and limit processing on the center of gravity displacement influence amount Vofs_xy to determine the target center of gravity velocity addition amount Vb_cmd_by_ofs_xy as a component of the basic center of gravity velocity requirement value V1_xy corresponding to the center of gravity displacement estimate value Ofst_estm_xy.
[0059] The center of gravity target velocity determination unit 71 sets the center of gravity velocity addition amount Vb_cmd_by_ofs_x in the X-axis direction to zero if the magnitude of the center of gravity displacement influence amount Vofs_x in the X-axis direction is within a dead zone, which is a predetermined range near zero.
[0060] The center of gravity target velocity determination unit 71 determines the center of gravity velocity addition amount Vb_cmd_by_ofs_x in the X-axis direction if the magnitude of the center of gravity displacement influence amount Vofs_x in the X-axis direction is a value that deviates from the dead zone, and determines the center of gravity velocity addition amount Vb_cmd_by_ofs_x in the X-axis direction to be the same polarity as Vofs_x, and such that its magnitude (absolute value) increases as the magnitude of the deviation of Vofs_x from the dead zone increases. However, the value of the center of gravity velocity addition amount Vb_cmd_by_ofs_x is limited to a range between a predetermined upper limit (>0) and lower limit (≦0). The determination process for the center of gravity velocity addition amount Vb_cmd_by_ofs_y in the Y-axis direction is the same as above.
[0061] The calculation unit 71B of the center of gravity target velocity determination unit 71 calculates the basic center of gravity velocity requirement value V1_xy by adding each component of the target center of gravity velocity addition amount Vb_cmd_by_ofs_xy to each component of the velocity command Vs_xy given from the operation terminal 40. That is, the basic center of gravity velocity requirement value V1_xy (a pair of V1_x and V1_y) is determined by the calculation process V1_x = Vs_x + Vb_cmd_by_ofs_x and V1_y = Vs_y + Vb_cmd_by_ofs_y.
[0062] The calculation unit 71C of the center of gravity target velocity determination unit 71 performs limit processing to determine the center of gravity target velocity Vb_cmd_xy (a pair of Vb_cmd_x and Vb_cmd_y) by limiting the combination of the basic center of gravity velocity requirements V1_x and V1_y in order to limit the rotational speed of each output shaft of the electric motor 15 for driving each omnidirectional wheel 3 to a predetermined allowable range. If the pair of basic center of gravity velocity requirements V1_x and V1_y obtained by the calculation unit 71B is within a predetermined region on a coordinate system where the value of V1_x is on the vertical axis and the value of V1_y is on the horizontal axis, then the pair of basic center of gravity velocity requirements V1_x and V1_y is determined as the center of gravity target velocity Vb_cmd_xy. On the other hand, if the set of basic required values V1_x and V1_y for the center of gravity velocity obtained by the calculation unit 71B deviates from a predetermined region on the coordinate system, the set is restricted to a set on the boundary of the predetermined region and determined as the target center of gravity velocity Vb_cmd_xy.
[0063] The target center of gravity velocity Vb_cmd_xy is determined according to the velocity command Vs_xy corresponding to the operation of the control terminal 40 and the center of gravity displacement effect Vofs_xy (or center of gravity displacement amount Ofst_xy). Therefore, the operation of the control terminal 40 and the change in the center of gravity displacement amount Ofst_xy due to the movement (weight shift) of the upper body, etc., of the occupant 100 each function as a control operation related to the movement of the mobile body 1. The velocity command Vs_xy from the operation of the control terminal 40 may be omitted, and the target center of gravity velocity addition amount Vb_cmd_by_ofs_xy may be directly determined as the basic center of gravity velocity requirement value V1_xy. Alternatively, the velocity command Vs_xy from the operation of the control terminal 40 may be directly determined as the basic center of gravity velocity requirement value V1_xy.
[0064] The attitude control calculation unit 73 determines the overall target translational speed Vw_cmd_xy of the omnidirectional wheels 3 in order to stabilize the attitude of the upper part 7 of the main body, by the process shown in the block diagram of Figure 8.
[0065] The calculation unit 73A of the attitude control calculation unit 73 determines the target velocity Vb_cmpn_cmd_xy after compensating for the center of gravity displacement by subtracting each component of the center of gravity displacement effect amount Vofs_xy from each component of the target velocity Vb_cmd_xy.
[0066] Next, the calculation units 73B, 73C, 73D, 73E, 73F, and 73G of the attitude control calculation unit 73 calculate the target translational acceleration DVw_cmd_x in the X-axis direction and the target translational acceleration DVw_cmd_y in the Y-axis direction, which are the target values of the overall translational acceleration DVw_cmd_xy of the omnidirectional wheels 3, based on the following equations (4A) and (4B). DVw_cmd_x=Kvb_x·(Vb_cmpn_cmd_x-Vb_estm_x)-Kth_x·θb_act_x-Kw_x·ωb_act_x ...(4A) DVw_cmd_y=Kvb_y·(Vb_cmpn_cmd_y-Vb_estm_y)-Kth_y·θb_act_y-Kw_y·ωb_act_y ...(4B) Here, Kvb_xy, Kth_xy, and Kw_xy are predetermined gain values. The first term on the right-hand side of equation (4A) is a feedback control variable component corresponding to the deviation between the target velocity Vb_cmpn_cmd_x (latest value) in the X-axis direction after compensating for the center of gravity displacement of the entire center of gravity of the moving body 1 and the estimated center of gravity velocity Vb_estm_x (latest value) in the X-axis direction calculated by the center of gravity velocity calculation 72. The second term is a feedback control variable component corresponding to the measured value (latest value) of the actual inclination angle θb_act_x in the pitch direction (direction around the Y axis) of the upper part of the main body 7. The third term is a feedback control variable component corresponding to the measured value (latest value) of the actual inclination angular velocity ωb_act_x in the pitch direction of the upper part of the main body 7. The target translational acceleration DVw1_cmd_x in the X-axis direction is calculated as a composite control variable of these feedback control variable components.
[0067] Similarly, the first term on the right-hand side of equation (4B) is a feedback control variable component corresponding to the deviation between the target velocity Vb_cmpn_cmd_y (latest value) of the entire center of gravity of the moving body 1 after compensating for the center of gravity displacement in the Y-axis direction and the estimated center of gravity velocity Vb_estm_y (latest value) calculated by the center of gravity velocity calculation 72. The second term is a feedback control variable component corresponding to the measured value (latest value) of the actual inclination angle θb_act_y of the upper part of the main body 7 in the roll direction (direction around the X axis). The third term is a feedback control variable component corresponding to the measured value (latest value) of the actual inclination angular velocity ωb_act_y of the upper part of the main body 7 in the roll direction. The target translational acceleration DVw1_cmd_y in the Y-axis direction is calculated as a composite control variable of these feedback control variable components.
[0068] Equations (4A) and (4B) can be rewritten as equations (4A)' and (4B)', respectively. DVw_cmd_x=Kvb_x·(Vb_cmd_x-Vb_estm_x)-Kth_x·(Ofst_estm_x / (h_x-r_x)+θb_act_x)-Kw_x·ωb_act_x ...(4A)' DVw_cmd_y=Kvb_y·(Vb_cmd_y-Vb_estm_y)-Kth_y·(Ofst_estm_y / h_y+θb_act_y)-Kw_y·ωb_act_y ...(4B)'
[0069] The second term on the right-hand side of equation (4A)' represents a feedback control component that ensures the actual position of the center of gravity of the moving body 1 in the X-axis direction is directly above the contact point of the omnidirectional wheels 3, when the moving body 1 is viewed from the Y-axis direction.
[0070] Furthermore, the second term on the right-hand side of equation (4B)' represents a feedback control component that ensures the actual position of the center of gravity of the moving body 1 in the Y-axis direction is directly above the tilt axis 19 of the upper part 7 of the main body, when the moving body 1 is viewed from the X-axis direction.
[0071] The calculation unit 73H of the attitude control calculation unit 73 determines the overall target translational velocity Vw_cmd_xy (latest value) of the omnidirectional wheels 3 by integrating each component of the target translational acceleration DVw_cmd_xy.
[0072] The target translational speed determination unit 56 sequentially determines the overall target translational speed Vw_cmd_xy of the omnidirectional wheels 3 so as to ensure that the actual center of gravity velocity of the mobile body 1 follows the target center of gravity velocity Vb_cmd_xy while maintaining a stable posture of the upper part 7 of the mobile body 1.
[0073] As shown in Figure 10, the target turning speed determination unit 57 executes the process of the control request turning speed determination unit 81 in each calculation processing cycle, which determines the control request turning speed ωz_req, which is the requested value for the turning speed of the mobile body 1 based on the control operation of the occupant 100 of the mobile body 1. Regarding the process of the control request turning speed determination unit 81, in this embodiment, the control operation for performing the turning operation of the mobile body 1 is the action of the occupant 100 moving their upper body, etc., so as to move the entire center of gravity of the mobile body 1 in the Y-axis direction.
[0074] For example, when attempting to rotate the mobile body 1 to the right (clockwise when viewed from above), the occupant 100 shifts the center of gravity of the mobile body 1 to the right by performing a weight-shifting action such as tilting their upper body to the right. Similarly, when attempting to rotate the mobile body 1 to the left (counterclockwise when viewed from above), the occupant 100 shifts the center of gravity of the mobile body 1 to the left by performing a weight-shifting action such as tilting their upper body to the left.
[0075] In this embodiment, in the processing of the steering request turning speed determination unit 81, the estimated center of gravity velocity Vb_estm_y in the Y-axis direction calculated in the center of gravity velocity calculation 72 is used as an index value representing the steering operation required to turn the moving body 1. The steering request turning speed ωz_req is determined according to the estimated center of gravity velocity Vbestm_y (latest value) in the Y-axis direction of the steering request turning speed determination unit 81.
[0076] The calculation unit 81A of the steering request turning speed determination unit 81 performs dead zone processing on the input center of gravity velocity estimate value Vb_estm_y in the Y-axis direction. In the dead zone processing, if the center of gravity velocity estimate value Vbestm_y in the Y-axis direction is within a predetermined dead zone near zero, the calculation unit 81A sets the output value to zero.
[0077] If the estimated centroid velocity Vb_estm_y in the Y-axis direction deviates from the dead zone, the calculation unit 81A determines the output value of the calculation unit 81A to be of the same polarity as Vb_estm_y, and such that its magnitude (absolute value) increases with increasing magnitude of the deviation of Vb_estm_y from the dead zone. For example, if Vb_estm_y is greater than the upper limit of the dead zone (>0), the output value of the calculation unit 81A is determined to be a value proportional to (Vb_estm_y - upper limit of the dead zone), and if Vb_estm_y is less than the lower limit of the dead zone (<0), the output value of the calculation unit 81A is determined to be a value proportional to (Vb_estm_y - lower limit of the dead zone).
[0078] The calculation unit 81B of the steering request turning speed determination unit 81 performs low-pass filtering on the output value of the calculation unit 81A. The calculation unit 81B may use a low-pass filter represented by a transfer function of, for example, 1 / (Ta·s+1) (Ta: time constant).
[0079] The calculation unit 81C of the steering request turning speed determination unit 81 determines the steering request turning speed ωz_req by dividing the output value of the calculation unit 81B by a predetermined turning radius L. This determines the steering request turning speed ωz_req based on the steering operations of the crew member 100.
[0080] The turning speed may be set by operating the control terminal 40. In this case, the turning speed set on the control terminal 40 may be set as the requested turning speed ωz_req. Alternatively, the turning speed obtained by combining the turning speed set on the control terminal 40 and the turning speed set according to the estimated center of gravity velocity Vb_estm_y in the Y-axis direction may be set as the requested turning speed ωz_req.
[0081] The calculation unit 82 of the target turning speed determination unit 57 determines the target turning speed ωz_cmd by performing a limit process that restricts the requested turning speed ωz_req to a predetermined allowable range. In the limit process, if the requested turning speed ωz_req is within the predetermined allowable range, that value is determined as the target turning speed ωz_cmd. If the requested turning speed ωz_req is greater than the upper limit or less than the lower limit of the predetermined allowable range, the upper limit and lower limit of the allowable range are determined as the target turning speed ωz_cmd, respectively.
[0082] After the inverted pendulum control unit 51 has executed the processing of the target translational speed determination unit 56 and the target turning speed determination unit 57, the individual target translational speed determination unit 58 executes the process of determining the target translational speeds VwL_cmd_xy and VwR_cmd_xy for each of the omnidirectional wheels 3.
[0083] The individual target translational speed determination unit 58 determines the respective target translational speeds VwL_cmd_xy and VwR_cmd_xy for each of the omnidirectional wheels 3 by processing as shown in the block diagram of Figure 11, based on the overall target translational speed Vw_cmd_xy of the omnidirectional wheels 3 and the target turning speed ωz_cmd of the moving body 1.
[0084] The individual target translational speed determination unit 58 determines the target translational speed VwL_cmd_xy of the left omnidirectional wheel 3L using equations (5A) and (5B), and determines the target translational speed VwR_cmd_xy of the right omnidirectional wheel 3R using equations (5C) and (5D).
[0085] VwL_cmd_x=Vw_cmd_x-ωz_cmd·(Tread / 2) ...(5A) VwL_cmd_y=Vw_cmd_y ...(5B) VwR_cmd_x=Vw_cmd_x+ωz_cmd·(Tread / 2) ...(5C) VwR_cmd_y=Vw_cmd_y ...(5D)
[0086] In equations (5A) and (5C) above, Tread is the distance between the omnidirectional wheels 3 in the Y-axis direction. By determining the target translational speeds VwL_cmd_xy and VwR_cmd_xy using equations (5A) to (5D), the yaw angular velocity resulting from the difference between the target translational speeds VwL_cmd_x and VwR_cmd_x in the X-axis direction of each omnidirectional wheel 3 (=VwR_cmd_x - VwL_cmd_x) is determined such that it matches the target turning speed ωz_cmd, and the average of the target translational speeds VwL_cmd_x and VwR_cmd_x in the X-axis direction of each omnidirectional wheel 3 matches the overall target translational speed Vw_cmd_x of the omnidirectional wheels 3 in the X-axis direction.
[0087] Furthermore, the target translational velocities VwL_cmd_y and VwR_cmd_y in the Y-axis direction for each of the omnidirectional wheels 3 are determined to match the overall target translational velocities Vw_cmd_y in the Y-axis direction for all of the omnidirectional wheels 3.
[0088] The inverted pendulum control unit 51 controls the operation of the electric motors 15LL and 15LR of the left omnidirectional wheel 3L according to the target translational speed VwL_cmd_xy of the target translational speeds VwL_cmd_xy and VwR_cmd_xy, and controls the operation of the electric motors 15RL and 15RR of the right omnidirectional wheel 3R according to the target translational speed VwR_cmd_xy.
[0089] The inverted pendulum control unit 51 determines the target rotational speed of the output shafts of the electric motors 15LL and 15LR corresponding to the target translational speed VwL_cmd_xy, based on correlation data (map, calculation formula, etc.) that defines the relationship between the translational speed of the left omnidirectional wheel 3L in the X-axis and Y-axis directions and the rotational speed of the respective output shafts of the electric motors 15LL and 15LR.
[0090] By performing known speed control on each of the electric motors 15LL and 15LR according to the target rotational speed, the rotational speed of the output shafts of each electric motor 15LL and 15LR is controlled to the target rotational speed. As a result, the movement control of the left omnidirectional wheel 3L is performed to achieve the target translational speed VwL_cmd_xy. The movement control of the right omnidirectional wheel 3R is performed in the same manner as described above.
[0091] As described above, under normal conditions, the control device 30 calculates a target value for the mobile body 1 based on inverted pendulum control and controls the pair of omnidirectional wheels 3 based on the target value. The following describes the processes that the control device 30 performs when an abnormality occurs in the mobile body 1.
[0092] The abnormality monitoring unit 53 of the control device 30 monitors for abnormalities in the mobile body 1. An abnormality in the mobile body 1 refers to a state in which inverted pendulum control can no longer be continued. A state in which inverted pendulum control can no longer be continued includes, for example, a state in which the amount of deviation of the overall center of gravity, including the mobile body 1 and the occupant 100, from the reference points Ps_x and Ps_y (center of gravity deviation) exceeds a predetermined value, making it impossible to maintain the posture of the mobile body 1. The abnormality monitoring unit 53 may determine that an abnormality has occurred if the estimated center of gravity deviation value Ofst_estm_x is greater than or equal to a predetermined first deviation judgment value, or if the estimated center of gravity deviation value Ofst_estm_y is greater than or equal to a predetermined second deviation judgment value.
[0093] Conditions in which inverted pendulum control cannot be continued may include, for example, a condition in which the value of the target translational speed is greater than or equal to a predetermined speed upper limit. The speed upper limit should be set based on the output value that each electric motor 15 can output. If the value of the target translational speed is greater than or equal to the speed upper limit, the translational speed cannot be brought closer to the target translational speed, and therefore inverted pendulum control cannot be continued. The abnormality monitoring unit 53 should determine that an abnormality has occurred if the target translational speed Vw_cmd_x is greater than or equal to a predetermined first speed upper limit, or if the target translational speed Vw_cmd_y is greater than or equal to a predetermined second speed upper limit.
[0094] A state in which inverted pendulum control cannot be continued may include abnormal conditions of sensors such as the tilt sensor 32, yaw rate sensor 33, and operating status sensors 31 of each electric motor 15, which are provided on the moving body 1. The abnormality monitoring unit 53 monitors whether the values obtained from the tilt sensor 32, yaw rate sensor 33, and operating status sensors 31 of each electric motor 15 fall within a predetermined abnormal range, and if the values from each sensor fall within the abnormal range, it may determine that an abnormality has occurred.
[0095] If the abnormality monitoring unit 53 determines that an abnormality has occurred, it outputs an abnormality detection signal to the lifting control unit 52 and the abnormality control unit of the inverted pendulum control unit 51.
[0096] When the upper part 7 of the main body is in a high position and an abnormality detection signal is received, the lifting control unit 52 performs emergency descent control to move the upper part 7 of the main body from a high position to a low position. In emergency descent control, the lifting control unit 52 may stop the power supply to the electric motor 15 of the lifting device 8. As a result, the upper part 7 of the main body descends due to the weight of the upper part 7 and each component attached to the upper part 7, as well as the weight of the occupant 100. Alternatively, in emergency descent control, the lifting control unit 52 may drive the electric motor 15 of the lifting device 8 to move the upper part 7 of the main body to a low position.
[0097] Under emergency descent control, the upper part of the main body 7 moves from a high position to a low position, and each leg 4 touches the ground. The time required for the upper part of the main body 7 to reach the low position from the high position should be, for example, 0.2 to 1.0 seconds.
[0098] When the control device 30 detects an abnormality, it stops calculating the target values, namely the target translational speed Vw_cmd_xy and the target turning speed ωz_cmd, and controls the pair of omnidirectional wheels 3 for a predetermined maintenance period from the time the abnormality is detected, based on the latest value of the target value calculated immediately before the abnormality was detected, or a value obtained by gradually decreasing the latest value.
[0099] The inverted pendulum control unit 51 of the control device 30 stops inverted pendulum control when it receives an abnormality detection signal. Specifically, the target translational speed determination unit 56 stops determining the target translational speed Vw_cmd_xy, and the target rotational speed determination unit 57 stops determining the target rotational speed ωz_cmd. Then, the abnormality target speed determination unit 59 determines the target translational speed Vw_cmd_xy and the target rotational speed ωz_cmd.
[0100] The abnormal target speed determination unit 59 obtains the latest values of the target translation speed Vw_cmd_xy and target turning speed ωz_cmd calculated immediately before the abnormality is detected, that is, immediately before the target translation speed determination unit 56 and target turning speed determination unit 57 stop determining the target translation speed Vw_cmd_xy and target turning speed ωz_cmd. These latest values of the target translation speed Vw_cmd_xy and target turning speed ωz_cmd are called the target translation speed Vw_cmd_xy and target turning speed ωz_cmd at the time of the abnormality. Then, for the duration of the maintenance period, the abnormal target speed determination unit 59 determines the target translation speed Vw_cmd_xy and target turning speed ωz_cmd based on these latest values. The target translational speed Vw_cmd_xy and target turning speed ωz_cmd determined by the abnormal target speed determination unit 59 are referred to as the target translational speed Vw_cmd_xy and target turning speed ωz_cmd during the maintenance period.
[0101] The abnormal target speed determination unit 59 may set the target translational speed Vw_cmd_xy and target turning speed ωz_cmd at the time of the abnormality as the target translational speed Vw_cmd_xy and target turning speed ωz_cmd for the maintenance period, and maintain them for the duration of the maintenance period. Alternatively, the abnormal target speed determination unit 59 may set the target translational speed Vw_cmd_xy and target turning speed ωz_cmd at the time of the abnormality as the initial values for the target translational speed Vw_cmd_xy and target turning speed ωz_cmd for the maintenance period, and gradually decrease the absolute value of the initial values during the maintenance period. In this case, it is preferable that the sign of the values of the target translational speed Vw_cmd_xy and target turning speed ωz_cmd be maintained during the maintenance period. The mode of gradual decrease may be linear or stepwise. At the end of the maintenance period, the absolute values of the target translational velocity Vw_cmd_xy and the target turning velocity ωz_cmd may be 0 or greater than 0.
[0102] Figure 12 shows an example of the target translational speed Vw_cmd_xy and target turning speed ωz_cmd for the maintenance period determined by the abnormal target speed determination unit 59. The abnormal target speed determination unit 59 sets the target left-right translational speed Vw_cmd_y at the time of the abnormality as the initial value of the target left-right translational speed Vw_cmd_y for the maintenance period. Thereafter, the abnormal target speed determination unit 59 maintains the initial value of the target left-right translational speed Vw_cmd_y for the maintenance period for the duration of the maintenance period.
[0103] The abnormal target speed determination unit 59 sets the target forward / backward translation speed Vw_cmd_x at the time of the abnormality as the initial value of the target forward / backward translation speed Vw_cmd_x for the maintenance period. Subsequently, the abnormal target speed determination unit 59 gradually decreases the initial value of the target forward / backward translation speed Vw_cmd_x for the maintenance period at a predetermined rate during the maintenance period. The target forward / backward translation speed Vw_cmd_x reaches 0 before the end of the maintenance period (T2). After the target forward / backward translation speed Vw_cmd_x reaches 0, the abnormal target speed determination unit 59 maintains the target forward / backward translation speed Vw_cmd_x at 0.
[0104] The abnormal target speed determination unit 59 sets the target turning speed ωz_cmd at the time of the abnormality as the initial value of the target turning speed ωz_cmd for the maintenance period. Subsequently, the abnormal target speed determination unit 59 gradually decreases the initial value of the target turning speed ωz_cmd for the maintenance period at a predetermined rate during the maintenance period. The absolute value of the target turning speed ωz_cmd is set to a value greater than 0 at the end of the maintenance period (T2).
[0105] The abnormal target speed determination unit 59 may gradually decrease the target translational speed Vw_cmd_xy and target turning speed ωz_cmd at the end of the maintenance period after the maintenance period ends (T2). In another embodiment, the abnormal target speed determination unit 59 may set the target translational speed Vw_cmd_xy and target turning speed ωz_cmd to 0 after the maintenance period ends (T2).
[0106] The individual target translational speed determination unit 58 determines the target translational speeds VwL_cmd_xy and VwR_cmd_xy for each of the omnidirectional wheels 3 based on the target translational speed Vw_cmd_xy and target turning speed ωz_cmd during the maintenance period. The inverted pendulum control unit 51 then controls the operation of the electric motors 15LL and 15LR of the left omnidirectional wheel 3L according to the target translational speed VwL_cmd_xy, and controls the operation of the electric motors 15RL and 15RR of the right omnidirectional wheel 3R according to the target translational speed VwL_cmd_xy.
[0107] According to the above embodiment, the tipping moment that occurs when the mobile body 1 can no longer maintain inverted pendulum control can be reduced. If the speed of the omnidirectional wheels 3 is set to 0, the speed of the lower part of the mobile body 1 will decrease, while the upper part of the mobile body 1 and the occupant 100 will continue to move due to inertia, thus increasing the tipping moment. As a result, the time until the mobile body 1 can no longer stand on its own is shortened. By maintaining a certain speed of the mobile body 1 when an abnormality occurs, the tipping moment is reduced, and the time until the mobile body 1 can no longer stand on its own is extended. This ensures that there is enough time for each leg 4 of the mobile body 1 to touch the ground. In addition, the tilt of the main body 2 when each leg 4 touches the ground can be suppressed.
[0108] The embodiments are not limited to the above configuration and can be broadly modified. For example, the control device 30 may calculate the target translational acceleration and target turning acceleration instead of the target translational speed Vw_cmd_xy and target turning speed ωz_cmd, and control the electric motor 15 based on the target translational acceleration and target turning acceleration. In this case, when an abnormality occurs, the control device 30 may control the electric motor 15 based on the target translational acceleration and target turning acceleration at the time of the abnormality, instead of the target translational speed Vw_cmd_xy and target turning speed ωz_cmd at the time of the abnormality.
[0109] In other embodiments, multiple legs 4 may be provided on the lower part 6 of the main body. In this case, a lifting device other than the lifting device 8 may be provided between the lower part 6 of the main body and the multiple legs 4. In other embodiments, the lifting device 8 and each of the legs 4 may be omitted, and the upper part 7 of the main body may be coupled to the lower part 6 of the main body in a way that prevents it from moving up or down.
[0110] In other embodiments, there may be only one omnidirectional wheel 3. In this case, the omnidirectional wheel 3 may be positioned in the center of the lower part of the main body 6 in the left-right direction. Alternatively, the omnidirectional wheel 3 may be positioned below the lifting device 8.
[0111] The above embodiments may also be described as follows:
[0112] One embodiment comprises a mobile body 1, a main body 2, omnidirectional wheels 3 provided on the main body 2, and a control device 30 that controls the omnidirectional wheels 3. The control device 30 monitors for abnormalities in the mobile body 1, and when normal, calculates target values including target forward / backward translational speed, target left / right translational speed, and target turning speed of the mobile body 1 based on inverted pendulum control, and controls the omnidirectional wheels 3 based on the target values. When an abnormality is detected, the control device 30 stops calculating the target values and controls the omnidirectional wheels 3 for a predetermined period from the time the abnormality is detected, based on the latest value of the target value calculated immediately before the abnormality was detected, or a value obtained by gradually decreasing the latest value.
[0113] According to this embodiment, the tipping moment that occurs when the mobile body 1 is unable to maintain inverted pendulum control can be reduced. If the speed of the all-directional wheels 3 is set to 0, the speed of the lower part of the mobile body 1 will decrease, while the upper part of the mobile body 1 and the occupant 100 will continue to move due to inertia, thus increasing the tipping moment. As a result, the time until the mobile body 1 becomes unable to stand on its own is shortened. By maintaining a certain speed at the time of the malfunction, the tipping moment is reduced, and the time until the mobile body 1 becomes unable to stand on its own is extended. This allows the occupant 100 to get off the mobile body 1 or to put their feet down. Furthermore, if the mobile body 1 is equipped with legs 4, time can be secured until the legs 4 touch down.
[0114] In the above embodiment, the control device 30 may control the omnidirectional wheels 3 for a predetermined period from the time the abnormality is detected, based on the latest value of the target left-right translational speed calculated immediately before the abnormality is detected, a value obtained by gradually decreasing the latest value of the target front-rear translational speed calculated immediately before the abnormality is detected, and a value obtained by gradually decreasing the latest value of the target turning speed calculated immediately before the abnormality is detected.
[0115] According to this embodiment, the overturning moment in the left-right direction can be reduced.
[0116] In the above embodiment, the main body 2 is provided with a plurality of legs 4 so as to be displaceable between a grounding position in contact with the floor surface and a retracted position located above the floor surface, and a lifting device 8 is provided to raise and lower the legs 4 between the grounding position and the retracted position. The control device 30 may control the lifting device 8 so that the legs 4 are in the retracted position when normal, and when an abnormality is detected, it may control the lifting device 8 so that the legs 4 move to the grounding position.
[0117] In this embodiment, if the mobile body 1 becomes unable to continue inverted pendulum control, the multiple legs 4 will make contact with the ground to prevent the mobile body 1 from tipping over.
[0118] Another embodiment is a control device 30 for a mobile body 1, wherein the mobile body 1 has a main body 2 and omnidirectional wheels 3 provided on the main body 2, and the control device 30 monitors for abnormalities in the mobile body 1, and when normal, calculates target values including target forward / backward translational speed, target left / right translational speed, and target turning speed of the mobile body 1 based on inverted pendulum control, and controls the omnidirectional wheels 3 based on the target values, and when an abnormality is detected, stops calculating the target values, and controls the omnidirectional wheels 3 for a predetermined period from the time the abnormality is detected based on the latest value of the target value calculated immediately before the abnormality was detected or a value obtained by gradually decreasing the latest value. [Explanation of Symbols]
[0119] 1: Mobile 2: Main unit 3: Omnidirectional wheels 4: Legs 6: Bottom of the main unit 7: Top of the main unit 8: Lifting device 11: Drive wheels 15: Electric motor 19:Tilt axis 21: Sheet 30: Control device 31: Operating status sensor 32: Tilt sensor 33: Yaw rate sensor 34: Position sensor 40: Operating terminal 100: Crew
Claims
1. It is a mobile object, The main unit and The main body is provided with omnidirectional wheels, It has a control device that controls the omnidirectional wheels, The control device is The abnormality of the aforementioned moving body is monitored, Under normal conditions, target values including target forward / backward translational speed, target left / right translational speed, and target turning speed of the moving body are calculated based on inverted pendulum control, and the omnidirectional wheels are controlled based on the target values. A mobile body that, upon detecting the aforementioned abnormality, stops calculating the target value and controls the omnidirectional wheels for a predetermined period from the time the abnormality is detected, based on the latest value of the target value calculated immediately before the abnormality was detected, or a value obtained by gradually decreasing the latest value.
2. The control device controls the omnidirectional wheels for a predetermined period from the time the abnormality is detected, based on the latest value of the target left-right translational speed calculated immediately before the abnormality is detected, a value obtained by gradually decreasing the latest value of the target front-rear translational speed calculated immediately before the abnormality is detected, and a value obtained by gradually decreasing the latest value of the target turning speed calculated immediately before the abnormality is detected, according to claim 1.
3. The main body is provided with a plurality of legs that are displaceable between a grounding position that is in contact with the floor surface and a retracted position that is located above the floor surface, The leg has a lifting device that raises and lowers it between the grounding position and the retracted position, The movable body according to claim 1 or 2, wherein the control device controls the lifting device so that the legs are in the retracted position when normal conditions are met, and controls the lifting device so that the legs move to the ground position when an abnormality is detected.
4. A control device for a mobile body, The mobile body has a main body and omnidirectional wheels provided on the main body. The control device is The abnormality of the aforementioned moving body is monitored, Under normal conditions, target values including target forward / backward translational speed, target left / right translational speed, and target turning speed of the moving body are calculated based on inverted pendulum control, and the omnidirectional wheels are controlled based on the target values. A control device that, upon detecting the aforementioned abnormality, stops the calculation of the target value and controls the omnidirectional wheels for a predetermined period from the time the abnormality is detected, based on the latest value of the target value calculated immediately before the abnormality was detected, or a value obtained by gradually decreasing the latest value.
Citation Information
Patent Citations
Mobile control device
JP7332536B2