Method for automated forklift pallet transfer with simple camera calibration

The method addresses the challenge of precise pallet pickup in hybrid environments by mechanically setting the camera yaw to 0 degrees and calculating pitch and roll from the camera's image, facilitating efficient and reliable pallet alignment on automated forklifts.

EP4768420A1Pending Publication Date: 2026-07-01ROMB TECH D O O

Patent Information

Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
ROMB TECH D O O
Filing Date
2024-12-30
Publication Date
2026-07-01

AI Technical Summary

Technical Problem

Current automated forklift systems struggle with precise pallet pickup in hybrid environments where both automated vehicles and humans operate, as existing camera calibration methods require external markers and are not efficient for adaptive pallet alignment.

Method used

A method for camera calibration on automated forklifts that sets the camera yaw to 0 degrees mechanically and calculates pitch and roll from the camera's image, using symmetric forks and ground plane normal vector, without external markers, to perform accurate pallet pose estimation.

Benefits of technology

Enables fast and reliable pallet pickup by minimizing iterations and ensuring precise alignment without the need for external markers, enhancing operational efficiency in hybrid workflows.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IMGAF001_ABST
    Figure IMGAF001_ABST
Patent Text Reader

Abstract

An enhanced method for automated forklift (10, 20) pallet (90) transfer is disclosed, wherein camera (100, 101) calibration, essential for accurate pallet (90) pose estimation, is performed without external markers. The calibration assumes the camera (100, 101) yaw is initially set to 0 by mechanical means. The camera (100, 101) pitch and roll are calculated from the camera (100, 101)'s image (101). Specifically, each captured image (101) shows parallel forks (20) whose longest outer edges converge at a vanishing point, VP, distinct from the image (101) center IC. Using other pairs of mutually parallel and opposite planes one facing the other, and forks (20)' symmetry, together with the ground plane (1, 2) normal vector, enables the calculation of coordinate transformation TFC and the inverse coordinate transformation TCF , where C and F represent the camera (100, 101) and forklift (10, 20) coordinate systems, respectively. This method simplifies camera (100, 101) calibration and facilitates accurate pallet (90) picking.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] A present disclosure reveals an enhanced method for automated forklift pallet transfer with simple camera calibration which renders the core of the disclosure. In general, the disclosure relates to specific image data processing and image analysis directed to single-camera calibration which does not require external calibration markers.Technical Problem

[0002] With the rapid development of robotics and automation technologies, Automated Guided Vehicles, AGVs, will gradually replace manually operated forklift trucks and soon become an essential component of next-generation industrial transporting solutions.

[0003] Most of the current solutions available on the market use either track-based or laser-guided navigation. While laser-guided navigation boasts precision and natural laser localization does not require changes to the environment, laser sensors struggle to provide detailed descriptions of the environment. That is why vision-based navigation is becoming more prevalent in the industry. Cameras can provide significantly more information about the environment, when paired with technologies like object classification and detection. Standard automated forklift operation strategies, prevalent in the industry today, rely on a network of fixed paths and high positioning repeatability for ensuring efficient pallet pick-ups and deliveries. This approach is appropriate for fully automated environments where machines perform all pick-up and delivery operations. However, it malfunctions in hybrid workflows which include both automated vehicles and humans sharing the same workspace. Humans do not perform tasks with the same repeatability as machines, so pallets placed by humans can be offset by several centimeters and a few degrees from their expected pose. To enable seamless operation of automated forklifts in this scenario, the system should have the ability to adaptively pick up inaccurately placed pallets.

[0004] The essence of reliable pick-up and pallet transport is fast and reliable camera calibration. Keeping in mind that the recent modern vision systems used in AGVs, i.e., automated forklifts, are based on multiple cameras, renders the calibration problem even more important. The essential problem solved with this invention is camera calibration, which is performed without any external markers and is based on a few simple assumptions, making the method extremely fast, i.e. easy to calculate, and reliable.

[0005] The first assumption is that it is always possible to secure, via mechanical means, a single camera on the forklift's frame with the yaw set to 0 degrees for a sufficiently long period. The second assumption is that the camera's pitch and roll are calculable from the camera's image which captured parallel, symmetric forks whose longest outer edges intersect at the vanishing point, VP, which differs from the camera's image center, IC. The method uses other pairs of mutually parallel and opposite planes one facing the other, and forks' symmetry, together with the ground plane normal vector, for the calculation of coordinate transformation T FC and the inverse coordinate transformation T CF where C and F stands for camera and forklift coordinate systems respectively.

[0006] Once the calibration method is done, the present method discloses the pick-up and transfer of the pallet with the steps which minimise the number of iterations, during the pick-up process, i.e., during the incorrect pallet pose.

[0007] In one further embodiment, obstacle avoidance is also briefly discussed.State of the Art

[0008] The state of the art is extremely populated with patent and non-patent literature.

