Patent Description:
Vehicle speed information is important information for vehicle driving control. Various electronic control apparatuses of a vehicle, such as an electronic stability program (electronic stability program, ESP), an anti-lock braking system (anti-lock braking system, ABS), a traction control system (traction control system, TCS), and vehicle navigation, all need to use the vehicle speed information to generate a control signal. If a speed measurement apparatus (such as a vehicle speed sensor) causes inaccurate vehicle speed measurement, the control signal is faulty, and a serious safety problem is also caused. Therefore, it is very important to determine whether the vehicle speed measurement apparatus is faulty.

A common diagnosis method for a speed measurement apparatus is to use self-vehicle power information (which may be understood as information related to vehicle motion, or may be understood as information that affects a vehicle speed) other than vehicle speed information as a basis for diagnosis, to determine whether a vehicle speed is accurate, and further determine whether the speed measurement apparatus works normally. For example, in an electrical fault diagnosis method, when an electrical fault is detected, it may be determined that an initial speed sensor cannot work normally. However, in this method, only a connection fault such as circuit break or short-circuit can be detected. For another example, a manner of performing diagnosis based on a rotational speed and a torque of an engine and a shift brake signal is equivalent to inferring a vehicle speed based on the information such as the rotational speed and the torque and the brake signal, to compare the vehicle speed with the vehicle speed measured by the speed measurement apparatus. If the two vehicle speeds are inconsistent, it is determined that the speed measurement apparatus is faulty. However, in this manner, diagnosis cannot be performed when a vehicle is climbing. For still another example, a manner of performing diagnosis based on a wheel speed of a wheel is equivalent to inferring a vehicle speed based on the wheel speed, to compare the vehicle speed with the vehicle speed measured by the speed measurement apparatus. If the two vehicle speeds are inconsistent, it is determined that the speed measurement apparatus is faulty. However, in this manner, diagnosis cannot be performed when the wheel is slippery or stuck. <CIT> generally discloses a device that includes wheel speed sensors, a laser radar module, a real-time vehicle speed calculation module, a reference speed computing module, a calibration information acquisition module and a speed calibration module. Laser radar echo information is acquired by the laser radar module to obtain a reference speed. Wheel speed information is obtained by the wheel speed sensors to calculate a real-time speed. Reference speed and real-time speed are then compared.

In short, the foregoing diagnosis method in which diagnosis is performed based on other self-vehicle power information can be valid only in a specific case of the diagnosis method, and a diagnosis range is very limited. Once the diagnosis method exceeds the diagnosis range, the diagnosis method is invalid.

Therefore, how to more accurately diagnose a fault of the speed measurement apparatus is an urgent problem to be resolved.

Embodiments of the present invention are defined by the independent claims. Additional features of embodiments of the invention are presented in the dependent claims.

According to a first aspect, a fault diagnosis method as defined in claim <NUM> is provided.

In the technical solution of this application, a vehicle speed is estimated by using a reference object other than the vehicle, and is further compared with the vehicle speed measured by the speed measurement apparatus, so that whether the speed measurement apparatus is faulty can be determined. This solution does not need to rely on self-vehicle power information of the vehicle, and therefore is not limited by coverage of each type of self-vehicle power information. Therefore, this solution has a wider diagnosis range, so that a fault of the speed measurement apparatus can be more accurately diagnosed.

It should be noted that, in this embodiment of this application, the second vehicle speed is used to indicate an estimated vehicle speed, or may be understood as an inferred vehicle speed or a vehicle speed obtained through measurement by an apparatus that is not a speed measurement apparatus.

Optionally, the N moments may be consecutive moments, or may be inconsecutive moments, provided that the N moments are close to a moment corresponding to the first vehicle speed.

Optionally, N moments in a specific time length threshold range may be selected based on the moment corresponding to the first vehicle speed. To be specific, assuming that the first vehicle speed is measured at a moment T1 and the time length threshold range is Δt, N moments in a range of [T1-Δt, T1+Δt] may be selected. It should be understood that the N moments do not necessarily include T1. For example, N moments from T1+<NUM> to T1+N may be selected. It should be further understood that the N moments may be consecutive, or may be inconsecutive. This is not limited.

Optionally, the static reference object may be directly set as a road sign, a transportation facility, or the like, so that each step for fault diagnosis is started once the road sign or the transportation facility is recognized.

Optionally, objects around the vehicle may be obtained, static objects are selected from the recognized objects, and the static reference object is selected from the static objects.

With reference to the first aspect, in some implementations of the first aspect, before the obtaining reference information, the fault diagnosis method further includes: recognizing objects around the vehicle by using a sensing device of the vehicle; and selecting the static reference object from the recognized objects.

Optionally, the sensing device may include a camera or a radar.

It should be noted that, in this embodiment of this application, regardless of a plane road or a sloped road, or regardless of whether the vehicle travels straight or turns, the second vehicle speed may be estimated based on a relative relationship between the static reference object and the vehicle and a time interval for obtaining the static reference object. The following separately describes different road conditions and different vehicle traveling conditions.

With reference to the first aspect, in some implementations of the first aspect, the second vehicle speed may be further calculated by using the following method: obtaining at least one estimated vehicle speed through calculation by using the reference information at the N moments, that is, the location relationship of the static reference object relative to the vehicle at the N moments, where the estimated vehicle speed is an average vehicle speed between any two moments in the N moments; and processing the at least one estimated vehicle speed to obtain the second vehicle speed.

With reference to the first aspect, in some implementations of the first aspect, when the vehicle and the static reference object are on a same road plane and the vehicle travels straight, the following operations may be performed:.

With reference to the first aspect, in some implementations of the first aspect, when the vehicle and the static reference object are on a same road plane and the vehicle turns, the following operations may be performed:.

With reference to the first aspect, in some implementations of the first aspect, when the vehicle and the static reference object are not on a same road plane and the vehicle travels straight, the following operations may be performed:.

With reference to the first aspect, in some implementations of the first aspect, when the vehicle and the static reference object are not on a same road plane and the vehicle turns, the following operations may be performed:.

Optionally, the second vehicle speed may be obtained in a manner such as taking an average, a maximum value, or a minimum value. The following separately provides descriptions by using examples. It should be understood that, when there is only one estimated vehicle speed, a calculation result is equal to the estimated vehicle speed in any one of the foregoing manners of taking an average, a maximum value, and a minimum value. In this case, the estimated vehicle speed is the second vehicle speed. The following mainly describes a processing manner used when there are a plurality of estimated vehicle speeds. However, it should be understood that only one estimated vehicle speed may be considered as a special case of the plurality of estimated vehicle speeds.

For example, the plurality of estimated vehicle speeds may be averaged to obtain an average estimated vehicle speed, and the average estimated vehicle speed is used as the second vehicle speed.

For another example, a maximum value may be selected from the plurality of estimated vehicle speeds as the second vehicle speed.

For another example, a minimum value may be selected from the plurality of estimated vehicle speeds as the second vehicle speed.

For another example, a maximum value and/or a minimum value may be removed, and then an average of remaining estimated vehicle speeds is used as the second vehicle speed.

With reference to the first aspect, in some implementations of the first aspect, when the at least one estimated vehicle speed is processed to obtain the second vehicle speed, mean filtering or median filtering may be performed on the at least one estimated vehicle speed, and a vehicle speed obtained through the filtering is used as the second vehicle speed.

Optionally, whether the speed measurement apparatus is faulty may be determined based on a difference between the first vehicle speed and the second vehicle speed. When the difference falls within a specific threshold range, it is determined that the first vehicle speed is correct and the speed measurement apparatus is not faulty. When the difference does not fall within the threshold range, it is determined that the first vehicle speed is incorrect and the speed measurement apparatus is faulty.

