CN108459599B - Motion path planning method and device - Google Patents

Motion path planning method and device Download PDF

Info

Publication number
CN108459599B
CN108459599B CN201711395153.0A CN201711395153A CN108459599B CN 108459599 B CN108459599 B CN 108459599B CN 201711395153 A CN201711395153 A CN 201711395153A CN 108459599 B CN108459599 B CN 108459599B
Authority
CN
China
Prior art keywords
point
grid
target object
target
grid point
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.)
Active
Application number
CN201711395153.0A
Other languages
Chinese (zh)
Other versions
CN108459599A (en
Inventor
包鼎华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201711395153.0A priority Critical patent/CN108459599B/en
Publication of CN108459599A publication Critical patent/CN108459599A/en
Application granted granted Critical
Publication of CN108459599B publication Critical patent/CN108459599B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0217Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with energy consumption, time reduction or distance reduction criteria
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process

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

The application discloses a motion path planning method and a device, which are used for optimizing the existing path planning method, and the method comprises the following steps: the method comprises the steps of detecting a target object, wherein the target object is an object of a preset type, marking a mapping area of the target object on a grid map to obtain a target grid map, determining available speed direction sets corresponding to M grid points in the mapping area respectively according to a preset speed rule, wherein the preset speed rule and the preset type have a corresponding relation, and determining a motion path from a starting point to an end point according to the available speed direction sets corresponding to the target grid map and the M grid points respectively. By the method, the robot can have a specific speed direction when passing through a specific area, and the success rate of the robot when crossing over the terrain with obstacles is improved.

Description

Motion path planning method and device
Technical Field
The application relates to the technical field of artificial intelligence, in particular to a motion path planning method and device.
Background
The current common method for robot motion planning is to calculate a path with the shortest distance according to the positions of a starting point and an end point on a grid map and the principle of the shortest straight line between the two points, then perform speed decomposition on each grid point passing through the path respectively to obtain a speed control instruction sequence, and finally execute each speed control instruction in the speed control instruction sequence in sequence.
However, the method adopts the shortest distance method to plan the path, does not consider the specific requirements of different application scenes, and affects the application range of the robot.
For example, an indoor mobile robot generally has poor obstacle-surmounting capability, and may not successfully surmount terrain such as a slope, a threshold, or a common ground protrusion. For example, when the robot climbs over the ground, the robot may slip or be caught by the ground wire. Taking the threshold as an example, as shown in fig. 1, the robot needs to cross the threshold C at the position B of the house a to reach the position E of the house D, and according to the shortest distance method, the processor will plan a path with the shortest distance from B to E, i.e. a straight path, as the moving path of the robot, but the robot may slip when passing through the threshold C in the moving path, and thus cannot cross the threshold smoothly.
Therefore, the shortest distance method is adopted for path planning, obstacle-traversable terrain is not considered, and the use range of the robot is possibly limited.
Disclosure of Invention
The application provides a motion path planning method and a motion path planning device, which are used for optimizing the existing path planning method and expanding the application range of a robot.
In a first aspect, the present application provides a method for planning a motion path, including:
detecting a target object, wherein the target object is an object of a preset type; marking a mapping area of the target object on a grid map to obtain a target grid map, wherein the mapping area is used for indicating the area of the target object on the grid map, the mapping area comprises N grid points, and N is a positive integer; determining an available speed direction set corresponding to M grid points in the mapping region respectively according to a preset speed rule, wherein the preset speed rule and the preset type have a corresponding relation, M is not more than N, and M is a positive integer; and determining a motion path from a starting point to an end point according to the available speed direction sets respectively corresponding to the target grid map and the M grid points.
By adopting the method, the content of the grid map can be enriched by marking the mapping area of the target object on the grid map, the specific speed direction passing through the specific area can be realized by determining the available speed direction set corresponding to the grid points in the mapping area, and furthermore, the optimization of the existing path planning method can be realized by determining the movement path from the starting point to the end point according to the available speed direction sets respectively corresponding to the target grid map and the M grid points, so that the success rate of the robot crossing over the terrain with obstacles can be improved, and the use range of the robot can be enlarged.
In a possible design, the motion path passes through the mapping area, the motion path includes at least one target grid point, the target grid point is a grid point where the motion path passes through the mapping area, and a speed direction of the target grid point is one speed direction in an available speed direction set corresponding to the target grid point.
By adopting the method, when the motion path passes through the mapping area, the robot can have a specific speed direction when passing through the specific area, the success rate that the robot can cross over the obstacle terrain when crossing over the obstacle terrain is improved, and the application range of the robot is expanded.
In one possible design, before a mapping area of the target object is marked on the grid map to obtain a target grid map, a target image containing the target object is acquired; determining edge coordinates of the target object in a three-dimensional robot coordinate system according to the parameters of the target image and internal parameters of a camera for collecting the target image, wherein the edge coordinates of the target object are used for indicating the outline of the target object; and determining the mapping area of the target object on the grid map according to the edge coordinates of the target object.
By adopting the method, after the target object is determined to be detected through other equipment, the target image containing the target object is collected, and the mapping area of the target object on the grid map is simply determined according to the parameters of the target image and the internal reference of the camera for collecting the target image.
In one possible design, the target object may be detected by, but not limited to, the following methods: detecting the target object in the acquired target image;
before a mapping area of the target object is marked on the grid map to obtain a target grid map, determining edge coordinates of the target object in a three-dimensional coordinate system of the robot according to parameters of the target image and internal parameters of a camera for collecting the target image, wherein the edge coordinates of the target object are used for indicating the outline of the target object; and determining the mapping area of the target object on the grid map according to the edge coordinates of the target object.
By adopting the method, after the target object is determined to be detected through the target image acquired by the camera, the mapping area of the target object on the grid map is simply determined according to the parameters of the target image and the internal reference of the camera acquiring the target image.
In a possible design, the determining, according to a preset speed rule, available speed direction sets corresponding to M grid points in the mapping region may adopt, but is not limited to, the following methods: and determining an available speed direction set of the M grid points in the mapping area according to the preset speed rule and the edge coordinates of the target object.
By adopting the method, the available speed direction sets corresponding to the M grid points in the mapping area can be accurately determined, and the method is simple and easy to implement.
In one possible design, the height of the target object is less than the maximum value of the robot traversable height.
Therefore, the robot can be ensured to successfully cross the target object, and the success rate of crossing is improved.
In a possible design, the motion path from the starting point to the end point is determined according to the available speed direction sets corresponding to the target grid map and the M grid points respectively, and the following methods can be adopted, but are not limited to:
determining one speed direction in an available speed direction set corresponding to an ith grid point as the speed direction of the ith grid point according to the position relationship among the starting point, the end point and the mapping area, wherein the ith grid point is any one of the M grid points;
calculating the shortest distance between the ith grid point and the starting point according to the speed direction of the ith grid point;
calculating the shortest distance between the ith grid point and the end point;
calculating the shortest distance between a grid point which the motion path may pass through and the starting point in an area except the mapping area in the target grid map, wherein the speed direction of the grid point which the motion path may pass through points to an upper point of the grid point which the motion path may pass through in a path from the starting point to the grid point which the motion path may pass through and corresponds to the shortest distance between the grid point which the motion path may pass through and the starting point;
calculating the shortest distance between the grid point which the motion path can pass through and the end point;
determining the movement path according to the speed direction of each grid point in the M grid points, the sum of the shortest distance between each grid point in the M grid points and the starting point and the shortest distance between the M grid points and the end point, and the speed direction of the grid points which the movement path may pass through, and the sum of the shortest distance between the grid points which the movement path may pass through and the starting point and the shortest distance between the grid points and the end point, wherein for the jth grid point, the grid point which points to the jth grid point in the speed direction and has the smallest sum of the shortest distance between the jth grid point and the starting point and the shortest distance between the jth grid point and the end point is selected as the lower point of the jth grid point, wherein the jth grid point is any one grid point which the movement path passes through except the end point and the upper point of the end point.
Therefore, compared with the prior art, the path is planned only by the shortest distance method, and the speed direction adopted by the robot passing through the specific area is not considered, so that the success rate of the robot passing through the specific area smoothly is not high. The method for planning the path considers that a specific speed direction is required to be adopted when the robot passes through a specific area, the success rate of the robot passing through the specific area smoothly is improved, the hardware cost is not required to be increased, and the application range of the robot is expanded.
In one possible design, the movement path satisfies that the distance between the start point and the end point is shortest.
In a second aspect, a motion path planning apparatus comprises:
the detection unit is used for detecting a target object, and the target object is an object of a preset type;
the processing unit is used for marking a mapping area of the target object on a grid map to obtain a target grid map, wherein the mapping area is used for indicating the area of the target object on the grid map, the mapping area comprises N grid points, and N is a positive integer;
determining an available speed direction set corresponding to M grid points in the mapping region respectively according to a preset speed rule, wherein the preset speed rule and the preset type have a corresponding relation, M is not more than N, and M is a positive integer;
and determining a movement path from a starting point to an end point according to the available speed direction sets corresponding to the target grid map and the M grid points respectively, wherein the movement path passes through the mapping area, the movement path comprises at least one target grid point, the target grid point is a grid point of the movement path passing through the mapping area, and the speed direction of the target grid point is one speed direction in the available speed direction sets corresponding to the target grid point.
In one possible design, the detection unit is specifically configured to:
detecting the target object in the acquired target image;
the processing unit is further configured to: before a mapping area of the target object is marked on the grid map to obtain a target grid map, determining edge coordinates of the target object in a three-dimensional coordinate system of the robot according to parameters of the target image and internal parameters of a camera for collecting the target image, wherein the edge coordinates of the target object are used for indicating the outline of the target object; and determining the mapping area of the target object on the grid map according to the edge coordinates of the target object.
In one possible design, the processing unit is specifically configured to:
and determining an available speed direction set of the M grid points in the mapping area according to the preset speed rule and the edge coordinates of the target object.
In one possible design, the height of the target object is less than the maximum value of the robot traversable height.
In one possible design, the processing unit is specifically configured to:
determining one speed direction in an available speed direction set corresponding to an ith grid point as the speed direction of the ith grid point according to the position relationship among the starting point, the end point and the mapping area, wherein the ith grid point is any one of the M grid points;
calculating the shortest distance between the ith grid point and the starting point according to the speed direction of the ith grid point;
calculating the shortest distance between the ith grid point and the end point;
calculating the shortest distance between a grid point which the motion path may pass through and the starting point in an area except the mapping area in the target grid map, wherein the speed direction of the grid point which the motion path may pass through points to an upper point of the grid point which the motion path may pass through in a path from the starting point to the grid point which the motion path may pass through and corresponds to the shortest distance between the grid point which the motion path may pass through and the starting point;
calculating the shortest distance between the grid point which the motion path can pass through and the end point;
determining the movement path according to the speed direction of each grid point in the M grid points, the sum of the shortest distance between each grid point in the M grid points and the starting point and the shortest distance between the M grid points and the end point, and the speed direction of the grid points which the movement path may pass through, and the sum of the shortest distance between the grid points which the movement path may pass through and the starting point and the shortest distance between the grid points and the end point, wherein for the jth grid point, the grid point which points to the jth grid point in the speed direction and has the smallest sum of the shortest distance between the jth grid point and the starting point and the shortest distance between the jth grid point and the end point is selected as the lower point of the jth grid point, wherein the jth grid point is any one grid point which the movement path passes through except the end point and the upper point of the end point.
In one possible design, the movement path satisfies that the distance between the start point and the end point is shortest.
In a third aspect, the present application provides a motion path planning apparatus, comprising: a processor and a memory. Wherein the memory is used for storing a program, and the processor calls the program stored in the memory to execute the method as any one of the possible designs of the first aspect.
In a fourth aspect, the present application provides a computer-readable medium having program code stored thereon, which, when run on a computer, causes the computer to perform any one of the possible design methods of the first aspect described above.
In a fifth aspect, the present application provides a computer program product comprising: computer program code for causing a computer to perform any one of the possible designed methods of the first aspect described above when said computer program code is run on a computer.
In a sixth aspect, the present application provides a computer program which, when run on a computer, causes the computer to perform any one of the possible design methods of the first aspect described above.
In a seventh aspect, the present application provides a robot, including a mobile chassis, a camera, a sensor, a processor, and a memory.
The mobile chassis is used for providing a mobile function for the robot; the camera is used for collecting images of surrounding objects for the robot; the sensor is used for detecting surrounding objects for the robot; the memory is used for storing a program and the processor calls the program stored in the memory to perform a method as any one of the possible designs of the first aspect.
Drawings
Fig. 1 is a schematic diagram of a robot motion path planned by a shortest distance method in the background art of the present application;
FIG. 2 is a schematic structural diagram of a robot according to an embodiment of the present disclosure;
fig. 3 is a schematic diagram of a motion path of the robot when the speed direction of the threshold C is perpendicular to the vertical plane where the edge of the threshold C is located in the embodiment of the present application;
FIG. 4 is a flowchart illustrating an overview of a method for planning a movement path according to an embodiment of the present application;
FIG. 5 is a schematic view of a motion path in an embodiment of the present application;
FIGS. 6(a) and 6(b) are schematic diagrams of sets of available velocity directions respectively corresponding to grid points in a mapping region in an embodiment of the present application;
fig. 7(a) and fig. 7(b) are schematic diagrams illustrating determining whether a motion path passes through a mapping region according to a position relationship among a starting point, an end point and the mapping region in the embodiment of the present application;
FIG. 8 is a velocity direction diagram of each grid point in the mapping region in an embodiment of the present application;
fig. 9 is a schematic diagram of a movement path planned by using a conventional shortest distance method in the embodiment of the present application;
fig. 10 is a schematic diagram of a movement path obtained by planning the movement path by using the existing shortest distance method in the embodiment of the present application;
FIG. 11 is a diagram illustrating a new shortest distance method for planning a movement path according to an embodiment of the present disclosure;
fig. 12 is a schematic diagram of a movement path obtained by planning the movement path by using a new shortest distance method in the embodiment of the present application;
FIG. 13 is a schematic diagram of a product configuration of a robot in an embodiment of the present application;
fig. 14 is a schematic structural diagram of a movement path planning apparatus in an embodiment of the present application;
fig. 15 is a schematic structural diagram of a movement path planning apparatus in an embodiment of the present application.
Detailed Description
Embodiments of the present application are described below with reference to the accompanying drawings.
As shown in fig. 2, which is a schematic structural diagram of a robot in an embodiment of the present application, the robot 200 includes a mobile chassis 201, a camera 202, a sensor 203, a processor 204, and a memory 205.
The mobile chassis 201 is used to provide a moving function for the robot, for example, the mobile chassis includes wheels, or the mobile chassis includes a track and an inducer for driving the track.
The camera 202 is used for gathering the image of object around for the robot, and the camera in this application embodiment is for can providing the degree of depth camera or the binocular camera of object distance information.
The sensor 203 is used for detecting surrounding objects for the robot and providing the robot with the functions of positioning and avoiding obstacles, and the sensor in the embodiment of the present application includes, but is not limited to, a laser radar, an ultrasonic sensor, and the like.
The memory 205 is used for storing programs, and the processor 204 calls the programs stored in the memory 205 to realize the planning of the motion path for the robot.
The robot in the embodiment of the application can operate in an indoor environment and can also operate in an outdoor environment.
If the robot can ensure that the speed direction is perpendicular to the vertical plane of the edge of the threshold C when passing through the threshold C as shown in fig. 1, the possibility that the robot smoothly turns over the threshold may be increased, and the moving path of the robot is shown in fig. 3. However, the existing shortest distance method cannot plan a path that passes through the rocker C in a speed direction that is perpendicular to a vertical plane in which the boundary of the rocker C lies.
It should be understood that the method provided by the embodiment of the application is not limited to be applied to a scene that the robot passes through the terrain capable of crossing obstacles, and can also be applied to other scenes that pass through a specific area and have a requirement on a specific speed direction.
Referring to fig. 4, an embodiment of the present application provides a movement path planning method, which is used for optimizing an existing path planning method, so that a robot has a specific speed direction when passing through a specific area, the success rate of the robot crossing over a terrain with obstacles can be improved, and the application range of the robot is expanded.
Before the path planning is performed by using the method shown in fig. 4, the following contents need to be preset first:
first, a grid map.
Specifically, the grid map can be scanned and acquired by third-party software or open source software, or constructed by using data collected by a laser radar or a depth camera and by using a mapping or instant positioning and mapping (S L AM) algorithm.
Furthermore, the grid map is initialized to map objects that can be labeled.
Second, models of objects of a preset type.
Generally, a user may set a plurality of models of preset types of objects as needed, where each model of preset type of objects is used to implement recognition of a target object and boundary segmentation of the target object, and each model of preset type of objects may be obtained by performing model training for the type of objects. For example, a threshold model is obtained by performing machine learning on a large number of pictures including the threshold through an object segmentation (object segmentation) algorithm. It should be understood that the model of the preset type of object may also be obtained by other existing methods, and will not be described herein again.
In one possible design, a model of each preset type of object is created for a class of reversible obstacles.
Third, speed rules are preset.
The preset speed rule and the preset type have a corresponding relation, and the preset speed rule can be used for limiting the speed direction, the speed magnitude and the like of each grid point in the mapping area of the target object.
For example, the preset type of object is a threshold, and the preset speed rule corresponding to the preset type of object is as follows: the direction of the speed entering the threshold edge is perpendicular to the vertical plane of the threshold edge and the speed direction is kept unchanged in the threshold area.
It should be understood that the above three items of content may be stored in a memory inside the robot or in a network server accessible by the robot.
Referring to fig. 4, an embodiment of the present application provides a method for planning a movement path, including:
step 400: the robot detects the target object.
The target object is a preset type object.
Specifically, the robot may detect the target object in the following manners:
mode 1: the camera acquires images in a visual field range, and the processor identifies that the images contain target objects according to the model of the preset type of objects, wherein the images containing the target objects are target images.
Mode 2: other equipment detects the target object, can also further gather the target image that contains the target object through the camera.
It should be understood that the above two ways are only examples, and the embodiment of the present application does not limit the way of detecting the target object.
Step 410: and marking the mapping area of the target object on the grid map by the robot to obtain the target grid map.
Before the robot performs step 410, a processor in the robot needs to first determine a mapping region of the target object, where the mapping region is used to indicate the region where the target object is located on the grid map, where the mapping region includes N grid points, where N is a positive integer.
Specifically, but not limited to, the following methods can be employed: the processor can identify a target object according to the model of the object of the preset type and segment the boundary of the target object to obtain the edge coordinates of the target object in the three-dimensional coordinate system of the robot. Further, the processor may determine a mapping area of the target object on the grid map in combination with the grid map according to the edge coordinates of the target object.
For example, after the robot detects the target object, the processor determines the color coordinates and the depth coordinates of the edge of the target object according to the target image, and calculates the edge coordinates of the target object in the three-dimensional coordinate system of the robot by combining the parameters of the target image and the internal parameters of the camera for collecting the target image. The target image parameter is resolution, and the internal parameters of a camera for acquiring the target image are a focus, a transverse focal length and a longitudinal focal length.
Further, the processor determines a mapping area of the target object on the grid map according to the pitch angle and the rotation angle of the current camera and the pose of the robot, and marks the mapping area of the target object on the grid map to obtain the target grid map.
The mapping annotation process is detailed below by way of example:
the position of the robot in the grid map is known, the rotation angle of a camera on the robot is known to be a degrees, the pitching angle is known to be b degrees, the coordinates of a color (Red, Green, Blue, RGB) map of a certain point on the edge of the target object are known to be (m, n), the corresponding depth coordinate at the coordinates (m, n) of the RGB map is known to be h, the RGB resolution is set to be WxH, and the focal length of the camera is known to be C.
The mapping and labeling steps are as follows:
and step 1, converting the image position (m, n, h) into a camera three-dimensional coordinate system (x1, y1, z 1).
And 2, transferring from the camera three-dimensional coordinate system (x1, y1, z1) to the robot three-dimensional coordinate system (x, y, z).
And 3, repeating the step 1 and the step 2 to obtain the coordinates of each point on the edge of the target object in the three-dimensional coordinate system of the robot.
And 4, determining a mapping area of the target object on the grid map according to the rotation angle of the camera being a degrees, the pitching angle being b degrees, the current pose of the robot on the grid map, and the coordinates of each point on the edge of the target object under the three-dimensional coordinate system of the robot, and marking the mapping area of the target object on the grid map to obtain the target grid map.
It should be noted that the above coordinate transformation method is a general method in the art, and is not described herein again.
Step 420: the robot determines an available speed direction set corresponding to M grid points in the mapping area respectively according to a preset speed rule, wherein M is less than or equal to N, and M is a positive integer.
In one possible design, each grid point in the grid map corresponds to a list of attributes that are used to record the set of available velocity directions for that grid point. And the processor modifies the attribute lists respectively corresponding to the M grid points in the mapping region according to a preset speed rule, and determines an available speed direction set respectively corresponding to the M grid points.
There are 8 speed directions available in the attribute list corresponding to the normal grid point, namely, forward, backward, left, right, left forward, left backward, right forward, right backward 8 speed directions. In one motion path, the velocity direction of each grid point points to the upper point of the grid point in the path from the starting point to the grid point corresponding to the shortest distance between the grid point and the starting point. The grid points on which the motion path passes as shown in fig. 5 include a start point, an a point, a B point, and an end point. The speed direction of the point a points to the starting point (i.e. the lower point of the starting point in the motion path is the point a, and the upper point of the point a is the starting point), the speed direction of the point B points to the point a, and the speed direction of the end point points to the point B.
It should be understood that the velocity direction of each grid point referred to in the embodiments of the present application is not the velocity direction of the robot passing through the grid point, but is the opposite direction of the velocity direction of the grid point.
For example, the preset type of object is a threshold, and the preset speed rule corresponding to the preset type of object is as follows: the direction of the speed of entering the threshold edge is perpendicular to the vertical plane in which the threshold edge is located and remains constant in the region of the threshold. Therefore, the processor modifies the attribute list corresponding to each grid point in the mapping area according to the preset speed rule, at this time, each grid point in the mapping area has only 2 speed directions available, and the speed directions of each grid point in the mapping area are the same.
As shown in fig. 6(a) and 6(b), the region including the thick-line grid is a mapping region of the threshold. The available velocity directions respectively corresponding to the respective grid points in the mapping region are set to the arrow direction (downward) as shown in fig. 6(a) and the arrow direction (upward) as shown in fig. 6 (b). The available velocity directions of the other grid points in fig. 6(a) and 6(b) except the mapping region of the threshold are 8.
In addition, as shown in fig. 6(a), the mapping area of the threshold includes 6 grids, and in order to ensure that the robot can smoothly cross the threshold, the preset speed rule may also configure the unavailable speed directions of the grid points on both sides, the available speed directions of the two middle grid points are 2, that is, the unavailable speed directions of the grid point 1, the grid point 3, the grid point 4 and the grid point 6 are 2, and the available speed directions of the grid point 2 and the grid point 5 are 2. The available velocity directions for the other grid points in fig. 6(a) except the mapping region of the threshold are 8.
In one possible design, each grid point in the grid map corresponds to an attribute function. The processor modifies the attribute function corresponding to each grid point in the mapping area according to a preset speed rule, the modified attribute function can determine the speed direction of each grid point in the mapping area, the input of the attribute function can be the edge coordinate or other parameter values of a target object corresponding to a certain grid point in the mapping area, and the return value is the available speed direction of the grid point.
For example, the normal grid substitutes any of the possible 8 speed directions as arguments, and the resulting return values are all true. And modifying the attribute function corresponding to each grid point in the mapping area by the processor according to a preset speed rule, wherein the modified attribute function is substituted only by taking a specific direction as an independent variable, and the obtained return value is true.
In addition, other methods may be used to determine the available speed direction set corresponding to the grid point in the mapping region, for example, a graphical interface is developed in a mobile phone application that is matched with a robot product to allow a user to input the available speed direction set relatively easily, a professional programming software interface is opened for advanced users, or a World Wide Web (World Wide Web) interface that can be used on a Personal Computer (PC) is developed to allow the user to input simple speed rules, etc.
Therefore, by the method, the processor can accurately determine the available speed direction sets corresponding to the M grid points in the mapping area, and the method is simple and easy to implement.
Step 430: and the robot determines a motion path from the starting point to the end point according to the available speed direction set corresponding to the target grid map and the M grid points respectively.
In one possible design, the motion path passes through the mapping region, the motion path includes at least one target grid point, the target grid point is a grid point of the motion path passing through the mapping region, and the speed direction of the target grid point is one speed direction in an available speed direction set corresponding to the target grid point.
It should be understood that the processor needs to determine whether the movement path passes through the mapping region according to the position relationship among the starting point, the end point and the mapping region.
For example, as shown in fig. 7(a), an area including a thick-line grid is a mapping area, and as can be seen from the position of the start point a on the target grid map and the position of the end point B on the target grid map, a motion path from the start point a to the end point B does not pass through the mapping area, and the motion path can be planned by using a conventional shortest distance method, which is not limited by the embodiment of the present application.
For example, as shown in fig. 7(B), the area including the thick-line grid is a mapping area, and the motion path from the start point a to the end point B passes through the mapping area as can be known from the position of the start point a on the target grid map and the position of the end point B on the target grid map.
In addition, before the processor performs motion path planning, the processor needs to determine that the height of the target object is smaller than the maximum value of the robot reversible height.
Specifically, the processor determines a movement path from the starting point to the ending point, and may adopt a new shortest distance method provided by the embodiment of the present application, where the method includes:
firstly, the processor determines one speed direction in an available speed direction set corresponding to an ith grid point in a mapping area as the speed direction of the ith grid point according to the position relation among a starting point, an end point and the mapping area, wherein the ith grid point is any one of M grid points;
as shown in fig. 8, the movement path from the start point to the end point passes through the mapping region where the velocity direction of each grid point is upward.
Then, the processor calculates the shortest distance between the ith grid point and the starting point according to the speed direction of the ith grid point, calculates the shortest distance between the ith grid point and the end point, and obtains the speed direction of each grid point in the M grid points, the shortest distance between each grid point and the starting point and the shortest distance between each grid point and the end point.
For example, the shortest distance between a grid point and a start point is represented by H, the shortest distance between a grid point and an end point is represented by G, and the sum of the shortest distance between a grid point and a start point and the shortest distance between the grid point and an end point is represented by F, as shown in fig. 9 to 12.
Likewise, the movement path from the start point to the end point passes through other areas on the target grid map in addition to the mapping area. Therefore, the processor further needs to calculate the shortest distance between the grid point where the motion path may pass and the starting point in the area except the mapping area in the target grid map, calculate the shortest distance between the grid point where the motion path may pass and the end point, and determine the speed direction of the grid point where the motion path may pass according to the distance between the grid point where the motion path may pass and the starting point, where the speed direction of the grid point where the motion path may pass points to the upper point of the grid point where the motion path may pass in the path from the starting point to the grid point where the motion path may pass corresponding to the shortest distance between the grid point where the motion path may pass and the starting point, as shown in fig. 11-12.
Further, the processor determines a movement path according to the speed direction of each grid point in the M grid points, the sum of the shortest distance between each grid point and the starting point and the shortest distance between each grid point and the end point in the mapping area, the speed direction of the grid point which the movement path may pass through, the shortest distance between the grid point which the movement path may pass through and the starting point and the shortest distance between the grid point and the end point, wherein for the jth grid point, the grid point which the speed direction points to the jth grid point and has the smallest sum of the shortest distance between the speed direction and the starting point and the shortest distance between the speed direction and the end point is selected as a lower point of the jth grid point, wherein the jth grid point is any grid point except the end point and an upper point of the end point on which the movement path passes through.
Specifically, the lower point from the starting point, which is the grid point having the shortest distance from the starting point and the shortest distance from the end point, and having the velocity direction pointing to the starting point among the 8 grid points adjacent to the starting point, is selected as the starting point, and is referred to as a 2 nd point.
It should be understood that the 8 grid points adjacent to the starting point are respectively the grid points in the front, back, left and right, front left, back left, front right and back right directions of the starting point.
And selecting the grid point with the speed direction pointing to the 2 nd point and the minimum sum of the shortest distance between the grid point and the starting point and the shortest distance between the grid point and the end point from the 7 grid points adjacent to the 2 nd point as the lower point of the 2 nd point, namely the 3 rd point.
It should be understood that the grid points adjacent to point 2 include 7 because the starting point is adjacent to point 2 and need to be excluded.
And selecting the grid point with the speed direction pointing to the 3 rd point and the minimum sum of the shortest distance between the grid point and the starting point and the shortest distance between the grid point and the end point from the 7 grid points adjacent to the 3 rd point as the lower point of the 3 rd point, namely the 4 th point.
It should be understood that the grid points adjacent to point 3 include 7 because point 3 is adjacent to point 2 and point 2 needs to be excluded.
The above process is repeated until the upper point of the end point is determined, and the upper point of the end point only can select the end point as the lower point, so that the motion path from the starting point to the end point is obtained.
Therefore, compared with the prior art, the path is planned only by the shortest distance method, and the speed direction adopted by the robot passing through the specific area is not considered, so that the success rate of the robot passing through the specific area smoothly is not high. The new shortest distance method provided by the embodiment of the application is adopted to plan the path, the fact that a specific speed direction needs to be adopted when the robot passes through a specific area is considered, the success rate of the robot passing through the specific area smoothly is improved, the hardware cost does not need to be increased, and the application range of the robot is expanded.
In one possible design, the movement path satisfies that the distance between the path start point and the path end point is the shortest.
It should be understood that the path planned using the above-described new shortest distance method is not a path corresponding to the shortest distance from the start point to the end point as it is, but takes into account a path corresponding to the shortest distance from the start point to the end point determined by the specific area using the specific speed direction.
In addition, it should be understood that the motion path obtained by the above method may be a global planned path determined for the grid map, and when a sensor inside the robot detects an obstacle, for example, an object moves onto the robot moving path and blocks the robot from passing through, the processor may modify the global planned path in time to avoid the obstacle, obtain a local planned path, and further decompose the local planned path into various speed control commands, and send the speed control commands to the mobile chassis for execution.
The following describes the exercise planning method provided by the embodiment of the present application with reference to specific embodiments.
First, a user stores a grid map including a room a and a room B, a type of reversible obstacle for which a model of a preset type of object is aimed, as a threshold, and a preset speed rule into a memory inside the robot.
Wherein, the preset speed rule is as follows: the direction of the speed of entering the threshold edge is perpendicular to the vertical plane in which the threshold edge is located and remains constant in the region of the threshold.
The method comprises the steps that a camera in the robot collects images in a visual field, a processor in the robot identifies the threshold in the images according to a model of an object of a preset type and divides the boundary of the threshold, and the processor determines the edge coordinates of the threshold and the mapping area of the threshold on a grid map. And the processor calls a callback function, inputs the edge coordinates of the threshold, writes the callback function according to a preset speed rule, and determines an available speed direction set corresponding to each grid point in the mapping area of the threshold according to the result output by the callback function.
As shown in fig. 9 to 12, the grid filled with gray is an obstacle, and the area including the grid with thick lines is a mapping area of the identified threshold. Where the tail of the black (or white) circle represents the velocity direction of the grid point. Filling in white circles represents the planned optimal motion path.
Let each grid side length be 10, diagonal length be 14, the number of the bottom left corner in each grid be its shortest distance from the starting point (the distance passing through each grid point is the minimum) and is denoted as the value G, the number of the bottom right corner in each grid be its shortest distance from the terminal point (this distance does not take into account the obstacle) and is denoted as the value H, the number of the top left corner in each grid is denoted as the value F, where F is G + H. Taking the grid at the upper left corner in fig. 8 as an example, G is 14, H is 110, and F is 124.
The method for planning the motion path by adopting the existing shortest distance method comprises the following steps:
step 1 is to traverse to find the F value, G value and H value of each possible grid point.
Taking fig. 9 as an example, the F value, G value, and H value of each possible grid point are first determined. The G value of each possible passing grid point is determined, and the velocity direction of the grid point is also determined at the same time.
The 2 nd step is to select the grid point which is not passed by the 8 grid points around the grid point and points to the grid point and has the smallest F value as the next point of the path, and so on until the end point is reached.
As shown in fig. 10, at the starting point position, looking around the 8 adjacent grid points around, the velocity directions all point to the starting point, the minimum F value is 84 (corresponding to grid point a), and the lower point of the starting point is grid point a. Among the grid points where the grid point a has not passed around and the velocity direction is directed to the grid point a, the grid point having the smallest F value (78) is determined to be the grid point B, and the lower point of the grid point a is the grid point B. After the 7 grid points which have not passed around are considered in the grid point B, the minimum F value is determined to be 84, and the grid point which points to the grid point B in the velocity direction is the grid point C, and the lower point of the grid point B is the grid point C. In the C grid, the minimum F value is determined to be 84 in consideration of the 7 grid points that go around, and the other grids whose upper points are C are considered in total, and if the lower grid is selected, it is found that this grid is not an upper point of any grid, and the end point cannot be reached, so only grid point D having an F value of 98 can be selected as the lower point of grid point C. At grid point D, only grid point E can be selected as the lower point of grid point D. Only grid point F can be selected as the lower point of grid point E at grid point E, the lower point of grid point F being the end point.
The method provided by the embodiment of the application can be modified, and the new shortest distance method comprises the following steps:
step 1 is to go through the F value, G value and H value of each possible passing grid.
It should be noted that, when calculating the shortest distance G between a grid point in the mapping area and the starting point, the shortest distance G between the grid point and the starting point needs to be calculated according to the speed direction of each grid point in the mapping area, as shown in fig. 11, when calculating the G, the grid point in the mapping area of the threshold can only calculate the G according to the determined speed direction.
Therefore, in the prior art, the original 8 possible speed directions in the step of obtaining the G value are changed into only one speed direction.
The grid point calculation G values outside the mapping region are consistent with the existing method.
Step 2: starting from the starting point, the grid point which is not walked by 8 grid points around the grid point, points to the grid point and has the smallest F value is selected as the next point of the path, and the like until the end point is reached.
As shown in fig. 12, the robot starts at the starting point position, looks around 8 adjacent grid points around, all points in the velocity direction to the starting point, and if the F value is minimum 84 (corresponding to grid point a), the lower point of the starting point is grid point a. Taking around the 7 grid points that have not been walked around, there are 3 grid points with a minimum F value of 84, only grid point B and grid point B' having their velocity directions pointing towards grid point a. When grid point B ' directly below grid point a is selected as a lower point of grid point a, grid point B ' is an upper point of grid point C ', which is an upper point of grid point D ', but grid point D ' has no lower point. Therefore, the lower point of grid point a is grid point B. The 7 grid points which have not been walked around are circled at the grid point B, the minimum F value is 84, and only the speed direction of the grid point C in the grid points with the F value of 84 points to the grid point B, and then the lower point of the grid point B is the grid point C. The circumference of the grid C is the 7 grid points which are walked, the minimum F value is 84, and only the speed direction of the grid point D in the grid points with the F value of 84 points to the grid point C, and the lower point of the grid point C is the grid point D. In the case where the grid point D includes two grid points whose velocity direction is directed to the grid point D in view of the 7 grid points which have not passed around, the grid point having the minimum F value of 84 is not the upper point of any grid point, and therefore, the grid point E having the F value of 98 is selected as the lower point of the grid point D. At grid point E, only grid point F can be selected as the lower point of grid point E. Only grid point G can be selected as the lower point of grid point F at grid point F, the lower point of grid point G being the end point.
By adopting the method, the shortest path from the starting point to the end point under the condition of meeting the preset speed rule can be obtained, and the robot can reach the end point from the starting point by adopting the path, so that the success rate of crossing the threshold by the robot can be improved.
It should be understood that the specific planning method provided in the embodiment of the present application is only an example, and is not limited in the present application, and other algorithms may also be used, for example, a path from a starting point to a certain grid point in a mapping region is planned first, and then a path from the certain grid point in the mapping region to an end point is planned, and then the paths are merged together, which is not described herein again.
Fig. 13 is a schematic product structure diagram of a robot according to an embodiment of the present disclosure.
The preset contents provided for the user on the left side of fig. 13, including the model of the preset type of object, the grid map, and the preset speed rule, may be stored in the memory inside the robot.
The hardware configuration of the robot is shown on the right side of fig. 13, and can be seen in fig. 2. Here, the sensor includes two types of a positioning sensor and an obstacle avoidance sensor.
In fig. 13, the middle part is a software part of the robot, which can be executed by a processor, and specifically includes:
an object identification segmentation module: the method comprises the steps of obtaining an image collected by a camera, identifying a target object in the image according to a model of a preset type of object, and segmenting an object boundary from the image.
A mapping region determination module: a mapping area of the target object on the grid map is determined. Further, the mapping area of the target object is marked on the grid map to obtain the target grid map.
A speed direction determination module: and determining an available speed direction set of each grid point in the mapping area according to a preset speed rule.
A global path planning module: and determining a motion path from the starting point to the end point according to the available speed direction sets corresponding to the target grid map and the M grid points respectively.
A positioning module: and determining the real-time position of the robot on the grid map according to the data collected by the positioning sensor.
A local path planning module: when the obstacle avoidance sensor detects the obstacle, the motion path determined by the global path planning module can be modified in time to avoid the obstacle and obtain a modified motion path.
A speed decomposition module: and performing speed decomposition on each grid point according to the corrected motion path to obtain a series of speed control instructions, and sending the speed control instructions to the mobile chassis.
It should be understood that the above division of the modules is only an example and not a limitation of the embodiments of the present application.
Based on the above embodiments, as shown in fig. 14, an embodiment of the present application provides a motion path planning apparatus, where the apparatus 1400 includes:
a detection unit 1410, configured to detect a target object, where the target object is a preset type of object;
a processing unit 1420, configured to mark a mapping area of the target object on a grid map to obtain a target grid map, where the mapping area is used to indicate an area where the target object is located on the grid map, the mapping area includes N grid points, and N is a positive integer;
determining an available speed direction set corresponding to M grid points in the mapping region respectively according to a preset speed rule, wherein the preset speed rule and the preset type have a corresponding relation, M is not more than N, and M is a positive integer;
and determining a motion path from a starting point to an end point according to the available speed direction sets respectively corresponding to the target grid map and the M grid points.
In a possible design, the motion path passes through the mapping area, the motion path includes at least one target grid point, the target grid point is a grid point where the motion path passes through the mapping area, and a speed direction of the target grid point is one speed direction in an available speed direction set corresponding to the target grid point.
In one possible design, the detecting unit 1410 is specifically configured to:
detecting the target object in the acquired target image;
the processing unit 1420 is further configured to: before a mapping area of the target object is marked on the grid map to obtain a target grid map, determining edge coordinates of the target object in a three-dimensional coordinate system of the robot according to parameters of the target image and internal parameters of a camera for collecting the target image, wherein the edge coordinates of the target object are used for indicating the outline of the target object; and determining the mapping area of the target object on the grid map according to the edge coordinates of the target object.
In one possible design, the processing unit 1420 is specifically configured to:
and determining an available speed direction set of the M grid points in the mapping area according to the preset speed rule and the edge coordinates of the target object.
In one possible design, the height of the target object is less than the maximum value of the robot traversable height.
In one possible design, the movement path satisfies that the distance between the start point and the end point is shortest.
In one possible design, the processing unit 1420 is specifically configured to:
determining one speed direction in an available speed direction set corresponding to an ith grid point as the speed direction of the ith grid point according to the position relationship among the starting point, the end point and the mapping area, wherein the ith grid point is any one of the M grid points;
calculating the shortest distance between the ith grid point and the starting point according to the speed direction of the ith grid point;
calculating the shortest distance between the ith grid point and the end point;
calculating the shortest distance between a grid point which the motion path may pass through and the starting point in an area except the mapping area in the target grid map, wherein the speed direction of the grid point which the motion path may pass through points to an upper point of the grid point which the motion path may pass through in a path from the starting point to the grid point which the motion path may pass through and corresponds to the shortest distance between the grid point which the motion path may pass through and the starting point;
calculating the shortest distance between the grid point which the motion path can pass through and the end point;
determining the movement path according to the speed direction of each grid point in the M grid points, the sum of the shortest distance between each grid point in the M grid points and the starting point and the shortest distance between the M grid points and the end point, and the speed direction of the grid points which the movement path may pass through, and the sum of the shortest distance between the grid points which the movement path may pass through and the starting point and the shortest distance between the grid points and the end point, wherein for the jth grid point, the grid point which points to the jth grid point in the speed direction and has the smallest sum of the shortest distance between the jth grid point and the starting point and the shortest distance between the jth grid point and the end point is selected as the lower point of the jth grid point, wherein the jth grid point is any one grid point which the movement path passes through except the end point and the upper point of the end point.
Based on the above embodiments, the present application provides a motion path planning apparatus, which may be a component module in a robot as shown in fig. 2, or may be a separate apparatus or a component module in other apparatuses, which is not limited in this application.
As shown in fig. 15, the apparatus 1500 includes: a processor 1501 and memory 1502.
The memory 1502 is used to store programs;
the processor 1501 calls a program stored in the memory 1501 to execute detection of a target object, which is an object of a preset type; marking a mapping area of the target object on a grid map to obtain a target grid map, wherein the mapping area is used for indicating the area of the target object on the grid map, the mapping area comprises N grid points, and N is a positive integer; determining an available speed direction set corresponding to M grid points in the mapping region respectively according to a preset speed rule, wherein the preset speed rule and the preset type have a corresponding relation, M is not more than N, and M is a positive integer; and determining a motion path from a starting point to an end point according to the available speed direction sets respectively corresponding to the target grid map and the M grid points.
The processor 1501 is used to implement the actions performed by any of the processing units 1420 in fig. 14, so as to implement the actions of the robot provided in the embodiment shown in fig. 4. It should be noted that, in practical applications, the movement path planning apparatus 1500 may include one or more processors, and the structure of the movement path planning apparatus does not constitute a limitation to the embodiments of the present application.
The processor 1501 may be a Central Processing Unit (CPU), a Network Processor (NP), a hardware chip (ASIC), a programmable logic device (P L D), or any combination thereof, the P L D may be a complex programmable logic device (CP L D), a field-programmable gate array (FPGA), a general array logic (GA L), or any combination thereof.
The memory 1502 may include volatile memory (volatile memory), such as Random Access Memory (RAM); the memory 1502 may also include a non-volatile memory (non-volatile memory), such as a read-only memory (ROM), a flash memory (flash memory), a Hard Disk Drive (HDD), or a solid-state drive (SSD); the memory 1502 may also comprise a combination of the above-described types of memory.
A computer storage medium, which may be used to store computer software instructions for the robot in the embodiment shown in fig. 4, is also provided in the embodiments of the present application, and includes but is not limited to a flash memory, a hard disk, and a solid state disk.
In summary, by using the method provided by the embodiment of the present application, the content of the grid map can be enriched by labeling the mapping area of the target object on the grid map, and it can be realized that the grid map has a specific speed direction through a specific area by determining the available speed direction sets corresponding to the grid points in the mapping area, and further, according to the available speed direction sets corresponding to the target grid map and the M grid points, determining the movement path from the starting point to the end point can realize optimizing the existing path planning method, thereby improving the success rate of the robot crossing over the traversable obstacle terrain, and expanding the use range of the robot.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, embodiments of the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
Embodiments of the present application are described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
It will be apparent to those skilled in the art that various changes and modifications may be made in the embodiments of the present application without departing from the spirit and scope of the application. Thus, if such modifications and variations of the embodiments of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to encompass such modifications and variations.

Claims (16)

1. A method for planning a motion path, the method comprising:
detecting a target object, wherein the target object is an object of a preset type;
marking a mapping area of the target object on a grid map to obtain a target grid map, wherein the mapping area is used for indicating the area of the target object on the grid map, the mapping area comprises N grid points, and N is a positive integer;
determining an available speed direction set corresponding to M grid points in the mapping region respectively according to a preset speed rule, wherein the preset speed rule and the preset type have a corresponding relation, M is not more than N, and M is a positive integer;
and determining a motion path from a starting point to an end point according to the available speed direction sets respectively corresponding to the target grid map and the M grid points.
2. The method of claim 1, wherein the motion path passes through the mapping region, the motion path including at least one target grid point, the target grid point being a grid point on the motion path passing through the mapping region, the target grid point having a velocity direction that is one of a set of available velocity directions corresponding to the target grid point.
3. The method of claim 1 or 2, wherein the detecting the target object comprises:
detecting the target object in the acquired target image;
before labeling the mapping area of the target object on the grid map to obtain a target grid map, the method further comprises:
determining edge coordinates of the target object in a three-dimensional robot coordinate system according to the parameters of the target image and internal parameters of a camera for collecting the target image, wherein the edge coordinates of the target object are used for indicating the outline of the target object;
and determining the mapping area of the target object on the grid map according to the edge coordinates of the target object.
4. The method of claim 3, wherein the determining the set of available velocity directions for each of the M grid points in the mapping region according to a preset velocity rule comprises:
and determining an available speed direction set of the M grid points in the mapping area according to the preset speed rule and the edge coordinates of the target object.
5. A method according to claim 1 or 2, wherein the height of the target object is less than the maximum robot traversable height.
6. The method of claim 1 or 2, wherein determining the movement path from the starting point to the end point according to the target grid map and the available velocity direction sets corresponding to the M grid points respectively comprises:
determining one speed direction in an available speed direction set corresponding to an ith grid point as the speed direction of the ith grid point according to the position relationship among the starting point, the end point and the mapping area, wherein the ith grid point is any one of the M grid points;
calculating the shortest distance between the ith grid point and the starting point according to the speed direction of the ith grid point;
calculating the shortest distance between the ith grid point and the end point;
calculating the shortest distance between a grid point which the motion path may pass through and the starting point in an area except the mapping area in the target grid map, wherein the speed direction of the grid point which the motion path may pass through points to an upper point of the grid point which the motion path may pass through in a path from the starting point to the grid point which the motion path may pass through and corresponds to the shortest distance between the grid point which the motion path may pass through and the starting point;
calculating the shortest distance between the grid point which the motion path can pass through and the end point;
determining the movement path according to the speed direction of each grid point in the M grid points, the sum of the shortest distance between each grid point in the M grid points and the starting point and the shortest distance between the M grid points and the end point, and the speed direction of the grid points which the movement path may pass through, and the sum of the shortest distance between the grid points which the movement path may pass through and the starting point and the shortest distance between the grid points and the end point, wherein for the jth grid point, the grid point which points to the jth grid point in the speed direction and has the smallest sum of the shortest distance between the jth grid point and the starting point and the shortest distance between the jth grid point and the end point is selected as the lower point of the jth grid point, wherein the jth grid point is any one grid point which the movement path passes through except the end point and the upper point of the end point.
7. The method of claim 6, wherein the motion path satisfies that a distance between the start point and the end point is shortest.
8. A motion path planning apparatus, the apparatus comprising:
the detection unit is used for detecting a target object, and the target object is an object of a preset type;
the processing unit is used for marking a mapping area of the target object on a grid map to obtain a target grid map, wherein the mapping area is used for indicating the area of the target object on the grid map, the mapping area comprises N grid points, and N is a positive integer;
determining an available speed direction set corresponding to M grid points in the mapping region respectively according to a preset speed rule, wherein the preset speed rule and the preset type have a corresponding relation, M is not more than N, and M is a positive integer;
and determining a motion path from a starting point to an end point according to the available speed direction sets respectively corresponding to the target grid map and the M grid points.
9. The apparatus of claim 8, wherein the motion path passes through the mapping region, the motion path including at least one target grid point, the target grid point being a grid point on the motion path passing through the mapping region, the target grid point having a velocity direction that is one of a set of available velocity directions corresponding to the target grid point.
10. The apparatus according to claim 8 or 9, wherein the detection unit is specifically configured to:
detecting the target object in the acquired target image;
the processing unit is further configured to: before a mapping area of the target object is marked on the grid map to obtain a target grid map, determining edge coordinates of the target object in a three-dimensional coordinate system of the robot according to parameters of the target image and internal parameters of a camera for collecting the target image, wherein the edge coordinates of the target object are used for indicating the outline of the target object; and determining the mapping area of the target object on the grid map according to the edge coordinates of the target object.
11. The apparatus as claimed in claim 10, wherein said processing unit is specifically configured to:
and determining an available speed direction set of the M grid points in the mapping area according to the preset speed rule and the edge coordinates of the target object.
12. An apparatus according to claim 8 or 9, wherein the height of the target object is less than the maximum robot traversable height.
13. The apparatus according to claim 8 or 9, wherein the processing unit is specifically configured to:
determining one speed direction in an available speed direction set corresponding to an ith grid point as the speed direction of the ith grid point according to the position relationship among the starting point, the end point and the mapping area, wherein the ith grid point is any one of the M grid points;
calculating the shortest distance between the ith grid point and the starting point according to the speed direction of the ith grid point;
calculating the shortest distance between the ith grid point and the end point;
calculating the shortest distance between a grid point which the motion path may pass through and the starting point in an area except the mapping area in the target grid map, wherein the speed direction of the grid point which the motion path may pass through points to an upper point of the grid point which the motion path may pass through in a path from the starting point to the grid point which the motion path may pass through and corresponds to the shortest distance between the grid point which the motion path may pass through and the starting point;
calculating the shortest distance between the grid point which the motion path can pass through and the end point;
determining the movement path according to the speed direction of each grid point in the M grid points, the sum of the shortest distance between each grid point in the M grid points and the starting point and the shortest distance between the M grid points and the end point, and the speed direction of the grid points which the movement path may pass through, and the sum of the shortest distance between the grid points which the movement path may pass through and the starting point and the shortest distance between the grid points and the end point, wherein for the jth grid point, the grid point which points to the jth grid point in the speed direction and has the smallest sum of the shortest distance between the jth grid point and the starting point and the shortest distance between the jth grid point and the end point is selected as the lower point of the jth grid point, wherein the jth grid point is any one grid point which the movement path passes through except the end point and the upper point of the end point.
14. The apparatus of claim 13, wherein the motion path satisfies that a distance between the start point and the end point is shortest.
15. A computer-readable storage medium, characterized in that the computer-readable medium has stored program code which, when run on a computer, causes the computer to perform the method according to any one of claims 1-7.
16. A robot, characterized in that the robot comprises: the system comprises a mobile chassis, a camera, a sensor, a processor and a memory;
the mobile chassis is used for providing a mobile function for the robot;
the camera is used for collecting images of surrounding objects for the robot;
the sensor is used for detecting the surrounding objects for the robot;
the memory is used for storing programs;
the processor calls a program stored in the memory to perform the method of any one of claims 1-7.
CN201711395153.0A 2017-12-21 2017-12-21 Motion path planning method and device Active CN108459599B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711395153.0A CN108459599B (en) 2017-12-21 2017-12-21 Motion path planning method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711395153.0A CN108459599B (en) 2017-12-21 2017-12-21 Motion path planning method and device

Publications (2)

Publication Number Publication Date
CN108459599A CN108459599A (en) 2018-08-28
CN108459599B true CN108459599B (en) 2020-08-07

Family

ID=63221198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711395153.0A Active CN108459599B (en) 2017-12-21 2017-12-21 Motion path planning method and device

Country Status (1)

Country Link
CN (1) CN108459599B (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109118884B (en) * 2018-09-12 2020-05-08 武仪 Teaching device of robot experiment course
CN108955696B (en) * 2018-09-30 2020-07-03 江苏美的清洁电器股份有限公司 Sweeper and path planning method and device thereof
CN111060102B (en) * 2018-10-16 2024-03-08 中兴通讯股份有限公司 Indoor navigation method, system and computer readable storage medium
CN111721311A (en) * 2019-03-22 2020-09-29 北京京东尚科信息技术有限公司 Collision verification method and device
CN110345959B (en) * 2019-06-10 2023-11-03 同济人工智能研究院(苏州)有限公司 Path planning method based on gate point
CN110597293A (en) * 2019-10-12 2019-12-20 上海复亚智能科技有限公司 Unmanned aerial vehicle autonomous flight method, device, equipment and storage medium
CN111177291B (en) * 2019-12-23 2021-12-14 腾讯科技(深圳)有限公司 Object moving method, device, equipment and medium
CN114234988A (en) * 2020-09-09 2022-03-25 华为技术有限公司 Navigation method, equipment and system
EP4282601A1 (en) * 2021-03-12 2023-11-29 Huawei Technologies Co., Ltd. Method for controlling movement of moving body and related device
CN116734862B (en) * 2023-08-09 2023-11-21 常熟理工学院 Directional off-road route selection method, device and computer storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101413806A (en) * 2008-11-07 2009-04-22 湖南大学 Mobile robot grating map creating method of real-time data fusion
CN102520718A (en) * 2011-12-02 2012-06-27 上海大学 Physical modeling-based robot obstacle avoidance path planning method
KR20130101913A (en) * 2012-03-06 2013-09-16 고려대학교 산학협력단 Path planning system and method
CN105955280A (en) * 2016-07-19 2016-09-21 Tcl集团股份有限公司 Mobile robot path planning and obstacle avoidance method and system
US9798327B2 (en) * 2016-01-08 2017-10-24 King Fahd University Of Petroleum And Minerals Apparatus and method for deploying sensors

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101413806A (en) * 2008-11-07 2009-04-22 湖南大学 Mobile robot grating map creating method of real-time data fusion
CN102520718A (en) * 2011-12-02 2012-06-27 上海大学 Physical modeling-based robot obstacle avoidance path planning method
KR20130101913A (en) * 2012-03-06 2013-09-16 고려대학교 산학협력단 Path planning system and method
US9798327B2 (en) * 2016-01-08 2017-10-24 King Fahd University Of Petroleum And Minerals Apparatus and method for deploying sensors
CN105955280A (en) * 2016-07-19 2016-09-21 Tcl集团股份有限公司 Mobile robot path planning and obstacle avoidance method and system

Also Published As

Publication number Publication date
CN108459599A (en) 2018-08-28

Similar Documents

Publication Publication Date Title
CN108459599B (en) Motion path planning method and device
Ramakrishnan et al. Occupancy anticipation for efficient exploration and navigation
US9836653B2 (en) Systems and methods for capturing images and annotating the captured images with information
Dong et al. Ellipse R-CNN: Learning to infer elliptical object from clustering and occlusion
JP7425854B2 (en) Constrained mobility mapping
KR20210081364A (en) Image processing methods, devices, devices and storage media
CN106780484A (en) Robot interframe position and orientation estimation method based on convolutional neural networks Feature Descriptor
CN113907663B (en) Obstacle map construction method, cleaning robot, and storage medium
CN110986945B (en) Local navigation method and system based on semantic altitude map
CN109712167A (en) Target detecting and method for tracing and system
US11748998B1 (en) Three-dimensional object estimation using two-dimensional annotations
Sales et al. Vision-based autonomous navigation system using ann and fsm control
Ku et al. Improving 3d object detection for pedestrians with virtual multi-view synthesis orientation estimation
WO2022031232A1 (en) Method and device for point cloud based object recognition
López-Cifuentes et al. Semantic-driven multi-camera pedestrian detection
Chen et al. Design and Implementation of AMR Robot Based on RGBD, VSLAM and SLAM
JP7153264B2 (en) Image analysis system, image analysis method and image analysis program
Zhi et al. Learning autonomous exploration and mapping with semantic vision
JP2020047272A (en) Learning method and learning device for detecting lane on the basis of cnn, and testing method and testing device using the same
US20210034810A1 (en) System and Method for Automatically Annotating a Map
Angladon et al. Room floor plan generation on a project tango device
US20220277595A1 (en) Hand gesture detection method and apparatus, and computer storage medium
US11961256B2 (en) Method for indoor localization using deep learning
CN115855086A (en) Indoor scene autonomous reconstruction method, system and medium based on self-rotation
Delgado-Galvan et al. Vision-based humanoid robot navigation in a featureless environment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant