Patent Description:
A technique relating to autonomous driving of a vehicle has recently been developed. For example, <CIT> discloses a vehicle including a motive power system that manages motive power of the vehicle in a centralized manner, a power supply system that manages supply of electric power to various vehicle-mounted devices in a centralized manner, and an autonomous driving system that carries out autonomous driving control of the vehicle in a centralized manner. On the other hand, <CIT>, which shows the features of the preamble of claim <NUM>, discloses a system for an autonomous vehicle that combines information from single-channel encoders serving as wheel speed sensors on multiple wheels of the vehicle.

The autonomous driving system may externally be attached to a vehicle main body. In this case, autonomous driving is carried out as the vehicle is controlled in accordance with an instruction from the autonomous driving system. In order to enhance accuracy in autonomous driving, a state of the vehicle is desirably appropriately provided (conveyed) to the autonomous driving system. A moving direction of the vehicle represents one of states of the vehicle.

The present invention was made to achieve the object above, and an object of the present disclosure is to appropriately provide, in a vehicle capable of autonomous driving, a signal indicating a moving direction of the vehicle from a vehicle main body to an autonomous driving system. For this, a vehicle according to the present invention incorporates the features of claim <NUM>.

According to the configuration, the vehicle is provided with the vehicle control interface that interfaces between the vehicle platform and the autonomous driving system. A signal indicating the determined moving direction of the vehicle can thus appropriately be provided to the autonomous driving system through the vehicle control interface. The moving direction of the vehicle is determined based on majority rule based on the rotation direction of the wheels.

According to the configuration, when the number of wheels rotating in the forward rotation direction is larger than the number of wheels rotating in the reverse rotation direction, an appropriate signal indicating forward travel (the signal indicating "Forward") is provided to the autonomous driving system. When the number of wheels rotating in the reverse rotation direction is larger than the number of wheels rotating in the forward rotation direction, an appropriate signal indicating reverse travel (the signal indicating "Reverse") can be provided to the autonomous driving system.

According to the configuration, when the moving direction of the vehicle cannot be determined based on majority rule based on the rotation directions of the wheels, a signal to that effect (the signal indicating "Undefined") can be provided to the autonomous driving system.

In one embodiment, when a certain time period has elapsed with a speed of all wheels being zero, the vehicle control interface provides to the autonomous driving system, a signal indicating "Standstill" as the signal indicating the moving direction of the vehicle.

According to this embodiment, when a certain time period has elapsed with the speed of all wheels being zero, an appropriate signal indicating stop (the signal indicating "Standstill") can be provided to the autonomous driving system.

An embodiment of the present disclosure will be described below in detail with reference to the drawings. The same or corresponding elements in the drawings have the same reference characters allotted and description thereof will not be repeated.

<FIG> is a diagram showing overview of a mobility as a service (MaaS) system in which a vehicle according to an embodiment of the present disclosure is used.

Referring to <FIG>, this MaaS system includes a vehicle <NUM>, a data server <NUM>, a mobility service platform (which is also referred to as "MSPF" below) <NUM>, and autonomous driving related mobility services <NUM>.

Vehicle <NUM> includes a vehicle main body <NUM> and an autonomous driving kit (which is also referred to as "ADK" below) <NUM>. Vehicle main body <NUM> includes a vehicle control interface <NUM>, a vehicle platform (which is also referred to as "VP" below) <NUM>, and a data communication module (DCM) <NUM>.

Vehicle <NUM> can carry out autonomous driving in accordance with commands from ADK <NUM> attached to vehicle main body <NUM>. Though <FIG> shows vehicle main body <NUM> and ADK <NUM> at positions distant from each other, ADK <NUM> is actually attached to a rooftop or the like of vehicle main body <NUM>. ADK <NUM> can also be removed from vehicle main body <NUM>. While ADK <NUM> is not attached, vehicle main body <NUM> can travel by manual driving by a user. In this case, VP <NUM> carries out travel control (travel control in accordance with an operation by a user) in a manual mode.

Vehicle control interface <NUM> can communicate with ADK <NUM> over a controller area network (CAN) or Ethernet®. Vehicle control interface <NUM> receives various commands from ADK <NUM> by executing a prescribed application program interface (API) defined for each communicated signal. Vehicle control interface <NUM> provides a state of vehicle main body <NUM> to ADK <NUM> by executing a prescribed API defined for each communicated signal.

When vehicle control interface <NUM> receives a command from ADK <NUM>, it outputs a control command corresponding to the command to VP <NUM>. Vehicle control interface <NUM> obtains various types of information on vehicle main body <NUM> from VP <NUM> and outputs the state of vehicle main body <NUM> to ADK <NUM>. A configuration of vehicle control interface <NUM> will be described in detail later.

VP <NUM> includes various systems and various sensors for controlling vehicle main body <NUM>. VP <NUM> carries out various types of vehicle control in accordance with a command given from ADK <NUM> through vehicle control interface <NUM>. Namely, as VP <NUM> carries out various types of vehicle control in accordance with a command from ADK <NUM>, autonomous driving of vehicle <NUM> is carried out. A configuration of VP <NUM> will also be described in detail later.

