Map evaluation method, device and electronic equipment
By acquiring laser observation data and utilizing filtering and point cloud clustering techniques, evaluation parameters were determined, solving the problem of inaccurate evaluation of robot-built maps and achieving accurate assessment of map quality.
Patent Information
- Application Number
- CN202211370911.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-03
- Publication Date
- 2026-02-06
- Estimated Expiration
- 2042-11-03
AI Technical Summary
In existing technologies, maps constructed by robots using LiDAR are inaccurate and difficult to evaluate in terms of quality.
By acquiring the target map to be evaluated and the laser observation data at the current time, evaluation parameters are determined, including observation matching score, first similarity matching score and second similarity matching score. The quality of the map is then evaluated using filtering algorithms and point cloud clustering techniques.
This enables accurate evaluation of the quality of maps built by robots, improving the accuracy and reliability of map evaluation.
Smart Images

Figure CN115683166B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The embodiment of the present application relates to the technical field of map, in particular to a map evaluation method and device and electronic equipment. BACKGROUND
[0002] Simultaneous localization and mapping (SLAM) can be described as follows: a robot starts moving from an unknown position in an unknown environment, and during the movement, the robot performs self-positioning according to the position and the map, and builds an incremental map on the basis of the self-positioning, so as to realize autonomous positioning and navigation of the robot. Therefore, an accurate and perfect map can make the robot obtain better effects in positioning, planning, perception and the like. Then, how to evaluate whether a map generated by a SLAM algorithm is a usable and standard map has become a problem that must be faced and solved at the present stage. SUMMARY
[0003] The embodiment of the present application provides a map evaluation method and device and electronic equipment, so as to solve the problem of inaccurate evaluation of a map constructed by a robot through a laser radar.
[0004] The embodiment of the present application provides the following technical solutions:
[0005] In a first aspect, the embodiment of the present application provides a map evaluation method, comprising:
[0006] obtaining a target map to be evaluated and laser observation data at a current time;
[0007] determining an evaluation parameter according to the target map to be evaluated and the laser observation data at the current time;
[0008] evaluating the quality of the target map according to the evaluation parameter.
[0009] In some embodiments, the map evaluation method is applied to an electronic device, the laser observation data comprises point cloud data, the electronic device is communicatively connected to a robot, and the robot is used to construct the target map to be evaluated and obtain the laser observation data at the current time;
[0010] The target map to be evaluated comprises poses and point cloud data of the robot at each time during construction of the target map;
[0011] The evaluation parameter is determined according to the target map to be evaluated and the laser observation data at the current time, comprising:
[0012] the pose of the robot at the current time and the point cloud data corresponding to the pose are determined according to the laser observation data at the current time;
[0013] Determine an observation matching score according to the pose of the robot at the current time and the point cloud data corresponding to the pose, and the pose of the robot at each time in the process of constructing the target map and the point cloud data corresponding to the pose, wherein the evaluation parameter comprises the observation matching score.
[0014] In some embodiments, determining the observation matching score according to the pose of the robot at the current time and the point cloud data corresponding to the pose, and the pose of the robot at each time in the process of constructing the target map and the point cloud data corresponding to the pose comprises:
[0015] Determine a first position of the target map according to the pose of the robot at the current time and the pose of the robot at each time in the process of constructing the target map.
[0016] Calculate a matching degree of the point cloud data corresponding to the pose of the robot at the current time and the point cloud data corresponding to the first position of the target map.
[0017] Determine the observation matching score according to the matching degree.
[0018] In some embodiments, determining the evaluation parameter according to the target map to be evaluated and the laser observation data at the current time further comprises:
[0019] Perform point cloud clustering on the point cloud data, and perform feature extraction on the point cloud data after the point cloud clustering to obtain a feature point cloud.
[0020] Determine a first similarity matching score according to the feature point cloud and the target map, wherein the evaluation parameter further comprises the first similarity matching score.
[0021] In some embodiments, determining the first similarity matching score according to the feature point cloud and the target map comprises:
[0022] Perform point cloud clustering on the point cloud data corresponding to the target map, and perform feature extraction on the point cloud data after the point cloud clustering to obtain a target feature point cloud.
[0023] Perform similarity evaluation on the feature point cloud and the target feature point cloud to obtain a similarity evaluation result.
[0024] If the similarity evaluation result is greater than or equal to a first similarity threshold, determine the first similarity matching score according to the similarity evaluation result.
[0025] In some embodiments, determining the evaluation parameter according to the target map to be evaluated and the laser observation data at the current time further comprises:
[0026] Obtain laser observation data at a previous time of the current time.
[0027] Determine two frames of positioning poses of the robot according to the laser observation data at the current time and the laser observation data at the previous time of the current time.
[0028] determine a first motion trajectory change of the robot according to the two frames of positioning poses of the robot;
[0029] determine a second similarity matching score according to the first motion trajectory change, wherein the evaluation parameter comprises the second similarity matching score.
[0030] In some embodiments, the robot further comprises an odometer configured to obtain odometer information.
[0031] determine a second similarity matching score according to the first motion trajectory change, comprising:
[0032] obtain the odometer information at the current time and odometer information at a previous time of the current time;
[0033] determine a second motion trajectory change of the robot according to the odometer information at the current time and the odometer information at the previous time of the current time;
[0034] if a difference between the first motion trajectory change and the second motion trajectory change is less than a motion trajectory change threshold, determine the second similarity matching score according to the difference between the first motion trajectory change and the second motion trajectory change.
[0035] In some embodiments, the evaluation parameter comprises an observation matching score, a first similarity matching score and a second similarity matching score.
[0036] evaluate the quality of the target map according to the evaluation parameter, comprising:
[0037] perform weighted calculation on the observation matching score, the first similarity matching score and the second similarity matching score to obtain a first position map quality score, wherein the first position map quality score is used to measure the map quality of the local map of the target map at the first position.
[0038] if the first position map quality score is less than a first score threshold, the map quality of the local map of the target map at the first position is unqualified.
[0039] In a second aspect, the embodiments of the present application provide a map evaluation device, comprising:
[0040] a data obtaining unit configured to obtain a target map to be evaluated and laser observation data at a current time;
[0041] a parameter determining unit configured to determine an evaluation parameter according to the target map to be evaluated and the laser observation data at the current time;
[0042] a map evaluation unit configured to evaluate the quality of the target map according to the evaluation parameter.
[0043] In a third aspect, an electronic device is provided, including:
[0044] at least one processor; and
[0045] a memory in communication with the at least one processor; wherein
[0046] The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the map evaluation method of the first aspect.
[0047] In a fourth aspect, a non-volatile computer-readable storage medium is provided, and the non-volatile computer-readable storage medium stores computer-executable instructions for causing an electronic device to perform the map evaluation method of the first aspect.
[0048] The beneficial effects of the embodiments of the present application are that, unlike the prior art, the embodiments of the present application provide a map evaluation method, including: obtaining a target map to be evaluated and laser observation data at a current time; determining an evaluation parameter according to the target map to be evaluated and the laser observation data at the current time; and evaluating the quality of the target map according to the evaluation parameter. By obtaining the target map to be evaluated and the laser observation data at the current time, determining the evaluation parameter according to the target map to be evaluated and the laser observation data at the current time, and evaluating the quality of the target map according to the evaluation parameter, the present application can accurately evaluate the quality of a map constructed by a robot through a laser radar. BRIEF DESCRIPTION OF DRAWINGS
[0049] One or more embodiments are illustrated by way of example with reference to the accompanying drawings, which are schematic and not intended to be limiting of the embodiments, and in which like reference numerals designate similar items in the figures, in which:
[0050] FIG. 1 is a schematic diagram of an application environment provided by the embodiments of the present application;
[0051] FIG. 2 is a flowchart of a map evaluation method provided by the embodiments of the present application;
[0052] FIG. 3 is a detailed flowchart of step S202 in FIG. 2
[0053] FIG. 4 is a detailed flowchart of step S222 in FIG. 3
[0054] FIG. 5 FIG. 2 Another refinement of the flow chart of step S202 in
[0055] FIG. 6 is FIG. 5 A refinement of the flow chart of step S224 in
[0056] FIG. 7 is FIG. 2 Yet another refinement of the flow chart of step S202 in
[0057] FIG. 8 is FIG. 7 A refinement of the flow chart of step S228 in
[0058] FIG. 9 is FIG. 2 A refinement of the flow chart of step S203 in
[0059] FIG. 10 is a structural schematic diagram of a map evaluation device provided by an embodiment of the present application;
[0060] FIG. 11 is a structural schematic diagram of an electronic device provided by an embodiment of the present application.
[0061] BRIEF DESCRIPTION OF DRAWINGS
[0062] Reference Signs Name Reference Signs Name 10 Robot 1012 Parameter determination unit 20 Electronic device 1013 Map evaluation unit 100 Application environment 110 Electronic device 101 Map evaluation device 111 Processor 1011 Data acquisition unit 112 Memory DETAILED DESCRIPTION
[0063] For the purpose of facilitating the understanding of the present application, the present application will be described in more detail below in conjunction with the accompanying drawings and specific embodiments. It should be noted that when an element is described as being "fixed to" another element, it can be directly on the other element or one or more intervening elements can be present therebetween. When an element is described as being "connected to" another element, it can be directly connected to the other element or one or more intervening elements can be present therebetween. The terms "vertical", "horizontal", "left", "right", and similar expressions used in the present specification are for the purpose of illustration only.
[0064] Unless otherwise defined, all technical and scientific terms used in the present specification are intended to have the same meaning as commonly understood by one of ordinary skill in the art to which the present application belongs. The terms used in the present specification are only for the purpose of describing specific embodiments of the present application and are not intended to limit the present application. The term "and / or" used in the present specification includes any and all combinations of one or more of the associated listed items.
[0065] The technical solutions of the present application will be described in detail below in conjunction with the accompanying drawings of the present specification:
[0066] Please refer to FIG. 1 , FIG. 1is a schematic diagram of an application environment provided by an embodiment of the present application;
[0067] As shown in the application environment 100, the robot 10 and the electronic device 20 are connected through a network, and the network includes wired and / or wireless networks. FIG. 1
[0068] In the embodiment of the present application, the robot 10 is a mobile robot capable of constructing a map using a laser radar, such as a delivery robot, a pet robot, a carrying robot, a nursing robot, a remote monitoring robot, a sweeping robot, etc.
[0069] The robot includes a main body, a driving wheel component, a camera unit, a laser radar, an odometer, a communication module, and a controller. The main body can be generally oval, triangular, D-shaped or other shapes. The controller is arranged on the main body, and the driving wheel component is mounted on the main body for driving the robot to move.
[0070] In the embodiment of the present application, the driving wheel component includes a left driving wheel, a right driving wheel, and an omni-directional wheel. The left driving wheel and the right driving wheel are respectively mounted on opposite sides of the main body. The omni-directional wheel is mounted on the front position of the bottom of the main body. The omni-directional wheel is a movable caster wheel, which can rotate horizontally by 360 degrees to make the robot flexible to turn. The left driving wheel, the right driving wheel, and the omni-directional wheel are mounted in a triangular shape to improve the stability of the robot walking.
[0071] In the embodiment of the present application, the camera unit is arranged on the body of the robot for acquiring image data and / or video data. The camera unit is communicatively connected to the controller for acquiring image data and / or video data within the coverage range of the camera unit, such as acquiring image data and / or video data within a certain closed space or acquiring image data and / or video data within a certain open space, and sending the acquired image data and / or video data to the controller. In the embodiment of the present application, the camera unit includes but is not limited to an infrared camera, a night vision camera, a network camera, a digital camera, a high-definition camera, a 4K camera, an 8K high-definition camera, etc.
[0072] In the embodiment of the present application, the laser radar communication connection controller, the laser radar is arranged on the body of the robot, for example, the laser radar is arranged on the mobile chassis of the body of the robot, or the laser radar is arranged on the side of the body of the robot, and the laser radar is used to obtain laser point cloud data. Specifically, the laser radar is used to obtain laser point cloud data in a monitoring range, the body of the robot is provided with a communication module, and the laser point cloud data obtained by the laser radar is sent to the controller through the communication module. In the embodiment of the present application, the laser radar includes a pulsed laser radar, a continuous wave laser radar and the like, and the mobile chassis includes a universal chassis, a waist type mobile chassis and the like.
[0073] In the embodiment of the present application, the odometer communication connection controller, the odometer is arranged on the body of the robot, for example, the odometer is arranged on the mobile chassis of the body of the robot, and the odometer is used to obtain odometer information. Specifically, the odometer is used to obtain mileage data of the robot in the moving process, the body of the robot is provided with a communication module, and the mileage data obtained by the odometer is sent to the controller through the communication module. In the embodiment of the present application, the odometer includes but is not limited to a wheeled odometer and the like.
[0074] In the embodiment of the present application, the communication module, the communication connection electronic equipment, is used to send data to the electronic equipment, for example, the point cloud data obtained by the laser radar or the target map constructed by the laser radar is sent to the electronic equipment, or the odometer information is sent to the electronic equipment. In the embodiment of the present application, the communication module can realize communication with the Internet, wherein the communication module includes but is not limited to a wired connection module and a wireless connection module, including a CAN communication bus, a WIFI module, a ZigBee module, an NB_IoT module, a 4G module, a 5G module, a Bluetooth module and the like.
[0075] In the embodiment of the present application, the controller is arranged in the main body, and the controller is electrically connected with the left drive wheel, the right drive wheel and the omnidirectional wheel respectively. The controller is used to control the robot to walk, retreat and some business logic processing as the control core of the robot. For example, the controller is used to receive image data and / or video data sent by the camera unit, and receive laser point cloud data sent by the laser radar, and construct a target map according to the laser point cloud data. Wherein, the controller performs operation on the laser point cloud data of the monitoring area through a simultaneous localization and mapping (SLAM) technology, that is, a laser SLAM algorithm, to construct a target map. In the embodiment of the present application, the laser SLAM algorithm includes Kalman filtering, particle filtering and graph optimization method.
[0076] In embodiments of the present application, the controller can be a general processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a single chip microcomputer, an ARM (Acorn RISC Machine), or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination of these components. The controller can also be any conventional processor, controller, microcontroller, or state machine. The controller can also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP and / or any other such configuration, or a combination of one or more of a microcontroller unit (MCU), a field-programmable gate array (FPGA), and a system on chip (SoC).
[0077] It can be understood that the robot 10 in the embodiments of the present application also includes a storage module, which includes but is not limited to one or more of the following devices: FLASH flash memory, NAND flash memory, vertical NAND flash memory (VNAND), NOR flash memory, resistive random access memory (RRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), spin transfer torque random access memory (STT-RAM), etc.
[0078] In embodiments of the present application, the robot 10 described above uses a simultaneous localization and mapping (SLAM) technique, i.e., a laser SLAM algorithm, for positioning and navigation during the activity, and constructs a map and positions according to environmental data.
[0079] In embodiments of the present application, the electronic device 20 is communicatively connected to the robot 10, or the electronic device 20 is configured in the robot 10, for obtaining the target map to be evaluated and the laser observation data at the current time sent by the robot 10, or determining an evaluation parameter according to the target map to be evaluated and the laser observation data at the current time sent by the robot 10, and evaluating the quality of the target map according to the evaluation parameter.
[0080] The electronic device 20 is an electronic device with certain computing power, and the electronic device 20 includes but is not limited to a terminal and a server. The terminal includes but is not limited to a notebook computer, a desktop computer, a mobile device, and various terminals with computing processing power. The server includes but is not limited to a tower server, a rack server, a blade server, and a cloud server.
[0081] In the embodiments of the present application, if the electronic device 20 is a server, the number of servers can be multiple, and the multiple servers can constitute a server cluster, for example, the server cluster includes a first server, a second server, …, and an Nth server, or the server cluster can be a cloud computing service center including a plurality of servers. Preferably, the electronic device 20 is a cloud server (Elastic Compute Service, ECS).
[0082] Please refer to FIG. 2 , FIG. 2 is a flowchart of a map evaluation method provided by the embodiments of the present application;
[0083] The map evaluation method is applied to an electronic device, for example, a terminal or a server. Specifically, the execution subject of the map evaluation method is one or at least two processors in the electronic device. The following takes a server as an example to illustrate the map evaluation method.
[0084] In the embodiments of the present application, the electronic device is communicatively connected to a robot, and the robot is used to construct a target map to be evaluated and acquire laser observation data at a current time. Specifically, the robot includes a laser radar, and the laser radar is used to construct the target map to be evaluated and acquire the laser observation data at the current time.
[0085] As shown in FIG. 2 , the map evaluation method includes:
[0086] Step S201: acquiring a target map to be evaluated and laser observation data at a current time;
[0087] Specifically, the server receives the target map to be evaluated and the laser observation data at the current time sent by the robot. The target map to be evaluated is a map generated by a laser radar SLAM algorithm during surveying of a designated area by the robot. The laser observation data at the current time is laser observation data acquired by the robot when performing laser observation in a surveying area corresponding to the target map to be evaluated. The laser observation data is laser scanning information including angle and distance data. The laser observation data is acquired from the laser radar. In some embodiments of the present application, one rotation of the laser radar on a two-dimensional plane can obtain one piece of laser scanning information.
[0088] Step S202: determining an evaluation parameter according to the target map to be evaluated and the laser observation data at the current time;
[0089] Specifically, the server determines the evaluation parameter according to the target map to be evaluated and the laser observation data at the current time sent by the robot. The evaluation parameter includes an observation matching score, a first similar matching score, and a second similar matching score.
[0090] Specifically, please refer to FIG. 3 , FIG. 3 is FIG. 2 a refinement flowchart of step S202;
[0091] In the embodiment of the present application, the laser observation data includes point cloud data, the target map to be evaluated includes the pose and the point cloud data of the robot at each moment in the process of constructing the target map, and the robot further includes an odometer for obtaining odometer information.
[0092] As FIG. 3 shown, step S202: according to the target map to be evaluated and the laser observation data at the current moment, determine the evaluation parameter, including:
[0093] Step S221: according to the laser observation data at the current moment, determine the pose of the robot at the current moment and the point cloud data corresponding to the pose;
[0094] Specifically, the pose of the robot includes the position and the attitude of the robot, which indicates the position and the orientation of the robot, wherein the position is coordinate data, which can be two-dimensional coordinate data or three-dimensional coordinate data.
[0095] Specifically, the server first filters and removes noise points from the received laser observation data at the current moment by using a filtering algorithm to avoid the problem of similar plane inconsistency caused by measurement accuracy errors, wherein the filtering algorithm includes but is not limited to single-point filtering, median filtering, extracting houghline and other filtering algorithms.
[0096] Further, the server converts the odometer information into robot pose change information through a wheeled odometer kinematics model, and preliminarily calculates a predicted pose through a Bayesian filter, and then corrects the predicted pose preliminarily calculated by the Bayesian filter according to the laser observation data at the current moment, i.e. the point cloud data, to obtain the final pose of the robot at the current moment, wherein the odometer information can be sent to the server by the robot at the same time as sending the laser observation data at the current moment. It can be understood that the wheeled odometer kinematics model, the system observation model and the Bayesian filter for calculating the predicted pose are all prior art, and will not be described here.
[0097] It can be understood that the laser observation data at the current moment after filtering and removing noise points by the filtering algorithm is the point cloud data corresponding to the pose of the robot at the current moment.
[0098] Step S222: according to the pose of the robot at the current moment and the point cloud data corresponding to the pose, and the pose and the point cloud data of the robot at each moment in the process of constructing the target map, determine the observation matching score.
[0099] Specifically, the evaluation parameter includes an observation matching score, and the server determines a first position of the target map according to the pose of the robot at the current time and the poses of the robot at each time in the process of constructing the target map, and then calculates the matching degree of the point cloud data corresponding to the pose of the robot at the current time and the point cloud data corresponding to the first position of the target map, and determines the observation matching score according to the matching degree.
[0100] Specifically, please refer to FIG. 4 , FIG. 4 is FIG. 3 the refinement flowchart of step S222 in
[0101] As shown in FIG. 4 , the step S222: determining an observation matching score according to the pose of the robot at the current time and the point cloud data corresponding to the pose, and the poses of the robot at each time in the process of constructing the target map and the point cloud data, includes:
[0102] Step S2221: determining a first position of the target map according to the pose of the robot at the current time and the poses of the robot at each time in the process of constructing the target map.
[0103] In the embodiment of the present application, the coordinate system used by the robot in the process of constructing the target map and the robot when acquiring the laser observation data at the current time is the same, that is, the positions of the origins and the directions of the coordinate axes are the same. It can be understood that the robot obtains the point cloud data in the preset region of the robot at each pose point through the laser radar in the process of constructing the target map, wherein the preset region is a circular region with the pose point as the center and a preset radius, and the preset radius can be set by the person skilled in the art according to the actual situation.
[0104] Specifically, the server determines a pose point of the robot in the process of constructing the target map which is the same as the pose of the robot at the current time according to the pose of the robot at the current time and the poses of the robot at each time in the process of constructing the target map, and determines the first position of the target map according to the pose point, wherein the first position of the target map is a preset region with the pose point as the center and a preset radius.
[0105] Step S2222: calculating the matching degree of the point cloud data corresponding to the pose of the robot at the current time and the point cloud data corresponding to the first position of the target map.
[0106] Specifically, after determining the first position of the target map, the server filters and removes noise points from the point cloud data corresponding to the first position of the target map by using a filtering algorithm, and then calculates the matching degree between the point cloud data corresponding to the current pose of the robot and the filtered and noise-removed point cloud data corresponding to the first position of the target map, wherein the matching degree is the proportion of ghost points between the filtered and noise-removed point cloud data corresponding to the current pose of the robot and the filtered and noise-removed point cloud data corresponding to the first position of the target map, and the matching degree can be represented by a percentage. The ghost point refers to two point clouds with the same point cloud coordinates.
[0107] For example, the number of filtered and noise-removed point cloud data corresponding to the current pose of the robot is 100, the number of filtered and noise-removed point cloud data corresponding to the first position of the target map is 98, and the number of ghost points between the filtered and noise-removed point cloud data corresponding to the current pose of the robot and the filtered and noise-removed point cloud data corresponding to the first position of the target map is 80*2, that is, 80 point cloud data corresponding to the current pose of the robot and 80 point cloud data corresponding to the first position of the target map are ghosted. Therefore, the matching degree is the number of ghost points divided by the total number of point cloud data, that is, (80*2) ÷ (100+98) = 80.8%.
[0108] Step S2223: determining an observation matching score according to the matching degree.
[0109] Specifically, the server obtains the observation matching score according to: observation matching score = matching degree * observation matching threshold, wherein the observation matching threshold can be set by a person skilled in the art according to actual conditions.
[0110] In the embodiment of the present application, the point cloud data corresponding to the current pose of the robot and the point cloud data corresponding to the first position of the target map can also be matched by using the iterative closest point algorithm to obtain the matching degree.
[0111] Please refer to FIG. 5 , FIG. 5 is FIG. 2 another detailed flowchart of step S202 in
[0112] In the embodiment of the present application, the evaluation parameter further includes a first similar matching score.
[0113] As FIG. 5 shown, step S202: determining an evaluation parameter according to the target map to be evaluated and the laser observation data at the current time, comprising:
[0114] Step S223: point cloud clustering is performed on the point cloud data, and feature extraction is performed on the point cloud data after the point cloud clustering to obtain feature point cloud;
[0115] Specifically, the server clusters the point cloud data corresponding to the pose of the robot at the current time through an unsupervised learning clustering algorithm, for example, a DBSCAN clustering algorithm is used to cluster the particles. DBSCAN (Density-Based Spatial Clustering of Applications with Noise) is a relatively representative density-based clustering algorithm. Unlike other partitioning and hierarchical clustering methods, it defines a cluster as the maximum set of points that are densely connected, and can divide areas with sufficiently high density into clusters and discover clusters of arbitrary shape in a noisy spatial database. Through the DBSCAN clustering algorithm, obstacles with too small area and too sparse point density can be removed, which may be static obstacles such as leaves.
[0116] Further, the server extracts features from the point cloud data after the point cloud clustering, taking into account dynamic obstacles, and removes dynamic obstacles in the road environment, such as people, linen carts, etc., to obtain feature point cloud.
[0117] Specifically, the server first extracts the ground point cloud, and then performs target segmentation and clustering on the remaining non-ground point cloud, and removes targets smaller than a set size. The extraction method of the ground point cloud includes but is not limited to an angle segmentation method based on a depth image, that is, the laser point cloud in each frame is projected into a depth image, unorganized and disordered unstructured point cloud data is converted into organized point cloud data, a Savitsky-Golay smoothing algorithm is applied to mark the ground on the angle image, and a breadth-first search (BFS) is used to mark similar components together to obtain the point cloud data area corresponding to the ground point cloud.
[0118] Specifically, the server extracts the ground point cloud, performs real-time target segmentation on the depth image after the ground point cloud is removed, and removes the dynamic obstacles from each frame of laser radar data. Wherein, the real-time target segmentation on the depth image after the ground point cloud is removed comprises: determining whether to divide or merge two adjacent laser points in the depth image into two categories or one category according to the included angle of two laser beams emitted by the laser radar at the same point in the depth image, and connecting the laser point cloud of the same category by using Breadth-First Search (BFS). After the target segmentation is completed, the server screens the laser point cloud clusters of different categories after the target segmentation, and removes the laser point cloud clusters with lengths in X direction, Y direction and Z direction less than a set threshold. It can be understood that the laser point cloud clusters with lengths in X direction, Y direction and Z direction less than the set threshold are dynamic obstacles on the road, such as people, linen carts, etc., wherein the set threshold can be set by the person skilled in the art according to the actual situation.
[0119] It can be understood that the non-ground point cloud after removing the dynamic obstacles is the point cloud representing the main structural features such as walls and columns in the space environment, i.e. the feature point cloud.
[0120] Step S224: determining a first similarity matching score according to the feature point cloud and the target map.
[0121] Specifically, the server performs point cloud clustering on the point cloud data corresponding to the target map, performs feature extraction on the point cloud data after the point cloud clustering, obtains the target feature point cloud, then performs similarity evaluation on the feature point cloud and the target feature point cloud, obtains the similarity evaluation result, and determines the first similarity matching score according to the similarity evaluation result.
[0122] Specifically, please refer to FIG. 6 , FIG. 6 is FIG. 5 the detailed flowchart of step S224 in
[0123] As shown in FIG. 6 , the step S224: determining a first similarity matching score according to the feature point cloud and the target map, comprises:
[0124] Step S2241: performing point cloud clustering on the point cloud data corresponding to the target map, and performing feature extraction on the point cloud data after the point cloud clustering to obtain the target feature point cloud;
[0125] Specifically, the server determines the pose point of the robot in the process of constructing the target map which is the same as the pose of the robot at the current moment according to the pose of the robot at the current moment and the pose of the robot at each moment in the process of constructing the target map, and determines the first position of the target map according to the pose point.
[0126] Further, the server performs point cloud clustering on the point cloud data corresponding to the first position of the target map, and performs feature extraction on the point cloud data after the point cloud clustering to obtain target feature point cloud. It can be understood that the specific implementation method of this step is similar to that of step S223, and will not be described here.
[0127] In the embodiments of the present application, by respectively performing point cloud clustering on the point cloud data observed by the robot at the current time and the point cloud data corresponding to the target map, and performing feature extraction on the point cloud data after the point cloud clustering, the feature point cloud and the target feature point cloud are obtained. The present application can eliminate the influence of dynamic obstacles on the similarity evaluation, and more accurately obtain the similarity evaluation result of the feature point cloud and the target feature point cloud.
[0128] Step S2242: performing similarity evaluation on the feature point cloud and the target feature point cloud to obtain a similarity evaluation result;
[0129] Specifically, the server constructs a feature vector and a target feature vector from the feature point cloud and the target feature point cloud respectively, and calculates the similarity evaluation result of the feature vector and the target feature vector through Pearson correlation analysis. It can be understood that Pearson correlation analysis is a prior art and will not be described here.
[0130] Step S2243: if the similarity evaluation result is greater than or equal to a first similarity threshold, determining a first similar matching score according to the similarity evaluation result.
[0131] It can be understood that the greater the value of the similarity evaluation result of the feature vector and the target feature vector calculated through Pearson correlation analysis, the more similar the feature vector and the target feature vector, that is, the more the number of coordinates of the feature point cloud and the target feature point cloud are the same, indicating that the accuracy of the local map of the target map at this position is high and the error is small.
[0132] Specifically, if the similarity evaluation result is greater than or equal to the first similarity threshold, the server determines the first similar matching score according to: first similar matching score = similarity evaluation result * first similar matching threshold; if the similarity evaluation result is less than the first similarity threshold, it indicates that the error of the local map of the target map at this position is large, and the first similar matching score is a small value, which can be calculated according to the following formula:
[0133] first similar matching score = similarity evaluation result * first similar matching threshold * first coefficient
[0134] Wherein, the first coefficient is a small value. It can be understood that the first similarity threshold, the first similar matching threshold and the first coefficient can be set by those skilled in the art according to the actual situation.
[0135] For example, if the similarity evaluation result is 0.9, the first similarity threshold is 0.6, and the first similar matching threshold is 50, then the first similar matching score = 0.9 * 50 = 45; if the similarity evaluation result is 0.5, the first similarity threshold is 0.6, the first similar matching threshold is 50, and the first coefficient is 0.1, then the first similar matching score = 0.5 * 50 * 0.1 = 2.5.
[0136] Please refer to FIG. 7 , FIG. 7 is FIG. 2 a further refinement of step S202 in
[0137] In the embodiments of the present application, the evaluation parameter further includes a second similar matching score.
[0138] As shown in FIG. 7 , the step S202: determining an evaluation parameter according to the target map to be evaluated and the laser observation data at the current time, including:
[0139] Step S225: obtaining the laser observation data at the previous time of the current time;
[0140] Specifically, the server receives the laser observation data sent by the robot in real time, and stores it in the memory of the server. The laser observation data at the previous time of the current time is also stored in the memory of the server, and is called from the memory when needed by the processor of the server. Alternatively, the laser observation data at the current time is the current frame of laser point cloud obtained by the lidar, and the laser observation data at the previous time of the current time is the previous frame of laser point cloud of the current frame of laser point cloud obtained by the lidar. In the present application, the time interval between the current time and the previous time is an integer multiple of the scanning period of the lidar.
[0141] Step S226: determining two frames of positioning poses of the robot according to the laser observation data at the current time and the laser observation data at the previous time of the current time;
[0142] Specifically, the server determines the positioning pose of the robot at the current time according to the current frame of laser point cloud obtained by the lidar, and determines the positioning pose of the robot at the previous time of the current time according to the previous frame of laser point cloud of the current frame of laser point cloud obtained by the lidar, wherein the positioning pose is the final pose of the robot, and the specific implementation method of determining the positioning pose of the robot according to the laser observation data is the same as the method of determining the final pose of the robot at the current time according to the laser observation data in step S221, which will not be repeated here.
[0143] Step S227: determining a first motion trajectory change of the robot according to the two frames of positioning poses of the robot;
[0144] Specifically, the first motion trajectory change quantity comprises a first motion distance, and the server calculates the first motion distance of the robot between two frames of positioning poses according to position coordinates of the two frames of positioning poses, wherein the first motion distance is a distance between the position coordinates of the current frame of positioning poses and the position coordinates of the previous frame of positioning poses, for example: if the position coordinates of the current frame of positioning poses are P1(x1, y1), and the position coordinates of the previous frame of positioning poses are P2(x2, y2), then the first motion distance is
[0145] Step S228: determining a second similar matching score according to the first motion trajectory change quantity.
[0146] Specifically, the server determines the second similar matching score according to the first motion trajectory change quantity and the second motion trajectory change quantity.
[0147] Specifically, please refer to FIG. 8 , FIG. 8 is FIG. 7 a refinement flowchart of step S228 in
[0148] In the embodiment of the present application, the robot further comprises an odometer, and the odometer is configured to obtain odometer information.
[0149] As shown in FIG. 8 , the step S228: determining a second similar matching score according to the first motion trajectory change quantity, comprises:
[0150] Step S2281: obtaining odometer information at a current time and odometer information at a previous time of the current time.
[0151] Specifically, the server receives the odometer information at the current time sent by the robot and stores the odometer information in the memory of the server at the same time of receiving the laser observation data at the current time sent by the robot. The odometer information at the previous time of the current time is also stored in the memory of the server, and is called from the memory by the processor of the server when needed.
[0152] Step S2282: determining a second motion trajectory change quantity of the robot according to the odometer information at the current time and the odometer information at the previous time of the current time.
[0153] Specifically, the second motion trajectory change quantity comprises a second motion distance, and the server converts the odometer information at the current time and the odometer information at the previous time of the current time into robot pose change information through a wheeled odometer kinematics model, and calculates a predicted pose of the robot at the current time and a predicted pose of the robot at the previous time of the current time through a Bayesian filter.
[0154] Further, the server calculates a second motion distance of the robot according to a position coordinate of the predicted pose of the robot at the current time and a position coordinate of the predicted pose of the robot at a previous time of the current time, where the second motion distance is a distance between the position coordinate of the predicted pose at the current time and the position coordinate of the predicted pose at the previous time of the current time. For example, if the position coordinate of the predicted pose at the current time is P3(x3, y3), and the position coordinate of the predicted pose at the previous time of the current time is P4(x4, y4), then the second motion distance is
[0155] Step S2283: If the difference between the first motion trajectory change amount and the second motion trajectory change amount is less than the motion trajectory change threshold, a second similarity matching score is determined according to the difference between the first motion trajectory change amount and the second motion trajectory change amount.
[0156] Specifically, the difference between the first motion trajectory change amount and the second motion trajectory change amount is a difference between the first motion distance and the second motion distance. The server calculates the difference between the first motion distance and the second motion distance to obtain a motion trajectory change value. If the motion trajectory change value is less than or equal to the motion trajectory change threshold, it indicates that the two predicted poses of the robot and the final pose are very close, the local map accuracy of the target map at this position is high, and the error is small. Then, the server calculates the second similarity matching score according to the following formula:
[0157] Second similarity matching score = motion trajectory ratio * second similarity matching threshold.
[0158] Wherein, the motion trajectory ratio is a ratio of the first motion distance to the second motion distance (the larger value is the denominator and the smaller value is the numerator), and the second similarity matching threshold can be set by a person skilled in the art according to actual conditions.
[0159] For example, the first motion distance is 0.5 meters, the second motion distance is 0.55 meters, the motion trajectory change threshold is 0.1 meters, the second similarity matching threshold is 50, the motion trajectory change value = 0.55-0.5 = 0.05 meters, the motion trajectory change value is less than the motion trajectory change threshold, the motion trajectory ratio = 0.5 / 0.55 ≈ 0.91, and the second similarity matching score = 0.91*50 = 45.5.
[0160] Specifically, if the motion trajectory change value is greater than the motion trajectory change threshold, it indicates that the error of the two predicted poses of the robot and the final pose is large, and the local map error of the target map at this position is large. Then, the server calculates the second similarity matching score according to the following formula:
[0161] Second similarity matching score = motion trajectory ratio * second similarity matching threshold * second coefficient
[0162] The motion trajectory ratio is a ratio of the first motion distance and the second motion distance (the larger one as the denominator and the smaller one as the numerator), and the second coefficient is a smaller number. It can be understood that the second similar matching threshold and the second coefficient can be set by those skilled in the art according to actual conditions.
[0163] For example, the first motion distance is 0.5 meters, the second motion distance is 0.65 meters, the motion trajectory change threshold is 0.1 meters, the second similar matching threshold is 50, the second coefficient is 0.5, the motion trajectory change value is 0.65-0.5=0.15 meters, the motion trajectory change value is greater than the motion trajectory change threshold, the motion trajectory ratio is 0.5 / 0.65≈0.77, and the second similar matching score is 0.77*50*0.5=19.25.
[0164] Step S203: evaluating the quality of the target map according to the evaluation parameters.
[0165] Specifically, the evaluation parameters include the observation matching score, the first similar matching score and the second similar matching score. The server evaluates the quality of the target map according to the observation matching score, the first similar matching score and the second similar matching score.
[0166] Specifically, please refer to the detailed flowchart of step S203 in FIG. 9 , FIG. 9 is FIG. 2 ;
[0167] As shown in FIG. 9 , the step S203: evaluating the quality of the target map according to the evaluation parameters, includes:
[0168] Step S2031: performing weighted calculation on the observation matching score, the first similar matching score and the second similar matching score to obtain a first position map quality score.
[0169] Specifically, the first position map quality score is used to measure the map quality of the local map of the target map at the first position. The server respectively assigns different weight coefficients to the observation matching score, the first similar matching score and the second similar matching score, and then performs weighted calculation on the observation matching score, the first similar matching score and the second similar matching score to obtain the first position map quality score.
[0170] In the embodiment of the present application, different weight coefficients are assigned to the observation matching score, the first similar matching score and the second similar matching score, and then the observation matching score, the first similar matching score and the second similar matching score are weighted and calculated to obtain the first position map quality score. The present application can flexibly use different evaluation parameters to evaluate the quality of the target map, and improve the accuracy of evaluating the quality of the target map through different weight coefficients.
[0171] Step S2032: If the first position map quality score is less than the first score threshold, the map quality of the local map of the target map at the first position is unqualified.
[0172] Specifically, if the first position map quality score is greater than or equal to the first score threshold, the server determines that the map quality of the local map of the target map at the first position is qualified; if the first position map quality score is less than the first score threshold, the server determines that the map quality of the local map of the target map at the first position is unqualified.
[0173] In the embodiment of the present application, the electronic device further includes a display screen, and the method further includes:
[0174] If the map quality of the local map of the target map at the first position is unqualified, the first position is marked as an unqualified position, and the display screen is controlled to display the local map of the target map at the first position.
[0175] In the embodiment of the present application, the quality of the target map is evaluated according to the evaluation parameters, and the method further includes:
[0176] The quality score of the local map of the target map at each position is obtained according to the evaluation parameters;
[0177] The overall quality score of the target map is obtained by averaging the quality scores of the local maps of the target map at each position.
[0178] In the embodiment of the present application, the method further includes:
[0179] The display screen is controlled to display the overall quality score of the target map and each unqualified position.
[0180] In the embodiment of the present application, by providing a map evaluation method, the method includes: obtaining a target map to be evaluated and laser observation data at a current time; determining evaluation parameters according to the target map to be evaluated and the laser observation data at the current time; and evaluating the quality of the target map according to the evaluation parameters. By obtaining the target map to be evaluated and the laser observation data at the current time, determining the evaluation parameters according to the target map to be evaluated and the laser observation data at the current time, and evaluating the quality of the target map according to the evaluation parameters, the present application can accurately evaluate the quality of the map constructed by the robot through the laser radar.
[0181] Please refer to FIG. 10 , FIG. 10 is a structural schematic diagram of a map evaluation device provided in an embodiment of the present application;
[0182] The map evaluation device is applied to an electronic device, for example, a terminal or a server, and specifically, the map evaluation device is applied to one or at least two processors of the electronic device.
[0183] As shown in FIG. 10 , the map evaluation device 101 comprises:
[0184] A data acquisition unit 1011 is configured to acquire a target map to be evaluated and laser observation data at a current time;
[0185] A parameter determination unit 1012 is configured to determine an evaluation parameter according to the target map to be evaluated and the laser observation data at the current time;
[0186] A map evaluation unit 1013 is configured to evaluate the quality of the target map according to the evaluation parameter.
[0187] In the embodiment of the present application, the map evaluation device can also be built by hardware devices, for example, the map evaluation device can be built by one or more than two chips, and each chip can work in coordination with each other to complete the map evaluation method described in each embodiment. For another example, the map evaluation device can also be built by various logic devices, such as built by a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a single-chip microcomputer, an ARM (Acorn RISC Machine), or other programmable logic devices, discrete gates or transistor logic, discrete hardware components, or any combination of these components.
[0188] The map evaluation device in the embodiments of the present application can be a device, a component in a terminal, an integrated circuit, or a chip. The device can be a mobile electronic device or a non-mobile electronic device. Exemplarily, the mobile electronic device can be a mobile phone, a tablet computer, a notebook computer, a palm computer, a vehicle-mounted electronic device, a wearable device, an ultra-mobile personal computer (UMPC), a netbook, or a personal digital assistant (PDA), and the like, and the non-mobile electronic device can be a server, a network attached storage (NAS), a personal computer (PC), a television (TV), a teller machine, or a self-service machine, and the like, and the embodiments of the present application are not limited specifically.
[0189] The map evaluation device in the embodiments of the present application can be a device with an operating system. The operating system can be an Android operating system, an ios operating system, or other possible operating systems, and the embodiments of the present application are not limited specifically.
[0190] The map evaluation device provided in the embodiments of the present application can achieve the following advantages. FIG. 2 The various processes are achieved, and details are not repeated here to avoid repetition.
[0191] It should be noted that the map evaluation device can execute the map evaluation method provided in the embodiments of the present application, and has the corresponding function modules and beneficial effects of executing the method. Technical details not described in detail in the map evaluation device embodiments can be referred to the map evaluation method provided in the above embodiments.
[0192] In the embodiments of the present application, by providing a map evaluation device, comprising: a data acquisition unit configured to acquire a target map to be evaluated and laser observation data at a current time; a parameter determination unit configured to determine an evaluation parameter according to the target map to be evaluated and the laser observation data at the current time; and a map evaluation unit configured to evaluate the quality of the target map according to the evaluation parameter. By acquiring the target map to be evaluated and the laser observation data at the current time, determining the evaluation parameter according to the target map to be evaluated and the laser observation data at the current time, and evaluating the quality of the target map according to the evaluation parameter, the present application can accurately evaluate the quality of the map constructed by the robot through the laser radar.
[0193] Please refer to FIG. 11 , FIG. 11 is a structural schematic diagram of an electronic device provided in the embodiments of the present application;
[0194] AsFIG. 11 As shown, the electronic device 110 includes one or more processors 111 and a memory 112. Among them, FIG. 11 In an example, the processor 111 is taken as an example.
[0195] The processor 111 and the memory 112 can be connected by a bus or other means, FIG. 2 In an example, the connection by the bus is taken as an example.
[0196] The processor 111 is configured to provide computing and control capabilities to control the electronic device 110 to perform corresponding tasks, for example, to control the electronic device 110 to perform the map evaluation method in any of the above method embodiments, including: obtaining a target map to be evaluated and laser observation data at a current time, determining an evaluation parameter according to the target map to be evaluated and the laser observation data at the current time, and evaluating the quality of the target map according to the evaluation parameter.
[0197] By determining the evaluation parameter according to the target map to be evaluated and the laser observation data at the current time, and evaluating the quality of the target map according to the evaluation parameter, the application can accurately evaluate the quality of the map constructed by the robot through the laser radar.
[0198] The processor 111 can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), a hardware chip, or any combination thereof; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The above-mentioned PLD can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
[0199] Memory 112, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs, non-transitory computer-executable programs, and modules, such as the program instructions / modules corresponding to the map evaluation method in the embodiments of this application. Processor 111 can implement the map evaluation method in any of the above method embodiments by running the non-transitory software programs, instructions, and modules stored in memory 112. Specifically, memory 112 may include volatile memory (VM), such as random access memory (RAM); memory 112 may also include non-volatile memory (NVM), such as read-only memory (ROM), flash memory, hard disk drive (HDD), solid-state drive (SSD), or other non-transitory solid-state storage devices; memory 112 may also include combinations of the above types of memory.
[0200] Memory 112 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other non-volatile solid-state storage device. In some embodiments, memory 112 may optionally include memory remotely located relative to processor 111, and these remote memories may be connected to processor 111 via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
[0201] One or more modules are stored in memory 112. When executed by one or more processors 111, they perform the map evaluation method in any of the above method embodiments, for example, the method described above. FIG. 10 The steps shown can also be implemented. FIG. 2 The functions of each module or unit.
[0202] In this embodiment, the electronic device 110 may also have wired or wireless network interfaces, keyboards, and input / output interfaces for input and output. The electronic device 110 may also include other components for implementing device functions, which will not be described in detail here.
[0203] The electronic devices described in this application exist in various forms, and perform the above-described... FIG. 10 The steps shown can also be implemented. The functions of each unit include, but are not limited to: terminals, servers, and other electronic devices with computing capabilities.
[0204] The embodiments of the present application further provide a computer readable storage medium, for example, a memory including program codes, which can be executed by a processor to complete the map evaluation method in the above embodiments. For example, the computer readable storage medium can be a Read-Only Memory (ROM), a Random Access Memory (RAM), a Compact Disc Read-Only Memory (CDROM), a magnetic tape, a floppy disk and an optical data storage device, etc.
[0205] The embodiments of the present application further provide a computer program product including one or more program codes stored in a computer readable storage medium. The processor of the electronic device reads the program codes from the computer readable storage medium, and the processor executes the program codes to complete the method steps of the map evaluation method provided in the above embodiments.
[0206] Those skilled in the art can understand that all or part of the steps of the above embodiments can be completed by hardware, or by program codes related hardware, and the program can be stored in a computer readable storage medium. The storage medium mentioned above can be a Read-Only Memory, a magnetic disk or an optical disk, etc.
[0207] Through the above description of the embodiments, those skilled in the art can clearly understand that the embodiments can be implemented by means of software plus a general hardware platform, and of course, can also be implemented by hardware. Those skilled in the art can understand that all or part of the processes in the above embodiments can be completed by a computer program to instruct related hardware, and the program can be stored in a computer readable storage medium. When the program is executed, it can include the processes of the above embodiments. The storage medium can be a magnetic disk, an optical disk, a Read-Only Memory (ROM) or a Random Access Memory (RAM), etc.
[0208] Finally, it should be noted that: the above examples are only used to illustrate the technical solutions of the present application, but not to limit them; under the idea of the present application, the technical features in the above examples or different embodiments can also be combined, the steps can be implemented in any order, and there are many other changes of different aspects of the present application as described above, which are not provided in detail for simplicity; although the present application has been described in detail with reference to the foregoing examples, those skilled in the art should understand that: it can still modify the technical solutions recorded in the foregoing examples, or make equivalent replacement for part of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A map evaluation method characterized by comprising: The method comprises: acquiring a target map to be evaluated and laser observation data at a current time, wherein the laser observation data comprises point cloud data, and the target map to be evaluated comprises poses of a robot at various times in a process of constructing the target map and point cloud data; determining an evaluation parameter according to the target map to be evaluated and the laser observation data at the current time, wherein the evaluation parameter comprises an observation matching score, a first similar matching score and a second similar matching score; evaluating the quality of the target map according to the evaluation parameter, comprising: evaluating the quality of the target map according to the observation matching score, the first similar matching score and the second similar matching score; the method comprises: determining the pose of the robot at the current time and point cloud data corresponding to the pose according to the laser observation data at the current time; determining a first position of the target map according to the pose of the robot at the current time and the poses of the robot at various times in the process of constructing the target map; calculating a matching degree of the point cloud data corresponding to the pose of the robot at the current time and point cloud data corresponding to the first position of the target map; and determining an observation matching score according to the matching degree; performing point cloud clustering on the point cloud data, and performing feature extraction on the point cloud data after the point cloud clustering to remove dynamic obstacles, to obtain feature point cloud; performing point cloud clustering on the point cloud data corresponding to the target map, and performing feature extraction on the point cloud data after the point cloud clustering to obtain target feature point cloud; performing similarity evaluation on the feature point cloud and the target feature point cloud to obtain a similarity evaluation result; and determining a first similar matching score according to the similarity evaluation result if the similarity evaluation result is greater than or equal to a first similarity threshold; acquiring laser observation data at a previous time of the current time; determining two frames of positioning poses of the robot according to the laser observation data at the current time and the laser observation data at the previous time of the current time; determining a first motion trajectory change amount of the robot according to the two frames of positioning poses of the robot; the robot comprises an odometer configured to acquire odometer information; acquiring odometer information at the current time and odometer information at the previous time of the current time; determining a second motion trajectory change amount of the robot according to the odometer information at the current time and the odometer information at the previous time of the current time; and determining a second similar matching score according to a difference between the first motion trajectory change amount and the second motion trajectory change amount if the difference is less than a motion trajectory change threshold.
2. The method of claim 1, wherein, The method is applied to an electronic device, and the electronic device is communicatively connected to a robot, and the robot is configured to construct the target map to be evaluated and acquire laser observation data at a current time.
3. The method of claim 1, wherein, the method comprises: The observation matching score, the first similar matching score and the second similar matching score are weighted to obtain a first position map quality score, wherein the first position map quality score is used to measure a map quality of a local map of the target map at the first position; If the first position map quality score is less than a first score threshold, the map quality of the local map of the target map at the first position is unqualified.
4. A map evaluation device characterized by comprising: The device comprises: A data acquisition unit configured to acquire a target map to be evaluated and laser observation data at a current time, wherein the laser observation data comprises point cloud data, and the target map to be evaluated comprises poses and point cloud data of a robot at each time in a process of constructing the target map; A parameter determination unit configured to determine evaluation parameters according to the target map to be evaluated and the laser observation data at the current time, wherein the evaluation parameters comprise an observation matching score, a first similar matching score and a second similar matching score; A map evaluation unit configured to evaluate a quality of the target map according to the evaluation parameters; The map evaluation unit is specifically configured to evaluate the quality of the target map according to the observation matching score, the first similar matching score and the second similar matching score. The parameter determination unit is specifically configured to: Determine a pose of the robot at the current time and point cloud data corresponding to the pose according to the laser observation data at the current time; determine a first position of the target map according to the pose of the robot at the current time and poses of the robot at each time in the process of constructing the target map; calculate a matching degree of the point cloud data corresponding to the pose of the robot at the current time and point cloud data corresponding to the first position of the target map; and determine an observation matching score according to the matching degree; Perform point cloud clustering on the point cloud data, perform feature extraction on the point cloud data after the point cloud clustering, and remove dynamic obstacles to obtain feature point cloud; perform point cloud clustering on point cloud data corresponding to the target map, perform feature extraction on the point cloud data after the point cloud clustering, and obtain target feature point cloud; perform similarity evaluation on the feature point cloud and the target feature point cloud to obtain a similarity evaluation result; and if the similarity evaluation result is greater than or equal to a first similarity threshold, determine a first similar matching score according to the similarity evaluation result; Obtaining laser observation data of a previous time of a current time; determining two frames of positioning poses of the robot according to the laser observation data of the current time and the laser observation data of the previous time of the current time; determining a first motion trajectory change quantity of the robot according to the two frames of positioning poses of the robot; the robot comprises an odometer, and the odometer is used for obtaining odometer information; obtaining odometer information of a previous time of a current time and odometer information of a previous time of the current time; determining a second motion trajectory change quantity of the robot according to the odometer information of the current time and the odometer information of the previous time of the current time; if a difference between the first motion trajectory change quantity and the second motion trajectory change quantity is less than a motion trajectory change threshold, determining the second similarity matching score according to the difference between the first motion trajectory change quantity and the second motion trajectory change quantity.
5. An electronic device, comprising: Comprise: at least one processor; and a memory connected with the at least one processor in communication; wherein, the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the map evaluation method according to any one of claims 1-3.
Citation Information
Patent Citations
Map evaluation method and device, electronic equipment and storage medium
CN112634260A
Verification method and device of high-precision map, equipment and storage medium
CN114419590A