Self-Service Repairs for Autonomous Vehicles

The method allows autonomous vehicles to autonomously drive to scheduled repair services by monitoring their systems and scheduling appointments, addressing the challenge of maintaining fully autonomous vehicles and ensuring timely and efficient repairs.

JP7657717B2Active Publication Date: 2025-04-07CONTINENTAL AUTOMOTIVE SYSTEMS INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2021535887
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-11-13
Filing Date
2019-12-13
Publication Date
2025-04-07
Estimated Expiration
2039-12-13

AI Technical Summary

Technical Problem

Fully autonomous vehicles require regular maintenance and repairs, but owners often find it difficult to schedule these services due to the vehicle's location and operational status, leading to potential safety issues and traffic congestion.

Method used

A method and system for autonomously driving a vehicle to a scheduled repair service, which involves receiving fault messages from vehicle systems, sending appointment requests to service stations, receiving available repair appointments, and instructing the vehicle to drive to the selected appointment.

Benefits of technology

This solution enables autonomous vehicles to monitor their systems, recognize the need for repairs, and schedule maintenance appointments, ensuring timely and efficient repair services without relying on human intervention, thereby reducing the risk of safety issues and traffic congestion.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007657717000001
    Figure 0007657717000001
  • Figure 0007657717000002
    Figure 0007657717000002
  • Figure 0007657717000003
    Figure 0007657717000003
Patent Text Reader

Abstract

A method for notifying an owner of a fault associated with a vehicle system of a vehicle. The method includes receiving, by a computing processor, one or more fault messages from a vehicle system of the vehicle. Each fault message includes a fault source identifying the vehicle system, a fault time identifying a time of the fault, and a fault description. The method also includes determining, by the computing processor, a fault value associated with the received one or more fault messages. The fault value indicates a number of time periods or events since an initial received fault message. The method also includes transmitting, from the computing processor, the fault value to a third party in communication with the computing processor. The method also includes receiving a service notification from the third party and displaying the service notification on a display in communication with the computing processor.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to a self-service repair system for autonomous vehicles.

[0002] Background technology Currently, many people own or lease vehicles. They often use these vehicles to commute to work or school. Upon reaching the destination, the vehicle is parked and the owner spends a long time at work or school. The vehicle sits in the parking lot unused for most of the day. Vehicle owners are often extremely busy and find it difficult to take their vehicle to a repair shop for routine maintenance or necessary repairs. The day of fully autonomous cars is fast approaching.

[0003] In the near future, fully autonomous vehicles will drive themselves on the roads without an owner or passenger. Many people expect the automotive market to shift from vehicle ownership to a service industry where people pay for transportation services instead of cars. An autonomous vehicle providing a service must drive itself to a location to pick up a customer, transport the customer to the destination, and then drive back to its home location or to pick up the next customer. Like any complex machine, an autonomous service vehicle will require regular maintenance and periodic repairs if the system is damaged or defective. There is also the possibility of safety-related recalls that need to be addressed. Additionally, an autonomous vehicle may behave differently on the way to a destination based on the severity of a component failure. An autonomous vehicle may recognize a failure and simply continue along the route until it is safe to leave the road and call for service, or become stuck and cause traffic congestion. It is therefore desirable to have an autonomous vehicle that can monitor its systems, recognize when repairs are needed, and schedule a maintenance repair appointment with a repair shop.

[0004] overview One aspect of the disclosure provides a method for autonomously driving a vehicle to a scheduled repair service. The method includes receiving, at data processing hardware, a fault message from a vehicle system supported by the vehicle. The fault message is associated with the fault and includes a fault source identifying the vehicle system, a fault time identifying a time of the fault, and a fault description. The method also includes sending an appointment request from the data processing hardware to one or more service stations over a network in communication with the data processing hardware and the service stations. The method also includes receiving, at the data processing hardware, one or more appointment lists. Each list associated with one of the one or more service stations includes one or more available repair appointments. The method also includes sending instructions from the data processing hardware to a driving system in communication with the data processing hardware to autonomously drive the vehicle to a service station at one of the one or more available repair appointments.

[0005] Embodiments of the present disclosure may include one or more of the following optional features: In some embodiments, the method includes transmitting a first display instruction from the data processing hardware to a user interface in communication with the data processing hardware. The first display instruction instructs the user interface to notify an owner of the vehicle of a fault associated with the fault message. The method may also include transmitting an authorization selection from the data processing hardware to the user interface authorizing the data processing hardware to transmit an appointment request to one or more service stations.

[0006] In some examples, the method further includes sending a second display instruction from the data processing hardware to the user interface instructing the user interface to notify an owner of the vehicle of the received one or more appointment lists. In some examples, the user interface includes a display configured to display the one or more appointment lists. The user interface may include a user device in communication with the data processing hardware over a network.

[0007] In some embodiments, the method further includes receiving, at the data processing hardware, an authorization code via a user interface. The method may also include verifying, by the data processing hardware, the authorization code, the previously entered authorization code. The method may also include, when the authorization code is verified, sending an instruction from the data processing hardware to one or more vehicle systems to enter a vehicle service mode that enables a service technician to perform vehicle maintenance.

[0008] In some examples, the method further includes receiving, at the data processing hardware, an appointment selection via a user interface in communication with the data processing hardware. The appointment selection indicates an available repair appointment from among the one or more available repair appointments. The method may further include sending a confirmation message from the data processing hardware to one of the one or more service stations associated with the appointment selection, confirming one of the one or more available appointments offered by each service station. The method may include storing the fault message in a hardware memory in communication with the data processing hardware. In this method, the data processing hardware communicates with the vehicle system via a communication bus.

[0009] Another aspect of the present disclosure provides a system for autonomously driving a vehicle to a scheduled repair service appointment, the system including data processing hardware and a hardware memory in communication with the data processing hardware, the hardware memory storing instructions that, when executed on the data processing hardware, cause the data processing hardware to perform operations including the methods described above.

