Human drivers are typically required to operate vehicles and the driving tasks performed by them are often complex and can be exhausting. For example, retrieving or summoning a parked car from a crowded parking lot or garage can be inconvenient and tedious. The maneuver often involves walking towards one's vehicle, three-point turns, edging out of tight spots without touching neighboring vehicles or walls, and driving towards a location that one previously came from. Although some vehicles are capable of being remotely operated, the route driven by the vehicle is typically limited to a single straight-line path in either the forwards or reverse direction with limited steering range and no intelligence in navigating the vehicle along its own path.
Various embodiments of the invention are disclosed in the following detailed description and the accompanying drawings.
The invention can be implemented in numerous ways, including as a process; an apparatus; a system; a composition of matter; a computer program product embodied on a computer readable storage medium; and/or a processor, such as a processor configured to execute instructions stored on and/or provided by a memory coupled to the processor. In this specification, these implementations, or any other form that the invention may take, may be referred to as techniques. In general, the order of the steps of disclosed processes may be altered within the scope of the invention. Unless stated otherwise, a component such as a processor or a memory described as being configured to perform a task may be implemented as a general component that is temporarily configured to perform the task at a given time or a specific component that is manufactured to perform the task. As used herein, the term ‘processor’ refers to one or more devices, circuits, and/or processing cores configured to process data, such as computer program instructions.
A detailed description of one or more embodiments of the invention is provided below along with accompanying figures that illustrate the principles of the invention. The invention is described in connection with such embodiments, but the invention is not limited to any embodiment. The scope of the invention is limited only by the claims and the invention encompasses numerous alternatives, modifications and equivalents. Numerous specific details are set forth in the following description in order to provide a thorough understanding of the invention. These details are provided for the purpose of example and the invention may be practiced according to the claims without some or all of these specific details. For the purpose of clarity, technical material that is known in the technical fields related to the invention has not been described in detail so that the invention is not unnecessarily obscured.
A technique to autonomously summon a vehicle to a destination is disclosed. A target geographical location is provided and a vehicle automatically navigates to the target location. For example, a user provides a location by dropping a pin on a graphical map user interface at the destination location. As another example, a user summons the vehicle to the user's location by specifying the user's location as the destination location. The user may also select a destination location based on viable paths detected for the vehicle. The destination location may update (for example if the user moves around) leading the car to update its path to the destination location. Using the specified destination location, the vehicle navigates by utilizing sensor data such as vision data captured by cameras to generate a representation of the environment surrounding the vehicle. In some embodiments, the representation is an occupancy grid detailing drivable and non-drivable space. In some embodiments, the occupancy grid is generated using a neural network from camera sensor data. The representation of the environment may be further augmented with auxiliary data such as additional sensor data (including radar data), map data, or other inputs. Using the generated representation, a path is planned from the vehicle's current location towards the destination location. In some embodiments, the path is generated based on the vehicle's operating parameters such as the model's turning radius, vehicle width, vehicle length, etc. An optimal path is selected based on selection parameters such as distance, speed, number of changes in gear, etc. As the vehicle automatically navigates using the selected path, the representation of the environment is continuously updated. For example, as the vehicle travels to the destination, new sensor data is captured and the occupancy grid is updated. Safety checks are continuously performed that can override or modify the automatic navigation. For example, ultrasonic sensors may be utilized to detect potential collisions. A user can monitor the navigation and cancel the summoned vehicle at any time. In some embodiments, the vehicle must continually receive a virtual heartbeat signal from the user for the vehicle to continue navigating. The virtual heartbeat may be used to indicate that the user is actively monitoring the progress of the vehicle. In some embodiments, the user selects the path and the user remotely controls the vehicle. For example, the user can control the steering angle, direction, and/or speed of the vehicle to remotely control the vehicle. As the user remotely controls the vehicle, safety checks are continuously performed that can override and/or modify the user controls. For example, the vehicle can be stopped if an object is detected.
In some embodiments, a system comprises a processor configured to receive an identification of a geographical location associated with a target specified by a user remote from a vehicle. For example, a user waiting at a pick up location specifies her or his geographical location as a destination target. The destination target is received by a vehicle parked in a remote parking spot. In some embodiments, a machine learning model is utilized to generate a representation of at least a portion of an environment surrounding a vehicle using sensor data from one or more sensors of the vehicle. For example, sensors such as camera, radar, ultrasonic or other sensors capture data of the environment surrounding the vehicle. The data is fed as input to a neural network using a trained machine learning model to generate a representation of the environment surrounding the vehicle. As an example, the representation may be an occupancy grid describing drivable space the vehicle can use to navigate through. In some embodiments, at least a portion of a path is calculated to a target location corresponding to the received geographical location using the generated representation of at least the portion of the environment surrounding the vehicle. For example, using an occupancy grid representing the environment surrounding the vehicle, a path is selected to navigate the vehicle to a target destination. Values at entries in the occupancy grid may be probabilities and/or costs associated with driving through the location associated with the grid entry. In some embodiments, at least one command is provided to automatically navigate the vehicle based on the determined path and updated sensor data from at least a portion of the one or more sensors of the vehicle. For example, a vehicle controller uses the selected plan to provide actuator commands to control the vehicle's speed and steering. The commands are used to navigate the vehicle along the selected path. As the vehicle navigates, updated sensor data is captured to update the representation of the vehicle's surrounding environment. In various embodiments, the system comprises a memory coupled to the processor and configured to provide the processor with instructions.
At 101, a destination is received. For example, a user selects a “find me” feature from a mobile application on a smartphone device. The “find me” feature determines the location of the user and transmits the user's location to a vehicle summon module. In various embodiments, the vehicle summon module is implemented across one or more modules that may exist on the vehicle and/or remote from the vehicle. In some embodiments, the target destination may not be the user's location. For example, the user may select a location on a map that is the target destination. As another example, location may be based on a location associated with a calendar event. In some embodiments, the location is selected by dropping a pin icon on a map at the target destination. The location may be a longitude and latitude. In some embodiments, the location may include an altitude, elevation, or similar measure. For example, in a parking garage, the location includes an altitude component to distinguish between different floors of a multi-floor parking garage. In various embodiments, the destination is a geographical location.
In some embodiments, the destination includes a location as well as an orientation. For example, a car icon, a triangle icon, or another icon with an orientation is used to specify both a location and orientation. By specifying an orientation, the vehicle navigates to the selected target destination and faces the intended orientation that the user selects. In some embodiments, the orientation is determined by orientation suggestions, such as suggestions based on the environment, the user, other vehicles, and/or other appropriate inferences. For example, a map may be used to determine the proper orientation for vehicles, such as the direction vehicles should travel on a one-way road. As another example, based on lane lines, traffic signals, other vehicles, etc., the summon functionality determines an appropriate orientation of the road. For example, the direction other vehicles are facing can be used as an orientations suggestion. In some embodiments, the orientation is based on the orientation suggested by other autonomous vehicles. For example, in some embodiments, the vehicle summon functionality can communicate and/or query other vehicles to determine their orientation and use the provided result as an orientation suggestion. In various embodiments, one or more orientation suggestions are weighted and used to determine a target destination orientation.
In some embodiments, the destination is determined by fulfilling a query. For example, a user may request, for example using a GUI, voice, or another query type, her or his vehicle to arrive at a specified parking lot at a certain time. The destination is determined by querying a search engine, such as a map search database, for the destination parking lot. The user's calendar and/or address book may be used to refine the search results. Once the parking lot is identified, instructions and/or traffic flow for entering and/or exiting the parking lot are determined and used for selecting a destination. The destination is then provided to the vehicle summons module.
In some embodiments, the destination received is a multipart destination. For example, the destination requires arriving at one or more waypoints before reaching the final destination. The waypoints may be used to exercise additional control over the path the vehicle takes in navigating to the final destination. For example, the waypoints may be used to follow a preferred traffic pattern for an airport, parking lot, or another destination. The waypoints may be used to pick up one or more additional passengers, etc. For example, delays and/or pauses can be incorporated into the destination to pick up and/or drop off passengers or objects.
In some embodiments, the destination received is first passed through one or more validation and/or safety checks. For example, a destination may be limited based on distance such that a user can only select a destination within a certain distance (or radius) from the vehicle, such as 100 meters, 10 meters, or another appropriate distance. In some embodiments, the distance is based on local rules and/or regulations. In some embodiments, the destination location must be a valid stopping location. For example, a sidewalk, a crosswalk, an intersection, a lake, etc. are typically not valid stopping locations and the user may be prompted to select a valid location. In some embodiments, the destination received is modified from the user's initial selected destination to account for safety concerns, such as enforcing a valid stopping location.
At 103, a path to the destination is determined. For example, one or more paths are determined to navigate the vehicle from its current location to the destination received at 101. In some embodiments, the paths are determined using a path planner module, such as path planner module 705 of
At 105, the vehicle navigates to the destination. Using the path to the destination determined at 103, the vehicle automatically navigates to the destination received at 101. In some embodiments, the path is made up of multiple smaller sub-paths. Different sub-paths may be implemented by traveling in different gears, such as forwards or reverse. In some embodiments, the paths include actions such as opening a garage door, closing a garage door, passing through a parking gate, waiting for a car lift, confirming a toll payment, charging, making a call, sending a message, etc. The additional actions may require stopping the vehicle and/or executing actions to manipulate the surrounding environment. In some scenarios, the final destination is a destination that is close to the destination received at 101. For example, in some scenarios, the destination received at 101 is not reachable so the final destination closely approximates reaching that destination. For example, in the event a user selects a sidewalk, the final destination is a position on a road adjacent to the sidewalk. As another example, in the event the user selects a crosswalk, the final destination is a position on a road near the crosswalk but not in the crosswalk.
In some embodiments, one or more safety checks are continuously confirmed while navigating. For example, auxiliary data such as sensor data from ultrasonic or other sensors is used to identify obstacles such as pedestrians, vehicles, speed bumps, traffic control signals, etc. A likelihood of a potential collision with the object terminates the current navigation and/or modifies the path to the destination. In some embodiments, the path to the destination includes the speed to travel along the path. As another example, in some embodiments, a heartbeat from the user's mobile application must be received for navigation to continue. The heartbeat may be implemented by requiring the user to maintain a connection with the vehicle being summoned, for example, by continuously pressing down a button GUI element in a mobile summon application. As another example, the user must continue to hold down a button (or maintain contact with a sensor) on the key fob for the vehicle to automatically navigate. In the event contact is lost, the automatic navigation will terminate. In some embodiments, the termination of the navigation safely slows down the vehicle and puts the vehicle in a safe, resting mode, such as parked along the side of the road, in a nearby parking space, etc. In some embodiments, loss of contact may, depending on the scenario, immediately stop the vehicle. For example, a user may release a summon button on the mobile app to indicate the vehicle should stop immediately, similar to a dead man's switch. In various embodiments, the deceleration applied to stop the vehicle depends on the environment of the vehicle (for example, whether other vehicles are traveling nearby such as behind the vehicle), whether there are potential collisions such as an obstacle or pedestrian in front of the path of the vehicle, the speed the vehicle is traveling, or other appropriate parameters. In some embodiments, the speed the vehicle travels is limited, for example, to a low maximum speed.
At 107, the vehicle summon functionality is completed. On completion, one or more completion actions may be executed. For example, a notification that the vehicle has reached the selected target destination is sent. In some embodiments, the vehicle reaches a destination that approximates that target destination and a notification is presented to the user of the vehicle's location. In some embodiments, the notification is sent to a mobile application, a key fob (e.g., indicated by a change in state associated with the key fob), via a text message, and/or via another appropriate notification channel. Additional directions may be provided to direct the user to the vehicle. In various embodiments, the vehicle may be placed into park and one or more vehicle settings may be triggered. For example, the interior lighting of the vehicle may be turned on. Floor lighting may be enabled to increase visibility for entering the vehicle. One or more exterior lights may be turned on, such as blinkers, parking, and/or hazard lights. Exterior lights, such as front headlights, may be activated to increase visibility for passengers approaching the vehicle. Actuated directional lights may be directed towards the expected direction from which passengers will be arriving to reach the vehicle. In some embodiments, audio notifications such as an audio alert or music are played. Welcome music or similar audio may be played in the cabin based on preferences of the user. Similarly, the climate control of the vehicle may be enabled to prepare the climate of the cabin for passengers such as warming up or cooling the cabin to a desired temperature and/or humidity. Seats may be heated (or ventilated). A heated steering wheel may be activated. Air vents can be redirected based on preferences. The doors may be unlocked and may be opened for the passengers. In the event the destination is an electric charging station, the vehicle can be oriented so that its charger port aligns with the charger. In some embodiments, a user can configure the preferences of the vehicle, including cabin climate, interior lighting, exterior lighting, audio system, and other vehicle preferences, in anticipation of passengers.
In various embodiments, the location of the vehicle is updated during and upon summon completion. For example, the updated location may be reflected in a companion mobile application. In some embodiments, a completion action includes updating an annotated map of the traversed path and encountered environment with recently captured and analyzed sensor data. The annotated map may be updated to reflect potential obstacles, traffic signals, parking preferences, traffic patterns, pedestrian walking patterns, and/or other appropriate path planning metadata that may be useful for future navigation and/or path planning. For example, a speed bump, crosswalk, potholes, empty parking spots, charging locations, gas stations, etc. that are encountered are updated to an annotated map. In some embodiments, the data corresponding to the encounters is used as potential training data to improve summon functionality, such as the perception, path planning, safety validation, and other functionality, for the current vehicle/user as well as other vehicles and users. For example, empty parking spots may be used for the path planning of other vehicles. As another example, an electric charging station or gas station is used for path planning. The vehicle can be routed to an electric charging station and oriented so that its charger port aligns with the charger.
At 201, a destination location is received. In some embodiments, the destination is provided as a geographical location. For example, longitude and latitude values are provided. In some embodiments, an altitude is provided as well. For example, an altitude associated with a particular floor of a parking garage is provided. In various embodiments, the destination location is provided from a user via a smartphone device, via the media console of a vehicle, or by another means. In some embodiments, the location is received along with a time associated with departing or arriving at the destination. In some embodiments, one or more destinations are received. For example, in some scenarios, a multi-step destination is received that includes more than one stop. In some embodiments, the destination location includes an orientation or heading. For example, the heading indicates the direction the vehicle should face once it has arrived at the destination.
At 203, a user location is determined. For example, the location of the user is determined using a global positioning system or another location aware technique. In some embodiments, the user's location is approximated by the location of a key fob, a smartphone device of the user, or another device in the user's control. In some embodiments, the user's location is received as a geographical location. Similar to 201, the location may be a longitude and latitude pair and in some embodiments, may include an altitude. In some embodiments, the user's location is dynamic and is continuously updated or updated at certain intervals. For example, the user can move to a new location and the location received is updated. In some embodiments, the destination location includes an orientation or heading. For example, the heading indicates the direction the vehicle should face once it has arrived at the destination.
At 205, a destination is validated. For example, the destination is validated to confirm that the destination is reachable. In some embodiments, the destination must be within a certain distance from the vehicle originating location. For example, certain regulations may require a vehicle is limited to automatically navigating no more than 50 meters. In various embodiments, an invalid destination may require the user to supply a new location. In some embodiments, an alternative destination is suggested to the user. For example, in the event a user selects the wrong orientation, a suggested orientation is provided. As another example, in the event a user selects a no-stopping area, the valid stopping area such as the closest valid stopping area is suggested. Once validated, the selected destination is provide to step 207.
At 207, the destination is provided to a path planner module. In some embodiments, a path planner module is used to determine a route for the vehicle. At 207, the validated destination is provided to the path planner module. In some embodiments, the destination is provided as one or more locations, for example, a destination with multiple stops. The destination may include a two-dimensional location, such as a latitude and longitude location. Alternatively, in some embodiments, a destination includes an altitude. For example, certain drivable areas, such as multi-level parking garages, bridges, etc., have multiple drivable planes for the same two-dimensional location. The destination may also include a heading to specify the orientation the vehicle should face when arriving at the destination. In some embodiments, the path planner module is path planner module 705 of
At 301, a destination is received. For example, a geographical location is received via a mobile app, a key fob, via a control center of the vehicle, or another appropriate device. In some embodiments, the destination is a location and an orientation. In some embodiments, the destination includes an altitude and/or a time. In various embodiments, the destination is received using the process of
At 303, vision data is received. For example, using one or more camera sensors affixed to the vehicle, camera image data is received. In some embodiments, the image data is received from sensors covering the environment surrounding the vehicle. The vision data may be preprocessed to improve the usefulness of the data for analysis. For example, one or more filters may be applied to reduce noise of the vision data. In various embodiments, the vision data is continuously captured to update the environment surrounding the vehicle.
At 305, drivable space is determined. In some embodiments, the drivable space is determined using a neural network by applying inference on the vision data received at 303. For example, a convolutional neural network (CNN) is applied using the vision data to determine drivable and non-drivable space for the environment surrounding the vehicle. Drivable space includes areas that the vehicle can travel. In various embodiments, the drivable space is free of obstacles such that the vehicle can travel using a path through the determined drivable space. In various embodiments, a machine learning model is trained to determine drivable space and deployed on the vehicle to automatically analyze and determine the drivable space from image data.
In some embodiments, the vision data is supplemented with additional data such as additional sensor data. Additional sensor data may include ultrasonic, radar, lidar, audio, or other appropriate sensor data. Additional data may also include annotated data, such as map data. For example, an annotated map may annotate vehicle lanes, speed lines, intersections, and/or other driving metadata. The additional data may be used as input to a machine learning model or consumed downstream when creating the occupancy grid to improve the results for determining drivable space.
At 307, an occupancy grid is generated. Using the drivable space determined at 305, an occupancy grid representing the environment of the vehicle is generated. In some embodiments, the occupancy grid is a two-dimensional occupancy grid representing the entire plane (e.g., 360 degrees along longitude and latitude axes) the vehicle resides in. In some embodiments, the occupancy grid includes a third dimension to account for altitude. For example, a region with multiple drivable paths at different altitudes, such as a multi-floor parking structure, an overpass, etc., can be represented by a three-dimensional occupancy grid.
In various embodiments, the occupancy grid contains drivability values at each grid location that corresponds to a location in the surrounding environment. The drivability value at each location may be a probability that the location is drivable. For example, a sidewalk may be designed to have a zero drivability value while gravel has a 0.5 drivability value. The drivability value may be a normalized probability having a range between 0 and 1 and is based on the drivable space determined at 305. In some embodiments, each location of the grid includes a cost metric associated with the cost (or penalty/reward) of traversing through that location. The cost value of each grid location in the occupancy grid is based on the drivable value. The cost value may further depend on additional data such as preference data. For example, path preferences can be configured to avoid toll roads, carpool lanes, school zones, etc. In various embodiments, the path preference data can be learned via a machine learning model and is determined at 305 as part of drivable space. In some embodiments, the path preference data is configured by the user and/or an operator to optimize the path taken for navigation to the destination received at 301. For example, the path preferences can be optimized to improve safety, convenience, travel time, and/or comfort, among other goals. In various embodiments, the preferences are additional weights used to determine the cost value of each location grid.
In some embodiments, the occupancy grid is updated with auxiliary data such as additional sensor data. For example, ultrasonic sensor data capturing nearby objects is used to update the occupancy grid. Other sensor data such as lidar, radar, audio, etc. may be used as well. In various embodiments, an annotated map may be used in part to generate the occupancy grid. For example, roads and their properties (speed limit, lanes, etc.) can be used to augment the vision data for generating the occupancy grid. As another example, occupancy data from other vehicles can be used to update the occupancy grid. For example, a neighboring vehicle with similarly equipped functionality can share sensor data and/or occupancy grid results.
In some embodiments, the occupancy data is initialized with the last generated occupancy grid. For example, the last occupancy grid is saved when a vehicle is no longer capturing new data and/or is parked or turned off. When the occupancy grid is needed, for example, when a vehicle is summoned, the last generated occupancy grid is loaded and used as an initial occupancy grid. This optimization significantly improves the accuracy of the initial grid. For example, some objects may be difficult to detect from a stand still but will have been detected in the last save occupancy grid when the vehicle was moving as it approached the current parked location.
At 309, a path goal is determined. Using the occupancy grid, a search is performed to determine a path to navigate the vehicle from its current location to the destination received at 301. The potential paths are based in part on the operating characteristics of the vehicle such as the turn radius, vehicle width, vehicle length, etc. Each vehicle model may be configured with particular vehicle operating characteristics. In some embodiments, path finding is configured to implement configurable limitations and/or goals. Example limitations include a vehicle cannot travel sideways, a vehicle should limit the number of sharp turns, the vehicle should limit the number of changes in gear (e.g., from reverse to forward or vice versa), etc. The limitations/goals may be implemented as weighted costs in a cost function. In various embodiments, the initial position of the vehicle includes an x, y, and heading value. The x and y values may correspond to longitude and latitude values. One or more potential paths are determined originating from the initial position towards reaching the goal. In some embodiments, the paths are made up of one or more path primitives, such as arc primitives. The path primitives describe a path (and a path goal) that a vehicle can navigate along to reach the destination.
In various embodiments, the selected path goal is selected based on a cost function. A cost function is performed on each of the potential paths. Each potential path traverses through a set of grids of the occupancy grid, where each grid has a cost value to reward or penalize traveling through the grid's location. The path with the optimal cost value is selected as the path goal. The path goal may include one or more path primitives, such as arcs, to model the motion of a navigating vehicle. For example, a pair of two path primitives can express moving a vehicle in reverse and then moving forward. The reverse path is represented as one arc and the forward path is represented as another arc. As another example, the vehicle path may include a three-point turn. Each primitive of the turn can be expressed as an arc path. At the end of each path primitive, the vehicle will have a new x, y, and heading value. In some embodiments, the vehicle includes an altitude value, for example, to support navigation between different floors of a parking garage. Although arc path primitives are used to define the goal path, other appropriate geometric primitives may be used as well. In some embodiments, each path includes speed parameters. For example, a speed parameter can be used to suggest travel speeds along the path. An initial speed, a max speed, an acceleration, a max acceleration, and other speed parameters can be used to control how the vehicle navigates along the path. In some embodiments, a maximum speed is set to a low speed and used to keep the vehicle from traveling too quickly. For example, a low maximum speed may be enforced to allow a user to quickly intervene.
In various embodiments, the determined path goal is passed to a vehicle controller to navigate along the path. In some embodiments, the path goal is first converted to a set of path points along the path for use by the vehicle controller. In some embodiments, the path planning is run continuously and a new path can be determined while a current path is being traversed. In some embodiments, the intended path is no longer reachable, for example, the path is blocked and a new path is determined. The path planning at 309 may be run at a lower frequency than the other functionality of the process of
In some embodiments, more than one route to the destination is viable and multiple path goals are provided to the user. For example, the user is shown two or more path goals as options. The user can select, for example, using a GUI, a voice command, etc., a path goal to use for navigating the vehicle to the destination. As an example, a user is shown two paths from the vehicle to the destination. The first path is estimated to take less time but has more turns and requires frequent gear changes. The second path is smoother but takes more time. The user can select a path goal from the two options. In some embodiments, the user can select a path goal and modify the route. For example, the user can adjust the route selected to navigate around a particular obstacle, such a busy intersection.
At 311, the vehicle automatically navigates to a path goal. Using the path goal or goals determined at 309, a vehicle automatically navigates from its current location along the goal path(s) to reach an arrival destination. For example, a vehicle controller receives the goal path(s) and in turn implements the vehicle controls needed to navigate the vehicle along the path. The path goal(s) may be received as a set of path points along the path to navigate. In some embodiments, the vehicle controller converts path primitives, such as arcs, to path points. In various embodiments, the vehicle is controlled by sending actuator parameters from the vehicle controller to vehicle actuators. In some embodiments, the vehicle controller is vehicle controller 707 of
In some embodiments, as the vehicle navigates to the path goal, the user can adjust the navigation/operations of the vehicle. For example, the user can adjust the navigation by providing inputs such as “steer more to the left.” As additional examples, the user can increase or decrease the speed of the vehicle while navigating and/or adjust the steering angle.
At 313, a determination is made whether the vehicle has arrived at the destination received at 301. In the event the vehicle has arrived at the destination, processing continues to 315. In the event the vehicle has not arrived at the destination, processing loops back to 301 to potentially receive an updated destination and automatically navigate to the (potentially updated) selected destination. In various embodiments, a vehicle has arrived at the destination but may not be at the exact location of the destination. For example, the selected destination may not be or may no longer be a drivable location. As one example, another vehicle may be parked in the selected destination. As yet another example, the user may be moved to a location, such as a passenger waiting area, which is not drivable. In certain situations, a vehicle is determined to have arrived at the destination in the event the vehicle has arrived at a location determined to be closest reachable to the destination. The closet reachable destination may be based on the path determined at 309. In some embodiments, the closet reachable destination is based on a cost function used to calculate potential paths between the current location and the destination. In some embodiments, the difference between the arrived location and the received destination is based on the accuracy of the technology available to determine location. For example, the vehicle may be parked within the accuracy of an available global positioning system.
At 315, summon is complete. In various embodiments, the summon functionality is completed and one or more completion actions are executed. For example, completion actions described with respect to 107 of
At 401, training data is prepared. In some embodiments, sensor data including image data is utilized to create a training data set. The sensor data may include still images and/or video from one or more cameras. Additional sensors such as radar, lidar, ultrasonic, etc. may be used to provide relevant sensor data. In various embodiments, the sensor data is paired with corresponding vehicle data to help identify features of the sensor data. For example, location and change in location data can be used to identify the location of relevant features in the sensor data such as lane lines, traffic control signals, objects, etc. In some embodiments, the training data is prepared to train a machine learning model to identify drivable space. The prepared training data may include data for training, validation, and testing. In some embodiments, the format of the data is compatible with a machine learning model used on a deployed deep learning application.
At 403, a machine learning model is trained. For example, a machine learning model is trained using the data prepared at 401. In some embodiments, the model is a neural network such as a convolutional neural network (CNN). In various embodiments, the model includes multiple intermediate layers. In some embodiments, the neural network may include multiple layers including multiple convolution and pooling layers. In some embodiments, the training model is validated using a validation data set created from the received sensor data. In some embodiments, the machine learning model is trained to predict drivable space from image data. For example, drivable space of an environment surrounding a vehicle can be inferred from an image captured from a camera. In some embodiments, the image data is augmented with other sensor data such as radar or ultrasonic sensor data for improved accuracy.
At 405, the trained machine learning model is deployed. For example, the trained machine learning model is installed on a vehicle as an update for a deep learning network. In some embodiments, the deep learning network is part of a perception module such as perception module 703 of
At 407, sensor data is received. For example, sensor data is captured from one or more sensors of the vehicle. In some embodiments, the sensors are vision sensors, such as vision sensors 701 of
At 409, the trained machine learning model is applied. For example, the machine learning model trained at 403 is applied to sensor data received at 407. In some embodiments, the application of the model is performed by a perception module such as perception module 703 of
At 411, an occupancy grid is generated. For example, using the output of the trained machine learning model applied at 409, an occupancy grid is generated for path planning to determine a goal path for navigating a vehicle. The occupancy grid may be generated as described with respect to 307 of
In some embodiments, the occupancy grid is generated prior to route planning. For example, the occupancy grid is generated and then presented to the user to examine, such as via a GUI on a smartphone device or via a display in the vehicle. The user can view the occupancy grid and select a target destination. The user can specify which part of the curb the user would like the vehicle to pull up to. Once selected, the vehicle can navigate to the target destination.
At 501, a saved occupancy grid is loaded. In some embodiments, a previously generated occupancy grid that corresponds to the vehicle's current location is loaded. By initializing the occupancy grid with a previously saved occupancy grid, the accuracy of the environment surrounding the vehicle can be improved. This optimization significantly improves the accuracy of the initial grid. For example, some objects may be difficult to detect from a stand still but will have been detected in the last saved occupancy grid when the vehicle was moving as it approached the current parked location.
At 503, drivable space is received. For example, drivable space is received as output from a neural network such as a convolutional neural network. In some embodiments, the drivable space is updated continuously as new sensor data is captured and analyzed. The received drivable space may be segmented into grid locations. In some embodiments, other vision-based measurements in addition to drivable space are received. For example, objects such as curbs, vehicles, pedestrians, cones, etc. are detected and received.
At 505, auxiliary data is received. For example, auxiliary data is used to update and further refine the accuracy of the occupancy grid. Auxiliary data may include data from sensors such as ultrasonic sensors or radar. Auxiliary data may also include occupancy data generated from other vehicles. For example, a mesh network of vehicles may share occupancy data based on the time and location of the occupancy data. As another example, an annotated map data may be used to augment the occupancy grid. Map data such as speed limits, lanes, drivable spaces, traffic patterns, etc. may be loaded via annotated map data.
In some embodiments, safety data used to override or modify navigation is received as auxiliary data. For example, a collision warning system inputs data at 505 used to override grid values to account for potential or pending collision. In some embodiments, auxiliary data includes data provided from the user. For example, the user may include an image or video to help identify a destination, such as a parking location and/or orientation. The received data may be used to modify the occupancy grid.
At 507, an occupancy grid is updated. Using the data received at 503 and/or 505, the occupancy grid is updated. The updated grid may include values at each grid location corresponding to a probability value of the grid location. The values may be cost values associated with navigating through the grid location. In some embodiments, values also include drivable values corresponding to the probability the grid location is a drivable area. In various embodiments, the updated occupancy grid may be saved and/or exported. For example, the grid data may be uploaded to a remote server or saved locally. As an example, when a vehicle is parked, the grid data may be saved and used to initialize the grid at a later time. As another example, the grid data may be shared with related vehicles, such as vehicles whose paths or potential paths intersect.
Once the occupancy grid is updated, processing loops back to 503 to continuously update the occupancy grid with newly received data. For example, as the vehicle navigates along a path, new drivable and/or auxiliary data is received to update the occupancy grid. The newly updated grid may be used to refine and/or update the goal path used for automatic navigation. For example, previously empty spaces may now be blocked. Similarly, previously blocked spaces may be open.
In some embodiments, the process of
At 601, vehicle adjustments are determined. For example, vehicle speed and steering adjustments are determined to maintain the vehicle on the path goal. In some embodiments, the vehicle adjustments are determined by a vehicle controller such as vehicle controller 707 of
At 603, the vehicle is adjusted to maintain its course along a path goal. For example, the vehicle adjustments determined at 601 are implemented. In some embodiments, vehicle actuators such as vehicle actuator 713 of
At 605, the vehicle is operated according to vehicle adjustments and the operation of the vehicle is monitored. For example, the vehicle operates as directed by the vehicle adjustments applied at 603. In various embodiments, the vehicle's operation is monitored to enforce safety, comfort, performance, efficiency, and other operating parameters.
At 607, a determination is made whether an obstacle is detected. In the event an obstacle is detected, processing continues to 611. In the event an obstacle is not detected, processing continues to 605 where the vehicle's operating continues to be monitored. In some embodiments, obstacles are detected by collision or object sensors, such as an ultrasonic sensor. In some embodiments, obstacles may be communicated via a network interface. For example, obstacles detected by another vehicle may be shared and received. In various embodiments, a detected obstacle may be used to inform other components of the autonomous vehicle system, such as those related to occupancy grid generation, but is also received at a navigation component to allow the vehicle to immediately adjust for the detected obstacle.
At 609, a determination is made whether contact with the user is lost. In the event contact with the user is lost, processing continues to 611. In the event a contact with the user is not lost, processing continues to 605 where the vehicle's operating continues to be monitored. In some embodiments, constant contact with the user is required to activate automatic navigation. For example, a virtual heartbeat is sent from the user. The heartbeat may be sent from a smartphone device of the user or another appropriate device such as a key fob. In some embodiments, as long as the user activates the virtual heartbeat, the virtual heartbeat will be received and contact will not be lost. In response to the user no longer sending the virtual heartbeat, contact with the user is considered lost and the navigation of the vehicle responds appropriately at 611.
In some embodiments, the virtual heartbeat is implemented (and continuously sent to maintain contact) as long as the user makes continuous contact with a heartbeat switch, button, or other user interface device. Once the user breaks contact with the appropriate user interface element, the virtual heartbeat is no longer transmitted and contact is lost.
At 611, navigation is overridden. In response to a detected obstacle and/or contact lost with the user, automatic navigation is overridden. For example, in the event the vehicle is traveling at a slow speed, the vehicle can immediately stop. In the event the vehicle is traveling at a higher speed, the vehicle safely stops. A safe stop may require gradual braking and determining a safe stopping location, such as the side of the road or a parking spot. In various embodiments, an overridden navigation may require the user to proactively continue the automatic navigation. In some embodiments, an overridden navigation resumes once the detected obstacle is no longer present.
In some embodiments, in the event a detected obstacle overrides the navigation, the vehicle is rerouted to the destination using a new path. For example, a new path goal is determined that avoids the detected obstacle. In various embodiments, the occupancy grid is updated with the detected obstacle and the updated occupancy grid is used to determine the new path goal. Once a viable new path is determined, navigation may continue when appropriate, for example, once contact is reestablished. In some embodiments, new paths are determined when navigation is overridden. For example, when contact is lost, the path to the destination is reconfirmed. The existing path may be used if appropriate or a new path may be selected. In various embodiments, the vehicle remains stopped if no viable path can be found. For example, the vehicle is completely blocked.
In the example shown, onboard components 700 is an autonomous vehicle system that includes vision sensors 701, perception module 703, path planner module 705, vehicle controller 707, additional sensors 709, safety controller 711, vehicle actuators 713, and network interface 715. In various embodiments, the different components are communicatively connected. For example, sensor data from vision sensors 701 and additional sensors 709 are fed to perception module 703. Output of perception module 703 is fed to path planner module 705. The output of path planner module 705 and sensor data from additional sensors 709 is fed to vehicle controller 707. In some embodiments, the output of vehicle controller 707 is vehicle control commands that are fed to vehicle actuators 713 for controlling the operation of the vehicle such as the speed, braking, and/or steering, etc. of the vehicle. In some embodiments, sensor data from additional sensors 709 is fed to vehicle actuators 713 to perform additional safety checks. In various embodiments, safety controller 711 is connected to one or more components such as perception module 703, vehicle controller 707, and/or vehicle actuators 713 to implement safety checks at each module. For example, safety controller 711 may receive additional sensor data from additional sensors 709 for overriding automatic navigation.
In various embodiments, sensor data, machine learning results, perception module results, path planning results, safety controller results, etc. can be sent to navigation server 761 via network interface 715. For example, sensor data can be transmitted to a navigation server 761 via network interface 715 to collect training data for improving the performance, comfort, and/or safety of the vehicle. In various embodiments, network interface 715 is used to communicate with navigation server 761, to make phone calls, to send and/or receive text messages, and to transmit sensor data based on the operation of the vehicle, among other reasons. In some embodiments, onboard components 700 may include additional or fewer components as appropriate. For example, in some embodiments, onboard components 700 include an image pre-processor (not shown) to enhance sensor data. As another example, an image pre-processor may be used to normalize an image or to transform an image. In some embodiments, noise, distortion, and/or blurriness is removed or reduced during a pre-processing step. In various embodiments, the image is adjusted or normalized to improve the result of machine learning analysis. For example, the white balance of the image is adjusted to account for different lighting operating conditions such as daylight, sunny, cloudy, dusk, sunrise, sunset, and night conditions, among others. As another example, an image captured with a fisheye lens may be warped and an image pre-processor may be used to transform the image to remove or modify the warping. In various embodiments, one or more components of onboard components may be distributed to a remote server such as navigation server 761.
In some embodiments, vision sensors 701 include one or more vision sensors. In various embodiments, vision sensors 701 may be affixed to a vehicle, at different locations of the vehicle, and/or oriented in one or more different directions. For example, vision sensors 701 may be affixed to the front, sides, rear, and/or roof, etc. of the vehicle in forward-facing, rear-facing, side-facing, etc. directions. In some embodiments, vision sensors 701 are image sensors such as high dynamic range cameras. For example, a high dynamic range forward-facing camera captures image data in front of the vehicle. In some embodiments, a vehicle is affixed with multiple sensors for capturing data. For example, in some embodiments, eight surround cameras are affixed to a vehicle and provide 360 degrees of visibility around the vehicle with a range of up to 250 meters. In some embodiments, camera sensors include a wide forward camera, a narrow forward camera, a rear view camera, forward looking side cameras, and/or rearward looking side cameras. The various camera sensors are used to capture the environment surrounding the vehicle and the captured image is provided for deep learning analysis.
In some embodiments, vision sensors 701 are not mounted to the vehicle of onboard components 700. For example, vision sensors 701 may be mounted on neighboring vehicles and/or affixed to the road or environment and are included as part of a deep learning system for capturing sensor data. In some embodiments, vision sensors 701 include one or more cameras that capture the road surface the vehicle is traveling on. For example, one or more front-facing and/or pillar cameras capture lane markings of the lane the vehicle is traveling in. Vision sensors 701 may include both image sensors capable of capturing still images and/or video. The data may be captured over a period of time, such as a sequence of captured data over a period of time.
In some embodiments, perception module 703 is used to analyze sensor data to generate a representation of the environment surrounding the vehicle. In some embodiments, perception module 703 utilizes a trained machine learning network for generating an occupancy grid. Perception module 703 may utilize a deep learning network to take as input sensor data including data from vision sensors 701 and/or additional sensors 709. The deep learning network of perception module 703 may be an artificial neural network such as a convolutional neural network (CNN) that is trained on input such as sensor data and its output is provided to path planner module 705. As one example, the output may include drivable space of the environment surrounding the vehicle. In some embodiments, perception module 703 receives as input at least sensor data. Additional input may include scene data describing the environment around the vehicle and/or vehicle specifications such as operating characteristics of the vehicle. Scene data may include scene tags describing the environment around the vehicle, such as raining, wet roads, snowing, muddy, high density traffic, highway, urban, school zone, etc. In some embodiments, perception module 703 is utilized at 103 of
In some embodiments, path planner module 705 is a path planning component for selecting an optimal path to navigate a vehicle from one location to another. The path planning component may utilize an occupancy grid and a cost function for selecting an optimal route. In some embodiments, potential paths are made up of one or more path primitives, such as arc primitives, that model the operating characteristics of the vehicle. In some embodiments, path planner module 705 is utilized at step 103 of
In some embodiments, vehicle controller 707 is utilized to process the output of path planner module 705 and to translate a selected path into vehicle control operations or commands. In some embodiments, vehicle controller 707 is utilized to control the vehicle for automatic navigation to a selected destination target. In various embodiments, vehicle controller 707 can adjust the speed, acceleration, steering, braking, etc. of the vehicle by transmitting commends to vehicle actuators 713. For example, in some embodiments, vehicle controller 707 is used to control the vehicle to maintain the vehicle's position along a path from its current location to a selected destination.
In some embodiments, vehicle controller 707 is used to control vehicle lighting such as brake lights, turns signals, headlights, etc. In some embodiments, vehicle controller 707 is used to control vehicle audio conditions such as the vehicle's sound system, playing audio alerts, enabling a microphone, enabling the horn, etc. In some embodiments, vehicle controller 707 is used to control notification systems including warning systems to inform the driver and/or passengers of driving events such as a potential collision or the approach of an intended destination. In some embodiments, vehicle controller 707 is used to adjust sensors such as sensors 701 of a vehicle. For example, vehicle controller 707 may be used to change parameters of one or more sensors such as modifying the orientation, changing the output resolution and/or format type, increasing or decreasing the capture rate, adjusting the captured dynamic range, adjusting the focus of a camera, enabling and/or disabling a sensor, etc.
In some embodiments, additional sensors 709 include one or more sensors in addition to vision sensors 701. In various embodiments, additional sensors 709 may be affixed to a vehicle, at different locations of the vehicle, and/or oriented in one or more different directions. For example, additional sensors 709 may be affixed to the front, sides, rear, and/or roof, etc. of the vehicle in forward-facing, rear-facing, side-facing, etc. directions. In some embodiments, additional sensors 709 include radar, audio, LiDAR, inertia, odometry, location, and/or ultrasonic sensors, among others. The ultrasonic and/or radar sensors may be used to capture surrounding details. For example, twelve ultrasonic sensors may be affixed to the vehicle to detect both hard and soft objects. In some embodiments, a forward-facing radar is utilized to capture data of the surrounding environment. In various embodiments, radar sensors are able to capture surrounding detail despite heavy rain, fog, dust, and other vehicles. The various sensors are used to capture the environment surrounding the vehicle and the captured image is provided for deep learning analysis.
In some embodiments, additional sensors 709 are not mounted to the vehicle of onboard components 700. For example, additional sensors 709 may be mounted on neighboring vehicles and/or affixed to the road or environment and are included as part of an autonomous vehicle system for capturing sensor data. In some embodiments, additional sensors 709 include one or more non-vision sensors that capture the road surface the vehicle is traveling on. In some embodiments, additional sensors 709 include location sensors such as global position system (GPS) sensors for determining the vehicle's location and/or change in location.
In some embodiments, safety controller 711 is a safety component used to implement safety checks for onboard components 700. In some embodiments, safety controller 711 receives sensor input from vision sensors 701 and/or additional sensors 709. In the event an object is detected and/or a collision is highly likely, safety controller 711 can inform different components of an immediate pending safety issue. In some embodiments, safety controller 711 is capable of interrupting and/or augmenting the results of perception module 703, vehicle controller 707, and/or vehicle actuators 713. In some embodiments, safety controller 711 is used to determine how to respond to a detected safety concern. For example, at slow speeds, a vehicle can be brought to an immediate stop but at high speeds the vehicle must be safely slowed down and parked in a safe location. In various embodiments, safety controller 711 communicates with remote interface component 751 to detect whether a live connection is established between onboard components 700 and the user of remote interface component 751. For example, safety controller 711 can monitor for a virtual heartbeat from remote interface component 751 and in the event a virtual heartbeat is no longer detected, a safety alert can be triggered to terminate or modify automatic navigation. In some embodiments, the process of
In some embodiments, vehicle actuator 713 is used to implement specific operating controls of the vehicle. For example, vehicle actuator 713 initiates changes in the speed and/or steering of the vehicle. In some embodiments, vehicle actuator 713 sends operating commands to a drive inverter and/or steering rack. In various embodiments, vehicle actuator 713 implements a safety check based on input from additional sensors 709 and/or safety controller 711 in the event a potential collision is detected. For example, vehicle actuator 713 brings the vehicle to an immediate stop.
In some embodiments, network interface 715 is a communication interface for sending and/or receiving data including voice data. In various embodiments, a network interface 715 includes a cellular or wireless interface for interfacing with remote servers, to connect and make voice calls, to send and/or receive text messages, to transmit sensor data, to receive updates to a perception module including updated machine learning models, to retrieve environmental conditions including weather conditions and forecasts, traffic conditions, traffic rules and regulations, etc. For example, network interface 715 may be used to receive an update for the instructions and/or operating parameters for sensors 701, perception module 703, path planner module 705, vehicle controller 707, additional sensors 709, safety controller 711, and/or vehicle actuators 713. A machine learning model of perception module 703 may be updated using network interface 715. As another example, network interface 715 may be used to update firmware of vision sensors 701 and/or operating goals of path planner module 705 such as weighted costs. As yet another example, network interface 715 may be used to transmit occupancy grid data to navigation server 761 for sharing with other vehicles.
In some embodiments, remote interface component 751 is one or more remote components that may be used remotely from the vehicle to automatically navigate the vehicle. For example, remote interface component 751 includes a smartphone application running on a smartphone device, a key fob, a GUI such as a website to control the vehicle, and/or another remote interface component. A user can initiate a summon functionality to automatically navigate a vehicle to a selected destination target specified by a geographical location. For example, a user can have a vehicle find and then follow the user. As another example, the user can specify a parking location using remote interface component 751 and the vehicle will automatically navigate to the specified location or to the closest location to the specified location that is safe to reach.
In some embodiments, navigation server 761 is an optional remote server and includes remote storage. Navigation server 761 can store occupancy grids and/or occupancy data that can be used at a later time to initialize a newly generated occupancy grid. In some embodiments, navigation server 761 is used to synchronize occupancy data across different vehicles. For example, vehicles in the area with fresh occupancy data can be initiated or updated with occupancy data generated from other vehicles. In various embodiments, navigation server 761 can communicate with onboard components 700 via network interface 715. In some embodiments, navigation server 761 can communicate with remote interface component 751. In some embodiments, one or more components or partial components of onboard components 700 are implemented on navigation server 761. For example, navigation server 761 can perform processing such as perception processing and/or path planning and provide the needed results to the onboard components 700.
In some embodiments, user interface 800 displays map 801 with the vehicle's location indicated at vehicle locator element 805 and the user's location indicated at user locator element 809. The areas that the vehicle is available to traverse when automatically navigating to the user is indicated by valid summon area element 807. In various embodiments, valid summon area element 807 is a circle that displays the maximum distance the vehicle is allowed to travel. In some embodiments, valid summon area element 807 takes into account the line of sight from the user to the vehicle and only areas with a line of sight are allowed for automatic navigation.
In the example shown, map 801 is a satellite map although alternative maps may be used. In some embodiments, map 801 may be manipulated to view different locations, for example, by panning or zooming map 801. In various embodiments, map 801 includes a three-dimensional view (not shown) to allow the user to select different altitudes, such as different levels in a parking garage. For example, areas with drivable areas at different altitudes are highlighted and can be viewed in an exploded view.
In some embodiments, vehicle locator element 805 displays both the location and orientation (or heading) of the vehicle. For example, the direction the vehicle is facing is indicated by the direction the arrow of the vehicle locator element 805 is pointing. User locator element 809 indicates the user's location. In some embodiments, the locations of other potential passengers are also displayed, for example, in another color (not shown). In some embodiments, map 801 is centered on vehicle locator element 805. In various embodiments, other data may be used as the center of map 801, such as the original (or starting) location of the vehicle, the user's current location, the closest reachable location to the user's current location, etc.
In the example shown, dialog window 803 includes a text description such as “Press and hold to start, or tap the map to choose a destination” to inform the user how to activate the summon feature. In some embodiments, the default action is to navigate the vehicle to the user. The default action is activated by selecting the “Find Me” button that is part of dialog window 803. In some embodiments, once the “Find Me” action is enabled, the selected path is displayed on the user interface (not shown in
In some embodiments, an additional “Find” functionality (not shown) can automatically navigate the vehicle to a selected person's location, for example, to pick up a passenger that is distinct from the user. In various embodiments, pre-identified locations are available to be displayed (not shown) that can be selected as destination targets. For example, locations may be pre-identified as valid parking or waiting locations for picking up passengers.
In some embodiments, user interface 900 displays map 901 with the vehicle's location indicated at vehicle locator element 905 and the user's location indicated at user locator element 909. The areas that the vehicle is available to traverse when automatically navigating to the user is indicated by valid summon area element 907. In various embodiments, valid summon area element 907 is a circle that displays the maximum distance the vehicle is allowed to travel and a user may only select a destination target within valid summon area element 907. In some embodiments, valid summon area element 907 takes into account the line of sight from the user to the vehicle and only areas with a line of sight are allowed for automatic navigation.
In the example shown, map 901 is a satellite map although alternative maps may be used. In some embodiments, map 901 may be manipulated to view different locations, for example, by panning or zooming map 901. In various embodiments, map 901 includes a three-dimensional view (not shown) to allow the user to select different altitudes, such as different levels in a parking garage. For example, areas with drivable areas at different altitudes are highlighted and can be viewed in an exploded view for selecting a destination target.
In some embodiments, vehicle locator element 905 displays both the location and orientation (or heading) of the vehicle. For example, the direction the vehicle is facing is indicated by the direction the arrow of the vehicle locator element 905 is pointing. User locator element 909 indicates the user's location. In some embodiments, the locations of other potential passengers are also displayed, for example, in another color (not shown). In some embodiments, map 901 is centered on vehicle locator element 905. In various embodiments, other data may be used as the center of map 901, such as the original (or starting) location of the vehicle, the user's current location, the closest reachable location to the user's current location, the selected destination target represented by destination target element 911, etc.
In the example shown, dialog window 903 includes a text description such as “Press and hold to start, or tap the map to choose a destination” to inform the user how to activate the summon feature. The user can select a target destination by selecting on map 901 a location within valid summon area element 907. Destination target element 911 is displayed on the valid selected location. In the example shown, a pin icon is used for destination target element 911. In some embodiments, an icon with an orientation (not shown), such as an arrow or a vehicle icon, is used as destination target element 911. The icon of destination target element 911 can be manipulated to select a final destination orientation. In various embodiments, the orientation selected is validated to confirm that the orientation is valid. For example, a destination orientation facing against traffic may not be allowed on a one-way street. To clear the selected location associated with destination target element 911, the user can select the “clear pin” dialog of dialog window 903. To initiate automatic navigation, the user selects the “Start” button of dialog window 903. In some embodiments, once the automatic navigation is enabled, the selected path is displayed on the user interface (not shown in
Although the foregoing embodiments have been described in some detail for purposes of clarity of understanding, the invention is not limited to the details provided. There are many alternative ways of implementing the invention. The disclosed embodiments are illustrative and not restrictive.
Number | Name | Date | Kind |
---|---|---|---|
6882755 | Silverstein et al. | May 2005 | B2 |
7209031 | Nakai et al. | Apr 2007 | B2 |
7747070 | Puri | Jun 2010 | B2 |
7904867 | Burch et al. | Mar 2011 | B2 |
7974492 | Nishijima | Jul 2011 | B2 |
8165380 | Choi et al. | Apr 2012 | B2 |
8369633 | Lu et al. | Feb 2013 | B2 |
8406515 | Cheatle et al. | Mar 2013 | B2 |
8509478 | Haas et al. | Aug 2013 | B2 |
8588470 | Rodriguez et al. | Nov 2013 | B2 |
8744174 | Hamada et al. | Jun 2014 | B2 |
8773498 | Lindbergh | Jul 2014 | B2 |
8912476 | Fogg et al. | Dec 2014 | B2 |
8913830 | Sun et al. | Dec 2014 | B2 |
8928753 | Han et al. | Jan 2015 | B2 |
8972095 | Furuno et al. | Mar 2015 | B2 |
8976269 | Duong | Mar 2015 | B2 |
9008422 | Eid et al. | Apr 2015 | B2 |
9081385 | Ferguson et al. | Jul 2015 | B1 |
9275289 | Li et al. | Mar 2016 | B2 |
9586455 | Sugai et al. | Mar 2017 | B2 |
9672437 | McCarthy | Jun 2017 | B2 |
9710696 | Wang et al. | Jul 2017 | B2 |
9738223 | Zhang et al. | Aug 2017 | B2 |
9754154 | Craig et al. | Sep 2017 | B2 |
9767369 | Furman et al. | Sep 2017 | B2 |
9965865 | Agrawal et al. | May 2018 | B1 |
10133273 | Linke | Nov 2018 | B2 |
10140252 | Fowers et al. | Nov 2018 | B2 |
10140544 | Zhao et al. | Nov 2018 | B1 |
10146225 | Ryan | Dec 2018 | B2 |
10152655 | Krishnamurthy et al. | Dec 2018 | B2 |
10167800 | Chung et al. | Jan 2019 | B1 |
10169680 | Sachdeva et al. | Jan 2019 | B1 |
10192016 | Ng et al. | Jan 2019 | B2 |
10216189 | Haynes | Feb 2019 | B1 |
10228693 | Micks et al. | Mar 2019 | B2 |
10242293 | Shim et al. | Mar 2019 | B2 |
10248121 | VandenBerg, III | Apr 2019 | B2 |
10262218 | Lee et al. | Apr 2019 | B2 |
10282623 | Ziyaee et al. | May 2019 | B1 |
10296828 | Viswanathan | May 2019 | B2 |
10303961 | Stoffel et al. | May 2019 | B1 |
10310087 | Laddha et al. | Jun 2019 | B2 |
10311312 | Yu et al. | Jun 2019 | B2 |
10318848 | Dijkman et al. | Jun 2019 | B2 |
10325178 | Tang et al. | Jun 2019 | B1 |
10331974 | Zia et al. | Jun 2019 | B2 |
10338600 | Yoon et al. | Jul 2019 | B2 |
10343607 | Kumon et al. | Jul 2019 | B2 |
10359783 | Williams et al. | Jul 2019 | B2 |
10366290 | Wang et al. | Jul 2019 | B2 |
10372130 | Kaushansky et al. | Aug 2019 | B1 |
10373019 | Nariyambut Murali et al. | Aug 2019 | B2 |
10373026 | Kim et al. | Aug 2019 | B1 |
10380741 | Yedla et al. | Aug 2019 | B2 |
10394237 | Xu et al. | Aug 2019 | B2 |
10395144 | Zeng et al. | Aug 2019 | B2 |
10402646 | Klaus | Sep 2019 | B2 |
10402986 | Ray et al. | Sep 2019 | B2 |
10414395 | Sapp et al. | Sep 2019 | B1 |
10423934 | Zanghi et al. | Sep 2019 | B1 |
10436615 | Agarwal et al. | Oct 2019 | B2 |
10452905 | Segalovitz et al. | Oct 2019 | B2 |
10460053 | Olson et al. | Oct 2019 | B2 |
10467459 | Chen et al. | Nov 2019 | B2 |
10468008 | Beckman et al. | Nov 2019 | B2 |
10468062 | Levinson et al. | Nov 2019 | B1 |
10470510 | Koh et al. | Nov 2019 | B1 |
10474160 | Huang et al. | Nov 2019 | B2 |
10474161 | Huang et al. | Nov 2019 | B2 |
10474928 | Sivakumar et al. | Nov 2019 | B2 |
10489126 | Kumar et al. | Nov 2019 | B2 |
10489972 | Atsmon | Nov 2019 | B2 |
10503971 | Dang et al. | Dec 2019 | B1 |
10514711 | Bar-Nahum et al. | Dec 2019 | B2 |
10528824 | Zou | Jan 2020 | B2 |
10529078 | Abreu et al. | Jan 2020 | B2 |
10529088 | Fine et al. | Jan 2020 | B2 |
10534854 | Sharma et al. | Jan 2020 | B2 |
10535191 | Sachdeva et al. | Jan 2020 | B2 |
10542930 | Sanchez et al. | Jan 2020 | B1 |
10546197 | Shrestha et al. | Jan 2020 | B2 |
10546217 | Albright et al. | Jan 2020 | B2 |
10552682 | Jonsson et al. | Feb 2020 | B2 |
10559386 | Neuman | Feb 2020 | B1 |
10565475 | Lecue et al. | Feb 2020 | B2 |
10567674 | Kirsch | Feb 2020 | B2 |
10568570 | Sherpa et al. | Feb 2020 | B1 |
10572717 | Zhu et al. | Feb 2020 | B1 |
10574905 | Srikanth et al. | Feb 2020 | B2 |
10579058 | Oh et al. | Mar 2020 | B2 |
10579063 | Haynes et al. | Mar 2020 | B2 |
10579897 | Redmon et al. | Mar 2020 | B2 |
10586280 | McKenna et al. | Mar 2020 | B2 |
10591914 | Palanisamy et al. | Mar 2020 | B2 |
10592785 | Zhu et al. | Mar 2020 | B2 |
10599701 | Liu | Mar 2020 | B2 |
10599930 | Lee et al. | Mar 2020 | B2 |
10599958 | He et al. | Mar 2020 | B2 |
10606990 | Tuli et al. | Mar 2020 | B2 |
10609434 | Singhai et al. | Mar 2020 | B2 |
10614344 | Anthony et al. | Apr 2020 | B2 |
10621513 | Deshpande et al. | Apr 2020 | B2 |
10627818 | Sapp et al. | Apr 2020 | B2 |
10628432 | Guo et al. | Apr 2020 | B2 |
10628686 | Ogale et al. | Apr 2020 | B2 |
10628688 | Kim et al. | Apr 2020 | B1 |
10629080 | Kazemi et al. | Apr 2020 | B2 |
10636161 | Uchigaito | Apr 2020 | B2 |
10636169 | Estrada et al. | Apr 2020 | B2 |
10642275 | Silva et al. | May 2020 | B2 |
10645344 | Marman et al. | May 2020 | B2 |
10649464 | Gray | May 2020 | B2 |
10650071 | Asgekar et al. | May 2020 | B2 |
10652565 | Zhang et al. | May 2020 | B1 |
10656657 | Djuric et al. | May 2020 | B2 |
10657391 | Chen et al. | May 2020 | B2 |
10657418 | Marder et al. | May 2020 | B2 |
10657934 | Kolen et al. | May 2020 | B1 |
10661902 | Tavshikar | May 2020 | B1 |
10664750 | Greene | May 2020 | B2 |
10671082 | Huang et al. | Jun 2020 | B2 |
10671886 | Price et al. | Jun 2020 | B2 |
10678244 | Iandola et al. | Jun 2020 | B2 |
10678839 | Gordon et al. | Jun 2020 | B2 |
10678997 | Ahuja et al. | Jun 2020 | B2 |
10679129 | Baker | Jun 2020 | B2 |
10685159 | Su et al. | Jun 2020 | B2 |
10685188 | Zhang et al. | Jun 2020 | B1 |
10692000 | Surazhsky et al. | Jun 2020 | B2 |
10692242 | Morrison et al. | Jun 2020 | B1 |
10693740 | Coccia et al. | Jun 2020 | B2 |
10698868 | Guggilla et al. | Jun 2020 | B2 |
10699119 | Lo et al. | Jun 2020 | B2 |
10699140 | Kench et al. | Jun 2020 | B2 |
10699477 | Levinson et al. | Jun 2020 | B2 |
10713502 | Tiziani | Jul 2020 | B2 |
10719759 | Kutliroff | Jul 2020 | B2 |
10725475 | Yang et al. | Jul 2020 | B2 |
10726264 | Sawhney et al. | Jul 2020 | B2 |
10726279 | Kim et al. | Jul 2020 | B1 |
10726374 | Engineer et al. | Jul 2020 | B1 |
10732261 | Wang et al. | Aug 2020 | B1 |
10733262 | Miller et al. | Aug 2020 | B2 |
10733482 | Lee et al. | Aug 2020 | B1 |
10733638 | Jain et al. | Aug 2020 | B1 |
10733755 | Liao et al. | Aug 2020 | B2 |
10733876 | Moura et al. | Aug 2020 | B2 |
10740563 | Dugan | Aug 2020 | B2 |
10740914 | Xiao et al. | Aug 2020 | B2 |
10748062 | Rippel et al. | Aug 2020 | B2 |
10748247 | Paluri | Aug 2020 | B2 |
10751879 | Li et al. | Aug 2020 | B2 |
10755112 | Mabuchi | Aug 2020 | B2 |
10755575 | Johnston et al. | Aug 2020 | B2 |
10757330 | Ashrafi | Aug 2020 | B2 |
10762396 | Vallespi et al. | Sep 2020 | B2 |
10768628 | Martin et al. | Sep 2020 | B2 |
10768629 | Song et al. | Sep 2020 | B2 |
10769446 | Chang et al. | Sep 2020 | B2 |
10769483 | Nirenberg et al. | Sep 2020 | B2 |
10769493 | Yu et al. | Sep 2020 | B2 |
10769494 | Xiao et al. | Sep 2020 | B2 |
10769525 | Redding et al. | Sep 2020 | B2 |
10776626 | Lin et al. | Sep 2020 | B1 |
10776673 | Kim et al. | Sep 2020 | B2 |
10776939 | Ma et al. | Sep 2020 | B2 |
10779760 | Lee et al. | Sep 2020 | B2 |
10783381 | Yu et al. | Sep 2020 | B2 |
10783454 | Shoaib et al. | Sep 2020 | B2 |
10789402 | Vemuri et al. | Sep 2020 | B1 |
10789544 | Fiedel et al. | Sep 2020 | B2 |
10790919 | Kolen et al. | Sep 2020 | B1 |
10796221 | Zhang et al. | Oct 2020 | B2 |
10796355 | Price et al. | Oct 2020 | B1 |
10796423 | Goja | Oct 2020 | B2 |
10798368 | Briggs et al. | Oct 2020 | B2 |
10803325 | Bai et al. | Oct 2020 | B2 |
10803328 | Bai et al. | Oct 2020 | B1 |
10803743 | Abari et al. | Oct 2020 | B2 |
10805629 | Liu et al. | Oct 2020 | B2 |
10809730 | Chintakindi | Oct 2020 | B2 |
10810445 | Kangaspunta | Oct 2020 | B1 |
10816346 | Wheeler et al. | Oct 2020 | B2 |
10816992 | Chen | Oct 2020 | B2 |
10817731 | Vallespi et al. | Oct 2020 | B2 |
10817732 | Porter et al. | Oct 2020 | B2 |
10819923 | McCauley et al. | Oct 2020 | B1 |
10824122 | Mummadi et al. | Nov 2020 | B2 |
10824862 | Qi et al. | Nov 2020 | B2 |
10828790 | Nemallan | Nov 2020 | B2 |
10832057 | Chan et al. | Nov 2020 | B2 |
10832093 | Taralova et al. | Nov 2020 | B1 |
10832414 | Pfeiffer | Nov 2020 | B2 |
10832418 | Karasev et al. | Nov 2020 | B1 |
10833785 | O'Shea et al. | Nov 2020 | B1 |
10836379 | Xiao et al. | Nov 2020 | B2 |
10838936 | Cohen | Nov 2020 | B2 |
10839230 | Charette et al. | Nov 2020 | B2 |
10839578 | Coppersmith et al. | Nov 2020 | B2 |
10843628 | Kawamoto et al. | Nov 2020 | B2 |
10845820 | Wheeler | Nov 2020 | B2 |
10845943 | Ansari et al. | Nov 2020 | B1 |
10846831 | Raduta | Nov 2020 | B2 |
10846888 | Kaplanyan et al. | Nov 2020 | B2 |
10853670 | Sholingar et al. | Dec 2020 | B2 |
10853739 | Truong et al. | Dec 2020 | B2 |
10860919 | Kanazawa et al. | Dec 2020 | B2 |
10860924 | Burger | Dec 2020 | B2 |
10867444 | Russell et al. | Dec 2020 | B2 |
10871444 | Al et al. | Dec 2020 | B2 |
10871782 | Milstein et al. | Dec 2020 | B2 |
10872204 | Zhu et al. | Dec 2020 | B2 |
10872254 | Mangla et al. | Dec 2020 | B2 |
10872326 | Garner | Dec 2020 | B2 |
10872531 | Liu et al. | Dec 2020 | B2 |
10885083 | Moeller-Bertram et al. | Jan 2021 | B2 |
10887433 | Fu et al. | Jan 2021 | B2 |
10890898 | Akella et al. | Jan 2021 | B2 |
10891715 | Li | Jan 2021 | B2 |
10891735 | Yang et al. | Jan 2021 | B2 |
10893070 | Wang et al. | Jan 2021 | B2 |
10893107 | Callari et al. | Jan 2021 | B1 |
10896763 | Kempanna et al. | Jan 2021 | B2 |
10901416 | Khanna et al. | Jan 2021 | B2 |
10901431 | Ebrahimi Afrouzi | Jan 2021 | B1 |
10901508 | Laszlo et al. | Jan 2021 | B2 |
10902551 | Mellado et al. | Jan 2021 | B1 |
10908068 | Amer et al. | Feb 2021 | B2 |
10908606 | Stein et al. | Feb 2021 | B2 |
10909368 | Guo et al. | Feb 2021 | B2 |
10909453 | Myers et al. | Feb 2021 | B1 |
10915783 | Hallman et al. | Feb 2021 | B1 |
10917522 | Segalis et al. | Feb 2021 | B2 |
10921817 | Kangaspunta | Feb 2021 | B1 |
10922578 | Banerjee et al. | Feb 2021 | B2 |
10924661 | Vasconcelos et al. | Feb 2021 | B2 |
10928508 | Swaminathan | Feb 2021 | B2 |
10929757 | Baker et al. | Feb 2021 | B2 |
10930065 | Grant et al. | Feb 2021 | B2 |
10936908 | Ho et al. | Mar 2021 | B1 |
10937186 | Wang et al. | Mar 2021 | B2 |
10943101 | Agarwal et al. | Mar 2021 | B2 |
10943132 | Wang et al. | Mar 2021 | B2 |
10943355 | Fagg et al. | Mar 2021 | B2 |
20030035481 | Hahm | Feb 2003 | A1 |
20050162445 | Sheasby et al. | Jul 2005 | A1 |
20060072847 | Chor et al. | Apr 2006 | A1 |
20060224533 | Thaler | Oct 2006 | A1 |
20060280364 | Ma et al. | Dec 2006 | A1 |
20090016571 | Tijerina et al. | Jan 2009 | A1 |
20100118157 | Kameyama | May 2010 | A1 |
20120109915 | Krupnik et al. | May 2012 | A1 |
20120110491 | Cheung | May 2012 | A1 |
20120134595 | Fonseca et al. | May 2012 | A1 |
20130080359 | Will | Mar 2013 | A1 |
20150104102 | Carreira et al. | Apr 2015 | A1 |
20160132786 | Balan et al. | May 2016 | A1 |
20160328856 | Mannino et al. | Nov 2016 | A1 |
20170011281 | Dihkman et al. | Jan 2017 | A1 |
20170147959 | Sweeney | May 2017 | A1 |
20170158134 | Shigemura | Jun 2017 | A1 |
20170206434 | Nariyambut et al. | Jul 2017 | A1 |
20170329346 | Latotzki | Nov 2017 | A1 |
20180012411 | Richey et al. | Jan 2018 | A1 |
20180018590 | Szeto et al. | Jan 2018 | A1 |
20180039853 | Liu et al. | Feb 2018 | A1 |
20180067489 | Oder et al. | Mar 2018 | A1 |
20180068459 | Zhang et al. | Mar 2018 | A1 |
20180068540 | Romanenko et al. | Mar 2018 | A1 |
20180074506 | Branson | Mar 2018 | A1 |
20180121762 | Han et al. | May 2018 | A1 |
20180150081 | Gross et al. | May 2018 | A1 |
20180188040 | Chen | Jul 2018 | A1 |
20180202822 | DeLizio | Jul 2018 | A1 |
20180211403 | Hotson et al. | Jul 2018 | A1 |
20180308012 | Mummadi et al. | Oct 2018 | A1 |
20180314878 | Lee et al. | Nov 2018 | A1 |
20180357511 | Misra et al. | Dec 2018 | A1 |
20180374105 | Azout et al. | Dec 2018 | A1 |
20190004524 | Wang | Jan 2019 | A1 |
20190023277 | Roger et al. | Jan 2019 | A1 |
20190025773 | Yang et al. | Jan 2019 | A1 |
20190042857 | Endo | Feb 2019 | A1 |
20190042894 | Anderson | Feb 2019 | A1 |
20190042919 | Peysakhovich et al. | Feb 2019 | A1 |
20190042944 | Nair et al. | Feb 2019 | A1 |
20190042948 | Lee et al. | Feb 2019 | A1 |
20190057314 | Julian et al. | Feb 2019 | A1 |
20190065637 | Bogdoll et al. | Feb 2019 | A1 |
20190072978 | Levi | Mar 2019 | A1 |
20190079526 | Vallespi et al. | Mar 2019 | A1 |
20190080602 | Rice et al. | Mar 2019 | A1 |
20190095780 | Zhong et al. | Mar 2019 | A1 |
20190095946 | Azout et al. | Mar 2019 | A1 |
20190101914 | Coleman et al. | Apr 2019 | A1 |
20190108417 | Talagala et al. | Apr 2019 | A1 |
20190122111 | Min et al. | Apr 2019 | A1 |
20190130255 | Yim et al. | May 2019 | A1 |
20190145765 | Luo et al. | May 2019 | A1 |
20190146497 | Urtasun et al. | May 2019 | A1 |
20190147112 | Gordon | May 2019 | A1 |
20190147250 | Zhang et al. | May 2019 | A1 |
20190147254 | Bai et al. | May 2019 | A1 |
20190147255 | Homayounfar et al. | May 2019 | A1 |
20190147335 | Wang et al. | May 2019 | A1 |
20190147372 | Luo et al. | May 2019 | A1 |
20190158784 | Ahn et al. | May 2019 | A1 |
20190180154 | Orlov et al. | Jun 2019 | A1 |
20190184981 | Jung | Jun 2019 | A1 |
20190185010 | Ganguli et al. | Jun 2019 | A1 |
20190189251 | Horiuchi et al. | Jun 2019 | A1 |
20190197357 | Anderson et al. | Jun 2019 | A1 |
20190204842 | Jafari et al. | Jul 2019 | A1 |
20190205402 | Sernau et al. | Jul 2019 | A1 |
20190205667 | Avidan et al. | Jul 2019 | A1 |
20190217791 | Bradley et al. | Jul 2019 | A1 |
20190227562 | Mohammadiha et al. | Jul 2019 | A1 |
20190228037 | Nicol et al. | Jul 2019 | A1 |
20190230282 | Sypitkowski et al. | Jul 2019 | A1 |
20190235499 | Kazemi et al. | Aug 2019 | A1 |
20190236437 | Shin et al. | Aug 2019 | A1 |
20190243371 | Nister et al. | Aug 2019 | A1 |
20190244138 | Bhowmick et al. | Aug 2019 | A1 |
20190250622 | Nister et al. | Aug 2019 | A1 |
20190250626 | Ghafarianzadeh et al. | Aug 2019 | A1 |
20190250640 | O'Flaherty et al. | Aug 2019 | A1 |
20190258878 | Koivisto et al. | Aug 2019 | A1 |
20190266418 | Xu et al. | Aug 2019 | A1 |
20190266610 | Ghatage et al. | Aug 2019 | A1 |
20190272446 | Kangaspunta et al. | Sep 2019 | A1 |
20190276041 | Choi et al. | Sep 2019 | A1 |
20190279004 | Kwon et al. | Sep 2019 | A1 |
20190286652 | Habbecke et al. | Sep 2019 | A1 |
20190286972 | El Husseini et al. | Sep 2019 | A1 |
20190287028 | St Amant et al. | Sep 2019 | A1 |
20190289281 | Badrinarayanan et al. | Sep 2019 | A1 |
20190294177 | Kwon et al. | Sep 2019 | A1 |
20190294975 | Sachs | Sep 2019 | A1 |
20190299978 | Balakrishnan | Oct 2019 | A1 |
20190311290 | Huang et al. | Oct 2019 | A1 |
20190318099 | Carvalho et al. | Oct 2019 | A1 |
20190325088 | Dubey et al. | Oct 2019 | A1 |
20190325266 | Klepper et al. | Oct 2019 | A1 |
20190325269 | Bagherinezhad et al. | Oct 2019 | A1 |
20190325580 | Lukac et al. | Oct 2019 | A1 |
20190325595 | Stein et al. | Oct 2019 | A1 |
20190329790 | Nandakumar et al. | Oct 2019 | A1 |
20190332875 | Vallespi-Gonzalez et al. | Oct 2019 | A1 |
20190333232 | Vallespi-Gonzalez et al. | Oct 2019 | A1 |
20190336063 | Dascalu | Nov 2019 | A1 |
20190339989 | Liang et al. | Nov 2019 | A1 |
20190340462 | Pao et al. | Nov 2019 | A1 |
20190340492 | Burger et al. | Nov 2019 | A1 |
20190340499 | Burger et al. | Nov 2019 | A1 |
20190347501 | Kim et al. | Nov 2019 | A1 |
20190349571 | Herman et al. | Nov 2019 | A1 |
20190354782 | Kee et al. | Nov 2019 | A1 |
20190354786 | Lee et al. | Nov 2019 | A1 |
20190354808 | Park et al. | Nov 2019 | A1 |
20190354817 | Shlens et al. | Nov 2019 | A1 |
20190354850 | Watson et al. | Nov 2019 | A1 |
20190370398 | He et al. | Dec 2019 | A1 |
20190370575 | Nandakumar et al. | Dec 2019 | A1 |
20190370935 | Chang et al. | Dec 2019 | A1 |
20190373322 | Rojas-Echenique et al. | Dec 2019 | A1 |
20190377345 | Bachrach et al. | Dec 2019 | A1 |
20190377965 | Totolos et al. | Dec 2019 | A1 |
20190378049 | Widmann et al. | Dec 2019 | A1 |
20190378051 | Widmann et al. | Dec 2019 | A1 |
20190382007 | Casas et al. | Dec 2019 | A1 |
20190384303 | Muller et al. | Dec 2019 | A1 |
20190384304 | Towal et al. | Dec 2019 | A1 |
20190384309 | Silva et al. | Dec 2019 | A1 |
20190384994 | Frossard et al. | Dec 2019 | A1 |
20190385048 | Cassidy et al. | Dec 2019 | A1 |
20190385360 | Yang et al. | Dec 2019 | A1 |
20200004259 | Gulino et al. | Jan 2020 | A1 |
20200004351 | Marchant et al. | Jan 2020 | A1 |
20200012936 | Lee et al. | Jan 2020 | A1 |
20200017117 | Milton | Jan 2020 | A1 |
20200019179 | Schuller | Jan 2020 | A1 |
20200025931 | Liang et al. | Jan 2020 | A1 |
20200026282 | Choe et al. | Jan 2020 | A1 |
20200026283 | Barnes et al. | Jan 2020 | A1 |
20200026992 | Zhang et al. | Jan 2020 | A1 |
20200027210 | Haemel et al. | Jan 2020 | A1 |
20200033858 | Xiao | Jan 2020 | A1 |
20200033865 | Mellinger et al. | Jan 2020 | A1 |
20200034665 | Ghanta et al. | Jan 2020 | A1 |
20200034710 | Sidhu et al. | Jan 2020 | A1 |
20200036948 | Song | Jan 2020 | A1 |
20200039520 | Misu et al. | Feb 2020 | A1 |
20200051550 | Baker | Feb 2020 | A1 |
20200060757 | Ben-Haim et al. | Feb 2020 | A1 |
20200065711 | Clément et al. | Feb 2020 | A1 |
20200065879 | Hu et al. | Feb 2020 | A1 |
20200069973 | Lou et al. | Mar 2020 | A1 |
20200073385 | Jobanputra et al. | Mar 2020 | A1 |
20200074230 | Englard et al. | Mar 2020 | A1 |
20200086880 | Poeppel et al. | Mar 2020 | A1 |
20200089243 | Poeppel et al. | Mar 2020 | A1 |
20200089969 | Lakshmi et al. | Mar 2020 | A1 |
20200090056 | Singhal et al. | Mar 2020 | A1 |
20200097841 | Petousis et al. | Mar 2020 | A1 |
20200098095 | Borcs et al. | Mar 2020 | A1 |
20200103894 | Cella et al. | Apr 2020 | A1 |
20200104705 | Bhowmick et al. | Apr 2020 | A1 |
20200110416 | Hong et al. | Apr 2020 | A1 |
20200117180 | Cella et al. | Apr 2020 | A1 |
20200117889 | Laput et al. | Apr 2020 | A1 |
20200117916 | Liu | Apr 2020 | A1 |
20200117917 | Yoo | Apr 2020 | A1 |
20200118035 | Asawa et al. | Apr 2020 | A1 |
20200125844 | She et al. | Apr 2020 | A1 |
20200125845 | Hess et al. | Apr 2020 | A1 |
20200126129 | Lkhamsuren et al. | Apr 2020 | A1 |
20200134427 | Oh et al. | Apr 2020 | A1 |
20200134461 | Chai et al. | Apr 2020 | A1 |
20200134466 | Weintraub et al. | Apr 2020 | A1 |
20200134848 | El-Khamy et al. | Apr 2020 | A1 |
20200143231 | Fusi et al. | May 2020 | A1 |
20200143279 | West et al. | May 2020 | A1 |
20200148201 | King et al. | May 2020 | A1 |
20200149898 | Felip et al. | May 2020 | A1 |
20200151201 | Chandrasekhar et al. | May 2020 | A1 |
20200151619 | Mopur et al. | May 2020 | A1 |
20200151692 | Gao et al. | May 2020 | A1 |
20200158822 | Owens et al. | May 2020 | A1 |
20200158869 | Amirloo et al. | May 2020 | A1 |
20200159225 | Zeng et al. | May 2020 | A1 |
20200160064 | Wang et al. | May 2020 | A1 |
20200160104 | Urtasun et al. | May 2020 | A1 |
20200160117 | Urtasun et al. | May 2020 | A1 |
20200160178 | Kar et al. | May 2020 | A1 |
20200160532 | Urtasun et al. | May 2020 | A1 |
20200160558 | Urtasun et al. | May 2020 | A1 |
20200160559 | Urtasun et al. | May 2020 | A1 |
20200160598 | Manivasagam et al. | May 2020 | A1 |
20200162489 | Bar-Nahum et al. | May 2020 | A1 |
20200167438 | Herring | May 2020 | A1 |
20200167554 | Wang et al. | May 2020 | A1 |
20200174481 | Van Heukelom et al. | Jun 2020 | A1 |
20200175326 | Shen et al. | Jun 2020 | A1 |
20200175354 | Volodarskiy et al. | Jun 2020 | A1 |
20200175371 | Kursun | Jun 2020 | A1 |
20200175401 | Shen | Jun 2020 | A1 |
20200183482 | Sebot et al. | Jun 2020 | A1 |
20200184250 | Oko | Jun 2020 | A1 |
20200184333 | Oh | Jun 2020 | A1 |
20200192389 | ReMine et al. | Jun 2020 | A1 |
20200193313 | Ghanta et al. | Jun 2020 | A1 |
20200193328 | Guestrin et al. | Jun 2020 | A1 |
20200202136 | Shrestha et al. | Jun 2020 | A1 |
20200202196 | Guo et al. | Jun 2020 | A1 |
20200209857 | Djuric et al. | Jul 2020 | A1 |
20200209867 | Valois et al. | Jul 2020 | A1 |
20200209874 | Chen et al. | Jul 2020 | A1 |
20200210717 | Hou et al. | Jul 2020 | A1 |
20200210769 | Hou et al. | Jul 2020 | A1 |
20200210777 | Valois et al. | Jul 2020 | A1 |
20200216064 | du Toit et al. | Jul 2020 | A1 |
20200218722 | Mai et al. | Jul 2020 | A1 |
20200218979 | Kwon et al. | Jul 2020 | A1 |
20200223434 | Campos et al. | Jul 2020 | A1 |
20200225758 | Tang et al. | Jul 2020 | A1 |
20200226377 | Campos et al. | Jul 2020 | A1 |
20200226430 | Ahuja et al. | Jul 2020 | A1 |
20200238998 | Dasalukunte et al. | Jul 2020 | A1 |
20200242381 | Chao et al. | Jul 2020 | A1 |
20200242408 | Kim et al. | Jul 2020 | A1 |
20200242511 | Kale et al. | Jul 2020 | A1 |
20200245869 | Sivan et al. | Aug 2020 | A1 |
20200249685 | Elluswamy et al. | Aug 2020 | A1 |
20200250456 | Wang et al. | Aug 2020 | A1 |
20200250515 | Rifkin et al. | Aug 2020 | A1 |
20200250874 | Assouline et al. | Aug 2020 | A1 |
20200257301 | Weiser et al. | Aug 2020 | A1 |
20200257306 | Nisenzon | Aug 2020 | A1 |
20200258057 | Farahat et al. | Aug 2020 | A1 |
20200265247 | Musk et al. | Aug 2020 | A1 |
20200272160 | Djuric et al. | Aug 2020 | A1 |
20200272162 | Hasselgren et al. | Aug 2020 | A1 |
20200272859 | Iashyn et al. | Aug 2020 | A1 |
20200273231 | Schied et al. | Aug 2020 | A1 |
20200279354 | Klaiman | Sep 2020 | A1 |
20200279364 | Sarkisian et al. | Sep 2020 | A1 |
20200279371 | Wenzel et al. | Sep 2020 | A1 |
20200285464 | Brebner | Sep 2020 | A1 |
20200286256 | Houts et al. | Sep 2020 | A1 |
20200293786 | Jia et al. | Sep 2020 | A1 |
20200293796 | Sajjadi et al. | Sep 2020 | A1 |
20200293828 | Wang et al. | Sep 2020 | A1 |
20200293905 | Huang et al. | Sep 2020 | A1 |
20200294162 | Shah | Sep 2020 | A1 |
20200294257 | Yoo et al. | Sep 2020 | A1 |
20200294310 | Lee et al. | Sep 2020 | A1 |
20200297237 | Tamersoy et al. | Sep 2020 | A1 |
20200298891 | Liang et al. | Sep 2020 | A1 |
20200301799 | Manlvasagam et al. | Sep 2020 | A1 |
20200302276 | Yang et al. | Sep 2020 | A1 |
20200302291 | Hong | Sep 2020 | A1 |
20200302627 | Duggal et al. | Sep 2020 | A1 |
20200302662 | Homayounfar et al. | Sep 2020 | A1 |
20200304441 | Bradley et al. | Sep 2020 | A1 |
20200306640 | Kolen et al. | Oct 2020 | A1 |
20200307562 | Ghafarianzadeh et al. | Oct 2020 | A1 |
20200307563 | Ghafarianzadeh et al. | Oct 2020 | A1 |
20200309536 | Omari et al. | Oct 2020 | A1 |
20200309923 | Bhaskaran et al. | Oct 2020 | A1 |
20200310442 | Halder et al. | Oct 2020 | A1 |
20200311601 | Robinson et al. | Oct 2020 | A1 |
20200312003 | Borovikov et al. | Oct 2020 | A1 |
20200315708 | Mosnier et al. | Oct 2020 | A1 |
20200320132 | Neumann | Oct 2020 | A1 |
20200324073 | Rajan et al. | Oct 2020 | A1 |
20200327192 | Hackman et al. | Oct 2020 | A1 |
20200327443 | Van et al. | Oct 2020 | A1 |
20200327449 | Tiwari et al. | Oct 2020 | A1 |
20200327662 | Liu et al. | Oct 2020 | A1 |
20200327667 | Arbel et al. | Oct 2020 | A1 |
20200331476 | Chen et al. | Oct 2020 | A1 |
20200334416 | Vianu et al. | Oct 2020 | A1 |
20200334495 | Al et al. | Oct 2020 | A1 |
20200334501 | Lin et al. | Oct 2020 | A1 |
20200334551 | Javidi et al. | Oct 2020 | A1 |
20200334574 | Ishida | Oct 2020 | A1 |
20200337648 | Saripalli et al. | Oct 2020 | A1 |
20200341466 | Pham et al. | Oct 2020 | A1 |
20200342350 | Madar et al. | Oct 2020 | A1 |
20200342548 | Mazed et al. | Oct 2020 | A1 |
20200342652 | Rowell et al. | Oct 2020 | A1 |
20200348909 | Das Sarma et al. | Nov 2020 | A1 |
20200350063 | Thornton et al. | Nov 2020 | A1 |
20200351438 | Dewhurst et al. | Nov 2020 | A1 |
20200356107 | Wells | Nov 2020 | A1 |
20200356790 | Jaipuria et al. | Nov 2020 | A1 |
20200356864 | Neumann | Nov 2020 | A1 |
20200356905 | Luk et al. | Nov 2020 | A1 |
20200361083 | Mousavian et al. | Nov 2020 | A1 |
20200361485 | Zhu et al. | Nov 2020 | A1 |
20200364481 | Kornienko et al. | Nov 2020 | A1 |
20200364508 | Gurel et al. | Nov 2020 | A1 |
20200364540 | Elsayed et al. | Nov 2020 | A1 |
20200364746 | Longano et al. | Nov 2020 | A1 |
20200364953 | Simoudis | Nov 2020 | A1 |
20200372362 | Kim | Nov 2020 | A1 |
20200372402 | Kursun et al. | Nov 2020 | A1 |
20200380362 | Cao et al. | Dec 2020 | A1 |
20200380383 | Kwong et al. | Dec 2020 | A1 |
20200393841 | Frisbie et al. | Dec 2020 | A1 |
20200394421 | Yu et al. | Dec 2020 | A1 |
20200394457 | Brady | Dec 2020 | A1 |
20200394495 | Moudgill et al. | Dec 2020 | A1 |
20200394813 | Theverapperuma et al. | Dec 2020 | A1 |
20200396394 | Zlokolica et al. | Dec 2020 | A1 |
20200398855 | Thompson | Dec 2020 | A1 |
20200401850 | Bazarsky et al. | Dec 2020 | A1 |
20200401886 | Deng et al. | Dec 2020 | A1 |
20200402155 | Kurian et al. | Dec 2020 | A1 |
20200402226 | Peng | Dec 2020 | A1 |
20200410012 | Moon et al. | Dec 2020 | A1 |
20200410224 | Goel | Dec 2020 | A1 |
20200410254 | Pham et al. | Dec 2020 | A1 |
20200410288 | Capota et al. | Dec 2020 | A1 |
20200410751 | Omari et al. | Dec 2020 | A1 |
20210004014 | Sivakumar | Jan 2021 | A1 |
20210004580 | Sundararaman et al. | Jan 2021 | A1 |
20210004611 | Garimella et al. | Jan 2021 | A1 |
20210004663 | Park et al. | Jan 2021 | A1 |
20210006835 | Slattery et al. | Jan 2021 | A1 |
20210011908 | Hayes et al. | Jan 2021 | A1 |
20210012116 | Urtasun et al. | Jan 2021 | A1 |
20210012210 | Sikka et al. | Jan 2021 | A1 |
20210012230 | Hayes et al. | Jan 2021 | A1 |
20210012239 | Arzani et al. | Jan 2021 | A1 |
20210015240 | Elfakhri et al. | Jan 2021 | A1 |
20210019215 | Neeter | Jan 2021 | A1 |
20210026360 | Luo | Jan 2021 | A1 |
20210027112 | Brewington et al. | Jan 2021 | A1 |
20210027117 | McGavran et al. | Jan 2021 | A1 |
20210030276 | Li et al. | Feb 2021 | A1 |
20210034921 | Pinkovich et al. | Feb 2021 | A1 |
20210042575 | Firner | Feb 2021 | A1 |
20210042928 | Takeda et al. | Feb 2021 | A1 |
20210046954 | Haynes | Feb 2021 | A1 |
20210049378 | Gautam et al. | Feb 2021 | A1 |
20210049455 | Kursun | Feb 2021 | A1 |
20210049456 | Kursun | Feb 2021 | A1 |
20210049548 | Grisz et al. | Feb 2021 | A1 |
20210049700 | Nguyen et al. | Feb 2021 | A1 |
20210056114 | Price et al. | Feb 2021 | A1 |
20210056306 | Hu et al. | Feb 2021 | A1 |
20210056317 | Golov | Feb 2021 | A1 |
20210056420 | Konishi et al. | Feb 2021 | A1 |
20210056701 | Vranceanu et al. | Feb 2021 | A1 |
Number | Date | Country |
---|---|---|
2019261735 | Jun 2020 | AU |
2019201716 | Oct 2020 | AU |
110599537 | Dec 2010 | CN |
102737236 | Oct 2012 | CN |
103366339 | Oct 2013 | CN |
104835114 | Aug 2015 | CN |
103236037 | May 2016 | CN |
103500322 | Aug 2016 | CN |
106419893 | Feb 2017 | CN |
106504253 | Mar 2017 | CN |
107031600 | Aug 2017 | CN |
107169421 | Sep 2017 | CN |
107507134 | Dec 2017 | CN |
107885214 | Apr 2018 | CN |
108122234 | Jun 2018 | CN |
107133943 | Jul 2018 | CN |
107368926 | Jul 2018 | CN |
105318888 | Aug 2018 | CN |
108491889 | Sep 2018 | CN |
108647591 | Oct 2018 | CN |
108710865 | Oct 2018 | CN |
105550701 | Nov 2018 | CN |
108764185 | Nov 2018 | CN |
108845574 | Nov 2018 | CN |
108898177 | Nov 2018 | CN |
109086867 | Dec 2018 | CN |
107103113 | Jan 2019 | CN |
109215067 | Jan 2019 | CN |
109359731 | Feb 2019 | CN |
109389207 | Feb 2019 | CN |
109389552 | Feb 2019 | CN |
106779060 | Mar 2019 | CN |
109579856 | Apr 2019 | CN |
109615073 | Apr 2019 | CN |
106156754 | May 2019 | CN |
106598226 | May 2019 | CN |
106650922 | May 2019 | CN |
109791626 | May 2019 | CN |
109901595 | Jun 2019 | CN |
109902732 | Jun 2019 | CN |
109934163 | Jun 2019 | CN |
109948428 | Jun 2019 | CN |
109949257 | Jun 2019 | CN |
109951710 | Jun 2019 | CN |
109975308 | Jul 2019 | CN |
109978132 | Jul 2019 | CN |
109978161 | Jul 2019 | CN |
110060202 | Jul 2019 | CN |
110069071 | Jul 2019 | CN |
110084086 | Aug 2019 | CN |
110096937 | Aug 2019 | CN |
110111340 | Aug 2019 | CN |
110135485 | Aug 2019 | CN |
110197270 | Sep 2019 | CN |
110310264 | Oct 2019 | CN |
110321965 | Oct 2019 | CN |
110334801 | Oct 2019 | CN |
110399875 | Nov 2019 | CN |
110414362 | Nov 2019 | CN |
110426051 | Nov 2019 | CN |
110473173 | Nov 2019 | CN |
110516665 | Nov 2019 | CN |
110543837 | Dec 2019 | CN |
110569899 | Dec 2019 | CN |
110599864 | Dec 2019 | CN |
110619282 | Dec 2019 | CN |
110619283 | Dec 2019 | CN |
110619330 | Dec 2019 | CN |
110659628 | Jan 2020 | CN |
110688992 | Jan 2020 | CN |
107742311 | Feb 2020 | CN |
110751280 | Feb 2020 | CN |
110826566 | Feb 2020 | CN |
107451659 | Apr 2020 | CN |
108111873 | Apr 2020 | CN |
110956185 | Apr 2020 | CN |
110966991 | Apr 2020 | CN |
111027549 | Apr 2020 | CN |
111027575 | Apr 2020 | CN |
111047225 | Apr 2020 | CN |
111126453 | May 2020 | CN |
111158355 | May 2020 | CN |
107729998 | Jun 2020 | CN |
108549934 | Jun 2020 | CN |
111275129 | Jun 2020 | CN |
111275618 | Jun 2020 | CN |
111326023 | Jun 2020 | CN |
111428943 | Jul 2020 | CN |
111444821 | Jul 2020 | CN |
111445420 | Jul 2020 | CN |
111461052 | Jul 2020 | CN |
111461053 | Jul 2020 | CN |
111461110 | Jul 2020 | CN |
110225341 | Aug 2020 | CN |
111307162 | Aug 2020 | CN |
111488770 | Aug 2020 | CN |
111539514 | Aug 2020 | CN |
111565318 | Aug 2020 | CN |
111582216 | Aug 2020 | CN |
111598095 | Aug 2020 | CN |
108229526 | Sep 2020 | CN |
111693972 | Sep 2020 | CN |
106558058 | Oct 2020 | CN |
107169560 | Oct 2020 | CN |
107622258 | Oct 2020 | CN |
111767801 | Oct 2020 | CN |
111768002 | Oct 2020 | CN |
111783545 | Oct 2020 | CN |
111783971 | Oct 2020 | CN |
111797657 | Oct 2020 | CN |
111814623 | Oct 2020 | CN |
111814902 | Oct 2020 | CN |
111860499 | Oct 2020 | CN |
111881856 | Nov 2020 | CN |
111882579 | Nov 2020 | CN |
111897639 | Nov 2020 | CN |
111898507 | Nov 2020 | CN |
111898523 | Nov 2020 | CN |
111899227 | Nov 2020 | CN |
112101175 | Dec 2020 | CN |
112101562 | Dec 2020 | CN |
112115953 | Dec 2020 | CN |
111062973 | Jan 2021 | CN |
111275080 | Jan 2021 | CN |
112183739 | Jan 2021 | CN |
112232497 | Jan 2021 | CN |
112288658 | Jan 2021 | CN |
112308095 | Feb 2021 | CN |
112308799 | Feb 2021 | CN |
112313663 | Feb 2021 | CN |
112329552 | Feb 2021 | CN |
112348783 | Feb 2021 | CN |
111899245 | Mar 2021 | CN |
202017102235 | May 2017 | DE |
202017102238 | May 2017 | DE |
102016219698 | Apr 2018 | DE |
102017116017 | Jan 2019 | DE |
102018130821 | Jun 2020 | DE |
102019008316 | Aug 2020 | DE |
1215626 | Sep 2008 | EP |
2228666 | Sep 2012 | EP |
2420408 | May 2013 | EP |
2723069 | Apr 2014 | EP |
2741253 | Jun 2014 | EP |
3115772 | Jan 2017 | EP |
2618559 | Aug 2017 | EP |
3285485 | Feb 2018 | EP |
2863633 | Feb 2019 | EP |
3113080 | May 2019 | EP |
3525132 | Aug 2019 | EP |
3531689 | Aug 2019 | EP |
3537340 | Sep 2019 | EP |
3543917 | Sep 2019 | EP |
3608840 | Feb 2020 | EP |
3657387 | May 2020 | EP |
2396750 | Jun 2020 | EP |
3664020 | Jun 2020 | EP |
3690712 | Aug 2020 | EP |
3690742 | Aug 2020 | EP |
3722992 | Oct 2020 | EP |
3690730 | Nov 2020 | EP |
3739486 | Nov 2020 | EP |
3501897 | Dec 2020 | EP |
3751455 | Dec 2020 | EP |
3783527 | Feb 2021 | EP |
2402572 | Aug 2005 | GB |
2548087 | Sep 2017 | GB |
2577485 | Apr 2020 | GB |
2517270 | Jun 2020 | GB |
2578262 | Aug 1998 | JP |
3941252 | Jul 2007 | JP |
4282583 | Jun 2009 | JP |
4300098 | Jul 2009 | JP |
2015004922 | Jan 2015 | JP |
5863536 | Feb 2016 | JP |
6044134 | Dec 2016 | JP |
6525707 | Jun 2019 | JP |
2019101535 | Jun 2019 | JP |
2020101927 | Jul 2020 | JP |
2020173744 | Oct 2020 | JP |
100326702 | Feb 2002 | KR |
101082878 | Nov 2011 | KR |
101738422 | May 2017 | KR |
101969864 | Apr 2019 | KR |
101996167 | Jul 2019 | KR |
102022388 | Aug 2019 | KR |
102043143 | Nov 2019 | KR |
102095335 | Mar 2020 | KR |
102097120 | Apr 2020 | KR |
1020200085490 | Jul 2020 | KR |
102189262 | Dec 2020 | KR |
1020200142266 | Dec 2020 | KR |
200630819 | Sep 2006 | TW |
I294089 | Mar 2008 | TW |
I306207 | Feb 2009 | TW |
WO 02052835 | Jul 2002 | WO |
WO 16032398 | Mar 2016 | WO |
WO 16048108 | Mar 2016 | WO |
WO 16207875 | Dec 2016 | WO |
WO 17158622 | Sep 2017 | WO |
WO 19005547 | Jan 2019 | WO |
WO 19067695 | Apr 2019 | WO |
WO 19089339 | May 2019 | WO |
WO 19092456 | May 2019 | WO |
WO 19099622 | May 2019 | WO |
WO 19122952 | Jun 2019 | WO |
WO 19125191 | Jun 2019 | WO |
WO 19126755 | Jun 2019 | WO |
WO 19144575 | Aug 2019 | WO |
WO 19182782 | Sep 2019 | WO |
WO 19191578 | Oct 2019 | WO |
WO 19216938 | Nov 2019 | WO |
WO 19220436 | Nov 2019 | WO |
WO 20006154 | Jan 2020 | WO |
WO 20012756 | Jan 2020 | WO |
WO 20025696 | Feb 2020 | WO |
WO 20034663 | Feb 2020 | WO |
WO 20056157 | Mar 2020 | WO |
WO 20076356 | Apr 2020 | WO |
WO 20097221 | May 2020 | WO |
WO 20101246 | May 2020 | WO |
WO 20120050 | Jun 2020 | WO |
WO 20121973 | Jun 2020 | WO |
WO 20131140 | Jun 2020 | WO |
WO 20139181 | Jul 2020 | WO |
WO 20139355 | Jul 2020 | WO |
WO 20139357 | Jul 2020 | WO |
WO 20142193 | Jul 2020 | WO |
WO 20146445 | Jul 2020 | WO |
WO 20151329 | Jul 2020 | WO |
WO 20157761 | Aug 2020 | WO |
WO 20163455 | Aug 2020 | WO |
WO 20167667 | Aug 2020 | WO |
WO 20174262 | Sep 2020 | WO |
WO 20177583 | Sep 2020 | WO |
WO 20185233 | Sep 2020 | WO |
WO 20185234 | Sep 2020 | WO |
WO 20195658 | Oct 2020 | WO |
WO 20198189 | Oct 2020 | WO |
WO 20198779 | Oct 2020 | WO |
WO 20205597 | Oct 2020 | WO |
WO 20221200 | Nov 2020 | WO |
WO 20240284 | Dec 2020 | WO |
WO 20260020 | Dec 2020 | WO |
WO 20264010 | Dec 2020 | WO |
Entry |
---|
International Search Report and Written Opinion dated Aug. 4, 2020 in PCT/US2020/17316. |
Number | Date | Country | |
---|---|---|---|
20200257317 A1 | Aug 2020 | US |