Patent Description:
In recent years, development of the autonomous driving technology for vehicles is in progress. <CIT> for example discloses an autonomous driving system that conducts centralized autonomous driving control for a vehicle. This autonomous driving system includes a camera, a laser device, a radar device, an operation device, a gradient sensor, autonomous driving equipment, and an autonomous-driving ECU (Electronic Control Unit).

<CIT> discloses, in a second modification, that at least one of a motive power function, a braking function, and a steering function of the autonomous driving equipment is restricted (see <FIG> and <FIG>). Such a state where the autonomous control is inhibited is a state that can also be switched to driver's manual operation. Besides, <CIT> discloses an electronically controllable pneumatic braking system in a commercial vehicle and a method for electronically controlling a pneumatic braking system. <CIT> overlays deceleration requests from an autonomous driving system with those received from a driver.

The autonomous driving system may be attached externally to the body of the vehicle. In this case, a vehicle platform (described later herein) controls the vehicle in accordance with instructions from the autonomous driving system to thereby implement autonomous driving.

In order for the autonomous driving system and the vehicle platform to work in cooperation with each other appropriately, it is preferable to provide an appropriate interface between the autonomous driving system and the vehicle platform. The importance of such an interface may particularly be high if the developer of the autonomous driving system is different from the developer of the vehicle platform, for example.

The present disclosure is made to solve the above-described problem, and an object of the present disclosure is to provide an appropriate interface between the autonomous driving system and the vehicle platform. The invention is defined by the independent claim, and a preferable embodiment is defined by the dependent claim.

In the following, the present embodiment is described in detail with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference characters, and a description thereof is not repeated.

In connection with the following embodiment, an example is described in which an autonomous driving kit (ADK) is mounted on a MaaS vehicle (Mobility as a Service vehicle). The autonomous driving kit is a tool into which hardware and software for implementing autonomous driving are integrated, and is one form that implements the autonomous driving system (ADS). The type of the vehicle on which the autonomous driving kit can be mounted is not limited to the MaaS vehicle. The autonomous driving kit is applicable to all types of vehicles for which autonomous driving can be implemented.

<FIG> schematically shows a 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>. Vehicle <NUM> includes a vehicle main body <NUM> and an autonomous driving kit (ADK) <NUM>. Vehicle main body <NUM> includes a vehicle control interface <NUM>, a vehicle platform (VP) <NUM>, and a DCM (Data Communication Module) <NUM>. The MaaS system includes, in addition to vehicle <NUM>, a data server <NUM>, a mobility service platform (MSPF) <NUM>, and autonomous driving related mobility services <NUM>.

Vehicle <NUM> is capable of autonomous driving in accordance with a command from ADK <NUM> attached to vehicle main body <NUM>. Although vehicle main body <NUM> is shown to be located separately from ADK <NUM> in <FIG>, actually ADK <NUM> is attached to a rooftop for example of vehicle main body <NUM>.

