Equipment positioning method and device and inspection robot
Through the multi-sensor data fusion positioning method, combined with prior three-dimensional maps, inertial sensing data, lidar data and satellite positioning data, the problem of inaccurate positioning of lidar SLAM technology in complex industrial environments is solved, stable and reliable equipment positioning is achieved, and the reliability of the navigation and patrol services of the inspection robot are improved.
Patent Information
- Application Number
- CN202311765128.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-20
- Publication Date
- 2025-06-20
AI Technical Summary
The existing SLAM technology based on lidar has problems such as derailment, deviation, and trek caused by inaccurate positioning in complex industrial environments.
The positioning method of multi-sensor data fusion is adopted, including reading a prior three-dimensional map, acquiring inertial sensing data, lidar data and satellite positioning data, and realizing the initial positioning and positioning calibration of the equipment through the calculation of transition positioning information and target positioning information.
Through the fusion positioning of multi-sensor data, coordinate and position errors caused by lidar positioning are avoided, coordinate positioning loss caused by complex scene changes is avoided, stable and reliable equipment positioning is achieved, and the reliability of the navigation and patrol services of the inspection robot are improved.
Smart Images

Figure CN120176658A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robot positioning, and in particular, to a device positioning method, apparatus, and inspection robot. Background Art
[0002] With the development of robot technology and intelligent algorithms, robot devices that complete automated inspections through autonomous navigation and sensing technologies have been increasingly widely used in fields such as mines, oil, tunnels, and power. Among them, the positioning system of the inspection robot is responsible for providing real-time and reliable positioning information for navigation and related services, and is an important support for the stable and reliable operation of the entire device. In recent years, related positioning technologies based on SLAM (Simultaneous Localization and Mapping) have received extensive attention and research in the field of robotics. Compared with visual SLAM, due to the superiority of the sensors, the SLAM technology based on lidar can capture spatial information more accurately, has low requirements for lighting, and has good adaptability in outdoor scenarios, and has been very widely used in the field of industrial inspection robots.
[0003] However, the inventors of this application found that due to factors such as the complexity of the industrial environment and inevitable scene changes, there are problems such as derailment, deviation, and getting lost caused by inaccurate positioning in the existing lidar-based SLAM technology. Summary of the Invention
[0004] According to the first aspect of this application, a device positioning method is proposed. The method may include: reading a prior three-dimensional map of the environment where the device is located; obtaining inertial sensing data, lidar data, and satellite positioning data; obtaining transitional positioning information based on the inertial sensing data, lidar data, and prior three-dimensional map; and determining the target positioning information of the device based on the satellite positioning data and the transitional positioning information.
[0005] According to the second aspect of this application, a device positioning apparatus is proposed. The apparatus may include: a mapping module that can be used to read a prior three-dimensional map of the environment where the device is located; a sensing data receiving module that can be used to obtain inertial sensing data, lidar data, and satellite positioning data; a transitional positioning module that can be used to obtain transitional positioning information based on the inertial sensing data, lidar data, and prior three-dimensional map; and a target positioning module that is used to determine the target positioning information of the device based on the satellite position data and the transitional positioning information.
[0006] According to the third aspect of this application, an inspection robot is proposed. The robot may include the device positioning apparatus as described in the second aspect of this application.
[0007] According to the fourth aspect of the present application, an electronic device is provided, which may include: a processor; a memory storing a computer program, and when the computer program is executed by the processor, the processor is caused to execute the method described in the first aspect of the present application.
[0008] According to the fifth aspect of the present application, a non-transitory computer-readable storage medium is provided, on which computer-readable instructions are stored, and when the instructions are executed by a processor, the processor is caused to execute the method described in the first aspect of the present application.
[0009] The method proposed in the present application utilizes multiple sensor data to jointly achieve the initial positioning of the device and the calibration process of the positioning. Specifically, combining inertial sensing data and lidar data can avoid the errors of coordinates and poses caused by using only lidar data for positioning, and introducing satellite positioning data can avoid the situation where coordinate positioning is lost due to complex scene changes. The method of the present application realizes stable and reliable device positioning through multi-sensor fusion positioning, thereby improving the reliability of services such as navigation and inspection of devices (such as inspection robots) that require positioning. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the drawings in the following description are only some embodiments of the present application, and those of ordinary skill in the art can also obtain other drawings according to these drawings without exceeding the scope claimed by the present application.
[0011] Figure 1 It is a schematic flowchart of the device positioning method 1000 of the present application;
[0012] Figure 2 For Figure 1 it is a schematic flowchart of step S103 of the method 1000 in
[0013] Figure 3 For Figure 2 it is a schematic flowchart of step S1031 included in step S103 in
[0014] Figure 4 For Figure 2 it is a schematic flowchart of step S1032 included in step S103 in
[0015] Figure 5 For Figure 1 it is a schematic flowchart of step S104 of the method 1000 in
[0016] Figure 6 For Figure 2 it is a schematic flowchart of step S1041 included in step S104 in
[0017] Figure 7 is Figure 2 a schematic flow chart of step S1042 included in step S104 in
[0018] Figure 8 a schematic structural diagram of the device positioning device 2000 of the present application;
[0019] Figure 9 a schematic structural diagram of the inspection robot 3000 of the present application;
[0020] Figure 10 a schematic structural diagram of the inspection robot 4000 of the present application;
[0021] Figure 11 a structural diagram of an electronic device of the present application.
[0022] Description of the reference numerals:
[0023] 1000: Device positioning method;
[0024] 2000: Device positioning device; 201: Mapping module; 202: Sensing data receiving module; 203: Transition positioning module; 204: Target positioning module;
[0025] 3000: Inspection robot; 301: Device positioning device; 302: Inertial sensing device; 303: Lidar device; 304: Satellite positioning device;
[0026] 4000: Inspection robot; 401: Device positioning device. Detailed implementation manners
[0027] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative efforts belong to the scope of protection of the present application.
[0028] Figure 1 is a schematic flow chart of the device positioning method 1000 of the present application. As Figure 1 shown, the method 1000 includes step S101 - step S104.
[0029] In step S101, the device positioning device (such as a processor, hereinafter referred to as a processor) reads the prior three-dimensional map of the environment where the device is located. In step S101, when the processor reads the prior three-dimensional map, it determines the coordinates of the objects in the surrounding environment and generates a map. In some specific embodiments, in step S101, the processor reads the prior three-dimensional map through the FAST-LIO2 algorithm and constructs an ikd-Tree. Among them, the FAST-LIO2 algorithm is a lidar-based navigation algorithm that can realize the mapping process of the environment, and the ikd-Tree is a data structure in the FAST-LIO2 algorithm that can represent a three-dimensional map. Optionally, in step S101, the prior three-dimensional map is obtained through the traditional three-dimensional laser SLAM method. Optionally, in step S101, the prior three-dimensional map is obtained through other mapping methods.
[0030] In step S102, the processor acquires inertial sensing data, lidar data, and satellite positioning data. In some specific embodiments, the inertial sensing device generates inertial sensing data, and the processor receives the inertial sensing data sent by the inertial sensing device. Optionally, the inertial sensing device is an IMU (Inertial Measurement Unit), and the inertial sensing data includes the angular velocity and acceleration of the device.
[0031] In some specific embodiments, the lidar device generates lidar data. In step S102, the processor receives the lidar data sent by the lidar device. Optionally, the lidar device is a three-dimensional lidar. In some specific embodiments, the satellite positioning device obtains satellite positioning data. In step S102, the processor receives the satellite positioning data sent by the satellite positioning device. Optionally, the satellite positioning device is a GPS (Global Positioning System) device, and the satellite positioning data is the longitude and latitude of the device obtained based on GPS.
[0032] In step S103, the processor obtains the transitional positioning information based on the inertial sensing data, lidar data, and the prior three-dimensional map.
[0033] In some specific embodiments, in step S103, the processor generates initial positioning information based on the inertial sensing data and lidar data. In some specific embodiments, the inertial sensing data includes the angular velocity and acceleration data in three directions. In step S103, the processor performs an integration operation on the inertial sensing data to obtain the first global positioning information. The first global positioning information is the first rough positioning information of the device in the global coordinate system and is used for subsequent calculations.
[0034] In some specific embodiments, the lidar data adopts a robot coordinate system. In step S103, the processor unifies the points of the lidar in the acquired lidar data to the same timestamp based on the first global positioning information, and projects the lidar data in the global coordinate system to obtain the second global positioning information, where the second global positioning information is the second rough positioning information of the device in the global coordinate system. In some specific embodiments, in step S103, the processor iterates based on the first global positioning information and the second global positioning information, and stops iterating when the second global positioning information meets the iteration termination condition, and uses the second global positioning information at this time as the initial positioning information.
[0035] In some specific embodiments, in step S103, the processor obtains the transitional positioning information based on the initial positioning information and the prior 3D map. In some specific embodiments, in step S103, the processor registers the lidar data corresponding to the initial positioning information and the prior 3D map to obtain the temporary calibration parameters. Optionally, in step S103, the processor registers the lidar data and the prior 3D map using the point cloud registration technology. Optionally, the point cloud registration technology used in step S103 is the ICP (Iterative Closest Point) registration method.
[0036] In some specific embodiments, in step S103, the processor corrects the initial positioning information using the temporary calibration parameters to generate the transitional positioning information. Optionally, the temporary calibration parameters are the conversion relationship between the position information in the global coordinate system before correction and the position information in the global coordinate system after correction. In some specific embodiments, in step S103, the processor obtains the corrected positioning information using the temporary calibration parameters and the initial positioning information as the transitional positioning information.
[0037] In step S104, the processor determines the target positioning information of the device based on the satellite positioning data and the transitional positioning information.
[0038] In some specific embodiments, in step S104, the processor determines the satellite position coordinates based on the satellite positioning data. In some specific embodiments, in step S104, the processor calibrates the satellite positioning data to obtain the conversion relationship between the satellite positioning coordinate system and the global coordinate system. In some specific embodiments, the satellite positioning data includes the longitude and latitude information of the device, and the satellite positioning coordinate system is the longitude and latitude coordinate system.
[0039] In step S104, the processor determines the target positioning information based on the satellite position coordinates and the transition positioning information. In some specific embodiments, the initial positioning information includes the initial position coordinates and the initial pose, and the transition positioning information includes the transition position coordinates and the transition pose. Among them, the initial position coordinates and the transition position coordinates are the coordinate points of the device, that is, the position coordinates in the map, and the initial pose and the transition pose are the pose information of the device, and the pose information may include the orientation of the device.
[0040] In some specific embodiments, in step S104, the processor determines the distance between the transition position coordinates and the satellite position coordinates determined according to the satellite positioning data, and this distance represents the error between the transition position coordinates and the satellite position coordinates.
[0041] In some specific embodiments, in step S104, a positioning loss occurs, and the processor controls the inertial sensing device and the lidar device according to the angles in the calibration angle set. In step S104, the processor obtains a set of device positioning information based on the inertial sensing data and the lidar data in the inertial sensing set and the lidar set, and each device positioning information includes position coordinates and a pose. In step S104, the processor uses the device positioning information with the highest matching degree between the position coordinates and the satellite position coordinates in the set of device positioning information as the target positioning information.
[0042] According to the Figure 1 shown implementation manner, the method proposed in this application uses multiple sensor data to jointly achieve the initial positioning of the device and the calibration process of the positioning. Specifically, combining the inertial sensing data and the lidar data can, to a certain extent, avoid the errors of coordinates and poses caused by using only the lidar data for positioning. Introducing the satellite positioning data can avoid the situation where the coordinate positioning is lost due to complex scene changes. The method of this application realizes stable and reliable device positioning through multi-sensor fusion positioning, and further improves the reliability of services such as navigation and inspection of devices that need to be positioned (such as inspection robots).
[0043] Figure 2 For Figure 1 the flowchart of step S103 of method 1000 in Figure 2 shown. As
[0044] shown, step S103 includes steps S1031 - S1032. In step S1031, the processor determines the initial positioning information based on the inertial sensing data and the lidar data. In some specific embodiments, in step S1031, the initial positioning information is obtained through data operations based on the acquired inertial sensing data and lidar data.
[0045] In step S1032, the processor obtains the transition positioning information based on the initial positioning information and the prior 3D map. In some specific embodiments, in step S1032, the processor registers the initial positioning information and the prior 3D map to obtain temporary calibration parameters, and corrects the initial positioning information according to the calibration parameters to obtain the transition positioning information. Optionally, the processor uses the point cloud matching technology to register the lidar data corresponding to the initial positioning information and the prior 3D map. Optionally, the point cloud matching technology adopted is the ICP registration method.
[0046] Figure 3 is Figure 2 a schematic flow diagram of step S1031 included in step S103. As Figure 3 shown, step S1031 includes steps S311 - S313.
[0047] In step S311, the processor obtains the first global positioning information according to the inertial sensing data. In some specific embodiments, in step S311, the inertial sensing data includes the angular velocity and acceleration of the device, and the processor integrates the inertial sensing data to obtain the first global positioning information. Optionally, the first global positioning information is the rough position of the device in the global coordinate system.
[0048] In step S312, the processor determines the second global positioning information according to the first global positioning information and the lidar data. In some specific embodiments, in step S312, the lidar data is the lidar point cloud, and the points in the lidar point cloud are points at different times. The processor uses the first global positioning information to unify the points in the lidar point cloud to the same time. In step S312, the points in the lidar point cloud are points in the robot coordinate system, and the processor uses methods such as translation and rotation to convert the lidar data to the global coordinate system as the second global positioning information.
[0049] In step S313, the processor determines the initial positioning information according to the first global positioning information and the second global positioning information. In step S313, the processor determines the propagation error amount and the corresponding covariance matrix according to the first global positioning information. In step S313, the processor projects the lidar points in the lidar data to the global coordinate system according to the second global positioning information, and determines a plane formed by the n points closest to the lidar points in the prior 3D map. In step S313, the processor calculates the distance formed by each lidar point and the plane it determines as the residual.
[0050] In some specific embodiments, in step S313, the processor uses an iterative algorithm to perform multiple iterations on the first global positioning information and the second global positioning information according to the covariance matrix and the residuals, to obtain the final initial positioning information. Optionally, the iterative algorithm is an iterative extended Kalman filtering algorithm.
[0051] Figure 4 For Figure 2 the flowchart of step S1032 included in step S103 of Figure 4 As
[0052] shown, step S1032 includes step S321 - step S322.
[0053] In step S321, the processor registers the initial positioning information and the prior 3D map to obtain temporary correction parameters. In some specific embodiments, the processor uses point cloud matching technology to register the lidar data corresponding to the initial positioning information and the prior 3D map, and obtains temporary transitional correction parameters after registration. Optionally, in step S321, the point cloud matching technology adopted is the ICP registration method.
[0054] Figure 5 For Figure 1 the flowchart of step S104 of method 1000 in Figure 5 shown, step S104 includes step S1041 - step S1042.
[0055] In step S1041, the processor obtains the satellite position coordinates according to the satellite positioning data. In some specific embodiments, in step S1041, the processor first determines the conversion relationship between the satellite positioning coordinate system and the global coordinate system of the prior 3D map, and then converts the satellite positioning data into satellite position coordinates according to the conversion relationship. Optionally, the satellite positioning data is the longitude and latitude of the device obtained based on GPS.
[0056] In step S1042, the processor determines the target positioning information based on the satellite position coordinates and the transition positioning information. In some specific embodiments, in step S1042, the processor determines the transition position coordinates according to the transition positioning information, and then determines whether the transition positioning information is reliable based on the difference between the transition position coordinates and the satellite position coordinates. In some specific embodiments, if the difference between the satellite position coordinates and the transition position coordinates is large, it indicates that the transition positioning information obtained from the inertial sensing data and the lidar data is inaccurate at this time. In step S1042, the processor adjusts the angles for acquiring the inertial sensing data and the lidar data, and re-determines the target positioning information.
[0057] Figure 6 For Figure 5 the flowchart of step S1041 included in step S104 as shown in Figure 6 shown, step S1041 includes step S411 - step S412.
[0058] In step S411, the processor calibrates the satellite positioning data to determine the conversion relationship between the satellite positioning coordinate system and the global coordinate system. In some specific embodiments, in step S411, the processor selects a set of reference points as the calibration point set, and obtains the coordinates (X i , Y i , Z i ) i = 1, 2,..., n of the points in the calibration point set in the global coordinate system and the satellite positioning coordinates (lat i , lon i , alt i ) i = 1, 2,..., n.
[0059] In some specific embodiments, in step S411, the processor uses the following conversion relationship to convert the longitude and latitude coordinate system to the Earth-centered Earth-fixed coordinate system:
[0060]
[0061] In step S411, according to the coordinates of the calibration points in the Earth-centered Earth-fixed rectangular coordinate system and the coordinates (X i , Y i , Z i ) i = 1, 2,..., n in the global coordinate system of the prior three-dimensional map, through point cloud matching, the processor determines the conversion relationship between the two coordinate systems, where the conversion relationship includes rotation parameters and translation parameters.
[0062] In step S412, the processor converts the satellite positioning data into satellite position coordinates according to the conversion relationship. In some specific embodiments, in step S412, the processor uses the conversion relationship obtained in step S411 to convert the satellite positioning data (lat, lon, alt) into coordinates (X ecef , Y ecef , Z ecef ) in the Earth-Centered Earth-Fixed coordinate system. In some specific embodiments, in step S412, the processor uses the rotation parameters and translation parameters to convert the coordinates in the Earth-Centered Earth-Fixed coordinate system into coordinates (X, Y, Z) in the global coordinate system of the prior three-dimensional map.
[0063] Figure 7 is Figure 5 a schematic flowchart of step S1042 included in step S104 of Figure 7 . As Figure 7 shown, step S1042 includes steps S421 - S422.
[0064] In some specific embodiments, the initial positioning information includes the initial position coordinates and the initial pose, and the transition positioning information includes the transition position coordinates and the transition pose. Among them, the initial position coordinates and the transition position coordinates are the coordinate points of the device, that is, the position coordinates in the map, and the initial pose and the transition pose are the pose information of the device, and the pose information may include the orientation of the device.
[0065] In step S421, when the distance between the satellite position coordinates and the transition position coordinates is greater than the coordinate difference threshold, the processor controls the inertial sensing device and the lidar device to rotate according to the angles in the calibration angle set to obtain the inertial sensing set and the lidar set.
[0066] In some specific embodiments, in step S421, the transition position coordinates are (X, Y, Z), and the satellite position coordinates are (X’, Y’, Z’), and the processor determines whether the distance between the satellite position coordinates and the transition position coordinates is greater than the coordinate difference threshold. In some specific embodiments, in step S421, if the error between the transition position coordinates and the satellite position coordinates is greater than the coordinate difference threshold, it indicates that the obtained transition position coordinates are inaccurate at this time, that is, the positioning information obtained based on the inertial sensing data and the lidar data is inaccurate, and positioning loss occurs.
[0067] In some specific embodiments, in step S421, when positioning loss occurs, the processor controls the inertial sensing device and the lidar device according to the angles in the calibration angle set. In some specific embodiments, in step S421, the angles in the calibration angle set are the angles obtained by equally dividing a circle (i.e., 360°) into several parts, and the processor controls the inertial sensing device and the lidar device to rotate and obtains the inertial sensing set and the lidar set.
[0068] In step S422, the processor determines the target positioning information based on the satellite position coordinates, the inertial sensing set, and the lidar set. In some specific embodiments, in step S422, the processor obtains a set of device positioning information based on the inertial sensing data and the lidar data in the inertial sensing set and the lidar set, and each device positioning information includes position coordinates and attitude. In step S422, the processor uses the device positioning information with the highest matching degree between the position coordinates in the set of device positioning information and the satellite position coordinates as the target positioning information.
[0069] Figure 8 FIG. is a schematic structural diagram of the device positioning device 2000 of the present application. As Figure 8 shown, the device 2000 includes a mapping module 201, a sensing data receiving module 202, a transition positioning module 203, and a target positioning module 204.
[0070] In some specific embodiments, the mapping module 201 reads the prior three-dimensional map of the environment where the device is located. When the mapping module 201 reads the prior three-dimensional map, it determines the coordinates of the objects in the surrounding environment and generates a map. In some specific embodiments, the mapping module 201 reads the prior three-dimensional map through the FAST-LIO2 algorithm and constructs an ikd-Tree. Among them, the FAST-LIO2 algorithm is a lidar-based navigation algorithm that can realize the mapping process of the environment, and the ikd-Tree is a data structure in the FAST-LIO2 algorithm that can represent a three-dimensional map. Optionally, the prior three-dimensional map is obtained by the traditional three-dimensional lidar SLAM method. Optionally, the prior three-dimensional map is obtained by other mapping methods. Optionally, the mapping module 201 is an electronic component with data operation capabilities and capable of executing algorithms, such as a microprocessor.
[0071] In some specific embodiments, the sensing data receiving module 202 obtains inertial sensing data, lidar data, and satellite positioning data. Optionally, the sensing data receiving module 202 is a transceiver with data receiving capabilities.
[0072] In some specific embodiments, the inertial sensing device generates inertial sensing data, and the sensing data receiving module 202 receives the inertial sensing data sent by the inertial sensing device. Optionally, the inertial sensing device is an IMU (Inertial Measurement Unit), and the inertial sensing data includes the angular velocity and acceleration of the device.
[0073] In some specific embodiments, the lidar device generates lidar data, and the sensing data receiving module 202 receives the lidar data sent by the lidar device. Optionally, the lidar device is a 3D lidar. In some specific embodiments, the satellite positioning device obtains satellite positioning data, and the sensing data receiving module 202 receives the satellite positioning data sent by the satellite positioning device. Optionally, the satellite positioning device is a GPS (Global Positioning System) device, and the satellite positioning data is the longitude and latitude of the device obtained based on GPS.
[0074] In some specific embodiments, the transitional positioning module 203 obtains transitional positioning information based on inertial sensing data, lidar data, and a prior 3D map. Optionally, the transitional positioning module 203 is an electronic component with data computing capabilities, such as a processor or a microprocessor.
[0075] In some specific embodiments, the transitional positioning module 203 generates initial positioning information based on inertial sensing data and lidar data. In some specific embodiments, the inertial sensing data includes angular velocity and acceleration data in three directions. The transitional positioning module 203 performs an integration operation on the inertial sensing data to obtain the first global positioning information, which is the first rough positioning information of the device in the global coordinate system and is used for subsequent calculations.
[0076] In some specific embodiments, the lidar data uses the robot coordinate system. The transitional positioning module 203 unifies the points of the lidar in the acquired lidar data to the same timestamp based on the first global positioning information, and projects the lidar data onto the global coordinate system to obtain the second global positioning information, which is the second rough positioning information of the device in the global coordinate system. In some specific embodiments, the transitional positioning module 203 iterates based on the first global positioning information and the second global positioning information. When the second global positioning information meets the iteration termination condition, the iteration stops, and the second global positioning information at this time is used as the initial positioning information.
[0077] In some specific embodiments, the transitional positioning module 203 obtains transitional positioning information based on the initial positioning information and the prior 3D map. In some specific embodiments, the transitional positioning module 203 performs registration on the lidar data corresponding to the initial positioning information and the prior 3D map to obtain temporary calibration parameters. Optionally, the transitional positioning module 203 performs registration on the lidar data and the prior 3D map using point cloud registration technology. Optionally, the point cloud registration technology adopted by the transitional positioning module 203 is the ICP (Iterative Closest Point) registration method.
[0078] In some specific embodiments, the transition positioning module 203 corrects the initial positioning information by using the temporary correction parameters to generate the transition positioning information. Optionally, the temporary correction parameters are the conversion relationship between the position information in the global coordinate system before correction and the position information in the global coordinate system after correction. In some specific embodiments, the transition positioning module 203 obtains the corrected positioning information by using the temporary correction parameters and the initial positioning information as the transition positioning information.
[0079] In some specific embodiments, the target positioning module 204 determines the target positioning information of the device according to the satellite positioning data and the transition positioning information. Optionally, the target positioning module 204 is an electronic component with data operation ability and data transmission ability, such as a processor or a microprocessor.
[0080] In some specific embodiments, the target positioning module 204 determines the satellite position coordinates according to the satellite positioning data. In some specific embodiments, the target positioning module 204 calibrates the satellite positioning data to obtain the conversion relationship between the satellite positioning coordinate system and the global coordinate system. In some specific embodiments, the satellite positioning data includes the longitude and latitude information of the device, and the satellite positioning coordinate system is the longitude and latitude coordinate system.
[0081] In some specific embodiments, the target positioning module 204 determines the target positioning information according to the satellite position coordinates and the transition positioning information. In some specific embodiments, the initial positioning information includes the initial position coordinates and the initial pose, and the transition positioning information includes the transition position coordinates and the transition pose. Among them, the initial position coordinates and the transition position coordinates are the coordinate points of the device, that is, the position coordinates in the map, and the initial pose and the transition pose are the attitude information of the device, and the attitude information may include the orientation of the device.
[0082] In some specific embodiments, the target positioning module 204 judges the distance between the transition position coordinates and the satellite position coordinates determined according to the satellite positioning data, and this distance represents the error between the transition position coordinates and the satellite position coordinates.
[0083] In some specific embodiments, when positioning loss occurs, the target positioning module 204 controls the inertial sensing device and the lidar device according to the angles in the calibration angle set. The target positioning module 204 obtains a set of device positioning information according to the inertial sensing data and the lidar data in the inertial sensing set and the lidar set, and each device positioning information includes position coordinates and attitude. In some specific embodiments, the target positioning module 204 uses the device positioning information with the highest matching degree between the position coordinates and the satellite position coordinates in the set of device positioning information as the target positioning information.
[0084] Figure 9 This is a schematic structural diagram of the inspection robot 3000 of the present application. As Figure 9As shown, the robot 3000 includes a device positioning device 401.
[0085] In some specific embodiments, as Figure 9 shown, the robot 3000 completes the positioning of the device through the device positioning device 301, obtains the positioning information, and realizes robot navigation according to the positioning information.
[0086] According to the implementation manner as Figure 9 shown, the robot proposed in this application can realize repositioning through satellite positioning data in the case of positioning loss, deviation, etc. caused by scene changes or other reasons in traditional laser SLAM positioning, ensuring the stable and reliable operation of robot navigation and related inspection services.
[0087] Figure 10 This is a schematic structural diagram of the inspection robot 4000 of this application. As Figure 10 shown, the robot 4000 includes a device positioning device 401, an inertial sensing device 402, a lidar device 403, and a satellite positioning device 404.
[0088] As Figure 10 shown, in the robot 4000, the inertial sensing device 402 generates inertial sensing data and sends the inertial sensing data to the device positioning device 401. Optionally, the inertial sensing device 402 is an IMU (Inertial Measurement Unit), and the inertial sensing data includes the angular velocity and acceleration of the device. In the robot 4000, the lidar device 403 generates lidar data and sends the lidar data to the device positioning device 401. Optionally, the lidar device is a 3D lidar.
[0089] In some specific embodiments, in the robot 4000, the satellite positioning device 404 obtains satellite positioning data and sends the satellite positioning data to the device positioning device 401. Optionally, the satellite positioning device 404 is a GPS (Global Positioning System) device, and the satellite positioning data is the longitude and latitude of the device obtained based on GPS.
[0090] In the robot 4000, the device positioning device 401 receives the inertial sensing data sent by the inertial sensing device, receives the lidar data sent by the lidar device, receives the satellite positioning data sent by the satellite positioning device, and obtains the positioning information of the device according to the above data, where the device positioning information includes the coordinates of the device in the prior three-dimensional map and the attitude of the device.
[0091] Figure 11The structural diagram of an electronic device provided for this application includes a processor and a memory. The memory stores computer instructions. When the computer instructions are executed by the processor, the processor executes the computer instructions to implement as Figure 1 the method and refinement scheme shown.
[0092] It should be understood that the above device embodiments are merely illustrative, and the devices disclosed in the present invention can also be implemented in other ways. For example, the division of the above-mentioned units / modules is only a logical function division, and there can be other division methods in actual implementation. For example, multiple units, modules or components can be combined, or can be integrated into another system, or some features can be ignored or not executed.
[0093] In addition, without special instructions, in each embodiment of the present invention, each functional unit / module can be integrated in one unit / module, or each unit / module can exist physically alone, or two or more units / modules can be integrated together. The above integrated unit / module can be implemented in the form of hardware or in the form of a software program module.
[0094] When the above integrated unit / module is implemented in the form of hardware, the hardware can be a digital circuit, an analog circuit, etc. The physical implementation of the hardware structure includes but is not limited to transistors, memristors, etc. Without special instructions, the processor or chip can be any suitable hardware processor, such as CPU, GPU, FPGA, DSP, and ASIC, etc. Without special instructions, the on-chip cache, off-chip memory, and memory can be any suitable magnetic storage medium or magneto-optical storage medium, such as resistive random access memory RRAM (Resistive Random Access Memory), dynamic random access memory DRAM (Dynamic Random Access Memory), static random access memory SRAM (Static Random-Access Memory), enhanced dynamic random access memory EDRAM (Enhanced Dynamic Random Access Memory), high-bandwidth memory HBM (High-Bandwidth Memory), hybrid memory cube HMC (Hybrid Memory Cube), etc.
[0095] If the integrated unit / module is implemented in the form of a software program module and sold or used as an independent product, it can be stored in a computer-readable memory. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a memory and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of this disclosure. The aforementioned memory includes: various media such as USB flash drives, read-only memories (ROM, Read-Only Memory), random access memories (RAM, Random Access Memory), external hard drives, magnetic disks, or optical discs that can store program codes.
[0096] Embodiments of this application also provide a non-transitory computer storage medium storing a computer program, which, when executed by multiple processors, causes the processors to execute the method and refinement solutions as Figure 1 shown.
[0097] The above has introduced the embodiments of this application in detail. Specific examples are used herein to elaborate on the principle and implementation manner of this application. The description of the above embodiments is only used to help understand the method and its core idea of this application. At the same time, any changes or deformations made by those skilled in the art based on the idea of this application, within the specific implementation manner and application scope of this application, fall within the scope of protection of this application. In summary, the content of this specification should not be construed as a limitation to this application.
Claims
1. A device positioning method, characterized in that, Comprising: Reading a prior three-dimensional map of the environment where the device is located; Obtaining inertial sensing data, lidar data, and satellite positioning data; Obtaining transitional positioning information based on the inertial sensing data, the lidar data, and the prior three-dimensional map; Determining the target positioning information of the device based on the satellite positioning data and the transitional positioning information.
2. The method according to claim 1, characterized in that, Obtaining transitional positioning information based on the inertial sensing data, the lidar data, and the prior three-dimensional map includes: Determining initial positioning information based on the inertial sensing data and the lidar data; Obtaining the transitional positioning information based on the initial positioning information and the prior three-dimensional map.
3. The method according to claim 2, characterized in that, Obtaining transitional positioning information based on the initial positioning information and the prior three-dimensional map includes: Registering the initial positioning information and the prior three-dimensional map to obtain temporary calibration parameters; Calibrating the initial positioning information according to the temporary calibration parameters to generate transitional positioning information.
4. The method according to claim 3, characterized in that, Registering the initial positioning information and the prior three-dimensional map includes: Performing registration using point cloud registration technology.
5. The method according to claim 2, characterized in that, Determining initial positioning information based on the inertial sensing data and the lidar data includes: Obtaining first global positioning information based on the inertial sensing data; Determining second global positioning information based on the first global positioning information and the lidar data; Determining the initial positioning information based on the first global positioning information and the second global positioning information.
6. The method according to claim 1, characterized in that, Determining the target positioning information of the device based on the satellite positioning data and the transitional positioning information includes: Obtaining satellite position coordinates based on the satellite positioning data; Determining the target positioning information based on the satellite position coordinates and the transitional positioning information.
7. The method according to claim 6, characterized in that, The prior three-dimensional map uses a global coordinate system. Obtaining satellite position coordinates based on satellite positioning data includes: Calibrating the satellite positioning data to determine the conversion relationship between the satellite positioning coordinate system and the global coordinate system; Converting the satellite positioning data into the satellite position coordinates according to the conversion relationship.
8. The method according to claim 6 or 7, characterized in that, The initial positioning information includes initial position coordinates and an initial pose, and the transitional positioning information includes transitional position coordinates and a transitional pose.
9. The method according to claim 8, characterized in that, Determining the target positioning information based on the satellite position coordinates and the transitional positioning information includes: When the distance between the satellite position coordinates and the transitional position coordinates is greater than a coordinate difference threshold, controlling the inertial sensing device and the lidar device to rotate according to the angles in the calibration angle set to obtain an inertial sensing set and a lidar set; Determining the target positioning information based on the satellite position coordinates, the inertial sensing set, and the lidar set.
10. A device positioning device, characterized in that, Comprising: A mapping module for reading a prior three-dimensional map of the environment where the device is located; A sensing data receiving module for obtaining inertial sensing data, lidar data, and satellite positioning data; A transitional positioning module for obtaining transitional positioning information based on the inertial sensing data, the lidar data, and the prior three-dimensional map; A target positioning module for determining the target positioning information of the device based on the satellite position data and the transitional positioning information.
11. A patrol robot, characterized in that, Comprising the device positioning device as described in claim 10.
12. The patrol robot according to claim 11, characterized in that, Further comprising: An inertial sensing device for generating inertial sensing data and sending the inertial sensing data to the device positioning device; A lidar device for generating lidar data and sending the lidar data to the device positioning device; A satellite positioning device for acquiring satellite positioning data and sending the satellite positioning data to the device positioning device.
13. An electronic device, characterized in that, Comprising: A processor; A memory storing a computer program which, when executed by the processor, causes the processor to execute the method as described in any one of claims 1-9.
14. A non-transitory computer-readable storage medium, characterized in that, Stored thereon are computer-readable instructions which, when executed by the processor, cause the processor to execute the method as described in any one of claims 1-9.