Target setting device, target setting method, and program

The target setting device improves forklift path tracking in warehouses by calculating nearest neighbors and inflection points to adjust targets, addressing deviation and computational load issues, enhancing navigation efficiency.

JP2026063618APending Publication Date: 2026-04-13NEC CORP
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
NEC CORP
Filing Date
2024-10-01
Publication Date
2026-04-13

AI Technical Summary

Technical Problem

Existing travel route generation devices for forklifts in narrow environments with obstacles, such as warehouses, face issues with increased deviation from the target route, potential collisions, and inability to generate paths due to obstacles, leading to reduced tracking performance and efficiency.

Method used

A target setting device that calculates the nearest neighbor point, detects inflection points on the path, and selects targets based on the angle difference and inflection points to improve path tracking while reducing computational load, using a target setting method and program that adjusts the target selection range based on the attitude angle of the forklift.

Benefits of technology

Enhances path tracking accuracy and reduces computational load by selecting appropriate targets, preventing deviation from the path and improving navigation efficiency in confined spaces with obstacles.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026063618000001_ABST
    Figure 2026063618000001_ABST
Patent Text Reader

Abstract

The present invention provides a target setting device and the like that can improve the tracking ability of a moving object along its path. [Solution] The target setting device according to this disclosure includes: an acquisition unit that acquires a path that a moving object should take and location information indicating the current position of the moving object; a nearest neighbor calculation unit that calculates the point closest to the moving object on the path (hereinafter referred to as the nearest neighbor point) indicating a point already reached on the path based on the location information; an inflection point detection unit that detects the first inflection point that appears on the path after the nearest neighbor point; an angle difference calculation unit that calculates the attitude angle of the moving object with respect to the line connecting the nearest neighbor point and the inflection point as an angle difference; and a target selection unit that selects a target that the moving object should target based on the angle difference and the inflection point.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a target setting device, a target setting method, and a program.

Background Art

[0002] Patent Document 1 discloses a travel route generation device capable of realizing route following control with a small deviation amount with respect to a travel route by generating a travel route in which the curvature changes continuously based on a target route.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Patent Document 2

Summary of the Invention

Problems to be Solved by the Invention

[0004] In the travel route generation device of Patent Document 1, since it is premised on traveling on a roadway, the deviation amount with respect to the travel route is small. However, in a forklift that transports goods in a narrow environment such as a warehouse, it is considered that the deviation amount from the target route will increase by performing the same control.

[0005] Generally, a warehouse where a forklift travels not only has a narrow environment but also has many obstacles. Therefore, when it is impossible to follow the target route, there are problems such as colliding with an obstacle, deviating from the route, and being unable to generate a route for recovery. The technique described in Patent Document 1 does not assume such problems, and no solution to this problem is disclosed.

[0006] This disclosure is made to solve these problems, and its purpose is to provide a target setting device, a target setting method, and a program that can improve tracking of a moving object's path while reducing the computational load. [Means for solving the problem]

[0007] A target setting device in one aspect of this disclosure is: An acquisition unit that acquires the path the moving object should take and location information indicating the current position of the moving object, A nearest neighbor calculation unit calculates the point closest to the moving object on the route (hereinafter referred to as the nearest neighbor) that indicates a point already reached on the route, based on the location information, An inflection point detection unit detects the first inflection point that appears on the aforementioned path after the nearest neighbor point, An angle difference calculation unit that calculates the attitude angle of the moving body with respect to the line connecting the nearest neighbor point and the inflection point as an angle difference, A target selection unit that selects a target to be used as the moving target for the moving body based on the angle difference and the inflection point, It is equipped with these features.

[0008] A method for setting objectives in one aspect of this disclosure is: The steps include obtaining the path the moving object should take and location information indicating the current position of the moving object, Based on the location information, the step of calculating the point closest to the moving object on the path (hereinafter referred to as the nearest neighbor) that indicates a point already reached on the path, The steps include detecting the first inflection point that appears on the aforementioned path after the nearest neighbor point, A step of calculating the attitude angle of the moving body as an angle difference with respect to the line connecting the nearest neighbor point and the inflection point, The steps include selecting a target that the moving body should use as its target based on the angle difference and the inflection point, It includes.

[0009] A program in one aspect of this disclosure is On the computer, A process for obtaining the path that a moving object should take and location information indicating the current position of the moving object, Based on the aforementioned location information, a process is performed to calculate the point closest to the moving object on the route (hereinafter referred to as the nearest neighbor point) that indicates a point already reached on the route, A process for detecting the first inflection point that appears on the aforementioned path after the nearest neighbor point, A process to calculate the attitude angle of the moving body as an angle difference with respect to the line connecting the nearest neighbor point and the inflection point, A process to select a target that the moving body should use as its target based on the angle difference and the inflection point, This is what causes it to execute. [Effects of the Invention]

[0010] According to this disclosure, it is possible to provide a target setting device, a target setting method, and a program that can improve tracking ability with respect to the path (movement path) of a moving object while reducing the computational load. [Brief explanation of the drawing]