With reference to the first aspect, in some implementations of the first aspect, whether the speed measurement apparatus is faulty may be determined based on the first vehicle speed and the second vehicle speed by using the following method.

When the difference between the first vehicle speed and the second vehicle speed is greater than a first preset threshold, it is determined that the speed measurement apparatus is faulty.

When the difference between the first vehicle speed and the second vehicle speed is less than or equal to the first preset threshold, it is determined that the speed measurement apparatus is not faulty.

Optionally, a plurality of second vehicle speeds may be calculated, to prevent an error from occurring in fault diagnosis because the second vehicle speed is estimated incorrectly or with a relatively large error. Then, when an error between the plurality of second vehicle speeds is relatively large, fault diagnosis is not performed. In other words, an inaccurate estimated second vehicle speed is not used as a basis for diagnosis.

In line with the invention a plurality of static reference objects is set, and second vehicle speeds of the plurality of reference objects are obtained by using the foregoing method.

Two second vehicle speeds are used as an example. A difference between each of the two second vehicle speeds and the first vehicle speed may be compared. Only when both differences are less than or equal to a specified threshold, it is determined that a vehicle speed sensor is faulty; otherwise, the second vehicle speed is re-obtained.

The second vehicle speed is re-obtained when a difference between any one of the two second vehicle speeds and the first vehicle speed is greater than a threshold.

A case for three or more second vehicle speeds is similar, and is not described herein.

With reference to the first aspect, in some implementations of the first aspect, there may be a plurality of static reference objects. In this case, reference information of the plurality of static reference objects may be obtained; a plurality of second vehicle speeds are calculated based on the reference information; and whether the speed measurement apparatus is faulty is determined based on the first vehicle speed and the plurality of second vehicle speeds.

It should be noted that obtaining the reference information of the plurality of static reference objects may be understood as obtaining reference information of a plurality of moments of each of the plurality of static reference objects.

With reference to the first aspect, in some implementations of the first aspect, during determining of whether the speed measurement apparatus is faulty based on the first vehicle speed and the plurality of second vehicle speeds, when a difference between the plurality of second vehicle speeds is greater than a second preset threshold, the second vehicle speed may be re-obtained; or when the difference between the plurality of second vehicle speeds is less than or equal to the second preset threshold, whether the speed measurement apparatus is faulty may be determined.

According to a second aspect, a fault diagnosis apparatus for a vehicle speed measurement apparatus is provided. The apparatus includes units configured to perform the method in any implementation of the first aspect.

According to a third aspect, a chip is provided. The chip includes a processor and a data interface. The processor reads, through the data interface, instructions stored in a memory, to perform the method in any implementation of the first aspect.

Optionally, in an implementation, the chip may further include the memory. The memory stores the instructions. The processor is configured to execute the instructions stored in the memory. When the instructions are executed, the processor is configured to perform the method in any implementation of the first aspect.

According to a fourth aspect, a vehicle is provided. The vehicle includes the fault diagnosis apparatus and the speed measurement apparatus in any implementation of the second aspect, and the fault diagnosis apparatus is configured to perform fault diagnosis on the speed measurement apparatus.

According to a fifth aspect, a computer-readable medium is provided. The computer-readable medium stores program code to be executed by a device. The program code includes instructions used to perform the method in any implementation of the first aspect.

According to a sixth aspect, a computer program product including instructions is provided. When the computer program product runs on a computer, the computer is enabled to perform the method in any implementation of the first aspect.

None of the above figures fall in the scope of the claims.

A fault diagnosis method and/or apparatus for a vehicle speed measurement apparatus provided in the embodiments of this application may be applied to various vehicles. The method and/or apparatus may be applied to manual driving, assisted driving, and autonomous driving. The following describes the technical solutions in the embodiments of this application with reference to the accompanying drawings.

<FIG> is a functional block diagram of a vehicle to which an embodiment of this application is applicable. The vehicle <NUM> may be a manual vehicle, or the vehicle <NUM> may be configured to be in fully or partially autonomous driving mode.

For example, the vehicle <NUM> may control the vehicle <NUM> when the vehicle <NUM> is in autonomous driving mode. The vehicle <NUM> may determine current statuses of the vehicle and an ambient environment of the vehicle through a manual operation, determine a possible behavior of at least one another vehicle in the ambient environment, determine a confidence level corresponding to a possibility that the another vehicle performs the possible behavior, and control the vehicle <NUM> based on determined information. When the vehicle <NUM> is in the autonomous driving mode, the vehicle <NUM> may be set to operating without interaction with a person.

The vehicle <NUM> may include various subsystems, such as a travel system <NUM>, a sensor system <NUM>, and a control system <NUM>, one or more peripheral devices <NUM>, a power supply <NUM>, a computer system <NUM>, and a user interface <NUM>.

Optionally, the vehicle <NUM> may include more or fewer subsystems, and each subsystem may include a plurality of elements. In addition, all the subsystems and elements of the vehicle <NUM> may be interconnected in a wired or wireless manner.

For example, the travel system <NUM> may include a component that provides power for the vehicle <NUM> to move. In an embodiment, the travel system <NUM> may include an engine <NUM>, a transmission device <NUM>, an energy source <NUM>, and a wheel/tire <NUM>. The engine <NUM> may be an internal combustion engine, a motor, an air compression engine, or a combination of other types of engines, for example, a hybrid engine including a gasoline engine and an electronic motor, or a hybrid engine including an internal combustion engine and an air compression engine. The engine <NUM> may convert the energy source <NUM> into mechanical energy.

For example, the energy source <NUM> includes gasoline, diesel, another petroleum-based fuel, propane, another compressed gas-based fuel, ethanol, a solar panel, a battery, and another power source. The energy source <NUM> may also provide energy to another system of the vehicle <NUM>.

For example, the transmission device <NUM> may include a gearbox, a differential, and a drive shaft. The transmission device <NUM> may transmit mechanical power from the engine <NUM> to the wheel <NUM>.

In an embodiment, the transmission device <NUM> may further include another device, for example, a clutch. The drive shaft may include one or more shafts that may be coupled to one or more wheels <NUM>.

For example, the sensor system <NUM> may include several sensors that sense information about an ambient environment of the vehicle <NUM>.

For example, the sensor system <NUM> may include a positioning system <NUM> (such as a global positioning system (global positioning system, GPS), a BeiDou system, or another positioning system), an inertial measurement unit (inertial measurement unit, IMU) <NUM>, a radar <NUM>, a laser rangefinder <NUM>, a camera <NUM>, and a vehicle speed sensor <NUM>. The sensor system <NUM> may further include sensors (for example, an in-vehicle air quality monitor, a fuel gauge, and an oil temperature gauge) in an internal system of the monitored vehicle <NUM>. Sensor data from one or more of these sensors may be used to detect an object and corresponding features (a position, a shape, a direction, a speed, and the like) of the object. Such detection and recognition are key functions for ensuring a safety operation of the automated vehicle <NUM>.

The positioning system <NUM> may be configured to estimate a geographical position of the vehicle <NUM>. The IMU <NUM> may be configured to sense changes of a position and an orientation of the vehicle <NUM> based on inertial acceleration. In an embodiment, the IMU <NUM> may be a combination of an accelerometer and a gyroscope.

For example, the radar <NUM> may sense an object in the ambient environment of the vehicle <NUM> by using a radio signal. In some embodiments, in addition to sensing the object, the radar <NUM> may be further configured to sense a speed and/or a moving direction of the object.

