Equipment positioning method and device and storage medium

By constructing distance semantic data and using object distance information in image and point cloud data, the problem of large resource occupancy in point cloud positioning technology is solved, and more efficient device positioning is achieved.

CN119533466APending Publication Date: 2025-02-28GUANGDONG MIDEA WHITE HOME APPLIANCE TECH INNOVATION CENT CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311118972.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-08-31
Publication Date
2025-02-28

AI Technical Summary

Technical Problem

Based on point cloud positioning technology, when the device processes a large amount of point cloud data, it occupies a large amount of processing resources, resulting in inefficient positioning processing.

Method used

By collecting environmental information, including image and point cloud data, distance semantic data is constructed to indicate the relative distance relationship between objects, thereby determining the position information of the device in the movable area.

Benefits of technology

The calculation amount of positioning processing is reduced, the utilization of processing resources is reduced, and the efficiency of equipment positioning is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119533466A_ABST
    Figure CN119533466A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides an equipment positioning method and device and a storage medium, and relates to the technical field of positioning. In the embodiment of the invention, the equipment positioning is carried out based on the distance semantic data, and the distance semantic data is the data indicating the relative distance relationship between the objects, so that compared with the point cloud data, the distance semantic data has the advantages that the data is much simpler, and the content is much less. Therefore, when positioning is carried out based on the distance semantic data corresponding to the current detectable area and the distance semantic data corresponding to the movable area, the calculation amount of matching calculation is far smaller than the calculation amount of the point cloud data, so that the occupation of processing resources can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of positioning technology, and in particular to a method, an apparatus and a storage medium for device positioning. Background Art

[0002] With the development of technology, there are more and more devices with autonomous mobility, such as sweeping robots and automatic food delivery (delivery) robots. These devices generally build maps of the working scenes and can locate themselves in real time based on the established maps during the working process.

[0003] Point cloud positioning is a commonly used positioning method. Before working, the device moves in the working area (such as the outer area of ​​a building), collects point cloud data through LiDAR, and builds a point cloud map of the entire working area. During the working process, the device can match and calculate the point cloud data collected in real time with the point cloud map to determine its specific position in the working area. Based on this positioning result, further movement control can be performed.

[0004] The amount of point cloud data is large, and the corresponding positioning processing requires a large amount of processing power, which occupies a large amount of processing resources of the device. Summary of the invention

[0005] The embodiments of the present disclosure provide a method, apparatus and storage medium for locating a device, which can solve the technical problems existing in the related technologies. The technical solutions are as follows:

[0006] In a first aspect, an embodiment of the present disclosure provides a method for positioning a device, the method comprising:

[0007] Determine, based on the environmental information of the current detectable area collected by the target device, the type of the object in the current detectable area and the position relative to the target device;

[0008] Based on the type of the object in the current detectable area and the position relative to the target device, construct distance semantic data corresponding to the current detectable area, wherein the distance semantic data is used to indicate the relative distance relationship between the objects;

[0009] Based on the distance semantic data corresponding to the current detectable area and the distance semantic data corresponding to the movable area to which the target device belongs, the position information of the target device in the movable area is determined.

[0010] In a possible implementation, the environmental information includes an image of the current detectable area taken by a camera and point cloud data of the current detectable area taken by a lidar.

[0011] In a possible implementation, determining the type of the object in the current detectable area and the position relative to the target device based on the environmental information of the current detectable area collected by the target device includes:

[0012] Performing object recognition in the image to obtain the type and image position of the object in the current detectable area;

[0013] Based on the image position of the object, determining, in the point cloud data, a position of a target point cloud point corresponding to the object relative to the target device;

[0014] Based on the position of the target point cloud point corresponding to the object relative to the target device, the position of the object relative to the target device is determined.

[0015] In a possible implementation manner, the image position is an image range corresponding to the object in the image;

[0016] The determining, based on the image position of the object, in the point cloud data, a position of a target point cloud point corresponding to the object relative to the target device comprises:

[0017] Based on the correspondence between the pixel points and the point cloud points, determining the point cloud points corresponding to the pixel points in the image range;

[0018] Determine the target point cloud point corresponding to the object in the point cloud points corresponding to the pixel points;

[0019] In the point cloud data, a position of the target point cloud point relative to the target device is determined.

[0020] In a possible implementation manner, determining the target point cloud point corresponding to the object in the point cloud point corresponding to the pixel point includes:

[0021] Performing clustering processing with a cluster number of 2 on the positions of the point cloud points corresponding to the pixel points relative to the target device to obtain two position sets;

[0022] Determine, from the two location sets, a target location set having a smaller distance from the target device;

[0023] The point cloud points corresponding to the target position set are determined as the target point cloud points corresponding to the object.

[0024] In a possible implementation manner, determining the position of the object relative to the target device based on the position of the target point cloud point corresponding to the object relative to the target device includes:

[0025] An average value of the positions of a plurality of target point cloud points corresponding to the object relative to the target device is determined as the position of the object relative to the target device.

[0026] In a possible implementation, the distance semantic data includes chain statistics corresponding to each node in the semantic topology graph;

[0027] The semantic topology graph includes nodes and edges connecting two nodes, each node represents an object, and the attributes of the node include the type of the object. If there is an edge connecting any two nodes, it means that the distance between the objects corresponding to the two nodes is less than a distance threshold, and if there is no edge connecting any two nodes, it means that the distance between the objects corresponding to the two nodes is greater than the distance threshold;

[0028] The chain statistics corresponding to the node include the number of occurrences of chains of each chain type starting from the node, and the chain is a specified number of nodes connected sequentially by edges in the semantic topology graph. In chains of the same chain type, the types of objects corresponding to nodes at the same sequence position are the same.

[0029] In a possible implementation, determining the position information of the target device in the movable area based on the distance semantic data corresponding to the current detectable area and the distance semantic data corresponding to the movable area to which the target device belongs includes:

[0030] For each first node in the semantic topological graph corresponding to the current detectable area, determine a second node having the greatest similarity with the chain statistical data of the first node among the nodes included in the semantic topological graph corresponding to the movable area;

[0031] Based on the position of the object corresponding to the first node relative to the target device and the position of the object corresponding to the second node in the movable area, the position information and the posture information of the target device in the movable area are determined.

[0032] In a possible implementation, the method further includes:

[0033] Determine the type of the object in the movable area and the position relative to the movable area based on the environmental information collected at different time points during the movement of the target device in the movable area;

[0034] Based on the type of the object in the movable area and the position relative to the movable area, distance semantic data corresponding to the movable area is constructed.

