METHOD AND DEVICES FOR CONTROLLING DRY STEERING

DE102026107112A1Undetermined Publication Date: 2026-08-27FORD GLOBAL TECH LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE102026107112
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-02-26
Filing Date
2026-02-20
Publication Date
2026-08-27

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Methods and devices for controlling dry steering are disclosed. An exemplary disclosed device includes an interface circuit that is communicatively coupled to a wheel actuator (RWA) and a steering torque sensor corresponding to a self-centering steering wheel of a vehicle, machine-readable instructions, and at least one processor circuit that is to be programmed with the machine-readable instructions to determine that the vehicle is moving at or below a threshold speed and that a brake of the vehicle is being applied, and, based on this determination, to maintain a steering angle of the RWA when a degree of torque applied to the steering torque sensor is less than or equal to a threshold degree of torque.
Need to check novelty before this filing date? Find Prior Art

Description

AREA OF REVELATION This disclosure relates generally to vehicles and in particular to methods and devices for controlling dry steering. GENERAL STATE OF THE ART A self-centering steering wheel for a steer-by-wire system can offer a unique driving experience. Specifically, a road wheel actuator (RWA) controls the movement of a steering assembly (such as a steering rack, steering arm, recirculating ball, or individual steering actuator, etc.), while the self-centering steering wheel is used to distribute the RWA. With a conventional steering system, the steering wheel can remain in an angular position when released by the driver while the vehicle is stationary, thus keeping the vehicle's wheels still. SUMMARY An exemplary device includes an interface circuit communicatively coupled to a wheel actuator (RWA) and a steering torque sensor corresponding to a self-centering steering wheel of a vehicle, machine-readable instructions, and at least one processor circuit to be programmed with the machine-readable instructions to determine that the vehicle is moving at or below a threshold speed and a brake of the vehicle is applied, and, based on the determination, to maintain a steering angle of the RWA when a degree of torque applied to the steering torque sensor is less than or equal to a threshold degree of torque. An example of a persistent machine-readable medium includes machine-readable instructions to cause at least one processor circuit to predict, at least partially, an intention of a user of a vehicle based on (i) a speed of the vehicle and (ii) an application of a brake, to maintain a steering angle of a wheel actuator (RWA) based on the fact that the predicted intention indicates to maintain the steering angle when a degree of torque applied to a steering torque sensor of a self-centering steering wheel is released, and to cause a human-machine interface (MMS) to display information corresponding to the steering angle while the steering angle is being maintained. An exemplary method for operating a vehicle's steer-by-wire system involves determining, by executing instructions with at least one processor, that (i) the vehicle is traveling at or below a threshold speed and (ii) a brake of the vehicle is being applied, and maintaining, by executing instructions with the at least one processor, the steering angle of a RWA based on the determination that a degree of torque applied to a steering torque sensor is less than or equal to a threshold degree of torque. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 illustrates an exemplary vehicle in which examples disclosed herein may be implemented. Fig. 2 illustrates an exemplary steering system of the exemplary vehicle from Fig. 1. Fig. 3 illustrates an exemplary process flow according to the teachings of this disclosure. Figs. 4A-4D depict exemplary interfaces that may be implemented in examples disclosed herein. Fig. 5 is a block diagram of an exemplary steering intention analysis system according to the teachings of this disclosure. Fig. 6 is a flowchart that shows exemplary machine-readable instructions and / or exemplary operations that can be executed, instantiated, and / or performed by an exemplary programmable circuit to implement the steering intention analysis system from Fig. 5.Figure 7 is a block diagram of an exemplary processing platform that includes a programmable circuit structured to execute, instantiate, and / or perform the exemplary machine-readable instructions and / or to perform the exemplary operations from Figure 6 to implement the steering intent analysis system from Figure 5. Figure 8 is a block diagram of an exemplary implementation of the programmable circuit from Figure 7. Figure 9 is a block diagram of another exemplary implementation of the programmable circuit from Figure 7. Generally, the same reference symbols are used throughout the drawing(s) and the accompanying written description to refer to the same or similar parts. The figures are not necessarily to scale. Instead, the thickness of the layers or regions in the drawings may be enlarged. Although the figures show layers and regions with clear lines and boundaries, some or all of these lines and / or boundaries may be idealized. In reality, the boundaries and / or lines may not be observable, may merge into one another, and / or may be irregular. DETAILED DESCRIPTION Methods and devices for controlling dry steering are disclosed. Steer-by-wire systems of a vehicle typically use a wheel actuator (RWA) that controls the movement of a steering actuator, while a hand wheel actuator (HWA) receives input from a user and in turn provides feedback to the user. The feedback can include, among other things, rotational resistance and / or torque via a steering wheel. Steer-by-wire systems differ from conventional steering systems in that the RWA and the HWA are coordinated and / or operated based on software and / or hardware logic. A self-centering steer-by-wire system uses a steering wheel that differs from a conventional steering wheel in that it exhibits less rotational displacement. In such systems, the self-centering steering wheel uses a steering torque sensor that measures the torque applied to it. This sensor is then communicatively linked to a steering angle sensor (SAS). Specifically, the torque applied to the steering torque sensor via the self-centering steering wheel is communicated to the SAS to control the steering angle. Accordingly, the examples disclosed herein can advantageously predict a user's intention in order to effectively control the operational relationship between the RWA and the steering torque sensor associated with a self-centering steering wheel. As a result, the examples disclosed herein can enhance the user experience by adapting steering control based on sensor data / outputs and user inputs provided to a steering wheel or other input device associated with the vehicle. The examples disclosed herein utilize an algorithm that defines the behavior of the self-centering steering system based on at least one vehicle condition in conjunction with a driver input, such as when an operator / driver releases torque to the steering wheel while the vehicle is stationary (e.g., waiting at a traffic light with an initial steering input to turn, and then releasing the steering input). According to the examples disclosed herein, the wheels are held / maintained so that they are aligned and / or turned with respect to a last command from the user based on a specific and / or predicted intention of the user.In particular, the examples disclosed here utilize a control logic such that the RWA can be held at a steering angle even with a reduced amount of torque applied to the steering wheel, thus preventing the RWA from exhibiting center-return behavior (a basic control logic of a self-centering steering wheel on the RWA). Examples disclosed herein utilize a vehicle condition, such as vehicle speed, to predict and / or determine a user's intention to control a self-centering steering system (or other logic-based steering implementation). To this end, examples disclosed herein can prevent center-return behavior (typically a self-centering steering implementation) when the user releases the steering wheel. For example, if sensor output indicates that the vehicle is traveling at or below a threshold speed (e.g., the vehicle is coming to a stop) and a braking system is applied, a position (e.g., an angular position) of a steering angle indicator (RWA), referred to as the steering angle or steering position, can be held / maintained when torque is applied to the steering wheel by the user and a steering torque sensor is, in turn, at or below a threshold level of torque (e.g.,(the torque is completely released from the steering wheel). In other words, the examples disclosed here use various parameters / conditions to predict a user's intention (e.g., to predict whether the user intends to maintain a steering angle) in order to control the operation of the RWA. The examples disclosed here display information corresponding to the steering angle so that the user can know the steering angle even when the torque applied to the steering wheel is released. According to some of the examples disclosed here, the user is prompted / queried as to whether the steering angle should be maintained. In some such examples, the user can confirm whether the steering angle of the RWA (Rail-Wave Assist) is to be maintained (e.g., even after releasing the steering wheel) via a button, switch, or other input or toggling device. Additionally or alternatively, a human-machine interface (HMI), such as a display featuring an array of light sources, is used to convey information to the user corresponding to the steering angle and / or whether the steering angle is being maintained (e.g., held against a centering behavior). The HMI may, for example, include a linearly arranged grouping of light-emitting diodes (LEDs). In some examples, the HMI includes a field display (e.g., a screen field, a touchscreen display, etc.).Additionally or alternatively, haptic feedback, such as a vibration of a steering wheel or other vehicle component, is used to convey whether the steering angle is being held, or to prompt the user to confirm that the steering angle is to be held or maintained. In the sense used here, the term "determine" includes calculations or other ways of obtaining numerical values ​​that have a finite degree of accuracy and are therefore not necessarily exact and may, for example, be estimates. Fig. 1 illustrates an exemplary vehicle 100 in which examples disclosed herein may be implemented. The exemplary vehicle 100 uses sensor data / outputs to monitor vehicle systems (e.g., steering systems, braking systems, tires, etc.). In particular, examples disclosed herein use sensor data / outputs in conjunction with user inputs to predict and / or determine a user's (e.g., a driver, an operator, etc.) intention, for example, to control a steer-by-wire system. The vehicle 100 of the illustrated example includes a body 102 that carries a plurality of wheels 106, to which tires 108 are coupled. The tires 108, in turn, are in contact with a road surface 110. The exemplary vehicle 100 includes at least one sensor (e.g., a steering angle sensor, a rack position sensor, etc.) 112, which can be used to determine a steering angle of the tires 108 and / or the wheels 106. Furthermore, the exemplary vehicle 100 includes a steering control 114, a steering torque sensor 116, a smoke and heat exhaust ventilation (SHEV) 118, and a multifunctional communication system (MMS) (e.g., a user interface, a display, etc.) 120. As discussed below in conjunction with Figures 1-9, the examples disclosed herein enable effective control of the RWA 118 based on vehicle conditions and an input provided to the steering torque sensor 116 based on the load and / or displacement of the self-centering steering wheel. In particular, the examples disclosed herein can predict a user's intention regarding maintaining / holding a steering angle of the RWA 118 under predefined conditions. According to the examples disclosed herein, in response to the vehicle 100 traveling at a speed below a threshold speed (e.g., a speed of approximately zero, a braking speed when the vehicle 100 is stationary, a speed close to a standstill, etc.),When the vehicle is in motion and a braking system of the vehicle 100 is applied, the steering angle is maintained if the torque applied by the user to the self-centering steering wheel (and the steering torque sensor 116) is less than or equal to a threshold torque (e.g., little or no torque is applied to the steering torque sensor 116 via the steering wheel). Additionally or alternatively, the steering angle is maintained if there is a change (e.g., a rapid decrease) in the torque applied to the steering torque sensor 116 via the self-centering steering wheel. Fig. 2 illustrates an exemplary steering system 200 of the exemplary vehicle 100 from Fig. 1. In the illustrated example from Fig. 2, the steering system 200 includes the steering control unit 114, the steering torque sensor 116, the RWA 118, a steering wheel (e.g., a self-centering steering wheel) 202, a steering shaft 204, a steering assembly (e.g., a rack and pinion steering system, a rack and pinion steering assembly, etc.) 206, and a steering input element (e.g., a steering shaft) 210. The exemplary steering assembly 206 is coupled to the wheels 106 of the vehicle 100 shown in Fig. 1. The steering wheel 202 is coupled to the steering shaft 204 and enables a user of the vehicle 100 to operate the RWA 118 and thereby steer the vehicle 100. For this purpose, the steering control unit 114 communicates with the RWA 118. For example, the steering control unit 114 includes a transceiver (e.g., a wireless or wired transceiver) that communicates with a transceiver (e.g., a wireless or wired transceiver) of the RWA 118. Accordingly, the steering control unit 114 can transmit driver inputs (e.g., torque applied to the steering wheel 202) from the steering wheel 202 as steering control signals (e.g., steering commands) to the RWA 118 and can receive vehicle handling feedback from the RWA 118. In this example, when the user turns the steering wheel 202, the torque of the steering wheel 202 is transmitted through the steering shaft 204 to the steering torque sensor 116.In some examples, the steering control unit 114 can receive vehicle handling feedback from a variety of sensors with which the vehicle 100 is equipped. This variety of sensors can include anti-lock braking system (ABS) module sensors, wheel speed sensors, wheel angle sensors, etc. In the illustrated example from Fig. 2, the steering torque sensor 116 detects a steering input torque of the steering shaft 204 and generates corresponding signals that represent commanded rotational positions of the steering angle sensor 118. Accordingly, the signals generated by the steering torque sensor 116 can be used by the steering control unit 114 to transmit steering control signals to the steering angle sensor 118. In addition to determining steering angles of the steering wheel 202, the steering torque sensor 116 and / or the associated steering angle sensor can be used in some examples to derive other steering-related metrics, such as steering speed, steering acceleration, steering torque, etc.In operation, the exemplary steering assembly 206 includes a linear actuator and a pinion gear that engages with a rack. The exemplary steering assembly 206 translates rotary inputs from the RWA 118 into a linear motion to steer the wheels 108 shown in Fig. 1. In this way, a user operating the steering wheel 202 causes the steering assembly 206 to change the direction of the vehicle 100 by steering the wheels 108. According to the examples disclosed herein, the RWA 118 includes a rotary sensor that can be coupled to the steering input element 210, which in turn is coupled to the steering assembly 206. In some such examples, the RWA 118 can use the aforementioned rotary sensor to provide wheel feedback (e.g.,to detect vehicle handling feedback) from the wheels 108 and to communicate this wheel feedback to the steering control 114, so that the steering control 114 can provide feedback to the user via the MMS 120 or by vibration / haptic feedback from the steering wheel 202. Since the steering torque sensor 116 and the RWA 118 are not physically coupled to transmit mechanical motion between them (as in a conventional system), the examples disclosed here use logic to control a steering angle of the steering assembly 206 based on an analysis of at least one condition of the vehicle 100 in conjunction with an input (e.g., an input torque, the presence of an input torque, etc.) provided to the steering wheel 202 and thus to the steering torque sensor 116 (e.g., when torque is applied to the steering torque sensor 116). In other words, the examples disclosed here use logic to predict a user's intention regarding the operation of the steering assembly 206. Fig. 3 illustrates an exemplary process flow diagram 300 according to the teachings of this disclosure. According to the examples disclosed herein, block 302 corresponds to starting a vehicle, such as the vehicle 100 shown in Fig. 1. In this example, starting corresponds to operating and / or driving the vehicle. Block 304 measures a smoke and heat exhaust ventilation (SHEV) angle and a steering wheel torque until a commanded SHEV angle matches a current SHEV angle. Specifically, the measured / monitored SHEV angle, together with commanded SHEV data, is monitored and / or measured by a steering torque sensor (e.g., steering torque sensor 116) until the commanded SHEV angle and the current SHEV angle are sufficiently close. In Block 306, torque applied to the steering wheel during operation of the vehicle's steering system is used to control the RWA. According to some examples disclosed herein, the RWA is controlled based on the torque applied to the steering wheel via a model, such as a model in which, for example, torque is converted into an angle as a function of the vehicle's speed. In Block 308, examples disclosed herein estimate, predict, and / or determine a user's intention (to maintain the RWA at a specified angle / steering angle) based on at least one vehicle condition (e.g., speed, acceleration, deceleration, turning, engine use) in conjunction with user input (e.g., a force applied to or released from a steering wheel, an application or release of a braking system, the toggling of a switch, etc.). In this example, a condition may correspond to the fact that the vehicle speed is approximately zero (e.g., the vehicle is stationary), and an input may correspond to an application of the braking system (e.g., a brake pedal is partially depressed, the brake pedal is fully depressed, etc.). However, any other suitable conditions and / or user inputs may be used instead. In Block 310, some examples prompt the user to decide whether to hold and / or maintain the steering angle (e.g., despite releasing the steering wheel and / or applying and releasing torque to the steering wheel). Specifically, the user may be prompted, for example, to override the standard logic of the self-centering steering wheel. According to the examples disclosed here, the user may be provided with information on an MMS / display or haptic signals regarding whether to maintain a RWA position and thus the steering angle. The information may correspond to a center console prompt (e.g., a prompt on a center console screen), requiring the user to press a button or provide other input to confirm holding and / or maintaining the steering angle.In some examples, an information cluster prompt is used on the steering wheel, where a button on the steering wheel may be implemented for user confirmation. Additionally or alternatively, vibration (e.g., haptic vibration, steering wheel vibration, etc.) or a flashing light source, such as a flashing LED, is used to convey information to the user (e.g., prompting the user to maintain the steering angle, to release torque applied to the steering torque sensor, to maintain the steering angle, etc.). For example, flashing light sources can be used to indicate whether the steering angle is being maintained and / or to prompt the user to maintain the steering angle. Block 312 maintains the steering angle while a degree of torque applied by the user to the steering wheel is at or below a threshold torque level (e.g., the torque applied to the steering wheel is released), which may be counterintuitive in a steer-by-wire system with a self-centering steering wheel. As a result, a return to center movement is prevented. However, the RWA's holding of the steering angle can be terminated based on at least one of the following: for example, the brake system is released or torque is again applied to the steering wheel. In some examples, the steering angle can be maintained in a parking scenario (e.g., parking uphill, parking downhill). In some such examples, the steering angle is maintained to allow a tire or wheel of the vehicle to be held against, for example, a curb, even if the torque applied to the steering wheel is released. Figures 4A-4D depict exemplary interfaces (e.g., MMSs) that may be implemented in the examples disclosed herein. With reference to Figure 4A, an exemplary lighting arrangement 400 is shown. According to the examples disclosed herein, the lighting arrangement 400 comprises a linearly arranged array of light sources, such as LEDs. In the illustrated example from Figure 4A, a steering angle is indicated to a user by one or more of the light sources illuminating. In other examples, a display field (e.g., a screen, a monitor, a display panel, a head-up display (HUD), etc.) is used to indicate the steering angle to the user. For example, the steering angle can be indicated to the user to inform them that the self-centering steering behavior is being overridden (e.g., via control logic). Figure 4B shows an exemplary display (e.g., dashboard, console display, etc.) 410 with a lighting arrangement 412. According to the examples disclosed herein, the lighting arrangement 412 indicates a steering angle by means of one or more light sources (e.g., display pixels) illuminating. For example, some of the light sources can illuminate to indicate a degree by which the RWA has turned and / or rotated the wheels (e.g., a wheel rotation angle). With reference to Fig. 4C, a steering wheel 420 is shown. In this example, a wheel section 422 of the steering wheel 420 can have a light pattern arrangement 424 for indicating a steering angle. Additionally or alternatively, a central section 426 of the steering wheel 420 can include a light pattern arrangement 428 for indicating the steering angle. In some examples, a button or switch 430 is implemented so that the user can confirm or instruct the user to maintain the steering angle. Figure 4D shows a display 440 that can project and / or display a scene (e.g., a scene captured by an image sensor) 442 with lines or curves 444 that represent the path of a vehicle based on a steering position. In some examples, text 446 can indicate that the steering angle is maintained even without an applied torque and / or a reduction of a torque applied to the steering wheel and thus to a steering torque sensor corresponding to the steering wheel. Any combination of aspects of the examples disclosed here in Figures 4A-4D can be implemented in combination with one another. Fig. 5 is a block diagram of an exemplary steering intention analysis system 500 for controlling the operation of a steering system based on a predicted and / or determined intention of a user. The exemplary steering intention analysis system 500 can be implemented in the steering controller 114 shown in Figs. 1 and 2. The steering intention analysis system 500 from Fig. 5 can be instantiated by a programmable circuit, such as a central processing unit (CPU), which executes initial instructions (e.g., creating an instance of it, inducing it for any desired duration, materializing it, implementing it, etc.). Additionally or alternatively, the steering intention analysis system 500 from Fig. 5 can be implemented by (i) an application-specific integrated circuit (ASIC) and / or (ii) a field-programmable gate array (FPGA), which...which is constructed and / or configured in response to the execution of a second set of instructions to perform operations corresponding to the first set of instructions (e.g., creating an instance of it, inducing it for any duration, materializing it, implementing it, etc.). It is understood that some or all of the circuits in Fig. 5 can thus be instantiated at the same or different times. Some or all of the circuits in Fig. 5 can, for example, be instantiated in one or more threads that run concurrently on hardware and / or sequentially on hardware. Moreover, in some examples, some or all of the circuits in Fig. 5 can be implemented by a microprocessor circuit that executes instructions and / or an FPGA circuit that performs operations to implement one or more virtual machines and / or one or more containers. The steering intention analysis system 500 of the illustrated example includes an exemplary condition analyzer circuit 502, an exemplary intention determiner circuit 504, an exemplary smoke and heat exhaust ventilation (SHEV) control circuit 506, and an exemplary mass ventilation system (MMS) control circuit 508. According to the examples disclosed herein, the steering intention analysis system 500 includes the sensor(s) 112 and / or is communicatively coupled to it. The condition analyzer circuit 502 of the illustrated example is used to determine and / or ascertain a condition of a vehicle (e.g., vehicle 100) that uses a self-centering steering system. According to some examples disclosed herein, the condition analyzer circuit 502 determines parameters of the vehicle, such as the vehicle's speed, acceleration / deceleration, whether the vehicle is stopped, etc. In some examples, the condition analyzer circuit 502 is instantiated by a programmable circuit that executes condition analyzer instructions and / or is configured to perform operations such as those represented by the flowchart in Fig. 6. In this example, the intent-determining circuit 504 predicts and / or determines an intent of a vehicle user. For example, the intent-determining circuit 504 predicts whether the user intends to hold and / or maintain a steering assembly in a current position (e.g., a current angular position, a current steering angle / position, etc.). According to the examples disclosed herein, the intent-determining circuit 504 uses at least one condition of the vehicle to predict the intent. The condition may be a vehicle speed, a degree to which the braking system is applied, a degree to which an accelerator pedal is depressed, whether the user has confirmed holding the steering angle, whether a switch corresponding to holding the steering angle is toggled, etc.In some examples, the intent-setting circuit 504 is instantiated by a programmable circuit that executes intent-setting instructions and / or is configured to perform operations such as those shown in the flowchart in Fig. 6. According to an example disclosed herein, the smoke and heat exhaust ventilation (SHEV) control circuit 506 controls a SHEV associated with the steering system. In this example, the SHEV control circuit 506 controls the SHEV, and thus a steering assembly, based on the predicted and / or determined intention. According to examples disclosed herein, the SHEV can be controlled based on logic that can circumvent the self-centering behavior. In some examples, the SHEV control circuit 506 is instantiated by a programmable circuit that executes SHEV control instructions and / or is configured to perform operations such as those depicted in the flowchart in Fig. 6. In this example, the MMS control circuit 508 is implemented to control and / or instruct an MMS to transmit information corresponding to a steering angle and / or whether the steering angle is being maintained to the user. The information can be transmitted visually or by tactile / haptic / vibrational feedback. Additionally or alternatively, the MMS control circuit 508 is used to prompt a user for input regarding whether the steering angle is to be maintained. In some examples, the MMS control circuit 508 is instantiated by a programmable circuit that executes display control instructions and / or is configured to perform operations such as those depicted in the flowchart in Fig. 6. While Fig. 5 illustrates an exemplary way of implementing the steering intention analysis system 500, one or more of the elements, processes, and / or devices illustrated in Fig. 5 can be combined, divided, rearranged, omitted, eliminated, and / or implemented in any other way. Furthermore, the exemplary condition analyzer circuit 502, the exemplary intention determiner circuit 504, the exemplary smoke and heat exhaust ventilation (SHEV) control circuit 506, and the exemplary mass ventilation system (MMS) control circuit 508, and / or more generally, the exemplary steering intention analysis system 500 from Fig. 5, can be implemented by hardware alone or by hardware in combination with software and / or firmware.Thus, for example, any of the exemplary condition analyzer circuit 502, the exemplary intent determiner circuit 504, the exemplary smoke and heat exhaust ventilation (SHEV) control circuit 506, and the exemplary MMS control circuit 508, and / or more generally the exemplary steering intent analysis system 500, could be replaced by a programmable circuit in combination with machine-readable instructions (e.g., firmware or software), a processor circuit, an analog circuit, a digital circuit, a logic circuit, a programmable processor, a programmable microcontroller, a graphics processing unit (GPU), a digital signal processor (DSP), an ASIC, a programmable logic device (PLD), and / or a field-programmable logic device (FPLD), such as… FPGAs can be implemented. Furthermore, the exemplary steering intention analysis system 500 from Fig.5. Includes one or more elements, processes and / or facilities in addition to or instead of those illustrated in Fig. 5 and / or may include more than one of any or all of the illustrated elements, processes and facilities. A flowchart representative of exemplary machine-readable instructions that can be executed by a programmable circuit to implement and / or instantiate the steering intention analysis system 500 from Fig. 5, and / or representative of exemplary operations that can be performed by a programmable circuit to implement and / or instantiate the steering intention analysis system 500 from Fig. 5, is shown in Fig. 6. The machine-readable instructions may be one or more executable programs or (a) part(s) of one or more executable programs for execution by a programmable circuit, such as the programmable circuit 712 shown in the exemplary processor platform 700, which is described below in conjunction with Fig.Figure 7 discusses the following: This may involve one or more functions or parts of functions to be performed by the programmable logic gate (e.g., an FPGA), which is discussed below in conjunction with Figures 8 and / or 9. In some examples, the machine-readable instructions cause a process, task, etc., to be executed and / or carried out automatically in the real world. In the sense used here, "automated" means without human intervention. The program can be implemented as instructions (e.g., software and / or firmware) stored on one or more persistent computer-readable and / or machine-readable storage media, such as cache memory, a magnetic storage device or disk (e.g., a floppy disk, a hard disk drive (HDD), etc.), an optical storage device or disk (e.g., a Blu-ray disc, a compact disc (CD), a digital versatile disc (DVD), etc.), a redundant array of independent hard disks (RAID), a register, ROM, a solid-state drive (SSD), SSD memory, non-volatile memory (e.g., electrically erasable programmable read-only memory (EEPROM), flash memory, etc.), volatile memory (e.g., random-access memory (RAM) of any type, etc.), and / or any other storage device or disk.The instructions of the non-transitory computer-readable and / or machine-readable medium can program and / or be executed by programmable circuits located in one or more hardware devices. However, the entire program and / or parts thereof can alternatively be executed and / or instantiated by one or more hardware devices other than the programmable circuit and / or implemented as dedicated hardware. The machine-readable instructions can 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, the client hardware device can be 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 server).a radio access network (RAN) that enables communication between a server and an endpoint client hardware device. Likewise, the persistent computer-readable storage medium can include one or more media. Furthermore, although the exemplary program is described with reference to the flowchart illustrated in Fig. 6, many other methods can be used to implement the exemplary steering intention analysis system 500. For example, the execution order of the blocks in the flowchart can be changed, and / or some of the described blocks can be modified, omitted, or combined. Additionally or alternatively, any or all of the blocks in the flowchart can be implemented by one or more hardware circuits (e.g.,Programmable circuits (PCCs) can be implemented as processor circuits, discrete and / or integrated analog and / or digital circuits, an FPGA, an ASIC, a comparator, an operational amplifier (op-amp), a logic circuit, etc., structured to perform the corresponding operation without executing software or firmware. The programmable circuit can be distributed across different network locations and / or locally on one or more hardware devices (e.g., a single-core processor (e.g., a single-core CPU), a multi-core processor (e.g., a multi-core CPU, an XPU, etc.)). For example, the programmable circuit can be a CPU and / or an FPGA located in the same package (e.g., a CPU, a CPU, a CPU, a CPU, a CPU, a CPU, a CPU, etc.).in the same package of an integrated circuit (IC) or in two or more separate packages), one or more processors in a single machine, multiple processors distributed across multiple servers of a server rack, multiple processors distributed across one or more server racks, etc., and / or any combination(s) thereof. The machine-readable instructions described in this document can be stored in one or more formats, including compressed, encrypted, fragmented, compiled, executable, and packed. Machine-readable instructions, as described in this document, can 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 bitstream (e.g., a computer-readable bitstream, a machine-readable bitstream, etc.)) or a data structure (e.g., as part(s) of instructions, code, representations of code, etc.) that can be used to create, manufacture, and / or produce machine-executable instructions.For example, machine-readable instructions may be fragmented and stored on one or more storage devices, disks, and / or computing devices (e.g., servers) located in the same or different locations within a network or collection of networks (e.g., in the cloud, on edge devices, etc.). The machine-readable instructions may require one or more of the following actions: installation, modification, setting, updating, combining, augmenting, configuring, decrypting, decompressing, unpacking, distributing, reassigning, reassembling, etc., to make them directly readable, interpretable, and / or executable by a computing device and / or other machine.For example, the machine-readable instructions may be stored in multiple parts, which are individually compressed, encrypted and / or stored on separate computing devices, the parts, when decrypted, decompressed and / or combined, forming a set of computer-executable and / or machine-executable instructions that implement one or more functions and / or operations that together may form a program, as described here. In another example, the machine-readable instructions might be stored in a state where they can be read by a programmable circuit, but require the addition of a library (e.g., a Dynamic Link Library (DLL)), a Software Development Kit (SDK), an Application Programming Interface (API), etc., to execute the machine-readable instructions on a specific computing device or other device. In yet another example, the machine-readable instructions might need to be configured (e.g., settings saved, data entered, network addresses recorded, etc.) before the machine-readable instructions and / or the corresponding program(s) can be executed, in whole or in part.Thus, machine-readable, computer-readable and / or machine-readable media, as used here, can contain instructions and / or (a) program(s) regardless of the specific format or state of the machine-readable instructions and / or the program(s). The machine-readable instructions described here can be represented by any past, present, or future instruction language, scripting language, programming language, etc. For example, the machine-readable instructions can be represented using any of the following languages: C, C++, Java, C-Sharp, Perl, Python, JavaScript, HyperText Markup Language (HTML), Structured Query Language (SQL), Swift, Simulink (MBD), etc. As mentioned above, the exemplary operations from Fig. 6 can be implemented using executable instructions (e.g., computer-readable and / or machine-readable instructions) stored on one or more durable computer-readable and / or machine-readable media. For the purposes of this text, the terms durable computer-readable medium, durable computer-readable storage medium, durable machine-readable medium, and / or durable machine-readable storage medium are expressly defined to include any type of computer-readable storage device and / or storage disk, excluding signal propagation and transmission media.Examples of such a durable computer-readable medium, durable computer-readable storage medium, durable machine-readable medium and / or durable machine-readable storage medium include optical storage devices, magnetic storage devices, a hard disk drive (HDD), flash memory, read-only memory (ROM), a CD, a DVD, a cache, RAM of any type, a register and / or any other storage device or storage disk in which information is stored for any duration (e.g., for extended periods, permanently, for short periods, for temporary buffering and / or intermediate storage of information).As used herein, the terms “non-transient computer-readable storage device” and “non-transient machine-readable storage device” are defined to include any physical (mechanical, magnetic, and / or electrical) hardware for storing information, but excluding signal propagation and transmission media. Examples of persistent computer-readable storage devices and / or persistent machine-readable storage devices include random-access memory of any type, read-only memory of any type, semiconductor memory, flash memory, optical disks, magnetic disks, disk drives, and / or systems consisting of a redundant array of independent hard disks (RAID).In the sense used here, the term "facility" refers to a physical construction, such as mechanical and / or electrical equipment, hardware and / or a circuit, which may or may not be configured by computer-readable instructions, machine-readable instructions, etc., and / or is manufactured to execute computer-readable instructions, machine-readable instructions, etc. Figure 6 is a flowchart representative of exemplary machine-readable instructions and / or exemplary operations 600 that can be executed, instantiated, and / or performed by a programmable circuit to enable a user (e.g., a driver, an operator, etc.) to maintain steering wheels (e.g., front wheels) as turned without holding the steering wheel, for example, when stopped or when parallel parking on a steep incline with the steering wheels turned toward a curb. The exemplary machine-readable instructions and / or exemplary operations 600 from Figure 6 begin at block 602, where the smoke and heat exhaust ventilation (SHEV) control circuit 506 coordinates and / or controls the operation of a self-centering steering wheel with respect to a SHEV, both of which are part of a drive-by-wire steering system of a user-operated vehicle. In block 604, the smoke and heat exhaust ventilation (SHEV) control circuit 506 operates the vehicle's steering system. In this example, the SHEV control circuit 506 operates the steering based on a model such as a steering torque-to-SHEV angle model. However, any other suitable model for the coordinated operation of the steering wheel and the SHEV can be implemented instead. Accordingly, the steering wheel and the SHEV work together to steer the vehicle and provide feedback to the user (e.g., visual feedback with a light-emitting diode (LED)). In block 606, the exemplary condition analyzer circuit 502 determines whether a condition associated with the vehicle has occurred. The condition could be the vehicle speed, whether the vehicle is stopped, braking, and / or acceleration / deceleration, etc. If the condition has occurred (block 606), the process control transfers to block 608. Otherwise, the process returns to block 604. In block 608, the intent-determining circuit 504 of the illustrated example predicts and / or determines a user's intent in the vehicle. In this example, the intent-determining circuit 504 uses a combination of detected vehicle conditions and / or parameters (e.g., vehicle speed, vehicle acceleration, etc.) to predict and / or determine the intent. Accordingly, the determined intent may correspond to overriding the center-return behavior typical of steer-by-wire systems. In some examples, block 610 prompts the user via an MMS (Multimedia Message) instructed by the MMS control circuit 508. In some such examples, the user is asked whether to maintain and / or hold a specific steering angle of the smoke and heat exhaust ventilation system (SHEVS). In other examples, the user is prompted by flashing lights. Additionally or alternatively, the user is prompted based on vibrations and / or haptic signals and / or MMS prompts. In some examples, block 612 uses the condition analyzer circuit 502 and / or the MMS controller 508 to determine whether the user has provided an input to maintain the steering angle of the smoke and heat exhaust ventilator (SHEV). For example, the condition analyzer circuit 502 and / or the MMS controller 508 can determine whether the user has pressed and / or toggled a button, switch, capacitive sensor, or other input device. If the user input indicates to hold and / or maintain the steering angle (block 612), the process control proceeds to block 614. Otherwise, the process returns to block 604. In block 614, the steering angle of the smoke and heat exhaust ventilation (SHEV) system is maintained by the SHEV control circuit 506. In this example, the steering angle is maintained based on determining and / or predicting a user's intention, such that the predicted intention corresponds to maintaining the steering angle. Accordingly, maintaining the steering angle by the SHEV system can override the center-return behavior that is generally associated with self-centering steering systems. In block 615, the MMS controller 508 controls the aforementioned MMS to provide information corresponding to the steering angle. For example, the steering angle can be displayed to the user. Additionally or alternatively, an indication that the steering angle is being held and / or maintained is displayed on the MMS. In block 616, the condition analyzer circuit 502 and / or the intent determiner circuit 504 determine whether the steering system should be reset to normal operation (e.g., model-based operation, center-reset operation, etc.). If it is determined that the steering system should be reset to normal operation (block 616), the process control returns to block 604. Otherwise, the process returns to block 614. The determination can be based on whether the brake system is released or whether torque is again applied to the steering torque sensor (e.g., the user applies torque to the steering wheel after the steering torque sensor has been released by a previously applied torque from the user). Fig. 7 is a block diagram of an exemplary programmable circuit platform 700, structured to execute and / or instantiate the exemplary machine-readable instructions and / or exemplary operations from Fig. 6 to implement the steering intention analysis system 500 from Fig. 5. The programmable circuit platform 700 could be, for example, a server, a personal computer, a workstation, a self-learning machine (e.g., a neural network), a mobile device (e.g., a mobile phone, a smartphone, a tablet such as an iPad™), a personal digital assistant (PDA), an internet-enabled device, a DVD player, a CD player, a digital video recorder, a Blu-ray player, a game console, a personal video recorder, a set-top box, a headset (e.g., a headset for augmented reality (AR), a headset for virtual reality (VR), etc.).) or any other body-worn device or any other type of computing device and / or electronic device. The programmable circuit platform 700 of the illustrated example includes a programmable circuit 712. The programmable circuit 712 of the illustrated example is hardware. For example, the programmable circuit 712 can be implemented by one or more integrated circuits, logic circuits, FPGAs, microprocessors, CPUs, GPUs, DSPs, and / or microcontrollers from any desired family or manufacturer. The programmable circuit 712 can be implemented by one or more semiconductor-based (e.g., silicon-based) devices. In this example, the programmable circuit 712 implements the exemplary condition analyzer circuit 502, the exemplary intent determiner circuit 504, the exemplary smoke and heat exhaust ventilation (SHEV) control circuit 506, and the exemplary MMS control circuit 508. The programmable circuit 712 of the illustrated example includes a local memory 713 (e.g., a cache, registers, etc.). The programmable circuit 712 of the illustrated example communicates via a bus 718 with a main memory 714, 716, which includes a volatile memory 714 and a non-volatile memory 716. The volatile memory 714 can be implemented as synchronous dynamic random-access memory (SDRAM), dynamic random-access memory (DRAM), dynamic RAMBUS® random-access memory (RDRAM®), and / or any other type of RAM device. The non-volatile memory 716 can be implemented as flash memory and / or any other desired type of storage device. Access to the main memory 714, 716 of the illustrated example is controlled by a memory controller 717.In some examples, the memory control 717 can be implemented by one or more integrated circuits, logic circuits, microcontrollers from any desired family or manufacturer, or any other type of circuit to handle the data flow to and from the main memory 714, 716. The programmable circuit platform 700 of the illustrated example also includes an interface circuit 720. The interface circuit 720 can be implemented by hardware in accordance with any type of interface standard, such as an Ethernet interface, a Universal Serial Bus (USB) interface, a Bluetooth® interface, a Near Field Communication (NFC) interface, a Peripheral Component Interconnect (PCI) interface, and / or a Peripheral Component Interconnect Express (PCIe) interface. In the illustrated example, one or more input devices 722 are connected to the interface circuit 720. The input device(s) 722 enable(s) a user (e.g., a human user, a machine user, etc.) to input data and / or commands into the programmable circuit 712. The input device(s) 722 can be implemented, for example, by an audio sensor, a microphone, a camera (photo or video), a keyboard, a button, a mouse, a touchscreen, a trackpad, a trackball, an isopoint device, and / or a speech recognition system. One or more output devices 724 are also connected to the interface circuit 720 of the illustrated example. The output device(s) 724 can be implemented, for example, as display devices (e.g., a light-emitting diode (LED), an organic light-emitting diode (OLED), a liquid crystal display (LCD), a cathode ray tube display (CRT), an in-place switching display (IPS), a touchscreen, etc.), a tactile output device, a printer, and / or a loudspeaker. The interface circuit 720 of the illustrated example therefore typically includes a graphics driver card, a graphics driver chip, and / or graphics driver processor circuitry, such as a GPU. The 720 interface circuit of the illustrated example also includes a communication device, such as a transmitter, a receiver, a transceiver, a modem, a home gateway, a wireless access point and / or a network interface, to enable data exchange with external machines (e.g. to support computing devices of any kind) over a 726 network. Communication can be established, for example, via an Ethernet connection, a connection to a digital subscriber line (DSL), a telephone line connection, a coaxial cable system, a satellite system, a non-line-of-sight wireless system, a line-of-sight wireless system, a mobile phone system, an optical connection, etc. The programmable circuit platform 700 of the illustrated example also includes one or more mass storage disks or devices 728 for storing firmware, software, and / or data. Examples of such mass storage disks or devices 728 include magnetic storage devices (e.g., floppy disks, drives, HDDs, etc.), optical storage devices (e.g., Blu-ray discs, CDs, DVDs, etc.), RAID systems, and / or solid-state storage disks or devices, such as flash memory devices and / or SSDs. The machine-readable instructions 732, which may be implemented by the machine-readable instructions from Fig. 6, may be stored in the mass storage device 728, in the volatile memory 714, in the non-volatile memory 716 and / or on at least one permanent computer-readable storage medium, such as a CD or DVD, which may be removable. Fig. 8 is a block diagram of an exemplary implementation of the programmable circuit 712 from Fig. 7. In this example, the programmable circuit 712 from Fig. 7 is implemented by a microprocessor 800. For example, the microprocessor 800 can be a general-purpose microprocessor (e.g., a general-purpose microprocessor circuit). The microprocessor 800 executes some or all of the machine-readable instructions of the flowchart from Fig. 6 to effectively instantiate the circuit from Fig. 5 as logic circuits to perform operations corresponding to these machine-readable instructions. In some such examples, the circuit from Fig. 5 is instantiated by the hardware circuits of the microprocessor 800 in combination with the machine-readable instructions. For example, the microprocessor 800 can be implemented by a multi-core hardware circuit, such as a CPU, a DSP, a GPU, an XPU, etc.Although it can contain any number of exemplary 802 cores (e.g., 1 core), the 800 microprocessor in this example is a multi-core semiconductor device containing N cores. The 802 cores of the 800 microprocessor can operate independently or work together to execute machine-readable instructions. For example, machine code corresponding to a firmware program, an embedded software program, or a software program can be executed by one of the 802 cores, or it can be executed by several of the 802 cores simultaneously or at different times. In some examples, the machine code corresponding to the firmware program, the embedded software program, or the software program is divided into threads and executed in parallel by two or more of the 802 cores. The software program can correspond to some or all of the machine-readable instructions and / or operations described by the flowcharts in Fig.6 are shown. The 802 cores can communicate via a first exemplary bus 804. In some examples, the first bus 804 can be implemented as a communication bus to enable communication assigned to one or more of the 802 cores. For example, the first bus 804 can be implemented as at least one of an Inter-Integrated Circuit (I2C) bus, a Serial Peripheral Interface (SPI) bus, a PCI bus, or a PCIe bus. Additionally or alternatively, the first bus 804 can be implemented as any other type of computational or electrical bus. The 802 cores can receive data, instructions, and / or signals from one or more external devices through an exemplary interface circuit 806. The 802 cores can output data, instructions, and / or signals to the one or more external devices through the exemplary interface circuit 806.Although the 802 cores of this example include an exemplary local memory 820 (e.g., a Level 1 (L1) cache, which may be partitioned into an L1 data cache and an L1 instruction cache), the 800 microprocessor also includes an exemplary shared memory 810, which can be shared by the cores (e.g., Level 2 (L2) cache) for high-speed access to data and / or instructions. Data and / or instructions can be transferred (e.g., shared) by writing to and / or reading from the shared memory 810. The local memory 820 of each of the 802 cores and the shared memory 810 can be part of a hierarchy of memory devices that includes multiple levels of cache memory and main memory (e.g., the main memory 714, 716 from Fig. 7).Typically, higher storage levels in the hierarchy have lower access times and smaller storage capacities than lower storage levels. Changes across the different levels of the cache hierarchy are managed (e.g., coordinated) by a cache coherence policy. Each 802 core can be referred to as a CPU, DSP, GPU, or any other type of hardware circuitry. Each 802 core includes a control unit circuit (814), an arithmetic and logic (AL) circuit (sometimes called an ALU) (816), a variety of registers (818), local memory (820), and a second example bus (822). Other structures may be present. For example, each 802 core may include a vector unit circuit, a single instruction multiple data (SIMD) circuit, a load / store unit (LSU) circuit, a branch / jump unit circuit, a floating-point unit (FPU) circuit, and so on. The 814 control unit circuit includes semiconductor-based circuits designed to control (e.g., coordinate) the movement of data within the corresponding 802 core.The AL 816 circuit comprises semiconductor-based circuits designed to perform one or more mathematical and / or logical operations on the data within the corresponding 802 core. In some examples, the AL 816 performs integer-based operations. In others, the AL 816 also performs floating-point operations. In still other examples, the AL 816 may include a first AL circuit that performs integer-based operations and a second AL circuit that performs floating-point operations. In some examples, the AL 816 may be referred to as an arithmetic logic unit (ALU). The 818 registers are semiconductor-based structures for storing data and / or instructions, such as the results of one or more of the operations performed by the AL circuit 816 of the corresponding 802 core. For example, the 818 registers may include a vector register, a SIMD register, a general-purpose register, a flag register, a segment register, a machine-specific register, an instruction pointer register, a control register, an error correction register, a memory management register, a machine check register, and so on. The 818 registers may be arranged in a bank, as shown in Fig. 8. Alternatively, the 818 registers may be organized in any other arrangement, format, or structure, such as being distributed across the entire 802 core to reduce access time.The second bus 822 can be implemented by at least one I2C bus, an SPI bus, a PCI bus or a PCIe bus. Each Core 802 and / or, more generally, the Microprocessor 800 may include additional and / or alternative structures to those shown and described above. For example, it may include one or more clock circuits, one or more power supplies, one or more power gates, one or more cache home agents (CHAs), one or more converged / common mesh stops (CMS), one or more sliders (e.g., toggle switches), and / or other circuitry. The Microprocessor 800 is a semiconductor device manufactured to include many transistors interconnected to implement the structures described above in one or more integrated circuits (ICs) contained in one or more packages. The Microprocessor 800 can incorporate and / or interact with one or more accelerators (e.g., accelerator circuitry, hardware accelerators, etc.). In some examples, accelerators are implemented by logic circuitry to perform certain tasks faster and / or more efficiently than a general-purpose processor can. Examples of accelerators include ASICs and FPGAs, such as those discussed here. A GPU, DSP, and / or other programmable device can also be an accelerator. Accelerators can reside on the Microprocessor 800, in the same chip package as the Microprocessor 800, and / or in one or more packages separate from the Microprocessor 800. Fig. 9 is a block diagram of another exemplary implementation of the programmable circuit 712 from Fig. 7. In this example, the programmable circuit 712 is implemented by an FPGA circuit 900. For example, the FPGA circuit 900 can be implemented by an FPGA. The FPGA circuit 900 can be used, for example, to perform operations that might otherwise be performed by the exemplary microprocessor 800 from Fig. 8, which executes the corresponding machine-readable instructions. However, once configured, the FPGA circuit 900 instantiates the operations and / or functions in hardware according to the machine-readable instructions and can thus often execute the operations / functions faster than they could be performed by a general-purpose microprocessor executing the corresponding software. In particular, unlike the microprocessor 800 of Fig. 8 described above (which is a general-purpose device that can be programmed to execute some or all of the machine-readable instructions shown in the flowchart of Fig. 6, but whose interconnections and logic circuits are fixed once manufactured), the FPGA circuit 900 of the example in Fig. 9 includes interconnections and logic circuits that, once manufactured, can be configured, built, programmed, and / or interconnected in various ways to instantiate, for example, some or all of the operations / functions according to the machine-readable instructions shown in the flowchart of Fig. 6. In particular, the FPGA circuit 900 can be thought of as an arrangement of logic gates, interconnects, and switches.The switches can be programmed to change how the logic gates are interconnected through the intermediate connections, effectively forming one or more dedicated logic circuits (unless the FPGA 900 is reprogrammed or until such time as it is). The configured logic circuits allow the logic gates to interact in different ways to perform various operations on data received by an input circuit. These operations can correspond to some or all of the instructions (e.g., software and / or firmware) represented by the flowchart in Fig. 6. The FPGA 900 can be configured and / or structured to perform some or all of the operations / functions according to the machine-readable instructions of the flowchart in Fig. 6.Figure 6 is instantiated as dedicated logic circuits to perform the operations / functions corresponding to these software instructions in a dedicated manner, analogous to an ASIC. Therefore, the FPGA circuit 900 can perform the operations / functions corresponding to some or all of the machine-readable instructions from Figure 6 faster than the universal microprocessor can. In the example shown in Fig. 9, the FPGA 900 circuit is configured and / or structured in response to being programmed (and / or reprogrammed one or more times) based on a binary file. In some examples, the binary file can be compiled and / or generated based on instructions in a hardware description language (HDL), such as Lucid, Very High Speed ​​Integrated Circuits (VHSIC) Hardware Description Language (VHDL), or Verilog. For example, a user (e.g., a human user, a machine user, etc.) can write code or a program that corresponds to one or more operations / functions in an HDL; the code / program can be translated into a simple programming language as needed; and the code / program (e.g.,The code / program (in the simple programming language) can be converted into a binary file (e.g., by a compiler, a software application, etc.). In some examples, the FPGA 900 circuit from Fig. 9 can access and / or load the binary file to configure and / or structure it to perform one or more operations / functions. For example, the binary file can be implemented as a bitstream (e.g., one or more computer-readable bits, one or more machine-readable bits, etc.), data (e.g., computer-readable data, machine-readable data, etc.), and / or machine-readable instructions accessible to the FPGA 900 circuit from Fig. 9 to configure and / or structure the FPGA 900 circuit from Fig. 9 or a section thereof. In some examples, the binary file is compiled, generated, transformed, and / or otherwise output by a unified software platform used to program FPGAs. For example, the unified software platform can translate first instructions (e.g., code or a program) corresponding to one or more operations / functions in a higher-level programming language (e.g., C, C++, Python, etc.) into second instructions corresponding to the one or more operations / functions in an HDL. In some such examples, the binary file is compiled, generated, and / or otherwise output by the unified software platform based on the second instructions. In some examples, the FPGA 900 circuit in Fig. 9 can access and / or load the binary file to configure and / or structure the FPGA 900 circuit in Fig. 9 to perform the one or more operations / functions.For example, the binary file can be implemented by a bitstream (e.g., one or more computer-readable bits, one or more machine-readable bits, etc.), data (e.g., computer-readable data, machine-readable data, etc.), and / or machine-readable instructions accessible to the FPGA circuit 900 of Fig. 9 to effect the configuration and / or structuring of the FPGA circuit 900 of Fig. 9 or of (a) section(s) thereof. The FPGA circuit 900 from Fig. 9 includes an exemplary input / output (I / O) circuit 902 for receiving and / or outputting data to an exemplary configuration circuit 904 and / or external hardware 906. For example, the configuration circuit 904 may be implemented by an interface circuit capable of receiving a binary file, which may be implemented as a bitstream, data, and / or machine-readable instructions for configuring the FPGA circuit 900 or a section thereof. In some such examples, the configuration circuit 904 may receive the binary file from a user, a machine (e.g., a hardware circuit (such as a programmed or dedicated circuit) capable of implementing an artificial intelligence / machine learning (AI / ML) model to generate the binary file), etc., and / or any combination thereof.In some examples, the external hardware 906 can be implemented by an external hardware circuit. For example, the external hardware 906 can be implemented by the microprocessor 800 from Fig. 8. The FPGA circuit 900 also includes an arrangement of an exemplary logic gate circuit 908, a plurality of exemplary configurable circuits 910, and an exemplary memory circuit 912. The logic gate circuit 908 and the configurable circuits 910 are configurable to instantiate one or more operations / functions that may correspond to at least some of the machine-readable instructions from Fig. 6, and / or other desired operations. The logic gate circuit 908 shown in Fig. 9 is fabricated in blocks or groups. Each block contains semiconductor-based electrical structures that can be configured to form logic circuits. In some examples, the electrical structures include logic gates (e.g., AND gates, OR gates, NOR gates, etc.) that provide basic building blocks for logic circuits. Electrically controllable switches (e.g.,Transistors are present within each of the 908 logic gate circuits to allow for the configuration of electrical structures and / or logic gates to form circuits for performing desired operations / functions. The 908 logic gate circuit may include other electrical structures, such as lookup tables (LUTs), registers (e.g., flip-flops or latches), multiplexers, etc. The configurable connecting lines 910 of the illustrated example are conductive paths, conductor tracks, vias or the like, which may include electrically controllable switches (e.g. transistors) whose state can be changed by programming (e.g. using an HDL instruction language) to enable or disable one or more connections between one or more of the logic gate circuits 908 in order to program desired logic circuits. The memory circuit 912 of the illustrated example is structured to store the result(s) of one or more operations performed by corresponding logic gates. Memory circuit 912 can be implemented using registers or similar devices. In the illustrated example, memory circuit 912 is distributed across logic gate circuit 908 to facilitate access and increase execution speed. The exemplary FPGA circuit 900 from Fig. 9 also includes an exemplary circuit 914 for dedicated operations. In this example, the circuit 914 for dedicated operations includes a special circuit 916 that can be called to implement frequently used functions, thus avoiding the need to program these functions locally. Examples of such a special circuit 916 include a memory (e.g., DRAM) control circuit, a PCIe control circuit, a clock circuit, a transceiver circuit, a memory, and a multiplier-accumulator circuit. Other types of special circuits may be present. In some examples, the FPGA circuit 900 may also include an exemplary programmable general-purpose circuit 918, such as an exemplary CPU 920 and / or an exemplary DSP 922.Other programmable universal circuits 918 may be present additionally or alternatively, such as a GPU, an XPU, etc., which may be programmed to perform other operations. Although Figures 8 and 9 illustrate two exemplary implementations of the programmable circuit 712 from Figure 7, many other approaches are considered. For example, an FPGA circuit may include an in-vehicle CPU, such as one or more of the exemplary CPUs 920 from Figure 8. Therefore, the programmable circuit 712 from Figure 7 may additionally be implemented by combining at least the exemplary microprocessor 800 from Figure 8 and the exemplary FPGA circuit 900 from Figure 9. In some such hybrid examples, one or more cores 802 from Figure 8 may execute a first part of the machine-readable instructions, as represented by the flowchart from Figure 6, to perform a first operation(s) or function(s).9. may be configured and / or structured to perform a second operation / operations / function(s) corresponding to a second part of the machine-readable instructions represented by the flowchart in Fig. 6, and / or an ASIC may be configured and / or structured to perform a third operation / operations / function(s) corresponding to a third part of the machine-readable instructions represented by the flowchart in Fig. 6. It is understood that some or all of the circuits in Fig. 5 can thus be instantiated at the same or different times. For example, the same and / or different part(s) of the microprocessor 800 from Fig. 8 can be programmed to execute part(s) of machine-readable instructions simultaneously and / or at different times. In some examples, the same and / or different section(s) of the FPGA circuit 900 from Fig. 9 can be configured and / or structured to perform operations / functions corresponding to part(s) of machine-readable instructions at the same and / or different times. In some examples, some or all of the circuits from Fig. 5 can be instantiated in one or more threads that execute concurrently and / or sequentially. For example, the 800 microprocessor in Fig. 8 can execute machine-readable instructions in one or more threads that execute concurrently and / or sequentially. In some examples, the 900 FPGA circuit in Fig. 9 can be configured and / or structured to execute operations / functions concurrently and / or sequentially. Furthermore, in some examples, some or all of the circuits in Fig. 5 can be implemented within one or more virtual machines and / or containers running on the 800 microprocessor in Fig. 8. In some examples, the programmable circuit 712 from Fig. 7 can be contained in one or more packages. For example, the microprocessor 800 from Fig. 8 and / or the FPGA circuit 900 from Fig. 9 can be contained in one or more packages. In some examples, an XPU can be implemented by the programmable circuit 712 from Fig. 7, which can be contained in one or more packages. For example, the XPU can contain a CPU (e.g., the microprocessor 800 from Fig. 8, the CPU 920 from Fig. 9, etc.) in one package, a DSP (e.g., the DSP 922 from Fig. 9) in another package, a GPU in yet another package, and an FPGA (e.g., the FPGA circuit 900 from Fig. 9) in yet another package. "Containing" and "comprising" (and all forms and tenses thereof) are used in this document as open expressions. Thus, when any form of "containing" or "comprising" (e.g., encompassing, including, comprising, featuring, etc.) is used in a patent claim as a preamble or within a clause of any type, it is understood that additional elements, expressions, etc., may be present without being outside the scope of the relevant patent claim or clause. In the sense used here, the phrase "at least," when used, for example, as a transitional phrase in a preamble of a patent claim, is just as open as the expressions "comprising" and "containing."The expression "and / or," when used, for example, in a form such as A, B and / or C, denotes any combination or subset of A, B, C, such as (1) only A, (2) only B, (3) only C, (4) A with B, (5) A with C, and (6) B with C, or (7) A with B and with C. As used here in the context of describing structures, components, elements, objects, and / or things, the phrase "at least one of A and B" refers to implementations that include any one of the following: (1) at least one of A, (2) at least one of B, or (3) at least one of A and at least one of B. Likewise, the phrase "at least one of A or B," as used here in the context of describing structures, components, elements, objects, and / or things, refers to implementations that include any one of the following: (1) at least one of A, (2) at least one of B, or (3) at least one of A and at least one of B. one of B.As used here in the context of describing the implementation or execution of processes, instructions, actions, activities, etc., the phrase "at least one of A and B" shall refer to implementations that include any one of the following: (1) at least one of A, (2) at least one of B, or (3) at least one of A and at least one of B. Likewise, the phrase "at least one of A or B," as used in this document in the context of describing the implementation or execution of processes, instructions, actions, activities, etc., shall refer to implementations that include any one of the following: (1) at least one of A, (2) at least one of B, or (3) at least one of A and at least one of B. In the sense used here, singular references (e.g., "a," "an," "first," "second," etc.) do not preclude a plurality. The expression "a" object, in the sense used here, refers to one or more of these objects. The expressions "a," "one or more," and "at least one" are used interchangeably in this document. Furthermore, although listed individually, a plurality of means, elements, or actions may be implemented, e.g., by the same entity or object. Additionally, although individual features may be included in different examples or claims, these may possibly be combined, and inclusion in different examples or claims does not imply that a combination of features is not possible and / or advantageous. As used herein, the term "above," unless otherwise specified, describes the relationship of two parts to the ground. A first part is above a second part if the second part has at least one part between the ground and the first part. Likewise, in this context, a first part is "below" a second part if the first part is closer to the ground than the second part. As noted above, a first part may be above or below a second part if one or more of the following are true: other parts are in between, no other parts are in between, the first and second parts are touching, or the first and second parts are not in direct contact with each other. Notwithstanding the foregoing, when referring to a semiconductor device (e.g., a transistor), a semiconductor chip containing a semiconductor device, and / or an integrated circuit (IC) package containing a semiconductor chip, during manufacturing or fabrication, “over” is understood not to refer to the ground, but to an underlying substrate on which relevant components are fabricated, assembled, mounted, supported, or otherwise provided. Thus, in the sense used here, and unless otherwise specified or implied by the context, a first component within a semiconductor chip (e.g., a transistor or other semiconductor device) is “over” a second component within the semiconductor chip if, during manufacturing / fabrication, the first component is further supported by a substrate (e.g., a substrate, a substrate, or a substrate)a semiconductor wafer) on which the two components are manufactured or otherwise provided is located further away than the second component. Likewise, unless otherwise stated or inferred from the context, a first component within an IC package (e.g., a semiconductor chip) is located "above" a second component within the IC package during manufacturing if the first component is located farther away from a printed circuit board (PCB) on which the IC package is to be mounted or attached. It is understood that semiconductor devices are often used in an orientation different from their orientation during manufacturing. Thus, it is likely that when referring to a semiconductor device (e.g.,a transistor), a semiconductor chip containing a semiconductor device, and / or an integrated circuit (IC) package containing a semiconductor chip, while reference is made to the definition of "over" in the preceding paragraph (i.e., the expression "over" describes the relationship of two parts in relation to the earth) depending on the context of use. As used in this patent specification, the statement that any part is located on another part in any way (e.g., is positioned on it, lies on it, is arranged on it, or is formed on it, etc.) means that the part referred to is either in contact with the other part or that the part referred to is located above the other part with one or more intermediate part(s) in between. In the sense used here, connection references (e.g., attached, coupled, connected, and joined) can include intermediate links between the elements to which the connection reference refers and / or a relative movement between these elements, unless otherwise specified. Accordingly, it cannot necessarily be inferred from connection references that two elements are directly connected and / or in a fixed relationship to each other. In the sense used here, the statement that any part is in "contact" with another part is defined as meaning that there is no intermediate link between the two parts. Unless expressly stated otherwise, descriptors such as "first," "second," "third," etc., are used in this document without implying or otherwise indicating any significance of priority, physical sequence, arrangement in a list, and / or order. They are used merely as designations and / or arbitrary names to distinguish elements for a better understanding of the disclosed examples. In some examples, the descriptor "first" may be used in the detailed description to refer to an element, while the same element may be referred to in a patent claim by a different descriptor such as "second" or "third." In such cases, it is understood that such descriptors are intended only to distinguish the elements within the context of the discussion (e.g.,within a claim) to uniquely identify those that might otherwise have the same name. In this context, "approximately" and "about" modify their subjects / values ​​to acknowledge the potential presence of variations that occur in real-world applications. For example, "approximately" and "about" may modify dimensions that, due to manufacturing tolerances and / or other real-world imperfections, as would be apparent to the average person skilled in the art, cannot be exact. For example, "approximately" and "about" may indicate that such dimensions may fall within a tolerance range of + / -10%, unless otherwise specified here. In the sense used here, "essentially real-time" refers to occurrence in a near-instantaneous manner, while acknowledging that there may be real delays for processing time, transmission, etc. Thus, unless otherwise specified, "essentially real-time" refers to real-time + 1 second. In the sense used here, the term “in communication”, including variations thereof, includes 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 rather additionally includes selective communication at periodic intervals, planned intervals, aperiodic intervals and / or at one-off events. In the sense used here, a "programmable circuit" is defined as comprising: (i) one or more specialized electrical circuits (e.g., an application-specific integrated circuit (ASIC)) designed to perform a specific operation(s) and incorporating 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 electrical circuits programmable with instructions to perform a specific function and / or operation(s) and incorporating one or more semiconductor-based logic devices (e.g., electrical hardware implemented by one or more transistors). Examples of programmable circuits include programmable microprocessors, such as central processing units (CPUs), which can execute initial instructions.to perform one or more operations and / or functions, field-programmable gate arrays (FPGAs), which may be programmed with second instructions to configure and / or construct the FPGAs so that they instantiate one or more operations and / or functions corresponding to the first instructions, graphics processing units (GPUs) that can execute first instructions to perform one or more operations and / or functions, digital signal processors (DSPs) that can execute first instructions to perform one or more operations and / or functions, XPUs, network processing units (NPUs), one or more microcontrollers that can execute first instructions to perform one or more operations and / or functions, and / or integrated circuits, such as application-specific integrated circuits (ASICs). For example, an XPU may be implemented by a heterogeneous computing system,that includes multiple types of programmable circuitry (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., application programming interface(s) - API(s)) that can assign the computational task(s) to the one or more types of programmable circuitry that are suitable and available to perform the computational task(s). In the sense used here, an integrated circuit is / are 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 can be implemented as one or more ASICs, FPGAs, chips, microchips, programmable circuits, a semiconductor substrate coupling multiple circuits, a system-on-chip (SoC), etc. Exemplary methods, devices, systems, and manufactured products for enabling improved use of steer-by-wire systems are disclosed herein. Further examples and combinations thereof include the following: Example 1 comprises a device comprising an interface circuit communicatively coupled to a wheel actuator (RWA) and a steering torque sensor corresponding to a self-centering steering wheel of a vehicle, machine-readable instructions, and at least one processor circuit programmable with the machine-readable instructions to determine that the vehicle is moving at or below a threshold speed and that a brake of the vehicle is being applied, and, based on this determination, to maintain a steering angle of the RWA when a degree of torque applied to the steering torque sensor is less than or equal to a threshold degree of torque.Example 2 includes the device of Example 1, wherein one or more of the at least one processor circuit are configured to cause a human-machine interface (HMI) to display information corresponding to the steering angle. Example 3 includes the device of one or more of Examples 1 or 2, wherein the HMI includes an arrangement of linearly arranged light sources. Example 4 includes the device of one or more of Examples 1 to 3, wherein one or more of the at least one processor circuit are configured to determine that a torque is applied to the steering wheel and has been released in order to maintain the steering angle. Example 5 includes the device of one or more of Examples 1 to 4, wherein the steering angle is maintained by preventing a return-to-center movement of the steering wheel.Example 6 includes the device according to one or more of Examples 1 to 5, wherein one or more of the at least one processor circuit are configured to cause an MMS to prompt a user of the vehicle to select whether to maintain the steering angle, and wherein the steering angle is maintained in response to user input. Example 7 includes the device according to one or more of Examples 1 to 6, wherein the input is the toggling of a switch or button to confirm that the steering angle is maintained. Example 8 includes the device according to one or more of Examples 1 to 7, wherein one or more of the at least one processor circuit are configured to cause the RWA to discontinue maintaining the steering angle in response to at least one of the following: the brake is released or torque is applied to the steering torque sensor.Example 9 includes at least one persistent machine-readable medium, comprising machine-readable instructions, to cause at least one processor circuit to predict, at least in part, an intention of a user of a vehicle based on (i) a speed of the vehicle and (ii) an application of a brake, to maintain a steering angle of a wheel actuator (RWA) based on the fact that the predicted intention is to maintain the steering angle when a degree of torque applied to a steering torque sensor of a self-centering steering wheel is released, and to cause a human-machine interface (MMS) to display information corresponding to the steering angle while the steering angle is being maintained.Example 10 includes the at least one durable machine-readable medium according to Example 9, wherein the machine-readable instructions are provided to cause one or more of the at least one processor circuits to cause the MMS to prompt the vehicle user to select whether to hold the steering angle, and wherein the steering angle is held in response to an input from the user. Example 11 includes the at least one durable machine-readable medium according to one or more of Examples 9 or 10, wherein the input from the user corresponds to toggling a button or switch on a steering wheel.Example 12 includes the at least one persistent machine-readable medium according to one or more of Examples 9 to 11, wherein the machine-readable instructions are provided to cause one or more of the at least one processor circuit to cause the human-machine interface (HMI) to display information indicating that the steering angle is being maintained. Example 13 includes the at least one persistent machine-readable medium according to one or more of Examples 9 to 12, wherein the machine-readable instructions are provided to cause one or more of the at least one processor circuit to cause the HMI to illuminate at least one light source of a linearly arranged lighting arrangement based on the steering angle.Example 14 includes the at least one persistent machine-readable medium according to one or more of Examples 9 to 13, wherein the machine-readable instructions are designed to cause the RWA to cease maintaining the steering angle in response to at least one of the following: the brake being released or torque being applied to the steering torque sensor. Example 15 includes the at least one persistent machine-readable medium according to one or more of Examples 9 to 14, wherein the intent is predicted based on the vehicle speed being stopped and the degree to which the braking system is applied.Example 16 includes a method for operating a vehicle's steer-by-wire system, wherein the method comprises determining, by executing instructions with at least one processor, that (i) the vehicle is traveling at or below a threshold speed and (ii) a brake of the vehicle is applied, and maintaining, by executing instructions with the at least one processor, the steering angle of a RWA based on the determination that a degree of torque applied to a steering torque sensor is less than or equal to a threshold degree of torque. Example 17 includes the method of Example 16, which further comprises providing, by executing instructions with the at least one processor, a prompt to a user of the vehicle to select whether to maintain the steering angle, wherein the steering angle is maintained in response to an input corresponding to the user.Example 18 includes the method of one or more of Examples 16 or 17, which further includes causing, by executing instructions with the at least one processor, a human-machine interface (HMI) to display information corresponding to the steering angle. Example 19 includes the method of one or more of Examples 16 to 18, which further includes enabling, by executing instructions with the at least one processor, an adjustment of the steering angle in response to at least one of the following: the release of the brake or the application of torque to the steering torque sensor. Example 20 includes the method of any one or more of Examples 16 to 19, wherein the determination corresponds to the vehicle being stationary with the brake applied.In light of the foregoing, it is understood that exemplary systems, devices, manufactured products, and methods have been disclosed that enable an improved user experience for users of steer-by-wire systems. Disclosed systems, devices, manufactured products, and methods improve the efficiency of using a computing device by predicting user intent in a computationally efficient manner that does not require extensive hardware and software as in known systems. Accordingly, disclosed systems, devices, manufactured products, and methods are directed toward improving the operation of a machine, such as a computer or other electronic and / or mechanical equipment. The following patent claims are hereby incorporated into this detailed description by reference. Although certain exemplary systems, devices, manufactured products, and processes have been disclosed herein, the scope of protection of this patent is not limited to them. On the contrary, this patent specification covers all systems, devices, manufactured products, and processes that legally fall within the scope of the patent claims of this patent specification.

Claims

Device comprising: an interface circuit communicatively coupled to a wheel actuator (RWA) and a steering torque sensor corresponding to a self-centering steering wheel of a vehicle; machine-readable instructions; and at least one processor circuit to be programmed by the machine-readable instructions to: determine that the vehicle is moving at or below a threshold speed and that a brake of the vehicle is applied; and maintain, based on the determination, a steering angle of the RWA when a degree of torque applied to the steering torque sensor is less than or equal to a threshold degree of torque. Device according to claim 1, wherein one or more of the at least one processor circuit are provided to cause a human-machine interface (MMS) to display information corresponding to the steering angle. Device according to claim 2, wherein the MMS comprises an arrangement of linearly arranged light sources. Device according to claim 1, wherein one or more of the at least one processor circuit are provided to determine that a torque is applied to the steering wheel and has been released in order to maintain the steering angle. Device according to claim 1, wherein the steering angle is maintained by preventing a center return movement of the RWA. Device according to claim 1, wherein one or more of the at least one processor circuit are provided to cause an MMS to prompt a user of the vehicle to select whether to maintain the steering angle, and wherein the steering angle is maintained in response to an input from the user. Device according to claim 5, wherein the input corresponds to switching a switch or button to confirm that the steering angle is to be maintained. Device according to claim 1, wherein one or more of the at least one processor circuit are provided to cause the RWA to discontinue maintaining the steering angle in response to at least one of the following: that the brake is released or torque is applied to the steering torque sensor. At least one persistent machine-readable medium comprising machine-readable instructions to cause at least one processor circuit to perform at least the following: predicting the intention of a vehicle user, at least in part, based on: (i) the vehicle's speed and (ii) the application of a brake; maintaining the steering angle of a wheel actuator (RWA) based on the predicted intention indicating that the steering angle will be maintained when a degree of torque applied to a steering torque sensor of a self-centering steering wheel is released; and causing a human-machine interface (MMS) to display information corresponding to the steering angle when the steering angle is maintained. At least one durable machine-readable medium according to claim 9, wherein the machine-readable instructions are provided to cause one or more of the at least one processor circuit to cause the MMS to prompt the user of the vehicle to select whether to hold the steering angle, and wherein the steering angle is held in response to an input from the user. At least one durable machine-readable medium according to claim 10, wherein the input from the user corresponds to switching a button or switch on a steering wheel. At least one durable machine-readable medium according to claim 9, wherein the machine-readable instructions are provided to cause one or more of the at least one processor circuit to cause the human-machine interface (MMS) to display information indicating that the steering angle is being maintained. At least one permanent machine-readable medium according to claim 9, wherein the machine-readable instructions are provided to cause one or more of the at least one processor circuit to cause the MMS to illuminate at least one light source of a linearly arranged lighting arrangement based on the steering angle. At least one permanent machine-readable medium according to claim 9, wherein the machine-readable instructions are provided to cause the RWA to cease maintaining the steering angle in response to at least one of the following: that the brake is released or torque is applied to the steering torque sensor. At least one durable machine-readable medium according to claim 9, wherein the intent is predicted based on the fact that the vehicle speed is stopped and a degree to which the braking system is applied.