For example, the laser rangefinder <NUM> may sense, by using a laser, an object in an environment in which the vehicle <NUM> is located. In some embodiments, the laser rangefinder <NUM> may include one or more laser sources, a laser scanner, one or more detectors, and another system component.

For example, the camera <NUM> may be configured to capture a plurality of images of the ambient environment of the vehicle <NUM>. For example, the camera <NUM> may be a static camera or a video camera.

For example, the vehicle speed sensor <NUM> may be configured to measure a speed of the vehicle <NUM>. For example, the vehicle speed sensor <NUM> may measure the speed of the vehicle in real time. The measured vehicle speed may be transferred to the control system <NUM> to control the vehicle.

As shown in <FIG>, the control system <NUM> controls operations of the vehicle <NUM> and components of the vehicle. The control system <NUM> may include various elements, such as a steering system <NUM>, an accelerator <NUM>, a brake unit <NUM>, a computer vision system <NUM>, a route control system <NUM>, and an obstacle avoidance system <NUM>.

For example, the steering system <NUM> may be operated to adjust a moving direction of the vehicle <NUM>. For example, in an embodiment, the steering system may be a steering wheel system. The accelerator <NUM> may be configured to control an operating speed of the engine <NUM> and further control the speed of the vehicle <NUM>.

For example, the brake unit <NUM> may be configured to control the vehicle <NUM> to decelerate. The brake unit <NUM> may slow down the wheel <NUM> by using friction. In another embodiment, the brake unit <NUM> may convert kinetic energy of the wheel <NUM> into a current. The brake unit <NUM> may alternatively slow down a rotation speed of the wheel <NUM> in another manner, to control the speed of the vehicle <NUM>.

As shown in <FIG>, the computer vision system <NUM> may be operated to process and analyze images captured by the camera <NUM>, to recognize objects and/or features in the ambient environment of the vehicle <NUM>. The objects and/or features may include a traffic signal, a road boundary, and an obstacle. The computer vision system <NUM> may use an object recognition algorithm, a structure from motion (structure from motion, SFM) algorithm, video tracking, and another computer vision technology. In some embodiments, the computer vision system <NUM> may be configured to: draw a map for the environment, track an object, estimate a speed of the object, and the like.

For example, the route control system <NUM> may be configured to determine a driving route of the vehicle <NUM>. In some embodiments, the route control system <NUM> may determine the driving route for the vehicle <NUM> with reference to data from a sensor, the GPS, and one or more predetermined maps.

As shown in <FIG>, the obstacle avoidance system <NUM> may be configured to recognize, evaluate, and avoid or bypass, in another manner, a potential obstacle in the environment of the vehicle <NUM>.

In an instance, the control system <NUM> may add or alternatively include components other than those shown and described. Alternatively, the control system <NUM> may not include some of the components shown above.

As shown in <FIG>, the vehicle <NUM> may interact with an external sensor, another vehicle, another computer system, or a user via the peripheral device <NUM>. The peripheral device <NUM> may include a wireless communications system <NUM>, a vehicle-mounted computer <NUM>, a microphone <NUM>, and/or a speaker <NUM>.

In some embodiments, the peripheral device <NUM> may provide a means for the vehicle <NUM> to interact with the user interface <NUM>. For example, the vehicle-mounted computer <NUM> may provide information for the user of the vehicle <NUM>. The user interface <NUM> may be further used to operate the vehicle-mounted computer <NUM> to receive a user input. The vehicle-mounted computer <NUM> may be operated through a touchscreen. In another case, the peripheral device <NUM> may provide a means for the vehicle <NUM> to communicate with another device in the vehicle. For example, the microphone <NUM> may receive audio (for example, a voice command or another audio input) from the user of the vehicle <NUM>. Likewise, the speaker <NUM> may output audio to the user of the vehicle <NUM>.

As shown in <FIG>, the wireless communications system <NUM> may communicate with one or more devices directly or through a communications network in a wireless manner. For example, the wireless communications system <NUM> may use <NUM> cellular communication such as code division multiple access (code division multiple access, CDMA), EVD0, a global system for mobile communications (global system for mobile communications, or GSM)/a general packet radio service (general packet radio service, GPRS), <NUM> cellular communication such as long term evolution (long term evolution, LTE), or <NUM> cellular communication. The wireless communications system <NUM> may communicate with a wireless local area network (wireless local area network, WLAN) through Wi-Fi (Wi-Fi).

In some embodiments, the wireless communications system <NUM> may communicate with a device through an infrared link, Bluetooth, or ZigBee (ZigBee) directly or by using other wireless protocols such as various vehicle communications systems. For example, the wireless communications system <NUM> may include one or more dedicated short-range communications (dedicated short range communications, DSRC) devices, and these devices may include public and/or private data communication between vehicles and/or roadside stations.

As shown in <FIG>, the power supply <NUM> may supply power to various components of the vehicle <NUM>. In an embodiment, the power supply <NUM> may be a rechargeable lithium-ion or lead-acid battery. One or more battery packs of such batteries may be configured as the power supply to supply power to the components of the vehicle <NUM>. In some embodiments, the power supply <NUM> and the energy source <NUM> may be implemented together, as in some pure electric vehicles.

For example, some or all of functions of the vehicle <NUM> may be controlled by the computer system <NUM>. The computer system <NUM> may include at least one processor <NUM>. The processor <NUM> executes instructions <NUM> stored in, for example, a non-transient computer-readable medium in a memory <NUM>. The computer system <NUM> may further control a plurality of computing devices in an individual component or a subsystem of the vehicle <NUM> in a distributed manner.

For example, the processor <NUM> may be any conventional processor such as a commercially available central processing unit (central processing unit, CPU).

Optionally, the processor may be a dedicated device such as an application-specific integrated circuit (application-specific integrated circuit, ASIC) or another hardware-based processor. Although <FIG> functionally illustrates the processor, the memory, and other elements of a computer in a same block, a person of ordinary skill in the art should understand that the processor, the computer, or the memory may actually include a plurality of processors, computers, or memories that may or may not be stored in a same physical housing. For example, the memory may be a hard disk drive or another storage medium located in a housing different from that of the computer. Therefore, a reference to the processor or the computer is understood as including a reference to a set of processors, computers, or memories that may or may not be operated in parallel. Unlike using a single processor to perform the steps described herein, some components such as a steering component and a deceleration component may include respective processors. The processors each perform only calculation related to a component-specific function.

In various aspects described herein, the processor may be located far away from the vehicle and communicate with the vehicle in a wireless manner. In other aspects, some of the processes described herein are performed by the processor disposed inside the vehicle, and other processes are performed by a remote processor. The processes include necessary steps for performing a single operation.

In some embodiments, the memory <NUM> may include the instructions <NUM> (for example, program logic). The instructions <NUM> may be executed by the processor <NUM> to perform various functions of the vehicle <NUM>, including those functions described above. The memory <NUM> may also include additional instructions, including instructions to send data to, receive data from, interact with, and/or control one or more of the travel system <NUM>, the sensor system <NUM>, the control system <NUM>, and the peripheral device <NUM>.

For example, in addition to the instructions <NUM>, the memory <NUM> may store data such as road maps, route information, a location, direction, and speed of the vehicle, other such vehicle data, and other information. Such information may be used by the vehicle <NUM> and the computer system <NUM> during operation of the vehicle <NUM> in autonomous, semi-autonomous, and/or manual modes.

As shown in <FIG>, the user interface <NUM> may be configured to provide information to or receive information from the user of the vehicle <NUM>. Optionally, the user interface <NUM> may be included in one or more input/output devices in a set of the peripheral devices <NUM>, for example, the wireless communications system <NUM>, the vehicle-mounted computer <NUM>, the microphone <NUM>, and the speaker <NUM>.

In this embodiment of this application, the computer system <NUM> may control functions of the vehicle <NUM> based on inputs received from various subsystems (for example, the travel system <NUM>, the sensor system <NUM>, and the control system <NUM>) and the user interface <NUM>. For example, the computer system <NUM> may use an input from the control system <NUM> to control the brake unit <NUM>, to avoid an obstacle that is detected by the sensor system <NUM> and the obstacle avoidance system <NUM>. In some embodiments, the computer system <NUM> may be operated to provide control over many aspects of the vehicle <NUM> and the subsystems of the vehicle <NUM>.

Optionally, one or more of the foregoing components may be mounted separately from or associated with the vehicle <NUM>. For example, the memory <NUM> may exist partially or completely separate from the vehicle <NUM>. The foregoing components may be communicatively coupled together in a wired and/or wireless manner.

Optionally, the foregoing components are merely an example. During actual application, components in the foregoing modules may be added or removed based on an actual requirement. <FIG> should not be construed as a limitation on this embodiment of this application.

Optionally, the vehicle <NUM> may be an autonomous driving vehicle traveling on a road and may recognize an object in the ambient environment of the vehicle, to determine to adjust a current speed. The object may be another vehicle, a traffic control device, or another type of object. In some examples, each recognized object may be considered independently and may be used to determine a to-be-adjusted speed of the autonomous driving vehicle based on features of each object, such as a current speed of the object, acceleration of the object, or spacing between the object and the vehicle.

Optionally, the vehicle <NUM> or a computing device (for example, the computer system <NUM>, the computer vision system <NUM>, or the memory <NUM> shown in <FIG>) associated with the vehicle <NUM> may predict behavior of the recognized object based on the features of the recognized object and a condition (for example, traffic, rain, or ice on a road) of the ambient environment.

Optionally, the recognized objects depend on behavior of each other. Therefore, all the recognized objects may be considered together to predict behavior of a single recognized object. The vehicle <NUM> can adjust the speed of the vehicle <NUM> based on the predicted behavior of the recognized object. In other words, the autonomous driving vehicle can determine, based on the predicted behavior of the object, that the vehicle needs to be adjusted to a stable state (for example, acceleration, deceleration, or stop). In this process, another factor may also be considered to determine the speed of the vehicle <NUM>, for example, a horizontal location of the vehicle <NUM> on a road on which the vehicle travels, a curvature of the road, and proximity between a static object and a dynamic object.

In addition to providing an instruction for adjusting the speed of the autonomous driving vehicle, the computing device may further provide an instruction for modifying a steering angle of the vehicle <NUM>, so that the autonomous driving vehicle follows a given trajectory and/or maintains safe lateral and longitudinal distances between the autonomous driving vehicle and an object near the autonomous driving vehicle (for example, a car in an adjacent lane on the road).

The vehicle <NUM> may be a car, a truck, a motorcycle, a bus, a boat, an airplane, a helicopter, a lawn mower, a recreational vehicle, a playground vehicle, a construction device, a trolley, a golf cart, a train, a handcart, or the like. This is not specially limited in the embodiments of this application.

In a possible implementation, the vehicle <NUM> shown in <FIG> may be an autonomous driving vehicle. The following describes an autonomous driving system in detail.

<FIG> is a schematic diagram of an autonomous driving system to which an embodiment of this application is applicable.

The autonomous driving system shown in <FIG> includes a computer system <NUM>. The computer system <NUM> includes a processor <NUM>, and the processor <NUM> is coupled to a system bus <NUM>. The processor <NUM> may be one or more processors, and each processor may include one or more processor cores. A display adapter (video adapter) <NUM> may drive a display <NUM>, and the display <NUM> is coupled to the system bus <NUM>. The system bus <NUM> may be coupled to an input/output (I/O) bus <NUM> via a bus bridge <NUM>. An I/O interface <NUM> is coupled to the I/O bus. The I/O interface <NUM> communicates with a plurality of I/O devices, such as an input device <NUM> (for example, a keyboard, a mouse, or a touchscreen) and a media tray (media tray) <NUM> (for example, a CD-ROM or a multimedia interface). A transceiver <NUM> may transmit and/or receive a radio communication signal. A camera <NUM> may capture static and dynamic digital video images. An interface connected to the I/O interface <NUM> may be a USB port <NUM>.

The processor <NUM> may be any conventional processor, for example, a reduced instruction set computing (reduced instruction set computing, RISC) processor, a complex instruction set computing (complex instruction set computing, CISC) processor, or a combination thereof.

Optionally, the processor <NUM> may be a dedicated apparatus, for example, an application-specific integrated circuit (ASIC). The processor <NUM> may be a neural network processor or a combination of the neural network processor and the foregoing conventional processor.

Optionally, in some embodiments, the computer system <NUM> may be located at a position away from an autonomous driving vehicle and communicate with the autonomous driving vehicle in a wireless manner. In other aspects, some of processes described in this application are performed by a processor disposed inside the autonomous driving vehicle, and other processes are performed by a remote processor. The processes include necessary steps for performing a single operation.

The computer system <NUM> may communicate with a software deployment server <NUM> through a network interface <NUM>. The network interface <NUM> is a hardware network interface, for example, a network interface card. A network <NUM> may be an external network, for example, the internet, or may be an internal network, for example, the Ethernet or a virtual private network (virtual private network, VPN). Optionally, the network <NUM> may alternatively be a wireless network, for example, a Wi-Fi network or a cellular network.

As shown in <FIG>, a hard disk drive interface is coupled to the system bus <NUM>. A hardware driver interface <NUM> may be connected to a hard disk drive <NUM>. A system memory <NUM> is coupled to the system bus <NUM>. Data running in the system memory <NUM> may include an operating system <NUM> and an application <NUM>. The operating system <NUM> may include a shell (shell) <NUM> and a kernel (kernel) <NUM>. The shell <NUM> is an interface between a user and the kernel (kernel) of the operating system. The shell may be the outermost layer of the operating system. The shell may manage interaction between the user and the operating system, for example, wait for a user input, interpret the user input for the operating system, and process a variety of output results of the operating system. The kernel <NUM> may include parts in the operating system that are configured to manage a memory, a file, a peripheral device, and a system resource. The kernel directly interacts with hardware. The kernel of the operating system usually runs processes, provides communication between the processes, and provides CPU time slice management, interruption, memory management, I/O management, and the like. The application <NUM> includes programs related to control of autonomous driving of the vehicle, for example, a program that manages interaction between the autonomous driving vehicle and an obstacle on a road, a program that controls a route or a speed of the autonomous driving vehicle, a program that controls interaction between the autonomous driving vehicle and another autonomous driving vehicle on a road. The application <NUM> also exists on a system of the software deployment server <NUM>. In an embodiment, the computer system <NUM> may download an application from the software deployment server <NUM> when an autonomous driving related program <NUM> needs to be executed.

For example, the application <NUM> may alternatively be a program for interaction between the autonomous driving vehicle and a lane line on a road. In other words, the application is a program that can track the lane line in real time.

For example, the application <NUM> may alternatively be a program that controls the autonomous driving vehicle to perform automatic parking.

For example, a sensor <NUM> may be associated with the computer system <NUM>, and the sensor <NUM> may be configured to detect an ambient environment of the computer <NUM>.

