Anomalous input detection

Method and apparatus are disclosed for interface verification for vehicle remote park-assist. An example vehicle system includes a mobile device and a vehicle autonomy unit. The mobile device includes a touchscreen and a controller. The controller is to present, via the touchscreen, an interface of a remote parking app and receive, via the touchscreen, an input responsive to the presentation of the interface. The vehicle autonomy unit receives an input signal from the mobile device and an input classifier coupled to the vehicle autonomy unit verifies the received input signal complies with an input classification.

TECHNICAL FIELD

The present disclosure generally relates to remote park-assist and, more specifically, input verification for vehicle remote park-assist.

BACKGROUND

Many vehicles include functions in which at least some motive functions of a vehicle are autonomously controlled by the vehicle. For example, some vehicles include cruise control in which the vehicle controls acceleration and/or deceleration of the vehicle so that a speed of the vehicle is maintained. Some vehicles also include adaptive cruise control in which the vehicle controls acceleration and/or deceleration of the vehicle so that a speed of the vehicle is maintained while also maintaining a predetermined following distance from other vehicles ahead. Further, some vehicles include park-assist features in which the vehicle autonomously controls motive functions of the vehicle to park the vehicle into a parking spot.

SUMMARY

Example embodiments are shown for input verification for vehicle remote park-assist. An example disclosed vehicle system includes a mobile device including a touchscreen configured to present an interface of a remote parking app. The touchscreen receives an input responsive to the remote parking app. The vehicle system further includes a vehicle autonomy unit communicably coupled to the mobile device to receive an input signal which corresponds with the received input. An input classifier is coupled to the vehicle autonomy unit and the input classifier verifies the received input signal complies with an input classification. The vehicle autonomy unit sends a notification to the mobile device if the received input signal is non-compliant with the input classification.

An example disclosed method for verifying inputs for remote parking of vehicles includes presenting, via a touchscreen of a mobile device, an interface of a remote parking app. The method further includes receiving an input at a controller of the mobile device via the touchscreen responsive to presenting the interface. The method further includes receiving, via a vehicle autonomy unit, an input signal send by the mobile device and verifying, by an input classifier, the received input signal complies with an input classification. The method further includes sending, via the vehicle autonomy unit, a notification to the mobile device if the received input signal is non-compliant with the input classification.

An example disclosed tangible computer readable medium includes instructions which, when executed, cause a machine to present, via a touchscreen of a mobile device, an interface of a remote parking app. The instructions which, when executed, also cause the machine to receive an input at a controller via the touchscreen responsive to presenting the interface. The instructions, when executed, further cause the machine to receive, by a vehicle autonomy unit, an input signal sent by the mobile device, verify, by an input classifier, the received input signal complies with an input classification, and send, via the vehicle autonomy unit, a notification to the mobile device if the received input signal is non-compliant with the input classification.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

Many vehicles include functions in which at least some motive functions of a vehicle are autonomously controlled by the vehicle. For example, some vehicles include cruise control in which the vehicle controls acceleration and/or deceleration of the vehicle so that a speed of the vehicle is maintained. Some vehicles also include adaptive cruise control in which the vehicle controls acceleration and/or deceleration of the vehicle so that a speed of the vehicle is maintained while also maintaining a predetermined following distance from other vehicles ahead.

Further, some vehicles include park-assist features (e.g., a remote park-assist feature) in which the vehicle autonomously controls motive functions of the vehicle to park the vehicle into a parking spot. A remote park-assist feature autonomously parks a vehicle when a driver of the vehicle has already exited the vehicle. For example, the driver may position the vehicle near a parking spot, exit the vehicle, and remotely instruct the vehicle (e.g., via a pushing a button or performing a prescribed action on a key fob or mobile device) to autonomously park in the parking spot. A driver may utilize remote parking to park a vehicle in a parking spot in which a driver would subsequently be unable to exit a cabin of the vehicle (e.g., due to a nearby vehicle, wall, or other structure).

The example apparatus, methods, and machine readable media include a remote park-assist system for initiating autonomous parking of a vehicle into parking spot. A mobile device enables a driver to initiate autonomous parking movement while the driver is located outside of the vehicle. As used herein, “remote parking” and “remote park-assist” refer to a vehicle controlling motive functions of the vehicle without direct steering or velocity input from a driver to autonomously park the vehicle into a parking spot while the driver is located outside of the vehicle. For example, a remote park assist-system enables an autonomy unit to control the motive functions of the vehicle to remotely park the vehicle into the parking spot upon initiation from the driver.

The driver moves his or her finger along a touchscreen (e.g., capacitive, resistive) of the mobile device to initiate the autonomous parking movement. The remote park-assist system detects whether the touchscreen has received an input consistent with the initiation of the autonomous parking movement. The remote-park assist system includes detection of nominal inputs and anomalous inputs received via the touch screen of the mobile device. The remote-park assist system further analyzes the detected input to determine whether the input is consistent with the autonomous parking movement while controlling functions of a vehicle via the mobile device. In some examples, the remote-park assist system includes an input classifier that utilizes a machine learning algorithm to determine, as a binary classification, whether a received input was a nominal input (e.g., an intended input) or an anomalous input (e.g., an unintended input). If the input classifier determines the input is an anomalous input, the remote park-assist system presents a notification via the touchscreen. In certain embodiments, the notification includes an acknowledgement checkbox via the touchscreen and the remote park-assist system subsequently pauses and/or stops performance of the vehicle functions until the acknowledgement checkbox is selected. Additionally, in certain embodiments, the input classifier detects a source of the anomalous inputs, and the remote park-assist system identifies the source and the notification includes presenting the source of the anomalous input.

