Moving body position determination method

By combining the cross-number algorithm and the winding algorithm, along with GNSS and 2D-LiDAR, the system can accurately determine whether a moving object is within the path, solving the problem of transport robots deviating from the path in existing technologies and improving operational safety and efficiency.

CN122151132APending Publication Date: 2026-06-05TOYOTA JIDOSHA KK
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
TOYOTA JIDOSHA KK
Filing Date
2025-11-07
Publication Date
2026-06-05

AI Technical Summary

Technical Problem

Existing technologies struggle to accurately determine whether a moving object is within the path, especially in work areas with few distinctive structures. This can easily cause the handling robot to deviate from the path and interfere with other objects.

Method used

The algorithm employs the cross-number algorithm, the wrap-around algorithm, and their combined algorithm to determine with high precision whether the moving object is located within the path by judging the relative position of the vertices of the moving object polygon and the path polygon region. Combined with the position information obtained by GNSS and 2D-LiDAR, the vertex positions of the moving object polygon and the path polygon are set.

Benefits of technology

It enables high-precision determination of whether a moving object is within the path in work areas with few characteristic structures, avoiding interference between the handling robot and other objects, and improving work safety and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122151132A_ABST
    Figure CN122151132A_ABST
Patent Text Reader

Abstract

The present application is to determine whether a moving body is located inside a path with high accuracy. In a case where each of a plurality of vertices of a moving body polygon set for the moving body is located inside a polygon region set for the path, and each of a plurality of vertices of the polygon region is not located inside the moving body polygon, it is determined that the moving body is located inside the path. Thus, it is possible to determine whether the moving body is located inside the path with high accuracy.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a method for determining the location of a moving object, specifically whether it is located within a path. Background Technology

[0002] In the operating system described in Patent Document 1, the position of the moving body is obtained based on the position of the moving body determined by a signal from a satellite positioning device and the movement state of the moving body determined by the inertial force applied to the moving body, which is obtained by an inertial force acquisition device. On the other hand, the surrounding environment of the moving body is acquired using a camera device, LiDAR, etc., and a surrounding environment map is created. Furthermore, the moving body automatically travels along a predetermined path based on the created surrounding environment map and the position of the moving body.

[0003] Patent Document 1: Japanese Patent Application Publication No. 2024-122247 Summary of the Invention The objective of this invention is to determine with high accuracy whether a moving object is within a path.

[0004] In the moving body position determination method described in this invention, the moving body is determined to be located within the path if each of the vertices of a moving body polygon defined for the moving body is located inside a polygonal region defined for the path, and if none of the vertices of the defined polygonal region are located inside the moving body polygon. Therefore, it is possible to determine with high accuracy whether the moving body is located inside the path. Attached Figure Description

[0005] Figure 1 This is a schematic diagram showing the overall transport system capable of implementing the moving body position determination method as an embodiment of the present invention.

[0006] Figure 2 This is a top view of the handling robot, which is a component of the aforementioned handling system.

[0007] Figure 3 This is a side view showing the state of the aforementioned transport robot transporting the vehicle being transported.

[0008] Figure 4 This is a conceptual diagram representing the periphery of the control device of the aforementioned handling robot.

[0009] Figure 5 This is a diagram that conceptually represents the structure of the management device, which is a constituent element of the aforementioned handling system.

[0010] Figure 6 This is a flowchart illustrating the procedure for determining the position of a moving body stored in the storage unit of the control device of the aforementioned transport system.

[0011] Figure 7 This is a top view showing the aforementioned transport robot and path.

[0012] Figure 8 (a)- Figure 8 (c) is a top view of the aforementioned moving polygon.

[0013] Figure 9 It is a diagram that conceptually represents the decision based on the Crossing Number Algorithm.

[0014] Figure 10 This is a diagram that schematically represents the decision based on the winding number algorithm.

[0015] Figure 11 (a) Figure 11 (b) is a diagram that conceptually represents the decision of the algorithm based on the Crossing Number Algorithm and the Winding Number Algorithm.

[0016] Figure 12 This diagram illustrates the problem of deviation determination based on the difference between the position of the transport robot and the target travel line. Detailed Implementation