For example, the sensor <NUM> may detect a lane on a road, for example, may detect a lane line, and can track, in real time, a lane line change in a specific range in front of the vehicle in a moving (for example, running) process of the vehicle. For another example, the sensor <NUM> may detect an animal, an automobile, an obstacle, and a pedestrian crosswalk. Further, the sensor may detect ambient environments of the foregoing objects such as the animal, the automobile, the obstacle, and the pedestrian crosswalk. For example, the sensor may detect the ambient environment of the animal such as another animal that appears around the animal, a weather condition, and brightness of the ambient environment.

Optionally, if the computer <NUM> is located on the autonomous driving vehicle, the sensor may be a camera, an infrared sensor, a chemical detector, a microphone, or the like.

For example, in a lane line tracking scenario, the sensor <NUM> may be configured to detect a lane line in front of the vehicle, so that the vehicle can sense a lane change in a moving process, and real-time planning and adjustment on driving of the vehicle can be performed based on the lane change.

For example, in an automatic parking scenario, the sensor <NUM> may be configured to detect sizes or locations of a packing place and an obstacle around the vehicle, so that the vehicle can sense a distance between the packing place and the obstacle, and perform collision detection during parking, to prevent the vehicle from colliding with the obstacle.

In an example, the computer system <NUM> shown in <FIG> may also receive information from another computer system or transfer information to another computer system. Alternatively, sensor data collected by the sensor system <NUM> of the vehicle <NUM> may be transferred to another computer for processing of the data. The following uses <FIG> as an example for description.

<FIG> is a schematic diagram of application of instructing an autonomous driving vehicle by a cloud side according to an embodiment of this application. As shown in <FIG>, data from a computer system <NUM> may be transferred through a network to a cloud-side server <NUM> for further processing. The network and an intermediate node may include various configurations and protocols, including the internet, the world wide web, an intranet, a virtual private network, a wide area network, a local area network, a private network that uses proprietary communication protocols of one or more companies, the Ethernet, Wi-Fi, HTTP, and various combinations thereof. Such communication may be performed by any device capable of transferring data to another computer or receiving data from another computer, such as a modem and a wireless interface.

In an example, the server <NUM> may include a server having a plurality of computers, for example, a load balancing server cluster. The server exchanges information with different nodes on the network for purposes of receiving data from the computer system <NUM> and processing and transferring the data. The server may be configured similar to the computer system <NUM>, and has a processor <NUM>, a memory <NUM>, instructions <NUM>, and data <NUM>.

For example, the data <NUM> of the server <NUM> may include information related to the road conditions around the vehicle. For example, the server <NUM> may receive, detect, store, update, and transfer the information related to the road conditions around the vehicle.

For example, the information related to the road conditions around the vehicle includes information about other vehicles and information about obstacles around the vehicle.

Currently, a speed measurement apparatus of a vehicle is mainly a vehicle speed sensor. However, in an actual use process, the vehicle speed sensor may be faulty, short-circuited, or the like. Consequently, a speed cannot be measured or a measured vehicle speed is inaccurate. To ensure vehicle safety, the fault of the vehicle speed sensor needs to be discovered in time. In the solutions in the conventional technology, a vehicle speed is usually calculated by using other self-vehicle power information. The vehicle speed is compared with the measured vehicle speed, to determine whether the measured vehicle speed is normal, and further determine whether the speed measurement apparatus is normal. However, each solution of the existing solutions does not cover all working conditions. As mentioned above, the solution is valid only in some specific cases, and consequently a diagnosis range is limited.

For the foregoing problem, the embodiments of this application provide a new fault diagnosis method and apparatus for a vehicle speed measurement apparatus, so that a diagnosis range is wider, and a fault of the speed measurement apparatus can be more accurately diagnosed. A vehicle speed of the vehicle is mainly estimated by using a static reference object outside the vehicle, and then whether the vehicle speed measured by the speed measurement apparatus is normal is determined based on the estimated vehicle speed, to determine whether the speed measurement apparatus is faulty. This solution does not need to rely on self-vehicle power information of the vehicle, and therefore is not limited by coverage of each type of self-vehicle power information. Therefore, this solution has a wider diagnosis range, so that a fault of the speed measurement apparatus can be more accurately diagnosed.

It should be noted that the self-vehicle power information may be understood as vehicle motion-related information, or may be understood as information that affects a vehicle speed. Because the self-vehicle power information (for example, a torque or a wheel speed) is directly related to the vehicle speed, that is, the self-vehicle power information directly affects the vehicle speed. However, the self-vehicle power information changes. In some scenarios, when a known correlation relationship is not met, a vehicle speed cannot be inferred correctly. For example, when the vehicle is climbing, a correlation relationship between a torque and a vehicle speed is broken, and consequently the vehicle speed cannot be inferred by using the torque. For another example, when a wheel is slippery, the vehicle is still moving (the vehicle speed is not <NUM>), but a vehicle speed inferred based on a wheel speed is <NUM>. Many other examples are not listed one by one. In short, the vehicle speed may be inferred by using the self-vehicle power information, to determine whether the speed measurement apparatus works normally. However, there is a great limitation. However, in the embodiments of this application, the vehicle speed is estimated based on movement of the vehicle relative to an external reference object. Therefore, as long as the vehicle is moving, the vehicle can be detected, and a wider diagnosis range can be covered.

<FIG> is a schematic diagram of a fault diagnosis apparatus and application of the fault diagnosis apparatus according to an embodiment of this application. As shown in <FIG>, the fault diagnosis apparatus <NUM> obtains some information from another apparatus, and may obtain a fault diagnosis result after specific processing.

Optionally, the fault diagnosis apparatus <NUM> may include an obtaining unit <NUM> and a diagnosis unit <NUM>.

The obtaining unit <NUM> may be configured to obtain some information (information in this embodiment of this application may be understood as data), for example, may obtain vehicle speed information from a speed measurement apparatus <NUM>. The vehicle speed information includes a vehicle speed measured by the speed measurement apparatus. For another example, the obtaining unit <NUM> may alternatively obtain information about a reference object from an environment detection apparatus <NUM>. The reference object includes information about at least one static reference object.

Optionally, the environment detection apparatus <NUM> may be a radar detection apparatus, a camera, or the like, for example, may be a radar <NUM>, a laser rangefinder <NUM>, a camera <NUM>, or a camera <NUM> shown in <FIG> or <FIG>.

The diagnosis unit <NUM> may be configured to process the information obtained by the obtaining unit <NUM>, to obtain a fault diagnosis result.

Optionally, the diagnosis unit <NUM> may infer an estimated vehicle speed based on the information about the reference object, and then determine, based on the estimated vehicle speed, whether the vehicle speed measured by the speed measurement apparatus is correct. When it is determined that the vehicle speed is correct, the fault diagnosis result is "normal" or "normal operation". When it is determined that the vehicle speed is incorrect (that no vehicle speed is measured is an example of an incorrect vehicle speed), the fault diagnosis result is "abnormal" or "abnormal operation". It should be noted that a specific diagnosis process of the diagnosis unit <NUM> is described with reference to each accompanying drawing in the following, and is not described herein.

In this solution, a vehicle speed is estimated by using a reference object other than a vehicle, and is further compared with the vehicle speed measured by the speed measurement apparatus, so that whether the speed measurement apparatus is faulty can be determined. This solution does not need to rely on a self-vehicle apparatus of the vehicle.

It should be noted that, in this embodiment of this application, whether the speed measurement apparatus is normal may be determined without relying on the self-vehicle power apparatus of the vehicle. However, self-vehicle power information may be added for diagnosis, that is, the self-vehicle power information may be added as an extension of a diagnosis basis based on the foregoing solution. An implementation effect of the foregoing solution is not affected.

