METHODS AND APPARATUS TO IMPROVE ELECTRONIC POWER ASSISTED STEERING IN A VEHICLE

Methods, apparatus, systems and articles of manufacture are disclosed to improve electronic power assisted steering in a vehicle. An example apparatus includes memory and a processor to execute instructions to determine a steering column torque associated with a steering column of an electronic power assisted steering (EPAS) system in a vehicle, determine a steering column torque derivative based on a derivative of the steering column torque, determine a compliance compensation torque based on the steering column torque and the steering column torque derivative, and adjust a steering response of the steering column based on the compliance compensation torque.

FIELD OF THE DISCLOSURE

This disclosure relates generally to vehicles and, more particularly, to methods and apparatus to improve electronic power assisted steering assist in a vehicle.

BACKGROUND

Modern vehicles typically include electronic power assisted steering (“EPAS”) systems that provide powered assistance (e.g., power-assisted torque and/or power-assisted momentum) to a steering assembly of the vehicle to increase the ease with which a portion of the steering assembly (e.g., a steering wheel) may be rotated and/or otherwise moved by an occupant (e.g., a driver) of the vehicle. Conventional EPAS systems include an EPAS controller that controls an EPAS motor to provide the above-described powered assistance to the steering assembly.

SUMMARY

Methods and apparatus to improve electronic power assisted steering in a vehicle are disclosed. An example apparatus includes memory, and a processor to execute instructions to determine a steering column torque associated with a steering column of an electronic power assisted steering (EPAS) system in a vehicle, determine a steering column torque derivative based on a derivative of the steering column torque, determine a compliance compensation torque based on the steering column torque and the steering column torque derivative, and adjust a steering response of the steering column based on the compliance compensation torque.

An example non-transitory computer readable storage medium including instructions that, when executed, cause a machine to at least determine a steering column torque associated with a steering column of an electronic power assisted steering (EPAS) system in a vehicle, determine a steering column torque derivative based on a derivative of the steering column torque, determine a compliance compensation torque based on the steering column torque and the steering column torque derivative, and adjust a steering response of the steering column based on the compliance compensation torque.

An example method includes determining a steering column torque associated with a steering column of an electronic power assisted steering (EPAS) system in a vehicle, determining a steering column torque derivative based on a derivative of the steering column torque, determining a compliance compensation torque based on the steering column torque and the steering column torque derivative, and adjusting a steering response of the steering column based on the compliance compensation torque.

DETAILED DESCRIPTION

The figures are not to scale. In general, the same reference numbers will be used throughout the drawing(s) and accompanying written description to refer to the same or like parts. As used herein, connection references (e.g., attached, coupled, connected, and joined) may include intermediate members between the elements referenced by the connection reference and/or relative movement between those elements unless otherwise indicated. As such, connection references do not necessarily infer that two elements are directly connected and/or in fixed relation to each other.

Modern vehicles typically include electronic power assisted steering (“EPAS”) systems that provide powered assistance (e.g., power-assisted torque and/or power-assisted momentum) to a steering assembly of the vehicle to increase the ease with which a portion of the steering assembly (e.g., a steering wheel) may be rotated and/or otherwise moved by an occupant (e.g., a driver) of the vehicle. Conventional EPAS systems include an EPAS controller that controls an EPAS motor to provide the above-described powered assistance to the steering assembly.

Some EPAS systems are rack EPAS systems that transmit rotational force of a motor (e.g., an EPAS motor) to a rack via a driver pulley, a belt, a driven pulley, and a ball nut assembly (BNA). In such rack EPAS systems, the BNA is rotationally supported to an inner circumferential surface of a housing via ball bearings. In some conventional rack EPAS systems, manufacturers may introduce a compliant spring between the BNA and the housing to allow an additional degree of freedom to rock, move, etc., because of tight tolerances in manufacturing amongst other factors, such as overcoming a rack force. Such a rack force can be generated responsive to wheels of a vehicle pushing against the rack. In such instances, the EPAS motor must overcome the rack force when attempting to turn to rotate the wheels.

In some instances, the compliant spring remains compliant on-center and bottoms out as the BNA moves off-center. This additional compliance on the on-center region can lead to various tradeoffs between system stability, disturbance rejection capability, and steering feel to an operator (e.g., a driver). Such additional compliance may be added to achieve a desired mechanical stiffness. However, the additional compliance is static and cannot be changed after manufacturing. Further, challenges exist to provide the desired mechanical stiffness to each vehicle during manufacturing due to variations in manufacturing tolerances from vehicle-to-vehicle.

Examples disclosed herein improve EPAS systems by dynamically assisting and/or otherwise invoking EPAS motors to overcome mechanical compliance and to reduce degradation of the on-center feel response. In some disclosed examples, an EPAS controller generates a command to add compliance compensation torque to an EPAS base torque to overcome mechanical compliances in the EPAS systems, such as rack forces. In some disclosed examples, the EPAS controller obtains measurements associated with the EPAS systems, such as a torque of a steering column, a vehicle speed, a velocity of an EPAS motor, a position of the EPAS motor, etc. In such disclosed examples, the EPAS controller maps ones of the measurements and derivatives of one(s) of the measurements to tunable lookup tables to generate the command to output a desired or intended compliance compensation torque.

Advantageously, the example EPAS controller can dynamically adjust the EPAS base torque during operation of the vehicle based on the measurements, the derivative(s) of the measurement(s), etc., and/or a combination thereof. Advantageously, the example EPAS controller can determine the compliance compensation torque that is tailored and/or otherwise customized for a vehicle based on the manufacturing tolerances of the vehicle without adjusting the vehicle during manufacturing to account for the manufacturing tolerances.

FIG. 1is an illustration of an example environment100including an example vehicle system102, example external computing system(s)104, and an example network106. In this example, the vehicle system102includes an example vehicle108, which includes an example EPAS system110, an example EPAS controller112, and example electronic control unit(s) (ECU(s))114. Alternatively, the EPAS system110may include the EPAS controller112.

The vehicle108is a truck. Alternatively, the vehicle108may any other type of automobile or motored vehicle, such as a sedan, a van, industrial motored vehicle, etc. Alternatively, the vehicle108may be an all-terrain vehicle (ATV) (e.g., a 3-wheeler ATV, a 4-wheeler ATV, etc.).

The EPAS system110includes a motor (e.g., an EPAS motor) to actuate and/or otherwise adjust a steering system (e.g., a column steering system, a rack or rack-and-pinion steering system, etc.) as an operator (e.g., a human driver, a computer-based driver (e.g., a computing device executing machine readable instructions) to facilitate autonomous driving, etc.) turns a steering wheel of the vehicle108.

In some examples, the EPAS system110implements a column EPAS system when the EPAS motor is coupled to the steering column and/or is otherwise column mounted. In some examples, the EPAS system110implements a rack EPAS system when the EPAS motor is coupled to the rack and/or is otherwise rack mounted. The EPAS motor provides powered assistance (e.g., power-assisted torque and/or power-assisted momentum) to a steering assembly of the vehicle108to increase the ease with which a portion of the steering assembly (e.g., a steering wheel) may be rotated and/or otherwise moved by the operator of the vehicle108. The degree and/or extent to which the EPAS motor provides such powered assistance to the steering assembly increases as the current to the EPAS motor is ramped in based on command(s), control signal(s), etc., generated by the EPAS controller112.

