Environmental map optimization methods, devices, robots, and readable storage media
By acquiring the straight-line information of the object to be identified by the robot and optimizing the pose using an extended Kalman filter, the problem of large errors in robot environment map construction is solved, and more accurate map updates are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- INST OF SEMICONDUCTORS - CHINESE ACAD OF SCI
- Filing Date
- 2022-10-18
- Publication Date
- 2026-06-30
AI Technical Summary
The environmental maps built by existing robots suffer from large scanning errors due to the long distance or large scanning angle of the LiDAR during scanning, which affects the quality of the maps.
By acquiring the first straight-line information of the object to be identified, the first coordinate information of the landmark in the body coordinate system is determined, and the pose is optimized using an extended Kalman filter, which is then transformed to the second coordinate information in the world coordinate system to update the environment map.
It improved the accuracy and quality of environmental maps and reduced errors in map construction.
Smart Images

Figure CN115661386B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of map building technology, and in particular to an environmental map optimization method, apparatus, robot, and readable storage medium. Background Technology
[0002] With the development of robotics technology, various types of robots are being widely used in all aspects of human daily life.
[0003] In the process of building environmental maps of their environment, existing robots often use lidar sensors for positioning and navigation. However, during lidar scanning, the scanning results are prone to distortion due to the large distance between the scanned object and the lidar, or the large angle of incidence of the lidar relative to the scanned object. This results in a large error in the scanning results, which in turn makes the target environment map built by the robot inaccurate and affects the quality of the target environment map. Summary of the Invention
[0004] This invention provides an environmental map optimization method, apparatus, robot, and readable storage medium to address the shortcomings of existing technologies where the target environmental map constructed by the robot is not accurate enough, affecting the quality of the target environmental map. The method involves processing the first straight line information corresponding to the object to be identified to obtain more accurate second coordinate information corresponding to the landmark points of the first straight line information. Based on this second coordinate information, the current environmental map is optimized to obtain a more accurate target environmental map, thereby improving the quality of the target environmental map.
[0005] This invention provides an environmental map optimization method, comprising:
[0006] During the initialization phase, the current environment map and the first straight line information corresponding to the object to be identified are obtained;
[0007] In the next time step, based on the first straight line information, the first coordinate information of the landmark point corresponding to the object to be identified in the body coordinate system is determined, and the body coordinate system corresponds to the robot.
[0008] Using the first coordinate information, the robot's current pose is optimized to obtain an optimized pose. Based on the optimized pose, the second coordinate information of the first actual observation value corresponding to the landmark in the world coordinate system is determined.
[0009] Using this second coordinate information, the current environment map is updated to obtain the target environment map.
[0010] According to an environmental map optimization method provided by the present invention, determining the first coordinate information of a landmark point corresponding to an object to be identified in a machine coordinate system based on the first straight line information includes: determining the landmark point corresponding to the object to be identified and the first actual observation value corresponding to the landmark point based on the first straight line information, wherein the first actual observation value includes a first distance value and a first angle value between the landmark point and the robot; and determining the first coordinate information of the landmark point in a machine coordinate system based on the first actual observation value.
[0011] According to an environmental map optimization method provided by the present invention, the current pose of a robot is optimized using the first coordinate information to obtain an optimized pose, comprising: fitting the first coordinate information in the body coordinate system to obtain second straight line information; projecting the first coordinate information onto the second straight line information to obtain a first projection value; and optimizing the current pose of the robot using the first projection value to obtain an optimized pose.
[0012] According to an environmental map optimization method provided by the present invention, the method for determining the second coordinate information of a first actual observation value corresponding to a landmark in the world coordinate system based on the optimized pose includes: transforming the second line information in the world coordinate system based on the optimized pose to obtain a third line information, and projecting the first actual observation value corresponding to the landmark onto the third line information to obtain a first sub-coordinate information; and transforming the first actual observation value in the world coordinate system based on the optimized pose to obtain the second sub-coordinate information.
[0013] According to an environmental map optimization method provided by the present invention, the current environmental map is updated using the second coordinate information to obtain a target environmental map, comprising: estimating the target coordinate point corresponding to the landmark point using an extended Kalman filter based on the first sub-coordinate information and the second sub-coordinate information; and updating the current environmental map using the target coordinate point to obtain the target environmental map.
[0014] According to an environmental map optimization method provided by the present invention, the current pose of a robot is optimized using the first projection value to obtain an optimized pose, comprising: optimizing the current pose of the robot using an extended Kalman filter based on the first projection value to obtain an optimized pose.
[0015] According to an environmental map optimization method provided by the present invention, the method of obtaining the current environmental map and the first straight line information corresponding to the object to be identified includes: determining the current distance value between the object to be identified and the robot; if the current distance value is within a preset distance range, obtaining the first straight line information corresponding to the object to be identified, and obtaining the current environmental map of the environment in which the robot is located.
[0016] The present invention also provides an environmental map optimization device, comprising:
[0017] The acquisition module is used to acquire the current environment map and the first straight line information corresponding to the object to be identified during the initialization phase;
[0018] The processing module is used to, in the next time step, determine the first coordinate information of the landmark corresponding to the object to be identified in the body coordinate system, which corresponds to the robot, based on the first straight line information; optimize the current pose of the robot using the first coordinate information to obtain an optimized pose; and determine the second coordinate information of the first actual observation value corresponding to the landmark in the world coordinate system based on the optimized pose; and update the current environment map using the second coordinate information to obtain the target environment map.
[0019] The present invention also provides a robot, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the environmental map optimization method as described above.
[0020] The present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the environment map optimization method as described above.
[0021] The present invention also provides a computer program product, including a computer program that, when executed by a processor, implements the environment map optimization method as described above.
[0022] The present invention provides an environmental map optimization method, apparatus, robot, and readable storage medium. During the initialization phase, it acquires the current environmental map and first straight line information corresponding to the object to be identified. In the next time step, based on the first straight line information, it determines the first coordinate information of the landmark point corresponding to the object to be identified in the robot's body coordinate system, which corresponds to the robot. Using the first coordinate information, it optimizes the robot's current pose to obtain an optimized pose, and based on the optimized pose, determines the second coordinate information of the first actual observation value corresponding to the landmark point in the world coordinate system. Using the second coordinate information, it updates the current environmental map to obtain a target environmental map. This method addresses the deficiency in existing technologies where the target environmental map constructed by the robot is not accurate enough, affecting the quality of the target environmental map. It achieves corresponding processing of the first straight line information corresponding to the object to be identified to obtain more accurate second coordinate information corresponding to the landmark point of the first straight line information, and optimizes the current environmental map based on the second coordinate information to obtain a more accurate target environmental map, thereby improving the quality of the target environmental map. Attached Figure Description
[0023] To more clearly illustrate the technical solutions in this invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0024] Figure 1 This is a flowchart illustrating the environmental map optimization method provided by the present invention;
[0025] Figure 2 This is a schematic diagram of the environmental map optimization device provided by the present invention;
[0026] Figure 3 This is a structural schematic diagram of the robot provided by the present invention. Detailed Implementation
[0027] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this invention. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention.
[0028] It should be noted that the robot involved in the embodiments of the present invention refers to a machine that can automatically perform a series of complex actions under computer programming, and can replace human workers in various complex environments.
[0029] Optionally, the robot may be equipped with a data acquisition device that can scan and collect parameter data corresponding to the object to be identified within a preset distance range.
[0030] The preset distance range refers to the distance range formed by taking the data acquisition device as the center and the detectable distance as the radius. Optionally, the preset distance range can be set by the data acquisition device before it leaves the factory or it can be user-defined. No specific limitation is made here.
[0031] The object to be identified refers to a straight line object. A straight line can remain unchanged under affine transformation. The ability to maintain the straight line under affine transformation means mapping a point on one plane to a two-dimensional projection on another plane. Affine transformation preserves the "straightness" of the two-dimensional figure, that is, places that were originally straight lines remain straight lines.
[0032] Optionally, the object to be identified may include, but is not limited to: walls in narrow passages, beds in indoor spaces, and other straight objects.
[0033] Optionally, the data acquisition device may include, but is not limited to, a distance sensor and a depth vision (Red Green Blue-Depth, RGB-D) camera.
[0034] Among them, the distance sensor can be used to directly obtain the distance value between the object to be identified and the data acquisition device. Optionally, the distance sensor may include, but is not limited to, optical distance sensors, infrared distance sensors and ultrasonic distance sensors.
[0035] An RGB-D camera can be used to capture images of objects to be identified and to determine the parameter data of the objects to be identified from the images.
[0036] Optionally, the parameter data may include, but is not limited to, at least one of the following: the coordinate information of the object to be identified in the robot's corresponding body coordinate system, the distance between the object to be identified and the data acquisition device, and the angle value of the object to be identified relative to the data acquisition device.
[0037] The body coordinate system, also known as the sensor coordinate system, refers to a three-dimensional orthogonal rectangular coordinate system fixed on the robot and following the right-hand rule. The origin O of this body coordinate system can be located at the robot's center of mass. The OX axis of this body coordinate system is located in the reference plane corresponding to the robot's environment, parallel to the robot's axis and pointing in front of the robot. The OY axis is perpendicular to the reference plane and points to the right of the robot. The OZ axis is perpendicular to the XOY plane in the reference plane and points downwards of the robot.
[0038] Coordinate information refers to the coordinate position X on the OX axis, the coordinate position Y on the OY axis, and the coordinate position Z on the OZ axis of the object to be identified in the body coordinate system;
[0039] The environment refers to the robot's movement environment, which may include, but is not limited to, indoors, parking lots, and playgrounds.
[0040] It should be noted that the execution subject involved in the embodiments of the present invention can be an environmental map optimization device or a robot. The embodiments of the present invention will be further described below using a robot as an example.
[0041] like Figure 1 The diagram shown is a flowchart illustrating the environmental map optimization method provided by this invention, which may include:
[0042] 101. During the initialization phase, obtain the current environment map and the first straight line information corresponding to the object to be identified.
[0043] Here, the first line information refers to the line data corresponding to the object to be identified. There is at least one such first line information, which can be represented by l1, l2, ..., l... n Let n ≥ 1, for example: the straight line data formed by any two points on the right side of the bed, which is the first straight line information corresponding to the bed.
[0044] During the initialization phase, the robot can perform a wide-angle scan of its environment at the current moment (also known as the current time step) to obtain scan results. These scan results can include objects present in the environment (e.g., a bed, a soccer ball, etc.). Then, based on these scan results, the robot initializes itself to obtain a current environment map M. This current environment map M can cover a large area of the environment, but it is not accurate enough. If the robot determines that there is an object to be identified in the environment based on the scan results, it can use the principle of keeping straight lines unchanged under affine transformation to fit the object to obtain first straight line information. This first straight line information is used by the robot to subsequently update the current environment map M to obtain a more accurate target environment map.
[0045] In some embodiments, the robot acquiring the current environment map and the first straight line information corresponding to the object to be identified may include: the robot determining the current distance value between the object to be identified and the robot; if the current distance value is within a preset distance range, the robot acquires the first straight line information corresponding to the object to be identified and acquires the current environment map of the environment in which the robot is located.
[0046] After identifying the object to be identified, the robot can obtain the current distance value between the object and the robot, and determine the relationship between the current distance value and a preset distance range. If the current distance value is within the preset distance range, the robot can directly fit the object to be identified to obtain the first straight line information. If the current distance value is not within the preset distance range, the robot can move and collect the current distance value in real time until the collected current distance value is within the preset distance range. At this point, the robot can determine the first straight line information corresponding to the object to be identified.
[0047] For example, suppose the preset distance range is (1 meter, 3 meters). If the robot collects the current distance value between the object to be identified and the robot as 2.5 meters, and this current distance value of 2.5 meters is within the preset distance range (1 meter, 3 meters), then the robot can determine the first straight line information corresponding to the object to be identified. If the robot collects the current distance value between the object to be identified and the robot as 4 meters, and this current distance value of 4 meters is not within the preset distance range (1 meter, 3 meters), then the robot can move towards the object to be identified until the current distance value between the object to be identified and the robot is within the preset distance range (1 meter, 3 meters). At this time, the robot can determine the first straight line information corresponding to the object to be identified.
[0048] Optionally, before the initialization phase, the robot can respond to user input and acquire the object to be identified.
[0049] In other words, users can input operations into the robot, including relevant information about the object to be identified; then, the robot responds to the input operations and, based on the relevant information, obtains the object to be identified.
[0050] Optionally, the robot stores at least one feature corresponding to a straight-line object, and the number of such straight-line objects is at least one. When the robot detects an object within a preset distance range, it can collect the current feature corresponding to that object; then, the robot matches the current feature with the stored features, and if the match is successful, the object is identified as the object to be identified.
[0051] Based on prior knowledge, robots can accurately identify whether surrounding objects are straight objects to be identified.
[0052] The robot matches the current features with the stored features. If the match fails, the robot is put into standby / shutdown mode to save power consumption.
[0053] 102. In the next time step, based on the first straight line information, determine the first coordinate information of the landmark corresponding to the object to be identified in the body coordinate system.
[0054] The next time step is adjacent to the current time step mentioned above;
[0055] The body coordinate system corresponds to the robot;
[0056] Landmarks refer to at least two key points on the first straight line information of the object to be identified. These landmarks can be P1, P2, ..., P... m Let m represent m > 1;
[0057] The first coordinate information refers to the coordinate position X1 on the OX axis, the coordinate position Y1 on the OY axis, and the coordinate position Z1 on the OZ axis of the object to be identified in the body coordinate system. This first coordinate information can be used... To represent, that is, landmark P m Corresponding first coordinate information Available (X) 1m Y 1m Z 1m )express.
[0058] In some embodiments, the robot determines the first coordinate information of the landmark point corresponding to the object to be identified in the body coordinate system based on the first straight line information. This may include: the robot determining the landmark point corresponding to the object to be identified and the first actual observation value corresponding to the landmark point based on the first straight line information; and the robot determining the first coordinate information of the landmark point in the body coordinate system based on the first actual observation value.
[0059] The first actual observation value may include a first distance value and a first angle value between the landmark and the robot, and the first actual observation value may be z1, z2, ..., z m To express.
[0060] After acquiring the first straight line information, in the next time step, the robot can determine the landmark point corresponding to the object to be identified from the first straight line information, and then determine the first distance value and the first angle value between the landmark point and the robot, that is, determine the first actual observation value; then, the robot can calculate the first distance value and the first angle value to accurately obtain the first coordinate information of the landmark point in the body coordinate system.
[0061] 103. Optimize the robot’s current pose using the first coordinate information to obtain the optimized pose, and determine the second coordinate information of the first actual observation value corresponding to the landmark in the world coordinate system based on the optimized pose.
[0062] The world coordinate system refers to the reference coordinate system used in the robot's environment to describe the position of the robot relative to the object to be identified.
[0063] The second coordinate information refers to the coordinate positions of the first actual observation value in the world coordinate system: X2 on the OX axis, Y2 on the OY axis, and Z2 on the OZ axis, with landmark point P. m The corresponding first actual observation value z m The second coordinate information in the world coordinate system is available as (X). 2m Y 2m Z 2m )express.
[0064] The robot can first obtain its current pose X. Since the current pose X is not accurate enough, after obtaining the first coordinate information corresponding to the landmark, the robot can use the first coordinate information to optimize the current pose X and obtain a more accurate optimized pose X′. Then, based on the optimized pose X′, the robot can accurately determine the second coordinate information of the first actual observation value of the landmark in the world coordinate system.
[0065] In some embodiments, the robot optimizes its current pose using the first coordinate information to obtain an optimized pose, which may include: fitting the first coordinate information to the robot in a body coordinate system to obtain second straight line information; projecting the first coordinate information onto the second straight line information to obtain a first projection value; and using the first projection value to optimize the robot's current pose to obtain an optimized pose.
[0066] The second line information refers to the line data obtained after refitting the acquired first coordinate information. This second line information can be used... To indicate;
[0067] The first projection value is available. To express.
[0068] In the process of obtaining the robot's optimized pose, after acquiring the first coordinate information, the robot first fits this first coordinate information in the body coordinate system to obtain the second straight line information. Then, the robot projects the first coordinate information onto the second straight line information to obtain the first projection value. Since these first projection values are relatively accurate, the robot can directly use these first projection values as the third actual observation value corresponding to the landmark point, and optimize the robot's current pose based on the third actual observation value to obtain a more accurate optimized pose.
[0069] The third actual observation value may include the third distance value and the third angle value between the landmark and the robot.
[0070] In some embodiments, the robot optimizes its current pose using a first projection value to obtain an optimized pose, which may include: the robot optimizing its current pose using an extended Kalman filter based on the first projection value to obtain an optimized pose.
[0071] The Extended Kalman Filter (EKF) is an extension of the standard Kalman Filter in nonlinear cases. It is a highly efficient recursive filter, also known as an autoregressive filter. The EKF can linearize the nonlinear system based on observations using Taylor series expansion, and then use the Kalman Filter framework to filter and optimize the current pose.
[0072] Since the first projection value is relatively accurate, after the robot uses the first projection value as the third actual observation value corresponding to the landmark, it can use the third actual observation value as the observation value required for the robot's final pose optimization. Then, based on the observation value, the robot uses an extended Kalman filter to optimize the robot's current pose, and thus obtains a more accurate optimized pose.
[0073] In some embodiments, the robot determines the second coordinate information of the first actual observation value corresponding to the landmark point in the world coordinate system based on the optimized pose. This may include: the robot transforming the second straight line information in the world coordinate system based on the optimized pose to obtain the third straight line information, and projecting the first actual observation value corresponding to the landmark point onto the third straight line information to obtain the first sub-coordinate information; the robot transforming the first actual observation value in the world coordinate system based on the optimized pose to obtain the second sub-coordinate information.
[0074] The information for the third line can be l′1, l′2, ..., l′ n To indicate;
[0075] First sub-coordinate information is available. To indicate;
[0076] The second sub-coordinate information can be obtained using z′1, z′2, ..., z′ n To express.
[0077] In the process of acquiring the second coordinate information of the first actual observation value corresponding to the landmark point in the world coordinate system, the robot can determine the third straight line information corresponding to the second straight line information in the world coordinate system based on the obtained optimized pose, and project the first actual observation value in the third straight line coordinate system to obtain the first sub-coordinate information; the robot can also determine the second sub-coordinate information of the first actual observation value in the world coordinate system based on the optimized pose.
[0078] In other words, the second coordinate information can include the first sub-coordinate information and the second sub-coordinate information. Since the optimized pose is relatively accurate, the first sub-coordinate information and the second sub-coordinate information are also relatively accurate.
[0079] It should be noted that the timing of the robot acquiring the first sub-coordinate information and the second sub-coordinate information is not limited.
[0080] 104. Using the second coordinate information, update the current environment map to obtain the target environment map.
[0081] After processing the first actual observation, the robot obtains relatively accurate second coordinate information. Then, the robot uses the second coordinate information to optimize and update the current environment map, which can obtain a target environment map with high accuracy and good quality.
[0082] In some embodiments, the robot uses the second coordinate information to update the current environment map to obtain the target environment map, which may include: the robot using an extended Kalman filter to estimate the target coordinate points corresponding to the landmarks based on the first sub-coordinate information and the second sub-coordinate information; the robot using the target coordinate points to update the current environment map to obtain the target environment map.
[0083] After acquiring the first sub-coordinate information, the robot can use this information as the target prediction value corresponding to each landmark point. After acquiring the second sub-coordinate information, the robot can use this information as the target observation value corresponding to each landmark point. Then, based on the target prediction value and the target observation value, the robot uses an extended Kalman filter to estimate the coordinate position of the landmark point, obtaining the target coordinate point corresponding to the landmark point. This target coordinate point is relatively accurate. At this point, the robot updates the current environment map based on this accurate target coordinate point, obtaining a target environment map with higher accuracy.
[0084] In this embodiment of the invention, during the initialization phase, the current environment map and the first straight line information corresponding to the object to be identified are acquired. In the next time step, based on the first straight line information, the first coordinate information of the landmark point corresponding to the object to be identified in the robot's coordinate system is determined. The robot's current pose is optimized using the first coordinate information to obtain an optimized pose. Based on the optimized pose, the second coordinate information of the first actual observation value corresponding to the landmark point in the world coordinate system is determined. The current environment map is updated using the second coordinate information to obtain the target environment map. This method addresses the deficiency in existing technologies where the target environment map constructed by the robot is not accurate enough, affecting the quality of the target environment map. It achieves corresponding processing of the first straight line information corresponding to the object to be identified to obtain more accurate second coordinate information corresponding to the landmark point of the first straight line information. Based on this second coordinate information, the current environment map is optimized to obtain a more accurate target environment map, thereby improving the quality of the target environment map.
[0085] The environmental map optimization apparatus provided by the present invention is described below. The environmental map optimization apparatus described below and the environmental map optimization method described above can be referred to in correspondence.
[0086] like Figure 2 The diagram shown is a structural schematic of the environmental map optimization device provided by the present invention, which may include:
[0087] The acquisition module 201 is used to acquire the current environment map and the first straight line information corresponding to the object to be identified during the initialization phase;
[0088] The processing module 202 is used to, in the next time step, determine the first coordinate information of the landmark corresponding to the object to be identified in the body coordinate system according to the first straight line information, the body coordinate system corresponding to the robot; use the first coordinate information to optimize the current pose of the robot to obtain an optimized pose, and based on the optimized pose, determine the second coordinate information of the first actual observation value corresponding to the landmark in the world coordinate system; use the second coordinate information to update the current environment map to obtain the target environment map.
[0089] Optionally, the processing module 202 is specifically used to determine, based on the first straight line information, the landmark point corresponding to the object to be identified and the first actual observation value corresponding to the landmark point, the first actual observation value including the first distance value and the first angle value between the landmark point and the robot; and to determine the first coordinate information of the landmark point in the body coordinate system based on the first actual observation value.
[0090] Optionally, the processing module 202 is specifically used to fit the first coordinate information in the body coordinate system to obtain the second straight line information; project the first coordinate information onto the second straight line information to obtain the first projection value; and use the first projection value to optimize the current pose of the robot to obtain the optimized pose.
[0091] Optionally, the processing module 202 is specifically used to transform the second straight line information in the world coordinate system based on the optimized pose to obtain the third straight line information, and project the first actual observation value corresponding to the landmark point onto the third straight line information to obtain the first sub-coordinate information; and transform the first actual observation value in the world coordinate system based on the optimized pose to obtain the second sub-coordinate information.
[0092] Optionally, the processing module 202 is specifically used to estimate the target coordinate point corresponding to the landmark point based on the first sub-coordinate information and the second sub-coordinate information using an extended Kalman filter; and to update the current environment map using the target coordinate point to obtain the target environment map.
[0093] Optionally, the processing module 202 is specifically used to optimize the current pose of the robot using an extended Kalman filter based on the first projection value to obtain an optimized pose.
[0094] Optionally, the processing module 202 is specifically used to determine the current distance value between the object to be identified and the robot;
[0095] The acquisition module 201 is specifically used to acquire the first straight line information corresponding to the object to be identified and the current environment map of the robot's environment when the current distance value is within a preset distance range.
[0096] like Figure 3 The diagram shows the structure of the robot provided by this invention. The robot may include a processor 310, a communication interface 320, a memory 330, and a communication bus 340. The processor 310, communication interface 320, and memory 330 communicate with each other via the communication bus 340. The processor 310 can call logical instructions in the memory 330 to execute an environment map optimization method. This method includes: in an initialization phase, acquiring the current environment map and first straight line information corresponding to the object to be identified; in the next time step, determining the first coordinate information of the landmark corresponding to the object to be identified in the robot's body coordinate system based on the first straight line information, the body coordinate system corresponding to the robot; using the first coordinate information to optimize the robot's current pose to obtain an optimized pose, and based on the optimized pose, determining the second coordinate information of the first actual observation value corresponding to the landmark in the world coordinate system; and using the second coordinate information to update the current environment map to obtain a target environment map.
[0097] Furthermore, the logical instructions in the aforementioned memory 330 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0098] On the other hand, the present invention also provides a computer program product, which includes a computer program that can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can execute the environmental map optimization method provided by the above methods. The method includes: in an initialization phase, acquiring the current environmental map and first straight line information corresponding to the object to be identified; in a next time step, determining the first coordinate information of the landmark point corresponding to the object to be identified in the body coordinate system based on the first straight line information, the body coordinate system corresponding to the robot; optimizing the current pose of the robot using the first coordinate information to obtain an optimized pose, and determining the second coordinate information of the first actual observation value corresponding to the landmark point in the world coordinate system based on the optimized pose; and updating the current environmental map using the second coordinate information to obtain a target environmental map.
[0099] In another aspect, the present invention also provides a non-transitory computer-readable storage medium storing a computer program thereon. When executed by a processor, the computer program implements the environmental map optimization method provided by the above methods. The method includes: in an initialization phase, acquiring the current environmental map and first straight line information corresponding to the object to be identified; in a next time step, determining, based on the first straight line information, the first coordinate information of the landmark corresponding to the object to be identified in the robot's body coordinate system, the body coordinate system corresponding to the robot; using the first coordinate information, optimizing the robot's current pose to obtain an optimized pose, and based on the optimized pose, determining the second coordinate information of the first actual observation value corresponding to the landmark in the world coordinate system; using the second coordinate information, updating the current environmental map to obtain a target environmental map.
[0100] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.
[0101] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.
[0102] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method of environment map optimization, characterized by, include: During the initialization phase, the current environment map and the first straight line information corresponding to the object to be identified are obtained; In the next time step, based on the first straight line information, the first coordinate information of the landmark point corresponding to the object to be identified in the body coordinate system is determined, and the body coordinate system corresponds to the robot; Using the first coordinate information, the current pose of the robot is optimized to obtain an optimized pose, and based on the optimized pose, the second coordinate information of the first actual observation value corresponding to the landmark point in the world coordinate system is determined; The step of optimizing the robot's current pose using the first coordinate information to obtain an optimized pose includes: fitting the first coordinate information in the body coordinate system to obtain second straight line information; projecting the first coordinate information onto the second straight line information to obtain a first projection value; and optimizing the robot's current pose using the first projection value to obtain an optimized pose. The step of determining the second coordinate information of the first actual observation value corresponding to the landmark point in the world coordinate system based on the optimized pose includes: transforming the second straight line information in the world coordinate system based on the optimized pose to obtain third straight line information, and projecting the first actual observation value corresponding to the landmark point onto the third straight line information to obtain first sub-coordinate information; and transforming the first actual observation value in the world coordinate system based on the optimized pose to obtain second sub-coordinate information. The current environment map is updated using the second coordinate information to obtain a target environment map; the second coordinate information includes first sub-coordinate information and second sub-coordinate information; updating the current environment map using the second coordinate information to obtain the target environment map includes: estimating the target coordinate points corresponding to the landmarks using an extended Kalman filter based on the first sub-coordinate information and the second sub-coordinate information; updating the current environment map using the target coordinate points to obtain the target environment map.
2. The method of claim 1, wherein, The step of determining the first coordinate information of the landmark point corresponding to the object to be identified in the body coordinate system based on the first straight line information includes: Based on the first straight line information, the landmark point corresponding to the object to be identified and the first actual observation value corresponding to the landmark point are determined. The first actual observation value includes the first distance value and the first angle value between the landmark point and the robot. Based on the first actual observation value, determine the first coordinate information of the landmark point in the body coordinate system.
3. The method according to claim 1, characterized in that, The step of optimizing the robot's current pose using the first projection value to obtain an optimized pose includes: Based on the first projection value, the current pose of the robot is optimized using an extended Kalman filter to obtain an optimized pose.
4. The method according to any one of claims 1-3, characterized in that, The step of obtaining the current environment map and the first straight line information corresponding to the object to be identified includes: Determine the current distance between the object to be identified and the robot; If the current distance value is within a preset distance range, the first straight line information corresponding to the object to be identified is obtained, and the current environment map of the robot's environment is obtained.
5. An environmental map optimization device, characterized in that, include: The acquisition module is used to acquire the current environment map and the first straight line information corresponding to the object to be identified during the initialization phase; The processing module is used to, in the next time step, determine the first coordinate information of the landmark point corresponding to the object to be identified in the body coordinate system according to the first straight line information, the body coordinate system corresponding to the robot; optimize the current pose of the robot using the first coordinate information to obtain an optimized pose, and determine the second coordinate information of the first actual observation value corresponding to the landmark point in the world coordinate system based on the optimized pose; The step of optimizing the robot's current pose using the first coordinate information to obtain an optimized pose includes: fitting the first coordinate information in the body coordinate system to obtain second straight line information; projecting the first coordinate information onto the second straight line information to obtain a first projection value; and optimizing the robot's current pose using the first projection value to obtain an optimized pose. The step of determining the second coordinate information of the first actual observation value corresponding to the landmark point in the world coordinate system based on the optimized pose includes: transforming the second straight line information in the world coordinate system based on the optimized pose to obtain third straight line information, and projecting the first actual observation value corresponding to the landmark point onto the third straight line information. Projecting the line information onto the target environment map yields first sub-coordinate information; based on the optimized pose, the first actual observation value is transformed in the world coordinate system to obtain second sub-coordinate information; the second coordinate information is used to update the current environment map to obtain a target environment map; the second coordinate information includes the first sub-coordinate information and the second sub-coordinate information; updating the current environment map using the second coordinate information to obtain the target environment map includes: estimating the target coordinate point corresponding to the landmark point using an extended Kalman filter based on the first sub-coordinate information and the second sub-coordinate information; and updating the current environment map using the target coordinate point to obtain the target environment map.
6. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the environmental map optimization method as described in any one of claims 1 to 4.
7. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the environmental map optimization method as described in any one of claims 1 to 4.