[0017] Hereinafter, a transport system including a moving body position determination device capable of performing a moving body position determination method as an embodiment of the present invention will be described in detail based on the accompanying drawings.

[0018] like Figure 1 As shown, the transport system is set up in a predetermined work area. The transport system includes multiple moving bodies 10 and a management device 12. The moving bodies can be, for example, transport robots 10 that transport objects. The transport robots 10 can be, for example, robots capable of automatic or autonomous movement. Figure 3 As shown, the object can be, for example, the vehicle c being transported. Each of these plurality of transport robots 10 can communicate wirelessly with the management device 12.

[0019] like Figure 2 As shown, the handling robot 10 is shaped to extend along the axis Lr in the length direction. The handling robot 10 includes a main body 20 and a trolley section 22. Left and right front wheels 24 are provided on the main body 20, and left and right rear wheels 26 are provided on the trolley section 22. Figure 4As shown, the main body 20 includes left and right front wheels 24, a drive unit 27, a steering unit 28, a height adjustment device 30, and a control unit 32. The drive unit 27 drives the left and right front wheels 24, and can be configured to include an electric motor, for example. By controlling the electric motor, driving or braking force can be applied to the left and right front wheels 24. The steering unit 28 steers the left and right front wheels 24, and can be configured to include at least one electric motor as a steering actuator. By using the steering actuator, the left and right front wheels 24 can be steered together or individually.

[0020] The height adjustment device 30 adjusts the height of the trolley section 22. For example, it can be configured as a device including a fluid pressure cylinder as a height adjustment actuator. The height adjustment device 30 adjusts the height of the trolley section 22 between the submersion height and the transport height. The submersion height is the height at which the trolley section 22 can submerge (enter) under the vehicle body c being transported. The transport height is the height at which the vehicle c is lifted and transported. The transport height is higher than the submersion height.

[0021] The trolley section 22 includes a base 36, a front section 38, and a rear section 40. The base 36 extends along the axis Lr in the length direction. The rear section 40 includes a main body 42, a clamping device 44, a 2D-LiDAR (2-dimensional Light Detection and Ranging) unit 46, and left and right rear wheels 26.

[0022] The main body 42 is fixedly mounted on the base 36. The clamping device 44 grips the wheels w of the vehicle c being transported. The clamping device 44 includes arm pairs 51 respectively located on the left and right sides of the main body 42, and arm rotation actuators 50 for driving the arm pairs 51 (see reference). Figure 4 The left and right arm pairs 51 each include a first arm 48 and a second arm 49. The arm rotation actuator 50 causes the left and right first arms 48 and the left and right second arms 49 to rotate between a position (posture) approximately parallel to the axis Lr, i.e., a retracted position, and a position (posture) protruding from the main body 42 in the width direction and approximately orthogonal to the axis Lr, i.e., a clamping position. The arm rotation actuator 50 can be, for example, a device including a fluid pressure cylinder, or a device including an electric motor, etc.

[0023] The 2D-LiDAR 46 is positioned approximately at the center of the rear end face of the main body 42 (on the axis Lr). Light is directed towards the rear of the transport robot 10 through the 2D-LiDAR 46, and the light reflected from the object is received, thereby obtaining the relative positional relationship between the 2D-LiDAR 46 and the point of light reflection on the object. Furthermore, the 2D-LiDAR 46 illuminates light below the vehicle body c being transported. Therefore, the position of the wheels (tires) of the vehicle c can be determined based on the 2D-LiDAR 46.

[0024] The front part 38 includes a main body 54, a clamping device 56, and an interval adjustment device 58 (see reference). Figure 4 The main body 54 is held on the base 36 in a manner that allows it to move along the axial direction. The clamping device 56 includes a pair of arms 63 respectively disposed on the left and right sides of the main body 54, and an arm rotation actuator 62 (see reference). Figure 4 The left and right arm pairs 63 respectively include a first arm 60 and a second arm 61. The arm rotation actuator 62 causes the left and right second arms 61 to rotate between a retracted position and a clamping position. The left and right first arms 60 are always in the clamping position.

[0025] The spacing adjustment device 58 brings the main body 54 of the front part 38 closer to or further away from the main body 42 of the rear part 40, and can be configured, for example, as a device including a fluid pressure actuator. By adjusting the spacing of the pair of clamping devices 44, 56 by the spacing adjustment device 58, it can correspond to the wheelbase of the vehicle c being transported.

