CN110118559A - A kind of guide to visitors robot dynamic obstacle avoidance method and apparatus based on changeable probability strategy - Google Patents
A kind of guide to visitors robot dynamic obstacle avoidance method and apparatus based on changeable probability strategy Download PDFInfo
- Publication number
- CN110118559A CN110118559A CN201910358357.XA CN201910358357A CN110118559A CN 110118559 A CN110118559 A CN 110118559A CN 201910358357 A CN201910358357 A CN 201910358357A CN 110118559 A CN110118559 A CN 110118559A
- Authority
- CN
- China
- Prior art keywords
- path
- node
- robot
- threshold
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Operations Research (AREA)
- Algebra (AREA)
- Evolutionary Biology (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
The present invention provides a kind of guide to visitors robot dynamic obstacle avoidance method and apparatus based on changeable probability strategy, this method comprises: step 1, carries out carrying out mapping using Silhouette rendering algorithms;Step 2 obtains robot starting point coordinate value and end coordinate values;Step 3 generates path P using two-way rapidly-exploring random tree RRT;Step 4, so that path P is smoothened;Step 5 exports final path P, and constantly updates routing information according to real-time policy, and robot is according to path P avoiding obstacles.The present invention can enable searching algorithm quickly generate under spacious scene to target point, while avoid the problem of path falls into local minimum.
Description
Technical field
This application involves robot field more particularly to a kind of dynamic obstacle avoidance sides, guide to visitors robot based on changeable probability strategy
Method, device.
Background technique
The application of robot gradually penetrates into all trades and professions, such as guide to visitors, nurse, smart home etc. of society.Plan road
Diameter and avoiding obstacles are one of important research contents, Rapid-Exploring Random Tree Algorithm RRT for other algorithms,
Had great advantage in terms of search efficiency, can theoretically find a feasible path, but still it is in need improvedly
Side.Since the new node of its extension is randomly generated in moving region, the region of covering is excessively average, in the redundancy of generation
There is certain time-consuming on point, while the path quality cooked up is not high, it is often larger with the gap of shortest path.
Summary of the invention
In view of drawbacks described above in the prior art or deficiency, a kind of guide to visitors Robotic Dynamic based on changeable probability strategy is provided
Barrier-avoiding method, device, robot and storage medium.According to the different periphery states of search node, using different probability strategies
Target point is extended, so that searching algorithm is quickly generated under spacious scene to target point, while avoiding path and falling into part
The problem of minimum value.After completing first route searching, according to the irregular route of path node position optimization, trolley traveling is reduced
Turn number and total path length in the process.More scenes have been carried out in simulations and have repeated experimental test, and simulation result shows to change
Algorithm after has clear improvement in search speed and path length.
In a first aspect, the embodiment of the present application provides a kind of dynamic obstacle avoidance side, guide to visitors robot based on changeable probability strategy
Method, which is characterized in that this method comprises:
Step 1 carries out mapping using Silhouette rendering algorithms;
Step 2 obtains robot starting point coordinate value and end coordinate values;
Step 3 generates path P, P=(p0, p1, p2...pn) using two-way rapidly-exploring random tree RRT, wherein and n >
0, pi indicates that the node in path, 0≤i≤n when the ambient state of search node, extend mesh using variable probability strategy
Punctuate, after generating a node pi, calculating robot and nearest barrier distance D are used if D is less than first threshold
Random function Random () generating probability value G, the probability value of generation is compared with second threshold, if probability value G is less than
Then node pi's second threshold meets the requirements, and is put into set of paths, assert node if probability value G is greater than or equal to second threshold
Pi is undesirable, regenerates new node, repeatedly generates the process of new node, until generating final path P;
The path P of generation is put into queue Q by step 4, reads three nodes a, b, c, three node compositions two every time
A line segment ab and bc, calculates the angle between two line segments, if angle is less than third threshold value, generates node according to step 3
Mode generates new node b ' between ac, until the angle between two line segment ab ' and b ' c is greater than third threshold value, by b ' generation
Path P is added for b, is successively read the subsequent node of queue Q again later, until having handled all nodes, path P is made with this
It is smoothened;
Step 5 exports final path P, and constantly updates routing information according to real-time policy, and robot is according to road
Diameter P avoiding obstacles.
Second aspect, the embodiment of the present application provide a kind of guide to visitors robot dynamic obstacle avoidance dress based on changeable probability strategy
It sets, which is characterized in that the device includes:
Drafting module, for carrying out mapping using Silhouette rendering algorithms;
Index module, for obtaining robot starting point coordinate value and end coordinate values;
Path module is used for using two-way rapidly-exploring random tree RRT generation path P, P=(p0, p1, p2...pn),
In, n > 0, pi indicate that the node in path, 0≤i≤n when the ambient state of search node, are expanded using variable probability strategy
Target point is opened up, after generating a node pi, calculating robot and nearest barrier distance D, if D is less than first threshold,
Using random function Random () generating probability value G, the probability value of generation is compared with second threshold, if probability value G
Less than second threshold, then node pi meets the requirements, and is put into set of paths, assert if probability value G is greater than or equal to second threshold
Node pi is undesirable, regenerates new node, repeatedly generates the process of new node, until generating final path P;
Leveling Block reads three nodes a, b, c, three nodes for the path P of generation to be put into queue Q every time
Two line segments ab and bc are formed, the angle between two line segments is calculated, it is raw according to path module if angle is less than third threshold value
New node b ' is generated between ac at the mode of node, until the angle between two line segment ab ' and b ' c is greater than third threshold
B ' is replaced b that path P is added, is successively read the subsequent node of queue Q again later by value, until all nodes have been handled, with this
So that path P is smoothened;
Output module, for exporting final path P, robot is according to path P avoiding obstacles.
The third aspect, the embodiment of the present application provide a kind of robot, which is characterized in that it includes at least one function mould
Block and controller;
The controller includes memory and processor, wherein the memory is stored with computer program, described program
The method that the embodiment of the present application describes is realized when being executed by the processor.
Fourth aspect, the embodiment of the present application provide a kind of computer readable storage medium, are stored thereon with computer journey
Sequence, the computer program are used for:
The method as described in the embodiment of the present application is realized when the computer program is executed by processor.
Detailed description of the invention
By reading a detailed description of non-restrictive embodiments in the light of the attached drawings below, the application's is other
Feature, objects and advantages will become more apparent upon:
Fig. 1 shows the stream of the guide to visitors robot dynamic obstacle avoidance method provided by the embodiments of the present application based on changeable probability strategy
Journey schematic diagram;
Fig. 2 shows the guide to visitors robot dynamic obstacle avoidance devices based on changeable probability strategy that the another embodiment of the application provides
Structural block diagram.
Specific embodiment
The application is described in further detail with reference to the accompanying drawings and examples.It is understood that this place is retouched
The specific embodiment stated is used only for explaining related invention, rather than the restriction to the invention.It also should be noted that in order to
Convenient for description, part relevant to invention is illustrated only in attached drawing.
It should be noted that in the absence of conflict, the features in the embodiments and the embodiments of the present application can phase
Mutually combination.The application is described in detail below with reference to the accompanying drawings and in conjunction with the embodiments.
It is kept away referring to FIG. 1, Fig. 1 shows the guide to visitors Robotic Dynamic provided by the embodiments of the present application based on changeable probability strategy
The flow diagram of barrier method.
As shown in Figure 1, this method comprises:
Step 1 carries out mapping using Silhouette rendering algorithms;
Step 2 obtains robot starting point coordinate value and end coordinate values;
Step 3 generates path P, P=(p0, p1, p2...pn) using two-way rapidly-exploring random tree RRT, wherein and n >
0, pi indicates that the node in path, 0≤i≤n when the ambient state of search node, extend mesh using variable probability strategy
Punctuate, after generating a node pi, calculating robot and nearest barrier distance D are used if D is less than first threshold
Random function Random () generating probability value G, the probability value of generation is compared with second threshold, if probability value G is less than
Then node pi's second threshold meets the requirements, and is put into set of paths, assert node if probability value G is greater than or equal to second threshold
Pi is undesirable, regenerates new node, repeatedly generates the process of new node, until generating final path P;
The path P of generation is put into queue Q by step 4, reads three nodes a, b, c, three node compositions two every time
A line segment ab and bc, calculates the angle between two line segments, if angle is less than third threshold value, generates node according to step 3
Mode generates new node b ' between ac, until the angle between two line segment ab ' and b ' c is greater than third threshold value, by b ' generation
Path P is added for b, is successively read the subsequent node of queue Q again later, until having handled all nodes, path P is made with this
It is smoothened;
Step 5 exports final path P, and constantly updates routing information according to real-time policy, and robot is according to road
Diameter P avoiding obstacles.
Specifically, further including following steps after step 4: judge the distance between adjacent two nodes L in queue Q, if
Distance L is greater than the 4th threshold value, then to new node is inserted between two nodes, new node is to be randomly generated, and new node arrives
The distance of two nodes is greater than L/4.
Referring to FIG. 2, Fig. 2 shows the guide to visitors robot based on changeable probability strategy that the another embodiment of the application provides is dynamic
State obstacle avoidance apparatus structural block diagram
As shown in Fig. 2, the device includes:
Drafting module 10, for carrying out mapping using Silhouette rendering algorithms;
Index module 20, for obtaining robot starting point coordinate value and end coordinate values;
Path module 30 is used for using two-way rapidly-exploring random tree RRT generation path P, P=(p0, p1, p2...pn),
Wherein, n > 0, pi indicate the node in path, 0≤i≤n, when the ambient state of search node, using variable probability strategy
Target point is extended, after generating a node pi, calculating robot and nearest barrier distance D, if D is less than first threshold,
Random function Random () generating probability value G is then used, the probability value of generation is compared with second threshold, if probability
Value G is less than second threshold, and then node pi meets the requirements, and is put into set of paths, if probability value G is greater than or equal to second threshold
Assert that node pi is undesirable, regenerate new node, repeatedly generate the process of new node, until generating final path
P;
Leveling Block 40 reads three nodes a, b, c, three sections for the path P of generation to be put into queue Q every time
Point composition two line segments ab and bc, calculate the angle between two line segments, if angle is less than third threshold value, according to path module
The mode for generating node generates new node b ' between ac, until the angle between two line segment ab ' and b ' c is greater than third threshold
B ' is replaced b that path P is added, is successively read the subsequent node of queue Q again later by value, until all nodes have been handled, with this
So that path P is smoothened;
Output module 50 constantly updates routing information, machine for exporting final path P, and according to real-time policy
People is according to path P avoiding obstacles.
Specifically, further including optimization module, for judging the distance between adjacent two nodes L in queue Q, if distance L
Greater than the 4th threshold value, then to new node is inserted between two nodes, new node is to be randomly generated, new node to the phase
The distance of adjacent two nodes is greater than L/4.
As on the other hand, present invention also provides a kind of robot, robot device includes at least one functional module
And controller;The controller includes memory and processor, wherein the memory is stored with computer program, the journey
Sequence is executed the guide to visitors robot dynamic obstacle avoidance method based on changeable probability strategy for being described in the application by the processor.
As on the other hand, present invention also provides a kind of computer readable storage medium, the computer-readable storage mediums
Matter can be computer readable storage medium included in aforementioned device in above-described embodiment;It is also possible to individualism, not
The computer readable storage medium being fitted into equipment.Computer-readable recording medium storage has one or more than one journey
Sequence, foregoing routine are used to execute the leading based on changeable probability strategy for being described in the application by one or more than one processor
Look at Robotic Dynamic barrier-avoiding method.
It should be appreciated that each section of the application can be realized with hardware, software, firmware or their combination.Above-mentioned
In embodiment, software that multiple steps or method can be executed in memory and by suitable instruction execution system with storage
Or firmware is realized.Such as, if realized with hardware in another embodiment, following skill well known in the art can be used
Any one of art or their combination are realized: have for data-signal is realized the logic gates of logic function from
Logic circuit is dissipated, the specific integrated circuit with suitable combinational logic gate circuit, programmable gate array
(ProgrammableGate Array;Hereinafter referred to as: PGA), field programmable gate array (Field Programmable
Gate Array;Hereinafter referred to as: FPGA) etc..
Those skilled in the art are understood that realize all or part of step that above-described embodiment method carries
It suddenly is that relevant hardware can be instructed to complete by program, the program can store in a kind of computer-readable storage medium
In matter, which when being executed, includes the steps that one or a combination set of embodiment of the method.
It, can also be in addition, can integrate in a processing module in each functional unit in each embodiment of the application
It is that each unit physically exists alone, can also be integrated in two or more units in a module.Above-mentioned integrated mould
Block both can take the form of hardware realization, can also be realized in the form of software function module.The integrated module is such as
Fruit is realized and when sold or used as an independent product in the form of software function module, also can store in a computer
In read/write memory medium.
Storage medium mentioned above can be read-only memory, disk or CD etc..Although having been shown and retouching above
Embodiments herein is stated, it is to be understood that above-described embodiment is exemplary, and should not be understood as the limit to the application
System, those skilled in the art can be changed above-described embodiment, modify, replace and become within the scope of application
Type.
Claims (6)
1. a kind of guide to visitors robot dynamic obstacle avoidance method based on changeable probability strategy, which is characterized in that this method comprises:
Step 1 carries out mapping using Silhouette rendering algorithms;
Step 2 obtains robot starting point coordinate value and end coordinate values;
Step 3 generates path P, P=(p0, p1, p2...pn), wherein n > 0, pi using two-way rapidly-exploring random tree RRT
Indicate that the node in path, 0≤i≤n when the ambient state of search node, extend target point using variable probability strategy,
After generating a node pi, calculating robot and nearest barrier distance D use random letter if D is less than first threshold
Number Random () generating probability value G, the probability value of generation is compared with second threshold, if probability value G is less than the second threshold
Then node pi's value meets the requirements, and is put into set of paths, assert that node pi is not inconsistent if probability value G is greater than or equal to second threshold
It closes and requires, regenerate new node, repeatedly generate the process of new node, until generating final path P;
The path P of generation is put into queue Q by step 4, reads three nodes a, b, c every time, and three nodes form two lines
Section ab and bc, calculates the angle between two line segments, if angle is less than third threshold value, in such a way that step 3 generates node
New node b ' is generated between ac, until the angle between two line segment ab ' and b ' c is greater than third threshold value, b ' is added instead of b
Enter path P, be successively read the subsequent node of queue Q again later, until having handled all nodes, with this path P is become
Smoothly;
Step 5 exports final path P, and constantly updates routing information according to real-time policy, and robot is kept away according to path P
Open barrier.
2. the method according to claim 1, wherein further including following steps after step 4: judging in queue Q
The distance between adjacent two nodes L, if distance L is greater than the 4th threshold value, to new node is inserted between two nodes, newly
Node is to be randomly generated, and the distance of new node to the adjacent two nodes is greater than L/4.
3. a kind of guide to visitors robot dynamic obstacle avoidance device based on changeable probability strategy, which is characterized in that the device includes: drafting mould
Block, for carrying out mapping using Silhouette rendering algorithms;
Index module, for obtaining robot starting point coordinate value and end coordinate values;
Path module is used for using two-way rapidly-exploring random tree RRT generation path P, P=(p0, p1, p2...pn),
Wherein, n > 0, pi indicate the node in path, 0≤i≤n, when the ambient state of search node, using variable probability
Strategy extension target point, after generating a node pi, calculating robot and nearest barrier distance D, if D is less than the first threshold
Value then uses random function Random () generating probability value G, the probability value of generation is compared with second threshold, if generally
Rate value G is less than second threshold, and then node pi meets the requirements, and is put into set of paths, if probability value G is greater than or equal to second threshold
Then assert that node pi is undesirable, regenerate new node, repeatedly generate the process of new node, until generating final road
Diameter P;
Leveling Block reads three nodes a, b, c, three node compositions for the path P of generation to be put into queue Q every time
Two line segments ab and bc, calculate the angle between two line segments, if angle is less than third threshold value, generates and save according to path module
The mode of point generates new node b ' between ac, until the angle between two line segment ab ' and b ' c is greater than third threshold value, it will
B ' replaces b that path P is added, and is successively read the subsequent node of queue Q again later, until having handled all nodes, is made with this
Path P is smoothened;
Output module constantly updates routing information for exporting final path P, and according to real-time policy, robot according to
Path P avoiding obstacles.
4. device according to claim 3, which is characterized in that further include optimization module, for judging adjacent two in queue Q
The distance between node L, if distance L is greater than the 4th threshold value, to being inserted into new node between two nodes, new node is
It is randomly generated, the distance of new node to the adjacent two nodes is greater than L/4.
5. a kind of robot, which is characterized in that including memory, processor and be stored on the memory and can be at the place
The computer program run on reason device when the processor executes the computer program, is realized as any in claim 1-2
The method.
6. a kind of computer readable storage medium, is stored thereon with computer program, which is characterized in that the computer program quilt
The method as described in any in claim 1-2 is realized when processor executes.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910358357.XA CN110118559B (en) | 2019-04-30 | 2019-04-30 | Navigation robot dynamic obstacle avoidance method and device based on variable probability strategy |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910358357.XA CN110118559B (en) | 2019-04-30 | 2019-04-30 | Navigation robot dynamic obstacle avoidance method and device based on variable probability strategy |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110118559A true CN110118559A (en) | 2019-08-13 |
CN110118559B CN110118559B (en) | 2021-05-25 |
Family
ID=67521667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910358357.XA Active CN110118559B (en) | 2019-04-30 | 2019-04-30 | Navigation robot dynamic obstacle avoidance method and device based on variable probability strategy |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110118559B (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110035087A1 (en) * | 2009-08-10 | 2011-02-10 | Samsung Electronics Co., Ltd. | Method and apparatus to plan motion path of robot |
CN102565810A (en) * | 2011-12-30 | 2012-07-11 | 武汉大学 | Method for extracting land utilization landmark boundary outline on remote sensing image |
CN108762270A (en) * | 2018-06-01 | 2018-11-06 | 上海理工大学 | The two-way rapidly-exploring random tree modified two-step method planning algorithm of changeable probability |
CN108983780A (en) * | 2018-07-24 | 2018-12-11 | 武汉理工大学 | One kind is based on improvement RRT*The method for planning path for mobile robot of algorithm |
CN109116841A (en) * | 2018-07-23 | 2019-01-01 | 昆明理工大学 | A kind of path planning smooth optimization method based on ant group algorithm |
CN109582024A (en) * | 2018-12-27 | 2019-04-05 | 济南大学 | A kind of paths planning method of intelligence scraper |
-
2019
- 2019-04-30 CN CN201910358357.XA patent/CN110118559B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110035087A1 (en) * | 2009-08-10 | 2011-02-10 | Samsung Electronics Co., Ltd. | Method and apparatus to plan motion path of robot |
CN102565810A (en) * | 2011-12-30 | 2012-07-11 | 武汉大学 | Method for extracting land utilization landmark boundary outline on remote sensing image |
CN108762270A (en) * | 2018-06-01 | 2018-11-06 | 上海理工大学 | The two-way rapidly-exploring random tree modified two-step method planning algorithm of changeable probability |
CN109116841A (en) * | 2018-07-23 | 2019-01-01 | 昆明理工大学 | A kind of path planning smooth optimization method based on ant group algorithm |
CN108983780A (en) * | 2018-07-24 | 2018-12-11 | 武汉理工大学 | One kind is based on improvement RRT*The method for planning path for mobile robot of algorithm |
CN109582024A (en) * | 2018-12-27 | 2019-04-05 | 济南大学 | A kind of paths planning method of intelligence scraper |
Non-Patent Citations (1)
Title |
---|
WU XINGGANG: "Variable probability based bidirectional RRT algorithm for UAV path planning", 《IEEE》 * |
Also Published As
Publication number | Publication date |
---|---|
CN110118559B (en) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11970161B2 (en) | Apparatus, method and article to facilitate motion planning of an autonomous vehicle in an environment having dynamic objects | |
US20230159056A1 (en) | Method and apparatus for planning obstacle avoidance path of traveling apparatus | |
CN102520718B (en) | Physical modeling-based robot obstacle avoidance path planning method | |
JP5511485B2 (en) | Animation planning method and apparatus for dynamic graph | |
WO2020256418A3 (en) | Computing system for implementing virtual sensor by using digital twin, and real-time data collection method using same | |
CN109839935A (en) | The paths planning method and equipment of more AGV | |
CN109885891A (en) | A kind of intelligent vehicle GPU accelerates method for planning track parallel | |
CN110044359A (en) | A kind of guide to visitors robot path planning method, device, robot and storage medium | |
CN111640089A (en) | Defect detection method and device based on feature map center point | |
JP6850324B2 (en) | Obstacle distribution simulation method, device, terminal and program based on multi-model | |
CN114705196B (en) | Self-adaptive heuristic global path planning method and system for robot | |
CN110487290B (en) | Unmanned vehicle local path planning method based on variable step size A star search | |
WO2018090769A1 (en) | Route identification method and system | |
KR20090091796A (en) | Method and apparatus for multi-level ray tracing | |
CN110118559A (en) | A kind of guide to visitors robot dynamic obstacle avoidance method and apparatus based on changeable probability strategy | |
Lai et al. | Path planning and obstacle avoidance approaches for robot arm | |
JP2021033685A (en) | Learning program and learning method | |
CN116764225B (en) | Efficient path-finding processing method, device, equipment and medium | |
CN104504719A (en) | Image edge detection method and equipment | |
CN114117944B (en) | Model updating method, device, equipment and readable storage medium | |
JP2021515705A (en) | Methods, devices, systems and programs that control robots, and storage media | |
CN101256402B (en) | Method, system and digital control equipment for determining digital control process course | |
TW202009814A (en) | Method and apparatus for determining traveling path of agent | |
US20240028784A1 (en) | Segmenting a building scene | |
TWI716127B (en) | Robot and system for generating path interpolation command thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |