WO2022134336A1 - 移动机器人控制方法、装置、设备及存储介质 - Google Patents

移动机器人控制方法、装置、设备及存储介质 Download PDF

Info

Publication number
WO2022134336A1
WO2022134336A1 PCT/CN2021/082536 CN2021082536W WO2022134336A1 WO 2022134336 A1 WO2022134336 A1 WO 2022134336A1 CN 2021082536 W CN2021082536 W CN 2021082536W WO 2022134336 A1 WO2022134336 A1 WO 2022134336A1
Authority
WO
WIPO (PCT)
Prior art keywords
boundary point
mobile robot
preset
boundary
narrow area
Prior art date
Application number
PCT/CN2021/082536
Other languages
English (en)
French (fr)
Inventor
张东旭
张波
Original Assignee
莱克电气绿能科技(苏州)有限公司
苏州金莱克精密机械有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 莱克电气绿能科技(苏州)有限公司, 苏州金莱克精密机械有限公司 filed Critical 莱克电气绿能科技(苏州)有限公司
Publication of WO2022134336A1 publication Critical patent/WO2022134336A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0253Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0259Control of position or course in two dimensions specially adapted to land vehicles using magnetic or electromagnetic means
    • G05D1/0261Control of position or course in two dimensions specially adapted to land vehicles using magnetic or electromagnetic means using magnetic plots
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/028Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal

Definitions

  • the present invention relates to the technical field of mobile robots, and in particular, to a mobile robot control method, device, equipment and storage medium.
  • mobile robots such as lawn mowers, cleaning robots and other mobile robots usually rotate at a preset angle when they enter a specific area, such as an area surrounded by walls, tables, fences, and other obstacles.
  • a specific area such as an area surrounded by walls, tables, fences, and other obstacles.
  • the preset angle is usually large, the mobile robot needs to perform multiple rotation controls to get out of the specific area, which not only causes a lot of waste of time and resources (such as electricity), but also It seriously affects the working efficiency of mobile robots.
  • the present invention provides a mobile robot control method, device, equipment and storage medium, which can enable the mobile robot to quickly pass through a narrow area, reduce waste of time and resources, and improve the working efficiency of the mobile robot.
  • the present invention provides a mobile robot control method, the method comprising:
  • each boundary point in the boundary point sequence is the mobile robot every time recorded when said boundary was detected;
  • the preset value is used to indicate that the mobile robot is continuously in the narrow area
  • the mobile robot is controlled to rotate according to the rotation angle.
  • the method before the judging whether the mobile robot is in a narrow area based on the current boundary point and each boundary point in the boundary point sequence, the method further includes:
  • the step of judging whether the mobile robot is in a narrow area based on the current boundary point and each boundary point in the boundary point sequence is performed .
  • the determining whether the mobile robot is in a narrow area based on the current boundary point and each boundary point in the boundary point sequence includes:
  • the obtaining from the boundary point sequence the first preset number of consecutive boundary points of the current boundary point includes:
  • first boundary point is the boundary point recorded when the boundary was detected last time
  • second boundary point is the upper boundary point
  • determining whether the mobile robot is in a narrow area based on the preset number of continuous boundary points and the current boundary point includes:
  • the determining whether the mobile robot is in the narrow area based on the triangular structure includes:
  • the distances between the second boundary point and the current boundary point and the first boundary point are respectively calculated to obtain the first distance and the second distance;
  • the determining whether the mobile robot is in the narrow area based on the first distance and the second distance includes:
  • the mobile robot is not in the narrow area.
  • the method further includes:
  • the edge formed by the connection between the current boundary point and the first boundary point is determined as a reference side
  • the adjusting the preset value based on the result of the determination includes:
  • the value of the preset counter is set as a preset initial value.
  • the adjusting the preset value based on the result of the determination includes:
  • the value of the preset timer is reset.
  • the determining the rotation angle of the mobile robot according to the preset value includes:
  • An angle is randomly selected within the target range as the rotation angle of the mobile robot.
  • Another aspect provides a mobile robot control device, the device comprising:
  • the boundary point acquisition module is used to acquire the current boundary point when the mobile robot detects the boundary
  • a narrow area determination module configured to determine whether the mobile robot is in a narrow area based on the current boundary point and each boundary point in the boundary point sequence, wherein each boundary point in the boundary point sequence is recorded each time the mobile robot detects the boundary;
  • a preset value adjustment module configured to adjust a preset value based on the result of the determination, where the preset value is used to indicate that the mobile robot is continuously in the narrow area;
  • an angle determination module configured to determine the rotation angle of the mobile robot according to the preset value, and store the current boundary point in the boundary point sequence
  • the control module is configured to control the mobile robot to rotate according to the rotation angle.
  • Another aspect provides a control device, comprising a processor and a memory, the memory stores at least one instruction or at least a piece of program, the at least one instruction or at least a piece of program is loaded and executed by the processor to achieve the above The mobile robot control method.
  • Another aspect provides a computer storage medium, the computer storage medium stores at least one instruction or at least one program, the at least one instruction or the at least one program is loaded and executed by a processor to implement the above Mobile robot control method.
  • the present invention has the following beneficial effects:
  • the present invention Every time a boundary is detected, the present invention records the boundary point corresponding to the boundary, and uses the currently detected boundary point and the historically recorded boundary point to determine whether the current mobile robot is in a narrow area, and then determines whether the current mobile robot is in a narrow area.
  • the preset value is adjusted according to the result of the preset value; since the preset value indicates that the mobile robot is continuously in a narrow area, the rotation angle of the mobile robot can be more reasonably determined according to the preset value, so that the mobile robot can quickly It can get out of the narrow area, reduce the waste of time and resources, and improve work efficiency.
  • FIG. 1 is a schematic diagram of an application environment provided by an embodiment of the present invention.
  • FIG. 2 is a schematic flowchart of a method for controlling a mobile robot according to an embodiment of the present invention.
  • FIG. 3 is a schematic flowchart of another method for controlling a mobile robot according to an embodiment of the present invention.
  • FIG. 4 is a schematic flowchart of another method for controlling a mobile robot according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a triangular structure formed by selecting continuous boundary points according to an embodiment of the present invention.
  • FIG. 6 is a schematic flowchart of a narrow area determination provided by an embodiment of the present invention.
  • FIG. 7 is a schematic flowchart of another narrow area determination provided by an embodiment of the present invention.
  • FIG. 8 is an example of a mobile robot control method provided by an embodiment of the present invention.
  • FIG. 9 is a schematic structural block diagram of a mobile robot control device according to an embodiment of the present invention.
  • FIG. 10 is a schematic diagram of a hardware structure of a control device provided by an embodiment of the present invention.
  • FIG. 1 shows a schematic diagram of an application environment provided by an embodiment of the present invention.
  • a lawn mowing robot performs a lawn mowing task as an example for description.
  • the application environment may include a lawn mowing robot 1, a boundary line 2 and an obstacle 3.
  • the lawn mowing robot 1 performs a lawn mowing task in a work area 4 surrounded by the boundary line 2, and the obstacle 3 is a general Refers to objects such as flower beds, fences, and walls that obstruct the movement of the lawnmower robot.
  • the lawn mowing robot 1 When the lawn mowing robot 1 starts, it will start a counter to record the continuous situation of being in a narrow area; in the process of traveling, it will record the boundary point every time it detects the boundary, and according to the current boundary point and the historical record boundary point Determine whether it is currently in a narrow area; and adjust the value of the counter according to the determination result of the narrow area; and then determine the angle to be rotated based on the value of the counter.
  • the lawn mowing robot 1 travels according to a pre-planned travel path during the execution of the lawn mowing task.
  • the boundary of the obstacle 3 is detected first, and the boundary point A is recorded.
  • the current history record does not contain any boundary points.
  • the lawn mower 1 selects the rotation angle by default and saves the boundary point A to the history. Recording;
  • the boundary of the boundary line 2 is detected, and the boundary point B is recorded.
  • the boundary point A has been stored in the current historical record. It can be determined whether it is in a narrow area according to the boundary point A and the boundary point B, and the result is determined according to the narrow area.
  • Point A and Boundary Point B can be determined according to Boundary Point A, Boundary Point B and Boundary Point C to determine whether they are in a narrow area, adjust the value of the counter according to the determination result of the narrow area, select the rotation angle based on the value of the counter, and set the boundary point CStore to history.
  • the rotation angle of the lawnmower robot can be determined, which can prevent the lawnmower robot from being in a narrow area for a long time. As a result, it cannot quickly escape from the narrow area, which affects the mowing efficiency of the mowing robot.
  • FIG. 1 is only an example.
  • the lawnmower robot may also be other types of mobile robots, such as cleaning robots and the like.
  • the embodiment of the present invention provides a mobile robot Robot control method.
  • FIG. 2 is a schematic flowchart of a mobile robot control method provided by an embodiment of the present invention.
  • This specification provides the method operation steps as described in the embodiment or the flowchart, but based on conventional or non-creative work, it may include more or more Fewer steps.
  • the sequence of steps enumerated in the embodiments is only one of the execution sequences of many steps, and does not represent the only execution sequence.
  • an actual system or server product it can be executed sequentially or in parallel (for example, in a parallel processor or multi-threaded processing environment) according to the embodiments or the methods shown in the accompanying drawings.
  • the method may include:
  • the mobile robot refers to a machine device that automatically performs work
  • the boundary refers to the boundary line that hinders the mobile robot from traveling and the edges of various obstacles
  • the current boundary point is used to indicate the position of the detected boundary, such as Boundary point A, boundary point B, and boundary point C in FIG. 1 .
  • the boundary line may be physical, such as a wall, a fence, etc., or an electromagnetic wire or the like.
  • a reference coordinate system can be established with the position of the center point when the mobile robot is started as the origin, the current orientation of the mobile robot as the positive y-axis direction, and the direction perpendicular to the y-axis as the x-axis direction, The coordinates of the current boundary point are obtained based on the reference coordinate system. It can be understood that, for a mobile robot equipped with a gyroscope, the coordinates of the current boundary point can also be determined based on the offset of the gyroscope, and this specification does not specifically limit the acquisition method of the current boundary point.
  • each boundary point in the boundary point sequence is the mobile robot Recorded each time the boundary is detected.
  • the corresponding boundary points are recorded each time a boundary is detected and stored in the boundary point sequence.
  • the number of boundary points in the boundary point sequence may be judged. If the number of boundary points is less than the preset number of boundary points, an angle is randomly selected from the default range as the rotation angle of the mobile robot.
  • the default range is a range preset by the program to avoid collision with the boundary, for example, between 60 degrees and 120 degrees.
  • step S02 is executed to determine whether the mobile robot is in a narrow area based on the current boundary point and each boundary point in the boundary point sequence .
  • step S202 may include:
  • S2021 Acquire, from the sequence of boundary points, consecutive boundary points in the first preset number of the current boundary points.
  • the continuous boundary points refer to the boundary points recorded when the boundary is continuously detected.
  • C i is used to denote the boundary point recorded when the boundary is detected for the i-th time
  • C n the current boundary point
  • the preceding preset number of consecutive boundary points of C n are C n-1 , C n in turn -2 , C n-3 , C n-4 , ....
  • the current boundary point can be represented by C 9 , if the preset number is 6, then the first 6 times
  • the boundary points recorded when the boundary is detected constitute the boundary point sequence ⁇ C 8 , C 7 , C 6 , C 5 , C 4 , C 3 ⁇ .
  • step S2022 may include: forming a boundary point sequence from the preset number of continuous boundary points, and obtaining the current time; adding the current time and the preset time interval value to obtain the reference time; In the boundary point sequence, the recording time corresponding to each boundary point is compared with the reference time; if the recording time is earlier than the reference time, the boundary point is eliminated from the boundary point sequence, A target sequence is obtained; according to each boundary point in the target sequence, it is determined whether the mobile robot is in a narrow area.
  • the number of boundary points in the target sequence can be counted. If the number of boundary points is greater than the set threshold, it can be determined that the mobile robot is in a narrow area; if the number of boundary points is less than or equal to the set threshold If the threshold is set, it can be determined that the mobile robot is not in/out of the narrow area.
  • step S2021 may include:
  • S20211 Obtain a first boundary point and a second boundary point from the boundary point sequence, where the first boundary point is the boundary point recorded when the boundary was detected last time, and the second boundary point is the boundary point recorded when the boundary was last detected.
  • step S2022 may include:
  • the first boundary point and the second boundary point can also be obtained from the above-mentioned time-screened target sequence.
  • the recording times corresponding to the first boundary point and the second boundary point are both later than the reference time, it is determined whether the robot is in a narrow area according to the triangular structure formed by the current boundary point, the first boundary point and the second boundary point.
  • the selected first boundary point is C n - 2
  • the second boundary point is C n-1 .
  • -1 is the triangle ⁇ C n C n-2 C n-1 determined by the vertex to determine whether the mobile robot is in a narrow area.
  • step S20222 may include:
  • the distances between the second boundary point and the current boundary point and the first boundary point are respectively calculated to obtain a first distance and a second distance.
  • the sides C n C n-1 and C n-1 can be calculated by Heron’s formula respectively.
  • the length of the side C n-1 C n-2 , the first distance d 1 and the second distance d 2 are obtained.
  • step S202222 may include:
  • step S706 is performed; if the first distance is less than or equal to the first preset threshold, step S702 is performed.
  • step S706 is performed; if the second distance is less than or equal to the first preset threshold, step S703 is performed.
  • S703 Determine the edge formed by the connection between the current boundary point and the first boundary point as the reference edge.
  • step S706 is performed; if the vertical distance is less than or equal to the second preset threshold, step S707 is performed.
  • the first distance is the side length d 1 of the side C n C n-1
  • the second distance is the side length d 2 of the side C n-1 C n-2 , as long as d 1 and If any one of d 2 is greater than the first preset threshold, it means that there is enough space between the two boundary points for the mobile robot to pass, so it is determined that the mobile robot is not in a narrow area. If both d 1 and d 2 are less than or equal to the first preset threshold, since the second boundary point C n-1 is the middle point, the vertical distance from the second boundary point C n-2 to the edge C n C n-2 can be passed h, determine whether the mobile robot is in a narrow area.
  • h is greater than or equal to the second preset threshold, since h can be regarded as the lateral distance of the region perpendicular to the edge C n C n-2 , when the lateral distance is large enough, the region also has enough construction to allow the mobile robot to pass, Therefore, it is determined that the mobile robot is not in a narrow area.
  • the preset value includes the value of the preset counter and the value of the preset timer.
  • the preset counter or the preset timer will be activated.
  • the value of the preset counter or the value of the preset timer will be adjusted based on the determination result.
  • step S203 may include: if the result of the determination indicates that the mobile robot is in the narrow area, adding the first value to the value of the preset counter a preset value; if the result of the determination indicates that the mobile robot is not in the narrow area, the value of the preset counter is set as a preset initial value.
  • the first preset value may be any fixed value or a value determined according to a preset calculation method, and generally, the first preset value may be set to 1.
  • step S203 may further include: if the result of the determination indicates that the mobile robot is not in the narrow area, setting the preset timer value is reset. That is to say, when the determination result indicates that the mobile robot is in a narrow area, the preset timer continues to perform the timing operation; otherwise, the value of the preset timer is reset to the initial state, that is, reset to zero.
  • step S204 may include: determining a preset range in a preset range set that matches the preset value as a target range; wherein each of the preset ranges and the preset value in the preset range set Inversely proportional relationship; randomly select an angle within the target range as the rotation angle of the mobile robot.
  • the relationship between the preset range and the preset value is inversely proportional means that the larger the preset value is, the larger the minimum angle and the maximum angle of the preset range are, and the smaller the preset value is, and the minimum angle and the maximum angle of the preset range are larger. the smaller the angle.
  • the preset range centrally stores preset ranges corresponding to different preset values (including the value of the preset counter and the value of the preset timer), and each preset range can be set according to a specific application environment. Taking the value of the preset counter as an example, if the preset initial value is 0, and the step size of each increment is 1, that is, the first preset value is 1. In the specific implementation, each preset range can be set as shown in the following table:
  • Preset counter value Preset range 0 (60°,90°) 1 (45°,75°) 2 (30°,60°) greater than or equal to 3 (15°,45°)
  • the range of randomly selected rotation angle is (60°, 90°); if the mobile robot is in a narrow area for one consecutive time, the range of randomly selected rotation angle is (45°) ,75°); if the mobile robot is in the narrow area for 2 consecutive times, the range of the randomly selected rotation angle is (30°, 60°); if the mobile robot is in the narrow area for 3 consecutive times or more, the range of the randomly selected rotation angle is ( 15°, 45°).
  • the preset range is inversely proportional to the preset value, that is, the larger the preset value is, the larger the minimum value and the maximum value of the preset range are.
  • the minimum angle of the preset range is 60°, and the maximum value is 90°; when the value of the preset counter is 1, the minimum angle of the preset range is 45°, The maximum value is 75°; when the value of the preset counter is 2, the minimum angle of the preset range is 30°, and the maximum value is 60°; when the value of the preset counter is greater than or equal to 3, the minimum angle of the preset range is is 15° and the maximum value is 45°.
  • the mobile robot control method of the present invention will be described in detail below by taking a lawn mowing robot as an example.
  • FIG. 8 it is an example of a mobile robot control method provided by an embodiment of the present invention.
  • the distance between the width edge of the flower bed and the boundary line is 200cm
  • the distance between the side of the length edge of the flower bed and the boundary line is 80cm.
  • the preset value is the value of the preset counter
  • the first preset threshold is 5m (the threshold of the side length of the triangle)
  • the second preset threshold is 1m (the threshold of the vertical distance)
  • the preset initial value of the preset counter is 0
  • the step size that the preset counter increases each time that is, the first preset value is 1, the preset number of boundary points is 2 (the threshold of the number of boundary points in the boundary point sequence), and the preset number is also 2 (from the boundary point sequence the number of consecutive boundary points selected).
  • C 1 , C 2 , C 2 , C 3 , C 4 , C 5 , C 6 , C 7 , C 8 , C 9 , C 10 and C 11 are the execution points.
  • the mowing robot starts work at the S position, and sets the value of the preset counter to the preset initial value (0).
  • the boundary point sequence is ⁇ C 1 ,C 2 ⁇ .
  • the value of the preset counter is set to the preset initial value (0); if both are less than or equal to 5m, then obtain the boundary point C 2 to by The vertical distance of the side length formed by the line connecting the two points C 1 and C 3 ; if the vertical distance is less than the second preset threshold (1m), it is determined to be in a narrow area, and the value of the preset counter is added to the first preset value ( 1); if the vertical distance is greater than or equal to 1 m, it is determined that it is not in a narrow area, and the value of the preset counter is set to a preset initial value (0).
  • the value of the preset counter is 0, then randomly select an angle within the range of (60°, 90°) as the rotation angle to control the rotation of the mowing robot, and set C 3 It is added to the boundary point sequence, and the boundary point sequence is ⁇ C 1 , C 2 , C 3 ⁇ at this time.
  • the value of the preset counter is adjusted according to the judgment result, and the range of the rotation angle is selected based on the value of the preset counter, so as to control the movement of the lawn mowing robot. rotate.
  • the determined result is that the mobile robot is not in the narrow area, that is, the value of the preset counter is 0.
  • the sequence of boundary points is ⁇ C 1 , C 2 , C 3 , C 4 , C 5 , C 6 ⁇ , and the current boundary point is C 7 .
  • the vertical distance (60cm) from C 6 to the side C 5 C 7 is less than 1m, and it is determined that the lawn mower robot is in a narrow area, so the preset counter is set.
  • the value is incremented by 1. That is, the value of the preset counter is 1, and an angle is randomly selected within the range of (45°, 75°) as the rotation angle to control the rotation of the lawn mower robot.
  • the boundary is detected for the eighth time, it is determined based on the triangle ⁇ C 6 C 7 C 8 composed of three points C 6 , C 7 and C 8 as vertices that the mowing robot is in a narrow area, since the distance of the flower bed from the boundary line is 80cm, the vertical distance must be less than 1m, so add 1 to the value of the preset counter. That is, the value of the preset counter is 2, and an angle is randomly selected within the range of (30°, 60°) as the rotation angle to control the rotation of the lawn mower robot.
  • the value of the preset counter is set as Default initial value (0). Based on the value of the preset counter, an angle will be randomly selected in the range of (60°, 90°) as the rotation angle to control the rotation of the lawn mower robot.
  • the lawn mowing robot records the position of the corresponding boundary point each time a boundary is detected.
  • the number of recorded boundary points is greater than or equal to the set value, select the first two boundary points C n-2 and C n-1 that are continuous with the current boundary point C n , and calculate the boundary points C n-1 and C n-1 respectively.
  • any one of d 1 and d 2 is greater than the first preset threshold, it is determined that the mowing robot is out of/not in the narrow area; if both d 1 and d 2 are less than or equal to the first preset threshold, the boundary point C is calculated The vertical distance h from n-1 to the side formed by the line connecting the boundary point Cn and the boundary point Cn-2 . If h is less than the second preset threshold, it is determined that the lawnmower robot is in a narrow area; if h is greater than or equal to the second preset threshold, it is determined that the lawnmower robot is out of/not in the narrow area.
  • the value of the preset counter is incremented by 1; once it is determined that the lawnmower robot is out of/not in the narrow area, the value of the preset counter is cleared. Then, based on the value of the preset counter, a preset angle range is selected, and an angle is randomly selected as the rotation angle of the mobile robot in the angle range.
  • the preset values such as the first preset threshold value, the second preset threshold value, and the preset range are related to the working environment of the lawn mower robot. Therefore, in practical applications, the embodiments of the present invention can be adjusted according to the specific implementation environment.
  • the various preset values provided in the above are set, which are not specifically limited here.
  • the present invention records the corresponding boundary point of the boundary, and uses the currently detected boundary point and the boundary point of the historical record to detect the current mobile robot. Determine whether it is in a narrow area, and then adjust the preset value according to the judgment result; since the preset value indicates that the mobile robot is continuously in a narrow area, the rotation angle of the mobile robot can be more reasonably determined according to the preset value , so that the mobile robot can quickly get out of the narrow area based on the rotation angle, reduce waste of time and resources, and improve work efficiency.
  • An embodiment of the present invention also provides a mobile robot control device, as shown in FIG. 9 , the device may include:
  • a boundary point acquisition module 910 configured to acquire the current boundary point when the mobile robot detects the boundary
  • a narrow area determination module 920 configured to determine whether the mobile robot is in a narrow area based on the current boundary point and each boundary point in the boundary point sequence, wherein each boundary in the boundary point sequence points are recorded each time the mobile robot detects the boundary;
  • a preset value adjustment module 930 configured to adjust a preset value based on the result of the determination, where the preset value is used to indicate that the mobile robot is continuously in the narrow area;
  • an angle determination module 940 configured to determine the rotation angle of the mobile robot according to the preset value, and store the current boundary point in the boundary point sequence;
  • the control module 950 is configured to control the mobile robot to rotate according to the rotation angle.
  • the apparatus may further include:
  • the number of boundary points determination module is used for judging whether the number of boundary points in the sequence of boundary points is greater than or equal to the preset number of boundary points.
  • the narrow area determination module 920 may include:
  • a first boundary point selection unit used to obtain the continuous boundary points of the first preset number of the current boundary points from the boundary point sequence
  • the first determination unit is configured to determine whether the mobile robot is in a narrow area based on the preset number of continuous boundary points and the current boundary point.
  • the first boundary point selection unit may include:
  • the second boundary point selection unit is configured to obtain a first boundary point and a second boundary point from the boundary point sequence, wherein the first boundary point is the boundary point recorded when the boundary was detected last time , and the second boundary point is the boundary point recorded when the boundary was detected last time.
  • the first determination unit may include:
  • a structure determination unit configured to determine a triangular structure with the current boundary point, the first boundary point and the second boundary point as vertices
  • the second determination unit is configured to determine whether the mobile robot is in the narrow area based on the triangular structure.
  • the second determination unit may include:
  • a side length calculation unit configured to calculate the distances between the second boundary point and the current boundary point and the first boundary point in the triangular structure, respectively, to obtain a first distance and a second distance;
  • a third determination unit configured to determine whether the mobile robot is in the narrow area based on the first distance and the second distance.
  • the third determination unit may include:
  • a side length judging unit for judging whether the first distance and the second distance are both less than or equal to a first preset threshold
  • a first result processing unit configured to determine that the mobile robot is not in a location where the first distance is greater than the first preset threshold, or the second distance is greater than the first preset threshold. the narrow area.
  • a reference edge determination unit configured to connect the current boundary point and the first boundary point when both the first distance and the second distance are less than or equal to the first preset threshold The edge formed by the line is determined as the reference edge;
  • a vertical distance judgment unit configured to judge whether the vertical distance is less than a second preset threshold
  • a second result processing unit configured to determine that the mobile robot is in the narrow area when the vertical distance is less than the second preset threshold
  • a third result processing unit configured to determine that the mobile robot is not in the narrow area when the vertical distance is greater than or equal to the second preset threshold.
  • the preset value may include a value of a preset counter and a value of a preset timer.
  • the preset value adjustment module 930 may include:
  • an adding unit configured to add a first preset value to the value of the preset counter when the result of the determination indicates that the mobile robot is in the narrow area
  • a recovery unit configured to set the value of the preset counter to a preset initial value when the result of the determination indicates that the mobile robot is not in the narrow area.
  • the preset value adjustment module 930 may include:
  • a reset unit configured to reset the value of the preset timer when the result of the determination indicates that the mobile robot is not in the narrow area.
  • the angle determination module 940 may include:
  • An angle range determination unit configured to determine a preset range in a preset range set that matches the preset value as a target range; wherein each of the preset ranges in the preset range set is in a relationship with the preset value inverse relationship;
  • the angle selection unit is used to randomly select an angle within the target range as the rotation angle of the mobile robot.
  • An embodiment of the present invention further provides a control device, which is characterized by comprising a processor and a memory, wherein the memory stores at least one instruction or at least one piece of program, and the at least one instruction or at least one piece of program is executed by the processor Load and execute to implement the mobile robot control method provided by the above method embodiments.
  • FIG. 10 shows a schematic diagram of the hardware structure of the control device provided by the embodiment of the present invention, and the control device may participate in forming or include the mobile robot control apparatus provided by the embodiment of the present invention.
  • the control device 10 may include one or more (shown as 1002a, 1002b, .
  • a processing device such as a logic device FPGA), a memory 1004 for storing data, and a transmission device 1006 for a communication function.
  • I/O interface input/output interface
  • USB universal serial bus
  • FIG. 10 is only a schematic diagram, which does not limit the structure of the above-mentioned control device.
  • the control device 10 may also include more or fewer components than shown in FIG. 10 , or have a different configuration than that shown in FIG. 10 .
  • the one or more processors 1002 and/or other data processing circuits described above may generally be referred to herein as "data processing circuits.”
  • the data processing circuit may be embodied in whole or in part as software, hardware, firmware or any other combination.
  • the data processing circuitry may be a single, stand-alone processing module, or incorporated in whole or in part into any of the other elements in the control device 10 (or mobile device).
  • the data processing circuit acts as a kind of processor control (eg, selection of a variable resistance termination path connected to an interface).
  • the memory 1004 can be used to store software programs and modules of the application software, such as a program instruction/data storage device corresponding to the method described in the embodiments of the present invention, the processor 1002 executes the software programs and modules stored in the memory 1004 by running the software programs and modules.
  • Memory 1004 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory.
  • memory 1004 may further include memory located remotely from processor 1002, which may be connected to control device 10 through a network. Examples of such networks include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
  • Transmission means 1006 is used to receive or transmit data via a network.
  • the specific example of the above-mentioned network may include a wireless network provided by the communication provider of the control device 10 .
  • the transmission device 1006 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices through the base station so as to communicate with the Internet.
  • the transmission device 1006 may be a radio frequency (Radio Frequency, RF) module, which is used to communicate with the Internet in a wireless manner.
  • RF Radio Frequency
  • Embodiments of the present invention further provide a storage medium, which can be set in a control device to store at least one instruction or at least one program related to implementing a mobile robot control method in the method embodiment, the at least one instruction
  • the instructions or the at least one segment of the program are loaded and executed by the processor to implement the mobile robot control method provided by the above method embodiments.
  • the above-mentioned storage medium may be located in at least one network server among multiple network servers of a computer network.
  • the above-mentioned storage medium may include but is not limited to: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, magnetic Various media that can store program codes, such as discs or optical discs.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Electromagnetism (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

一种移动机器人控制方法、装置、设备及存储介质,属于移动机器人技术领域,该方法包括:当移动机器人检测到边界时,获取当前边界点(S201);基于当前边界点与边界点序列中的各个边界点,对移动机器人是否处于狭窄区域进行判定,其中,边界点序列中的每个边界点是移动机器人每次检测到边界时所记录的(S202);基于判定的结果,对预设值进行调整,该预设值用于指示移动机器人连续处于狭窄区域的情况(S203);根据预设值确定移动机器人的旋转角度,并将当前边界点存储至边界点序列中(S204);控制移动机器人按照该旋转角度进行旋转(S205)。该方法能够使移动机器人快速通过狭窄区域,减少时间和资源的浪费,提高移动机器人的工作效率。

Description

移动机器人控制方法、装置、设备及存储介质 技术领域
本发明涉及移动机器人技术领域,尤其涉及一种移动机器人控制方法、装置、设备及存储介质。
背景技术
目前,割草机器人、清洁机器人等移动机器人在工作过程中,当进入到特定区域时,例如墙、桌子、篱笆、以及其他障碍物围成的区域,通常会以预先设定的角度进行旋转。但当该特定区域比较狭窄时,由于该预先设定的角度通常较大,移动机器人需要进行多次旋转控制,才能脱离出该特定区域,不仅造成大量时间和资源(例如电量)的浪费,也严重影响了移动机器人的工作效率。
发明内容
本发明提供了一种移动机器人控制方法、装置、设备及存储介质,能够使移动机器人快速通过狭窄区域,减少时间和资源的浪费,提高移动机器人的工作效率。
一方面,本发明提供了一种移动机器人控制方法,所述方法包括:
当移动机器人检测到边界时,获取当前边界点;
基于所述当前边界点与边界点序列中的各个边界点,对所述移动机器人是否处于狭窄区域进行判定,其中,所述边界点序列中的每个所述边界点是所述移动机器人每次检测到所述边界时所记录的;
基于所述判定的结果,对预设值进行调整,所述预设值用于指示所述移动机器人连续处于所述狭窄区域的情况;
根据所述预设值确定所述移动机器人的旋转角度,并将所述当前边界点存储至所述边界点序列中;
控制所述移动机器人按照所述旋转角度进行旋转。
在一个可行的实施方式中,在所述基于所述当前边界点与边界点序列中的 各个边界点,对所述移动机器人是否处于狭窄区域进行判定之前,还包括:
判断所述边界点序列中的边界点个数是否大于或等于预设边界点数;
若所述边界点个数大于或等于所述预设边界点数,则执行所述基于所述当前边界点与边界点序列中的各个边界点,对所述移动机器人是否处于狭窄区域进行判定的步骤。
在另一个可行的实施方式中,所述基于所述当前边界点与边界点序列中的各个边界点,对所述移动机器人是否处于狭窄区域进行判定,包括:
从所述边界点序列中获取所述当前边界点的前预设个数连续的边界点;
基于所述预设个数连续的边界点与所述当前边界点,对移动机器人是否处于狭窄区域进行判定。
在另一个可行的实施方式中,所述从所述边界点序列中获取所述当前边界点的前预设个数连续的边界点,包括:
从所述边界点序列中获取第一边界点和第二边界点,其中,所述第一边界点为上上次检测到所述边界时所记录的边界点,所述第二边界点为上一次检测到所述边界时所记录的边界点;
相应的,所述基于所述预设个数连续的边界点与所述当前边界点,对移动机器人是否处于狭窄区域进行判定,包括:
以所述当前边界点、所述第一边界点和所述第二边界点为顶点,确定一个三角形结构;
基于所述三角形结构,对所述移动机器人是否处于所述狭窄区域进行判定。
在另一个可行的实施方式中,所述基于所述三角形结构,对所述移动机器人是否处于所述狭窄区域进行判定,包括:
在所述三角形结构中,分别计算所述第二边界点与所述当前边界点和所述第一边界点之间的距离,得到第一距离和第二距离;
基于所述第一距离和所述第二距离,对所述移动机器人是否处于所述狭窄区域进行判定。
在另一个可行的实施方式中,所述基于所述第一距离和所述第二距离,对所述移动机器人是否处于所述狭窄区域进行判定,包括:
判断所述第一距离和所述第二距离是否均小于或等于第一预设阈值;
若所述第一距离大于所述第一预设阈值,或者,所述第二距离大于所述第 一预设阈值,则判定所述移动机器人未处于所述狭窄区域。
在另一个可行的实施方式中,所述方法还包括:
若所述第一距离和所述第二距离均小于或等于所述第一预设阈值,则将所述当前边界点和所述第一边界点之间连线所形成的边,确定为参考边;
计算所述第二边界点到所述参考边的垂直距离;
判断所述垂直距离是否小于第二预设阈值;
若所述垂直距离小于所述第二预设阈值,则判定所述移动机器人处于所述狭窄区域;
若所述垂直距离大于或等于所述第二预设阈值,则判定所述移动机器人未处于所述狭窄区域。
在另一个可行的实施方式中,若所述预设值为预设计数器的值,则所述基于所述判定的结果,对预设值进行调整,包括:
若所述判定的结果表征所述移动机器人处于所述狭窄区域,则将所述预设计数器的值加第一预设数值;
若所述判定的结果表征所述移动机器人未处于所述狭窄区域,则将所述预设计数器的值设置为预设初始值。
在另一个可行的实施方式中,若所述预设值为预设计时器的值,则所述基于所述判定的结果,对预设值进行调整,包括:
若所述判定的结果表征所述移动机器人未处于所述狭窄区域,则将所述预设计时器的值进行重置。
在另一个可行的实施方式中,所述根据所述预设值确定所述移动机器人的旋转角度,包括:
将预设范围集中与所述预设值匹配的预设范围,确定为目标范围;其中,所述预设范围集中各个所述预设范围与所述预设值成反比关系;
在所述目标范围内随机选取一个角度,作为所述移动机器人的旋转角度。
另一方面提供了一种移动机器人控制装置,所述装置包括:
边界点获取模块,用于当移动机器人检测到边界时,获取当前边界点;
狭窄区域判定模块,用于基于所述当前边界点与边界点序列中的各个边界点,对所述移动机器人是否处于狭窄区域进行判定,其中,所述边界点序列中的每个所述边界点是所述移动机器人每次检测到所述边界时所记录的;
预设值调整模块,用于基于所述判定的结果,对预设值进行调整,所述预设值用于指示所述移动机器人连续处于所述狭窄区域的情况;
角度确定模块,用于根据所述预设值确定所述移动机器人的旋转角度,并将所述当前边界点存储至所述边界点序列中;
控制模块,用于控制所述移动机器人按照所述旋转角度进行旋转。
另一方面提供了一种控制设备,包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由所述处理器加载并执行以实现如上所述的移动机器人控制方法。
另一方面提供了一种计算机存储介质,所述计算机存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如上所述的移动机器人控制方法。
由于上述技术方案,本发明具有如下有益效果:
本发明在每次检测到边界时,均将该边界对应的边界点记录下来,并利用当前检测到的边界点和历史记录的边界点,对当前移动机器人是否处于狭窄区域进行判定,然后根据判定的结果对预设值进行调整;由于预设值指示了移动机器人连续处于狭窄区域的情况,从而根据预设值可以更合理的确定出移动机器人的旋转角度,使得移动机器人基于该旋转角度能够快速的脱离出狭窄区域,减少时间和资源的浪费,提高工作效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明实施例提供的一种应用环境的示意图。
图2是本发明实施例提供的一种移动机器人控制方法的流程示意图。
图3是本发明实施例提供的另一种移动机器人控制方法的流程示意图。
图4是本发明实施例提供的另一种移动机器人控制方法的流程示意图。
图5是本发明实施例提供的选取连续的边界点所形成的三角形结构示意图。
图6是本发明实施例提供的一种狭窄区域判定的流程示意图。
图7是本发明实施例提供的另一种狭窄区域判定的流程示意图。
图8是本发明实施例提供的一种移动机器人控制方法的一个示例。
图9是本发明实施例提供的一种移动机器人控制装置的结构框图示意图。
图10是本发明实施例提供的控制设备的硬件结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,其示出了本发明实施例提供的一种应用环境示意图,在图1中以割草机器人执行割草任务为例进行说明。如图1所示,该应用环境可以包括割草机器人1、边界线2和障碍物3,割草机器人1在由边界线2围绕成的工作区域4中执行割草任务,障碍物3是泛指花坛、篱笆以及墙壁等阻碍割草机器人行进的物体。
割草机器人1在启动时,会启动一个计数器,以记录连续处于狭窄区域的情况;在行进过程中,记录下每次检测到边界时的边界点,并根据当前边界点和历史记录的边界点确定当前是否处于狭窄区域;并根据狭窄区域的确定结果,对计数器的值进行调整;然后基于计数器的值,确定需要旋转的角度。
如图1中,割草机器人1在执行割草任务过程中按预先规划的行驶路径行进。在行驶过程中,先检测到障碍物3的边界,记录下边界点A,当前历史记 录中并未包含任何边界点,割草机器人1按照默认方式选择旋转角度,并将边界点A保存至历史记录中;接着,检测到边界线2的边界,记录下边界点B,当前历史记录中已存储有边界点A,可以根据边界点A和边界点B确定是否处于狭窄区域,根据狭窄区域确定结果对计数器的值进行调整,基于计数器的值选择旋转角度,并将边界点B存储至历史记录中;然后,检测到边界线2的边界,记录下边界点C,当前历史记录中已存储有边界点A和边界点B,可以根据边界点A、边界点B以及边界点C确定是否处于狭窄区域,根据狭窄区域确定结果对计数器的值进行调整,基于计数器的值选择旋转角度,并将边界点C存储至历史记录中。
通过记录历史的边界点,确定是否处于狭窄区域以及确定连续处于狭窄区域的情况,来确定割草机器人的旋转角度,可以防止割草机器人长时间处于狭窄区域时,由于不能选择合适的旋转角度,导致不能快速脱离出狭窄区域,影响割草机器人的割草效率。
需要说明的是,图1仅仅是一个示例。在一些实施例中,割草机器人也可以是其他类型的移动机器人,例如清洁机器人等等。
在实际应用中,移动机器人的工作区域内可能存在各种规则或不规则的障碍物,这就需要移动机器人能够快速适应这些不同障碍物组成的复杂环境,从而尽快完成工作任务。比如,越来越多的家庭选择使用割草机器人来修剪草坪,但是不同家庭的草坪面积,布局,摆设是多种多样的,这就需要割草机器人能够更加智能化的,更加快速的完成草坪的修剪。
而在草坪中往往存在比较长的狭窄的通道,或者比较狭小的区域,割草机器人进入这些区域后,无法快速脱离,在里面花费大量时间和电量进行割草,这对整个修剪草坪的效率造成极大的影响,同时也造成时间和能源的浪费。
由此可见,在使用移动机器人执行工作任务时,由于各种边界线或障碍物的存在,将会出现很多不同大小的区域,如何快速确定这些区域是否是狭窄区域,以及处于狭窄区域时能快速脱离,将会对移动机器人完成工作任务产生至关重要的影响。
基于以上描述,为了能准确确定移动机器人是否处于狭窄区域,以及当处于狭窄区域时能够快速通过狭窄区域,减少时间和资源的浪费,提高移动机器人的工作效率,本发明实施例提供了一种移动机器人控制方法。
图2是本发明实施例提供的一种移动机器人控制方法的流程示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,所述方法可以包括:
S201,当移动机器人检测到边界时,获取当前边界点。
本发明实施例中,移动机器人是指自动执行工作的机器装置,边界是指阻碍移动机器人行进的边界线以及各种障碍物的边缘,当前边界点用于指示所检测到的边界的位置,如图1中的边界点A、边界点B以及边界点C。其中,边界线可以是物理的,例如墙、篱笆等,也可是电磁线等。
在具体实施时,如图1所示,可以以移动机器人启动时的中心点位置为原点,以移动机器人的当前朝向为y轴正方向,垂直于y轴方向为x轴方向建立参考坐标系,基于该参考坐标系获取当前边界点的坐标。可以理解的,对于安装有陀螺仪的移动机器人,也可以基于陀螺仪的偏移来确定出当前边界点的坐标,本说明书对当前边界点的获取方式不做具体限定。
S202,基于所述当前边界点与边界点序列中的各个边界点,对所述移动机器人是否处于狭窄区域进行判定,其中,所述边界点序列中的每个所述边界点是所述移动机器人每次检测到所述边界时所记录的。
在移动机器人工作过程中,将每次检测到边界时对应的边界点记录下来,并存储至边界点序列中。在基于所述当前边界点与边界点序列中的各个边界点,对所述移动机器人是否处于狭窄区域进行判定之前,可以对边界点序列中的边界点个数进行判定。如果边界点个数小于预设边界点数,则从默认范围中随机选择一个角度作为移动机器人的旋转角度。通常而言,该默认范围是程序预先设定的能够避免与边界发生碰撞的范围,例如60度到120度之间。
如果边界点序列中的边界点个数大于或等于预设边界点数,则执行步骤S02,基于所述当前边界点与边界点序列中的各个边界点,对所述移动机器人是否处于狭窄区域进行判定。
具体而言,参照图3中所示,步骤S202可以包括:
S2021,从所述边界点序列中获取所述当前边界点的前预设个数连续的边界点。
本发明实施例中,连续的边界点是指连续检测到边界时所记录的边界点。例如,若用C i表示第i次检测到边界时所记录的边界点,当前边界点用C n表示,则C n的前预设个数连续的边界点依次为C n-1、C n-2、C n-3、C n-4、...。若将该预设个数连续的边界点确定为一个边界点序列,假设当前是第9次检测到边界,当前边界点可用C 9表示,若预设个数为6个,则由前6次检测到边界时所记录的边界点构成边界点序列为{C 8,C 7,C 6,C 5,C 4,C 3}。
S2022,基于所述预设个数连续的边界点与所述当前边界点,对移动机器人是否处于狭窄区域进行判定。
由于每个边界点都是每次检测到边界时所记录的,如果所记录的边界点的时间与当前时间间隔较远,该边界点将不具有参考价值,可以将该边界点剔除。鉴于此,步骤S2022可以包括:由所述预设个数连续的边界点构成一个边界点序列,并获取当前时间;将所述当前时间与预设时间间隔值相加,得到参考时间;在所述边界点序列中,将每个边界点对应的记录时间与所述参考时间进行比较;若所述记录时间早于所述参考时间,则将所述边界点从所述边界点序列中剔除,得到目标序列;根据所述目标序列中各个边界点,对移动机器人是否处于狭窄区域进行判定。
在具体实施时,可以统计目标序列中边界点的个数,如果边界点的个数大于设定的阈值,则可判定移动机器人处于狭窄区域;如果边界点的个数小于或等于该设定的阈值,则可判定移动机器人未处于/脱离狭窄区域。
除此之外,在一些实施例中,也可以直接选取前两个连续的边界点结合当前边界点,对移动机器人是否处于狭窄区域进行判定。参照图4中所示,步骤S2021可以包括:
S20211,从所述边界点序列中获取第一边界点和第二边界点,其中,所述第一边界点为上上次检测到所述边界时所记录的边界点,所述第二边界点为上一次检测到所述边界时所记录的边界点。
相应的,步骤S2022可以包括:
S20221,以所述当前边界点、所述第一边界点和所述第二边界点为顶点,确定一个三角形结构。
S20222,基于所述三角形结构,对所述移动机器人是否处于所述狭窄区域进行判定。
可以理解的,也可以从上述经过时间筛选后的目标序列中获取第一边界点和第二边界点。换言之,在第一边界点和第二边界点对应的记录时间均晚于参考时间时,才根据当前边界点、第一边界点和第二边界点所形成的三角形结构确定机器人是否处于狭窄区域。
如图5所示,若用C n表示当前边界点,则所选取的第一边界点为C n-2,第二边界点为C n-1,由C n、C n-2以及C n-1为顶点所确定的三角形ΔC nC n-2C n-1来确定移动机器人是否处于狭窄区域。
具体如图6所示,步骤S20222可以包括:
S202221,在所述三角形结构中,分别计算所述第二边界点与所述当前边界点和所述第一边界点之间的距离,得到第一距离和第二距离。
如图5中的三角形结构,基于第二边界点C n-1、当前边界点C n和第一边界点C n-2的坐标,可以通过海伦公式分别计算出边C nC n-1以及边C n-1C n-2的边长,得到第一距离d 1和第二距离d 2
S202222,基于所述第一距离和所述第二距离,对所述移动机器人是否处于所述狭窄区域进行判定。
本发明实施例中,如图7所示,步骤S202222可以包括:
S701,判断第一距离是否小于或等于第一预设阈值。
若第一距离大于第一预设阈值,则执行步骤S706;若第一距离小于或等于第一预设阈值则执行步骤S702。
S702,判断第二距离是否小于或等于第一预设阈值。
若第二距离大于第一预设阈值,则执行步骤S706;若第二距离小于或等于第一预设阈值则执行步骤S703。
S703,将当前边界点和第一边界点之间连线所形成的边,确定为参考边。
S704,计算第二边界点到参考边的垂直距离。
S705,判断垂直距离是否小于第二预设阈值。
若垂直距离大于或等于第二预设阈值,则执行步骤S706;若垂直距离小于或等于第二预设阈值则执行步骤S707。
S706,判定移动机器人未处于狭窄区域。
S707,判断移动机器人处于狭窄区域。
举例说明,参照图5中所示,第一距离为边C nC n-1的边长d 1,第二距离为边C n-1C n-2的边长d 2,只要d 1和d 2中任意一个大于第一预设阈值,则说明两个边界点之间有足够的空间可以使移动机器人通过,因而判定移动机器人未处于狭窄区域。若d 1和d 2均小于或等于第一预设阈值,由于第二边界点C n-1为中间点,可通过第二边界点C n-2到边C nC n-2的垂直距离h,确定移动机器人是否处于狭窄区域。如果h大于或等于第二预设阈值,由于h可看成是垂直于边C nC n-2的区域的横向距离,在横向距离足够大时,该区域也有足够的构建使移动机器人通过,因而判定移动机器人未处于狭窄区域。
S203,基于所述判定的结果,对预设值进行调整,所述预设值用于指示所述移动机器人连续处于所述狭窄区域的情况。
本发明实施例中,预设值包括预设计数器的值和预设计时器的值,当移动机器人启动工作时,会启动预设计数器或预设计时器,在每次对狭窄区域判定结束后,会基于判定结果对该预设计数器的值或该预设计时器的值进行调整。
具体地,若所述预设值为预设计数器的值,则步骤S203可以包括:若所述判定的结果表征所述移动机器人处于所述狭窄区域,则将所述预设计数器的值加第一预设数值;若所述判定的结果表征所述移动机器人未处于所述狭窄区域,则将所述预设计数器的值设置为预设初始值。
其中,第一预设数值可以是任意固定的数值或者按照预设计算方式所确定的值,通常可以将第一预设数值设置为1。一旦检测到移动机器人未处于狭窄区域,即移动机器人脱离狭窄区域,则将预设计数器的值恢复到初始状态,例如恢复到零。可以理解的,预设计数器的值越大,表示移动机器处于狭窄区域中的时间越长,当预设初始值为0,第一预设数值为1时,预设计数器可表征移动机器人连续处于狭窄区域的次数。
进一步的,若所述预设值为预设计时器的值,则步骤S203还可以包括:若所述判定的结果表征所述移动机器人未处于所述狭窄区域,则将所述预设计时器的值进行重置。也就是说,在判定结果表征移动机器人处于狭窄区域时,预设计时器继续进行计时操作;反之,则将预设计时器的值重置为初始状态,也即重置为零。
S204,根据所述预设值确定所述移动机器人的旋转角度,并将所述当前边 界点存储至所述边界点序列中。
具体地,步骤S204可以包括:将预设范围集中与所述预设值匹配的预设范围,确定为目标范围;其中,所述预设范围集中各个所述预设范围与所述预设值成反比关系;在所述目标范围内随机选取一个角度,作为所述移动机器人的旋转角度。
本发明实施例中,预设范围与预设值成反比关系是指预设值越大,预设范围的最小角度和最大角度越大,预设值越小,预设范围的最小角度和最大角度越小。预设范围集中存储有不同预设值(包括预设计数器的值和预设计时器的值)对应的预设范围,每个预设范围可以根据具体应用环境进行设置。以预设计数器的值为例,若预设初始值为0,每次增加的步长即第一预设数值为1,则具体实施时,各预设范围可以按照如下表所示进行设置:
预设计数器的值 预设范围
0 (60°,90°)
1 (45°,75°)
2 (30°,60°)
大于或等于3 (15°,45°)
也就是说,若移动机器人并未处于狭窄区域,则随机选取旋转角度的范围为(60°,90°);若移动机器人连续1次处于狭窄区域,则随机选取旋转角度的范围为(45°,75°);若移动机器人连续2次处于狭窄区域,则随机选取旋转角度的范围为(30°,60°);若连续3次及以上处于狭窄区域,则随机选取旋转角度的范围为(15°,45°)。
可以理解的,预设值越大,说明移动机器人长期处于狭窄区域的概率越大,若旋转角度的值过大,可能会对移动机器人的旋转进行多次控制,才能使移动机器人脱离出狭窄区域。因而,预设范围与预设值成反比关系,也即预设值越大,预设范围的最小值和最大值也越大。如上表中,当预设计数器的值为0时,预设范围的最小角度为60°,最大值为90°;当预设计数器的值为1时,预设范围的最小角度为45°,最大值为75°;当预设计数器的值为2时,预设范围的最小角度为30°,最大值为60°;当预设计数器的值大于或等于3时,预设范围的最小角度为15°,最大值为45°。
需要说明的是,上表中各预设计数器的值所对应的预设范围仅仅是一个示 例,并不用于限定本发明实施例。
S205,控制所述移动机器人按照所述旋转角度进行旋转。
下面以割草机器人为例,对本发明的移动机器人控制方法进行详细阐述。
如图8中所示,其为本发明实施例提供的一种移动机器人控制方法的一个示例。在图8中,在工作区域内有一规则花坛,花坛宽度边缘距离边界线的距离是200cm,花坛长度边缘一侧距离边界线的距离是80cm。
假设预设值为预设计数器的值,第一预设阈值为5m(三角形边长的阈值),第二预设阈值为1m(垂直距离的阈值),预设计数器的预设初始值为0,预设计数器每次增加的步长即第一预设数值为1,预设边界点数2(边界点序列中边界点个数的阈值),预设个数也为2(从边界点序列中选取的连续的边界点个数)。S为割草机器人执行割草任务的启动点,C 1、C 2、C 2、C 3、C 4、C 5、C 6、C 7、C 8、C 9、C 10以及C 11为执行割草任务过程中检测到的各边界点。
割草机器人在S位置处启动工作,将预设计数器的值设置为预设初始值(0)。
第一次检测到边界时,记录当前边界点C 1,边界点序列中的边界点个数为0,小于预设边界点数(2),预设计数器的值为0,在(60°,90°)范围内随机选取一个角度作为旋转角度控制割草机器人旋转,将C 1加入到边界点序列中,此时边界点序列为{C 1}。
第二次检测到边界时,记录当前边界点C 2,边界点序列中的边界点个数为1,小于预设边界点数(2),预设计数器的值为0,在(60°,90°)范围内随机选取一个角度作为旋转角度控制割草机器人旋转,将C 2加入到边界点序列中,此时边界点序列为{C 1,C 2}。
第三次检测到边界时,记录当前边界点C 3,边界点序列中的边界点个数为2,等于预设边界点数(2),然后从边界点序列中获取前两次连续的边界点即C 1和C 2,并由C 1、C 2和C 3三个点为顶点组成的三角形ΔC 1C 2C 3确定割草机器人是否处于狭窄区域。
在狭窄区域的判定过程中,先判断由C 1和C 2两点连线形成的边长,以及由C 2和C 3两点连线形成的边长,是否均小于或等于第一预设阈值(5m)。如果两者有任意一个大于5m,则判定未处于狭窄区域,并将预设计数器的值设置为预设初始值(0);如果两者均小于或等于5m,则获取边界点C 2到由C 1和C 3两点连线形成的边长的垂直距离;如果该垂直距离小于第二预设阈值(1m),则判定 处于狭窄区域,将预设计数器的值加第一预设数值(1);如果该垂直距离大于或等于1m,则判定未处于狭窄区域,并将预设计数器的值设置为预设初始值(0)。
假设此时判定结果是移动机器人未处于狭窄区域,即预设计数器的值为0,则在(60°,90°)范围内随机选取一个角度作为旋转角度控制割草机器人旋转,并将C 3加入到边界点序列中,此时边界点序列为{C 1,C 2,C 3}。
按照上述步骤,依次对每次检测到边界时是否处于狭窄区域进行判定,然后根据判定结果调整预设计数器的值,并基于预设计数器的值,选择旋转角度的范围,从而控制割草机器人的旋转。
若在第四次、第五次以及第六次检测到边界时,所判定的结果均是移动机器人未处于狭窄区域,即预设计数器的值为0。
而当第七次检测到边界时,此时边界点序列为{C 1,C 2,C 3,C 4,C 5,C 6},当前边界点为C 7,在由C 5、C 6和C 7三个点为顶点组成的三角形ΔC 5C 6C 7中,C 6到边C 5C 7的垂直距离(60cm)小于1m,判定割草机器人处于狭窄区域中,因而将预设计数器的值加1。即预设计数器的值为1,则在(45°,75°)范围内随机选取一个角度作为旋转角度控制割草机器人旋转。
当第八次检测到边界时,基于由C 6、C 7和C 8三个点为顶点组成的三角形ΔC 6C 7C 8确定割草机器人处于狭窄区域中,由于花坛离边界线的距离是80cm,垂直距离肯定小于1m,因而将预设计数器的值加1。即预设计数器的值为2,则在(30°,60°)范围内随机选取一个角度作为旋转角度控制割草机器人旋转。
当第九次以及第十次检测到边界时,也均判定割草机器人处于狭窄区域中,满足预设计数器的值大于或等于3的条件,将在(15°,45°)范围内随机选取一个角度作为旋转角度控制割草机器人旋转。
当第十一次检测到边界时,由于C 10到由C 9和C 11两点连线组成的边的垂直距离大于1m,判定割草机器人脱离狭窄区域,因而将预设计数器的值设置为预设初始值(0)。基于预设计数器的值,将在(60°,90°)范围内随机选取一个角度作为旋转角度控制割草机器人旋转。
上述示例中,割草机器人在割草过程中,记录每次检测到边界时对应的边界点位置。当所记录的边界点的个数大于或等于设定值时,选取与当前边界点C n连续的前两个边界点C n-2和C n-1,分别计算出边界点C n-1与边界点C n和边界点C n-2之间连线所形成的边的长度d 1和d 2。如果d 1和d 2中有任意一个大于第一预 设阈值,则判定割草机器人脱离/未处于狭窄区域;如果d 1和d 2均小于或等于第一预设阈值,则计算边界点C n-1到由边界点C n和边界点C n-2之间连线所形成的边的垂直距离h。如果h小于第二预设阈值,则判定割草机器人处于狭窄区域;如果h大于或等于第二预设阈值,则判定割草机器人脱离/未处于狭窄区域。
每次判定割草机器人处于狭窄区域时,将预设计数器的值加1;一旦判定割草机器人脱离/未处于狭窄区域,将预设计数器的值清零。然后,基于预设计数器的值,选取预先设定的角度范围,在该角度范围中随机选取一个角度作为移动机器人的旋转角度。
需要说明的是,第一预设阈值、第二预设阈值以及预设范围等预先设定的值与割草机器人的工作环境有关,因而在实际应用中,可以根据具体实施环境对本发明实施例中所提供的各种预设值进行设定,在此不做具体限定。
由上述实施例提供的技术方案可见,本发明在每次检测到边界时,均将该边界对应的边界点记录下来,并利用当前检测到的边界点和历史记录的边界点,对当前移动机器人是否处于狭窄区域进行判定,然后根据判定的结果对预设值进行调整;由于预设值指示了移动机器人连续处于狭窄区域的情况,从而根据预设值可以更合理的确定出移动机器人的旋转角度,使得移动机器人基于该旋转角度能够快速的脱离出狭窄区域,减少时间和资源的浪费,提高工作效率。
本发明实施例还提供了一种移动机器人控制装置,如图9所示,所述装置可以包括:
边界点获取模块910,用于当移动机器人检测到边界时,获取当前边界点;
狭窄区域判定模块920,用于基于所述当前边界点与边界点序列中的各个边界点,对所述移动机器人是否处于狭窄区域进行判定,其中,所述边界点序列中的每个所述边界点是所述移动机器人每次检测到所述边界时所记录的;
预设值调整模块930,用于基于所述判定的结果,对预设值进行调整,所述预设值用于指示所述移动机器人连续处于所述狭窄区域的情况;
角度确定模块940,用于根据所述预设值确定所述移动机器人的旋转角度,并将所述当前边界点存储至所述边界点序列中;
控制模块950,用于控制所述移动机器人按照所述旋转角度进行旋转。
在一个可行的实施方式中,所述装置还可以包括:
边界点数确定模块,用于判断所述边界点序列中的边界点个数是否大于或 等于预设边界点数。
在一个可行的实施方式中,所述狭窄区域判定模块920可以包括:
第一边界点选取单元,用于从所述边界点序列中获取所述当前边界点的前预设个数连续的边界点;
第一判定单元,用于基于所述预设个数连续的边界点与所述当前边界点,对移动机器人是否处于狭窄区域进行判定。
在一个可行的实施方式中,所述第一边界点选取单元可以包括:
第二边界点选取单元,用于从所述边界点序列中获取第一边界点和第二边界点,其中,所述第一边界点为上上次检测到所述边界时所记录的边界点,所述第二边界点为上一次检测到所述边界时所记录的边界点。
相应的,第一判定单元可以包括:
结构确定单元,用于以所述当前边界点、所述第一边界点和所述第二边界点为顶点,确定一个三角形结构;
第二判定单元,用于基于所述三角形结构,对所述移动机器人是否处于所述狭窄区域进行判定。
在另一个可行的实施方式中,所述第二判定单元可以包括:
边长计算单元,用于在所述三角形结构中,分别计算所述第二边界点与所述当前边界点和所述第一边界点之间的距离,得到第一距离和第二距离;
第三判定单元,用于基于所述第一距离和所述第二距离,对所述移动机器人是否处于所述狭窄区域进行判定。
在另一个可行的实施方式中,所述第三判定单元可以包括:
边长判断单元,用于判断所述第一距离和所述第二距离是否均小于或等于第一预设阈值;
第一结果处理单元,用于在所述第一距离大于所述第一预设阈值,或者,所述第二距离大于所述第一预设阈值的情况下,判定所述移动机器人未处于所述狭窄区域。
参考边确定单元,用于在所述第一距离和所述第二距离均小于或等于所述第一预设阈值的情况下,将所述当前边界点和所述第一边界点之间连线所形成的边,确定为参考边;
垂直距离判断单元,用于判断所述垂直距离是否小于第二预设阈值;
第二结果处理单元,用于在所述垂直距离小于所述第二预设阈值的情况下,判定所述移动机器人处于所述狭窄区域;
第三结果处理单元,用于在所述垂直距离大于或等于所述第二预设阈值的情况下,判定所述移动机器人未处于所述狭窄区域。
本申请实施例中,预设值可以包括预设计数器的值和预设计时器的值。
在另一个可行的实施方式中,在预设值为预设计数器的值的情况下,所述预设值调整模块930可以包括:
增加单元,用于在所述判定的结果表征所述移动机器人处于所述狭窄区域的情况下,将所述预设计数器的值加第一预设数值;
恢复单元,用于在所述判定的结果表征所述移动机器人未处于所述狭窄区域的情况下,将所述预设计数器的值设置为预设初始值。
在另一个可行的实施方式中,在预设值为预设计时器的值的情况下,所述预设值调整模块930可以包括:
重置单元,用于在所述判定的结果表征所述移动机器人未处于所述狭窄区域的情况下,将所述预设计时器的值进行重置。
在另一个可行的实施方式中,所述角度确定模块940可以包括:
角度范围确定单元,用于将预设范围集中与所述预设值匹配的预设范围,确定为目标范围;其中,所述预设范围集中各个所述预设范围与所述预设值成反比关系;
角度选取单元,用于在所述目标范围内随机选取一个角度,作为所述移动机器人的旋转角度。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本发明实施例还提供了一种控制设备,其特征在于,包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由所述处理器加载并执行以实现上述方法实施例所提供的移动机器人控制方法。
进一步地,图10示出了本发明实施例提供的控制设备的硬件结构示意图,该控制设备可以参与构成或包含本发明实施例所提供的移动机器人控制装置。如图10所示,控制设备10可以包括一个或多个(图中采用1002a、1002b,……,1002n来示出)处理器1002(处理器1002可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器1004、以及用于通信功能的传输装置1006。除此以外,还可以包括:输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图10所示的结构仅为示意,其并不对上述控制设备的结构造成限定。例如,控制设备10还可包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。
应当注意到的是上述一个或多个处理器1002和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到控制设备10(或移动设备)中的其他元件中的任意一个内。如本发明实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器1004可用于存储应用软件的软件程序以及模块,如本发明实施例中所述的方法对应的程序指令/数据存储装置,处理器1002通过运行存储在存储器1004内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的移动机器人控制方法。存储器1004可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1004可进一步包括相对于处理器1002远程设置的存储器,这些远程存储器可以通过网络连接至控制设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括控制设备10的通信供应商提供的无线网络。在一个示例中,传输装置1006包括一个网络适配器(NetworkInterfaceController,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实施例中,传输装置1006可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本发明实施例还提供了一种存储介质,该存储介质可设置于控制设备之中 以保存用于实现方法实施例中一种移动机器人控制方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述方法实施例提供的移动机器人控制方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述说明已经充分揭露了本发明的具体实施方式。需要指出的是,熟悉该领域的技术人员对本发明的具体实施方式所做的任何改动均不脱离本发明的权利要求书的范围。相应地,本发明的权利要求的范围也并不仅仅局限于前述具体实施方式。

Claims (10)

  1. 一种移动机器人控制方法,其特征在于,所述方法包括:
    当移动机器人检测到边界时,获取当前边界点;
    基于所述当前边界点与边界点序列中的各个边界点,对所述移动机器人是否处于狭窄区域进行判定,其中,所述边界点序列中的每个所述边界点是所述移动机器人每次检测到所述边界时所记录的;
    基于所述判定的结果,对预设值进行调整,所述预设值用于指示所述移动机器人连续处于所述狭窄区域的情况;
    根据所述预设值确定所述移动机器人的旋转角度,并将所述当前边界点存储至所述边界点序列中;
    控制所述移动机器人按照所述旋转角度进行旋转。
  2. 根据权利要求1所述的方法,其特征在于,在所述基于所述当前边界点与边界点序列中的各个边界点,对所述移动机器人是否处于狭窄区域进行判定之前,还包括:
    判断所述边界点序列中的边界点个数是否大于或等于预设边界点数;
    若所述边界点个数大于或等于所述预设边界点数,则执行所述基于所述当前边界点与边界点序列中的各个边界点,对所述移动机器人是否处于狭窄区域进行判定的步骤。
  3. 根据权利要求1或2所述的方法,其特征在于,所述基于所述当前边界点与边界点序列中的各个边界点,对所述移动机器人是否处于狭窄区域进行判定,包括:
    从所述边界点序列中获取所述当前边界点的前预设个数连续的边界点;
    基于所述预设个数连续的边界点与所述当前边界点,对移动机器人是否处于狭窄区域进行判定。
  4. 根据权利要求3所述的方法,其特征在于,所述从所述边界点序列中获取所述当前边界点的前预设个数连续的边界点,包括:
    从所述边界点序列中获取第一边界点和第二边界点,其中,所述第一边界点为上上次检测到所述边界时所记录的边界点,所述第二边界点为上一次检测到所述边界时所记录的边界点;
    相应的,所述基于所述预设个数连续的边界点与所述当前边界点,对移动机器人是否处于狭窄区域进行判定,包括:
    以所述当前边界点、所述第一边界点和所述第二边界点为顶点,确定一个三角形结构;
    基于所述三角形结构,对所述移动机器人是否处于所述狭窄区域进行判定。
  5. 根据权利要求4所述的方法,其特征在于,所述基于所述三角形结构,对所述移动机器人是否处于所述狭窄区域进行判定,包括:
    在所述三角形结构中,分别计算所述第二边界点与所述当前边界点和所述第一边界点之间的距离,得到第一距离和第二距离;
    基于所述第一距离和所述第二距离,对所述移动机器人是否处于所述狭窄区域进行判定;
    优选的,所述基于所述第一距离和所述第二距离,对所述移动机器人是否处于所述狭窄区域进行判定,包括:
    判断所述第一距离和所述第二距离是否均小于或等于第一预设阈值;
    若所述第一距离大于所述第一预设阈值,或者,所述第二距离大于所述第一预设阈值,则判定所述移动机器人未处于所述狭窄区域;
    优选的,所述方法还包括:
    若所述第一距离和所述第二距离均小于或等于所述第一预设阈值,则将所述当前边界点和所述第一边界点之间连线所形成的边,确定为参考边;
    计算所述第二边界点到所述参考边的垂直距离;
    判断所述垂直距离是否小于第二预设阈值;
    若所述垂直距离小于所述第二预设阈值,则判定所述移动机器人处于所述狭窄区域;
    若所述垂直距离大于或等于所述第二预设阈值,则判定所述移动机器人未 处于所述狭窄区域。
  6. 根据权利要求1或2所述的方法,其特征在于,若所述预设值为预设计数器的值,则所述基于所述判定的结果,对预设值进行调整,包括:
    若所述判定的结果表征所述移动机器人处于所述狭窄区域,则将所述预设计数器的值加第一预设数值;
    若所述判定的结果表征所述移动机器人未处于所述狭窄区域,则将所述预设计数器的值设置为预设初始值;
    若所述预设值为预设计时器的值,则所述基于所述判定的结果,对预设值进行调整,包括:
    若所述判定的结果表征所述移动机器人未处于所述狭窄区域,则将所述预设计时器的值进行重置。
  7. 根据权利要求1或2所述的方法,其特征在于,所述根据所述预设值确定所述移动机器人的旋转角度,包括:
    将预设范围集中与所述预设值匹配的预设范围,确定为目标范围;其中,所述预设范围集中各个所述预设范围与所述预设值成反比关系;
    在所述目标范围内随机选取一个角度,作为所述移动机器人的旋转角度。
  8. 一种移动机器人控制装置,其特征在于,所述装置包括:
    边界点获取模块,用于当移动机器人检测到边界时,获取当前边界点;
    狭窄区域判定模块,用于基于所述当前边界点与边界点序列中的各个边界点,对所述移动机器人是否处于狭窄区域进行判定,其中,所述边界点序列中的每个所述边界点是所述移动机器人每次检测到所述边界时所记录的;
    预设值调整模块,用于基于所述判定的结果,对预设值进行调整,所述预设值用于指示所述移动机器人连续处于所述狭窄区域的情况;
    角度确定模块,用于根据所述预设值确定所述移动机器人的旋转角度,并将所述当前边界点存储至所述边界点序列中;
    控制模块,用于控制所述移动机器人按照所述旋转角度进行旋转。
  9. 一种控制设备,其特征在于,包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由所述处理器加载并执行以实现如权利要求1-7任一所述的移动机器人控制方法。
  10. 一种计算机存储介质,其特征在于,所述计算机存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1-7任一所述的移动机器人控制方法。
PCT/CN2021/082536 2020-12-22 2021-03-24 移动机器人控制方法、装置、设备及存储介质 WO2022134336A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011529992.9 2020-12-22
CN202011529992.9A CN114721364A (zh) 2020-12-22 2020-12-22 移动机器人控制方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
WO2022134336A1 true WO2022134336A1 (zh) 2022-06-30

Family

ID=82157282

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/082536 WO2022134336A1 (zh) 2020-12-22 2021-03-24 移动机器人控制方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN114721364A (zh)
WO (1) WO2022134336A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115951672A (zh) * 2022-12-15 2023-04-11 锐趣科技(北京)有限公司 一种机器人通过狭窄通道的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120106828A1 (en) * 2010-11-03 2012-05-03 Samsung Electronics Co., Ltd Mobile robot and simultaneous localization and map building method thereof
CN111486842A (zh) * 2019-01-29 2020-08-04 深圳市优必选科技有限公司 重定位方法及装置、机器人
CN112033410A (zh) * 2020-09-03 2020-12-04 中南大学 移动机器人环境地图构建方法、系统及存储介质
CN112099488A (zh) * 2020-08-14 2020-12-18 深圳拓邦股份有限公司 移动机器人的窄道通行方法、装置、割草机以及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120106828A1 (en) * 2010-11-03 2012-05-03 Samsung Electronics Co., Ltd Mobile robot and simultaneous localization and map building method thereof
CN111486842A (zh) * 2019-01-29 2020-08-04 深圳市优必选科技有限公司 重定位方法及装置、机器人
CN112099488A (zh) * 2020-08-14 2020-12-18 深圳拓邦股份有限公司 移动机器人的窄道通行方法、装置、割草机以及存储介质
CN112033410A (zh) * 2020-09-03 2020-12-04 中南大学 移动机器人环境地图构建方法、系统及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115951672A (zh) * 2022-12-15 2023-04-11 锐趣科技(北京)有限公司 一种机器人通过狭窄通道的方法
CN115951672B (zh) * 2022-12-15 2024-04-12 锐趣科技(北京)有限公司 一种机器人通过狭窄通道的方法

Also Published As

Publication number Publication date
CN114721364A (zh) 2022-07-08

Similar Documents

Publication Publication Date Title
US11175670B2 (en) Robot-assisted processing of a surface using a robot
CN110316193B (zh) 预瞄距离的设置方法、装置、设备及计算机可读存储介质
CN107752927B (zh) 清洁机器人的区块调整方法、装置、设备及存储介质
WO2022134336A1 (zh) 移动机器人控制方法、装置、设备及存储介质
CN110401511A (zh) 一种传输速率的确定方法、装置、设备和存储介质
Silva et al. odNEAT: An algorithm for distributed online, onboard evolution of robot behaviours
CN110045731B (zh) 一种路径规划方法、电子装置及计算机可读存储介质
WO2009103335A1 (en) Method and system for optimizing the layout of a robot work cell
CN109955245A (zh) 一种机器人的避障方法、系统及机器人
US10613541B1 (en) Surface coverage optimization method for autonomous mobile machines
KR20230009458A (ko) 자율 이동 디바이스를 제어하기 위한 방법 및 장치, 및 디바이스 및 저장 매체
CN111198558A (zh) 行走机器人的控制方法及系统
CN107179083A (zh) 智能机器人路径规划方法以及系统
CN114296446A (zh) 一种自移动设备的行走路径规划方法、系统及存储介质
CN112274063B (zh) 机器人清扫方法、控制装置、可读存储介质及机器人
Pan et al. Chaotic glowworm swarm optimization algorithm based on Gauss mutation
CN114431771B (zh) 一种扫地机器人清扫方法及相关装置
CN114617499B (zh) 一种控制清洁机器人充电的方法、装置及设备
CN114303581A (zh) 一种智能割草机、行走路径规划方法、装置及存储介质
de Vargas et al. Patrolling strategy for multiple UAVs with recharging stations in unknown environments
CN114063612A (zh) 一种路径规划方法、路径规划装置及电子设备
CN110795909B (zh) 片上电源开关链的构建方法、装置、设备及存储介质
WO2020186405A1 (zh) 一种越界返回方法、系统及装置
WO2022110853A1 (zh) 可通行区域的探索方法、装置、存储介质及电子装置
CN108937702A (zh) 一种用于机器人的边界检测方法、装置、机器人及介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21908348

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21908348

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 21908348

Country of ref document: EP

Kind code of ref document: A1