[0026] like Figure 4 As shown, the control device 32 is mainly a computer and includes an execution unit 70, a storage unit 71, an input / output unit 72, etc. A GNSS receiver 66, a communication device 68, a 2D-LiDAR 46, etc., are connected to the input / output unit 72, and a drive device 27, a steering device 28, a height adjustment device 30, an interval adjustment device 58, and arm rotation actuators 50 and 62 are also connected to it.

[0027] The Global Navigation Satellite System (GNSS) receiver 66 obtains its own two-dimensional position (latitude and longitude) based on the received GNSS signals. Furthermore, for example, if two or more GNSS receivers 66 are installed in the spaced-apart sections of the transport robot 10, the orientation (direction of travel) of the transport robot 10 can be obtained based on the differences in the positions (latitude and longitude) of these sections.

[0028] like Figure 5 As shown, the management device 12 includes a control unit 80, which is mainly composed of a computer. The control unit 80 includes an execution unit 81, a storage unit 82, an input / output unit 83, etc. A communication device 86 is connected to the input / output unit 83. The communication device 86 transmits and receives information wirelessly with each of the communication devices 68 of the plurality of handling robots 10. In addition, a storage device different from the storage unit 82 can be installed outside the control unit 80.

[0029] In the transport system described above, the transport robot 10 moves to the standby (parked) position of the transported vehicle c based on the instructions of the management device 12, places the transported vehicle c on the trolley section 22, and transports it to its destination. Figure 7As shown, the transport robot 10 moves along a predetermined path R.

[0030] However, the transport robot 10 may sometimes deviate from the path R, in which case it may interfere with other transport robots or other transported vehicles c.

[0031] For example, in a vast work area such as a vehicle yard with very few distinctive structures, the management device 12 sometimes supplies information about the target travel line (a series of points) to the handling robot 10. Therefore, the handling robot 10 typically calculates the difference between the position of a point on its target travel line and the position of the handling robot itself (hereinafter referred to as the autonomous handling robot 10) (e.g., the position of the center point of the autonomous handling robot 10), and moves automatically in a manner that minimizes the difference. On the other hand, the position of the autonomous handling robot 10 is obtained based on the position acquired in the GNSS receiver 66, but this sometimes includes errors caused by communication status, etc. Furthermore, since there are very few distinctive structures in the work area, it is difficult to correct the position of the autonomous handling robot 10 based on the surrounding environment while simultaneously enabling automatic movement.

[0032] And, for example, such as Figure 12 As shown, even if the difference between the position of the autonomous transport robot 10 and the target travel line S is less than a threshold, and the position of the center point of the autonomous transport robot 10 is inside the path R, the body of the autonomous transport robot 10 or a part M of the transported vehicle c carried by the autonomous transport robot 10 will protrude from the path R, which may interfere with other transport robots.

[0033] Therefore, in this embodiment, as Figure 7 As shown, from a top view, if the vertices V1, V2... of the moving polygon Sv set for the transport robot 10 are all located inside the polygon region Sr set for the path R, and the vertices Q1, Q2, Q3... of the polygon region Sr are not located inside the moving polygon Sv, it is determined that the transport robot 10 has not deviated from the path R.

[0034] like Figure 8 As shown in (a) and (b), when the transport robot 10 carries the transported vehicle c, the moving polygon Sv, in top view, can be configured to include both the transport robot 10 and the transported vehicle c. For example, in top view, the moving polygon Sv can be configured such that the outer edges of the transport robot 10 and the transported vehicle c are located inside each other. Furthermore, it is preferable to leave a margin between the outer edges of the transport robot 10 and the transported vehicle c and the moving polygon Sv.

[0035] Therefore, when viewed from above, if the vehicle c being transported by the transport robot 10 is large, the polygon Sv of the moving body becomes larger compared to when it is small. For example, Figure 8 (b) shows a moving polygon Sv2 that is larger than... Figure 8 (a) shows that the moving polygon Sv1 is large. And, as shown... Figure 8 As shown in (c), when the transport robot 10 is not carrying the transported vehicle c, the moving body polygon Sv3 is set to include the transport robot 10 in a top view. When the transport robot 10 is not carrying the transported vehicle c, the moving body polygon Sv is smaller compared to when the transported vehicle c is carrying it.

