Line-laser-based robot motion control method

By using cross-line laser modules and Bezier curve fitting technology, the robot can autonomously avoid obstacles, solving the problems of grid map obstacle avoidance error and collision sensor dependence, and realizing collision-free smooth obstacle avoidance path planning.

WO2026016575A1PCT designated stage Publication Date: 2026-01-22AMICRO SEMICONDUCTOR CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/090941
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-17
Filing Date
2025-04-24
Publication Date
2026-01-22

AI Technical Summary

Technical Problem

Robots struggle to autonomously avoid obstacles and navigate smoothly during movement. Existing technologies using grid maps for obstacle avoidance have errors and require additional collision sensors.

Method used

The system uses a cross-line laser module to detect obstacle outlines in real time, uses Bézier curves to fit obstacle outline points to generate continuous obstacle fitting curves, and uses look-ahead points to plan paths to achieve collision-free obstacle avoidance.

Benefits of technology

Without the installation of collision sensors, the robot can autonomously avoid obstacles, reduce grid errors, and achieve smooth obstacle avoidance path planning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025090941_22012026_PF_FP_ABST
    Figure CN2025090941_22012026_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed in the present application is a line-laser-based robot motion control method. The robot motion control method comprises: a robot controlling a cross-line laser module to emit line lasers in front of the robot; the robot collecting, in real time, obstacle contour points detected by the line laser; the robot setting a reference detection area, and then using the obstacle contour points framed by the reference detection area to perform Bézier curve fitting, so as to generate an obstacle fitting curve; acquiring a target point from the obstacle fitting curve, then acquiring a look-ahead point by applying a coordinate offset to the target point, and then moving to the look-ahead point; and each time the robot moves to a look-ahead point, acquiring the next look-ahead point on the basis of the obstacle fitting curve until the robot moves to a preset obstacle avoidance endpoint, so that the robot moves along the extension direction of the obstacle fitting curve without touching an obstacle.
Need to check novelty before this filing date? Find Prior Art

Description

Robot movement control method based on line laser TECHNICAL FIELD

[0001] The present application relates to the field of robots, in particular to a robot movement control method based on line laser. BACKGROUND

[0002] With the continuous development of artificial intelligence, electronic communication technology and the like, robots have gradually become a new and popular research technology field and are widely applied to many industries such as military and civilian. When a robot moves from one position to another, it must avoid collision with obstacles such as fixed pillars and temporary obstacles that are difficult for the robot to cross. Therefore, it is necessary to detour.

[0003] How to enable the robot to autonomously walk along the contour of the obstacle without collision and smoothly, wherein, determining the contour position coordinates of the obstacle in advance and planning a trajectory with strong continuity are important prerequisites. SUMMARY

[0004] The present application discloses a robot movement control method based on line laser, and the specific technical solutions are as follows:

[0005] The robot movement control method based on line laser, the front end of the robot is equipped with a cross line laser module; the robot movement control method comprises the following steps: step S1, the robot controls the cross line laser module to emit two intersecting line lasers in front of the robot; step S2, in the process of moving the robot, the robot collects the obstacle contour points detected by the line laser in real time and obtains the position coordinates of the obstacle contour points; step S3, when the distance between the robot and the nearest obstacle contour point reaches the preset obstacle avoidance trigger distance, the robot turns at a preset angle, and then sets the current position point of the robot as the starting point of obstacle walking; step S4, a reference detection area is set on the side of the robot close to the obstacle contour point, and the position coordinates of the obstacle contour points framed by the reference detection area are used for Bezier curve fitting to generate an obstacle fitting curve; step S5, based on the adjacent position point of the starting point of obstacle walking in the positive direction of the body longitudinal axis, a target point with the same longitudinal coordinate as the adjacent position point is obtained from the obstacle fitting curve, and a look-ahead point is obtained by offsetting the coordinates of the target point; then the robot moves from the starting point of obstacle walking to the look-ahead point; step S6, whenever the robot moves to a look-ahead point, the look-ahead point is updated as the starting point of obstacle walking; then steps S5 to S6 are repeatedly executed, or steps S4 to S6 are repeatedly executed; until the robot moves to the preset obstacle walking end point.

[0006] Without installing a collision sensor, the cross-line laser module is used to detect the obstacle profile area in front of the robot in advance, and the coordinates of the obstacle profile points are marked in the grid map to form the historical coordinate points for subsequent turning around the obstacle and fitting the obstacle profile line; when the robot moves to a distance of the preset obstacle avoidance trigger distance from the obstacle profile, the robot starts to turn to align with the nearest obstacle profile point, and then sets the current position of the robot as the starting point for walking around the obstacle; thus, without the side-mounted collision sensor, the obstacle profile can be marked and the starting point for walking around the obstacle can be determined, the position after turning is selected as the starting point, and the walking direction after turning is kept to continue moving forward, so that the robot can avoid colliding with the obstacle in the direction before turning, thereby facilitating the start of collision-free obstacle avoidance.

[0007] In order to overcome the grid error caused by directly avoiding the obstacle according to the grid map, the obstacle profile points in the selected map area are converted from the grid map to the local coordinate system of the robot to obtain the relative coordinate information with the starting point for walking around the obstacle as the origin, and then the relative coordinate information is used for Bezier curve fitting to obtain the obstacle fitting curve, so that the relatively discrete obstacle profile points are fitted into the relatively continuous profile line, and the smoothing processing of the obstacle grid using the Bezier curve is realized.

[0008] In order to prevent the robot from colliding with the obstacle during the process of walking around the obstacle, the obstacle fitting curve is offset in the direction of the starting point for walking around the obstacle by a distance greater than the body radius to obtain the lookahead point for the robot to walk around, and then the robot is controlled to reach a lookahead point in front of it from its current position, and the points in front of the robot are tracked along the obstacle fitting curve, so that the robot can perform curve fitting and node tracking according to the historical marking of the obstacle profile points, and the collision-free obstacle avoidance or obstacle walking around is achieved in the tracking process. BRIEF DESCRIPTION OF DRAWINGS

[0009] FIG. 1 is a schematic diagram of a robot with a circular body scanning the obstacle profile points of a straight-line obstacle #1 before being triggered to avoid the obstacle in an embodiment, wherein the robot with the circular body sequentially collects the obstacle profile point P1, the obstacle profile point P2, the obstacle profile point P3, the obstacle profile point P4 and the obstacle profile point P5 along the arrow pointing from left to right.

[0010] FIG. 2 is a schematic diagram of the robot with the circular body detecting the nearest obstacle profile point P1 of the straight-line obstacle #1 along the arrow pointing from left to right when being triggered to avoid the obstacle in an embodiment.

[0011] FIG. 3 is a schematic diagram of the robot with the circular body in FIG. 2 turning to the left until the line connecting the obstacle profile point P1 and the center O of the body is parallel to the wheel shaft S.

[0012] Figure 4 is a schematic view of a robot with a circular body scanning obstacle profile points of an obstacle #2 with a curved profile before being triggered to avoid the obstacle in an embodiment, wherein the robot with the circular body sequentially scans out obstacle profile point P6, obstacle profile point P7, obstacle profile point P8, obstacle profile point P9, and obstacle profile point P10 along the left-to-right arrow.

[0013] Figure 5 is a schematic view of the robot with the circular body detecting the nearest obstacle profile point P6 of the obstacle #2 with the curved profile along the left-to-right arrow when triggered to avoid the obstacle in an embodiment.

[0014] Figure 6 is a schematic view of the robot with the circular body in Figure 5 turning left until the line connecting the obstacle profile point P6 and the body center O is parallel to the wheel axle S.

[0015] Figure 7 is a schematic view of a segment of an obstacle fitting curve U1 fitted in an embodiment, wherein the coordinate offset of the look-ahead point A2 from the starting point Al of the obstacle fitting curve in the X-axis direction is equal to D; the obstacle fitting curve U1 is used to represent the inwardly concave profile line of the obstacle #3 framed by the reference detection region EFGH, the starting point of the obstacle fitting curve U1 (equivalent to the starting point of a Bezier curve) and the lower end point of the inwardly concave profile line framed by the reference detection region EFGH are both the position point Al, and the ending point of the obstacle fitting curve U1 (equivalent to the ending point of a Bezier curve) and the upper end point of the inwardly concave profile line framed by the reference detection region EFGH are both the position point B1.

[0016] Figure 8 is a schematic view of a segment of an obstacle fitting curve U2 fitted in an embodiment, wherein the coordinate offset of the look-ahead point A5 from the position point A4 in the obstacle fitting curve in the X-axis direction is equal to D; the obstacle fitting curve U2 is used to represent the rightward convex profile line of the obstacle #2 framed by the reference detection region EFGH, the starting point of the obstacle fitting curve U2 (equivalent to the starting point of a Bezier curve) and the lower end point of the rightward convex profile line framed by the reference detection region EFGH are both the position point A3, and the ending point of the obstacle fitting curve U2 (equivalent to the ending point of a Bezier curve) and the upper end point of the rightward convex profile line framed by the reference detection region EFGH are both the position point B2.

[0017] Figure 9 is a flowchart of a line laser-based robot movement control method disclosed in an embodiment. DETAILED DESCRIPTION

[0018] In order to make the present application clearer, specific embodiments will be given below to make further illustration. In the following description, specific details such as specific system structures, techniques, etc. are presented for the purpose of illustration but not for the purpose of limitation, so that the present application can be thoroughly understood. However, it should be clear for those skilled in the art that the present application can also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits and methods are omitted so as not to obscure the description of the present application with unnecessary details.

[0019] As an embodiment, the present embodiment discloses a line laser-based robot movement control method, as shown in FIG. 9, which comprises:

[0020] Step S1, the robot control intersection line laser module emits two intersecting line lasers to the front of the robot; then step S2 is executed; in the travel plane of the robot, one of the line lasers is directed to the front left of the robot, and the other is directed to the front right of the robot, corresponding to FIGS. 3 and 6, the two line lasers intersect at point M, and the triangular region between the front end of the robot and point M is the blind area generated by the intersection line laser module. The triangular region surrounded by the dashed line in front of the robot in the moving direction of the robot is the effective detection area, and the projection distance of the effective detection area in the direction of the arrow is the working range of the intersection line laser module. The included angle formed by the planes of the two line lasers is preferably 90 degrees, and the planes of the two line lasers are both perpendicular to the travel plane of the robot. The planes of the two line lasers are preferably perpendicular to the ground.

[0021] It should be noted that, for the purpose of brief illustration, in the subsequent description, the specific implementation process of the present embodiment is described mainly by way of example with the controller of the robot as the execution subject and the controller planning the motion trajectory of the robot as the application scenario. But it does not mean that the present embodiment can only be applied to planning the motion trajectory of the robot, nor does it mean that the motion trajectory of the robot can only be executed by the controller of the robot. The body shape of the robot includes but is not limited to a circular body, a D-shaped body with a circular back, etc.

[0022] The body shape of the robot corresponds to the disc-shaped body shown in FIGS. 1 to 7; the front end of the robot is equipped with an intersection line laser module, and the laser beams emitted by the intersection line laser module are shown as two intersecting line segments of limited length located at the front end of the robot in the robot travel plane area (horizontal ground area) corresponding to FIGS. 1 to 6.

[0023] In step S2, the robot collects the obstacle profile points detected by the line laser in real time during the movement of the robot and obtains the position coordinates of the obstacle profile points, and then step S3 is performed. In step S2, the obstacle profile points are reflection points formed by the reflection of the line laser on the surface of the obstacle. Each collected obstacle profile point has three-dimensional coordinate information, including the position coordinates formed by the obstacle profile point relative to the current position point of the robot, the height information, and the azimuth angle (the angle of the line connecting the obstacle profile point and the current position point relative to the current advancing direction (current moving direction) of the robot). The robot collects new obstacle profile points every time it moves to a new position along the intended direction. If the control system of the robot internally constructs a global map, the angle between the current advancing direction of the robot and a coordinate axis of the coordinate system of the global map is the deflection angle between the same type of coordinate axis of the robot coordinate system (the local coordinate system with the current position point of the robot as the origin and the current advancing direction as the positive direction of the coordinate axis) and the coordinate system of the global map, which is used for coordinate system conversion of the obstacle profile points between the coordinate system of the global map and the robot coordinate system.

[0024] Specifically in the scene of detecting the straight-line obstacle #1 in FIG. 1, the robot moves along the left-to-right arrow direction shown in FIG. 1, gradually approaches the left side of the straight-line obstacle #1, and the effective detection area formed by the two intersecting line lasers covers the straight-line profile on the upper left of the straight-line obstacle #1 from far to near. The robot collects the obstacle profile point P1, the obstacle profile point P2, the obstacle profile point P3, the obstacle profile point P4, and the obstacle profile point P5 in sequence during the movement along the left-to-right arrow direction, and can complete the profile marking of the straight wall. Of course, in the left-to-right arrow direction shown in FIG. 1, there are other collected obstacle profile points between adjacent two obstacle profile points, which are not shown in the figure. The obstacle profile points marked in FIG. 1 are only part of the profile points in the profile of the obstacle #1. Or when marking the obstacle profile points to the grid map, some collected profile points will be lost in the process of marking the obstacle on the map due to the limitation of the resolution of the grid. Among them, the illustrated obstacle profile point P1 is the first obstacle profile point closest to the robot body center O during the movement of the robot along the left-to-right arrow direction.