ADK <NUM> includes an autonomous driving system (which is also referred to as "ADS" below) for autonomous driving of vehicle <NUM>. ADK <NUM> creates, for example, a driving plan of vehicle <NUM> and outputs various commands for traveling vehicle <NUM> in accordance with the created driving plan to vehicle control interface <NUM> in accordance with the API defined for each command. ADK <NUM> receives various signals indicating states of vehicle main body <NUM> from vehicle control interface <NUM> in accordance with the API defined for each signal and has the received vehicle state reflected on creation of the driving plan. A configuration of ADK <NUM> (ADS) will also be described later.

DCM <NUM> includes a communication interface for vehicle main body <NUM> to wirelessly communicate with data server <NUM>. DCM <NUM> outputs various types of vehicle information such as a speed, a position, or an autonomous driving state to data server <NUM>. DCM <NUM> receives from autonomous driving related mobility services <NUM> through MSPF <NUM> and data server <NUM>, for example, various types of data for management of travel of an autonomous driving vehicle including vehicle <NUM> by mobility services <NUM>.

MSPF <NUM> is an integrated platform to which various mobility services are connected. In addition to autonomous driving related mobility services <NUM>, not-shown various mobility services (for example, various mobility services provided by a ride-share company, a car-sharing company, an insurance company, a rent-a-car company, and a taxi company) are connected to MSPF <NUM>. Various mobility services including mobility services <NUM> can use various functions provided by MSPF <NUM> by using APIs published on MSPF <NUM>, depending on service contents.

Autonomous driving related mobility services <NUM> provide mobility services using an autonomous driving vehicle including vehicle <NUM>. Mobility services <NUM> can obtain, for example, operation control data of vehicle <NUM> that communicates with data server <NUM> and/or information stored in data server <NUM> from MSPF <NUM>, by using the APIs published on MSPF <NUM>. Mobility services <NUM> transmit, for example, data for managing an autonomous driving vehicle including vehicle <NUM> to MSPF <NUM>, by using the API.

MSPF <NUM> publishes APIs for using various types of data on vehicle states and vehicle control necessary for development of the ADS. An ADS provider can use as the APIs, the data on the vehicle states and vehicle control necessary for development of the ADS stored in data server <NUM>.

<FIG> is a diagram showing a detailed configuration of vehicle control interface <NUM>, VP <NUM>, and ADK <NUM>. Referring to <FIG>, ADK <NUM> includes a compute assembly <NUM>, a human machine interface (HMI) <NUM>, sensors for perception <NUM>, sensors for pose <NUM>, and a sensor cleaning <NUM>.

During autonomous driving of vehicle <NUM>, compute assembly <NUM> obtains information on an environment around the vehicle and a pose, a behavior, and a position of vehicle <NUM> with various sensors which will be described later. Compute assembly <NUM> obtains a state of vehicle <NUM> from VP <NUM> through vehicle control interface <NUM> and sets a next operation (acceleration, deceleration, or turning) of vehicle <NUM>. Compute assembly <NUM> outputs various instructions for realizing a set next operation of vehicle <NUM> to vehicle control interface <NUM>.

HMI <NUM> accepts an input operation from a user for vehicle <NUM>. HMI <NUM> can accept, for example, an input by a touch operation onto a display screen and/or an audio input. HMI <NUM> presents information to a user of vehicle <NUM> by showing information on the display screen. HMI <NUM> may present information to the user of vehicle <NUM> by voice and sound in addition to or instead of representation of information on the display screen. HMI <NUM> provides information to the user and accepts an input operation, for example, during autonomous driving, during manual driving by a user, or at the time of transition between autonomous driving and manual driving.

Sensors for perception <NUM> include sensors that perceive an environment around the vehicle, and are implemented, for example, by at least any of laser imaging detection and ranging (LIDAR), a millimeter-wave radar, and a camera.

The LIDAR measures a distance based on a time period from emission of pulsed laser beams (infrared rays) until return of the emitted beams reflected by an object. The millimeter-wave radar measures a distance and/or a direction to an object by emitting radio waves short in wavelength to the object and detecting radio waves that are reflected and return from the object. The camera is arranged, for example, on a rear side of a room mirror in a compartment and shoots the front of vehicle <NUM>. As a result of image processing onto images shot by the camera, another vehicle, an obstacle, or a human in front of vehicle <NUM> can be recognized. Information obtained by sensors for perception <NUM> is output to compute assembly <NUM>.

Sensors for pose <NUM> detect a pose, a behavior, or a position of vehicle <NUM>. Sensors for pose <NUM> include, for example, an inertial measurement unit (IMU) and a global positioning system (GPS).

The IMU detects, for example, an acceleration in a front-rear direction, a lateral direction, and a vertical direction of vehicle <NUM> and an angular velocity in a roll direction, a pitch direction, and a yaw direction of vehicle <NUM>. The GPS detects a position of vehicle <NUM> based on information received from a plurality of GPS satellites that orbit the Earth. Information obtained by sensors for pose <NUM> is output to compute assembly <NUM>.