[0011] [Figure 1] This is a diagram illustrating an example of a method for controlling the movement of a moving object. [Figure 2] This is a diagram illustrating an example of the issues addressed in this disclosure. [Figure 3] This is a diagram illustrating a method for setting a target for a moving object according to this disclosure. [Figure 4] This block diagram shows an example of the configuration of the target setting device relating to this disclosure. [Figure 5] This graph shows an example of the relationship between angle difference and limited distance. [Figure 6] Figure 4 is a flowchart showing an example of the target setting process performed by the target setting device. [Figure 7] This block diagram shows an example of the configuration of the target setting device relating to this disclosure. [Figure 8]It is a diagram showing an example of the control of the movement of a moving body by the target setting device shown in FIG. 7. [Figure 9] It is a flowchart showing an example of the target setting process executed by the target setting device shown in FIG. 7. [Figure 10] It is a block diagram showing an example of the hardware configuration of the target setting device of the present disclosure.

Mode for Carrying Out the Invention

[0012] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. However, the invention according to the claims is not limited to the following embodiments. Also, not all of the configurations described in this embodiment are necessarily essential as means for solving the problems. For the sake of clarity of explanation, the following description and drawings are appropriately omitted and simplified. In each drawing, the same elements are denoted by the same reference numerals, and redundant explanations are omitted as necessary.

[0013] Each drawing referred to in the embodiments is merely an example for explaining one or more embodiments. Each drawing is not associated with only one specific embodiment, but may be associated with one or more other embodiments. As can be understood by those skilled in the art, various features or steps described with reference to any one drawing can be combined with the features or steps shown in one or more other drawings, for example, to create embodiments not explicitly illustrated or described. Not all of the features or steps shown in any one drawing for explaining exemplary embodiments are necessarily essential, and some features or steps may be omitted. The order of the steps described in any drawing may be changed as appropriate.

[0014] <Background Leading to the Present Disclosure> The inventors of this disclosure believe that achieving autonomous driving control of a forklift traveling inside a warehouse requires control with higher tracking accuracy than autonomous driving control on a road. Here, when transporting goods, a forklift travels inside a warehouse, making frequent sharp turns, rapid acceleration, and rapid deceleration, and moves to the target position using left and right steering and forward and backward throttle operation (lever operation). Furthermore, a forklift is a non-holonomic moving body that can basically only move forward and backward, and when the steering angle is fixed and the tires are not slipping, the trajectory becomes an arc.

[0015] Autonomous driving control of forklifts (hereinafter also referred to as mobile vehicles) is considered to be achievable through the vehicle's environmental recognition, movement path generation, and path-following control. Environmental recognition involves estimating the vehicle's position and detecting (understanding) surrounding obstacles using sensors such as stereo cameras, 2D or 3D LiDAR (Light Detection and Ranging), and ultrasonic sensors. Here, stereo cameras can record information in the depth direction (distance to the object) by simultaneously photographing the object from multiple different directions. LiDAR measures the distance and direction to the object by irradiating the object with laser light and measuring the time it takes for the light to bounce back.

[0016] Path generation generates a path for the forklift to reach its destination (goal), avoiding obstacles along the way. Path-following control controls the drive unit to ensure the forklift moves along the generated path.

[0017] Forklifts operate in confined environments with many obstacles, such as warehouses, making it crucial that they stay on their generated paths. However, if a forklift cannot follow its generated path, the following problems may arise. First, there is a risk of collision with an obstacle. Therefore, it is necessary to generate a path with a large safety margin to obstacles, but this can result in the inability to generate a path through narrow passages. Furthermore, if a forklift deviates from its path, it may not be possible to generate a path from that point, potentially rendering the forklift immobile. Even if a path is generated from the point of deviation, it may result in a longer, more roundabout route, potentially reducing work efficiency within the warehouse.

[0018] An example of a path generation algorithm is Reeds-Shepp. Reeds-Shepp calculates the shortest path composed of arcs and straight lines by inputting the turning radius of the moving object, the coordinates of the start and end points, and the orientation of the moving object. As such, the movement path generated by Reeds-Shepp is composed of arcs and straight lines, so the curvature of the movement path is discontinuous.

[0019] In a pure Reeds-Shepp system, paths are generated without considering obstacles, so if the aircraft is controlled to follow the generated path, there is a risk of it colliding with obstacles. Patent Document 2 describes a method for generating paths that avoid obstacles using Reeds-Shepp. This path generation method generates a global path to the goal, then calculates the score of each point that makes up the global path based on the location information of obstacles, and generates a Reeds-Shepp path as a control local path up to the point with the minimum score value.

[0020] Examples of algorithms for generating travel paths include Model Predictive Control (MPC) and Pure Pursuit. A brief explanation of each algorithm follows.

[0021] Model-based predictive control uses a model of the controlled object to predict its future state at each control cycle, solves an optimization problem, and then uses the results to perform control. Model-based predictive control can generate movement paths that take into account constraints such as the vehicle model and the surrounding environment. However, this approach requires identifying these constraints and also results in a high computational load.

[0022] Figure 1 illustrates the control of Pure pursuit as an example of a method for controlling the movement of a moving object. First, waypoints (W) are generated as the movement path. This control method, as shown in Figure 1(a), selects a point T located a predetermined distance from the forklift F on the movement path W, and controls the steering to move towards target T. The actual path traveled is shown as Actual Path (AP). Thus, in Pure pursuit, the moving object may move in a different direction, and as shown in Figure 1(a), it may take a shortcut.

