Method and system for orienting a first and a second slam device relative each other

The method and system for orienting SLAM devices relative to each other in a common coordinate system address the challenge of precise device orientation by using landmark-based alignment, achieving efficient and accurate orientation independent of external coordinate systems.

WO2025057090A1PCT designated stage expired Publication Date: 2025-03-20AUKI LABS LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
PCT/IB2024/058859
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-14
Filing Date
2024-09-12
Publication Date
2025-03-20

AI Technical Summary

Technical Problem

Current technologies face challenges in accurately and efficiently orienting camera-enabled devices relative to each other, particularly in augmented reality applications, where precise coordination and orientation in a common coordinate system are necessary.

Method used

A method and system for orienting two SLAM devices relative to each other in a common coordinate system, involving determining position and orientation data for each device while viewing landmarks, communicating landmark labels, and aligning anchor points within calibration images to determine accurate orientation.

Benefits of technology

This approach allows for efficient and accurate orientation of SLAM devices relative to each other without relying on external coordinate systems like GPS, enhancing mutual location and orientation accuracy and providing flexibility in electronic device orientation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IB2024058859_20032025_PF_FP_ABST
    Figure IB2024058859_20032025_PF_FP_ABST
Patent Text Reader

Abstract

Provided is a computer implemented method for orienting a first simultaneous localization and mapping, SLAM, device and a second SLAM device relative each other. The method comprises determining a first set of position data and orientation data of the first SLAM device in its own coordinate system upon a camera of the first SLAM device viewing a plurality of landmarks, wherein each landmark of the plurality of landmarks is viewed from a separate position of the first SLAM device, communicating labels of the plurality of landmarks to the second SLAM device, determining a second set of position data and orientation data of the second SLAM device in its own coordinate system upon a camera of the second SLAM device viewing the plurality of landmarks, wherein each landmark of the plurality of landmarks is viewed from a separate position of the second SLAM device, and orienting the first SLAM device and the second SLAM device relative each other based on a first and second set of position data and orientation data. A system for which the method is implemented is also provided.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] METHOD AND SYSTEM FOR ORIENTING A FIRSTAND A SECOND SLAM DEVICE RELATIVE EACH OTHER

[0002] TECHNICAL FIELD

[0003] The present disclosure belongs to methods and systems for orienting a first and a second simultaneous localization and mapping, SLAM, device relative to each other.

[0004] BACKGROUND

[0005] During recent years, the number of applications utilizing augmented reality, AR, or virtual reality, VR, have increased immensely. This due to the ongoingly increasing calculation capability of handheld electronic devices; in particular, smartphones. AR applications allow a user to experience a combined real and virtual world by placing a virtual reality world over the real world that the user sees. VR, on the other hand, allows the user to appear in a completely virtual world centered around the user.

[0006] However, there are limitations with today's technology in regard to sharing the virtual or partly virtual world between users. In the case of AR, in particular, there is a need for improvements to allow camera-enabled devices to be accurately and precisely oriented relative to a coordinate system of another camera-enabled device, as well as staying correctly oriented in that coordinate system.

[0007] SUMMARY

[0008] An object of the present inventive concept is to provide an approach for orienting two (or more) simultaneous localization and mapping, SLAM, devices relative to each other.

[0009] Another object is to provide an approach for orienting two (or more) SLAM devices relative to each other in an efficient manner from a computational power consumption point of view.