Sensor cleaning <NUM> can remove soiling attached to various sensors. Sensor cleaning <NUM> removes soiling on a lens of the camera or a portion from which laser beams and/or radio waves are emitted, for example, with a cleaning solution and/or a wiper.

Vehicle control interface <NUM> includes a vehicle control interface box (VCIB) 111A and a VCIB 111B. Each of VCIBs 111A and 111B includes an electronic control unit (ECU), and specifically contains a central processing unit (CPU) and a memory (a read only memory (ROM) and a random access memory (RAM)) (neither of which is shown). VCIB 111A and VCIB 111B are basically equivalent in function to each other. VCIB 111A and VCIB 111B are partially different from each other in a plurality of systems connected thereto that make up VP <NUM>.

Each of VCIBs 111A and 111B is communicatively connected to compute assembly <NUM> of ADK <NUM> over the CAN or the like. VCIB 111A and VCIB 111B are communicatively connected to each other.

Each of VCIBs 111A and 111B relays various instructions from ADK <NUM> and provides them as control commands to VP <NUM>. More specifically, each of VCIBs 111A and 111B executes a program stored in a memory, converts various instructions provided from ADK <NUM> into control commands to be used for control of each system of VP <NUM>, and provides the converted control commands to a destination system. Each of VCIBs 111A and 111B processes or relays various types of vehicle information output from VP <NUM> and provides the vehicle information as a vehicle state to ADK <NUM>.

For at least one of systems of VP <NUM> such as a brake system and a steering system, VCIBs 111A and 111B are configured to be equivalent in function to each other so that control systems between ADK <NUM> and VP <NUM> are redundant. Therefore, when some kind of failure occurs in a part of the system, the function (turning or stopping) of VP <NUM> can be maintained by switching between the control systems as appropriate or disconnecting a control system where failure has occurred.

VP <NUM> includes brake systems 121A and 121B, steering systems 122A and 122B, an electric parking brake (EPB) system 123A, a P-Lock system 123B, a propulsion system <NUM>, a pre-crash safety (PCS) system <NUM>, and a body system <NUM>.

Brake system 121B, steering system 122A, EPB system 123A, P-Lock system 123B, propulsion system <NUM>, and body system <NUM> of the plurality of systems of VP <NUM> are communicatively connected to VCIB 111A through a communication bus.

Brake system 121A, steering system 122B, and P-Lock system 123B of the plurality of systems of VP <NUM> are communicatively connected to VCIB 111B through a communication bus.

Brake systems 121A and 121B can control a plurality of braking apparatuses (not shown) provided in wheels of vehicle <NUM>. The braking apparatus includes, for example, a disc brake system that is operated with a hydraulic pressure regulated by an actuator. Brake system 121A and brake system 121B may be equivalent in function to each other. Alternatively, any one of brake systems 121A and 121B may be able to independently control braking force of each wheel and the other thereof may be able to control braking force such that equal braking force is generated in the wheels.

A wheel speed sensor <NUM> is connected to brake system 121B. Wheel speed sensor <NUM> is provided in each wheel of vehicle <NUM>. Wheel speed sensor <NUM> detects a rotation speed and a rotation direction of a wheel. Wheel speed sensor <NUM> outputs the detected rotation speed and rotation direction of the wheel to brake system 121B. For example, wheel speed sensor <NUM> provides pulses different between during rotation in a direction of forward travel of vehicle <NUM> and during rotation in a direction of reverse travel of vehicle <NUM>. Brake system 121B fixes or confirms the rotation direction of each wheel based on the pulses from wheel speed sensor <NUM>. Then, brake system 121B provides information indicating the fixed rotation direction of each wheel to VCIB 111A.

Brake system 121B determines whether or not vehicle <NUM> has come to a standstill based on the fixed rotation direction of each wheel. Specifically, when the speed of all wheels is set to zero and when all (for example, four) wheel speed values are zero during a certain time period since the speed of all wheels was set to zero, brake system 121B determines that vehicle <NUM> has come to a standstill. When brake system 121B determines that vehicle <NUM> has come to a standstill, the brake system provides information indicating "Standstill" to VCIB 111A.

Each of brake systems 121A and 121B receives a command from ADK <NUM> as a control command through vehicle control interface <NUM> and generates a braking instruction to the braking apparatus in accordance with the control command. For example, brake systems 121A and 121B control the braking apparatus based on a braking instruction generated in one of brake systems 121A and 121B, and when a failure occurs in one of the brake systems, the braking apparatus is controlled based on a braking instruction generated in the other brake system.

Steering systems 122A and 122B can control a steering angle of a steering wheel of vehicle <NUM> with a steering apparatus (not shown). The steering apparatus includes, for example, rack-and-pinion electric power steering (EPS) that allows adjustment of a steering angle by an actuator.

