Safety control method and device for robot driving and storage medium

By combining point cloud data from an inertial navigation system and a scanning device, the robot can accurately determine its position relative to the ground, solving the problem of false alarms when shaken or picked up by humans, and improving the accuracy of safety detection and the reliability of normal operation.

CN116576856BActive Publication Date: 2026-01-06YOUDI ROBOT (WUXI) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310410657.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-04-14
Publication Date
2026-01-06
Estimated Expiration
2043-04-14

AI Technical Summary

Technical Problem

Robots are prone to false alarms when shaken or picked up by humans, resulting in low accuracy of safety detection and affecting normal operation.

Method used

By combining an inertial navigation system and a scanning device to obtain the robot's positional relationship with the ground, and by fusing point cloud data and inertial navigation data, the robot's driving state can be determined.

Benefits of technology

It improves the robot's accuracy in detecting environmental safety, reduces false alarms, and ensures that the robot can still work normally when shaken or picked up by humans.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116576856B_ABST
    Figure CN116576856B_ABST
Patent Text Reader

Abstract

The application is suitable for the technical field of intelligent robots, and provides a safety control method and device for robot driving and a storage medium, wherein the safety control method for robot driving is applied to a robot, the robot is provided with an inertial navigation system and a scanning device, and the safety control method for robot driving comprises the following steps: acquiring first point cloud data of a ground where the robot is located based on the scanning device, and acquiring inertial navigation data of the robot based on the inertial navigation system; determining a position relationship between the robot and the ground according to the first point cloud data and the inertial navigation data; and controlling a driving state of the robot according to the position relationship between the robot and the ground. The application solves the problem that the safety detection precision of the robot is not high, and the safety detection precision of the robot for the environment is improved by using the method of combining the point cloud data with the inertial navigation data of the robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of intelligent robot technology, and in particular relates to a safety control method, device and storage medium for robot driving. Background Technology

[0002] With the development of robotics technology, robots are becoming increasingly sophisticated and their services are becoming more intelligent. For example, in service establishments such as hotels, robots can be used to greet guests, guide them to their rooms, deliver food, and bring items to their rooms in order to save on labor costs.

[0003] To prevent falls during operation, intelligent robots can detect hazards in their surroundings, such as steps or pits. If a hazard is detected, the robot will typically issue an alarm and stop working. However, if the robot is shaken or picked up by someone, it may trigger a false alarm and stop working, which is detrimental to its normal operation. Summary of the Invention

[0004] This application provides a safety control method, device, and storage medium for robot driving, which can solve the problem of low accuracy in robot safety detection.

[0005] In a first aspect, embodiments of this application provide a safety control method for robot movement, applied to a robot equipped with an inertial navigation system and a scanning device. The method includes:

[0006] In one possible implementation of the first aspect, first point cloud data of the ground where the robot is located is acquired based on a scanning device, and inertial navigation data of the robot is acquired based on an inertial navigation system.

[0007] Based on the first point cloud data and inertial navigation data, determine the positional relationship between the robot and the ground;

[0008] The robot's movement is controlled based on its position relative to the ground.

[0009] In one possible implementation of the first aspect, the positional relationship between the robot and the ground is determined based on the first point cloud data and inertial navigation data, including:

[0010] Acquire multiple consecutive frames of first point cloud data, and determine whether the robot has detached from the ground based on the first change in height information between the multiple frames of first point cloud data.

[0011] The robot's tilt relative to the ground is determined by the change in angle parameters in the inertial navigation data.

[0012] In one possible implementation of the first aspect, controlling the robot's driving state based on the robot's positional relationship with the ground includes:

[0013] If the positional relationship meets the first preset condition, control the robot to stop moving and generate a prompt message;

[0014] If the positional relationship meets the second preset condition, the robot's driving state is controlled based on the first point cloud data;

[0015] If the positional relationship meets the third preset condition, then the second point cloud data is obtained based on the first point cloud data and the inertial navigation data, and the robot's driving state is controlled based on the second point cloud data.

[0016] In one possible implementation of the first aspect, obtaining second point cloud data based on first point cloud data and inertial navigation data includes:

[0017] Determine the altitude information in the first point cloud data;

[0018] Based on inertial navigation data, determine the second change in altitude information;

[0019] Based on the second change, update the altitude information and obtain the second point cloud data.

[0020] In one possible implementation of the first aspect, determining a second change in altitude information based on inertial navigation data includes:

[0021] Based on inertial navigation data, obtain the change in angle parameters;

[0022] Based on the change in angle parameters, and combined with trigonometric functions, the second change in height information is determined.

[0023] In one possible implementation of the first aspect, controlling the robot's driving state includes:

[0024] The first or second point cloud data is segmented to obtain multiple third point cloud data;

[0025] Multiple point cloud data points are fitted with planes to obtain multiple point cloud planes.