[0010] Another object is to provide an approach for orienting two (or more) SLAM devices relative to each other with high accuracy. According to a first aspect, there is provided a method for orienting a first simultaneous localization and mapping, SLAM, device and a second SLAM device relative each other in a common coordinate system. The method comprising: determining a first set of position data and orientation data of the first SLAM device in its own coordinate system, wherein determining each entry in the first set is made at a separate position of the first SLAM device and while a camera of the first SLAM device is viewing a separate landmark among a plurality of landmarks; communicating labels of the plurality of landmarks to the second SLAM device; and determining a second set of position data and orientation data of the second SLAM device in its own coordinate system. Wherein determining the second set of position data and orientation data of the second SLAM device in its own coordinate system is made by, for each separate position, among a plurality of positions, of the second SLAM device in its own coordinate system: capturing a respective calibration image with the camera of the second SLAM device, the respective calibration image comprising a respective landmark of the plurality of landmarks; registering position data of the second SLAM device in its own coordinate system at a moment of capturing the respective calibration image; displaying, on a display of the second SLAM device, the respective calibration image and a respective representation of the label of the respective landmark as an overlay on the respective calibration image, wherein the label of the respective landmark comprises an anchor point and a depiction of the respective landmark; moving, within the respective calibration image, the anchor point until a position of the anchor point corresponds to the respective landmark; and determining orientation data of the second SLAM device in its own coordinate system (70) and in relation to the respective landmark based on the position of the anchor point in the respective calibration image. The method further comprising orienting the first SLAM device and the second SLAM device relative each other in the common coordinate system based on the determined first and second set of position data and orientation data and on knowledge of directions to the landmarks from the determined first and second set of position data and orientation data. Accordingly, the first and second SLAM devices both are configured to localize and orient itself in its own coordinate system. Upon localizing and orienting itself in its own coordinate system the respective SLAM device may also view landmarks and save its location and orientation in connection with such viewing. By arranging so that both SLAM devices view the same landmark and saving its respective location and orientation in its own coordinate system, once enough data points have been collected, they may orient themselves in a common coordinate system. Accordingly, the method facilitates determining location and orientation of the first SLAM device relative to the second SLAM device without a need of a separate coordinate system, such as the GPS or the like. That is, a relative transformation between a first coordinate system of the first SLAM device and a second coordinate system of the second SLAM device may be performed where either of the SLAM devices is situated in a third coordinate system. Hence, flexibility and convenience in orienting electronic devices in a common reference system provided.

[0011] Further, any temporary or permanent location issue associated with the GPS system is accounted for, since the GPS is not needed by the method. Hence, mutual location (and orientation) accuracy may be improved by the method between the SLAM devices.

[0012] The movement of the anchor point for each representation of the labels may comprise receiving user input, the user input comprising moving each anchor point, and confirming a satisfactory correspondence between anchor point and landmark localization.

[0013] This may further facilitate accuracy of the orientation of the first and the second SLAM device. The movement may be made on a screen, preferably touch sensitive, of the second SLAM device. Preferably, the movement may be utilized by a user maneuver.

[0014] During receiving the user input, zooming of the calibration image may be allowed. Hence, higher accuracy upon moving each anchor point may be possible.

[0015] According to a second aspect, there is provided a non-transitory computer- readable storage medium having stored thereon program code portions for implementing the method according to the first aspect when executed on a device having processing capabilities.

[0016] The above-mentioned features of the first aspect, when applicable, apply to the second aspect as well. In order to avoid undue repetition, reference is made to the above.

[0017] According to a third aspect, there is provided a system configured to orient a first simultaneous localization and mapping, SLAM, device and a second SLAM device relative each other in a common coordinate system. The system comprising circuitry configured to execute different functions. The circuitry is configured to execute a first determining function configured to determine a first set of position data and orientation data of the first SLAM device in its own coordinate system, wherein determining each entry in the first set is made at a separate position of the first SLAM device and while a camera of the first SLAM device is viewing a separate landmark among a plurality of landmarks. The circuitry is configured to execute a communication function configured to communicate labels of the plurality of landmarks to the second SLAM device. The circuitry is configured to execute a second determining function configured to determine a second set of position data and orientation data of the second SLAM device in its own coordinate system, by, for each separate position, among a plurality of positions, of the second SLAM device in its own coordinate system: capturing a respective calibration image with the camera of the second SLAM device, the respective calibration image comprising a respective landmark of the plurality of landmarks, registering position data of the second SLAM device in its own coordinate system at a moment of capturing the respective calibration image, displaying, on a display of the second SLAM device, display the respective calibration image and a respective representation of the label of the respective landmark as an overlay on the respective calibration image, wherein the label of the respective landmark comprises an anchor point and a depiction of the respective landmark, moving, within the respective calibration image, the anchor point until a position of the anchor point corresponds to the respective landmark, and determining orientation data of the second SLAM device in its own coordinate system and in relation to the respective landmark based on the position of the anchor point in the respective calibration image.

