PERCEPTION ASSISTANCE

Aspects of the disclosed technology provide systems and methods that allow adjustment of a perception of an object by an autonomous vehicle (AV). The system includes a remote assistance platform (RAP) communicatively coupled to the AV. The RAP has a user interface that enables a human Remote Advisor to view an environment around the AV through a sensor system of the AV and issue instructions to the AV. The RAP is configured to allow the Remote Advisor to select an adjustment of the perception of the object by the AV and instruct the AV to implement the selected adjustment and then navigate autonomously.

BACKGROUND

1. Technical Field

The present disclosure generally relates to sensing and avoidance of objects by an autonomous vehicle (AV).

Autonomous vehicles (AVs) are vehicles having computers and control systems that perform driving and navigation tasks that are conventionally performed by a human driver. As AV technologies continue to advance, they will be increasingly used to improve transportation efficiency and safety. As such, AVs will need to perform many of the functions conventionally performed by human drivers, such as detection of objects proximate to the AV in order to provide safe and efficient transportation. In certain cases, an AV may encounter a situation where its internal guidance software is unable to determine a safe path forward given the sensed objects in its environment. When this occurs, a human Remote Advisor reviews the situation and takes actions as appropriate to safely guide the AV out of the situation.

DETAILED DESCRIPTION

The detailed description set forth herein is intended as a description of various example configurations of the subject technology and is not intended to represent the only configurations in which the subject technology can be practiced. The appended drawings are incorporated herein and constitute a part of the detailed description. The detailed description includes specific details for the purpose of providing a more thorough understanding of the subject technology. It will be clear and apparent that the subject technology is not limited to the specific details set forth herein and may be practiced without these details. In some instances, structures and components are shown in block diagram form in order to avoid obscuring the concepts of the subject technology.

AV navigation systems require information about the surrounding environment in order to avoid objects/entities as well as navigate through the environment. The AV perceives objects around itself through multiple types of sensors, e.g., imaging cameras, Radio Detection and Ranging (RADAR), and Light Detection and Ranging (LiDAR) sensors. When an object is detected, it is classified and a “footprint” is defined based on the sensor signals. In certain embodiments, the footprint comprises a best-estimate three-dimensional (3D) model of the actual object shape and size; e.g., the surface as detected by a LiDAR reflection, plus a buffer zone around the best-estimate surface. In certain embodiments, the buffer has a minimum “thickness” that is associated with the uncertainty of the sensor. In certain embodiments, the buffer smooths the boundary of the footprint, e.g., removing recesses and features, so as to simplify the processing of the footprint. In certain embodiments, the separation of the 3D footprint surface and the actual object is not uniform in all directions based on one or more of the expected interaction of the AV with the object, the characteristics of the object, and the classification of the object. In certain embodiments, a template or standard footprint for the classification is selected from a library based on the object's classification. Further, the AV has its own footprint defined relative to the sensors and the AV navigation system chooses a path that avoids an overlap of the AV footprint with the footprints of surrounding objects. In certain circumstances, e.g., a car stopped in the street, the AV will reach a point where it cannot find a path forward that avoids all proximate object footprints. When this occurs, a human Remote Advisor is notified and connects to the AV and reviews the situation via the onboard sensors. In some situations, options for the Remote Advisor are (1) instruct the AV to ignore the problem object, or (2) manually steer the AV to a viable path forward. Option #1has an inherent risk that certain safeguards of the AV navigation software have been bypassed and the AV may collide with an object that it has been instructed to ignore. Option #2has an inherent risk in that the Remote Advisor is remote and only able to see through the cameras and sensors of the vehicle and the bandwidth required to provide the full stream of images and data from the AV to the Remote Advisor may be prohibitive, thus forcing the Remote Advisor to “drive” the AV with limitations, e.g., one or more of limited vision, lack of audio, latency in the transfer of information, and a lack of context from the time preceding the take-over by the Remote Advisor, that may result in a collision or other risky situation. There is a need to enable the Remote Advisor to appropriately modify the perception of the object without removing it entirely from the perception of the AV.

The systems and methods disclosed herein address these issues with the above described systems by providing additional options for the Remote Advisor to modify the perception of the objects and allow the AV to proceed with its safeguards still fully in place, thus avoiding the risks of both options #1and #2described above. In certain embodiments, the simulation platform or other subsystem of the data center identifies an obstruction that prevents autonomous navigation of the AV. In certain embodiments, the remote assistance platform or other subsystem of the data center analyzes the sensor data from the AV and offers one or more possible perception adjustments that may enable the AV to autonomously navigate past the obstruction.

FIG.1illustrates an example AV environment100, according to certain aspects of the disclosed technology. A LiDAR system110is disposed on an AV102and configured to scan a field of view (FOV)130. In certain embodiments, the LiDAR system110has a sparse illumination and/or detector configuration. In certain embodiments, the LiDAR illumination is a near-field flash system. In certain embodiments, the LiDAR system110is positioned near a roofline of AV102and pointed down towards the ground, as shown inFIG.1, to detect objects in proximity to AV102. In certain embodiments, the beam120comprises a first portion122that has a first intensity, e.g., an intensity suitable for detecting objects within a first distance from the LiDAR unit110, and a second portion124that has a second intensity that is greater than the first intensity, e.g., an intensity suitable for detecting objects within a region that is beyond the first distance (i.e., up to a second distance that is greater than the first distance). In certain embodiments, the FOV130has a shape, e.g., an area defined by a minimum threshold intensity of light emitted by the LiDAR unit110.

The AV102“perceives” an object that is within the FOV130by evaluating the sensor outputs, e.g., LiDAR return signals and/or the images of an imaging camera, and determining that an object exists at a specific location. The AV102then attempts to classify the object, with the possibility that the object cannot be assigned to a class and is therefore classified as “unknown.” In each case, the classified object is assigned a footprint (discussed with respect toFIG.2) to be avoided. The AV102then uses this footprint, and other attributes associated with the object or the class to which it has been assigned, while autonomously navigating. As used herein, the term “perception” includes the detection of the object, the sensor output associated with the object, the class assigned to the object, the attributes of the assigned class, the footprint assigned to the object, rules for navigating around the object, and risks associated with the object.

