1460943339-d99003f6-5861-4f57-a0ed-0ee52f4a4d67

1. Method for transmitting a warning signal to a driver of a driven vehicle regarding an impending collision with a moving andor stationary object in the vicinity of said driven vehicle, comprising:
a) providing said driven vehicle with means for obtaining updated data regarding, position, velocity vector and predicted moving path of each one of said moving andor stationary objects in the vicinity of said driven vehicle;
b) determining a series of one or more time horizons according to the characteristics of said vehicle and driver and the neighboring traffic;
c) for a selected time horizon of said determined series of time horizons:
c.1) generating a linear velocity obstacle (LVO) andor non-linear velocity obstacle (NLVO) of each of said moving andor stationary objects;
c.2) selecting a sampling time interval \u0394t, during which an LVO andor NLVO is generated;
c.3) determining a range of feasible velocity vector changes for said driven vehicle that are attainable within a performance time interval \u0394T;
c.4) providing the driver, after said sampling time interval, with information regarding the optimal feasible velocity vector changes for said performance time interval;
c.5) obtaining dynamic parameters representing the movement of said driven vehicle within said performance time interval, and calculating an updated velocity vector for said driven vehicle;
c.6) generating a warning signal with the lowest severity level that reflects the relative imminence of collision with said moving andor stationary objects in the vicinity of said driven vehicle and that corresponds to said selected time horizon whenever the updated velocity vector parameters reach at least one LVO or NLVO;

d) repeating steps c.1) to c.6) above for a subsequent time horizon of said series of time horizons which is shorter than the previously selected time horizon and generating a warning signal of higher severity level; and
e) repeating steps d) above for the remaining time horizons, of said series of time horizons.
2. Method according to claim 1, further comprising determining the time to collision when collision is unavoidable.
3. Method according to claim 1, wherein the velocity changes are changes in direction andor absolute speed of the driven vehicle.
4. Method according to claim 1, wherein the range of feasible velocity changes that can be reached within a performance time interval are determined according to the performance capability of the driven vehicle.
5. Method for determining an optimal collision mitigating maneuver to be executed by a driver, comprising:
a) providing a navigational system carried by a driven vehicle for sensing navigational conditions of said driven vehicle and of detected vehicles, for processing data associated with said sensed navigational conditions, and for transmitting information of interest to the driver associated with said processed data;
b) generating, based on said processed data, a velocity obstacle corresponding to each of said detected vehicles, each of said generated velocity obstacles being representative of a set of possible velocity vectors associated with motion of said driven vehicle that would result in a collision with a corresponding detected vehicle;
c) based on said velocity obstacle:
c.1) determining possible driver initiated collision avoidance maneuvers to be executed along an unobstructed path corresponding to clearance in the vicinity of one or more of said velocity obstacles;
c.2) determining that a collision between said driven vehicle and one of said detected vehicles is unavoidable once velocity obstacles completely obstruct all lanes in the vicinity of said detected vehicle, comparing, for different regions of each of said velocity obstacles, a predicted magnitude of impact for a collision between said driven vehicle and one of said detected vehicles, and determining an optimal collision mitigating maneuver whereby a selected velocity vector associated with motion of said driven vehicle is to be directed to a region of a velocity obstacle that would result in a collision between said driven vehicle and one of said detected vehicles having a lowest predicted magnitude of impact; and