Optionally, the fault diagnosis apparatus <NUM> may further include a sending unit, configured to send the fault diagnosis result to another module or apparatus, for example, to a control system, to generate a control signal and control the vehicle.

<FIG> is a schematic flowchart of a fault diagnosis method for a speed measurement apparatus according to an embodiment of this application. The following describes steps in <FIG>.

<NUM>: Obtain a first vehicle speed measured by a speed measurement apparatus.

<NUM>: Obtain reference information of a static reference object.

Optionally, reference information at N moments may be obtained, and N is an integer greater than <NUM>. The N moments may be consecutive, or may be inconsecutive. This is not limited.

Optionally, the reference information may include information about a location relationship of the static reference object relative to a vehicle, and the vehicle may be understood as a vehicle in which a to-be-diagnosed speed measurement apparatus is located. That is, a location relationship of the static reference object relative to the vehicle at each of the N moments may be obtained.

Optionally, the location relationship may include a distance and a direction of the static reference object relative to the vehicle.

Optionally, the direction of the static reference object relative to the vehicle may be represented by an included angle between a connection line between the static reference object and the vehicle and a traveling direction of the vehicle.

It should be noted that a sequence of performing step <NUM> and step <NUM> is not limited. Step <NUM> and step <NUM> may be performed simultaneously, step <NUM> may be performed before step <NUM>, or step <NUM> may be performed before step <NUM>.

<FIG> is a schematic flowchart of selecting a static reference object according to an embodiment of this application. The following describes steps in <FIG>.

<NUM>: Recognize objects around a vehicle via a sensing device.

Optionally, the camera may be used to obtain an image or a video. Then, the image is processed to recognize an object in the image.

Optionally, the radar may be further used to detect an object and detect whether the object is moving.

<NUM>: Select at least one static reference object from the recognized objects.

That is, at least one static object may be selected from the recognized objects, and the static object is used as the static reference object.

After the static reference object is selected, information about the static reference object may be obtained. The information about the static reference object includes a distance of the static reference object relative to the vehicle and a position/a direction of the static reference object relative to the vehicle. Then, step <NUM> may be performed.

<NUM>: Obtain the information about the distance and the direction of the static reference object relative to the vehicle.

It should be noted that <FIG> mainly provides a method for determining a static reference object. Step <NUM> may or may not be performed.

<NUM>: Calculate a second vehicle speed based on the reference information.

Optionally, the second vehicle speed may be calculated by using the reference information at the N moments. That is, an average vehicle speed in a time period may be calculated based on a variation of a displacement and/or an angle of the vehicle relative to the static reference object in the time period, and the average vehicle speed is used as the second vehicle speed. Alternatively, a plurality of average vehicle speeds may be obtained, and then the second vehicle speed is obtained based on the plurality of average vehicle speeds. Because a large amount of content is involved, descriptions are to be provided below with reference to <FIG>, and details are not described herein.

It should be noted that step <NUM> needs to be performed after step <NUM>, but is not necessarily performed after step <NUM>. That is, step <NUM> and step <NUM> may be performed before step <NUM>; or step <NUM> may be performed between step <NUM> and step <NUM>. This is not limited.

<NUM>: Determine, based on the first vehicle speed and the second vehicle speed, whether the speed measurement apparatus is faulty.

In line with the invention a difference between each of the two second vehicle speeds and the first vehicle speed is compared. Only when both differences are less than or equal to a specified threshold, it is determined that a vehicle speed sensor is faulty; otherwise, the second vehicle speed is re-obtained.

In line with the invention the second vehicle speed is re-obtained when a difference between any one of the two second vehicle speeds and the first vehicle speed is greater than a threshold.

<FIG> is a schematic flowchart of a vehicle speed estimation method according to an embodiment of this application. The method shown in <FIG> may be applied to estimation performed when a vehicle travels straight on a plane road, for example, estimation performed during straight traveling in a plane road scenario shown in <FIG>. The following describes steps in <FIG>.

<NUM>: Obtain reference information of a static reference object at N moments, where N is an integer greater than <NUM>.

Optionally, the N moments may be consecutive moments, or may be inconsecutive moments, provided that the N moments are close to a moment corresponding to a first vehicle speed.

<NUM>: Calculate at least one displacement AS between at least two moments.

It should be noted that the at least two moments are at least two of the N moments, and the two moments are not necessarily consecutive.

It should be further understood that, because displacements ΔS between more than two moments may be calculated, there may be one or more displacements ΔS.

Optionally, a displacement may be calculated based on a distance of the static reference object relative to the vehicle at two moments, and an included angle between a traveling direction of the vehicle and a connection line between the static reference object and the vehicle.

<NUM>: Obtain at least one estimated vehicle speed V' through calculation based on the at least one displacement ΔS and a time length between the at least two moments.

<NUM>: Obtain a second vehicle speed based on the at least one estimated vehicle speed V'.

<FIG> is a schematic diagram of estimating a straight traveling vehicle speed in a plane road scenario according to an embodiment of this application. In the scenario shown in <FIG>, a vehicle travels straight on a plane ground. By using a relative relationship between the vehicle and a static reference object at two different moments shown in <FIG>, a vehicle displacement between two adjacent moments may be obtained, to obtain a current vehicle speed. A specific calculation process is described below by using an example.

It is assumed that a location relationship between the static reference object and the vehicle at adjacent N+<NUM> sampling moments is obtained from a camera. At a moment i, a distance between the selected static reference object and the vehicle is Li, and an included angle between a connection line between the selected static reference object and the current vehicle and a traveling direction of the vehicle is αi. At a moment i+<NUM>, a distance between the selected static reference object and the vehicle is Li+<NUM>, and an included angle between the selected static reference object and the current vehicle is αi+<NUM>.

A displacement ΔS of the vehicle at two moments may be calculated based on a location relationship between the vehicle and the static reference object at the moment i and the moment i+<NUM>, and may be inferred from a geometric relationship in <FIG>: <MAT>.

A time interval between the moment i and the moment i+<NUM> is Δt. Therefore, an average speed vi between the moment i and the moment i+<NUM> may be inferred: vi=ΔS/Δt.

vi may be considered as the estimated vehicle speed V' in <FIG>.

Optionally, N average speeds of N time intervals from moments <NUM> to N+<NUM> may be calculated by using the foregoing same method.

Optionally, the second vehicle speed may be determined through filtering. The filtering manner may be one of filtering manners such as mean filtering and median filtering. For details, refer to related descriptions in <FIG>.

<FIG> is a schematic flowchart of another vehicle speed estimation method according to an embodiment of this application. The method shown in <FIG> may be applied to vehicle speed estimation performed when a vehicle turns on a plane road, for example, vehicle speed estimation performed during turning in a plane road scenario shown in <FIG>. The following describes steps in <FIG>.

<NUM>: Calculate at least one steering angle x between at least two moments.

Optionally, a steering radius may be calculated based on a vehicle body length and a wheel steering angle, and then a steering angle is calculated based on a geometric relationship between the steering radius and the steering angle.

It should be further understood that, because steering angles x between more than two moments may be calculated, there may be one or more steering angles x.

<NUM>: Obtain at least one estimated vehicle speed V' through calculation based on the at least one steering angle x.

Optionally, the second vehicle speed may be obtained by using a same method as step <NUM>. Details are not described again.

<FIG> is a schematic diagram of estimating a turning vehicle speed in a plane road scenario according to an embodiment of this application. In the scenario shown in <FIG>, a vehicle turns on a plane road. By using a relative relationship between the vehicle and a static reference object at two different moments shown in <FIG>, a vehicle steering angle x between two adjacent moments may be obtained, to obtain a current vehicle speed. A specific calculation process is described below by using an example.