Steering systems 122A and 122B are equivalent in function to each other. Each of steering systems 122A and 122B receives a command from ADK <NUM> as a control command through vehicle control interface <NUM> and generates a steering instruction to the steering apparatus in accordance with the control command. For example, steering systems 122A and 122B control the steering apparatus based on the steering instruction generated in one of steering systems 122A and 122B, and when a failure occurs in one of the steering systems, the steering apparatus is controlled based on a steering instruction generated in the other steering system.

A pinion angle sensor 128A is connected to steering system 122A. A pinion angle sensor 128B is connected to steering system 122B. Each of pinion angle sensors 128A and 128B detects an angle of rotation (a pinion angle) of a pinion gear coupled to a rotation shaft of the actuator. Pinion angle sensors 128A and 128B output detected pinion angles to steering systems 122A and 122B, respectively.

EPB system 123A can control an EPB (not shown) provided in at least any of wheels. The EPB is provided separately from the braking apparatus, and fixes a wheel by an operation of an actuator. The EPB, for example, activates a drum brake for a parking brake provided in at least one of wheels of vehicle <NUM> to fix the wheel. The EPB activates a braking apparatus to fix a wheel, for example, with an actuator capable of regulating a hydraulic pressure to be supplied to the braking apparatus separately from brake systems 121A and 121B. EPB system 123A receives a command from ADK <NUM> as a control command through vehicle control interface <NUM> and controls the EPB in accordance with the control command.

P-Lock system 123B can control a P-Lock apparatus (not shown) provided in a transmission of vehicle <NUM>. The P-Lock apparatus fixes rotation of an output shaft of the transmission by fitting a protrusion provided at a tip end of a parking lock pawl into a tooth of a gear (locking gear) provided as being coupled to a rotational element in the transmission. A position of the parking lock pawl is adjusted by an actuator. P-Lock system 123B receives a command from ADK <NUM> as a control command through vehicle control interface <NUM> and controls the P-Lock apparatus in accordance with the control command.

Propulsion system <NUM> can switch a shift range with the use of a shift apparatus (not shown) and can control driving force of vehicle <NUM> in a direction of travel that is generated from a drive source (not shown). The shift apparatus can select any of a plurality of shift ranges. The drive source includes, for example, a motor generator and/or an engine. Propulsion system <NUM> receives a command from ADK <NUM> as a control command through vehicle control interface <NUM> and controls the shift apparatus and the drive source in accordance with the control command.

PCS system <NUM> is communicatively connected to brake system 121B. PCS system <NUM> carries out control to avoid collision of vehicle <NUM> or to mitigate damage by using a result of detection by a camera/radar <NUM>. For example, PCS system <NUM> detects an object in front and determines whether or not vehicle <NUM> may collide with the object based on a distance to the object. When PCS system <NUM> determines that there is possibility of collision with the object, it outputs a braking instruction to brake system 121B so as to increase braking force.

Body system <NUM> controls, for example, various devices in accordance with a state or an environment of travel of vehicle <NUM>. The various devices include, for example, a direction indicator, a headlight, a hazard light, a horn, a front wiper, and a rear wiper. Body system <NUM> receives a command from ADK <NUM> as a control command through vehicle control interface <NUM> and controls the various devices in accordance with the control command.

An operation apparatus that can manually be operated by a user for the braking apparatus, the steering apparatus, the EPB, P-Lock, the shift apparatus, various devices, and the drive source described above may separately be provided.

In order for ADK <NUM> to create an appropriate driving plan in autonomous driving, a state of vehicle main body <NUM> is desirably appropriately obtained. The moving direction of vehicle <NUM> represents one of important parameters that indicate a state of vehicle main body <NUM>. By obtaining the moving direction of vehicle <NUM>, ADK <NUM> can recognize, for example, a traveling state of vehicle <NUM>. In the present embodiment, vehicle control interface <NUM> determines the moving direction of vehicle <NUM> based on various types of information from VP <NUM>. Then, vehicle control interface <NUM> provides a signal indicating the moving direction of vehicle <NUM> (a signal indicating an actual moving direction (Actual_Moving_Direction)) to ADK <NUM>. The moving direction of vehicle <NUM> can thus appropriately be conveyed to ADK <NUM>. An approach to determination of the moving direction of vehicle <NUM> will specifically be described below. Though an example in which vehicle <NUM> includes four wheels is described below, the present disclosure can be applied similarly also to a vehicle including at most three wheels or a vehicle including at least five wheels.

VP <NUM> (brake system 121B in the present embodiment) fixes the rotation direction of each wheel (a front left wheel, a front right wheel, a rear left wheel, and a rear right wheel) based on an output from wheel speed sensor <NUM>. Then, VP <NUM> provides information (WheelSpeed_Rotation) indicating the fixed rotation direction of each wheel to vehicle control interface <NUM>. The information indicating the rotation direction of the wheel provided from VP <NUM> to vehicle control interface <NUM> includes information indicating the rotation direction (forward rotation) in which vehicle <NUM> travels forward or the rotation direction (reverse rotation) in which vehicle <NUM> travels rearward.

