Method for determining the position of a moving body

The method employs polygon-based algorithms to accurately determine a moving body's position within a path, addressing deviations and interference issues, thereby ensuring safe and efficient operation.

JP2026098429APending Publication Date: 2026-06-17TOYOTA JIDOSHA KK

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
TOYOTA JIDOSHA KK
Filing Date
2024-12-05
Publication Date
2026-06-17

AI Technical Summary

Technical Problem

Existing methods struggle to accurately determine whether a moving body is located within a path, particularly in environments with few distinctive structures, leading to potential deviations and interference with other objects.

Method used

A method using the Crossing Number Algorithm, Winding Number Algorithm, or a combination of these, to determine if each vertex of a moving body polygon is within a path polygon, ensuring accurate positioning by setting mobile and path polygons based on GNSS data and environmental mapping.

Benefits of technology

Enables precise determination of a moving body's position within a path, preventing deviations and interference, enhancing safety and efficiency in operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026098429000001_ABST
    Figure 2026098429000001_ABST
Patent Text Reader

Abstract

The objective is to accurately determine whether or not a moving object is located within a given path. [Solution] A moving object is determined to be located within a path if all of the multiple vertices of the polygon defined for the moving object are located within the polygonal region defined for the path, and all of the multiple vertices defining the polygonal region are not located within the polygon of the moving object. This allows for accurate determination of whether or not a moving object is located within a path.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a moving body position determination method for determining whether a moving body is located within a path.

Background Art

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

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Disclosure of the Invention

Problems to be Solved by the Invention

[0004] The problem of the present invention is to accurately determine whether a moving body is located within a path. Means, actions, and effects for solving the problem

[0005] In the moving body position determination method described in the present invention, when each of the plurality of vertices of the moving body polygon set for the moving body is all located inside the polygon area set for the path, and each of the plurality of vertices defining the polygon area is not all located inside the moving body polygon, the moving body is determined to be located within the path. Thereby, it is possible to accurately determine whether the moving body is located inside the path.

Brief Description of the Drawings

[0006] [Figure 1] This diagram schematically shows an entire transport system capable of implementing a mobile object position determination method, which is one embodiment of the present invention. [Figure 2] This is a plan view of the transport robot, which is a component of the above transport system. [Figure 3] This is a side view showing the above transport robot transporting a vehicle as its target object. [Figure 4] This diagram conceptually shows the area around the control device of the above-mentioned transport robot. [Figure 5] This diagram conceptually shows the structure of the control device, which is a component of the above-mentioned transport system. [Figure 6] This is a flowchart showing the moving object position determination program stored in the memory unit of the control device of the above transport system. [Figure 7] This is a plan view showing the above transport robot and its route. [Figure 8] (a)-(c) These are plan views representing the polygon of the moving body described above. [Figure 9] This diagram conceptually represents the determination made using the Crossing Number Algorithm. [Figure 10] This diagram conceptually represents the determination made using the Winding Number Algorithm. [Figure 11] (a) and (b) are diagrams that conceptually represent a determination made using an algorithm that combines the Crossing Number Algorithm and the Winding Number Algorithm. [Figure 12] This diagram illustrates the problems that arise when deviation detection is performed based on the difference between the transport robot's position and its intended travel path. Embodiments of the Invention

[0007] Hereinafter, a transport system including a mobile object position determination device capable of performing a mobile object position determination method, which is one embodiment of the present invention, will be described in detail with reference to the drawings. [Example 1]

[0008] As shown in Figure 1, the transport system is set up in a predetermined work area. The transport system includes a plurality of mobile units 10 and a management device 12. The mobile units can be, for example, transport robots 10 that transport objects. The transport robots 10 can be, for example, capable of automatic or autonomous driving. As shown in Figure 3, the objects can be, for example, a vehicle c to be transported. Each of these plurality of transport robots 10 and the management device 12 are capable of wireless communication.

[0009] As shown in Figure 2, the transport robot 10 has a shape that extends longitudinally along the axis Lr. The transport robot 10 includes a main body 20 and a trolley 22. The main body 20 is provided with left and right front wheels 24, and the trolley 22 is provided with left and right rear wheels 26. As shown in Figure 4, the main body 20 includes the left and right front wheels 24, a drive unit 27, a steering unit 28, a height adjustment unit 30, a control unit 32, etc. The drive unit 27 drives the left and right front wheels 24 and may include, for example, an electric motor. By controlling the electric motor, driving force 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 may include at least one electric motor as a steering actuator. The steering actuator allows the left and right front wheels 24 to be steered in common or individually.