Turning to the figures,FIG.1illustrates an example mobile device100that is utilized for remote parking an example vehicle102in accordance with the teachings herein. The vehicle102may be a standard gasoline powered vehicle, a hybrid vehicle, an electric vehicle, a fuel cell vehicle, and/or any other mobility implement type of vehicle. The vehicle102includes parts related to mobility, such as a powertrain with an engine, a transmission, a suspension, a driveshaft, wheels, etc. The vehicle102may be semi-autonomous (e.g., some routine motive functions controlled by the vehicle102) or autonomous (e.g., motive functions are controlled by the vehicle102without direct driver input).

As illustrated inFIG.1, the vehicle102is positioned to be remotely parked in an available parking spot104. The available parking spot104is positioned between an occupied parking spot106(e.g., a first occupied parking spot) that is occupied by a parked vehicle108(e.g., a first parked vehicle) and another occupied parking spot110(e.g., a second occupied parking spot) by another parked vehicle112(e.g., a second parked vehicle). In the illustrated example, the available parking spot104is a parallel parking spot. In other examples, the available parking spot104into which the vehicle102is to park is a perpendicular or other non-parallel parking spot. In the illustrated example, the vehicle102is positioned next to the occupied parking spot110and/or the parked vehicle112to enable the vehicle102to be parallel parked in the available parking spot104via remote park-assist.

The vehicle102of the illustrated example includes an autonomy unit114. The autonomy unit114is an electronic control unit (ECU) of the vehicle102that autonomously controls motive functions of the vehicle102to remotely park the vehicle102in available parking spots (e.g., the available parking spot104) and/or otherwise autonomously drives the vehicle102. For example, the autonomy unit114controls the motive functions of the vehicle102based on data collected from sensor(s) of the vehicle102(e.g., sensors704ofFIG.7).

The vehicle102also includes a communication module116(e.g., a first communication module). For example, the communication module116is a short-range wireless module for wireless communication with mobile device(s) of user(s) of the vehicle102. In the illustrated example, the communication module116is communicatively connected to the mobile device100of a user118of the vehicle102. The communication module116includes hardware and firmware to establish a connection with the mobile device100. In some examples, the communication module116implements the Bluetooth® and/or Bluetooth® Low Energy (BLE) protocols. The Bluetooth® and BLE protocols are set forth in Volume 6 of the Bluetooth® Specification 4.0 (and subsequent revisions) maintained by the Bluetooth® Special Interest Group. In other examples, the communication module116may use WiFi, WiMax, NFC, UWB (Ultra-Wide Band), and/or any other communication protocol that enables the communication module116to communicatively couple to the mobile device100.

Prior to communicating with the mobile device100, the communication module116may authenticate the mobile device100for communication with the communication module116. To authenticate communication between the communication module116and the mobile device100, the communication module116intermittently broadcasts a beacon (e.g., a low-energy beacon such as Bluetooth® low-energy (BLE) beacon). When the mobile device100is within a broadcast range of the communication module116, the mobile device100receives the beacon and subsequently sends a key. The communication module116authenticates the mobile device100for communication module116upon receiving the key from the mobile device100. In other examples, the mobile device100broadcasts a beacon and the communication module116subsequently receives the beacon to authenticate communication between the mobile device100and the communication module116.

In the illustrated example, the user118(e.g., a driver or other occupant of the vehicle102) utilizes the mobile device100(e.g., a smart phone, a smart watch, a wearable, a tablet, etc.) to initiate remote parking of the vehicle102into the available parking spot104. As illustrated inFIG.1, the mobile device100includes a communication module120and a touchscreen122.

The communication module120communicatively connects with other communication modules. For example, the communication module120is a short-range wireless module that wirelessly connects to the communication module116to establish communication between the mobile device100and the vehicle102. The communication module120includes hardware and firmware to establish a connection with the communication module116of the vehicle102. In some examples, the communication module116implements Wi-Fi, Bluetooth® and/or Bluetooth® Low Energy (BLE) protocols.

The touchscreen122of the mobile device100provides an interface (e.g., an interface200ofFIG.2, an interface300ofFIG.3, an interface400ofFIGS.4A and4B) between the user118and the mobile device100to enable the user118to initiate remote parking of the vehicle102. For example, the touchscreen122is a resistive touchscreen, a capacitive touchscreen, and/or any other type of touchscreen that displays output information to and tactilely receives input information from the user118of the mobile device100. In some examples, the mobile device100also includes other input devices (e.g., buttons, knobs, microphones, etc.) and/or output devices (e.g., speakers, LEDs, haptic transducers, etc.) to receive input information from and/or provide output information to the user118of the mobile device100. In operation, the user118interacts with the touchscreen122for initiating remote parking of the vehicle102via the mobile device100. Based on input received from the user118via the touchscreen122, the communication module120of the mobile device sends a signal124to the communication module116of the vehicle102that instructs the autonomy unit114to initiate remote parking of the vehicle102. Initiation of remote parking continues as the touchscreen122continues to receive an input from the user118.