[0026] Calculate the distance between any point on the cloud plane and the origin of the preset central coordinate system;

[0027] Based on a preset distance threshold, determine the point cloud planes whose distance values ​​are greater than the preset distance threshold;

[0028] If the proportion of point cloud planes with distance values ​​greater than a preset distance threshold exceeds a preset ratio, the robot will be controlled to stop moving.

[0029] In one possible implementation of the first aspect, the first point cloud data or the second point cloud data is segmented to obtain multiple third point cloud data, including:

[0030] Voxel filtering is used to process the first point cloud data or the second point cloud data;

[0031] The processed first or second point cloud data is segmented according to height range to obtain multiple third point cloud data.

[0032] Secondly, embodiments of this application provide a safety control device for robot movement, comprising:

[0033] The data acquisition module acquires the first point cloud data of the ground where the robot is located based on the scanning device, and acquires the robot's inertial navigation data based on the inertial navigation system;

[0034] The position determination module is used to determine the positional relationship between the robot and the ground based on the first point cloud data and inertial navigation data;

[0035] The control module is used to control the robot's driving state based on the robot's position relative to the ground.

[0036] Thirdly, embodiments of this application provide a robot, which includes a scanning device, an inertial navigation system, a memory, a processor, and a computer program stored in the memory and executable on the processor. The scanning device is used to acquire point cloud data, the inertial navigation system is used to acquire inertial navigation data, and the processor executes the computer program to implement the safety control method for robot movement described in any of the first aspects above.

[0037] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements the safety control method for robot movement described in any one of the first aspects.

[0038] Fifthly, embodiments of this application provide a computer program product that, when run on a terminal device, causes the terminal device to execute the safety control method for robot movement described in any of the first aspects above.

[0039] It is understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant descriptions in the first aspect mentioned above, and will not be repeated here.

[0040] The beneficial effects of the embodiments in this application compared with the prior art are:

[0041] This application provides a safety control method for robot movement, applied to a robot equipped with an inertial navigation system and a scanning device. The inertial navigation system may include an odometer, an accelerometer, and a gyroscope. During the robot's environmental safety detection process, the scanning device scans the ground beneath the robot to obtain first point cloud data, and the inertial navigation system acquires inertial navigation data during the robot's movement. Based on the first point cloud data and the inertial navigation data, the robot's positional relationship with the ground is determined. The robot's movement state is controlled according to the positional relationship. Compared to schemes that only use point cloud data for environmental safety detection, this application improves the accuracy of the robot's environmental safety detection by using a method that combines point cloud data with the robot's inertial navigation data. Attached Figure Description

[0042] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0043] Figure 1 This is a flowchart illustrating a safety control method for robot movement provided in an embodiment of this application;

[0044] Figure 2 This is an application scenario diagram of a robot driving safety control method provided in an embodiment of this application;

[0045] Figure 3 This is a geometrical schematic diagram of a robot driving safety control method provided in an embodiment of this application;

[0046] Figure 4 This is a schematic diagram of the structure of a safety control device for robot movement provided in one embodiment of this application;

[0047] Figure 5 This is a schematic diagram of the structure of a robot provided in one embodiment of this application. Detailed Implementation

[0048] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.

[0049] It should be understood that, when used in this application specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or a collection thereof.

[0050] It should also be understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.

[0051] As used in this application specification and the appended claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection." Similarly, the phrase "if determined" or "if detected [the described condition or event]" may be interpreted, depending on the context, as meaning "once determined," "in response to determination," "once detected [the described condition or event]," or "in response to detection [the described condition or event]."

[0052] Furthermore, in the description of this application and the appended claims, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.

[0053] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.

[0054] To address the issue of low accuracy in safety inspections performed by robots, this application provides a safety control method, device, and storage medium for robot operation.

[0055] To minimize the risk of unexpected situations, robots perform real-time safety checks on their surroundings during operation. However, when a robot is picked up or shaken by a person, its safety checks may malfunction, causing it to trigger an alarm and cease operation.

[0056] This application provides a safety control method, device, and storage medium for robot movement. The robot movement safety control method is applied during the robot's safety detection of its surrounding environment. When the robot is working, it acquires point cloud data and inertial navigation data of the ground where the robot is located for detection. Using the acquired point cloud data and inertial navigation data, the positional relationship between the robot and the ground is determined, and the robot's movement state is controlled based on this positional relationship. This application improves the accuracy of robot safety detection by using a method combining point cloud data and inertial navigation data, thus solving the problem of low accuracy in robot safety detection.

[0057] Figure 1 This application provides a schematic flowchart of a safety control method for robot movement according to an embodiment of the present application. Figure 1 As shown, the safety control method for the robot's movement includes the following steps S101-S103:

