Autonomous driving kit, vehicle platform, vehicle control interface box, and vehicle

By communicating with the vehicle platform through the autonomous driving kit, the torque value of the steering system is obtained and the wheel steering angle command is sent, which solves the problem of steering instability when the user intervenes in the steering and realizes stable autonomous driving steering control.

CN115871704BActive Publication Date: 2026-06-12TOYOTA JIDOSHA KK

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
TOYOTA JIDOSHA KK
Filing Date
2022-09-27
Publication Date
2026-06-12

Smart Images

  • Figure CN115871704B_ABST
    Figure CN115871704B_ABST
Patent Text Reader

Abstract

The present disclosure provides an autonomous driving kit, a vehicle platform, a vehicle control interface box, and a vehicle. The ADK is attachable to and detachable from the VP, and issues an instruction for autonomous driving to the VP. The VP includes a steering system for steering of the VP. The ADK (ADS of the ADK) includes a computing component and a communication module configured to communicate with the VP. The computing component obtains a torque value related to the steering system 33 from the VP via the communication module (S112 and S113), and transmits a wheel steering angle command indicating a wheel steering angle according to a driving plan of autonomous driving and the obtained torque value to the VP (S114 and S115). While the attachable and detachable ADK that issues an instruction for autonomous driving controls the VP, stable steering can be achieved even when a user intervenes in the operation.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This non-provisional application is based on Japanese Patent Application No. 2021-158035, filed with the Japan Patent Office on September 28, 2021, the entire contents of which are incorporated herein by reference. Technical Field

[0002] This disclosure relates to autonomous driving kits, vehicle platforms, vehicle control interface boxes, and vehicles, and particularly to: an autonomous driving kit that can be attached to and detached from a vehicle platform, the autonomous driving kit issuing instructions for autonomous driving to the vehicle platform; a vehicle platform capable of communicating with the autonomous driving kit, the vehicle platform being configured to allow autonomous driving based on instructions for autonomous driving from the autonomous driving kit; a vehicle control interface box capable of communicating with the autonomous driving kit, the vehicle control interface box issuing instructions for autonomous driving to the vehicle platform based on instructions for autonomous driving from the autonomous driving kit; and a vehicle including the autonomous driving kit or the vehicle platform. Background Technology

[0003] Recently, technologies for autonomous driving of vehicles have been developed. For example, there are vehicles in which an electronic control unit (ECU) that issues commands for autonomous driving controls autonomous driving (see, for example, Japanese Patent Publication No. 2018-132015).

[0004] In the vehicle described in Japanese Patent Publication No. 2018-132015, the autonomous driving device (such as an autonomous driving ECU) that issues commands for autonomous driving can be configured to be attached to and detached from the vehicle, and can be replaced using autonomous driving devices that conform to other specifications. However, with such a configuration, stable steering becomes a problem when the user intervenes in steering by operating the steering wheel. Summary of the Invention

[0005] This disclosure is made to address the aforementioned problems, and its purpose is to provide an autonomous driving kit, vehicle platform, vehicle control interface box, and vehicle that allow stable steering even when a user intervenes in steering, while an attachable and detachable device issues commands for autonomous driving to control the vehicle.

[0006] The autonomous driving kit disclosed herein is an autonomous driving kit that can be attached to and detached from a vehicle platform, the autonomous driving kit issuing commands to the vehicle platform for autonomous driving. The vehicle platform includes a steering system for steering the vehicle platform. The autonomous driving kit includes a computing component and a communication module configured to communicate with the vehicle platform. The computing component obtains torque values ​​related to the steering system from the vehicle platform via the communication module, and sends wheel steering angle commands to the vehicle platform via the communication module, the wheel steering angle commands indicating wheel steering angles based on an autonomous driving plan and the obtained torque values.

[0007] With this configuration, the autonomous driving suite sends wheel steering angle commands to the vehicle platform, indicating wheel steering angles based on torque values ​​related to the steering system obtained from the vehicle platform and the autonomous driving plan. Therefore, the autonomous driving suite can steer the vehicle based on torque values ​​related to the steering system that reflect user intervention in steering. Thus, an autonomous driving suite can be provided that, while controlling the vehicle platform with an attachable and detachable autonomous driving suite issuing commands for autonomous driving, achieves stable steering even when the user intervenes in steering.

[0008] The steering system may include a sensor for detecting steering torque, and the torque value may be a value detected by the sensor. With this configuration, user intervention in steering can be detected based on changes in steering torque. Therefore, stable steering that takes into account user-initiated steering can be achieved.

[0009] The steering system may include a steering motor, and the torque value may be a torque value estimated based on the current value of the steering motor. With this configuration, user intervention in steering can be detected based on changes in the current value of the steering motor. Therefore, stable steering that takes into account user-initiated steering can be achieved.

[0010] The steering system may include a steering motor, and the torque value may be the maximum steering torque that the steering motor is capable of outputting. With this configuration, user intervention in steering can be detected based on changes in the maximum steering torque value that can be output at that time. Therefore, stable steering that takes into account user-initiated steering can be achieved.

[0011] According to another aspect of this disclosure, the vehicle may include the aforementioned autonomous driving kit. With such a configuration, a vehicle can be provided that, while the attachable and detachable autonomous driving kit controls the vehicle platform by issuing commands for autonomous driving, can also steer stably even when the user intervenes in steering.

[0012] According to another aspect of this disclosure, the vehicle platform is a vehicle platform capable of communicating with an autonomous driving suite, the vehicle platform being configured to allow autonomous driving based on instructions for autonomous driving from the autonomous driving suite. The autonomous driving suite can be attached to and detached from the vehicle platform. The vehicle platform includes a steering system for steering the vehicle platform, and a vehicle control interface box providing control commands for controlling the steering system. The vehicle control interface box sends a torque value related to the steering system in the vehicle platform to the autonomous driving suite upon a request from the autonomous driving suite. The autonomous driving suite receives the torque value and provides control commands to the steering system based on wheel steering angle commands received from the autonomous driving suite, the wheel steering angle commands indicating wheel steering angles according to the autonomous driving driving plan and the torque value.

[0013] With this configuration, a vehicle platform can be provided that can achieve stable steering even when the user intervenes in steering, while an attachable and detachable autonomous driving kit controls the vehicle platform by issuing commands for autonomous driving.

[0014] The steering system may include a sensor for detecting steering torque, and the torque value may be a value detected by the sensor. With this configuration, user intervention in steering can be detected based on changes in steering torque. Therefore, stable steering that takes into account user-initiated steering can be achieved.

[0015] The steering system may include a steering motor, and the torque value may be a torque value estimated based on the current value of the steering motor. With this configuration, user intervention in steering can be detected based on changes in the current value of the steering motor. Therefore, stable steering that takes into account user-initiated steering can be achieved.

[0016] The steering system may include a steering motor, and the torque value may be the maximum steering torque that the steering motor is capable of outputting. With this configuration, user intervention in steering can be detected based on changes in the maximum steering torque value that can be output at that time. Therefore, stable steering that takes into account user-initiated steering can be achieved.

[0017] According to another aspect of this disclosure, the vehicle may include the aforementioned vehicle platform. With this configuration, a vehicle can be provided that, while an attachable and detachable autonomous driving kit issues commands for autonomous driving and controls the vehicle platform, can still be steered stably even when the user intervenes in steering.

[0018] According to another aspect of this disclosure, the vehicle control interface box is a vehicle control interface box capable of communicating with an autonomous driving kit, the vehicle control interface box issuing autonomous driving commands to a vehicle platform based on autonomous driving commands from the autonomous driving kit. The autonomous driving kit can be attached to and detached from the vehicle platform. The vehicle platform includes a steering system for steering the vehicle platform. The vehicle control interface box includes a processor and a memory, the memory storing a program executable by the processor. According to the program stored in the memory, the processor sends a torque value related to the steering system in the vehicle platform to the autonomous driving kit based on a request from the autonomous driving kit, the autonomous driving kit receiving the torque value, and providing the steering system with control commands based on wheel steering angle commands received from the autonomous driving kit, the wheel steering angle commands indicating wheel steering angles according to the autonomous driving driving plan and the torque value.

[0019] Based on this configuration, a vehicle control interface box can be provided that can control the vehicle platform while issuing commands for autonomous driving via an attachable and detachable autonomous driving kit, and can also achieve stable steering even when the user intervenes in steering.

[0020] The foregoing and other objects, features, aspects and advantages of this disclosure will become more apparent when taken in conjunction with the accompanying drawings and the following detailed description of this disclosure. Attached Figure Description

[0021] Figure 1 A diagram illustrating an outline of a vehicle according to an embodiment of the present disclosure.

[0022] Figure 2 A diagram illustrating the configuration of ADS, VCIB, and VP according to this embodiment is provided in detail.

[0023] Figure 3 A flowchart illustrating the process of controlling the wheel steering angle performed in vehicle 1 in this embodiment is provided.

[0024] Figure 4 A diagram illustrating the overall structure of an Autono-MaaS vehicle.

[0025] Figure 5 A diagram illustrating the system architecture of an Autono-MaaS vehicle.

[0026] Figure 6 A diagram illustrating a typical workflow in ADS.

[0027] Figure 7 A graph showing the relationship between the front wheel steering angle rate limit and speed.

[0028] Figure 8 This is the state machine diagram for power mode.

[0029] Figure 9 A diagram showing the details of the gear shift sequence.

[0030] Figure 10 To illustrate a fixed order.

[0031] Figure 11 A diagram illustrating the static sequence.

[0032] Figure 12 The state machine diagram represents the autonomous state.

[0033] Figure 13 A diagram illustrating the authentication process. Detailed Implementation

[0034] Embodiments of this disclosure will now be described in detail with reference to the accompanying drawings. Identical or corresponding elements in the drawings have been assigned the same reference numerals, and their descriptions will not be repeated.

[0035] [Example]

[0036] <Overall Configuration>

[0037] Figure 1 This is a diagram illustrating a schematic of a vehicle 1 according to an embodiment of the present disclosure. The vehicle 1 includes an Automated Driving Kit (ADK) 10 and a Vehicle Platform (VP) 20. The ADK 10 is configured to be attachable to the VP 20 (attached to and detached from the vehicle 1). The ADK 10 and the VP 20 are configured to communicate with each other via a Vehicle Control Interface (VCIB 40, described later).

[0038] VP 20 can perform autonomous driving based on control requests from ADK 10. Although Figure 1 The image shows ADK 10 positioned away from VP 20, but ADK 10 is actually attached to the roof of VP 20, etc. ADK 10 can also be removed from VP 20. When ADK 10 is not attached, VP 20 performs driving control in manual mode (driving control based on user operation).

[0039] ADK 10 includes an Automated Driving System (ADS) 11 for automated driving of vehicle 1. For example, ADS 11 creates a driving plan for vehicle 1. ADS 11 outputs various control requests to VP 20 for vehicle 1 to drive according to the driving plan, based on application programming interfaces (APIs) defined for each control request. ADS 11 receives various signals from VP 20 indicating the vehicle state (the state of VP 20) based on APIs defined for each signal. ADS 11 then reflects the vehicle state in the driving plan. (See reference...) Figure 2 This section will describe the detailed configuration of ADS 11.

[0040] VP 20 includes a base vehicle 30 and a vehicle control interface box (VCIB) 40.