[0035] In a possible implementation, determining the type of the object in the movable area and the position relative to the movable area based on the environmental information collected at different time points during the movement of the target device in the movable area includes:

[0036] Acquire environmental information collected at different time points during the movement of the target device in the movable area;

[0037] Determine the type of the corresponding object and the position of the corresponding object in the movable area based on the environmental information collected at each time point;

[0038] For each object, determining the type of the object based on the types of the object at different time points;

[0039] Based on the positions of the objects in the movable area corresponding to all time points, the positions of the objects in the movable area relative to the movable area are determined.

[0040] In a possible implementation manner, determining the type of the object based on the types of the object at different time points includes:

[0041] Among the types corresponding to the object at different time points, the type with the largest number of occurrences is determined as the type of the object.

[0042] In a possible implementation manner, determining the position of the object in the movable area relative to the movable area based on the positions of the objects in the movable area corresponding to all time points includes:

[0043] Clustering is performed on the positions of objects in the movable area corresponding to all time points, and based on the obtained cluster centers, the positions of the objects in the movable area relative to the movable area are determined.

[0044] In a second aspect, an embodiment of the present disclosure provides a device for positioning a device, the device comprising:

[0045] A determination module, configured to determine the type of an object in the current detectable area and the position of the object relative to the target device based on the environmental information of the current detectable area collected by the target device;

[0046] A construction module, configured to construct distance semantic data corresponding to the current detectable area based on the type of the object in the current detectable area and the position relative to the target device, wherein the distance semantic data is used to indicate the relative distance relationship between the objects;

[0047] The positioning module is used to determine the position information of the target device in the movable area based on the distance semantic data corresponding to the current detectable area and the distance semantic data corresponding to the movable area to which the target device belongs.

[0048] In a possible implementation, the environmental information includes an image of the current detectable area taken by a camera and point cloud data of the current detectable area taken by a lidar.

[0049] In a possible implementation manner, the determining module is used to:

[0050] Performing object recognition in the image to obtain the type and image position of the object in the current detectable area;

[0051] Based on the image position of the object, determining, in the point cloud data, a position of a target point cloud point corresponding to the object relative to the target device;

[0052] Based on the position of the target point cloud point corresponding to the object relative to the target device, the position of the object relative to the target device is determined.

[0053] In a possible implementation manner, the image position is an image range corresponding to the object in the image;

[0054] The determining module is used to:

[0055] Based on the correspondence between the pixel points and the point cloud points, determining the point cloud points corresponding to the pixel points in the image range;

[0056] Determine the target point cloud point corresponding to the object in the point cloud points corresponding to the pixel points;

[0057] In the point cloud data, a position of the target point cloud point relative to the target device is determined.

[0058] In a possible implementation manner, the determining module is used to:

[0059] Performing clustering processing with a cluster number of 2 on the positions of the point cloud points corresponding to the pixel points relative to the target device to obtain two position sets;

[0060] Determine, from the two location sets, a target location set having a smaller distance from the target device;

[0061] The point cloud points corresponding to the target position set are determined as the target point cloud points corresponding to the object.

[0062] In a possible implementation manner, the determining module is used to:

[0063] An average value of the positions of a plurality of target point cloud points corresponding to the object relative to the target device is determined as the position of the object relative to the target device.

[0064] In a possible implementation, the distance semantic data includes chain statistics corresponding to each node in the semantic topology graph;

[0065] The semantic topology graph includes nodes and edges connecting two nodes, each node represents an object, and the attributes of the node include the type of the object. If there is an edge connecting any two nodes, it means that the distance between the objects corresponding to the two nodes is less than a distance threshold, and if there is no edge connecting any two nodes, it means that the distance between the objects corresponding to the two nodes is greater than the distance threshold;

[0066] The chain statistics corresponding to the node include the number of occurrences of chains of each chain type starting from the node, and the chain is a specified number of nodes connected sequentially by edges in the semantic topology graph. In chains of the same chain type, the types of objects corresponding to nodes at the same sequence position are the same.

[0067] In a possible implementation, the positioning module is used to:

[0068] For each first node in the semantic topological graph corresponding to the current detectable area, determine a second node having the greatest similarity with the chain statistical data of the first node among the nodes included in the semantic topological graph corresponding to the movable area;

[0069] Based on the position of the object corresponding to the first node relative to the target device and the position of the object corresponding to the second node in the movable area, the position information and the posture information of the target device in the movable area are determined.

[0070] In a possible implementation, the device further includes an offline module, configured to:

[0071] Determine the type of the object in the movable area and the position relative to the movable area based on the environmental information collected at different time points during the movement of the target device in the movable area;

[0072] Based on the type of the object in the movable area and the position relative to the movable area, distance semantic data corresponding to the movable area is constructed.

[0073] In a possible implementation, the offline module is used to:

[0074] Acquire environmental information collected at different time points during the movement of the target device in the movable area;

[0075] Determine the type of the corresponding object and the position of the corresponding object in the movable area based on the environmental information collected at each time point;

[0076] For each object, determining the type of the object based on the types of the object at different time points;

[0077] Based on the positions of the objects in the movable area corresponding to all time points, the positions of the objects in the movable area relative to the movable area are determined.

[0078] In a possible implementation, the offline module is used to:

[0079] Among the types corresponding to the object at different time points, the type with the largest number of occurrences is determined as the type of the object.

[0080] In a possible implementation, the offline module is used to:

[0081] Clustering is performed on the positions of objects in the movable area corresponding to all time points, and based on the obtained cluster centers, the positions of the objects in the movable area relative to the movable area are determined.

[0082] In a third aspect, an electronic device is provided, the electronic device comprising a memory and a processor, the memory being used to store computer instructions; the processor executes the computer instructions stored in the memory so that the electronic device executes the method of the first aspect and its possible implementation methods.

[0083] In a fourth aspect, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores a computer program code. When the computer program code is executed by an electronic device, the electronic device executes the method of the first aspect and possible implementations thereof.

[0084] In a fifth aspect, a computer program product is provided. The computer program product includes a computer program code. When the computer program code is executed by an electronic device, the electronic device executes the method of the first aspect and possible implementations thereof.

[0085] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure.

[0086] In the disclosed embodiment, the device is positioned based on distance semantic data, which is data indicating the relative distance relationship between objects. It can be seen that the distance semantic data is much simpler and has less content than the point cloud data. Therefore, when positioning based on the distance semantic data corresponding to the current detectable area and the distance semantic data corresponding to the movable area, the amount of calculation required for matching calculation is much smaller than that for point cloud data, thereby reducing the occupation of processing resources. BRIEF DESCRIPTION OF THE DRAWINGS