[0023] Next, in Pure pursuit, the selection of the target T is crucial, although this also depends on the movement path. For example, if the target T is close, as shown in Figure 1(b), the control may become unstable, preventing the robot from following the movement path and causing it to meander. On the other hand, if the target T is far away, as shown in Figure 1(c), the robot may take a large shortcut along the movement path, resulting in a decrease in the accuracy of tracking the movement path.

[0024] Figure 2 illustrates an example of the problems described in this disclosure. Generally, in path-following control, the movement trajectory of a moving object may deviate from the desired path due to factors such as positioning errors and control errors in the object's position. In addition, due to reasons such as a low path update frequency, path-following control may be performed on a path generated based on the object's past position.

[0025] Therefore, as shown in Figure 2, the angular difference θ between the attitude angle of the moving object F and the direction of the target T on the waypoint W may become large. In such cases, even if the initial deviation is small, the object will move further and further away from the movement path W, which can lead to a problem where the tracking performance of the movement path W deteriorates.

[0026] To solve the above problems, the inventors of this disclosure have come to believe that it is effective to use a path generated using Reeds-Shepp to perform control according to the inflection point where the curvature changes and the angle difference θ.

[0027] In the following embodiment, since movement paths such as global paths and local paths, and location information of a moving object can be generated using conventional methods, a target setting device that acquires these and selects a target to be used as a movement target will be described.

[0028] (Embodiment 1) Embodiment 1 of this disclosure will be described below. In this disclosure, the movement path is a path with discontinuous curvature, composed of arcs and straight lines, as described above. Here, the point on the movement path where the curvature changes is called an inflection point (IP).

[0029] First, let's briefly explain how to set the target for a moving object. Figure 3 is a diagram illustrating the method for setting the target for a moving object according to this disclosure. As shown in Figure 3, the point closest to the moving object F and the path W is defined as the starting point (nearest neighbor) S. In this example, the path W has two inflection points IP1 and IP2.

[0030] The target setting method for a moving object F according to this disclosure changes the target of the moving object F according to the angle difference (corresponding to θ in Figure 2) between the attitude angle of the moving object F and the path direction at the nearest point S on the path W as seen from the moving object F. Specifically, if the angle difference θ is greater than a predetermined value, point T1, which is close to the starting point S on the path W, is set as the target. This prevents the moving object F from deviating significantly from the path W as shown in Figure 2, and allows the moving object F to move closer to the path W. On the other hand, if the angle difference θ is smaller than a predetermined value, point T2 (here, inflection point IP1), which is far from the starting point S on the path W, is set as the target. Thus, the target setting method of this disclosure is characterized by limiting the range of selectable targets according to the angle difference θ. As will be explained in the operation of the target setting device below, the target setting method of this disclosure selects the point closest to the inflection point IP within the range of selectable targets as the target.

[0031] <Configuration of the target setting device> The configuration of the target setting device according to this embodiment will be described below with reference to Figure 3. This target setting device sets (selects) a target T in order to generate the movement path W of the mobile body F, which is a forklift. The location of the target setting device may be inside the forklift body or on a server, as long as the processing described later can be performed.

[0032] Figure 4 is a block diagram showing an example of the configuration of a target setting device according to the present disclosure. As shown in Figure 4, the target setting device 1 according to this embodiment includes an acquisition unit 10, a nearest neighbor point calculation unit 20, an inflection point detection unit 30, an angle difference calculation unit 40, and a target selection unit 50.

[0033] The acquisition unit 10 is configured to acquire the path (travel path) W that the mobile body F should take and location information indicating the current position of the mobile body F. Although not shown in the figures, the mobile body F is equipped with multiple sensors to enable autonomous driving, and can identify and store the current position of the mobile body based on the detection results of these sensors. The travel path W is generated based on the detection results of the multiple sensors, for example by the method described in Patent Document 2, and is stored in a storage unit (not shown). The acquisition unit 10 only needs to appropriately acquire the location information indicating the current position of the mobile body F and the travel path W stored in the storage unit.

[0034] The nearest neighbor point calculation unit 20 is configured to calculate the point S (hereinafter referred to as the "nearest neighbor point") closest to the moving object F on the path W, which indicates a point already reached on the path W, based on the position information of the moving object F. The nearest neighbor point calculation unit 20 can calculate the nearest neighbor point S by drawing a perpendicular line from the current position of the moving object F indicated by the position information (for example, the position of the centroid of the moving object F) to the path W, and finding the intersection of this perpendicular line and the path W.

[0035] The inflection point detection unit 30 is configured to detect the first inflection point IP (IP1 in Figure 3) that appears on the path W after the nearest neighbor point S. In the example shown in Figure 3, the path W is a straight line to the first inflection point IP1, an arc with a predetermined radius from inflection point IP1 to the second inflection point IP2, and an arc with a radius different from the predetermined radius from inflection point IP2 onward. As described above, the path W acquired by the acquisition unit 10 is the shortest path composed of arcs and straight lines, and also includes information on the inflection point IP. The inflection point detection unit 30 only needs to detect the inflection point IP based on the path W acquired by the acquisition unit 10.

[0036] The angle difference calculation unit 40 is configured to calculate the attitude angle of the moving body F with respect to the line connecting the nearest neighbor point S and the inflection point IP (the straight portion of the path W in Figure 3) as the angle difference θ. Alternatively, the tangent line at the nearest neighbor point S on the path W may be used instead of the line connecting the nearest neighbor point S and the inflection point IP.