[0010] The details of one or more implementations of the disclosure are set forth in the accompanying drawings and the description below. Other aspects, features, and advantages will become apparent from the description and drawings, and from the claims. [Brief description of the drawings]

[0011] [Figure 1] FIG. 1 is a schematic diagram of an example autonomous vehicle self-service repair system. [Figure 2A] FIG. 2 is a schematic diagram of the exemplary vehicle of FIG. 1. [Figure 2B] FIG. 2 is a schematic diagram of the exemplary vehicle of FIG. 1. [Figure 3A] 1 is a schematic diagram of an example user device screen displaying a notification message. [Figure 3B] 1 is a schematic diagram of an example user device screen displaying a notification message. [Figure 4A] FIG. 2 is a schematic diagram of an exemplary arrangement of operations of the method for scheduling and driving to repair appointments. [Figure 4B] FIG. 2 is a schematic diagram of an exemplary arrangement of operations of the method for scheduling and driving to repair appointments. [Diagram 5] FIG. 2 is a schematic diagram of an exemplary arrangement of operation of a method for autonomously driving a vehicle to a scheduled repair service appointment at a service station. [Figure 6] FIG. 1 is a schematic diagram of an example computing device for implementing any of the systems or methods described herein.

[0012] Like reference symbols in the various drawings indicate identical elements.

[0013] Detailed Description In the near future, fully autonomous vehicles will drive themselves on the roads without an owner or passenger. Like any complex machine, autonomous vehicles will require periodic maintenance and periodic repairs if one or more of their systems are damaged or defective. Furthermore, in some instances, autonomous vehicles may be recalled for safety-related reasons that need to be addressed. Therefore, it is desirable to implement a repair attendant system in autonomous vehicles that monitors the vehicle systems for conditions that require repair. When the repair attendant system identifies one or more conditions that require repair, the repair attendant system may perform tasks. The tasks may include, for example, scheduling a repair appointment and instructing the vehicle to drive to and from the repair appointment. In so doing, the vehicle owner is kept informed of the vehicle's condition and is involved in the decisions associated with scheduling the repair. Thus, instead of being parked idle in a parking lot all day, the vehicle can be driven to a service station for scheduled maintenance. Such maintenance may be, but is not limited to, oil changes, tire rotation or installation of new tires, scheduled maintenance, etc. Once the service station has performed the vehicle maintenance, the vehicle may be returned to its original parking spot before the owner is required to return home.