FIG.2illustrates an example user interface200displayed or otherwise presented by a touchscreen (e.g., the touchscreen122ofFIG.1) in accordance with the teachings herein. The interface200includes a motion track202presented, via the touchscreen122, to the user (e.g., user118of the mobile device100ofFIG.1) during remote parking of the vehicle. In some examples, the motion track202is presented once the autonomy unit114initiates remote parking of the vehicle102to define an input pathway for the user118to follow while performing a maneuver during remote parking of the vehicle. In some examples, the user118continuously interacts with the motion track202by drawing a motion path204on the touchscreen122within the motion track202such that the autonomy unit114continues to remotely park the vehicle102within the available parking spot104as long as the touchscreen122continues to detect an input and/or movement within the motion track202.

As illustrated inFIG.2, the motion track202is defined by an inner boundary206and an outer boundary208. The inner boundary206and the outer boundary208are spaced apart by a distance, percentage, and/or a number of pixels of the touchscreen122such that the motion track202has a width210defined by the distance and/or the number of pixels between the inner boundary206and the outer boundary208. In some examples, the width210of the motion track202is predefined by the user118and/or software utilized for remote parking the vehicle102via the mobile device100. While the motion track202is illustrated as a circle, it will be understood that other shapes, symbols, icons and configurations may be used for display of the motion track202.

The interface200ofFIG.2, shows the motion path204associated with an input the user118provides via the touchscreen122to initiate and/or continue remote parking of the vehicle102. The motion path204is displayed as a contiguous line that the user118draws within the motion track202via the touchscreen122. As illustrated inFIG.2, the motion path204includes an initiation input212and a travel point214opposite the travel point214. The initiation input212corresponds to a location on the touchscreen122at which the user118begins to draw the motion path204. The travel point214corresponds to a location on the touchscreen122at which the user118is currently touching or pressing the touchscreen122to continue drawing the motion path204. In some examples, the initiation input212is represented by an arrow pointing in the direction the user118draws the motion path204and the travel point214is a dot showing the current location of the motion path204; however other symbols an icons are possible to represent the initiation input212and/or the travel point214.

In some examples, the interface200further includes a confidence band216surrounding the motion track202. Similar to the motion track202, the confidence band216has an inner band boundary218and an outer band boundary220. The inner band boundary218and the outer band boundary220are spaced apart by a distance and/or a number of pixels of the touchscreen122such that the confidence band216has a width222defined by the distance and/or the number of pixels between the inner band boundary218and the outer band boundary220. In some examples, the width222of the confidence band216is predefined by the user118to define an area of the touchscreen122where input is expected to occur while remote parking the vehicle102. In other such examples, the width222of the confidence band216is defined by the software utilized for remote parking the vehicle102via the mobile device100. The software defines the width22based on a historical data analysis of a plurality of motion paths204collected by the mobile device100, via the touchscreen122, during a plurality of previous remote parking occurrences of the vehicle102. As such, the width222of the confidence band216defines an area of the touchscreen122, based on the historical data analysis of the motion path204, where the software expects intended input by the user118during remote parking of the vehicle102. The motion track202is included within the width222of the confidence band216, and as shown inFIG.2, the motion track202is centered within the confidence band216. However, based on the historical analysis results, performed by the software, the confidence band216may be placed in an alternative position relative to the motion track202.

In some examples, the touchscreen122detects an input that corresponds with the initiation input212, the travel point214, and points of the motion path204therebetween to determine whether the mobile device100is to send the signal124to the autonomy unit114of the vehicle102to initiate and continue remote parking of the vehicle102. For example, based on the information collected by the touchscreen122, the mobile device100determines whether the travel point214is moving within the motion track202. Further, in some examples, the mobile device100determines in which direction the travel point214is moving within the motion track202by comparing the travel point214(i.e., the current location) to the initiation input212(i.e., the starting location) and all points detected on the motion path204therebetween. Based on the movement of the travel point214on the interface200detected via the touchscreen122, the mobile device100wirelessly sends a communication signal (e.g., the signal124ofFIG.1) to the autonomy unit114of the vehicle102, via the communication module116and the communication module120, to initiate and/or continue remote parking of the vehicle102.

In some examples, the mobile device100is configured to send the signal124to initiate and/or perform remote parking of the vehicle102such that the autonomy unit114continues to remotely park the vehicle102as long as the touchscreen122continues to detect movement of the travel point214within the motion path204. That is, the autonomy unit114performs both forward and backward maneuvers during remote parking the vehicle102in response to the touchscreen122continuing to detect movement of the travel point214within the motion track202(e.g., in a clockwise direction and/or a counterclockwise direction).