[0036] Based on the above, the vertices V1, V2, ... of the moving polygon Sv are mostly set in locations (space) without entities. For example, the two-dimensional positions of vertices V1, V2, V3, ... can be obtained based on the relative positional relationship between the GNSS receiver 66 and each of the vertices V1, V2, V3, ..., the orientation of the autonomous transport robot 10, and the two-dimensional position of the GNSS receiver 66 obtained based on the GNSS signal.

[0037] The polygonal region Sr can be set by the management device 12 based on the path R. In this embodiment, the path R is a region with a width that the transport robot 10 can move within. When a target travel line S is set, the region that includes the target travel line S and has width is set as the path R. For example, the path R can be set such that the target travel line S passes through the center and has width on both sides of the target travel line S. The polygonal region Sr can be set as a part of the path R. In addition, the polygonal region Sr can be set based on the position of the transport robot 10 when the determination start condition for determining the position of the transport robot 10 is met, etc.

[0038] Furthermore, the polygonal region Sr can be set in the part of the path R where the transport robot 10 is highly likely to deviate. Additionally, the polygonal region Sr can be set in the part of the path R where interference with other transport robots 10 is possible. The possibility of multiple transport robots 10 moving close to each other can be obtained based on the work plan (movement plan).

[0039] On the other hand, the width of the polygonal region Sr can also be set to be narrower than the width of the path R. This is because sometimes the paths of other transport robots 10 are set adjacent to each other on the path R.

[0040] Furthermore, the polygonal region Sr defined for path R is a closed region that can be drawn in one stroke. For example, if the region includes two or more partial regions, in cases such as (a) where parts of two or more partial regions overlap each other and the interior of one partial region contains the vertices of other partial regions, and (b) where two or more partial regions are separated and there is space between them, since these are regions that cannot be drawn in one stroke, no judgment is made.

[0041] Typically, methods for determining whether an object point (hereinafter referred to as object point) Z is located inside a closed region A include the Crossing Number Algorithm, the Winding Number Algorithm, and algorithms that combine these Crossing Number Algorithms and Winding Number Algorithms. These methods are well-known (https: / / www.nttpc.co.jp / technology / number_algorithm.html).

[0042] The Crossing Number Algorithm (Crossing Number Determination) is a method for determining whether an object point Z is located within a defined closed region A based on the number of intersections between a straight line B (e.g., a horizontal line) extending from the object point Z and the edges of that region. If the number of intersections is odd, the object point Z is determined to be inside the closed region A; if the number of intersections is even, the object point Z is determined to be outside the closed region A. For example, as... Figure 9 As shown, the line B1 emanating from object point Z1 intersects the edge of closed region A by 1 time, therefore object point Z1 is determined to be inside closed region A. The line B2 emanating from object point Z2 intersects the edge of closed region A by 2 times, therefore object point Z2 is determined to be outside closed region A.

[0043] The Winding Number Algorithm (Wrap Number Determination) is a method for determining the number of wraps around an object point Z when the edges of a closed region A are drawn sequentially. If the wrap number is 0, the object point Z is determined to be outside the closed region A; if the wrap number is not 0, the object point Z is determined to be inside the closed region A. In other words, if the closed region A does not enclose the object point Z, the object point Z is determined to be outside the closed region A.

[0044] For example, such as Figure 10 As shown, when the edges of the closed region A are drawn sequentially, the number of loops around object point Z1 is 1, therefore object point Z1 is determined to be inside the closed region A. In contrast, the number of loops around object point Z2 is 0, therefore object point Z2 is determined to be outside the closed region A.

[0045] The decision-making method, which combines the Crossing Number Algorithm and the Winding Number Algorithm, is based on the number of intersections between the line B emanating from the object point Z and the edges of the closed region A. If the intersection count is 0, the object point Z is determined to be outside the closed region A; otherwise, it is determined to be inside the closed region A. The number of intersections between the line B emanating from the object point Z and the edges of the closed region A is counted according to a predetermined rule.

[0046] An example of the predetermined rules is described below.

[0047] (i) When line B intersects with the edge in the first direction, the count is incremented by 1 (+1).