[0014] In some embodiments, the repair attendant system is supported by a fully autonomous vehicle that includes a telematics system that communicates with the repair attendant system's electronic control unit (ECU). While the vehicle is started and in use, the repair attendant system periodically checks various vehicle systems for faults and warning messages requiring service. The repair attendant system can also keep a record of past repairs and maintenance so that the repair attendant system can make recommendations to the owner / vehicle owner when the next scheduled maintenance is required based on mileage or time elapsed since the last repair. The repair attendant system can communicate with a service station to receive repair notifications and communicate the received repair notifications to the vehicle owner (e.g., via a user device). The message may include information regarding the type of maintenance the vehicle needs and asks the owner for permission to schedule a repair appointment. With the owner's permission, the repair attendant system contacts a local service station to obtain scheduling options and estimated costs. Once the requested information is received from the service station, the repair attendant system sends the owner all feasible repair options (i.e., options that do not interfere with the owner's calendar). The owner can then select the most suitable option to schedule the repair. The repair attendant system then contacts the selected service station to arrange a date and time and provide an authorization code so that the service representative can access the vehicle upon arrival. At the designated time, the vehicle drives itself to the service station and notifies the service station of its arrival. The service representative uses the authorization code to access the vehicle and perform the necessary repairs. After the repairs are successfully completed, the service representative enters the code via a user interface that communicates with the repair attendant system. Finally, the vehicle is returned to its original location and the owner is notified.

[0015] 1 illustrates an autonomous vehicle self-service repair system 100 that includes a vehicle 200 associated with an owner or driver 102. The autonomous vehicle self-service repair system 100 also includes one or more user devices 110 associated with the owner 102. The vehicle 200 and the user devices 110 communicate with each other and with a remote system 120 via a network 20. The remote system 120 may be a distributed system (e.g., a cloud environment) having scalable / elastic computing resources 122 and / or storage resources 124. The network 20 may include various types of networks, such as a local area network (LAN), a wide area network (WAN), and / or the Internet.

[0016] In some embodiments, user device 110 is any computing device capable of communicating with vehicle 200. User device 110 may include, but is not limited to, mobile computing devices such as laptops 110a, tablets 110b, smartphones 110c, and wearable computing devices 110d (e.g., headsets and / or watches). User device 110 may also include other computing devices having other form factors, such as desktop computers 110e, gaming devices, televisions or other appliances (e.g., networked home automation devices and household appliances).

[0017] The user device 110 may use any of a variety of different operating systems. In an example where the user device 110 is a smartphone 110c, the user device 110 may run an operating system, including, but not limited to, ANDROID® developed by Google, IOS® developed by Apple, or WINDOWS PHONE® developed by Microsoft. Thus, the operating system running on the user device 110 may include, but is not limited to, one of ANDROID®, IOS®, or WINDOWS PHONE®. In an example where the user device 110 is a laptop or desktop computing device, the user device may run an operating system, including, but not limited to, MICROSOFT WINDOWS® by Microsoft, MAC OS® by Apple, or Linux.

[0018] In some examples, the user device 110 runs a vehicle software application 114 for communicating with the vehicle 200, i.e., the repair attendant system 280 supported by the vehicle 200. The vehicle application 114 may be a native vehicle application 114a dedicated to interfacing with the vehicle 200. In other examples, the user device 110 communicates with the vehicle 200 using a more general application 114b, such as a web browser application accessed using a web browser and executed on the remote system 120. A software application (i.e., a software resource) may refer to computer software that causes a computing device to perform a task. In some examples, a software application may be referred to as an "application," "app," or "program." Exemplary applications include, but are not limited to, a system diagnostic application, a system management application, a system maintenance application, a word processing application, a spreadsheet application, a messaging application, a media streaming application, a social networking application, and a gaming application.

[0019] 1-2B, in some embodiments, the vehicle 200 includes a body 210 supported by a drive system 220 that enables the vehicle 200 to drive on a road surface. In some examples, the body 210 has a front portion 210a and a rear portion 210b. The drive system 220 includes wheels 222. For example, the drive system 220 includes right front wheels 222, 222a, left front wheels 222, 222b, right rear wheels 222, 222c, and left rear wheels 222, 222d. The right front wheel 222a and the left front wheel 222b are positioned substantially opposite each other about a fore-aft axis X defined by the body 210. Additionally, the right rear wheel 222c and the left rear wheel 222d are positioned substantially opposite each other about a transverse axis Y. The drive system 220 may also include other wheel 222 configurations.

[0020] The vehicle body 210 can move along the roadway by various combinations of motion about two perpendicular axes defined by the vehicle body 210, namely, a longitudinal axis X and a lateral axis Y. A forward driving direction along the longitudinal axis X is designated F (hereinafter sometimes referred to as "forward"), and a rearward driving direction along the longitudinal axis X is designated R (hereinafter sometimes referred to as "rearward"). The lateral axis Y extends between the right and left sides of the vehicle body 210, substantially defined by a midpoint between both the right front wheel 222a and the left front wheel 222b, and both the right rear wheel 222c and the left rear wheel 222d.

[0021] The vehicle body 210 defines a passenger compartment 230 configured to allow one or more passengers to sit in the vehicle 200 and / or allow one of the passengers to drive or partially drive (i.e., in the case of a semi-autonomous vehicle) the vehicle 200. The vehicle 200 may include a dashboard 232 extending across the width of the passenger compartment 230 in front of one or more seats disposed in the front portion 210a of the vehicle body 210. For example, the dashboard 232 extends across the width of the passenger compartment 230 in front of an owner seat and a passenger seat.

[0022] The dashboard 232 may include an instrument panel 234 that includes, among other things, an instrument indicating speed (i.e., a speedometer), a tachometer, fuel level, oil pressure, turn signals, air conditioning, light indicators, and an entertainment system. Additionally, the instrument panel 234 may include a display 236, which may also display a warning light indicator 238, such as an information light icon, which is typically green, blue, or white, indicating that a system associated with the displayed warning light indicator 238 is operational. The warning light indicator 238 may be a warning light icon, which is typically yellow or orange, indicating that the vehicle 200 needs to be serviced immediately or is in need of repair. In some examples, the warning light indicator 238 is a caution light icon, which is typically red, indicating that the vehicle 200 has a serious problem or safety issue and should not be driven. Some of these warning light indicators 238 include, but are not limited to, seat belt unfastened, parking brake, airbag warning, engine temperature, low tire pressure, battery or alternator warning, engine emissions warning check, door open, suspension damper, traction control or ESP (electronic stability program), low oil pressure and distance warning. As shown in FIG 2A, the displayed warning light indicator 238 is an airbag warning indicator that indicates there is a problem or fault with the airbag system of the vehicle 200.

[0023] Because the owner may ignore the warning provided by the warning light indicator 238, the vehicle 200 includes a user interface 240 that provides the owner with additional information associated with the displayed warning light indicator 238. The user interface 240 may include an instrument panel display 236 that is part of the instrument panel 234 (as shown) or separate from the instrument panel, such as a head-up display or display screen 237 supported by the dashboard 232. The display screen 237 may be located in a central portion of the dashboard 232 and may be used to display images from a rearview camera, to display a map for navigation, to display vehicle settings and / or audiovisual settings. In some examples, the user interface 240 includes a user device display 112 of a user device 110 that communicates with the vehicle 200. The user interface 240 may be a touch screen that allows the owner to touch the screen to interact with the user interface 240. In other examples, the user interface 240 is configured to receive owner input from one or more sources, such as, but not limited to, an input keyboard, a rotary dial, one or more keys on a steering wheel supported by the dashboard 232, and the like.

[0024] As shown in FIG. 2A, the displayed warning light indicator 238 is an airbag warning icon, and the displayed message 242 provides more information regarding the airbag display warning light indicator 238. Additionally, as shown, the displayed message 242 includes an acknowledge button 243, which allows the owner to press a button (if the user interface 240 is a touch screen interface) or select the button 243 (e.g., by a physical button input on a steering wheel). The acknowledge button 243 may include a "yes" button and a "no" button that allows the owner 102 to answer the question. In some examples, the displayed message 242 is also displayed on the dashboard display screen 237 or the user device display 112 (as shown in FIGS. 3A and 3B).

[0025] 1-2B, in some embodiments, vehicle 200 includes a Global Positioning System (GPS) receiver 250 that receives information from one or more GPS satellites 30 and calculates a geographic position of vehicle 200 based on the received information. GPS receiver 250 continuously calculates the position of vehicle 200 so that vehicle 200 knows its location while autonomously driving along roads to its destination.

[0026] Vehicle 200 may also include a communication system 260 that enables communication between vehicle 200 and user device 110, service station 130, network 20, remote system 120, and / or other vehicles. In some examples, the communication system includes a telematics system 262 that communicates with GPS receiver 250 and other vehicle systems (e.g., drive system 220). Telematics system 262 receives information such as a GPS position from GPS receiver 250 and wheel speeds associated with wheels 222 of drive system 220, and based on the received GPS position and wheel speeds, telematics system 262 positions vehicle 200 on a virtual geographic map of an area associated with the current location of vehicle 200.

[0027] In some examples, vehicle 200 includes additional vehicle systems 270, 270a-n, such as, but not limited to, an engine system, a powertrain system, a body and security system, a safety system, a braking system, a sensor system, etc. Each of vehicle systems 270, 270a-n includes an electronic control unit (ECU) (not shown).

[0028] Vehicle 200 also includes a repair attendant system 280, which communicates with drive system 220, user interface 240, GPS receiver 250, communication system 260, and other vehicle systems 270, 270a-n. Repair attendant system 280 includes an electronic control unit (ECU) 282 that includes a computing processor 284 (e.g., a central processing unit) in communication with non-transitory memory 286 (e.g., a hard disk, flash memory, random access memory, hardware memory, to name a few). Non-transitory memory 286 stores instructions that, when executed by computing processor 284, cause ECU 282, and thus repair attendant system 280, to perform operations. In some examples, repair attendant system 280 is a stand-alone controller having each computing processor 282 and hardware memory 284. Also, in other examples, repair attendant system 280 may be a combination of one or more ECUs and thus have one or more ECU hardware processors in communication with one or more ECU non-transitory memories that may store instructions executable by the one or more ECU hardware processors.

[0029] The repair attendant system 280 monitors the vehicle's shared communication bus 202 and analyzes communications from the vehicle systems 220, 240, 250, 260, 270 to identify a fault message 272 associated with one of the vehicle systems 220, 240, 250, 260, 270. Additionally, the repair attendant system 280 may receive a recall notification signal 132 from a service station 130 that communicates with the repair attendant system 280 via the network 20. Once the repair attendant system 280 identifies a fault message 272 or a recall message 132, the repair attendant system 280 notifies the owner 102 via an instruction 287 on the user interface 240 to display a message 242 indicating a fault associated with the fault message 272 or the recall message 132. Additionally, the repair attendant system 280 communicates with one or more service stations 130 via the network 20 to schedule a repair associated with the fault associated with the fault message 272 or the recall message 132. In some examples, the repair attendant system 280 identifies multiple fault messages 272 and / or recall messages 132 associated with one or more vehicle systems 220, 240, 250, 260, 270. In this case, the notification arbitration system 288 provides a prioritization mechanism among the faults associated with the fault messages 272 and / or recall messages 132, allowing the user interface 240 to display the more severe faults before the less severe faults because, in some examples, the service station 130 cannot handle all of the repairs associated with the vehicle 200.

[0030] Each fault message 272 or recall message 132 includes one or more of a vehicle system identifier or source that identifies which vehicle system 220, 240, 250, 260, 270 the fault message 272 is associated with or affects, a fault time, and a fault description that identifies a type of fault or recall. For example, the fault message 272 may include a vehicle system identifier that identifies the drive system 220 having the fault associated with the fault message 272, and the fault identifier may include information regarding the right front tire 222a that has low pressure. Based on the fault data of the received fault message 272, the repair attendant system 280 determines which instructions 287 to send to the user interface 240 for displaying the message 242 to the owner 102.

[0031] The repair attendant system 280 instructs the user interface 240 to display a scheduling message 242 associated with the fault message 272 or the recall message 132. In some examples, the user interface 240 includes an audio system 246 that outputs a sound associated with the scheduling message 242. In some examples, the scheduling message 242 also includes an acknowledgement button 243 that allows the owner 102 to acknowledge receipt of the message by interacting with the user interface 240, for example, by pressing a “yes” button or a “no” button 243 after reading the scheduling message 242. In some examples, the scheduling message 242 also asks the owner 102 whether the repair attendant system 280 should request an available service appointment from one or more service stations 130 to repair the vehicle system 220, 240, 250, 260, 270 associated with the fault message 272 or the recall message 132.

[0032] 3A and 3B, in some embodiments, the repair attendant system 280 communicates with the user device 110 via the network 20, for example, via the vehicle applications 114, 114a, 114b. Thus, the repair attendant system 280 instructs the user interface 240, i.e., the user device 110, to display a scheduling message 242 on the display 112 of the user device 110. The vehicle applications 114, 114a, 114b enable interaction between the user device 110 and the owner 102. Thus, the owner 102 can confirm the request for service of the scheduling message 242 using the user device 110 by selecting one of two options: a "Yes" button 243 or a "No" button 243. The user device 110 transmits the selection to the repair attendant system 280, which then transmits a service appointment request 281 to the repair attendant system 280 over the network 20 if the owner selects the “Yes” button 243. The service stations 130 receive the service appointment requests 281 from the vehicles 200, i.e., the repair attendant systems 280, and each service station 130 transmits an availability list 134 that includes one or more available times when each service station 130 can service the vehicle 200.

[0033] The repair attendant system 280 receives the service station availability list 134 and directs the user interface 240 to display the availability list 134 to allow the owner 102 to select from the availability associated with each service station 130. The owner 102 may make a selection from the availability list 134 and the repair attendant system 280 sends a message to the selected service station 130 confirming the date and time of the scheduled repair.

[0034] 4A and 4B illustrate an example block diagram 400 for operating the vehicle 200 and notifying the owner 102 of one or more faults associated with one or more vehicle systems 220, 240, 250, 260, 270 and scheduling repairs as shown in FIGS. 1-3B. In block 402, the vehicle 200 (i.e., an autonomous vehicle) is started. In some examples, the vehicle owner 102 can start the vehicle 200 while sitting in the passenger compartment 230 or can start the vehicle 200 remotely. In other examples, the vehicle 200 may start autonomously at a scheduled start time pre-scheduled by the owner 102. Once the vehicle 200 is started, all vehicle systems 220, 240, 250, 260, 270 are started and in block 404, the repair attendant system 280 checks if a fault condition exists. These are identified by analyzing vehicle bus messages 272, by receiving data from a service station 130, or by routine maintenance logs. In decision block 406, the repair attendant system 280 determines whether repair service is required. If repair service is not required, the repair attendant system 280 continues to check for faults at predetermined intervals, for example every five minutes, until the repair attendant system 280 identifies a fault or the vehicle is stopped. If in decision block 406, the repair attendant system 280 determines that repair service is required, in block 408, the repair attendant system 280 instructs the user interface 240 to display a message 242 on the display 112, 236, 237 of the user interface 240, notifying the owner 102 of the fault. The displayed message 242 may include information associated with the fault, information associated with the vehicle system that caused the fault, and a question asking whether the owner 102 would like the repair attendant system 280 to collect information from one or more service stations 130 available to perform repairs.At decision block 410, the repair attendant system 280 determines whether the owner 102 has given the repair attendant system 280 permission to request the list 134 of available repair slots from the service station 130. If permission has not been given by the owner 102, the repair attendant system 280 returns to block 404. In some examples, the repair attendant system 280 instructs the user interface 240 to display a message every predetermined period of time to remind the owner 102 of the identified fault and the need to repair the fault. In some examples, the repair attendant system 280 classifies the fault and, based on the fault category, the predetermined period of time between each message display is shortened.

[0035] Referring again to decision block 410, if the owner 102 gives permission to retrieve scheduling information from the service station 130 via the user interface 240, in block 412 the repair attendant system 280 instructs the communication system 260 to send a service request message 281 to one or more service stations 130, for example, service stations within a predefined mile radius of the location of the vehicle 200, or service stations near the owner's home address (previously stored in the non-transient memory 286), or service stations near the owner's work address (also previously stored in the non-transient memory 286). The service request message 281 includes a request to the service station 130 to provide those appointments available to perform the service. In some examples, the service request message 281 includes information about the vehicle 200, the vehicle systems 220, 240, 250, 260, 270 associated with the fault, and details of the fault. In such a case, as shown in block 414, the service stations 130 capable of handling the fault respond with a list 134 of available times when the service can be performed.

[0036] Once the list of available appointments 134 is received at the communication system 260, in block 416 the repair attendant system 280 instructs the user interface 240 to display the list of available appointments 134, as shown in FIG. 3B, and prompts the owner to make a selection from one or more options displayed on the display 112. In decision block 418, the repair attendant system 280 determines whether the owner 102 has made a selection. If no selection has been made, the repair attendant system 280 returns to block 404. However, in block 418, the repair attendant system 280 receives a selection from the owner 102 via the user interface 240, then in block 420 the repair attendant system 280 communicates with the service station 130 (via the communication system over the network 20) ​​to set up the selected appointment. In some examples, the repair attendant system 280 transmits a service authorization code 283 to the service station 130 to confirm the service appointment.

[0037] In block 422, the vehicle 200 autonomously drives to the selected service station 130 for the owner selected service appointment. Then, in block 424, the vehicle 200 parks in a parking lot at the service station 130, and the repair attendant system 280 notifies the service station 130 (via the communication system 260) of its location and its arrival for service. In block 426, the service technician enters the authorization code 283 previously received from the repair attendant system 280 to enter vehicle service mode. Then, in block 428, the service technician moves the vehicle 200 to a repair lot and begins servicing the vehicle 200. Once the service technician has completed the repair, in block 430, the service technician returns the vehicle 200 to the parking lot at the service station 130. In some examples, the technician enters a repair code via the vehicle user interface 240 indicating completion of the repair. The repair code may include details of the repair, such as the type of repair, the date and time of the repair, and the vehicle systems 270 affected by the repair. Once entered, in block 432, the repair attendant system 280 stores the entered information in memory 286 to keep a record of all vehicle repairs performed. In block 434, the repair attendant system 280 transmits an updated status to the user device 110 over the network 20 indicating the completed repairs. In some examples, the updated status includes an estimated time to return to the location where the owner 102 left the vehicle 200 prior to departure for repairs. The repair attendant system 280 instructs the vehicle 200 to drive autonomously back to the original location. Once the vehicle 200 is back in the original location, the vehicle 200 is stopped to await the next scheduled drive.

[0038] 5 provides an exemplary arrangement of operation of a method 500 for autonomously driving a vehicle 200 to a scheduled repair service appointment at a service station 130. The vehicle 200 supports a repair attendant system 280, shown in FIGS. 1-4B, including an ECU 282 having data processing hardware 284 and a hardware memory 286 in communication with the data processing hardware 284. In block 502, the method 500 includes receiving, in the data processing hardware 284, fault messages 272 from vehicle systems 220, 240, 250, 260, 270 supported by the vehicle 200. Each fault message 272 is associated with a fault for each vehicle system 220, 240, 250, 260, 270 and includes a fault source identifying the vehicle system 220, 240, 250, 260, 270, a fault time identifying the time of the fault, and a fault description. At block 504, the method 500 includes transmitting an appointment request 281 (e.g., a service request message) from the data processing hardware 284 to one or more service stations 130 via a network 20 in communication with the data processing hardware 284 and the service stations 130. The appointment request 281 indicates a request for the service station 130 to transfer a list 134 of available appointments at which the fault associated with the vehicle 200 can be repaired. At block 506, the method 500 includes receiving, at the data processing hardware 284, one or more appointment lists 134 from the service station 130. Each list 134 is associated with one of the one or more service stations and includes one or more available repair appointments. At block 508, the method 500 includes transmitting an instruction from the data processing hardware 284 to a drive system 220 in communication with the data processing hardware 284 to autonomously drive the vehicle 200 to one of the one or more available repair appointments to the service station 130.

[0039] In some embodiments, the method 500 includes transmitting a first display instruction 287 from the data processing hardware 284 to a user interface 240 in communication with the data processing hardware 284. The first display instruction 287 instructs the user interface 240 to notify the owner 102 of the vehicle 200 of the fault associated with the fault message 272. The method 500 may also include transmitting an authorization selection 243 from the data processing hardware 284 to the user interface 240. The authorization selection 243 authorizes the data processing hardware 284 to transmit an appointment request to one or more service stations 130. The method 500 may include transmitting a second display instruction 287 from the data processing hardware 284 to the user interface 240. The second display instruction 287 instructs the user interface 240 to notify the owner 102 of the vehicle 200 of the received one or more appointment lists 134. In other words, the second display instruction 287 causes the user interface 240 to display the received one or more appointment lists 134. The user interface 240 may include a display 112 configured to display the one or more appointment lists 134. Additionally, the user interface 240 may include a user device 110 in communication with the data processing hardware 284 over the network 20. In some examples, the user interface 240 may be an instrument panel display 236 that is part of the vehicle's instrument panel 234, a vehicle display 237, and / or a user device display 112.

[0040] In some examples, the method 500 includes receiving, at the data processing hardware 284, an authorization code 283 from the owner 102 via the user interface 240. The method 500 includes verifying, by the data processing hardware 284, the authorization code 283, which is a previously entered authorization code 283. In some examples, the previously entered code is a code entered by the owner 102, for example, when scheduling a service appointment. The authorization code 283 enables a service technician to service the vehicle 200. In some examples, once the authorization code 283 is verified, the method 500 includes transmitting an instruction from the data processing hardware 284 to one or more vehicle systems 220, 240, 250, 260, 270 to enter a vehicle service mode, thereby enabling the service technician to perform vehicle maintenance.

[0041] Method 500 may also include receiving, at data processing hardware 284, an appointment selection 243 via a user interface 240 in communication with data processing hardware 284. The appointment selection 243 indicates an available repair appointment from the one or more available repair appointments. Method 500 may also include sending, from data processing hardware 284, a confirmation message to one of the one or more service stations 130 associated with the appointment selection 243 confirming one of the one or more available appointments provided by each service station 130.

[0042] In some embodiments, the method 500 includes storing the fault message in a hardware memory 286 in communication with the data processing hardware 284. The data processing hardware 284 can monitor the stored fault messages and, in some examples, notify the owner 102 if the fault associated with the fault message is not repaired. In some examples, the data processing hardware 284 communicates with the vehicle systems 220, 240, 250, 260, 270 via the communication bus 202.

[0043] 6 is a schematic diagram of an exemplary computing device 600 that can be used to implement the systems and methods described herein. The computing device 600 is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. The components shown, their connections, relationships, and their functions are merely exemplary and are not intended to limit the implementation of the invention(s) described and / or claimed herein.

[0044] The computing device 600 includes a processor 610, a memory 620, a storage device 630, a high-speed interface / controller 640 connecting the memory 620 and a high-speed expansion port 650, and a low-speed interface / controller 660 connecting a low-speed bus 670 and the storage device 630. Each of the components 610, 620, 630, 640, 650, and 660 are interconnected using various buses and may be mounted on a common motherboard or in any other suitable manner. The processor 610 can process instructions for execution within the computing device 600, including instructions stored in the memory 620 or the storage device 630, to display graphical information for a graphical user interface (GUI) on an external input / output device, such as a display 110, 110, 680 coupled to the high-speed interface 640. In other embodiments, multiple processors and / or multiple buses may be used, along with multiple memories and memory types, as desired. Also, multiple computing devices 600 may be connected (eg, as a bank of servers, a group of blade servers, or a multi-processor system) with each device providing some portion of the required operations.

[0045] The memory 620 stores information non-transiently within the computing device 600. The memory 620 may be a computer-readable medium, a volatile memory unit, or a non-volatile memory unit. The non-transient memory 620 may be a physical device used to temporarily or permanently store programs (e.g., a sequence of instructions) or data (e.g., program state information) for use by the computing device 600. Examples of non-volatile memory include, but are not limited to, flash memory and read-only memory (ROM) / programmable read-only memory (PROM) / erasable programmable read-only memory (EPROM) / electrically erasable programmable read-only memory (EEPROM) (e.g., typically used for firmware such as boot programs). Examples of volatile memory include, but are not limited to, random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), phase change memory (PCM), disk, or tape.

