Vehicle, vehicle platform, vehicle control interface box, autonomous driving kit, vehicle control method, and vehicle platform control method
A vehicle control interface box with integrated API execution information supports multiple vehicle platforms, addressing the need for platform-specific control by reducing costs and ensuring compatibility through pre-authorized API usage.
Patent Information
- Application Number
- JP2021175522
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-10-27
- Publication Date
- 2025-01-22
- Estimated Expiration
- 2041-10-27
AI Technical Summary
The challenge is to enable appropriate control of vehicle platforms for automated driving systems, as existing technologies require separate interface boxes for each vehicle platform, leading to increased manufacturing and distribution costs.
A vehicle control interface box equipped with a storage section, communication section, and control section that stores execution information for multiple API sets, allowing it to communicate with and control various vehicle platforms using pre-authorized APIs, enabling a single interface to work across different platforms.
This configuration allows for appropriate control of any vehicle platform with reduced manufacturing and distribution costs by eliminating the need for platform-specific interface boxes, ensuring compatibility and reliability through pre-authorized API usage.
Smart Images

Figure 0007619234000001 
Figure 0007619234000002 
Figure 0007619234000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a vehicle, a vehicle platform, a vehicle control interface box, an autonomous driving kit, a method for controlling a vehicle, and a method for controlling a vehicle platform, and in particular to a vehicle that includes a vehicle platform having functions for driving, turning, and stopping, an autonomous driving kit that is detachable from the vehicle platform and issues autonomous driving instructions to the vehicle platform, and a vehicle control interface box that outputs control commands for controlling the vehicle platform, the vehicle platform, the vehicle control interface box, the autonomous driving kit, the method for controlling the vehicle, and the method for controlling the vehicle platform. [Background technology]
[0002] In recent years, automatic driving systems have been proposed to realize automatic driving functions for vehicles (see, for example, Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2018-132015 A Summary of the Invention [Problem to be solved by the invention]
[0004] When installing an autonomous driving system on a vehicle platform, one challenge is to enable appropriate control for any vehicle platform.
[0005] This disclosure has been made to solve such problems, and its purpose is to provide a vehicle, a vehicle platform, a vehicle control interface box, an autonomous driving kit, a vehicle control method, and a vehicle platform control method that are capable of appropriate control for any vehicle platform. [Means for solving the problem]
[0006] The vehicle according to the present disclosure is a vehicle including a vehicle platform having a function for driving, turning, and stopping, an autonomous driving kit that is detachable from the vehicle platform and issues autonomous driving instructions to the vehicle platform, and a vehicle control interface box that outputs a control command for controlling the vehicle platform. The vehicle control interface box includes a storage unit, a communication unit, and a control unit. The storage unit stores in advance, for a plurality of types of API sets, execution information for executing processing corresponding to each of a plurality of APIs included in an API set, which is a combination of APIs for requesting the vehicle platform to execute a predetermined function or requesting transmission of predetermined information from the vehicle platform. The communication unit receives from the autonomous driving kit a request according to an API included in an authorized API set that is authorized for use in advance for the autonomous driving kit among the plurality of types of API sets. The control unit executes processing according to the request using execution information of the API related to the request received by the communication unit among the execution information of the authorized API set stored in the storage unit.
[0007] According to this configuration, by storing execution information for the API set for each type of vehicle platform in advance in the storage unit of the vehicle control interface box, no matter what vehicle platform the vehicle control interface box is mounted on, the vehicle platform can be appropriately controlled using the API set corresponding to the vehicle platform. As a result, it is possible to provide a vehicle that can be appropriately controlled for any vehicle platform.
[0008] In addition, by storing execution information for API sets corresponding to a plurality of types of vehicle platforms in the vehicle control interface box, it is possible to support a plurality of types of vehicle platforms. This eliminates the need to prepare a vehicle control interface box for an API set corresponding to each vehicle platform. This reduces the costs of manufacturing and distributing the vehicle control interface box.
[0009] The communication unit may receive authentication information capable of identifying the authorized API set from the autonomous driving kit, and the control unit may determine whether the permission to use the authorized API set identified by the authentication information received by the communication unit is genuine.If the control unit determines that the permission to use the authorized API set is genuine, it may execute processing in accordance with the request received by the communication unit.
[0010] According to this configuration, the vehicle platform can be controlled by reliably using an appropriate API set according to the vehicle platform.
[0011] The manufacturer of the vehicle, the vehicle platform, or the vehicle control interface box may permit the manufacturer of the autonomous driving kit to use the authorized API set in advance. With this configuration, if the autonomous driving kit is manufactured by a manufacturer that is authorized in advance to use the authorized API set, the autonomous driving kit can appropriately control the vehicle platform when it is mounted on the vehicle platform.
[0012] The autonomous driving kit and the vehicle control interface box may be connected to each other via an in-vehicle communication network. With this configuration, the autonomous driving kit and the vehicle control interface box can reliably communicate with each other.
[0013] According to another aspect of the disclosure, the vehicle platform is a vehicle platform having a function for running, turning, and stopping, and includes a vehicle control interface box that outputs a control command for controlling the vehicle platform. The vehicle control interface box includes a storage unit, a communication unit, and a control unit. The storage unit stores in advance, for a plurality of types of API sets, execution information for executing processing corresponding to each of a plurality of APIs included in an API set, which is a combination of APIs for requesting the vehicle platform to execute a predetermined function or requesting transmission of predetermined information from the vehicle platform. The communication unit receives, from the autonomous driving kit, a request according to an API included in an authorized API set that is detachable from the vehicle platform and that is authorized to be used in advance for the autonomous driving kit that issues an instruction for autonomous driving to the vehicle platform, among the plurality of types of API sets. The control unit executes processing according to the request using execution information of the API related to the request received by the communication unit among the execution information of the authorized API set stored in the storage unit.
[0014] According to this configuration, it is possible to provide a vehicle platform that can be appropriately controlled for any vehicle platform.
[0015] According to yet another aspect of the disclosure, a vehicle control interface box is mounted on a vehicle platform having a function for driving, turning, and stopping, and outputs a control command for controlling the vehicle platform, and includes a storage unit, a communication unit, and a control unit. The storage unit stores in advance, for a plurality of types of API sets, execution information for executing processing corresponding to each of a plurality of APIs included in an API set, which is a combination of APIs for requesting the vehicle platform to execute a predetermined function or requesting transmission of predetermined information from the vehicle platform. The communication unit receives, from the autonomous driving kit, a request according to an API included in an authorized API set that is detachable from the vehicle platform and that is authorized to be used in advance for the autonomous driving kit that issues an instruction for autonomous driving to the vehicle platform, among the plurality of types of API sets. The control unit executes processing according to the request using execution information of the API related to the request received by the communication unit among the execution information of the authorized API set stored in the storage unit.
[0016] With this configuration, a vehicle control interface box can be provided that is capable of appropriate control for any vehicle platform.
[0017] According to yet another aspect of the disclosure, an autonomous driving kit is detachably attached to a vehicle platform having a function for driving, turning, and stopping, and issues autonomous driving instructions to the vehicle platform, and includes a control unit and a communication unit. The control unit controls the communication unit to transmit to the vehicle platform a request according to an API included in an authorized API set that is permitted to be used in advance for the autonomous driving kit, among a plurality of types of API sets that are combinations of APIs for requesting the vehicle platform to execute a predetermined function or for requesting transmission of predetermined information from the vehicle platform. In the vehicle platform, among the execution information for executing processing corresponding to each of the plurality of APIs included in the authorized API set, execution information of the API related to the request transmitted by the communication unit is used to execute processing corresponding to the request.
[0018] With this configuration, it is possible to provide an autonomous driving kit that can be appropriately controlled for any vehicle platform.
[0019] According to yet another aspect of the disclosure, a method for controlling a vehicle includes a vehicle platform having a function for driving, turning, and stopping, an autonomous driving kit that is detachable from the vehicle platform and issues an instruction for autonomous driving to the vehicle platform, and a vehicle control interface box that outputs a control command for controlling the vehicle platform. The vehicle control interface box includes a storage unit, a communication unit, and a control unit. The storage unit stores in advance, for a plurality of types of API sets, execution information for executing processing corresponding to each of a plurality of APIs included in an API set that is a combination of APIs for requesting the vehicle platform to execute a predetermined function or requesting transmission of predetermined information from the vehicle platform. The control method includes a step in which the communication unit receives from the autonomous driving kit a request according to an API included in an authorized API set that is authorized for use in advance for the autonomous driving kit among the plurality of types of API sets, and a step in which the control unit executes processing according to the request using the execution information of the API related to the request received by the communication unit among the execution information of the authorized API set stored in the storage unit.
[0020] According to this configuration, it is possible to provide a vehicle control method that is capable of performing appropriate control for any vehicle platform.
[0021] According to yet another aspect of the disclosure, a method for controlling a vehicle platform is a method for controlling a vehicle platform by an autonomous driving kit that is detachable from a vehicle platform having a function for driving, turning, and stopping, and issues autonomous driving instructions to the vehicle platform. The autonomous driving kit includes a control unit and a communication unit. The control method includes a step of controlling the communication unit so that the control unit transmits to the vehicle platform a request according to an API included in an authorized API set that is permitted to be used in advance for the autonomous driving kit, among a plurality of types of API sets that are combinations of APIs for requesting the vehicle platform to execute a predetermined function or requesting transmission of predetermined information from the vehicle platform. In the vehicle platform, among the execution information for executing processing corresponding to each of a plurality of APIs included in the authorized API set, execution information of the API related to the request transmitted by the communication unit is used to execute processing corresponding to the request.
[0022] According to this configuration, it is possible to provide a vehicle platform control method capable of appropriately controlling any vehicle platform. Effect of the Invention
[0023] According to this disclosure, it is possible to provide a vehicle, a vehicle platform, a vehicle control interface box, an autonomous driving kit, a vehicle control method, and a vehicle platform control method that are capable of appropriately controlling any vehicle platform. [Brief description of the drawings]
[0024] [Figure 1] 1 is a diagram showing an overview of a vehicle according to an embodiment of the present disclosure. [Diagram 2] FIG. 2 is a diagram showing in detail the configurations of ADS, VCIB, and VP according to this embodiment. [Diagram 3] 4 is a flowchart showing a process flow for control using an API according to this embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0025] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference characters, and the description thereof will not be repeated.
[0026] [Embodiment Mode] <Overall composition> 1 is a diagram showing an overview of a vehicle 1 according to an embodiment of this disclosure. The vehicle 1 includes an autonomous driving kit (ADK) 10 and a vehicle platform (VP) 20. The ADK 10 is configured to be attachable to the VP 20 (detachable from the vehicle 1). The ADK 10 and the VP 20 are configured to be able to communicate with each other via a vehicle control interface (VCIB 40, described later).
[0027] The VP20 can perform automatic driving according to control requests from the ADK10. Although the ADK10 is shown in a position separate from the VP20 in FIG. 1, the ADK10 is actually attached to the rooftop of the VP20 or the like. The ADK10 can also be removed from the VP20. When the ADK10 is removed, the VP20 performs driving control in manual mode (driving control according to user operation).
[0028] The ADK10 includes an autonomous driving system (ADS) 11 for autonomously driving the vehicle 1. The ADS11 creates, for example, a driving plan for the vehicle 1. The ADS11 outputs various control requests for driving the vehicle 1 according to the driving plan to the VP20 according to an API (Application Program Interface) defined for each control request. The ADS11 also receives various signals indicating the vehicle state (state of the VP20) from the VP20 according to an API defined for each signal. The ADS11 then reflects the vehicle state in the driving plan. A detailed configuration of the ADS11 will be described with reference to FIG. 2.
[0029] The VP 20 includes a base vehicle 30 and a vehicle control interface box (VCIB) 40 .
[0030] The base vehicle 30 executes various vehicle controls in accordance with control requests from the ADK 10 (ADS 11). The base vehicle 30 includes various systems and sensors for controlling the base vehicle 30. More specifically, the base vehicle 30 includes an integrated control manager 31, a brake system 32, a steering system 33, a powertrain system 34, an active safety system 35, a body system 36, wheel speed sensors 51, 52, a pinion angle sensor 53, a camera 54, and radar sensors 55, 56.
[0031] The integrated control manager 31 includes a processor such as a CPU (Central Processing Unit) and memories such as ROM (Read Only Memory) and RAM (Random Access Memory), neither of which are shown in the figure, and integrates and controls the above-mentioned systems related to the operation of the vehicle 1 (brake system 32, steering system 33, powertrain system 34, active safety system 35, and body system 36).
[0032] The brake system 32 is configured to control a braking device provided on each wheel of the base vehicle 30. The braking device includes, for example, a disc brake system (not shown) that operates in response to hydraulic pressure adjusted by an actuator.
[0033] Wheel speed sensors 51, 52 are connected to the brake system 32. The wheel speed sensor 51 detects the rotation speed of the front wheels of the base vehicle 30 and outputs the detected rotation speed of the front wheels to the brake system 32. The wheel speed sensor 52 detects the rotation speed of the rear wheels of the base vehicle 30 and outputs the detected rotation speed of the rear wheels to the brake system 32. The brake system 32 outputs the rotation speed of each wheel to the VCIB 40 as one of the pieces of information included in the vehicle state. In addition, the brake system 32 generates a braking command for the braking device according to a predetermined control request output from the ADS 11 via the VCIB 40 and the integrated control manager 31. The brake system 32 controls the braking device using the generated braking command. The integrated control manager 31 can calculate the speed (vehicle speed) of the vehicle 1 based on the rotation speed of each wheel.
[0034] The steering system 33 is configured to be able to use a steering device to control the steering angle (tire turning angle) of the steering wheels of the vehicle 1. The steering device includes, for example, a rack-and-pinion type electric power steering (EPS) that is capable of adjusting the steering angle by an actuator.
[0035] A pinion angle sensor 53 is connected to the steering system 33. The pinion angle sensor 53 detects a rotation angle (pinion angle) of a pinion gear connected to a rotating shaft of the actuator, 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 piece of information included in the vehicle state. In addition, the steering system 33 generates a steering command for the steering device according to a predetermined control request output from the ADS 11 via the VCIB 40 and the integrated control manager 31. The steering system 33 controls the steering device using the generated steering command.
[0036] The powertrain system 34 controls an electric parking brake (EPB) system 341 provided on at least one of the wheels, a parking lock (P-Lock) system 342 provided on the transmission of the vehicle 1, and a propulsion system 343 including a shift device (not shown) configured to be able to select a shift range. A detailed configuration of the powertrain system 34 will be described with reference to FIG. 2.
[0037] The active safety system 35 detects obstacles (pedestrians, bicycles, parked vehicles, utility poles, etc.) in front or behind the vehicle 1 using the camera 54 and radar sensors 55, 56. The active safety system 35 determines whether there is a possibility that the vehicle 1 will collide with the obstacle based on the distance between the vehicle 1 and the obstacle and the moving direction of the vehicle 1. If the active safety system 35 determines that there is a possibility of a collision, it outputs a braking command to the brake system 32 via the integrated control manager 31 so as to increase the braking force.
[0038] The body system 36 is configured to control parts such as turn signals, a horn, and windshield wipers (none of which are shown) according to the driving state or environment of the vehicle 1. The body system 36 controls each of the above parts in accordance with a predetermined control request output from the ADS 11 via the VCIB 40 and the integrated control manager 31.
[0039] The VCIB 40 is configured to be able to communicate with the ADS 11 via a CAN (Controller Area Network) or the like. The VCIB 40 executes a predetermined API defined for each signal to receive various control requests from the ADS 11 and output the vehicle state to the ADS 11. When the VCIB 40 receives a control request from the ADK 10, it outputs a control command corresponding to the control request to a system corresponding to the control command via the integrated control manager 31. The VCIB 40 also acquires various pieces of information about the base vehicle 30 from various systems via the integrated control manager 31, and outputs the state of the base vehicle 30 to the ADS 11 as the vehicle state.
[0040] The vehicle 1 can be used as one of the components of a MaaS (Mobility as a Service) system. In addition to the vehicle 1, the MaaS system includes, for example, a data server and a mobility service platform (MSPF) (neither of which is shown).
[0041] The MSPF is a unified platform to which various mobility services are connected. Autonomous driving-related mobility services are connected to the MSPF. In addition to autonomous driving-related mobility services, mobility services provided by ride-sharing operators, car-sharing operators, rental car operators, taxi operators, insurance companies, etc. can be connected to the MSPF.
[0042] Vehicle 1 further includes a Data Communication Module (DCM) (not shown) capable of wireless communication with a data server. The DCM outputs vehicle information such as speed, position, and autonomous driving state to the data server. In addition, the DCM receives various data for managing the traveling of autonomous vehicles including vehicle 1 in an autonomous driving-related mobility service from the mobility service via the MSPF and the data server.
[0043] In MSPF, APIs for using various vehicle status and vehicle control data required for the development of ADS11 are published. Various mobility services can use the APIs published on MSPF to use various functions provided by MSPF according to the service content. For example, an autonomous driving-related mobility service can use the APIs published on MSPF to obtain vehicle 1's driving control data and information stored in a data server from MSPF. In addition, an autonomous driving-related mobility service can use the above APIs to send data for managing autonomous driving vehicles, including vehicle 1, to MSPF.
[0044] <Detailed configuration> 2 is a diagram showing in detail the configuration of the ADS 11, the VCIB 40, and the VP 20 according to this embodiment. As shown in FIG. 2, the ADS 11 includes a computer 111, an HMI (Human Machine Interface) 112, a recognition sensor 113, an attitude sensor 114, and a sensor cleaner 115.
[0045] The computer 111 includes a processor such as a CPU (Central Processing Unit) and memories such as a ROM (Read Only Memory) and a RAM (Random Access Memory), neither of which are shown in the figure. The memory stores a program executable by the processor. The computer 111 acquires the environment of the vehicle 1, as well as the attitude, behavior, and position of the vehicle 1, using various sensors (described later) during the autonomous driving of the vehicle 1, and acquires the vehicle state from the VP 20 via the VCIB 40 to set the next operation of the vehicle 1 (acceleration, deceleration, turning, etc.). The computer 111 outputs various commands to the VCIB 40 to realize the next operation. The computer 111 further includes communication modules 111A and 111B. Each of the communication modules 111A and 111B is configured to be able to communicate with the VCIB 40.
[0046] The HMI 112 presents information to the user and accepts user operations during automatic driving, during driving requiring user operation, during transition between automatic driving and driving requiring user operation, etc. The HMI 112 is configured to be connected to an input / output device (not shown) such as a touch panel display provided on the base vehicle 30, for example.
[0047] The recognition sensor 113 is a sensor for recognizing the environment of the vehicle 1. The recognition sensor 113 includes at least one of, for example, a LIDAR (Laser Imaging Detection and Ranging), a millimeter wave radar, and a camera (none of which are shown). The LIDAR measures the distance and direction of an object by, for example, emitting infrared pulse laser light and detecting the reflected light of the laser light from the object. The millimeter wave radar measures the distance and direction of an object by emitting millimeter waves and detecting the reflected wave of the millimeter waves from the object. The camera is, for example, disposed behind the rear-view mirror, and captures an image of the area ahead of the vehicle 1.
[0048] The attitude sensor 114 is a sensor for detecting the attitude, behavior, and position of the vehicle 1. The attitude sensor 114 includes, for example, an IMU (Inertial Measurement Unit) and a GPS (Global Positioning System) (neither shown). The IMU detects, for example, the acceleration in the forward / backward, left / right, and up / down directions of the vehicle 1, and the angular velocities in the roll, pitch, and yaw directions of the vehicle 1. The GPS detects the position of the vehicle 1 using information received from multiple GPS satellites orbiting the Earth.
[0049] The sensor cleaner 115 is configured to remove dirt adhering to the above-mentioned various sensors (camera lenses, laser light irradiation parts, etc.) while the vehicle 1 is traveling, using a cleaning liquid, a wiper, etc.
[0050] The VCIB40 includes a VCIB41 and a VCIB42. Each of the VCIB41 and VCIB42 includes a processor 411, 421 such as a CPU (Central Processing Unit), a memory 412, 422 such as a ROM (Read Only Memory) and a RAM (Random Access Memory), and a communication unit 413, 423 which is an interface for communicating with the outside. The memory stores a program executable by the processor. The communication unit 413 of the VCIB41 and the communication module 111A are connected to be able to communicate with each other. The communication unit 423 of the VCIB42 and the communication module 111B are connected to be able to communicate with each other. Furthermore, the communication unit 413 of the VCIB41 and the communication unit 423 of the VCIB42 are connected to be able to communicate with each other.
[0051] Each of the VCIBs 41 and 42 relays control requests and vehicle information between the ADS 11 and the VP 20. More specifically, the VCIB 41 generates a control command from a control request from the ADS 11 using an API.
[0052] Control commands corresponding to control requests supplied from ADS11 to VCIB40 include, for example, a propulsion direction command requesting a change in shift range, an immobilization command requesting activation / deactivation of EPB system 341 and P-Lock system 342, an acceleration command requesting acceleration or deceleration of vehicle 1, a tire turning angle command requesting the tire turning angle of the steering wheels, an autonomy command requesting switching between autonomous mode and manual mode, and a stop command requesting the vehicle to be held stationary or released from a stationary state.
[0053] Then, the VCIB41 outputs the generated control command to a corresponding system among the multiple systems included in the VP20. The VCIB41 also generates information indicating the vehicle state from the vehicle information from each system of the VP20 using the API. The information indicating the vehicle state may be the same information as the vehicle information, or may be information extracted from the vehicle information to be used in the processing executed by the ADS11. The VCIB41 outputs the generated information indicating the vehicle state to the ADS11. The same applies to the VCIB42.
[0054] The brake system 32 includes brake systems 321 and 322. The steering system 33 includes steering systems 331 and 332. The powertrain system 34 includes an EPB system 341, a P-Lock system 342, and a propulsion system 343.
[0055] Although the VCIB41 and VCIB42 basically have the same functions, there are some differences between the VCIB41 and VCIB42 in the connections to the systems including the VP20. Specifically, the VCIB41, the brake system 321, the steering system 331, the EPB system 341, the P-Lock system 342, the propulsion system 343, and the body system 36 are connected to each other via a communication bus so as to be able to communicate with each other. The VCIB42, the brake system 322, the steering system 332, and the P-Lock system 342 are connected to each other via a communication bus so as to be able to communicate with each other.
[0056] In this way, the VCIB 40 includes the VCIBs 41 and 42 that have equivalent functions for some system operations (braking, steering, etc.), making the control system between the ADS 11 and the VP 20 redundant. Therefore, if any failure occurs in the system, the function of the VP 20 can be maintained by appropriately switching the control system or cutting off the control system in which the failure occurs.
[0057] Each of the brake systems 321 and 322 is configured to be able to control a brake device. The brake system 321 generates a braking command for the brake device according to a control request output from the ADS 11 via the VCIB 41. The brake system 322 generates a braking command for the brake device according to a control request output from the ADS 11 via the VCIB 42. The brake systems 321 and 322 may have equivalent functions. Alternatively, one of the brake systems 321 and 322 may be configured to be able to independently control the braking force of each wheel, and the other may be configured to be able to control the same braking force to be generated in each wheel. For example, the brake systems 321 and 322 may control the brake device using a braking command generated by one of the brake systems, and when an abnormality occurs in the brake system, control the brake device using a braking command generated by the other brake system.
[0058] Each of the steering systems 331 and 332 is configured to be able to control the steering angle of the steering wheels of the vehicle 1 using a steering device. The steering system 331 generates a steering command for the steering device according to a control request output from the ADS 11 via the VCIB 41. The steering system 332 generates a steering command for the steering device according to a control request output from the ADS 11 via the VCIB 42. The steering systems 331 and 332 may have equivalent functions. Alternatively, the steering systems 331 and 332 may control the steering device using a steering command generated by one of the steering systems, and when an abnormality occurs in the steering system, control the steering device using a steering command generated by the other steering system.
[0059] The EPB system 341 controls the EPB in accordance with a control request output from the ADS 11 via the VCIB 41. The EPB is provided separately from a braking device (such as a disk brake system) and fixes the wheels by operating an actuator. For example, the EPB fixes the wheels by operating drum brakes for parking brakes provided on some of the wheels using an actuator, or fixes the wheels by operating a braking device using an actuator capable of adjusting the hydraulic pressure supplied to the braking device, separate from the brake systems 321 and 322. The EPB system 341 has a brake hold function and is configured to be able to switch between activation and release of the brake hold.
[0060] The P-Lock system 342 controls the P-Lock device in accordance with a control request output from the ADS 11 via the VCIB 41. For example, the P-Lock system 342 activates the P-Lock device when the control request includes a control request to set the shift range to a parking range (P range), and deactivates the P-Lock device when the control request includes a control request to set the shift range to a range other than the P range. The P-Lock device engages a protrusion at the tip of a parking lock pole, the position of which can be adjusted by an actuator, with the teeth of a gear (lock gear) that is connected to a rotating element in the transmission of the vehicle 1. This fixes the rotation of the output shaft of the transmission, and locks the wheels.
[0061] The propulsion system 343 switches the shift range of the shift device and controls the driving force from the driving source (motor generator, engine, etc.) in accordance with a control request output from the ADS 11 via the VCIB 41. In addition to the P range, the shift range includes, for example, a neutral range (N range), a forward driving range (D range), and a reverse driving range (R range).
[0062] The active safety system 35 is communicably connected to the braking system 321. As described above, the active safety system 35 uses the camera 54 and / or the radar sensor 55 to detect a forward obstacle and outputs a braking command to the braking system 321 so that the braking force increases when it is determined that there is a possibility of collision.
[0063] The body system 36 controls components such as the direction indicator, horn, wiper, etc. according to the control requests output from the ADS11 via the VCIB41.
[0064] In the vehicle 1, for example, when the autonomous mode is selected by an operation on the user's HMI112, the automatic driving is executed. As described above, during automatic driving, the ADS11 first creates a driving plan. Examples of driving plans include, for example, a plan to continue straight ahead, a plan to turn left / right at a predetermined intersection on a predetermined driving route, a plan to change the driving lane, and the like. The ADS11 calculates the control physical quantities (acceleration, deceleration, tire slip angle, etc.) necessary for the vehicle 1 to operate according to the created driving plan. The ADS11 divides the physical quantities for each execution cycle of the API. The ADS11 uses the API to output a control request representing the divided physical quantities to the VCIB40. Further, the ADS11 acquires the vehicle state (the actual moving direction of the vehicle 1, the state of vehicle immobilization, etc.) from the VP20 and recreates a driving plan that reflects the acquired vehicle state. In this way, the ADS11 enables the automatic driving of the vehicle 1.
[0065] <Control Using the API> When the ADK10 is mounted on the VP20, it is considered an issue to enable appropriate control for any VP20.
[0066] Therefore, the memories 412, 422 of the VCIBs 41, 42 store in advance, for a plurality of types of API sets, execution information for executing processing corresponding to each of a plurality of APIs included in the API set, which is a combination of APIs for requesting the VP 20 to execute a predetermined function or for requesting the VP 20 to transmit predetermined information. The communication units 413, 423 of the VCIBs 41, 42 receive from the ADK 10 a request conforming to an API included in an authorized API set that is authorized for use in advance for the ADK 10 among a plurality of types of API sets. The processors 411, 421 of the VCIBs 41, 42 execute processing according to the request using execution information of the API related to the request received by the communication units 413, 423 among the execution information of the authorized API set stored in the memories 412, 422.
[0067] In this way, by storing execution information for the API set for each type of VP 20 in the memories 412 and 422 of the VCIBs 41 and 42 in advance, no matter what VP 20 the VCIBs 41 and 42 are mounted on, the VP 20 can be appropriately controlled using the API set appropriate for the VP 20. As a result, any VP 20 can be appropriately controlled.
[0068] Several types of APIs are defined as interfaces for the ADK10 to communicate with the VCIB40 of the VP20. The APIs are interfaces for requesting the VP20 to execute a specific function and for requesting the VP20 to transmit specific information. The APIs include, for example, an API for controlling the movement of the VP20, an API for controlling the electrical components of the VP20, an API for controlling the power of the VP20, an API for notifying the VP20 of a fault, and an API for the security of the VP20.
[0069] For example, the API for controlling the movement of the VP20 includes an API for requests (commands) to instruct the acceleration and deceleration of the VP20, an API for requests (commands) to instruct the steering angle of the front tires, an API for requesting notification of the speed in the direction of travel (vehicle speed), and an API for requesting notification of the steering angle of the front wheels.
[0070] In addition, the APIs for controlling the electrical equipment of the VP20 include an API for requesting (commanding) the lighting status of the turn signal, an API for requesting (commanding) the ON / OFF of the air conditioner, an API for requesting notification of the lighting status of the turn signal, and an API for requesting notification of the operating status of the air conditioner.
[0071] The manufacturer of the VP 20 predetermines an API set, which is a combination of APIs that can be used, according to the vehicle model, type, and grade of the VP 20. For example, an API set including 100 types of predetermined APIs is predetermined as the usable API set for vehicle model A. Similarly, API sets including 200 types and 300 types of predetermined APIs are predetermined as the usable API sets for vehicle models B and C, respectively.
[0072] Execution information (e.g., programs, data) for executing processes corresponding to each of the APIs included in the multiple types of API sets is stored in advance in the ROM of the memories 412, 422 of the VCIBs 41, 42. Conventionally, it was necessary to manufacture the VCIBs 41, 42 storing execution information corresponding to each of the vehicle models A to C, respectively, for each of the vehicle models A to C, and distribute them for incorporation into the VP 20.
[0073] In this embodiment, execution information for multiple APIs included in multiple types of API sets corresponding to multiple types of vehicle models, such as vehicle models A to C, models, and grades, is stored in advance in the ROM of memories 412, 422 of VCIBs 41, 42.
[0074] Fig. 3 is a flowchart showing the flow of processing for control using the API of this embodiment. The ADK side processing and VCIB side processing in Fig. 3 are called from higher-level processing at predetermined control cycles and executed by the computer 111 of the ADS11 of the ADK10 and the VCIB40 of the VP20 (or the integrated control manager 31), respectively. Each step included in the flowchart shown in Fig. 3 is realized by software processing by the ADS11 (computer 111) or VP20 (VCIB40 or integrated control manager 31), but may also be realized by hardware (electrical circuitry) arranged in the ADS11 or VP20.
[0075] Here, the manufacturer of ADK10 applies to a person who is authorized to use the API set (for example, the manufacturer of vehicle 1, the manufacturer of VP20, or the manufacturer of VCIB40) for a specific API set that they want to use with ADK10 from among multiple types of API sets before manufacturing ADK10. In response to this application, the person who is authorized to use the API set passes authentication key data, which is authentication information including type information that can identify the specific API set that has been requested and authorized for use, to the manufacturer of ADK10. When manufacturing ADK10, the manufacturer of ADK10 stores the authentication key data passed by the person who is authorized to use the specific API set in the ROM of computer 111 of ADS11 of ADK10.
[0076] 3, in the ADK 10, the computer 111 of the ADS 11 determines whether or not it is the start-up time of the ADS 11 (step S111). If it is determined that it is the start-up time (YES in step S111), the computer 111 controls the communication modules 111A and 111B to transmit authentication key data including type information of a specific API set stored in the ROM of the computer 111 to the VCIB 40 (step S112).
[0077] In the VCIB 40, the processors 411, 421 of the VCIBs 41, 42 determine whether or not data of an authentication key has been received from the ADK 10 by the communication units 413, 423 (step S211). When it is determined that data of an authentication key has been received (YES in step S211), the processors 411, 421 determine whether or not the received authentication key is genuine (step S212). A known method can be used to determine whether or not the authentication key is genuine. For example, the ROM of the memory 412 of the VCIBs 41, 42 stores execution information of a plurality of types of API sets in advance, and stores a plurality of pieces of authenticity determination data corresponding to the plurality of pieces of execution information in advance. The method of determining whether or not the authentication key is genuine may be a method of determining using authenticity determination data corresponding to the received authentication key among a plurality of pieces of authenticity determination data stored in the ROM of the memory 412 of the VCIBs 41, 42.
[0078] If it is determined that the authentication key is genuine (YES in step S212), the processors 411, 421 permit the use of the specific API set indicated by the type information included in the authentication key in the VP 20 (step S213). Specifically, the processors 411, 421 store information indicating that use of the specific API set is permitted in the RAM of the memories 412, 422 of the VCIBs 41, 42. Furthermore, the processors 411, 421 transmit information to the ADK 10 indicating that use of the specific API set has been permitted. Note that, if it is determined that the authentication key is not genuine, the processors 411, 421 may transmit information to the ADK 10 indicating that use of the specific API set is not permitted.
[0079] In the ADK10, the computer 111 of the ADS11 judges whether or not information indicating that the use of the specific API set is permitted has been received from the VCIBs 41 and 42 (step S113). If it is judged that information indicating permission has not been received (NO in step S113), the computer 111 executes a disallowance process (step S114). The disallowance process may be any process that makes the specific API set unusable, and may be, for example, a process of shutting down the ADK10.
[0080] If it is determined that information indicating that use of the specific API set is permitted has been received (YES in step S113), or if it is not startup time (NO in step S111) and use of the specific API set has already been permitted, computer 111 determines whether it is the control period of the API (step S115). Control of VP20 using the API is time-division control at a predetermined control period.
[0081] If it is determined that it is a control period (YES in step S115), the computer 111 controls the communication modules 111A and 111B to transmit a request to acquire a specific status among vehicle statuses of VP20 according to an API included in a specific API set that is permitted to be used in the program executed by the computer 111 (step S116). For example, if there is a request to acquire the vehicle speed in the traveling direction in the driving control program executed by the computer 111, the computer 111 controls the communication modules 111A and 111B to transmit the request according to an API for requesting notification of the vehicle speed in the traveling direction.
[0082] Furthermore, in the program being executed by computer 111, if there is a request for control according to a predetermined control content among the control contents of VP20 according to an API included in the specific API set that is permitted to be used, computer 111 controls communication modules 111A and 111B to transmit the request (step S117). For example, in the driving control program being executed by computer 111, if there is a request to command acceleration of VP20, computer 111 controls communication modules 111A and 111B to transmit the request according to an API for the request to command acceleration of VP20.
[0083] In the VCIB 40, the processors 411, 421 of the VCIBs 41, 42 determine whether or not any request has been received from the ADK 10 through the communication units 413, 423 (step S214). If it is determined that any request has been received (YES in step S214), the processors 411, 421 determine whether or not the API corresponding to the received request is an authorized API included in the API set that is authorized for use (step S215). If it is determined that no request has been received from the ADK 10 (NO in step S214) or that the API corresponding to the received request is not an authorized API (NO in step S215), the process to be executed is returned to the upper process that called the VCIB-side process.
[0084] If it is determined that the API corresponding to the received request is not an authorized API, the processors 411 and 421 may execute a predetermined process for when a request to execute an API that is not an authorized API is received. For example, the processors 411 and 421 may execute, as the predetermined process, a process of transmitting a message to the person authorized to use the API set that a request to execute an API that is not an authorized API has been received.
[0085] If it is determined that the API corresponding to the received request is an authorized API (YES in step S215), the processor 411, 421 executes a process corresponding to the API using the execution information of the API corresponding to the received request (step S216), and if there is an execution result of the process corresponding to the API, controls the communication unit 413, 423 to transmit a response of the execution result to the ADK 10 (step S217). After that, the processor 411, 421 returns the process to be executed to the upper process that called the VCIB side process.
[0086] For example, if the received request is a request for notification of the vehicle speed in the traveling direction, the communication units 413, 423 are controlled to execute a process of acquiring the vehicle speed using execution information of an API for notifying the vehicle speed in the traveling direction in response to the received request (for example, a process of acquiring the vehicle speed from the propulsion system 343) and transmit the acquired vehicle speed to the ADK 10. Also, if the received request is a request to instruct acceleration of the VP 20, a process of accelerating the vehicle speed (for example, a process of transmitting an acceleration command to the propulsion system 343) is executed in response to the received request.
[0087] In the ADK10, when the computer 111 of the ADS11 receives a response of the execution result of the process corresponding to the API from the VCIBs 41 and 42 via the communication modules 111A and 111B, the computer 111 stores the execution result indicated in the received response in the RAM of the computer 111 (step S118). For example, when the computer 111 receives the vehicle speed in the traveling direction as the response of the execution result of the process corresponding to the API, the computer 111 stores the vehicle speed in the RAM of the computer 111. The execution result of the API stored in the RAM of the computer 111 is used, for example, for the control of the VP 20 by the ADK10 in the next control cycle.
[0088] After step S118, or if it is determined that it is not a control period (NO in step S115), the computer 111 of the ADS 11 returns the process to be executed to the upper process that called this ADK-side process.
[0089] [Variations] (1) In the embodiment described above, as shown in steps S111 to S113 in Fig. 3, confirmation of whether the authentication key is genuine is performed at the start of the ADK 10. However, this is not limited to this, and confirmation may be performed at other times, for example, at the start of autonomous driving when the vehicle 1 that is already traveling switches to autonomous driving midway.
[0090] (2) In the embodiment described above, the processing according to the API is executed for each control cycle, as shown in step S115 in Fig. 3. However, the processing according to the API is not limited to this and may be executed at other times, for example, when the processing according to the API is executed by the driving control program executed by the ADK10.
[0091] (3) In the above-described embodiment, as shown in step S215 of Fig. 3, whether or not the API corresponding to the request is an authorized API included in the specific API set whose use is permitted is determined each time a request is received. However, this is not limited to this, and the determination of whether the API corresponding to the request is an authorized API may be performed at other times, for example, every predetermined number of requests or every predetermined period of time. Furthermore, once the use of the specific API set is permitted in step S213, all APIs corresponding to subsequent requests may be considered to be authorized APIs, and the determination of whether or not an API is an authorized API may not be performed at the time a request is received.
[0092] (4) In the embodiment described above, the ADK 10 and the VCIBs 41 and 42 are connected via a CAN. However, this is not limited thereto, and the ADK 10 and the VCIBs 41 and 42 may be connected via any connection method, including an in-vehicle communication network other than CAN, or a connection method using another communication method.
[0093] (5) The above-described embodiments can be regarded as disclosure of devices such as vehicle 1, ADK10, ADS11, VP20, base vehicle 30, or VCIB40, and as disclosure of control methods or control programs for these devices.
[0094] [summary] (1) As shown in Fig. 1 and Fig. 2, the vehicle 1 includes a VP 20 having a function for driving, turning, and stopping, an ADK 10 that is detachable from the VP 20 and issues an instruction for automatic driving to the VP 20, and a VCIB 40 that outputs a control command for controlling the VP 20. As shown in Fig. 2, the VCIB 40 (VCIB 41, 42) includes memories 412, 422, communication units 413, 423, and processors 411, 421. As shown in Fig. 2 and Fig. 3, the memories 412, 422 store in advance, for multiple types of API sets, execution information for executing processes corresponding to each of multiple APIs included in an API set, which is a combination of APIs for requesting the VP 20 to execute a specific function or requesting the VP 20 to transmit specific information. 2 and 3, the communication units 413, 423 receive from the ADK 10 a request conforming to an API included in an authorized API set that is permitted for use in advance by the ADK 10 among a plurality of types of API sets (for example, step S214). The processors 411, 421 execute processing according to the request using execution information of the API related to the request received by the communication units 413, 423 from among the execution information of the authorized API set stored in the memories 412, 422 (steps S216, S217).
[0095] In this way, by storing execution information for the API set for each type of VP 20 in the memories 412 and 422 of the VCIBs 41 and 42 in advance, no matter what VP 20 the VCIBs 41 and 42 are mounted on, the VP 20 can be appropriately controlled using the API set appropriate for the VP 20. As a result, any VP 20 can be appropriately controlled.
[0096] Furthermore, by storing execution information for API sets corresponding to a plurality of types of VP 20 in the VCIBs 41 and 42, it is possible to support a plurality of types of VP 20. This eliminates the need to prepare VCIBs 41 and 42 for API sets corresponding to each VP 20. This allows the costs of manufacturing and distributing the VCIBs 41 and 42 to be reduced.
[0097] (2) The communication units 413, 423 may receive authentication information capable of identifying the authorized API set from the ADK10, and the processors 411, 421 may determine whether the permission to use the authorized API set identified by the authentication information received by the communication units 413, 423 is genuine. If the processors 411, 421 determine that the permission to use the authorized API set is genuine, they may execute processing in accordance with the request received by the communication units 413, 423.
[0098] This ensures that the appropriate API set for VP20 is used to control VP20.
[0099] (3) The manufacturer of the vehicle 1, VP 20, or VCIBs 41 and 42 may grant in advance permission to the manufacturer of the ADK 10 to use the authorized API set. In this way, if the ADK 10 is manufactured by a manufacturer that is authorized in advance to use the authorized API set, then the ADK 10 can appropriately control the VP 20 when it is installed in the VP 20.
[0100] (4) The ADK 10 and the VCIBs 41 and 42 may be connected via an in-vehicle communication network (e.g., CAN), thereby allowing the ADK 10 and the VCIBs 41 and 42 to communicate reliably.
[0101] The embodiments disclosed herein should be considered to be illustrative and not restrictive in all respects. The scope of the present disclosure is defined by the claims, not by the description of the embodiments described above, and is intended to include all modifications within the meaning and scope of the claims. [Explanation of symbols]
[0102] 1 Vehicle, 10 ADK, 11 ADS, 20 VP, 30 Base vehicle, 31 Integrated control manager, 32, 321, 322 Brake system, 33, 331, 332 Steering system, 34 Power train system, 35 Active safety system, 36 Body system, 40, 41, 42 VCIB, 51, 52 Wheel speed sensor, 53 Pinion angle sensor, 54 Camera, 55, 56 Radar sensor, 111 Computer, 111A, 111B Communication module, 112 HMI, 113 Recognition sensor, 114 Attitude sensor, 115 Sensor cleaner, 341 EPB system, 342 P-Lock system, 343 Propulsion system, 411, 421 Processor, 412, 422 Memory, 413, 423 Communication unit.
Claims
1. A vehicle comprising: a vehicle platform having a function for driving, turning, and stopping; an autonomous driving kit that is detachable from the vehicle platform and issues autonomous driving instructions to the vehicle platform; and a vehicle control interface box that outputs control commands for controlling the vehicle platform, The vehicle control interface box includes a storage unit, a communication unit, and a control unit. the storage unit pre-stores, for a plurality of types of API sets, execution information for executing processing corresponding to each of a plurality of APIs included in an API set, which is a combination of APIs for requesting the vehicle platform to execute a predetermined function or for requesting transmission of predetermined information from the vehicle platform; The plurality of API sets correspond to the plurality of vehicle platforms, respectively; The communication unit receives, from the autonomous driving kit, a request according to an API included in an authorized API set that is authorized for use in advance by the autonomous driving kit among the multiple types of API sets, The control unit executes processing in response to the request using execution information of an API related to the request received by the communication unit, among the execution information of the permitted API set stored in the memory unit.
2. The communication unit receives authentication information capable of identifying the permitted API set from the autonomous driving kit, The control unit determines whether the permission to use the authorized API set specified by the authentication information received by the communication unit is genuine; The vehicle according to claim 1 , wherein the control unit executes a process according to the request received by the communication unit when the control unit determines that the permission to use the authorized API set is genuine.
3. The vehicle of claim 2 , wherein a manufacturer of the vehicle, the vehicle platform, or the vehicle control interface box pre-authorizes a manufacturer of the autonomous driving kit to use the authorized API set.
4. The vehicle of claim 1 , wherein the autonomous driving kit and the vehicle control interface box are connected via an in-vehicle communication network.
5. A vehicle platform having functions for running, turning, and stopping, the vehicle platform includes a vehicle control interface box that outputs control commands for controlling the vehicle platform; The vehicle control interface box includes a storage unit, a communication unit, and a control unit. the storage unit pre-stores, for a plurality of types of API sets, execution information for executing processing corresponding to each of a plurality of APIs included in an API set, which is a combination of APIs for requesting the vehicle platform to execute a predetermined function or for requesting transmission of predetermined information from the vehicle platform; The plurality of API sets correspond to the plurality of vehicle platforms, respectively; The communication unit receives, from the autonomous driving kit, a request according to an API included in an authorized API set that is detachable from the vehicle platform and that issues an autonomous driving instruction to the vehicle platform, from the autonomous driving kit, and The control unit executes processing in response to the request using execution information of an API related to the request received by the communication unit, among the execution information of the authorized API set stored in the memory unit.
6. A vehicle control interface box is mounted on a vehicle platform having a function for driving, turning, and stopping, and outputs a control command for controlling the vehicle platform, The vehicle control interface box includes a storage unit, a communication unit, and a control unit. the storage unit pre-stores, for a plurality of types of API sets, execution information for executing processing corresponding to each of a plurality of APIs included in an API set, which is a combination of APIs for requesting the vehicle platform to execute a predetermined function or for requesting transmission of predetermined information from the vehicle platform; The plurality of API sets correspond to the plurality of vehicle platforms, respectively; The communication unit receives, from the autonomous driving kit, a request according to an API included in an authorized API set that is detachable from the vehicle platform and that issues an autonomous driving instruction to the vehicle platform, from the autonomous driving kit, and The control unit is a vehicle control interface box that executes processing in response to the request using execution information of an API related to the request received by the communication unit, among the execution information of the permitted API set stored in the memory unit.
7. An automatic driving kit that can be attached to and detached from a vehicle platform having a function for driving, turning, and stopping, and issues an instruction for automatic driving to the vehicle platform, A control unit and a communication unit are provided, The control unit is controlling the communication unit to transmit to the vehicle platform a request according to an API included in an authorized API set that is authorized for use in advance for the autonomous driving kit, among a plurality of types of API sets that are combinations of APIs for requesting the vehicle platform to execute a predetermined function or for requesting the vehicle platform to transmit predetermined information; The plurality of API sets correspond to the plurality of vehicle platforms, respectively; An autonomous driving kit in which, in the vehicle platform, execution information for executing processing corresponding to each of the multiple APIs included in the permitted API set is used to execute processing corresponding to the request sent by the communication unit.
8. A method for controlling a vehicle including a vehicle platform having a function for driving, turning, and stopping, an automatic driving kit that is detachable from the vehicle platform and issues an instruction for automatic driving to the vehicle platform, and a vehicle control interface box that outputs a control command for controlling the vehicle platform, The vehicle control interface box includes a storage unit, a communication unit, and a control unit. the storage unit pre-stores, for a plurality of types of API sets, execution information for executing processing corresponding to each of a plurality of APIs included in an API set, which is a combination of APIs for requesting the vehicle platform to execute a predetermined function or for requesting transmission of predetermined information from the vehicle platform; The plurality of API sets correspond to the plurality of vehicle platforms, respectively; The control method includes: The communication unit receives, from the autonomous driving kit, a request according to an API included in an authorized API set that is authorized for use in advance for the autonomous driving kit among the multiple types of API sets; A vehicle control method comprising: the control unit executing processing in response to the request using execution information of an API related to the request received by the communication unit, among the execution information of the authorized API set stored in the memory unit.
9. A method for controlling a vehicle platform using an automatic driving kit that is detachable from a vehicle platform having a function for driving, turning, and stopping, and that issues an instruction for automatic driving to the vehicle platform, comprising: The autonomous driving kit includes a control unit and a communication unit, The control method includes a step of controlling the communication unit so that the control unit transmits to the vehicle platform a request according to an API included in an authorized API set that is authorized for use in advance for the autonomous driving kit, among a plurality of types of API sets that are combinations of APIs for requesting the vehicle platform to execute a predetermined function or requesting the vehicle platform to transmit predetermined information, The plurality of API sets correspond to the plurality of vehicle platforms, respectively; A control method for a vehicle platform, in which execution information for an API related to a request transmitted by the communication unit is used among execution information for executing processing corresponding to each of a plurality of APIs included in the permitted API set in the vehicle platform, and processing corresponding to the request is executed.
Citation Information
Patent Citations
Automatic operation controller
JP2018132015A
Autonomous readiness vehicle
JP2018506461A
Control device, program, and control method
JP2019177807A
Calculation device for vehicle
JP2020164046A
Vehicle control interface and vehicle system
JP2020172165A