This nonprovisional application is based on Japanese Patent Application No. 2021-157538 filed with the Japan Patent Office on Sep. 28, 2021, the entire contents of which are hereby incorporated by reference.
The present disclosure relates to a vehicle platform configured such that an autonomous driving system is mountable thereon, a vehicle control interface box that interfaces between a vehicle platform and an autonomous driving system mounted on the vehicle platform, and an autonomous driving system configured as being mountable on a vehicle platform.
Japanese Patent Laying-Open No. 2018-132015 discloses a vehicle incorporating an autonomous driving system. The vehicle incorporates a motive power system, a power supply system, and the autonomous driving system. The motive power system manages motive power of the vehicle in a centralized manner. The power supply system manages charging power or discharged power of a battery mounted on the vehicle and supply of electric power to various vehicle-mounted devices in a centralized manner. The autonomous driving system carries out autonomous driving control of the vehicle in a centralized manner. An engine ECU of the motive power system, a power supply ECU of the power supply system, and an autonomous driving ECU of the autonomous driving system are communicatively connected to one another over a vehicle-mounted network.
An autonomous driving system developed by an autonomous driving system developer may externally be attached to a vehicle. In this case, autonomous driving is carried out under vehicle control in accordance with a command from the externally attached autonomous driving system.
In such a vehicle, an interface for various commands and signals exchanged between the externally attached autonomous driving system and the vehicle is important. When a driver input (an operation by a user) for switching between on and off of a vehicle is provided while the externally attached autonomous driving system is controlling a power mode of a vehicle platform, a power status of the vehicle may make transition regardless of control by the autonomous driving system. Consequently, an unintended malfunction may be caused.
The present disclosure was made to solve a problem as above, and an object thereof is to prevent an unintended malfunction from being caused in a vehicle platform on which an autonomous driving system is mounted when a power status of a vehicle makes transition regardless of control by the autonomous driving system while the autonomous driving system is controlling a power mode of the vehicle platform.
Another object of the present disclosure is to prevent an unintended malfunction from being caused in a vehicle control interface box that interfaces between a vehicle platform and an autonomous driving system mounted on the vehicle platform when a power status of a vehicle makes transition regardless of control by the autonomous driving system while the autonomous driving system is controlling a power mode of the vehicle platform.
Another object of the present disclosure is to prevent an unintended malfunction from being caused in an autonomous driving system mounted on a vehicle platform when a power status of a vehicle makes transition regardless of control by the autonomous driving system while the autonomous driving system is controlling a power mode of the vehicle platform.
A vehicle platform in the present disclosure is configured such that an autonomous driving system is mountable thereon. The vehicle platform includes a vehicle and a vehicle control interface box. The vehicle control interface box interfaces between the vehicle and the autonomous driving system. The vehicle control interface box provides a signal that indicates a driver input onto a button for switching between on and off of the vehicle to the autonomous driving system.
With the configuration above, the signal that indicates the driver input onto the button is transmitted to the autonomous driving system. This signal represents the fact that transition of the power status of the vehicle has been caused by the driver input. Therefore, the autonomous driving system can be notified that transition of the power status of the vehicle has been caused by the driver input.
A vehicle control interface box in the present disclosure interfaces between a vehicle included in a vehicle platform on which an autonomous driving system is mountable and the autonomous driving system. The vehicle control interface box includes a processor and a memory. A program executed by the processor is stored in the memory. The processor provides a signal that indicates a driver input onto a button for switching between on and off of the vehicle to the autonomous driving system in accordance with the program.
An autonomous driving system in the present disclosure is configured as being mountable on a vehicle platform. The vehicle platform includes a vehicle and a vehicle control interface box that interfaces between the vehicle and the autonomous driving system. The autonomous driving system includes a compute assembly and a communication module. The communication module communicates with the vehicle control interface box. The compute assembly is programmed to receive a signal that indicates a driver input onto a button for switching between on and off of the vehicle from the vehicle control interface box through the communication module.
When the compute assembly receives the signal that indicates the driver input a prescribed number of times or more within a prescribed time period, the compute assembly may determine that the button is held.
With the configuration above, the vehicle platform can notify the autonomous driving system that the button is held.
The foregoing and other objects, features, aspects and advantages of the present disclosure will become more apparent from the following detailed description of the present disclosure when taken in conjunction with the accompanying drawings.
An embodiment of the present disclosure will be described below in detail with reference to the drawings. The same or corresponding elements in the drawings have the same reference characters allotted and description thereof will not be repeated.
VP 120 can carry out autonomous driving in accordance with control requests (commands) from ADK 200. Though
ADK 200 includes an autonomous driving system (which is denoted as “ADS” below) 202 for autonomous driving of vehicle 10 (base vehicle 100). For example, ADS 202 creates a driving plan of vehicle 10. Then, ADS 202 outputs various commands (control requests) for travel of vehicle 10 in accordance with the created driving plan to VP 120 in accordance with an application program interface (API) defined for each command. ADS 202 receives various signals indicating statuses (vehicle statuses) of VP 120 from VP 120 in accordance with the API defined for each signal. Then, ADS 202 has the received vehicle status reflected on creation of the driving plan. A detailed configuration of ADS 202 will be described later.
VP 120 includes base vehicle 100 and vehicle control interface box (which is denoted as “VCIB” below) 111.
Base vehicle 100 carries out various types of vehicle control in accordance with a control request from ADK 200 (ADS 202). Base vehicle 100 includes various systems and various sensors for controlling the vehicle. Specifically, base vehicle 100 includes an integrated control manager 115, a brake system 121, a steering system 122, a powertrain system 123, an active safety system 125, a body system 126, wheel speed sensors 127A and 127B, a pinion angle sensor 128, a camera 129A, and radar sensors 129B and 129C.
Integrated control manager 115 includes a processor and a memory, and integrally controls the systems (brake system 121, steering system 122, powertrain system 123, active safety system 125, and body system 126) involved with operations of the vehicle.
Brake system 121 is configured to control a braking apparatus provided in each wheel. The braking apparatus includes, for example, a disc brake system (not shown) that is operated with a hydraulic pressure regulated by an actuator.
Wheel speed sensors 127A and 127B are connected to brake system 121. Wheel speed sensor 127A detects a rotation speed of a front wheel and outputs a detection value thereof to brake system 121. Wheel speed sensor 127B detects a rotation speed of a rear wheel and outputs a detection value thereof to brake system 121.
Brake system 121 generates a braking command to a braking apparatus in accordance with a prescribed control request outputted from ADK 200 through VCIB 111 and integrated control manager 115. Brake system 121 then controls the braking apparatus based on the generated braking command. Integrated control manager 115 can calculate a speed of the vehicle (vehicle speed) based on the rotation speed of each wheel.
Steering system 122 is configured to control a steering angle of a steering wheel of the vehicle with a steering apparatus. The steering apparatus includes, for example, rack-and-pinion electric power steering (EPS) that allows adjustment of a steering angle by an actuator.
Pinion angle sensor 128 is connected to steering system 122. Pinion angle sensor 128 detects an angle of rotation of a pinion gear (a pinion angle) coupled to a rotation shaft of the actuator included in the steering apparatus and outputs a detection value thereof to steering system 122.
Steering system 122 generates a steering command to the steering apparatus in accordance with a prescribed control request outputted from ADK 200 through VCIB 111 and integrated control manager 115. Then, steering system 122 controls the steering apparatus based on the generated steering command.
Powertrain system 123 controls an electric parking brake (EPB) system provided in at least one of a plurality of wheels, a parking lock (P-Lock) system provided in a transmission of base vehicle 100, and a propulsion system including a shift apparatus for selecting a shift range. A detailed configuration of powertrain system 123 will be described later with reference to
Active safety system 125 detects an obstacle (a pedestrian, a bicycle, a parked vehicle, a utility pole, or the like) in front or in the rear of the vehicle with the use of camera 129A and radar sensors 129B and 129C. Active safety system 125 determines whether or not vehicle 10 may collide with the obstacle based on a distance between vehicle 10 and the obstacle and a direction of movement of vehicle 10. Then, when active safety system 125 determines that there is possibility of collision, it outputs a braking command to brake system 121 through integrated control manager 115 so as to increase braking force of the vehicle.
Body system 126 is configured to control, for example, components such as a direction indicator, a horn, and a wiper (none of which is shown), depending on a traveling state of vehicle 10 or an environment around vehicle 10. Body system 126 controls each component in accordance with a prescribed control request outputted from ADK 200 through VCIB 111 and integrated control manager 115.
VCIB 111 is configured to communicate with ADS 202 of ADK 200 over a controller area network (CAN). VCIB 111 receives various control requests from ADS 202 or outputs a status of VP 120 to ADS 202 by executing a prescribed API defined for each communicated signal. When VCIB 111 receives the control request from ADS 202, it outputs a control command corresponding to the control request to a system corresponding to the control command through integrated control manager 115. VCIB 111 obtains various types of information on base vehicle 100 from each system through integrated control manager 115 and outputs the status of base vehicle 100 as the vehicle status to ADS 202.
Vehicle 10 may be adopted as one of constituent elements of a mobility as a service (MaaS) system. The MaaS system further includes, for example, a data server and a mobility service platform (MSPF) (neither of which is shown), in addition to vehicle 10.
The MSPF is an integrated platform to which various mobility services are connected. Autonomous driving related mobility services are connected to the MSPF. In addition to the autonomous driving related mobility services, mobility services provided by a ride-share company, a car-sharing company, a rent-a-car company, a taxi company, and an insurance company may be connected to the MSPF. Various mobility services including mobility services can use various functions provided by the MSPF by using APIs published on the MSPF, depending on service contents.
VP 120 further includes a data communication module (DCM) (not shown) as a communication interface (I/F) to wirelessly communicate with a data server of the MaaS system. The DCM outputs various types of vehicle information such as a speed, a position, or an autonomous driving state to the data server. The DCM receives from the autonomous driving related mobility services through the MSPF and the data server, various types of data for management of travel of an autonomous driving vehicle including vehicle 10 in the mobility services.
The MSPF publishes APIs for using various types of data on vehicle statuses and vehicle control necessary for development of the ADK. Various mobility services can use various functions provided by the MSPF depending on service contents, by using the APIs published on the MSPF. For example, the autonomous driving related mobility services can obtain operation control data of an autonomous driving vehicle that communicates with the data server or information stored in the data server from the MSPF by using the APIs published on the MSPF. The autonomous driving related mobility services can transmit data for managing an autonomous driving vehicle including vehicle 10 to the MSPF by using the API.
Compute assembly 210 includes a memory and a processor, and communication modules 210A and 210B. A program executable by the processor is stored in the memory. The processor performs various types of processing in accordance with the program stored in the memory. Communication modules 210A and 210B are configured to communicate with VCIB 111. During autonomous driving of vehicle 10, compute assembly 210 obtains information indicating an environment around the vehicle and information indicating a pose, a behavior, and a position of vehicle 10 from various sensors (which will be described later), and obtains a vehicle status from VP 120 through VCIB 111 and sets a next operation (acceleration, deceleration, or turning) of vehicle 10. Then, compute assembly 210 outputs various commands for realizing the set next operation to VCIB 111 in VP 120. Compute assembly 210 is configured to control a power mode of VP 120 while ADK 200 is attached to VP 120. Though the power mode of VP 120 is not necessarily identical to the power status of base vehicle 100, it is consistent with the power status of base vehicle 100 in the absence of a driver input onto a start/stop button 130 (which will be described later).
HMI 230 presents information to a user and accepts an operation by the user during autonomous driving, during driving requiring an operation by the user, or at the time of transition between autonomous driving and driving requiring an operation by the user. HMI 230 is constructed to be connected to an input and output apparatus (not shown) such as a touch panel display provided in VP 120.
Sensors for perception 260 are sensors that perceive an environment around the vehicle. Sensors for perception 260 include, for example, at least one of laser imaging detection and ranging (LIDAR), a millimeter-wave radar, and a camera.
The LIDAR refers to a distance measurement apparatus that measures a distance based on a time period from emission of pulsed laser beams (infrared rays) until return of the laser beams reflected by an object. The millimeter-wave radar is a distance measurement apparatus that measures a distance or a direction to an object by emitting radio waves short in wavelength to the object and detecting radio waves that return from the object. The camera is arranged, for example, on a rear side of a room mirror in a compartment and used for shooting the front of vehicle 10. As a result of image processing by artificial intelligence (AI) or an image processing processor onto images or video images shot by the camera, another vehicle, an obstacle, or a human in front of vehicle 10 can be recognized. Information obtained by sensors for perception 260 is outputted to compute assembly 210.
Sensors for pose 270 are sensors that detect a pose, a behavior, or a position of vehicle 10. Sensors for pose 270 include, for example, an inertial measurement unit (IMU) and a global positioning system (GPS).
The IMU detects, for example, an acceleration in a front-rear direction, a lateral direction, and a vertical direction of vehicle 10 and an angular speed in a roll direction, a pitch direction, and a yaw direction of vehicle 10. The GPS detects a position of vehicle 10 based on information received from a plurality of GPS satellites that orbit the Earth. Information obtained by sensors for pose 270 is outputted to compute assembly 210.
Sensor cleaning 290 removes soiling attached to various sensors. Sensor cleaning 290 removes soiling attached to a lens of the camera or a portion from which laser beams or radio waves are emitted, for example, with a cleaning solution or a wiper.
VCIB 111 interfaces between base vehicle 100 and ADS 202. VCIB 111 includes a VCIB 111A and a VCIB 111B. Each of VCIBs 111A and 111B includes an electronic control unit (ECU). The ECU includes a processor such as a not-shown central processing unit (CPU) and a memory (a read only memory (ROM) and a random access memory (RAM)). A program executable by the processor is stored in the ROM. The processor performs various types of processing in accordance with the program stored in the ROM.
VCIBs 111A and 111B are communicatively connected to communication modules 210A and 210B of ADS 202, respectively. VCIB 111A and VCIB 111B are also communicatively connected to each other. Though VCIB 111B is equivalent in function to VCIB 111A, it is partially different in a plurality of systems connected to the VCIBs that make up VP 120.
VCIBs 111A and 111B each relay control requests and vehicle statuses between ADS 202 and VP 120. Specific description will be given representatively for VCIB 111A. VCIB 111A receives various control requests outputted from ADS 202 in accordance with an API defined for each control request. Then, VCIB 111A generates a command corresponding to the received control request and outputs the command to a system of base vehicle 100 corresponding to the control request. The control request (control command) received by VCIB 111A from ADS 202 includes a power mode command provided by ADS 202 to control the power mode of VP 120. ADS 202 can control the power mode of VP 120 based on this power mode command.
VCIB 111A receives vehicle information provided from each system of VP 120 and transmits (provides) information (signal) indicating the vehicle status of VP 120 to ADS 202 in accordance with an API defined for each vehicle status. The information indicating the vehicle status may be information identical to the vehicle information provided from each system of VP 120 or may be information extracted from the vehicle information to be used for processing performed by ADS 202. In the present embodiment, the vehicle status transmitted from VCIB 111 to ADS 202 includes a status of start/stop button 130 (which will be described later). This vehicle status may include the power status of base vehicle 100.
As VCIBs 111A and 111B equivalent in function relating to an operation of at least one of (for example, braking or steering) systems are provided, control systems between ADS 202 and VP 120 are redundant. Thus, when some kind of failure occurs in a part of the system, the function (turning or stopping) of VP 120 can be maintained by switching between the control systems as appropriate or disconnection of a control system where failure has occurred.
Brake system 121 includes brake systems 121A and 121B. Steering system 122 includes steering systems 122A and 122B. Powertrain system 123 includes an EPB system 123A, a P-Lock system 123B, and a propulsion system 124.
VCIB 111A is communicatively connected to brake system 121A, steering system 122A, EPB system 123A, P-Lock system 123B, propulsion system 124, body system 126, and start/stop button 130 through a communication bus. VCIB 111B is communicatively connected to brake system 121B, steering system 122B, P-Lock system 123B, and start/stop button 130 through a communication bus.
Brake systems 121A and 121B are configured to control a plurality of braking apparatuses provided in wheels. Brake system 121B may be equivalent in function to brake system 121A, or one of brake systems 121A and 121B may be configured to independently control braking force of each wheel during travel of the vehicle and the other thereof may be configured to control braking force such that equal braking force is generated in the wheels during travel of the vehicle.
Brake systems 121A and 121B each generate a braking command to the braking apparatus in accordance with a control request received from ADS 202 through VCIB 111. For example, brake systems 121A and 121B control the braking apparatus based on a braking command generated in one of the brake systems, and when a failure occurs in that brake system, the braking apparatus is controlled based on a braking command generated in the other brake system.
Steering systems 122A and 122B are configured to control a steering angle of a steering wheel of vehicle 10 with a steering apparatus. Steering system 122B is similar in function to steering system 122A.
Steering systems 122A and 122B each generate a steering command to the steering apparatus in accordance with a control request received from ADS 202 through VCIB 111. For example, steering systems 122A and 122B control the steering apparatus based on the steering command generated in one of the steering systems, and when a failure occurs in that steering system, the steering apparatus is controlled based on a steering command generated in the other steering system.
EPB system 123A is configured to control the EPB. The EPB is provided separately from the braking apparatus, and fixes a wheel by an operation of an actuator. The EPB, for example, activates a drum brake for a parking brake provided in at least one of a plurality of wheels to fix the wheel with an actuator, or activates a braking apparatus to fix a wheel with an actuator capable of regulating a hydraulic pressure to be supplied to the braking apparatus separately from brake systems 121A and 121B.
EPB system 123A controls the EPB in accordance with a control request received from ADS 202 through VCIB 111.
P-Lock system 123B is configured to control a P-Lock apparatus. The P-Lock apparatus fits a protrusion provided at a tip end of a parking lock pawl, a position of which is adjusted by an actuator, into a tooth of a gear (locking gear) provided as being coupled to a rotational element in the transmission of base vehicle 100. Rotation of an output shaft of the transmission is thus fixed and the wheel is fixed.
P-Lock system 123B controls the P-Lock apparatus in accordance with a control request received from ADS 202 through VCIB 111. When the control request from ADS 202 includes a request to set the shift range to a parking range (P range), P-Lock system 123B activates the P-Lock apparatus, and when the control request includes a request to set the shift range to a shift range other than the P range, it deactivates the P-Lock apparatus.
Propulsion system 124 is configured to switch a shift range with the use of a shift apparatus and to control driving force of vehicle 10 in a direction of movement of vehicle 10 that is generated from a drive source. Switchable shift ranges include, for example, the P range, a neutral range (N range), a forward travel range (D range), and a rearward travel range (R range). The drive source includes, for example, a motor generator and an engine.
Propulsion system 124 controls the shift apparatus and the drive source in accordance with a control request received from ADS 202 through VCIB 111.
Active safety system 125 is communicatively connected to brake system 121A. As described above, active safety system 125 detects an obstacle (an obstacle or a human) in front of the vehicle by using camera 129A and radar sensor 129B, and when it determines that there is possibility of collision based on a distance to the obstacle, it outputs a braking command to brake system 121A so as to increase braking force.
Body system 126 controls components such as a direction indicator, a horn, or a wiper in accordance with a control request received from ADS 202 through VCIB 111.
Start/stop button 130 is a button (switch) for switching between on and off of base vehicle 100 (in other words, switching the power status of base vehicle 100). Start/stop button 130 is also referred to as a “power switch” or an “ignition switch.” Start/stop button 130 is mounted on base vehicle 100 as a button to be pressed by the driver (user).
A status of start/stop button 130 includes an on status and an off status. The on status refers to such a status that start/stop button 130 is pressed by the driver (a pressed status). In other words, the on status refers to a status that the driver input onto this button is present. The off status refers to a status that start/stop button 130 is not pressed by the driver (a non-pressed status). In other words, the off status refers to a status that the driver input onto this button is absent. A signal SA represents a status of start/stop button 130 and it is provided from start/stop button 130 to VCIB 111. Specifically, while start/stop button 130 is in the on status, signal SA is at the H level (logic high). When start/stop button 130 is in the off status, signal SA is at the L level (logic low).
In the present embodiment, exemplary autonomous drive of vehicle 10 (base vehicle 100) at what is called Level 4 or lower is assumed. It is assumed that, during such autonomous driving, the driver input (pushing) onto start/stop button 130 is enabled. Therefore, the driver input provided based on the driver's intention causes transition (change) of the power status of base vehicle 100. Consequently, the power status of base vehicle 100 may make transition regardless of control by ADS 202 while ADS 202 is controlling the power mode of VP 120.
On the other hand, it is assumed that the driver input onto start/stop button 130 is disabled during autonomous driving (full driving automation) of vehicle 10 at what is called Level 5. In other words, start/stop button 130 is held. Therefore, during full driving automation of vehicle 10, this driver input does not cause transition of the power status of base vehicle 100. An example where start/stop button 130 is held will be described later in a modification of the embodiment.
For example, when an autonomous mode (an autonomous driving mode) is selected as an autonomous state by an operation by the user onto HMI 230 in vehicle 10 configured above, autonomous driving is carried out. During autonomous driving, ADS 202 initially creates a driving plan as described above. Examples of the driving plan include a plan to continue straight travel, a plan to turn left/right at a prescribed intersection on a predetermined travel path, and a plan to change a travel lane.
ADS 202 calculates a controllable physical quantity (an acceleration, a deceleration, and a wheel steer angle) necessary for operations of vehicle 10 in accordance with the created driving plan. ADS 202 splits the physical quantity for each execution cycle time of the API. ADS 202 outputs a control request representing the split physical quantity to VCIB 111 by means of the API. Furthermore, ADS 202 obtains a vehicle status (an actual direction of movement of the vehicle and a state of fixation of the vehicle) from VP 120 and creates again the driving plan on which the obtained vehicle status is reflected. ADS 202 thus allows autonomous driving of vehicle 10.
While ADS 202 (ADK 200) is externally attached to VP 120, autonomous driving of vehicle 10 (base vehicle 100) is carried out under vehicle control in accordance with a command from compute assembly 210 of ADS 202.
When a driver input (pushing of start/stop button 130) for switching between on and off of base vehicle 100 is provided while ADS 202 is controlling the power mode of VP 120, the power status of base vehicle 100 may make transition regardless of control by ADS 202. Consequently, the power mode of VP 120 becomes inconsistent with the power status of base vehicle 100, and hence an unintended malfunction may be caused. Therefore, ADS 202 is desirably notified that transition of the power status of base vehicle 100 has been caused by the driver input (that is, this transition is based on the driver's intention).
VCIB 111 according to the present embodiment provides a driver input signal SS indicating the status of start/stop button 130 to ADS 202. Specifically, the processor of VCIB 111 provides driver input signal SS to ADS 202 in accordance with the program stored in the memory of VCIB 111. Compute assembly 210 of ADS 202 is programmed to receive driver input signal SS from VCIB 111 through communication modules 210A and 210B.
Driver input signal SS includes a signal S0 and a signal S1. Signal S0 indicates absence of the driver input (pushing) onto start/stop button 130. Signal S1 indicates the driver input onto start/stop button 130. In this embodiment, for the sake of simplification of description, driver input signal SS is assumed as being the same as signal SA provided from start/stop button 130 to VCIB 111. Specifically, signal S0 is the same as signal SA at the L level and signal S1 is the same as signal SA at the H level.
According to the configuration above, when the driver input onto start/stop button 130 is provided, signal S1 is transmitted to ADS 202. Signal S1 represents that transition of the power status of base vehicle 100 has been caused by the driver input onto start/stop button 130. Therefore, ADS 202 can be notified that transition of the power status of base vehicle 100 has been caused by the driver input.
Value 0 represents off (the non-pressed status) of start/stop button 130. When driver input signal SS has the value 0, driver input signal SS is signal S0.
Value 1 represents on (the pressed status) of start/stop button 130. When driver input signal SS has the value 1, driver input signal SS is signal S1.
Value 2 represents occurrence of some unhealthy situation in a power supply of VP 120. In the description below, it is assumed that this unhealthy situation does not occur and the value of driver input signal SS is set to any one of 0 and 1.
Referring to
When the driver presses start/stop button 130 (an on operation) at time t1, the status of start/stop button 130 switches from the off status to the on status. Therefore, the value of driver input signal SS switches from 0 to 1.
During a period from time t1 to time t2, the driver presses start/stop button 130. During this period, the value of driver input signal SS is maintained at 1 (signal S1).
When start/stop button 130 is thus pressed, the driver may be desiring transition of the power status of base vehicle 100. Therefore, driver input signal SS (signal S1) having the value 1 represents the driver's desire for transition of the power status of base vehicle 100.
When signal S1 is provided, ADS 202 may estimate the power status of base vehicle 100 desired by the driver and control the power mode of VP 120 to be consistent with the estimated power status. By way of example, when signal S1 is provided while base vehicle 100 is in a Ready-ON status, ADS 202 estimates that the driver desires transition of the power status of base vehicle 100 to a power off status. The power off status refers to a status that each system (ECU) of base vehicle 100 is off. Then, ADS 202 controls the power mode of VP 120 to a sleep (Sleep) mode to be consistent with the power status (power off status) of base vehicle 100 resulting from transition.
When the driver no longer presses start/stop button 130 at time t2, the status of start/stop button 130 switches from the on status to the off status. Therefore, the value of driver input signal SS switches from 1 to 0. Thereafter, in this example, the value of driver input signal SS is kept at 0 (signal S0).
Referring to
When start/stop button 130 is off (NO in step S10), the processor of VCIB 111 provides signal S0 indicating absence of the driver input onto start/stop button 130 to ADS 202 (step S15). In the present embodiment, signal S0 is the same as signal SA at the L level and it is provided to ADS 202 during the period from time t0 to time t1 and a period after time t2 in
When start/stop button 130 is on (YES in step S10), the processor of VCIB 111 provides signal S1 indicating the driver input onto start/stop button 130 to ADS 202 (step S20). In the present embodiment, signal S1 is the same as signal SA at the H level and it is provided to ADS 202 during the period from time t1 to time t2 in
When ADS 202 receives signal S1 in step S40, it may control the power mode of VP 120 to be consistent with the power status of base vehicle 100 resulting from transition.
As set forth above, VP 120 according to the present embodiment includes base vehicle 100 and VCIB 111. VCIB 111 provides signal S1 indicating the driver input onto start/stop button 130 to ADS 202.
With the configuration above, when the driver input (pushing) onto start/stop button 130 is provided, signal S1 is transmitted to ADS 202. Signal S1 represents that transition of the power status of base vehicle 100 has been caused by the driver input. Therefore, when the power status of base vehicle 100 makes transition regardless of control by ADS 202 while ADS 202 is controlling the power mode of VP 120, ADS 202 can be notified that transition of the power status of base vehicle 100 has been caused by the driver input. Then, ADS 202 can determine that transition of the power status of base vehicle 100 has been caused by the driver input.
Inconsistency between the power mode of VP 120 and the power status of base vehicle 100 may cause an unintended malfunction. In contrast, in the present embodiment, even though they are inconsistent with each other, ADS 202 can determine that transition of the power status of base vehicle 100 has been caused by the driver input (that is, based on the driver's intention). Then, ADS 202 can carry out various types of control (for example, control to change the power mode of VP 120 such that the power mode of VP 120 is consistent with the power status of base vehicle 100, with highest priority being placed on the driver's intention), for example, so as not to cause the malfunction above.
Furthermore, ADS 202 can confirm absence of a security problem such as hacking of the power status of base vehicle 100 from the outside of vehicle 10, based on a result of determination above.
While ADS 202 is controlling the power mode of VP 120, start/stop button 130 may be held such that the power status of base vehicle 100 is not affected by the driver input onto start/stop button 130 (for example, during full driving automation). At that time, compute assembly 210 of ADS 202 is preferably able to determine that start/stop button 130 is held.
In the embodiment described above, the value of driver input signal SS (
In this modification, compute assembly 210 of ADS 202 determines that start/stop button 130 is held when it receives signal S1 a prescribed number of times or more within a prescribed time period, which will be described in detail below.
Referring to
When the driver presses start/stop button 130 (an on operation) at time t11, the value of driver input signal SS switches from 0 to 1 (signal S0 switches to signal S1). On the other hand, in this example, start/stop button 130 is held. Therefore, the power status of base vehicle 100 does not make transition (vary) in spite of pushing of start/stop button 130 by the driver.
During a period from time t11 to time t12, the driver performs the on operation, and at time t12, this operation ends (signal S1 switches to signal S0). During this period, the power status of base vehicle 100 does not make transition.
In this example, the driver attempts to vary the power status of base vehicle 100 with his/her own intention also after time t12. Specifically, the driver presses start/stop button 130 over and over again during a period from time t12 to time t14 and a period from time t14 to time t16 as during the period from time t10 to time 12. Consequently, VCIB 111 receives signal S1 three times (corresponding to N times in the figure) within a prescribed time period PP. In the present embodiment, the prescribed number of times is assumed as two. Therefore, the three times is larger than the prescribed number of times.
Compute assembly 210 of ADS 202 determines that it has received signal S1 the prescribed number of times or more within prescribed time period PP. Then, compute assembly 210 determines that the reason why it received signal S1 over and over again is because the driver input was provided over and over again in such a situation that the driver input onto start/stop button 130 had not varied the power status of base vehicle 100. Then, compute assembly 210 determines that start/stop button 130 is held.
Referring to
When compute assembly 210 has not received signal S1 the prescribed number of times or more (NO in step S105), it quits the process in
As set forth above, in this modification, when compute assembly 210 of ADS 202 has received signal S1 the prescribed number of times or more within prescribed time period PP, it determines that start/stop button 130 is held.
VP 120 can thus notify ADS 202 that start/stop button 130 is held. Even when driver input signal SS does not have another value (a value different from 0 or 1 in
API Specification for TOYOTA Vehicle Platform
Ver. 1.1
1. Introduction
2. Structure
3. Application Interfaces
4. API Guides to Control Toyota Vehicles
1. Introduction
1.1. Purpose of this Specification
This document is an API specification of vehicle control interface for Autono-MaaS vehicles and contains outline, the way to use and note of APIs.
1.2. Target Vehicle
This specification is applied to the Autono-MaaS vehicles defined by [Architecture Specification for TOYOTA Vehicle Platform attached with Automated Driving System].
1.3. Definition of Term
2. Structure
2.1. Overall Structure of Autono-MaaS Vehicle
The overall structure of Autono-MaaS is shown (
2.2. System Structure of Autono-MaaS Vehicle
System Architecture is shown in
3. Application Interfaces
3.1. Typical Usage of APIs
In this section, Typical Usage of APIs is described.
A typical workflow of APIs is as follows (
3.2. APIs for vehicle motion control
In this section, the APIs for vehicle motion control are described.
3.2.1. API List for Vehicle Motion Control
3.2.1.1. Inputs
3.2.1.2 Outputs
3.2.2. Details of Each API for Vehicle Motion Control
3.2.2.1. Propulsion Direction Command
Request for shift change from/to forward (D range) to/from back (R range)
Values
Remarks
3.2.2.2. Immobilization Command
Request for turning on/off WheelLock
Values
The following table shows a case where EPB and Shift P are used for immobilization.
Remarks
3.2.2.3. Standstill Command
Request for applying/releasing brake holding function
Values
Remarks
3.2.2.4. Acceleration Command
Request for acceleration
Values
Estimated maximum deceleration to Estimated maximum acceleration [m/s2]
Remarks
3.2.2.5. Front Wheel Steer Angle Command
Values
Remarks
3.2.2.6. Vehicle Mode Command
Request for changing from/to manual mode to/from Autonomous Mode
Remarks
N/A
3.2.2.7. High Dynamics Command
If ADK would like to increase braking response performance* of VP, High Dynamics Command should be set to “High”.
*Reaction time in VP upon a request from ADK
Values
Remarks
N/A
3.2.2.8. Propulsion Direction Status
Current shift Status
Values
Remarks
3.2.2.9. Immobilization Status
Each immobilization system status
Values
The following table shows a case where EPB and Shift P are used for immobilization.
Remarks
3.2.2.10. Standstill Status
Status of Standstill
Values
Remarks
3.2.2.11. Estimated Gliding Acceleration
Acceleration calculated in VP in case that throttle is closed, considering slope, road load and etc.
Values
[unit: m/s2]
Remarks
3.2.2.12. Estimated Maximum Acceleration
Acceleration calculated in VP in case that throttle is fully open, considering slope, road load and etc.
Values
[unit: m/s2]
Remarks
3.2.2.13. Estimated Maximum Deceleration
Maximum deceleration calculated in VP in case that brake in VP is requested as maximum, considering slope, road load and etc.
Values
[unit: m/s2]
Remarks
3.2.2.14. Front wheel steer angle
Values
Remarks
3.2.2.15. Front wheel steer angle rate
Front wheel steer angle rate
Values
Remarks
3.2.2.16. Front wheel steer angle rate limitation
The limit of the Front wheel steer angle rate
Values
[unit: rad/s]
Remarks
The limitation is calculated from the “vehicle speed—steering angle rate” map as shown in following Table 5 and
A) At a low speed or stopped situation, use fixed value (0.751 [rad/s]).
B) At a higher speed, the steering angle rate is calculated from the vehicle speed using 3.432 m/s3.
3.2.2.17. Estimated maximum lateral acceleration
Values
[unit: m/s2] (fixed value: 3.432)
Remarks
3.2.2.18. Estimated maximum lateral acceleration rate
Values
[unit: m/s3] (fixed value: 3.432)
Remarks
3.2.2.19. Intervention of accelerator pedal
This signal shows whether the accelerator pedal is depressed by a driver (intervention).
Values
Remarks
3.2.2.20. Intervention of brake pedal
This signal shows whether the brake pedal is depressed by a driver (intervention).
Values
Remarks
3.2.2.21. Intervention of steering wheel
This signal shows whether the steering wheel is operated by a driver (intervention).
Values
Remarks
3.2.2.22. Intervention of shift lever
This signal shows whether the shift lever is controlled by a driver (intervention)
Values
Remarks
3.2.2.23. Wheel speed pulse (front left), Wheel speed pulse (front right), Wheel speed pulse (rear left), Wheel speed pulse (rear right)
Values
Remarks
3.2.2.24. Wheel rotation direction (front left), Wheel rotation direction (front right), Wheel rotation direction (Rear left), Wheel rotation direction (Rear right)
Values
Remarks
3.2.2.25. Traveling direction
Moving direction of vehicle
Values
Remarks
3.2.2.26. Vehicle velocity
Estimated longitudinal velocity of vehicle
Values
Remarks
3.2.2.27. Longitudinal acceleration
Estimated longitudinal acceleration of vehicle
Values
Remarks
3.2.2.28. Lateral acceleration lateral acceleration of vehicle
Values
Remarks
3.2.2.29. Yaw rate
Sensor value of yaw rate
Values
Remarks
3.2.2.30. Slipping Detection
Detection of tire glide/spin/skid
Values
Remarks
3.2.2.31. Vehicle mode state
Autonomous or manual mode
Values
Remarks
3.2.2.32. Readiness for autonomization
This signal shows whether a vehicle can change to Autonomous Mode or not
Values
Remarks
3.2.2.33. Failure status of VP functions for Autonomous Mode
This signal is used to show whether VP functions have some failures mode when a vehicle works as Autonomous Mode.
Values
Remarks
3.2.2.34. PCS Alert Status
Values
Remarks
N/A
3.2.2.35. PCS Preparation Status
Prefill Status as the preparation of PCS Brake
Values
Remarks
3.2.2.36. PCS Brake/PCS Brake Hold Status
Values
Remarks
N/A
3.2.2.37. ADS/PCS arbitration status
Arbitration status
Values
Remarks
3.3. APIs for BODY control
3.3.1. API List for BODY control
3.3.1.1. Inputs
3.3.1.2. Outputs
3.3.2. Details of Each API for BODY Control
3.3.2.1. Turnsignal command
Request to control turn-signal
Values
Remarks
3.3.2.2. Headlight command
Request to control headlight
Values
Remarks
3.3.2.3. Hazardlight command
Request to control hazardlight
Values
Remarks
3.3.2.4. Horn pattern command
Request to choose a pattern of ON-time and OFF-time per cycle
Values
Remarks
N/A
3.3.2.5. Horn cycle command
Request to choose the number of ON and OFF cycles
Values
0 to 7 [−]
Remarks
N/A
3.3.2.6. Continuous horn command
Request to turn on/off horn
Values
Remarks
3.3.2.7. Front windshield wiper command
Request to control front windshield wiper
Values
Remarks
3.3.2.8. Rear windshield wiper command
Request to control rear windshield wiper
Values
Remarks
3.3.2.9. HVAC (1st row) operation command
Request to start/stop 1st row air conditioning control
Values
Remarks
3.3.2.10. HVAC (2nd row) operation command
Request to start/stop 2nd row air conditioning control
Values
Remarks
3.3.2.11. Target temperature (1st left) command
Request to set target temperature in front left area
Values
Remarks
3.3.2.12. Target temperature (1st right) command
Request to set target temperature in front right area
Values
Remarks
3.3.2.13. Target temperature (2nd left) command
Request to set target temperature in rear left area
Values
Remarks
3.3.2.14. Target temperature (2nd right) command
Request to set target temperature in rear right area
Values
Remarks
3.3.2.15. HVAC fan (1st row) command
Request to set fan level of front AC
Values
Remarks
3.3.2.16. HVAC fan (2nd row) command
Request to set fan level of rear AC
Values
Remarks
3.3.2.17. Air outlet (1st row) command Request to set 1st row air outlet mode
Values
Remarks
3.3.2.18. Air outlet (2nd row) command
Request to set 2nd row air outlet mode
Values
Remarks
3.3.2.19. Air recirculation command
Request to set air recirculation mode
Values
Remarks
3.3.2.20. AC mode command
Request to set AC mode
Values
Remarks
3.3.2.21. Turnsignal status
Values
Remarks
N/A
3.3.2.22. Headlight status
Values
Remarks
N/A
3.3.2.23. Hazardlight status
Values
Remarks
N/A
3.3.2.24. Horn status
Values
Remarks
In the case that 3.3.2.4 the Horn Pattern Command is active, the Horn status is “1” even if there are OFF periods in some patterns.
3.3.2.25. Front windshield wiper status
Values
Remarks
N/A
3.3.2.26. Rear windshield wiper status
Values
Remarks
N/A
3.3.2.27. HVAC (1st row) status
Values
Remarks
3.3.2.28. HVAC (2nd row) status
Values
Remarks
3.3.2.29. Target Temperature (1st left) status
Values
Remarks
Values
Remarks
3.3.2.31. Target Temperature (2nd left) status
Values
Remarks
3.3.2.32. Target Temperature (2nd right) status
Values
Remarks
3.3.2.33. HVAC fan (1st row) status
Values
Remarks
3.3.2.34. HVAC fan (2nd row) status
Values
Remarks
3.3.2.35. Air outlet (1st row) status
Values
Remarks
3.3.2.36. Air outlet (2nd row) status
Values
Remarks
3.3.2.37. Air recirculation status
Values
Remarks
3.3.2.38. AC mode status
Values
Remarks
3.3.2.39. Seat occupancy (1st right) status
Values
Remarks
3.3.2.40. Seat belt (1st left) status
Values
Remarks
N/A
3.3.2.41. Seat belt (1st right) status
Values
Remarks
N/A
3.3.2.42. Seat belt (2nd left) status
Values
Remarks
3.3.2.43. Seat belt (2nd right) status
Values
Remarks
3.3.2.44. Seat belt (3rd left) status
Values
Remarks
3.3.2.45. Seat belt (3rd center) status
Values
Remarks
3.3.2.46. Seat belt (3rd right) status
Values
Remarks
3.4. APIs for Power control
3.4.1. API List for Power control
3.4.1.1. Inputs
3.4.1.2. Outputs
3.4.2. Details of each API for Power control
3.4.2.1. Power mode command
Request to control power mode
Values
Remarks
[Sleep]
Vehicle power off condition. In this mode, the main battery does not supply power to each system, and neither VCIB nor other VP ECUs are activated.
[Wake]
VCIB is awake by the auxiliary battery. In this mode, ECUs other than VCIB are not awake except for some of the body electrical ECUs.
[Driving Mode]
Vehicle power on condition. In this mode, the main battery supplies power to the whole VP and all the VP ECUs including VCIB are awake.
3.4.2.2. Power mode status
Values
Remarks
3.5. APIs for Failure Notification
3.5.1. API List for Failure Notification
3.5.1.1. Inputs
3.5.1.2. Outputs
3.5.2. Details of each API for Failure Notification
3.5.2.1. Request for ADS Operation
Values
Remarks
3.5.2.2. Impact detection signal
Values
Remarks
Priority: crash detection>normal
Transmission interval is 100 ms within fuel cutoff motion delay allowance time (1 s) so that data can be transmitted more than 5 times.
In this case, an instantaneous power interruption is taken into account.
3.5.2.3. Performance deterioration of brake system
Values
Remarks
3.5.2.4. Performance deterioration of propulsion system
Values
Remarks
3.5.2.5. Performance deterioration of shift control system
Values
Remarks
3.5.2.6. Performance deterioration of immobilization system
Values
Remarks
3.5.2.7. Performance deterioration of Steering system
Values
Remarks
3.5.2.8. Performance deterioration of power supply system
Values
Remarks
3.5.2.9. Performance deterioration of communication system
Values
Remarks
3.6. APIs for Security
3.6.1. API List for Security
3.6.1.1. Inputs
3.6.1.2. Outputs
3.6.2. Details of Each API for Security
3.6.2.1. Door Lock (front) command, Door Lock (rear) command
Values
Remarks
(The functionality for individual locking is not supported in Toyota VP.)
3.6.2.2. Central door lock command
Request to control all doors' lock
Values
Remarks
3.6.2.3. Device Authentication Signature the 1st word, Device Authentication Signature the 2nd word, Device Authentication Signature the 3rd word, Device Authentication Signature the 4th word, Device Authentication Seed the 1st word, Device Authentication Seed the 2nd word
Device Authentication Signature the 1st word is presented in from 1st to 8th bytes of the signature.
Device Authentication Signature the 2nd word is presented in from 9th to 16th bytes of the signature.
Device Authentication Signature the 3rd word is presented in from 17th to 24th bytes of the signature.
Device Authentication Signature the 4th word is presented in from 25th to 32nd bytes of the signature.
Device Authentication Seed the 1st word is presented in from 1st to 8th bytes of the seed.
Device Authentication Seed the 2nd word is presented in from 9th to 16th bytes of the seed.
3.6.2.4. Door lock (1st left) status
Values
Remarks
3.6.2.5. Door lock (1st right) status
Values
Remarks
3.6.2.6. Door lock (2nd left) status
Values
Remarks
3.6.2.7. Door lock (2nd right) status
Values
Remarks
3.6.2.8. Door lock status of all doors
Values
Remarks
3.6.2.9. Alarm system status
Values
Remarks
N/A
3.6.2.9.1. Trip Counter
This counter is incremented in a unit of trips by the Freshness Value management master ECU.
Values
0—FFFFh
Remarks
3.6.2.9.2. Reset Counter
This counter is incremented periodically by the Freshness Value management master ECU.
Values
0—FFFFFh
Remarks
3.6.2.10. 1st Left Door Open Status Status of the current 1st-left door open/close of the vehicle platform
Values
Remarks
3.6.2.11. 1st Right Door Open Status
Status of the current 1st-right door open/close
Values
Remarks
N/A
3.6.2.12. 2nd Left Door Open Status
Status of the current 2nd-left door open/close
Values
Remarks
N/A
3.6.2.13. 2nd Right Door Open Status
Status of the current 2nd-right door open/close
Values
Remarks
N/A
3.6.2.14. Trunk Status
Status of the current trunk door open/close
Values
Remarks
N/A
3.6.2.15. Hood Open Status
Status of the current hood open/close
Values
Remarks
N/A
4. API Guides to control Toyota Vehicles
This section shows in detail the way of using APIs for Toyota vehicles.
4.1. APIs for Vehicle Motion Control
4.1.1. API List for Vehicle Motion Control
Input and output APIs for vehicle motion control are shown in Table 14 and Table 15, respectively. Usage guides of some APIs are presented in the following sections as indicated in each table.
4.1.1.1. Inputs
4.1.1.2. Outputs
4.1.2. API guides in Details for Vehicle Motion Control
4.1.2.1. Propulsion Direction Command
Please refer to 3.2.2.1 for value and remarks in detail.
First deceleration is requested by Acceleration Command and the vehicle is stopped. When Traveling direction is set to “standstill”, any shift position can be requested by Propulsion Direction Command. (In
Deceleration has to be requested by Acceleration Command until completing shift change.
After shift position is changed, acceleration/deceleration can be chosen based on Acceleration Command.
While Vehicle mode state=Autonomous Mode, driver's shift lever operation is not accepted.
4.1.2.2. Immobilization Command
Please refer to 3.2.2.2 for value and remarks in detail.
Deceleration is requested with Acceleration Command to make a vehicle stop. When Vehicle velocity goes to zero, Immobilization function is activated by Immobilization Command=“Applied”. Acceleration Command is set to Deceleration until Immobilization Status is set to “Applied”.
When deactivating Immobilization function, Immobilization Command=“Released” has to be requested and simultaneously Acceleration Command has to be set as deceleration until confirming Immobilization Status=“Released”.
After Immobilization function is deactivated, the vehicle can be accelerated/decelerated based on Acceleration Command.
4.1.2.3. Standstill Command
Please refer to 3.2.2.3 for value and remarks in detail.
In case where Standstill Command is set as “Applied”, brakehold function can be ready to be used and brakehold function is activated in a condition where a vehicle stops and Acceleration Command is set as Deceleration (<0). And then Standstill Status is changed to “Applied”. On the other hand, in case where Standstill Command is set as “Released”, brakehold function is deactivated.
To make a vehicle stop, deceleration is requested with Acceleration Command.
When the vehicle stops for a while, Traveling direction is changed to “standstill”. Even during Standstill status=“Applied”, deceleration shall be requested with Acceleration Command.
If you want the vehicle to move forward, Acceleration Command is set as Acceleration (>0). Then brake hold function is released and the vehicle is accelerated.
4.1.2.4. Acceleration Command
Please refer to 3.2.2.4 for value and remarks in detail.
The below shows how a vehicle behaves when an acceleration pedal is operated.
In case where the accelerator pedal is operated, a maximum acceleration value of either 1) one calculated from accelerator pedal stroke or 2) Acceleration Command input from ADK is chosen. ADK can see which value is selected by checking Intervention of accelerator pedal.
The below shows how a vehicle behaves when a brake pedal is operated.
Deceleration value in the vehicle is the sum of 1) one calculated from the brake pedal stroke and 2) one requested from ADK.
4.1.2.5. Front Wheel Steer Angle Command
Please refer to 3.2.2.5 for value and remarks in detail.
The below shows the way of using Front Wheel Steer Angle Command.
Front Wheel Steer Angle Command is set as a relative value from Front wheel steer angle.
For example, in case where Front wheel steer angle=0.1 [rad] and a vehicle goes straight;
If ADK would like to go straight, Front Wheel Steer Angle Command should be set to 0+0.1=0.1[rad].
If ADK requests to steer by −0.3 [rad], Front Wheel Steer Angle Command should be set to −0.3+0.1=−0.2 [rad].
The below shows how a vehicle behaves when a driver operates the steering.
A maximum value is selected either from 1) one calculated from steering wheel operation by the driver or 2) one requested by ADK.
Note that Front Wheel Steer Angle Command is not accepted if the driver strongly operates the steering wheel. This situation can be found by Intervention of steering wheel flag.
4.1.2.6. Vehicle Mode Command
The state machine of mode transition for Autono-MaaS vehicle is shown in
The explanation of each state is shown as follows.
The explanation of each transition is shown as follows.
4.2. APIs for BODY Control
4.2.1. API List for BODY Control
4.2.1.1. Inputs
4.2.1.2. Outputs
4.3. APIs for Power Control
4.3.1. API List for Power Control
4.3.1.1. Inputs
4.3.1.2. Outputs
4.4. APIs for Failure Notification
4.4.1. API List for Failure Notification
4.4.1.1. Inputs
4.4.1.2. Outputs
4.5. APIs for Security
4.5.1. API List for Security
Input and output APIs for Security are shown in Table 22 and Table 23, respectively. Usage guides of some APIs are presented in the following sections as indicated in each table.
4.5.1.1. Inputs
4.5.1.2. Outputs
4.5.2. API guides in Details for Security
4.5.2.1. Device Authentication Protocol
Device authentication is applied when the VCIB is activated from “Sleep” mode.
After the authentication succeeds, the VCIB can start to communicate with ADK.
Authentication process is as shown in
Authentication Specification
Though an embodiment of the present disclosure has been described, it should be understood that the embodiment disclosed herein is illustrative and non-restrictive in every respect. The scope of the present disclosure is defined by the terms of the claims and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.
Number | Date | Country | Kind |
---|---|---|---|
2021-157538 | Sep 2021 | JP | national |