[0046] The storage device 630 can provide mass storage for the computing device 600. In some embodiments, the storage device 630 is a computer-readable medium. In various different implementations, the storage device 630 can be a floppy disk device, a hard disk device, an optical disk device or a tape device, a flash memory or other similar solid-state memory device or an array of devices, including devices in a storage area network or other configurations. In additional embodiments, a computer program product is embodied in an information carrier. The computer program product includes instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer-readable medium or a machine-readable medium, such as the memory 620, the storage device 630, or a memory on the processor 610.

[0047] The high-speed controller 640 manages bandwidth-intensive operations of the computing device 600, and the low-speed controller 660 manages relatively low-bandwidth-intensive operations. Such assignment of duties is merely exemplary. In some embodiments, the high-speed controller 640 is coupled to the memory 620, the display 680 (e.g., via a graphics processor or graphics accelerator), and the high-speed expansion port 650. The high-speed expansion port 650 may accept various expansion cards (not shown). In some embodiments, the low-speed controller 660 is coupled to the storage device 630 and the low-speed expansion port 670. The low-speed expansion port 670, which may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet), may be coupled to one or more input / output devices, e.g., via a network adapter. These input / output devices may be, for example, a keyboard, a pointing device, a scanner, or a network device such as a switch or router.

[0048] The computing device 600, as shown, may be implemented in many different forms, for example, it may be implemented as a standard server 600a, or multiple times in a group of such servers 600a, as a laptop computer 600b, or as part of a rack server system 600c.

