Sign In to Follow Application
View All Documents & Correspondence

System And Method For Automated Perpendicular Parking Of Autonomous Vehicles

Abstract: When it comes to automated perpendicular parking of autonomous vehicles, almost all of the existing systems in place perform single maneuvering to park the vehicle. However, in tight parking spaces, single maneuvering has been proven ineffective, and often cause collisions. As a solution, system and method for automated perpendicular parking of an autonomous vehicle are disclosed, wherein the system performs single maneuvering or multiple maneuvering, as per requirements identified in real-time. The system uses a parked vehicle in the parking area as a reference point, and checks for free space near the parked vehicle. Upon identifying sufficient space, the system performs single maneuvering and multiple maneuvering to perform perpendicular parking of the autonomous vehicle, in the identified free space.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
12 May 2020
Publication Number
47/2021
Publication Type
INA
Invention Field
ELECTRONICS
Status
Email
ip@legasis.in
Parent Application

Applicants

Tata Consultancy Services Limited
Nirmal Building, 9th Floor, Nariman Point, Mumbai - 400021, Maharashtra, India

Inventors

1. SONAWANE, Vinayak Dhondiba
Tata Consultancy Services Limited, Plot No. 2 & 3, MIDC-SEZ, Rajiv Gandhi Infotech Park Hinjewadi Phase III, Pune - 411057, Maharashtra, India
2. TAMBOLI, Asif
Tata Consultancy Services Limited, Plot No. 2 & 3, MIDC-SEZ, Rajiv Gandhi Infotech Park Hinjewadi Phase III, Pune - 411057, Maharashtra, India
3. SARAF, Akshay
Tata Consultancy Services Limited, Plot No. 2 & 3, MIDC-SEZ, Rajiv Gandhi Infotech Park Hinjewadi Phase III, Pune - 411057, Maharashtra, India

Specification

Claims:

1. A processor-implemented method (300) for automated perpendicular parking of an autonomous vehicle, comprising:
identifying (302) a parked vehicle in a parking area, via one or more hardware processors, by the autonomous vehicle;
aligning the autonomous vehicle, with respect to the identified parked vehicle, by executing (304) a misalignment logic, via the one or more hardware processors, by the autonomous vehicle;
checking whether a free space detected near the parked vehicle is sufficient to park the autonomous vehicle, by executing (306) a free space detection logic, via the one or more hardware processors, by the autonomous vehicle; and
executing at least one of a single maneuvering (312) and a multiple maneuvering (314) to perform the perpendicular parking of the autonomous vehicle in the detected free space, if the free space is identified as sufficient to park the autonomous vehicle, by the autonomous vehicle, comprising:
calculating (702) a steering angle and a distance to be covered with the calculated steering angle, based on a single maneuvering logic;
maneuvering (704) the autonomous vehicle along a first path defined in terms of the calculated steering angle and the calculated distance;
determining after maneuvering along the first path for the calculated distance, based on at least one real-time sensor input, whether further maneuvering along the first path can result in collision with any object;
calculating value of at least one control parameter to generate at least one alternate path, based on a multiple maneuvering logic, if further maneuvering along the first path is identified as resulting in collision; and
maneuvering the autonomous vehicle along the at least one alternate path.

2. The method as claimed in claim 1, wherein identifying the parked vehicle comprises of:
detecting (404) an object in the parking area, based on data collected using at least one sensor on the autonomous vehicle, by the autonomous vehicle, while moving in the parking area;
identifying (406) width of the object, if the object is identified as within a set distance from the autonomous vehicle;
checking (408) whether the identified width of the object exceeds width of the autonomous vehicle; and
identifying (410) the object as a parked vehicle, if the width of the object is at least equal to the width of the autonomous vehicle.

3. The method as claimed in claim 1, wherein executing the misalignment logic comprises of:
collecting (502) readings with respect to distance of the parked vehicle from a first side sensor (S1) and a second side sensor (S2) of the autonomous vehicle;
calculating (504) a misalignment angle from the readings collected from the first side sensor and the second side sensor;
checking (506) whether the misalignment angle exceeds a threshold value of misalignment angle;
calculating value of at least one of a counter steering angle and a distance, so as to reduce the misalignment angle below the threshold value, if the misalignment angle is found to be exceeding the threshold value of misalignment angle; and
maneuvering (520) the autonomous vehicle, based on the calculated value of at least one of the counter steering angle and the distance.

4. The method as claimed in claim 1, wherein executing the free space detection logic comprises of:
taking (602) reading with respect to distance of the parked vehicle from a first side sensor (S1) of the autonomous vehicle;
checking (604) whether the reading taken from the first side sensor is at least equal to a value matching sum of length (L) of the parked vehicle and distance (Xc) between the autonomous vehicle and the parked vehicle, when parked perpendicular to each other;
measuring (608) available free space width, if the reading from the first side sensor is identified as at least equal to (Xc + L);
checking (610) whether the measured available free space width exceeds a threshold value of free space; and
moving (614) the vehicle by a distance Xd, if the measured free space is identified as exceeding the threshold value of free space.

5. An automated parking control unit (101), comprising:
a processing module (206) comprising a plurality of hardware processors; and
a memory module (204) comprising a plurality of instructions, said plurality of instructions causing at least one of the plurality of hardware processors to:
identify a parked vehicle in a parking area, by using a vehicle detection and alignment module (202) of the automated parking control unit;
align the autonomous vehicle, with respect to the identified parked vehicle, by executing a misalignment logic, by using the vehicle detection and alignment module (202);
check whether a free space detected near the parked vehicle is sufficient to park the autonomous vehicle, by executing a free space detection logic, by using a free space detection module (203) of the automated parking control unit; and
execute at least one of a single maneuvering and a multiple maneuvering to perform the perpendicular parking of the autonomous vehicle in the detected free space, if the free space is identified as sufficient to park the autonomous vehicle, by using a maneuvering module (205) of the automated parking control unit, wherein the maneuvering module (205) executes at least one of the single maneuvering and the multiple maneuvering by:
calculating a steering angle and a distance to be covered with the calculated steering angle, based on a single maneuvering logic;
maneuvering the autonomous vehicle along a first path defined in terms of the calculated steering angle and the calculated distance;
determining after maneuvering along the first path for the calculated distance, based on at least one real-time sensor input, whether further maneuvering along the first path can result in collision with any object;
calculating value of at least one control parameter to generate at least one alternate path, based on a multiple maneuvering logic, if further maneuvering along the first path is identified as resulting in collision; and
maneuvering the autonomous vehicle along the at least one alternate path.

