High-altitude robot, positioning method, device and medium
By using LiDAR and sensor data fusion on high-altitude robots and selecting the point cloud data with the most features for localization, the problem of insufficient positioning accuracy of high-altitude robots in complex environments is solved, achieving high-precision and low-cost positioning results.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-01
- Publication Date
- 2026-03-24
AI Technical Summary
Existing technologies are insufficient for high-precision positioning of high-altitude robots in outdoor long-distance positioning, especially in environments with strong light and dust, and the equipment costs are high.
Multiple frames of point cloud data are acquired using LiDAR. The target frame point cloud data is filtered by the number of features. Combined with data from GPS sensors and inertial measurement units, the LiDAR angle is adjusted to obtain the point cloud data with the most features. The point cloud data and sensor data are fused for positioning.
It improves the positioning accuracy and precision of high-altitude robots in complex environments and reduces equipment costs.
Smart Images

Figure CN115808691B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of this application relate to, but are not limited to, the field of automation control, and particularly to high-altitude robots, positioning methods, devices, and media. Background Technology
[0002] For long-distance outdoor positioning of high-altitude robots, laser trackers or motion capture cameras can be used, or laser generators and image processing methods can be employed to obtain the position and attitude of the long-distance system. However, using laser trackers or motion capture cameras suffers from poor stability in outdoor environments with strong light and dust interference, and the equipment is expensive. Visual positioning systems using laser targets require additional laser emission stations, and single-line lasers are easily affected by environmental dust, leading to poor positioning results. Furthermore, the accuracy of these methods is insufficient for high-precision positioning requirements.
[0003] Furthermore, high-altitude robots can use GPS sensors, barometers, and inertial measurement units for positioning. By integrating the data from the inertial measurement unit, the system's position can be obtained in a short period of time. The GPS sensor provides the global position in the geocentric coordinate system, while the barometer provides high-precision altitude information. Using these information fusions, the system's position in an open environment can be obtained, but the accuracy of this method still cannot meet the requirements for high-precision positioning. Summary of the Invention
[0004] The following is an overview of the subject matter described in detail herein. This overview is not intended to limit the scope of the claims.
[0005] This application provides embodiments of a high-altitude robot, a positioning method, an equipment, and a medium.
[0006] An embodiment of the first aspect of this application provides a positioning method for a high-altitude robot, wherein the high-altitude robot is equipped with a lidar and a driver, the driver driving the lidar to move; the positioning method includes:
[0007] The laser radar acquires multiple frames of first point cloud data of the environment, which are point cloud data formed by the laser radar scanning the environment at different ground angles while the high-altitude robot is stationary.
[0008] Based on the number of features of the first point cloud data, the target frame point cloud data is determined from multiple frames of the first point cloud data, and the first coordinate value of the positioning point of the target frame point cloud data is obtained.
[0009] The movement of the lidar is controlled according to the first coordinate value of the positioning point, so that the optical center axis of the lidar points to the positioning point, and the second point cloud data is acquired through the lidar.
[0010] Based on the second point cloud data, the predicted pose information of the high-altitude robot is corrected to obtain the target position information.
[0011] In certain embodiments of the first aspect of this application, determining target frame point cloud data from multiple frames of first point cloud data based on the number of features of the first point cloud data includes:
[0012] Count the number of features in the first point cloud data of each frame;
[0013] The first point cloud data with the most features is selected from multiple frames of the first point cloud data as the target frame point cloud data.
[0014] In certain embodiments of the first aspect of this application, controlling the movement of the lidar based on a first coordinate value of the positioning point, so that the optical central axis of the lidar points to the positioning point, includes:
[0015] Obtain the odometer information of the lidar in the first coordinate system;
[0016] The current coordinate system corresponding to the lidar is obtained based on the odometer information;
[0017] The second coordinate value of the positioning point in the current coordinate system is obtained based on the first coordinate value of the positioning point in the first coordinate system.
[0018] The movement of the lidar is controlled according to the second coordinate value of the positioning point, so that the optical center axis of the lidar points to the positioning point.
[0019] In certain embodiments of the first aspect of this application, controlling the movement of the lidar based on the second coordinate value of the positioning point, so that the optical central axis of the lidar points to the positioning point, includes:
[0020] The fourth coordinate value of the lidar in the current coordinate system is obtained based on the third coordinate value of the lidar in the first coordinate system.
[0021] The rotation angle of the lidar is obtained based on the second coordinate value of the positioning point and the fourth coordinate value of the lidar.
[0022] The driver is controlled according to the rotation angle to drive the lidar to move, so that the optical center axis of the lidar points to the positioning point.
[0023] In certain embodiments of the first aspect of this application, controlling the driver to drive the lidar to move according to the rotation angle includes:
[0024] When the rotation angle is less than a preset angle threshold, the current angle of the lidar is maintained;
[0025] When the rotation angle is greater than or equal to a preset angle threshold, the driver is controlled to drive the lidar to move according to the rotation angle.
[0026] In certain embodiments of the first aspect of this application, the step of correcting the predicted pose information of the high-altitude robot based on the second point cloud data to obtain target position information includes:
[0027] Acquire acceleration and angular velocity data of the high-altitude robot, and obtain the predicted pose information of the high-altitude robot based on the acceleration and angular velocity data;
[0028] The valid points and the valid planes corresponding to the valid points are determined based on the second point cloud data;
[0029] Obtain the first distance value between the effective point and the effective plane, and the second distance value between the GPS sensor and the inertial measurement unit;
[0030] The predicted pose information is corrected based on the first distance value and the second distance value to obtain the target position information.
[0031] In certain embodiments of the first aspect of this application, determining valid points and valid planes corresponding to the valid points based on the second point cloud data includes:
[0032] Perform distortion removal operation on the second point cloud data to obtain compensated point cloud data;
[0033] The compensated point cloud data is transformed to obtain the point cloud coordinates under the current coordinate values;
[0034] Based on the point cloud coordinates, determine a plurality of first points that are closest to the current point in the compensation point cloud data from the compensation point cloud data;
[0035] A first plane is obtained by fitting multiple first points;
[0036] When the distance between the current point and the first plane is less than a preset distance threshold, the current point is determined as a valid point, and the first plane is determined as a valid plane.
[0037] According to a second aspect of this application, a high-altitude robot is provided, the high-altitude robot being equipped with a GPS sensor, an inertial measurement unit, a lidar, and a driver for driving the lidar to move, the high-altitude robot being positioned according to the positioning method described above.
[0038] According to a third aspect of this application, an electronic device includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the positioning method for a high-altitude robot as described above.
[0039] According to a fourth aspect of this application, a computer-readable storage medium stores computer-executable instructions for performing the positioning method of the high-altitude robot as described above.
[0040] The above scheme has at least the following beneficial effects: First, it finds the point cloud data with the most features in the environment. Then, during the movement of the high-altitude robot, it adjusts the angle of the lidar so that the lidar can always acquire the point cloud data with the most features in the environment. Combining the point cloud data, the GPS data obtained by the GPS sensor, and the pose data obtained by the inertial measurement unit, it can determine the current position information of the high-altitude robot and improve the positioning accuracy of the high-altitude robot. Attached Figure Description
[0041] The accompanying drawings are used to provide a further understanding of the technical solutions of this application and constitute a part of the specification. They are used together with the embodiments of this application to explain the technical solutions of this application and do not constitute a limitation on the technical solutions of this application.
[0042] Figure 1 This is a schematic diagram of the positioning of a high-altitude robot provided in an embodiment of this application;
[0043] Figure 2 This is a flowchart illustrating the steps of a high-altitude robot positioning method provided in an embodiment of this application;
[0044] Figure 3 This is a sub-step diagram of step S200;
[0045] Figure 4 This is a sub-step diagram of step S300;
[0046] Figure 5 This is a sub-step diagram of step S340;
[0047] Figure 6 This is a sub-step diagram of step S400;
[0048] Figure 7 This is a sub-step diagram of step S420. Detailed Implementation
[0049] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0050] It should be noted that although functional modules are divided in the device schematic diagram and a logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than the module division in the device or the order in the flowchart. The terms "first," "second," etc., in the specification, claims, or the aforementioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.
[0051] The embodiments of this application will be further described below with reference to the accompanying drawings.
[0052] An embodiment of this application provides a high-altitude robot.
[0053] Reference Figure 1 The aerial robot includes a basket and a motion mechanism, which drives the basket to move vertically. Of course, in other embodiments, the motion mechanism can be used to drive the basket to move horizontally.
[0054] The aerial robot is equipped with GPS sensors, an inertial measurement unit, a lidar, and a actuator to drive the lidar's movement. The lidar is mounted at the bottom of the basket, allowing it to acquire more comprehensive point cloud data of the environment. The lidar detects targets within its field of view by emitting numerous laser beams and returns information about the objects illuminated by the laser beams. Based on the numerous laser point positions and reflection intensities obtained from the scan, point cloud data is generated.
[0055] Specifically, the lidar can be a Livox lidar, a non-repeating scanning lidar with a 70° field of view, capable of acquiring point clouds within the field of view, with a minimum detection range of 0.05m and a maximum detection range of up to 260m, meeting the requirements for high-altitude operations in mid-to-high-rise buildings. The GPS sensor's position relative to the Earth-centered coordinate system operates at a frequency of 1Hz. The inertial measurement unit is a 6-axis sensor that acquires the angular velocity and acceleration data of the high-altitude robot at a frequency of 250Hz.
[0056] The high-altitude robot is positioned using the following positioning method.
[0057] Reference Figure 2 The positioning method for high-altitude robots includes, but is not limited to, the following steps:
[0058] Step S100: Acquire multi-frame first point cloud data of the environment through lidar. The multi-frame first point cloud data of the environment is the point cloud data formed by lidar scanning the environment at different ground angles when the high-altitude robot is stationary.
[0059] Step S200: Determine the target frame point cloud data from multiple frames of first point cloud data based on the number of features of the first point cloud data, and obtain the first coordinate value of the positioning point of the target frame point cloud data.
[0060] Step S300: Control the movement of the lidar according to the first coordinate value of the positioning point, so that the optical center axis of the lidar points to the positioning point, and acquire the second point cloud data through the lidar.
[0061] Step S400: Correct the predicted pose information of the high-altitude robot based on the second point cloud data to obtain the target position information.
[0062] In this embodiment, the point cloud data with the most features in the environment is first searched. Then, during the movement of the high-altitude robot, the angle of the lidar is adjusted so that the lidar can always acquire the point cloud data with the most features in the environment. Combining the point cloud data, the GPS data obtained by the GPS sensor, and the pose data obtained by the inertial measurement unit, the current position information of the high-altitude robot can be determined, thereby improving the positioning accuracy of the high-altitude robot.
[0063] For step S100, since the overall environment around the high-altitude robot is uncertain, if the position of the lidar is fixed, it may not be possible to obtain enough structural features from the lidar's field of view for laser positioning.
[0064] The lidar is driven by a driver to move around its y-axis, allowing it to scan the environment at different ground-facing angles while the high-altitude robot remains stationary, generating multiple frames of initial point cloud data. Generally, due to the abundance of ground features, multiple frames of initial point cloud data are generated. Specifically, the driver is a rotary motor that drives the lidar, gradually rotating its ground-facing angle from 90 degrees to 0 degrees. During this process, the lidar accumulates data for every 100ms and records it as one frame of point cloud data.
[0065] It should be noted that the coordinate system corresponding to the lidar's optical central axis being perpendicular to the environment, i.e., when the lidar's angle with the ground is 90 degrees, is defined as the first coordinate system. When the rotary motor drives the lidar to rotate, the lidar's optical central axis shifts, and the coordinate system of the rotated lidar changes. Since the rotation axis of the rotary motor is coaxial with the y-axis of the lidar's first coordinate system, the transformation from the rotated lidar's coordinate system to the lidar's first coordinate system can be directly calculated using the rotation angle fed back by the rotary motor.
[0066] Reference Figure 3 For step S200, the target frame point cloud data is determined from multiple frames of first point cloud data based on the number of features of the first point cloud data, including but not limited to the following steps:
[0067] Step S210: Count the number of features in the first point cloud data of each frame;
[0068] Step S220: Select the first point cloud data with the most features from the multiple frames of first point cloud data as the target frame point cloud data.
[0069] For step S210, feature extraction is performed on the first point cloud data of each frame to obtain the features of the first point cloud data of each frame, and then the number of features of the first point cloud data of each frame is counted.
[0070] For step S220, the first point cloud data is sorted from most to least number of features. The first point cloud data ranked first is the first point cloud data with the most features, and the first point cloud data with the most features is selected as the target frame point cloud data.
[0071] The positioning point of the target frame point cloud data is calculated. In this embodiment, the positioning point is the centroid of the target frame point cloud data. The coordinates of the positioning point of the target frame point cloud data in the coordinate system of the rotated lidar are obtained. According to the transformation from the coordinate system of the rotated lidar to the first coordinate system of the lidar, the coordinates of the positioning point of the target frame point cloud data in the first coordinate system of the lidar can be obtained, that is, the first coordinate value.
[0072] Step S300 is executed after the high-altitude robot begins to move. If the lidar remains stationary after the robot moves, the point cloud data obtained by the lidar will be different. By controlling the movement of the lidar so that its optical central axis points to the positioning point, the lidar can always acquire the point cloud data with the most features, which helps to improve the positioning accuracy of the high-altitude robot.
[0073] Reference Figure 4 The movement of the lidar is controlled based on the first coordinate value of the positioning point, so that the optical central axis of the lidar points to the positioning point, including but not limited to the following steps:
[0074] Step S310: Obtain the odometer information of the lidar in the first coordinate system;
[0075] Step S320: Obtain the current coordinate system corresponding to the lidar based on the odometer information;
[0076] Step S330: Obtain the second coordinate value of the positioning point in the current coordinate system based on the first coordinate value of the positioning point in the first coordinate system;
[0077] Step S340: Control the movement of the lidar according to the second coordinate value of the positioning point, so that the optical center axis of the lidar points to the positioning point.
[0078] For step S310, SLAM stands for Simultaneous Localization and Mapping. When a robot moves in an unknown environment, it locates itself based on sensor measurement data and the environment during movement, and builds an incremental map based on its own position. SLAM technology using LiDAR can acquire the LiDAR's odometry information in the first coordinate system. Alternatively, the odometry information of the LiDAR in the first coordinate system can also be obtained directly from the odometry sensor.
[0079] For step S320, the first coordinate system of the lidar is transformed according to the odometer information to obtain the current coordinate system of the lidar. For example, if the odometer information indicates that the lidar has moved 1m upward in the vertical direction, and the vector corresponding to the odometer information in the first coordinate system of the lidar is (-1,0,0), then the first coordinate system of the lidar is moved according to the vector (-1,0,0) to obtain the current coordinate system of the lidar.
[0080] For step S330, the first coordinate value of the positioning point in the first coordinate system is transformed to obtain the second coordinate value of the positioning point in the current coordinate system.
[0081] Reference Figure 5 For step S340, the movement of the lidar is controlled according to the second coordinate value of the positioning point, so that the optical center axis of the lidar points to the positioning point, including but not limited to the following steps:
[0082] Step S341: Obtain the fourth coordinate value of the lidar in the current coordinate system based on the third coordinate value of the lidar in the first coordinate system;
[0083] Step S342: Based on the second coordinate value of the positioning point and the fourth coordinate value of the lidar, obtain the rotation angle of the lidar.
[0084] Step S343: Drive the laser radar to move according to the rotation angle control driver so that the optical center axis of the laser radar points to the positioning point.
[0085] The rotation angle of the driver is calculated using a PID algorithm based on the second coordinate value of the positioning point. The driver controls the movement of the lidar so that the optical center axis of the lidar points to the positioning point. This ensures that the lidar can always acquire point cloud data with the most features, which helps improve the positioning accuracy of the high-altitude robot.
[0086] Furthermore, to prevent the rotary motor from starting to rotate due to a small field-of-view shift, which could cause vibration in the overall positioning system, the rotation angle needs to be limited. The driver controls the movement of the LiDAR based on the rotation angle, including but not limited to the following steps: when the rotation angle is less than a preset angle threshold, maintain the current angle of the LiDAR; when the rotation angle is greater than or equal to the preset angle threshold, drive the LiDAR to move according to the rotation angle control driver. Specifically, the preset angle threshold can be obtained based on historical experience; in this embodiment, the preset angle threshold is set to 15 degrees. It is understood that when the rotation angle is small, i.e., less than the preset angle threshold, even if the LiDAR does not rotate, maintaining its current stationary angle ensures that most features remain within the LiDAR's field of view, avoiding vibration caused by frequent small rotations.
[0087] Among them, the PID algorithm is a closed-loop control algorithm. The PID control algorithm is a control algorithm that combines proportional, integral and derivative elements into one. By combining these three algorithms, the deviation of the rotating motor can be effectively corrected, thereby enabling it to reach a stable state.
[0088] Reference Figure 6 For step S400, the predicted pose information of the high-altitude robot is corrected based on the second point cloud data to obtain the target position information, including but not limited to the following steps:
[0089] Step S410: Obtain the acceleration data and angular velocity data of the high-altitude robot, and obtain the predicted pose information of the high-altitude robot based on the acceleration data and angular velocity data;
[0090] Step S420: Determine the valid points and the valid planes corresponding to the valid points based on the second point cloud data;
[0091] Step S430: Obtain the first distance value between the valid point and the valid plane, and the second distance value between the GPS sensor and the inertial measurement unit;
[0092] Step S440: Correct the predicted pose information based on the first distance value and the second distance value to obtain the target position information.
[0093] For step S410, the acceleration and angular velocity data of the high-altitude robot are measured by the Inertial Measurement Unit (IMU). The acceleration and angular velocity data are integrated to obtain the predicted pose information of the high-altitude robot. The predicted position information includes position, attitude and velocity.
[0094] Reference Figure 7For step S420, the valid points and the valid planes corresponding to the valid points are determined based on the second point cloud data, including but not limited to the following steps:
[0095] Step S421: Perform distortion removal operation on the second point cloud data to obtain compensated point cloud data;
[0096] Step S422: Perform coordinate transformation on the compensated point cloud data to obtain the point cloud coordinates under the current coordinate values;
[0097] Step S423: Based on the point cloud coordinates, determine the multiple first points closest to the current point in the compensation point cloud data from the compensation point cloud data;
[0098] Step S424: Fit the first plane based on multiple first points;
[0099] Step S425: When the distance between the current point and the first plane is less than a preset distance threshold, the current point is determined as a valid point and the first plane is determined as a valid plane.
[0100] In step S421, since the lidar itself is in motion during scanning, the point cloud data obtained by the lidar is distorted. The second point cloud data has a certain error compared to the actual object structure, requiring distortion removal to compensate for motion. Correction is achieved by using the state predicted by the IMU with a higher sampling frequency, thus removing the distorted point cloud and obtaining a more accurate point cloud frame, i.e., compensated point cloud data.
[0101] For step S422, the coordinate transformation of the compensation point cloud data is performed to obtain the point cloud coordinates of the compensation point cloud data under the current coordinate value, that is, the coordinate value of each point in the compensation point cloud data under the current coordinate value.
[0102] For steps S423, S424, and S425, a valid point is defined as a point in the point cloud that was originally in the map. One point from the compensated point cloud data is taken as the current point. Based on the point cloud coordinates, multiple first points closest to the current point are determined from the compensated point cloud data. The number of first points can be obtained based on historical experience; for example, the number of first points can be 5. In other embodiments, the number of first points can be other values, such as 3. A first plane is obtained by fitting multiple first points. If the distance between the current point and the first plane is less than a preset distance threshold, the current point is considered to be a point originally in the map, and the current point is determined as a valid point, and the first plane is determined as a valid plane. If the distance between the current point and the first plane is greater than or equal to the preset distance threshold, the current point is not a valid point. The preset distance threshold can be obtained based on historical experience; for example, the preset distance threshold can be 5m. In other embodiments, the preset distance threshold can be other values, such as 3m. The above steps are performed for each point in the step-size point cloud data.
[0103] For step S430, the first distance value between the valid point and the valid plane and the second distance value between the GPS sensor and the inertial measurement unit are obtained, and the first and second distance values are used as observations. If there are no errors in all processes, since the valid point is a point that was originally on the map, the first distance value between the valid point and the valid plane is 0; since the GPS sensor is installed near the inertial measurement unit, the position obtained by the GPS sensor should be the same as the position obtained by SLAM, and the second distance value between the GPS sensor and the inertial measurement unit is 0. It is precisely because of the existence of errors that the first and second distance values are not 0. The first and second distance values reflect the observation errors of the inertial measurement unit, the lidar, and the GPS sensor.
[0104] For step S440, the predicted pose information, the first distance value, and the second distance value are substituted into the update equation of the iterative extended Kalman filter for iterative calculation. If the difference between the current iteration state and the previous iteration state is less than a preset iteration threshold, the result is considered to have converged. The current iteration state is then used as the pose of the aerial robot, thereby determining the target position information of the aerial robot.
[0105] Although the error of the inertial measurement unit (IMU) is small in the short term, the error increases rapidly as the integration time increases, causing the IMU's odometry to drift. By using a Kalman filter, the state obtained by the integration of the IMU can be used as a prediction, and the point cloud data from the LiDAR and the data from the GPS sensor can be used as observations. By fusing data from multiple sensors, the target position information can be determined, thereby improving the positioning accuracy of the high-altitude robot.
[0106] An embodiment of this application provides an electronic device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the positioning method for a high-altitude robot as described above.
[0107] In general, for the hardware structure of electronic devices, the processor can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, to execute relevant programs and implement the technical solutions provided in the embodiments of this application.
[0108] The memory can be implemented in the form of read-only memory (ROM), static storage device, dynamic storage device, or random access memory (RAM). The memory can store the operating system and other applications. When the technical solutions provided in the embodiments of this specification are implemented through software or firmware, the relevant program code is stored in the memory and called by the processor to execute the positioning method of the high-altitude robot in the embodiments of this application.
[0109] Input / output interfaces are used to implement information input and output.
[0110] The communication interface is used to enable communication and interaction between this device and other devices. Communication can be achieved through wired means (such as USB, Ethernet cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.).
[0111] The bus transmits information between various components of a device, such as the processor, memory, input / output interfaces, and communication interfaces. The processor, memory, input / output interfaces, and communication interfaces communicate with each other within the device via the bus.
[0112] Embodiments of this application provide a computer-readable storage medium. The computer-readable storage medium stores computer-executable instructions for performing the positioning method for a high-altitude robot as described above.
[0113] It should be understood that the method steps in the embodiments of the present invention can be implemented or carried out by computer hardware, a combination of hardware and software, or by computer instructions stored in a non-transitory computer-readable storage medium. The method can use standard programming techniques. Each program can be implemented in a high-level procedural or object-oriented programming language to communicate with the computer system. However, if necessary, the program can be implemented in assembly or machine language. In any case, the language can be a compiled or interpreted language. Furthermore, for this purpose, the program can run on a programmed application-specific integrated circuit (ASIC).
[0114] Furthermore, the procedures described herein may be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by the context. The procedures described herein (or variations and / or combinations thereof) may be executed under the control of one or more computer systems configured with executable instructions, and may be implemented by hardware or a combination thereof as code (e.g., executable instructions, one or more computer programs, or one or more applications) that commonly executes on one or more processors. The computer program comprises a plurality of instructions executable by one or more processors.
[0115] Furthermore, the method can be implemented in any suitable type of computing platform, including but not limited to personal computers, smartphones, mainframes, workstations, networked or distributed computing environments, standalone or integrated computer platforms, or in communication with charged particle tools or other imaging devices. Aspects of the invention can be implemented as machine-readable code stored on a non-transitory storage medium or device, whether removable or integrated into a computing platform, such as a hard disk, optical read and / or write storage medium, RAM, ROM, etc., such that it is readable by a programmable computer, and when the storage medium or device is read by the computer, it can be used to configure and operate the computer to perform the processes described herein. Furthermore, the machine-readable code, or portions thereof, can be transmitted via wired or wireless networks. The invention described herein includes these and other different types of non-transitory computer-readable storage media when such media comprises instructions or programs that implement the steps described above in conjunction with a microprocessor or other data processor. When programmed according to the methods and techniques described in the invention, the invention also includes the computer itself.
[0116] A computer program can be applied to input data to perform the functions described herein, thereby transforming the input data to generate output data stored in non-volatile memory. The output information can also be applied to one or more output devices, such as a display. In a preferred embodiment of the invention, the transformed data represents physical and tangible objects, including specific visual depictions of physical and tangible objects generated on the display.
[0117] Although embodiments of this application have been shown and described, those skilled in the art will understand that various changes, modifications, substitutions and variations can be made to these embodiments without departing from the principles and spirit of this application, the scope of which is defined by the claims and their equivalents.
[0118] The above is a detailed description of the preferred embodiments of this application, but this application is not limited to the embodiments. Those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of this application, and these equivalent modifications or substitutions are all included within the scope defined by the claims of this application.
Claims
1. A positioning method of a high-altitude robot, characterized by, The high-altitude robot is provided with a laser radar and a driver driving the laser radar to move; the positioning method comprises: obtaining multiple frames of first point cloud data of an environment by the laser radar, wherein the multiple frames of first point cloud data of the environment are point cloud data formed by the laser radar scanning the environment at different angles to the ground in a static state of the high-altitude robot; determining target frame point cloud data from the multiple frames of first point cloud data according to the number of features of the first point cloud data, and obtaining first coordinate values of a positioning point of the target frame point cloud data; controlling the laser radar to move according to the first coordinate values of the positioning point, so that the optical center axis of the laser radar points to the positioning point, and obtaining second point cloud data by the laser radar; correcting the predicted pose information of the high-altitude robot according to the second point cloud data to obtain target position information.
2. The positioning method of a high-altitude robot according to claim 1, wherein, The method comprises: counting the number of features of each frame of first point cloud data; selecting the first point cloud data with the largest number of features from the multiple frames of first point cloud data as the target frame point cloud data.
3. The positioning method of a high-altitude robot according to claim 1, wherein, The method comprises: obtaining odometer information of the laser radar in a first coordinate system; obtaining a current coordinate system corresponding to the laser radar according to the odometer information; obtaining second coordinate values of the positioning point in the current coordinate system according to the first coordinate values of the positioning point in the first coordinate system; controlling the laser radar to move according to the second coordinate values of the positioning point, so that the optical center axis of the laser radar points to the positioning point.
4. The positioning method of a high-altitude robot according to claim 3, wherein, The method comprises: obtaining fourth coordinate values of the laser radar in the current coordinate system according to third coordinate values of the laser radar in the first coordinate system; obtaining a rotation angle of the laser radar according to the second coordinate values of the positioning point and the fourth coordinate values of the laser radar; controlling the driver to drive the laser radar to move according to the rotation angle, so that the optical center axis of the laser radar points to the positioning point.
5. The positioning method of a high-altitude robot according to claim 4, wherein, The method comprises: when the rotation angle is less than a preset angle threshold, maintaining the current angle of the laser radar; when the rotation angle is greater than or equal to the preset angle threshold, controlling the driver to drive the laser radar to move according to the rotation angle.
6. The positioning method of a high-altitude robot according to claim 1, wherein, The method comprises: obtaining acceleration data and angular velocity data of the high-altitude robot, and obtaining predicted pose information of the high-altitude robot according to the acceleration data and the angular velocity data; determining an effective point and an effective plane corresponding to the effective point according to the second point cloud data; acquire a first distance value between the effective point and the effective plane and a second distance value between the GPS sensor and the inertial measurement unit; correct the predicted pose information according to the first distance value and the second distance value to obtain the target position information.
7. The positioning method of a high-altitude robot according to claim 6, wherein, The effective point and the effective plane corresponding to the effective point are determined according to the second point cloud data, and the method comprises: performing a de-distortion point cloud operation on the second point cloud data to obtain compensated point cloud data; performing coordinate conversion on the compensated point cloud data to obtain point cloud coordinates under a current coordinate value; determining a plurality of first points closest to the current point in the compensated point cloud data from the compensated point cloud data according to the point cloud coordinates; fitting a first plane according to the plurality of first points; when the distance between the current point and the first plane is less than a preset distance threshold, determining the current point as an effective point and determining the first plane as an effective plane.
8. An aerial robot, characterized by, The high-altitude robot is provided with a GPS sensor, an inertial measurement unit, a laser radar and a driver for driving the laser radar to move, and the high-altitude robot is positioned according to the positioning method as claimed in any one of claims 1 to 7.
9. An electronic device comprising: A memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor implements the positioning method of the high-altitude robot as claimed in any one of claims 1 to 7 when executing the computer program.
10. A computer-readable storage medium, characterized in that, A computer executable instruction is stored, and the computer executable instruction is used to execute the positioning method of the high-altitude robot as claimed in any one of claims 1 to 7.
Citation Information
Patent Citations
Light detection and ranging and IMU fusion positioning method and device and storage medium
CN110879400A
Laser SLAM method and system based on height information
CN114972668A