[0049] Various embodiments of the systems and techniques described herein may be realized in digital electronic and / or optical circuitry, integrated circuits, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementation in one or more computer programs executable and / or interpretable on a programmable system. The programmable system includes at least one programmable processor, which may be special purpose or general purpose, coupled to receive data and instructions from the storage system, at least one input device, and at least one output device, and to transmit data and instructions to the storage system, at least one input device, and at least one output device.

[0050] These computer programs (also known as programs, software, software applications or codes) contain machine instructions for a programmable processor and can be implemented in high-level procedural and / or object-oriented programming languages ​​and / or assembly / machine languages. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, non-transitory computer-readable medium, apparatus and / or device (e.g., magnetic disks, optical disks, memory, programmable logic devices (PLDs)). These are used to provide machine instructions and / or data to a programmable processor, including machine-readable media that receive machine instructions as machine-readable signals. The term "machine-readable signal" refers to any signal used to provide machine instructions and / or data to a programmable processor.

[0051] The subject matter and embodiments of the functional operations described herein can be implemented in digital electronic circuitry, computer software, firmware, or hardware, or a combination of one or more of them. The hardware includes the structures disclosed herein and their structural equivalents. Furthermore, the subject matter described herein can be implemented as one or more computer program products, i.e., as one or more modules of computer program instructions encoded on a computer-readable medium for execution by or for controlling the operation of a data processing apparatus. The computer-readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter affecting a machine-readable propagated signal, or a combination of one or more of them. The terms "data processing apparatus", "computing device" and "computing processor" encompass all apparatus, devices and machines that process data, including, by way of example, a programmable processor, a computer or multiple processors or multiple computers. In addition to the hardware, the apparatus can include code that creates an environment for the execution of the computer program in question, such as code constituting a processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them. A propagated signal is an artificially generated signal, such as a machine-generated electrical, optical or electromagnetic signal, that is generated to encode information for transmission to an appropriate receiving device.