[0087] In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0088] Figure 1 is a schematic diagram of a movable area provided by an embodiment of the present disclosure;

[0089] Figure 2 It is a semantic topology map provided by an embodiment of the present disclosure;

[0090] Figure 3 It is a semantic topology map provided by an embodiment of the present disclosure;

[0091] Figure 4 It is a semantic topology map provided by an embodiment of the present disclosure;

[0092] Figure 5 It is a chain statistical data provided by the embodiment of the present disclosure;

[0093] Figure 6 is a schematic diagram of a device positioning process provided by an embodiment of the present disclosure;

[0094] Figure 7 is a schematic diagram of a flow chart of determining the type of surrounding objects and the position relative to a target device provided by an embodiment of the present disclosure;

[0095] Figure 8 is a schematic diagram of a device positioning process provided by an embodiment of the present disclosure;

[0096] Fig. 9 is a schematic diagram of a device positioning process provided by an embodiment of the present disclosure;

[0097] Fig.10 It is a schematic diagram of a process of constructing distance semantic data of a movable area provided by an embodiment of the present disclosure;

[0098] Fig.11It is a structural schematic diagram of a device positioning apparatus provided by an embodiment of the present disclosure. DETAILED DESCRIPTION

[0099] The embodiments of the present disclosure provide a method for positioning a device, which can be implemented by a movable device, or by a device in cooperation with a server. The device can have autonomous mobility, for example, a sweeping robot, a garbage picking robot, a food delivery robot, a delivery robot, etc. For scenarios where a server exists, the server can be a background management server of the device, used for mobile control of the device, etc. The server can be a separate computer, a server group consisting of multiple computers, or a virtual machine running on a physical computer, etc. The embodiments of the present disclosure take the case where there is no server as an example to explain the solution in detail, and other cases are similar and will not be repeated.

[0100] The movable device may include a processor, a memory, an environmental information collection component, a mobile component, a communication component, a positioning component (GPS component, RTK component, etc.), a working component, etc.

[0101] The processor may be a central processing unit (CPU), and the processor may be used to compare the real-time detection data with the map data to determine the location of the target device in the global area.

[0102] The memory may be various volatile memories or non-volatile memories, such as solid state disks (SSDs), dynamic random access memories (DRAMs), etc. The memory may be used to store pre-stored data, intermediate data, and result data in the process of determining the location of the device, such as point cloud data, distance semantic data, chain statistics data, etc.

[0103] The environmental information acquisition component may be a camera, a laser radar, a depth camera, etc. The camera is used to acquire images. The laser radar is used to acquire point cloud data. The depth camera is generally used to acquire images and depth information. The embodiment of the present disclosure takes the environmental information acquisition component including a camera and a laser radar as an example to explain the solution in detail. Other situations are similar and will not be described in detail.

[0104] The mobile component is a component that enables the target device to move. Depending on the different moving modes of the target device, the mobile component is also different. The mobile component can be a wheeled mobile component, a crawler mobile component, etc.

[0105] The communication component may be a wired network connector, a wireless fidelity (WiFi) module, a Bluetooth module, a cellular network communication module, etc. The communication component may be used to transmit data with other devices, for example, the communication component may be used to receive control instructions of a control device, and may also be used to send a captured image to a certain device for display, and so on.

[0106] The positioning component may be a Global Positioning System (GPS) component, a Real-time Kinematic (RTK) component, etc., and is used to provide the target device with location information in a global area.

[0107] The working component is a component that enables the target device to achieve the basic functions of the target device. For example, a sweeping robot needs a vacuuming component, a delivery robot needs a cargo loading component, and so on.

[0108] The following is an explanation of some terms in the processing process:

[0109] Movable area

[0110] The movable area can also be called the working area, which can be understood as the range of normal working services of the equipment. For example, a sweeping robot can be responsible for cleaning the outdoor area around a high-rise building. In this case, the movable area is the outdoor area around the high-rise building. Figure 1 It is the movable area around the building. The solid lines in the inner circle can represent the outer wall of the building, and the solid lines in the outer circle can represent a wall or fence, etc.

[0111] Current detectable area

[0112] The area corresponding to the current detection range of the environmental information collection component on the target device. For example, the current detectable area can be a sector area in front of the target device, and the size of the sector area is determined by the capabilities of the environmental information collection component. The current detectable area at any time belongs to the movable area. The movable area can be considered as the global area, and the current detectable area is a local area in the global area. Figure 1 As shown in the figure, the fan-shaped area in front of the device is the current detectable area.

[0113] Environmental Information

[0114] Environmental information is information collected by the target device that can directly or indirectly reflect the distribution of objects in the surrounding environment. Environmental information can include images, point cloud data, etc.

[0115] Distance semantic data

[0116] Distance semantic data is used to indicate the relative distance relationship between objects in a certain area (such as the movable area or the currently detectable area mentioned above). For example, the distance semantic data can directly record the distance between different objects, or the distance can be divided into a certain number of intervals to indicate the intervals to which the distances between different objects belong, or it can be the following semantic topology diagram or chain statistical data. In the embodiment of the present disclosure, the distance semantic data is chain statistical data as an example for a detailed description of the scheme, and other situations are similar and will not be repeated.

[0117] Semantic topology graph

[0118] The semantic topology graph includes nodes and edges connecting two nodes. Each node represents an object, and the attributes of the node include the type of object, such as trees, street lights, traffic signs, etc. An edge indicates that the distance between two objects is less than a preset distance threshold. If there is an edge between any two nodes, it means that the distance between the objects corresponding to the two nodes is less than the distance threshold. If there is no edge between any two nodes, it means that the distance between the objects corresponding to the two nodes is greater than the distance threshold. The setting of the distance threshold can be determined by technicians based on experience or experiments, and the setting principle can be to comprehensively consider the positioning accuracy and processing volume.

[0119] Figure 2 An example of a semantic topological graph is given. The circles in the graph represent nodes, the lines represent edges, and the different shading of the circles represent different object types.

[0120] Chain Statistics

[0121] Chain statistics are data obtained based on the statistics of the semantic topology graph. Each node in the semantic topology graph has corresponding chain statistics. The chain statistics corresponding to a node are the number of occurrences of each chain type starting from the node. A chain is a specified number of nodes connected in sequence by edges in the semantic topology graph. In chains of the same chain type, the objects corresponding to the nodes at the same sequence position are of the same type. For example, Figure 3 The chains A and B shown belong to the same chain type. The type of object corresponding to the nodes on the first sequence position of the two chains is a street lamp, the type of object corresponding to the nodes on the second sequence position is a tree, and the type of object corresponding to the nodes on the third sequence position is a traffic sign. Chain A and chain C belong to different chain types.

