A control method and control device for unmanned equipment
By analyzing and clustering behavioral matching degrees of obstacles around unmanned equipment, the problems of large amount of calculation and low traffic efficiency when facing a large number of low-speed moving obstacles are solved, and more efficient driving decisions and traffic efficiency are achieved.
Patent Information
- Application Number
- CN202111572285.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-21
- Publication Date
- 2025-04-29
- Estimated Expiration
- 2041-12-21
AI Technical Summary
When an autonomous vehicle faces a large number of low-speed moving obstacles, it requires a large amount of calculation to predict the movement trajectory of each obstacle, resulting in low traffic efficiency.
By obtaining the driving data of each obstacle around the unmanned equipment, the behavioral matching degree between each obstacle is determined, and the obstacles are clustered according to the matching degree to obtain the clustering subject. Then, based on the status data of the clustering subject, driving decisions for unmanned equipment are made.
It reduces the computing resources required by unmanned devices when facing obstacles, reduces the possibility of decision-making conflicts, and improves the efficiency of unmanned devices when facing a large number of obstacles.
Smart Images

Figure CN114326723B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of unmanned driving technology, and in particular to a control method and a control device for unmanned equipment. Background Art
[0002] In an autonomous driving environment, in order to avoid traffic accidents, autonomous driving vehicles need to predict the moving trajectory of moving obstacles so that they can implement appropriate driving decisions to avoid collisions with moving obstacles.
[0003] At present, the main way for autonomous vehicles to deal with moving obstacles, especially slow-moving obstacles, is to predict the movement trajectory of all slow-moving obstacles within the perception range of the autonomous vehicle and implement the driving decision of the autonomous vehicle based on the prediction results. For example, when an autonomous vehicle faces pedestrians crossing the road, it will predict the movement trajectory of each pedestrian and implement the driving decision of the autonomous vehicle based on the prediction results.
[0004] Since there are many slow-moving obstacles, such as pedestrians, and they have a high degree of freedom, sufficient safety distance needs to be reserved to avoid collisions with slow-moving obstacles. Therefore, autonomous vehicles often need a lot of calculations to predict the movement trajectory of each individual, and because the movement trajectory of each individual will affect the final driving decision, the efficiency of autonomous vehicles is low when facing a large number of slow-moving obstacles during driving.
[0005] Therefore, how to reduce the computational load of autonomous driving vehicles and improve the traffic efficiency of autonomous driving vehicles when facing a large number of low-speed moving obstacles while ensuring their safety is an urgent problem to be solved. Summary of the invention
[0006] This specification provides a control method and a control device for unmanned equipment to partially solve the above-mentioned problems existing in the prior art.
[0007] This manual adopts the following technical solutions:
[0008] This specification provides a control method for unmanned equipment, including:
[0009] Obtain driving data of obstacles around unmanned equipment;
[0010] Determining the behavior matching degree between the obstacles according to the driving data;
[0011] Clustering the obstacles according to the behavior matching degree to obtain at least one clustering subject, wherein each clustering subject contains at least one obstacle;
[0012] For each clustering subject, determining the state data corresponding to the clustering subject according to the driving data of the obstacles contained in the clustering subject;
[0013] Determining a driving decision for the unmanned equipment according to the state data corresponding to each clustering subject;
[0014] The unmanned equipment is controlled according to the driving decision.
[0015] Optionally, the driving data includes: the position and speed of the obstacle;
[0016] Determining the behavior matching degree between the obstacles according to the driving data specifically includes:
[0017] For any two obstacles among the obstacles, the behavior matching degree between the two obstacles is determined according to the position and speed of each of the two obstacles.
[0018] Optionally, for any two obstacles among the obstacles, determining the behavior matching degree between the two obstacles according to the position and speed of each of the two obstacles specifically includes:
[0019] According to the speed unit and the distance unit used when observing the obstacle, determine the weight corresponding to the speed data as the speed weight, and the weight corresponding to the position data as the position weight;
[0020] For any two obstacles among the obstacles, the behavior matching degree between the two obstacles is determined according to the position and speed of each of the two obstacles, the speed weight and the position weight.
[0021] Optionally, clustering the obstacles according to the behavior matching degree to obtain at least one cluster subject specifically includes:
[0022] Determining at least one clustering core from the obstacles according to the behavior matching degree;
[0023] For each cluster core, determine the driving data corresponding to the cluster core according to the driving data of the obstacles contained in the cluster core, and determine the obstacles belonging to the cluster core according to the driving data corresponding to the cluster core and the driving data of other obstacles except those located in the cluster core;
[0024] The obstacles belonging to the cluster core and the cluster core are regarded as a cluster subject.
[0025] Optionally, at least one clustering core is determined from the obstacles with the constraint that the number of obstacles included in the clustering core falls within a preset number range and the behavior matching degree between any two obstacles is not less than a preset behavior matching degree.
[0026] Optionally, for each cluster subject, determining the state data corresponding to the cluster subject according to the driving data of the obstacles included in the cluster subject specifically includes:
[0027] For each cluster subject, the boundary information of the cluster subject is determined according to the positions of obstacles contained in the cluster subject;
[0028] According to the boundary information of the cluster body and the speed of the obstacles contained in the cluster body, the state data corresponding to the cluster body is determined.
[0029] Optionally, the obstacle includes pedestrians, and the unmanned equipment includes an unmanned vehicle.
[0030] This specification provides a control device for unmanned equipment, including:
[0031] The acquisition module is used to obtain the driving data of various obstacles around the unmanned equipment;
[0032] A matching degree determination module, used to determine the behavior matching degree between the obstacles according to the driving data;
[0033] A clustering module, configured to cluster the obstacles according to the behavior matching degree to obtain at least one clustering subject, wherein each clustering subject contains at least one obstacle;
[0034] A state data determination module, for determining, for each cluster subject, state data corresponding to the cluster subject according to the driving data of the obstacles contained in the cluster subject;
[0035] A decision module, used to determine a driving decision for the unmanned equipment according to the state data corresponding to each cluster subject;
[0036] A control module is used to control the unmanned equipment according to the driving decision.
[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, the driving data of each obstacle around the unmanned equipment is obtained, and the behavior matching degree between each obstacle is determined based on the obtained driving data. After obtaining the behavior matching degree between each obstacle, each obstacle is clustered according to the behavior matching degree to obtain at least one clustering subject, wherein each clustering subject contains at least one obstacle. After obtaining the clustering subject, for each clustering subject, the state data corresponding to the clustering subject is determined based on the driving data of the obstacles contained in the clustering subject, and then the driving decision for the unmanned equipment is determined based on the state data, and the unmanned equipment is controlled based on the driving decision.
[0041] It can be seen from the above method that, through the above unmanned equipment control method, some obstacles can be clustered into a cluster subject according to the behavioral matching degree between the obstacles to participate in making driving decisions. This can ensure that the unmanned equipment can drive safely, and reduce the amount of calculation for making driving decisions to control the unmanned equipment to a certain extent. At the same time, it can reduce the number of obstacles that affect the final decision, and improve the traffic efficiency of the unmanned equipment when facing a large number of obstacles. 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 provided in this specification;
[0044] Figures 2A to 2C A schematic diagram of a method for clustering obstacles is provided for this specification;
[0045] Figures 3A to 3C A schematic diagram of the operation scenario of the unmanned equipment provided for this manual;
[0046] Figure 4 A schematic diagram of a control device for unmanned equipment provided in this manual;
[0047] Figure 5 A method corresponding to the Figure 1Schematic diagram of an electronic device. DETAILED DESCRIPTION
[0048] 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.
[0049] The technical solutions provided by the embodiments of this specification are described in detail below in conjunction with the accompanying drawings.
[0050] Figure 1 The following is a flow chart of a control method for an unmanned device provided in this specification, comprising the following steps:
[0051] S101: Acquire driving data of obstacles around the unmanned equipment.
[0052] In this specification, the subject of the implementation of the control method of unmanned equipment can be the unmanned equipment itself, wherein the unmanned equipment can be an unmanned vehicle, an automatic delivery robot, etc. In this specification, the unmanned equipment using the control method of 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 take-out.
[0053] At present, in the field of unmanned driving, the main way for unmanned equipment to make driving decisions when facing obstacles is to collect data on all obstacles within the perception range of the unmanned equipment, predict the movement trajectory of the obstacles based on the collected data of multiple obstacles, and make corresponding driving decisions to control the driving of the unmanned equipment.
[0054] This method requires predicting the movement trajectories of all obstacles within the perception range of the unmanned equipment, which consumes a large amount of computing resources. In order to reduce the computing resources required by the unmanned equipment when facing obstacles to a certain extent, and at the same time improve the passage efficiency of the unmanned equipment when facing a large number of obstacles, this manual proposes a control method for unmanned equipment.
[0055] First, the unmanned equipment can obtain the driving data of obstacles around the unmanned equipment through sensors installed on the unmanned equipment. The sensors may include cameras, laser radars, etc., wherein the data collected by the sensors can determine driving data such as the position and speed of obstacles. For example, the position of each obstacle captured in the image can be obtained based on the position of the camera, and the speed of the obstacle can also be determined based on multiple frames of images captured continuously.
[0056] The driving data acquired by the unmanned equipment may include data such as the location of the obstacle, the speed of the obstacle, and the collision volume of the obstacle. The speed may be a vector, including direction and magnitude.
[0057] In practical applications, low-speed moving obstacles such as pedestrians and bicycles often have cluster characteristics when crossing the road, that is, the low-speed moving obstacles crossing the road together have similar positions and speeds. Therefore, this solution can cluster such low-speed moving obstacles with cluster characteristics into at least one clustering entity, which can reduce the amount of calculation when unmanned equipment makes driving decisions.
[0058] After the unmanned equipment obtains the driving data of obstacles, in order to realize obstacle clustering, it is necessary to first determine the behavioral matching degree between the obstacles.
[0059] S102: Determine the behavior matching degree between the obstacles according to the driving data.
[0060] The unmanned equipment determines the behavioral matching degree between obstacles within the sensing range based on the driving data of the above obstacles.
[0061] The unmanned equipment can determine the degree of behavioral matching between obstacles based on the relationship between the data contained in the driving data of the obstacles. For example, for any two obstacles, if the positions of the two obstacles are similar and the magnitude and direction of the speed are similar, it can be determined that the degree of behavioral matching between the two obstacles is high. For another example, for any two obstacles, if the positions of the two obstacles are similar, but the magnitude and direction of the speed are greatly different, it can be determined that the degree of behavioral matching between the two obstacles is low.
[0062] In other words, the behavioral matching degree represents the matching degree between the two obstacles after integrating the two dimensions of position and speed. Therefore, if the behavioral matching degree between the two obstacles is higher, it means that the two obstacles are closer in position or speed, and the probability that the two obstacles can be clustered in the same cluster body is greater.
[0063] The following is a method of matching the behaviors of obstacles provided in this manual:
[0064] For any two obstacles, the unmanned device determines the coordinates of the two obstacles in a two-dimensional coordinate system with the unmanned device as the origin, as well as the speed and direction of the two obstacles.
[0065] The unmanned device decomposes the coordinates and speeds of the two obstacles into the horizontal and vertical axes of a two-dimensional coordinate system with the unmanned device as the origin, and obtains four sets of values used to characterize the driving data of the two obstacles. The behavior matching degree between the two obstacles is calculated according to a preset formula.
[0066] The specific method for determining the behavior matching degree between the two obstacles can refer to the following formula:
[0067]
[0068] Among them, D 1,2 represents the behavior matching degree between the two obstacles, p x1 、p x2 represents the position of the two obstacles on the horizontal axis in the coordinate system, p y1 、p y2 represents the components of the positions of the two obstacles on the vertical axis in the coordinate system, v x1 、v x2 represents the components of the velocity of the two obstacles on the horizontal axis in the coordinate system, v y1 、v y2 represents the components of the velocity of the two obstacles on the vertical axis in the coordinate system, w 1 、w 2 、w 3 、w 4 is the weight used to balance speed and distance.
[0069] In this specification, the weight may be determined according to the speed unit and distance unit used when observing the obstacle, and the weight corresponding to the speed data is used as the speed weight, such as w in the above formula 3 、w 4 , and the weight corresponding to the position data, as the position weight, such as w in the above formula 1 、w 2 .
[0070] If the units of speed data and position data do not match, it is easy to cause the magnitude of the obtained speed and position data to differ greatly, which may result in the final behavior matching degree being strongly correlated with only one of the speed or position. For example, if the speed data is set in kilometers per hour and the position data is set in meters, the magnitude of the speed data is often in the tens, while the magnitude of the position data may be in the hundreds.
[0071] Therefore, the purpose of setting the weight in the above formula is to balance the influence of distance and speed on the behavioral matching degree between the two obstacles. For example, if the speed data is in the tens and the position data is in the hundreds, then set w 1 、w 2 The value of is 1, and w 3 、w 4 The value of is 100, so as to achieve the influence of the distance and speed on the behavior matching degree between the two obstacles. Of course, the above weights can be set according to actual needs, and this specification does not limit the specific values of the above weights.
[0072] The above is a method for determining the behavioral matching degree between obstacles provided in this specification. Of course, there are many ways to determine the behavioral matching degree between obstacles, such as determining the behavioral matching degree between two obstacles by calculating the cosine similarity between the two obstacles in the driving data. Examples are not given here one by one.
[0073] S103: Clustering the obstacles according to the behavior matching degree to obtain at least one clustering entity, wherein each clustering entity includes at least one obstacle.
[0074] After obtaining the behavioral matching degree between the obstacles, the unmanned equipment can cluster the obstacles according to the behavioral matching degree between the obstacles to obtain at least one clustering subject, wherein each clustering subject contains at least one obstacle. In this specification, the method of clustering obstacles can be specifically: Figures 2A to 2C The method shown.
[0075] Figures 2A to 2C A schematic diagram of a method for clustering obstacles is provided in this specification:
[0076] like Figure 2A As shown in the figure, each dot represents all obstacles within the sensing range of the unmanned device, and the distance between the dots is determined by the behavioral matching degree between the obstacles obtained above, that is, the greater the behavioral matching degree of the two obstacles, the closer they are to each other. Figure 2A The smaller the distance between the two.
[0077] The unmanned device first determines at least one clustering core from each obstacle according to the behavioral matching degree between the obstacles.
[0078] Regarding how to select the clustering core, the specific method can be Figure 2B The method shown.
[0079] At least one clustering core is determined from each obstacle with the constraint that the number of obstacles contained in the clustering core falls within the preset number range and the behavior matching degree between any two obstacles is not less than the preset behavior matching degree. That is, the clustering core is an obstacle that can simultaneously meet the two conditions that the number of obstacles in a clustering core is not less than the threshold and the behavior matching degree between any two obstacles in the clustering core is not less than the preset behavior matching degree. Figure 2B As shown, the circles represent the points corresponding to the three obstacles that meet the above constraints, and the three obstacles contained in the circle are taken as a clustering core.
[0080] Under the constraints of the above conditions, multiple obstacles that meet the conditions are used as clustering cores. It should be noted that in this way of selecting clustering cores, the clustering core contains at least two obstacles. Since the clustering result is poor when the clustering core contains only two obstacles, the case where the clustering core contains only two obstacles is seldom used. Therefore, the minimum number of obstacles contained in each clustering core is usually three. In practical applications, the minimum number of obstacles contained in each clustering core can be set according to actual needs.
[0081] For each obtained cluster core, the unmanned device can determine the driving data corresponding to the cluster core according to the driving data of the obstacles contained in the cluster core.
[0082] Among them, the method for determining the driving data of the cluster core can be: taking the center point position of all obstacles contained in the cluster core as the position of the cluster core, taking the average value of the speeds of all obstacles contained in the cluster core as the speed of the cluster core, and taking the position and speed of the cluster core as the driving data of the cluster core.
[0083] The unmanned equipment determines the center point of the cluster core based on the driving data of the cluster core, such as Figure 2C The small dots in the large circle are shown in Figure 2. Taking the center point of the cluster core as the center of the circle and the distance represented by the preset behavior matching degree as the radius, we get Figure 2C The obstacles represented by all the dots in the large circle are regarded as a clustering entity.
[0084] The multiple dots that cannot be clustered outside the large circle are regarded as a special type of clustering entities, that is, each clustering entity contains only one obstacle.
[0085] The above is combined with this manual Figures 2A to 2C The above is a method for clustering obstacles. There are many other methods for clustering obstacles, which will not be described one by one here.
[0086] S104: For each clustering entity, determine the state data corresponding to the clustering entity according to the driving data of the obstacles included in the clustering entity.
[0087] After the unmanned equipment has clustered the obstacles, it needs to obtain the status data of the above multiple cluster entities in order to make appropriate driving decisions.
[0088] In this specification, the state data of the clustering subject may be determined by:
[0089] The unmanned device obtains the driving data of the cluster core according to the above-mentioned method of determining the driving data of the cluster core. At the same time, for each cluster subject, the boundary information of the cluster subject is determined according to the position of the obstacles contained in the cluster subject, for example: the smallest figure that can contain all the obstacles contained in the cluster subject is used as the boundary information of the cluster subject. Then, the unmanned device can determine the state data corresponding to the cluster subject according to the boundary information of the cluster subject and the driving data of the cluster subject.
[0090] Similarly, there are many ways to determine the status data of the clustering subject, which will not be explained one by one here.
[0091] S105: Determine a driving decision for the unmanned equipment according to the status data corresponding to each clustering entity.
[0092] After the unmanned device obtains the status data corresponding to all cluster entities, it can regard the obstacles contained in a cluster entity as a whole, and use the status data of this cluster entity to comprehensively characterize the status of all obstacles contained in the cluster entity. The cluster entity can be analyzed as an individual through the status data of the cluster entity to determine the driving decision for the unmanned device.
[0093] Combine the following Figures 3A to 3C The following specifically describes how unmanned equipment makes driving decisions when faced with the several unmanned equipment operating scenarios shown in the figure.
[0094] Figures 3A to 3C Schematic diagram of the operation scenario of unmanned equipment provided for this manual:
[0095] Figures 3A to 3C In the figure, each origin represents an obstacle, the circle represents the cluster body, and the arrows represent the moving direction of each obstacle and unmanned equipment in the figure.
[0096] like Figure 3A In the operation scenario of the unmanned equipment shown, the clustering entity and all obstacle individuals will stay away from the driving path of the unmanned equipment, so the unmanned equipment can make a driving decision to maintain the original speed.
[0097] like Figure 3B In the operation scenario of the unmanned device shown, the cluster subject and an obstacle individual are about to enter the driving path of the unmanned device, and the unmanned device can make a driving decision to stop and wait for the obstacle to pass.
[0098] like Figure 3C In the operation scenario of the unmanned equipment shown, the cluster subject is about to move away from the driving road of the unmanned equipment, there are two obstacle individuals at a position far away from the driving road of the unmanned equipment and are approaching the driving road of the unmanned equipment, then the unmanned equipment can make a driving decision to accelerate the passage.
[0099] S106: Controlling the unmanned equipment according to the driving decision.
[0100] After the unmanned equipment obtains a driving decision corresponding to the current driving environment, the unmanned equipment is controlled according to the obtained driving decision.
[0101] From the control method of an unmanned device introduced above, it can be seen that by utilizing the behavioral matching degree between obstacles, obstacles are clustered into clustering entities, which reduces the number of individuals that can affect the decision-making of the unmanned device and, to a certain extent, reduces the computing resources required by the unmanned device when facing obstacles. At the same time, since each obstacle will have an impact on the final driving decision, it is easy to cause decision conflicts in the unmanned device. The method provided in this manual can reduce the decision conflicts of the unmanned device to a certain extent, thereby improving the traffic efficiency of the unmanned device when facing a large number of obstacles.
[0102] Figure 4 A schematic diagram of a control device for unmanned equipment provided for this specification includes:
[0103] The acquisition module 401 is used to acquire the driving data of various obstacles around the unmanned equipment;
[0104] A matching degree determination module 402, configured to determine the behavior matching degree between the obstacles according to the driving data;
[0105] A clustering module 403 is used to cluster the obstacles according to the behavior matching degree to obtain at least one cluster subject, wherein each cluster subject contains at least one obstacle;
[0106] The state data determination module 404 is used to determine the state data corresponding to each cluster subject according to the driving data of the obstacles contained in the cluster subject;
[0107] A decision module 405, configured to determine a driving decision for the unmanned equipment according to the state data corresponding to each cluster subject;
[0108] The control module 406 is used to control the unmanned equipment according to the driving decision.
[0109] Optionally, the driving data includes: the position and speed of the obstacle;
[0110] The matching degree determination module 402 is specifically configured to determine, for any two obstacles among the obstacles, a behavior matching degree between the two obstacles according to a position and a speed of each of the two obstacles.
[0111] Optionally, the matching degree determination module 402 is specifically used to determine the weight corresponding to the speed data as the speed weight, and the weight corresponding to the position data as the position weight according to the speed unit and the distance unit used when observing the obstacle; for any two obstacles among the obstacles, determine the behavior matching degree between the two obstacles according to the position and speed of each obstacle in the two obstacles, as well as the speed weight and the position weight.
[0112] Optionally, the clustering module 403 is specifically used to determine at least one clustering core from the obstacles based on the behavior matching degree; for each clustering core, determine the driving data corresponding to the clustering core based on the driving data of the obstacles contained in the clustering core, and determine the obstacles belonging to the clustering core based on the driving data corresponding to the clustering core and the driving data of other obstacles except those located in the clustering core; and regard the obstacles belonging to the clustering core and the clustering core as a clustering entity.
[0113] Optionally, the clustering module 403 is specifically used to determine at least one clustering core from the obstacles, with the number of obstacles included in the clustering core falling within a preset number range and the behavior matching degree between any two obstacles being not less than a preset behavior matching degree as constraints.
[0114] Optionally, the driving data includes: the position and speed of the obstacle;
[0115] The state data determination module 404 is specifically used to determine, for each cluster body, the boundary information of the cluster body according to the position of the obstacles contained in the cluster body; and determine the state data corresponding to the cluster body according to the boundary information of the cluster body and the speed of the obstacles contained in the cluster body.
[0116] Optionally, the obstacle includes pedestrians, and the unmanned equipment includes an unmanned vehicle.
[0117] 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.
[0118] This manual also provides Figure 5 The one shown corresponds to Figure 1 A schematic diagram of the electronic device. Figure 5 As mentioned above, at the hardware level, the electronic device 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.
[0119] 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.
[0120] 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.
[0121] 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.
[0122] 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.
[0123] 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.) that contain computer-usable program code.
[0124] This specification is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of this specification. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes 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.
[0125] 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.
[0126] 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. Figure 1 A process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0127] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0128] 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.
[0129] 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.
[0130] 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.
[0131] 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.
[0132] 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.
[0133] 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.
[0134] 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: include: Obtain driving data of obstacles around unmanned equipment; Determining the behavior matching degree between the obstacles according to the driving data; Clustering the obstacles according to the behavior matching degree to obtain at least one clustering subject, wherein each clustering subject contains at least one obstacle; For each clustering subject, determining the state data corresponding to the clustering subject according to the driving data of the obstacles contained in the clustering subject; Determining a driving decision for the unmanned equipment according to the state data corresponding to each clustering subject; Controlling the unmanned equipment according to the driving decision; The driving data includes: the position and speed of the obstacle; Determining the behavior matching degree between the obstacles according to the driving data specifically includes: For any two obstacles among the obstacles, determining the behavior matching degree between the two obstacles according to the position and speed of each obstacle in the two obstacles; For any two obstacles among the obstacles, determining the behavior matching degree between the two obstacles according to the position and speed of each obstacle in the two obstacles, specifically includes: According to the speed unit and the distance unit used when observing the obstacle, determine the weight corresponding to the speed data as the speed weight, and the weight corresponding to the position data as the position weight; For any two obstacles among the obstacles, the behavior matching degree between the two obstacles is determined according to the position and speed of each of the two obstacles, the speed weight and the position weight.
2. The method according to claim 1, characterized in that According to the behavior matching degree, the obstacles are clustered to obtain at least one clustering subject, which specifically includes: Determining at least one clustering core from the obstacles according to the behavior matching degree; For each cluster core, determine the driving data corresponding to the cluster core according to the driving data of the obstacles contained in the cluster core, and determine the obstacles belonging to the cluster core according to the driving data corresponding to the cluster core and the driving data of other obstacles except those located in the cluster core; The obstacles belonging to the cluster core and the cluster core are regarded as a cluster subject.
3. The method according to claim 2, characterized in that Determining at least one clustering core from the obstacles according to the behavior matching degree specifically includes: At least one clustering core is determined from the obstacles with the constraint that the number of obstacles included in the clustering core falls within a preset number range and the behavior matching degree between any two obstacles is not less than a preset behavior matching degree.
4. The method according to claim 1, characterized in that The driving data includes: the position and speed of the obstacle; For each cluster subject, the state data corresponding to the cluster subject is determined according to the driving data of the obstacles contained in the cluster subject, specifically including: For each clustering body, the boundary information of the clustering body is determined according to the positions of the obstacles contained in the clustering body; and the state data corresponding to the clustering body is determined according to the boundary information of the clustering body and the speed of the obstacles contained in the clustering body.
5. The method according to any one of claims 1 to 4, characterized in that: The obstacles include pedestrians, and the unmanned equipment includes unmanned vehicles.
6. A control device for unmanned equipment, characterized in that: include: The acquisition module is used to obtain the driving data of various obstacles around the unmanned equipment; A matching degree determination module, used to determine the behavior matching degree between the obstacles according to the driving data; A clustering module, configured to cluster the obstacles according to the behavior matching degree to obtain at least one clustering subject, wherein each clustering subject contains at least one obstacle; A state data determination module, for determining, for each cluster subject, state data corresponding to the cluster subject according to the driving data of the obstacles contained in the cluster subject; A decision module, used to determine a driving decision for the unmanned device according to the state data corresponding to each cluster subject; a control module, used to control the unmanned device according to the driving decision; The driving data includes: the position and speed of the obstacle; Determining the behavior matching degree between the obstacles according to the driving data specifically includes: For any two obstacles among the obstacles, determining the behavior matching degree between the two obstacles according to the position and speed of each obstacle in the two obstacles; For any two obstacles among the obstacles, determining the behavior matching degree between the two obstacles according to the position and speed of each obstacle in the two obstacles, specifically includes: According to the speed unit and the distance unit used when observing the obstacle, determine the weight corresponding to the speed data as the speed weight, and the weight corresponding to the position data as the position weight; For any two obstacles among the obstacles, the behavior matching degree between the two obstacles is determined according to the position and speed of each of the two obstacles, the speed weight and the position weight.
7. 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 5 is implemented.
8. 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 5 is implemented.
Citation Information
Patent Citations
Method for tracking pedestrian by cooperating robot and mobile phone
CN103345752A
Vehicle driving path determination method and device
CN113682322A