WO2021233452A1 - 一种地图更新方法以及装置 - Google Patents
一种地图更新方法以及装置 Download PDFInfo
- Publication number
- WO2021233452A1 WO2021233452A1 PCT/CN2021/095578 CN2021095578W WO2021233452A1 WO 2021233452 A1 WO2021233452 A1 WO 2021233452A1 CN 2021095578 W CN2021095578 W CN 2021095578W WO 2021233452 A1 WO2021233452 A1 WO 2021233452A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- map node
- map
- updated
- effective
- node
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/005—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
Definitions
- This application relates to the field of robotics, and in particular, to a map update method and device.
- maps provide environmental description data for machine vision positioning.
- SLAM Simultaneous Localization And Mapping
- mobile robots rely on pre-established maps for positioning.
- the environment that constitutes the map information will produce irreversible changes such as damage, if the mobile robot uses the map before the environment change to locate, it will cause the positioning effect to decline, or even the positioning failure.
- Visual navigation based on ground texture requires mapping of ground texture.
- the process of mapping is to use the camera to record the effective texture information of the ground, and to correspond the recorded effective texture information with the current position coordinates to form a texture map composed of several map nodes; each map node includes pose information And texture information.
- incorrect texture information may be introduced into the texture map due to factors such as manual negligence; in the process of long-term use of the texture map, the ground will produce some irreversible changes such as wear and tear, resulting in the texture map.
- the embodiments of the present application provide a map update method and device to update map information of map nodes that need to be updated in the map.
- the mobile robot is controlled to move according to the update path.
- the movement information collection of the current position is triggered, and the current position is taken as the updated The location of the map node; and in the process of the mobile robot moving according to the update path, the movement information of the first effective map node location and the second effective map node location is collected;
- the map information of the updated map node at least includes the global pose information of the updated map node.
- the update path is a path of the first effective map node, the map node to be updated, and the second effective map node on a straight line, or a path on an approximate straight line, and the approximate A straight line is a curve with a curvature less than a preset curvature threshold;
- the motion information used to calculate the global pose information of the updated map node includes: odometer data collected by an inertial sensor installed on the mobile robot body, and a camera device installed on the bottom of the mobile robot The ground texture image collected;
- triggering the collection of motion information at the current position includes:
- control the mobile robot When the distance between the current position and the map node to be updated is less than the set distance threshold, control the mobile robot to pause movement, and trigger the camera device to collect the current ground texture image;
- the collected movement information of the first effective map node position, the movement information of the second effective map node position, and the movement information of the updated map node position are used as constraints, based on Solving the global pose information of the updated map node from the measurement error from the first effective map node to the second effective map node includes:
- At least the relative pose information between any pair of map nodes is used as a constraint, wherein the pair of map nodes includes two map nodes, and at least one of the two map nodes includes the updated map node;
- the least square method is used to solve
- the effective map node includes the first effective map node and the second effective map node.
- the odometer data includes: the distance between map nodes and the angle of rotation;
- the restricting at least the relative pose information between any pair of map nodes includes: restricting at least the measured values of the distance and angle between the two map nodes;
- the least square method is used,
- the global pose information of the updated map node is solved, including:
- the pose information of the effective map node determined based on the map is: the pose information obtained by matching the collected ground texture image with the texture information in the effective map node.
- the number of map nodes to be updated is 1,
- the restricting at least the measured value of the distance and the angle between the two map nodes includes: using the updated map node to be between the first effective map node and the second effective map node. Pose information as a constraint;
- the pose information of the updated map node and the second effective map node are determined as follows:
- the x-axis coordinates of the updated map node are: the projection of the first distance recorded by the odometer from the first effective map node to the updated map node on the x-axis at the first angle, and The sum of the x-axis coordinates of the first valid map node;
- the y-axis coordinate of the updated map node is: the sum of the projection of the first distance on the y-axis at the first angle and the y-axis coordinate of the first effective map node;
- the posture of the updated map node is: the sum of the first angle and the posture of the first effective map node;
- the x-axis coordinate of the second effective map node is: the sum of the second distance from the updated map node to the second effective map node recorded by the odometer and the first distance, as The sum of the first angle and the second angle is the projection of the angle on the x-axis and the sum of the x-axis coordinates of the first effective map node;
- the y-axis coordinates of the second effective map node are: the sum of the second distance and the first distance, and the sum of the first angle and the second angle is the projection of the angle on the y-axis, And the sum of the y-axis coordinates of the first valid map node;
- the posture of the second effective map node is: the sum of the first angle, the second angle, and the posture of the first effective map node;
- the first angle is a corner moving from the first effective map node to the updated map node
- the second angle is a corner moving from the updated map node to the second effective map node
- the pose information of the first valid map node is determined according to the map.
- the initial value based on the posture information of the updated map node is determined based on the posture information of the effective map node determined by the mobile robot based on the map and the position based on the effective map node position collected by the mobile robot.
- the measurement error between the pose information obtained by the motion information is solved by the least square method to obtain the global pose information of the updated map node, including:
- the iteration end condition includes one or any combination of the following: the set number of iterations is reached, the measurement error is less than the set error threshold, and the correction amount is less than the set correction threshold;
- the saving the map information of the updated map node includes: saving the pose information of the updated map node as the pose information of the updated map node, and storing the information based on the collected ground texture image
- the feature information of the extracted texture point is stored as the texture information of the updated map node.
- correction amount is calculated in the following manner:
- the inverse matrix of the covariance matrix when the ground texture image is matched based on the motion information of the second effective map node position, the product of the Jacobian matrix, and the correction amount is equal to State the negative number of the product of the transposed matrix of the Jacobian matrix and the current measurement error to obtain the current correction amount;
- the Jacobian matrix is determined according to current estimated values of the first distance, the first angle, the second distance, and the second angle.
- the establishing an update path from the first effective map node through the map node to be updated to the second effective map node includes:
- At least two effective map nodes that are determined based on the map and are on an approximate straight line with the map node to be updated are respectively used as the first effective map node and the second effective map node, and the approximate straight line is a curve with a curvature less than a preset curvature threshold ;
- the first effective map node the to-be-updated map node, and the second effective map node, it is established that starting from the first effective map node, passing through the to-be-updated map node, to the second effective map The update path of the node.
- the map-based determination of at least two valid map nodes on an approximate straight line with the map node to be updated includes:
- the first circle that is the center of the circle and is tangent to the radius with the distance threshold for triggering the image acquisition is tangent, and the angle formed by the two rays is an acute angle;
- the first threshold and the second threshold are within a set limit range.
- the map-based determination of at least two valid map nodes on an approximate straight line with the map node to be updated includes:
- the distance between the map node to be updated and the straight line determined by two valid map nodes other than the map node to be updated is not greater than a set threshold, and the map node to be updated is located between the two valid map nodes;
- controlling the mobile robot to move according to the update path includes:
- the embodiment of the present application also provides a map updating device, which includes:
- An update path establishment module for establishing an update path from the first effective map node through the map node to be updated to the second effective map node;
- the control module is used to control the mobile robot to move according to the update path.
- the distance between the current position of the mobile robot and the map node to be updated is less than the set distance threshold, the movement information collection of the current position is triggered, and the current position is used as the update After the map node position; and in the process of moving the mobile robot according to the update path, collecting the movement information of the first effective map node position and the second effective map node position;
- the calculation module is used to calculate the global pose of the updated map node based on the collected movement information of the first effective map node position, the movement information of the second effective map node position, and the updated movement information of the map node position Information; delete the map information of the map node to be updated in the map, save the map information of the updated map node,
- the map information of the updated map node at least includes the global pose information of the updated map node.
- An embodiment of the present application also provides a mobile robot, including a memory and a processor, the memory stores instructions executable by the processor, and the instructions are executed by the processor so that the processor executes any of the above. The steps of the map update method described.
- the embodiment of the present application also provides a computer-readable storage medium in which a computer program is stored, and when the computer program is executed by a processor, the steps of any one of the above map update methods are implemented.
- the embodiment of the present application also provides a computer program, which, when executed by a processor, implements the steps of any one of the above map update methods.
- the movement information of the position at a certain distance from the map node to be updated on the update path and the position of the effective map node are collected to use the collected movement information of the first effective map node position and the second effective map node position,
- the motion information of the updated map node position is a constraint, and the global pose information of the updated map node is solved without manual intervention, which realizes the real-time automatic update of the map with damaged map nodes; the map update is simple and efficient, and the map is improved When some of the map nodes in the middle are damaged, the positioning effect of the mobile robot will decrease.
- FIG. 1 is a schematic flowchart of a map update method according to Embodiment 1 of this application.
- Fig. 2 is a schematic diagram of the position relationship between the map node to be updated and at least two valid map nodes.
- FIG. 3 is a schematic diagram of triggering image acquisition during the process from point a to point c, starting from point a and ending at point c.
- FIG. 4 is a schematic flowchart of a map update method according to Embodiment 2 of this application.
- FIG. 5 is a schematic diagram of determining effective map nodes based on a map according to an embodiment of the application.
- FIG. 6 is a schematic diagram of a plurality of map nodes to be updated on the path to be updated according to an embodiment of the application.
- FIG. 7 is a schematic diagram of a map updating device provided by an embodiment of the application.
- Valid map nodes are: map nodes in the map that do not need to be updated.
- the map node to be updated is: the map node in the map that needs to be updated.
- the map information of the map node includes texture information and pose information.
- the pose information included in the map information is the global pose information of the map node, which is used to calculate the pose information when the mobile robot moves to the map node.
- the pose information of a map node can also be understood as the reference pose information of the mobile robot at the map node, including global position and global pose.
- the texture information included in the map node is: the feature set of the feature points in the image collected at the map node.
- the motion information of the map node location is: the motion information when the mobile robot moves to the map node location.
- the image information may be a ground texture image.
- the idea of the embodiment of the present application is that based on the first measurement error when the mobile robot moves between two valid map nodes through m to-be-updated map nodes, it can be allocated to the two valid map nodes.
- the measurement error on the m+1 segment divided between the two is to establish an update path from the first effective map node through m map nodes to be updated to the second effective map node;
- the measured values of the distance and angle between the two map nodes are calculated according to the first measurement error to calculate the pose information of the m map nodes to be updated.
- the measurement error is the difference between the pose information obtained by the mobile robot based on the collected motion information and the pose information determined by the effective map node according to the map; the motion information includes data used to calculate the global pose information of the mobile robot .
- image data. m is a natural number greater than or equal to 1.
- the map is a ground texture map
- the image data can be understood as a ground texture image.
- an embodiment of the present application provides a map update method, which specifically includes: establishing an update path from a first effective map node through a map node to be updated to a second effective map node;
- the distance between the current position of the mobile robot and the map node to be updated is less than the set distance threshold, trigger the movement information collection of the current position, and use the current position as the updated map node position; and
- the mobile robot moves according to the updated path collect the movement information of the first effective map node position and the second effective map node position;
- the map information of the updated map node at least includes the global pose information of the updated map node.
- map nodes To facilitate the understanding of the technical solutions provided by the embodiments of the present application, the following will take the number of map nodes to be updated as one as an example.
- ground texture map As an example for illustration. It should be understood that it is also applicable to other maps except the ground texture map.
- FIG. 1 is a schematic flowchart of a map updating method according to Embodiment 1 of this application.
- the mobile robot receives the trigger instruction to update the map, it parses the trigger instruction to obtain the ID (Identity) of the map node to be updated included in the trigger instruction, and then the mobile robot executes the following steps:
- Step 101 According to the ID of the map node to be updated, at least two effective map nodes that are on an approximate straight line or a straight line with a certain curvature with the map node to be updated are determined based on the map, as the first effective map node and the second effective map node, respectively .
- the mobile robot After obtaining the ID of the map node to be updated, the mobile robot determines at least two valid map nodes based on the map.
- the at least two valid map nodes and the map node to be updated are on an approximate straight line or straight line, and the approximate straight line or straight line passes through the map node to be updated.
- the mobile robot may select one effective map node from the at least two effective map nodes as the first effective map node, and select one effective map node from the at least two effective map nodes as the second effective map node.
- the mobile robot can select an effective map node closest to the map node to be updated from the effective map nodes located on both sides of the map node to be updated as the first effective map node and the second effective map node.
- the above-mentioned approximate straight line is a curve whose curvature is less than a preset curvature threshold.
- FIG. 2 is a schematic diagram of the position relationship between the map node to be updated and at least two valid map nodes.
- Point b is the map node to be updated
- map node a is the first effective map node
- map node c is the second effective map node
- the three points a, b, and c are on a straight line.
- any point is allowed to deviate from the straight line determined by the other two points by a certain distance, and the offset distance is within the set threshold range.
- the effective map node, the distance between the map node to be updated and the first effective map node and the second effective map node respectively meets the set limit range.
- the limit range is a distance range, which can be set according to actual needs.
- a straight line can be determined based on two valid map nodes other than the map node to be updated, and the map node to be updated deviates from the straight line by a certain range, so that the first valid map node, the map node to be updated, and the second valid map node An approximate straight line with a certain curvature is formed.
- the distance of the map node to be updated from the straight line is within a certain range.
- the map coordinates of the first valid map node are (x a , y a , ⁇ a ), the map coordinates of the map node to be updated are (x b , y b , ⁇ b ), and the map coordinates of the second valid map node are (x c ,y c , ⁇ c ).
- These map coordinates are the global pose information of the map node, where x and y are the global position of the map node, and ⁇ is the global pose of the map node.
- Step 102 The mobile robot establishes an update path starting from the first effective map node, passing through the map node to be updated, and to the second effective map node according to the first effective map node, the map node to be updated, and the second effective map node; the mobile robot The movement is controlled according to the update path, and the movement information of at least the first effective map node position and the second effective map node position is acquired during the movement, and when the distance between the current position determined based on the odometer data and the map node to be updated is less than the set When the distance threshold of the collected image is triggered, the current ground texture image is triggered to be collected, and the current position is used as the updated map node position of the map node to be updated;
- the mobile robot uses the current position as the updated global position of the map node to be updated.
- the update path is a straight path, or an approximate straight path with a certain curvature.
- the update path can also be manually configured and loaded into the mobile robot, and manually Control the mobile robot to move according to the updated path.
- the motion information may include odometer data and ground texture images used to calculate the global pose information of the mobile robot.
- the ground texture image used to calculate the global pose information of the mobile robot is: the ground texture image used to calculate the global pose information of the updated map node.
- the mobile robot is controlled to move at least once according to the updated path, that is, the mobile machine is controlled to move at least once along the path starting from point a and running through point b to the end of point c. If there are obstacles on the update path, you can go around, which has little effect on the update of the map node to be updated.
- FIG. 3 is a schematic diagram of triggering image acquisition during the process from point a to point c and running through point b.
- the mobile robot using the odometer wheel and other inertial sensor acquires the current position, the map to be updated when the node (x b, y b, ⁇ b) between the current position of the map coordinates (x, y, ⁇ )
- the mobile robot pause and trigger the camera to collect the ground texture image of the current position to obtain the texture information of the current position.
- the current position here can be understood as point b'in Figure 3.
- the mobile robot After that, let the mobile robot continue to move.
- the odometer data of point a and point c are acquired through inertial sensors, and the ground texture images of point a and point c are collected and the effective map nodes are The texture information is matched to obtain the current pose information of the mobile robot at point a and point c based on the map information of the map node.
- the aforementioned camera may be a camera device installed at the bottom of the mobile robot.
- Step 103 The mobile robot uses the updated pose information of the map node as the initial value of the updated pose information of the map node to be updated, so that the updated map node is separated from the first effective map node and the second effective map node.
- the pose information of is used as a constraint to optimize the pose information graph.
- the odometer data collected at the point b′ after the update of the map node to be updated is used as the initial value of the pose information.
- the mobile robot moves from point a to point b′, the odometer records the first distance moved by the mobile robot as r 1 , the first angle ⁇ 1 it has turned, and then moves from point b′ to point c, and the odometer records the first moving distance
- the second distance is r 2
- the second angle of rotation is ⁇ 2 .
- the distance can be obtained by the odometer by recording the number of turns of the tire and the known tire radius, and the angle of rotation can be obtained by accumulating the angular velocity recorded by the gyroscope.
- the process of calculating the pose information of point b'and point c includes:
- the x-axis coordinate of point b′ is: the sum of the projection of the first distance r 1 on the x-axis at the first angle ⁇ 1 and the x-axis coordinate x a of point a;
- the y-axis coordinate of point b′ is:
- a distance r 1 is the sum of the projection of the first angle ⁇ 1 on the y-axis and the y-axis coordinate y a at point a;
- the posture of point b′ is: the sum of the first angle ⁇ 1 and the posture ⁇ a of point a ;
- the x-axis coordinate of point c is: the sum of the second distance r 2 and the first distance r 1 takes the sum of the first angle ⁇ 1 and the second angle ⁇ 2 as the projection of the angle on the x-axis, and the x-axis coordinate of a
- the y-axis coordinate of point c is: the sum of the second distance r 2 and the first distance r 1 takes the sum of the first angle ⁇ and the second angle ⁇ 2 as the projection of the angle on the y axis, and a
- the posture of point c is: the sum of the first angle ⁇ 1 , the second angle ⁇ 2 , and the posture ⁇ a of point a;
- the constraint relationship between the current position and the motion information between the first effective map node and the second effective map node is obtained, that is, the relationship between the updated map node and the motion information between the first effective map node and the second effective map node, respectively Constraint relationship, such as the above formula 1 and formula 2.
- Step 104 The mobile robot uses the least square method to solve the measurement error between the pose information of the effective map node determined based on the map and the pose information obtained by the mobile robot at the effective map node based on the collected motion information. Update the updated pose information of the map node, that is, the updated pose information of the map node is solved, and the initial value of the pose information at position b' Optimize the pose information graph; save the image information collected at the location b′ to obtain the updated map information of the map node.
- the effective map nodes include a first effective map node and a second effective map node.
- the pose information of the effective map node determined based on the map is the effective pose information
- the pose information obtained by the mobile robot based on the collected motion information at the effective map node is the measured pose information.
- the above-mentioned step 104 may specifically be: the mobile robot uses the least squares method to solve the updated pose information of the map node according to the measurement error between the effective pose information and the measured pose information; save it at the location of the updated map node
- the ground texture image collected is used to obtain the updated map information of the map node.
- e is a function of r 1 , ⁇ 1 and r 2 , ⁇ 2 . Due to the existence of angle information, the above equation 3 is non-linear.
- the least square method can be used. Take the Gauss-Newton least squares method as an example.
- Step 1041 according to the initial value of the pose information at the position b' Setting an initial value of r 1, ⁇ 1, and the motion information based on the point c [xi] c resolver apos the pose information setting 2, ⁇ is the initial value of r 2; the initial value of r 1, ⁇ 1, and r 2 , The initial value of ⁇ 2 is taken as the current estimated value, denoted as P;
- Step 1042 Calculate the current measurement value of ⁇ c′ according to formula 2, and calculate the current measurement error according to the error relationship between the odometer measurement value at point c and the pose information determined based on the map information of the effective map node c, that is, Calculate the measurement error according to formula 3.
- step 1042 ⁇ c 'of a current measured value c odometer measurement point, the measurement is the pose information of the second valid node of the map, the map information is valid based on the posture of the node c, the determined map information point c
- the effective pose information that is, the effective pose information of the second effective map node, may also be referred to as the actual value of the second effective map node.
- Step 1043 Determine whether the iteration end condition is satisfied.
- the mobile robot can save the image information of b', and then obtain the updated map information of the map node b'.
- the correction amount ⁇ P is calculated as follows:
- the transposition matrix of the Jacobian matrix the inverse matrix of the covariance matrix when matching the ground texture image based on the motion information of the second effective map node position, the Jacobian matrix, and the correction amount
- the product is equal to the negative number of the product of the transposed matrix of the Jacobian matrix and the current measurement error, which is expressed as a mathematical formula:
- J is the Jacobian matrix, calculated according to the current estimated value
- ⁇ is the covariance matrix when matching the ground texture image based on the motion information collected at point c, which is a 3 ⁇ 3 matrix, and e is obtained according to the current estimated value
- the current measurement error is the correction amount ⁇ P used for iteration.
- the iteration end condition may be: reaching the set number of iterations, the measurement error e is less than the set error threshold, the correction amount ⁇ P is less than the set correction threshold, or any combination thereof.
- r 1 , ⁇ 1 , r 2 , ⁇ 2 can be solved, and the map coordinates of b′ can be obtained by formula 1 according to r 1 , ⁇ 1 , and the map coordinates and the acquired ground texture image are used as the map node to be updated
- the updated map information and save it, that is, save the updated pose information of the map node as the global pose information, and use the feature information of the texture points extracted based on the collected ground texture image as the updated map node
- the texture information is saved.
- the distance between effective map nodes can be Limited to the set range, for example, the set range is 5 to 8 meters.
- the mobile robot can automatically complete the update processing in real time after receiving the map update trigger instruction without manual intervention.
- the map update is simple and efficient, which greatly improves the failure and damage of some map nodes in the map.
- the pose information of the map node to be updated is solved by the least square method, which can effectively remove noise and obtain high-precision pose information.
- FIG. 4 is a schematic flowchart of a map update method according to the second embodiment of this application.
- the mobile robot receives the trigger instruction to update the map, it parses the trigger instruction to obtain the ID of the map node to be updated included in the trigger instruction, and then the mobile robot performs the following steps:
- Step 401 According to the ID of the map node to be updated, at least two effective map nodes on an approximate straight line with a certain curvature with the map node to be updated are determined based on the map, as the first effective map node and the second effective map node, respectively.
- Figure 5 is a schematic diagram of determining effective map nodes based on a map. Based on the map, there are multiple valid map nodes near the location of the map node to be updated. In this case, the first circle is determined by taking the map node to be updated as the center of the circle and the distance threshold that triggers the acquisition of the image as the radius;
- the first effective map node With the map node to be updated as the center, determine the first effective map node whose distance from the map node to be updated meets the set first threshold, and the first threshold meets at least: make two rays and the first circle from the first effective map node Tangent, the angle formed by the two rays is an acute angle; make two rays from the first effective map node to be tangent to the first circle, and at least determine the distance from the map node to be updated within the range of the angle formed by the two rays to meet the setting The second effective map node of the second threshold.
- the second threshold at least satisfies: two rays from the second effective map node are tangent to the first circle, and the angle formed by the two rays is an acute angle.
- a plurality of map nodes to be updated that respectively satisfy a set threshold may be determined within the angle formed by the two rays, so that the update path may include a plurality of map nodes to be updated, thereby improving the overall update efficiency.
- the first threshold and the second threshold are within the set limit range.
- the first effective map node, the map node to be updated, and the second effective map node are on a straight line.
- Step 402 according to the first effective map node, the map node to be updated, and the second effective map node, establish an update path starting at least from the first effective map node, passing through the map node to be updated, and to the second effective map node.
- Step 403 Control the mobile robot to start from the first valid map node according to the updated path, and collect the movement information of the position of the first valid map node.
- the motion information includes odometer data and ground texture images used to calculate the global pose information of the mobile robot.
- Step 404 Determine the current position according to the odometer data, and determine whether the distance between the current position and the map node to be updated is less than the distance threshold for triggering the acquisition of the image.
- the image acquisition at the current position determines whether the ground texture image at the current position has been acquired. If it has already been acquired, the image acquisition at the current position is not triggered; if If it has not been collected yet, trigger the image collection of the current position, and use the current position as the updated position b′ of the map node to be updated, that is, the updated map node position, and continue to move according to the current update path;
- step 404 is returned.
- Step 405 Determine whether the current position has reached the second valid map node; if so, collect the motion information of the current position, and execute step 406; otherwise, continue to move according to the updated path, and return to step 405.
- Step 406 Determine whether the collected data of the current update path meets the requirements according to the quality and quantity of the collected image information; if it does not meet the requirements, determine whether the number of repeated moves on the update path is greater than a set threshold of times.
- step 401 If it is greater than the set threshold, return to step 401 to re-establish the update path; otherwise, use the current second effective map node as the first effective map node when moving along the updated path next time, and set the current first The effective map node is used as the second effective map node when moving along the updated path next time, and return to step 403;
- step 407 is executed.
- the above-mentioned collected data of the current update path may be: data collected when the mobile robot moves along the current update path, including image information and motion information.
- Image information can be understood as ground texture images.
- the quality of the collected image information can be determined by the definition and resolution of the collected image information. If the clarity of the collected image information meets the definition requirement, the resolution of the collected image information meets the resolution requirement, and all the map nodes to be updated and the image information at the first effective map node and the second effective map node are collected, That is, if the quantity of collected image information reaches the quantity requirement, it is determined that the collected data of the current update path meets the requirements; otherwise, the collected data of the current update path does not meet the requirements.
- Step 407 The mobile robot uses the updated pose information (ie odometer data) of the map node to be updated as the initial value of the updated pose information of the map node to be updated, so that the updated map node is connected to the first valid map node and the first valid map node respectively.
- the pose information between the two valid map nodes is used as a constraint to optimize the pose information graph.
- the map coordinates of the updated point b'of the map node to be updated are taken as the initial value of the pose information of the point b', which is recorded as
- the mobile robot moves from the first effective map node to point b', and the odometer records the distance moved by the mobile robot as r 1 , the angle ⁇ 1 that it has turned, and then moves from point b'to the second effective map At the node, the distance traveled by the odometer is r 2 , and the angle of rotation is ⁇ 2 .
- the process of calculating the pose information of point b′ and the second effective map node includes:
- the subscript a represents the first effective map node
- ⁇ c′ represents the measured value of the pose information of the second effective map node obtained through the collected motion information.
- x c′ , y c′ are the global position of point c obtained by the collected motion information
- ⁇ c′ is the global posture of point c obtained by the collected motion information
- r is the global position of point c obtained by the collected motion information.
- x a is the x-axis coordinate of point a obtained based on map information
- y a is the y-axis coordinate of point a obtained based on map information
- ⁇ a is obtained based on map information
- Step 408 The mobile robot uses the least square method to solve the measurement error between the pose information of the effective map node determined based on the map information and the pose information obtained by the mobile robot at the effective map node based on the collected motion information.
- the posture information of the updated map node is saved, and the image information collected at the position b′ is saved to obtain the map information of the updated map node. This step is the same as step 104 in the first embodiment.
- the mobile robot can adjust the effective map node in time by controlling the number of times it moves along the update path, which improves the robustness of map update.
- FIG. 6 is a schematic diagram of a plurality of map nodes to be updated on the update path.
- the four map nodes to be updated, b1, b2, b3, and b4, are included between the two effective map nodes.
- the spacing between the map nodes to be updated can be equal. For example, if the distance between valid map nodes is 5 meters, there may be a map node to be updated every 1 meter in these 5 meters. The spacing between the map nodes to be updated may not be equal. As a variant, the update path may also include multiple valid map nodes.
- the process of solving optimization is equivalent to distributing the accumulated measurement error of the odometer to each segment path.
- the number of map nodes on the update path can be determined according to actual needs and device performance.
- FIG. 7 is a schematic diagram of a map updating apparatus provided by an embodiment of this application.
- the map update device includes,
- An update path establishment module for establishing an update path from the first effective map node through the map node to be updated to the second effective map node;
- the control module is used to control the mobile robot to move according to the update path.
- the distance between the current position of the mobile robot and the map node to be updated is less than the set distance threshold, it triggers the movement information collection of the current position, and uses the current position as the updated Map node position; and in the process of moving the mobile robot according to the update path, collecting movement information of the first effective map node position and the second effective map node position;
- the calculation module is used to calculate the global pose of the updated map node based on the collected movement information of the first effective map node position, the movement information of the second effective map node position, and the updated movement information of the map node position Information; delete the map information of the map node to be updated in the map, and save the map information of the updated map node;
- the map information includes at least the global pose information of the updated map node.
- the update path is the path of the first valid map node, the map node to be updated, and the second valid map node on a straight line, or a path on an approximate straight line, and the approximate straight line is a curve with a curvature less than a preset curvature threshold ;
- the motion information used to calculate the global pose information of the updated map node includes: the odometer data collected by the inertial sensor installed on the mobile robot body, and the ground texture image collected by the camera device installed on the bottom of the mobile robot ;
- Control module specifically used for:
- control the mobile robot When the distance between the current location and the map node to be updated is less than the set distance threshold, control the mobile robot to pause its movement and trigger the camera device to collect the current ground texture image;
- Calculation module specifically used for:
- the global pose information is solved.
- calculation module is specifically used for:
- the least square method is used to solve the updated map
- the global pose information of the node, the effective map node includes the first effective map node and the second effective map node.
- the odometer data includes: the distance between map nodes and the angle of rotation;
- Calculation module specifically used for:
- At least the measured value of the distance and angle between the two map nodes is constrained
- the pose information of the effective map node determined based on the map is: the pose information obtained by matching the collected ground texture image with the texture information in the effective map node.
- the number of map nodes to be updated is 1,
- Calculation module specifically used for:
- the x-axis coordinate of the updated map node is: the first distance recorded by the odometer from the first effective map node to the updated map node and the projection on the x-axis at the first angle, and the first effective map node The sum of x-axis coordinates;
- the y-axis coordinate of the updated map node is: the sum of the projection of the first distance on the y-axis at the first angle and the y-axis coordinate of the first valid map node;
- the posture of the updated map node is: the sum of the first angle and the posture of the first valid map node;
- the x-axis coordinate of the second effective map node is: the sum of the second distance and the first distance recorded by the odometer from the updated map node to the second effective map node, and the sum of the first angle and the second angle is The projection of the angle on the x-axis, and the sum of the x-axis coordinates of the first valid map node;
- the y-axis coordinate of the second effective map node is: the sum of the second distance and the first distance, the projection of the angle on the y-axis with the sum of the first angle and the second angle, and the y-axis coordinate of the first effective map node Sum;
- the posture of the second valid map node is: the sum of the first angle, the second angle, and the posture of the first valid map node;
- the first angle is the corner moving from the first effective map node to the updated map node
- the second angle is the corner moving from the updated map node to the second effective map node
- the pose information of the first valid map node is determined according to the map.
- calculation module is specifically used for:
- the iteration end conditions include one or any combination of the following: the set number of iterations is reached, the measurement error is less than the set error threshold, and the correction amount is less than the set correction threshold;
- Saving the map information of the updated map node includes: saving the pose information of the updated map node as the pose information of the updated map node, and using the feature information of the texture points extracted based on the collected ground texture image as The texture information of the updated map node is saved.
- the calculation module can also be used to: calculate the correction amount, specifically for:
- the inverse matrix of the covariance matrix when matching the ground texture image based on the motion information of the second effective map node position, the Jacobian matrix, and the product of the correction is equal to the transpose matrix of the Jacobian matrix
- the negative number of the product of the current measurement error is used to obtain the current correction amount
- the Jacobian matrix is determined according to the current estimated values of the first distance, the first angle, the second distance, and the second angle.
- update the path establishment module which can be specifically used for:
- At least two valid map nodes on the approximate straight line determined based on the map and the map node to be updated are respectively used as the first effective map node and the second effective map node, and the approximate straight line is a curve with a curvature less than a preset curvature threshold;
- an update path starting from the first effective map node, passing through the map node to be updated, and to the second effective map node is established.
- update the path establishment module which can be specifically used for:
- the first threshold and the second threshold are within the set limit range.
- update the path establishment module which can be specifically used for:
- the distance between the map node to be updated and the line determined by the two valid map nodes other than the map node to be updated is not greater than the set threshold, and the map node to be updated is located between the two valid map nodes; the map node to be updated is separated from the two valid map nodes.
- the distance between the map nodes meets the set limit range;
- control module is specifically used for:
- An embodiment of the present application also provides a mobile robot, including a memory and a processor, the memory stores instructions that can be executed by the processor, and the instructions are executed by the processor, so that the processor executes any of the above-mentioned map update methods A step of.
- the embodiment of the present application also provides a computer-readable storage medium in which a computer program is stored, and when the computer program is executed by a processor, the steps of any one of the above-mentioned map update methods are implemented.
- the embodiment of the present application also provides a computer program, which implements the steps of any one of the above-mentioned map update methods when the computer program is executed by a processor.
- the description is relatively simple, and the relevant part can refer to the part of the description of the method embodiment.
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
一种地图更新方法以及装置,地图更新方法包括,建立从第一有效地图节点经过待更新地图节点至第二有效地图节点的更新路径,控制移动机器人按照更新路径移动,当移动机器人的当前位置与待更新地图节点的距离小于设定的距离阈值时,触发当前位置的运动信息采集,并将当前位置作为更新后的地图节点位置;且在移动过程中,采集第一有效地图节点位置和第二有效地图节点位置的运动信息,基于第一有效地图节点位置和第二有效地图节点位置的运动信息,求解更新后的地图节点的全局位姿信息,删除地图中待更新地图节点的地图信息,保存更新后的地图节点的地图信息。地图更新方法能够实时自动完成地图节点更新处理,无需人工介入。
Description
本申请要求于2020年5月22日提交中国专利局、申请号为202010441119.8发明名称为“一种地图更新方法以及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及机器人技术领域,特别地,涉及一种地图更新方法以及装置。
在机器人技术领域里,地图提供了用于机器视觉定位的环境描述数据。例如,用于在即时定位与建图(Simultaneous Localization And Mapping,SLAM)的系统中,移动机器人依靠预先建立的地图进行定位。然而,由于构成地图信息的环境会产生损坏等不可恢复的变化,如果移动机器人利用环境变化前的地图进行定位,会导致定位效果下降,甚至定位失败。
以基于地面纹理的视觉导航为例。基于地面纹理的视觉导航,需要对地面纹理进行建图。建图的过程是用摄像头将地面的有效纹理信息记录下来,并且将记录的有效纹理信息与当前的位置坐标对应,形成一张有若干地图节点构成的纹理地图;每个地图节点包括位姿信息和纹理信息。建图过程中,可能由于人工实施的疏忽等因素,在纹理地图中引入错误的纹理信息;在长期使用纹理地图的过程中,地面会产生一些磨损、破裂等不可恢复的变化,导致纹理地图中的纹理信息与实际地面的纹理信息存在差异。这种情况下,如果移动机器人还利用地面变化前的纹理地图进行定位,则会产生定位效果下降的问题。因此需要对出错、污损的地图节点的数据进行更新处理。
上述这种某些地图节点出现受损的情形也存在于其他类似的基于地图的视觉导航中。
发明内容
本申请实施例提供了一种地图更新方法以及装置,以更新地图中需要更新的地图节点的地图信息。
本申请实施例提供的一种地图更新方法,是这样实现的:
建立从第一有效地图节点经过待更新地图节点至第二有效地图节点的更 新路径;
控制移动机器人按照所述更新路径移动,当所述移动机器人的当前位置与所述待更新地图节点的距离小于设定的距离阈值时,触发当前位置的运动信息采集,并将当前位置作为更新后的地图节点位置;且在所述移动机器人按照所述更新路径移动过程中,采集所述第一有效地图节点位置和所述第二有效地图节点位置的运动信息;
基于所采集的所述第一有效地图节点位置的运动信息、所述第二有效地图节点位置的运动信息、以及所述更新后的地图节点位置的运动信息,求解更新后的地图节点的全局位姿信息;
删除所述地图中的所述待更新地图节点的地图信息,保存所述更新后的地图节点的地图信息;
其中,所述更新后的地图节点的地图信息至少包括所述更新后的地图节点的全局位姿信息。
可选的,所述更新路径为所述第一有效地图节点、所述待更新地图节点、所述第二有效地图节点在一条直线上的路径,或者在一条近似直线上的路径,所述近似直线为曲率小于预设曲率阈值的曲线;
用于解算所述更新后的地图节点的全局位姿信息的运动信息包括:安装于所述移动机器人本体上的惯性传感器所采集的里程计数据、以及安装于所述移动机器人底部的摄像装置所采集的地面纹理图像;
所述当所述移动机器人的当前位置与所述待更新地图节点的距离小于设定的距离阈值时,触发当前位置的运动信息采集,包括:
根据里程计数据获取当前位置;
当当前位置与所述待更新地图节点的距离小于设定的距离阈值时,控制所述移动机器人暂停移动,触发所述摄像装置采集当前的地面纹理图像;
所述基于所采集的所述第一有效地图节点位置的运动信息、所述第二有效地图节点位置的运动信息、以及所述更新后的地图节点位置的运动信息,求解更新后的地图节点的全局位姿信息,包括:
以所采集的所述第一有效地图节点位置的运动信息、所述第二有效地图节点位置的运动信息、以及所述更新后的地图节点位置的运动信息为约束, 基于所述从第一有效地图节点至所述第二有效地图节点的测量误差,求解所述更新后的地图节点的全局位姿信息。
可选的,所述以所采集的所述第一有效地图节点位置的运动信息、所述第二有效地图节点位置的运动信息、以及所述更新后的地图节点位置的运动信息为约束,基于从所述第一有效地图节点至所述第二有效地图节点的测量误差,求解所述更新后的地图节点的全局位姿信息,包括:
至少以任意一对地图节点之间的相对位姿信息为约束,其中,所述一对地图节点包括两个地图节点,且所述两个地图节点中至少包括一个所述更新后的地图节点;
根据所述移动机器人基于地图确定的有效地图节点的位姿信息与基于所述移动机器人所采集有效地图节点位置的运动信息所获得的位姿信息之间的测量误差,利用最小二乘法,求解出所述更新后的地图节点的全局位姿信息,所述有效地图节点包括所述第一有效地图节点和所述第二有效地图节点。
可选的,所述里程计数据包括:地图节点之间的距离和转过的角度;
所述至少以任意一对地图节点之间的相对位姿信息为约束,包括:至少以两两地图节点之间的距离和角度的测量值为约束;
所述根据所述移动机器人基于地图确定的有效地图节点的位姿信息与基于所述移动机器人所采集有效地图节点位置的运动信息所获得的位姿信息之间的测量误差,利用最小二乘法,求解出所述更新后的地图节点的全局位姿信息,包括:
将所述更新后的地图节点处所采集的里程计数据作为所述更新后的地图节点的位姿信息初始值;
基于所述更新后的地图节点的位姿信息初始值,根据所述移动机器人基于地图确定的有效地图节点的位姿信息与基于所述移动机器人所采集有效地图节点位置的运动信息所获得的位姿信息之间的测量误差,通过迭代,求解出所述两两地图节点之间的距离和角度;
根据求解得到的距离和角度,确定所述更新后的地图节点的全局位姿信息;
其中,基于地图确定的有效地图节点的位姿信息为:通过所采集的地面 纹理图像与该有效地图节点中的纹理信息进行匹配而获取的位姿信息。
可选的,所述待更新地图节点的数量为1,
所述至少以两两地图节点之间的距离和角度的测量值为约束,包括:以所述更新后的地图节点分别与所述第一有效地图节点、所述第二有效地图节点之间的位姿信息作为约束;
根据所述第一有效地图节点的位姿信息和里程计数据,确定所述更新后地图节点和所述第二有效地图节点的位姿信息,分别为:
所述更新后的地图节点的x轴坐标为:里程计记录的从第一有效地图节点移动到所述更新后的地图节点的第一距离以所述第一角度在x轴上的投影,与所述第一有效地图节点的x轴坐标之和;
所述更新后的地图节点的y轴坐标为:所述第一距离以所述第一角度在y轴上的投影,与所述第一有效地图节点的y轴坐标之和;
所述更新后的地图节点的姿态为:所述第一角度与所述第一有效地图节点的姿态之和;
所述第二有效地图节点的x轴坐标为:里程计记录的从所述更新后的地图节点移动到所述第二有效地图节点的第二距离与所述第一距离之和,以所述第一角度和第二角度之和为角度在x轴上的投影,与所述第一有效地图节点的x轴坐标之和;
所述第二有效地图节点的y轴坐标为:所述第二距离与所述第一距离之和,以所述第一角度和所述第二角度之和为角度在y轴上的投影,与所述第一有效地图节点的y轴坐标之和;
所述第二有效地图节点的姿态为:所述第一角度、所述第二角度、以所述及第一有效地图节点的姿态之和;
其中,所述第一角度为从所述第一有效地图节点移动到所述更新后的地图节点的转角;
所述第二角度为从所述更新后的地图节点移动到所述第二有效地图节点的转角;
所述第一有效地图节点的位姿信息根据地图确定。
可选的,所述基于所述更新后的地图节点的位姿信息初始值,根据所述 移动机器人基于地图确定的有效地图节点的位姿信息与基于所述移动机器人所采集有效地图节点位置的运动信息所获得的位姿信息之间的测量误差,利用最小二乘法,求解出所述更新后的地图节点的全局位姿信息,包括:
根据所述更新后的地图节点的位姿信息初始值,设定所述第一距离和所述第一角度的初始值;基于所述第二有效地图节点位置的运动信息所解算的位姿信息,设定所述第二距离和所述第二角度的初始值;将所述第一距离、第一角度、第二距离和第二角度的初始值作为当前估计值;
根据所述第一距离、第一角度、第二距离和第二角度的当前估计值,计算所述第二有效地图节点的位姿信息当前值;
计算所述移动机器人基于地图确定的所述第二有效地图节点的位姿信息与所述第二有效地图节点的位姿信息当前值之间的测量误差;
判断是否满足迭代结束条件;
如果是,则将当前第一距离、和当前第一角度作为最终结果,按照约束计算所述更新后的地图节点的全局位姿信息;
否则,计算一修正量,将所述修正量分别与当前第一距离、第一角度、第二距离、以及第二角度相加,将修正后的第一距离、第一角度、第二距离、以及第二角度作为各自的当前估计值,然后返回执行所述根据所述第一距离、第一角度、第二距离和第二角度的当前估计值,计算所述第二有效地图节点的位姿信息当前值的步骤;
所述迭代结束条件包括以下之一或任意组合:达到设定的迭代次数、所述测量误差小于设定的误差阈值、所述修正量小于设定的修正阈值;
所述保存所述更新后的地图节点的地图信息,包括:将所述更新后的地图节点的位姿信息作为所述更新后的地图节点的位姿信息保存,将基于采集的地面纹理图像所提取的纹理点的特征信息作为所述更新后的地图节点的纹理信息保存。
可选的,所述修正量通过以下方式计算:
对当前测量误差求第一距离、第一角度、第二距离、第二角度的偏导,得到雅克比矩阵;
根据所述雅克比矩阵的转置矩阵、基于所述第二有效地图节点位置的运 动信息进行地面纹理图像匹配时的协方差矩阵的逆矩阵、所述雅克比矩阵、以及修正量的乘积等于所述雅克比矩阵的转置矩阵与当前测量误差乘积的负数,求得当前修正量;
其中,所述雅克比矩阵根据第一距离、第一角度、第二距离和第二角度的当前估计值确定。
可选的,所述建立从第一有效地图节点经过待更新地图节点至第二有效地图节点的更新路径,包括:
基于地图确定且与所述待更新地图节点在近似直线上的至少两个有效地图节点,分别作为第一有效地图节点和第二有效地图节点,所述近似直线为曲率小于预设曲率阈值的曲线;
根据所述第一有效地图节点、所述待更新地图节点、所述第二有效地图节点,建立从所述第一有效地图节点出发、经过所述待更新地图节点、到所述第二有效地图节点的更新路径。
可选的,所述基于地图确定与所述待更新地图节点在近似直线上的至少两个有效地图节点,包括:
确定与待更新地图节点的距离满足设定的第一阈值的第一有效地图节点,所述第一阈值至少满足:从所述第一有效地图节点作两条射线与以所述待更新地图节点为圆心、以触发采集图像的距离阈值为半径的第一圆相切、且所述两条射线所形成夹角为锐角;
在所述两射线所形成夹角范围内,至少确定与所述待更新地图节点的距离满足设定的第二阈值的第二有效地图节点;
其中,所述第一阈值和第二阈值在设定的限制范围内。
可选的,所述基于地图确定与所述待更新地图节点在近似直线上的至少两个有效地图节点,包括:
待更新地图节点与除所述待更新地图节点之外的两有效地图节点所确定的直线的距离不大于设定阈值、且所述待更新地图节点位于所述两有效地图节点之间;
所述待更新地图节点分别与所述两有效地图节点之间的距离满足设定的限制范围;
或者,
选择与待更新地图节点具有一定距离的第一有效地图节点,在从所述第一有效地图节点经所述待更新地图节点所确定的延长线上,确定距离所述延长线不大于设定阈值的第二有效地图节点,所述待更新地图节点分别与所述第一有效地图节点、所述第二有效地图节点的距离满足设定的限制范围。
可选的,所述控制移动机器人按照所述更新路径移动,包括:
控制移动机器人按照所述更新路径从所述第一有效地图节点出发,采集所述第一有效地图节点位置的运动信息,
根据里程计数据确定当前位置,判断当前位置与所述待更新地图节点的距离是否小于触发采集图像的距离阈值;如果小于触发采集图像的距离阈值,判断是否已采集过当前位置的图像信息;如果已经采集过,则不触发当前位置的图像采集,如果尚未采集过,则触发当前位置的图像采集;如果不小于触发采集图像的距离阈值,则不触发当前位置的图像采集,控制移动机器人按照所述更新路径继续移动,返回所述根据里程计数据确定当前位置的步骤;
判断当前位置是否到达所述第二有效地图节点;如果到达所述第二有效地图节点,则采集当前位置的运动信息;否则,控制移动机器人按照所述更新路径继续移动,直至所移动的所述更新路径结束;
判断当前更新路径的采集数据是否符合要求;如果不符合要求,则判断在当前更新路径重复移动的次数是否大于设定的次数阈值;如果大于设定的次数阈值,则重新建立更新路径;否则,将当前的第二有效地图节点作为下一次按照更新路径移动时的第一有效地图节点,将当前的第一有效地图节点作为下一次按照更新路径移动时的第二有效地图节点,返回至所述控制移动机器人按照所述更新路径从所述第一有效地图节点出发的步骤。
本申请实施例还提供了一种地图更新装置,该装置包括,
更新路径建立模块,用于建立从第一有效地图节点经过待更新地图节点至第二有效地图节点的更新路径;
控制模块,用于控制移动机器人按照所述更新路径移动,当移动机器人的当前位置与待更新地图节点的距离小于设定的距离阈值时,触发当前位置的运动信息采集,并将当前位置作为更新后的地图节点位置;且在移动机器 人按照所述更新路径移动过程中,采集第一有效地图节点位置和第二有效地图节点位置的运动信息;
计算模块,用于基于所采集的第一有效地图节点位置的运动信息、第二有效地图节点位置的运动信息、以及更新后的地图节点位置的运动信息,求解更新后的地图节点的全局位姿信息;删除地图中的待更新地图节点的地图信息,保存更新后的地图节点的地图信息,
其中,更新后的地图节点的地图信息至少包括更新后的地图节点的全局位姿信息。
本申请实施例还提供了一种移动机器人,包括存储器和处理器,所述存储器存储有可被处理器执行的指令,所述指令被处理器执行,以使所述处理器执行以上任一所述的地图更新方法的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现以上任一所述地图更新方法的步骤。
本申请实施例还提供了一种计算机程序,所述计算机程序被处理器执行时实现以上任一所述地图更新方法的步骤。
本申请实施例中,通过更新路径上与待更新地图节点一定距离的位置以及有效地图节点位置的运动信息采集,以所采集的第一有效地图节点位置和第二有效地图节点位置的运动信息、以及更新后的地图节点位置的运动信息为约束,求解更新后的地图节点的全局位姿信息,无需人工介入,实现了具有受损地图节点的地图实时自动更新;地图更新简单高效,改善了地图中部分地图节点失效受损时,所导致的移动机器人定位效果下降的影响。
图1为本申请实施例一的地图更新方法的一种流程示意图。
图2为该待更新地图节点、至少两个有效地图节点位置关系的一种示意图。
图3为本申请实施例提供的从a点开始经由b点运行至c点结束的过程中触发图像采集的一种示意图。
图4为本申请实施例二的地图更新方法的一种流程示意图。
图5为本申请实施例提供的基于地图确定有效地图节点的一种示意图。
图6为本申请实施例提供的待更新路径上有多个待更新地图节点的一种示意。
图7为本申请实施例提供的地图更新装置的一种示意图。
为使本申请的目的、技术方案、及优点更加清楚明白,以下参照附图并举为了使本申请的目的、技术手段和优点更加清楚明白,以下结合附图对本申请做进一步详细说明。
为便于理解,下面对本申请实施例中出现的词语进行解释说明。
有效地图节点为:地图中不需要更新的地图节点。
待更新地图节点为:地图中需要更新的地图节点。
地图节点的地图信息包括纹理信息和位姿信息。
地图信息包括的位姿信息为该地图节点的全局位姿信息,用于计算移动机器人移动至该地图节点处时的位姿信息。地图节点的位姿信息也可以理解为该地图节点处移动机器人的参考位姿信息,包括全局位置和全局姿态。
地图节点包括的纹理信息为:采集的该地图节点处的图像中特征点的特征集合。
地图节点位置的运动信息为:移动机器人移动至该地图节点位置处时的运动信息。
图像信息可以为地面纹理图像。
本申请实施例的构思是,基于移动机器人在两有效地图节点之间经过m个待更新地图节点移动时的第一测量误差,可分配至由所述m个待更新地图节点将两有效地图节点之间所分割的m+1段上的测量误差,建立从第一有效地图节点经过m个待更新地图节点至第二有效地图节点的更新路径;通过移动机器人在该更新路径上所采集的两两地图节点之间的距离和角度的测量值,根据第一测量误差,来解算m个待更新地图节点的位姿信息。其中,测量误差为移动机器人基于采集的运动信息而获得的位姿信息与有效地图节点根据地图确定的位姿信息之间的差异;运动信息包括用于解算移动机器人的全局位姿信息的数据。例如,图像数据。m为大于等于1的自然数。当地图为地面纹理地图时,图像数据可以理解为地面纹理图像。
基于上述构思,本申请实施例提供了一种地图更新方法,具体包括:建立从第一有效地图节点经过待更新地图节点至第二有效地图节点的更新路径;
控制移动机器人按照更新路径移动,当移动机器人的当前位置与待更新地图节点的距离小于设定的距离阈值时,触发当前位置的运动信息采集,并将当前位置作为更新后的地图节点位置;且在移动机器人按照更新路径移动过程中,采集第一有效地图节点位置和第二有效地图节点位置的运动信息;
基于所采集的第一有效地图节点位置的运动信息、第二有效地图节点位置的运动信息、以及更新后的地图节点位置的运动信息,求解更新后的地图节点的全局位姿信息;
删除地图中的待更新地图节点的地图信息,保存更新后的地图节点的地图信息;
其中,更新后的地图节点的地图信息至少包括更新后的地图节点的全局位姿信息。
为便于理解本申请实施例提供的技术方案,以下将以待更新地图节点的数量为1为例。
实施例一
为便于理解,以下将以地面纹理地图为例来说明,所应理解的是,其也适用于除地面纹理地图之外的其他地图。
参见图1所示,图1为本申请实施例一的地图更新方法的一种流程示意图。当移动机器人接收到更新地图的触发指令时,解析触发指令,获得触发指令中所包括的待更新地图节点的ID(Identity,标识),然后移动机器人执行如下步骤:
步骤101,根据待更新地图节点的ID,基于地图确定与待更新地图节点在具有一定曲率的近似直线或者直线上的至少两个有效地图节点,分别作为第一有效地图节点和第二有效地图节点。
移动机器人在得到待更新地图节点的ID后,基于地图,确定至少两个有效地图节点。该至少两个有效地图节点与待更新地图节点在近似直线或者直线上,并且该近似直线或者直线经过待更新地图节点。移动机器人可以从至少两个有效地图节点中选择一个有效地图节点作为第一有效地图节点,从至少两个有效地图节点中选择一个有效地图节点作为第二有效地图节点。
为了降低累计测量误差,移动机器人可以从位于待更新地图节点两侧的有效地图节点中,分别选择一个距离待更新地图节点最近的有效地图节点,作为第一有效地图节点和第二有效地图节点。
上述近似直线为曲率小于预设曲率阈值的曲线。
参见图2所示,图2为待更新地图节点、至少两个有效地图节点位置关系的一种示意图。b点为待更新地图节点,地图节点a为第一有效地图节点,地图节点c为第二有效地图节点,a、b、c三点在一条直线上。鉴于实际应用中,根据两点较为容易地确定一条直线,故而三点中,可以允许任意一点偏离所确定的直线在设定的阈值范围。
也就是,待更新地图节点、第一有效地图节点和第二有效地图节点这三点中,允许任意一点偏离由其他两点所确定的直线一定距离,偏移的距离在设定的阈值范围。
例如,选择与待更新地图节点具有一定距离的第一有效地图节点,在从第一有效地图节点经待更新地图节点所确定的延长线上,确定距离该延长线不大于设定阈值的第二有效地图节点,待更新地图节点分别与第一有效地图节点、第二有效地图节点的距离满足设定的限制范围。
限制范围为一个距离范围,具体可以根据实际需求进行设定。
可选地,可以根据除待更新地图节点之外的两个有效地图节点确定直线,待更新地图节点偏离该直线一定的范围,使得第一有效地图节点、待更新地图节点、第二有效地图节点形成具有一定曲率的近似直线。上述待更新地图节点偏离该直线的距离在一定的范围内。
其中,第一有效地图节点的地图坐标为(x
a,y
a,θ
a),待更新地图节点的地图坐标为(x
b,y
b,θ
b),第二有效地图节点的地图坐标为(x
c,y
c,θ
c)。这些地图坐标为地图节点的全局位姿信息,其中,x、y为地图节点的全局位置,θ为地图节点的全局姿态。
步骤102,移动机器人根据第一有效地图节点、待更新地图节点、第二有效地图节点,建立从第一有效地图节点出发、经过待更新地图节点、到第二有效地图节点的更新路径;移动机器人按照更新路径控制移动,移动过程中获取至少第一有效地图节点位置和第二有效地图节点位置的运动信息,并且当基于里程计数据所确定的当前位置与待更新地图节点的距离小于设定的触发采集图像的距离阈值时,触发采集当前地面纹理图像,并将当前位置作为 待更新地图节点更新后的地图节点位置;
在该步骤102中,移动机器人将当前位置作为待更新地图节点更新后的全局位置。
在该步骤102中,为提高更新的效率,可选地,该更新路径为直线路径,或者为具有一定曲率的近似直线路径,更新路径也可以是人工配置后加载至移动机器人中,并由人工控制移动机器人按照更新路径移动。
在本实施例中,运动信息可以包括,里程计数据和用于解算移动机器人的全局位姿信息的地面纹理图像。其中,用于解算移动机器人的全局位姿信息的地面纹理图像为:用于解算更新后的地图节点的全局位姿信息的地面纹理图像。
以图2为例,控制移动机器人按照更新路径至少移动一次,即:控制移动机器至少沿从a点开始经由b点运行至c点结束的路径移动一次。如果更新路径上有障碍物,可以绕行,其对待更新地图节点的更新影响不大。
如图3所示,图3为从a点开始经由b点运行至c点结束的过程中触发图像采集的一种示意图。在移动过程中,移动机器人利用轮式里程计等惯性传感器获取当前位置,当当前位置的地图坐标(x,y,θ)与待更新地图节点(x
b,y
b,θ
b)之间的距离小于设定的距离阈值时,让移动机器人暂停,触发摄像头采集当前位置的地面纹理图像,以获得当前位置的纹理信息。这里的当前位置可以理解为图3中的b'点。
之后,让移动机器人继续移动。在从a点开始经由b点运行至c点结束的过程中通过惯性传感器获取a点、c点的里程计数据,并通过所采集的a点、c点的地面纹理图像与有效地图节点中的纹理信息进行匹配,从而基于地图节点的地图信息,获取移动机器人在a点、c点的当前位姿信息。
上述摄像头可以为安装于移动机器人底部的摄像装置。
步骤103,移动机器人将更新后的地图节点的位姿信息作为待更新地图节点更新后的位姿信息初始值,以更新后的地图节点分别与第一有效地图节点、第二有效地图节点之间的位姿信息作为约束,以用于进行位姿信息图优化。
鉴于更新后的地图节点处所采集的地面纹理图像与地图能够成功匹配的概率较低,这使得更新后的地图节点的位姿信息难以通过图像配准的方式,来解算出移动机器人在更新后的地图节点的位姿信息。
故而,在该步骤103中,将待更新地图节点更新后的b′点处所采集的里程计数据作为位姿信息初始值。更新后的位置b′地图坐标的位姿信息初始值,记为
其中,
为地图节点b′的全局位置,
为地图节点b′的全局姿态。
移动机器人由a点运动到b′点,里程计记录移动机器人移动的第一距离为r
1,转过的第一角度θ
1,再由b′点移动至c点,里程计记录移动的第二距离为r
2,转过的第二角度为θ
2。显然,由a点运动至c点移动的距离为r=r
1+r
2,转过的角度为θ=θ
1+θ
2。其中,距离可由里程计通过记录轮胎转过的圈数和已知的轮胎半径获得,转过的角度可通过陀螺仪记录的角速度累积获得。
如图3所示,根据移动机器人在a点的位姿信息(根据地图确定的位姿信息)和里程计数据,推算出b′点和c点的位姿信息的过程,包括:
b′点的x轴坐标为:第一距离r
1以第一角度θ
1在x轴上的投影与a点的x轴坐标x
a之和;b′点的y轴坐标为:所述第一距离r
1以第一角度θ
1在y轴上的投影与在a点的y轴坐标y
a之和;b′点的姿态为:第一角度θ
1与a点的姿态θ
a之和;
c点的x轴坐标为:第二距离r
2与第一距离r
1之和以第一角度θ
1和第二角度θ
2之和为角度在x轴上的投影,与a的x轴坐标x
a之和;c点的y轴坐标为:第二距离r
2与第一距离r
1之和以第一角度θ和第二角度θ
2之和为角度在y轴上的投影,与a点的y轴坐标y
a之和;c点的姿态为:第一角度θ
1、第二角度θ
2、以及a点的姿态θ
a之和;
数学式表达为:
ξ
c′=(x
c′,y
c′,θ
c′)=(x
a+r·cosθ,y
a+r·sinθ,θ
a+θ)=(x
a+(r
1+r
2)·cos(θ
1+θ
2),y
a+(r
1+r
2)·sin(θ
1+θ
2),θ
a+θ
1+θ
2) (式2)。
其中,
表示通过采集的运动信息获得的b′点位姿信息的测量值,ξ
c′表示通过采集的运动信息获得的c点位姿信息的测量值。
为b′点的全 局位置,
为b′点的全局姿态,x
c′,y
c′为通过采集的运动信息获得的c点的全局位置,θ
c′通过采集的运动信息获得的c点的全局姿态,r为通过采集的运动信息获得的a点至c点的距离。
由此得到当前位置分别与第一有效地图节点、第二有效地图节点之间运动信息的约束关系,即更新后的地图节点分别与第一有效地图节点、第二有效地图节点之间运动信息的约束关系,如上述式1和式2。
步骤104,移动机器人根据基于地图所确定的有效地图节点的位姿信息与移动机器人在该有效地图节点处基于所采集运动信息获得的位姿信息之间的测量误差,利用最小二乘法求解出待更新地图节点更新后的位姿信息,即求解出更新后的地图节点的位姿信息,以对位置b′的位姿信息初始值
进行位姿信息图优化;保存位置b′所采集的图像信息,得到更新后的地图节点的地图信息。
有效地图节点包括第一有效地图节点和第二有效地图节点。基于地图所确定的有效地图节点的位姿信息为有效位姿信息,移动机器人在该有效地图节点处基于所采集运动信息获得的位姿信息为测量位姿信息。
上述步骤104具体可以为:移动机器人根据有效位姿信息和测量位姿信息之间的测量误差,利用最小二乘法求解出更新后的地图节点的位姿信息;保存在更新后的地图节点位置处所采集的地面纹理图像,得到更新后的地图节点的地图信息。
如图2所示,移动机器人在从a移动到c时,由于c点仍有有效的地图节点的地图信息,因此,根据地图可确定有效地图节点c的位姿信息ξ
c=(x
c,y
c,θ
c)。鉴于里程计测量值ξ
c′包含一定测量误差,有效地图节点c的位姿信息信息ξ
c是准确的,故而ξ
c和ξ
c′可能并不会相等,即,里程计测量值ξ
c′与有效地图节点的位置信息ξ
c可能存在测量误差e:
e=ξ
c-ξ
c′ (式3)
其中,e是关于r
1,θ
1和r
2,θ
2的函数。由于角度信息的存在,因此,上式3 中是非线性的。
为求解出r
1,θ
1和r
2,θ
2,可以采用最小二乘法。以高斯-牛顿最小二乘法为例。
步骤1041,根据位置b′的位姿信息初始值
设定r
1,θ
1的初始值,基于c点的运动信息ξ
c′所解算的位姿信息设定r
2,θ
2的初始值;将r
1,θ
1的初始值、r
2,θ
2的初始值作为当前估计值,记为P;
步骤1042,按照式2计算出ξ
c′的当前测量值,按照c点处里程计测量值与基于有效地图节点c的地图信息所确定的位姿信息存在误差关系计算出当前测量误差,即,按照式3计算出测量误差。
步骤1042中,ξ
c′的当前测量值为c点处里程计测量值,即为第二有效地图节点的测量位姿信息,基于有效地图节点c的地图信息所确定的位姿信息为c点有效位姿信息,即第二有效地图节点的有效位姿信息,也可以称为第二有效地图节点的实际值。
步骤1043,判断是否满足迭代结束条件。
如果是,则将r
1、θ
1的当前值作为最终结果,然后按照式1计算出更新后的地图节点的位姿信息,得出b'的地图坐标(x
b',y
b',θ
b')。之后,移动机器人可以保存b'的图像信息,进而得到更新后的地图节点b'的地图信息。
否则,为了减小测量误差,计算基于当前P的修正量δP,以得到修正后的估计值P
1,其中,P
1=P+δP,
所述修正量δP是这样计算的:
根据高斯-牛顿最小二乘法,有:雅克比矩阵的转置矩阵、基于第二有效地图节点位置的运动信息进行地面纹理图像匹配时的协方差矩阵的逆矩阵、雅克比矩阵、以及修正量的乘积等于雅克比矩阵的转置矩阵与当前测量误差乘积的负数,用数学式表达为:
J
TΣ
-1J·δP=-J
T·e
其中,J为雅克比矩阵,根据当前估计值计算得到;Σ为基于c点采集的运动信息进行地面纹理图像匹配时的协方差矩阵,其为3×3的矩阵,e为按照当前估计值得到的当前测量误差。通过上式可求得用于迭代的修正量δP。
将修正后的估计值P
1作为当前估计值P,即更新第一距离r
1,、第一角度θ
1、第二距离r
2、以及第二角度θ
2的当前值,返回执行步骤1042。
迭代结束条件可以是:达到设定的迭代次数、测量误差e小于设定的误差阈值、修正量δP小于设定的修正阈值中的其中之一或其任意的组合。
通过上述步骤可以求解出r
1、θ
1、r
2、θ
2,根据其中r
1、θ
1利用式1得到b′的地图坐标,将该地图坐标和获取的地面纹理图像作为待更新地图节点更新后的地图信息,并保存,即,将更新后的地图节点的位姿信息作为全局位姿信息保存,将基于采集的地面纹理图像所提取的纹理点的特征信息,作为更新后的地图节点的纹理信息保存。
从本实施例可见,由于里程计本身存在累计测量误差,从a经过b到c的距离越大,累计测量误差就越大,因此,为提高迭代求解的效率,有效地图节点之间的距离可以限制在设定的范围,例如,设定的范围为5~8米。
本申请实施例提供的地图更新方法,移动机器人在接收到地图更新触发指令后,能够实时自动完成更新处理,无需人工介入,地图更新简单且高效,极大地改善了地图中部分地图节点失效受损时所导致的移动机器人定位效果下降的影响。通过最小二乘法求解出待更新地图节点的位姿信息,能够有效地去除噪声,获得高精度的位姿信息。
实施例二
参见图4所示,图4为本申请实施例二的地图更新方法的一种流程示意图。当移动机器人接收到更新地图的触发指令时,解析触发指令,获得触发指令中所包括的待更新地图节点的ID,然后移动机器人执行如下步骤:
步骤401,根据待更新地图节点的ID,基于地图确定与待更新地图节点在具有一定曲率的近似直线上的至少两个有效地图节点,分别作为第一有效地图节点和第二有效地图节点。
参见如5所示,图5为基于地图确定有效地图节点的一种示意图。基于地图在待更新地图节点位置附近具有多个有效地图节点。这种情形下,以待更新地图节点为圆心、以触发采集图像的距离阈值为半径,确定第一圆;
以待更新地图节点为中心,确定与待更新地图节点的距离满足设定的第一阈值的第一有效地图节点,第一阈值至少满足:从第一有效地图节点作两条射线与第一圆相切,两射线所形成夹角为锐角;从第一有效地图节点作两条射线与第一圆相切,在两射线所形成夹角范围内至少确定与待更新地图节点的距离满足设定的第二阈值的第二有效地图节点。
可选的,第二阈值至少满足:从第二有效地图节点作两条射线与第一圆相切,两射线所形成夹角为锐角。
可选的,还可以在两射线所形成夹角范围内确定分别满足设定阈值的多个待更新地图节点,以使得更新路径可以包括多个待更新地图节点,从而提高整体的更新效率。其中,第一阈值和第二阈值在设定的限制范围内。
可选的,第一有效地图节点、待更新地图节点、第二有效地图节点在一直线上。
步骤402,根据第一有效地图节点、待更新地图节点、第二有效地图节点,建立至少从第一有效地图节点出发、经过待更新地图节点、到第二有效地图节点的更新路径。
步骤403,控制移动机器人按照更新路径从第一有效地图节点出发,采集第一有效地图节点位置的运动信息。
本实施例中,运动信息包括里程计数据和用于解算移动机器人的全局位姿信息的地面纹理图像。
步骤404,根据里程计数据确定当前位置,判断当前位置与待更新地图节点的距离是否小于触发采集图像的距离阈值。
如果小于触发采集图像的距离阈值,可选的,为了避免在当前位置重复 地采集图像,判断是否已采集过当前位置的地面纹理图像,如果已经采集过,则不触发当前位置的图像采集;如果尚未采集过,则触发当前位置的图像采集,并将当前位置作为待更新地图节点更新后的位置b′,即更新后的地图节点位置,并按照当前更新路径继续移动;
如果不小于触发采集图像的距离阈值,则不触发当前位置的图像采集,并按照更新路径继续移动;并返回步骤404。
步骤405,判断当前位置是否到达第二有效地图节点;如果是,则采集当前位置的运动信息,并执行步骤406;否则,按照更新路径继续移动,并返回步骤405。
步骤406,根据所采集图像信息的质量以及数量,判断当前更新路径的采集数据是否符合要求;如果不符合要求,则判断在该更新路径重复移动的次数是否大于设定的次数阈值。
如果大于设定的次数阈值,则返回步骤401,以重新建立更新路径;否则,则将当前的第二有效地图节点作为下一次按照更新路径移动时的第一有效地图节点,将当前的第一有效地图节点作为下一次按照更新路径移动时的第二有效地图节点,返回至步骤403;
如果符合要求,则执行步骤407。
上述当前更新路径的采集数据可以为:移动机器人沿当前更新路径移动时采集的数据,包括图像信息和运动信息等。图像信息可以理解为地面纹理图像。
所采集图像信息的质量可以由所采集图像信息的清晰度、分辨率等信息确定。若所采集图像信息的清晰度达到清晰度要求,所采集图像信息的分辨率达到分辨率要求,并采集了所有待更新地图节点以及第一有效地图节点和第二有效地图节点处的图像信息,即所采集图像信息的数量达到了数量要求,则确定当前更新路径的采集数据符合要求;否则,当前更新路径的采集数据不符合要求。
步骤407,移动机器人将更新后的地图节点的位姿信息(即里程计数据)作为待更新地图节点更新后的位姿信息初始值,以更新后的地图节点分别与第一有效地图节点、第二有效地图节点之间的位姿信息作为约束,以用于进行位姿信息图优化。
如图3所示,移动机器人由第一有效地图节点运动到b′点,里程计记录移动机器人移动的距离为r
1,转过的角度θ
1,再由b′点移动至第二有效地图节点,里程计记录移动的距离为r
2,转过的角度为θ
2。显然,由第一有效地图节点运动至第二有效地图节点移动的距离为r=r
1+r
2,转过的角度为θ=θ
1+θ
2。
根据移动机器人在第一有效地图节点的位姿信息(根据地图确定的位姿信息)和里程计数据,推算出b′点和第二有效地图节点的位姿信息的过程,包括:
ξ
c′=(x
c′,y
c′θ
c′)=(x
a+r·cosθ,y
a+r·sinθ,θ
a+θ) (式2)
其中,下标a表示第一有效地图节点,ξ
c′表示通过采集的运动信息获得第二有效地图节点位姿信息的测量值,
表示通过采集的运动信息获得的b′点位姿信息的测量值,
为b′点的全局位置,
为b′点的全局姿态,x
c′,y
c′为通过采集的运动信息获得的c点的全局位置,θ
c′通过采集的运动信息获得的c点的全局姿态,r为通过采集的运动信息获得的a点至c点的距离,x
a为基于地图信息获得的a点的x轴坐标,y
a为基于地图信息获得的a点的y轴坐标,θ
a为基于地图信息获得的a点的全局姿态。
由此得到点b′分别与第一有效地图节点、第二有效地图节点之间运动信息的约束关系,如上述式1和式2。
步骤408,移动机器人根据基于地图信息所确定的有效地图节点的位姿信息与移动机器人在该有效地图节点处基于所采集运动信息获得的位姿信息之间的测量误差,利用最小二乘法求解出更新后的地图节点的位姿信息,并保存位置b′所采集的图像信息,得到更新后的地图节点的地图信息。该步骤与实施例一中的步骤104相同。
本申请实施例中,移动机器人通过控制按照更新路径移动的次数,能够及时地调整有效地图节点,提高了地图更新的鲁棒性。
尽管上述实施例是以一个待更新地图节点来说明的,所应理解的是,在更新路径上可以包括多个待更新地图节点。参见图6所示,图6为更新路径上有多个待更新地图节点的一种示意图。图6中,两个有效地图节点之间包括了b1,b2,b3,b4这4个待更新地图节点。
待更新地图节点之间的间距可以相等。例如,有效地图节点之间的间距为5米,这5米中可以每隔1米都有个待更新地图节点。各个待更新地图节点之间的间距可以不相等。作为一种变形,该更新路径还可以包括多个有效地图节点。
在更新路径上,任意两两地图节点之间都有距离和角度的测量值,累积测量误差仍然由c点(即第二有效地图节点)计算。考虑里程计精度,距离越大,里程计的累计测量误差越大,但从a点(即第一有效地图节点)到c点之间总的测量误差不会因待更新地图节点的增加而增加,即,里程计记录的测量误差不因为中间有几个地图节点而改变。这样可以提高计算效率。
但是更新路径上地图节点越多,需要优化计算的地图节点数量也越多,地图更新的计算量越大。求解优化的过程,相当于是将里程计的累计测量误差分配到各个分段路径上。地图节点越多,分配越困难,优化就越难以收敛,优化后的残差越大。
具有应用中,可根据实际需求和设备性能,确定更新路径上的地图节点数量。
参见图7所示,图7为本申请实施例提供的地图更新装置的一种示意图。该地图更新装置包括,
更新路径建立模块,用于建立从第一有效地图节点经过待更新地图节点至第二有效地图节点的更新路径;
控制模块,用于控制移动机器人按照更新路径移动,当移动机器人的当前位置与待更新地图节点的距离小于设定的距离阈值时,触发当前位置的运动信息采集,并将当前位置作为更新后的地图节点位置;且在移动机器人按照所述更新路径移动过程中,采集第一有效地图节点位置和第二有效地图节点位置的运动信息;
计算模块,用于基于所采集的第一有效地图节点位置的运动信息、第二 有效地图节点位置的运动信息、以及更新后的地图节点位置的运动信息,求解更新后的地图节点的全局位姿信息;删除地图中的待更新地图节点的地图信息,保存更新后的地图节点的地图信息;
其中,地图信息至少包括更新后的地图节点的全局位姿信息。
可选的,更新路径为第一有效地图节点、待更新地图节点、第二有效地图节点在一条直线上的路径,或者在一条近似直线上的路径,近似直线为曲率小于预设曲率阈值的曲线;
用于解算更新后的地图节点的全局位姿信息的运动信息包括:安装于移动机器人本体上的惯性传感器所采集的里程计数据、以及安装于移动机器人底部的摄像装置所采集的地面纹理图像;
控制模块,具体用于:
根据里程计数据获取当前位置;
当当前位置与待更新地图节点的距离小于设定的距离阈值时,控制移动机器人暂停移动,触发摄像装置采集当前的地面纹理图像;
计算模块,具体用于:
以所采集的第一有效地图节点位置的运动信息、第二有效地图节点位置的运动信息、以及更新后的地图节点位置的运动信息为约束,基于从第一有效地图节点至第二有效地图节点的测量误差,求解更新后的地图节点的全局位姿信息。
可选的,计算模块,具体用于:
至少以任意一对地图节点之间的相对位姿信息为约束,其中,一对地图节点包括两个地图节点,且两个地图节点中至少包括一个更新后的地图节点;
根据移动机器人基于地图确定的有效地图节点的位姿信息与基于移动机器人所采集有效地图节点位置的运动信息所获得的位姿信息之间的测量误差,利用最小二乘法,求解出更新后的地图节点的全局位姿信息,有效地图节点包括第一有效地图节点和第二有效地图节点。
可选的,里程计数据包括:地图节点之间的距离和转过的角度;
计算模块,具体用于:
至少以两两地图节点之间的距离和角度的测量值为约束;
将更新后的地图节点处所采集的里程计数据作为更新后的地图节点的位姿信息初始值;
基于更新后的地图节点的位姿信息初始值,根据移动机器人基于地图确定的有效地图节点的位姿信息与基于移动机器人所采集有效地图节点位置的运动信息所获得的位姿信息之间的测量误差,通过迭代,求解出两两地图节点之间的距离和角度;
根据求解得到的距离和角度,确定更新后的地图节点的全局位姿信息;
其中,基于地图确定的有效地图节点的位姿信息为:通过所采集的地面纹理图像与该有效地图节点中的纹理信息进行匹配而获取的位姿信息。
可选的,待更新地图节点的数量为1,
计算模块,具体用于:
以更新后的地图节点分别与第一有效地图节点、第二有效地图节点之间的位姿信息作为约束;
根据第一有效地图节点的位姿信息和里程计数据,确定更新后地图节点和第二有效地图节点的位姿信息,分别为:
更新后的地图节点的x轴坐标为:里程计记录的从第一有效地图节点移动到更新后的地图节点的第一距离以第一角度在x轴上的投影,与第一有效地图节点的x轴坐标之和;
更新后的地图节点的y轴坐标为:第一距离以第一角度在y轴上的投影,与第一有效地图节点的y轴坐标之和;
更新后的地图节点的姿态为:第一角度与第一有效地图节点的姿态之和;
第二有效地图节点的x轴坐标为:里程计记录的从更新后的地图节点移动到第二有效地图节点的第二距离与第一距离之和,以第一角度和第二角度之和为角度在x轴上的投影,与第一有效地图节点的x轴坐标之和;
第二有效地图节点的y轴坐标为:第二距离与第一距离之和,以第一角度和第二角度之和为角度在y轴上的投影,与第一有效地图节点的y轴坐标之和;
第二有效地图节点的姿态为:第一角度、第二角度、以及第一有效地图节点的姿态之和;
其中,第一角度为从第一有效地图节点移动到更新后的地图节点的转角;
第二角度为从更新后的地图节点移动到第二有效地图节点的转角;
第一有效地图节点的位姿信息根据地图确定。
可选的,计算模块,具体用于:
根据更新后的地图节点的位姿信息初始值,设定第一距离和第一角度的初始值;基于第二有效地图节点位置的运动信息所解算的位姿信息,设定第二距离和第二角度的初始值;将第一距离、第一角度、第二距离和第二角度的初始值作为当前估计值;
根据第一距离、第一角度、第二距离和第二角度的当前估计值,计算第二有效地图节点的位姿信息当前值;
计算移动机器人基于地图确定的第二有效地图节点的位姿信息与第二有效地图节点的位姿信息当前值之间的测量误差;
判断是否满足迭代结束条件;
如果是,则将当前第一距离、和当前第一角度作为最终结果,按照约束计算更新后的地图节点的全局位姿信息;
否则,计算一修正量,将修正量分别与当前第一距离、第一角度、第二距离、以及第二角度相加,将修正后的第一距离、第一角度、第二距离、以及第二角度作为各自的当前估计值,然后返回执行根据第一距离、第一角度、第二距离和第二角度的当前估计值,计算第二有效地图节点的位姿信息当前值的步骤;
迭代结束条件包括以下之一或任意组合:达到设定的迭代次数、测量误差小于设定的误差阈值、修正量小于设定的修正阈值;
保存更新后的地图节点的地图信息,包括:将更新后的地图节点的位姿信息作为更新后的地图节点的位姿信息保存,将基于采集的地面纹理图像所提取的纹理点的特征信息作为更新后的地图节点的纹理信息保存。
可选的,计算模块,还可以用于:计算修正量,具体用于:
对当前测量误差求第一距离、第一角度、第二距离、第二角度的偏导,得到雅克比矩阵;
根据雅克比矩阵的转置矩阵、基于第二有效地图节点位置的运动信息进 行地面纹理图像匹配时的协方差矩阵的逆矩阵、雅克比矩阵、以及修正量的乘积等于雅克比矩阵的转置矩阵与当前测量误差乘积的负数,求得当前修正量;
其中,雅克比矩阵根据第一距离、第一角度、第二距离和第二角度的当前估计值确定。
可选的,更新路径建立模块,具体可以用于:
基于地图确定与待更新地图节点在近似直线上的至少两个有效地图节点,分别作为第一有效地图节点和第二有效地图节点,近似直线为曲率小于预设曲率阈值的曲线;
根据第一有效地图节点、待更新地图节点、第二有效地图节点,建立从第一有效地图节点出发、经过待更新地图节点、到第二有效地图节点的更新路径。
可选的,更新路径建立模块,具体可以用于:
确定与待更新地图节点的距离满足设定的第一阈值的第一有效地图节点,第一阈值至少满足:从第一有效地图节点作两条射线与以待更新地图节点为圆心、以触发采集图像的距离阈值为半径的第一圆相切、且两条射线所形成夹角为锐角;
在两射线所形成夹角范围内,至少确定与待更新地图节点的距离满足设定的第二阈值的第二有效地图节点;
其中,第一阈值和第二阈值在设定的限制范围内。
可选的,更新路径建立模块,具体可以用于:
待更新地图节点与除待更新地图节点之外的两有效地图节点所确定的直线的距离不大于设定阈值、且待更新地图节点位于两有效地图节点之间;待更新地图节点分别与两有效地图节点之间的距离满足设定的限制范围;
或者,
选择与待更新地图节点具有一定距离的第一有效地图节点,在从第一有效地图节点经待更新地图节点所确定的延长线上,确定距离延长线不大于设定阈值的第二有效地图节点,待更新地图节点分别与第一有效地图节点、第二有效地图节点的距离满足设定的限制范围。
可选的,控制模块,具体用于:
控制移动机器人按照更新路径从第一有效地图节点出发,采集第一有效地图节点位置的运动信息,
根据里程计数据确定当前位置,判断当前位置与待更新地图节点的距离是否小于触发采集图像的距离阈值;如果小于触发采集图像的距离阈值,判断是否已采集过当前位置的图像信息;如果已经采集过,则不触发当前位置的图像采集,如果尚未采集过,则触发当前位置的图像采集;如果不小于触发采集图像的距离阈值,则不触发当前位置的图像采集,控制移动机器人按照更新路径继续移动,返回根据里程计数据确定当前位置的步骤;
判断当前位置是否到达第二有效地图节点;如果到达第二有效地图节点,则采集当前位置的运动信息;否则,控制移动机器人按照更新路径继续移动,直至所移动的更新路径结束;
判断当前更新路径的采集数据是否符合要求;如果不符合要求,则判断在当前更新路径重复移动的次数是否大于设定的次数阈值;如果大于设定的次数阈值,则重新建立更新路径;否则,将当前的第二有效地图节点作为下一次按照更新路径移动时的第一有效地图节点,将当前的第一有效地图节点作为下一次按照更新路径移动时的第二有效地图节点,返回至控制移动机器人按照更新路径从第一有效地图节点出发的步骤。
本申请实施例还提供了一种移动机器人,包括存储器和处理器,存储器存储有可被处理器执行的指令,该指令被处理器执行,以使处理器执行上述任一所述的地图更新方法的步骤。
本申请实施例还提供了一种计算机可读存储介质,该存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述任一的地图更新方法的步骤。
本申请实施例还提供了一种计算机程序,计算机程序被处理器执行时实现上述任一的地图更新方法的步骤。
对于装置移动机器人/存储介质/计算机程序实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者 操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (15)
- 一种地图更新方法,该方法包括,建立从第一有效地图节点经过待更新地图节点至第二有效地图节点的更新路径;控制移动机器人按照所述更新路径移动,当所述移动机器人的当前位置与所述待更新地图节点的距离小于设定的距离阈值时,触发当前位置的运动信息采集,并将当前位置作为更新后的地图节点位置;且在所述移动机器人按照所述更新路径移动过程中,采集所述第一有效地图节点位置和所述第二有效地图节点位置的运动信息;基于所采集的所述第一有效地图节点位置的运动信息、所述第二有效地图节点位置的运动信息、以及所述更新后的地图节点位置的运动信息,求解更新后的地图节点的全局位姿信息;删除所述地图中的所述待更新地图节点的地图信息,保存所述更新后的地图节点的地图信息;其中,所述更新后的地图节点的地图信息至少包括所述更新后的地图节点的全局位姿信息。
- 如权利要求1所述的方法,其中,所述更新路径为所述第一有效地图节点、所述待更新地图节点、所述第二有效地图节点在一条直线上的路径,或者在一条近似直线上的路径,所述近似直线为曲率小于预设曲率阈值的曲线;用于解算所述更新后的地图节点的全局位姿信息的运动信息包括:安装于所述移动机器人本体上的惯性传感器所采集的里程计数据、以及安装于所述移动机器人底部的摄像装置所采集的地面纹理图像;所述当所述移动机器人的当前位置与所述待更新地图节点的距离小于设定的距离阈值时,触发当前位置的运动信息采集,包括:根据里程计数据获取当前位置;当当前位置与所述待更新地图节点的距离小于设定的距离阈值时,控制所述移动机器人暂停移动,触发所述摄像装置采集当前的地面纹理图像;所述基于所采集的所述第一有效地图节点位置的运动信息、所述第二有 效地图节点位置的运动信息、以及所述更新后的地图节点位置的运动信息,求解更新后的地图节点的全局位姿信息,包括:以所采集的所述第一有效地图节点位置的运动信息、所述第二有效地图节点位置的运动信息、以及所述更新后的地图节点位置的运动信息为约束,基于所述从第一有效地图节点至所述第二有效地图节点的测量误差,求解所述更新后的地图节点的全局位姿信息。
- 如权利要求2所述的方法,其中,所述以所采集的所述第一有效地图节点位置的运动信息、所述第二有效地图节点位置的运动信息、以及所述更新后的地图节点位置的运动信息为约束,基于从所述第一有效地图节点至所述第二有效地图节点的测量误差,求解所述更新后的地图节点的全局位姿信息,包括:至少以任意一对地图节点之间的相对位姿信息为约束,其中,所述一对地图节点包括两个地图节点,且所述两个地图节点中至少包括一个所述更新后的地图节点;根据所述移动机器人基于地图确定的有效地图节点的位姿信息与基于所述移动机器人所采集有效地图节点位置的运动信息所获得的位姿信息之间的测量误差,利用最小二乘法,求解出所述更新后的地图节点的全局位姿信息,所述有效地图节点包括所述第一有效地图节点和所述第二有效地图节点。
- 如权利要求3所述的方法,其中,所述里程计数据包括:地图节点之间的距离和转过的角度;所述至少以任意一对地图节点之间的相对位姿信息为约束,包括:至少以两两地图节点之间的距离和角度的测量值为约束;所述根据所述移动机器人基于地图确定的有效地图节点的位姿信息与基于所述移动机器人所采集有效地图节点位置的运动信息所获得的位姿信息之间的测量误差,利用最小二乘法,求解出所述更新后的地图节点的全局位姿信息,包括:将所述更新后的地图节点处所采集的里程计数据作为所述更新后的地图节点的位姿信息初始值;基于所述更新后的地图节点的位姿信息初始值,根据所述移动机器人基 于地图确定的有效地图节点的位姿信息与基于所述移动机器人所采集有效地图节点位置的运动信息所获得的位姿信息之间的测量误差,通过迭代,求解出所述两两地图节点之间的距离和角度;根据求解得到的距离和角度,确定所述更新后的地图节点的全局位姿信息;其中,基于地图确定的有效地图节点的位姿信息为:通过所采集的地面纹理图像与该有效地图节点中的纹理信息进行匹配而获取的位姿信息。
- 如权利要求4所述的方法,其中,所述待更新地图节点的数量为1,所述至少以两两地图节点之间的距离和角度的测量值为约束,包括:以所述更新后的地图节点分别与所述第一有效地图节点、所述第二有效地图节点之间的位姿信息作为约束;根据所述第一有效地图节点的位姿信息和里程计数据,确定所述更新后地图节点和所述第二有效地图节点的位姿信息,分别为:所述更新后的地图节点的x轴坐标为:里程计记录的从第一有效地图节点移动到所述更新后的地图节点的第一距离以所述第一角度在x轴上的投影,与所述第一有效地图节点的x轴坐标之和;所述更新后的地图节点的y轴坐标为:所述第一距离以所述第一角度在y轴上的投影,与所述第一有效地图节点的y轴坐标之和;所述更新后的地图节点的姿态为:所述第一角度与所述第一有效地图节点的姿态之和;所述第二有效地图节点的x轴坐标为:里程计记录的从所述更新后的地图节点移动到所述第二有效地图节点的第二距离与所述第一距离之和,以所述第一角度和第二角度之和为角度在x轴上的投影,与所述第一有效地图节点的x轴坐标之和;所述第二有效地图节点的y轴坐标为:所述第二距离与所述第一距离之和,以所述第一角度和所述第二角度之和为角度在y轴上的投影,与所述第一有效地图节点的y轴坐标之和;所述第二有效地图节点的姿态为:所述第一角度、所述第二角度、以所述及第一有效地图节点的姿态之和;其中,所述第一角度为从所述第一有效地图节点移动到所述更新后的地图节点的转角;所述第二角度为从所述更新后的地图节点移动到所述第二有效地图节点的转角;所述第一有效地图节点的位姿信息根据地图确定。
- 如权利要求5所述的方法,其中,所述基于所述更新后的地图节点的位姿信息初始值,根据所述移动机器人基于地图确定的有效地图节点的位姿信息与基于所述移动机器人所采集有效地图节点位置的运动信息所获得的位姿信息之间的测量误差,利用最小二乘法,求解出所述更新后的地图节点的全局位姿信息,包括:根据所述更新后的地图节点的位姿信息初始值,设定所述第一距离和所述第一角度的初始值;基于所述第二有效地图节点位置的运动信息所解算的位姿信息,设定所述第二距离和所述第二角度的初始值;将所述第一距离、第一角度、第二距离和第二角度的初始值作为当前估计值;根据所述第一距离、第一角度、第二距离和第二角度的当前估计值,计算所述第二有效地图节点的位姿信息当前值;计算所述移动机器人基于地图确定的所述第二有效地图节点的位姿信息与所述第二有效地图节点的位姿信息当前值之间的测量误差;判断是否满足迭代结束条件;如果是,则将当前第一距离、和当前第一角度作为最终结果,按照约束计算所述更新后的地图节点的全局位姿信息;否则,计算一修正量,将所述修正量分别与当前第一距离、第一角度、第二距离、以及第二角度相加,将修正后的第一距离、第一角度、第二距离、以及第二角度作为各自的当前估计值,然后返回执行所述根据所述第一距离、第一角度、第二距离和第二角度的当前估计值,计算所述第二有效地图节点的位姿信息当前值的步骤;所述迭代结束条件包括以下之一或任意组合:达到设定的迭代次数、所述测量误差小于设定的误差阈值、所述修正量小于设定的修正阈值;所述保存所述更新后的地图节点的地图信息,包括:将所述更新后的地 图节点的位姿信息作为所述更新后的地图节点的位姿信息保存,将基于采集的地面纹理图像所提取的纹理点的特征信息作为所述更新后的地图节点的纹理信息保存。
- 如权利要求6所述的方法,其中,所述修正量通过以下方式计算:对当前测量误差求第一距离、第一角度、第二距离、第二角度的偏导,得到雅克比矩阵;根据所述雅克比矩阵的转置矩阵、基于所述第二有效地图节点位置的运动信息进行地面纹理图像匹配时的协方差矩阵的逆矩阵、所述雅克比矩阵、以及修正量的乘积等于所述雅克比矩阵的转置矩阵与当前测量误差乘积的负数,求得当前修正量;其中,所述雅克比矩阵根据第一距离、第一角度、第二距离和第二角度的当前估计值确定。
- 如权利要求1所述的方法,其中,所述建立从第一有效地图节点经过待更新地图节点至第二有效地图节点的更新路径,包括:基于地图确定与所述待更新地图节点在近似直线上的至少两个有效地图节点,分别作为第一有效地图节点和第二有效地图节点,所述近似直线为曲率小于预设曲率阈值的曲线;根据所述第一有效地图节点、所述待更新地图节点、所述第二有效地图节点,建立从所述第一有效地图节点出发、经过所述待更新地图节点、到所述第二有效地图节点的更新路径。
- 如权利要求8所述的方法,其中,所述基于地图确定与所述待更新地图节点在近似直线上的至少两个有效地图节点,包括:确定与待更新地图节点的距离满足设定的第一阈值的第一有效地图节点,所述第一阈值至少满足:从所述第一有效地图节点作两条射线与以所述待更新地图节点为圆心、以触发采集图像的距离阈值为半径的第一圆相切、且所述两条射线所形成夹角为锐角;在所述两射线所形成夹角范围内,至少确定与所述待更新地图节点的距离满足设定的第二阈值的第二有效地图节点;其中,所述第一阈值和第二阈值在设定的限制范围内。
- 如权利要求8所述的方法,其中,所述基于地图确定与所述待更新地图节点在近似直线上的至少两个有效地图节点,包括:待更新地图节点与除所述待更新地图节点之外的两有效地图节点所确定的直线的距离不大于设定阈值、且所述待更新地图节点位于所述两有效地图节点之间;所述待更新地图节点分别与所述两有效地图节点之间的距离满足设定的限制范围;或者,选择与待更新地图节点具有一定距离的第一有效地图节点,在从所述第一有效地图节点经所述待更新地图节点所确定的延长线上,确定距离所述延长线不大于设定阈值的第二有效地图节点,所述待更新地图节点分别与所述第一有效地图节点、所述第二有效地图节点的距离满足设定的限制范围。
- 如权利要求1至7任一项所述的方法,其中,所述控制移动机器人按照所述更新路径移动,包括:控制移动机器人按照所述更新路径从所述第一有效地图节点出发,采集所述第一有效地图节点位置的运动信息,根据里程计数据确定当前位置,判断当前位置与所述待更新地图节点的距离是否小于触发采集图像的距离阈值;如果小于触发采集图像的距离阈值,判断是否已采集过当前位置的图像信息;如果已经采集过,则不触发当前位置的图像采集,如果尚未采集过,则触发当前位置的图像采集;如果不小于触发采集图像的距离阈值,则不触发当前位置的图像采集,控制移动机器人按照所述更新路径继续移动,返回所述根据里程计数据确定当前位置的步骤;判断当前位置是否到达所述第二有效地图节点;如果到达所述第二有效地图节点,则采集当前位置的运动信息;否则,控制移动机器人按照所述更新路径继续移动,直至所移动的所述更新路径结束;判断当前更新路径的采集数据是否符合要求;如果不符合要求,则判断在当前更新路径重复移动的次数是否大于设定的次数阈值;如果大于设定的次数阈值,则重新建立更新路径;否则,将当前的第二有效地图节点作为下一次按照更新路径移动时的第一有效地图节点,将当前的第一有效地图节点 作为下一次按照更新路径移动时的第二有效地图节点,返回至所述控制移动机器人按照所述更新路径从所述第一有效地图节点出发的步骤。
- 一种地图更新装置,该装置包括,更新路径建立模块,用于建立从第一有效地图节点经过待更新地图节点至第二有效地图节点的更新路径;控制模块,用于控制移动机器人按照所述更新路径移动,当所述移动机器人的当前位置与所述待更新地图节点的距离小于设定的距离阈值时,触发当前位置的运动信息采集,并将当前位置作为更新后的地图节点位置;且在所述移动机器人按照所述更新路径移动过程中,采集所述第一有效地图节点位置和所述第二有效地图节点位置的运动信息;计算模块,用于基于所采集的所述第一有效地图节点位置的运动信息、所述第二有效地图节点位置的运动信息、以及所述更新后的地图节点位置的运动信息,求解更新后的地图节点的全局位姿信息;删除所述地图中的所述待更新地图节点的地图信息,保存所述更新后的地图节点的地图信息;其中,所述更新后的地图节点的地图信息至少包括更新后的地图节点的全局位姿信息。
- 一种移动机器人,包括存储器和处理器,所述存储器存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器执行如权利要求1至11任一所述的地图更新方法的步骤。
- 一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至11任一所述地图更新方法的步骤。
- 一种计算机程序,所述计算机程序被处理器执行时实现如权利要求1至11任一所述地图更新方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010441119.8 | 2020-05-22 | ||
CN202010441119.8A CN113701739B (zh) | 2020-05-22 | 2020-05-22 | 一种地图更新方法以及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021233452A1 true WO2021233452A1 (zh) | 2021-11-25 |
Family
ID=78646271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/095578 WO2021233452A1 (zh) | 2020-05-22 | 2021-05-24 | 一种地图更新方法以及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113701739B (zh) |
WO (1) | WO2021233452A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114770495A (zh) * | 2022-03-02 | 2022-07-22 | 北京盈迪曼德科技有限公司 | 机器人执行业务操作方法、装置及机器人 |
CN115617043A (zh) * | 2022-09-30 | 2023-01-17 | 汤恩智能科技(上海)有限公司 | 机器人及其定位方法、装置、设备、服务器及存储介质 |
CN115979248A (zh) * | 2023-03-17 | 2023-04-18 | 上海仙工智能科技有限公司 | 基于定位位姿为约束的地图更新方法及系统、存储介质 |
CN118067114A (zh) * | 2024-04-24 | 2024-05-24 | 成都赛力斯科技有限公司 | 一种地图构建方法、装置、电子设备及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114329724A (zh) * | 2021-12-31 | 2022-04-12 | 北京泰豪智能工程有限公司 | 基于视觉的建筑信息模型bim更新方法及系统 |
CN114577215B (zh) * | 2022-03-10 | 2023-10-27 | 山东新一代信息产业技术研究院有限公司 | 一种移动机器人的特征地图更新方法、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104374395A (zh) * | 2014-03-31 | 2015-02-25 | 南京邮电大学 | 基于图的视觉slam方法 |
CN107544507A (zh) * | 2017-09-28 | 2018-01-05 | 速感科技(北京)有限公司 | 可移动机器人移动控制方法及装置 |
CN108038139A (zh) * | 2017-11-10 | 2018-05-15 | 未来机器人(深圳)有限公司 | 地图构建方法、装置和机器人定位方法、装置、计算机设备和存储介质 |
CN108398661A (zh) * | 2018-01-12 | 2018-08-14 | 清华大学 | 一种在无线传感器网络中基于历史坐标数据分析的节点精确实时定位方法 |
US20200012877A1 (en) * | 2018-07-06 | 2020-01-09 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, and storage medium |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103885028B (zh) * | 2014-04-17 | 2016-03-23 | 哈尔滨工业大学 | 一种适用于无线传感器网络节点定位的基于误差校正的联合质心定位方法 |
KR20190019823A (ko) * | 2017-08-18 | 2019-02-27 | 한국전자통신연구원 | 속도계 정보 제공 장치 및 그 방법 |
CN110763245A (zh) * | 2019-10-25 | 2020-02-07 | 江苏海事职业技术学院 | 一种基于流式计算的地图创建方法及其系统 |
-
2020
- 2020-05-22 CN CN202010441119.8A patent/CN113701739B/zh active Active
-
2021
- 2021-05-24 WO PCT/CN2021/095578 patent/WO2021233452A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104374395A (zh) * | 2014-03-31 | 2015-02-25 | 南京邮电大学 | 基于图的视觉slam方法 |
CN107544507A (zh) * | 2017-09-28 | 2018-01-05 | 速感科技(北京)有限公司 | 可移动机器人移动控制方法及装置 |
CN108038139A (zh) * | 2017-11-10 | 2018-05-15 | 未来机器人(深圳)有限公司 | 地图构建方法、装置和机器人定位方法、装置、计算机设备和存储介质 |
CN108398661A (zh) * | 2018-01-12 | 2018-08-14 | 清华大学 | 一种在无线传感器网络中基于历史坐标数据分析的节点精确实时定位方法 |
US20200012877A1 (en) * | 2018-07-06 | 2020-01-09 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, and storage medium |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114770495A (zh) * | 2022-03-02 | 2022-07-22 | 北京盈迪曼德科技有限公司 | 机器人执行业务操作方法、装置及机器人 |
CN115617043A (zh) * | 2022-09-30 | 2023-01-17 | 汤恩智能科技(上海)有限公司 | 机器人及其定位方法、装置、设备、服务器及存储介质 |
CN115979248A (zh) * | 2023-03-17 | 2023-04-18 | 上海仙工智能科技有限公司 | 基于定位位姿为约束的地图更新方法及系统、存储介质 |
CN115979248B (zh) * | 2023-03-17 | 2023-08-18 | 上海仙工智能科技有限公司 | 基于定位位姿为约束的地图更新方法及系统、存储介质 |
CN118067114A (zh) * | 2024-04-24 | 2024-05-24 | 成都赛力斯科技有限公司 | 一种地图构建方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113701739A (zh) | 2021-11-26 |
CN113701739B (zh) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021233452A1 (zh) | 一种地图更新方法以及装置 | |
WO2022105024A1 (zh) | 机器人位姿的确定方法、装置、机器人及存储介质 | |
WO2021232470A1 (zh) | 基于多传感器融合的slam制图方法、系统 | |
Li et al. | Improving the accuracy of EKF-based visual-inertial odometry | |
EP2858794B2 (en) | Carpet drift estimation and compensation using two sets of sensors | |
WO2021249387A1 (zh) | 一种视觉地图构建方法和移动机器人 | |
CN110717927A (zh) | 基于深度学习和视惯融合的室内机器人运动估计方法 | |
CN107909614B (zh) | 一种gps失效环境下巡检机器人定位方法 | |
CN102519481A (zh) | 一种双目视觉里程计实现方法 | |
CN110929402A (zh) | 一种基于不确定分析的概率地形估计方法 | |
CN108426576A (zh) | 基于标识点视觉导航与sins的飞行器路径规划方法及系统 | |
CN105333869A (zh) | 一种基于自适应ekf的无人侦察机同步定位与构图方法 | |
CN109959374A (zh) | 一种行人惯性导航全时全程逆向平滑滤波方法 | |
CN112731503A (zh) | 一种基于前端紧耦合的位姿估计方法及系统 | |
CN115436955A (zh) | 室内外环境定位方法 | |
CN117782063A (zh) | 一种基于图优化的可变滑动窗口的多传感器融合定位方法 | |
US11992961B2 (en) | Pose determination method, robot using the same, and computer readable storage medium | |
CN110807799A (zh) | 一种结合深度图推断的线特征视觉里程计方法 | |
CN117782114B (zh) | 车辆定位校正方法、装置、计算机设备和存储介质 | |
CN108827287A (zh) | 一种复杂环境下的鲁棒视觉slam系统 | |
CN112556681B (zh) | 一种基于视觉的果园机械导航定位方法 | |
CN116772828B (zh) | 一种基于图优化的多传感器融合定位与建图方法 | |
CN116879917A (zh) | 一种激光雷达地形匹配辅助导航方法及系统 | |
CN116524116A (zh) | 一种多传感器数据融合的排水管道三维模型构建系统 | |
CN114842224A (zh) | 一种基于地理底图的单目无人机绝对视觉匹配定位方案 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21809366 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21809366 Country of ref document: EP Kind code of ref document: A1 |