It is assumed that a location relationship between the static reference object and the vehicle is obtained from a camera at adjacent N sampling moments. At a moment i, a distance between the selected static reference object and the vehicle is Li, an included angle between a connection line between the selected static reference object and the current vehicle and a traveling direction of the vehicle is αi, and a wheel steering angle of the vehicle is δi. At a moment (i+<NUM>), a distance between the selected static reference object and the vehicle is Li+<NUM>, an included angle between a connection line between the static reference object and the current vehicle and a traveling direction of the vehicle is αi+<NUM>, and a wheel steering angle of the vehicle is δi+<NUM>.

A steering radius Ri at the moment i may be calculated based on a vehicle body length L and the wheel steering angle δi at the moment i, and Ri is used as a steering radius from the moment i to the moment i+<NUM>, as marked in <FIG>.

According to a geometric relationship shown in <FIG>, a relationship between geometric variables such as the steering angle x and the steering radius Ri that are used when the vehicle travels at the moment i to the moment i+<NUM> is as follows: <MAT> and <MAT>.

The steering angle x may be resolved by using the foregoing two formulas.

A time interval between the moment i and the moment i+<NUM> is Δt. Therefore, an average speed vi between the moment i and the moment i+<NUM> may be inferred: vi=xRi/Δt.

Optionally, the second vehicle speed may be determined through filtering. The filtering manner may be one of filtering manners such as mean filtering and median filtering. For details, refer to related descriptions described above.

<FIG> is a schematic diagram of estimating a vehicle speed in a sloped road scenario according to an embodiment of this application. In a scenario shown in <FIG>, a static reference object and a vehicle are on a sloped road. It may be learned from <FIG> that, in this case, it is equivalent to that the static reference object and the vehicle are on a same plane road, which is a plane road on which the sloped road is located herein. Therefore, a same calculation method as that in the plane road may be used. For example, when the vehicle travels straight, the method shown in <FIG> may be used. When the vehicle turns, the method shown in <FIG> or <FIG> may be used. For brevity, details are not described herein again.

<FIG> is a schematic diagram of estimating a vehicle speed in another sloped road scenario according to an embodiment of this application. As shown in <FIG>, a vehicle travels on a sloped road, but a static reference object is on a plane road in front of the sloped road. It may be understood that <FIG> shows a case in which the static reference object and the vehicle are not on a same plane. However, it should be understood that the scenario shown in <FIG> may be considered as a case in which the vehicle is on a sloped road, and the static reference object is on a plane road, or may be considered as a case in which the vehicle is on a plane road, and the static reference object is on a sloped road.

In the scenario shown in <FIG>, coordinates of the static reference object (coordinates of a point A in <FIG>), coordinates of the vehicle at a moment i (coordinates of a point B in <FIG>), and coordinates of the vehicle at a moment i+<NUM> (coordinates of a point C in <FIG>) may be marked by using a three-dimensional coordinate system establishment method, so that an average vehicle speed vi of the vehicle between the moment i and the moment i+<NUM> can be estimated based on a geometric relationship between the three, to further obtain a second vehicle speed. The following provides descriptions by using an example.

Assuming that a slope of the sloped road is estimated to be y by using an acceleration sensor of the vehicle, and a distance Li and a distance Li+<NUM> between the static reference object and vehicle and an included angle αi and an included angle αi+<NUM> between the static reference object and a traveling direction at the moment i and the moment i+<NUM> are obtained by using a camera.

A coordinate system is established by using a plane in which a traveling direction of a vehicle and a horizontal line (a dashed line shown in <FIG>) are located as an XZ plane. Assuming that a distance between a point B and an origin is P, and a distance between a point C and an origin is Q, coordinates of the point B and the point C are respectively B (-Mcosy, <NUM>, Msiny) and C (-Ncosy, <NUM>, Nsiny). It is assumed that the coordinates of the static reference object are A (X, Y, <NUM>).

The geometric relationship between the three meets the following formula: <MAT> <MAT> <MAT> and <MAT>.

By using the foregoing formulas, values of P and Q may be resolved.

A time interval between the moment i and the moment i+<NUM> is Δt. Therefore, an average speed vi between the moment i and the moment i+<NUM> may be inferred: vi=(P-Q)/Δt.

It should be noted that the method shown in <FIG> may be understood as extension of the method shown in <FIG> and the method shown in <FIG> from two-dimensional space to three-dimensional space. Therefore, a plane road may be considered as a special case of the scenario shown in <FIG>. That is, the scenarios shown in <FIG> may be considered as special cases in which the slope y is <NUM> in <FIG>. In this case, the foregoing formulas are also applicable.

It should be further understood that, when the vehicle and the static reference object are not on a same road plane and the vehicle turns, a coordinate system may also be established for calculation, and the method shown in <FIG> and the method shown in <FIG> may be considered as extension from two-dimensional space to three-dimensional space. For brevity, details are not described again.

It should be further understood that <FIG> show a case in which the vehicle and the static reference object are on a same road plane. <FIG> show a case in which the vehicle and the static reference object are on a plane road, and <FIG> shows a case in which the vehicle and the static reference object are on a sloped road. <FIG> shows a case in which the vehicle and the static reference object are not on a same road plane. It may be learned that, regardless of whether the vehicle and the static reference object are on a same road plane, or whether the vehicle travels straight or turns, an average vehicle speed at a time interval may be calculated by using the location relationship between the vehicle and the static reference object, to obtain the second vehicle speed, and determine, by using the second vehicle speed, whether the first vehicle speed is accurate.

In the embodiments of this application, a vehicle speed of the vehicle is mainly estimated by using a static reference object outside the vehicle, and then whether the vehicle speed measured by the speed measurement apparatus is normal is determined based on the estimated vehicle speed, to determine whether the speed measurement apparatus is faulty. This solution does not need to rely on self-vehicle power information of the vehicle, and therefore is not limited by coverage of each type of self-vehicle power information. Therefore, this solution has a wider diagnosis range, so that a fault of the speed measurement apparatus can be more accurately diagnosed.

The foregoing describes the fault diagnosis method for the vehicle speed measurement apparatus in the embodiments of this application, and the following describes a fault diagnosis apparatus for a vehicle speed measurement apparatus in the embodiments of this application. It should be understood that the fault diagnosis apparatus described below can perform processes of the fault diagnosis method in the embodiments of this application. Repeated descriptions are appropriately omitted in the following descriptions of the apparatus embodiments.

<FIG> is a schematic diagram of a fault diagnosis apparatus for a vehicle speed measurement apparatus according to an embodiment of this application. The apparatus <NUM> includes an obtaining unit <NUM> and a processing unit <NUM>. The apparatus <NUM> may be configured to perform steps of the fault diagnosis method for the vehicle speed measurement apparatus in the embodiments of this application. For example, the obtaining unit <NUM> may be configured to perform step <NUM> and step <NUM> in the method shown in <FIG>, and the processing unit <NUM> may be configured to perform step <NUM> and step <NUM> in the method shown in <FIG>. For another example, the obtaining unit <NUM> may be configured to perform step <NUM> in the method shown in <FIG>, and the processing unit <NUM> may be configured to perform step <NUM> in the method shown in <FIG>. When the method shown in <FIG> includes step <NUM>, the obtaining unit <NUM> may be further configured to perform step <NUM>. For another example, the obtaining unit <NUM> may be configured to perform step <NUM> in the method shown in <FIG>, and the processing unit <NUM> may be configured to perform step <NUM> to step <NUM> in the method shown in <FIG>. For another example, the obtaining unit <NUM> may be configured to perform step <NUM> in the method shown in <FIG>, and the processing unit <NUM> may be configured to perform step <NUM> to step <NUM> in the method shown in <FIG>.