[0009] Korean patent KR101095579B1 for A METHOD FOR POSITIONING AND ORIENTING OF A PALLET BASED ON MONOCULAR VISION, filed in the name of Pusan National University Industry-University Cooperation Foundation, [KR], seems to be the closest prior art for the hereby disclosed method. According to the abstract, this invention relates to a mono vision-based pallet position and attitude measuring method that enables the three-dimensional position and attitude of the pallet in front of the forklift by using a single camera installed in the fork carriage of the forklift. During the camera calibration process, the vanishing point and the forks' geometry are used in the calibration process, but not, for instance, the forks' inner planes which are symmetrical and face one another. The main disadvantage of the cited method is that the type of the pallet should be known for proper functioning, i.e., Korean standard pallet type. In this cited prior art, only the camera yaw is calculated in the same way as proposed by the disclosed invention. All other transformation parameters are deduced differently.

[0010] Chinese patent application CN116309882A for UNMANNED FORKLIFT APPLICATION-ORIENTED TRAY DETECTION AND POSITIONING METHOD AND SYSTEM, is filed in the name of Zhejiang University, [CN]. According to the abstract, the cited invention discloses a tray detection and positioning method - and system for unmanned forklift applications. In the present patent application, the calibration is performed in advance, as is obvious from the description. Namely, the cited step 3.2 reads: calculating three-dimensional coordinates (X, Y, Z) of pixel points of the support column area under a camera coordinate system according to camera parameters calibrated in advance, and via the formula given in the description.

[0011] Chinese patent application CN118644532A for DEPTH VISUAL IDENTIFICATION AND POSITIONING METHOD FOR AGV TERMINAL OPERATION, which is filed in the name of Anhui Heli Co Ltd., [CN]. This patent application is selected because the AGV's path adjustment is performed via Bezier courses, which is rather similar to the technique used in the present disclosure.

[0012] The article Zhengyou Zhang, A FLEXIBLE NEW TECHNIQUE FOR CAMERA CALIBRATION, Microsoft Technical Report MSR-TR-98-71. According to the article's abstract, a flexible new technique to easily calibrate a camera is cited. It is well suited for use without specialized knowledge of 3D geometry or computer vision. Also, the technique only requires the camera to observe a planar pattern shown at a few, at least two, different orientations. Either the camera or the planar pattern can be freely moved. The motion need not be known. Radial lens distortion is modelled. The proposed procedure consists of a closed-form solution, followed by a nonlinear refinement based on the maximum likelihood criterion. This article is selected as an important prior art for CN118644532A main calibration method, and is mentioned in KR101095579B1 as the supportive technique for the camera calibration. Furthermore, it implies the importance of the proper camera calibration.

[0013] There are several articles below which seems to be important as the general prior art.

[0014] Xiao, J., Lu, H., Zhang, L., & Zhang, J. (2017). PALLET RECOGNITION AND LOCALIZATION USING AN RGB-D CAMERA. International Journal of Advanced Robotic Systems, 14(6), 172988141773779. doi:10.1177 / 1729881417737799. The article reveals the usage of a single low-cost RGB-D camera for solving the technical problem, i.e., to enable a forklift to insert the forks within the pallet's slots for loading and unloading packages. However, the camera calibration is performed manually with the help of the walls to establish transformation relations between the forklift frames and camera frames.

[0015] V. -D. Vu et al., OCCLUSION-ROBUST PALLET POSE ESTIMATION FOR WAREHOUSE AUTOMATION, in IEEE Access, vol. 12, pp. 1927-1942, 2024, doi: 10.1109 / ACCESS.2023.3348781. According to section A of the cited document, extrinsic calibration involves placing markers on the checkerboard corners and attaching spherical markers to the sensor. This enabled the estimation of the transformation between the motion capture system's pose and the RGB-D camera's optical frame in the cited document.

[0016] Zhao, J.; Li, B.; Wei, X.; Lu, H.; Lü, E.; Zhou, X. RECOGNITION AND LOCATION ALGORITHM FOR PALLETS IN WAREHOUSES USING RGB-D SENSOR. Appl. Sci. 2022, 12, 10331. https: / / doi.org / 10.3390 / app122010331. This document represents yet another general state-of-the-art document, solving the problem of large uncertainties when using an RGB-D sensor to recognize and locate pallets in warehouse environments. It seems that the document is silent regarding the camera calibration at all.

[0017] None of the above-cited documents reveals such a quick and reliable method for the camera calibration process, which can be easily executed on the standard AGV's hardware, with desired accuracy.Summary of the Invention

[0018] A method for automated forklift pallet transfer within a warehouse is disclosed.

[0019] An automated forklift comprises means for receiving, storing, and processing digital information, where the information is either pre-stored or loaded from external sources, and acquired from sensors including at least one indoor or outdoor positioning system, and a depth camera attached to the forks' frame below or above the plane where forks are positioned. In addition, the forklift has the means for autonomous driving, equipped with safety mechanisms for recognizing obstacles.

