Robot, robot path planning method, and storage medium

By using a single rotatable depth camera on a mobile robot to acquire and update obstacle maps for path planning, the problem of high computational load and high hardware cost caused by multiple RGBD cameras is solved, achieving efficient path planning and cost savings.

CN115599083BActive Publication Date: 2026-03-20SHENZHEN PUDU TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-02-21
Publication Date
2026-03-20

AI Technical Summary

Technical Problem

Existing mobile robots require multiple RGBD cameras for 3D obstacle avoidance, resulting in high computational load and hardware costs.

Method used

Using a single rotatable depth camera, when a path cannot be planned by acquiring historical obstacle maps, an obstacle map is acquired along a first direction, the camera is controlled to rotate to acquire a second obstacle map, and the obstacle map is updated to plan a path.

Benefits of technology

It reduces computational load, improves algorithm efficiency, and lowers hardware costs by using a single depth camera.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115599083B_ABST
    Figure CN115599083B_ABST
Patent Text Reader

Abstract

The application provides a robot, a robot path planning method and a storage medium, and relates to the technical field of robots. The robot is used to realize the following steps: acquiring a historical obstacle map; when a moving path of the robot cannot be planned according to the historical obstacle map, determining a first movable path according to a first obstacle map acquired by a depth camera in a first direction, and determining a to-be-moved direction of the robot according to the first movable path; controlling the depth camera to rotate to the to-be-moved direction, and acquiring a second obstacle map in a second direction; updating the historical obstacle map according to the second obstacle map to obtain an updated obstacle map; and planning a moving path of the robot according to the updated obstacle map, which can solve the problems of large calculation amount and high hardware cost when a robot realizes three-dimensional obstacle avoidance through multiple depth cameras.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of robots, in particular to a robot, a robot path planning method and a storage medium. BACKGROUND

[0002] In the process of three-dimensional obstacle avoidance of a mobile robot, the mobile robot generally needs to perceive the surrounding environment in all directions through sensors, such as an RGBD (Red Green Blue Depth Map) camera, a radar and the like, so as to plan a movement route from a starting point to a target point. Generally, in order to increase the visual perception range of the mobile robot, a plurality of RGBD cameras are usually arranged on the mobile robot to reduce the blind area of visual perception, so that the mobile robot can safely and collision-free bypass all obstacles in the movement process. However, arranging a plurality of RGBD cameras on the mobile robot means that the depth images obtained by the plurality of RGBD cameras need to be processed at the same time, so as to plan a path, which is large in calculation amount and high in hardware cost of the mobile robot. SUMMARY

[0003] The embodiments of the present application provide a robot, a robot path planning method and a storage medium, which can solve the problems of large calculation amount and high hardware cost of a robot in realizing three-dimensional obstacle avoidance through a plurality of depth cameras.

[0004] In a first aspect, the embodiments of the present application provide a robot, comprising a memory, a processor and a rotatable depth camera, the memory stores a computer program capable of running on the processor, and the processor is used to call and execute the computer program to realize the following steps:

[0005] obtain a historical obstacle map; when a movement path of the robot cannot be planned according to the historical obstacle map, determine a first movable path according to a first obstacle map obtained by the depth camera in a first direction, and determine a to-be-moved direction of the robot according to the first movable path; control the depth camera to rotate to the to-be-moved direction, and obtain a second obstacle map in a second direction; update the historical obstacle map according to the second obstacle map to obtain an updated obstacle map; and plan a movement path of the robot according to the updated obstacle map.

[0006] Based on the robot provided in the present application, if the moving path of the robot cannot be determined according to the historical obstacle map, the moving direction can be determined according to the first obstacle map obtained along the first direction at the current time, in order to reduce the visual blind area of a single depth camera, the depth camera can be controlled to rotate towards the moving direction, so as to expand the observation angle of the single depth camera, so as to obtain the second obstacle map in the second direction, and the historical obstacle map is updated according to the second obstacle map to obtain the updated obstacle map, so as to determine the moving path of the robot. According to the path planning method provided in the present application, the depth camera can be swung to perceive the obstacles in the visual angle range in all directions, so as to obtain the updated obstacle map which can determine the moving path of the robot, and the operation efficiency of the algorithm is improved, and the single depth camera arranged on the robot can reduce the hardware cost.