In some examples, the EPAS controller112determines a first or baseline amount of powered assistance (e.g., an EPAS base assist, an EPAS base assist torque, an EPAS assistance torque, etc.) to deliver to the EPAS motor. For example, the EPAS controller112can determine the EPAS base assist and output a control signal to the EPAS motor to deliver the EPAS base assist. In such examples, the control signal causes a first torque to be applied to the EPAS motor.

In some examples, the EPAS controller112determines a second or compliance compensation amount of powered assistance (e.g., an EPAS compliance assist) to deliver to the EPAS motor. For example, the EPAS controller112can determine that the EPAS base assist is insufficient due to mechanical stiffnesses present in the EPAS system110, and/or, more generally, the vehicle108. Advantageously, the EPAS controller112can boost and/or otherwise increase the EPAS base assist with the EPAS compliance assist to generate a final EPAS assist to be delivered to the EPAS motor.

In some examples, the EPAS controller112determines the EPAS compliance assist based on measurements (e.g., sensor measurements), data (e.g., sensor data), etc., obtained from sensors monitoring the EPAS system110, and/or, more generally, the vehicle108. In such examples, the EPAS controller112can obtain the measurements from one(s) of the sensor(s), from one(s) of the ECU(s)114, etc., and/or a combination thereof. In this example, the ECU(s)114include(s) one or more ECUs. In this example, the ECU(s)114are hardware that may control different function(s), operation(s), etc., of the vehicle108. For example, a first one of the ECU(s)114can control an engine or electric motor of the vehicle108, a second one of the ECU(s)114can control a transmission of the vehicle108, etc.

In some examples, the EPAS controller112obtains the sensor data including a column torque of the steering column (e.g., from a torque sensor), a motor velocity of the EPAS motor (e.g., from a speed sensor), a motor position of the EPAS motor (e.g., from a position sensor), a speed of the vehicle108(e.g., from a speed sensor, from the ECU(s)114, etc.), etc. In such examples, the EPAS controller112can determine a derivative of the column torque to determine a column torque derivative.

In some examples, the EPAS controller112determines the EPAS compliance assist based on at least one of ones of the measurements or the column torque derivative. In some examples, the EPAS controller112outputs a control signal to the EPAS motor to deliver the final EPAS assist based on the EPAS base assist and the EPAS compliance assist. In such examples, the control signal can cause a second torque to be applied to the EPAS motor, which is greater than the first torque if only the EPAS base assist is applied. Advantageously, the EPAS controller112can dynamically determine the final EPAS assist to overcome mechanical compliance in the EPAS system110, and/or, more generally, the vehicle108.

In the illustrated example ofFIG. 1, the EPAS controller112, the ECU(s)114, and/or, more generally, the vehicle system102, is/are in communication with the external computing system(s)104via the network106. In this example, the network106is the Internet. However, the network106may be implemented using any suitable wireless network(s) including, for example, one or more wireless data buses, one or more wireless Local Area Networks (WLANs), one or more cellular networks, one or more private networks, one or more public networks, etc. In this example, the external computing system(s)104correspond(s) to, is/are representative of, and/or otherwise include(s) one or more computer servers, data facilities, cloud services (e.g., a public or private cloud provider, a cloud-based repository, etc.), etc.

In some examples, the external computing system(s)104implement a software distribution platform that delivers, provides, and/or otherwise transmits machine readable instructions executable to the EPAS controller112and/or the ECU(s)114. For example, the external computing system(s)104can implement an over-the-air (OTA) firmware and/or software update of processor platform(s) included in the vehicle system102.

In some examples, the external computing system(s)104determine(s) a firmware, software, and/or hardware version associated with the ECU(s)114and/or the EPAS controller112. In such examples, the external computing system(s)104can trigger and/or otherwise invoke an update of the firmware and/or software of the EPAS controller112and/or the ECU(s)114. In such examples, the machine readable instructions, when executed by the EPAS controller112, can cause the EPAS controller112to determine the EPAS base assist, the EPAS compliance assist, etc., to control the EPAS system110.

FIG. 2is an example rack EPAS system200. For example, the rack EPAS system200ofFIG. 2can implement the EPAS system110ofFIG. 1. In this example, the rack EPAS system200includes the example EPAS controller112ofFIG. 1, a first example steering wheel202, a first example EPAS motor204, an example coupling belt system206, a first example pinion208, a first example rack210, a first example wheel assembly212, a first example torque sensor214, and a first example steering column216. In this example, one or more of the first steering wheel202, the first EPAS motor204, the coupling belt system206, the first pinion208, the first rack210, the first wheel assembly212, the first torque sensor214, and/or the first steering column216defines a first steering system of the vehicle108ofFIG. 1.

In the illustrated example ofFIG. 2, the first steering wheel202is coupled to first steering column216. The first steering column216is coupled to the first rack210through the first pinion208. The first rack210is coupled to the first wheel assembly212. The first rack210is coupled to the first EPAS motor204through the coupling belt system206. In this example, the coupling belt system206implements a pulley, a belt, a driven pulley, and a ball nut assembly (BNA). Alternatively, the coupling belt system206may be implemented using any other type of belt and/or pulley system.

In this example, an operator can turn the first steering wheel202, which can cause the first steering column216and the first pinion208to turn. In this example, the turning of the first pinion208causes the first rack210to translate in a first direction or a second direction opposite the first direction to cause the first wheel assembly212and a second wheel assembly opposite the first wheel assembly212to turn in unison toward the first direction or the second direction.

In this example, the first torque sensor214measures a torque (e.g., a steering wheel torque, a steering column torque, etc.) applied by an operator to the first steering wheel202and/or, more generally, the first steering column216. For example, the first torque sensor214can output torque data (e.g., steering wheel torque data, steering column torque data, etc.) representative of a sensed column torque, or a torque applied to the first steering column216via the first steering wheel202. In this example, the first torque sensor214outputs the torque data to the EPAS controller112and the first EPAS motor204. In this example, the EPAS controller112transmits control signal(s) to the first EPAS motor204to control operation of the first EPAS motor204.

In this example, the EPAS controller112generates the control signal(s) based on at least one of the EPAS base assist or the EPAS compliance assist. For example, the EPAS controller112can generate and/or otherwise determine the control signal(s) to adjust a steering response of the rack EPAS system200. In such examples, the EPAS controller112can adjust an EPAS base assist torque with a compliance compensation torque to compensate for mechanical stiffness associated with at least one of the coupling belt system206, the first pinion208, or the first rack210. Advantageously, the EPAS controller112can adjust the EPAS base assist (e.g., increase the EPAS base assist) of the rack EPAS system200to improve the provision of powered assistance to the first steering assembly of the vehicle108, drivability for the operator, and/or the level of customer (e.g., driver, operator, etc.) satisfaction associated with the experience of driving the vehicle108.

FIG. 3is an example column EPAS system300. For example, the column EPAS system300ofFIG. 3can implement the EPAS system110ofFIG. 1. In this example, the column EPAS system300includes the example EPAS controller112ofFIG. 1, a second example steering wheel302, a second example EPAS motor304, an example coupling gear306, a second example pinion307, a third example pinion308, a second example rack310, a second example wheel assembly312, a second example torque sensor314, and a second example steering column316. In this example, one or more of the second steering wheel302, the second EPAS motor304, the coupling gear306, the second pinion307, the third pinion308, the second rack310, the second wheel assembly312, the second torque sensor314, and/or the second steering column316defines a second steering assembly of the vehicle108ofFIG. 1.