[0122] Chain statistics can be represented by a vector. The chain type corresponding to each dimension of the vector can be preset. An example of a corresponding relationship is given in Table 1 below.

[0123] Table 1

[0124] dimension Chain Type First Dimension p1-p1-p1 The Second Dimension p1-p1-p2 The Third Dimension p1-p1-p3 The fourth dimension p1-p2-p3 …… ……

[0125] The total dimension of the visible vector is the same as the total number of chain types. The total number of chain types is equal to m n , where m is the total number of object types and n is the number of nodes included in the chain (this number is pre-specified). Based on the above corresponding relationship, the value of each dimension in the vector of chain statistics data can be the number of occurrences corresponding to the corresponding chain type. In general, through the reasonable setting of the above distance threshold, the number of occurrences corresponding to many chain types will be 0, that is, there may be several 0s in the vector. Figure 4 A semantic topology graph is given. Figure 5 for Figure 4 Chain statistics corresponding to the nodes marked with boxes.

[0126] Point cloud data

[0127] Point cloud data is data detected by the LiDAR. Point cloud data can include the spatial coordinates of each point on the surface of an object in the detection area. Point cloud data has a certain resolution, which determines the number of points in the point cloud data. The resolution is determined by the hardware properties of the LiDAR. The spatial coordinates in the point cloud data detected and output by the LiDAR are spatial coordinates in the LiDAR coordinate system. The device's processor can use internal parameters to convert them into spatial coordinates in the device coordinate system.

[0128] Generally, devices with autonomous mobility work in a relatively fixed area. During the working process, they need to perform real-time high-precision positioning and autonomous movement based on positioning to complete a certain task, such as cleaning, delivery, etc. Positioning technologies such as GPS cannot meet the positioning accuracy requirements of such devices. The common positioning methods for such devices are: in the offline stage (i.e., the stage when the device has not officially started working and is making some advance preparations for the work), map data of the global area is pre-established (similar to the function of a map, but not necessarily a real map) and stored; in the online stage (i.e., the stage when the device is working), the device compares the real-time detection data with the map data during the movement to determine its own position.

[0129] In the device positioning method provided by the embodiment of the present disclosure, the distance semantic data of the global area is used as the map data, and the distance semantic data of the local area is used as the detection data. Figure 6 The process flow of the method may include the following steps:

[0130] 601 : Determine the type of the object in the current detectable area and the position of the object relative to the target device based on the environmental information of the current detectable area collected by the target device.

[0131] The position of the object relative to the target device may be the coordinates of the object in a coordinate system of the target device, which may be a three-dimensional coordinate system or a two-dimensional coordinate system in a horizontal plane.

[0132] When the staff wants to use the target device to work in a certain work area, they can place the target device in the work area and then control the target device to power on. At this time, the target device can start to collect images and point cloud data through the camera and lidar. The target device can periodically obtain images and point cloud data collected at the same time. For example, the frame interval of the camera and lidar is 50 milliseconds. The target device can obtain the currently collected image and point cloud data every 50 milliseconds, or every 200 milliseconds. For another example, the frame intervals of the camera and lidar are 20 milliseconds and 30 milliseconds respectively. The target device can obtain the currently collected image and point cloud data every 60 milliseconds, or every 180 milliseconds.

[0133] After acquiring the image and point cloud data, the target device can further perform object recognition in it to determine the type and location of surrounding objects. Figure 7 The process shown is described in detail.

[0134] In the above processing, the target device can only determine the type of the static object in the current detectable area and the position relative to the target device. No corresponding processing is required for the moving object, and the static object and the moving object can be distinguished by the type of the object.

[0135] 602 , constructing distance semantic data corresponding to the current detectable area based on the type of the object in the current detectable area and the position relative to the target device.

[0136] The target device can calculate the distance between two objects based on the coordinates of each object in the device coordinate system. Then, among the calculated distances, determine which distances are greater than the distance threshold and which are less than the distance threshold. Furthermore, a semantic topological graph can be constructed, in which a node corresponding to each object is added, and the type of the object is recorded in the node attribute. For two objects whose distance is less than the distance threshold, an edge is added between the nodes corresponding to the two objects. After completing the above processing, the semantic topological graph corresponding to the current detectable area can be obtained.

[0137] Furthermore, chain statistics corresponding to each node in the semantic topology map can be constructed. For any node, a chain of a specified length starting from the node is determined in the semantic topology map. The length of the chain is the number of nodes included in the chain, such as 3, 4. The target device can store all possible chain types in advance. At this time, the number of occurrences of various chain types in the currently determined chains can be counted to obtain chain statistics. The chain statistics are the distance semantic data corresponding to the current detectable area.

[0138] 603 : Determine the position information of the target device in the movable area based on the distance semantic data corresponding to the current detectable area and the distance semantic data corresponding to the movable area to which the target device belongs.

[0139] The position information in the movable area is the coordinates in the movable area coordinate system (or global coordinate system).

[0140] Before the device works, the global area distance semantic data can be pre-built. The distance semantic data can be established by manual calibration or automatic calibration. The automatic calibration method is described later. Fig.10 The process will be explained in detail.

[0141] Then, the distance semantic data corresponding to the current detectable area and the distance semantic data corresponding to the movable area are compared to determine the position information of the target device in the movable area. In addition, the posture information can also be determined. The specific steps are as follows:

[0142] 6031. For each first node in the semantic topological graph corresponding to the current detectable area, determine, among the nodes included in the semantic topological graph corresponding to the movable area, a second node having the greatest similarity with the chain statistical data of the first node.

[0143] Based on the introduction of chain statistics in the previous content, for the same object, the chain statistics of the first node corresponding to it in the local semantic topology map and the second node corresponding to it in the global semantic topology map should theoretically be very similar, or even the same. Based on this principle, the nodes corresponding to the same object in the local semantic topology map and the global semantic topology map can be found by similarity.

[0144] Chain statistics can be represented by vectors, so we can just calculate the similarity of two vectors. There are many ways to calculate vector similarity, and we can use the dot multiplication method to calculate vector similarity. For example, if we want to find the vector with the greatest similarity to vector A among vectors B, C, and D, we can perform dot multiplication operations on vector A with vectors B, C, and D respectively to get three results. We can take the vector corresponding to the largest dot multiplication result, which has the greatest similarity to vector A. Then we can determine the node corresponding to the vector with the greatest similarity, that is, the second node.