[0007] Optionally, the historical obstacle map is obtained by updating the historical map according to the first obstacle map, and the historical map is determined by at least one third obstacle map obtained before the depth camera obtains the first obstacle map.

[0008] Optionally, the forming method of the first obstacle map comprises: obtaining a depth image by the depth camera; and mapping the depth camera and the pixel points indicating the obstacles in the depth image into the initial obstacle map according to the parameters of the depth camera and the pose of the robot, so as to form the first obstacle map, and the first obstacle map comprises first mapping points corresponding to the pixel points and second mapping points corresponding to the depth camera.

[0009] Optionally, the updated obstacle map comprises the first mapping points and the second mapping points; and the moving path of the robot is determined according to the updated obstacle map, which comprises: determining the region in which there is no obstacle in the updated obstacle map according to the first mapping points and the second mapping points, and planning the moving path of the robot according to the region.

[0010] Optionally, the parameters of the depth camera comprise intrinsic parameters and extrinsic parameters; and the determination method of the first mapping points corresponding to the pixel points comprises:

[0011] determining a first position of the pixel point in a camera coordinate system according to the intrinsic parameters and the depth value corresponding to the pixel point; determining a second position of the pixel point in a world coordinate system according to the extrinsic parameters, the pose and the first position; and determining the first mapping points of the pixel point in the initial obstacle map based on the second position.

[0012] Optionally, the determination method of the second mapping points corresponding to the depth camera comprises: determining a third position of the depth camera in the world coordinate system according to the extrinsic parameters and the pose; and determining the second mapping points of the depth camera in the initial obstacle map based on the third position.

[0013] Optionally, after obtaining the updated obstacle map, the processor is configured to invoke and execute the computer program to implement the following step: controlling the depth camera to rotate back to the first direction.

[0014] Optionally, the processor is further configured to invoke and execute the computer program to implement the following step:

[0015] If the movement path of the robot cannot be planned according to the updated obstacle map, the depth camera is controlled to rotate to a direction opposite to the direction to be moved, and a fourth obstacle map in the third direction is obtained; the updated obstacle map is updated according to the fourth obstacle map to obtain a target obstacle map; and the movement path of the robot is planned according to the target obstacle map.

[0016] Optionally, the first direction is a forward direction of the robot.

[0017] In a second aspect, an embodiment of the present application provides a robot path planning method, which comprises:

[0018] obtaining a historical obstacle map; when the movement path of the robot cannot be planned according to the historical obstacle map, determining a first movable path according to a first obstacle map obtained by the depth camera in a first direction, and determining a direction to be moved of the robot according to the first movable path; controlling the depth camera to rotate to the direction to be moved, and obtaining a second obstacle map in a second direction; updating the historical obstacle map according to the second obstacle map to obtain an updated obstacle map; and planning the movement path of the robot according to the updated obstacle map.

[0019] In a third aspect, an embodiment of the present application provides a computer readable storage medium, which stores a computer program. The computer program is executed by a processor to implement the steps implemented by the robot in any one of the first aspect.

[0020] In a fourth aspect, an embodiment of the present application provides a computer program product. When the computer program product is run on a terminal device, the terminal device performs the steps implemented by the robot in any one of the first aspect.

[0021] It can be understood that the beneficial effects of the second aspect to the fourth aspect can be referred to the related description of the first aspect, and will not be repeated here. BRIEF DESCRIPTION OF DRAWINGS

[0022] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the embodiments or prior art description will be briefly introduced. Obviously, the drawings in the following description only constitute some embodiments of the present application, and for those skilled in the art, other drawings can also be obtained without creative labor.

[0023] Figure 1 is a structural schematic diagram of a robot provided by an embodiment of the present application;

[0024] Figure 2 is a flowchart of steps implemented by a processor in a robot when calling and executing a computer program, provided by an embodiment of the present application;