[0052] A computer program (also known as an application, program, software, software application, script or code) may be written in any form of programming language, including compiled or interpreted languages, and may be deployed in any form. It may be a standalone program or a module, or may contain components, subroutines or other units suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program may be stored as part of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file or in several coordinated files dedicated to the program in question (e.g., a file that stores one or more modules, subprograms or portions of code). A computer program may be deployed to be executed on one computer or on several computers. The several computers may be located at one site or distributed across several sites and interconnected by a communication network.

[0053] The processes and logic flows described herein may be performed by one or more programmable processors executing one or more computer programs that perform functions by manipulating input data to generate output. The processes and logic flows may also be performed by, and an apparatus may be implemented as, special purpose logic circuitry, such as an FPGA (field programmable gate array) or ASIC (application specific integrated circuit).

[0054] Processors suitable for executing computer programs include, by way of example, both general purpose and special purpose microprocessors, and any one or more processors of any kind of digital computer. In general, a processor receives instructions and data from a read-only memory or a random access memory, or both. The essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. In general, a computer also includes one or more mass storage devices for storing data, such as a magnetic disk, a magneto-optical disk, or an optical disk, or is operatively coupled to receive data from one or more mass storage devices, or to transfer data to one or more mass storage devices, or both. However, such devices are not required for a computer. Furthermore, a computer can be incorporated in other devices, such as a mobile phone, a personal digital assistant (PDA), a mobile audio player, a global positioning system (GPS) receiver, to name a few. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices. This includes, by way of example, semiconductor memory devices such as EPROM, EEPROM and flash memory devices, magnetic disks such as internal hard disks or removable disks, magneto-optical disks, and CD-ROM and DVD-ROM disks. The processor and the memory may be supplemented by, or incorporated in, special purpose logic circuitry.