In the illustrated example ofFIG. 3, the second steering wheel302is coupled to second steering column316. The second steering column316is coupled to the second rack310through the third pinion308. The second rack310is coupled to the second wheel assembly312. The second steering wheel302is coupled to the second EPAS motor304through the coupling gear306and the second pinion307.

In this example, an operator can turn the second steering wheel302, which can cause the second steering column316and the coupling gear306to turn. In this example, the turning of the coupling gear306causes the third pinion308to turn. In this example, the turning of the third pinion308can cause the second rack310to translate in a first direction or a second direction opposite the first direction to cause the second wheel assembly312and a third wheel assembly opposite the second wheel assembly312to turn in unison toward the first direction or the second direction.

In this example, the second torque sensor314measures a torque (e.g., a steering wheel torque, a steering column torque, etc.) applied by an operator to the second steering wheel302and/or, more generally, the second steering column316. For example, the second torque sensor314can output torque data (e.g., steering wheel torque data, steering column torque data, etc.) representative of a sensed column torque, or a torque applied to the second steering column316via the second steering wheel302. In this example, the second torque sensor314outputs the torque data to the EPAS controller112. In this example, the EPAS controller112transmits control signal(s) to the second EPAS motor304to control operation of the second EPAS motor304. For example, the second EPAS motor304can rotate the second pinion307to provide torque assistance to the turning of the steering shaft through the coupling gear306.

In this example, the EPAS controller112generates the control signal(s) based on at least one of the EPAS base assist or the EPAS compliance assist. For example, the EPAS controller112can generate and/or otherwise output the control signal(s) to adjust a steering response of the column EPAS system300. In such examples, the EPAS controller112can adjust an EPAS base assist torque with a compliance compensation torque to compensate for mechanical stiffness associated with at least one of the coupling gear306, the second pinion307, the third pinion308, or the second rack310. In some such examples, the EPAS controller112can adjust the steering response by adding the compliance compensation torque to an EPAS system of the vehicle108to enable an operator of the vehicle108to move and/or otherwise rotate a steering wheel, such as the first steering wheel202ofFIG. 2and/or the second steering wheel302ofFIG. 3, with increased ease compared to an example without adding the compliance compensation torque.

Advantageously, the EPAS controller112can adjust the EPAS base assist (e.g., increase the EPAS base assist) of the column EPAS system300to improve the provision of powered assistance to the second steering assembly of the vehicle108, drivability for the operator, and/or the level of customer (e.g., driver, operator, etc.) satisfaction associated with the experience of driving the vehicle108.

FIG. 4is a block diagram of an example system400including an example implementation of the EPAS controller112ofFIG. 1. In this example, the system400includes the external computing system(s)104ofFIG. 1and the network106ofFIG. 1. In this example, the EPAS controller112includes an example network interface410, an example sensor interface420, an example derivative determiner430, an example alternate approach determiner440, an example lookup table mapper450, an example compliance compensation torque determiner460, an example command generator470, an example datastore480, and an example bus (e.g., a data bus)490. In this example, the datastore480includes and/or otherwise stores example sensor data482and example lookup table(s)484.

In the illustrated example ofFIG. 4, the EPAS controller112includes the network interface410to obtain information from and/or transmit information to the network106. For example, the network interface410can obtain information including the lookup table(s)484, executable(s), machine readable instructions, etc., from the external computing system(s)104. In such examples, the network interface410can implement a data format and/or protocol such as a HyperText Transfer Protocol (HTTP), an HTTP secure (HTTPS) protocol, a simple message transfer protocol (SMTP), etc.

In the illustrated example ofFIG. 4, the EPAS controller112includes the sensor interface420to obtain information including the sensor data482from sensor(s) included in the vehicle108ofFIG. 1, the sensor data482from the ECU(s)114ofFIG. 1, etc. For example, the sensor interface420can obtain torque data from the first torque sensor214ofFIG. 2, the second torque sensor314ofFIG. 3, a vehicle speed from the ECU(s)114, etc.

In some examples, the sensor interface420implements a bus server (e.g., a controller area network (CAN) bus link or data bus, an SAE J1939 link or data bus, etc.) that (i) receives the sensor data482from an the ECU(s)114or other device(s) communicatively coupled to the network106and/or (ii) transmits the sensor data482to the ECU(s)114or other device(s) communicatively coupled to the network106. In such examples, the sensor data482can have a data format and/or otherwise be based on a protocol such as a CANopen protocol, a CAN in Automation (CiA) protocol, a Society of Automotive Engineers (SAE) J1939 protocol, HTTP, HTTPS protocol, SMTP, etc.

In the illustrated example ofFIG. 4, the EPAS controller112includes the derivative determiner430to calculate and/or otherwise determine a derivative of a function (e.g., a mathematical function). In some examples, the derivative determiner430can determinate the derivative of a function of a real variable to measure the sensitivity to change of the function value (e.g., the output value) with respect to a change in its argument (e.g., the input value). In such examples, the derivative determiner430can execute and/or otherwise implement a differentiation function on a function of interest (e.g., an EPAS base assist, column torque, motor velocity, motor position, and/or vehicle speed determination function(s)). In some examples, the derivative determiner430determines a derivative by applying a derivate filter on a measurement (e.g., a sensed column torque) to determine a measurement derivative (e.g., a sensed column torque derivative). For example, the derivative determiner430can determine a derivative of a sensed column torque to determine a sensed column torque derivative. In some examples, the derivative determiner430can determine a derivative of a position of the first EPAS motor204ofFIG. 2to determine a velocity of the first EPAS motor204.

In the illustrated example ofFIG. 4, the EPAS controller112includes the alternate approach determiner440to determine whether to determine a velocity of an EPAS motor (e.g., a motor velocity), such as the first EPAS motor204or the second EPAS motor304, based on a measurement of the motor velocity from the EPAS motor or a derivative of a position of the EPAS motor (e.g., a motor position). For example, the alternate approach determiner440can determine to determine the motor velocity based on the measurement in response to determining that the EPAS motor is outputting a valid measurement (e.g., a sensor measuring the velocity is responsive and/or otherwise functioning properly). In other examples, the alternate approach determiner440can determine to determine the motor velocity based on the derivative of the motor position in response to determining that the EPAS motor is not outputting a valid measurement (e.g., a sensor measuring the velocity is not responsive and/or otherwise not functioning properly).

In the illustrated example ofFIG. 4, the EPAS controller112includes the lookup table mapper450to map one or more values to one or more multidimensional performance maps, such as lookup tables (LUTs). In some examples, the lookup table mapper450maps at least one of a sensed column torque or a sensed column torque derivative to a first torque (e.g., a first torque value having units of measure in newton-meters (N·m)) using a first two-dimensional (2-D) LUT. In some examples, the lookup table mapper450maps at least one of a motor velocity or a sensed motor position to a second torque (e.g., a second torque in N·m) using a second 2-D LUT. In some examples, the lookup table mapper450maps a vehicle speed to a factor or value (e.g., a scale factor or value, a scaling factor or value, an adjusting factor or value, etc.) (e.g., a numerical factor or value in a range of 0 to 1) using a one-dimensional (1-D) LUT. In such examples, the lookup table(s)484stored in the datastore480can implement at least one of the first 2-D LUT, the second 2-D LUT, or the 1-D LUT.