[0048] (ii) When line B intersects the side in the opposite direction of the first direction, the count is decremented by 1 (-1).

[0049] (iii) When a line overlaps with an edge, it is not counted as an intersection.

[0050] Furthermore, the first direction refers to, for example, the direction from one side of the two spaces separated by line B towards the other, among the edges emanating from object point Z and intersecting line B. The second direction refers to the direction from the other side towards one side. Therefore, all edges intersecting line B belong to either the first direction or the second direction.

[0051] In addition, in this embodiment, Figure 11 In the case shown, when line B is drawn horizontally, the direction from the bottom of the paper towards the top of the paper within the space divided by the horizontal line B is designated as the first direction, and the direction from the top towards the bottom is designated as the second direction, but the reverse is also possible. For example, the direction from the top of the paper towards the bottom of the paper can be designated as the first direction, and the direction from the bottom towards the top can be designated as the second direction. Furthermore, it is also possible to stipulate the following rule: when line B intersects with the edge of the first direction (upward), the count is decremented by 1 (-1), and when it intersects with the edge of the second direction (downward), the count is incremented by 1 (+1). In addition, line B is not limited to a horizontal line.

[0052] For example, in Figure 11In the case shown in (a), line B intersects with edges X1X2, X2X3, X4X5, and X5X6. Edges X1X2 and X4X5 are in the first direction, and edges X2X3 and X5X6 are in the second direction. Furthermore, the count values ​​for object points Z1 and Z3 are 0 (=+1-1), therefore, object points Z1 and Z3 are determined to be outside region X. The count value for object point Z2 is -1 (=-1+1-1), therefore, object point Z2 is determined to be inside region X.

[0053] exist Figure 11 In the case shown in (b), line B can intersect with edges X1X2, X2X3, X3X4, and X4X1. Edges X1X2 and X3X4 are edges in the first direction, and edges X2X3 and X4X1 are edges in the second direction. The count values ​​for object points Z1 and Z4 are 0, therefore they are determined to be outside region X. The count value for object point Z2 is 1, and the count value for object point Z3 is -1, therefore object points Z2 and Z3 are determined to be inside region X.

[0054] Determining whether an object point is located inside a region can be done using any algorithm, but the Crossing Number Algorithm and Winding Number Algorithm are easy to compute and can yield high-precision results.

[0055] In this embodiment, by Figure 6 The flowchart illustrating the moving body position determination procedure is executed in the control device 32 of the transport robot 10. This procedure is executed when a predetermined determination start condition is met. The determination start condition can be set as follows: a set time has elapsed since the last execution; the transport robot 10 has traveled a set distance since the last execution; or the management device 12 determines that a determination is required. For example, it can be set as follows: the management device 12 determines that the determination start condition is met when it predicts a high probability that the transport robot 10 will deviate from path R, or when it predicts that the transport robot 10 may interfere with other transport robots, and issues a determination command to the transport robot 10 from the management device 12.

[0056] In step 1 (hereinafter referred to as S1, and the same applies to other steps), a polygonal region Sr and a moving polygon Sv are defined, and the positions of each vertex of the polygonal region Sr and the moving polygon Sv are obtained. Information related to the positions of vertices Q1, Q2, Q3... of the polygonal region Sr is supplied from the management device 12 to the transport robot 10. In S2, a first determination is made as to whether all vertices V1, V2, V3... of the moving polygon Sv are located inside the polygonal region Sr. In S3, a second determination is made as to whether each of the vertices Q1, Q2, Q3... of the polygonal region Sr is not located inside the moving polygon Sv (whether it is located outside). If the result of the first determination is yes and the result of the second determination is yes, in S4, it is determined that the transport robot 10 is located inside the polygonal region Sr. If at least one of the results of the first determination and the second determination is no, in S5, it is determined that the transport robot 10 is not located inside the polygonal region Sr (is located outside).

[0057] Furthermore, in S5, if it is determined that the transport robot 10 has deviated from path R, the transport robot 10 can be stopped, the situation can be reported to the management device 12, and notifications can be sent to surrounding areas. By notifying surrounding areas, interference with other transport robots 10 can be effectively avoided. Furthermore, the management device 12 can send notifications to transport robots located in the vicinity.