[0025] Figure 3 is a schematic diagram of an obstacle map, provided by an embodiment of the present application. DETAILED DESCRIPTION

[0026] In the following description, specific details are set forth in order to provide a thorough understanding of embodiments of the present application. However, persons skilled in the art will understand that embodiments of the present application can be practiced without these specific details. In other instances, well-known systems, devices, circuits, and methods have not been described in detail so as not to obscure the description of the present application.

[0027] Generally, a mobile robot needs to perceive the environment around it through sensors such as depth cameras and radars, so as to plan a moving route from a starting point to a target point. In order to increase the visual perception range of the mobile robot, multiple depth cameras are usually arranged on the mobile robot to reduce the blind area of visual perception, so that the mobile robot can safely bypass all obstacles during movement. However, arranging multiple depth cameras on the mobile robot means that the depth images obtained by the multiple depth cameras need to be processed simultaneously, so as to determine the area where there is no obstacle, for planning a path from the current position to the target position. The calculation amount of processing multiple depth images is large, and arranging multiple depth cameras increases the hardware cost of the mobile robot.

[0028] To solve the above technical problems, the embodiment of the present application provides a robot, a robot path planning method and a storage medium. When the robot cannot plan a path based on a historical obstacle map due to a large visual blind area of a single depth camera, a first grid map obtained along a first direction is used to determine a moving direction of the robot, and the depth camera is controlled to rotate towards the moving direction, a second obstacle map is obtained to update the historical obstacle map, and an updated obstacle map used to determine a planned path of the robot is obtained. The single rotatable depth camera is used to realize omnidirectional perception and obstacle avoidance, and the algorithm operation efficiency is reduced and the hardware cost is saved.

[0029] The technical solutions of the present application will be described in detail below with reference to the drawings. The embodiments described below with reference to the drawings are exemplary and are intended to explain the present application, and cannot be understood as a limitation of the present application.

[0030] The structural schematic diagram of the robot provided by the present application is shown in Figure 1 The robot 1 comprises a memory 12, a processor 11, a computer program 13 stored in the memory 12 and executable on the processor 11, and a rotatable depth camera 14 arranged on the robot 1. The robot 1 can identify obstacles in different directions by rotating the depth camera 14. In the prior art, due to the limited perception angle of a single depth camera, the robot may not be able to plan a path based on the obtained obstacle map at a certain moment during movement, and thus the moving path of the robot cannot be determined. The robot provided by the present application can effectively solve such technical problems.

[0031] In a possible implementation, the processor in the robot provided by the present application can implement the steps shown in Figure 2 when calling and executing the computer program, and the specific steps are as follows:

[0032] S201, obtaining a historical obstacle map.

[0033] In an embodiment, the historical obstacle map can be obtained by updating the historical map according to the first obstacle map. The historical map is determined by at least one third obstacle map obtained before the depth camera obtains the first obstacle map, and the first obstacle map is an obstacle map obtained by the depth camera along a first direction.

[0034] It should be noted that in the embodiments of the present application, during the process that the robot moves from the starting position at the initial moment to the target position, the depth camera arranged on the robot can obtain the obstacle map in real time, and the obstacle map includes the area where the obstacle is located, the area where there is no obstacle, and the unknown area. The unknown area is an area where it is not determined whether there is an obstacle due to the limited perception angle of the depth camera.

[0035] In a possible implementation, the method for forming the first obstacle map includes: obtaining a depth image by using the depth camera, the depth image including position information of the obstacle. According to the parameters of the depth camera and the pose of the robot, the depth camera and the pixel point indicating the obstacle in the depth image are mapped into the initial obstacle map to form the first obstacle map, the first obstacle map including a first mapping point corresponding to the pixel point indicating the obstacle and a second mapping point corresponding to the depth camera. It should be noted that the above method for forming the first obstacle map is also applicable to the second obstacle map and the third obstacle map in the above implementation.