[0020] The disclosed method is represented as a task list executed as a computer program stored in the forklift's processing unit. The method comprises the following steps A-G mentioned below. A. Loading a warehouse roadmap in the world frame, where the roadmap consists of interconnected nodes, with each node representing points of interest in a warehouse, including intersections, forklift charging positions, pre-pallet nodes, pallet nodes, and node connector curves (NCC), together with the conditions for following the NCCs. B. Loading the next task in the task list that the forklift must execute, wherein each task specifies the goal node, task type, and associated task parameters which define what actions the forklift has to perform. C. Path planning using the data from step A from the current forklift pose to the goal node defined in step B, where the calculated path is the one that satisfies imposed conditions for each NCC, defined in step A. D. Depending on the task type defined in step B, the vehicle executes different actions along the path calculated in step C. E. All actions that require following the path defined in step C use a control method selected from Model Predictive Control, Linear quadratic control, Pure pursuit control, or Gain scheduling control, implemented for autonomous driving of the forklift, utilizing localization on the roadmap by the implemented positioning system, for driving between the nodes of interest while following the node connector curves, and optionally using the program to avoid the obstacles. F. If the action in step E requires pickup of the pallet, the forklift follows the path to the pre-pallet node of the path, the method performs safety checks for pallet pickup and possible corrections, the forklift enters the pallet node of the path to pick up the pallet and finally exit back to the pre-pallet node. G. Finally, the said method is restarted from step B.

[0021] The said method has the following sub-steps within step F. Once the forklift approaches the specified pallet for pick-up and transfer, at the pre-pallet node the method executes the following sub-steps: i) runs the camera calibration procedure to calculate the coordinate transformation T FC from the forklift frame F to the camera frame C and the corresponding inverse coordinate transformation T CF , ii) lifts forks to pallet height, iii) estimates the pallet pose using the RGB-D camera, where the taken RGB image undergoes a semantic segmentation, and where the segmented image and the corresponding depth image are used to calculate the pallet pose in the camera frame, iv) calculates the pallet pose in the world frame, using the known forklift pose in the world frame as a reference, with the transformations T FC and T CF from step i) and pose from step iii) in the camera frame, and v) if the pallet is misaligned over the predetermined threshold when comparing the expected pallet pose in the roadmap with the estimated pallet pose from step iv), the forklift exits the current pre-pallet node to a previously passed node, a new pre-pallet node is calculated based on pallet pose in step iv) and a new path is planned from the current forklift position to the new pre-pallet node, the roadmap is temporarily updated for a new path and new pre-pallet node, which the forklift approaches via the said newly calculated path, and vi) the steps iii) - v) are repeated until the pallet is not detected as misaligned in step v), at which point the pallet is picked up by the forklift, and the instructions of step F are finalized.

[0022] The present method is characterized by its camera calibration in step i), which is performed without any external markers, based on the assumption that the camera yaw is set initially to 0 degrees by mechanical means, while the camera pitch and camera roll are calculated from the camera's image. This image always shows parallel, symmetric forks whose longest outer edges intersect at the vanishing point, VP, which differs from the camera's image center, IC. Using other pairs of mutually parallel and opposite planes one facing the other, and forks' symmetry, together with the ground plane normal vector, allows the calculation of coordinate transformation T FC and the inverse coordinate transformation T CF .

[0023] The method also discloses exact calculation steps for the calculation of the forklift frame F origin (x F ,y F ,z F ) and the camera yaw, roll, and pitch (ϕ,ψ,θ) parameters.

[0024] In the preferred embodiment, the RGB-D camera is positioned above the plane where forks are positioned, measured from the ground. Furthermore, it is favourable that the camera is positioned on the fork frame so that at least 30 cm of the forks are visible from the camera image. Also, the node connectors curves in the method are preferably smooth continuous curves, such as Non-uniform rational B-spline (NURBS) curves. The obstacle avoidance program is programmed to calculate the obstacle go-around path with at least two new intersections and one node connector added to the initially calculated path in the method's step C. The indoor positioning system is preferably selected to be a 2D or 3D lidar.

[0025] The mentioned forklift is designed to comprise means for carrying out the above-cited method.Description of Figures

[0026] Figure 1 depicts the AGV, i.e., the forklift and the pallet in the scene's side view. Figure 2 shows the same scene as Figure 1, from the bird perspective. Figure 3 shows a part of the forklift with the forklift's frame F and the camera's frame C origins and the corresponding axes' orientation. Figure 4 shows a part of the forklift with the forklift's frame F and the auxiliary camera frame C' origins and the corresponding axes' orientation. Figure 5 is the picture taken by RGB-D camera, with an indicated vanishing point, VP, image center, IC, and all relevant geometries for performing the camera calibration method. Detailed Description of the Invention

[0027] In this section, the method is discussed up to the details sufficient for repeating the invention by the person skilled in the art. In addition, some technical setups, that are needed to perform the invention, are briefly addressed.Forklift in general and other hardware parts

