Obstacle avoidance method, self-moving device, and computer-readable storage medium

By using vision sensors on the robot to detect and avoid obstacles, the problem of low obstacle avoidance efficiency in the prior art is solved, and more efficient obstacle detection and obstacle avoidance treatment are achieved.

WO2025055090A1PCT designated stage expired Publication Date: 2025-03-20SHENZHEN HANYANG TECH CO LTD

Patent Information

Application Number
PCT/CN2023/129980
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-11
Filing Date
2023-11-06
Publication Date
2025-03-20

AI Technical Summary

Technical Problem

When existing robots encounter obstacles in their working paths, they have low barrier avoidance efficiency and are easily affected by external environments such as weather, resulting in wear and reduced work efficiency of the robot.

Method used

Vision sensors are used to detect whether there is a target obstacle in the driving direction. If it exists, rotate it in place and re-acquire the driving direction until the obstacle is detected and drive according to the original driving direction.

Benefits of technology

Through the accurate detection of vision sensors, the obstacle detection efficiency and obstacle avoidance efficiency are improved, the detection time for obstacles without impact is reduced, and the robot wear and work interruption is reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2023129980_20032025_PF_FP_ABST
    Figure CN2023129980_20032025_PF_FP_ABST
Patent Text Reader

Abstract

An obstacle avoidance method, a device, and a computer storage medium. The obstacle avoidance method is applied to a robot, and a visual sensor is provided on the robot. The obstacle avoidance method comprises the following steps: obtaining a traveling direction; on the basis of an image collected by the visual sensor, detecting whether there is a target obstacle in the traveling direction; and if it is detected that there is a target obstacle in the traveling direction, rotating in place, re-executing the step of obtaining a traveling direction until it is detected that there is no target obstacle in the traveling direction, and traveling according to the traveling direction.
Need to check novelty before this filing date? Find Prior Art

Description

Obstacle bypass method, self-mobile device, and computer-readable storage medium

[0001] [Corrected 04.12.2023 according to Rule 91] This application claims priority to the Chinese patent application filed with the China Patent Office on September 11, 2023, with application number 202311176854.0, and invention name “Obstacle circumvention method, self-mobile device and computer-readable storage medium”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present application relates to the technical field of self-moving equipment, and in particular to an obstacle circumvention method, a self-moving equipment, and a computer-readable storage medium. Background Art

[0003] With the rapid development of artificial intelligence technology, intelligent robotics technology continues to expand into new areas and play a significant role in human life and industrial production. For example, robots used for tasks such as mowing lawns, removing snow, and sweeping leaves in the home garden can free people from tedious and boring labor, saving labor costs. The inventors realized that such robots may encounter obstacles such as walls, flower pots, and stones during their work, and these obstacles will directly affect the robot's work. If the robot directly ignores the above obstacles, it will not only cause certain wear and tear on the robot body, but also affect the robot's work efficiency. Therefore, how to efficiently avoid obstacles while the robot is working is particularly important.

[0004] In related technologies, existing robots usually use lidar to identify and locate obstacles on the driving route to avoid obstacles. However, this method is easily affected by external environments such as weather, resulting in low obstacle avoidance efficiency.

[0005] Application Contents

[0006] The main purpose of this application is to provide an obstacle avoidance method, a self-mobile device, and a computer-readable storage medium, aiming to solve the technical problem of low obstacle avoidance efficiency in related technologies.

[0007] To achieve the above objectives, the present application provides an obstacle avoidance method, which is applied to a robot equipped with a visual sensor, and includes the following steps:

[0008] Get driving directions;

[0009] Detecting whether there is a target obstacle in the driving direction based on the image collected by the visual sensor;

[0010] When it is detected that there is a target obstacle in the driving direction, the vehicle rotates in place and returns to the step of obtaining the driving direction until it is detected that there is no target obstacle in the driving direction, and then the vehicle drives in the driving direction.

[0011] A self-moving device is provided with a visual sensor. The self-moving device includes a walking device and a controller. The controller is used to control the walking device to avoid obstacles. The controller can run an obstacle avoidance program, and the obstacle avoidance program is configured to implement the steps of the above-mentioned obstacle avoidance method.

[0012] One or more readable storage media, each storing an obstacle avoidance program, the obstacle avoidance program being applied to a robot equipped with a visual sensor, and the obstacle avoidance program implementing the steps of the obstacle avoidance method when executed by a processor.

[0013] An obstacle avoidance method proposed in an embodiment of the present application achieves acquisition of the robot's driving direction by acquiring the driving direction, detects whether there is a target obstacle in the driving direction based on the image captured by the visual sensor, and achieves detection of the target obstacle. When the target obstacle is detected in the driving direction, the robot rotates on the spot and returns to execute the step of acquiring the driving direction until it is detected that there is no target obstacle in the driving direction, and then travels in the driving direction, thereby achieving obstacle avoidance of the robot. In this way, the visual sensor can more accurately detect target obstacles within a small range in the driving direction. On the one hand, the visual sensor is not easily affected by external environments such as weather, so it can avoid repeated detection resulting in a long obstacle detection time, which can improve the obstacle detection efficiency and thus improve the obstacle avoidance efficiency. On the other hand, only detecting target obstacles within a small range in the driving direction can effectively reduce the amount of calculation and detection time consumed for detecting obstacles that have no effect on the robot's driving. It is only necessary to rotate on the spot, re-acquire the driving direction, and detect whether there is the target obstacle in the driving direction. When there is no target obstacle in the driving direction, the target obstacle can be avoided by driving in the driving direction, which overcomes the technical problem in the related art that obstacles on the driving route are identified and located by laser radar for obstacle avoidance processing, which is easily affected by external environments such as weather, resulting in low obstacle avoidance efficiency.

[0014] The details of one or more embodiments of the disclosure are set forth in the accompanying drawings and the description below, and other features and advantages of the disclosure will be apparent from the description, the drawings, and the claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] FIG1 is a schematic diagram of a terminal / device structure of a hardware operating environment involved in an embodiment of the present application;

[0016] FIG2 is a flow chart of an embodiment of an obstacle circumvention method in the present application;

[0017] FIG3 is a flow chart of a possible implementation method of the obstacle circumvention method in the present application;

[0018] FIG4 is a schematic diagram of an operation of an embodiment of the obstacle circumvention method in the present application.

[0019] The realization of the objectives, functional features and advantages of this application will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION

[0020] It should be understood that the specific embodiments described herein are only used to explain the present application and are not intended to limit the present application.

[0021] As shown in FIG1 , FIG1 is a schematic diagram of the terminal structure of the hardware operating environment involved in the embodiment of the present application.