[0058] In S101, the first point cloud data of the ground where the robot is located is obtained based on the scanning device, and the inertial navigation data of the robot is obtained based on the inertial navigation system.

[0059] In the above steps, one possible implementation is to use the scanning device and inertial navigation system on the robot to obtain the first point cloud data of the ground where the robot is located and the robot's inertial navigation data, respectively.

[0060] For example, the scanning device described above may be, but is not limited to: a depth camera, a lidar, a laser scanner, an optical camera, or other devices capable of acquiring point cloud data; the inertial navigation system described above may include, but is not limited to: an odometer, an accelerometer, and / or a gyroscope.

[0061] In one possible implementation, after the scanning device acquires the point cloud, it converts the point cloud to a preset central coordinate system and obtains the coordinates of the point cloud in the preset central coordinate system as the point cloud data.

[0062] For example, a depth camera is used as the scanning device for the robot. The depth camera acquires image data and converts the image data into a point cloud. Then, the point cloud is converted to a preset central coordinate system, and the coordinates of the point cloud in the preset central coordinate system are obtained as point cloud data.

[0063] In one possible implementation, the aforementioned preset central coordinate system refers to a coordinate system established with the center of the robot chassis as the origin. In this coordinate system, the z-axis is perpendicular to the ground and extends upwards. The height value of the z-axis in the preset coordinate system is used as the height information in the point cloud data, and the robot's pitch angle and / or roll angle in the preset central coordinate system are used as the angular parameter changes in the robot's inertial navigation data. The positive directions of the x-axis, y-axis, and z-axis in the aforementioned coordinate system are defined as follows: the center of the robot chassis is the origin of the coordinate system; the direction directly forward of the robot is the x-axis direction; the direction directly to the left of the robot is the y-axis direction; the x-axis, y-axis, and z-axis are mutually perpendicular; when the xy-plane is parallel to the ground, the z-axis is perpendicular to the ground and points upwards. The aforementioned roll angle refers to the angle of rotation around the x-axis in a clockwise or counterclockwise direction; the pitch angle refers to the angle of rotation around the y-axis in a clockwise or counterclockwise direction.

[0064] For example, the robot is equipped with a gyroscope. The gyroscope can acquire three angles: yaw angle, roll angle, and pitch angle. Based on the roll angle and pitch angle, the change in angle parameters is determined, and inertial navigation data is generated. Here, the yaw angle refers to the angle of deflection around the z-axis in the coordinate system in a clockwise or counterclockwise direction.

[0065] In S102, the positional relationship between the robot and the ground is determined based on the first point cloud data and the inertial navigation data.

[0066] In the above steps, one possible implementation is to determine whether the robot has left the ground based on the first change in the height information of multiple consecutive frames of the first point cloud data after acquiring the first point cloud data and the inertial navigation data.

[0067] Specifically, in one possible implementation, multiple frames of first point cloud data are acquired, and the difference between the height information in the multiple frames of first point cloud data is used as the first change in height information.

[0068] Specifically, when the first change in the aforementioned height information is greater than a preset height threshold, it is determined that the robot has left the ground;

[0069] Specifically, when the first change in the aforementioned height information is less than or equal to a preset height threshold, it is determined that the robot has not left the ground.

[0070] In one possible implementation, the robot's tilt relative to the ground is determined based on the change in angle parameters in the inertial navigation data.

[0071] Specifically, when the change in the angle parameter is greater than the preset first angle threshold, it is determined that the angle between the robot and the ground is too large, and at this time it is determined that the robot has been shaken by human.

[0072] Specifically, when the change in the angle parameter is less than or equal to the preset second angle threshold, it is determined that the robot has not tilted to the ground;

[0073] Specifically, when the change in the angle parameter is within a preset angle range, that is, less than or equal to a preset first angle threshold and greater than a preset second angle threshold, it is determined that the robot is tilted relative to the ground, but at this time it is determined that the robot has not been shaken by human.

[0074] In S103, the robot's driving state is controlled according to the robot's position relative to the ground.

[0075] In the above steps, one possible implementation is to divide the first preset condition, the second preset condition, and the third preset condition, compare the already determined positional relationship between the robot and the ground with the above three preset conditions, and control the robot's driving state.

[0076] For example, when the above positional relationship meets the first preset condition, it is determined that the robot is in a state of being picked up or shaken. The first preset condition is, for example, when the preset height threshold in S102 is 20 cm, when the first change in height information is greater than 20 cm, it can be determined that the robot is being picked up manually; or, when the preset first angle threshold in S102 is 45 degrees, when the change in angle parameter is greater than 45 degrees, it can be determined that the robot forms an excessive angle with respect to the ground and is being shaken manually.