[0025] Specifically in the scenario of detecting the ellipse-shaped obstacle #2 in FIG. 4, the robot moves along the arrow pointing from left to right shown in FIG. 4, gradually approaches the left side of the ellipse-shaped obstacle #2, and the effective detection area formed by the two intersecting laser beams covers the curved profile on the upper left of the ellipse-shaped obstacle #2 from far to near. During the movement of the robot, the robot successively collects the obstacle profile point P6, the obstacle profile point P7, the obstacle profile point P8, the obstacle profile point P9, and the obstacle profile point P10. Of course, in the arrow pointing from left to right shown in FIG. 1, there are other collected obstacle profile points between adjacent two obstacle profile points, but they are not shown in the figure. The obstacle profile points marked in FIG. 4 are only part of the profile points of the obstacle #2. Or when marking the obstacle profile points to the grid map, due to the limitation of the resolution of the grid, some collected profile points will be lost during the process of marking the obstacle on the map. Among them, the illustrated obstacle profile point P6 is the first obstacle profile point closest to the robot body center O during the movement of the robot body center O along the arrow pointing from left to right.

[0026] In step S3, when the distance between the robot body center O and the closest obstacle profile point reaches the preset obstacle avoidance triggering distance, the robot turns by the preset angle, and then sets the current position point of the robot as the walking start point for avoiding the obstacle. Then, step S4 is performed. In step S3, the closest obstacle profile point is the obstacle profile point in the obstacle on the left front of the robot or the obstacle profile point in the obstacle on the right front of the robot, which is the closest obstacle profile point before the robot turns, and also becomes the reference point for verifying whether the robot turns by the preset angle, so as to set the walking start point for effectively avoiding the obstacle where the closest obstacle profile point is located, and start the obstacle avoidance operation.

[0027] When the robot needs to avoid the approaching obstacle on the left front, the obstacle on the left front can be set as a side obstacle. When the distance between the robot body center O and the side obstacle reaches the preset obstacle avoidance triggering distance, the robot triggers to avoid the side obstacle. Therefore, the robot first needs to turn right by the preset angle to start walking along the right profile of the side obstacle. The side obstacle is an obstacle located outside the side of the robot body, and the side of the robot body includes the left side of the robot body or the right side of the robot body. Therefore, the side obstacle refers to an obstacle located on the left side or the right side of the robot body and not in contact with the robot.

[0028] When the robot needs to avoid the approaching obstacle on the right front side, as shown in FIG. 2, the linear obstacle 1 on the right front side can be set as a side obstacle, and when the robot advances along the direction from O to M (the arrow pointing from left to right shown in FIG. 2) to the distance between the robot center O and the right endpoint P1 of the side obstacle 1 reaches the preset obstacle avoidance trigger distance, the robot is triggered to start to avoid the side obstacle 1, so that during the turning process, the shortest distance between the edge point on the robot and the obstacle contour point P1 is set to be equal to the preset interval, wherein the edge point on the robot can be the intersection of the line connecting the obstacle contour point P1 and the robot center O and the robot edge. The preset obstacle avoidance trigger distance is set to be equal to the sum of the robot radius and the preset interval, and the preset interval is set to be between 1 cm and 2 cm, preventing the robot from colliding with the obstacle 1, so the robot first needs to turn left by a preset angle, changing the advancing direction of the robot from the arrow pointing from left to right shown in FIG. 2 to the arrow pointing shown in FIG. 3, so that the deviation angle of the advancing direction of the robot in FIG. 3 relative to the side obstacle 1 is greater than the deviation angle of the advancing direction of the robot in FIG. 2 relative to the side obstacle 1, at least the robot will not touch the side obstacle 1 during the process of walking in the current advancing direction, so as to avoid the left profile of the side obstacle 1 during the process of continuing to walk along the advancing direction after turning; at this time, the right side of the robot after turning is still the closest obstacle contour point P1, and the remaining previously marked obstacle contour points P2, P3, P4 and P5 are less likely to hinder, not to mention other undetected obstacle contour points existing on the same linear profile, and the other undetected obstacle contour points can be distributed in the detection blind area of the line laser.

[0029] When the robot needs to bypass the approaching obstacle on the right front side, as shown in FIG. 5, the obstacle 2 on the right front side can be set as a side obstacle, and when the distance between the body center O and the right end point P1 of the side obstacle 2 reaches a preset obstacle avoidance trigger distance, the robot triggers to start bypassing the side obstacle 2, so that the shortest distance between the body edge of the robot during the turning and the obstacle contour point P6 is equal to the preset interval, the preset obstacle avoidance trigger distance is set to be equal to the sum of the body radius and the preset interval, and the preset interval is set to be between 1 cm and 2 cm, preventing the robot from colliding with the obstacle 2. Then, the robot needs to turn left by a preset angle first, so that the advancing direction of the robot in FIG. 6 is changed from the left-to-right arrow direction in FIG. 5 to the arrow direction in FIG. 6, so that the deflection angle of the advancing direction of the robot in FIG. 6 relative to the tangent line passing through the obstacle contour point P6 is greater than the deflection angle of the advancing direction of the robot in FIG. 5 relative to the tangent line passing through the obstacle contour point P6. At least the robot will not touch the side obstacle 2 during the current advancing direction, so as to bypass the left contour of the side obstacle 2 during the process of continuing to walk along the advancing direction after the turning. At this time, the rightmost obstacle contour point of the robot after the turning is still the nearest obstacle contour point P6, and the remaining pre-marked obstacle contour points P7, P8 (protruding points), P9 and P10 have less possibility of hindering, not to mention other undetected obstacle contour points on the same curve contour. The other undetected obstacle contour points can be distributed in the detection blind area of the line laser.

[0030] It should be noted that the obstacles disclosed in the embodiment are obtained by real-time detection of line lasers, and the line lasers hit the obstacles and form reflection points after being reflected by the surface of the obstacles. The height information of the front obstacle can be obtained through the reflection points, and whether the object detected by the line laser is an obstacle can be determined according to the height information. For example, when the height of the reflection point is beyond the preset obstacle height range, it is determined that an obstacle is detected, and the obstacle needs to be avoided. The height of the reflection point is the height difference of the reflection point relative to the ground area (based on the height of the ground area). The ground area is parallel to the advancing plane of the robot, and the height uniformity of a partial area can be analyzed to determine whether the partial area is the ground.

[0031] Step S4, setting a reference detection area on the side of the robot close to the obstacle contour points, preferably the dashed polygonal area EFGH set on the right side of the robot in FIG. 7 and FIG. 8, and the reference detection area is displaced following the movement of the robot to frame the area newly traversed outside the side of the robot in real time, the dashed polygonal area EFGH set in FIG. 7 can cover the right side inwardly concave contour of obstacle #3 (represented as discrete points in the figure, i.e. the discrete distributed obstacle contour points detected by the cross-line laser module); the dashed polygonal area EFGH set in FIG. 8 can cover the right side outwardly convex contour of obstacle #2 (represented as discrete points in the figure, i.e. the discrete distributed obstacle contour points detected by the cross-line laser module). Then the robot performs Bezier curve fitting on the position coordinates of the obstacle contour points framed by the reference detection area, generates an obstacle fitting curve, and then executes step S5; wherein the obstacle fitting curve is used to represent the contour of the obstacle to which the obstacle contour points framed by the reference detection area belong, the obstacle contour points framed within the reference detection area are configured as the control points of the Bezier curve, among the obstacle contour points framed within the reference detection area, there are the starting point of the Bezier curve and the terminal point of the Bezier curve, the relative positions of the starting point of the Bezier curve and the terminal point of the Bezier curve control the curvature of the Bezier curve, affect the smoothness of the obstacle fitting curve, and the position points planned for obstacle avoidance / obstacle circumvention required for the subsequent movement of the robot along the extension direction of the obstacle fitting curve.

[0032] Step S5, based on the adjacent position point of the obstacle-walking start point in the positive direction of the body longitudinal axis, a target point with the same longitudinal coordinate as the adjacent position point is obtained from the obstacle fitting curve; in step S5, the adjacent position point of the obstacle-walking start point in the positive direction of the body longitudinal axis has the same coordinate as the obstacle-walking start point in the positive direction of the body transverse axis, and the positive direction of the body transverse axis is perpendicular to the positive direction of the body longitudinal axis. Then, the look-ahead point is obtained by offsetting the coordinates of the target point, specifically, the target point is offset in the positive direction of the body transverse axis or the opposite direction of the positive direction of the body transverse axis, so as to obtain the look-ahead point outside the obstacle and in the passable area. In order to prevent the robot from colliding with the obstacle, the coordinate offset is set considering the requirements of the body radius and the obstacle-walking distance. Then, the robot moves from the obstacle-walking start point to the look-ahead point, and then step S6 is performed; here, the movement is generally a straight line in the determined direction. Corresponding to FIG. 7, the center of the robot body moves from position point O (regarded as the obstacle-walking start point) to position point A2 (look-ahead point), and position point A1 is the target point. Corresponding to FIG. 8, the center of the robot body moves from position point O (regarded as the obstacle-walking start point) to position point A5 (look-ahead point), and position point A4 is the target point. The positive direction of the body longitudinal axis is set as the current moving direction of the robot, and the real-time advancing direction of the robot is marked by the coordinate axis direction of the robot coordinate system; so that the robot moves from the obstacle-walking start point to the look-ahead point planned in real time according to the positive direction of the body longitudinal axis to realize walking along the extension direction of the obstacle fitting curve.

[0033] When the robot is close to the obstacle and the area covered by the reference detection area outside the body is small, the framed obstacle contour point is close to one side boundary (which can be close to the side boundary of the obstacle or close to the side boundary of the robot), resulting in that the fitted obstacle fitting curve is located outside the reference detection area; otherwise, the fitted obstacle fitting curve will be limited inside the reference detection area.

[0034] Step S6, each time the robot moves to a said look-ahead point, the said look-ahead point is updated as the said obstacle-avoiding walking start point, and then steps S5 to S6 are repeatedly executed, the trajectory equation (Bezier curve equation) of the said obstacle fitting curve fitted in step S4 is continuously tracked and offset to obtain the next look-ahead point; the new look-ahead point can be obtained in step S5 until the robot moves to the preset obstacle-avoiding end point. Thus, the robot can walk along the extension direction of the obstacle fitting curve without touching the obstacle. Preferably, the preset obstacle-avoiding end point is the end point of the obstacle fitting curve fitted in the current step S4, and the obstacle-avoiding walking of the local contour of the obstacle is completed. If each look-ahead point is translated from a point with the same vertical coordinate in the said obstacle fitting curve, the obstacle-avoiding trajectory formed by connecting each look-ahead point along the positive direction of the said body vertical axis is parallel to the said obstacle fitting curve, and the robot can walk along the contour of the said obstacle while maintaining a fixed distance from the said obstacle fitting curve. After step S6 is executed, if necessary, after a segment of the obstacle fitting curve fitted in step S4 is walked to the said preset obstacle-avoiding end point, a new segment of the obstacle fitting curve (the extension direction and the curvature are changed) is fitted in step S4, and the robot walks along the extension direction of the new segment of the obstacle fitting curve.

[0035] Alternatively, in step S6, each time the robot moves to a said look-ahead point, the said look-ahead point is updated as the said obstacle-avoiding walking start point, and then steps S4 to S6 are repeatedly executed, so that the robot updates the path to be walked while walking, and thus the trajectory equation (Bezier curve equation) of the said obstacle fitting curve fitted in the latest step S4 is continuously tracked and offset to obtain the next look-ahead point; the new look-ahead point can be obtained in step S5 until the robot moves to the preset obstacle-avoiding end point, which can be located on the boundary of the reference detection area, or a selected obstacle contour point on the obstacle currently walked around by the robot (the obstacle on which the said nearest obstacle contour point is located), which is located at a corner point in the advancing plane of the robot, so that the robot can completely avoid the obstacle by passing through the corner point. The corresponding walking strategy is executed according to different position characteristics, which can better improve the obstacle avoidance problem of the laser navigation robot in the robot coordinate system, and can effectively deal with different situations during walking.