[0041] The base vehicle 30 performs various types of vehicle control based on control requests from ADK 10 (ADS 11). The base vehicle 30 includes various systems and sensors for controlling itself. More specifically, the base vehicle 30 includes an integrated control manager 31, a braking system 32, a steering system 33, a powertrain system 34, an active safety system 35, a body system 36, wheel speed sensors 51 and 52, a pinion angle sensor 53, a steering torque sensor 57, a steering motor 58, a camera 54, and radar sensors 55 and 56.

[0042] The integrated control manager 31 includes a processor such as a central processing unit (CPU) and memories such as read-only memory (ROM) and random access memory (RAM), although neither is shown, and integrates the systems involved in the operation of the vehicle 1 (braking system 32, steering system 33, powertrain system 34, active safety system 35, and body system 36).

[0043] The braking system 32 is configured to control braking devices located in each wheel of the base vehicle 30. The braking devices include, for example, a disc brake system (not shown) that is operated using hydraulic pressure regulated by an actuator.

[0044] Wheel speed sensors 51 and 52 are connected to the braking system 32. Wheel speed sensor 51 detects the rotational speed of the front wheels of the base vehicle 30 and outputs the detected front wheel rotational speed to the braking system 32. Wheel speed sensor 52 detects the rotational speed of the rear wheels of the base vehicle 30 and outputs the detected rear wheel rotational speed to the braking system 32. The braking system 32 outputs the rotational speed of each wheel to the VCIB 40 as one piece of information included in the vehicle status. The braking system 32 generates braking commands for the braking equipment based on the specified control requests output from the ADS 11 via the VCIB 40 and the integrated control manager 31. The braking system 32 controls the braking equipment based on the generated braking commands. The integrated control manager 31 can calculate the speed (vehicle speed) of the vehicle 1 based on the rotational speed of each wheel.

[0045] The steering system 33 is configured to control the steering angle (wheel steering angle) of the steering wheel of the vehicle 1 using a steering device. The steering device includes, for example, rack and pinion electric power steering (EPS) that allows adjustment of the steering angle via a steering motor 58 acting as an actuator.

[0046] The pinion angle sensor 53 and the steering torque sensor 57 are connected to the steering system 33. The pinion angle sensor 53 detects the rotation angle (pinion angle) of the pinion gear connected to the rotating shaft of the steering motor 58 and outputs the detected pinion angle to the steering system 33. The steering system 33 outputs the pinion angle to the VCIB 40 as one of the pieces of information included in the vehicle status. The steering torque sensor 57 detects the torque applied to the steering shaft between the steering wheel and the pinion gear in the direction of rotation and provides the value of the detected torque to the steering system 33. The steering system 33 generates steering commands for the steering equipment based on the specified control requests output from the ADS 11 via the VCIB 40 and the integrated control manager 31. The steering system 33 controls the steering equipment based on the generated steering commands.

[0047] The powertrain system 34 controls an electronic parking brake (EPB) system 341 located in at least one of the plurality of wheels, a parking lock (P lock) system 342 located in the transmission of the vehicle 1, and a propulsion system 343 including a shifting device (not shown) configured to allow selection of shift gears. (See reference...) Figure 2 This will describe the detailed configuration of the powertrain system 34.

[0048] The active safety system 35 uses camera 54 and radar sensors 55 and 56 to detect obstacles (pedestrians, bicycles, parked vehicles, utility poles, etc.) in front of or behind the vehicle. Based on the distance between the vehicle 1 and the obstacle and the direction of the vehicle 1's movement, the active safety system 35 determines whether the vehicle 1 is likely to collide with the obstacle. When the active safety system 35 determines that a collision is possible, it outputs a braking command to the braking system 32 through the integrated control manager 31 to increase braking force.

[0049] The body system 36 is configured to control components such as the turn indicators, horn, and wipers (all not shown), for example, based on the driving state of the vehicle 1 or the surrounding environment. The body system 36 controls the individual components according to specified control requests output from the ADS 11 via the VCIB 40 and the integrated control manager 31.

[0050] VCIB 40 is configured to communicate with ADS 11 via a Controller Area Network (CAN). VCIB 40 receives various control requests from ADS 11 or outputs vehicle status to ADS 11 by executing predefined APIs for various signals. When VCIB 40 receives a control request from ADK 10, it outputs control commands corresponding to the control request to the corresponding system via the Integrated Control Manager 31. VCIB 40 obtains various types of information about the base vehicle 30 from various systems via the Integrated Control Manager 31 and outputs the status of the base vehicle 30 as the vehicle status to ADS 11.

[0051] Vehicle 1 can be used as one of the components of a Mobility as a Service (MaaS) system. In addition to vehicle 1, the MaaS system also includes, for example, a data server and a Mobility Service Platform (MSPF) (both not shown).

[0052] MSPF is an integrated platform that connects various mobility services. Mobility services related to autonomous driving connect to MSPF. In addition to mobility services related to autonomous driving, mobility services provided by ride-sharing companies, car-sharing companies, car rental companies, taxi companies, and insurance companies can connect to MSPF.

[0053] Vehicle 1 further includes a data communication module (DCM) (not shown) capable of wirelessly communicating with a data server. The DCM outputs vehicle information such as speed, location, or autonomous driving status to the data server. The DCM receives various types of data from autonomous driving-related mobility services via MSPF and the data server for managing the operation of autonomous vehicles, including Vehicle 1, within the mobility services.

[0054] MSPF publishes APIs for using various types of data regarding vehicle status and vehicle control required for the development of ADS 11. By using the APIs published on MSPF, various mobility services can utilize various functions provided by MSPF based on their service content. For example, mobility services related to autonomous driving can obtain operational control data for vehicle 1 or information stored in a data server from MSPF by using the APIs published on MSPF. Mobility services related to autonomous driving can also use the APIs to send data to MSPF for managing autonomous vehicles, including vehicle 1.

[0055] <Detailed Configuration>

[0056] Figure 2 This is a diagram showing in detail the configuration of ADS 11, VCIB 40, and VP 20 according to this embodiment. (See diagram for details.) Figure 2 As shown, ADS 11 includes a computing component 111, a human-machine interface (HMI) 112, a sensor 113 for sensing, a sensor 114 for posture, and a sensor cleaner 115.

[0057] The computing component 111 includes a processor such as a central processing unit (CPU) and memories such as read-only memory (ROM) and random access memory (RAM), although neither is shown. Programs executable by the processor are stored in the memories. During autonomous driving of vehicle 1, the computing component 111 obtains information from various sensors (described later) indicating the environment surrounding vehicle 1, as well as information indicating the posture, behavior, and position of vehicle 1, and obtains the vehicle state from VP 20 via VCIB 40, and sets the next operation of vehicle 1 (acceleration, deceleration, or turning). The computing component 111 outputs various commands to VCIB 40 to implement the next operation. The computing component 111 further includes communication modules 111A and 111B. Communication modules 111A and 111B are each configured to communicate with VCIB 40.

[0058] HMI 112 presents information to the user and accepts user input during autonomous driving, during driving that requires user intervention, or during the transition between autonomous driving and driving that requires user intervention. HMI 112 is configured to connect to input and output devices (not shown), such as a touch panel display provided in the base vehicle 30.

[0059] The sensing sensor 113 is a sensor that senses the environment surrounding the vehicle 1. The sensing sensor 113 includes at least one of, for example, laser imaging detection and ranging (LIDAR), millimeter-wave radar, and a camera (all not shown). For example, the LIDAR measures the distance and direction to an object by emitting a laser beam of infrared pulses and detecting the laser beam reflected by the object. The millimeter-wave radar measures the distance and direction to an object by emitting millimeter waves and detecting the millimeter waves reflected by the object. The camera is, for example, positioned behind the rearview mirror inside the vehicle and captures images of the area in front of the vehicle 1.

[0060] The attitude sensor 114 is a sensor that detects the attitude, behavior, or position of vehicle 1. The attitude sensor 114 includes, for example, an inertial measurement unit (IMU) and a global positioning system (GPS) (both not shown). The IMU detects, for example, accelerations in the longitudinal, lateral, and vertical directions of vehicle 1, and angular velocities in the roll, pitch, and yaw directions of vehicle 1. The GPS detects the position of vehicle 1 based on information received from multiple GPS satellites orbiting the Earth.

[0061] Sensor cleaner 115 is configured to remove dirt adhering to various sensors (camera lenses or parts from which laser beams are emitted) using a cleaning solution or wiper during the operation of vehicle 1.

[0062] VCIB 40 includes VCIB 41 and VCIB 42. Each VCIB 41 and 42 includes a processor such as a central processing unit (CPU) and memory such as read-only memory (ROM) and random access memory (RAM), although these are not shown. Programs executable by the processor are stored in the memory. VCIB 41 and communication module 111A are communicatively connected to each other. VCIB 42 and communication module 111B are communicatively connected to each other. VCIB 41 and VCIB 42 are communicatively connected to each other.

[0063] VCIBs 41 and 42 each relay control requests and vehicle information between ADS 11 and VP 20. More specifically, VCIB 41 uses the API to generate control commands based on control requests from ADS 11.

[0064] For example, control commands (commands) corresponding to control requests supplied from ADS 11 to VCIB 40 include a forward direction command requesting to switch gears, a fixed command requesting to activate / deactivate EPB system 341 and P lock system 342, an acceleration command requesting to accelerate or decelerate vehicle 1, a wheel steering angle command requesting to adjust the wheel steering angle, an automation command requesting to switch between autonomous and manual modes, and a stationary command requesting to keep the vehicle stationary or stop keeping the vehicle stationary.

[0065] Then, VCIB 41 outputs the generated control commands to the corresponding systems among the multiple systems included in VP 20. VCIB 41 uses the API to generate information indicating the vehicle status based on vehicle information from the various systems in VP 20. The information indicating the vehicle status can be the same as the vehicle information, or it can be information extracted from the vehicle information for processing performed by ADS 11. VCIB 41 provides the generated information indicating the vehicle status to ADS 11. This also applies to VCIB 42.

[0066] Braking system 32 includes braking systems 321 and 322. Steering system 33 includes steering systems 331 and 332. Powertrain system 34 includes EPB system 341, P lock system 342, and propulsion system 343.

[0067] Although VCIB 41 and VCIB 42 are functionally equivalent, they differ in some respects in the systems connected to the VCIB, included in VP 20. Specifically, VCIB 41, braking system 321, steering system 331, EPB system 341, P lock system 342, propulsion system 343, and body system 36 are communicatively connected to each other via a communication bus. VCIB 42, braking system 322, steering system 332, and P lock system 342 are also communicatively connected to each other via a communication bus.

[0068] Because VCIB 40 includes VCIB 41 and 42, which are functionally equivalent to those related to the operation of at least one system (e.g., braking or steering), the control system between ADS 11 and VP 20 is redundant. Therefore, in the event of a certain type of failure in the system, the functionality of VP 20 can be maintained by appropriately switching or disconnecting the failed control system between the control systems.

[0069] Braking systems 321 and 322 are each configured to control braking devices. Braking system 321 generates a braking command to the braking devices based on a control request output from ADS 11 via VCIB 41. Braking system 322 generates a braking command to the braking devices based on a control request output from ADS 11 via VCIB 42. Braking systems 321 and 322 may be functionally equivalent to each other. Alternatively, one of braking systems 321 and 322 may be configured to independently control the braking force of each wheel, while the other of braking systems 321 and 322 may be configured to control the braking force such that the same braking force is generated in the wheels. For example, braking systems 321 and 322 may control the braking devices based on a braking command generated in either one, and in the event of a failure in the braking system, they may control the braking devices based on a braking command generated by the other.

