Obstacle crossing method, system, device, equipment and storage medium
By obtaining the obstacle projection outline and determining the appropriate starting point for obstacle crossing, the robot can cross the obstacle more easily, improving the obstacle crossing success rate and reducing the probability of slipping.
Patent Information
- Application Number
- CN202410730364.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-06-05
- Publication Date
- 2025-10-03
- Estimated Expiration
- 2044-06-05
AI Technical Summary
During the obstacle crossing process, the robot is prone to slipping and the driving parameters become larger due to the influence of the obstacle shape and material, resulting in a low obstacle crossing success rate.
By obtaining the projection outline of the obstacle on the horizontal plane, the designated part centered at the midpoint of the longest line segment on the side adjacent to the robot is selected as the point to be passed, and the starting point of the obstacle crossing is determined at a predetermined angle. The robot is controlled to retreat to the starting point and then cross the obstacle along a straight path.
It improves the success rate of the robot's obstacle crossing, reduces the probability of slipping, and enhances the friction between the robot and the obstacle.
Smart Images

Figure CN118707954B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robotics technology, and in particular to an obstacle surmounting method, system, device, equipment and storage medium. Background Art
[0002] The robot will encounter obstacles during its movement. At this time, the robot needs to cross or avoid the obstacles, that is, it needs to cross or avoid obstacles.
[0003] In related technologies, when a robot is crossing an obstacle, it is affected by factors such as the shape and material of the obstacle, and the robot may slip, or its driving parameters or motion parameters may increase, making it difficult to cross the obstacle, resulting in a low success rate for the robot to cross the obstacle.
[0004] Therefore, how to improve the robot's obstacle crossing success rate has become a technical problem that needs to be solved urgently. Summary of the Invention
[0005] The purpose of the embodiments of the present application is to provide an obstacle surmounting method, system, apparatus, device, and storage medium to improve the success rate of a robot's obstacle surmounting. The specific technical solution is as follows:
[0006] In a first aspect, an embodiment of the present application provides an obstacle surmounting method, the method comprising:
[0007] During the robot's movement, when it is detected that the robot cannot pass through a current obstacle to be passed according to a predetermined path, a projection outline of the current obstacle to be passed on a horizontal plane is obtained;
[0008] Selecting a currently unused point within a specified portion of a target line segment of the projected contour as the current point to be passed; wherein the target line segment is the longest line segment of the projected contour adjacent to the robot; and the specified portion is centered at the midpoint of the target line segment;
[0009] Determine a current obstacle crossing starting point from a side of the current obstacle to be crossed that is adjacent to the robot; wherein the current obstacle crossing starting point points in the direction of the current point to be crossed and has a predetermined angle with the perpendicular direction of the target line segment;
[0010] Controlling the robot to retreat in a direction outside the obstacle area to which the current obstacle to be passed belongs, and driving to the current obstacle crossing starting point;
[0011] After the robot travels to the current obstacle-crossing starting point, the robot is controlled to travel from the current obstacle-crossing starting point to the current point to be passed along a straight path, so that the robot passes the current obstacle to be passed from the current point to be passed.
[0012] In a second aspect, an embodiment of the present application provides an obstacle surmounting system, comprising a control terminal and a robot;
[0013] The control terminal is used to execute any of the above obstacle surmounting methods;
[0014] The robot is used to travel under the control of the control end.
[0015] In a third aspect, an embodiment of the present application provides an obstacle surmounting device, the device comprising:
[0016] an acquisition module, configured to acquire a projection outline of the current obstacle to be traversed on a horizontal plane when it is detected that the robot cannot traverse the current obstacle to be traversed according to a predetermined path during the robot's movement;
[0017] a selection module configured to select a currently unused point within a specified portion of a target line segment of the projected contour as a current point to be passed; wherein the target line segment is the longest line segment of the projected contour adjacent to a side of the robot; and the specified portion is centered at a midpoint of the target line segment;
[0018] a determination module, configured to determine a current obstacle crossing starting point from a side of the current obstacle to be crossed that is adjacent to the robot; wherein the current obstacle crossing starting point points in the direction of the current point to be crossed and has a predetermined angle with a perpendicular direction of the target line segment;
[0019] A first control module is used to control the robot to retreat in a direction outside the obstacle area to which the current obstacle to be passed belongs, and to drive to the current obstacle crossing starting point;
[0020] The second control module is used to control the robot to travel from the current obstacle-crossing starting point to the current point to be passed along a straight path after the robot travels to the current obstacle-crossing starting point, so that the robot can cross the current obstacle to be passed from the current point to be passed.
[0021] In a fourth aspect, an embodiment of the present application provides an electronic device, including:
[0022] Memory for storing computer programs;
[0023] The processor is configured to implement any of the above-mentioned obstacle surmounting methods when executing the program stored in the memory.
[0024] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the obstacle surmounting method described in any one of the above items is implemented.
[0025] In a sixth aspect, an embodiment of the present application provides a computer program product, which includes executable instructions. When the executable instructions are executed on a computer, the computer executes any of the above-mentioned obstacle surmounting methods.
[0026] Beneficial effects of the embodiments of the present application:
[0027] The solution provided by the embodiment of the present application is that, since the longest line segment on the side adjacent to the robot in the projected outline of the current obstacle to be traversed is the widest side of the obstacle adjacent to the robot, and the designated portion is the portion of the longest line segment centered on the midpoint of the longest line segment, that is, the middle portion of the longest line segment, a point on the designated portion of the longest line segment is selected as the current point to be traversed, making it easier for the robot to traverse the obstacle when traversing the obstacle from the point to be traversed. Furthermore, there is a predetermined angle between the direction from the current obstacle traversal starting point to the current point to be traversed and the perpendicular direction of the target line segment, which can increase the friction between the casters on one side of the robot and the current obstacle to be traversed, thereby reducing the probability of the robot slipping when traversing the obstacle, thereby improving the success rate of obstacle traversal. It can be seen that the success rate of obstacle traversal can be improved through this solution.
[0028] Of course, it is not necessary to achieve all the advantages described above at the same time when implementing any product or method of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other embodiments can also be obtained based on these drawings.
[0030] Figure 1 A flowchart of an obstacle surmounting method provided in an embodiment of the present application;
[0031] Figure 2 A flowchart of another obstacle surmounting method provided in an embodiment of the present application;
[0032] Figure 3 A flowchart of another obstacle surmounting method provided in an embodiment of the present application;
[0033] Figure 4 A schematic diagram of the structure of an obstacle crossing system provided in an embodiment of the present application;
[0034] Figure 5 A flowchart of a specific example of the obstacle surmounting method provided in an embodiment of the present application;
[0035] Figure 6A schematic diagram of an image recognition result provided in an embodiment of the present application;
[0036] Figure 7 A schematic diagram of an obstacle-crossing scenario of a robot provided in an embodiment of the present application;
[0037] Figure 8 A schematic diagram of a method for determining an optimal obstacle crossing posture provided in an embodiment of the present application;
[0038] Figure 9 A schematic diagram of an obstacle-crossing scenario of a robot adjusted to an optimal obstacle-crossing posture according to an embodiment of the present application;
[0039] Figure 10 A schematic structural diagram of an obstacle surmounting device provided in an embodiment of the present application;
[0040] Figure 11 A block diagram of an electronic device for implementing the obstacle surmounting method provided in an embodiment of the present application. DETAILED DESCRIPTION
[0041] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field based on this application are within the scope of protection of this application.
[0042] Below, an obstacle surmounting method provided in an embodiment of the present application is introduced.
[0043] An obstacle crossing method provided in an embodiment of the present application is applied to an electronic device. In a specific application, the electronic device may be a control terminal or a robot. If the obstacle crossing method is applied to the control terminal, the control terminal may control the movement of the robot by sending control instructions to the robot. The control terminal may be a personal computer, a server, or other equipment with data processing capabilities. If the obstacle crossing method is applied to a robot, the executor of the obstacle crossing method may be an obstacle crossing device, and the obstacle crossing device may be a computer program running in the chip of the robot. In addition, it can be understood that the obstacle crossing method provided in the embodiment of the present application may be implemented by software, hardware, or a combination of software and hardware.
[0044] It should be noted that the robot in the embodiment of the present application can be a cleaning robot, such as a sweeping robot, a mopping robot, or other automated equipment for environmental cleaning. Of course, the embodiment of the present application does not limit the type of the robot, for example, the robot can also be a service robot.
[0045] Among them, an obstacle surmounting method provided in an embodiment of the present application may include:
[0046] During the robot's driving process, when it is detected that the robot cannot cross the current obstacle to be passed according to the predetermined path, the projection outline of the current obstacle to be passed on the horizontal plane is obtained;
[0047] Select an unused point within the specified portion of the target line segment of the projected contour as the current point to be passed; the target line segment is the longest line segment on the side of the projected contour adjacent to the robot; the specified portion is centered at the midpoint of the target line segment;
[0048] Determine the current obstacle crossing starting point from the side of the current obstacle to be crossed that is adjacent to the robot; wherein the current obstacle crossing starting point points in the direction of the current point to be crossed and has a predetermined angle with the perpendicular direction of the target line segment;
[0049] Control the robot to retreat in the direction outside the obstacle area to which the current obstacle to be passed belongs, and drive to the current obstacle crossing starting point;
[0050] After the robot travels to the current obstacle-crossing starting point, the robot is controlled to travel from the current obstacle-crossing starting point to the current waiting-to-pass point along a straight path, so that the robot passes the current waiting-to-pass obstacle from the current waiting-to-pass point.
[0051] The solution provided by the embodiment of the present application is that, since the longest line segment on the side adjacent to the robot in the projected outline of the current obstacle to be traversed is the widest side of the obstacle adjacent to the robot, and the designated portion is the portion of the longest line segment centered on the midpoint of the longest line segment, that is, the middle portion of the longest line segment, a point on the designated portion of the longest line segment is selected as the current point to be traversed, making it easier for the robot to traverse the obstacle when traversing the obstacle from the point to be traversed. Furthermore, there is a predetermined angle between the direction from the current obstacle traversal starting point to the current point to be traversed and the perpendicular direction of the target line segment, which can increase the friction between the casters on one side of the robot and the current obstacle to be traversed, thereby reducing the probability of the robot slipping when traversing the obstacle, thereby improving the success rate of obstacle traversal. It can be seen that the success rate of obstacle traversal can be improved through this solution.
[0052] The obstacle surmounting method provided in the embodiment of the present application is introduced below with reference to the accompanying drawings.
[0053] like Figure 1 As shown, the obstacle surmounting method provided in the embodiment of the present application includes steps S101-S105:
[0054] S101, during the robot's movement, when it is detected that the robot cannot pass through a current obstacle to be passed according to a predetermined path, obtaining a projection outline of the current obstacle to be passed on a horizontal plane;
[0055] In this embodiment, the obstacle to be traversed is a traversable obstacle. It is understood that when the robot travels along a predetermined path, factors such as the shape and material of the obstacle encountered along the way may affect the robot's path, resulting in situations where the robot cannot traverse the current obstacle according to the predetermined path. In such cases, the horizontal projection of the current obstacle can be obtained, and the obstacle traversal path can be subsequently re-determined based on this projection. In other words, the obstacle outline can be considered when planning the obstacle traversal path, thereby improving the success rate of obstacle traversal.
[0056] Exemplarily, the obstacle to be passed may be a threshold, a steep slope, a carpet, etc.; the predetermined path may be a path preset by a user using the robot, or a path automatically planned in advance by the robot, which is both reasonable.
[0057] Optionally, in one implementation, when it is detected that the robot cannot cross the current obstacle to be traversed according to the predetermined path, obtaining the projection outline of the current obstacle to be traversed on the horizontal plane includes steps A1-A2:
[0058] A1, when it is detected that the robot's displacement within a predetermined time period is less than a preset distance, the obstacle area to which the currently recorded traversable obstacle belongs is obtained;
[0059] A2: If the current robot position is located in the obstacle area of one of the traversable obstacles, obtain the currently recorded projection outline of the traversable obstacle on the horizontal plane as the projection outline of the current obstacle to be traversed on the horizontal plane.
[0060] In this implementation, the predetermined duration and the predetermined distance can be pre-set by relevant technicians based on experience. If the predetermined duration is set first, the predetermined distance should be set to be less than the distance the robot would travel at normal speed within the predetermined duration. If the predetermined distance is set first, the predetermined duration should be set to be greater than the time it would take the robot to travel the predetermined distance at normal speed. For example, if the robot's normal speed is 0.2 m / s, then when the predetermined duration is set to 10 seconds, the predetermined distance can be set to 0.5 m, 0.8 m, and so on.
[0061] It is understood that if the robot's displacement within a predetermined time period is less than a preset distance, it indicates that the robot has not moved for an extended period of time or has moved a short distance. At this point, the obstacle zones to which each currently recorded traversable obstacle belongs can be obtained. A determination is then made as to whether the robot's position is within the obstacle zone to which one of the traversable obstacles belongs. If so, the traversable obstacle is the current obstacle to be traversed, and it can be determined that the robot cannot traverse the current obstacle to be traversed according to the predetermined path. At this point, the horizontal projection outline of the traversable obstacle is obtained; this obtained projection outline is the horizontal projection outline of the current obstacle to be traversed.
[0062] It is understood that in actual application scenarios, during robot travel, the robot's absolute position can be acquired through its installed positioning device, and its installed visual sensor can capture images of obstacles in its direction of travel. By performing obstacle detection on the acquired obstacle images, the relative position of the obstacle with respect to the robot, the obstacle type, and the obstacle's outer contour can be determined. Obstacle types include traversable obstacles and avoidable obstacles.
[0063] For example, obstacle detection can be performed on an image of an obstacle to obtain the pixel coordinates of the obstacle in the image in the image coordinate system. Using a coordinate conversion method between the image coordinate system and the camera coordinate system of the robot's own visual sensor, the pixel coordinates of the obstacle in the image are converted to the camera coordinate system. The coordinate position in the camera coordinate system obtained by this conversion is the relative position of the obstacle with respect to the robot. For example, in practical applications, relevant technicians can preset multiple traversable obstacles and perform obstacle detection on the acquired obstacle images using deep learning-based methods to identify whether the type of obstacle in the image is a traversable obstacle. For example, a neural network model for classification tasks can be trained using multiple sample images, each sample image including a type of obstacle. The trained neural network model can then be used to identify whether an obstacle in an image is a traversable obstacle. Furthermore, obstacle detection can also be performed on the acquired obstacle images to detect the edge contours of the obstacle in the image, obtaining the outer contour of the obstacle.
[0064] It is understood that after obtaining the relative position of the obstacle relative to the robot, the obstacle type, and the obstacle's outer contour, the absolute position of the obstacle can be calculated based on the obstacle's relative position relative to the robot and the robot's absolute position. In other words, the obstacle's coordinate position in the camera coordinate system is converted to the world coordinate system, and the obstacle's position in the world coordinate system is the obstacle's absolute position. Furthermore, based on the obstacle's outer contour, the obstacle's projected outline on the horizontal plane can be calculated. Furthermore, an obstacle area corresponding to each obstacle can be set based on the projected outline of the obstacle. For example, the obstacle area can be within a predetermined range extending from the projected outline of the obstacle. This predetermined range can be set by relevant technicians based on experience.
[0065] After obtaining information such as the absolute position of the obstacle, its horizontal projection, its type, and the obstacle zone to which it belongs, this information is recorded. Thus, when the robot detects that its displacement within a predetermined time period is less than a preset distance, the obstacle zone to which the currently recorded traversable obstacle belongs can be obtained. Furthermore, based on the recorded zones to which each traversable obstacle belongs, if the robot determines that its position is within the obstacle zone to which a traversable obstacle belongs, the currently recorded horizontal projection of that traversable obstacle can be obtained.
[0066] It should be noted that the embodiments of the present application do not limit the method for detecting whether the robot can cross the current obstacle to be passed along the predetermined path. For example, when a human determines through observation that the robot cannot cross the current obstacle to be passed, an instruction that the robot cannot cross the current obstacle to be passed can be sent to the electronic device through the client. When the electronic device receives the instruction, it detects that the robot cannot cross the current obstacle to be passed along the predetermined path. Furthermore, the embodiments of the present application do not limit the method for obtaining the projection contour of the current obstacle to be passed on the horizontal plane. For example, the current obstacle to be passed can be scanned by a laser radar installed on the robot itself to obtain a point cloud contour of the obstacle surface, and then the projection contour of the obstacle on the horizontal plane can be calculated based on the point cloud contour. This is all reasonable.
[0067] S102, selecting a currently unused point within a designated portion of a target line segment of the projection contour as the current pending point; wherein the target line segment is the longest line segment on the side of the projection contour adjacent to the robot; and the designated portion is centered at the midpoint of the target line segment;
[0068] In this embodiment, the designated portion of the target segment is the portion of the target segment centered at the midpoint of the target segment. For example, the length of the designated portion can be 1 / 2 or 1 / 3 of the length of the target segment, etc. The embodiment of the present application does not limit the length of the designated portion. For example, if the projection outline of the current obstacle to be passed on the horizontal plane is as follows: Figure 8 As shown, line segment AB is the target line segment, point C is the midpoint of the target line segment, and the specified portion may be the portion where line segment DE is located.
[0069] For example, in actual applications, interval sampling can be performed from a specified portion of the target segment, for example, sampling a point every 5 cm to obtain multiple points. After obtaining the projection profile in step S101, an unused point is selected from the multiple points as the current waiting point.
[0070] It can be understood that since the longest line segment on the side adjacent to the robot in the projected outline of the current obstacle to be passed is the widest side of the obstacle on the side adjacent to the robot, and the designated part is the part of the longest line segment centered on the midpoint of the longest line segment, that is, the middle part of the longest line segment, therefore, the point on the designated part of the longest line segment is selected as the current point to be passed, so that the robot can pass the obstacle more easily when crossing the obstacle from the point to be passed.
[0071] S103, determining a current obstacle crossing starting point from a side of the current obstacle to be crossed that is adjacent to the robot; wherein the current obstacle crossing starting point points in the direction of the current point to be crossed and has a predetermined angle with a perpendicular direction of the target line segment;
[0072] In this embodiment, the determined obstacle crossing starting point is: a point on a line segment that is adjacent to the robot and has a predetermined angle with the perpendicular direction of the target line segment.
[0073] Optionally, in one implementation, the predetermined angle is any angle within a preset angle range, wherein the preset angle range is [20°, 30°]. It is understood that when the robot traverses an obstacle, an angle of 20°-30° between the robot's travel direction and the perpendicular to the target line segment can increase the friction between the robot's casters and the obstacle to be traversed, thereby reducing the probability of the robot slipping during obstacle traversal and thereby improving the success rate of obstacle traversal.
[0074] In addition, the distance between the determined obstacle crossing starting point and the current waiting point is set to a certain value, so that the robot has a certain speed when it reaches the current waiting point. In this way, the robot has a certain amount of inertia when it reaches the edge of the obstacle, which can improve the robot's obstacle crossing success rate.
[0075] Optionally, in one implementation, determining the current obstacle crossing starting point from the side of the current obstacle to be crossed that is adjacent to the robot includes steps B1-B2:
[0076] B1, determine a straight line that passes through the current point to be passed and has a predetermined angle with the perpendicular direction of the target line segment;
[0077] B2: Determine a point on the determined straight line that is adjacent to the robot and serves as the current obstacle crossing starting point. When the robot travels along a straight line from the determined point to the current point to be crossed at maximum acceleration, the robot's speed can reach the maximum supported speed.
[0078] In this implementation, the obstacle crossing starting point is determined to be the point where the robot can reach its maximum supported speed when traveling at maximum acceleration from this point to the current point to be crossed. For example, the robot's maximum speed and maximum acceleration can be used to calculate the distance the robot travels from 0 to its maximum supported speed. Then, a point on the determined straight line, located on the side of the current obstacle to be crossed that is adjacent to the robot and at a distance greater than or equal to this distance from the current point to be crossed, is identified as the obstacle crossing starting point.
[0079] It should be noted that the embodiments of the present application do not limit the predetermined angle or the distance between the obstacle crossing starting point and the current pending point. For example, the predetermined angle can also be 35°, 40°, etc.; in addition, due to environmental constraints, the obstacle crossing starting point may not be set to a point where the robot's speed when traveling from the obstacle crossing starting point to the current pending point at maximum acceleration is the maximum supported speed. In this case, a point farthest from the current pending point can be set as the obstacle crossing starting point based on the environment, so that the robot can reach the current pending point at the maximum speed possible. This is reasonable.
[0080] S104, controlling the robot to retreat in a direction outside the obstacle area to which the current obstacle to be passed belongs, and driving to the current obstacle crossing starting point;
[0081] After determining the current point to be passed and the current obstacle crossing starting point, the robot is controlled to retreat in the direction outside the obstacle area to which the current obstacle to be passed belongs, so that the robot first leaves the obstacle area to which the current obstacle to be passed belongs, and then the robot is controlled to drive to the current obstacle crossing starting point.
[0082] S105, after the robot travels to the current obstacle-crossing starting point, the robot is controlled to travel from the current obstacle-crossing starting point to the current waiting point along a straight path, so that the robot passes the current obstacle to be passed from the current waiting point.
[0083] It can be understood that since the current obstacle crossing starting point and the current point to be passed are determined by taking into account the characteristics of the outer contour of the obstacle, they can be better applied to the obstacle crossing process of obstacles of different shapes, and when the robot travels from the current obstacle crossing starting point to the current point to be passed in a straight line, the obstacle crossing success rate is higher.
[0084] Optionally, in one implementation, controlling the robot to travel from a current obstacle-crossing starting point to a current pending point along a straight path includes:
[0085] Control the robot to move from the current obstacle-crossing starting point to the current waiting point along a straight path at maximum acceleration.
[0086] In this implementation, the robot is controlled to travel at maximum acceleration from the obstacle-crossing starting point to the current obstacle-crossing point. This allows the robot to reach the current obstacle-crossing point at a higher speed, thus allowing the robot to have greater inertia at the edge of the obstacle. This can further improve the success rate of obstacle crossing.
[0087] The solution provided by the embodiment of the present application is that, since the longest line segment on the side adjacent to the robot in the projected outline of the current obstacle to be traversed is the widest side of the obstacle adjacent to the robot, and the designated portion is the portion of the longest line segment centered on the midpoint of the longest line segment, that is, the middle portion of the longest line segment, a point on the designated portion of the longest line segment is selected as the current point to be traversed, making it easier for the robot to traverse the obstacle when traversing the obstacle from the point to be traversed. Furthermore, there is a predetermined angle between the direction from the current obstacle traversal starting point to the current point to be traversed and the perpendicular direction of the target line segment, which can increase the friction between the casters on one side of the robot and the current obstacle to be traversed, thereby reducing the probability of the robot slipping when traversing the obstacle, thereby improving the success rate of obstacle traversal. It can be seen that the success rate of obstacle traversal can be improved through this solution.
[0088] Optionally, in another embodiment of the present application, Figure 1 Based on the embodiment shown, after controlling the robot to travel from the current obstacle-crossing starting point to the current waiting point along a straight path, the obstacle-crossing method further includes:
[0089] If the robot cannot cross the current obstacle to be passed according to the current obstacle crossing starting point, it returns to the step of selecting a currently unused point within the specified portion of the target line segment of the projected contour as the current point to be passed.
[0090] It is understood that if the robot cannot cross the current obstacle to be crossed according to the current obstacle crossing starting point, it can return to the above step S102 to re-determine the current obstacle to be crossed and the obstacle crossing starting point, control the robot to retreat, and then re-cross the obstacle according to the new obstacle crossing starting point and the obstacle to be crossed. In this way, the robot's obstacle crossing success rate can be further improved.
[0091] It is worth mentioning that if the robot still fails to pass the current obstacle after trying all available points in step S102, or if the robot fails to pass the current obstacle after trying a preset number of times, an alarm may be issued. The preset number of times may be 5, 10, etc.
[0092] It can be seen that the obstacle crossing success rate can be further improved through this solution.
[0093] Optionally, in another embodiment of the present application, Figure 1 Based on the embodiment shown, Figure 2 As shown, when it is detected that the robot cannot cross the current obstacle to be passed according to the predetermined path, before obtaining the projection outline of the current obstacle to be passed on the horizontal plane, the above obstacle crossing method further includes steps S201-S203:
[0094] S201, during the robot's travel, when a laser radar installed on the robot detects an obstacle in the travel direction, determining the type of the currently detected obstacle;
[0095] Optionally, in one implementation, a method for determining the type of the currently detected obstacle includes steps C1-C2:
[0096] C1, when the laser radar installed on the robot detects the presence of an obstacle in the direction of travel, obtain the corresponding relationship between the type and position of the currently recorded obstacle;
[0097] C2: Determine the type corresponding to the position of the currently detected obstacle in the corresponding relationship to obtain the type of the currently detected obstacle.
[0098] It's understandable that in practical applications, the perception range of visual sensors is greater than that of lidar. When an obstacle appears in the robot's direction of travel, the visual sensor first captures an image of the obstacle. Then, as the robot approaches the obstacle, the lidar can detect it. Furthermore, after the visual sensor captures the obstacle image, obstacle detection is performed on the captured image to determine the obstacle's location and type. This correspondence between the obstacle's location and type can then be recorded.
[0099] In this implementation, when the LiDAR detects an obstacle in the direction of travel, the currently recorded correspondence between the obstacle type and position can be obtained. Then, based on the currently detected obstacle position, the type corresponding to the currently detected obstacle position can be found from the correspondence to obtain the currently detected obstacle type. The currently detected obstacle position can be the absolute position of the obstacle calculated based on the relative position of the obstacle relative to the robot detected by the LiDAR or visual sensor and the absolute position of the robot detected by the robot's positioning device.
[0100] It should be noted that the embodiments of the present application do not limit the method for determining the type of the currently detected obstacle. For example, when the laser radar detects the presence of an obstacle in the direction of travel, the laser radar can also be used to scan the current obstacle to be passed, obtain the point cloud contour of the obstacle surface, and then use a deep learning-based method to classify the obtained point cloud contour to detect whether the type of obstacle is a passable obstacle. This is all reasonable.
[0101] S202, if the type of the currently detected obstacle is a passable obstacle and the height of the currently detected obstacle is lower than the first threshold, controlling the robot to increase the driving speed and drive toward the currently detected obstacle along a predetermined path to cross the currently detected obstacle;
[0102] S203: If the type of the currently detected obstacle is a passable obstacle and the height of the currently detected obstacle is lower than the second threshold and not lower than the first threshold, the robot is controlled to reduce the driving speed and drive toward the currently detected obstacle along a predetermined path to cross the currently detected obstacle.
[0103] In this embodiment, the laser radar can detect the height of obstacles when detecting them. When the robot detects an obstacle in its direction of travel through its installed laser radar, and if the obstacle is a traversable type, different obstacle crossing strategies are selected based on the obstacle's height. Specifically, if the detected obstacle's height is below a first threshold, the robot is controlled to increase its speed. If the detected obstacle's height is below a second threshold but not below the first threshold, the robot is controlled to decrease its speed. After adjusting its speed, the robot is controlled to travel along a predetermined path toward the detected obstacle, thereby crossing it.
[0104] The first threshold is a lower height threshold, and the second threshold is the height threshold at which the robot needs to avoid obstacles. If the height of the obstacle exceeds the second threshold, the robot needs to avoid the obstacle. For example, the first threshold can be 1 cm, 1.2 cm, etc., and the second threshold can be 2 cm, 3 cm, etc. It should be noted that in actual applications, the first and second thresholds can be set by relevant technicians based on experience, and the embodiments of this application are not limited to this.
[0105] It is understood that when the height of an obstacle is below the first threshold, the robot's speed can be increased, resulting in the robot having greater inertia when it reaches the edge of the obstacle, thereby increasing the robot's probability of crossing the currently detected obstacle. For example, if the obstacle is a threshold with multiple consecutive thresholds, the obstacle's height is relatively low, making it difficult to pass through the multiple consecutive thresholds at a lower speed. Therefore, the robot's speed can be increased to increase the probability of the robot crossing the threshold with multiple consecutive thresholds. Furthermore, when the height of the obstacle is below the second threshold but not below the first threshold, the robot's speed can be reduced to ensure sufficient contact and friction between the robot's casters and the obstacle when crossing the obstacle. This reduces the probability of the robot slipping when crossing an obstacle, thereby improving the success rate of obstacle crossing.
[0106] In addition, it is worth mentioning that if the height of the currently detected obstacle is not lower than the second threshold, or the type of the currently detected obstacle is an obstacle avoidance obstacle, the obstacle avoidance path can also be replanned to bypass the current obstacle to be passed.
[0107] It can be seen that the obstacle crossing success rate can be improved through this solution.
[0108] Alternatively, in another embodiment of the present application, Figure 3 As shown, the above obstacle crossing method further includes steps S301-S302:
[0109] S301, during the robot's movement, controlling the robot to collect images of obstacles in its direction of travel through a visual sensor installed on the robot;
[0110] S302: Obstacle detection is performed on the captured image to obtain and record the corresponding relationship between the type, location, projection outline on the horizontal plane, and obstacle area to which the obstacle belongs. The obstacle types include traversable obstacles and avoidable obstacles.
[0111] In this embodiment, while the robot is moving, its visual sensors can capture images of obstacles in its direction of travel in real time. By performing obstacle detection on the acquired obstacle images, the relative position of the obstacle with respect to the robot, the obstacle type, and the obstacle's outer contour can be determined. Obstacle types include traversable obstacles and avoidable obstacles. For example, in actual applications, relevant technicians can preset multiple traversable obstacles and perform obstacle detection on the acquired obstacle images using deep learning methods to identify whether the obstacle in the image is a traversable obstacle.
[0112] It is understood that after obtaining the relative position of the obstacle relative to the robot, the obstacle type, and the obstacle's outer contour, the absolute position of the obstacle can be calculated based on the relative position of the obstacle relative to the robot and the robot's absolute position as the obstacle's position. Furthermore, the obstacle's projection on the horizontal plane can be calculated based on the obstacle's outer contour. Furthermore, an obstacle zone corresponding to each obstacle can be set based on the obstacle's projection contour. For example, the obstacle zone can be the area within a predetermined range extending from the obstacle's projection contour. This predetermined range can be set by relevant technicians based on experience.
[0113] After obtaining information such as the location of the obstacle, the projection outline of the obstacle on the horizontal plane, the obstacle type, and the obstacle area to which the obstacle belongs, the corresponding relationship between these information is recorded.
[0114] It can be seen that through this solution, relevant information of obstacles can be recorded during the robot's driving process, so that when the lidar detects the existence of an obstacle in the direction of travel, the relevant information of the currently detected obstacle can be quickly obtained from the currently recorded information for calculation.
[0115] Corresponding to the above method embodiment, the present application embodiment also provides an obstacle crossing system, such as Figure 4 4. The embodiment of the present invention comprises a control terminal 410 and a robot 420;
[0116] The control terminal 410 is configured to execute any of the above-mentioned steps of the obstacle surmounting method;
[0117] The robot 420 is used to travel under the control of the control terminal 410.
[0118] In this embodiment, the control terminal can send control instructions to the robot. After receiving the control instructions, the robot can drive actuators such as motors according to the control instructions to complete the corresponding motion requirements, allowing the robot to travel under the control of the control terminal. It should be noted that the functions of the control terminal involved in this system are described in the above method embodiments and will not be repeated here.
[0119] In order to better understand this solution, the obstacle crossing method provided in the embodiment of the present application is described below with reference to a specific example.
[0120] The specific implementation process of this example is as follows Figure 5 As shown, it includes steps S501-S507:
[0121] S501, during the robot's driving process, record relevant information of obstacles in the map;
[0122] In this example, the robot first learns its working environment and builds a map of its work area before officially starting work. This allows the robot to record relevant information about obstacles in the map during operation. Specifically, the robot records the corresponding relationship between the obstacle type, location, horizontal projection outline, and the obstacle zone to which it belongs.
[0123] Specifically, during the movement of the robot, the monocular vision sensor carried by the robot can obtain images of obstacles in the direction of travel. Using deep learning methods to perform obstacle detection can detect the type of obstacles in the image (including passable obstacles and avoidable obstacles). In addition, by performing obstacle detection on the image, the outer contour of the obstacle can be detected and the relative position of the obstacle with respect to the robot can be estimated. For example, Figure 6 As shown in the figure, it is a schematic diagram of obstacle detection on an image of an obstacle to obtain the detection results of the type and outer contour of the obstacle. The black rectangular area in the figure is identified as a passable obstacle, and the edge straight line below the black rectangular area is the outer contour of the obstacle on the side adjacent to the robot.
[0124] Based on the obstacle's relative position relative to the robot and the robot's absolute position as detected by its own positioning device, the obstacle's absolute position (corresponding to the obstacle's position) is calculated and recorded in the map. Additionally, the map records the horizontal projection of the obstacle's outer contour (such as a straight line edge) and the area to which the obstacle belongs. The area to which the obstacle belongs is calculated by expanding the projection by a certain range.
[0125] S502, detecting the height of obstacles in the direction of travel in real time;
[0126] When the robot moves, the height of the obstacle in front is detected by LiDAR.
[0127] S503: If the type of the currently detected obstacle is a passable obstacle, determine whether the height of the obstacle is lower than a first threshold; if so, execute step S504; if not, execute step S505;
[0128] In this example, the first threshold is 1.2 cm, and the height of the passable obstacle is 2 cm lower than the second threshold.
[0129] S504, the robot travels at a first speed;
[0130] When the obstacle's height falls below the first threshold, the robot is controlled to increase its speed, maintaining a relatively high speed while passing. In this example, the first speed is 0.25 m / s, and the robot's direction of travel remains unchanged. Because obstacles below the first threshold are relatively low, maintaining a relatively high speed increases the robot's probability of passing directly through them.
[0131] S505, the robot travels at the second speed;
[0132] When the obstacle is not lower than the first threshold, the robot speed is reduced so that the two wheels of the robot maintain sufficient contact and friction with the obstacle when passing through the obstacle. In this example, the second speed is 0.1m / s
[0133] S506, when it is detected that the robot is in an obstacle area with traversable obstacles for a long time, calculating the optimal obstacle-crossing posture of the robot;
[0134] S507, controlling the robot to adjust to the optimal obstacle-crossing posture to cross the obstacle.
[0135] If the robot remains motionless for an extended period (e.g., 10 seconds) or moves a short distance, it searches the map to see if it is within the obstacle zone of a recorded traversable obstacle. If the robot is within the obstacle zone of an obstacle to avoid, it retreats and plans a route around the obstacle. If the robot is within the obstacle zone of a traversable obstacle, it retreats and then searches the map for the projection of the obstacle and calculates the optimal traversable point (corresponding to the current traversable point) and orientation (corresponding to the direction from the current obstacle crossing starting point to the current traversable point) corresponding to this projection. The obstacle crossing starting point and orientation are determined from the calculated orientation as the optimal obstacle crossing posture. The robot's position and orientation are then adjusted, specifically controlling the robot to travel to the determined obstacle crossing starting point and adjusting the calculated orientation to achieve the optimal obstacle crossing posture. The robot is then controlled to advance at its maximum supported acceleration and attempt to traverse the obstacle. If the robot still fails to traverse the zone for an extended period, it retreats and re-determines the obstacle crossing starting point and orientation to proceed with the obstacle crossing.
[0136] For example, Figure 7 The figure shows a schematic diagram of a robot's obstacle-crossing scenario. The robot's obstacle-crossing environment includes a traversable obstacle and two obstacle avoidance obstacles. Figure 7The circular area in the figure represents the robot, and the dotted arrow at the center of the circular area pointing outside the circular area represents the direction of movement of the robot.
[0137] When the robot follows Figure 7 When the robot is traveling in the direction indicated by the dotted arrow, if it does not move for a long time or moves a short distance, the robot's obstacle crossing posture can be adjusted, that is, the robot's obstacle crossing starting point and direction can be adjusted. For example, if the projection outline of the obstacle is as follows Figure 8 As shown, the midpoint of the longest line segment on the side of the projected contour adjacent to the robot is determined as the best passable point, that is, point C is the best passable point, and the point at a certain distance from the passable point in the direction passing through the best passable point and with an angle of 20° between it and the perpendicular line of the longest line segment is determined as the obstacle crossing starting point, that is, Figure 8 The point S in the figure is the obstacle crossing starting point. The obstacle crossing starting point and the direction of the obstacle crossing starting point to the best passable point are the best obstacle crossing posture. For example, Figure 9 As shown, Figure 7 The figure shows a schematic diagram of the robot in the obstacle crossing scenario after adjusting to the optimal obstacle crossing posture. At this time, the robot is located at the starting point of the obstacle crossing, and the direction of the dotted arrow is the adjusted driving direction.
[0138] This solution determines the robot's obstacle-crossing speed and posture based on the height, type, and outline of the detected obstacle. It directly traverses low obstacles at a higher speed, while it slows down and traverses taller obstacles. The robot's motion is monitored in real time. If it fails to pass through the area containing a traversable obstacle within a predetermined timeframe, the robot retreats. The optimal obstacle-crossing posture is calculated based on the obstacle's projected outline, and the robot's position is adjusted accordingly to overcome the obstacle. This solution improves the robot's ability to navigate obstacles of varying heights while also reducing ineffective attempts and damage to the robot over insurmountable obstacles.
[0139] Corresponding to the above method embodiment, the present application embodiment also provides an obstacle crossing device, such as Figure 10 As shown, the device includes:
[0140] An acquisition module 1010 is configured to acquire a projection profile of a current obstacle to be traversed on a horizontal plane when it is detected that the robot cannot traverse a current obstacle to be traversed according to a predetermined path during the robot's travel.
[0141] A selection module 1020 is configured to select a currently unused point within a specified portion of a target line segment of the projected contour as a current point to be passed; wherein the target line segment is the longest line segment of the projected contour adjacent to a side of the robot; and the specified portion is centered at the midpoint of the target line segment;
[0142] A determination module 1030 is configured to determine a current obstacle crossing starting point from a side of the current obstacle to be crossed that is adjacent to the robot; wherein the current obstacle crossing starting point points in the direction of the current point to be crossed and has a predetermined angle with a perpendicular direction of the target line segment;
[0143] The first control module 1040 is used to control the robot to retreat in a direction outside the obstacle area to which the current obstacle to be passed belongs, and to drive to the current obstacle crossing starting point;
[0144] The second control module 1050 is used to control the robot to travel from the current obstacle-crossing starting point to the current point to be passed along a straight path after the robot travels to the current obstacle-crossing starting point, so that the robot can cross the current obstacle to be passed from the current point to be passed.
[0145] Optionally, the device further comprises:
[0146] After the second control module controls the robot to travel from the current obstacle crossing starting point to the current point to be passed along a straight path, if the robot cannot cross the current obstacle to be passed according to the current obstacle crossing starting point, it returns to execute the step of selecting a currently unused point from the specified part of the target line segment of the projection contour as the current point to be passed.
[0147] Optionally, controlling the robot to travel from a current obstacle-crossing starting point to a current waiting point along a straight path includes:
[0148] The robot is controlled to travel from a current obstacle-crossing starting point to a current waiting point along a straight path at maximum acceleration.
[0149] Optionally, the determining module 1030 includes:
[0150] A first determining submodule is configured to determine a straight line that passes through the current point to be passed and has a predetermined angle with the perpendicular direction of the target line segment;
[0151] The second determination submodule is used to determine, from the determined straight line, a point on the side of the current obstacle to be traversed that is adjacent to the robot, as the current obstacle traversal starting point; wherein, when the robot travels from the determined point along a straight line path to the current point to be traversed at maximum acceleration, the speed of the robot can reach the maximum speed supported.
[0152] Optionally, the predetermined angle is any angle within a preset angle range, and the preset angle range is [20°, 30°].
[0153] Optionally, the acquisition module 1010 includes:
[0154] A first acquisition submodule is configured to acquire an obstacle area to which a currently recorded traversable obstacle belongs when detecting that the displacement of the robot within a predetermined time period is less than a preset distance;
[0155] The second acquisition submodule is used to obtain the currently recorded projection outline of the traversable obstacle on the horizontal plane as the current projection outline of the obstacle to be traversed on the horizontal plane if the current position of the robot is located in the obstacle area to which one of the traversable obstacles belongs.
[0156] Optionally, the device further comprises:
[0157] a type determination module, configured to, before the acquisition module 1010 executes the step of acquiring the projection outline of the current obstacle to be traversed on a horizontal plane when it is detected that the robot cannot traverse the current obstacle to be traversed according to the predetermined path, determine the type of the currently detected obstacle when a laser radar installed on the robot detects the presence of an obstacle in the direction of travel during the robot's movement;
[0158] a third control module, configured to control the robot to increase a travel speed and travel toward the currently detected obstacle along a predetermined path to pass over the currently detected obstacle if the currently detected obstacle is a passable obstacle and the height of the currently detected obstacle is lower than a first threshold;
[0159] The fourth control module is used to control the robot to reduce the driving speed and drive toward the currently detected obstacle along a predetermined path to cross the currently detected obstacle if the type of the currently detected obstacle is a passable obstacle and the height of the currently detected obstacle is lower than the second threshold and not lower than the first threshold.
[0160] Optionally, the method for determining the type of the currently detected obstacle includes:
[0161] When an obstacle is detected in the direction of travel by the laser radar installed on the robot, a corresponding relationship between the type and position of the obstacle currently recorded is obtained;
[0162] Determine the type of the obstacle that corresponds to the position of the currently detected obstacle in the corresponding relationship to obtain the type of the currently detected obstacle.
[0163] Optionally, the device further comprises:
[0164] The acquisition module is used to control the robot to acquire images of obstacles in the direction of travel through the visual sensors installed on the robot during the robot's travel;
[0165] The recognition module is used to detect obstacles based on the collected images, obtain the type, location, projection outline on the horizontal plane, and the corresponding relationship between the obstacle areas in the collected images, and record them; the obstacle types include passable obstacles and avoidable obstacles.
[0166] In the technical solution of this application, the operations involved in acquiring, storing, using, processing, transmitting, providing and disclosing images are all carried out with the user's authorization.
[0167] The present application also provides an electronic device, such as Figure 11 As shown, including:
[0168] Memory 1101, used for storing computer programs;
[0169] The processor 1102 is configured to implement any of the above-mentioned obstacle surmounting methods when executing the program stored in the memory 1101 .
[0170] Furthermore, the electronic device may further include a communication bus and / or a communication interface, and the processor 1102 , the communication interface, and the memory 1101 communicate with each other via the communication bus.
[0171] The communication bus mentioned in the electronic device mentioned above may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. This communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is used in the figure, but this does not mean that there is only one bus or only one type of bus.
[0172] The communication interface is used for communication between the above electronic device and other devices.
[0173] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage. Alternatively, the memory may be at least one storage device located away from the processor.
[0174] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components.
[0175] In another embodiment provided in the present application, a computer-readable storage medium is further provided, wherein a computer program is stored in the computer-readable storage medium. When the computer program is executed by a processor, the steps of any of the above-mentioned obstacle surmounting methods are implemented.
[0176] In another embodiment provided by the present application, a computer program product including instructions is further provided, which, when executed on a computer, enables the computer to execute any obstacle surmounting method in the above-mentioned embodiments.
[0177] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrations. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a solid-state drive (SSD).
[0178] It should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply the existence of any such actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or device 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 device. 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 device comprising the element.
[0179] Each embodiment in this specification is described in a related manner. Similar portions between the embodiments can be referenced to each other. Each embodiment focuses on the differences between the other embodiments. In particular, the system and device embodiments are generally similar to the method embodiments, so their descriptions are relatively simple. For related portions, refer to the descriptions of the method embodiments.
[0180] The above description is only a preferred embodiment of the present application and is not intended to limit the scope of protection of the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application are included in the scope of protection of the present application.
Claims
1. An obstacle surmounting method, characterized in that: The method comprises: During the robot's movement, when it is detected that the robot cannot pass through a current obstacle to be passed according to a predetermined path, a projection outline of the current obstacle to be passed on a horizontal plane is obtained; Selecting a currently unused point within a specified portion of a target line segment of the projected contour as the current point to be passed; wherein the target line segment is the longest line segment of the projected contour adjacent to the robot; and the specified portion is centered at the midpoint of the target line segment; Determine a current obstacle crossing starting point from a side of the current obstacle to be crossed that is adjacent to the robot; wherein the current obstacle crossing starting point points in the direction of the current point to be crossed and has a predetermined angle with the perpendicular direction of the target line segment; Controlling the robot to retreat in a direction outside the obstacle area to which the current obstacle to be passed belongs, and driving to the current obstacle crossing starting point; After the robot travels to the current obstacle-crossing starting point, the robot is controlled to travel from the current obstacle-crossing starting point to the current point to be passed along a straight path, so that the robot passes the current obstacle to be passed from the current point to be passed.
2. The method according to claim 1, characterized in that After controlling the robot to travel from the current obstacle-crossing starting point to the current waiting point along a straight path, the method further includes: If the robot cannot cross the current obstacle to be passed according to the current obstacle crossing starting point, it returns to the step of selecting a currently unused point from the specified part of the target line segment of the projection contour as the current point to be passed.
3. The method according to claim 1, characterized in that The controlling the robot to travel from the current obstacle-crossing starting point to the current waiting point along a straight path includes: The robot is controlled to travel from a current obstacle-crossing starting point to a current waiting point along a straight path at maximum acceleration.
4. The method according to claim 1, wherein The step of determining the current obstacle crossing starting point from a side of the current obstacle to be crossed that is adjacent to the robot includes: Determine a straight line passing through the current point to be passed and having a predetermined angle with the perpendicular direction of the target line segment; From the determined straight line, a point on the side of the current obstacle to be passed that is adjacent to the robot is determined as the current obstacle crossing starting point; wherein, when the robot travels from the determined point along a straight line path to the current point to be passed at maximum acceleration, the speed of the robot can reach the maximum speed supported.
5. The method according to claim 1 or 4, characterized in that The predetermined angle is any angle within a preset angle range, and the preset angle range is [20°, 30°].
6. The method according to claim 1, characterized in that When it is detected that the robot cannot cross the current obstacle to be passed according to the predetermined path, obtaining the projection outline of the current obstacle to be passed on the horizontal plane includes: When it is detected that the displacement of the robot within a predetermined time period is less than a preset distance, obtaining the obstacle area to which the currently recorded traversable obstacle belongs; If the current position of the robot is located in the obstacle area to which one of the traversable obstacles belongs, the currently recorded projection outline of the traversable obstacle on the horizontal plane is obtained as the current projection outline of the obstacle to be traversed on the horizontal plane.
7. The method according to claim 1, characterized in that When it is detected that the robot cannot cross the current obstacle to be traversed according to the predetermined path, before obtaining the projection outline of the current obstacle to be traversed on the horizontal plane, the method further includes: During the robot's travel, when a laser radar installed on the robot detects an obstacle in the travel direction, determining the type of the currently detected obstacle; If the type of the currently detected obstacle is a passable obstacle and the height of the currently detected obstacle is lower than a first threshold, controlling the robot to increase the driving speed and drive toward the currently detected obstacle along a predetermined path to cross the currently detected obstacle; If the type of the currently detected obstacle is a passable obstacle, and the height of the currently detected obstacle is lower than the second threshold and not lower than the first threshold, the robot is controlled to reduce the driving speed and drive towards the currently detected obstacle along a predetermined path to cross the currently detected obstacle.
8. The method according to claim 7, characterized in that Determining the type of the currently detected obstacle includes: Get the correspondence between the type and position of the currently recorded obstacle; Determine the type of the obstacle that corresponds to the position of the currently detected obstacle in the corresponding relationship to obtain the type of the currently detected obstacle.
9. The method according to claim 6 or 8, characterized in that The method further comprises: During the movement of the robot, the robot is controlled to collect images of obstacles in the direction of movement through a visual sensor installed on the robot; Based on obstacle detection on the collected images, the type, position, projection outline on the horizontal plane and correspondence between the obstacle areas in the collected images are obtained and recorded; wherein the obstacle types include passable obstacles and avoidable obstacles.
10. An obstacle crossing system, characterized in that: Including control terminal and robot; The control terminal is used to execute the method according to any one of claims 1 to 9; The robot is used to travel under the control of the control end.
11. An obstacle crossing device, characterized in that: The device comprises: an acquisition module, configured to acquire a projection outline of the current obstacle to be traversed on a horizontal plane when it is detected that the robot cannot traverse the current obstacle to be traversed according to a predetermined path during the robot's movement; a selection module configured to select a currently unused point within a specified portion of a target line segment of the projected contour as a current point to be passed; wherein the target line segment is the longest line segment of the projected contour adjacent to a side of the robot; and the specified portion is centered at a midpoint of the target line segment; a determination module, configured to determine a current obstacle crossing starting point from a side of the current obstacle to be crossed that is adjacent to the robot; wherein the current obstacle crossing starting point points in the direction of the current point to be crossed and has a predetermined angle with a perpendicular direction of the target line segment; A first control module is used to control the robot to retreat in a direction outside the obstacle area to which the current obstacle to be passed belongs, and to drive to the current obstacle crossing starting point; The second control module is used to control the robot to travel from the current obstacle-crossing starting point to the current point to be passed along a straight path after the robot travels to the current obstacle-crossing starting point, so that the robot can cross the current obstacle to be passed from the current point to be passed.
12. An electronic device, characterized in that: include: Memory for storing computer programs; A processor, configured to implement the method according to any one of claims 1 to 9 when executing a program stored in a memory.
13. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 9 is implemented.
14. A computer program product, characterized in that The computer program product comprises executable instructions, and when the executable instructions are executed on a computer, the computer is caused to perform the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Obstacle crossing method of sweeping robot
CN114098540A
Obstacle encountering processing method and device of self-walking robot, robot and storage medium
CN114610013A