In some examples, the mobile device100is configured to send the signal124to initiate movement of the vehicle102in a particular direction during remote parking based on the detected direction of movement of the travel point214within the motion track202. For example, the communication module120of the mobile device100sends the signal124to the vehicle102to initiate forward motion during remote parking of the vehicle102in response to the touchscreen122detecting that the travel point214is moving in a clockwise direction within the motion track202. In some such examples, the communication module120of the mobile device100sends the signal124to initiate backward motion during remote parking of the vehicle102in response to the touchscreen122detecting that the travel point214is moving in a counterclockwise direction within the motion track202. In other such examples, movement of the travel point214in the counterclockwise direction corresponds to forward motion of the vehicle102, and movement of the travel point214in the clockwise direction corresponds to backwards motion of the vehicle102. Further, in other examples, the motion track202of the interface200is designated only for initiating forward motion during remote parking when the travel point214is moving in the clockwise direction within the motion track202.

Further, in some examples, a speed of motion of the travel point214detected via the touchscreen122corresponds to a travel speed of the vehicle102during remote parking. For example, the faster the user118moves the travel point214along the touchscreen122, the faster the autonomy unit114moves the vehicle102during remote parking. Likewise, the slower the user118moves the travel point214along the touchscreen122, the slower the autonomy unit114moves the vehicle102during remote parking.

FIG.3illustrates another example interface300of the touchscreen122of the mobile device100, as shown inFIG.1. In accordance with the teachings herein, the interface300includes the motion track202surrounded by the confidence band216. A plurality of motion paths302received from the user118to initiate and/or perform remote parking of the vehicle102are shown within the inner boundary206and the outer boundary208defined by the motion track202and the inner boundary218and the outer boundary220defined by the confidence band216. For example, to initiate and continue remote parking of the vehicle102, the user118provides an initiation input304and draws the first motion path302a, the second motion path302b, and the third motion path302cin a continuous motion along the motion path. Travel point306represents the current location of the input provided by the user118to the touchscreen122on the third motion path302c. In some examples, the continuous input provided by the user (e.g., first motion path302a, second motion path302b, third motion path302c) sometimes falls outside the motion track202and the confidence band216. However, the first motion path302a, the second motion path302b, and the third motion path302c, each follow a continuous motion path in a direction around the motion track202. That is, while some portions of the first motion path302a, the second motion path302b, and the third motion path302c, stray outside of the motion track202, the motion paths are still within the confidence band216. As such, each motion path represents a continuous and expected input provided by the user118during remote parking of the vehicle102.

FIG.4Aillustrates another example interface400of the touchscreen of the mobile device100, as shown inFIG.1. In accordance with the teachings herein the interface400includes the motion track202surrounded by the confidence band216. A plurality of unintended and/or anomalous inputs402received by the touchscreen122are shown inside and outside of the boundaries defined by the motion track202and the confidence band216. In some examples, the unintended and/or anomalous inputs402are related to an intended input by the user118to initiate and continue remote parking of the vehicle102. Alternatively, the unintended and/or anomalous inputs402are not related or unrelated to an intended input by the user118to initiate and/or continue remote parking of the vehicle102. For example, to initiate remote parking of the vehicle102, the user118provides an initiation input404(i.e., intended input) and draws the first motion path402a(e.g., first anomalous input) along the motion track202. The touchscreen122detects the initiation input404provided by the user118. However, the touchscreen122detects the first motion path402aas a non-continuous input that fails to follow a continuous path around the motion track202. For example, the first motion path402aincludes a gap between the two portions of the path indicating the first notion path402awas detected as a non-continuous path. The touchscreen122further detects a first anomalous input402b, a second anomalous input402c, a third anomalous input402d, and a fourth anomalous input402e, randomly distributed around the touchscreen122. In some examples, the first motion path402a, the first anomalous input402b, the second anomalous input402c, the third anomalous input402d, and the fourth anomalous input402e, are unintended inputs detected by the touchscreen122in areas that are both inside and outside of the boundaries defined by the motion track202and the confidence band220.

FIG.4Billustrates the interface400further including a notification box406and a notification acknowledgment input408. In some examples, the mobile device100displays the notification box406to the user when an unintended and/or anomalous input (e.g., first motion path402aand anomalous inputs402bto402eofFIG.4A) is detected by the touchscreen122. In some examples, the notification box406informs the user that an unintended and/or anomalous input has been detected and the user of the mobile device100is to confirm the touchscreen122is clean, dry and absent of any surface debris. Additionally and/or alternatively, the notification box406includes a plurality of possible causes for the detection of an anomalous input, such as but not limited to, using mobile device100in the rain, user's hands are wet, user is wearing gloves, user is holding mobile device100at touchscreen122periphery, and other such causes. Accordingly, in some examples the notification includes suggestions to the user118to correct the detection of anomalous inputs. For example, the notification box406includes a text message that informs the user of the mobile device100to confirm their hands are clean, dry and properly positioned on the mobile device100, confirm the touchscreen122is clean and dry, and other such messages. In some examples, the notification box406includes the acknowledgement input408which requires the user of the mobile device100to provide an input (e.g., check a box) to the acknowledgement input408to confirm the notification was received.