[0010] The height adjustment device 30 adjusts the height of the trolley section 22 and may include, for example, 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) beneath the body of the transported vehicle c. The transport height is the height at which the transported vehicle c is lifted and transported. The transport height is higher than the submersion height.

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

[0012] The main body 42 is fixedly mounted on the base 36. The clamping device 44 grips the wheels w of the transported vehicle c. The clamping device 44 includes pairs of arms 51 provided on the left and right sides of the main body 42, an arm rotation actuator 50 (see Figure 4) that drives the arm pairs 51, etc. Each of the left and right arm pairs 51 includes a first arm 48 and a second arm 49, respectively. The arm rotation actuator 50 rotates the left and right first arms 48 and the left and right second arms 49 between a retracted position, which is a position (attitude) that is approximately parallel to the axis Lr, and a clamping position, which is a position (attitude) that protrudes in the width direction from the main body 42 and is approximately perpendicular to the axis Lr. The arm rotation actuator 50 may include, for example, a fluid pressure cylinder or an electric motor.

[0013] The 2D-LiDAR 46 is positioned approximately in the center (on the axis Lr) of the rear end surface of the main body 42. Light is shone onto the 2D-LiDAR 46 toward the rear of the transport robot 10, and the light reflected after hitting an object is received, thereby obtaining the relative positional relationship between the 2D-LiDAR 46 and the point of light reflection on the object. The 2D-LiDAR 46 also shines light downwards on the body of the transported vehicle c. Therefore, the position of the wheels w (tires) of the transported vehicle c can be obtained using the 2D-LiDAR 46.

[0014] The front part 38 includes a main body 54, a clamping device 56, a spacing adjustment device 58 (see FIG. 4), etc. The main body 54 is held on the base 36 so as to be movable in the axial direction. The clamping device 56 includes an arm pair 63 provided on each of the left and right sides of the main body 54 and an arm rotation actuator 62 (see FIG. 4). Each of the arm pairs 63 provided on the left and right sides includes a first arm 60 and a second arm 61 respectively. The arm rotation actuator 62 rotates the left and right second arms 61 between the retracted position and the clamping position. The left and right first arms 60 are always in the clamping position.

[0015] The spacing adjustment device 58 is for approaching and separating the main body 54 of the front part 38 from the main body 42 of the rear part 40, and can include, for example, a fluid pressure actuator. By the spacing adjustment device 58, the spacing between the pair of clamping devices 44, 56 can be adjusted to match the wheelbase of the conveyed vehicle c.

[0016] As shown in FIG. 4, the control device 32 mainly consists of 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 at the same time, a drive device 27, a steering device 28, a height adjustment device 30, a spacing adjustment device 58, arm rotation actuators 50, 62, etc. are connected.

[0017] The GNSS (Global Navigation Satellite System) receiver 66 acquires its own two-dimensional position (latitude, longitude) based on the received GNSS signal. Also, for example, if two or more GNSS receivers 66 are provided at separated parts of the transport robot 10, the orientation (travel direction) of the transport robot 10 can be acquired based on the difference in the positions (latitude, longitude) of each of these parts.

[0018] As shown in FIG. 5, the management device 12 includes a control unit 80 mainly composed of a computer. The control unit 80 includes an execution unit 81, a storage unit 82, an input / output unit 83, and the like. A communication device 86 and the like are connected to the input / output unit 83. Information is wirelessly transmitted and received between the communication device 86 and each communication device 68 of the plurality of transport robots 10. Note that a storage device different from the storage unit 82 can be provided outside the control unit 80.

[0019] In the transport system configured as described above, based on the command of the management device 12, the transport robot 10 moves to the location where the transport vehicle c is waiting (parked), loads the transport vehicle c onto the carriage unit 22, and transports it to the destination. As shown in FIG. 7, the transport robot 10 moves along a predetermined path R.

[0020] However, the transport robot 10 may deviate from the path R, and in that case, there is a risk of interference with other transport robots or other transport vehicles c.

[0021] For example, in a work area with a vast and very few characteristic structures such as a vehicle yard, the management device 12 may supply information on the target travel line (a plurality of point sequences) to the transport robot 10. Therefore, the transport robot 10 usually calculates the difference between the position of the point on the target travel line and the position of the transport robot itself (hereinafter referred to as the self-transport robot 10) (for example, the position of the center point of the self-transport robot 10), and automatically travels so that the difference becomes small. On the other hand, the position of the self-transport robot 10 is obtained based on the position acquired by the GNSS receiver 66, but may include errors due to communication status and the like. Moreover, since there are very few characteristic structures in the work area, it is difficult to automatically travel while correcting the position of the self-transport robot 10 based on the surrounding environment.