[0036] In summary, without installing a collision sensor, the embodiment uses a cross-line laser module to detect the obstacle profile area in front of the robot in advance, and marks the coordinates of the obstacle profile points in the grid map, forming historical coordinate points for subsequent turning around obstacles and fitting obstacle profile lines; when the robot moves to a distance of the preset obstacle avoidance trigger distance from the obstacle profile, the robot starts to turn to align with the nearest obstacle profile point, and then sets the current position of the robot as the starting point for walking around the obstacle; so that without side-mounted collision sensors, the obstacle marked profile and the starting point for walking around the obstacle can be determined, the selected position after turning is selected as the starting point and the walking direction after turning is kept to continue moving forward, which can avoid the robot colliding with the obstacle in the direction before turning, so as to facilitate starting collision-free obstacle avoidance. In order to overcome the grid error caused by directly avoiding obstacles according to the grid map, the obstacle profile points in the selected map area are converted from the grid map to the local coordinate system of the robot to obtain relative coordinate information with the walking start point as the origin, and then the relative coordinate information is used for Bezier curve fitting to obtain the obstacle fitting curve, so that the relatively discrete obstacle profile points are connected to form a relatively continuous profile line, and the smoothing processing of the obstacle grid using the Bezier curve is realized. In order to prevent the robot from colliding with the obstacle during obstacle avoidance, the obstacle fitting curve is offset in the direction of the walking start point by a distance greater than the body radius to obtain a lookahead point for the robot to walk around, and then the robot is controlled to reach a lookahead point in front of it from its current position, and the robot traces the points in front of it along the obstacle fitting curve, realizing curve fitting and node tracking according to the historical marking of the obstacle profile points, and achieving collision-free obstacle avoidance or obstacle avoidance during tracking.

[0037] As an embodiment, the cross-line laser module comprises two line laser emitters and a laser receiver; the two line laser emitters are installed on the sides of the robot, as shown in FIG. 3 and FIG. 6, OM is the middle axis of the robot body, the two line laser emitters are installed on the left and right sides of the middle axis of the robot body respectively, and the two line laser emitters are generally installed at the front ends of the sides of the robot; the line lasers emitted by the two line laser emitters form an effective detection area in the travel plane of the robot, specifically, in the travel plane of the robot, the line lasers emitted by the two line laser emitters intersect at a visual angle point M, the area surrounded by the visual angle point M and the line connecting the two line laser emitters to the front end of the side of the robot is the blind area of the cross-line laser module, and the vertical distance from the visual angle point M to the side of the robot is configured as an invalid detection distance; in the travel plane of the robot, in the angle range formed by the line lasers emitted by the two line laser emitters in front of the visual angle point M (the direction indicated by the arrow in FIG. 3 and FIG. 6), the effective detection area is formed, and the effective detection distance reached by the effective detection area in front of the robot is equal to the difference between the projection distance of the maximum detection range of the line laser emitted by the line laser emitter on the angle bisector of the angle formed by the line lasers emitted by the two line laser emitters (equal to the product of the maximum detection distance of the line laser and the cosine of half of the angle formed by the line lasers emitted by the two line laser emitters) and the invalid detection distance.

[0038] In addition, with the travel plane of the robot as the reference, the emission ranges of the two line laser emitters are both formed with a preset upward emission oblique angle upward and a preset downward emission oblique angle downward, and the direction of the line laser emitted by the line laser emitter is consistent with the advancing direction of the robot. Preferably, with the horizontal as the reference, the emission ranges of the two line laser emitters are both 20 degrees upward and 30 degrees downward. The laser receiver is installed on the side of the robot and located at an intermediate position above the two line laser emitters; with the travel plane of the robot as the reference, the receiving ranges of the laser receiver are both formed with a preset upward receiving oblique angle upward and a preset downward receiving oblique angle downward, and preferably, with the horizontal as the reference, the receiving ranges of the laser receiver are both 30 degrees upward and 30 degrees downward, so that the collection range of the laser receiver on the travel plane of the robot is wider than the emission range of the laser emitter. The laser receiver is used to collect the reflection points of the line laser on the obstacles and configure the reflection points as the obstacle contour points detected by the line laser emitted by the line laser emitter.

[0039] Each collected obstacle profile point has position coordinates, azimuth angle information and height information to determine the height, length and width of the detected obstacle in the moving direction of the robot and form the profile position of the detected obstacle; the laser receiver is used to collect the reflection points of the line laser on the obstacle and configure the reflection points as the obstacle profile points detected by the line laser emitted by the line laser emitter. When the laser receiver adopts a camera, the intersection of the two line lasers emitted by the two line laser emitters to the front of the robot is within the shooting range of the camera. In specific embodiments, the laser irradiation range and the shooting range of the camera can be adjusted by the installation height on the robot. The height information of the obstacle profile points detected by each of the two line lasers emitted by the two line laser emitters in the vertical plane area of the travel plane of the robot.

[0040] Preferably, the included angle of the line laser emitted by each of the two line laser emitters in the travel plane of the robot is 90 degrees, which can ensure that the included angle of at least one line laser with the central axis of the laser receiver is not 90 degrees, so as to facilitate the collection of the laser image information reflected by the side obstacle. There are bright spots formed by the line laser on the surface of the obstacle in the laser image, which can be converted into three-dimensional coordinates by the two-dimensional pixel coordinates of the laser bright spots through the light plane equation. The height information can be analyzed through the three-dimensional coordinates of the bright spots, and whether the irradiated object is an obstacle can be judged according to the height information.

[0041] It should be noted that in step S2, the obstacle profile points detected by the line laser are reflected and formed in the profile of the obstacle distributed in the effective detection area by the line laser emitted by at least one line laser emitter, and the obstacle profile points detected by the line laser are used to connect to form the profile of the obstacle detected by the line laser, wherein the aforementioned bright spots correspond to the projection points of the reflection points of the obstacle to the incident line laser in the laser image.

[0042] Preferably, the robot obtains the profile points of the obstacle in front through the laser receiver, for example, the coordinate data of each discrete point on the profile close to the robot in the obstacle #2 of FIG. 4 is collected, the coordinate data of P6, P7, P8, P9, P10 from left to right in sequence, although the illustrated obstacle profile point P6 is the first closest obstacle profile point to the robot body center O during the movement along the arrow pointing from left to right, but during the movement of the robot, the profile points distributed below and left of the obstacle profile point P6 (not shown in FIG. 4) are still in the effective detection area formed by the intersecting line laser module, and the obstacle profile points marked in FIG. 4 are only part of the profile points in the profile of the obstacle #2; or when marking the obstacle profile points to the grid map, due to the limitation of the resolution of the grid, some collected profile points will be lost during the process of marking the obstacle on the map. Then the coordinate data of P6, P7, P8, P9, P10 can be set as the coordinates of the control points in the coordinate system with the body center O as the origin, wherein P6 is the starting point of the Bezier curve and P10 is the end point of the Bezier curve, and a fourth-order Bezier curve equation is constructed, and then the points in the fourth-order Bezier curve are converted according to the change of time or the point division length between adjacent two control points, as the points in the profile fitting curve of the obstacle #2. For another example, the coordinate data of each discrete point on the straight line profile in the obstacle #1 of FIG. 1 is collected, the coordinate data of P1, P2, P3, P4, P5 from left to right in sequence, and then the coordinate data of P1, P2, P3, P4, P5 can be set as the coordinates of the control points in the coordinate system with the body center O as the origin, wherein P1 is the starting point of the Bezier curve and P5 is the end point of the Bezier curve, and a fourth-order Bezier curve equation is constructed, and then the points in the fourth-order Bezier curve are converted according to the change of time or the point division length between adjacent two control points, as the points in the profile fitting curve of the obstacle #1. Since P1, P2, P3, P4, P5 are collinear, the fourth-order Bezier curve fitted for the obstacle #1 of FIG. 1 is a straight line, and is the straight line on which P1, P2, P3, P4, P5 are located. The obstacle #1 in FIG. 1 can be a straight line type obstacle, which belongs to a long straight type obstacle, such as a straight wall, a box, a threshold, etc.

[0043] As an embodiment, referring to FIG. 1 to FIG. 6, the robot comprises a semicircular head, a semicircular body and two symmetrically arranged wheels, the two symmetrically arranged wheels are connected through an axle S, the axle S is arranged at the boundary line of the head and the body and points to the moving direction of the robot, the head is arranged in front of the axle S, the body is arranged behind the axle S, the two symmetrically arranged wheels arranged on the axle S are respectively a wheel L on the left side of the axle S and a wheel R on the right side of the axle S; the semicircular head and the semicircular body are symmetrically arranged about the axle S, and the semicircular head and the semicircular body are configured into a circular body; the center of the axle S is the body center O of the robot; wherein the moving direction of the robot refers to the front direction of the robot, and the moving direction of the robot is parallel to the positive direction of the body longitudinal axis, and the positive direction of the body longitudinal axis is perpendicular to the axle S; the reference detection area is used to cover part or all of the profile of the side edge obstacle of the robot during movement. In this embodiment, the length of the axle S is the distance of the wheel L and the wheel R in the positive direction of the body transverse axis, the distance from the wheel L or the wheel R to the body center O is less than the body radius, the length of the axle S is less than the body diameter, and the body diameter is equal to the body width. The distance from the body center O of the robot to the body edge of the robot is represented as the body radius of the robot, and the body radius is arranged to be equal to half of the body width or half of the head width.

[0044] In FIG. 7, the positive direction of the body transverse axis is the positive direction of the X axis, the illustrated positive direction of the X axis is the direction towards the side edge obstacle #3 of the robot and parallel to the axle S, the positive direction of the body longitudinal axis is the positive direction of the Y axis, and the positive direction of the body longitudinal axis is perpendicular to the positive direction of the body transverse axis.

[0045] In FIG. 8, the positive direction of the body transverse axis is the positive direction of the X axis, the illustrated positive direction of the X axis is the direction towards the side edge obstacle #2 of the robot and parallel to the axle S, the positive direction of the body longitudinal axis is the positive direction of the Y axis, and the positive direction of the body longitudinal axis is perpendicular to the positive direction of the body transverse axis.

[0046] As an embodiment, the position coordinates of each collected obstacle profile point are local coordinates set relative to the current position point of the robot, wherein the local coordinates are set in a robot coordinate system, the current position point of the robot is set as the origin of the robot coordinate system, the positive direction of the body transverse axis is the positive direction of the X axis of the robot coordinate system, and the positive direction of the body longitudinal axis is the positive direction of the Y axis of the robot coordinate system. It should be noted that the two-dimensional coordinates of the bright spot formed by the linear laser on the surface of the obstacle or the two-dimensional coordinates of the reflection point are the position coordinates of the obstacle profile point, which all belong to the local coordinates set relative to the current position point of the robot. The positive direction of the longitudinal coordinate axis of the robot coordinate system is parallel to the positive direction of the body longitudinal axis, and the positive direction of the transverse coordinate axis of the robot coordinate system is parallel to the positive direction of the body transverse axis.

[0047] In order to mark the collected obstacle profile points into the grid map, the embodiment converts the local coordinates into the global map coordinate system used to construct the grid map, wherein the coordinate conversion mode involved is the conversion between the robot coordinate system and the global map coordinate system of the grid map, that is, the local coordinates are converted into the global map coordinate system through rotation transformation and translation transformation to obtain the grid coordinates of the obstacle profile points; wherein the rotation angle required for the rotation transformation of the local coordinates is equal to the angle formed by the same attribute coordinate axes between the global map coordinate system and the robot coordinate system, that is, the angle formed between the positive direction of the Y axis of the global map coordinate system and the positive direction of the Y axis of the robot coordinate system, or the angle formed between the positive direction of the X axis of the global map coordinate system and the positive direction of the X axis of the robot coordinate system; the coordinate offset required for the translation transformation of the local coordinates is the coordinate of the current position point of the robot in the global map coordinate system, that is, the coordinate offset relationship between the origin of the global map coordinate system and the origin of the robot coordinate system; according to the trigonometric transformation relationship mastered by those skilled in the art, the coordinate system transformation equation can be constructed by using the rotation angle required for the rotation transformation of the local coordinates and the coordinate offset required for the translation transformation of the local coordinates; then the position coordinates of the obstacle profile points are substituted into the coordinate system transformation equation to obtain the grid coordinates of the obstacle profile points, so as to mark the obstacle profile points in the grid of the grid map, and the position information of the obstacle profile is marked in the grid map.

[0048] Specifically, the coordinate system transformation equation is:

[0049] x m =x p cosθ-y p sinθ+x0;

[0050] y m =x p sinθ+y p sinθ+y0;

[0051] Wherein, the position coordinate (coordinate in the robot coordinate system) of the obstacle profile point is (x p , y p ), the coordinate of the current position point of the robot in the global map coordinate system is (x0, y0); the rotation angle required by the local coordinate rotation transformation is θ, which is the angle required for the rotation of the obstacle profile point in the coordinate system transformation; the grid coordinate of the obstacle profile point is (x m , y m ). The obstacle profile point collected by the line laser arranged at the front end of the head (belongs to the laser point cloud) is a discrete point reflected to the side edge profile line of the obstacle close to the robot, and each discrete point can be converted to the global map coordinate system. Then, the straight line distance between each discrete point and the center O of the machine body is calculated by using the converted coordinate of each discrete point in the map coordinate system, which is reflected as the distance between the one side profile line of the obstacle and the side edge of the robot.