[0145] 6032. Determine position information and posture information of the target device in the movable area based on the position of the object corresponding to the first node relative to the target device and the position of the object corresponding to the second node in the movable area.

[0146] Each of the above target similarities corresponds to a first node and a second node, that is, the target device can obtain multiple node pairs, each node pair includes a first node and a second node, the first node is a node in the local semantic topology map, and the second node is a node in the global semantic topology map.

[0147] The target device can obtain the first coordinate of the object corresponding to each first node in the device coordinate system, and obtain the second coordinate of the object corresponding to each second node in the global coordinate system. The objects corresponding to the first node and the second node in the same node pair are the same. In this way, based on the first coordinate and the second coordinate corresponding to each node pair, equations with conversion parameters (including translation parameters and rotation parameters) between the device coordinate system and the global coordinate system as unknowns can be listed. The equations corresponding to some or all of the node pairs are combined into an equation group, and the corresponding translation parameters and rotation parameters can be obtained by solving the equation group.

[0148] The translation parameter can be used to indicate: the translation value of the origin of the device coordinate system relative to the origin of the global coordinate system in the X-axis direction of the global coordinate system, and the translation value of the origin of the device coordinate system relative to the origin of the global coordinate system in the Y-axis direction of the global coordinate system. It can be seen that the translation parameter is actually the coordinate of the origin of the device coordinate system in the global coordinate system, that is, the coordinate of the equivalent center of the target device in the global coordinate system.

[0149] The rotation parameter can be used to indicate the rotation angle of the X-axis (or Y-axis) of the device coordinate system relative to the X-axis (or Y-axis) of the global coordinate system. It can be seen that the rotation parameter can represent the rotation angle of the reference direction of the target device relative to the reference direction of the global area. In simple terms, it represents the orientation of the target device, that is, the posture information.

[0150] The following is an example of steps 6031-6032. For example, the global semantic topology graph has 6 nodes, which are called nodes X. 11, node X 12 , node X 13 , node X 14 , node X 15 , node X 16 , each node has chain statistics, assuming node X 11 The corresponding chain statistics are Y 11 Node X 12 The corresponding chain statistics are Y 12 Node X 13 The corresponding chain statistics are Y 13 , Node X 14 The corresponding chain statistics are Y 14 Node X 15 The corresponding chain statistics are Y 15 , Node X 16 The corresponding chain statistics are Y 16 The local semantic topology graph has three nodes, which we call nodes X. 21 Node X 22 Node X 23 Assume that node X 21 The corresponding chain statistics are Y 21 Node X 22 The corresponding chain statistics are Y 22 Node X 23 The corresponding chain statistics are Y 23 . Change node X 21 Corresponding chain statistics Y 21 Compare with the chain statistics of each node in the global semantic topology to get 21 The chain statistics with the largest similarity are obtained, and then the node of the global semantic topology corresponding to the chain statistics is obtained. Assume that the node is node X 12 , then the node X of the local semantic topology graph 21 and node X of the global semantic topology graph 12 Corresponding to the same object (which can be called the first object), assuming that the coordinates of the first object in the device coordinate system are (Z 11 , Z 12 ), the coordinates in the global coordinate system are (Z 13 , Z 14 ). Then, for the node X of the local semantic topology graph 22 , Node X 23 Do the same process and get the coordinates of the second object and the third object in the device coordinate system and in the global coordinate system respectively. Assume that the coordinates of the second object in the device coordinate system are (Z 21 , Z 22 ), the coordinates in the global coordinate system are (Z 23 , Z 24); the coordinates of the third object in the device coordinate system are (Z 31 , Z 32 ), the coordinates in the global coordinate system are (Z 33 , Z 34 ), based on the three sets of coordinates corresponding to the first object, the second object, and the third object, the conversion parameters between the device coordinate system and the global coordinate system can be calculated, and then the position information and posture information of the target device in the movable area can be obtained.

[0151] In the embodiment of the present disclosure, the type of surrounding objects and the processing of the position relative to the target device can be determined by using the image and point cloud data collected by the target device. Figure 7 As shown, the following steps are included:

[0152] 701 , performing object recognition in the image to obtain the type and image position of the object in the current detectable area.

[0153] The target device can input the currently acquired image into the object recognition model, and the object recognition model inputs the type and image position of the object contained in the image. The object recognition model can be a machine learning model, such as a YOLOV5 model, etc. The type can include "car", "person", "tree", "street light", "traffic sign", etc. The image position can be the coordinates of the object in the image coordinate system, which can be in a variety of possible forms. For example, the image position can be the coordinates of the four vertices of the minimum circumscribed rectangle of the object in the image. Optionally, the object recognition model can also output the confidence corresponding to each object type. If the confidence is too low, the type and image position of the corresponding object can be discarded.

[0154] In addition, the target device may pre-store a still life type list, in which object types corresponding to still life are recorded, such as "trees", "street lights", "traffic signs", etc. Object types corresponding to moving objects such as "cars" and "people" are not recorded in the list. After the type and image position of the object in the image are determined by the object recognition model, the type of each object can be compared with the object type in the still life type list. If the type of an object does not appear in the still life type list, the type and image position of the object can be discarded. After the above processing and discarding, the remaining data is the type and image position of the still life in the image.

[0155] 702 , based on the image position of the object, determine in the point cloud data the position of a target point cloud point corresponding to the object relative to a target device.

[0156] The image position may be the image range of the object in the image. The image range may generally be the minimum circumscribed rectangle of the object image, which may be represented by the coordinates of the four vertices in the image coordinate system.

[0157] The target device collects point cloud data of the detectable area through the laser radar, and can detect all point cloud points in the area. Based on step 701, the image range of the object in the image and the point cloud data of the detectable area are obtained, and the target point cloud points corresponding to the object are screened out. The specific processing is as follows:

[0158] 7021, based on the correspondence between the pixel points and the point cloud points, determine the point cloud points corresponding to the pixel points in the image range.

[0159] A correspondence table between image pixels and point cloud points can be established in advance. Since the camera and the laser radar are fixed on the target device, the correspondence between image pixels and point cloud points can be obtained through experiments, and then the correspondence table between image pixels and point cloud points can be obtained.

[0160] Based on the correspondence table between image pixels and point cloud points, the pixel points in the image corresponding to each point cloud point in the point cloud data can be obtained, and then the point cloud points corresponding to the pixel points in the image range can be obtained. In the case where the image range is represented by the coordinates of four vertices, the point cloud points corresponding to the four vertices can be determined based on the above correspondence table. Then, these four point cloud points are used to determine the point cloud range corresponding to the image range, and then all the point cloud points in the point cloud range are determined.