As used herein, “unintended and/or anomalous inputs” are defined as a generally unintended input detected by the touchscreen122of the mobile device100and/or a generally intended input that is incorrectly detected by the touchscreen122. In one non-limiting example, the first motion path402aofFIG.4A, illustrates a generally intended input that is incorrectly detected by the touchscreen122of the mobile device100. As discussed above, the touchscreen122of the mobile device100is a resistive touchscreen, a capacitive touchscreen, and/or any other type of touchscreen that displays output information to and tactilely receives input information from the user118of the mobile device100. For example, the user118provides input to the touchscreen122using a finger, or other such input device compatible with the mobile device100, to contact the touchscreen122. In some examples, the input provides an initial input to initiate the remote parking of the vehicle. In other such examples, the input draws the motion path204around the motion track202to provide continuous input during remote parking of the vehicle.

One known issue with receiving tactile input from the user118is interference between the user's finger and the touchscreen122. For example, wearing gloves, designed for use with the touchscreen122, can provide interference between the user's finger and the touchscreen122. As such, use of gloves while holding and interacting with the mobile device100can cause the touchscreen122to detect unintended and/or anomalous inputs. The gloves tend to work with mixed results such that the touchscreen122generally detects intended input from the user118wearing the gloves. However, there are instances where performance of the gloves provides inconsistent and/or unsatisfactory results where the touchscreen122detects an input that does not match the user's input. For example, the first motion path402aillustrates an intended input from the user that is incorrectly detected by the touchscreen122. The initiation input404provided by the user118is detected within the motion track202and the touchscreen122detects the first motion path402amoving within the boundaries of the motion track202and the confidence band216. However, in this instance, the touchscreen122detects the first motion path402aas a non-continuous motion path that includes a gap along the intended continuous pathway drawn by the user to continue remote parking of the vehicle102. As such, user may become confused and/or frustrated that the touchscreen122failed to correctly detect the intended input. Additionally, the remote parking of the vehicle may be paused or even halted because the touchscreen122failed to correctly detect the intended input.

In another such example, the first anomalous input402b, the second anomalous input402c, the third anomalous input402d, and the fourth anomalous input402e, illustrate a plurality of unintended and/or anomalous inputs detected by the touchscreen122of the mobile device100. For example, the anomalous inputs402b,402c,402d, and402e, are caused by an errant or unintended input provided by a finger, the palm of the hand, or other such unintended input detected by the touchscreen122. In another such example, the anomalous inputs402b,402c,402d, and402eare caused by an unintended input, such as but not limited to, rain droplets, sweat droplets, dirt, or other such unintended input detected by the touchscreen122. As such, the anomalous inputs402b,402c,402d, and402e, are not consistent with inputs provided by the user of the mobile device100. In some examples, the anomalous inputs402b,402c,402d, and402eare detected by the mobile device100after the user stops providing input to the touchscreen122.

In some examples, the remote parking system is configured to determine or otherwise classify a difference between a nominal input and an anomalous input. In one such example, the autonomy unit114ofFIGS.1and5, includes an input classifier (e.g., input classifier502ofFIG.5) configured to determine whether the detected input is consistent with a predetermined range of an expected input (e.g., within motion track202and confidence band216ofFIG.2) or whether the detected input is consistent with a predetermined range of an unexpected and/or anomalous input (e.g., outside the motion track202and confidence band216). That is, nominal inputs are expected to have a consistent behavior detected within a certain location of the touchscreen122and anomalous inputs tend to have a more inconsistent and random behavior detected by the touchscreen122. For example, the user of the mobile device100may provide input outside of the motion track202and/or the confidence band216while providing the continuous input (e.g., motion paths302a,302b,302c) during remote parking of the vehicle102. Accordingly, in some examples the input classifier502includes a timer that is used to determine whether the inputs detected by the touchscreen122are nominal inputs or anomalous inputs. As such, the input classifier502further includes a predetermined threshold for the number of anomalous inputs detected within a specified time. If the number of detected anomalous inputs exceeds the predetermined threshold the user is notified (e.g., presentation of notification box406)

In some examples, input detected by the touchscreen122during remote parking of the vehicle102is classified as anomalous, by the input classifier502, based on one or more of the following criteria: (1) input detected by touchscreen122is outside the boundary defined by the motion track202and/or confidence band216; (2) a plurality of inputs persistently detected at a specific location of the touchscreen122beyond a predefined threshold of time; (3) a plurality of inputs persistently detected in area outside of the motion track202and/or confidence band216(e.g., liquid droplets on screen); (4) consecutive changes in variation in the angular velocity direction of the input detected by the touchscreen122; (5) significant jumps in position of consecutive inputs detected by the touchscreen122; and/or (6) repeated crossing of the circular pathway defined by the motion track202and the confidence band216. In addition to the anomalous input criteria above, a continuous input provided by the user118(e.g., motion path204,302a,302b,302c) during initiation and/or continuation of remote parking of the vehicle102, is classified as anomalous, by the input classifier502, based on one or more of the additional criteria: (1) detected input fails to cross the initiation input212,304, of the motion path following a predetermined number of inputs received by the touchscreen122; (2) detected input fails to cross the initiation input212,304, of the motion path within a predetermined time; and/or (3) detected input fails to cross checkpoints on the motion track202within a predetermined time. In some examples, the input classifier502is configured to prevent anomalous input detection from causing undesired input processing and/or activation of one or more modes of the remote parking application (e.g., application506ofFIG.5). For example, an anomalous and/or undesired input can cause undesired activation or processing of remote parking application modes, such as but not limited to, unlock/initiation, start a maneuver, pause a maneuver, and other such modes. As such, the input classifier502is further configured to classify a detected input as an anomalous input based on one or more of the following criteria: (1) repeated and/or persistent input detection outside of valid touchscreen122areas (e.g., unlock button, motion track202, confidence band216, etc.); (2) repeated and/or persistent activation of a specific touchscreen122location greater than a predetermined time threshold; (3) significant jump in touchscreen122location for consecutively detected inputs; and (4) repeated and/or persistent multi-location inputs detected on the touchscreen122(e.g., rain droplets on screen, activation at screen edge, etc.).

