Intelligent motor torque control
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-28
- Publication Date
- 2026-08-11
AI Technical Summary
这个系统延迟导致明显的速度误差
Smart Images

Figure CN122539911A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to a system for controlling acceleration in an autonomous vehicle. Background Technology
[0002] During autonomous driving, acceleration commands are converted into torque commands, which are then sent to the vehicle's propulsion system. In known systems, the formula for converting acceleration commands into torque commands uses constant values for vehicle mass and tire size. Vehicle mass and tire size can significantly influence the amount of torque required to achieve the desired acceleration. Current systems rely on detecting actual acceleration that does not match the desired acceleration to adjust system parameters. This system delay leads to significant speed errors.
[0003] Therefore, while current vehicle systems achieve their intended purpose, there is still a need for new and improved systems and methods for controlling acceleration in autonomous vehicles that take into account vehicle mass, the presence of trailers attached to the vehicle, and the radius of the vehicle's tires when translating acceleration commands into torque commands. Summary of the Invention
[0004] According to several aspects of this disclosure, a method for controlling acceleration within an autonomous vehicle includes: receiving, via an autonomous vehicle controller, an acceleration command based on a desired acceleration of the vehicle; receiving, from multiple onboard sensors within the autonomous vehicle, real-time data relating to the radius of the vehicle's tires, the presence of a trailer connected to the vehicle, and the mass of a vehicle including any trailer connected to the vehicle; estimating the radius of the vehicle's tires based on the real-time data relating to the radius of the vehicle's tires; determining, based on the real-time data relating to the presence of a trailer connected to the vehicle, whether a trailer is connected to the vehicle; estimating, based on the real-time data relating to the mass of a vehicle including any trailer connected to the vehicle; calculating a motor torque command based on the acceleration command, the estimated radius of the vehicle's tires, and the estimated total weight of the vehicle; actuating the vehicle's propulsion system according to the calculated motor torque command; and accelerating the vehicle according to the acceleration command.
[0005] According to another aspect, calculating the motor torque command based on the acceleration command, the estimated radius of the vehicle's tires, and the estimated total weight of the vehicle also includes: accessing data related to past events in which the motor torque command was calculated via a machine learning model communicating with a database; and estimating the motor torque command for the current acceleration command, the currently estimated radius of the vehicle's tires, the currently estimated total weight of the vehicle, and the current operating and environmental conditions based on previously calculated motor torque commands for substantially similar acceleration commands, the estimated radius of the vehicle's tires, the estimated total weight of the vehicle, and operating and environmental conditions.
[0006] According to another aspect, the method further includes: receiving data related to the actual acceleration of the vehicle from multiple onboard sensors via an autonomous vehicle controller; comparing the actual acceleration of the vehicle with the desired acceleration of the vehicle; and adjusting the calculated motor torque command based on the change between the actual acceleration of the vehicle and the desired acceleration of the vehicle.
[0007] According to another aspect, the method also includes updating the machine learning model based on adjustments made to the calculated motor torque command.
[0008] According to another approach, estimating the radius of a vehicle's tires based on real-time data related to the radius of the vehicle's tires includes: estimating the radius of each tire of the vehicle when the vehicle is an all-wheel drive vehicle; and calculating the average tire radius of all tires of the vehicle.
[0009] According to another approach, estimating the radius of a vehicle's tires based on real-time data related to the radius of the vehicle's tires includes: estimating the radius of each front tire of the vehicle when the vehicle is a front-wheel drive vehicle; and calculating the average tire radius of all front tires of the vehicle.
[0010] According to another approach, estimating the radius of a vehicle's tires based on real-time data related to the radius of the vehicle's tires includes: estimating the radius of each rear tire of the vehicle when the vehicle is a rear-wheel drive vehicle; and calculating the average tire radius of all the rear tires of the vehicle.
[0011] According to another aspect, estimating the radius of a vehicle's tires based on real-time data related to the radius of the vehicle's tires includes: when real-time data related to the radius of the vehicle's tires is unavailable, performing one of the following: using a predetermined default value for the radius of the vehicle's tires, or using a previously estimated radius of the vehicle's tires.
[0012] According to another aspect, estimating the total weight of a vehicle including any trailers connected to it based on real-time data related to the mass of the vehicle including any trailers connected to it also includes: when no trailers are connected to the vehicle, estimating the total weight of the vehicle as the estimated weight of the vehicle only.
[0013] According to another aspect, estimating the total weight of a vehicle including any trailers connected to the vehicle based on real-time data related to the mass of the vehicle including any trailers connected to the vehicle also includes: when a trailer is connected to the vehicle, calculating the estimated total weight of the vehicle based on the estimated weight of the vehicle only and a multiplier based on the estimated weight of the vehicle only and the speed of the vehicle.
[0014] According to another aspect, estimating the total weight of vehicles including any trailers connected to the vehicle based on real-time data related to the mass of the vehicle including any trailers connected to the vehicle also includes: when real-time data related to the mass of the vehicle including any trailers connected to the vehicle is unavailable, performing one of the following: using a predetermined default value for the total weight, or using a previously estimated total weight.
[0015] According to several aspects of this disclosure, a system for controlling acceleration within an autonomous vehicle includes: an autonomous vehicle controller adapted to receive an acceleration command based on a desired acceleration of the vehicle; receiving real-time data from a plurality of onboard sensors within the autonomous vehicle relating to the radius of the vehicle's tires, the presence of a trailer connected to the vehicle, and the mass of a vehicle including any trailer connected to the vehicle; estimating the radius of the vehicle's tires based on the real-time data relating to the radius of the vehicle's tires; determining whether a trailer is connected to the vehicle based on the real-time data relating to the presence of a trailer connected to the vehicle; estimating the total weight of a vehicle including any trailer connected to the vehicle based on the real-time data relating to the mass of a vehicle including any trailer connected to the vehicle; calculating a motor torque command based on the acceleration command, the estimated radius of the vehicle's tires, and the estimated total weight of the vehicle; actuating a propulsion system of the vehicle based on the calculated motor torque command; and accelerating the vehicle based on the acceleration command.
[0016] According to another aspect, when calculating the motor torque command based on the acceleration command, the estimated radius of the vehicle's tires, and the estimated total weight of the vehicle, the autonomous vehicle controller is also adapted to access data related to past events in which the motor torque command was calculated via a machine learning model communicating with a database, and to estimate the motor torque command for the current acceleration command, the currently estimated radius of the vehicle's tires, the currently estimated total weight of the vehicle, and the current operating and environmental conditions based on previously calculated motor torque commands for substantially similar acceleration commands, the estimated radius of the vehicle's tires, the estimated total weight of the vehicle, and operating and environmental conditions.
[0017] According to another aspect, the autonomous vehicle controller is also adapted to receive data related to the actual acceleration of the vehicle from multiple on-board sensors, compare the actual acceleration of the vehicle with the desired acceleration of the vehicle, and adjust the calculated motor torque command based on the change between the actual acceleration of the vehicle and the desired acceleration of the vehicle.
[0018] On the other hand, the autonomous vehicle controller is also adapted to update the machine learning model based on adjustments made to the calculated motor torque commands.
[0019] According to another aspect, when estimating the radius of a vehicle's tires based on real-time data related to the radius of the vehicle's tires, the autonomous vehicle controller is also adapted to: when the vehicle is an all-wheel-drive vehicle, estimate the radius of each tire of the vehicle and calculate the average tire radius of all tires of the vehicle; when the vehicle is a front-wheel-drive vehicle, estimate the radius of each front tire of the vehicle and calculate the average tire radius of all front tires of the vehicle; when the vehicle is a rear-wheel-drive vehicle, estimate the radius of each rear tire of the vehicle and calculate the average tire radius of all rear tires of the vehicle; and when real-time data related to the radius of the vehicle's tires is unavailable, perform one of the following: use a predetermined default value for the radius of the vehicle's tires, or use a previously estimated radius of the vehicle's tires.
[0020] According to another aspect, when estimating the total weight of the vehicle including any trailers connected to the vehicle based on real-time data related to the mass of the vehicle including any trailers connected to the vehicle, the autonomous vehicle controller is also adapted to estimate the total weight of the vehicle as the estimated weight of the vehicle only when no trailers are connected to the vehicle.
[0021] According to another aspect, when estimating the total weight of vehicles including any trailers connected to the vehicle based on real-time data related to the mass of the vehicle including any trailers connected to the vehicle, the autonomous vehicle controller is also adapted to calculate the estimated total weight of the vehicle when the trailer is connected to the vehicle, based on the estimated weight of the vehicle only and a multiplier based on the estimated weight of the vehicle only and the speed of the vehicle.
[0022] According to another aspect, when estimating the total weight of the vehicle including any trailers connected to the vehicle based on real-time data related to the mass of the vehicle including any trailers connected to the vehicle, the autonomous vehicle controller is also adapted to perform one of the following when real-time data related to the mass of the vehicle including any trailers connected to the vehicle is unavailable: using a predetermined default value for the total weight, or using a previously estimated total weight.
[0023] Further applicability will become apparent from the description provided herein. It should be understood that the description and specific examples are intended for illustrative purposes only and are not intended to limit the scope of this disclosure. Attached Figure Description
[0024] The accompanying drawings described herein are for illustrative purposes only and are not intended to limit the scope of this disclosure in any way.
[0025] Figure 1 This is a schematic diagram of a vehicle having a system according to an exemplary embodiment of the present disclosure;
[0026] Figure 2 This is a schematic diagram of a system according to an exemplary embodiment; and
[0027] Figure 3 This is a schematic flowchart illustrating a method according to an exemplary embodiment of the present disclosure.
[0028] The figures are not necessarily drawn to scale, and some features may be exaggerated or minimized, such as to show details of specific components. In some cases, well-known components, systems, materials, or methods have not been described in detail to avoid obscuring the content of this disclosure. Therefore, the specific structural and functional details disclosed herein should not be construed as limiting, but merely as the basis for the claims and as a representative basis for teaching those skilled in the art to apply this disclosure in various ways. Detailed Implementation
[0029] The following description is merely exemplary in nature and is not intended to limit the scope, application, or use of this disclosure. Furthermore, the invention is not intended to be bound by any express or implied theory presented in the foregoing technical fields, background art, summary of the invention, or the following detailed description. It should be understood that throughout the drawings, corresponding reference numerals indicate the same or corresponding parts and features. As used herein, the term "module" individually or in any combination refers to any hardware, software, firmware, electronic control components, processing logic, and / or processor device, including but not limited to: application-specific integrated circuits (ASICs), electronic circuits, processors (shared processors, dedicated processors, or group processors) and memories executing one or more software or firmware programs, combinational logic circuits, and / or other suitable components providing the said functionality. Although the drawings shown herein depict examples with certain element arrangements, additional intermediate elements, devices, features, or components may be present in actual embodiments. It should also be understood that the drawings are merely illustrative and may not be drawn to scale.
[0030] As used herein, the term "vehicle" is not limited to automobiles. While this technology is primarily described in conjunction with automobiles (including autonomous or semi-autonomous vehicles), it is not limited to automobiles. These concepts can be used in a variety of applications, such as in conjunction with aircraft, ships, other vehicles, and consumer electronics components.
[0031] The provision of exemplary embodiments makes this disclosure exhaustive and will fully convey the scope to those skilled in the art. Numerous specific details, such as examples of specific compositions, components, apparatuses, and methods, are set forth to provide a thorough understanding of embodiments of this disclosure. It will be apparent to those skilled in the art that specific details are not required, exemplary embodiments may be embodied in many different forms, and none should be construed as limiting the scope of this disclosure. In some exemplary embodiments, well-known processes, well-known apparatus structures, and well-known techniques are not described in detail.
[0032] The terminology used herein is for the purpose of describing particular exemplary embodiments only and is not intended to be limiting. As used herein, the singular forms “a,” “an,” and “the” may also be intended to include the plural forms unless the context clearly indicates otherwise. The terms “comprising,” “including,” and “having” are inclusive and therefore specify the presence of the stated features, elements, components, steps, integrals, operations, and / or parts, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, parts, and / or groups thereof. Although the open-ended term “comprising” should be understood as a non-limiting term used to describe and claim the various embodiments set forth herein, in some respects it may be alternatively understood to be a more restrictive and binding term, such as “consisting of” or “substantially consisting of.” Therefore, for any given embodiment that describes a composition, material, component, element, feature, integral, operation, and / or process step, this disclosure also specifically includes embodiments that consist of or substantially consist of the compositions, materials, components, elements, features, integrals, operation, and / or process steps described in this order. In the case of “consisting of…”, alternative embodiments exclude any additional compositions, materials, components, elements, features, integrals, operation, and / or process steps, while in the case of “substantially consisting of…”, any additional compositions, materials, components, elements, features, integrals, operation, and / or process steps that substantially affect the basic and novel features are excluded from such embodiments, but any compositions, materials, components, elements, features, integrals, operation, and / or process steps that do not substantially affect the basic and novel features may be included in the embodiments.
[0033] Any methods, procedures, and operations described herein should not be construed as requiring performance in a specific order discussed or described, unless explicitly identified as such. It should also be understood that additional or alternative steps may be used unless otherwise stated.
[0034] When a component, element, or layer is referred to as “on,” “joined to,” “connected to,” or “coupled to,” another component or layer, it may be on, joined to, connected to, or coupled to another component, element, or layer, or there may be intermediate elements or layers present. Conversely, when an element is referred to as “directly on,” “directly joined to,” “directly connected to,” or “directly coupled to,” another component or layer, there may be no intermediate elements or layers present. Other terms used to describe relationships between elements should be interpreted in a similar manner (e.g., “between” vs. “directly between,” “adjacent” vs. “directly adjacent,” etc.). As used herein, the term “and / or” includes any and all combinations of one or more of the associated listed items.
[0035] Although the terms first, second, third, etc., may be used herein to describe various steps, elements, components, regions, layers, and / or sections, these steps, elements, components, regions, layers, and / or sections should not be limited by these terms unless otherwise stated. These terms may only be used to distinguish one step, element, component, region, layer, or portion from another step, element, component, region, layer, or portion. When used herein, terms such as “first,” “second,” and other numerical terms do not imply order or sequence unless the context clearly indicates otherwise. Therefore, the first step, element, component, region, layer, or section discussed below may be referred to as the second step, element, component, region, layer, or section without departing from the teachings of the exemplary embodiments.
[0036] For ease of description, spatial or temporal relative terms such as “before,” “after,” “inside,” “outside,” “below,” “below,” “down,” “above,” “up,” etc., may be used in this document to describe the relationship between an element or feature and another element or feature shown in the figure. Spatial or temporal relative terms may be intended to cover different orientations of the device or system in use or operation other than those depicted in the figure.
[0037] Throughout this disclosure, numerical values represent approximate measurements or limitations of ranges to cover minor deviations from a given value and embodiments having approximately the mentioned value as well as embodiments having precise mentioned values. Except for the working embodiments provided at the end of the detailed description, numerical values for all parameters (e.g., quantities or conditions) in this specification (including the appended claims) should be understood to be modified in all cases by the term “approximately,” regardless of whether “approximately” actually appears before the numerical value. “Approximately” indicates that the stated numerical value allows for slight inaccuracies (but has some close accuracy in terms of the numerical value; about or reasonably close to the value; almost). If the inaccuracy provided by “approximately” cannot be understood in the art in any other way in its ordinary meaning, then “approximately” as used herein at least indicates a variation that may be caused by the usual methods of measuring and using these parameters. For example, in terms of percentages, “approximately” includes a variation of ±5%, in terms of temperature, “approximately” includes a variation of ±5 degrees, and in terms of distances (width, height, length), “approximately” includes ±10%. Furthermore, the disclosure of ranges includes the disclosure of all values throughout the entire range and further subdivided ranges (including endpoints and subranges given for the range). Furthermore, the disclosure of a range includes the disclosure of all values within the entire range and the disclosure of further subdivided ranges (including endpoints and subranges given for the range).
[0038] According to an exemplary embodiment, Figure 1 An autonomous vehicle 10 is shown, having an associated system 50 for controlling the acceleration of the autonomous vehicle 10. Generally, system 50 works in conjunction with other systems within the vehicle 10. The vehicle 10 generally includes a chassis 12, a body 14, front wheels 16, and rear wheels 18. The body 14 is arranged on the chassis 12 and substantially surrounds the components of the vehicle 10. The body 14 and the chassis 12 may together form a frame. The front wheels 16 and the rear wheels 18 are each rotatably connected to the chassis 12 near their respective corners adjacent to the body 14.
[0039] The autonomous vehicle 10 is a vehicle 10 that is automatically controlled to transport passengers from one location to another. In the illustrated embodiment, vehicle 10 is depicted as a passenger car, but it should be understood that any other vehicle, including motorcycles, trucks, sport utility vehicles (SUVs), recreational vehicles (RVs), etc., may also be used. In an exemplary embodiment, vehicle 10 is equipped with a so-called Level 4 or Level 5 automation system. A Level 4 system indicates “high automation,” referring to all aspects of a dynamic driving task specifically performed by the autonomous driving system in driving modes, even if the human driver does not properly respond to requests for intervention. A Level 5 system indicates “full automation,” referring to all aspects of a dynamic driving task performed by the autonomous driving system in all road and environmental conditions that can be managed by a human driver, around the clock. System 50 can be used to provide acceleration control for the autonomous vehicle 10. Novel aspects of this disclosure are also applicable to non-autonomous vehicles.
[0040] As shown in the figure, vehicle 10 generally includes a propulsion system 20, a transmission system 22, a steering system 24, a braking system 26, a sensor system 28, an actuator system 30, at least one data storage device 32, a vehicle controller 34, and a wireless communication module 36. In embodiments where vehicle 10 is an electric vehicle, the transmission system 22 may be absent. In various embodiments, the propulsion system 20 may include an internal combustion engine, an electric motor (such as a traction electric motor), and / or a fuel cell propulsion system. The transmission system 22 is configured to transmit power from the propulsion system 20 to the front wheels 16 and rear wheels 18 of the vehicle according to a selectable speed ratio. According to various embodiments, the transmission system 22 may include a stepped automatic transmission, a continuously variable transmission (CVT), or other suitable transmission. The braking system 26 is configured to provide braking torque to the front wheels 16 and rear wheels 18 of the vehicle. In various embodiments, the braking system 26 may include friction brakes, brake-by-wire brakes, regenerative braking systems (e.g., call-in motors), and / or other suitable braking systems. The steering system 24 affects the position of the steerable wheels (front wheels 16 and / or rear wheels 18). The steerable wheels may consist only of the front wheels 16, as is most common in automobile 10; however, the steerable wheels may also include both the front wheels 16 and the rear wheels 18, as is common in vehicles equipped with all-wheel steering. Although depicted as including a steering wheel for illustrative purposes, in some embodiments contemplated within the scope of this disclosure, such as for fully automated vehicles, the steering system 24 may not include a steering wheel.
[0041] Sensor system 28 includes one or more onboard sensors 40a-40n that sense observable conditions of the external and / or internal environment of the autonomous vehicle 10. Sensing devices 40a-40n may include, but are not limited to, radar, lidar, global positioning system, optical cameras, thermal imagers, ultrasonic sensors, and / or other sensors. Cameras may include two or more digital cameras spaced apart from each other at a selected distance, wherein the two or more digital cameras are used to acquire stereo images of the surrounding environment to obtain a three-dimensional image or map. Multiple sensing devices 40a-40n are used to determine information about the environment surrounding the vehicle 10. In an exemplary embodiment, multiple sensing devices 40a-40n include at least one of an electric motor speed sensor, an electric motor torque sensor, an electric drive motor voltage and / or current sensor, an accelerator pedal position sensor, a coolant temperature sensor, a cooling fan speed sensor, and a transmission oil temperature sensor. In another exemplary embodiment, multiple sensing devices 40a-40n also include sensors for determining information about the environment surrounding the vehicle 10, such as an ambient air temperature sensor, a barometric pressure sensor, and / or a camera and / or video camera positioned to observe the environment in front of the vehicle 10. In another exemplary embodiment, at least one of the plurality of sensing devices 40a-40n is capable of measuring distances in the environment surrounding the vehicle 10.
[0042] In a non-limiting example in which the plurality of sensing devices 40a-40n include a camera, the plurality of sensing devices 40a-40n use an image processing algorithm configured to process images from the camera and determine distances between objects to measure distances. In another non-limiting example, the plurality of vehicle sensors 40a-40n include a stereo camera with distance measurement capabilities. In one example, at least one of the plurality of sensing devices 40a-40n is fixed inside the vehicle 10, for example, fixed in the roof lining of the vehicle 10, thereby having a field of view through the windshield of the vehicle 10. In another example, at least one of the plurality of sensing devices 40a-40n is attached to the outside of the vehicle 10, for example, a camera attached to the roof of the vehicle 10, thereby having a field of view of the environment surrounding the vehicle 10 and adapted to collect information (images) related to the environment outside the vehicle 10. It should be understood that various additional types of sensing devices (e.g., LiDAR sensors, ultrasonic ranging sensors, radar sensors, and / or time-of-flight sensors) are within the scope of this disclosure. The actuator system 30 includes one or more actuator devices 42a-42n that control one or more vehicle 10 features, such as, but not limited to, a propulsion system 20, a transmission system 22, a steering system 24, and a braking system 26.
[0043] The vehicle controller 34 includes at least one processor 44 and a computer-readable storage device or medium 46. The at least one data processor 44 can be any custom or commercially available processor, central processing unit (CPU), graphics processing unit (GPU), auxiliary processor among several processors associated with the vehicle controller 34, semiconductor-based microprocessor (in the form of a microchip or chipset), macroprocessor, any combination thereof, or generally any device for executing instructions. The computer-readable storage device or medium 46 can include volatile and non-volatile storage devices such as read-only memory (ROM), random access memory (RAM), and keep-alive memory (KAM). KAM is a persistent or non-volatile memory that can be used to store various operational variables when at least one data processor 44 is powered off. The computer-readable storage device or medium 46 may be implemented using any of a plurality of known memory devices, such as (PROM (Programmable Read-Only Memory), EPROM (Electrically Powered PROM), EEPROM (Electrically Erasable PROM), flash memory, or any other electrical, magnetic, optical, or combined memory device capable of storing data), some of which represents executable instructions used by the controller 34 in controlling the vehicle 10.
[0044] The instructions may include one or more separate programs, each of which includes an ordered list of executable instructions for implementing logical functions. When executed by at least one processor 44, the instructions receive and process signals from the sensor system 28, execute logic, calculations, methods, and / or algorithms for automatically controlling components of the vehicle 10, and generate control signals to the actuator system 30 to automatically control components of the vehicle 10 based on logic, calculations, methods, and / or algorithms. Although Figure 1 Only one controller 34 is shown, but embodiments of vehicle 10 may include any number of controllers 34 that communicate via any suitable communication medium or combination of communication media and cooperate to process sensor signals, execute logic, calculations, methods and / or algorithms, and generate control signals to automatically control the features of autonomous vehicle 10.
[0045] In various embodiments, one or more instructions from the vehicle controller 34 are embodied in the trajectory planning system and, when executed by at least one data processor 44, generate a trajectory output that addresses the kinematic and dynamic constraints of the environment. For example, the instructions receive process sensor and map data as input. The instructions utilize a customized cost function to execute a graph-based approach to address different road scenarios, including urban and highway scenarios.
[0046] The wireless communication module 36 is configured to wirelessly communicate and transmit information to and from other remote entities 48, such as, but not limited to, other vehicles (“V2V” communication), infrastructure (“V2I” communication), remote systems, remote servers, cloud computers, and / or personal devices. In an exemplary embodiment, the communication system 36 is a wireless communication system configured to communicate via a wireless local area network (WLAN) using the IEEE 802.11 standard or by using cellular data communication. However, additional or alternative communication methods (such as Dedicated Short Range Communication (DSRC) channels) are also considered to be within the scope of this disclosure. A DSRC channel refers to a one-way or two-way short- to medium-range wireless communication channel specifically designed for automotive use and a corresponding set of protocols and standards.
[0047] The vehicle controller 34 is a non-general-purpose electronic control device having a pre-programmed digital computer or processor, memory or non-transitory computer-readable medium for storing data (such as control logic, software applications, instructions, computer code, data, lookup tables, etc.), and transceivers [or input / output ports]. Computer-readable medium includes any type of media that can be accessed by a computer, such as read-only memory (ROM), random access memory (RAM), hard disk drive, optical disc (CD), digital video disc (DVD), or any other type of memory. "Non-transitory" computer-readable medium does not include wired, wireless, optical, or other communication links that transmit transient electrical signals or other signals. Non-transitory computer-readable medium includes media that can permanently store data and media that can store data and later overwrite it, such as rewritable optical discs or erasable memory devices. Computer code includes any type of program code, including source code, object code, and executable code.
[0048] refer to Figure 2 A schematic diagram of system 50 is shown. System 50 includes an autonomous vehicle controller 34A that communicates with vehicle controller 34 and with multiple sensing devices (on-board sensors) 40a-40n. The autonomous vehicle controller 34A is adapted to control the autonomous aspects of vehicle 10. The multiple on-board sensors 40a-40n are adapted to detect and monitor vehicle driving characteristics and the environment surrounding vehicle 10. The autonomous vehicle controller 34A may be vehicle controller 34, or it may be a separate controller that communicates with vehicle controller 34.
[0049] The autonomous vehicle controller 34A also communicates with the wireless communication module 36. The wireless communication module 36 is located within the vehicle controller 34 and is adapted to allow wireless communication between the vehicle 10 and other vehicles or other external sources. The autonomous vehicle controller 34A is adapted to collect information from a database via a wireless data communication network through a wireless communication channel (such as WLAN, 4G / LTE, or 5G networks). This database can be communicated directly via the Internet or it can be a cloud-based database. The information that the autonomous vehicle controller 34A can collect from these external sources 48 includes, but is not limited to, road and highway databases maintained by transportation departments, GPS, the Internet, other vehicles via V2V communication networks, traffic information sources, vehicle-based support systems (such as OnStar), etc.
[0050] The autonomous vehicle controller 34A is adapted to receive acceleration commands based on the desired acceleration of the vehicle 10. When the autonomous vehicle 10 determines that acceleration (no positive acceleration (acceleration) or negative acceleration (deceleration)) is appropriate in response to a command entered by a passenger or in response to external / environmental conditions, it generates an acceleration command, thereby instructing the autonomous vehicle controller 34A to increase or decrease the acceleration. The autonomous vehicle controller 34A converts the acceleration command into a torque command, which is sent to the propulsion system 20, which uses the torque command to accelerate or decelerate the vehicle 10.
[0051] The autonomous vehicle controller 34A is also adapted to receive real-time data from multiple onboard sensors 40a-40n within the autonomous vehicle 10 relating to the radius of the tires of the vehicle 10, the presence of trailers attached to the vehicle 10, and the mass of the vehicle 10, including any trailers attached to it. The autonomous vehicle controller 34A uses the real-time data collected from the multiple onboard sensors 40a-40n to estimate the radius of the tires of the vehicle 10, determine whether a trailer is attached to the vehicle 10, and estimate the total weight of the vehicle 10, including any trailers attached to it.
[0052] The autonomous vehicle controller 34A calculates a motor torque command based on the acceleration command, the estimated radius of the vehicle 10's tires, and the estimated total weight of the vehicle 10. It then actuates the propulsion system 20 of the vehicle 10 according to the calculated motor torque command, and accelerates the vehicle 10 according to the acceleration command. Therefore, the system 50 pre-determines whether a trailer is present and estimates the total mass and tire size of the vehicle 10, taking these parameters into account to calculate the motor torque command, which will more accurately control the acceleration of the vehicle 10 based on the acceleration command.
[0053] In an exemplary embodiment, when calculating a motor torque command based on an acceleration command, the estimated radius of the tires of vehicle 10, and the estimated total weight of vehicle 10, the autonomous vehicle controller 34A is also adapted to access data related to past events in which the motor torque command was calculated via a machine learning model 52 communicating with a database 54, and to estimate a motor torque command for the current acceleration command, the currently estimated radius of the tires of vehicle 10, the currently estimated total weight of vehicle 10, and the current operating and environmental conditions based on previously calculated motor torque commands for substantially similar acceleration commands, the estimated radius of the tires of vehicle 10, the estimated total weight of vehicle 10, and the current operating and environmental conditions.
[0054] Machine learning model 52 is suitable for predicting motor torque commands based on real-time data. The predicted motor torque command is based on probability calculations performed by machine learning model 52. Various techniques are employed to extract meaningful features from sensor readings and data, including time series analysis, frequency domain analysis, and spatiotemporal patterns. Machine learning model 52 may be one of, but is not limited to, Long Short-Term Memory (LSTM), Gated Recurrent Unit (GRU), Decision Tree, Random Forest, Support Vector Machine (SVM), Neural Network (NN), K-Nearest Neighbors (KNN), Gradient Boosting, and Recurrent Neural Network (RNN).
[0055] Therefore, the autonomous vehicle controller 34A uses machine learning model 52 and machine learning techniques to predict motor torque commands based on real-time data of analyzing the vehicle 10's position, operating conditions, estimated total vehicle mass, and estimated tire size, according to data received from database 54 (including past events and the vehicle 10's position and operating conditions when the estimated total vehicle mass and estimated tire size are the same or similar to the currently estimated total vehicle mass and estimated tire size).
[0056] Observing these patterns allows the machine learning model 52 to establish behavioral patterns and predict future behavior based on these patterns. This allows the machine learning model 52 to predict appropriate motor torque commands.
[0057] To create the machine learning model 52, a general machine learning model was first trained using data collected from multiple different vehicles located in areas and climates similar to those of vehicle 10. Diverse datasets were collected from vehicles equipped with sensors such as GPS, accelerometers, cameras, radar, and lidar. The data covered various driving scenarios, including urban, highway, and off-road driving. Preprocessing steps were performed to remove noise, handle missing values, and standardize features before feeding the data into the machine learning model. A crucial step in driving behavior classification is extracting relevant features from the raw data. As mentioned above, various techniques can be employed to extract meaningful features from sensor readings, including time series analysis, frequency domain analysis, and spatiotemporal pattern analysis. Different types of machine learning algorithms can be used for probabilistic pattern identification, including but not limited to Long Short-Term Memory (LSTM), Gated Recurrent Unit (GRU), Decision Tree, Random Forest, Support Vector Machine (SVM), Neural Network (NN), K-Nearest Neighbor (KNN), Gradient Boosting, and Recurrent Neural Network (RNN). The general machine learning model was trained on a labeled dataset and evaluated using various performance metrics such as accuracy, precision, recall, F1 score, and confusion matrix. The hyperparameters of the model are tuned to obtain optimal results. General machine learning models are trained on training data and learn to map input features to corresponding pattern (action) probabilities.
[0058] A general machine learning model is uploaded to the autonomous vehicle controller 34A within vehicle 10. This general machine learning model provides the foundation for creating machine learning model 52 for vehicle 10. The upload of the general machine learning model can be done via a subscription-based service from a third-party provider (remote entity 48) or the target vehicle 10 manufacturer. Machine learning model 52 is ultimately created by updating the general machine learning model. Once the general machine learning model is uploaded, data is collected during the daily use of vehicle 10. Machine learning model 52 is continuously updated using vehicle 10, thereby customizing machine learning model 52 for vehicle 10. The autonomous vehicle controller 34A can store multiple machine learning models, each customized for a different set of parameters.
[0059] For example, when system 50 detects a trailer connected to vehicle 10, the autonomous vehicle controller 34A can analyze images of the connected trailer using data from multiple sensors 40a-40n (e.g., cameras) and object recognition algorithms to identify the specific trailer connected to vehicle 10. It can also access a machine learning model based on past events of this trailer being connected to vehicle 10 and the calculated motor torque commands during this past instance of trailer connection. Therefore, using a customized machine learning model, once system 50 identifies the current parameters (trailer connection), the autonomous vehicle controller 34A can accurately predict how to calculate the motor torque command to provide the desired acceleration. Similarly, the autonomous vehicle controller 34A can store customized machine learning models for other parameters (such as total vehicle mass and tire size).
[0060] Therefore, the autonomous system controller 34A can store multiple machine learning models 52, which allow the autonomous system controller 34A to predict in advance the calculated motor torque command in response to the acceleration command.
[0061] In an exemplary embodiment, the autonomous vehicle controller 34A is adapted to receive data related to the actual acceleration of the vehicle 10 from multiple onboard sensors 40a-40n, compare the actual acceleration of the vehicle 10 with the desired acceleration of the vehicle 10 based on an acceleration command, and adjust the calculated motor torque command based on the change between the actual acceleration and the desired acceleration of the vehicle 10. Therefore, the autonomous vehicle controller 34A monitors the actual acceleration of the vehicle 10, and if the calculated motor torque command is insufficient or excessive, the autonomous vehicle controller 34A adjusts the calculated motor torque accordingly. Each time such an adjustment is made, the autonomous vehicle controller 34A updates the machine learning model 52, so that the calculated / predicted motor torque command will be more accurate in the next iteration.
[0062] In another exemplary embodiment, data from multiple onboard sensors 40a-40n includes feedback from occupants within the vehicle 10. For example, each of the multiple onboard sensors 40a-40n is associated with an occupant monitoring system adapted to capture images of occupants within the vehicle 10, detect facial expressions and gestures made by the occupants, and detect verbal responses made by the occupants using a microphone. Using image and voice identification algorithms, the autonomous vehicle controller 34A can determine that an occupant within the vehicle 10 is dissatisfied with the acceleration of the vehicle 10, wherein the autonomous vehicle controller 34A can adjust the calculated motor torque command to increase or decrease the acceleration of the vehicle 10 according to the occupant's preferences. For example, due to the larger tire size, an occupant may feel uncomfortable with the rate of acceleration of the vehicle 10, making the occupant feel that the vehicle 10 is less stable. If such discomfort is detected by the autonomous vehicle controller 34A, the calculated motor torque command will be adjusted, and the machine learning model 52 will be updated for future estimations.
[0063] In an exemplary embodiment, when estimating the radii of the tires 16, 18 of the vehicle 10 based on real-time data related to the radii of the tires 16, 18 of the vehicle 10, the autonomous vehicle controller 34A is further adapted to: when the vehicle 10 is an all-wheel drive vehicle 10, estimate the radius of each tire 16, 18 of the vehicle 10 and calculate the average tire radius of all tires 16, 18 of the vehicle 10; when the vehicle 10 is a front-wheel drive vehicle 10, estimate the radius of each front tire 16 of the vehicle 10 and calculate the average tire radius of all front tires 16 of the vehicle 10; or when the vehicle 10 is a rear-wheel drive vehicle 10, estimate the radius of each rear tire 18 of the vehicle 10 and calculate the average tire radius 10 of all rear tires 18 of the vehicle 10.
[0064] There are many methods for estimating the radius of a vehicle's tires using data collected by multiple sensors 40a-40n or data entered by the operator of vehicle 10. For example, the autonomous vehicle controller 34A can use data from multiple sensors (such as the height of vehicle 10 above the ground or the distance traveled by vehicle 10 with each rotation of tires 16, 18) to calculate the radius of tires 16, 18. Alternatively, the autonomous vehicle controller 34A can access already entered data that gives the specifications of the tires mounted on the vehicle. However, even with such data, further calculations may still be needed to accurately determine the radius of tires 16, 18. Tires have a static load radius or wheel rolling radius. When a tire is not mounted on a vehicle, it remains perfectly round. However, once a tire is mounted on vehicle 10 and loaded, a flat point is formed where the tire contacts the ground, and therefore the outer radius of the tire decreases. Therefore, the method of using data collected by multiple sensors 40a-40n provides an accurate estimate of the effective tire radius for use in calculating motor torque commands.
[0065] If real-time data relating to the radii of tires 16 and 18 of vehicle 10 is unavailable, the autonomous vehicle controller 34A will use a predetermined default value for the radii of tires 16 and 18 of vehicle 10, or a previously estimated radii of tires 16 and 18 of vehicle 10. Therefore, if sensor failure or other circumstances prevent the collection of real-time data, the autonomous vehicle controller 34A can revert to a default tire size based on the factory-recommended tire size or the size of the tires originally installed on vehicle 10 at the time of vehicle 10's manufacture. Alternatively, the autonomous vehicle controller 34A can revert to the time when it last estimated the tire size of vehicle 10 and use the last recorded estimated tire size.
[0066] In an exemplary embodiment, when the total weight of the vehicle 10, including any trailers connected to the vehicle, is estimated based on real-time data relating to the mass of the vehicle 10 including any trailers connected to the vehicle, the autonomous vehicle controller 34A is also adapted to estimate the total weight of the vehicle 10 as the estimated weight of the vehicle 10 alone when no trailers are connected to the vehicle 10.
[0067] The mass of vehicle 10 can be estimated / calculated using known and suitable methods. However, it is difficult to directly measure vehicle mass using ordinary sensors. Accurate acquisition of vehicle state parameters is fundamental to high-quality motion control of intelligent vehicles. Vehicle mass is a crucial parameter in the control system of intelligent vehicles, and the accuracy of its estimation directly affects the performance of the control system. For example, strategies for fuel consumption optimization, active cruise control, and anti-lock braking system control all require an indication of vehicle mass. While nominal values of vehicle mass (such as curb weight and gross vehicle weight) are generally available, the actual value of vehicle 10's mass varies significantly when carrying different loads. Therefore, methods exist for accurately estimating vehicle mass. Some methods for estimating vehicle mass utilize a fusion of machine learning and vehicle dynamics modeling. In machine learning, feedforward neural networks (FFNNs) are used to learn the relationship between vehicle mass and other state parameters, namely longitudinal velocity and acceleration, driving or braking torque, and wheel angular velocity. In dynamics-based methods, recursive least squares (RLS) with a forgetting factor based on a vehicle dynamics model is used to estimate vehicle mass. Fuzzy logic is used to fuse these two methods.
[0068] Vehicle mass can also be estimated based on frequency domain analysis (where amplitude-frequency functions of longitudinal acceleration and wheel angular velocity are derived from a longitudinal vehicle dynamics model), followed by a least-squares method. In recent years, machine learning (ML) has been widely applied to autonomous driving, and machine learning methods have been developed to estimate the mass of both the vehicle and the trailer attached to it. This approach involves collecting dynamic information about the vehicle under various conditions as a training set, and then training a feedforward neural network to achieve simultaneous estimation of vehicle mass and road gradient. Other methods include using a feedforward neural network with fully connected layers to estimate the mass of the trailer attached to vehicle 10. By learning from large amounts of training data, machine learning methods typically demonstrate good accuracy.
[0069] In another exemplary embodiment, when the total weight of the vehicle 10, including any trailers connected to the vehicle, is estimated based on real-time data relating to the mass of the vehicle 10 including any trailers connected to the vehicle, the autonomous vehicle controller 34A is also adapted to calculate the estimated total weight of the vehicle 10 when the trailer is connected to the vehicle 10, based on the estimated weight of the vehicle 10 alone and a multiplier based on the estimated weight of the vehicle alone and the speed of the vehicle 10.
[0070] If real-time data relating to the mass of vehicle 10, including any trailers connected to it, is unavailable, the autonomous vehicle controller 34A will use a predetermined default value for the mass of vehicle 10, including any trailers connected to it, or a previously estimated total weight of vehicle 10, including any trailers connected to it. Therefore, if sensor malfunction or other circumstances prevent the collection of real-time data, the autonomous vehicle controller 34A can revert to the default mass of vehicle 10, including any trailers connected to it, based on factory data of a baseline vehicle mass. Alternatively, the autonomous vehicle controller 34A can revert to the time when it last estimated the mass of vehicle 10, including any trailers connected to it, and use the last recorded estimated total weight of vehicle 10.
[0071] In an exemplary embodiment, a method 100 for controlling acceleration within an autonomous vehicle 10 includes: starting at block 102, utilizing an autonomous vehicle controller 34A, receiving an acceleration command based on a desired acceleration of the vehicle 10; moving to block 104, receiving real-time data from a plurality of onboard sensors 40a-40n within the autonomous vehicle 10 relating to the radii of the tires 16, 18 of the vehicle 10, the presence of trailers connected to the vehicle 10, and the mass of the vehicle 10 including any trailers connected to the vehicle; moving to block 106, estimating the radii of the tires 16, 18 of the vehicle 10 based on the real-time data relating to the radii of the tires 16, 18 of the vehicle 10. Move to box 108, determine whether a trailer is connected to vehicle 10 based on real-time data related to the presence of a trailer connected to vehicle 10; move to box 110, estimate the total weight of vehicle 10, including any trailers connected to vehicle, based on real-time data related to the mass of vehicle 10 including any trailers connected to vehicle; move to box 112, calculate a motor torque command based on an acceleration command, the estimated radii of tires 16, 18 of vehicle 10, and the estimated total weight of vehicle 10; move to box 114, actuate the propulsion system 20 of vehicle 10 according to the calculated motor torque command; and move to box 116, accelerate vehicle 10 according to the acceleration command.
[0072] In an exemplary embodiment, at block 112, calculating the motor torque command based on the acceleration command, the estimated radii of the tires 16, 18 of the vehicle 10, and the estimated total weight of the vehicle 10 further includes: accessing data related to past events in which the motor torque command was calculated via a machine learning model 52 communicating with the database 54, and estimating the motor torque command for the current acceleration command, the currently estimated radii of the tires 16, 18 of the vehicle 10, the currently estimated total weight of the vehicle 10, and the current operating and environmental conditions based on previously calculated motor torque commands for substantially similar acceleration commands, the estimated radii of the tires 16, 18 of the vehicle 10, the estimated total weight of the vehicle 10, and the current operating and environmental conditions.
[0073] In another exemplary embodiment, method 100 further includes: moving to block 118 to receive data related to the actual acceleration of vehicle 10 from a plurality of onboard sensors 40a-40n via an autonomous vehicle controller 34A; and moving to block 120 to compare the actual acceleration of vehicle 10 with the desired acceleration of vehicle 10. If, at block 120, the actual acceleration of vehicle 10 matches the desired acceleration of vehicle 10 (based on an acceleration command), the method returns to block 102. If, at block 120, the actual acceleration of vehicle 10 does not match the desired acceleration of vehicle 10 within a predetermined error threshold, method 100 moves to block 122 and includes adjusting the calculated motor torque command based on the change between the actual acceleration of vehicle 10 and the desired acceleration of vehicle 10, wherein the method returns to block 112, wherein the adjusted motor torque command is sent to propulsion system 20 at block 114.
[0074] In an exemplary embodiment, when the calculated motor torque command is adjusted at block 122, method 100 includes moving from block 122 to block 124 to update machine learning model 52 based on the adjustment of the calculated motor torque command.
[0075] In another exemplary embodiment, at block 106, estimating the radius of the tires 16, 18 of the vehicle 10 based on real-time data related to the radius of the tires 16, 18 of the vehicle 10 includes: estimating the radius of each tire 16, 18 of the vehicle 10 when the vehicle 10 is an all-wheel drive vehicle, and calculating the average tire radius of all tires 16, 18 of the vehicle 10.
[0076] In another exemplary embodiment, at block 106, estimating the radius of the tires 16, 18 of the vehicle 10 based on real-time data related to the radius of the tires 16, 18 of the vehicle 10 includes: estimating the radius of each front tire 16 of the vehicle 10 when the vehicle 10 is a front-wheel drive vehicle, and calculating the average tire radius of all front tires 16 of the vehicle 10.
[0077] In another exemplary embodiment, at block 106, estimating the radius of the tires 16, 18 of the vehicle 10 based on real-time data related to the radius of the tires 16, 18 of the vehicle 10 includes: estimating the radius of each rear tire 18 of the vehicle 10 when the vehicle 10 is a rear-wheel drive vehicle, and calculating the average tire radius of all the rear tires 18 of the vehicle 10.
[0078] In another exemplary embodiment, at block 106, estimating the radius of the tires 16, 18 of the vehicle 10 based on real-time data related to the radius of the tires 16, 18 of the vehicle 10 includes: when real-time data related to the radius of the tires 16, 18 of the vehicle 10 is unavailable, performing one of the following: using a predetermined default value of the radius of the tires 16, 18 of the vehicle 10, or using a previously estimated radius of the tires 16, 18 of the vehicle 10.
[0079] In another exemplary embodiment, at block 110, estimating the total weight of the vehicle 10, including any trailers connected to the vehicle, based on real-time data relating to the mass of the vehicle 10 including any trailers connected to the vehicle, further includes estimating the total weight of the vehicle 10 as the estimated weight of the vehicle 10 only when no trailers are connected to the vehicle 10.
[0080] In another exemplary embodiment, at block 110, estimating the total weight of the vehicle 10, including any trailers connected to the vehicle, based on real-time data relating to the mass of the vehicle 10 including any trailers connected to the vehicle, further includes: when a trailer is connected to the vehicle 10, calculating the estimated total weight of the vehicle 10 based on the estimated weight of the vehicle 10 alone and a multiplier of the estimated weight of the vehicle 10 alone and the speed of the vehicle 10.
[0081] In another exemplary embodiment, at block 110, estimating the total weight of the vehicle 10, including any trailers connected to the vehicle, based on real-time data relating to the mass of the vehicle 10, including any trailers connected to the vehicle, further includes: when real-time data relating to the mass of the vehicle 10, including any trailers connected to the vehicle, is unavailable, performing one of the following: using a predetermined default value for the total weight, or using a previously estimated total weight.
[0082] The descriptions in this disclosure are merely exemplary in nature, and any modifications that do not depart from the spirit and scope of this disclosure are intended to fall within its scope. Such modifications should not be considered as departing from the spirit and scope of this disclosure.
Claims
1. A method for controlling acceleration within an autonomous vehicle, comprising: via an autonomous vehicle controller: Receive an acceleration command based on the desired acceleration of the vehicle; Real-time data related to the radius of the vehicle's tires, the presence of trailers attached to the vehicle, and the mass of the vehicle, including any trailers attached to the vehicle, are received from multiple onboard sensors within the autonomous vehicle. The radius of the tires of the vehicle is estimated based on the real-time data related to the radius of the tires of the vehicle; Whether a trailer is connected to the vehicle is determined based on the real-time data relating to the presence of a trailer connected to the vehicle; Based on the real-time data relating to the mass of the vehicle, including any trailers connected to the vehicle, the total weight of the vehicle, including any trailers connected to the vehicle, is estimated. The motor torque command is calculated based on the acceleration command, the estimated radius of the vehicle's tires, and the estimated total weight of the vehicle; The vehicle's propulsion system is actuated according to the calculated motor torque command; as well as The vehicle is accelerated according to the acceleration command.
2. The method according to claim 1, wherein, The command to calculate the motor torque based on the acceleration command, the estimated radius of the vehicle's tires, and the estimated total weight of the vehicle further includes: Access data related to past events in which motor torque commands are calculated via a machine learning model that communicates with the database; and Based on previously calculated motor torque commands for substantially similar acceleration commands, the estimated radius of the vehicle's tires, the estimated total weight of the vehicle, and operating and environmental conditions, estimate the motor torque command for the current acceleration command, the currently estimated radius of the vehicle's tires, the currently estimated total weight of the vehicle, and the current operating and environmental conditions.
3. The method according to claim 2, further comprising: The autonomous vehicle controller receives data related to the actual acceleration of the vehicle from the plurality of on-board sensors. The actual acceleration of the vehicle is compared with the desired acceleration of the vehicle; as well as The calculated motor torque command is adjusted based on the change between the vehicle's actual acceleration and the vehicle's desired acceleration.
4. The method of claim 3, further comprising updating the machine learning model based on adjustments made to the calculated motor torque command.
5. The method according to claim 1, wherein, The estimation of the radius of the vehicle's tires based on the real-time data related to the radius of the vehicle's tires includes: when the vehicle is an all-wheel drive vehicle, Estimate the radius of each tire of the vehicle; and Calculate the average tire radius of all tires of the vehicle.
6. The method according to claim 1, wherein, The estimation of the radius of the tires of the vehicle based on the real-time data related to the radius of the tires of the vehicle includes: when the vehicle is a front-wheel drive vehicle, Estimate the radius of each front tire of the vehicle; and Calculate the average tire radius of all front tires of the vehicle.
7. The method according to claim 1, wherein, The estimation of the radius of the vehicle's tires based on the real-time data related to the radius of the vehicle's tires includes: when the vehicle is a rear-wheel drive vehicle, Estimate the radius of each rear tire of the vehicle; and Calculate the average tire radius of all rear tires of the vehicle.
8. The method according to claim 1, wherein, The estimation of the radius of the vehicle's tires based on the real-time data related to the radius of the vehicle's tires includes: when the real-time data related to the radius of the vehicle's tires is unavailable, performing one of the following: Using a predetermined default value for the radius of the tires of the vehicle; or The previously estimated radius of the vehicle's tires was used.
9. The method according to claim 1, wherein, The method of estimating the total weight of the vehicle, including any trailers connected to the vehicle, based on the real-time data related to the mass of the vehicle including any trailers connected to the vehicle, further includes: when no trailer is connected to the vehicle, estimating the total weight of the vehicle as the estimated weight of the vehicle only.
10. The method according to claim 1, wherein, The real-time data estimation of the total weight of the vehicle, including any trailers connected to the vehicle, based on the mass of the vehicle, further includes: calculating the estimated total weight of the vehicle based on the estimated weight of the vehicle alone and a multiplier of the estimated weight of the vehicle alone and the speed of the vehicle when the trailer is connected to the vehicle.