A route planning method for an automated guided vehicle in a designated workspace
By employing the tunicate algorithm and dimensionality reduction using a rotating coordinate system, combined with collaborative optimization of double-tunicate populations and tabu search, the obstacle avoidance and optimal route planning problems of automated guided vehicles (AGVs) in solid dosage form production were solved, improving transportation efficiency and route optimization effectiveness.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-08-24
- Publication Date
- 2026-03-27
AI Technical Summary
In the production of solid dosage forms of pharmaceuticals, automated guided vehicles (AGVs) face challenges in obstacle avoidance and optimal route planning, especially under continuous production activities, as well as transportation challenges caused by changes in warehouse locations and the movement of equipment and personnel.
A mathematical model is constructed using the tunicate algorithm. Dimensionality is reduced by rotating the coordinate system, and the optimal route for the automated guided vehicle is planned by combining the cooperative optimization of the double tunicate population and the tabu search method with spherical interpolation.
It improves the transportation efficiency of automated guided vehicles, reduces turning and stopping time, optimizes route length, and is suitable for the production needs of pharmaceutical solid dosage form workshops.
Smart Images

Figure CN115718481B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of route planning, in particular to a route planning method for an automated guided vehicle in a specified workspace. BACKGROUND
[0002] With the development of industrial internet and 5G technology fields, the production of pharmaceutical solid preparations is endowed with intelligent and digital capabilities. A large amount of production data is integrated into the industrial internet platform, making the whole life cycle of pharmaceutical solid preparation production visualized. With the addition of big data analysis and intelligent algorithms, various key information of the production workshop can be efficiently and timely provided to the upper decision-making layer; timely adjustment of the decision-making layer also benefits the basic production, improving the production efficiency. Among them, the transportation tasks of a large number of raw materials, auxiliary materials, packaging, semi-finished products and finished products and other goods in the basic production, with the aid of warehouse and storage databases, combined with a series of intelligent algorithms, efficient allocation and timely transportation of various goods provide a basic guarantee for production efficiency.
[0003] At the same time, with the rapid development of robot technology, the automated guided vehicle (AGV, Automated Guided Vehicle) plays a role of efficient logistics equipment in the digital workshop due to its high flexibility, high reliability and high efficiency. One of the key technologies is the planning of its transportation route. In actual pharmaceutical solid preparation production, it mainly includes the route from the storage site to the production feeding site, and the route from the finished product packaging site to the finished product warehouse site. Due to the continuity of production activities, the warehouse site is in surplus or deficit, the equipment in the production site changes, and the personnel flow occurs, so one of the most important difficulties of the automated guided vehicle in transportation is obstacle avoidance and optimal route planning. SUMMARY
[0004] In view of the above problems, the present application provides a route planning method for an automated guided vehicle in a specified workspace. By obtaining the information of the workspace where the automated guided vehicle runs and the predetermined starting point, end point and obstacle markers of the obstacles in the workspace, a mathematical model of the A* algorithm is constructed to plan the optimal travel route of the automated guided vehicle.
[0005] According to an aspect of the present application, a route planning method for an automated guided vehicle in a specified workspace is provided, the workspace is a two-dimensional plane, the positions in the workspace are represented by two-dimensional coordinates, and the method comprises:
[0006] obtaining the starting point coordinates and end point coordinates of the automated guided vehicle in the workspace;
[0007] obtaining the obstacle markers in the workspace, the obstacle markers are represented by obstacle center coordinates and obstacle radius.
[0008] constructing an original route vector with the start point coordinate as the start point and the end point coordinate as the end point;
[0009] equally dividing the original route vector into m+1 segments, and taking each equally divided point as an original route equally divided point, wherein the number of the original route equally divided points is m;
[0010] calculating, based on the original route equally divided points and the obstacle markers, route transformation coordinates of each of the route segmentation coordinates after transformation in the normal direction of the original route vector;
[0011] constructing a travel route of the automated guided vehicle based on the start point coordinate, the route transformation coordinates, and the end point coordinate.
[0012] According to some embodiments, the foregoing method further comprises: constructing a rotation coordinate system with the start point coordinate as the origin and the direction of the original route vector as the positive direction of the horizontal coordinate axis.
[0013] According to some embodiments, the foregoing method further comprises: for each of the original route equally divided points: selecting, through the route segmentation coordinates, a part on a straight line perpendicular to the original route vector that is located within the work space and avoids the obstacle markers as an equally divided point effective line segment; concatenating the equally divided point effective line segments in sequence to obtain a concatenated line segment, the concatenated line segment having two end points, wherein the end point with a larger vertical coordinate value in the rotation coordinate system is taken as the upper end point of the concatenated line end, and the end point with a smaller vertical coordinate value in the rotation coordinate system is taken as the lower end point of the concatenated line end; equally dividing the concatenated line end into n-1 segments, and taking the upper end point, the lower end point, and each divided point as a population divided point, and recording the coordinates of the population divided point before concatenation as a population divided coordinate, wherein the number of the population divided points is n.
[0014] According to some embodiments, the foregoing method further comprises: finding an optimal set of the route transformation coordinates based on a TENTACLE algorithm: setting the dimension of the search space equal to the number m of the original route equally divided points, setting the population size equal to the number n of the population divided points corresponding to each of the original route equally divided points, and setting the total number of iterations as T; constructing a TENTACLE population mathematical model and initializing; finding the leader and the follower in the TENTACLE population by using fitness evaluation; performing position transformation and optimization on the leader and the follower; and finding an optimal set of the route transformation coordinates.
[0015] According to some embodiments, the foregoing method further comprises: constructing an m x n dimensional matrix X for storing each of the population divided coordinates corresponding to each of the original route equally divided points, wherein
[0016]
[0017] wherein m is the dimension of the search space, 1, 2…m are each dimension, corresponding to each of the original route equidistant points in turn, n is the population size, 1, 2…n are each group of sea squirts, corresponding to each of the route segmentation points under each of the original route equidistant points in turn; for each of the population segmentation coordinates of the same original route equidistant point, two initial populations of sea squirts are obtained by using Fisher-Yates algorithm for twice shuffling initialization processing.
[0018] According to some embodiments, the foregoing method further comprises: for each initial population of sea squirts, calculating the fitness of each group of sea squirts:
[0019]
[0020] wherein f(x) is a fitness evaluation function, and represent the abscissa and ordinate of the population segmentation coordinates of the kth group of sea squirts in the ith dimension, and m is the dimension of the search space; selecting the group of sea squirts with the minimum fitness evaluation function value as the leader, wherein the population segmentation coordinate with the minimum fitness evaluation function value in each dimension is taken as the target point F in the dimension;
[0021] the other groups of sea squirts are taken as the followers.
[0022] According to some embodiments, the foregoing method further comprises: updating the position of the leader according to the following strategy:
[0023]
[0024] wherein F i is the target point in the ith dimension, r1=2exp(-(t / T) 2 ) is a convergence factor, t is the current iteration number, T is the total iteration number, r2 and r3 are random numbers in the range of [0, 1], r2 determines the moving length after updating the position, and r3 determines the direction of updating the position next time, ub i is the coordinate of the upper end point in the ith dimension, and lb i is the coordinate of the lower end point in the ith dimension.
[0025] According to some embodiments, the foregoing method further comprises: updating the position of the follower according to the following strategy:
[0026]
[0027] According to some embodiments, the leader can be position-transformed and optimized by using the tabu search method, and the follower can be position-transformed.
[0028] According to some embodiments, the foregoing method further comprises: connecting the start point coordinates, the end point coordinates, and the optimal set of route transformation coordinates in sequence to obtain a route polyline segment; and performing spherical interpolation processing on the route polyline segment to obtain the travel route of the automatic guided vehicle.
[0029] According to an aspect of the present application, a device for route planning of an automatic guided vehicle in a working space is provided, comprising: a start and end point obtaining module, which obtains start point coordinates and end point coordinates of the automatic guided vehicle in the working space; an obstacle obtaining module, which obtains obstacle markers in the working space, the obstacle markers being represented by obstacle center coordinates and obstacle radii; a vector constructing module, which constructs an original route vector with the start point coordinates as a start point and the end point coordinates as a terminal point; a vector equidivision module, which equidivides the original route vector into m+1 segments, and takes each equidivision point as an original route equidivision point, wherein the number of the original route equidivision points is m; a coordinate transformation module, which calculates route transformation coordinates of each route division coordinate after transformation in a normal direction of the original route vector based on the original route equidivision points and the obstacle markers; and a route constructing module, which constructs a travel route of the automatic guided vehicle based on the start point coordinates, the route transformation coordinates, and the end point coordinates.
[0030] According to an aspect of the present application, an electronic device is provided, comprising: one or more processors;
[0031] a storage device, configured to store one or more programs; and when the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of the preceding aspects.
[0032] The present application has the following beneficial effects:
[0033] According to some embodiments, the present application establishes a mathematical model of the sea cucumber algorithm based on basic information of the automatic guided vehicle and the working space, so that an optimal travel route of the automatic guided vehicle can be solved.
[0034] According to some embodiments, the present application constructs an original route vector by using start point coordinates and end point coordinates of the automatic guided vehicle, and equidivides the original route vector to construct a search space dimension of the sea cucumber algorithm.
[0035] According to some embodiments, the present application constructs a population of the sea cucumber algorithm by obtaining an effective line segment of each equidivision point of the original route, splicing, and then equidividing.
[0036] According to some embodiments, the present application reduces the dimension of a two-dimensional route planning problem by constructing a rotating coordinate system, thereby effectively improving the processing efficiency.
[0037] According to some embodiments, the application generates two initial populations in the sea squirt algorithm, so that the populations can be optimized cooperatively to obtain the solution.
[0038] According to some embodiments, the application improves the initial population generation method of the sea squirt algorithm, improves the shuffling degree of the initial population, and makes it possible to effectively jump out of the local optimal solution.
[0039] According to some embodiments, the application uses the tabu search method when iterating the sea squirt algorithm, improves the search efficiency, and is more likely to obtain the global optimal value.
[0040] According to some embodiments, the application uses the spherical interpolation method to make the driving route of the automated guided vehicle smooth, and avoid the behavior of turning in place.
[0041] The method has high running efficiency and strong practicability, and can be effectively applied to the production of a drug solid preparation workshop. BRIEF DESCRIPTION OF DRAWINGS
[0042] Figure 1 A flowchart showing a route planning method for an automated guided vehicle in a designated workspace according to an embodiment of the application is shown.
[0043] Figure 2 A schematic diagram showing a route planning method for an automated guided vehicle in a designated workspace according to an embodiment of the application is shown.
[0044] Figure 3a A schematic diagram showing a route planning method for an automated guided vehicle in a designated workspace according to an embodiment of the application is shown.
[0045] Figure 3b A schematic diagram showing a route planning method for an automated guided vehicle in a designated workspace according to an embodiment of the application is shown.
[0046] Figure 3c A schematic diagram showing a route planning method for an automated guided vehicle in a designated workspace according to an embodiment of the application is shown.
[0047] Figure 4 A schematic diagram showing a route planning method for an automated guided vehicle in a designated workspace according to an embodiment of the application is shown.
[0048] Figure 5 A block diagram showing an apparatus for a route planning method for an automated guided vehicle in a designated workspace according to an embodiment of the application is shown.
[0049] Figure 6 A block diagram of an electronic device according to an exemplary embodiment is shown. DETAILED DESCRIPTION
[0050] In order to more clearly and completely describe the technical scheme process in the present application, the present application will be verified below in conjunction with embodiments. It should be noted that the embodiments described herein are only one embodiment of the present application and are not intended to limit the present application. All other embodiments obtained by those of ordinary skill in the art without making creative efforts fall within the scope of protection of the present application.
[0051] In actual production of drug solid preparations, the main routes include the route from the storage site to the production feeding site, and the route from the finished product packaging site to the finished product warehouse site. Due to the continuity of production activities, the phenomena of the gain and loss of warehouse sites, the change of equipment in the production site, and the flow of personnel are generated. One of the most important difficulties of the automatic guided vehicle in transportation is to avoid obstacles and find an optimal route between the starting point and the ending point.
[0052] In view of the above needs, the present application proposes a route planning method for an automatic guided vehicle in a specified workspace. First, an AGV route planning model with obstacle avoidance characteristics is established, and a rotating coordinate system scheme is used to reduce the dimension of the route planning problem; secondly, a sea cucumber algorithm is used, and in particular, a double sea cucumber population collaborative optimization scheme is designed, which includes the establishment of a population intervention critical value, the selection of a population intervention scale, a population initialization discrete scheme and shuffling, and a tabu search method and leader replacement strategy; finally, the optimization method is used to solve the automatic guided vehicle route planning mathematical model with obstacle avoidance characteristics, and an optimized planning scheme is obtained, and spherical interpolation is used to smooth the route.
[0053] Figure 1 A flowchart of a route planning method for an automatic guided vehicle in a specified workspace according to an embodiment of the present application is shown.
[0054] Referring to Figure 1 In S101, the starting point coordinates and the ending point coordinates of the automatic guided vehicle in the workspace are obtained.
[0055] According to an example embodiment, in order to determine the search space dimension, population size, and iteration number of the sea cucumber population, a route planning model with obstacle avoidance characteristics needs to be established first to simulate the real drug solid preparation production environment.
[0056] According to an embodiment, a two-dimensional coordinate system based on the workspace and from a top-down perspective is first constructed to obtain relevant information of the workspace and the automatic guided vehicle. For example, it includes: the area range of the workspace, i.e. the boundary of the workspace; the starting point coordinates and the ending point coordinates of the automatic guided vehicle expected to run in the workspace.
[0057] According to an embodiment, for example, in a general static two-phase rectangular coordinate system, a starting point S is set as (0, 0), and an ending point G is set as (60, 60). The unit can be meters (m). The description of the present application will be based on the example of the starting point and the ending point coordinates, and the following will not be repeated.
[0058] In S103, an obstacle marker in the working space is obtained.
[0059] According to an embodiment, the working environment of the automatic guided vehicle considered by the present application is a two-dimensional space, in which a limited number of obstacles exist in a relatively short time interval (i.e., the time for the automatic guided vehicle to complete a cargo transportation), and the obstacles are static. The task of the automatic guided vehicle route planning is to find a shortest route between the starting point and the ending point, which is smooth and avoids all obstacles. In order to reduce the difficulty of problem solving, a plurality of circles of different sizes, i.e., obstacle markers, are used to represent the obstacles.
[0060] According to an example embodiment, the obstacle marker is a marker representing the obstacle, and the obstacle marker is represented by a circular region in the two-dimensional rectangular coordinate system of the working space, for example, by the obstacle center coordinates and the obstacle radius. The obstacle center coordinates represent the position of the obstacle, and the obstacle radius represents the size of the obstacle.
[0061] According to an embodiment, in order to fully verify the effectiveness of the route planning of the present application, the obstacle distribution characteristics of the pharmaceutical solid preparation workshop under different working conditions are selected, and three obstacle distribution situations are set up, which are sparse distribution, general distribution, and dense distribution.
[0062] According to an embodiment, in a general static two-dimensional rectangular coordinate system, the obstacles are represented by circles, i.e., obstacle markers. In the rectangular coordinate system, the three types of obstacle distribution are represented by the set of (O x , O y , R), where O x is the horizontal coordinate of the center, O y is the vertical coordinate of the center, and R is the radius.
[0063] According to an embodiment, the sparse distribution of the obstacle can be, for example, as follows:
[0064] {(O x , O y , R) | (10, 10, 3), (30, 50, 8), (20, 30, 4.4), (40, 36, 6), (35, 15, 5), (55, 45, 3)}. That is, there are 6 obstacles in the working space, as shown in Figure 3a .
[0065] According to another embodiment, the general distribution of the obstacle can be, for example, as follows:
[0066] {(O x , O y , R) | (14, 3, 6), (35, 37, 8), (15, 20, 4.6), (28, 22, 5), (43, 12, 5), (40, 60, 6), (50, 30, 5.7), (20, 40, 4), (60, 45, 3.5)}. That is, there are 9 obstacles in the workspace, as shown in Figure 3b .
[0067] According to another embodiment, the dense distribution of obstacles can be, for example, as follows:
[0068] {(O x , O y , R) | (14, 50, 6), (35, 14, 8), (15, 30, 5), (28, 30, 5.2), (43, 54, 5), (35, 42, 6), (50, 15, 5.7), (20, 17, 7), (46, 36, 5), (60, 11, 3.5), (58, 33, 4.3), (30, 61, 3.8), (10, 6, 5)}. That is, there are 13 obstacles in the workspace, as shown in Figure 3c .
[0069] In S105, the original route vector is constructed with the start point coordinates as the starting point and the end point coordinates as the end point.
[0070] According to an embodiment, the original route vector can be constructed in the direction from the start point S to the end point G
[0071] According to an embodiment, a rotating coordinate system can be constructed with the start point coordinates as the origin and the direction of the original route vector as the positive direction of the horizontal coordinate axis.
[0072] After the SG coordinates and the obstacle distribution are determined, in order to reduce the dimension of the route planning problem and simplify the calculation complexity, coordinate system rotation can be performed, that is, a rotating coordinate system is constructed, so that the x axis coincides with and its positive direction is consistent with direction. As shown in the schematic diagram of Figure 2 , wherein the coordinate system xy is the original coordinate system before transformation, and the coordinate system x'y' is the rotating coordinate system after transformation.
[0073] According to an embodiment, in order to solve the automatic guided vehicle route planning problem in the two-dimensional plane of the working space, the algorithm needs to optimize the parameters in two directions, which leads to the fact that each search space of each individual in the population is a two-dimensional vector when the sea squirt algorithm is used to solve the problem, which brings higher complexity to the solution of the problem. In order to solve this difficulty, the application adopts the scheme of rotating the coordinate system, rotates the two-phase static rectangular coordinate system by a certain angle, so that the origin coincides with the starting point (marked as S), and the x-axis direction is the direction of the starting point to the target point (marked as G). The formula of the coordinate system rotation transformation is as follows:
[0074]
[0075] Where (x, y) and (x', y') are the coordinates of the corresponding points in the original coordinate system and the new coordinate system respectively, and θ is The angle between the two-phase static coordinate system.
[0076] Taking the embodiment of the application as an example, from the starting point S (0, 0) and the ending point G (60, 60), it can be seen that the rotation angle of the original coordinate system is arctan (60 / 60), that is, counterclockwise rotation by 45 degrees, and correspondingly, the distribution of the obstacle in the new coordinate system needs to be counterclockwise rotated by 45 degrees, and the transformation formula is:
[0077]
[0078] As described above, in the x'y' coordinate system, the obstacle distribution set is transformed as follows:
[0079] Sparse distributed obstacles:
[0080] {(O x , O y , R) | (14.1421, 0, 3), (56.5685, 14.1421, 8), (35.3553, 7.0711, 4.4), (53.7401, -2.8284, 6), (35.3553, -14.1421, 5), (70.7107, -7.0711, 3)}.
[0081] Generally distributed obstacles:
[0082] {(O x , O y, R) | (12.0208, -7.7782, 6), (50.9117, 1.4142, 8), (24.7487, 3.5355, 4.6), (35.3553, -4.2426, 5), (38.8909, -21.9203, 5), (70.7107, 14.1421, 6), (56.5685, -14.1421, 5.7), (42.4264, 14.1421, 4), (74.2462, -10.6066, 3.5)}.
[0083] Densely distributed obstacles: {(O x , O y , R) | (45.2548, 25.4558, 6), (34.6482, -14.8492, 8), (31.8198, 10.6066, 5), (41.0122, 1.4142, 5.2), (68.5894, 7.7782, 5), (54.4472, 4.9497, 6), (45.9619, -24.7487, 5.7), (26.1630, -2.1213, 7), (57.9828, -7.0711, 5), (50.2046, -34.6482, 3.5), (64.3467, -17.6777, 4.3), (64.3467, 21.9203, 3.8), (11.3137, -2.8284, 5)}.
[0084] In S107, the original route vector is equally divided into m+1 segments, and each equally divided point is taken as an original route equally divided point.
[0085] According to an embodiment, after the original route vector is equally divided into m+1 segments, the number of original route equally divided points is m. The number of original route equally divided points is the dimension of the search space in the Ctenophore algorithm, that is, the solving dimension, which will be described later.
[0086] After the coordinate system is rotated, the x′ axis on the original route vector is equally divided into m+1 segments. When the route is optimized, only the iterative optimization of the longitudinal coordinate value on the equally divided line needs to be considered. As can be seen, the rotation of the coordinate system reduces the two-dimensional route planning problem of the present application, which can effectively improve the algorithm running efficiency.
[0087] According to an embodiment, for each original route equally divided point, a straight line is made perpendicular to the original route vector through the route segmentation coordinate.
[0088] According to an embodiment, after the coordinate system is rotated and transformed, the coordinates of SG are (0, 0) and Using 5 straight lines parallel to y′ and perpendicular to x′, the original route vector is equally divided into m+1 segments. The original route is divided into 6 segments. Therefore, the solution dimension is set to 5, i.e., m = 5. The interval between two adjacent parallel lines is In order to reduce the amount of calculation and improve the execution efficiency of the algorithm, one decimal place is reserved for the 5-dimensional horizontal coordinates, which are 14.1, 28.3, 42.4, 56.6 and 70.7, respectively.
[0089] According to an embodiment, after determining the solution dimension, the population size n can be set to, for example, 30, i.e., n = 30. After determining the population size n and the search space dimension m of the sea squirt algorithm, it can be known that the size of the sea squirt information matrix X is n x m, i.e., 30 x 5.
[0090] According to an embodiment, for each of the aforementioned original route equidivision points, the route segmentation coordinates are used to select, on the straight line perpendicular to the original route vector, the part within the working space and avoiding the obstacle markers as the equidivision point effective line segment, which is also the obstacle avoidance interval. The part of the obstacle markers coinciding with the straight line is the part that needs to be avoided, and the remaining discrete line segments after removing these parts are the equidivision point effective line segments.
[0091] According to an embodiment, the equidivision point effective line segments are then spliced together to obtain a spliced line segment, which has two end points. The end point with a larger longitudinal coordinate value in the rotating coordinate system is taken as the upper end point of the spliced line end, and the end point with a smaller longitudinal coordinate value in the rotating coordinate system is taken as the lower end point of the spliced line end.
[0092] According to an embodiment, the horizontal coordinate 28.3 is taken as an example in the embodiments of the present application. The 30 leaders and followers at this position are taken as a group. First, the y' coordinate set of the obstacle avoidance interval, i.e., the equidivision point effective line segment, is calculated when the horizontal coordinate is 28.3. In addition to the equidivision point effective line segment with a certain length in the middle, the equidivision point effective line segments on both sides can be bounded by the boundary of the working space. If it is far from the boundary of the working space, the cutoff length is set to 10 meters.
[0093] According to an embodiment, if the separation line does not coincide with the obstacle, the horizontal coordinate is taken as the center point, and the same length as the horizontal coordinate is taken as the obstacle avoidance margin on both sides, or the boundary of the working space is taken as the limit. In the embodiments of the present application, [-28.3, 28.3] is taken.
[0094] According to another embodiment, in actual situations, in order to avoid the occurrence of scratching phenomenon with the obstacle, it is necessary to increase a proper safety distance allowance to the range of the obstacle. Therefore, all the obstacle avoidance intervals can be tangent to the obstacle, and the obstacle avoidance interval is set as a closed interval.
[0095] According to an embodiment, the end of the splicing line is equally divided into n-1 segments, the upper end point, the lower end point and each division point are taken as population division points, and the coordinates of the population division points before splicing are recorded as population division coordinates, where the number of population division points is n. It can be seen that the number of population division points represents the size of the Ciona intestinalis population.
[0096] According to an embodiment, the total length L of the obstacle avoidance interval is calculated, and the calculation formula is:
[0097]
[0098] where n is the number of closed intervals, is the left end value of the ith interval, is the right end value of the ith interval. After obtaining the total length L, the interval between adjacent population division points can be calculated according to the number of equally divided segments of the end of the splicing line, that is, Based on this interval, during obstacle avoidance, each population division point is found starting from the upper end point or the lower end point, and its coordinate before splicing is recorded. These coordinates are the elements in the Ciona intestinalis information matrix X.
[0099] In S109, based on the original route division points and the obstacle markers, the route transformation coordinates of each route division coordinate after transformation in the normal direction of the original route vector are calculated.
[0100] According to an example embodiment, it is necessary to find an optimal set of route transformation coordinates based on the Ciona intestinalis algorithm.
[0101] According to an embodiment, the Ciona intestinalis follows the chain structure in the order of head-to-tail in biological behavior, which is called “Ciona intestinalis chain”. In the corresponding algorithm mathematical model, the individuals of the Ciona intestinalis population are divided into leaders and followers. The leaders make optimal judgments according to the environment and the target, leading the population to move, and the followers follow the former in turn.
[0102] According to an example embodiment, the parameters of the Ciona intestinalis algorithm are set first. The dimension of the search space is set to be equal to the number m of original route division points, the population size is set to be equal to the number n of population division points corresponding to each original route division point, and the total number of iterations is T. According to an embodiment, the total number of iterations is a number set by human, and the larger the value, the more accurate the result obtained, but the higher the time cost and operation cost. A balanced value is selected, for example, which can be 100.
[0103] According to an embodiment, the upper bound and the lower bound of the solution in each dimension from 1 to m, that is, the coordinates of the upper end point and the lower end point in the population division points, also need to be set. For example, ub i represents the upper bound in the ith dimension, and lb i represents the lower bound in the ith dimension. Wherein, ubi is the upper endpoint coordinate, lb i is the lower endpoint coordinate.
[0104] According to an example embodiment, then it is necessary to construct a Cephalopod population mathematical model based on the above parameters, and to initialize it. Based on the above parameters, an m x n dimensional matrix X, i.e. a Cephalopod information matrix, is constructed for storing each of the population segmentation coordinates corresponding to each of the original route equidistant points, wherein
[0105]
[0106] Wherein, as mentioned above, m is the dimension of the search space, 1, 2…m is each dimension, corresponding to each of the original route equidistant points in turn. n is the population size, 1, 2…n is each group of Cephalopods, corresponding to each of the route segmentation points under each of the original route equidistant points in turn. According to an embodiment, i.e. the data of the 3rd group of Cephalopods in the 2nd dimension.
[0107] According to an embodiment, it is necessary to process the Cephalopod information matrix to obtain a random initial population, and the general method is:
[0108] rand(m, n) x (ub - lb) + lb,
[0109] Wherein, the vectors ub and lb are both m-dimensional vectors, representing the upper and lower bounds of the range of position changes in all dimensions respectively. This is the method of the traditional Cephalopod algorithm, but in actual application scenarios, the traditional Cephalopod algorithm has the following problems: the Cephalopod uses a single population, which is difficult to explore and select optimization in the case of multiple optimal solutions existing at the same time and the Euclidean distance being far; the Cephalopod uses a random number to generate the initial population, which is easy to fall into local optimum in the case of low shuffling degree; the changes of followers are only related to the current position and the position of the last individual, and the changes have limitations, and the solution accuracy is not high.
[0110] According to another embodiment, in order to solve the above problems, for each of the population segmentation coordinates of the same original route equidistant point, the Fisher-Yates algorithm can be used for twice initialization processing of shuffling, completing the initialization of two groups of populations, and the dimensions and sizes of the two groups of populations are equal. Thus, two Cephalopod initial populations are obtained, which are used for double Cephalopod population collaborative optimization.
[0111] According to an embodiment, the Fisher-Yates algorithm can effectively shuffle a finite set, and the shuffling algorithm is unbiased, and each permutation is equally likely to occur. However, the selection of points on the route of the automated guided vehicle under the problem studied in the present application is continuous, so it is necessary to discretely select the points before shuffling using the Fisher-Yates algorithm. Under the automated guided vehicle route planning model proposed in the present application, the point selection is performed on the m equal lines in turn. Taking the first equal line as an example, first, the point set after obstacle avoidance on the equal line, i.e., the splicing line segment, is obtained, and the total length L of the splicing line segment is obtained. From the lower end point to the upper end point, a point is selected every L / n length, and is placed in an n-dimensional array. This array is used as the initial point set in the dimension, and after shuffling by the Fisher-Yates algorithm, it is set as the initial position of the n individuals in the population in the dimension. After the initial population is divided in each dimension, a set of initial populations with high shuffling degree is obtained, which can effectively jump out of the local optimum.
[0112] According to an example embodiment, after initialization, it is also necessary to find the leader and follower in the sea squirt population by using the fitness evaluation.
[0113] According to an embodiment, for each sea squirt initial population, the fitness of each group of sea squirts is calculated by using the fitness evaluation function:
[0114]
[0115] wherein f(x) is the fitness evaluation function, and represent the horizontal coordinate and vertical coordinate of the population division coordinates of the kth group of sea squirts in the ith dimension, and m is the total number of dimensions of the search space.
[0116] According to an embodiment, the smaller the fitness evaluation function value is, the higher the fitness is, and the more suitable it is as a leader. The group of sea squirts with the smallest fitness evaluation function value is selected as the leader, wherein the population division coordinates with the smallest fitness evaluation function value in each dimension are selected as the target point F in the dimension.
[0117] According to an embodiment, the other groups of sea squirts are used as followers. All the followers retain the fitness evaluation function value, which is used for analysis and decision-making of optimization or not in subsequent iterations.
[0118] According to an example embodiment, the leader needs to be transformed in position and optimized.
[0119] According to an embodiment, the position of the leader is updated according to the following strategy:
[0120]
[0121] wherein Fi r1 = 2exp(-1(t / T) ) for target point in i dimension, t is current iteration number, T is total iteration number 2 r2 and r3 are random numbers in the range of [0, 1], r2 determines the moving length after updating the position, and r3 determines the direction of the next position updating; ub i is the coordinate of the upper end point in i dimension, lb i is the coordinate of the lower end point in i dimension.
[0122] According to the example embodiment, the follower also needs to be position-transformed, i.e. iteratively optimized.
[0123] According to an embodiment, the position of the follower is updated according to the following strategy:
[0124]
[0125] According to an embodiment, when updating the position of the follower, if the fitness evaluation function becomes the minimum after the update, the identity should be exchanged with the leader.
[0126] According to the example embodiment, based on the updating iteration of the leader and the follower, the optimal set of route transformation coordinates needs to be found.
[0127] According to an embodiment, the leader can also be position-transformed and optimized by using the tabu search method, and the follower can also be position-transformed.
[0128] According to an embodiment, in order to prevent certain detour search during iteration, each follower update strategy stays in the tabu table for n s steps when the optimization effect is obtained, i.e. the tabu length is n s , and in the next n s iteration, the follower is regarded as a tabu object. In addition, if the optimization effect obtained by this update exceeds the target point of the current population, the follower and the current leader are exchanged, and set as a new leader, and the target point is updated, regardless of the tabu attribute. This criterion is used as a special pardon criterion in the tabu search, to strengthen the search of the high-quality solution and its field, avoid the loss of high-quality solution, and effectively achieve the global optimum.
[0129] For example, the total iteration number is preset to be, for example, 100, and the tabu length n sFor example, 4 times. In a certain iteration process, if the follower obtains a better solution (i.e., obtains a lower fitness evaluation function value), the solution is maintained for 4 iteration periods of hysteresis operation to ensure that the relevant follower explores the potential optimal solution in the neighborhood of the solution. If the evaluation function of the solution is better than the existing target point F, the follower is changed to a leader, and the taboo operation is cancelled. In addition, in order to ensure sufficient optimization in the early stage, the taboo search can be performed for the first, for example, 10 iteration processes.
[0130] According to an embodiment, a counter can also be set for the ascidian population. When the target point is not updated after an iteration, the counter is incremented, otherwise, the counter is cleared and the counting is restarted in the next iteration. When the counter reaches the population intervention threshold τ, it can be determined that it has fallen into a local optimum in the current target value field, and the iteration is paused and the population crossover process is entered. The threshold τ can be set to, for example, 16 times.
[0131] According to another embodiment, when the count value reaches τ times, a certain proportion of the population size is randomly selected, and part of the dimensions are replaced with the position information of another population, that is, the population segmentation coordinates. In order to preserve the information characteristics of the population itself and fully introduce the high-quality information of another population. The population size selection ratio and the dimension selection ratio can be set to, for example, the golden section ratio, which is approximately 0.618, that is, 3 random dimension position information of 18 ascidian individuals in another population is selected to replace the followers of the population. When 18 ascidian individuals in another population are selected, ascidian individuals in the hysteresis period are preferentially selected, and when the followers of the population are replaced, ascidian individuals not in the hysteresis period are preferentially selected to optimize behavior.
[0132] According to an embodiment, after the intervention of other populations, the counting of τ is restarted, the fitness evaluation of the intervened population is performed again, the evaluation function value and the leader are updated, and the existing hysteresis information is cleared. Restart the iteration, start the counting of whether the target value is updated or not, until the iteration is completed, and the optimal solution of the route planning of the automatic guided vehicle is obtained.
[0133] According to an embodiment, after the double-population iteration is completed, the leader information of the two populations after iteration is obtained, and the better solution of the two is selected as the final discrete point position solution of the route planning of the automatic guided vehicle according to the evaluation function, that is, the optimal set of route transformation coordinates is found.
[0134] In S111, the travel route of the automatic guided vehicle is constructed based on the start point coordinates, the route transformation coordinates, and the end point coordinates.
[0135] According to an example embodiment, spherical interpolation processing is performed on the start point coordinates, the end point coordinates, and the optimal set of route transformation coordinates to obtain the travel route of the automatic guided vehicle.
[0136] According to one embodiment, the optimal set of route transformation coordinates found above can first undergo an inverse rotation transformation to revert the obtained optimal solution from the x′y′ coordinate system back to the xy coordinate system. The inverse rotation transformation equation is:
[0137]
[0138] Specifically, in the embodiments of this application:
[0139]
[0140] According to one embodiment, in this application embodiment, spherical interpolation is performed on the five points with the optimal route transformation coordinates obtained by solving, as well as the starting point S and the ending point G, to obtain a final smooth curve, which is the travel route of the automated guided vehicle, thus completing the route planning.
[0141] According to some embodiments, assuming the automated guided vehicle (AGV) has a speed of 1.2 m / s, the stopping and turning time is 2 seconds when the angle change of the broken line segment is greater than 30 degrees. A simulation comparison of the improved and traditional tunicate schemes is performed under the same environment. The route planning diagrams obtained by the two schemes under three types of obstacle distribution (sparse, normal, and dense) are shown below. Figures 3a to 3c As shown. The length of its trajectory and the total time taken were statistically analyzed, and the results are recorded in [the table / document / etc.]. Figure 4 In the table shown.
[0142] According to some embodiments, by Figure 3a It can be seen that, under sparsely distributed obstacles, the optimal routes obtained by the traditional tunicate algorithm and the improved tunicate algorithm proposed in this application are similar. The improved tunicate algorithm has a slight advantage in route length, but due to the absence of stopping and turning, the total time is reduced by approximately 2.5 seconds. Figure 3b The general distribution of obstacles shown and Figure 3c As shown in the diagram, the optimal routes obtained by the two schemes differ significantly under densely distributed obstacles. It can be seen that the more complex the environment, the more pronounced the advantages of the improved *Symplocos salvia* algorithm proposed in this application become, saving a maximum of approximately 5.5 meters of total path length and approximately 10.7 seconds of total time. Therefore, the improved *Symplocos salvia* algorithm proposed in this application is more effective and helps improve the transfer efficiency of goods in pharmaceutical solid dosage form workshops.
[0143] Figure 5 The diagram shows an apparatus for a route planning method for an automated guided vehicle in a designated workspace, according to an embodiment of this application.
[0144] like Figure 5As shown, the device for specifying the route planning method of the automatic guided vehicle in the workspace includes: a start-end point acquisition module 501, an obstacle acquisition module 503, a vector construction module 505, a vector equidivision module 507, a coordinate optimization module 509, and a route construction module 511.
[0145] Wherein:
[0146] The start-end point acquisition module 501 obtains the start point coordinate and the end point coordinate of the automatic guided vehicle in the workspace.
[0147] The obstacle acquisition module 503 obtains the obstacle marker in the workspace, and the obstacle marker is represented by the obstacle center coordinate and the obstacle radius.
[0148] The vector construction module 505 constructs an original route vector with the start point coordinate as the start point and the end point coordinate as the end point.
[0149] The vector equidivision module 507 divides the original route vector into m+1 segments, and each equidivision point is taken as an original route equidivision point, wherein the number of the original route equidivision points is m.
[0150] The coordinate optimization module 509 calculates the route transformation coordinate of each route division coordinate after transformation in the normal direction of the original route vector based on the original route equidivision point and the obstacle marker.
[0151] The route construction module 511 constructs the travel route of the automatic guided vehicle based on the start point coordinate, the route transformation coordinate, and the end point coordinate.
[0152] The device performs similar functions to the method provided above, and other functions can be referred to the foregoing description, which will not be described here.
[0153] Figure 6 A block diagram of an electronic device according to an example embodiment is shown.
[0154] The electronic device 600 according to this embodiment of the present application will be described below with reference to Figure 6 Figure 6 The electronic device 600 shown is merely an example, and should not impose any limitation on the functions and use range of the embodiments of the present application.
[0155] As Figure 6 shown, the electronic device 600 is in the form of a general computing device. The components of the electronic device 600 can include, but are not limited to: at least one processing unit 610, at least one storage unit 620, a bus 630 connecting different system components (including the storage unit 620 and the processing unit 610), a display unit 640, etc.
[0156] The storage unit stores program codes which can be executed by the processing unit 610, so that the processing unit 610 performs the methods according to various exemplary embodiments of the present application described in the specification. For example, the processing unit 610 can perform the method described in the foregoing.
[0157] The storage unit 620 can include a readable medium in the form of a volatile storage unit, such as a random access memory (RAM) 6201 and / or a cache memory 6202, and can further include a read-only memory (ROM) 6203.
[0158] The storage unit 620 can further include a program / utility 6204 having a set of programs / modules 6205, including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or a combination thereof can include implementation of a network environment.
[0159] The bus 630 can represent one or more of several types of bus structures, including a storage unit bus or bus controller, a peripheral bus, a graphics acceleration port, a processing unit bus, or a local bus using any of a variety of bus architectures.
[0160] The electronic device 600 can also communicate with one or more external devices 6001 such as a keyboard, a pointing device, a Bluetooth device, etc.; and can communicate with one or more devices that enable a user to interact with the electronic device 600. The communication can be through an input / output (I / O) interface 650. Further, the electronic device 600 can communicate with one or more networks, such as a local area network (LAN), a wide area network (WAN), and / or the public network, such as the Internet, through a network adapter 660. The network adapter 660 can communicate with the other modules of the electronic device 600 through the bus 630. It should be appreciated that although not shown, other hardware and / or software modules can be used in conjunction with the electronic device 600, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archival storage systems, etc.
[0161] Those skilled in the art can easily understand that the example embodiments described herein can be implemented by software, or by software in combination with necessary hardware, through the above description of the embodiments. The technical solutions according to the embodiments of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a U disk, a mobile hard disk, etc.) or a network, and includes a number of instructions to make a computing device (which can be a personal computer, a server, or a network device, etc.) execute the above-mentioned method according to the embodiments of the present application.
[0162] The software product can adopt any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium may, for example, be but is not limited to an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or apparatus, or any combination of the above. More specific examples (non-exhaustive list) of the readable storage medium include an electrical connection having one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
[0163] The computer readable storage medium can include a data signal carried in the baseband or as a part of a carrier wave propagating through the transmission medium, in which a readable program code is borne. Such a propagated data signal can take on many forms, including but not limited to electro-magnetic, optical, or any suitable combination thereof. The readable storage medium can also be any readable medium that can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the readable storage medium can be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.
[0164] The program code can be executed by one or more programmable processors, digital signal processors, ASICs, FPGAs, GPUs, microprocessors, etc. The program code can be downloaded to a device from a network or from another computer readable medium. The device can be a personal computer (PC), a tablet PC, a personal digital assistant (PDA), a cellular telephone, a mobile telephone, a Global Positioning System (GPS) device, a handheld PC, a wearable computer, a device executing about.me software, or another device. The program code can be stored in a computer readable medium, which can include one or more types of memory devices, one or more types of storage devices, or a combination thereof. The program code can be stored in a computer readable medium that is distributed over a network, for example, a network including the Internet, or a local area network. The program code can be stored in any type of computer readable medium, for example, any combination of nonvolatile memory, volatile memory, hard disk, floppy disk, CD-ROM, DVD, magnetic tape, optical disc, flash drive, or other memory devices.
[0165] The computer readable medium described above can bear one or more programs, which, when executed by the device, cause the computer readable medium to implement the foregoing functions.
[0166] Those skilled in the art can understand that the above modules can be distributed in the device according to the description of the embodiments, and can also be changed in one or more devices different from the embodiments. The modules of the above embodiments can be combined into one module, or can be further split into multiple sub-modules.
[0167] From the above description of the embodiments, those skilled in the art can easily understand that the example embodiments described herein can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solutions according to the embodiments of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a U disk, a mobile hard disk, etc.) or a network, and includes a plurality of instructions to make a computing device (which can be a personal computer, a server, a mobile terminal, or a network device, etc.) execute the method according to the embodiments of the present application.
[0168] It should be noted that the above examples are only preferred embodiments of the present application, and are not used to limit the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims
1. A route planning method for an automated guided vehicle (AGV) in a specified workspace, wherein the workspace is a two-dimensional plane, and the position within the workspace is represented by two-dimensional coordinates, the method comprising: Obtain the starting coordinates and ending coordinates of the automated guided vehicle in the workspace; Obtain obstacle markers in the workspace, wherein the obstacle markers are represented by the coordinates of the obstacle center and the obstacle radius; Construct the original route vector using the starting point coordinates as the starting point and the ending point coordinates as the ending point; Divide the original route vector into equal parts The segment is defined by dividing each point into equal parts as the original route division points, wherein the number of the original route division points is... ; Based on the original route division points and the obstacle markings, calculate the route transformation coordinates after transforming each route division coordinate in the normal direction of the original route vector; The travel route of the automated guided vehicle is constructed based on the starting point coordinates, the route transformation coordinates, and the ending point coordinates. After constructing the original route vector with the starting point coordinates as the starting point and the ending point coordinates as the ending point, the method further includes: constructing a rotating coordinate system with the starting point coordinates as the origin and the direction of the original route vector as the positive direction of the horizontal axis. The original route vector is divided into equal parts After dividing each segment into equal parts as the original route segments, the following are also included: For each of the original route division points: After passing through the route segmentation coordinates, on the straight line perpendicular to the original route vector, select the portion located within the workspace that avoids the obstacle marker as the effective line segment of the equally divided point; The effective line segments of the equal division points are spliced together in sequence to obtain a spliced line segment. The spliced line segment has two endpoints, wherein the endpoint with the larger ordinate value in the rotating coordinate system is used as the upper endpoint of the spliced line segment, and the endpoint with the smaller ordinate value in the rotating coordinate system is used as the lower endpoint of the spliced line segment. Divide the splicing segment into equal parts The segment is defined by taking the upper endpoint, the lower endpoint, and each segmentation point as population segmentation points, and recording the coordinates of each population segmentation point before splicing as population segmentation coordinates. The number of population segmentation points is... ; The step of calculating the transformed route coordinates after transforming each route segment coordinate in the normal direction of the original route vector, based on the original route division points and the obstacle markers, includes: Based on the tunic algorithm, the optimal set of coordinate transformations for the route was found: Set the dimension of the search space to be equal to the number of equally divided points of the original route. The population size is set equal to the number of population split points corresponding to each of the original route division points. The total number of iterations is ; A mathematical model of the salps population was constructed and initialized. The leaders and followers in the described salps population were identified using fitness evaluation. Perform position transformation and optimization on the leader and the followers; Find the optimal set of the route transformation coordinates; The construction A mathematical model of the salps population was developed and initialized, including: Constructing a 3D matrix , used to store the population segmentation coordinates corresponding to each of the original route division points, wherein ; in, Let be the dimension of the search space, where 1, 2...m are each dimension, corresponding sequentially to each of the original route's dividing points. The population size is 1, 2, ..., n, which represent each group of salps, corresponding sequentially to each route division point under each of the original route division points. For each population segmentation coordinate of the same original route division point, the Fisher's algorithm is used to perform two scrambling initialization processes to obtain two initial populations of tunicates. A counter is set for the tunicate population. If the target point is not updated after one iteration, the counter is incremented by one; otherwise, the counter is reset to zero and restarted in the next iteration. When the counter reaches the population intervention threshold τ, a certain proportion of the population size is randomly selected, and some dimensions are replaced with the location information of another population, i.e., the population splitting coordinates. In order to preserve the information characteristics of the original population and fully introduce the high-quality information of the other population, after the other population intervenes, the counting of τ is restarted. The fitness of the intervened population is re-evaluated, the evaluation function value and the leader are updated, the existing stagnant information is reset to zero, and the iteration is restarted. The counting of whether the target value is updated or not begins again until the iteration is completed, and the optimal solution for the autonomous guided vehicle route planning is obtained.
2. The method as described in claim 1, characterized in that, The method of using fitness evaluation to identify leaders and followers in the salps population includes: For each initial population of salps, calculate the fitness of each group of salps: ; in, For fitness evaluation function, and Representing the Group of tunicates in the first The x and y coordinates of the population segmentation coordinates in each dimension. Let be the dimension of the search space; The group of tunicates with the smallest fitness evaluation function value is selected as the leader, wherein the population split coordinate with the smallest fitness evaluation function value in each dimension is selected as the target point in that dimension. ; Other groups of tunicates are considered as followers.
3. The method as described in claim 2, characterized in that, The process of changing and optimizing the positions of the leader and the followers includes: Update the leader's position using the following strategy: ; in, for The target point in the dimension, The convergence factor is This represents the current iteration number. The total number of iterations, and yes Random numbers within a range Determine the move length after updating the position. Decide on the direction of the next location update. for The coordinates of the upper endpoint in the dimension. for The coordinates of the lower endpoint in the dimension; Update the follower's position using the following strategy: 。 4. The method as described in claim 3, characterized in that, Constructing the travel route of the automated guided vehicle based on the starting point coordinates, the route transformation coordinates, and the ending point coordinates includes: The starting point coordinates, ending point coordinates, and the optimal set of route transformation coordinates are subjected to spherical interpolation to obtain the travel route of the automated guided vehicle.
5. An apparatus for implementing the route planning method for an automated guided vehicle in a designated workspace as described in any one of claims 1-4, comprising: The start-end point acquisition module obtains the start-point coordinates and end-point coordinates of the automated guided vehicle in the workspace. An obstacle acquisition module obtains obstacle markers in the workspace, wherein the obstacle markers are represented by the coordinates of the obstacle center and the obstacle radius; The vector construction module constructs the original route vector using the starting coordinates as the starting point and the ending coordinates as the ending point. The vector division module divides the original route vector into equal parts. The segment is defined by dividing each point into equal parts as the original route division points, wherein the number of the original route division points is... ; The coordinate optimization module calculates the transformed coordinates of each route segment coordinate after transformation in the normal direction of the original route vector, based on the original route division points and the obstacle markers. The route construction module constructs the travel route of the automated guided vehicle based on the starting point coordinates, the route transformation coordinates, and the ending point coordinates.
6. An electronic device, characterized in that, include: One or more processors; Storage device for storing one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any one of claims 1-4.
Citation Information
Patent Citations
Multi-target vehicle distribution path determination method and system based on improved genetic algorithm
CN112836892A
Robot multi-target path planning based on improved salp swarm algorithm
CN113110490A