[0070] Steering systems 331 and 332 are each configured to control the steering angle of the steering wheel of vehicle 1 using a steering device. Steering system 331 generates a steering command to the steering device based on a control request output from ADS 11 via VCIB 41. Steering system 332 generates a steering command to the steering device based on a control request output from ADS 11 via VCIB 42. Steering systems 331 and 332 may be functionally equivalent to each other. Alternatively, steering systems 331 and 332 may control the steering device based on a steering command generated in either one, and in the event of a malfunction in that steering system, they may control the steering device based on a steering command generated by the other.

[0071] The EPB system 341 controls the EPB according to a control request output from the ADS 11 via the VCIB 41. The EPB is separate from the braking equipment (such as a disc brake system) and secures the wheels by operating an actuator. For example, the EPB uses an actuator to activate a drum brake for a parking brake located in at least one of a plurality of wheels to secure the wheels, or uses an actuator capable of adjusting the hydraulic pressure supplied to the braking equipment separately from the braking systems 321 and 322 to activate the braking equipment to secure the wheels. The EPB system 341 performs a brake holding function and is configured to switch between activation and deactivation of brake holding.

[0072] The P-lock system 342 controls the P-lock device according to control requests output from the ADS 11 via the VCIB 41. For example, when the control request includes a request to set the shift gear to Park (P), the P-lock system 342 activates the P-lock device, and when the control request includes a request to set the shift gear to a shift gear other than P, it deactivates the P-lock device. The P-lock device mates a protrusion (the position of which is adjusted by an actuator) located at the tip of the parking lock pawl into the teeth of a gear (locking gear) configured to connect with a rotating element in the transmission of vehicle 1. The rotation of the transmission output shaft is thus fixed, and the wheels are fixed.

[0073] The propulsion system 343 switches the gear positions of the shifting device and controls the driving force from the drive source (electric generator and engine) according to the control request output from the ADS 11 via the VCIB 41. In addition to the P gear, the shift positions also include, for example, neutral (N gear), drive (D gear), and reverse (R gear).

[0074] The active safety system 35 is communicatively connected to the braking system 321. As previously described, the active safety system 35 detects obstacles ahead using a camera 54 and / or a radar sensor 55, and when it determines that there is a possibility of a collision, it outputs a braking command to the braking system 321 to increase braking force.

[0075] The body system 36 controls components such as the turn indicators, horn, or wipers based on control requests output from the ADS 11 via the VCIB 41.

[0076] For example, autonomous driving is performed when the user selects autonomous mode via HMI 112 in vehicle 1. During autonomous driving, ADS 11 initially creates a driving plan as described above. Examples of driving plans include plans to continue straight, plans to turn left / right at designated intersections on a predetermined driving path, and plans to change lanes. ADS 11 calculates the controllable physical quantities (acceleration, deceleration, and wheel steering angle) required for the operation of vehicle 1 based on the created driving plan. ADS 11 segments the physical quantities for each execution cycle of the API. ADS 11 outputs control requests representing the segmented physical quantities to VCIB 40 via the API. Furthermore, ADS 11 obtains the vehicle state (actual direction of movement and stationary state of vehicle 1) from VP 20 and recreates a driving plan reflecting the obtained vehicle state. ADS 11 thus enables autonomous driving of vehicle 1.

[0077] <Control of wheel steering angle>

[0078] In the above configuration, stable steering is an issue when the user intervenes in the steering by operating the steering wheel.

[0079] The calculation component 111 of ADK 10's ADS 11 obtains torque values ​​related to steering systems 331 and 332 from VP 20 via communication modules 111A and 111B, and sends wheel steering angle commands to VP 20 via communication modules 111A and 111B, indicating the wheel steering angles based on the driving plan and torque values ​​for autonomous driving.

[0080] ADK 10 therefore sends wheel steering angle commands to VP 20, indicating the wheel steering angles according to the autonomous driving plan and the torque values ​​related to steering systems 331 and 332 obtained from VP 20. Thus, the vehicle can steer based on the torque values ​​related to steering systems 331 and 332, reflecting user intervention in steering. Therefore, while ADK 10, which can be attached and detached, controls VP 20 to issue commands for autonomous driving, stable steering can be achieved even when the user intervenes in steering.

[0081] Figure 3 This is a flowchart illustrating the process of controlling the wheel steering angle performed in vehicle 1 in this embodiment. In each defined control cycle, the process is executed from a higher-order processing call by the calculation component 111 of ADS 11 and the VCIB 40 (or integrated control manager 31) of VP 20. Figure 3 The wheel steering angle calculation and steering control processing are performed by ADS 11 (Calculation Component 111) or VP 20 (VCIB 40 or Integrated Control Manager 31) via software processing. Figure 3 The flowchart shown includes the various steps, but it can also be performed by hardware (circuit) arranged in ADS 11 or VP 20. Hereinafter, the steps will be abbreviated as S.

[0082] The processor of the calculation component 111 of ADS 11 determines whether steering is required in the immediate driving plan (S111). When the processor of the calculation component 111 determines that steering is required ("Yes" in S111), it requests VP 20 to send the values ​​required to calculate the wheel steering angle (e.g., sensor value from steering torque sensor 57, estimated value of torque generated by steering motor 58, and maximum generated torque that steering motor 58 can output) (S112).

[0083] The processor of VCIB 40 in VP 20 determines whether ADS 11 has requested the values ​​required to calculate the wheel steering angle (S211). During the manufacture of the base vehicle 30, the values ​​required for the control of the base vehicle 30 are pre-stored in the memory of the integrated control manager 31 (or the memory of VCIB 40), or obtained by sensors of various systems of the base vehicle 30, such as the integrated control manager 31 (or VCIB 40) and the steering system 33 (e.g., the pinion angle sensor 53, the steering torque sensor 57, and the current sensor of the steering motor 58). In this embodiment, the values ​​required for the control of the base vehicle 30 include torque values ​​related to the steering system 33 (such as the torque value detected by the steering torque sensor 57), torque values ​​estimated from the current value of the steering motor 58, and torque values ​​representing the maximum steering torque that the steering motor 58 can output.

[0084] When the processor of VCIB 40 determines that a request for the required value has been issued ("Yes" in S211), it obtains the required value (e.g., the torque value detected by the steering torque sensor 57, the torque value estimated from the current value of the steering motor 58, and the torque value of the maximum steering torque that the steering motor 58 can output) from the memory of the integrated control manager 31 (or the memory of VCIB 40) or from the sensors of the various systems of the base vehicle 30 (S212). The processor of VCIB 40 sends the obtained value to ADK 10 (S213).

[0085] The processor of the calculation component 111 of ADK 10's ADS 11 determines whether it has received the obtained value from VP 20's VCIB 40 (S113). When the processor of the calculation component 111 determines that it has received the obtained value ("yes" in S113), it calculates the wheel steering angle based on the received obtained value and the driving plan at the current point in time (S114). Specifically, when it is determined that the user intervenes in the steering of the automatic driving system by operating the steering wheel, based on the torque value from the steering torque sensor 57, the estimated torque value of the steering motor 58, or the maximum value of the steering torque that the steering motor 58 can output, for example, the same steering angle as the previous control cycle is calculated. The steering angle at the time of steering intervention can be calculated in other ways, and for example, the steering angle can be set to a value that does not indicate the steering angle. The processor of the calculation component 111 sends a wheel steering angle command to VP 20 to indicate the calculated wheel steering angle (S115).

[0086] The processor of VCIB 40 in VP 20 determines whether it has received a wheel steering angle command from ADK 10 (S214). When the processor of VCIB 40 determines that it has received a wheel steering angle command ("yes" in S214), it controls the steering system 33 to set the wheel steering angle indicated in the wheel steering angle command (S215).

[0087] [Variation Example]

[0088] (1) In the foregoing embodiments, the VCIB 40 (or integrated control manager 31) directly controls the various functional units of the base vehicle 30, such as the steering system 33. However, this is not a limitation; each functional unit may include an ECU, and the VCIB 40 (or integrated control manager 31) may indirectly control the functional units by issuing control commands to the ECUs of each functional unit, causing the ECUs to control the functional units according to the control commands.

[0089] (2) In the foregoing embodiments, such as Figure 3 As shown, each time the steering angle is calculated, the calculation component 111 of ADK 10's ADS 11 obtains the value required to calculate the wheel steering angle from the processor of VP 20's VCIB 40 (or the processor of the integrated control manager 31). Not limited to this, the value required to calculate the wheel steering angle can be obtained at moments such as when ADK 10 and VP 20 are started, or at another moment in each prescribed cycle.

[0090] (3) The foregoing embodiments may be understood as disclosures of devices such as vehicle 1, ADK 10, ADS 11, VP 20, base vehicle 30 or VCIB 40, or as disclosures of control methods or control programs in such devices.

[0091] [Summarize]

[0092] (1) As Figure 1 and Figure 2 As shown, ADK 10 can be attached to and detached from VP 20, and can issue commands for autonomous driving to VP 20. For example... Figure 1 and Figure 2 As shown, VP 20 includes a steering system 33 for steering VP 20. (As...) Figure 2 As shown, ADK 10 (of ADS 11) includes a computing component 111 and communication modules 111A and 111B configured to communicate with VP 20. Figure 3As shown, the calculation component 111 obtains the torque value related to the steering system 33 from the VP 20 via communication modules 111A and 111B (e.g., S112 and S113), and sends wheel steering angle commands (e.g., S114 and S115) to the VP 20 via communication modules 111A and 111B, indicating the wheel steering angle according to the driving plan of the autonomous driving and the obtained torque value.

[0093] Therefore, ADK 10 sends wheel steering angle commands to VP 20, instructing the wheel steering angles based on the torque values ​​related to steering system 33 obtained from VP 20 and the driving plan for autonomous driving. Thus, ADK 10 can steer the base vehicle 30 based on the torque values ​​related to steering system 33, reflecting user intervention in steering. Therefore, while ADK 10, which can be attached and detached, controls VP 20 to issue commands for autonomous driving, stable steering can be achieved even when the user intervenes.

[0094] (2) Figure 1 As shown, the steering system 33 includes a steering torque sensor 57 for detecting steering torque. Figure 3 As shown, the torque value can be the torque value detected by the steering torque sensor 57. Therefore, it is possible to detect user intervention in steering based on changes in steering torque. Thus, stable steering that takes into account user-initiated steering can be achieved.

[0095] (3) Figure 1 As shown, the steering system 33 includes a steering motor 58. Figure 3 As shown, the torque value can be estimated based on the current value detected by the current sensor of the steering motor 58. Therefore, it is possible to detect user intervention in steering based on changes in the current value of the steering motor 58. Thus, stable steering that takes into account user-initiated steering can be achieved.

[0096] (4) Figure 1 As shown, the steering system 33 includes a steering motor 58. Figure 3 As shown, the torque value can be the maximum steering torque that the steering motor 58 can output. Therefore, user intervention in steering can be detected based on changes in the maximum steering torque value that can be output at this time. Thus, stable steering that takes into account user-initiated steering can be achieved.

[0097] (5) Figure 1 and Figure 2 As shown, vehicle 1 may include the ADK 10 described above. Therefore, while the ADK 10, which can be attached and detached, controls the VP 20 to issue commands for autonomous driving, stable steering can be achieved even when the user intervenes in the steering.

