Method and system for controlling a vehicle
AssigneeKing Fahd University of Petroleum and Minerals
InventorsHaseeb Tahir, Uthman Baroudi, N. Mujahid Syed
Life of this patent
Estimating the term…
Abstract
Method and system for controlling a vehicle that includes using velocity vectors of obstacles in the vehicle's environment to determining boundaries of the one or more obstacles and thereby generate a velocity space that may include velocity vectors for the vehicle and which are represented as collision cones. The using an identified velocity vector in combination with the velocity vectors of the one or more obstacles to produce a maximum motion in of the vehicle towards a target location while avoiding all determined collision cones.
Claims16
A method of controlling a vehicle, the method comprising:
- (a) receiving a user input indicating a vehicle target location;
- (b) receiving sensor information from at least one sensor included in the vehicle for one or more obstacles within a predefined radius r around the vehicle;
- (c) determining, using processing circuitry included in the vehicle, velocity vectors of the one or more obstacles;
- (d) determining boundaries of the one or more obstacles,
- (e) generating a possible velocity space, the possible velocity space including possible velocity vectors for the vehicle;
- (f) determining a collision cone for each obstacle from the one or more obstacles based on at least the boundaries of the one or more obstacles;
- (g) identifying a velocity vector from the possible velocity space based on at least velocity vectors of the one or more obstacles in accordance with a greedy algorithm that is subject to a constraint that a difference between the direction of current velocity vector and a direction of the identified velocity vector is below a predetermined velocity direction threshold, the velocity vector being identified as to produce a maximum motion in the direction of the vehicle target location from a current location of the vehicle and being outside all determined collision cones for each obstacle within the radius r, wherein the greedy algorithm determines a solution to a sparse structured constraint matrix;
- (h) updating the current location of the vehicle to an updated location;
- (i) controlling the vehicle to move in the space based on the identified velocity vector for a predetermined period;
- and
- (j) repeating steps (b) through (i) until the updated location of the vehicle corresponds with the vehicle target location.
A vehicle, comprising:
- at least one sensor configured to detect obstacles within a predefined range;
- processing circuitry configured to:
- (a) receive a user input indicating a vehicle target location;
- (b) receive sensor information from the at least one sensor for the detected obstacles;
- (c) determine velocity vectors of one or more obstacles present in a space;
- (d) determine boundaries of the one or more obstacles;
- (e) generate a possible velocity space, the possible velocity space including possible velocity vectors for the vehicle;
- (f) determine a collision cone for each obstacle from the one or more obstacles based on at least the boundaries of the one or more obstacles;
- (g) identify a velocity vector from the possible velocity space based on at least velocity vectors of the one or more obstacles in accordance with a greedy algorithm that is subject to a constraint that a difference between the direction of current velocity vector and a direction of the identified velocity vector is below a predetermined velocity direction threshold, the velocity vector being identified as to produce a maximum motion in the direction of the vehicle target location from a current location of the vehicle and being outside all determined collision cones for each detected obstacle, wherein the greedy algorithm determines a solution to a sparse structured constraint matrix;
- (h) update the current location of the vehicle to an updated location;
- (i) control the vehicle to move in the space based on the identified velocity vector for a predetermined period;
- and
- (j) repeat steps (b) through (i) until the updated location of the vehicle corresponds with the vehicle target location.
A non-transitory computer readable medium storing computer-readable instructions therein which when executed by a computer cause the computer to perform a method for controlling a vehicle, the method comprising:
- (a) receiving a user input indicating a vehicle target location;
- (b) receiving sensor information from at least one sensor included in the vehicle for one or more obstacles within a predefined radius r around the vehicle;
- (c) determining velocity vectors of the one or more obstacles;
- (d) determining boundaries of the one or more obstacles;
- (e) generating a possible velocity space, the possible velocity space including possible velocity vectors for the vehicle;
- (f) determining a collision cone for each obstacle from the one or more obstacles based on at least the boundaries of the one or more obstacles;
- (g) identifying a velocity vector from the possible velocity space based on at least velocity vectors the one or more obstacles in accordance with a greedy algorithm that is subject to a constraint that a difference between the direction of current velocity vector and a direction of the identified velocity vector is below a predetermined velocity direction threshold, the velocity vector being identified as to produce a maximum motion in the direction of the vehicle target location from a current location of the vehicle and being outside all determined collision cones for each obstacle within the radius r, wherein the greedy algorithm determines a solution to a sparse structured constraint matrix;
- (h) update the current location of the vehicle to an updated location;
- (i) controlling the vehicle to move in the space based on the identified velocity vector for a predetermined period;
- and
- (j) repeating steps (b) through (i) until the updated location of the vehicle corresponds with the vehicle target location.
Dependencies are inferred from the claim text.