[0037] The target selection unit 50 is configured to select a target T that the mobile body F should target based on the angle difference θ and the inflection point IP. Specifically, the target selection unit 50 is configured to determine a target selection range based on the attitude angle of the mobile body F, and to select a target that the mobile body F should target according to the target selection range.

[0038] The target selectable range is the range in which the target selection unit 50 can select the inflection point IP of the target as the target T. In this disclosure, by appropriately setting the target selectable range, the target T can be selected and set according to the attitude angle of the moving body F.

[0039] The target selection range refers to the range between the nearest neighbor point S and a point on the path W that is a limiting distance D away from the nearest neighbor point S. Here, we will explain the limiting distance D. Figure 5 is a graph showing an example of the relationship between the angle difference θ and the limiting distance D. In this example, the limiting distance D is set to be calculated using the formula shown on the right side of Figure 5. That is, the limiting distance D is set to the second threshold D2 when the angle difference θ is less than the first angle α. Also, if the angle difference θ is greater than the second angle β (α < β), which is greater than the first angle α, the limiting distance D is set to the first threshold D1 (D2 > D1), which is smaller than the second threshold D2. Furthermore, if the angle difference θ is greater than or equal to the first angle α and less than or equal to the second angle β, the limiting distance D is set to (D2 - D1) / (β - α) × (|θ| - α) + D2. In the example shown in Figure 5, the limiting distance D decreases linearly when the angle difference θ is between α and β. However, the limiting distance D within this range may be changed to decrease in a stepwise manner.

[0040] The first threshold D1 and second threshold D2 of the limit distance D should be determined based on the longitudinal length of the moving body F (in the case of a forklift, the length from the rear to the tip of the forks), the minimum turning radius, the size of the wheelbase, the size of the space in the warehouse, the width of the aisles, etc.

[0041] Thus, in setting the target selectable range in this example, when the angle difference θ becomes larger than a certain amount, that is, when the angle difference θ is greater than the second angle β, the limiting distance D should be set to a small value D1 based on, for example, the minimum turning radius. Also, when the angle difference θ falls below a certain amount, that is, when the angle difference θ is less than the first angle α, the limiting distance D should be set to a large value D2 based on, for example, the length of the path W or the size of the space in the warehouse.

[0042] The target selection unit 50 is configured to determine whether the inflection point IP detected by the inflection point detection unit 30 is within the target selection range in order to select a target T. If it is determined that the inflection point IP is within the target selection range, the target selection unit 50 selects this inflection point IP as the target T. On the other hand, if it is determined that the inflection point IP is not within the target selection range, the target selection unit 50 selects the point closest to this inflection point within the target selection range as the target T. The point closest to the inflection point within the target selection range is the point on the path W that is a limited distance D away from the nearest neighbor S.

[0043] <Operation of the target setting device> Next, the operation of the target setting device 1 according to this embodiment will be described. Figure 6 is a flowchart showing an example of the target setting process performed by the target setting device 1 shown in Figure 4. This target setting process is performed, for example, every 40 milliseconds while autonomous driving control of the mobile body F is being performed.

[0044] In the target setting process, first, the acquisition unit 10 acquires the path (travel path) W that the mobile object F should take and location information indicating the current position of the mobile object F (step S11). Then, the nearest neighbor point calculation unit 20 calculates the points already reached on the path W based on the location information of the mobile object F (step S12), and calculates the nearest neighbor point S on the path W based on the points already reached on the path W (step S13).

[0045] Next, the inflection point detection unit 30 detects the first inflection point IP that appears on the path W after the nearest neighbor point S (step S14). The angle difference calculation unit 40 calculates the attitude angle of the moving body F with respect to the line connecting the nearest neighbor point S and the inflection point IP as the angle difference θ (step S15). The target selection unit 50 determines the target selection range based on the angle difference θ (step S16).

[0046] Next, the target selection unit 50 determines whether the inflection point IP is within the target selectable range (step S17). If it determines that the inflection point IP is within the target selectable range, the target selection unit 50 selects this inflection point IP as target T (step S18), and the target setting device 1 terminates this target setting process. On the other hand, if it determines that the inflection point IP is not within the target selectable range, the target selection unit 50 selects the point closest to this inflection point IP within the target selectable range as target T (step S19), and the target setting device 1 terminates this target setting process.

[0047] Although not shown in the diagrams and explanations, the target setting device 1 only needs to transmit and output information about the selected target T to the autonomous driving control device (not shown) of the mobile body F via the network. The autonomous driving control device of the mobile body F generates control commands for the drive unit (not shown) of the mobile body F based on the current position and attitude angle of the mobile body F, the path W, the nearest neighbor S, and the target T. Based on these control commands, the drive unit controls the steering and throttle levers (not shown) of the mobile body F.