[0022] The terminal in the embodiment of the present application can be a PC, or it can be a smart phone, tablet computer, e-book reader, MP3 (Moving Picture Experts Group Audio Layer III, Moving Picture Experts Compression Standard Audio Layer 3) player, MP4 (Moving Picture Experts Group Audio Layer IV, Moving Picture Experts Compression Standard Audio Layer 3) player, portable computer and other portable terminal devices with display function.

[0023] As shown in Figure 1, the terminal may include: a processor 1001, such as a CPU, a network interface 1004, a user interface 1003, a memory 1005, and a communication bus 1002. Among them, the communication bus 1002 is used to realize the connection and communication between these components. The user interface 1003 may include a display screen (Display), an input unit such as a keyboard (Keyboard), and the user interface 1003 may also include a standard wired interface and a wireless interface. The network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 1005 may be a high-speed RAM memory or a stable memory (non-volatile memory), such as a disk memory. The memory 1005 may also be a storage device independent of the aforementioned processor 1001.

[0024] In one embodiment, the terminal may also include a camera, an RF (Radio Frequency) circuit, a sensor, an audio circuit, a WiFi module, and the like. Among them, the sensors include light sensors, motion sensors, and other sensors. Specifically, the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display screen according to the brightness of the ambient light, and the proximity sensor may turn off the display screen and / or backlight when the mobile terminal is moved to the ear. As a type of motion sensor, the gravity acceleration sensor can detect the magnitude of acceleration in all directions (generally three axes), and can detect the magnitude and direction of gravity when stationary. It can be used for applications that recognize the posture of the mobile terminal (such as horizontal and vertical screen switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer, tapping), etc.; of course, the mobile terminal may also be equipped with other sensors such as gyroscopes, barometers, hygrometers, thermometers, infrared sensors, etc., which will not be repeated here.

[0025] Those skilled in the art will understand that the terminal structure shown in FIG1 does not constitute a limitation on the terminal, and may include more or fewer components than shown, or a combination of certain components, or a different arrangement of components.

[0026] As shown in FIG. 1 , the memory 1005 as a computer storage medium may include an operating system, a network communication module, a user interface module, and a circumvention program.

[0027] In the terminal shown in FIG1 , the network interface 1004 is primarily used to connect to a backend server and communicate data with the backend server; the user interface 1003 is primarily used to connect to a client (user end) and communicate data with the client; and the processor 1001 can be used to call an obstacle avoidance program stored in the memory 1005. The obstacle avoidance program is applied to a robot equipped with a visual sensor and performs the following operations:

[0028] Get driving directions;

[0029] Detecting whether there is a target obstacle in the driving direction based on the image collected by the visual sensor;

[0030] When it is detected that there is a target obstacle in the driving direction, the vehicle rotates in place and returns to the step of obtaining the driving direction until it is detected that there is no target obstacle in the driving direction, and then the vehicle drives in the driving direction.

[0031] In one embodiment, the processor 1001 may call the obstacle avoidance program stored in the memory 1005 and further perform the following operations:

[0032] When a target obstacle is detected in the driving direction, obtaining obstacle position information of the target obstacle;

[0033] The in-situ rotation direction is determined according to the obstacle position information, and the in-situ rotation is performed according to the in-situ rotation direction.

[0034] In one embodiment, the processor 1001 may call the obstacle avoidance program stored in the memory 1005 and further perform the following operations:

[0035] generating a preset area to which the target obstacle belongs based on the obstacle position information, and obtaining area position information of the preset area;

[0036] The in-situ rotation direction is determined according to the area position information, and the in-situ rotation is performed according to the in-situ rotation direction.

[0037] In one embodiment, the area location information includes preset boundary coordinate information; the processor 1001 may call the obstacle avoidance program stored in the memory 1005 and further perform the following operations:

[0038] obtaining robot position information of the robot;

[0039] Determine the in-situ rotation direction according to the preset boundary coordinate information and the robot position information;

[0040] determining a rotation angle according to the preset boundary coordinate information, the robot position information, and the driving direction;

[0041] Perform in-situ rotation according to the in-situ rotation direction and the rotation angle.

[0042] In one embodiment, the preset area includes a rectangular area; the rectangular area includes at least a left rectangular side and a right rectangular side parallel to the driving direction; the robot includes a left endpoint and a right endpoint; the preset boundary coordinate information includes rectangular boundary coordinate information; the processor 1001 may call the obstacle avoidance program stored in the memory 1005 and further perform the following operations:

[0043] Based on the rectangular boundary coordinate information and the robot position information, determine the left vertical distance from the left end point of the robot to the straight line on the left side of the rectangular area and the right vertical distance from the right end point of the robot to the straight line on the right side of the rectangular area;

[0044] If the left vertical distance is greater than the right vertical distance, it is determined that the robot rotates clockwise;

[0045] If the left vertical distance is smaller than the right vertical distance, it is determined that the robot rotates counterclockwise.

[0046] In one embodiment, the preset boundary coordinate information includes rectangular boundary coordinate information; the processor 1001 may call the obstacle avoidance program stored in the memory 1005 and further perform the following operations:

[0047] Determining a first target vertex of the rectangular area and a second target vertex of the robot based on the rectangular boundary coordinate information and the robot position information;

[0048] An angle between a straight line defined by the first target vertex and the second target vertex and the driving direction is determined as a rotation angle, wherein the angle is an acute angle.

[0049] In one embodiment, the processor 1001 may call the obstacle avoidance program stored in the memory 1005 and further perform the following operations:

[0050] When a target obstacle is detected in the driving direction, the current driving direction is determined as the target direction and the vehicle rotates in place;

[0051] In the case of detecting that there is a target obstacle in the driving direction, rotating in place and returning to the step of obtaining the driving direction until it is detected that there is no target obstacle in the driving direction, and after the step of driving in the driving direction, the method further includes:

[0052] Obtaining obstacle position information of the target obstacle and robot position information of the robot;

[0053] Determining an obstacle avoidance distance based on the obstacle position information and the robot position information;

[0054] When it is determined that the robot has traveled the obstacle-avoiding distance, the robot rotates in place to the target direction.

[0055] In one embodiment, the processor 1001 may call the obstacle avoidance program stored in the memory 1005 and further perform the following operations:

[0056] The robot's travel speed is adjusted to a preset obstacle avoidance speed, and the robot travels the obstacle avoidance distance at the preset obstacle avoidance speed.

[0057] 2 , an embodiment of the present application provides an obstacle avoidance method, which is applied to a robot equipped with a visual sensor. The obstacle avoidance method includes:

[0058] Step S10, obtaining the driving direction;

[0059] The execution subject of the method of this embodiment can be an obstacle avoidance device, or an obstacle avoidance terminal device or server. This embodiment takes the obstacle avoidance device as an example. The obstacle avoidance device can be integrated into a terminal device with data processing function, such as a lawn mowing robot, a snow removal robot, a computer, a mobile phone, etc.