In the illustrated example ofFIG. 4, the EPAS controller112includes the compliance compensation torque determiner460to determine a compliance compensation torque based on at least one of a sensed column torque, a sensed column torque derivative, a vehicle speed, a motor velocity, or a sensed motor position. For example, the compliance compensation torque determiner460can determine the compliance compensation torque based on at least one of the first torque, the second torque, or the scaling factor as determined by the lookup table mapper450. In such examples, the compliance compensation torque determiner460can determine a first portion of the compliance compensation torque based on a first multiplication of the first torque and the scaling factor. In some such examples, the compliance compensation torque determiner460can determine a second portion of the compliance compensation torque based on a second multiplication of the second torque and the scaling factor. In some such examples, the compliance compensation torque determiner460can determine the compliance compensation torque determiner460based on a sum of the first portion and the second portion.

In the illustrated example ofFIG. 4, the EPAS controller112includes the command generator470to output and/or otherwise generate control signal(s) to an EPAS motor, such as the first EPAS motor204ofFIG. 2and/or the second EPAS motor304ofFIG. 3. In some examples, the command generator470implements the control signal(s) by outputting a current, a voltage, etc., that corresponds to a desired or intended output torque of the EPAS motor. In such examples, the command generator470can output the control signal(s) to command, direct, instruct, invoke, and/or otherwise cause the EPAS motor204,304to rotate at a desired or intended rotational speed to output a desired or intended torque.

In some examples, the command generator470determines and/or generates a control signal to implement a final EPAS assist representative of a final EPAS assist torque to an EPAS motor. For example, the command generator470can determine the final EPAS assist torque based on an EPAS base assist torque and a compliance compensation torque. In such examples, the command generator470can determine the final EPAS assist torque based on a sum of the EPAS base assist torque and the compliance compensation torque.

In the illustrated example ofFIG. 4, the EPAS controller112includes the datastore480to store data (e.g., the sensor data482, the lookup table(s)484, etc.). In this example, the datastore480may be implemented by a volatile memory (e.g., a Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS® Dynamic Random Access Memory (RDRAM®), etc.) and/or a non-volatile memory (e.g., flash memory). The example datastore480may additionally or alternatively be implemented by one or more double data rate (DDR) memories, such as DDR, DDR2, DDR3, DDR4, mobile DDR (mDDR), etc. The example datastore480may additionally or alternatively be implemented by one or more mass storage devices such as hard disk drive(s), compact disk (CD) drive(s), digital versatile disk (DVD) drive(s), solid-state disk drive(s), etc. While in the illustrated example the datastore480is illustrated as a single database, the datastore480may be implemented by any number and/or type(s) of databases. Furthermore, the data stored in the datastore480may be in any data format such as, for example, binary data, comma delimited data, tab delimited data, structured query language (SQL) structures, etc.

In the illustrated example ofFIG. 4, the network interface410, the sensor interface420, the derivative determiner430, the alternate approach determiner440, the lookup table mapper450, the compliance compensation torque determiner460, the command generator470, and/or the datastore480are in communication with the bus490. For example, the bus490corresponds to, is representative of, and/or otherwise implements at least one of an Inter-Integrated Circuit (I2C) bus, a Serial Peripheral Interface (SPI) bus, a Peripheral Component Interconnect (PCI) bus, a CAN bus, an SAE J1939 bus, etc.

While an example manner of implementing the EPAS controller112ofFIGS. 1-3is illustrated inFIG. 4, one or more of the elements, processes and/or devices illustrated inFIG. 4may be combined, divided, re-arranged, omitted, eliminated and/or implemented in any other way. Further, the example network interface410, the example sensor interface420, the example derivative determiner430, the example alternate approach determiner440, the example lookup table mapper450, the example compliance compensation torque determiner460, the example command generator470, the example datastore480, the example sensor data482, the example lookup table(s)484, the example bus490, and/or, more generally, the example EPAS controller112ofFIGS. 1-3may be implemented by hardware, software, firmware and/or any combination of hardware, software and/or firmware. Thus, for example, any of the example network interface410, the example sensor interface420, the example derivative determiner430, the example alternate approach determiner440, the example lookup table mapper450, the example compliance compensation torque determiner460, the example command generator470, the example datastore480, the example sensor data482, the example lookup table(s)484, the example bus490, and/or, more generally, the example EPAS controller112could be implemented by one or more analog or digital circuit(s), logic circuits, programmable processor(s), programmable controller(s), graphics processing unit(s) (GPU(s)), digital signal processor(s) (DSP(s)), application specific integrated circuit(s) (ASIC(s)), programmable logic device(s) (PLD(s)) and/or field programmable logic device(s) (FPLD(s)). When reading any of the apparatus or system claims of this patent to cover a purely software and/or firmware implementation, at least one of the example network interface410, the example sensor interface420, the example derivative determiner430, the example alternate approach determiner440, the example lookup table mapper450, the example compliance compensation torque determiner460, the example command generator470, the example datastore480, the example sensor data482, the example lookup table(s)484, and/or the example bus490is/are hereby expressly defined to include a non-transitory computer readable storage device or storage disk such as a memory, a DVD, a CD, a Blu-ray disk, etc. including the software and/or firmware. Further still, the example EPAS controller112ofFIGS. 1-3may include one or more elements, processes and/or devices in addition to, or instead of, those illustrated inFIG. 4, and/or may include more than one of any or all of the illustrated elements, processes and devices. As used herein, the phrase “in communication,” including variations thereof, encompasses direct communication and/or indirect communication through one or more intermediary components, and does not require direct physical (e.g., wired) communication and/or constant communication, but rather additionally includes selective communication at periodic intervals, scheduled intervals, aperiodic intervals, and/or one-time events.

FIG. 5is a block diagram of example EPAS logic500. In this example, the EPAS logic500can implement the EPAS controller112ofFIGS. 1, 2, 3, and/or4. In some examples, the EPAS logic500is implemented by hardware, software, and/or firmware. For example, the EPAS logic500could be implemented by one or more analog or digital circuit(s), logic circuits, programmable processor(s), programmable controller(s), GPU(s), DSP(s), ASIC(s), PLD(s), and/or FPLD(s).

In the illustrated example ofFIG. 5, the EPAS logic500determines an example final EPAS assist502to be provided to an EPAS motor, such as the first EPAS motor204ofFIG. 2and/or the second EPAS motor304ofFIG. 3, based on an example EPAS base assist504and an example compliance compensation torque506. In this example, the EPAS logic500determines a value of the EPAS base assist504. For example, the EPAS logic500can determine a torque value of the EPAS base assist504based on sensor measurement(s), such as a sensed column torque, a vehicle speed, etc., and/or a combination thereof. In some examples, the EPAS base assist504has a value in a range of 0 to 15 N·m. Alternatively, the EPAS base assist504may have a different value and/or have a value in a different range.

In this example, the EPAS logic500obtains measurement(s) of example sensed column torque508. For example, the EPAS logic500can obtain the measurement(s) of the sensed column torque508from a sensor, such as the first torque sensor214ofFIG. 2and/or the second torque sensor314ofFIG. 3. In other examples, the EPAS logic500can obtain the measurement(s) of the sensed column torque508from an ECU via a bus, such as the bus490ofFIG. 4. In some examples, the EPAS logic500implements the sensor interface420ofFIG. 4by obtaining the measurement(s) of the sensed column torque508.