ADK <NUM> can also be detached from vehicle main body <NUM>. While ADK <NUM> is not attached, vehicle main body <NUM> can be driven by a driver to travel. In this case, VP <NUM> conducts travel control (travel control in accordance with driver's operation) in a manual mode.

Vehicle control interface <NUM> can communicate with ADK <NUM> through a CAN (Controller Area Network) for example. Vehicle control interface <NUM> executes a predetermined API (Application Program Interface) defined for each signal to be communicated, to thereby receive various commands from ADK <NUM> and output the state of vehicle main body <NUM> to ADK <NUM>.

Receiving a command from ADK <NUM>, vehicle control interface <NUM> outputs, to VP <NUM>, a control command corresponding to the received command. Vehicle control interface <NUM> also acquires various types of information about 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> is detailed later herein.

VP <NUM> includes various systems and various sensors for controlling vehicle main body <NUM>. In accordance with a command given from ADK <NUM> through vehicle control interface <NUM>, VP <NUM> conducts vehicle control. Specifically, in accordance with a command from ADK <NUM>, VP <NUM> conducts vehicle control to thereby implement autonomous driving of vehicle <NUM>. A configuration of VP <NUM> is also detailed later herein.

ADK <NUM> is a kind of autonomous driving system (ADS) for implementing autonomous driving of vehicle <NUM>. ADK <NUM> prepares, for example, a driving plan for vehicle <NUM>, and outputs various commands for causing vehicle <NUM> to travel following the prepared driving plan, to vehicle control interface <NUM> in accordance with an API defined for each command. ADK <NUM> also receives various signals indicating the state of vehicle main body <NUM>, from vehicle control interface <NUM> in accordance with an API defined for each signal, and causes the received vehicle state to be reflected on preparation of the driving plan. A configuration of ADK <NUM> is also described later herein.

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

Data server <NUM> is configured to communicate by radio with various autonomous vehicles including vehicle <NUM>, and configured to communicate also with MSPF <NUM>. Data server <NUM> stores various types of data (data regarding the vehicle state and the vehicle control) for managing travel of the autonomous vehicle.

MSPF <NUM> is an integrated platform to which various mobility services are connected. In addition to autonomous driving related mobility services <NUM>, various mobility services that are not shown (for example, various mobility services provided by a ride sharing company, a car-sharing company, an insurance company, a rent-a-car company, a taxi company, and the like) may be connected to MSPF <NUM>. Various mobility services including mobility services <NUM> can use various functions provided by MSPF <NUM> appropriately for respective services, using an API published on MSPF <NUM>.

Autonomous driving related mobility services <NUM> provide mobility services using autonomous vehicles including vehicle <NUM>. Using an API published on MSPF <NUM>, mobility services <NUM> can acquire, from MSPF <NUM>, drive control data for vehicle <NUM> communicating with data server <NUM> and/or information or the like stored in data server <NUM>, for example. Using the above-described API, mobility services <NUM> also transmit, to MSPF <NUM>, data or the like for managing autonomous vehicles including vehicle <NUM>, for example.

MSPF <NUM> publishes APIs for using various types of data regarding the vehicle state and the vehicle control necessary for development of the ADS. ADS companies can use, as the API, data regarding the vehicle state and the vehicle control necessary for development of the ADS, stored in data server <NUM>.

<FIG> shows a configuration of vehicle <NUM> in more detail. Referring to <FIG>, ADK <NUM> includes a compute assembly <NUM>, sensors for perception <NUM>, sensors for pose <NUM>, an HMI (Human Machine Interface) <NUM>, and sensor cleaning <NUM>.

During autonomous driving of vehicle <NUM>, compute assembly <NUM> uses various sensors (described later herein) to obtain the environment around the vehicle, as well as pose, behavior, and position of vehicle <NUM>. Compute assembly <NUM> also obtains the state of vehicle <NUM> from VP <NUM> through vehicle control interface <NUM>, and determines the next operation (acceleration, deceleration, turn, or the like) of vehicle <NUM>. Compute assembly <NUM> outputs, to vehicle control interface <NUM>, a command for implementing the determined next operation.

Sensors for perception <NUM> perceive the environment around the vehicle. Specifically, sensors for perception <NUM> include at least one of a LIDAR (Light Detection and Ranging), a millimeter-wave radar, and a camera, for example.

The LIDAR illuminates a target (human, another vehicle, or obstacle, for example) with infrared pulsed laser light, and measures the distance to the target based on the time taken for the light to be reflected from the target and return to the LIDAR. The millimeter-wave radar applies millimeter wave to the target and detects the millimeter wave reflected from the target to measure the distance to the target and/or the direction of the target. The camera is placed on the back side of a room mirror in the vehicle compartment, for example, to take a picture of an area located forward of vehicle <NUM>. The image taken by the camera can be subjected to image processing by an image processor equipped with artificial intelligence (AI). The information obtained by sensors for perception <NUM> is output to compute assembly <NUM>.

Sensors for pose <NUM> detect the pose, the behavior, and the position of vehicle <NUM>. Specifically, sensors for pose <NUM> include an inertial measurement unit (IMU) and a GPS (Global Positioning System), for example.

The IMU detects, for example, the deceleration of vehicle <NUM> in the longitudinal direction, the transverse direction, and the vertical direction, as well as the angular velocity of vehicle <NUM> in the roll direction, the pitch direction, and the yaw direction. The GPS uses information received from a plurality of GPS satellites orbiting around the earth to detect the position of vehicle <NUM>. The information acquired by sensors for pose <NUM> is also output to compute assembly <NUM>.

HMI <NUM> includes, for example, a display device, an audio output device, and an operation device. Specifically, HMI <NUM> may include a touch panel display and/or a smart speaker (AI speaker). During autonomous driving of vehicle <NUM>, during driving in the manual mode, or during mode transition, for example, HMI <NUM> provides information to a user or receives user's operation.

Sensor cleaning <NUM> is configured to remove dirt stuck to each sensor. More specifically, sensor cleaning <NUM> removes dirt on a camera lens, a laser emission part or a millimeter-wave emission part, for example, with a cleaning liquid or wiper, for example.

Vehicle control interface <NUM> includes a vehicle control interface box (VCIB) <NUM> and a VCIB <NUM>. VCIBs <NUM>, <NUM> each include therein, a processor such as CPU (Central Processing Unit), and a memory such as ROM (Read Only Memory) and RAM (Random Access Memory). Each of VCIB <NUM> and VCIB <NUM> is connected communicatively to compute assembly <NUM> of ADK <NUM>. VCIB <NUM> and VCIB <NUM> are connected to be capable of communicating with each other.

Each of VCIB <NUM> and VCIB <NUM> relays various commands from ADK <NUM> and outputs each relayed command as a control command to VP <NUM>. More specifically, each of VCIB <NUM> and VCIB <NUM> uses a program or the like stored in the memory to convert various commands that are output from ADK <NUM> into control commands to be used for controlling each system of VP <NUM>, and outputs the control commands to a system to which it is connected. Moreover, each of VCIB <NUM> and VCIB <NUM> performs appropriate processing (including relaying) on the vehicle information that is output from VP <NUM>, and outputs the resultant information as vehicle information to ADK <NUM>.

Although VCIB <NUM> and VCIB <NUM> differ from each other in terms of some of constituent parts of VP <NUM> to which VCIB <NUM> and VCIB <NUM> are connected, basically they have equivalent functions. VCIB <NUM> and VCIB <NUM> have equivalent functions regarding operation of the brake system and operation of the steering system for example, so that the control system between ADK <NUM> and VP <NUM> is made redundant (duplicated). Therefore, even when some fault occurs to a part of the systems, the control system can be switched or the control system to which the fault has occurred can be interrupted, for example, to maintain the functions (such as steering and braking) of VP <NUM>.

VP <NUM> includes a brake pedal <NUM>, brake systems <NUM>, <NUM>, a wheel speed sensor <NUM>, steering systems <NUM>, <NUM>, pinion angle sensors <NUM>, <NUM>, an EPB (Electric Parking Brake) system <NUM>, a P (parking) lock system <NUM>, a propulsion system <NUM>, a PCS (Pre-Crash Safety) system <NUM>, a camera/radar <NUM>, and a body system <NUM>.

VCIB <NUM> is connected communicatively with brake system <NUM>, steering system <NUM>, and P lock system <NUM>, among a plurality of systems of VP <NUM> (namely EPB system <NUM>, propulsion system <NUM> and body system <NUM>), through a communication bus. VCIB <NUM> is connected communicatively with brake system <NUM>, steering system <NUM>, and P lock system <NUM>, through a communication bus.

Brake pedal <NUM> receives driver's operation (depression). Brake pedal <NUM> is equipped with a brake position sensor (not shown) that detects the amount of depression by which brake pedal <NUM> is depressed.

Brake systems <NUM>, <NUM> are configured to control a plurality of braking devices (not shown) provided for respective wheels of vehicle <NUM>. These braking devices may include a disc brake system that operates using hydraulic pressure regulated by an actuator. Brake system <NUM> and brake system <NUM> may be configured to have equivalent functions. Alternatively, one of brake systems <NUM>, <NUM> may be configured to control the braking force for each wheel independently while the vehicle is running, and the other may be configured to control the braking force so that the same braking force is generated for each wheel while the vehicle is running.

In accordance with a predetermined control command transmitted from ADK <NUM> through vehicle control interface <NUM>, each of brake systems <NUM>, <NUM> generates a braking command for the braking device. Moreover, brake systems <NUM>, <NUM> control the braking device, using the braking command generated by one of brake systems <NUM>, <NUM>, for example. Further, when a failure occurs to one of brake systems <NUM>, <NUM>, the braking command generated by the other is used to control the braking device.

Wheel speed sensor <NUM> is connected to brake system <NUM> in this example. Wheel speed sensor <NUM> is mounted on each wheel of vehicle <NUM>, for example. Wheel speed sensor <NUM> detects the rotational speed of the wheel and outputs the detected rotational speed to brake system <NUM>. Brake system <NUM> outputs, to VCIB <NUM>, the rotational speed of each wheel, as an information item among information items included in the vehicle information.

Steering systems <NUM>, <NUM> are configured to control the steering angle of the steering wheel of vehicle <NUM>, using a steering device (not shown). The steering device includes, for example, a rack-and-pinion EPS (Electric Power Steering) system capable of adjusting the steering angle by an actuator.

Steering system <NUM> and steering system <NUM> have equivalent functions. Each of steering systems <NUM>, <NUM> generates a steering command for the steering device in accordance with a predetermined control command that is output from ADK <NUM> through vehicle control interface <NUM>. Using the steering command generated by one of steering systems <NUM>, <NUM>, for example, steering systems <NUM>, <NUM> control the steering device. When a failure occurs to one of steering systems <NUM>, <NUM>, the steering commend generated by the other steering system is used to control the steering device.

Pinion angle sensor <NUM> is connected to steering system <NUM>. Pinion angle sensor <NUM> is connected to steering system <NUM>. Each of pinion angle sensors <NUM>, <NUM> detects the rotational angle (pinon angle) of a pinion gear coupled to the rotational shaft of the actuator, and outputs the detected pinion angle to the associated steering system <NUM>, <NUM>.

EPB system <NUM> is configured to control an EPB provided in a wheel of vehicle <NUM>. The EPB is provided separately from the braking device of brake systems <NUM>, <NUM>, and fixes the wheel by an operation of an actuator. This actuator may be capable of regulating the hydraulic pressure to be applied to the braking device, separately from brake systems <NUM>, <NUM>. The EPB fixes a wheel by actuating, with the actuator, a drum brake for a parking brake, for example.

P lock system <NUM> is configured to control a P lock device (not shown) provided for the transmission of vehicle <NUM>. More specifically, a gear (lock gear) is provided to be coupled to a rotational element in the transmission. Further, a parking lock pole capable of adjusting the position by an actuator is also provided for a teeth portion of the lock gear. The P lock device fits a protrusion located on the head of the parking lock pole to thereby fix rotation of the output shaft of the transmission.

Propulsion system <NUM> is capable of switching the shift range using a shift device (not shown), and capable of controlling the driving force for vehicle <NUM> in the direction of travel, using a drive source (not shown). The shift device is configured to select a shift range from a plurality of shift ranges. The drive source may include a motor generator and an engine, for example.

PCS system <NUM> conducts control for avoiding collision of vehicle <NUM> and/or reducing damages to vehicle <NUM>, using camera/radar <NUM>. More specifically, PCS system <NUM> is connected to brake system <NUM>. PCS system <NUM> uses camera/radar <NUM> to detect a forward object, and determines whether there is a possibility of collision of vehicle <NUM> against the object, based on the distance to the object. When PCS system <NUM> determines that there is a possibility of collision, PCS system <NUM> outputs a braking command to brake system <NUM> so as to increase the braking force.

Body system <NUM> is configured to control various constituent parts (direction indicator, horn or wiper, for example), depending on the running state or the running environment of vehicle <NUM>, for example.

Systems other than brake systems <NUM>, <NUM> and steering systems <NUM>, <NUM> are also configured to control respective associated devices, in accordance with a predetermined control command transmitted from ADK <NUM> through vehicle control interface <NUM>. Specifically, EPB system <NUM> receives a control command from ADK <NUM> through vehicle control interface <NUM>, and controls the EPB in accordance with the control command. P lock system <NUM> receives a control command from ADK <NUM> through vehicle control interface <NUM>, and controls the P lock device in accordance with the control command. Propulsion system <NUM> receives a control command from ADK <NUM> through vehicle control interface <NUM>, and controls the shift device and the drive source, in accordance with the control command. Body system <NUM> receives a control command from ADK <NUM> through vehicle control interface <NUM>, and controls the aforementioned constituent parts in accordance with the control command.

For the above-described braking device, steering device, EPB, P lock, shift device, and drive source, for example, an operation device that enables a user to perform manual operation may be provided separately.

<FIG> is a functional block diagram regarding brake pedal control for vehicle <NUM>. Referring to <FIG> and <FIG>, brake system <NUM> includes a position calculator 511A, a target deceleration calculator 511B, and a controller 511C. Although brake system <NUM> is described by way of example on account of limited space herein, brake system <NUM> may have similar functions to brake system <NUM>.

Position calculator 511A receives, from the brake position sensor (not shown), a signal indicating an amount of depression of brake pedal <NUM> by a driver, and outputs, to target deceleration calculator 511B, a deceleration request in accordance with the amount of depression of brake pedal <NUM>. This deceleration request is hereinafter referred to as "driver deceleration request. " The driver deceleration request corresponds to "first deceleration request" of the present disclosure.

ADK <NUM> outputs a deceleration request to brake system <NUM> through VCIB <NUM>. This deceleration request is hereinafter referred to as "system deceleration request. " The system deceleration request corresponds to "second deceleration request" of the present disclosure.

The source of the system deceleration request is not limited to ADK <NUM>, but may be PCS system <NUM>, for example. Moreover, ADK <NUM> and/or PCS system <NUM> may output the system deceleration request to brake system <NUM> through the other VCIB <NUM> provided for redundancy.

Target deceleration calculator 511B receives, from ADK <NUM> through VCIB <NUM>, an autonomous driving instruction that instructs transition to an autonomous mode. Target deceleration calculator 511B also receives the driver deceleration request from position calculator 511A and receives the system deceleration request from ADK <NUM> through VCIB <NUM>. During the autonomous mode, target deceleration calculator 511B calculates the sum of the driver deceleration request and the system deceleration request, and outputs the sum, as a target deceleration of vehicle <NUM>, to controller 511C.

Controller 511C controls each of the systems (brake systems <NUM>, <NUM> and propulsion system <NUM>, for example) included in VP <NUM>, in accordance with the target deceleration from target deceleration calculator 511B. Thus, braking control of vehicle <NUM> is conducted so as to make the deceleration of vehicle <NUM> closer to the target deceleration.

<FIG> is a flowchart showing braking control during the autonomous mode of vehicle <NUM>. The process of the flowchart is performed for each elapse of a predetermined control period, for example. Although each step included in this flowchart is implemented basically by software processing by VP <NUM>, it may also be implemented by dedicated hardware (electrical circuitry) fabricated in VP <NUM>. The step is abbreviated as "S" herein.

Referring to <FIG>, in S1, VP <NUM> determines whether VP <NUM> is in the autonomous mode or not. VP <NUM> has at least a VO (Vehicle Operation) mode and an NVO (Non Vehicle Operation) mode as the autonomous mode. The VO mode refers to a control mode in a situation where a driver is aboard vehicle <NUM> although vehicle <NUM> is capable of autonomous driving. The NVO mode refers to a control mode in a situation where vehicle <NUM> is capable of completely unmanned driving. VP <NUM> can therefore determine that the VP5 is in the autonomous mode, when the VP <NUM> is in the VO mode or the NVO mode following an autonomous driving instruction from ADK <NUM>. When VP <NUM> is in the autonomous mode (YES in S1), VP <NUM> causes the process to proceed to S2. When the VP <NUM> is not in the autonomous mode (NO in S1), i.e., VP <NUM> is in a manual mode, VP <NUM> causes the process to return to the main routine.

In S2, VP <NUM> acquires an amount of depression of the brake pedal indicated by the brake pedal position signal. The amount of depression of the brake pedal is represented by a value in a range from <NUM>% to <NUM>%. It should be noted that the amount of depression of the brake pedal may exceed <NUM>%, due to an assembly error of the brake pedal and/or the brake position sensor.

In S3, VP <NUM> calculates the driver deceleration request in accordance with the amount of depression of the brake pedal. It should be noted that the driver deceleration request may be calculated based on a change, per unit time, of the amount of depression of the brake pedal, rather than based on the amount of depression of the brake pedal.

In S4, VP <NUM> acquires the system deceleration request from a system that may be ADK <NUM>, for example, through VCIB <NUM> (may alternatively be VCIB <NUM>).

In S5, VP <NUM> calculates the sum of the driver deceleration request calculated in S2 and the system deceleration request acquired in S3. VP <NUM> specifies the sum as a target deceleration. Then, VP <NUM> controls systems that may be brake systems <NUM>, <NUM> and propulsion system <NUM>, for example, so as to achieve the target deceleration.

As seen from the foregoing, the present embodiment provides vehicle control interface <NUM> that serves as an interface between ADK <NUM> and VP <NUM>. Thus, the system deceleration request from ADK <NUM> is transmitted to VP <NUM> through vehicle control interface <NUM> (VCIB <NUM>, <NUM>). It is therefore possible for the developer of ADK <NUM> to cause ADK <NUM> to perform communication following a procedure and a data format (API) for example that are defined for vehicle control interface <NUM>, so that ADK <NUM> and VP <NUM> work in cooperation with each other, even when the developer does not have knowledge about details of the specification of VP <NUM>. According to the present embodiment, an appropriate interface can accordingly be provided between ADK <NUM> and VP <NUM>.

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

Toyota's MaaS Vehicle Platform
API Specification
for ADS Developers
[Standard Edition #<NUM>]
History of Revision.

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;.

If ADS requests to go straight ahead, Tire Turning Angle Command should be set to <NUM>+<NUM> = <NUM> [rad].

If ADS requests to steer by -<NUM> [rad], Tire Turning Angle Command should be set to -<NUM>+<NUM> = -<NUM> [rad].

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.

Request to switch between forward (D range) and back (R range).

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>).

The accelerator position signal after zero point calibration is transmitted.

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

When the requested acceleration from depressed acceleration pedal is higher than the requested acceleration from system (ADS, PCS etc.), this signal will turn to "Beyond autonomy acceleration".

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).