[0036] Specifically, the parameters of the depth camera include intrinsic parameters and extrinsic parameters. The intrinsic parameters can be represented as (f x ,f y ,c x ,c y ), where f x represents the focal length of the depth camera in the x-axis direction, f y represents the focal length of the depth camera in the y-axis direction, c x represents the offset of the optical center of the depth camera and the image center in the x-axis direction, and c y represents the offset of the optical center of the depth camera and the image center in the y-axis direction. The extrinsic parameters can be represented as T rc .

[0037] First, the first position P c (p x ,p y ,p z ) of the pixel point indicating the obstacle in the depth image in the camera coordinate system is determined according to the intrinsic parameters of the depth camera. The depth value of the pixel point corresponding to the obstacle at (x, y) in the depth image can be represented as d. Then, the determination method of the first position P c (p x ,p y ,p z ) can be represented as the following formula:

[0038] p x =(x-c x )*d / f x

[0039] p y= (y - c y )*d / f y

[0040] p z =d

[0041] According to the extrinsic parameter T rc , the pose T wr of the robot and the first position P c , the second position P w (P wx , P wy ) of the pixel point at (x, y) in the depth image in the world coordinate system is determined, which can be expressed as the following formula:

[0042] P w = T wr *T rc *P c

[0043] Based on the second position P w , the first mapping point P m (m x , m y ) of the pixel point at (x, y) in the depth image in the obstacle initial map is determined. Wherein, assuming that the size of the obstacle initial map is WxH, the resolution is resolution (for example 0.05m), and the position of the lower left corner of the obstacle initial map in the world coordinate system is (origin_x, origin_y), the determination method of the first mapping point can be expressed as the following formula:

[0044] m x = (P wx -origin_x) / resolution

[0045] m y = (P wy -origin_y) / resolution

[0046] The method for mapping the position of the depth camera to the second mapping point in the obstacle initial map includes: determining the third position P W (P Wx , P Wy ) of the depth camera in the world coordinate system according to the extrinsic parameter and the pose, P W = T wr *T rc . Based on the third position P W , the second mapping point P r (r x , r y ) of the depth camera in the obstacle initial map is determined, which can be expressed as the following formula:

[0047] r x =(P Wx -origin_x) / resolution

[0048] r y =(P Wy -origin_y) / resolution

[0049] In one example, reference Figure 3 This illustrates an obstacle map. It is assumed that all grid cells in the initial obstacle map are unknown, meaning it's uncertain whether an obstacle exists within a cell. Mapping the depth camera and the pixels indicating obstacles in the depth image onto the initial obstacle map yields... Figure 3 The obstacle map shown has corresponding attributes for each grid cell, which are used to determine whether an obstacle exists within that cell. Figure 3 In the obstacle map, the first mapping point is a solid black circle as shown in the image. Gray grids marked with an "X" (hereinafter referred to as Occ) represent the areas where the depth camera observes obstacles at the current moment and in the current direction. The second mapping point is a hollow black circle as shown in the image, representing the mapping position of the depth camera on the obstacle map. Gray grids without an "X" (hereinafter referred to as Free) located between the grids containing the first and second mapping points represent areas where the depth camera observes no obstacles at the current moment. The remaining white grids represent areas where the presence of obstacles is uncertain.

[0050] In another embodiment, the robot acquires an obstacle map of its current location at each moment during its movement. The robot can use the obstacle map acquired at the current moment to update the historical map, determine the updated map, and then perform path planning based on the updated map to determine the robot's movement path at the next moment.

[0051] For example, based on the method of obtaining the obstacle map provided in the above embodiment, at the current position of the robot at the current time, a first obstacle map in a first direction can be obtained by the depth camera. Then, the historical map can be updated by the first obstacle map, and the historical map at this time is determined by at least one third obstacle map obtained before the current time of obtaining the first obstacle map, that is, the historical map is determined by at least one third obstacle map obtained by the robot before moving from the starting position to the current position at the current time. The historical map includes all obstacles observed by the depth camera at the historical time. The method of obtaining the third obstacle map is the same as that of obtaining the first obstacle map, and the method of forming the first obstacle map is described in the above embodiment.