[0060] In this embodiment, it should be noted that the robot is a work robot, which is a robot that needs to complete a designated task while driving, where the designated task may be mowing, snow removal, sweeping, etc. In one practicable embodiment, the work robot may be a garden robot, which is a device primarily used for maintaining lawns, parks, and other gardens. The driving direction is the driving direction detected at the current moment, where the driving direction includes a preset working path corresponding to the direction. The preset working path is recorded in a preset map. Specifically, before the robot begins cleaning, the map is created by the robot's positioning device after the robot walks around the work area.

[0061] Exemplarily, the step S10 includes: obtaining the driving direction of the robot.

[0062] Step S20, detecting whether there is a target obstacle in the driving direction based on the image collected by the visual sensor;

[0063] In this embodiment, it should be noted that the visual sensor includes a monocular camera, a binocular camera, a trinocular camera, etc.

[0064] Exemplarily, step S20 includes: performing a series of algorithms such as camera calibration, image feature extraction, and image feature matching on the image captured by the visual sensor to detect whether the target obstacle exists in the driving direction. The specific method for detecting the target obstacle is similar to the prior art and will not be elaborated on in this embodiment.

[0065] Step S30: When it is detected that there is a target obstacle in the driving direction, the vehicle rotates in place and returns to the step of obtaining the driving direction until it is detected that there is no target obstacle in the driving direction, and then the vehicle drives in the driving direction.

[0066] Exemplarily, step S30 includes: upon detecting the presence of a target obstacle in the travel direction, the robot may adjust its angular velocity and linear velocity at a certain distance from the target obstacle, causing the robot to pause and rotate in place, thereby adjusting the robot's travel direction so that the robot can avoid the target obstacle during subsequent travel. Since the travel direction changes during the robot's rotation, the robot returns to the step of obtaining the travel direction while rotating in place, re-obtains a new travel direction after rotation, and detects whether the target obstacle is in the new travel direction. After determining that the target obstacle is not in the robot's travel direction, the robot may travel in the travel direction to avoid the obstacle. For example, upon detecting the presence of a target obstacle in the travel direction, the robot may adjust its speed at a distance of 0.2 m from the target obstacle, causing the robot to pause and rotate in place. After rotating 30 degrees clockwise, the robot updates the travel direction, obtains a new travel direction at the current moment, detects that the target obstacle is not in the new travel direction, and travels a distance to avoid the obstacle in the new travel direction to avoid the obstacle.

[0067] In one embodiment, when a target obstacle is detected in the driving direction, the step of rotating in place includes:

[0068] Step F10: When a target obstacle is detected in the driving direction, the current driving direction is determined as the target direction and the vehicle rotates in place;

[0069] In the case of detecting that there is a target obstacle in the driving direction, rotating in place and returning to the step of obtaining the driving direction until it is detected that there is no target obstacle in the driving direction, and after the step of driving in the driving direction, the method further includes:

[0070] Step F20: Obtaining obstacle position information of the target obstacle and robot position information of the robot;

[0071] Exemplarily, steps F10-F20 include: upon detecting the presence of a target obstacle in the travel direction, determining the currently detected travel direction as the target direction, pausing travel, and rotating in place. While the robot is rotating in place, the robot returns to the step of obtaining a travel direction, re-obtaining a new travel direction after rotation, and detecting whether the target obstacle is in the new travel direction. If it is determined that the target obstacle is not in the travel direction of the robot, a new travel direction is obtained at the current moment. While the robot is traveling in the new travel direction, obstacle position information of the target obstacle and robot position information of the robot are continuously obtained.

[0072] Step F30: determining the obstacle avoidance distance based on the obstacle position information and the robot position information;

[0073] Exemplarily, step F30 includes determining the vertex of the target obstacle closest to the robot based on the obstacle position information and the robot position information, and determining the distance from this vertex to the line on which the robot's front end relative to the travel direction is located as the obstacle avoidance distance. For example, referring to FIG3 , if the robot rotates in place until it is determined that the target obstacle is not in the robot's travel direction, as shown in FIG3 (d), point A is the vertex of the target obstacle closest to the robot, and the distance from point A to line BB1 ​​is the obstacle avoidance distance.

[0074] Step F40: When it is determined that the robot has traveled the obstacle-avoiding distance, the robot rotates in place to the target direction.

[0075] Exemplarily, step F40 includes: after determining that the robot travels the obstacle-avoiding distance in the driving direction, the robot may be rotated in situ to the target direction by adjusting the angular velocity and linear velocity of the robot.

[0076] In one embodiment, after determining the obstacle avoidance distance based on the obstacle position information and the robot position information, the step further includes:

[0077] The robot's travel speed is adjusted to a preset obstacle avoidance speed, and the robot travels the obstacle avoidance distance at the preset obstacle avoidance speed.

[0078] For example, after determining the obstacle avoidance distance, the robot's angular velocity and linear velocity can be adjusted to the preset obstacle avoidance speed, and the robot can travel the obstacle avoidance distance at the preset obstacle avoidance speed. In one practicable embodiment, the robot's angular velocity can be adjusted to pause its rotation, and its linear velocity can be reduced at the current moment, allowing the robot to smoothly bypass the target obstacle and avoid tipping over.

[0079] In one possible implementation, referring to FIG4 , FIG4 is a schematic flow chart of one possible implementation of the obstacle avoidance method of the present application. Assuming the robot is traveling north, the robot detects whether a target obstacle exists in the traveling direction. If not, the robot continues traveling north. If a target obstacle is detected in the traveling direction, the robot may rotate in place at a distance of 0.2 m from the target obstacle. A new traveling direction is obtained, and the robot detects whether the target obstacle exists in the new traveling direction. If not, the robot obtains the current traveling direction. It is determined whether the robot can return to its preset working path by avoiding obstacles based on the current traveling direction. If not, the robot continues rotating until it finds a traveling direction that allows it to return to its preset working path. If so, the target obstacle can be avoided, and the robot travels according to the current traveling direction. After the robot has traveled a certain distance, it is determined whether the robot has avoided the target obstacle. If so, the obstacle avoidance is complete, and the robot rotates in place to return to its preset working path.

[0080] An obstacle avoidance method proposed in an embodiment of the present application achieves acquisition of the robot's driving direction by acquiring the driving direction, detects whether there is a target obstacle in the driving direction based on the image captured by the visual sensor, and achieves detection of the target obstacle. When the target obstacle is detected in the driving direction, the robot rotates on the spot and returns to execute the step of acquiring the driving direction until it is detected that there is no target obstacle in the driving direction, and then travels in the driving direction, thereby achieving obstacle avoidance of the robot. In this way, the visual sensor can more accurately detect target obstacles within a small range in the driving direction. On the one hand, the visual sensor is not easily affected by external environments such as weather, so it can avoid repeated detection resulting in a long obstacle detection time, which can improve the obstacle detection efficiency and thus improve the obstacle avoidance efficiency. On the other hand, only detecting target obstacles within a small range in the driving direction can effectively reduce the amount of calculation and detection time consumed for detecting obstacles that have no effect on the robot's driving. It is only necessary to rotate on the spot, re-acquire the driving direction, and detect whether there is the target obstacle in the driving direction. When there is no target obstacle in the driving direction, the target obstacle can be avoided by driving in the driving direction, which overcomes the technical problem in the related art that obstacles on the driving route are identified and located by laser radar for obstacle avoidance processing, which is easily affected by external environments such as weather, resulting in low obstacle avoidance efficiency.