[0161] 7022. Determine a target point cloud point corresponding to the object in the point cloud points corresponding to the pixel points.

[0162] The corresponding point cloud points in the image range may contain other point cloud points in addition to the target point cloud points corresponding to the object. The other point cloud points are likely to be the background environment of the object. Therefore, the distance between the target point cloud points and the target device will be smaller, and the distance between other point cloud points and the target device will be larger. Therefore, the point cloud points within the image range can be clustered to remove the point cloud points that do not belong to the object within the image range. The specific steps are as follows: The positions of the point cloud points within the image range relative to the target device are clustered with a cluster number of 2 to obtain two position sets. Among the two position sets, determine the target position set with a smaller distance from the target device. Determine the point cloud points corresponding to the target position set as the target point cloud points corresponding to the object.

[0163] At 7023, in the point cloud data, determine a position of a target point cloud point corresponding to the object relative to the target device.

[0164] The coordinates of the target point cloud point in the device coordinate system can be directly obtained from the point cloud data.

[0165] 703 : Determine the position of the object relative to the target device based on the position of the target point cloud point corresponding to the object relative to the target device.

[0166] There are many ways to determine the coordinates of an object in the device coordinate system. For example, the coordinates of the target point cloud points can be averaged and the average coordinates can be used as the coordinates of the object in the device coordinate system, that is, the position of the object relative to the target device.

[0167] In view of the situation where there are few objects in the movable area, the embodiment of the present disclosure proposes a lower-level processing method for step 601, and combines the processing method to perform the processing of steps 602 and 603. The corresponding processing flow can be as follows: Figure 8 As shown, the following steps are included:

[0168] 801, setting the current time as the reference time, setting the currently captured image frame as the image frame to be processed, and setting the currently detected point cloud data as the point cloud data to be processed.

[0169] The reference time can be understood as the time point when the target device first obtains its position in the movable area.

[0170] 802 , performing object recognition in the image frame to be processed to obtain the type and image position of the object in the current detectable area.

[0171] The processing of this step may refer to the relevant description of step 701.

[0172] 803 , based on the image position of the object, determine the coordinates of the target point cloud point corresponding to the object in the current device coordinate system in the point cloud data to be processed.

[0173] The processing of this step may refer to the relevant description content of step 702 and steps 7021-7023 included in step 702.

[0174] 804 , based on the position of the target point cloud point corresponding to the object relative to the target device, determine the coordinates of the object in the current device coordinate system.

[0175] The current device coordinate system is the coordinate system established by the device when acquiring the current image frame and image point cloud data. The current device coordinate system changes in real time based on the position of the device.

[0176] For the processing of this step, please refer to the relevant description of step 703.

[0177] 805 , based on the position of the object relative to the target device and the position change information of the target device at the current moment relative to the reference moment, determine the coordinates of the object in the device coordinate system at the reference moment.

[0178] The target device is not only equipped with laser radar and camera equipment, but also with laser odometer and inertial sensor. Through the laser odometer and inertial sensor, the target device determines its own posture change relative to the reference time at a certain time after the reference time, and then determines the conversion relationship between the current device coordinate system and the device coordinate system at the reference time based on the posture change, and then determines the coordinates of the object in the device coordinate system at the reference time based on the coordinates of the object in the current device coordinate system and the conversion relationship.

[0179] 806 , determining the number of objects detected since the reference time based on the coordinates of all objects determined since the reference time in the device coordinate system at the reference time.

[0180] The first coordinate group of the object collected by the current target device in the device coordinate system at the reference time can be obtained, and the second coordinate group of the object collected by the target device in the device coordinate system at the reference time since the reference time can also be obtained. Each coordinate of the first coordinate group is compared with each coordinate of the second coordinate group. For objects with the same coordinates or a distance less than a threshold, it can be determined that they are the same object. Then the number of newly added objects in the objects collected by the target device at the current time is obtained. This value is added to the number of objects collected by the target device since the reference time to obtain the new number of objects collected by the target device since the reference time.

[0181] 807, determine whether the number of objects reaches a quantity threshold (such as 3). If the quantity threshold is reached, based on the type of objects detected since the reference time and the coordinates in the device coordinate system at the reference time, perform step 602 (which can be recorded as 602') and step 603 (which can be recorded as step 603'), wait for a preset interval time, and then go to step 801. If the quantity threshold is not reached, wait for the interval time. After waiting for the interval time, set the currently captured image frame as the image frame to be processed, set the currently detected point cloud data as the point cloud data to be processed, and go to step 802.

[0182] The quantity threshold can be set by the technician according to actual needs. A quantity threshold of 3 can satisfy the basic operation of step 603'. The larger the quantity threshold, the higher the corresponding positioning accuracy. The smaller the quantity threshold, the lower the corresponding calculation complexity and the higher the positioning efficiency. Therefore, the technician can balance the accuracy and efficiency to set the quantity threshold.

[0183] The interval time can also be set by the technician according to actual needs. Generally, the least common multiple of the frame interval time of image acquisition and the frame interval time of point cloud data acquisition can be selected. The smaller the interval time, the higher the corresponding positioning accuracy, and the larger the interval time, the smaller the corresponding processing resource occupation. Therefore, the technician can balance the accuracy and processing resource occupation to set the interval time.

[0184] After executing step 603', the target device is positioned once, and step 801 is executed again to reposition the target device.

[0185] Optionally, the confidence of the second node can be determined in combination with the above to determine whether it is necessary to continue to detect more information of the object for positioning. Accordingly, the processing of step 807 in the above process can be replaced by the processing of the following step 807'. The complete process is as follows: Fig. 9 As shown:

[0186] 807', determine whether the number of objects reaches the number threshold. If so, based on the type of objects detected since the reference time and the coordinates in the device coordinate system at the reference time, perform step 602 (which can be recorded as 602'), and then execute step 6031 (which can be recorded as 6031') to determine whether the confidence corresponding to each second node meets the preset condition. If the confidence meets the preset condition, execute step 6032 (which can be recorded as 6032'), wait for the preset interval time, and go to step 801. If the confidence does not meet the preset condition, or the number of objects does not reach the number threshold, wait for the interval time. After waiting for the interval time, set the currently captured image frame as the image frame to be processed, set the currently detected point cloud data as the point cloud data to be processed, and go to step 802.