[0052] In one example, the method of updating the historical map by the first obstacle map obtained at the current time to determine the historical obstacle map includes: if a first grid in the first obstacle map obtained at the current time is Occ, updating the grid at the position corresponding to the first grid in the historical map to Occ; if a second grid in the first obstacle map obtained at the current time is Free, updating the grid at the position corresponding to the second grid in the historical map to Free, and the updated map is the historical obstacle map.

[0053] It should be noted that as the robot continuously moves from the starting position to the target position, the scene information obtained by the depth camera will also change, so the robot will repeatedly perform the process of updating the historical map based on the obstacle map obtained at the current time to obtain an updated map, and then determining the moving path based on the updated map during the movement.

[0054] S202, when the moving path of the robot cannot be planned according to the historical obstacle map, a first movable path is determined according to the first obstacle map obtained by the depth camera in the first direction, and the direction to be moved of the robot is determined according to the first movable path.

[0055] Specifically, the historical obstacle map is a map obtained after the historical map is updated for the first time by the current position of the robot at the current time. It is determined whether a movement path of the robot can be planned according to a region without obstacles in the historical obstacle map. If yes, the robot can continue to move from the current position to the target position according to the movement path. Otherwise, a region without obstacles in the first obstacle map is determined according to the position of the first mapping point and the position of the second mapping point in the first obstacle map acquired by the depth camera in the first direction, so as to plan a first movable path according to the region without obstacles in the first obstacle map. The direction to be moved of the robot can be determined according to the first movable path, and then the rotation direction of the depth camera at the next time is determined.

[0056] In S203, the depth camera is controlled to rotate to the direction to be moved, and a second obstacle map in the second direction is acquired.

[0057] In a possible implementation, after the direction to be moved of the robot is determined according to the region without obstacles in the first obstacle map, it is determined whether the direction to be moved is located on the left side or the right side of the first direction, so as to control the depth camera to rotate from the first direction to the direction to be moved by a preset angle, and acquire a second obstacle map in the second direction during the rotation.

[0058] For example, it is assumed that the direction to be moved is on the left side of the first direction, which means that the robot needs to determine the positions of obstacles in the region on the left side of the current position by the depth camera. If the preset angle is 60 degrees, the depth camera can be controlled to rotate from the first direction to the left side by 60 degrees to direction one. During the rotation, if the frequency of the camera is met, at least one second obstacle map in the second direction can be acquired according to the method for acquiring the obstacle map provided in the above embodiment.

[0059] It should be noted that the corresponding historical map is updated in real time every time a second obstacle map in the second direction is acquired during the rotation of the depth camera, to obtain an updated map, and it is determined whether a movement path of the robot can be planned according to the updated map. During the rotation of the depth camera, if the frequency of the camera is met, at least one second obstacle map in the second direction can be acquired according to the method for acquiring the obstacle map provided in the above embodiment. The method for updating the corresponding historical map by the second obstacle map to obtain the updated map can refer to the specific description of updating the historical map based on the first obstacle map in S201.

[0060] In another possible implementation, if all the updated maps obtained based on the acquired second obstacle maps cannot plan a moving path of the robot during the process that the depth camera rotates from the first direction to the to-be-moved direction, the depth camera can be controlled to rotate by a preset angle in a direction opposite to the to-be-moved direction, and a fourth obstacle map in at least one third direction can be acquired.

[0061] For example, assuming that the to-be-moved direction is on the left side of the first direction, and all the updated maps obtained during the process that the depth camera rotates from the first direction to the left side to direction one cannot plan a moving path of the robot. The camera can be controlled to continue rotating from direction one in a direction opposite to the to-be-moved direction, i.e., to rotate from direction one to the right side of the first direction. Specifically, the camera can be controlled to rotate by 120 degrees from direction one to direction two, and at least one fourth obstacle map in a third direction can be acquired during the rotating process. Direction one and direction two are mirror directions relative to the first direction, so that the depth camera rotates periodically between direction one and direction two starting from the first direction, thereby expanding the sensing range of the depth camera.

