Method for obstacle detection and recognition for intelligent snow sweeping robot

Abstract

A method for obstacle detection and recognition for an intelligent snow sweeping robot is disclosed, comprising: 1) disposing ultrasonic sensors at a front end of the snow sweeping robot to detect distance information from an obstacle ahead; and disposing radar sensors at the front and rear of the snow sweeping robot to detect whether a creature suddenly approaches; 2) processing signals detected by each of the ultrasonic sensors and radar sensors, and calculating a forward distance of the snow sweeping robot; and 3) determining a snow cover extent of a working road, detecting a change of the distance from the obstacles, and recognizing the obstacles for conditions of an ultrasonic ranging variation ratio and a variation of the forward distance of the snow sweeping robot, a change of the signal detected by radar sensors, and a descriptive statistic of the snow cover extent within a specific time period.

Claims

1. A method for obstacle detection and recognition for an intelligent snow sweeping robot, comprising the following steps: (1) disposing a first, second, and third ultrasonic sensor on a left side, middle, and a right side of a front end of the snow sweeping robot, respectively, to detect a distance between the snow sweeping robot and an obstacle ahead by the first, second, and third ultrasonic sensors; and sweeping robot operates at a constant velocity; and in this case, x increases, the snow sweeping robot enters a section with a small snow cover extent, and the obstacle determining conditions are as follows: { Z k + 1 = β k + 1 ξ k + 1 m k + 1 = 1 or 0 Z k + 1 = β k + 1 ξ k + 1 = y k + 1 / y k s k + 1 / s k = y k + 1 S k + 1 S k y k focusing on a first fraction y.sub.k+1/S.sub.k+1 because of a second fraction S.sub.k/y.sub.k≈1 on the right-hand side of the equation, in this case, S.sub.k+1 increases, and the obstacle determining conditions are as follows: { Z k + 1 y k + 1 S k + 1 m k + 1 = 1 or 0 if 0.95 Z k + 1 1 . 0 5 , { m k + 1 = 1 , static creature obstacle m k + 1 = 0 , static general obstacle ; if Z k + 1 < 0.95 , { m k + 1 = 1 , remote creature obstacle m k + 1 = 0 , remote general obstacle ; or if Z k + 1 > 1.05 , { m k + 1 = 1 , near creature obstacle m k + 1 = 0 , near general obstacle ; detecting that any of the ultrasonic sensors has a detection distance d>d.sub.flag and ν−ν.sub.flag>ν.sub.differ, an expression of S.sub.2k+1<S.sub.2k holds at a moment 2k+1, and S.sub.2k and y.sub.2k at a moment 2k are equal to those at a previous moment 2k−1 at which the snow sweeping robot works at a constant velocity; and in this case, x decreases, the snow sweeping robot enters a section with a large snow cover extent, and the obstacle determining conditions are as follows: disposing a first and second radar sensor at the front and rear parts of the snow sweeping robot, respectively, to detect whether a creature suddenly approaches when the snow sweeping robot operates by the first and second radar sensors; (2) processing signals detected by each of the first, second, and third ultrasonic sensors and each of the first and second radar sensors, and calculating a forward distance of the snow sweeping robot, comprising: a. processing distance data detected by each ultrasonic sensor, comprising: performing recursive weighted average filtering on distance data detected by each ultrasonic sensor within a time period Δt, expressed as follows for a k.sup.th time period Δt: d k = .Math. i = 1 n ¯ ρ k i d k i n wherein d.sub.k represents a measurement for k.sup.th ultrasonic ranging, d.sub.ki represents a distance value obtained in i.sup.th detection within the k.sup.th time period Δt, ρ.sub.ki represents a weight value for the i.sup.th detection, and n represents a number of detected distance values within the k.sup.th time period Δt; b. processing the signals detected by each radar sensor, comprising: processing the signals acquired by each radar sensor within the k.sup.th time period Δt, expressed as follows: m k = { 1 , Signals from a same radar sensor are received twice in succession . 0 , Signals from a same radar sensor are not received twice in succession . wherein m.sub.k represents a result obtained after the signal acquired by the each radar sensor within the k.sup.th time period Δt is processed; and c. calculating the forward distance of the snow sweeping robot, comprising: performing amplitude-limiting filtering on forward velocities of the snow sweeping robot within the k.sup.th time period Δt, expressed as follows: v j = { v j , .Math. "\[LeftBracketingBar]" v j - v j - 1 .Math. "\[RightBracketingBar]" v res v j - 1 , .Math. "\[LeftBracketingBar]" v j - v j - 1 .Math. "\[RightBracketingBar]" > v res S k = .Math. j = 1 n v j t wherein ν.sub.j represents a forward velocity of the snow sweeping robot converted from data which is read for the j.sup.th time from an encoder detecting a wheel velocity of the snow sweeping robot, represents a forward velocity of the snow sweeping robot converted from data which is read for the (j−1).sup.th time from the encoder detecting the wheel velocity of the snow sweeping robot, ν.sub.res represents a maximum deviation between the two velocities, S.sub.k represents a forward distance of the snow sweeping robot within the k.sup.th time period Δt, p represents a number of times the encoder data of the snow sweeping robot is read within the time period Δt, and t represents a short time period; and (3) detecting and recognizing the obstacle, comprising: defining a descriptive statistic of a snow cover extent as follows: x = α v wherein α represents a predetermined scale factor, and ν represents a forward velocity of the snow sweeping robot, and in other words, the snow cover extent is inversely proportional to the forward velocity of the snow sweeping robot; defining a measurement variation for k.sup.th ultrasonic ranging as follows: y k = .Math. "\[LeftBracketingBar]" d k - d k - 1 .Math. "\[RightBracketingBar]" Δ t , k = 2 , 3 , 4 .Math. defining a measurement variation for k.sup.th ultrasonic ranging as follows: β k = y k y k - 1 , k = 2 , 3 , 4 .Math. defining a variation ratio of the forward distance of the snow sweeping robot within the k.sup.th time period Δt as follows: ξ k = S k S k - 1 , k = 2 , 3 , 4 .Math. establishing obstacle determining conditions as follows: { Z k = β k ξ k m k = 1 or 0 detecting that any of the ultrasonic sensors has a detection distance d>d.sub.flag and |ν−ν.sub.flag|≤ν.sub.differ, d.sub.flag representing a standard safe distance, ν.sub.flag representing a standard forward velocity of the snow sweeping robot, and ν.sub.differ representing a threshold of a forward velocity difference of the snow sweeping robot, S.sub.1≈S.sub.2≈ . . . ≈S.sub.k and the snow cover extent x is approximately constant, that is, the snow sweeping robot operates at a constant velocity in a section with a uniform snow cover extent, and the obstacle determining conditions are degenerated as follows: { Z k = β k ξ k β k m k = 1 or 0 if 0.95 Z k 1 . 0 5 , { m k = 1 , static creature obstacle m k = 0 , static general obstacle ; if Z k < 0.95 , { m k = 1 , remote creature obstacle m k = 0 , remote general obstacle ; or if Z k > 1.05 , { m k = 1 , near creature obstacle m k = 0 , near general obstacle ; detecting that any of the ultrasonic sensors has a detection distance d>d.sub.flag and ν−ν.sub.flag>ν.sub.differ, an expression of S.sub.k+1>S.sub.k holds at a moment k+1, and S.sub.k and y.sub.k at a moment k are equal to those at a previous moment k−1 at which the snow { Z 2 k + 1 = β 2 k + 1 ξ 2 k + 1 m 2 k + 1 = 1 or 0 Z 2 k + 1 = β 2 k + 1 ξ 2 k + 1 = y 2 k + 1 / y 2 k s 2 k + 1 / s 2 k = y 2 k + 1 S 2 k + 1 S 2 k y 2 k focusing on a first fraction y.sub.2k+1/S.sub.2k+1 because of a second fraction S.sub.2k/y.sub.2k≈1 on the right-hand side of the equation, in this case, S.sub.2k+1 decreases, and the obstacle determining conditions are as follows: { Z 2 k + 1 y 2 k + 1 S 2 k + 1 m 2 k + 1 = 1 or 0 if 0.95 Z 2 k + 1 1 . 0 5 , { m 2 k + 1 = 1 , static creature obstacle m 2 k + 1 = 0 , static general obstacle ; if Z 2 k + 1 < 0.95 , { m 2 k + 1 = 1 , remote creature obstacle m 2 k + 1 = 0 , remote general obstacle ; or if Z 2 k + 1 > 1.05 , { m 2 k + 1 = 1 , near creature obstacle m 2 k + 1 = 0 , near general obstacle . (4) detecting that any of the ultrasonic sensors has a detection distance that is not d>d.sub.flag; selecting an active obstacle avoidance strategy in response to detecting the detection distance that is not d>d.sub.flag; and performing obstacle avoidance based on the selected active obstacle avoidance strategy.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) FIG. 1 is a distribution diagram of sensors of a snow sweeping robot.

(2) FIG. 2 is a flow chart of a method for obstacle detection and recognition for an intelligent snow sweeping robot.

DETAILED DESCRIPTION OF THE EMBODIMENTS

(3) The present disclosure is described in further detail below with reference to the accompanying drawings and embodiments.

(4) A method for obstacle detection and recognition for an intelligent snow sweeping robot according to the embodiments includes the following steps:

(5) (1) Disposing an ultrasonic sensor 1 on each of a left side, the middle, and a right side of a front end of the snow sweeping robot to detect distance between the snow sweeping robot and an obstacle ahead by the ultrasonic sensor; and disposing a radar sensor 2 at the front and the rear of the snow sweeping robot respectively to detect whether a creature suddenly approaches when the snow sweeping robot operates by the radar sensor.

(6) (2) Processing signals detected by each of the ultrasonic sensors and each of the radar sensors, and calculating a forward distance of the snow sweeping robot, which includes the steps as follows.

(7) a. Processing ranging data acquired by each of the ultrasonic sensors.

(8) Performing recursive weighted average filtering on distance data acquired by each of the ultrasonic sensors within a time period Δt, expressed as follows for a k.sup.th time period Δt:

(9) d k = .Math. i = 1 n ρ ki d ki n

(10) where d.sub.k represents a k.sup.th ultrasonic ranging result, d.sub.ki represents a distance value obtained during i.sup.th detection within the k.sup.th time period Δt, ρ.sub.ki represents a weight value during the i.sup.th detection, and n represents a number of detected distance values whose reciprocal value is derived.

(11) b. Processing the signals detected by each of the radar sensors.

(12) Processing signal data acquired by each of the radar sensors within the k.sup.th time period Δt.

(13) m k = { 1 , Signals from a same radar sensor are received twice in succession . 0 , Signals from a same radar sensor are not received twice in succession .

(14) where m.sub.k represents a result obtained after the signal data acquired by each of the radar sensors within the k.sup.th time period Δt is processed.

(15) c. Calculating the forward distance of the snow sweeping robot.

(16) Performing amplitude-limiting filtering on a forward velocity of the snow sweeping robot within the k.sup.th time period Δt.

(17) v j = { v j , .Math. "\[LeftBracketingBar]" v j - v j - 1 .Math. "\[RightBracketingBar]" v res v j - 1 , .Math. "\[LeftBracketingBar]" v j - v j - 1 .Math. "\[RightBracketingBar]" > v res S k = .Math. j = 1 n v j t

(18) where ν.sub.j represents a forward velocity of the snow sweeping robot converted from encoder data that detects a wheel velocity of the snow sweeping robot and is read for the j.sup.th time, ν.sub.j−1 represents a forward velocity of the snow sweeping robot converted from encoder data that detects the wheel velocity of the snow sweeping robot and is read for the (j−1).sup.th time, ν.sub.res represents a maximum allowable deviation between the two velocities, S.sub.k represents a forward distance of the snow sweeping robot within the k.sup.th time period Δt, n represents a number of times the encoder data of the snow sweeping robot is read within the time period Δt, and t represents a short time period.

(19) (3) Detecting and recognizing the obstacle.

(20) Assuming that d.sub.flag represents a standard safe distance, ν.sub.flag represents a standard forward velocity of the snow sweeping robot, and ν.sub.differ represents a threshold of a forward velocity difference of the snow sweeping robot.

(21) Defining a descriptive statistic of a snow cover extent as follows:

(22) x = α v

(23) where α represents a scale factor, and ν represents a forward velocity of the snow sweeping robot. In other words, the snow cover extent is inversely proportional to the forward velocity of the snow sweeping robot.

(24) Defining a k.sup.th ultrasonic ranging variation as follows:

(25) y k = .Math. "\[LeftBracketingBar]" d k - d k - 1 .Math. "\[RightBracketingBar]" Δ t , k = 2 , 3 , 4 .Math.

(26) Defining a k.sup.th ultrasonic ranging variation radio as follows:

(27) β k = y k y k - 1 , k = 2 , 3 , 4 .Math.

(28) Defining a k.sup.th variation ratio of the forward distance of the snow sweeping robot as follows:

(29) 0 ξ k = S k S k - 1 , k = 2 , 3 , 4 .Math.

(30) Assuming that obstacle determining conditions are as follows:

(31) { Z k = β k ξ k m k = 1 or 0 .

(32) In a first situation, when any of the ultrasonic sensors has a detection distance d>d.sub.flag and |ν−ν.sub.flag≤ν.sub.differ, it is presumed that S.sub.1≈S.sub.2≈ . . . ≈S.sub.k and the snow cover extent x is approximately constant, that is, the snow sweeping robot operates at a constant velocity in a section with a uniform snow cover extent. The obstacle determining conditions are degenerated as follows:

(33) { Z k = β k ξ k β k m k = 1 or 0 if 0.95 Z k 1 . 0 5 , { m k = 1 , static creature obstacle m k = 0 , static general obstacle ; if Z k 0 . 9 5 , { m k = 1 , remote creature obstacle m k = 0 , remote general obstacle ; or if Z k 1 . 0 5 , { m k = 1 , near creature obstacle m k = 0 , near general obstacle .

(34) In a second situation, when any of the ultrasonic sensors has a detection distance d>d.sub.flag and ν−ν.sub.flag>ν.sub.differ, it is presumed that S.sub.k+1>S.sub.k at a moment k+1, and S.sub.k and y.sub.k at a moment k are the same as those at a previous moment k−1 at which the snow sweeping robot operates at a constant velocity. In this case, x increases, and it is presumed that the snow sweeping robot enters a section with a small snow cover extent. The obstacle determining conditions are as follows:

(35) { Z k + 1 = β k + 1 ξ k + 1 m k = 1 or 0 Z k + 1 = β k + 1 ξ k + 1 = y k + 1 / y k s k + 1 / s k = y k + 1 S k + 1 S k y k .

(36) Focusing on a first fraction y.sub.k+1/S.sub.k+1 because a second fraction change S.sub.k/y.sub.k≈1 on the right-hand side of the equation. In this case, S.sub.k+1 increases. The obstacle determining conditions are as follows:

(37) { Z k + 1 y k + 1 S k + 1 m k + 1 = 1 or 0 if 0.95 Z k + 1 1 . 0 5 , { m k + 1 = 1 , static creature obstacle m k + 1 = 0 , static general obstacle ; if Z k + 1 0 . 9 5 , { m k + 1 = 1 , remote creature obstacle m k + 1 = 0 , remote general obstacle ; or if Z k + 1 1 . 0 5 , { m k + 1 = 1 , near creature obstacle m k + 1 = 0 , near general obstacle .

(38) In a third situation, when any of the ultrasonic sensors has a detection distance d>d.sub.flag and ν−ν.sub.flag>ν.sub.differ, it is presumed that S.sub.2k+1<S.sub.2k at a moment 2k+1, and S.sub.2k and y.sub.2k at a moment 2k are the same as those at a previous moment 2k−1 at which the snow sweeping robot works at a constant velocity. In this case, x decreases, and it is presumed that the snow sweeping robot enters a section with a large snow cover extent. The obstacle determining conditions are as follows:

(39) { Z 2 k + 1 = β 2 k + 1 ξ 2 k + 1 m 2 k + 1 = 1 or 0 Z 2 k + 1 = β 2 k + 1 ξ 2 k + 1 = y 2 k + 1 / y 2 k s 2 k + 1 / s 2 k = y 2 k + 1 S 2 k + 1 S 2 k y 2 k .

(40) Mainly focusing on a first fraction y.sub.2k+1/S.sub.2k+1 because a second fraction change S.sub.2k/y.sub.2k≈1 on the right-hand side of the equation. In this case, S.sub.2k+1 decreases. The obstacle determining conditions are as follows:

(41) { Z 2 k + 1 y 2 k + 1 S 2 k + 1 m 2 k + 1 = 1 or 0 if 0.95 Z 2 k + 1 1 . 0 5 , { m 2 k + 1 = 1 , static creature obstacle m 2 k + 1 = 0 , static general obstacle ; if Z 2 k + 1 0 . 9 5 , { m 2 k + 1 = 1 , remote creature obstacle m 2 k + 1 = 0 , remote general obstacle ; or if Z 2 k + 1 1 . 0 5 , { m 2 k + 1 = 1 , near creature obstacle m 2 k + 1 = 0 , near general obstacle .

(42) In conclusion, the intelligent snow sweeping robot can quickly and effectively detect and recognize obstacles in the three different situations according to the determining conditions in each of the situations.

(43) The method for obstacle detection and recognition for an intelligent snow sweeping robot in the embodiments can determine a snow cover extent of a working road, quickly and effectively detect obstacles, and recognize the obstacles as general obstacles or creature obstacles when the snow sweeping robot autonomously operates. False detection can be prevented by multi-sensor fusion analysis which has good anti-interference. According to the present disclosure, a determining threshold and the number of measurements can be set through the field testing to meet an accuracy and a sensitivity of obstacle detection and recognition under different snow cover extents and achieve a good adaptability.

(44) Finally, it should be noted that the above embodiment is only intended to explain, rather than to limit, the technical solution of the present disclosure. Although the present disclosure is described in detail with reference to the preferred embodiment, those ordinarily skilled in the art should understand that modifications or equivalent substitutions made to the technical solutions of the present disclosure without departing from a spirit and scope of the technical solution of the present disclosure should be included within the scope of the claims of the present disclosure.