Object pose determination method and system, device, medium, and program product
By obtaining the calibration pose and current pose information under the camera's field of view, fitting the target correction model, and correcting the camera accuracy error in real time, the instability of the visual system caused by the deterioration of camera accuracy is solved, and efficient visual system operation is achieved.
Patent Information
- Application Number
- PCT/CN2024/124210
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-20
- Filing Date
- 2024-10-11
- Publication Date
- 2025-09-25
AI Technical Summary
In the existing technology, when the camera accuracy deteriorates, the recalibration process is time-consuming and difficult to detect, affecting the operational stability and efficiency of the vision system.
By obtaining the calibration pose and current pose information under the camera's field of view, fitting with the target correction model, determining the target pose information, correcting the camera accuracy error in real time, and giving a prompt when the drift exceeds the limit, supervision of the operation site is achieved.
It improves the accuracy of camera vision, avoids measurement errors, ensures the long-term operation accuracy and stability of the vision system, and reduces maintenance time and costs.
Smart Images

Figure CN2024124210_25092025_PF_FP_ABST
Abstract
Description
Method, system, device, medium and program product for determining object posture
[0001] This disclosure claims priority to a Chinese patent disclosure filed with the Patent Office of China on March 20, 2024, with application number 202410324138.0 and titled “Method, system, device and storage medium for determining object posture,” the entire contents of which are incorporated herein by reference. Technical Field
[0002] The present disclosure relates to the field of machine vision technology, and in particular to a method, system, device, medium, and program product for determining an object's posture. Background Art
[0003] In recent years, the application of machine vision technology has become increasingly widespread. For example, it can be used to identify objects to be grasped. Most visual scenarios rely on cameras for processing, placing high demands on camera accuracy. However, camera accuracy can deteriorate over time or if the camera is impacted, necessitating camera recalibration.
[0004] Currently, recalibrating cameras requires technicians to follow a set of instructional templates, which is time-consuming and difficult to detect when camera accuracy deteriorates. Therefore, ensuring camera vision accuracy during object grasping has become a pressing technical challenge. Technical Solutions
[0005] The present disclosure provides a method, system, device, medium and program product for determining the posture of an object to solve the problem of how to ensure the accuracy of camera vision when grasping an object.
[0006] In a first aspect, the present disclosure provides a method for determining an object's posture, comprising:
[0007] Get the current pose information of the object to be identified in the camera's field of view;
[0008] The current pose information of the object is input into the target correction model for correction processing to obtain the target pose information of the object to be identified. The target correction model is obtained by fitting the reference pose information of the target point array in the target plane under the camera's field of view and the current pose information of the point array. The target point array is the position point obtained by shooting at least once when at least one marker is in different spatial positions. The reference pose information is the calibration pose information of the target point array under the camera's field of view.
[0009] Optionally, the target dot matrix includes at least nine position points, and the at least nine position points are obtained by photographing at least one marker on the robotic arm when the marker moves to different spatial positions under the camera field of view, thereby obtaining markers at at least nine spatial positions.
[0010] Optionally, the number of correction models includes at least one, each correction model corresponds to a dot matrix in the same plane perpendicular to the camera field of view, and the target correction model is determined in the following manner: obtaining a first height of the object to be identified recognized by the camera and at least one second height of the dot matrix in a different plane recognized by the camera; determining the target height as the second height with the smallest difference from the first height; and determining the target correction model as the correction model corresponding to the target height.
[0011] Optionally, the objects to be identified are distributed in multiple layers, each layer contains at least one object to be identified, and the dot matrix is set according to the distance between two adjacent layers and / or the distance between the two most distant layers.
[0012] Optionally, if the distance between two adjacent layers is greater than a distance threshold, a corresponding dot matrix is set for each layer; if the distance between two adjacent layers is less than or equal to the distance threshold, a dot matrix is set at the middle position of the two adjacent layers; and / or, the distance between the two farthest layers is evenly divided according to a preset height difference to obtain the divided target position between the two farthest layers, and a dot matrix is set at the target position.
[0013] Optionally, the marker is a calibration sphere, and the reference pose information is obtained in the following manner: acquiring point cloud information of each calibration sphere through a camera; determining the spherical crown point cloud of each calibration sphere based on the point cloud information; and for each calibration sphere, determining the reference pose information of the calibration sphere as the spherical center pose information of the calibration sphere obtained by fitting the spherical crown point cloud of the calibration sphere.
[0014] Optionally, the method for determining the object posture also includes: determining the target drift amount corresponding to the target dot matrix based on the reference posture information of the target dot matrix and the current posture information of the dot matrix; if the target drift amount is greater than or equal to the first threshold, outputting a prompt message, and the prompt message is used to prompt that the target dot matrix drift is too high.
[0015] Optionally, the target drift includes a horizontal axis drift, a vertical axis offset, and a vertical axis drift. The target drift corresponding to the target dot matrix is determined based on the reference posture information of the target dot matrix and the current posture information of the dot matrix, including: determining the first drift on the horizontal axis, the second drift on the vertical axis, and the third drift on the vertical axis of each point in the target dot matrix based on the reference posture information and the current posture information of the dot matrix; determining that the horizontal axis drift corresponding to the target dot matrix is the maximum value among multiple first drifts, the vertical axis offset is the maximum value among multiple second drifts, and the vertical axis drift is the maximum value among multiple third drifts; if the target drift is greater than or equal to a first threshold, outputting a prompt message, including: if the horizontal axis drift, the vertical axis offset, and the vertical axis drift are all greater than or equal to the first threshold, outputting a prompt message.
[0016] Optionally, the method for determining the object posture also includes: updating the reference posture information if a preset condition is met; wherein the preset condition includes responding to a user's operation instruction to update the reference posture information and / or detecting that the target drift amount is greater than or equal to a second threshold, and the second threshold is less than the first threshold.
[0017] Optionally, the current pose information of the dot matrix is obtained by: periodically acquiring the current pose information of the dot matrix based on a camera; or, in response to a user's instruction to acquire the current pose information of the target dot matrix, acquiring the current pose information of the dot matrix based on a camera.
[0018] In a second aspect, the present disclosure provides a device for determining an object's posture, comprising:
[0019] An acquisition module is used to obtain the current pose information of the object to be identified in the camera field of view;
[0020] A processing module is used to input the current posture information of the object into the target correction model for correction processing to obtain the target posture information of the object to be identified. The target correction model is obtained by fitting the reference posture information of the target point array in the target plane under the camera's field of view and the current posture information of the point array. The target point array is the position points obtained by shooting at least once when at least one marker is in different spatial positions. The reference posture information is the calibration posture information of the target point array under the camera's field of view.
[0021] Optionally, the target dot matrix includes at least nine position points, and the at least nine position points are obtained by photographing at least one marker on the robotic arm when the marker moves to different spatial positions under the camera field of view, thereby obtaining markers at at least nine spatial positions.
[0022] Optionally, the number of correction models includes at least one, each correction model corresponds to a point matrix in the same plane perpendicular to the camera field of view, and the object posture determination device also includes a determination module for determining the target correction model in the following manner: obtaining a first height of the object to be identified recognized by the camera and at least one second height of the point matrix in a different plane recognized by the camera; determining the target height as the second height with the smallest difference from the first height; and determining the target correction model as the correction model corresponding to the target height.
[0023] Optionally, the objects to be identified are distributed in multiple layers, each layer contains at least one object to be identified, and the dot matrix is set according to the distance between two adjacent layers and / or the distance between the two most distant layers.
[0024] Optionally, if the distance between two adjacent layers is greater than a distance threshold, a corresponding dot matrix is set for each layer; if the distance between two adjacent layers is less than or equal to the distance threshold, a dot matrix is set at the middle position of the two adjacent layers; and / or, the distance between the two farthest layers is evenly divided according to a preset height difference to obtain the divided target position between the two farthest layers, and a dot matrix is set at the target position.
[0025] Optionally, the marker is a calibration sphere, and the acquisition module is also used to obtain reference pose information in the following manner: obtaining point cloud information of each calibration sphere through a camera; determining the spherical crown point cloud of each calibration sphere based on the point cloud information; and for each calibration sphere, determining that the reference pose information of the calibration sphere is the spherical center pose information of the calibration sphere obtained by fitting the spherical crown point cloud of the calibration sphere.
[0026] Optionally, the processing module is also used to: determine the target drift amount corresponding to the target dot matrix based on the reference posture information of the target dot matrix and the current posture information of the dot matrix; if the target drift amount is greater than or equal to the first threshold, output a prompt message, and the prompt message is used to prompt that the target dot matrix drift is too high.
[0027] Optionally, the target drift includes a horizontal axis drift, a vertical axis offset and a vertical axis drift. When the processing module is used to determine the target drift corresponding to the target dot matrix based on the reference posture information of the target dot matrix and the current posture information of the dot matrix, it is specifically used to: determine the first drift on the horizontal axis, the second drift on the vertical axis and the third drift on the vertical axis of each point in the target dot matrix based on the reference posture information and the current posture information of the dot matrix; determine that the horizontal axis drift corresponding to the target dot matrix is the maximum value among multiple first drifts, the vertical axis offset is the maximum value among multiple second drifts and the vertical axis drift is the maximum value among multiple third drifts; when the processing module is used to output a prompt message if the target drift is greater than or equal to a first threshold, it is specifically used to: output a prompt message if the horizontal axis drift, the vertical axis offset and the vertical axis drift are all greater than or equal to the first threshold.
[0028] Optionally, the acquisition module is also used to: update the reference posture information if a preset condition is met; wherein the preset condition includes responding to a user's operation instruction to update the reference posture information and / or detecting that the target drift amount is greater than or equal to a second threshold, and the second threshold is less than the first threshold.
[0029] Optionally, the acquisition module is further used to obtain the current pose information of the dot matrix in the following manner: periodically obtaining the current pose information of the dot matrix based on the camera; or, in response to a user's instruction to obtain the current pose information of the target dot matrix, obtaining the current pose information of the dot matrix based on the camera.
[0030] In a third aspect, the present disclosure provides a system for determining an object's posture, comprising: a robotic arm, a camera, and an electronic device;
[0031] a robotic arm, configured to, in response to receiving a movement instruction, drive at least one marker on the robotic arm to move to different spatial positions within the field of view of the camera to obtain a target dot array;
[0032] A camera is used to obtain the current pose information of the object to be identified within the camera's field of view;
[0033] An electronic device is used to receive the current posture information of an object and input the current posture information of the object into a target correction model for correction processing to obtain the target posture information of the object to be identified. The target correction model is obtained by fitting the reference posture information of the target dot matrix in the target plane under the camera's field of view and the current posture information of the dot matrix. The target dot matrix is the position points obtained by shooting at least once when at least one marker is in different spatial positions. The reference posture information is the calibration posture information of the target dot matrix under the camera's field of view.
[0034] In a fourth aspect, the present disclosure provides a robotic arm, the robotic arm carrying at least one marker, the robotic arm comprising:
[0035] The control unit is used to control the robotic arm to move the marker to different spatial positions within the camera field of view in response to receiving a movement instruction to obtain a target dot matrix.
[0036] In a fifth aspect, the present disclosure provides an electronic device, comprising: a processor, and a memory communicatively connected to the processor;
[0037] Memory stores computer-executable instructions;
[0038] The processor executes the computer-executable instructions stored in the memory to implement the method for determining the object posture as described in the first aspect of the present disclosure.
[0039] In a sixth aspect, the present disclosure provides a computer-readable storage medium, in which computer program instructions are stored. When the computer program instructions are executed, the method for determining the object posture as described in the first aspect of the present disclosure is implemented.
[0040] In a seventh aspect, the present disclosure provides a computer program product, including a computer program, which, when executed, implements the method for determining the object posture as described in the first aspect of the present disclosure.
[0041] The object posture determination method, system, device, medium and program product provided by the present disclosure obtain the current posture information of the object to be identified under the camera field of view; input the current posture information of the object into the target correction model for correction processing to obtain the target posture information of the object to be identified, the target correction model is obtained by fitting the reference posture information of the target dot matrix in the target plane under the camera field of view and the current posture information of the dot matrix, the target dot matrix is the position point obtained by shooting at least once when at least one marker is in different spatial positions, and the reference posture information is the calibration posture information of the target dot matrix under the camera field of view. In the present disclosure, the target correction model is obtained by fitting the reference posture of the target dot matrix in the target plane under the camera field of view and the change in the current posture of the dot matrix, so that the posture of the object to be identified is corrected by the target correction model, which can more accurately realize the determination of the posture of the object to be identified, avoid measurement errors caused by camera accuracy problems, and ensure the accuracy and stability of the visual system during long-term operation. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] In order to more clearly illustrate the embodiments of the present disclosure or the technical solutions in the prior art, a brief introduction will be given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0043] FIG1 is a schematic diagram of a drift self-correction principle provided by an embodiment of the present disclosure;
[0044] FIG2 is a schematic diagram of an application scenario provided by an embodiment of the present disclosure;
[0045] FIG3 is a flow chart of a method for determining an object posture according to an embodiment of the present disclosure;
[0046] FIG4 is a schematic diagram of a dot matrix setting method provided in an embodiment of the present disclosure;
[0047] FIG5 is a schematic diagram of a dot matrix setting method provided by another embodiment of the present disclosure;
[0048] FIG6 is a schematic diagram of a dot matrix arrangement method provided by another embodiment of the present disclosure;
[0049] FIG7 is a schematic diagram of collecting points on a calibration ball according to an embodiment of the present disclosure;
[0050] FIG8 is a schematic diagram of a hemispherical surface point cloud provided by an embodiment of the present disclosure;
[0051] FIG9 is a schematic structural diagram of an apparatus for determining an object posture according to an embodiment of the present disclosure;
[0052] FIG10 is a schematic diagram of the structure of a system for determining an object posture according to an embodiment of the present disclosure;
[0053] FIG11 is a schematic structural diagram of an electronic device provided in an embodiment of the present disclosure. Modes for Carrying Out the Invention
[0054] To make the objectives, technical solutions, and advantages of the embodiments of the present disclosure more clear, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present disclosure, not all of the embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present disclosure without making any creative efforts shall fall within the scope of protection of the present disclosure.
[0055] The stability and subsequent maintenance costs of visual systems that use machine vision technology are mainly affected by the following issues: large temperature differences between day and night at the operating site may cause fluctuations in grasping accuracy; after long-term operation, the accuracy of the camera will deteriorate due to time-varying phenomena such as temperature drift or the need to replace the camera due to collisions. At this time, the camera parameters need to be recalibrated to improve the camera's accuracy.
[0056] Currently, recalibrating cameras requires technicians to follow a set of instructional templates, which is labor-intensive and time-consuming. Furthermore, camera accuracy degradation is often difficult to detect, and the lack of error monitoring mechanisms at the operational site means that significant issues may only be discovered when they occur, impacting the stability and efficiency of the corresponding vision system. Therefore, ensuring camera vision accuracy during object grasping has become a pressing technical challenge.
[0057] Based on the above problems, the present disclosure provides a method, system, device, medium and program product for determining the posture of an object. The main inventive ideas are as follows: by obtaining the calibration posture (i.e., standard posture) of the camera to the dot matrix when there is no accuracy problem with the camera at the initial stage, the dot matrix is the position points obtained by shooting at least one marker at different spatial positions at least once; in subsequent measurements, the calibration posture and the current posture of the dot matrix can be used at any time to determine the possible accuracy error of the camera to realize the correction of the real-time object to be identified; and in the scenario where the camera is replaced, the calibration posture and the real-time posture of the replaced camera can also be used to determine the accuracy error to correct the object to be identified; in addition, according to the changes between the current posture of the dot matrix and the calibration posture, timely alarm can be issued when the drift amount exceeds the limit, thereby realizing a supervision mechanism for the operation site.
[0058] For example, Figure 1 is a schematic diagram of the drift self-correction principle provided by an embodiment of the present disclosure. As shown in Figure 1, taking the example of a calibration sphere as the marker and a workpiece as the object to be identified, the drift self-correction principle underlying the above-mentioned inventive concept is illustrated. Specifically, initially, when the camera has no accuracy issues, the camera acquires the calibration pose of the calibration sphere before drift. As the camera is used, during subsequent measurements, the camera acquires the pose of the calibration sphere after drift. Based on the calibration pose of the calibration sphere before drift and the pose after drift, the camera can determine the possible accuracy error of the camera, thereby correcting the pose of the workpiece after drift and obtaining the corrected pose.
[0059] It should be understood that the method disclosed herein can be applied to high-precision three-dimensional visual scenes with the hand outside the eye (EyeToHand, ETH).
[0060] Hereinafter, the application scenarios of the solutions provided by the present disclosure are first described with examples.
[0061] FIG2 is a schematic diagram of an application scenario provided by an embodiment of the present disclosure. As shown in FIG2 , the application scenario may include: a camera 201, an electronic device 202, objects to be identified 203 (Six objects to be identified in the same plane are shown as an example in FIG2 ), and a robotic arm 204. The camera 201 photographs the objects to be identified 203 to obtain current pose information of the objects to be identified 203. The electronic device 202 obtains the current pose information of the objects to be identified 203 from the camera 201 and, based on the current pose information of the objects to be identified 203 and a pre-determined target correction model, corrects the current pose information of the objects to be identified 203 to obtain target pose information of the objects to be identified 203. This allows the robotic arm 204 to grasp the objects to be identified 203 based on the target pose information of the objects to be identified 203. The specific implementation process of the electronic device correcting the current pose information of the objects to be identified can be found in the solutions of the following embodiments.
[0062] It should be noted that FIG2 is merely a schematic diagram of an application scenario provided by an embodiment of the present disclosure. The embodiment of the present disclosure does not limit the devices included in FIG2 , nor does it limit the positional relationship between the devices in FIG2 .
[0063] Next, a method for determining the position and posture of an object is introduced through a specific embodiment.
[0064] FIG3 is a flow chart of a method for determining an object's posture according to an embodiment of the present disclosure. The method for determining an object's posture can be performed by software and / or hardware. For example, the hardware device can be a device for determining an object's posture, and the device for determining an object's posture can be an electronic device or a processing chip in the electronic device. As shown in FIG3 , the method according to an embodiment of the present disclosure includes:
[0065] S301: Obtain current pose information of an object to be identified in the camera field of view.
[0066] In this step, for example, a camera is used to photograph the object to be identified, thereby obtaining the current pose information of the object within the camera's field of view. Optionally, the pose information can be used to represent the coordinate position of the corresponding object within the camera's field of view. It is understood that the camera may have accuracy errors due to long-term operation, or the camera may be a new camera, in which case it is necessary to use the camera to measure the actual pose information of the object to be identified.
[0067] S302. Input the current posture information of the object into the target correction model for correction processing to obtain the target posture information of the object to be identified. The target correction model is obtained by fitting the reference posture information of the target point matrix in the target plane under the camera's field of view and the current posture information of the point matrix. The target point matrix is the position points obtained by shooting at least once when at least one marker is in different spatial positions. The reference posture information is the calibration posture information of the target point matrix under the camera's field of view.
[0068] It can be understood that the correction model is a model related to the spatial position and can perform nonlinear compensation in a three-dimensional space. In this step, the target correction model is obtained by fitting the reference pose information of the target lattice in the target plane under the camera field of view and the current pose information of the lattice. Among them, the target lattice is the position points obtained by shooting at least once when at least one marker is in different spatial positions. For example, the target lattice includes nine position points, and the nine position points are fixed points. The marker is, for example, a calibration sphere. For how to obtain the target lattice, please refer to the subsequent embodiments and will not be repeated here.
[0069] Optionally, the number of correction models includes at least one, each correction model corresponds to a dot matrix in the same plane perpendicular to the camera field of view, and the target correction model is determined in the following manner: obtaining a first height of the object to be identified recognized by the camera and at least one second height of the dot matrix in a different plane recognized by the camera; determining the target height as the second height with the smallest difference from the first height; and determining the target correction model as the correction model corresponding to the target height.
[0070] Exemplarily, it is assumed that there are three correction models, namely correction model 1, correction model 2 and correction model 3, correction model 1 corresponds to dot matrix 1 in the same plane perpendicular to the camera field of view, correction model 2 corresponds to dot matrix 2 in the same plane perpendicular to the camera field of view, and correction model 3 corresponds to dot matrix 3 in the same plane perpendicular to the camera field of view; the camera can identify the first height of the object to be identified, the second height corresponding to dot matrix 1, the second height corresponding to dot matrix 2 and the second height corresponding to dot matrix 3, and obtain the first difference between the second height corresponding to dot matrix 1 and the first height, the second difference between the second height corresponding to dot matrix 2 and the first height, and the third difference between the second height corresponding to dot matrix 3 and the first height respectively. Assuming that the first difference is the smallest among the three differences, it can be determined that the target height is the second height corresponding to dot matrix 1, and then the target correction model can be determined to be correction model 1.
[0071] In this step, the reference pose information is the calibration pose information of the target dot matrix within the camera's field of view. Specifically, the reference pose information is the standard pose information obtained by photographing the target dot matrix at the initial moment, assuming no camera accuracy issues. Typically, once the reference pose information is determined, it is not modified. However, if pre-defined conditions are met, the reference pose information can be updated. For details, please refer to the subsequent embodiments.
[0072] Optionally, the current pose information of the dot matrix is obtained by: periodically acquiring the current pose information of the dot matrix based on a camera; or, in response to a user's instruction to acquire the current pose information of the target dot matrix, acquiring the current pose information of the dot matrix based on a camera.
[0073] For example, the current position information of the dot matrix is collected once per working cycle, or at least once per day; or the current position information of the dot matrix is collected by manual triggering. Accordingly, the electronic device executing the embodiment of this method responds to the user's instruction to obtain the current position information of the target dot matrix, and obtains the current position information of the dot matrix based on the camera. It can be understood that the current position information of the dot matrix is obtained based on the camera within a preset time period before obtaining the current position information of the object to be identified. New current position information of the dot matrix is generated each time the target dot matrix is photographed, and the previous current position information of the dot matrix is overwritten and updated.
[0074] In this step, after obtaining the current posture information of the object to be identified, the current posture information of the object is input into the target correction model for correction processing to obtain the target posture information of the object to be identified, so that the object to be identified can be accurately grasped according to the target posture information.
[0075] The method for determining the posture of an object provided in the embodiment of the present disclosure obtains the current posture information of the object to be identified under the field of view of the camera; the current posture information of the object is input into the target correction model for correction processing to obtain the target posture information of the object to be identified, and the target correction model is obtained by fitting the reference posture information of the target dot matrix in the target plane under the field of view of the camera and the current posture information of the dot matrix, the target dot matrix is the position point obtained by shooting at least once when at least one marker is in different spatial positions, and the reference posture information is the calibration posture information of the target dot matrix under the field of view of the camera. In the embodiment of the present disclosure, the target correction model is obtained by fitting the reference posture of the target dot matrix in the target plane under the field of view of the camera and the change in the current posture of the dot matrix, so that the posture of the object to be identified is corrected by the target correction model, which can more accurately realize the determination of the posture of the object to be identified, avoid measurement errors caused by camera accuracy problems, and ensure the accuracy and stability of the visual system during long-term operation.
[0076] The following is a detailed description of the method for obtaining the target point array.
[0077] Based on the above embodiments, in a possible implementation, the target dot matrix includes at least nine position points, and the at least nine position points are markers at at least nine spatial positions obtained by photographing at least one marker on the robotic arm when it moves to different spatial positions under the field of view of a camera.
[0078] The embodiment of the present disclosure does not limit the number of markers placed on the robotic arm, and it is sufficient to obtain at least nine position points in the same plane by moving the robotic arm under the field of view of the camera. For example, the marker is a calibration ball, and the calibration ball should be installed as close to the end of the robotic arm as possible so that the robotic arm carrying the calibration ball can reach the same height as the bottom object to be identified (such as a workpiece). In order to avoid external factors affecting the accuracy of the camera, when selecting the calibration ball, you can use a matte iron ball or ceramic ball that is friendly to point cloud acquisition. If the distance from the calibration ball to the camera is greater than 2m, you can choose a calibration ball with a diameter of about 100mm; if the distance from the calibration ball to the camera is less than or equal to 2m, you can choose a calibration ball with a diameter of about 60mm. In this embodiment, when the robotic arm drives the calibration ball to move to different spatial positions, the calibration ball at each spatial position can be photographed by the camera to obtain the calibration ball at the corresponding spatial position (i.e., the calibration ball point position), thereby obtaining the target dot matrix.
[0079] Optionally, the marker is a calibration sphere, and the reference pose information is obtained in the following manner: acquiring point cloud information of each calibration sphere through a camera; determining the spherical crown point cloud of each calibration sphere based on the point cloud information; and for each calibration sphere, determining the reference pose information of the calibration sphere as the spherical center pose information of the calibration sphere obtained by fitting the spherical crown point cloud of the calibration sphere.
[0080] For example, for each calibration sphere, point cloud information of the calibration sphere can be extracted from the two-dimensional region of interest (RoI) of the calibration sphere, and the spherical cap point cloud of the calibration sphere can be extracted from the point cloud information. The spherical cap point cloud of the calibration sphere is fitted to obtain the center pose of the calibration sphere, thereby positioning the calibration sphere.
[0081] Optionally, the objects to be identified are distributed in multiple layers, each layer contains at least one object to be identified, and the dot matrix is set according to the distance between two adjacent layers and / or the distance between the two most distant layers.
[0082] For example, in the case where the objects to be identified are distributed in multiple layers, the dot matrix may be set according to the distance between two adjacent layers, or the dot matrix may be set according to the distance between two layers that are furthest apart.
[0083] Furthermore, optionally, if the distance between two adjacent layers is greater than a distance threshold, a corresponding dot matrix is set for each layer; if the distance between two adjacent layers is less than or equal to the distance threshold, a dot matrix is set at the middle position of the two adjacent layers; and / or, the distance between the two farthest layers is evenly divided according to a preset height difference to obtain a divided target position between the two farthest layers, and a dot matrix is set at the target position.
[0084] For example, in the case where the object to be identified is a workpiece and the marker is a calibration sphere, if the workpiece comprises multiple layers, the dot matrix can be adjusted based on the stacking of the workpieces. Figure 4 is a schematic diagram of a dot matrix arrangement according to one embodiment of the present disclosure. As shown in Figure 4, taking a three-layer workpiece as an example, along the z-direction, a corresponding dot matrix is set for each layer of workpieces based on the distance between two adjacent layers, thereby collecting a set of calibration sphere points for each layer. To reduce the number of layers to be collected, if the distance between two layers is less than or equal to a distance threshold (e.g., 300 mm), the dot matrix can be set midway between the two layers, i.e., the calibration sphere points are positioned between the two layers, and the two layers of workpieces share the same calibration sphere points. Figure 5 is a schematic diagram of a dot matrix arrangement according to another embodiment of the present disclosure. As shown in Figure 5, the dot matrix can be set midway between two layers, thereby collecting a set of calibration sphere points midway between the two layers. If the workpieces are randomly stacked, the dot matrix can also be set based on the distance between the two furthest-separated layers. Figure 6 is a schematic diagram of a dot matrix setting method provided by another embodiment of the present disclosure. As shown in Figure 6, the dot matrix can be set according to the maximum height difference (for example, 300 mm), that is, the calibration ball point layer is evenly divided according to the maximum height difference, so that two groups of calibration ball points can be collected.
[0085] Optionally, the target drift corresponding to the target dot matrix can be determined based on the reference pose information of the target dot matrix and the current pose information of the dot matrix; if the target drift is greater than or equal to the first threshold, a prompt message is output, and the prompt message is used to prompt that the target dot matrix drift is too high.
[0086] For example, the first threshold is 3 mm, which can be set as needed. In this embodiment, when the target drift amount corresponding to the target dot matrix is greater than or equal to the first threshold, the user is prompted that the target dot matrix drift is too high.
[0087] Further, optionally, the target drift includes a horizontal axis drift, a vertical axis offset, and a vertical axis drift. Determining the target drift corresponding to the target dot matrix based on the reference posture information of the target dot matrix and the current posture information of the dot matrix may include: determining the first drift on the horizontal axis, the second drift on the vertical axis, and the third drift on the vertical axis of each point in the target dot matrix based on the reference posture information and the current posture information of the dot matrix; determining that the horizontal axis drift corresponding to the target dot matrix is the maximum value among multiple first drifts, the vertical axis offset is the maximum value among multiple second drifts, and the vertical axis drift is the maximum value among multiple third drifts; if the target drift is greater than or equal to a first threshold, outputting a prompt message, may include: if the horizontal axis drift, the vertical axis offset, and the vertical axis drift are all greater than or equal to the first threshold, outputting a prompt message.
[0088] For example, assuming that the target dot matrix includes nine position points, the drift amount of each position point can be obtained. The first drift amount of each position point on the horizontal axis is expressed as Indicates that the second drift of each position point on the vertical axis is expressed as Indicated by, and the third drift of each position point on the vertical axis is expressed as According to the first drift of each of the nine position points on the horizontal axis, the maximum drift of the nine position points on the horizontal axis is determined (for example, According to the second drift of each of the nine position points on the vertical axis, the maximum drift of the nine position points on the vertical axis is determined (for example, using According to the third drift of each of the nine position points on the vertical axis, the maximum drift of the nine position points on the vertical axis is determined (for example, using ), so the horizontal axis drift corresponding to the target lattice is obtained as , the vertical axis drift is And the vertical axis drift is As shown in Table 1, the target dot matrix drift can be obtained for each calibration time. Assuming the first threshold is 3 mm, it can be determined that the target dot matrix drift (4 mm) at the time point "2023 / 08 / 18 08:00:00" is greater than the first threshold. At this time, a prompt message is output to inform the user that the target dot matrix drift is too high.
[0089] Table 1
[0090]
[0091] Optionally, the drift of the dot matrix can also be used to display an error line graph on the front end.
[0092] In this embodiment, if the drift amount is greater than or equal to the first threshold, it can indicate that there is drift in the dot matrix and it has a greater impact on the operation of the system. In this case, an alarm can be sounded to stop the system operation. The prompting method of the prompt information involved in the embodiment of the present disclosure can be lights of different colors, voice prompts or panel displays, etc. The embodiment of the present disclosure does not limit the prompting method of the prompt information. It can be understood that the embodiment of the present disclosure calculates the system drift amount in real time and continuously draws the drift amount curve, which can provide timely warning when the drift amount exceeds the limit, and play the role of early reminder. That is, when there is a more serious drift in certain links of the system, the problem can be checked in advance to avoid the gradual expansion of the drift during the production process until a serious fault occurs. The problem is exposed, which can facilitate users to maintain the camera in real time and avoid the serious consequences that may be caused by the camera accuracy in the existing technology.
[0093] Optionally, if a preset condition is met, the reference posture information is updated; wherein the preset condition includes responding to a user's operation instruction to update the reference posture information and / or detecting that the target drift amount is greater than or equal to a second threshold, and the second threshold is less than the first threshold.
[0094] For example, the reference pose information can be updated upon receiving a user instruction to update the reference pose information; the reference pose information can be updated upon detecting that the target drift is greater than or equal to a second threshold. Furthermore, when checking for looseness or displacement of a marker (which can be preliminarily determined using error monitoring functions), if the marker is loose or displaced, the reference pose information can be updated after reinforcement.
[0095] On the basis of the above embodiments, for the scenario of replacing the camera, for example, when the camera cannot be repaired due to collision or other reasons and needs to be replaced, based on the method for determining the object posture provided by the embodiments of the present disclosure, it is only necessary to replace the camera and re-collect the markers to accurately grasp the object to be identified (no other additional operations are required, such as re-calibrating external parameters, re-teaching grasping points, and making point cloud templates, etc.), which can effectively save time. For example, it can save about 30 minutes of re-calibration of external parameters. If it involves re-teaching templates, it is related to the number of templates. It usually takes about 20 minutes to teach a template, so the time of re-teaching templates can be saved.
[0096] The following are deployment examples and implementation details of the technical solutions involved in this disclosure based on the above embodiments (the implementation principles and technical effects are the same as above):
[0097] 1. Deployment of landmarks
[0098] 1. Robotic arm motion repeatability test:
[0099] The technical solutions disclosed herein rely heavily on the repeatability of the robotic arm, requiring pre-determined accuracy. Specifically, for example, the robotic arm can carry a calibration plate and select several test locations within the workpiece space. The calibration plate's repeatability can then be tested by moving back and forth from the home position to the test location. Typically, the fluctuation in the repeatability of the robotic arm's translational accuracy should be within a preset level (e.g., 0.1 mm) or below.
[0100] 2. Selection of markers (such as calibration spheres):
[0101] To prevent external factors from affecting camera accuracy, consider using point cloud acquisition-friendly matte iron or ceramic spheres. For example, the diameter of the matte iron sphere should be 60 mm or 100 mm. If other calibration spheres are used, they must meet the requirements listed in Table 2.
[0102] Table 2
[0103]
[0104] 3. Estimate the installation location of markers (such as calibration spheres) and the accessibility of the markers carried by the robot:
[0105] For example, the marker is a calibration ball and the object to be identified is a workpiece. Specifically, (1) the installation position of the calibration ball is estimated, and a calibration ball is installed on the robot arm. During operation, the robot arm drives the calibration ball to different fixed points to propose multiple calibration balls; the calibration ball should be installed as close to the end of the robot arm as possible so that the robot arm carrying the calibration ball can reach the same height as the bottom workpiece; the robot arm cannot block the shooting of the calibration ball; optionally, if the rigidity of the fixture is good, the calibration ball can be designed to be installed on the fixture. If the fixture is soft and cannot be guaranteed to remain unchanged for a long time, the calibration ball cannot be installed on the fixture. (2) After estimating the installation position of the calibration ball, do not install it in practice. Use a hand-cranked robot to test whether it can reach all the positions covered by the workpiece. For example, in the actual application of the ETH scene, there are multiple workpieces on each layer, and there are multiple layers. The robot arm drives the calibration ball to all the positions covered by the workpiece to draw up multiple calibration balls. Use a camera to take pictures at each position to ensure that the calibration ball is not blocked. The calibration ball points need to be evenly distributed in the area where the workpiece is located. Since the fixture usually has a certain volume, it cannot reach the same height as the bottom workpiece. If it cannot reach the same height, but the height difference is less than or equal to 200mm, there is no problem. If the height difference is greater than 200mm, it is necessary to add an additional compensation solution for the bottom workpiece. (3) After the calibration ball is installed, the calibration ball repeatability test is carried out. For example, the calibration ball can be tested for the repeatability accuracy of the two points of the three-dimensional oblique angle of the three-dimensional space formed by multiple calibration balls. Each point can be statistically repeated 20 times. The repeatability accuracy requires the translation fluctuation to be within 0.5mm.
[0106] 2. Collection of markers
[0107] 1. The points where the robotic arm drives the marker:
[0108] Taking the case where the marker is a calibration ball and the object to be identified is a workpiece as an example, in the actual application of the ETH scenario, there are multiple workpieces on each layer and there are multiple layers. In order to take into account multiple workpieces in the horizontal direction, at least 9 calibration ball points are required in the horizontal direction; in order to take into account multiple layers of workpieces, each layer of workpieces needs to have at least 9 calibration ball points. Specifically, (1) Horizontal direction: for each workpiece layer, the position covered by the workpiece is collected by 9 calibration ball points; FIG7 is a schematic diagram of collecting calibration ball points provided by an embodiment of the present disclosure. As shown in FIG7, taking 6 workpieces and 9 calibration ball points as an example, the 9 calibration ball points are obtained by the robot's mechanical arm driving a calibration ball on the mechanical arm to move to different spatial positions under the camera's field of view; the wide side of the camera's field of view corresponds to the length value W, and the long side of the camera's field of view corresponds to the length value H; the 9 calibration ball points are in the same plane of the same layer as the 6 workpieces, and the 9 calibration ball points can be collected. (2) Vertical direction: There are multiple layers of workpieces, and each layer of workpieces has at least 9 calibration ball points. If you want to calibrate more accurately, collect a set of calibration ball points for each layer of workpieces. Referring to Figure 4, taking a 3-layer workpiece as an example, along the z direction, a set of calibration ball points is collected for each layer of workpieces. In addition, if you want to reduce the number of collected layers, if the distance between the two layers is less than or equal to the distance threshold (for example, 300mm), the calibration ball points can be placed between the two layers, and the two layers of workpieces share the calibration ball points. Referring to Figure 5, a set of calibration ball points can be collected in the middle of the two layers. If the workpieces are stacked randomly, the calibration ball point layers can also be evenly divided according to the maximum height difference. Referring to Figure 6, the calibration ball point layers can be evenly divided according to the maximum height difference of 300mm, and then two sets of calibration ball points can be collected.
[0109] 2. Timing of marker collection
[0110] (1) Acquisition frequency: A higher acquisition frequency will result in more real-time correction (especially when sudden anomalies cause drift). The acquisition frequency is, for example, once per working cycle, or at least once per day.
[0111] (2) Collection triggering conditions: It can be triggered by the upper system according to the actual situation of the user. For example, it can be a timer trigger or a manual trigger (such as when the last capture failed or a large amount of drift was detected).
[0112] 3. Adjustment of landmark point cloud quality
[0113] For example, Figure 8 shows a schematic diagram of a hemispherical surface point cloud provided by an embodiment of the present disclosure. As shown in Figure 8, camera parameters can be adjusted to optimize the quality of the calibration sphere point cloud and ensure a complete and smooth hemispherical surface point cloud. Furthermore, when capturing multiple layers, camera parameters can be configured for each layer separately.
[0114] 4. Construction of the marker collection project (generating calibration ball drift correction information, calibration ball drift monitoring and early warning)
[0115] This embodiment is used to generate calibration sphere drift correction information and perform drift monitoring and early warning on the calibration sphere. Specifically, the RoI of the calibration sphere is drawn, the point cloud information of the calibration sphere is extracted from the RoI, and the point cloud of the spherical cap is extracted from the point cloud information, that is, the spherical cap point cloud of the calibration sphere is obtained; for each calibration sphere, the spherical center position of the calibration sphere is fitted based on the spherical cap point cloud of the calibration sphere, thereby positioning the calibration sphere. In addition, the RoI can also be optimized. Specifically, when matching the calibration sphere for initial positioning, the matching part can include not only the calibration sphere but also the robotic arm point cloud near the calibration sphere, and determine whether the two-dimensional calibration sphere is recognized through deep learning (DL).
[0116] The following are embodiments of the apparatus disclosed herein, which can be used to implement the method embodiments disclosed herein. For details not disclosed in the apparatus embodiments disclosed herein, please refer to the method embodiments disclosed herein.
[0117] FIG9 is a schematic diagram of the structure of an apparatus for determining an object's posture according to an embodiment of the present disclosure. As shown in FIG9 , the apparatus 900 for determining an object's posture according to an embodiment of the present disclosure includes: an acquisition module 901 and a processing module 902.
[0118] The acquisition module 901 is used to obtain the current pose information of the object to be identified in the camera field of view.
[0119] Processing module 902 is used to input the current posture information of the object into the target correction model for correction processing to obtain the target posture information of the object to be identified. The target correction model is obtained by fitting the reference posture information of the target point matrix in the target plane under the camera's field of view and the current posture information of the point matrix. The target point matrix is the position points obtained by shooting at least once when at least one marker is in different spatial positions. The reference posture information is the calibration posture information of the target point matrix under the camera's field of view.
[0120] In some embodiments, the target dot matrix includes at least nine position points, and the at least nine position points are obtained by photographing at least one marker on the robotic arm when the marker moves to different spatial positions under the camera field of view, and obtaining markers at at least nine spatial positions.
[0121] Optionally, the number of correction models includes at least one, each correction model corresponds to a point matrix in the same plane perpendicular to the camera field of view, and the object posture determination device 900 may also include a determination module 903 for determining the target correction model in the following manner: obtaining a first height of the object to be identified recognized by the camera and at least one second height of the point matrix in different planes recognized by the camera; determining the target height as the second height with the smallest difference from the first height; and determining the target correction model as the correction model corresponding to the target height.
[0122] Optionally, the objects to be identified are distributed in multiple layers, each layer contains at least one object to be identified, and the dot matrix is set according to the distance between two adjacent layers and / or the distance between the two most distant layers.
[0123] Optionally, if the distance between two adjacent layers is greater than a distance threshold, a corresponding dot matrix is set for each layer; if the distance between two adjacent layers is less than or equal to the distance threshold, a dot matrix is set at the middle position of the two adjacent layers; and / or, the distance between the two farthest layers is evenly divided according to a preset height difference to obtain the divided target position between the two farthest layers, and a dot matrix is set at the target position.
[0124] Optionally, the marker is a calibration sphere, and the acquisition module 901 can also be used to obtain reference pose information in the following manner: obtain point cloud information of each calibration sphere through a camera; determine the spherical crown point cloud of each calibration sphere based on the point cloud information; for each calibration sphere, determine that the reference pose information of the calibration sphere is the spherical center pose information of the calibration sphere obtained by fitting the spherical crown point cloud of the calibration sphere.
[0125] Optionally, the processing module 902 can also be used to: determine the target drift amount corresponding to the target dot matrix based on the reference posture information of the target dot matrix and the current posture information of the dot matrix; if the target drift amount is greater than or equal to the first threshold, output a prompt message, and the prompt message is used to indicate that the target dot matrix drift is too high.
[0126] Optionally, the target drift includes a horizontal axis drift, a vertical axis offset, and a vertical axis drift. When the processing module 902 is used to determine the target drift corresponding to the target dot matrix based on the reference posture information of the target dot matrix and the current posture information of the dot matrix, it is specifically used to: determine the first drift on the horizontal axis, the second drift on the vertical axis, and the third drift on the vertical axis of each point in the target dot matrix based on the reference posture information and the current posture information of the dot matrix; determine that the horizontal axis drift corresponding to the target dot matrix is the maximum value among multiple first drifts, the vertical axis offset is the maximum value among multiple second drifts, and the vertical axis drift is the maximum value among multiple third drifts; when the processing module 902 is used to output a prompt message if the target drift is greater than or equal to a first threshold, it is specifically used to: output a prompt message if the horizontal axis drift, the vertical axis offset, and the vertical axis drift are all greater than or equal to the first threshold.
[0127] Optionally, the acquisition module 901 can also be used to: update the reference posture information if a preset condition is met; wherein the preset condition includes responding to a user's operation instruction to update the reference posture information and / or detecting that the target drift amount is greater than or equal to a second threshold, and the second threshold is less than the first threshold.
[0128] Optionally, the acquisition module 901 can also be used to obtain the current pose information of the dot matrix in the following ways: periodically obtaining the current pose information of the dot matrix based on the camera; or, in response to the user's instruction to obtain the current pose information of the target dot matrix, obtaining the current pose information of the dot matrix based on the camera.
[0129] The device of the embodiment of the present disclosure can be used to execute the technical solution of any of the above-mentioned method embodiments. Its implementation principles and technical effects are similar and will not be repeated here.
[0130] FIG10 is a schematic diagram of the structure of a system for determining an object's posture according to an embodiment of the present disclosure. As shown in FIG10 , the system 1000 for determining an object's posture according to an embodiment of the present disclosure includes: a robotic arm 1001, a camera 1002, and an electronic device 1003.
[0131] The robotic arm 1001 is configured to move at least one marker on the robotic arm 1001 to different spatial positions within the field of view of the camera 1002 in response to receiving a movement instruction, so as to obtain a target dot matrix.
[0132] The camera 1002 is used to obtain the current position information of the object to be identified in the field of view of the camera 1002.
[0133] Electronic device 1003 is used to receive the current posture information of the object and input the current posture information of the object into the target correction model for correction processing to obtain the target posture information of the object to be identified. The target correction model is obtained by fitting the reference posture information of the target dot matrix in the target plane under the field of view of camera 1002 and the current posture information of the dot matrix. The target dot matrix is the position points obtained by shooting at least once when at least one marker is in different spatial positions. The reference posture information is the calibration posture information of the target dot matrix under the field of view of camera 1002.
[0134] In the object posture determination system provided by the embodiments of the present disclosure, the robotic arm is used to drive at least one marker on the robotic arm to move to different spatial positions under the camera field of view in response to receiving a movement instruction to obtain a target dot matrix; the camera is used to obtain the current posture information of the object to be identified under the camera field of view, and the electronic device can be used to execute the object posture determination method in any of the above embodiments. The implementation principles and technical effects are similar and will not be repeated here.
[0135] The present disclosure also provides a robotic arm carrying at least one marker. The robotic arm includes a control unit configured to, in response to receiving a movement instruction, control the robotic arm to move the marker to different spatial positions within the field of view of a camera to obtain a target dot array. The implementation principles and technical effects of the robotic arm can be found in the aforementioned embodiments and will not be further elaborated here.
[0136] FIG11 is a schematic diagram of the structure of an electronic device provided by an embodiment of the present disclosure. As shown in FIG11 , the electronic device 1100 may include: at least one processor 1101 and a memory 1102 .
[0137] The memory 1102 is used to store programs. Specifically, the programs may include program codes, and the program codes include computer-executable instructions.
[0138] The memory 1102 may include a high-speed random access memory (RAM), and may also include a non-volatile memory (non-volatile memory), such as at least one disk storage.
[0139] Processor 1101 is configured to execute computer-executable instructions stored in memory 1102 to implement the method for determining the position and posture of an object described in the aforementioned method embodiment. Processor 1101 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present disclosure. Specifically, when implementing the method for determining the position and posture of an object described in the aforementioned method embodiment, the electronic device may be, for example, an industrial computer, a host computer, a server, or other electronic device with processing capabilities.
[0140] Optionally, the electronic device 1100 may further include a communication interface 1103. In a specific implementation, if the communication interface 1103, memory 1102, and processor 1101 are implemented independently, the communication interface 1103, memory 1102, and processor 1101 may be interconnected via a bus and communicate with each other. The bus may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus. Buses can be categorized as address buses, data buses, control buses, and so on, but this does not necessarily mean that there is only one bus or only one type of bus.
[0141] Optionally, in a specific implementation, if the communication interface 1103, the memory 1102 and the processor 1101 are integrated on a chip, the communication interface 1103, the memory 1102 and the processor 1101 can complete communication through an internal interface.
[0142] The present disclosure also provides a computer-readable storage medium, in which computer program instructions are stored. When a processor executes the computer program instructions, the method for determining the object posture as described above is implemented.
[0143] The present disclosure also provides a computer program product, including a computer program, which implements the above-mentioned method for determining the position and posture of an object when executed by a processor.
[0144] The computer-readable storage medium mentioned above can be implemented by any type of volatile or non-volatile memory device, or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. The computer-readable storage medium can be any available medium that can be accessed by a general-purpose or special-purpose computer.
[0145] An exemplary readable storage medium is coupled to the processor, such that the processor can read information from the readable storage medium and write information to the readable storage medium. Of course, the readable storage medium may also be an integral part of the processor. The processor and the readable storage medium may be located in an application-specific integrated circuit. Of course, the processor and the readable storage medium may also be present as discrete components in the device for determining the position and posture of an object.
[0146] Those skilled in the art will appreciate that all or part of the steps in the above-described method embodiments can be implemented using hardware associated with program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.
[0147] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present disclosure, rather than to limit them. Although the present disclosure has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present disclosure.
Claims
1. A method for determining an object's posture, characterized in that: include: Get the current pose information of the object to be identified in the camera's field of view; The current posture information of the object is input into the target correction model for correction processing to obtain the target posture information of the object to be identified. The target correction model is obtained by fitting the reference posture information of the target point array in the target plane under the camera field of view and the current posture information of the point array. The target point array is the position points obtained by shooting at least once when at least one marker is in different spatial positions. The reference posture information is the calibration posture information of the target point array under the camera field of view.
2. The method for determining the object posture according to claim 1, wherein: The target dot matrix includes at least nine position points, and the at least nine position points are obtained by photographing at least one marker on the robotic arm when the marker moves to different spatial positions under the field of view of the camera, and obtaining the marker at at least nine spatial positions.
3. The method for determining the object posture according to claim 2, wherein: The number of calibration models includes at least one, each calibration model corresponds to a dot matrix in the same plane perpendicular to the camera field of view, and the target calibration model is determined by: Acquire a first height of the object to be identified recognized by the camera and at least one second height of a dot matrix in different planes recognized by the camera; Determining a target height as a second height having a minimum difference from the first height; The target correction model is determined to be a correction model corresponding to the target height.
4. The method for determining the object posture according to claim 3, wherein: The objects to be identified are distributed in multiple layers, each layer contains at least one object to be identified, and the dot matrix is set according to the distance between two adjacent layers and / or the distance between the two most distant layers.
5. The method for determining the object posture according to claim 4, characterized in that: If the distance between two adjacent layers is greater than the distance threshold, a corresponding dot matrix is set for each layer; if the distance between two adjacent layers is less than or equal to the distance threshold, a dot matrix is set at the middle position between the two adjacent layers; And / or, the distance between the two farthest layers is evenly divided according to a preset height difference to obtain a divided target position between the two farthest layers, and a dot matrix is set at the target position.
6. The method for determining the position and posture of an object according to any one of claims 1 to 5, characterized in that: The marker is a calibration sphere, and the reference pose information is obtained by: Acquire point cloud information of each calibration sphere through the camera; Determining a spherical cap point cloud of each calibration sphere according to the point cloud information; For each calibration sphere, the reference pose information of the calibration sphere is determined to be the pose information of the center of the calibration sphere obtained by fitting the spherical crown point cloud of the calibration sphere.
7. The method for determining the position and posture of an object according to any one of claims 1 to 5, characterized in that: Also includes: Determining a target drift amount corresponding to the target dot matrix according to the reference pose information of the target dot matrix and the current pose information of the dot matrix; If the target drift amount is greater than or equal to a first threshold, a prompt message is output, where the prompt message is used to prompt that the target dot matrix drift is too high.
8. The method for determining the object posture according to claim 7, wherein: The target drift includes a horizontal axis drift, a longitudinal axis offset, and a vertical axis drift. The determining of the target drift corresponding to the target dot matrix based on the reference pose information of the target dot matrix and the current pose information of the dot matrix includes: Determining a first drift amount on the horizontal axis, a second drift amount on the vertical axis, and a third drift amount on the vertical axis for each point in the target lattice according to the reference pose information of each point in the target lattice and the current pose information of the lattice; Determine that the horizontal axis drift corresponding to the target point array is the maximum value among the plurality of first drift values, the vertical axis offset is the maximum value among the plurality of second drift values, and the vertical axis drift is the maximum value among the plurality of third drift values; If the target drift amount is greater than or equal to the first threshold, outputting a prompt message includes: If the horizontal axis drift, the longitudinal axis offset, and the vertical axis drift are all greater than or equal to the first threshold, a prompt message is output.
9. The method for determining the position and posture of an object according to claim 7 or 8, wherein: Also includes: If the preset conditions are met, the reference posture information is updated; wherein the preset conditions include responding to a user's operation instruction to update the reference posture information and / or detecting that the target drift amount is greater than or equal to a second threshold, and the second threshold is less than the first threshold.
10. The method for determining the position and posture of an object according to any one of claims 1 to 5, characterized in that: The current pose information of the dot matrix is obtained by: Periodically acquiring current pose information of the dot matrix based on the camera; Alternatively, in response to a user's instruction to obtain the current position and posture information of the target point matrix, the current position and posture information of the point matrix is obtained based on the camera.
11. A system for determining an object's posture, characterized in that: include: robotic arms, cameras, and electronics; The robotic arm is configured to, in response to receiving a movement instruction, drive at least one marker on the robotic arm to move to different spatial positions within the camera field of view to obtain a target dot array; The camera is used to obtain the current position information of the object to be identified in the camera field of view; The electronic device is used to receive the current posture information of the object and input the current posture information of the object into a target correction model for correction processing to obtain the target posture information of the object to be identified. The target correction model is obtained by fitting the reference posture information of the target point array in the target plane under the camera field of view and the current posture information of the point array. The target point array is the position points obtained by shooting at least once when the at least one marker is in different spatial positions. The reference posture information is the calibration posture information of the target point array under the camera field of view.
12. A robotic arm, characterized in that: The robotic arm carries at least one marker, and the robotic arm includes: The control unit is used to control the robotic arm to move the marker to different spatial positions within the camera field of view in response to receiving a movement instruction, so as to obtain a target dot matrix.
13. An electronic device, characterized in that: include: a processor, and a memory communicatively connected to the processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory to implement the method for determining the pose of an object according to any one of claims 1 to 10.
14. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer program instructions, and when the computer program instructions are executed by a processor, the method for determining the object posture according to any one of claims 1 to 10 is implemented.
15. A computer program product comprising a computer program, characterized in that When the computer program is executed, the method for determining the position and posture of an object according to any one of claims 1 to 10 is implemented.
Citation Information
Patent Citations
Correction method and device for mechanical arm motion
CN107813313A
Mechanical arm grabbing method and device, computer readable storage medium and robot
CN111015655A
Camera external parameter calibration method and device and camera external parameter calibration system
CN112489113A
Object pose determination method and system, electronic equipment and storage medium
CN116894867A
Object pose determination method, system and device and storage medium
CN118115573A