6. The automated parking control unit (101) as claimed in claim 5, wherein the vehicle detection and alignment module identifies the parked vehicle by:
detecting an object in the parking area, based on data collected using at least one sensor on the autonomous vehicle, while the autonomous vehicle is moving in the parking area;
identifying width of the object, if the object is identified as within a set distance from the autonomous vehicle;
checking whether the identified width of the object exceeds width of the autonomous vehicle; and
identifying the object as a parked vehicle, if the width of the object is at least equal to the width of the autonomous vehicle.

7. The automated parking control unit (101) as claimed in claim 5, wherein the vehicle detection and alignment module (202) executes the misalignment logic by:
collecting readings with respect to distance of the parked vehicle from a first side sensor (S1) and a second side sensor (S2) of the autonomous vehicle;
identifying a misalignment angle from the readings collected from the first side sensor and the second side sensor;
checking whether the misalignment angle exceeds a threshold value of misalignment angle;
calculating value of at least one of a counter steering angle and a distance, so as to reduce the misalignment angle below the threshold value, if the misalignment angle is found to be exceeding the threshold value of misalignment angle; and
providing the calculated value of at least one of the counter steering angle and the distance as input to the reverse maneuvering module, to maneuver the autonomous vehicle according to the at least one of the counter steering angle and the distance.

8. The automated parking control unit (101) as claimed in claim 5, wherein the free space detection logic module (203) executes the free space detection logic by:
taking reading with respect to distance of the parked vehicle from a first side sensor (S1) of the autonomous vehicle;
checking whether the reading taken from the first side sensor is at least equal to a value matching sum of length (L) of the parked vehicle and distance (Xc) between the autonomous vehicle and the parked vehicle when parked perpendicular to each other;
measuring available free space width, if the reading from the first side sensor is identified as at least equal to (Xc + L);
checking whether the measured available free space width exceeds a threshold value of free space;
calculating a distance Xd by which the autonomous vehicle is to be maneuvered, if the measured free space is identified as exceeding the threshold value of free space; and
providing the calculated Xd as input to the reverse maneuvering module, to maneuver the autonomous vehicle by a distance equal to Xd.
, Description:FORM 2

THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENT RULES, 2003

COMPLETE SPECIFICATION
(See Section 10 and Rule 13)

Title of invention:
SYSTEM AND METHOD FOR AUTOMATED PERPENDICULAR PARKING OF AUTONOMOUS VEHICLES

Applicant:
Tata Consultancy Services Limited
A company Incorporated in India under the Companies Act, 1956
Having address:
Nirmal Building, 9th Floor,
Nariman Point, Mumbai 400021,
Maharashtra, India

The following specification particularly describes the invention and the manner in which it is to be performed.

TECHNICAL FIELD
[001] The disclosure herein generally relate to autonomous vehicles, and, more particularly, to a system and method for automated perpendicular parking for autonomous vehicles.

BACKGROUND
[002] Autonomous vehicles are considered future of transportation. Intense research is happening in this field, and many companies have already developed autonomous vehicles. Step by step, features are getting integrated to the autonomous vehicles. With the advancement in technology, these vehicles are now capable of performing autonomous driving, maneuvering, collision avoidance, and so on. However, it is to be noted that the technologies that support the aforementioned aspects are still in the developmental stage.
[003] When it comes to vehicles, apart from the actions/features listed above, another important aspect is parking of the vehicle. In normal cars for example, driver of the car, while parking the vehicle, has to initially find a parking space. After finding a parking space, the driver performs one or more maneuvering to park the vehicle in the identified space. The autonomous vehicles are expected to park by themselves, hence are to perform the actions such as but not limited to identification of parking space, and maneuvering to park the vehicle automatically. Though at a broad level these steps may sound simple, human brain performs a lot of calculations and decision making so as to effectively perform the parking. Replicating this in a machine environment is the challenge researchers are facing.
[004] Perpendicular parking is one type of parking in which vehicles are parked side by side, perpendicular to a wall or some structure. There exist some systems which handle automated perpendicular parking. However, complexity of parking increases under certain circumstances. For example, in a congested parking space, when only a tight space is available for parking, the existing systems fail to maneuver properly, which results in collision.

SUMMARY
[005] Embodiments of the present disclosure present technological improvements as solutions to one or more of the above-mentioned technical problems recognized by the inventors in conventional systems. For example, in one embodiment, a processor-implemented method for automated perpendicular parking of an autonomous vehicle is provided. In this method, an autonomous vehicle, while moving in a parking area, checks for and identifies a parked vehicle in the parking area, via one or more hardware processors. Further, the autonomous vehicle aligns own position with respect to the identified parked vehicle, by executing a misalignment logic, via the one or more hardware processors. The autonomous vehicle further checks whether a free space detected near the parked vehicle is sufficient to park the autonomous vehicle, by executing a free space detection logic, via the one or more hardware processors. If the free space is identified as sufficient to park the autonomous vehicle, then at least one of a single maneuvering and a multiple maneuvering is executed to perform the perpendicular parking of the autonomous vehicle in the detected free space.
[006] In another aspect, an automated parking control unit is provided. A storage medium in the automated parking control unit stores a plurality of instructions, and the plurality of instructions cause a hardware processor in the automated parking control unit to identify a parked vehicle in a parking area, via one or more hardware processors, by a vehicle detection and alignment module of the automated parking control unit. Further, the vehicle detection and alignment module aligns the autonomous vehicle with respect to the identified parked vehicle, by executing a misalignment logic. After aligning the autonomous vehicle with respect to the parked vehicle, a free space detection module of the automated parking control unit checks whether a free space detected near the parked vehicle is sufficient to park the autonomous vehicle, by executing a free space detection logic, via the one or more hardware processors. If the free space is identified as sufficient to park the autonomous vehicle, then a reverse maneuvering module of the automated parking control unit executes at least one of a single maneuvering and a multiple maneuvering to perform the perpendicular parking of the autonomous vehicle in the detected free space.
[007] It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