[0062] It should be noted that the acquisition method of the fourth obstacle map is the same as the formation methods of the first obstacle map, the second obstacle map, and the third obstacle map, and specific descriptions can be referred to the foregoing descriptions of the formation method of the first obstacle map.

[0063] S204, updating the historical obstacle map according to the second obstacle map to obtain an updated obstacle map, and planning a moving path of the robot according to the updated obstacle map.

[0064] In a possible implementation, the second obstacle map in each second direction is acquired in sequence during the process that the depth camera rotates from the first direction to the to-be-moved direction, and the historical obstacle map is updated in real time by using the second obstacle map. Assuming that the updated obstacle map obtained by sequentially updating the historical obstacle map based on the second obstacle map acquired in each direction during the process that the depth camera rotates from the first direction to direction four can plan a moving path of the robot, the robot can be instructed to continue moving from the current position to the target position according to the moving path. Direction four can be any one of a direction between the first direction and direction two or a direction between direction two and direction three. It should be noted that the updating method of the historical obstacle map can also be referred to the foregoing descriptions, which will not be described herein again.

[0065] In another possible implementation, if the updated obstacle map obtained by updating the historical obstacle map in real time using the second obstacle map during the process of rotating the depth camera from the first direction to the direction to be moved cannot plan a moving path of the robot, the depth camera is controlled to rotate to the direction opposite to the direction to be moved based on the description in the above embodiment, and a fourth obstacle map in at least one third direction is acquired during the process of rotating, and the updated obstacle map is updated in real time according to the acquired fourth obstacle map to obtain a target obstacle map. Then, the moving path of the robot is planned according to the target obstacle map.

[0066] Optionally, after the moving path of the robot is determined through the updated obstacle map or the target obstacle map, if the direction of the depth camera is not the first direction, the depth camera needs to be controlled to rotate back to the first direction. The first direction can be the forward direction of the robot during the moving process, so that the robot can better identify the obstacles in the forward direction through the depth camera during the moving process.

[0067] Based on the robot provided in the application, the robot can update a historical map containing all obstacles observed at historical time in real time according to the first obstacle map acquired at the current time to obtain a historical obstacle map, so as to determine the moving path of the robot according to the historical obstacle map. However, due to the large visual angle blind area of a single depth camera, when the path cannot be planned according to the historical obstacle map, the first movable path of the robot can be determined through the first obstacle map, so as to determine the direction to be moved of the robot according to the first movable path, and then determine the rotating direction of the depth camera, so that the depth camera rotates according to the preset angle, thereby expanding the observation visual angle of the single depth camera, so as to acquire the second obstacle map in the second direction during the process of rotating, and determine the updated obstacle map after updating the historical obstacle map according to the second obstacle map to plan the moving path of the robot. If the moving path of the robot cannot be planned based on the updated obstacle map, the depth camera is controlled to rotate to the direction opposite to the direction to be moved, the fourth obstacle map in the third direction is acquired to update the updated obstacle map in real time, and the target obstacle map is obtained, and the moving path of the robot is planned according to the target obstacle map. According to the path planning method provided in the application, the depth camera can be swung to perceive the obstacles in the visual angle range in all directions, so as to acquire the updated obstacle map that can determine the moving path of the robot, improve the operation efficiency of the algorithm, and the single depth camera arranged on the robot can reduce the hardware cost.

[0068] Based on the same inventive concept, the application further provides a robot path planning method, which comprises the steps implemented by the robot in the above-mentioned embodiments. Specifically, the method comprises the following steps: obtaining a historical obstacle map; when a moving path of the robot cannot be planned according to the historical obstacle map, determining a first movable path according to a first obstacle map obtained by the depth camera in a first direction, and determining a to-be-moved direction of the robot according to the first movable path; controlling the depth camera to rotate to the to-be-moved direction, and obtaining a second obstacle map in a second direction; updating the historical obstacle map according to the second obstacle map to obtain an updated obstacle map; and planning the moving path of the robot according to the updated obstacle map.

[0069] Optionally, the obtaining of the historical obstacle map comprises: updating a historical map according to the first obstacle map to obtain the historical obstacle map, wherein the historical map is determined according to at least one third obstacle map obtained before the depth camera obtains the first obstacle map.

[0070] Optionally, the forming method of the first obstacle map comprises: obtaining a depth image by the depth camera; and mapping a pixel point indicating an obstacle in the depth image and the depth camera into an initial obstacle map according to parameters of the depth camera and a pose of the robot to form the first obstacle map, wherein the first obstacle map comprises a first mapping point corresponding to the pixel point and a second mapping point corresponding to the depth camera.

[0071] Optionally, the updated obstacle map comprises the first mapping point and the second mapping point; and the determining of the moving path of the robot according to the updated obstacle map comprises: determining a region in which no obstacle exists in the updated obstacle map according to the first mapping point and the second mapping point, and planning the moving path of the robot according to the region.

[0072] Optionally, the parameters of the depth camera comprise intrinsic parameters and extrinsic parameters; and the determining of the first mapping point corresponding to the pixel point comprises: determining a first position of the pixel point in a camera coordinate system according to the intrinsic parameters and a depth value corresponding to the pixel point; determining a second position of the pixel point in a world coordinate system according to the extrinsic parameters, the pose and the first position; and determining the first mapping point of the pixel point in the initial obstacle map based on the second position.

[0073] Optionally, the determining of the second mapping point corresponding to the depth camera comprises: determining a third position of the depth camera in the world coordinate system according to the extrinsic parameters and the pose; and determining the second mapping point of the depth camera in the initial obstacle map based on the third position.

[0074] Optionally, after the updated obstacle map is obtained, the robot path planning method further comprises the following step: controlling the depth camera to rotate back to the first direction.

[0075] Optionally, the first direction is a forward direction of the robot.

[0076] It can be understood that the specific implementation process of each step in the method embodiment can refer to the steps implemented by the robot in the above-mentioned embodiments, which will not be described here.

[0077] The application embodiment further provides a computer readable storage medium, which stores a computer program. The computer program is executed by a processor to implement the steps implemented by the robot in the above-mentioned embodiments.

[0078] The application embodiment provides a computer program product. When the computer program product is run on a mobile terminal, the mobile terminal is caused to implement the steps implemented by the robot in the above-mentioned embodiments.

[0079] In this application, the reference to "one embodiment" or "some embodiments" means that the specific features, structures or characteristics described in connection with the embodiment are included in one or more embodiments of the application. Therefore, the statements "in one embodiment", "in some embodiments", "in other some embodiments", "in further some embodiments" and the like appearing in different places in the specification are not necessarily all referring to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized. The terms "include", "contain", "have" and their variants mean "including but not limited to", unless otherwise specifically emphasized.

[0080] In the description of the application, it should be understood that the terms "first", "second" are used for description purposes only, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features limited by "first", "second" can explicitly or implicitly include at least one of the features. It should also be understood that the term "and / or" used in the specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes these combinations.

[0081] In addition, in this application, unless otherwise explicitly specified and limited, the terms "connection", "connection" and the like should be understood broadly, for example, it can be mechanical connection, or electrical connection; it can be direct connection, or indirect connection through intermediate medium, it can be the internal communication of two elements or the interaction relationship between two elements, unless otherwise explicitly limited, the specific meaning of the above terms in this application can be understood according to the specific circumstances by those skilled in the art.