[0022] Furthermore, as shown in Figure 12, for example, even if the difference between the position of the self-transporting robot 10 and the target travel path S is smaller than a threshold, and the center point of the self-transporting robot 10 is located within the path R, the body of the self-transporting robot 10 or a part M of the transported vehicle c placed on the self-transporting robot 10 may protrude from the path R and interfere with other transporting robots.

[0023] Therefore, in this embodiment, as shown in Figure 7, in a plan view, if each of the vertices V1, V2, etc. of the mobile polygon Sv set for the transport robot 10 is located inside the polygonal region Sr set for the path R, and each of the vertices Q1, Q2, Q3, etc. of the polygonal region Sr is not located inside the mobile polygon Sv, then it is determined that the transport robot 10 has not deviated from the path R.

[0024] As shown in Figures 8(a) and 8(b), when the transport robot 10 is carrying the transported vehicle c, the mobile polygon Sv can be set to include the transport robot 10 and the transported vehicle c in a plan view. For example, the mobile polygon Sv can be set so that the outer edge of the transport robot 10 and the outer edge of the transported vehicle c are located inside each other in a plan view. It is also desirable to leave some clearance between the outer edges of the transport robot 10 and the transported vehicle c and the mobile polygon Sv.

[0025] Therefore, in a plan view, the mobile polygon Sv is larger when the vehicle c to be transported on the transport robot 10 is large than when the vehicle c is small. For example, the mobile polygon Sv2 shown in Figure 8(b) is larger than the mobile polygon Sv1 shown in Figure 8(a). Also, as shown in Figure 8(c), when the transport robot 10 does not have a vehicle c to be transported on it, the mobile polygon Sv3 is set to include the transport robot 10 in a plan view. When the transport robot 10 does not have a vehicle c to be transported on it, the mobile polygon Sv is smaller than when a vehicle c to be transported on it is.

[0026] From the above, it can be seen that in many cases, the vertices V1, V2, etc. of the mobile polygon Sv are set in places that do not have a physical form (space). For example, the two-dimensional positions of vertices V1, V2, V3, etc. can be obtained based on the relative positional relationship between the GNSS receiver 66 and each of the vertices V1, V2, V3, etc., the orientation of the self-propelled robot 10, and the two-dimensional position of the GNSS receiver 66 obtained based on the GNSS signal.

[0027] 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 through. If a target travel line S is set, the region including the target travel line S and having a width is set as the path R. For example, the path R can be set with the target travel line S passing through the center and having width on both sides of the target travel line S. The polygonal region Sr can be a part of the path R. 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.

[0028] Furthermore, polygonal regions Sr can be set in parts of the path R where the transport robot 10 is likely to deviate. Additionally, polygonal regions Sr can be set in parts of the path R where there is a possibility of interference with other transport robots 10. Whether or not there is a possibility of multiple transport robots 10 moving in close proximity to each other can be determined based on the work plan (movement plan).

[0029] On the other hand, the width of the polygonal region Sr can be made narrower than the width of the path R. This is because the paths of other transport robots 10 may be set adjacent to path R.

[0030] Note that the polygonal region Sr defined for the path R is a closed region that can be drawn in a single continuous stroke. For example, if the region contains two or more subregions, (a) parts of the two or more subregions overlap and the vertices of one subregion are contained within the interior of another subregion, or (b) the two or more subregions are separated and there is space between them, then the region cannot be drawn in a single continuous stroke, and no determination is made.

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

[0032] The Crossing Number Algorithm is a method of determination based on the number of times a line B (e.g., a horizontal line) extending from a target point Z intersects with edges defining a closed region. If the number of intersections is odd, the target point Z is determined to be located inside the closed region A. If the number of intersections is even, the target point Z is determined to be located outside the closed region A. For example, as shown in Figure 9, the line B1 drawn from target point Z1 intersects with 1 edge of the closed region A, so target point Z1 is determined to be located inside the closed region A. The line B2 drawn from target point Z2 intersects with 2 edges of the closed region A, so target point Z2 is determined to be located outside the closed region A.