[0055] To provide for user interaction, one or more aspects of the present disclosure can be implemented in a computer having a display device, e.g., a CRT (cathode ray tube), LCD (liquid crystal display) monitor or touch screen, for displaying information to the user, and optionally a keyboard and pointing device, e.g., a mouse or trackball, by which the user can provide input to the computer. Other types of devices can also be used to provide for user interaction. For example, the feedback provided to the user can be any form of sensory feedback, such as visual feedback, auditory feedback or tactile feedback, and input from the user can be received in any form, including acoustic input, speech input or tactile input. Additionally, the computer can interact with the user by sending and receiving documents to and from a device used by the user, e.g., by sending a web page to a web browser on the user's client device in response to a request received from the web browser.

[0056] One or more aspects of the present disclosure may be implemented in a computing system including a back-end component, e.g., as a data server, or in a computing system including a middleware component, e.g., as an application server, or in a computing system including a front-end component, e.g., a client computer having a graphical user interface or a web browser through which a user can interact with an implementation of the subject matter described herein. Or one or more aspects of the present disclosure may be implemented in a computing system including any combination of one or more of such back-end, middleware, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include local area networks ("LANs") and wide area networks ("WANs"), internal networks (e.g., the Internet), and peer-to-peer networks (e.g., ad-hoc peer-to-peer networks).

[0057] A computing system may include clients and servers. Clients and servers are generally remote from each other and typically interact through a communications network. The relationship of clients and servers arises by virtue of computer programs running on each computer and having a client-server relationship to each other. In some embodiments, the server sends data (e.g., HTML pages) to the client device (e.g., for the purpose of displaying the data and receiving user input from a user interacting with the client device). Data generated at the client device (e.g., a result of a user interaction) can be received from the client device at the server.