[0081] Further, referring to FIG3 , FIG3 is a schematic diagram of another embodiment of the obstacle avoidance method of the present application. Based on the above embodiment of the present application, in another embodiment of the present application, the same or similar contents as the above embodiment can be referred to the above introduction and will not be repeated hereafter. On this basis, when the target obstacle is detected in the driving direction, the step of rotating in place includes:

[0082] Step A10: When a target obstacle is detected in the driving direction, obtaining obstacle position information of the target obstacle;

[0083] Exemplarily, step A10 includes: when the target obstacle is detected in the driving direction, the robot can obtain the obstacle position information of the target obstacle through the visual sensor, or extract the obstacle position information of the target obstacle collected by the visual sensor and stored in the memory from the memory.

[0084] In this embodiment, by storing the obstacle position information in the memory, it is ensured that the obstacle position information of the target obstacle can still be obtained when the target obstacle is not within the field of view of the visual sensor.

[0085] Step A20: Determine the in-situ rotation direction according to the obstacle position information, and perform in-situ rotation according to the in-situ rotation direction.

[0086] Exemplarily, step A20 includes: based on the obstacle position information, determining the relative obstacle position information of the target obstacle relative to the robot through coordinate transformation, wherein the relative obstacle position information refers to the obstacle position information established relative to a first base coordinate system, wherein the first base coordinate system refers to a base coordinate system established with the current position of the robot as the center. Alternatively, based on the absolute obstacle position information of the target obstacle, determining an in-place rotation direction, after determining the in-place rotation direction, the robot rotates in-place according to the in-place rotation direction. The absolute obstacle position information refers to the obstacle position information established relative to a second base coordinate system, wherein the second base coordinate system refers to a world coordinate system.

[0087] In one embodiment, the step of determining the in-situ rotation direction based on the obstacle position information and performing in-situ rotation according to the in-situ rotation direction includes:

[0088] Step B10: generating a preset area to which the target obstacle belongs based on the obstacle position information, and obtaining area position information of the preset area;

[0089] Exemplarily, step B10 includes: after obtaining the obstacle position information, the robot can generate a preset area to which the target obstacle belongs based on the obstacle position information, and the preset area includes a rectangular area, a polygonal area, an irregularly shaped area, etc., and then determine the position information of each point in the preset area.

[0090] Step B20: Determine the in-situ rotation direction according to the area position information, and perform in-situ rotation according to the in-situ rotation direction.

[0091] Exemplarily, step B20 includes: determining the geometric center of the preset area through the preset area position information, determining the in-situ rotation direction based on the relative position relationship between the geometric center and the robot, or determining the in-situ rotation direction through the relative position relationship between the boundary of the preset area and the robot.

[0092] In one embodiment, the region position information includes preset boundary coordinate information, and the steps of determining the in-situ rotation direction based on the region position information and performing in-situ rotation according to the in-situ rotation direction include:

[0093] Step C10: Acquire robot position information of the robot;

[0094] Exemplarily, step C10 includes: the robot position information of the robot can be obtained by integrating real-time kinematic measurement technology (RTK), a wheel speed meter and an IMU sensor. In another embodiment, the above-mentioned RTK can perform the positioning function alone, and the wheel speed meter and the IMU sensor ue can be combined to perform the positioning function.

[0095] Step C20: determining the in-situ rotation direction according to the preset boundary coordinate information and the robot position information;

[0096] Exemplarily, step C20 includes: based on the preset boundary coordinate information, the rotation direction can be determined by judging the distance from the preset boundary of the preset area to the robot position, or the in-situ rotation direction can be determined by judging the size of the direction angle of the preset boundary of the preset area relative to the robot position.

[0097] Step C30: determining a rotation angle according to the preset boundary coordinate information, the robot position information, and the driving direction;

[0098] Step C40: performing in-situ rotation according to the in-situ rotation direction and the rotation angle.

[0099] In this embodiment, it should be noted that the numbering of step C20 and step C30 does not limit the order of the steps, that is, step C20 can be executed first and then step C30, or step C30 can be executed first and then step C20, or they can be executed simultaneously.

[0100] Exemplarily, steps C30-C40 include: after determining the rotation direction, rotating in place to find a rotation angle sufficient to circumvent the target obstacle along its edge. Alternatively, the rotation angle may be determined using the rectangular boundary coordinate information, the robot's position information, and the travel direction, and then rotating in place to obtain the rotation angle.

[0101] In one embodiment, the preset area includes a rectangular area; the rectangular area includes at least a left rectangular side and a right rectangular side parallel to the driving direction; the robot includes a left endpoint and a right endpoint; the preset boundary coordinate information includes rectangular boundary coordinate information; and the step of determining the in-situ rotation direction based on the rectangular boundary coordinate information and the robot position information includes:

[0102] Based on the rectangular boundary coordinate information and the robot position information, determine the left vertical distance from the left end point of the robot to the straight line on the left side of the rectangular area and the right vertical distance from the right end point of the robot to the straight line on the right side of the rectangular area;

[0103] If the left vertical distance is greater than the right vertical distance, it is determined that the robot rotates clockwise;

[0104] If the left vertical distance is smaller than the right vertical distance, it is determined that the robot rotates counterclockwise.

[0105] In this embodiment, it should be noted that the left rectangular side refers to the leftmost rectangular side of the rectangular area determined with the driving direction as the front; the right rectangular side refers to the rightmost rectangular side in the driving direction; the left endpoint is the leftmost point of the robot relative to the driving direction, and the right endpoint is the rightmost point of the robot relative to the driving direction.

[0106] Exemplarily, based on the rectangular boundary coordinate information and the robot's position information, the left vertical distance between the robot's left endpoint and the line on the left side of the rectangular area is compared with the right vertical distance between the robot's right endpoint and the line on the right side of the rectangular area. If the left vertical distance is greater than the right vertical distance, the robot rotates clockwise; if the left vertical distance is less than the right vertical distance, the robot rotates counterclockwise. If the left vertical distance is equal to the right vertical distance, the robot's rotation direction can be determined based on the robot's completed work area. If the robot has completed the work area to the right of the travel direction, the robot can rotate counterclockwise; if the robot has completed the work area to the left of the travel direction, the robot can rotate clockwise. The completed work area refers to the robot's completed work area. For example, if a mowing robot encounters a target obstacle while mowing, when the left vertical distance equals the right vertical distance, the mowing robot has completed mowing the area to the right of the travel direction and can rotate counterclockwise.