[0052] As an embodiment, during the movement of the robot, the nearest obstacle profile point is the nearest obstacle profile point detected by the cross line laser module from the center of the machine body in the current moving direction of the robot; therefore, as the position of the robot changes, the nearest obstacle profile point detected by the cross line laser module from the center of the machine body will also change, and then the nearest obstacle profile point in step S3 will also change, and then the previously set nearest obstacle profile point will be marked as a historical obstacle profile point. For example, the nearest obstacle profile point detected by the robot in real time in FIG. 2 is obstacle profile point P1, and the robot needs to bypass obstacle #1; the nearest obstacle profile point detected by the robot in real time in FIG. 5 is obstacle profile point P6, and the robot needs to bypass obstacle #2. The nearest obstacle profile point detected by the robot in real time in FIG. 7 is obstacle profile point A1, and the robot needs to bypass obstacle #3; the robot sets the nearest obstacle profile point number in FIG. 8 as obstacle profile point P6, and determines it when performing step S3, and then after turning the preset angle, starts to bypass obstacle profile point P6 by performing step S5.

[0053] It should be noted that if the robot has scanned the contour point at the relevant position during the movement in the area far from the obstacle, the nearest obstacle contour point is collected by the cross-line laser module in advance; or the nearest obstacle contour point is collected by the cross-line laser module in real time, and the nearest obstacle contour point is obtained when the obstacle is detected in the effective detection area; the nearest obstacle contour point can be detected by the line laser emitter and marked in the grid map, and the grid coordinates of the nearest obstacle contour point are obtained to calculate the distance and angle relationship between the current position point of the robot and the nearest obstacle contour point in the grid map; wherein the coordinates of the current position point of the robot are represented by the coordinates of the body center. The preset obstacle avoidance trigger distance is set to be equal to the sum of the body radius and the preset interval, when the robot moves to the distance between the body center and the nearest obstacle contour point reaches the preset obstacle avoidance trigger distance, the shortest distance between the edge of the body and the obstacle contour point is equal to the preset interval, and the preset interval is preferably one distance value among 1 cm to 2 cm. So that the robot will not collide with the nearest obstacle contour point during turning.

[0054] In the step S3, the robot moves to the distance between the body center and the nearest obstacle contour point reaches the preset obstacle avoidance trigger distance, the preset angle is the angle formed by the line connecting the body center and the nearest obstacle contour point on the side close to the side edge obstacle relative to the positive direction of the body transverse axis. The nearest obstacle contour point is used as the alignment point to form the reference point for adjusting the turning action of the robot, and can also prompt the robot to avoid the blind area existing on the side edge of the obstacle when the robot is close to the obstacle, so as to avoid the robot directly colliding with the obstacle during the turning process. As shown in FIG. 2, the preset angle is the angle formed by the line OP1 connecting the body center O and the nearest obstacle contour point P1 on the side close to the side edge obstacle #1 (the right side of the body central axis OM) relative to the positive direction of the body transverse axis (the direction of the ray OR shown in the figure), which is the difference between 90 degrees and the angle of the angle P1OM (the angle formed by OP1 and OM). The angle of the angle P1OM is the azimuth angle detected by the line laser, which represents the direction of the nearest obstacle contour point P1 relative to the body center. The line segment OM represents the body central axis and also represents the current moving direction of the robot. As shown in FIG. 5, the preset angle is the angle formed by the line OP6 connecting the body center O and the nearest obstacle contour point P6 on the side close to the side edge obstacle #2 (the right side of the body central axis OM) relative to the positive direction of the body transverse axis (the direction of the ray OR shown in the figure), which is the difference between 90 degrees and the angle of the angle P6OM (the angle formed by OP6 and OM). The angle of the angle P6OM is the azimuth angle detected by the line laser, which represents the direction of the nearest obstacle contour point P6 relative to the body center O. The line segment OM represents the body central axis and also represents the current moving direction of the robot.

[0055] In the present embodiment, the nearest obstacle contour point is in the side edge obstacle detected by the robot, and the area covered by the side edge obstacle overlaps with the effective detection area generated by the intersection line laser module. In FIG. 2, the side edge obstacle #1 is covered by the triangular detection area in front of the perspective point M, and in FIG. 5, the side edge obstacle #2 is covered by the triangular detection area in front of the perspective point M. Therefore, the obstacle contour points near the nearest obstacle contour point can be collected.

[0056] As an embodiment, in the step S3, the specific method of turning the robot according to the preset angle includes: controlling the two side wheels of the robot to generate a speed difference, driving the robot to turn away from the side edge obstacle, when the robot turns away from the side edge obstacle by the preset angle, the line between the robot center and the nearest obstacle contour point is parallel to the positive direction of the robot transverse axis, that is, the line between the robot center and the nearest obstacle contour point is parallel to the wheel shaft S, and the current moving direction of the robot is perpendicular to the wheel shaft S; then setting the position point of the robot after turning as the start point of the obstacle-avoiding walking, and at this time, the moving direction of the robot after turning is the start direction of the obstacle-avoiding walking.

[0057] The middle part of the head of the robot can be provided with a universal wheel, when the two wheels generate a speed difference, the robot turns, wherein the speed of the wheel near the obstacle is greater than the speed of the wheel away from the obstacle, which can drive the robot to rotate around the robot center O by the preset angle, so as to avoid the obstacle.

[0058] Specifically, the method of controlling the two side wheels of the robot to generate a speed difference includes: the robot controls the wheel near the side edge obstacle to move forward, and controls the wheel away from the side edge obstacle to move forward, and the speed of the wheel near the side edge obstacle is greater than the speed of the wheel away from the side edge obstacle, driving the robot to turn away from the side edge obstacle, so that the wheel away from the side edge obstacle serves as the rotation center, and the sum of half the length of the wheel shaft and the preset obstacle-avoiding trigger distance is equal to the rotation radius. Alternatively, the robot controls the wheel near the side edge obstacle to move forward, and controls the wheel away from the side edge obstacle to not rotate, driving the robot to turn away from the side edge obstacle, so that the wheel away from the side edge obstacle serves as the rotation center, and the sum of half the length of the wheel shaft and the preset obstacle-avoiding trigger distance is equal to the rotation radius. Alternatively, the robot controls the wheel near the side edge obstacle to move forward, and controls the wheel away from the side edge obstacle to move backward, driving the robot to turn away from the side edge obstacle, so that the wheel away from the side edge obstacle or the center of the wheel shaft serves as the rotation center; wherein the speed difference between the forward wheel and the backward wheel is generated in the same clock direction, driving the robot to turn away from the side edge obstacle.

[0059] Corresponding to FIG. 1 to FIG. 6, the assembly position of the wheel away from the side obstacle is the illustrated wheel L, that is, the position of the illustrated wheel L or the center O of the body is set as the rotation center; the side obstacle in FIG. 1 to FIG. 3 is a linear obstacle #1, and the side obstacle in FIG. 3 to FIG. 6 is an obstacle #2. Among them, the preset interval is preferably 0cm to 2cm, so as to prevent the arc-shaped edge on one side of the robot head from colliding with the obstacle. The preset interval should not be set too large, so as to avoid the situation of missing scanning due to too large turning amplitude of the robot, in addition, different robots reserve different distances when following the edge and colliding with the obstacle, therefore, the preset obstacle avoidance triggering distance needs to be determined according to the actual situation on the basis of being greater than the body radius.

[0060] On the basis of the above embodiment, in the process of turning of the robot, under the premise that the center O of the body is set as the rotation center, in the process of rotating the wheel close to the side obstacle by the preset angle in the preset clockwise direction around the rotation center, the wheel close to the side obstacle shortens the straight line distance between the wheel and the nearest obstacle contour point in the preset clockwise direction; wherein the preset clockwise direction can be clockwise (left following the edge) or counterclockwise (right following the edge).

[0061] As can be seen from FIG. 2 and FIG. 3, in the process of turning left of the circular robot shown in FIG. 2, in the process of rotating the right wheel R of the robot by the difference between 90 degrees and the angle of the included angle P10M (OP1 and OM form an included angle) counterclockwise, the right wheel R will gradually shorten the straight line distance between the wheel and the nearest obstacle contour point, thereby shortening the distance between the right side of the body and the obstacle #1, and the moving direction of the robot becomes perpendicular to the OP1 line, the robot completes the turning alignment action, that is, aligns to the obstacle contour point P1, at this time, the effective detection area generated by the cross line laser module covers the new area, so as to avoid other obstacles, so that the step S3 can continue to cope with other obstacles that may appear in the new area, so as to realize the effect of avoiding obstacles in real time.

[0062] As can be seen from FIG. 5 and FIG. 6, in the process of turning left, the right wheel R of the robot gradually shortens the straight line distance between the right wheel R and the nearest obstacle contour point, and the distance between the right side of the robot and the obstacle #1 is shortened, and the moving direction of the robot becomes perpendicular to the OP6 line, and the robot completes the turning alignment action, i.e., aligning to the obstacle contour point P1. At this time, the effective detection area generated by the cross-line laser module covers the new area, so as to avoid other obstacles. In this way, the robot can continue to cope with other obstacles in the new area according to step S3, so as to realize the effect of real-time obstacle avoidance.

[0063] Based on the foregoing embodiments, the robot uses the cross-line laser to realize non-contact detection of the position coordinates, azimuth angle information and height information of the obstacle contour point in front of the side edge, and converts the information into a grid map for grid position marking, so as to obtain three-dimensional coordinate information of the obstacle relative to the robot. In the case of allowing a blind area, the cross-line laser is used to detect the contour point at a relatively far position in front and timely mark it in the grid map. Therefore, the robot can obtain the relative position information of the contour point in front before approaching the contour point, for example, the distance between the contour point and the center of the robot. Compared with the prior art, the contour point marking can be performed according to the obstacle in the effective detection area formed by the line laser cross without the need of a wall-following sensor on the side edge.

[0064] Since the robot body is circular, and when the robot moves to a distance of the preset obstacle avoidance trigger distance from the obstacle contour, the robot only needs to turn to the line parallel to the body horizontal axis positive direction between the center of the robot body and the nearest obstacle contour point, so as to align the robot to the nearest obstacle contour point without collision, and set the current position point of the robot as the starting point of obstacle walking. Therefore, the spatial adjustment cost required by the robot before obstacle avoidance is small, the robot can efficiently complete the turning alignment action, and avoid the robot colliding with the obstacle in front while moving in the original direction, so as to facilitate collision-free obstacle avoidance.

[0065] As an embodiment, in the step S4, a reference detection area is set to cover the profile of the side obstacle, on the side of the robot close to the nearest obstacle profile point, when the robot moves to the distance between the center of the body and the nearest obstacle profile point reaches the preset obstacle avoidance trigger distance, the reference detection area covers at least two obstacle profile points of the obstacle, facilitating subsequent Bezier curve fitting. In this embodiment, the reference detection area has an overlapping area with the body coverage area of the robot (covering the area near the edge of the body) or a spacing (i.e. the reference detection area is completely outside the body of the robot); the distance between the farthest boundary point of the reference detection area from the boundary of the side of the body close to the obstacle and the center of the body in the positive direction of the body transverse axis is greater than or equal to the preset obstacle avoidance trigger distance, so as to cover the obstacle profile points outside the body; at the same time, the reference detection area is also set to cover the passable area between the body and the side obstacle, reflecting that the robot does not touch the obstacle; the straight line distance covered by the reference detection area in the positive direction of the body longitudinal axis does not exceed the maximum detection distance of the line laser emitted by the line laser emitter, and can be equal to the body radius, so as to cover the relatively close obstacle profile points, without covering the obstacle profile points with a far spacing so as to be unable to effectively walk along the edge, or the obstacle profile points without close proximity. The reference detection area is set to cover part or all of the passable area between the body and the side obstacle. The area covered by the reference detection area outside the body is greater than the area covered by the reference detection area inside the body.

[0066] Preferably, when the reference detection area is a polygonal area, at least one area boundary of the reference detection area is parallel or perpendicular to the wheel axis S; when the reference detection area has an overlapping area with the body coverage area of the robot, the coverage area of the reference detection area in the head portion is greater than the coverage area in the body portion, and in the area occupied by the reference detection area outside the body, the coverage area on the side of the head is greater than the coverage area on the side of the body, so that the reference detection area is biased to cover the front area of the robot, adapting to the detection direction requirement of the line laser. Corresponding to the reference detection area EFGH in FIGS. 7 and 8, the area of the reference detection area EFGH covered above the wheel axis S (above the X axis) is greater than the area covered below the wheel axis S (below the X axis).

[0067] When the reference detection region is a regular geometric figure with a center point, the center of the reference detection region is set outside the body, and the distance between the center of the reference detection region and the center of the body in the positive direction of the body transverse axis is greater than or equal to the body radius, and the distance between the center of the reference detection region and the center of the body in the positive direction of the body longitudinal axis can be less than the body radius, or greater than or equal to the body radius, but not exceeding the maximum detection distance of the linear laser emitted by the linear laser emitter. The polygonal detection region is preferably a rectangular region, and the longest side of the rectangular region is preferably greater than or equal to the body radius.