[0028] A forklift (10), with the up-down movable frame (40) to which is attached the left (20) and right (30) fork is as schematically depicted in Figures 1 and 2. Figures show the forklift (10) which is driving over the ground plane (1), surrounded by the walls (2) that intersects at the warehouse's horizon line (3). Forklift (10) is in task to pick-up the pallet (90), with or without load (91), as depicted in Figure 5.

[0029] Regarding the term "forklift", in this disclosure this term has a broader meaning and includes any pallet transportation means where the present camera calibration method can be applied. Having in mind that, for simplicity, the forks (20, 30) are defined as essential for carrying out the method described herewith. Also, the said forks (20, 30) are designed to perform the main tasks - to be inserted into the pallets' pockets (92, 93). But, the person skilled in the art will immediately recognize that instead of the mentioned forks (20, 30), any vehicle's parallel edges that may appear under the camera (100) sight, and which may serve to establish the vanishing point, VP, may be equally used for the camera calibration process disclosed herewith, if additional faced planes are visible on the taken image (101).

[0030] So, the present method and technology are easy to apply to all sorts of similar vehicles, such as underride robots, unit load carrier robots, etc, without any inventive effort. The list of such vehicles can be found at: https: / / go4robotics.com / amr-and-agv-types / , THE MOST COMMON AMR AND AGV, published by IFR - International Federation of Robotics, non-profit organization, 2024.

[0031] Every such automated forklift, defined in a wider sense has, besides the standard means for transferring pallets including propulsion means, driving system, and lifting means, some specific means needed for autonomous driving, which include safety mechanisms for recognizing obstacles as well. Furthermore, such automated forklift comprises means for receiving, storing, and processing digital information, where the information is either pre-stored or loaded from external sources, and acquired from sensors including at least one indoor or outdoor positioning system, and a depth sensor and image sensor attached to the forks frame (40) below or above the plane where forks are positioned. In most cases, one RGB-D camera (100) is sufficient to operate with the said method as a depth sensor and image sensor which renders the method inexpensive for practical use.

[0032] The person skilled in the art will recognize the possibility of emulating RGB-D camera (100) with a standard RGB camera and 2D or 3D lidar, or stereo camera to establish the same technical effect, i.e., to capture the RGB image and simultaneously capture or calculate the depth field needed in some instances of carrying out the proposed method.Method for automated forklift pallet transfer

[0033] The disclosed method is set as a task list, or list of instructions, that is executed as a computer program stored in the forklift's processing unit. The method comprises the following steps A-G, explained below.

[0034] Step A. The method begins with loading a warehouse roadmap which is prepared in the world frame. The forklift estimates its position using one or more indoor or outdoor positioning systems built for this purpose. The roadmap consists of interconnected nodes. Each node represents a point of interest in a warehouse. Such nodes represent but are not limited to intersections, forklift charging positions, pre-pallet nodes, pallet nodes, and node connector curves - NCC, together with the conditions for following the NCCs. The specific conditions may include various constraints, such as speed limits, steering speeds, and other constraints along the NCC, which are well described in EP4073608B1, A METHOD FOR ACCURATE AND EFFICIENT CONTROL OF AUTOMATED GUIDED VEHICLES FOR LOAD TRANSPORTATION TASKS, filed in the name of RoMb Technology d.o.o. This step is in principle executed once and repeated only in case of recorded changes in the warehouse, for instance, the layout of the warehouse is changed or pallet racks are moved, etc.

[0035] Step B. This step begins with the loading of the first or any following, i.e., the "next task" from the stored task list that the forklift must execute. Each task specifies the goal node, task type, and associated task parameters which define what actions the forklift has to perform during the task.

[0036] Step C. The forklift path is planned by using the data from step A from the current forklift pose, which includes the forklift's orientation and the position on the roadmap, i.e., starting node, to the goal node defined in step B. The calculated path is the one that satisfies imposed conditions for each NCC, which are defined in step A. The algorithm used for path planning can be any algorithm based on a minimum cost function or a similar heuristic algorithm, which is suitable for the use case.

[0037] Step D. Depending on the task type defined in step B, the vehicle executes different actions along the path calculated in step C.

[0038] Step E. All actions that require following the path defined in step C use an appropriate control method. Such control method can be selected from Model Predictive Control, Linear quadratic control, Pure pursuit control, or Gain scheduling control, but it is not limited to them. The selected method is implemented for autonomous forklift driving, utilizing localization on the roadmap by the implemented positioning system, for driving between the nodes of interest while following the node connector curves. Optionally, it is possible to use the program to avoid the obstacles. The person skilled in the art will understand that any suitable method can be used as the control method instead of those mentioned above. Similarly, for the obstacle avoidance process, any suitable method in the art can be implemented.