[0187] The confidence level may be the vector similarity of step 6031'. The higher the vector similarity between the second node and the first node, the higher the confidence level corresponding to the second node. The preset condition may be that the confidence levels of all second nodes are greater than a preset threshold. Alternatively, the average of the confidence levels of all second nodes is calculated, and the average is greater than a preset threshold.

[0188] Optionally, during the execution of the above process, if the time from the current moment to the reference moment reaches a preset time threshold, even if the cumulative number of objects detected from the reference moment to this moment does not reach the quantity threshold, or the confidence level has not met the preset conditions, the loop can be ended and the execution of step 801 can be directly executed.

[0189] In the embodiment of the present disclosure, the distance semantic data of the movable area is pre-established in the offline stage, and the process of constructing the distance semantic data of the entire movable area can be as follows: Fig.10 As shown, the following steps are included:

[0190] 1001, obtaining environmental information collected at different time points during the movement of the target device in the movable area.

[0191] The staff can use the remote control to control the target device to move arbitrarily or according to certain rules in the movable area, or the target device can move automatically in the movable area, either randomly or according to a certain route plan, until the target device can collect all environmental information of the movable area.

[0192] The target device collects images at a set frame rate during movement, and an object in the movable area may appear in multiple images. The same object in the images collected by the target device at different time points is recorded, and the computer vision tracking algorithm can achieve this function. The computer vision tracking algorithm can be a Deepsort algorithm. The computer vision tracking algorithm first assigns an ID to the object that first appears in the image at a certain moment, and tracks the object while assigning an ID to each object. When the object appears in the image again at the next moment, the same ID is assigned to the object. For example, the target device captures a traffic sign through the camera at a certain moment, but the traffic sign is blocked by a tree at the next moment. When the target device passes the tree, the traffic sign can be photographed again. At this time, the computer vision tracking algorithm can recognize that the traffic sign has appeared before, and assign the same ID to the traffic sign in this frame as the previous traffic sign.

[0193] 1002 , based on the environmental information collected at different time points, determine the type of the object in the movable area and the position of the object relative to the movable area.

[0194] The target device can collect environmental information at a set frame rate. Each time the environmental information is collected, the type of object and the coordinates of the object in the device coordinate system can be obtained. The coordinates of the object in the device coordinate system are converted into the coordinates of the object in the global coordinate system. The implementation method can be as follows:

[0195] The target device is equipped with not only laser radar and camera equipment, but also positioning components. Through the positioning components, the target device knows its position and posture in the movable area (that is, the coordinates and direction angles of the target device in the global coordinate system), so the conversion relationship between the device coordinate system and the global coordinate system can be obtained, and then the coordinates of the object in the global coordinate system can be determined based on the coordinates of the object in the device coordinate system. The positioning component can be RTK. When RTK transmits a signal to the base station, the signal may be blocked by a high-rise building, causing positioning failure. At this time, the target device can continue to move and collect current environmental information from other angles.

[0196] Based on the type of the object in each frame and the coordinates of the object in the global coordinate system, the final type of the object and the coordinates in the global coordinate system are determined. The method for determining the type of the object is: for the same object, among the types corresponding to the object at different time points, the type that appears the most times is determined as the type of the object. The above operation is performed for each object in the detectable area to determine the type of the object. The method for determining the position of the object in the movable area is: for the position of the same object in the movable area, clustering processing is performed, and based on the obtained cluster centers of each object, the position of the object in the movable area relative to the movable area is determined. The above operation is performed for each object in the detectable area to determine the position of the object relative to the movable area.

[0197] 1003. Construct distance semantic data corresponding to the movable area based on the type of the object in the movable area and the position of the object in the movable area.

[0198] The construction process of the distance semantic data corresponding to the movable area is similar to the construction process of the distance semantic data corresponding to the current detectable area. Please refer to the relevant description content of step 602, which will not be repeated here.

[0199] In the disclosed embodiment, the device is positioned based on distance semantic data, which is data indicating the relative distance relationship between objects. It can be seen that the distance semantic data is much simpler and has less content than the point cloud data. Therefore, when positioning based on the distance semantic data corresponding to the current detectable area and the distance semantic data corresponding to the movable area, the amount of calculation required for matching calculation is much smaller than that for point cloud data, thereby reducing the occupation of processing resources.

[0200] Based on the same technical concept, the embodiment of the present disclosure provides a device for locating a device, which can be applied to the target device or server in the above embodiment. Fig.11 As shown, the device comprises:

[0201] The determination module 1110 is used to implement the processing function of the above step 601 and other related implicit steps.

[0202] The construction module 1120 is used to implement the processing function of the above step 602 and other related implicit steps.

[0203] The positioning module 1130 is used to implement the processing function of the above step 603 and other related implicit steps.

[0204] In a possible implementation, the environmental information includes an image of the current detectable area taken by a camera and point cloud data of the current detectable area taken by a lidar.

[0205] In a possible implementation, the determination module 1110 is used to implement the processing functions of the above steps 701-703, and other related implicit steps.

[0206] In a possible implementation manner, the image position is an image range corresponding to the object in the image.

[0207] The determination module 1110 is used to implement the processing functions of the above steps 7021-7023, as well as other related implicit steps.

[0208] In a possible implementation, the determining module 1110 is configured to:

[0209] A clustering process with a cluster number of 2 is performed on the position of the point cloud point corresponding to the pixel point relative to the target device to obtain two position sets.

[0210] Among the two position sets, a target position set having a smaller distance from the target device is determined.

[0211] The point cloud points corresponding to the target position set are determined as the target point cloud points corresponding to the object.

[0212] In a possible implementation, the determining module 1110 is configured to:

[0213] An average value of the positions of a plurality of target point cloud points corresponding to the object relative to the target device is determined as the position of the object relative to the target device.

[0214] In a possible implementation, the distance semantic data includes link statistics data corresponding to each node in the semantic topology graph.

[0215] The semantic topology graph includes nodes and edges connecting two nodes, each node represents an object, and the attributes of the node include the type of the object. If there is an edge connecting any two nodes, it means that the distance between the objects corresponding to the two nodes is less than a distance threshold. If there is no edge connecting any two nodes, it means that the distance between the objects corresponding to the two nodes is greater than the distance threshold.

[0216] The chain statistics corresponding to the node include the number of occurrences of chains of each chain type starting from the node, and the chain is a specified number of nodes connected sequentially by edges in the semantic topology graph. In chains of the same chain type, the types of objects corresponding to nodes at the same sequence position are the same.

[0217] In a possible implementation, the positioning module 1130 is used to implement the processing functions of the above steps 6031-6032, as well as other related implicit steps.

[0218] In a possible implementation, the device further includes an offline module 1140, which is used to implement the processing functions of the above steps 801-803, and other related implicit steps.

