WO2025113433A1 - 机器人避障方法、装置、设备和可读存储介质 - Google Patents
机器人避障方法、装置、设备和可读存储介质 Download PDFInfo
- Publication number
- WO2025113433A1 WO2025113433A1 PCT/CN2024/134504 CN2024134504W WO2025113433A1 WO 2025113433 A1 WO2025113433 A1 WO 2025113433A1 CN 2024134504 W CN2024134504 W CN 2024134504W WO 2025113433 A1 WO2025113433 A1 WO 2025113433A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- obstacle avoidance
- point
- robot
- obstacle
- local
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/40—Control within particular dimensions
- G05D1/43—Control of position or course in two dimensions
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/60—Intended control result
- G05D1/617—Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
- G05D1/622—Obstacle avoidance
Definitions
- the present disclosure relates to the field of intelligent warehousing, and to a robot obstacle avoidance method, device, equipment and readable storage medium.
- the robot When the robot is moving shelves or target goods, it will determine whether there is an obstacle in the obstacle avoidance area in front of it. When an obstacle appears in the obstacle avoidance area in front of the robot, the robot will avoid the obstacle and slow down according to the distance between the current position information and the obstacle to ensure the safety of the robot.
- Embodiments of the present disclosure provide a robot obstacle avoidance method, apparatus, device, and readable storage medium.
- a robot obstacle avoidance method comprising: first, based on the current position information of the robot, determining a global obstacle avoidance area and a local obstacle avoidance area; wherein the global obstacle avoidance area is the obstacle avoidance area in front of the robot when the robot body posture is not skewed, and the local obstacle avoidance area is the obstacle avoidance area in front of the robot when the robot body posture is skewed; then, obtaining a global obstacle point detection result in the global obstacle avoidance area and a local obstacle point detection result in the local obstacle avoidance area; then, determining candidate obstacle avoidance points based on the global obstacle point detection result and the local obstacle point detection result, wherein the candidate obstacle avoidance points include global obstacle avoidance points and/or local obstacle avoidance points; the global obstacle avoidance point is an obstacle point on the driving path located within the global obstacle avoidance area, and the local obstacle avoidance point is an obstacle point on the driving path located within the local obstacle avoidance area; finally, determining a target
- determining the global obstacle avoidance area and the local obstacle avoidance area based on the current position information of the robot includes:
- the global obstacle avoidance area is determined; based on the current position information of the robot in the local coordinate system and the preset obstacle avoidance area size, the local obstacle avoidance area is determined.
- obtaining a global obstacle point detection result in a global obstacle avoidance area and a local obstacle point detection result in a local obstacle avoidance area includes:
- determining a candidate obstacle avoidance point according to the global obstacle point detection result and the local obstacle point detection result includes:
- the global obstacle avoidance point is determined in the at least one first obstacle point based on the current position information of the robot; and/or, when the local obstacle point detection result indicates that there is at least one second obstacle point in the local obstacle avoidance area, the local obstacle avoidance point is determined in the at least one second obstacle point based on the current position information of the robot.
- determining a global obstacle avoidance point in at least one first obstacle point includes:
- the distance between each first obstacle point and the robot is determined; and the first obstacle point closest to the robot is determined as the global obstacle avoidance point.
- determining a local obstacle avoidance point in at least one second obstacle point based on the current position information of the robot includes:
- the distance between each second obstacle point and the robot is determined; and the second obstacle point closest to the robot is determined as a local obstacle avoidance point.
- determining a target obstacle avoidance point based on the candidate obstacle avoidance points includes:
- a projection point of the global obstacle avoidance point projected along a first direction into the local obstacle avoidance area is determined as the target obstacle avoidance point.
- determining a target obstacle avoidance point based on the candidate obstacle avoidance points includes:
- the candidate obstacle avoidance points include local obstacle avoidance points and the candidate obstacle avoidance points include global obstacle avoidance points
- the local obstacle avoidance point is determined as the target obstacle avoidance point
- a first position relationship between the local obstacle avoidance point and the global obstacle avoidance area is determined, and based on the first position relationship and the current position information of the robot, the target obstacle avoidance point is determined
- a second position relationship between the global obstacle avoidance point and the local obstacle avoidance area is determined, and based on the second position relationship, the target obstacle avoidance point is determined.
- the current position information and/or the local obstacle avoidance point of the robot meets the preset conditions, including at least one of the following:
- the angle difference between the robot's driving angle and the target angle is greater than the preset angle difference; the lateral distance between the robot's current driving path and the preset driving path is greater than the preset lateral distance; the distance between the local obstacle avoidance point and the robot is less than or equal to the robot's braking distance.
- determining the target obstacle avoidance point based on the first position relationship includes:
- a projection point of the global obstacle avoidance point along the first direction into the local obstacle avoidance area is determined as the target obstacle avoidance point.
- determining the target obstacle avoidance point based on the first position relationship includes:
- the first position relationship indicates that the local obstacle avoidance point is located in the global obstacle avoidance area
- determine the projection point of the global obstacle avoidance point along the first direction into the local obstacle avoidance area and determine the target obstacle avoidance point based on the projection point, the local obstacle avoidance point and the current position information of the robot.
- determining a target obstacle avoidance point based on the projection point, the local obstacle avoidance point and the current position information of the robot includes:
- determining the target obstacle avoidance point based on the second position relationship includes:
- the distances between the global obstacle avoidance point and the local obstacle avoidance point and the robot are determined respectively; and the obstacle avoidance point closest to the robot among the global obstacle avoidance point and the local obstacle avoidance point is determined as the target obstacle avoidance point.
- determining whether to perform obstacle avoidance processing based on the target obstacle avoidance point and the current position information of the robot includes:
- obstacle avoidance processing is performed; if the distance between the target obstacle avoidance point and the robot is greater than the robot's braking distance, obstacle avoidance processing is not performed.
- determining a target obstacle avoidance point based on the candidate obstacle avoidance points includes:
- the target obstacle avoidance point is determined based on the local obstacle avoidance points and the current position of the robot.
- determining a target obstacle avoidance point based on a local obstacle avoidance point and a current position of the robot includes:
- the local obstacle avoidance point is determined as the target obstacle avoidance point; if the distance between the local obstacle avoidance point and the robot is greater than the braking distance of the robot, the preset obstacle avoidance point is determined as the target obstacle point, and the distance between the preset obstacle avoidance point and the robot is always greater than the braking distance of the robot.
- determining a target obstacle avoidance point based on the candidate obstacle avoidance points includes:
- the preset obstacle avoidance point is determined as the target obstacle point, and the distance between the preset obstacle avoidance point and the robot is greater than the braking distance of the robot.
- determining a global obstacle point detection result based on the location information of the obstacle point and the global obstacle avoidance area includes:
- the position information of the obstacle point in the global coordinate system is determined; based on the position information of the obstacle point in the global coordinate system and the global obstacle avoidance area, the global obstacle point detection result is determined.
- determining a local obstacle point detection result based on the location information of the obstacle point and the local obstacle avoidance area includes:
- the local obstacle point detection result is determined.
- a robot obstacle avoidance device comprising:
- a processing module is configured to determine a global obstacle avoidance area and a local obstacle avoidance area based on current position information of the robot;
- An acquisition module is configured to acquire a global obstacle point detection result in a global obstacle avoidance area and a local obstacle point detection result in a local obstacle avoidance area;
- the processing module is also configured to determine candidate obstacle avoidance points based on the global obstacle point detection results and the local obstacle point detection results, the candidate obstacle avoidance points including global obstacle avoidance points and/or local obstacle avoidance points; determine the target obstacle avoidance points based on the candidate obstacle avoidance points; and determine whether to perform obstacle avoidance processing based on the target obstacle avoidance points and the current position information of the robot.
- an electronic device comprising a memory and a processor, wherein the memory stores a computer program, and wherein the processor implements the method in any implementation manner of the first aspect when executing the computer program.
- a computer-readable storage medium in which computer instructions are stored, and when the computer program is executed by a processor, the method in any implementation manner of the first aspect is implemented.
- FIG1 is a schematic diagram of an application scenario of a robot obstacle avoidance method provided by an embodiment of the present disclosure
- FIG2 is a schematic diagram of a flow chart of a robot obstacle avoidance method provided by an embodiment of the present disclosure
- FIG3 is a schematic diagram of the positions of a global obstacle avoidance area and a local obstacle avoidance area in a robot obstacle avoidance method provided by an embodiment of the present disclosure
- FIG4A is a schematic diagram of a local coordinate system and a global coordinate system in a robot obstacle avoidance method provided by an embodiment of the present disclosure
- FIG4B is a schematic diagram of an obstacle avoidance area in a robot obstacle avoidance method provided by an embodiment of the present disclosure
- FIG5 is a schematic diagram of a flow chart of another robot obstacle avoidance method provided by an embodiment of the present disclosure.
- FIG6 is a schematic diagram of a flow chart of another robot obstacle avoidance method provided by an embodiment of the present disclosure.
- FIG7 is a schematic diagram of a flow chart of another robot obstacle avoidance method provided in an embodiment of the present disclosure.
- FIG8 is a schematic flow chart of another robot obstacle avoidance method provided in an embodiment of the present disclosure.
- FIG9 is a schematic diagram of the position of a candidate obstacle avoidance point provided in an embodiment of the present disclosure.
- FIG10 is a schematic diagram of the position of another candidate obstacle avoidance point provided in an embodiment of the present disclosure.
- FIG11 is a schematic diagram of the position of another candidate obstacle avoidance point provided in an embodiment of the present disclosure.
- FIG12 is a schematic diagram of the position of another candidate obstacle avoidance point provided in an embodiment of the present disclosure.
- FIG13 is a schematic diagram of the position of another candidate obstacle avoidance point provided in an embodiment of the present disclosure.
- FIG14 is a schematic structural diagram of a robot obstacle avoidance device provided in an embodiment of the present disclosure.
- FIG15 is a schematic diagram of the internal structure of a robot provided by an embodiment of the present disclosure.
- FIG. 16 is a schematic diagram of the structure of an electronic device provided in an embodiment of the present disclosure.
- the robot When the robot is moving shelves or target goods, it will determine whether there is an obstacle in the obstacle avoidance area in front of it. When an obstacle appears in the obstacle avoidance area in front of the robot, the robot will avoid the obstacle and slow down according to the distance between the current position information and the obstacle to ensure the safety of the robot.
- the robot's body posture when the robot's body posture is skewed, an obstacle point outside the driving path will be detected. If the robot avoids the obstacle and slows down based on the obstacle point, it may avoid the obstacle incorrectly, affecting the robot's operating efficiency.
- the robot when the robot's body posture is skewed, the robot will adjust its body posture while traveling to adjust the robot's body posture to the target body posture (the posture when the robot's body posture is not skewed); therefore, during actual operation, the robot may not come into contact with the detected obstacle points outside the driving path; at this time, if obstacle avoidance is performed based on the obstacle points outside the driving path, incorrect obstacle avoidance will occur.
- the robot may not detect obstacles at the edge of the obstacle avoidance area in front of the robot, which may cause the robot to collide with obstacles at the edge of the obstacle avoidance area during driving, resulting in low safety of the robot's operation.
- the present disclosure provides a robot obstacle avoidance method, so that during the driving process, the robot can not only detect obstacle points within the obstacle avoidance area (local obstacle avoidance area) in front of the robot when the robot body posture is skewed, but also detect obstacle points within the obstacle avoidance area (global obstacle avoidance area) in front of the robot when the robot body posture is normal (not skewed), that is, combine global obstacle avoidance with local obstacle avoidance; in this way, the robot's obstacle avoidance accuracy can be improved, the robot's incorrect obstacle avoidance situations can be reduced, and the robot's operating efficiency and operating smoothness can be improved; and this can also reduce the probability of the robot colliding with the obstacle avoidance points, thereby improving the robot's safety.
- the robot can not only detect obstacle points within the obstacle avoidance area (local obstacle avoidance area) in front of the robot when the robot body posture is skewed, but also detect obstacle points within the obstacle avoidance area (global obstacle avoidance area) in front of the robot when the robot body posture is normal (not s
- the application scenario includes a control device 11, a robot 12, a storage area 13 and a workstation 14.
- the warehouse includes at least one robot 12, a storage area 13 and at least one workstation 14.
- the storage area 13 is used to place goods, and the goods are stored in inventory containers (such as cargo boxes, movable carriers, pallets, turnover boxes or original boxes).
- the control device 11 communicates with the robot 12 through a network.
- the robot may also be referred to as a movable device or a handling device.
- the robot may be a handling robot, such as an automated guided vehicle (AGV).
- AGV automated guided vehicle
- the handling robot may carry a target object from a current position to a target position.
- the target object may include a target product in a pending order, a container where the target product is located, a material box where the target product is located, or an original box where the target product is placed, and the embodiments of the present disclosure are not limited to this.
- the following embodiments are schematically described using the target product as an example.
- control device 11 sends a transport instruction to the robot 12 , where the transport instruction includes a driving path.
- the robot 12 taking the starting point of the driving path as the storage location A where the target goods are placed in the storage area 13, and the end point as the workstation P1, when the robot 12 receives the transport instruction, it moves to the storage location A based on the transport instruction to obtain the target goods, and moves the target goods to the workstation P1 according to the driving path, and the target goods are picked by the staff or picking equipment at the workstation P1.
- the robot 12 taking the starting point of the driving path as workstation P1 and the end point as cargo location A in the storage area 13, when the robot 12 receives the transport instruction, it moves to the workstation P1 based on the transport instruction to obtain the target cargo, and moves the target cargo to cargo location A according to the driving path.
- the robot will detect obstacles in the obstacle avoidance area according to the preset detection frequency or in real time to avoid obstacles in time.
- the robot 12 when the robot 12 carries the target goods, it may carry the target goods directly (e.g., placing the target goods on the robot 12 for carrying), or it may carry the inventory container (e.g., cargo box, pallet, turnover box or original box) storing the target goods, or it may carry the movable carrier (e.g., shelf) storing the target goods.
- the disclosed embodiments do not limit the manner in which the robot carries the target goods, and the manner in which the robot carries the target goods may be different in different application scenarios of the warehousing system. In some embodiments, the manner in which the robot carries the target goods is related to the type of robot.
- control device 11 can be deployed on a terminal device or a server.
- the terminal device can be, but is not limited to, various electronic devices such as personal computers, laptops, smart phones, tablet computers, and portable wearable devices, and the server can be implemented as an independent server or a server cluster composed of multiple servers.
- the following embodiments are illustrative examples of the control device 11 being deployed on an electronic device.
- Fig. 2 shows a schematic flow chart of a robot obstacle avoidance method. As shown in Fig. 2, the embodiment of the present disclosure provides a robot obstacle avoidance method, including S201-S205.
- the global obstacle avoidance area is the obstacle avoidance area in front of the robot when the robot body posture is not skewed
- the local obstacle avoidance area is the obstacle avoidance area in front of the robot when the robot body posture is skewed.
- the current position information of the robot represents the coordinate information of the robot in the warehouse.
- the robot can determine the current location information of the robot by identifying the location identifier (e.g., QR code) set in the warehouse; the robot can also identify the location identifier set in the warehouse and send identification information corresponding to the location identifier to the control device, and the control device determines the coordinate information of the robot in the warehouse based on the identification information sent by the robot; then, the robot obtains the current location information of the robot through the control device.
- the location identifier e.g., QR code
- the control device determines the coordinate information of the robot in the warehouse based on the identification information sent by the robot; then, the robot obtains the current location information of the robot through the control device.
- the disclosed embodiments do not limit the method of determining the current location information of the robot.
- the control device determines the starting point and the end point of the driving path according to the order information, and plans the driving path based on the starting point and the end point of the driving path; then, a handling instruction is generated based on the driving path, and the handling instruction is used to instruct the robot to operate according to the driving path.
- the global obstacle avoidance area refers to the obstacle avoidance area in front of the robot when the robot is in the target body posture (the body posture is not skewed) during the robot's operation according to the driving path; the local obstacle avoidance area refers to the obstacle avoidance area in front of the robot when the robot's body posture is skewed during the robot's operation according to the driving path.
- obstacle avoidance area 1 the area selected by the dotted box in FIG3
- obstacle avoidance area 2 the area selected by the solid box in FIG3 .
- obstacle avoidance area 1 is the global obstacle avoidance area
- obstacle avoidance area 2 is the local obstacle avoidance area.
- the current position information of the robot includes at least one of the current position information of the robot in the local coordinate system and the current position information of the robot in the global coordinate system.
- the current position information of the robot in the local coordinate system can be interchanged with the current position information of the robot in the global coordinate system. That is, when the current position information of the robot in the local coordinate system is known information, the current position information of the robot in the local coordinate system can be transformed based on the global coordinate system and the local coordinate system to obtain the current position information of the robot in the global coordinate system; when the current position information of the robot in the global coordinate system is known information, the current position information of the robot in the global coordinate system can be transformed based on the global coordinate system and the local coordinate system to obtain the current position information of the robot in the local coordinate system.
- the global obstacle avoidance area is determined based on the current position information of the robot in the global coordinate system and the preset obstacle avoidance area size.
- Figure 4A shows a local coordinate system and a global coordinate system; as shown in Figure 4A, the global coordinate system can be a coordinate system X-O-Y constructed with any point in the historical area that the robot has traveled along the driving path as the origin (point O in Figure 4A), the length direction of the robot's driving path as the Y-axis, and the direction perpendicular to the Y-axis as the X-axis.
- the global coordinate system can be a coordinate system X-O-Y constructed with any point in the historical area that the robot has traveled along the driving path as the origin (point O in Figure 4A), the length direction of the robot's driving path as the Y-axis, and the direction perpendicular to the Y-axis as the X-axis.
- the preset obstacle avoidance area size is a preset value
- the preset obstacle avoidance area can be stored in a storage module of the robot or in a control device. That is, the robot can obtain the preset obstacle avoidance area size through the storage module of the robot, or request to obtain the preset obstacle avoidance area size from the control device.
- the embodiments of the present disclosure are not limited to this.
- the robot includes multiple models, and the specifications, functions and obstacle avoidance area sizes corresponding to different models of robots may be the same or different, which is not limited in the embodiments of the present disclosure.
- the shape of the robot's obstacle avoidance area can be rectangular or circular; the embodiment of the present disclosure does not limit the shape of the robot's obstacle avoidance area.
- the robot's obstacle avoidance area is taken as a rectangular area set in front of the robot for illustrative description.
- FIG4B shows an obstacle avoidance area.
- the length of the obstacle avoidance area may be the length of the driving path (obs_length), that is, the distance between the starting point (start_point) and the ending point (end_point);
- the width of the obstacle avoidance area may be the robot width (obs_width).
- the left boundary x_left, the right boundary x_right, the upper boundary y_up, and the lower boundary y_down of the global obstacle avoidance area can be calculated based on Formula 1 to Formula 4, respectively.
- robot_length is the length of the robot
- (X,Y) is the coordinates of the robot in the global coordinate system.
- the local obstacle avoidance area is determined based on the current position information of the robot in the local coordinate system and a preset obstacle avoidance area size.
- the local coordinate system can be a coordinate system x-o-y constructed with the robot (the robot's current position information) as the origin (point o in FIG4A ), the direction in which the robot's body posture is tilted (i.e., the robot's current actual running direction) as the y-axis, and the direction perpendicular to the y-axis as the x-axis.
- the current position information of the robot in the global coordinate system in Formula 1-Formula 4 is replaced with the current position information of the robot in the local coordinate system, that is, the coordinates (X, Y) of the robot in the global coordinate system in Formula 1-Formula 4 are replaced with the coordinates (x, y) of the robot in the local coordinate system, and the local obstacle avoidance area can be determined based on the current position information of the robot in the local coordinate system and the preset obstacle avoidance area size.
- the global obstacle avoidance area is the obstacle avoidance area corresponding to when the robot's body posture is not skewed
- the local obstacle avoidance area is the obstacle avoidance area corresponding to when the robot's body posture is skewed; therefore, if the robot's body posture is skewed by ⁇ degrees, an angle of ⁇ degrees will be formed between the left boundary (right boundary) of the global obstacle avoidance area and the left boundary (right boundary) of the local obstacle avoidance area.
- the local coordinate system and the global coordinate system may be constructed by the robot based on the current position information and the driving path of the robot, or may be constructed by the control device based on the current position information and the driving path of the robot and then sent to the robot.
- the embodiments of the present disclosure are not limited to this.
- the global obstacle point is an obstacle point located in a global obstacle avoidance area on the driving path
- the local obstacle avoidance point is an obstacle point located in a local obstacle avoidance area on the driving path.
- the robot determines the global obstacle avoidance point detection result by determining whether there is an obstacle point in the global obstacle avoidance area, and determines the local obstacle point detection result by determining whether there is an obstacle point in the local obstacle avoidance area.
- the obstacle point may be a fixed object (eg, cargo, inventory container, etc.) or a movable object (eg, other robots paused on the driving path).
- a fixed object eg, cargo, inventory container, etc.
- a movable object eg, other robots paused on the driving path.
- S202 may include S2021 - S2023 .
- the robot can detect obstacle points on the driving path through a built-in laser radar to obtain the coordinates of at least one obstacle point in a local coordinate system, thereby obtaining the position information of at least one obstacle point.
- the robot since the robot detects obstacle points on the driving path through the built-in laser radar, the laser radar signal emitted by the built-in laser radar propagates along the current actual running direction of the robot, that is, along the y-axis of the local coordinate system; therefore, the position information of at least one obstacle point obtained by the robot is the position information of at least one obstacle point in the local coordinate system.
- S2022 Determine a global obstacle point detection result based on the location information of the obstacle point and the global obstacle avoidance area.
- the global obstacle point detection result is used to indicate whether there is an obstacle point in the global obstacle avoidance area.
- the robot detects obstacles on the driving path through a built-in laser radar to obtain the coordinates of at least one obstacle point in the local coordinate system, and then obtains a corresponding obstacle point cloud based on the coordinates of at least one obstacle point in the local coordinate system.
- the robot determines whether there is an overlapping area between the obstacle point cloud and the global obstacle avoidance area, it can be determined whether there is an obstacle point in the global obstacle avoidance area, thereby obtaining a global obstacle avoidance point result.
- S2022 may include S20221 - S20222.
- the position information of the obstacle point in the local coordinate system is the coordinates of the obstacle point in the local coordinate system.
- the position posture angle of the robot is the angle corresponding to when the robot's body posture is skewed.
- (a, b) are the coordinates of the robot in the global coordinate system
- ⁇ is the position and posture angle of the robot
- (x 0 , y 0 ) are the coordinates of the obstacle point in the local coordinate system, that is, the position information of the obstacle point in the local coordinate system
- (X 0 , Y 0 ) are the coordinates of the obstacle point in the global coordinate system, that is, the position information of the obstacle point in the global coordinate system.
- the global obstacle point detection result indicates that there is an obstacle point in the global obstacle avoidance area; if it is determined that the obstacle point is not in the global obstacle avoidance area based on the position information of the obstacle point in the global coordinate system, then the global obstacle point detection result indicates that there is no obstacle point in the global obstacle avoidance area.
- S2023 Determine a local obstacle point detection result based on the location information of the obstacle point and the local obstacle avoidance area.
- the local obstacle point detection result is used to indicate whether there is an obstacle point in the local obstacle avoidance area.
- S2023 may include: determining a local obstacle point detection result based on the position information of the obstacle point in the local coordinate system and the local obstacle avoidance area.
- the local obstacle point detection result indicates that there is an obstacle point in the local obstacle avoidance area; if it is determined that the obstacle point is not in the local obstacle avoidance area based on the position information of the obstacle point in the local coordinate system, then the local obstacle point detection result indicates that there is no obstacle point in the local obstacle avoidance area.
- S2022 may be executed first to determine the global obstacle avoidance point detection result, and then S2023 may be executed to determine the all-local obstacle point detection result; or S2023 may be executed first to determine the all-local obstacle point detection result, and then S2022 may be executed to determine the global obstacle avoidance point detection result.
- the present disclosure embodiment does not limit the execution order of S2022-S2023.
- S203 Determine candidate obstacle avoidance points according to the global obstacle point detection results and the local obstacle point detection results.
- the candidate obstacle avoidance points include global obstacle avoidance points and/or local obstacle avoidance points.
- the global obstacle avoidance points are obstacle points on the driving path that are located in the global obstacle avoidance area
- the local obstacle avoidance points are obstacle points on the driving path that are located in the local obstacle avoidance area.
- the global obstacle avoidance point when the global obstacle point detection result indicates that there is at least one first obstacle point in the global obstacle avoidance area, the global obstacle avoidance point is determined in the at least one first obstacle point based on the current position information of the robot; and/or, when the local obstacle point detection result indicates that there is at least one second obstacle point in the local obstacle avoidance area, the local obstacle avoidance point is determined in the at least one second obstacle point based on the current position information of the robot.
- the first obstacle point is an obstacle point located in the global obstacle avoidance area among multiple obstacle points on the driving path detected by the robot
- the second obstacle point is an obstacle point located in the local obstacle avoidance area among multiple obstacle points on the driving path detected by the robot.
- determining a global obstacle avoidance point in at least one first obstacle point based on the current position information of the robot includes S701 - S702 .
- the distance between each first obstacle point and the robot is determined; or, based on the coordinates of the robot in the local coordinate system and the coordinates of each first obstacle point in the local coordinate system, the distance between each first obstacle point and the robot is determined.
- S702 Determine the first obstacle point closest to the robot as the global obstacle avoidance point.
- the number of first obstacle points can be one or more.
- the first obstacle point is determined as the global obstacle avoidance point; when the number of first obstacle points is more than one, the first obstacle point closest to the robot among the multiple first obstacle points is determined as the global obstacle avoidance point.
- determining a global obstacle avoidance point in at least one second obstacle point based on the current position information of the robot includes S801 - S802 .
- the distance between each second obstacle point and the robot is determined based on the coordinates of the robot in the global coordinate system and the coordinates of each second obstacle point in the global coordinate system; or, the distance between each second obstacle point and the robot is determined based on the coordinates of the robot in the local coordinate system and the coordinates of each second obstacle point in the local coordinate system.
- S802 Determine the second obstacle point closest to the robot as a local obstacle avoidance point.
- the number of the second obstacle points can be one or more.
- the second obstacle point is determined as a local obstacle avoidance point; when the number of the second obstacle points is more than one, the second obstacle point closest to the robot among the multiple first obstacle points is determined as a local obstacle avoidance point.
- S204 Determine a target obstacle avoidance point based on whether the candidate obstacle avoidance points include local obstacle avoidance points and/or global obstacle avoidance points.
- the target obstacle avoidance point is used to indicate whether the robot should perform obstacle avoidance processing.
- a projection point of the global obstacle avoidance point along the first direction into the local obstacle avoidance area is determined as the target obstacle avoidance point.
- the first direction refers to the direction of projecting the global obstacle avoidance point from the global obstacle avoidance area to the local obstacle avoidance area.
- the first direction can be the X-axis direction of the global coordinate system or the x-axis direction of the local coordinate system, which is not limited in the embodiments of the present disclosure.
- the first direction is the x-axis direction of the global coordinate system as an example for illustrative description.
- the candidate obstacle avoidance points do not include local obstacle avoidance points and the candidate obstacle avoidance points include global obstacle avoidance points, it means that there is no local obstacle avoidance point in the local obstacle avoidance area, and there is a global obstacle avoidance point in the global obstacle avoidance area; that is, there is a global obstacle avoidance point obstacle_A in the global obstacle avoidance area (the area selected by the dotted box in FIG9 ), but the global obstacle avoidance point obstacle_A is not in the local obstacle avoidance area (the area selected by the solid box in FIG9 ).
- the global obstacle avoidance point obstacle_A is projected along the X-axis direction of the global coordinate system onto the left boundary of the local obstacle avoidance area of the robot to obtain the projected point obstacle_A’, and the projected point obstacle_A’ is determined as the target obstacle avoidance point.
- the robot uses the projection point of the global obstacle avoidance point along the first direction into the local obstacle avoidance area as the target obstacle avoidance point, which can avoid the situation where the distance between the robot and the global obstacle avoidance point is too close when the robot adjusts its body posture to the target body posture, resulting in the robot being unable to brake in time, thereby causing a collision between the robot and the global obstacle avoidance point; because in the process of the robot adjusting its body posture, the projection point of the global obstacle avoidance point along the first direction into the local obstacle avoidance area is closer to the robot than the global obstacle avoidance point, so by using the projection point as the target obstacle avoidance point, the robot can avoid obstacles in time during the process of adjusting its body posture, thereby improving the safety of the robot during operation.
- the global obstacle avoidance point may be projected along the first direction onto any boundary (e.g., left boundary, right boundary) of the local obstacle avoidance region, or the global obstacle avoidance point may be projected along the first direction onto any part of the local obstacle avoidance region. This disclosure embodiment does not limit this.
- the candidate obstacle avoidance points include local obstacle avoidance points and the candidate obstacle avoidance points include global obstacle avoidance points
- the local obstacle avoidance points are determined as the target obstacle avoidance points.
- the robot can determine whether to perform global obstacle avoidance or local obstacle avoidance based on the current position information of the robot and/or whether the local obstacle avoidance points meet the preset conditions.
- the robot's current position information and/or local obstacle avoidance point meets preset conditions, including at least one of the following: the angle difference between the robot's driving angle and the target angle is greater than the preset angle difference; the lateral distance between the robot's current driving path and the preset driving path is greater than the preset lateral distance; the distance between the local obstacle avoidance point and the robot is less than or equal to the robot's braking distance.
- the angle difference between the robot's driving angle and the target angle refers to the angle difference between the robot's current body posture and the robot's target body posture.
- the preset angle difference e.g. 3 degrees
- the robot's driving direction deviates greatly from the direction corresponding to the driving path.
- the obstacle point in the global obstacle avoidance area is far away from the robot and will not affect the operation of the robot.
- the robot can perform local obstacle avoidance, that is, determine the local obstacle avoidance point as the target obstacle avoidance point.
- the robot When the lateral distance between the robot's current driving path and the preset driving path is greater than the preset lateral distance (e.g., 3 cm), it means that the robot's current driving path is parallel to the preset driving path, that is, the obstacle point in the global obstacle avoidance area will not affect the operation of the robot. Therefore, the robot performs local obstacle avoidance, that is, determines the local obstacle avoidance point as the target obstacle avoidance point.
- the preset lateral distance e.g. 3 cm
- the robot determines the local obstacle avoidance point as the target obstacle avoidance point and performs obstacle avoidance processing in time to avoid collision with the local obstacle avoidance point.
- the candidate obstacle avoidance points include local obstacle avoidance points and the candidate obstacle avoidance points include global obstacle avoidance points
- a first position relationship between the local obstacle avoidance points and the global obstacle avoidance area is determined, and based on the first position relationship and the current position information of the robot, the target obstacle avoidance point is determined.
- the first positional relationship between the local obstacle avoidance point and the global obstacle avoidance area is used to indicate whether the local obstacle avoidance point is within the global obstacle avoidance area.
- determining the target obstacle avoidance point based on the first position relationship includes: when the first position relationship indicates that the local obstacle avoidance point is outside the global obstacle avoidance area, projecting the global obstacle avoidance point along the first direction into the local obstacle avoidance area determines it as the target obstacle avoidance point.
- the global obstacle avoidance point obstacle_A is projected along the X-axis direction of the global coordinate system to the left boundary of the local obstacle avoidance area of the robot to obtain the projection point obstacle_A', which is determined as the target obstacle avoidance point.
- determining the target obstacle avoidance point includes: determining a projection point of the global obstacle avoidance point along a first direction into the local obstacle avoidance area when the first position relationship indicates that the local obstacle avoidance point is located within the global obstacle avoidance area; and determining the target obstacle avoidance point based on the projection point, the local obstacle avoidance point and the current position information of the robot.
- the global obstacle avoidance point obstacle_A is projected along the X-axis direction of the global coordinate system to the left boundary of the local obstacle avoidance area of the robot to obtain the projection point obstacle_A', and then based on the current position information of the robot, the projection point obstacle_A' and the local obstacle avoidance point obstacle_B are compared, and the target obstacle avoidance point is determined from the projection point obstacle_A' and the local obstacle avoidance point obstacle_B.
- determining the target obstacle avoidance point includes: determining a first distance between the projection point and the robot, and determining a second distance between the local obstacle avoidance point and the robot. If the first distance is less than the second distance, the projection point is determined as the target obstacle avoidance point; if the first distance is greater than the second distance, the local obstacle avoidance point is determined as the target obstacle avoidance point.
- the first distance between the projection point and the robot can be determined based on the coordinates of the projection point in the global coordinate system and the coordinates of the robot in the global coordinate system; the second distance between the local obstacle avoidance point and the robot can be determined based on the coordinates of the local obstacle avoidance point in the global coordinate system and the coordinates of the robot in the global coordinate system; or, the first distance between the projection point and the robot can be determined based on the coordinates of the projection point in the local coordinate system and the coordinates of the robot in the local coordinate system; the second distance between the local obstacle avoidance point and the robot can be determined based on the coordinates of the local obstacle avoidance point in the local coordinate system and the coordinates of the robot in the local coordinate system.
- the first distance is less than the second distance, it means that the distance between the projection point and the robot is less than the distance between the local obstacle avoidance point and the robot, that is, the projection point is closer to the robot. In this case, the projection point is determined as the target obstacle avoidance point so that the robot can perform obstacle avoidance in a timely manner. If the first distance is greater than the second distance, it means that the distance between the local obstacle avoidance point and the robot is greater than the distance between the projection point and the robot, that is, the local obstacle avoidance point is closer to the robot. In this case, the local obstacle avoidance point is determined as the target obstacle avoidance point so that the robot can perform obstacle avoidance in a timely manner.
- the projection point obstacle_A’ is determined to be the target obstacle avoidance point.
- the candidate obstacle avoidance points include local obstacle avoidance points and the candidate obstacle avoidance points include global obstacle avoidance points
- a second position relationship between the global obstacle avoidance point and the local obstacle avoidance area is determined, and based on the second position relationship, the target obstacle avoidance point is determined.
- the second positional relationship between the global obstacle avoidance point and the local obstacle avoidance area is used to indicate whether the global obstacle avoidance point is within the local obstacle avoidance area.
- determining the target obstacle avoidance point includes: when the second position relationship indicates that the global obstacle avoidance point is located in the local obstacle avoidance area, respectively determining the distances between the global obstacle avoidance point and the local obstacle avoidance point and the robot; and determining the obstacle avoidance point that is closest to the robot among the global obstacle avoidance point and the local obstacle avoidance point as the target obstacle avoidance point.
- the local obstacle avoidance area has local obstacle avoidance points obstacle_B and local obstacle avoidance points obstacle_C, and the local obstacle avoidance points obstacle_B and local obstacle avoidance points obstacle_C are both in the global obstacle avoidance area.
- the distances between the global obstacle avoidance point obstacle_A, the local obstacle avoidance point obstacle_B, and the local obstacle avoidance point obstacle_C and the robot are determined respectively. If the local obstacle avoidance point obstacle_B is closest to the robot, the local obstacle avoidance point obstacle_B is determined as the target obstacle avoidance point.
- the target obstacle avoidance point is determined based on the local obstacle avoidance points and the current position of the robot.
- the candidate obstacle avoidance points include the local obstacle avoidance points and the candidate obstacle avoidance points do not include the global obstacle avoidance points, which means that there is no global obstacle avoidance point in the global obstacle avoidance area, but there is a local obstacle avoidance point in the local obstacle avoidance area.
- the distance between the local obstacle avoidance point and the robot is determined, and whether the local obstacle avoidance point is the target obstacle avoidance point is determined by the distance between the local obstacle avoidance point and the robot.
- the local obstacle avoidance point is determined as the target obstacle avoidance point; if the distance between the local obstacle avoidance point and the robot is greater than the braking distance of the robot, the preset obstacle avoidance point is determined as the target obstacle point.
- the distance between the preset obstacle avoidance point and the robot is always greater than the robot's braking distance.
- the local obstacle avoidance point obstacle_A is determined as the target obstacle avoidance point to ensure that the robot avoids obstacles in time and avoids the robot from colliding with the local obstacle avoidance point obstacle_A during operation.
- the robot does not need to perform obstacle avoidance processing at this time, and the preset obstacle avoidance point is determined as the target obstacle point to ensure the operation efficiency of the robot.
- a preset obstacle avoidance point is determined as the target obstacle point.
- the candidate obstacle avoidance points do not include local obstacle avoidance points and global obstacle avoidance points, which means that there are no obstacle points in the global obstacle avoidance area and the local obstacle avoidance area.
- the robot does not need to perform obstacle avoidance processing, and the preset obstacle avoidance points are determined as target obstacle points to ensure the operating efficiency of the robot.
- S205 Determine whether to perform obstacle avoidance processing based on the target obstacle avoidance point and the current position information of the robot.
- the distance between the target obstacle avoidance point and the robot is determined; then, based on the distance between the target obstacle avoidance point and the robot, it is determined whether to perform obstacle avoidance processing.
- the distance between the target obstacle avoidance point and the robot can be determined based on the coordinates of the robot in the global coordinate system and the coordinates of the target obstacle avoidance point in the global coordinate system; or, the distance between the target obstacle avoidance point and the robot can be determined based on the coordinates of the robot in the local coordinate system and the coordinates of the target obstacle avoidance point in the local coordinate system.
- S205 includes: if the distance between the target obstacle avoidance point and the robot is less than or equal to the braking distance of the robot, obstacle avoidance processing is performed; if the distance between the target obstacle avoidance point and the robot is greater than the braking distance of the robot, obstacle avoidance processing is not performed.
- the distance between the target obstacle avoidance point and the robot is less than or equal to the braking distance of the robot, it means that if the robot does not slow down or brake, it will collide with the target obstacle avoidance point, and obstacle avoidance processing is performed at this time.
- the robot performing obstacle avoidance processing means that the robot slows down or stops running, wherein the robot can determine the deceleration rate during deceleration based on the distance between the target obstacle avoidance point and the robot.
- the shorter the distance between the target obstacle avoidance point and the robot the greater the deceleration of the robot when decelerating.
- an obstacle avoidance instruction may be generated.
- the obstacle avoidance instruction is used to instruct the staff to remove the target obstacle avoidance point.
- the robot detects that the target obstacle avoidance point has been removed, the robot will continue to drive according to the driving path.
- the embodiment of the present disclosure also provides a robot obstacle avoidance device for implementing the robot obstacle avoidance method involved above.
- the implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more robot obstacle avoidance device embodiments provided below can refer to the limitations of the robot obstacle avoidance method above, and will not be repeated here.
- Figure 14 is a schematic diagram of the structure of a robot obstacle avoidance device in the embodiment of the present disclosure. As shown in Figure 14, the device includes:
- the processing module 1401 is configured to determine a global obstacle avoidance area and a local obstacle avoidance area based on the current position information of the robot; the global obstacle avoidance area is the obstacle avoidance area in front of the robot when the robot body posture is not skewed, and the local obstacle avoidance area is the obstacle avoidance area in front of the robot when the robot body posture is skewed;
- the processing module 1401 is also configured to determine candidate obstacle avoidance points based on the global obstacle point detection results and the local obstacle point detection results, the candidate obstacle avoidance points including global obstacle avoidance points and/or local obstacle avoidance points, the global obstacle avoidance points being obstacle points on the driving path that are located within the global obstacle avoidance area, and the local obstacle avoidance points being obstacle points on the driving path that are located within the local obstacle avoidance area; determine the target obstacle avoidance points based on whether the candidate obstacle avoidance points include the local obstacle avoidance points and/or the global obstacle avoidance points; and determine whether to perform obstacle avoidance processing based on the target obstacle avoidance points and the current position information of the robot.
- the processing module 1401 is also configured to determine the global obstacle avoidance area based on the current position information of the robot in the global coordinate system and the preset obstacle avoidance area size; and determine the local obstacle avoidance area based on the current position information of the robot in the local coordinate system and the preset obstacle avoidance area size.
- the acquisition module 1402 is further configured to acquire the position information of at least one obstacle point; the processing module 1401 is further configured to determine a global obstacle point detection result based on the position information of the obstacle point and the global obstacle avoidance area; the global obstacle point detection result is configured to indicate whether there is an obstacle point in the global obstacle avoidance area; the local obstacle point detection result is determined based on the position information of the obstacle point and the local obstacle avoidance area; the local obstacle point detection result is configured to indicate whether there is an obstacle point in the local obstacle avoidance area.
- the processing module 1401 is further configured to determine a global obstacle avoidance point in at least one first obstacle point based on the current position information of the robot when the global obstacle point detection result indicates that there is at least one first obstacle point in the global obstacle avoidance area; and/or to determine a local obstacle avoidance point in at least one second obstacle point based on the current position information of the robot when the local obstacle point detection result indicates that there is at least one second obstacle point in the local obstacle avoidance area.
- the processing module 1401 is further configured to determine the distance between each first obstacle point and the robot based on the current position information of the robot; and determine the first obstacle point closest to the robot as the global obstacle avoidance point.
- the processing module 1401 is further configured to determine the distance between each second obstacle point and the robot based on the current position information of the robot; and determine the second obstacle point closest to the robot as the local obstacle avoidance point.
- the processing module 1401 is further configured to determine the projection point of the global obstacle avoidance point along the first direction into the local obstacle avoidance area as the target obstacle avoidance point when the candidate obstacle avoidance points do not include the local obstacle avoidance point and the candidate obstacle avoidance points include the global obstacle avoidance point.
- the processing module 1401 is further configured to, when the candidate obstacle avoidance points include local obstacle avoidance points and the candidate obstacle avoidance points include global obstacle avoidance points, determine the local obstacle avoidance point as the target obstacle avoidance point if the current position information and/or the local obstacle avoidance point of the robot meets the preset conditions; if the current position information and/or the local obstacle avoidance point of the robot does not meet the preset conditions, determine a first position relationship between the local obstacle avoidance point and the global obstacle avoidance area, and determine the target obstacle avoidance point based on the first position relationship and the current position information of the robot; or, if the current position information and/or the local obstacle avoidance point of the robot does not meet the preset conditions, determine a second position relationship between the global obstacle avoidance point and the local obstacle avoidance area, and determine the target obstacle avoidance point based on the second position relationship.
- the robot's current position information and/or local obstacle avoidance point meet preset conditions, including at least one of the following: the angle difference between the robot's driving angle and the target angle is greater than the preset angle difference; the lateral distance between the robot's current driving path and the preset driving path is greater than the preset lateral distance; the distance between the local obstacle avoidance point and the robot is less than or equal to the robot's braking distance.
- the processing module 1401 is further configured to determine a projection point of the global obstacle avoidance point projected along the first direction into the local obstacle avoidance area as a target obstacle avoidance point when the first position relationship indicates that the local obstacle avoidance point is outside the global obstacle avoidance area.
- the processing module 1401 is also configured to determine a projection point of the global obstacle avoidance point along a first direction into the local obstacle avoidance area when the first position relationship indicates that the local obstacle avoidance point is located in the global obstacle avoidance area; and determine the target obstacle avoidance point based on the projection point, the local obstacle avoidance point and the current position information of the robot.
- the processing module 1401 is also configured to determine a first distance between the projection point and the robot; determine a second distance between the local obstacle avoidance point and the robot; if the first distance is less than the second distance, determine the projection point as the target obstacle avoidance point; if the first distance is greater than the second distance, determine the local obstacle avoidance point as the target obstacle avoidance point.
- the processing module 1401 is also configured to determine the distances between the global obstacle avoidance point and the local obstacle avoidance point and the robot respectively when the second position relationship indicates that the global obstacle avoidance point is located in the local obstacle avoidance area; and determine the obstacle avoidance point that is closest to the robot among the global obstacle avoidance point and the local obstacle avoidance point as the target obstacle avoidance point.
- the processing module 1401 is further configured to perform obstacle avoidance processing if the distance between the target obstacle avoidance point and the robot is less than or equal to the braking distance of the robot; if the distance between the target obstacle avoidance point and the robot is greater than the braking distance of the robot, no obstacle avoidance processing is performed.
- the processing module 1401 is further configured to determine the target obstacle avoidance point based on the local obstacle avoidance point and the current position of the robot when the candidate obstacle avoidance point includes the local obstacle avoidance point and the candidate obstacle avoidance point does not include the global obstacle avoidance point.
- the processing module 1401 is further configured to determine the local obstacle avoidance point as the target obstacle avoidance point if the distance between the local obstacle avoidance point and the robot is less than or equal to the braking distance of the robot; if the distance between the local obstacle avoidance point and the robot is greater than the braking distance of the robot, determine the preset obstacle avoidance point as the target obstacle point, and the distance between the preset obstacle avoidance point and the robot is always greater than the braking distance of the robot.
- the processing module 1401 is also configured to determine a preset obstacle avoidance point as the target obstacle point when the candidate obstacle avoidance points do not include local obstacle avoidance points and global obstacle avoidance points, and the distance between the preset obstacle avoidance point and the robot is greater than the braking distance of the robot.
- the processing module 1401 is also configured to determine the position information of the obstacle point in the global coordinate system based on the position information of the obstacle point in the local coordinate system, the current position information of the robot in the local coordinate system, and the position posture angle of the robot; and determine the global obstacle point detection result based on the position information of the obstacle point in the global coordinate system and the global obstacle avoidance area.
- the processing module 1401 is further configured to determine a local obstacle point detection result based on the position information of the obstacle point in the local coordinate system and the local obstacle avoidance area.
- the robot includes a processor, a memory, a communication interface, a display screen and an input device connected through a system bus.
- the processor of the robot is used to provide computing and control capabilities.
- the memory of the robot includes a non-volatile storage medium and an internal memory.
- the non-volatile storage medium stores an operating system and a computer program.
- the internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium.
- the communication interface of the robot is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be achieved through WIFI, an operator network, NFC (near field communication) or other technologies.
- the display screen of the robot can be a liquid crystal display screen or an electronic ink display screen
- the input device of the robot can be a touch layer covered on the display screen, or a button, trackball or touchpad set on the robot shell, or an external keyboard, touchpad or mouse, etc.
- the electronic device can be a server.
- the electronic device includes a processor, a memory and a network interface connected through a system bus.
- the processor of the electronic device is used to provide computing and control capabilities.
- the memory of the electronic device includes a non-volatile storage medium and an internal memory.
- the non-volatile storage medium stores an operating system, a computer program and a database.
- the internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium.
- the database of the electronic device is used to store height parameters and three-dimensional map data.
- the network interface of the electronic device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a robot obstacle avoidance method is implemented.
- FIGS. 15 and 16 are merely block diagrams of partial structures related to the scheme of the present disclosure, and do not constitute limitations on the robots and electronic devices to which the scheme of the present disclosure is applied.
- Specific robots and electronic devices may include more or fewer components than shown in the figures, or combine certain components, or have different arrangements of components.
- an embodiment of the present disclosure provides an electronic device, including a processor and a memory, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, the steps of the method in any of the above embodiments are implemented.
- an embodiment of the present disclosure provides a computer-readable storage medium on which a computer program is stored.
- the computer program is executed by a processor, the steps of the method in any of the above embodiments are implemented.
- an embodiment of the present disclosure provides a computer program product, including a computer program, which implements the steps of the method in any of the above embodiments when executed by a processor.
- the user information including but not limited to user device information, user personal information, etc.
- data including but not limited to data for analysis, stored data, displayed data, etc.
- a person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium.
- the computer program When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods.
- any reference to memory, database or other media used in the embodiments provided in this disclosure may include at least one of non-volatile and volatile memory.
- the non-volatile memory may include a read-only memory (ROM), a magnetic tape, a floppy disk, a flash memory, an optical memory, a high-density embedded non-volatile memory, a resistive random access memory (ReRAM), a magnetic random access memory (MRAM), a ferroelectric random access memory (FRAM), a phase change memory (PCM), a graphene memory, etc.
- the volatile memory may include a random access memory (RAM) or an external cache memory, etc.
- RAM may be in various forms, such as a static random access memory (SRAM) or a dynamic random access memory (DRAM), etc.
- the database involved in each embodiment provided in the present disclosure may include at least one of a relational database and a non-relational database.
- the non-relational database may include a distributed database based on blockchain, etc., but is not limited thereto.
- the processor involved in each embodiment provided in the present disclosure may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic unit, a data processing logic unit based on quantum computing, etc., but is not limited thereto.
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
Abstract
一种机器人避障方法、装置、设备和可读存储介质;其中,机器人避障方法包括:先基于机器人的当前位置信息确定全局避障区域和局部避障区域(S201);之后,获取全局避障区域内的全局障碍点检测结果和局部避障区域内的局部障碍点检测结果(S202);以根据全局障碍点检测结果和局部障碍点检测结果确定候选避障点(S203);其中,候选避障点包括全局避障点和/或局部避障点;最后,基于候选避障点,确定目标避障点(S204),基于目标避障点和机器人的当前位置信息,确定是否进行避障处理(S205)。
Description
本申请要求于2023年12月01日提交的申请号为202311629884.2的中国专利公开的优先权,其全部内容通过引用结合在本申请中。
本公开涉及智能仓储领域,涉及一种机器人避障方法、装置、设备和可读存储介质。
在机器人对货架或目标货物进行搬运的过程中,机器人会判断前方避障区域内是否存在障碍点。当障碍点出现在机器人前方的避障区域内时,机器人会根据当前位置信息与障碍点之间的距离进行避障减速,保障机器人安全。
本公开实施例提供了一种机器人避障方法、装置、设备和可读存储介质。
根据本公开实施例的第一方面,提供了一种机器人避障方法,包括:首先,基于机器人的当前位置信息,确定全局避障区域和局部避障区域;其中,全局避障区域为机器人本体姿态未出现歪斜时机器人前方的避障区域,局部避障区域为机器人本体姿态出现歪斜时机器人前方的避障区域;然后,获取全局避障区域内的全局障碍点检测结果和局部避障区域内的局部障碍点检测结果;再然后,根据全局障碍点检测结果和局部障碍点检测结果,确定候选避障点,其中,候选避障点包括全局避障点和/或局部避障点;全局避障点为行驶路径上位于全局避障区域内的障碍点,局部避障点为行驶路径上位于局部避障区域内的障碍点;最后,基于候选避障点是否包括所述局部避障点和/或所述全局避障点,确定目标避障点,并基于目标避障点和机器人的当前位置信息,确定是否进行避障处理。
在一种可选择的实施例中,基于机器人的当前位置信息,确定全局避障区域和局部避障区域,包括:
基于机器人在全局坐标系下的当前位置信息和预设避障区域尺寸,确定全局避障区域;基于机器人在局部坐标系下的当前位置信息和预设避障区域尺寸,确定局部避障区域。
在一种可选择的实施例中,获取全局避障区域内的全局障碍点检测结果和局部避障区域内的局部障碍点检测结果,包括:
获取至少一个障碍点的位置信息;基于障碍点的位置信息和全局避障区域,确定全局障碍点检测结果;全局障碍点检测结果用于指示全局避障区域内是否存在障碍点;基于障碍点的位置信息和局部避障区域,确定局部障碍点检测结果;局部障碍点检测结果用于指示局部避障区域内是否存在障碍点。
在一种可选择的实施例中,所述根据所述全局障碍点检测结果和所述局部障碍点检测结果,确定候选避障点,包括:
在全局障碍点检测结果指示全局避障区域存在至少一个第一障碍点时,基于机器人的当前位置信息,在至少一个第一障碍点中确定全局避障点;和/或,在局部障碍点检测结果指示局部避障区域存在至少一个第二障碍点时,基于机器人的当前位置信息,在至少一个第二障碍点中确定局部避障点。
在一种可选择的实施例中,基于机器人的当前位置信息,在至少一个第一障碍点中确定全局避障点,包括:
基于机器人的当前位置信息,确定各第一障碍点与机器人之间的距离;将距离机器人最近的第一障碍点确定为全局避障点。
在一种可选择的实施例中,基于机器人的当前位置信息,在至少一个第二障碍点中确定局部避障点,包括:
基于机器人的当前位置信息,确定各第二障碍点与机器人之间的距离;将距离机器人最近的第二障碍点确定为局部避障点。
在一种可选择的实施例中,基于候选避障点,确定目标避障点,包括:
在所述候选避障点不包括所述局部避障点,且,所述候选避障点包括所述全局避障点的情况下,将所述全局避障点沿第一方向投影至所述局部避障区域内的投影点确定为所述目标避障点。
在一种可选择的实施例中,基于候选避障点,确定目标避障点,包括:
在候选避障点包括局部避障点,且,候选避障点包括全局避障点的情况下,若机器人的当前位置信息和/或局部避障点满足预设条件,则将局部避障点确定为目标避障点;若机器人的当前位置信息和/或局部避障点不满足预设条件,则确定局部避障点与全局避障区域的第一位置关系,并基于第一位置关系和机器人的当前位置信息,确定目标避障点;或者,若机器人的当前位置信息和/或局部避障点不满足预设条件,则确定全局避障点与局部避障区域的第二位置关系,并基于第二位置关系,确定目标避障点。
在一种可选择的实施例中,机器人的当前位置信息和/或局部避障点满足预设条件,包括以下至少一项:
机器人的行驶角度与目标角度之间的角度差大于预设角度差;机器人的当前行驶路径与预设行驶路径之间的横向距离大于预设横向距离;局部避障点与机器人之间的距离小于或等于机器人的刹车距离。
在一种可选择的实施例中,基于第一位置关系,确定目标避障点,包括:
在第一位置关系指示局部避障点位于全局避障区域外的情况下,将全局避障点沿第一方向投影至局部避障区域内的投影点确定为目标避障点。
在一种可选择的实施例中,基于第一位置关系,确定目标避障点,包括:
在第一位置关系指示局部避障点位于全局避障区域内的情况下,确定全局避障点沿第一方向投影至局部避障区域内的投影点;基于投影点、局部避障点和机器人的当前位置信息,确定目标避障点。
在一种可选择的实施例中,基于投影点、局部避障点和机器人的当前位置信息,确定目标避障点,包括:
确定投影点与机器人之间的第一距离;确定局部避障点与机器人之间的第二距离;若第一距离小于第二距离,则将投影点确定为目标避障点;若第一距离大于第二距离,则将局部避障点确定为目标避障点。
在一种可选择的实施例中,基于第二位置关系,确定目标避障点,包括:
在第二位置关系指示全局避障点位于局部避障区域内的情况下,分别确定全局避障点和局部避障点与机器人之间的距离;将全局避障点和局部避障点中,距离机器人最近的避障点确定为目标避障点。
在一种可选择的实施例中,基于目标避障点和机器人的当前位置信息,确定是否进行避障处理,包括:
若目标避障点与机器人之间的距离小于或等于机器人的刹车距离,则进行避障处理;若目标避障点与机器人之间的距离大于机器人的刹车距离,则不进行避障处理。
在一种可选择的实施例中,基于候选避障点,确定目标避障点,包括:
在候选避障点包括局部避障点,且,候选避障点不包括全局避障点的情况下,基于局部避障点与机器人的当前位置确定目标避障点。
在一种可选择的实施例中,基于局部避障点与机器人的当前位置确定目标避障点,包括:
若局部避障点与机器人之间的距离小于或等于机器人的刹车距离,则确定局部避障点为目标避障点;若局部避障点与机器人之间的距离大于机器人的刹车距离,则将预设避障点确定为目标障碍点,预设避障点与机器人之间的距离始终大于机器人的刹车距离。
在一种可选择的实施例中,基于候选避障点,确定目标避障点,包括:
在候选避障点不包括局部避障点和全局避障点的情况下,将预设避障点确定为目标障碍点,预设避障点与机器人之间的距离大于机器人的刹车距离。
在一种可选择的实施例中,基于障碍点的位置信息和全局避障区域,确定全局障碍点检测结果,包括:
基于障碍点在局部坐标系下的位置信息、机器人在局部坐标系下的当前位置信息以及机器人的位置姿态角度,确定障碍点在全局坐标系中的位置信息;基于障碍点在全局坐标系中的位置信息和全局避障区域,确定全局障碍点检测结果。
在一种可选择的实施例中,基于障碍点的位置信息和局部避障区域,确定局部障碍点检测结果,包括:
基于障碍点在局部坐标系下的位置信息和局部避障区域,确定局部障碍点检测结果。
根据本公开实施例的第二方面,提供了一种机器人避障装置,包括:
处理模块,被配置为基于机器人的当前位置信息,确定全局避障区域和局部避障区域;
获取模块,被配置为获取全局避障区域内的全局障碍点检测结果和局部避障区域内的局部障碍点检测结果;
处理模块,还被配置为根据全局障碍点检测结果和局部障碍点检测结果,确定候选避障点,候选避障点包括全局避障点和/或局部避障点;基于候选避障点,确定目标避障点;基于目标避障点和机器人的当前位置信息,确定是否进行避障处理。
根据本公开实施例的第三方面,提供了一种电子设备,包括存储器和处理器,存储器存储有计算机程序,其特征在于,处理器执行计算机程序时实现第一方面任一实现方式中的方法。
根据本公开实施例的第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储计算机指令,计算机程序被处理器执行时实现第一方面任一实现方式中的方法。
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本公开实施例提供的一种机器人避障方法的应用场景的示意图;
图2为本公开实施例提供的一种机器人避障方法的流程示意图;
图3为本公开实施例提供的一种机器人避障方法中全局避障区域与局部避障区域的位置示意图;
图4A为本公开实施例提供的一种机器人避障方法中局部坐标系和全局坐标系的示意图;
图4B为本公开实施例提供的一种机器人避障方法中避障区域的示意图;
图5为本公开实施例提供的另一种机器人避障方法的流程示意图;
图6为本公开实施例提供的又一种机器人避障方法的流程示意图;
图7为本公开实施例提供的又一种机器人避障方法的流程示意图;
图8为本公开实施例提供的又一种机器人避障方法的流程示意图;
图9为本公开实施例提供的一种候选避障点的位置示意图;
图10为本公开实施例提供的另一种候选避障点的位置示意图;
图11为本公开实施例提供的又一种候选避障点的位置示意图;
图12为本公开实施例提供的又一种候选避障点的位置示意图;
图13为本公开实施例提供的又一种候选避障点的位置示意图;
图14为本公开实施例提供的一种机器人避障装置的结构示意图;
图15为本公开实施例提供的一种机器人的内部结构示意图;
图16为本公开实施例提供的一种电子设备的结构示意图。
为了使本技术领域的人员更好地理解本公开实施例中的技术方案,并使本公开实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本公开实施例中的技术方案作进一步详细的说明。
在机器人对货架或目标货物进行搬运的过程中,机器人会判断前方避障区域内是否存在障碍点。当障碍点出现在机器人前方的避障区域内时,机器人会根据当前位置信息与障碍点之间的距离进行避障减速,保障机器人安全。
但是,机器人(如,拣选机器人)按照行驶路径行驶的过程中可能会因为外部因素(如,控制精度存在误差、雷达精度受限),导致机器人本体姿态出现歪斜。
在一些实施例中,当机器人本体姿态出现歪斜时,会检测到行驶路径以外的障碍点,若机器人根据该障碍点进行避障减速时,可能出现误避障的情况,影响机器人的运行效率。
示例性地,机器人本体姿态出现歪斜时,机器人会一边行驶一边调整本体姿态,以将机器人本体姿态调整至目标本体姿态(机器人本体姿态未出现歪斜时的姿态);因此,机器人在实际运行过程中,可能并不会与检测到的位于行驶路径以外的障碍点发生接触;此时,若基于该行驶路径以外的障碍点进行避障,将出现误避障的情况。
另外,机器人在行驶的过程中,机器人可能检测不到位于机器人前方的避障区域边缘的障碍点,导致机器人在行驶过程中可能会与避障区域边缘的障碍点发生碰撞,导致机器人运行的安全性较低。
基于此,本公开提供一种机器人避障方法,使得机器人在行驶的过程中,不仅能够检测到机器人本体姿态出现歪斜时机器人前方的避障区域(局部避障区域)以内的障碍点,还能检测到机器人本体姿态正常(未出现歪斜)时机器人前方的避障区域(全局避障区域)以内的障碍点,即将全局避障与局部避障相结合;如此,能够提高机器人的避障精度,减少机器人的误避障情况,提高机器人的运行效率和运行流畅度;且这样还能够降低机器人与避障点发生碰撞的概率,提高机器人的安全性。
在对本公开实施例的技术方案说明之前,首先结合附图对本公开实施例的应用场景进行说明。如图1所示,该应用场景中包括控制装置11、机器人12、存储区13和工作站14。仓库中包括至少一个机器人12、存储区13和至少一个工作站14。其中,存储区13用于放置货物,货物存放在库存容器(如,货箱、可移动载具、托盘、周转箱或原箱)内。控制装置11通过网络与机器人12进行通信。
在一些实施例中,机器人也可以被称为可移动设备或者搬运设备。机器人可以是搬运机器人,如,自动导向车(Automated Guided Vehicle,AGV)。例如,搬运机器人可以托着目标物从当前位置移动至目标位置。其中,目标物可以包括待处理订单中的目标货物、目标货物所在的容器、目标货物所在的料箱,或者放置目标货物的原箱,本公开实施例对此不作限定。下述实施例以目标物为目标货物为例进行示意性说明。
示例性地,控制装置11向机器人12发送搬运指令,搬运指令包括行驶路径。
例如,以行驶路径的起点为存储区13中放置目标货物的货位A,终点为工作站P1为例,当机器人12接收搬运指令后,基于该搬运指令移动至货位A处以获取目标货物,并按照行驶路径将目标货物搬移至工作站P1,由工作站P1处的工作人员或拣货设备对目标货物进行拣选。
再例如,以行驶路径的起点为工作站P1,终点为存储区13中的货位A为例,当机器人12接收搬运指令后,基于该搬运指令移动至工作站P1以获取目标货物,并按照行驶路径将目标货物搬移至货位A。在机器人按照行驶路径对目标货物进行搬运的过程中,机器人会根据预设检测频率或者实时对避障区域中的障碍物进行检测以及时避障。
在一些实施例中,机器人12搬运目标货物时可以直接搬运目标货物(如,将目标货物放置在机器人12上进行搬运),也可以对存放有目标货物的库存容器(如,货箱、托盘、周转箱或原箱)进行搬运,还可以对存放有目标货物的可移动载具(例如,货架)进行搬运。本公开实施例对于机器人搬运目标货物的方式不作限定,在仓储系统的不同应用场景中,机器人搬运目标货物的方式可以不同。在一些实施例中,机器人搬运目标货物的方式与机器人的类型有关。
在一些实施例中,控制装置11可以部署在终端设备或者服务器上。终端设备可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备等电子设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。下述实施例以控制装置11部署在电子设备上为例进行示例性说明。
图2示出了一种机器人避障方法的流程示意图。如图2所示,本公开实施例提供了一种机器人避障方法,包括S201-S205。
S201、基于机器人的当前位置信息,确定全局避障区域和局部避障区域。
其中,全局避障区域为机器人本体姿态未出现歪斜时机器人前方的避障区域,局部避障区域为机器人本体姿态出现歪斜时机器人前方的避障区域。
在一些实施例中,机器人的当前位置信息表征机器人在仓库中的坐标信息。
示例性地,机器人可以通过识别仓库中设置的位置标识(如,二维码),确定机器人的当前位置信息;机器人也可以通过识别仓库中设置的位置标识,发送位置标识对应的标识信息至控制装置,由控制装置基于机器人发送的标识信息确定机器人在仓库中的坐标信息;之后,机器人通过控制装置获取机器人的当前位置信息。本公开实施例对确定机器人的当前位置信息的方式不作限定。
在一些实施例中,控制装置根据订单信息确定行驶路径的起点和终点,并基于行驶路径的起点和终点规划行驶路径;之后,基于行驶路径生成搬运指令,搬运指令用于指示机器人按照行驶路径运行。全局避障区域指机器人按照行驶路径运行的过程中,机器人为目标本体姿态(本体姿态未发生歪斜)时机器人前方的避障区域;局部避障区域指机器人按照行驶路径运行的过程中,机器人的本体姿态发生歪斜时机器人前方的避障区域。
示例性地,如图3所示,机器人沿行驶路径行驶的过程中,若机器人的本体姿态出现歪斜,则机器人的避障区域将由避障区域1(图3中虚线框框选的区域)变为避障区域2(图3中实线框框选的区域)。其中,避障区域1即为全局避障区域,避障区域2即为局部避障区域。
在一些实施例中,机器人的当前位置信息包括机器人在局部坐标系下的当前位置信息和机器人在全局坐标系下的当前位置信息中的至少一项。
需要说明的是,机器人在局部坐标系下的当前位置信息与机器人在全局坐标系下的当前位置信息之间可以进行互换。即当机器人在局部坐标系下的当前位置信息为已知信息时,可以基于全局坐标系和局部坐标系,对机器人在局部坐标系下的当前位置信息进行坐标系转换,以得到机器人在全局坐标系下的当前位置信息;当机器人在全局坐标系下的当前位置信息为已知信息时,可以基于全局坐标系和局部坐标系,对机器人在全局坐标系下的当前位置信息进行坐标系转换,以得到机器人在局部坐标系下的当前位置信息。
在一些实施例中,基于机器人在全局坐标系下的当前位置信息和预设避障区域尺寸,确定全局避障区域。
示例性地,图4A示出了局部坐标系和全局坐标系;如图4A所示,全局坐标系可以为以机器人根据行驶路径行驶过的历史区域中的任意一点为原点(图4A中的点O),机器人的行驶路径的长度方向为Y轴,以及垂直于Y轴的方向为X轴构建的坐标系X-O-Y。
在一些实施例中,预设避障区域尺寸为预设数值,该预设避障区域可以存储在机器人的存储模块中,也可以存储在控制装置中。即机器人可以通过机器人的存储模块获取预设避障区域尺寸,也可以从控制装置中请求获取预设避障区域尺寸。本公开实施例对此不作限定。
需要说明的是,机器人包括多种型号,不同型号的机器人对应的规格、功能和避障区域尺寸可以相同也可以不同。本公开实施例对此不作限定。
另外,机器人的避障区域的形状可以是矩形,也可以是圆形;本公开实施例对机器人的避障区域的形状不作限定。下述实施例中将以机器人的避障区域为设置在机器人前方的矩形区域为例进行示例性说明。
示例性地,图4B示出了一种避障区域,如图4B所述,避障区域的长度可以为行驶路径长度(obs_length),即起始点(start_point)至终止点(end_point)之间的距离;避障区域的宽度可以为机器人宽度(obs_width)。
在一些实施例中,可以基于公式1-公式4分别计算得到全局避障区域的左边界x_left、右边界x_right、上边界y_up和下边界y_down,公式1-公式4分别如下所示:
x_left=X-obs_width/2 公式1
x_right=X+obs_width/2 公式2
y_up=Y+robot_length/2+obs_length 公式3
y_down=Y+robot_length/2 公式4
x_left=X-obs_width/2 公式1
x_right=X+obs_width/2 公式2
y_up=Y+robot_length/2+obs_length 公式3
y_down=Y+robot_length/2 公式4
其中,robot_length为机器人的长度,(X,Y)为机器人在全局坐标系中的坐标。
在一些实施例中,基于机器人在局部坐标系下的当前位置信息和预设避障区域尺寸,确定局部避障区域。
示例性地,如图4A所示,局部坐标系可以为以机器人(机器人当前位置信息)为原点(图4A中的点o),机器人的本体姿态歪斜时朝向的方向(即机器人当前的实际运行方向)为y轴,以及垂直于y轴的方向为x轴构建的坐标系x-o-y。
在一些实施例中,将公式1-公式4中机器人在全局坐标系下的当前位置信息替换为机器人在局部坐标系下的当前位置信息,即将公式1-公式4中机器人在全局坐标系下的坐标(X,Y)替换为机器人在局部坐标系下的坐标(x,y),即可基于机器人在局部坐标系下的当前位置信息和预设避障区域尺寸确定局部避障区域。
需要说明的是,由于全局避障区域为机器人的本体姿态未产生歪斜时对应的避障区域,而局部避障区域为机器人的本体姿态产生歪斜时对应的避障区域;因此,若机器人的本体姿态歪斜θ度时,全局避障区域的左边界(右边界)与局部避障区域的左边界(右边界)之间将形成一角度为θ度的夹角。
在一些实施例中,局部坐标系和全局坐标系可以由机器人基于机器人的当前位置信息和行驶路径进行构建,也可以由控制装置基于机器人的当前位置信息和行驶路径进行构建后发送至机器人。本公开实施例对此不作限定。
S202、获取全局避障区域内的全局障碍点检测结果和局部避障区域内的局部障碍点检测结果。
在一些实施例中,全局障碍点为行驶路径上位于全局避障区域中的障碍点,局部避障点为行驶路径上位于局部避障区域中的障碍点。
示例性地,机器人基于执行S201得到的全局避障区域和局部避障区域,通过确定全局避障区域内是否有障碍点以确定全局避障点检测结果,通过确定局部避障区域内是否有障碍点以确定局部障碍点检测结果。
在一些实施例中,障碍点可以是固定的物体(如,货物、库存容器等),也可以是可移动的物体(如,暂停在行驶路径上的其他机器人)。本公开实施例对此不作限定。
如图5所示,在一些实施例中,S202可以包括S2021-S2023。
S2021、获取至少一个障碍点的位置信息。
示例性地,机器人可以通过内置的激光雷达对行驶路径上的障碍点进行检测,以获取至少一个障碍点在局部坐标系下的坐标,从而得到至少一个障碍点的位置信息。
其中,由于机器人通过内置的激光雷达对行驶路径上的障碍点进行检测的过程中,内置的激光雷达发出的激光雷达信号沿机器人当前的实际运行方向传播,即沿局部坐标系的y轴传播;因此,机器人获取的至少一个障碍点的位置信息均为至少一个障碍点在局部坐标系下的位置信息。
S2022、基于障碍点的位置信息和全局避障区域,确定全局障碍点检测结果。
其中,全局障碍点检测结果用于指示全局避障区域内是否存在障碍点。
示例性地,机器人通过内置的激光雷达对行驶路径上的障碍点进行检测,以获取至少一个障碍点在局部坐标系下的坐标之后,基于至少一个障碍点在局部坐标系下的坐标能够得到对应的障碍点云。此时,通过确定障碍点云与全局避障区域之间是否存在重叠的区域,即可确定全局避障区域中是否存在障碍点,从而得到全局避障点结果。
为了提高全局障碍点检测结果的精确度,如图6所示,在一些实施例中,S2022可以包括S20221-S20222。
S20221、基于障碍点在局部坐标系下的位置信息、机器人在局部坐标系下的当前位置信息以及机器人的位置姿态角度,确定障碍点在全局坐标系中的位置信息。
在一些实施例中,障碍点在局部坐标系下的位置信息为障碍点在局部坐标系下的坐标。机器人的位置姿态角度为机器人的本体姿态歪斜时对应的角度。
示例性地,基于图4A所示,若机器人的本体姿态歪斜θ度,即机器人的位置姿态角度为θ度,则可以基于公式5-公式6确定障碍点在全局坐标系下的位置信息,公式5和公式6分别如下所示:
X0=x0*cosθ-y0*sinθ+a 公式5
Y0=x0*sinθ+y0*cosθ+b 公式6
X0=x0*cosθ-y0*sinθ+a 公式5
Y0=x0*sinθ+y0*cosθ+b 公式6
其中,(a,b)为机器人在全局坐标系中的坐标,θ为机器人的位置姿态角度,(x0,y0)为障碍点在局部坐标系下的坐标,即障碍点在局部坐标系下的位置信息;(X0,Y0)为障碍点在全局坐标系下的坐标,即障碍点在全局坐标系中的位置信息。
S20222、基于障碍点在全局坐标系中的位置信息和全局避障区域,确定全局障碍点检测结果。
示例性地,若基于障碍点在全局坐标系中的位置信息(障碍点在全局坐标系下的坐标),确定该障碍点在全局避障区域中,则确定全局障碍点检测结果指示全局避障区域内存在障碍点;若基于障碍点在全局坐标系中的位置信息,确定该障碍点不在全局避障区域中,则确定全局障碍点检测结果指示全局避障区域内不存在障碍点。
S2023、基于障碍点的位置信息和局部避障区域,确定局部障碍点检测结果。
其中,局部障碍点检测结果用于指示局部避障区域内是否存在障碍点。
在一些实施例中,S2023可以包括:基于障碍点在局部坐标系下的位置信息和局部避障区域,确定局部障碍点检测结果。
示例性地,若基于障碍点在局部坐标系中的位置信息(障碍点在局部坐标系下的坐标),确定该障碍点在局部避障区域中,则确定局部障碍点检测结果指示局部避障区域内存在障碍点;若基于障碍点在局部坐标系中的位置信息,确定该障碍点不在局部避障区域中,则确定局部障碍点检测结果指示局部避障区域内不存在障碍点。
需要说明的是,可以先执行S2022以确定全局避障点检测结果,再执行S2023以确定全局部障碍点检测结果;还可以先执行S2023以确定全局部障碍点检测结果,再执行S2022以确定全局避障点检测结果。本公开实施例对S2022-S2023的执行顺序不作限定。
S203、根据全局障碍点检测结果和局部障碍点检测结果,确定候选避障点。
其中,候选避障点包括全局避障点和/或局部避障点。全局避障点为行驶路径上位于全局避障区域内的障碍点,局部避障点为行驶路径上位于局部避障区域内的障碍点。
在一些实施例中,在全局障碍点检测结果指示全局避障区域存在至少一个第一障碍点时,基于机器人的当前位置信息,在至少一个第一障碍点中确定全局避障点;和/或,在局部障碍点检测结果指示局部避障区域存在至少一个第二障碍点时,基于机器人的当前位置信息,在至少一个第二障碍点中确定局部避障点。
需要说明的是,第一障碍点为机器人检测到的行驶路径上的多个障碍点中位于全局避障区域中的障碍点,第二障碍点为机器人检测到的行驶路径上的多个障碍点中位于局部避障区域中的障碍点。
如图7所示,在一些实施例中,基于机器人的当前位置信息,在至少一个第一障碍点中确定全局避障点包括S701-S702。
S701、基于机器人的当前位置信息,确定各第一障碍点与机器人之间的距离。
示例性地,基于机器人在全局坐标系下的坐标,与各第一障碍点在全局坐标系下的坐标,确定各第一障碍点与机器人之间的距离;或者,基于机器人在局部坐标系下的坐标,与各第一障碍点在局部坐标系下的坐标,确定各第一障碍点与机器人之间的距离。
S702、将距离机器人最近的第一障碍点确定为全局避障点。
在一些实施例中,第一障碍点的数量可以是一个也可以是多个。当第一障碍点的数量为一个时,将该第一障碍点确定为全局避障点;当第一障碍点的数量为多个时,将多个第一障碍点中距离机器人最近的第一障碍点确定为全局避障点。
如图8所示,在一些实施例中,基于机器人的当前位置信息,在至少一个第二障碍点中确定全局避障点包括S801-S802。
S801、基于机器人的当前位置信息,确定各第二障碍点与机器人之间的距离。
示例性地,基于机器人在全局坐标系下的坐标,与各第二障碍点在全局坐标系下的坐标,确定各第二障碍点与机器人之间的距离;或者,基于机器人在局部坐标系下的坐标,与各第二障碍点在局部坐标系下的坐标,确定各第二障碍点与机器人之间的距离。
S802、将距离机器人最近的第二障碍点确定为局部避障点。
在一些实施例中,第二障碍点的数量可以是一个也可以是多个。当第二障碍点的数量为一个时,将该第二障碍点确定为局部避障点;当第二障碍点的数量为多个时,将多个第一障碍点中距离机器人最近的第二障碍点确定为局部避障点。
S204、基于候选避障点是否包括局部避障点和/或全局避障点,确定目标避障点。
示例性地,目标避障点用于指示机器人是否进行避障处理。
在一些实施例中,在候选避障点不包括局部避障点且侯选避障点包括全局避障点的情况下,将全局避障点沿第一方向投影至局部避障区域内的投影点确定为目标避障点。
在一些实施例中,第一方向指将全局避障点从全局避障区域投影至局部避障区域的方向。其中,第一方向可以是全局坐标系的X轴方向,还可以是局部坐标系的x轴方向,本公开实施例对此不作限定。下述实施例中将以第一方向为全局坐标系的X轴方向为例进行示例性说明。
示例性地,如图9所示,当候选避障点不包括局部避障点且候选避障点包括全局避障点时,意味着局部避障区域中不存在局部避障点,且全局避障区域中存在全局避障点;即全局避障区域(图9中虚线框框选的区域)内有全局避障点obstacle_A,但全局避障点obstacle_A不在局部避障区域(图9中实线框框选的区域)内。此时,将全局避障点obstacle_A沿全局坐标系的X轴方向投影到机器人的局部避障区域中的左边界上,得到投影点obstacle_A’,将投影点obstacle_A’确定为目标避障点。
可以理解的是,在候选避障点不包括局部避障点且侯选避障点包括全局避障点的情况下,机器人以全局避障点沿第一方向投影至局部避障区域内的投影点为目标避障点,能够避免机器人调整本体姿态至目标本体姿态时,机器人与全局避障点之间的距离较近,导致机器人无法及时刹车,从而导致机器人与全局避障点发生碰撞;由于机器人调整本体姿态的过程中,全局避障点沿第一方向投影至局部避障区域内的投影点较全局避障点距离机器人更近,因此通过将投影点作为目标避障点,能够在机器人调整本体姿态的过程中及时避障,提高机器人运行过程中的安全性。
在一些实施例中,可以将全局避障点沿第一方向投影至局部避障区域的任一边界(如,左边界、右边界)上,也可以将全局避障点沿第一方向投影至局部避障区域内的任意部分。本公开实施例对此不作限定。
为了进一步提高机器人的安全性,提高机器人的避障精度,提高机器人的运行效率和运行流畅度。在一些实施例中,在候选避障点包括局部避障点且候选避障点包括全局避障点的情况下,若机器人的当前位置信息和/或局部避障点满足预设条件,则将局部避障点确定为目标避障点。
示例性地,当候选避障点包括局部避障点且候选避障点包括全局避障点时,意味着局部避障区域中存在局部避障点且全局避障区域中存在全局避障点。此时,机器人可以基于机器人的当前位置信息和/或局部避障点是否满足预设条件,判断进行全局避障还是局部避障。
在一些实施例中,机器人的当前位置信息和/或局部避障点满足预设条件,包括以下至少一项:机器人的行驶角度与目标角度之间的角度差大于预设角度差;机器人的当前行驶路径与预设行驶路径之间的横向距离大于预设横向距离;局部避障点与机器人之间的距离小于或等于机器人的刹车距离。
示例性地,机器人的行驶角度与目标角度之间的角度差指机器人的当前本体姿态与机器人的目标本体姿态之间的角度差。机器人的行驶角度与目标角度之间的角度差大于预设角度差(如,3度)时,意味着机器人的行驶方向与行驶路径对应的方向偏差较大。此时,全局避障区域中的障碍点与机器人的距离较远,不会影响机器人的运行,机器人可以进行局部避障,即将局部避障点确定为目标避障点。
机器人的当前行驶路径与预设行驶路径之间的横向距离大于预设横向距离(如,3厘米)时,意味着机器人的当前行驶路径与预设行驶路径平行,即全局避障区域中的障碍点不会影响机器人的运行。因此,机器人进行局部避障,即将局部避障点确定为目标避障点。
局部避障点与机器人之间的距离小于或等于机器人的刹车距离时,意味着机器人在将本体姿态调整至目标本体姿态之前可能与局部避障点发生碰撞。因此,机器人将局部避障点确定为目标避障点,以及时进行避障处理,避免与局部避障点发生碰撞。
在一些实施例中,在候选避障点包括局部避障点且候选避障点包括全局避障点的情况下,若机器人的当前位置信息和/或局部避障点不满足预设条件,则确定局部避障点与全局避障区域的第一位置关系,并基于第一位置关系和机器人的当前位置信息,确定目标避障点。
示例性地,局部避障点与全局避障区域的第一位置关系用于指示局部避障点是否在全局避障区域内。
在一些实施例中,基于第一位置关系确定目标避障点包括:在第一位置关系指示局部避障点位于全局避障区域外的情况下,将全局避障点沿第一方向投影至局部避障区域内的投影点确定为目标避障点。
示例性地,如图10所示,设全局避障区域(图10中虚线框框选的区域)内有全局避障点obstacle_A,局部避障区域(图10中实线框框选的区域)有局部避障点obstacle_B,且局部避障点obstacle_B不在全局避障区域内。此时,由于机器人的当前位置信息和/或局部避障点不满足预设条件,即局部避障点obstacle_B与机器人之间的距离大于机器人的刹车距离,因此,将全局避障点obstacle_A沿全局坐标系的X轴方向投影到机器人的局部避障区域中的左边界上得到的投影点obstacle_A’,确定为目标避障点。
在一些实施例中,基于第一位置关系,确定目标避障点包括:在第一位置关系指示局部避障点位于全局避障区域内的情况下,确定全局避障点沿第一方向投影至局部避障区域内的投影点;基于投影点、局部避障点和机器人的当前位置信息,确定目标避障点。
示例性的,如图11所示,设全局避障区域(图11中虚线框框选的区域)内有全局避障点obstacle_A,局部避障区域(图11中实线框框选的区域)有局部避障点obstacle_B,且局部避障点obstacle_B在全局避障区域内。将全局避障点obstacle_A沿全局坐标系的X轴方向投影到机器人的局部避障区域中的左边界上得到的投影点obstacle_A’,之后基于机器人的当前位置信息,对投影点obstacle_A’和局部避障点obstacle_B进行比较,从投影点obstacle_A’和局部避障点obstacle_B中确定目标避障点。
在一些实施例中,基于投影点、局部避障点和机器人的当前位置信息,确定目标避障点,包括:确定投影点与机器人之间的第一距离,并确定局部避障点与机器人之间的第二距离。若第一距离小于第二距离,则将投影点确定为目标避障点;若第一距离大于第二距离,则将局部避障点确定为目标避障点。
示例性地,可以基于投影点在全局坐标系下的坐标以及机器人在全局坐标系下的坐标,确定投影点与机器人之间的第一距离;基于局部避障点在全局坐标系下的坐标以及机器人在全局坐标系下的坐标,确定局部避障点与机器人之间的第二距离;或者,基于投影点在局部坐标系下的坐标以及机器人在局部坐标系下的坐标,确定投影点与机器人之间的第一距离;基于局部避障点在局部坐标系下的坐标以及机器人在局部坐标系下的坐标,确定局部避障点与机器人之间的第二距离。
在一些实施例中,若第一距离小于第二距离,则意味着投影点与机器人之间的距离小于局部避障点与机器人之间的距离,即投影点距离机器人更近。此时,将投影点确定为目标避障点,以使得机器人能够及时进行避障处理。若第一距离大于第二距离,则意味着局部避障点与机器人之间的距离大于投影点与机器人之间的距离,即局部避障点距离机器人更近。此时,将局部避障点确定为目标避障点,以使得机器人能够及时进行避障处理。
示例性地,如图11所示,若投影点obstacle_A’与机器人之间的距离小于局部避障点obstacle_B与机器人之间的距离,即投影点obstacle_A’距离机器人更近,则确定投影点obstacle_A’为目标避障点。
在一些实施例中,在候选避障点包括局部避障点且候选避障点包括全局避障点的情况下,若机器人的当前位置信息和/或局部避障点不满足预设条件,则确定全局避障点与局部避障区域的第二位置关系,并基于第二位置关系,确定目标避障点。
示例性地,全局避障点与局部避障区域的第二位置关系用于指示全局避障点是否在局部避障区域内。
在一些实施例中,基于第二位置关系,确定目标避障点包括:在第二位置关系指示全局避障点位于局部避障区域内的情况下,分别确定全局避障点和局部避障点与机器人之间的距离;将全局避障点和局部避障点中,距离机器人最近的避障点确定为目标避障点。
示例性的,如图12所示,设全局避障区域(图12中虚线框框选的区域)内有全局避障点obstacle_A,且全局避障点obstacle_A在局部避障区域(图12中实线框框选的区域)内;局部避障区域有局部避障点obstacle_B和局部避障点obstacle_C,且局部避障点obstacle_B和局部避障点obstacle_C均在全局避障区域内。基于机器人的的当前位置信息,分别确定全局避障点obstacle_A、局部避障点obstacle_B和局部避障点obstacle_C与机器人之间的距离。若局部避障点obstacle_B距离机器人最近,则将局部避障点obstacle_B确定为目标避障点。
在一些实施例中,在候选避障点包括局部避障点且候选避障点不包括全局避障点的情况下,基于局部避障点与机器人的当前位置确定目标避障点。
示例性地,候选避障点包括局部避障点且候选避障点不包括全局避障点,意味着全局避障区域内不存在全局避障点,而局部避障区域存在局部避障点。为了保证机器人能够及时避障,基于局部避障点与机器人的当前位置,确定局部避障点与机器人之间的距离,通过局部避障点与机器人之间的距离,确定局部避障点是否为目标避障点。
在一些实施例中,若局部避障点与机器人之间的距离小于或等于机器人的刹车距离,则确定局部避障点为目标避障点;若局部避障点与机器人之间的距离大于机器人的刹车距离,则将预设避障点确定为目标障碍点。
其中,预设避障点与机器人之间的距离始终大于机器人的刹车距离。
示例性地,如图13所示,设全局避障区域(图13中虚线框框选的区域)内不存在全局避障点,且局部避障区域(图13中实线框框选的区域)内有局部避障点obstacle_A。此时,若局部避障点obstacle_A与机器人之间的距离小于或等于刹车距离,则将局部避障点obstacle_A确定为目标避障点,以保证机器人及时避障,避免机器人在运行过程中与局部避障点obstacle_A发生碰撞。若局部避障点obstacle_A与机器人之间的距离大于刹车距离,则意味着机器人此时不需要进行避障处理,将预设避障点确定为目标障碍点,以保证机器人的运行效率。
在一些实施例中,在候选避障点不包括局部避障点和全局避障点的情况下,将预设避障点确定为目标障碍点。
示例性地,候选避障点不包括局部避障点和全局避障点,意味着全局避障区域和局部避障区域中均不存在障碍点,此时机器人不需要进行避障处理,将预设避障点确定为目标障碍点,以保证机器人的运行效率。
S205、基于目标避障点和机器人的当前位置信息,确定是否进行避障处理。
示例性地,基于目标避障点和机器人的当前位置信息,确定目标避障点和机器人之间的距离;之后,基于目标避障点和机器人之间的距离,确定是否进行避障处理。其中,可以基于机器人在全局坐标系下的坐标,与目标避障点在全局坐标系下的坐标,确定目标避障点与机器人之间的距离;或者,基于机器人在局部坐标系下的坐标,与目标避障点在局部坐标系下的坐标,确定目标避障点与机器人之间的距离。
在一些实施例中,S205包括:若目标避障点与机器人之间的距离小于或等于机器人的刹车距离,则进行避障处理;若目标避障点与机器人之间的距离大于机器人的刹车距离,则不进行避障处理。
示例性地,若目标避障点与机器人之间的距离小于或等于机器人的刹车距离,意味着机器人若不减速或刹车,将与目标避障点发生碰撞,此时进行避障处理。
在一些实施例中,机器人进行避障处理指机器人减速或停止运行。其中,机器人可以基于目标避障点与机器人之间的距离确定减速时的减速度。
示例性地,目标避障点与机器人之间的距离越短,机器人减速时的减速度越大。
在一些实施例中,机器人进行避障处理后,可以生成避障指令。避障指令用于指示工作人员对目标避障点进行移除。当机器人检测到目标避障点被移除时,机器人将按照行驶路径继续行驶。
基于同样的公开构思,本公开实施例还提供了一种用于实现上述所涉及的机器人避障方法的机器人避障装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个机器人避障装置实施例中的具体限定可以参见上文中对于机器人避障方法的限定,在此不再赘述。具体地,图14为本公开实施例中一种机器人避障装置的结构示意图。如图14所示,该装置包括:
处理模块1401,被配置为基于机器人的当前位置信息,确定全局避障区域和局部避障区域;全局避障区域为机器人本体姿态未出现歪斜时机器人前方的避障区域,局部避障区域为机器人本体姿态出现歪斜时机器人前方的避障区域;
获取模块1402,被配置为获取全局避障区域内的全局障碍点检测结果和局部避障区域内的局部障碍点检测结果;
处理模块1401,还被配置为根据全局障碍点检测结果和局部障碍点检测结果,确定候选避障点,候选避障点包括全局避障点和/或局部避障点,全局避障点为行驶路径上位于全局避障区域内的障碍点,局部避障点为行驶路径上位于局部避障区域内的障碍点;基于候选避障点是否包括局部避障点和/或全局避障点,确定目标避障点;基于目标避障点和机器人的当前位置信息,确定是否进行避障处理。
在一种可选择的实施例中,处理模块1401,还被配置为基于机器人在全局坐标系下的当前位置信息和预设避障区域尺寸,确定全局避障区域;基于机器人在局部坐标系下的当前位置信息和预设避障区域尺寸,确定局部避障区域。
在一种可选择的实施例中,获取模块1402,还被配置为获取至少一个障碍点的位置信息;处理模块1401,还被配置为基于障碍点的位置信息和全局避障区域,确定全局障碍点检测结果;全局障碍点检测结果被配置为指示全局避障区域内是否存在障碍点;基于障碍点的位置信息和局部避障区域,确定局部障碍点检测结果;局部障碍点检测结果被配置为指示局部避障区域内是否存在障碍点。
在一种可选择的实施例中,处理模块1401,还被配置为在全局障碍点检测结果指示全局避障区域存在至少一个第一障碍点时,基于机器人的当前位置信息,在至少一个第一障碍点中确定全局避障点;和/或,在局部障碍点检测结果指示局部避障区域存在至少一个第二障碍点时,基于机器人的当前位置信息,在至少一个第二障碍点中确定局部避障点。
在一种可选择的实施例中,处理模块1401,还被配置为基于机器人的当前位置信息,确定各第一障碍点与机器人之间的距离;将距离机器人最近的第一障碍点确定为全局避障点。
在一种可选择的实施例中,处理模块1401,还被配置为基于机器人的当前位置信息,确定各第二障碍点与机器人之间的距离;将距离机器人最近的第二障碍点确定为局部避障点。
在一种可选择的实施例中,处理模块1401,还被配置为在候选避障点不包括局部避障点,且,候选避障点包括全局避障点的情况下,将全局避障点沿第一方向投影至局部避障区域内的投影点确定为目标避障点。
在一种可选择的实施例中,处理模块1401,还被配置为在候选避障点包括局部避障点,且,候选避障点包括全局避障点的情况下,若机器人的当前位置信息和/或局部避障点满足预设条件,则将局部避障点确定为目标避障点;若机器人的当前位置信息和/或局部避障点不满足预设条件,则确定局部避障点与全局避障区域的第一位置关系,并基于第一位置关系和机器人的当前位置信息,确定目标避障点;或者,若机器人的当前位置信息和/或局部避障点不满足预设条件,则确定全局避障点与局部避障区域的第二位置关系,并基于第二位置关系,确定目标避障点。
在一种可选择的实施例中,机器人的当前位置信息和/或局部避障点满足预设条件,包括以下至少一项:机器人的行驶角度与目标角度之间的角度差大于预设角度差;机器人的当前行驶路径与预设行驶路径之间的横向距离大于预设横向距离;局部避障点与机器人之间的距离小于或等于机器人的刹车距离。
在一种可选择的实施例中,处理模块1401,还被配置为在第一位置关系指示局部避障点位于全局避障区域外的情况下,将全局避障点沿第一方向投影至局部避障区域内的投影点确定为目标避障点。
在一种可选择的实施例中,处理模块1401,还被配置为在第一位置关系指示局部避障点位于全局避障区域内的情况下,确定全局避障点沿第一方向投影至局部避障区域内的投影点;基于投影点、局部避障点和机器人的当前位置信息,确定目标避障点。
在一种可选择的实施例中,处理模块1401,还被配置为确定投影点与机器人之间的第一距离;确定局部避障点与机器人之间的第二距离;若第一距离小于第二距离,则将投影点确定为目标避障点;若第一距离大于第二距离,则将局部避障点确定为目标避障点。
在一种可选择的实施例中,处理模块1401,还被配置为在第二位置关系指示全局避障点位于局部避障区域内的情况下,分别确定全局避障点和局部避障点与机器人之间的距离;将全局避障点和局部避障点中,距离机器人最近的避障点确定为目标避障点。
在一种可选择的实施例中,处理模块1401,还被配置为若目标避障点与机器人之间的距离小于或等于机器人的刹车距离,则进行避障处理;若目标避障点与机器人之间的距离大于机器人的刹车距离,则不进行避障处理。
在一种可选择的实施例中,处理模块1401,还被配置为在所述候选避障点包括所述局部避障点,且,所述候选避障点不包括所述全局避障点的情况下,基于所述局部避障点与所述机器人的当前位置确定所述目标避障点。
在一种可选择的实施例中,处理模块1401,还被配置为若所述局部避障点与所述机器人之间的距离小于或等于所述机器人的刹车距离,则确定所述局部避障点为所述目标避障点;若所述局部避障点与所述机器人之间的距离大于所述机器人的刹车距离,则将预设避障点确定为所述目标障碍点,所述预设避障点与所述机器人之间的距离始终大于所述机器人的刹车距离。
在一种可选择的实施例中,处理模块1401,还被配置为在候选避障点不包括局部避障点和全局避障点的情况下,将预设避障点确定为目标障碍点,预设避障点与机器人之间的距离大于机器人的刹车距离。
在一种可选择的实施例中,处理模块1401,还被配置为基于障碍点在局部坐标系下的位置信息、机器人在局部坐标系下的当前位置信息以及机器人的位置姿态角度,确定障碍点在全局坐标系中的位置信息;基于障碍点在全局坐标系中的位置信息和全局避障区域,确定全局障碍点检测结果。
在一种可选择的实施例中,处理模块1401,还被配置为基于障碍点在局部坐标系下的位置信息和局部避障区域,确定局部障碍点检测结果。
关于机器人避障装置的具体限定和能够达到的有益效果,可以参见上文中对于机器人避障方法的限定,在此不再赘述。
如图15所示,为本实施例提供的一种机器人的内部结构示意图。该机器人包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该机器人的处理器用于提供计算和控制能力。该机器人的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该机器人的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种机器人避障方法。该机器人的显示屏可以是液晶显示屏或者电子墨水显示屏,该机器人的输入装置可以是显示屏上覆盖的触摸层,也可以是机器人外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
如图16所示,为本实施例提供的一种电子设备的内部结构示意图。该电子设备可以是服务器。该电子设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的数据库用于存储高度参数和三维地图数据。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种机器人避障方法。
本领域技术人员可以理解,图15和图16中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的机器人和电子设备的限定,具体的机器人和电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在具体实现中,本公开实施例提供了一种电子设备,包括处理器和存储器,存储器上存储有计算机程序,计算机程序被处理器执行时实现上述任一项实施例中方法的步骤。
在具体实现中,本公开实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项实施例中方法的步骤。
在具体实现中,本公开实施例提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一项实施例中方法的步骤。
需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本公开所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。本公开所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本公开所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本公开的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本公开专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本公开构思的前提下,还可以做出若干变形和改进,这些都属于本公开的保护范围。因此,本公开的保护范围应以所附权利要求为准。
Claims (22)
- 一种机器人避障方法,所述方法包括:基于机器人的当前位置信息,确定全局避障区域和局部避障区域;所述全局避障区域为所述机器人本体姿态未出现歪斜时所述机器人前方的避障区域,所述局部避障区域为所述机器人本体姿态出现歪斜时所述机器人前方的避障区域;获取所述全局避障区域内的全局障碍点检测结果和所述局部避障区域内的局部障碍点检测结果;根据所述全局障碍点检测结果和所述局部障碍点检测结果,确定候选避障点,所述候选避障点包括全局避障点和/或局部避障点;所述全局避障点为行驶路径上位于所述全局避障区域内的障碍点,所述局部避障点为行驶路径上位于所述局部避障区域内的障碍点;基于所述候选避障点是否包括所述局部避障点和/或所述全局避障点,确定目标避障点;基于所述目标避障点和所述机器人的当前位置信息,确定是否进行避障处理。
- 根据权利要求1所述的方法,其中,所述基于机器人的当前位置信息,确定全局避障区域和局部避障区域,包括:基于所述机器人在全局坐标系下的当前位置信息和预设避障区域尺寸,确定所述全局避障区域;基于所述机器人在局部坐标系下的当前位置信息和所述预设避障区域尺寸,确定所述局部避障区域。
- 根据权利要求1所述的方法,其中,所述获取所述全局避障区域内的全局障碍点检测结果和所述局部避障区域内的局部障碍点检测结果,包括:获取至少一个障碍点的位置信息;基于所述障碍点的位置信息和所述全局避障区域,确定所述全局障碍点检测结果;所述全局障碍点检测结果用于指示所述全局避障区域内是否存在所述障碍点;基于所述障碍点的位置信息和所述局部避障区域,确定所述局部障碍点检测结果;所述局部障碍点检测结果用于指示所述局部避障区域内是否存在所述障碍点。
- 根据权利要求3所述的方法,其中,所述根据所述全局障碍点检测结果和所述局部障碍点检测结果,确定候选避障点,包括:在所述全局障碍点检测结果指示所述全局避障区域存在至少一个第一障碍点时,基于所述机器人的当前位置信息,在所述至少一个第一障碍点中确定所述全局避障点;和/或,在所述局部障碍点检测结果指示所述局部避障区域存在至少一个第二障碍点时,基于所述机器人的当前位置信息,在所述至少一个第二障碍点中确定所述局部避障点。
- 根据权利要求4所述的方法,其中,所述基于所述机器人的当前位置信息,在所述至少一个第一障碍点中确定所述全局避障点,包括:基于所述机器人的当前位置信息,确定各所述第一障碍点与所述机器人之间的距离;将距离所述机器人最近的所述第一障碍点确定为所述全局避障点。
- 根据权利要求4所述的方法,其中,所述基于所述机器人的当前位置信息,在所述至少一个第二障碍点中确定所述局部避障点,包括:基于所述机器人的当前位置信息,确定各所述第二障碍点与所述机器人之间的距离;将距离所述机器人最近的所述第二障碍点确定为所述局部避障点。
- 根据权利要求1-6中任一项所述的方法,其中,所述基于所述候选避障点,确定目标避障点,包括:在所述候选避障点不包括所述局部避障点,且,所述候选避障点包括所述全局避障点的情况下,将所述全局避障点沿第一方向投影至所述局部避障区域内的投影点确定为所述目标避障点。
- 根据权利要求1-6中任一项所述的方法,其中,所述基于所述候选避障点,确定目标避障点,包括:在所述候选避障点包括所述局部避障点,且,所述候选避障点包括所述全局避障点的情况下,若所述机器人的当前位置信息和/或所述局部避障点满足预设条件,则将所述局部避障点确定为所述目标避障点;若所述机器人的当前位置信息和/或所述局部避障点不满足所述预设条件,则确定所述局部避障点与所述全局避障区域的第一位置关系,并基于所述第一位置关系和所述机器人的当前位置信息,确定所述目标避障点;或者,若所述机器人的当前位置信息和/或所述局部避障点不满足所述预设条件,则确定所述全局避障点与所述局部避障区域的第二位置关系,并基于所述第二位置关系,确定所述目标避障点。
- 根据权利要求8所述的方法,其中,所述机器人的当前位置信息和/或所述局部避障点满足预设条件,包括以下至少一项:所述机器人的行驶角度与目标角度之间的角度差大于预设角度差;所述机器人的当前行驶路径与预设行驶路径之间的横向距离大于预设横向距离;所述局部避障点与所述机器人之间的距离小于或等于所述机器人的刹车距离。
- 根据权利要求9所述的方法,其中,所述基于第一位置关系,确定所述目标避障点,包括:在所述第一位置关系指示所述局部避障点位于所述全局避障区域外的情况下,将所述全局避障点沿第一方向投影至所述局部避障区域内的投影点确定为所述目标避障点。
- 根据权利要求9所述的方法,其中,所述基于第一位置关系,确定所述目标避障点,包括:在所述第一位置关系指示所述局部避障点位于所述全局避障区域内的情况下,确定所述全局避障点沿第一方向投影至所述局部避障区域内的投影点;基于所述投影点、所述局部避障点和所述机器人的当前位置信息,确定所述目标避障点。
- 根据权利要求11所述的方法,其中,所述基于所述投影点、所述局部避障点和所述机器人的当前位置信息,确定所述目标避障点,包括:确定所述投影点与所述机器人之间的第一距离;确定所述局部避障点与所述机器人之间的第二距离;若所述第一距离小于所述第二距离,则将所述投影点确定为所述目标避障点;若所述第一距离大于所述第二距离,则将所述局部避障点确定为所述目标避障点。
- 根据权利要求9所述的方法,其中,所述基于第二位置关系,确定所述目标避障点,包括:在所述第二位置关系指示所述全局避障点位于所述局部避障区域内的情况下,分别确定所述全局避障点和所述局部避障点与所述机器人之间的距离;将所述全局避障点和所述局部避障点中,距离所述机器人最近的避障点确定为所述目标避障点。
- 根据权利要求1-6中任一项所述的方法,其中,所述基于所述目标避障点和所述机器人的当前位置信息,确定是否进行避障处理,包括:若所述目标避障点与所述机器人之间的距离小于或等于所述机器人的刹车距离,则进行避障处理;若所述目标避障点与所述机器人之间的距离大于所述机器人的刹车距离,则不进行避障处理。
- 根据权利要求14所述的方法,其中,所述基于所述候选避障点,确定目标避障点,包括:在所述候选避障点包括所述局部避障点,且,所述候选避障点不包括所述全局避障点的情况下,基于所述局部避障点与所述机器人的当前位置确定所述目标避障点。
- 根据权利要求15所述的方法,其中,所述基于所述局部避障点与所述机器人的当前位置确定所述目标避障点,包括:若所述局部避障点与所述机器人之间的距离小于或等于所述机器人的刹车距离,则确定所述局部避障点为所述目标避障点;若所述局部避障点与所述机器人之间的距离大于所述机器人的刹车距离,则将预设避障点确定为所述目标障碍点,所述预设避障点与所述机器人之间的距离始终大于所述机器人的刹车距离。
- 根据权利要求16中所述的方法,其中,所述基于所述候选避障点,确定目标避障点,包括:在所述候选避障点不包括所述局部避障点和所述全局避障点的情况下,将所述预设避障点确定为所述目标障碍点。
- 根据权利要求3所述的方法,其中,所述基于所述障碍点的位置信息和所述全局避障区域,确定所述全局障碍点检测结果,包括:基于所述障碍点在所述局部坐标系下的位置信息、所述机器人在所述局部坐标系下的当前位置信息以及所述机器人的位置姿态角度,确定所述障碍点在全局坐标系中的位置信息;基于所述障碍点在全局坐标系中的位置信息和所述全局避障区域,确定所述全局障碍点检测结果。
- 根据权利要求3所述的方法,其中,所述基于所述障碍点的位置信息和所述局部避障区域,确定所述局部障碍点检测结果,包括:基于所述障碍点在所述局部坐标系下的位置信息和所述局部避障区域,确定所述局部障碍点检测结果。
- 一种机器人避障装置,其中,所述机器人避障装置包括:处理模块,被配置为基于机器人的当前位置信息,确定全局避障区域和局部避障区域;所述全局避障区域为所述机器人本体姿态未出现歪斜时所述机器人前方的避障区域,所述局部避障区域为所述机器人本体姿态出现歪斜时所述机器人前方的避障区域;获取模块,被配置为获取所述全局避障区域内的全局障碍点检测结果和所述局部避障区域内的局部障碍点检测结果;所述处理模块,还被配置为根据所述全局障碍点检测结果和所述局部障碍点检测结果,确定候选避障点,所述候选避障点包括全局避障点和/或局部避障点;基于所述候选避障点是否包括所述局部避障点和/或所述全局避障点,确定目标避障点;基于所述目标避障点和所述机器人的当前位置信息,确定是否进行避障处理;所述全局避障点为行驶路径上位于所述全局避障区域内的障碍点,所述局部避障点为行驶路径上位于所述局部避障区域内的障碍点。
- 一种电子设备,包括存储器和处理器,存储器存储有计算机程序,其中,处理器执行计算机程序时实现权利要求1-19中任一项所述的方法。
- 一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1至19中任一项所述的方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311629884.2A CN117406755B (zh) | 2023-12-01 | 2023-12-01 | 机器人避障方法、装置、设备和可读存储介质 |
| CN202311629884.2 | 2023-12-01 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025113433A1 true WO2025113433A1 (zh) | 2025-06-05 |
Family
ID=89496358
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2024/134504 Pending WO2025113433A1 (zh) | 2023-12-01 | 2024-11-26 | 机器人避障方法、装置、设备和可读存储介质 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN117406755B (zh) |
| WO (1) | WO2025113433A1 (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117406755B (zh) * | 2023-12-01 | 2024-04-19 | 北京极智嘉科技股份有限公司 | 机器人避障方法、装置、设备和可读存储介质 |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108241375A (zh) * | 2018-02-05 | 2018-07-03 | 景德镇陶瓷大学 | 一种自适应蚁群算法在移动机器人路径规划中的应用方法 |
| US20200164515A1 (en) * | 2017-06-30 | 2020-05-28 | Lg Electronics Inc. | Method of operating mobile robot |
| CN113741431A (zh) * | 2021-08-17 | 2021-12-03 | 嘉兴市敏硕智能科技有限公司 | 一种避障路径确定方法、避障方法、装置及存储介质 |
| CN114839969A (zh) * | 2022-04-02 | 2022-08-02 | 达闼机器人股份有限公司 | 控制设备移动的方法、装置、存储介质与电子设备 |
| CN115933648A (zh) * | 2022-11-24 | 2023-04-07 | 清华大学深圳国际研究生院 | 一种机器人动态避障方法及系统 |
| CN116166029A (zh) * | 2023-03-07 | 2023-05-26 | 西安交通大学 | 一种兼容局部避障功能的多agv导航方法及系统 |
| CN117406755A (zh) * | 2023-12-01 | 2024-01-16 | 北京极智嘉科技股份有限公司 | 机器人避障方法、装置、设备和可读存储介质 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102541057B (zh) * | 2010-12-29 | 2013-07-03 | 沈阳新松机器人自动化股份有限公司 | 一种基于激光测距仪的移动机器人避障方法 |
| CN103455034B (zh) * | 2013-09-16 | 2016-05-25 | 苏州大学张家港工业技术研究院 | 一种基于最近距离向量场直方图的避障路径规划方法 |
| CN116416518A (zh) * | 2021-12-22 | 2023-07-11 | 广东栗子科技有限公司 | 智能避开障碍的方法及装置 |
| CN115525047B (zh) * | 2022-03-21 | 2023-07-25 | 江苏集萃清联智控科技有限公司 | 一种具备多型避障方式的车辆局部轨迹规划方法及系统 |
-
2023
- 2023-12-01 CN CN202311629884.2A patent/CN117406755B/zh active Active
-
2024
- 2024-11-26 WO PCT/CN2024/134504 patent/WO2025113433A1/zh active Pending
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20200164515A1 (en) * | 2017-06-30 | 2020-05-28 | Lg Electronics Inc. | Method of operating mobile robot |
| CN108241375A (zh) * | 2018-02-05 | 2018-07-03 | 景德镇陶瓷大学 | 一种自适应蚁群算法在移动机器人路径规划中的应用方法 |
| CN113741431A (zh) * | 2021-08-17 | 2021-12-03 | 嘉兴市敏硕智能科技有限公司 | 一种避障路径确定方法、避障方法、装置及存储介质 |
| CN114839969A (zh) * | 2022-04-02 | 2022-08-02 | 达闼机器人股份有限公司 | 控制设备移动的方法、装置、存储介质与电子设备 |
| CN115933648A (zh) * | 2022-11-24 | 2023-04-07 | 清华大学深圳国际研究生院 | 一种机器人动态避障方法及系统 |
| CN116166029A (zh) * | 2023-03-07 | 2023-05-26 | 西安交通大学 | 一种兼容局部避障功能的多agv导航方法及系统 |
| CN117406755A (zh) * | 2023-12-01 | 2024-01-16 | 北京极智嘉科技股份有限公司 | 机器人避障方法、装置、设备和可读存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN117406755B (zh) | 2024-04-19 |
| CN117406755A (zh) | 2024-01-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| AU2014343128B2 (en) | Systems, methods, and industrial vehicles for determining the visibility of features | |
| KR102580084B1 (ko) | 로봇 혼잡 관리 | |
| CN113574553B (zh) | 机器人辅助的人员路由 | |
| KR102502325B1 (ko) | 컨텍스트 증강 맵 계층을 제공하기 위한 구역 엔진 | |
| US10466707B2 (en) | Planning robot stopping points to avoid collisions | |
| WO2022105695A1 (zh) | 货物取放方法、装置、仓储机器人和仓储系统 | |
| AU2014343128A1 (en) | Systems, methods, and industrial vehicles for determining the visibility of features | |
| CN113646789A (zh) | 仓库订单执行操作中机器人停留时间最小化 | |
| US20200270069A1 (en) | Flexible automated sorting and transport arrangement (fast) robotic arm | |
| WO2025113433A1 (zh) | 机器人避障方法、装置、设备和可读存储介质 | |
| CN117361063A (zh) | 码垛方法、装置、电子设备、机器可读存储介质及系统 | |
| US20230236600A1 (en) | Operational State Detection for Obstacles in Mobile Robots | |
| WO2022000197A1 (zh) | 飞行作业方法、无人机及存储介质 | |
| WO2019100979A1 (zh) | 物品拣选调度请求的处理方法及相关设备 | |
| CN114387337B (zh) | 货物出入库的物联网管理方法、装置、电子设备及介质 | |
| US20230139689A1 (en) | Vision and control systems for robotic pack stations | |
| CN117719500A (zh) | 车辆碰撞检测方法、装置、电子设备及存储介质 | |
| US20200191559A1 (en) | Method, system and apparatus for support structure detection | |
| CN117172672A (zh) | 仓储理货方法、装置、设备和可读存储介质 | |
| CN116280834A (zh) | 货箱搬运方法、系统和可读存储介质 | |
| CN118350747B (zh) | 理货方法、装置、设备和可读存储介质 | |
| CN116911713A (zh) | 一种药品运输方法、装置、电子设备及存储介质 | |
| CN112034841A (zh) | 一种无人环境下的提货方法、系统和计算机可读存储介质 | |
| WO2022027357A1 (zh) | 一种无人环境下的提货方法、系统和计算机可读存储介质 | |
| CN113816049B (zh) | 货箱调度方法、装置和系统 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24896521 Country of ref document: EP Kind code of ref document: A1 |