[0077] For example, when the above positional relationship meets the second preset condition, it is determined that the robot is driving normally on the ground. The second preset condition is, for example, when the preset height threshold in S102 is 20 centimeters, when the first change in height information is less than or equal to 20 centimeters, it can be determined that the robot has not been picked up by a person, and the preset second angle threshold is 0 degrees. When the change in angle parameter is 0 degrees, it is determined that the robot is driving normally on the ground, the robot has no angle relative to the ground, and the robot is not tilted.

[0078] For example, when the above positional relationship meets the third preset condition, it is determined that the robot is not being picked up. However, at this time, the robot may be slightly shaking or on a slope. The third preset condition is, for example, when the preset height threshold in S102 is 20 cm, when the first change in height information is less than or equal to 20 cm, it can be determined that the robot is not being picked up manually. The preset first angle threshold is 45 degrees, and the preset second angle threshold is 0 degrees. When the change in angle parameter is 10 degrees, it is determined that the robot has not left the ground, but the robot has a certain angle relative to the ground. At this time, the robot is on a slope or bumps during operation, causing the robot to tilt, thereby generating a change in angle parameter.

[0079] In one possible implementation, when the determined positional relationship between the robot and the ground meets a first preset condition and persists for a period of time, the robot is controlled to stop moving and a prompt message is generated. This prompt message includes, but is not limited to, interface prompts or voice prompts. Monitoring continues, and when it is determined that the positional relationship between the robot and the ground no longer meets the first preset condition and persists for a period of time, the robot resumes normal operation and continues safety monitoring.

[0080] In one possible implementation, when the positional relationship meets the second or third preset condition, the robot's driving state is controlled based on the point cloud data.

[0081] Specifically, in one possible implementation, the aforementioned point cloud data includes first point cloud data and second point cloud data. When the positional relationship determined in S102 satisfies a second preset condition, the robot's driving state is controlled based on the first point cloud data; when the positional relationship determined in S102 satisfies a third preset condition, the robot's driving state is controlled based on the second point cloud data obtained from the first point cloud data and inertial navigation data.

[0082] In one possible implementation, when the positional relationship meets the third preset condition, the second point cloud data is obtained based on the first point cloud data and the inertial navigation data.

[0083] Specifically, in one possible implementation, both the first and second point cloud data contain height information. This height information is the robot's height value on the z-axis of a preset central coordinate system. Based on the change in angle parameters and combined with the height information of the first point cloud data, a second change in the robot's height information on the z-axis is obtained. Using this second change in height information as the updated height information, the second point cloud data can then be obtained.

[0084] For example, let the first point cloud data be (x, y, z). When an angle parameter change β is generated, where β is the tilt angle relative to z, and the angle parameter change is less than or equal to a preset angle threshold, the second change in the robot's height information on the z-axis can be calculated as zcosβ based on trigonometric function relationships. Then, the obtained second point cloud data is (x, y, zcosβ).

[0085] In one possible implementation, multiple point cloud planes can be obtained based on point cloud data.

[0086] Specifically, after acquiring the aforementioned point cloud data, the first or second point cloud data is divided into multiple point clouds at different heights by using a voxel filtering method combined with the height difference between the point cloud data, in order to obtain multiple third point cloud data.

[0087] Specifically, after acquiring multiple third-point cloud data sets, a plane fitting can be performed on these sets to transform them into a point cloud plane. This plane fitting is similar to line fitting, using ax + by + cz + d = 0 to represent a plane.

[0088] Specifically, after performing plane fitting and obtaining multiple point cloud planes, the distance between any point cloud plane and the origin of a preset central coordinate system can be calculated. This distance is the perpendicular distance between the origin of the preset central coordinate system and any point cloud plane. The origin of the preset central coordinate system is (0, 0, 0). Based on the obtained point cloud planes, the distance between the origin of the coordinate system and each point cloud plane can be calculated using the distance formula between a point and a plane.

[0089] In one possible implementation, point cloud planes with distance values ​​greater than a preset distance threshold are determined based on a preset distance threshold.

[0090] After obtaining the distance value between the point cloud plane and the origin of the preset central coordinate system, the number of point cloud planes whose distance value from the origin of the coordinate system is greater than the preset distance threshold can be determined based on the relationship between the distance value and the preset distance threshold.

[0091] In one possible implementation, when the proportion of point cloud planes whose distance from the origin of the coordinate system is greater than a preset distance threshold is greater than a preset ratio in the total number of point cloud planes, it can be determined that there is a staircase or a pit in front of the robot. At this time, the robot is controlled to stop moving and an alarm is issued.

[0092] For example, the preset ratio is 10%. When 10% of the point cloud planes have a distance greater than a preset distance threshold from the origin of the coordinate system, a step or pit is detected in front of the robot. If the robot continues to move, it may fall down the step or pit. At this time, the robot is controlled to stop moving and an alarm is triggered to indicate that there is a step or pit in front of the robot and it cannot continue to move.