[0039] Step F. If the action in step E requires pickup of the pallet, the forklift follows the path to the pre-pallet node of the path. Then, the method performs safety checks for pallet pickup and possible corrections, the forklift enters the pallet node of the calculated path to pick up the pallet and finally exit back to the pre-pallet node.

[0040] Step G. Finally, the said method is restarted from step B.

[0041] The said method has the following sub-steps within step F above, which refines the procedure once the forklift approaches the specified pallet for pick-up and transfer, at the pre-pallet node. The method performs sub-steps i)-vii): i) runs the camera calibration procedure to calculate the coordinate transformation T FC from the forklift frame F to the camera frame C and the corresponding inverse coordinate transformation T CF , ii) lifts forks to pallet height, iii) estimates the pallet pose using the RGB-D camera, where the taken RGB image undergoes a semantic segmentation, and where the segmented image and the corresponding depth image are used to calculate the pallet pose in the camera frame, iv) calculates the pallet pose in the world frame, using the known forklift pose in the world frame as a reference, with the transformations T FC and T CF from step i) and pose from step iii) in the camera frame, v) if the pallet is misaligned over the predetermined threshold when comparing the expected pallet pose in the roadmap with the estimated pallet pose from step iv), the forklift exits the current pre-pallet node to a previously passed node, a new pre-pallet node is calculated based on pallet pose in step iv) and a new path is planned from the current forklift position to the new pre-pallet node, the roadmap is temporarily updated for a new path and new pre-pallet node, which the forklift approaches via the said newly calculated path, and vi) the steps iii) - v) are repeated until the pallet is not detected as misaligned in step v), at which point the pallet is picked up by the forklift, and the instructions of step F are completed.

[0042] The above method is described via main steps A-G, and sub-steps i)-vi) of step F. The important and non-trivial of this method is situated in the sub-step i). The camera calibration method in step i) is performed without any external markers, and based on a few assumptions.

[0043] The first assumption is that the camera yaw is set initially to 0 degrees by mechanical means. This can be done by using a simple level and a few fastening screws for fastening the camera (100) to the frame (40) in a way that the camera top is horizontal to the ground, by which the rotation over Z-axes in the camera frames C and C' is blocked. For frames, please check Figures 3 and 4.

[0044] The second assumption is that the camera pitch and roll are calculable from the camera's image (101), Figure 5, which shows parallel, symmetric forks whose longest outer edges intersect at the vanishing point, VP, which differs from the camera's image centre, IC. So, using other pairs of mutually parallel and opposite planes one facing the other, and forks' symmetry, together with the ground plane normal vector, allows the calculation of coordinate transformation T FC and the inverse coordinate transformation T CF .Camera calibration procedure

[0045] It is well-known in the art that T FC and T CF transformations are defined via rotational and translation matrices R ij , t ij respectively, where i,j relates to the selected frames F,C and auxiliary frame C' applied on a position vector x = [x y z] T< to read: x F = T FC x C = R FC x C + t FC

