Positioning information generation method, device, electronic device and computer readable medium
By clustering and optimizing the coordinates of laser point collected by the lidar, high-precision positioning information is generated, which solves the problems of low accuracy and low efficiency of mobile robots when positioning charging piles, and achieves a more efficient positioning process.
Patent Information
- Application Number
- CN202110244065.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-03-05
- Publication Date
- 2025-04-18
- Estimated Expiration
- 2041-03-05
AI Technical Summary
In the prior art, when mobile robots are used to locate charging piles, due to the high noise of laser point cloud data, the positioning accuracy is low, and the positioning process is cumbersome and the efficiency is low.
By clustering the laser point coordinate sequence collected by the lidar, a set of laser point coordinate groups is generated; then, based on the initial rotation matrix, the initial translation vector and the laser point coordinate group set, a set of candidate laser point information is generated; the candidate laser point information that meets the target conditions is selected as the target laser point information, and positioning information is generated based on it.
The accuracy of positioning of charging piles is improved, the steps of generating positioning information are simplified, and the positioning efficiency is improved.
Smart Images

Figure CN113778078B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure relate to the field of computer technology, and in particular to a method, device, electronic device, and computer-readable medium for generating positioning information. Background Art
[0002] With the rapid development of random artificial intelligence technology, mobile robots are widely used in the industrial field. At present, when a mobile robot is automatically charged near a charging pile, it usually uses sensors (for example, lidar) to extract data such as line features and angle features in the laser point cloud, and then detects the location of the charging pile by comparing it with the geometric dimensions of the charging pile.
[0003] However, the above positioning method usually has the following technical problems: due to the large noise of the extracted line features and angle features, the accuracy of charging pile positioning is low. In addition, the method of extracting line features and angle features from the laser point cloud for positioning makes the steps of generating positioning information more complicated, resulting in low positioning efficiency. Summary of the invention
[0004] The content of this disclosure is used to introduce concepts in a brief form, which will be described in detail in the detailed implementation section below. The content of this disclosure is not intended to identify the key features or essential features of the technical solution claimed for protection, nor is it intended to limit the scope of the technical solution claimed for protection.
[0005] Some embodiments of the present disclosure propose a positioning information generation method, an apparatus, an electronic device, and a computer-readable medium to solve one or more of the technical problems mentioned in the above background technology section.
[0006] In a first aspect, some embodiments of the present disclosure provide a method for generating positioning information, the method comprising: performing clustering processing on each laser point coordinate in a laser point coordinate sequence collected by a laser radar to generate a laser point coordinate group set; generating a candidate laser point information set based on an initial rotation matrix, an initial translation vector and the above laser point coordinate group set, wherein the candidate laser point information in the above candidate laser point information set comprises: a laser point optimization value, a two-dimensional rotation matrix and a translation vector; selecting candidate laser point information that meets the target conditions from the above candidate laser point information set as target laser point information; generating positioning information based on the two-dimensional rotation matrix and translation vector included in the above target laser point information, wherein the above positioning information comprises position coordinates and position angles.
[0007] Optionally, the above-mentioned clustering processing of each laser point coordinate in the laser point coordinate sequence collected by the laser radar to generate a laser point coordinate group set includes: for each laser point coordinate in the above-mentioned laser point coordinate sequence, executing the following processing steps: determining the distance between the above-mentioned laser point coordinate and the adjacent laser point coordinate corresponding to the above-mentioned laser point coordinate; in response to the above-mentioned distance being less than a preset distance threshold, adding the adjacent laser point coordinate corresponding to the above-mentioned laser point coordinate to the laser point coordinate group corresponding to the above-mentioned laser point coordinate.
[0008] Optionally, the above-mentioned clustering processing of each laser point coordinate in the laser point coordinate sequence collected by the laser radar to generate a laser point coordinate group set also includes: in response to the above-mentioned distance being greater than or equal to the above-mentioned preset distance threshold, adding the adjacent laser point coordinate corresponding to the above-mentioned laser point coordinate to the adjacent laser point coordinate group, wherein the above-mentioned adjacent laser point coordinate group is different from the laser point coordinate group corresponding to the above-mentioned laser point coordinate.
[0009] Optionally, the above-mentioned generation of a candidate laser point information set based on the initial rotation matrix, the initial translation vector and the above-mentioned laser point coordinate group set includes: based on the initial rotation matrix and the initial translation vector, for each laser point coordinate group in the above-mentioned laser point coordinate group set, performing the following steps: determining the template point coordinates that match each laser point coordinate in the laser point coordinate group according to the initial rotation matrix and the initial translation vector, and obtaining the template point coordinate group; based on the template point coordinate group and the laser point coordinate group, generating laser point information corresponding to the laser point coordinate group, wherein the laser point information includes a laser point optimization value, an optimization number, a two-dimensional rotation matrix and a translation vector; in response to the laser point information satisfying at least one preset condition in a preset condition group, determining the laser point information as the candidate laser point information corresponding to the laser point coordinate group, wherein the above-mentioned preset condition group includes: the laser point optimization value included in the laser point information is less than a preset optimization threshold, and the optimization number included in the laser point information is greater than or equal to a preset iteration number.
[0010] Optionally, the above-mentioned generation of a candidate laser point information set based on the initial rotation matrix, the initial translation vector and the above-mentioned laser point coordinate group also includes: in response to the laser point information not satisfying the above-mentioned preset condition group, using the two-dimensional rotation matrix included in the laser point information as the initial rotation matrix, using the translation vector included in the laser point information as the initial translation vector, and performing the above-mentioned steps again.
[0011] Optionally, the above-mentioned determining the template point coordinates matching each laser point coordinate in the laser point coordinate group according to the initial rotation matrix and the initial translation vector includes: obtaining a template point coordinate set corresponding to the above-mentioned laser point coordinate sequence from the above-mentioned laser radar; transforming each template point coordinate in the above-mentioned template point coordinate set according to the above-mentioned initial rotation matrix and the above-mentioned initial translation vector to generate transformed template point coordinates, and obtaining the transformed template point coordinate set; determining the coordinate distance value between each transformed template point coordinate in the above-mentioned transformed template point coordinate set and the above-mentioned laser point coordinates, and obtaining a coordinate distance value set; selecting the coordinate distance value with the smallest coordinate distance value from the above-mentioned coordinate distance value set as the target distance value; and determining the transformed template point coordinates corresponding to the above-mentioned target distance value as the template point coordinates matched by the above-mentioned laser point coordinates.
[0012] Optionally, the method further includes: generating a driving trajectory according to the current position of the mobile robot and the positioning information; and controlling the mobile robot to travel according to the driving trajectory.
[0013] In a second aspect, some embodiments of the present disclosure provide a positioning information generating device, the device comprising: a clustering unit, configured to perform clustering processing on each laser point coordinate in a laser point coordinate sequence collected by a laser radar to generate a laser point coordinate group; a first generating unit, configured to generate a candidate laser point information set based on an initial rotation matrix, an initial translation vector and the above laser point coordinate group, wherein the candidate laser point information in the above candidate laser point information set comprises: a laser point optimization value, a two-dimensional rotation matrix and a translation vector; a selecting unit, configured to select candidate laser point information that meets the target condition from the above candidate laser point information set as target laser point information; a second generating unit, configured to generate positioning information based on the two-dimensional rotation matrix and translation vector included in the above target laser point information, wherein the above positioning information comprises position coordinates and position angle.
[0014] In some optional implementations of some embodiments, the clustering unit is further configured to: for each laser point coordinate in the laser point coordinate sequence, perform the following processing steps: determine the distance between the laser point coordinate and the adjacent laser point coordinate corresponding to the laser point coordinate; in response to the distance being less than a preset distance threshold, add the adjacent laser point coordinate corresponding to the laser point coordinate to the laser point coordinate group corresponding to the laser point coordinate.
[0015] In some optional implementations of some embodiments, the clustering unit is further configured to: in response to the distance being greater than or equal to the preset distance threshold, add the adjacent laser point coordinates corresponding to the laser point coordinates to an adjacent laser point coordinate group, wherein the adjacent laser point coordinate group is different from the laser point coordinate group corresponding to the laser point coordinates.
[0016] In some optional implementations of some embodiments, the first generating unit is further configured to: based on the initial rotation matrix and the initial translation vector, for each laser point coordinate group in the laser point coordinate group set, perform the following steps: determine the template point coordinates that match each laser point coordinate in the laser point coordinate group according to the initial rotation matrix and the initial translation vector, and obtain the template point coordinate group; based on the template point coordinate group and the laser point coordinate group, generate laser point information corresponding to the laser point coordinate group, wherein the laser point information includes a laser point optimization value, an optimization number, a two-dimensional rotation matrix and a translation vector; in response to the laser point information satisfying at least one preset condition in the preset condition group, determine the laser point information as candidate laser point information corresponding to the laser point coordinate group, wherein the preset condition group includes: the laser point optimization value included in the laser point information is less than a preset optimization threshold, and the optimization number included in the laser point information is greater than or equal to a preset iteration number.
[0017] In some optional implementations of some embodiments, the above-mentioned first generation unit is further configured to: in response to the laser point information not satisfying the above-mentioned preset condition group, use the two-dimensional rotation matrix included in the laser point information as the initial rotation matrix, use the translation vector included in the laser point information as the initial translation vector, and execute the above-mentioned steps again.
[0018] In some optional implementations of some embodiments, the first generation unit is further configured to: obtain a template point coordinate set corresponding to the laser point coordinate sequence from the laser radar; transform each template point coordinate in the template point coordinate set according to the initial rotation matrix and the initial translation vector to generate a transformation template point coordinate, and obtain a transformation template point coordinate set; determine the coordinate distance value between each transformation template point coordinate in the transformation template point coordinate set and the laser point coordinate, and obtain a coordinate distance value set; select the coordinate distance value with the smallest coordinate distance value from the coordinate distance value set as the target distance value; determine the transformation template point coordinate corresponding to the target distance value as the template point coordinate matched by the laser point coordinate.
[0019] Optionally, the device also includes: a trajectory generating unit, configured to generate a driving trajectory according to the current position of the mobile robot and the positioning information; and a control unit, configured to control the mobile robot to travel according to the driving trajectory.
[0020] In a third aspect, some embodiments of the present disclosure provide an electronic device comprising: one or more processors; a storage device on which one or more programs are stored, and when the one or more programs are executed by the one or more processors, the one or more processors implement the method described in any implementation manner of the above-mentioned first aspect.
[0021] In a fourth aspect, some embodiments of the present disclosure provide a computer-readable medium having a computer program stored thereon, wherein when the program is executed by a processor, the method described in any implementation manner of the above-mentioned first aspect is implemented.
[0022] The above-mentioned embodiments of the present disclosure have the following beneficial effects: through the positioning information generation method of some embodiments of the present disclosure, the accuracy of charging pile positioning is improved, the steps of generating positioning information are simplified, and the positioning efficiency is improved. Specifically, the reason for the low accuracy and low positioning efficiency of the charging pile positioning is that the noise of the extracted line features and angle features and other data is large, resulting in low accuracy of charging pile positioning. In addition, the method of extracting line features and angle features and other data from the laser point cloud for positioning causes the steps of generating positioning information to be more cumbersome. Based on this, the positioning information generation method of some embodiments of the present disclosure, first, clustering processing is performed on each laser point coordinate in the laser point coordinate sequence collected by the laser radar to generate a laser point coordinate group. Thus, the amount of calculation for generating positioning information is reduced, and the steps of generating positioning information can be preliminarily simplified. Then, according to the initial rotation matrix, the initial translation vector and the above laser point coordinate group, a candidate laser point information set is generated. Thus, the preliminary optimization of the laser point coordinates is completed. Then, the candidate laser point information that meets the target conditions is selected from the above candidate laser point information set as the target laser point information. Thus, the optimal laser point information can be selected from the candidate laser point information set, providing data support for improving the accuracy of generating positioning information. Finally, based on the two-dimensional rotation matrix and translation vector included in the above target laser point information, the positioning information is generated. Thus, the optimal laser point information is converted to generate the positioning information of the charging pile. Thus, the accuracy of the positioning of the charging pile is improved, the steps of generating positioning information are simplified, and the positioning efficiency is improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the accompanying drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and that components and elements are not necessarily drawn to scale.
[0024] Figure 1 is a schematic diagram of an application scenario of the positioning information generation method of some embodiments of the present disclosure;
[0025] Figure 2 is a flow chart of some embodiments of the method for generating positioning information according to the present disclosure;
[0026] Figure 3 are flow charts of other embodiments of the method for generating positioning information according to the present disclosure;
[0027] Figure 4 are flow charts of some further embodiments of the method for generating positioning information according to the present disclosure;
[0028] Figure 5 is a schematic diagram of the structure of some embodiments of the positioning information generating device according to the present disclosure;
[0029] Figure 6 It is a schematic diagram of the structure of an electronic device suitable for implementing some embodiments of the present disclosure. DETAILED DESCRIPTION
[0030] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments set forth herein. On the contrary, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.
[0031] It should also be noted that, for ease of description, only the parts related to the invention are shown in the drawings. In the absence of conflict, the embodiments and features in the embodiments of the present disclosure can be combined with each other.
[0032] It should be noted that the concepts such as "first" and "second" mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.
[0033] It should be noted that the modifications of "one" and "plurality" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more".
[0034] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.
[0035] The present disclosure will be described in detail below with reference to the accompanying drawings and in conjunction with embodiments.
[0036] Figure 1 It is a schematic diagram of an application scenario of a method for generating positioning information according to some embodiments of the present disclosure.
[0037] exist Figure 1In the application scenario, the computing device 101 can represent the device terminal of the mobile robot. In practice, first, the computing device 101 can cluster the coordinates of each laser point in the laser point coordinate sequence 102 collected by the laser radar to generate a laser point coordinate group 103. Here, the laser radar can refer to a radar set on the above-mentioned mobile robot. Here, clustering can be various clustering algorithms. For example, K-MEANS algorithm, K-MEDOIDS algorithm, CLARANS algorithm, etc. Here, the laser point coordinates in the laser point coordinate group 103 can refer to the coordinates of the charging pile in the laser radar coordinate system. Next, the computing device 101 can generate a candidate laser point information set 106 based on the initial rotation matrix 104, the initial translation vector 105 and the above-mentioned laser point coordinate group 103. Among them, the candidate laser point information in the above-mentioned candidate laser point information set 106 includes: laser point optimization value, two-dimensional rotation matrix and translation vector. Then, the computing device 101 can select candidate laser point information that meets the target conditions from the above-mentioned candidate laser point information set 106 as the target laser point information 107. Here, the target condition may refer to the candidate laser point information with the smallest laser point optimization value in the candidate laser point information set 106. Finally, the computing device 101 may generate positioning information 108 based on the two-dimensional rotation matrix and translation vector included in the target laser point information 107. The positioning information 108 includes position coordinates 1081 and position angles 1082. For example, the position coordinates 1081 may be (X, Y). The position angle 1082 may be (θ).
[0038] It should be noted that the computing device 101 can be hardware or software. When the computing device is hardware, it can be implemented as a distributed cluster consisting of multiple servers or terminal devices, or as a single server or a single terminal device. When the computing device is embodied as software, it can be installed in the hardware devices listed above. It can be implemented as multiple software or software modules for providing distributed services, or as a single software or software module. No specific limitation is made here.
[0039] It should be understood that Figure 1 The number of computing devices in the embodiment is only illustrative. Any number of computing devices may be provided according to implementation requirements.
[0040] Continue to refer Figure 2 , shows a process 200 of some embodiments of the method for generating positioning information according to the present disclosure. The method for generating positioning information comprises the following steps:
[0041] Step 201 : clustering the laser point coordinates in the laser point coordinate sequence collected by the laser radar to generate a laser point coordinate group set.
[0042] In some embodiments, the execution subject of the positioning information generation method (for example Figure 1 The computing device 101 shown in the figure can perform clustering processing on each laser point coordinate in the laser point coordinate sequence collected by the laser radar to generate a laser point coordinate group set. Here, the clustering processing can be various clustering processing. For example, K-MEANS algorithm, K-MEDOIDS algorithm, CLARANS algorithm, etc. Here, the laser radar can refer to a laser radar set on a mobile robot. Here, the laser point coordinates in the laser point coordinate sequence collected by the laser radar can refer to the coordinates of the charging pile in the laser radar coordinate system.
[0043] In some optional implementations of some embodiments, the execution subject may also perform the following processing steps for each laser point coordinate in the laser point coordinate sequence:
[0044] The first step is to determine the distance between the laser point coordinates and the adjacent laser point coordinates corresponding to the laser point coordinates. Here, the distance formula between two points can be used to determine the distance between the laser point coordinates and the adjacent laser point coordinates corresponding to the laser point coordinates.
[0045] In the second step, in response to the distance being less than a preset distance threshold, the adjacent laser point coordinates corresponding to the laser point coordinates are added to the laser point coordinate group corresponding to the laser point coordinates. Here, there is no restriction on the setting of the preset distance threshold.
[0046] In the third step, in response to the distance being greater than or equal to the preset distance threshold, the adjacent laser point coordinates corresponding to the laser point coordinates are added to an adjacent laser point coordinate group, wherein the adjacent laser point coordinate group is different from the laser point coordinate group corresponding to the laser point coordinates.
[0047] Step 202: Generate a candidate laser point information set according to the initial rotation matrix, the initial translation vector and the above laser point coordinate set.
[0048] In some embodiments, first, the above-mentioned execution subject may randomly set the initial rotation matrix and the initial translation vector. Here, the initial rotation matrix may be a two-dimensional rotation matrix. Next, the above-mentioned execution subject may obtain the coordinates of each template point used to characterize the shape of the charging pile in the charging pile coordinate system established with the center of the charging pile shape as the coordinate origin, and obtain a template point coordinate group. Then, the above-mentioned execution subject may convert the template point coordinates in the template point coordinate group into coordinates in the laser radar coordinate system using the coordinate conversion formula through the initial rotation matrix and the initial translation vector. Finally, the above-mentioned execution subject may optimize the rotation matrix and the translation vector corresponding to the laser point coordinates in the laser point coordinate group set through SVD (Singular Value Decomposition) to obtain a candidate laser point information set. Among them, the candidate laser point information in the above-mentioned candidate laser point information set includes: laser point optimization value, two-dimensional rotation matrix (dimension is 2×2) and translation vector (dimension is 2×1).
[0049] Step 203: Select candidate laser point information that meets the target condition from the candidate laser point information set as target laser point information.
[0050] In some embodiments, the execution entity may select candidate laser point information that meets the target condition from the candidate laser point information set as the target laser point information. Here, the target condition may be "the candidate laser point information with the smallest laser point optimization value in the candidate laser point information set".
[0051] Step 204: Generate positioning information based on the two-dimensional rotation matrix and translation vector included in the target laser point information.
[0052] In some embodiments, based on the two-dimensional rotation matrix and translation vector included in the target laser point information, the execution subject can generate positioning information through the following steps, wherein the positioning information includes position coordinates and position angles, and the positioning information can be used to characterize the position of the charging pile:
[0053] The first step is to generate the position coordinates through the position coordinate formula:
[0054]
[0055] Where X represents the horizontal coordinate of the position. Y represents the vertical coordinate of the position. k Represents the translation vector included in the above target laser point information. k (1) represents the first element in the above translation vector. k (2) represents the second element in the above translation vector.
[0056] The second step is to generate the position angle through the position angle formula:
[0057] θ=arctan(R k (2, 1), R k (1, 1)).
[0058] Where θ represents the position angle. arctan() represents the inverse tangent function. k Represents the two-dimensional rotation matrix included in the above target laser point information. k (2, 1) represents the element in the second row and first column of the above two-dimensional rotation matrix. k (1, 1) represents the element in the first row and first column of the above two-dimensional rotation matrix.
[0059] The above-mentioned embodiments of the present disclosure have the following beneficial effects: through the positioning information generation method of some embodiments of the present disclosure, the accuracy of charging pile positioning is improved, the steps of generating positioning information are simplified, and the positioning efficiency is improved. Specifically, the reason for the low accuracy and low positioning efficiency of the charging pile positioning is that the noise of the extracted line features and angle features and other data is large, resulting in low accuracy of charging pile positioning. In addition, the method of extracting line features and angle features and other data from the laser point cloud for positioning causes the steps of generating positioning information to be more cumbersome. Based on this, the positioning information generation method of some embodiments of the present disclosure, first, clustering processing is performed on each laser point coordinate in the laser point coordinate sequence collected by the laser radar to generate a laser point coordinate group. Thus, the amount of calculation for generating positioning information is reduced, and the steps of generating positioning information can be preliminarily simplified. Then, according to the initial rotation matrix, the initial translation vector and the above laser point coordinate group, a candidate laser point information set is generated. Thus, the preliminary optimization of the laser point coordinates is completed. Then, the candidate laser point information that meets the target conditions is selected from the above candidate laser point information set as the target laser point information. Thus, the optimal laser point information can be selected from the candidate laser point information set, providing data support for improving the accuracy of generating positioning information. Finally, based on the two-dimensional rotation matrix and translation vector included in the above target laser point information, the positioning information is generated. Thus, the optimal laser point information is converted to generate the positioning information of the charging pile. Thus, the accuracy of the positioning of the charging pile is improved, the steps of generating positioning information are simplified, and the positioning efficiency is improved.
[0060] Further references Figure 3 , shows a flow chart of some other embodiments of the method for generating positioning information according to the present disclosure. The method for generating positioning information comprises the following steps:
[0061] Step 301 : clustering the laser point coordinates in the laser point coordinate sequence collected by the laser radar to generate a laser point coordinate group set.
[0062] In some embodiments, the specific implementation of step 301 and the technical effects brought about can be referred to Figure 2 The corresponding step 201 in the embodiments will not be described in detail here.
[0063] Step 302, based on the initial rotation matrix and the initial translation vector, for each laser point coordinate group in the above laser point coordinate group set, execute steps.
[0064] In some embodiments, the execution subject of the positioning information generation method (for example Figure 1 The computing device 101 shown in the figure can perform the following steps for each laser point coordinate group in the above laser point coordinate group set based on the initial rotation matrix and the initial translation vector:
[0065] In the first step, according to the initial rotation matrix and the initial translation vector, the template point coordinates that match each laser point coordinate in the laser point coordinate group are determined to obtain the template point coordinate group.
[0066] In practice, the first step above may include the following sub-steps:
[0067] The first sub-step is to obtain a template point coordinate set corresponding to the laser point coordinate sequence from the laser radar. Here, the template point coordinates in the template point coordinate set may refer to the coordinates used to characterize the shape of the charging pile in a charging pile coordinate system established with the center of the charging pile shape as the coordinate origin.
[0068] In the second sub-step, according to the initial rotation matrix and the initial translation vector, each template point coordinate in the template point coordinate set is transformed to generate a transformed template point coordinate, thereby obtaining a transformed template point coordinate set.
[0069] In practice, the second sub-step may transform each template point coordinate in the template point coordinate set to generate transformed template point coordinates by the following formula:
[0070]
[0071] Among them, q j Represents the coordinates of the transformed template point. k0 represents the above initial rotation matrix. Represents the jth template point coordinate in the above template point coordinate set. k0 represents the above initial translation vector.
[0072] The third sub-step is to determine the coordinate distance value between each conversion template point coordinate in the conversion template point coordinate set and the laser point coordinate to obtain a coordinate distance value set. Here, the distance formula between two points can be used to determine the coordinate distance value between each conversion template point coordinate in the conversion template point coordinate set and the laser point coordinate.
[0073] The fourth sub-step is to select the coordinate distance value with the smallest coordinate distance value from the above coordinate distance value set as the target distance value.
[0074] The fifth sub-step is to determine the conversion template point coordinates corresponding to the target distance value as the template point coordinates matched by the laser point coordinates.
[0075] The second step is to generate laser point information corresponding to the laser point coordinate group based on the template point coordinate group and the laser point coordinate group. The laser point information includes the laser point optimization value, the number of optimizations, the two-dimensional rotation matrix and the translation vector. Here, the number of optimizations may refer to the number of iterations.
[0076] In practice, the second step above may include the following optimization formula:
[0077]
[0078] Among them, f k Represents the optimized value of the laser point. |p k | represents the number of laser point coordinates included in the above laser point coordinate group. k Represents the two-dimensional rotation matrix corresponding to the above laser point coordinate group. i Indicates the template point coordinates corresponding to the i-th laser point coordinates of the above laser point coordinate group. k represents the translation vector corresponding to the above laser point coordinate group. i Represents the coordinates of the i-th laser point in the above laser point coordinate group. ||R k ×q i +t k -p i || indicates R k ×q i +t k -p i The second norm of .
[0079] In the third step, in response to the laser point information satisfying at least one preset condition in the preset condition group, the laser point information is determined as the candidate laser point information corresponding to the laser point coordinate group. The preset condition group includes: the laser point optimization value included in the laser point information is less than the preset optimization threshold, and the optimization number included in the laser point information is greater than or equal to the preset iteration number. Here, the setting of the preset iteration number is not limited.
[0080] In the fourth step, in response to the laser point information not satisfying the above preset condition group, the two-dimensional rotation matrix included in the laser point information is used as the initial rotation matrix, the translation vector included in the laser point information is used as the initial translation vector, and the above steps are performed again.
[0081] Step 303: Select candidate laser point information that meets the target condition from the candidate laser point information set as target laser point information.
[0082] Step 304: Generate positioning information based on the two-dimensional rotation matrix and translation vector included in the target laser point information.
[0083] In some embodiments, the specific implementation of steps 303-304 and the technical effects brought about can be referred to Figure 2 The corresponding steps 203-204 in the embodiments are not described in detail here.
[0084] from Figure 3 It can be seen that Figure 2 Compared with the description of some corresponding embodiments, Figure 3 In the corresponding process 300 of some embodiments, first, by converting the coordinate points of the charging piles in different coordinate systems into the same coordinate system, it is convenient to perform iterative optimization processing on the laser point coordinates. Then, the optimization formula is used to solve the two-dimensional rotation matrix and translation vector corresponding to the laser point coordinates. Finally, the optimal two-dimensional rotation matrix and translation vector are selected from the generated two-dimensional rotation matrix and translation vector, which provides data support for generating the positioning information of the charging pile.
[0085] Further references Figure 4 , shows a flowchart of some other embodiments of the method for generating positioning information according to the present disclosure. The method for generating positioning information comprises the following steps:
[0086] Step 401 , clustering is performed on each laser point coordinate in a laser point coordinate sequence collected by the laser radar to generate a laser point coordinate group set.
[0087] Step 402: Generate a candidate laser point information set according to the initial rotation matrix, the initial translation vector and the above laser point coordinate set.
[0088] Step 403: Select candidate laser point information that meets the target condition from the candidate laser point information set as target laser point information.
[0089] Step 404: Generate positioning information based on the two-dimensional rotation matrix and translation vector included in the target laser point information.
[0090] In some embodiments, the specific implementation of steps 401-404 and the technical effects brought about can be referred to Figure 2 The corresponding steps 201-204 in the embodiments are not described in detail here.
[0091] Step 405: Generate a driving trajectory according to the current position of the mobile robot and the positioning information.
[0092] In some embodiments, the execution subject of the positioning information generation method (for example Figure 1 The computing device 101 shown in the figure can plan the driving trajectory from the current position of the above-mentioned mobile robot and the position coordinates included in the above-mentioned positioning information through a variety of methods (simulated annealing algorithm, artificial potential field method, fuzzy logic algorithm, taboo search algorithm, visible graph space method, etc.).
[0093] Step 406: Control the mobile robot to travel according to the travel trajectory.
[0094] In some embodiments, the execution subject may control the mobile robot to travel along the travel track. In practice, in response to the mobile robot traveling to the location of the charging pile, the mobile robot may be connected to the charging interface of the charging pile for charging.
[0095] from Figure 4 It can be seen that Figure 2 Compared with the description of some corresponding embodiments, Figure 4 In some corresponding embodiments, the process 400 can generate a driving trajectory according to the current position of the mobile robot and the positioning information, thereby facilitating the control of the mobile robot to drive to the location of the charging pile for automatic charging.
[0096] Further references Figure 5 As an implementation of the methods shown in the above figures, the present disclosure provides some embodiments of a positioning information generating device. These device embodiments are similar to Figure 2 Corresponding to the method embodiments shown, the device can be specifically applied to various electronic devices.
[0097] like Figure 5 As shown, the positioning information generating device 500 of some embodiments includes: a clustering unit 501, a first generating unit 502, a selecting unit 503, and a second generating unit 504. The clustering unit 501 is configured to perform clustering processing on each laser point coordinate in the laser point coordinate sequence collected by the laser radar to generate a laser point coordinate group set; the first generating unit 502 is configured to generate a candidate laser point information set according to the initial rotation matrix, the initial translation vector and the above laser point coordinate group set, wherein the candidate laser point information in the above candidate laser point information set includes: laser point optimization value, two-dimensional rotation matrix and translation vector; the selecting unit 503 is configured to select candidate laser point information that meets the target condition from the above candidate laser point information set as target laser point information; the second generating unit 504 is configured to generate positioning information based on the two-dimensional rotation matrix and translation vector included in the above target laser point information, wherein the above positioning information includes position coordinates and position angle.
[0098] In some optional implementations of some embodiments, the clustering unit 501 is further configured to: for each laser point coordinate in the laser point coordinate sequence, perform the following processing steps: determine the distance between the laser point coordinate and the adjacent laser point coordinate corresponding to the laser point coordinate; in response to the distance being less than a preset distance threshold, add the adjacent laser point coordinate corresponding to the laser point coordinate to the laser point coordinate group corresponding to the laser point coordinate.
[0099] In some optional implementations of some embodiments, the clustering unit 501 is further configured to: in response to the distance being greater than or equal to the preset distance threshold, add the adjacent laser point coordinates corresponding to the laser point coordinates to an adjacent laser point coordinate group, wherein the adjacent laser point coordinate group is different from the laser point coordinate group corresponding to the laser point coordinates.
[0100] In some optional implementations of some embodiments, the first generating unit 502 is further configured to: based on the initial rotation matrix and the initial translation vector, for each laser point coordinate group in the laser point coordinate group set, perform the following steps: determine the template point coordinates that match each laser point coordinate in the laser point coordinate group according to the initial rotation matrix and the initial translation vector, and obtain the template point coordinate group; based on the template point coordinate group and the laser point coordinate group, generate laser point information corresponding to the laser point coordinate group, wherein the laser point information includes a laser point optimization value, an optimization number, a two-dimensional rotation matrix and a translation vector; in response to the laser point information satisfying at least one preset condition in the preset condition group, determine the laser point information as candidate laser point information corresponding to the laser point coordinate group, wherein the preset condition group includes: the laser point optimization value included in the laser point information is less than a preset optimization threshold, and the optimization number included in the laser point information is greater than or equal to a preset iteration number.
[0101] In some optional implementations of some embodiments, the first generating unit 502 is further configured to: in response to the laser point information not satisfying the preset condition group, use the two-dimensional rotation matrix included in the laser point information as the initial rotation matrix, use the translation vector included in the laser point information as the initial translation vector, and execute the above steps again.
[0102] In some optional implementations of some embodiments, the first generation unit 502 is further configured to: obtain a template point coordinate set corresponding to the laser point coordinate sequence from the laser radar; transform each template point coordinate in the template point coordinate set according to the initial rotation matrix and the initial translation vector to generate a transformation template point coordinate, and obtain a transformation template point coordinate set; determine the coordinate distance value between each transformation template point coordinate in the transformation template point coordinate set and the laser point coordinate, and obtain a coordinate distance value set; select the coordinate distance value with the smallest coordinate distance value from the coordinate distance value set as the target distance value; determine the transformation template point coordinate corresponding to the target distance value as the template point coordinate matched by the laser point coordinate.
[0103] Optionally, the device 500 further includes: a trajectory generating unit, configured to generate a driving trajectory according to the current position of the mobile robot and the positioning information; and a control unit, configured to control the mobile robot to drive according to the driving trajectory.
[0104] It is understood that the units described in the device 500 are similar to those described in the reference Figure 2 Therefore, the operations, features and beneficial effects described above for the method are also applicable to the device 500 and the units included therein, and will not be described in detail here.
[0105] Reference below Figure 6 , which shows an electronic device (eg, Figure 1 The electronic devices in some embodiments of the present disclosure may include but are not limited to mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 6 The electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0106] like Figure 6As shown, the electronic device 600 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 602 or a program loaded from a storage device 608 into a random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the electronic device 600 are also stored. The processing device 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.
[0107] Typically, the following devices may be connected to the I / O interface 605: an input device 606 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 607 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 608 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 609. The communication device 609 may allow the electronic device 600 to communicate with other devices wirelessly or by wire to exchange data. Although Figure 6 The electronic device 600 is shown with various devices, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead. Figure 6 Each block shown in the figure may represent one device, or may represent multiple devices as required.
[0108] In particular, according to some embodiments of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, some embodiments of the present disclosure include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program contains program code for executing the method shown in the flowchart. In some such embodiments, the computer program can be downloaded and installed from the network through the communication device 609, or installed from the storage device 608, or installed from the ROM 602. When the computer program is executed by the processing device 601, the above-mentioned functions defined in the method of some embodiments of the present disclosure are executed.
[0109] It should be noted that the computer-readable medium recorded in some embodiments of the present disclosure may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In some embodiments of the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In some embodiments of the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The computer readable signal medium may also be any computer readable medium other than a computer readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
[0110] In some embodiments, the client and the server may communicate using any currently known or future developed network protocol such as HTTP (HyperText Transfer Protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.
[0111] The computer-readable medium may be included in the electronic device; or it may exist independently without being assembled into the electronic device. The computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device: performs clustering processing on each laser point coordinate in the laser point coordinate sequence collected by the laser radar to generate a laser point coordinate group; generates a candidate laser point information set according to the initial rotation matrix, the initial translation vector and the laser point coordinate group, wherein the candidate laser point information in the candidate laser point information set includes: laser point optimization value, two-dimensional rotation matrix and translation vector; selects candidate laser point information that meets the target condition from the candidate laser point information set as the target laser point information; generates positioning information based on the two-dimensional rotation matrix and translation vector included in the target laser point information, wherein the positioning information includes position coordinates and position angle.
[0112] Computer program code for performing the operations of some embodiments of the present disclosure may be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0113] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0114] The units described in some embodiments of the present disclosure may be implemented by software or by hardware. The described units may also be provided in a processor, for example, may be described as: a processor including a clustering unit, a first generating unit, a selecting unit, and a second generating unit. The names of these units do not, in some cases, constitute limitations on the units themselves, for example, a clustering unit may also be described as "a unit for classifying and processing each laser point coordinate in a laser point coordinate sequence collected by a laser radar through a preset clustering algorithm to generate a laser point coordinate group set".
[0115] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.
[0116] The above descriptions are only some preferred embodiments of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of the invention involved in the embodiments of the present disclosure is not limited to the technical solutions formed by a specific combination of the above-mentioned technical features, but should also cover other technical solutions formed by any combination of the above-mentioned technical features or their equivalent features without departing from the above-mentioned inventive concept. For example, the above-mentioned features are replaced with the technical features with similar functions disclosed in the embodiments of the present disclosure (but not limited to) and the technical solutions formed.
Claims
1. A method for generating positioning information, applied to a mobile robot, comprising: Clustering each laser point coordinate in the laser point coordinate sequence collected by the laser radar to generate a laser point coordinate group set; Generate a candidate laser point information set according to the initial rotation matrix, the initial translation vector and the laser point coordinate set, wherein the candidate laser point information in the candidate laser point information set includes: a laser point optimization value, a two-dimensional rotation matrix and a translation vector; Selecting candidate laser point information that meets the target condition from the candidate laser point information set as target laser point information, wherein the target condition is: candidate laser point information with the smallest laser point optimization value in the candidate laser point information set; Generate positioning information based on the two-dimensional rotation matrix and translation vector included in the target laser point information, wherein the positioning information includes position coordinates and position angle; Among them, generating a candidate laser point information set includes: optimizing the rotation matrix and translation vector corresponding to the laser point coordinates in the laser point coordinate group set to obtain the candidate laser point information set, wherein the laser point coordinates in the laser point coordinate group set are: through the initial rotation matrix and the initial translation vector, using the coordinate conversion formula to convert the template point coordinates in the template point coordinate group into the coordinates in the laser radar coordinate system; the template point coordinate group is: obtaining the coordinates of each template point used to characterize the charging pile shape in the charging pile coordinate system established with the center of the charging pile shape as the coordinate origin.
2. The method according to claim 1, wherein: The clustering process of each laser point coordinate in the laser point coordinate sequence collected by the laser radar to generate a laser point coordinate group set includes: For each laser point coordinate in the laser point coordinate sequence, the following processing steps are performed: Determining the distance between the laser point coordinate and the adjacent laser point coordinate corresponding to the laser point coordinate; In response to the distance being less than a preset distance threshold, an adjacent laser point coordinate corresponding to the laser point coordinate is added to a laser point coordinate group corresponding to the laser point coordinate.
3. The method according to claim 2, wherein: The clustering process of each laser point coordinate in the laser point coordinate sequence collected by the laser radar to generate a laser point coordinate group set also includes: In response to the distance being greater than or equal to the preset distance threshold, adding adjacent laser point coordinates corresponding to the laser point coordinates to an adjacent laser point coordinate group, wherein the adjacent laser point coordinate group is different from the laser point coordinate group corresponding to the laser point coordinates.
4. The method according to claim 1, wherein: The step of generating a candidate laser point information set according to the initial rotation matrix, the initial translation vector and the laser point coordinate set comprises: Based on the initial rotation matrix and the initial translation vector, for each laser point coordinate group in the laser point coordinate group set, perform the following steps: According to the initial rotation matrix and the initial translation vector, the template point coordinates that match each laser point coordinate in the laser point coordinate group are determined to obtain the template point coordinate group; Based on the template point coordinate group and the laser point coordinate group, the laser point information corresponding to the laser point coordinate group is generated, wherein the laser point information includes the laser point optimization value, the optimization number, the two-dimensional rotation matrix and the translation vector; In response to the laser point information satisfying at least one preset condition in the preset condition group, the laser point information is determined as candidate laser point information corresponding to the laser point coordinate group, wherein the preset condition group includes: a laser point optimization value included in the laser point information is less than a preset optimization threshold, and the number of optimizations included in the laser point information is greater than or equal to a preset number of iterations.
5. The method according to claim 4, wherein: The step of generating a candidate laser point information set according to the initial rotation matrix, the initial translation vector and the laser point coordinate set further comprises: In response to the laser point information not satisfying the preset condition group, the two-dimensional rotation matrix included in the laser point information is used as the initial rotation matrix, the translation vector included in the laser point information is used as the initial translation vector, and the steps are performed again.
6. The method according to claim 4, wherein: The step of determining the template point coordinates matched by each laser point coordinate in the laser point coordinate group according to the initial rotation matrix and the initial translation vector includes: Acquire a template point coordinate set corresponding to the laser point coordinate sequence from the laser radar; According to the initial rotation matrix and the initial translation vector, each template point coordinate in the template point coordinate set is transformed to generate a transformed template point coordinate, thereby obtaining a transformed template point coordinate set; Determine the coordinate distance value between each conversion template point coordinate in the conversion template point coordinate set and the laser point coordinate to obtain a coordinate distance value set; Selecting a coordinate distance value with the smallest coordinate distance value from the coordinate distance value set as a target distance value; The conversion template point coordinates corresponding to the target distance value are determined as the template point coordinates matched by the laser point coordinates.
7. The method according to claim 1, wherein: The method further comprises: Generate a driving trajectory according to the current position of the mobile robot and the positioning information; The mobile robot is controlled to travel along the travel trajectory.
8. A positioning information generating device, applied to the method according to claim 1, applied to a mobile robot, comprising: A clustering unit is configured to perform clustering processing on each laser point coordinate in the laser point coordinate sequence collected by the laser radar to generate a laser point coordinate group set; A first generating unit is configured to generate a candidate laser point information set according to an initial rotation matrix, an initial translation vector and the laser point coordinate set, wherein the candidate laser point information in the candidate laser point information set includes: a laser point optimization value, a two-dimensional rotation matrix and a translation vector; A selection unit is configured to select candidate laser point information that meets the target condition from the candidate laser point information set as target laser point information; The second generating unit is configured to generate positioning information based on the two-dimensional rotation matrix and the translation vector included in the target laser point information, wherein the positioning information includes position coordinates and position angles.
9. An electronic device, comprising: one or more processors; a storage device having one or more programs stored thereon; When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 7.
10. A computer readable medium having a computer program stored thereon, wherein: When the program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Method for quadruped robot to autonomously follow pilot based on three-dimensional laser radar
CN111461023A