[0093] In one possible implementation, in addition to detecting the possibility of the robot falling during its movement, this embodiment of the application can also detect obstacles in front of the robot. Point cloud planes with a distance value less than a preset distance threshold are determined based on this threshold.

[0094] After obtaining the distance value between the point cloud plane and the origin of the preset central coordinate system, the number of point cloud planes whose distance value from the origin of the coordinate system is less than the preset distance threshold can be determined based on the relationship between the distance value and the preset distance threshold.

[0095] In one possible implementation, when the proportion of point cloud planes whose distance from the origin of the coordinate system is less than a preset distance threshold is greater than a preset ratio in the total number of point cloud planes, it can be determined that there is an obstacle in front of the robot. At this time, the robot is controlled to stop moving and an alarm is issued.

[0096] For example, the preset ratio is 10%. When 10% of the point cloud planes have a distance value less than a preset distance threshold from the origin of the coordinate system, an obstacle is detected in front of the robot. If the robot continues to move, it may collide with the obstacle. At this time, the robot is controlled to stop moving and an alarm is sounded indicating that there is an obstacle in front of the robot and it cannot continue to move.

[0097] In one possible implementation, after obtaining the aforementioned multiple point cloud planes, this embodiment of the application can further compare the distance values ​​between the multiple point cloud planes and the origin of the coordinate system with a preset distance threshold to obtain multiple different differences. Based on the magnitude relationship between these differences, it can be determined that the aforementioned multiple point cloud planes were generated when multi-level steps were identified.

[0098] For example, when the robot obtains a first point cloud plane, a second point cloud plane, and a third point cloud plane based on point cloud data, the difference between the distance value of the first point cloud plane and the origin of the coordinate system and a preset distance threshold is 10; the difference between the distance value of the second point cloud plane and the origin of the coordinate system and the preset distance threshold is 20; and the difference between the distance value of the third point cloud plane and the origin of the coordinate system and the preset distance threshold is 30. Thus, it is determined that the point cloud data may be the point cloud data obtained when identifying three steps.

[0099] Based on the embodiments of this application, as described above Figure 1 The relevant description will be followed according to the subsequent events. Figure 2 The diagram illustrates an application scenario of the robot's safety control method, and provides a detailed introduction to the application scenarios of this method.

[0100] Figure 2 This is an application scenario diagram of a robot driving safety control method provided in an embodiment of this application.

[0101] In one possible implementation, such as Figure 2 As shown, Figure 2 The example robot 21 is positioned on a multi-step staircase 22, performing a safety inspection on the detection area 23. At this time, the example robot 21 is experiencing a slight sway, but this does not meet the criteria for artificial swaying.

[0102] Specifically, the example robot 21 performs a safety check and acquires first point cloud data and inertial navigation data. At this time, the first change in height information in multiple consecutive frames of first point cloud data is less than or equal to a preset height threshold, and the change in angle parameters in the inertial navigation data is within a preset angle range.

[0103] In one possible implementation, since the example robot 21 does not meet the conditions of being picked up or shaken, but has an angular parameter change within a preset range, it still performs safety checks normally. During the normal safety checks, the presence of this angular parameter change within the preset range causes the robot to tilt, resulting in a discrepancy between the actual point cloud data and the acquired first point cloud data, leading to errors. This makes it impossible to accurately detect the safety of the robot's surroundings, increasing the likelihood of the robot falling down steps or into potholes, colliding with obstacles, or creating other safety hazards. Therefore, it is necessary to fuse the angular parameter changes in the acquired first point cloud data and the inertial navigation data to obtain second point cloud data.

[0104] Specifically, based on the change in the angle parameter, the data is fused with the first point cloud data to obtain the second point cloud data. For example, the height information in the first point cloud data is obtained; based on the change in the angle parameter and trigonometric functions, a second change in the height information is calculated; the height information is updated based on the obtained second change to obtain the second point cloud data. This completes the fusion processing of the angle parameter change in the first point cloud data and the inertial navigation data to obtain the second point cloud data.

[0105] In one possible implementation, after acquiring the second point cloud data, the robot's current driving state is controlled based on the second point cloud data.

[0106] Specifically, after acquiring the second point cloud data, the robot uses a voxel filtering method combined with the height difference between the point cloud data to segment the first or second point cloud data into multiple point clouds at different heights according to the height range, thereby obtaining multiple third point cloud data. Then, it performs planar fitting on the multiple third point cloud data to obtain multiple point cloud planes. The distance values ​​between the multiple point cloud planes and the origin of the preset central coordinate system are calculated.

[0107] Specifically, after obtaining the aforementioned distance values, point cloud planes with distance values ​​greater than a preset distance threshold are identified. When the proportion of point cloud planes with distance values ​​greater than the preset distance threshold in all point cloud planes exceeds a preset ratio, it is determined that the robot may fall if it continues to move, and the robot stops moving and issues an alarm.