[0068] If a circular region is used to represent the reference detection region, only the center and the radius of the circular region are determined to set the reference detection region, so that the profile point information on one side of the obstacle is completely contained with relatively small description, and the profile points are conveniently limited and real-time fitted. The reference detection region can be tangent to or externally tangent to the circular body, but the reference detection region is not completely coincident with the body. The radius of the reference detection region is greater than or equal to the body radius, but is preferably less than the maximum detection distance of the linear laser emitted by the linear laser emitter. Further, the reference detection region can also be represented by an inscribed triangle or an externally tangent triangle of the circular region.

[0069] As a preferred example, as shown in FIGS. 7 and 8, the reference detection region is a rectangular region EFGH. The setting method of the reference detection region includes:

[0070] A position point at a first preset longitudinal distance from the center O of the body in the positive direction of the body longitudinal axis and at a first preset transverse distance from the center O of the body in the positive direction of the body transverse axis is selected as the upper left corner point H. If a coordinate system is constructed with the center O of the body as the origin, with the positive direction of the body longitudinal axis as the longitudinal coordinate axis positive direction, and with the positive direction of the body transverse axis as the transverse coordinate axis positive direction, the coordinate of the upper left corner point H is (first preset transverse distance, first preset longitudinal distance).

[0071] A position point at a second preset longitudinal distance from the center O of the body in the opposite direction of the body longitudinal axis and at a first preset transverse distance from the center O of the body in the positive direction of the body transverse axis is selected as the lower left corner point E. If a coordinate system is constructed with the center O of the body as the origin, with the positive direction of the body longitudinal axis as the longitudinal coordinate axis positive direction, and with the positive direction of the body transverse axis as the transverse coordinate axis positive direction, the coordinate of the lower left corner point E is (first preset transverse distance, O-second preset longitudinal distance).

[0072] The position point at a first preset longitudinal distance from the body center O in the positive direction of the body longitudinal axis and a second preset lateral distance from the body center O in the positive direction of the body lateral axis is selected as the right upper corner point; if a coordinate system is constructed with the body center O as the origin, the positive direction of the body longitudinal axis as the positive direction of the longitudinal coordinate axis, and the positive direction of the body lateral axis as the positive direction of the lateral coordinate axis, the coordinates of the right upper corner point G are (the second preset lateral distance, the first preset longitudinal distance).

[0073] The position point at a second preset longitudinal distance from the body center in the opposite direction of the positive direction of the body longitudinal axis and a second preset lateral distance from the body center in the positive direction of the body lateral axis is selected as the right lower corner point; if a coordinate system is constructed with the body center O as the origin, the positive direction of the body longitudinal axis as the positive direction of the longitudinal coordinate axis, and the positive direction of the body lateral axis as the positive direction of the lateral coordinate axis, the coordinates of the right lower corner point F are (the second preset lateral distance, O-the second preset longitudinal distance).

[0074] Then the left lower corner point E and the left upper corner point H are connected, the left upper corner point H and the right upper corner point G are connected, the right upper corner point G and the right lower corner point F are connected, and the right lower corner point F and the left lower corner point E are connected to obtain the reference detection region EFGH, and then the left lower corner point E, the left upper corner point H, the right upper corner point G, and the right lower corner point F are sequentially connected by line segments to form a rectangular region EFGH. If the body center O is arranged in a global map coordinate system, the body center O is not necessarily the origin of the global map coordinate system, and correspondingly, the positive direction of the body longitudinal axis is not necessarily the positive direction of the longitudinal coordinate axis of the global map coordinate system, and the positive direction of the body lateral axis is not necessarily the positive direction of the lateral coordinate axis of the global map coordinate system. Therefore, when the reference detection region EFGH is used to frame a map region in a grid map, the left lower corner point E, the left upper corner point H, the right upper corner point G, and the right lower corner point F all need to be converted into coordinates in the global map coordinate system according to the coordinate system transformation equation disclosed in the foregoing embodiments.

[0075] Corresponding to FIG. 7 and FIG. 8, the perpendicular distance from the body center O to the dashed line segment EH is equal to the first preset lateral distance, the perpendicular distance from the body center O to the dashed line segment FG is equal to the second preset lateral distance, the distance from the wheel shaft to the dashed line segment HG is equal to the first preset longitudinal distance, and the distance from the wheel shaft to the dashed line segment EF is equal to the second preset longitudinal distance.

[0076] In the embodiment, the second preset horizontal distance is set to be greater than or equal to the preset obstacle avoidance triggering distance, but less than the maximum detection distance of the linear laser emitted by the linear laser emitter, so that the line connecting the right upper corner point G and the right lower corner point F is located outside the body, leaving an obstacle avoidance space; the first preset vertical distance is set to be greater than or equal to the body radius, but less than the maximum detection distance of the linear laser emitted by the linear laser emitter, so as to detect the area outside the front boundary of the body. At the same time, the first preset horizontal distance is set to be greater than half the length of the wheel shaft and less than the body radius, so as to set the left lower corner point E inside the body, and the second preset vertical distance is set to be less than the body radius or half the length of the wheel shaft, so as to set the left lower corner point E on the side of the body close to the side boundary obstacle.

[0077] Generally, since the obstacle contour points are represented in advance using the grid map, and the robot directly avoids the obstacle according to the grid map, it will bring grid errors (determined by the resolution of the grid map, here the grid resolution is 10 mm, and directly used to avoid the obstacle will have a positioning coordinate error of 10 mm), so the robot such as a sweeping robot needs to be fitted to eliminate errors and fill in the missing sampling points due to the grid resolution. Specifically, the grid coordinates of the obstacle contour points are first converted back to the robot coordinate system, wherein the robot coordinate system is a coordinate system with the center of the body of the robot as the origin, i.e., a coordinate system with the current position point of the robot as the origin.

[0078] In the embodiment, the reference detection area is set in the grid map to frame part of the map area, and then the robot extracts the grid coordinates of the obstacle contour points from the area covered by the reference detection area in the grid map, and converts the extracted grid coordinates from the global map coordinate system back to the robot coordinate system to obtain the local coordinates formed relative to the current position point of the robot and mark the position coordinates of the obstacle contour points framed by the reference detection area, which correspond to the coordinates of the obstacle contour points in the robot coordinate system. It should be noted that the reference detection area is configured to cover the grid map in step S4 to frame the grid coordinates of the obstacle contour points in real time during the movement of the robot, and convert them into the position coordinates of the obstacle contour points in real time.

[0079] In the embodiment, the rotation transformation of the grid coordinates of the obstacle contour points between the global map coordinate system and the robot coordinate system is the inverse transformation of the rotation transformation of the local coordinates, and the translation transformation of the grid coordinates of the obstacle contour points is the inverse transformation of the translation transformation of the local coordinates; specifically, the inverse transformation equation of the coordinate system is:

[0080] x p =(x m -x0)cosθ+(y m -y0)sinθ;

[0081] y p = y m - y0) cos θ - (x m - x0) sin θ

[0082] Wherein, the position coordinates (coordinates in the robot coordinate system) of the obstacle profile points are (x p , y p ), the coordinates of the current position point of the robot in the global map coordinate system are (x0, y0); the rotation angle required for the grid coordinate rotation transformation of the obstacle profile points is θ, which is the angle required for the rotation of the obstacle profile points in the coordinate system transformation; the grid coordinates of the obstacle profile points are (x m , y m ).

[0083] As an embodiment of the fitting curve, in the step S4, the method of using the position coordinates of the obstacle profile points framed in the reference detection area to perform Bezier curve fitting includes:

[0084] The robot determines the starting point of the obstacle fitting curve and the ending point of the obstacle fitting curve among the obstacle profile points framed in the reference detection area EFGH along the positive direction of the body longitudinal axis (the discrete points near the left profile of the obstacle in the reference detection area EFGH of FIGS. 7 and 8), wherein the Bezier curve to be fitted is extended along the positive direction of the body longitudinal axis, the positive direction of the body longitudinal axis is the positive direction of the Y axis shown in the figure, and then each obstacle profile point distributed between the starting point and the ending point along the positive direction of the body longitudinal axis in the reference detection area is sequentially marked as a control point required for fitting the Bezier curve, and the obstacle fitting curve belongs to the Bezier curve; the number of control points is equal to the sum of the order of the Bezier curve and the value 1; the order of the Bezier curve is represented by n.

[0085] According to the starting point of the obstacle fitting curve, the ending point of the obstacle fitting curve, and the control points sequentially marked between the starting point of the obstacle fitting curve and the ending point of the obstacle fitting curve, the obstacle fitting curve based on the n-order Bezier curve is generated, the n-order Bezier curve equation is obtained, so that the relatively discrete obstacle profile points (the discrete points near the left profile of the obstacle in the reference detection area EFGH of FIGS. 7 and 8) are fitted into a relatively continuous profile line, as shown in the left concave dashed curve of the left profile of the obstacle #3 in FIG. 7, or the right convex dashed curve of the right profile of the obstacle #2 in FIG. 8. The grid error caused by directly avoiding the obstacle according to the grid map is overcome. Both the starting point of the obstacle fitting curve and the ending point of the obstacle fitting curve belong to the control points.

[0086] Specifically, the trajectory equation of the obstacle fitting curve is:

[0087] Among them, B x (t) is the x-coordinate of a point in the fitted curve of the obstacle, B y (t) represents the ordinate of a point in the obstacle fitting curve, i represents the sequence number of the control points required to fit the obstacle fitting curve, and sequence number i represents the order of the control points required to fit the obstacle fitting curve along the positive direction of the body's longitudinal axis, that is, the arrangement order of the obstacle contour points within the reference detection area along the positive direction of the body's longitudinal axis, and is configured to start from 0 and increase along the positive direction of the body's longitudinal axis; and t is equal to the ratio between i and (n+1), used to represent the ratio of the sequence number of the most recently fitted point along the positive direction of the body's longitudinal axis to the total number of points that need to be fitted, and the absolute value of the difference between the ordinate of the point with sequence number i and the ordinate of the point with sequence number (i+1) can be fixed; P ix P is the x-coordinate of the i-th control point required to fit the obstacle fitting curve. iy P is the ordinate of the i-th control point required to fit the obstacle fitting curve; 0x P represents the abscissa of the starting position of the obstacle fitting curve within the reference detection area. 0y The vertical coordinate of P represents the starting point of the obstacle fitting curve within the reference detection area; nx P represents the abscissa of the endpoint position of the obstacle fitting curve within the reference detection area. ny The vertical coordinate represents the endpoint of the obstacle fitting curve within the reference detection area. Indicates (P) ix P iy The number of combinations at a specific value of t, similar to the binomial coefficients (combinations) in a binomial expansion, follows Pascal's triangle distribution. ix This is represented as a reference detection area used to set up control point P. i The x-coordinate of the obstacle contour point; P iy This is represented as a reference detection area used to set up control point P. i The ordinate of the obstacle contour points.

[0088] It should be noted that the trajectory equation of the obstacle fitting curve is based on the Bézier curve formula. A Bézier curve is a mathematical curve used in two-dimensional graphics applications; the curve is defined by: a starting point (also called the initial point), an ending point (also called the final point), and control points; by adjusting the control points, the shape of the Bézier curve will change.

[0089] In the process of the Bezier curve fitting, the number of the value of t is equal to the number of the points inserted by the fitting curve of the obstacle, so that the points with low continuity are interpolated into the points with relatively high continuity; when the relative position of the two adjacent control points changes in the positive direction of the longitudinal axis of the body, the curvature (the degree of bending) of the fitting curve of the obstacle changes. The two adjacent control points are represented by P i and P i+1 , wherein i∈[0, n-1], the starting point of the fitting curve of the obstacle is represented by P0, and the ending point of the fitting curve of the obstacle is represented by P n , i gradually increases from the starting point to the ending point in the process of the Bezier curve fitting, and t is equal to the value 1 at this time; so that the relatively discrete obstacle contour points are connected into the contour line connected by the relatively continuous points, and the Bezier curve fitting can use the fitting points to fill the missing contour points in the acquisition process and fit the curve closer to the contour of the obstacle, so as to realize the smoothing processing of the obstacle grid using the Bezier curve.

[0090] As known by those skilled in the art, when the Bezier curve is locked at the starting point and the ending point, the moving of the middle point on the line connecting the two adjacent control points will change t, and the Bezier curve will not pass through all the middle points, but it is ensured that it will pass through the starting point and the ending point.

[0091] As an embodiment, the starting point of the fitting curve of the obstacle is the obstacle contour point closest to the boundary of the reference detection area in the opposite direction of the positive direction of the longitudinal axis of the body, or the boundary point of the reference detection area through which the contour of the obstacle represented by the fitting curve of the obstacle passes in the opposite direction of the positive direction of the longitudinal axis of the body, so that the starting point of the fitting curve of the obstacle is the obstacle contour point farthest from the starting point of the obstacle-avoiding walking in the opposite direction of the positive direction of the longitudinal axis of the body; the ending point of the fitting curve of the obstacle is the obstacle contour point closest to the boundary of the reference detection area in the positive direction of the longitudinal axis of the body, or the boundary point of the reference detection area through which the contour of the obstacle represented by the fitting curve of the obstacle passes in the positive direction of the longitudinal axis of the body, so that the starting point of the fitting curve of the obstacle is the obstacle contour point farthest from the starting point of the obstacle-avoiding walking in the positive direction of the longitudinal axis of the body. Accordingly, the starting point of the fitting curve of the obstacle in the reference detection area in FIG. 7 is the position point A1, and the ending point of the fitting curve of the obstacle in the reference detection area in FIG. 7 is the position point B1. The starting point of the fitting curve of the obstacle in the reference detection area in FIG. 8 is the position point A3, and the ending point of the fitting curve of the obstacle in the reference detection area in FIG. 8 is the position point B2.