In the illustrated example ofFIG. 5, the EPAS logic500obtains measurement(s) of example sensed motor velocity510, which is representative of a velocity of an EPAS motor, such as the first EPAS motor204and/or the second EPAS motor304. For example, the EPAS logic500can obtain the measurement(s) of the sensed motor velocity510from a speed sensor (e.g., a proximity switch, a quadrature sensor, etc.) monitoring the EPAS motor and/or, more generally, from the EPAS motor. In other examples, the EPAS logic500can obtain the measurement(s) of the sensed motor velocity510from an ECU via a bus, such as the bus490ofFIG. 4. In some examples, the EPAS logic500implements the sensor interface420ofFIG. 4by obtaining the measurement(s) of the sensed motor velocity510.

In this example, the EPAS logic500determines measurement(s) of example sensed motor position512, which is representative of a position of an EPAS motor, such as the first EPAS motor204and/or the second EPAS motor304. For example, the EPAS logic500can obtain the measurement(s) of the sensed motor position512from a position sensor (e.g., an encoder (e.g., a capacitive encoder, an optical encoder, a rotary encoder, etc.), a resolver, a Hall-effect device, etc.) monitoring the EPAS motor and/or, more generally, from the EPAS motor. In other examples, the EPAS logic500can obtain the measurement(s) of the sensed motor position512from an ECU via a bus, such as the bus490ofFIG. 4. In some examples, the EPAS logic500implements the sensor interface420ofFIG. 4by obtaining the measurement(s) of the sensed motor position512.

In the illustrated example ofFIG. 5, the EPAS logic500obtains measurement(s) of example vehicle speed514, which can be representative of a speed of the vehicle108ofFIG. 1. For example, the EPAS logic500can obtain the measurement(s) of the vehicle speed514from a speed sensor (e.g., a proximity switch, a quadrature sensor, etc.) monitoring an engine, a motor, etc., of the vehicle108and/or, more generally, the vehicle108. In other examples, the EPAS logic500can obtain the measurement(s) of the vehicle speed514from an ECU via a bus, such as the bus490ofFIG. 4. In some examples, the EPAS logic500implements the sensor interface420ofFIG. 4by obtaining the measurement(s) of the vehicle speed514.

In this example, the EPAS logic500includes example compliance compensation torque logic516to determine the compliance compensation torque506. In some examples, the compliance compensation torque logic516implements the lookup table mapper450, the compliance compensation torque determiner460, and/or the lookup table(s)484ofFIG. 4.

In this example, the compliance compensation torque logic516obtains the sensed column torque508, the sensed motor position512, the vehicle speed514, an example sensed column torque derivative518, and example motor velocity520to determine the compliance compensation torque506. In this example, the EPAS logic500determines the sensed column torque derivative516by applying a first example derivative function522on the sensed column torque508. For example, the first derivative function522is implemented by a derivative filter of

In this example, the term fd1 is a first calibration factor (e.g., a first calibration scaling factor), a first calibration value, etc. In some examples, the fd1 is tunable and/or otherwise configurable (e.g., dynamically configurable). In such examples, the term fd1 can have a value in a range of 80 to 200. Alternatively, the term fd1 may have any other value and/or otherwise have a value in any other value range. In some examples, the term fd2 is static and/or otherwise predetermined, preprogrammed, preconfigured, etc. In some examples, the first derivative function522implements the derivative determiner430ofFIG. 4.

In the illustrated example ofFIG. 5, the EPAS logic500determines the motor velocity520responsive to a determination by example alternate approach logic524. In this example, the alternate approach logic524is implemented by a switch. For example, the switch can be hardware implemented by a latch, a relay, a transistor, etc. In other examples, the switch can be implemented by firmware and/or software. In some examples, the alternate approach logic524switches to a first position to output the motor velocity520based on the sensed motor velocity510. For example, the alternate approach logic524can determine to output the sensed motor velocity510as the motor velocity520in response to determining that the sensed motor velocity510is valid and/or is otherwise received from a sensor that is responsive, functioning properly or as expected, etc.

In some examples, the alternate approach logic524switches to a second position to output the motor velocity520based on a derivative of the sensed motor position512, (e.g., a sensed motor position derivative). For example, the alternate approach logic524can determine to output the sensed motor position derivative as the motor velocity520in response to determining that the sensed motor velocity510is not valid and/or is otherwise received from a sensor that is not responsive, functioning improperly or not as expected (e.g., a damaged or broken sensor), etc. In such examples, a second example derivative function523can determine the motor velocity520based on the sensed motor position512. In some examples, the alternate approach logic524implements the alternate approach determiner440ofFIG. 4.

In this example, the EPAS logic500can determine the motor velocity520via the alternate approach logic524by applying a second example derivative function523on the sensed motor position512. For example, the second derivative function523is implemented by a derivative filter of

In this example, the term fd2 is a second calibration factor (e.g., a second calibration scaling factor), a second calibration value, etc. In some examples, the fd2 is tunable and/or otherwise configurable (e.g., dynamically configurable). In such examples, the term fd2 can have a value in a range of 80 to 200. Alternatively, the term fd2 may have any other value and/or otherwise have a value in any other value range. In some examples, the term fd2 is static and/or otherwise predetermined, preprogrammed, preconfigured, etc. In some examples, the second derivative function523implements the derivative determiner430ofFIG. 4. In some examples, the first calibration factor is the same as the second calibration factor. Alternatively, the first calibration factor may be different from the second calibration factor.

In some examples, the compliance compensation torque logic516determines the compliance compensation torque506by applying one or more inputs to the compliance compensation torque506to one or more lookup tables. For example, the compliance compensation torque logic516can determine a value of the compliance compensation torque506to be in a range of 0 to 3 N·m. Alternatively, the compliance compensation torque logic516may have a different value and/or have a value in a different range. In such examples, the compliance compensation torque506is less than the EPAS base assist504.

In the example ofFIG. 5, the compliance compensation torque logic516outputs the compliance compensation torque506to example final EPAS assist determination logic526. For example, the final EPAS assist determination logic526can determine and/or otherwise output the final EPAS assist502based on a sum of the EPAS base assist504and the compliance compensation torque506. In such examples, the final EPAS assist determination logic526can determine the final EPAS assist502to be 7.5 N·m based on a sum of 6 N·m for the EPAS base assist504and 1.5 N·m for the compliance compensation torque506. In some examples, the final EPAS assist determination logic526implements the command generator470ofFIG. 4. For example, the final EPAS assist determination logic526can generate and/or otherwise output a command to the EPAS motor204,304ofFIGS. 2 and/or 3representative of delivering 7.5 N·m of torque to the system200,300ofFIGS. 2 and/or 3.

FIG. 6is a block diagram of an example implementation of the compliance compensation torque logic516ofFIG. 5. In some examples, the compliance compensation torque logic516is implemented by hardware, software, and/or firmware. For example, the compliance compensation torque logic516could be implemented by one or more analog or digital circuit(s), logic circuits, programmable processor(s), programmable controller(s), GPU(s), DSP(s), ASIC(s), PLD(s), and/or FPLD(s).

In the illustrated example ofFIG. 6, the compliance compensation torque logic516includes a first example LUT602, a second example LUT604, a third example LUT606, first example multiplication logic608, second example multiplication logic610, and example sum logic612. In this example, the first LUT602is a 2-D LUT that maps the sensed column torque508and the sensed column torque derivative518ofFIG. 5to a first example torque value614. In this example, the second LUT604is a 2-D LUT that maps the sensed motor position512and the motor velocity520ofFIG. 5to a second example torque value616. In this example, the third LUT606is a 1-D LUT that maps the vehicle speed514ofFIG. 5to an example scaling factor618. For example, the scaling factor618can be a value in a range of 0 to 1. Alternatively, the scaling factor618may be a value in any other range.

