Method and apparatus for adjusting steering angle of vehicle in self-driving mode
Through virtual enhanced curve technology combined with path follow control and steering wheel torque input, the problem of inflexible and stable vehicle steering angle control in self-driving mode is solved, and a stricter and more stable lateral control effect is achieved.
Patent Information
- Application Number
- CN202411455087.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-10-20
- Filing Date
- 2024-10-17
- Publication Date
- 2025-04-22
AI Technical Summary
In self-driving mode, it is difficult for the prior art to effectively combine the driver's steering wheel torque input and the path following the controller's torque request, resulting in the inflexible and stable control of the vehicle's steering angle.
Using virtual reinforcement curve (VBC) technology, the path is accessed through a programmable circuit system and the angle request is generated, and the angle mixing weight is determined based on the torque input and vehicle speed. Finally, the mixed angle request is converted into a torque request to adjust the steering angle of the steering wheel.
It realizes stricter and more robust lateral control in self-driving mode, allowing the driver to control the vehicle's steering through the steering wheel torque input part, improving the flexibility and stability of the vehicle in path following.
Smart Images

Figure CN119858597A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates generally to vehicle control, and more particularly to a method and apparatus for adjusting a steering angle of a vehicle in a self-driving mode. Background Art
[0002] In recent years, some vehicles have been equipped with automated driving systems that can automatically drive or steer the vehicle in self-driving mode. These systems include a path following controller that analyzes the road ahead (e.g., using one or more cameras and / or a map-based system) and determines how to steer the vehicle along a target path based on the analysis. The path following controller determines the torque to be applied by the steering motor to the steering system to steer the vehicle. In some cases, when in self-driving mode, the driver may still need to steer the vehicle manually. Therefore, the driver can apply an input torque to the steering wheel. When in self-driving mode, the power steering controller uses the torque from the path following controller and the input torque from the driver to determine the final torque to be applied by the motor to steer the vehicle. Therefore, the driver can still at least partially control the vehicle when in self-driving mode. Summary of the invention
[0003] An example vehicle disclosed herein includes: a steering wheel; a steerable wheel, the steering wheel being operatively coupled to the steerable wheel; and a steering motor, the steering motor being activated to control the steering angle of the steering wheel when the vehicle is in a self-driving mode. The vehicle also includes a steering controller, the steering controller including instructions and a programmable circuit system, the programmable circuit system being used to execute the instructions to: access a path following (PF) angle request; generate a virtual reinforcement curve (VBC) angle request based on a driver's torque input to the steering wheel; determine an angle blending weight based on the torque input and the speed of the vehicle; determine a final angle request based on the PF angle request, the VBC angle request, and the angle blending weight; and convert the final angle request into a torque request for adjusting the steering angle via the motor.
[0004] Disclosed herein is an example non-transitory machine-readable storage medium comprising instructions to cause a programmable circuit system to at least: access a path following (PF) angle request; generate a virtual boost curve (VBC) angle request based on a driver's torque input to a steering wheel of a vehicle; determine an angle blending weight based on the torque input and a speed of the vehicle; determine a final angle request based on the PF angle request, the VBC angle request, and the angle blending weight; and convert the final angle request into a torque request for adjusting a steering angle of the steering wheel when the vehicle is in a self-driving mode.
[0005] An example method disclosed herein includes: accessing a path following (PF) angle request; generating a virtual boost curve (VBC) angle request based on a driver's torque input to a steering wheel of a vehicle; determining an angle blending weight based on the torque input and a speed of the vehicle; determining a final angle request based on the PF angle request, the VBC angle request, and the angle blending weight; and converting the final angle request into a torque request for adjusting a steering angle of a steering wheel of the vehicle. BRIEF DESCRIPTION OF THE DRAWINGS
[0006] Figure 1 An example vehicle is shown in which the example methods and apparatus disclosed herein may be implemented.
[0007] Figure 2 yes Figure 1 A schematic diagram of an example steering system for an example vehicle of FIG. 1 , the example steering system including an example steering controller for steering the vehicle in a self-driving mode.
[0008] Figure 3 yes Figure 2 A block diagram of an example steering controller.
[0009] Figure 4 yes Figure 3 A block diagram of an example implementation of virtual reinforcement curve circuitry of an example steering controller for generating a virtual reinforcement curve angle request.
[0010] Figure 5 yes Figure 3 A block diagram of an example implementation of an angle blending circuit system of an example steering controller for generating a final angle request.
[0011] Figure 6 Example final angle generation operations are shown for determining an example final angle request.
[0012] Figure 7 Example angular blending weight generation operations for determining example angular blending weights are shown.
[0013] Figure 8 Is based on Figure 7 Example graph of example values for the angle blending weights for the operation.
[0014] Fig. 9 Example virtual reinforcement curve angle request generation operations for determining a virtual reinforcement curve angle request are shown.
[0015] Fig.10 Example main increment angle generation operations for determining example main increment angles are shown.
[0016] Fig.11Example derivative increment angle generating operations for determining example derivative increment angles are shown.
[0017] Fig.12 Yes means Fig.11 An example derivative increment angle generates an example first derivative increment angle chart of the operation.
[0018] Fig.13 Example return-to-center incremental angle generation operations for determining example return-to-center incremental angles are shown.
[0019] Fig.14 Example back-centering reference generation operations for determining an example back-centering reference are shown.
[0020] Fig.15 Example damping increment angle generating operations for determining example damping increment angles are shown.
[0021] Fig.16 It is meant to be implemented by an example programmable circuit system, to be executed, instantiated and / or performed Figure 2 and Figure 3 A flowchart of example machine readable instructions and / or example operations of an example steering controller.
[0022] Fig.17 It is meant to be implemented by an example programmable circuit system, to be executed, instantiated and / or performed Figure 2 and Figure 3 A flowchart of example machine readable instructions and / or example operations of an example steering controller.
[0023] Fig.18 is a block diagram of an example processing platform including a processor structured to execute, instantiate and / or perform example machine-readable instructions and / or perform Fig.16 and / or Fig.17 Example operation to implement Figure 2 and Figure 3 An example of a programmable circuit system for a steering controller.
[0024] Generally, the same reference numbers will be used to refer to the same or like parts throughout the drawings and accompanying written description.The drawings are not necessarily drawn to scale. DETAILED DESCRIPTION
[0025] Most vehicles include a power steering system that utilizes a motor (such as a hydraulic motor or an electric motor) to assist in applying torque to the steering system and reduce the torque input required from the driver in order to steer the vehicle. In such vehicles, the electronic control unit utilizes a 'reinforcement curve' to determine the assist torque to be applied to the motor based on the driver's torque input to the steering wheel. The reinforcement curve defines the static relationship between the input torque applied by the driver and the assist torque generated by the motor on the steerable wheels of the vehicle.
[0026] Some newer vehicles also have self-driving capabilities, referred to herein as self-driving mode, path following mode or automated driving mode. When the vehicle is in self-driving mode, the path following (PF) circuit system (e.g., PF controller) of the electronic control unit determines the target path of the vehicle and provides a torque request to the motor to automatically control the yaw direction of the vehicle, thereby turning the vehicle along the target path. The PF circuit system receives sensor feedback (such as yaw value) and uses the feedback to further turn the vehicle along the target path. In addition, the auxiliary torque from the reinforcement curve (e.g., based on the input torque from the driver) can be superimposed on the torque request from the PF circuit system. This allows the driver to still provide input and at least partially turn the vehicle when the vehicle is in self-driving mode. As with power steering, the input torque applied to the steering wheel is equivalent to a larger torque to be applied by the motor through the reinforcement curve. The torque value from the reinforcement curve is combined with the torque input to the motor from the PF circuit system to turn the vehicle.
[0027] Recently, in order to provide stricter and more robust lateral control, the self-driving vehicle industry has turned to using steering angle docking between PF circuit system and steering wheel input, rather than torque docking. In these newer systems, the PF circuit system calculates the steering angle to be achieved in order to keep the vehicle on the path, and then converts the steering angle into a torque to be applied to the steering wheel by the motor to achieve the steering angle. As used herein, the terms steering angle and steering wheel angle (SWA) are used interchangeably, and mean the angle at which the steering wheel has been rotated (e.g., by the driver) relative to a neutral or center position. As used herein, the term road wheel angle (RWA) means the angle at which a steerable wheel (such as the first two wheels) has been rotated (e.g., turned left or right) relative to a neutral or center position. Many example operations disclosed herein calculate the steering angle for turning the steering wheel of the vehicle and thereby steering the vehicle. However, in most vehicles, the steering wheel is mechanically connected to the front wheels by a fixed gear relationship (e.g., via a rack and pinion). The gear transmission relationship can be implemented as a fixed steering ratio or a variable steering ratio. For example, for every 12° to 20° rotation of the steering wheel, the front wheels turn 1°, and vice versa. Therefore, any example operations disclosed herein may alternatively be described as calculating a road wheel angle, since the steering angle may be equivalent to the road wheel angle, and vice versa.
[0028] In some examples, the PF circuit system provides a PF angle request corresponding to a target steering angle. However, this angular interface between the PF circuit system and the steering gear (e.g., steerable wheel, gear rack, etc.) makes it difficult to superimpose the driver input torque on the PF angle request. That is, the auxiliary torque from the reinforcement curve cannot be easily combined with the PF angle request. Therefore, in these angle-based following platforms, the reinforcement curve is typically disabled during the self-driving mode so that there is no torque superposition between the torque output of the angle control (e.g., PF circuit system) and the reinforcement curve output. This increases the robustness of the vehicle's path following operation because the amplified torque noise from the input torque is eliminated. However, this also represents a need to superimpose the driver input at the angle request level rather than the torque level.
[0029] Disclosed herein are example steering controllers and associated methods that use a virtual reinforcement curve (VBC) to determine a steering angle (referred to herein as a VBC angle request) based on a driver torque input. In some examples, the steering controller determines a differential or incremental steering angle based at least on the driver torque input, and adds the differential angle to the current SWA to generate a VBC angle request. The example steering controller combines the VBC angle request with the PF angle request to generate a final steering angle request. Thus, the VBC is used rather than a torque-based reinforcement curve output to determine or output the steering angle, which is then combined with the PF angle request. The angle controller of the example steering controller converts the final steering angle request into a final torque request, which the steering system's motor uses to adjust the steering angle of the steering wheel to steer the vehicle along the intended path.
[0030] In some examples, the steering controller includes a VBC circuit system and / or implements a VBC method to enable manual steering while still in self-driving mode. The example steering controller disclosed herein uses an input torque (e.g., a torsion bar (T-bar) torque) to generate an incremental angle, adds the incremental angle to the current SWA, and generates a VBC request, which is mixed with the PF request and used to generate a final angle request for the angle controller. In some examples, the torque source is the original T-bar torque, rather than a filtered torque, such as a driver torque based on a Kalman filter. That is, the examples disclosed herein use the original torque input to generate a VBC angle request, because the hysteresis associated with the filtered torque will produce a hysteretic steering feel when using VBC. The examples disclosed herein also combine the VBC angle request with the PF angle request to generate a final angle request. In some examples, the VBC angle request is combined with the PF angle request after the VBC angle request is appropriately adjusted.
[0031] As used in this patent, the statement that any part (e.g., a layer, film, region, area, or plate) is in any way located on another part (e.g., positioned on, located on, disposed on, or formed on, etc.) indicates that the referenced part is in contact with the other part, or the referenced part is above the other part with one or more intermediate parts located therebetween.
[0032] As used herein, unless otherwise indicated, connection references (e.g., attached, coupled, connected, and linked) may include intermediate members between the elements referenced by the connection reference and / or relative movement between these elements. Thus, a connection reference does not necessarily infer that two elements are directly connected and / or are in a fixed relationship to each other. As used herein, a statement that any part is "in contact with" another part is defined to mean that there are no intermediate parts between the two parts.
[0033] Unless otherwise specifically stated, descriptors such as "first," "second," "third," etc., used herein do not in any way impose or otherwise indicate any meaning of priority, physical order, arrangement in a list, and / or ordering, but are merely used as labels and / or arbitrary names to distinguish elements to facilitate understanding of the disclosed examples. In some examples, the descriptor "first" may be used to refer to an element in the detailed description, while a different descriptor such as "second" or "third" may be used to refer to the same element in the claims. In such cases, it should be understood that such descriptors are only used to clearly identify these elements in the context of the discussion (e.g., within the claims), where the elements, for example, may otherwise share the same name.
[0034] As used herein, "approximately" and "about" modify their subject matter / values to recognize the potential for variations that occur in real-world applications. For example, "approximately" and "about" may modify dimensions that may not be exact due to manufacturing tolerances and / or other real-world imperfections, as will be understood by one of ordinary skill in the art. For example, unless otherwise indicated in the following description, "approximately" and "about" may indicate that such dimensions may be within a tolerance range of + / - 10%.
[0035] As used herein, the phrase "communicate" (including variations thereof) encompasses direct communication and / or indirect communication through one or more intermediate components, and does not require direct physical (e.g., wired) communication and / or continuous communication, but also includes selective communication at periodic intervals, scheduled intervals, non-periodic intervals and / or one-time events.
[0036] As used herein, "programmable circuitry" is defined to include: (i) one or more special purpose circuits (e.g., application specific circuits (ASICs)) that are structured to perform specific operations and include one or more semiconductor-based logic devices (e.g., electrical hardware implemented by one or more transistors); and / or (ii) one or more general-purpose semiconductor-based circuits that can be programmed with instructions to perform specific functions and / or operations and include one or more semiconductor-based logic devices (e.g., electrical hardware implemented by one or more transistors). Examples of programmable circuit systems include programmable microprocessors, such as a central processor unit (CPU) that can execute a first instruction to perform one or more operations and / or functions, a field programmable gate array (FPGA) (which can be programmed with a second instruction so that the configuration and / or structure of the FPGA instantiates one or more operations and / or functions corresponding to the first instruction), a graphics processor unit (GPU) that can execute a first instruction to perform one or more operations and / or functions, a digital signal processor (DSP) that can execute a first instruction to perform one or more operations and / or functions, an XPU, a network processing unit (NPU), one or more microcontrollers that can execute a first instruction to perform one or more operations and / or functions, and / or integrated circuits such as application specific integrated circuits (ASICs). For example, the XPU can be implemented by a heterogeneous computing system that includes multiple types of programmable circuit systems (e.g., one or more FPGAs, one or more CPUs, one or more GPUs, one or more NPUs, one or more DSPs, etc. and / or any combination thereof) and orchestration technology (e.g., an application programming interface (API)) that can assign computing tasks to one or more types of programmable circuit systems of multiple types that are suitable and available to perform computing tasks.
[0037] As used herein, an integrated circuit / circuitry is defined as one or more semiconductor packages containing one or more circuit elements, such as transistors, capacitors, inductors, resistors, current paths, diodes, etc. For example, an integrated circuit may be implemented as one or more of an ASIC, an FPGA, a chip, a microchip, a programmable circuitry, a semiconductor substrate coupling multiple circuit elements, a system on a chip (SoC), etc.
[0038] Figure 1An example vehicle 100 is shown in which the examples disclosed herein may be implemented. The example vehicle 100 includes an example steering controller, shown in further detail herein, which is operable to automatically steer the vehicle along a target path and / or guide the vehicle along a target path. Such automated operation is referred to herein as path following (PF) or self-driving mode or operation. In some examples, the driver can activate and deactivate the self-driving mode by pressing a button and / or interacting with a display in the vehicle. During the self-driving mode, the steering controller of the vehicle 100 generates a PF angle request (e.g., independent of driver input) to guide the vehicle 100 along the target path. If the driver applies a torque input to the steering wheel of the vehicle 100, the steering controller generates a VBC angle request. The steering controller combines the VBC angle request with the PF angle request to generate a final angle request, and converts the final angle request into a torque request or output for adjusting the steering angle of the vehicle 100. The following description will be provided in conjunction with Figures 2 to 18 A further description of the steering controller of vehicle 100 is provided. Figure 1 The illustrated example of vehicle 100 is merely an example of a sports utility vehicle (SUV) in which the examples disclosed herein may be implemented. However, the examples disclosed herein may also be implemented in conjunction with other types of vehicles (e.g., pickup trucks, sedans, semi-trailer trucks, etc.).
[0039] Figure 2 is available in Figure 1 A schematic diagram of an example steering system 200 implemented in an example vehicle 100 is shown. Figure 2 In the illustrated example of FIG. 1 , the steering system 200 includes an electronic control unit 202 including a steering controller 204, a steering wheel 206, a steering column 208, a pinion 210, a rack and pinion 212, a steering motor 214, a housing 216, a first steerable wheel 218, a second steerable wheel 220, a torque sensor 222, and a SWA sensor 224. The example steering wheel 206 is mechanically connected to the first steerable wheel 218 and the second steerable wheel 220 (e.g., a vehicle 100 ( Figure 1 ) front wheels). Specifically, the steering wheel 206 is coupled to the first steerable wheel 218 and the second steerable wheel 220 via the steering column 208, the pinion 210 and the rack 212. Figure 1When the driver of the vehicle 100 inputs torque to adjust the SWA of the steering wheel 206, the steering angles of the first steerable wheel 218 and the second steerable wheel 220 are correspondingly adjusted (e.g., turned left or right). The rack 212 and the pinion 210 can implement a fixed gear ratio or a variable gear ratio. In some examples, the steering column is a single shaft extending between the steering wheel 206 and the pinion 210. In other examples, the steering column 208 is a mechanical linkage device including two or more interconnected shaft segments. For example, the steering column 208 may include a first steering shaft connected to a second steering shaft via a universal joint (U-joint). Therefore, the steering column 208 may be straight and / or angled between the steering wheel 206 and the steerable wheel 210.
[0040] exist Figure 2 In the illustrated example of , the pinion 210 is coupled to and / or interfaces with the gear rack 212. For example, the gear teeth of the pinion 210 mesh with the gear teeth of the gear rack 212. Therefore, when the pinion 210 rotates based on the driver's input torque to the steering wheel 206, the gear rack 212 translates laterally relative to the steering column 208. In some examples, the pinion 210 is positioned within the housing 216. In some examples, the pinion 210 is positioned outside the housing 216.
[0041] exist Figure 2 In the illustrated example of the steering system 200, the steering system 200 includes a motor 214. The motor 214 is operatively coupled to the steering wheel 206 and the first steerable wheel 218 and the second steerable wheel 220. For example, the motor 214 may be coupled to the gear rack 212. When activated, the motor 214 moves or translates the gear rack 212, thereby turning or angles the steering wheel 206 and the steerable wheels 218, 220. Therefore, the motor 214 operates to adjust the steering angle of the steering wheel 206, and thus also adjusts the road wheel angle of the first steerable wheel 218 and the second steerable wheel 220 to steer the vehicle 100. In some examples, the motor 214 may be used to provide power steering assistance. For example, in the conventional driving mode, based on the torque input to the steering wheel 206, the electronic control unit 202 may activate the motor 214 to provide additional torque assistance for steering the vehicle 100. In addition, when the vehicle 100 is in the self-driving mode, the motor 214 may be activated to control the steering angle of the steering wheel 206. As discussed in further detail herein, the steering controller 204 may provide a PF angle request and / or a torque request to the motor 214 to cause the motor 214 to adjust the steering angle accordingly.
[0042] The example steering controller 204 is operable in the self-driving mode to control the motor 214 and adjust the steering angle of the vehicle 100 , example operations of which are disclosed in further detail herein. Figure 2The steering controller 204 may be instantiated (e.g., created as an instance, formed for any length of time, embodied, implemented, etc.) by a programmable circuit system (such as a central processing unit (CPU) executing a first instruction). Additionally or alternatively, Figure 2 The steering controller 204 may be instantiated (e.g., created as an instance, formed in any length of time, embodied, implemented, etc.) by (i) an application specific integrated circuit (ASIC) and / or (ii) a field programmable gate array (FPGA), which is structured and / or configured to perform operations corresponding to the first instruction in response to executing the second instruction. It should be understood that Figure 2 Some or all of the circuitry may thus be instantiated at the same or different times. Figure 2 Some or all of the circuits of can be instantiated, for example, in one or more threads that execute simultaneously on hardware and / or serially on hardware. Furthermore, in some examples, Figure 2 Some or all of the circuitry may be implemented by a microprocessor circuitry executing instructions and / or an FPGA circuitry executing operations to implement one or more virtual machines and / or containers.
[0043] In some examples, Figure 2 The steering controller 204 includes instructions and a programmable circuit system, wherein the programmable circuit system is used to execute the instructions to Figure 1 The example steering controller 204 generates a virtual boost curve (VBC) angle request based on the torque input of the steering wheel 206 of the example vehicle 100. In addition, the steering controller 204 determines an angle blending weight based on the torque input and the speed of the vehicle 100. The example steering controller 204 can determine a final angle request based on a combination of the VBC angle request, the path following (PF) angle request, and the angle blending weight. The example steering controller 204 converts the final angle request into a torque request for adjusting the steering angle of the vehicle 100. Figures 3 to 18 A further description of the structure and operation of the steering controller 204 will be described.
[0044] exist Figure 2 In the illustrated example of FIG. 2 , the steering system 200 includes a torque sensor 222 that detects or measures the input torque on the steering wheel 206. For example, when the driver Figure 1When the steering wheel 206 is turned or attempted to be turned during the self-driving mode of the vehicle 100, the torque sensor 222 detects the torque input. In some cases, when in the self-driving mode, the torque applied by the motor 214 is very strong. Therefore, the driver may not be able to physically turn the steering wheel 206. However, the torque sensor 222 can still detect the torque applied at the steering wheel 206, and then the torque can be converted into a desired steering angle, which is further disclosed in detail herein. In some examples, the steering controller 204 analyzes the sensor output to determine the torque input by the driver. The example torque sensor 222 can detect a static torque input at a certain point in time and / or a dynamic torque input over a period of time. Therefore, the torque sensor 222 can be a reverse torque sensor including a fixed or non-rotating sensor. The example torque sensor 222 can also be a rotational torque sensor including a rotational sensor that measures the torque input. In some examples, the torque sensor 222 is connected to the torsion bar (T-bar) of the steering system 200. The torque on the T-bar can be equivalent to the torque applied at the steering wheel 206. In other examples, the torque sensor 222 is coupled at another location of the steering system 200 (eg, at the steering wheel 206 ).
[0045] exist Figure 2 In the illustrated example of , the steering system 200 includes a SWA sensor 224 that detects the SWA of the steering wheel 206, the steering column 208, and / or the pinion 210. The example SWA sensor 224 can be connected to the steering column 208 and / or the pinion 210 in a contact or non-contact arrangement. In some examples, the SWA sensor 224 is implemented as a rotational position sensor, which enables accurate angle measurement of the steering wheel 206. For example, the SWA sensor 224 can convert a mechanical rotational position into an electrical signal. Therefore, the example SWA sensor 224 may correspond to an incremental encoder or a rotary encoder that detects changes in the SWA, angular velocity, and / or rotational direction of the steering wheel 206. In some examples, the steering controller 204 obtains the SWA in the form of a digital signal generated by the SWA sensor 224 (e.g., a mechanical motion sensor) according to the movement of the steering wheel 206, the steering column 208, and / or the pinion 210 from the SWA sensor 224.
[0046] Figure 3 yes Figure 2 206. When the vehicle 100 is in the self-driving mode, the steering controller 204 operates to control the motor 214 to adjust the steering of the vehicle 100 and thereby steer the vehicle 100 along the target path. The steering controller 204 may also be used during the self-driving mode, such as when the driver attempts to manually turn the steering wheel 206 ( Figure 2 ) based on the driver input torque. In some examples, the steering controller 204 controls the motor 214 (and therefore the steering angle) at Figure 2 The steering controller 204 may be implemented in the electronic control unit 202 of the vehicle 100. Additionally or alternatively, the steering controller 204 may be implemented in another control system, control unit, and / or computing system of the vehicle 100.
[0047] exist Figure 3 In the illustrated example of FIG. 2 , the steering controller 204 includes an example virtual boost curve circuit system 302 (VBC circuit system 302), an example angle blending circuit system 306, and an example conversion circuit system 308. The conversion circuit system 308 and the motor 214 may be referred to as an angle controller 309. As described above, the torque sensor 222 outputs a sensor signal corresponding to a raw T-bar torque, which indicates the driver input torque applied to the steering wheel 206. The VBC circuit system 302 obtains a signal from the torque sensor 222 and uses a Kalman filter method and Figure 2 The input torque is determined based on a model of the steering system 200 of the vehicle 100. In other examples, different types of filters may be used, or unfiltered torque may be used. In addition, the VBC circuit system obtains the current SWA associated with the steering wheel 206 from the SWA sensor 224. The example VBC circuit system 302 determines a VBC angle request based on the input torque and SWA. The VBC angle request represents a desired driver steering angle based on the current SWA and the driver torque applied to the steering wheel 206. In some examples, the VBC angle request is also based at least in part on the vehicle speed, which may be measured by a speed sensor 311 of the vehicle 100. The VBC angle request includes a combination (e.g., a sum) of the delta angle and the current SWA. In some examples, the VBC circuit system 302 is instantiated by a programmable circuit system that executes VBC instructions and / or is configured to execute instructions such as those provided by Fig.16 and Fig.17 The following flowchart shows the operations of those operations. Figure 4 and Figures 9 to 18 2 and 3. Further details regarding the VBC circuitry 302 and the VBC angle request are described below.
[0048] When the vehicle 100 is in the self-driving mode, the example path following (PF) circuit system 304 determines a PF angle request for adjusting the steering angle of the vehicle 100 to steer the vehicle 100 along a target path or guide the vehicle along a target path. Figure 3, the PF circuit system 304 is shown as being separate from the steering controller 204. For example, the PF circuit system 304 may be implemented by another controller of the ECU 202. However, in other examples, the PF circuit system 304 may be part of the steering controller 204. When the driver of the vehicle 100 does not interact with the steering wheel 206 during the self-driving mode (e.g., zero input torque), the PF following circuit system 304 controls the yaw, direction, and / or steering angle of the vehicle 100. For example, when the driver input torque is zero during the self-driving mode, the final angle request may consist only of the PF angle request. In some examples, the PF circuit system 304 is based on the target path of the vehicle 100, the speed of the vehicle 100, Figure 2 The PF angle request is determined based on the current steering angle of the steering wheel 206 and / or the expected path of the vehicle 100. In some examples, the PF circuit system 304 is instantiated by a programmable circuit system that executes PF instructions and / or is configured to perform operations such as by Fig.16 The flowcharts represent the operations of those operations.
[0049] exist Figure 3 In the illustrated example of , the steering controller 204 includes an angle blending circuit system 306 to determine a final angle request based on a combination of a VBC angle request, a PF angle request, and an angle blending weight. In some examples, the angle blending weight is an internal signal with a value range of 0 to 1, where an angle blending weight of 0 corresponds to no driver input or interaction, and an angle blending weight of 1 corresponds to a fully engaged driver interaction. Therefore, when the driver has no interaction (e.g., the angle blending weight is equal to 0), the angle control of the vehicle 100 is based only on the PF angle request.
[0050] In order to generate the angle blending weight, the angle blending circuit system 306 may pass the driver input torque through the VBC weight lookup table, which provides a VBC weight (e.g., preliminary weight) of 0 or 1. That is, when the input torque does not meet the VBC weight threshold, the preliminary weight is 0, and when the input torque does meet the VBC weight threshold, the preliminary weight is 1. In addition, the angle blending circuit system 306 multiplies the VBC weight by the output of the speed-based weight lookup table, which corresponds to the speed-based weight. The angle blending circuit system 306 can access the vehicle speed measured by the speed sensor 311. In some examples, the angle blending circuit system 306 inputs the vehicle speed to the speed-based weight lookup table to determine the speed-based weight. As the input vehicle speed increases, the speed-based weight of the output decreases. In some examples, the value of the angle blending weight and the contribution of the VBC angle request are higher at lower speeds and lower at higher speeds. For example, if the driver input torque and the VBC weight are high enough (e.g., a value of 1), then at lower speeds, the speed-based weight is higher, and at higher speeds, the speed-based weight is lower. In some examples, when the vehicle speed is about a threshold value (e.g., 30 miles per hour (mph), 45 mph, 60 mph, etc.), the speed-based weight is 0. In some examples, angle blending circuitry 306 is instantiated by programmable circuitry that executes angle blending instructions and / or is configured to perform operations such as by Fig.16 The flowchart represents the operations of those operations. Figures 5 to 8 Further detailed examples regarding the angle mixing circuitry 306 and / or angle mixing weights are discussed below.
[0051] exist Figure 3 In the illustrated example of FIG. 1 , the steering controller 204 includes a conversion circuit system 308 to convert the final angle request into a torque request for adjusting the steering angle of the vehicle 100. For example, the conversion circuit system 308 can obtain the final angle request from the angle mixing circuit system 306 and determine the torque to be applied by the motor 214 to the steering system 200 (e.g., applied to the gear rack 212, the pinion 210, the steering column 208, etc.) to achieve the steering angle associated with the final angle request. In some examples, the conversion circuit system 308 uses and / or generates Figure 2The conversion circuit system 308 may generate and / or implement a model of the steering system 200 to convert the final angle request into a torque request. For example, the conversion circuit system 308 may take into account the size, geometry, orientation, material, structure, or other characteristics of the steering system 200 to generate and / or implement the model. In some examples, the model used by the conversion circuit system 308 is generated based on the size and power of the motor 214, the length and gear tooth spacing of the gear rack 212, the diameter of the steering column 208, etc. In some examples, the conversion circuit system 308 is instantiated by a programmable circuit system that executes conversion instructions and / or is configured to perform operations such as those performed by Fig.16 The flowcharts represent the operations of those operations.
[0052] Figure 4 yes Figure 3 0046 is a block diagram of an example implementation of the VBC circuitry 302 generating a VBC angle request. Figure 3 and Figure 4 The VBC circuit system 302 of may be instantiated (e.g., created as an instance, formed for any length of time, embodied, implemented, etc.) by a programmable circuit system (such as a central processing unit (CPU) executing a first instruction). Additionally or alternatively, Figure 3 and Figure 4 The VBC circuit system 302 may be instantiated (e.g., created as an instance, formed in any length of time, embodied, implemented, etc.) by (i) an application specific integrated circuit (ASIC) and / or (ii) a field programmable gate array (FPGA), which is structured and / or configured to perform operations corresponding to the first instruction in response to executing the second instruction. It should be understood that Figure 4 Some or all of the circuitry may thus be instantiated at the same or different times. Figure 4 Some or all of the circuit system of can be instantiated in one or more threads that are executed simultaneously on hardware and / or serially on hardware, for example. In addition, in some examples, Figure 4 Some or all of the circuitry may be implemented by a microprocessor circuitry executing instructions and / or an FPGA circuitry executing operations to implement one or more virtual machines and / or containers.
[0053] exist Figure 4In the illustrated example of FIG. 2 , the VBC circuit system 302 includes an example main incremental angle determination circuit system 402, an example derivative incremental angle determination circuit system 404, an example return to center incremental angle determination circuit system 406 (R2C incremental angle determination circuit system 406), an example damped incremental angle determination circuit system 408, and an example VBC angle determination circuit system 410. In some examples, one or more of the main incremental angle determination circuit system 402, the derivative incremental angle determination circuit system 404, the R2C incremental angle determination circuit system 406, the damped incremental angle determination circuit system 408, and / or the VBC angle determination circuit system 410 are combined and / or implemented by the steering controller 204 in a circuit system different from the VBC circuit system 302. Figure 3 and Figure 4 The example VBC circuitry 302 determines a plurality of incremental angles (eg, four incremental angles) and adds the incremental angles to the current SWA to generate a final VBC angle request.
[0054] exist Figure 4 In the illustrated example of FIG. 2 , the steering controller 204 includes a primary delta angle determination circuit system 402 to determine a primary torque-based delta angle for a VBC angle request. The primary delta angle is used as a base value for the VBC angle request. To determine the primary delta angle, the example primary delta angle determination circuit system 402 passes the input torque through a VBC torque and differential SWA lookup table. For example, the primary delta angle circuit system 402 inputs the torque into the lookup table and outputs the differential SWA. In some examples, the primary delta angle determination circuit system 402 implements a virtual wall lookup table to ensure that the driver input does not cause the primary delta angle to be greater than the primary torque. Figure 1 The vehicle 100 moves too far off the path. In addition, in some examples, the main incremental angle determination circuit system 402 implements a speed-based weighted lookup table to Figure 1 The value of the main increment angle is reduced as the speed of the vehicle 100 increases. In some examples, the main increment angle determination circuit system 402 is instantiated by a programmable circuit system that executes the main increment angle determination instruction and / or is configured to perform operations such as by Fig.17 The following flowchart shows the operations of those operations. Fig.10 Further details of the main incremental angle determination circuit system 402 are described below.
[0055] exist Figure 4In the illustrated example of , the steering controller 204 includes a derivative increment angle determination circuit system 404 to determine a torque derivative-based increment angle of the VBC angle request. In some examples, the VBC angle determination circuit system 410 adds the derivative increment angle to the main increment angle to provide some leading action when moving the steering wheel 206. In other words, the derivative increment angle determination circuit system 404 determines the derivative increment angle to increase the response time of the steering controller 204. Therefore, the derivative increment angle circuit system 404 causes the VBC angle request to have a greater impact on the angle control of the vehicle 100 than the PF angle request. In addition, the derivative increment angle determination circuit system 404 limits the gain of the main increment angle to increase responsiveness and maintain Figure 2 The stability of the steering system 200. In some examples, the derivative increment angle determination circuit system 404 is instantiated by a programmable circuit system that executes derivative increment angle determination instructions and / or is configured to perform such as by Fig.17 The following flowchart shows the operations of those operations. Fig.11 and Fig.12 Further details of the main incremental angle determination circuit system 402 are described below.
[0056] exist Figure 4 In the illustrated example of FIG. 4 , the steering controller 204 includes an R2C delta angle determination circuit system 406 to determine the R2C delta angle for the VBC angle request. In some examples, in order to make the steering wheel 206 ( Figure 2 ) returns to a reference position (e.g., an automated vehicle path), subtracting the R2C incremental angle from the primary incremental angle and the derivative incremental angle to determine the VBC angle request. The example R2C incremental angle determination circuit system 406 generates the R2C incremental angle based on the difference between the current SWA and the R2C reference. As used herein, the R2C reference is the SWA angle corresponding to the instantaneous path curvature. Therefore, during the self-driving mode, the steering wheel 206 is pushed toward the R2C reference (e.g., the instantaneous path or PF angle request). For example, when the driver applies input torque to the steering wheel 206, the driver feels the resistance imposed on the steering wheel 206 by the R2C incremental angle determination circuit system 406 based on the position of the R2C incremental angle and / or the R2C reference. When driving without automated steering based on angle control, the mechanical components of the steering system 200 (e.g., steerable wheels 218, 220, tires, suspension, etc.) cause the steering wheel 206 to naturally return to the center position. However, since the VBC circuit system 302 continuously controls the motor 214 to steer the vehicle 100, the steering system 200 does not naturally return the vehicle 100 to the center when in the self-driving mode. Therefore, the R2C delta angle determination circuit system 406 is implemented in the steering controller 204 to return the steering wheel 206 and the steerable wheels 218, 220 to the center / neutral position.
[0057] In the examples disclosed herein, the R2C reference is used instead of the steering wheel 206 ( Figure 2 ) center position (e.g., zero SWA). In some examples, the R2C delta angle determination circuitry 406 determines the R2 reference based on vehicle speed and understeering gradient. Additionally or alternatively, the R2C reference corresponds to the PF angle request. The VBC angle determination circuitry 410 subtracts the R2C delta angle from the main delta angle to determine the final VBC angle request. Thus, the R2C delta angle determination circuitry 406 determines the R2C delta angle to provide resistance and / or counteraction to the driver input torque. For example, when the steering wheel 206 ( Figure 2 ) when the driver input torque is removed, the R2C increment angle still has a non-zero value and causes the motor 214 ( Figure 2 ) makes the vehicle 100( Figure 1 ) turns back to the target path. In some examples, the R2C incremental angle determination circuit system 406 is instantiated by a programmable circuit system that executes R2C incremental angle determination instructions and / or is configured to perform such as by Fig.17 The flowchart represents the operations of those operations. Fig.13 and Fig.14 Further details regarding the R2C delta angle determination circuitry 406 are described below.
[0058] exist Figure 4 In the illustrated example of FIG. 2 , the steering controller 204 includes a damping increment angle determination circuit system 408 to determine a damping increment angle for a VBC angle request. The damping increment angle determination circuit system 408 determines the damping increment angle to provide a natural steering feel for the VBC angle request. As mentioned above in conjunction with the R2C increment angle determination circuit system 406, the steering system 200 ( Figure 2 ) do not provide feedback (e.g., centering movement) to the driver during the self-driving mode. In addition, the steering system 200 does not mechanically dampen steering movement to limit uncontrolled movement and / or oscillation of the steering wheel 206. Therefore, the damping delta angle determination circuit system 408 generates a damping delta angle to provide negative feedback of the steering wheel speed (e.g., the rate of change of SWA). In other words, although the main delta angle and the derivative delta angle will make the steering wheel 206 ( Figure 2 ) turns (e.g., based on input torque), but the R2C delta angle and damping delta angle will cause the steering wheel 206 to "bounce" back to PF control.
[0059] In some examples, the magnitude of the damping increment angle is based on vehicle speed, such that a higher vehicle speed results in a lower damping increment angle. Additionally, in some examples, the magnitude of the damping increment angle is based on the direction of the SWA. For example, relative to the damping increment angle when the steering wheel 206 is turned toward the center at a certain rate, the damping increment angle is lower when the steering wheel 206 is turned away from the center at the same rate. In some examples, the damping increment angle determination circuit system 408 is instantiated by a programmable circuit system that executes damping increment angle determination instructions and / or is configured to perform, such as by Fig.17 The flowchart represents the operations of those operations. Fig.15 Further details regarding the damping increment angle determination circuitry 408 will be described below.
[0060] exist Figure 4 In the illustrated example of FIG. 2 , the steering controller 204 includes a VBC angle determination circuit system 410 to determine a final VBC angle request. In some examples, the final VBC angle request is determined based on a combination of four incremental angles and a current SWA (or instantaneous SWA), wherein the four incremental angles include (1) a primary incremental angle; (2) a derivative incremental angle; (3) an R2C incremental angle; and (4) a damping incremental angle. In some examples, the VBC angle determination circuit system 410 obtains the incremental angles (e.g., primary, derivative, R2C, damping) from corresponding circuit systems and obtains the incremental angles from the SWA sensor 224 ( Figure 2 ) to obtain the current SWA. In some examples, to determine the combination of increment angles, the example VBC angle determination circuit system 410 sums the main increment angle and the derivative increment angle and subtracts the R2C increment angle and the damping increment angle. Then, the combination of increment angles is added to the current SWA to generate a final VBC angle request.
[0061] In some examples, in response to the determination of the final VBC angle request, the VBC angle determination circuitry 410 provides the final VBC angle request to the angle blending circuitry 306 to combine with the PF angle request and generate the final angle request. Additionally or alternatively, the VBC angle determination circuitry 410 provides the final VBC angle request to the motor 214 and / or another component of the steering system 200 after determining the final VBC angle request. In some examples, the VBC angle determination circuitry 410 is instantiated by a programmable circuitry that executes final VBC angle determination instructions and / or is configured to execute instructions such as those provided by Fig.17 The flowchart represents the operations of those operations. Fig. 9 Further details regarding the VBC angle determination circuit system 410 are described below.
[0062] Figure 5 yes Figure 3The angle blending circuit system 306 generates angle blending weights and determines the final angle request for generating the motor 214 ( Figure 2 and Figure 3 )'s block diagram of an example implementation of a torque response. Figure 3 and Figure 5 The angle mixing circuit system 306 may be instantiated (e.g., created as an instance, formed for any length of time, embodied, implemented, etc.) by a programmable circuit system (such as a central processing unit (CPU) executing a first instruction). Additionally or alternatively, Figure 3 and Figure 5 The angle hybrid circuit system 306 may be instantiated (e.g., created as an instance, formed in any length of time, embodied, implemented, etc.) by (i) an application specific integrated circuit (ASIC) and / or (ii) a field programmable gate array (FPGA), which is structured and / or configured to perform operations corresponding to the first instruction in response to executing the second instruction. It should be understood that Figure 5 Some or all of the circuitry may thus be instantiated at the same or different times. Figure 5 Some or all of the circuitry of may be instantiated, for example, in one or more threads that execute concurrently on hardware and / or serially on hardware. Furthermore, in some examples, Figure 5 Some or all of the circuitry may be implemented by a microprocessor circuitry executing instructions and / or an FPGA circuitry executing operations to implement one or more virtual machines and / or containers.
[0063] exist Figure 5 In the illustrated example of , angle mixing circuitry 306 includes example angle mixing weight determination circuitry 502 and example final angle determination circuitry 504. In some examples, one or more of angle mixing weight determination circuitry 502 and / or final angle determination circuitry 504 are combined and / or implemented by steering controller 204 in a circuitry different from angle mixing circuitry 306. Figure 3 and Figure 5 The example angle blending circuit system 306 determines the angle blending weights based on the driver input torque and the vehicle 100. The example angle blending circuit system 306 applies the angle blending weights to the PF angle request and the VBC angle request to determine the final angle request. Therefore, the angle blending circuit system 306 can adjust the effects of the VBC circuit system 302 and the PF circuit system 304 on the automatic angle control during the self-driving mode. For example, when the vehicle 100 is at a lower speed, the angle blending circuit system 306 can increase the VBC angle request and decrease the PF angle request in the final angle request, and when the vehicle 100 is at a higher speed, the opposite is also true.
[0064] Sent to an Angular controller (e.g. Figure 3 The final angle request of the conversion circuit system 308 and / or motor 214) is a combination of the VBC angle request and the PF angle request and / or is based on the VBC angle request and the PF angle request. However, if the driver does not interact with the steering wheel 206, the final angle request only includes the PF angle request. In some examples, the angle blending weight represents the degree of driver interaction with the steering wheel 206 and ranges from 0 to 1, where 1 corresponds to fully engaged driver interaction. In some examples, the angle blending weight determination circuit system 502 is instantiated by a programmable circuit system that executes angle blending weight determination instructions and / or is configured to execute instructions such as by Fig.17 In some examples, the final angle determination circuit system 504 is instantiated by a programmable circuit system that executes the final angle determination instructions and / or is configured to perform operations such as by Fig.17 The flowcharts represent the operations of those operations.
[0065] Figure 6 Shows Figure 5 The example final angle determination circuitry 504 performs and / or executes the example final angle generation operation 600 to determine the example final angle request 602. As mentioned, the final angle request 602 is converted to the motor 214 ( Figure 2 and Figure 3 ) to be applied to the steering system 200 of the vehicle 100 (eg, rack and pinion 212, pinion 210, steering column 208, etc.) to achieve the final steering angle.
[0066] exist Figure 6 In the illustrated example of , the final angle determination circuitry 504 calculates the product of the angle blending weight 604 and the VBC angle request 606. The example final angle determination circuitry 504 also subtracts the angle blending weight 604 from one and multiplies the difference by the PF angle request 608. Therefore, the value of the angle blending weight is between 0 and 1. The example final angle determination circuitry 504 sums the two products to determine the final angle request 602.
[0067] Figure 7 Shows Figure 5 The example angular blending weight determination circuitry 502 performs and / or executes the example angular blending weight generation operation 700 to determine the example angular blending weight 702. In some examples, the angular blending weight 702 corresponds to Figure 6 604. In some examples, the angle blending weight determination circuit system 502 generates a final angle in response to a request and / or in response to a request via Figure 2The torque sensor 222 detects the driver input torque and sends the final angle determination circuit system 504 ( Figure 5 ) provides angle blending weights 702.
[0068] exist Figure 7 In the illustrated example of , the angle blending weight determination circuit system 502 obtains the driver input torque 704 (e.g., obtained from the torque sensor 222) and performs an example hysteresis operation 706 to introduce some hysteresis in the system. For example, the hysteresis operation 706 can delay the generation of the angle blending weight 702 for a certain length of time (e.g., 10 milliseconds (ms), 50ms, 100ms, etc.). The example angle blending weight determination circuit system 502 determines the absolute value 708 of the driver torque 704. In some examples, the angle blending weight determination circuit system 502 inputs the absolute value 708 into the example VBC weight lookup table 710 to determine the VBC weight or preliminary weight. In some examples, the angle blending weight determination circuit system 502 determines whether the driver torque 704 meets the VBC weight threshold based on the VBC weight lookup table 710. In some examples, when the driver torque 704 meets (e.g., exceeds) the VBC weight threshold, the preliminary weight is 1. In some examples, when the driver torque 704 meets the VBC weight threshold, the preliminary weight is a value less than 1. In some examples, the preliminary weight is set to 0.85. However, in other examples, the preliminary weight may be set to a higher or lower value.
[0069] exist Figure 7 In the illustrated example, the angle blending weight determination circuit system 502 obtains the angle blending weight corresponding to the vehicle 100 ( Figure 1 ) of the vehicle speed 712 of the current or instantaneous speed of the vehicle. In some examples, the vehicle speed 712 is measured and / or detected using a vehicle speed sensor (VSS) that measures the transmission / transaxle output or wheel speed. The angle blending weight determination circuit system 502 inputs the vehicle speed 712 into an example speed-based weight lookup table 714 to determine the speed-based weight. In some examples, the range of the speed-based weight is between a maximum value and a minimum value, which may be between 0 and 1. For example, in some cases, the maximum value is 0.95 and the minimum value is 0.85. Therefore, as the vehicle speed 712 increases, the speed-based weight gradually decreases from 0.95 to 0.85. In some examples, when the vehicle speed 712 meets a vehicle speed threshold (e.g., 45mph, 60mph, etc.), the speed-based weight is set to a minimum value (e.g., 0.85). In other examples, other range values may be used.
[0070] exist Figure 7In the illustrated example of , the angle blending weight determination circuitry 502 multiplies the VBC weight with the speed-based weight to determine the angle blending weight 702. The example angle blending weight determination circuitry 502 also implements an example rate limiter 716 to limit and / or control the rate at which the angle blending weight values are provided to the final angle determination circuitry 504.
[0071] Figure 8 Is based on Figure 7 800 of example values of the angle blending weight 802 of operation 700. In the example graph 800, the y-axis 804 corresponds to the angle blending weight, and the x-axis 806 corresponds to the driver input torque. As shown in the example graph 800, as the driver input increases along the x-axis 806, the angle blending weight increases along the y-axis 804. In addition, for a given vehicle speed, as the driver torque increases, the angle blending weight 802 asymptotically approaches the example weight limit value of 0.85. Therefore, since the angle blending weight 802 does not reach a value of 1, the final angle request cannot consist of only the VBC angle. In some examples, the weight limit value of the angle blending weight 802 is another value different from 0.85 (e.g., 0.75, 0.90, 0.99, etc.).
[0072] Fig. 9 9 is an example VBC angle request generation operation 900 performed by the VBC angle determination circuitry 410 to determine a VBC angle request 902. In some examples, in response to determining the VBC angle request, the VBC angle determination circuitry 410 sends a VBC angle request to the angle blending circuitry 306 (eg, Figure 5 The final angle determination circuit system 504) provides a VBC angle request. The example VBC angle determination circuit system 410 receives the VBC angle request from Figure 3 and Figure 4 The corresponding components of the example VBC circuit system 302 obtain the example main increment angle 904, the example derivative increment angle 906, the example R2C increment angle 908, and the example damping increment angle 910. In addition, the example VBC angle determination circuit system 410 obtains the example main increment angle 904, the example derivative increment angle 906, the example R2C increment angle 908, and the example damping increment angle 910. Figure 2 The SWA sensor 224 obtains an example current SWA or instantaneous SWA.
[0073] exist Fig. 9 In the illustrated example of , the VBC angle determination circuitry 410 determines a combination of delta angles 904-910. More specifically, the example VBC angle determination circuitry 410 sums the main delta angle 904 and the derivative delta angle 906 and subtracts the R2C delta angle 908 and the damping delta angle 910. The example VBC angle determination circuitry 410 adds the combination of delta angles 904-910 to the current SWA 912 to determine the VBC angle request 902.
[0074] Fig.10 1 shows an example main increment angle generation operation 1000 performed by the main increment angle determination circuitry 402 to determine an example main increment angle 1002. In some examples, the main increment angle determination circuitry 402 provides the main increment angle 1002 to the VBC angle determination circuitry 410 in response to a request from the VBC angle determination circuitry 410. The example main increment angle 1002 may correspond to Fig. 9 The main increment angle is 904.
[0075] exist Fig.10 In the illustrated example, the main incremental angle determination circuit system 402 is Figure 2 The example input torque 1004 is obtained from the torque sensor 222 of the example main delta angle determination circuit system 402. In some examples, the main delta angle determination circuit system 402 performs an example hysteresis activation function 1006 on the input torque 1004 to provide some delay in the main delta angle generation operation 1000. The example delta angle determination circuit system 402 passes the torque through a sign determiner 1008 to output the sign of the input torque 1004. For example, when the main delta angle determination circuit system 402 determines that the driver turns the steering wheel 206 to the right while applying the input work 1004, the sign determiner 1008 outputs +1. In parallel, the example main delta angle determination circuit system 402 performs an absolute value function 1010 on the input torque 1004 and inputs the absolute value of the input torque into an example VBC torque and differential SWA lookup table 1012. In some examples, the main delta angle determination circuit system 402 implements the VBC torque and differential SWA lookup table 1012 to determine the differential SWA based on the torque input 1004. In some examples, different lookup tables are used based on the type of vehicle, the mechanical components of the steering system 200 , etc.
[0076] exist Fig.10 In the illustrated example, the main incremental angle determination circuit system 402 is Figure 3 The PF circuit system 304 obtains an example predicted path deviation 1014. In some examples, the predicted path deviation 1014 is the difference between the current SWA and the PF angle request generated by the PF circuit system 304. In some examples, the specific path deviation is Figure 1 The example primary delta angle determination circuitry 402 inputs the predicted path offset 1014 into the example virtual wall lookup table 1016 to determine a virtual wall weight. In some examples, when the predicted path offset 1014 meets the virtual wall threshold, the virtual wall weight is gradually and / or immediately reduced to 0. Thus, when the vehicle 100 moves too far from the target path (e.g., the predicted path offset 1014 meets the virtual wall threshold), the virtual wall weight and the primary delta angle 1002 are reduced to 0.
[0077] exist Fig.10 In the illustrated example, the main delta angle determination circuit system 402 obtains an example vehicle speed 1018, which may correspond to Figure 7 The example vehicle speed 712. The example primary delta angle determination circuitry inputs the vehicle speed 1018 into the example speed-based weight lookup table 1020 to determine the speed-based weight. Similar to Figure 7 The output of the speed-based weight lookup table 1020 decreases as the vehicle speed 1018 increases. However, the output of the speed-based weight lookup table 1020 increases with the speed of the vehicle. Figure 7 The speed-based lookup table 714 decreases at different rates (e.g., quadratic rate, etc.).
[0078] exist Fig.10 In the illustrated example of , the main incremental angle determination circuit system 402 multiplies the sign of the input torque 1004, the delta SWA output from the lookup table 1012, the virtual wall weight output from the lookup table 1016, and the speed-based weight output from the lookup table 1020 to determine a product corresponding to the preliminary main incremental angle. The example main incremental angle determination circuit system 402 inputs the preliminary main incremental angle into the example low pass filter 1022 to limit the frequency of the main incremental angle 1002. For example, the low pass filter 1022 can set a maximum limit on the main incremental angle 1002 so that the VBC angle request is not too high. Fig.10 In the illustrated example of , the low pass filter 1022 implements a two Hertz (Hz) limit. However, the example low pass filter 1022 may implement another frequency based on an average value of the VBC angle requests.
[0079] Fig.11 1 shows an example derivative increment angle generation operation 1100 performed by the derivative increment angle determination circuitry 404 to determine an example derivative increment angle 1102. In some examples, the derivative increment angle determination circuitry 404 provides the derivative increment angle 1102 to the VBC angle determination circuitry 410 in response to a request from the VBC angle determination circuitry 410. The example derivative increment angle 1102 may correspond to Fig. 9 The derivative increment angle is 906.
[0080] exist Fig.11 In the illustrated example, the derivative increment angle determination circuit system 404 obtains an example vehicle speed 1104 from an example vehicle speed sensor and obtains an example vehicle speed 1104 from Figure 2 The example torque sensor 222 obtains an example input torque 1106. The derivative increment angle determination circuitry 404 inputs the vehicle speed 1104 into a VBC derivative gain function 1108 to determine an example gain value to be applied to the preliminary derivative increment angle.
[0081] To determine the preliminary derivative increment angle, the derivative increment angle determination circuitry 404 inputs the input torque 1106 into the VBC derivative function 1110. In some examples, the VBC derivative function 1110 inputs the input torque 1106 and outputs the torque derivative. In some examples, the VBC derivative function 1110 also includes a lookup table for outputting a virtual SWA based on the torque input 1106. The example derivative increment angle determination circuitry 404 then adds the torque derivative to the virtual SWA to determine the preliminary derivative increment angle. In some examples, the derivative increment angle determination circuitry 404 inputs the preliminary derivative increment angle into the example low pass filter 1112 to limit the frequency of the derivative increment angle. In addition, the derivative increment angle determination circuitry 404 inputs the filtered preliminary derivative increment angle into the example hysteresis function 1114 to apply a delay to the example operation 1100. In some examples, the product of the gain value and the preliminary derivative increment angle corresponds to the derivative increment angle 1102.
[0082] Fig.12 Yes means Fig.11 An example first order derivative increment angle diagram 1200 of the example derivative increment angle generation operation 1100 is shown. Fig.12 In the illustrated example of , the x-axis 1202 corresponds to time and the y-axis 1204 corresponds to torque. In the graph 1200 , a first curve 1206 represents a torque input and a second curve 1208 represents a derivative of the first curve 1206 .
[0083] Fig.13 1 shows an example R2C delta angle generation operation 1300 performed by R2C delta angle determination circuitry 406 to determine an example R2C delta angle 1302. In some examples, R2C delta angle determination circuitry 406 provides R2C delta angle 1302 to VBC angle determination circuitry 410 in response to a request from VBC angle determination circuitry 410. Example R2C delta angle 1302 may correspond to Fig. 9 The R2C increment angle is 908.
[0084] exist Fig.13In the illustrated example of , R2C delta angle determination circuitry 406 obtains example R2C reference 1304 and example current SWA 1306. In some examples, R2C delta angle determination circuitry 406 generates R2C reference 1304. In some examples, R2C delta angle determination circuitry 406 obtains R2C reference 1304 from other circuitry hardware (e.g., PF circuitry 304, VBC circuitry 302, etc.). Example R2C delta angle determination circuitry 406 subtracts R2C reference 1304 from current SWA 1306 to determine a preliminary R2C delta angle. In some examples, R2C delta angle determination circuitry 406 implements sign determiner 1308 to output a value of +1 or -1 based on R2C reference 1304 relative to current SWA 1306. For example, if current SWA 1306 is to the left of R2C reference 1304, sign determiner 1308 outputs a value of -1, and vice versa.
[0085] exist Fig.13 In the illustrated example of , the R2C delta angle determination circuitry 406 inputs the absolute value of the difference between the current SWA 1306 and the R2C reference 1304 into the example VBC and R2C lookup table 1310. The example R2C delta angle determination circuitry 406 multiplies the output of the lookup table 1310 by the output of the sign determiner 1308 to determine a preliminary R2C delta angle. Additionally, the example R2C delta angle determination circuitry 406 obtains an example vehicle speed 1312. In some examples, the R2C delta angle determination circuitry 406 inputs the vehicle speed 1312 into the example VBC R2C gain lookup table 1314 to determine a gain factor. In some examples, the R2C delta angle determination circuitry 406 passes the preliminary R2C delta angle through an example low pass filter 1316. The example R2C delta angle determination circuitry 406 then multiplies the filtered preliminary R2C delta angle by the gain factor to determine the R2C delta angle 1302.
[0086] Fig.14 The example R2C reference generation operation 1400 is performed by the R2C delta angle determination circuitry 406 to determine an example R2C reference 1402. In some examples, the R2C reference 1402 corresponds to Fig.13 R2C reference 1304. Fig.14 In the illustrated example, the R2C incremental angle determination circuit system 406 is Figure 3 The example PF circuit system 304 obtains the example curvature 1404 of the current vehicle path. In addition, the example R2C delta angle determination circuit system 406 obtains the example vehicle speed 1406 from another sensor of the vehicle 100 (such as a vehicle speed sensor). Fig.14In the illustrated example of , the R2C delta angle determination circuitry 406 inputs the curvature 1404 and the vehicle speed 1406 into the example SWA determination function 1408 .
[0087] In some examples, the R2C delta angle determination circuitry 406 implements the SWA determination function 1408 to determine a preliminary R2C reference based on the curvature 1404 and the vehicle speed 1406. The preliminary R2C reference is passed through an example low pass filter 1410 and an example rate limiter 1412. The example R2C delta angle determination circuitry 406 may also determine the initial R2C reference from the curvature 1404 and the vehicle speed 1406. Figure 3 The PF circuit system 304 of the embodiment obtains an example PF angle request 1414. In some examples, the R2C delta angle determination circuit system 406 implements a switching operation 1416 to switch between the preliminary R2C reference and the PF angle request 1414. In some examples, the switching operation 1416 is used to switch between the preliminary R2C reference and the PF angle request 1414 based on whether the error between the preliminary R2C reference and the PF angle request 1414 exceeds a threshold error. For example, when the difference between the preliminary R2C reference and the PF angle request 1414 is greater than zero, the switching operation 1416 switches to the preliminary R2C reference. Otherwise, the switching operation 1416 switches to the PF angle request 1414.
[0088] Fig.15 An example damping increment angle generation operation 1500 is shown that the damping increment angle determination circuitry 408 performs to determine an example damping increment angle 1502. In some examples, the damping increment angle 1502 corresponds to Fig. 9 The damping increment angle is 910. Fig.15 In the illustrated example, the damping increment angle determination circuit system 408 is based on Figure 2 The example SWA sensor 224 obtains the example current SWA 1504. Additionally, the example damping increment angle determination circuitry 408 obtains the example vehicle speed 1506 from another sensor of the vehicle 100, such as a vehicle speed sensor.
[0089] exist Fig.15 In the illustrated example of , the damped delta angle determination circuitry 408 inputs the current SWA 1504 into the example VBC derivative function 1508 to determine the steering wheel velocity (SWV). In some examples, the damped delta angle determination circuitry 408 obtains multiple SWA measurements over a period of time to determine the SWV. The example damped delta angle determination circuitry 408 inputs the SWA 1504 into a first sign determination function 1510 and inputs the SWV into a second sign determination function 1512. The damped delta angle determination circuitry 408 uses the first sign determination function 1510 to output +1 or -1 based on the position of the SWA 1504 relative to the R2C reference. For example, when the steering wheel 206 ( Figure 2) is turned to the right of the R2C reference, the first sign determination function 1510 outputs +1. Alternatively, when the steering wheel 206 ( Figure 2 ) is turned to the left of the R2C reference, the first sign determination function 1510 outputs -1. In addition, the damping increment angle determination circuit system 408 uses the second sign determination function 1512 to output +1 or -1 based on the direction of the SWV relative to the R2C reference. For example, when the steering wheel 206 ( Figure 2 ) is turned to the right, the first sign determination function 1510 outputs +1. Alternatively, when the steering wheel 206 ( Figure 2 ) is rotated to the left, the first sign determination function 1510 outputs -1. The example damping delta angle determination circuit system 408 determines the product of the two outputs to obtain +1 or -1 based on how the steering wheel 206 is rotated relative to the R2C reference. Therefore, when the steering wheel 206 moves toward the R2C reference, the product is -1. Alternatively, when the steering wheel 206 moves away from the R2C reference, the product is +1.
[0090] exist Fig.15 In the illustrated example of , the damping increment angle determination circuitry 408 implements a switching function 1514 to switch between the SWV deviation gain lookup table 1516 and the SWV return gain lookup table 1518. When the example damping increment angle determination circuitry 408 determines that the steering wheel 206 is turning away from the center (e.g., the product of 1510 and 1512 is +1), the switching function 1514 causes the damping increment angle determination circuitry 408 to use the SWV deviation gain lookup table 1516. Alternatively, when the example damping increment angle determination circuitry 408 determines that the steering wheel 206 is turning toward the center (e.g., the product of 1510 and 1512 is -1), the switching function 1514 causes the damping increment angle determination circuitry 408 to use the SWV return gain lookup table 1518. In some examples, the models and / or properties of the SWV deviation gain lookup table 1516 and the SWV return gain lookup table 1518 are different. For example, for a given value of vehicle speed 1506, the gain output of SWV return gain lookup table 1518 is greater than the gain output of SWV deviation gain lookup table 1516. In some examples, the gain output from SWV deviation gain lookup table 1516 or SWV return gain lookup table 1518 is a unitless value or coefficient.
[0091] exist Fig.15 In the illustrated example of , the damping increment angle determination circuitry 408 implements a low pass filter 1520 to limit and / or control the frequency of calculation of the damping increment angle 1502. The output of the switching function 1514 and the output of the low pass filter 1520 are multiplied. In some examples, the damping increment angle determination circuitry 408 also multiplies the product by the time period over which the SWA 1504 is measured to determine the damping increment angle 1502.
[0092] In some examples, the steering controller 204 includes means for generating a virtual boost curve (VBC) angle request. For example, the means for generating the VBC angle request may be implemented by the VBC circuit system 302. In some examples, the VBC circuit system 302 may be implemented by a programmable circuit system (such as Fig.18 For example, the VBC circuit system 302 may be instantiated by executing machine executable instructions (such as at least Fig.16 1606 and 1608 of ). Additionally or alternatively, VBC circuit system 302 may be instantiated by any other combination of hardware, software, and / or firmware. For example, VBC circuit system 302 may be implemented by at least one or more hardware circuits (e.g., processor circuit system, discrete and / or integrated analog and / or digital circuit system, FPGA, ASIC, XPU, comparator, operational amplifier (op-amp), logic circuit, etc.), which are configured and / or structured to execute some or all of the machine-readable instructions and / or perform some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, but other structures are equally applicable.
[0093] In some examples, the means for generating the VBC angle request includes means for determining the main incremental angle. For example, the means for determining the main incremental angle can be implemented by the main incremental angle determination circuit system 402. In some examples, the main incremental angle determination circuit system 402 can be implemented by a programmable circuit system (such as Fig.18 For example, the main increment angle determination circuit system 402 may be instantiated by executing machine executable instructions (such as at least Fig.17 1702 of the embodiment of the present invention). Additionally or alternatively, main delta angle determination circuit system 402 may be instantiated by any other combination of hardware, software, and / or firmware. For example, main delta angle determination circuit system 402 may be implemented by at least one or more hardware circuits (e.g., processor circuit system, discrete and / or integrated analog and / or digital circuit system, FPGA, ASIC, XPU, comparator, operational amplifier (op-amp), logic circuit, etc.), which are configured and / or structured to execute some or all of the machine-readable instructions and / or to execute some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, but other structures are equally applicable.
[0094] In some examples, the means for generating the VBC angle request includes means for determining the derivative increment angle. For example, the means for determining the derivative increment angle may be implemented by the derivative increment angle determination circuit system 404. In some examples, the derivative increment angle determination circuit system 404 may be implemented by a programmable circuit system such as Fig.18 For example, the derivative increment angle determination circuit system 404 may be instantiated by executing machine executable instructions (such as at least Fig.17 1704). Additionally or alternatively, the derivative increment angle determination circuit system 404 may be instantiated by any other combination of hardware, software, and / or firmware. For example, the derivative increment angle determination circuit system 404 may be implemented by at least one or more hardware circuits (e.g., processor circuit systems, discrete and / or integrated analog and / or digital circuit systems, FPGAs, ASICs, XPUs, comparators, operational amplifiers (op-amps), logic circuits, etc.), which are configured and / or structured to execute some or all of the machine-readable instructions and / or to execute some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, but other structures are equally applicable.
[0095] In some examples, the means for generating the VBC angle request includes means for determining a return to center (R2C) incremental angle. For example, the means for determining the R2C incremental angle can be implemented by R2C incremental angle determination circuitry 406. In some examples, R2C incremental angle determination circuitry 406 can be implemented by programmable circuitry such as Fig.18 For example, the R2C increment angle determination circuit system 406 may be instantiated by executing machine executable instructions (such as at least Fig.17 1706, 1708 of the embodiment of the present invention) to be instantiated by those machine-executable instructions implemented by blocks 1706, 1708 of the embodiment of the present invention. Additionally or alternatively, the R2C delta angle determination circuit system 406 may be instantiated by any other combination of hardware, software, and / or firmware. For example, the R2C delta angle determination circuit system 406 may be implemented by at least one or more hardware circuits (e.g., processor circuit systems, discrete and / or integrated analog and / or digital circuit systems, FPGAs, ASICs, XPUs, comparators, operational amplifiers (op-amps), logic circuits, etc.), which are configured and / or structured to execute some or all of the machine-readable instructions and / or to execute some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, but other structures are equally applicable.
[0096] In some examples, the means for generating the VBC angle request includes means for determining the damping increment angle. For example, the means for determining the damping increment angle can be implemented by the damping increment angle determination circuit system 408. In some examples, the damping increment angle determination circuit system 408 can be implemented by a programmable circuit system (such as Fig.18 For example, the damping increment angle determination circuit system 408 may be instantiated by executing machine executable instructions (such as at least Fig.17 1710 of ). Additionally or alternatively, the damping increment angle determination circuit system 408 may be instantiated by any other combination of hardware, software, and / or firmware. For example, the damping increment angle determination circuit system 408 may be implemented by at least one or more hardware circuits (e.g., processor circuit systems, discrete and / or integrated analog and / or digital circuit systems, FPGAs, ASICs, XPUs, comparators, operational amplifiers (op-amps), logic circuits, etc.), which are configured and / or structured to execute some or all of the machine-readable instructions and / or to execute some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, but other structures are equally applicable.
[0097] In some examples, the means for generating the VBC angle request includes means for combining the main delta angle, the derivative delta angle, the R2C delta angle, the damping delta angle, and the current steering wheel angle (SWA). For example, the means for combining may be implemented by the VBC angle determination circuit system 410. In some examples, the VBC angle determination circuit system 410 may be implemented by a programmable circuit system (such as Fig.18 For example, the VBC angle determination circuit system 410 may be instantiated by executing machine executable instructions (such as at least Fig.17 1714) to be instantiated by those machine-executable instructions implemented by blocks 1712, 1714 of . Additionally or alternatively, the VBC angle determination circuit system 410 may be instantiated by any other combination of hardware, software, and / or firmware. For example, the VBC angle determination circuit system 410 may be implemented by at least one or more hardware circuits (e.g., processor circuit systems, discrete and / or integrated analog and / or digital circuit systems, FPGAs, ASICs, XPUs, comparators, operational amplifiers (op-amps), logic circuits, etc.) that are configured and / or structured to execute some or all of the machine-readable instructions and / or to execute some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, but other structures are equally applicable.
[0098] In some examples, the steering controller 204 includes means for determining the angle blending weights. For example, the means for determining the angle blending weights may be implemented by the angle blending weight determination circuitry 502. In some examples, the angle blending weight determination circuitry 502 may be implemented by a programmable circuitry such as a Fig.18 For example, the angle blending weight determination circuit system 502 may be instantiated by executing machine executable instructions (such as at least Fig.16 1610) to be instantiated. Additionally or alternatively, the angle mixing weight determination circuit system 502 may be instantiated by any other combination of hardware, software, and / or firmware. For example, the angle mixing weight determination circuit system 502 may be implemented by at least one or more hardware circuits (e.g., processor circuit systems, discrete and / or integrated analog and / or digital circuit systems, FPGAs, ASICs, XPUs, comparators, operational amplifiers (op-amps), logic circuits, etc.), which are configured and / or structured to execute some or all of the machine-readable instructions and / or to execute some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, but other structures are equally applicable.
[0099] In some examples, the steering controller 204 includes means for determining the final angle request. For example, the means for determining the final angle request can be implemented by the final angle determination circuit system 504. In some examples, the final angle determination circuit system 504 can be implemented by a programmable circuit system (such as Fig.18 For example, the final angle determination circuit system 500 may be instantiated by executing machine executable instructions (such as at least Fig.16 The final angle determination circuit system 504 may be instantiated by any other combination of hardware, software, and / or firmware. Additionally or alternatively, the final angle determination circuit system 504 may be instantiated by any other combination of hardware, software, and / or firmware. For example, the final angle determination circuit system 504 may be implemented by at least one or more hardware circuits (e.g., processor circuit systems, discrete and / or integrated analog and / or digital circuit systems, FPGAs, ASICs, XPUs, comparators, operational amplifiers (op-amps), logic circuits, etc.), which are configured and / or structured to execute some or all of the machine-readable instructions and / or to execute some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, but other structures are equally applicable.
[0100] In some examples, the steering controller 204 includes means for converting the final angle request into a torque request. For example, the means for converting may be implemented by the conversion circuit system 308. In some examples, the conversion circuit system 308 may be implemented by a programmable circuit system (such as Fig.18 For example, the conversion circuit system 308 may be instantiated by executing machine executable instructions (such as at least Fig.16 1614 and 1616 of ). Additionally or alternatively, conversion circuitry 308 may be instantiated by any other combination of hardware, software, and / or firmware. For example, conversion circuitry 308 may be implemented by at least one or more hardware circuits (e.g., processor circuitry, discrete and / or integrated analog and / or digital circuitry, FPGA, ASIC, XPU, comparator, operational amplifier (op-amp), logic circuit, etc.) that are configured and / or structured to execute some or all of the machine-readable instructions and / or to perform some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, although other structures are equally applicable.
[0101] although Figure 2 The implementation is shown in Figure 1 The example method of the steering controller 204, however Figure 2 One or more of the elements, processes and / or devices shown may be combined, divided, rearranged, omitted, deleted and / or implemented in any other manner. In addition, the example VBC circuit system 302, the example PF circuit system 304, the example angle mixing circuit system 306, the example conversion circuit system 308, the example main incremental angle determination circuit system 402, the example derivative incremental angle determination circuit system 404, the example R2C incremental angle determination circuit system 406, the example damping incremental angle determination circuit system 408, the VBC angle determination circuit system 410, the example angle mixing weight determination circuit system 502, the example final angle determination circuit system 504 and / or more generally Figure 2The example steering controller 204 may be implemented by hardware alone or by a combination of hardware and software and / or firmware. Thus, for example, any of the example VBC circuit system 302, the example PF circuit system 304, the example angle mixing circuit system 306, the example conversion circuit system 308, the example main incremental angle determination circuit system 402, the example derivative incremental angle determination circuit system 404, the example R2C incremental angle determination circuit system 406, the example damping incremental angle determination circuit system 408, the VBC angle determination circuit system 410, the example angle mixing weight determination circuit system 502, the example final angle determination circuit system 504, and / or more generally the example steering controller 204 may be implemented by a combination of programmable circuit systems and machine-readable instructions (e.g., firmware or software), processor circuit systems, analog circuits, digital circuits, logic circuits, programmable processors, programmable microcontrollers, graphics processing units (GPUs), digital signal processors (DSPs), ASICs, programmable logic devices (PLDs), and / or field programmable logic devices (FPLDs) (such as FPGAs). Further, as Figure 2 in addition to or in lieu of those shown, Figure 2 The example steering controller 204 may include one or more elements, processes, and / or devices, and / or may include more than one or all of the illustrated elements, processes, and devices.
[0102] Fig.16 and / or Fig.17 A flowchart representing example machine-readable instructions (the machine-readable instructions may be executed by a programmable circuit system to implement and / or instantiate Figure 2 The steering controller 204 of the embodiment of the present invention and / or represents example operations (the example operations may be performed by the programmable circuit system to implement and / or instantiate Figure 2 The machine-readable instructions may be a flow chart for a programmable circuit system (such as the following in conjunction with Fig.18 The machine-readable instructions may be executed by one or more executable programs or portions of one or more executable programs executed by the programmable circuit system 1812 shown in the example processor platform 1800 discussed above and / or may be one or more functions or portions of functions to be performed by other example programmable circuit systems (such as FPGAs). In some examples, the machine-readable instructions cause operations, tasks, etc. to be performed and / or executed in an automated manner in the real world. As used herein, "automated" means without human involvement.
[0103] The program may be embodied in instructions (e.g., software and / or firmware) stored in one or more non-transitory computer-readable storage media and / or machine-readable storage media, such as cache memory, magnetic storage devices or disks (e.g., floppy disks, hard disk drives (HDDs), etc.), optical storage devices or optical disks (e.g., Blu-ray disks, compact disks (CDs), digital versatile disks (DVDs), etc.), redundant arrays of independent disks (RAIDs), registers, ROMs, solid-state drives (SSDs), SSD memories, non-volatile memories (e.g., electrically erasable programmable read-only memories (EEPROMs), flash memories, etc.), volatile memories (e.g., any type of random access memories (RAMs), etc.), and / or any other storage devices or storage disks. The instructions of the non-transitory computer-readable media and / or machine-readable media may be programmed and / or executed by programmable circuit systems located in one or more hardware devices, but the entire program and / or portions thereof may alternatively be executed and / or instantiated by one or more hardware devices instead of programmable circuit systems, and / or embodied in dedicated hardware. The machine-readable instructions may be distributed across multiple hardware devices and / or executed by two or more hardware devices (e.g., a server and a client hardware device). For example, a client hardware device may be implemented by an endpoint client hardware device (e.g., a hardware device associated with a human and / or machine user) or an intermediate client hardware device gateway (e.g., a radio access network (RAN)) that may facilitate communication between a server and an endpoint client hardware device. Similarly, a non-transitory computer-readable storage medium may include one or more media. Furthermore, although reference is made to Fig.16 and / or Fig.17The flowchart shown describes an example program, but many other methods of implementing the example steering controller 204 may be used alternatively. For example, the execution order of the blocks of the flowchart may be changed, and / or some of the blocks described may be changed, deleted, or combined. Additionally or alternatively, any or all of the blocks in the flowchart may be implemented by one or more hardware circuits (e.g., processor circuitry, discrete and / or integrated analog and / or digital circuitry, FPGA, ASIC, comparator, operational amplifier (op-amp), logic circuit, etc.), which are structured to perform corresponding operations without executing software or firmware. The programmable circuit system may be distributed in different network locations and / or locally in one or more hardware devices (e.g., single-core processors (e.g., single-core CPUs), multi-core processors (e.g., multi-core CPUs, XPUs, etc.). For example, the programmable circuit system may be a CPU and / or FPGA in the same package (e.g., the same integrated circuit (IC) package or in two or more separate housings), one or more processors in a single machine, multiple processors distributed on multiple servers in a server rack, multiple processors distributed on one or more server racks, etc., and / or any combination thereof.
[0104] The machine-readable instructions described herein may be stored in one or more of a compressed format, an encrypted format, a segmented format, a compiled format, an executable format, a packaged format, etc. The machine-readable instructions as described herein may be stored as data (e.g., computer-readable data, machine-readable data, one or more bits (e.g., one or more computer-readable bits, one or more machine-readable bits, etc.), a bit stream (e.g., a computer-readable bit stream, a machine-readable bit stream, etc.), etc.) or a data structure (e.g., stored as portions of instructions, code, representation of code, etc.) that can be used to create, manufacture, and / or generate machine-executable instructions. For example, the machine-readable instructions may be segmented and stored on one or more storage devices, storage disks, and / or computing devices (e.g., servers) located in the same or different locations of a network or a collection of networks (e.g., in the cloud, in an edge device, etc.). The machine-readable instructions may need to be installed, modified, rewritten, updated, combined, supplemented, configured, decrypted, decompressed, unpacked, distributed, redistributed, compiled, etc., so that they can be directly read, interpreted, and / or executed by a computing device and / or other machine. For example, machine-readable instructions may be stored in multiple portions that are separately compressed, encrypted, and / or stored on separate computing devices, wherein the portions, when decrypted, decompressed, and / or combined, form a set of computer-executable instructions and / or machine-executable instructions that implement one or more functions and / or operations that may together form a program such as the program described herein.
[0105] In another example, the machine-readable instructions may be stored in a state in which they can be read by a programmable circuit system, but a library (e.g., a dynamic link library (DLL)), a software development kit (SDK), an application programming interface (API), etc., may need to be added in order to execute the machine-readable instructions on a particular computing device or other device. In another example, the machine-readable instructions and / or corresponding programs may need to be configured (e.g., storing settings, inputting data, recording network addresses, etc.) before they can be executed in whole or in part. Therefore, as used herein, machine-readable, computer-readable media, and / or machine-readable media may include instructions and / or programs regardless of the specific format or state of the machine-readable instructions and / or programs.
[0106] The machine-readable instructions described herein may be represented by any past, present, or future instruction language, scripting language, programming language, etc. For example, any of the following languages may be used to represent machine-readable instructions: C, C++, Java, C#, Perl, Python, JavaScript, Hypertext Markup Language (HTML), Structured Query Language (SQL), Swift, etc.
[0107] As mentioned above, the present invention may be implemented using executable instructions (eg, computer-readable instructions and / or machine-readable instructions) stored on one or more non-transitory computer-readable media and / or machine-readable media. Fig.16 and / or Fig.17Example operation of. As used herein, the terms non-transitory computer-readable medium, non-transitory computer-readable storage medium, non-transitory machine-readable medium, and / or non-transitory machine-readable storage medium are explicitly defined to include any type of computer-readable storage device and / or storage disk, and exclude propagation signals and exclude transmission media. Examples of such non-transitory computer-readable media, non-transitory computer-readable storage media, non-transitory machine-readable media, and / or non-transitory machine-readable storage media include optical storage devices, magnetic storage devices, HDDs, flash memories, read-only memories (ROMs), CDs, DVDs, caches, any type of RAM, registers, and / or any other storage device or storage disk in which information is stored for any duration (e.g., for an extended period of time, permanently, for transient situations, for temporary buffering, and / or for caching information). As used herein, the terms "non-transitory computer-readable storage device" and "non-transitory machine-readable storage device" are defined to include any physical (mechanical, magnetic, and / or electrical) hardware that retains information for a certain period of time, but exclude propagation signals and exclude transmission media. Examples of non-transitory computer-readable storage devices and / or non-transitory machine-readable storage devices include any type of random access memory, any type of read-only memory, solid-state memory, flash memory, optical disks, magnetic disks, disk drives, and / or redundant arrays of independent disks (RAID) systems. As used herein, the term "device" refers to a physical structure, such as mechanical and / or electrical equipment, hardware, and / or circuitry, that may or may not be configured by computer-readable instructions, machine-readable instructions, etc. and / or may or may not be manufactured to perform computer-readable instructions, machine-readable instructions, etc.
[0108] "Include" and "comprising" (and all forms and tenses thereof) are used herein as open-ended terms. Thus, whenever a claim uses any form of "include" or "comprising" (e.g., comprises, includes, comprising, including, having, etc.) as a preamble or within any type of claim formulation, it should be understood that additional elements, items, etc. may be present without exceeding the scope of the corresponding claim or formulation. As used herein, when the phrase "at least" is used as a transitional term, such as in the preamble of a claim, it is open-ended in the same manner as the terms "include" and "comprising" are open-ended. The term "and / or" when used, for example, in a form such as A, B, and / or C refers to any combination or subset of A, B, C, such as (1) only A, (2) only B, (3) only C, (4) A and B, (5) A and C, (6) B and C, and (7) A and B and C. As used herein in the context of describing structures, components, articles, objects, and / or things, the phrase "at least one of A and B" is intended to refer to embodiments that include any of (1) at least one A, (2) at least one B, or (3) at least one A and at least one B. Similarly, as used herein in the context of describing structures, components, articles, objects, and / or things, the phrase "at least one of A or B" is intended to refer to embodiments that include any of (1) at least one A, (2) at least one B, or (3) at least one A and at least one B. As used herein in the context of describing the performance or execution of a process, instruction, action, activity, etc., the phrase "at least one of A and B" is intended to refer to embodiments that include any of (1) at least one A, (2) at least one B, or (3) at least one A and at least one B. Similarly, as used herein in the context of describing the performance or execution of a process, instruction, action, activity, etc., the phrase "at least one of A or B" is intended to refer to embodiments that include any of (1) at least one A, (2) at least one B, or (3) at least one A and at least one B.
[0109] As used herein, singular references (e.g., "a / an", "first", "second", etc.) do not exclude the plural. As used herein, the term "a / an" object refers to one or more of the object. The terms "a / an", "one or more", and "at least one" are used interchangeably herein. In addition, although listed separately, multiple components, elements, or actions may be implemented by, for example, the same entity or object. In addition, although individual features may be included in different examples or claims, these may be combined, and inclusion in different examples or claims does not mean that the combination of features is not feasible and / or disadvantageous.
[0110] Fig.16 is a flow diagram representative of example machine readable instructions and / or example operations 1600 that may be executed, instantiated, and / or performed by a programmable circuit system to adjust a steering angle of a vehicle. Fig.16 The example operation assumes that the vehicle 100 is in self-driving mode. Fig.16 The example machine readable instructions and / or example operations 1600 of the present invention begin at blocks 1602, 1604, where the steering controller 204 monitors torque input. For example, the torque sensor 222 measures the torque applied to the steering wheel 206 by the driver. At block 1602, the VBC circuit system 302 accesses a signal from the torque sensor 222 and may determine the torque input (if any) based on the output signal of the torque sensor 222. At block 1604, the VBC circuit system 302 determines whether any torque input has been detected. If no torque input is detected, control passes back to block 1602, and the VBC circuit system 302 continues to monitor the torque input. In some examples, the VBC circuit system 302 performs this check at a specific frequency set by a clock (e.g., at 100 hertz (hz)).
[0111] If a torque input is detected, then at block 1606, the steering controller 204 ( Figure 2 ) to access or obtain the PF angle request, torque input, and current SWA. For example, the angle blending circuit system 306 may query the PF circuit system 304 for the instantaneous PF angle request. The VBC circuit system 302 may access the torque sensor 222 ( Figure 2 ) and determines the torque input based on the sensor output (as discussed above in connection with blocks 1602 , 1606 ). The VBC circuitry 302 may access the current SWA from the SWA sensor 224 .
[0112] At block 1608, the steering controller 204 generates a VBC angle request. For example, the VBC circuitry 302 determines various delta angles and combines them with the current SWA to generate a VBC angle request. Fig.17 To describe further details regarding block 1608.
[0113] At block 1610, the steering controller 204 determines the angle blending weight. For example, the angle blending circuitry 306 and / or the angle blending weight determination circuitry 502 calculates the angle blending weight based on the driver input torque and the vehicle speed. In some examples, the angle blending weight circuitry 306 and / or the angle blending weight determination circuitry 502 performs and / or performs Figure 7 The example operation 700 is to determine the angle blending weight.
[0114] At block 1612, the steering controller 204 determines a final angle request. For example, the angle blending circuitry 306 and / or the final angle determination circuitry 504 blends the VBC angle request, the PF angle request, and the angle blending weights to calculate the final angle request. In some examples, the angle blending weights circuitry 306 and / or the final angle determination circuitry 504 performs and / or performs Fig. 9 The example operation 900 is to determine a final angle request.
[0115] At block 1614, the steering controller 204 converts the final angle request into a torque request. For example, Figure 3 The conversion circuit system 308 of the steering controller 204 calculates the torque that will cause the steering wheel 206 to rotate or turn to the steering angle associated with the final angle request. At box 1616, the steering controller 204 causes the motor 214 to apply the torque request to the steering system 200 of the vehicle 100 (e.g., to the rack 212) to achieve the final angle request. For example, the conversion circuit system 308 sends the torque request to the motor 214 in the form of a command to apply the torque request to the rack 212, thereby adjusting the steering angle of the vehicle 100 to the steering angle associated with the final angle request.
[0116] In some examples, control passes back to block 1602, and the steering controller 204 continues to monitor for additional torque input, such as when the driver applies torque to the steering wheel 206. The example process may be repeated continuously while the vehicle 100 is in the self-driving mode. However, if the self-driving mode is deactivated and / or the vehicle 100 is turned off, the example process and / or operation 1600 ends.
[0117] Fig.17 is a flow diagram representative of example machine readable instructions and / or example operations 1700 that may be executed, instantiated, and / or performed by programmable circuitry to generate a VBC angle request. Fig.17 The example machine readable instructions and / or example operations 1700 may correspond to Fig.16 The operations performed at box 1608 of . Fig.17 The example machine readable instructions and / or example operations 1700 begin at block 1702 where the steering controller 204 ( Figure 2 ) determines the incremental angle based on the main torque. For example, the VBC circuit system 302 ( Figure 3 ) and / or Figure 4 The main incremental angle determination circuit system 402 is based on Fig.10 Operation 1000 is to determine the primary increment angle.
[0118] At block 1704, the steering controller 204 ( Figure 2 ) determines an incremental angle based on the torque derivative. For example, the VBC circuit system 302 ( Figure 3 ) and / or Figure 4 The derivative increment angle determination circuit system 404 is based on Fig.11 Operation 1100 determines the derivative increment angle.
[0119] At block 1706, the steering controller 204 ( Figure 2 ) determines the R2C reference. For example, VBC circuit system 302 ( Figure 3 ) and / or Figure 4 The R2C incremental angle determination circuit system 406 is based on Fig.14 Operation 1400 determines the R2C reference. At block 1708, the steering controller 204 ( Figure 2 ) determines the R2C increment angle. For example, the VBC circuit system 302 ( Figure 3 ) and / or Figure 4 The R2C angle determination circuit system 406 is based on Fig.13 Operation 1300 determines the R2C increment angle.
[0120] At block 1710, the steering controller 204 ( Figure 2 ) determines the steering wheel damping increment angle. For example, the VBC circuit system 302 ( Figure 3 ) and / or Figure 4 The damping increment angle determination circuit system 408 is based on Fig.15 Operation 1500 determines the damping increment angle.
[0121] At block 1712, the steering controller 204 ( Figure 2 ) combines the main increment angle, the derivative increment angle, the R2C increment angle, and the damping increment angle. For example, the VBC circuit system 302 ( Figure 3 ) and / or Figure 4 The VBC angle determination circuit system 410 is based on Fig. 9 The operation 900 is used to combine the incremental angle. At box 1714, the steering controller 204 ( Figure 2 ) sums the combination of block 1712 and the current SWA. For example, VBC circuitry 302 ( Figure 3 ) and / or Figure 4 The VBC angle determination circuit system 410 is based on Fig. 9 Operation 900 is used to add the combination to the current SWA. After block 1714, control returns to Fig.16 Frame 1610.
[0122] Fig.18 is structured to execute and / or instantiate Fig.16 and / or Fig.17 Example machine readable instructions and / or example operations to implement Figure 21 is a block diagram of an example programmable circuit system platform 1800 for the steering controller 204 of FIG. The programmable circuit system platform 1800 may be, for example, an electronic control unit or engine control unit (ECU) of a vehicle, a server, a personal computer, a workstation, a self-learning machine (e.g., a neural network), a mobile device (e.g., a cell phone, a smart phone, an iPad, etc.), or a computer. TM tablet computer), personal digital assistant (PDA), Internet appliance, DVD player, CD player, digital video recorder, Blu-ray player, game console, personal video recorder, or any other type of computing device and / or electronic device.
[0123] The programmable circuit system platform 1800 of the illustrated example includes a programmable circuit system 1812. The programmable circuit system 1812 of the illustrated example is hardware. For example, the programmable circuit system 1812 can be implemented by one or more integrated circuits, logic circuits, FPGAs, microprocessors, CPUs, GPUs, DSPs, and / or microcontrollers from any desired series or manufacturer. The programmable circuit system 1812 can be implemented by one or more semiconductor-based (e.g., silicon-based) devices. In this example, the programmable circuit system 1812 implements the example VBC circuit system 302, the example PF circuit system 304, the example angle mixing circuit system 306, the example conversion circuit system 308, the example main incremental angle determination circuit system 402, the example derivative incremental angle determination circuit system 404, the example R2C incremental angle determination circuit system 406, the example damping incremental angle determination circuit system 408, the VBC angle determination circuit system 410, the example angle mixing weight determination circuit system 502, the example final angle determination circuit system 504, and / or the steering controller 204 more generally.
[0124] The programmable circuit system 1812 of the illustrated example includes a local memory 1813 (e.g., cache, registers, etc.). The programmable circuit system 1812 of the illustrated example communicates with main memories 1814, 1816 including a volatile memory 1814 and a non-volatile memory 1816 via a bus 1818. The volatile memory 1814 may be composed of a synchronous dynamic random access memory (SDRAM), a dynamic random access memory (DRAM), Dynamic Random Access Memory The non-volatile memory 1816 may be implemented by flash memory and / or any other desired type of memory device. Access to the main memory 1814, 1816 of the illustrated example is controlled by a memory controller 1817. In some examples, the memory controller 1817 may be implemented by one or more integrated circuits, logic circuits, microcontrollers, or any other type of circuitry from any desired family or manufacturer to manage the flow of data to and from the main memory 1814, 1816.
[0125] The programmable circuit system platform 1800 of the illustrated example also includes an interface circuit system 1820. The interface circuit system 1820 can be implemented by hardware according to any type of interface standard, such as an Ethernet interface, a universal serial bus (USB) interface, interface, a near field communication (NFC) interface, a peripheral component interconnect (PCI) interface, and / or a peripheral component interconnect express (PCIe) interface.
[0126] In the example shown, one or more input devices 1822 are connected to the interface circuit system 1820. The input devices 1822 permit a user (e.g., a human user, a machine user, etc.) to input data and / or commands into the programmable circuit system 1812. The input devices 1822 may include the torque sensor 222, the SWA sensor 224, and the speed sensor 311. Additionally or alternatively, the input devices 1822 may be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, buttons, a mouse, a touch screen, a track pad, a track ball, an isopoint device, and / or a voice recognition system.
[0127] One or more output devices 1824 are also connected to the interface circuit system 1820 of the illustrated example. The output device 1824 may include a motor 214. Additionally or alternatively, the output device 1824 may be implemented, for example, by a display device (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display (LCD), a cathode ray tube (CRT) display, an in-place switch (IPS) display, a touch screen, etc.), a tactile output device, a printer, and / or a speaker. Therefore, the interface circuit system 1820 of the illustrated example typically includes a graphics driver card, a graphics driver chip, and / or a graphics processor circuit system, such as a GPU.
[0128] The interface circuitry 1820 of the illustrated example also includes communication devices, such as transmitters, receivers, transceivers, modems, residential gateways, wireless access points, and / or network interfaces to facilitate data exchange with external machines (e.g., any kind of computing device) via a network 1826. Communications may occur via, for example, an Ethernet connection, a digital subscriber line (DSL) connection, a telephone line connection, a coaxial cable system, a satellite system, a beyond-line-of-sight wireless system, a line-of-sight wireless system, a mobile telephone system, an optical connection, and the like.
[0129] The programmable circuit system platform 1800 of the illustrated example also includes one or more mass storage disks or devices 1828 for storing firmware, software and / or data. Examples of such mass storage disks or devices 1828 include magnetic storage devices (e.g., floppy disks, drives, HDDs, etc.), optical storage devices (e.g., Blu-ray disks, CDs, DVDs, etc.), RAID systems, and / or solid-state storage disks or devices, such as flash memory devices and / or SSDs.
[0130] can be Fig.16 and / or Fig.17 The machine-readable instructions 1832 implemented by the machine-readable instructions may be stored in the mass storage device 1828, in the volatile memory 1814, in the non-volatile memory 1816, and / or on at least one non-transitory computer-readable storage medium (such as a CD or DVD) that may be removable.
[0131] Based on the foregoing, it should be appreciated that example systems, devices, articles, and methods for adjusting the steering wheel angle of a vehicle have been disclosed. The disclosed systems, devices, articles, and methods improve the efficiency of using a computing device and a steering system of a vehicle by enabling an angle control interface to an angle-based self-driving control system of the vehicle. Thus, the disclosed systems, devices, articles, and methods relate to one or more improvements in the operation of a machine such as a computer or other electronic device and / or mechanical device.
[0132] Examples and example combinations disclosed herein include the following:
[0133] Example 1 is a vehicle comprising: a steering wheel; a steerable wheel, the steering wheel being operatively connected to the steerable wheel; a steering motor, the steering motor being activated to control the steering angle of the steering wheel when the vehicle is in a self-driving mode; and a steering controller, the steering controller comprising instructions and a programmable circuit system, the programmable circuit system being used to execute the instructions to: access a path following (PF) angle request; generate a virtual boost curve (VBC) angle request based on a driver's torque input to the steering wheel; determine an angle blending weight based on the torque input and a speed of the vehicle; determine a final angle request based on the PF angle request, the VBC angle request and the angle blending weight; and convert the final angle request into a torque request for adjusting the steering angle via a motor.
[0134] Example 2 includes the vehicle of Example 1, wherein the programmable circuitry determines the final angle request by summing a first product and a second product. The first product is between the angle blending weight and the VBC angle request, and the second product is between 1 minus the angle blending weight and the PF angle request.
[0135] Example 3 includes the vehicle of Example 2, wherein the angle blending weight is a value from 0 to 1.
[0136] Example 4 includes the vehicle of any of Examples 1-3, wherein the VBC angle request corresponds to a combination of a main delta angle, a derivative delta angle, a centering delta angle, and a damping delta angle.
[0137] Example 5 includes the vehicle of Example 4, wherein the programmable circuitry sums the combination with a current steering wheel angle (SWA) to generate the VBC angle request.
[0138] Example 6 includes the vehicle of example 4 or 5, wherein the primary delta angle corresponds to a product of a differential SWA, a virtual wall weight, and a speed-based weight. The programmable circuitry determines the differential SWA, the virtual wall weight, and the speed-based weight based on a plurality of lookup tables.
[0139] Example 7 includes the vehicle of any of Examples 1-6, further comprising a torque sensor for detecting torque on a torsion bar of the vehicle. The programmable circuitry determines the input torque based on an output from the torque sensor.
[0140] Example 8 is a non-transitory machine-readable storage medium comprising instructions to cause a programmable circuit system to at least: access a path following (PF) angle request; generate a virtual boost curve (VBC) angle request based on a driver's torque input to a steering wheel of a vehicle; determine an angle blending weight based on the torque input and a speed of the vehicle; determine a final angle request based on the PF angle request, the VBC angle request, and the angle blending weight; and convert the final angle request into a torque request for adjusting the steering angle of the steering wheel when the vehicle is in a self-driving mode.
[0141] Example 9 includes the non-transitory machine-readable storage medium of Example 8, wherein the final angle request corresponds to a sum of a first product and a second product. The first product is between the angle blending weight and the VBC angle request, and the second product is between 1 minus the angle blending weight and the PF angle request.
[0142] Example 10 includes the non-transitory machine-readable storage medium of Example 9, wherein the angle blending weight is a value from 0 to 1.
[0143] Example 11 includes the non-transitory machine-readable storage medium of any of Examples 8 to 10, wherein the VBC angle request corresponds to a combination of a main incremental angle, a derivative incremental angle, a centering incremental angle, and a damping incremental angle.
[0144] Example 12 includes the non-transitory machine-readable storage medium of Example 11, wherein the instructions cause the programmable circuitry to sum the combination with a current steering wheel angle to generate a VBC angle request.
[0145] Example 13 includes the non-transitory machine-readable storage medium of example 11 or 12, wherein the primary delta angle corresponds to a product of a differential SWA, a virtual wall weight, and a speed-based weight. The instructions cause the programmable circuit system to determine the differential SWA, the virtual wall weight, and the speed-based weight based on a plurality of lookup tables.
[0146] Example 14 includes the non-transitory machine-readable storage medium of any of Examples 8 to 13, wherein the instructions cause the programmable circuitry to determine the torque input based on an output signal from a torque sensor on a torsion bar of the vehicle.
[0147] Example 15 is a method comprising: accessing a path following (PF) angle request; generating a virtual boost curve (VBC) angle request based on a driver's torque input to a steering wheel of a vehicle; determining an angle blending weight based on the torque input and a speed of the vehicle; determining a final angle request based on the PF angle request, the VBC angle request, and the angle blending weight; and converting the final angle request into a torque request for adjusting a steering angle of a steering wheel of the vehicle.
[0148] Example 16 includes the method of Example 15, wherein the final angle request corresponds to a sum of a first product between the angle blending weight and the VBC angle request and a second product between 1 minus the angle blending weight and the PF angle request.
[0149] Example 17 includes the method of Example 16, wherein the angle blending weight is a value from 0 to 1.
[0150] Example 18 includes the method of any of Examples 15 to 17, wherein the VBC angle request corresponds to a combination of a main incremental angle, a derivative incremental angle, a centering incremental angle, and a damping incremental angle.
[0151] Example 19 includes the method of Example 18, further comprising summing the combination with a current steering wheel angle to generate a VBC angle request.
[0152] Example 20 includes the method of Example 18 or 19, wherein the primary incremental angle corresponds to a product of a differential SWA, a virtual wall weight, and a speed-based weight. The method further comprises determining the differential SWA, the virtual wall weight, and the speed-based weight based on a plurality of lookup tables.
[0153] The attached claims are hereby incorporated by reference into this detailed description. Although certain example systems, devices, articles, and methods have been disclosed herein, the coverage of this patent is not limited thereto. On the contrary, this patent covers all systems, devices, articles, and methods that fully fall within the scope of the claims of this patent.
Claims
1. A vehicle comprising: steering wheel; a steerable wheel, the steering wheel being operatively coupled to the steerable wheel; a steering motor, the steering motor being activated to control a steering angle of the steering wheel when the vehicle is in a self-driving mode; as well as A steering controller comprising instructions and programmable circuitry for executing the instructions to: Access Path Following (PF) angle requests; generating a virtual boost curve (VBC) angle request based on a driver's torque input to the steering wheel; determining an angle blending weight based on the torque input and a speed of the vehicle; determining a final angle request based on the PF angle request, the VBC angle request and the angle blending weight; as well as The final angle request is converted into a torque request for adjusting the steering angle via the steering motor.
2. A vehicle as described in claim 1, wherein the programmable circuit system determines the final angle request by summing a first product and a second product, wherein the first product is between the angle blending weight and the VBC angle request, and the second product is between 1 minus the angle blending weight and the PF angle request.
3. The vehicle of claim 2, wherein the angle blending weight is a value from 0 to 1.
4. The vehicle of claim 1, wherein the VBC angle request corresponds to a combination of a main incremental angle, a derivative incremental angle, a centering incremental angle, and a damping incremental angle.
5. The vehicle of claim 4, wherein the programmable circuit system sums the combination with a current steering wheel angle (SWA) to generate the VBC angle request.
6. The vehicle of claim 4, wherein the primary delta angle corresponds to a product of a differential SWA, a virtual wall weight, and a speed-based weight, the programmable circuit system being operable to determine the differential SWA, the virtual wall weight, and the speed-based weight based on a plurality of lookup tables.
7. A vehicle as claimed in any preceding claim, further comprising a torque sensor for sensing torque on a torsion bar of the vehicle, the programmable circuitry being operable to determine the torque input based on output from the torque sensor.
8. A method comprising: Access Path Following (PF) angle requests; generating a virtual boost curve (VBC) angle request based on a driver's torque input to a steering wheel of the vehicle; determining an angle blending weight based on the torque input and a speed of the vehicle; determining a final angle request based on the PF angle request, the VBC angle request and the angle blending weight; as well as The final angle request is converted into a torque request for adjusting a steering angle of the steering wheel of the vehicle.
9. The method of claim 8, wherein the final angle request corresponds to the sum of a first product between the angle blending weight and the VBC angle request and a second product between 1 minus the angle blending weight and the PF angle request.
10. The method of claim 9, wherein the angle blending weight is a value from 0 to 1.
11. The method of claim 8, wherein the VBC angle request corresponds to a combination of a main incremental angle, a derivative incremental angle, a centering incremental angle, and a damping incremental angle.
12. The method of claim 11 further comprising summing the combination with a current steering wheel angle to generate the VBC angle request.
13. The method of claim 11, wherein the primary incremental angle corresponds to a product of a differential SWA, a virtual wall weight, and a speed-based weight, the method further comprising determining the differential SWA, the virtual wall weight, and the speed-based weight based on a plurality of lookup tables.
14. A method as claimed in any preceding claim, further comprising determining the torque input based on an output signal from a torque sensor on a torsion bar of the vehicle.
15. A machine-readable storage device comprising machine-readable instructions which, when executed, implement the method or realize the apparatus of any preceding claim.