[0098] (6) Figure 1 and Figure 2 As shown, VP 20 can communicate with ADK 10 and is configured to allow autonomous driving based on instructions from ADK 10 for autonomous driving. Figure 1 and Figure 2 As shown, ADK 10 can be attached to VP 20 and detached from VP 20. (As indicated...) Figure 1 and Figure 2 As shown, VP 20 includes a steering system 33 for steering VP 20 and a VCIB 40 for providing control commands for controlling the steering system 33. As... Figure 3 As shown, VCIB 40 sends the torque value to ADK 10 (e.g., S213) based on a request from ADK 10 to obtain the torque value related to the steering system 33 in VP 20, and provides the steering system 33 with a control command based on a wheel steering angle command received from ADK 10, the wheel steering angle command indicating the wheel steering angle according to the driving plan of the automatic driving and the torque value (e.g., S215).

[0099] Therefore, while the ADK 10 control VP 20, which can be attached and detached, issues commands for autonomous driving, stable steering can be achieved even when the user intervenes in steering.

[0100] (7) Figure 1 and Figure 2 As shown, vehicle 1 may include the aforementioned VP 20. Therefore, while the ADK 10, which can be attached and detached, controls the VP 20 to issue commands for autonomous driving, stable steering can be achieved even when the user intervenes in steering.

[0101] (8) Figure 1 and Figure 2 As shown, VCIB 40 can communicate with ADK 10 and issue autonomous driving instructions to VP 20 based on the autonomous driving instructions from ADK 10. For example... Figure 1 and Figure 2 As shown, ADK 10 can be attached to VP20 and detached from VP20. Figure 1 and Figure 2 As shown, VP 20 includes a steering system 33 for steering VP 20. (As...) Figure 1 and Figure 2 As shown, VCIB 40 includes a processor and a memory therein storing programs that can be executed by the processor. Figure 3As shown, according to the program stored in the memory, the processor of VCIB 40 sends the torque value to ADK 10 upon request from ADK 10 to obtain the torque value related to the steering system 33 in VP 20 (e.g., S213), and provides the steering system 33 with a control command based on the wheel steering angle command received from ADK 10 (e.g., S215), the wheel steering angle command indicating the wheel steering angle according to the driving plan of the automatic driving and the torque value.

[0102] Therefore, while the ADK 10 control VP 20, which can be attached and detached, issues commands for autonomous driving, stable steering can be achieved even when the user intervenes in steering.

[0103] [Example]

[0104] Toyota vehicle platform API specifications

[0105] Version 1.1

[0106] Revision history

[0107]

[0108] Table of contents

[0109] 1. Introduction

[0110] 1.1. Purpose of this specification

[0111] 1.2. Target Vehicle

[0112] 1.3. Definition of Terms

[0113] 2. Structure

[0114] 2.1. Overall Structure of Autono-MaaS Vehicles

[0115] 2.2. System Architecture of Autono-MaaS Vehicles

[0116] 3. Application Interface

[0117] 3.1. Typical Use of API

[0118] 3.2. APIs for Vehicle Motion Control

[0119] 3.2.1. List of APIs used for vehicle motion control

[0120] 3.2.2. Details of each API used for vehicle motion control

[0121] 3.3. APIs for Body Control

[0122] 3.3.1. List of APIs used for vehicle body control

[0123] 3.3.2. Details of each API used for body control

[0124] 3.4. API for Power Control

[0125] 3.4.1. List of APIs for Power Control

[0126] 3.4.2. Details of each API used for power control

[0127] 3.5. API for Fault Notification

[0128] 3.5.1. List of APIs used for fault notification

[0129] 3.5.2. Details of each API used for fault notification

[0130] 3.6. APIs for Security

[0131] 3.6.1. List of APIs for Security

[0132] 3.6.2. Details of each API used for security

[0133] 4. API Guidelines for Controlling Toyota Vehicles

[0134] 4.1. APIs for Vehicle Motion Control

[0135] 4.1.1. List of APIs used for vehicle motion control

[0136] 4.1.2. Detailed API Guide for Vehicle Motion Control

[0137] 4.2. APIs for Body Control

[0138] 4.2.1. List of APIs used for vehicle body control

[0139] 4.3. API for Power Control

[0140] 4.3.1. List of APIs for Power Control

[0141] 4.4. API for Fault Notification

[0142] 4.4.1. List of APIs used for fault notification

[0143] 4.5. APIs for Security

[0144] 4.5.1. List of APIs for Security

[0145] 4.5.2. Detailed Guidelines for Secure APIs

[0146] 1. Introduction

[0147] 1.1. Purpose of this specification

[0148] This document is the API specification for the vehicle control interface used in Autono-MaaS vehicles, and includes an overview of the API, usage instructions, and precautions.

[0149] 1.2. Target Vehicle

[0150] This specification applies to Autono-MaaS vehicles as defined by the [Architecture Specification for Toyota Vehicle Platform with Autonomous Driving System].

[0151] 1.3. Definition of Terms

[0152] Table 1. Definitions of Terms

[0153]

[0154] 2. Structure

[0155] 2.1. Overall Structure of Autono-MaaS Vehicles

[0156] This shows the overall structure of an Autono-MaaS vehicle. Figure 4 ).

[0157] 2.2. System Architecture of Autono-MaaS Vehicles

[0158] exist Figure 5 The system architecture is shown in the diagram.

[0159] 3. Application Interface

[0160] 3.1. Typical Use of API

[0161] This section describes typical uses of the API.

[0162] The typical workflow of an API is as follows ( Figure 6 The following examples assume CAN for physical communication. 3.2. API for Vehicle Motion Control

[0163] This section describes the API used for vehicle motion control.

[0164] 3.2.1. List of APIs used for vehicle motion control

[0165] 3.2.1.1. Input

[0166] Table 3. Input APIs for Vehicle Motion Control

[0167]

[0168] *Response time in VP based on the request from ADK

[0169] 3.2.1.2. Output

[0170] Table 4. Output APIs for Vehicle Motion Control

[0171]

[0172]

[0173]

[0174] 3.2.2. Details of each API used for vehicle motion control

[0175] 3.2.2.1. Direction of Advance Command

[0176] Request to change gear from forward (D) to reverse (R), or from reverse to forward.

[0177] value

[0178]

[0179]

[0180] Remark

[0181] • Available only when vehicle mode status = "Autonomous Mode".

[0182] • Available only when the vehicle is stationary (direction of travel = "stationary").

[0183] • Available only when braking is applied.

[0184] 3.2.2.2. Fixed Commands

[0185] Request to open / close wheel lock

[0186] value

[0187] The following table shows the cases where EPB and P files are used for fixing.

[0188]

[0189] Remark

[0190] This API is used to park the vehicle.

[0191] • Available only when vehicle mode status = "Autonomous Mode".

[0192] • It can only be changed when the vehicle is stationary (direction of travel = "stationary").

[0193] • It can only be changed when braking is applied.

[0194] 3.2.2.3. Static Command

[0195] Request to apply / disappear brake holding function

[0196] value

[0197]

[0198]

[0199] Remark

[0200] This API is used to select whether the brake hold function is enabled.

[0201] • Available only when vehicle mode status = "Autonomous Mode".

[0202] • Continue to use the acceleration command (deceleration request) until the stationary state changes to "applied".

[0203] 3.2.2.4. Acceleration Command

[0204] Request acceleration

[0205] value

[0206] Estimated maximum deceleration to estimated maximum acceleration [m / s] 2 ]

[0207] Remark

[0208] • Available only when vehicle mode status = "Autonomous Mode".

[0209] • Acceleration (+) and deceleration (-) requests based on the propulsion direction and state direction.

[0210] • The upper / lower limits will be based on the estimated maximum deceleration and the estimated maximum acceleration change.

[0211] • When the requested acceleration is greater than the estimated maximum acceleration, the request is set to the estimated maximum acceleration.

[0212] • When the requested deceleration is greater than the estimated maximum deceleration, the request is set to the estimated maximum deceleration.

[0213] • When the driver is operating the vehicle (over-control), the requested acceleration may not be achieved.

[0214] • When PCS is working simultaneously, VP should be selected as the minimum acceleration (maximum deceleration).

[0215] 3.2.2.5. Front wheel steering angle command

[0216] value

[0217] value describe Remark — [Unit: radians]

[0218] Remark

[0219] • Available only when vehicle mode status = "Autonomous Mode".

[0220] Left represents a positive value (+). Right represents a negative value (-).

[0221] • When the vehicle is traveling in a straight line, the front wheel steering angle is set to a value (0).

[0222] • This request is set to a value relative to the current one to prevent the accumulation of misalignment in the "front wheel steering angle".

[0223] The requested value should be set within the front wheel steering angle rate limit.

[0224] • When the driver is operating the vehicle (over-control), the requested front wheel steering angle may not be achieved.

[0225] 3.2.2.6. Vehicle Mode Command

[0226] Request a change from manual mode to autonomous mode, or vice versa.

[0227] value

[0228]

[0229] Remark

[0230] N / A

[0231] 3.2.2.7. High Dynamic Commands

[0232] If ADK is to improve VP's braking response performance * The high dynamics command should be set to "high".

[0233] *Response time in VP based on the request from ADK

[0234] value

[0235] value describe Remark 0 No request 1 high 2-3 reserve

[0236] Remark

[0237] N / A

[0238] 3.2.2.8. Propulsion Direction Status

[0239] Current shift status

[0240] value

[0241] value describe Remark 0 reserve 1 P 2 R 3 N 4 D 5 reserve 6 Invalid value

[0242] Remark

[0243] • If VP is unaware of the current shift state, this output is set to "invalid value".

[0244] 3.2.2.9. Fixed State

[0245] Each fixed system state

[0246] The following table shows the cases where EPB and P files are used for fixing.

[0247]

[0248]

[0249] Remark

[0250] ·N / A

[0251] 3.2.2.10. Stationary state

[0252] static state

[0253] value

[0254] value describe Remark 0 Released 1 Already applied 2 reserve 3 Invalid value

[0255] Remark

[0256] ·N / A

[0257] 3.2.2.11. Estimate the gliding acceleration

[0258] With the throttle valve closed, the acceleration calculated in VP is taken into account factors such as slope and road load.

[0259] value

[0260] [Unit: meters per second] 2 ]

[0261] Remark

[0262] • When the propulsion direction is “D”, the acceleration in the forward direction is shown as a positive value.

[0263] • When the forward direction is “R”, the acceleration in the backward direction is shown as a positive value.

[0264] 3.2.2.12. Estimating the maximum acceleration

[0265] With the throttle valve fully open, the acceleration calculated in VP is taken into account factors such as slope and road load.

[0266] value

[0267] [Unit: meters per second] 2 ]

[0268] Remark

[0269] • When the propulsion direction is “D”, the acceleration in the forward direction is shown as a positive value.

[0270] • When the forward direction is “R”, the acceleration in the backward direction is shown as a positive value.

[0271] 3.2.2.13. Estimate the maximum deceleration

[0272] When braking in VP is requested to be at its maximum, the maximum deceleration calculated in VP is taken into account factors such as gradient and road load.

[0273] value

[0274] [Unit: meters per second] 2 ]

[0275] Remark

[0276] • When the propulsion direction is “D”, the deceleration in the forward direction is shown as a negative value.