As described above, VP <NUM> determines whether or not vehicle <NUM> has come to a standstill based on the output from wheel speed sensor <NUM>. Specifically, when the speed of all of four wheels has been set to zero and when all (for example, four) wheel speed values are zero during a certain time period since the speed of all of the four wheels was set to zero, VP <NUM> determines that vehicle <NUM> has come to a standstill. When VP <NUM> determines that vehicle <NUM> has come to a standstill, VP <NUM> provides information indicating "Standstill" that indicates stop of vehicle <NUM> to vehicle control interface <NUM>. The certain time period may be set, for example, to <NUM>. The certain time period is not limited to the above and can be set as appropriate depending on specifications of vehicle <NUM>.

Vehicle control interface <NUM> determines the moving direction of vehicle <NUM> based on various types of information received from VP <NUM>. Then, vehicle control interface <NUM> provides a signal indicating the determined moving direction (the signal indicating the actual moving direction) of vehicle <NUM> to ADK <NUM>.

When vehicle control interface <NUM> obtains information indicating "Standstill" from VP <NUM>, it determines the moving direction of vehicle <NUM> as "Standstill".

When vehicle control interface <NUM> has not obtained information indicating "Standstill" from VP <NUM>, it determines the moving direction of vehicle <NUM> based on majority rule based on information indicating the rotation direction of the wheel. Specifically, when the number of wheels rotating in the forward rotation direction is larger than the number of wheels rotating in the reverse rotation direction, vehicle control interface <NUM> determines the moving direction of vehicle <NUM> as "Forward". When the number of wheels rotating in the reverse rotation direction is larger than the number of wheels rotating in the forward rotation direction, vehicle control interface <NUM> determines the moving direction of vehicle <NUM> as "Reverse". When the number of wheels rotating in the forward rotation direction is equal to the number of wheels rotating in the reverse rotation direction, vehicle control interface <NUM> determines the moving direction of vehicle <NUM> as "Undefined". In the present embodiment, when the number of wheels rotating in the forward rotation direction is larger than two, vehicle control interface <NUM> determines the moving direction of vehicle <NUM> as "Forward". When the number of wheels rotating in the reverse rotation direction is larger than two, vehicle control interface <NUM> determines the moving direction of vehicle <NUM> as "Reverse". When the number of wheels rotating in the forward rotation direction is two and the number of wheels rotating in the reverse rotation direction is two, vehicle control interface <NUM> determines the moving direction of vehicle <NUM> as "Undefined". For example, a case that driving wheels slip when the vehicle slips down on a slope or a snow-covered road is assumed as the example where the number of wheels rotating in the forward rotation direction is equal to the number of wheels rotating in the reverse rotation direction.

<FIG> is a diagram for illustrating setting of a signal indicating an actual moving direction. <FIG> shows relation between an actual moving direction (the moving direction of vehicle <NUM>) and a value. Specifically, a value is shown in a field "value" and a rotation direction of a wheel is shown in a field "Description". A field "remarks" is used when there are remarks.

Referring to <FIG>, a value <NUM> represents forward travel (Forward). A value <NUM> represents a reverse travel (Reverse). A value <NUM> represents stop (Standstill). A value <NUM> represents undefined (Undefined).

When vehicle control interface <NUM> determines the moving direction of vehicle <NUM> as "Forward", it sets the value <NUM> in the signal indicating the actual moving direction. When vehicle control interface <NUM> determines the moving direction of vehicle <NUM> as "Reverse", it sets the value <NUM> in the signal indicating the actual moving direction. When vehicle control interface <NUM> determines the moving direction of vehicle <NUM> as "Standstill", it sets the value <NUM> in the signal indicating the actual moving direction. When vehicle control interface <NUM> determines the moving direction of vehicle <NUM> as "Undefined", it sets the value <NUM> in the signal indicating the actual moving direction.

When vehicle control interface <NUM> sets the signal indicating the actual moving direction, it provides the set signal indicating the actual moving direction to ADK <NUM>. ADK <NUM> that has received the signal indicating the actual moving direction set as above can recognize the moving direction of vehicle <NUM> based on the value indicated in the signal.

<FIG> is a flowchart showing a procedure of processing performed in VP <NUM>. Processing in the flowchart in <FIG> is repeatedly performed every prescribed control cycle in VP <NUM>. Though an example in which processing in the flowchart in <FIG> is performed by software processing by VP <NUM> is described, a part or the entirety thereof may be implemented by hardware (electric circuitry) made in VP <NUM>.

VP <NUM> determines whether or not the speed of all wheels, that is, four wheels, included in vehicle <NUM> is <NUM> (a step <NUM>, the step being abbreviated as "S" below). When the speed of all of the four wheels is not zero (NO in S1), VP <NUM> skips processing thereafter and the process returns.

When the speed of all of the four wheels is zero (YES in S1), VP <NUM> determines whether or not a certain time period has elapsed since the speed of all of the four wheels was set to zero (S3). When the certain time period has not elapsed (NO in S3), the process returns.

When the certain time period has elapsed, that is, when four wheel speed values are zero during the certain time period (YES in S3), VP <NUM> provides information indicating "Standstill" to vehicle control interface <NUM> (S5).