FIG.2illustrates an example AV environment200, according to certain aspects of the disclosed technology. The AV102has an outline210defined with respect to a coordinate system of the AV102. In certain embodiments, the outline210is sized such that the actual AV102is completely included within the outline210. In certain embodiments, the outline210has an irregular shape, e.g., conforms to the physical shape of the AV102. In certain embodiments, the outline210is a rectangle or other standard geometric shape. A buffer220is defined around the AV102with a minimum distance222. An AV footprint224is defined by the addition of the buffer distance222around the outline210. In certain embodiments, the buffer distance222is added to all sides of the outline210to define the footprint224. In certain embodiments, the amount of buffer distance222added to one or more sides of the outline210is different from one or more other sides, e.g., the buffer distance added to the rear of the outline210is less than the buffer distance222added to the sides of the outline210.

Objects, e.g., a person230, are detected by one or more sensors of the AV102. In this example, the person230has been detected by the LiDAR unit110along axis234. Once detected, the object is classified, e.g., object230is classified as a person, and a footprint232is selected for the classified object. The AV102, e.g., the perception stack312ofFIG.3, determines a separation distance240between the AV footprint224and the footprint232of object230. Based on a knowledge of the projected path of the AV102, e.g., projected by the prediction stack316ofFIG.3, the AV102determines whether the AV footprint224will intersect the object footprint232. If the two footprints will not intersect, the AV102, e.g., the control stack322ofFIG.3, will drive the AV102on the planned route.

There are various situations wherein the sensors of the AV102provide data that cause the perception stack312ofFIG.3to assign a footprint232that is poorly suited to the object230. For example, an object230throws a long, dark shadow234that a camera can see and is determined by the perception stack312to be a solid object and thus extends the object footprint to footprint236to include an area that the shadow234appears to occupy. In reality, there is nothing in the extended portion of the footprint236. In this example, the AV footprint224will intersect the extended footprint236when the AV102moves forward as indicated by the arrow.

If a Remote Advisor is brought in because the AV102cannot find a path past the object footprint236, one action would be for the Remote Advisor to delete the object230from the perception of the AV102, referred to herein as “perception override” (PO). This carries the obvious risk that the object230will move, as this object230is a mobile person, and the AV102may collide with the person after the AV102has been instructed to ignore the object230.

There are several cases where the AV102perceives an object and experiences an event wherein the AV cannot navigate past. Examples of such cases include

Phantom objecta false identification of an object at a location(there is nothing there and the AV erroneouslydetected an object at that location)Non-critical objectthe object can be ignored or driven throughBuffer violationthe object is real and the AV footprint willintersect the object footprint on the projectedpath of the AVFootprint expansionthe AV perception system increases the assignedobject footprint based on an update from the sensors(the AV footprint may not have intersected theoriginal object footprint but will intersectthe expanded object footprint)

Once the Remote Advisor has determined that the obstacle is not a real object, i.e., a phantom object, Perception Override may be the appropriate response. An example non-critical object is an overhanging tree branch that hangs low enough to be sensed by one or more of the AV sensors. The AV interprets the tree branch as extending down to the ground but, in reality, the AV will be able to pass under the branch without collision. The problem exists because the object exists, but it is not in the place where the sensors are reporting it. As part of the disclosed perception assistance capability, the Remote Advisor would be able to adjust the height, e.g., the location along the z axis, of the perceived object. In some embodiments, the system may indicate to the Remote Advisor that the detected object will not clear the AV and this height interference is what is preventing the AV from proceeding/being stuck. Once this adjustment is made, the AV would determine that there is room to pass underneath the branch and proceed autonomously. One benefit of using perception assistance instead of a perception override, wherein the AV would have been instructed to ignore the branch, is that the AV will detect and react to a change in the branch position, e.g., the branch falls downward as the AV approaches.

In the case of a buffer violation or footprint expansion, utilizing perception override to remove the object from the perception of the AV and then allowing the AV to proceed under control of its autonomous navigation system may permit the AV to alter the planned path and drive through the object. Thus, there is a need to modify the perception of the object without removing it entirely from the perception of the AV. This is discussed further with respect toFIGS.4A-6.

FIG.3illustrates an example system environment that can be used to facilitate AV operations, according to some aspects of the disclosed technology. One of ordinary skill in the art will understand that, for AV environment300and any system discussed in the present disclosure, there can be additional or fewer components in similar or alternative configurations. The illustrations and examples provided in the present disclosure are for conciseness and clarity. Other examples may include different numbers and/or types of elements, but one of ordinary skill in the art will appreciate that such variations do not depart from the scope of the present disclosure.

In this example, the AV environment300includes an AV302, a data center350, and a client computing device370. The AV302, the data center350, and the client computing device370can communicate with one another over one or more networks (not shown), such as a public network (e.g., the Internet, an Infrastructure as a Service (IaaS) network, a Platform as a Service (PaaS) network, a Software as a Service (SaaS) network, other Cloud Service Provider (CSP) network, etc.), a private network (e.g., a Local Area Network (LAN), a private cloud, a Virtual Private Network (VPN), etc.), and/or a hybrid network (e.g., a multi-cloud or hybrid cloud network, etc.).

The AV302can navigate roadways without a human driver based on sensor signals generated by multiple sensor systems304,306, and308. The sensor systems304-308can include one or more types of sensors and can be arranged about the AV302. For instance, the sensor systems304-308can include Inertial Measurement Units (IMUs), cameras (e.g., still image cameras, video cameras, etc.), light sensors (e.g., LIDAR systems, ambient light sensors, infrared sensors, etc.), RADAR systems, GPS receivers, audio sensors (e.g., microphones, Sound Navigation and Ranging (SONAR) systems, ultrasonic sensors, etc.), engine sensors, speedometers, tachometers, odometers, altimeters, tilt sensors, impact sensors, airbag sensors, seat occupancy sensors, open/closed door sensors, tire pressure sensors, rain sensors, and so forth. For example, the sensor system304can be a camera system, the sensor system306can be a LIDAR system, and the sensor system308can be a RADAR system. Other examples may include any other number and type of sensors.