In some embodiments, the input classifier502, is an intelligent input classifier that includes one or more machine learning models and/or algorithms, such as but not limited to, a support vector machine, an artificial neural network, a convolutional neural network, and other such models and/or algorithms. Accordingly, the intelligent input classifier502is taught or otherwise trained to classify inputs using input data from known nominal inputs and anomalous inputs. In one non-limiting example, the intelligent input classifier502is trained that nominal inputs include continuous motion paths within the defined boundary of the motion track202and/or confidence band216ofFIG.3, (e.g., motion paths302a,302b,302c). The intelligent input classifier502is further trained that unintended and/or anomalous inputs include non-continuous motion paths (e.g., motion path402a) and unintended inputs detected by the touchscreen122(e.g., anomalous inputs402b,402c,402d).

In some examples, the intelligent input classifier502is further configured to distinguish between different anomalous inputs detected by the touchscreen122. For example, the intelligent input classifier502is trained to identify input data such as the non-continuous motion path402ais caused by input by a user wearing gloves. Additionally, the intelligent input classifier502is trained to identify the unintended inputs402b,402c,402d,402ecaused by input data, such as but not limited to, liquid droplets present on the touchscreen, the user holding or contacting a periphery of the touchscreen122, or other such unintended inputs. In some examples, the intelligent input classifier502is configured to apply criteria to filter or reject a detected input that is clearly identified as an anomalous and/or intended input such as but not limited to, repeated and/or persistent multi-location inputs detected on the touchscreen122(e.g., rain droplets on screen, activation at screen edge, etc.), repeated and/or persistent activation of a specific touchscreen122location greater than a predetermined time threshold, and repeated and/or persistent input detection around the touchscreen122edge. In some embodiments, the intelligent input classifier502applies criteria to filter and/or reject detected anomalous inputs after receipt of the acknowledgement input408from the user of the mobile device100. For example, in response to the detection an anomalous input, the autonomy unit114transmits a notification signal to the mobile device100and the notification box406and acknowledgment input408is displayed on the touchscreen122. The intelligent input classifier502will filter any detected anomalous inputs detected once the autonomy unit114receives confirmation of the acknowledgment input408.

FIG.5is a block diagram of the mobile device100and the vehicle102. As illustrated inFIG.5, the mobile device100includes the touchscreen122, a controller504, a remote parking application506(i.e., app), and the communication module120. The controller504is communicatively coupled to the remote parking app506, the touchscreen122, and the communication module120within the mobile device100. The autonomy unit114and the communication module116are communicatively coupled together within the vehicle102. Further, the communication module120of the mobile device100and the communication module116of the vehicle102are communicatively coupled together (e.g., via wireless communication). Further, as illustratedFIG.5, the touchscreen122includes a display508and sensors510. The display508presents the interface(s) to the user118of the mobile device100, and the sensors510(e.g., capacitive sensors, resistance sensors) detect input(s) provided by the user118to the touchscreen122of the mobile device100. Furthermore, the autonomy unit114of the vehicle102includes an input classifier502configured to analyze and/or classify input(s) detected by the touchscreen122. In some examples, the input classifier502analyzes the received input(s) to determine whether the input is consistent with a mode of the remote parking app506such as, unlock and/or initiation, continuous input verification, and other such modes. In some examples the input classifier502is configured as an intelligent input classifier where the received input(s) is/are fed into a support vector machine, an artificial neural network, a convolutional neural network, and other such intelligent classifiers. As such, the intelligent input classifier502is trained or otherwise programmed to include input data from known nominal inputs and input data from known unintentional and/or anomalous inputs (e.g., input with wet/dirty hands, input wearing gloves, input from user holding edge of mobile device100, and other random inputs).

In operation, the controller504presents an interface (e.g., the interface200ofFIG.2) of the remote parking app506to the user118via the display508of the touchscreen122. As the interface is being presented, the controller504receives an input (e.g., a dragging motion along the touchscreen122such as within along the motion track202ofFIG.2) provided by the user118for initiating remote parking of the vehicle102. For example, the sensors510of the touchscreen122detect the input provided by the user118. The controller504of the mobile device100sends a signal (e.g., a first signal) to the autonomy unit114of the vehicle102via the communication module120and the communication module116to initiate remote parking of the vehicle102.