[0058] Thus, in this embodiment, it is possible to accurately determine whether the transport robot 10 has deviated from path R. For example, in Figure 12 In the case shown, vertex Q3 of the polygon region Sr is located inside the moving polygon Sv, therefore S3 is not determined, and S5 is executed. As a result, even... Figure 12 In the scenario shown, interference with other handling robots can be effectively avoided. Furthermore, if it is determined that handling robot 10 has deviated from path R, the safety of the operation can be improved by notifying surrounding handling robots or stopping the handling robot.

[0059] Furthermore, when the moving polygon Sv is set to include the transported vehicle c, even if a large transported vehicle c is mounted, interference with other transport robots can be effectively avoided. As a result, operations can be carried out safely and quickly.

[0060] As described above, in this embodiment, the execution of steps S2-5 of the moving body position determination procedure corresponds to the moving body position determination method. Furthermore, the control device 32, etc., corresponds to the moving body position determination device. The control device 32, etc., comprises a first determination unit consisting of a portion storing the moving body position determination procedure S2 and a portion executing the moving body position determination procedure S2, and a second determination unit consisting of a portion storing step S3 and a portion executing step S3.

[0061] In addition, in the above embodiment, the moving body determination program is executed in the control device 32 of the handling robot 10, but it can be set to be executed in the management device 12.

[0062] Furthermore, in the above embodiment, the moving body is a transport robot 10 that transports objects, but it is not limited to this. For example, the moving body can be a moving body that can move automatically without transporting objects.

[0063] Furthermore, the moving body is not limited to moving within the work area. For example, the moving body can also be a general vehicle capable of automatically driving on ordinary roads. Even in the presence of characteristic structures in the surrounding area, it is effective to determine with high accuracy whether the moving body itself has deviated from the path.

[0064] Furthermore, the present invention can be implemented in various modified and improved ways based on the knowledge of those skilled in the art.

[0065] Symbol Explanation 10-Transporting robot, 12-Management device, 32-Control device, 46-2D-LiDAR, 66-GNSS receiver, 68-Communication device, 80-Control unit, 86-Communication device.

[0066] Inventions eligible for protection (1) A method for determining the position of a moving body, wherein, in a top view, if each of the multiple vertices of a polygon defined for the moving body, i.e., the moving body polygon, is located inside a polygonal region defined for a predetermined path, and if each of the multiple vertices of the polygonal region is not located inside the moving body polygon, the moving body is determined to be located within the path.

[0067] (2) According to the method for determining the position of a moving body described in (1), wherein, The mobile body is a transport robot capable of moving objects. From a top-down view, the moving body polygon is defined as including the moving body and the object in a state of transporting the object.

[0068] (3) A moving body position determination device, comprising: a first determination unit, which determines, in a top view, whether each of the vertices of a polygon defined for the moving body, i.e., the moving body polygon, is located inside a polygonal region defined for a predetermined path; and The second determination unit, viewed from above, determines whether each of the multiple vertices of the polygonal region is not located inside the moving polygon. If the first determination unit determines that each of the multiple vertices of the moving body polygon is located inside the polygon region, and the second determination unit determines that each of the multiple vertices of the defined polygon region is not located inside the moving body polygon, then the moving body is determined to be located within the path.

[0069] The moving body position determination device described herein can adopt any of the technical features described in (1) or (2).

[0070] (4) The moving body position determination device according to (3), wherein, At least one of the first determination unit and the second determination unit determines whether each of the vertices is located inside the polygon using one of the following algorithms: Crossing Number Algorithm, Winding Number Algorithm, and Composite Crossing Number Algorithm and Winding Number Algorithm.

Claims

1. A method for determining the position of a moving object, characterized in that, From a top-down view, if each of the vertices of the polygon defined for the moving body is located inside a polygonal region defined for a predetermined path, and if none of the vertices of the polygonal region are located inside the moving body polygon, then the moving body is determined to be located within the path.

2. The method for determining the position of a moving body according to claim 1, characterized in that, The mobile body is a transport robot capable of moving objects. From a top-down view, the moving body polygon is defined as including the moving body and the object in a state of transporting the object.

Citation Information

Patent Citations

  • Work vehicle

    JP2024122247A