Forklift truck and method for detecting the loading position for a forklift truck

The forklift uses a LIDAR-based point cloud system to detect the loading position, addressing misalignment issues by separating the cargo from existing objects, ensuring precise and safe loading.

DE102022120971B4Active Publication Date: 2025-07-17TOYOTA INDUSTRIES CORP
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
DE102022120971
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-08-24
Filing Date
2022-08-19
Publication Date
2025-07-17
Estimated Expiration
2042-08-19

AI Technical Summary

Technical Problem

Existing forklifts struggle to accurately detect the loading position when objects are already mounted on the load surface, leading to potential misalignment of cargo during loading.

Method used

A forklift equipped with an external sensor, such as a LIDAR, to create a point cloud of the environment, allowing a controller to extract points representing the loading platform, its edge, and objects on it, and determine a loading position separated by a predetermined distance from mounted objects, ensuring safe cargo placement.

Benefits of technology

The system effectively identifies a loading position that avoids interference with existing objects, enabling precise cargo placement even when the parking position and orientation of the truck are unknown, enhancing loading efficiency and safety.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Forklift truck (20) loading a load (C1) onto a loading surface (15), the loading surface (15) being an upper surface of a loading platform (14), the forklift truck (20) comprising: an external sensor (31) configured to detect a position of an object; and a controller (32), wherein the position of the object is represented by a point cloud (PG1), which is a set of points (P1) expressed by coordinates in a three-dimensional coordinate system, and the controller (32) is configured to Extracting points (P1) representing a horizontal plane from the point cloud (PG1), Extracting, as points (P1) representing the loading platform (14), points (P1) within a certain range in a top-bottom direction from the horizontal plane, Extracting, from the points (P1) representing the loading platform (14), points (P1) representing an edge (E1) of the loading platform (14), wherein the edge (E1) is in front of the forklift truck (20), Detecting a straight line (L1) representing the edge (E1) from the points (P1) representing the edge (E1), Extracting, as points (P1) representing an object (C2) mounted on the loading platform (14), points (P1) located above the horizontal plane and separated from it by at least a certain distance, and Detecting, as a loading position (LP1) on which the load (C1) is loaded, a position separated from the attached object (C2) by a predetermined distance in a direction in which the straight line (L1) runs.
Need to check novelty before this filing date? Find Prior Art

Description