d) transmitting to the driver said determined optimal collision mitigating maneuver.
6. Method according to claim 5, further comprising, after step d), initiating a pre-crash mode whereby vehicular safety accessories are activated.
7. Method according to claim 6, wherein one or more airbags are inflated.
8. Method according to claim 7, wherein one or more airbags are inflated within the interior of the driven vehicle.
9. Method according to claim 7, wherein one or more airbags are inflated at the exterior of the driven vehicle.
10. Method according to claim 6, wherein a bumper is extended.
11. Method according to claim 5, wherein the velocity obstacle is an LVO.
12. Method according to claim 5, wherein the velocity obstacle is an NLVO.
13. Method according to claim 5, wherein step e) is performed by comparing the relative size of a velocity obstacle, a relatively large velocity obstacle indicating that the corresponding detected vehicle is substantially larger and more massive than the driven vehicle.
14. Method according to claim 5, wherein step e) is performed by comparing the relative depth of penetration of one velocity vector within the corresponding velocity obstacles.
15. Method according to claim 5, wherein step e) is performed by comparing the time to collision of the driven vehicle with each of the detected vehicles, a longer time to collision being indicative of a lower magnitude of impact.
16. Method according to claim 5, wherein an optimal collision mitigating maneuver is determined by\u2014
a) generating a velocity obstacle, with respect to the position of the driven vehicle, for each detected vehicle at an initial time of detection;
b) generating a velocity frame delimiting the range of velocity vectors attainable by the driven vehicle in a performance time interval subsequent to the initial time;
c) generating a set of velocity obstacles for each detected vehicle at each sampling time interval subsequent to the initial time, until the end of said performance time interval;
d) superimposing said generated velocity frame on each of said sets, whereby to generate a composite representation;
e) determining which of said generated composite representations includes a region of a velocity obstacle having a lowest predicted magnitude of impact; and
f) determining an optimal collision mitigating maneuver by generating a velocity vector directed from the end of said velocity vector of the driven vehicle to said region having a lowest predicted magnitude of impact.
17. System for transmitting a warning signal to a driver of a driven vehicle regarding an impending collision with a detected vehicle in the vicinity of said driven vehicle, comprising:
a) sensors for determining the navigational conditions of driven and detected vehicles;
b) an on-board computer, programmed to perform the following operations:
i. processing data associated with said sensed navigational conditions;
ii. generating, based on said processed data, a velocity obstacle for each of said detected vehicles, each of said generated velocity obstacles being representative of a set of possible velocity vectors associated with motion of said driven vehicle that would result in a collision with a corresponding detected vehicle;
iii. determining that a collision between said driven vehicle and one of said detected vehicles is unavoidable once velocity obstacles completely obstruct all lanes in the vicinity of said detected vehicle; and
iv. transmitting a warning signal to the driver in an escalating degree of severity concerning the imminence of collision between said driven vehicle and one of said detected vehicles;
v. determining an optimal collision mitigating maneuver;
vi. transmitting said optimal collision mitigating maneuver; and