[0107] In another feasible manner, if the left vertical distance is equal to the right vertical distance, the robot is controlled to walk to one side and then turn to the side that has not been walked.

[0108] In one practicable embodiment, as shown in (a) of FIG3 , if the vertical distance from the vertex B of the robot to the straight line where the Q1Q2 rectangular side of the target obstacle is located is greater than the vertical distance from the vertex B1 to the straight line where the AQ3 rectangular side is located, the robot rotates clockwise, as shown in (b) and (d); if the vertical distance from the vertex B to the straight line where the Q1Q2 rectangular side of the target obstacle is located is less than the vertical distance from the vertex B1 to the straight line where the AQ3 rectangular side is located, the robot rotates counterclockwise, as shown in (c).

[0109] In this embodiment, the application saves the time of the robot in finding the driving direction without the target obstacle by determining the direction in which the target obstacle is closest to the robot as the in-situ rotation direction, and can bypass the target obstacle more quickly.

[0110] In one embodiment, the step of determining the rotation angle according to the rectangular boundary coordinate information, the robot position information and the driving direction includes:

[0111] Step E10: determining a first target vertex of the rectangular area and a second target vertex of the robot based on the rectangular boundary coordinate information and the robot position information;

[0112] Exemplarily, step E10 includes: after determining the in-place rotation direction, based on the coordinate information of the rectangular boundary and the robot position information, finding the vertex closest to the robot in two rectangular boundaries parallel to the travel direction, setting the vertex as the first target vertex, determining the boundary closest to the target obstacle, and then determining a second target vertex closest to the rectangular boundary within the boundary. For example, the first target vertex is point A in Figure 3(a), and the second target vertex is point B in Figure 3(a).

[0113] Step E20: Determine the angle between the straight line defined by the first target vertex and the second target vertex and the driving direction as the rotation angle.

[0114] In this embodiment, it should be noted that the angle is an acute angle, which can ensure that the rotation angle for bypassing the target obstacle is the minimum angle, thereby saving the robot's obstacle bypassing time.

[0115] Exemplarily, step E20 includes: referring to (d) in FIG3 , the rotation angle is the angle between the BC direction and the BA direction. It should be noted that the BC direction is the driving direction before the in-situ rotation, and the BA direction is the driving direction after the in-situ rotation.

[0116] In this embodiment, when the target obstacle is detected in the driving direction, the present application determines the minimum rotation angle and the shortest obstacle-avoiding driving distance that can be used to circumvent the target obstacle. After the robot travels the obstacle-avoiding driving distance, it travels in the target direction, so that the robot can travel along the edge of the target obstacle. This can not only save the robot's obstacle-avoiding time, but also avoid the technical problem of expanding the robot's unprocessed working range due to the need to circumvent the target obstacle, such as (b) and (c) in Figure 3. This improves the robot's obstacle-avoiding efficiency while also ensuring the robot's working efficiency.

[0117] Furthermore, the present application also provides a self-moving device, which is provided with a visual sensor. The self-moving device includes a walking device and a controller, the controller is used to control the walking device to avoid obstacles, and the controller can run an obstacle avoidance program, which is configured to perform the following steps:

[0118] Get driving directions;

[0119] Detecting whether there is a target obstacle in the driving direction based on the image collected by the visual sensor;

[0120] When it is detected that there is a target obstacle in the driving direction, the vehicle rotates in place and returns to the step of obtaining the driving direction until it is detected that there is no target obstacle in the driving direction, and then the vehicle drives in the driving direction.

[0121] In one embodiment, when a target obstacle is detected in the driving direction, the step of rotating in place includes:

[0122] When a target obstacle is detected in the driving direction, obtaining obstacle position information of the target obstacle;

[0123] The in-situ rotation direction is determined according to the obstacle position information, and the in-situ rotation is performed according to the in-situ rotation direction.

[0124] In one embodiment, when a target obstacle is detected in the driving direction, the step of obtaining obstacle position information of the target obstacle includes:

[0125] When the target obstacle is detected in the driving direction, obstacle position information of the target obstacle is acquired through the visual sensor.

[0126] In one embodiment, when a target obstacle is detected in the driving direction, the step of obtaining obstacle position information of the target obstacle includes:

[0127] When the target obstacle is detected in the driving direction, obstacle position information of the target obstacle collected by the visual sensor and stored in the memory is extracted from the memory.

[0128] In one embodiment, the step of determining the in-situ rotation direction based on the obstacle position information and performing in-situ rotation according to the in-situ rotation direction includes:

[0129] determining a rotation direction in situ based on relative obstacle position information of the target obstacle; the relative obstacle position information refers to the obstacle position information established relative to a first basic coordinate system; the first basic coordinate system refers to a basic coordinate system established with the current position of the robot as the center;

[0130] After determining the in-situ rotation direction, the robot rotates in-situ according to the in-situ rotation direction.

[0131] In one embodiment, the step of determining the in-situ rotation direction based on the obstacle position information and performing in-situ rotation according to the in-situ rotation direction includes:

[0132] determining an in-situ rotation direction based on absolute obstacle position information of the target obstacle; the absolute obstacle position information refers to the obstacle position information established relative to a second basic coordinate system, and the second basic coordinate system refers to a world coordinate system;

[0133] After determining the in-situ rotation direction, the robot rotates in-situ according to the in-situ rotation direction.

[0134] In one embodiment, the step of determining the in-situ rotation direction based on the obstacle position information and performing in-situ rotation according to the in-situ rotation direction includes:

[0135] generating a preset area to which the target obstacle belongs based on the obstacle position information, and obtaining area position information of the preset area;

[0136] The in-situ rotation direction is determined according to the area position information, and the in-situ rotation is performed according to the in-situ rotation direction.

[0137] In one embodiment, determining the in-situ rotation direction according to the area position information includes:

[0138] The geometric center of the preset area is determined by the position information of the preset area, and the rotation direction in situ is determined according to the relative position relationship between the geometric center and the robot.

[0139] In one embodiment, determining the in-situ rotation direction according to the area position information includes:

[0140] The in-situ rotation direction is determined by the relative position relationship between the boundary of the preset area and the robot.

[0141] In one embodiment, the region position information includes preset boundary coordinate information, and the steps of determining the in-situ rotation direction based on the region position information and performing in-situ rotation according to the in-situ rotation direction include:

[0142] obtaining robot position information of the robot;

[0143] Determine the in-situ rotation direction according to the preset boundary coordinate information and the robot position information;

[0144] determining a rotation angle according to the preset boundary coordinate information, the robot position information, and the driving direction;