The AV302can also include several mechanical systems that can be used to maneuver or operate the AV302. For instance, mechanical systems can include a vehicle propulsion system330, a braking system332, a steering system334, a safety system336, and a cabin system338, among other systems. The vehicle propulsion system330can include an electric motor, an internal combustion engine, or both. The braking system332can include an engine brake, brake pads, actuators, and/or any other suitable componentry configured to assist in decelerating the AV302. The steering system334can include suitable componentry configured to control the direction of movement of the AV302during navigation. The safety system336can include lights and signal indicators, a parking brake, airbags, and so forth. The cabin system338can include cabin temperature control systems, in-cabin entertainment systems, and so forth. In some examples, the AV302might not include human driver actuators (e.g., steering wheel, handbrake, foot brake pedal, foot accelerator pedal, turn signal lever, window wipers, etc.) for controlling the AV302. Instead, the cabin system338can include one or more client interfaces (e.g., Graphical User Interfaces (GUIs), Voice User Interfaces (VUIs), etc.) for controlling certain aspects of the mechanical systems330-338.

The AV302can include a local computing device310that is in communication with the sensor systems304-308, the mechanical systems330-338, the data center350, and the client computing device370, among other systems. The local computing device310can include one or more processors and memory, including instructions that can be executed by the one or more processors. The instructions can make up one or more software stacks or components responsible for controlling the AV302; communicating with the data center350, the client computing device370, and other systems; receiving inputs from riders, passengers, and other entities within the AV's environment; logging metrics collected by the sensor systems304-308; and so forth. In this example, the local computing device310includes a perception stack312, a localization stack314, a prediction stack316, a planning stack318, a communications stack320, a control stack322, an AV operational database324, and an HD geospatial database326, among other stacks and systems.

Perception stack312can enable the AV302to “see” (e.g., via cameras, LIDAR sensors, infrared sensors, etc.), “hear” (e.g., via microphones, ultrasonic sensors, RADAR, etc.), and “feel” (e.g., pressure sensors, force sensors, impact sensors, etc.) its environment using information from the sensor systems304-308, the localization stack314, the HD geospatial database326, other components of the AV, and other data sources (e.g., the data center350, the client computing device370, third party data sources, etc.). The perception stack312can detect and classify objects and determine their current locations, speeds, directions, and the like. In addition, the perception stack312can determine the free space around the AV302(e.g., to maintain a safe distance from other objects, change lanes, park the AV, etc.). The perception stack312can identify environmental uncertainties, such as where to look for moving objects, flag areas that may be obscured or blocked from view, and so forth. In certain embodiments, an output of the perception stack312can be a bounding area around a perceived object, referred to herein as a “footprint,” that can be associated with a semantic label that identifies the type of object that is within the bounding area, the size of the object, the kinematic of the object (information about its movement), a tracked path of the object, and a description of the pose of the object (its orientation or heading, etc.). In certain embodiments, the perception stack associates the object with a predetermined class of objects.

Localization stack314can determine the AV's position and orientation (pose) using different methods from multiple systems (e.g., GPS, IMUs, cameras, LIDAR, RADAR, ultrasonic sensors, the HD geospatial database326, etc.). For example, in some cases, the AV302can compare sensor data captured in real-time by the sensor systems304-308to data in the HD geospatial database326to determine its precise (e.g., accurate to the order of a few centimeters or less) position and orientation. The AV302can focus its search based on sensor data from one or more first sensor systems (e.g., GPS) by matching sensor data from one or more second sensor systems (e.g., LIDAR). If the mapping and localization information from one system is unavailable, the AV302can use mapping and localization information from a redundant system and/or from remote data sources.

Prediction stack316can receive information from the localization stack314and objects identified by the perception stack312and predict a future path for the objects. In some examples, the prediction stack316can output several likely paths that an object is predicted to take along with a probability associated with each path. For each predicted path, the prediction stack316can also output a range of points along the path corresponding to a predicted location of the object along the path at future time intervals along with an expected error value for each of the points that indicates a probabilistic deviation from that point.

Planning stack318can determine how to maneuver or operate the AV302safely and efficiently in its environment. For example, the planning stack318can receive the location, speed, and direction of the AV302, geospatial data, data regarding objects sharing the road with the AV302(e.g., pedestrians, bicycles, vehicles, ambulances, buses, cable cars, trains, traffic lights, lanes, road markings, etc.) or certain events occurring during a trip (e.g., emergency vehicle blaring a siren, intersections, occluded areas, street closures for construction or street repairs, double-parked cars, etc.), traffic rules and other safety standards or practices for the road, user input, and other relevant data for directing the AV302from one point to another and outputs from the perception stack312, localization stack314, and prediction stack316. The planning stack318can determine multiple sets of one or more mechanical operations that the AV302can perform (e.g., go straight at a specified rate of acceleration, including maintaining the same speed or decelerating; turn on the left blinker, decelerate if the AV is above a threshold range for turning, and turn left; turn on the right blinker, accelerate if the AV is stopped or below the threshold range for turning, and turn right; decelerate until completely stopped and reverse; etc.), and select the best one to meet changing road conditions and events. If something unexpected happens, the planning stack318can select from multiple backup plans to carry out. For example, while preparing to change lanes to turn right at an intersection, another vehicle may aggressively cut into the destination lane, making the lane change unsafe. The planning stack318could have already determined an alternative plan for such an event. Upon its occurrence, it could help direct the AV302to go around the block instead of blocking a current lane while waiting for an opening to change lanes.

Control stack322can manage the operation of the vehicle propulsion system330, the braking system332, the steering system334, the safety system336, and the cabin system338. The control stack322can receive sensor signals from the sensor systems304-308as well as communicate with other stacks or components of the local computing device310or a remote system (e.g., the data center350) to effectuate operation of the AV302. For example, the control stack322can implement the final path or actions from the multiple paths or actions provided by the planning stack318. This can involve turning the routes and decisions from the planning stack318into commands for the actuators that control the AV's steering, throttle, brake, and drive unit.

In certain embodiments, the control stack322, receives input from the Remote Advisor, e.g., through the remote assistance platform358, that are an additional input to the algorithms of the control stack322. In certain embodiments, the control stack322weighs the input from the Remote Advisor. For example, a respective weighting factor is assigned to each input based on characteristics of the scene, e.g., an estimated visibility of the object due to environmental factors such as lighting. As another example, different weighting factors are assigned based on the particular Remote Advisor, e.g., years of experience in the role of Remote Advisor and/or job performance. In certain embodiments, different sets of weighting factors are associated with different conditions. For example, a first set of weighting factors is used when the Remote Advisor is receiving low-quality information, e.g., low resolution video, significant latency in the video feed, or a low contrast image (due to a light failure on the AV), while a second set of weighting factors is used when the Remote Advisor is receiving high-quality data, e.g., high resolution images, low latency, or an image with good contrast. In certain embodiments, this weighting functionality is implemented in another stack of the local computing device310, e.g., the perception stack312. In certain embodiments, this weighting functionality is implemented in the remote assistance platform358.