[0048] As described above, the target setting device 1 according to this embodiment is configured to include: an acquisition unit 10 that acquires the path W to which the moving body F should travel and position information indicating the current position of the moving body F; a nearest neighbor point calculation unit 20 that calculates the point closest to the moving body on the path W (hereinafter referred to as the nearest neighbor point S) based on the position information of the moving body F; an inflection point detection unit 30 that detects the first inflection point IP that appears on the path W after the nearest neighbor point S; an angle difference calculation unit 40 that calculates the attitude angle of the moving body F with respect to the line connecting the nearest neighbor point S and the inflection point IP as an angle difference θ; and a target selection unit 50 that selects a target T that the moving body F should target based on the angle difference θ and the inflection point IP. By configuring the target setting device 1 according to this embodiment in this way, it is possible to reduce the computational load while improving the tracking ability of the moving body F with respect to the path W.

[0049] Furthermore, in the target setting device 1 according to this embodiment, the target selection unit 50 may be configured to determine a target selectable range based on the attitude angle of the moving body F and to select a target T according to the target selectable range. In this case, the target selection unit 50 may also be configured to determine whether or not the inflection point IP is within the target selectable range, and if the inflection point IP is within the target selectable range, select the inflection point IP as the target T, and if the inflection point IP is not within the target selectable range, select the point closest to the inflection point IP within the target selectable range as the target T. By configuring the target setting device 1 according to this embodiment in this way, it is possible to select a target T in such a way that the moving body F approaches the path W earlier, while preventing the moving body F from moving further and further away from the path W due to its attitude angle, which was a problem in the past.

[0050] Furthermore, the target setting method according to this embodiment is configured to include the steps of: acquiring a path that the moving body should take and position information indicating the current position of the moving body; calculating the point closest to the moving body on the path (hereinafter referred to as the nearest neighbor point) based on the position information, indicating a point already reached on the path; detecting the first inflection point that appears on the path after the nearest neighbor point; calculating the attitude angle of the moving body with respect to the line connecting the nearest neighbor point and the inflection point as an angle difference; and selecting a target that the moving body should use as its target based on the angle difference and the inflection point. By configuring the target setting method according to this embodiment in this way, the same effects as the target setting device 1 can be obtained.

[0051] (Embodiment 2) <Configuration of the target setting device> The configuration of the target setting device according to Embodiment 2 will be described below. Figure 7 is a block diagram showing an example of the configuration of the target setting device according to this disclosure. As shown in Figure 7, the target setting device 2 according to this embodiment includes an acquisition unit 10, a nearest neighbor point calculation unit 20, an inflection point detection unit 31, an angle difference calculation unit 40, and a target selection unit 50. Note that the components of the target setting device 2 other than the inflection point detection unit 31 have the same functions as the corresponding components of the target setting device 1 of Embodiment 1, so detailed explanations of them will be omitted as appropriate, except for functions specific to this embodiment. In the following description, for the sake of ease of explanation, the reference numerals in Figures 3 and 5 will be used as appropriate to describe the target setting device 2 according to this embodiment.

[0052] The target setting device 2 according to this embodiment, as shown in the example in Figure 8, utilizes the second inflection point IP2, which appears after the nearest neighbor point S, as the inflection point on the path W, under predetermined conditions, rather than the first inflection point IP1 that appears after the nearest neighbor point S.

[0053] The inflection point detection unit 31 is configured to detect the first inflection point that appears on the path W after the nearest neighbor point S as the first inflection point IP1. The inflection point detection unit 31 is also configured to determine whether the change in curvature between the first inflection point IP1 and the curvature after the first inflection point IP1 is smaller than a predetermined ratio, and whether the distance from the nearest neighbor point S to the first inflection point IP1 is less than or equal to a predetermined threshold. If the change in curvature before and after the first inflection point IP1 is small, and the distance from the nearest neighbor point S to the first inflection point IP1 is short, the target selection unit 50 can expect that not selecting the first inflection point IP1 as the target T will improve the tracking ability of the moving object F along the path W. Therefore, in such cases, the target selection unit 50 can ignore the first inflection point IP1.

[0054] Specifically, if the change in curvature is greater than a predetermined percentage, or if the distance from the nearest neighbor point S to the first inflection point IP1 is not less than or equal to a predetermined threshold, the inflection point detection unit 31 determines the first inflection point IP1 as the inflection point for subsequent processing. On the other hand, if the change in curvature is less than a predetermined percentage, and the distance from the nearest neighbor point S to the first inflection point IP1 is less than or equal to a predetermined threshold, the inflection point detection unit 31 detects the first inflection point that appears on the path W after the first inflection point IP1 as the second inflection point IP2, and determines the second inflection point IP2 as the inflection point for subsequent processing.

[0055] Figure 8 shows an example of controlling the movement of the moving object F using the target setting device 2 shown in Figure 7. Similar to the explanation in Figure 3, the nearest neighbor calculation unit 20 calculates the nearest nearest neighbor S that is closest to the moving object F on the path W. At this time, the inflection point detection unit 31 detects the first inflection point that appears after the nearest neighbor S as the first inflection point IP1. However, since the change in curvature before and after the first inflection point IP1 is small, and the distance from the nearest neighbor S to the first inflection point IP1 is short, in this embodiment, the inflection point detection unit 31 ignores the first inflection point IP1 and detects the next second inflection point IP2.

[0056] The angle difference calculation unit 40 is configured to calculate the attitude angle of the moving body F with respect to the line connecting the nearest neighbor point S and the first inflection point IP1 or the second inflection point IP2 determined by the inflection point detection unit 31 as the angle difference θ. Also, similar to Embodiment 1, the target selection unit 50 is configured to select a target T that the moving body F should target based on the angle difference θ and the first inflection point IP1 or the second inflection point IP2.