In this example, the first multiplication logic608determines and/or otherwise outputs a first example adjusted torque value620based on a multiplication of the first torque value614from the first LUT602and the scaling factor618from the third LUT606. In this example, the second multiplication logic610determines and/or otherwise outputs a second example adjusted torque value622based on a multiplication of the second torque value616from the second LUT604and the scaling factor618from the third LUT606. In this example, the sum logic612determines and/or otherwise outputs the compliance compensation torque506based on a sum of the first adjusted torque value620and the second adjusted torque value622. Advantageously, the compliance compensation torque logic516can output the compliance compensation torque506to be used to adjust and/or otherwise modify the EPAS base assist504ofFIG. 5to compensate for mechanical stiffness in the rack EPAS system200ofFIG. 2and/or the column EPAS system300ofFIG. 3.

Flowcharts representative of example hardware logic, machine readable instructions, hardware implemented state machines, and/or any combination thereof for implementing the EPAS controller112ofFIGS. 1-4and/or the EPAS logic500ofFIG. 5are shown inFIGS. 7-8. The machine readable instructions may be one or more executable programs or portion(s) of an executable program for execution by a computer processor and/or processor circuitry, such as the processor912shown in the example processor platform900discussed below in connection withFIG. 9. The program may be embodied in software stored on a non-transitory computer readable storage medium such as a CD-ROM, a floppy disk, a hard drive, a DVD, a Blu-ray disk, or a memory associated with the processor912, but the entire program and/or parts thereof could alternatively be executed by a device other than the processor912and/or embodied in firmware or dedicated hardware. Further, although the example program is described with reference to the flowcharts illustrated inFIGS. 7-8, many other methods of implementing the example EPAS controller112and/or the EPAS logic500may alternatively be used. For example, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, or combined. Additionally or alternatively, any or all of the blocks may be implemented by one or more hardware circuits (e.g., discrete and/or integrated analog and/or digital circuitry, 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 processor circuitry may be distributed in different network locations and/or local to one or more devices (e.g., a multi-core processor in a single machine, multiple processors distributed across a server rack, etc.).

FIG. 7is a flowchart representative of example machine readable instructions700that may be executed to implement the example EPAS controller112ofFIGS. 1-4and/or the EPAS logic500ofFIG. 5to adjust an example steering response of the rack EPAS system200ofFIG. 2, the column EPAS system300ofFIG. 3, and/or, more generally, the vehicle108ofFIG. 1. The machine readable instructions700ofFIG. 7begin at block702, at which the EPAS controller112and/or the EPAS logic500determine a steering column torque associated with a steering column of an electric power assisted steering system (EPAS) in a vehicle. For example, the sensor interface420(FIG. 4) can obtain the steering column torque from the first torque sensor214ofFIG. 2and/or the second torque sensor314ofFIG. 3. In such examples, the sensor interface420can store the steering column torque in the datastore480(FIG. 4) as the sensor data482(FIG. 4).

At block704, the EPAS controller112and/or the EPAS logic500determine a steering column torque derivative based on the steering column torque. For example, the derivative determiner430(FIG. 4) can execute a derivative function on the steering column torque to determine a steering column torque derivative. In other examples, the first derivative function522(FIG. 5) can output the sensed column torque derivative518(FIG. 5) based on the sensed column torque508(FIG. 5).

At block706, the EPAS controller112and/or the EPAS logic500determine a motor velocity. For example, the alternate approach determiner440(FIG. 4) can determine the motor velocity of the vehicle108based on a sensed motor velocity or a derivative of the sensed motor velocity. In other examples, the alternate approach logic524(FIG. 5) can determine the motor velocity520(FIG. 5) based on the sensed motor velocity510(FIG. 5) or a derivative of the sensed motor position512(FIG. 5).

At block708, the EPAS controller112and/or the EPAS logic500determine the motor position. For example, the sensor interface420can obtain the motor position from a sensor monitoring the first EPAS motor204and/or the second EPAS motor304. In such examples, the sensor interface420can store the motor position in the datastore480as the sensor data482.

At block710, the EPAS controller112and/or the EPAS logic500determine the vehicle speed. For example, the sensor interface420can obtain the vehicle speed from a sensor monitoring an engine, a motor, etc., of the vehicle108. In such examples, the sensor interface420can store the vehicle speed in the datastore480as the sensor data482.

At block712, the EPAS controller112and/or the EPAS logic500determine a compliance compensation torque. For example, the compliance compensation torque determiner460(FIG. 4) can determine a compliance compensation torque to overcome and/or otherwise compensate for mechanical compliance in the rack EPAS system200and/or the column EPAS system300. In other examples, the compliance compensation torque logic516(FIG. 5) can output the compliance compensation torque506(FIG. 5). An example process that may be executed to implement block712is described below in connection withFIG. 8.

At block714, the EPAS controller112and/or the EPAS logic500determine an EPAS assist torque based on an EPAS base assist torque and the compliance compensation torque. For example, the command generator470(FIG. 4) can output a torque, such as a final EPAS assist torque, to the first EPAS motor204and/or the second EPAS motor304, based on the compliance compensation torque.

At block716, the EPAS controller112and/or the EPAS logic500adjusts a steering response of the steering column based on the EPAS base assist torque. For example, the command generator470can output control signal(s) representative of the final EPAS assist torque to the first EPAS motor204to adjust the steering response of the first steering column216, the first steering wheel202, etc., ofFIG. 2. In other examples, the final EPAS assist determination logic526(FIG. 5) can output control signal(s) representative of the final EPAS assist502to the second EPAS motor304to adjust the steering response of the second steering column316, the second steering wheel302, etc., ofFIG. 3. In response to adjusting a steering response of the steering column based on the EPAS base assist torque at block716, the machine readable instructions700ofFIG. 7conclude.

FIG. 8is a flowchart representative of example machine readable instructions800that may be executed to implement the example EPAS controller112ofFIGS. 1-4and/or the EPAS logic500ofFIG. 5to determine an example compliance compensation torque. In some examples, the machine readable instructions800ofFIG. 8are executed to implement block712of the machine readable instructions700ofFIG. 7. The machine readable instructions800ofFIG. 8begin at block802, at which the EPAS controller112and/or the EPAS logic500determine a first torque based on mapping of column torque and column torque derivative to first lookup table. For example, the lookup table mapper450(FIG. 4) can map a measurement of column torque and a derivative of the measure to a first torque value using one of the lookup table(s)484(FIG. 4). In other examples, the compliance compensation torque logic516(FIG. 5) can map the sensed column torque508(FIGS. 5-6) and the sensed column torque derivative518(FIGS. 5-6) to the first torque value614(FIG. 6) using the first lookup table602(FIG. 6).

At block804, the EPAS controller112and/or the EPAS logic500determine a second torque based on a mapping of motor velocity and motor position to a second lookup table. For example, the lookup table mapper450can map a measurement of motor velocity and either (1) a measurement of motor position or (2) a derivative of the measurement of motor velocity to a second torque value using one of the lookup table(s)484. In other examples, the compliance compensation torque logic516can map the motor velocity520(FIGS. 5-6) and the sensed motor position512(FIGS. 5-6) to the second torque value616(FIG. 6) using the second lookup table604(FIG. 6).

At block806, the EPAS controller112and/or the EPAS logic500adjust the first torque based on vehicle speed to determine an adjusted first torque. For example, the compliance compensation torque determiner460(FIG. 4) can map a measurement of the speed of the vehicle108ofFIG. 1to a scaling factor using one of the lookup table(s)484. In such examples, the compliance compensation torque determiner460can adjust the first torque value with the scaling factor to determine an adjusted first torque value. In other examples, the compliance compensation torque logic516can map the vehicle speed514(FIGS. 5-6) to the scaling factor618(FIG. 6) with the third lookup table606(FIG. 6). In such examples, the compliance compensation torque logic516can invoke the first multiplication logic608(FIG. 6) to multiply the first torque value614and the scaling factor618to calculate and/or otherwise determine the first adjusted torque value620.

At block808, the EPAS controller112and/or the EPAS logic500adjust the second torque based on vehicle speed to determine an adjusted second torque. For example, the compliance compensation torque determiner460can map a measurement of the speed of the vehicle108ofFIG. 1to a scaling factor using one of the lookup table(s)484. In such examples, the compliance compensation torque determiner460can adjust the second torque value with the scaling factor to determine an adjusted second torque value. In other examples, the compliance compensation torque logic516can map the vehicle speed514to the scaling factor618with the third lookup table606. In such examples, the compliance compensation torque logic516can invoke the second multiplication logic610(FIG. 6) to multiply the second torque value616and the scaling factor618to calculate and/or otherwise determine the second adjusted torque value622.

At block810, the EPAS controller112and/or the EPAS logic500determine a compliance compensation torque based on a sum of the adjusted first and second torques. For example, the compliance compensation torque determiner460can determine a compliance compensation torque (e.g., an EPAS compliance compensation torque assist) based on a sum of the first adjusted torque and the second adjusted torque. In other examples, the compliance compensation torque logic516can invoke the sum logic612to calculate the compliance compensation torque506(FIGS. 5-6) based on a sum of the first adjusted torque value620and the second adjusted torque value622. In response to determining the compliance compensation torque based on the sum of the adjusted first and second torques, control returns to block714of the machine readable instructions700ofFIG. 7to determine an EPAS assist torque based on an EPAS base assist torque and the compliance compensation torque.

FIG. 9is a block diagram of an example processor platform900structured to execute the instructions ofFIGS. 7-8to implement the EPAS controller112ofFIGS. 1-4and/or the EPAS logic500ofFIG. 5. The processor platform900can be, for example, an ECU (e.g., an automotive or vehicle ECU), a self-learning machine (e.g., a neural network), or any other type of computing device.

The processor platform900of the illustrated example includes a processor912. The processor912of the illustrated example is hardware. For example, the processor912can be implemented by one or more integrated circuits, logic circuits, microprocessors, GPUs, DSPs, or controllers from any desired family or manufacturer. The hardware processor may be a semiconductor based (e.g., silicon based) device. In this example, the processor912implements the example derivative determiner430, the example alternate approach determiner440, the example lookup table mapper450, the example compliance compensation torque determiner460, and the example command generator470ofFIG. 4. In this example, the alternate approach determiner440is represented as “ALT APPROACH DETERMINER” and the compliance compensation torque determiner460is represented as “CC TORQUE DETERMINER.”

The processor912of the illustrated example includes a local memory913(e.g., a cache). The processor912of the illustrated example is in communication with a main memory including a volatile memory914and a non-volatile memory916via a bus918. In some examples, the bus918implements the example bus490ofFIG. 4. The volatile memory914may be implemented by SDRAM, DRAM, RDRAM®, and/or any other type of random access memory device. The non-volatile memory916may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory914,916is controlled by a memory controller.

The processor platform900of the illustrated example also includes an interface circuit920. The interface circuit920may be implemented by any type of interface standard, such as an Ethernet interface, a universal serial bus (USB), a Bluetooth® interface, a near field communication (NFC) interface, and/or a PCI express interface. In this example, the interface circuit920implements the example network interface410and the example sensor interface420ofFIG. 4.

In the illustrated example, one or more input devices922are connected to the interface circuit920. The input device(s)922permit(s) a user to enter data and/or commands into the processor912. The input device(s) can be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, a button, a mouse, a touchscreen, a track-pad, a trackball, an isopoint device, and/or a voice recognition system.

The interface circuit920of the illustrated example also includes a communication device such as a transmitter, a receiver, a transceiver, a modem, a residential gateway, a wireless access point, a protocol gateway (e.g., an industrial protocol gateway), and/or a network interface to facilitate exchange of data with external machines (e.g., computing devices of any kind) via a network926. For example, the network926ofFIG. 9can implement the network106ofFIG. 1. The communication can be via, for example, an Ethernet connection, a digital subscriber line (DSL) connection, a telephone line connection, a coaxial cable system, a satellite system, a line-of-site wireless system, a cellular telephone system, etc.

The processor platform900of the illustrated example also includes one or more mass storage devices928for storing software and/or data. Examples of such mass storage devices928include floppy disk drives, hard drive disks, compact disk drives, Blu-ray disk drives, redundant array of independent disks (RAID) systems, and DVD drives. In this example, the one or more mass storage devices928implement the example datastore480ofFIG. 4, which stores the example sensor data482and the example lookup tables484ofFIG. 4.

The machine executable instructions932ofFIGS. 7-8may be stored in the mass storage device928, in the volatile memory914, in the non-volatile memory916, and/or on a removable non-transitory computer readable storage medium such as a CD or DVD.

A block diagram illustrating an example software distribution platform1005to distribute software such as the example computer readable instructions932ofFIG. 9to third parties is illustrated inFIG. 10. The example software distribution platform1005may be implemented by any computer server, data facility, cloud service, etc., capable of storing and transmitting software to other computing devices. The third parties may be customers of the entity owning and/or operating the software distribution platform. For example, the entity that owns and/or operates the software distribution platform may be a developer, a seller, and/or a licensor of software such as the example computer readable instructions932ofFIG. 9. The third parties may be consumers, users, retailers (e.g., a car dealership, a vehicle repair facility, etc.), OEMs (e.g., a vehicle manufacturer, a vehicle service or part supplier, etc.), etc., who purchase and/or license the software for use and/or re-sale and/or sub-licensing. In the illustrated example, the software distribution platform1005includes one or more servers and one or more storage devices. The storage devices store the computer readable instructions932, which may correspond to the example computer readable instructions700,800ofFIGS. 7-8, as described above. The one or more servers of the example software distribution platform1005are in communication with a network1010, which may correspond to any one or more of the Internet and/or any of the example networks106,926described above. In some examples, the one or more servers are responsive to requests to transmit the software to a requesting party as part of a commercial transaction. Payment for the delivery, sale and/or license of the software may be handled by the one or more servers of the software distribution platform and/or via a third party payment entity. The servers enable purchasers and/or licensors to download the computer readable instructions932from the software distribution platform1005. For example, the software, which may correspond to the example computer readable instructions700,800ofFIGS. 7-8, may be downloaded to the example processor platform900, which is to execute the computer readable instructions932to implement the EPAS controller112ofFIGS. 1-4and/or the EPAS logic500ofFIG. 5. In some example, one or more servers of the software distribution platform1005periodically offer, transmit, and/or force updates to the software (e.g., the example computer readable instructions932ofFIG. 9) to ensure improvements, patches, updates, etc. are distributed and applied to the software at the end user devices.

From the foregoing, it will be appreciated that example systems, methods, apparatus, and articles of manufacture have been disclosed that improve EPAS in a vehicle. The disclosed systems, methods, apparatus, and articles of manufacture modify an EPAS base torque to aide an EPAS motor to overcome mechanical compliance and improve the degradation in the on-center feel response associated with a steering wheel of the vehicle. Advantageously, the disclosed systems, methods, apparatus, and articles of manufacture offer a performance benefit over conventional EPAS systems that rely upon the EBAS base torque for purposes of providing an EPAS assist to an operator of the vehicle. As a result of the aforementioned advantages and/or benefits, the disclosed systems, methods, apparatus, and articles of manufacture improve the provision of powered assistance to the steering assembly of the vehicle, improves drivability for the operator, and improves the level of customer (e.g., driver, operator, etc.) satisfaction associated with the experience of driving the vehicle.

Example methods, apparatus, systems, and articles of manufacture to improve EPAS in a vehicle are disclosed herein. Further examples and combinations thereof include the following:

Example 1 includes an apparatus comprising memory, and a processor to execute instructions to determine a steering column torque associated with a steering column of an electronic power assisted steering (EPAS) system in a vehicle, determine a steering column torque derivative based on a derivative of the steering column torque, determine a compliance compensation torque based on the steering column torque and the steering column torque derivative, and adjust a steering response of the steering column based on the compliance compensation torque.

Example 2 includes the apparatus of example 1, wherein the EPAS system is a column EPAS system or a rack EPAS system, and the processor is to obtain the steering column torque from a sensor of the column EPAS system or the rack EPAS system.

Example 3 includes the apparatus of example 1, wherein the processor is to increase a first EPAS assistance torque by the compliance compensation torque to generate a second EPAS assistance torque, and deliver the second EPAS assistance torque to a motor of the EPAS system, the steering response adjusted in response to the delivering of the second EPAS assistance torque.

Example 4 includes the apparatus of example 1, wherein the processor is to determine a position of a motor included in the EPAS system, and determine a velocity of the motor based on (i) a derivative of the position of the motor or (ii) sensor data from a sensor measuring the velocity of the motor.

Example 5 includes the apparatus of example 1, wherein the processor is to determine a value based on a mapping of the steering column torque and the steering column torque derivative to the value in a lookup table, and determine an adjusted value based on a multiplication of the value and a speed of the vehicle, the compliance compensation torque based on the adjusted value.

Example 6 includes the apparatus of example 1, wherein the processor is to determine a value based on a mapping of (i) a velocity of a motor included in the EPAS system and (ii) a position of the motor to the value in a lookup table, and determine an adjusted value based on a multiplication of the value and a speed of the vehicle, the compliance compensation torque based on the adjusted value.

Example 7 includes the apparatus of example 1, wherein the processor is to determine a first value based on a first mapping of (i) the steering column torque and (ii) the steering column torque derivative to the first value in a first lookup table, determine a first adjusted value based on a first multiplication of the first value and a speed of the vehicle, determine a second value based on a second mapping of (iii) a velocity of a motor included in the EPAS system and (iv) a position of the motor to the second value in a second lookup table, determine a second adjusted value based on a second multiplication of the second value and the speed of the vehicle, and determine a sum of the first adjusted value and the second adjusted value, the compliance compensation torque based on the sum.

Example 8 includes a non-transitory computer readable storage medium comprising instructions that, when executed, cause a machine to at least determine a steering column torque associated with a steering column of an electronic power assisted steering (EPAS) system in a vehicle, determine a steering column torque derivative based on a derivative of the steering column torque, determine a compliance compensation torque based on the steering column torque and the steering column torque derivative, and adjust a steering response of the steering column based on the compliance compensation torque.

Example 9 includes the non-transitory computer readable storage medium of example 8, wherein the EPAS system is a column EPAS system or a rack EPAS system, and the instructions, when executed, cause the machine to obtain the steering column torque from a sensor of the column EPAS system or the rack EPAS system.

Example 10 includes the non-transitory computer readable storage medium of example 8, wherein the instructions, when executed, cause the machine to increase a first EPAS assistance torque by the compliance compensation torque to generate a second EPAS assistance torque, and deliver the second EPAS assistance torque to a motor of the EPAS system, the steering response adjusted in response to the delivering of the second EPAS assistance torque.

Example 11 includes the non-transitory computer readable storage medium of example 8, wherein the instructions, when executed, cause the machine to determine a position of a motor included in the EPAS system, and determine a velocity of the motor based on (i) a derivative of the position of the motor or (ii) sensor data from a sensor measuring the velocity of the motor.

Example 12 includes the non-transitory computer readable storage medium of example 8, wherein the instructions, when executed, cause the machine to determine a value based on a mapping of the steering column torque and the steering column torque derivative to the value in a lookup table, and determine an adjusted value based on a multiplication of the value and a speed of the vehicle, the compliance compensation torque based on the adjusted value.

Example 13 includes the non-transitory computer readable storage medium of example 8, wherein the instructions, when executed, cause the machine to determine a value based on a mapping of (i) a velocity of a motor included in the EPAS system and (ii) a position of the motor to the value in a lookup table, and determine an adjusted value based on a multiplication of the value and a speed of the vehicle, the compliance compensation torque based on the adjusted value.

Example 14 includes the non-transitory computer readable storage medium of example 8, wherein the instructions, when executed, cause the machine to determine a first value based on a first mapping of (i) the steering column torque and (ii) the steering column torque derivative to the first value in a first lookup table, determine a first adjusted value based on a first multiplication of the first value and a speed of the vehicle, determine a second value based on a second mapping of (iii) a velocity of a motor included in the EPAS system and (iv) a position of the motor to the second value in a second lookup table, determine a second adjusted value based on a second multiplication of the second value and the speed of the vehicle, and determine a sum of the first adjusted value and the second adjusted value, the compliance compensation torque based on the sum.

Example 15 includes a method comprising determining a steering column torque associated with a steering column of an electronic power assisted steering (EPAS) system in a vehicle, determining a steering column torque derivative based on a derivative of the steering column torque, determining a compliance compensation torque based on the steering column torque and the steering column torque derivative, and adjusting a steering response of the steering column based on the compliance compensation torque.

Example 16 includes the method of example 15, wherein adjusting the steering response includes increasing a first EPAS assistance torque by the compliance compensation torque to generate a second EPAS assistance torque, and delivering the second EPAS assistance torque to a motor of the EPAS system.

Example 17 includes the method of example 15, further including determining a position of a motor included in the EPAS system, and determining a velocity of the motor based on (i) a derivative of the position of the motor or (ii) sensor data from a sensor measuring the velocity of the motor.

Example 18 includes the method of example 15, further including determining a value based on a mapping of the steering column torque and the steering column torque derivative to the value in a lookup table, and determining an adjusted value based on a multiplication of the value and a speed of the vehicle, the compliance compensation torque based on the adjusted value.

Example 19 includes the method of example 15, further including determining a value based on a mapping of (i) a velocity of a motor included in the EPAS system and (ii) a position of the motor to the value in a lookup table, and determining an adjusted value based on a multiplication of the value and a speed of the vehicle, the compliance compensation torque based on the adjusted value.

Example 20 includes the method of example 15, further including determining a first value based on a first mapping of (i) the steering column torque and (ii) the steering column torque derivative to the first value in a first lookup table, determining a first adjusted value based on a first multiplication of the first value and a speed of the vehicle, determining a second value based on a second mapping of (iii) a velocity of a motor included in the EPAS system and (iv) a position of the motor to the second value in a second lookup table, determining a second adjusted value based on a second multiplication of the second value and the speed of the vehicle, and determining a sum of the first adjusted value and the second adjusted value, the compliance compensation torque based on the sum.