<FIG> is a flowchart showing a procedure of processing for determining a moving direction of the vehicle. Processing in the flowchart in <FIG> is repeatedly performed every prescribed control cycle in vehicle control interface <NUM>. Though an example in which processing in the flowchart in <FIG> is performed by software processing by vehicle control interface <NUM> is described, a part or the entirety thereof may be implemented by hardware (electric circuitry) made in vehicle control interface <NUM>.

Vehicle control interface <NUM> determines whether or not it has received information indicating "Standstill" from VP <NUM> (S11). When vehicle control interface <NUM> has received information indicating "Standstill" from VP <NUM> (YES in S11), it determines the moving direction of vehicle <NUM> as "Standstill" and sets the value <NUM> in the signal indicating the actual moving direction (S12).

When vehicle control interface <NUM> has not received information indicating "Standstill" from VP <NUM> (NO in S11), it determines whether or not the number of wheels rotating in the forward rotation direction is larger than two (S13). When the number of wheels rotating in the forward rotation direction is larger than two (YES in S13), vehicle control interface <NUM> determines the moving direction of vehicle <NUM> as "Forward" and sets the value <NUM> in the signal indicating the actual moving direction (S14).

When the number of wheels rotating in the forward rotation direction is not larger than two (NO in S13), that is, when the number of wheels rotating in the forward rotation direction is equal to or smaller than two, vehicle control interface <NUM> determines whether or not the number of wheels rotating in the reverse rotation direction is larger than two (S15). When the number of wheels rotating in the reverse rotation direction is larger than two (YES in S15), vehicle control interface <NUM> determines the moving direction of vehicle <NUM> as "Reverse" and sets the value <NUM> in the signal indicating the actual moving direction (S16).

When the number of wheels rotating in the reverse rotation direction is not larger than two (NO in S15), that is, when the number of wheels (two) rotating in the forward rotation direction is equal to the number of wheels (two) rotating in the reverse rotation direction, vehicle control interface <NUM> determines the moving direction of vehicle <NUM> as "Undefined" and sets the value <NUM> in the signal indicating the actual moving direction (S17).

When vehicle control interface <NUM> sets a value in the signal indicating the actual moving direction, it provides the signal indicating the actual moving direction to ADK <NUM> (S18). ADK <NUM> can thus recognize the moving direction of vehicle <NUM>.

As set forth above, in the MaaS system according to the present embodiment, vehicle control interface <NUM> that interfaces between VP <NUM> and ADK <NUM> is provided. Vehicle control interface <NUM> determines the moving direction of vehicle <NUM> based on various types of information from VP <NUM>. Then, vehicle control interface <NUM> provides the signal indicating the moving direction (the signal indicating the actual moving direction) of vehicle <NUM> to ADK <NUM>. The moving direction of vehicle <NUM> can thus appropriately be conveyed to ADK <NUM>. By appropriately conveying the moving direction of vehicle <NUM>, ADK <NUM> can create a more proper driving plan and hence accuracy in autonomous driving can be enhanced.

Even though a developer of vehicle main body <NUM> is different from a developer of ADK <NUM>, they can be in coordination with each other owing to development of vehicle main body <NUM> and ADK <NUM> in accordance with a procedure and a data format (API) determined for vehicle control interface <NUM>.

Though an example in which vehicle control interface <NUM> determines the moving direction of vehicle <NUM> is described in the present embodiment, VP <NUM> may determine the moving direction of vehicle <NUM>. In this case, vehicle control interface <NUM> relays the signal indicating the moving direction of vehicle <NUM> provided from VP <NUM> and provides the signal to ADK <NUM>.

Examples are given below. Although the examples mention Toyota, they can be transposed to other companies, e.g. other vehicle manufacturers.

This document is an API specification of Toyota Vehicle Platform and contains the outline, the usage and the caveats of the application interface.

e-Palette, MaaS vehicle based on the POV (Privately Owned Vehicle) manufactured by Toyota.

All the contents are subject to change. Such changes are notified to the users. Please note that some parts are still T. will be updated in the future.

The overall structure of MaaS with the target vehicle is shown (<FIG>).

Vehicle control technology is being used as an interface for technology providers.

Technology providers can receive open API such as vehicle state and vehicle control, necessary for development of automated driving systems.

The system architecture as a premise is shown (<FIG>).

The target vehicle will adopt the physical architecture of using CAN for the bus between ADS and VCIB. In order to realize each API in this document, the CAN frames and the bit assignments are shown in the form of "bit assignment table" as a separate document.

Basic responsibility sharing between ADS and vehicle VP is as follows when using APIs.

The ADS should create the driving plan, and should indicate vehicle control values to the VP.

The Toyota VP should control each system of the VP based on indications from an ADS.

In this section, typical usage of APIs is described.

CAN will be adopted as a communication line between ADS and VP. Therefore, basically, APIs should be executed every defined cycle time of each API by ADS.

A typical workflow of ADS of when executing APIs is as follows (<FIG>).

