Control planning system, control planning method, and program
The control planning device addresses the high computational load in existing technologies by generating control plans with predetermined driving speed and steering angle settings, efficiently reducing the calculation burden for controlling moving objects.
Patent Information
- Application Number
- JP2024013894
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-01
- Publication Date
- 2025-08-14
AI Technical Summary
Existing technologies for controlling the operation of moving objects, such as forklifts, impose a heavy computational load due to the need to solve one-dimensional nonlinear optimization problems for determining steering angles.
A control planning device that acquires the driving state of a mobile body with a single drive wheel, calculates the difference between a target route and the driving state, and generates a control plan by setting the driving speed and steering angle to predetermined values to satisfy specific conditions, reducing the need for repeated calculations.
This approach reduces the calculation load for controlling the operation of moving bodies by simplifying the determination of steering angles, thereby enhancing computational efficiency.
Smart Images

Figure 2025119175000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a control planning device, a control planning method, and a program. [Background technology]
[0002] For example, there is a technology for controlling a moving object such as a forklift. In this regard, for example, Patent Document 1 discloses an autonomous vehicle. The autonomous vehicle according to Patent Document 1 has a control device that controls the steering angle of a single steering wheel. The control device performs nonlinear model predictive control using a non-dimensional motion model in which the input is only one-dimensional, that is, the steering angle, to determine an optimal input and control the steering angle according to the optimal input. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent No. 7115816 Summary of the Invention [Problem to be solved by the invention]
[0004] The technology disclosed in Patent Document 1 requires solving a one-dimensional nonlinear optimization problem to determine the steering angle of the steering wheels. Therefore, the technology disclosed in Patent Document 1 may impose a heavy computational load on the autonomous vehicle.
[0005] The object of the present disclosure has been made to solve such problems, and is to provide a control planning device, a control planning method, and a program that can reduce the calculation load for controlling the operation of a moving body. [Means for solving the problem]
[0006] The control planning device according to the present disclosure includes a driving state acquisition means for acquiring a driving state, which is a state in which a mobile body having a single drive wheel capable of changing the direction of the mobile body is traveling, a difference calculation means for calculating a difference between a target route, which is a route that the mobile body should travel, and the driving state, and a control plan generation means for generating a control plan for controlling the drive wheels based on the difference, by setting the driving speed of the drive wheels to a predetermined value and setting the angular velocity of the steering angle, which is the angle of the drive wheels relative to the mobile body, to either a predetermined first value or a second value in which the direction of change of the steering angle is different from the first value, so as to satisfy predetermined conditions.
[0007] In addition, the control planning method according to the present disclosure acquires a driving state, which is a state in which a moving body having a single drive wheel capable of changing the direction of the moving body is traveling, calculates the difference between the driving state and a target route, which is a route that the moving body should travel, and, based on the difference, generates a control plan for controlling the drive wheel so as to satisfy predetermined conditions by setting the driving speed of the drive wheel to a predetermined value and setting the angular velocity of the steering angle, which is the angle of the drive wheel relative to the moving body, to either a predetermined first value or a second value whose direction of change in the steering angle is different from the first value.
[0008] In addition, the program according to the present disclosure causes a computer to execute the following steps: acquiring a driving state in which a mobile body having a single driving wheel capable of changing the direction of the mobile body is traveling; calculating the difference between a target route, which is the route along which the mobile body should travel, and the driving state; and generating a control plan for controlling the driving wheels based on the difference to satisfy predetermined conditions by setting the driving speed of the driving wheels to a predetermined value and setting the angular velocity of the steering angle, which is the angle of the driving wheels relative to the mobile body, to either a predetermined first value or a second value in which the direction of change of the steering angle is different from the first value. [Effects of the Invention]
[0009] According to the present disclosure, it is possible to provide a control planning device, a control planning method, and a program that can reduce the calculation load for controlling the operation of a moving body. [Brief explanation of the drawings]
[0010] [Figure 1] FIG. 1 is a diagram illustrating a configuration of a control planning device according to the present disclosure. [Figure 2] 1 is a flowchart illustrating a control planning method executed by a control planning device according to the present disclosure. [Figure 3] FIG. 1 is a diagram illustrating a configuration of a control planning system according to the present disclosure. [Figure 4] FIG. 1 is a diagram illustrating a configuration of a moving body according to the present disclosure. [Figure 5] FIG. 1 is a diagram illustrating a configuration of a control planning device according to the present disclosure. [Figure 6] 10A and 10B are diagrams for explaining a difference between a target route and a traveling state according to the present disclosure. [Figure 7] 10A and 10B are diagrams for explaining changes in vehicle body angle when the steering angle of the drive wheels of the moving body according to the present disclosure is controlled. [Figure 8] 10A and 10B are diagrams for explaining changes in vehicle body angle when the steering angle of the drive wheels of the moving body according to the present disclosure is controlled. [Figure 9] 10 is a diagram illustrating an example of relationship information stored by a relationship information storage unit according to the present disclosure. FIG. [Figure 10] FIG. 10 is a diagram illustrating an example of a control plan generated by a control plan generating unit according to the present disclosure. [Figure 11] FIG. 10 is a diagram illustrating an example of a control plan generated by a control plan generating unit according to the present disclosure. [Figure 12] 10 is a flowchart illustrating an example of processing executed by a control planning device according to the present disclosure. [Figure 13] 10 is a flowchart illustrating an example of processing executed by a control planning device according to the present disclosure. [Figure 14] FIG. 1 is a diagram illustrating a configuration of a control planning device according to the present disclosure. [Figure 15] 10 is a flowchart illustrating an example of processing executed by a control planning device according to the present disclosure. [Figure 16] 10 is a flowchart illustrating an example of processing executed by a control planning device according to the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0011] Hereinafter, embodiments will be described with reference to the drawings. For clarity of explanation, the following description and drawings have been omitted and simplified as appropriate. In addition, in each drawing, the same elements are given the same reference numerals, and duplicate explanations are omitted as necessary. In addition, although the following description will be made using drawings, a drawing used in the description of a certain embodiment does not apply only to that embodiment. Each drawing may be applied to all embodiments.
[0012] (Embodiment 1) FIG. 1 is a diagram showing the configuration of a control planning device 1 according to the present disclosure. The control planning device 1 has a traveling state acquisition unit 12, a difference calculation unit 14, and a control plan generation unit 16. The traveling state acquisition unit 12 functions as traveling state acquisition means. The difference calculation unit 14 functions as difference calculation means. The control plan generation unit 16 functions as control plan generation means. The control planning device 1 executes a control plan for the operation of a moving object using these components.
[0013] The control planning device 1 may be realized by a computer. The control planning device 1 may be realized by, for example, cloud computing. The control planning device 1 may also be realized by, for example, multiple computers connected to each other so that they can communicate with each other. The components of the control planning device 1 may be distributed and realized on multiple computers. That is, the computer that realizes the traveling state acquisition unit 12, the computer that realizes the difference calculation unit 14, and the computer that realizes the control plan generation unit 16 may be physically separate. The functions of each of the multiple components may also be realized by multiple computers.
[0014] In the present disclosure, a "mobile body" refers to an object that travels on a traveling surface such as a floor or a road. The mobile body may be, for example, a vehicle such as a forklift. The mobile body may also travel without the operation of an operator such as a driver. In other words, the mobile body may be a vehicle capable of autonomous travel. The mobile body may be, for example, an AGV (Automated Guided Vehicle) or an AGF (Automated Guided Forklift).
[0015] In addition, in the present disclosure, a "moving body" has a single drive wheel that can change the direction of the moving body. Furthermore, a "drive wheel" is a wheel that is driven by a prime mover such as a motor or an engine and rotates around the axle of the drive wheel. Here, in the present disclosure, as described above, the drive wheel can change the direction of the moving body. In other words, the drive wheel is configured so that the angle of the steering direction can be changed. In other words, the direction of the moving body can be changed by changing the angle of the steering direction of the drive wheel.
[0016] Here, the "steering direction" refers to the direction in which the traveling direction of a moving body changes left or right. For example, the steering direction corresponds to the orientation on a plane along the traveling surface. For example, the steering direction corresponds to the orientation on a plane along a horizontal plane. Note that a "horizontal plane" corresponds to a plane along the traveling surface. The horizontal plane does not have to be strictly parallel to the traveling surface. For example, the steering direction corresponds to the direction around an axis perpendicular to the traveling surface. The steering direction can also be referred to as the steering direction. The orientation of the steering direction of the drive wheels corresponds to the steering angle of the drive wheels. Therefore, the drive wheels can change the direction of the moving body by changing the steering angle. The steering angle of the drive wheels is the angle of the steering direction of the drive wheels relative to the moving body. The steering angle of the drive wheels can be changed by a steering function provided in the moving body. In other words, the drive wheels are configured to rotate in a direction along the traveling surface by the steering function. The steering function is a function for controlling the traveling direction of the moving body. The steering function can operate the steering angle of the drive wheels by controlling the orientation of the axles of the drive wheels.
[0017] In addition, in this disclosure, the "angular velocity" of the drive wheels corresponds to the amount of change in the steering angle of the drive wheels per unit time. In other words, the angular velocity of the drive wheels corresponds to the amount of change in the steering angle of the drive wheels per unit time. In other words, the "angular velocity" of the drive wheels corresponds to the angular velocity of the steering angle of the drive wheels.
[0018] Furthermore, the drive wheels may be provided on the rear side of the moving body or on the front side of the moving body. That is, the drive wheels may be the rear wheels of the moving body or the front wheels of the moving body. Note that if the drive wheels are rear wheels, non-drive wheels whose steering direction is fixed may be provided as front wheels in front of the drive wheels of the moving body. Note that if the drive wheels are front wheels, non-drive wheels whose steering direction is fixed may be provided as rear wheels behind the drive wheels of the moving body. Non-drive wheels may also be referred to as driven wheels.
[0019] When the steering angle of the drive wheels of a moving body is 0 degrees, the moving body moves straight. In other words, when the steering angle of the drive wheels of a moving body is 0 degrees, the moving body travels along a straight trajectory. On the other hand, when the speed of the moving body is constant and the steering angle of the drive wheels of the moving body is a fixed angle other than 0 degrees, the moving body travels along an arc trajectory. In this case, the radius of curvature of the arc trajectory that the moving body follows can be determined by the steering angle and the body length.
[0020] In this disclosure, the "body length" of a moving body corresponds to the length of the portion of the moving body that comes into contact with the traveling surface. For example, the body length corresponds to the wheelbase. The wheelbase corresponds to the length in the front-to-rear direction between the center of rotation of the front wheels and the center of rotation of the rear wheels of the moving body. In other words, the wheelbase, i.e., the body length, corresponds to the length in the front-to-rear direction between the front wheels and the rear wheels of the moving body.
[0021] The traveling speed of a moving body can be determined by the traveling speed of the drive wheels. The traveling speed of the drive wheels is the speed at which the drive wheels move in a direction along the traveling surface. The traveling speed of the drive wheels can be determined by the rotational speed of the drive wheels. The rotational speed of the drive wheels corresponds to the speed at which the vehicle rotates around the axle.
[0022] In the present disclosure, the term "control plan" corresponds to planning control related to the traveling of a mobile object. For example, the control plan may include planning how and at what point in time the mobile object will be controlled according to a target route. For example, the control plan may include planning how the mobile object will actually travel along a given target route. In other words, the control plan may include planning a route along which the mobile object will actually travel along a given target route. The control plan may include, for example, generating information related to control of the operation of the drive wheels. The control plan may include, for example, generating information related to the traveling speed of the drive wheels and the steering angle of the drive wheels. The control plan may also include, for example, generating information related to a transition in the steering angle of the drive wheels.
[0023] Here, the "target route" refers to a route along which the moving object is scheduled to travel. In other words, the "target route" refers to a route along which the moving object should travel. The target route may be calculated by taking into consideration, for example, the structure of the environment in which the moving object travels, the location of objects, obstacles, etc. Furthermore, the target route may be acquired by an existing route planning method, such as the Reeds-Shepp curve path planning method. Note that the "environment in which the moving object travels" may be determined appropriately depending on the type of moving object. For example, if the moving object is a forklift, the "environment in which the moving object travels" may be a warehouse or the like in which the moving object transports goods. Note that the "environment in which the moving object travels" may change while the moving object is traveling in that environment.
[0024] The target path may be a collection of multiple trajectories. In other words, the target path may be configured by connecting multiple trajectories. Here, the trajectories included in the target path include, for example, straight trajectories and curved trajectories. The characteristics of a straight trajectory may be defined by the length of the trajectory and the direction in which it extends on a plane along the traveling surface. A curved trajectory may include one or more arc trajectories. The characteristics of an arc trajectory may be defined by the length of the trajectory, the curvature or radius of curvature, and the center of the circle corresponding to the arc.
[0025] 2 is a flowchart showing a control planning method executed by the control planning device 1 according to the present disclosure. The traveling state acquisition unit 12 acquires the traveling state of the mobile object (step S12). Here, the "traveling state" refers to the state in which the mobile object is traveling. The traveling state may include, for example, the position and orientation (travel direction) in which the mobile object is traveling. The traveling state will be described in detail later.
[0026] The difference calculation unit 14 calculates the difference between the target route and the running state (step S14). For example, when the running state includes the position of the moving object, the difference calculation unit 14 may calculate, as the difference between the target route and the running state, a position difference which is a difference corresponding to the distance between the target route and the position of the moving object. Furthermore, when the running state includes the traveling direction of the moving object, the difference calculation unit 14 may calculate, as the difference between the target route and the running state, a direction difference which is a difference between the direction in which the target route extends and the traveling direction of the moving object, that is, an angle of the orientation of the moving object with respect to the direction in which the target route extends. Therefore, the "difference" may correspond to a deviation or deviation of the running state from the target route.
[0027] The control plan generating unit 16 generates a control plan for controlling the drive wheels of the mobile object so as to satisfy a predetermined condition based on the calculated difference (step S16). Specifically, the control plan generating unit 16 generates a control plan for controlling the drive wheels of the mobile object so as to satisfy the predetermined condition based on the difference, with the travel speed of the drive wheels set to a predetermined value and the angular velocity of the steering angle set to either a first value or a second value. Here, the "first value" is a predetermined value. The "second value" is a predetermined value that changes the steering angle in a direction different from the first value. In other words, if the first value is a positive value, the second value is a negative value. On the other hand, if the first value is a negative value, the second value is a positive value. The "predetermined condition" may be a condition under which a difference (deviation) in the travel state with respect to the target route is deemed to be appropriately resolved. This will be described in detail later.
[0028] The control planning device 1 according to the first embodiment is configured as described above, and therefore can reduce the calculation load for controlling the operation of a moving object. In other words, the control planning device 1 according to the first embodiment can reduce the calculation load for controlling the operation of the drive wheels. In other words, the control planning device 1 according to the first embodiment can reduce the calculation load for calculating the steering angle of the drive wheels.
[0029] That is, the technology disclosed in Patent Document 1 requires solving a nonlinear optimization problem to determine the steering angle of the steering wheels. Here, to solve the nonlinear optimization problem in Patent Document 1, it is necessary to search for a target value of the steering angle that maximizes or minimizes the evaluation function by repeatedly changing the steering angle value, inputting the changed steering angle into the evaluation function, and evaluating the output value of the evaluation function. Therefore, the technology disclosed in Patent Document 1 requires a very long time to calculate the steering angle. Therefore, the technology disclosed in Patent Document 1 may increase the calculation load for calculating the steering angle.
[0030] In contrast, the control planning device 1 according to this embodiment is configured to control the drive wheels so as to satisfy predetermined conditions by setting the traveling speed of the drive wheels to a predetermined value and the angular velocity of the steering angle to either a predetermined first value or a predetermined second value. Therefore, compared to the technology according to Patent Document 1, the steering angle of the drive wheels can be calculated more easily. Therefore, the control planning device 1 according to this embodiment does not require the repeated calculations required in the technology according to Patent Document 1. Therefore, the control planning device 1 according to this embodiment can reduce the calculation load for calculating the steering angle of the drive wheels.
[0031] It should be noted that a control planning system including the control planning device 1, as will be described later, can also reduce the calculation load for controlling the operation of a moving object. Also, a control planning method executed by the control planning device 1 can also reduce the calculation load for controlling the operation of a moving object. Also, a program that executes the control planning method can also reduce the calculation load for controlling the operation of a moving object.
[0032] Furthermore, the control plan generator 16 may generate a control plan that satisfies the conditions by identifying at least one period during which the angular velocity of the steering angle is controlled using the first value and the second value, respectively, based on the directional difference. As will be described later, by controlling the angular velocity of the steering angle during the period, the traveling direction of the moving object can be efficiently changed to a desired direction. Therefore, with the above-described configuration, the control plan device 1 according to the first embodiment can efficiently reduce the deviation between the direction in which the target path extends and the traveling direction of the moving object.
[0033] (Embodiment 2) Next, a second embodiment will be described with reference to the drawings. For clarity of explanation, the following description and drawings have been omitted and simplified as appropriate. In addition, the same elements in each drawing are given the same reference numerals, and duplicate explanations are omitted as necessary.
[0034] 3 is a diagram showing the configuration of a control planning system 20 according to the present disclosure. The control planning system 20 has, as its main hardware components, a control unit 22, a storage unit 24, a communication unit 26, and an interface unit 28. The control unit 22, the storage unit 24, the communication unit 26, and the interface unit 28 are connected to each other via a data bus or the like.
[0035] The control unit 22 is a processor such as a CPU (Central Processing Unit). The control unit 22 functions as an arithmetic device that performs control processing, arithmetic processing, etc. The control unit 22 may have multiple processors. The storage unit 24 is a storage device such as a memory or a hard disk. The storage unit 24 is a memory such as a ROM (Read Only Memory) or a RAM (Random Access Memory). The storage unit 24 has a function to store control programs, arithmetic programs, etc. executed by the control unit 22. In other words, the storage unit 24 stores one or more instructions. The storage unit 24 also has a function to temporarily store processing data, etc. The storage unit 24 may include a database. The storage unit 24 may have multiple memories.
[0036] The communication unit 26 performs processing necessary for a device having the above hardware configuration to communicate with other devices via a network. The communication unit 26 may include a communication port, a router, a firewall, etc. The interface unit 28 is, for example, a user interface (UI). The interface unit 28 has an input device such as a keyboard, a touch panel, or a mouse, and an output device such as a display or a speaker. The interface unit 28 may be configured such that the input device and the output device are integrated, such as a touch screen or a touch panel. The interface unit 28 accepts data input operations by a user such as an operator or worker, and outputs information to the user. The interface unit 28 may also output information indicating a control plan.
[0037] The control planning system 20 also includes one or more mobile objects 40 and a control planning device 100. The mobile objects 40 and the control planning device 100 are communicatively connected via a network. The network may be, for example, a wireless network or a wired network. That is, the control planning device 100 is connected to the mobile objects 40 wirelessly or via a wired network. The wireless network may be, for example, a network using a communication line standard such as LTE (Long Term Evolution), or may be a network used in a specific area such as WiFi (registered trademark) or local 5G. The wired network may be, for example, a LAN (Local Area Network) or optical fiber.
[0038] FIG. 4 is a diagram illustrating an example of the configuration of a moving body 40 according to the present disclosure. FIG. 4 is a plan view of the moving body 40. Note that, although the moving body 40 illustrated in FIG. 4 has rear wheels as drive wheels, the front wheels may also be drive wheels. FIG. 4 also introduces an XY Cartesian coordinate system for explaining the control of the moving body 40. The XY plane is a plane along the traveling surface of the moving body 40. For convenience of explanation, the horizontal direction of the page is defined as the X-axis direction, and the rightward direction of the page is defined as the +X-axis direction. The vertical direction of the page is defined as the Y-axis direction, and the downward direction of the page is defined as the +Y-axis direction. In other words, the rightward direction when viewed from the origin of the XY coordinate system in the +X-axis direction is defined as the +Y-axis direction. Note that the XY coordinate system does not need to be fixed in the space in which the moving body 40 exists, and may change depending on the trajectory along which the moving body 40 is traveling. In the following explanation, it is assumed that the XY coordinate system changes depending on the trajectory along which the moving body 40 is traveling. The definitions of the XY coordinate system, the vehicle body angle θ, the steering angle φ, and the like explained using FIG. 4 are merely examples, and are not limited to the definitions in the following explanation.
[0039] The moving body 40 has a body 41, drive wheels 42, and non-drive wheels 44. The moving body 40 may also have a control device 46 and a detection device 48. The body 41 corresponds to a body frame of the moving body 40. The body 41 also has a front side 41a, a rear side 41b, a right side 41c, and a left side 41d. Note that the front side 41a, the rear side 41b, the right side 41c, and the left side 41d are provided for the convenience of explanation, and the shape of the body 41 does not need to be rectangular. Note that if the moving body 40 is a forklift, a loading device such as a fork may be provided on the front side 41a of the body 41. Also, the body angle of the moving body 40 is defined as θ. The body angle θ corresponds to the attitude angle of the body 41.
[0040] The drive wheels 42 are provided near the rear side surfaces 41b of the vehicle body 41. As described above, the drive wheels 42 are rotated by being driven by a prime mover (not shown). Furthermore, the drive wheels 42 turn around the center positions 42c of the drive wheels 42 in the XY plane. That is, the direction of the drive wheels 42 relative to the vehicle body 41 in the XY plane can change. As described above, the turning of the drive wheels 42 can change the traveling direction of the mobile body 40. Furthermore, the turning of the drive wheels 42 can change the steering angle φ of the drive wheels 42.
[0041] The non-drive wheels 44 are provided near the front side surface 41a of the vehicle body 41. The non-drive wheel 44R is provided near the right side surface 41c of the vehicle body 41. The non-drive wheel 44L is provided near the left side surface 41d of the vehicle body 41. The non-drive wheels 44 rotate as the drive wheels 42 are driven to rotate, causing the vehicle body 41 to move. Unlike the drive wheels 42, the orientation of the non-drive wheels 44 relative to the vehicle body 41 in the XY plane is fixed. In other words, the non-drive wheels 44 do not turn relative to the vehicle body 41. Note that although two non-drive wheels 44 are shown in FIG. 4, the number of non-drive wheels 44 is not limited to two. The number of non-drive wheels 44 may be one, or three or more.
[0042] The control device 46 controls the operation of the moving body 40. In particular, the control device 46 controls the operation of the drive wheels 42. The control device 46 is provided at any location on the vehicle body 41 where the operation of the drive wheels 42 can be controlled. For example, the control device 46 may be provided near a prime mover that drives the drive wheels 42. The control device 46 controls the operation of the drive wheels 42 in accordance with a control plan of the control planning device 100, which will be described later. The control device 46 may control the traveling speed of the drive wheels 42 and the steering angle of the drive wheels 42. The control device 46 may be built into the moving body 40 or may be physically separate from the moving body 40.
[0043] The detection device 48 detects the state of the mobile object 40 or the state of the surroundings of the mobile object 40. The detection device 48 is, for example, a sensor. The detection device 48 may detect position information of the mobile object 40. In this case, the detection device 48 may have a positioning function such as a Global Navigation Satellite System (GNSS). The detection device 48 may also detect the steering angle of the drive wheels 42 of the mobile object 40. In this case, the detection device 48 may include a sensor such as a potentiometer that detects the steering angle of the drive wheels 42. The detection device 48 may also detect the state of the environment in which the mobile object 40 travels. In this case, the detection device 48 may include an imaging device that captures images of the surroundings of the mobile object 40. The detection device 48 may also have a ranging function such as a Light Detection and Ranging (LiDAR) that measures the distance to surrounding objects. The detection device 48 may be built into the mobile object 40 or may be physically separate from the mobile object 40.
[0044] Here, the distance in the front-to-rear direction between the center position 42c of the drive wheel 42 and the axle of the non-drive wheel 44 is defined as the vehicle body length L. Therefore, as described above, the vehicle body length L corresponds to the wheelbase length. Also, an imaginary line 41e that passes through the center position 42c of the drive wheel 42 and is perpendicular to the axle of the non-drive wheel 44 is defined as a line that represents the front-to-rear direction of the vehicle body 41. In other words, the direction in which the imaginary line 41e extends corresponds to the front-to-rear direction of the vehicle body 41, i.e., the mobile body 40.
[0045] In the example of FIG. 4, the body angle θ is the angle of the virtual line 41e with respect to the X-axis. In the example of FIG. 4, the body angle θ is positive in the direction of rotation toward the positive Y-axis direction with respect to the positive X-axis direction. In other words, the clockwise direction of the body angle θ with respect to the positive X-axis direction in FIG. 4 is positive. The direction of the body angle θ is sometimes expressed as the "orientation of the body 41." In this case, the body angle θ is the angle of the clockwise direction of the orientation of the body 41 with respect to the positive X-axis direction. In addition, the body angle θ corresponds to the traveling direction of the mobile body 40 with respect to the positive X-axis direction.
[0046] The traveling direction of the drive wheels 42 is indicated by arrow A. The traveling speed of the drive wheels 42 is denoted by V. In the example of FIG. 4, the steering angle φ is the angle of the traveling direction of the drive wheels 42 relative to the virtual line 41e. In the example of FIG. 4, the steering angle φ is positive when it rotates from the positive X-axis direction toward the positive Y-axis direction relative to the virtual line 41e. In other words, the clockwise direction of the steering angle φ is positive with respect to the virtual line 41e in FIG. 4. In other words, the steering angle φ is the angle of the clockwise traveling direction of the steering angle φ relative to the orientation of the vehicle body 41. In addition, the coordinate position of the center position 42c of the drive wheels 42 in the XY coordinate system is denoted by (x, y). The traveling state of the mobile body 40 is represented by (x, y, θ).
[0047] The control planning device 100 corresponds to the control planning device 1 according to the first embodiment described above. The control planning device 100 is, for example, an information processing device such as a computer. The control planning device 100 has the hardware configuration shown in FIG. 3 described above. Furthermore, each component of the control planning device 100 described below may be realized by the cloud computing described above or by multiple computers. That is, the control planning device 100 may be realized by multiple computers. Furthermore, the control device 46 of the moving object 40 has the hardware configuration shown in FIG. 3 described above. Furthermore, the control planning device 100 may be built into the moving object 40 or the control device 46.
[0048] FIG. 5 is a diagram illustrating a configuration of a control planning device 100 according to the present disclosure. As described above, the control planning device 100 includes, as hardware components, the control unit 22, the storage unit 24, the communication unit 26, and the interface unit 28 shown in FIG. 3. The control planning device 100 also includes, as components, a driving parameter acquisition unit 110, a driving characteristic identification unit 120, a driving characteristic storage unit 122, a target route acquisition unit 130, and a target route storage unit 132. The control planning device 100 also includes, as components, a driving state acquisition unit 140, a difference calculation unit 150, a control plan generation unit 160, a relationship information storage unit 162, and a control plan output unit 170. The control planning device 100 executes a control plan for the operation of the moving object 40 using these components.
[0049] As described above, the control planning device 100 does not need to be configured as a single physical device. In this case, the above-described components may be realized by multiple physically separate devices.
[0050] The driving parameter acquisition unit 110 functions as driving parameter acquisition means. The driving characteristic identification unit 120 functions as driving characteristic identification means. The driving characteristic storage unit 122 functions as driving characteristic storage means. The target route acquisition unit 130 functions as target route acquisition means. The target route storage unit 132 functions as target route storage means. The driving state acquisition unit 140 functions as driving state acquisition means. The difference calculation unit 150 functions as difference calculation means. The control plan generation unit 160 functions as control plan generation means. The relationship information storage unit 162 functions as relationship information storage means. The control plan output unit 170 functions as control plan output means.
[0051] Each of the above-described components can be realized, for example, by executing a program under the control of the control unit 22. More specifically, each component can be realized by the control unit 22 executing a program or instruction stored in the storage unit 24. Alternatively, each component may be realized by recording the necessary program on any non-volatile recording medium and installing it as needed. Each component may not necessarily be realized by software programs, but may be realized by any combination of hardware, firmware, and software. Each component may also be realized using a user-programmable integrated circuit, such as an FPGA (field-programmable gate array) or a microcomputer. In this case, a program consisting of each of the above-described components may be realized using this integrated circuit. The same applies to the other embodiments.
[0052] Note that each of the components shown in Fig. 5 may be realized by cloud computing or multiple computers. In this case, each of the components shown in Fig. 5 may be realized by control planning system 20 realized by cloud computing or multiple computers.
[0053] The traveling parameter acquisition unit 110 acquires traveling parameters of the mobile body 40. Here, "traveling parameters" are parameters related to the traveling of the mobile body. Specifically, the traveling parameters can be used to identify the behavior of the mobile body 40 in a changing section of the target route, which will be described later. The traveling parameters may include, for example, the traveling speed of the mobile body. The traveling parameters may also include the traveling speed of the driving wheels of the mobile body. The traveling parameters may also include, for example, the angular velocity of the driving wheels of the mobile body. The traveling parameters may also include the body length of the mobile body.
[0054] The driving parameter acquisition unit 110 may acquire the driving parameters by, for example, inputting the driving parameters through a user operation. In this case, the driving parameter acquisition unit 110 may be realized by the interface unit 28 described above. The driving parameter acquisition unit 110 may also acquire the driving parameters by receiving the driving parameters from another device. In this case, the driving parameter acquisition unit 110 may be realized by the communication unit 26 described above. The driving parameter acquisition unit 110 may also acquire driving parameters stored in advance in the storage unit 24. The driving parameter acquisition unit 110 may also calculate the driving parameters from information indicating the specifications of the moving object 40.
[0055] The traveling parameter acquiring unit 110 may acquire, for example, the traveling speed V of the moving object 40 and the body length L of the moving object 40. The traveling parameter acquiring unit 110 may also acquire the angular velocity of the steering angle φ of the driving wheels 42 of the moving object 40. The traveling parameter acquiring unit 110 may also acquire the angular velocity c of the steering angle φ. Here, c is assumed to be a positive value. The control planning device 100 according to the second embodiment generates a control plan for controlling the operation of the driving wheels 42 of the moving object 40 by setting the traveling speed of the moving object 40 to a constant speed V and setting the angular velocity of the steering angle φ to c, −c, or 0. As a result, as described above, when controlling the driving wheels 42 of the moving object 40 to reduce the difference (deviation) between the target route and the traveling state, it is possible to reduce the calculation load through simple control. However, the angular velocity of the steering angle φ is not limited to the above-mentioned value.
[0056] The driving characteristic identification unit 120 identifies the driving characteristics of the mobile object 40. Here, "driving characteristics" corresponds to some information for defining how the mobile object drives. The driving characteristics may be, for example, a control model or driving model for defining the speed and traveling direction of the mobile object. The driving characteristics may be identified, for example, by a mathematical formula defining the speed and traveling direction of the mobile object. The driving characteristics may, for example, indicate the speed of the mobile object in the X-axis direction and the Y-axis direction and the body angle on an XY plane using the driving parameters described above. The XY plane corresponds to the traveling surface, i.e., a plane along the horizontal plane. The body angle is, for example, the angle of the mobile object's body with respect to the X-axis or Y-axis. The body angle may also be referred to as the attitude angle of the mobile object. The driving characteristics may, for example, be a driving model defined by a differential equation obtained by differentiating the speed and body angle with respect to time.
[0057] In the example of FIG. 4, the travel model of the moving body 40 is expressed by the following equations 1 to 3 using differential equations.
number
number
number
[0058] Equation 1 represents the speed of the drive wheel 42 in the X-axis direction. Equation 2 represents the speed of the drive wheel 42 in the Y-axis direction. Equation 3 represents the angular velocity of the vehicle body angle θ. For convenience of notation, the left side of Equation 1 may be written as "xdot". Similarly, the left side of Equation 2 may be written as "ydot". The left side of Equation 3 may be written as "θdot".
[0059] The driving characteristics identification unit 120 identifies the driving characteristics of the mobile object 40 according to the driving parameters acquired by the driving parameter acquisition unit 110. The driving characteristics identification unit 120 may calculate the driving characteristics using the driving parameters. For example, the driving characteristics identification unit 120 may identify a driving model of the mobile object 40 as described above. In this case, the driving characteristics identification unit 120 may identify, as the driving characteristics, a driving model expressed by a differential equation defined by the driving speed V and the vehicle length L, as in Equations 1 to 3 described above.
[0060] The driving characteristics storage unit 122 stores the driving characteristics identified by the driving characteristics identification unit 120. The driving characteristics storage unit 122 can be realized by the memory unit 24. The driving characteristics storage unit 122 may also store the driving characteristics in a device that is physically separate from the control planning device 100.
[0061] The target route acquisition unit 130 acquires the target route described above. The target route may be calculated, for example, by a route generation algorithm such as a Reeds-Shepp curve path planning method, taking into consideration the structure, layout, obstacles, and the like of the environment in which the mobile object 40 travels. The target route acquisition unit 130 may acquire the target route, for example, by calculating the target route using the method described above. The target route acquisition unit 130 may also acquire the target route by receiving information indicating the target route from another device. In this case, the target route acquisition unit 130 may be realized by the communication unit 26 described above. Note that in this case, the target route may be calculated by the other device. In addition, for example, the target route acquisition unit 130 may acquire the target route by inputting the target route through a user operation. In this case, the target route acquisition unit 130 may be realized by the interface unit 28 described above.
[0062] The target path storage unit 132 stores information indicating the target path acquired by the target path acquisition unit 130. The target path storage unit 132 can be realized by the memory unit 24. The target path storage unit 132 may also store the target path in a device that is physically separate from the control planning device 100.
[0063] The running state acquisition unit 140 corresponds to the running state acquisition unit 12 shown in FIG. 1. Like the running state acquisition unit 12, the running state acquisition unit 140 acquires the running state of the mobile object 40. As described above, the running state indicates the position and orientation (travel direction) of the mobile object. The running state acquisition unit 140 acquires (x, y, θ) indicating the position and orientation of the mobile object 40 as the running state. In this case, the direction along the trajectory of the target route is defined as the positive X-axis direction. The rightward direction relative to the positive X-axis direction is defined as the positive Y-axis direction. The running state acquisition unit 140 acquires the running state (x, y, θ) of the mobile object 40 from the mobile object 40 or the detection device 48. In this case, the running state acquisition unit 140 may be realized by the communication unit 26 described above. Alternatively, the running state acquisition unit 140 may acquire the running state by inputting the running state through a user operation. In this case, the running state acquisition unit 140 may be realized by the interface unit 28 described above.
[0064] The difference calculation unit 150 corresponds to the difference calculation unit 150 shown in FIG. 1. Like the difference calculation unit 14, the difference calculation unit 150 calculates the difference between the target route and the traveling state. Here, the difference between the target route and the traveling state includes at least a directional difference Δθ. Furthermore, the difference between the target route and the traveling state may further include a position difference Δy. The difference calculation unit 150 calculates the position difference Δy and the directional difference Δθ.
[0065] Here, the directional difference Δθ is the difference between the traveling direction of the moving object 40 in a traveling state and the direction of the trajectory of the target route. In other words, the directional difference Δθ corresponds to the angle of the traveling direction of the moving object 40 relative to the direction of the target route. Furthermore, the positional difference Δy corresponds to the distance between the target route and the position of the moving object 40.
[0066] FIG. 6 is a diagram for explaining the difference between a target route and a traveling state according to the present disclosure. FIG. 6 shows a straight-line trajectory L0 of the target route. In the example of FIG. 6, the straight-line trajectory L0 extends from left to right. That is, in the straight-line trajectory L0 illustrated in FIG. 6, the traveling direction is rightward. Therefore, in the example of FIG. 6, the direction in which the straight-line trajectory L0 extends, i.e., the rightward direction, is defined as the positive X-axis direction (+X direction). The rightward direction when viewed from the origin of the XY coordinate system in the positive X-axis direction is defined as the positive Y-axis direction (+Y direction). As described above, the body angle θ is the angle of the body 41 in the clockwise direction relative to the positive X-axis direction. In other words, the body angle θ is defined as positive in the clockwise direction relative to the positive X-axis direction in FIG. 6, i.e., the direction of rotation toward the positive Y-axis direction relative to the positive X-axis direction.
[0067] As shown by arrow D1 in Fig. 6, when the drive wheels 42 of the moving body 40 move along the linear trajectory L0, it can be assumed that there is no difference between the target route and the running state. On the other hand, as shown in Fig. 6, when the drive wheels 42 of the moving body 40 move in the direction of arrow D2 at point P1 deviating from the linear trajectory L0, there is a difference between the target route and the running state. Note that if the running state at point P1 is (x, y, θ), then at point P1, the position of the drive wheels 42 of the moving body 40 is (x, y), and the body angle of the moving body 40 is θ.
[0068] 6, the difference between the direction of arrow D2 and the direction in which linear trajectory L0 extends, i.e., the difference between the direction of arrow D2 and the positive direction of the X-axis, is the directional difference Δθ. In other words, at point P1, the body angle θ deviates from the linear trajectory L0 by the directional difference Δθ. The directional difference Δθ corresponds to the body angle θ. When the directional difference Δθ is a positive value, the traveling direction of the mobile object 40 (body angle θ) deviates clockwise from the positive direction of the X-axis of the linear trajectory L0. On the other hand, when the directional difference Δθ is a negative value, the traveling direction of the mobile object 40 (body angle θ) deviates counterclockwise from the positive direction of the X-axis of the linear trajectory L0.
[0069] Furthermore, the distance between point P1 and the linear trajectory L0 corresponds to the position difference Δy. The position difference Δy corresponds to the deviation (deviation) of the position (x, y) of point P1 from the linear trajectory L0 in the positive direction of the Y axis (+Y direction). When the position difference Δy is a positive value, point P1 is at a position deviated from the linear trajectory L0 in the positive direction of the Y axis (+Y direction). On the other hand, when the position difference Δy is a negative value, point P1 is at a position deviated from the linear trajectory L0 in the negative direction of the Y axis (-Y direction).
[0070] Here, the intersection of the straight line L0 and the straight line trajectory L0 that passes through point P1 and is perpendicular to the straight line trajectory L0 is defined as P0, and the traveling state of the moving object 40 traveling along the straight line trajectory L0 at point P0 is defined as (0,0,0). In this case, the traveling state of point P1 is expressed as (0,Δy,Δθ).
[0071] The control plan generation unit 160 corresponds to the control plan generation unit 16 shown in FIG. 1. Similar to the control plan generation unit 16, the control plan generation unit 160 generates a control plan for controlling the drive wheels 42 of the moving object 40 so as to satisfy predetermined conditions based on the calculated differences (the directional difference Δθ and the positional difference Δy). Based on the differences, the control plan generation unit 160 generates a control plan for controlling the drive wheels 42 of the moving object 40 so as to satisfy predetermined conditions by setting the traveling speed of the drive wheels 42 to a predetermined constant speed V and setting the angular velocity of the steering angle to either a predetermined value c or −c. Here, c>0. The angular velocity c corresponds to the first value or the second value described above. The angular velocity −c corresponds to the first value or the second value described above.
[0072] 7 and 8 are diagrams for explaining changes in body angle θ when the steering angle φ of the drive wheels 42 of a mobile body 40 according to the present disclosure is controlled. In the examples of FIGS. 7 and 8, the period during which the angular velocity of the steering angle φ of the drive wheels 42 is controlled is defined as T. FIGS. 7 and 8 show a case in which control is performed on a mobile body 40 traveling on a straight trajectory L1 with a body angle θ=0, as indicated by arrow D, by controlling the angular velocity of the steering angle φ to c or −c during the period T so that the body angle θ becomes θ=ψ (≠0). In the examples of FIGS. 7 and 8, the traveling speed is defined as a constant speed V.
[0073] 7 shows a case where the angular velocity of the steering angle φ of the drive wheels 42 is controlled to c or −c during the period T to set the body angle θ to a positive value ψ. From the above-described equation 3, in order to change from a state in which the steering angle φ is 0 and the body angle θ is 0 to a state in which the steering angle φ is 0 and the body angle θ is a positive value, the drive wheels 42 should operate as follows. That is, the drive wheels 42 should operate so that the drive wheels 42 turn so that the φ changes in the negative direction during the period t is from 0 to T / 2, and so that the φ changes in the positive direction during the period t is from T / 2 to T. Specifically, the drive wheels 42 should operate so that the steering angle φ changes at an angular velocity −c during the period t is from 0 to T / 2, and so that the steering angle φ changes at an angular velocity c during the period t is from T / 2 to T.
[0074] The differential equation of Equation 3 above is integrated over the period from t=0 to t=T. When t is from 0 to T / 2, the steering angle φ and vehicle body angle θ are expressed by the following Equation 4. Here, when t=0, θ=0.
number
[0075] When t is from T / 2 to T, the steering angle φ and the vehicle body angle θ are expressed by the following equation 5.
number
[0076] If we set θ=ψ when t=T in the second equation of equation 5, we obtain the following equation 6.
number
[0077] FIG. 7 is a diagram illustrating the transition of the steering angle φ with respect to time t during a period T and the change in the vehicle body angle θ at that time. The upper diagram in FIG. 7 is a graph showing the equations for the steering angle φ in Equation 4 and Equation 5 above. In this case, the graph showing the transition of the steering angle φ draws a downward-convex, mountain-shaped waveform, as shown in the upper diagram in FIG. 7. That is, during the period t from 0 to T / 2, the steering angle φ changes at an angular velocity of -c. At this time, at time t=T / 2, φ=-c*T / 2. Then, during the period t from T / 2 to T, the steering angle φ changes at an angular velocity of c. At this time, φ=0 at time t=T. Then, at time t=T, the vehicle body angle θ becomes the value at t=T in the second equation of Equation 5. Therefore, in Equation 5, θ=ψ at t=T. Therefore, in this case, the period T is calculated so that θ=ψ at t=T in Equation 5. In other words, by changing the steering angle φ as shown in the upper diagram of Fig. 7 during the period T expressed by Equation 6, the drive wheels 42 move from a state in which the steering angle φ is 0 and the body angle θ is 0 to a state in which the steering angle φ is 0 and the body angle θ is a positive value ψ, as shown in the lower diagram of Fig. 7. In other words, the mobile object 40 changes from a state in which it is traveling along the straight trajectory L1 to a state in which it is traveling along the straight trajectory L2p. The straight trajectory L2p is a straight line inclined by an angle ψ in the positive direction (clockwise) from the straight trajectory L1.
[0078] FIG. 8 is a diagram illustrating the transition of the steering angle φ with respect to time t during a period T and the change in the vehicle body angle θ at that time. FIG. 8 illustrates a case in which the angular velocity of the steering angle φ of the drive wheels 42 is controlled to c or −c during the period T to set the vehicle body angle θ to a negative value ψ. From Equation 3 above, in order to change from a state in which the steering angle φ is 0 and the vehicle body angle θ is 0 to a state in which the steering angle φ is 0 and the vehicle body angle θ is a negative value, the drive wheels 42 should operate as follows. That is, the drive wheels 42 should operate so that the drive wheels 42 turn so that the φ changes in the positive direction during the period t is from 0 to T / 2, and so that the φ changes in the negative direction during the period t is from T / 2 to T. Specifically, the drive wheels 42 should operate so that the steering angle φ changes at an angular velocity c during the period t is from 0 to T / 2, and so that the steering angle φ changes at an angular velocity −c during the period t is from T / 2 to T. That is, the drive wheels 42 behave in a manner opposite to the behavior shown in the upper diagram of Figure 7, with the positive and negative values of φ changing from a state in which the steering angle φ is 0 and the body angle θ is 0 to a state in which the steering angle φ is 0 and the body angle θ is a negative value. That is, during the period from time t 0 to T / 2, the steering angle φ changes at an angular velocity c, and at time t = T / 2, φ = c * T / 2. Then, during the period from time t / 2 to T, the steering angle φ changes at an angular velocity -c, and at time t = T, φ = 0. In this case, as shown in the upper diagram of Figure 8, the graph showing the change in steering angle φ forms a convex, mountain-shaped waveform.
[0079] When ψ is a negative value, the drive wheels 42 operate to change the steering angle φ as described above during the period T expressed by the following equation 7. As a result, as shown in the lower diagram of FIG. 8, the drive wheels 42 operate so that the steering angle φ changes from 0 and the body angle θ changes from 0 to ψ, where the steering angle φ is 0 and the body angle θ changes to a negative value of ψ. In other words, the mobile object 40 changes from traveling along the straight trajectory L1 to traveling along the straight trajectory L2n. The straight trajectory L2n is a straight line inclined by an angle ψ in the negative direction (counterclockwise) from the straight trajectory L1.
number
[0080] In the upper diagrams of Figures 7 and 8, the traveling state of the moving body 40 at t = 0 is assumed to be (x, y, θ) = (0, 0, 0). In the upper diagrams of Figures 7 and 8, the traveling state of the moving body 40 at t = T is assumed to be (x, y, θ) = (xT, yT, θT). In this case, θT = ψ. Furthermore, xT corresponds to the distance traveled by the drive wheels 42 in the X-axis direction from the start of the steering angle φ until the end of the steering angle φ. yT corresponds to the distance traveled by the drive wheels 42 in the Y-axis direction from the start of the steering angle φ until the end of the steering angle φ. xT is calculated by numerically integrating the above equation 1 from t = 0 to t = T. yT is calculated by numerically integrating the above equation 2 from t = 0 to t = T. Note that θ and φ are shown in the above equations 4 and 5. Furthermore, the numerical integration may be performed by an existing method such as the Runge-Kutta method.
[0081] 7 and 8, (xT, yT, θT) may be calculated in advance by numerical integration for various values of T. Then, relationship information indicating the relationship between various values of T and (xT, yT, θT) may be prepared in advance. The relationship information may be, for example, a table indicating the relationship between the value of T and (xT, yT, θT). Alternatively, the relationship information may be, for example, a function representing the relationship between the value of T and (xT, yT, θT), or a graph corresponding to the function. This function may be obtained, for example, by interpolating or approximating a graph on which points indicating the value of T and each of (xT, yT, θT) are plotted.
[0082] Here, assuming that the upper limit of the steering angle φ is φmax, (xT, yT, θT) when T is changed at a predetermined interval between T=0 and T=φmax / c may be calculated in advance by numerical integration. Note that the smaller (finer) the predetermined interval is, the better the accuracy of calculations using related information as described below, but the calculation cost of the numerical integration and the amount of data of the related information increase.
[0083] The relationship information storage unit 162 stores relationship information. That is, the relationship information storage unit 162 stores in advance relationship information indicating the relationship between a period T during which the angular velocity of the steering angle φ is controlled using the first value (c or -c) and the second value (-c or c), respectively, and the traveling state that changes during the period T. The relationship information storage unit 162 can be realized by the above-mentioned storage unit 24. Here, the relationship information storage unit 162 according to the second embodiment stores relationship information that is generated in advance by performing numerical integration on the traveling model shown in Equations 1 to 3 as described above.
[0084] FIG. 9 is a diagram illustrating an example of relationship information stored by the relationship information storage unit 162 according to the present disclosure. The relationship information indicates a relationship between various values of T and post-control driving states corresponding to the values of T. Here, as shown in FIG. 9, the relationship information may indicate a relationship between the value of T and a driving state after controlling the angular velocity over a period T from a driving state of (0,0,0) when ψ>0, and a driving state after controlling the angular velocity over a period T from a driving state of (0,0,0) when ψ<0. In the example of FIG. 9, when T=Ta, the post-control driving state when ψ>0 is (xap, yap, θap), and the post-control driving state when ψ<0 is (xan, yan, θan). Furthermore, when T=Tb, the post-control driving state when ψ>0 is (xbp, ybp, θbp), and the post-control driving state when ψ<0 is (xbn, ybn, θbn). Furthermore, when T=Tc, the running state after control when ψ>0 is (xcp, ycp, θcp), and the running state after control when ψ<0 is (xcn, ycn, θcn).
[0085] By combining the behavior shown in the lower diagram of FIG. 7 with the behavior shown in the lower diagram of FIG. 8, it is possible to reduce the deviation of the traveling state from the target route as shown in FIG. 6. Therefore, the control plan generator 160 generates a control plan for performing the control shown in the upper diagram of FIG. 7 and the control shown in the upper diagram of FIG. 8, as will be described later. That is, the control plan generator 160 generates a control plan that satisfies a predetermined condition by specifying a period T1 (first period) and a period T2 (second period) based on the directional difference Δθ and the position difference Δy. Here, the period T1 is a period in which the angular velocity of the steering angle φ is set to a first value (c or −c) and then to a second value (−c or c). Furthermore, the period T2 is a period in which the angular velocity of the steering angle φ is set to a second value (−c or c) and then to the first value (c or −c). That is, the order of controlling the angular velocity of the steering angle φ is reversed between the period T1 and the period T2. This will be described in detail later.
[0086] 10 and 11 are diagrams illustrating examples of control plans generated by the control plan generator 160 according to the present disclosure. FIG. 10 illustrates a control plan for a period T3 in which the angular velocity of the steering angle φ is controlled in a period T1 corresponding to the example of FIG. 8, and then the angular velocity of the steering angle φ is controlled in a period T2 corresponding to the example of FIG. 7. FIG. 11 illustrates a control plan for a period T3 in which the angular velocity of the steering angle φ is controlled in a period T1 corresponding to the example of FIG. 7, and then the angular velocity of the steering angle φ is controlled in a period T2 corresponding to the example of FIG. 8. In FIGS. 10 and 11, T1≠T2. In the example of FIG. 10, T1 is longer than T2, and in the example of FIG. 11, T2 is longer than T1. However, the magnitude relationship between T1 and T2 is arbitrary in each of the examples of FIG. 10 and FIG. 11.
[0087] Using the example in Figure 10, the vehicle body angle θ after controlling the angular velocity of the steering angle φ in period T3 will be described. The vehicle body angle θ_T1 when the angular velocity of the steering angle φ is controlled in period T1 is expressed as in the following equation 8 by replacing ψ with θ_T1 in the above equation 7 and rearranging it. Note that, as described above using Figure 8, in period T1, the graph of the transition of the steering angle φ has an upward convex waveform, that is, the angular velocity of the steering angle φ is controlled to -c after c, so θ_T1<0.
number
[0088] Furthermore, the vehicle body angle θ_T2 when the angular velocity of the steering angle φ is controlled in the period T2 is expressed as the following formula 9 by replacing ψ with θ_T2 in the above formula 6 and transforming it. Note that, as described above with reference to Figure 7, in the period T2, the graph of the transition of the steering angle φ is a downward convex waveform, that is, the angular velocity of the steering angle φ is controlled to c after -c, so θ_T2>0.
number
[0089] Therefore, in the example of FIG. 10, the vehicle body angle θ_T3 after controlling the angular velocity of the steering angle φ in the period T3 is expressed as the sum of the equations 8 and 9, as in the following equation 10.
number
[0090] Here, if θ_T3=-Δθ, the deviation (directional difference Δθ) of the moving body's direction of travel from the straight-line trajectory L0 of the target route can be eliminated. Therefore, in the example of FIG. 10, when trying to eliminate the directional difference Δθ, T2 is expressed by an equation for T1, as in the following equation 11.
number
[0091] Next, the vehicle body angle θ after controlling the angular velocity of the steering angle φ in period T3 will be described using the example in Figure 11. The vehicle body angle θ_T1 when the angular velocity of the steering angle φ is controlled in period T1 is expressed as in the following equation 12 by replacing ψ with θ_T1 in the above equation 6 and rearranging it. Note that, as described above using Figure 7, in period T1, the graph of the transition of the steering angle φ has a downward convex waveform, that is, the angular velocity of the steering angle φ is controlled to c after -c, so θ_T1>0.
number
[0092] Furthermore, the vehicle body angle θ_T2 when the angular velocity of the steering angle φ is controlled in the period T2 is expressed as the following formula 13 by replacing ψ with θ_T2 in the above formula 7 and transforming it. Note that, as described above with reference to Figure 8, in the period T2, the graph of the transition of the steering angle φ has an upward convex waveform, that is, the angular velocity of the steering angle φ is controlled to -c after c, so θ_T2<0.
number
[0093] Therefore, in the example of FIG. 11, the vehicle body angle θ_T3 after controlling the angular velocity of the steering angle φ in the period T3 is expressed as the sum of equations 12 and 13, as in equation 14 below.
number
[0094] Here, if θ_T3=-Δθ, the deviation (directional difference Δθ) of the moving body's direction of travel from the straight-line trajectory L0 of the target route can be eliminated. Therefore, in the example of FIG. 11, when trying to eliminate the directional difference Δθ, T2 is expressed by an equation for T1, as in the following equation 15.
number
[0095] Note that when T1=T2, θ_T3=0 in the above equations 10 and 14. Therefore, when T1=T2, the change in steering angle φ in period T3 is 0. Therefore, a control plan for when T1=T2 can be generated when the directional difference Δθ is 0 and only the position difference Δy is reduced.
[0096] Here, Equation 11 shows the relationship between the period T1 and the period T2 for the example of FIG. 10. Equation 15 shows the relationship between the period T1 and the period T2 for the example of FIG. 11. Equations 11 and 15 are derived by obtaining the directional difference Δθ. Since Equations 6 and 7 are obtained using a traveling model, Equations 11 and 15 are obtained using the traveling model. Therefore, the control plan generating unit 160 according to the second embodiment specifies the relationship between the period T1 (first period) and the period T2 (second period) based on the directional difference Δθ using the traveling model (travel characteristics). Then, the control plan generating unit 160 according to the second embodiment specifies the period T1 (first period) and the period T2 (second period) using the relationship information.
[0097] Specifically, as described below, the control plan generator 160 generates a control plan for controlling the angular velocity of the steering angle φ by searching for a period T1 and a period T2 that satisfy a predetermined condition. That is, the control plan generator 160 uses relationship information (such as a table) such as that shown in FIG. 9 to extract (sample) multiple periods T indicated in the relationship information as periods T1 and T2. Then, for each of the multiple pairs of the extracted periods T1 and T2, the control plan generator 160 calculates the driving state (x, y, θ) after controlling the angular velocity of the steering angle φ in period T3. Then, the control plan generator 160 uses the driving state (x, y, θ) to identify the period T1 and the period T2 that satisfy the predetermined condition. A method for identifying the period T1 and the period T2 will be described in detail below.
[0098] Assume that the driving state when the angular velocity is controlled in period T1 from the driving state (0,0,0) is (x1, y1, θ1). Assume that the driving state when the angular velocity is controlled in period T2 from the driving state (0,0,0) is (x2, y2, θ2). Here, the pair of period T1 and (x1, y1, θ1) can be extracted from the relationship information exemplified in FIG. 9. Similarly, the pair of period T2 and (x2, y2, θ2) can be extracted from the relationship information exemplified in FIG. 9.
[0099] Also, the driving state at the timing when control to eliminate the deviation between the target route and the driving state is started is defined as the initial state (0, Δy, Δθ). In other words, the point at which the above control is started is defined as point P1 shown in FIG. 6, and the driving state (x, y, θ) at that point is defined as the initial state (0, Δy, Δθ). At this time, point P0 becomes the origin (0, 0). In this case, the driving state (x, y, θ) after control is performed during period T1 from the driving state (0, Δy, Δθ) is expressed by the following equation 16 using a rotation matrix for rotating point (x1, y1) by angle Δθ around the origin (0, 0).
number
[0100] Furthermore, the driving state (x, y, θ) after control in period T2 is performed after control in period T1 is expressed by the following equation 17 using the above equation 16 and a rotation matrix for rotating the point (x2, y2) by an angle (θ1+Δθ) around the origin (0, 0).
number
[0101] Here, the above-mentioned formulas 11 and 15 are derived so that the vehicle body angle θ_T3 after control in periods T1 and T2 is −Δθ. Therefore, by selecting T1 and T2 from the relationship information that satisfy formula 11 or 15, θ=θ1+θ2+Δθ=0 is satisfied for the third formula of formula 17. In other words, by substituting the period T1 extracted from the relationship information into formula 11 or 15 to obtain period T2, a pair of periods T1 and T2 that satisfies θ=θ1+θ2+Δθ=0 is obtained. Then, the post-control running state (x1, y1, θ1) corresponding to the obtained period T1 and the post-control running state (x2, y2, θ2) corresponding to period T2 are extracted from the relationship information. Then, by performing the calculation shown in Equation 17 using the extracted driving states (x1, y1, θ1) and (x2, y2, θ2), the driving state (x, y, θ) after controlling the angular velocity of the steering angle φ in periods T1 and T2 from the initial state (0, Δy, Δθ) can be obtained. In other words, the driving state (x, y, θ) after controlling the angular velocity of the steering angle φ in period T3 from the initial state (0, Δy, Δθ) can be obtained.
[0102] The control plan generating unit 160 extracts each of the multiple periods indicated in the relationship information as period T1 and period T2. The control plan generating unit 160 performs the above calculation for each of the multiple pairs of the extracted period T1 and period T2. As a result, the control plan generating unit 160 obtains the running state (x, y, θ) after the angular velocity control for the multiple pairs of period T1 and period T2. As described above, in the running state (x, y, θ) after the angular velocity control, θ=0.
[0103] Here, when performing calculations for period T3 as in the example of FIG. 10, the control plan generator 160 obtains period T2 corresponding to period T1 using Equation 11. In this case, in period T1, the change in traveling direction ψ is a negative value as shown in FIG. 8, and in period T2, the change in traveling direction ψ is a positive value as shown in FIG. 7. Therefore, the control plan generator 160 extracts a traveling state where ψ<0 from the relationship information as the post-control traveling state corresponding to period T1. In this case, the control plan generator 160 extracts a traveling state where ψ>0 from the relationship information as the post-control traveling state corresponding to period T2. For example, in the example of FIG. 9, assume that period Ta is selected as period T1, and period Tb is selected as period T2 from Equation 11. In this case, the control plan generation unit 160 calculates Equation 17 using the post-control driving state (xan, yan, θan) corresponding to period Ta, which is period T1, and the post-control driving state (xbp, ybp, θbp) corresponding to period Tb, which is period T2.
[0104] Furthermore, when performing calculations for period T3 as in the example of FIG. 11, the control plan generator 160 obtains period T2 corresponding to period T1 using Equation 15. In this case, in period T1, the change in traveling direction ψ is a positive value as shown in FIG. 7, and in period T2, the change in traveling direction ψ is a negative value as shown in FIG. 8. Therefore, the control plan generator 160 extracts a traveling state where ψ > 0 from the relationship information as the traveling state after control corresponding to period T1. In this case, the control plan generator 160 extracts a traveling state where ψ < 0 from the relationship information as the traveling state after control corresponding to period T2. For example, in the example of FIG. 9, assume that period Ta is selected as period T1, and period Tc is selected as period T2 from Equation 15. In this case, the control plan generation unit 160 calculates Equation 17 using the post-control driving state (xap, yap, θap) corresponding to the period Ta, which is the period T1, and the post-control driving state (xcn, ycn, θcn) corresponding to the period Tc, which is the period T2.
[0105] The control plan generating unit 160 identifies a pair of a period T1 (first period) and a period T2 (second period) that satisfies a predetermined condition using the post-control running state (x, y, θ) calculated using Equation 17 for each of a plurality of pairs of a period T1 and a period T2. Specifically, the control plan generating unit 160 calculates the distance (first distance) between the linear trajectory L0 of the target route and the position of the moving object 40 in the running state for each of a plurality of different periods T1 and a plurality of different periods T2 as described above. The first distance corresponds to the absolute value of y calculated using Equation 17. In other words, the absolute value of y corresponds to the distance between the position of the moving object 40 (drive wheels 42) in the running state after the control and the linear trajectory L0 of the target route. In other words, the control plan generating unit 160 calculates the first distance when the traveling direction of the moving object 40 in the running state is aligned with the direction of the trajectory of the target route, assuming that the angular velocity is controlled in the periods T1 and T2. Then, the control plan generating unit 160 uses the first distance to identify a period T1 and a period T2 that satisfy a predetermined condition from among a plurality of periods T1 (first period) and a plurality of periods T2 (second period). By performing the above-described processing, the control plan generating unit 160 can efficiently generate a control plan that can realize an appropriate driving state that satisfies the predetermined condition.
[0106] Regarding an example of the "predetermined condition," for example, the control plan generating unit 160 may identify a pair of a period T1 and a period T2 such that the absolute value |y| of y in the post-control traveling state (x, y, θ) is smallest. That is, the control plan generating unit 160 may identify, among a plurality of periods T1 (first periods) and a plurality of periods T2 (second periods), a period T1 and a period T2 such that the distance (first distance) between the target route and the position of the moving object 40 in the traveling state is smallest. This allows the control plan generating unit 160 to generate a control plan such that the traveling direction in the post-control traveling state is along the direction in which the straight-line trajectory L0 of the target route extends, and the position in the traveling state is closest to the straight-line trajectory L0 of the target route. This makes it possible to reduce the deviation between the target route and the traveling state.
[0107] Alternatively, the control plan generator 160 may identify a pair of periods T1 and T2 such that the absolute value |y| of y in the post-control driving state (x, y, θ) is equal to or less than a predetermined threshold and the sum of the lengths of the periods T1 and T2 is minimized. That is, the control plan generator 160 may identify, among multiple periods T1 (first periods) and multiple periods T2 (second periods), a period T1 and a period T2 such that the absolute value of y (first distance) is equal to or less than a predetermined threshold and the sum of the lengths of the periods T1 and T2 is minimized. The "predetermined threshold" may be, for example, an upper limit of the allowable deviation between the position of the moving body 40 (drive wheels 42) in the driving state and the target route. This allows the control plan generator 160 to generate a control plan that quickly achieves a driving state in which the traveling direction in the post-control driving state is along the target route and the deviation between the position in the driving state and the target route is within an allowable range. Therefore, it is possible to quickly bring the deviation between the target route and the running state within an allowable range.
[0108] The control plan output unit 170 outputs the control plan generated by the control plan generation unit 160. The control plan output unit 170 outputs the control plan for controlling the drive wheels 42 to the components that control the operation of the mobile body 40. The control plan output unit 170 may output operation information to the control device 46 of the mobile body 40 via the communication unit 26. The control plan may be information for controlling the steering angle φ of the drive wheels 42. The control plan may indicate a transition of the steering angle φ of the drive wheels 42, as illustrated in FIG. 10 or FIG. 11. The control plan may indicate a transition of the steering angle φ of the drive wheels 42 as the drive wheels 42 move. The control plan may also indicate a transition of the steering angle φ of the drive wheels 42 over time. The control plan may also simply indicate a pair of specified periods T1 and T2. By outputting the control plan to the components that control the operation of the mobile body 40, the drive wheels 42 of the mobile body 40 are controlled in accordance with the control plan. As a result, the drive wheels 42 are operated so as to reduce the deviation between the target route and the traveling state of the moving body 40.
[0109] <Processing flow example> 12 and 13 are flowcharts showing an example of processing executed by the control planning device 100 according to the present disclosure. The traveling parameter acquisition unit 110 acquires traveling parameters of the moving body 40 (step S102). Specifically, as described above, the traveling parameter acquisition unit 110 may acquire, as the traveling parameters, the traveling speed V of the moving body 40, the body length L of the moving body 40, and the absolute value c of the angular velocity of the steering angle φ of the drive wheels 42.
[0110] As described above, the driving characteristics identification unit 120 identifies the driving characteristics of the mobile object 40 in accordance with the driving parameters (step S104). As described above, the driving characteristics identification unit 120 may identify, as the driving characteristics, a driving model expressed by differential equations such as those shown in the above-described Equations 1 to 3. The driving characteristics identification unit 120 stores the identified driving characteristics in the driving characteristics storage unit 122.
[0111] As described above, the target route acquisition unit 130 acquires a target route for the moving body 40 (step S106). As described above, the target route acquisition unit 130 may acquire the target route depending on the environment in which the moving body 40 travels. The target route acquisition unit 130 stores the acquired target route in the target route storage unit 132.
[0112] As described above, the traveling state acquisition unit 140 acquires the traveling state of the moving object 40 (step S110). The traveling state acquisition unit 140 acquires (x, y, θ) indicating the position and traveling direction of the moving object 40 as the traveling state. As described above, the difference calculation unit 150 calculates the difference between the target route and the traveling state (step S112). The difference calculation unit 150 calculates the position difference Δy and the direction difference Δθ.
[0113] The control planning device 100 determines whether the calculated difference is equal to or greater than a predetermined threshold (step S114). Specifically, the control planning device 100 determines whether the absolute value of the directional difference Δθ is equal to or greater than a predetermined threshold and whether the absolute value of the position difference Δy is equal to or greater than a predetermined threshold. The thresholds corresponding to the directional difference Δθ and the position difference Δy may be preset to such an extent that the difference between the target route and the traveling state can be considered to be within an acceptable range if the difference is less than the threshold. If the difference is not equal to or greater than the threshold (NO in S114), the control planning device 100 terminates the processing. This prevents processing to eliminate the difference even when the difference is within the acceptable range, thereby reducing the load on computational resources. On the other hand, if the difference is equal to or greater than the threshold (YES in S114), the processing flow proceeds to S120. The control planning device 100 may determine whether at least one of the absolute value of the directional difference Δθ and the absolute value of the position difference Δy is equal to or greater than the corresponding threshold. For example, if the absolute value of the directional difference Δθ is less than a threshold value, the control planning device 100 may determine that the traveling state of the moving object 40 does not deviate significantly from the target route, and may determine not to perform the process of generating a control plan.
[0114] As described above, the control plan generation unit 160 generates a control plan for controlling the drive wheels 42 of the moving object 40 so as to satisfy a predetermined condition based on the calculated differences (the directional difference Δθ and the positional difference Δy) (step S120). Details of the processing of S120 will be described later. As described above, the control plan output unit 170 outputs the control plan generated by the control plan generation unit 160 (step S150). The control plan output unit 170 outputs the control plan for controlling the drive wheels 42 to the components that control the operation of the moving object 40.
[0115] 13 is a flowchart showing details of the processing of S120 according to the present disclosure. The control plan generator 160 uses a travel model to acquire the relationship between the period T1 and the period T2 (step S121). Specifically, as described above, the control plan generator 160 uses the travel model to acquire the relationship between the period T1 and the period T2 based on the directional difference Δθ. More specifically, the control plan generator 160 uses Equation 11 or Equation 15 obtained using the travel model to acquire the relationship between the period T1 and the period T2 such that the directional difference Δθ can be eliminated.
[0116] The control plan generating unit 160 acquires an arbitrary period T1 from the relationship information (step S122). Specifically, the control plan generating unit 160 selects an arbitrary period T as the period T1 from the relationship information pre-stored in the relationship information storage unit 162, as exemplified in FIG. 9. The control plan generating unit 160 acquires a period T2 corresponding to the acquired period T1 (step S124). Specifically, the control plan generating unit 160 acquires the period T2 corresponding to the period T1 from the relationship between the periods T1 and T2 acquired in S121.
[0117] The control plan generating unit 160 calculates the driving state (x, y, θ) after the end of control for the acquired pair of periods T1 and T2 (step S126). Specifically, the control plan generating unit 160 extracts the driving state (x1, y1, θ1) after control corresponding to period T1 from the relationship information stored in the relationship information storage unit 162. That is, the control plan generating unit 160 extracts the driving state associated with period T1 in the relationship information as the driving state (x1, y1, θ1). Furthermore, the control plan generating unit 160 extracts the driving state (x2, y2, θ2) after control corresponding to period T2 from the relationship information. That is, the control plan generating unit 160 extracts the driving state associated with period T2 in the relationship information as the driving state (x2, y2, θ2). If the multiple periods T indicated in the relationship information do not match the period T2 corresponding to period T1, the control plan generator 160 may extract the driving state corresponding to the period T that is closest to period T2 among the multiple periods T indicated in the relationship information as the driving state (x2, y2, θ2). Alternatively, the control plan generator 160 may acquire the driving state (x2, y2, θ2) by interpolating using the multiple periods T indicated in the relationship information. Then, the control plan generator 160 calculates the driving state (x, y, θ) after the control ends by performing the calculation of Equation 17 using the driving state (x1, y1, θ1) corresponding to period T1 and the driving state (x2, y2, θ2) corresponding to period T2.
[0118] The control plan generating unit 160 determines whether all possible periods T1 have been processed (step S128). When the relationship information stored in the relationship information storage unit 162 indicates (xT, yT, θT) when T is changed at predetermined intervals between T = 0 and T = φmax / c, the control plan generating unit 160 determines whether all periods T indicated in the relationship information have been extracted as periods T1 and processed. If all possible periods T1 have not been processed (NO in S128), the control plan generating unit 160 performs the processes of S122 to S128 for other periods T1 (step S130). On the other hand, if all possible periods T1 have been processed (YES in S128), the control plan generating unit 160 identifies a pair of periods T1 and T2 that satisfies a predetermined condition (step S132). As described above, the control plan generating unit 160 may identify a pair of the period T1 and the period T2 such that the absolute value of y of the driving state (x, y, θ) after the control is smallest. Alternatively, the control plan generating unit 160 may identify a pair of the period T1 and the period T2 such that the absolute value of y of the driving state (x, y, θ) after the control is equal to or less than a predetermined threshold and the sum of the lengths of the periods T1 and T2 is smallest. In this way, the control plan generating unit 160 can generate a control plan that reduces the deviation between the target route and the driving state.
[0119] As described above, the control planning device 100 according to the second embodiment generates a control plan for controlling the drive wheels 42 based on the difference so as to satisfy predetermined conditions. The control planning device 100 generates a control plan by setting the traveling speed of the drive wheels 42 to a predetermined value and setting the angular velocity of the steering angle of the drive wheels 42 to either a predetermined first value (+c or −c) or a predetermined second value (−c or +c). With this configuration, the control planning device 100 according to the second embodiment can generate a control plan that satisfies predetermined conditions through simple calculations, without performing complex calculations such as solving a nonlinear optimization problem as disclosed in Patent Document 1. This makes it possible to reduce the load on calculation resources.
[0120] Furthermore, the control planning device 100 according to the second embodiment generates a control plan that satisfies the conditions by identifying at least one period in which the angular velocity is controlled using the first value and the second value, respectively, based on the directional difference. With this configuration, the control planning device 100 according to the second embodiment can efficiently generate a control plan that reduces the directional difference Δθ, as shown in FIG. 7 or 8. That is, the control planning device 100 can efficiently change the traveling direction of the moving object to a desired direction by controlling the angular velocity of the steering angle during the above period. Therefore, with the above configuration, the control planning device 100 according to the second embodiment can efficiently reduce the deviation between the direction in which the target path extends and the traveling direction of the moving object.
[0121] Furthermore, the control planning device 100 according to the second embodiment generates a control plan that satisfies a predetermined condition by identifying a period T1 (first period) and a period T2 (second period) based on the directional difference Δθ and the position difference Δy. This configuration makes it possible to efficiently reduce both the directional difference Δθ (directional deviation) and the position difference Δy (position deviation). Specifically, by controlling the steering angle φ of the drive wheels 42 with a waveform transition with few bumps and dips, as shown in FIGS. 10 and 11, it is possible to reduce both the directional difference Δθ (directional deviation) and the position difference Δy (position deviation). In this way, by performing control with fewer change points in the angular velocity, it is possible to suppress an increase in the load on the control system of the moving object 40. Furthermore, it is possible to suppress the occurrence of deviation from a driving model during control.
[0122] Moreover, the control planning device 100 according to the second embodiment uses driving characteristics (driving model) to identify the period T1 and the period T2 that satisfy a predetermined condition. Moreover, the control planning device 100 according to the second embodiment uses the driving characteristics to identify the relationship between the period T1 and the period T2 based on the directional difference Δθ, and uses pre-stored relationship information to identify the period T1 and the period T2 that satisfy the predetermined condition. By using the driving characteristics, it is possible to efficiently identify the relationship between the period T1 and the period T2. Furthermore, by using the pre-stored relationship information, it is possible to efficiently identify a pair of the period T1 and the period T2 that satisfies the predetermined condition. Therefore, the control planning device 100 according to the second embodiment can efficiently identify the period T1 and the period T2.
[0123] In the second embodiment described above, the control plan generating unit 160 generates a control plan using the relationship information stored in advance in the relationship information storage unit 162. However, the present invention is not limited to this configuration. The control plan generating unit 160 may generate a control plan without using the relationship information stored in advance. For example, the control plan generating unit 160 may perform numerical integration when actually generating a control plan to acquire a relationship between the period T and the post-control running state, as shown in the relationship information exemplified in FIG. 9 . Then, as described above, the control plan generating unit 160 may use the acquired relationship to search for a pair of the period T1 and the period T2 that satisfies a predetermined condition. In particular, when the control plan device 100 has a hardware configuration capable of performing parallel calculations, for example, numerical integration can be performed in parallel for various values of T, thereby suppressing an increase in processing time due to numerical integration.
[0124] (Embodiment 3) Next, a third embodiment will be described with reference to the drawings. For clarity of description, the following description and drawings have been omitted and simplified as appropriate. Furthermore, in each drawing, the same elements are given the same reference numerals, and repeated description is omitted as necessary. Note that the configuration of a control planning system 20 according to the third embodiment is substantially the same as that shown in FIG. 3, and therefore description thereof will be omitted. Furthermore, the configuration of a moving object 40 according to the third embodiment is substantially the same as that shown in FIG. 4, and therefore description thereof will be omitted. The control planning system 20 shown in FIG. 3 includes a control planning device according to the third embodiment. The control planning device according to the third embodiment differs from the second embodiment in that it generates a control plan without using a driving model (driving characteristics).
[0125] Fig. 14 is a diagram showing the configuration of a control planning device 200 according to the present disclosure. The control planning device 200 has, as its hardware configuration, the control unit 22, the storage unit 24, the communication unit 26, and the interface unit 28 shown in Fig. 3. The control planning device 200 also has, as its components, a target route acquisition unit 130 and a target route storage unit 132. The control planning device 200 also has, as its components, a traveling state acquisition unit 140, a difference calculation unit 150, a control plan generation unit 260, a relationship information storage unit 262, and a control plan output unit 170.
[0126] The control planning device 200 according to the third embodiment generates a control plan without using a driving model (driving characteristics). Therefore, the control planning device 200 according to the third embodiment does not include the driving parameter acquiring unit 110, the driving characteristics identifying unit 120, and the driving characteristics storage unit 122, which are provided in the control planning device 100 according to the second embodiment. The control planning device 200 executes a control plan for the operation of the moving object 40 using these components. The functions of the components other than the control plan generating unit 260 and the related information storage unit 262 are substantially the same as those according to the second embodiment, and therefore description thereof will be omitted. The control plan generating unit 260 functions as a control plan generating means. The related information storage unit 262 functions as a related information storage means.
[0127] The relationship information storage unit 262 stores the relationship information as described in the above-mentioned second embodiment. That is, the relationship information storage unit 262 stores in advance relationship information indicating the relationship between the period T during which the angular velocity of the steering angle φ is controlled using the first value (c or -c) and the second value (-c or c), respectively, and the running state that changes during the period T. The relationship information storage unit 262 can be realized by the above-mentioned storage unit 24. The relationship information storage unit 262 stores relationship information as exemplified in FIG. 9.
[0128] Here, the relationship information storage unit 262 according to the third embodiment stores relationship information obtained using experimental results or machine learning, rather than a technique such as numerical integration as described in the second embodiment. For example, the relationship information storage unit 262 may store relationship information obtained through an experiment in which the running state (xT, yT, θT) after the steering angle φ of the mobile object 40 to be controlled is actually controlled for a period T as shown in FIG. 7 or 8 for various values of T is measured. Furthermore, for example, the relationship information storage unit 262 may store relationship information obtained through an experiment in which the running state (xT, yT, θT) after the steering angle φ of the mobile object 40 is controlled for a period T as shown in FIG. 7 or 8 is obtained through a simulation for various values of T. Furthermore, the relationship information storage unit 262 may store relationship information indicating a function representing the relationship between the various values of T and the running state (xT, yT, θT) obtained from the above-mentioned experimental results, or a graph corresponding to the function. This function can be obtained, for example, by performing interpolation or approximation on a graph in which points representing the value of T and each of (xT, yT, θT) are plotted.
[0129] The control plan generation unit 260 corresponds to the control plan generation unit 16 shown in FIG. 1. Similar to the control plan generation unit 16, the control plan generation unit 260 generates a control plan for controlling the drive wheels 42 of the mobile object 40 so as to satisfy predetermined conditions based on the calculated differences (the directional difference Δθ and the positional difference Δy). Based on the differences, the control plan generation unit 260 generates a control plan for controlling the drive wheels 42 of the mobile object 40 so as to satisfy predetermined conditions by setting the traveling speed of the drive wheels 42 to a predetermined constant speed V and setting the angular velocity of the steering angle to either c or −c. Here, c>0. The angular velocity c corresponds to the first value or the second value described above. The angular velocity −c corresponds to the first value or the second value described above.
[0130] Similarly to the control plan generation unit 160, the control plan generation unit 260 generates a control plan that satisfies a predetermined condition by identifying a period T1 (first period) and a period T2 based on the directional difference Δθ and the position difference Δy. Similarly to the control plan generation unit 160, the control plan generation unit 260 generates a control plan for controlling the angular velocity of the steering angle φ by searching for the period T1 and the period T2 that satisfy the predetermined condition. That is, using relationship information (such as a table) such as that shown in FIG. 9, the control plan generation unit 260 extracts (samples) multiple periods T indicated in the relationship information as the period T1 and the period T2. Then, for each of the extracted multiple pairs of the period T1 and the period T2, the control plan generation unit 260 calculates the driving state (x, y, θ) after controlling the angular velocity of the steering angle φ in the period T3. Then, using the driving state (x, y, θ), the control plan generation unit 260 identifies the period T1 and the period T2 that satisfy the predetermined condition. Furthermore, like the control plan generator 160, the control plan generator 260 uses the above-mentioned formula 17 to identify the period T1 and the period T2.
[0131] Here, the control plan generating unit 260 uses the relationship information stored in the relationship information storage unit 262 to identify the relationship between the period T1 and the period T2 based on the directional difference Δθ. In other words, unlike the control plan generating unit 160, the control plan generating unit 260 identifies the relationship between the period T1 and the period T2 without using Equation 11 and Equation 15 obtained using a driving model. Specifically, the control plan generating unit 260 extracts an arbitrary period T from the relationship information as the period T1. Then, based on θ1 corresponding to the extracted period T1 and the directional difference Δθ, the control plan generating unit 260 searches the relationship information for θ2 such that θ = θ1 + θ2 + Δθ is closest to 0. Then, the control plan generating unit 260 extracts the period T corresponding to that θ2 as the period T2.
[0132] 9 for the control shown in Fig. 10, when searching for periods T1 and T2 from the relationship information exemplified in Fig. 9, the control plan generator 260 extracts a traveling state where ψ<0 as the traveling state corresponding to period T1 from the relationship information. Furthermore, the control plan generator 260 searches for θ2 such that θ=θ1+θ2+Δθ is closest to 0 from traveling states where ψ>0, and sets the period T corresponding to that θ2 as period T2.
[0133] 9 for the control shown in Fig. 11, the control plan generator 260 extracts a traveling state where ψ>0 from the traveling state shown in Fig. 9 as the traveling state corresponding to the period T1. The control plan generator 260 also searches for θ2 where ψ<0 so that θ=θ1+θ2+Δθ is closest to 0, and sets the period T corresponding to that θ2 as the period T2.
[0134] The control plan generating unit 260 then performs the calculation shown in Equation 17, where the driving state corresponding to the period T1 is (x1, y1, θ1) and the driving state corresponding to the period T2 is (x2, y2, θ2). As a result, the control plan generating unit 260 acquires the driving state (x, y, θ) after controlling the angular velocity of the steering angle φ in the periods T1 and T2 from the initial state (0, Δy, Δθ). The control plan generating unit 260 then performs the above process for multiple pairs of the periods T1 and T2, similar to the control plan generating unit 160. The control plan generating unit 260 then uses the calculated post-control driving state (x, y, θ) to identify a pair of the period T1 (first period) and the period T2 (second period) that satisfies a predetermined condition. Note that the predetermined condition is substantially the same as that described in the second embodiment, and therefore a description thereof will be omitted. Furthermore, the method for identifying a pair of periods T1 and T2 that satisfy a predetermined condition is substantially the same as that described in the second embodiment, and therefore description thereof will be omitted.
[0135] <Processing flow example> 15 and 16 are flowcharts showing an example of processing executed by the control planning device 200 according to the present disclosure. The target route acquisition unit 130 acquires a target route for the moving object 40 in the same manner as the processing of S106 (step S206). As described above, the target route acquisition unit 130 may acquire the target route depending on the environment in which the moving object 40 travels. The target route acquisition unit 130 stores the acquired target route in the target route storage unit 132.
[0136] The traveling state acquisition unit 140 acquires the traveling state of the moving object 40 in the same manner as in the processing of S110 (step S210). The traveling state acquisition unit 140 acquires (x, y, θ) indicating the position and traveling direction of the moving object 40 as the traveling state. The difference calculation unit 150 calculates the difference between the target route and the traveling state in the same manner as in the processing of S112 (step S212). The difference calculation unit 150 calculates a position difference Δy and a direction difference Δθ.
[0137] The control planning device 200 determines whether the calculated difference is equal to or greater than a predetermined threshold value (step S214), similar to the process of S114. If the difference is not equal to or greater than the threshold value (NO in S214), the control planning device 200 ends the process. On the other hand, if the difference is equal to or greater than the threshold value (YES in S214), the process flow proceeds to S220.
[0138] As described above, the control plan generation unit 260 generates a control plan for controlling the drive wheels 42 of the moving object 40 so as to satisfy a predetermined condition based on the calculated differences (the directional difference Δθ and the positional difference Δy) (step S220). Details of the processing of S220 will be described later. The control plan output unit 170 outputs the control plan generated by the control plan generation unit 260 in the same manner as the processing of S150 (step S250). The control plan output unit 170 outputs the control plan for controlling the drive wheels 42 to the components that control the operation of the moving object 40.
[0139] 16 is a flowchart showing details of the process of S220 according to the present disclosure. As described above, the control plan generating unit 260 acquires an arbitrary period T1 from the relationship information (step S222). Specifically, the control plan generating unit 260 acquires an arbitrary period T as the period T1 from the relationship information pre-stored in the relationship information storage unit 262, as shown in FIG. 9. As described above, the control plan generating unit 260 acquires a period T2 corresponding to the acquired period T1 from the relationship information (step S224). Specifically, the control plan generating unit 260 uses θ1 of the traveling state (x1, y1, θ1) corresponding to the period T1 acquired in S222 and the directional difference Δθ to extract, as the period T2, the period T corresponding to θ2 such that θ=θ1+θ2+Δθ is closest to 0.
[0140] The control plan generating unit 260 calculates the driving state (x, y, θ) after the end of control for the pair of the acquired periods T1 and T2, in the same manner as in the process of S126 (step S226). Specifically, the control plan generating unit 260 extracts the driving state (x1, y1, θ1) after the control corresponding to the period T1 from the relationship information stored in the relationship information storage unit 262. That is, the control plan generating unit 260 extracts the driving state associated with the period T1 in the relationship information as the driving state (x1, y1, θ1). Furthermore, the control plan generating unit 260 extracts the driving state (x2, y2, θ2) after the control corresponding to the period T2 from the relationship information. That is, the control plan generating unit 260 extracts the driving state associated with the period T2 in the relationship information as the driving state (x2, y2, θ2). If the multiple periods T indicated in the relationship information do not match the period T2 corresponding to period T1, the control plan generator 260 may extract the driving state corresponding to the period T that is closest to period T2 among the multiple periods T indicated in the relationship information as the driving state (x2, y2, θ2). Alternatively, the control plan generator 260 may acquire the driving state (x2, y2, θ2) by interpolating using the multiple periods T indicated in the relationship information. Then, the control plan generator 260 calculates the driving state (x, y, θ) after the control ends by performing the calculation of Equation 17 using the driving state (x1, y1, θ1) corresponding to period T1 and the driving state (x2, y2, θ2) corresponding to period T2.
[0141] The control plan generating unit 260 determines whether or not processing has been performed for all possible periods T1, similar to the processing of S128 (step S228). If processing has not been performed for all possible periods T1 (NO in S228), the control plan generating unit 260 performs the processing of S222 to S228 for other periods T1 (step S230). On the other hand, if processing has been performed for all possible periods T1 (YES in S228), the control plan generating unit 260 identifies a pair of periods T1 and T2 that satisfies a predetermined condition, similar to the processing of S132 (step S232). In this way, the control plan generating unit 260 can generate a control plan that reduces the deviation between the target route and the traveling state.
[0142] As described above, the control plan generating unit 260 according to the third embodiment uses the relationship information to identify the relationship between the period T1 and the period T2 based on the directional difference Δθ. Then, the control plan generating unit 260 according to the third embodiment uses the relationship information to identify the period T1 and the period T2 that satisfy a predetermined condition. With this configuration, even if a travel model of the moving object 40 cannot be acquired in advance, it is possible to generate an appropriate control plan without using the travel model.
[0143] (Variation) The present invention is not limited to the above-described embodiment, and modifications can be made as appropriate without departing from the spirit and scope of the present invention. For example, each process in the above-described flowchart may be implemented using a trained model trained by machine learning. That is, the above-described control plan generation unit may perform a process of specifying the operation of the drive wheels using a trained model trained by machine learning. In this case, the control plan generation unit may perform the above process using a trained model trained to output a control plan for controlling the drive wheels, such as a transition in the steering angle, using the difference between the target route and the driving state and the driving characteristics of the mobile object 40 as inputs.
[0144] Furthermore, for example, the order of the processes in the above-described flowcharts may be changed as appropriate. Furthermore, one or more of the processes in the above-described flowcharts may be omitted. For example, in the flowchart of FIG. 12, the processes of S102 and S104 may be executed after the processes of S110 and S112.
[0145] In the second embodiment described above, the control planning device specifies two periods T1 and T2. However, this is not a limitation. When only the directional difference Δθ is to be eliminated, only the period T may be specified. In this case, the control planning device generates a control plan by specifying the period T in which ψ shown in FIG. 7 or FIG. 8 becomes Δθ, thereby adjusting the driving state to match the direction of the linear trajectory of the target route. After the driving state matches the direction of the linear trajectory of the target route, the steering angle φ may be controlled in the period T3 in FIG. 10 or FIG. 11 where T1=T2. However, in this case, the waveform of the steering angle φ until the deviation between the driving state and the target route is eliminated will have three concave and convex portions, making it more complex than the waveform shown in FIG. 10 or FIG. 11. Therefore, by performing control as in the second embodiment described above, the control planning device can generate a control plan that allows efficient control.
[0146] Although the present disclosure has been described above with reference to the embodiments, the present disclosure is not limited to the above-described embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present disclosure within the scope of the present disclosure. Furthermore, each embodiment can be combined with other embodiments as appropriate.
[0147] Each drawing is merely an example for describing one or more embodiments. Each drawing may relate not only to one particular embodiment, but also to one or more other embodiments. As will be understood by those skilled in the art, various features or steps described with reference to any one drawing can be combined with features or steps shown in one or more other drawings to create, for example, an embodiment not explicitly shown or described. Not all features or steps shown in any one drawing are necessary to describe an exemplary embodiment, and some features or steps may be omitted. The order of steps described in any drawing may be changed as appropriate.
[0148] The above-mentioned program includes a set of instructions (or software code) that, when loaded into a computer, causes the computer to perform one or more functions described in the embodiments. The program may be stored in a non-transitory computer-readable medium or a tangible storage medium. By way of example and not limitation, computer-readable media or tangible storage media include random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drive (SSD) or other memory technologies, CD-ROM, digital versatile disk (DVD), Blu-ray® disk or other optical disk storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage device. The program may also be transmitted on a transitory computer-readable medium or communication medium. By way of example and not limitation, transitory computer-readable media or communication media include electrical, optical, acoustic, or other forms of propagated signals.
[0149] A part or all of the above-described embodiments can be described as, but not limited to, the following supplementary notes. (Appendix 1) a driving state acquisition means for acquiring a driving state of a moving body having a single drive wheel capable of changing the direction of the moving body; a difference calculation means for calculating a difference between a target route, which is a route along which the moving body should travel, and the traveling state; a control plan generating means for generating a control plan for controlling the drive wheels so as to satisfy a predetermined condition by setting the traveling speed of the drive wheels to a predetermined value and setting the angular velocity of a steering angle, which is the angle of the drive wheels with respect to the moving body, to either a predetermined first value or a second value, the direction of change of the steering angle being different from the first value, based on the difference; and A control planning device having: (Appendix 2) the difference includes at least a directional difference that is a difference between a traveling direction of the moving object in the traveling state and a direction in which a trajectory of the target route extends, the control plan generation means generates a control plan that satisfies the condition by identifying at least one period in which the angular velocity is controlled using each of the first value and the second value based on the directional difference. 2. The control planning device of claim 1. (Appendix 3) the difference includes the directional difference and a position difference corresponding to a distance between the target route and a position of the moving object in the traveling state, the control plan generation means generates a control plan that satisfies the condition by specifying a first period during which the angular velocity is set to the first value and then to the second value, and a second period during which the angular velocity is set to the second value and then to the first value, based on the direction difference and the position difference. 3. The control planning device of claim 2. (Appendix 4) the control plan generation means specifies the first period and the second period that satisfy the condition by using traveling characteristics specified in accordance with traveling parameters related to traveling of the moving object, including at least the traveling speed and the angular velocity. 4. The control planning device of claim 3. (Appendix 5) a relationship information storage means for storing in advance relationship information indicating a relationship between a period during which the angular velocity is controlled using the first value and the second value and a running state that changes during the period; and The control plan generation means Using the driving characteristics, a relationship between the first period and the second period is determined based on the directional difference; using the relationship information to identify the first period and the second period that satisfy the condition; 5. The control planning device of claim 4. (Appendix 6) a relationship information storage means for storing in advance relationship information indicating a relationship between a period during which the angular velocity is controlled using the first value and the second value and a running state that changes during the period; and The control plan generation means Using the relationship information, a relationship between the first period and the second period is identified based on the directional difference; using the relationship information to identify the first period and the second period that satisfy the condition; 4. The control planning device of claim 3. (Appendix 7) the control plan generation means calculates, for each of the plurality of different first periods and the plurality of different second periods, a first distance that is a distance between the target route and a position of the moving body in the running state when the traveling direction of the moving body in the running state is a direction along a trajectory of the target route, assuming that the angular velocity is controlled in the first period and the second period, and identifies, from the plurality of first periods and the plurality of second periods, a first period and a second period that satisfy the condition, using the first distance; 4. The control planning device of claim 3. (Appendix 8) the control plan generation means identifies, from among the plurality of first periods and the plurality of second periods, a first period and a second period that minimize the first distance; 8. The control planning device of claim 7. (Appendix 9) the control plan generation means identifies, from among the plurality of first periods and the plurality of second periods, a first period and a second period such that the first distance is equal to or less than a predetermined threshold and the sum of the lengths of the first periods and the second periods is the smallest. 8. The control planning device of claim 7. (Appendix 10) Acquire a running state of a moving body having a single drive wheel capable of changing the direction of the moving body; calculating a difference between a target route, which is a route along which the moving body should travel, and the traveling state; and generating a control plan for controlling the drive wheels so as to satisfy a predetermined condition by setting the running speed of the drive wheels to a predetermined value based on the difference and setting the angular velocity of the steering angle, which is the angle of the drive wheels with respect to the moving body, to either a predetermined first value or a second value, the direction of change of the steering angle being different from the first value. Control planning methods. (Appendix 11) the difference includes at least a directional difference that is a difference between a traveling direction of the moving object in the traveling state and a direction in which a trajectory of the target route extends, generating a control plan that satisfies the condition by identifying at least one period in which the angular velocity is controlled using the first value and the second value based on the directional difference; 11. The control planning method of claim 10. (Appendix 12) the difference includes the directional difference and a position difference corresponding to a distance between the target route and a position of the moving object in the traveling state, generating a control plan that satisfies the condition by specifying a first period during which the angular velocity is set to the first value and then to the second value, and a second period during which the angular velocity is set to the second value and then to the first value, based on the direction difference and the position difference; 12. The control planning method of claim 11. (Appendix 13) specifying the first period and the second period that satisfy the condition using running characteristics specified in accordance with running parameters related to the running of the moving object, including at least the running speed and the angular velocity; 13. The control planning method of claim 12. (Appendix 14) Using the driving characteristics, a relationship between the first period and the second period is determined based on the directional difference; specifying the first period and the second period that satisfy the condition by using relationship information that is stored in advance and indicates a relationship between a period during which the angular velocity is controlled using the first value and the second value, respectively, and a running state that changes during the period; 14. The control planning method of claim 13. (Appendix 15) specifying a relationship between the first period and the second period based on the directional difference using relationship information that is stored in advance and indicates a relationship between a period in which the angular velocity is controlled using the first value and the second value and a running state that changes during the period; using the relationship information to identify the first period and the second period that satisfy the condition; 13. The control planning method of claim 12. (Appendix 16) calculating a first distance, which is a distance between the target route and a position of the moving body in the running state when the traveling direction of the moving body in the running state is a direction along a trajectory of the target route, assuming that the angular velocity is controlled in the first route and the second route, for each of the plurality of different first periods and the plurality of different second periods; and specifying, using the first distance, a first period and a second period that satisfy the condition from among the plurality of first periods and the plurality of second periods. 13. The control planning method of claim 12. (Appendix 17) identifying a first period and a second period from among the plurality of first periods and the plurality of second periods such that the first distance is smallest; 17. The control planning method of claim 16. (Appendix 18) Among the plurality of first periods and the plurality of second periods, a first period and a second period are identified such that the first distance is equal to or less than a predetermined threshold and the sum of the length of the first period and the length of the second period is the smallest. 17. The control planning method of claim 16. (Appendix 19) acquiring a running state of a moving body having a single drive wheel capable of changing the direction of the moving body; calculating a difference between a target route that is a route that the moving body should travel and the traveling state; generating a control plan for controlling the drive wheels so as to satisfy a predetermined condition by setting the travel speed of the drive wheels to a predetermined value based on the difference and setting the angular velocity of the steering angle, which is the angle of the drive wheels with respect to the moving body, to either a predetermined first value or a second value, the direction of change of the steering angle being different from the first value; A program that causes a computer to execute the following.
[0150] Some or all of the elements (e.g., configurations and functions) described in Supplementary Notes 2 to 9 that are dependent on Supplementary Note 1 may also be dependent on Supplementary Note 19 in the same dependency relationship as Supplementary Notes 2 to 9. Some or all of the elements described in any Supplementary Note may be applied to various hardware, software, recording means for recording software, systems, and methods. [Explanation of symbols]
[0151] 1 Control planning device 12. Driving condition acquisition unit 14 Difference calculation part 16 Control plan generation unit 20 Control Planning System 40 Mobile 41 Body 42 drive wheels 46 Control Device 48 Detection Device 100 Control planning device 110 Driving parameter acquisition unit 120 Driving characteristics identification unit 122 Driving characteristics storage section 130 Target route acquisition unit 132 Target path storage unit 140 Driving status acquisition unit 150 Difference calculation part 160 Control Plan Generation Unit 162 Relationship information storage section 170 Control plan output section 200 Control Planning Device 260 Control Plan Generation Unit 262 Relationship information storage section
Claims
1. a driving state acquisition means for acquiring a driving state of a moving body having a single drive wheel capable of changing the direction of the moving body; a difference calculation means for calculating a difference between a target route, which is a route along which the moving body should travel, and the traveling state; a control plan generating means for generating a control plan for controlling the drive wheels so as to satisfy a predetermined condition by setting the running speed of the drive wheels to a predetermined value and setting the angular velocity of the steering angle, which is the angle of the drive wheels with respect to the moving body, to either a predetermined first value or a second value, the direction of change of the steering angle being different from the first value, based on the difference; and A control planning device having:
2. the difference includes at least a directional difference that is a difference between a traveling direction of the moving object in the traveling state and a direction in which a trajectory of the target route extends, the control plan generation means generates a control plan that satisfies the condition by specifying at least one period in which the angular velocity is controlled using each of the first value and the second value based on the directional difference. The control planning device of claim 1 .
3. the difference includes the directional difference and a position difference corresponding to a distance between the target route and a position of the moving object in the traveling state, the control plan generating means generates a control plan that satisfies the condition by specifying a first period during which the angular velocity is set to the first value and then to the second value, and a second period during which the angular velocity is set to the second value and then to the first value, based on the direction difference and the position difference. The control planning device of claim 2 .
4. the control plan generation means specifies the first period and the second period that satisfy the condition by using traveling characteristics specified in accordance with traveling parameters related to traveling of the mobile object, including at least the traveling speed and the angular velocity. The control planning device of claim 3.
5. a relationship information storage means for storing in advance relationship information indicating a relationship between a period during which the angular velocity is controlled using the first value and the second value and a running state that changes during the period; and The control plan generation means Using the driving characteristics, a relationship between the first period and the second period is determined based on the directional difference; using the relationship information to identify the first period and the second period that satisfy the condition; 5. The control planning device of claim 4.
6. a relationship information storage means for storing in advance relationship information indicating a relationship between a period during which the angular velocity is controlled using the first value and the second value and a running state that changes during the period; and The control plan generation means Using the relationship information, a relationship between the first period and the second period is identified based on the directional difference; using the relationship information to identify the first period and the second period that satisfy the condition; The control planning device of claim 3.
7. the control plan generation means calculates, for each of a plurality of different first periods and a plurality of different second periods, a first distance that is a distance between the target route and a position of the moving body in the running state when the traveling direction of the moving body in the running state is a direction along a trajectory of the target route, assuming that the angular velocity is controlled in the first period and the second period; and uses the first distance to identify a first period and a second period that satisfy the condition from among the plurality of first periods and the plurality of second periods. The control planning device of claim 3.
8. the control plan generating means identifies, from among the plurality of first periods and the plurality of second periods, a first period and a second period that make the first distance shortest; 8. The control planning device of claim 7.
9. Acquire a running state of a moving body having a single drive wheel capable of changing the direction of the moving body; calculating a difference between a target route, which is a route along which the moving body should travel, and the traveling state; and generating a control plan for controlling the drive wheels so as to satisfy a predetermined condition by setting the running speed of the drive wheels to a predetermined value and setting the angular velocity of the steering angle, which is the angle of the drive wheels with respect to the moving body, to either a predetermined first value or a second value, the direction of change of the steering angle being different from the first value, based on the difference. Control planning methods.
10. acquiring a running state of a moving body having a single drive wheel capable of changing the direction of the moving body; calculating a difference between a target route that is a route that the moving body should travel and the traveling state; generating a control plan for controlling the drive wheels so as to satisfy a predetermined condition by setting the travel speed of the drive wheels to a predetermined value based on the difference and setting the angular velocity of a steering angle, which is the angle of the drive wheels with respect to the moving body, to either a predetermined first value or a second value, the direction of change of the steering angle being different from the first value; A program that causes a computer to execute the following.
Citation Information
Patent Citations
Autonomous Vehicles and Systems
JP7115816B2