[0033] The Winding Number Algorithm is a method for determining whether a target point Z is located by tracing the edges of a closed region A in order, based on the number of times the target point Z is circled. If the number of circles is 0, the target point Z is determined to be located outside of closed region A. If the number of circles is not 0, the target point Z is determined to be located inside closed region A. In other words, if closed region A does not surround the target point Z, the target point Z is determined to be located outside of closed region A.

[0034] For example, as shown in Figure 10, when tracing the edges of closed region A in order, the number of times the target point Z1 is traced is 1, so it is determined that target point Z1 is located inside closed region A. On the other hand, the number of times the target point Z2 is traced is 0, so it is determined that target point Z2 is located outside closed region A.

[0035] The determination method, which combines the Crossing Number Algorithm and the Winding Number Algorithm, is based on the number of intersections between a line B drawn from the target point Z and the edges of the closed region A. If the number is 0, the target point Z is determined to be outside the closed region A; if the number is not 0, it is determined to be inside the closed region A. The number of intersections between line B drawn from the target point Z and the edges of the closed region A is counted according to a predetermined rule.

[0036] An example of predetermined rules is as follows: (i) If line B intersects with an edge in the first direction, count up by 1 (+1). (ii) If line B intersects with an edge in the opposite direction to the first direction, count down by 1 (-1). (iii) When a line and an edge overlap, they are not counted as intersections.

[0037] The first direction refers to the direction from one side to the other of the two spaces separated by the line B, for example, among the edges that intersect the line B drawn from point Z. The second direction refers to the direction from the other side to the first side. Therefore, all edges that intersect line B belong to either the first direction or the second direction.

[0038] In this embodiment, as shown in Figure 11, when line B is drawn horizontally, the direction from the bottom to the top of the paper within the space partitioned by horizontal line B is designated as the first direction, and the direction from the top to the bottom is designated as the second direction. However, the opposite may also be applied. For example, the direction from the top to the bottom of the paper can be designated as the first direction, and the direction from the bottom to the top can be designated as the second direction. Furthermore, a rule can be established to count down by 1 (-1) when line B intersects with an edge in the first direction (upward), and count up by 1 (+1) when it intersects with an edge in the second direction (downward). Moreover, line B is not limited to a horizontal line.

[0039] For example, in the case shown in Figure 11(a), line B can intersect with sides X1X2, X2X3, X4X5, and X5X6. Of these, sides X1X2 and X4X5 are sides in the first direction, and sides X2X3 and X5X6 are sides in the second direction. Since the count values ​​for target points Z1 and Z3 are 0 (=+1-1), it is determined that target points Z1 and Z3 are located outside region X. Since the count value for target point Z2 is -1 (=-1+1-1), it is determined that target point Z2 is located inside region X.

[0040] In the case shown in Figure 11(b), line B can intersect with edges X1X2, X2X3, X3X4, and X4X1. Of these, 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 target points Z1 and Z4 are 0, so they are determined to be located outside region X. The count value for target point Z2 is 1, and the count value for target point Z3 is -1, so target points Z2 and Z3 are determined to be located inside region X.

[0041] Any algorithm can be used to determine whether a target point lies inside a region, but an algorithm that combines the crossing number algorithm and the winding number algorithm is computationally easy and provides highly accurate results.

[0042] In this embodiment, the mobile object position determination program, represented by the flowchart in Figure 6, is executed in the control device 32 of the transport robot 10. This program is executed when predetermined determination start conditions are met. The determination start conditions can be, for example, that a set time has elapsed since the last execution, that the transport robot 10 has traveled a set distance since the last execution, or that the management device 12 has determined that a determination is necessary. For example, the management device 12 may determine that the determination start conditions have been met when it is predicted that the transport robot 10 is likely to deviate from the path R, or when it is predicted that the transport robot 10 may interfere with another transport robot, and a determination command can be issued from the management device 12 to the transport robot 10.

