Methods for correcting a pose of a mobile device
By employing reference images and bidirectional feature tracking to correct pose drift, the method addresses the issue of inaccurate positioning in mobile devices, ensuring precise navigation and complete work area coverage.
Patent Information
- Application Number
- PCT/EP2025/060959
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-29
- Filing Date
- 2025-04-23
- Publication Date
- 2025-11-06
AI Technical Summary
Mobile devices, such as robotic lawnmowers, experience pose drift due to continuous SLAM-based navigation, leading to inaccurate positioning and boundary definition, which affects their ability to efficiently cover a work area.
A method involving the use of reference images captured during a learning phase to correct the pose by tracking features between current and reference images, utilizing bidirectional feature tracking to determine a precise corrected pose for navigation.
Effectively reduces pose drift, ensuring accurate navigation and complete coverage of the work area by aligning the mobile device's position with the actual boundary, enhancing operational efficiency.
Smart Images

Figure EP2025060959_06112025_PF_FP_ABST
Abstract
Description
[0001] Description
[0002] title
[0003] Method for correcting the pose of a mobile device
[0004] The present invention relates to a method for correcting the pose of a mobile device, in particular a vehicle or robot that moves at least partially automatically, especially a robotic lawnmower, which moves or is intended to move in an environment, a computing unit and a computer program for carrying it out, and a mobile device
[0005] Background of the invention
[0006] Mobile devices or work equipment, such as vehicles or robots that move at least semi-automatically, typically move in an environment, in particular an environment to be processed or a work area, such as an apartment, in a garden, in a factory hall or on the street, in the air or in water.
[0007] Disclosure of the invention
[0008] According to the invention, a method for correcting the pose of a mobile device, a computing unit and a computer program for carrying out this method, as well as a mobile device with the features of the independent claims, are proposed. Advantageous embodiments are the subject of the dependent claims and the following description.
[0009] The invention relates generally to mobile devices that move, or at least can move, within an environment, such as a work area. These can also be referred to as mobile work equipment. Examples of such mobile devices (or mobile work equipment) include robots and / or drones and / or vehicles that move semi-automatically or fully automatically (on land, water, or in the air). Examples of robots include household robots such as cleaning robots (e.g., vacuuming and / or mopping robots), floor or street cleaning equipment, construction robots, or robotic lawnmowers, as well as other so-called service robots. Examples of vehicles that move at least partially automatically include passenger transport vehicles or goods transport vehicles (also known as industrial trucks, e.g., in warehouses), but also aircraft such as drones or watercraft.
[0010] Such a mobile device includes, in particular, a control unit and a drive unit for moving the device, enabling it to be moved within its environment, especially along a path. Navigation information can be determined based on the path and / or the device's pose; for example, specific instructions on the direction the device should move to follow the path. This information can then be implemented as control signals via the control unit and the drive unit.
[0011] For navigation, an environmental map can be used, which may have been obtained or determined using SLAM. SLAM (Simultaneous Localization and Mapping) is a robotics technique in which a mobile device, such as a robot, can simultaneously create a map of its environment and estimate its spatial position within that map. This facilitates obstacle detection and thus supports autonomous navigation.
[0012] This illustrates that one aspect of navigating such a mobile device is determining its pose, i.e., its position and orientation, and being able to refer back to it later. Furthermore, a mobile device or work tool can have one or more sensors that can capture its surroundings or information within them. These can be, for example, cameras, lidar sensors, or inertial sensors, which can be used to capture the environment and / or the movement of the mobile device, for example, in two or three dimensions.
[0013] Furthermore, such a mobile device can be configured to receive and / or send data via a communication link, in other words, to communicate and exchange data. This allows communication with the mobile device, for example, to give it instructions, transmit other data to it, or receive data or information from it. Wireless communication links are particularly relevant in this context. For this purpose, the mobile device can, for example, have corresponding (possibly different) modules for wireless communication, which can also be integrated into a processing unit.
[0014] With such a mobile device, it is also common for it to have functions that it can perform; that is, the mobile device is configured to carry out one or more, preferably different, functions. Instead of functions, one can also speak of applications. Such functions could be, for example, a work function or a training function.
[0015] The work function includes, for example, the automated movement of the mobile device within an environment and the execution of a work process within that environment, at least temporarily while moving. In the case of a robotic lawnmower, the work function could therefore include, for example, mowing (while moving). For this purpose, the mobile device can be given a start command to perform the work function, for example, by sending corresponding data via the wireless communication link.
[0016] One aspect of navigation can also be the initial learning of boundaries or borders of the work area, such as the edge of a lawn or other area to be worked on, or other edges. This can also be referred to as a learning function.
[0017] The learning function includes, for example, manually controlling the mobile device's movement within its environment, particularly without performing a task (such as mowing the lawn) within that environment. In the case of a robotic lawnmower, the learning function can therefore include, for example, manually moving or controlling it along the perimeter of the working area to teach the robotic lawnmower the boundaries. For this purpose, the mobile device can be given (continuous) control commands to navigate or move within its environment, for example, by sending corresponding data via the wireless communication connection. This process is also referred to as learning or a "teach-in."
[0018] One aspect of this training process is finding or defining a boundary (or limit) that surrounds the work area, such as a garden or lawn. This boundary can then be used during operation to limit the automated movement of the mobile device.
[0019] During navigation of the mobile device, particularly after a boundary or limit has been defined during the learning process, it can happen—and in practice, this occurs repeatedly for various reasons—that the mobile device drifts. This means that the mobile device, for example based on SLAM, continuously or repeatedly determines its pose, but this pose increasingly deviates from the actual pose.
[0020] Therefore, a method for correcting a pose on a mobile device is proposed. For this purpose, a reference dataset is provided, which includes a reference image of the environment captured by a sensor on the mobile device and a reference pose of the mobile device (or the relevant sensor) at the time the reference image was captured. The aforementioned camera is the primary suitable sensor, although images can also be captured using other sensors.
[0021] In addition, a current data set is provided, which includes a current image of the environment captured by the sensor of the mobile device and a current pose of the mobile device when the current image is captured.
[0022] The current image was captured after the mobile device moved within its environment, and the device's current pose was determined based on SLAM and the movement. However, another method for determining the current pose may have been used instead of SLAM. A key aspect is that some movement of the mobile device occurred between the capture of the reference image and the capture of the current image, and a certain amount of time elapsed. It's conceivable that the reference image was captured during the aforementioned training process, while the current image was captured during a recent editing operation, which could be the tenth such operation since the initial training. The current pose of the mobile device may also have been determined by considering loop closure and based on the reference pose.
[0023] Determining the current pose of the mobile device based on SLAM and the movement that has occurred can, for example, include one or more localization operations, wherein one or each of the several localization operations comprises providing two intermediate images that have been captured, in particular sequentially, by the sensor of the mobile device; and determining, based on a pose of the mobile device at the time of capture of the first of the two intermediate images, a pose of the mobile device at the time of capture of the second of the two intermediate images. The intermediate images are each different from the current and the reference image.
[0024] It should also be noted that the drift can increase the longer and more extensively the mobile device moves to reach the current pose. A tracking of one or more features between the current image and the reference image is then performed to obtain a difference pose. Based on this difference pose, the current pose is corrected to obtain a corrected pose of the mobile device, which is then provided and used, in particular, for navigating the mobile device.
[0025] Tracking involves attempting to locate one or more features from one image in another. This is primarily based on an optical flow. A feature from one image will be found in a slightly different position in the other. Based on this shift of the feature from one image to the other, it can be determined how the pose of the mobile device must have changed from one image to the other; this corresponds to the difference pose. In the case of multiple features, individual difference poses can also be determined, which are then averaged to obtain a single difference pose.
[0026] Examples of distinguishing features include prominent points in the images (or the surroundings), such as edges on houses or other objects.
[0027] As mentioned, tracking is based on an optical flow, i.e., a slight change between the two images. This also means that tracking is only really possible between two images that were taken immediately one after the other, for example, after the mobile device has moved one or two meters or possibly also rotated slightly.
[0028] Within the scope of the present invention, tracking is not applied to two images captured or recorded in immediate succession, but rather to images—the reference image and the current image—captured at a greater time interval, with a much longer intervening movement of the mobile device. When tracking the features themselves, however, it is simply assumed that the two images were captured or recorded immediately one after the other, knowing full well that this is not the case. In one embodiment, the reference data set is selected from several reference data sets, in particular such that the current pose is closer to the reference pose of the selected reference data set than to the reference poses of the remaining reference data sets. The current pose can, for example, be closest to the reference pose whose position (as part of the pose) is closest to the position of the current pose.Similarly, orientation (also as part of the pose) can be taken into account; for example, care can be taken to ensure that the orientations are as close to each other as possible. It is also useful to consider both position and orientation. For example, it is conceivable that the multiple reference data sets could be captured at specific positions and / or orientations during or after the training process.
[0029] In general, using reference images for tracking makes it particularly easy and effective to compensate for drift or correct the current pose. The corrected pose can then be used instead of the current pose to determine navigation information, and thus control information for moving the mobile device, as mentioned above.
[0030] It should also be mentioned here that feature tracking between images is different from feature matching. Feature matching involves only certain features that exist for a given pose; for example, there are reference features for a reference pose and actual features for the current pose. However, if the actual features, or many of them, have no corresponding reference features, a difference pose cannot be determined, or at least not very accurately.
[0031] However, if complete images are now available, a particularly large number of features can be used for tracking, including features that would not have been stored in a dataset intended solely for comparison. This significantly increases the likelihood that many features in both images are traceable.
[0032] In one embodiment, tracking one or more features between the current image and the reference image comprises tracking one or more current features from the current image to the reference image to obtain a first difference pose, and tracking one or more reference features from the reference image to the current image to obtain a second difference pose. A verification is then performed to ensure that the first difference pose and the second difference pose agree, at least within predefined tolerances. If this is the case, one of the first and second difference poses, or, for example, an average of them, can be used as the difference pose. If the first difference pose and the second difference pose do not agree within the predefined tolerances, the pose correction can be omitted, for example, or it can still be performed using one of the first and second difference poses.This allows at least some correction of the drift.
[0033] This means that features from one image are not only tracked in the other, but also vice versa. It is therefore a bidirectional tracking process. Both images can contain features that can be found by tracking them in the other image, but not vice versa. Bidirectional tracking thus increases the number of features that can be successfully tracked, allowing the difference pose to be determined even more precisely.
[0034] A computing unit according to the invention (i.e., generally a system for data processing), e.g., a control unit or a control unit of a mobile device, or a central server or other computing system, is, in particular in terms of programming, equipped to carry out a method according to the invention.
[0035] The invention also relates to a mobile device configured to receive control information as described above. Furthermore, or alternatively, the mobile device comprises a computing unit according to the invention. The mobile device also includes a control unit and a drive unit for moving the device. Additionally, the mobile device may include sensor means for acquiring environmental information from the environment in which the mobile device is moving or is intended to move, such as the aforementioned camera or multiple cameras.
[0036] Preferably, the mobile device is designed as a vehicle that moves at least partially automatically, in particular as a passenger transport vehicle or as a goods transport vehicle, and / or as a robot, in particular as a household robot, e.g. cleaning robot, floor or street cleaning device or lawn mowing robot, and / or as a drone.
[0037] Implementing a method according to the invention in the form of a computer program or computer program product with program code for carrying out all method steps is also advantageous, as this incurs particularly low costs, especially if an executing control unit is already available for other tasks. Finally, a machine-readable storage medium is provided with a computer program stored on it as described above. Suitable storage media or data carriers for providing the computer program are, in particular, magnetic, optical, and electrical storage media, such as hard drives, flash memory, EEPROMs, DVDs, etc. Downloading a program via computer networks (Internet, intranet, etc.) is also possible. Such a download can be wired or wireless (e.g., via a WLAN network, a 3G, 4G, 5G, or 6G connection, etc.).
[0038] Further advantages and embodiments of the invention will become apparent from the description and the accompanying drawing.
[0039] The invention is schematically illustrated in the drawing using an exemplary embodiment and is described below with reference to the drawing. Brief description of the drawings
[0040] Figure 1a schematically shows a mobile device to illustrate the invention.
[0041] Figure 1b schematically shows the mobile device from Figure 1a in a different view.
[0042] Figure 2 schematically shows an environment with a mobile device to illustrate the invention.
[0043] Figure 3 schematically shows two images to illustrate the invention.
[0044] Figure 4 schematically shows a process flow in one embodiment.
[0045] embodiment(s) of the invention
[0046] Figure 1a schematically illustrates a mobile device 100, in particular a work tool, to explain the invention. Figure 1b shows the mobile device 100 in a different view and with different aspects. Figures 1a and 1b will be described together below.
[0047] The mobile work device 100 is, for example, a robotic lawnmower with a control unit 102 and a drive unit 104 (with wheels) for navigating or moving the robotic lawnmower 100 in an environment 120, and in particular in or on a work area 122, e.g., a lawn or garden. The robotic lawnmower 100 can, for example, move or be moved along a movement path or trajectory 130. Furthermore, the robotic lawnmower 100 has, for example, a sensor 106 designed as a camera. Images of the environment can be captured by means of the camera 106 and used for navigation. In addition, a docking station 110 is provided, for example, where the robotic lawnmower can be charged.Figure 1b shows, by way of example, a building 124, a tree 126 and a person 128 in the surroundings, which may need to be taken into account as objects or obstacles when navigating the robotic lawnmower.
[0048] Furthermore, the robotic lawnmower 100 has a processing unit 108, e.g., a control unit, by means of which data can be received and / or sent. As already mentioned, this can be done via, for example, various types of wireless communication connections. These types of wireless communication connections are labeled 170 and 172 in Figure 1a. Examples include a mobile communication connection 170 and a Bluetooth connection 172. The processing unit 108 can, for example, have corresponding radio modules or be connected to such modules, which are then part of the robotic lawnmower 100.
[0049] Figure 1a shows a mobile input device 140, e.g., a smartphone, and a central computing system 150 (or a server, which can represent the so-called cloud). Various types of wireless communication links 170, 172 are provided between the robotic lawnmower 100 or its computing unit 108, the mobile input device 140, and the computing system 150. It should be noted that the mobile communication link 170 is established via a mobile transmitter 152, which in turn is connected to the computing system 150.
[0050] The connection between the robotic lawnmower 100, or rather its processing unit 108, and the mobile input device 140 can be either Bluetooth 172 or mobile network 170. In the latter case, the connection runs via the server 150. It goes without saying that appropriate radio modules are required for this.
[0051] The mobile work device, or the robotic lawnmower 100, can be configured to perform one or more functions. In one embodiment, these functions include a work function, e.g., a mowing function, and a learning function. The work function includes, for example, the automated movement of the robotic lawnmower 100 within its environment 120 and the execution of a work process (or processing operation) within that environment, e.g., mowing the lawn, at least temporarily while moving within the environment. Depending on the situation, the robotic lawnmower may also initially drive to a specific location without mowing, in order to begin or continue mowing there.
[0052] The robotic lawnmower 100 can, for example, move independently within the working area 122 or the surrounding area 120, navigating and mowing the lawn. As already mentioned, various objects can be detected by the robotic lawnmower 100 or its camera 106 (i.e., they are visible in images captured by the camera) and then taken into account during navigation, i.e., when determining navigation information. For this purpose, the captured images or corresponding data can be transmitted to the computer system 150, for example, via the mobile network connection 170.
[0053] The learning function includes, for example, manually moving the robotic lawnmower around its surroundings, particularly along the perimeter of the working area 122, to teach the robotic lawnmower the boundaries. The actual mowing function does not need to be (or should not be) used during this process. For this purpose, the robotic lawnmower 100 can be continuously sent control commands (or commands) for navigation and movement. These control commands and corresponding data are sent from the mobile input device 140 to the robotic lawnmower via the Bluetooth connection 172. Likewise, the robotic lawnmower 100, or rather its processing unit 108, can send data back to the mobile input device 140 via the Bluetooth connection. This process is also referred to as learning or "teach-in."
[0054] Figure 2 illustrates the invention by showing an environment 220 with a building 224 and a tree 226, comparable to the environment shown in Figures 1a and 1b. Figure 222 also shows, by way of example, a work area, e.g., a lawn to be mowed. A mobile device or similar device is also shown, again by way of example.
[0055] A robotic lawnmower (200) and a docking station (210) were shown.
[0056] Typically, the desired outcome is for the mobile device to completely and as precisely as possible cover the work area 222 during processing, so that as much of the lawn as possible is mowed. To achieve this, a boundary 221 must be defined for the work area, so that the mobile device can then process the area within this boundary 221.
[0057] Within the framework of the aforementioned learning function, the mobile device 200 can now be controlled, for example, by a user via smartphone from the docking station 210 along the boundary 221 of the work area 222, until the mobile device 200 reaches the docking station 210 again.
[0058] Based on this movement and the environmental and / or device information obtained, e.g., images, a boundary 223 of the workspace 222 can be determined in a first step, as shown in Figure 2. It can be seen that this boundary 223 deviates somewhat from the actual boundary 221 of the workspace 222. This may be due, in particular, to the user moving the mobile device 200 too far away from the actual edge of the desired workspace 221.
[0059] It should be noted here that when moving the mobile device 200, its position is typically determined relative to a center point of the mobile device, whereas the geometric dimensions of the mobile device or its machining tool must be taken into account for the boundary. Therefore, the center point of the mobile device and its position will be somewhat spaced from the boundary 223.
[0060] In a second step, environmental and / or device information, especially images, can be obtained again when the mobile device 200 is moved again along the boundary 223 and / or within the boundary 223. This can be the case, for example, in the context of the aforementioned work function, where the mobile device moves according to a trajectory 230.
[0061] Based on the environmental information or images obtained, the boundary 223 can then be confirmed and / or adjusted. A boundary obtained in this way may, for example, correspond to the actual boundary 221, although this is not necessarily the case. For example, if the mobile device 200 moves along the trajectory 230, images are captured. By analyzing these images, it can be determined that the actual boundary 221 differs from the boundary 223.
[0062] Trajectory 230, for example, comprises parallel sections with connecting curves at the ends. If the mobile device moves along trajectory 230, the work area 222 can be processed as completely as possible.
[0063] In the second step, when the mobile device is moved, particularly automatically along and / or within the boundary 223 defined in the first step, so-called reference images can also be captured. Specifically, certain images can be selected as reference images from several continuously or quasi-continuously captured images and, for example, saved.
[0064] This can occur, for example, at specific positions. Poses 240, 242, and 244a are shown as examples, with pose 244a shown in an enlarged detail view. These poses 240, 242, and 244a are located, for example, at curves or turns in the trajectory 230, and are also positioned such that the orientation of the mobile device and its camera (which is typically aligned in the direction of travel) is parallel to the boundary 223.
[0065] The pose (position and orientation) of the mobile device assumed during the capture of such reference images can then be assigned as a reference pose to the respective reference image. Such reference images can later be used—for example, during a subsequent processing operation that restarts from docking station 210 after a certain limit—to correct the pose of the mobile device in order to reduce drift.
[0066] Such a drift is indicated in Figure 2 with the modified trajectory 232. Here it can be seen that trajectory 232 deviates from the specified trajectory 230. Without correction, the drift would generally increase further.
[0067] The enlarged detail view in Figure 2 shows pose 244a, which is also a reference pose in which a reference image was captured and which is stored, for example, together with the reference pose as a reference data set.
[0068] As the mobile device moves along trajectory 232, it will assume pose 244b as its current pose at a certain point. Here, the current pose can be corrected by checking, for example, whether there is a reference image with a similar pose – in this case, it would be the reference image with pose 244a. The difference between reference pose 244a and the current pose 244b is indicated here by 234.
[0069] Figure 3 schematically shows two images to illustrate the invention. Image 300a can be a reference image at reference pose 244a according to Figure 2, while image 300b can be a current image at the current pose 244b according to Figure 2.
[0070] Accordingly, image 300a shows, in particular, a building 324 in front and side view, as well as a tree 326 and grass in the lower area. Image 300b shows a very similar situation, but from a slightly different perspective, which results from the difference 234 between the reference pose 244a and the current pose 244b.
[0071] To correct the current pose 244b, several features between the current image 300b and the reference image 300a will now be tracked as an example, thus initially obtaining a difference pose. Such a difference pose corresponds in particular to the difference 234 according to Figure 2, at least approximately, depending on how well the tracking works.
[0072] Figure 300a shows four features F1, F2, F3, F4 as examples. Feature F1 is, for example, a corner of building 324, feature F2 is a part of the crown of tree 326, feature F3 is a part of the trunk or root of tree 326, and feature F4 is a corner of a side window of building 324.
[0073] Figure 300b shows four features F2, F3, F4, and F5 as examples. Features F1, F2, and F3 are the same as in Figure 300a, while feature F5 is a corner of a front window of building 324. Feature F4 is not particularly visible in Figure 300a, for example, because tree 326 is nearby. Feature F5, on the other hand, is not particularly visible in Figure 300b, for example, because the front window is very close to the edge of the image.
[0074] In feature matching, only those features that were clearly recognizable as features in an image would be stored and available for comparison for each pose. For the reference pose, these would be features F1, F2, F3, and F4, and for the current pose, features F2, F3, F4, and F5. However, a match can only be made between corresponding features – in this case, features F2, F3, and F4, i.e., three features.
[0075] In contrast, feature tracking involves selecting easily identifiable features from one image and attempting to find or recognize these features in the other image. Starting with the reference image 300a, all four easily identifiable features F1, F2, F3, and F4 can be tracked in the current image 300b. This also includes attempting to find feature F4 in the current image 300b. This will generally work. However, this would not be possible with feature matching, because only easily identifiable features from each image, i.e., at each pose, would be available. Feature F4 would therefore not be available for the current pose (image 300b). This highlights the particular advantage of tracking. Both images are available as complete entities, not just the easily identifiable features within each. This allows for the inclusion of features that are only clearly identifiable in one image.
[0076] Additionally, starting from the current image 300b, all four clearly visible features F2, F3, F4, and F5 can now be traced in the reference image 300a. This also involves attempting to find feature F5 in reference image 300a. This will generally work. However, this would not be possible with a feature comparison, because only clearly visible features from each image, i.e., at each pose, would be available. Feature F5 would therefore not be available for the reference pose (image 300a).
[0077] For both directions of tracking, a difference pose can be determined. If these agree within predefined tolerances, then, for example, an average of these can be used as the difference pose, based on which the current pose is corrected.
[0078] Specifically, this means, for example, that during navigation, the mobile device assumes the pose corresponds to pose 244a according to Figure 2, but due to drift, it actually corresponds to pose 244b according to Figure 2. The correction then informs the mobile device that it is pose 244b. The mobile device can then return to the desired trajectory during further navigation.
[0079] It also becomes apparent that such a correction can be made, for example, if it is assumed that the mobile device is in or near a reference pose.
[0080] Figure 4 schematically shows a process flow in one embodiment. The mobile device, or the robotic lawnmower, can be in the middle of a processing operation, for example, following trajectory 230 according to Figure 2. In step 400, a reference data set 402 is then provided, which contains a reference image of the environment captured by a sensor of the mobile device and a reference pose of the mobile device at the time the reference image was captured. The reference image can, for example, correspond to reference image 300a according to Figure 3, and the reference pose to pose 244a according to Figure 2.
[0081] In step 410, a current data set 412 is provided, which contains a current image of the environment captured by the sensor of the mobile device and a current pose of the mobile device at the time the image was captured. The current image can, for example, correspond to the current image 300b according to Figure 3, and the current pose to pose 244b according to Figure 2.
[0082] The current image is captured after the mobile device has moved within its environment. The reference dataset can be stored, for example, on a data storage device that can be accessed as needed.
[0083] In step 420, one or more features are tracked between the current image and the reference image to obtain a difference pose, as described in Figures 2 and 3. This can specifically involve, in step 422, tracking one or more current features from the current image to the reference image to obtain a first difference pose, and then, in step 424, tracking one or more reference features from the reference image to the current image to obtain a second difference pose. Finally, in step 426, verification can be performed to ensure that the first difference pose and the second difference pose correspond at least within predefined tolerances.
[0084] In step 430, the current pose of the mobile device is corrected based on the difference pose to obtain a corrected pose. In step 440, the corrected pose is made available, particularly for navigation. Here, navigation information for the mobile device can be determined based on the corrected pose, and control information for moving the mobile device can then be derived from that.
Claims
Claims 1. Method for correcting the pose of a mobile device (100), in particular a vehicle or robot moving at least partially automatically, especially a robotic lawnmower, which moves or is intended to move in an environment (122), comprising: Providing (400) a reference data set (402) which includes a reference image (300a) of the environment captured by a sensor (106) of the mobile device (100) and a reference pose (244a) of the mobile device when the reference image was captured; Providing (410) a current data set (412) which includes a current image (300b) of the environment captured by the sensor of the mobile device and a current pose (244b) of the mobile device at the time of capturing the current image, wherein the current image has been captured after the mobile device has moved in the environment, and wherein the current pose of the mobile device has been determined in particular based on SLAM and the movement that has taken place; Tracking (420) one or more features (F1 , F2, F3, F4, F5) between the current image and the reference image to obtain a difference pose; Correcting (430) the current pose of the mobile device, based on the difference pose, to obtain a corrected pose of the mobile device; and Providing (440) the corrected pose of the mobile device, in particular for navigation of the mobile device.
2. The method of claim 1, wherein the tracking of one or more features between the current image and the reference image comprises: Tracing (422) one or more current features from the current image into the reference image to obtain an initial difference pose; Trace (424) one or more reference features from the reference image into the current image to obtain a second difference pose; and Verify (426) that the first difference pose and the second difference pose agree at least within specified tolerances.
3. Method according to claim 1 or 2, wherein the current pose of the mobile device has further been determined taking into account a loop closure and based on the reference pose.
4. Method according to any of the preceding claims, wherein determining the current pose (244a) of the mobile device based on SLAM and the movement that has taken place comprises one or more localization operations, wherein one or each of the several localization operations comprises: Providing two intermediate images, which have been captured, in particular sequentially, by means of the sensor of the mobile device; and determining, based on a pose of the mobile device when capturing a first of the two intermediate images, a pose of the mobile device when capturing a second of the two intermediate images, wherein the intermediate images are each different from the current and the reference image.
5. Method according to one of the preceding claims, wherein the current image has been captured in the environment by the mobile device (100) during the execution of a processing operation.
6. Method according to one of the preceding claims, wherein the reference image (300a) has been acquired during or based on determining or teaching a boundary (221, 223) of a working area for the mobile device in the environment, wherein the mobile device during the determination or Learning, especially when externally controlled, has been carried out in the environment.
7. Method according to one of the preceding claims, wherein the reference data set is selected from several reference data sets, in particular such that the current pose is closer to the reference pose of the selected reference data set than to the reference poses of the remaining several reference data sets.
8. A method according to any of the foregoing claims, further comprising: Determine, based on the corrected pose, navigation information for the mobile device, Determine, based on navigation information, control information for moving the mobile device, and Providing control information and / or moving the mobile device based on the control information.
9. Computing unit comprising means for carrying out the method according to any of the preceding claims.
10. Mobile device (100) configured to receive control information determined by a method according to claim 8, and / or comprising a computing unit according to claim 90, and comprising a drive system and a control or regulation unit for controlling the drive system, and comprising a sensor, in particular a camera, for capturing images of an environment in which the mobile device moves or is intended to move, wherein the mobile device is configured in particular as a vehicle moving at least partially automatically, in particular as a passenger transport vehicle or as a goods transport vehicle, and / or as a robot, in particular as a household robot, e.g. cleaning robot, floor or street cleaning device or lawn mowing robot, and / or as a drone.
11. Computer program comprising instructions which, when executed by a computer, cause the computer to execute the method according to claims 1 to 8.
12. Computer-readable storage medium on which the computer program according to Claim 11 is stored.
Citation Information
Patent Citations
Position determination
EP1594322A2
Pose error estimation and localization using static features
EP3333803A1
Method, device and apparatus for repositioning in camera orientation tracking process, and storage medium
EP3786895A1
Autonomous machine navigation with object detection and 3D point cloud
US20230069475A1