A control method and device for unmanned equipment
By acquiring and analyzing data of obstacles around unmanned equipment, determining the projected trajectory of obstacles in the initial planning trajectory and adjusting the planning trajectory, the problem that unmanned equipment cannot determine the impact of obstacles in curves is solved, and the safety of the actual planning trajectory is improved.
Patent Information
- Application Number
- CN202210220385.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-08
- Publication Date
- 2025-04-01
- Estimated Expiration
- 2042-03-08
AI Technical Summary
Unmanned equipment cannot determine which part of the preset planning trajectory is affected by the unmanned equipment in the bend, resulting in a reduced safety of the actual planning trajectory.
By obtaining data on obstacles around unmanned equipment, determine the trajectory covered by the projection of each obstacle in the initial planning trajectory, adjust the initial planning trajectory to form the actual planning trajectory, and control the driving of unmanned equipment according to the actual planning trajectory.
The safety of the actual planning trajectory of unmanned equipment is improved, and the ability to judge and avoid the impact of obstacles is enhanced by considering the multiple interactions between unmanned equipment and obstacles.
Smart Images

Figure CN114721372B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of unmanned driving technology, and more particularly to a control method and device for unmanned equipment. Background Art
[0002] With the continuous development of unmanned driving technology, unmanned equipment such as unmanned vehicles, unmanned controlled robots, and drones have been applied to many fields, bringing great convenience to business execution in these fields.
[0003] At present, when unmanned equipment is driving along a pre-set planned trajectory, the collected environmental data can be used to determine the part of the pre-set planned trajectory of the unmanned equipment that is affected by various obstacles. However, when the unmanned equipment is on a curve, the unmanned equipment cannot determine which part of the pre-set planned trajectory of the unmanned equipment will be affected by various obstacles, which reduces the safety of the actual planned trajectory of the unmanned equipment.
[0004] Therefore, how to improve the safety of the actual planned trajectory of unmanned equipment is an urgent problem to be solved. Summary of the invention
[0005] This specification provides a control method and device for unmanned equipment, a computer-readable storage medium and unmanned equipment to partially solve the above-mentioned problems existing in the prior art.
[0006] This manual adopts the following technical solutions:
[0007] This specification provides a control method for unmanned equipment, which is applied to the field of unmanned driving, including:
[0008] Obtain obstacle data of obstacles around unmanned equipment;
[0009] For each obstacle, according to the obstacle data corresponding to the obstacle, determine at least one segment of the trajectory covered by the projection corresponding to the obstacle in the initial planned trajectory of the unmanned equipment as the projection trajectory corresponding to the obstacle;
[0010] According to the projection trajectory corresponding to each obstacle, the initial planned trajectory is adjusted to obtain the actual planned trajectory of the unmanned equipment, and the unmanned equipment is controlled to travel according to the actual planned trajectory.
[0011] Optionally, for each obstacle, according to obstacle data corresponding to the obstacle, determining at least one segment of a trajectory covered by a projection corresponding to the obstacle in the initial planned trajectory of the unmanned equipment as the projection trajectory corresponding to the obstacle specifically includes:
[0012] For each obstacle, determine the positions of each vertex corresponding to the outer contour of the obstacle according to the obstacle data corresponding to the obstacle;
[0013] Determine, according to obstacle data corresponding to the obstacle and the initial planned trajectory corresponding to the unmanned equipment, the projection position of each vertex position corresponding to the obstacle on the initial planned trajectory;
[0014] According to the projection positions of the vertex positions corresponding to the obstacle on the initial planned trajectory, at least one segment of the trajectory covered by the projection corresponding to the obstacle in the initial planned trajectory of the unmanned equipment is determined as the projection trajectory corresponding to the obstacle.
[0015] Optionally, according to the projection positions of the vertex positions corresponding to the obstacle on the initial planned trajectory, determining at least one segment of the trajectory covered by the projection corresponding to the obstacle in the initial planned trajectory of the unmanned equipment as the projection trajectory corresponding to the obstacle, specifically includes:
[0016] For each vertex position corresponding to the obstacle, determining, according to at least one projection position of the vertex position on the initial planned trajectory, a distance between the vertex position and at least one projection position corresponding to the vertex position;
[0017] Determine the projection position to be combined corresponding to the vertex position according to the distance between the vertex position and at least one projection position corresponding to the vertex position;
[0018] According to the projection positions to be combined corresponding to the vertex positions of the obstacle, at least one section of the planned trajectory covered by the projection of the obstacle on the initial planned trajectory is determined as the projection trajectory corresponding to the obstacle.
[0019] Optionally, according to the projection positions to be combined corresponding to the vertex positions of the obstacle, determining at least one section of the planned trajectory covered by the projection of the obstacle on the initial planned trajectory as the projection trajectory corresponding to the obstacle, specifically includes:
[0020] For each vertex position of the obstacle, according to the projection position to be combined corresponding to the vertex position, determine the projection position to be combined corresponding to other vertex positions that are closest to the projection position to be combined corresponding to the vertex position;
[0021] According to the projection positions to be combined corresponding to other vertex positions that are closest to the projection position to be combined corresponding to the vertex position, and the projection position to be combined corresponding to the vertex position, at least one section of the planned trajectory covered by the obstacle projection on the initial planned trajectory is determined as the projection trajectory corresponding to the obstacle.
[0022] Optionally, the initial planned trajectory includes a turning trajectory, and there is at least one obstacle around the unmanned equipment located on the inner side of the turning direction of the unmanned equipment;
[0023] Determining the projection position to be combined corresponding to the vertex position according to the distance between the vertex position and at least one projection position corresponding to the vertex position specifically includes:
[0024] Sort the distance between the vertex position and at least one projection position corresponding to the vertex position from near to far according to the initial planning trajectory to obtain a distance sorting result;
[0025] According to the distance sorting result, the projection position whose distance with the vertex position is smaller than the distance between the projection position with the adjacent serial number and the vertex position is used as the projection position to be combined corresponding to the vertex position, and the projection position whose distance with the vertex position is larger than the distance between the projection position with the adjacent serial number and the vertex position is used as the dividing point.
[0026] Optionally, according to the projection positions to be combined corresponding to the vertex positions of the obstacle, determining at least one section of the planned trajectory covered by the projection of the obstacle on the initial planned trajectory as the projection trajectory corresponding to the obstacle, specifically includes:
[0027] For each vertex position of the obstacle, based on the division point, the initial planned trajectory is divided to obtain a plurality of segments of planned trajectories as segmented trajectories;
[0028] For each segmented trajectory, according to the projection positions to be combined corresponding to the vertex positions of the obstacle, the planned trajectory covered by the obstacle projected on the segmented trajectory is determined as the projection trajectory corresponding to the obstacle.
[0029] Optionally, adjusting the initial planned trajectory according to the projection trajectory corresponding to each obstacle to obtain the actual planned trajectory of the unmanned device, and controlling the unmanned device to travel according to the actual planned trajectory, specifically includes:
[0030] Determine the distance between the obstacle corresponding to each projection trajectory and the initial planned trajectory of the unmanned equipment;
[0031] For each projection trajectory, according to the projection trajectory corresponding to each obstacle, a projection trajectory whose distance from the obstacle corresponding to the projection trajectory to the initial planned trajectory of the unmanned equipment is less than a set distance threshold is taken as a valid projection trajectory;
[0032] According to the effective projection trajectory, the initial planned trajectory is adjusted to obtain the actual planned trajectory of the unmanned equipment, and according to the actual planned trajectory, the unmanned equipment is controlled to travel.
[0033] This specification provides a control device for unmanned equipment, which is applied to the field of unmanned driving, including:
[0034] An acquisition module is used to acquire obstacle data of obstacles around the unmanned equipment;
[0035] A determination module, configured to determine, for each obstacle, at least one segment of a trajectory covered by a projection corresponding to the obstacle in the initial planned trajectory of the unmanned equipment according to obstacle data corresponding to the obstacle, as a projection trajectory corresponding to the obstacle;
[0036] The control module is used to adjust the initial planned trajectory according to the projection trajectory corresponding to each obstacle, obtain the actual planned trajectory of the unmanned equipment, and control the unmanned equipment to travel according to the actual planned trajectory.
[0037] This specification provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the control method of the unmanned equipment described above is implemented.
[0038] The present specification provides an unmanned device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the control method of the unmanned device described above is implemented when the processor executes the program.
[0039] At least one of the above technical solutions adopted in this specification can achieve the following beneficial effects:
[0040] In the control method of the unmanned equipment provided in this specification, first, the obstacle data of the obstacles around the unmanned equipment is obtained. Secondly, for each obstacle, according to the obstacle data corresponding to the obstacle, at least one section of the trajectory covered by the projection corresponding to the obstacle in the initial planning trajectory of the unmanned equipment is determined as the projection trajectory corresponding to the obstacle. Finally, according to the projection trajectory corresponding to each obstacle, the initial planning trajectory is adjusted to obtain the actual planning trajectory of the unmanned equipment, and the unmanned equipment is controlled to drive according to the actual planning trajectory.
[0041] It can be seen from the above method that this method can determine at least one track covered by the projection corresponding to the obstacle in the initial planning trajectory of the unmanned device based on the obstacle data corresponding to the obstacle. In the prior art, only the track covered by the projection closest to the planned trajectory can be determined. Therefore, this method can determine which part of the initial planning trajectory of the unmanned device each obstacle will affect based on the multiple tracks covered by the projection corresponding to the obstacle in the initial planning trajectory of the unmanned device, taking into account the multiple interactions between the unmanned device and the obstacle in the initial planning trajectory, thereby improving the safety of the actual planning trajectory of the unmanned device. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] The drawings described herein are used to provide a further understanding of this specification and constitute a part of this specification. The illustrative embodiments and descriptions of this specification are used to explain this specification and do not constitute an improper limitation on this specification. In the drawings:
[0043] Figure 1 A flowchart of a control method for an unmanned device in this specification;
[0044] Figure 2 A schematic diagram of a projection method provided in this specification;
[0045] Figure 3 A schematic diagram of a method for determining a projection position provided in this specification;
[0046] Figure 4 A schematic diagram of a method for determining a projection trajectory provided in this specification;
[0047] Figure 5 A schematic diagram of a method for determining a projection trajectory provided in this specification;
[0048] Figure 6 A schematic diagram of a control device for unmanned equipment provided in this manual;
[0049] Figure 7 The corresponding Figure 1 Schematic diagram of unmanned equipment. DETAILED DESCRIPTION
[0050] In order to make the purpose, technical solutions and advantages of this specification more clear, the technical solutions of this specification will be clearly and completely described below in combination with the specific embodiments of this specification and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of this specification, not all of them. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this specification.
[0051] Figure 1 The following is a flow chart of a control method for an unmanned device in this specification, which specifically includes the following steps:
[0052] S100: Obtain obstacle data of obstacles around the unmanned equipment.
[0053] The execution subject of the control method of the unmanned equipment involved in this specification can be the unmanned equipment, or it can be an electronic device such as a server installed on the unmanned equipment. For the sake of ease of description, the control method of the unmanned equipment provided in this specification is described below using the unmanned equipment as the execution subject.
[0054] In the embodiments of this specification, the unmanned device can obtain obstacle data of obstacles around itself. The obstacle data mentioned here may refer to point cloud data or image data. The point cloud data mentioned here may be obtained by a laser radar set on the unmanned device. The unmanned device can determine the motion data of obstacles around itself at various times through point cloud data, such as the position data of the obstacle, the shape data corresponding to the obstacle, and the speed data of the obstacle. The image data mentioned here may be obtained by a camera device set on the unmanned device. The unmanned device can determine the motion data of obstacles around itself at various times through image data, such as the position data of the obstacle, the shape data corresponding to the obstacle, and the speed data of the obstacle.
[0055] The unmanned equipment mentioned in this specification may refer to equipment that can realize automatic driving, such as drones, unmanned vehicles, robots, and automatic delivery equipment. Based on this, the unmanned equipment using the control method of the unmanned equipment provided in this specification can be used to perform delivery tasks in the delivery field, such as using unmanned equipment for delivery business scenarios such as express delivery, logistics, and takeout.
[0056] S102: For each obstacle, according to obstacle data corresponding to the obstacle, determine at least one segment of the trajectory covered by the projection corresponding to the obstacle in the initial planned trajectory of the unmanned equipment as the projection trajectory corresponding to the obstacle.
[0057] In the embodiments of this specification, the unmanned device plans its own trajectory using the Frenet coordinate system. In the Frenet coordinate system, the center line of the road is used as the reference line, and a coordinate system is established using the tangent vector and normal vector of the reference line. With the unmanned device itself as the origin, the coordinate axes are perpendicular to each other and are divided into the X direction (i.e., the direction along the reference line) and the Y direction (i.e., the current normal direction of the reference line).
[0058] In other words, the Frenet coordinate system can transform a curved road in reality into a straight road that is easier to understand, so as to determine the distance traveled by the unmanned equipment on the road and the distance the unmanned equipment deviates from the center line of the road.
[0059] Since the unmanned equipment may interact with the same obstacle multiple times during driving, the current projection method can usually only determine the minimum distance between the obstacle and the planned trajectory of the unmanned equipment, so as to determine the projection trajectory of the obstacle on the planned trajectory of the unmanned equipment. Therefore, the projection method can only consider the projection trajectory of the obstacle closest to the planned trajectory of the unmanned equipment. Figure 2 shown.
[0060] Figure 2 A schematic diagram of a projection method provided in this specification.
[0061] exist Figure 2 In the figure, the planned trajectory of the unmanned equipment is a solid black line, and the unmanned equipment needs to travel in the direction of the arrow to make a circle. However, since this projection method can only consider the projection trajectory of the obstacle closest to the planned trajectory of the unmanned equipment, Figure 2 It can be seen that the projection trajectory of the obstacle onto the planned trajectory of the unmanned equipment cannot affect the subsequent driving process of the unmanned equipment, thus causing the unmanned equipment to be unable to plan a planned trajectory that avoids collision with obstacles.
[0062] It should be noted that in Figure 2 The coordinate system used in the algorithm is the Cartesian coordinate system, which can intuitively show the distance between the obstacle and the planned trajectory of the main vehicle. However, since the unmanned equipment uses the Frenet coordinate system when planning its own planned trajectory, only one projection trajectory corresponding to the obstacle can be determined. Therefore, the unmanned equipment needs to determine multiple projection trajectories of the obstacle on the trajectory of the unmanned equipment to improve the safety of the planned trajectory planned by the unmanned equipment.
[0063] In the embodiments of the present specification, the unmanned device can determine, for each obstacle, at least one segment of the trajectory covered by the projection corresponding to the obstacle in the initial planned trajectory of the unmanned device according to the obstacle data corresponding to the obstacle, as the projection trajectory corresponding to the obstacle. The initial planned trajectory mentioned here is used to represent the pre-set planned trajectory of the unmanned device from the current position to the destination.
[0064] In practical applications, obstacles of different shapes have different corresponding projection trajectories on the planned trajectory. The unmanned equipment needs to first determine the shape data of the outer contour of each obstacle, and then determine the projection trajectory of each obstacle on the planned trajectory based on the shape data of the outer contour of each obstacle.
[0065] In the embodiments of the present specification, for each obstacle, the unmanned device can determine the positions of each vertex corresponding to the outer contour of the obstacle based on the obstacle data corresponding to the obstacle.
[0066] There are multiple methods for the unmanned equipment to determine the shape data of the outer contour of the obstacle. For example, the unmanned equipment can project the obstacle data in the point cloud data onto the ground to obtain the shape of the obstacle in the top view. For another example, the unmanned equipment can determine the distance from each point cloud point in the point cloud data corresponding to the obstacle to the planned trajectory, as well as the length of each point cloud point projected onto the planned trajectory, and use the maximum distance, the minimum distance, and the length of each point cloud point as the boundary of the obstacle to obtain the shape corresponding to the obstacle.
[0067] Secondly, the unmanned device can determine the projection positions of the vertex positions corresponding to the obstacle on the initial planning trajectory according to the obstacle data corresponding to the obstacle and the initial planning trajectory corresponding to the unmanned device. Finally, the unmanned device can determine at least one section of the trajectory covered by the projection corresponding to the obstacle in the initial planning trajectory of the unmanned device according to the projection positions of the vertex positions corresponding to the obstacle on the initial planning trajectory as the projection trajectory corresponding to the obstacle.
[0068] The projection position mentioned here may refer to the position of the vertex position perpendicular to the initial planning trajectory that the unmanned device can predict based on the vertex position and the initial planning trajectory. Figure 3 shown.
[0069] Figure 3 A schematic diagram of a method for determining a projection position provided in this specification.
[0070] exist Figure 3 In the figure, a black dot can be used to represent a vertex position on an obstacle. The unmanned device can predict the vertex position of the obstacle when the unmanned device is traveling according to the initial planned trajectory. When the unmanned device scans the vertex position in the horizontal direction, the position of the unmanned device is the projection position of the vertex position on the initial planned trajectory.
[0071] It can be seen that this method can obtain multiple projection positions of a vertex position corresponding to the obstacle on the initial planning trajectory, and the distances from these projection positions to the vertex positions are all extreme values in a planned trajectory. Among them, the extreme values of the distances from these projection positions to the vertex positions include maximum values and minimum values. The unmanned equipment can determine the projection trajectory of the obstacle in the initial planning trajectory through the minimum value of the distance from these projection positions to the vertex positions. Based on this, the unmanned equipment needs to determine the minimum value of the distance from these projection positions to the vertex positions to determine the projection trajectory of the obstacle in the initial planning trajectory.
[0072] In an embodiment of the present specification, for each vertex position corresponding to the obstacle, the unmanned device can determine the distance between the vertex position and at least one projection position corresponding to the vertex position based on at least one projection position of the vertex position on the initial planned trajectory.
[0073] Secondly, the unmanned device can determine the projection position to be combined corresponding to the vertex position according to the distance between the vertex position and at least one projection position corresponding to the vertex position.
[0074] Finally, the unmanned device can determine at least one section of the planned trajectory covered by the obstacle projection on the initial planned trajectory according to the projection positions to be combined corresponding to the vertex positions of the obstacle, as the projection trajectory corresponding to the obstacle.
[0075] Specifically, for each vertex position of the obstacle, the unmanned device may determine, based on the projection position to be combined corresponding to the vertex position, the projection positions to be combined corresponding to other vertex positions that are closest to the projection position to be combined corresponding to the vertex position;
[0076] Then, the unmanned device can determine at least one section of the planned trajectory covered by the obstacle projection on the initial planned trajectory based on the projection positions to be combined corresponding to other vertex positions that are closest to the projection position to be combined corresponding to the vertex position and the projection position to be combined corresponding to the vertex position, as the projection trajectory corresponding to the obstacle. Figure 4 shown.
[0077] Figure 4 A schematic diagram of a method for determining a projection trajectory provided in this specification.
[0078] exist Figure 4 In the figure, each vertex position of the obstacle corresponds to multiple projection positions to be combined. In order to determine the projection trajectory of the obstacle in the initial planning trajectory, the unmanned device can determine the projection positions to be combined of other vertex positions around a vertex position on the obstacle. And select the projection positions to be combined corresponding to other vertex positions closest to this vertex position, determine the longest trajectory composed of these projection positions to be combined as the projection trajectory, and then use the determined projection trajectories as the projection trajectories corresponding to the obstacle.
[0079] In the embodiment of this specification, the initial planned trajectory includes a turning trajectory, and there is at least one obstacle around the unmanned device located on the inner side of the turning direction of the unmanned device. In other words, the method can be implemented in a driving scenario with a planned trajectory having a curve and at least one obstacle on the inner side of the curve.
[0080] In an embodiment of the present specification, the unmanned device may sort the distance between the vertex position and at least one projection position corresponding to the vertex position from near to far according to the initial planned trajectory to obtain a distance sorting result.
[0081] Secondly, based on the distance sorting result, the unmanned equipment can use the projection position whose distance with the vertex position is less than the distance between the projection position of the adjacent serial number and the vertex position as the projection position to be combined corresponding to the vertex position, and use the projection position whose distance with the vertex position is greater than the distance between the projection position of the adjacent serial number and the vertex position as the division point.
[0082] The division point mentioned here may refer to the projection position where the maximum value of the distance from the projection position to the vertex position is located. The projection position to be combined mentioned here may refer to the projection position where the minimum value of the distance from the projection position to the vertex position is located.
[0083] Specifically, in Figure 3 It can be seen that in the distance sorting result obtained by sorting from near to far according to the initial planning trajectory, the division point is adjacent to the projection position to be combined, that is, there is a division point between the two projection positions to be combined. In addition, the distance from the projection position corresponding to the division point to the vertex position is greater than the distance from the projection position corresponding to the two projection positions to be combined adjacent to the division point to the vertex position. Based on this, the unmanned device can determine the projection position to be combined corresponding to the vertex position.
[0084] Furthermore, for each vertex position of the obstacle, the unmanned device can divide the initial planned trajectory based on the division points to obtain several segments of the planned trajectory as segmented trajectories.
[0085] Then, for each segmented trajectory, the unmanned device can determine the planned trajectory covered by the obstacle projected on the segmented trajectory according to the projection positions to be combined corresponding to the vertex positions of the obstacle, as the projection trajectory corresponding to the obstacle. Figure 5 shown.
[0086] Figure 5 A schematic diagram of a method for determining a projection trajectory provided in this specification.
[0087] exist Figure 5In the method, the unmanned device can select any vertex position of the obstacle, determine the division point A and the division point B corresponding to the vertex position, and divide the initial planned trajectory into the first segmented trajectory, the second segmented trajectory, and the third segmented trajectory according to the division point A and the division point B. The projection positions to be combined on the first segmented trajectory, the second segmented trajectory, and the third segmented trajectory are respectively combined to determine the planned trajectory covered by the obstacle projection on the first segmented trajectory, the second segmented trajectory, and the third segmented trajectory as the projection trajectory corresponding to the obstacle.
[0088] S104: adjusting the initial planned trajectory according to the projection trajectory corresponding to each obstacle to obtain the actual planned trajectory of the unmanned equipment, and controlling the unmanned equipment to travel according to the actual planned trajectory.
[0089] In the embodiments of the present specification, the unmanned equipment can adjust the initial planned trajectory according to the projection trajectory corresponding to each obstacle to obtain the actual planned trajectory of the unmanned equipment, and control the unmanned equipment to drive according to the actual planned trajectory.
[0090] In actual applications, there are a large number of projection trajectories projected by various obstacles onto the planned trajectory of the unmanned equipment, and not all of them will affect the actual driving of the unmanned equipment. Therefore, the unmanned equipment needs to filter out some of the projection trajectories that will affect the actual driving process of the unmanned equipment, and use them to plan the actual planned trajectory of the unmanned equipment in the future.
[0091] In the embodiments of the present specification, the unmanned device can determine the distance from the obstacle corresponding to each projection trajectory to the initial planning trajectory of the unmanned device. Secondly, for each projection trajectory, the unmanned device can, based on the projection trajectory corresponding to each obstacle, take the projection trajectory whose distance from the obstacle corresponding to the projection trajectory to the initial planning trajectory of the unmanned device is less than a set distance threshold as the effective projection trajectory. Finally, the unmanned device can adjust the initial planning trajectory based on the effective projection trajectory to obtain the actual planning trajectory of the unmanned device, and control the unmanned device to drive based on the actual planning trajectory.
[0092] It can be seen from the above method that this method can determine at least one track covered by the projection corresponding to the obstacle in the initial planning trajectory of the unmanned device based on the obstacle data corresponding to the obstacle. In the prior art, only the track covered by the projection closest to the planned trajectory can be determined. Therefore, this method can determine which part of the initial planning trajectory of the unmanned device each obstacle will affect based on the multiple tracks covered by the projection corresponding to the obstacle in the initial planning trajectory of the unmanned device, taking into account the multiple interactions between the unmanned device and the obstacle in the initial planning trajectory, thereby improving the safety of the actual planning trajectory of the unmanned device.
[0093] The above is a control method for unmanned equipment provided by one or more embodiments of this specification. Based on the same idea, this specification also provides a corresponding control device for unmanned equipment, such as Figure 6 shown.
[0094] Figure 6 This is a schematic diagram of a control device for unmanned equipment provided in this specification. The method is applied to the field of unmanned driving, specifically including:
[0095] An acquisition module 600 is used to acquire obstacle data of obstacles around the unmanned equipment;
[0096] A determination module 602 is used to determine, for each obstacle, at least one segment of the trajectory covered by the projection corresponding to the obstacle in the initial planned trajectory of the unmanned equipment according to the obstacle data corresponding to the obstacle, as the projection trajectory corresponding to the obstacle;
[0097] The control module 604 is used to adjust the initial planned trajectory according to the projection trajectory corresponding to each obstacle, obtain the actual planned trajectory of the unmanned equipment, and control the unmanned equipment to travel according to the actual planned trajectory.
[0098] Optionally, the determination module 602 is specifically used to determine, for each obstacle, the positions of each vertex corresponding to the outer contour of the obstacle according to the obstacle data corresponding to the obstacle, determine the projection positions of each vertex position corresponding to the obstacle on the initial planned trajectory according to the obstacle data corresponding to the obstacle and the initial planned trajectory corresponding to the unmanned equipment, and determine, according to the projection positions of each vertex position corresponding to the obstacle on the initial planned trajectory, at least one section of the trajectory covered by the projection corresponding to the obstacle in the initial planned trajectory of the unmanned equipment as the projection trajectory corresponding to the obstacle.
[0099] Optionally, the determination module 602 is specifically used to determine, for each vertex position corresponding to the obstacle, a distance between the vertex position and at least one projection position corresponding to the vertex position according to at least one projection position of the vertex position on the initial planned trajectory, determine a projection position to be combined corresponding to the vertex position according to the distance between the vertex position and at least one projection position corresponding to the vertex position, and determine, according to the projection positions to be combined corresponding to each vertex position of the obstacle, at least one section of the planned trajectory covered by the projection of the obstacle on the initial planned trajectory as the projection trajectory corresponding to the obstacle.
[0100] Optionally, the determination module 602 is specifically used to determine, for each vertex position of the obstacle, the projection positions to be combined corresponding to other vertex positions that are closest to the projection positions to be combined corresponding to the vertex position according to the projection positions to be combined corresponding to the vertex position; based on the projection positions to be combined corresponding to other vertex positions that are closest to the projection positions to be combined corresponding to the vertex position and the projection positions to be combined corresponding to the vertex position, determine at least one section of the planned trajectory covered by the projection of the obstacle on the initial planned trajectory as the projection trajectory corresponding to the obstacle.
[0101] Optionally, the initial planned trajectory includes a turning trajectory, and there is at least one obstacle around the unmanned equipment located on the inner side of the turning direction of the unmanned equipment;
[0102] The determination module 602 is specifically used to sort the distance between the vertex position and at least one projection position corresponding to the vertex position from near to far according to the initial planning trajectory to obtain a distance sorting result. According to the distance sorting result, the projection position whose distance between the projection position and the vertex position is less than the distance between the projection position of the adjacent serial number and the vertex position is used as the projection position to be combined corresponding to the vertex position, and the projection position whose distance between the projection position and the vertex position is greater than the distance between the projection position of the adjacent serial number and the vertex position is used as the division point.
[0103] Optionally, the determination module 602 is specifically used to divide the initial planned trajectory based on the division point for each vertex position of the obstacle to obtain several segments of planned trajectories as segmented trajectories, and for each segmented trajectory, determine the planned trajectory covered by the obstacle projected on the segmented trajectory according to the projection positions to be combined corresponding to the vertex positions of the obstacle, as the projection trajectory corresponding to the obstacle.
[0104] Optionally, the control module 604 is specifically used to determine the distance from the obstacle corresponding to each projection trajectory to the initial planned trajectory of the unmanned equipment. For each projection trajectory, according to the projection trajectory corresponding to each obstacle, the projection trajectory whose distance from the obstacle corresponding to the projection trajectory to the initial planned trajectory of the unmanned equipment is less than a set distance threshold is taken as the effective projection trajectory, and according to the effective projection trajectory, the initial planned trajectory is adjusted to obtain the actual planned trajectory of the unmanned equipment, and according to the actual planned trajectory, the unmanned equipment is controlled to drive.
[0105] This specification also provides a computer-readable storage medium, which stores a computer program, which can be used to execute the above Figure 1 A control method for unmanned equipment is provided.
[0106] This manual also provides Figure 7 The schematic structure diagram of the unmanned equipment is shown in FIG. Figure 7 As mentioned above, at the hardware level, the unmanned equipment includes a processor, an internal bus, a network interface, a memory, and a non-volatile memory, and may also include other hardware required for the business. The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it to achieve the above Figure 1 Of course, in addition to the software implementation, this specification does not exclude other implementations, such as logic devices or a combination of software and hardware, etc., that is, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.
[0107] In the 1990s, improvements to a technology could be clearly distinguished as hardware improvements (for example, improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the method flow). However, with the development of technology, many improvements to the method flow today can be regarded as direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that an improvement in a method flow cannot be implemented using a hardware entity module. For example, a programmable logic device (PLD) (such as a field programmable gate array (FPGA)) is such an integrated circuit whose logical function is determined by the user's programming of the device. Designers can "integrate" a digital system on a PLD by programming it themselves, without having to ask a chip manufacturer to design and produce a dedicated integrated circuit chip. Moreover, nowadays, instead of manually making integrated circuit chips, this kind of programming is mostly implemented by "logic compiler" software, which is similar to the software compiler used when developing and writing programs, and the original code before compilation must also be written in a specific programming language, which is called hardware description language (HDL). There is not only one HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also know that it is only necessary to program the method flow slightly in the above-mentioned hardware description languages and program it into the integrated circuit, and then it is easy to obtain the hardware circuit that implements the logic method flow.
[0108] The controller can be implemented in any appropriate manner, for example, the controller can take the form of a microprocessor or processor and a computer-readable medium storing a computer-readable program code (such as software or firmware) that can be executed by the (micro)processor, a logic gate, a switch, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. The memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art also know that in addition to implementing the controller in a purely computer-readable program code manner, the controller can be implemented in the form of a logic gate, a switch, an application-specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, this controller can be considered as a hardware component, and the devices included therein for implementing various functions can also be regarded as structures within the hardware component. Or even, the devices for implementing various functions can be regarded as both software modules for implementing the method and structures within the hardware component.
[0109] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
[0110] For the convenience of description, the above device is described in various units according to their functions. Of course, when implementing this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.
[0111] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0112] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0113] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0114] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process in the computer or other programmable device. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0115] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0116] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
[0117] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0118] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0119] Those skilled in the art will appreciate that the embodiments of this specification may be provided as methods, systems or computer program products. Therefore, this specification may take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware. Moreover, this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0120] This specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. This specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.
[0121] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0122] The above description is only an embodiment of the present specification and is not intended to limit the present specification. For those skilled in the art, the present specification may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present specification shall be included in the scope of the claims of the present specification.
Claims
1. A control method for unmanned equipment, characterized in that: The method is applied to the field of unmanned driving. The method is applied to a driving scenario with a planned trajectory having a curve and at least one obstacle on the inner side of the curve, and includes: Obtain obstacle data of obstacles around unmanned equipment; For each obstacle, according to the obstacle data corresponding to the obstacle, determine at least one segment of the trajectory covered by the projection corresponding to the obstacle in the initial planned trajectory of the unmanned equipment as the projection trajectory corresponding to the obstacle; According to the projection trajectories corresponding to the obstacles, the initial planned trajectory is adjusted to obtain the actual planned trajectory of the unmanned equipment, and according to the actual planned trajectory, the unmanned equipment is controlled to travel; The step of determining, for each obstacle, according to obstacle data corresponding to the obstacle, at least one segment of a trajectory covered by a projection corresponding to the obstacle in the initial planned trajectory of the unmanned equipment as the projection trajectory corresponding to the obstacle specifically includes: For each obstacle, determine the positions of each vertex corresponding to the outer contour of the obstacle according to the obstacle data corresponding to the obstacle; Determine, according to obstacle data corresponding to the obstacle and the initial planned trajectory corresponding to the unmanned equipment, the projection position of each vertex position corresponding to the obstacle on the initial planned trajectory; According to the projection positions of the vertex positions corresponding to the obstacle on the initial planned trajectory, determining at least one segment of the trajectory covered by the projection corresponding to the obstacle in the initial planned trajectory of the unmanned equipment as the projection trajectory corresponding to the obstacle; The determining, according to the projection positions of the vertices corresponding to the obstacle on the initial planned trajectory, at least one segment of the trajectory covered by the projection corresponding to the obstacle in the initial planned trajectory of the unmanned equipment as the projection trajectory corresponding to the obstacle specifically includes: For each vertex position corresponding to the obstacle, determining, according to at least one projection position of the vertex position on the initial planned trajectory, a distance between the vertex position and at least one projection position corresponding to the vertex position; Determine the projection position to be combined corresponding to the vertex position according to the distance between the vertex position and at least one projection position corresponding to the vertex position; According to the projection positions to be combined corresponding to the vertex positions of the obstacle, determining at least one section of the planned trajectory covered by the projection of the obstacle on the initial planned trajectory as the projection trajectory corresponding to the obstacle; The step of determining, according to the projection positions to be combined corresponding to the vertex positions of the obstacle, at least one section of the planned trajectory covered by the obstacle projection on the initial planned trajectory as the projection trajectory corresponding to the obstacle, specifically includes: For each vertex position of the obstacle, according to the projection position to be combined corresponding to the vertex position, determine the projection position to be combined corresponding to other vertex positions that are closest to the projection position to be combined corresponding to the vertex position; According to the projection positions to be combined corresponding to other vertex positions that are closest to the projection position to be combined corresponding to the vertex position, and the projection position to be combined corresponding to the vertex position, at least one section of the planned trajectory covered by the obstacle projection on the initial planned trajectory is determined as the projection trajectory corresponding to the obstacle.
2. The method according to claim 1, characterized in that The initial planned trajectory includes a turning trajectory, and there is at least one obstacle around the unmanned equipment located on the inner side of the turning direction of the unmanned equipment; Determining the projection position to be combined corresponding to the vertex position according to the distance between the vertex position and at least one projection position corresponding to the vertex position specifically includes: Sort the distance between the vertex position and at least one projection position corresponding to the vertex position from near to far according to the initial planning trajectory to obtain a distance sorting result; According to the distance sorting result, the projection position whose distance with the vertex position is smaller than the distance between the projection position with the adjacent serial number and the vertex position is used as the projection position to be combined corresponding to the vertex position, and the projection position whose distance with the vertex position is larger than the distance between the projection position with the adjacent serial number and the vertex position is used as the dividing point.
3. The method according to claim 2, characterized in that According to the projection positions to be combined corresponding to the vertex positions of the obstacle, determining at least one section of the planned trajectory covered by the obstacle projection on the initial planned trajectory as the projection trajectory corresponding to the obstacle, specifically including: For each vertex position of the obstacle, based on the division point, the initial planned trajectory is divided to obtain a plurality of segments of planned trajectories as segmented trajectories; For each segmented trajectory, according to the projection positions to be combined corresponding to the vertex positions of the obstacle, the planned trajectory covered by the obstacle projected on the segmented trajectory is determined as the projection trajectory corresponding to the obstacle.
4. The method according to claim 1, characterized in that According to the projection trajectories corresponding to the obstacles, the initial planned trajectory is adjusted to obtain the actual planned trajectory of the unmanned equipment, and according to the actual planned trajectory, the unmanned equipment is controlled to travel, specifically including: Determine the distance between the obstacle corresponding to each projection trajectory and the initial planned trajectory of the unmanned equipment; For each projection trajectory, according to the projection trajectory corresponding to each obstacle, a projection trajectory whose distance from the obstacle corresponding to the projection trajectory to the initial planned trajectory of the unmanned equipment is less than a set distance threshold is taken as a valid projection trajectory; According to the effective projection trajectory, the initial planned trajectory is adjusted to obtain the actual planned trajectory of the unmanned equipment, and according to the actual planned trajectory, the unmanned equipment is controlled to travel.
5. A control device for unmanned equipment, characterized in that: The device is applied to the field of unmanned driving, and the method is applied to a driving scenario with a planned trajectory having a curve and at least one obstacle on the inner side of the curve, including: An acquisition module is used to acquire obstacle data of obstacles around the unmanned equipment; A determination module, configured to determine, for each obstacle, at least one segment of a trajectory covered by a projection corresponding to the obstacle in the initial planned trajectory of the unmanned equipment according to obstacle data corresponding to the obstacle, as a projection trajectory corresponding to the obstacle; A control module, configured to adjust the initial planned trajectory according to the projection trajectory corresponding to each obstacle, obtain the actual planned trajectory of the unmanned device, and control the unmanned device to travel according to the actual planned trajectory; The step of determining, for each obstacle, according to obstacle data corresponding to the obstacle, at least one segment of a trajectory covered by a projection corresponding to the obstacle in the initial planned trajectory of the unmanned equipment as the projection trajectory corresponding to the obstacle specifically includes: For each obstacle, determine the positions of each vertex corresponding to the outer contour of the obstacle according to the obstacle data corresponding to the obstacle; Determine, according to obstacle data corresponding to the obstacle and the initial planned trajectory corresponding to the unmanned equipment, the projection position of each vertex position corresponding to the obstacle on the initial planned trajectory; According to the projection positions of the vertex positions corresponding to the obstacle on the initial planned trajectory, determining at least one segment of the trajectory covered by the projection corresponding to the obstacle in the initial planned trajectory of the unmanned equipment as the projection trajectory corresponding to the obstacle; The determining, according to the projection positions of the vertices corresponding to the obstacle on the initial planned trajectory, at least one segment of the trajectory covered by the projection corresponding to the obstacle in the initial planned trajectory of the unmanned equipment as the projection trajectory corresponding to the obstacle specifically includes: For each vertex position corresponding to the obstacle, determining, according to at least one projection position of the vertex position on the initial planned trajectory, a distance between the vertex position and at least one projection position corresponding to the vertex position; Determine the projection position to be combined corresponding to the vertex position according to the distance between the vertex position and at least one projection position corresponding to the vertex position; According to the projection positions to be combined corresponding to the vertex positions of the obstacle, determining at least one section of the planned trajectory covered by the projection of the obstacle on the initial planned trajectory as the projection trajectory corresponding to the obstacle; The step of determining, according to the projection positions to be combined corresponding to the vertex positions of the obstacle, at least one section of the planned trajectory covered by the obstacle projection on the initial planned trajectory as the projection trajectory corresponding to the obstacle, specifically includes: For each vertex position of the obstacle, according to the projection position to be combined corresponding to the vertex position, determine the projection position to be combined corresponding to other vertex positions that are closest to the projection position to be combined corresponding to the vertex position; According to the projection positions to be combined corresponding to other vertex positions that are closest to the projection position to be combined corresponding to the vertex position, and the projection position to be combined corresponding to the vertex position, at least one section of the planned trajectory covered by the obstacle projection on the initial planned trajectory is determined as the projection trajectory corresponding to the obstacle.
6. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 4 is implemented.
7. An unmanned device 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 program, the method according to any one of claims 1 to 4 is implemented.
Citation Information
Patent Citations
Track planning method and device, medium and unmanned device
CN112649012A