[0108] In one possible implementation, such as Figure 2As shown, there are three steps in front of the robot. Based on the relationship between the distance value and the preset distance threshold, multiple steps can be identified.

[0109] For example, based on the embodiments of this application described above Figure 2 The relevant description will be followed according to the subsequent events. Figure 3 The geometric diagram shown illustrates the safety control method for robot movement, and provides a detailed introduction to the safety control method for robot movement.

[0110] Figure 3 This diagram illustrates a geometrical schematic of a safety control method for robot movement provided in an embodiment of this application. The geometrical schematic is derived from the previously described embodiment of this application. Figure 2 It was extracted from the relevant description.

[0111] like Figure 3 As shown, Figure 3 It includes a preset central coordinate system 30, ground 31, first point cloud plane 32, second point cloud plane 33, third point cloud plane 34, point O, point A, point B, point C and point D. Point O is the origin of the preset central coordinate system 30. Points A, B, C and D are the horizontal intersection points of ground 31, first point cloud plane 32, second point cloud plane 33, third point cloud plane 34 and the preset central coordinate system 30 along the Z-axis.

[0112] Specifically, in the embodiments described above in this application Figure 1 and Figure 2 The preset distance threshold in the relevant description is the distance between point O and point A, that is, the distance from the origin O of the preset central coordinate system to the ground 31.

[0113] Specifically, the distance between any point cloud plane and the origin O of the preset central coordinate system is calculated. For example... Figure 3 As shown, the distance from the first point cloud plane 32 to the origin O is the distance between point O and point B; the distance from the second point cloud plane 33 to the origin O is the distance between point O and point C; and the distance from the third point cloud plane 34 to the origin O is the distance between point O and point C.

[0114] Specifically, such as Figure 3 As shown, the length of line segment OA < the length of line segment OB < the length of line segment OC < the length of line segment OD. Based on the relationship between the distance values ​​between the point cloud plane and the origin of the coordinate system and the preset distance threshold obtained above, it can be concluded that the first point cloud plane 32, the second point cloud plane 33, and the third point cloud plane 34 are all point cloud planes that are lower than the ground 31.

[0115] Figure 4 This is a schematic diagram of the structure of a safety control device for robot movement provided in an embodiment of this application, as shown below. Figure 4 As shown, the safety control device for robot movement includes a data acquisition module 401, a position determination module 402, and a control module 403, wherein:

[0116] The data acquisition module 401 is used to acquire the first point cloud data of the ground where the robot is located using a scanning device, and to acquire the robot's inertial navigation data using an inertial navigation system.

[0117] In one possible implementation, the data acquisition module 401 may include a scanning device and an inertial navigation system. The scanning device and inertial navigation system on the robot acquire first point cloud data and inertial navigation data, respectively, wherein the inertial navigation data includes changes in angle parameters.

[0118] The position determination module 402 is used to determine the positional relationship between the robot and the ground based on the first point cloud data and the inertial navigation data.

[0119] In one possible implementation, after acquiring the aforementioned first point cloud data and inertial navigation data, the positional relationship between the robot and the ground is determined based on the first change in height information between multiple frames of first point cloud data and the change in angle parameters in the inertial navigation data.

[0120] Specifically, when the change in angle parameters exceeds the preset first angle threshold, it is determined that the angle between the robot chassis and the ground is too large, and the robot is subjected to human shaking at this time.

[0121] Specifically, when the first change in the height information is less than or equal to a preset height threshold, and the change in the angle parameter is less than or equal to a preset second angle threshold, it is determined that the robot has not left the ground, the robot has not formed an angle with the ground, and the robot is not tilted.

[0122] Specifically, when the first change in the height information is less than or equal to a preset height threshold, and the change in the angle parameter is within a preset angle range, that is, less than or equal to a preset first angle threshold and greater than a preset second angle threshold, it is determined that the robot has not left the ground and has a certain angle with the ground, and the robot is tilted, but at this time the robot is not shaken by human.

[0123] In one possible implementation, when the aforementioned determined positional relationship satisfies the above... Figure 1 When the third preset condition mentioned in the relevant description of S103 is met, the change in angle parameters in the first point cloud data and the inertial navigation data is fused. That is, when the first change in altitude information is less than or equal to a preset altitude threshold, and the change in angle parameters is greater than a preset first angle threshold and less than or equal to a preset second angle threshold, the change in angle parameters in the first point cloud data and the inertial navigation data is fused to obtain the second point cloud data.

[0124] In one possible implementation, the fusion process involves obtaining a second change in the height information based on the change in the angle parameter and the first point cloud data. This second change in height information is then used as the new height information to obtain the second point cloud data.