[0092] Preferably, the contour of the obstacle represented by the obstacle fitting curve is located in the positive direction of the robot body lateral axis, and the negative direction of the robot body lateral axis is configured as the target offset direction, wherein the preset obstacle avoidance margin is set to be equal to the sum of the robot body radius and a preset obstacle circumventing distance, and the preset obstacle circumventing distance is preferably 15 mm. The target offset direction herein is used to define the offset direction of the target point in the obstacle fitting curve in step S5. If the obstacle fitting curve or the point therein is translated along the target offset direction by the preset obstacle avoidance margin, the position point actually moved by the robot can be controlled to maintain a certain distance from the obstacle fitting curve, and the look-ahead point for the robot to actually move in the robot coordinate system can be obtained, so as to realize the walking of the robot along the extension direction of the obstacle fitting curve without touching the obstacle.

[0093] As an embodiment, FIG. 7 is a schematic diagram of an obstacle fitting curve U1 fitted in an embodiment, and the contour on the left side of the obstacle #3 is entirely covered by the reference detection region EFGH; the coordinate offset of the look-ahead point A2 from the starting point A1 of the obstacle fitting curve in the X-axis direction is equal to the preset obstacle avoidance margin D; the obstacle fitting curve U1 is used to represent the inwardly concave contour line in the obstacle #3 framed by the reference detection region EFGH, the starting point (equivalent to the starting point of the Bezier curve) of the obstacle fitting curve U1 and the lower endpoint of the inwardly concave contour line framed by the reference detection region EFGH are both the position point A1, and the terminal point (equivalent to the terminal point of the Bezier curve) of the obstacle fitting curve U1 and the upper endpoint of the inwardly concave contour line framed by the reference detection region EFGH are both the position point B1. The dotted curve extending from the look-ahead point A2 in the positive direction of the Y-axis is the trajectory of the actual walking of the robot, so as to walk along the obstacle fitting curve U1, and preferably, the dotted curve extending from the look-ahead point A2 in the positive direction of the Y-axis is parallel to the obstacle fitting curve U1.

[0094] As another embodiment, FIG. 8 is a schematic diagram of a segment of the obstacle fitting curve U2 fitted in an embodiment, the profile of the left side of the obstacle #2 is not entirely covered by the reference detection region EFGH; wherein the coordinate offset of the look-ahead point A5 from the position point A4 in the X-axis direction of the obstacle fitting curve is equal to the preset obstacle avoidance margin D; the obstacle fitting curve U2 is used to represent the outward convex profile line of the obstacle #2 framed by the reference detection region EFGH, the starting point of the obstacle fitting curve U2 (equivalent to the starting point of the Bezier curve) and the lower endpoint of the outward convex profile line framed by the reference detection region EFGH are both the position point A3, and the terminal point of the obstacle fitting curve U2 (equivalent to the terminal point of the Bezier curve) and the upper endpoint of the outward convex profile line framed by the reference detection region EFGH are both the position point B2. The dotted curve extending in the positive direction of the Y-axis from the look-ahead point A5 is the actual trajectory of the robot to walk along the obstacle fitting curve A4B2, wherein the line connecting the starting point O of the obstacle-avoiding walking of the robot and the nearest obstacle profile point P6 is parallel to the wheel axis before the robot moves to the look-ahead point A5, but the dotted curve extending in the positive direction of the Y-axis from the look-ahead point A5 is not necessarily parallel to the obstacle fitting curve U2.

[0095] As an embodiment, in the step S5, the method for obtaining the target point with the same longitudinal coordinate as the adjacent position point of the start point of the obstacle-avoiding walking in the positive direction of the longitudinal axis of the robot from the obstacle fitting curve, and then obtaining the lookahead point by means of coordinate offset of the target point, comprises: calculating the longitudinal coordinate of the adjacent position point of the start point of the obstacle-avoiding walking in the positive direction of the longitudinal axis of the robot, and setting the longitudinal coordinate of the adjacent position point as the initial lookahead longitudinal coordinate; then substituting the initial lookahead longitudinal coordinate into the trajectory equation of the obstacle fitting curve to calculate the horizontal coordinate of the point with the same longitudinal coordinate as the initial lookahead longitudinal coordinate in the obstacle fitting curve, wherein the point with the same longitudinal coordinate as the initial lookahead longitudinal coordinate in the obstacle fitting curve is marked as the target point, for example, when the first target point is obtained, the first target point is point A1 in FIG. 7 and point A4 in FIG. 8; then offsetting the target point along the target offset direction by a preset obstacle avoidance margin to obtain the lookahead point, then when the first lookahead point is obtained, the first lookahead point is point A2 in FIG. 7 and point A5 in FIG. 8, and the horizontal coordinate offset between the point with the same longitudinal coordinate as the initial lookahead longitudinal coordinate and the lookahead point in the obstacle fitting curve is equal to the preset obstacle avoidance margin. Then the robot moves from the start point of the obstacle-avoiding walking to the lookahead point to start walking along the extension direction of the obstacle fitting curve and maintaining a certain distance from the obstacle fitting curve. Generally, the robot moves from the start point of the obstacle-avoiding walking to the lookahead point in a straight line according to the direction formed by the lookahead point relative to the start point of the obstacle-avoiding walking, and the walking distance is equal to the straight-line distance between the start point of the obstacle-avoiding walking and the lookahead point.

[0096] As an embodiment, the implementation method of the step S6 includes: whenever the robot moves to a look-ahead point, the robot updates the current look-ahead point as the start point of the obstacle-avoiding walking, then executes the step S5 to obtain the next look-ahead point in front of the robot, and then the robot moves to the next look-ahead point; then the next look-ahead point is updated as the start point of the obstacle-avoiding walking, and the steps S5 to S6 are executed again, and the iteration is performed until the robot moves to the preset obstacle-avoiding end point, which can also be understood as the latest calculated look-ahead point, so as to realize the walking of the robot along the extension direction of the fitting curve of the obstacle on the premise that the robot does not touch the obstacle, wherein the preset obstacle-avoiding end point is obtained by offsetting the end point of the fitting curve of the obstacle along the target offset direction by the preset obstacle-avoiding margin; in FIG. 7, the preset obstacle-avoiding end point can be obtained by translating the position point B1 along the negative direction of the X axis by the preset obstacle-avoiding margin D, and is located at the end point of the uppermost virtual curve of A2; in FIG. 8, the preset obstacle-avoiding end point can be obtained by translating the position point B2 along the negative direction of the X axis by the preset obstacle-avoiding margin D, and is located at the end point of the uppermost virtual curve of A5. Therefore, in order to prevent the robot from colliding with the obstacle in the process of obstacle-avoiding, the embodiment offsets the fitting curve of the obstacle to the start point of the obstacle-avoiding walking by a distance greater than the body radius, to obtain the look-ahead point for the robot to walk around, then controls the robot to reach a look-ahead point in front of the robot from the current position of the robot, and traces the points in front of the robot along the fitting curve of the obstacle in sequence, to realize the curve fitting and node tracking of the robot according to the historical marking of the obstacle contour points, and to realize the non-touching obstacle-avoiding or obstacle-avoiding in the tracking process.

[0097] In some embodiments, whenever a segment of the fitting curve of the obstacle is fitted in the step S4, the next look-ahead point can be obtained by only executing the step S5 in the step S6, that is, the next look-ahead point is obtained by translating the target point with the same ordinate in the segment of the fitting curve of the obstacle along the target offset direction; then the next look-ahead point is updated as the start point of the obstacle-avoiding walking, and the steps S5 to S6 are executed again, and the iteration is performed until the robot moves to the look-ahead point obtained by translating the end point of the segment of the fitting curve of the obstacle fitted in the step S4, to determine that the contour walking connected by the obstacle contour points framed by the reference detection area is completed, to realize the walking of the robot along the direction of the same segment of the fitting curve of the obstacle on the premise that the robot does not touch the obstacle (the actual moving position is kept away from the fitting curve of the obstacle), and meanwhile, the look-ahead points moved by the robot can also be connected in sequence to form the target obstacle-avoiding curve trajectory parallel to the fitting curve of the obstacle.

[0098] On the basis of the above embodiments, after the robot moves to the preset obstacle-avoiding end point in step S6, the robot can be considered to have completed step S6, and the reference detection area set by the robot covers a new ground area. For example, the reference detection area set by the robot in FIG. 8 covers other obstacle contour points above the right of position point B2 (relative to the obstacle contour point P10 detected in FIG. 4, there are pre-detected obstacle contour points, and the position point B2 can be the obstacle contour point P10), and the other obstacle contour points above the right of the position point B2 have not been fitted into an obstacle fitting curve. In order to completely avoid the right obstacle #2, the step S4 is executed to perform Bezier curve fitting on the obstacle contour points framed in the new ground area, to obtain a new obstacle fitting curve. Then, steps S5 and S6 are executed to enable the robot to walk along the extension direction of the new obstacle fitting curve without touching the obstacle. The ground area is parallel to the walking plane of the robot. There can be an overlapping area between the ground areas covered by the reference detection area before and after the movement of the robot, but since the robot has moved to the right of the end point B2 of the obstacle fitting curve, the reference detection area has moved to the right of the end point B2 of the obstacle fitting curve as a whole, and therefore, most of the obstacle contour points framed in the ground area newly covered by the reference detection area have not been fitted in step S4. Therefore, after the segment of the obstacle fitting curve fitted in step S4 reaches the preset obstacle-avoiding end point, a new segment of the obstacle fitting curve (the extension direction and the curvature change) is fitted in step S4, and the robot walks along the extension direction of the new segment of the obstacle fitting curve.

[0099] Therefore, after a segment of the obstacle fitting curve is fitted in step S4, the next look-ahead point can be obtained by only executing step S5 in step S6, that is, the next look-ahead point is translated from a target point with the same ordinate in the segment of the obstacle fitting curve along the target offset direction. Then, the next look-ahead point is updated as the obstacle-avoiding walking start point, and steps S5 to S6 are executed, and the iteration is performed until the robot moves to the look-ahead point translated from the end point of the segment of the obstacle fitting curve fitted in step S4, to determine that the contour walking around the obstacle contour points framed by the reference detection area is completed, and the robot walks along the same segment of the obstacle fitting curve without touching the obstacle (the actual moving position is kept away from the obstacle fitting curve). Meanwhile, the look-ahead points moved by the robot are connected in sequence to form a target obstacle-avoiding curve trajectory parallel to the obstacle fitting curve.

[0100] As another embodiment, the implementation method of the step S6 comprises: whenever the robot moves to a look-ahead point, the robot updates the look-ahead point currently located at as the start point of the obstacle-avoiding walking, and then executes the steps S4 to S5, so as to obtain the next look-ahead point through the trajectory equation corresponding to the latest fitted obstacle fitting curve, and then the robot moves to the next look-ahead point; then the next look-ahead point is updated as the start point of the obstacle-avoiding walking, and then the steps S4 to S6 are executed, and the iteration is performed until the robot moves to the preset obstacle-avoiding end point, so as to realize that the robot walks along the extension direction of the latest fitted obstacle fitting curve on the premise that the robot does not touch the obstacle, and changes the extension direction of the obstacle fitting curve while walking, realizes the corresponding walking strategy for different position characteristics, has stronger robustness to the environment, can better improve the problem of the laser navigation robot avoiding obstacles in the robot coordinate system, and can effectively cope with different situations in the process of walking. The preset obstacle-avoiding end point can also be understood as a latest calculated look-ahead point. For example, in order to not repeatedly walk along the contour of the same obstacle, the obstacle fitting curve fitted in the last execution of the step S4 process can be connected with the obstacle fitting curve fitted in the first execution of the step S4 process, and then the end point of the obstacle fitting curve fitted in the last execution of the step S4 process is set as the preset obstacle-avoiding end point.

[0101] In some embodiments, in the process of the robot moving, specifically, after the robot moves to the preset obstacle-avoiding end point in the step S6, when the new ground area covered by the reference detection area set by the robot does not have an overlapping area with the ground area originally covered by the reference detection area, the Bezier curve fitting is performed in the new ground area according to the step S4, a new obstacle fitting curve is obtained, the start point of the new obstacle fitting curve is connected with the end point of the obstacle fitting curve fitted last time, and then the connected obstacle fitting curve is offset by the preset obstacle-avoiding margin in the target offset direction, so as to obtain a new target obstacle-avoiding curve trajectory.