[0018] The circuitry is configured to execute an orienting function configured to orient the first SLAM device and the second SLAM device relative each other in the common coordinate system based on the determined first and second set of position data and orientation data and on knowledge of directions to the landmarks from the determined first and second set of position data and orientation data.

[0019] The above-mentioned features of the first aspect, when applicable, apply to the third aspect as well. In order to avoid undue repetition, reference is made to the above.

[0020] The second determining function may comprise a user input receiving function configured to receive user input, the user input comprising moving each anchor point, and confirming a satisfactory correspondence between anchor point and landmark localization.

[0021] The user input receiving function may further comprise a zooming function configured to allowing zooming of the calibration image.

[0022] A further scope of applicability of the present inventive concept will become apparent from the detailed description given below. However, it should be understood that the detailed description and specific examples, while indicating preferred embodiments of the inventive concept, are given by way of illustration only, since various changes and modifications within the scope of the inventive concept will become apparent to those skilled in the art from this detailed description.

[0023] Hence, it is to be understood that the present inventive concept is not limited to the particular component parts of the device described or acts of the methods described as such device and method may vary. It is also to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting. It must be noted that, as used in the specification and the appended claims, the articles "a," "an," "the," and "said" are intended to mean that there are one or more of the elements unless the context clearly dictates otherwise. Thus, for example, reference to "a unit" or "the unit" may include several units, and the like. Furthermore, the words "comprising", "including", "containing" and similar wordings do not exclude other elements or steps.

[0024] BRIEF DESCRIPTION OF THE DRAWINGS

[0025] The above, as well as additional objects, features, and advantages of the present inventive concept, will be better understood through the following illustrative and non-limiting detailed description, with reference to the appended drawings, in the drawings like reference numerals will be used for like elements unless stated otherwise.

[0026] Fig. 1 shows a flowchart of a method for orienting a first and a second simultaneous localization and mapping, SLAM, device relative each other.

[0027] Fig. 2 schematically shows an exemplifying scenario of the method, wherein two SLAM devices are situated in different coordinate systems viewing features situated in an unspecified coordinate system.

[0028] Fig. 3 schematically shows a system configured to orient a first and a second SLAM device relative each other.

[0029] DETAILED DESCRIPTION

[0030] The present inventive concept will now be described more fully hereinafter with reference to the accompanying drawings, in which currently preferred variants of the inventive concept are shown. This inventive concept may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided for thoroughness and completeness, and to fully convey the scope of the inventive concept to the skilled person.

[0031] Fig. 1 shows a flowchart of a method 100 for orienting a first 10 and a second 20 simultaneous localization and mapping, SLAM, device relative each other. Fig. 2 may advantageously be viewed in parallel with Fig. 1 below, schematically showing an exemplifying scenario of the method 100 wherefrom some reference numerals originate. A SLAM device 10, 20 as discussed herein may be any kind of electronic device equipped with SLAM technology.