[0125] The control module 403 is used to control the robot's driving state based on the determined positional relationship between the robot and the ground.

[0126] Specifically, in one possible implementation, if the first change in the height information obtained in the data acquisition module 401 is greater than a preset height threshold, or the change in the angle parameter is greater than a first angle threshold, then the determined positional relationship between the robot and the ground satisfies the first preset condition, the robot is controlled to stop moving, and a prompt message is generated.

[0127] Specifically, in one possible implementation, if the first change in height information acquired by the data acquisition module 401 is less than or equal to a preset height threshold, and the change in angle parameters is less than or equal to a second angle threshold, then the determined positional relationship between the robot and the ground satisfies the second preset condition. In this case, the first point cloud data and the inertial navigation data are not fused, and the second point cloud data cannot be acquired. At this point, the robot's driving state is directly controlled based on the first point cloud data.

[0128] Specifically, in one possible implementation, if the first change in height information obtained in the data acquisition module 401 is less than or equal to a preset height threshold, and the change in angle parameter is greater than a second angle threshold and less than or equal to the first angle threshold, then the determined positional relationship between the robot and the ground satisfies the third preset condition. It is necessary to fuse the first point cloud data with the inertial navigation data to obtain the second point cloud data and control the robot's driving state.

[0129] Specifically, after the data acquisition module 401 acquires the first point cloud data of the robot's environment and the robot's inertial navigation data, it hands them over to the position determination module 402 for processing. The position determination module 402 acquires the first point cloud data and the inertial navigation data, and analyzes and acquires the first change in height information in multiple frames of the first point cloud data and the change in angle parameters in the inertial navigation data. If the first change in height information is greater than a preset height threshold, or the change in angle parameter is greater than a first angle threshold, meaning the determined positional relationship between the robot and the ground meets the first preset condition, the robot stops detection and generates a prompt indicating that the robot is being picked up or shaken. If the first change in height information is less than or equal to a preset height threshold, and the change in angle parameter is less than or equal to a second angle threshold, meaning the determined positional relationship between the robot and the ground meets the second preset condition, the first point cloud data is directly handed over to the control module 403 for safety detection. If the first change in height information is less than or equal to a preset height threshold, and the change in angle parameter is greater than the second angle threshold and less than or equal to the first angle threshold, meaning the determined positional relationship between the robot and the ground meets the third preset condition, the acquired first point cloud data is fused with inertial navigation data to obtain second point cloud data, and this second point cloud data is handed over to the control module 403 for safety detection. The control module 403 is used to control the robot's driving state based on the first point cloud data or the second point cloud data.

[0130] For a detailed explanation of the module interaction process between the data acquisition module 401, the position determination module 402, and the control module 403, please refer to the foregoing embodiments of this application. Figure 1 The relevant descriptions will not be repeated here.

[0131] Figure 5 This is a schematic diagram of the structure of a robot provided in one embodiment of this application. Figure 5 As shown, the robot 5 in this embodiment includes: at least one scanning device 50, an inertial navigation system 51, and a processor 52. Figure 5 (Only one is shown) a processor, a memory 53, and a computer program 54 stored in the memory 53 and executable on the at least one processor 52, wherein the processor 52 executes the computer program 54 to implement the steps in any of the above embodiments of the safety control method for robot movement.

[0132] The robot 5 can be an intelligent robot such as a delivery robot, a sweeping robot, a navigation robot, or a detection robot. The robot 5 may include, but is not limited to, a scanning device 50, an inertial navigation system 51, a processor 52, and a memory 53. Those skilled in the art will understand that... Figure 5This is merely an example of robot 5 and does not constitute a limitation on robot 5. It may include more or fewer parts than shown in the figure, or combine certain parts, or different parts, such as input / output devices, network access devices, etc.

[0133] The scanning device 50 may be a depth camera, lidar, laser scanner, optical camera or other device capable of acquiring point cloud data.

[0134] The inertial navigation system 51 may include an odometer, an accelerometer, and / or a gyroscope.

[0135] The processor 52 may be a Central Processing Unit (CPU), or it may be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor.

[0136] In some embodiments, the memory 53 may be an internal storage unit of the robot 5, such as a hard disk or memory of the robot 5. In other embodiments, the memory 53 may be an external storage device of the robot 5, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the robot 5. Furthermore, the memory 53 may include both internal storage units and external storage devices of the robot 5. The memory 53 is used to store operating systems, applications, bootloaders, data, and other programs, such as the program code of computer programs. The memory 53 can also be used to temporarily store data that has been output or will be output.

[0137] It should be noted that the information interaction and execution process between the above-mentioned devices / units are based on the same concept as the method embodiments of this application. For details on their specific functions and technical effects, please refer to the method embodiments section, and they will not be repeated here.

