CN117075617A - Robot track planning method and device, storage medium and electronic equipment - Google Patents
Robot track planning method and device, storage medium and electronic equipment Download PDFInfo
- Publication number
- CN117075617A CN117075617A CN202311316542.5A CN202311316542A CN117075617A CN 117075617 A CN117075617 A CN 117075617A CN 202311316542 A CN202311316542 A CN 202311316542A CN 117075617 A CN117075617 A CN 117075617A
- Authority
- CN
- China
- Prior art keywords
- sequences
- speed
- robot
- point
- path
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 104
- 238000003860 storage Methods 0.000 title claims abstract description 16
- 230000033001 locomotion Effects 0.000 claims abstract description 133
- 238000003062 neural network model Methods 0.000 claims abstract description 34
- 230000008569 process Effects 0.000 claims description 29
- 230000014509 gene expression Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 10
- 238000005457 optimization Methods 0.000 abstract description 15
- 230000006870 function Effects 0.000 description 34
- 230000001133 acceleration Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 239000012636 effector Substances 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 102000006822 Agouti Signaling Protein Human genes 0.000 description 1
- 108010072151 Agouti Signaling Protein Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005316 response function Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
The application provides a robot track planning method, a robot track planning device, a storage medium and electronic equipment, and relates to the field of automatic control. The electronic equipment acquires an end motion path of the end of the robot; iterating out the expected speed of each discrete point in the tail end motion path through the neural network model; and determining the joint movement track of the robot joint space according to the expected speed of each discrete point. Compared with the prior art, the objective function and the boundary condition in the method do not need to meet strict mathematical forms, so that the optimization solving difficulty is reduced, and the effective convergence of a solving result can be ensured.
Description
Technical Field
The application relates to the field of automatic control, in particular to a robot track planning method, a robot track planning device, a storage medium and electronic equipment.
Background
In robot trajectory planning, we often need to plan the motion trajectory of the robot by an optimization method to meet specific task requirements. This optimization problem involves minimizing certain performance metrics (such as time, energy consumption, or motion smoothness) under given constraints. However, conventional optimization solutions tend to become difficult because these optimization problems often have complex non-convex characteristics.
For example, in multi-axis robot trajectory run-time optimization planning, one common approach is to build a time-minimized objective function that combines robot kinematics and dynamics constraints to solve for trajectory speed. To solve this problem, it is often necessary to use existing optimization solver packages, such as Yalmip and CPLEX, and the like. However, these software requirements for objective functions and boundary conditions are very stringent, and convex optimization, linear programming or quadratic programming forms, even second order cone programming forms, must be met, otherwise viable solutions may not be available.
However, since multiaxial robot kinematics and kinetic parameter boundary conditions are often inequality constraints of higher order coupling forms, this makes the original objective functions and constraints unsatisfactory for a strict mathematical solution form. Therefore, under the condition of multiple constraints, it is a challenging task to obtain an effective solution to the problem of optimizing the motion trajectory of the robot.
Disclosure of Invention
In order to overcome at least one defect in the prior art, the application provides a robot track planning method, a device, a storage medium and electronic equipment, which specifically comprise the following steps:
in a first aspect, the present application provides a robot trajectory planning method, the method comprising:
Acquiring a tail end motion path of the tail end of the robot;
iterating out the expected speed of each discrete point in the tail end motion path through a neural network model;
and determining the joint motion track of the robot joint space according to the expected speed of each discrete point.
With reference to the optional implementation manner of the first aspect, the iterating, through a neural network model, the expected speed of each discrete point of the end motion path includes:
acquiring a plurality of groups of speed sequences and a plurality of groups of weight sequences, wherein each group of speed sequences comprises a speed to be optimized of each discrete point in the tail end motion path, and each group of weight sequences comprises a plurality of weights to be optimized of the neural network model;
and according to the multiple groups of speed sequences and the multiple groups of weight sequences, the following multiple iterations are performed until the shortest time spent by moving along the tail end movement path tends to be stable, and the speed sequence corresponding to the shortest time is determined as the expected speed of each discrete point of the tail end movement path:
calculating the multiple groups of speed sequences through the neural network model initialized by each group of weight sequences to obtain multiple groups of first speed sequences;
adjusting the multiple groups of first speed sequences through the multiple groups of speed sequences to obtain multiple groups of new speed sequences;
And updating the multiple groups of weight sequences according to the optimal weight sequences in the multiple groups of weight sequences to obtain multiple groups of new weight sequences.
With reference to the optional implementation manner of the first aspect, updating the multiple sets of velocity sequences based on the operation result of the neural network model initialized by each set of weight sequences on the multiple sets of velocity sequences to obtain multiple sets of new velocity sequences includes:
the multiple groups of speed sequences are operated through the neural network model initialized by each group of weight sequences, and the expression of the multiple groups of first speed sequences is obtained as follows:
;
in the method, in the process of the invention,indicate->Group first speed sequence,/->Represents the number of iterations, +.>Indicate->Group speed sequence,/->Indicate->Group weight sequence,/->Representing the total number of each of the plurality of sets of velocity sequences and the plurality of sets of weight sequences;
adjusting the multiple groups of first speed sequences through the multiple groups of speed sequences to obtain multiple groups of new speed sequences, wherein the expression is as follows:
;
in the method, in the process of the invention,indicate->New velocity sequence,/-group>Indicate->Group second speed sequence,/->Representing the optimal velocity sequence of the plurality of sets of velocity sequences,said optimal speed sequence being such that the time taken for movement along said terminal movement path is minimal,/or- >Representation range->Random numbers within.
With reference to the optional implementation manner of the first aspect, the updating the multiple sets of weight sequences according to the optimal weight sequence in the multiple sets of weight sequences obtains an expression of multiple sets of new weight sequences as follows:
;
in the method, in the process of the invention,indicate->New set of weight sequences,/->Indicate->A sequence of group weights that is selected from the group consisting of,representing the optimal weight sequence,/->Representation range->Random numbers within.
With reference to the optional implementation manner of the first aspect, the acquiring a tip motion path of a robot tip includes:
determining at least one target obstacle in the robot working space, wherein a connecting straight line between a starting point and an ending point of the tail end of the robot needs to pass through the position of the target obstacle;
determining obstacle avoidance key points corresponding to each target obstacle according to the position of each target obstacle, wherein the obstacle avoidance key points avoid the positions of the corresponding target obstacles;
and planning a smooth curve from the starting point to the end point and passing through each obstacle avoidance key point as the tail end motion path.
With reference to the optional implementation manner of the first aspect, the planning a smooth curve from the starting point to the ending point and passing through the obstacle avoidance key point as the end motion path includes:
Acquiring a constraint relation for path planning;
fitting a smooth curve from the starting point to the end point and passing through the obstacle avoidance key points through a high-order smooth Bezier curve according to the starting point, the end point, the obstacle avoidance key points and the constraint relation;
the smooth curve is taken as the end motion path.
With reference to the optional implementation manner of the first aspect, the determining an articulation trajectory of the robot joint space according to the desired speed of each discrete point includes:
for a starting path close to the starting point and an ending path close to the ending point of the ending motion path, fitting an articulation track of the robot articulation space through a first polynomial according to expected speeds of discrete points in the starting path;
fitting an articulation locus of the robot articulation space by the first polynomial according to the desired velocity of each discrete point in the end path;
and for the residual path of the tail end motion path, fitting the joint motion track of the robot joint space through a second polynomial according to the expected speed of each discrete point of the residual path, wherein the order of the first polynomial is higher than that of the second polynomial.
In a second aspect, the present application provides a robot trajectory planning device, the device comprising:
the tail end path module is used for acquiring a tail end motion path of the tail end of the robot;
the speed planning module is used for iterating out the expected speed of each discrete point in the tail end motion path through the neural network model;
and the joint track module is used for determining the joint motion track of the robot joint space according to the expected speed of each discrete point.
With reference to the optional implementation manner of the second aspect, the speed planning module is further specifically configured to:
acquiring a plurality of groups of speed sequences and a plurality of groups of weight sequences, wherein each group of speed sequences comprises a speed to be optimized of each discrete point in the tail end motion path, and each group of weight sequences comprises a plurality of weights to be optimized of the neural network model;
and according to the multiple groups of speed sequences and the multiple groups of weight sequences, the following multiple iterations are performed until the shortest time spent by moving along the tail end movement path tends to be stable, and the speed sequence corresponding to the shortest time is determined as the expected speed of each discrete point of the tail end movement path:
calculating the multiple groups of speed sequences through the neural network model initialized by each group of weight sequences to obtain multiple groups of first speed sequences;
Adjusting the multiple groups of first speed sequences through the multiple groups of speed sequences to obtain multiple groups of new speed sequences;
and updating the multiple groups of weight sequences according to the optimal weight sequences in the multiple groups of weight sequences to obtain multiple groups of new weight sequences.
With reference to the optional implementation manner of the second aspect, the speed planning module is further specifically configured to:
the multiple groups of speed sequences are operated through the neural network model initialized by each group of weight sequences, and the expression of the multiple groups of first speed sequences is obtained as follows:
;
in the method, in the process of the invention,indicate->Group first speed sequence,/->Represents the number of iterations, +.>Indicate->Group speed sequence,/->Indicate->Group weight sequence,/->Representing the total number of each of the plurality of sets of velocity sequences and the plurality of sets of weight sequences;
adjusting the multiple groups of first speed sequences through the multiple groups of speed sequences to obtain multiple groups of new speed sequences, wherein the expression is as follows:
;
in the method, in the process of the invention,indicate->New velocity sequence,/-group>Indicate->Group second speed sequence,/->Representing an optimal speed sequence of said sets of speed sequences, said optimal speed sequence being capable of minimizing the time taken for movement along said end movement path,/- >Representation range->Random numbers within.
With reference to the optional implementation manner of the second aspect, the speed planning module is further specifically configured to:
;
in the method, in the process of the invention,indicate->New set of weight sequences,/->Indicate->A sequence of group weights that is selected from the group consisting of,representing the optimal weight sequence,/->Representation range->Random numbers within.
With reference to the optional implementation manner of the second aspect, the end path module is further specifically configured to:
determining at least one target obstacle in the robot working space, wherein a connecting straight line between a starting point and an ending point of the tail end of the robot needs to pass through the position of the target obstacle;
determining obstacle avoidance key points corresponding to each target obstacle according to the position of each target obstacle, wherein the obstacle avoidance key points avoid the positions of the corresponding target obstacles;
and planning a smooth curve from the starting point to the end point and passing through each obstacle avoidance key point as the tail end motion path.
With reference to the optional implementation manner of the second aspect, the end path module is further specifically configured to:
acquiring a constraint relation for path planning;
fitting a smooth curve from the starting point to the end point and passing through the obstacle avoidance key points through a high-order smooth Bezier curve according to the starting point, the end point, the obstacle avoidance key points and the constraint relation;
The smooth curve is taken as the end motion path.
With reference to the optional implementation manner of the second aspect, the joint track module is further specifically configured to:
for a starting path close to the starting point and an ending path close to the ending point of the ending motion path, fitting an articulation track of the robot articulation space through a first polynomial according to expected speeds of discrete points in the starting path;
fitting an articulation locus of the robot articulation space by the first polynomial according to the desired velocity of each discrete point in the end path;
and for the residual path of the tail end motion path, fitting the joint motion track of the robot joint space through a second polynomial according to the expected speed of each discrete point of the residual path, wherein the order of the first polynomial is higher than that of the second polynomial.
In a third aspect, the present application further provides a storage medium storing a computer program, which when executed by a processor, implements the robot trajectory planning method.
In a fourth aspect, the present application further provides an electronic device, where the electronic device includes a processor and a memory, where the memory stores a computer program, and the computer program, when executed by the processor, implements the robot trajectory planning method.
Compared with the prior art, the application has the following beneficial effects:
the application provides a robot track planning method, a robot track planning device, a storage medium and electronic equipment. In the method, electronic equipment acquires an end motion path of the end of a robot; iterating out the expected speed of each discrete point in the tail end motion path through the neural network model; and determining the joint movement track of the robot joint space according to the expected speed of each discrete point. Compared with the prior art, the objective function and the boundary condition in the method do not need to meet strict mathematical forms, so that the optimization solving difficulty is reduced, and the effective convergence of a solving result can be ensured.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the embodiments will be briefly described below, it being understood that the following drawings only illustrate some embodiments of the present application and should not be considered as limiting the scope, and other related drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flow chart of a robot trajectory planning method provided by an embodiment of the application;
FIG. 2 is a mapping relationship diagram provided by an embodiment of the present application;
FIG. 3 is a diagram of the end motion path of a verification test provided by an embodiment of the present application;
FIG. 4 is a graph showing a comparison of the speed of a verification test provided by an embodiment of the present application;
FIG. 5 is a graph showing the comparison of the number of iterations of the verification test with the movement time provided by the embodiment of the present application;
fig. 6 is a schematic structural diagram of a robot trajectory planning device according to an embodiment of the present application;
fig. 7 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Icon: a 101-end path module; 102-a speed planning module; 103-a joint track module; 201-a memory; 202-a processor; 203-a communication unit; 204-system bus.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present application more apparent, the technical solutions of the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application, and it is apparent that the described embodiments are some embodiments of the present application, but not all embodiments of the present application. The components of the embodiments of the present application generally described and illustrated in the figures herein may be arranged and designed in a wide variety of different configurations.
Thus, the following detailed description of the embodiments of the application, as presented in the figures, is not intended to limit the scope of the application, as claimed, but is merely representative of selected embodiments of the application. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
It should be noted that: like reference numerals and letters denote like items in the following figures, and thus once an item is defined in one figure, no further definition or explanation thereof is necessary in the following figures.
In the description of the present application, it should be noted that the terms "first," "second," "third," and the like are used merely to distinguish between descriptions and are not to be construed as indicating or implying relative importance. Furthermore, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
Based on the above statement, as introduced in the background, since multiaxial robot kinematics and kinetic parameter boundary conditions are usually inequality constraints of higher-order coupling forms, this makes the original objective functions and constraints unable to satisfy strict mathematical solution forms. Therefore, under the condition of multiple constraints, it is a challenging task to obtain an effective solution to the problem of optimizing the motion trajectory of the robot.
Based on the findings of the above technical problems, the inventors have devised the following technical solutions to solve or improve the above problems. It should be noted that the above drawbacks of the prior art solutions and the solutions provided for them are the results of the inventor after practice and careful study, and therefore, the discovery process of the above problems and the solutions provided by the embodiments of the present application below for the above problems should be all contributions of the inventor to the present application during the inventive process, and should not be construed as technical matters known to those skilled in the art.
In view of the above, the present embodiment provides a robot trajectory planning method applied to an electronic device. In the method, electronic equipment acquires an end motion path of the end of a robot; iterating out the expected speed of each discrete point in the tail end motion path through the neural network model; and determining the joint movement track of the robot joint space according to the expected speed of each discrete point. Compared with the prior art, the objective function and the boundary condition in the method do not need to meet strict mathematical forms, so that the optimization solving difficulty is reduced, and the effective convergence of a solving result can be ensured.
The electronic device may be implemented as a host computer communicatively coupled to the multi-joint robot, and may be various types of devices, such as a mobile terminal, a tablet computer, a notebook computer, a desktop computer, or a server. The server may be a single server or a server group. The server group may be centralized or distributed. In some embodiments, the server may be local or remote to the user terminal. Further, the server may also be implemented by a cloud platform, which may include, for example, a private cloud, public cloud, hybrid cloud, community cloud, distributed cloud, cross-cloud, multi-cloud, etc., or any combination thereof. In some embodiments, the server may be implemented on an electronic device having one or more components. In addition, the electronic device may also be an embedded device integrated with the robot body. Of course, the electronic device may be another electronic device, and for these forms, the embodiment will not be described in detail.
In conjunction with the foregoing description of the embodiments, in order to make the present solution easier to understand, the method for planning a trajectory of a robot according to the present embodiment is described in detail below with reference to the flowchart of the method shown in fig. 1. It should be understood that the operations of the flow diagrams may be performed out of order and that steps that have no logical context may be performed in reverse order or concurrently. Moreover, one or more other operations may be added to or removed from the flow diagrams by those skilled in the art under the direction of the present disclosure. As shown in fig. 1, the method includes:
S101, acquiring an end motion path of the end of the robot.
Research shows that as the application scene of the industrial robot is gradually complex, a plurality of working procedures are required to be completed in a narrow operation area space in the process of executing tasks by the robot, so that the robot is extremely easy to collide and have safety accidents; in addition, practical production has high requirements on the running efficiency and smoothness of the robot. At present, the continuous running track of a robot to be solved is mainly converted into a discrete numerical iteration optimization problem by the industrial robot obstacle avoidance, and the shortest path formed by a plurality of obstacle avoidance discrete points is searched. However, in the prior art, continuous motion of a robot is decomposed into a plurality of intermittent motions divided by obstacle avoidance discrete points, the robot runs in a straight line path between two discrete points, and as the discrete points are randomly and optimally generated, under the condition of no smooth transition, the direction of a joint motion track vector can frequently change in a step mode, and when the angle of a joint of the robot changes at a high speed, the impact of the joint moment is serious, and an internal motor is easily damaged. Therefore, the robot needs to be decelerated at discrete points to relieve impact caused by adjustment of the joint angle direction, or the robot is decelerated to zero speed to pass through the points, so that the current robot obstacle avoidance operation efficiency is low due to the fact that the robot is started and stopped frequently, and then the operation time is excessively long.
For example, RRT is currently mainly used,Searching and finding obstacle avoidance path points by using methods such as an artificial potential field method and the like to obtain an obstacle avoidance path. When the robot performs multi-section linear motion through multiple points, a path for setting a turning radius transition angular point is generally adopted, and then a polynomial or S-shaped speed planning method is adopted to design the joint speed and acceleration of the robot during operation. Since the polynomial and S-type speed planning expression forms are fixed, the running time can be calculated according to the speed limit of the robot when the multi-axis speeds are designed at the same time, in order to enable the multi-axis synchronous motion, the axes of the whole running time need to be unified, the axes with too high speed need to be slowed down to match the slowest axis running, the maximum capacity of the axes of the robot can not be fully exerted, and the running efficiency of the robot is limited.
In view of this, the present embodiment provides the following alternative implementation of step S101:
s101-1, at least one target obstacle in the robot working space is determined.
Wherein a straight line connecting the start point and the end point of the robot end needs to pass through the position of the target obstacle. In contrast, in this embodiment, obstacle data is acquired based on the depth camera of the multi-joint robot, and spatial position and posture information of the obstacle under the robot coordinate system is acquired. In a specific embodiment, firstly, a camera is calibrated by external parameters, and a world coordinate system where a calibration plate is positioned and a camera coordinate system conversion matrix are established :
;
Then, according to the internal parameters such as the focal length and focal length coordinates of the camera and through affine transformation, obtaining the conversion relation between the image point in the pixel coordinate system of the sampled calibration plate image and the corresponding three-dimensional point in the camera coordinate system:
;
further, according to an external parameter calibration result, converting the three-dimensional point coordinates in the camera coordinate system into the world coordinate system where the calibration plate is located, and obtaining the corresponding relation between the image point of the image and the three-dimensional point in the world coordinate system:
;
in the above-mentioned expression, the expression,representing the coordinates of the image point in the image in the pixel coordinate system,/for example>As the focal length of the lens is,for the coordinates of the image point in the imaging plane coordinate system,/->For the amount of translation of the origin coordinate of the imaging plane in the pixel coordinate direction, +.>For rotating matrix +.>Is a translation matrix.
Based on the spatial transformation relation between the coordinate systems obtained in the implementation, the electronic equipment can obtain an object RGB-D image in a visible range through a depth camera, convert the depth image into an image containing three channels of horizontal parallax, ground clearance, local surface normal and gravity direction by adopting HHA (horizontal-axis-Angle) coding, input the image into an example segmentation network model based on an R-CNN deep learning method (for example, a Yolox algorithm), detect and identify an obstacle target, and obtain all image point coordinates in a two-dimensional boundary-box image of the obstacle boundary; finally, according to the transformation relationship between the two-dimensional image point of the image obtained in the embodiment and the three-dimensional point under the world coordinate system, three-dimensional data of the obstacle can be obtained. In this embodiment, for ease of computation, three dimensional AABB (Axis-Aligned Bounding Box, axis aligned bounding box) or OBB (Oriented Bounding Box, directed bounding box) is used to enclose all three dimensional points of the obstacle, thereby yielding a cube representation of the obstacle. Based on the three-dimensional AABB bounding box of the obstacle, the spatial position data of 8 vertexes of the obstacle bounding box can be obtained, an obstacle coordinate system is established, a transformation matrix of the obstacle bounding box under the world coordinate system is calculated, and the spatial attitude information of the obstacle is obtained.
Combining the spatial attitude information of the obstacle under the world coordinate system obtained by the embodiment, and converting the spatial attitude information of the obstacle under the world coordinate system into the robot coordinate system according to the pose conversion relation between the world coordinate system where the calibration vision calibration plate is positioned and the robot coordinate system:
;
it should be understood that the subsequent calculations in this embodiment are performed under the robot coordinate system, and thus, it is necessary to convert the data under the other coordinate systems to the unified robot coordinate system.
By the embodiment, the pose of all the obstacles in the working space in the robot coordinate system can be obtained. The electronic device further determines whether a connecting straight line between the start point and the end point of the robot end passes through a position where the obstacle in the working space is located. Specifically, a straight line connecting a start point and an end point of the robot end is expressed by an equation, and a straight line parameter equation can be expressed as:
;
in the method, in the process of the invention,、/>three-dimensional coordinates of the initial and final positions of the end position of the robot, respectively. In a specific embodiment, the electronic device is +.>、/>、/>、、/>、/>Calculate line segment and plane->The intersection point is toxoyPosition of plane projection:
;
And plane surfaceIntersection point:
。
then, the electronic device judges twoThe projection coordinates of the intersection point with the absolute distance from the initial point being closerThe projection coordinate of the farther intersection point is +.>. The projection positions corresponding to the intersection points of the line segments and the other four surfaces are calculated by the same method、/>、/>、/>The method comprises the steps of carrying out a first treatment on the surface of the Finally, it is determined that the robot collides with the obstacle according to the following collision conditions:
;
in combination with the above collision condition, the colliding obstacle is referred to as a target obstacle, and based on the position of the target obstacle, step S101 further includes:
s101-3, determining obstacle avoidance key points corresponding to each target obstacle according to the position of each target obstacle.
Wherein, the obstacle avoidance key point avoids the position of the corresponding target obstacle. In order to avoid the obstacle avoidance key point from the position of the target obstacle, first, a plane near the start point of the machine end of the 6 planes is set as a projection plane based on the 6 planes of the bounding box of each target obstacle; then, calculating a projection point, namely a projection intersection point, of the end starting point of the robot on the projection surface; then, according to the projection intersection point of the starting point on the projection surface, the position of the tool clamped by the tail end of the offset robot in the normal direction of the projection surface is determined as an obstacle avoidance key point for avoiding the target obstacle.
Illustratively, assuming that the robot tip travel starts at (-0.57612 m, -0.65046m, 0.4638 m), the end point coordinates are (0.13115 m,0.63562m,0.18933 m), and the tip holding tool size offsets in the x, y, z directions are 0.197m, 0.130m, 0.23m, respectively. Thus, the coordinates of the critical obstacle avoidance points are (0.052669 m,0.492912, 0.682150) and (-0.163546 m,0.099752m, 0.682150), respectively.
It should be noted that, compared with the prior artAnd RRT-connect obstacle avoidance path search algorithm, the number of obstacle avoidance key points obtained by the embodiment is obviously reduced. Use->During the algorithm, the robot needs to bypass one side of the target obstacle to avoid the obstacle, and at least 7 obstacle avoidance points (the minimum search step length is 0.2 m) are needed besides a starting point and a finishing point in order to ensure that no interference exists between the robot end tool and the obstacle; however, the obstacle avoidance keypoints obtained in this example are located above the target obstacle, and by bypassing over the target obstacle, the number of obstacle avoidance keypoints is greatly reduced. In addition, the limit of interpolation inverse solution joint track of the robot when the robot executes the motion can be relieved while obstacle avoidance key points are reduced, and the occurrence of singular solutions is avoided to a certain extent. This is because more constraints increase the uniqueness of the joint trajectory solution, which would result in an inability to replace with a viable inverse solution if joint singularities were present.
S101-4, planning a smooth curve from a starting point to an end point and passing through obstacle avoidance key points as an end motion path.
In an alternative embodiment, the electronic device may obtain a constraint relationship for path planning; fitting a smooth curve from the starting point to the end point and passing through the obstacle avoidance key points through a high-order smooth Bezier curve according to the starting point, the end point, the obstacle avoidance key points and the constraint relation; the smooth curve is taken as the end motion path.
Illustratively, high order adaptation may be basedThe generalized Cartesian space obstacle avoidance geometric path of the response function adopts a high-order smooth Bezier curve and combines the constraint relation to simulate the obstacle avoidance key points obtained in the embodiment, so that the continuous tail end motion path of the robot is obtained. Wherein the end motion path of the robot can be defined by a series of spatial position coordinatesTo represent and fit the points by a geometric curve function (e.g., cubic Bezier curve or B-spline curve), which may be expressed as:
;
in the method, in the process of the invention,path argument for the end motion path without equivalent conversion, +.>、/>The obstacle avoidance key points representing the terminal motion paths can be obtained by the following formula:
;
It should be appreciated that when performing a higher order smooth Bezier curve fit to a Cartesian space path, control points are parameters describing the shape and path of the curve, the position and relative relationship of which determine the change in space of the curve. In the path optimization solving process, in order to improve fitting accuracy, a plurality of discrete points among obstacle avoidance key points are fitted in an interpolation mode on the basis of a given control point.
As shown in fig. 2, for convenience of description in this embodiment, the obstacle avoidance key points and the inserted discrete points are collectively represented asTo represent the firstlCoordinates of the discrete points. At the same time, in order to facilitate the subsequent implementation of the basis functions representing the trajectories in joint space, the equidistant distribution of the generalized trajectory curve parameters +.>Wherein->,/>The method comprises the steps of carrying out a first treatment on the surface of the And establishing discrete points distributed unevenly>Mapping relation between->. It can be understood that each equidistant distribution trace curve parameter +.>Corresponding to one actual discrete point in the tail end motion path, and mapping relation exists between the two points。
The research shows that the higher-order polynomial can flexibly approach to the complex joint motion track, and higher representation capability is provided; in addition, a smooth and continuous motion track can be generated based on the fitting of a high-order polynomial, so that the stability and control precision of the robot motion process are ensured; finally, the higher order polynomial has good conductivity, and is convenient for calculating the derivative related parameters such as the speed, the acceleration and the like of the motion trail. For the reasons described above, for the joint motion trajectories of the robot joint space, fitting is often performed using a basis function based on a higher order polynomial. In the robot trajectory planning, it is desirable that the robot smoothly starts from the start point, moves at a certain speed and acceleration, and then smoothly reaches the end point. This requires a relatively gradual change in the speed and acceleration of the start and end points. Therefore, in this embodiment, different higher-order polynomials are respectively adopted as basis functions for the initial path adjacent to the start point, the end path adjacent to the end point, and the remaining paths in addition to the initial path, for fitting the trajectory of the robot joint space.
However, in practice it has been found that in the case of a plurality of trajectory basis functions of different forms, the higher order derivatives of adjacent trajectory functions may have abrupt changes at the junction points. In this embodiment, a preset high-adaptability smooth track interpolation method is provided, track basis function fitting is performed on track fragments by selecting discrete points with different numbers of adjacent points, unknown coefficients in functions are required to be solved, the obtained function form is subjected to discontinuous point derivative solving, the position fitting deviation of the obtained track function at the discontinuous point and the difference value between left and right critical derivatives are smaller than a preset value, the number of selected fitting discrete points is determined, and finally, the basis function expression forms in all sections in the complete track are determined. The polynomial fitting coefficient in the above-mentioned basic function expression is a coefficient to be determined, and needs to be obtained by relying on the solved high-efficiency track, wherein the high-efficiency track represents the joint track with the shortest movement time required for moving from the starting point to the end point of the end movement path.
Based on the above embodiment, the end motion path of the obstacle in the working space is avoided, and in order to determine the solving manner of the efficient track, with continued reference to fig. 1, the robot track planning method provided in this embodiment further includes:
S102, iterating out the expected speed of each discrete point in the tail end motion path through the neural network model.
The above embodiment solves the end motion path of the end of the robot in the cartesian space, and the trajectory planning problem of the robot needs to know the joint motion trajectory of the robot in the joint space in addition to the end motion path of the robot. Wherein the joint motion track of the robot in the joint space is the motion path of the robot in the joint space, and describes the change condition of the position or angle of each joint along with the time change. The robot can change the target position or posture by controlling the joints to move according to the track so as to complete various tasks. Whereas the mapping between the velocity components of the cartesian space and the velocity components of the joint space can be expressed as Jacobian matrices:
;
in the method, in the process of the invention,representing Jacobian matrix,>representing the velocity component of the robot joint space,a translation velocity vector representing the robot along the cartesian axes x, y, z,is a rotational velocity vector of the robotic end effector about cartesian axes x, y, z.
Therefore, only the terminal speed of the robot at each discrete point of the terminal motion path is required to be solved, and the joint motion track between the discrete points can be expressed as a group of basis functions by using forward substitution of a high-order continuous predefined form, so that a basis is provided for displacement, speed and acceleration solving of the follow-up high-efficiency obstacle avoidance track. The basis functions herein refer to a set of functions for representing the trajectory of the robot joint motion. The shape of the robot articulation trajectory is generally approximately described in a predefined form that is continuous, conductive, and high-order (typically above 3 orders). By means of the basis functions, interpolation can be carried out between discrete points, and continuous joint motion tracks can be obtained. Taking a polynomial basis function as an example, the form is:
;
In the method, in the process of the invention,the constant coefficient is to be calculatedUnknown parameters of solution->Indicating that the robot is at +.>Speed of time of day. By fitting or optimizing methods, the values of these parameters can be determined by minimizing the error between the trajectory and a given control point to obtain the best trajectory fitting result. There are many unknowns in the functions of the adaptive smooth fitting basis functions of the cartesian space path variables and the joint space trajectory, and the solving of these parameters is to obtain the best trajectory fitting and meet the motion requirements. By selecting proper optimization methods and algorithms, the unknown parameters can be efficiently solved, and the robot joint track planning result meeting specific requirements can be obtained.
Therefore, the desired velocity for each discrete point needs to be solved before solving the joint motion trajectories of the robot joint space. In this embodiment, for convenience of calculation, the end motion path is normalized, and the normalized end motion path is in lower caseThe representation is performed. Let->At the time, the tip of the robot is located at the start of the tip movement path,/->When the robot moves from the tail end to the tail end of the tail end movement path, the normalizing treatment is carried out on the tail end movement path to represent the ratio of the position of the robot currently positioned in the tail end movement path in the whole tail end movement path, so that the function relation between the normalized path and time is expressed as- >Then->When (I)>;/>When (I)>。
In addition, the present embodiment introduces kinematic and dynamic constraints for the end and joints of the robot. Wherein, in terms of kinematic constraints, the corresponding speed limit constraint for each joint is expressed asWherein->And->The lower and upper limits of joint velocity are respectively. The acceleration limit constraint corresponding to each joint is expressed asWherein->Represents the lower limit of the defined range of variables, +.>Representing the upper limit of the range in which the variable is defined. Whereas the linear and angular speed constraints corresponding to the robotic end effector in Cartesian space are denoted +.>,Wherein->Representing the linear velocityLimited (I)>Represents the upper limit of the linear velocity,/->Indicating the lower limit of the angular velocity,indicating an upper limit of the angular velocity.
In terms of dynamics, the dynamics constraint is described according to a dynamics equation after parameter identification, expressed as:
,/>;
in the method, in the process of the invention,representing a quality matrix->An effect matrix representing coriolis force and centrifugal force, < +.>Representing the gravitational component>Representing viscous friction moment component +.>Representing the coulomb friction moment component,/->Representing the moment vector of the robot joint,/->The angle, angular velocity and angular acceleration variables of the joint are represented in turn.
In combination with the above constraint, it is necessary to minimize the time taken for the robot tip to travel from the start point to the end point, and based on the normalized tip movement path, the movement time can be expressed as。
In combination with the description of the foregoing embodiment, in an optional implementation manner provided in this embodiment, step S102 includes:
s102-1, a plurality of groups of speed sequences and a plurality of groups of weight sequences are obtained.
Each group of velocity sequences comprises a velocity to be optimized of each discrete point in the tail end motion path, and each group of weight sequences comprises a plurality of weights to be optimized of the neural network model.
S102-2, according to a plurality of groups of speed sequences and a plurality of groups of weight sequences, the following rounds of iteration are performed until the shortest time spent by moving along the tail end movement path tends to be stable, and the speed sequence corresponding to the shortest time is determined as the expected speed of each discrete point of the tail end movement path:
s102-3, calculating a plurality of groups of speed sequences through the neural network model initialized by each group of weight sequences to obtain a plurality of groups of first speed sequences;
s102-4, adjusting a plurality of groups of first speed sequences through a plurality of groups of speed sequences to obtain a plurality of groups of new speed sequences.
S102-5, updating a plurality of groups of weight sequences according to the optimal weight sequences in the plurality of groups of weight sequences to obtain a plurality of groups of new weight sequences.
In order to solve for the desired speed of each discrete point of the end motion path, the time taken by the robot end from the start point to the end point is minimized under the constraints described above. In this embodiment, the shortest solution time problem is converted into a solutionA series of independent variables +.>Problems, wherein->Representing the number of discrete points +.>Indicate->The speed of the discrete points. For the convenience of description of the subsequent embodiments, the following will be +.>Denoted as->I.e. +.>. At this time, the normalized objective function of the Cartesian space path is expressed as +.>Wherein->Representing the distance between any two adjacent discrete points.
It should be noted that, the conventional neural network model training process includes inputting an input sample into the neural network model, and obtaining an output result through forward propagation calculation. The inverse gradient propagation algorithm is then used to adjust the weights of the neural network by comparing the difference between the output result and the desired result. And repeatedly calculating and adjusting the weight of the neural network through iterating the process, so that the output result of the network is gradually close to the expected result. That is, the input samples are not adjusted throughout the training process. In this embodiment, a plurality of sets of velocity sequences are input as input samples into a neural network model, and the plurality of sets of velocity sequences are iteratively adjusted through the neural network model, and a plurality of sets of weight sequences are iteratively adjusted until the expected velocity of each discrete point of the terminal motion path is obtained.
In the present embodiment, the plurality of sets of velocity sequences are represented as:
;
Wherein,indicate->Group velocity sequence, comprising->The speed of random initialization of discrete points, in common +.>Group velocity sequence. For example, group 1 speed sequence +.>Is->。
Representing multiple sets of weight sequences as:
;
Wherein,indicate->Group weight sequence comprising->And a weight value. For example, group 1 weight sequence +.>The method comprises the following steps:
。
combining the expression modes of the speed sequences and the weight sequences, respectively calculating a plurality of groups of speed sequences through the neural network model initialized by each group of weight sequences to obtain a plurality of groups of expressions of the first speed sequences, wherein:
;
in the method, in the process of the invention,indicate->Group first speed sequence,/->Represents the number of iterations, +.>Indicate->Group speed sequence,/->Indicate->Group weight sequence,/->Representing the total number of each of the plurality of sets of velocity sequences and the plurality of sets of weight sequences;
adjusting a plurality of groups of first speed sequences through a plurality of groups of speed sequences, and obtaining the expression of a plurality of groups of new speed sequences as follows:
;
in the method, in the process of the invention,indicate->New velocity sequence,/-group>Indicate->Group second speed sequence,/->Representing an optimal speed sequence of the plurality of sets of speed sequences, the optimal speed sequence being capable of minimizing the time taken for movement along the end movement path, +. >Representation range->Random numbers within.
For the above embodiment, it is now assumed that there are currently 10 sets of weight sequences and 10 sets of speed sequences. Here the vector symbols are ignoredThe 10 sets of weight sequences are denoted +.>And 10 sets of velocity sequences are represented asIt means that 10 neural network models with the same structure but different weights can be obtained. 10 sets of velocity sequences using each neural network model separately +.>Processing, each neural network model obtaining a group of first speed sequences +.>. Then, the 10 sets of weight sequences currently input and the 10 sets of first speed sequences calculated are added in a one-to-one correspondence (e.g.)>And->Added) to obtain 10 sets of second speed sequences +.>。
In this embodiment, random numbers are introduced to increase the search efficiencyThe method comprises the steps of carrying out a first treatment on the surface of the In addition, in order to avoid over fitting, the second speed sequences are respectively compared with the optimal sequences in the current 10 groups of speed sequences, and the original second speed sequences are finely adjusted according to the comparison result. Furthermore, assume the currently entered 10 sets of speed sequences +.>Middle group 3->Satisfying the above constraint and being able to move from the start point to the end point of the end movement path in the shortest time, will +. >As an optimal velocity sequence. Here, group 1 second speed sequence +.>For example, it is described how a new speed sequence of group 1 is obtained +.>:
;
Thus, 10 new sets of velocity sequences can be obtained for the next iteration process to input the neural network model.
In the above embodiment, a speed sequence updating manner is described, and multiple sets of weight sequences are updated according to an optimal weight sequence in multiple sets of weight sequences, so as to obtain multiple sets of new weight sequences, where the expression is as follows:
;
in the method, in the process of the invention,indicate->New set of weight sequences,/->Indicate->A sequence of group weights that is selected from the group consisting of,representing the optimal weight sequence,/->Representation range->Random numbers within.
For the above embodiment, for ease of understanding, the current input 10 sets of speed sequences are assumed to continueMiddle group 3->The constraint condition is satisfied, and the motion from the starting point to the end point of the end motion path can be performed in the shortest time; the current 10 sets of weight sequences +.>Group 3 weight sequences in (3)As the optimal weight sequence. In group 1 weight sequence->For example, it is described how to obtain a new weight sequence of group 1 +.>:
。
Thus, 10 new sets of weight sequences can be obtained for use as weights for the neural network model in the next iteration.
For the above embodiments, actual verification tests were also performed, and the test results verify the performance, effectiveness and feasibility of the above embodiments. As shown in fig. 3, the planned tip movement path in the actual working space is shown. Based on the end motion path, the optimal speed of each discrete point is solved by adopting a commercial software Yalmip optimization solver, and the optimal speed of each discrete point is solved by adopting the embodiment, and the comparison result of the two is shown in fig. 4. The abscissa in fig. 4 is the planned end motion path, the ordinate is the speed of each discrete point, and two curves in the graph can show that the optimal speed of the commercial software Yalmip optimization solver for solving each discrete point is basically consistent with the optimal speed of the embodiment for solving each discrete point. Fig. 5 shows the relationship between the iteration number and the shortest movement time of the neural network model, and it can be seen that as the iteration number increases, the shortest time for the robot end to move from the start point to the end point along the end movement path is stabilized, and as the iteration number increases, the shortest time is stabilized when the iteration number is greater than 330.
In the above embodiment, how to solve the expected speed of each discrete point is described, and with continued reference to fig. 1, the robot trajectory planning method further includes:
S103, determining the joint motion track of the robot joint space according to the expected speed of each discrete point.
In an alternative embodiment of step S103, for the starting path near the starting point and the ending path near the ending point of the ending motion path, fitting the joint motion trajectory of the robot joint space by the first polynomial according to the expected speed of each discrete point in the starting path; fitting the joint motion track of the robot joint space through a first polynomial according to the expected speed of each discrete point in the tail end path; and for the residual path of the tail end motion path, fitting the joint motion track of the robot joint space through a second polynomial according to the expected speed of each discrete point of the residual path, wherein the order of the first polynomial is higher than that of the second polynomial.
In this regard, it was found after the study that the third order polynomial function can meet the position and velocity requirements, but it cannot smoothly control the acceleration of the start point and the end point; the five-order polynomial function can meet the requirements of position, speed and acceleration, has additional degrees of freedom at the starting point and the ending point, can smoothly transition the speed and the acceleration of the initial section and the ending section of the robot, and avoids abrupt change. Thus, for the starting path near the start point and the ending path near the end motion path start point, a fifth order polynomial function is used for fitting, while for the remaining path of the end motion path, a third order polynomial function is used for fitting.
Based on the same inventive concept as the robot trajectory planning method provided in the present embodiment, the present embodiment also provides a robot trajectory planning device, which includes at least one software functional module that may be stored in a memory or cured in an electronic device in the form of software. The processor in the electronic device is configured to execute executable modules stored in the memory, such as software functional modules and computer programs included in the robot trajectory planning device. Referring to fig. 6, functionally divided, the robot trajectory planning device may include:
a terminal path module 101, configured to obtain a terminal motion path of a robot terminal;
a speed planning module 102, configured to iterate out a desired speed of each discrete point in the end motion path through the neural network model;
the joint trajectory module 103 is configured to determine a joint motion trajectory of the robot joint space according to the expected speed of each discrete point.
In this embodiment, the end path module 101 is used to implement step S101 in fig. 1, the speed planning module 102 is used to implement step S102 in fig. 1, and the joint track module 103 is used to implement step S103 in fig. 1. The detailed description of each module may refer to a specific implementation manner of the corresponding step, and this embodiment will not be described in detail. It should be noted that, since the method has the same inventive concept as the robot trajectory planning method in the above embodiment, it means that each module may also be used to implement other steps or sub-steps of the method, and the embodiment is not limited thereto specifically.
In addition, functional modules in the embodiments of the present application may be integrated together to form a single part, or each module may exist alone, or two or more modules may be integrated to form a single part.
It should also be appreciated that the above embodiments, if implemented in the form of software functional modules and sold or used as a stand-alone product, may be stored on a computer readable storage medium. Based on this understanding, the technical solution of the present application may be embodied essentially or in a part contributing to the prior art or in a part of the technical solution, in the form of a software product stored in a storage medium, comprising several instructions for causing a computer device (which may be a personal computer, a server, a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present application.
Accordingly, the present embodiment also provides a computer-readable storage medium storing a computer program which, when executed by a processor, implements the robot trajectory planning method provided by the present embodiment. The computer readable storage medium may be any of various media capable of storing a program code, such as a usb (universal serial bus), a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk.
The embodiment provides an electronic device. As shown in fig. 7, the electronic device may include a processor 202 and a memory 201. The processor 202 and the memory 201 may communicate via a system bus 204. The memory 201 stores a computer program, and the processor reads and executes the computer program corresponding to the above embodiment in the memory 201, thereby realizing the robot trajectory planning method provided in the present embodiment.
With continued reference to fig. 7, in some embodiments, the electronic device further includes a communication unit 203. The memory 201, the processor 202, and the communication unit 203 are electrically connected to each other directly or indirectly through a system bus 204 to achieve data transmission or interaction.
The memory 201 may be an information recording device based on any electronic, magnetic, optical or other physical principle for recording execution instructions, data, etc. In some embodiments, the memory 201 may be, but is not limited to, volatile memory, non-volatile memory, storage drives, and the like.
In some embodiments, the volatile memory may be random access memory (Random Access Memory, RAM); in some embodiments, the non-volatile Memory may be Read Only Memory (ROM), programmable ROM (Programmable Read-Only Memory, PROM), erasable ROM (Erasable Programmable Read-Only Memory, EPROM), electrically erasable ROM (Electric Erasable Programmable Read-Only Memory, EEPROM), flash Memory, or the like; in some embodiments, the storage drive may be a magnetic disk drive, a solid state disk, any type of storage disk (e.g., optical disk, DVD, etc.), or a similar storage medium, or a combination thereof, etc.
The communication unit 203 is used for transmitting and receiving data through a network. In some embodiments, the network may include a wired network, a wireless network, a fiber optic network, a telecommunications network, an intranet, the internet, a local area network (Local Area Network, LAN), a wide area network (Wide Area Network, WAN), a wireless local area network (Wireless Local Area Networks, WLAN), a metropolitan area network (Metropolitan Area Network, MAN), a wide area network (Wide Area Network, WAN), a public switched telephone network (Public Switched Telephone Network, PSTN), a bluetooth network, a ZigBee network, a near field communication (Near Field Communication, NFC) network, or the like, or any combination thereof. In some embodiments, the network may include one or more network access points. For example, the network may include wired or wireless network access points, such as base stations and/or network switching nodes, through which one or more components of the service request processing system may connect to the network to exchange data and/or information.
The processor 202 may be an integrated circuit chip with signal processing capabilities and may include one or more processing cores (e.g., a single-core processor or a multi-core processor). By way of example only, the processors may include a central processing unit (Central Processing Unit, CPU), an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), a special instruction set Processor (Application Specific Instruction-set Processor, ASIP), a graphics processing unit (Graphics Processing Unit, GPU), a physical processing unit (Physics Processing Unit, PPU), a digital signal Processor (Digital Signal Processor, DSP), a field programmable gate array (Field Programmable Gate Array, FPGA), a programmable logic device (Programmable Logic Device, PLD), a controller, a microcontroller unit, a reduced instruction set computer (Reduced Instruction Set Computing, RISC), a microprocessor, or the like, or any combination thereof.
It should be understood that the apparatus and method disclosed in the above embodiments may be implemented in other manners. The apparatus embodiments described above are merely illustrative, for example, of the flowcharts and block diagrams in the figures that illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The above description is merely illustrative of various embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily think about variations or substitutions within the scope of the present application, and the application is intended to be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.
Claims (10)
1. A method for planning a trajectory of a robot, the method comprising:
acquiring a tail end motion path of the tail end of the robot;
iterating out the expected speed of each discrete point in the tail end motion path through a neural network model;
and determining the joint motion track of the robot joint space according to the expected speed of each discrete point.
2. The method of claim 1, wherein iterating the expected speed of each discrete point of the tip motion path through a neural network model comprises:
acquiring a plurality of groups of speed sequences and a plurality of groups of weight sequences, wherein each group of speed sequences comprises a speed to be optimized of each discrete point in the tail end motion path, and each group of weight sequences comprises a plurality of weights to be optimized of the neural network model;
And according to the multiple groups of speed sequences and the multiple groups of weight sequences, the following multiple iterations are performed until the shortest time spent by moving along the tail end movement path tends to be stable, and the speed sequence corresponding to the shortest time is determined as the expected speed of each discrete point of the tail end movement path:
calculating the multiple groups of speed sequences through the neural network model initialized by each group of weight sequences to obtain multiple groups of first speed sequences;
adjusting the multiple groups of first speed sequences through the multiple groups of speed sequences to obtain multiple groups of new speed sequences;
and updating the multiple groups of weight sequences according to the optimal weight sequences in the multiple groups of weight sequences to obtain multiple groups of new weight sequences.
3. The method for planning a track of a robot according to claim 2, wherein the expression for obtaining the plurality of sets of first velocity sequences by calculating the plurality of sets of velocity sequences through the neural network model initialized by each set of weight sequences is:
;
in the method, in the process of the invention,indicate->Group first speed sequence,/->Represents the number of iterations, +.>Indicate->Group speed sequence,/->Indicate->Group weight sequence,/->Representing the total number of each of the plurality of sets of velocity sequences and the plurality of sets of weight sequences;
Adjusting the multiple groups of first speed sequences through the multiple groups of speed sequences to obtain the expression of the multiple groups of new speed sequences as follows:
;
in the method, in the process of the invention,indicate->New velocity sequence,/-group>Indicate->A group of second-speed sequences,representing an optimal speed sequence of said sets of speed sequences, said optimal speed sequence being capable of minimizing the time taken for movement along said end movement path,/->Representation range->Random numbers within.
4. The method for planning a track of a robot according to claim 2, wherein the updating the plurality of sets of weight sequences according to the optimal weight sequence of the plurality of sets of weight sequences, to obtain a plurality of new weight sequences has an expression as follows:
;
in the method, in the process of the invention,indicate->New set of weight sequences,/->Indicate->A sequence of group weights that is selected from the group consisting of,representing the optimal weight sequence,/->Representation range->Random numbers within.
5. The robot trajectory planning method of claim 1, wherein the acquiring the tip motion path of the robot tip includes:
determining at least one target obstacle in the robot working space, wherein a connecting straight line between a starting point and an ending point of the tail end of the robot needs to pass through the position of the target obstacle;
Determining obstacle avoidance key points corresponding to each target obstacle according to the position of each target obstacle, wherein the obstacle avoidance key points avoid the positions of the corresponding target obstacles;
and planning a smooth curve from the starting point to the end point and passing through each obstacle avoidance key point as the tail end motion path.
6. The method of claim 5, wherein the planning a smooth curve from the start point to the end point and passing through each obstacle avoidance key point as the end motion path comprises:
acquiring a constraint relation for path planning;
fitting a smooth curve from the starting point to the end point and passing through the obstacle avoidance key points through a high-order smooth Bezier curve according to the starting point, the end point, the obstacle avoidance key points and the constraint relation;
the smooth curve is taken as the end motion path.
7. The method of claim 1, wherein determining the joint motion trajectory of the robot joint space based on the desired velocity for each discrete point comprises:
for a starting path close to the starting point and an ending path close to the ending point of the ending motion path, fitting an articulation track of the robot articulation space through a first polynomial according to expected speeds of discrete points in the starting path;
Fitting an articulation locus of the robot articulation space by the first polynomial according to the desired velocity of each discrete point in the end path;
and for the rest paths in the tail end motion paths, fitting the joint motion track of the robot joint space through a second polynomial according to the expected speed of each discrete point in the rest paths, wherein the order of the first polynomial is higher than that of the second polynomial.
8. A robot trajectory planning device, the device comprising:
the tail end path module is used for acquiring a tail end motion path of the tail end of the robot;
the speed planning module is used for iterating out the expected speed of each discrete point in the tail end motion path through the neural network model;
and the joint track module is used for determining the joint motion track of the robot joint space according to the expected speed of each discrete point.
9. A storage medium storing a computer program which, when executed by a processor, implements the robot trajectory planning method of any one of claims 1 to 7.
10. An electronic device comprising a processor and a memory, the memory storing a computer program which, when executed by the processor, implements the robot trajectory planning method of any one of claims 1-7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311316542.5A CN117075617B (en) | 2023-10-12 | 2023-10-12 | Robot track planning method and device, storage medium and electronic equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311316542.5A CN117075617B (en) | 2023-10-12 | 2023-10-12 | Robot track planning method and device, storage medium and electronic equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117075617A true CN117075617A (en) | 2023-11-17 |
CN117075617B CN117075617B (en) | 2024-01-26 |
Family
ID=88704492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311316542.5A Active CN117075617B (en) | 2023-10-12 | 2023-10-12 | Robot track planning method and device, storage medium and electronic equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117075617B (en) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102122172A (en) * | 2010-12-31 | 2011-07-13 | 中国科学院计算技术研究所 | Image pickup system and control method thereof for machine motion control |
JP2012157955A (en) * | 2011-02-02 | 2012-08-23 | Sony Corp | Device and method for controlling movement, and computer program |
US20170364076A1 (en) * | 2016-06-20 | 2017-12-21 | Hypertherm, Inc. | Systems and Methods for Planning Paths to Guide Robots |
CN111399514A (en) * | 2020-03-30 | 2020-07-10 | 浙江钱江机器人有限公司 | Robot time optimal trajectory planning method |
CN113341731A (en) * | 2021-06-29 | 2021-09-03 | 西北工业大学 | Space robot trajectory planning method based on sequence convex optimization |
CN113414761A (en) * | 2021-02-03 | 2021-09-21 | 中国人民解放军63920部队 | Method for optimizing motion trail of redundant mechanical arm |
CN113442140A (en) * | 2021-06-30 | 2021-09-28 | 同济人工智能研究院(苏州)有限公司 | Bezier optimization-based Cartesian space obstacle avoidance planning method |
CN114310899A (en) * | 2022-01-04 | 2022-04-12 | 桂林电子科技大学 | Multi-target trajectory planning method for mechanical arm based on NSGA-III optimization algorithm |
CN114571469A (en) * | 2022-05-05 | 2022-06-03 | 北京科技大学 | Zero-space real-time obstacle avoidance control method and system for mechanical arm |
-
2023
- 2023-10-12 CN CN202311316542.5A patent/CN117075617B/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102122172A (en) * | 2010-12-31 | 2011-07-13 | 中国科学院计算技术研究所 | Image pickup system and control method thereof for machine motion control |
JP2012157955A (en) * | 2011-02-02 | 2012-08-23 | Sony Corp | Device and method for controlling movement, and computer program |
US20170364076A1 (en) * | 2016-06-20 | 2017-12-21 | Hypertherm, Inc. | Systems and Methods for Planning Paths to Guide Robots |
CN111399514A (en) * | 2020-03-30 | 2020-07-10 | 浙江钱江机器人有限公司 | Robot time optimal trajectory planning method |
CN113414761A (en) * | 2021-02-03 | 2021-09-21 | 中国人民解放军63920部队 | Method for optimizing motion trail of redundant mechanical arm |
CN113341731A (en) * | 2021-06-29 | 2021-09-03 | 西北工业大学 | Space robot trajectory planning method based on sequence convex optimization |
CN113442140A (en) * | 2021-06-30 | 2021-09-28 | 同济人工智能研究院(苏州)有限公司 | Bezier optimization-based Cartesian space obstacle avoidance planning method |
CN114310899A (en) * | 2022-01-04 | 2022-04-12 | 桂林电子科技大学 | Multi-target trajectory planning method for mechanical arm based on NSGA-III optimization algorithm |
CN114571469A (en) * | 2022-05-05 | 2022-06-03 | 北京科技大学 | Zero-space real-time obstacle avoidance control method and system for mechanical arm |
Non-Patent Citations (4)
Title |
---|
RENLUAN HOU,等: "A Novel Resolution Scheme of Time-Energy Optimal Trajectory for Precise Acceleration Controlled Industrial Robot Using Neural Networks", MDPI, pages 1 - 19 * |
SARMAD RIAZI: "Energy and Peak Power Optimization of Time-Bounded Robot Trajectories", IEEE, pages 646 - 657 * |
周荣亚,等: "基于在线学习的柔性关节机器人自适应神经轨迹跟踪控制", 机械设计与制造工程, vol. 51, no. 8, pages 45 - 49 * |
霍韩淋,等: "基于 视觉机器人障碍点云映射避障规划及仿真", ***仿真学报, pages 1 - 12 * |
Also Published As
Publication number | Publication date |
---|---|
CN117075617B (en) | 2024-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107490965B (en) | Multi-constraint trajectory planning method for space free floating mechanical arm | |
US11292132B2 (en) | Robot path planning method with static and dynamic collision avoidance in an uncertain environment | |
Kabir et al. | Generation of synchronized configuration space trajectories of multi-robot systems | |
CN113552877A (en) | Initial reference generation for robot-optimized action planning | |
EP4157589A1 (en) | A robot path planning method with static and dynamic collision avoidance in an uncertain environment | |
CN109557929B (en) | The motion control method and device of mobile robot | |
EP4019207A1 (en) | Model generation device, model generation method, control device, and control method | |
CN114932549B (en) | Motion planning method and device for spatial redundancy mechanical arm | |
CN110561419B (en) | Arm-shaped line constraint flexible robot track planning method and device | |
CN115416016A (en) | Mechanical arm obstacle avoidance path planning method based on improved artificial potential field method | |
Nigro et al. | Assembly task execution using visual 3D surface reconstruction: An integrated approach to parts mating | |
Ramer et al. | A robot motion planner for 6-DOF industrial robots based on the cell decomposition of the workspace | |
Xu et al. | Automatic interpolation algorithm for NURBS trajectory of shoe sole spraying based on 7-DOF robot | |
Liu et al. | A motion planning method for visual servoing using deep reinforcement learning in autonomous robotic assembly | |
CN117075617B (en) | Robot track planning method and device, storage medium and electronic equipment | |
Freitas et al. | High precision trajectory planning on freeform surfaces for robotic manipulators | |
Korayem et al. | Trajectory planning of mobile manipulators using dynamic programming approach | |
CN117021066A (en) | Robot vision servo motion control method based on deep reinforcement learning | |
CN110948489B (en) | Method and system for limiting safe working space of live working robot | |
CN114536351A (en) | Redundant double-arm robot teaching method and device, electronic equipment and system | |
Cella et al. | Fueling Glocal: Optimization-Based Path Planning for Indoor Uavs in AN Autonomous Exploration Framework | |
Khaksar et al. | Multiquery motion planning in uncertain spaces: Incremental adaptive randomized roadmaps | |
Banga | Optimal Trajectory Planning Analysis of Robot Manipulator Using PSO | |
CN114347036B (en) | Method for optimizing joint center distance and joint movement range of mechanical arm | |
Li et al. | Path Planning of Manipulator Based on Improved Informed-RRT* Algorithm |
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 |