[0057] <Operation of the target setting device> Next, the operation of the target setting device 2 according to this embodiment will be described. Figure 9 is a flowchart showing an example of the target setting process performed by the target setting device 2 shown in Figure 7. This target setting process is performed, for example, every 40 milliseconds while autonomous driving control of the mobile body F is being performed.

[0058] In the target setting process, first, the acquisition unit 10 acquires the path W that the moving object F should take and location information indicating the current position of the moving object F (step S21). Then, the nearest neighbor point calculation unit 20 calculates the points already reached on the path W based on the location information of the moving object F (step S22), and calculates the nearest neighbor point S on the path W based on the points already reached on the path W (step S23).

[0059] Next, the inflection point detection unit 30 detects the first inflection point IP1 that appears on the path W after the nearest neighbor point S (step S24). The inflection point detection unit 30 determines whether the change in curvature before and after the first inflection point IP1 on the path W is smaller than a predetermined percentage, and whether the distance from the nearest neighbor point S to the first inflection point IP1 is less than or equal to a predetermined threshold (step S25). If it is determined that the change in curvature before and after the first inflection point IP1 is larger than a predetermined percentage, or that the distance from the nearest neighbor point S to the first inflection point IP1 is not less than or equal to a predetermined threshold, the inflection point detection unit 31 determines the first inflection point IP1 as the inflection point for subsequent processing (step S26).

[0060] On the other hand, if the change in curvature before and after the first inflection point IP1 is smaller than a predetermined ratio, and the distance from the nearest neighbor point S to the first inflection point IP1 is less than or equal to a predetermined threshold, the inflection point detection unit 31 detects the first inflection point that appears on the path W after the first inflection point IP1 as the second inflection point IP2 (step S27), and determines the second inflection point IP2 as the inflection point for subsequent processing (step S28).

[0061] Next, the angle difference calculation unit 40 calculates the attitude angle of the moving body F with respect to the line connecting the nearest neighbor point S and the first inflection point IP1 or the second inflection point IP2 as the angle difference θ (step S29). The target selection unit 50 determines the target selection range based on the angle difference θ (step S30).

[0062] Next, the target selection unit 50 determines whether the first inflection point IP1 or the second inflection point IP2 is within the target selection range (step S31). If it determines that the first inflection point IP1 or the second inflection point IP2 is within the target selection range, the target selection unit 50 selects this first inflection point IP1 or the second inflection point IP2 as target T (step S32), and the target setting device 2 terminates this target setting process. On the other hand, if it determines that the first inflection point IP1 or the second inflection point IP2 is not within the target selection range, the target selection unit 50 selects the point closest to this first inflection point IP1 or the second inflection point IP2 within the target selection range as target T (step S33), and the target setting device 2 terminates this target setting process.

[0063] Although not shown in the illustrations and description, similar to Embodiment 1, the target setting device 2 can transmit and output information about the selected target T to an autonomous driving control device (not shown) of the mobile body F via the network. The autonomous driving control device of the mobile body F generates control commands for the drive unit (not shown) of the mobile body F based on the current position and attitude angle of the mobile body F, the path W, the nearest neighbor S, and the target T. Based on these control commands, the drive unit controls the steering and throttle levers (not shown) of the mobile body F.

[0064] As described above, the target setting device 2 according to this embodiment is configured such that the inflection point detection unit 31 detects the first inflection point IP that appears on the path W after the nearest neighbor point S as the first inflection point IP1, determines whether the change between the curvature up to the first inflection point IP1 on the path W and the curvature after the first inflection point IP1 is smaller than a predetermined ratio and whether the distance from the nearest neighbor point S to the first inflection point IP1 is less than or equal to a predetermined threshold, and if it is determined that the change in curvature is larger than a predetermined ratio or the distance is not less than or equal to the predetermined threshold, the first inflection point IP1 is determined as the inflection point IP. If it is determined that the change in curvature is smaller than a predetermined ratio and the distance is less than or equal to the predetermined threshold, the first inflection point that appears on the path W after the first inflection point IP1 is detected as the second inflection point IP2, and the second inflection point IP2 is determined as the inflection point. By configuring the target setting device 2 according to this embodiment in this way, in addition to the effects of the target setting device 1 according to Embodiment 1, it is expected that an appropriate target T can be selected, thereby improving the tracking ability of the moving object F along the path W.

[0065] In the embodiments described above, the disclosure has been described as a hardware configuration, but the disclosure is not limited thereto. The disclosure can also be implemented by having a processor in a computer execute a computer program to perform the processing of the target setting devices 1 and 2 described in the embodiments described above.

[0066] Finally, the hardware configuration of target setting devices 1 and 2 will be described. Figure 10 is a block diagram showing an example of the hardware configuration of target setting devices 1 and 2 of this disclosure. As shown in Figure 10, target setting devices 1 and 2 include a network interface 100, a processor 200, and memory 300. The network interface 100 may be used not only for the network described above but also for communicating with network nodes. The network interface 100 may include, for example, a network interface card (NIC) compliant with the IEEE 802.3 series. IEEE stands for Institute of Electrical and Electronics Engineers.