Status of whether the fault regarding a functionality in autonomy mode occurs or not.

Command to control the turnsignallight mode of the vehicle platform.

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

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

Command to control the headlight mode of the vehicle platform.

Command to control the hazardlight mode of the vehicle platform.

Command to control the pattern of horn ON-time and OFF-time per cycle of the vehicle platform.

Command to control the Number of horn ON/OFF cycle of the vehicle platform.

Command to control of horn ON of the vehicle platform.

Command to control the front windshield wiper of the vehicle platform.

Command to control the Windshield wiper actuation interval at the Intermittent mode.

Command to control the rear windshield wiper mode of the vehicle platform.

Command to start/stop 1st row air conditioning control.

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.

Command to start/stop 2nd row air conditioning control.

Command to set the target temperature around front left area.

Command to set the target temperature around front right area.

Command to set the target temperature around rear left area.

Command to set the target temperature around rear right area.

Command to set the fan level on the front AC.

Command to set the fan level on the rear AC.

Command to set the mode of 1st row air outlet.

Hvac_2nd_Row_AirOutlet_Mode_CommandCommand to set the mode of 2nd row air outlet.

Command to set the air recirculation mode.

Status of the current turnsignallight mode of the vehicle platform.

Status of the current headlight mode of the vehicle platform.