[0102] As an embodiment, as shown in Fig. 7, the reference detection area EFGH has framed all the obstacle profile points on the right profile of the obstacle #1; the point B1 is located on the boundary HG of the reference detection area EFGH, at this time, the starting point of the obstacle fitting curve U1 fitted by performing the step S3 is the position point A1, and the ending point of the obstacle fitting curve U1 fitted by performing the step S3 is the position point B1. The point B1 is located on the boundary HG of the reference detection area EFGH, and in this embodiment, the vertical distance from the position point A1 to the boundary EF of the reference detection area EFGH is set as the maximum target offset allowed in the positive direction of the longitudinal coordinate axis for the reference detection area EFGH to frame all the obstacle profile points on the right profile of the obstacle #3 (all the discrete points distributed between the position point A1 and the position point B1); during the movement of the robot, if the longitudinal coordinate offset of the reference detection area EFGH in the positive direction of the longitudinal coordinate axis does not exceed the maximum target offset, the obstacle profile points framed by the reference detection area EFGH before and after the movement of the robot (which can be the movement of two adjacent look-ahead points in the longitudinal coordinate) do not change, and at the same time, the robot connects the look-ahead points moved by the robot in sequence into the same target obstacle-avoiding curve trajectory in the step S6; therefore, under the premise that the longitudinal coordinate offset of the reference detection area EFGH in the positive direction of the longitudinal coordinate axis does not exceed the maximum target offset, whether the robot performs the step S4 once after moving each look-ahead point or performs the step S4 once after moving to each preset obstacle-avoiding ending point, the obstacle fitting curve obtained in the step S4 before and after the movement of the robot does not change, and then the target obstacle-avoiding curve trajectory A2B3 connected in sequence in Fig. 7 is parallel to the obstacle fitting curve U1 obtained in the step S4 before and after the movement of the robot.

[0103] On the basis of the above embodiment, after the longitudinal coordinate offset of the reference detection area EFGH in the positive direction of the longitudinal coordinate axis has exceeded the maximum target offset and the robot has moved to the ending point of the target obstacle-avoiding curve trajectory, the reference detection area EFGH does not frame all the obstacle profile points on the right profile of the obstacle #1, and the number of the obstacle profile points currently framed by the reference detection area EFGH is reduced relative to the number of the obstacle profile points (all the obstacle profile points on the right profile of the obstacle #1) framed by the reference detection area EFGH in Fig. 1; then the number of the control points required for the obstacle fitting curve fitted by currently performing the step S3 can be reduced, and the obstacle fitting curve fitted by performing the step S3 when the reference detection area EFGH has framed all the obstacle profile points on the right profile of the obstacle #1 is different from the obstacle fitting curve fitted by currently performing the step S3.

[0104] If step S4 is repeated once after each movement to a preset obstacle-avoiding end point, the preset obstacle-avoiding end point is obtained by offsetting the end point of the obstacle-fitting curve along the target offset direction by the preset obstacle-avoiding margin, forming the end point of the target obstacle-avoiding curve trajectory. In FIG. 7, the end point B1 of the obstacle-fitting curve U1 is offset by the preset obstacle-avoiding margin D along the negative direction of the X axis, forming the end point B3 of the target obstacle-avoiding curve trajectory. The points in the obstacle-fitting curve are all offset by the preset obstacle-avoiding margin along the target offset direction, obtaining the points in the target obstacle-avoiding curve trajectory; thus, the target obstacle-avoiding curve trajectory can be planned in advance by applying offset calculation to the trajectory equation of the obstacle-fitting curve, reducing the cost of spatial fitting calculation and improving the efficiency of robot obstacle-avoiding walking.

[0105] It should be noted that the end point of the obstacle-fitting curve is offset by the preset obstacle-avoiding margin along the target offset direction, obtaining the end point of the target obstacle-avoiding curve trajectory; the start point of the obstacle-fitting curve is offset by the preset obstacle-avoiding margin along the target offset direction, obtaining the start point of the target obstacle-avoiding curve trajectory; the end point of the obstacle-fitting curve and the end point of the target obstacle-avoiding curve trajectory are both end points of corresponding curves terminating extension in the reference detection area, and the end point of the target obstacle-avoiding curve trajectory starting extension is the start point of the target obstacle-avoiding curve trajectory, so that the extension direction of the target obstacle-avoiding curve trajectory is from the start point of the target obstacle-avoiding curve trajectory to the end point of the target obstacle-avoiding curve trajectory.

[0106] It should be noted that the difference between the longitudinal coordinate of the adjacent position point of the starting point of the obstacle walking in the positive direction of the longitudinal axis of the body and the longitudinal coordinate of the starting point of the obstacle walking is equal to the value 1, and the extension direction of the obstacle fitting curve is the direction in which the longitudinal coordinate of the target point in the obstacle fitting curve increases, so that the absolute value of the difference between the longitudinal coordinates of the two look-ahead points obtained in step S6 is equal to the value 1, for example, the difference between the longitudinal coordinate of the look-ahead point A2 in FIG. 7 and the longitudinal coordinate of the starting point of the obstacle walking is equal to the value 1. In this embodiment, the adjacent position points of the starting point of the obstacle walking include: the position points with the absolute value of the difference between the horizontal coordinates of the starting point of the obstacle walking equal to 1 and the absolute value of the difference between the longitudinal coordinates of the starting point of the obstacle walking equal to 1, which are called adjacent corner points, there are four kinds, distributed in the upper left corner position, the lower left corner position, the upper right corner position and the lower right corner position of the starting point of the obstacle walking. The position points with the absolute value of the difference between the horizontal coordinates of the starting point of the obstacle walking equal to 1 and the absolute value of the difference between the longitudinal coordinates of the starting point of the obstacle walking equal to 0, which are called horizontal adjacent position points, there are two kinds, distributed on the left and right sides of the starting point of the obstacle walking and the connecting line is parallel to the positive direction of the body horizontal axis. The position points with the absolute value of the difference between the horizontal coordinates of the starting point of the obstacle walking equal to 0 and the absolute value of the difference between the longitudinal coordinates of the starting point of the obstacle walking equal to 1, which are called longitudinal adjacent position points, there are two kinds, distributed on the upper and lower sides of the starting point of the obstacle walking and the connecting line is parallel to the positive direction of the body longitudinal axis. Thus, the four adjacent corner points, two longitudinal adjacent position points and two horizontal adjacent position points surround a starting point of obstacle walking to form an eight-neighbor domain, which is equivalent to the layout form of a nine-guanyuan grid, which is beneficial to help the robot to walk out of the trajectory with strong continuity in steps S5 and S6; wherein the positive direction of the body longitudinal axis is set as the positive direction of the longitudinal coordinate axis in the coordinate system with the body center of the robot as the origin. It can be further understood that the moving direction of the robot is the positive direction of the longitudinal coordinate axis in the coordinate system with the body center of the robot as the origin.

[0107] In summary, in view of the grid positioning error generated when the grid map marks the obstacle contour points, the application first extracts the position coordinates of the obstacle contour points in the detection area on one side of the robot for Bezier curve fitting, thereby determining the control points of each obstacle contour point, fitting an obstacle fitting curve extending towards the front of the robot along the positive direction of the longitudinal axis of the robot body, eliminating the grid error existing in the position points marked by the original grid map, inserting target points between adjacent two control points to connect to form each Bezier curve segment in the process of fitting the obstacle fitting curve, to fill the profile sampling points that may be lost by using the original grid map to mark, thereby smoothing the obstacle contour points; then based on the requirements of the robot body radius and the obstacle avoidance distance, the coordinates of each point of the obstacle fitting curve are calculated for offset, to obtain the trajectory position points of the robot's collision-free detour, to plan the look-ahead points for the robot to detour, so that the robot maintains a certain edge distance from the profile of the obstacle along which the robot walks, forming an adjustable space between the robot and the profile of the obstacle along which the robot walks, especially for the robot that adjusts the pose according to the speed difference between the left and right wheel groups to walk around the obstacle. On this basis, whenever a new obstacle contour point is framed in the detection area, a new obstacle fitting curve is fitted in the new ground area (in the semi-closed area surrounded by the connecting line of the new control points) by using the Bezier curve fitting method, and then the look-ahead points are tracked and obtained. Compared with directly using grid coordinates for obstacle avoidance, a smoother obstacle avoidance motion trajectory can be walked out, so that the robot continuously relies on the fitting curve to reduce the error caused by the grid resolution, and safely detours around the side obstacle.

[0108] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing related hardware through a computer program, and the computer program can be stored in a non-volatile computer readable storage medium. When the computer program is executed, it can include the processes of the above-mentioned embodiments of the method. In the embodiments provided by the present application, the references to the memory, storage, database or other medium can include non-volatile and / or volatile memory. The non-volatile memory can include read-only memory (ROM), programmable memory (PROM), electrically programmable memory (DPROM), electrically erasable programmable memory (DDPROM) or flash memory. The volatile memory can include random access memory (RAM) or external cache memory.

[0109] Any technical features in the above embodiments can be combined, and for the sake of brevity, not all possible combinations are described above, and it is understood that the scope of the present disclosure encompasses all possible combinations. The above embodiments only express several embodiments of the present disclosure, and the description is relatively specific and detailed, but it is not understood as limiting the scope of the patent. It should be pointed out that, for those skilled in the art, without departing from the concept of the present application, a number of modifications and improvements can be made, which are within the scope of the present application.

Claims

1. A robot movement control method based on a line laser, characterized by, The front end of the robot is equipped with a cross-line laser module; The robot movement control method comprises: Step S1, the robot controls the cross-line laser module to emit two intersecting line lasers to the front of the robot; Step S2, in the process of moving the robot, the robot collects the obstacle contour points detected by the line lasers in real time and obtains the position coordinates of the obstacle contour points; Step S3, when the distance between the robot body center and the nearest obstacle contour point reaches the preset obstacle avoidance triggering distance, the robot turns at a preset angle, and then sets the current position point of the robot as the starting point of the obstacle walking; Step S4, a reference detection area is set on the side of the robot close to the obstacle contour point, and the position coordinates of the obstacle contour points framed by the reference detection area are used for Bezier curve fitting to generate an obstacle fitting curve; Step S5, based on the adjacent position point of the starting point of the obstacle walking in the positive direction of the robot body longitudinal axis, a target point with the same longitudinal coordinate as the adjacent position point is obtained from the obstacle fitting curve, and a look-ahead point is obtained by offsetting the coordinates of the target point; then the robot moves from the starting point of the obstacle walking to the look-ahead point; Step S6, whenever the robot moves to a look-ahead point, the look-ahead point is updated as the starting point of the obstacle walking; then steps S5 to S6 are repeatedly executed, or steps S4 to S6 are repeatedly executed; until the robot moves to the preset obstacle walking end point.

2. The robot movement control method according to claim 1, wherein The cross-line laser module comprises two line laser emitters and a laser receiver; The two line laser emitters are installed on the side of the robot, and the line lasers emitted by the two line laser emitters form an effective detection area in the advancing plane of the robot; based on the advancing plane of the robot, the emission range of the two line laser emitters is upwardly formed with a preset upward emission oblique angle and downwardly formed with a preset downward emission oblique angle; The laser receiver is installed on the side of the robot and located at an intermediate position above the two line laser emitters; based on the advancing plane of the robot, the receiving range of the laser receiver is upwardly formed with a preset upward receiving oblique angle and downwardly formed with a preset downward receiving oblique angle; the laser receiver is used to collect reflection points of the line lasers on the obstacles and configure the reflection points as the obstacle contour points detected by the line lasers emitted by the line laser emitters.

3. The robot movement control method according to claim 2, wherein The robot comprises a semicircular head, a semicircular body, and two symmetrically arranged wheels connected through an axle, the axle is arranged at the boundary line between the head and the body; the semicircular head and the semicircular body are configured into a circular body; the center of the axle is the body center of the robot; the length of the axle is less than the diameter of the body; The moving direction of the robot is directed to the front of the robot, the positive direction of the body longitudinal axis is arranged as the current moving direction of the robot, and the positive direction of the body longitudinal axis is arranged vertically to the axle. The reference detection area is used to cover part or all of the profile of the side obstacle during movement of the robot, with the direction of the side obstacle towards the robot and parallel to the wheel axis as the positive direction of the body transverse axis.

4. The robot movement control method according to claim 3, wherein The position coordinates of each collected obstacle profile point are set as local coordinates formed relative to the current position point of the robot, wherein the local coordinates are set in the robot coordinate system, and the current position point of the robot is set as the origin of the robot coordinate system; When converting the local coordinates to the global map coordinate system for constructing the grid map, the local coordinates are transformed into the global map coordinate system through rotation and translation, to obtain grid coordinates of the obstacle profile points; The rotation angle required for rotation transformation of the local coordinates is equal to the angle formed by the same attribute coordinate axis between the global map coordinate system and the robot coordinate system; the coordinate offset required for translation transformation of the local coordinates is the coordinate of the current position point of the robot in the global map coordinate system; and the positive direction of the longitudinal coordinate axis of the robot coordinate system is parallel to the positive direction of the body longitudinal axis.

