WO2022183790A1 - 路径规划方法、装置、移动机器人、存储介质及程序 - Google Patents

路径规划方法、装置、移动机器人、存储介质及程序 Download PDF

Info

Publication number
WO2022183790A1
WO2022183790A1 PCT/CN2021/133235 CN2021133235W WO2022183790A1 WO 2022183790 A1 WO2022183790 A1 WO 2022183790A1 CN 2021133235 W CN2021133235 W CN 2021133235W WO 2022183790 A1 WO2022183790 A1 WO 2022183790A1
Authority
WO
WIPO (PCT)
Prior art keywords
point
target
curve
path planning
cost
Prior art date
Application number
PCT/CN2021/133235
Other languages
English (en)
French (fr)
Inventor
关傲
Original Assignee
北京旷视机器人技术有限公司
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 北京旷视机器人技术有限公司 filed Critical 北京旷视机器人技术有限公司
Publication of WO2022183790A1 publication Critical patent/WO2022183790A1/zh

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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
    • 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/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • 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/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • 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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0242Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using non-visible light signals, e.g. IR or UV signals
    • 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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0253Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
    • 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/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • 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/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/028Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal

Definitions

  • the present application relates to the technical field of mobile robots, and more particularly to a path planning method, device, mobile robot, computer-readable storage medium, and computer program.
  • Mobile robots such as Automated Guided Vehicles (AGVs), Autonomous Mobile Robots (AMRs), and forklifts are one of the key equipment in modern logistics systems. Designate a location to complete tasks such as material handling and transportation. Path planning is an important link in the operation and control of a mobile robot, which determines the travel route of the mobile robot.
  • AGVs Automated Guided Vehicles
  • AMRs Autonomous Mobile Robots
  • forklifts are one of the key equipment in modern logistics systems. Designate a location to complete tasks such as material handling and transportation.
  • Path planning is an important link in the operation and control of a mobile robot, which determines the travel route of the mobile robot.
  • the relative navigation of a mobile robot means that when the target pose or the surrounding environment changes, the mobile robot needs to dynamically adjust the motion trajectory to complete the final task according to the changed target pose and surrounding environment.
  • Current relative navigation schemes for mobile robots have low success rates.
  • the present application provides a path planning method, device, mobile robot, computer-readable storage medium and computer program, to at least solve the problem in the related art that when the pose of the target end point or the surrounding environment of the mobile robot changes during the walking process, it can only
  • the path planning in the form of a single segment leads to a technical problem that the success rate of the route planning in a complex environment is low.
  • the technical solutions provided by this application are as follows:
  • a first aspect of the embodiments of the present application provides a path planning method, and the method includes:
  • each point layer includes a plurality of candidate intermediate points
  • a target curve segment is selected between every two adjacent point layers according to the cost of the curve segment, and a target path from the current pose to the target pose is obtained.
  • performing curve fitting on multiple candidate intermediate points in every two adjacent point layers includes: each candidate intermediate point in a previous point layer and a subsequent point layer respectively. Each candidate intermediate point in the curve fitting is performed as a first and an end point, and a curve segment connecting the previous point layer and the latter point layer is obtained.
  • the performing curve fitting on multiple candidate intermediate points in every two adjacent point layers includes: according to the positions of the multiple candidate intermediate points in every two adjacent point layers , to perform curve fitting; or to perform curve fitting according to the positions, directions and curvatures of multiple candidate intermediate points in every two adjacent point layers.
  • the positions of the plurality of candidate intermediate points on each point layer are uniformly distributed in the point layer.
  • the directions of the multiple candidate intermediate points in each point layer are parallel to the direction of the target pose.
  • the determining the cost of at least part of the curve segment obtained by fitting includes: selecting a plurality of discrete points in each curve segment; calculating the cost of each discrete point separately; The cost of discrete points yields the cost of the curve segment.
  • the calculating the cost of each discrete point includes: according to the curvature of each discrete point, the distance between each discrete point and the center line, and the distance between each discrete point and the obstacle The cost of each discrete point is calculated from the distance of , and the center line is the connection between the current position and the target position.
  • calculating the cost of each discrete point according to the curvature of each discrete point, the distance between each discrete point and the centerline, and the distance between each discrete point and the obstacle includes: The curvature of each discrete point, the distance between each discrete point and the center line, and the distance between each discrete point and the obstacle are weighted and summed to obtain the value of each discrete point. cost.
  • the determining the cost of at least part of the curve segments obtained by fitting includes: eliminating curve segments that collide with obstacles and/or curve segments exceeding a preset curvature; determining the remaining curve segments after the elimination The cost per curve segment.
  • the selecting a target curve segment between every two adjacent point layers according to the cost of the curve segment includes: in an order from the current pose to the target pose, or According to the sequence from the target pose to the current pose, a target curve segment is selected between every two adjacent point layers in turn, wherein, after the previous target curve segment is determined, after the Select the next target curve segment from the multiple curve segments connected to the target curve segment.
  • the selecting a next target curve segment from the plurality of curve segments connected to the previous target curve segment includes: according to a state transition equation, at a point layer after the previous target curve segment Select a target intermediate point with the least cost among at least some of the candidate intermediate points in Constructed from the cost of curve fragments.
  • the curve segments exceeding the preset curvature include: curve segments whose maximum curvature exceeds the preset curvature, or curve segments whose average curvature exceeds the preset curvature.
  • the cost of each curve segment is used to represent at least one of the degree of avoiding obstacles, the degree of smoothness of the curve, and the degree of deviation from the shortest path.
  • obtaining a plurality of point layers according to the current pose and the target pose including:
  • Sampling is performed between the current pose and the target pose to obtain the plurality of point layers arranged at intervals, and each point layer in the plurality of point layers represents an area that the mobile robot expects to pass through.
  • the multiple point layers are arranged in order from far to near according to the distance from the target position, and the spaces occupied by different point layers do not intersect, and the mobile robot needs to pass through each point in sequence.
  • Floor is arranged in order from far to near according to the distance from the target position, and the spaces occupied by different point layers do not intersect, and the mobile robot needs to pass through each point in sequence.
  • a second aspect of an embodiment of the present application provides a path planning device, the device comprising:
  • the acquisition module is used to acquire the current pose and target pose of the mobile robot
  • a determination module configured to obtain a plurality of point layers according to the current pose and the target pose, and each point layer includes a plurality of candidate intermediate points;
  • a fitting module configured to perform curve fitting on a plurality of candidate intermediate points in every two adjacent point layers, and determine the cost of at least some of the curve segments obtained by fitting, wherein the at least some of the curve segments are Each curve segment of is used to connect two adjacent point layers;
  • the selection module is configured to select a target curve segment between every two adjacent point layers according to the cost of the curve segment, so as to obtain a target path from the current pose to the target pose.
  • a third aspect of an embodiment of the present application provides a path planning apparatus, where the path planning apparatus includes a storage apparatus and a processor, and the storage apparatus stores a computer program executed by the processor, and the computer program is executed by the processor.
  • the processor executes the path planning method as described above at runtime.
  • a fourth aspect of the embodiments of the present application provides a mobile robot, including a mobile robot body and the above path planning device.
  • a fifth aspect of the embodiments of the present application provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and the computer program executes the above path planning method when running.
  • a sixth aspect of the embodiments of the present application provides a computer program, including computer-readable codes, when the computer-readable codes are executed on a computing and processing device, the computing and processing device is caused to execute the above path planning method.
  • FIG. 1 shows a schematic block diagram of an example electronic device for implementing a path planning method according to an embodiment of the present application.
  • FIG. 2 shows a schematic flowchart of a path planning method according to an embodiment of the present application.
  • FIG. 3 shows a schematic block diagram of a path planning apparatus according to an embodiment of the present application.
  • FIG. 4 shows another schematic block diagram of a path planning apparatus according to an embodiment of the present application.
  • Figure 5 shows a block diagram of a computing processing device for performing methods according to the present application.
  • Figure 6 shows a memory unit for holding or carrying program code implementing the method according to the present application.
  • an example electronic device 100 for implementing the path planning method of the embodiment of the present application is described with reference to FIG. 1 .
  • the electronic device 100 includes one or more processors 102 and one or more storage devices 104 .
  • the electronic device 100 may further include an input device 106 , an output device 108 , and a communication device 110 . These components are interconnected by bus system 112 and/or other forms of connection mechanisms (not shown). It should be noted that the components and structures of the electronic device 100 shown in FIG. 1 are only exemplary and not restrictive, and the electronic device may also have other components and structures as required.
  • the processor 102 may be a central processing unit (CPU), field programmable gate array (FPGA), or other form of processing unit having data processing capabilities and/or instruction execution capabilities, and may control other components in the electronic device 100 to perform the desired function.
  • CPU central processing unit
  • FPGA field programmable gate array
  • Storage 104 may include one or more computer program products, which may include various forms of storage media, such as volatile memory and/or nonvolatile memory.
  • the volatile memory may include, for example, random access memory (RAM) and/or cache memory, or the like.
  • the non-volatile memory may include, for example, read only memory (ROM), hard disk, flash memory, and the like.
  • One or more computer program instructions may be stored on the storage medium, and the processor 102 may execute the program instructions to implement the client functions (implemented by the processor) in the embodiments of the present application described below and/or other desired functions.
  • client functions implemented by the processor
  • Various application programs and various data may also be stored in the storage medium, for example, various data used and/or generated by the application program.
  • Input device 106 may be a device used by a user to input instructions, and may include one or more of buttons, keyboard, mouse, microphone, touch screen, and the like.
  • the output device 108 may output various information (eg, images or sounds) to the outside (eg, a user), and may include one or more of a lighting device, a display, a speaker, and the like.
  • the communication device 110 is configured to receive or send data via a network, and the network may specifically include a wireless network, such as WiFi, 2G, 3G, 4G, 5G, or a combination thereof.
  • the communication device may also include a near field communication (NFC) module to facilitate short-range communication.
  • NFC near field communication
  • the NFC module may be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.
  • RFID radio frequency identification
  • IrDA infrared data association
  • UWB ultra-wideband
  • Bluetooth Bluetooth
  • the components and structures of the electronic device 100 shown in FIG. 1 are only exemplary. Although the electronic device 100 shown in FIG. 1 includes a plurality of different devices, some of the devices may not be necessary according to needs. , the number of some of the devices may be larger, etc., which is not limited in this application.
  • the path planning method 200 can be used for a mobile robot, or a control system for a mobile robot.
  • the path planning method 200 may include the following steps:
  • step S210 obtain the current pose and target pose of the mobile robot
  • step S220 according to the current pose and the target pose, a plurality of point layers are obtained, and each point layer includes a plurality of candidate intermediate points;
  • step S230 curve fitting is performed on the candidate intermediate points in every two adjacent point layers, and the cost of at least part of the curve segments obtained by fitting is determined, wherein each curve segment is used to connect two adjacent points point layer;
  • step S240 a target curve segment is selected between every two adjacent point layers according to the cost of the curve segment, and a target path from the current pose to the target pose is obtained.
  • the path planning method 200 in this embodiment of the present application is used for path planning for a mobile robot, which can be applied to fields such as manufacturing, warehousing and distribution, and logistics and transportation, and can be specifically implemented as a mobile robot that adopts a non-predetermined path guidance method.
  • mobile robots were generally re-planned based on pure control PID or based on Bezier curves.
  • the pure control PID refers to the feedback control with the center line of the chassis as the target after the mobile robot part enters the bottom of the tray. Since this scheme does not consider the distance between the mobile robot and the obstacle, there is a risk of collision, and it is only suitable for situations where the current pose is very close to the target pose, cannot handle complex environments, and is not robust.
  • the re-planning based on Bezier curve means that according to the current pose and motion state of the car, combined with the target state, a new end path is planned by two-point fitting with Bezier curve.
  • the problem of this scheme is that the obstacle information is not considered, and the path parameters fitted by the two points are too few and the form is too simple, so it is difficult to solve the scene that needs to circumvent obstacles; for the situation where the end point pose changes greatly, the success of this method is rate is lower.
  • the path planning method 200 of the embodiment of the present application samples multiple point layers between the current pose and the target pose, fits a curve segment between each adjacent point layer, and the target path is spliced according to the multiple curve segments It is obtained that the form of the path is more abundant, and the inflection points are more. Compared with the path planning of the single-segment form, the success rate and robustness are significantly improved.
  • the path planning based on the controller can realize the real-time path planning during the operation of the mobile robot.
  • the path planning method 200 in this embodiment of the present application may be replanning initiated in real time during the running process of the mobile robot, and is used to implement relative navigation of the mobile robot.
  • the path planning method 200 in the embodiment of the present application can be used to re-plan the path in real time according to the changed target pose and the surrounding environment, and dynamically adjust the mobile robot trajectories to complete the final task.
  • the path planning method 200 of the present application can be triggered to plan a new target route in real time.
  • the reasons for the path failure may include the collision of the mobile robot, or the detection of an obstacle by the mobile robot.
  • step S210 is first performed to obtain the current pose and target pose of the mobile robot, where the current pose includes the current position and the current pose, and the target pose includes the target position and the target pose.
  • the target pose can be sent to the mobile robot by the control system.
  • the control system may issue a task message to the mobile robot, for example, the task may be to notify the mobile robot to transport the item to be transported from an initial position to an end position.
  • the pose of the end position of the task can be used as the target pose of the path planning.
  • the pose of the starting position of the task can be used as the target pose, so that the mobile robot runs from the current position to the starting position of the task to obtain the items to be transported.
  • the current pose can be acquired by the mobile robot in real time.
  • different types of mobile robots may acquire the current pose in different ways, for example, based on laser scanning, inertial navigation, image recognition, and the like.
  • Determining the current pose based on the laser module refers to installing a laser reflector at a predetermined position around the driving area of the mobile robot.
  • the laser module of the mobile robot emits a laser beam through a laser scanner and collects the laser beam reflected by the reflector, thereby determining its current pose.
  • Determining the current pose based on the inertial measurement unit refers to installing a gyroscope on the mobile robot and installing a positioning block on the ground in the driving area. to determine the current pose.
  • Determining the current pose based on image recognition means that the mobile robot uses the camera to collect the image information of the surrounding environment of the driving path in real time, and compares it with the information in the established image database of the surrounding environment of the running path to determine the current pose.
  • the mobile robot can also use the image recognition method based on QR code, that is, use the camera to scan the QR code on the ground, and determine the current pose through the scanning code positioning technology.
  • various feasible ways may also be used to determine the current pose, and the embodiment of the present application does not limit the specific way of determining the current pose.
  • step S220 is executed to obtain a plurality of point layers according to the current pose and the target pose, and each point layer includes a plurality of candidate intermediate points.
  • sampling may be performed between the current pose and the target pose to obtain a plurality of point layers arranged at intervals.
  • sampling may be performed in the direction of the line connecting the current position to the target position to obtain multiple dot layers arranged at intervals, and the length direction of the dot layers may be perpendicular to the direction of the line connecting the current point and the target point.
  • Each point layer refers to an area that the mobile robot is expected to pass through, and is a collection of several candidate intermediate points.
  • the candidate intermediate points in the same point layer are uniformly distributed in a continuous space.
  • each point layer represents an area that the mobile robot expects to pass through, and each candidate intermediate point on each point layer represents a location in the area.
  • the dot layers may be long and narrow rectangular regions arranged at intervals along the direction of the center line.
  • the dot layers may also have other shapes, such as an ellipse and the like.
  • the shapes and sizes of the different dot layers may be the same, or the shapes and sizes of the different dot layers may be different.
  • the point layers are arranged in order from far to near according to the distance from the target position, that is, each point layer has a uniquely determined precursor point layer and a successor point layer, and the spaces occupied by different point layers do not intersect. The order goes through each point layer in turn.
  • the number of point layers depends on the number of intermediate points expected to pass, or the distance between the current position and the target position. The farther the distance is, the more the number of point layers, and the closer the distance is, the less the number of point layers.
  • the distance between adjacent point layers may also depend on the distance between the current position and the target position, for example, the farther the distance is, the larger the distance is, and the closer the distance is, the smaller the distance is.
  • step S230 curve fitting is performed on the candidate intermediate points in every two adjacent point layers, and the cost of at least part of the curve segments obtained by fitting is determined, wherein each curve in the at least part of the curve segments Fragments are used to connect two adjacent point layers.
  • the cost of each curve segment can be used to measure the pros and cons of the curve segment, that is, the cost of each curve segment can be used to characterize the degree of avoiding obstacles, the degree of curve smoothness, and the degree of deviation from the shortest path. at least one.
  • the point layers are arranged in the order of distance from the target position from far to near.
  • An alternative intermediate point in the point layer cannot skip a certain point layer, nor can it disrupt the order of passing through the point layer, so it is necessary to select an intermediate point from adjacent point layers to fit the curve segment.
  • curve fitting is performed on the candidate intermediate points in the first point layer and the second point layer, and the first point layer and the second point layer are obtained.
  • the fitting curve segment needs to cyclically traverse all the candidate intermediate points in the two adjacent point layers, respectively, each candidate intermediate point in the previous point layer and each candidate in the latter point layer.
  • the middle point is used as the first and last points to fit the curve segment. That is to say, between every two adjacent point layers, the candidate intermediate points in the previous point layer and the candidate intermediate points in the latter point layer are paired one by one, and any two candidate intermediate points are paired together.
  • any candidate intermediate point in the previous point layer is fitted with each candidate intermediate point in the latter point layer to obtain a curve segment.
  • a curve segment is obtained.
  • Any candidate intermediate point is also fitted with each candidate intermediate point in the previous point layer to obtain a curve segment. For example, if the number of candidate intermediate points in the first point layer is m, and the number of candidate intermediate points in the second point layer is n, then between the first point layer and the second point layer A total of m*n curve segments are obtained by fitting.
  • the information of each candidate intermediate point includes at least its position and direction, and a curve between two points can be obtained by fitting according to the position and direction. Further, the information of each candidate intermediate point may also include curvature to further enrich the parameters of curve fitting. Taking the information of the candidate intermediate points as the boundary conditions of curve fitting to solve the curve parameters, a curve segment with the candidate intermediate points as the start and end points can be obtained.
  • the curvilinear forms that may be taken include, but are not limited to, spline curves, polynomial curves, Bezier curves, and the like.
  • the cost of at least part of the curve segment obtained by fitting is determined: it may be the cost of any part of the curve segment obtained by fitting, or it may be the cost of eliminating and blocking The cost of the remaining partial curve fragments after the curve fragments that collide between objects and/or the curve fragments that exceed the preset curvature.
  • the curve segments that collide with obstacles can also be eliminated, thereby ensuring the safety of the mobile robot running along the target path to the greatest extent.
  • the curve segment may be determined whether the curve segment collides with the obstacle in the following manner: when the mobile robot runs according to the curve segment, it is determined whether each point on the outline of the mobile robot appears inside the obstacle. If any point on the outline of the mobile robot appears inside the obstacle, it is determined that a collision occurs between the curve segment and the obstacle. In order to ensure the safe operation of the mobile robot, the curve segment is eliminated.
  • each point on the outline of the mobile robot exists inside the obstacle through the vector product direction, specifically, determine the convex polygon surrounding the obstacle, and for P on the outline of the mobile robot, obtain the difference between it and the convex polygon.
  • the vector between each vertex take the adjacent vectors in the counterclockwise or clockwise direction and perform the cross product. If the angle between any two vectors is greater than 180°, it means that the point P exists inside the polygon. Based on this, it is possible to detect whether each discrete mobile robot pose on the curve segment collides with the obstacle, and remove the curve segment that collides with the obstacle.
  • the culled curve segment may be a curve segment exceeding a preset curvature.
  • the curve segment exceeding the preset curvature may be a curve segment whose maximum curvature exceeds the preset curvature, or may be a curve segment whose average curvature exceeds the preset curvature. Eliminating curve segments with exceeding curvature can ensure the smooth running of the mobile robot.
  • the cost of each curve segment is calculated.
  • the cost of each curve segment can be calculated by a cost function, That is, according to the cost function, the curve segment far away from the obstacle is selected, so as to ensure the safety of the planned curve segment.
  • the partial curve segments may be the remaining curve segments after excluding the curve segments that collide with obstacles and/or the curve segments exceeding the preset curvature as described above.
  • the cost of the curve segment is used to measure the pros and cons of the curve segment.
  • the curve segment will be selected according to the cost and spliced to obtain the best target path with the lowest total cost.
  • the advantages and disadvantages of the curve segment are reflected in the avoidance of obstacles, the smoothness of the curve, and the distance from the shortest path. That is, the cost of each curve segment can be used to represent at least one of the degree of avoiding obstacles, the degree of smoothness of the curve, and the degree of deviation from the shortest path. Therefore, in one embodiment, the calculation of the cost includes three items: the average curvature, the average deviation from the center line, and the average distance from the obstacle, where the center line is the connection between the current position and the target position .
  • the calculation method of the cost includes: selecting multiple discrete points in the curve segment; calculating the cost of each discrete point separately; cost Get the cost of this curve segment.
  • calculating the cost of each discrete point includes: calculating the cost of the discrete point according to the curvature of each discrete point, the distance between the discrete point and the center line, and the distance between the discrete point and the obstacle. Specifically, for each discrete point, the curvature of the discrete point, the distance between the discrete point and the center line, and the distance between the discrete point and the obstacle can be weighted and summed to obtain the cost. Finally, the average cost of all or some discrete points on each curve segment may be used as the overall cost of the curve segment. Of course, the overall cost of the curve segment may also be determined in other ways, which is not limited in this embodiment.
  • the cost of the curve segment may be stored in the form of a node linked list, so as to facilitate subsequent dynamic programming.
  • the cost of at least part of the curve segment can be obtained by performing step S230. After that, in step S240, a target curve segment is selected between every two adjacent point layers according to the cost of the curve segment, and a target path from the current pose to the target pose is obtained. Among them, the target curve segments can be spliced to obtain the target path. Since the total cost of the target path is equal to the sum of the costs of each curve segment, the target path with the lowest total cost can be found according to the cost of the curve segments.
  • the splicing process is a Mahalanobis process with no aftereffect, that is, it has nothing to do with the previous state of the mobile robot, so dynamic programming can be used to solve the problem and plan according to the Bellman optimality principle, thereby reducing the amount of calculation.
  • dynamic programming is a multi-stage decision-making optimal solution model, which uses bottom-up recursion to obtain the optimal solution of each sub-problem, and then obtains the optimal solution of the original problem that depends on the sub-problems. That is to say, the original problem can be divided into multiple sub-problems to solve the optimal solution.
  • the original problem In the bottom-up recursion process, since each sub-problem obtained is the global optimal solution, it depends on the sub-problem The original problem is also a globally optimal solution.
  • the original problem is to obtain the target path
  • the sub-problem is to obtain the optimal curve segment in the adjacent point layer. Since there is a certain relationship between the sub-problems, that is, the optimal curve segment between the current point layer and the next point layer depends on the curve segment between the current point layer and the previous point layer, it is necessary to establish an iteration between the curve segments
  • the recursive formula that is, the state transition equation, is solved bottom-up according to the state transition equation to avoid repeated calculations due to overlapping sub-problems.
  • the bottom-up solution method can eliminate overlapping sub-problems and reduce the amount of calculation. .
  • the bottom-up solution method starts from the sub-problem that cannot be further decomposed at the bottom layer, and gradually solves the upper-layer problem and then the upper-layer problem according to the state equation, and finally obtains the optimal solution of the original problem.
  • the target curve segment is sequentially selected between every two adjacent point layers.
  • the next target curve segment is selected from the plurality of curve segments connected to the previous target curve segment.
  • At least part of the next point layer of the previous target curve segment can be obtained according to the state transition equation.
  • a target intermediate point with the least cost is selected from the candidate intermediate points, so as to obtain a subsequent target curve segment connecting the previous target curve segment and the target intermediate point.
  • the state of each sub-problem can be solved according to the state transition equation, that is, the state of each sub-problem is the result of the state of the previous stage and the decision of the previous stage. Therefore, as long as three variables are defined, the cycle continues from bottom to top Iterates to get the final result, which is the goal path with the lowest total cost.
  • the state transition equation is constructed according to the cost of the curve segment. Specifically, the state transition equation can be established in the order of the point layers, and the candidate intermediate points with the lowest cost in each point layer can be solved in turn according to the cost of the curve segments, as the target intermediate points, and the target curve segments can be obtained according to the target intermediate points.
  • a path is a path formed by connecting all target curve segments.
  • P is the current point (ie, the current candidate intermediate point)
  • P' is the P point
  • the set of all the successor points (that is, the successor candidate intermediate points) of , R(P), R(P'), R(P, P') represent the cost of point P, the cost of point P', and the cost of point P and P', respectively.
  • the cost of the curve segment fitted by P' The cost from the current point P to the subsequent point P' is called the single-step cost, and the cost of the point P' itself is called the subsequent cost.
  • the physical meaning of the state transition equation is: the cost of the current point is equal to the minimum value of the sum of the cost of all its successor points and the cost of the curve segment between the current point and the successor point.
  • the candidate intermediate point with the smallest cost in each point layer can be solved as the target intermediate point.
  • the connection between the target intermediate point and the end of the previous target curve segment The line is the target curve segment connecting the current point layer and the previous point layer, and the target path is the path formed by connecting all the target curve segments, that is, the path obtained by connecting all the target intermediate points.
  • the solution may be recursively solved in the direction from the target position to the current position, or may be solved recursively in the direction from the current position to the target position, which is not limited in this embodiment of the present application.
  • the final target path can be planned and obtained.
  • running speed due to the use of dynamic programming, repeated redundant calculations in a large area are avoided, and the optimal path planning results can be output in a relatively short time.
  • multi-point layer sampling is performed between the current pose and the target pose, and curve segments are obtained by fitting between the point layers.
  • the final target path is obtained according to multiple curve segments, and the form of the path is more abundant , there are more inflection points, and the success rate and robustness are greatly improved compared to the single-segment path planning form of the Bezier curve.
  • FIG. 3 shows a schematic block diagram of a path planning apparatus 300 according to an embodiment of the present application.
  • the path planning device 300 includes a storage device 310 and a processor 320 .
  • the storage device 310 is used to store program codes;
  • the processor 320 is used to execute the program codes, and when the program codes are executed, is used to implement the path planning method described above.
  • the path planning apparatus 300 in this embodiment of the present application may be implemented as a controller of a mobile robot, so that path re-planning can be performed in real time during the operation of the mobile robot.
  • the path planning device 300 can also be used to control the mobile robot to run from the current pose to the target pose along the planned target path.
  • the storage device 310 is a memory for storing processor-executable instructions, for example, for storing processor-executable program instructions for implementing corresponding steps in the path planning method 200 according to the embodiment of the present application.
  • Storage 310 may include one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and/or non-volatile memory.
  • the volatile memory may include, for example, random access memory (RAM) and/or cache memory, or the like.
  • the non-volatile memory may include, for example, read only memory (ROM), hard disk, flash memory, and the like.
  • the processor 320 may execute the program instructions stored in the storage device 310 to implement the functions (implemented by the processor) in the embodiments of the present application described herein and/or other desired functions, for example, to execute the embodiments of the present application The corresponding steps of the path planning method 200 .
  • Various application programs and various data, such as various data used and/or generated by the application program, etc. may also be stored in the computer-readable storage medium.
  • the processor 320 may be a central processing unit (CPU), a graphics processing unit (GPU), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other forms with data processing capabilities and/or instruction execution capabilities and may control other components in the path planning apparatus 300 to perform desired functions.
  • the processor is capable of executing the instructions stored in the storage device 310 to perform the path planning method described herein.
  • processor 320 can include one or more embedded processors, processor cores, microprocessors, logic circuits, hardware finite state machines (FSMs), digital signal processors (DSPs), or combinations thereof.
  • the path planning device 300 executes the following steps: acquiring the current pose and the target pose of the mobile robot; obtaining the current pose and the target pose according to the current pose and the target pose Multiple point layers, each point layer includes multiple candidate intermediate points; curve fitting is performed on the candidate intermediate points in every two adjacent point layers, and the cost of at least part of the curve segments obtained by fitting is determined, Each curve segment is used to connect two adjacent point layers; according to the cost of the curve segment, the target curve segment is selected between each two adjacent point layers, and the target path from the current pose to the target pose is obtained.
  • the performing curve fitting on the candidate intermediate points in every two adjacent point layers includes: each candidate intermediate point in the previous point layer and the candidate intermediate points in the next point layer respectively. Curve fitting is performed for each candidate intermediate point as a first-end point to obtain a curve segment connecting the previous point layer and the latter point layer.
  • the curve fitting comprises curve fitting according to the position, orientation and curvature of the candidate intermediate point.
  • the positions of the alternate intermediate points on each point layer are uniformly distributed in the point layer.
  • the direction of the candidate intermediate point is parallel to the direction of the target pose.
  • determining the cost of each curve segment includes: selecting multiple discrete points in each curve segment; calculating the cost of each discrete point separately; obtaining the cost according to the cost of multiple discrete points on the same curve segment The cost of the curve segment.
  • calculating the cost of each discrete point includes: calculating the cost of the discrete point according to the curvature of each discrete point, the distance between the discrete point and the centerline, and the distance between the discrete point and the obstacle , and the center line is the line connecting the current position and the target position.
  • calculating the cost of each discrete point includes: a weighted sum of the curvature of each discrete point, the distance between the discrete point and the centerline, and the distance between the discrete point and the obstacle , to get the cost of the discrete point.
  • the determining the cost of at least some of the curve segments includes: culling curve segments that collide with obstacles and/or curve segments exceeding a preset curvature; determining the cost of each remaining curve segment .
  • the selecting a target curve segment between every two adjacent point layers according to the cost of the curve segment includes: in an order from the current pose to the target pose, or According to the sequence from the target pose to the current pose, a target curve segment is selected between every two adjacent point layers in turn, wherein, after the previous target curve segment is determined, after the previous target curve segment is determined Select the next target curve segment among the multiple curve segments connected to the curve segment.
  • the selecting the next target curve segment from the plurality of curve segments connected to the previous target curve segment includes: according to the state transition equation in the next point layer of the previous target curve segment Selecting a target intermediate point with the least cost among at least some of the candidate intermediate points to obtain the latter target curve segment connecting the previous target curve segment and the target intermediate point, wherein the state transition equation is based on Constructed by the cost of curve fragments.
  • Embodiments of the present application further provide a mobile robot, including a mobile robot body and a path planning apparatus 300, where the path planning apparatus 300 is used to implement path planning for the mobile robot.
  • the mobile robot body includes a mechanical system and a power system.
  • the mechanical system includes a vehicle body, wheels, steering devices, transfer devices, safety devices, etc.;
  • the above structures are only examples, and some structures of the mobile robot body may be omitted; the mobile robot body may also include other structures.
  • the path planning device 300 can be implemented as a controller of a mobile robot. In addition to realizing the path planning of the mobile robot, the path planning device can also be used to control the mobile robot body to run from the current pose to the target pose according to the planned target path. .
  • a computer-readable storage medium is also provided, where program instructions are stored on the computer-readable storage medium, and the program instructions are used to execute the present application when the program instructions are run by a computer or a processor
  • the computer storage medium may include, for example, memory cards for smartphones, storage components for tablet computers, hard disks for personal computers, read only memory (ROM), erasable programmable read only memory (EPROM), portable compact disk read only Memory (CD-ROM), USB memory, or any combination of the above storage media.
  • the computer-readable storage medium can be any combination of one or more computer-readable storage media.
  • the path planning apparatus includes: an acquisition module 410 , a first determination module 420 , a curve fitting module 430 , a second determination module 440 and a selection module 450, of which,
  • the obtaining module 410 is used to obtain the current pose and the target pose of the mobile robot
  • the first determination module 420 is configured to obtain a plurality of point layers according to the current pose and the target pose, and each point layer includes a plurality of candidate intermediate points;
  • the curve fitting module 430 is configured to perform curve fitting on a plurality of candidate intermediate points in every two adjacent point layers;
  • the second determining module 440 is configured to determine the cost of at least part of the curve segments obtained after the curve fitting module 430 performs curve fitting, wherein each curve segment in the at least part of the curve segments is used to connect adjacent curve segments The two point layers of ;
  • the selection module 450 is configured to select a target curve segment between every two adjacent point layers according to the cost of the curve segment, and obtain a target path from the current pose to the target pose.
  • the curve fitting module 430 is specifically used for each candidate intermediate point and the next point in the previous point layer respectively.
  • Each candidate intermediate point in the layer is used as the first and last point to perform curve fitting, and a curve segment connecting the previous point layer and the latter point layer is obtained.
  • the curve fitting module 430 is specifically configured to select a plurality of candidate intermediate points in every two adjacent point layers according to Perform curve fitting according to the position and direction of each adjacent point layer; or perform curve fitting according to the position, direction and curvature of multiple candidate intermediate points in every two adjacent point layers.
  • the positions of the multiple candidate intermediate points in each point layer determined by the first determining module 420 are in the Evenly distributed in the point layer.
  • the directions of the multiple candidate intermediate points in each point layer determined by the first determining module 420 are all parallel to the direction of the intermediate point.
  • the orientation of the target pose is
  • the second determination module 440 includes: a selection module, a first calculation module and a second calculation module (not shown in the figure), in,
  • the selection module is used to select multiple discrete points in each curve segment
  • the first calculation module is used to calculate the cost of each discrete point respectively
  • the second calculation module is configured to calculate the cost of a plurality of discrete points on the same curve segment to obtain the cost of the curve segment.
  • the first calculation module is specifically configured to calculate according to the curvature of each discrete point and the relationship between each discrete point and the center line.
  • the cost of each discrete point is calculated by calculating the distance between the discrete points and the distance between the discrete points and the obstacle, and the center line is the line connecting the current position and the target position.
  • the first calculation module is specifically configured to calculate the curvature of each discrete point, the relationship between each discrete point and the center.
  • the distance between the lines and the distance between each discrete point and the obstacle are weighted and summed to obtain the cost of each discrete point.
  • the second determination module includes: an elimination module and a cost determination module (not shown in the figure), wherein,
  • the culling module is used to cull curve segments that collide with obstacles and/or curve segments that exceed a preset curvature
  • the cost determination module is specifically used to determine the cost of each remaining curve segment after culling.
  • the selection module 450 is specifically configured to follow the sequence from the current pose to the target pose, or in accordance with the sequence from the current pose to the target pose.
  • a target curve segment is selected between every two adjacent point layers in turn, wherein, after the previous target curve segment is determined, after the previous target curve segment is determined, Select the next target curve segment among the multiple curve segments connected to the segment.
  • selecting the next target curve segment from the multiple curve segments connected to the previous target curve segment includes: transitioning according to the state.
  • the equation selects a target intermediate point with the least cost among at least part of the candidate intermediate points in the next point layer of the previous target curve segment, and obtains the target intermediate point connecting the previous target curve segment and the target intermediate point.
  • the culling module culling the curve segment with the obstacle that exceeds the preset curvature includes: the curve segment whose maximum curvature exceeds the preset curvature. , or, a segment of a curve whose average curvature exceeds the preset curvature.
  • the cost of each curve segment determined by the second determination module is used to represent the degree of avoidance to obstacles, the degree of curve smoothness, and at least one of how far away from the shortest path.
  • the first determination module is specifically configured to sample between the current pose and the target pose to obtain all the spaced positions. the plurality of point layers, each of which represents an area that the mobile robot expects to pass through.
  • the plurality of point layers obtained by the first determining module are arranged in order from far to near according to the distance from the target position, In addition, the spaces occupied by different point layers do not intersect, and the mobile robot needs to pass through each point layer in sequence.
  • multiple point layers are sampled between the current pose and the target pose, the target path is obtained from multiple curve segments, and the form of the path is more abundant , there are more inflection points, and the success rate and robustness are significantly improved compared to the single-segment form of path planning.
  • the embodiment of the present application eliminates the curve segments (that is, the trajectory segments) that collide and the curvature exceeds the standard, and selects the trajectory segments that are far away from the obstacles according to the cost function. to ensure the security of path planning.
  • the embodiment of the present application performs multi-row sampling between the current pose and the target pose, and the final trajectory is formed by splicing multiple curve segments, which has a large number of parameters, and the form of path planning is more abundant. More, compared to the single-segment form of the existing Bezier curve, the success rate and robustness of path planning are greatly improved.
  • the embodiments of the present application take into account the safety, the success rate and the running speed, and can well realize the re-planning function of relative navigation.
  • a computing processing device including:
  • One or more processors when the computer readable code is executed by the one or more processors, the computing processing device performs the path planning method as described above.
  • a computer program including computer-readable codes, when the computer-readable codes are executed on a computing and processing device, the computing and processing device is caused to execute the above-mentioned path planning method.
  • Various component embodiments of the present application may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof.
  • a microprocessor or a digital signal processor (DSP) may be used in practice to implement some or all of the functions of some or all of the components in the computing processing device according to the embodiments of the present application.
  • DSP digital signal processor
  • the present application may also be implemented as an apparatus or apparatus program (e.g., computer program and computer program product, etc.) for performing part or all of the methods described herein.
  • Such a program implementing the present application may be stored on a computer-readable storage medium, or may be in the form of one or more signals. Such signals may be downloaded from Internet sites, or provided on carrier signals, or in any other form.
  • Figure 5 shows a computing processing device that can implement methods according to the present application.
  • the computing processing device traditionally includes a processor 1010 and a computer program product or computer readable medium in the form of a memory 1020 .
  • the memory 1020 may be electronic memory such as flash memory, EEPROM (Electrically Erasable Programmable Read Only Memory), EPROM, hard disk, or ROM.
  • the memory 1020 has space 1030 for storage of program code 1031 for executing any of the method steps in the above-described methods according to the present application.
  • storage convincedz-ttle space 1030 for program code may include individual program code 1031 for implementing various steps in the above methods, respectively.
  • These program codes can be read from or written to one or more computer program products.
  • These computer program products include program code carriers such as hard disks, compact disks (CDs), memory cards or floppy disks. Such computer program products are typically portable or fixed storage units as described with reference to FIG. 6 .
  • the storage unit may have storage segments, storage spaces, etc. arranged similarly to the memory 1020 in the computing processing device of FIG. 5 .
  • the program code may, for example, be compressed in a suitable form.
  • the storage unit for program code includes computer readable code 1031', ie code readable by a processor such as 1010, for example, which when executed by a computing processing device, causes the computing processing device to Perform the various steps in the method described above.
  • the disclosed apparatus and method may be implemented in other manners.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or May be integrated into another device, or some features may be omitted, or not implemented.
  • Various component embodiments of the present application may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. Those skilled in the art should understand that a microprocessor or other suitable processors may be used in practice to implement some or all functions of some modules according to the embodiments of the present application.
  • the present application can also be implemented as a program of apparatus (eg, computer programs and computer program products) for performing part or all of the methods described herein.
  • Such a program implementing the present application may be stored on a computer storage medium, or may be in the form of one or more signals. Such signals may be downloaded from Internet sites, or provided on carrier signals, or in any other form.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Electromagnetism (AREA)
  • Optics & Photonics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Manipulator (AREA)

