Vehicle, vehicle platform, vehicle control interface box, autonomous driving kit, control method of vehicle and control method of vehicle platform
Patent Information
- Application Number
- CN202211150736.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-10-27
- Filing Date
- 2022-09-21
- Publication Date
- 2026-10-20
- Estimated Expiration
- 2042-09-21
AI Technical Summary
[0022]根据本公开,能够提供能够对任何车辆平台进行适当控制的车辆、车辆平台、车辆控制接口箱、自动驾驶套件、车辆的控制方法和车辆平台的控制方法。
Smart Images

Figure CN116022155B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to vehicles, vehicle platforms, vehicle control interface boxes, autonomous driving kits, vehicle control methods, and vehicle platform control methods. Specifically, this disclosure relates to a vehicle comprising a vehicle platform having driving, turning, and stopping functions; an autonomous driving kit that is attachable to and detachable from the vehicle platform and provides autonomous driving commands to the vehicle platform; and a vehicle control interface box that outputs control commands for controlling the vehicle platform. It also relates to vehicle platforms, vehicle control interface boxes, autonomous driving kits, vehicle control methods, and vehicle platform control methods. Background Technology
[0002] Recently, autonomous driving systems for realizing autonomous driving functions of vehicles have been proposed (for example, see Japanese Unexamined Patent Application Publication No. 2018-132015 (JP 2018-132015A)). Summary of the Invention
[0003] When installing autonomous driving systems on vehicle platforms, the ability to properly control any vehicle platform is considered a problem.
[0004] This disclosure aims to solve the problem and provides a vehicle, vehicle platform, vehicle control interface box, autonomous driving kit, vehicle control method, and vehicle platform control method capable of appropriate control over any vehicle platform.
[0005] The vehicle according to this disclosure is a vehicle platform having driving, turning, and stopping functions; an autonomous driving kit capable of being attached to and detached from the vehicle platform and issuing autonomous driving instructions to the vehicle platform; and a vehicle control interface box outputting 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 stores multiple execution information entries used to execute multiple processes corresponding to multiple APIs included in a set of APIs (application program interfaces), the API set being a combination of APIs for requesting the vehicle platform to perform predetermined functions and requesting the transmission of predetermined information from the vehicle platform; the multiple execution information entries are pre-stored for various types of API sets. The communication unit receives requests from the autonomous driving kit based on APIs included in a set of licensed APIs, in which the autonomous driving kit is pre-licensed to use the licensed API sets. The control unit executes processes corresponding to requests by using execution information from the multiple execution information entries for the licensed API sets stored in the storage unit related to the requests received by the communication unit.
[0006] According to this configuration, multiple execution messages corresponding to various API sets for different vehicle platforms are pre-stored in the storage unit of the vehicle control interface box. Therefore, regardless of which vehicle platform the vehicle control interface box is installed on, the corresponding API set can be used to appropriately control that vehicle platform. Thus, a vehicle capable of appropriate control over any vehicle platform can be provided.
[0007] Furthermore, by storing multiple execution information entries corresponding to multiple API sets for various vehicle platforms, the vehicle control interface box can adapt to multiple vehicle platform types. This eliminates the need to prepare separate vehicle control interface boxes for each vehicle platform's corresponding API set. Therefore, the cost of manufacturing and distributing the vehicle control interface box can be reduced.
[0008] The communication unit can receive authentication information from the autonomous driving suite that allows the identification of the licensed API set. The control unit can determine whether the permission to use the licensed API set identified by the authentication information received by the communication unit is genuine. When the control unit determines that the permission to use the licensed API set is genuine, the control unit can execute the processing corresponding to the request received by the communication unit.
[0009] Based on this configuration, the vehicle platform can be reliably controlled by using the appropriate set of APIs corresponding to the vehicle platform.
[0010] The manufacturer of the vehicle, the vehicle platform, or the vehicle control interface box may pre-license the manufacturer of the autonomous driving kit to use the licensed API set. According to this configuration, if the autonomous driving kit is manufactured by a manufacturer pre-licensed to use the licensed API set, the vehicle platform can be appropriately controlled when the autonomous driving kit is installed in the vehicle platform.
[0011] The autonomous driving kit and the vehicle control interface box can be interconnected via an in-vehicle communication network. According to this configuration, the autonomous driving kit and the vehicle control interface box can reliably communicate with each other.
[0012] Another aspect of this disclosure is a vehicle platform having driving, turning, and stopping functions, and including 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 stores multiple execution messages used to execute multiple processes corresponding to multiple APIs included in an API set, which is a combination of APIs for requesting the vehicle platform to perform predetermined functions and requesting the transmission of predetermined information from the vehicle platform. The multiple execution messages are pre-stored for various types of API sets. The communication unit receives requests from an autonomous driving kit based on APIs included in a licensed API set. The autonomous driving kit is attachable to and detachable from the vehicle platform and can issue autonomous driving instructions to the vehicle platform. The autonomous driving kit is pre-licensed to use the licensed API set among the various types of API sets. The control unit executes the processing corresponding to the request by using the execution messages for the APIs related to the request received by the communication unit from the multiple execution messages for the licensed API set stored in the storage unit.
[0013] Based on this configuration, a vehicle platform capable of appropriate control over any vehicle platform can be provided.
[0014] Another aspect of this disclosure is a vehicle control interface box, installed in a vehicle platform with driving, turning, and stopping functions, and outputting 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 stores multiple execution information entries used to execute multiple processes corresponding to multiple APIs included in an API set. The API set is a combination of APIs used to request the vehicle platform to perform predetermined functions and request the transmission of predetermined information from the vehicle platform. The multiple execution information entries are pre-stored for various types of API sets. The communication unit receives requests from an autonomous driving kit based on APIs included in a licensed API set. The autonomous driving kit can be attached to and detached from the vehicle platform and issue autonomous driving instructions to the vehicle platform. Among the various types of API sets, the autonomous driving kit is pre-licensed to use the licensed API set. The control unit executes the processing corresponding to the request by using the execution information of the multiple execution information entries for the licensed API set stored in the storage unit that relates to the API received by the communication unit.
[0015] Based on this configuration, a vehicle control interface box capable of providing appropriate control over any vehicle platform can be provided.
[0016] Another aspect of this disclosure is an autonomous driving kit that can be attached to and detached from a vehicle platform with driving, turning, and stopping functions, and can issue autonomous driving commands to the vehicle platform. The autonomous driving kit includes a control unit and a communication unit. The control unit controls the communication unit to send requests to the vehicle platform according to APIs included in a set of licensed APIs. The autonomous driving kit is pre-licensed to use multiple types of API sets, which are combinations of APIs used to request the vehicle platform to perform predetermined functions and to request the transmission of predetermined information from the vehicle platform. In the vehicle platform, processing corresponding to the request is performed using execution information from multiple execution messages related to the APIs sent by the communication unit. These multiple execution messages are used to perform multiple processes, each corresponding to one of the multiple APIs included in the set of licensed APIs.
[0017] Based on this configuration, an autonomous driving kit capable of providing appropriate control over any type of vehicle platform can be provided.
[0018] Another aspect of this disclosure is a vehicle control method, the vehicle comprising a vehicle platform with driving, turning, and stopping functions; an autonomous driving kit capable of being attached to and detached from the vehicle platform and issuing autonomous driving commands 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 stores multiple execution information entries used to execute multiple processes corresponding to multiple APIs included in an API set, the API set being a combination of APIs for requesting the vehicle platform to perform predetermined functions and requesting the transmission of predetermined information from the vehicle platform; the multiple execution information entries are pre-stored for various types of API sets. The control method includes: the communication unit receiving a request from the autonomous driving kit based on an API included in a permitted API set, wherein the autonomous driving kit is pre-permitted to use the permitted API set among various types of API sets; and the control unit executing a process corresponding to the request by using execution information of the multiple execution information entries for the permitted API set stored in the storage unit related to the request received by the communication unit.
[0019] Based on this configuration, a vehicle control method capable of providing appropriate control over any vehicle platform can be provided.
[0020] Another aspect of this disclosure is a control method for a vehicle platform having driving, turning, and stopping functions. The control method uses an autonomous driving kit that can be attached to and detached from the vehicle platform and issue autonomous driving commands to the vehicle platform. The autonomous driving kit includes a control unit and a communication unit. The control method includes the step of the control unit controlling the communication unit to send requests to the vehicle platform according to APIs included in a set of licensed APIs. The autonomous driving kit is pre-licensed to use the set of licensed APIs, which is a combination of APIs for requesting the vehicle platform to perform predetermined functions and requesting the transmission of predetermined information from the vehicle platform. In the vehicle platform, processing corresponding to the request is performed using execution information from multiple execution messages related to the APIs sent by the communication unit. These multiple execution messages are used to perform multiple processes, each corresponding to one of the multiple APIs included in the set of licensed APIs.
[0021] Based on this configuration, a control method for a vehicle platform that can appropriately control any vehicle platform can be provided.
[0022] 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 can properly control any vehicle platform. Attached Figure Description
[0023] The features, advantages, and technical and industrial significance of exemplary embodiments of the present invention will now be described with reference to the accompanying drawings, wherein like reference numerals denote like elements, and wherein:
[0024] Figure 1 This is a diagram illustrating an outline of a vehicle according to an embodiment of the present disclosure;
[0025] Figure 2 It is a diagram showing in detail the configuration of ADS, VCIB, and VP according to this embodiment; and
[0026] Figure 3 This is a flowchart illustrating the process of controlling the process using the API of this embodiment. Detailed Implementation
[0027] Embodiments of this disclosure are described in detail below with reference to the accompanying drawings. The same or equivalent parts in the drawings will be denoted by the same reference numerals and their descriptions will not be repeated.
[0028] Example
[0029] Overall Configuration
[0030] Figure 1 This is a schematic diagram illustrating a vehicle 1 according to an embodiment of the present disclosure. Vehicle 1 includes an autonomous driving kit (ADK) 10 and a vehicle platform (VP) 20. ADK 10 is configured to be mountable to and detachable from VP 20. ADK 10 and VP 20 are configured to communicate with each other via a vehicle control interface (VCIB 40, described later).
[0031] VP 20 is capable of performing autonomous driving based on control requests from ADK 10. Figure 1 In the diagram, ADK 10 is shown in a position away from VP 20, but ADK 10 is actually mounted on the roof of VP 20, etc. ADK 10 can also be removed from VP 20. When ADK 10 is removed, VP 20 performs driving control in manual mode (driving control according to user operation).
[0032] ADK 10 includes an autonomous driving system (ADS) 11 for performing autonomous driving of vehicle 1. For example, ADS 11 creates a driving plan for vehicle 1. ADS 11 outputs various control requests to VP 20 to cause vehicle 1 to drive according to the driving plan, based on application programming interfaces (APIs) defined for each control request. Furthermore, ADS 11 receives various signals from VP 20 indicating the vehicle state (the state of VP 20) based on APIs defined for each signal. ADS 11 then reflects the vehicle state in the driving plan. This will be used... Figure 2 Describes the detailed configuration of ADS 11.
[0033] VP 20 includes a basic vehicle 30 and a vehicle control interface box (VCIB) 40.
[0034] The base vehicle 30 performs various types of vehicle control based on control requests from ADK 10 (ADS 11). The base vehicle 30 includes various systems and sensors for controlling itself. More specifically, the base vehicle 30 includes an integrated control manager 31, a braking system 32, a steering system 33, a transmission system 34, an active safety system 35, a body system 36, wheel speed sensors 51 and 52, a pinion angle sensor 53, a camera 54, and radar sensors 55 and 56.
[0035] The integrated control manager 31 includes a processor (not shown) such as a central processing unit (CPU) and memories (not shown) such as read-only memory (ROM) and random access memory (RAM), and integrates the aforementioned systems (braking system 32, steering system 33, transmission system 34, active safety system 35 and body system 36) related to the operation of vehicle 1.
[0036] The braking system 32 is configured to control braking devices located in each wheel of the basic vehicle 30. The braking devices include, for example, a disc brake system (not shown) that operates according to hydraulic pressure regulated by an actuator.
[0037] Wheel speed sensors 51 and 52 are connected to the braking system 32. Wheel speed sensor 51 detects the rotational speed of the front wheels of the base vehicle 30 and outputs the detected front wheel rotational speed to the braking system 32. Wheel speed sensor 52 detects the rotational speed of the rear wheels of the base vehicle 30 and outputs the detected rear wheel rotational speed to the braking system 32. The braking system 32 outputs the rotational speed of each wheel as one of the information included in the vehicle status to the VCIB 40. Furthermore, the braking system 32 generates braking commands for the braking device based on predetermined control requests output from the ADS 11 via the VCIB 40 and the integrated control manager 31. The braking system 32 uses the generated braking commands to control the braking device. The integrated control manager 31 is able to calculate the speed (vehicle speed) of the vehicle 1 based on the rotational speed of each wheel.
[0038] The steering system 33 is configured to control the steering angle (tire rotation angle) of the steering wheel of the vehicle 1 using the steering mechanism. For example, the steering mechanism includes a rack and pinion electric power steering (EPS) system capable of adjusting the steering angle via an actuator.
[0039] The pinion angle sensor 53 is connected to the steering system 33. The pinion angle sensor 53 detects the rotation angle (pinion angle) of the pinion gear connected to the rotating shaft of the actuator and outputs the detected pinion angle to the steering system 33. The steering system 33 outputs the pinion angle as one of the pieces of information included in the vehicle status to the VCIB 40. Furthermore, the steering system 33 generates steering commands for the steering mechanism based on predetermined control requests output from the ADS 11 via the VCIB 40 and the integrated control manager 31. The steering system 33 uses the generated steering commands to control the steering mechanism.
[0040] The transmission system 34 controls an electric parking brake (EPB) system 341 located in at least one of the multiple wheels, a parking lock (P-lock) system 342 located in the transmission of the vehicle 1, and a propulsion system 343 including a shifting device (not shown) configured to select gear positions. Detailed configuration of the transmission system 34 will be described using [the relevant documentation / technology]. Figure 2 Describe it.
[0041] The active safety system 35 uses camera 54 and radar sensors 55 and 56 to detect obstacles (pedestrians, bicycles, parked vehicles, utility poles, etc.) on the front and rear sides. Based on the distance between vehicle 1 and the obstacle and the direction of vehicle 1's movement, the active safety system 35 determines whether there is a possibility of a collision between vehicle 1 and the obstacle. When a collision possibility is determined, the active safety system 35 outputs a braking command to the braking system 32 through the integrated control manager 31 to increase braking force.
[0042] The body system 36 is configured to control components including turn signals, horn, and wipers (all not shown) based on, for example, the driving state of vehicle 1 and the environment. The body system 36 controls these components according to predetermined control requests output from ADS 11 via VCIB 40 and integrated control manager 31.
[0043] VCIB 40 is configured to communicate with ADS 11 via a controller area network (CAN), etc. VCIB 40 receives various control requests from ADS 11 by executing predetermined APIs defined for each signal and outputs vehicle status to ADS 11. Upon receiving a control request from ADK 10, VCIB 40 outputs the control command corresponding to the control request to the system corresponding to the control command via the integrated control manager 31. Furthermore, VCIB 40 obtains various information about the base vehicle 30 from various systems via the integrated control manager 31 and outputs the status of the base vehicle 30 as vehicle status to ADS 11.
[0044] Vehicle 1 can be used as a component of a Mobility-as-a-Service (MaaS) system. In addition to Vehicle 1, the MaaS system also includes, for example, a data server and a mobility service platform (MSPF) (neither shown).
[0045] MSPF is a comprehensive platform that connects to various mobility services. Mobility services related to autonomous driving connect to MSPF. In addition to autonomous driving-related mobility services, mobility services provided by car-sharing companies, car rental companies, taxi companies, insurance companies, and others can connect to MSPF.
[0046] Vehicle 1 also includes a data communication module (DCM) (not shown) capable of wirelessly communicating with a data server. For example, the DCM outputs multiple vehicle information items such as speed, location, and autonomous driving status to the data server. In addition, the DCM receives various data from the mobility services via MSPF and the data server for managing the driving of autonomous vehicles (including vehicle 1) in autonomous driving-related mobility services.
[0047] In MSPF, APIs for using various data related to vehicle status and vehicle control required for developing ADS 11 are publicly available. Using these publicly available APIs, various mobility services can utilize the various functions provided by MSPF depending on their service content. For example, using the publicly available APIs in MSPF, autonomous driving-related mobility services can obtain driving control data about vehicle 1, information stored in the data server, etc., from MSPF. Furthermore, using the APIs, autonomous driving-related mobility services can send data used to manage autonomous vehicles, including vehicle 1, to MSPF.
[0048] Detailed configuration
[0049] Figure 2 This is a diagram showing in detail the configuration of ADS 11, VCIB 40, and VP 20 according to this embodiment. (See diagram for details.) Figure 2 As shown, ADS 11 includes a computer 111, a human-machine interface (HMI) 112, an identification sensor 113, an attitude sensor 114, and a sensor cleaner 115.
[0050] Computer 111 includes a processor (not shown), such as a central processing unit (CPU), and memories (not shown), such as read-only memory (ROM) and random access memory (RAM). The memories store programs that can be executed by the processor. During autonomous driving of vehicle 1, computer 111 uses various sensors (described later) to acquire the environment of vehicle 1, as well as the attitude, behavior, and position of vehicle 1, and acquires the vehicle state from VP 20 via VCIB 40, then sets the next action of vehicle 1 (acceleration, deceleration, turning, etc.). Computer 111 outputs various instructions to VCIB 40 to implement the next action. Computer 111 also includes communication modules 111A and 111B. Each of communication modules 111A and 111B is configured to communicate with VCIB 40.
[0051] HMI 112 presents information to the user and receives user input during autonomous driving, during driving requiring user intervention, and during transitions between autonomous driving and driving requiring user intervention. For example, HMI 112 is configured to connect to an input-output device (not shown) such as a touch panel display located in the base vehicle 30.
[0052] The identification sensor 113 is a sensor used to identify the environment of the vehicle 1. For example, the identification sensor 113 includes at least one of laser imaging detection and ranging (LIDAR), millimeter-wave radar, and a camera (all not shown). The LIDAR, for example, measures the distance and direction of a target by emitting an infrared pulsed laser beam and detecting the reflected light from the laser beam. The millimeter-wave radar measures the distance and direction of a target by emitting millimeter waves and detecting the reflected waves from the millimeter waves. The camera, for example, is positioned behind a rearview mirror and captures images of the front of the vehicle 1.
[0053] Attitude sensor 114 is a sensor used to detect the attitude, behavior, and position of vehicle 1. Attitude sensor 114 includes, for example, an inertial measurement unit (IMU) and a global positioning system (GPS) (both not shown). For example, the IMU detects the acceleration of vehicle 1 in the forward, left-right, and up-down directions, as well as the angular velocity of vehicle 1 in the (wheel) rolling direction, (vehicle) pitch direction, and yaw direction. The GPS uses information received from multiple GPS satellites orbiting the Earth to detect the position of vehicle 1.
[0054] Sensor cleaner 115 is configured to remove contaminants adhering to various sensors (camera lenses, laser beam irradiation units, etc.) using cleaning fluid, wipers, etc. while the vehicle 1 is in motion.
[0055] VCIB 40 includes VCIB 41 and VCIB 42. VCIB 41 and 42 each include processors 411 and 421, such as a central processing unit (CPU), memories 412 and 422, such as read-only memory (ROM) and random access memory (RAM), and communication units 413 and 423, serving as interfaces for communication with external systems. The memories store programs that can be executed by the processors. Communication unit 413 of VCIB 41 and communication module 111A are communicatively connected to each other. Communication unit 423 of VCIB 42 and communication module 111B are communicatively connected to each other. Furthermore, communication unit 413 of VCIB 41 and communication unit 423 of VCIB 42 are communicatively connected to each other.
[0056] Each of VCIBs 41 and 42 relays control requests and vehicle information between ADS 11 and VP 20. More specifically, VCIB 41 uses an API to generate control commands based on control requests received from ADS 11.
[0057] Examples of control instructions (commands) corresponding to control requests provided from ADS 11 to VCIB 40 include a drive direction command requesting to switch gears, a stationary command requesting to activate or deactivate EPB system 341 and P-lock system 342, an acceleration command requesting to accelerate or decelerate vehicle 1, a tire rotation angle command requesting to rotate the tire rotation angle of the wheels, an automation command requesting to switch between automatic and manual modes, and a stop command requesting to keep the vehicle stationary or release the vehicle from a stationary state.
[0058] VCIB 41 outputs the generated control commands to the corresponding systems among the multiple systems included in VP 20. Furthermore, VCIB 41 uses the API to generate information indicating the vehicle status based on vehicle information received from the systems of VP 20. This information indicating the vehicle status can be the same as the vehicle information, or it can be information extracted from the vehicle information as information for processing to be performed in ADS 11. VCIB 41 outputs the generated information indicating the vehicle status to ADS 11. VCIB 42 operates in the same manner.
[0059] Braking system 32 includes braking systems 321 and 322. Steering system 33 includes steering systems 331 and 332. Transmission system 34 includes EPB system 341, P-lock system 342, and propulsion system 343.
[0060] Although VCIB 41 and VCIB 42 have essentially equivalent functions, they are connected to different systems included in VP 20. Specifically, VCIB 41, braking system 321, steering system 331, EPB system 341, P-lock system 342, propulsion system 343, and body system 36 are communicatively connected to each other via a communication bus. VCIB 42, braking system 322, steering system 332, and P-lock system 342 are also communicatively connected to each other via a communication bus.
[0061] Therefore, since VCIB 40 includes VCIB 41 and 42 with equivalent functions related to the operation of certain systems (braking, steering, etc.), there is a redundant control system between ADS 11 and VP 20. Thus, when some faults occur in the system, the function of VP 20 can be maintained by switching the control system as needed or shutting down the faulty control system.
[0062] Each of braking systems 321 and 322 is configured to control the braking device. Braking system 321 generates a braking command for the braking device based on a control request output from ADS 11 via VCIB 41. Braking system 322 generates a braking command for the braking device based on a control request output from ADS 11 via VCIB 42. Braking systems 321 and 322 may have equivalent functions. Alternatively, one of braking systems 321 and 322 may be configured to independently control the braking force of each wheel, while the other may be configured to control the braking force to generate the same braking force in each wheel. For example, braking systems 321 and 322 may use a braking command generated by one braking system to control the braking device, and when an anomaly occurs in that braking system, use a braking command generated by the other braking system to control the braking device.
[0063] Each of the steering systems 331 and 332 is configured to control the steering angle of the steering wheel of vehicle 1 using a steering mechanism. Steering system 331 generates steering commands for the steering mechanism based on a control request output from ADS 11 via VCIB 41. Steering system 332 generates steering commands for the steering mechanism based on a control request output from ADS 11 via VCIB 42. Steering systems 331 and 332 may have equivalent functions. Alternatively, for example, steering systems 331 and 332 may use steering commands generated by one of the steering systems to control the steering mechanism, and in the event of an anomaly in that steering system, use steering commands generated by the other steering system to control the steering mechanism.
[0064] The EPB system 341 controls the EPB according to a control request output from the ADS 11 via the VCIB 41. The EPB is separate from the braking system (such as a disc brake system) and secures the wheels by operating an actuator. For example, the EPB secures the wheels by actuating a drum brake installed in some wheels for parking, or by actuating a braking device that can regulate the hydraulic pressure supplied to the braking device, which is separate from the braking systems 321 and 322. The EPB system 341 has a brake holding function and is configured to switch between enabling and disabling brake holding.
[0065] The P-lock system 342 controls the P-lock device according to control requests output from the ADS 11 via the VCIB 41. For example, when the control request includes a request to move the gear to the parking gear (P gear), the P-lock system 342 activates the P-lock device, and when the control request includes a request to move the gear to a gear other than P gear, the P-lock system 342 deactivates the P-lock device. The P-lock device engages a protrusion at the front end of the parking lock pawl with the teeth of a gear (locking gear) configured to be connected to a rotating element within the transmission of the vehicle 1; the position of this protrusion can be adjusted by an actuator. Therefore, the output shaft of the transmission is fixed to not rotate, and the wheels are fixed.
[0066] The propulsion system 343 switches the gears of the transmission and controls the driving force from the drive source (electric generator, engine, etc.) according to the control request output from the ADS 11 via the VCIB 41. In addition to the P gear, the gears include, for example, neutral (N gear), drive (D gear), and reverse (R gear).
[0067] The active safety system 35 is communicatively connected to the braking system 321. As described above, the active safety system 35 uses a camera 54 and / or a radar sensor 55 to detect obstacles in front, and when it determines that there is a possibility of a collision, it outputs a braking command to the braking system 321 to increase braking force.
[0068] The body system 36 controls components including turn signals, horn and wipers based on control requests output from ADS 11 via VCIB 41.
[0069] In vehicle 1, for example, when the automatic mode is selected via user operation of HMI 112, automatic driving is executed. In automatic driving, ADS 11 first creates a driving plan as described above. Examples of driving plans include a plan for the vehicle to continue straight, a plan for the vehicle to turn left or right at a predetermined intersection at a point along a predetermined route, and a plan for the vehicle to change lanes. Based on the created driving plan, ADS 11 calculates the control-related physical quantities (acceleration, deceleration, tire rotation angle, etc.) required for the operation of vehicle 1. ADS 11 divides the physical quantities for each execution cycle of the API. Using the API, ADS 11 outputs control requests to VCIB 40 displaying the divided physical quantities. Furthermore, ADS 11 obtains the vehicle state (actual direction of movement of vehicle 1, vehicle stationary state, etc.) from VP 20 and recreates a driving plan reflecting the obtained vehicle state. In this way, ADS 11 is able to achieve automatic driving of vehicle 1.
[0070] Control using API
[0071] When ADK 10 is installed on a VP 20, the ability to properly control any VP 20 is considered an issue.
[0072] As a solution, the memories 412 and 422 of VCIBs 41 and 42 store multiple execution messages for executing multiple processes corresponding to multiple APIs included in an API set (the API set is a combination of APIs for requesting VP 20 to perform a predetermined function and requesting the sending of predetermined information from VP 20), and pre-store these execution messages for various types of API sets. The communication units 413 and 423 of VCIBs 41 and 42 receive requests from ADK 10 based on APIs included in a licensed API set, in which ADK 10 is pre-licensed to use the licensed API set. The processors 411 and 421 of VCIBs 41 and 42 execute the process corresponding to the request by using the execution messages of the APIs related to the request received by the communication units 413 and 423 from the multiple execution messages for licensed API sets stored in memories 412 and 422.
[0073] Therefore, multiple execution information entries for multiple API sets corresponding to various VP 20 types are pre-stored in the memories 412 and 422 of VCIBs 41 and 42, respectively, so that regardless of which VP 20 is installed in, the API set corresponding to that VP 20 can be used to properly control that VP 20. Thus, any VP 20 can be properly controlled.
[0074] Several types of APIs are designated as interfaces for ADK 10 to interact with VP 20's VCIB 40. APIs are interfaces used to request VP 20 to perform predetermined functions and to request the transmission of predetermined information from VP 20. APIs include, for example, APIs for motion-related control of VP 20, APIs for control related to the electrical components of VP 20, APIs for power-related control of VP 20, APIs for notifying VP 20 of faults, and APIs for the safety of VP 20.
[0075] For example, the APIs for motion-related control of VP 20 include APIs for requests (commands) to command VP 20 to accelerate or decelerate, APIs for requests (commands) to command the tire rotation angle of the front wheels, APIs for requests to notify the speed (vehicle speed) in the direction of travel, and APIs for requests to notify the rotation angle of the front wheels.
[0076] APIs for controlling the electrical components of VP 20 include APIs for requesting (commands) to command the illumination status of turn signals, APIs for requesting (commands) to turn the air conditioning on or off, APIs for requesting notification of the illumination status of turn signals, and APIs for requesting notification of the drive status of the air conditioning.
[0077] The set of APIs that constitutes the combination of available APIs is predetermined by the VP 20 manufacturer based on the VP 20's vehicle type, model, class, etc. For example, for vehicle type A, a set of predetermined APIs including 100 types is predetermined as the available API set. Similarly, for vehicle types B and C, sets of predetermined APIs including 200 types and 300 types, respectively, are predetermined as the available API sets.
[0078] The ROMs of the memories 412 and 422 of VCIBs 41 and 42 pre-store multiple execution information (e.g., programs and data) for executing multiple processes corresponding to APIs included in various types of API sets. To date, it is necessary to manufacture VCIBs 41 and 42 that store execution information corresponding to each vehicle type A through C, and to distribute VCIBs 41 and 42 to be integrated into VP 20.
[0079] In this embodiment, multiple execution information for multiple APIs included in various API sets of multiple types is pre-stored in the ROM of the memories 412 and 422 of VCIB 41 and 42. The multiple types of API sets correspond to multiple vehicle types (such as vehicle types A to C), models, grades, etc.
[0080] Figure 3 This is a flowchart illustrating the process of controlling the process using the API in this embodiment. Figure 3 The ADK-side processing and VCIB-side processing are respectively invoked and executed from higher-level processing by the computer 111 of ADK 10's ADS 11 and the VCIB 40 (or integrated control manager 31) of VP 20 in each predetermined control cycle. (Includes...) Figure 3 The steps in the flowchart shown are implemented by software processing performed by ADS 11 (computer 111) or VP 20 (VCIB 40 or integrated control manager 31), but can also be implemented by hardware (circuit) arranged inside ADS 11 or VP 20.
[0081] Here, before manufacturing ADK 10, the manufacturer of ADK 10 applies to a person who grants permission to use the API set (e.g., the manufacturer of vehicle 1, the manufacturer of VP 20, or the manufacturer of VCIB 40) for permission to use a specific set of APIs from among the various types of API sets that the manufacturer of ADK 10 wishes to use in ADK 10. In response to this application, the person granting permission to use the API set provides the manufacturer of ADK 10 with authentication key data, which is authentication information including type information that identifies the specific API set for which permission has been applied and granted. When ADK 10 is manufactured, the manufacturer of ADK 10 stores the authentication key data received from the person granting permission to use the specific API set in the ROM of computer 111 of ADK 10's ADS 11.
[0082] Reference Figure 3 In ADK 10, computer 111 of ADS 11 determines whether ADS 11 is in the boot state (step S111). When it is determined that ADS 11 is in the boot state ("Yes" in step S111), computer 111 controls communication modules 111A and 111B to send data including authentication key information about a specific set of APIs stored in the ROM of computer 111 to VCIB 40 (step S112).
[0083] In VCIB 40, processors 411 and 421 of VCIB 41 and 42 determine whether communication units 413 and 423 have received authentication key data from ADK10 (step S211). When it is determined that authentication key data has been received ("yes" in step S211), processors 411 and 421 determine whether the received authentication key is genuine (step S212). Known methods can be used to determine whether the authentication key is genuine. For example, multiple execution information entries for various types of API sets are pre-stored in the ROM of the memories 412 and 422 of VCIB 41 and 42, and multiple authenticity determination data entries corresponding to these execution information entries are pre-stored. A method for determining whether the authentication data is genuine can be to use one authenticity determination data entry corresponding to the received authentication key from among the multiple authenticity determination data entries stored in the ROM of the memories 412 and 422 of VCIB 41 and 42 to determine authenticity.
[0084] When the authentication key is determined to be authentic ("Yes" in step S212), processors 411 and 421 authorize the use of a specific API set indicated by the type information included in the authentication key in VP 20 (step S213). Specifically, processors 411 and 421 store information indicating that the use of the specific API set is authorized in the RAM of the memories 412 and 422 of VCIBs 41 and 42. Furthermore, processors 411 and 421 send the information indicating that the use of the specific API set is authorized to ADK 10. When the authentication key is determined to be authentic, processors 411 and 421 may send information indicating that the use of the specific API set is not authorized to ADK 10.
[0085] In ADK 10, computer 111 of ADS 11 determines whether it has received permission information for the use of a specific API set from VCIB 41, 42 (step S113). If it is determined that no permission information has been received ("No" in step S113), computer 111 executes the permission denial process (step S114). The permission denial process can be any process that makes the specific API set unavailable, such as the process of shutting down ADK 10.
[0086] When it is determined that information indicating permission to use a specific set of APIs has been received ("Yes" in step S113), or when it is determined that ADS 11 is not started ("No" in step S111) and permission to use the specific set of APIs has been granted, computer 111 determines whether it is currently an API control cycle (step S115). Control of VP 20 using APIs is time-sharing control within each predetermined control cycle.
[0087] When it is determined that the current period is a control cycle ("Yes" in step S115), in the program executed in computer 111, computer 111 controls communication modules 111A and 111B to send requests (if any) according to APIs included in a specific set of licensed APIs, for obtaining a predetermined state from multiple vehicle states of VP 20 (step S116). For example, in the driving control program executed in computer 111, when there is a request to obtain the vehicle speed in the driving direction, computer 111 controls communication modules 111A and 111B to send requests according to APIs used to request notification of the vehicle speed in the driving direction.
[0088] Furthermore, in the program executed in computer 111, computer 111 controls communication modules 111A and 111B to send requests (if any) according to APIs included in a specific set of licensed APIs for control of predetermined control items among multiple control items of VP 20 (step S117). For example, in the driving control program executed in computer 111, when there is a request to command VP 20 to accelerate, computer 111 controls communication modules 111A and 111B to send requests according to the APIs used for the request to command VP 20 to accelerate.
[0089] In VCIB 40, processors 411 and 421 of VCIB 41 and 42 determine whether communication units 413 and 423 have received any requests from ADK 10 (step S214). When it is determined that any request has been received ("Yes" in step S214), processors 411 and 421 determine whether the API corresponding to the received request is a licensed API included in the set of licensed APIs (step S215). When no request is received from ADK 10 ("No" in step S214), or when it is determined that the API corresponding to the received request is not a licensed API ("No" in step S215), the processing to be executed is returned to the higher-order processing that calls the VCIB-side processing from it.
[0090] When it is determined that the API corresponding to the received request is not a licensed API, processors 411 and 421 may perform pre-defined processing for the case where a request to execute an API that is not a licensed API has been received. For example, as pre-defined processing, processors 411 and 421 may perform the following processing: send a notification that a request to execute an API that is not a licensed API has been received to the person who has been granted permission to use the set of APIs.
[0091] When it is determined that the API corresponding to the received request is a licensed API ("Yes" in step S215), processors 411 and 421 use the execution information for the API corresponding to the received request to execute the processing corresponding to that API (step S216), and when there is an execution result for the processing corresponding to the API, control communication units 413 and 423 send a response showing the execution result to ADK 10 (step S217). Afterwards, processors 411 and 421 return the processing to be executed to the higher-order processing from which the VCIB-side processing was invoked.
[0092] For example, when the received request is for notifying the vehicle speed in the direction of travel, processors 411 and 421, based on the received request, execute processing to obtain the vehicle speed using execution information from the API used to notify the vehicle speed in the direction of travel (e.g., obtaining the vehicle speed from the propulsion system 343), and control communication units 413 and 423 to send the obtained vehicle speed to ADK 10. When the received request is for commanding VP 20 to accelerate, processors 411 and 421, based on the received request, execute processing to accelerate the vehicle speed (e.g., sending an acceleration command to the propulsion system 343).
[0093] In ADK 10, when communication modules 111A and 111B receive a response from VCIB 41 and 42 indicating the execution result of the processing corresponding to the API, the computer 111 of ADS 11 stores the execution result indicated by the received response in the computer 111's RAM (step S118). For example, when a vehicle speed in the driving direction is received as a response indicating the execution result of the processing corresponding to the API, the computer 111 stores the vehicle speed in the computer 111's RAM. For example, the execution result of the API stored in the computer 111's RAM is used by ADK 10 to control VP20 in the next control cycle.
[0094] After step S118, or when it is determined that it is not a control cycle ("No" in step S115), the computer 111 of ADS 11 returns the process to be executed to the higher-order process from which the ADK-side process was called.
[0095] Variation Example
[0096] (1) In the above embodiments, such as Figure 3 As shown in steps S111 to S113, the authentication key is verified as genuine when ADK10 starts. However, this is not the only possibility; verification can also be performed at other times, such as when the vehicle 1, which is already in motion, switches to autonomous driving while in motion, or when autonomous driving begins.
[0097] (2) In the above embodiments, such as Figure 3 As shown in step S115, API-based processing is performed in each control cycle. However, this is not a limitation; API-based processing can be performed at other times, for example, when API-based processing is performed by the driving control program executed in ADK10.
[0098] (3) In the above embodiments, such as Figure 3As shown in step S215, each time a request is received, it is determined whether the API corresponding to the request is a licensed API included in the specific set of APIs that are permitted for use. However, this is not a limitation; the determination of whether the API corresponding to the request is a licensed API can be made at other times, such as after a predetermined number of requests have been made or at intervals of a predetermined time period. Alternatively, in step S213, during the phase where the use of the specific set of APIs is permitted, the APIs corresponding to all subsequent requests can be considered licensed APIs, and the determination of whether the execution API is a licensed API can be omitted at the time the request is received.
[0099] (4) In the above embodiments, ADK 10 and VCIB 41, 42 are interconnected via CAN. However, it is not limited to this, and the means for interconnecting ADK 10 and VCIB 41, 42 can be any connection system, and can be an in-vehicle communication network different from CAN or a communication system using other communication methods.
[0100] (5) The above embodiments can be regarded as a disclosure of devices such as vehicle 1, ADK 10, ADS 11, VP 20, basic vehicle 30 and VCIB 40, and a disclosure of control methods or control programs in these devices.
[0101] Summary
[0102] (1) As Figure 1 and Figure 2 As shown, vehicle 1 includes a VP20 with driving, turning, and stopping functions; an ADK 10 that can be attached to and detached from the VP20 and issues automatic driving commands to the VP20; and a VCIB 40 that outputs control commands for controlling the VP20. Figure 2 As shown, VCIB 40 (VCIB 41, 42) includes memories 412, 422, communication units 413, 423, and processors 411, 421. For example... Figure 2 and Figure 3 As shown, memories 412 and 422 store multiple execution messages for performing processes corresponding to multiple APIs included in an API set (this API set is a combination of APIs for requesting VP 20 to perform predetermined functions and requesting the sending of predetermined information from VP 20), and pre-store these execution messages for various types of API sets. Figure 2 and Figure 3As shown, communication units 413 and 423 receive requests from ADK 10 based on APIs included in a licensed API set that is pre-licensed for use in various types of API sets (e.g., step S214), where ADK 10 is pre-licensed to use the licensed API set. Processors 411 and 421 execute processing corresponding to the request by using execution information of the API related to the request received by communication units 413 and 423 from multiple execution information stored in memories 412 and 422 for licensed API sets (steps S216 and S217).
[0103] Therefore, multiple execution information entries for multiple API sets corresponding to various types of VP 20 are pre-stored in the memories 412 and 422 of VCIBs 41 and 42, respectively, so that regardless of which VP 20 VCIBs 41 and 42 are installed in, the API set corresponding to the VP 20 can be used to properly control the VP 20. Thus, any VP 20 can be properly controlled.
[0104] Furthermore, by storing multiple execution information entries for API sets corresponding to various types of VP 20, VCIBs 41 and 42 can accommodate multiple types of VP 20. This eliminates the need to prepare VCIBs 41 and 42 corresponding to the API sets of each VP 20. Therefore, the manufacturing and distribution costs of VCIBs 41 and 42 can be reduced.
[0105] (2) Communication units 413 and 423 can receive authentication information from ADK 10, which can identify the set of licensed APIs. Processors 411 and 421 can determine whether the license to use the set of licensed APIs identified by the authentication information received by communication units 413 and 423 is genuine. When it is determined that the license to use the set of licensed APIs is genuine, processors 411 and 421 can perform processing corresponding to the request received by communication units 413 and 423.
[0106] Therefore, VP 20 can be controlled reliably by using the appropriate set of APIs corresponding to VP 20.
[0107] (3) The manufacturers of vehicle 1, VP 20, or VCIB 41, 42 may pre-license the manufacturer of ADK 10 to use the licensed API set. Therefore, if ADK 10 is manufactured by a manufacturer that is pre-licensed to use the licensed API set, ADK 10 is able to properly control VP 20 when installed in VP 20.
[0108] (4) ADK 10 and VCIB 41, 42 can be interconnected via an onboard communication network (e.g., CAN). Therefore, ADK 10 and VCIB 41, 42 can communicate with each other reliably.
[0109] The embodiments disclosed herein should be understood as illustrative rather than restrictive in each embodiment. The scope of this disclosure is set forth not by the description of the foregoing embodiments but by the claims, and is intended to include all changes equivalent in meaning and scope to the claims.
Claims
1. A vehicle comprising a vehicle platform having driving, turning, and stopping functions; an autonomous driving kit capable of being attached to and detached from the vehicle platform and issuing autonomous driving commands to the vehicle platform; and a vehicle control interface box for outputting control commands for controlling the vehicle platform, wherein: The vehicle control interface box includes a storage unit, a communication unit, and a control unit; The storage unit stores multiple execution information entries, which are used to execute multiple processes corresponding to multiple APIs included in an API set. The API set is a combination of APIs used to request the vehicle platform to perform a predetermined function and to request the vehicle platform to send predetermined information. The multiple execution information entries are pre-stored for various types of API sets. The various API sets correspond to various types of vehicle platforms; The communication unit receives requests from the autonomous driving suite based on APIs included in the licensed API set, wherein the autonomous driving suite is pre-licensed to use the licensed API set among the various types of API sets; and The control unit performs processing corresponding to the request by using execution information of the API related to the request received by the communication unit from among the multiple execution information stored in the storage unit for the set of licensed APIs.
2. The vehicle according to claim 1, wherein: The communication unit receives authentication information from the autonomous driving kit that allows the identification of the licensed API set; The control unit determines whether the license to use the set of licensed APIs identified by the authentication information received by the communication unit is genuine; and When the control unit determines that the permission to use the set of licensed APIs is genuine, the control unit performs the processing corresponding to the request received by the communication unit.
3. The vehicle according to claim 2, wherein, The manufacturer of the vehicle, the vehicle platform, or the vehicle control interface box pre-licenses the manufacturer of the autonomous driving kit to use the licensed API set.
4. The vehicle according to claim 1, wherein, The autonomous driving kit and the vehicle control interface box are interconnected via an in-vehicle communication network.
5. A vehicle platform having driving, turning, and stopping functions, wherein: 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 stores multiple execution information entries, which are used to execute multiple processes corresponding to multiple APIs included in an API set. The API set is a combination of APIs used to request the vehicle platform to perform a predetermined function and to request the vehicle platform to send predetermined information. The multiple execution information entries are pre-stored for various types of API sets. The various API sets correspond to various types of vehicle platforms; The communication unit receives requests from the autonomous driving suite based on APIs included in the licensed API set. The autonomous driving suite is capable of attaching to and detaching from the vehicle platform and issuing autonomous driving commands to the vehicle platform. Among the various types of API sets, the autonomous driving suite is pre-licensed to use the licensed API set. The control unit performs processing corresponding to the request by using execution information of the API related to the request received by the communication unit from among the multiple execution information stored in the storage unit for the set of licensed APIs.
6. A vehicle control interface box, installed in a vehicle platform having driving, turning, and stopping functions, and outputting control commands for controlling the vehicle platform, wherein: The vehicle control interface box includes a storage unit, a communication unit, and a control unit; The storage unit stores multiple execution information entries, which are used to execute multiple processes corresponding to multiple APIs included in an API set. The API set is a combination of APIs used to request the vehicle platform to perform a predetermined function and to request the vehicle platform to send predetermined information. The multiple execution information entries are pre-stored for various types of API sets. The various API sets correspond to various types of vehicle platforms; The communication unit receives requests from the autonomous driving suite based on APIs included in the licensed API set. The autonomous driving suite is capable of attaching to and detaching from the vehicle platform and issuing autonomous driving commands to the vehicle platform. Among the various types of API sets, the autonomous driving suite is pre-licensed to use the licensed API set. The control unit performs processing corresponding to the request by using execution information of the API related to the request received by the communication unit from among the multiple execution information stored in the storage unit for the set of licensed APIs.
7. An autonomous driving kit, capable of attaching to and detaching from a vehicle platform having driving, turning, and stopping functions, and issuing autonomous driving commands to the vehicle platform, the autonomous driving kit comprising a control unit and a communication unit, wherein: The control unit controls the communication unit to send requests to the vehicle platform according to APIs included in a set of licensed APIs. The autonomous driving suite is pre-licensed to use this set of APIs, which consists of various types of API sets that combine requests to the vehicle platform to perform predetermined functions and requests to send predetermined information from the vehicle platform. The various API sets correspond to various types of vehicle platforms; In the vehicle platform, processing corresponding to the request is performed by using execution information of multiple execution messages related to the API sent by the communication unit. These multiple execution messages are used to perform multiple processes corresponding to multiple APIs included in the set of licensed APIs.
8. A method for controlling a vehicle, the vehicle comprising a vehicle platform having driving, turning, and stopping functions; an autonomous driving kit capable of being attached to and detached from the vehicle platform and issuing autonomous driving commands to the vehicle platform; and a vehicle control interface box for outputting 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 stores multiple execution information entries, which are used to execute multiple processes corresponding to multiple APIs included in an API set. The API set is a combination of APIs used to request the vehicle platform to perform a predetermined function and to request the vehicle platform to send predetermined information. The multiple execution information entries are pre-stored for various types of API sets. The various API sets correspond to various types of vehicle platforms; The control method includes: The step of the communication unit receiving a request from the autonomous driving suite according to the APIs included in the licensed API set, wherein the autonomous driving suite is pre-licensed to use the licensed API set among the various types of API sets; as well as The control unit performs steps corresponding to the processing of the request by using the execution information of the multiple execution information related to the request received by the communication unit from the set of licensed APIs stored in the storage unit.
9. A control method for a vehicle platform, the vehicle platform having driving, turning, and stopping functions, the control method using an autonomous driving kit that can be attached to and detached from the vehicle platform and issue autonomous driving commands to the vehicle platform. The autonomous driving kit includes a control unit and a communication unit. The control method includes the step of the control unit controlling the communication unit to send requests to the vehicle platform according to APIs included in a set of licensed APIs. Among various types of API sets, the autonomous driving suite is pre-licensed to use the set of licensed APIs. These various types of API sets are combinations of APIs used to request the vehicle platform to perform predetermined functions and to request the transmission of predetermined information from the vehicle platform. The various API sets correspond to various types of vehicle platforms; In the vehicle platform, processing corresponding to the request is performed by using execution information of multiple execution messages related to the API sent by the communication unit. These multiple execution messages are used to perform multiple processes corresponding to multiple APIs included in the set of licensed APIs.
Citation Information
Patent Citations
Automatic operation controller
JP2018132015A
Control device, recording medium, and control method
CN110324806A
vehicle
JP2021123135A
Vehicle, and self-driving system
JP2021123138A
Methods and cloud systems for using connected object state data for informing and alerting connected vehicle drivers of state changes
US9648107B1