[0032] To provide a common understanding, SLAM technology enables autonomous navigation, environment monitoring, and scene reconstruction in diverse applications ranging from robotics and autonomous vehicles to augmented reality and indoor mapping. The functionality relies on algorithms that integrate sensor data, estimate motion and environmental features, and maintain a coherent representation of the surroundings in real-time. For localization, a SLAM device utilizes sensors such as cameras, LiDAR (Light Detection and Ranging), IMUs (Inertial Measurement Units), and other depth sensors to gather data about their surroundings. Using this data, SLAM algorithms estimate in real-time the evolution of the device's position and orientation (localization) within the device's local reference frame. In so doing, the SLAM device will simultaneously construct and update a map of its environment in the same local reference frame (mapping). This map represents the spatial layout of the surroundings, including obstacles, landmarks, and other relevant features. As the SLAM device moves through its environment, it integrates sensor measurements to continually refine and expand this map, and re-evaluate its own position within the map. The functionality of a SLAM device can be summarized in the below steps:

[0033] Sensor Data Acquisition: the SLAM device collects data from various sensors, such as cameras, LiDAR, and IMUs, capturing information about the environment and the device's motion.

[0034] Feature Extraction: features such as key points, edges, corners, or distinct visual patterns are extracted from sensor data to identify landmarks and detect changes in the environment.

[0035] Data Association: the SLAM algorithm associates features observed in different sensor readings over time, linking them to maintain consistency and track their movements relative to the device's motion.

[0036] Estimation: using probabilistic methods, the SLAM algorithm estimates the device's pose (position and orientation) in relation to a local reference frame, as well as the locations of detected landmarks within the environment. Mapping: based on the estimated pose and detected landmarks, the SLAM device constructs or updates a map of the environment. This map may take various forms, such as occupancy grids, point clouds, or feature-based representations.

[0037] Loop Closure: periodically, the SLAM algorithm detects loop closures, instances where the device revisits previously observed areas. By recognizing these loops and reconciling any discrepancies in pose estimation, the SLAM system improves the accuracy and consistency of the map.

[0038] Preferably, the SLAM devices 10, 20 (first and / or second) discussed herein may be handheld and / or worn. Examples of such SLAM devices 10, 20 are thus smartphones, tablets, watches, or any present or future equivalent thereof such as an AR, VR, or mixed reality, MR, headset, etc. Respective SLAM device comprises a display and communication means for communicating wirelessly with other electronic devices. Executable functions as discussed herein may be done locally on either or both of the SLAM devices 10, 20 and / or on a remote external server.

[0039] The method 100 comprises determining 110 a first set of position data and orientation data of the first SLAM device in its own coordinate system upon a camera of the first SLAM device 10 viewing a plurality of landmarks 30, 32, wherein each landmark of the plurality of landmarks is viewed from a separate position of the first SLAM device 10. Positioning and orienting of the first SLAM device 10 in its own coordinate system may be done independently of any other (e.g., global / GPS) coordinate system.

[0040] Example landmarks 30, 32 may be buildings, signs, roads, trees, corners of a building, etc.

[0041] The method 100 further comprises communicating 120 labels of the plurality of landmarks 30, 32 to the second SLAM device 20. The communication of the labels may be done over a network comprising a relatively small number of electronic devices. The labels may be communicated from the first SLAM device 10 to all of the electronic devices in the network including the second SLAM device 20. Alternatively, the network may comprise only the first 10 and the second 20 SLAM device, thereby having a one-to-one communication between the first SLAM device 10 and the second 20 SLAM device. Example labels may be an east and a west corner of a specific building, a top of a church spire of a specific church, or the like. Manifestly, the labels are unambiguous to an extent that a user of respective SLAM device 10, 20 appreciates its spatial location, and is able to pinpoint that location on a photo or 3D map, etc.