[0046] Vector x C = [x y z] T< contains 3-D coordinates in the original coordinate camera frame C, and vector x F = [x' y' z'] T< contains 3-D coordinates in the forklift frame F. The T FC transformation can be written as a series of transformations among the frames: C → C' → F, or in the present notation: T FC = T FC ′ ∗ T C ′ C

[0047] The auxiliary nominal camera frame C' is defined via transformation: T FC ′ x = R FC ′ x + t FC ′ where R FC ′ = Z π 2 Y 0 X − π 2 and T C ′ C x = R C ′ C x + t C ′ C

[0048] Matrix R C'C describes the rotation around the camera's nominal axis defining the ideal camera position, Figures 3 and 4, as: R C ′ C = X ψ Y θ Z ϕ

[0049] Matrices X ψ , Y θ , Z ϕ denote elementary rotation operators around X, Y, and Z axes fixed to the nominal camera frame by angles ψ, θ and ϕ respectively and with the translation vector set to null vector: t C ′ C = 0 0 0 T

[0050] It is worth looking at Figure 3 which shows the relation among the most general camera frame C and forklift frame F, where O C and O F are origins of the said frames. The purpose of a newly introduced auxiliary or ideal O C , frame is evident from Figure 4, where the relation among these two frames, expressed as rotations ( ψ = − π 2 , θ = 0, ϕ = π 2 ) is evident, while separated by the translation vector t FC' .

[0051] The following steps S1-S4 are dedicated to the calculation of the forklift frame's origin O F , expressed as (x F ,y F ,z F ) in the camera frame C. Furthermore, the camera's yaw, roll, and pitch (ϕ,ψ,θ) calculations are disclosed below as well.

[0052] S1: The camera yaw setting is defined by the angle ϕ. It is set to 0, which is physically achieved by mechanical means as explained before, by affixing the camera to a horizontal position via vehicle structure.

[0053] S2: For camera roll calculation, defined with the angle ψ, the following procedure is provided. The mounted camera (100) sees the forks and the ground below the said forks. The camera roll is calculated by calculating the angle between the ground plane, Gp , and the camera's x-z plane which is the angle between the ground plane's normal vector n Gp and the camera negative y-axis vector y C = [0 -1 0] T< where: ψ = − arccos n Gp ⋅ y C n Gp ⋅ y C

[0054] The said ground plane normal vector n GP , see Figure 5, is calculated by the Random Sample Consensus, RANSAC, algorithm, which is a common algorithm in image processing. The RANSAC algorithm is taken over the camera point cloud, which represents the drivable terrain. The drivable terrain is detected by semantic segmentation of the RGB image. The output of the RANSAC algorithm is the normal of the plane with the most inliers.

[0055] S3: Now it is possible to perform the camera pitch calculation, defined with the angle θ. The procedure uses VP and IC points, from the taken image (101), as visible in Figure 5. The following equation is used: θ = arctan VP x − IC x f x

[0056] Index x refers to the x-coordinate measured in camera pixels, see Figure 5, for the VP and IC points, and focal length f expressed in pixels. Having in mind that the pixels are not necessarily rectangular, the f x value specifies the focal length expressed in pixels.

[0057] After obtaining camera yaw, roll, and pitch (ϕ,ψ,θ) values, the translation vector t FC , must be calculated. This is performed in step S4 described below.

[0058] S4: Calculation of the translation vector t C'F among the frames F, C' must be performed, by calculating x F , y F and z F coordinate of the forklift frame origin expressed in O C' . The translation vector t C'F is: t C ′ F = x F y F z F T

[0059] For the x F coordinate calculation of the forklift frame F origin O F , the normal vectors n P2 and n P3 of the planes P 2 and P 3 are used. P 2 and P 3 planes, see Figure 5, approximate the right side of the left fork and the left side of the right fork. The RANSAC algorithm is used again, and it returns the plane coefficients for P 2 and P 3 planes and the corresponding inliers. Looking at Figures 4 and 5, it is easy to establish: x F = P 2 P 3 2 − O C ′ P 3 where P 2 P 3 = O C ′ P 2 + O C ′ P 3

[0060] Value |P 2 P 3 | represents the distance between the said planes and |O C' P 2 | and |O C' P 3 | are distances of the said planes from the camera origin O C' = [0 0 0] T< in C' frame. Therefore, x F measures the deviation of the camera with respect to the said forks' planes.

[0061] Coordinate y F is obtained by calculating the distance of C' origin O C' from the ground plane Gp using step S2 data for Gp plane. This calculation is performed via a point-to-plane distance formula, knowing Gp plane data, so we have: y F = O C ′ Gp

[0062] In addition, z F coordinate of the forklift frame origin is obtained via the following steps: n P 5 = n Gp × n P 2

[0063] Vector n P5 is the normal vector of the plane P 5 containing the fork tip oriented towards the pallet, see Figure 5. In addition, this plane has the maximum value of the Z-coordinate in the point cloud, which represents forks points, obtained using semantic segmentation. The data obtained in steps S2 and S3 contain n Gp and n P2 values. Value z F is, therefore: z F = O C ′ P 5 − OFFS z where OFFS z is the offset between F frame origin to the end of the forks, which position z F among the forks (20, 30).

[0064] The translation vector is finally calculated via the expression: t FC ′ = − R C ′ F T t C ′ F by which all transformations among F,C and auxiliary frame C' are uniquely defined.Practical use of the method

[0065] The above-cited method can be carried out with the RGB-D camera positioned above or below the said forks. However, practical use gives some advantages to the setup where the said camera is positioned above the plane where forks lie, measured from the ground. In addition, the experimental data and simulations suggest that the camera should be mounted on the fork frame so that at least 30 cm of the forks are visible from the camera image, for good performance.

[0066] Considering the main method part, especially method step C, the method's node connectors' curves are preferably smooth continuous curves, more preferably, a Non-uniform rational B-spline, NURBS, curves that produce optimum AVG performance in driving. Similarly, in step E, the obstacle avoidance program, if engaged, calculates the obstacle go-around path with at least two new intersections and one node connector added to the initially calculated path in step C, again applying the NURBS curves for go-around paths.

[0067] At the present state of the art in the field of indoor and outdoor positioning, 2D or 3D lidar has an unprecedented characteristic that cannot be simply substituted with another positioning system. An example of such a system is the Decawave DW1000 chip functioning in Ultra-Wide-Band. Namely, this technique has a significant position error of approximately +10 cm and problematic spreading among the metal framed shelfs due to the multiple reflections.

[0068] Finally, the person skilled in the art will, without making specific assumptions, use an adequate automated forklift, and the RGB-D camera to perform the method, or, the RGB camera and appropriate lidar, to perform the method described herewith.Industrial Applicability

[0069] The industrial applicability of the said disclosure is obvious. A method for automated forklift pallet transfer is disclosed, wherein camera calibration, essential for accurate pallet pose estimation, is performed without external markers.

[0070] The disclosed calibration method assumes that the camera yaw is initially set to 0 by mechanical means, while the camera pitch and roll are calculated from the camera's image. Specifically, each captured image shows parallel forks whose longest outer edges converge at a vanishing point, VP, distinct from the image center IC. Using other pairs of mutually parallel and opposite planes one facing the other, and forks' symmetry, together with the ground plane normal vector, enables the calculation of coordinate transformation T FC and the inverse coordinate transformation T CF , where C and F represent the camera and forklift coordinate systems, respectively. This method simplifies camera calibration and facilitates accurate pallet picking.Reference numbers

[0071] 1Ground plane 2Walls 3Horizon line 10Forklift 20Left Fork 30Right Fork 40Movable frame 90Pallete 91Load 92Pallete pocket 93Pallete pocket 100Camera 101Image

Examples

Embodiment Construction

[0027]In this section, the method is discussed up to the details sufficient for repeating the invention by the person skilled in the art. In addition, some technical setups, that are needed to perform the invention, are briefly addressed.

Forklift in general and other hardware parts

[0028]A forklift (10), with the up-down movable frame (40) to which is attached the left (20) and right (30) fork is as schematically depicted in Figures 1 and 2. Figures show the forklift (10) which is driving over the ground plane (1), surrounded by the walls (2) that intersects at the warehouse's horizon line (3). Forklift (10) is in task to pick-up the pallet (90), with or without load (91), as depicted in Figure 5.

[0029]Regarding the term "forklift", in this disclosure this term has a broader meaning and includes any pallet transportation means where the present camera calibration method can be applied. Having in mind that, for simplicity, the forks (20, 30) are defined as essential for carrying out t...

Claims

1. A method for automated forklift pallet transfer within a warehouse, wherein the forklift comprises: - means for receiving, storing, and processing digital information, where the information is either pre-stored or loaded from external sources, and acquired from sensors including at least one indoor or outdoor positioning system, and a depth sensor and image sensor, such as RGB-D camera, attached to the forks' frame below or above the plane where forks are positioned - means for autonomous driving, equipped with safety mechanisms for recognizing obstacles, where the method is a task list that is executed as a computer program stored in the forklift's processing unit, and the method comprises the following steps: A. loading a warehouse roadmap in the world frame, where the roadmap consists of interconnected nodes, with each node representing points of interest in a warehouse, including intersections, forklift charging positions, pre-pallet nodes, pallet nodes, and node connector curves, NCC, together with the conditions for following the NCCs, B. loading the next task in the task list that the forklift must execute, wherein each task specifies the goal node, task type, and associated task parameters which define what actions the forklift has to perform, C. path planning using the data from step A from the current forklift pose to the goal node defined in step B, where the calculated path is the one that satisfies imposed conditions for each NCC, defined in step A, D. depending on the task type defined in step B, the vehicle executes different actions along the path calculated in step C, E. all actions that require following the path defined in step C use a control method selected from Model Predictive Control, Linear quadratic control, Pure pursuit control, or Gain scheduling control, implemented for autonomous driving of the forklift, utilizing localization on the roadmap by the implemented positioning system, for driving between the nodes of interest while following the node connector curves, and optionally using the program to avoid the obstacles, and F. if the action in step E requires pickup of the pallet, the forklift follows the path to the pre-pallet node of the path, the method performs safety checks for pallet pickup and possible corrections, the forklift enters the pallet node of the path to pick up the pallet and finally exit back to the pre-pallet node, and G. the said method is restarted from step B; where the said method has the following sub-steps within step F, once the forklift approaches the specified pallet for pick-up and transfer at the pre-pallet node, where the method: i) runs the camera calibration procedure to calculate the coordinate transformation TFC from the forklift frame F to the camera frame C and the corresponding inverse coordinate transformation TCF, ii) lifts forks to pallet height, iii) estimates the pallet pose using the RGB-D camera, where the taken RGB image undergoes a semantic segmentation, and where the segmented image and the corresponding depth image are used to calculate the pallet pose in the camera frame, iv) calculates the pallet pose in the world frame, using the known forklift pose in the world frame as a reference, with the transformations TFC and TCF, from step i) and pose from step iii) in the camera frame, and v) if the pallet is misaligned over the predetermined threshold when comparing the expected pallet pose in the roadmap with the estimated pallet pose from step iv), the forklift exits the current pre-pallet node to a previously passed node, a new pre-pallet node is calculated based on pallet pose in step iv) and a new path is planned from the current forklift position to the new pre-pallet node, the roadmap is temporarily updated for a new path and new pre-pallet node, which the forklift approaches via the said newly calculated path, vi) the steps iii) - v) are repeated until the pallet is not detected as misaligned in step v), at which point the pallet is picked up by the forklift, and the instructions of step F are finalized; characterized in that camera calibration in step i) is performed without any external markers, based on the assumption that the camera yaw is set initially to 0 degrees by mechanical means, while the camera pitch and camera roll are calculated from the camera's image which shows parallel, symmetric forks whose longest outer edges intersect at the vanishing point, VP, which differs from the camera's image center, IC, and using other pairs of mutually parallel and opposite planes one facing the other, and forks' symmetry, together with the ground plane normal vector, allows the calculation of coordinate transformation TFC and the inverse coordinate transformation TCF.

