US20210074150A1 - Automatic Vehicle Alert and Reporting Systems and Methods - Google Patents
Automatic Vehicle Alert and Reporting Systems and Methods Download PDFInfo
- Publication number
- US20210074150A1 US20210074150A1 US16/564,277 US201916564277A US2021074150A1 US 20210074150 A1 US20210074150 A1 US 20210074150A1 US 201916564277 A US201916564277 A US 201916564277A US 2021074150 A1 US2021074150 A1 US 2021074150A1
- Authority
- US
- United States
- Prior art keywords
- vehicle
- license plate
- risk
- information
- plate information
- 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
- 238000000034 method Methods 0.000 title description 16
- 230000004044 response Effects 0.000 claims abstract description 46
- 238000004891 communication Methods 0.000 claims abstract description 18
- 230000001105 regulatory effect Effects 0.000 claims description 12
- 238000012015 optical character recognition Methods 0.000 claims description 7
- 238000002485 combustion reaction Methods 0.000 claims description 5
- 230000015654 memory Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 230000011664 signaling Effects 0.000 description 11
- 230000008447 perception Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 3
- 239000000446 fuel Substances 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 210000003195 fascia Anatomy 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60Q—ARRANGEMENT OF SIGNALLING OR LIGHTING DEVICES, THE MOUNTING OR SUPPORTING THEREOF OR CIRCUITS THEREFOR, FOR VEHICLES IN GENERAL
- B60Q9/00—Arrangement or adaptation of signal devices not provided for in one of main groups B60Q1/00 - B60Q7/00, e.g. haptic signalling
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R11/00—Arrangements for holding or mounting articles, not otherwise provided for
- B60R11/04—Mounting of cameras operative during drive; Arrangement of controls thereof relative to the vehicle
-
- 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/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3453—Special cost functions, i.e. other than distance or default speed limit of road segments
-
- G06K9/00791—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0108—Measuring and analyzing of parameters relative to traffic conditions based on the source of data
- G08G1/0112—Measuring and analyzing of parameters relative to traffic conditions based on the source of data from the vehicle, e.g. floating car data [FCD]
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0125—Traffic data processing
- G08G1/0129—Traffic data processing for creating historical data or processing based on historical data
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0125—Traffic data processing
- G08G1/0133—Traffic data processing for classifying traffic situation
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0137—Measuring and analyzing of parameters relative to traffic conditions for specific applications
- G08G1/0141—Measuring and analyzing of parameters relative to traffic conditions for specific applications for traffic information dissemination
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/017—Detecting movement of traffic to be counted or controlled identifying vehicles
- G08G1/0175—Detecting movement of traffic to be counted or controlled identifying vehicles by photographing vehicles, e.g. when violating traffic rules
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0965—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages responding to signals from another vehicle, e.g. emergency vehicle
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0967—Systems involving transmission of highway information, e.g. weather, speed limits
- G08G1/096708—Systems involving transmission of highway information, e.g. weather, speed limits where the received information might be used to generate an automatic action on the vehicle control
- G08G1/096725—Systems involving transmission of highway information, e.g. weather, speed limits where the received information might be used to generate an automatic action on the vehicle control where the received information generates an automatic action on the vehicle control
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0967—Systems involving transmission of highway information, e.g. weather, speed limits
- G08G1/096733—Systems involving transmission of highway information, e.g. weather, speed limits where a selection of the information might take place
- G08G1/096741—Systems involving transmission of highway information, e.g. weather, speed limits where a selection of the information might take place where the source of the transmitted information selects which information to transmit to each vehicle
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0967—Systems involving transmission of highway information, e.g. weather, speed limits
- G08G1/096766—Systems involving transmission of highway information, e.g. weather, speed limits where the system is characterised by the origin of the information transmission
- G08G1/096775—Systems involving transmission of highway information, e.g. weather, speed limits where the system is characterised by the origin of the information transmission where the origin of the information is a central station
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/50—Constructional details
- H04N23/54—Mounting of pick-up tubes, electronic image sensors, deviation or focusing coils
-
- H04N5/2253—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/44—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/46—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for vehicle-to-vehicle communication [V2V]
-
- 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/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3453—Special cost functions, i.e. other than distance or default speed limit of road segments
- G01C21/3461—Preferred or disfavoured areas, e.g. dangerous zones, toll or emission zones, intersections, manoeuvre types, segments such as motorways, toll roads, ferries
-
- G06K2209/01—
-
- G06K2209/15—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
- G06V20/625—License plates
Definitions
- the present disclosure relates to vehicles and more particularly to systems and methods for reporting vehicle actions and alerting vehicle users and/or adjusting vehicle operation based on behavior of surrounding vehicles.
- Vehicles include one or more torque producing devices, such as an internal combustion engine and/or an electric motor.
- a passenger of a vehicle rides within a passenger cabin (or passenger compartment) of the vehicle.
- Vehicles may include one or more different type of sensors that sense vehicle surroundings.
- a sensor that senses vehicle surroundings is a camera configured to capture images of the vehicle surroundings. Examples of such cameras include forward facing cameras, rear facing cameras, and side facing cameras.
- Another example of a sensor that senses vehicle surroundings includes a radar sensor configured to sense vehicle surroundings.
- Other examples of sensors that sense vehicle surroundings include sonar sensors and light detection and ranging (LIDAR) sensors configured to sense vehicle surroundings.
- LIDAR light detection and ranging
- a system of a vehicle includes: a camera configured to capture images within a predetermined field of view at least one of: in front of the vehicle; behind the vehicle; and beside the vehicle; a license plate module configured to determine license plate information of a license plate attached to another vehicle; an event module configured to: based on at least one of the images, determine whether the other vehicle performed a predetermined type of driving maneuver; and generate an indicator in response to the other vehicle performing the predetermined type of driving maneuver; a reporting module configured to, in response to the generation of the indicator, generate a report including: the license plate information of the license plate attached to the other vehicle; and the predetermined type of driving maneuver performed by the other vehicle; and a communication module configured to wirelessly transmit the report to a server via at least one antenna.
- the server includes a risk module configured to: receive the report; based on the predetermined type of driving maneuver performed by the other vehicle, update risk information associated with the license plate information of the license plate attached to the other vehicle and stored in a risk database; and determine a risk score associated with the license plate information of the license plate attached to the other vehicle based on the updated risk information; and store the risk score in association with the license plate information in the risk database.
- a risk module configured to: receive the report; based on the predetermined type of driving maneuver performed by the other vehicle, update risk information associated with the license plate information of the license plate attached to the other vehicle and stored in a risk database; and determine a risk score associated with the license plate information of the license plate attached to the other vehicle based on the updated risk information; and store the risk score in association with the license plate information in the risk database.
- a risk obtaining module is configured to generate a request including the license plate information of the license plate attached to the other vehicle
- the communication module is configured to wirelessly transmit the request to the server via the at least one antenna
- the server further includes a response module configured to: based on the license plate information of the license plate attached to the other vehicle included in the request, determine the risk score associated with the license plate information stored in the risk database; and wirelessly communicate a response including the risk score of the other vehicle to the vehicle.
- an infotainment module is configured to selectively adjust information displayed on a display of the vehicle based on the risk score of the other vehicle.
- an engine control module configured to selectively adjust torque output of an internal combustion engine based on the risk score of the other vehicle.
- a power inverter module configured to control torque output of an electric motor based on the risk score of the other vehicle.
- a steering control module configured to selectively adjust steering of the vehicle based on the risk score of the other vehicle.
- a braking control module configured to selectively adjust braking of the vehicle based on the risk score of the other vehicle.
- an infotainment module configured to select a route for the vehicle based on the risk score of the other vehicle.
- the request further includes a location of the vehicle obtained from a global positioning system of the vehicle; and the server further includes a reporting module configured to: from the request, obtain the license plate information of the license plate attached to the other vehicle; determine whether the license plate information of the license plate attached to the other vehicle is included in a reported vehicle database; and in response to determining that the license plate information of the license plate attached to the other vehicle is included in the reported vehicle database, transmit a report to a governmental regulatory body, the report including the location of the vehicle and the license plate information of the license plate attached to the other vehicle.
- a reporting module configured to: from the request, obtain the license plate information of the license plate attached to the other vehicle; determine whether the license plate information of the license plate attached to the other vehicle is included in a reported vehicle database; and in response to determining that the license plate information of the license plate attached to the other vehicle is included in the reported vehicle database, transmit a report to a governmental regulatory body, the report including the location of the vehicle and the license plate information of the license plate attached to the other vehicle.
- a mobile device is configured to: in response to user input to the mobile device, generate a second report including: the license plate information of the license plate attached to the other vehicle; and a predetermined type of second driving maneuver performed by the other vehicle; and wirelessly transmit the second report to the server.
- the risk module is further configured to: receive the second report; based on the predetermined type of second driving maneuver performed by the other vehicle, update the risk information associated with the license plate information of the license plate attached to the other vehicle and stored in the risk database; determine the risk score associated with the license plate information of the license plate attached to the other vehicle based on the updated risk information; and store the risk score in association with the license plate information in the risk database.
- the reporting module is further configured to, in response to user input to an infotainment module of the vehicle, generate a second report including: the license plate information of the license plate attached to the other vehicle; and a predetermined type of second driving maneuver performed by the other vehicle; and the communication module is further configured to wirelessly transmit the second report to the server via at least one antenna.
- the license plate module is configured to determine the license plate information using optical character recognition (OCR) based on at least one of the images.
- OCR optical character recognition
- a system of a vehicle includes: a camera configured to capture images within a predetermined field of view at least one of: in front of the vehicle; behind the vehicle; and beside the vehicle; a license plate module configured to determine license plate information of a license plate attached to another vehicle; a risk obtaining module configured to generate a request including the license plate information of the license plate attached to the other vehicle; and a communication module configured to: wirelessly transmit the request to a server via at least one antenna; and wirelessly receive a response from the server via at least one antenna, wherein the response includes a risk score of the other vehicle.
- the system includes at least one of: an infotainment module configured to selectively adjust information displayed on a display of the vehicle based on the risk score of the other vehicle; an engine control module configured to selectively adjust torque output of an internal combustion engine based on the risk score of the other vehicle; a power inverter module configured to control torque output of an electric motor based on the risk score of the other vehicle; a steering control module configured to selectively adjust steering of the vehicle based on the risk score of the other vehicle; a braking control module configured to selectively adjust braking of the vehicle based on the risk score of the other vehicle; and an infotainment module configured to select a route for the vehicle based on the risk score of the other vehicle.
- an infotainment module configured to selectively adjust information displayed on a display of the vehicle based on the risk score of the other vehicle
- an engine control module configured to selectively adjust torque output of an internal combustion engine based on the risk score of the other vehicle
- a power inverter module configured to control torque output of an electric motor
- a server includes: a risk database; and a risk module configured to: wirelessly receive a report from a first vehicle, the report including: license plate information of a license plate attached to a second vehicle; and a predetermined type of driving maneuver performed by the second vehicle; based on the predetermined type of driving maneuver performed by the second vehicle, update risk information associated with the license plate information of the license plate attached to the second vehicle and stored in the risk database; and determine a risk score associated with the license plate information of the license plate attached to the second vehicle based on the updated risk information; and store the risk score in association with the license plate information in the risk database.
- the risk module is further configured to: wirelessly receive a second report from mobile device, the second report including: the license plate information of the license plate attached to the second vehicle; and a predetermined type of second driving maneuver performed by the second vehicle; based on the predetermined type of second driving maneuver performed by the second vehicle, update the risk information associated with the license plate information of the license plate attached to the second vehicle and stored in the risk database; and determine the risk score associated with the license plate information of the license plate attached to the second vehicle based on the updated risk information; and store the risk score in association with the license plate information in the risk database.
- a response module is configured to: wirelessly receive, from a third vehicle, a request including the license plate information of the license plate attached to the second vehicle; based on the license plate information of the license plate attached to the second vehicle included in the request, determine the risk score associated with the license plate information stored in the risk database; and wirelessly communicate a response including the risk score of the second vehicle to the third vehicle.
- the request further includes a location of the third vehicle
- the server further includes: a reported vehicle database; and a reporting module configured to: determine whether the license plate information of the license plate attached to the second vehicle is included in the reported vehicle database; and in response to determining that the license plate information of the license plate attached to the second vehicle is included in the reported vehicle database, transmit a report to a governmental regulatory body, the report including the location of the third vehicle and the license plate information of the license plate attached to the second vehicle.
- FIG. 1 is a functional block diagram of an example vehicle system
- FIG. 2 is a functional block diagram of a vehicle including various external cameras and sensors;
- FIG. 3 is a functional block diagram of an example implementation of a perception module
- FIG. 4 is a functional block diagram of an example risk system
- FIG. 5 is a front view of an example implementation of a computing device
- FIG. 6 is a functional block diagram of an example implementation of a computing device
- FIG. 7 is a functional block diagram of an example implementation of a risk server
- FIG. 8 includes a flowchart depicting an example method of a vehicle generating reports regarding driving of other vehicles
- FIG. 9 includes a flowchart depicting an example method of a vehicle generating reports regarding its driving
- FIG. 10 includes a flowchart depicting an example method of updating a risk database
- FIG. 11 includes a flowchart depicting an example method of capturing license plate information of other vehicles around a vehicle and taking one or more actions based on risk scores associated with the other vehicles;
- FIG. 12 includes a flowchart depicting an example method of receiving requests regarding license plate information of vehicles and responding to the requests with risk scores for the vehicles;
- FIG. 13 includes a flowchart depicting an example method of receiving requests regarding license plate information of vehicles and selectively reporting one or more vehicles to one or more governmental regulatory bodies.
- a vehicle may include a perception system that perceives objects located around the vehicle based on data from external cameras and sensors.
- external cameras include forward facing cameras, rear facing cameras, and side facing cameras.
- External sensors include radar sensors, light detection and ranging (LIDAR) sensors, and other types of sensors.
- a camera may capture an image including a second vehicle bearing a license plate.
- One or more of the images may indicate that the vehicle performed one or more predetermined types of driving maneuvers, such as changing lanes without signaling, turning without signaling, colliding with an object (e.g., another vehicle), etc.
- the vehicle may generate reports indicative of driving of other vehicles and the other vehicles' respective license plate information.
- the vehicle may generate a report including another vehicles license plate information and a type of driving maneuver performed when the other vehicle changes lanes without signaling, turns without signaling, or collides with an object.
- the vehicle transmits reports to a remote server.
- Reports from vehicles can be automatically sent by the vehicle or sent in response to user input to an application executed by the vehicle (e.g., infotainment module).
- Mobile devices e.g., cellular phones
- the reports generated by mobile devices also include license plate information of vehicles and the driving maneuvers performed by the vehicles, respectively.
- the server determines a risk score associated with that license plate.
- the vehicle may selectively transmit, to the server, requests for information regarding driving of vehicles including license plates visible in images captured by cameras of the vehicle.
- the server may determine the risk scores associated with the license plates of the requests and transmit the responses including the risk scores to the vehicle.
- the vehicle may take one or more actions based on one or more of the risk scores, such as steer the vehicle, adjust a following distance, brake, decelerate, change route or select a different route, etc. Additionally or alternatively, the vehicle may display information regarding the risk scores on a display of the vehicle.
- FIG. 1 a functional block diagram of an example vehicle system is presented. While a vehicle system for a hybrid vehicle is shown and will be described, the present disclosure is also applicable to non-hybrid vehicles, electric vehicles, fuel cell vehicles, autonomous vehicles, and other types of vehicles. Also, while the example of a vehicle is provided, the present application is also applicable to non-vehicle implementations, such as traffic monitoring systems.
- An engine 102 may combust an air/fuel mixture to generate drive torque.
- An engine control module (ECM) 106 controls the engine 102 based on driver inputs and/or one or more other torque requests/commands from one or more vehicle control modules.
- the ECM 106 may control actuation of engine actuators, such as a throttle valve, one or more spark plugs, one or more fuel injectors, valve actuators, camshaft phasers, an exhaust gas recirculation (EGR) valve, one or more boost devices, and other suitable engine actuators.
- EGR exhaust gas recirculation
- boost devices e.g., boost devices
- the engine 102 may output torque to a transmission 110 .
- a transmission control module (TCM) 114 controls operation of the transmission 110 .
- the TCM 114 may control gear selection within the transmission 110 and one or more torque transfer devices (e.g., a torque converter, one or more clutches, etc.).
- the vehicle system may include one or more electric motors.
- an electric motor 118 may be implemented within the transmission 110 as shown in the example of FIG. 1 .
- An electric motor can act as either a generator or as a motor at a given time. When acting as a generator, an electric motor converts mechanical energy into electrical energy. The electrical energy can be, for example, used to charge a battery 126 via a power control device (PCD) 130 . When acting as a motor, an electric motor generates torque that may be used, for example, to supplement or replace torque output by the engine 102 . While the example of one electric motor is provided, the vehicle may include zero or more than one electric motor.
- a power inverter control module (PIM) 134 may control the electric motor 118 and the PCD 130 .
- the PCD 130 applies power from the battery 126 to the electric motor 118 based on signals from the PIM 134 , and the PCD 130 provides power output by the electric motor 118 , for example, to the battery 126 .
- the PIM 134 may be referred to as a power inverter module (PIM) in various implementations.
- a steering control module 140 controls steering/turning of wheels of the vehicle, for example, based on driver turning of a steering wheel within the vehicle and/or steering commands from one or more vehicle control modules.
- a steering wheel angle sensor (SWA) monitors rotational position of the steering wheel and generates a SWA 142 based on the position of the steering wheel.
- the steering control module 140 may control vehicle steering via an EPS motor 144 based on the SWA 142 .
- the vehicle may include another type of steering system.
- An electronic brake control module (EBCM) 150 may selectively control brakes 154 of the vehicle based on the driver inputs and/or one or more other braking requests/commands from one or more vehicle control modules.
- Modules of the vehicle may share parameters via a network 162 , such as a controller area network (CAN).
- CAN controller area network
- the CAN may also be referred to as a car area network.
- the network 162 may include one or more data buses.
- Various parameters may be made available by a given control module to other control modules via the network 162 .
- the driver inputs may include, for example, an accelerator pedal position (APP) 166 which may be provided to the ECM 106 .
- a brake pedal position (BPP) 170 may be provided to the EBCM 150 .
- a position 174 of a park, reverse, neutral, drive lever (PRNDL) may be provided to the TCM 114 .
- An ignition state 178 may be provided to a body control module (BCM) 180 .
- the ignition state 178 may be input by a driver via an ignition key, button, or switch. At a given time, the ignition state 178 may be one of off, accessory, run, or crank.
- the vehicle system may also include an infotainment module 182 .
- the infotainment module 182 controls what is displayed on a display 184 .
- the display 184 may be a touchscreen display in various implementations and transmit signals indicative of user input to the display 184 to the infotainment module 182 .
- the infotainment module 182 may additionally or alternatively receive signals indicative of user input from one or more other user input devices 185 , such as one or more switches, buttons, knobs, etc.
- the infotainment module 182 may also generate output via one or more other devices. For example, the infotainment module 182 may output sound via one or more speakers 190 of the vehicle.
- the vehicle may include a plurality of external sensors and cameras, generally illustrated in FIG. 1 by 186 .
- One or more actions may be taken based on input from the external sensors and cameras 186 .
- the infotainment module 182 may display video, various views, and/or alerts on the display 184 based on input from the external sensors and cameras 186 .
- a perception module 196 perceives objects around the vehicle.
- the perception module 196 may monitor driving of other vehicles and identify license plate information (unique letter and/or number combinations) of other vehicles based on input from the external sensors and cameras 186 . Based on the monitoring of driving of the other vehicles, the perception module 196 may detect the occurrence of predetermined types of events by other vehicles, such as causing an accident, changing lanes without signaling a lane change, and other types of events.
- the ECM 106 may adjust torque output of the engine 102 based on input from the perception module 196 . Additionally or alternatively, the PIM 134 may control power flow to and/or from the electric motor 118 based on input from the perception module 196 . Additionally or alternatively, the EBCM 150 may adjust braking based on input from the perception module 196 . Additionally or alternatively, the steering control module 140 may adjust steering based on input from the perception module 196 .
- the vehicle includes a communication module 198 that wirelessly communicates with remote devices, such as a risk server, as discussed below.
- the communication module 198 wirelessly transmits and receives data via one or more antennas, such as antenna 199 .
- the vehicle may include one or more additional control modules that are not shown, such as a chassis control module, a battery pack control module, etc.
- the vehicle may omit one or more of the control modules shown and discussed.
- the external sensors and cameras 186 include various cameras positioned to capture images and video outside of (external to) the vehicle and various types of sensors measuring parameters outside of (external to the vehicle).
- a forward facing camera 204 captures images and video of images within a predetermined field of view (FOV) 206 in front of the vehicle.
- FOV field of view
- a front camera 208 may also capture images and video within a predetermined FOV 210 in front of the vehicle.
- the front camera 208 may capture images and video within a predetermined distance of the front of the vehicle and may be located at the front of the vehicle (e.g., in a front fascia, grille, or bumper).
- the forward facing camera 204 may be located more rearward, however, such as with a rear view mirror at a windshield of the vehicle.
- the forward facing camera 204 may not be able to capture images and video of items within all of or at least a portion of the predetermined FOV of the front camera 208 and may capture images and video that is greater than the predetermined distance of the front of the vehicle. In various implementations, only one of the forward facing camera 204 and the front camera 208 may be included.
- a rear camera 212 captures images and video within a predetermined FOV 214 behind the vehicle.
- the rear camera 212 may capture images and video within a predetermined distance behind vehicle and may be located at the rear of the vehicle, such as near a rear license plate.
- a right camera 216 captures images and video within a predetermined FOV 218 to the right of the vehicle.
- the right camera 216 may capture images and video within a predetermined distance to the right of the vehicle and may be located, for example, under a right side rear view mirror.
- the right side rear view mirror may be omitted, and the right camera 216 may be located near where the right side rear view mirror would normally be located.
- a left camera 220 captures images and video within a predetermined FOV 222 to the left of the vehicle.
- the left camera 220 may capture images and video within a predetermined distance to the left of the vehicle and may be located, for example, under a left side rear view mirror.
- the left side rear view mirror may be omitted, and the left camera 220 may be located near where the left side rear view mirror would normally be located. While the example FOVs are shown for illustrative purposes, the FOVs may overlap, for example, for more accurate and/or inclusive stitching.
- the external sensors and cameras 186 may additionally or alternatively include various other types of sensors, such as ultrasonic (e.g., radar) sensors.
- the vehicle may include one or more forward facing ultrasonic sensors, such as forward facing ultrasonic sensors 226 and 230 , one or more rearward facing ultrasonic sensors, such as rearward facing ultrasonic sensors 234 and 238 .
- the vehicle may also include one or more right side ultrasonic sensors, such as right side ultrasonic sensor 242 , and one or more left side ultrasonic sensors, such as left side ultrasonic sensor 246 .
- the locations of the cameras and ultrasonic sensors are provided as examples only and different locations could be used. Ultrasonic sensors output ultrasonic signals around the vehicle.
- the external sensors and cameras 186 may additionally or alternatively include one or more other types of sensors, such as one or more sonar sensors, one or more radar sensors, and/or one or more light detection and ranging (LIDAR) sensors.
- sensors such as one or more sonar sensors, one or more radar sensors, and/or one or more light detection and ranging (LIDAR) sensors.
- LIDAR light detection and ranging
- FIG. 3 is a functional block diagram of an example implementation of the perception module 196 .
- a license plate module 304 determines license plate information 308 for another vehicle located at least one of in front of, beside, and behind the vehicle.
- the license plate information 308 includes, for example, a state, letters, numbers, and/or other characters present on a license plate of the other vehicle.
- the license plate module 304 may determine the license plate information 308 , for example, using optical character recognition on an image taken using a camera of the vehicle or in another suitable manner.
- the license plate module 304 may determine the license plate information 308 for each vehicle having a license plate that is visible to the vehicle and that is within a predetermined distance of the vehicle.
- the license plate module 304 may obtain the license plate information 308 in another manner, such as via a vehicle to vehicle (V2V) connection.
- V2V vehicle to vehicle
- An event module 312 monitors the driving of the other vehicle (associated with the license plate information 308 ) and selectively outputs an event indicator 316 based on the driving of the other vehicle.
- the event indicator 316 includes a type of maneuver performed by the other vehicle.
- the event indicator 316 may also include a number of times the predetermined maneuver was performed, a severity of the predetermined maneuver performed, and other information.
- the event module 312 may output the event indicator 316 when the other vehicle changes lanes without signaling a lane change (via signal lights). As another example, the event module 312 may output the event indicator 316 when the other vehicle turns without signaling a turn (via signal lights). As another example, the event module 312 may output the event indicator 316 when the other vehicle contacts another object, such as another vehicle, cyclist, pedestrian, wall, etc. The event module 312 may identify the occurrence of an event prompting the output of the event indicator 316 based on the output of one or more of the external sensors and cameras 186 . The event module 312 monitors the driving of the other vehicle using the output of the external sensors and cameras 186 .
- the event module 312 may also monitor the driving of the vehicle and selectively outputs the event indicator 316 based on the driving of the vehicle. For example, the event module 312 may monitor parameters 320 of the vehicle and the output of one or more of the external sensors and cameras 186 . The event module 312 may selectively output the event indicator 316 based on one or more of the parameters 320 and the output of one or more of the external sensors and cameras 186 . In this example, the event indicator 316 includes a type of maneuver performed by the vehicle.
- the event module 312 may output the event indicator 316 when the vehicle changes lanes without signaling a lane change (via signal lights).
- One of the vehicle parameters 320 may indicate whether signaling was performed in the direction of the lane change.
- the event module 312 may determine that the vehicle changed lanes based on the output of one or more of the external cameras and sensors 186 .
- the event module 312 may output the event indicator 316 when the other vehicle turns without signaling a turn (via signal lights).
- One of the vehicle parameters 320 may indicate whether signaling was performed in the direction of the turn.
- the event module 312 may determine that the vehicle turned based on the output of one or more of the external cameras and sensors 186 .
- the event module 312 may output the event indicator 316 when the vehicle contacts another object, such as another vehicle, cyclist, pedestrian, barrier, etc.
- One of the vehicle parameters 320 may indicate whether the vehicle contacted another object.
- the event module 312 may determine that the vehicle contacted another object based on the output of one or more of the external cameras and sensors 186 .
- a user e.g., owner of the vehicle may opt into or opt out of the event module 312 generating the event indicator 316 based on the driving of the vehicle (self-reporting).
- the event module 312 may only generate the event indicator 316 based on the driving of the vehicle once user input has been received indicative of opting into the monitoring of the driving of the vehicle.
- the event module 312 may not generate the event indicator 316 based on the driving of the vehicle if no input has been received regarding opting in or user input indicative of opting out has been received.
- License plate information 324 of the vehicle is stored in memory of the vehicle.
- the license plate information 324 includes, for example, a state, letters, numbers, and/or other characters present on a license plate of the vehicle.
- a user may input the license plate information 324 or the license plate information 324 may be obtained, for example, using OCR based on the output of one or more of the external cameras and sensors 186 .
- a reporting module 328 outputs a report 332 when the event indicator 316 is generated.
- the report 332 includes the license plate information 308 of the other vehicle and the event indicator 316 .
- the report 332 includes the license plate information 324 of the vehicle and the event indicator 316 .
- the report 332 also includes a unique identifier of the vehicle that generated the report 332 , such as a vehicle identification number (VIN) of the vehicle.
- the report 332 may also include a location 334 of the vehicle.
- a global position system (GPS) of the vehicle may track and provide the (present) location 334 .
- the report 332 may also include one or more images captured of the other vehicle.
- the reporting module 328 communicates the report 332 to a risk server 336 that is located remotely from the vehicle.
- the reporting module 328 may communicate the report 332 to the communication module 198 and the communication module 198 may wirelessly transmit the report 332 to the risk server 336 , such as via a cellular, satellite, or WiFi connection.
- FIG. 4 is a functional block diagram of an example risk system including the risk server 336 .
- the risk server 336 receives reports, such as the report 332 , from a plurality of vehicles 404 , such as vehicle 408 , vehicle 412 , vehicle 416 , and a plurality of other vehicles.
- the vehicles 404 may include autonomous vehicles, non-autonomous (driver driven) vehicles, semi-autonomous vehicles, or a combination of autonomous and non-autonomous vehicles.
- the risk server 336 also receives reports, such as report 424 , from mobile devices, such as mobile device 428 .
- mobile devices include mobile phones, tablet devices, laptop computers, desktop computers, and other types of computing devices.
- Mobile devices, vehicles, and the risk server 336 communicate via one or more networks 432 .
- the networks 432 may include wireless networks or a combination of wireless and wired networks.
- the risk server 336 determines risks of various vehicles.
- a vehicle may adjust its operation based on the risk of one or more vehicles around that vehicle. Additionally or alternatively, the vehicle may display the risk of one or more vehicles around that vehicle on a display.
- FIG. 5 includes a front view of an example implementation of the mobile device 428 .
- FIG. 6 includes a functional block diagram of an example implementation of the mobile device 428 .
- the mobile device 428 includes a central processing unit (CPU) or processor 604 , one or more input devices 608 (e.g., touchscreen display, a microphone, one or more switches, etc.), a display 612 (e.g., the touchscreen display), one or more other output devices (not shown), a network interface 616 , and memory 620 . While the input devices 608 and the display 612 are illustrated as components of the mobile device 428 , input devices and output devices (e.g., a display) may be peripheral devices. Also, while the example of a single processor is provided, the mobile device 428 may include two or more processors.
- the network interface 616 connects the mobile device 428 to the networks 432 .
- the network interface 616 may include a wired interface (e.g., an Ethernet interface) and/or a wireless interface (e.g., a WiFi, Bluetooth, near field communication (NFC), or other wireless interface).
- the processor 604 of the mobile device 428 executes an operating system (OS) 624 and one or more other applications.
- the processor 604 executes a reporting application 628 to display user interfaces for generating and transmitting reports including event indicators and license plates of vehicles. Operations discussed herein as being performed by the mobile device 428 are performed by the mobile device 428 (more specifically the processor 604 ) during execution of the reporting application 628 .
- Another instance of the reporting application may be executed in vehicle, for example, within and by the infotainment module 182 .
- the infotainment module 182 may use user input to the display 184 and/or the one or more user input devices 185 to generate reports using that reporting application.
- the mobile device 428 generates reports based on user input and transmits the reports to the risk server 336 .
- Each of the reports includes license plate information and an event indicator.
- the license plate information includes a state, letters, numbers, and/or other characters present on a license plate of a vehicle.
- a user may input the license plate information 324 to the mobile device 428 or the license plate information may be obtained, for example, using OCR based on an image captured using a camera of the mobile device 428 .
- the event indicator includes a type of maneuver performed by the vehicle associated with the license plate information 324 .
- the event indicator may also include a number of times the predetermined maneuver was performed, a severity of the predetermined maneuver performed, and other information.
- the type of maneuver performed may be selected by a user from a predetermined list of maneuvers.
- Each report also includes a unique identifier of the mobile device that generated the report.
- the risk server 336 determines risks of various vehicles based on the reports 332 from vehicles and the reports 424 from mobile devices.
- FIG. 7 includes a functional block diagram of an example implementation of the risk server 336 .
- a risk module 704 receives the reports from vehicles and mobile devices, such as the report 332 and the report 424 .
- the risk module 704 updates a risk database 708 and determines risk scores (values) for vehicles identified in the reports based on the information included in the reports.
- the risk database 708 may include risk data indexed by license plate.
- the risk data associated with each license plate may include, for example, a count of number of reports of each different type of maneuver within the last predetermined period, a count of a number of reports generated by the vehicle associated with the license plate in the last predetermined period, a count of a number of reports generated by other devices (vehicles and/or mobile devices) in the last predetermined period, a count of a number of unique devices that reported the license plate in the last predetermined period, a number of collisions by the vehicle associated with the license plate with objects in the last predetermined period, and/or other event information associated with the license plate in the last predetermined period.
- the predetermined period may be, for example, 6 months, 1 year, or another suitable period.
- the risk module 704 determines a risk score for each license plate based on the risk data associated with that license plate in the risk database 708 .
- the risk module 704 may increase the risk score for a license plate as the number of driving maneuvers reported within the last predetermined period for that license plate increase and vice versa.
- the risk module 704 may determine the risk score for a license plate using one of a lookup table and an equation that relates parameters of the risk data and weighting values to risk scores. For example, the risk module 704 may determine the risk score for a license plate using the equation:
- Risk is the risk score of the license plate
- w 1 is a first weighting value
- p 1 is a first parameter of the risk data associated with the license plate
- w 2 is a second weighting value
- p 2 is a second parameter of the risk data associated with the license plate
- w 3 is a third weighting value
- p 3 is a third parameter of the risk data associated with the license plate
- wn is an n-th weighting value
- pn is an n-th parameter of the risk data associated with the license plate.
- the weighting values may be fixed predetermined values or may be variables.
- the first parameter may be, for example, a count of number of reports of a first type of maneuver within the last predetermined period.
- the second parameter may be, for example, a count of number of reports of a second type of maneuver within the last predetermined period.
- the third parameter may be, for example, the count of a number of reports generated by the vehicle associated with the license plate.
- a fourth parameter may be, for example, the count of a number of reports generated by other devices (vehicles and/or mobile devices).
- a fifth parameter may be, for example, the count of a number of unique devices that reported the license plate.
- a sixth parameter may be, for example, the number of collisions by the vehicle associated with the license plate with objects, etc. While two types of maneuvers are described above, the equation or lookup table may account for more than two types of maneuvers.
- vehicles may selectively transmit requests 450 to the risk server 336 .
- Each of the requests 450 may include the license plate information 308 for each vehicle having a license plate that is visible to the vehicle and that is within the predetermined distance of the vehicle.
- Each vehicle may generate a request at a predetermined rate, such as each predetermined period (e.g., 5 seconds, 10 seconds, 15 seconds, etc.) or each predetermined distance (e.g., 500 feet, 1000 feet, etc.).
- a risk obtaining module 350 may transmit a request 716 including the license plate information 308 and the location of the vehicle.
- a response module 712 receives the requests 450 , such as the request 716 .
- the request 716 includes one or more pieces of the license plate information for one or more different vehicles, respectively.
- the response module 712 obtains the respective risk scores associated with the license plate information from the risk database 708 .
- the response module 712 transmits a response 720 back to the vehicle that transmitted the request 716 .
- the response 720 includes the risk scores of the respective vehicles bearing the license plate information included in the request 716 .
- the risk obtaining module 350 receives the response 720 to the request 716 in the example of FIG. 3 .
- the vehicle receiving the response 720 may take one or more actions based on one or more of the risk scores.
- the infotainment module 182 may display video, various views, and/or alerts on the display 184 when one or more of the risk scores are greater than a predetermined value.
- one or more control modules 354 may actuate one or more actuators based on one or more of the risk scores of the response 720 .
- the ECM 106 may adjust torque output of the engine 102 based on one or more of the risk scores. For example, the ECM 106 may adjust torque output of the engine 102 to maintain at least a predetermined distance between a vehicle having a risk score that is greater than a predetermined value and the vehicle. Additionally or alternatively, the PIM 134 may control power flow to and/or from the electric motor 118 based on one or more of the risk scores. For example, the PIM 134 may control power flow to and/or from the electric motor 118 to maintain at least a predetermined distance between a vehicle having a risk score that is greater than a predetermined value and the vehicle. Additionally or alternatively, the EBCM 150 may adjust braking based on one or more of the risk scores.
- the EBCM 150 may adjust braking to maintain at least a predetermined distance between a vehicle having a risk score that is greater than a predetermined value and the vehicle.
- the steering control module 140 may adjust steering based on one or more of the risk scores.
- the steering control module 140 may adjust steering to maintain at least a predetermined distance between a vehicle having a risk score that is greater than a predetermined value and the vehicle.
- Example responses are illustrated by 454 in FIG. 4 .
- the risk server 336 may also include a reporting module 724 and a reported vehicle database 728 .
- the reporting module 724 also receives the requests 450 , such as the request 716 .
- the reporting module 724 determines whether any of the license plate information in the requests 450 is included in the reported vehicle database 728 . If a piece of license plate information is included in a request, the reporting module 724 transmits a report 732 to one or more governmental regulatory bodies, such as one or more police departments.
- the report 732 includes the license plate information included in the reported vehicle database 728 and the location provided with that license plate information in that request.
- the reported vehicle database 728 may include license plate information reported by the one or more governmental regulatory bodies and/or license plate information reported by one or more other sources.
- license plate information that may be included in the reported vehicle database 728 includes license plate information included in amber alerts, license plate information of stolen vehicles, license plate information associated with drivers having one or more warrants, etc.
- the one or more governmental regulatory bodies may respond to the approximate location of the vehicle to identify the vehicle including the license plate information included in the reported vehicle database 728 .
- FIG. 8 includes a flowchart depicting an example method of generating reports regarding driving of other vehicles.
- Control begins with 804 where the external cameras and sensors 186 capture information outside of the vehicle.
- the license plate module 304 determines the license plate information 308 based on the output of one or more of the external cameras and sensors 186 , such as the forward facing camera 204 . In various information, the license plate module 304 may obtain the license plate information 308 in another manner, such as via a V2V connection.
- the event module 312 determines whether one or more other vehicles performed one or more of the predetermined types of maneuvers. If 812 is false, control may end. If 812 is true, control may continue with 816 .
- the reporting module 328 generates the report for the maneuver performed by the other vehicle.
- the report 332 includes the license plate information 308 of the other vehicle, the maneuver performed by the other vehicle, the location of the vehicle, and may include other information.
- the communication module 198 transmits the report 332 to the risk server 336 for updating the risk score associated with the other vehicle. While control is shown as ending, control may return to 804 .
- FIG. 9 includes a flowchart depicting an example method of generating reports regarding driving of the vehicle (self-reporting).
- Control may begin with 904 where the reporting module 328 determines whether the vehicle has been opted into self-reporting.
- An indicator e.g., flag
- control may continue with 908 . If 904 is false, control may end. In various implementations, 904 may be omitted.
- the event module 312 obtains the vehicle parameters 320 and the output of the external cameras and sensors 186 .
- the event module 312 determines whether the vehicle performed one or more of the predetermined types of maneuvers. If 912 is false, control may end. If 912 is true, control may continue with 916 .
- the reporting module 328 generates the report for the maneuver performed by the vehicle.
- the report 332 includes the license plate information 324 of the vehicle, the maneuver performed by the vehicle, the location of the vehicle, and may include other information.
- the communication module 198 transmits the report 332 to the risk server 336 for updating the risk score associated with the vehicle. While control is shown as ending, control may return to 904 .
- FIG. 10 is a flowchart depicting an example method of updating the risk database 708 .
- Control may begin with 1004 where the risk module 704 receives a report, such as a report regarding a maneuver performed by another vehicle or a report regarding a maneuver performed by the vehicle. If 1004 is true, control continues with 1008 . If 1004 is false, control may end.
- a report such as a report regarding a maneuver performed by another vehicle or a report regarding a maneuver performed by the vehicle.
- the risk module 704 determines the license plate information for the vehicle that performed the maneuver from the received report.
- the risk module 704 identifies the risk data associated with the license plate information stored in the risk database 708 , updates the risk data based on the information included in the received report, and updates the risk score associated with the license plate information in the risk database 708 . Control may then end. While control is shown as ending, control may return to 1004 .
- FIG. 11 includes a flowchart depicting an example method of capturing license plate information of other vehicles around a vehicle and taking one or more actions based on risk scores associated with the other vehicles.
- Control begins with 1104 where the external cameras and sensors 186 capture information outside of the vehicle.
- the license plate module 304 determines the license plate information 308 for the other vehicles based on the output of the external cameras and sensors 186 .
- the risk obtaining module 350 generates the request 716 for risk scores of the other vehicles associated with the license plate information 308 .
- the communication module 198 transmits the request 716 to the risk server 336 .
- the risk server 336 obtains the risk scores for the other vehicles based on the license plate information 308 from the risk database 708 , and generates the response 720 based on the risk scores.
- the risk obtaining module 350 receives the response 720 regarding the other vehicles from the risk server 336 via the communication module 198 .
- the vehicle takes one or more actions based on the risk scores.
- the infotainment module 182 may display video, various views, and/or alerts on the display 184 when one or more of the risk scores are greater than greater than a predetermined value.
- the ECM 106 may adjust torque output of the engine 102 based on one or more of the risk scores.
- the ECM 106 may adjust torque output of the engine 102 to maintain at least a predetermined distance between a vehicle having a risk score that is greater than a predetermined value and the vehicle.
- the PIM 134 may control power flow to and/or from the electric motor 118 based on one or more of the risk scores. For example, the PIM 134 may control power flow to and/or from the electric motor 118 to maintain at least a predetermined distance between a vehicle having a risk score that is greater than a predetermined value and the vehicle. Additionally or alternatively, the EBCM 150 may adjust braking based on one or more of the risk scores. For example, the EBCM 150 may adjust braking to maintain at least a predetermined distance between a vehicle having a risk score that is greater than a predetermined value and the vehicle. Additionally or alternatively, the steering control module 140 may adjust steering based on one or more of the risk scores. For example, the steering control module 140 may adjust steering to maintain at least a predetermined distance between a vehicle having a risk score that is greater than a predetermined value and the vehicle. While control is shown as ending, control may return to 1104 .
- FIG. 12 includes a flowchart depicting an example method of receiving requests regarding license plate information of vehicles and responding to the requests with risk scores for the vehicles.
- Control may begin with 1204 where the response module 712 determines whether a request, such as the request 716 , has been received. The request includes license plate information for one or more vehicles. If 1204 is true, control continues with 1208 . If 1204 is false, control may remain at 1204 .
- the response module 712 obtains (e.g., parses) the license plate information from the request.
- the response module 712 determines the risk score(s) for the vehicle(s) associated with the license plate information from the risk database 708 .
- the response module 712 generates a response, such as the response 720 , including the risk score(s) and transmits the response to the device (e.g., vehicle) that transmitted the request. While control is shown as ending, control may return to 1204 .
- FIG. 13 includes a flowchart depicting an example method of receiving requests regarding license plate information of vehicles and selectively reporting one or more vehicles to one or more governmental regulatory bodies.
- Control may begin with 1304 where the reporting module 724 determines whether a request, such as the request 716 , has been received.
- the request includes license plate information for one or more vehicles.
- the request also includes a location of the device (e.g., vehicle) that transmitted the request. If 1304 is true, control continues with 1308 . If 1304 is false, control may remain at 1304 .
- the reporting module 724 obtains (e.g., parses) the license plate information from the request.
- the reporting module 724 determines whether the license plate information of one or more vehicles included in the request is present (included) in the reported vehicle database 728 . If 1312 is true, control continues with 1316 . If 1312 is false, the reporting module 724 does not send a report, such as the report 732 , to the one or more governmental regulatory bodies, and control may end.
- the reporting module 724 generates a report, such as the report 732 , including the location included in the request and the license plate information of the one or more vehicles that is present in the reported vehicle database 728 .
- the reporting module 724 transmits the report to the one or more governmental regulatory bodies at 1316 , such as to one or more email, messaging, or other addresses of the governmental regulatory bodies. While control is shown as ending, control may return to 1304 .
- Spatial and functional relationships between elements are described using various terms, including “connected,” “engaged,” “coupled,” “adjacent,” “next to,” “on top of,” “above,” “below,” and “disposed.” Unless explicitly described as being “direct,” when a relationship between first and second elements is described in the above disclosure, that relationship can be a direct relationship where no other intervening elements are present between the first and second elements, but can also be an indirect relationship where one or more intervening elements are present (either spatially or functionally) between the first and second elements.
- the phrase at least one of A, B, and C should be construed to mean a logical (A OR B OR C), using a non-exclusive logical OR, and should not be construed to mean “at least one of A, at least one of B, and at least one of C.”
- the direction of an arrow generally demonstrates the flow of information (such as data or instructions) that is of interest to the illustration.
- information such as data or instructions
- the arrow may point from element A to element B. This unidirectional arrow does not imply that no other information is transmitted from element B to element A.
- element B may send requests for, or receipt acknowledgements of, the information to element A.
- module or the term “controller” may be replaced with the term “circuit.”
- the term “module” may refer to, be part of, or include: an Application Specific Integrated Circuit (ASIC); a digital, analog, or mixed analog/digital discrete circuit; a digital, analog, or mixed analog/digital integrated circuit; a combinational logic circuit; a field programmable gate array (FPGA); a processor circuit (shared, dedicated, or group) that executes code; a memory circuit (shared, dedicated, or group) that stores code executed by the processor circuit; other suitable hardware components that provide the described functionality; or a combination of some or all of the above, such as in a system-on-chip.
- ASIC Application Specific Integrated Circuit
- FPGA field programmable gate array
- the module may include one or more interface circuits.
- the interface circuits may include wired or wireless interfaces that are connected to a local area network (LAN), the Internet, a wide area network (WAN), or combinations thereof.
- LAN local area network
- WAN wide area network
- the functionality of any given module of the present disclosure may be distributed among multiple modules that are connected via interface circuits. For example, multiple modules may allow load balancing.
- a server (also known as remote, or cloud) module may accomplish some functionality on behalf of a client module.
- code may include software, firmware, and/or microcode, and may refer to programs, routines, functions, classes, data structures, and/or objects.
- shared processor circuit encompasses a single processor circuit that executes some or all code from multiple modules.
- group processor circuit encompasses a processor circuit that, in combination with additional processor circuits, executes some or all code from one or more modules. References to multiple processor circuits encompass multiple processor circuits on discrete dies, multiple processor circuits on a single die, multiple cores of a single processor circuit, multiple threads of a single processor circuit, or a combination of the above.
- shared memory circuit encompasses a single memory circuit that stores some or all code from multiple modules.
- group memory circuit encompasses a memory circuit that, in combination with additional memories, stores some or all code from one or more modules.
- the term memory circuit is a subset of the term computer-readable medium.
- the term computer-readable medium does not encompass transitory electrical or electromagnetic signals propagating through a medium (such as on a carrier wave); the term computer-readable medium may therefore be considered tangible and non-transitory.
- Non-limiting examples of a non-transitory, tangible computer-readable medium are nonvolatile memory circuits (such as a flash memory circuit, an erasable programmable read-only memory circuit, or a mask read-only memory circuit), volatile memory circuits (such as a static random access memory circuit or a dynamic random access memory circuit), magnetic storage media (such as an analog or digital magnetic tape or a hard disk drive), and optical storage media (such as a CD, a DVD, or a Blu-ray Disc).
- nonvolatile memory circuits such as a flash memory circuit, an erasable programmable read-only memory circuit, or a mask read-only memory circuit
- volatile memory circuits such as a static random access memory circuit or a dynamic random access memory circuit
- magnetic storage media such as an analog or digital magnetic tape or a hard disk drive
- optical storage media such as a CD, a DVD, or a Blu-ray Disc
- the apparatuses and methods described in this application may be partially or fully implemented by a special purpose computer created by configuring a general purpose computer to execute one or more particular functions embodied in computer programs.
- the functional blocks, flowchart components, and other elements described above serve as software specifications, which can be translated into the computer programs by the routine work of a skilled technician or programmer.
- the computer programs include processor-executable instructions that are stored on at least one non-transitory, tangible computer-readable medium.
- the computer programs may also include or rely on stored data.
- the computer programs may encompass a basic input/output system (BIOS) that interacts with hardware of the special purpose computer, device drivers that interact with particular devices of the special purpose computer, one or more operating systems, user applications, background services, background applications, etc.
- BIOS basic input/output system
- the computer programs may include: (i) descriptive text to be parsed, such as HTML (hypertext markup language), XML (extensible markup language), or JSON (JavaScript Object Notation) (ii) assembly code, (iii) object code generated from source code by a compiler, (iv) source code for execution by an interpreter, (v) source code for compilation and execution by a just-in-time compiler, etc.
- source code may be written using syntax from languages including C, C++, C #, Objective-C, Swift, Haskell, Go, SQL, R, Lisp, Java®, Fortran, Perl, Pascal, Curl, OCaml, Javascript®, HTML5 (Hypertext Markup Language 5th revision), Ada, ASP (Active Server Pages), PHP (PHP: Hypertext Preprocessor), Scala, Eiffel, Smalltalk, Erlang, Ruby, Flash®, Visual Basic®, Lua, MATLAB, SIMULINK, and Python®.
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mechanical Engineering (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Human Computer Interaction (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Life Sciences & Earth Sciences (AREA)
- Atmospheric Sciences (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Emergency Management (AREA)
- Automation & Control Theory (AREA)
- Traffic Control Systems (AREA)
Abstract
Description
- The information provided in this section is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
- The present disclosure relates to vehicles and more particularly to systems and methods for reporting vehicle actions and alerting vehicle users and/or adjusting vehicle operation based on behavior of surrounding vehicles.
- Vehicles include one or more torque producing devices, such as an internal combustion engine and/or an electric motor. A passenger of a vehicle rides within a passenger cabin (or passenger compartment) of the vehicle.
- Vehicles may include one or more different type of sensors that sense vehicle surroundings. One example of a sensor that senses vehicle surroundings is a camera configured to capture images of the vehicle surroundings. Examples of such cameras include forward facing cameras, rear facing cameras, and side facing cameras. Another example of a sensor that senses vehicle surroundings includes a radar sensor configured to sense vehicle surroundings. Other examples of sensors that sense vehicle surroundings include sonar sensors and light detection and ranging (LIDAR) sensors configured to sense vehicle surroundings.
- In a feature, a system of a vehicle includes: a camera configured to capture images within a predetermined field of view at least one of: in front of the vehicle; behind the vehicle; and beside the vehicle; a license plate module configured to determine license plate information of a license plate attached to another vehicle; an event module configured to: based on at least one of the images, determine whether the other vehicle performed a predetermined type of driving maneuver; and generate an indicator in response to the other vehicle performing the predetermined type of driving maneuver; a reporting module configured to, in response to the generation of the indicator, generate a report including: the license plate information of the license plate attached to the other vehicle; and the predetermined type of driving maneuver performed by the other vehicle; and a communication module configured to wirelessly transmit the report to a server via at least one antenna.
- In further features, the server includes a risk module configured to: receive the report; based on the predetermined type of driving maneuver performed by the other vehicle, update risk information associated with the license plate information of the license plate attached to the other vehicle and stored in a risk database; and determine a risk score associated with the license plate information of the license plate attached to the other vehicle based on the updated risk information; and store the risk score in association with the license plate information in the risk database.
- In further features: a risk obtaining module is configured to generate a request including the license plate information of the license plate attached to the other vehicle, where the communication module is configured to wirelessly transmit the request to the server via the at least one antenna, where the server further includes a response module configured to: based on the license plate information of the license plate attached to the other vehicle included in the request, determine the risk score associated with the license plate information stored in the risk database; and wirelessly communicate a response including the risk score of the other vehicle to the vehicle.
- In further features, an infotainment module is configured to selectively adjust information displayed on a display of the vehicle based on the risk score of the other vehicle.
- In further features, an engine control module configured to selectively adjust torque output of an internal combustion engine based on the risk score of the other vehicle.
- In further features, a power inverter module configured to control torque output of an electric motor based on the risk score of the other vehicle.
- In further features, a steering control module configured to selectively adjust steering of the vehicle based on the risk score of the other vehicle.
- In further features, a braking control module configured to selectively adjust braking of the vehicle based on the risk score of the other vehicle.
- In further features, an infotainment module configured to select a route for the vehicle based on the risk score of the other vehicle.
- In further features: the request further includes a location of the vehicle obtained from a global positioning system of the vehicle; and the server further includes a reporting module configured to: from the request, obtain the license plate information of the license plate attached to the other vehicle; determine whether the license plate information of the license plate attached to the other vehicle is included in a reported vehicle database; and in response to determining that the license plate information of the license plate attached to the other vehicle is included in the reported vehicle database, transmit a report to a governmental regulatory body, the report including the location of the vehicle and the license plate information of the license plate attached to the other vehicle.
- In further features a mobile device is configured to: in response to user input to the mobile device, generate a second report including: the license plate information of the license plate attached to the other vehicle; and a predetermined type of second driving maneuver performed by the other vehicle; and wirelessly transmit the second report to the server.
- In further features, the risk module is further configured to: receive the second report; based on the predetermined type of second driving maneuver performed by the other vehicle, update the risk information associated with the license plate information of the license plate attached to the other vehicle and stored in the risk database; determine the risk score associated with the license plate information of the license plate attached to the other vehicle based on the updated risk information; and store the risk score in association with the license plate information in the risk database.
- In further features, the reporting module is further configured to, in response to user input to an infotainment module of the vehicle, generate a second report including: the license plate information of the license plate attached to the other vehicle; and a predetermined type of second driving maneuver performed by the other vehicle; and the communication module is further configured to wirelessly transmit the second report to the server via at least one antenna.
- In further features, the license plate module is configured to determine the license plate information using optical character recognition (OCR) based on at least one of the images.
- In a feature, a system of a vehicle includes: a camera configured to capture images within a predetermined field of view at least one of: in front of the vehicle; behind the vehicle; and beside the vehicle; a license plate module configured to determine license plate information of a license plate attached to another vehicle; a risk obtaining module configured to generate a request including the license plate information of the license plate attached to the other vehicle; and a communication module configured to: wirelessly transmit the request to a server via at least one antenna; and wirelessly receive a response from the server via at least one antenna, wherein the response includes a risk score of the other vehicle.
- In further features, the system includes at least one of: an infotainment module configured to selectively adjust information displayed on a display of the vehicle based on the risk score of the other vehicle; an engine control module configured to selectively adjust torque output of an internal combustion engine based on the risk score of the other vehicle; a power inverter module configured to control torque output of an electric motor based on the risk score of the other vehicle; a steering control module configured to selectively adjust steering of the vehicle based on the risk score of the other vehicle; a braking control module configured to selectively adjust braking of the vehicle based on the risk score of the other vehicle; and an infotainment module configured to select a route for the vehicle based on the risk score of the other vehicle.
- In a feature, a server includes: a risk database; and a risk module configured to: wirelessly receive a report from a first vehicle, the report including: license plate information of a license plate attached to a second vehicle; and a predetermined type of driving maneuver performed by the second vehicle; based on the predetermined type of driving maneuver performed by the second vehicle, update risk information associated with the license plate information of the license plate attached to the second vehicle and stored in the risk database; and determine a risk score associated with the license plate information of the license plate attached to the second vehicle based on the updated risk information; and store the risk score in association with the license plate information in the risk database.
- In further features, the risk module is further configured to: wirelessly receive a second report from mobile device, the second report including: the license plate information of the license plate attached to the second vehicle; and a predetermined type of second driving maneuver performed by the second vehicle; based on the predetermined type of second driving maneuver performed by the second vehicle, update the risk information associated with the license plate information of the license plate attached to the second vehicle and stored in the risk database; and determine the risk score associated with the license plate information of the license plate attached to the second vehicle based on the updated risk information; and store the risk score in association with the license plate information in the risk database.
- In further features, a response module is configured to: wirelessly receive, from a third vehicle, a request including the license plate information of the license plate attached to the second vehicle; based on the license plate information of the license plate attached to the second vehicle included in the request, determine the risk score associated with the license plate information stored in the risk database; and wirelessly communicate a response including the risk score of the second vehicle to the third vehicle.
- In further features: the request further includes a location of the third vehicle, and the server further includes: a reported vehicle database; and a reporting module configured to: determine whether the license plate information of the license plate attached to the second vehicle is included in the reported vehicle database; and in response to determining that the license plate information of the license plate attached to the second vehicle is included in the reported vehicle database, transmit a report to a governmental regulatory body, the report including the location of the third vehicle and the license plate information of the license plate attached to the second vehicle.
- Further areas of applicability of the present disclosure will become apparent from the detailed description, the claims and the drawings. The detailed description and specific examples are intended for purposes of illustration only and are not intended to limit the scope of the disclosure.
- The present disclosure will become more fully understood from the detailed description and the accompanying drawings, wherein:
-
FIG. 1 is a functional block diagram of an example vehicle system; -
FIG. 2 is a functional block diagram of a vehicle including various external cameras and sensors; -
FIG. 3 is a functional block diagram of an example implementation of a perception module; -
FIG. 4 is a functional block diagram of an example risk system; -
FIG. 5 is a front view of an example implementation of a computing device; -
FIG. 6 is a functional block diagram of an example implementation of a computing device; -
FIG. 7 is a functional block diagram of an example implementation of a risk server; -
FIG. 8 includes a flowchart depicting an example method of a vehicle generating reports regarding driving of other vehicles; -
FIG. 9 includes a flowchart depicting an example method of a vehicle generating reports regarding its driving; -
FIG. 10 includes a flowchart depicting an example method of updating a risk database; -
FIG. 11 includes a flowchart depicting an example method of capturing license plate information of other vehicles around a vehicle and taking one or more actions based on risk scores associated with the other vehicles; -
FIG. 12 includes a flowchart depicting an example method of receiving requests regarding license plate information of vehicles and responding to the requests with risk scores for the vehicles; and -
FIG. 13 includes a flowchart depicting an example method of receiving requests regarding license plate information of vehicles and selectively reporting one or more vehicles to one or more governmental regulatory bodies. - In the drawings, reference numbers may be reused to identify similar and/or identical elements.
- A vehicle may include a perception system that perceives objects located around the vehicle based on data from external cameras and sensors. Examples of external cameras include forward facing cameras, rear facing cameras, and side facing cameras. External sensors include radar sensors, light detection and ranging (LIDAR) sensors, and other types of sensors.
- For example, a camera may capture an image including a second vehicle bearing a license plate. One or more of the images may indicate that the vehicle performed one or more predetermined types of driving maneuvers, such as changing lanes without signaling, turning without signaling, colliding with an object (e.g., another vehicle), etc.
- According to the present disclosure, the vehicle may generate reports indicative of driving of other vehicles and the other vehicles' respective license plate information. For example, the vehicle may generate a report including another vehicles license plate information and a type of driving maneuver performed when the other vehicle changes lanes without signaling, turns without signaling, or collides with an object.
- The vehicle transmits reports to a remote server. Reports from vehicles can be automatically sent by the vehicle or sent in response to user input to an application executed by the vehicle (e.g., infotainment module). Mobile devices (e.g., cellular phones) may also transmit reports to the remote server based on driving of vehicles. The reports generated by mobile devices also include license plate information of vehicles and the driving maneuvers performed by the vehicles, respectively. Based on the reports received regarding a license plate, the server determines a risk score associated with that license plate.
- The vehicle may selectively transmit, to the server, requests for information regarding driving of vehicles including license plates visible in images captured by cameras of the vehicle. The server may determine the risk scores associated with the license plates of the requests and transmit the responses including the risk scores to the vehicle. The vehicle may take one or more actions based on one or more of the risk scores, such as steer the vehicle, adjust a following distance, brake, decelerate, change route or select a different route, etc. Additionally or alternatively, the vehicle may display information regarding the risk scores on a display of the vehicle.
- Referring now to
FIG. 1 , a functional block diagram of an example vehicle system is presented. While a vehicle system for a hybrid vehicle is shown and will be described, the present disclosure is also applicable to non-hybrid vehicles, electric vehicles, fuel cell vehicles, autonomous vehicles, and other types of vehicles. Also, while the example of a vehicle is provided, the present application is also applicable to non-vehicle implementations, such as traffic monitoring systems. - An
engine 102 may combust an air/fuel mixture to generate drive torque. An engine control module (ECM) 106 controls theengine 102 based on driver inputs and/or one or more other torque requests/commands from one or more vehicle control modules. For example, the ECM 106 may control actuation of engine actuators, such as a throttle valve, one or more spark plugs, one or more fuel injectors, valve actuators, camshaft phasers, an exhaust gas recirculation (EGR) valve, one or more boost devices, and other suitable engine actuators. In some types of vehicles (e.g., electric vehicles), theengine 102 may be omitted. - The
engine 102 may output torque to a transmission 110. A transmission control module (TCM) 114 controls operation of the transmission 110. For example, the TCM 114 may control gear selection within the transmission 110 and one or more torque transfer devices (e.g., a torque converter, one or more clutches, etc.). - The vehicle system may include one or more electric motors. For example, an electric motor 118 may be implemented within the transmission 110 as shown in the example of
FIG. 1 . An electric motor can act as either a generator or as a motor at a given time. When acting as a generator, an electric motor converts mechanical energy into electrical energy. The electrical energy can be, for example, used to charge abattery 126 via a power control device (PCD) 130. When acting as a motor, an electric motor generates torque that may be used, for example, to supplement or replace torque output by theengine 102. While the example of one electric motor is provided, the vehicle may include zero or more than one electric motor. - A power inverter control module (PIM) 134 may control the electric motor 118 and the
PCD 130. ThePCD 130 applies power from thebattery 126 to the electric motor 118 based on signals from thePIM 134, and thePCD 130 provides power output by the electric motor 118, for example, to thebattery 126. ThePIM 134 may be referred to as a power inverter module (PIM) in various implementations. - A
steering control module 140 controls steering/turning of wheels of the vehicle, for example, based on driver turning of a steering wheel within the vehicle and/or steering commands from one or more vehicle control modules. A steering wheel angle sensor (SWA) monitors rotational position of the steering wheel and generates a SWA 142 based on the position of the steering wheel. As an example, thesteering control module 140 may control vehicle steering via an EPS motor 144 based on the SWA 142. However, the vehicle may include another type of steering system. - An electronic brake control module (EBCM) 150 may selectively control
brakes 154 of the vehicle based on the driver inputs and/or one or more other braking requests/commands from one or more vehicle control modules. - Modules of the vehicle may share parameters via a
network 162, such as a controller area network (CAN). The CAN may also be referred to as a car area network. For example, thenetwork 162 may include one or more data buses. Various parameters may be made available by a given control module to other control modules via thenetwork 162. - The driver inputs may include, for example, an accelerator pedal position (APP) 166 which may be provided to the ECM 106. A brake pedal position (BPP) 170 may be provided to the
EBCM 150. Aposition 174 of a park, reverse, neutral, drive lever (PRNDL) may be provided to the TCM 114. Anignition state 178 may be provided to a body control module (BCM) 180. For example, theignition state 178 may be input by a driver via an ignition key, button, or switch. At a given time, theignition state 178 may be one of off, accessory, run, or crank. - The vehicle system may also include an
infotainment module 182. Theinfotainment module 182 controls what is displayed on adisplay 184. Thedisplay 184 may be a touchscreen display in various implementations and transmit signals indicative of user input to thedisplay 184 to theinfotainment module 182. Theinfotainment module 182 may additionally or alternatively receive signals indicative of user input from one or more otheruser input devices 185, such as one or more switches, buttons, knobs, etc. Theinfotainment module 182 may also generate output via one or more other devices. For example, theinfotainment module 182 may output sound via one ormore speakers 190 of the vehicle. - The vehicle may include a plurality of external sensors and cameras, generally illustrated in
FIG. 1 by 186. One or more actions may be taken based on input from the external sensors andcameras 186. For example, theinfotainment module 182 may display video, various views, and/or alerts on thedisplay 184 based on input from the external sensors andcameras 186. - As another example, based on input from the external sensors and
cameras 186, aperception module 196 perceives objects around the vehicle. Theperception module 196 may monitor driving of other vehicles and identify license plate information (unique letter and/or number combinations) of other vehicles based on input from the external sensors andcameras 186. Based on the monitoring of driving of the other vehicles, theperception module 196 may detect the occurrence of predetermined types of events by other vehicles, such as causing an accident, changing lanes without signaling a lane change, and other types of events. - The ECM 106 may adjust torque output of the
engine 102 based on input from theperception module 196. Additionally or alternatively, thePIM 134 may control power flow to and/or from the electric motor 118 based on input from theperception module 196. Additionally or alternatively, theEBCM 150 may adjust braking based on input from theperception module 196. Additionally or alternatively, thesteering control module 140 may adjust steering based on input from theperception module 196. - The vehicle includes a
communication module 198 that wirelessly communicates with remote devices, such as a risk server, as discussed below. Thecommunication module 198 wirelessly transmits and receives data via one or more antennas, such asantenna 199. - The vehicle may include one or more additional control modules that are not shown, such as a chassis control module, a battery pack control module, etc. The vehicle may omit one or more of the control modules shown and discussed.
- Referring now to
FIG. 2 , a functional block diagram of a vehicle including examples of external sensors and cameras is presented. The external sensors andcameras 186 include various cameras positioned to capture images and video outside of (external to) the vehicle and various types of sensors measuring parameters outside of (external to the vehicle). For example, a forward facingcamera 204 captures images and video of images within a predetermined field of view (FOV) 206 in front of the vehicle. - A
front camera 208 may also capture images and video within apredetermined FOV 210 in front of the vehicle. Thefront camera 208 may capture images and video within a predetermined distance of the front of the vehicle and may be located at the front of the vehicle (e.g., in a front fascia, grille, or bumper). Theforward facing camera 204 may be located more rearward, however, such as with a rear view mirror at a windshield of the vehicle. Theforward facing camera 204 may not be able to capture images and video of items within all of or at least a portion of the predetermined FOV of thefront camera 208 and may capture images and video that is greater than the predetermined distance of the front of the vehicle. In various implementations, only one of theforward facing camera 204 and thefront camera 208 may be included. - A
rear camera 212 captures images and video within apredetermined FOV 214 behind the vehicle. Therear camera 212 may capture images and video within a predetermined distance behind vehicle and may be located at the rear of the vehicle, such as near a rear license plate. - A
right camera 216 captures images and video within apredetermined FOV 218 to the right of the vehicle. Theright camera 216 may capture images and video within a predetermined distance to the right of the vehicle and may be located, for example, under a right side rear view mirror. In various implementations, the right side rear view mirror may be omitted, and theright camera 216 may be located near where the right side rear view mirror would normally be located. - A
left camera 220 captures images and video within apredetermined FOV 222 to the left of the vehicle. Theleft camera 220 may capture images and video within a predetermined distance to the left of the vehicle and may be located, for example, under a left side rear view mirror. In various implementations, the left side rear view mirror may be omitted, and theleft camera 220 may be located near where the left side rear view mirror would normally be located. While the example FOVs are shown for illustrative purposes, the FOVs may overlap, for example, for more accurate and/or inclusive stitching. - The external sensors and
cameras 186 may additionally or alternatively include various other types of sensors, such as ultrasonic (e.g., radar) sensors. For example, the vehicle may include one or more forward facing ultrasonic sensors, such as forward facingultrasonic sensors ultrasonic sensors ultrasonic sensor 242, and one or more left side ultrasonic sensors, such as left sideultrasonic sensor 246. The locations of the cameras and ultrasonic sensors are provided as examples only and different locations could be used. Ultrasonic sensors output ultrasonic signals around the vehicle. - The external sensors and
cameras 186 may additionally or alternatively include one or more other types of sensors, such as one or more sonar sensors, one or more radar sensors, and/or one or more light detection and ranging (LIDAR) sensors. -
FIG. 3 is a functional block diagram of an example implementation of theperception module 196. Based on theoutput 310 of one or more of the external sensors andcameras 186, alicense plate module 304 determineslicense plate information 308 for another vehicle located at least one of in front of, beside, and behind the vehicle. Thelicense plate information 308 includes, for example, a state, letters, numbers, and/or other characters present on a license plate of the other vehicle. Thelicense plate module 304 may determine thelicense plate information 308, for example, using optical character recognition on an image taken using a camera of the vehicle or in another suitable manner. In various implementations, thelicense plate module 304 may determine thelicense plate information 308 for each vehicle having a license plate that is visible to the vehicle and that is within a predetermined distance of the vehicle. Thelicense plate module 304 may obtain thelicense plate information 308 in another manner, such as via a vehicle to vehicle (V2V) connection. - An
event module 312 monitors the driving of the other vehicle (associated with the license plate information 308) and selectively outputs an event indicator 316 based on the driving of the other vehicle. The event indicator 316 includes a type of maneuver performed by the other vehicle. The event indicator 316 may also include a number of times the predetermined maneuver was performed, a severity of the predetermined maneuver performed, and other information. - For example, the
event module 312 may output the event indicator 316 when the other vehicle changes lanes without signaling a lane change (via signal lights). As another example, theevent module 312 may output the event indicator 316 when the other vehicle turns without signaling a turn (via signal lights). As another example, theevent module 312 may output the event indicator 316 when the other vehicle contacts another object, such as another vehicle, cyclist, pedestrian, wall, etc. Theevent module 312 may identify the occurrence of an event prompting the output of the event indicator 316 based on the output of one or more of the external sensors andcameras 186. Theevent module 312 monitors the driving of the other vehicle using the output of the external sensors andcameras 186. - The
event module 312 may also monitor the driving of the vehicle and selectively outputs the event indicator 316 based on the driving of the vehicle. For example, theevent module 312 may monitorparameters 320 of the vehicle and the output of one or more of the external sensors andcameras 186. Theevent module 312 may selectively output the event indicator 316 based on one or more of theparameters 320 and the output of one or more of the external sensors andcameras 186. In this example, the event indicator 316 includes a type of maneuver performed by the vehicle. - For example, the
event module 312 may output the event indicator 316 when the vehicle changes lanes without signaling a lane change (via signal lights). One of thevehicle parameters 320 may indicate whether signaling was performed in the direction of the lane change. Theevent module 312 may determine that the vehicle changed lanes based on the output of one or more of the external cameras andsensors 186. As another example, theevent module 312 may output the event indicator 316 when the other vehicle turns without signaling a turn (via signal lights). One of thevehicle parameters 320 may indicate whether signaling was performed in the direction of the turn. Theevent module 312 may determine that the vehicle turned based on the output of one or more of the external cameras andsensors 186. As another example, theevent module 312 may output the event indicator 316 when the vehicle contacts another object, such as another vehicle, cyclist, pedestrian, barrier, etc. One of thevehicle parameters 320 may indicate whether the vehicle contacted another object. Additionally or alternatively, theevent module 312 may determine that the vehicle contacted another object based on the output of one or more of the external cameras andsensors 186. - In various implementations, a user (e.g., owner) of the vehicle may opt into or opt out of the
event module 312 generating the event indicator 316 based on the driving of the vehicle (self-reporting). Theevent module 312 may only generate the event indicator 316 based on the driving of the vehicle once user input has been received indicative of opting into the monitoring of the driving of the vehicle. Theevent module 312 may not generate the event indicator 316 based on the driving of the vehicle if no input has been received regarding opting in or user input indicative of opting out has been received. -
License plate information 324 of the vehicle is stored in memory of the vehicle. Thelicense plate information 324 includes, for example, a state, letters, numbers, and/or other characters present on a license plate of the vehicle. A user may input thelicense plate information 324 or thelicense plate information 324 may be obtained, for example, using OCR based on the output of one or more of the external cameras andsensors 186. - A
reporting module 328 outputs areport 332 when the event indicator 316 is generated. In the example of the other vehicle performing the maneuver prompting the event indicator 316, thereport 332 includes thelicense plate information 308 of the other vehicle and the event indicator 316. In the example of the vehicle performing the maneuver prompting the event indicator 316, thereport 332 includes thelicense plate information 324 of the vehicle and the event indicator 316. Thereport 332 also includes a unique identifier of the vehicle that generated thereport 332, such as a vehicle identification number (VIN) of the vehicle. Thereport 332 may also include alocation 334 of the vehicle. A global position system (GPS) of the vehicle may track and provide the (present)location 334. Thereport 332 may also include one or more images captured of the other vehicle. - The
reporting module 328 communicates thereport 332 to arisk server 336 that is located remotely from the vehicle. For example, thereporting module 328 may communicate thereport 332 to thecommunication module 198 and thecommunication module 198 may wirelessly transmit thereport 332 to therisk server 336, such as via a cellular, satellite, or WiFi connection. -
FIG. 4 is a functional block diagram of an example risk system including therisk server 336. Therisk server 336 receives reports, such as thereport 332, from a plurality ofvehicles 404, such asvehicle 408,vehicle 412,vehicle 416, and a plurality of other vehicles. Thevehicles 404 may include autonomous vehicles, non-autonomous (driver driven) vehicles, semi-autonomous vehicles, or a combination of autonomous and non-autonomous vehicles. - The
risk server 336 also receives reports, such asreport 424, from mobile devices, such asmobile device 428. Examples of mobile devices include mobile phones, tablet devices, laptop computers, desktop computers, and other types of computing devices. Mobile devices, vehicles, and therisk server 336 communicate via one ormore networks 432. Thenetworks 432 may include wireless networks or a combination of wireless and wired networks. - The
risk server 336 determines risks of various vehicles. A vehicle may adjust its operation based on the risk of one or more vehicles around that vehicle. Additionally or alternatively, the vehicle may display the risk of one or more vehicles around that vehicle on a display. -
FIG. 5 includes a front view of an example implementation of themobile device 428.FIG. 6 includes a functional block diagram of an example implementation of themobile device 428. Referring toFIGS. 5 and 6 , themobile device 428 includes a central processing unit (CPU) orprocessor 604, one or more input devices 608 (e.g., touchscreen display, a microphone, one or more switches, etc.), a display 612 (e.g., the touchscreen display), one or more other output devices (not shown), anetwork interface 616, andmemory 620. While theinput devices 608 and thedisplay 612 are illustrated as components of themobile device 428, input devices and output devices (e.g., a display) may be peripheral devices. Also, while the example of a single processor is provided, themobile device 428 may include two or more processors. - The
network interface 616 connects themobile device 428 to thenetworks 432. For example, thenetwork interface 616 may include a wired interface (e.g., an Ethernet interface) and/or a wireless interface (e.g., a WiFi, Bluetooth, near field communication (NFC), or other wireless interface). Theprocessor 604 of themobile device 428 executes an operating system (OS) 624 and one or more other applications. Theprocessor 604 executes areporting application 628 to display user interfaces for generating and transmitting reports including event indicators and license plates of vehicles. Operations discussed herein as being performed by themobile device 428 are performed by the mobile device 428 (more specifically the processor 604) during execution of thereporting application 628. Another instance of the reporting application may be executed in vehicle, for example, within and by theinfotainment module 182. Theinfotainment module 182 may use user input to thedisplay 184 and/or the one or moreuser input devices 185 to generate reports using that reporting application. - The
mobile device 428 generates reports based on user input and transmits the reports to therisk server 336. Each of the reports includes license plate information and an event indicator. The license plate information includes a state, letters, numbers, and/or other characters present on a license plate of a vehicle. A user may input thelicense plate information 324 to themobile device 428 or the license plate information may be obtained, for example, using OCR based on an image captured using a camera of themobile device 428. The event indicator includes a type of maneuver performed by the vehicle associated with thelicense plate information 324. The event indicator may also include a number of times the predetermined maneuver was performed, a severity of the predetermined maneuver performed, and other information. The type of maneuver performed may be selected by a user from a predetermined list of maneuvers. Each report also includes a unique identifier of the mobile device that generated the report. - Referring back to
FIG. 4 , therisk server 336 determines risks of various vehicles based on thereports 332 from vehicles and thereports 424 from mobile devices. -
FIG. 7 includes a functional block diagram of an example implementation of therisk server 336. Arisk module 704 receives the reports from vehicles and mobile devices, such as thereport 332 and thereport 424. Therisk module 704 updates arisk database 708 and determines risk scores (values) for vehicles identified in the reports based on the information included in the reports. - The
risk database 708 may include risk data indexed by license plate. The risk data associated with each license plate may include, for example, a count of number of reports of each different type of maneuver within the last predetermined period, a count of a number of reports generated by the vehicle associated with the license plate in the last predetermined period, a count of a number of reports generated by other devices (vehicles and/or mobile devices) in the last predetermined period, a count of a number of unique devices that reported the license plate in the last predetermined period, a number of collisions by the vehicle associated with the license plate with objects in the last predetermined period, and/or other event information associated with the license plate in the last predetermined period. The predetermined period may be, for example, 6 months, 1 year, or another suitable period. - The
risk module 704 determines a risk score for each license plate based on the risk data associated with that license plate in therisk database 708. Therisk module 704 may increase the risk score for a license plate as the number of driving maneuvers reported within the last predetermined period for that license plate increase and vice versa. Therisk module 704 may determine the risk score for a license plate using one of a lookup table and an equation that relates parameters of the risk data and weighting values to risk scores. For example, therisk module 704 may determine the risk score for a license plate using the equation: -
Risk=Σ(w1*p1+w2*p2+w3*p3 . . . +Wn*pn), - where Risk is the risk score of the license plate, w1 is a first weighting value, p1 is a first parameter of the risk data associated with the license plate, w2 is a second weighting value, p2 is a second parameter of the risk data associated with the license plate, w3 is a third weighting value, p3 is a third parameter of the risk data associated with the license plate, wn is an n-th weighting value, and pn is an n-th parameter of the risk data associated with the license plate. The weighting values may be fixed predetermined values or may be variables. The first parameter may be, for example, a count of number of reports of a first type of maneuver within the last predetermined period. The second parameter may be, for example, a count of number of reports of a second type of maneuver within the last predetermined period. The third parameter may be, for example, the count of a number of reports generated by the vehicle associated with the license plate. A fourth parameter may be, for example, the count of a number of reports generated by other devices (vehicles and/or mobile devices). A fifth parameter may be, for example, the count of a number of unique devices that reported the license plate. A sixth parameter may be, for example, the number of collisions by the vehicle associated with the license plate with objects, etc. While two types of maneuvers are described above, the equation or lookup table may account for more than two types of maneuvers.
- As shown in
FIG. 4 , vehicles may selectively transmitrequests 450 to therisk server 336. Each of therequests 450 may include thelicense plate information 308 for each vehicle having a license plate that is visible to the vehicle and that is within the predetermined distance of the vehicle. Each vehicle may generate a request at a predetermined rate, such as each predetermined period (e.g., 5 seconds, 10 seconds, 15 seconds, etc.) or each predetermined distance (e.g., 500 feet, 1000 feet, etc.). For example, as shown inFIG. 3 , a risk obtaining module 350 may transmit arequest 716 including thelicense plate information 308 and the location of the vehicle. - As shown in
FIG. 7 , aresponse module 712 receives therequests 450, such as therequest 716. Therequest 716 includes one or more pieces of the license plate information for one or more different vehicles, respectively. Theresponse module 712 obtains the respective risk scores associated with the license plate information from therisk database 708. Theresponse module 712 transmits aresponse 720 back to the vehicle that transmitted therequest 716. Theresponse 720 includes the risk scores of the respective vehicles bearing the license plate information included in therequest 716. For example, the risk obtaining module 350 receives theresponse 720 to therequest 716 in the example ofFIG. 3 . - The vehicle receiving the
response 720 may take one or more actions based on one or more of the risk scores. For example, theinfotainment module 182 may display video, various views, and/or alerts on thedisplay 184 when one or more of the risk scores are greater than a predetermined value. As another example, one ormore control modules 354 may actuate one or more actuators based on one or more of the risk scores of theresponse 720. - For example, the ECM 106 may adjust torque output of the
engine 102 based on one or more of the risk scores. For example, the ECM 106 may adjust torque output of theengine 102 to maintain at least a predetermined distance between a vehicle having a risk score that is greater than a predetermined value and the vehicle. Additionally or alternatively, thePIM 134 may control power flow to and/or from the electric motor 118 based on one or more of the risk scores. For example, thePIM 134 may control power flow to and/or from the electric motor 118 to maintain at least a predetermined distance between a vehicle having a risk score that is greater than a predetermined value and the vehicle. Additionally or alternatively, theEBCM 150 may adjust braking based on one or more of the risk scores. For example, theEBCM 150 may adjust braking to maintain at least a predetermined distance between a vehicle having a risk score that is greater than a predetermined value and the vehicle. Additionally or alternatively, thesteering control module 140 may adjust steering based on one or more of the risk scores. For example, thesteering control module 140 may adjust steering to maintain at least a predetermined distance between a vehicle having a risk score that is greater than a predetermined value and the vehicle. Example responses are illustrated by 454 inFIG. 4 . - The
risk server 336 may also include areporting module 724 and a reported vehicle database 728. Thereporting module 724 also receives therequests 450, such as therequest 716. Thereporting module 724 determines whether any of the license plate information in therequests 450 is included in the reported vehicle database 728. If a piece of license plate information is included in a request, thereporting module 724 transmits a report 732 to one or more governmental regulatory bodies, such as one or more police departments. The report 732 includes the license plate information included in the reported vehicle database 728 and the location provided with that license plate information in that request. - The reported vehicle database 728 may include license plate information reported by the one or more governmental regulatory bodies and/or license plate information reported by one or more other sources. Other examples of license plate information that may be included in the reported vehicle database 728 includes license plate information included in amber alerts, license plate information of stolen vehicles, license plate information associated with drivers having one or more warrants, etc. Based on the report 732, the one or more governmental regulatory bodies may respond to the approximate location of the vehicle to identify the vehicle including the license plate information included in the reported vehicle database 728.
-
FIG. 8 includes a flowchart depicting an example method of generating reports regarding driving of other vehicles. Control begins with 804 where the external cameras andsensors 186 capture information outside of the vehicle. At 808, thelicense plate module 304 determines thelicense plate information 308 based on the output of one or more of the external cameras andsensors 186, such as theforward facing camera 204. In various information, thelicense plate module 304 may obtain thelicense plate information 308 in another manner, such as via a V2V connection. At 812, based on the output of the external cameras andsensors 186, theevent module 312 determines whether one or more other vehicles performed one or more of the predetermined types of maneuvers. If 812 is false, control may end. If 812 is true, control may continue with 816. - At 816, the
reporting module 328 generates the report for the maneuver performed by the other vehicle. Thereport 332 includes thelicense plate information 308 of the other vehicle, the maneuver performed by the other vehicle, the location of the vehicle, and may include other information. At 820, thecommunication module 198 transmits thereport 332 to therisk server 336 for updating the risk score associated with the other vehicle. While control is shown as ending, control may return to 804. -
FIG. 9 includes a flowchart depicting an example method of generating reports regarding driving of the vehicle (self-reporting). Control may begin with 904 where thereporting module 328 determines whether the vehicle has been opted into self-reporting. An indicator (e.g., flag) may be stored in memory that indicated whether the vehicle has been opted into self-reporting. If 904 is true, control may continue with 908. If 904 is false, control may end. In various implementations, 904 may be omitted. - At 908, the
event module 312 obtains thevehicle parameters 320 and the output of the external cameras andsensors 186. At 912, based on thevehicle parameters 320 and the output of the external cameras andsensors 186, theevent module 312 determines whether the vehicle performed one or more of the predetermined types of maneuvers. If 912 is false, control may end. If 912 is true, control may continue with 916. - At 916, the
reporting module 328 generates the report for the maneuver performed by the vehicle. Thereport 332 includes thelicense plate information 324 of the vehicle, the maneuver performed by the vehicle, the location of the vehicle, and may include other information. At 920, thecommunication module 198 transmits thereport 332 to therisk server 336 for updating the risk score associated with the vehicle. While control is shown as ending, control may return to 904. -
FIG. 10 is a flowchart depicting an example method of updating therisk database 708. Control may begin with 1004 where therisk module 704 receives a report, such as a report regarding a maneuver performed by another vehicle or a report regarding a maneuver performed by the vehicle. If 1004 is true, control continues with 1008. If 1004 is false, control may end. - At 1008, the
risk module 704 determines the license plate information for the vehicle that performed the maneuver from the received report. At 1012, therisk module 704 identifies the risk data associated with the license plate information stored in therisk database 708, updates the risk data based on the information included in the received report, and updates the risk score associated with the license plate information in therisk database 708. Control may then end. While control is shown as ending, control may return to 1004. -
FIG. 11 includes a flowchart depicting an example method of capturing license plate information of other vehicles around a vehicle and taking one or more actions based on risk scores associated with the other vehicles. Control begins with 1104 where the external cameras andsensors 186 capture information outside of the vehicle. At 1108, thelicense plate module 304 determines thelicense plate information 308 for the other vehicles based on the output of the external cameras andsensors 186. - At 1112, the risk obtaining module 350 generates the
request 716 for risk scores of the other vehicles associated with thelicense plate information 308. At 1116, thecommunication module 198 transmits therequest 716 to therisk server 336. Therisk server 336 obtains the risk scores for the other vehicles based on thelicense plate information 308 from therisk database 708, and generates theresponse 720 based on the risk scores. - At 1120, the risk obtaining module 350 receives the
response 720 regarding the other vehicles from therisk server 336 via thecommunication module 198. At 1124, the vehicle takes one or more actions based on the risk scores. For example, theinfotainment module 182 may display video, various views, and/or alerts on thedisplay 184 when one or more of the risk scores are greater than greater than a predetermined value. As another example, the ECM 106 may adjust torque output of theengine 102 based on one or more of the risk scores. For example, the ECM 106 may adjust torque output of theengine 102 to maintain at least a predetermined distance between a vehicle having a risk score that is greater than a predetermined value and the vehicle. Additionally or alternatively, thePIM 134 may control power flow to and/or from the electric motor 118 based on one or more of the risk scores. For example, thePIM 134 may control power flow to and/or from the electric motor 118 to maintain at least a predetermined distance between a vehicle having a risk score that is greater than a predetermined value and the vehicle. Additionally or alternatively, theEBCM 150 may adjust braking based on one or more of the risk scores. For example, theEBCM 150 may adjust braking to maintain at least a predetermined distance between a vehicle having a risk score that is greater than a predetermined value and the vehicle. Additionally or alternatively, thesteering control module 140 may adjust steering based on one or more of the risk scores. For example, thesteering control module 140 may adjust steering to maintain at least a predetermined distance between a vehicle having a risk score that is greater than a predetermined value and the vehicle. While control is shown as ending, control may return to 1104. -
FIG. 12 includes a flowchart depicting an example method of receiving requests regarding license plate information of vehicles and responding to the requests with risk scores for the vehicles. Control may begin with 1204 where theresponse module 712 determines whether a request, such as therequest 716, has been received. The request includes license plate information for one or more vehicles. If 1204 is true, control continues with 1208. If 1204 is false, control may remain at 1204. - At 1208, the
response module 712 obtains (e.g., parses) the license plate information from the request. At 1212, theresponse module 712 determines the risk score(s) for the vehicle(s) associated with the license plate information from therisk database 708. At 1216, theresponse module 712 generates a response, such as theresponse 720, including the risk score(s) and transmits the response to the device (e.g., vehicle) that transmitted the request. While control is shown as ending, control may return to 1204. -
FIG. 13 includes a flowchart depicting an example method of receiving requests regarding license plate information of vehicles and selectively reporting one or more vehicles to one or more governmental regulatory bodies. Control may begin with 1304 where thereporting module 724 determines whether a request, such as therequest 716, has been received. The request includes license plate information for one or more vehicles. The request also includes a location of the device (e.g., vehicle) that transmitted the request. If 1304 is true, control continues with 1308. If 1304 is false, control may remain at 1304. - At 1308, the
reporting module 724 obtains (e.g., parses) the license plate information from the request. At 1312, thereporting module 724 determines whether the license plate information of one or more vehicles included in the request is present (included) in the reported vehicle database 728. If 1312 is true, control continues with 1316. If 1312 is false, thereporting module 724 does not send a report, such as the report 732, to the one or more governmental regulatory bodies, and control may end. At 1316, thereporting module 724 generates a report, such as the report 732, including the location included in the request and the license plate information of the one or more vehicles that is present in the reported vehicle database 728. Thereporting module 724 transmits the report to the one or more governmental regulatory bodies at 1316, such as to one or more email, messaging, or other addresses of the governmental regulatory bodies. While control is shown as ending, control may return to 1304. - The foregoing description is merely illustrative in nature and is in no way intended to limit the disclosure, its application, or uses. The broad teachings of the disclosure can be implemented in a variety of forms. Therefore, while this disclosure includes particular examples, the true scope of the disclosure should not be so limited since other modifications will become apparent upon a study of the drawings, the specification, and the following claims. It should be understood that one or more steps within a method may be executed in different order (or concurrently) without altering the principles of the present disclosure. Further, although each of the embodiments is described above as having certain features, any one or more of those features described with respect to any embodiment of the disclosure can be implemented in and/or combined with features of any of the other embodiments, even if that combination is not explicitly described. In other words, the described embodiments are not mutually exclusive, and permutations of one or more embodiments with one another remain within the scope of this disclosure.
- Spatial and functional relationships between elements (for example, between modules, circuit elements, semiconductor layers, etc.) are described using various terms, including “connected,” “engaged,” “coupled,” “adjacent,” “next to,” “on top of,” “above,” “below,” and “disposed.” Unless explicitly described as being “direct,” when a relationship between first and second elements is described in the above disclosure, that relationship can be a direct relationship where no other intervening elements are present between the first and second elements, but can also be an indirect relationship where one or more intervening elements are present (either spatially or functionally) between the first and second elements. As used herein, the phrase at least one of A, B, and C should be construed to mean a logical (A OR B OR C), using a non-exclusive logical OR, and should not be construed to mean “at least one of A, at least one of B, and at least one of C.”
- In the figures, the direction of an arrow, as indicated by the arrowhead, generally demonstrates the flow of information (such as data or instructions) that is of interest to the illustration. For example, when element A and element B exchange a variety of information but information transmitted from element A to element B is relevant to the illustration, the arrow may point from element A to element B. This unidirectional arrow does not imply that no other information is transmitted from element B to element A. Further, for information sent from element A to element B, element B may send requests for, or receipt acknowledgements of, the information to element A.
- In this application, including the definitions below, the term “module” or the term “controller” may be replaced with the term “circuit.” The term “module” may refer to, be part of, or include: an Application Specific Integrated Circuit (ASIC); a digital, analog, or mixed analog/digital discrete circuit; a digital, analog, or mixed analog/digital integrated circuit; a combinational logic circuit; a field programmable gate array (FPGA); a processor circuit (shared, dedicated, or group) that executes code; a memory circuit (shared, dedicated, or group) that stores code executed by the processor circuit; other suitable hardware components that provide the described functionality; or a combination of some or all of the above, such as in a system-on-chip.
- The module may include one or more interface circuits. In some examples, the interface circuits may include wired or wireless interfaces that are connected to a local area network (LAN), the Internet, a wide area network (WAN), or combinations thereof. The functionality of any given module of the present disclosure may be distributed among multiple modules that are connected via interface circuits. For example, multiple modules may allow load balancing. In a further example, a server (also known as remote, or cloud) module may accomplish some functionality on behalf of a client module.
- The term code, as used above, may include software, firmware, and/or microcode, and may refer to programs, routines, functions, classes, data structures, and/or objects. The term shared processor circuit encompasses a single processor circuit that executes some or all code from multiple modules. The term group processor circuit encompasses a processor circuit that, in combination with additional processor circuits, executes some or all code from one or more modules. References to multiple processor circuits encompass multiple processor circuits on discrete dies, multiple processor circuits on a single die, multiple cores of a single processor circuit, multiple threads of a single processor circuit, or a combination of the above. The term shared memory circuit encompasses a single memory circuit that stores some or all code from multiple modules. The term group memory circuit encompasses a memory circuit that, in combination with additional memories, stores some or all code from one or more modules.
- The term memory circuit is a subset of the term computer-readable medium. The term computer-readable medium, as used herein, does not encompass transitory electrical or electromagnetic signals propagating through a medium (such as on a carrier wave); the term computer-readable medium may therefore be considered tangible and non-transitory. Non-limiting examples of a non-transitory, tangible computer-readable medium are nonvolatile memory circuits (such as a flash memory circuit, an erasable programmable read-only memory circuit, or a mask read-only memory circuit), volatile memory circuits (such as a static random access memory circuit or a dynamic random access memory circuit), magnetic storage media (such as an analog or digital magnetic tape or a hard disk drive), and optical storage media (such as a CD, a DVD, or a Blu-ray Disc).
- The apparatuses and methods described in this application may be partially or fully implemented by a special purpose computer created by configuring a general purpose computer to execute one or more particular functions embodied in computer programs. The functional blocks, flowchart components, and other elements described above serve as software specifications, which can be translated into the computer programs by the routine work of a skilled technician or programmer.
- The computer programs include processor-executable instructions that are stored on at least one non-transitory, tangible computer-readable medium. The computer programs may also include or rely on stored data. The computer programs may encompass a basic input/output system (BIOS) that interacts with hardware of the special purpose computer, device drivers that interact with particular devices of the special purpose computer, one or more operating systems, user applications, background services, background applications, etc.
- The computer programs may include: (i) descriptive text to be parsed, such as HTML (hypertext markup language), XML (extensible markup language), or JSON (JavaScript Object Notation) (ii) assembly code, (iii) object code generated from source code by a compiler, (iv) source code for execution by an interpreter, (v) source code for compilation and execution by a just-in-time compiler, etc. As examples only, source code may be written using syntax from languages including C, C++, C #, Objective-C, Swift, Haskell, Go, SQL, R, Lisp, Java®, Fortran, Perl, Pascal, Curl, OCaml, Javascript®, HTML5 (Hypertext Markup Language 5th revision), Ada, ASP (Active Server Pages), PHP (PHP: Hypertext Preprocessor), Scala, Eiffel, Smalltalk, Erlang, Ruby, Flash®, Visual Basic®, Lua, MATLAB, SIMULINK, and Python®.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/564,277 US10957189B1 (en) | 2019-09-09 | 2019-09-09 | Automatic vehicle alert and reporting systems and methods |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/564,277 US10957189B1 (en) | 2019-09-09 | 2019-09-09 | Automatic vehicle alert and reporting systems and methods |
Publications (2)
Publication Number | Publication Date |
---|---|
US20210074150A1 true US20210074150A1 (en) | 2021-03-11 |
US10957189B1 US10957189B1 (en) | 2021-03-23 |
Family
ID=74849405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/564,277 Active US10957189B1 (en) | 2019-09-09 | 2019-09-09 | Automatic vehicle alert and reporting systems and methods |
Country Status (1)
Country | Link |
---|---|
US (1) | US10957189B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3122015A1 (en) * | 2021-04-14 | 2022-10-21 | Psa Automobiles Sa | Device, system and method for alerting in the event of an accident of a motor vehicle |
EP4404170A3 (en) * | 2023-01-19 | 2024-10-16 | BlackBerry Limited | Method and system for crowd sourced dangerous driving detection and accident mitigation |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240153378A1 (en) * | 2022-11-06 | 2024-05-09 | Jerome Foster | Firearm alerting system |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3114574A4 (en) * | 2014-03-03 | 2018-03-07 | Inrix, Inc. | Traffic obstruction detection |
US9792656B1 (en) * | 2014-05-20 | 2017-10-17 | State Farm Mutual Automobile Insurance Company | Fault determination with autonomous feature use monitoring |
US10074219B2 (en) * | 2014-12-17 | 2018-09-11 | Allstate Insurance Company | Toll payment equipment |
WO2018053175A1 (en) * | 2016-09-14 | 2018-03-22 | Nauto Global Limited | Systems and methods for near-crash determination |
US20180208195A1 (en) * | 2017-01-20 | 2018-07-26 | Pcms Holdings, Inc. | Collaborative risk controller for vehicles using v2v |
US10839303B2 (en) * | 2017-08-21 | 2020-11-17 | Sap Se | Automatic detection and correction of license plate misidentification |
US20190122460A1 (en) * | 2017-10-14 | 2019-04-25 | HueCore, Inc. | Integrating vehicle alarms, cameras, and mobile devices |
JP7155750B2 (en) * | 2018-08-23 | 2022-10-19 | トヨタ自動車株式会社 | Information systems and programs |
US10740643B2 (en) * | 2018-08-28 | 2020-08-11 | Sony Corporation | Automatic license plate recognition based on augmented datasets |
KR102637599B1 (en) * | 2018-10-08 | 2024-02-19 | 주식회사 에이치엘클레무브 | Apparatus and Method for Controlling Lane Changing using Vehicle-to-Vehicle Communication and Tendency Information Calculation Apparatus therefor |
-
2019
- 2019-09-09 US US16/564,277 patent/US10957189B1/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3122015A1 (en) * | 2021-04-14 | 2022-10-21 | Psa Automobiles Sa | Device, system and method for alerting in the event of an accident of a motor vehicle |
EP4404170A3 (en) * | 2023-01-19 | 2024-10-16 | BlackBerry Limited | Method and system for crowd sourced dangerous driving detection and accident mitigation |
Also Published As
Publication number | Publication date |
---|---|
US10957189B1 (en) | 2021-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10339813B2 (en) | Display control systems and methods for a vehicle | |
US11829128B2 (en) | Perception system diagnosis using predicted sensor data and perception results | |
US10421399B2 (en) | Driver alert systems and methods based on the presence of cyclists | |
US10957189B1 (en) | Automatic vehicle alert and reporting systems and methods | |
US10663581B2 (en) | Detection systems and methods using ultra-short range radar | |
US11285966B2 (en) | Method and system for controlling an autonomous vehicle response to a fault condition | |
US10011211B1 (en) | Systems and methods for guiding a boat to a trailer | |
US20210035279A1 (en) | Perception System Diagnostic Systems And Methods | |
US20240161623A1 (en) | Driving support device | |
JP2019168840A (en) | Information notification device mountable on vehicle, and vehicle thereof | |
US11453417B2 (en) | Automated driving control systems and methods based on intersection complexity | |
CN108205924B (en) | Traffic area consultation system and method | |
KR20220014438A (en) | Autonomous vehicle and emergency response method using drone thereof | |
US11279370B2 (en) | Driving control system and drive assist method | |
US11705006B2 (en) | Systems and methods to issue a warning to an object near a vehicle | |
US12005917B2 (en) | Advanced driving system and feature usage monitoring systems and methods | |
KR20190070693A (en) | Apparatus and method for controlling autonomous driving of vehicle | |
US11753031B2 (en) | Autonomous driving control systems and methods | |
US12122423B2 (en) | Autonomous vehicle and drone-based emergency response method thereof | |
US11348282B1 (en) | Systems and methods for calibrating vehicle cameras using external smart sensor | |
US20220236410A1 (en) | Lidar laser health diagnostic | |
US20240208494A1 (en) | Apparatus for driving assistance, vehicle, and method for driving assistance | |
US20230401979A1 (en) | Driving diagnostic device, driving diagnostic system, machine learning device and generation method of learned model | |
US20230294597A1 (en) | Parking action notification device, parking action notification method, and storage medium | |
JP2024122687A (en) | Adaptive Cruise Control System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: GM GLOBAL TECHNOLOGY OPERATIONS LLC, MICHIGAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:VALERI, FRANK C.;SINGER, IAN R.;CLOSE, RICHARD A.;SIGNING DATES FROM 20190819 TO 20190906;REEL/FRAME:050312/0894 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |