The present disclosure relates to a vehicle and a vehicle control interface.
In recent years, development of the autonomous driving technology for vehicles is in progress. Japanese Patent Laying-Open No. 2018-132015 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).
Japanese Patent Laying-Open No. 2018-132015 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
The autonomous driving system may be attached externally to 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.
(1) A vehicle according to an aspect of the present disclosure is a vehicle on which an autonomous driving system is mountable. The vehicle includes: a vehicle platform that controls the vehicle in accordance with an instruction from the autonomous driving system; and a vehicle control interface that serves as an interface between the autonomous driving system and the vehicle platform. The vehicle platform outputs an accelerator pedal position signal in accordance with an amount of depression of an accelerator pedal by a driver, and outputs an accelerator pedal intervention signal, to the autonomous driving system through the vehicle control interface. The accelerator pedal intervention signal indicates that the accelerator pedal is depressed, when the accelerator pedal position signal indicates that the amount of depression is larger than a threshold value. The accelerator pedal intervention signal indicates beyond autonomy acceleration of the vehicle, when an acceleration request in accordance with the amount of depression is higher than a system acceleration request.
(2) The vehicle platform has an NVO (Non Vehicle Operation) mode in which the vehicle is capable of completely unmanned driving. In the NVO mode, the vehicle control interface does not output, to the autonomous driving system, the accelerator pedal intervention signal indicating the beyond autonomy acceleration.
(3) The accelerator pedal position signal indicates an accelerator position in accordance with the amount of depression of the accelerator pedal, while the vehicle is in a normal condition, and indicates a failsafe value different from the accelerator position, while the vehicle is in a failure condition.
(4) A vehicle control interface according to another aspect of the present disclosure serves as an interface between an autonomous driving system and a vehicle platform that controls a vehicle in accordance with an instruction from the autonomous driving system. The vehicle platform outputs an accelerator pedal position signal in accordance with an amount of depression of an accelerator pedal by a driver, and outputs an accelerator pedal intervention signal, to the vehicle control interface. The vehicle control interface outputs the accelerator pedal position signal and the accelerator pedal intervention signal to the autonomous driving system. The accelerator pedal intervention signal indicates that the accelerator pedal is depressed, when the accelerator pedal position signal indicates that the amount of depression is larger than a threshold value. The accelerator pedal intervention signal indicates beyond autonomy acceleration of the vehicle, when an acceleration request in accordance with the amount of depression is higher than a system acceleration request.
(5) The vehicle platform has an NVO (Non Vehicle Operation) mode in which the vehicle is capable of completely unmanned driving. In the NVO mode, the vehicle control interface does not output, to the autonomous driving system, the accelerator pedal intervention signal indicating the beyond autonomy acceleration.
(6) The accelerator pedal position signal indicates an accelerator position in accordance with the amount of depression, while the vehicle is in a normal condition, and indicates a failsafe value different from the accelerator position, while the vehicle is in a failure condition.
The foregoing and other objects, features, aspects and advantages of the present disclosure will become more apparent from the following detailed description of the present disclosure when taken in conjunction with the accompanying drawings.
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.
Vehicle 1 is capable of autonomous driving in accordance with a command from ADK 3 attached to vehicle main body 2. Although vehicle main body 2 is shown to be located separately from ADK 3 in
ADK 3 can also be detached from vehicle main body 2. While ADK 3 is not attached, vehicle main body 2 can be driven by a driver to travel. In this case, VP 5 conducts travel control (travel control in accordance with driver's operation) in a manual mode.
Vehicle control interface 4 can communicate with ADK 3 through a CAN (Controller Area Network) for example. Vehicle control interface 4 executes a predetermined API (Application Program Interface) defined for each signal to be communicated, to thereby receive various commands from ADK 3 and output the state of vehicle main body 2 to ADK 3.
Receiving a command from ADK 3, vehicle control interface 4 outputs, to VP 5, a control command corresponding to the received command. Vehicle control interface 4 also acquires various types of information about vehicle main body 2 from VP 5 and outputs the state of vehicle main body 2 to ADK 3. A configuration of vehicle control interface 4 is detailed later herein.
VP 5 includes various systems and various sensors for controlling vehicle main body 2. In accordance with a command given from ADK 3 through vehicle control interface 4, VP 5 conducts vehicle control. Specifically, in accordance with a command from ADK 3, VP 5 conducts vehicle control to thereby implement autonomous driving of vehicle 1. A configuration of VP 5 is also detailed later herein.
ADK 3 is a kind of autonomous driving system (ADS) for implementing autonomous driving of vehicle 1. ADK 3 prepares, for example, a driving plan for vehicle 1, and outputs various commands for causing vehicle 1 to travel following the prepared driving plan, to vehicle control interface 4 in accordance with an API defined for each command. ADK 3 also receives various signals indicating the state of vehicle main body 2, from vehicle control interface 4 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 3 is also described later herein.
DCM 6 includes a communication interface for vehicle main body 2 to communicate by radio with data server 7. DCM 6 outputs, to data server 7, various types of vehicle information such as speed, position, and state of autonomous driving, for example. DCM 6 also receives, from autonomous driving related mobility services 9 through MSPF 8 and data server 7, various types of data for managing travel of autonomous vehicles including vehicle for autonomous driving related mobility services 9, for example.
Data server 7 is configured to communicate by radio with various autonomous vehicles including vehicle 1, and configured to communicate also with MSPF 8. Data server 7 stores various types of data (data regarding the vehicle state and the vehicle control) for managing travel of the autonomous vehicle.
MSPF 8 is an integrated platform to which various mobility services are connected. In addition to autonomous driving related mobility services 9, various mobility services that are not shown (for example, various mobility services provided by a ridesharing company, a car-sharing company, an insurance company, a rent-a-car company, a taxi company, and the like) may be connected to MSPF 8. Various mobility services including mobility services 9 can use various functions provided by MSPF 8 appropriately for respective services, using an API published on MSPF 8.
Autonomous driving related mobility services 9 provide mobility services using autonomous vehicles including vehicle 1. Using an API published on MSPF 8, mobility services 9 can acquire, from MSPF 8, drive control data for vehicle 1 communicating with data server 7 and/or information or the like stored in data server 7, for example. Using the above-described API, mobility services 9 also transmit, to MSPF 8, data or the like for managing autonomous vehicles including vehicle 1, for example.
MSPF 8 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 7.
During autonomous driving of vehicle 1, compute assembly 31 uses various sensors (described later herein) to obtain the environment around the vehicle, as well as pose, behavior, and position of vehicle 1. Compute assembly 31 also obtains the state of vehicle 1 from VP 5 through vehicle control interface 4, and determines the next operation (acceleration, deceleration, turn, or the like) of vehicle 1. Compute assembly 31 outputs, to vehicle control interface 4, a command for implementing the determined next operation.
Sensors for perception 32 perceive the environment around the vehicle. Specifically, sensors for perception 32 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 1. 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 32 is output to compute assembly 31.
Sensors for pose 33 detect the pose, the behavior, and the position of vehicle 1. Specifically, sensors for pose 33 include an inertial measurement unit (IMU) and a GPS (Global Positioning System), for example.
The IMU detects, for example, the acceleration of vehicle 1 in the longitudinal direction, the transverse direction, and the vertical direction, as well as the angular velocity of vehicle 1 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 1. The information acquired by sensors for pose 33 is also output to compute assembly 31.
HMI 34 includes, for example, a display device, an audio output device, and an operation device. Specifically, HMI 34 may include a touch panel display and/or a smart speaker (AI speaker). During autonomous driving of vehicle 1, during driving in the manual mode, or during mode transition, for example, HMI 34 provides information to a user or receives user's operation.
Sensor cleaning 35 is configured to remove dirt stuck to each sensor. More specifically, sensor cleaning 35 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 4 includes a vehicle control interface box (VCIB) 41 and a VCIB 42. VCIBs 41, 42 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 41 and VCIB 42 is connected communicatively to compute assembly 31 of ADK 3. VCIB 41 and VCIB 42 are connected to be capable of communicating with each other.
Each of VCIB 41 and VCIB 42 relays various commands from ADK 3 and outputs each relayed command as a control command to VP 5. More specifically, each of VCIB 41 and VCIB 42 uses a program or the like stored in the memory to convert various commands that are output from ADK 3 into control commands to be used for controlling each system of VP 5, and outputs the control commands to a system to which it is connected. Moreover, each of VCIB 41 and VCIB 42 performs appropriate processing (including relaying) on the vehicle information that is output from VP 5, and outputs the resultant information as vehicle information to ADK 3.
Although VCIB 41 and VCIB 42 differ from each other in terms of some of constituent parts of VP 5 to which VCIB 41 and VCIB 42 are connected, basically they have equivalent functions. VCIB 41 and VCIB 42 have equivalent functions regarding operation of the brake system and operation of the steering system for example, so that the control system between ADK 3 and VP 5 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 5.
VP 5 includes brake systems 511, 512, a wheel speed sensor 52, steering systems 531, 532, pinion angle sensors 541, 542, an electric parking brake (EPB) system 551, a P (parking) lock system 552, a propulsion system 56, a PCS (Pre-Crash Safety) system 57, a camera/radar 58, and a body system 59.
VCIB 41 is connected communicatively with brake system 512, steering system 531, and P lock system 552, among a plurality of systems of VP 5 (namely EPB 551, propulsion system 56 and body system 59), through a communication bus. VCIB 42 is connected communicatively with brake system 511, steering system 532, and P lock system 552, through a communication bus.
Brake systems 511, 512 are configured to control a plurality of braking devices (not shown) provided for respective wheels of vehicle 1. These braking devices may include a disc brake system that operates using hydraulic pressure regulated by an actuator. Brake system 511 and brake system 512 may be configured to have equivalent functions. Alternatively, one of brake systems 511, 512 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 3 through vehicle control interface 4, each of brake systems 511, 512 generates a braking command for the braking device. Moreover, brake systems 511, 512 control the braking device, using the braking command generated by one of brake systems 511, 512, for example. Further, when a failure occurs to one of brake systems 511, 512, the braking command generated by the other is used to control the braking device.
Wheel speed sensor 52 is connected to brake system 512 in this example. Wheel speed sensor 52 is mounted on each wheel of vehicle 1, for example. Wheel speed sensor 52 detects the rotational speed of the wheel and outputs the detected rotational speed to brake system 512. Brake system 512 outputs, to VCIB 41, the rotational speed of each wheel, as an information item among information items included in the vehicle information.
Steering systems 531, 532 are configured to control the steering angle of the steering wheel of vehicle 1, using a steering device (not shown). The steering device includes, for example, a rack-and-pinion electric power steering (EPS) system capable of adjusting the steering angle by an actuator.
Steering system 531 and steering system 532 have equivalent functions. Each of steering systems 531, 532 generates a steering command for the steering device in accordance with a predetermined control command that is output from ADK 3 through vehicle control interface 4. Using the steering command generated by one of steering systems 531, 532, for example, steering systems 531, 532 control the steering device. When a failure occurs to one of steering systems 531, 532, the steering commend generated by the other steering system is used to control the steering device.
Pinion angle sensor 541 is connected to steering system 531. Pinion angle sensor 542 is connected to steering system 532. Each of pinion angle sensors 541, 542 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 531, 532.
EPB system 551 is configured to control an EPB provided in a wheel of vehicle 1. The EPB is provided separately from the braking device of brake systems 511, 512, 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 511, 512. The EPB fixes a wheel by actuating, with the actuator, a drum brake for a parking brake, for example.
P lock system 552 is configured to control a P lock device (not shown) provided for the transmission of vehicle 1. 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 56 includes an accelerator pedal 560 receiving a user's operation (depression). Accelerator pedal 560 is equipped with an accelerator sensor (not shown) that detects the amount of depression by which accelerator pedal 560 is depressed. Further, propulsion system 56 is capable of switching the shift range using a shift device (not shown), and capable of controlling the driving force for vehicle 1 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 57 conducts control for avoiding collision of vehicle 1 and/or reducing damages to vehicle 1, using camera/radar 58. More specifically, PCS system 57 is connected to brake system 512. PCS system 57 uses camera/radar 58 to detect a forward object, and determines whether there is a possibility of collision of vehicle 1 against the object, based on the distance to the object. When PCS system 57 determines that there is a possibility of collision, PCS system 57 outputs a braking command to brake system 512 so as to increase the braking force.
Body system 59 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 1, for example.
Systems other than brake systems 511, 512 and steering systems 531, 532 are also configured to control respective associated devices, in accordance with a predetermined control command transmitted from ADK 3 through vehicle control interface 4. Specifically, EPB system 551 receives a control command from ADK 3 through vehicle control interface 4, and controls the EPB in accordance with the control command. P lock system 552 receives a control command from ADK 3 through vehicle control interface 4, and controls the P lock device in accordance with the control command. Propulsion system 56 receives a control command from ADK 3 through vehicle control interface 4, and controls the shift device and the drive source, in accordance with the control command. Body system 59 receives a control command from ADK 3 through vehicle control interface 4, 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.
Position calculator 561 receives, from the accelerator sensor (not shown), a signal indicating an amount of depression by which accelerator pedal 560 is depressed by a driver, and outputs, to VCIB 41 and intervention determiner 563, an accelerator pedal position signal indicating an accelerator position. Position calculator 561 also outputs, to acceleration arbitrator 562, an acceleration request in accordance with the amount of depression of accelerator pedal 560 by the driver.
Acceleration arbitrator 562 receives the acceleration request from position calculator 561, also receives an acceleration request from any of various systems, and conducts arbitration between the two acceleration requests. More specifically, acceleration arbitrator 562 calculates the sum of the two accelerations. Acceleration arbitrator 562 outputs, to intervention determiner 563, the result of the arbitration between the two acceleration requests (the sum of the two accelerations in this example).
In the following, the acceleration request from position calculator 561 is referred to as “driver acceleration request” and the acceleration request from any of various systems is referred to as “system acceleration request” in order to distinguish between them. Although the source of the system acceleration request is ADK 3 for example, the source is not limited to it but may be PCS system 57, for example. When the source of the system acceleration request is ADK 3, acceleration arbitrator 562 receives the system acceleration request through vehicle control interface 4.
Intervention determiner 563 receives the accelerator pedal position signal from position calculator 561 and also receives the result of the arbitration from acceleration arbitrator 562. Intervention determiner 563 generates an accelerator pedal intervention signal based on the accelerator pedal position signal and the result of the arbitration, and outputs the generated accelerator pedal intervention signal to VCIB 41.
VCIB 41 includes an accelerator pedal position processor 411 and an accelerator pedal intervention processor 412. Although only VCIB 41 is shown in
Accelerator pedal position processor 411 receives the accelerator pedal position signal from propulsion system 56 (position calculator 561), and performs predetermined processing on the accelerator pedal position signal. Accelerator pedal position processor 411 outputs the processed accelerator pedal position signal to ADK 3.
While vehicle 1 is in a normal condition, the accelerator pedal position signal which is output to ADK 3 provides an accelerator position in accordance with the detected value of the accelerator sensor (the amount of depression of accelerator pedal 560). The accelerator position is represented by a value in a range from 0% to 100%. Generally, the detected value of the accelerator sensor varies widely, and therefore, the accelerator position is preferably a value after zero-point (offset) correction.
While vehicle 1 is in a failure condition (when the accelerator sensor has failed, for example) or while vehicle 1 is in a failure-treatment condition (while vehicle 1 is in limp home mode, for example), the accelerator pedal position signal which is output to ADK 3 provides a failsafe value. The failsafe value is a value defined as falling out of the range of the accelerator position (a value out of the range from 0% to 100%), and is 0xFF, for example.
In order to avoid a sudden change of the accelerator position which is output to ADK 3, accelerator pedal position processor 411 may perform a smoothing operation (operation such as weighted averaging or moving averaging) on the accelerator pedal position signal. The smoothing operation may be performed by position calculator 561.
Accelerator pedal intervention processor 412 receives the accelerator pedal intervention signal from intervention determiner 563, and performs predetermined processing on the accelerator pedal intervention signal. Accelerator pedal intervention processor 412 outputs the processed accelerator pedal intervention signal to ADK 3. It should be noted that intervention determiner 563 may perform this processing, and accelerator pedal intervention processor 412 may only relay the accelerator pedal intervention signal from intervention determiner 563 to output the signal to ADK 3. In the following, what is indicated by the accelerator pedal intervention signal is described.
The accelerator pedal intervention signal assuming the value 0 indicates that accelerator pedal 560 is not depressed. The accelerator pedal intervention signal assuming the value t indicates that accelerator pedal 560 is depressed. The accelerator pedal intervention signal assuming the value 2 represents a condition where an acceleration request generated in accordance with depression of accelerator pedal 560 (driver acceleration request) is more than an acceleration request from ADK 3 for example (system acceleration request). This condition is herein referred to as “beyond autonomy acceleration.”
Referring to
At time t1, a driver starts depressing accelerator pedal 560. Subsequently, at time t2, the accelerator position becomes higher than a predetermined threshold value (ACCL_INTV). This threshold value is a value for the so-called play of accelerator pedal 560, and defined as a few percent, for example. When the accelerator position becomes higher than threshold value ACCL_INTV, the value of the accelerator pedal intervention signal changes from 0 to 1. The accelerator pedal intervention signal at this time indicates that accelerator pedal 560 is depressed.
At time t3, the accelerator position in accordance with the amount of depression of accelerator pedal 560 (driver acceleration request) becomes higher than a system acceleration request. Then, the value of the accelerator pedal intervention signal changes from 1 to 2. The accelerator pedal intervention signal at this time indicates the beyond autonomy acceleration.
In the following, VP 5 and vehicle control interface 4 are referred to as vehicle 1 when they are not to be distinguished from each other. If the one that performs the process is described herein as vehicle 1, the process may be performed by either VP 5 or vehicle control interface 4.
In the present embodiment, VP 5 has at least a VO (Vehicle Operation) mode and an NVO (Non Vehicle Operation) mode as autonomous modes. The VO mode refers to a control mode in a situation where a driver is aboard vehicle 1 although vehicle 1 is capable of autonomous driving. The NVO mode refers to a control mode in a situation where vehicle 1 is capable of completely unmanned driving.
Referring to
When VP 5 is in the NVO mode (YES in S1), the driver acceleration request is rejected (S8), regardless of the amount of depression of accelerator pedal 560. Therefore, the value of the accelerator pedal intervention signal will never be 2. In this example, the process thereafter proceeds to S9.
When VP 5 is not in the NVO mode (NO in S1), for example, when VP 5 is in the VO mode, vehicle 1 acquires an accelerator position indicated by the accelerator pedal position signal (S2).
In S3, vehicle 1 determines whether the accelerator position is more than threshold value ACCL_INTV or not. When the accelerator position is less than or equal to threshold value ACCL_INTV (NO in S3), vehicle 1 sets the value of the accelerator pedal intervention signal to 0, so as to indicate that accelerator pedal 560 is not depressed (S9). Vehicle 1 thereafter causes the process to proceed to S7.
In contrast, when the accelerator position is more than threshold value ACCL_INTV (YES in S3), vehicle 1 sets the value of the accelerator pedal intervention signal to 1, so as to indicate that accelerator pedal 560 is depressed (S4).
In S5, vehicle 1 further determines whether the driver acceleration request in accordance with the accelerator position is more than the system acceleration request or not. When the driver acceleration request is more than the system acceleration request (YES in S5), vehicle 1 sets the value of the accelerator pedal intervention signal to 2, so as to indicate that the beyond autonomy acceleration has occurred (S6). Vehicle 1 thereafter causes the process to proceed to S7.
When the driver acceleration request is less than or equal to the system acceleration request (NO in S5), vehicle 1 skips the operation in S6 and causes the process to proceed to S7. In this case, the value of the accelerator pedal intervention signal remains 1 indicating that accelerator pedal 560 is depressed.
In S7, vehicle 1 outputs, to ADK 3, the accelerator pedal intervention signal that is set to one of 0, 1, and 2.
As seen from the foregoing, the present embodiment provides vehicle control interface 4 that serves as an interface between ADK 3 and VP 5. Thus, the accelerator pedal position signal and the accelerator pedal intervention signal are output from VP 5 to ADK 3 through vehicle control interface 4. It is therefore possible for the developer of ADK 3 to cause ADK 3 to perform communication following a procedure and a data format (API) for example that are defined for vehicle control interface 4, so that ADK 3 and VP 5 work in cooperation with each other, even when the developer does not have knowledge about details of the specification of VP 5. According to the present embodiment, an appropriate interface can accordingly be provided between ADK 3 and VP 5.
Toyota's MaaS Vehicle Platform
API Specification
for ADS Developers
[Standard Edition #0.1]
1. Outline 4
2. Structure 5
3. Application Interfaces 7
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
This is an early draft of the document.
All the contents are subject to change. Such changes are notified to the users. Please note that some parts are still T.B.D. will be updated in the future.
The overall structure of MaaS with the target vehicle is shown (
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 (
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 (
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.
The below diagram shows an example.
Acceleration Command requests deceleration and stops the vehicle. Then, when Longitudinal_Velocity is confirmed as 0 [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 0 (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 (
EPB is engaged when Standstill Status=“Applied” continues for 3 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 (
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 (
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=0.1 [rad] while the vehicle is going straight;
If ADS requests to go straight ahead. Tire Turning Angle Command should be set to 0+0.1=0.1 [rad].
If ADS requests to steer by −0.3 [rad], Tire Turning Angle Command should be set to −0.3+0.1=−0.2 [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 1) estimated deceleration from the brake pedal stroke and 2) 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
1) the torque value estimated from driver operation angle, and
2) the torque value calculated from requested wheel angle.
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)
Request to Engage/Release WheelLock
Request the Vehicle to be Stationary
Command Vehicle Acceleration
Estimated_Max_Decel_Capability to Estimated_Max_Accel_Capability [m/s2]
Command Tire Turning Angle
Request to Transition Between Manual Mode and Autonomy Mode
Current Shift Range
Shift Lever Position by Driver Operation
Output EPB and Shift-P Status
Driver Operation of EPB Switch
Vehicle Stationary Status
Estimated vehicle deceleration when throttle is closed
[unit: m/s2]
Estimated Maximum Acceleration
[unit: m/s2]
Estimated Maximum Deceleration
−9.8 to 0 [unit: m/s2]
Front Wheel Steer Angle
Front Wheel Steer Angle Rate
Steering Wheel Angle
Steering Wheel Angle Rate
Road Wheel Angle Rate Limit
Calculated from the “vehicle speed−steering angle rate” chart like below
A) At a very low speed or stopped situation, use fixed value of 0.4 [rad/s]
B) At a higher speed, the steering angle rate is calculated from the vehicle speed using 2.94 m/s3
The threshold speed between A and B is 10 [km/h] (
Estimated Max Lateral Acceleration
2.94 [unit: m/s2] Fixed Value
Estimated Max Lateral Acceleration Rate
2.94 [unit: m/s3] Fixed Value
Position of the Accelerator Pedal (How Much is the Pedal Depressed?)
0 to 100 [unit: %]
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”.
Detail Design (
Position of the brake pedal (How much is the pedal depressed?)
0 to 100 [unit: %]
This signal shows whether the brake pedal is depressed by a driver (intervention).
Detail Design (
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).
Rotation Direction of Each Wheel
Rotation Direction of Wheel
Estimated Longitudinal Velocity of Vehicle
Estimated Longitudinal Acceleration of Vehicle
Sensor Value of Lateral Acceleration of Vehicle
Sensor Value of Yaw Rate
State of Whether Autonomy Mode or Manual Mode
Situation of Whether the Vehicle Can Transition to Autonomy Mode Or Not
Please see the summary of conditions.
Status of Whether the Fault Regarding a Functionalityin Autonomy Mode Occurs oor Not
T.B.D.
Command to Control the Turnsignallight Mode of the Vehicle Platform
T.B.D.
When Turnsignallight_Mode_Command=1, vehicle platform sends left blinker on request.
When Turnsignallight_Mode_Command=2, vehicle platform sends right blinker on request.
Command to Control the Headlight Mode of the Vehicle Platform
3.4.2.3. Hazardlight_Mode_Command
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
0˜7 [−]
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 4 (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.)
#1: Hvac_1st_Command=ON
#2: Hvac_2nd_Command=ON
#3: Hvac_TargetTemperature_2nd_Left_Command
#4: Hvac_TargetTemperature_2nd_Right_Command
#5: Hvac_Fan_Level_2nd_Row_Command
#6: Hvac_2nd_Row_AirOutlet_Mode_Command
#7: Hvac_TargetTemperature_1st_Left_Command
#8: Hvac_TargetTemperature_1st_Right_Command
#9: Hvac_Fan_Level_1st_Row_Command
#10: Hvac_1st_Row_AirOutlet_Mode_Command
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
N/A
Command to Set the Air Recirculation Mode
Command to Set the AC Mode
Status of the Current Turnsignallight Mode of the Vehicle Platform
Status of the Current Headlight Mode of the Vehicle Platform
N/A
Status of the Current Hazard Lamp Mode of the Vehicle Platform
N/A
Status of the Current Horn of the Vehicle Platform
Status of the Current Front Windshield Wiper Mode of the Vehicle Platform
Fail Mode Conditions
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
N/A
Status of Set Fan Level of 1st Row
Status of Set Fan Level of 2nd Row
Status of Mode of 1st Row Air Outlet
Status of Mode of 2nd Row Air Outlet
Status of Set Air Recirculation Mode
Status of Set AC Mode
Seat Occupancy Status in 1st Left Seat
When there is luggage on the seat, this signal may be set to “Occupied”.
Status of Driver'S Seat Belt Buckle Switch
It is checking to a person in charge, when using it. (Outputs “undetermined=10” as an initial value.)
Status of Passenger'S Seat Belt Buckle Switch
It is checking to a person in charge, when using it. (Outputs “undetermined=10” as an initial value.)
Seat Belt Buckle Switch Status in 2nd Left Seat
Seat Belt Buckle Switch Status in 2nd Right Seat
T.B.D.
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
T.B.D.
Request for Operation According to Status of Vehicle Platform Toward ADS
Crash Detection Signal
Priority: crash detection>normal
Transmission interval is 100 ms within fuel cutoff motion delay allowance time (1 s) so that data can be transmitted more than 5 times. In this case, an instantaneous power interruption is taken into account.
Indicate Brake System Status
Indicate Powertrain_System Status
Indicate Direction_Control Status
Indicate WheelLock_Control Status
Indicate Steering_System Status
[T.B.D]
[T.B.D]
T.B.D.
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
3.7.3.4. 2nd_Right_Door_Lock_Status
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
N/A
T.B.D.
Toyota's MaaS Vehicle Platform
Architecture Specification
[Standard Edition #0.1]
1. General Concept 4
2. Safety Concept 7
3. Security Concept 10
4. System Architecture 12
5. Function Allocation 15
6. Data Collection 18
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.1 and ver.2].
The representative vehicle with 19ePF is shown as follows.
e-Palette, Sienna, RAV4, and so on.
This is an early draft of the document.
All the contents are subject to change. Such changes are notified to the users. Please note that some parts are still T.B.D. will be updated in the future.
The overall structure of MaaS with the target vehicle is shown (
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 on the vehicle as a premise is shown (
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 (
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 (
1. After occurrence of a failure, the entire vehicle executes “detecting a failure” and “correcting an impact of failure” and then achieves the safety state 1.
2. Obeying the instructions from the ADS, the entire vehicle stops in a safe space at a safe speed (assumed less than 0.2 G).
However, depending on a situation, the entire vehicle should happen a deceleration more than the above deceleration if needed.
3. After stopping, in order to prevent slipping down, the entire vehicle achieves the safety state 2 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 0.3 G 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 0.3 G or less.
Toyota's MaaS vehicle has 2 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 entire risk is shown as follows.
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 (
See the separated document called “Fault Management” regarding notifiable single failure and expected behavior for the ADS.
Though embodiments of the present disclosure have been described above, it should be understood that the embodiments disclosed herein are illustrative and non-restrictive in every respect. The scope of the present invention is defined by the terms of the claims and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.
Number | Date | Country | Kind |
---|---|---|---|
JP2020-015717 | Jan 2020 | JP | national |
This is a continuation of application Ser. No. 17/156,687, filed on Jan. 25, 2021, which is based on Japanese Patent Application No. 2020-015717 filed on Jan. 31, 2020 with the Japan Patent Office, the entire contents of each of which are hereby incorporated by reference.
Number | Name | Date | Kind |
---|---|---|---|
20040099085 | Olofsson | May 2004 | A1 |
20140135598 | Weidl | May 2014 | A1 |
20160167653 | Malone et al. | Jun 2016 | A1 |
20160179092 | Park | Jun 2016 | A1 |
20160209641 | Yamaoka et al. | Jul 2016 | A1 |
20160209841 | Yamaoka | Jul 2016 | A1 |
20160377508 | Perrone et al. | Dec 2016 | A1 |
20170001610 | Asakura et al. | Jan 2017 | A1 |
20170016738 | Sakuma | Jan 2017 | A1 |
20170203788 | Heo | Jul 2017 | A1 |
20180029592 | Trombley | Feb 2018 | A1 |
20190094038 | Oh | Mar 2019 | A1 |
20190155279 | Tayama | May 2019 | A1 |
20190210544 | Gowda | Jul 2019 | A1 |
20200005651 | Priest | Jan 2020 | A1 |
20200089180 | Kanekawa | Mar 2020 | A1 |
20200293034 | Shibata | Sep 2020 | A1 |
20210162999 | Lucas | Jun 2021 | A1 |
20210245779 | Suzuki | Aug 2021 | A1 |
20210269049 | Hallenbeck | Sep 2021 | A1 |
Number | Date | Country |
---|---|---|
106094810 | Nov 2016 | CN |
106414962 | Jul 2019 | CN |
10 2017 000 195 | Jul 2017 | DE |
3 037 315 | Jun 2018 | EP |
2002-196076 | Jul 2002 | JP |
2002195076 | Jul 2002 | JP |
3757750 | Mar 2006 | JP |
6176263 | Aug 2017 | JP |
2018-506461 | Mar 2018 | JP |
2018-132015 | Aug 2018 | JP |
6394692 | Sep 2018 | JP |
2019-77427 | May 2019 | JP |
10-2016-0076262 | Jun 2016 | KR |
WO-2017125788 | Jul 2017 | WO |
Entry |
---|
DataspeedInc (see the YouTube video clip entitled “Dataspeed ADAS By-Wire Kit,” uploaded on Jul. 12, 2019 by user “DataspeedInc”, retrieved from internet on Jun. 13, 2022: <https://www.youtube.com/watch?v=Grly8qvWRqU>). (Year: 2019). |
Shigeki Tomoyama, “Toyota's Connected & MaaS Strategy,” https://global.toyota/pages/global_toyota/ir/financial-results/2019_3q_competitiveness_en.pdf, p. 13, published Feb. 6, 2019. (Year: 2019). |
Comma.ai, “How does openpilot work?” blog post, https://blog.comma.ai/how-does-openpilot-work/, published Jun. 26, 2017. (Year: 2017). |
Comma.ai, “A panda and a cabana: How to get started car hacking with comma.ai,” blog post, https://blog.comma.ai/a-panda-and-a-cabana-how-to-get-started-car-hacking-with-comma-ai/, published Jul. 7, 2017. (Year: 2017). |
Comma.ai, “A tour through openpilot,” blog post, https://blog.comma.ai/a-tour-through-openpilot/, published Dec, 3, 2019. (Year: 2019). |
Office Action dated Jul. 18, 2022 in U.S. Appl. No. 17/156,687. |
Number | Date | Country | |
---|---|---|---|
20220234611 A1 | Jul 2022 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 17156687 | Jan 2021 | US |
Child | 17722770 | US |