Path planning method and device, unmanned environmental sanitation vehicle and storage medium
Patent Information
- Application Number
- CN202210662378.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-13
- Publication Date
- 2026-09-25
- Estimated Expiration
- 2042-06-13
AI Technical Summary
[0004]本申请实施例提供了一种路径规划方法、装置、无人环卫车及存储介质,可以解决无人环卫车的清扫效率低的问题
[0018]本申请实施例与现有技术相比存在的有益效果是:先获取清扫任务中的待清扫区域后,以及预先设定的对该待清扫区域进行清扫的期望清扫路径。之后,在待清扫区域中,确定无人环卫车在清扫待清扫区域时可以移动的目标路径边界,使其避免与非待清扫区域中的物体发生碰撞。之后,根据目标路径边界、期望清扫路径以及待清扫区域中待清扫物体的位置,规划无人环卫车在待清扫区域清扫时的目标清扫路径。基于此,在生成目标清扫路径时,不仅考虑了实际环境(待清扫物体的位置),还考虑了预先设定的期望清扫路径,以及待清扫区域的道路边界等多种因素。以此,无人环卫车在沿生成的目标清扫路径执行清扫任务时,可以提高清扫效率。
Smart Images

Figure CN117268411B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of unmanned vehicle technology, and in particular relates to a path planning method, device, unmanned sanitation vehicle and storage medium. Background Technology
[0002] With the continuous development of artificial intelligence technology, path planning algorithms applicable to various vehicles are constantly emerging and improving, enabling autonomous driving technology for driverless cars to be applied to multiple fields. For example, it can be applied to sanitation vehicles in the cleaning industry, making them driverless.
[0003] Traditional path planning algorithms only require planning the route from the starting point to the destination and avoiding obstacles along the way. However, unmanned sanitation vehicles also need to perform cleaning tasks while in motion, making traditional path planning algorithms unsuitable. Furthermore, most unmanned sanitation vehicles rely on manually set routes rather than adapting to the actual environment, resulting in low cleaning efficiency. Summary of the Invention
[0004] This application provides a path planning method, device, unmanned sanitation vehicle, and storage medium, which can solve the problem of low cleaning efficiency of unmanned sanitation vehicles.
[0005] In a first aspect, embodiments of this application provide a path planning method applied to unmanned sanitation vehicles, the method comprising:
[0006] Obtain cleaning tasks; cleaning tasks include the area to be cleaned and the expected cleaning path for the unmanned sanitation vehicle to clean the area to be cleaned.
[0007] Determine the target path boundary when the unmanned sanitation vehicle cleans the area to be cleaned; the target path boundary is used to describe the boundary range when the unmanned sanitation vehicle travels in the area to be cleaned.
[0008] Get the position of the object to be cleaned in the area to be cleaned;
[0009] Based on the target path boundary, the desired cleaning path, and the location of the object to be cleaned, the target cleaning path of the unmanned sanitation vehicle is planned.
[0010] Secondly, embodiments of this application provide a path planning device for use in unmanned sanitation vehicles, the device comprising:
[0011] The cleaning task acquisition module is used to acquire cleaning tasks; the cleaning task includes the area to be cleaned and the expected cleaning path of the unmanned sanitation vehicle to clean the area to be cleaned;
[0012] The determination module is used to determine the target path boundary when the unmanned sanitation vehicle cleans the area to be cleaned; the target path boundary is used to describe the boundary range when the unmanned sanitation vehicle travels in the area to be cleaned.
[0013] The location acquisition module is used to acquire the location of the objects to be cleaned in the area to be cleaned;
[0014] The planning module is used to plan the target cleaning path of the unmanned sanitation vehicle based on the target path boundary, the desired cleaning path, and the location of the object to be cleaned.
[0015] Thirdly, embodiments of this application provide an unmanned sanitation vehicle, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the method described in the first aspect above.
[0016] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements the method described in the first aspect above.
[0017] Fifthly, embodiments of this application provide a computer program product that, when run on an unmanned sanitation vehicle, causes the unmanned sanitation vehicle to execute the method described in the first aspect.
[0018] The beneficial effects of this application embodiment compared to the prior art are as follows: First, the area to be cleaned in the cleaning task and the desired cleaning path for that area are pre-set. Then, within the area to be cleaned, the target path boundary that the unmanned sanitation vehicle can move along when cleaning the area is determined, so as to avoid collisions with objects outside the area to be cleaned. Then, based on the target path boundary, the desired cleaning path, and the position of the objects to be cleaned in the area, the target cleaning path of the unmanned sanitation vehicle is planned. Based on this, when generating the target cleaning path, not only the actual environment (the position of the objects to be cleaned) is considered, but also the pre-set desired cleaning path and the road boundary of the area to be cleaned, among other factors. Therefore, the cleaning efficiency can be improved when the unmanned sanitation vehicle performs the cleaning task along the generated target cleaning path. Attached Figure Description
[0019] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0020] Figure 1This is a flowchart illustrating the implementation of a path planning method according to an embodiment of this application;
[0021] Figure 2 A schematic diagram of the scene structure of a high-precision map generated in a path planning method provided in an embodiment of this application;
[0022] Figure 3 This is a schematic diagram illustrating an implementation method for determining obstacle boundaries in a path planning method provided in an embodiment of this application;
[0023] Figure 4 This is a schematic diagram illustrating one implementation method for determining driving boundaries in a path planning method provided in an embodiment of this application;
[0024] Figure 5 This is a schematic diagram illustrating one implementation method for determining a target cleaning path in a path planning method provided in an embodiment of this application;
[0025] Figure 6 This is a schematic diagram illustrating an application scenario of a driving path generated in a path planning method provided in an embodiment of this application.
[0026] Figure 7 This is a schematic diagram illustrating one implementation method for calculating cost value in a path planning method provided in an embodiment of this application;
[0027] Figure 8 This is a schematic diagram of the structural framework of a path planning device provided in an embodiment of this application;
[0028] Figure 9 This is a schematic diagram of the structural frame of an unmanned sanitation vehicle provided in one embodiment of this application. Detailed Implementation
[0029] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.
[0030] It should be understood that, when used in this application specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or a collection thereof.
[0031] Furthermore, in the description of this application and the appended claims, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0032] The path planning method provided in this application can be applied to unmanned sanitation vehicles. These unmanned sanitation vehicles can be used in both closed and open environments to perform cleaning tasks on areas to be cleaned. For example, closed environments include, but are not limited to, parks, campuses, and factories. Open environments include, but are not limited to, highways and urban roads. This application does not impose any limitations on the specific application environment of the unmanned sanitation vehicle.
[0033] Currently, most unmanned sanitation vehicles are pre-programmed with the cleaning area and path for each task. This means they can only clean along the pre-set path, resulting in significant time consumption. Therefore, please refer to [link / reference needed]. Figure 1 , Figure 1 The diagram illustrates a path planning method provided in an embodiment of this application to improve the cleaning efficiency of unmanned sanitation vehicles. The method includes the following steps:
[0034] S101. Obtain cleaning tasks; cleaning tasks include the area to be cleaned and the expected cleaning path for the unmanned sanitation vehicle to clean the area to be cleaned.
[0035] In one embodiment, the aforementioned unmanned sanitation vehicle typically pre-stores multiple cleaning tasks. Then, based on the operational instructions input by the staff, it determines the cleaning task to be performed. These cleaning tasks typically pre-store the area to be cleaned and the desired cleaning path for that area. Generally, the desired cleaning path can be a path manually set by the staff based on the actual scene structure of the area to be cleaned. It is understood that because the staff does not know the location of the objects to be cleaned when setting the desired cleaning path, the desired cleaning path set by the staff will usually cause the unmanned sanitation vehicle to clean every location in the area to be cleaned. However, in actual scenarios, not every location needs to be cleaned. Therefore, the set desired cleaning path does not take into account the actual location of the objects to be cleaned in the scene.
[0036] It should be added that the above-mentioned actual scenario structures include both structured and unstructured scenarios. For example, a structured scenario could be an urban road scenario. Understandably, urban road scenarios typically have clear structural markers, such as lane lines and curbs. Unstructured scenarios can be those with unclear road boundaries, such as roads in a park. For unstructured scenarios, a high-precision map is usually required to process the area to be cleaned in order to generate the corresponding desired cleaning path.
[0037] Specifically, the high-precision map creation module in the unmanned sanitation vehicle can create a corresponding high-precision map based on the actual environment in which the vehicle is used. For example, the unmanned sanitation vehicle can first collect environmental data (IMU data, LiDAR data, and / or GPS positioning data) from the actual environment using inertial measurement units (IMU), lidar sensors, and / or global positioning systems (GPS) to create a map. Then, a vector map is created using the constructed map. This vector map creation can use algorithms to generate typical traffic elements such as intersections, lane lines, and zebra crossings. Alternatively, virtual traffic elements can be manually added to the high-precision map to constrain the driving behavior of the unmanned sanitation vehicle, such as the target path boundary in this embodiment.
[0038] For example, please refer to Figure 2 , Figure 2 This is a schematic diagram of the scene structure of a high-precision map generated in a path planning method provided in this application embodiment. The high-precision map includes traffic elements such as intersections, target path boundaries, and lane lines in the application environment. The target path boundaries can be considered as... Figure 2 In L2, lane lines can be considered as Figure 2 The dashed line in the middle.
[0039] It should be added that, when performing cleaning tasks, different cleaning levels can be set for each task, and the starting point (e.g., left or right) of the area to be cleaned can be specified. For example, Figure 2 In the process, staff can pre-set whether to start the cleaning task from the left side of the dotted line or from the right side of the dotted line; there is no restriction on this.
[0040] For example, different cleaning levels can correspond to different cleaning times. For instance, at level A, the unmanned sanitation vehicle can clean the area to be cleaned multiple times (3 times or more); at level B, the unmanned sanitation vehicle can clean the area to be cleaned twice; and at level C, the unmanned sanitation vehicle only needs to clean the area to be cleaned once. In this embodiment, the definition of cleaning level is not limited in any way.
[0041] The desired cleaning path typically includes a starting point and an ending point. The starting point is the initial position of the unmanned sanitation vehicle when performing the cleaning task, and the ending point is the final position of the unmanned sanitation vehicle when completing the cleaning task. Figure 2 In this scenario, the desired cleaning path can be defined as starting cleaning along a straight line from the left side of the dashed line, then connecting to a right-turning arc, and finally starting cleaning again along a straight line from the right side of the dashed line. The path formed by the left straight line, the arc, and the right straight line can then be considered the desired cleaning path.
[0042] In addition, in order to clean the area to be cleaned based on the actual environment, the unmanned sanitation vehicle also needs to be equipped with a perception fusion and recognition module to identify its own location information, the information of obstacles around the vehicle and the location information of the object to be cleaned, so that the unmanned sanitation vehicle can avoid obstacles and clean the object to be cleaned when it travels along the final generated target cleaning path.
[0043] S102. Determine the target path boundary when the unmanned sanitation vehicle cleans the area to be cleaned; the target path boundary is used to describe the boundary range when the unmanned sanitation vehicle travels in the area to be cleaned.
[0044] In one embodiment, the target path boundary is used to describe the boundary range of the unmanned sanitation vehicle when it travels along the area to be cleaned. It can be assumed that when the unmanned sanitation vehicle travels along the target path boundary, it can clean the area between the target path boundary and the boundary of the area to be cleaned. Furthermore, it can be assumed that the unmanned sanitation vehicle will not collide with obstacles when traveling along the target path boundary.
[0045] The target path boundary can be automatically generated by the unmanned sanitation vehicle based on manually input constraints. For example, these constraints could be a preset edge-hugging distance between the unmanned sanitation vehicle and the area boundary, and a collision distance with obstacles. The unmanned sanitation vehicle can determine the target path boundary in the area to be cleaned based on these constraints.
[0046] Specifically, in one embodiment, when the unmanned sanitation vehicle needs to generate the obstacle boundary of an obstacle in the area to be cleaned, it refers to... Figure 3 The unmanned sanitation vehicle can generate obstacle boundaries through S301-S303, as detailed below:
[0047] S301, Obtain information about obstacles.
[0048] S302. Calculate the collision distance between the unmanned sanitation vehicle and the obstacle based on the vehicle's outline and obstacle information.
[0049] S303. The line segment formed by the points in the area to be cleaned that are at intervals of collision distance with the obstacle is defined as the obstacle boundary.
[0050] In one embodiment, the information about the obstacle includes, but is not limited to, the obstacle's location and outline. This obstacle information can be obtained through the perception fusion and recognition module described above, which will not be described in detail here.
[0051] In one embodiment, the aforementioned vehicle body outline can be considered as the overall size outline of the unmanned sanitation vehicle. It is understood that when the unmanned sanitation vehicle is in motion, the vehicle body is typically prone to encountering obstacles. Therefore, the collision distance is usually calculated based on the vehicle body outline.
[0052] Specifically, because the vehicle body contour is usually an irregular structure, an unmanned sanitation vehicle can pre-set a reference position within the vehicle body. Then, the distance between the most outward-protruding part of the vehicle body contour and the reference position is determined as the numerical value corresponding to the vehicle body contour, i.e., the collision distance. The reference position can be the center point of the vehicle body. In this case, the collision distance can be understood as the radius of the circumcircle of the vehicle body contour.
[0053] It should be noted that the line segment formed by the points at the collision distance from the location information of the obstacle can be a straight line or a curve, and can be closed or open. In this embodiment, the structure of the driving boundary is not limited.
[0054] It's worth noting that the values corresponding to the vehicle's outline can be pre-set in the autonomous sanitation vehicle so that they can be acquired in real time. Typically, after determining the vehicle's outline, the autonomous sanitation vehicle can either set this outline as the collision distance or set the collision distance to a value greater than the vehicle's outline. Understandably, autonomous sanitation vehicles may experience vibrations during operation; if the vehicle's outline is set as the collision distance, collisions with obstacles are still possible. Therefore, to minimize the risk of collisions, the collision distance usually needs to be greater than the vehicle's outline.
[0055] Specifically, the generation of the aforementioned target path boundary needs to satisfy collision constraints, whereby the collision constraints are:
[0056] (x(t)-px) 2 +(y(t)-py) 2 ≥R 2
[0057] Where V(px, py) can be considered as the set of contour points of obstacles, and px, py are the positional information of a certain obstacle contour in the point set. x(t), y(t) are the positions of the unmanned sanitation vehicle at time t. The set of contour points of obstacles in the above positions can be the positions determined by the perception fusion and recognition module when identifying obstacles. The positions of the unmanned sanitation vehicle represented by x(t), y(t) can be the center coordinates of the two rear wheels of the unmanned sanitation vehicle, or the center coordinates of the vehicle body; there is no limitation on this. R is the radius of the circumscribed circle of the vehicle body contour.
[0058] It should be added that the obstacles mentioned above usually refer to fixed, static obstacles. When the obstacle is dynamic, the unmanned sanitation vehicle can usually warn or remove the dynamic obstacle by issuing a warning message. Therefore, obstacle avoidance is usually not necessary for dynamic obstacles.
[0059] In another embodiment, for the driving road in the area to be cleaned, each cleaning task in the unmanned sanitation vehicle may also include a preset edge distance; when the unmanned sanitation vehicle needs to generate the driving boundary of the driving road, refer to Figure 4 The unmanned sanitation vehicle can generate its driving boundary through S401-S402, as detailed below:
[0060] S401. Determine the boundaries of the area to be cleaned.
[0061] S402. The line segment formed by points in the area to be cleaned at a preset edge distance from the area boundary is determined as the driving boundary.
[0062] In one embodiment, the area boundary is typically determined simultaneously when the area to be cleaned is acquired. It is understood that, as explained in S101, when the unmanned sanitation vehicle generates a high-precision map, the area to be cleaned needs to be marked on the high-precision map. At this time, the area boundary is defined during the marking process.
[0063] The aforementioned preset edge-adhering distance is the distance between the unmanned sanitation vehicle and the area boundary during the cleaning process. This preset edge-adhering distance can be set according to actual conditions and is not limited. Based on this, when determining the area boundary, the unmanned sanitation vehicle can define the line segment formed by points at the preset edge-adhering distance from the area boundary as the driving boundary. This ensures that the subsequently planned target path boundary not only gets as close as possible to the area boundary to be cleaned, but also cleans objects near the area boundary.
[0064] For example, refer to Figure 2 , Figure 2The straight line represented by L1 can be considered as the boundary of the area to be cleaned, and the straight line represented by L2 can be considered as the target path boundary when the unmanned sanitation vehicle travels in the area to be cleaned. It can be assumed that when the unmanned sanitation vehicle travels along the target path boundary L2, the cleaning device of the unmanned sanitation vehicle can just clean the area between the straight lines L1 and L2.
[0065] In other embodiments, the aforementioned edge-fitting distance can also be applied to obstacle boundaries. That is, during process S302, the unmanned sanitation vehicle can add a preset edge-fitting distance to its vehicle body outline to generate a collision distance. Based on this, when the generated unmanned sanitation vehicle travels along the obstacle boundary, the distance between the vehicle body outline and the obstacle surface will be equal to the edge-fitting distance. The edge-fitting distance at this time refers to the distance between the vehicle body outline and the obstacle.
[0066] S103. Obtain the position of the object to be cleaned in the area to be cleaned.
[0067] S104. Based on the target path boundary, the desired cleaning path, and the location of the object to be cleaned, plan the target cleaning path for the unmanned sanitation vehicle.
[0068] In one embodiment, the position of the object to be cleaned can also be obtained by the perception fusion recognition module, which will not be described in detail.
[0069] In one embodiment, as shown in S104, when planning the target cleaning path, multiple factors are considered simultaneously, including the target path boundary, the desired cleaning path, and the position of the object to be cleaned. Based on this, in this embodiment, the unmanned sanitation vehicle first obtains the area to be cleaned in the cleaning task, and a pre-set desired cleaning path for that area. Then, within the area to be cleaned, the target path boundary that the unmanned sanitation vehicle can move along while cleaning it is determined, preventing collisions with objects outside the area to be cleaned. Next, based on the target path boundary, the desired cleaning path, and the position of the object to be cleaned in the area, the target cleaning path for the unmanned sanitation vehicle is planned. Therefore, when generating the target cleaning path, not only the actual environment (the position of the object to be cleaned) but also the pre-set desired cleaning path and the road boundary of the area to be cleaned are considered. Thus, when the unmanned sanitation vehicle performs the cleaning task along the generated target cleaning path, cleaning efficiency can be improved.
[0070] In one specific embodiment, the desired cleaning path typically includes a path endpoint, as referenced Figure 5 The unmanned sanitation vehicle can generate the target cleaning path through steps S501-S503 as follows. Details are as follows:
[0071] S501. Based on kinematic constraints, determine multiple travel paths for the unmanned sanitation vehicle to travel from its current location to the end of the path.
[0072] In one embodiment, S101 above is explained in terms of the path endpoint, and will not be described further. Kinematics is used to describe the motion of points, volumes (objects), and systems of volumes (groups of objects), without considering the forces causing the motion. Kinematics is often referred to as the "geometry of motion." In the field of kinematics, it first needs to describe the geometry of the system of volumes and declare the initial conditions for the position, velocity, and / or acceleration values of any known points within the system. Then, using geometric parameters, the position, velocity, and acceleration of the system of volumes at the next moment are determined. Kinematic constraints are used to constrain the aforementioned "geometry of motion" within a reasonably achievable range.
[0073] The kinematic constraints are as follows:
[0074]
[0075] in, The expression represents the derivative with respect to time; x(t) and y(t) are the positions of the unmanned sanitation vehicle at time t; v(t) represents the velocity of the unmanned sanitation vehicle along the longitudinal axis at time t. θ(t) represents the yaw angle of the unmanned sanitation vehicle at time t, specifically the yaw angle of the front wheels; θ(t) represents the heading angle of the unmanned sanitation vehicle at time t. Lw represents the wheelbase between the front and rear wheels of the unmanned sanitation vehicle; a(t) is the acceleration at time t; ω(t) represents the angular velocity of the unmanned sanitation vehicle at time t.
[0076] Specifically, for any given travel path, the unmanned sanitation vehicle can first acquire its current position, speed, wheelbase between the front and rear wheels, yaw angle of the front wheels, and heading angle at the current moment. Then, it repeats the following operations until the target position is the end point of the path: based on kinematic constraints, it calculates the current position, speed, wheelbase, yaw angle, and heading angle to determine at least one target position for the unmanned sanitation vehicle at the next moment. For any target position, it sets that target position as the new current position. During this process, the line segment formed by the new current position and the target positions at each moment is defined as the travel path.
[0077] Here, the current time can be considered as the time t mentioned above. The unmanned sanitation vehicle typically starts planning from the starting point of the desired cleaning path. That is, the starting point is the current position at the beginning, where the speed, wheelbase, yaw angle, and heading angle can all be predetermined. Based on this, the unmanned sanitation vehicle can progressively plan its target position for the next time step by step according to the above parameters and kinematic constraints, thereby gradually generating a driving path.
[0078] Specifically, refer to Figure 6 , Figure 6 This is a schematic diagram illustrating an application scenario of a driving path generated in a path planning method provided in an embodiment of this application. Figure 6 Only four time points are planned: the current time at the current position, the next time t1, the next time t2 after t1, and the time after t2, which is the time when the unmanned sanitation vehicle arrives at the end of the path. The current position can be considered as the starting point of the path, or as the position of the unmanned sanitation vehicle at the current time during the planning of the driving path.
[0079] Reference Figure 6 It can be seen that when planning the target position for the next moment based on the aforementioned kinematics at the current position, the unmanned sanitation vehicle may reach multiple target positions from 1 to n at time t1. Then, for each target position at time t1, using that target position as the new current position, the possible target positions that the unmanned sanitation vehicle may reach at time t2 are redefined. For example, using target position 1 at time t1 as the new current position, the possible positions that the unmanned sanitation vehicle may reach at the next moment t2 while moving from target position 1 are determined according to the aforementioned kinematic constraints; for example, it may reach multiple target positions from 1 to m. Similarly, for target position 2 at time t1, the possible positions that the unmanned sanitation vehicle may reach at the next moment t2 while moving from target position 2 are also determined according to the aforementioned kinematic constraints. This operation is repeated for each target position at each current moment until the target position is the path endpoint. Finally, the new current position (path endpoint) and the target positions at each moment are connected sequentially to generate the corresponding driving path.
[0080] S502. Calculate the cost of each travel path based on the target path boundary, the desired cleaning path, and the position of the object to be cleaned.
[0081] In one embodiment, the aforementioned cost value describes the usage cost required for the unmanned sanitation vehicle to perform the cleaning task along the travel path. This cost value can be calculated by considering multiple factors, such as the target path boundary, the desired cleaning path, and the location of the object to be cleaned. It can also be calculated by considering the travel time of the unmanned sanitation vehicle along the travel path, or other factors; there is no limitation on this.
[0082] Specifically, refer to Figure 7 The cost of each travel path for the unmanned sanitation vehicle can be calculated through the following steps S701-S706. Details are as follows:
[0083] S701. For any given driving route, calculate the driving time of the unmanned sanitation vehicle based on the driving distance of the route and the preset driving speed of the unmanned sanitation vehicle; the driving time includes multiple driving moments.
[0084] It should be noted that the travel time typically does not include the processing time of the unmanned sanitation vehicle when handling the objects to be cleaned. Generally, the processing time of the unmanned sanitation vehicle when handling the objects to be cleaned should be consistent across all travel routes. Therefore, in this embodiment, only the travel time of the unmanned sanitation vehicle on that particular route needs to be considered.
[0085] Understandably, because the travel distance for each route is typically different, and the preset speed can be set by staff based on actual conditions, the travel time for each route is usually different. The travel time can be expressed in terms of F... 1z =tf is used for representation. Where, F... 1z Let represent the travel time of the z-th travel route. tf represents the set of all travel times included in the travel time.
[0086] In another embodiment, the aforementioned travel time can also be calculated from the starting point to the ending point of the path during the process of generating the travel path by the unmanned sanitation vehicle, and there is no limitation on this.
[0087] S702. Determine the location of the unmanned sanitation vehicle on its driving path at each driving time.
[0088] S703. Based on the expected driving position of the unmanned sanitation vehicle in the expected cleaning path at each driving time, calculate the path deviation value between the unmanned sanitation vehicle and the expected cleaning path when the unmanned sanitation vehicle travels along the driving path.
[0089] In one embodiment, the driving position of the unmanned sanitation vehicle on the driving path at each driving time can be specifically referred to in the description of generating the driving path in S502 and S503. Specifically, the aforementioned driving time refers to the time mentioned in S502, and the driving position refers to the new current position and the target position at each time in S503, which will not be described further.
[0090] Since the desired cleaning path is a pre-set path, the unmanned sanitation vehicle can directly determine its desired driving position at each driving moment when it travels along the desired cleaning path based on the preset driving speed.
[0091] Then, the unmanned sanitation vehicle can calculate the path deviation from the desired cleaning path as it travels along the designated path using the following formula:
[0092]
[0093] Among them, F 2z Let be the path deviation value corresponding to the z-th driving path; m(t) and n(t) are the expected driving positions at driving time t, respectively.
[0094] It should be noted that the travel time of the unmanned sanitation vehicle on the desired route may differ from the actual travel time on that route. That is, the travel time on the desired route may be greater or less than the actual travel time on that route. Therefore, when the travel time on the desired route is greater than the actual travel time on that route, the unmanned sanitation vehicle will reach the destination earlier. For example, the unmanned sanitation vehicle may reach the destination at travel time *ta*. However, *tf* also includes travel times after *ta*. Therefore, in this case, the unmanned sanitation vehicle can include its desired travel position at travel times after *ta* in the above calculations, using the destination position as a reference.
[0095] Correspondingly, when the expected travel time of the route is less than the travel time of the unmanned sanitation vehicle on that route, that is, when the unmanned sanitation vehicle travels along that route, it will reach the end of the route earlier. Based on this, the unmanned sanitation vehicle can calculate the above-mentioned path deviation value only based on the expected travel position within the time interval from 0 to tf.
[0096] S704. Based on the position of the unmanned sanitation vehicle in the driving path at each driving time and the position of the object to be cleaned, calculate the first interval distance between the unmanned sanitation vehicle and the object to be cleaned when the unmanned sanitation vehicle travels along the driving path.
[0097] In one embodiment, when calculating the first interval distance with respect to the object to be cleaned, the sum of the shortest interval distances between each driving position and each object to be cleaned should be calculated to obtain the final first interval distance.
[0098] For example, if there are multiple objects to be cleaned, for any object, the first interval distance can be calculated by determining the interval distance between the vehicle's position and the object at each travel time. The shortest interval distance is then determined as the first interval distance between the vehicle and the object. The same method is used to calculate the first interval distances for other objects. Finally, the sum of these first interval distances yields the final first interval distance between the unmanned sanitation vehicle and each object as it travels along the path.
[0099] It should be noted that since unmanned sanitation vehicles typically approach the object to be cleaned before cleaning it, setting the shortest interval distance as the first interval distance better takes into account the factors of the object in the actual environment. In other words, this ensures that the final generated cleaning path can travel closer to the location of the object to be cleaned.
[0100] The unmanned sanitation vehicle can calculate the first interval distance between itself and the object to be cleaned as it travels along its path using the following formula:
[0101]
[0102] Among them, F 3z Let qx and qy be the positions of the qth objects to be cleaned, and x(q) and y(q) be the driving positions with the shortest interval distance from the qth objects to be cleaned, respectively; Q is the set of positions of the objects to be cleaned.
[0103] In another embodiment, when calculating the first interval distance, the unmanned sanitation vehicle can also directly calculate the interval distance between the driving position in the driving path at each driving time and the position of each object to be cleaned, and then determine the final first interval distance by combining the multiple interval distances.
[0104] Specifically, the unmanned sanitation vehicle can also calculate the first interval distance between itself and the object to be cleaned as it travels along its path using the following formula:
[0105]
[0106] Where Q is the set of locations of objects to be cleaned, and Qx and Qy are the locations of each object to be cleaned in the set, respectively.
[0107] At this point, during the calculation process according to the above formula, for any given travel time, the interval distance between that travel position and each object to be cleaned is calculated. Then, all interval distances between each travel position and each object to be cleaned at all travel times are summed to obtain the final first interval distance.
[0108] S705. Based on the unmanned sanitation vehicle's position on the driving path and the target path boundary at each driving time, calculate the second interval distance between the unmanned sanitation vehicle and the target path boundary when the unmanned sanitation vehicle is driving along the driving path.
[0109] In one embodiment, when calculating the second interval distance, the interval distances between the driving position of the unmanned sanitation vehicle and the target path boundary at each driving moment should be summed. Specifically, calculating the interval distance between the driving position of the unmanned sanitation vehicle and the target path boundary at each driving moment can be considered as calculating the distance between a point (driving position) and a line (target path boundary). This calculation method can use the Euclidean distance formula or other formulas; there is no limitation on the specific method.
[0110] Specifically, the unmanned sanitation vehicle can calculate the second interval distance between itself and the target path boundary as it travels along the driving path using the following formula:
[0111]
[0112] Here, Cx and Cy represent the positions of the path boundaries. Typically, when determining the distance between the driving position and the path boundary at time t, the boundary should be treated as a line segment, and the perpendicular distance between the driving position and the line segment should be calculated. In this case, the position of the foot of the perpendicular from the driving position to the line segment is the aforementioned Cx and Cy.
[0113] S706. Calculate the cost based on the travel time, path deviation value, first interval distance, and second interval distance.
[0114] In one embodiment, the unmanned sanitation vehicle can determine its cost by the weighted sum of travel time, path deviation value, first interval distance, and second interval distance. The weight values corresponding to travel time, path deviation value, first interval distance, and second interval distance can be pre-set in the cleaning task. That is, the weight values of travel time, path deviation value, first interval distance, and second interval distance may be different in different cleaning tasks.
[0115] Specifically, the formula for calculating the cost value can be:
[0116] Fz=w1*F 1z +w2*F 2z +w3*F 3z +w4*F 4z
[0117] Where Fz is the cost of the z-th travel path; w1, w2, w3 and w4 are the weight values corresponding to the travel time, path deviation, first interval distance and second interval distance, respectively.
[0118] S503. The driving path corresponding to the minimum cost is determined as the target cleaning path.
[0119] In one embodiment, after obtaining the cost of each travel path, the unmanned sanitation vehicle can determine the travel path corresponding to the minimum cost as the target cleaning path. Based on this, since the final determined target cleaning path comprehensively considers multiple factors such as travel time, path deviation value, first interval distance, and second interval distance, the unmanned sanitation vehicle can improve cleaning efficiency when performing cleaning tasks along the generated target cleaning path.
[0120] Please see Figure 8 , Figure 8 This is a structural block diagram of a path planning device provided in an embodiment of this application. The path planning device in this embodiment includes modules for performing... Figures 1 to 4 The steps in the corresponding embodiments. Please refer to the details. Figures 1 to 4 as well as Figures 1 to 4 The relevant descriptions in the corresponding embodiments are shown below. For ease of explanation, only the parts relevant to this embodiment are shown. See also... Figure 8 The path planning device 800 may include: a cleaning task acquisition module 810, a determination module 820, a location acquisition module 830, and a planning module 840, wherein:
[0121] The cleaning task acquisition module 810 is used to acquire cleaning tasks; the cleaning tasks include the area to be cleaned and the expected cleaning path for the unmanned sanitation vehicle to clean the area to be cleaned.
[0122] The determination module 820 is used to determine the target path boundary when the unmanned sanitation vehicle cleans the area to be cleaned; the target path boundary is used to describe the boundary range when the unmanned sanitation vehicle travels in the area to be cleaned.
[0123] The location acquisition module 830 is used to acquire the location of the object to be cleaned in the area to be cleaned.
[0124] The planning module 840 is used to plan the target cleaning path of the unmanned sanitation vehicle based on the target path boundary, the desired cleaning path, and the position of the object to be cleaned.
[0125] In one embodiment, the area to be cleaned also includes obstacles; the target path boundary includes the obstacle boundary; the determining module 820 is further configured to:
[0126] Obtain information about obstacles; calculate the collision distance between the unmanned sanitation vehicle and the obstacles based on the vehicle's outline and the obstacle information; define the line segment formed by the points in the area to be cleaned that are at the collision distance from the obstacles as the obstacle boundary.
[0127] In one embodiment, the cleaning task further includes a preset edge-fitting distance; the target path boundary includes a driving boundary; the determination module 820 is also used for:
[0128] Determine the boundary of the area to be cleaned; define the line segment formed by points in the area to be cleaned that are at a preset edge distance from the boundary as the driving boundary.
[0129] In one embodiment, the desired cleaning path includes a path endpoint; the planning module 840 is further configured to:
[0130] Based on kinematic constraints, multiple travel paths for the unmanned sanitation vehicle to travel from its current location to the end of the path are determined; based on the target path boundary, the desired cleaning path, and the position of the object to be cleaned, the cost of each travel path is calculated; the travel path corresponding to the minimum cost is determined as the target cleaning path.
[0131] In one embodiment, the planning module 840 is further configured to:
[0132] Obtain the speed of the unmanned sanitation vehicle at its current position, the wheelbase between the front and rear wheels, the yaw angle of the front wheels, and the heading angle of the unmanned sanitation vehicle; repeat the following operations until the target position is the end point of the path: calculate the current position, speed, wheelbase, yaw angle, and heading angle according to kinematic constraints to determine at least one target position of the unmanned sanitation vehicle at the next moment, and for any target position, set the target position as the new current position; generate a driving path based on the new current position and the target positions at each moment.
[0133] In one embodiment, the planning module 840 is further configured to:
[0134] For any given travel path, the travel time of the unmanned sanitation vehicle is calculated based on the travel distance and the preset speed of the unmanned sanitation vehicle. The travel time includes multiple travel moments. The travel position of the unmanned sanitation vehicle in the travel path at each travel moment is determined. Based on the expected travel position of the unmanned sanitation vehicle in the expected cleaning path at each travel moment, the path deviation value between the unmanned sanitation vehicle and the expected cleaning path is calculated. Based on the travel position of the unmanned sanitation vehicle in the travel path at each travel moment and the position of the object to be cleaned, the first interval distance between the unmanned sanitation vehicle and the object to be cleaned is calculated. Based on the travel position of the unmanned sanitation vehicle in the travel path at each travel moment and the target path boundary, the second interval distance between the unmanned sanitation vehicle and the target path boundary is calculated. The cost is calculated based on the travel time, path deviation value, first interval distance, and second interval distance.
[0135] In one embodiment, the planning module 840 is further configured to:
[0136] The weighted sum of travel time, path deviation, first interval distance, and second interval distance is determined as the cost.
[0137] When it is understood that, Figure 8 In the structural block diagram of the path planning device shown, each module is used to perform... Figures 1 to 4 The steps in the corresponding embodiments, and for Figures 1 to 4 The steps in the corresponding embodiments have been explained in detail in the above embodiments. Please refer to them for details. Figures 1 to 4 as well as Figures 1 to 4 The relevant descriptions in the corresponding embodiments will not be repeated here.
[0138] Figure 9 This is a structural block diagram of an unmanned sanitation vehicle provided in one embodiment of this application. Figure 9 As shown, the unmanned sanitation vehicle 900 of this embodiment includes: a processor 910, a memory 920, and a computer program 930 stored in the memory 920 and executable by the processor 910, such as a path planning method program. When the processor 910 executes the computer program 930, it implements the steps of the various embodiments of the path planning methods described above, for example... Figure 1 S101 to S104 are shown. Alternatively, the processor 910 implements the above when executing the computer program 930. Figure 8 The functions of each module in the corresponding embodiments, for example, Figure 8 For details on the functions of modules 810 to 840 shown, please refer to [link / reference]. Figure 8 The relevant descriptions in the corresponding embodiments.
[0139] For example, the computer program 930 can be divided into one or more modules, one or more of which are stored in the memory 920 and executed by the processor 910 to implement the path planning method provided in the embodiments of this application. One or more modules can be a series of computer program instruction segments capable of performing specific functions, which describe the execution process of the computer program 930 in the unmanned sanitation vehicle 900. For example, the computer program 930 can implement the path planning method provided in the embodiments of this application.
[0140] The unmanned sanitation vehicle 900 may include, but is not limited to, a processor 910 and a memory 920. Those skilled in the art will understand that... Figure 9 This is merely an example of the unmanned sanitation vehicle 900 and does not constitute a limitation on the unmanned sanitation vehicle 900. It may include more or fewer components than shown in the figure, or combine certain components, or different components. For example, the unmanned sanitation vehicle may also include input / output devices, network access devices, buses, etc.
[0141] The processor 910 may be a central processing unit, or it may be other general-purpose processors, digital signal processors, application-specific integrated circuits, off-the-shelf programmable gate arrays or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc.
[0142] The memory 920 can be an internal storage unit of the unmanned sanitation vehicle 900, such as the hard drive or memory of the unmanned sanitation vehicle 900. The memory 920 can also be an external storage device of the unmanned sanitation vehicle 900, such as a plug-in hard drive, smart memory card, flash memory card, etc., equipped on the unmanned sanitation vehicle 900. Furthermore, the memory 920 can include both internal storage units and external storage devices of the unmanned sanitation vehicle 900.
[0143] This application provides a computer-readable storage medium, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the path planning method as described in the above embodiments.
[0144] This application provides a computer program product that, when run on an unmanned sanitation vehicle, causes the unmanned sanitation vehicle to execute the path planning methods described in the above embodiments.
[0145] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.
Claims
1. A path planning method, characterized in that, Applied to unmanned sanitation vehicles, the method includes: Obtain a cleaning task; the cleaning task includes the area to be cleaned and the expected cleaning path of the unmanned sanitation vehicle to clean the area to be cleaned; the expected cleaning path includes the destination of the path; Determine the target path boundary when the unmanned sanitation vehicle cleans the area to be cleaned; the target path boundary is used to describe the boundary range when the unmanned sanitation vehicle travels in the area to be cleaned. Obtain the position of the object to be cleaned in the area to be cleaned; Based on the target path boundary, the desired cleaning path, and the position of the object to be cleaned, the target cleaning path of the unmanned sanitation vehicle is planned. The step of planning the target cleaning path of the unmanned sanitation vehicle based on the target path boundary, the desired cleaning path, and the position of the object to be cleaned includes: Based on kinematic constraints, multiple travel paths are determined for the unmanned sanitation vehicle to travel from its current location to the end of the path. The cost of each travel path is calculated based on the target path boundary, the desired cleaning path, and the position of the object to be cleaned. The driving path corresponding to the minimum cost value is determined as the target cleaning path; The step of calculating the cost of each travel path based on the target path boundary, the desired cleaning path, and the position of the object to be cleaned includes: For any of the aforementioned driving routes, the driving time of the unmanned sanitation vehicle is calculated based on the driving distance of the driving route and the preset driving speed of the unmanned sanitation vehicle; the driving time includes multiple driving moments. Determine the driving position of the unmanned sanitation vehicle on the driving path at each driving time; Based on the expected driving position of the unmanned sanitation vehicle in the expected cleaning path at each driving time, calculate the path deviation value between the unmanned sanitation vehicle and the expected cleaning path when the vehicle travels along the driving path. Based on the position of the unmanned sanitation vehicle in the driving path at each driving time and the position of the object to be cleaned, calculate the first interval distance between the unmanned sanitation vehicle and the object to be cleaned when the unmanned sanitation vehicle travels along the driving path. Based on the unmanned sanitation vehicle's position on the driving path at each driving time and the target path boundary, calculate the second interval distance between the unmanned sanitation vehicle and the target path boundary when the unmanned sanitation vehicle is traveling along the driving path. The cost is calculated based on the travel time, the path deviation value, the first interval distance, and the second interval distance.
2. The method according to claim 1, characterized in that, The area to be cleaned also includes obstacles; The target path boundary includes the obstacle boundary; Determining the target path boundary when the unmanned sanitation vehicle cleans the area to be cleaned includes: Obtain information about the obstacle; Based on the vehicle outline of the unmanned sanitation vehicle and the information of the obstacle, calculate the collision distance between the unmanned sanitation vehicle and the obstacle; The line segment formed by the points in the area to be cleaned that are separated from the obstacle by the collision distance is defined as the boundary of the obstacle.
3. The method according to claim 1, characterized in that, The cleaning task also includes a preset edge distance; the target path boundary includes a driving boundary; determining the target path boundary when the unmanned sanitation vehicle cleans the area to be cleaned also includes: Determine the area boundaries of the area to be cleaned; The line segment formed by points in the area to be cleaned that are spaced from the boundary of the area by the preset edge distance is defined as the driving boundary.
4. The method according to claim 1, characterized in that, The determination of multiple travel paths for the unmanned sanitation vehicle to travel from its current location to the end of the path includes: The speed of the unmanned sanitation vehicle at its current position, the wheelbase between the front and rear wheels of the unmanned sanitation vehicle, the deflection angle of the front wheels, and the heading angle of the unmanned sanitation vehicle are obtained. Repeat the following operations until the target position is the end point of the path: calculate the current position, the speed, the wheelbase, the yaw angle and the heading angle according to the kinematic constraints, determine at least one target position of the unmanned sanitation vehicle at the next moment, and for any target position, determine the target position as the new current position; The driving path is generated based on the new current position and the target position at each time point.
5. The method according to claim 1, characterized in that, The step of calculating the cost value based on the travel time, the path deviation value, the first interval distance, and the second interval distance includes: The weighted sum of the travel time, the path deviation value, the first interval distance, and the second interval distance is determined as the cost value.
6. A path planning device, characterized in that, The device, applied to unmanned sanitation vehicles, includes: The cleaning task acquisition module is used to acquire cleaning tasks; the cleaning task includes the area to be cleaned and the expected cleaning path of the unmanned sanitation vehicle to clean the area to be cleaned; the expected cleaning path includes the path endpoint; The determination module is used to determine the target path boundary when the unmanned sanitation vehicle cleans the area to be cleaned; the target path boundary is used to describe the boundary range when the unmanned sanitation vehicle travels in the area to be cleaned. The location acquisition module is used to acquire the location of the object to be cleaned in the area to be cleaned; The planning module is used to plan the target cleaning path of the unmanned sanitation vehicle based on the target path boundary, the desired cleaning path, and the position of the object to be cleaned. The planning module is also used for: Based on kinematic constraints, multiple travel paths are determined for the unmanned sanitation vehicle to travel from its current location to the end of the path. The cost of each travel path is calculated based on the target path boundary, the desired cleaning path, and the position of the object to be cleaned. The driving path corresponding to the minimum cost value is determined as the target cleaning path; The planning module is also used for: For any of the aforementioned driving routes, the driving time of the unmanned sanitation vehicle is calculated based on the driving distance of the driving route and the preset driving speed of the unmanned sanitation vehicle; the driving time includes multiple driving moments. Determine the driving position of the unmanned sanitation vehicle on the driving path at each driving time; Based on the expected driving position of the unmanned sanitation vehicle in the expected cleaning path at each driving time, calculate the path deviation value between the unmanned sanitation vehicle and the expected cleaning path when the vehicle travels along the driving path. Based on the position of the unmanned sanitation vehicle in the driving path at each driving time and the position of the object to be cleaned, calculate the first interval distance between the unmanned sanitation vehicle and the object to be cleaned when the unmanned sanitation vehicle travels along the driving path. Based on the unmanned sanitation vehicle's position on the driving path at each driving time and the target path boundary, calculate the second interval distance between the unmanned sanitation vehicle and the target path boundary when the unmanned sanitation vehicle is traveling along the driving path. The cost is calculated based on the travel time, the path deviation value, the first interval distance, and the second interval distance.
7. An unmanned sanitation vehicle, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method as described in any one of claims 1 to 5.
8. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Driving control method and device of sweeping robot and sweeping robot
CN108107886A
Collision distance determination method and system, vehicle and storage medium
CN111309013A
Cleaning track determination method and device and automatic cleaning equipment
CN113050633A
Unmanned vehicle path planning method, client and server
CN113063430A