[0042] The method 100 further comprises determining 130 a second set of position data and orientation data of the second SLAM device 20 in its own coordinate system 70 upon a camera of the second SLAM device 20 is viewing the plurality of landmarks 30, 32, wherein each landmark 30, 32 of the plurality of landmarks 30, 32 is viewed from a separate position of the second SLAM device. This is made by the following: For each 140 separate position of the second SLAM device 20 (i) capturing 141 a respective calibration image with the camera of the second SLAM device, the respective calibration image comprising a respective landmark 30, 32 of the plurality of landmarks 30, 32, (ii) registering 142 position data of the second SLAM device 20 at a moment of capturing the respective calibration image, (iii) displaying 143, on a display of the second SLAM device 20, the respective calibration image and a respective representation of the label of the respective landmark 30, 32 as an overlay on the respective calibration image, wherein the label of the respective landmark comprises an anchor point and a depiction of the respective landmark 30, 32, and (iv) moving 144, within the respective calibration image, the anchor point until a position of the anchor point corresponds to the respective landmark 30, 32, and (v) determining 145 orientation data of the second SLAM device 20 based on the position of the anchor point in the respective calibration image. The depiction of the respective landmark 30, 32 may be represented by, e.g., a thumbnail on the screen.

[0043] The method 100 further comprises orienting 150 the first SLAM device 10 and the second SLAM device 20 relative each other based on the determined first set of position data and orientation data and the determined second set of position data and orientation data.

[0044] The movement of the anchor point for each representation of the labels may comprise receiving user input, wherein the user input may comprise moving each anchor point and confirm a satisfactory correspondence between anchor point and landmark 30, 32 localization.

[0045] During receiving user input, zooming of the calibration image may be allowed. This may be performed by the user or autonomously to further facilitate moving the anchor point to correspond to a specific landmark 30, 32 in the calibration image. Returning to the present method 100, Fig. 2 schematically shows an example use case of the method 100. Locations, angles, etc., are herein exaggerated for conceptual purposes. Herein, the first SLAM device 10 views a first landmark 30 situated in an unspecified (possibly unknown) coordinate system, wherein the first SLAM device 10 is situated and oriented at a first location Pl-1 in a first coordinate system 50. Again, the term landmark may be a feature of a building such as a corner or a (point-like) top of the building. Hence, preferably, a landmark may be a substantially point-like feature of an artifact which a user may pinpoint, by, e.g., a crosshair at a pixel level on a screen. The first coordinate system 50 is thus the first SLAM devices' 10 own coordinate system 50 referred to above. Thereafter, at a later time, the first SLAM device 10 views, from another location and orientation at a second location Pl-2 in the first coordinate system 50, a second landmark 32 (possibly another corner of the same or another building) situated in the unspecified coordinate system. The two locations Pl-1, Pl-2 and orientations are thus identified with the first set of position and orientation data. Since the first SLAM device 10 have SLAM functionality, while moving the first SLAM device 10 from the first location Pl-1 to the second location Pl-2 it registers how it is moving in its own coordinate system, i.e. the first coordinate system 50. More than two locations and orientations may be possible within the scope of the claims. Further, more than two features 30, 32 may thus be involved upon practicing the method 100, further discussed below. A similar procedure is done by the second SLAM device 20 situated in a second coordinate system 70. That is, the second SLAM device 20 views the first landmark 30 situated in the unspecified coordinate system, wherein the second SLAM device 20 is situated and oriented at a first location P2-1 in the second coordinate system 70. The second coordinate system 70 is thus the second SLAM devices' 20 own coordinate system 70. Thereafter, at a later time, the second SLAM device 20 views, from another location and orientation at a second location P2-2 in the second coordinate system 70, the second landmark 32 situated in the unspecified coordinate system. These two locations P2-1, P2-2 and orientations are thus identified with the second set of position and orientation data. More than two locations and orientations may also here be possible within the scope of the claims, and more than two landmarks 30, 32 may thus be involved in the method 100. The landmarks 30, 32 are thus understood being commonly visible from the above- mentioned locations Pl-1, Pl-2, P2-1, P2-2. Important to note is that a same landmark 30, 32 does not need to be view from a same view-angle by the first and second SLAM devices 10, 20, respectively. The procedure may be repeated from further locations from which possible further landmarks are viewed. In events the first SLAM device 10 views and communicate labels of a landmark / feature that cannot be viewed by the second SLAM device 20, these superfluous landmarks / features may be omitted by the second SLAM device 20 upon orientation 150 of the first 10 and the second 20 SLAM device relative each other.