[0058] Although the present specification contains many details, these should not be construed as limitations on the scope of the disclosure or what may be claimed, but rather as descriptions of features specific to particular embodiments of the disclosure. Certain features described herein in the context of separate embodiments may also be combined and implemented in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented in multiple embodiments separately or in any suitable subcombination. Furthermore, although features may be described above as acting in a particular combination and initially claimed as such, one or more features from the claimed combination may, in some cases, be deleted from the combination, and the claimed combination may be directed to a subcombination or a variation of the subcombination.

[0059] Similarly, although operations are shown in the figures in a particular order, this should not be understood as requiring that such operations be performed in the particular or sequential order shown, or that all of the operations shown be performed, to achieve desired results. In certain situations, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the program components and systems described may generally be integrated together in a single software product or packaged into multiple software products.

[0060] While a number of embodiments have been described, it will be understood that various modifications can be made without departing from the spirit and scope of the disclosure. Accordingly, other embodiments are within the scope of the following claims. For example, the actions recited in the claims can be performed in a different order and still achieve desirable results.

Claims

1. 1. A method for autonomously driving a vehicle to a scheduled repair service, the method comprising: receiving, in data processing hardware, a fault message from a vehicle system supported by the vehicle, the fault message being associated with a fault and including a fault source identifying the vehicle system, a fault time identifying a time of the fault, and a fault description; transmitting an appointment request from said data processing hardware to one or more service stations via a network in communication with said data processing hardware and said one or more service stations; receiving, at the data processing hardware, one or more appointment lists, each list associated with one of the one or more service stations including one or more available repair appointments; sending instructions from the data processing hardware to a driving system in communication with the data processing hardware to autonomously drive the vehicle to the service station at one of the one or more available repair appointments; receiving, via a user interface at the data processing hardware, an authorization code from an owner of the vehicle; verifying, by said data processing hardware, said authorization code being the authorization code entered by said owner when scheduling a service appointment; when the authorization code is verified, sending instructions from the data processing hardware to one or more vehicle systems to enter a vehicle service mode that enables a service technician to access the vehicle using the authorization code to perform vehicle maintenance; A method comprising:

2. sending a first display instruction from the data processing hardware to a user interface in communication with the data processing hardware, the first display instruction instructing the user interface to notify an owner of the vehicle of the fault associated with the fault message; transmitting an authorization selection from said data processing hardware to said user interface authorizing said data processing hardware to transmit said appointment request to one or more service stations; The method of claim 1 , further comprising:

3. 3. The method of claim 2, further comprising the step of transmitting a second display instruction from the data processing hardware to the user interface instructing the user interface to notify the owner of the vehicle of the received one or more appointment lists.

4. The method of claim 2 , wherein the user interface includes a display configured to display the one or more appointment lists.

5. The method of claim 4 , wherein the user interface comprises a user device in communication with the data processing hardware over the network.

6. 6. The method of claim 1, further comprising the step of receiving, at the data processing hardware, via a user interface in communication with the data processing hardware, an appointment selection, the appointment selection indicating an available repair appointment from among the one or more available repair appointments.

7. 7. The method of claim 6, further comprising the step of transmitting, from said data processing hardware, to one of said one or more service stations associated with said appointment selection, a confirmation message confirming one of said one or more available appointments offered by each of said service stations.

8. The method of claim 1 , further comprising the step of storing the fault message in a hardware memory in communication with the data processing hardware.

9. The method of claim 1 , wherein the data processing hardware communicates with the vehicle system via a communication bus.

10. 1. A system for autonomously driving a vehicle to a scheduled repair service appointment, the system comprising: Data processing hardware; a hardware memory in communication with the data processing hardware; Including, The hardware memory stores instructions that, when executed on the data processing hardware, cause the data processing hardware to perform operations, the operations including: receiving fault messages from vehicle systems supported by the vehicle, each fault message being associated with a fault and including a fault source identifying the vehicle system, a fault time identifying a time of the fault, and a fault description; transmitting an appointment request to one or more service stations via a network in communication with said data processing hardware and said service stations; receiving one or more appointment lists, each list associated with one of the one or more service stations including one or more available repair appointments; sending instructions to a driving system in communication with the data processing hardware to autonomously drive the vehicle to the service station at one of the one or more available repair appointments; receiving an authorization code from an owner of the vehicle via a user interface; verifying the authorization code, the authorization code being the authorization code entered by the owner when scheduling a service appointment; when the authorization code is verified, sending instructions to one or more vehicle systems to enter a vehicle service mode that allows a service technician to access the vehicle using the authorization code to perform vehicle maintenance; Including, system.

11. The system of claim 10 , further comprising a user interface in communication with the data processing hardware.

12. The operation further comprises: sending a first display instruction to the user interface, the first display instruction instructing the user interface to notify an owner of the vehicle of the fault associated with the fault message; sending an authorization selection to the user interface authorizing the data processing hardware to transmit the appointment request to the one or more service stations; The system of claim 11 , comprising:

13. The operation further comprises: The system of claim 12 further comprising transmitting a second display instruction to the user interface instructing the user interface to notify the owner of the vehicle of the received one or more appointment lists.

14. The system of claim 11 , wherein the user interface includes a display configured to display the one or more appointment lists.

15. The system of claim 14 , wherein the user interface comprises a user device in communication with the data processing hardware over the network.

16. The operation further comprises:

16. The system of claim 10, further comprising receiving an appointment selection via a user interface in communication with the data processing hardware, the appointment selection indicating an available repair appointment from among the one or more available repair appointments.

17. The operation further comprises:

17. The system of claim 16, further comprising transmitting a confirmation message from said data processing hardware to one of said one or more service stations associated with said appointment selection confirming one of said one or more available appointments offered by each of said service stations.

18. The system of claim 10 , wherein the hardware memory stores the fault message.

Citation Information

Patent Citations

  • Automated automobile maintenance using a centralized expert system

    US20120089474A1

  • Performing Services on Autonomous Vehicles

    US20150348335A1