5. The robot movement control method according to claim 3, wherein During movement of the robot, the nearest obstacle profile point is the obstacle profile point closest to the body center detected by the cross-line laser module in the current moving direction of the robot; The nearest obstacle profile point is collected by the cross-line laser module in advance or in real time; wherein the coordinates of the current position point of the robot are represented using the coordinates of the body center; The preset obstacle avoidance trigger distance is set as the sum of the body radius and the preset interval, so that when the distance between the body center and the nearest obstacle profile point reaches the preset obstacle avoidance trigger distance, the shortest distance between the edge of the body and the obstacle profile point is equal to the preset interval.

6. The robot movement control method according to claim 5, wherein In the step S3, when the robot moves to a distance between the body center and the nearest obstacle profile point reaching the preset obstacle avoidance trigger distance, the preset angle is equal to the angle formed by the line connecting the body center and the nearest obstacle profile point relative to the positive direction of the body transverse axis on the side close to the side obstacle; The nearest obstacle profile point is in the side obstacle detected by the robot, and there is an overlapping area between the area covered by the side obstacle and the effective detection area.

7. The robot movement control method according to claim 6, wherein In the step S3, the specific method of turning the robot according to the preset angle includes: Controlling the two side wheels of the robot to generate a speed difference to drive the robot to rotate away from the side obstacle, when the robot rotates away from the side obstacle by the preset angle, the line connecting the body center and the nearest obstacle profile point is parallel to the positive direction of the body transverse axis, and then the position point of the robot after turning is set as the start point of the obstacle avoidance walking.

8. The robot movement control method according to claim 4, wherein In the step S4, a reference detection area for covering the profile of the side obstacle is set on the side of the robot close to the nearest obstacle profile point; The reference detection region and the robot body coverage region have an overlapping region or a spacing, and a distance between a boundary point farthest from the robot body center on a side close to an obstacle and the robot body center in a positive direction of the robot body transverse axis is greater than or equal to the preset obstacle avoidance triggering distance; The reference detection region is set to cover a passable region between the robot body and a side obstacle, and a straight line distance covered by the reference detection region in the positive direction of the robot body longitudinal axis is not greater than a maximum detection distance of linear laser emitted by a linear laser emitter; The reference detection region covers an area outside the robot body, and an area covered by the reference detection region inside the robot body is greater than the area covered by the reference detection region outside the robot body.

9. The robot movement control method according to claim 8, wherein The setting method of the reference detection region comprises: selecting a position point at a first preset longitudinal distance from the robot body center in the positive direction of the robot body longitudinal axis and at a first preset transverse distance from the robot body center in the positive direction of the robot body transverse axis as a left upper corner point; selecting a position point at a second preset longitudinal distance from the robot body center in the opposite direction of the robot body longitudinal axis and at the first preset transverse distance from the robot body center in the positive direction of the robot body transverse axis as a left lower corner point; selecting a position point at the first preset longitudinal distance from the robot body center in the positive direction of the robot body longitudinal axis and at a second preset transverse distance from the robot body center in the positive direction of the robot body transverse axis as a right upper corner point; selecting a position point at the second preset longitudinal distance from the robot body center in the opposite direction of the robot body longitudinal axis and at the second preset transverse distance from the robot body center in the positive direction of the robot body transverse axis as a right lower corner point; connecting the left lower corner point and the left upper corner point, connecting the left upper corner point and the right upper corner point, connecting the right upper corner point and the right lower corner point, and connecting the right lower corner point and the left lower corner point to obtain the reference detection region, so that the reference detection region is a rectangular region; The first preset transverse distance is greater than half the length of the wheel shaft and less than the robot body radius; The second preset transverse distance is greater than or equal to the preset obstacle avoidance triggering distance and less than the maximum detection distance of the linear laser emitted by the linear laser emitter, so that the line connecting the right upper corner point and the right lower corner point is located outside the robot body; The first preset longitudinal distance is greater than or equal to the robot body radius and less than the maximum detection distance of the linear laser emitted by the linear laser emitter; The second preset longitudinal distance is less than the robot body radius or half the length of the wheel shaft.

10. The robot movement control method of claim 8, wherein, From the area covered by the reference detection region in the grid map, the grid coordinates of the obstacle contour points are extracted, and the extracted grid coordinates are converted from the global map coordinate system to the robot coordinate system to obtain a local coordinate formed relative to the current position point of the robot and marked as the position coordinates of the obstacle contour points framed by the reference detection region; In the global map coordinate system and the robot coordinate system, the rotation transformation of the grid coordinates of the obstacle contour points is the inverse transformation of the rotation transformation of the local coordinates, and the translation transformation of the grid coordinates of the obstacle contour points is the inverse transformation of the translation transformation of the local coordinates; The reference detection area is configured to frame the grid coordinates of the obstacle contour points in real time during the movement of the robot in step S4.

11. The robot movement control method of claim 8, wherein, In step S4, the method of using the position coordinates of the obstacle contour points framed in the reference detection area to perform Bezier curve fitting includes: Among the obstacle contour points framed in the reference detection area along the positive direction of the body longitudinal axis, the start point of the obstacle fitting curve and the end point of the obstacle fitting curve are determined, and each obstacle contour point distributed between the start point and the end point along the positive direction of the body longitudinal axis in the reference detection area is sequentially marked as a control point required for fitting the Bezier curve, wherein the obstacle fitting curve belongs to the Bezier curve; the number of control points is equal to the sum of the order of the Bezier curve and the value 1; the order of the Bezier curve is represented by n; According to the start point of the obstacle fitting curve, the end point of the obstacle fitting curve, and the control points sequentially marked between the start point and the end point of the obstacle fitting curve, an obstacle fitting curve based on the n-order Bezier curve is generated, so that the relatively discrete obstacle contour points are fitted into a relatively continuous contour line, wherein the start point and the end point of the obstacle fitting curve both belong to the control points; Correspondingly, the trajectory equation of the obstacle fitting curve is: wherein B x (t) is the abscissa of a point in the obstacle fitting curve, B y (t) is the ordinate of a point in the obstacle fitting curve, i denotes the ordinal number of a control point required for fitting the obstacle fitting curve, and t is a ratio between i and n+1; P 0x denotes the abscissa of the start position of the obstacle fitting curve within a reference detection area, P 0y denotes the ordinate of the start position of the obstacle fitting curve within a reference detection area; P nx denotes the abscissa of the end position of the obstacle fitting curve within a reference detection area, P ny denotes the ordinate of the end position of the obstacle fitting curve within a reference detection area; wherein P ix represents the horizontal coordinate of the obstacle profile point within the reference detection area for setting the control point P i represents the vertical coordinate of the obstacle profile point within the reference detection area for setting the control point P iy represents the horizontal coordinate of the obstacle profile point within the reference detection area for setting the control point P i represents the vertical coordinate of the obstacle profile point within the reference detection area for setting the control point P 12. The robot movement control method of claim 11, wherein, In the process of Bezier curve fitting, the number of value categories of t is equal to the number of points inserted into the obstacle fitting curve; In the positive direction of the longitudinal axis of the machine body, the relative position of two adjacent control points changes, and the curvature of the obstacle fitting curve changes; two adjacent control points use P i and P i+1 represent, wherein i ∈ [0, n-1]; The trajectory equation of the obstacle fitting curve belongs to the Bezier curve formula.

13. The robot movement control method of claim 12, wherein, The start point of the obstacle fitting curve is the obstacle contour point closest to the boundary of the reference detection area in the reverse direction of the positive direction of the body longitudinal axis, or the boundary point of the reference detection area through which the contour of the obstacle represented by the obstacle fitting curve passes in the reverse direction of the positive direction of the body longitudinal axis, so that the start point of the obstacle fitting curve is the farthest obstacle contour point relative to the obstacle-avoiding walking start point in the reverse direction of the positive direction of the body longitudinal axis. The end point of the obstacle fitting curve is the obstacle contour point closest to the boundary of the reference detection area in the positive direction of the body longitudinal axis, or the boundary point of the reference detection area through which the contour of the obstacle represented by the obstacle fitting curve passes in the positive direction of the body longitudinal axis, so that the start point of the obstacle fitting curve is the farthest obstacle contour point relative to the obstacle-avoiding walking start point in the positive direction of the body longitudinal axis.

14. The robot movement control method of claim 11, wherein, The contour of the obstacle required to be represented by the obstacle fitting curve is located in the positive direction of the body transverse axis of the robot, and the reverse direction of the positive direction of the body transverse axis is configured as the target offset direction. The preset obstacle avoidance margin is set to be equal to the sum of the body radius and the preset obstacle-avoiding distance.

15. The method of claim 14, wherein, In step S5, the method of obtaining a target point with the same longitudinal coordinate as the adjacent position point of the obstacle-avoiding walking start point in the positive direction of the body longitudinal axis from the obstacle fitting curve, and then obtaining the look-ahead point by performing coordinate offset on the target point includes: A longitudinal coordinate of a neighboring position point of the obstacle-avoiding walking start point in a positive direction of a longitudinal axis of the robot is calculated, and the longitudinal coordinate of the neighboring position point is set as a starting look-ahead longitudinal coordinate; Then, the starting look-ahead longitudinal coordinate is substituted into a trajectory equation of the obstacle fitting curve to calculate a horizontal coordinate of a point in the obstacle fitting curve with the same longitudinal coordinate as the starting look-ahead longitudinal coordinate, wherein the point in the obstacle fitting curve with the same longitudinal coordinate as the starting look-ahead longitudinal coordinate is marked as a target point; Then, the target point is offset by a preset obstacle avoidance margin along the target offset direction to obtain the look-ahead point; Then, the robot moves from the obstacle-avoiding walking start point to the look-ahead point.

16. The robot movement control method of claim 15, wherein, The implementation method of the step S6 includes: Each time the robot moves to a look-ahead point, the robot updates the current look-ahead point as the obstacle-avoiding walking start point, and then performs the step S5 to obtain a next look-ahead point, and then the robot moves to the next look-ahead point; the next look-ahead point is updated as the obstacle-avoiding walking start point, and then the steps S4 to S6 are performed, and the iteration is performed until the robot moves to a preset obstacle-avoiding end point, wherein the preset obstacle-avoiding end point is obtained by offsetting an end point of the obstacle fitting curve by the preset obstacle avoidance margin along the target offset direction.

17. The method of claim 15, wherein: The implementation method of the step S6 includes: Each time the robot moves to a look-ahead point, the robot updates the current look-ahead point as the obstacle-avoiding walking start point, and then performs the step S4 to step S5 to obtain a next look-ahead point, and then the robot moves to the next look-ahead point; the next look-ahead point is updated as the obstacle-avoiding walking start point, and then the steps S4 to S6 are performed, and the iteration is performed until the robot moves to a preset obstacle-avoiding end point.

18. The method of claim 15, wherein: After the robot moves to the preset obstacle-avoiding end point in the step S6, the reference detection area set by the robot covers a new ground area, and then the step S4 is performed to perform the Bezier curve fitting on the framed obstacle profile points in the new ground area to obtain a new obstacle fitting curve; then the steps S5 and S6 are performed. The ground area is parallel to a travel plane of the robot.

19. The method of claim 15, wherein, The robot connects the look-ahead points successively moved in the step S6 into a target obstacle-avoiding curve trajectory; If the obstacle profile points framed by the reference detection area before and after the movement of the robot do not change, the target obstacle-avoiding curve trajectory is parallel to the obstacle fitting curve obtained in the step S4 before and after the movement of the robot; wherein the points in the obstacle fitting curve are offset by the preset obstacle avoidance margin along the target offset direction to obtain the points in the target obstacle-avoiding curve trajectory.

20. The method of claim 15, wherein, The difference between the longitudinal coordinate of the neighboring position point of the obstacle-avoiding walking start point in the positive direction of the longitudinal axis of the robot and the longitudinal coordinate of the obstacle-avoiding walking start point is equal to 1, so that the absolute value of the difference between the longitudinal coordinates of two look-ahead points successively obtained in the step S6 is equal to 1; The neighboring position point of the obstacle-avoiding walking start point includes: A position point with an absolute value of the difference between the horizontal coordinate and the horizontal coordinate of the obstacle-avoiding walking start point equal to 1 and an absolute value of the difference between the longitudinal coordinate and the longitudinal coordinate of the obstacle-avoiding walking start point equal to 1; A position point with an absolute value of a difference from a horizontal coordinate of the start point of the obstacle walking being equal to 1 and an absolute value of a difference from a vertical coordinate of the start point of the obstacle walking being equal to 0; A position point with an absolute value of a difference from a horizontal coordinate of the start point of the obstacle walking being equal to 0 and an absolute value of a difference from a vertical coordinate of the start point of the obstacle walking being equal to 1; The positive direction of the longitudinal axis of the body is set as the positive direction of the longitudinal coordinate axis in the coordinate system with the center of the body of the robot as the origin.

Citation Information

Patent Citations

  • Autonomous vehicle obstacle avoidance method based on arc path

    CN103335658A

  • Information collection method and device, and storage medium

    CN111708360A

  • Obstacle avoidance method and device for self-moving robot

    CN117008597A

  • Edge contour acquisition method for robot walking

    CN118072041A

  • Self-moving device control method, self-moving device and storage medium

    CN118092427A