c) a receiver andor display for receiving said warning signal and said optimal collision mitigating maneuver.
18. System according to claim 17, further comprising at least one safety accessory for mitigating the impact of collision between the driven vehicle and a detected vehicle and means for activating said at least one safety accessory following transmission of said warning signal.
19. System according to claim 18, wherein at least one safety accessory is an airbag or an extendible bumper.
20. System according to claim 17, further comprising control components for temporarily controlling the operation of the driven vehicle during a slave mode, upon consent of the driver.
21. System according to claim 20, further comprising means for overriding the slave mode.
22. System according to claim 17, further comprising an indicator for alerting the driver when the driven vehicle is set in a slave mode.
23. System according to claim 17, further comprising a screen for displaying a clearance curve generated at an instantaneous sampling time interval and delimiting the boundary of safe states of the driven vehicle from states which result in an unavoidable collision, an instantaneous state of the driven vehicle with respect to the clearance curve being displayable by means of said screen.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A system for interacting with vehicles comprising:
a vehicle response server configured to manage communications between at least one vehicle and at least one application remotely located from the vehicle, wherein the application conveys a message to the vehicle response server that indicates a set of conditions for triggering at least one context-dependent programmatic action, and wherein the application automatically executes at least one context-dependent programmatic action based upon an event occurrence triggered by vehicle sensor input; and
a vehicle response agent disposed in said at least one vehicle configured to receive an activation context that specifies conditions for the event occurrence, monitor for the event occurrence, and wirelessly convey an indication of the event occurrence to the vehicle response server, which results in the automatic execution of the at least one context-dependent programmatic action.
2. The system of claim 1, said vehicle response agent further comprising:
a context processor configured to translate said activation context into vehicle-specific conditions for the event occurrence;
a communication engine configured to wirelessly exchange digitally encoded information with the vehicle response server; and
a sensor monitor configured to receive said vehicle sensor input and to correlate the vehicle sensor input to the vehicle specific conditions.
3. The system of claim 1, wherein the vehicle response server and the vehicle response agent utilize a vehicle response language that includes data types and functions specifically defined for obtaining and processing vehicle sensor input.
4. A method for obtaining contextual vehicle information comprising the steps of:
conveying a message from an application to a remote computing device, said message indicating an activation context from an application;
conveying the activation context from the remote computing device to an in-vehicle device, said activation context associated with at least one context-dependent programmatic action, wherein the in-vehicle device and the remote computing device are communicatively linked through a wireless network;
determining by the in-vehicle device an occurrence of a context event specified by the activation context;
responsive to the occurrence, conveying a context indication to the remote computing device, said context indication causing the context-dependent programmatic action to execute; and
conveying a message from the remote computing device to the application, the message connoting the context indication to the application.
5. The method of claim 4, wherein the context indication includes at least one value obtained from a vehicle sensor of a vehicle containing the in-vehicle device.
6. The method of claim 5, wherein the at least one value is passed as a parameter to a software routine that performs the at least one context-dependent programmatic action.
7. The method of claim 5, wherein the vehicle is moving during the step of conveying of the activation context, the step of determining the occurrence, and the step of conveying the context indication.
8. The method of claim 7, wherein the vehicle sensor indicates at least one of a location, a speed, and a direction of travel for the vehicle.
9. The method of claim 7, wherein the vehicle sensor indicates at least one of an oil level, an engine temperature, a tank fuel level, and a wiper setting for the vehicle.
10. The method of claim 7, wherein the vehicle sensor indicates at least one of an odometer reading and a tachometer reading for the vehicle.
11. The method of claim 4, further comprising the steps of:
receiving by the remote computing device a message indicating an activation context from a different application; and
conveying by the remote computing device a message connoting an context indication to the different application.
12. The method of claim 11, wherein the same activation context is indicated by the application and by the different application, and wherein the same context indication is connoted to the application and by the different application, and wherein a single activation context is conveyed from the remote computing device to the in-vehicle device, and wherein a single context indication is conveyed from the in-vehicle device to the remote computing device.
13. A method for obtaining contextual vehicle information comprising the steps of:
conveying an activation context from a remote computing device to an in-vehicle device, said activation context associated with at least one context-dependent programmatic action;
the in-vehicle device determining an occurrence of a context event specified by the activation context;
responsive to the occurrence, conveying a context indication to the remote computing device, said context indication causing the context-dependent programmatic action to execute, wherein the vehicle and the remote computing device are communicatively linked through a wireless network, wherein the context-dependent programmatic action generates an electronic message conveyed to the in-vehicle device; and
presenting by the in-vehicle device content from the electronic message to a vehicle passenger.
14. The method of claim 4, wherein the step of conveying the activation context, the step of determining the occurrence, and the step of conveying the context indication utilize a vehicle response language.
15. The method of claim 14, wherein the vehicle response language includes defined data types for at least one of vehicle longitude, vehicle latitude, vehicle speed, engine oil level, engine temperature, engine tachometer, tank fuel level, and wiper setting.
16. A method for obtaining contextual vehicle information comprising the steps of:
conveying an activation context from a remote computing device to an in-vehicle device, said activation context associated with at least one context-dependent programmatic action;
the in-vehicle device determining an occurrence of a context event specified by the activation context; and
responsive to the occurrence, conveying a context indication to the remote computing device, said context indication causing the context-dependent programmatic action to execute;
wherein the vehicle and the remote computing device are communicatively linked through a wireless network;
wherein the step of conveying the activation context, the step of determining the occurrence, and the step of conveying the context indication each utilize a vehicle response language;
wherein the vehicle response language includes a function that returns a value generated by a sensor indicating a value change that has been detected since the last time the in-vehicle device sent a value for the sensor to the remote computing device.
17. A machine-readable storage having stored thereon, a computer program having a plurality of code sections, said code sections executable by a machine for causing the machine to perform the steps of:
conveying a message from an application to a remote computing device, said message indicating an activation context from an application;
conveying the activation context from the remote computing device to an in-vehicle device, said activation context associated with at least one context-dependent programmatic action, wherein the in-vehicle device and the remote computing device are communicatively linked through a wireless network;
determining by the in-vehicle device an occurrence of a context event specified by the activation context;
responsive to the occurrence, conveying a context indication to the remote computing device, said context indication causing the context-dependent programmatic action to execute; and
conveying a message from the remote computing device to the application, the message connoting the context indication to the application.
18. The machine-readable storage of claim 17, wherein the vehicle is moving during the step of conveying of the activation context, the step of determining the occurrence, and the step of conveying the context indication.
19. The machine-readable storage of claim 17, wherein the step of conveying the activation context, the step of determining the occurrence, and the step of conveying the context indication utilize a vehicle response language that includes data types and functions specifically defined for obtaining and processing vehicle sensor information.