CN-121971006-A - Robot collision detection method and collision processing method based on laser sensing
Abstract
The application discloses a robot collision detection method and a robot collision processing method based on laser sensing, wherein the robot collision detection method further comprises the steps of controlling a collision trigger count value to be increased by one when a robot currently generates a collision trend or when the robot generates a collision trend within a preset detection time, determining whether the collision trigger count value is within a preset collision detection frequency range if the robot generates a collision trend within the preset detection time or not, determining that the robot does not generate a collision obstacle currently when the collision trigger count value is within the preset collision detection frequency range and the minimum collision distance is larger than a preset collision distance threshold, and determining that the robot currently collides the obstacle when the collision trigger count value is larger than or equal to the upper limit value of the preset collision detection frequency range and/or the minimum collision distance is smaller than or equal to the preset collision distance threshold.
Inventors
- LIANG YONGFU
- ZHOU HEWEN
- Lai Qinlong
- HUANG HUIBAO
Assignees
- 珠海一微科技股份有限公司
Dates
- Publication Date
- 20260505
- Application Date
- 20241028
Claims (11)
- 1. A robot collision detection method based on laser sensing, a robot mounting laser sensor and inertial sensor, the robot collision detection method comprising: Determining whether the robot has a collision tendency according to a difference between angular velocity information generated by a driving wheel of the robot and angular velocity information generated by an inertial sensor in the same time and a difference between acceleration information generated by the driving wheel of the robot and acceleration information generated by the inertial sensor in the same time; the robot collision detection method is characterized by further comprising the following steps: When the current collision trend of the robot is determined, or when the robot is determined to slip in the preset detection time and is not over a threshold under the condition that the collision trend of the robot occurs in the preset detection time, the collision trigger count value is controlled to be increased by one to update the collision trigger count value, and then whether the collision trigger count value is in the preset collision detection frequency range is judged; If the robot is determined to have a collision trend in the preset detection time or not, judging whether the collision trigger count value is in a preset collision detection frequency range; when the collision trigger count value is judged to be in the range of the preset collision detection times, and the minimum collision distance calculated based on the sensing data of the laser sensor is larger than the preset collision distance threshold value, determining that the robot does not collide with an obstacle at present; When judging that the collision trigger count value is larger than or equal to the upper limit value of the preset collision detection frequency range and/or the minimum collision distance calculated based on the laser sensor sensing data is smaller than or equal to a preset collision distance threshold value, determining that the robot collides with an obstacle currently; wherein the lower limit value of the preset collision detection frequency range is greater than or equal to 0.
- 2. The robot collision detection method according to claim 1, wherein in the case where it is determined that no collision tendency occurs at the current moment of the robot, there is: step A1, judging whether the robot has collision trend in the time with the current moment as the target time length of the timing end point, if so, executing the step A2, otherwise, executing the step A3, wherein the time with the current moment as the target time length of the timing end point is the preset detection time; Step A2, judging whether the robot slips within the preset detection time and is not over the threshold, if yes, executing a step A4, otherwise, executing a step A5; step A3, resetting the collision trigger count value, and judging whether the collision trigger count value is in a preset collision detection frequency range or not; Step A4, controlling the collision trigger count value to be increased by one, and updating the increased collision trigger count value into the collision trigger count value; And step A5, determining that the robot passes a threshold or does not slip in the preset detection time, and then judging whether the collision trigger count value is in a preset collision detection frequency range.
- 3. The robot collision detection method according to claim 2, wherein the method of judging whether the robot has slipped within the preset detection time without a threshold comprises: Measuring the moving distance of the robot within the preset detection time by an inertial sensor, and recording the moving distance as the inertial navigation pose moving distance; Calculating the moving distance of the robot in the preset detection time by using the laser sensor according to the point cloud points scanned by the same relative pose relation, and recording the moving distance as the moving distance of the laser pose; And calculating the absolute value of the difference between the inertial navigation pose moving distance and the laser pose moving distance, judging whether the absolute value of the difference is within a preset slip error distance range, if so, determining that the robot slips within the preset detection time and does not slip, otherwise, determining that the robot slips within the preset detection time and does not slip.
- 4. The robot collision detection method according to claim 3, wherein when the collision trigger count value is within a preset collision detection frequency range and a minimum collision distance calculated based on laser sensor sensing data is greater than a preset collision distance threshold value, the collision occurrence flag is cleared to determine that there is no obstacle currently triggering the collision behavior of the robot; when the collision trigger count value is greater than or equal to the upper limit value of the preset collision detection frequency range and/or the minimum collision distance calculated based on the sensing data of the laser sensor is less than or equal to a preset collision distance threshold value, setting a collision occurrence mark as an effective mark so as to determine that the robot collides with an obstacle at present; And when the collision trigger count value is equal to 0, keeping the collision occurrence mark unchanged.
- 5. The method according to claim 1, wherein when the number of times of continuously executing the step A4 reaches the upper limit value of the predetermined collision detection number range after the collision trigger count value is incremented by one from 0, if the minimum collision distance calculated based on the laser sensor sensing data is less than or equal to the predetermined collision distance threshold value, it is determined that the robot is currently colliding with the obstacle.
- 6. The robot collision detection method according to claim 1, wherein the method of calculating the minimum collision distance based on the laser sensor sensing data comprises: The robot controls the laser sensor to rotate at least one circle, and scans to obtain distance information and angle information of each point cloud point to form sensing data of the laser sensor, wherein each point cloud point has obstacle contour points after being converted by a coordinate system; Selecting an obstacle contour point closest to the body center of the robot as a first target collision point; setting the intersection point between the connecting line between the first target collision point and the center of the machine body and the edge of the machine body as a second target collision point; And calculating the distance between the second target collision point and the first target collision point as the minimum collision distance.
- 7. The robot collision processing method is characterized by comprising the following steps: The robot performs the robot collision detection method of any one of claims 1 to 6, determines a collision direction from the laser sensor sensing data after determining that the robot currently collides with an obstacle, and then adjusts a current traveling direction so that the robot does not collide with the obstacle in the collision direction at the time of subsequent traveling.
- 8. The robot collision processing method according to claim 7, wherein the method of determining a collision direction from the laser sensor sensing data comprises: Setting a coordinate axis along the machine head direction of the robot to construct a world coordinate system, wherein the machine head direction is the direction pointing to the machine head from the center of the machine body; the robot controls the laser sensor to rotate at least one circle, and scans to obtain distance information and angle information of each point cloud point, wherein each point cloud point comprises an obstacle contour point which is currently scanned; Performing rotation transformation and translation transformation based on the distance information and the angle information of each point cloud point, converting the point cloud into a world coordinate system, and selecting one obstacle outline point closest to the body center of the robot from the world coordinate system as a first target collision point; Calculating an included angle formed by the second target collision point relative to the machine head direction of the robot through an arc tangent function relation to obtain a collision angle of the robot in a preset clockwise direction, and recording the direction of the robot after rotating the machine head direction by the collision angle towards the preset clockwise direction as the collision direction.
- 9. The method according to claim 8, wherein after determining the collision direction, if the robot walks in the adjusted current walking direction, the robot calculates that a distance between the determined second target collision point and the first target collision point increases, and the adjusted current walking direction is away from the collision direction.
- 10. The method for collision processing of a robot according to claim 8, wherein a left side and a right side of a body center axis of the robot are divided according to a head direction of the robot, wherein the rightward deflection is more than 0 degrees with respect to the body center axis, and the leftward deflection is less than 0 degrees with respect to the body center axis; Under the condition that the collision angle is larger than or equal to 30 degrees and smaller than 90 degrees, determining that an obstacle exists in the right front of the robot body; Under the condition that the collision angle is larger than-90 degrees and smaller than or equal to-30 degrees, determining that an obstacle exists in the left front of the robot body; the collision angle is larger than or equal to-30 degrees, and under the condition that the collision angle is smaller than or equal to 30 degrees, an obstacle exists in front of a machine head of the robot; the collision angle is greater than or equal to 90 degrees, and under the condition that the collision angle is less than or equal to 120 degrees, an obstacle is determined to exist at the right rear of the robot body; and under the condition that the collision angle is larger than or equal to-120 degrees and smaller than or equal to-90 degrees, determining that an obstacle exists at the left rear of the robot body.
- 11. The robot collision processing method according to claim 8, wherein when it is determined that the robot is currently colliding with an obstacle by executing the robot collision detection method, a grid cell in which a first target collision point is located is indicated as an obstacle cell, and a grid cell in which a second target collision point is located is indicated as a collision cell of the robot body; Or when the robot collision detection method is executed to determine that the robot collides with an obstacle at present, the robot is determined to skid but not exceed a threshold in a preset detection time after the preset detection times are continuously preset, the grid unit where the first target collision point is located is marked as an obstacle unit, the grid unit where the second target collision point is located is marked as a skid unit, and the grid unit occupied by the edge of the machine body is identified when the robot has obstacle skid, wherein the preset detection times are the upper limit value of the preset collision detection times range.
Description
Robot collision detection method and collision processing method based on laser sensing Technical Field The application relates to the technical field of sensor detection, in particular to a robot collision detection method based on laser sensing and a robot collision processing method. Background The existing robot basically adopts structural members which are specially designed for detecting collision aiming at obstacles, the structural members are required to be specially designed on a die to achieve a very good effect, meanwhile, the problems of inconvenience and the like are brought to production, and the manufacturing cost and the maintenance cost are increased due to the material or die design. The sweeping robot has a certain speed in the running process, and when the sweeping robot collides with an obstacle, physical impact tends to cause the sweeping robot to instantly slip, and the larger the impact force is, the more the sweeping robot slips. In addition, the sweeping robot can slip when encountering a situation that the ground is very slippery. The Chinese patent application No. 201710819192.2 discloses a detection method and a graph construction method of an intelligent robot collision obstacle, wherein the detection method judges whether the robot collides with the obstacle based on an angular velocity change error rate or a current variance generated by a driving wheel, and utilizes an odometer on the existing driving wheel of the robot and a gyroscope in a machine body, but measurement data of the odometer and the gyroscope in the machine body are easily affected by skidding to generate mutation, a threshold value corresponding to the detected and calculated angular velocity change error rate is obtained empirically, if the threshold value is too high, the robot always props against the obstacle and damages furniture, and if the threshold value is too low, the robot collision is frequently and wrongly triggered, so that the collision detection still causes a false detection problem. Disclosure of Invention The application aims to provide a robot collision detection method and a robot collision processing method based on laser sensing, and the specific technical scheme is as follows: A collision detection method of a robot based on laser sensing includes that the robot is provided with a laser sensor and an inertial sensor, the collision detection method of the robot includes that whether a collision trend occurs to the robot is determined according to a difference value between angular velocity information generated by driving wheels of the robot and angular velocity information generated by the inertial sensor in the same time and a difference value between acceleration information generated by driving wheels of the robot and acceleration information generated by the inertial sensor in the same time, when the current collision trend of the robot is determined, or when the current collision trend of the robot occurs, the robot is determined to occur in the preset detection time, and when the current collision trend of the robot occurs, the robot is determined to occur in the preset detection time, the collision trigger count value is controlled to be increased by one to update the collision trigger count value, then whether the collision trigger count value is in a preset collision detection frequency range is determined, when the collision trend occurs in the preset detection time, if the collision trigger count value is determined to occur in the preset collision detection time, the collision trigger count value is determined to be in the preset collision detection range, when the preset trigger count value is determined to occur in the preset detection time, the collision count value is calculated to be larger than or equal to a preset obstacle threshold value, and when the current collision threshold value is calculated based on the calculated to be larger than or equal to the threshold value, and determining that the robot collides with an obstacle currently, wherein the lower limit value of the preset collision detection frequency range is greater than or equal to 0. In summary, under the condition that the current collision trend of the robot or the collision trend occurs in the preset detection time is determined, the collision trigger count value is adjusted and the numerical range where the collision trigger count value is located is judged according to the slipping and the threshold crossing conditions of the robot in the preset detection time, then whether the robot collides with an obstacle or not is detected according to the size of the collision trigger count value and the minimum collision distance calculated based on the sensing data of the laser sensor, influences of false collision trigger factors (including slipping sign information, threshold crossing sign information and the like) are fully filtered, and the obtained collision detection result can be subjected to the t