BACKGROUND1. Field of InterestThe present disclosure relates to a forklift and a method of detecting the loading position for a forklift.2. Description of the Prior ArtA forklift truck for loading goods on a loading platform carries a load mounted on the forks to a loading platform. The forklift then loads the cargo onto a cargo bed that is an upper surface of the cargo platform. Japanese Patent Application Publication JP 2021-004 113 A discloses a forklift that detects the height of a load surface. With this configuration, the forks can be raised according to the height of the cargo bed, so that cargo mounted on the forks can be loaded onto the cargo bed. Further, US 2018 / 0 134 531 A1 discloses a forklift including a laser sensor configured to measure distance data from the laser sensor to an object located in a space in front of the fork, and a control command generator configured to, when the distance data measured by the laser sensor includes a load or pallet to be lifted, generate lane data for moving the vehicle body to a loading position of the load or the pallet based on the distance data and provide a command to the controller using the generated lane data. Further prior art is known from WO 2020 / 181 727 A1 and BE 1 018 160 A3.The forklift from the above publication detects the height of a load surface. It may occur that objects are already mounted on the load surface. In such a case, a load mounted on the forks may not be loaded on the cargo bed.SUMMARYThis summary is provided to introduce a selection of concepts in a simplified form that are described further below in the detailed description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.It is an object of the invention to provide a forklift and a method which eliminate the disadvantages of the prior art in detecting the loading position for a forklift. The object is achieved according to the invention by a forklift truck according to claim 1 and a method according to claim 6. Further features and advantageous developments are shown in the dependent claims.In a general aspect, a forklift is provided that loads a cargo onto a cargo bed. The loading surface is an upper surface of a loading platform. The forklift includes an external sensor configured to detect a position of an object and a controller. The position of the object is represented by a point cloud consisting of a set of points. The controller is configured to extract points representing the loading platform from the points representing the loading platform, extract points representing an edge of the loading platform, detect a straight line representing the edge from the points representing the edge, extract points representing an object mounted on the loading platform, and detect, as a loading position on which the load is loaded, a position separated from the mounted object by a predetermined distance in a direction in which the straight line extends.Another general aspect is a method for detecting the loading position for a forklift truck. The forklift loads a load onto a cargo bed. The loading surface is an upper surface of a loading platform. The method includes: detecting a position of an object using an external sensor provided in the forklift, the position of the object being represented by a point cloud that is a set of points expressed by coordinates in a three-dimensional coordinate system; extracting points representing a horizontal plane from the point cloud; extracting, as points representing the loading platform, points within a certain range in an up-down direction from the horizontal plane; extracting, from the points representing the loading platform, points representing an edge of the loading platform, the edge being in front of the forklift; detecting a straight line representing the edge from the points representing the edge; extracting, as points representing an object mounted on the loading platform, points located above the horizontal plane and separated therefrom by at least a certain distance; and detecting, as a loading position on which the load is loaded, a position separated from the mounted object in a direction in which the straight line runs by a predetermined distance.Other features and aspects will become apparent from the following detailed description, drawings and claims.BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is a schematic illustration of a truck and a forklift. FIG. 2 is a perspective view of the truck shown in FIG. 1. FIG. 3 is a schematic diagram of the forklift shown in FIG. 1. FIG. 4 is a flowchart showing a procedure of an own position estimation control executed by the own position estimation control shown in FIG. 3. FIG. 5 is a flowchart showing the flow of load position detection control executed by the control shown in FIG. 3. FIG. 6 is a diagram showing an example of a first point cloud obtained by the load position detection control shown in FIG. 5. FIG. 7 is a diagram showing an example of a second point cloud obtained by the load position detection control shown in FIG. 5. FIG. 8 is a diagram showing an example of a third point cloud obtained by the loading position detection control shown in FIG. 5. FIG. 9 is a diagram showing an example of a fourth point cloud obtained by the load position detection control shown in FIG. 5. FIG. 10 is a flowchart showing a flow of the attached object detection control shown in FIG. 5. FIG. 11 is a diagram showing an example of a fifth point cloud obtained by the attached object detection control shown in FIG. 5.In the drawings and detailed description, the same reference numerals refer to the same elements. The drawings may not be to scale, and the relative size, proportions, and representation of the elements in the drawings may be exaggerated for clarity, illustration, and convenience.DETAILED DESCRIPTIONThis description provides a thorough understanding of the described methods, apparatus, and / or systems. Modifications and equivalents of the described methods, devices, and / or systems will be apparent to one of ordinary skill in the art. The sequence of operations is exemplary and may be changed by one of ordinary skill in the art, except for operations that must proceed in a particular order. Descriptions of functions and constructions known to those skilled in the art may be omitted.Exemplary embodiments may take various forms and are not limited to the examples described. The examples described, however, are thorough and complete, and will fully convey the full scope of the disclosure to one skilled in the art.In this specification, "at least one of A and B" is to be understood to mean "only A, only B, or both A and B".A forklift 20 according to an embodiment will now be described.As shown in FIG. 1, a truck 10 is parked in a zone A 1. The truck 10 of the present embodiment is a wing truck. The forklift 20 is operated in the zone A1. The forklift 20 includes forks F1. On the forks F1 a load C1 is mounted. The forklift 20 loads the cargo C1 mounted on the forks F1 onto the truck 10.As shown in FIG. 2, the truck 10 includes a cabin 11, a front wall 12, a tailgate 13, a loading platform 14, side walls 16, and flaps 17.The driver of the truck 10 is mounting the cab 11. the front wall 12 is mounted behind the cab 11. The front wall 12 is located adjacent to the cabin 11. the tailgate 13 is located behind the front wall 12. the front wall 12 and the tailgate 13 are spaced longitudinally from each other. The loading platform 14 extends longitudinally between the front wall 12 and the tailgate 13. the loading platform 14 includes a loading surface 15. the loading surface 15 is an upper surface of the loading platform 14. the load C 1 is loaded on the loading surface 15. The side walls 16 are disposed between the front wall 12 and the tailgate 13. Each side wall 16 is provided so as to be vertically rotatable about the center in the width direction of the truck 10. The side walls 16 are each attached to one of the widthwise sides of the truck 10. For the purpose of illustration, one of the side walls 16 is omitted in FIG. 2. When a load is loaded into the truck 10, at least one of the side walls 16 is opened. The flaps 17 are arranged to extend in the longitudinal direction. Each flap 17 is arranged along an edge E 1 of the loading platform 14. The edge E1 extends in the longitudinal direction. The flaps 17 are each attached to one of the widthwise sides of the truck 10.As shown in FIG. 3, the forklift 20 includes an external own position estimation sensor 21, an own position estimation controller 22, an auxiliary storage device 25, an external sensor 31, a controller 32, a vehicle controller 41, a travel drive 44, and a cargo handling actuator 45.The external own position estimation sensor 21 allows the own position estimation controller 22 to recognize three-dimensional coordinates of objects in the vicinity of the forklift 20. The external sensor 21 for estimating the own position may be a millimeter wave radar, a stereo camera, a time-of-flight (ToF) camera, or a laser imaging, detection and ranging (LIDAR) sensor. In the present embodiment, a LIDAR sensor is used as the external sensor 21 for estimating the own position. The external sensor 21 for estimating the self position transmits a laser to the surroundings and receives the light reflected from the spots irradiated with the laser, thereby obtaining the distances to the respective spots irradiated with the laser. The spots irradiated with the laser are referred to as laser irradiated spots and represent a part of the surfaces of objects. The positions of the laser irradiated points can be expressed as coordinates in a polar coordinate system. The coordinates of the laser irradiated points in a polar coordinate system are converted into coordinates in a Cartesian coordinate system. The conversion from a polar coordinate system to a cartesian coordinate system may be performed by the external own position estimation sensor 21 or the own position estimation controller 22. In the present embodiment, the external own position estimation sensor 21 performs the conversion from the polar coordinate system to the Cartesian coordinate system. The external own position estimation sensor 21 acquires the coordinates of the laser irradiated points in a coordinate system of the own position estimation sensor. The own position estimation sensor coordinate system is a triaxial Cartesian coordinate system whose origin is the external own position estimation sensor 21. The external own position estimation sensor 21 outputs the coordinates of the points obtained by the laser irradiation to the own position estimation controller 22. The coordinates are used as a point cloud.The self-position estimation controller 22 includes a processor 23 and a storage unit 24. the storage unit 24 includes a random access memory (RAM), a read only memory (ROM), and a nonvolatile memory device that can be rewritten. The storage unit 24 stores program codes or instructions configured to cause the processor 23 to perform processes. The storage unit 24, which is a computer readable medium, includes any type of medium that can be accessed by a general purpose computer or a special purpose computer. The own position estimation controller 22 may include a hardware circuit such as an ASIC and an FPGA. The own position estimation controller 22, which is a processing circuit, may include one or more processors operating according to a computer program, one or more hardware circuits such as an ASIC and an FPGA, or a combination thereof.The auxiliary storage device 25 stores information that can be read by the own position estimation control unit 22. The auxiliary storage device 25 may be a hard disk drive or a solid state drive.The auxiliary storage device 25 stores an environment map representing the environment of the zone A 1 in which the forklift 20 is deployed. The environment map refers to information related to the physical structure of the zone A 1, such as the shapes of the objects in the zone A 1 and the size of the zone A 1. In the present embodiment, the environment map is data representing the structure of the zone A 1 from coordinates in a map coordinate system. The map coordinate system is a triaxial Cartesian coordinate system. The map coordinate system is a coordinate system in which the origin is a specific point in the zone A 1. In the map coordinate system, the horizontal directions are defined by an X axis and a Y axis which are orthogonal to each other. An XY plane defined by the X axis and the Y axis represents a horizontal plane. An up-down direction in the map coordinate system is defined by a Z axis orthogonal to the X axis and the Y axis. A coordinate in the map coordinate system is optionally referred to as a map coordinate. The map coordinate system is a three-dimensional coordinate system used for representing three-dimensional positions.The own position estimation controller 22 estimates the own position of the forklift 20. The self position refers to the coordinate of a point on the forklift 20 in the coordinate system of the map. The point on the forklift 20 may be arbitrarily selected. The point may be the position of the center of the forklift 20 in the horizontal directions. The own position estimation controller 22 performs own position estimation control.Next, the own position estimation control performed by the own position estimation controller 22 will be described. The control of the own position estimation is repeatedly executed in a certain control period.As shown in FIG. 4, in step S 1, the own position estimation controller 22 obtains a detection result from the external own position estimation sensor 21. This allows the own position estimation controller 22 to obtain the shapes of the surroundings of the forklift 20 as a point cloud.In step S 2, the own position estimation controller 22 compares the point cloud with the environment map to estimate the own position. The own position estimation controller 22 extracts landmarks from the environment map that have the same shape as the landmarks obtained from the point cloud. The own position estimation controller 22 identifies the positions of the landmarks from the environment map. The positional relationship between the landmarks and the forklift 20 can be obtained from the detection result of the external sensor 21 for own position estimation. Accordingly, the own position estimation controller 22 is capable of estimating the own position by identifying the positions of the landmarks. Landmarks are objects with features that can be identified by the external sensor 21 for own position estimation. Landmarks are physical structures whose positions hardly change. Landmarks may include walls and columns. After the process of step S 2, the own position estimation controller 22 ends the own position estimation control.The external sensor 31 allows the controller 32 to recognize three-dimensional coordinates of objects in the vicinity of the forklift 20. As the external sensor 31, a sensor identical to the external sensor 21 for estimating the own position may be used. In the present embodiment, a LIDAR sensor is used as the external sensor 31. The external sensor 21 for estimating the own position and the external sensor 31 have different fields of view (FOV) in the vertical direction. The field of view in the vertical direction of the external sensor 31 is wider than the field of view in the vertical direction of the external sensor 21 for own position estimation. That is, the external sensor 31 has a larger detection range in the up-down direction than the external sensor 21 for estimating the own position. The external sensor 31 derives the coordinates of points in a sensor coordinate system. The sensor coordinate system is a triaxial Cartesian coordinate system whose origin is the external sensor 31. In the sensor coordinate system, the horizontal directions are defined by an X axis and a Y axis that are orthogonal to each other. An XY plane defined by the X axis and the Y axis represents a horizontal plane. An up-down direction in the sensor coordinate system is defined by a Z axis orthogonal to the X axis and the Y axis. The sensor coordinate system is a three-dimensional coordinate system used to represent three-dimensional positions. The coordinates of points in the sensor coordinate system represent positions of objects. The external sensor 31 outputs the coordinates of the points obtained by the irradiation of the laser to the controller 32. The coordinates are used as a point cloud. The points represent the positions of objects. The point cloud is a set of points representing the positions of objects in three-dimensional coordinates.The controller 32 has, for example, the same hardware configuration as the own position estimation controller 22. The controller 32 includes a processor 33 and a storage unit 34. The loading position is located on the loading surface 15 and is a position where the load C 1 is loaded on the forks F 1.The vehicle controller 41 includes, for example, the same hardware configuration as the own position estimation controller 22. The vehicle controller 41 includes a processor 42 and a storage unit 43. the vehicle controller 41 is capable of obtaining the own position estimated by the own position estimation controller 22 and the load position acquired by the controller 32. The vehicle controller 41 controls the travel drive 44 and the cargo handling actuator 45 based on the self-position and the cargo position.The travel drive 44 actuates the forklift 20. The traction drive 44 includes, for example, a motor that rotates the driven wheels and a steering mechanism. The vehicle controller 41 controls the travel drive 44 to move the forklift 20 while acquiring its own position. When loading the cargo C 1, the vehicle controller 41 causes the forklift 20 to move toward a loading position while getting the own position.The cargo handling actuator 45 causes the forklift 20 to perform the goods change. The cargo handling actuator 45 includes, for example, a motor and a control valve. The motor drives a pump that supplies hydraulic fluid to a hydraulic machine, and the control valve controls the supply of the hydraulic fluid. The vehicle controller 41 controls the cargo handling actuator 45 to raise or lower the forks F 1 and tilt the forks F 1. When storing the load C 1 at the loading position, the forks F 1 are raised or lowered and tilted, so that the load C 1 is loaded at the loading position.The vehicle controller 41 controls the travel drive 44 so that the forklift 20 autonomously travels. The vehicle controller 41 controls the cargo handling actuator 45 so that the forklift 20 performs the cargo handling independently. The forklift 20 is an autonomous forklift.A load position detection control executed by the controller 32 will be described below. The loading position detection controller detects a loading position. As an example, a case where a loading position on the truck 10 shown in FIG. 2 is detected will be described. Objects C2are already located on the loading platform 14 of the truck 10. The forklift 20 approaches the truck 10 based on a command from a master controller. When the distance between the forklift 20 and the truck 10 is less than a certain distance, the loading position detection control is started. The determined distance is a distance at which the external sensor 31 can detect the truck 10.As shown in FIGS. 5 and 6, the controller 32 performs a point cloud process in step S 11. The point cloud process is superposition of point clouds obtained from detection results of the external sensor 31. The controller 32 multiple times obtains point clouds from the external sensor 31 during traveling of the forklift 20. The control unit 32 is capable of recognizing the coordinate of the origin of the sensor coordinate system in the map coordinate system on the basis of the own position estimated by the own position estimation control unit 22. The control unit 32 is capable of recognizing deviations between the axes of the map coordinate system and the axes of the sensor coordinate system on the basis of the own position estimated by the own position estimation control unit 22. The controller 32 converts the coordinates of the points P 1 in the point cloud from the coordinates in the sensor coordinate system into map coordinates based on the coordinate of the origin of the sensor coordinate system in the map coordinate system and the deviation between the axes of the map coordinate system and the axes of the sensor coordinate system. Each time a point cloud is obtained, the controller 32 superimposes the points P 1 converted into the map coordinates, thereby generating a first point cloud PG 1. The first point cloud PG 1 is a set of point clouds. Therefore, the points P 1 included in the first point cloud PG 1 are denser than the points P 1 included in a single point cloud.FIG. 6 shows the first point cloud PG 1 obtained by the process of step S 11. The points P 1 in the first point cloud PG 1 represent map coordinates of objects. For illustration, the points P 1 in the first point cloud PG 1 are divided into first points P 11, second points P 12, and third points P 13.The first points P 11 are the points P 1 obtained by irradiating the loading surface 15 of the loading platform 14 with a laser. The first points P 11 represent the map coordinates of the loading surface 15 of the loading platform 14. For illustrative purposes, the first points P 11 are shown as filled circles.The second points P 12 are the points P 1 obtained by irradiating the attached objects C 2 to the loading surface 15 of the loading platform 14 with a laser. The second points P 12 represent the map coordinates of the attached objects C 2 on the load surface 15 of the loading platform 14. For illustration, the second points P 12 are represented as circles with diagonal lines.The third points P 13 are the points P 1 that do not match with either the first points P 11 or the second points P 12. For illustration, the third points P 13 are represented as open circles.Next, in step S 12, as shown in FIG. 5, the controller 32 extracts points P 1 representing a horizontal plane from the first point cloud PG 1. The controller 32 calculates the normal vectors of the respective points P 1. The normal vector of each point P1 refers to a vector orthogonal to the tangential plane at the point P1. The methods for obtaining normal vectors include a method that detects a curved plane from a plurality of points P 1 and derives normal vectors at the respective points P 1, and a method that uses vector products. For example, when the normal vector of a point P 1 is detected, the controller 32 obtains the product of vectors directed to two points P 1 located in a certain range from the first point P 1. The vector product obtained is a normal vector.The controller 32 extracts points P 1 whose normal vectors are directed in the up-down direction. Specifically, the controller 32 determines whether the angle of each normal vector with respect to the XY plane in the map coordinate system is within a predetermined range. When the points P 1 represent a horizontal plane, the angle of the normal vector of each point P 1 with respect to the XY plane is 90°. In the present embodiment, the predetermined range is set based on various factors including the inclination of the loading platform 14 that varies depending on the parking position of the truck 10 and the accuracy of the external sensor 31. The fixed angle is, for example, 10°. That is, the range is between 80° and 100° inclusive. The controller 32 extracts points P 1 whose angles of the normal vectors are within a predetermined range as points P 1 whose normal vectors are directed in the up-down direction. The extracted points P 1 are points P 1 representing a horizontal plane.FIG. 7 shows a second point cloud PG 2 obtained by the process of step S 12. The points P 1 representing horizontal planes are extracted from the first point cloud PG 1 and used to form the second point cloud PG 2. The second point cloud PG 2 includes the first points P 11 and the second points P 12. That is, the points P 1 representing the load surface 15 and the points P 1 representing a horizontal plane of each attached object C 2 are extracted from the first point cloud PG 1.Next, in step S 13, the controller 32 extracts the points P 1 representing the loading platform 14 as shown in FIG. 5. The controller 32 derives a plane equation from the points P 1 representing the horizontal plane extracted in step S 12. Based on the map coordinates (x, y, z) of the points P 1 extracted in step S 12, the controller 32 calculates values for a, b, c, and d that satisfy the equation ax+by+cz+d=0. The plane equation can be derived, for example, using a robust estimation such as the random sample consensus method (RANSAC) or the least squares method. The plane expressed by the plane equation represents the horizontal plane. The controller 32 defines a plane expressed by the plane equation as a horizontal plane.The controller 32 extracts, from the first point cloud PG 1, points P 1 that are within a certain range in the up-down direction from a horizontal plane expressed by the plane equation. The points P 1 within the specified range in the up-down direction from the horizontal plane are points P 1 located within the specified range with respect to opposite sides of the horizontal plane in the Z axis of the map coordinate system. These points P 1 represent the loading platform 14, in particular the loading surface 15 of the loading platform 14, The specified range is defined such that, for example, the objects C 2 attached to the loading surface 15 are excluded from the first point cloud PG 1.FIG. 8 shows a third point cloud PG 3 obtained by the process of step S 13. From the first point cloud PG 1, the points P 1 that are within a certain range in the up-down direction from the horizontal plane expressed by the plane equation are extracted and used to form the third point cloud PG 3. The third point cloud PG 3 includes, in addition to the first points P 11, the third points P 13 obtained by irradiating the cabin 11 with a laser.Next, as shown in FIG. 5, in step S 14, the control unit 32 extracts the points P 1 representing the edge E 1 of the loading platform 14 located in front of the forklift 20. The edge E1 is located in front of the forklift 20, and the cargo C1 is transported above the edge E1 when the forklift 20 has loaded the cargo C1. The controller 32 converts the orthogonal coordinates of the points P 1 in the third point cloud PG 3 into polar coordinates in the polar coordinate system. A polar coordinate is expressed by a radial coordinate r and two angular coordinates θ, φ. The radial coordinate r refers to a distance from the origin of the polar coordinate system. The angle coordinate θ refers to an angle coordinate in the horizontal plane. The angle coordinate θ is an angle with respect to the X axis in the XY plane in the map coordinate system. The angle coordinate φ refers to an angle coordinate in a vertical plane. The angular coordinate φ is an angle with respect to the Z axis of the map coordinate system. In the present embodiment, the origin of the polar coordinate system is the own location. The controller 32 divides the polar coordinate system into angle sections of a certain angle within the horizontal plane and extracts from each angle section the point P1 whose coordinate is closest to the self-location. The predetermined angle is set depending on the angular resolution of the external sensor 31, for example. When two or more points P 1 are included in a certain angle section, the controller 32 extracts one of the points P 1 having the shortest radial coordinate r. The extracted points P 1 represent the edge E 1 of the loading platform 14.FIG. 9 shows a fourth point cloud PG 4 obtained by the method of step S 14. The points P 1 representing the edge E 1 of the loading platform 14 in front of the forklift 20 are extracted from the third point cloud PG 3 and used to form the fourth point cloud PG 4. The fourth point cloud PG 4 includes, in addition to the first points P 11, the third points P 13 obtained by irradiating the cabin 11 with a laser. That is, the method of step S 14 may not be able to extract only the points P 1 representing the edge E 1 of the loading platform 14.As illustrated in FIG. 5, the controller 32 performs straight line detection in step S 15. The controller 32 returns the coordinates of the points P 1 converted into polar coordinates to map coordinates in step S 14. The controller 32 then detects a straight line from the map coordinates of the points P 1 obtained in step S 14. In the present embodiment, the controller 32 acquires the straight line by RANSAC. The controller 32 may also determine the straight line using another method, for example, the least squares method. The straight line represents the edge E1 of the loading platform 14. FIG. 9 shows a straight line L 1 recognized in step S 15.Subsequently, in step S 16, the controller 32 performs clustering. Clustering is performed at points P 1 representing edge E 1 of the platform 14. That is, clustering is performed on the fourth point cloud PG 4. Clustering refers to a process in which points P 1 assumed to represent a single object are merged into a single cluster. The controller 32 clusters the points P1 whose distances are within a certain range. The controller 32 extracts from the fourth point cloud PG 4 the points P 1 representing the edge E 1 of the loading platform 14. In other words, the controller 32 removes, from the fourth point cloud PG 4, the points P 1 that do not represent the edge E 1 of the loading platform 14. In the present embodiment, the points P 1 representing the cabin 11 are removed from the fourth point cloud PG 4. For example, the controller 32 extracts, from the fourth point cloud PG 4, the points P 1 belonging to the largest of the clusters obtained by clustering. As a result, the region in which the straight line L 1 ascertained in step S 15 lies is limited to the region of the edge E 1 of the loading platform 14. That is, the straight line L 1 recognized in step S 15 can now be regarded as the edge E 1 of the loading platform 14.The controller 32 determines the loading position in step S 17. The loading position is separated from the attached objects C 2 by a predetermined distance in the direction in which the straight line L 1 detected in step S 15 extends. The controller 32 determines the loading position based on the straight line L 1 and the points P 1 extracted by an attached object detection control described below. First, the attached object detection control will be described, and thereafter, step S 17 will be described.As shown in FIG. 10, in step S 21, the controller 32 obtains the first point cloud PG 1 obtained by the loading position detection control. That is, the controller 32 obtains the first point cloud PG 1 obtained by the point cloud process of step S 11.Next, in step S 22, the controller 32 removes outliers from the first point cloud PG 1. The outlier removal may be performed with an outlier removal filter or robust estimation.Next, in step S 23, the controller 32 detects the mounted objects C 2 placed on the load surface 15. The controller 32 acquires the attached objects C 2 from the first point cloud PG 1 from which outliers have been removed and the plane equation derived in step S 13. The controller 32 extracts, from the first point cloud PG 1, the points P 1 that are located above the horizontal plane expressed by the plane equation and separated by distances equal to or larger than a certain distance therefrom. The set distance is set such that, for example, the points P 1 representing the loading platform 14 are excluded from the first point cloud PG 1. Thereby, the points P 1 representing the attached objects C 2 can be extracted because the attached objects C 2 are located on the loading platform 14.FIG. 11 shows a fifth point cloud PG 5 obtained by the process of step S 23. The fifth point cloud PG 5 includes the third points P 13 representing objects other than the attached objects C 2, in addition to the second points P 12 representing the attached objects C 2. After obtaining the fifth point cloud PG 5, the controller 32 ends the attached object detection control.The loading position detection control step S 17 illustrated in FIG. 5 will be described. The controller 32 acquires the loading position from the straight line L 1 and the fifth point cloud PG 5. The controller 32 sets the loading position to a position that is on a straight line that orthogonally intersects the straight line L 1 and is separated from the second points P 12 in the fifth point cloud PG 5 by a predetermined distance in a direction in which the straight line L 1 extends. In the present embodiment, the loading position is set to a position separated from an edge of the attached objects C 2 represented by the second points P 12 by the predetermined distance in the direction in which the straight line L 1 extends. As shown in FIG. 2, when the attached articles C 2 are arranged from the front wall 12 toward the tailgate 13, the loading position is set to a position separated by the predetermined distance from the closest edge of the attached article C 2 to the tailgate 13 that is closest to the tailgate 13. The load C1 is loaded at the loading position such that the center of the load C1 coincides with the center of the loading position. The predetermined distance is set so that the load C 1 does not collide with the attached articles C 2 in this state. When the dimensions of the charge C 1 are known in advance, the predetermined distance may be a predetermined fixed value. For example, when the load C 1 and the attached items C 2 are pallets of the same shape, the predetermined distance may be the value obtained from the expression pallet width / 2+a certain value. The indicated value may be set to any value. In this case, the distance between the load C 1 and the attached object C 2 is the specified value. The center of the charge C 1 refers to the center of the charge C 1 in the direction in which the straight line L 1 extends.If the dimensions of the charge C 1 are not known, the dimensions of the charge C 1 may be measured and the predetermined distance may be determined based on the measured dimensions. The dimensions of the load C 1 may be measured, for example, with a sensor provided in the forklift 20. The sensor may be the own position external sensor 21 or the external sensor 31. Although the fifth point cloud PG 5 includes the third points P 13, the third points P 13 are not on a straight line orthogonally intersecting the straight line L 1. Therefore, the loading position can be recognized even when the fifth point cloud PG 5 includes the third points P 13.FIG. 6 shows an example of a loading position LP 1. The present embodiment includes straight lines that orthogonally intersect the straight line L 1. These straight lines include a straight line L 2 orthogonally intersecting the straight line L 1 and running in the horizontal direction, and a straight line L 3 orthogonally intersecting the straight line L 1 and running in the vertical direction. The controller 32 detects, as the loading position LP 1, a position on the straight line L 2 and / or a position on the straight line L 3. The loading position LP 1 may include a position that is located above the loading surface 15 and is traversed by the load C 1 when the load C 1 is moved to be finally mounted at a position on the loading surface 15. The loading position LP 1 is acquired as a map coordinate. The controller 32 may detect one of the straight line L 2 and the straight line L 3. After completion of the process of step S 17, the controller 32 terminates the control of the load position detection. When the attached articles C 2 are not detected, the loading position LP 1 may be set to a position that is apart from the end of the straight line L 1 by the predetermined distance.The operation of the present embodiment will now be described.The load surface 15 extends in horizontal directions. When the points P 1 representing a horizontal plane are extracted from a point cloud in step S 12, the extracted points P 1 include the points P 1 obtained by receiving the laser light reflected from the bed 15. When a plane equation is derived from the extracted points P 1, the plane equation expressing the horizontal plane is obtained. The controller 32 extracts the points P 1 within the specified range in the up-down direction from the horizontal plane. In this way, the points P 1 representing the loading platform 14 can be extracted. That is, the second points P 12 representing the attached objects C 2 can be removed. Points P 1 representing the loading platform 14 include points P 1 representing the edge E 1 located in front of the forklift 20. The forklift 20 approaches the edge E1 as it makes the jam. That is, the edge E1 extends along the loading position. The controller 32 detects the position of the edge E 1 as the straight line L 1. The points P1 which are above the horizontal plane and at least the indicated distance therefrom represent the objects C2 mounted on the loading platform 14. The controller 32 determines the loading position from the straight line L 1 and the attached objects C 2.The present embodiment has the following advantages.(1) The controller 32 detects, as the loading position, a position separated from the attached articles C 2 by at least the predetermined distance in the direction in which the straight line L 1 extends. The loading position is on the loading platform 14 and is remote from the attached items C2. Thus, the controller 32 detects, as the loading position, a position where the mounted items C 2 on the loading surface 15 are unlikely to interfere with the load C 1 on the forks F 1.(2) The controller 32 derives the normal vectors of the respective points P 1. The controller 32 extracts the points P 1 whose normal vectors are in the up-down direction, and derives the plane equation from the extracted points P 1. The normal vectors refer to vectors each orthogonal to the tangential plane at the corresponding point P 1. Accordingly, the points P 1 representing the horizontal plane can be extracted by deriving the normal vectors of the respective points P 1 and extracting the points P 1 whose normal vectors are in the up-down direction. Thus, it can be assumed that the plane expressed by the plane equation is a horizontal plane.(3) The controller 32 performs clustering by grouping the points P 1 assumed to represent a single object. This removes the points P 1 representing objects other than the loading platform 14.(4) The forklift 20 includes the external own position estimation sensor 21 and the external sensor 31 different from the external own position estimation sensor 21. In contrast to a case where the external sensor 21 for estimating the own position is used to detect the loading position, the loading position can be detected with the external sensor 31 suitable for detecting the loading position. For example, since the external sensor 31 having a wider field of view than the external sensor 21 for estimating the own position is used, the cargo bed 15 is likely to be included in the field of view even when the forklift 20 is located near the truck 10. Thereby, the loading position is easily recognized as compared with a case where the loading position is detected by the external own position estimation sensor 21.(5) The controller 32 detects the edge E 1 of the loading platform 14 and detects, as the loading position, a position that does not interfere with the articles C 2 mounted on the loading surface 15. Even if the parking position and the orientation of the truck 10 are not known, the loading position can be detected when the external sensor 31 detects the edge E 1 of the loading platform 14 and the attached items C 2. In this way, the forklift 20 can load even when the parking position and the orientation of the truck 10 are unknown.The above-described embodiment may be modified as follows. The above-described embodiment and the following changes may be combined as long as the combined changes are technically consistent with each other.The external sensor 21 for estimating the own position may be used as an external sensor that detects the loading position. In this case, the external sensor 21 for estimating the own position is also used as an external sensor for detecting the loading position.The load C 1 can be loaded in everything that has a loading platform. For example, the cargo C 1 may be loaded in a truck other than a van truck such as a truck, a rack, or a shipping container.The controller 32 may derive the loading position in the sensor coordinate system and then convert it to map coordinates. That is, the controller 32 may derive the loading position after converting a point cloud obtained from the external sensor 31 into the map coordinate system. Alternatively, the controller 32 may derive the loading position without converting the point cloud to the map coordinate system. In these cases, the controller 32 may superimpose different point clouds when the controller 32 acquires the travel distance of the forklift 20. The distance can be determined by estimating its own position or by dead reckoning.The points P1 representing the horizontal plane can be determined by any suitable method. For example, as points P 1 representing the horizontal plane, the controller 32 may extract the points P 1 at a height at which the largest number of points P 1 are distributed.The controller 32 does not necessarily have to perform clustering. In this case, the controller 32 may distinguish the points P 1 representing the edge E 1 and the points P 1 representing objects other than the edge E 1 by a method other than clustering. For example, there is a space above the points P 1 representing the edge E 1. Thus, there is a region where the points P are not above the points P 1 representing the edge E 1. In contrast, the car 11 is located above the points P 1 representing the car 11. Therefore, the control unit 32 may use the coordinates on the Z axis of the points P 1 in the fourth point cloud PG 4 to determine whether specific points P 1 represent the edge E 1 based on whether there are points P 1 located above and overlapping the specific points P 1.The controller 32 may perform clustering before straight line detection.The controller 32 may set the loading position to a position that is a predetermined distance away from the center of the adjacent attached object C 2 in the direction in which the straight line L 1 extends.The controller 32 may convert the points P 1 in point clouds into the map coordinates by matching with the environment map in step S 11. The controller 32 may then superimpose the point clouds converted into the map coordinates to generate the first point cloud PG 1. Matching with the environment map can be effected, for example, by means of "Iterative Closest Point" (ICP) or Normal Distribution Transformation (NDT).When the points P 1 in the point cloud obtained from the external sensor 31 are dense, the controller 32 may execute step S 12 and the subsequent processes using the obtained point cloud. That is, the controller 32 does not necessarily need to superimpose a plurality of point clouds.The forklift 20 may be a manually operated forklift. In this case, the controller 32 may display the loading position on a display unit. The display unit is in the field of view of an operator who operates the forklift 20. Displaying the load position on the display allows the operator to adjust the position of the forks F1 while monitoring the display. The operator may be on board the forklift 20. The operator can operate the forklift 20 from a remote location.Various changes in form and details may be made in the above examples without departing from the spirit and scope of the claims and their equivalents. The examples are for description only and not for limitation. Descriptions of features in the individual examples are to be considered applicable to similar features or aspects in other examples. Suitable results may be achieved when operations are performed in a different order and / or when components in a described system, architecture, device, or circuit are combined differently and / or replaced or supplemented by other components or their equivalents. The scope of the disclosure is defined not by the detailed description, but by the claims and their equivalents. All variations within the scope of the claims and their equivalents are included in the disclosure.A forklift loads a load onto a load bed. The loading surface is an upper surface of a loading platform. The forklift includes an external sensor configured to detect a position of an object and a controller. The position of the object is represented by a point cloud consisting of a set of points. The controller is configured to extract points representing the loading platform from the points representing the loading platform, extract points representing an edge of the loading platform, detect a straight line representing the edge from the points representing the edge, extract points representing an object mounted on the loading platform, and detect, as a loading position on which the load is loaded, a position separated from the mounted object by a predetermined distance in a direction in which the straight line extends.