[0277] • When the forward direction is “R”, the deceleration in the backward direction is shown as a negative value.

[0278] 3.2.2.14. Front wheel steering angle

[0279] value

[0280] value describe Remark Minimum value Invalid value other [Unit: radians]

[0281] Remark

[0282] Left represents a positive value (+). Right represents a negative value (-).

[0283] The signal will show an invalid value until the VP is able to calculate the correct value or when the sensor is invalid / malfunctioning.

[0284] 3.2.2.15. Front wheel steering angular rate

[0285] Front wheel steering angle rate

[0286] value

[0287] value describe Remark Minimum value Invalid value other [Unit: radians]

[0288] Remark

[0289] Left represents a positive value (+). Right represents a negative value (-).

[0290] The signal will display an invalid value until VP can calculate the correct value or the current wheel steering angle shows a minimum value.

[0291] 3.2.2.16. Front wheel steering rate limit

[0292] Front wheel steering rate limit

[0293] value

[0294] [Unit: radians / second]

[0295] Remark

[0296] From Table 5 below and Figure 7 The speed-steering angle rate mapping shown calculates this limit.

[0297] A) When at low speed or at a stop, use a fixed value (0.751 [radians / second]).

[0298] B) At higher speeds, use 3.432 m / s 3 The steering angle rate is calculated from the vehicle speed.

[0299] Table 5. Vehicle Speed-Steering Angle Rate Mapping Chart

[0300] Speed ​​[km / h] 0.0 36.0 40.0 67.0 84.0 Front wheel steering angle rate limit [radians / second] 0.751 0.751 0.469 0.287 0.253

[0301] 3.2.2.17. Estimate the maximum lateral acceleration

[0302] value

[0303] [Unit: meters per second] 2 (Fixed value: 3.432)

[0304] Remark

[0305] • Maximum lateral acceleration limited by VP

[0306] 3.2.2.18. Estimating the maximum lateral acceleration rate

[0307] value

[0308] [Unit: meters per second] 3 (Fixed value: 3.432)

[0309] Remark

[0310] • Maximum lateral acceleration rate limited by VP

[0311] 3.2.2.19. Accelerator pedal intervention

[0312] This signal indicates whether the accelerator pedal has been pressed by the driver (intervention).

[0313] value

[0314] value describe Remark 0 Unpressed 1 It has been suppressed 2 Exceeding autonomous acceleration

[0315] Remark

[0316] • When the accelerator pedal is positioned above a predetermined threshold, the signal is set to "pressed".

[0317] • When the requested acceleration calculated from the position of the accelerator pedal is higher than the requested acceleration from the ADS, the signal is set to “exceed autonomous acceleration”.

[0318] 3.2.2.20. Brake pedal intervention

[0319] This signal indicates whether the driver has pressed the brake pedal (intervention).

[0320] value

[0321] value describe Remark 0 Unpressed 1 It has been suppressed 2 Exceeding autonomous deceleration

[0322] Remark

[0323] • When the brake pedal position is above a predetermined threshold, the signal is set to "pressed".

[0324] • When the requested deceleration calculated from the position of the brake pedal is higher than the requested deceleration from the ADS, the signal is set to “exceed autonomous deceleration”.

[0325] 3.2.2.21. Steering wheel intervention

[0326] This signal indicates whether the driver has intervened by operating the steering wheel.

[0327] value

[0328] value describe Remark 0 Not rotated 1 ADS works in collaboration with drivers 2 Only through human drivers

[0329] Remark

[0330] • In “Steering wheel intervention = 1”, the EPS system works in cooperation with the human driver to drive the steering, taking into account the intentions of the human driver.

[0331] • In "Steering intervention = 2", the steering request from ADS was not implemented, taking into account the intentions of the human driver. (Steering will be driven by the human driver.)

[0332] 3.2.2.22. Gear shift lever intervention

[0333] This signal indicates whether the driver is controlling the gear shift lever (intervention).

[0334] value

[0335] value describe Remark 0 closure 1 Open Controlled (moved to any gear)

[0336] Remark

[0337] ·N / A

[0338] 3.2.2.23. Wheel speed pulse (front left), wheel speed pulse (front right), wheel speed pulse (rear left), wheel speed pulse (rear right)

[0339] value

[0340]

[0341] Remark

[0342] • Integrate the pulse value at the moment of pulse descent.

[0343] The wheel speed sensor outputs 96 pulses per rotation.

[0344] • The wheel speed pulse will be updated regardless of whether the wheel speed sensor is invalid or malfunctioning.

[0345] • When “1” is subtracted from the pulse value showing “0”, the value changes to “0×FF”. When “1” is added to the pulse value showing “0×FF”, the value changes to “0”.

[0346] • The rotation direction is determined after the ECU is started, and the pulse value will be increased when the rotation direction is "forward".

[0347] • When forward rotation is detected, the pulse value will be increased.

[0348] • When backward rotation is detected, the pulse value will be subtracted.

[0349] 3.2.2.24. Wheel rotation direction (front left), wheel rotation direction (front right), wheel rotation direction (rear left), wheel rotation direction (rear right)

[0350] value

[0351] value describe Remark 0 forward 1 backward 2 reserve 3 Invalid value The sensor is malfunctioning.

[0352] Remark

[0353] • Determine the rotation direction after VP is turned on and set it to "forward".

[0354] 3.2.2.25. Direction of travel

[0355] Direction of movement of the vehicle

[0356] value

[0357] value describe Remark 0 forward 1 backward 2 still 3 Undefined

[0358] Remark

[0359] • When the speed of all four wheels is “0” at a constant time, this signal indicates “stationary”. • When shifting gears immediately after the vehicle has started, it can be “undefined”.

[0360] 3.2.2.26. Vehicle speed

[0361] Estimated longitudinal speed of the vehicle

[0362] value

[0363] value describe Remark Maximum value in transmitted bits Invalid value The sensor is malfunctioning. other Speed ​​[unit: meters per second]

[0364] Remark

[0365] • The signal value is positive when both the forward and backward directions are in motion.

[0366] 3.2.2.27. Longitudinal acceleration

[0367] Estimated longitudinal acceleration of the vehicle

[0368] value