[0145] Perform in-situ rotation according to the in-situ rotation direction and the rotation angle.

[0146] In one embodiment, the step of determining the in-situ rotation direction according to the preset boundary coordinate information and the robot position information includes:

[0147] According to the preset boundary coordinate information, the in-situ rotation direction is determined by judging the distance between the preset boundary of the preset area and the position of the robot.

[0148] In one embodiment, the step of determining the in-situ rotation direction according to the preset boundary coordinate information and the robot position information includes:

[0149] The in-situ rotation direction is determined according to the preset boundary coordinate information by judging the size of the direction angle of the preset boundary of the preset area relative to the position of the robot.

[0150] In one embodiment, the preset area includes a rectangular area; the rectangular area includes at least a left rectangular side and a right rectangular side parallel to the driving direction; the robot includes a left endpoint and a right endpoint; the preset boundary coordinate information includes rectangular boundary coordinate information; and the step of determining the in-situ rotation direction based on the preset boundary coordinate information and the robot position information includes:

[0151] Based on the rectangular boundary coordinate information and the robot position information, determine the left vertical distance from the left end point of the robot to the straight line on the left side of the rectangular area and the right vertical distance from the right end point of the robot to the straight line on the right side of the rectangular area;

[0152] If the left vertical distance is greater than the right vertical distance, it is determined that the robot rotates clockwise;

[0153] If the left vertical distance is smaller than the right vertical distance, it is determined that the robot rotates counterclockwise.

[0154] In one embodiment, the preset boundary coordinate information includes rectangular boundary coordinate information; and the step of determining the rotation angle according to the preset boundary coordinate information, the robot position information, and the driving direction includes:

[0155] Determining a first target vertex of the rectangular area and a second target vertex of the robot based on the rectangular boundary coordinate information and the robot position information;

[0156] The angle between a straight line defined by the first target vertex and the second target vertex and the driving direction is determined as a rotation angle.

[0157] In one embodiment, the step of determining the first target vertex of the rectangular area and the second target vertex of the robot based on the rectangular boundary coordinate information and the robot position information includes:

[0158] After determining the in-situ rotation direction, according to the coordinate information of the rectangular boundary and the position information of the robot, find the vertex closest to the robot on two rectangular boundaries parallel to the driving direction, and set the vertex as the first target vertex;

[0159] The boundary between the robot and the target obstacle is determined, and then a second target vertex closest to the rectangular boundary is determined in the boundary.

[0160] In one embodiment, when a target obstacle is detected in the driving direction, the step of rotating in place includes:

[0161] When a target obstacle is detected in the driving direction, the current driving direction is determined as the target direction and the vehicle rotates in place;

[0162] In the case of detecting that there is a target obstacle in the driving direction, rotating in place and returning to the step of obtaining the driving direction until it is detected that there is no target obstacle in the driving direction, and after the step of driving in the driving direction, the method further includes:

[0163] Obtaining obstacle position information of the target obstacle and robot position information of the robot;

[0164] Determining an obstacle avoidance distance based on the obstacle position information and the robot position information;

[0165] When it is determined that the robot has traveled the obstacle-avoiding distance, the robot rotates in place to the target direction.

[0166] In one embodiment, after the step of determining the obstacle avoidance distance based on the obstacle position information and the robot position information, the obstacle avoidance program is further configured to perform the following steps:

[0167] The robot's travel speed is adjusted to a preset obstacle avoidance speed, and the robot travels the obstacle avoidance distance at the preset obstacle avoidance speed.

[0168] In one embodiment, the step of determining the obstacle avoidance distance based on the obstacle position information and the robot position information includes:

[0169] The vertex of the target obstacle closest to the robot is determined using the obstacle position information and the robot position information, and the distance from the vertex to the straight line where the front end of the robot relative to the driving direction is located is determined as the obstacle avoidance distance.

[0170] In this embodiment, the controller can also use a processor, and only the machine with the corresponding function can directly reflect the specific machine, replacing the self-moving equipment with a snow blower and lawn mower, etc. Other structures can also be added according to the equipment involved in the specific method.

[0171] The self-propelled device provided in this application utilizes the obstacle avoidance method described in the aforementioned embodiment, resolving the technical issue of low obstacle avoidance efficiency in the related art. Compared to the prior art, the beneficial effects of the obstacle avoidance device provided in the embodiments of this application are the same as those of the obstacle avoidance method described in the aforementioned embodiment. Other technical features of the device are the same as those disclosed in the aforementioned embodiment and are not further detailed here.

[0172] Furthermore, embodiments of the present application further provide one or more readable storage media, which may be non-volatile readable storage media or volatile readable storage media. The readable storage media store an obstacle avoidance program, which is applied to a robot equipped with a visual sensor. When the obstacle avoidance program is executed by one or more processors, the following operations are implemented:

[0173] Get driving directions;

[0174] Detecting whether there is a target obstacle in the driving direction based on the image collected by the visual sensor;

[0175] When it is detected that there is a target obstacle in the driving direction, the vehicle rotates in place and returns to the step of obtaining the driving direction until it is detected that there is no target obstacle in the driving direction, and then the vehicle drives in the driving direction.

[0176] In one embodiment, when the obstacle avoidance program is executed by the processor, the following operations are further implemented:

[0177] When a target obstacle is detected in the driving direction, obtaining obstacle position information of the target obstacle;

[0178] The in-situ rotation direction is determined according to the obstacle position information, and the in-situ rotation is performed according to the in-situ rotation direction.

[0179] When a target obstacle is detected in the driving direction, the step of obtaining obstacle position information of the target obstacle includes:

[0180] When the target obstacle is detected in the driving direction, obstacle position information of the target obstacle is acquired through the visual sensor.

[0181] In one embodiment, when a target obstacle is detected in the driving direction, the step of obtaining obstacle position information of the target obstacle includes:

[0182] When the target obstacle is detected in the driving direction, obstacle position information of the target obstacle collected by the visual sensor and stored in the memory is extracted from the memory.

[0183] In one embodiment, the step of determining the in-situ rotation direction based on the obstacle position information and performing in-situ rotation according to the in-situ rotation direction includes:

[0184] determining a rotation direction in situ based on relative obstacle position information of the target obstacle; the relative obstacle position information refers to the obstacle position information established relative to a first basic coordinate system; the first basic coordinate system refers to a basic coordinate system established with the current position of the robot as the center;

[0185] After determining the in-situ rotation direction, the robot rotates in-situ according to the in-situ rotation direction.

[0186] In one embodiment, the step of determining the in-situ rotation direction based on the obstacle position information and performing in-situ rotation according to the in-situ rotation direction includes:

[0187] determining an in-situ rotation direction based on absolute obstacle position information of the target obstacle; the absolute obstacle position information refers to the obstacle position information established relative to a second basic coordinate system, and the second basic coordinate system refers to a world coordinate system;