[0219] In a possible implementation, the offline module 1140 is used to:

[0220] Acquire environmental information collected at different time points during the movement of the target device in the movable area.

[0221] Based on the environmental information collected at each time point, the type of the corresponding object and the position in the movable area are determined.

[0222] For each object, determining the type of the object based on the types of the object at different time points;

[0223] Based on the positions of the objects in the movable area corresponding to all time points, the positions of the objects in the movable area relative to the movable area are determined.

[0224] In a possible implementation, the offline module 1140 is used to:

[0225] Among the types corresponding to the object at different time points, the type with the largest number of occurrences is determined as the type of the object.

[0226] In a possible implementation, the offline module 1140 is used to:

[0227] Clustering is performed on the positions of objects in the movable area corresponding to all time points, and based on the obtained cluster centers, the positions of the objects in the movable area relative to the movable area are determined.

[0228] It should be noted that the above-mentioned determination module 1110, construction module 1120, positioning module 1130 and offline module 1140 can be implemented by a processor, or by a processor and a memory.

[0229] In the disclosed embodiment, the device is positioned based on distance semantic data, which is data indicating the relative distance relationship between objects. It can be seen that the distance semantic data is much simpler and has less content than the point cloud data. Therefore, when positioning based on the distance semantic data corresponding to the current detectable area and the distance semantic data corresponding to the movable area, the amount of calculation required for matching calculation is much smaller than that for point cloud data, thereby reducing the occupation of processing resources.

[0230] It should be noted that: the device for device positioning provided in the above embodiment only uses the division of the above functional modules as an example when performing the device positioning process. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the device for device positioning provided in the above embodiment and the method embodiment for device positioning belong to the same concept. The specific implementation process is detailed in the method embodiment and will not be repeated here.

[0231] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented by software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the device, the process or function described in the embodiment of the present disclosure is generated in whole or in part. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) mode. The computer-readable storage medium can be any available medium that can be accessed by the device or a data storage device such as a server or data center that includes one or more available media integrated. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, and a tape, etc.), or an optical medium (e.g., a digital video disk (digital video disk, DVD), etc.), or a semiconductor medium (e.g., a solid-state hard disk, etc.).

[0232] A person skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware or by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk or an optical disk, etc.

[0233] The above description is only one embodiment of the present disclosure and is not intended to limit the present disclosure. Any modification, equivalent substitution, improvement, etc. made within the principles of the present disclosure shall be included in the protection scope of the present disclosure.

Claims

1. A method for positioning a device, characterized in that: The method comprises: Determine, based on the environmental information of the current detectable area collected by the target device, the type of the object in the current detectable area and the position relative to the target device; Based on the type of the object in the current detectable area and the position relative to the target device, construct distance semantic data corresponding to the current detectable area, wherein the distance semantic data is used to indicate the relative distance relationship between the objects; Based on the distance semantic data corresponding to the current detectable area and the distance semantic data corresponding to the movable area to which the target device belongs, the position information of the target device in the movable area is determined.

2. The method according to claim 1, characterized in that The environmental information includes an image of the current detectable area taken by a camera and point cloud data of the current detectable area taken by a lidar.

3. The method according to claim 2, characterized in that The step of determining the type of the object in the current detectable area and the position of the object relative to the target device based on the environmental information of the current detectable area collected by the target device includes: Performing object recognition in the image to obtain the type and image position of the object in the current detectable area; Based on the image position of the object, determining, in the point cloud data, a position of a target point cloud point corresponding to the object relative to the target device; Based on the position of the target point cloud point corresponding to the object relative to the target device, the position of the object relative to the target device is determined.

4. The method according to claim 3, characterized in that The image position is an image range corresponding to the object in the image; The determining, based on the image position of the object, in the point cloud data, a position of a target point cloud point corresponding to the object relative to the target device comprises: Based on the correspondence between the pixel points and the point cloud points, determining the point cloud points corresponding to the pixel points in the image range; Determine the target point cloud point corresponding to the object in the point cloud points corresponding to the pixel points; In the point cloud data, a position of the target point cloud point relative to the target device is determined.

5. The method according to claim 1, characterized in that The distance semantic data includes chain statistics data corresponding to each node in the semantic topology graph; The semantic topology graph includes nodes and edges connecting two nodes, each node represents an object, and the attributes of the node include the type of the object. If there is an edge connecting any two nodes, it means that the distance between the objects corresponding to the two nodes is less than a distance threshold, and if there is no edge connecting any two nodes, it means that the distance between the objects corresponding to the two nodes is greater than the distance threshold; The chain statistics corresponding to the node include the number of occurrences of chains of each chain type starting from the node, and the chain is a specified number of nodes connected sequentially by edges in the semantic topology graph. In chains of the same chain type, the types of objects corresponding to nodes at the same sequence position are the same.

6. The method according to claim 5, characterized in that The determining, based on the distance semantic data corresponding to the current detectable area and the distance semantic data corresponding to the movable area to which the target device belongs, the position information of the target device in the movable area includes: For each first node in the semantic topological graph corresponding to the current detectable area, determine a second node having the greatest similarity with the chain statistical data of the first node among the nodes included in the semantic topological graph corresponding to the movable area; Based on the position of the object corresponding to the first node relative to the target device and the position of the object corresponding to the second node in the movable area, the position information and the posture information of the target device in the movable area are determined.

7. The method according to any one of claims 1 to 6, characterized in that: The method further comprises: Determine the type of the object in the movable area and the position relative to the movable area based on the environmental information collected at different time points during the movement of the target device in the movable area; Based on the type of the object in the movable area and the position relative to the movable area, distance semantic data corresponding to the movable area is constructed.

8. A device for positioning equipment, characterized in that: The device comprises: A determination module, configured to determine the type of an object in the current detectable area and the position of the object relative to the target device based on the environmental information of the current detectable area collected by the target device; A construction module, configured to construct distance semantic data corresponding to the current detectable area based on the type of the object in the current detectable area and the position relative to the target device, wherein the distance semantic data is used to indicate the relative distance relationship between the objects; The positioning module is used to determine the position information of the target device in the movable area based on the distance semantic data corresponding to the current detectable area and the distance semantic data corresponding to the movable area to which the target device belongs.

9. An electronic device, characterized in that: The electronic device comprises a memory and a processor, wherein the memory is used to store computer instructions; The processor executes the computer instructions stored in the memory to enable the electronic device to perform the method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program code. When the computer program code is executed by an electronic device, the electronic device executes the method according to any one of claims 1 to 7.