Status of the current hazard lamp mode of the vehicle platform.

Status of the current horn of the vehicle platform.

Status of the current front windshield wiper mode of the vehicle platform.

Status of the current rear windshield wiper mode of the vehicle platform.

Status of activation of the 1st row HVAC.

Status of activation of the 2nd row HVAC.

Status of set temperature of 1st row left.

Status of set temperature of 1st row right.

Status of set temperature of 2nd row left.

Status of set temperature of 2nd row right.

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

Status of driver's seat belt buckle switch.

Status of passenger's seat belt buckle switch.

Seat belt buckle switch status in 2nd left seat.

Seat belt buckle switch status in 2nd right seat.

Command to control the power mode of the vehicle platform.

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.

Status of the current power mode of the vehicle platform.

Request for operation according to status of vehicle platform toward ADS.

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.

Command to control each door lock of the vehicle platform.

Command to control the all door lock of the vehicle platform.

Status of the current 1st-left door lock mode of the vehicle platform.

Status of the current 1st-right door lock mode of the vehicle platform.

Status of the current 2nd-left door lock mode of the vehicle platform.

Status of the current 2nd-right door lock mode of the vehicle platform.

Status of the current all door lock mode of the vehicle platform.

Status of the current vehicle alarm of the vehicle platform.

Toyota's MaaS Vehicle Platform
Architecture Specification
[Standard Edition #<NUM>]
History of Revision.

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>).

