Control device for a mobile body and method for controlling a mobile body
The control device for mobile bodies with active casters stabilizes movement by calculating a target rudder angle and applying a correction coefficient to manage turning acceleration, addressing disruptive oscillations and ensuring smooth operation.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-24
- Publication Date
- 2026-04-03
AI Technical Summary
Mobile bodies equipped with active casters experience disruptive oscillations due to rapid wheel reversals and out-of-sync timing of sudden reversal motions, leading to uncoordinated movement.
A control device that calculates a target rudder angle, estimates turning acceleration, and applies a correction coefficient to limit the turning acceleration within a preset upper limit, ensuring smooth operation by adjusting the speed command value.
The control device suppresses swinging and oscillations by managing the turning acceleration of active casters, maintaining coordinated motion and smooth movement.
Smart Images

Figure 2026057718000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a control device for a mobile body and a method for controlling a mobile body. [Background technology]
[0002] For example, Patent Document 1 discloses a mobile body equipped with multiple active casters, each comprising a wheel, a swivel section that supports the wheel so as to be rotatable, two motors, and a transmission mechanism that transmits the driving force of the motors to the wheel and the swivel section. Non-Patent Document 1 discloses a control method for a mobile robot equipped with active casters. [Prior art documents] [Patent Documents]
[0003] [Patent Document 1] Patent No. 3560403 [Non-patent literature]
[0004] [Non-Patent Document 1] Masayoshi Wada, "Modeling and Control of Omnidirectional Mobile Robot Using Active Casters," Journal of the Robotics Society of Japan, 2007, Vol. 25, No. 7, pp. 1100-1107. [Overview of the Initiative] [Problems that the invention aims to solve]
[0005] A mobile body equipped with active casters can initiate movement and turning in all directions on the travel surface from any position and orientation of the mobile body by rotating the wheels of the active casters and the steering axis. However, active casters have a structural feature that changes the direction of travel by changing the direction of the wheels by rotating the steering axis. When attempting to achieve omnidirectional movement of the mobile body using these active casters, there are cases where it is necessary to rapidly rotate the steering axis. For example, when changing the direction of the mobile body, the wheels may rotate in the opposite direction in a very short time. In this specification, this action of the wheels rotating in the opposite direction in a very short time is referred to as a rapid reversal of the wheels (active casters). In this specification, wheel reversal refers not only to a 180-degree rotation in the opposite direction, but also to the action of the wheels rotating from one side to the other side relative to the steering axis. In other words, in this specification, the term "reversal" is used even when the wheel rotates by an angle less than 180 degrees or greater than 180 degrees, such as when the wheel rotates by 150 degrees or 200 degrees.
[0006] Furthermore, attempting to move a mobile body equipped with active casters in all directions requires two or more active casters, but this results in redundant control axes (number of actuators to control). While three control axes are sufficient for omnidirectional movement of a mobile body, for example, with two active casters, the number of actuators is four, resulting in one redundant control axis. Non-patent document 1 states that, "Because the robot's drive is redundant, the overall coordination is maintained by faithfully controlling the speed of each actuator moment by moment. However, if angle control or integral control of angular velocity is performed at the level of a single actuator, speed errors that occur at a certain moment will accumulate and be corrected at a later time, which will inevitably disrupt the coordinated operation at the moment the correction is made."
[0007] Therefore, when an active caster performs a sudden reversal motion, the active caster's motor is required to respond quickly. However, if the motor's response cannot keep up with the command value for the rotation direction, the aforementioned disruption of coordinated motion occurs, which can result in instantaneous oscillations in the moving body. In particular, in moving bodies equipped with multiple active casters, if the timing of the sudden reversal motions of individual active casters is out of sync, the entire moving body may oscillate violently for an instant.
[0008] This disclosure has been made in view of the above-mentioned problems, and aims to provide a control device for a mobile body and a control method for a mobile body that can suppress the swinging of the mobile body when the active caster is unable to follow the operation required from the speed command value. [Means for solving the problem]
[0009] A control device for a mobile body according to one aspect of the present disclosure for achieving the above objective is a control device for a mobile body equipped with an active caster, comprising: a target rudder angle calculation unit that calculates a target rudder angle of the active caster based on a speed command value of the mobile body; a steering angle acquisition unit that acquires an actual rudder angle value of the active caster; a turning acceleration calculation unit that calculates an estimated peak value of turning acceleration that may occur in the active caster according to the speed command value based on the target rudder angle and the actual rudder angle value; an upper limit acquisition unit that acquires a preset upper limit value of turning acceleration; a correction coefficient calculation unit that calculates a correction coefficient that limits the turning acceleration of the active caster to less than or equal to the upper limit value of turning acceleration based on the estimated peak value and the upper limit value of turning acceleration; and a speed correction unit that outputs a corrected speed command value based on the speed command value and the correction coefficient.
[0010] In a preferred embodiment of the control device for the moving body described above, the correction coefficient is a scalar multiplied by the vector of the speed command value, and the correction coefficient calculation unit maintains or increases the correction coefficient relative to its initial value as time progresses until the measured rudder angle reaches the target rudder angle.
[0011] In a preferred configuration of the control device for the moving body described above, the correction coefficient calculation unit calculates a correction coefficient that makes the turning acceleration match the upper limit of the turning acceleration when the turning acceleration reaches the estimated peak value.
[0012] In a preferred configuration of the control device for the moving body described above, the correction coefficient calculation unit determines the steering angle deviation between the target steering angle and the measured steering angle, and the peak steering angle deviation at which the turning acceleration reaches the estimated peak value, and changes the correction coefficient according to the relative magnitudes of the steering angle deviation and the peak steering angle deviation.
[0013] In a preferred configuration of the control device for the moving body described above, the correction coefficient calculation unit monotonically increases the correction coefficient in accordance with the decrease in the steering angle deviation when the steering angle deviation is less than or equal to the peak steering angle deviation.
[0014] In a preferred configuration of the control device for the moving body described above, the correction coefficient calculation unit sets the correction coefficient to a constant value corresponding to the estimated peak value when the steering angle deviation is greater than the peak steering angle deviation.
[0015] A method for controlling a moving body according to one aspect of the present disclosure is a method for controlling a moving body equipped with an active caster, comprising the steps of: calculating a target rudder angle of the active caster based on a speed command value of the moving body; acquiring a measured value of the rudder angle of the active caster; calculating an estimated peak value of the turning acceleration that may occur in the active caster according to the speed command value, based on the target rudder angle and the measured value of the rudder angle; acquiring a preset upper limit value of the turning acceleration; calculating a correction coefficient that limits the turning acceleration of the active caster to less than or equal to the upper limit value of the turning acceleration, based on the estimated peak value and the upper limit value of the turning acceleration; and outputting a corrected speed command value based on the speed command value and the correction coefficient. [Effects of the Invention]
[0016] According to this disclosure, it is possible to suppress the swinging of the moving body when the active caster is unable to follow the operation required by the speed command value. [Brief explanation of the drawing]
[0017] [Figure 1] Figure 1 is a schematic perspective view of the mobile body of the embodiment, viewed from above. [Figure 2] Figure 2 is a schematic perspective view of the movable body of the embodiment, viewed from below. [Figure 3] Figure 3 is a schematic diagram showing an example of the arrangement of active casters and driven wheels in a mobile body of the embodiment. [Figure 4] Figure 4 is a perspective view showing an example of an active caster configuration. [Figure 5] Figure 5 is a side view showing an example of an active caster configuration. [Figure 6] Figure 6 is a schematic diagram showing an example of the configuration of the motor and transmission mechanism of an active caster. [Figure 7] Figure 7 is a block diagram showing the configuration related to the motion control of a mobile object. [Figure 8] Figure 8 shows the configuration of the adjustment processing unit of the control device according to the embodiment. [Figure 9] Figure 9 is a schematic diagram showing the motion trajectory of an active caster when a sharp reversal occurs. [Figure 10] Figure 10 is a graph showing the relationship between the steering angle deviation, the turning speed of the active caster, the angular derivative of the turning speed, and the turning acceleration. [Figure 11] Figure 11 is a graph showing an example of the time evolution of the correction coefficient. [Figure 12] Figure 12 is a graph showing the changes in moving body speed and motor rotation speed for the comparative example. [Figure 13] Figure 13 is a graph showing the changes in moving body speed and active caster rudder angle for the comparative example. [Figure 14] Figure 14 is a graph showing the changes in moving vehicle speed, wheel rotation speed, and turning speed for the comparative example. [Figure 15] Figure 15 is a graph showing the changes in moving body speed and motor rotational acceleration for the comparative example. [Figure 16] Figure 16 is a graph showing the changes in the moving body speed and motor rotation speed according to the embodiment. [Figure 17] Figure 17 is a graph showing the changes in the moving body speed and the rudder angle of the active caster according to the embodiment. [Figure 18] Figure 18 is a graph showing the changes in moving body speed, wheel rotation speed, and turning speed according to the embodiment. [Figure 19] Figure 19 is a graph showing the changes in the moving body speed and motor rotational acceleration according to the embodiment. [Figure 20] Figure 20 is a graph showing the changes in the moving body speed and the rotational acceleration of the active caster according to the embodiment. [Modes for carrying out the invention]
[0018] Preferred embodiments of the control device and control method for a mobile body according to the present disclosure will be described in detail below with reference to the drawings. However, the present invention is not limited to these embodiments, and if there are multiple embodiments, they may be constructed by combining each embodiment. Furthermore, the components in the embodiments include those that are easily conceivable by those skilled in the art, those that are substantially identical, and those that fall within the so-called equivalent range.
[0019] (Mobile) Figure 1 is a schematic perspective view of the mobile body of the embodiment, viewed from above. Figure 2 is a schematic perspective view of the mobile body of the embodiment, viewed from below. Figure 3 is a schematic diagram showing an example of the arrangement of active casters and driven wheels in the mobile body of the embodiment. The mobile body 1 of the embodiment is equipped with active casters 11 as drive wheels and is movable on the floor surface by the active casters 11. The type and use of the mobile body 1 are not particularly limited. The mobile body 1 is, for example, a transport device that carries transported goods and travels on the floor surface. The mobile body 1 can be used, for example, as an automated guided vehicle (AGV) or an autonomous mobile robot (AMR). Transported goods can include a variety of items such as hand lifters, forklifts, picking robots, and medical equipment. The mobile body 1 may also be a transport assist device that is connected to a traveling device that travels on the floor surface, such as a trolley, transport cart, mobile bed, or stretcher, to assist in the movement of the traveling device.
[0020] As shown in Figures 1 to 3, the mobile body 1 includes a mobile body main body 10, active casters 11, and driven wheels 12. The mobile body 1 is equipped with a control device 100 (see Figure 7) that controls the operation of the active casters 11. The mobile body 1 may also be equipped with a connection mechanism for connecting the mobile body main body 10 to the transported object. The mobile body 1, with the mobile body main body 10 connected to the transported object, transports the object by moving.
[0021] The mobile body 10 is the base on which the active caster 11 and the driven wheel 12 are positioned, and it is also the case that houses the active caster 11 and the driven wheel 12.
[0022] At least two active casters 11 are provided on the mobile body 10. The number of driven wheels 12 is not particularly limited. In the example in Figure 1, the mobile body 1 comprises two active casters 11 and two driven wheels 12.
[0023] In other words, the mobile body 1 of the embodiment is a so-called holonomic omnidirectional mobile body, which is a mobile body that can move on the floor surface. A holonomic omnidirectional mobile body is a mobile body that has no constraints on its movement and can start moving and rotating in all directions on the floor surface from any position and any orientation of the mobile body 1. The mobile body 1 of the embodiment is configured as a holonomic omnidirectional mobile body in which a total of three degrees of freedom, namely movement on a plane (2 degrees of freedom) and orientation (1 degree of freedom), can be independently controlled by mounting two or more active casters 11.
[0024] As shown in Figure 2, at least the wheel portions of the active caster 11 and the driven wheel 12 are exposed below the lower surface of the mobile body 10. The wheel portions of the active caster 11 and the driven wheel 12 that are exposed below the mobile body 10 are in contact with the floor surface.
[0025] The installation position of the active casters 11 is not particularly limited. In one example, the active casters 11 are positioned symmetrically with respect to the center 10A of the mobile body 10. In one example, the center 10A is the geometric centroid of the mobile body 10 in a plan view. In another example, the center 10A is the physical centroid of the mobile body 10 in a plan view. In Figure 3, the active casters 11 are positioned symmetrically in the first direction with respect to the center 10A of the mobile body 10. The distance from each active caster 11 to the center 10A is equal.
[0026] The installation position of the driven wheels 12 is not particularly limited. In Figure 3, the driven wheels 12 are arranged symmetrically in a second direction perpendicular to the first direction in a plan view, with the center 10A of the mobile body 10 as the reference point. The distance from each driven wheel 12 to the center 10A is equal. In Figure 3, the mobile body 10 is roughly rectangular in a plan view, the first direction is along the long side of the mobile body 10, and the second direction is along the short side of the mobile body 10, but this is not particularly limited.
[0027] As shown in Figure 3, the active caster 11 comprises a wheel 21, a main body 22 that holds the wheel 21, a transmission mechanism 23, and a motor. The wheel 21 is rotatable around the wheel axle 25. The main body 22 is rotatable around the steering shaft 26. The steering shaft 26 extends along the vertical direction of the active caster 11 (i.e., the mobile body 1). The wheel axle 25 is perpendicular to the steering shaft 26. The active caster 11 is mounted on the mobile body 1 such that the wheel axle 25 is parallel to the floor surface on which the mobile body 1 travels. The wheel 21 rolls on the floor surface by rotating around the wheel axle 25 while in contact with the floor surface. The main body 22 holds the wheel 21 (wheel axle 25) at a predetermined distance from the axis of the steering shaft 26. This predetermined distance is called the caster offset. The wheel 21 is rotatable around the steering shaft 26 in a trajectory with a radius of this predetermined distance. Hereinafter, the rotation of the wheel 21 around the wheel axle 25 will be referred to as the "rotation" of the wheel 21, and the rotation of the wheel 21 around the steering shaft 26 will be referred to as the "turning" of the wheel 21.
[0028] The transmission mechanism 23 connects the motor and the main body 22. The transmission mechanism 23 transmits the rotational force input by the motor. The motor includes a first motor 24A and a second motor 24B. The active caster 11 can rotate the wheel 21 around the wheel axle 25 and pivot the wheel 21 around the steering shaft 26 using the rotational force of the first motor 24A and the second motor 24B. The configuration of the transmission mechanism 23 is not particularly limited. The transmission mechanism 23 is composed of one or more combinations of various structures such as a gear transmission mechanism and a belt-pulley mechanism.
[0029] The configuration examples of the active caster 11 are described below. Figure 4 is a perspective view showing a configuration example of the active caster. Figure 5 is a side view showing a configuration example of the active caster. Figure 6 is a schematic diagram showing a configuration example of the motor and transmission mechanism of the active caster.
[0030] In the example shown in Figures 4 to 6, the first motor 24A and the second motor 24B are mounted on the base portion 27 that rotatably supports the main body portion 22 and the steering shaft 26. The first motor 24A and the second motor 24B are connected to the input portion of the transmission mechanism 23, which is composed of a belt-pulley mechanism. Specifically, the first drive pulley 41A fixed to the output shaft of the first motor 24A and the first driven pulley 42A of the transmission mechanism 23 are connected by the first belt 43A so as to be able to transmit power. The second drive pulley 41B fixed to the output shaft of the second motor 24B and the second driven pulley 42B of the transmission mechanism 23 are connected by the second belt 43B so as to be able to transmit power.
[0031] The transmission mechanism 23 is connected to the wheel 21 and the main body 22 at an output section composed of a gear transmission mechanism. In the example shown in Figures 4 to 6, the transmission mechanism 23 is a differential transmission mechanism that transmits the rotational forces of both the first motor 24A and the second motor 24B as the turning drive force and the rotational drive force of the wheel 21. Specifically, the transmission mechanism 23 rotates the wheel 21 without turning when the first motor 24A and the second motor 24B are rotated in the same direction at the same speed. In other words, when the first motor 24A and the second motor 24B rotate in the forward direction at the same speed, the wheel 21 rotates in one direction, and when the first motor 24A and the second motor 24B rotate in the opposite direction at the same speed, the wheel 21 rotates in the other direction. Furthermore, when the first motor 24A and the second motor 24B are rotated at different speeds, the transmission mechanism 23 turns the wheel 21 according to the difference in rotational speeds. In other words, if the rotational speed of the first motor 24A is greater than the rotational speed of the second motor 24B, the wheel 21 will turn in one direction, and if the rotational speed of the second motor 24B is greater than the rotational speed of the second motor 24B, the wheel 21 will turn in the other direction.
[0032] As shown in Figure 6, when the first motor 24A rotates the first driven pulley 42A in the A1 direction, the first drive gear 45A rotates in the same direction via the first input shaft 44A connected to the first driven pulley 42A. The first drive gear 45A, rotating in the A1 direction, rotates the first driven gear 46A, which meshes with the first drive gear 45A, in the A2 direction. The rotation of the first driven gear 46A is converted to rotation in the A3 direction via the first output shaft 47A, the first conversion drive gear 48A, and the first conversion driven gear 49A, causing the wheel axle 25, which is integrated with the first conversion driven gear 49A, to rotate in the same direction (A3 direction). On the other hand, when the second motor 24B rotates the second driven pulley 42B in the B1 direction, opposite to the A1 direction, the second drive gear 45B rotates in the same direction via the second input shaft 44B connected to the second driven pulley 42B. The second drive gear 45B, which rotates in the B1 direction, causes the second driven gear 46B, which meshes with the second drive gear 45B, to rotate in the B2 direction. The rotation of the second driven gear 46B is converted to rotation in the B3 direction via the second output shaft 47B, the second conversion drive gear 48B, and the second conversion driven gear 49B, causing the wheel axle 25, which is integrated with the second conversion driven gear 49B, to rotate in the same direction (B3 direction). Here, since the A3 direction and the B3 direction are the same direction of rotation, if the first input shaft 44A and the second input shaft 44B are rotating at the same speed, the wheel 21 will rotate without turning.
[0033] At this time, if the rotational speed of the second input shaft 44B is reduced relative to the rotational speed of the first input shaft 44A, the rotational speed input from the second conversion drive gear 48B to the wheel axle 25 via the second conversion driven gear 49B becomes lower than the rotational speed input from the first conversion drive gear 48A to the wheel axle 25 via the first conversion driven gear 49A. As a result, the steering shaft 26 rotates by the difference in rotational speed, causing the main body 22 that holds the wheel 21 to pivot. Also, if the rotation of the second input shaft 44B is stopped, the rotational speed input from the second conversion drive gear 48B to the wheel axle 25 via the second conversion driven gear 49B becomes 0, and the wheel 21 pivots without rotating.
[0034] In other words, when the active caster 11 has the same gear ratio for each gear 45A, 45B, 46A, and 46B, and the same gear ratio for each gear 48A, 48B, 49A, and 49B, if the rotational speed of the first input shaft 44A is NA, the rotational speed of the second input shaft 44B is NB, the rotational speed of the steering shaft 26 is NS, and the rotational speed of the wheel 21 is NW, then the relationship between the rotational speed NS of the steering shaft 26 and the rotational speed NW of the wheel 21 is given by the following formula. NW = (1 / 2)NA - (1 / 2)NB NS = -(1 / 2)NA - (1 / 2)NB NA = NW - NS NB = -NW - NS
[0035] In the example shown in Figure 5, the axis O2 of the wheel axle 25 is positioned at a distance from the axis O1 of the steering shaft 26. The distance between the axis O1 and axis O2 in the radial direction of the steering shaft 26 is the caster offset D. In the embodiment of the active caster 11, the caster offset D is non-zero. In an active caster 11 with a non-zero caster offset D, when the wheel 21 turns, a velocity component of translational movement is generated that corresponds to the product of the caster offset D and the turning angular velocity. The translational movement of the active caster 11 is represented by a composite velocity vector of the velocity component due to wheel rotation and the velocity component due to wheel turning. In other words, in an active caster 11 with a non-zero caster offset D, the turning of the wheel 21 affects not only the steering angle (direction) of the active caster 11 but also the translational movement in the horizontal plane.
[0036] However, the configuration of the motor and transmission mechanism is not limited to this. The transmission mechanism 23 may transmit the rotational force of one of the first motor 24A and the second motor 24B as the turning drive force of the wheel 21, and the rotational force of the other of the first motor 24A and the second motor 24B as the rotational drive force of the wheel 21. In this case, the turning of the wheel 21 (steering of the mobile body 1) and the rotation of the wheel 21 (forward and backward movement) are controlled independently by the first motor 24A and the second motor 24B.
[0037] When the wheels 21 of the active caster 11 are not driven, they operate in the same way as a driven caster that does not have its own power. In other words, when the wheels 21 of the active caster 11 are not driven by the motor, they can be passively rotated and swiveled by external force. Therefore, the mobile body 1 can be automatically driven and steered by the driving force of the motor, and can also be manually driven and steered by an operator applying external force.
[0038] As shown in Figure 3, the driven wheel 12 is a wheel device that does not have a drive mechanism and operates solely in response to the action of external forces. The configuration of the driven wheel 12 is not particularly limited. The driven wheel 12 may be a driven caster capable of wheel rotation and wheel swivel in response to the action of external forces. The driven wheel 12 may be an omnidirectional movement mechanism such as an omniwheel or a Mecanum wheel.
[0039] In the example shown in Figure 3, the driven wheel 12 is a driven caster. The driven wheel 12 comprises a driven wheel 31 and a main body 32 that holds the driven wheel 31. The driven wheel 12 is not equipped with a motor or a transmission mechanism for transmitting the rotational force of the motor. The driven wheel 31 is rotatable around the wheel axle 33. The main body 32 is rotatable around the pivot axis 34. The pivot axis 34 extends along the vertical direction of the driven wheel 12 (i.e., the moving body 1). The wheel axle 33 is perpendicular to the pivot axis 34. The driven wheel 12 is attached to the moving body 1 such that the wheel axle 33 is parallel to the floor surface on which the moving body 1 travels. The main body 32 holds the driven wheel 31 (wheel axle 33) at a predetermined distance from the pivot axis 34. The driven wheel 31 is rotatable around the pivot axis 34 with a swivel start of this predetermined distance as the radius.
[0040] (Control device for mobile devices) Next, the control device 100 of the mobile body 1 according to the embodiment will be described. The control device 100 is a control device 100 for the mobile body 1 equipped with active casters 11. Although not shown in Figures 1 to 3, the control device 100 is housed in the mobile body 10.
[0041] Figure 7 is a block diagram showing the configuration related to the motion control of the mobile body. The mobile body 1 comprises a control device 100, an active caster 11, motors (first motor 24A, second motor 24B), a steering angle sensor 13, and a motor driver 14.
[0042] The control device 100 calculates and outputs a command value (motor speed command) for the active caster 11 using information acquired from sensors, etc. The control device 100 is implemented by a processing circuit such as a system LSI (Large Scale Integration), or a processor such as a CPU (Central Processing Unit) that executes a program stored in memory, etc.
[0043] The motor driver 14 controls the drive of the motors (first motor 24A, second motor 24B) based on the command value (motor speed command) output from the control device 100. The motor driver 14 takes the command value (motor speed command) as input and controls the drive current supplied to the motor. The control device 100 and the motor driver 14 are connected by a communication line. The motor driver 14 is provided separately for the motors (first motor 24A, second motor 24B) installed on the active caster 11. In addition, a total of four motor drivers 14 are provided separately for the two active casters 11. The active caster 11 is also equipped with a motor angle sensor (for example, a rotary encoder) that detects the rotation angle of the motor. Based on the output of the motor angle sensor, the motor driver 14 controls the rotation speed of the motor to approach the target rotation speed of the motor speed command.
[0044] As described above, the motor is connected to the wheel 21 via the transmission mechanism 23 and drives the active caster 11. The active caster 11 rotates the wheel 21 around the wheel axle 25 and steering axis 26 via the transmission mechanism 23, thereby propelling the mobile body 1. The steering angle sensor 13 detects the current value of the angle of the steering axis 26 of the active caster 11 (measured steering angle value 73). Any sensor capable of detecting rotation angle can be used as the steering angle sensor 13, for example, a rotary encoder.
[0045] The control device 100 includes an adjustment processing unit 51, a command value conversion unit 52, a distribution calculation unit 53, and a storage unit 54.
[0046] The correction processing unit 51 acquires the speed command value 71 and the measured rudder angle value 73 for the moving body 1. The correction processing unit 51 calculates a correction coefficient C that limits the turning acceleration of the active caster 11 to a preset turning acceleration upper limit value 75 or less, and outputs a corrected speed command value 76 by correcting the speed command value 71 with the correction coefficient C. The correction processing unit 51 will be described later.
[0047] The speed command value 71 and the compensating speed command value 76 represent the command values for the overall speed of the moving body. The overall speed of the moving body is the speed of the moving body 1 at its reference position (which is called the origin of the moving body coordinate system). Hereafter, for convenience, the origin of the moving body coordinate system will be assumed to coincide with the center 10A in Figure 3. The speed command value 71 and the compensating speed command value 76 represent the speed of the moving body 1 in a Cartesian coordinate system. The speed command value 71 and the compensating speed command value 76 consist of a total of 3 degrees of freedom: movement on a plane (2 degrees of freedom in the X and Y directions) and rotation (1 degree of freedom) of the moving body 10.
[0048] The command value conversion unit 52 obtains the correction speed command value 76 from the correction processing unit 51. Based on wheel parameters such as the wheel radius and caster offset of the active caster 11, the command value conversion unit 52 converts the correction speed command value 76 into command values for the angular velocity of the wheel axle 25 and steering axis 26 of the active caster 11. For example, the command value conversion unit 52 calculates the command values for the angular velocity of the wheel axle 25 (wheel rotation speed) and the angular velocity of the steering axis 26 (turning speed) of the active caster 11 by multiplying the correction speed command value 76, which is expressed in a Cartesian coordinate system, by the inverse (or pseudo-inverse) of the Jacobian matrix.
[0049] The distribution calculation unit 53 obtains command values for wheel rotation speed and turning speed from the command value conversion unit 52. Based on the reduction ratio of the transmission mechanism 23 (in the examples of Figures 4 to 6, the gear ratio of each gear), the distribution calculation unit calculates the command values (motor speed commands) for the first motor 24A and second motor 24B of each active caster 11. The control device 100 outputs the motor speed commands calculated by the distribution calculation unit 53 to the corresponding motor driver 14.
[0050] The memory unit 54 stores various parameters used in calculations in the control device 100. The memory unit 54 is composed of, for example, a rewritable non-volatile memory device. The memory unit 54 stores information such as the upper limit value of the turning acceleration 75, which is set in advance in the correction processing unit 51, the wheel parameters of the active caster 11, and the reduction ratio of the transmission mechanism 23.
[0051] (Description of the components of the control device) Next, the configuration of the adjustment processing unit 51 according to the embodiment will be described. Figure 8 is a diagram showing the configuration of the adjustment processing unit of the control device according to the embodiment.
[0052] The correction processing unit 51 (control device 100) includes a target rudder angle calculation unit 61, a steering angle acquisition unit 62, a turning acceleration calculation unit 63, an upper limit value acquisition unit 64, a correction coefficient calculation unit 65, and a speed correction unit 66.
[0053] The target rudder angle calculation unit 61 calculates the target rudder angle 72 of the active caster 11 based on the speed command value 71 of the moving body 1. The target rudder angle calculation unit 61 acquires the speed command value 71 for the moving body 1. The speed command value 71 includes the target value (command value) of the overall moving speed of the moving body 1. The target rudder angle calculation unit 61 may acquire the speed command value 71 by calling up data of the speed command value 71 that has been previously stored in the storage unit 54. The target rudder angle calculation unit 61 may acquire the speed command value 71 output by an external device of the control device 100 via a wireless or wired communication line. Alternatively, the target rudder angle calculation unit 61 may acquire an input signal from an external input device of the control device 100 and calculate the speed command value 71 based on a pre-set calculation formula. The external input device of the control device 100 is a remote controller 2 (see Figure 1) or a computer connected via a network.
[0054] The steering angle acquisition unit 62 acquires the measured steering angle 73 of the active caster 11. The steering angle acquisition unit 62 acquires the current value of the measured steering angle 73 from the measured value of the steering angle sensor 13. In the example in Figure 7, the sensor value detected by the steering angle sensor 13 is used as the measured steering angle 73, but the steering angle acquisition unit 62 is not limited to this and may acquire the result of estimating the current value of the measured steering angle 73 using a Kalman filter or observer.
[0055] The turning acceleration calculation unit 63 calculates an estimated peak value 74 of the turning acceleration that may occur in the active caster 11 according to the speed command value 71, based on the target rudder angle 72 and the measured rudder angle value 73. Turning acceleration is the angular acceleration in the rotational direction (i.e., turning direction) around the steering axis 26 of the active caster 11. As will be described in detail later, the correction coefficient calculation unit 65 calculates the rudder angle deviation φ between the target rudder angle 72 and the measured rudder angle value 73. e And the peak steering angle deviation φ at which the estimated peak value of turning acceleration is 74 is... peak We calculate the peak steering angle deviation φ peak The turning acceleration is calculated using an estimated peak value of 74.
[0056] The upper limit acquisition unit 64 acquires a preset upper limit value 75 for turning acceleration. The upper limit acquisition unit 64 reads the set value of the upper limit value 75 for turning acceleration from the storage unit 54 and outputs it to the correction coefficient calculation unit 65. The upper limit value 75 for turning acceleration is a parameter set according to the specifications of the motors (first motor 24A, second motor 24B) provided in the active caster 11. In this embodiment, the upper limit value of the turning acceleration that the motors (first motor 24A, second motor 24B) provided in the active caster 11 can follow in response to the command value is calculated in advance and set in the storage unit 54 as the upper limit value 75 for turning acceleration.
[0057] The correction coefficient calculation unit 65 obtains the estimated peak value 74 of the turning acceleration and the upper limit value 75 of the turning acceleration. Based on the estimated peak value 74 of the turning acceleration and the upper limit value 75 of the turning acceleration, the correction coefficient calculation unit 65 calculates a correction coefficient C that limits the turning acceleration of the active caster 11 to less than or equal to the upper limit value 75 of the turning acceleration.
[0058] The speed correction unit 66 outputs a corrected speed command value 76 based on the speed command value 71 and the correction coefficient C. The speed correction unit 66 obtains the speed command value 71 and the correction coefficient C calculated by the correction coefficient calculation unit 65. The speed correction unit 66 calculates the corrected speed command value 76 by multiplying the speed command value 71 and the correction coefficient C. The corrected speed command value 76 calculated by the speed correction unit 66 is input to the command value conversion unit 52 as the output of the correction processing unit 51.
[0059] In this configuration, the control device 100 acquires information (angle measurement value) from the rudder angle sensor 13 and outputs a motor speed command to the motor driver 14, thereby controlling the moving body 1 via the motor and active caster 11.
[0060] (Processing of the correction processing unit) Next, the processing of the correction processing unit 51 according to the embodiment will be described. In the control device 100 according to the embodiment, as described above, the correction processing unit 51 calculates a correction coefficient C that limits the rotational acceleration of the active caster 11 to a rotational acceleration upper limit value of 75 or less, and outputs a corrected speed command value 76 based on the speed command value 71 and the correction coefficient C. The correction processing unit 51 suppresses the swinging of the moving body 1 caused by the sudden reversal operation of the active caster 11 by limiting the rotational acceleration of the active caster 11 to a range that can be followed by the motors (first motor 24A, second motor 24B) using the corrected speed command value 76.
[0061] First, let's explain the sudden reversal motion of the active caster 11. Figure 9 is a schematic diagram showing the motion trajectory of the active caster when a sudden reversal motion occurs. Figure 9 is a schematic diagram showing in plan view the position of the steering axis 26 (indicated by circles) and the position of the wheel 21's contact point (indicated by crosses) at each point in time while the active caster 11 is moving. In plan view, the position of the wheel 21's contact point coincides with the position of the wheel axle 25. That is, the contact point is located directly below the wheel axle 25.
[0062] The rapid reversal of the active caster 11 typically occurs when changing direction, such as moving the moving body 1 in one direction and then moving it in the opposite direction. The steering axis angle of a caster with a pivot axis converges to an angle where the pivot axis is in front and the wheel axis is behind the direction of travel during movement. Therefore, when changing direction, at the initial position Ps immediately after the change of direction, the steering axis 26 is behind and the wheel axis 25 is in front of the direction of travel (X direction in Figure 9), which is an inverted positional relationship. After the start of movement, at a certain timing (reversal position Pr), the active caster 11 rotates approximately 180 degrees, and the positional relationship changes to one where the steering axis 26 is in front and the wheel axis 25 is behind.
[0063] The active caster 11 is controlled to operate according to a speed command value 71, which is the speed target value for the entire moving body, and therefore operates to achieve the speed target value specified by the speed command value 71. Before and after reaching the reversal position Pr, the orientation of the wheels 21 is aligned with the direction of travel (X direction), so the movement speed in the X direction according to the speed command value 71 is achieved by wheel rotation. On the other hand, at the reversal position Pr, the orientation of the wheels 21 is perpendicular to the direction of travel (X direction), so the contribution of wheel rotation to the movement speed in the direction of travel (X direction) decreases, and it becomes necessary to generate the movement speed in the X direction mainly by turning around the steering axis 26. Therefore, at this reversal position Pr, it becomes necessary to generate a high turning acceleration in a very short time. Also, the turning friction load around the wheel contact point during turning is much larger than the rolling resistance load during wheel rotation. Therefore, at the reversal position Pr, despite the increased load on the motor, the motor needs to generate torque to achieve a high turning acceleration. As a result, the motor may not be able to keep up with the speed command, causing the speed of the mobile body 1 to change abruptly (sudden stop / sudden start), resulting in oscillation of the mobile body 1 at the reversal position Pr. In particular, in a mobile body 1 equipped with multiple active casters 11, the timing of the sudden reversal movements of each active caster 11 may be staggered, potentially disrupting the coordination of the active casters 11. In that case, the mobile body 1 may experience large oscillations due to the combined effects of the sudden reversal movements of each active caster 11.
[0064] Therefore, in the control device 100 according to this embodiment, a correction coefficient C is used to limit the turning acceleration to a turning acceleration upper limit value of 75 or less, and a correction speed command value 76 is calculated that does not require a high turning acceleration even when the active caster 11 reverses direction.
[0065] (Correction coefficient) Next, the correction coefficient C will be explained. In this embodiment, the correction coefficient C is a scalar that is multiplied by the vector of the speed command value 71. As shown in Figure 8, the speed correction unit 66 calculates the corrected speed command value 76 by multiplying the vector of the speed command value 71 by the correction coefficient C. Since the correction coefficient C is a scalar quantity, the direction of the speed command value vector is maintained between the speed command value 71 before correction and the corrected speed command value 76 after correction, and the moving body 1 does not travel in an unintended direction.
[0066] Furthermore, in this embodiment, the correction coefficient calculation unit 65 maintains or increases the correction coefficient C relative to its initial value as time progresses until the measured rudder angle 73 reaches the target rudder angle 72. In other words, as long as the speed command value 71 does not change, the mobile body 1 will not decelerate until its speed reaches the target value. Therefore, even when the mobile body 1 is operated by a remote control 2 or the like, the mobile body 1 accelerates smoothly, improving the feel of operation.
[0067] The method for calculating the correction coefficient C is explained below. In order to determine the correction coefficient C, we will explain how to derive the target rudder angle and the turning acceleration for each rudder angle from the speed command value 71 of the moving body 1.
[0068] It is known from Non-Patent Document 1 that the speed command in the rotational direction of the active caster 11 can be expressed by equation (1).
number
[0069] The speed command value 71 is expressed as in Equation (2) by the correction coefficient C.
Equation
[0070] The rudder angle of the active caster 11 converges to a certain value if the speed command value 71 of the moving body 1 is constant, which means that the turning speed ω s becomes zero at the convergence value of the rudder angle (target rudder angle 72). Therefore, Equation (3) holds.
Equation
[0071] Furthermore, Equation (3) can be transformed as in the following Equation (4).
Equation
Equation
[0072] Solving for the target rudder angle φ ref from Equations (4) and (5) gives the expression as in the following Equation (6).
Equation
[0073] Here, the target rudder angle φ refand the current measured value of the rudder angle φ act Deviation (rudder angle deviation φ) e ) is introduced. Equation (1) is given by the rudder angle deviation φ e Expressed in this way, we obtain the following equation (7).
number
number
[0074] Next, we calculate the turning acceleration for each rudder angle. Turning acceleration is equal to the turning velocity ω s Since this is the time derivative of the rudder angle φ, it can be expressed as in equation (9).
number
[0075] In this embodiment, a correction coefficient C is determined such that the set upper limit of turning acceleration, 75, is not exceeded. For simplicity, if we assume that C' in equation (9) is zero, we obtain equation (10).
number
[0076] Equation (10) allows us to determine the turning acceleration corresponding to the velocity command value of the moving body 1 at any given rudder angle. Therefore, we determine the maximum turning acceleration that the active caster 11 can take at any given rudder angle, and the rudder angle deviation at that time. In this specification, the maximum turning acceleration that the active caster 11 can take is referred to as the estimated peak value of turning acceleration 74. Also in this specification, the rudder angle deviation at which the turning acceleration becomes the estimated peak value 74 is referred to as the peak rudder angle deviation.
[0077] Figure 10 is a graph showing the relationship between the steering angle deviation and the turning speed, angular derivative of the turning speed, and turning acceleration of the active caster. The horizontal axis of Figure 10 represents the steering angle deviation, and the vertical axis of Figure 10 represents the magnitude of the turning speed, the angular derivative of the turning speed, and the turning acceleration. Figure 10 shows the speed command value V of the moving body 1. ref Each element (V x , V y , W z This shows an example of what happens when any non-zero value is substituted for ).
[0078] When the steering angle deviation is zero, that is, when the measured steering angle matches the target steering angle, the turning speed of the active caster 11 becomes zero. Since the turning acceleration is the product of the turning speed and the angular derivative of the turning speed, when the steering angle deviation is zero, the turning acceleration is also zero. From equation (10), the velocity command (W) in the turning direction of the moving body 1 is obtained. z When ) is zero, the linear term in equation (10) also becomes zero, and from equation (8) β also becomes zero, so in this example the turning acceleration is maximum (estimated peak value 74) at ±1 / 4π and ±3 / 4π. The velocity command (W) in the turning direction of the moving body 1 z When ) is non-zero, the estimated peak value of 74 deviates from ±1 / 4π and ±3 / 4π, but since the zero-crossing position is the same for the first and second terms, we only need to know the estimated peak value of 74 that is around ±1 / 4π and the peak steering angle deviation at that time.
[0079] Therefore, we differentiate equation (10) with respect to angle and find the rudder angle deviation for which the angular derivative is zero. First, differentiating equation (10) with respect to angle gives us equation (11).
number
[0080] The steering angle deviation at which the right-hand side of equation (11) becomes zero is the pole of equation (10), and is the peak steering angle deviation we are looking for. Since equation (11) is a quadratic equation in sine, we can apply the quadratic formula to obtain equation (12).
number
[0081] The steering angle deviation that satisfies equation (12) is the peak steering angle deviation φ when the turning acceleration reaches its estimated peak value of 74. peak That is the case.
[0082] From the above, the correction coefficient C can be found and expressed as shown in equation (13).
number
[0083] Equation (13) is given by φ e Peak steering angle deviation φ peak When it is greater than ω, the turning acceleration is ω when the turning acceleration is greatest (i.e., when the estimated peak value is 74). s '(Restricted to match the upper limit of turning acceleration, 75), and the steering angle deviation φ e ga φ peak If the following occurs, the steering angle deviation at that moment is φ e This indicates that the turning acceleration is limited so that it does not exceed a set value.
[0084] In other words, steering angle deviation φ e Peak steering angle deviation φ peak When it is greater than , the correction coefficient C is set to a constant value corresponding to the estimated peak value of the turning acceleration, 74. In this case, the correction coefficient C is set to limit the turning acceleration to the upper limit of the turning acceleration when the turning acceleration reaches its peak. Steering angle deviation φ e Peak steering angle deviation φ peak As long as it is greater than φ, the speed command value is corrected by a correction coefficient C that matches the estimated peak value of the turning acceleration 74, so the steering angle deviation φ e Peak steering angle deviation φ peakThe command value required to generate a large turning acceleration that causes the moving body 1 to swing before reaching that point is never calculated.
[0085] On the other hand, the steering angle deviation φ e Peak steering angle deviation φ peak Below this point, the turning acceleration, which is the numerator of equation (13), decreases monotonically, so the steering angle deviation φ e Peak steering angle deviation φ peak If the following conditions are met, the compensating coefficient C is equal to the steering angle deviation φ. e It increases monotonically as the decrease in the steering angle increases. In the process as the measured steering angle 73 converges to the target steering angle 72, beyond the steering angle that poses the greatest risk of causing oscillation of the moving body 1, the direction of the wheels 21 gradually approaches the direction of travel of the moving body 1. As a result, the correction coefficient C increases monotonically, and the speed of the moving body 1 rises rapidly.
[0086] Furthermore, the following conditions are added to ensure that the corrected speed command value 76 of the corrected mobile body 1 does not exceed the magnitude of the original speed command value 71 of the mobile body 1.
number
[0087] As a result, the value of the correction coefficient C eventually converges to 1. Therefore, in the case where the active caster 11 reverses as shown in Figure 9, once the measured rudder angle 73 has passed the reversal position Pr and converges to the target rudder angle 72, the corrected speed command value 76 of the corrected moving body 1 will match the original speed command value 71 of the moving body 1.
[0088] Figure 11 is a graph showing an example of the time change of the correction coefficient. The horizontal axis of Figure 11 shows the elapsed time (seconds), and the vertical axis shows the speed of the moving object, the correction coefficient C, and the magnitude of the rudder angle. In the case shown in Figure 9, when the moving object 1 starts moving in the direction of travel, the rudder angle changes from 180 degrees to 0 degrees (target rudder angle 72). Rudder angle deviation φ e Peak steering angle deviation φ peak The correction coefficient C is maintained at a constant value corresponding to the estimated peak value of turning acceleration 74 until the following occurs: the steering angle deviation φ.e Peak steering angle deviation φ peak Below this point, the correction coefficient C increases monotonically and eventually becomes 1.
[0089] As described above, in this embodiment, the correction coefficient calculation unit 65 calculates the steering angle deviation φ between the target steering angle 72 and the measured steering angle 73. e And the peak steering angle deviation φ at which the estimated peak value of turning acceleration is 74 is... peak We find the steering angle deviation φ e and peak steering angle deviation φ peak The correction coefficient C is changed according to the relative magnitudes of the two factors (see equation (13)).
[0090] The correction coefficient calculation unit 65 calculates the steering angle deviation φ e Peak steering angle deviation φ peak If it is greater than , the correction coefficient C is set to a constant value corresponding to the estimated peak value 74. Specifically, the correction coefficient calculation unit 65 calculates the steering angle deviation φ when the turning acceleration is equal to the estimated peak value 74. e Peak steering angle deviation φ peak When this occurs, a correction coefficient C is calculated to make the turning acceleration match the upper limit of the turning acceleration, which is 75.
[0091] On the other hand, the correction coefficient calculation unit 65 calculates the steering angle deviation φ e Peak steering angle deviation φ peak If the following conditions are met, the steering angle deviation φ e As the decrease in [the specified value] occurs, the correction coefficient C increases monotonically.
[0092] In this manner, the correction processing unit 51 calculates the correction speed command value 76. As shown in Figure 7, in a configuration where the mobile body 1 is equipped with multiple active casters 11, the correction processing unit 51 independently determines a correction coefficient C for each active caster 11 and uses the smallest correction coefficient C among the multiple correction coefficients C obtained to calculate the correction speed command value 76. This prevents the output of a speed command value that the motor cannot follow for any of the active casters 11 in a configuration where the mobile body 1 is equipped with multiple active casters 11. As a result, even if the direction of each active caster 11 reverses, the coordination of the multiple active casters 11 can be maintained. Therefore, the mobile body 1 can avoid oscillation caused by disturbances in the coordination of the multiple active casters 11.
[0093] (Method for controlling a moving object) A control method for the mobile body 1 according to this embodiment will now be described. The control method for the mobile body 1 is carried out by the control device 100 (i.e., a computer) of the mobile body 1 according to this embodiment.
[0094] In the control method for the moving body 1, as shown in Figure 8, the target rudder angle calculation unit 61 calculates the target rudder angle 72 of the active caster 11 based on the speed command value 71 of the moving body 1 (step S1). The steering angle acquisition unit 62 acquires the measured rudder angle 73 of the active caster 11 (step S2). The turning acceleration calculation unit 63 calculates the estimated peak value 74 of the turning acceleration that may occur in the active caster 11 according to the speed command value 71, based on the target rudder angle 72 and the measured rudder angle 73 (step S3). The upper limit value acquisition unit 64 acquires a preset turning acceleration upper limit value 75 (step S4). The correction coefficient calculation unit 65 calculates a correction coefficient C that limits the turning acceleration of the active caster 11 to less than or equal to the turning acceleration upper limit value 75, based on the estimated peak value 74 and the turning acceleration upper limit value 75 (step S5). The speed correction unit 66 outputs a corrected speed command value 76 based on the speed command value 71 and the correction coefficient C (step S6). This enables the output of a corrected speed command value 76 that limits the turning acceleration of the active caster 11 to the upper limit of the turning acceleration value 75 or less.
[0095] (Active caster operation) Next, the operation of the active caster 11 controlled according to the embodiment will be explained in comparison with the operation of the active caster 11 according to the comparative example.
[0096] In the following section, the simulation results for the operation shown in Figure 9 will be described for both the case where the control according to the embodiment is performed and the case where it is not performed (comparative example). In other words, the moving body 1 moves in a straight line in the direction of travel from an initial state in which the active caster 11 is facing opposite to the direction of travel (X direction). The moving body 1 accelerates from a stationary state with a constant acceleration and maintains the set target speed once it reaches the target speed. The acceleration of the moving body 1 is 1 m / s². 2 The target speed of mobile body 1 was set to 1 (m / s). For simplicity, the moment of inertia and load of mobile body 1 were not considered, and it was assumed that the motor followed the command without delay.
[0097] (Comparative example) First, the simulation results of the comparative example will be explained. Figure 12 is a graph showing the changes in the moving body speed and motor rotation speed for the comparative example. Figure 13 is a graph showing the changes in the moving body speed and the steering angle of the active caster for the comparative example. Figure 14 is a graph showing the changes in the moving body speed, wheel rotation speed, and turning speed for the comparative example. Figure 15 is a graph showing the changes in the moving body speed and motor rotational acceleration for the comparative example. In Figure 12, the horizontal axis shows elapsed time (seconds), and the vertical axis shows the moving body speed (m / s) and motor rotation speed (rpm). In Figure 13, the horizontal axis shows elapsed time (seconds), and the vertical axis shows the moving body speed (m / s) and steering angle (degrees). In Figure 14, the horizontal axis shows elapsed time (seconds), and the vertical axis shows the moving body speed (m / s), wheel rotation speed (rad / s), and turning speed (rad / s). In Figure 15, the horizontal axis shows elapsed time (seconds), and the vertical axis shows the moving body speed (m / s) and motor rotational acceleration (rpm / s).
[0098] In Figures 12 to 15, the moving object reaches the target speed (1 m / s) in 1 second. Regarding the motor rotation speed in Figure 12, it can be seen that in period Pd1, the rotation directions of the two motors are opposite, in period Pd2, the rotation directions of the two motors coincide, and in period Pd3, the rotation directions of the two motors are opposite and in the opposite direction to that of period Pd1. Because the transmission mechanism 23 of the active caster 11 is differential, the state in which the rotation directions of the two motors are opposite, as in period Pd1 and period Pd3, is the state in which the wheels are rotating. Also, the reversal of the relationship between the rotation directions of each motor between period Pd1 and period Pd3 means that the direction of wheel rotation is reversed. The state in which the rotation directions of the two motors coincide, as in period Pd2, is the state in which the active caster 11 is turning. In other words, period Pd1 corresponds to the initial state shown in Figure 9 (the state in which the wheels 21 are reversed) and the state in which the object is moving in the direction of travel. Period Pd2 corresponds to the state in which a sudden reversal of the wheel 21 occurs near the reversal position Pr shown in Figure 9. Period Pd3 corresponds to the state in which, after the sudden reversal, the active caster 11 is moving with its orientation aligned with the direction of travel.
[0099] In the comparative example, period Pd2 is between approximately 0.4 seconds and 0.6 seconds. Figure 13 shows that the steering angle changes by nearly 180 degrees during period Pd2. Figure 14 shows that the turning angular velocity forms a steep negative peak during period Pd2. Note that the wheel rotation changes from negative to positive between periods Pd1 and Pd3 because when the orientation of the active caster 11 is reversed relative to the direction of travel, the rotation direction of the wheel 21 is reversed before and after the reversal. Figure 15 shows that the motor's rotational acceleration changes rapidly to form the peak in the turning angular velocity during period Pd2. In the comparative example simulation, the motor's rotational acceleration exceeds 20,000 (rpm / s) at its maximum during period Pd2, indicating that an excessive speed response is required.
[0100] Thus, in the comparative example, the active caster 11 experiences a sharp reversal operation that requires a very high speed response. As a result, in reality, the motor cannot keep up with the speed command, the speed deviation becomes large, and the moving body 1 oscillates.
[0101] (Embodiment) Next, the simulation results of the embodiments will be described. Figure 16 is a graph showing the changes in the moving body speed and motor rotation speed according to the embodiments. Figure 17 is a graph showing the changes in the moving body speed and the steering angle of the active caster according to the embodiments. Figure 18 is a graph showing the changes in the moving body speed, wheel rotation, and turning speed according to the embodiments. Figure 19 is a graph showing the changes in the moving body speed and motor rotational acceleration according to the embodiments. In Figure 16, the horizontal axis represents elapsed time (seconds), and the vertical axis represents the moving body speed (m / s) and motor rotation speed (rpm). In Figure 17, the horizontal axis represents elapsed time (seconds), and the vertical axis represents the moving body speed (m / s) and steering angle (degrees). In Figure 18, the horizontal axis represents elapsed time (seconds), and the vertical axis represents the moving body speed (m / s), wheel rotation speed (rad / s), and turning speed (rad / s). In Figure 19, the horizontal axis represents elapsed time (seconds), and the vertical axis represents the moving body speed (m / s) and motor rotational acceleration (rpm / s).
[0102] Regarding the motor rotation speeds in Figure 16, it can be seen that during period Pd11, the rotation directions of the two motors are opposite, during period Pd12, the rotation directions of the two motors are the same, and during period Pd13, the rotation directions of the two motors are opposite and in the opposite direction to that of period Pd11. Period Pd12 is a period from approximately 0.7 seconds to approximately 1.1 seconds, and as can be seen from Figure 17, most of the reversal of the active caster 11 occurs during this period Pd12.
[0103] In the simulation of this embodiment, the upper limit of the turning acceleration ω s ' to 18 (rad / s 2 ) was assumed. The speed of the moving object in Figure 16 is limited to approximately 0.15 (m / s) during periods Pd11 and Pd12, which is due to the rudder angle deviation φ in equation (13). e Peak steering angle deviation φ peakIn cases larger than this, the speed command value is adjusted (a corrected speed command value of 76 is calculated) so that the turning acceleration of the active caster 11 is less than or equal to the upper limit of the turning acceleration.
[0104] Figure 20 is a graph showing the changes in the moving body speed and the rotational acceleration of the active caster according to the embodiment. In Figure 20, the horizontal axis represents elapsed time (seconds), and the vertical axis represents the moving body speed (m / s) and rotational acceleration (rad / s). 2 As shown in Figure 20, the turning acceleration of the active caster 11 peaks at 18 rad / s² around 1 second. 2 ) Therefore, the steering angle deviation φ at this moment e Peak steering angle deviation φ peak This indicates that the turning acceleration was limited to the upper limit of the turning acceleration. After passing the peak around 1 second, the steering angle deviation φ in equation (13) e Peak steering angle deviation φ peak The following cases apply, and the steering angle deviation φ e As the decrease in [the specified value] occurs, the correction coefficient C increases monotonically. Therefore, after the peak, the moving object 1 accelerates until its velocity reaches the target velocity. The time change of the correction coefficient C shown in Figure 11 represents the time change of the correction coefficient C calculated in the simulation according to this embodiment.
[0105] Figures 17 and 18 show that the active caster 11 rotates during periods Pd11 and Pd12, when the moving body speed is limited to a low level. Figure 19 shows that the motor rotational acceleration is approximately 2000 rpm / s at its maximum, which is about 1 / 10th of that in the comparative example (see Figure 15). Note that in Figure 19, the vertical axis of the motor rotational acceleration scale is shown with each division representing 500 rpm / s, which is significantly different from the motor rotational acceleration scale in Figure 15 shown in the comparative example (8000 rpm / s per division).
[0106] As described above, in the embodiments shown in Figures 16 to 20, the rotational acceleration of the active caster 11 is limited to the upper limit of the rotational acceleration, so a sudden reversal motion does not occur. Therefore, the motor can follow the speed command, and the oscillation of the moving body 1 caused by the sudden reversal motion of the active caster 11 can be suppressed. Furthermore, as described above, since this is achieved in the control device 100, it is possible to avoid the occurrence of sudden reversal motion without having to change to a high-torque, large motor just to avoid the occurrence of sudden reversal motion.
[0107] As described above, according to the embodiment, the control device 100 for the mobile body 1 is a control device 100 for the mobile body 1 equipped with an active caster 11, and comprises: a target rudder angle calculation unit 61 that calculates a target rudder angle 72 for the active caster 11 based on a speed command value 71 of the mobile body 1; a steering angle acquisition unit 62 that acquires an actual rudder angle value 73 for the active caster 11; a turning acceleration calculation unit 63 that calculates an estimated peak value 74 of the turning acceleration that may occur in the active caster 11 according to the speed command value 71, based on the target rudder angle 72 and the actual rudder angle value 73; an upper limit value acquisition unit 64 that acquires a preset upper limit value 75 for turning acceleration; a correction coefficient calculation unit 65 that calculates a correction coefficient C that limits the turning acceleration of the active caster 11 to the upper limit value 75 or less, based on the estimated peak value 74 and the upper limit value 75 for turning acceleration; and a speed correction unit 66 that outputs a corrected speed command value 76 based on the speed command value 71 and the correction coefficient C.
[0108] According to the control device 100 of this embodiment, the rotational acceleration of the active caster 11 is limited to a rotational acceleration upper limit of 75 or less, so that a compensating speed command value 76 that would cause a sudden rotational acceleration is not calculated. Therefore, by setting the rotational acceleration upper limit value 75 to an upper limit value corresponding to the specifications of the drive unit (motor) of the active caster 11, it is possible to suppress the swinging of the moving body 1 because the active caster 11 is unable to follow the operation required by the speed command value 71.
[0109] Furthermore, the correction coefficient C is a scalar multiplied by the vector of the speed command value 71, and the correction coefficient calculation unit 65 maintains or increases the correction coefficient C relative to its initial value over time until the measured rudder angle value 73 reaches the target rudder angle 72. By making the correction coefficient C a scalar, the movement speed can be corrected while maintaining the movement (direction of movement) of the moving body 1 by multiplying it by the speed command value 71. Therefore, it is possible to prevent the moving body 1 from moving in an unintended direction while suppressing the oscillation of the moving body 1. And, by maintaining or increasing the correction coefficient C over time, the moving body 1 does not experience deceleration caused by the correction of the speed command value 71 as the rudder angle approaches the target rudder angle 72, so the moving body 1 can travel smoothly.
[0110] Furthermore, the correction coefficient calculation unit 65 calculates a correction coefficient C to match the rotational acceleration to the rotational acceleration upper limit value 75 when the rotational acceleration reaches the estimated peak value of 74. As a result, even when the rotational acceleration reaches the estimated peak value of 74, the rotational acceleration can be increased up to the rotational acceleration upper limit value 75. Consequently, the degree of decrease in the movement speed of the moving body 1 can be reduced within a range where oscillation can be avoided.
[0111] Furthermore, the correction coefficient calculation unit 65 calculates the steering angle deviation φ between the target steering angle 72 and the measured steering angle 73. e And the peak steering angle deviation φ at which the estimated peak value of turning acceleration is 74 is... peak We find the steering angle deviation φ e and peak steering angle deviation φ peak The correction coefficient C is changed according to the relative magnitude of the two. Here, the active caster 11 is controlled to bring the measured rudder angle 73 closer to the target rudder angle 72, so the rudder angle deviation φ e It decreases over time. Oscillation occurs when the turning acceleration reaches the estimated peak value of 74, therefore the steering angle deviation φ e and peak steering angle deviation φ peak By changing the correction coefficient C according to the relative magnitudes of the steering angle deviation φ, e Peak steering angle deviation φ peak Larger than the peak steering angle deviation φ peak When approaching (i.e., when the risk of oscillation increases), and the steering angle deviation φe is the peak rudder angle deviation φ peak is smaller than the peak rudder angle deviation φ peak and moves away from it (i.e., when the risk of oscillation decreases), appropriate adjustment coefficients C can be set respectively.
[0112] Also, the adjustment coefficient calculation unit 65 calculates the adjustment coefficient C based on the rudder angle deviation φ e is the peak rudder angle deviation φ peak When it is below, as the rudder angle deviation φ e decreases, the adjustment coefficient C is monotonically increased. That is, when the rudder angle deviation φ e is the peak rudder angle deviation φ peak When it is below, as the rudder angle deviation φ e decreases, the risk of oscillation decreases. Therefore, by monotonically increasing the adjustment coefficient C, the adjustment speed command value 76 can be increased according to the decrease in the risk of oscillation, and the speed of the moving body 1 can be quickly increased.
[0113] Also, when the rudder angle deviation φ e is larger than the peak rudder angle deviation φ peak the adjustment coefficient C is set to a constant value according to the estimated peak value 74. That is, when the rudder angle deviation φ e is larger than the peak rudder angle deviation φ peak When it is larger, as the rudder angle deviation φ e decreases, the risk of oscillation increases. Therefore, by setting the adjustment coefficient C to a constant value according to the estimated peak value 74 of the turning acceleration, the increase in the speed of the moving body 1 until the rudder angle deviation φ e reaches the peak rudder angle deviation φ peak can be suppressed. As a result, while suppressing the speed fluctuation of the moving body 1, the oscillation of the moving body 1 when the rudder angle deviation φ e reaches the peak rudder angle deviation φ peak can be effectively suppressed.
[0114] Furthermore, the control method for the mobile body 1 of the embodiment is a control method for the mobile body 1 equipped with an active caster 11, and comprises the steps of: calculating a target rudder angle 72 of the active caster 11 based on a speed command value 71 of the mobile body 1; acquiring a measured value 73 of the rudder angle of the active caster 11; calculating an estimated peak value 74 of the turning acceleration that may occur in the active caster 11 according to the speed command value 71, based on the target rudder angle 72 and the measured value 73; acquiring a preset upper limit value 75 of the turning acceleration; calculating a correction coefficient C that limits the turning acceleration of the active caster 11 to less than or equal to the upper limit value 75 of the turning acceleration, based on the estimated peak value 74 and the upper limit value 75 of the turning acceleration; and outputting a corrected speed command value 76 based on the speed command value 71 and the correction coefficient C.
[0115] According to the control method for the mobile body 1 of this embodiment, the rotational acceleration of the active caster 11 is limited to a rotational acceleration upper limit of 75 or less, so a compensatory speed command value 76 that would cause a sudden rotational acceleration is not calculated. Therefore, by setting the rotational acceleration upper limit value 75 to an upper limit value corresponding to the specifications of the drive unit (motor) of the active caster 11, it is possible to suppress the oscillation of the mobile body 1 because the active caster 11 is unable to follow the operation required by the speed command value 71.
[0116] [Differentiation] Furthermore, within the scope of the present invention, it is possible to freely combine each embodiment, modify any component of each embodiment, or omit any component in each embodiment. [Explanation of symbols]
[0117] 1 Mobile Unit 11 Active Caster 61 Target Rudder Angle Calculation Unit 62 Steering angle acquisition unit 63 Turning acceleration calculation unit 64 Upper limit acquisition section 65. Correction coefficient calculation unit 66 Speed compensation section 71 Speed command value 72 Target rudder angle 73 Measured Rudder Angle 74 Estimated peak value 75. Upper limit of turning acceleration 76. Corrected Speed Command Value 100 Control device C correction coefficient
Claims
1. A control device for a mobile body equipped with active casters, A target rudder angle calculation unit calculates the target rudder angle of the active caster based on the speed command value of the moving body, A steering angle acquisition unit that acquires the measured value of the steering angle of the active caster, A turning acceleration calculation unit calculates an estimated peak value of the turning acceleration that may occur in the active caster according to the speed command value, based on the target steering angle and the measured steering angle. An upper limit acquisition unit that acquires a pre-set upper limit value for turning acceleration, A correction coefficient calculation unit calculates a correction coefficient that limits the rotational acceleration of the active caster to less than or equal to the rotational acceleration upper limit, based on the estimated peak value and the rotational acceleration upper limit; The system includes a speed correction unit that outputs a corrected speed command value based on the speed command value and the correction coefficient. A control device for mobile vehicles.
2. The aforementioned correction coefficient is a scalar multiplied by the vector of the speed command value, The correction coefficient calculation unit maintains or increases the correction coefficient relative to its initial value as time progresses until the measured rudder angle reaches the target rudder angle. A control device for a mobile body according to claim 1.
3. The correction coefficient calculation unit calculates the correction coefficient to make the turning acceleration match the upper limit of the turning acceleration when the turning acceleration reaches the estimated peak value. A control device for a mobile body according to claim 1.
4. The correction coefficient calculation unit determines the steering angle deviation between the target steering angle and the measured steering angle, and the peak steering angle deviation at which the turning acceleration reaches the estimated peak value, and changes the correction coefficient according to the relative magnitudes of the steering angle deviation and the peak steering angle deviation. A control device for a mobile body according to claim 1.
5. The correction coefficient calculation unit, when the steering angle deviation is less than or equal to the peak steering angle deviation, monotonically increases the correction coefficient in accordance with the decrease in the steering angle deviation. A control device for a mobile body according to claim 4.
6. The correction coefficient calculation unit, when the steering angle deviation is greater than the peak steering angle deviation, sets the correction coefficient to a constant value corresponding to the estimated peak value. A control device for a mobile body according to claim 4.
7. A method for controlling a mobile body equipped with active casters, A step of calculating the target rudder angle of the active caster based on the speed command value of the moving body, The steps include obtaining the measured value of the steering angle of the active caster, A step of calculating an estimated peak value of the turning acceleration that may occur in the active caster according to the speed command value, based on the target steering angle and the measured steering angle; The steps include obtaining a pre-set upper limit value for turning acceleration, A step of calculating a correction coefficient that limits the rotational acceleration of the active caster to less than or equal to the rotational acceleration upper limit, based on the estimated peak value and the rotational acceleration upper limit; The system includes the step of outputting a corrected speed command value based on the speed command value and the correction coefficient. A method for controlling a moving object.
Citation Information
Patent Citations
Omnidirectional mobile vehicle and its control method
JP3560403B2