[0046] Further, the method 100 may be performed for a plurality of sets of landmarks / features whereafter averaging the outcome of the orienting 150 the first 10 and the second 20 SLAM device, to thereby achieve improved accuracy of the first 10 and the second 20 SLAM device' mutual orientation relative each other. As appreciated, any statistical approach may in connection hereto be utilized, such as omitting one or more measurement outliers, etc. Fig. 2 displays two commonly visible landmarks 30, 32. In a practical implementation, the number of visible landmarks 30, 32 may be two or more.

[0047] The measurement results from respective SLAM device 10, 20 may be mutually communicated over a network, such as a wireless network. For example, the first SLAM device 10 may measure the direction to four different landmarks and communicate these directions and the identity of the landmarks, to the second SLAM device 20. The second SLAM device 20 thereafter repeats the same measurements, thus outputting different results, since the two SLAM devices typically are spatially separated, in its own (the second) coordinate system 70. Four measurements may suffice in events of an upwardly oriented coordinate system of known scale and handedness being considered, or the like. The method 100 is robust to any interleaving of measurements between the two SLAM devices 10, 20. By way of example, the first SLAM device 10 may be the first SLAM device to carry out directional measurements to two visible landmarks A and B (not shown), whereas the second SLAM device 20 is the first SLAM device to carry out directional measurements to landmarks C and D (not shown). Eventually, both SLAM devices 10, 20 may carry out their own directional measurements to A, B, C and D.

[0048] In addition to the above discussed idea, logistical features may be added that may advantageous to either match different measurements (i.e., a specific pointing of the first SLAM device 10 is matched against (another) specific pointing of the second SLAM device 20, since, e.g., both SLAM devices 10, 20 pointed at a specific known landmark) via said labels, and graphical user interfaces, GUIs, features that may benefit improving the accuracy of pointing, such as by freezing a picture frame and drag-and-dropping a crosshair onto a specific labeled landmark 30, 32.

[0049] The method 100 may be implemented on a non-transitory computer- readable storage medium having stored thereon program code portions when executed on a device having processing capabilities.

[0050] In connection with Fig. 3, there is schematically shown a system 200 configured to orient the first and the second SLAM device relative each other. The system 200 comprises circuitry 210. The system may be physically located on any suitable location, i.e., on one or more remote servers, thereby being cloud-based, etc. The circuitry 210 is configured to carry out overall control of functions and operations of the system 200. The circuitry 210 may, e.g., be spatially separated from any of the SLAM devices 10, 20. The circuitry 210 may include a processor, such as a central processing unit (CPU), microcontroller, or microprocessor. The processor is configured to execute program code stored in the circuitry 210 to carry out functions and operations of the system 200. Executable functions, further described above and below, may be stored on a memory. The memory may be one or more of a buffer, a flash memory, a hard drive, a removable media, a volatile memory, a nonvolatile memory, a random access memory (RAM), or other suitable devices. In a typical arrangement, the memory may include a non-volatile memory for long term data storage and a volatile memory that functions as system memory for the circuitry 210. The memory may exchange data with the circuitry 210 over a data bus. Accompanying control lines and an address bus between the memory and the circuitry 210 may be present.

[0051] Functions and operations of the circuitry 210 may be embodied in the form of executable logic routines, e.g., computer-code portions, software programs, etc., that are stored on a non-transitory computer readable medium, e.g., the memory, of the controller 46 and are executed by the circuitry 210 by, e.g., using the processor. The functions and operations of the system 200 may be a stand-alone software application or form a part of a software application that carries out additional tasks related to the system 200. The described functions and operations may be considering a method that the corresponding device is configured to carry out. Also, while the described functions and operations may be implemented in a software, such functionality may as well be carried out via dedicated hardware or firmware, or some combination of hardware, firmware and / or software.