[0138] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0139] This application also provides a network device, which includes: at least one processor, a memory, and a computer program stored in the memory and executable on the at least one processor, wherein the processor executes the computer program to implement the steps in any of the above method embodiments.

[0140] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps described in the various method embodiments above.

[0141] This application provides a computer program product that, when run on a mobile terminal, enables the mobile terminal to implement the steps described in the above-described method embodiments.

[0142] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments of this application can be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include at least: any entity or device capable of carrying computer program code to a photographing device / terminal device, a recording medium, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium. Examples include USB flash drives, portable hard drives, magnetic disks, or optical disks. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electrical carrier signals or telecommunication signals.

[0143] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0144] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0145] In the embodiments provided in this application, it should be understood that the disclosed apparatus / network devices and methods can be implemented in other ways. For example, the apparatus / network device embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0146] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0147] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. A safety control method for robot travel, characterized by, The application is applied to a robot, and the robot is configured with an inertial navigation system and a scanning device; The method comprises: obtaining first point cloud data of a ground where the robot is located based on the scanning device and obtaining inertial navigation data of the robot based on the inertial navigation system; determining a positional relationship between the robot and the ground according to the first point cloud data and the inertial navigation data, comprising: obtaining continuous multiple frames of first point cloud data, determining whether the robot is separated from the ground according to a first change amount of height information between the multiple frames of first point cloud data; determining whether the robot is tilted with the ground according to a change amount of an angle parameter in the inertial navigation data; controlling a driving state of the robot according to the positional relationship between the robot and the ground.

2. The method of claim 1, wherein, controlling a driving state of the robot according to the positional relationship between the robot and the ground, comprising: if the positional relationship meets a first preset condition, controlling the robot to stop driving and generating a prompt information; if the positional relationship meets a second preset condition, controlling the driving state of the robot according to the first point cloud data; if the positional relationship meets a third preset condition, obtaining second point cloud data according to the first point cloud data and the inertial navigation data, and controlling the driving state of the robot according to the second point cloud data.

3. The method of claim 2, wherein, obtaining second point cloud data according to the first point cloud data and the inertial navigation data, comprising: determining height information in the first point cloud data; determining a second change amount of the height information according to the inertial navigation data; updating the height information according to the second change amount to obtain the second point cloud data.

4. The method of claim 3, wherein, determining a second change amount of the height information according to the inertial navigation data, comprising: obtaining a change amount of an angle parameter according to the inertial navigation data; determining the second change amount of the height information according to the change amount of the angle parameter in combination with a trigonometric function.

5. The method of claim 2, wherein, controlling the driving state of the robot, comprising: segmenting the first point cloud data or the second point cloud data to obtain multiple third point cloud data; respectively performing plane fitting on the multiple third point cloud data to obtain multiple point cloud planes; calculating a distance value between any point cloud plane and an origin of a preset central coordinate system; determining a point cloud plane whose distance value is greater than a preset distance threshold according to the preset distance threshold; if a proportion of the point cloud plane whose distance value is greater than the preset distance threshold in all the point cloud planes is greater than a preset proportion, controlling the robot to stop driving.

6. The method of claim 5, wherein, segmenting the first point cloud data or the second point cloud data to obtain multiple third point cloud data, comprising: processing the first point cloud data or the second point cloud data by using a voxel filtering method; segmenting the processed first point cloud data or the second point cloud data according to height ranges to obtain multiple third point cloud data.

7. A safety control device for robot travel, characterized by comprising: a robot travel safety control device according to any one of claims 1 to 6. The device comprises: a data acquisition module, which obtains first point cloud data of a ground where the robot is located based on a scanning device and obtains inertial navigation data of the robot based on an inertial navigation system; The position determining module is configured to determine a position relationship between the robot and the ground according to the first point cloud data and the inertial navigation data, and includes: acquiring a plurality of continuous frames of first point cloud data, determining whether the robot is separated from the ground according to a first change in height information between the plurality of frames of first point cloud data; and determining whether the robot is tilted with the ground according to a change in an angle parameter in the inertial navigation data. The control module is configured to control a driving state of the robot according to the position relationship between the robot and the ground.

8. A robot comprising a scanning device, an inertial navigation system, a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that, The scanning device is configured to acquire point cloud data, the inertial navigation system is configured to acquire inertial navigation data, and the processor implements the method according to any one of claims 1 to 6 when executing the computer program.

9. A computer-readable storage medium storing a computer program, the computer program comprising instructions that, when executed by a computer, cause the computer to perform the method of any one of claims 1 to 8. The computer program is configured to implement the method according to any one of claims 1 to 6 when executed by the processor.

Citation Information

Patent Citations

  • Ground obstacle detection method based on forward tilt 2D laser radar

    CN110441791A

  • Undulation correction method and device, robot and storage medium

    CN114137990A