2. The method according to claim 1, where TFC and TCF transformations are defined via rotational and translation matrices Rij, tij respectively, where i,j relates to the selected frames F,C and auxiliary frame C' applied on a position vector x = [x y z]T to read: x F = T FC x C = R FC x C + t FC where vector xC= [x y z]T contains 3-D coordinates in the original camera coordinate frame C, and vector xF = [x' y' z']T contains 3-D coordinates in the forklift frame F, and where TFC transformation is written: T FC = T FC ′ ∗ T C ′ C where the auxiliary nominal camera frame C' is defined via transformation: T FC ′ x = R FC ′ x + t FC ′ where R FC ′ = Z π 2 Y 0 X − π 2 and T C ′ C x = R C ′ C x + t C ′ C where RC'C describes the rotation around the camera's nominal axis defining the ideal camera position as: R C ′ C = X ψ Y θ Z ϕ with Xψ, Yθ, Zϕ denoting elementary rotation operators around X, Y, and Z axes fixed to the nominal camera frame by angles ψ, θ and ϕ respectively and with the translation vector set to null vector: t C ′ C = 0 0 0 T characterized by the following calculation steps S1-S4 for the calculation of the forklift frame F origin (xF,yF,zF) and the camera yaw, roll, and pitch (ϕ,ψ,θ) values, S1: the camera yaw, defined by the angle ϕ, is set to 0, which is achieved by mechanical means, affixing the camera to a vehicle structure that holds the camera horizontally, S2: for camera roll calculation, defined with the angle ψ, the mounted camera sees the forks and the ground below the said forks, and the camera roll is calculated by calculating the angle between the ground plane, Gp, and the camera's x-z plane which is the angle between the ground plane's normal vector nGp and the camera negative y-axis vector yC = [0 -1 0]T where: ψ = − arccos n Gp ⋅ y C n Gp ⋅ y C and the said ground plane nGP is calculated by the Random Sample Consensus, RANSAC, an algorithm using points from the camera-taken point cloud which represents the drivable terrain; where the drivable terrain is detected by semantic segmentation of the RGB image, and where the output of the RANSAC algorithm is the normal of the plane which has the most inliers, S3: for camera pitch calculation, defined with the angle θ, the procedure uses VP and IC points from the taken image, where: θ = arctan VP x − IC x f x S4: calculation of the translation vector tC'F among the frames F, C' by calculating xF, yF and zF coordinate of the forklift frame origin: t C ′ F = x F y F z F T where for the xF coordinate calculation of the forklift frame F origin, the normal vectors nP2 and nP3 of the planes P2 and P3 are used, where P2 and P3 planes approximate the right side of the left fork and the left side of the right fork which are faced one to another, and where the RANSAC algorithm returns the plane coefficients for P2 and P3 planes and the corresponding inliers, where: x F = P 2 P 3 2 − O C P 3 and where: P 2 P 3 = O C P 2 + O C P 3 while |P2P3| represents the distance between the said planes, while |OC'P2| and |OC'P2| represents the distance of the said planes P2, P3 from OC' = [0 0 0]T, where yF is obtained by calculating the distance of C' origin OC, from the ground plane Gp using step S2 data for Gp plane and formula for point-to-plane distance: y F = O C ′ Gp where zF coordinate of the forklift frame origin is obtained via the following steps: n P 5 = n Gp × n P 2 where nP5 is the normal vector of the plane P5 containing the fork tip oriented towards the pallet with the maximum value of the Z-coordinate in the point cloud, which represents forks points, obtained using semantic segmentation, while data obtained in steps S2 and S3 contain nGp and nP2 values, where z F = O C ′ P 5 − OFFS z and OFFSz is the distance between F frame origin to the end of the forks, and the translation vector: t FC ′ = − R C ′ F T t C ′ F by which all transformations among F,C and auxiliary frame C' are uniquely defined.

3. The method according to claim 1 or 2, wherein the RGB-D camera is positioned above the plane where forks are positioned, measured from the ground.

4. The method according to claim 3, wherein the camera is positioned on the fork frame so that at least 30 cm of the forks are visible from the camera image.

5. The method according to claim 1, where node connectors curves are smooth continuous curves, preferably, Non-uniform rational B-spline, NURBS, curves.

6. The method according to claim 1, where the obstacle avoidance program calculates the obstacle go-around path with at least two new intersections and one node connector added to the initially calculated path in step C.

7. The method according to any of the preceding claims, where the indoor positioning system is preferably a 2D or 3D lidar.

8. A forklift comprising means for carrying out the method of claims 1-7.