Patent Publication Number: US-10775781-B2

Title: Interface verification for vehicle remote park-assist

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application relates to U.S. patent application Ser. No. 15/626,024 filed Jun. 16, 2017 and U.S. patent application Ser. No. 15/626,033 filed on Jun. 16, 2017, both of which are incorporated by reference in their entireties. 
     TECHNICAL FIELD 
     The present disclosure generally relates to remote park-assist and, more specifically, interface 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 
     The appended claims define this application. The present disclosure summarizes aspects of the embodiments and should not be used to limit the claims. Other implementations are contemplated in accordance with the techniques described herein, as will be apparent to one having ordinary skill in the art upon examination of the following drawings and detailed description, and these implementations are intended to be within the scope of this application. 
     Example embodiments are shown for interface verification for vehicle remote park-assist. An example disclosed vehicle system includes a vehicle and a mobile device. 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 to initiate remote parking when the interface is presented. The controller is to temporarily stop presenting the interface and stop initiation of remote parking responsive to continuing to receive the input when the interface is not displayed. 
     An example disclosed method for verifying interfaces for remote parking of vehicles includes presenting, via a touchscreen of a mobile device, an interface of a remote parking app. The example disclosed method also includes receiving an input at a controller via the touchscreen to initiate remote parking for a vehicle when the interface is presented, temporarily stopping presentation of the interface, and stopping initiation of remote parking responsive to continuing to receive the input when the interface is not displayed. 
     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 to initiate remote parking for a vehicle when the interface is presented, temporarily stop presentation of the interface, and stop initiation of remote parking responsive to receiving the input when the interface is not displayed. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       For a better understanding of the invention, reference may be made to embodiments shown in the following drawings. The components in the drawings are not necessarily to scale and related elements may be omitted, or in some instances proportions may have been exaggerated, so as to emphasize and clearly illustrate the novel features described herein. In addition, system components can be variously arranged, as known in the art. Further, in the drawings, like reference numerals designate corresponding parts throughout the several views. 
         FIG. 1  illustrates an example mobile device utilized for remote parking of an example vehicle in accordance with the teachings herein. 
         FIG. 2  illustrates an example remote park-assist interface presented via the mobile device of  FIG. 1 . 
         FIG. 3  illustrates another example remote park-assist interface presented via the mobile device of  FIG. 1 . 
         FIG. 4  illustrates another example remote park-assist interface presented via the mobile device of  FIG. 1 . 
         FIG. 5  is a block diagram of the mobile device and the vehicle of  FIG. 1 . 
         FIG. 6  is a schematic depicting detection of no buffering or freezing during operation of a remote parking app on the mobile device of  FIG. 1 . 
         FIG. 7  is a schematic depicting detection of buffering or freezing during operation of a remote parking app on the mobile device of FIG.  1 . 
         FIG. 8  is a block diagram of electronic components of the mobile device of  FIG. 1 . 
         FIG. 9  is a block diagram of electronic components of the vehicle of  FIG. 1 . 
         FIG. 10  is a flowchart for verifying an interface of a mobile device for remote parking of a vehicle in accordance with the teachings herein. 
     
    
    
     DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS 
     While the invention may be embodied in various forms, there are shown in the drawings, and will hereinafter be described, some exemplary and non-limiting embodiments, with the understanding that the present disclosure is to be considered an exemplification of the invention and is not intended to limit the invention to the specific embodiments illustrated. 
     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 methods, apparatus, 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 frozen or is buffering and stops initiation of the autonomous parking movement upon detection of the freezing or buffering to prevent undesired autonomous parking movement. To detect screen freezing or buffering, the mobile device temporarily stops presenting an interface of a remote parking app for a short period of time. The remote park-assist system detects system freezing or data buffering if the mobile device continues to provide instructions to the vehicle to perform autonomous parking movement while the interface is not being presented. The remote park-assist system is capable of detecting system freezing or data buffering anywhere along the communication path (e.g., the touchscreen, phone app processing, wireless transmission from the phone, etc.) 
     Turning to the figures,  FIG. 1  illustrates an example mobile device  100  that is utilized for remote parking an example vehicle  102  in accordance with the teachings herein. The vehicle  102  may 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 vehicle  102  includes parts related to mobility, such as a powertrain with an engine, a transmission, a suspension, a driveshaft, wheels, etc. The vehicle  102  may be semi-autonomous (e.g., some routine motive functions controlled by the vehicle  102 ) or autonomous (e.g., motive functions are controlled by the vehicle  102  without direct driver input). 
     As illustrated in  FIG. 1 , the vehicle  102  is positioned to be remotely parked in an available parking spot  104 . The available parking spot  104  is positioned between an occupied parking spot  106  (e.g., a first occupied parking spot) that is occupied by a parked vehicle  108  (e.g., a first parked vehicle) and another occupied parking spot  110  (e.g., a second occupied parking spot) by another parked vehicle  112  (e.g., a second parked vehicle). In the illustrated example, the available parking spot  104  is a parallel parking spot. In other examples, the available parking spot  104  into which the vehicle  102  is to park is a perpendicular or other non-parallel parking spot. In the illustrated example, the vehicle  102  is positioned next to the occupied parking spot  106  and/or the parked vehicle  108  to enable the vehicle  102  to be parallel parked in the available parking spot  104  via remote park-assist. 
     The vehicle  102  of the illustrated example includes an autonomy unit  114 . The autonomy unit  114  is an electronic control unit (ECU) of the vehicle  102  that autonomously controls motive functions of the vehicle  102  to remotely park the vehicle  102  in available parking spots (e.g., the available parking spot  104 ) and/or otherwise autonomously drives the vehicle  102 . For example, the autonomy unit  114  controls the motive functions of the vehicle  102  based on data collected from sensor(s) of the vehicle  102  (e.g., sensors  904  of  FIG. 9 ). 
     The vehicle  102  also includes a communication module  116  (e.g., a first communication module). For example, the communication module  116  is a short-range wireless module for wireless communication with mobile device(s) of user(s) of the vehicle  102 . In the illustrated example, the communication module  116  is communicatively connected to a mobile device  100  of a user  118  of the vehicle  102 . The communication module  116  includes hardware and firmware to establish a connection with the mobile device  100 . In some examples, the communication module  116  implements 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 module  116  may use WiFi, WiMax, NFC, UWB (Ultra-Wide Band), and/or any other communication protocol that enables the communication module  116  to communicatively couple to the mobile device  100 . 
     Prior to communicating with the mobile device  100 , the communication module  116  may authenticate the mobile device  100  for communication with the communication module  116 . To authenticate communication between the communication module  116  and the mobile device  100 , the communication module  116  intermittently broadcasts a beacon (e.g., a low-energy beacon such as Bluetooth® low-energy (BLE) beacon). When the mobile device  100  is within a broadcast range of the communication module  116 , the mobile device  100  receives the beacon and subsequently sends a key. The communication module  116  authenticates the mobile device  100  for communication module  116  upon receiving the key from the mobile device  100 . In other examples, the mobile device  100  broadcasts a beacon and the communication module  116  subsequently receives the beacon to authenticate communication between the mobile device  100  and the communication module  116 . 
     In the illustrated example, the user  118  (e.g., a driver or other occupant of the vehicle  102 ) utilizes the mobile device  100  (e.g., a smart phone, a smart watch, a wearable, a tablet, etc.) to initiate remote parking of the vehicle  102  into the available parking spot  104 . As illustrated in  FIG. 1 , the mobile device includes a communication module  120  and a touchscreen  122 . 
     The communication module  120  communicatively connects with other communication modules. For example, the communication module  120  is a short-range wireless module that wirelessly connects to the communication module  116  to establish communication between the mobile device  100  and the vehicle  102 . The communication module  120  includes hardware and firmware to establish a connection with the communication module  116  of the vehicle  102 . In some examples, the communication module  116  implements Wi-Fi, Bluetooth® and/or Bluetooth® Low Energy (BLE) protocols. 
     The touchscreen  122  of the mobile device  100  provides an interface (e.g., an interface  200  of  FIG. 2 , an interface  300  of  FIG. 3 , an interface  400  of  FIG. 4 ) between the user  118  and the mobile device  100  to enable the user  118  to initiate remote parking of the vehicle  102 . For example, the touchscreen  122  is 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 user  118  of the mobile device  100 . In some examples, the mobile device  100  also 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 user  118  of the mobile device  100 . In operation, the user  118  interacts with the touchscreen  122  for initiating remote parking of the vehicle  102  via the mobile device  100 . Based on input received from the user  118  via the touchscreen  122 , the communication module  120  of the mobile device sends a signal  124  to the communication module  116  of the vehicle  102  that instructs the autonomy unit  114  to initiate remote parking of the vehicle  102 . Initiation of remote parking continues as the touchscreen  122  continues to receive an input from the user  118 . 
       FIG. 2  illustrates an example interface  200  of a remote parking app (e.g., a remote parking app  504  of  FIG. 5 ) presented via the touchscreen  122  of the mobile device  100 . The interface  200  presented via the touchscreen  122  includes a wheel image  202 . The user  118  interacts with the wheel image  202  to initiate remote parking of the vehicle  102  within the available parking spot  104 . The user  118  interacts with the wheel image  202  to provide an input by touching or pressing a portion of the touchscreen  122  that corresponds to the wheel image  202 . For example, to provide the input that initiates remote parking of the vehicle  102 , the user  118  drags his or her finger along the wheel image  202  in a clockwise and/or a counterclockwise direction. In some examples, the wheel image  202  rotates in the clockwise direction as the user  118  drags his or her finger in the clockwise direction and/or the wheel image  202  rotates in the counterclockwise direction as the user  118  drags his or her finger in the counterclockwise direction. Based on the movement detected via the touchscreen  122 , the mobile device  100  wirelessly sends the signal  124  to the autonomy unit  114  of the vehicle  102 , via the communication module  116  and the communication module  120 , to initiate remote parking of the vehicle  102 . 
     In some examples, the mobile device  100  is configured to send the signal  124  to initiate remote parking of the vehicle  102  such that the autonomy unit  114  continues to remotely park the vehicle  102  as long as the touchscreen  122  continues to detect movement of the wheel image  202  regardless of its direction of movement. That is, the autonomy unit  114  performs both forward and backward maneuvers during remote parking the vehicle  102  in response to the touchscreen  122  continuing to detect movement of the wheel image  202  in any single direction (e.g., a clockwise direction or a counterclockwise direction). 
     In some examples, the mobile device  100  is configured to send the signal  124  to initiate movement of the vehicle  102  in a particular direction during remote parking based on the detected direction of movement of the wheel image  202 . For example, the communication module  120  of the mobile device  100  sends the signal  124  to the vehicle  102  to initiate forward motion during remote parking of the vehicle  102  in response to the touchscreen  122  detecting that the user  118  is dragging his or her finger along the wheel image  202  in the clockwise direction. Further, the communication module  120  of the mobile device  100  sends the signal  124  to initiate backward motion during remote parking of the vehicle  102  in response to the touchscreen  122  detecting that a dragging motion along the wheel image  202  in the counterclockwise direction. 
     Further, in some examples, a speed of motion of rotation of the wheel image  202  corresponds to a travel speed of the vehicle  102  during remote parking. For example, the faster the user  118  causes the wheel image  202  to move, the faster the autonomy unit  114  moves the vehicle  102  during remote parking. Likewise, the slower the user  118  causes the wheel image  202  to move, the slower the autonomy unit  114  moves the vehicle  102  during remote parking. 
       FIG. 3  illustrates another example interface  300  of a remote parking app (e.g., the remote parking app  504  of  FIG. 5 ) presented via the touchscreen  122  of the mobile device  100 . The interface  300  presented via the touchscreen  122  includes a road  302  and an arrow  304  extending from the road  302 . In the illustrated example, the road  302  and the arrow  304  define a line  306  that extends vertically on the interface  300 . The user  118  interacts with the road  302 , the arrow  304 , and/or the line  306  to initiate remote parking. The user  118  interacts with the road  302 , the arrow  304 , and/or the line  306  to provide an input by touching or pressing a portion of the touchscreen  122  that corresponds to the road  302 , the arrow  304 , and/or the line  306 . For example, the user  118  drags his or her finger along the road  302 , the arrow  304 , and/or the line  306  in an upward and/or downward direction. Based on the movement detected via the touchscreen  122 , the mobile device  100  wirelessly sends the signal  124  to the autonomy unit  114  of the vehicle  102 , via the communication module  116  and the communication module  120 , to initiate remote parking of the vehicle  102 . 
     In the illustrated example, the mobile device  100  is configured to send the signal  124  to initiate movement of the vehicle  102  in a particular direction during remote parking based on the direction of movement detected via the touchscreen  122 . For example, the communication module  120  of the mobile device  100  sends the signal  124  to the vehicle  102  to initiate forward motion during remote parking of the vehicle  102  in response to the touchscreen  122  detecting a dragging motion in an upward direction along the road  302 , the arrow  304 , and/or the line  306 . Further, the communication module  120  sends the signal  124  to initiate backward motion during remote parking of the vehicle  102  in response to detecting a dragging motion in a downward direction along the road  302 , the arrow  304 , and/or the line  306 . 
     In other examples, the mobile device  100  is configured to send the signal  124  to initiate movement of the vehicle  102  in a particular direction during remote parking based on a touch location detected via the touchscreen  122 . For example, the communication module  120  sends the signal  124  to the vehicle  102  to initiate forward motion during remote parking while the touchscreen  122  detects a continuous touch on the line  306  above a center point of the line  306  (e.g., on the arrow  304 ). Further, the communication module  120  sends the signal  124  to initiate backward motion during remote parking while the touchscreen  122  detects a continuous touch on the line  306  below the center point of the line  306  (e.g., on the road  302 ). Further, in some examples, a speed of motion along the road  302 , the arrow  304 , and/or the line  306  corresponds to a travel speed of the vehicle  102  during remote parking. 
       FIG. 4  illustrates another example interface  400  of a remote parking app (e.g., the remote parking app  504  of  FIG. 5 ) presented via the touchscreen  122  of the mobile device  100 . The interface  400  presented via the touchscreen  122  includes a predefined motion track  402 . 
     As used herein, a “predefined motion track” and a “motion track that is predefined by a user” refer to a continuous track that is presented via the touchscreen to initiate remote parking of vehicle and has been defined based on input from a user prior to being presented via the toucshcreen. As used herein, a “continuous track” and a “continuous path” refer to a path having no start point and no end point (e.g., a circle, an oval, a stadium, etc.) that forms a closed geometric shape. Example motion tracks that are predefined by users are disclosed in U.S. application Ser. No 15/626,024, filed on Jun. 16, 2017, which is incorporated herein by reference in its entirety. 
     For example, the user  118  interacts with the predefined motion track  402  to initiate remote parking by touching or pressing a portion of the touchscreen  122  that corresponds to the predefined motion track  402 . The user  118  drags his or her finger within the predefined motion track  402  in a clockwise and/or a counterclockwise direction to provide an input. Based on the detected motion within the predefined motion track  402 , the mobile device  100  wirelessly sends the signal  124  to the autonomy unit  114  of the vehicle  102 , via the communication module  116  and the communication module  120 , to initiate remote parking of the vehicle  102 . 
     In some examples, the mobile device  100  is configured to send the signal  124  to initiate movement of the vehicle  102  in a particular direction during remote parking based on the detected direction of movement within the predefined motion track  402 . For example, the communication module  120  sends the signal  124  to the vehicle  102  to initiate forward motion during remote parking in response to the touchscreen  122  detecting a dragging motion within the predefined motion track  402  in the clockwise direction. Further, the communication module  120  sends the signal  124  to initiate backward motion during remote parking of the vehicle  102  in response to the touchscreen  122  detecting a dragging motion within the predefined motion track  402  in the counterclockwise direction. 
     In some examples, the mobile device  100  is configured to send the signal  124  to initiate remote parking of the vehicle  102  such that the autonomy unit  114  continues to remotely park the vehicle  102  as long as the touchscreen  122  continues to detect movement within the predefined motion track  402  regardless of the direction of movement. That is, the autonomy unit  114  performs both forward and backward maneuvers during remote parking the vehicle  102  in response to the touchscreen  122  continuing to detect movement within the predefined motion track  402  in a single direction (e.g., a clockwise direction or a counterclockwise direction). Further, in some examples, a speed of motion within the predefined motion track  402  corresponds to a travel speed of the vehicle  102  during remote parking. 
       FIG. 5  is a block diagram of the mobile device  100  and the vehicle  102 . As illustrated in  FIG. 5 , the mobile device  100  includes the touchscreen  122 , a controller  502 , a remote parking app  504 , and the communication module  120 . The controller  502  is communicatively coupled to the remote parking app  504 , the touchscreen  122 , and the communication module  120  within the mobile device  100 . The autonomy unit  114  and the communication module  116  are communicatively coupled together within the vehicle  102 . Further, the communication module  120  of the mobile device  100  and the communication module  116  of the vehicle  102  are communicatively coupled together (e.g., via wireless communication). Further, as illustrated  FIG. 5 , the touchscreen  122  includes a display  506  and sensors  508 . The display  506  presents interface(s) to the user  118  of the mobile device  100 , and the sensors  508  (e.g., capacitive sensors, resistance sensors) detect input(s) provided by the user  118  of the mobile device  100 . 
     In operation, the controller  502  presents an interface (e.g., the interface  200  of  FIG. 2 , the interface  300  of  FIG. 3 , the interface  400  of  FIG. 4 ) of the remote parking app  504  to the user  118  via the display  506  of the touchscreen  122 . As the interface is being presented, the controller  502  receives an input (e.g., a dragging motion along the touchscreen  122  such as within along the wheel image  202  of  FIG. 2 , along the line  306  of  FIG. 3 , within the predefined motion track  402  of  FIG. 4 , etc.) provided by the user  118  for initiating remote parking of the vehicle  102 . For example, the sensors  508  of the touchscreen  122  detect the input provided by the user  118 . The controller  502  of the mobile device  100  sends a signal (e.g., a first signal) to the autonomy unit  114  of the vehicle  102  via the communication module  120  and the communication module  116  to initiate remote parking of the vehicle  102 . 
     Further, the controller  502  temporarily stops the display  506  of the touchscreen  122  from presenting the interface. For example, to determine when to temporarily stop presentation of the interface, the controller  502  identifies a duration that the sensors  508  continuously detect an input provided by the user  118 . For example, the controller  502  compares the duration during which the sensors  508  continuously detect the input to a predetermined threshold of time (e.g., about 5 seconds). Upon determining that the sensors  508  continuously receive an input for longer than the predetermined threshold, the controller  502  temporarily stops the display  506  from presenting the interface. For example, the controller  502  temporarily stops presentation of the interface for a predetermined period of time (e.g., about 1 millisecond). In some examples, the controller  502  causes the interface to fade in and out as the display  506  transitions between presenting the interface and not presenting the interface, respectively. In some such examples, the interface presented on the touchscreen  122  via the controller  502  includes a heartbeat type visual for trace graphics to mask the absence of the interface not being presented to the user  118 . 
     In other examples, the controller  502  temporarily stops presentation of the interface when the controller  502  identifies that a finger (e.g., a thumb) of the user  118  interacting with the touchscreen  122  is in a fully extended or nearly fully extended. 
     While the interface is not being presented, the controller  502  monitors whether the remote parking app  504  continues to receive an input. In some examples, the controller  502  prompts the remote parking app  504  to send a signal to the controller  502  upon the presentation of the interface being temporarily stopped. In other examples, the remote parking app  504  sends the signal to the controller  502  without prompting. For example, the remote parking app  504  sends a first input signal (e.g., a digital data of ‘0’) to the controller  502  that indicates the remote parking app  504  has stopped receiving an input once the interface stopped being presented. The remote parking app  504  sends a second input signal (e.g., a digital data of ‘1’) to the controller  502  that indicates the remote parking app  504  continued to receive an input once the interface stopped being presented. The remote parking app  504  continuing to receive the input indicates that the remote parking app  504  is experiencing buffering or freezing. 
     To prevent the autonomy unit  114  from continuing to remotely park the vehicle  102  while the remote parking app  504  is experiencing buffering or freezing, the controller  502  stops initiation of remote parking of the vehicle  102  in response to continuing to receive the input while the interface is not being displayed. In some examples, the controller  502  stops sending the signal (e.g., the first signal) to the autonomy unit  114  to stop initiating the remote parking. In other examples, the controller  502  sends another signal (e.g., a second signal) to the autonomy unit  114  via the communication module  120  and the communication module  116  to stop initiating the remote parking. Otherwise, if the input stops being received when the interface is not being displayed, the controller  502  continues to initiate remote parking of the vehicle  102  (e.g., by continuing to send the first signal to the autonomy unit  114 ). After, the interface has temporarily stopped being presented for the predetermined period of time (e.g., 1 millisecond), the controller  502  subsequently presents the interface via the display  506  of the touchscreen  122  (e.g., after which the monitoring sequence may repeat). 
     In some examples, the touchscreen  122  provides input to a standard design kit (SDK) indicating that the interface is temporarily stopped, and the sensors  508  provide input to the SDK when there is a signal from the touchscreen  122  to the SDK. If there is ‘Data input 0’ then the SDK makes sure there is no buffer. Further, in such examples, the SDK can provide an input indicating that the interface needs to be stopped, and the interface will be temporarily stopped from being displayed via the display  506 . In such instances, the sensors  508  will provide an input to the SDK whether it is ‘Data input 0’ or ‘Data input 1’. 
       FIG. 6  is a schematic depicting detection of no buffering during operation of the remote parking app  504  on the mobile device  100 .  FIG. 7  is a schematic depicting detection of buffering during operation of the remote parking app  504  on the mobile device  100 . 
     As illustrated in  FIGS. 6 and 7 , the controller  502  receives first input(s)  602  from the sensors  508  of the touchscreen  122  when the display  506  of the touchscreen  122  presents the interface. The controller  502  receives second input(s)  604  from the remote parking app  504  when presentation of the interface is temporarily stopped. Further, the controller  502  receives third input(s)  606  from the sensors  508  of the touchscreen  122  when the interface is again subsequently presented via the display  506  of the touchscreen  122 . 
     In  FIG. 6 , the first input(s)  602  are signal(s) (e.g., digital data of ‘1’) that indicate the sensors  508  of the touchscreen  122  have received the input via the sensors  508 , the second input(s)  604  are signal(s) (e.g., a digital data of ‘0’) that indicate the remote parking app  504  has stopped receiving the input while the interface is not being presented, and the third input(s)  606  are signal(s) (e.g., digital data of ‘1’) that indicate the sensors  508  of the touchscreen  122  have again received the input via the sensors  508  when the interface is being presented. When the second input(s)  604  indicate that the remote parking app  504  has stopped receiving the input while the interface is not being presented, the controller  502  sends a first signal  608  to the vehicle  102  to continue initiation of remote parking of the vehicle  102 . 
     In  FIG. 7 , the first input(s)  602  are signal(s) (e.g., digital data of ‘1’) that indicate the sensors  508  of the touchscreen  122  have received the input via the sensors  508 , the second input(s)  604  are signal(s) (e.g., a digital data of ‘1’) that indicate the remote parking app  504  has continued to receive the input while the interface is not being presented, and the third input(s)  606  are signal(s) (e.g., digital data of ‘1’) that indicate the sensors  508  of the touchscreen  122  have again received the input via the sensors  508  when the interface is being presented. When the second input(s)  604  indicate that the remote parking app  504  has continued to receive the input while the interface is not being presented, the controller  502  stops sending the first signal  608  and/or sends a second signal  702  to the vehicle  102  to stop initiation of remote parking of the vehicle  102 . 
       FIG. 8  is a block diagram of electronic components  800  of the mobile device  100 . As illustrated in  FIG. 8 , the electronic components  800  include the controller  502 , memory  802 , the communication module  120 , and the touchscreen  122  that includes the display  506  and the sensors  508 . 
     The controller  502  may 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 memory  802  may 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 memory  802  includes multiple kinds of memory, particularly volatile memory and non-volatile memory. 
     The memory  802  is 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 memory  802 , the computer readable medium, and/or within the controller  502  during execution of the instructions. For example, the remote parking app  504  includes one or more sets of instructions that are embedded on the memory  802  and are executed by the controller  502 . 
     The terms “non-transitory computer-readable medium” and “computer-readable medium” include a single medium or multiple media, such as a centralized or distributed database, and/or associated caches and servers that store one or more sets of instructions. Further, the terms “non-transitory computer-readable medium” and “computer-readable medium” include any tangible medium that is capable of storing, encoding or carrying a set of instructions for execution by a processor or that cause a system to perform any one or more of the methods or operations disclosed herein. As used herein, the term “computer readable medium” is expressly defined to include any type of computer readable storage device and/or storage disk and to exclude propagating signals. 
       FIG. 9  is a block diagram of electronic components  900  of the vehicle  102 . As illustrated in  FIG. 9 , the electronic components  900  include an on-board computing platform  902 , the communication module  116 , sensors  904 , electronic control units (ECUs)  906 , and a vehicle data bus  908 . 
     The on-board computing platform  902  includes a microcontroller unit, controller or processor  910  and memory  912 . The processor  910  may 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 memory  912  may 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 memory  912  includes multiple kinds of memory, particularly volatile memory and non-volatile memory. 
     The memory  912  is 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 memory  912 , the computer readable medium, and/or within the processor  910  during execution of the instructions. 
     The terms “non-transitory computer-readable medium” and “computer-readable medium” include a single medium or multiple media, such as a centralized or distributed database, and/or associated caches and servers that store one or more sets of instructions. Further, the terms “non-transitory computer-readable medium” and “computer-readable medium” include any tangible medium that is capable of storing, encoding or carrying a set of instructions for execution by a processor or that cause a system to perform any one or more of the methods or operations disclosed herein. As used herein, the term “computer readable medium” is expressly defined to include any type of computer readable storage device and/or storage disk and to exclude propagating signals. 
     The sensors  904  are arranged in and around the vehicle  102  to monitor properties of the vehicle  102  and/or an environment in which the vehicle  102  is located. One or more of the sensors  904  may be mounted to measure properties around an exterior of the vehicle  102 . Additionally or alternatively, one or more of the sensors  904  may be mounted inside a cabin of the vehicle  102  or in a body of the vehicle  102  (e.g., an engine compartment, wheel wells, etc.) to measure properties in an interior of the vehicle  102 . For example, the sensors  904  include 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 sensors  904  include a camera  914 , a RADAR sensor  916 , a LIDAR sensor  918 , and a vehicle speed sensor  920 . For example, the camera  914  obtains image(s) and/or video to enable detection and location of nearby object(s). The RADAR sensor  916  detects and locates the nearby object(s) via radio waves, and the LIDAR sensor  918  detects and locates the nearby object(s) via lasers. The camera  914 , the RADAR sensor  916 , and/or the LIDAR sensor  918  monitor an area surrounding the vehicle  102  to facilitate autonomous parking of the vehicle  102  into the available parking spot  104 . Further, the vehicle speed sensor  920  monitors a speed of the vehicle  102  to facilitate autonomous parking of the vehicle  102  into the available parking spot  104 . 
     The ECUs  906  monitor and control the subsystems of the vehicle  102 . For example, the ECUs  906  are 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 ECUs  906  communicate and exchange information via a vehicle data bus (e.g., the vehicle data bus  908 ). Additionally, the ECUs  906  may communicate properties (e.g., status of the ECUs  906 , sensor readings, control state, error and diagnostic codes, etc.) to and/or receive requests from each other. For example, the vehicle  102  may have seventy or more of the ECUs  906  that are positioned in various locations around the vehicle  102  and are communicatively coupled by the vehicle data bus  908 . 
     In the illustrated example, the ECUs  906  include the autonomy unit  114  and a body control module  922 . The autonomy unit  114  autonomously controls motive functions of the vehicle  102 , for example, to remotely park the vehicle  102  in the available parking spot  104 . The body control module  922  controls one or more subsystems throughout the vehicle  102 , such as power windows, power locks, an immobilizer system, power mirrors, etc. For example, the body control module  922  includes 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 bus  908  communicatively couples the communication module  116 , the on-board computing platform  902 , the sensors  904 , and the ECUs  906 . In some examples, the vehicle data bus  908  includes one or more data buses interconnected by a gateway. The vehicle data bus  908  may 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. 10  is a flowchart of an example method  1000  to verify an interface of a mobile device for remote parking of a vehicle in accordance with the teachings herein. The flowchart of  FIG. 10  is representative of machine readable instructions that are stored in memory (such as the memory  802  of  FIG. 8 ) and include one or more programs that are executed by a processor (such as the controller  502  of  FIGS. 5 and 8 ) of the mobile device  100  of  FIGS. 1 and 5-6 . Additionally or alternatively, the flowchart of  FIG. 10  is representative of machine readable instructions that are stored in memory (such as the memory  912  of  FIG. 9 ) and include one or more programs which, when executed by a processor (such as the processor  910  of  FIG. 9 ), cause the autonomy unit  114  to remotely park the vehicle  102  of  FIGS. 1, 5, and 9 . While the example program is described with reference to the flowchart illustrated in  FIG. 10 , 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 method  1000 . Further, because the method  1000  is disclosed in connection with the components of  FIGS. 1-9 , some functions of those components will not be described in detail below. 
     Initially, at block  1002 , the controller  502  of the mobile device  100  presents an interface (e.g., the interface  200  of  FIG. 2 , the interface  300  of  FIG. 3 , the interface  400  of  FIG. 4 ) of the remote parking app  504  to the user  118  via the display  506  of the touchscreen  122 . At block  1004 , the controller  502  determines whether an input has been received via the sensors  508  of the touchscreen  122  while the interface is being presented. In response to the controller  502  determining that an input has not been received from the user  118 , the method  1000  remains at block  1004 . Otherwise, in response to the controller  502  determining that an input (e.g., a dragging motion along the touchscreen  122  such as within along the wheel image  202  of  FIG. 2 , along the line  306  of  FIG. 3 , within the predefined motion track  402  of  FIG. 4 , etc.) has been received, the method  1000  proceeds to block  1006 . 
     At block  1006 , the controller  502  of the mobile device  100  sends an instruction (e.g., a first signal) to the autonomy unit  114  of the vehicle  102  via the communication module  120  and the communication module  116  to initiate remote parking of the vehicle  102 . At block  1008 , the autonomy unit  114  of the vehicle  102  autonomously parks the vehicle  102  into the available parking spot  104 . 
     At block  1010 , the controller  502  determines whether the sensors  508  of the touchscreen  122  have continuously received an input from the user  118  for longer than a predetermined threshold (e.g., about 5 seconds). In response to the controller  502  determining that the sensors  508  have not continuously received an input for longer than the predetermined threshold, the method  1000  returns to block  1002  to continue the presentation of the interface via the touchscreen  122 . Otherwise, in response to the controller  502  determining that the sensors  508  have continuously received an input for longer than the predetermined threshold, the method  1012  proceeds to block  1012 . At block  1012 , the controller  502  temporarily stops presentation of the interface via the display  506  of the touchscreen  122 . For example, the controller  502  temporarily stops presenting the interface for a predetermined period of time (e.g., about 1 second). 
     At block  1014 , while the interface is not being presented, the controller  502  determines whether the remote parking app  504  continues to receive the input. For example, the remote parking app  504  sends a first input signal (e.g., a digital data of ‘0’) to the controller  502  that indicates the remote parking app  504  has stopped receiving an input and/or sends a second input signal (e.g., a digital data of ‘1’) to the controller  502  that indicates the remote parking app  504  has continued to receive an input due to buffering or freezing of the remote parking app  504 , the touchscreen  122 , and/or the wireless communication module  120 . 
     In response to the remote parking app  504  not continuing to receive the input while the interface is not being displayed, the method proceeds to block  1016  at which the controller  502  continues to send the instruction (e.g., a first signal) to the vehicle  102  to initiate remote parking of the vehicle  102 . At block  1018 , the autonomy unit  114  continues to autonomously park the vehicle  102  into the available parking spot  104 . 
     Otherwise, in response to the remote parking app  504  continuing to receive the input while the interface is not being displayed, the method proceeds to block  1020  at which the controller  502  stops sending the instruction (e.g., the first signal) and/or sends another instruction (e.g., a second signal) to the autonomy unit  114  of the vehicle  102  to stop initiating the remote parking of the vehicle  102 . At block  1022 , the autonomy unit  114  stops autonomously parking the vehicle  102  while the remote parking app  504  is experiencing buffering or freezing. 
     In this application, the use of the disjunctive is intended to include the conjunctive. The use of definite or indefinite articles is not intended to indicate cardinality. In particular, a reference to “the” object or “a” and “an” object is intended to denote also one of a possible plurality of such objects. Further, the conjunction “or” may be used to convey features that are simultaneously present instead of mutually exclusive alternatives. In other words, the conjunction “or” should be understood to include “and/or”. The terms “includes,” “including,” and “include” are inclusive and have the same scope as “comprises,” “comprising,” and “comprise” respectively. 
     The above-described embodiments, and particularly any “preferred” embodiments, are possible examples of implementations and merely set forth for a clear understanding of the principles of the invention. Many variations and modifications may be made to the above-described embodiment(s) without substantially departing from the spirit and principles of the techniques described herein. All modifications are intended to be included herein within the scope of this disclosure and protected by the following claims.