[0067] The processor 200 reads and executes software (computer programs) from the memory 300 to perform the various processing of the target setting devices 1 and 2 described above. The processor 200 may be, for example, a microprocessor, an MPU (Micro-Processing Unit), or a CPU (Central Processing Unit). The processor 200 may include multiple processors.

[0068] The memory 300 is composed of a combination of volatile and non-volatile memory. The memory 300 may also include storage located away from the processor 200. In this case, the processor 200 may access the memory 300 via an I / O (Input / Output) interface, which is not shown.

[0069] In the example shown in Figure 10, the memory 300 is used to store a group of software modules. The processor 200 can read these software modules from the memory 300 and execute them, thereby enabling the various processing operations of the target setting devices 1 and 2 described in the above embodiment.

[0070] As explained with reference to Figure 10, each of the processors in the target setting devices 1 and 2 in the above-described embodiment executes one or more programs that include a set of instructions for causing a computer to perform the algorithm described with reference to the drawings.

[0071] Some or all of the processing in the target setting devices 1 and 2 described above can be implemented as a computer program. Such a program can be stored using various types of non-temporary computer-readable media and supplied to a computer. Non-temporary computer-readable media include various types of tangible recording media. Examples of non-temporary computer-readable media include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs (Random Access Memory)). Alternatively, the program may be supplied to the computer by various types of temporary computer-readable media. Examples of temporary computer-readable media include electrical signals, optical signals, and electromagnetic waves. Temporary computer-readable media can be supplied to the computer via wired communication channels such as electric wires and optical fibers, or via wireless communication channels.

[0072] Although the present invention has been described with reference to embodiments, the present invention is not limited to the above embodiments and can be modified as appropriate without departing from the spirit of the invention.

[0073] Some or all of the above embodiments may be described as follows, but are not limited to the following. (Note 1) An acquisition unit that acquires the path the moving object should take and location information indicating the current position of the moving object, A nearest neighbor calculation unit calculates the point closest to the moving object on the route (hereinafter referred to as the nearest neighbor) that indicates a point already reached on the route, based on the location information, An inflection point detection unit detects the first inflection point that appears on the aforementioned path after the nearest neighbor point, An angle difference calculation unit that calculates the attitude angle of the moving body with respect to the line connecting the nearest neighbor point and the inflection point as an angle difference, A target selection unit that selects a target to be used as the moving target for the moving body based on the angle difference and the inflection point, A target setting device equipped with the following features. (Note 2) The target selection unit determines the target selection range based on the attitude angle of the moving body, and selects the target according to the target selection range. The target setting device described in Appendix 1. (Note 3) The aforementioned target selection unit, Determine whether the inflection point is within the target selectable range. If the inflection point is within the range of selectable targets, the inflection point is selected as the target. If the inflection point is not within the target selectable range, the point closest to the inflection point within the target selectable range is selected as the target. The target setting device described in Appendix 2. (Note 4) The target selection range is the range between the nearest neighbor point and a point on the path that is a limited distance away from the nearest neighbor point. The target setting device described in Appendix 2. (Note 5) The target selectable range is the range between the nearest neighbor point and a point on the path that is a limited distance away from the nearest neighbor point. Within the target selectable range, the point closest to the inflection point is a point on the path that is a distance from the nearest neighbor point by the specified limit distance. The target setting device described in Appendix 3. (Note 6) When the angle difference is θ, the limiting distance is If the angle difference θ is less than the first angle α, it is set to the second threshold D2. If the angle difference θ is greater than the second angle β which is greater than the first angle α, the first threshold D1 is set to be less than the second threshold D2. If the angle difference θ is greater than or equal to the first angle α and less than or equal to the second angle β, then it is set to (D2-D1) / (β-α)×(|θ|-α)+D2. A target setting device as described in Appendix 4 or 5. (Note 7) The inflection point detection unit, Along the aforementioned path, the first inflection point that appears after the nearest neighbor point is detected as the first inflection point. It is determined whether the change between the curvature up to the first inflection point and the curvature after the first inflection point in the aforementioned path is smaller than a predetermined ratio, and whether the distance from the nearest neighbor point to the first inflection point is less than or equal to a predetermined threshold. If it is determined that the change is greater than the predetermined percentage, or that the distance is not less than or equal to the predetermined threshold, the first inflection point is determined to be the inflection point. If it is determined that the change is smaller than the predetermined percentage and the distance is less than or equal to the predetermined threshold, the first inflection point that appears on the path after the first inflection point is detected as the second inflection point, and the second inflection point is determined as the inflection point. A target setting device as described in any one of the appendices 1 to 5. (Note 8) The steps include obtaining the path the moving object should take and location information indicating the current position of the moving object, Based on the location information, the step of calculating the point closest to the moving object on the path (hereinafter referred to as the nearest neighbor) that indicates a point already reached on the path, The steps include detecting the first inflection point that appears on the aforementioned path after the nearest neighbor point, A step of calculating the attitude angle of the moving body as an angle difference with respect to the line connecting the nearest neighbor point and the inflection point, The steps include selecting a target that the moving body should use as its target based on the angle difference and the inflection point, Goal setting methods, including... (Note 9) On the computer, A process for obtaining the path that a moving object should take and location information indicating the current position of the moving object, Based on the aforementioned location information, a process is performed to calculate the point closest to the moving object on the route (hereinafter referred to as the nearest neighbor point) that indicates a point already reached on the route, A process for detecting the first inflection point that appears on the aforementioned path after the nearest neighbor point, A process to calculate the attitude angle of the moving body as an angle difference with respect to the line connecting the nearest neighbor point and the inflection point, A process to select a target that the moving body should use as its target based on the angle difference and the inflection point, A program that executes something.