[0369] value describe Remark Minimum value in transmitted bits Invalid value The sensor is malfunctioning. other <![CDATA[Acceleration [Unit: m / s 2 >

[0370] Remark

[0371] • Acceleration (+) and deceleration (-) values ​​based on the pulse direction and state direction.

[0372] 3.2.2.28. Lateral acceleration

[0373] lateral acceleration of the vehicle

[0374] value

[0375] value describe Remark Minimum value in transmitted bits Invalid value The sensor is malfunctioning. other <![CDATA[Acceleration [Unit: m / s 2 >

[0376] Remark

[0377] Positive values ​​indicate counter-clockwise rotation. Negative values ​​indicate clockwise rotation.

[0378] 3.2.2.29. Yaw rate

[0379] yaw rate sensor value

[0380] value

[0381]

[0382]

[0383] Remark

[0384] Positive values ​​indicate counter-clockwise rotation. Negative values ​​indicate clockwise rotation.

[0385] 3.2.2.30. Sliding Detection

[0386] Tire slippage / sharp turn / skid detection

[0387] value

[0388] value describe Remark 0 No sliding 1 slide 2 reserve 3 Invalid value

[0389] Remark

[0390] • This signal is considered "slippery" when any of the following systems are already running.

[0391] -ABS (Anti-lock Braking System)

[0392] -TRC (Traction Control)

[0393] -VSC (Vehicle Stability Control)

[0394] -VDIM (Vehicle Dynamics Integrated Management)

[0395] 3.2.2.31. Vehicle Mode Status

[0396] Autonomous mode or manual mode

[0397] value

[0398] value describe Remark 0 Manual mode The mode starts from manual mode. 1 Autonomous mode

[0399] Remark

[0400] • The initial state is set to "manual mode".

[0401] 3.2.2.32. Automation Ready

[0402] This signal indicates whether the vehicle can switch to autonomous mode.

[0403] value

[0404] value describe Remark 0 Not prepared for an independent model 1 Preparing for an autonomous mode 3 invalid The status has not yet been determined.

[0405] Remark

[0406] ·N / A

[0407] 3.2.2.33. Fault Status of VP Function in Autonomous Mode

[0408] This signal is used to indicate whether the VP function has certain fault modes when the vehicle is operating in autonomous mode.

[0409] value

[0410] value describe Remark 0 No fault 1 Fault 3 invalid The status has not yet been determined.

[0411] Remark

[0412] ·N / A

[0413] 3.2.2.34. PCS Alarm Status

[0414] value

[0415] value describe Remark 0 normal 1 alarm Request an alert from the PCS system. 3 Unavailable

[0416] Remark

[0417] N / A

[0418] 3.2.2.35. PCS Preparation Status

[0419] Pre-filling state as preparation for PCS braking

[0420] value

[0421] value describe Remark 0 normal 1 start up 3 Unavailable

[0422] Remark

[0423] • “Start” is a state that prepares the braking actuator for the PCS to shorten the delay from when the PCS issues a deceleration request.

[0424] • When the value changes to “Start” during the vehicle mode state = “Autonomous Mode”, “ADS / PCS Disruption Status” displays “ADS”.

[0425] 3.2.2.36. PCS Braking / PCS Braking Holding Status

[0426] value

[0427] value describe Remark 0 normal 1 PCS braking 2 PCS Braking Hold 7 Unavailable

[0428] Remark

[0429] N / A

[0430] 3.2.2.37. ADS / PCS Mediation Status

[0431] Mediation status

[0432] value

[0433] value describe Remark 0 No request 1 ADS ADS 2 PCS PCS braking or PCS braking hold 3 Invalid value

[0434] Remark

[0435] • When the acceleration requested by the PCS system in VP is less than the acceleration requested by ADS, the state is set to "PCS".

[0436] • When the acceleration requested by the PCS system in VP is greater than the acceleration requested by ADS, the state is set to "ADS".

[0437] 3.3 APIs for Body Control

[0438] 3.3.1. List of APIs used for vehicle body control

[0439] 3.3.1.1. Input

[0440] Table 6. Input APIs for Body Control

[0441]

[0442]

[0443] 3.3.1.2. Output

[0444] Table 7. Output APIs for Body Control

[0445]

[0446]

[0447]

[0448] 3.3.2. Details of each API used for body control

[0449] 3.3.2.1. Turning signal command

[0450] Request to control steering signal

[0451] value

[0452] value describe Remark 0 closure 1 right Right flash on 2 Left Left flash on 3 reserve

[0453] Remark

[0454] ·N / A

[0455] 3.3.2.2.Headlight command

[0456] Request to control headlights

[0457] value

[0458]

[0459]

[0460] Remark

[0461] • This command is invalid when the headlight mode of the combination switch is "off" or the autonomous mode is "on".

[0462] • Driver's actions take precedence over this command.

[0463] 3.3.2.3. Hazard Warning Light Command

[0464] Request to control hazard warning lights

[0465] value

[0466] value describe Remark 0 No request 1 Open

[0467] Remark

[0468] • Driver's actions take precedence over this command.

[0469] • The hazard warning lights will turn on upon receiving the "on" command.

[0470] 3.3.2.4. Horn Mode Command

[0471] Requests for selecting the on and off times per cycle

[0472] value

[0473]

[0474]

[0475] Remark

[0476] N / A

[0477] 3.3.2.5. Horn Cycle Command

[0478] Request to select the number of cycles to turn on and off

[0479] value

[0480] 0-7[-]

[0481] Remark

[0482] N / A

[0483] 3.3.2.6. Continuous Horn Command

[0484] Request to turn the speaker on / off

[0485] value

[0486] value describe Remark 0 No request 1 Open

[0487] Remark

[0488] • This command has higher priority than the 3.3.2.4 Horn Mode and 3.3.2.5 Horn Cycle commands.

[0489] • The speaker will "turn on" simultaneously upon receiving the "turn on" command.

[0490] 3.3.2.7. Windshield wiper command

[0491] Request to control the windshield wipers

[0492] value

[0493] value describe Remark 0 Close Mode Request 1 Low frequency mode request 2 High-frequency mode request 3 Intermittent mode request 4 Autonomous mode request 5 Spray mode request One-time wipe 6-7 reserve

[0494] Remark

[0495] This command is effective when the windshield wiper mode of the combination switch is set to "Off" or "Auto".

[0496] • Driver input takes precedence over this command.

[0497] • Maintain windshield wiper mode while receiving the command.

[0498] • Erasing speed in fixed intermittent mode.

[0499] 3.3.2.8. Rear windshield wiper command

[0500] Request to control rear windshield wipers

[0501] value

[0502] value describe Remark 0 Close Mode Request 1 Low frequency mode request 2 reserve 3 Intermittent mode request 4-7 reserve

[0503] Remark

[0504] • Driver input takes precedence over this command.

[0505] • Maintain windshield wiper mode while receiving the command.

[0506] • Erasing speed in fixed intermittent mode.

[0507] 3.3.2.9. HVAC (First Line) Operation Commands

[0508] Start / stop the first line of air conditioning control request

[0509] value

[0510] value describe Remark 0 No request 1 Open 2 closure

[0511] Remark

[0512] ·N / A

[0513] 3.3.2.10. HVAC (Second Line) Operation Commands

[0514] Start / stop the second line of air conditioning control request

[0515] value

[0516] value describe Remark 0 No request 1 Open 2 closure

[0517] Remark

[0518] ·N / A

[0519] 3.3.2.11. Target Temperature (first command on the left)

[0520] Request to set the target temperature in the left front region

[0521] value

[0522] value describe Remark 0 No request 60 to 85 [unit: degrees Fahrenheit] (in increments of 1.0 degrees Fahrenheit) Target temperature

[0523] Remark

[0524] • When Celsius is used in VP, the value should be set to Celsius.

[0525] 3.3.2.12. Target Temperature (first command on the right)

[0526] Request to set the target temperature in the right front region

[0527] value

[0528] value describe Remark 0 No request 60 to 85 [unit: degrees Fahrenheit] (in increments of 1.0 degrees Fahrenheit) Target temperature

[0529] Remark

[0530] • When Celsius is used in VP, the value should be set to Celsius.

[0531] 3.3.2.13. Target Temperature (second from the left) command

[0532] Request to set the target temperature in the left rear region

[0533] value

[0534] value describe Remark 0 No request 60 to 85 [unit: degrees Fahrenheit] (in increments of 1.0 degrees Fahrenheit) Target temperature

[0535] Remark

[0536] • When Celsius is used in VP, the value should be set to Celsius.

[0537] 3.3.2.14. Target Temperature (second from the right) command

[0538] Request to set the target temperature in the right rear region.

[0539] value

[0540] value describe Remark 0 No request 60 to 85 [unit: degrees Fahrenheit] (in increments of 1.0 degrees Fahrenheit) Target temperature

[0541] Remark

[0542] • When Celsius is used in VP, the value should be set to Celsius.

[0543] 3.3.2.15. HVAC Fan (First Line) Command

[0544] Request to set the fan level of the front AC

[0545] value

[0546] value describe Remark 0 No request 1 to 7 (maximum) Fan level

[0547] Remark

[0548] • To switch the fan level to 0 (off), you should transmit "HVAC (first line) operation command = off".

[0549] • To switch the fan level to automatic, you should send the command "HVAC (first line) operation = turn on".

[0550] 3.3.2.16. HVAC Fan (Second Line) Command

[0551] Request for AC fan level after configuration

[0552] value

[0553] value describe Remark 0 No request 1 to 7 (maximum) Fan level

[0554] Remark

[0555] • To switch the fan level to 0 (off), you should transmit "HVAC (second line) operation command = off".

[0556] • To switch the fan level to automatic, you should send the command "HVAC (second line) operation = turn on".

[0557] 3.3.2.17. Air Exit (First Line) Command

[0558] Request to set the first line of air outlet mode

[0559] value

[0560] value describe Remark 0 No operation 1 upper body Airflow to the upper body 2 upper body / feet Airflow to the upper body and feet 3 feet Airflow to the feet 4 Foot / Defogger Airflow to the feet and windshield defroster

[0561] Remark

[0562] ·N / A

[0563] 3.3.2.18. Air Exit (Second Line) Command

[0564] Request to set the air outlet mode in the second row

[0565] value

[0566] value describe Remark 0 No operation 1 upper body Airflow to the upper body 2 upper body / feet Airflow to the upper body and feet 3 feet Air flows towards the feet.

[0567] Remark

[0568] ·N / A

[0569] 3.3.2.19. Air Circulation Command

[0570] Request to set air circulation mode

[0571] value

[0572] value describe Remark 0 No request 1 Open 2 closure

[0573] Remark

[0574] ·N / A

[0575] 3.3.2.20. AC Mode Commands

[0576] Request to configure AC mode

[0577] value

[0578] value describe Remark 0 No request 1 Open 2 closure

[0579] Remark

[0580] ·N / A

[0581] 3.3.2.21. Turning signal status

[0582] value

[0583]

[0584]

[0585] Remark

[0586] N / A

[0587] 3.3.2.22. Headlight Status

[0588] value

[0589] value describe Remark 0 closure 1 taillight 2 Low beam 3 reserve 4 High beams 5-6 reserve 7 invalid

[0590] Remark

[0591] N / A

[0592] 3.3.2.23. Hazard warning light status

[0593] value

[0594] value describe Remark 0 closure 1 Danger warning 2 reserve 3 invalid

[0595] Remark

[0596] N / A

[0597] 3.3.2.24. Horn Status

[0598] value

[0599] value describe Remark 0 closure 1 Open 2 reserve 3 invalid

[0600] Remark

[0601] When the 3.3.2.4 horn mode command is activated, the horn status is "1" even during periods when the mode is off in some modes.

[0602] 3.3.2.25. Windshield wiper status

[0603] value

[0604] value describe Remark 0 closure 1 low frequency 2 High frequency 3 Intermittent 4-5 reserve 6 Fault 7 invalid

[0605] Remark

[0606] N / A

[0607] 3.3.2.26. Rear windshield wiper status

[0608] value

[0609] value describe Remark 0 closure 1 low frequency 2 reserve 3 Intermittent 4-5 reserve 6 Fault 7 invalid

[0610] Remark

[0611] N / A

[0612] 3.3.2.27. HVAC (first line) status

[0613] value

[0614] value describe Remark 0 closure 1 Open

[0615] Remark

[0616] ·N / A

[0617] 3.3.2.28. HVAC (Second line) Status

[0618] value

[0619]

[0620]

[0621] Remark

[0622] ·N / A

[0623] 3.3.2.29. Target Temperature (first one on the left) Status

[0624] value

[0625] value describe Remark 0 Low temperature coldest 60 to 85 [unit: degrees Fahrenheit] Target temperature 100 high temperature hottest FFh unknown

[0626] Remark

[0627] • When Celsius is used in VP, the value should be set to Celsius.

[0628] 3.3.2.30. Target Temperature (first one on the right) Status

[0629] value

[0630] value describe Remark 0 Low temperature coldest 60 to 85 [unit: degrees Fahrenheit] Target temperature 100 high temperature hottest FFh unknown

[0631] Remark

[0632] • When Celsius is used in VP, the value should be set to Celsius.

[0633] 3.3.2.31. Target Temperature (Second from the left) Status

[0634] value

[0635] value describe Remark 0 Low temperature coldest 60 to 85 [unit: degrees Fahrenheit] Target temperature 100 high temperature hottest FFh unknown

[0636] Remark

[0637] • When Celsius is used in VP, the value should be set to Celsius.

[0638] 3.3.2.32. Target Temperature (Second from the Right) Status

[0639] value

[0640] value describe Remark 0 Low temperature coldest 60 to 85 [unit: degrees Fahrenheit] Target temperature 100 high temperature hottest FFh unknown

[0641] Remark

[0642] • When Celsius is used in VP, the value should be set to Celsius.

[0643] 3.3.2.33. HVAC Fan (First Line) Status

[0644] value

[0645] value describe Remark 0 closure 1 to 7 Fan level 8 Undefined

[0646] Remark

[0647] ·N / A

[0648] 3.3.2.34. HVAC Fan (Second Row) Status

[0649] value

[0650] value describe Remark 0 closure 1 to 7 Fan level 8 Undefined

[0651] Remark

[0652] ·N / A

[0653] 3.3.2.35. Air outlet (first line) status

[0654] value

[0655] value describe Remark 0 Close all 1 upper body Airflow to the upper body 2 upper body / feet Airflow to the upper body and feet 3 feet Air flows towards the feet. 4 Foot / Defogger Airflow towards the feet and windshield defroster operation 5 Demister Windshield defroster 7 Undefined

[0656] Remark

[0657] ·N / A

[0658] 3.3.2.36. Air outlet (second line) status

[0659] value

[0660] value describe Remark 0 Close all 1 upper body Airflow to the upper body 2 upper body / feet Airflow to the upper body and feet 3 feet Air flows towards the feet. 7 Undefined

[0661] Remark

[0662] ·N / A

[0663] 3.3.2.37. Air circulation status

[0664] value

[0665] value describe Remark 0 closure 1 Open

[0666] Remark

[0667] ·N / A

[0668] 3.3.2.38. AC Mode Status

[0669] value

[0670] value describe Remark 0 closure 1 Open

[0671] Remark

[0672] ·N / A

[0673] 3.3.2.39. Seat Occupancy (First Seat on the Right) Status

[0674] value

[0675] value describe Remark 0 Unoccupied 1 Already occupied 2 Undecided In the event that the ignition device is off or communication with the seat sensors is interrupted. 3 Fault

[0676] Remark

[0677] • When there is luggage on the seat, the signal can be set to "occupied".

[0678] 3.3.2.40. Seatbelt (first one on the left) status

[0679] value

[0680] value describe Remark 0 Fastened 1 Untie 2 Undecided If the sensor does not work after the ignition device is turned on. 3 Switch malfunction

[0681] Remark

[0682] N / A

[0683] 3.3.2.41. Seatbelt (first one on the right) status

[0684] value

[0685] value describe Remark 0 Fastened 1 Untie 2 Undecided If the sensor does not work after the ignition device is turned on. 3 Switch malfunction

[0686] Remark

[0687] N / A

[0688] 3.3.2.42. Seatbelt (second one from the left) status

[0689] value

[0690] value describe Remark 0 Fastened 1 Untie 2 Undecided If the sensor does not work after the ignition device is turned on. 3 reserve

[0691] Remark

[0692] • Cannot detect sensor malfunction

[0693] 3.3.2.43. Seatbelt (second one from the right) status

[0694] value

[0695] value describe Remark 0 Fastened 1 Untie 2 Undecided If the sensor does not work after the ignition device is turned on. 3 reserve

[0696] Remark

[0697] • Cannot detect sensor malfunction

[0698] 3.3.2.44. Seatbelt (third one from the left) status

[0699] value

[0700]

[0701]

[0702] Remark

[0703] • Cannot detect sensor malfunction

[0704] 3.3.2.45. Seatbelt (third center seatbelt) status

[0705] value

[0706] value describe Remark 0 Fastened 1 Untie 2 Undecided If the sensor does not work after the ignition device is turned on. 3 reserve

[0707] Remark

[0708] • Cannot detect sensor malfunction

[0709] 3.3.2.46. Seatbelt (third one from the right) status

[0710] value

[0711] value describe Remark 0 Fastened 1 Untie 2 Undecided If the sensor does not work after the ignition device is turned on. 3 reserve

[0712] Remark

[0713] • Cannot detect sensor malfunction

[0714] 3.4. API for Power Control

[0715] 3.4.1. List of APIs for Power Control

[0716] 3.4.1.1. Input

[0717] Table 8. Input APIs for Power Control

[0718] Signal name describe redundancy Power mode command Commands to control the power mode of VP N / A

[0719] 3.4.1.2. Output

[0720] Table 9. Output APIs for Power Control

[0721] Signal name describe redundancy Power mode status The current power mode status of VP N / A

[0722] 3.4.2. Details of each API used for power control

[0723] 3.4.2.1. Power Mode Command

[0724] Request to control power mode

[0725] value

[0726] value describe Remark 0 No request 1 sleep Turn off the vehicle 2 wake Open VCIB 3 reserve Reserved for data expansion 4 reserve Reserved for data expansion 5 reserve Reserved for data expansion 6 drive Start the vehicle

[0727] Remark

[0728] ·exist Figure 8 The state machine diagram for the power mode is shown below.

[0729] [Sleep]

[0730] Vehicle power off. In this mode, the main battery does not supply power to any system, and the VCIB and other VP ECUs do not start.

[0731] [wake]

[0732] The VCIB is activated by the auxiliary battery. In this mode, ECUs other than the VCIB are not activated, except for some vehicle electronic ECUs.

[0733] [Driving Mode]

[0734] Vehicle powered on. In this mode, the main battery supplies power to the entire VP, and all VP ECUs, including the VCIB, are activated.

[0735] 3.4.2.2. Power Mode Status

[0736] value

[0737] value describe Remark 0 reserve 1 sleep 2 wake 3 reserve 4 reserve 5 reserve 6 drive 7 unknown This means that an unhealthy condition may occur.

[0738] Remark

[0739] After executing the sleep sequence, VCIB will continuously transmit [sleep] as the power mode state for 3000 [milliseconds]. Then, VCIB will shut down.

[0740] • While the VCIB is transmitting [sleep], the ADS will stop transmitting signals to the VCIB. 3.5. API for Fault Notification

[0741] 3.5.1. List of APIs used for fault notification

[0742] 3.5.1.1. Input

[0743] Table 10. Input APIs for Fault Notification

[0744] Signal name describe redundancy N / A N / A N / A

[0745] 3.5.1.2. Output

[0746] Table 11. Output APIs for Fault Notification

[0747] Signal name describe redundancy Request for ADS operation Already applied Impact detection signal N / A Performance degradation of the braking system Already applied Performance degradation of propulsion system N / A Performance degradation of the shift control system N / A Performance degradation of fixed systems Already applied Deterioration of steering system performance Already applied Power system performance degradation Already applied Performance degradation of communication systems Already applied

[0748] 3.5.2. Details of each API used for fault notification

[0749] 3.5.2.1. Requests for ADS Operations

[0750] value

[0751] value describe Remark 0 No request 1 Maintenance required 2 Need to return to the garage 3 Need to stop immediately other reserve

[0752] Remark

[0753] This signal indicates the expected behavior of ADS in response to a fault occurring in VP.

[0754] 3.5.2.2. Impact detection signal

[0755] value

[0756] value describe Remark 0 normal 5 Collision detection with airbags deployed 6 Collision detection with high-voltage circuit off 7 Invalid value other reserve

[0757] Remark

[0758] • When a collision detection event is generated, 50 signals are transmitted consecutively every 100 milliseconds. If the collision detection state changes before the signal transmission is complete, a higher priority signal is transmitted.

[0759] Priority: Collision detection > Normal

[0760] Regardless of the normal response during a collision, a 5-second transmission is required because a disconnect voltage request should be sent to the vehicle damage assessment system within 5 seconds after a collision in an HV vehicle.

[0761] The transmission interval is 100 milliseconds within the allowed delay time (1 second) for fuel cut-off action, enabling data to be transmitted more than 5 times.

[0762] In this situation, a momentary power outage should be considered.

[0763] 3.5.2.3. Performance deterioration of the braking system

[0764] value

[0765] value describe Remark 0 normal — 1 Degradation detected —

[0766] Remark

[0767] ·N / A

[0768] 3.5.2.4. Performance degradation of the propulsion system

[0769] value

[0770] value describe Remark 0 normal — 1 Degradation detected —

[0771] Remark

[0772] ·N / A

[0773] 3.5.2.5. Performance degradation of the shift control system

[0774] value

[0775] value describe Remark 0 normal — 1 Degradation detected —

[0776] Remark

[0777] ·N / A

[0778] 3.5.2.6. Performance degradation of fixed systems

[0779] value

[0780] value describe Remark 0 normal — 1 Degradation detected —

[0781] Remark

[0782] ·N / A

[0783] 3.5.2.7. Performance degradation of the steering system

[0784] value

[0785] value describe Remark 0 normal — 1 Degradation detected —

[0786] Remark

[0787] ·N / A

[0788] 3.5.2.8. Performance degradation value of power supply system

[0789] value describe Remark 0 normal — 1 Degradation detected —

[0790] Remark

[0791] ·N / A

[0792] 3.5.2.9. Performance degradation of communication systems

[0793] value

[0794] value describe Remark 0 normal — 1 Degradation detected —

[0795] Remark

[0796] ·N / A

[0797] 3.6. APIs for Security

[0798] 3.6.1. List of APIs for Security

[0799] 3.6.1.1. Input

[0800] Table 12. Input APIs for Security

[0801]

[0802] 3.6.1.2. Output

[0803] Table 13. Output APIs for Security

[0804]

[0805]

[0806] 3.6.2. Details of each API used for security

[0807] 3.6.2.1. Door lock (front) command, door lock (rear) command

[0808] value

[0809] value describe Remark 0 No request 1 locking Not supported in Toyota VP 2 Unlock 3 reserve

[0810] Remark

[0811] • If ADK requests to unlock the front, then both front doors will be unlocked.

[0812] • If ADK requests to unlock the rear, then unlock the second row of doors and the trunk door.

[0813] • If ADK requests to lock any door, the “Central Door Lock Command” should be used.

[0814] (The functionality for individual locks is not supported in Toyota VP.)

[0815] 3.6.2.2. Central door lock command

[0816] Request to control all door locks

[0817] value

[0818] value describe Remark 0 No request 1 Lock (All) 2 Unlock (all) 3 reserve

[0819] Remark

[0820] ·N / A

[0821] 3.6.2.3. Device authentication signature first word, device authentication signature second word, device authentication signature third word, device authentication signature fourth word, device authentication seed first word, device authentication seed second word

[0822] The first word of the device authentication signature exists in the first to eighth bytes of the signature.

[0823] The second word of the device authentication signature is present in bytes nine through sixteen of the signature.

[0824] The third word of the device authentication signature is located in bytes seventeen through twenty-four of the signature.

[0825] The fourth word of the device authentication signature is located in bytes 25 through 32 of the signature.

[0826] The first word of the device authentication seed exists in the first to eighth bytes of the seed.

[0827] The second word of the device authentication seed exists in bytes nine through sixteen of the seed.

[0828] 3.6.2.4. Door lock (first one on the left) status

[0829] value

[0830] value describe Remark 0 reserve 1 locking 2 Unlock 3 invalid

[0831] Remark

[0832] ·N / A

[0833] 3.6.2.5. Door lock (first one on the right) status

[0834] value

[0835] value describe Remark 0 reserve 1 locking 2 Unlock 3 invalid

[0836] Remark

[0837] ·N / A

[0838] 3.6.2.6. Door lock (second from the left) status

[0839] value

[0840]

[0841]

[0842] Remark

[0843] ·N / A

[0844] 3.6.2.7. Door lock (second from the right) status

[0845] value

[0846] value describe Remark 0 reserve 1 locking 2 Unlock 3 invalid

[0847] Remark

[0848] ·N / A

[0849] 3.6.2.8. Door lock status of all departments

[0850] value

[0851] value describe Remark 0 reserve 1 Lock all 2 Unlock any door 3 invalid

[0852] Remark

[0853] • "Any door unlocked" if any door is unlocked.

[0854] • When all departments are locked down, “all departments are locked down”.

[0855] 3.6.2.9. Alarm System Status

[0856] value

[0857] value describe Remark 0 All Alert The alarm system is not activated. 1 alert The alarm system was activated but no alarm was issued. 2 start up The alarm system is activated, and the alarm beeps. 3 invalid

[0858] Remark

[0859] ·N / A

[0860] 3.6.2.9.1. Short-range odometer

[0861] The counter is incremented in short increments by the freshness value management main ECU.

[0862] value

[0863] 0-FFFFh

[0864] Remark

[0865] This value is used to create the freshness value.

[0866] For more details, please refer to other materials [Toyota's MAC module specifications].

[0867] 3.6.2.9.2. Reset the counter

[0868] This counter is periodically incremented by the main ECU, which manages the freshness value.

[0869] value

[0870] 0-FFFFFh

[0871] Remark

[0872] This value is used to create the freshness value.

[0873] For more details, please refer to other materials [Toyota's MAC module specifications].

[0874] 3.6.2.10. The first door on the left is open.

[0875] The current open / closed status of the first door on the left side of the vehicle platform.

[0876] value

[0877] value describe Remark 0 reserve 1 Open 2 closure 3 invalid

[0878] Remark

[0879] N / A

[0880] 3.6.2.11. The first door on the right is open.

[0881] The current open / closed status of the first door on the right.

[0882] value

[0883] value describe Remark 0 reserve 1 Open 2 closure 3 invalid

[0884] Remark

[0885] N / A

[0886] 3.6.2.12. The second door on the left is open.

[0887] The current open / closed status of the second door on the left.

[0888] value

[0889]

[0890]

[0891] Remark

[0892] N / A

[0893] 3.6.2.13. The second door on the right is open.

[0894] The current open / closed status of the second door on the right.

[0895] value

[0896] value describe Remark 0 reserve 1 Open 2 closure 3 invalid

[0897] Remark

[0898] N / A

[0899] 3.6.2.14. Trunk Status

[0900] Current trunk door open / closed status

[0901] value

[0902] value describe Remark 0 reserve 1 Open 2 closure 3 invalid

[0903] Remark

[0904] N / A

[0905] 3.6.2.15. Engine hood open

[0906] Current engine hood open / closed status

[0907] value

[0908] value describe Remark 0 reserve 1 Open 2 closure 3 invalid

[0909] Remark

[0910] N / A

[0911] 4. API Guidelines for Controlling Toyota Vehicles

[0912] This section details how to use the API for Toyota vehicles.

[0913] 4.1. APIs for Vehicle Motion Control

[0914] 4.1.1. List of APIs used for vehicle motion control

[0915] The input and output APIs for vehicle motion control are shown in Tables 14 and 15, respectively. Usage guidelines for some APIs appear in the following sections as indicated in each table.

[0916] 4.1.1.1. Input

[0917] Table 14. Input APIs for Vehicle Motion Control

[0918]

[0919]

[0920] *Response time in VP based on the request from ADK

[0921] 4.1.1.2. Output

[0922] Table 15. Input APIs for Vehicle Motion Control

[0923]

[0924]

[0925]

[0926] 4.1.2. API Details for Vehicle Motion Control

[0927] 4.1.2.1. Pulse Direction Command

[0928] For values ​​and notes, please refer to section 3.2.2.1.

[0929] Figure 9 The detailed shift sequence is shown.

[0930] The acceleration command requests initial deceleration and a vehicle stop. When the driving direction is set to "Stand," any gear can be requested via the propulsion direction command. Figure 9 In Chinese, “D” → “R”.

[0931] The acceleration command needs to be used to request deceleration until the gear shift is complete.

[0932] After changing gears, you can select to accelerate or decelerate based on the acceleration command.

[0933] When the vehicle is in autonomous mode, it does not accept driver gear shifting.

[0934] 4.1.2.2. Fixed Commands

[0935] For values ​​and notes, please refer to 3.2.2.2.

[0936] Figure 10 This shows how to enable / disable pinned features.

[0937] An acceleration command is used to request deceleration to bring the vehicle to a stop. When the vehicle speed reaches zero, the stationary function is activated by the stationary command = "Applied". The acceleration command is set to decelerate until the stationary state is set to "Applied".

[0938] When deactivating the fixed function, it is necessary to request the fixed command = "deactivated" and at the same time set the acceleration command to decelerate until the fixed status is confirmed = "deactivated".

[0939] After the fixed function is disabled, the vehicle can be accelerated / decelerated based on the acceleration command.

[0940] 4.1.2.3. Static Command

[0941] For values ​​and notes, please refer to 3.2.2.3.

[0942] When the stationary command is set to "applied", the brake holding function can be prepared for use, and the brake holding function is activated while the vehicle is stationary, with the acceleration command set to deceleration (<0). The stationary state then changes back to "applied". Conversely, when the stationary command is set to "deactivated", the brake holding function is deactivated.

[0943] Figure 11 The static sequence is shown.

[0944] To bring the vehicle to a stop, an acceleration command is used to request deceleration.

[0945] When the vehicle comes to a temporary stop, the driving direction changes to "stationary". Even during the "stationary state = applied" period, deceleration will be requested via an acceleration command.

[0946] If you want the vehicle to move forward, the acceleration command is set to accelerate (>0). Then the brake holding function is released and the vehicle is accelerated.

[0947] 4.1.2.4. Speed-up command

[0948] For values ​​and notes, please refer to 3.2.2.4.

[0949] The following shows what the vehicle does when the accelerator pedal is pressed.

[0950] When the accelerator pedal is engaged, select either 1) the maximum acceleration value calculated based on the accelerator pedal travel, or 2) the maximum acceleration value input from the ADK acceleration command. The ADK can determine which value to select by checking the engagement of the accelerator pedal.

[0951] The following shows what the vehicle does when the brake pedal is operated.

[0952] The vehicle's deceleration value is the sum of 1) the value calculated based on the brake pedal travel and 2) the value requested by ADK.

[0953] 4.1.2.5. Front wheel steering angle command

[0954] For values ​​and notes, please refer to 3.2.2.5.

[0955] The following shows how to use the front wheel steering angle command.

[0956] The front wheel steering angle command is set to a value relative to the front wheel steering angle.

[0957] For example, when the front wheel steering angle is 0.1 radians and the vehicle is traveling straight;

[0958] If ADK wants to go straight, the front wheel steering angle command will be set to 0 + 0.1 = 0.1 [radians].

[0959] If ADK requests a steering angle of -0.3 radians, the front wheel steering angle command will be set to -0.3 + 0.1 = -0.2 radians.

[0960] The following illustrates how the vehicle behaves when the driver operates the steering mechanism.

[0961] Choose the maximum value from 1) the value calculated based on the driver's steering wheel operation, or 2) the value requested by ADK.

[0962] Note that if the driver applies strong pressure to the steering wheel, the driver will not accept the front wheel steering angle command. This situation can be detected by intervening through the steering wheel indicator.

[0963] 4.1.2.6. Vehicle Mode Command

[0964] exist Figure 12 The diagram shows the state machine for mode transitions in Autono-MaaS vehicles.

[0965] The description of each state is shown below.

[0966]

[0967]

[0968] The descriptions for each conversion are shown below.

[0969]

[0970] 4.2. APIs for Body Control

[0971] 4.2.1. List of APIs used for vehicle body control

[0972] 4.2.1.1. Input

[0973] Table 16. Input APIs for Body Control

[0974]

[0975]

[0976] 4.2.1.2. Output

[0977] Table 17. Output APIs for Body Control

[0978]

[0979]

[0980] 4.3. API for Power Control

[0981] 4.3.1. List of APIs for Power Control

[0982] 4.3.1.1. Input

[0983] Table 18. Input APIs for Power Control

[0984] Signal name describe redundancy User Guide Power mode command Commands to control the power mode of VP N / A —

[0985] 4.3.1.2. Output

[0986] Table 19. Output APIs for Power Control

[0987] Signal name describe redundancy User Guide Power mode status The current power mode status of VP N / A —

[0988] 4.4. API for Fault Notification

[0989] 4.4.1. List of APIs used for fault notification

[0990] 4.4.1.1. Input

[0991] Table 20. Input APIs for Fault Notification

[0992] Signal name describe redundancy User Guide N / A — — —

[0993] 4.4.1.2. Output

[0994] Table 21. Output APIs for Fault Notification

[0995] Signal name describe redundancy User Guide Request for ADS operation — Already applied — Impact detection signal — N / A — Performance degradation of the braking system — Already applied — Performance degradation of propulsion system — N / A — Performance degradation of the shift control system — N / A — Performance degradation of fixed systems — Already applied — Deterioration of steering system performance Already applied — Power system performance degradation Already applied — Performance degradation of communication systems Already applied —

[0996] 4.5. APIs for Security

[0997] 4.5.1. List of APIs for Security

[0998] The input and output APIs for security are shown in Tables 22 and 23, respectively. Usage guidelines for some APIs appear in the following sections as indicated in each table.

[0999] 4.5.1.1. Input

[1000] Table 22. Input APIs for Security

[1001]

[1002] 4.5.1.2. Output

[1003] Table 23. Output APIs for Security

[1004]

[1005]

[1006] 4.5.2. Detailed Guidelines for Secure APIs

[1007] 4.5.2.1. Device Authentication Protocol

[1008] When VCIB is started from "sleep" mode, the application device is authenticated.

[1009] After successful authentication, VCIB is able to begin communicating with ADK.

[1010] exist Figure 13 The authentication process is shown in the authentication process diagram.

[1011] Certification Standards

[1012]

[1013]

[1014] Although embodiments of this disclosure have been described, it should be understood that the embodiments disclosed herein are illustrative and not restrictive in all respects. The scope of this disclosure is defined by the terminology of the claims and is intended to include any modifications within the equivalent scope and meaning of the terminology of the claims.

Claims

1. An autonomous driving kit, capable of attaching to and detaching from a vehicle platform, the autonomous driving kit issuing commands to the vehicle platform for autonomous driving, the vehicle platform including a steering system for steering the vehicle platform, the autonomous driving kit comprising: Computing components; as well as A communication module, configured to communicate with the vehicle platform, wherein... The computing component The torque value related to the steering system is obtained from the vehicle platform via the communication module. The communication module sends wheel steering angle commands to the vehicle platform, the wheel steering angle commands indicating the wheel steering angle based on the autonomous driving plan and the obtained torque value. When it is determined, based on the obtained torque value, that the user has intervened in the steering of the autonomous driving system by operating the steering wheel, a wheel steering angle command is sent to the vehicle platform via the communication module. The wheel steering angle command indicates the same steering angle as the previous control cycle or sets the steering angle to a value that does not indicate a steering angle.

2. The autonomous driving kit according to claim 1, wherein The steering system includes a sensor for detecting steering torque, and The torque value is the value detected by the sensor.

3. The autonomous driving kit according to claim 1, wherein The steering system includes a steering motor, and The torque value is estimated based on the current value of the steering motor.

4. The autonomous driving kit according to claim 1, wherein The steering system includes a steering motor, and The torque value is the maximum steering torque that the steering motor can output.

5. A vehicle comprising the autonomous driving kit according to claim 1.

6. A vehicle platform communicating with an autonomous driving kit, the vehicle platform configured to allow autonomous driving based on instructions for autonomous driving from the autonomous driving kit, the autonomous driving kit being attachable to and detachable from the vehicle platform, the vehicle platform comprising: A steering system for steering the vehicle platform; as well as The vehicle control interface box provides control commands for controlling the steering system, wherein The vehicle control interface box Based on a request from the autonomous driving suite, the autonomous driving suite sends a torque value related to the steering system from the vehicle platform to the autonomous driving suite, and the autonomous driving suite receives the torque value. The steering system is provided with control commands based on wheel steering angle commands received from the autonomous driving suite, the wheel steering angle commands indicating the wheel steering angle according to the autonomous driving driving plan and the torque value, and When it is determined, based on the obtained torque value, that the user has intervened in the steering of the autonomous driving system by operating the steering wheel, a control command is provided to the steering system according to the wheel steering angle command received from the autonomous driving suite. The wheel steering angle command indicates the same steering angle as the previous control cycle or sets the steering angle to a value that does not indicate a steering angle.

7. The vehicle platform according to claim 6, wherein The steering system includes a sensor for detecting steering torque, and The torque value is the value detected by the sensor.

8. The vehicle platform according to claim 6, wherein The steering system includes a steering motor, and The torque value is estimated based on the current value of the steering motor.

9. The vehicle platform according to claim 6, wherein The steering system includes a steering motor, and The torque value is the maximum steering torque that the steering motor can output.

10. A vehicle comprising the vehicle platform according to claim 6.

11. A vehicle control interface box that communicates with an autonomous driving kit and issues autonomous driving commands to a vehicle platform based on autonomous driving commands from the autonomous driving kit, the autonomous driving kit being attachable to and detachable from the vehicle platform, the vehicle platform including a steering system for steering the vehicle platform, the vehicle control interface box comprising: processor; as well as A memory, in which programs executable by the processor are stored, wherein According to the program stored in the memory, the processor Based on a request from the autonomous driving suite, the autonomous driving suite sends a torque value related to the steering system from the vehicle platform to the autonomous driving suite, and the autonomous driving suite receives the torque value. The steering system is provided with control commands based on wheel steering angle commands received from the autonomous driving suite, the wheel steering angle commands indicating the wheel steering angle according to the autonomous driving driving plan and the torque value, and When it is determined, based on the obtained torque value, that the user has intervened in the steering of the autonomous driving system by operating the steering wheel, a control command is provided to the steering system according to the wheel steering angle command received from the autonomous driving suite. The wheel steering angle command indicates the same steering angle as the previous control cycle or sets the steering angle to a value that does not indicate a steering angle.