[0082] The above embodiments are only used to illustrate the technical solutions of the present application, and are not intended to limit the present application; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacements for part or all of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A robot, comprising: A memory, a processor, and a rotatable depth camera, wherein the memory stores a computer program executable on the processor, characterized in that the processor, when invoking and executing the computer program, performs the following steps: Get historical obstacle maps; When the robot's movement path cannot be planned based on the historical obstacle map, a first movable path is determined based on the first obstacle map obtained by the depth camera along the first direction, and the robot's direction to be moved is determined based on the first movable path. The direction to be moved is the direction indicated by the area in the first obstacle map where there are no obstacles. The depth camera is controlled to rotate in the direction to be moved. During the rotation, multiple second obstacle maps in the second direction are acquired in real time. The historical obstacle map is iteratively updated based on the multiple second obstacle maps in the second direction to obtain the updated obstacle map. The robot's movement path is planned based on the updated obstacle map; If the robot's movement path cannot be planned based on the updated obstacle map, the depth camera is controlled to rotate in the opposite direction to the direction to be moved. During the rotation, multiple third-party upward fourth obstacle maps are acquired in real time, and the updated obstacle map is iteratively updated based on the multiple third-party upward fourth obstacle maps to obtain the target obstacle map. The robot's movement path is planned based on the target obstacle map.

2. The robot according to claim 1, characterized in that, The acquisition of the historical obstacle map includes: The historical obstacle map is obtained by updating the historical obstacle map based on the first obstacle map. The historical obstacle map is determined by at least one third obstacle map acquired before the depth camera acquires the first obstacle map.

3. The robot according to claim 2, characterized in that, The method for forming the first obstacle map includes: Depth images are acquired using the depth camera; Based on the parameters of the depth camera and the pose of the robot, the depth camera and the pixels indicating obstacles in the depth image are mapped onto an initial obstacle map to form the first obstacle map. The first obstacle map includes a first mapping point corresponding to the pixel and a second mapping point corresponding to the depth camera.

4. The robot according to claim 3, characterized in that, The updated obstacle map includes the first mapping point and the second mapping point; Determining the robot's movement path based on the updated obstacle map includes: Based on the first mapping point and the second mapping point, determine the area in the updated obstacle map where the obstacle does not exist, and plan the robot's movement path based on the area.

5. The robot according to claim 3, characterized in that, The parameters of the depth camera include intrinsic and extrinsic parameters; The method for determining the first mapping point corresponding to the pixel includes: The first position of the pixel in the camera coordinate system is determined based on the intrinsic parameters and the depth value corresponding to the pixel. The second position of the pixel in the world coordinate system is determined based on the extrinsic parameters, the pose, and the first position. Based on the second location, the first mapping point of the pixel in the initial obstacle map is determined.

6. The robot according to claim 5, characterized in that, The method for determining the second mapping point corresponding to the depth camera includes: The third position of the depth camera in the world coordinate system is determined based on the extrinsic parameters and the pose. Based on the third location, the second mapping point of the depth camera in the initial obstacle map is determined.

7. The robot according to claim 1, characterized in that, After obtaining the updated obstacle map, the processor is further configured to perform the following steps when invoking and executing the computer program: controlling the depth camera to rotate back to the first direction.

8. The robot according to any one of claims 1 to 7, characterized in that, The first direction is the direction in which the robot moves forward.

9. A robot path planning method, characterized in that, include: Get historical obstacle maps; When the robot's movement path cannot be planned based on the historical obstacle map, a first movable path is determined based on the first obstacle map obtained by the depth camera along the first direction, and the robot's direction of movement is determined based on the first movable path. The depth camera is controlled to rotate in the direction to be moved. During the rotation, second obstacle maps in multiple second directions are acquired. The historical obstacle map is iteratively updated based on the second obstacle maps in multiple second directions to obtain the updated obstacle map. The robot's movement path is planned based on the updated obstacle map; If the robot's movement path cannot be planned based on the updated obstacle map, the depth camera is controlled to rotate in the opposite direction to the direction to be moved. During the rotation, multiple third-direction upward fourth obstacle maps are acquired, and the updated obstacle map is iteratively updated based on the multiple third-direction upward fourth obstacle maps to obtain the target obstacle map. The robot's movement path is planned based on the target obstacle map.

10. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the steps performed by the robot as described in any one of claims 1 to 8.

Citation Information

Patent Citations

  • Temporary robot obstacle avoidance method based on depth camera

    CN106054900A

  • Robot obstacle avoidance method and device, robot and storage medium

    CN111123949A

  • Three-dimensional reconstruction method and device for monocular endoscope image and terminal equipment

    CN111145238A