[008] The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the disclosed principles:
[009] FIG. 1 illustrates a block diagram of an autonomous vehicle depicting components to perform automated parking according to some embodiments of the present disclosure. .
[010] FIG. 2 is a functional block diagram depicting components of an autonomous parking control unit in the autonomous vehicle of FIG. 1, according to some embodiments of the present disclosure.
[011] FIG. 3 is a flow diagram depicting steps involved in the process of performing automated perpendicular parking of the autonomous vehicle of FIG. 1, in accordance with some embodiments of the present disclosure.
[012] FIG. 4 is a flow diagram depicting steps involved in the process of identifying a parked vehicle in a parking area, by the autonomous vehicle of FIG. 1, in accordance with some embodiments of the present disclosure.
[013] FIG. 5 is a flow diagram depicting steps involved in the process of executing a misalignment logic, by the autonomous vehicle of FIG. 1, in accordance with some embodiments of the present disclosure.
[014] FIGS. 6A and 6B are flow diagrams depicting steps involved in the process of identifying free space for performing the automated perpendicular parking of the autonomous vehicle of FIG. 1, in accordance with some embodiments of the present disclosure.
[015] FIGS. 7A through 7C are flow diagrams depicting steps involved in the process of performing single maneuvering and/or multiple maneuvering for performing the automated perpendicular parking of the autonomous vehicle of FIG. 1, in accordance with some embodiments of the present disclosure.
[016] FIG. 8 is a flow diagram depicting steps involved in the process of executing a first scenario approach in multiple maneuvering for perpendicular parking of the autonomous vehicle of FIG. 1, in accordance with some embodiments of the present disclosure.
[017] FIG. 9 is a flow diagram depicting steps involved in the process of executing a second scenario approach in multiple maneuvering for perpendicular parking of the autonomous vehicle of FIG. 1, in accordance with some embodiments of the present disclosure.
[018] FIG. 10 is a flow diagram depicting steps involved in the process of executing a third scenario approach in multiple maneuvering for perpendicular parking of the autonomous vehicle of FIG. 1, in accordance with some embodiments of the present disclosure.
[019] FIG. 11a through 11u depict examples of vehicle movement and parameter value collection at various stages of the automated perpendicular parking, in accordance with some embodiments of the present disclosure.
DETAILED DESCRIPTION OF EMBODIMENTS
[020] Exemplary embodiments are described with reference to the accompanying drawings. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. Wherever convenient, the same reference numbers are used throughout the drawings to refer to the same or like parts. While examples and features of disclosed principles are described herein, modifications, adaptations, and other implementations are possible without departing from the spirit and scope of the disclosed embodiments. It is intended that the following detailed description be considered as exemplary only, with the true scope and spirit being indicated by the following claims.
[021] Referring now to the drawings, and more particularly to FIGS. 1 through 11u, where similar reference characters denote corresponding features consistently throughout the figures, there are shown preferred embodiments and these embodiments are described in the context of the following exemplary system and/or method.
[022] FIG. 1 illustrates a block diagram of an autonomous vehicle depicting components to perform automated parking according to some embodiments of the present disclosure. The Autonomous Vehicle (also referred to as ‘AV’ throughout the description) 100, in addition to other regular components, includes an automated parking control unit 101 that is configured to process inputs with respect to one or more parameters (collected in real-time), identify at least one trajectory to be followed by the AV 100 in order to complete automated perpendicular parking, and generates values of different parameters of the AV 100 to be controlled to make the AV 100 follow a path defined in terms of the trajectory, and provide appropriate values/instructions to the vehicle control unit 102. The vehicle control unit 102 works in conjunction with the automated parking control unit 101, to make sure that the AV 100 follows the path defined by the automated parking control unit 101 and completes the automated perpendicular parking. In various embodiments, the automated control unit 101 may be an integrated component of the AV 100 or may be a standalone component that may be attached to the AV 100 when needed.
[023] In an embodiment, the automated parking control unit 101 gets activated when parking of the AV 100 is initiated by a user by performing a pre-defined action. For example, the user may press a dedicated button given in dashboard of the AV 100. In another example, the user may remotely initiate the automated perpendicular parking from an application installed in a mobile phone of the user. The automated parking control unit 101 may further ask for a user confirmation to initiate an automated parking procedure. In an embodiment, irrespective of how the perpendicular parking is triggered/initiated by a user, the automated parking control unit 101 automatically performs all actions leading to perpendicular parking of the AV 100.
[024] Upon getting activated, the automated parking control unit 101 collects in real-time, using one or more sensors attached to the AV 100, inputs with respect to one or more parameters to be analyzed to perform various actions associated with the automated perpendicular parking. While the automated perpendicular parking has been initiated, the automated parking control unit 101 starts scanning the environment (in a closed/open parking area where the AV 100 is present) and checks for a parked vehicle in the parking area. In an embodiment, the automated parking control unit 101 uses a parked vehicle identified in the parking area as a reference point for performing various actions with respect to the automated perpendicular parking of the AV 100.
[025] After identifying a parked vehicle, the automated parking control unit 101 performs a misalignment logic to align the AV 100 with respect to the identified parked vehicle. After aligning the AV 100, the automated parking control unit 101 checks for free space near the identified parked vehicle, which is sufficient to park the AV 100. If parking space that satisfies requirements in terms of space required for parking the AV 100 is found, then the automated parking control unit 101 initiates an appropriate reverse maneuvering logic (i.e. at least one of a single maneuvering logic and a multiple maneuvering logic) to park the AV 100 in the identified parking space. The automated parking control unit 101 generates instructions to the vehicle control unit 102 according to the selected maneuvering logic.
[026] The vehicle control unit 102 is in communication with the automated parking control unit 101 and collects the instructions at the vehicle control unit 102. Further, by analyzing the collected instructions, the vehicle control unit 102 identifies which all components of the AV 100 is to be controlled, and to what extent (in terms of values), and accordingly generates control signals to appropriate components to make sure that the AV 100 follows the path decided by the automated parking control unit 101 for parking the AV 100. For example, the control signals may regulate working of at least one of steering, break, and gear of the AV 100. The control signals may also regulate distance covered by the AV 100.
[027] FIG. 2 is a functional block diagram depicting components of an autonomous parking control unit in the autonomous vehicle 100 of FIG. 1, according to some embodiments of the present disclosure. The autonomous parking control unit 101 includes an Input/Output (I/O) module 201, a vehicle detection and alignment module 202, a free space detection module 203, a memory module 204, a maneuvering module 205, and a processing module 206. The maneuvering module 205 further includes a single maneuvering module 205.a, and a multiple maneuvering module 205.b.
[028] The I/O module 201 is configured to provide at least one channel with one or more suitable communication protocols, for the automated parking control unit 101 to establish communication with one or more external entities. The term ‘external entities’ in this context may refer to a module/component outside the autonomous parking control unit 101 that is in communication with the autonomous parking control unit 101 for exchange of information (for example, sensors attached to the AV 100). In another embodiment, the ‘external entity’ may be a user (for example, an authorized user) who communicates with the automated parking control unit 101, through an appropriate User Interface (UI) provided. The user may communicate with the autonomous parking control unit 101 to change/configure any settings and/or preferences when needed. For example, the user can provide details pertaining to various static vehicle parameters (for example, length, width, turning angle and so on) as input to the automated parking control unit 101. The I/O module 201 may be further configured to provide appropriate channels and communication protocols for other components of the autonomous parking control unit 101 to establish communication with each other.
[029] The vehicle detection and alignment module 202 is configured to perform scanning of parking area where the AV 100 is present when the automated parking is initiated by a user, and execute a parked vehicle detection logic to detect a parked vehicle in the parking area. The vehicle detection and alignment module 202, while executing the parked vehicle detection logic, collects sensor readings from a side sensor (S1) of the AV 100, and checks any of the objects identified by S1 is within a pre-specified distance from the AV 100 (as depicted in Fig. 11a). If any of the objects is identified as within the specified distance, the vehicle detection and alignment module 202 further measures width of that particular object, based on readings from the sensor S1, and compares the calculated width with width of the AV 100. If the measured width is identified as at least equal to (may be equal to or exceeding) width of the AV 100, then the vehicle detection and alignment module 202 confirms that the identified object is a parked vehicle, and further measures distance (Xc) between the AV 100 and the parked vehicle.
[030] The vehicle detection and alignment module 202 further executes a ‘first misalignment logic’ to align the AV 100 with respect to the parked vehicle. Execution of the first misalignment logic includes the following steps:
[031] The vehicle detection and alignment module 202 obtains readings from two side sensors (S1 and S2), processes the readings, and obtains a misalignment angle. The misalignment angle indicates whether the AV 100 is misaligned with respect to the parked vehicle, and to what extent. The misalignment angle can be calculated based on readings from side sensors of the AV 100. For example, when the AV 100 is a two vehicles are parked parallel to each other, side sensor readings are same (or within a set limit of deviation). However, if the AV 100 is positioned in an inclined manner with respect to the parked vehicle, then values from the side sensors are different i.e., one side sensor is closer to the parked vehicle, whereas the other one is comparatively far from the parked vehicle. If misalignment of the AV 100 indicated by the misalignment angle is identified as exceeding a threshold value of misalignment, the vehicle detection and alignment module 202 checks whether at least one of a plurality of pre-defined conditions is true. The plurality of conditions referred to here are provided below:
Condition 1:
If (S2>S1) and S1 Xcmin
OR
If (S1>S2) and S1 > Xcmin and S2S2) and S1Xcmin
OR
If (S1>S2) and S2>Xcmin
where,
S1 is reading from sensor S1,
S2 is reading from sensor S2, and
Xcmin is minimum distance required between the AV 100 and the parked vehicle, which is determined based on turning radius of the AV 100.
[032] It is to be noted that these conditions are exemplary, and may be changed as per requirements or to suit parking under certain circumstances/conditions. Upon identifying that one of the conditions is true for values collected in real time, the vehicle detection and alignment module 202 performs a calculation that matches the condition that is identified as true, and determines values of counter steering angle and distance. The counter steering angle is calculated as:
Maximum outer steering angle = atan(Lo/R) --- (1)
Phi = atan(S2 - S1)/Lo --- (2)
Theta = Maximum outer steering angle - abs(Phi) --- (3)
Direction of steering movement
= Towards parked car(if Required steering angle < 0)
= Away from parked car(if Required steering angle > 0)
Required steering angle = Theta + Phi --- (4)
[033] Similarly, distance also is calculated. In an embodiment, different approaches may be adapted for distance calculation, as required by different cases depicted in Fig. 11. For example, for the cases 1, 2, 5, and 6, distance value is pre-defined (as 100mm). For cases 3 and 4,
if S2 > S1
E = Xc - S2*cos(Phi) --- (5)
Where, E is the value by which subject vehicle is inside Xc
Required distance = E/(sin(90 - atan(Lo/R))) --- (6)
else
E = Xc - S1*cos(Phi) --- (7)
Required distance = E/(sin(Theta) --- (8)
[034] The vehicle detection and alignment module 202, through the vehicle control unit 102, maneuvers the AV 100 by the calculated values of the steering angle and the distance so as to align the AV 100 with respect to the parked vehicle. In an embodiment, position of the AV 100 is considered as aligned with that of the parked vehicle, when values of readings from side sensors of the AV 100 are same or is difference between the values is within a deviation limit. In various embodiments, based on how the vehicles are positioned/aligned to each other, misalignment scenarios change, and in turn, one of the aforementioned conditions can be true. A few examples of various such scenarios are depicted in Figs. 11b, 11c, and 11d.
[035] Once the AV 100 is aligned with respect to the parked vehicle, then the free space detection module 203 executes a free space detection logic to identify a free space near the parked vehicle, which is sufficient to park the AV. One example scenario of executing free space detection logic in real-time is depicted in Fig. 11e. Steps involved while free space detection module 203 executes the free space detection logic are as follows. While the AV 100 is moving forward in the parking area, the free space detection module 203 collects reading from the sensor S1, and checks whether reading from S1 exceeds a value matching sum of distance between S1 and the parked vehicle (Xc) and length (L) of the parked vehicle.
i.e. whether S1 > (Xc + L) ---- (9)
[036] If on first attempt the value of S1 is found to be not exceeding (Xc + L), then the action is repeated while the AV 100 is moving in the parking area, till values satisfying the S1 > (Xc + L) condition are obtained (probably from a different spot in the parking area). When this condition is satisfied, then the free space detection module 203 measures width of available free space, and checks if the measured width is at least equal to (greater than or equal to) a threshold value of width. In an embodiment, the threshold value of width is set as equal to (width of AV + 1 meter). If necessary width is found to be available, then the free space detection module 203 confirms that required free space is found to park the AV 100, and moves the AV 100 by a distance Xd. Value of Xd is calculated as:
Xd = R + Lo – ((P+W)/2) --- (10)
where
Lo = wheelbase length of the AV 100
W = width of the AV 100
P = available parking space
R = turning radius of the AV 100
[037] The turning radius of the AV 100 I calculated as:
R = Xc + (L/2) + ((W-Wo)/2) + Wo --- (11)
where
W = width of the AV 100
L = total length of the AV 100
Wo = wheelbase width of the AV 100

[038] The memory module 204 (also referred to as a ‘storage medium’) is configured to store any information related to any step being executed by the automatic parking control unit 101, or any data required as input for working of any component of the automatic parking control unit 101. For example, the memory module 204 stores values of different threshold values being used by the other components of the automatic parking control unit 101. The memory module 204 can be configured to provide access to the data stored in any of the associated databases, in response to a valid data access request. The memory module 204 may be configured to use volatile and/or non-volatile memory for storing data, and may also provide provision to allow an authorized person to edit/change certain data. For example, if any of the threshold values is to be changed, a person with sufficient permissions can do that.
[039] The maneuvering module 205 is configured to perform reverse maneuvering of the AV 100 when the automated parking of the AV 100 is initiated. In an embodiment, the maneuvering module 205 performs at least one of a single maneuvering (as depicted in Fig. 11f) and a multiple maneuvering (as depicted in Fig. 11g), to perform the automated parking of the AV 100. The single maneuvering is performed upon identifying that from current position of the AV 100, perpendicular parking of the AV 100 can be performed with a steering angle and distance calculated based on a single maneuvering logic. The multiple maneuvering is performed when parameters such as but not limited to steering angle, and distance, calculated based on the single maneuvering logic is found to be not achieving the perpendicular parking of the AV 100. For example, assume that the AV 100 is in a tight/congested parking area. In that scenario, multiple back and forth movements with different steering angles, for different distances may be required to perform parking of the AV 100 in an identified parking space. The multiple maneuvering logic is executed in such scenarios. In an embodiment, the multiple maneuvering logic is executed only if the single maneuvering logic is found to be not suitable for parking the AV 100.
Single maneuvering logic:
[040] The single maneuvering module 205.a is configured to calculate a steering angle, and a distance to be covered with the calculated steering angle; as given below:
Reverse Steering angle = atan(Lo/(R - Wo)) --- (12)
where
Lo = Wheel base length
Wo = Wheel base width
R = turning radius of the AV 100
Value of R is calculated as:
R = Xc + L/2 + ((W-Wo)/2) + Wo --- (13)
where
W = Width of car
L= Total length of car
Wo = wheelbase width
Similarly, value of Xd, which is a distance to be moved after required free space is found, is calculated as:
R (Turning Radius) = Xc + L/2 + ((W-Wo)/2) + Wo --- (14)
Curve Distance = 90*pi*R/180(degree) --- (15)
[041] Further, the single maneuvering module 205.a triggers maneuvering of the AV 100, with the calculated steering angle, for the calculated distance). After moving the AV 100 by the calculated distance, the single maneuvering module 205.a collects reading from a sensor R4 in the rear of the AV 100 (wherein off all the sensors in the rear of the AV 100, R4 is closest to the parked vehicle; which also means that reading from R4 also indicates minimum distance (Rmin) between the AV 100 and the parked vehicle), and checks whether the collected value of R4/Rmin is less than a pre-set threshold value (for example, 0.9). If the R4/Rmin value is found to be greater than the threshold, then that indicates that distance between the AV 100 and the parked vehicle is sufficient enough to complete the parking of AV 100 without any possible collision. In that case, the single maneuvering module 205.a checks whether the AV 100 has completed travelling the calculated distance. If the AV 100 has covered the calculated distance, then the single maneuvering module 205.a triggers setting the steering angle to zero, and movement of the AV 100 in reverse direction by a distance equal to wheelbase length of the AV 100. After that, values of 1st straight forward maneuvering distance and a second straight forward distance are calculated.
Multiple maneuvering logic:
[042] If the R4/Rmin value is found to be less than or equal to value of the threshold, then that would indicate that the AV 100 doesn’t have sufficient space to complete parking with the steering angle and distance calculated based on the single maneuvering logic. At this stage, the multiple maneuvering module 205.b collects readings from rear sensors (R1, R2, R3, and R4) as well as from a side sensor S4. The multiple maneuvering module 205.b further checks based on the collected sensor readings if at least one of a plurality of conditions is true. The conditions referred to here are given below:
1. (a) R1R2) and (R3 threshold). If the aforementioned condition is true (as depicted in Figs. 11r and 11s), the multiple maneuvering module 205.b triggers a scenario 2 approach (as depicted in Figs. 11j and 11k) for parking the AV 100. If the aforementioned condition is false, then the multiple maneuvering module 205.b confirms that automated perpendicular parking of the AV 100 has been completed. In an embodiment, in all the approaches referred to here (i.e. the scenario 1 approach, scenario 2 approach, and scenario 3 approach), values of one or more parameters such as but not limited to steering angle, distance to be travelled with the steering angle, as well as direction of maneuvering (i.e. forward or reverse) are determined/calculated. Calculations and equations are provided below:
For scenario 1 approach:
distance
= [(P-W)/2 + R*(1 - sin(tilt)) + (W1 + W2)*(1 - sin(tilt))]/cos(tilt); --(16) (if reading from sensor R2 is selected for calculation, based on position of the AV 100 and the parked vehicle)
= [(P-W)/2 + R*(1 - sin(tilt)) + (W1 + W2 + W3)*(1 - sin(tilt))]/cos(tilt) --- (17) (if reading from sensor R3 is selected for calculation, based on position of the AV 100 and the parked vehicle)
where,
p = available parking space
R = Maximum turning radius of car
W1 = distance from car's edge to first rear sensor
W2 = distance between R1 and R2
R1 = First rear sensor
R2 = Second rear sensor and so on (depending on number of rear sensors)
1(angle) = 0
2(distance) = (90 - tilt)*2*pi*R/360(degree) --- (18)
2(angle) = atan(Lo/(R - Wo)) --- (19)
3(distance) = Lo; Where, Lo = Wheel base length
3(angle) = 0;
For scenario 2 approach:
Tilt = 180/pi*(atan((S2 - S1)/L)) --- (20)
1 (distance) = abs(S'*cos(tilt) - (R*(1 - cos(tilt)) + (P-do)/2)/(cos(90 - abs(tilt)) --- (21) where, S'= Virtual distance car's rear edge to the first parked vehicle
1(angle) = 0;
2(distance) = (abs(tilt)*2*pi*R)/360 --- (22)
2(angle) = atan(L0/(R - Wo)) --- (23) where, Lo = Wheel base length & Wo = Wheel base width
3(distance) = Lo --- (24) where, Lo = Wheel base length
3(angle) = 0;

For scenario 3 approach:
Scenario 3.1:
Tilt = Curved_dist/(2*pi*R)*360 --- (25) where, curved_dist = First reverse distance moved after travelling Xd till collision is detected
a = sqrt(Lr*Lr + (R - do)*(R - do)) --- (26) where, Lr = Distance between rear wheel and bonnet
Max_Tilt = 57.2958*(atan((R - do)/Lr) - asin((R - do - Xc)/a)) --- (27)
b=(R-do)*(sin((pi/180)*Max_Tilt) - sin(R)) + Lr*cos((pi/180)*Max_Tilt) - do*sin(R) --- (28) where, b = Horizontal distance from left wheel of AV 100 to the left edge of second parked vehicle
c = b + R*sin(Tilt) --- (29) where, c = Horizontal distance from left wheel of AV 100 to the left edge of second parked vehicle after first movement
d = c + P --- (30) where, d = Horizontal distance of left wheel of AV 100 from the first parked vehicle after 1st movement
e = ((0.6*L + Xc) - (R - d)*(1 - cos((pi/180)*52)))*cot((pi/180)*52) --- (31) where, e = horizontal distance after 3rd movement & L = Length of car
f = e + (R - d)*sin(Tilt) --- (32) where, f = Horizontal distance after second movement
2(distance) = d – f;
2(angle) = 0;
1(distance) = curved distance;
1(angle) = Maximum steering angle;
3(distance) = (52/360)*2*pi*R --- (33)
3(angle) = Maximum steering angle;
Scenario 3.2:
Tilt = Curved_dist/(2*pi*R)*360 --- (34)
When only R4 data is valid=>
H1 = W4*0.6/sin(Tilt) + R4*cos(Tilt) + W5*sin(Tilt) --- (35)
where,
H1 = Horizontal distance between the AV 100 right corner to the second parked vehicle left edge
W4 = Distance between Rear 3rd sensor and Rear 4th Sensor
W5 = Distance between Rear 4th Sensor and right edge of vehicle

When R3 and R4 both data are valid=>
H1 = W3*0.6/sin(Tilt) + R4*cos(Tilt) + W5*sin(Tilt) + W4/sin(Tilt) --- (36)
where W3 = Distance between Rear 2nd sensor and Rear 3rd Sensor
When R2, R3 & R4 are valid=>
H1 = W2*0.6/sin(Tilt) + R4*cos(Tilt) + W5*sin(Tilt) + (W3 + W4)/sin(Tilt) --- (37)
H2 = H1 - do*sin(Tilt) + Lr*cos(Tilt) + R*sin(Tilt) --- (38)
where, H2 = horizontal distance from left wheel to second vehicle left
Total_horizontal_distance_after_1st_movement of the AV 100 = H2 + P --- (39)
where, P = Available parking space
Horizontal distance_after_3rd_movement of the AV 100 = ((0.6*L + Xc) - (R - do)*(1 - cos((pi/180)*52)))*cot((pi/180)*52) --- (40)
Horizontal distance_after_2nd_movement of the AV 100 = Horz_dist_after_3rd_mov + (R - d)*sin (Tilt) --- (41)
1(distance) = Curved distance
1(angle) = Maximum steering angle
2(distance) = Total_horizontal_distance_after_1st_movement of the AV 100 - Horizontal_distance_after_2nd_movement of the AV 100 --- (42)
2(angle) = 0
3(distance) = (52/360)*2*pi*R --- (43)
3(angle) = Maximum steering angle
[044] The multiple maneuvering module 205.b further passes instructions to the vehicle control unit 102 to perform maneuvering of the AV 100 as per the values and directions decided based on the approach executed.
[045] The processing module 206 is configured to be in communication with all other modules in the automated parking control unit 101, and provide one or more hardware processors to perform data processing associated with one or more functionalities being handled by each of the modules.
[001] FIG. 3 is a flow diagram depicting steps involved in the process of performing automated perpendicular parking of the autonomous vehicle 100 of FIG. 1, in accordance with some embodiments of the present disclosure. When the automated parking of the AV 100 is initiated upon receiving a corresponding instruction from the user. An automated parking control unit 101 in the AV 100 checks for, and detects (302) a parked vehicle in a parking area where the AV 100 is to be parked. Upon detecting the parked vehicle, the automated parking control unit 101 executes (304) a first misalignment logic to align/position the AV 100 with respect to the parked vehicle. The automated parking control unit 101 further executes (306) a free space detection logic to identify a free space near the parked vehicle, which is sufficient enough to park the AV 100. After identifying a free space that is sufficient to park the AV 100, the automated parking control unit 101 selects at least one of a single maneuvering approach and a multiple maneuvering approach to perform automated perpendicular parking of the AV 100. Various actions in Fig. 3 can be performed in the same order or in a different order. Further, or one or more of the actions in method 300 can be omitted.
[046] FIG. 4 is a flow diagram depicting steps involved in the process of identifying a parked vehicle in a parking area, by the autonomous vehicle 100 of FIG. 1, in accordance with some embodiments of the present disclosure. The automated parking control unit 101 in the AV 100 collects (402) readings from a side sensor S1 while the AV 100 is moving forward in the parking area, and checks for any objects in the parking area. If an object is found, then the automated parking control unit 101 checks whether the identified object is within a set distance from the AV 100, wherein the ‘set distance’ is a value that needs to be pre-configured or can be dynamically configured. If the object is identified as within the set distance, then the automated parking control unit 101 identifies (406) based on the S1 readings, width of the object detected. If the width of the object is identified as at least equal to (or greater) the width of the AV 100, then the automated parking control unit 101 identifies (410) the detected object as a parked vehicle. Various actions in Fig. 4 can be performed in the same order or in a different order. Further, or one or more of the actions in method 400 can be omitted.
[047] FIG. 5 is a flow diagram depicting steps involved in the process of executing a misalignment logic, by the autonomous vehicle 100 of FIG. 1, in accordance with some embodiments of the present disclosure. When the misalignment logic is executes, the automated parking control unit 101 of the AV 100 obtains (502) readings from side sensors S1 and S2, and calculates (504) a misalignment angle based on the obtained readings. In an embodiment, the misalignment angle indicates/represents how the AV 100 is positioned with respect to the parked vehicle. If the misalignment angle is greater than or equal to a threshold value of misalignment angle, then the automated parking control unit 101 checks whether any of a plurality of pre-defined conditions stands true for the obtained sensor readings (S1 and S2). In an embodiment, each set of conditions (508, 510, 512) represent different ways the AV 100 is positioned with respect to the parked vehicle. Depending on how the AV 100 is positioned, different maneuverings are required to align the AV 100 with respect to the parked vehicle. Values of different parameters (that control maneuvering of the vehicle) that match each set of conditions are to be calculated separately, and equations for this purpose are defined and stored with the automated parking control unit 101. When a condition is identified as true for the collected sensor readings, the automated parking control unit 101 calculates values of ‘counter angle and a distance to be covered with the calculated angle’ using calculations (514, 516, or 518) that match the condition that has been identified as true for the collected sensor readings. The automated parking control unit 101 further triggers maneuvering (520) of the AV 100, based on the calculated values of the steering angle and distance. After aligning the AV, the automated parking control unit 101 proceeds (522) with execution of free space detection logic. Similarly in step 506, if the value of misalignment angle is identified as less than the threshold of misalignment angle, then the automated parking control unit 101 considers the AV 100 as aligned with the parked vehicle, and directly proceeds with the execution of free space detection logic. Various actions in Fig. 5 can be performed in the same order or in a different order. Further, or one or more of the actions in method 500 can be omitted.
[048] FIG. 6 is a flow diagram depicting steps involved in the process of identifying free space for performing the automated perpendicular parking of the autonomous vehicle, in accordance with some embodiments of the present disclosure. The automated parking control unit 101 takes (602) reading from side sensor S1 as the AV 100 is moving forward in the parking area, and checks (604) whether the sensor reading S1 is at least equal to a value matching sum of length (L) of the parked vehicle and distance (Xc) between the autonomous vehicle and the parked when aligned perpendicular to each other (i.e. whether S1 = (Xc + L)).
[049] If S1 = (Xc + L) is true, then the automated parking control unit 101 measures (608) available free space. If the available free space is identified as greater than or equal to a threshold value of available free space, then the automated parking control unit 101 confirms that required free space is found (612), and triggers movement of the AV 100 by a distance Xd. Various actions in Fig. 6 can be performed in the same order or in a different order. Further, or one or more of the actions in method 600 can be omitted.
[050] FIG. 7 is a flow diagram depicting steps involved in the process of performing single maneuvering and/or multiple maneuvering for performing the automated perpendicular parking of the autonomous vehicle, in accordance with some embodiments of the present disclosure. After identifying a free space, the automated parking control unit 101 initially calculates (702) values of at least two parameters (i.e., steering angle and distance to be travelled with the calculated steering angle), based on a single maneuvering logic. The automated parking control unit 101 further triggers (704) maneuvering of the AV 100 based on the calculated values of steering angle and the distance. The automated parking control unit 101 further checks whether at any point while the AV 100 is maneuvering, value of reading from side sensor S1 (the sensor which is closest to the parked vehicle) is less than a threshold value. If value of S1 is not less than the threshold value, then the automated parking control unit 101 sets (708) steering angle to zero and moves (712) the AV 100 in reverse direction by a distance equaling wheelbase length of the AV 100. The automated parking control unit 101 further checks (722) if an absolute value of difference between S1 and S2 is exceeding a threshold value. If yes, then the automated parking control unit 101 executes (724) a scenario 2 approach for parking the AV 100, and confirms that the parking is completed (726). If not (i.e., if difference between S1 and S2 not exceeding the threshold), then the automated parking control unit 101 directly confirms that the parking has been completed (726).
[051] If at step 706, S1 value is found to be less than the threshold value, then the automated parking control unit 101 collects values from rear sensors R1, R2, R3, and R4 as well as from at least one side sensor (S4; which is closest to the parked vehicle), and checks whether any of a plurality of pre-defined conditions is true for the collected sensor readings. If any of the conditions is identified as true, then the automated parking control unit 101 executes (718) scenario 1 approach for parking, else executes (720) scenario 3 approach for parking. After executing one of the scenarios 1 and 3, the automated parking control unit 101 goes to step 722 and performs rest of the actions for parking the AV 100. Various actions in Fig. 7 can be performed in the same order or in a different order. Further, or one or more of the actions in method 700 can be omitted.
[052] FIG. 8 is a flow diagram depicting steps involved in the process of executing a first scenario approach in multiple maneuvering for perpendicular parking of the autonomous vehicle, in accordance with some embodiments of the present disclosure. When the first scenario approach is being executed, the automated parking control unit 101 initially determines (802) a first straightforward maneuvering distance. The automated parking control unit 101 further determines (804) a second reverse curve maneuvering distance. The automated parking control unit 101 further determines (806) a third reverse straight maneuvering distance. The automated parking control unit 101 then triggers movement (808) of the AV 100 in forward direction, with zero steering, by the calculated first straight forward distance. The automated parking control unit 101 then triggers movement (810) of the AV 100 in reverse direction, with full steering, by the calculated second reverse distance. The automated parking control unit 101 then triggers movement (812) of the AV 100 in reverse direction, with zero steering, by a fixed third distance, which is a fixed value that is equal to distance between front and rear wheels of the AV 100. Various actions in Fig. 8 can be performed in the same order or in a different order. Further, one or more of the actions in method 800 can be omitted.
[053] FIG. 9 is a flow diagram depicting steps involved in the process of executing a second approach scenario in multiple maneuvering for perpendicular parking of the autonomous vehicle 100 of FIG. 1, in accordance with some embodiments of the present disclosure. When the second approach is being executed, the automated parking control unit 101 initially determines (902) a first straightforward maneuvering distance. The automated parking control unit 101 further determines (904) a second forward curve maneuvering distance. The automated parking control unit 101 then triggers movement (906) of the AV 100 in forward direction, with zero steering, by the calculated first straight forward maneuvering distance. The automated parking control unit 101 then triggers movement (908) of the AV 100 in forward direction, with the calculated steering angle, by the calculated second forward distance. Various actions in Fig. 9 can be performed in the same order or in a different order. Further, one or more of the actions in method 900 can be omitted.
[054] FIG. 10 is a flow diagram depicting steps involved in the process of executing a third scenario approach in multiple maneuvering for perpendicular parking of the autonomous vehicle, in accordance with some embodiments of the present disclosure. When the third scenario approach is selected, the automated parking control unit 101 initially determines (1002) values of a second straight reverse distance and a third reverse curve distance. The automated parking control unit 101 then triggers movement of the AV 100 to take (1004) a first curve movement with full steering by a curve distance taken by the AV 100, while performing a reverse maneuvering sequence. The automated parking control unit 101 then prompts the UV 100 to take (1006) a second reverse curve, as per the calculated value of the second straight reverse distance. After completing the maneuvering at 1006, the automated parking control unit 101 prompts the UV 100 to take (1008) a third reverse curve, as per the calculated value of the third reverse curve distance. The automated parking control unit 101 then triggers movement of the UV 100 in reverse direction, with steering angle zero, till conditions matching scenario 1 are detected. The automated parking control unit 101 then executes the scenario 1 approach to perform (1012) automated perpendicular parking of the AV 100. Various actions in Fig. 10 can be performed in the same order or in a different order. Further, one or more of the actions in method 1000 can be omitted.
[055] The written description describes the subject matter herein to enable any person skilled in the art to make and use the embodiments. The scope of the subject matter embodiments is defined by the claims and may include other modifications that occur to those skilled in the art. Such other modifications are intended to be within the scope of the claims if they have similar elements that do not differ from the literal language of the claims or if they include equivalent elements with insubstantial differences from the literal language of the claims.
[056] The embodiments of present disclosure herein addresses unresolved problem of automated perpendicular parking of autonomous vehicles. The embodiment, thus provides a mechanism that supports single as well as multiple maneuvering of the autonomous vehicle, to complete perpendicular parking.
[057] It is to be understood that the scope of the protection is extended to such a program and in addition to a computer-readable means having a message therein; such computer-readable storage means contain program-code means for implementation of one or more steps of the method, when the program runs on a server or mobile device or any suitable programmable device. The hardware device can be any kind of device which can be programmed including e.g. any kind of computer like a server or a personal computer, or the like, or any combination thereof. The device may also include means which could be e.g. hardware means like e.g. an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a combination of hardware and software means, e.g. an ASIC and an FPGA, or at least one microprocessor and at least one memory with software modules located therein. Thus, the means can include both hardware means and software means. The method embodiments described herein could be implemented in hardware and software. The device may also include software means. Alternatively, the embodiments may be implemented on different hardware devices, e.g. using a plurality of CPUs.
[058] The embodiments herein can comprise hardware and software elements. The embodiments that are implemented in software include but are not limited to, firmware, resident software, microcode, etc. The functions performed by various modules described herein may be implemented in other modules or combinations of other modules. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can comprise, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
[059] The illustrated steps are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments. Also, the words “comprising,” “having,” “containing,” and “including,” and other similar forms are intended to be equivalent in meaning and be open ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items, or meant to be limited to only the listed item or items. It must also be noted that as used herein and in the appended claims, the singular forms “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise.
[060] Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present disclosure. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein. The term “computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., be non-transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media.
[061] It is intended that the disclosure and examples be considered as exemplary only, with a true scope and spirit of disclosed embodiments being indicated by the following claims.

Documents

Application Documents

# Name Date
1 202021019925-CLAIMS [04-05-2022(online)].pdf 2022-05-04
1 202021019925-STATEMENT OF UNDERTAKING (FORM 3) [12-05-2020(online)].pdf 2020-05-12
2 202021019925-REQUEST FOR EXAMINATION (FORM-18) [12-05-2020(online)].pdf 2020-05-12
2 202021019925-COMPLETE SPECIFICATION [04-05-2022(online)].pdf 2022-05-04
3 202021019925-FORM 18 [12-05-2020(online)].pdf 2020-05-12
3 202021019925-FER_SER_REPLY [04-05-2022(online)].pdf 2022-05-04
4 202021019925-OTHERS [04-05-2022(online)].pdf 2022-05-04
4 202021019925-FORM 1 [12-05-2020(online)].pdf 2020-05-12
5 202021019925-FIGURE OF ABSTRACT [12-05-2020(online)].jpg 2020-05-12
5 202021019925-FER.pdf 2021-12-03
6 202021019925-FORM-26 [12-11-2020(online)].pdf 2020-11-12
6 202021019925-DRAWINGS [12-05-2020(online)].pdf 2020-05-12
7 202021019925-Proof of Right [22-10-2020(online)].pdf 2020-10-22
7 202021019925-DECLARATION OF INVENTORSHIP (FORM 5) [12-05-2020(online)].pdf 2020-05-12
8 Abstract1.jpg 2020-07-31
8 202021019925-COMPLETE SPECIFICATION [12-05-2020(online)].pdf 2020-05-12
9 Abstract1.jpg 2020-07-31
9 202021019925-COMPLETE SPECIFICATION [12-05-2020(online)].pdf 2020-05-12
10 202021019925-DECLARATION OF INVENTORSHIP (FORM 5) [12-05-2020(online)].pdf 2020-05-12
10 202021019925-Proof of Right [22-10-2020(online)].pdf 2020-10-22
11 202021019925-FORM-26 [12-11-2020(online)].pdf 2020-11-12
11 202021019925-DRAWINGS [12-05-2020(online)].pdf 2020-05-12
12 202021019925-FIGURE OF ABSTRACT [12-05-2020(online)].jpg 2020-05-12
12 202021019925-FER.pdf 2021-12-03
13 202021019925-OTHERS [04-05-2022(online)].pdf 2022-05-04
13 202021019925-FORM 1 [12-05-2020(online)].pdf 2020-05-12
14 202021019925-FORM 18 [12-05-2020(online)].pdf 2020-05-12
14 202021019925-FER_SER_REPLY [04-05-2022(online)].pdf 2022-05-04
15 202021019925-REQUEST FOR EXAMINATION (FORM-18) [12-05-2020(online)].pdf 2020-05-12
15 202021019925-COMPLETE SPECIFICATION [04-05-2022(online)].pdf 2022-05-04
16 202021019925-STATEMENT OF UNDERTAKING (FORM 3) [12-05-2020(online)].pdf 2020-05-12
16 202021019925-CLAIMS [04-05-2022(online)].pdf 2022-05-04

Search Strategy

1 searchstrategyE_02-12-2021.pdf