[0074] Some or all of the elements (e.g., configuration and function) described in Appendices 2 to 7 that are dependent on Appendice 1 may also be dependent on Appendices 8 and 9 in the same way as those described in Appendices 2 to 7. Some or all of the elements described in any appendice may be applied to various hardware, software, recording means, systems, and methods for recording software.

[0075] Although the present disclosure has been described above with reference to embodiments, the present disclosure is not limited to the embodiments described above. Various modifications to the structure and details of the present disclosure can be made as can be understood by those skilled in the art within the scope of the present disclosure. Furthermore, each embodiment can be combined with other embodiments as appropriate. [Explanation of symbols]

[0076] 1, 2 Goal setting device 10 Acquisition Department 20. Nearest emphasis point calculation unit 30, 31 Inflection point detection unit 40 Angle difference calculation unit 50. Goal Selection Section 100 network interfaces 200 processors 300 memory

Claims

1. An acquisition unit that acquires the path the moving object should take and location information indicating the current position of the moving object, A nearest neighbor calculation unit calculates the point closest to the moving object on the route (hereinafter referred to as the nearest neighbor) that indicates a point already reached on the route, based on the location information, An inflection point detection unit detects the first inflection point that appears on the aforementioned path after the nearest neighbor point, An angle difference calculation unit that calculates the attitude angle of the moving body with respect to the line connecting the nearest neighbor point and the inflection point as an angle difference, A target selection unit that selects a target to be used as the moving target for the moving body based on the angle difference and the inflection point, A target setting device equipped with the following features.

2. The target selection unit determines the target selection range based on the attitude angle of the moving body, and selects the target according to the target selection range. The target setting device according to claim 1.

3. The aforementioned target selection unit, Determine whether the inflection point is within the target selectable range. If the inflection point is within the range of selectable targets, the inflection point is selected as the target. If the inflection point is not within the target selectable range, the point closest to the inflection point within the target selectable range is selected as the target. The target setting device according to claim 2.

4. The target selection range is the range between the nearest neighbor point and a point on the path that is a limited distance away from the nearest neighbor point. The target setting device according to claim 2.

5. The target selectable range is the range between the nearest neighbor point and a point on the path that is a limited distance away from the nearest neighbor point. Within the target selectable range, the point closest to the inflection point is a point on the path that is a distance from the nearest neighbor point by the specified limit distance. The target setting device according to claim 3.

6. When the angle difference is θ, the limiting distance is If the angle difference θ is less than the first angle α, it is set to the second threshold D2. If the angle difference θ is greater than the second angle β which is greater than the first angle α, the first threshold D1 is set to be less than the second threshold D2. If the angle difference θ is greater than or equal to the first angle α and less than or equal to the second angle β, then it is set to (D2 - D1) / (β - α) × (|θ| - α) + D2. The target setting device according to claim 4 or 5.

7. The inflection point detection unit, Along the aforementioned path, the first inflection point that appears after the nearest neighbor point is detected as the first inflection point. It is determined whether the change between the curvature up to the first inflection point and the curvature after the first inflection point in the aforementioned path is smaller than a predetermined ratio, and whether the distance from the nearest neighbor point to the first inflection point is less than or equal to a predetermined threshold. If it is determined that the change is greater than the predetermined percentage, or that the distance is not less than or equal to the predetermined threshold, the first inflection point is determined to be the inflection point. If it is determined that the change is smaller than the predetermined percentage and the distance is less than or equal to the predetermined threshold, the first inflection point that appears on the path after the first inflection point is detected as the second inflection point, and the second inflection point is determined as the inflection point. A target setting device according to any one of claims 1 to 5.

8. The steps include obtaining the path the moving object should take and location information indicating the current position of the moving object, Based on the location information, the step of calculating the point closest to the moving object on the path (hereinafter referred to as the nearest neighbor) that indicates a point already reached on the path, The steps include detecting the first inflection point that appears on the aforementioned path after the nearest neighbor point, A step of calculating the attitude angle of the moving body as an angle difference with respect to the line connecting the nearest neighbor point and the inflection point, The steps include selecting a target that the moving body should use as its target based on the angle difference and the inflection point, Goal setting methods, including...

9. On the computer, A process for obtaining the path that a moving object should take and location information indicating the current position of the moving object, Based on the aforementioned location information, a process is performed to calculate the point closest to the moving object on the route (hereinafter referred to as the nearest neighbor point) that indicates a point already reached on the route, A process for detecting the first inflection point that appears on the aforementioned path after the nearest neighbor point, A process to calculate the attitude angle of the moving body as an angle difference with respect to the line connecting the nearest neighbor point and the inflection point, A process to select a target that the moving body should use as its target based on the angle difference and the inflection point, A program that executes something.

Citation Information

Patent Citations

  • Travel route generating device and travel control device

    JP2022065364A

  • System for waypoint selection and method of using

    US20230085055A1