After occurrence of a failure, the entire vehicle executes "detecting a failure" and "correcting an impact of failure" and then achieves the safety state <NUM>. Obeying the instructions from the ADS, the entire vehicle stops in a safe space at a safe speed (assumed less than <NUM>). However, depending on a situation, the entire vehicle should happen a deceleration more than the above deceleration if needed. After stopping, in order to prevent slipping down, the entire vehicle achieves the safety state <NUM> by activating the immobilization system.

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>) can be attached and detached, the vehicle comprising:
a vehicle platform (<NUM>) configured to control the vehicle (<NUM>) in accordance with an instruction from the autonomous driving system (<NUM>) when the autonomous driving system (<NUM>) is attached to the vehicle (<NUM>); and
a vehicle control interface (<NUM>) configured to serve as an interface between the autonomous driving system (<NUM>) and the vehicle platform (<NUM>) by executing a predetermined application program interface (API) defined for each signal to be communicated, wherein
the vehicle platform (<NUM>) is configured to receive a first deceleration request in accordance with an amount of depression of a brake pedal (<NUM>) by a driver, and to receive a second deceleration request from the autonomous driving system (<NUM>) through the vehicle control interface (<NUM>), and
during an autonomous mode, the vehicle platform (<NUM>) is configured to specify a sum of the first deceleration request and the second deceleration request as a target deceleration of the vehicle (<NUM>), characterized in that
the vehicle platform (<NUM>) is configured to set a brake pedal intervention signal, which is different from a brake pedal position signal indicating the amount of depression of the brake pedal (<NUM>) by the driver, to:
a first value to indicate that the brake pedal (<NUM>) is not depressed, when the amount of depression is smaller than a threshold value,
a second value to indicate that the brake pedal (<NUM>) is depressed, when the amount of depression is larger than the threshold value,
a third value to indicate that beyond autonomy deceleration of the vehicle has occurred, when the first deceleration request is larger than the second deceleration request,
the vehicle platform (<NUM>) is configured to output the brake pedal intervention signal to the autonomous driving system (<NUM>) through the vehicle control interface (<NUM>).