While the interface is presented on the touchscreen122, the controller504monitors whether the remote parking app506continues to receive an input. In some examples, the controller504prompts the remote parking app506to send a signal to the controller504upon the presentation of the interface and the detection of a nominal input. In other examples, the remote parking app506sends the signal to the controller504upon presentation of the interface and the detection of an unintended and/or anomalous input. For example, the remote parking app506sends a first input signal (e.g., a digital data of ‘0’) to the controller504that indicates the remote parking app506has received a nominal input. The remote parking app506sends a second input signal (e.g., a digital data of ‘1’) to the controller504that indicates the remote parking app506has received an unintended and/or anomalous input. The remote parking app506continuing to receive the second data input signal (e.g., the data signal of ‘1’) indicates that the touchscreen122is detecting or otherwise receiving unintended and/or anomalous inputs.

To prevent the autonomy unit114from continuing to remotely park the vehicle102while the remote parking app504is detecting anomalous and/or unintended inputs, the controller504sends the signal (e.g., the second signal) to the vehicle102and the autonomy unit114pauses or halts the remote parking of the vehicle102in response to detection of the unintended and/or anomalous input. In some examples, the controller504stops sending the signal (e.g., the first signal) to the autonomy unit114to stop initiating the remote parking. In other examples, the controller502sends another signal (e.g., a second signal) to the autonomy unit114via the communication module120and the communication module116to stop initiating the remote parking.

FIG.6is a block diagram of electronic components600of the mobile device100. As illustrated inFIG.6, the electronic components600include the controller504, memory602, the communication module120, and the touchscreen122that includes the display508and the sensors510.

The controller504may be any suitable processing device or set of processing devices such as, but not limited to, a microprocessor, a microcontroller-based platform, an integrated circuit, one or more field programmable gate arrays (FPGAs), and/or one or more application-specific integrated circuits (ASICs).

The memory602is computer readable media on which one or more sets of instructions, such as the software for operating the methods of the present disclosure, can be embedded. The instructions may embody one or more of the methods or logic as described herein. For example, the instructions reside completely, or at least partially, within any one or more of the memory602, the computer readable medium, and/or within the controller504during execution of the instructions. For example, the remote parking app506ofFIG.5includes one or more sets of instructions that are embedded on the memory602and are executed by the controller504.

FIG.7is a block diagram of electronic components700of the vehicle102. As illustrated inFIG.7, the electronic components700include an on-board computing platform702, the communication module116, sensors704, electronic control units (ECUs)706, and a vehicle data bus708.

The on-board computing platform702includes a microcontroller unit, controller or processor710and memory712. The processor710may be any suitable processing device or set of processing devices such as, but not limited to, a microprocessor, a microcontroller-based platform, an integrated circuit, one or more field programmable gate arrays (FPGAs), and/or one or more application-specific integrated circuits (ASICs). The memory712may be volatile memory (e.g., RAM including non-volatile RAM, magnetic RAM, ferroelectric RAM, etc.), non-volatile memory (e.g., disk memory, FLASH memory, EPROMs, EEPROMs, memristor-based non-volatile solid-state memory, etc.), unalterable memory (e.g., EPROMs), read-only memory, and/or high-capacity storage devices (e.g., hard drives, solid state drives, etc.). In some examples, the memory712includes multiple kinds of memory, particularly volatile memory and non-volatile memory.

The memory712is computer readable media on which one or more sets of instructions, such as the software for operating the methods of the present disclosure, can be embedded. The instructions may embody one or more of the methods or logic as described herein. For example, the instructions reside completely, or at least partially, within any one or more of the memory712, the computer readable medium, and/or within the processor710during execution of the instructions.

The sensors704are arranged in and around the vehicle102to monitor properties of the vehicle102and/or an environment in which the vehicle102is located. One or more of the sensors704may be mounted to measure properties around an exterior of the vehicle102. Additionally or alternatively, one or more of the sensors704may be mounted inside a cabin of the vehicle102or in a body of the vehicle102(e.g., an engine compartment, wheel wells, etc.) to measure properties in an interior of the vehicle102. For example, the sensors704include accelerometers, odometers, tachometers, pitch and yaw sensors, wheel speed sensors, microphones, tire pressure sensors, biometric sensors and/or sensors of any other suitable type.

In the illustrated example, the sensors704include a camera714, a RADAR sensor716, a LIDAR sensor718, and a vehicle speed sensor720. For example, the camera714obtains image(s) and/or video to enable detection and location of nearby object(s). The RADAR sensor716detects and locates the nearby object(s) via radio waves, and the LIDAR sensor718detects and locates the nearby object(s) via lasers. The camera714, the RADAR sensor716, and/or the LIDAR sensor718monitor an area surrounding the vehicle102to facilitate autonomous parking of the vehicle102into the available parking spot104. Further, the vehicle speed sensor720monitors a speed of the vehicle102to facilitate autonomous parking of the vehicle102into the available parking spot104.