[0188] After determining the in-situ rotation direction, the robot rotates in-situ according to the in-situ rotation direction.

[0189] In one embodiment, when the obstacle avoidance program is executed by the processor, the following operations are further implemented:

[0190] generating a preset area to which the target obstacle belongs based on the obstacle position information, and obtaining area position information of the preset area;

[0191] The in-situ rotation direction is determined according to the area position information, and the in-situ rotation is performed according to the in-situ rotation direction.

[0192] In one embodiment, determining the in-situ rotation direction according to the area position information includes:

[0193] The geometric center of the preset area is determined by the position information of the preset area, and the rotation direction in situ is determined according to the relative position relationship between the geometric center and the robot.

[0194] In one embodiment, determining the in-situ rotation direction according to the area position information includes:

[0195] The in-situ rotation direction is determined by the relative position relationship between the boundary of the preset area and the robot.

[0196] In one embodiment, the area location information includes preset boundary coordinate information; and when the obstacle avoidance program is executed by the processor, the following operations are further implemented:

[0197] obtaining robot position information of the robot;

[0198] Determine the in-situ rotation direction according to the preset boundary coordinate information and the robot position information;

[0199] determining a rotation angle according to the preset boundary coordinate information, the robot position information, and the driving direction;

[0200] Perform in-situ rotation according to the in-situ rotation direction and the rotation angle.

[0201] In one embodiment, the step of determining the in-situ rotation direction according to the preset boundary coordinate information and the robot position information includes:

[0202] According to the preset boundary coordinate information, the in-situ rotation direction is determined by judging the distance between the preset boundary of the preset area and the position of the robot.

[0203] In one embodiment, the step of determining the in-situ rotation direction according to the preset boundary coordinate information and the robot position information includes:

[0204] The in-situ rotation direction is determined according to the preset boundary coordinate information by judging the size of the direction angle of the preset boundary of the preset area relative to the position of the robot.

[0205] In one embodiment, the preset area includes a rectangular area; the rectangular area includes at least a left rectangular side and a right rectangular side parallel to the driving direction; the robot includes a left endpoint and a right endpoint; the preset boundary coordinate information includes rectangular boundary coordinate information; and when the obstacle avoidance program applied to the robot is executed by the processor, the following operations are further performed:

[0206] Based on the rectangular boundary coordinate information and the robot position information, comparing the left vertical distance from the left end point of the robot to the straight line where the left rectangular side of the rectangular area is located with the right vertical distance from the right end point of the robot to the straight line where the right rectangular side of the rectangular area is located;

[0207] If the left vertical distance is greater than the right vertical distance, the robot rotates clockwise;

[0208] If the left vertical distance is smaller than the right vertical distance, the robot rotates counterclockwise.

[0209] In one embodiment, the preset boundary coordinate information includes rectangular boundary coordinate information; and when the obstacle avoidance program is executed by the processor, the following operations are further implemented:

[0210] Determine a first target vertex of the rectangular area and a second target vertex of the robot based on the rectangular boundary coordinate information and the robot position information;

[0211] An angle between a straight line defined by the first target vertex and the second target vertex and the driving direction is determined as a rotation angle, wherein the angle is an acute angle.

[0212] In one embodiment, the step of determining the first target vertex of the rectangular area and the second target vertex of the robot based on the rectangular boundary coordinate information and the robot position information includes:

[0213] After determining the in-situ rotation direction, according to the coordinate information of the rectangular boundary and the position information of the robot, find the vertex closest to the robot on two rectangular boundaries parallel to the driving direction, and set the vertex as the first target vertex;

[0214] The boundary between the robot and the target obstacle is determined, and then a second target vertex closest to the rectangular boundary is determined in the boundary.

[0215] In one embodiment, when the obstacle avoidance program is executed by the processor, the following operations are further implemented:

[0216] When a target obstacle is detected in the driving direction, the current driving direction is determined as the target direction and the vehicle rotates in place;

[0217] In the case where a target obstacle is detected in the driving direction, the method further includes rotating in place and returning to the step of obtaining the working direction until it is detected that no target obstacle exists in the driving direction. After the step of driving in the driving direction, the method further includes:

[0218] Obtaining obstacle position information of the target obstacle and robot position information of the robot;

[0219] Determining an obstacle avoidance distance based on the obstacle position information and the robot position information;

[0220] When it is determined that the robot has traveled the obstacle-avoiding distance, the robot rotates in place to the target direction.

[0221] In one embodiment, when the obstacle avoidance program is executed by the processor, the following operations are further implemented:

[0222] The robot's travel speed is adjusted to a preset obstacle avoidance speed, and the robot travels the obstacle avoidance distance at the preset obstacle avoidance speed.

[0223] It should be noted that, in this document, the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or system comprising a series of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such process, method, article, or system. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or system comprising the element.

[0224] The serial numbers of the above embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.

[0225] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus the necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as described above, and includes a number of instructions for enabling a terminal device (which can be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0226] The above are only preferred embodiments of the present application and do not limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.

Claims

1. A method for circumventing obstacles, wherein: The obstacle avoidance method is applied to a robot, and the robot is provided with a visual sensor. The obstacle avoidance method comprises the following steps: Get driving directions; Based on the image collected by the visual sensor, detecting whether there is a target obstacle in the driving direction; When it is detected that there is a target obstacle in the driving direction, the vehicle rotates in place and returns to execute the step of obtaining the driving direction until it is detected that there is no target obstacle in the driving direction, and then the vehicle drives in the driving direction.

2. The obstacle circumvention method according to claim 1, wherein: The step of rotating in situ when a target obstacle is detected in the driving direction comprises: When a target obstacle is detected in the driving direction, obtaining obstacle position information of the target obstacle; The in-situ rotation direction is determined according to the obstacle position information, and the in-situ rotation is performed according to the in-situ rotation direction.

3. The obstacle circumvention method according to claim 2, wherein: When a target obstacle is detected in the driving direction, the step of obtaining obstacle position information of the target obstacle includes: When the target obstacle is detected in the driving direction, obstacle position information of the target obstacle is acquired through the visual sensor.

4. The obstacle circumvention method according to claim 2, wherein: When a target obstacle is detected in the driving direction, the step of obtaining obstacle position information of the target obstacle includes: When the target obstacle is detected in the driving direction, obstacle position information of the target obstacle collected by the visual sensor and stored in the memory is extracted from the memory.

5. The obstacle circumvention method according to claim 2, wherein: The step of determining the in-situ rotation direction according to the obstacle position information and performing in-situ rotation according to the in-situ rotation direction comprises: Determining the rotation direction in situ according to the relative obstacle position information of the target obstacle; the relative obstacle position information refers to the obstacle position information established relative to a first basic coordinate system; the first basic coordinate system refers to a basic coordinate system established with the current position of the robot as the center; After determining the in-situ rotation direction, the robot rotates in-situ according to the in-situ rotation direction.