For another example, the apparatus <NUM> may be further configured to perform steps in the methods shown in <FIG>, <FIG>, <FIG>.

The apparatus <NUM> may be the fault diagnosis apparatus <NUM> shown in <FIG>. The obtaining unit <NUM> may be equivalent to the obtaining unit <NUM>, and the processing unit <NUM> may be equivalent to the diagnosis unit <NUM>.

<FIG> is a schematic diagram of a fault diagnosis apparatus for a vehicle speed measurement apparatus according to an embodiment of this application. The apparatus <NUM> includes a memory <NUM>, a processor <NUM>, a communications interface <NUM>, and a bus <NUM>. The memory <NUM>, the processor <NUM>, and the communications interface <NUM> are communicatively connected to each other by using the bus <NUM>.

Optionally, the memory <NUM> may be a read-only memory (read-only memory, ROM), a static storage device, a dynamic storage device, or a random access memory (random access memory, RAM). The memory <NUM> may store a program. When the program stored in the memory <NUM> is executed by the processor <NUM>, the processor <NUM> and the communications interface <NUM> are configured to perform steps of the fault diagnosis method for the vehicle speed measurement apparatus in the embodiments of this application.

Optionally, the memory <NUM> may have a function of the memory <NUM> shown in <FIG>, a function of the system memory <NUM> shown in <FIG>, or a function of the memory <NUM> shown in <FIG>, to implement the foregoing function of storing the program. Optionally, the processor <NUM> may be a general-purpose CPU, a microprocessor, an ASIC, a graphic processing unit (graphic processing unit, GPU), or one or more integrated circuits for executing a related program, to implement functions that need to be implemented by units in the fault diagnosis apparatus in the embodiments of this application, or perform steps of the fault diagnosis method in the embodiments of this application.

Optionally, the processor <NUM> may have a function of the processor <NUM> shown in <FIG>, a function of the processor <NUM> shown in <FIG>, or a function of the processor <NUM> shown in <FIG>, to implement the foregoing function of executing a related program.

Optionally, the processor <NUM> may alternatively be an integrated circuit chip, and has a signal processing capability. In an implementation process, steps of the fault diagnosis method in the embodiments of this application may be completed by using an integrated logic circuit of hardware in the processor or by using an instruction in a form of software.

Optionally, the processor <NUM> may alternatively be a general-purpose processor, a digital signal processor (digital signal processor, DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (field programmable gate array, FPGA) or another programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. The processor <NUM> may implement or perform the methods, the steps, and the logical block diagrams that are disclosed in the embodiments of this application. The general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like. Steps of the methods disclosed with reference to the embodiments of this application may be directly performed and completed by a hardware decoding processor, or may be performed and completed by using a combination of hardware and software modules in the decoding processor. A software module may be located in a mature storage medium in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, or a register. The storage medium is located in a memory, and the processor reads information in the memory and completes, with reference to hardware of the processor, functions that need to be implemented by the units included in the fault diagnosis apparatus for the vehicle speed measurement apparatus in the embodiments of this application, or performs steps of the fault diagnosis method for the vehicle speed measurement apparatus in the embodiments of this application.

Optionally, the communications interface <NUM> implements communication between the apparatus and another device or a communications network via a transceiver apparatus, for example, but not limited to a transceiver.

The bus <NUM> may include a path for transmitting information between the components (for example, the memory, the processor, and the communications interface) of the apparatus.

An embodiment of this application further provides a computer program product including instructions. When the instructions are executed by a computer, the computer is enabled to implement the method in the foregoing method embodiments.

For explanations and beneficial effects of related content in any one of the foregoing fault diagnosis apparatuses, refer to the foregoing corresponding method embodiments.

Unless otherwise defined, all technical and scientific terms used in this application have the same meanings as commonly understood by a person skilled in the art to which this application pertains. The terms used in the specification of this application are merely for the purpose of describing specific embodiments, and are not intended to limit this application.

Optionally, a network device in the embodiments of this application includes a hardware layer, an operating system layer running at the hardware layer, and an application layer running at the operating system layer. The hardware layer may include hardware such as a CPU, a memory management unit (memory management unit, MMU), and memory (also referred to as main memory). An operating system at the operating system layer may be any one or more of computer operating systems implementing service processing by using a process (process), for example, a Linux operating system, a Unix operating system, an Android operating system, an iOS operating system, or a Windows operating system. The application layer may include applications such as a browser, contacts, word processing software, and instant communication software.

A specific structure of an execution body of the method provided in the embodiments of this application is not specifically limited in the embodiments of this application, provided that a program that records code of the method provided in the embodiments of this application can be run to perform communication according to the method provided in the embodiments of this application.

Aspects or features of this application may be implemented as a method, an apparatus or a product that uses standard programming and/or engineering technologies. The term "product" used in this application may cover a computer program that can be accessed from any computer-readable component, carrier, or medium. For example, a computer-readable medium may include but is not limited to: a magnetic storage component (for example, a hard disk, a floppy disk, or a magnetic tape), an optical disc (for example, a compact disc (compact disc, CD) or a digital versatile disc (digital versatile disc, DVD)), a smart card, and a flash memory (for example, an erasable programmable read-only memory (erasable programmable read-only memory, EPROM), a card, a stick, or a key drive).

Various storage media described in this application may represent one or more devices and/or other machine-readable media that are configured to store information. The term "machine-readable media" may include but is not limited to a radio channel and various other media that can store, include, and/or carry instructions and/or data.

It should be noted that when the processor is a general-purpose processor, a DSP, an ASIC, an FPGA or another programmable logic device, a discrete gate, a transistor logic device, or a discrete hardware component, the memory (storage module) may be integrated into the processor.

It should be further noted that the memory described in this application is intended to include but is not limited to these memories and any other memory of a suitable type.

A person of ordinary skill in the art may be aware that, in combination with the examples described in the embodiments disclosed in this application, units and steps may be implemented by electronic hardware or a combination of computer software and electronic hardware. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the protection scope of this application.

It may be clearly understood by a person skilled in the art that, for the purpose of convenient and brief description, for a detailed working process of the foregoing apparatus and unit, reference is made to a corresponding process in the foregoing method embodiments.

In the several embodiments provided in this application, it should be understood that the disclosed apparatuses and methods may be implemented in other manners. For example, the described apparatus embodiments are merely examples. For example, division into the units is merely logical function division and may be other division during actual implementation.

Some or all of the units may be selected based on actual requirements to achieve the objectives of the solutions in the embodiments.

In addition, functional units in the embodiments of this application may be integrated into one unit, or each of the units may exist alone physically, or two or more units are integrated into one unit.

Claim 1:
A fault diagnosis method for a vehicle speed measurement apparatus, comprising:
obtaining a first vehicle speed measured by the speed measurement apparatus;
obtaining reference information of a plurality of static reference objects at N moments, wherein N is an integer greater than <NUM>, and the reference information comprises information about location relationships of respective ones of the plurality of static reference objects relative to a vehicle (<NUM>) in which the speed measurement apparatus is located at each of the N moments;
calculating a plurality of second vehicle speeds based on the reference information, one for each of the plurality of static reference objects, wherein, if a difference between any one of the plurality of second vehicle speeds and the first vehicle speed is greater than a first threshold, the respective second vehicle speed is re-calculated; and
determining that the speed measurement apparatus is faulty, if all of the differences between each of the plurality of second vehicle speeds and the first vehicle speed are less than or equal to a second threshold.