Abstract

一种路径规划方法、装置、移动机器人、计算机可读存储介质及计算机程序,该方法包括:获取移动机器人的当前位姿和目标位姿;根据当前位姿与目标位姿,得到多个点层,每个点层包括多个备选中间点;对相邻的每两个点层中的多个备选中间点进行曲线拟合,并确定拟合得到的至少部分曲线片段的代价,其中,所述至少部分曲线片段中的每个曲线片段用于连接相邻的两个点层;根据曲线片段的代价在相邻的每两个点层之间选择目标曲线片段,得到从当前位姿到目标位姿的目标路径。该方法中目标路径根据多个曲线片段得到,相对于单段形式的路径规划,成功率和鲁棒性具有显著提高。

Description

路径规划方法、装置、移动机器人、存储介质及程序
本申请要求在2021年3月2日提交中国专利局、申请号为202110231697.3、申请名称为“路径规划方法、装置、移动机器人及计算机存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及移动机器人技术领域,更具体地涉及一种路径规划方法、装置、移动机器人、计算机可读存储介质及计算机程序。
背景技术
自动引导车(Automated Guided Vehicle,AGV)、自主移动机器人(Autonomous Mobile Robot,AMR)、叉车等移动机器人是现代物流系统的关键设备之一,能够根据路径规划和作业要求,精确地行走并停靠到指定地点,完成物料搬运输送等任务。路径规划是移动机器人运行控制中的重要环节,决定了移动机器人的行进路线。
移动机器人的相对导航是指目标位姿或周围环境发生变化时,移动机器人需要根据变化后的目标位姿及周围环境,动态地调整运动轨迹以完成最终任务。目前的移动机器人的相对导航方案成功率较低。
概述
在申请内容部分中引入了一系列简化形式的概念,这将在具体实施方式部分中进一步详细说明。本申请的申请内容部分并不意味着要试图限定出所要求保护的技术方案的关键特征和必要技术特征,更不意味着试图确定所要求保护的技术方案的保护范围。
本申请提供一种路径规划方法、装置、移动机器人、计算机可读存储介质及计算机程序,以至少解决相关技术中由于移动机器人在行走过程中目标终点的位姿或周围环境发生变化时,只能进行单段形式的路径规划,导致复杂环境下路线规划的成功率较低的技术术问题。本申请提供的技术方案如下:
本申请实施例第一方面提供了一种路径规划方法,所述方法包括:
获取移动机器人的当前位姿和目标位姿;
根据所述当前位姿与所述目标位姿,得到多个点层,每个点层包括多个备选中间点;
对相邻的每两个点层中的多个备选中间点进行曲线拟合,并确定拟合得到的至少部分曲线片段的代价,其中,所述至少部分曲线片段中的每个曲线片段用于连接相邻的两个点层;
根据所述曲线片段的代价在相邻的每两个点层之间选择目标曲线片段,得到从所述当前位姿到所述目标位姿的目标路径。
在一个实施例中,所述对相邻的每两个点层中的多个备选中间点进行曲线拟合,包括:分别以前一个点层中的每个备选中间点和后一个点层中的每个备选中间点作为首末端点进行曲线拟合,得到连接所述前一个点层和所述后一个点层的曲线片段。
在一个实施例中,所述对相邻的每两个点层中的多个备选中间点进行曲线拟合包括:根据相邻的每两个点层中的多个备选中间点的位置、方向进行曲线拟合;或者根据相邻的每两个点层中的多个备选中间点的位置、方向和曲率进行曲线拟合。
在一个实施例中,所述每个点层上的多个备选中间点的位置在所述点层中均匀分布。
在一个实施例中,所述每个点层中的多个备选中间点的方向均平行于所述目标位姿的方向。
在一个实施例中,所述确定拟合得到的至少部分曲线片段的代价包括:在每个曲线片段中选取多个离散点;分别计算每个离散点的代价;根据同一曲线片段上的多个离散点的代价得到所述曲线片段的代价。
在一个实施例中,所述计算每个离散点的代价包括:根据每个离散点的曲率、所述每个离散点与中心线之间的距离以及所述每个离散点与障碍物之间的距离计算所述每个离散点的代价,所述中心线为当前位置与目标位置的连线。
在一个实施例中,根据每个离散点的曲率、所述每个离散点与中心线之间的距离以及所述每个离散点与障碍物之间的距离计算每个离散点的代价包括:对每个离散点的曲率、所述每个离散点与所述中心线之间的距离以及所述每个离散点与障碍物之间的距离进行加权求和,得到所述每个离散点的代价。
在一个实施例中,所述确定拟合得到的至少部分所述曲线片段的代价包括:剔除与障碍物之间存在碰撞的曲线片段和/或超过预设曲率的曲线片段;确定剔除后剩余的每个曲线片段的代价。
在一个实施例中,所述根据所述曲线片段的代价在相邻的每两个点层之间选择目标曲线片段,包括:按照从所述当前位姿到所述目标位姿的顺序,或者按照从所述目标位姿到所述当前位姿的顺序,依次在相邻的每两个点层之间选择目标曲线片段,其中,当确定前一个目标曲线片段之后,在与所述前一个目标曲线片段相连的多个曲线片段中选择后一个目标曲线片段。
在一个实施例中,所述在与所述前一个目标曲线片段相连的多个曲线片 段中选择后一个目标曲线片段,包括:根据状态转移方程在所述前一个目标曲线片段的后一个点层中的至少部分备选中间点中选择一代价最小的目标中间点,得到连接所述前一个目标曲线片段和所述目标中间点的所述后一个目标曲线片段,其中,所述状态转移方程是根据曲线片段的代价所构建的。
在一个实施例中,所述超过预设曲率的曲线片段包括:最大曲率超过预设曲率的曲线片段,或者,平均曲率超过预设曲率的曲线片段。
在一个实施例中,所述每个曲线片段的代价用于表征对障碍物的避让程度、曲线平滑程度、以及偏离最短路径的远近程度中的至少一者。
在一个实施例中,所述根据所述当前位姿与所述目标位姿,得到多个点层,包括:
在当前位姿与目标位姿之间进行采样,得到间隔排列的所述多个点层,所述多个点层中的每个点层表示所述移动机器人期望通过的一块区域。
在一个实施例中,所述多个点层按照离目标位置的距离由远到近有序排列,且不同的点层所占据的空间不相交,所述移动机器人需要按照顺序依次经过每个点层。
本申请实施例第二方面提供了一种路径规划装置,所述装置包括:
获取模块,用于获取移动机器人的当前位姿和目标位姿;
确定模块,用于根据所述当前位姿与所述目标位姿,得到多个点层,每个点层包括多个备选中间点;
拟合模块,用于对相邻的每两个点层中的多个备选中间点进行曲线拟合,并确定拟合得到的至少部分曲线片段的代价,其中,所述至少部分曲线片段中的每个曲线片段用于连接相邻的两个点层;
选择模块,用于根据所述曲线片段的代价在相邻的每两个点层之间选择目标曲线片段,得到从所述当前位姿到所述目标位姿的目标路径。
本申请实施例第三方面提供了一种路径规划装置,所述路径规划装置包括存储装置和处理器,所述存储装置上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时执行如上所述的路径规划方法。
本申请实施例第四方面提供了一种移动机器人,包括移动机器人本体以及如上所述的路径规划装置。
本申请实施例第五方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在运行时执行如上所述的路径规划方法。
本申请实施例第六方面提供了一种计算机程序,包括计算机可读代码,当所述计算机可读代码在计算处理设备上运行时,使所述计算处理设备执行如上所述的路径规划方法。
本申请实施例中,通过在当前位姿与目标位姿间采样多个点层,对相邻的每两个点层中的多个备选中间点进行曲线拟合,得到多个曲线片段,并根据曲线片段的代价在相邻的每两个点层之间选择目标曲线片段,得到从所述当前位姿到所述目标位姿的目标路径,从而使得到目标路径的形式更加丰富,相对于单段形式的路径规划,成功率和鲁棒性具有显著提高。
附图说明
通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1示出用于实现根据本申请实施例的路径规划方法的示例电子设备的示意性框图。
图2示出根据本申请一个实施例的路径规划方法的示意性流程图。
图3示出根据本申请一实施例的路径规划装置的示意性框图。
图4示出根据本申请一实施例的路径规划装置的另一示意性框图。
图5示出了用于执行根据本申请的方法的计算处理设备的框图。
图6示出了用于保持或者携带实现根据本申请的方法的程序代码的存储单元。
详细描述
为了使得本申请的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。基于本申请中描述的本申请实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本申请的保护范围之内。
首先,参照图1来描述用于实现本申请实施例的路径规划方法的示例电子设备100。
如图1所示,电子设备100包括一个或多个处理器102、一个或多个存储装置104。可选地,在一些实施方式中,电子设备100还可以包括输入装置106、输出装置108,以及通信装置110。这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。
处理器102可以是中央处理单元(CPU)、现场可编程门阵列(FPGA) 或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制所述电子设备100中的其它组件以执行期望的功能。
存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本申请实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
输入装置106可以是用户用来输入指令的装置,并且可以包括按钮、键盘、鼠标、麦克风和触摸屏等中的一个或多个。
输出装置108可以向外部(例如用户)输出各种信息(例如图像或声音),并且可以包括发光装置、显示器、扬声器等中的一个或多个。
通信装置110用于经由网络接收或者发送数据,所述网络具体可以包括无线网络,例如WiFi、2G、3G、4G、5G或其组合。通信装置还可以包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。当电子设备100实现为移动机器人的控制器时,通信装置110主要负责移动机器人与控制系统的数据交互,例如接收控制系统的调度指令,以及将移动机器人的状态信息反馈给控制系统等。
需要注意的是,图1所示的电子设备100的组件和结构只是示例性的,尽管图1示出的电子设备100包括多个不同的装置,但是根据需要,其中的一些装置可以不是必须的,其中的一些装置的数量可以更多等等,本申请对此不限定。
下面,参考图2,是本申请实施例提供的一种路径规划方法200的流程图。该路径规划方法200可以用于移动机器人,或者用于移动机器人的控制系统。
如图2所示,路径规划方法200可以包括如下步骤:
在步骤S210,获取移动机器人的当前位姿和目标位姿;
在步骤S220,根据所述当前位姿与所述目标位姿,得到多个点层,每个点层包括多个备选中间点;
在步骤S230,对相邻的每两个点层中的备选中间点进行曲线拟合,并确定拟合得到的至少部分曲线片段的代价,其中每个曲线片段用于连接相邻 的两个点层;
在步骤S240,根据所述曲线片段的代价在相邻的每两个点层之间选择目标曲线片段,得到从所述当前位姿到所述目标位姿的目标路径。
本申请实施例的路径规划方法200用于为移动机器人进行路径规划,该移动机器人可以应用于制造、仓储配送、物流运输等领域,具体可以实现为采用非预定路径引导方式的移动机器人。以往的移动机器人一般基于纯控制的PID或基于贝塞尔曲线进行重规划。纯控制的PID是指在移动机器人部分进入托盘底后,以底盘中心线为目标进行反馈控制。由于该方案没有考虑移动机器人与障碍物之间的距离,存在发生碰撞的风险,只适用于当前位姿与目标位姿非常接近的情形,无法处理复杂的环境,鲁棒性不高。基于贝塞尔曲线的重规划是指根据小车当前位姿与运动状态,结合目标状态,以贝塞尔曲线进行两点拟合规划出新的末段路径。该方案的问题在于没有考虑障碍物信息,且两点拟合出的路径参数过少,形式过于简单,因此难以解决需要绕障的场景;对于终点位姿变化较大的情况,此方法的成功率较低。相比而言,本申请实施例的路径规划方法200在当前位姿与目标位姿间采样多个点层,在每相邻点层之间拟合曲线片段,目标路径根据多个曲线片段拼接得到,路径的形式更加丰富,拐点更多,相对于单段形式的路径规划,成功率和鲁棒性均具有显著提高。
基于控制器进行路径规划可以实现在移动机器人运行的过程中实时进行路径规划。本申请实施例的路径规划方法200可以是在移动机器人运行过程中实时发起的重规划,用于实现移动机器人的相对导航。当移动机器人在运行过程中目标位姿或周围环境发生变化时,则可以采用本申请实施例的路径规划方法200,根据变化后的目标位姿和周围环境实时重规划路径,动态地调整移动机器人的运动轨迹以完成最终任务。例如,当移动机器人接收到控制系统发送的新的目标位姿时,或当移动机器人的原有路径失效时,都可以触发本申请的路径规划方法200,实时规划新的目标路线。其中,路径失效的原因可以包括移动机器人发生碰撞,或移动机器人检测到障碍物等。
触发路径规划以后,首先执行步骤S210,获取移动机器人的当前位姿和目标位姿,其中当前位姿包括当前位置和当前姿态,目标位姿包括目标位置和目标姿态。
示例性地,目标位姿可以由控制系统下发至移动机器人。具体地,控制系统可以下发任务消息至移动机器人,例如,该任务可以是通知移动机器人将待运输的物品从一个起始位置运输到终点位置。在一些示例中,当移动机器人处于任务的起始位置时,可以将任务的终点位置的位姿作为路径规划的目标位姿。当移动机器人不在任务的起始位置时,则可以将任务的起始位置 的位姿作为目标位姿,以使得移动机器人从当前位置运行至该任务的起始位置以获取待运输的物品。
当前位姿可以由移动机器人实时获取。示例性地,不同类型的移动机器人可以采用不同方式获取当前位姿,例如基于激光扫描、惯性导航、图像识别等。基于激光模块确定当前位姿是指在移动机器人行驶区域周围的预定位置处安装激光反射板,移动机器人的激光模块通过激光扫描器发射激光束,同时采集由反射板反射的激光束,由此确定其当前位姿。基于惯性测量单元确定当前位姿是指在移动机器人上安装陀螺仪,在行驶区域的地面上安装定位块,移动机器人通过对陀螺仪偏差信号与行走距离编码器的综合计算,以及地面定位块信号的比较校正来确定当前位姿。基于图像识别确定当前位姿是指移动机器人利用摄像头实时采集行驶路径周围环境的图像信息,并与已建立的运行路径周围环境图像库中的信息进行比较来确定当前位姿。移动机器人还可以采用基于二维码的图像识别方法,即利用摄像头扫描地面二维码,通过扫码定位技术确定当前位姿。在本实施例中,还可以采用各种可行的方式确定当前位姿,本申请实施例对确定当前位姿的具体方式不做限定。
在获取移动机器人的当前位姿和目标位姿之后,执行步骤S220,根据当前位姿与目标位姿得到多个点层,每个点层包括多个备选中间点。
示例性地,可以在当前位姿与目标位姿之间进行采样,以得到间隔排列的多个点层。其中,可以在当前位置到目标位置的连线方向上进行采样,以得到间隔排列的多个点层,点层的长度方向可以垂直于当前点与目标点的连线方向。每个点层是指一个期望移动机器人通过的区域,是若干个备选中间点的集合,同一个点层内的备选中间点在一块连续空间内的均匀分布。换句话说,每个点层表示移动机器人期望通过的一块区域,每个点层上每个备选中间点表示该区域中的一个位置。可选地,点层可以是沿中心线方向间隔排列的狭长的矩形区域,当然,点层也可以具有其他形状,例如椭圆形等。示例性地,不同点层的形状和大小可以相同,或者,不同点层的形状和大小可以不同。
点层按照离目标位置的距离由远到近有序排列,即每个点层都有唯一确定的前驱点层和后继点层,且不同的点层所占据的空间不相交,移动机器人需要按照顺序依次经过每个点层。
示例性地,点层的个数取决于期望经过的中间点的个数,或者说取决于当前位置与目标位置之间的距离。距离越远,则点层的个数越多,距离越近,则点层的个数越少。类似地,相邻点层之间的间距也可以取决于当前位置与目标位置之间的距离,例如,距离越远则间距越大,距离越近则间距越小。
在步骤S230,对相邻的每两个点层中的备选中间点进行曲线拟合,并 确定拟合得到的至少部分曲线片段的代价,其中,所述至少部分曲线片段中的每个曲线片段用于连接相邻的两个点层。每个曲线片段的代价可以用来衡量曲线片段的优劣,也就是说,每个曲线片段的代价可以用于表征对障碍物的避让程度、曲线平滑程度、以及偏离最短路径的远近程度中的至少一者。
如上所述,在当前位置与目标位置之间的采样区域内,点层以距离目标位置由远到近的顺序排列,最终确定的目标路径需要遵循点层的空间排列关系,即依次经过每个点层中的一个备选中间点,不能跳过某个点层,也不能打乱经过点层的顺序,因此需要从相邻的点层之间选取中间点拟合曲线片段。
例如,若在当前位置与目标位置之间采样了k个点层,则对第一个点层与第二个点层中的备选中间点进行曲线拟合,得到第一个点层与第二个点层之间的多个曲线片段;对第二个点层与第三个点层中的备选中间点进行曲线拟合,得到第二个点层与第三个点层之间的多个曲线片段,以此类推,直到在k个点层中每相邻两个点层之间均拟合得到多个曲线片段。由于每个点层内只能有一个备选中间点被最终选中,以作为目标路径上的目标中间点,因此同一个点层内部的备选中间点之间不互相拟合。
进一步地,拟合曲线片段需要循环遍历相邻两个所述点层中的所有备选中间点,分别以前一个点层中的每个备选中间点和后一个点层中的每个备选中间点作为首末端点拟合曲线片段。也就是说,在相邻的每两个点层之间,将前一个点层中的备选中间点与后一点层中的备选中间点一一组合配对,以任意两个备选中间点作为首末端点来拟合曲线片段,前一个点层中任意一个备选中间点与后一个点层中的每个备选中间点均拟合得到一个曲线片段,同理,后一个点层中任意一个备选中间点与前一个点层中的每个备选中间点也均拟合得到一个曲线片段。例如,若第一个点层中备选中间点的个数为m,第二个点层中备选中间点的个数为n,则在第一个点层与第二个点层之间共拟合得到m*n个曲线片段。
其中,每个备选中间点的信息至少包括其位置和方向,根据位置和方向可以拟合得到两点间的曲线。进一步地,每个备选中间点的信息还可以包括曲率,以进一步丰富曲线拟合的参数。将上述备选中间点的信息作为曲线拟合的边界条件来解算曲线参数,即可以得到以备选中间点作为首末端点的曲线片段。示例性地,可采取的曲线形式包括但不限于样条曲线、多项式曲线、贝塞尔曲线等。
在一个实施例中,在拟合得到曲线片段之后,确定拟合得到的至少部分曲线片段的代价:可以是拟合得到的所有曲线片段中的任意部分曲线片段的代价,也可以是剔除与障碍物之间存在碰撞的曲线片段和/或超过预设曲率的 曲线片段之后,剩余的部分曲线片段的代价。
在一个实施例中,在拟合得到曲线片段之后,还可以剔除与障碍物之间发生碰撞的曲线片段,由此能最大程度上保证移动机器人沿目标路径运行的安全性。
示例性地,可以采用如下方式判断曲线片段是否与障碍物之间发生碰撞:判断移动机器人按曲线片段运行时,移动机器人轮廓上的每个点是否出现在障碍物内部。若移动机器人轮廓上的任意一个点出现在障碍物内部,则确定曲线片段与障碍物之间发生碰撞,为保证移动机器人的运行安全,将该曲线片段剔除。
示例性地,可以通过向量积方向判断移动机器人轮廓上的每个点是否存在于障碍物内部,具体地,确定包围障碍物的凸多边形,对于移动机器人轮廓上的P,获取其与凸多边形的每个顶点之间的向量;按照逆时针或顺时针方向取相邻向量进行叉乘,若任意两个向量之间的夹角大于180°,则说明点P存在于多边形内部。以此为依据可以检测曲线片段上每一个离散的移动机器人位姿是否与障碍物碰撞,并将与障碍物碰撞的曲线片段剔除。
作为另一例,剔除的曲线片段可以是超过预设曲率的曲线片段。其中,超过预设曲率的曲线片段可以是最大曲率超过预设曲率的曲线片段,或者可以是平均曲率超过预设曲率的曲线片段。剔除曲率超标的曲线片段可以保证移动机器人运行的平稳性。
示例性地,对于在每相邻两个点层之间拟合出的部分或全部曲线片段,计算每个曲线片段的代价,一种方式,可以通过代价函数来计算每个曲线片段的代价,也就是根据代价函数选择远离碍物的曲线片段,从而保证规划的曲线片段的安全性。其中,部分曲线片段可以是如上所述剔除了与障碍物之间存在碰撞的曲线片段和/或超过预设曲率的曲线片段之后剩余的曲线片段。曲线片段的代价用于衡量曲线片段的优劣,最终将根据代价来选择曲线片段,并进行拼接,从而得到总代价最低的最佳的目标路径。
考虑到移动机器人的运行情况,曲线片段的优劣体现在对障碍物的避让、曲线的平滑程度、偏离最短路径的距离等方面。也就是说,每个曲线片段的代价可以用来表征对障碍物的避让程度、曲线平滑程度、以及偏离最短路径的远近程度中的至少一者。因此,在一个实施例中,代价的计算共包含三项:平均曲率、与中心线之间的平均偏差、与障碍物的平均距离,其中,中心线为当前位置与目标位置之间的连线。
在一个实施例中,对于每个曲线片段,其代价的计算方式包括:在该曲线片段中选取多个离散点;分别计算每个离散点的代价;根据同一曲线片段上的多个离散点的代价得到该曲线片段的代价。
其中,计算每个离散点的代价包括:根据每个离散点的曲率、该离散点与中心线之间的距离以及该离散点与障碍物之间的距离计算该离散点的代价。具体地,对于每个离散点来说,可以对该离散点的曲率、该离散点与中心线之间的距离以及该离散点与障碍物之间的距离进行加权求和,得到该离散点的代价。最后,可以以每个曲线片段上所有或部分离散点的平均代价作为该曲线片段的整体代价,当然,也可以通过其他方式确定该曲线片段的整体代价,本实施例不做限制。
在一个实施例中,曲线片段的代价可以采用节点链表的方式进行存储,以便于后续进行动态规划。
通过执行步骤S230可以获得至少部分曲线片段的代价。之后,在步骤S240,根据曲线片段的代价在相邻的每两个点层之间选择目标曲线片段,得到从当前位姿到目标位姿的目标路径。其中,可以对目标曲线片段进行拼接,得到目标路径。由于目标路径的总代价等于各个曲线片段的代价之和,根据曲线片段的代价即可寻找到总代价最低的目标路径。由于该拼接过程是一个无后效性的马氏过程,即与移动机器人此前的状态无关,因此可采取动态规划求解,根据贝尔曼最优性原理进行规划,从而减少计算量。
具体地,动态规划是一种多阶段决策最优解模型,其采用自下而上的递推方式来得出每个子问题的最优解,进而得出依赖子问题的原问题的最优解。也就是说,原问题可以拆分成多个子问题进行求解最优解,在自下而上的递推过程中,由于所求得的每个子问题是全局最优解,因而依赖于子问题的原问题也是全局最优解。
在本申请实施例中,原问题即求得目标路径,子问题即求得相邻点层中的最优曲线片段。由于子问题之间存在一定联系,即当前点层与下一个点层之间的最优曲线片段依赖于当前点层与上一个点层之间的曲线片段,因而需要在曲线片段之间建立迭代递推公式,即状态转移方程,根据状态转移方程自下而上地求解,避免由于子问题之间存在重叠而导致重复计算,采用自下而上的求解方式可以消除重叠子问题,减少计算量。
自下而上的求解方式即从最底层不能继续分解的子问题开始,根据状态方程逐渐求其上层的问题、再上层的问题,最终求得原问题的最优解。在本申请实施例中,即按照从当前位姿到目标位姿的顺序,或者按照从目标位姿到当前位姿的顺序,依次在相邻的每两个点层之间选择目标曲线片段。其中,当确定前一个目标曲线片段之后,在与该前一个目标曲线片段相连的多个曲线片段中选择后一个目标曲线片段。
示例性地,为了在与该前一个目标曲线片段相连的多个曲线片段中选择最优的后一个目标曲线片段,可以根据状态转移方程在前一个目标曲线片段 的后一个点层中的至少部分备选中间点中选择一代价最小的目标中间点,以得到连接该前一个目标曲线片段和目标中间点的后一个目标曲线片段。如上所述,对于每个子问题的状态可以根据状态转移方程求解,即每个子问题的状态是上一阶段状态和上一阶段决策的结果,因此,只要定义三个变量,自下而上不断循环迭代即可得到最终结果,即总代价最低的目标路径。
本申请一个实施例中,状态转移方程是根据曲线片段的代价所构建的。具体地,可以按照点层的顺序建立状态转移方程,根据曲线片段的代价依次求解每个点层中代价最低的备选中间点,以作为目标中间点,根据目标中间点得到目标曲线片段,目标路径为连接所有目标曲线片段所构成的路径。状态转移方程可建模为:R(P)=min{R(P’)+R(P,P’)},其中,P为当前点(即当前备选中间点),P’为P点的所有后继点(即后继备选中间点)的集合,R(P)、R(P’)、R(P,P’)分别代表P点的代价、P’点的代价、以及由P和P’所拟合的曲线片段的代价。由当前P点到后继P’点的代价称为单步代价,P’点本身的代价称为后继代价。该状态转移方程的物理含义是:当前点的代价等于其所有后继点代价与当前点到后继点之间的曲线片段的代价之和的最小值。
通过以上状态转移方程按照点层顺序递推求解,即可求解出每个点层中具有最小代价的备选中间点,以作为目标中间点,目标中间点与上一目标曲线片段的末端的连线则为连接当前点层与上一点层的目标曲线片段,目标路径为连接所有目标曲线片段所构成的路径,也即连接所有目标中间点所得到的路径。在求解过程中,可以沿目标位置到当前位置的方向递推求解,也可以沿从当前位置到目标位置的方向递推求解,本申请实施例对此不做限制。
基于以上描述即可规划得到最终的目标路径。在运行速度上,由于采用了动态规划,避免了大面积的重复冗余计算,能在较短时间内输出最优的路径规划结果。
本申请实施例在在当前位姿与目标位姿之间进行多点层采样,并在点层之间拟合得到曲线片段,最终的目标路径根据多个曲线片段得到,其路径的形式更加丰富,拐点更多,相对于贝塞尔曲线的单段路径规划形式,大大提高了成功率和鲁棒性。
本申请实施例另一方面还提供一种路径规划装置,图3示出了根据本申请实施例的路径规划装置300的示意性框图。路径规划装置300包括存储装置310以及处理器320。其中,所述存储装置310用于存储程序代码;所述处理器320用于执行所述程序代码,当所述程序代码执行时,用于实现上文所述的路径规划方法。本申请实施例的路径规划装置300可以实现为移动机器人的控制器,从而可以在移动机器人运行的过程中实时进行路径重规划。所述路径规划装置300还可以用于控制移动机器人沿规划好的目标路径从当 前位姿运行到目标位姿。
所述存储装置310为用于存储处理器可执行指令的存储器,例如用于存储用于实现根据本申请实施例的路径规划方法200中的相应步骤的处理器可执行的程序指令。存储装置310可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。
处理器320可以运行存储装置310存储的所述程序指令,以实现本文所述的本申请实施例中(由处理器实现)的功能以及/或者其它期望的功能,例如以执行根据本申请实施例的路径规划方法200的相应步骤。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
所述处理器320可以是中央处理单元(CPU)、图像处理单元(GPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制路径规划装置300中的其它组件以执行期望的功能。所述处理器能够执行所述存储装置310中存储的所述指令,以执行本文描述的路径规划方法。例如,处理器320能够包括一个或多个嵌入式处理器、处理器核心、微型处理器、逻辑电路、硬件有限状态机(FSM)、数字信号处理器(DSP)或它们的组合。
在一个实施例中,存储装置310存储的程序指令被处理器320运行时使得路径规划装置300执行以下步骤:获取移动机器人的当前位姿和目标位姿;根据当前位姿与目标位姿,得到多个点层,每个点层包括多个备选中间点;对相邻的每两个点层中的备选中间点进行曲线拟合,并确定拟合得到的至少部分曲线片段的代价,其中每个曲线片段用于连接相邻的两个点层;根据曲线片段的代价在相邻的每两个点层之间选择目标曲线片段,得到从当前位姿到目标位姿的目标路径。
在一个实施例中,所述对相邻的每两个点层中的备选中间点进行曲线拟合,包括:分别以前一个点层中的每个备选中间点和后一个点层中的每个备选中间点作为首末端点进行曲线拟合,以得到连接所述前一个点层和所述后一个点层的曲线片段。
在一个实施例中,所述曲线拟合包括根据所述备选中间点的位置、方向和曲率进行曲线拟合。
在一个实施例中,每个点层上的备选中间点的位置在该点层中均匀分布。
在一个实施例中,所述备选中间点的方向平行于所述目标位姿的方向。
在一个实施例中,确定每个曲线片段的代价包括:在每个曲线片段中选取多个离散点;分别计算每个离散点的代价;根据同一曲线片段上的多个离散点的代价得到该曲线片段的代价。
在一个实施例中,计算每个离散点的代价包括:根据每个离散点的曲率、该离散点与中心线之间的距离以及该离散点与障碍物之间的距离计算该离散点的代价,所述中心线为当前位置与目标位置的连线。
在一个实施例中,计算每个离散点的代价包括:对每个离散点的曲率、该离散点与所述中心线之间的距离以及该离散点与障碍物之间的距离进行加权求和,得到该离散点的代价。
在一个实施例中,所述确定至少部分所述曲线片段的代价包括:剔除与障碍物之间存在碰撞的曲线片段和/或超过预设曲率的曲线片段;确定剩余的每个曲线片段的代价。
在一个实施例中,所述根据所述曲线片段的代价在相邻的每两个点层之间选择目标曲线片段,包括:按照从所述当前位姿到所述目标位姿的顺序,或者按照从所述目标位姿到所述当前位姿的顺序,依次在相邻的每两个点层之间选择目标曲线片段,其中,当确定前一个目标曲线片段之后,在与该前一个目标曲线片段相连的多个曲线片段中选择后一个目标曲线片段。
在一个实施例中,所述在与该前一个目标曲线片段相连的多个曲线片段中选择后一个目标曲线片段,包括:根据状态转移方程在该前一个目标曲线片段的后一个点层中的至少部分备选中间点中选择一代价最小的目标中间点,以得到连接所述前一个目标曲线片段和所述目标中间点的所述后一个目标曲线片段,其中,所述状态转移方程是根据曲线片段的代价所构建的。
本申请实施例还提供一种移动机器人,包括移动机器人本体和路径规划装置300,路径规划装置300用于为移动机器人实现路径规划。示例性地,移动机器人本体包括机械系统和动力系统,机械系统包括车体、车轮、转向装置、移载装置、安全装置等;动力系统包括行走电机、移栽电机、电池组件和充电装置等。以上结构仅作为示例,移动机器人本体可以省略其中的部分结构;移动机器人本体还可以包括其他结构。路径规划装置300可以实现为移动机器人的控制器,其除了能够实现移动机器人的路径规划以外,路径规划装置还可以用于控制移动机器人本体根据规划好的目标路径从当前位姿运行至目标位姿。
此外,根据本申请实施例,还提供了一种计算机可读存储介质,在所述计算机可读存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本申请实施例的移动机器人的路径规划方法200的相应步 骤,其具体细节可以参见上文。所述计算机存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合。
还请参阅图4,为本申请实施例提供的一种路径规划装置,所述路径规划装置包括:获取模块410,第一确定模块420,曲线拟合模块430、第二确定模块440和选择模块450,其中,
该获取模块410,用于获取移动机器人的当前位姿和目标位姿;
该第一确定模块420,用于根据所述当前位姿与所述目标位姿,得到多个点层,每个点层包括多个备选中间点;
该曲线拟合模块430,用于对相邻的每两个点层中的多个备选中间点进行曲线拟合;
该第二确定模块440,用于确定所述曲线拟合模块430进行曲线拟合后得到的至少部分曲线片段的代价,其中,所述至少部分曲线片段中的每个曲线片段用于连接相邻的两个点层;
该选择模块450,用于根据所述曲线片段的代价在相邻的每两个点层之间选择目标曲线片段,得到从所述当前位姿到所述目标位姿的目标路径。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述曲线拟合模块430,具体用于分别以前一个点层中的每个备选中间点和后一个点层中的每个备选中间点作为首末端点进行曲线拟合,得到连接所述前一个点层和所述后一个点层的曲线片段。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述曲线拟合模块430,具体用于根据相邻的每两个点层中的多个备选中间点的位置、方向进行曲线拟合;或者根据相邻的每两个点层中的多个备选中间点的位置、方向和曲率进行曲线拟合。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述第一确定模块420确定的所述每个点层中的多个备选中间点的位置在所述点层中均匀分布。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述第一确定模块420确定的所述每个点层中的多个备选中间点的方向均平行于所述目标位姿的方向。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述第二确定模块440包括:选取模块,第一计算模块和第二计算模块(图中未示),其中,
该选取模块,用于在每个曲线片段中选取多个离散点;
该第一计算模块,用于分别计算每个离散点的代价;
该第二计算模块,用于计算同一曲线片段上的多个离散点的代价,得到所述曲线片段的代价。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述第一计算模块,具体用于根据每个离散点的曲率、所述每个离散点与中心线之间的距离以及所述每个离散点与障碍物之间的距离计算所述每个离散点的代价,所述中心线为当前位置与目标位置的连线。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述第一计算模块,具体用于对每个离散点的曲率、所述每个离散点与所述中心线之间的距离以及所述每个离散点与障碍物之间的距离进行加权求和,得到所述每个离散点的代价。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述第二确定模块包括:剔除模块和代价确定模块(图中未示),其中,
该剔除模块,用于剔除与障碍物之间存在碰撞的曲线片段和/或超过预设曲率的曲线片段;
该代价确定模块,具体用于确定剔除后剩余的每个曲线片段的代价。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述选择模块450,具体用于按照从所述当前位姿到所述目标位姿的顺序,或者按照从所述目标位姿到所述当前位姿的顺序,依次在相邻的每两个点层之间选择目标曲线片段,其中,当确定前一个目标曲线片段之后,在与所述前一个目标曲线片段相连的多个曲线片段中选择后一个目标曲线片段。
可选的,在另一实施例中,该实施例在上述实施例的基础上,在与所述前一个目标曲线片段相连的多个曲线片段中选择后一个目标曲线片段,包括:根据状态转移方程在所述前一个目标曲线片段的后一个点层中的至少部分备选中间点中选择一代价最小的目标中间点,得到连接所述前一个目标曲线片段和所述目标中间点的所述后一个目标曲线片段,其中,所述状态转移方程是根据曲线片段的代价所构建的。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述剔除模块剔除与障碍物之间超过预设曲率的曲线片段包括:最大曲率超过预设曲率的曲线片段,或者,平均曲率超过预设曲率的曲线片段。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述第二确定模块确定的每个曲线片段的代价用于表征对障碍物的避让程度、曲线平滑程度、以及偏离最短路径的远近程度中的至少一者。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述第一 确定模块,具体用于在当前位姿与目标位姿之间进行采样,得到间隔排列的所述多个点层,所述多个点层中的每个点层表示所述移动机器人期望通过的一块区域。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述第一确定模块得到的所述多个点层按照离目标位置的距离由远到近有序排列,且不同的点层所占据的空间不相交,所述移动机器人需要按照顺序依次经过每个点层。
本申请的路径规划方法、装置、移动机器人、计算机可读存储介质及计算机程序,在当前位姿与目标位姿间采样多个点层,目标路径根据多个曲线片段得到,路径的形式更加丰富,拐点更多,相对于单段形式的路径规划,成功率和鲁棒性具有显著提高。
进一步,本申请实施例中,在安全性上,本申请实施例通过剔除了发生碰撞和曲率超标的曲线片段(即轨迹片段),并根据代价函数选择出远离碍物的轨迹片段,可以最大程度上保证路径规划的安全性。
在成功率上,本申请实施例在当前位姿与目标位姿之间进行多排采样,最终轨迹由多段曲线片段拼接而成,其具有较多的参数数量,路径规划的形式更加丰富,拐点更多,相对于现有的贝塞尔曲线的单段形式,大大提高了路径规划的成功率和鲁棒性。
在运行速度上,由于本申请实施例采用了动态路径规划,避免了大面积的重复冗余计算,能在较短时间内输出最优路径规划结果。特别是,在曲线拟合解算时,使用了特殊的计算方法来求解逆矩阵,极大地加快了运算速度。
所以,本申请实施例兼顾了安全性、成功率和运行速度,可以很好地实现相对导航的重规划功能。
根据本申请实施例,还提供了一种计算处理设备,包括:
存储器,其中存储有计算机可读代码;
一个或多个处理器,当所述计算机可读代码被所述一个或多个处理器执行时,所述计算处理设备执行如上所述的路径规划方法。
根据本申请实施例,还提供了一种计算机程序,包括计算机可读代码,当所述计算机可读代码在计算处理设备上运行时,使所述计算处理设备执行如上所述的路径规划方法。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的计算处理设备中的一些或者全部部件的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的设备 或者装置程序(例如,计算机程序和计算机程序产品等)。这样的实现本申请的程序可以存储在计算机可读存储介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图5示出了可以实现根据本申请的方法的计算处理设备。该计算处理设备传统上包括处理器1010和以存储器1020形式的计算机程序产品或者计算机可读介质。存储器1020可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器1020具有用于执行根据本申请上述方法中的任何方法步骤的程序代码1031的存储的空间1030。例如,用于程序代码的存储放任空间1030可以包括分别用于实现上面的方法中的各种步骤的各个程序代码1031。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为如参考图6所述的便携式或者固定存储单元。该存储单元可以具有与图5的计算处理设备中的存储器1020类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,用于程序代码的存储单元包括计算机的可读代码1031’,即可以由例如诸如1010之类的处理器读取的代码,这些代码当由计算处理设备运行时,以使该计算处理设备执行上面所描述的方法中的各个步骤。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本申请的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本申请的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本申请的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本 申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个申请方面中的一个或多个,在对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本申请的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其申请点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者其他合适的处理器来实现根据本申请实施例的一些模块的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机存储介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。 可将这些单词解释为名称。
以上所述,仅为本申请的具体实施方式或对具体实施方式的说明,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以权利要求的保护范围为准。

Claims (20)

  1. 一种路径规划方法,其特征在于,所述方法包括:
    获取移动机器人的当前位姿和目标位姿;
    根据所述当前位姿与所述目标位姿,得到多个点层,每个点层包括多个备选中间点;
    对相邻的每两个点层中的多个备选中间点进行曲线拟合,并确定拟合得到的至少部分曲线片段的代价,其中,所述至少部分曲线片段中的每个曲线片段用于连接相邻的两个点层;
    根据所述曲线片段的代价在相邻的每两个点层之间选择目标曲线片段,得到从所述当前位姿到所述目标位姿的目标路径。
  2. 根据权利要求1所述的路径规划方法,其特征在于,所述对相邻的每两个点层中的多个备选中间点进行曲线拟合,包括:
    分别以前一个点层中的每个备选中间点和后一个点层中的每个备选中间点作为首末端点进行曲线拟合,得到连接所述前一个点层和所述后一个点层的曲线片段。
  3. 根据权利要求1或2所述的路径规划方法,其特征在于,所述对相邻的每两个点层中的多个备选中间点进行曲线拟合包括:
    根据相邻的每两个点层中的多个备选中间点的位置、方向进行曲线拟合;或者
    根据相邻的每两个点层中的多个备选中间点的位置、方向和曲率进行曲线拟合。
  4. 根据权利要求3所述的路径规划方法,其特征在于,所述每个点层中的多个备选中间点的位置在所述点层中均匀分布。
  5. 根据权利要求3所述的路径规划方法,其特征在于,所述每个点层中的多个备选中间点的方向均平行于所述目标位姿的方向。
  6. 根据权利要求1-5中任一项所述的路径规划方法,其特征在于,所述确定拟合得到的至少部分曲线片段的代价包括:
    在每个曲线片段中选取多个离散点;
    分别计算每个离散点的代价;
    根据同一曲线片段上的多个离散点的代价得到所述曲线片段的代价。
  7. 根据权利要求6所述的路径规划方法,其特征在于,所述计算每个离散点的代价包括:
    根据每个离散点的曲率、所述每个离散点与中心线之间的距离以及所述每个离散点与障碍物之间的距离计算所述每个离散点的代价,所述中心线为当前位置与目标位置的连线。
  8. 根据权利要求7所述的路径规划方法,其特征在于,所述根据每个离散点的曲率、所述每个离散点与中心线之间的距离以及所述每个离散点与障碍物之间的距离计算每个离散点的代价包括:
    对每个离散点的曲率、所述每个离散点与所述中心线之间的距离以及所述每个离散点与障碍物之间的距离进行加权求和,得到所述每个离散点的代价。
  9. 根据权利要求1-8中任一项所述的路径规划方法,其特征在于,所述确定拟合得到的至少部分曲线片段的代价包括:
    剔除与障碍物之间存在碰撞的曲线片段和/或超过预设曲率的曲线片段;
    确定剔除后剩余的每个曲线片段的代价。
  10. 根据权利要求1或9所述的路径规划方法,其特征在于,所述根据所述曲线片段的代价在相邻的每两个点层之间选择目标曲线片段,包括:
    按照从所述当前位姿到所述目标位姿的顺序,或者按照从所述目标位姿到所述当前位姿的顺序,依次在相邻的每两个点层之间选择目标曲线片段,其中,当确定前一个目标曲线片段之后,在与所述前一个目标曲线片段相连的多个曲线片段中选择后一个目标曲线片段。
  11. 根据权利要求10所述的路径规划方法,其特征在于,所述在与所述前一个目标曲线片段相连的多个曲线片段中选择后一个目标曲线片段,包括:
    根据状态转移方程在所述前一个目标曲线片段的后一个点层中的至少部分备选中间点中选择一代价最小的目标中间点,得到连接所述前一个目标曲线片段和所述目标中间点的所述后一个目标曲线片段,其中,所述状态转移方程是根据曲线片段的代价所构建的。
  12. 根据权利要求9所述的路径规划方法,其特征在于,所述超过预设曲率的曲线片段包括:最大曲率超过预设曲率的曲线片段,或者,平均曲率超过预设曲率的曲线片段。
  13. 根据权利要求1-12中任一项所述的路径规划方法,其特征在于,所述每个曲线片段的代价用于表征对障碍物的避让程度、曲线平滑程度、以及偏离最短路径的远近程度中的至少一者。
  14. 根据权利要求1-13中任一项所述的路径规划方法,其特征在于,所述根据所述当前位姿与所述目标位姿,得到多个点层,包括:
    在当前位姿与目标位姿之间进行采样,得到间隔排列的所述多个点层,所述多个点层中的每个点层表示所述移动机器人期望通过的一块区域。
  15. 根据权利要求1-14中任一项所述的路径规划方法,其特征在于,所述多个点层按照离目标位置的距离由远到近有序排列,且不同的点层所占据的空间不相交,所述移动机器人需要按照顺序依次经过每个点层。
  16. 一种路径规划装置,其特征在于,所述路径规划装置包括存储装置和处理器,所述存储装置上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时执行如权利要求1-15中任一项所述的路径规划方法。
  17. 一种移动机器人,其特征在于,包括所述移动机器人本体以及如权利要求16所述的路径规划装置。
  18. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在运行时执行如权利要求1-15中的任一项所述的路径规划方法。
  19. 一种计算处理设备,其特征在于,包括:
    存储器,其中存储有计算机可读代码;
    一个或多个处理器,当所述计算机可读代码被所述一个或多个处理器执行时,所述计算处理设备执行如权利要求1-15中的任一项所述的路径规划方法。
  20. 一种计算机程序,包括计算机可读代码,其特征在于,当所述计算机可读代码在计算处理设备上运行时,使所述计算处理设备执行如权利要求1-15中的任一项所述的路径规划方法。
PCT/CN2021/133235 2021-03-02 2021-11-25 路径规划方法、装置、移动机器人、存储介质及程序 WO2022183790A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110231697.3 2021-03-02
CN202110231697.3A CN113050627A (zh) 2021-03-02 2021-03-02 路径规划方法、装置、移动机器人及计算机存储介质

Publications (1)

Publication Number Publication Date
WO2022183790A1 true WO2022183790A1 (zh) 2022-09-09

Family

ID=76509528

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/133235 WO2022183790A1 (zh) 2021-03-02 2021-11-25 路径规划方法、装置、移动机器人、存储介质及程序

Country Status (2)

Country Link
CN (1) CN113050627A (zh)
WO (1) WO2022183790A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115870976A (zh) * 2022-11-16 2023-03-31 北京洛必德科技有限公司 一种机械臂的采样轨迹规划方法和装置、电子设备

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113050627A (zh) * 2021-03-02 2021-06-29 北京旷视机器人技术有限公司 路径规划方法、装置、移动机器人及计算机存储介质
CN113492411B (zh) * 2021-09-10 2021-11-30 季华实验室 机器人抓取路径规划方法、装置、电子设备及存储介质
CN114347041B (zh) * 2022-02-21 2024-03-08 汕头市快畅机器人科技有限公司 群体机器人控制与图案生成方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105549597A (zh) * 2016-02-04 2016-05-04 同济大学 一种基于环境不确定性的无人车动态路径规划方法
CN106114507A (zh) * 2016-06-21 2016-11-16 百度在线网络技术(北京)有限公司 用于智能车辆的局部轨迹规划方法和装置
CN107664993A (zh) * 2016-07-29 2018-02-06 法乐第(北京)网络科技有限公司 一种路径规划方法
CN110262488A (zh) * 2019-06-18 2019-09-20 重庆长安汽车股份有限公司 自动驾驶的局部路径规划方法、系统及计算机可读存储介质
CN111290385A (zh) * 2020-02-19 2020-06-16 深圳前海达闼云端智能科技有限公司 一种机器人路径规划方法、机器人、电子设备及存储介质
CN112099493A (zh) * 2020-08-31 2020-12-18 西安交通大学 一种自主移动机器人轨迹规划方法、系统及设备
CN113050627A (zh) * 2021-03-02 2021-06-29 北京旷视机器人技术有限公司 路径规划方法、装置、移动机器人及计算机存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101667029B1 (ko) * 2009-08-10 2016-10-17 삼성전자 주식회사 로봇의 경로 계획방법 및 장치
CN106774347A (zh) * 2017-02-24 2017-05-31 安科智慧城市技术(中国)有限公司 室内动态环境下的机器人路径规划方法、装置和机器人
US10571921B2 (en) * 2017-09-18 2020-02-25 Baidu Usa Llc Path optimization based on constrained smoothing spline for autonomous driving vehicles
CN109542106A (zh) * 2019-01-04 2019-03-29 电子科技大学 一种移动机器人多约束条件下的路径规划方法
CN110908386B (zh) * 2019-12-09 2020-09-01 中国人民解放军军事科学院国防科技创新研究院 一种无人车分层路径规划方法
CN111338346B (zh) * 2020-03-05 2022-10-21 中国第一汽车股份有限公司 一种自动驾驶控制方法、装置、车辆及存储介质
CN112393728B (zh) * 2020-10-23 2022-05-31 浙江工业大学 一种基于a*算法和rrt*算法的移动机器人路径规划方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105549597A (zh) * 2016-02-04 2016-05-04 同济大学 一种基于环境不确定性的无人车动态路径规划方法
CN106114507A (zh) * 2016-06-21 2016-11-16 百度在线网络技术(北京)有限公司 用于智能车辆的局部轨迹规划方法和装置
CN107664993A (zh) * 2016-07-29 2018-02-06 法乐第(北京)网络科技有限公司 一种路径规划方法
CN110262488A (zh) * 2019-06-18 2019-09-20 重庆长安汽车股份有限公司 自动驾驶的局部路径规划方法、系统及计算机可读存储介质
CN111290385A (zh) * 2020-02-19 2020-06-16 深圳前海达闼云端智能科技有限公司 一种机器人路径规划方法、机器人、电子设备及存储介质
CN112099493A (zh) * 2020-08-31 2020-12-18 西安交通大学 一种自主移动机器人轨迹规划方法、系统及设备
CN113050627A (zh) * 2021-03-02 2021-06-29 北京旷视机器人技术有限公司 路径规划方法、装置、移动机器人及计算机存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115870976A (zh) * 2022-11-16 2023-03-31 北京洛必德科技有限公司 一种机械臂的采样轨迹规划方法和装置、电子设备

Also Published As

Publication number Publication date
CN113050627A (zh) 2021-06-29

Similar Documents

Publication Publication Date Title
WO2022183790A1 (zh) 路径规划方法、装置、移动机器人、存储介质及程序
US11768495B2 (en) Path planning in mobile robots
EP3729226B1 (en) Semantic obstacle recognition for path planning
CN107272710B (zh) 一种基于视觉定位的医用物流机器人系统及其控制方法
Draganjac et al. Highly-scalable traffic management of autonomous industrial transportation systems
US20180100743A1 (en) Computer-Implemented Method and a System for Guiding a Vehicle Within a Scenario with Obstacles
US20220206468A1 (en) Sampling based optimal tree planning method and recording medium storing program for executing the same, and computer program stored in recording medium for executing the same
Xing et al. Intersection recognition and guide-path selection for a vision-based AGV in a bidirectional flow network
US11768499B2 (en) Method for generating intersection point pattern recognition model using sensor data of mobile robot and intersection point pattern recognition system
Altché et al. Partitioning of the free space-time for on-road navigation of autonomous ground vehicles
Ghrist et al. Computing pareto optimal coordinations on roadmaps
Li et al. Simulation analysis of a deep reinforcement learning approach for task selection by autonomous material handling vehicles
Petković et al. Human intention recognition for human aware planning in integrated warehouse systems
Rincon et al. Time-constrained exploration using toposemantic spatial models: A reproducible approach to measurable robotics
Jafarzadeh et al. An exact geometry–based algorithm for path planning
Zheng et al. Research on AGV trackless guidance technology based on the global vision
CN114675658B (zh) 一种空货架的自动回收方法、系统、设备以及介质
JP7257433B2 (ja) ビークルの経路生成方法、ビークルの経路生成装置、ビークル及びプログラム
US11846939B2 (en) Mobile vehicle, control method of mobile vehicle, and path control system of mobile vehicle
CN114510053A (zh) 机器人规划路径校验方法、装置、存储介质及电子设备
CN112504288B (zh) 基于动态规划的局部路径规划方法
Han A surrounding point set approach for path planning in unknown environments
Noroozi et al. Conventional, Heuristic and Learning-Based Robot Motion Planning: Reviewing Frameworks of Current Practical Significance
Strawser et al. Approximate branch and bound for fast, risk-bound stochastic path planning
Macharet et al. Dynamic region visit routing problem for vehicles with minimum turning radius

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21928862

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21928862

Country of ref document: EP

Kind code of ref document: A1