In this section, the APIs for vehicle motion control which is controllable in the MaaS vehicle is described.

The transition to the standstill (immobility) mode and the vehicle start sequence are described. This function presupposes the vehicle is in Autonomy_State = Autonomous Mode. The request is rejected in other modes.

Acceleration Command requests deceleration and stops the vehicle. Then, when Longitudinal_Velocity is confirmed as <NUM> [km/h], Standstill Command = "Applied" is sent. After the brake hold control is finished, Standstill Status becomes "Applied". Until then, Acceleration Command has to continue deceleration request. Either Standstill Command = "Applied" or Acceleration Command's deceleration request were canceled, the transition to the brake hold control will not happen. After that, the vehicle continues to be standstill as far as Standstill Command = "Applied" is being sent. Acceleration Command can be set to <NUM> (zero) during this period.

If the vehicle needs to start, the brake hold control is cancelled by setting Standstill Command to "Released". At the same time, acceleration/deceleration is controlled based on Acceleration Command (<FIG>).

EPB is engaged when Standstill Status = "Applied" continues for <NUM> minutes.

The shift change sequence is described. This function presupposes that Autonomy_State = Autonomous Mode. Otherwise, the request is rejected.

Shift change happens only during Actual_Moving_Direction = "standstill"). Otherwise, the request is rejected.

In the following diagram shows an example. Acceleration Command requests deceleration and makes the vehicle stop. After Actual_Moving_Direction is set to "standstill", any shift position can be requested by Propulsion Direction Command. (In the example below, "D" → "R").

During shift change, Acceleration Command has to request deceleration.

After the shift change, acceleration/deceleration is controlled based on Acceleration Command value (<FIG>).

The engagement and release of wheel lock is described. This function presupposes Autonomy_State = Autonomous Mode, otherwise the request is rejected.

This function is conductible only during vehicle is stopped. Acceleration Command requests deceleration and makes the vehicle stop. After Actual_Moving_Direction is set to "standstill", WheelLock is engaged by Immobilization Command = "Applied". Acceleration Command is set to Deceleration until Immobilization Status is set to "Applied".

If release is desired, Immobilization Command = "Release" is requested when the vehicle is stationary. Acceleration Command is set to Deceleration at that time.

After this, the vehicle is accelerated/decelerated based on Acceleration Command value (<FIG>).

This function presupposes Autonomy_State = "Autonomous Mode", and the request is rejected otherwise.

Tire Turning Angle Command is the relative value from
Estimated_Road_Wheel_Angle_Actual.

For example, in case that Estimated_Road_Wheel_Angle_Actual = <NUM> [rad] while the vehicle is going straight;.

While in Autonomous driving mode, accelerator pedal stroke is eliminated from the vehicle acceleration demand selection.

The action when the brake pedal is operated. In the autonomy mode, target vehicle deceleration is the sum of <NUM>) estimated deceleration from the brake pedal stroke and <NUM>) deceleration request from AD system.

In Autonomous driving mode, driver operation of the shift lever is not reflected in Propulsion Direction Status.

If necessary, ADS confirms Propulsion Direction by Driver and changes shift position by using Propulsion Direction Command.

When the driver (rider) operates the steering, the maximum is selected from.

Note that Tire Turning Angle Command is not accepted if the driver strongly turns the steering wheel. The above-mentioned is determined by Steering_Wheel_Intervention flag.

Estimated_Max_Decel_Capability to Estimated_Max_Accel_Capability [m/s<NUM>].

Calculated from the "vehicle speed - steering angle rate" chart like below.

The threshold speed between A and B is <NUM> [km/h] (<FIG>).

This signal shows whether the accelerator pedal is depressed by a driver (intervention).

Position of the brake pedal (How much is the pedal depressed?).

This signal shows whether the brake pedal is depressed by a driver (intervention).

This signal shows whether the steering wheel is turned by a driver (intervention).

This signal shows whether the shift lever is controlled by a driver (intervention).

When Turnsignallight_Mode_Command = <NUM>, vehicle platform sends left blinker on request.

When Turnsignallight_Mode_Command = <NUM>, vehicle platform sends right blinker on request.

Therefore, in order to control <NUM> (four) hvacs (1st_left/right, 2nd_left/right) individually, VCIB achieves the following procedure after Ready-ON. (This functionality will be implemented from the CV.

When there is luggage on the seat, this signal may be set to "Occupied".

The followings are the explanation of the three power modes, i.e. [Sleep][Wake][Driving Mode], which are controllable via API.

Vehicle power off condition. In this mode, the high voltage battery does not supply power, and neither VCIB nor other VP ECUs are activated.

VCIB is awake by the low voltage battery. In this mode, ECUs other than VCIB are not awake except for some of the body electrical ECUs.

Ready ON mode. In this mode, the high voltage battery supplies power to the whole VP and all the VP ECUs including VCIB are awake.

Transmission interval is <NUM> within fuel cutoff motion delay allowance time (<NUM>) so that data can be transmitted more than <NUM> times. In this case, an instantaneous power interruption is taken into account.

This document is an architecture specification of Toyota's MaaS Vehicle Platform and contains the outline of system in vehicle level.

This specification is applied to the Toyota vehicles with the electronic platform called 19ePF [ver. <NUM> and ver.

The representative vehicle with 19ePF is shown as follows.

The system architecture on the vehicle as a premise is shown (<FIG>).

The target vehicle of this document will adopt the physical architecture of using CAN for the bus between ADS and VCIB. In order to realize each API in this document, the CAN frames and the bit assignments are shown in the form of "bit assignment chart" as a separate document.

The power supply architecture as a premise is shown as follows (<FIG>).

The blue colored parts are provided from an ADS provider. And the orange colored parts are provided from the VP.

The power structure for ADS is isolate from the power structure for VP. Also, the ADS provider should install a redundant power structure isolated from the VP.

The basic safety concept is shown as follows.

The strategy of bringing the vehicle to a safe stop when a failure occurs is shown as follows (<FIG>).

See the separated document called "Fault Management" regarding notifiable single failure and expected behavior for the ADS.

The redundant functionalities with Toyota's MaaS vehicle are shown.

Toyota's Vehicle Platform has the following redundant functionalities to meet the safety goals led from the functional safety analysis.

Any single failure on the Braking System doesn't cause loss of braking functionality. However, depending on where the failure occurred, the capability left might not be equivalent to the primary system's capability. In this case, the braking system is designed to prevent the capability from becoming <NUM> or less.

Any single failure on the Steering System doesn't cause loss of steering functionality. However, depending on where the failure occurred, the capability left might not be equivalent to the primary system's capability. In this case, the steering system is designed to prevent the capability from becoming <NUM> or less.

Toyota's MaaS vehicle has <NUM> immobilization systems, i.e. P lock and EPB. Therefore, any single failure of immobilization system doesn't cause loss of the immobilization capability. However, in the case of failure, maximum stationary slope angle is less steep than when the systems are healthy.

Any single failure on the Power Supply System doesn't cause loss of power supply functionality. However, in case of the primary power failure, the secondary power supply system keeps supplying power to the limited systems for a certain time.

Any single failure on the Communication System doesn't cause loss of all the communication functionality. System which needs redundancy has physical redundant communication lines. For more detail information, see the chapter "Physical LAN architecture (in-Vehicle)".

Regarding security, Toyota's MaaS vehicle adopts the security document issued by Toyota as an upper document.

The entire risk includes not only the risks assumed on the base e-PF but also the risks assumed for the Autono-MaaS vehicle.

The countermeasure of the above assumed risks is shown as follows.

The countermeasure for a remote attack is shown as follows.

Since the autonomous driving kit communicates with the center of the operation entity, end-to-end security should be ensured. Since a function to provide a travel control instruction is performed, multi-layered protection in the autonomous driving kit is required. Use a secure microcomputer or a security chip in the autonomous driving kit and provide sufficient security measures as the first layer against access from the outside. Use another secure microcomputer and another security chip to provide security as the second layer. (Multi-layered protection in the autonomous driving kit including protection as the first layer to prevent direct entry from the outside and protection as the second layer as the layer below the former).

The countermeasure for a modification is shown as follows.

For measures against a counterfeit autonomous driving kit, device authentication and message authentication are carried out. In storing a key, measures against tampering should be provided and a key set is changed for each pair of a vehicle and an autonomous driving kit. Alternatively, the contract should stipulate that the operation entity exercise sufficient management so as not to allow attachment of an unauthorized kit. For measures against attachment of an unauthorized product by an Autono-MaaS vehicle user, the contract should stipulate that the operation entity exercise management not to allow attachment of an unauthorized kit.

In application to actual vehicles, conduct credible threat analysis together, and measures for addressing most recent vulnerability of the autonomous driving kit at the time of LO should be completed.

The allocation of representative functionalities is shown as below (<FIG>).

Claim 1:
A vehicle (<NUM>) on which an autonomous driving system (<NUM>) is mountable, the vehicle comprising:
a vehicle platform (<NUM>) configured to control the vehicle in accordance with an instruction from the autonomous driving system and comprising a wheel speed sensor (<NUM>) provided in each wheel of the vehicle (<NUM>); and
a vehicle control interface (<NUM>) configured to interface between the vehicle platform and the autonomous driving system, characterized in that
each wheel speed sensor (<NUM>) is configured to detect a rotation speed and a rotation direction of a wheel; and
the vehicle control interface is configured to provide, to the autonomous driving system, a signal indicating a moving direction of the vehicle that is determined based on a majority rule in connection with rotation directions of wheels, so as to provide, to the autonomous driving system, a signal indicating "Forward" when the number of wheels rotating in a forward rotation direction is larger than the number of wheels rotating in a reverse rotation direction, a signal indicating "Reverse" when the number of wheels rotating in the reverse rotation direction is larger than the number of wheels rotating in the forward rotation direction, and information indicating "Undefined" when the number of wheels rotating in a forward rotation direction is equal to the number of wheels rotating in a reverse rotation direction.