6. The obstacle circumvention method according to claim 2, wherein: The step of determining the in-situ rotation direction according to the obstacle position information and performing in-situ rotation according to the in-situ rotation direction comprises: Determine the rotation direction in situ according to the absolute obstacle position information of the target obstacle; the absolute obstacle position information refers to the obstacle position information established relative to a second basic coordinate system, and the second basic coordinate system refers to a world coordinate system; After determining the in-situ rotation direction, the robot rotates in-situ according to the in-situ rotation direction.

7. The obstacle circumvention method according to claim 2, wherein: The step of determining the in-situ rotation direction according to the obstacle position information and performing in-situ rotation according to the in-situ rotation direction comprises: Generating a preset area to which the target obstacle belongs based on the obstacle position information, and obtaining area position information of the preset area; The in-situ rotation direction is determined according to the area position information, and the in-situ rotation is performed according to the in-situ rotation direction.

8. The obstacle circumvention method according to claim 7, wherein: Determining the rotation direction in situ according to the regional position information includes: The geometric center of the preset area is determined by the position information of the preset area, and the rotation direction in situ is determined according to the relative position relationship between the geometric center and the robot.

9. The obstacle circumvention method according to claim 7, wherein: Determining the rotation direction in situ according to the regional position information includes: The in-situ rotation direction is determined by the relative position relationship between the boundary of the preset area and the robot.

10. The obstacle circumvention method according to claim 7, wherein: The area position information includes preset boundary coordinate information, and the steps of determining the in-situ rotation direction according to the area position information and performing in-situ rotation according to the in-situ rotation direction include: Obtaining robot position information of the robot; Determine the in-situ rotation direction according to the preset boundary coordinate information and the robot position information; Determining a rotation angle according to the preset boundary coordinate information, the robot position information and the driving direction; The in-situ rotation is performed according to the in-situ rotation direction and the rotation angle.

11. The obstacle circumvention method according to claim 10, wherein: The step of determining the in-situ rotation direction according to the preset boundary coordinate information and the robot position information comprises: According to the preset boundary coordinate information, the in-situ rotation direction is determined by judging the distance from the preset boundary of the preset area to the position of the robot.

12. The obstacle circumvention method according to claim 10, wherein: The step of determining the in-situ rotation direction according to the preset boundary coordinate information and the robot position information comprises: According to the preset boundary coordinate information, the in-situ rotation direction is determined by judging the size of the angle of the preset boundary of the preset area relative to the direction of the robot position.

13. The obstacle circumvention method according to claim 10, wherein: The preset area includes a rectangular area; the rectangular area includes at least a left rectangular side and a right rectangular side parallel to the driving direction, and the robot includes a left endpoint and a right endpoint; the preset boundary coordinate information includes rectangular boundary coordinate information; The step of determining the in-situ rotation direction according to the preset boundary coordinate information and the robot position information comprises: Based on the rectangular boundary coordinate information and the robot position information, determine the left vertical distance from the left end point of the robot to the straight line where the left rectangular side of the rectangular area is located and the right vertical distance from the right end point of the robot to the straight line where the right rectangular side of the rectangular area is located; If the left vertical distance is greater than the right vertical distance, it is determined that the robot rotates clockwise; If the left vertical distance is smaller than the right vertical distance, it is determined that the robot rotates counterclockwise.

14. The obstacle circumvention method according to claim 10, wherein: The preset boundary coordinate information includes rectangular boundary coordinate information; The step of determining the rotation angle according to the preset boundary coordinate information, the robot position information and the driving direction comprises: Determine a first target vertex of the rectangular area and a second target vertex of the robot based on the rectangular boundary coordinate information and the robot position information; The angle between a straight line defined by the first target vertex and the second target vertex and the driving direction is determined as a rotation angle.

15. The obstacle circumvention method according to claim 14, wherein: The step of determining the first target vertex of the rectangular area and the second target vertex of the robot based on the rectangular boundary coordinate information and the robot position information comprises: After determining the in-situ rotation direction, according to the rectangular boundary coordinate information and the robot position information, find the vertex closest to the robot in two rectangular boundaries parallel to the driving direction, and set the vertex as the first target vertex; The closest boundary between the robot and the target obstacle is determined, and then a second target vertex closest to the rectangular boundary is determined in the boundary.

16. The obstacle circumvention method according to claim 1, wherein: The step of rotating in situ when a target obstacle is detected in the driving direction comprises: When a target obstacle is detected in the driving direction, the current driving direction is determined as the target direction and the vehicle rotates in place; In the case where the target obstacle is detected in the driving direction, the method rotates in place and returns to the step of obtaining the driving direction until it is detected that there is no target obstacle in the driving direction. After the step of driving in the driving direction, the method further includes: Obtaining obstacle position information of the target obstacle and robot position information of the robot; Determine the obstacle avoidance distance according to the obstacle position information and the robot position information; When it is determined that the robot has traveled the obstacle-avoiding distance, the robot rotates in situ to the target direction.

17. The obstacle circumvention method according to claim 16, wherein: After the step of determining the obstacle avoidance distance according to the obstacle position information and the robot position information, the method further includes: The robot's driving speed is adjusted to a preset obstacle avoidance speed, and the robot travels the obstacle avoidance distance at the preset obstacle avoidance speed.

18. The obstacle circumvention method according to claim 16, wherein: The step of determining the obstacle avoidance distance according to the obstacle position information and the robot position information comprises: The vertex of the target obstacle closest to the robot is determined by the obstacle position information and the robot position information, and the distance from the vertex to the straight line where the front end of the robot relative to the driving direction is located is determined as the obstacle avoidance distance.

19. A self-propelled device, wherein: The self-moving device is provided with a visual sensor, and the self-moving device includes a walking device and a controller, the controller is used to control the walking device to avoid obstacles, the controller can run an obstacle avoidance program, and the obstacle avoidance program is configured to implement the steps of the obstacle avoidance method as described in any one of claims 1 to 18.

20. One or more readable storage media, wherein: The readable storage medium stores an obstacle avoidance program, the obstacle avoidance program is applied to a robot, a visual sensor is provided on the robot, and the obstacle avoidance program, when executed by one or more processors, implements the steps of the obstacle avoidance method as described in any one of claims 1 to 18.

Citation Information

Patent Citations

  • Intelligent settlement shopping cart system with autonomous tracking function

    CN104637198A

  • Obstacle avoidance control method and system for robot walking in bow shape

    CN111897335A

  • Obstacle avoiding method and obstacle avoiding device of robot and storage medium

    CN115933674A

  • Sweeper

    CN214342133U

  • Moving robot and its creating obstacle map method

    KR102476420B1

Cited By

  • Control method and device of D-type floor sweeping robot and floor sweeping robot

    CN120458437A