Communications stack320can transmit and receive signals between the various stacks and other components of the AV302and between the AV302, the data center350, the client computing device370, and other remote systems. The communications stack320can enable the local computing device310to exchange information remotely over a network, such as through an antenna array or interface that can provide a metropolitan WIFI network connection, a mobile or cellular network connection (e.g., Third Generation (3G), Fourth Generation (4G), Long-Term Evolution (LTE), 5th Generation (5G), etc.), and/or other wireless network connection (e.g., License Assisted Access (LAA), Citizens Broadband Radio Service (CBRS), MULTEFIRE, etc.). Communications stack320can also facilitate the local exchange of information, such as through a wired connection (e.g., a user's mobile computing device docked in an in-car docking station or connected via Universal Serial Bus (USB), etc.) or a local wireless connection (e.g., Wireless Local Area Network (WLAN), Low Power Wide Area Network (LPWAN), Bluetooth®, infrared, etc.).

AV operational database324can store raw AV data generated by the sensor systems304-308, stacks312-322, and other components of the AV302and/or data received by the AV302from remote systems (e.g., the data center350, the client computing device370, etc.). In some examples, the raw AV data can include HD LIDAR point cloud data, image data, RADAR data, GPS data, and other sensor data that the data center350can use for creating or updating AV geospatial data or for creating simulations of situations encountered by AV302for future testing or training of various machine learning algorithms that are incorporated in the local computing device310.

Data center350can include a private cloud (e.g., an enterprise network, a co-location provider network, etc.), a public cloud (e.g., an Infrastructure as a Service (IaaS) network, a Platform as a Service (PaaS) network, a Software as a Service (SaaS) network, or other Cloud Service Provider (CSP) network), a hybrid cloud, a multi-cloud, and/or any other network. The data center350can include one or more computing devices remote to the local computing device310for managing a fleet of AVs and AV-related services. For example, in addition to managing the AV302, the data center350may also support a ride-hailing service (e.g., a ridesharing service), a delivery service, a remote/roadside assistance service, street services (e.g., street mapping, street patrol, street cleaning, street metering, parking reservation, etc.), and the like.

Data center350can send and receive various signals to and from the AV302and the client computing device370. These signals can include sensor data captured by the sensor systems304-308, roadside assistance requests, software updates, ride-hailing/ridesharing pick-up and drop-off instructions, and so forth. In this example, the data center350includes a data management platform352, an Artificial Intelligence/Machine Learning (AI/ML) platform354, a simulation platform356, a remote assistance platform358, and a ride-hailing platform360, and a map management platform362, among other systems.

The AI/ML platform354can provide the infrastructure for training and evaluating machine learning algorithms for operating the AV302, the simulation platform356, the remote assistance platform358, the ride-hailing platform360, the map management platform362, and other platforms and systems. Using the AI/ML platform354, data scientists can prepare data sets from the data management platform352; select, design, and train machine learning models; evaluate, refine, and deploy the models; maintain, monitor, and retrain the models; and so on.

Simulation platform356can enable testing and validation of the algorithms, machine learning models, neural networks, and other development efforts for the AV302, the remote assistance platform358, the ride-hailing platform360, the map management platform362, and other platforms and systems. Simulation platform356can replicate a variety of driving environments and/or reproduce real-world scenarios from data captured by the AV302, including rendering geospatial information and road infrastructure (e.g., streets, lanes, crosswalks, traffic lights, stop signs, etc.) obtained from a cartography platform (e.g., map management platform362); modeling the behavior of other vehicles, bicycles, pedestrians, and other dynamic elements; simulating inclement weather conditions, different traffic scenarios; and so on.

Remote assistance platform358can generate and transmit instructions regarding the operation of the AV302. For example, in response to an output of the AI/ML platform354or other system of the data center350, the remote assistance platform358can prepare instructions for one or more stacks or other components of the AV302.

Ride-hailing platform360can interact with a customer of a ride-hailing service via a ride-hailing application372executing on the client computing device370. The client computing device370can be any type of computing system such as, for example and without limitation, a server, desktop computer, laptop computer, tablet computer, smartphone, smart wearable device (e.g., smartwatch, smart eyeglasses or other Head-Mounted Display (HMD), smart ear pods, or other smart in-ear, on-ear, or over-ear device, etc.), gaming system, or any other computing device for accessing the ride-hailing application372. The client computing device370can be a customer's mobile computing device or a computing device integrated with the AV302(e.g., the local computing device310). The ride-hailing platform360can receive requests to pick up or drop off from the ride-hailing application372and dispatch the AV302for the trip.

Map management platform362can provide a set of tools for the manipulation and management of geographic and spatial (geospatial) and related attribute data. The data management platform352can receive LIDAR point cloud data, image data (e.g., still image, video, etc.), RADAR data, GPS data, and other sensor data (e.g., raw data) from one or more AVs302, Unmanned Aerial Vehicles (UAVs), satellites, third-party mapping services, and other sources of geospatially referenced data. The raw data can be processed, and map management platform362can render base representations (e.g., tiles (2D), bounding volumes (3D), etc.) of the AV geospatial data to enable users to view, query, label, edit, and otherwise interact with the data. Map management platform362can manage workflows and tasks for operating on the AV geospatial data. Map management platform362can control access to the AV geospatial data, including granting or limiting access to the AV geospatial data based on user-based, role-based, group-based, task-based, and other attribute-based access control mechanisms. Map management platform362can provide version control for the AV geospatial data, such as to track specific changes that (human or machine) map editors have made to the data and to revert changes when necessary. Map management platform362can administer release management of the AV geospatial data, including distributing suitable iterations of the data to different users, computing devices, AVs, and other consumers of HD maps. Map management platform362can provide analytics regarding the AV geospatial data and related data, such as to generate insights relating to the throughput and quality of mapping tasks.

In some embodiments, the map viewing services of map management platform362can be modularized and deployed as part of one or more of the platforms and systems of the data center350. For example, the AI/ML platform354may incorporate the map viewing services for visualizing the effectiveness of various object detection or object classification models, the simulation platform356may incorporate the map viewing services for recreating and visualizing certain driving scenarios, the remote assistance platform358may incorporate the map viewing services for replaying traffic incidents to facilitate and coordinate aid, the ride-hailing platform360may incorporate the map viewing services into the client application372to enable passengers to view the AV302in transit enroute to a pick-up or drop-off location, and so on.

While the autonomous vehicle302, the local computing device310, and the autonomous vehicle environment300are shown to include certain systems and components, one of ordinary skill will appreciate that the autonomous vehicle302, the local computing device310, and/or the autonomous vehicle environment300can include more or fewer systems and/or components than those shown inFIG.3. For example, the autonomous vehicle302can include other services than those shown inFIG.3and the local computing device310can also include, in some instances, one or more memory devices (e.g., RAM, ROM, cache, and/or the like), one or more network interfaces (e.g., wired and/or wireless communications interfaces and the like), and/or other hardware or processing devices that are not shown inFIG.3.

In certain embodiments, the remote assistance platform358comprises a user interface (not shown inFIG.3) that enables a human Remote Advisor to view the environment around the AV302through one or more of the sensor systems304,306,308and issue commands to the local computing device310of the AV302. In certain embodiments, the remote assistance platform358notifies a human Remote Advisor that an “event” has occurred, wherein the AV302requires assistance to resolve the event. In certain embodiments, the event comprises a situation wherein the AV302is unable to navigate past an object that obstructs its planned path or the AV302otherwise cannot proceed along the determined path. In certain embodiments, the event comprises a situation wherein the AV302predicts that it will be unable to navigate past an object at some point along its planned path, although the AV320is continuing on the path at the time of notification. In certain embodiments, the remote assistance platform358comprises a set of rules that describe at least one of allowed actions and prohibited actions. In certain embodiments, the remote assistance platform358provides information from a time period leading up to the event that has stopped the AV302. In certain embodiments, the remote assistance platform358provides a recommendation, e.g., a determination about how to modify an object's footprint, based not only on what is currently being perceived by the sensor systems304,306,308but also on what has been recently perceived by the sensor systems304,306,308. In certain embodiments, the remote assistance platform358comprises limits on how a change in perception is implemented, e.g., a perception change can only be implemented while holding the AV302stationary. In certain embodiments, a change in perception is allowed to be implemented while the AV302in motion under certain conditions.

With reference to certain embodiments of the systems and methods disclosed herein, the data center350comprises a site controller (not shown) that manages the parking of AVs in a parking area, e.g., a parking lot, a service area, or a support site for the maintenance, servicing, and storage of AVs. In certain embodiments, the site controller is provided as a software service running on a processor, e.g., a central server with associated memory storage, co-located with other functions of the data center350. In certain embodiments, the site controller is provided as a standalone hardware system that comprises a processor and a memory and is located at a separate location, e.g., a parking area managed by the site controller. In either embodiment, the memory comprises one or more of instructions that, when loaded into the processor and executed, cause the processor to execute the methods of managing the site as disclosed herein.

FIGS.4A and4Bare a perspective view and a plan view, respectively, of an example scenario400wherein an AV102is unable to autonomously navigate past an obstacle402, according to some aspects of the disclosed technology. In this example, the obstacle is a traffic cone402. The traffic cone402has been assigned an object footprint410. The local computing device310of the AV102has determined that the AV footprint224will intersect the object footprint410if the AV102proceeds forward in the direction indicated by the arrow. The additional obstacles that prevent the AV102from driving around the object footprint410have been omitted for clarity.

As used in this disclosure, the phrases “perception assistance” (PA) and “perception modification” and the like refer to a change in the footprint or other attribute of the AV or an external object as stored in the AV102system. In certain embodiments, PA includes one or more of a change in a size of an object footprint, a change in the shape of an object footprint, a weighting factor associated with an object, a risk factor associated with the object, a change in the rules for evaluating the proximity of the object to the AV, and a restriction on when certain actions can be implemented.

FIGS.5-6depict examples of how PA enables the AV to autonomously navigate past the obstacle shown inFIGS.4A-4B, according to some aspects of the disclosed technology.FIGS.5-6are enlarged views ofFIG.4Baround the area “A.”

FIG.5depicts a first example of a perception assistance scenario, wherein the Remote Advisor has modified the object footprint410based on observation of the object402through the sensors of AV102. In this example, the Remote Advisor determined that the object footprint410was oversized for the actual traffic cone402. This may occur if the traffic cone was classified as a “traffic guidance device” and the single object footprint associated with this class was sized to accommodate the largest device in use. In some embodiments, the remote assistance platform358may determine that the footprint410of the cone is preventing the AV102from preceding forward (i.e., it is determined that the AV102will intersect with the footprint410if proceeding along the current path and the AV102can otherwise not be pathed to avoid the footprint410). Based on this determination, the remote assistance platform358may highlight this issue in a graphical user interface presented to the Remote Advisor. In particular, the interface may highlight the point(s) or area of possible interaction/collision with the footprint410and/or indicate an adjustment of the footprint410that would prevent an interaction/collision with the footprint410and allow the AV102to proceed autonomously. In one embodiment, this determination as to a size of the footprint410that would allow the AV102proceed is based on the remote assistance platform358simulating movement of the AV102using progressively smaller footprints410until the AV102can proceed Alternatively, the remote assistance platform358may determine an area of interaction/collision between the AV102and the footprint410and reduce the size of the footprint410to remove this overlapping area. After visually inspecting a picture of the traffic cone402obtained with a camera on the AV102, the Remote Advisor decides that the object footprint410can safely be reduced to object footprint510. In one embodiment, the object footprint510may have been suggested by the remote assistance platform358and the Remote Advisor may confirm the change following viewing the sensor data. After this change is downloaded to the AV local computing device310, the planning stack318determines that the AV footprint224will not intersect the reduced footprint510if the AV102proceeds, as indicated by the arrow520that illustrates how the corner of the AV footprint224will pass by the object footprint510. This change retains all the safety limits and rules of the AV autonomous navigation system as the AV102is still responsible for reviewing the object402even though the footprint has been updated.

In certain scenarios, this type of perception assistance may be prohibited. In certain scenarios, the remote assistance platform358comprises a rule on what classes of objects may be modified by a Remote Advisor. For example, in certain embodiments, the remote assistance platform358or the AV local computing device310would prohibit the Remote Advisor from modifying the object footprint if the object402was classified as a person. In certain embodiments, this same prohibition is applicable for a number of classifications, e.g., an object associated with a person (e.g., bicycle, baby stroller, etc.), an animal, an object that may move on its own volition or on the volition of a human that controls the object (a vehicle in a traffic lane), or an object likely to damage the AV102if there is a collision (e.g., a heavy barrier). In these situations, the remote assistance platform358may indicate that the failure of the AV102to move is based on a possible collision of a footprint of the AV102with a footprint of object as the AV102traverses the current path but note that the footprint of object cannot be adjusted based on the classification of the object. In some embodiments, in this scenario in which the remote assistance platform358prevents the Remote Advisor from adjusting the footprint of the object and when the Remote Advisor notes that the classification is erroneous, the Remote Advisor may be allowed to change the classification of the object. If this change allows the footprint of the object to be adjusted, the remote assistance platform358may indicate an adjusted footprint that would facilitate the AV102proceeding along the current path or along another possible path.

In certain scenarios, the object402may not have been classified by the AV local computing device310, i.e., the object is classified as “unknown.” In certain embodiments, the Remote Advisor would be authorized to manually assign a classification to the object402whereupon the AV local computing device310identifies the appropriate object footprint. In certain embodiments, manually classifying the object is sufficient for the AV102to navigate around the object or allow the Remote Advisor to adjust the footprint (when needed) such that a possible collision will not occur.

In certain embodiments, a perception modification does not persist if the object itself moves. For example, if an object tagged as a stationary class begins to move, then the perception modification is immediately terminated for safety. For instance, the remote assistance platform358may return the footprint of the object to the original configuration and/or size. In an alternate example, if the Remote Advisor determines that the object, e.g., an overhanging tree branch, is identified and will not intersect with the AV, the perception modification will persist even when the tree branch begins moving in the wind.

FIG.6depicts a second example of the perception assistance scenario, wherein the Remote Advisor has modified the AV footprint224based on observation of the object402through the sensors of AV102. In this example, the Remote Advisor determined that it is safe to reduce the lateral buffer520of the AV102. After this change is downloaded to the AV local computing device310, the planning stack318determines that the reduced AV footprint522will not intersect the object footprint410if the AV102proceeds, as indicated by the arrow522that illustrates how the corner of the reduced AV footprint512will pass by the original object footprint410. In certain scenarios, the modification to the AV footprint224expires after one of a time duration, e.g., the modification expires after 2 minutes, a distance traveled since the modification, e.g., the modification expires after the car travels 10 meters, and a proximity of the object402to the AV102, e.g., the modification expires after the object402is no longer within the sensor range of the LiDAR unit110or after the original or updated footprint of the AV102has passed the object.

In certain embodiments, a default AV footprint is stored in the AV102and used in the autonomous navigation and the adjustment of the AV footprint is performed on the stored default AV footprint. In certain embodiments, an adjustment of the AV footprint is made when an event occurs. In certain embodiments, the adjustment is later ended, e.g., the AV footprint returns to the prior value, after the event is resolved, e.g., after the AV has moved past the object402, thereby restoring use of the default AV footprint. In certain embodiments, the adjustment ends upon occurrence of a new event, e.g., the AV detects a collision. In some embodiments, the remote assistance platform358may determine that the footprint410of the cone is preventing the AV102from preceding forward (i.e., it is determined that the AV102will intersect with the footprint410if proceeding along the current path and the AV102can otherwise not be pathed to avoid the footprint410). Based on this determination, the remote assistance platform358may highlight this issue in a graphical user interface presented to the Remote Advisor. In particular, the interface may highlight the point(s) or area of possible interaction/collision with the footprint410and/or indicate an adjustment of the footprint224that would prevent an interaction/collision with the footprint410and allow the AV102to proceed autonomously. In one embodiment, this determination as to a size of the footprint224that would allow the AV102proceed is based on the remote assistance platform358simulating movement of the AV102using progressively smaller footprints224until the AV102can proceed. Alternatively, the remote assistance platform358may determine an area of interaction/collision between the AV102and the footprint410and reduce the size of the footprint224to remove this overlapping area. In some embodiments, the remote assistance platform358may have a set of thresholds that restrict how small the AV threshold224can be adjusted (e.g., the thresholds correspond to the known bounds of the AV102). In some embodiments, each threshold in the set of thresholds for adjusting the footprint224correspond to different heights of the AV102relative to the road. For example, while the AV102may be narrower nearer the road, the AV may expand out nearer protrusions toward the top of the AV102(e.g., protrusions from sensors or side mirrors). In this embodiment, the remote assistance platform358may present suggested footprints224that would not interact with the height of the object after adjustment. For instance, if the remote assistance platform358determines that the height of the cone object402would not interfere with a side mirror of the AV102, the remote assistance platform358may suggest a smaller footprint corresponding to a height of the AV102below the side mirror. Conversely, if the remote assistance platform358determines that the height of the cone object402would interfere with a side mirror of the AV102, the remote assistance platform358may suggest a larger footprint corresponding to a height of the AV102at the side mirror. Similar thresholds can be applied for suggesting and enforcing adjustments to the size of the object footprints based on the height and shape of the object and the height and shape of the AV102. After visually inspecting a picture of the traffic cone402obtained with a camera on the AV102, the Remote Advisor decides that the AV footprint224can safely be reduced to object footprint522within the suggestion and set of thresholds. In one embodiment, the AV footprint522may have been suggested by the remote assistance platform358and the Remote Advisor may confirm the change following viewing the sensor data. After this change is downloaded to the AV local computing device310, the planning stack318determines that the object footprint410will not intersect the reduced footprint522if the AV102proceeds, as indicated by the arrow522that illustrates how the corner of the AV footprint522will pass by the object footprint410. This change retains all the safety limits and rules of the AV autonomous navigation system as the AV102is still responsible for reviewing the object402even though the footprint522has been updated.

In certain scenarios, the remote assistance platform358comprises a restriction on the AV102behavior while the modified footprint is in effect, e.g., the AV102is limited to 7 kph until the object402is behind the AV102. In some embodiments, the speed of the AV102is limited based on the degree of reduction of the AV footprint and/or the object footprint (e.g., both the footprint reductions are taken into account when considering an upper speed limit for the AV102).

In certain scenarios, the local computing device310of AV102is configured to determine what modifications to one or both of the AV footprint224and the object footprint410will enable the AV102to autonomously maneuver past the object402. For example, the local computing device310determines that a 0.1 m reduction in the lateral buffer520is sufficient to enable the AV102to travel past the object402without violating a safety or navigation limit. In certain embodiments, the local computing device310presents this option to the Remote Advisor through the remote assistance platform358and the Remote Advisor then has the option to approve this modification to the AV footprint224.

Although adjustment of the AV and object footprints is described as uniformly changing the entire shape of the footprints, in some embodiments, adjustment of the size of the footprints may be non-uniform. For example, a single side of the footprint may be reduced to allow the AV102to continue along a path. In some embodiments, the shape of a footprint may be changed. For example, the remote assistance platform358may determine that using a rounded, circular, or oval footprint for the AV and/or an object may allow the AV102to complete a turn without colliding with a footprint of an object. The remote assistance platform358may present this shape for consideration and possible selection by the Remote Advisor.

As noted above, following some event (e.g., passage of time, distance, or after the AV102passes the object), the footprints of the AV102and/or object may return to their original shapes and/or sizes. In some embodiments, this return to their original shapes and/or sizes may be gradual or phased so as to allow the AV102to make smoother transition along a path (e.g., an oval shape footprint may gradually transform into a rectangle and/or a reduced size rectangle footprint may transition to an originally sized rectangle footprint over a transition duration).

FIGS.7-8depict another example scenario700that illustrates how perception assistance enables an AV102to autonomously navigate past an obstacle, according to some aspects of the disclosed technology. As shown inFIG.7, a series of vehicles having footprints710-713are parked along the left side of a street702and vehicle having footprints714-715are parked along the right side of the street702. A large vehicle720has stopped in the middle of the street702. An AV102, having an AV footprint224, has approached the gap between the vehicle720and the left-side row of vehicles. As the AV102entered the gap, the change in viewing angle of the vehicle720caused the perception stack312of the AV102to expand the footprint722such that the footprint722overlaps the AV footprint244. The prediction stack316updates its best possible path forward, as indicated by the sequence of positions730,732,734of the AV footprint224, and identifies that one or more of these future positions will intersect one of the vehicle footprints, e.g., position732of the AV footprint244will intersect vehicle footprint711. The AV102cannot autonomously identify a path and a Remote Advisor contacts the AV102to assist.

In this example, perception override, e.g., instructing the AV102to ignore one of the sensed objects, is not appropriate as the Remote Advisor can verify that the objects are real and pose a risk of collision. Similarly, it may be undesirable for the Remote Advisor to attempt to directly drive the AV102as the clearances are small and there are several possible points of possible collision. There are several options described herein, however, that may enable the AV102to continue under autonomous control.

In certain embodiments, the Remote Advisor may be able to determine that the actual distance between the AV outline210(seeFIG.2) and the actual vehicle of footprint711is sufficient to allow AV102to pass through the gap if the lateral buffer520(seeFIG.6) is reduced by a certain amount. The Remote Advisor then reduces the lateral buffer by a selected amount and allows the AV102to continue under autonomous control.

In certain embodiments, the Remote Advisor may implement other forms of perception adjustment. For example, the Remote Advisor determines that the object footprint722is too small, e.g., a portion of the actual vehicle720exceeds footprint722, and chooses a perception modification that expands the object footprint722in one or more attributes. In certain embodiments, this expansion forces the control stack322to re-evaluate previously identified possible navigation paths and choose an alternate path or beck up along the current path until an alternate path is available. In certain embodiments, the remote assistance platform358provides an ability to create a virtual barrier of a selected size and placement that will force the control stack322to autonomously choose an alternate path.

In certain embodiments, the Remote Advisor may be able to verify/determine that the actual distance between the AV outline210and the actual vehicle720is sufficient to allow AV102to back up to a position, e.g., position802inFIG.8, that would allow the AV102to autonomously navigate through the gap between footprint711and the expanded footprint722. In certain embodiments, the Remote Advisor manually moves the AV102to position802. In certain embodiments, the Remote Advisor instructs the AV to autonomously follow a designated path and/or move to position802. In certain embodiments, the instructions from the Remote Advisor would include an instruction for the local computing device310of AV102to retain the footprint722as defined at the time of the original stoppage, i.e., as shown inFIG.7, for the duration of interaction with the vehicle720. In certain embodiments, once the AV102is in position802, the AV102provides a path prediction to the Remote Advisor that either confirms that the AV102will be able to maneuver past the obstacles or identifies what obstacles now block the AV102.

FIG.9depicts another possible action to enable the AV102to proceed in the example scenario represented inFIGS.7and8. The Remote Advisor may be able to determine that the actual distance between the AV outline210and the actual vehicle720is sufficient to allow AV102to pass through the gap if the footprint722is modified, e.g., the corner closest to the AV102is reshaped to footprint724. In certain embodiments, the disclosed system and methods enable the Remote Advisor to modify the footprint of an object or the AV in at least one of shape and size.

FIG.10depicts an example user interface1000for the remote assistance platform (RAP)358, according to some aspects of the disclosed technology. In this example, an AV102has encountered a situation that impedes its ability to autonomously follow a selected path, wherein the space between two parked cars1021A,1021B is narrower than the footprint1022of the AV102. In this example, three windows of information are presented to a human Remote Advisor, e.g., Remote Advisor identification number217. A first window1010displays a real-time view from a camera mounted on the AV102. A second window1020displays a synthetic aerial view of the local environment, including portions of the AV102and the parked vehicles1021A,1021B. The RAP358has mapped the footprints1022,1024A,1024B based on sensor data provided by the AV102. The RAP358has also provided markers1026that identify potential points of intersection between the footprint1022of the AV102and the footprints1024A,1024B of the parked vehicles1021A,1021B if the AV102proceeds in its current direction, as determined by the local computing device310.

The user interface1000also includes a third window1030that provides possible actions to modify the perception of objects by the AV102that may allow the AV102to proceed to autonomously navigate past this obstruction. In this example, the RAP358offers three options including altering the perception of the footprints1024A and/or1024B and allowing a temporary adjustment of the footprint1022of the AV102. The option #1of reducing the buffer of the footprint1022includes a note to remind the Remote Advisor that this adjustment is temporary.

In certain embodiments, the user interface1000comprises additional features, e.g., a button (not shown inFIG.10) to pull up additional adjustments that the Remote Advisor may select. In certain embodiments, the Remote Advisor is able to switch the camera proving the view of window1010. In certain embodiments, window1020provides a distance overlay that enables the Remote Advisor to determine the distances between selected points, e.g., the separation of footprints1022and1024A.

In summary, the disclosed systems and methods provide a capability for a Remote Advisor to modify the perception of objects by the AV so as to enable the AV to autonomously continue its travel without disabling a safety feature of the navigation software. While perception override continues to be the appropriate action in some situations, the ability to implement perception override is not appropriate in certain scenarios due to the inherent risks.

In the above description, terms such as “upper,” “upward,” “lower,” “downward,” “above,” “below,” “longitudinal,” “lateral,” and the like, as used herein, are explanatory in relation to respective view of the item presented in the associated figure and are not limiting in the claimed use of the item. The term “outside” refers to a region that is beyond the outermost confines of a physical object. The term “inside” indicates that at least a portion of a region is partially contained within a boundary formed by the object.

Although a variety of information was used to explain aspects within the scope of the appended claims, no limitation of the claims should be implied based on particular features or arrangements, as one of ordinary skill would be able to derive a wide variety of implementations. Further and although some subject matter may have been described in language specific to structural features and/or method steps, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to these described features or acts. Such functionality can be distributed differently or performed in components other than those identified herein. The described features and steps are disclosed as possible components of systems and methods within the scope of the appended claims.

Claim language reciting “an item” or similar language indicates and includes one or more of the items. For example, claim language reciting “a part” means one part or multiple parts. Moreover, claim language reciting “at least one of” a set indicates that one member of the set or multiple members of the set satisfy the claim. For example, claim language reciting “at least one of A and B” means A, B, or A and B.

Statements of the disclosure include:A1 A system to allow adjustment of a perception of an object by an autonomous vehicle (AV), the system comprising a remote assistance platform (RAP) communicatively coupled to the AV, the RAP comprising a user interface that enables a human Remote Advisor to view an environment around the AV through a sensor system of the AV and issue instructions to the AV, wherein the RAP is configured to allow the Remote Advisor to: select an adjustment of the perception of the object by the AV; and instruct the AV to implement the selected adjustment and then navigate autonomously.A2. The system of A1, wherein: the AV has an AV footprint; the object has an object footprint and has been assigned a class; the adjustment is selected from a group of: an adjustment of the AV footprint; an adjustment of the object footprint; an adjustment of an attribute of the assigned class; and an allowed amount of intrusion of the object footprint into the AV footprint.A3. The system of A2, wherein the adjustment of the AV footprint comprises a reduction in a lateral buffer of the AV.A4. The system of A2, wherein: a default AV footprint is stored in the AV and used in the autonomous navigation; the adjustment of the AV footprint is performed on the stored default AV footprint; and the adjustment of the AV footprint is ended after the AV has moved past the object, thereby restoring use of the default AV footprint.A5. The system of A2, wherein: the AV perceives the object by executing steps: detecting an object based on a sensor output; classifying the object as one of a predetermined set of classes; and assigning a predetermined object footprint to the object based in part on the class of the object; and the adjustment of the object footprint is performed on the assigned predetermined object footprint.A6. The system of A5, wherein the RAP comprises a first restriction preventing the Remote Advisor from selecting an adjustment of the perception of the object for one or more of the predetermined set of classes.A7. The system of A5, wherein the RAP comprises a second restriction preventing the Remote Advisor from selecting a perception override for one or more of the predetermined set of classes.B8. A method of allowing adjustment of a perception of an object by an autonomous vehicle (AV), comprising: providing a view of an environment around the AV through a sensor system of the AV to a human Remote Advisor; allowing the Remote Advisor to select an adjustment of the perception of the object by the AV; and instructing the AV to implement the selected adjustment and then navigate autonomously.B9. The method of B8, wherein: the AV has an AV footprint; the object has an object footprint and has been assigned a class; the adjustment is selected from a group of: an adjustment of the AV footprint; an adjustment of the object footprint; an adjustment of an attribute of the assigned class; and an allowed amount of intrusion of the object footprint into the AV footprint.B10. The method of B9, wherein the adjustment of the AV footprint comprises a reduction in a lateral buffer of the AV.B11. The method of B9, wherein: a default AV footprint is stored in the AV and used in the autonomous navigation; the adjustment of the AV footprint is performed on the stored default AV footprint; and the adjustment of the AV footprint is cancelled after the AV has moved past the object, thereby restoring use of the default AV footprint.B12. The method of B9, wherein: the AV perceives the object by executing steps: detecting an object based on a sensor output; classifying the object as one of a predetermined set of classes; and assigning a predetermined object footprint to the object based in part on the class of the object; and the adjustment of the object footprint is performed on the assigned predetermined object footprint.B13. The method of B12, further comprising: preventing the Remote Advisor from selecting an adjustment of the perception of the object for one or more of the predetermined set of classes.B14. The method of B12, further comprising: preventing the Remote Advisor from selecting a perception override for one or more of the predetermined set of classes.C15. A memory contains instructions that, when loaded into a processor of a remote assistance platform (RAP) communicatively coupled to an autonomous vehicle (AV) and executed, cause the processor to cause the system to: provide a view of an environment around the AV through a sensor system of the AV to a human Remote Advisor; allow the Remote Advisor to select an adjustment of the perception of the object by the AV; and instruct the AV to implement the selected adjustment and then navigate autonomously.C16. The memory of C15, wherein: the AV has an AV footprint; the object has an object footprint and has been assigned a class; the adjustment is selected from a group of: an adjustment of the AV footprint; an adjustment of the object footprint; an adjustment of an attribute of the assigned class; and an allowed amount of intrusion of the object footprint into the AV footprint.C17. The memory of C16, wherein the adjustment of the AV footprint comprises a reduction in a lateral buffer of the AV.C18. The memory of C16, wherein: a default AV footprint is stored in the AV and used in the autonomous navigation; the adjustment of the AV footprint is performed on the stored default AV footprint; and the adjustment of the AV footprint is cancelled after the AV has moved past the object, thereby restoring use of the default AV footprint.C19. The memory of C16, wherein: the AV perceives the object by executing steps: detecting an object based on a sensor output; classifying the object as one of a predetermined set of classes; and assigning a predetermined object footprint to the object based in part on the class of the object; and the adjustment of the object footprint is performed on the assigned predetermined object footprint.C20. The memory of C19, wherein the instructions further cause the processor to cause the memory to perform one or more of: prevent the Remote Advisor from selecting an adjustment of the perception of the object for one or more of the predetermined set of classes; and prevent the Remote Advisor from selecting a perception override for one or more of the predetermined set of classes.