[0052] More specifically, the circuitry 210 is configured to execute a first determining function 211 configured to determine a first set of position data and orientation data of the first SLAM device 10 in its own coordinate system 50 upon a camera of the first SLAM device viewing a plurality of landmarks 30, 32, wherein each landmark 30, 32 of the plurality of landmarks is viewed from a separate position Pl-1, Pl-2 of the first SLAM device 10.

[0053] The circuitry 210 is further configured to execute a communication function 212 configured to communicate labels of the plurality of landmarks 30, 32 to the second SLAM device 20.

[0054] The circuitry 210 is further configured to execute a second determining function 213 configured to determine a second set of position data and orientation data of the second SLAM device 20 in its own coordinate 70 system upon a camera of the second SLAM device 20 viewing the plurality of landmarks. Each landmark 30, 32 of the plurality of landmarks 30, 32 is viewed from a separate position P2-1, P2-2 of the second SLAM device 20.

[0055] The second determining function 213 further comprises a set of nested functions (child functions). For each separate position P2-1, P2-2 of the second SLAM device the nested functions in connection thereto are configured to: capturing a respective calibration image with the camera of the second SLAM device 20, the respective calibration image comprising a respective landmark 30, 32 of the plurality of landmarks, registering position data of the second SLAM device 20 at a moment of capturing the respective calibration image, displaying, on a display of the second SLAM device 20, display the respective calibration image and a respective representation of the label of the respective landmark 30, 32 as an overlay on the respective calibration image, wherein the label of the respective landmark comprises an anchor point and a depiction of the respective landmark, moving, within the respective calibration image, the anchor point until a position of the anchor point corresponds to the respective landmark, and determining orientation data of the second SLAM device 20 based on the position of the anchor point in the respective calibration image.

[0056] The circuitry 210 is further configured to execute an orienting function 214 configured to orient the first SLAM device 10 and the second SLAM device 20 relative each other based on the determined first and second set of position data and orientation data.

[0057] The above-mentioned description of the method 100, when applicable, apply to the system 200 as well. In order to avoid undue repetition, reference is made to the above.

[0058] The second determining function 213 may further comprise a nested function configured to execute a user input receiving function configured receiving user input, the user input comprising moving each anchor point, and confirming a satisfactory correspondence between anchor point and landmark localization.

[0059] The user input receiving function may further comprise a zooming function configured to allowing zooming of the calibration image.

[0060] Accordingly, and in summary, in some variants discussed above, there has been described methods and systems in an approach for orienting a first 10 and a second 20 SLAM device relative each other. The approach relies on interaction between the SLAM devices 10, 20 being independent of any global coordinate system (such as GPS). Mutual calibration between the SLAM devices 10, 20 takes input from one or more landmarks 30, 32 visible from both SLAM devices' 10, 20 temporary locations, and does thereby not require mutual calibration with respect to a flat surface or the like.

[0061] The person skilled in the art realizes that the present inventive concept by no means is limited to the preferred embodiments described above. On the contrary, many modifications and variations are possible within the scope of the appended claims. Variations to the disclosed embodiments can be understood and effected by the skilled person in practicing the claimed invention, from a study of the drawings, the disclosure, and the appended claims.

Claims

CLAIMS1. A computer implemented method (100) for orienting a first simultaneous localization and mapping, SLAM, device (10) and a second SLAM device (20) relative each other in a common coordinate system, the method (100) comprising: determining (110) a first set of position data and orientation data of the first SLAM device (10) in its own coordinate system (50), wherein determining each entry in the first set is made at a separate position (Pl-1, Pl-2) of the first SLAM device (10) and while a camera of the first SLAM device (10) is viewing a separate landmark (30, 32) among a plurality of landmarks (30, 32); communicating (120) labels of the plurality of landmarks (30, 32) to the second SLAM device (20); determining (130) a second set of position data and orientation data of the second SLAM device (20) in its own coordinate system (70) , by, for each separate position, among a plurality of positions, of the second SLAM device (20) in its own coordinate system: capturing (141) a respective calibration image with the camera of the second SLAM device (20), the respective calibration image comprising a respective landmark (30, 32) of the plurality of landmarks (30, 32), registering (142) position data of the second SLAM device (20) in its own coordinate system (70) at a moment of capturing the respective calibration image, displaying (143), on a display of the second SLAM device (20), the respective calibration image and a respective representation of the label of the respective landmark (30, 32) as an overlay on the respective calibration image, wherein the label of the respective landmark (30, 32) comprises an anchor point and a depiction of the respective landmark (30, 32), moving (144), within the respective calibration image, the anchor point until a position of the anchor point corresponds to the respective landmark (30, 32), and determining (145) orientation data of the second SLAM device (20) in its own coordinate system (70) and in relation to the respective landmark based on the position of the anchor point in the respective calibration image; andorienting (150) the first SLAM device (10) and the second SLAM device (20) relative each other in the common coordinate system based on the determined first and second set of position data and orientation data and on knowledge of directions to the landmarks from the determined first and second set of position data and orientation data.

2. The method (100) according to claim 1, wherein moving (144) the anchor point for each representation of the labels comprises receiving user input, the user input comprising moving each anchor point, and confirming a satisfactory correspondence between anchor point and landmark localization.

3. The method (100) according to claim 2, wherein, during receiving user input, allowing zooming of the calibration image.

4. A non-transitory computer-readable storage medium having stored thereon program code portions for implementing the method (100) according to any one of claims 1-3 when executed on a device having processing capabilities.

5. A system (200) configured to orient a first simultaneous localization and mapping, SLAM, device (10) and a second SLAM device (20) relative each other in a common coordinate system, the system (200) comprising: circuitry (210) configured to execute: a first determining function (211) configured to determine a first set of position data and orientation data of the first SLAM device (10) in its own coordinate system (50), wherein determining each entry in the first set is made at a separate position (Pl-1, Pl-2) of the first SLAM device (10) and while a camera of the first SLAM device (10) is viewing a separate landmark (30, 32) among a plurality of landmarks (30, 32); a communication function (212) configured to communicate labels of the plurality of landmarks to the second SLAM device (20); a second determining function (213) configured to determine a second set of position data and orientation data of the second SLAM device (20) in its own coordinate system (70), by, for each separate position, amonga plurality of positions, of the second SLAM device (20) in its own coordinate system: capturing a respective calibration image with the camera of the second SLAM device (20), the respective calibration image comprising a respective landmark (30, 32) of the plurality of landmarks (30, 32), registering position data of the second SLAM device (20) in its own coordinate system (70) at a moment of capturing the respective calibration image, displaying, on a display of the second SLAM device (20), display the respective calibration image and a respective representation of the label of the respective landmark (30, 32) as an overlay on the respective calibration image, wherein the label of the respective landmark (30, 32) comprises an anchor point and a depiction of the respective landmark (30, 32), moving, within the respective calibration image, the anchor point until a position of the anchor point corresponds to the respective landmark (30, 32), and determining orientation data of the second SLAM device (20) in its own coordinate system (70) and in relation to the respective landmark based on the position of the anchor point in the respective calibration image; and an orienting function (214) configured to orient the first SLAM device (10) and the second SLAM device (20) relative each other in the common coordinate system based on the determined first and second set of position data and orientation data and on knowledge of directions to the landmarks from the determined first and second set of position data and orientation data.

6. The system (200) according to claim 5, wherein the second determining function (213) comprises a user input receiving function configured to receive user input, the user input comprising moving each anchor point, and confirming a satisfactory correspondence between anchor point and landmark localization.

7. The system (200) according to claim 6, wherein the user input receiving function further comprises a zooming function configured to allowing zooming of the calibration image.

Citation Information

Patent Citations

  • Concealing loss of distributed simultaneous localization and mapping (SLAM) data in edge cloud architectures

    US20200380784A1