[0043] In step 1 (hereinafter simply abbreviated as S1; the same applies to other steps), a polygonal region Sr and a mobile polygon Sv are set up, and the positions of each vertex of the polygonal region Sr and the mobile polygon Sv are acquired. Information regarding the positions of vertices Q1, Q2, Q3, etc. of the polygonal region Sr is supplied from the management device 12 to the transport robot 10. In S2, a first determination is made to determine whether each of the vertices V1, V2, V3, etc. of the mobile polygon Sv is located inside the polygonal region Sr. In S3, a second determination is made to determine whether each of the vertices Q1, Q2, Q3, etc. of the polygonal region Sr is not located inside the mobile polygon Sv (i.e., whether they are 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 and second judgments is NO, then in S5, it is determined that the transport robot 10 is not located inside the polygonal region Sr (it is located outside of it).

[0044] Then, in S5, if it is determined that the transport robot 10 has deviated from the path R, the transport robot 10 can be stopped, this can be reported to the management device 12, or the surrounding area can be notified. By notifying the surrounding area, interference with other transport robots 10 can be effectively avoided. In addition, the management device 12 can be configured to notify transport robots located in the surrounding area.

[0045] Thus, in this embodiment, it is possible to accurately determine whether or not the transport robot 10 is deviating from the path R. For example, in the case shown in Figure 12, since the vertex Q3 of the polygonal region Sr is located inside the moving polygon Sv, the determination in S3 is NO, and S5 is executed. As a result, even in the case shown in Figure 12, interference with other transport robots can be avoided effectively. Furthermore, if it is determined that the transport robot 10 is deviating from the path R, the safety of the operation can be enhanced by notifying surrounding transport robots or stopping the transport robot in question. Furthermore, if the movable polygon Sv is set to include the transported vehicle c, interference with other transport robots can be effectively avoided even when a large transported vehicle c is placed on it. As a result, work can be performed safely and quickly.

[0046] As described above, in this embodiment, the execution of S2-5 of the mobile object position determination program corresponds to the mobile object position determination method. Furthermore, the control device 32, etc. corresponds to the mobile object position determination device, and the control device 32, etc. is configured as a first determination unit by a part that stores S2 of the mobile object position determination program, a part that executes it, etc., and as a second determination unit by a part that stores S3, a part that executes it, etc.

[0047] In the above embodiment, the mobile object determination program was executed in the control device 32 of the transport robot 10, but it can be executed in the management device 12.

[0048] Furthermore, although the above embodiment uses a transport robot 10 that transports an object, it is not limited to this. The mobile body can be, for example, an autonomous mobile body that does not transport an object.

[0049] Furthermore, the mobile object is not limited to those moving within the work area. For example, the mobile object could be a regular vehicle capable of autonomous driving on ordinary roads. Even if there are distinctive structures in the surrounding area, accurately determining whether the mobile object itself has deviated from its path is effective.

[0050] Furthermore, the present invention can be implemented in various modified and improved forms based on the knowledge of those skilled in the art. [Explanation of Symbols]

[0051] 10: Transport robot 12: Management device 32: Control device 46: 2D-LiDAR 66: GNSS receiver 68: Communication device 80: Control unit 86: Communication device Patentable invention

[0052] (1) A method for determining the position of a moving object, in a plan view, in which each of the multiple vertices of the moving object polygon, which is a polygon set for the moving object, is located inside the polygonal region set for a predetermined path, and each of the multiple vertices defining the polygonal region is not located inside the moving object polygon, the method for determining the position of a moving object is located within the path.

[0053] (2) The mobile body is a transport robot capable of transporting an object, The method for determining the position of a moving body according to item (1), wherein the polygon of the moving body is set in a plan view to include the moving body and the object while the object is being transported.

[0054] (3) A first determination unit that determines whether each of the multiple vertices of the moving object polygon, which is a polygon set for the moving object in a plan view, is located inside the polygonal region set for a predetermined path, A second determination unit determines whether, in a plan view, each of the multiple vertices defining the polygonal region is located inside the movable polygon. A mobile body position determination device that includes, and determines that the mobile body is located within the path if the first determination unit determines that each of the plurality of vertices of the mobile body polygon is located inside the polygonal region, and the second determination unit determines that each of the plurality of vertices defining the polygonal region is not located inside the mobile body polygon.

[0055] The mobile object position determination device described in this section may employ the technical features described in either section (1) or (2).

[0056] (4) The moving body position determination device according to item (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 Crossing Number Algorithm, the Winding Number Algorithm, and an Algorithm which is a combination of the Crossing Number Algorithm and the Winding Number Algorithm.

Claims

1. A method for determining the position of a moving object, in a plan view, if each of the multiple vertices of a moving object polygon, which is a polygon set for the moving object, is located within a predetermined polygonal region set for a predetermined path, and each of the multiple vertices defining the polygonal region is not located within the moving object polygon, then the moving object is determined to be located within the path.

2. The aforementioned mobile body is a transport robot capable of transporting objects, The method for determining the position of a moving body according to claim 1, wherein the polygon of the moving body is set to include the moving body and the object in a state in which the object is being transported in a plan view.