Claims

A forklift (20) that loads a cargo (C1) onto a cargo bed (15), the cargo bed (15) being an upper surface of a loading platform (14), the forklift (20) comprising: an external sensor (31) configured to detect a position of an object; and a controller (32), wherein the position of the object is represented by a point cloud (PG1) that is a set of points (P1) expressed by coordinates in a three-dimensional coordinate system, and the controller (32) is configured to extract points (P1) representing a horizontal plane from the point cloud (PG1), extract, as points (P1) representing the loading platform (14), points (P1) within a certain range in an up-down direction from the horizontal plane, extracting, from the points (P1) representing the loading platform (14), points (P1) representing an edge (E1) of the loading platform (14), the edge (E1) being located in front of the forklift (20), detecting a straight line (L1) representing the edge (E1) from the points (P1) representing the edge (E1), extracting, as points (P1) representing an object (C2) mounted on the loading platform (14), points (P1) located above the horizontal plane and separated therefrom by at least a certain distance, and detecting, as a loading position (LP 1) on which the load (C 1) is loaded, a position separated from the mounted object (C 2) in a direction in which the straight line (L 1) extends by a predetermined distance.The forklift (20) according to claim 1, wherein the controller (32) is configured to acquire normal vectors of respective points (P1) in the point cloud (PG1), extract points (P1) whose normal vectors extend in the up-down direction, acquire a plane equation from the extracted points (P1), and define a plane expressed by the plane equation as the horizontal plane.The forklift (20) according to claim 1 or 2, wherein the controller (32) is configured to perform clustering on the points (P1) representing the edge (E1), wherein the clustering is a process that groups points (P1) into a cluster.The forklift (20) according to any one of claims 1 to 3, further comprising: an external own position estimation sensor (21) different from the external sensor (31); and an own position estimation controller (22) configured to estimate an own position of the forklift (20) using the external own position estimation sensor (21).The forklift (20) according to claim 4, wherein the controller (32) is configured to convert orthogonal coordinates of the points (P1) representing the loading platform (14) into polar coordinates of a polar coordinate system, divide the polar coordinate system into angle sections having a certain angle within a horizontal plane, and extract, from each angle section, a point (P1) whose coordinate is closest to the own position as the points (P1) representing the edge (E1).A method of detecting a loading position (LP1) for a forklift (20), the forklift (20) loading a load (C1) onto a loading surface (15), the loading surface (15) being an upper surface of a loading platform (14), the method comprising: detecting a position of an object using an external sensor (31) provided in the forklift (20), the position of the object being represented by a point cloud (PG1) which is a set of points (P1) expressed by coordinates in a three-dimensional coordinate system; extracting points (P1) representing a horizontal plane from the point cloud (PG1); extracting, as points (P1) representing the loading platform (14), points (P1) within a certain range in an up-down direction from the horizontal plane; extracting, from the points (P1) representing the loading platform (14), points (P1) representing an edge (E1) of the loading platform (14), the edge (E1) being located in front of the forklift (20); acquiring a straight line (L1) representing the edge (E1) from the points (P1) representing the edge (E1); extracting, as points (P1) representing an object (C2) mounted on the loading platform (14), points (P1) located above the horizontal plane and separated therefrom by at least a certain distance; and detecting, as a loading position (LP1) on which the load (C1) is loaded, a position separated from the mounted object (C2) in a direction in which the straight line (L1) extends by a predetermined distance.

Citation Information

Patent Citations

  • Automatic guided vehicle, has load handling device connected to onboard computer, where vehicle is provided with detection unit, which comprises single sensor for determining relative position of load handling device

    BE1018160A3

  • Forklift transfer device

    JP2021004113A

  • forklift

    US20180134531A1

  • Forklift motion control method and device

    WO2020181727A1

  • BE000001018160A3