The ECUs706monitor and control the subsystems of the vehicle102. For example, the ECUs706are discrete sets of electronics that include their own circuit(s) (e.g., integrated circuits, microprocessors, memory, storage, etc.) and firmware, sensors, actuators, and/or mounting hardware. The ECUs706communicate and exchange information via a vehicle data bus (e.g., the vehicle data bus708). Additionally, the ECUs706may communicate properties (e.g., status of the ECUs706, sensor readings, control state, error and diagnostic codes, etc.) to and/or receive requests from each other. For example, the vehicle102may have seventy or more of the ECUs706that are positioned in various locations around the vehicle102and are communicatively coupled by the vehicle data bus708.

In the illustrated example, the ECUs706include the autonomy unit114and a body control module722. The autonomy unit114autonomously controls motive functions of the vehicle102, for example, to remotely park the vehicle102in the available parking spot104. The body control module722controls one or more subsystems throughout the vehicle102, such as power windows, power locks, an immobilizer system, power mirrors, etc. For example, the body control module722includes circuits that drive one or more of relays (e.g., to control wiper fluid, etc.), brushed direct current (DC) motors (e.g., to control power seats, power locks, power windows, wipers, etc.), stepper motors, LEDs, etc.

The vehicle data bus708communicatively couples the communication module116, the on-board computing platform702, the sensors704, and the ECUs706. In some examples, the vehicle data bus708includes one or more data buses interconnected by a gateway. The vehicle data bus708may be implemented in accordance with a controller area network (CAN) bus protocol as defined by International Standards Organization (ISO) 11898-1, a Media Oriented Systems Transport (MOST) bus protocol, a CAN flexible data (CAN-FD) bus protocol (ISO 11898-7) and/a K-line bus protocol (ISO 9141 and ISO 14230-1), and/or an Ethernet™ bus protocol IEEE 802.3 (2002 onwards), etc.

FIG.8is a flowchart of an example method800to verify provide feedback to input received on an interface of a mobile device for remote parking of a vehicle in accordance with the teachings herein. The flowchart ofFIG.8is representative of machine readable instructions that are stored in memory (such as the memory602ofFIG.6) and include one or more programs that are executed by a processor (such as the controller504ofFIGS.5and6) of the mobile device100ofFIGS.1and5and6. Additionally or alternatively, the flowchart ofFIG.8is representative of machine readable instructions that are stored in memory (such as the memory712ofFIG.7) and include one or more programs which, when executed by a processor (such as the processor710ofFIG.7), cause the autonomy unit114to remotely park the vehicle102ofFIGS.1,5, and7. While the example program is described with reference to the flowchart illustrated inFIG.8, many other methods of verifying a remote parking interface on a mobile device may alternatively be used. For example, the order of execution of the blocks may be rearranged, changed, eliminated, and/or combined to perform the method800. Further, because the method800is disclosed in connection with the components ofFIGS.1-7, some functions of those components will not be described in detail below.

Initially, at block802, the controller504of the mobile device100presents an interface (e.g., the interface200ofFIG.2) of the remote parking app506to the user118via the display508of the touchscreen122. At block804, the controller504determines whether an input has been detected or otherwise received via the sensors510of the touchscreen122while the interface is being presented. In response to the controller504determining that an input has not been received from the user118, the method800remains at block804. Otherwise, in response to the controller504determining that an input (e.g., touching of initiation input212, a dragging motion along the touchscreen122such as within along the motion path204ofFIG.2) has been received, the method800proceeds to block806.

At block806, the controller504of the mobile device100sends an instruction (e.g., a first signal) to the autonomy unit114of the vehicle102via the communication module120and the communication module116to initiate remote parking of the vehicle102. The autonomy unit114includes the input classifier502that determines whether the input is detected within a certain range or area of the display508(e.g., within the motion track202and confidence band216) or the input is detected outside the certain range. At block808, the autonomy unit114and the input classifier502classify the input as being a nominal input or an anomalous input.

At block810, the autonomy unit114determines whether the sensors508of the touchscreen122have continuously received a nominal input from the user118consistent with performing remote parking of the vehicle. In response to determining the autonomy unit114classified the input as a nominal input, the method800proceeds to block812. At block812the autonomy unit114sends a signal to the mobile device100to initiate and/or continue the remote parking of the vehicle102.

Referring back to block810, in response to determining the autonomy unit114classified the input as an anomalous and/or unintended input, the method800proceeds to block814. At block814, the autonomy unit114sends a notification (e.g., notification box406ofFIG.4B) to the mobile device100indicating to the user that an anomalous input was detected. The notification box406includes an acknowledgment input (e.g., acknowledgement input408ofFIG.4B) that requires the user118of the mobile device100to provide an input to the touchscreen122to confirm the notification box406was received.

At block816, the controller504determines whether the notification was received and/or acknowledged by the user. In response to the controller504determining the notification acknowledgment was received from the user118, the remote parking app506returns to block802and continues to present the interface to the user118such that the user is able to proceed with remote parking the vehicle102.

In response to the controller504determining the notification acknowledgment was not received from the user, the method800proceeds to block818at which the controller504continues to send the instruction (e.g., a second signal) to the vehicle102to stop or pause remote parking of the vehicle102. At block820, the autonomy unit114terminates or aborts the remote parking of the vehicle102.