Patent Description:
According to the present invention, there is provided a method of controlling torque induced yaw in a vehicle according to claim <NUM> and vehicle according to claim <NUM>. Preferred features are set out in the dependent claims.

The present invention, in accordance with one or more various embodiments, is described in detail with reference to the following figures. The drawings are provided for purposes of illustration only and merely depict typical or example embodiments. These drawings are provided to facilitate an understanding of the concepts disclosed herein and should not be considered limiting of the breadth, scope, or applicability of these concepts. It should be noted that for clarity and ease of illustration, these drawings are not necessarily made to scale.

The present invention is directed to operating a vehicle in a vehicle yaw mode. In some embodiments, each wheel of the vehicle may be independently controlled. In some embodiments, the vehicle may be configured, when certain conditions are met (e.g., when the speed of the vehicle is low enough and/or when the front wheels are aligned parallel to the direction of the vehicle), to operate in the vehicle yaw mode. In some embodiments, while operating in the vehicle yaw mode, the vehicle is configured such that forward torque is provided to the outer wheels of the vehicle and backward torque is provided to the inner wheels of the vehicle. The vehicle yaw mode allows a vehicle to pivot around a point under the chassis of the vehicle.

As referred to herein, the term "vehicle yaw mode" refers to any kind of mode or technique for operating a vehicle such that outer and inner wheels of the vehicle are provided with torques in opposite directions. In some embodiments, the vehicle yaw mode refers to independent control of each wheel. For example, the outer wheels of the vehicle are operated with forward torques and the inner wheels of the vehicle are operated with backward torque. In some embodiments, the vehicle yaw mode refers to independently controlling each wheel to induce a yawing of the vehicle. For example, the outer front wheel of the vehicle is operated with a first forward torque, the outer rear wheel is operated with a second forward torque, the inner front wheel of the vehicle is operated with a first backward torque and the inner rear wheel is operated with a second backward torque.

As referred to herein, the term "inner wheel" refers to a wheel that is closer to the direction of a turn of the vehicle. For example, during a right turn, the right wheels of the vehicle may be considered "inner wheels," while the left wheels of the vehicle may be considered "outer wheels. " In another example, during a left turn, the left wheels of the vehicle may be considered "inner wheels," while the right wheels of the vehicle may be considered "outer wheels.

<FIG> shows a top view of an illustrative vehicle <NUM> in accordance with some embodiments of the present invention. In some embodiments, vehicle <NUM> may be a coupe, a sedan, a truck, a bus, or any other type of vehicle.

In some embodiments, vehicle <NUM> may include a front left wheel <NUM>, front right wheel <NUM>, rear left wheel <NUM>, and rear right wheel <NUM>. In some embodiments, front left wheel <NUM> and front right wheel <NUM> may be connected via a drive shaft (not shown). In some embodiments, the inner wheels (e.g., front left wheel <NUM> and rear left wheel <NUM>) may provide backward torques (TR1 and TR2) to the vehicle. In some embodiments, the outer wheels (e.g., front right wheel <NUM> and rear right wheel <NUM>) may provide forward torques (TF1 and TF2) to the vehicle. For example, the front right wheel <NUM> may provide forward torque TF1 to the vehicle and the rear right wheel <NUM> may provide forward torque TF2 to the vehicle. In some embodiments, the inner wheels (e.g., front left wheel <NUM> and rear left wheel <NUM>) may provide backward torques (TR1 and TR2) to the vehicle. For example, the front left wheel <NUM> may provide backward torque TR1 to the vehicle and the rear left wheel <NUM> may provide backward torque TR2 to the vehicle.

In some embodiments, the forward torques (TF1 and TF2) may cause forward forces to be exerted on the outer wheels by the ground. For example, the front forces may provide forward force components (FF1 and FF2). In some embodiments, the backward torques (TR1 and TR2) may cause rearward force components (FR1 and FR2) to be exerted on the inner wheels of the vehicle by the ground. According to some embodiments, when an incline of the vehicle is relatively low (e.g., <NUM>% incline grade or less), a sum of the forward torque (TF1 and TF2) is substantially equal to a sum of the rearward torque (TR1 and TR2). On a relatively consistent ground surface, this causes the vehicle to rotate <NUM> about a point <NUM> under the chassis of the vehicle. Assuming the forward torque to the outer wheels and the backward torque to the inner wheels are maintained, an exemplary equation illustrating that the sum of these forces is satisfied as follows: <MAT>.

In some embodiments, assuming the forward torque to the outer wheels and the backward torque to the inner wheels are maintained, the vehicle yaw rate is expected to be proportional to a sum of the forward torques (TF1 and TF2) and the rearward torques (TR1 and TR2), as illustrated by an exemplary equation as follows: <MAT>.

In some embodiments, the sum of the backward torques (TR1 and TR2) exerted on the inner wheels (<NUM> and <NUM>) and the sum of the forward torques (TF1 and TF2) exerted on the outer wheels (<NUM> and <NUM>) causes the vehicle to rotate <NUM> about point <NUM> under the chassis of the vehicle while the vehicle remains in a substantially static location. For example, as the backward torque is applied to the inner wheels and the forward torque is applied to the outer wheels, the forces cause the vehicle to rotate about a central point while the vehicle remains in the same location. In some embodiments, the forward torques (TF1 and TF2) may cause the outer wheels (<NUM> and <NUM>) to slip relative to the ground and backward torques (TR1 and TR2) may cause the inner wheels (<NUM> and <NUM>) to slip relative to the ground. As the outer wheels (<NUM> and <NUM>) slip forward and the inner wheels (<NUM> and <NUM>) slip backward, the combination of the resulting forward force components (FF1 and FF2) and the rearward force components (FR1 and FR2) act on the vehicle and rotate <NUM> the vehicle about point <NUM>. For example, the force components may cause the vehicle to pivot around a point under the chassis of the vehicle.

In some embodiments, vehicle <NUM> may operate in vehicle yaw mode in both directions. <FIG> depicts a left yaw; however, those skilled in the art will recognize that similar techniques can be used to perform a right yaw.

In some embodiments, vehicle <NUM> may include a front left wheel <NUM>, front right wheel <NUM>, rear left wheel <NUM>, and rear right wheel <NUM>. In some embodiments, vehicle <NUM> may include a motor <NUM>. Motor <NUM> may be connected to wheel <NUM> (e.g., via a belt, chains, gears, or any other connection device). Vehicle <NUM> may also include motors <NUM>, <NUM>, <NUM>, which are similarly connected to wheels <NUM>, <NUM>, <NUM>, respectively. In some embodiments, motors <NUM>, <NUM>, <NUM>, and <NUM> may be configured to provide forward torque or backward torque to their respective wheels <NUM>, <NUM>, <NUM>, and <NUM>.

In some embodiments, motors <NUM>, <NUM>, <NUM>, and <NUM> may be any kind of motors capable of generating power (e.g., gas motors, electric motors). In some embodiments, motors <NUM>, <NUM>, <NUM>, and <NUM> may be devices connected to a primary single motor (not shown) and configured to independently transfer power from a single motor to wheels <NUM>, <NUM>, <NUM>, and <NUM>, respectively.

In some embodiments, vehicle <NUM> may include processing circuitry. In some embodiments, the processing circuitry may include an on-board vehicle computer that is capable of controlling multiple features or capabilities of the vehicles. In some embodiments, processing circuitry may be communicatively connected with user inputs of the vehicle, sensors of the vehicle, and transitory or non-transitory memory (e.g., memory that stores institutions for operating the vehicle).

In some embodiments, vehicle <NUM> may include a plurality of sensors. For example, some of the plurality of sensors may include sensors for determining speed of vehicle <NUM>, the degree to which the front wheels <NUM>, <NUM> of vehicle <NUM> are turned, vehicle rotation sensor to determine the rotation of the vehicle in the vehicle yaw mode, wheel rotation sensors to determine the slipping of each of the wheels <NUM>, <NUM>, <NUM>, and <NUM> of vehicle <NUM>, and accelerometer sensor.

In some embodiments, the processing circuitry of vehicle <NUM> may be capable of directly controlling features of vehicle <NUM> with or without user input. In another example, processing circuitry may be able to actuate motor <NUM> to provide a specified amount of backward or forward torque to wheel <NUM>. Similar, processing circuitry may be able to actuate any of motors <NUM>, <NUM>, <NUM> to provide a specified amount of backward or forward torque to wheels <NUM>, <NUM>, <NUM>, respectively.

In some embodiments, the processing circuitry of vehicle <NUM> may engage the vehicle yaw mode when one or more conditions are met. For example, a user may press a button or turn a lever to request the vehicle yaw mode. In some embodiments, instead, or in addition to the user request, the processing circuitry may determine whether front wheels <NUM> and <NUM> are aligned to be parallel to the vehicle. In some embodiments, for the vehicle yaw mode to activate, wheels <NUM> and <NUM> are aligned to be parallel to the vehicle. For the yaw mode to reduce turn radius and increase efficiency in turning the vehicle, the wheels may be within <NUM> % turn of the center. For example, the steering wheel can be positioned within <NUM>% of the center. In some embodiments, when the front wheels are not aligned to be parallel to the vehicle, the processing circuitry may automatically rotate the steering wheel to align the front wheels <NUM> and <NUM> to be parallel to the vehicle.

In some embodiments, while operating in vehicle yaw mode, the processing circuitry of vehicle <NUM> may engage an open-loop mode. In the open-loop mode, the processing circuitry may provide forward torque to outer wheels <NUM>, <NUM> (e.g., by using motors <NUM> and <NUM>). In some embodiments, the processing circuitry may apply backward torque to the inner wheels <NUM> and <NUM> of vehicle <NUM>, for example, by using motors <NUM> and <NUM>. The open-loop mode performs the vehicle yaw mode without adjusting the output variables (e.g., output of torque is not adjusted based on a sensor, rather torque is ramped up to or set to a specific amount based on user input). For example, the torque applied to the inner wheels and outer wheels is ramped up to <NUM> Newton-meters (Nm). In some embodiments, ramping the open-loop forward torque and open-loop backward torque includes gradually increasing the torque. For example, the torque is continuously increased from zero to <NUM>. In some embodiments, the torque is increased incrementally in a stepwise pattern up to <NUM>. For example, the torque is increased in <NUM> increments (e.g., <NUM>, <NUM>, <NUM>, <NUM>, etc.) up to <NUM>. In another example, the torque is increased in varying increments (e.g., <NUM>, <NUM>, <NUM>) (e.g., <NUM>, <NUM>, <NUM>, <NUM>, etc.).

In some embodiments, vehicle <NUM> may operate in a vehicle yaw mode. A left yaw is described herein, however those skilled in the art will recognize that a similar technique may be used to perform a right yaw.

The foregoing <FIG> is merely illustrative of the principles of this invention, and various modifications may be made by those skilled in the art without departing from the scope of the invention. The above-described embodiments are presented for purposes of illustration and not of limitation. For example, any combination of motors and drivetrains may be used in a vehicle in accordance with the present invention. In some examples, the rear motors of <FIG> may be used in combination with a single front motor. According to such a configuration, the vehicle includes three motors (one front motor and two rear motors). In another example, a single rear motor may be used in combination with the two front motors of <FIG>. According to such a configuration, the vehicle includes three motors (two front motors and one rear motor).

In some embodiments, the vehicle yaw mode may be used on a vehicle with any combination of axles in accordance with the present invention. For example, the vehicle may have a steered axle and a non-steered axle. The steered axle may provide one wheel or a plurality of wheels that will steer the vehicle in a direction. In some embodiments, the steered axle may be provided at the rear of the vehicle. For example, as the user provides an input to steer the vehicle, the rear wheels will turn. In some embodiments, the non-steered axle may provide one wheel or a plurality of wheels that will provide torque to the vehicle. In some embodiments, the vehicle may provide two axles (e.g., steered and non-steered axles). For example, the configuration displayed in vehicle <NUM> (<FIG>). In some embodiments, the vehicle may provide three or more axles. For example, the three or more axles may provide at least one steered axle and two or more non-steered axles. According to such a configuration, when the at least one steered axle is turned such that the steered axle is aligned to be parallel to the vehicle, the vehicle yaw mode may be engaged. As the vehicle yaw mode is engaged, the at least one steered axle may include a motor at each wheel. In some embodiments, each motor of the at least one steered axle may provide forward torque to the vehicle on one wheel and backward torque to the vehicle at the other wheel attached to the steering axle. In some embodiments, the two or more non-steered axles may provide backward torque on the same side of the vehicle corresponding to steering axle, and provide forward torque on the same side of the vehicle corresponding to the steering axle, in accordance with the present invention.

In some embodiments, the vehicle yaw mode can be used in any vehicle capable of distributing torque and/or braking to the wheels of the vehicle. For example, the vehicle may provide for independent distributing of torque to the outer wheels and the inner wheels. According to another example, the vehicle may provide for independent distribution of torque and braking to the inner wheels and the outer wheels. The foregoing enables a driver to have accurate control of the center of rotation, and thus turn radius, in the vehicle yaw mode.

<FIG> shows a graph <NUM> of torque and wheel speed for a vehicle yaw control strategy in accordance with some embodiments of the present invention. While operating in open-loop mode, torque curve <NUM> shows the open-loop torque (e.g., in Nm) that is applied to each of the wheels. More specifically, torque curve <NUM> shows how torque is increased over time. The torque is initially increased rapidly and then the rate of increase decreases over time. As shown, the torque increases from <NUM> to a maximum torque permitted by each wheel. When each wheel begins to slip, the rotational speed of the wheel increases. Upon the wheels braking grip with the ground and slipping, processing circuitry engages the closed-loop mode. In some embodiments, the processing circuitry controls wheel speed based on wheel speed curve <NUM>. Wheel speed curve <NUM> shows the maximum wheel speed (e.g., in MPH) allowed based on accelerator position, which is represented as a percentage along the x-axis of graph <NUM>. For example, when a wheel speed increases and approaches wheel speed curve <NUM>, the processing circuitry can adjust the torque to the wheel and/or apply braking to prevent the wheel speed from exceeding wheel speed curve <NUM>.

In some embodiments, graph <NUM> shows a vehicle that operates in open-loop mode with torque curve <NUM> and switches upon the wheels slipping to the closed-loop mode with the wheel speed based on wheel speed curve <NUM>. To make the process efficient, the processing circuitry reduces time between switching from the torque curve <NUM> to the wheel speed curve <NUM>. For example, as the torque ramps up, the higher initial torque on the torque curve <NUM> can aide in braking the grip on the wheels, which results in switching to the wheel speed curve <NUM> in the closed-loop mode. Table <NUM> reproduced below, shows data represented on the graph.

In some embodiments, the actuator input corresponds to the accelerator pedal.

<FIG> depicts an illustrative flow diagram of a process <NUM> for operating a vehicle in several modes in accordance with several embodiments of the invention. In some embodiments, process <NUM> may be executed by processing circuitry of vehicle <NUM> (<FIG>). It should be noted that process <NUM> or any step thereof could be performed on, or provided by, the system of <FIG>. In addition, one or more steps of process <NUM> may be incorporated into or combined with one or more other steps described herein.

Process <NUM> begins at <NUM>, where the processing circuitry may initiate a vehicle yaw mode. For example, the processing circuitry may initiate the vehicle yaw mode after the user issues a command requesting such mode (e.g., by pressing an approximate button, or via any other input). The processes circuitry may determine whether one or more yaw mode initialization criteria are met. For example, whether a turn amount of the front wheels of the vehicle is satisfied (e.g., the turn angle of wheels <NUM> and <NUM>)). In some embodiments, the processing circuitry may use a gauge connected to a steering column to determine the turn angle of the wheels.

Process <NUM> continues at <NUM>, where the processing circuitry may proceed depending on the outcome of step <NUM>. For example, if the number of initialization criteria is satisfied, the processing circuitry may proceed to step <NUM>. At <NUM>, the processing circuitry may engage the open-loop mode. As part of the open-loop mode of the vehicle yaw mode, the processing circuitry may perform steps <NUM>-<NUM>. Steps <NUM>-<NUM> may be performed in any order, or simultaneously.

At <NUM>, the processing circuitry may provide an open-loop forward torque to the outer wheels of the vehicle. For example, the processing circuitry may actuate motors <NUM> and <NUM> to provide forward torque to wheels <NUM> and <NUM>. The open-loop torque is a ramp-up of torque to the wheel without adjusting the torque based on monitoring of any sensor data. For example, in the open-loop mode, torque ramps up regardless of the accelerator pedal input. Generally, the torque is increased until the vehicle engages closed-loop mode.

At <NUM>, the processing circuitry may provide an open-loop backward torque to inner wheels of the vehicle. For example, the processing circuitry may actuate motors <NUM> and <NUM> to provide backward torque to wheels <NUM> and <NUM>. The open-loop torque is a ramp-up of torque to the wheel without adjusting the torque based on monitoring of any sensor data. For example, in the open-loop mode, torque ramps up regardless of the accelerator pedal input. Generally, the torque is increased until the vehicle engages closed-loop mode.

In some embodiments, for each of steps <NUM> and <NUM>, the processing circuitry may actuate motors <NUM> and <NUM> to provide open-loop forward torque to wheels <NUM> and <NUM> and actuate motors <NUM> and <NUM> to provide open-loop backward torque to wheels <NUM> and <NUM>.

At <NUM>, the processing circuitry may monitor each wheel's rotation for slippage. For example, the processing circuitry may monitor the rotation of each wheel <NUM>, <NUM>, <NUM>, and <NUM> based on the sensors at each motor <NUM>, <NUM>, <NUM>, and <NUM>. In some embodiments, the processing circuitry may monitor the rotation of each wheel based on a sensor at each wheel. Based on rotational speed (e.g., <NUM> revolutions per second) the processing circuitry may determine that a wheel is slipping.

Process <NUM> continues at <NUM>, where the processing circuitry may proceed depending on the outcome of step <NUM>. In some embodiments, at step <NUM> the processing circuitry may determine if a sufficient number of wheels of the vehicle are slipping. A sufficient number of wheels slipping varies based on the circumstances. In some embodiments, the sufficient number of wheels slipping may be <NUM> wheels. In another embodiment, the sufficient number of wheels slipping may be <NUM> wheels. In another embodiment, the sufficient number of wheels slipping may be <NUM> wheels. In some embodiments, in response to determining that a sufficient number of wheels are slipping, at <NUM>, the processing circuitry may engage a closed-loop mode. For example, as two diagonal wheels are slipping, the processes circuitry may engage the closed-loop mode. In another example, the circuitry may determine that <NUM> wheels are slipping and determine that is a sufficient number of wheels slipping and engage the closed-loop mode. On the other hand, if there is no sufficient amount of wheels slipping, the processing circuitry may continue to monitor each wheel for slippage at <NUM>.

As part of the closed-loop mode of the vehicle yaw mode, the processing circuitry may perform steps <NUM>-<NUM>. Steps <NUM>-<NUM> may be performed in any order, or simultaneously. In some embodiments, steps <NUM>-<NUM> may be adjusted based on user input. For example, the amount of torque provided to the inner wheels of the vehicle and to the outer wheels of the vehicle may be proportional to how far the user presses the accelerator pedal or may be determined based on a look-up table. In some embodiments, the amount of forward torque provided to the outer wheels is greater than the amount of backward torque provided to the inner wheels. In some embodiments, if the user stops pressing the accelerator pedal, the processing circuitry may stop providing torque to any of the wheels of the vehicle. In some embodiments, as the accelerator pedal is pressed, the rotation of the vehicle (i.e., yaw rate) about a pivot point is performed. For example, as the user presses the accelerator pedal, the vehicle will begin to rotate about the pivot point, and as the user increases the throttle by pressing the accelerator pedal further, the rotation of the vehicle increases. According to another example, as the user releases the accelerator pedal, the amount of forward torque provided to the outer wheels and backward torque provided to the inner wheels is reduced and the vehicle stops rotating.

In some embodiments, at <NUM>, the processing circuitry may monitor the rotation of each wheel. As discussed with open-loop mode, sensors in the vehicle monitor each wheel's rotational speed.

In some embodiments, at <NUM>, the processing circuitry may monitor the vehicle yaw rate. In some embodiments, the vehicle yaw rate is determined by one or more vehicle rotation sensors. The vehicle's rotation sensors provide data indicative of the rotation of the vehicle. In some embodiments, the control circuitry may be communicatively connected to one or more orientation sensors that provide data indicative of the orientation of vehicle <NUM> in 3D space. For example, orientation sensors <NUM> of <FIG> may provide data indicative of a pitch angle of vehicle <NUM>, yaw angle of vehicle <NUM>, and roll angle of vehicle <NUM>.

In some embodiments, the process <NUM> continues at <NUM>, where the processing circuitry may adjust torque applied to each wheel based on the vehicle rotation and vehicle yaw rate. In some embodiments, the processing circuitry may adjust forward torque to each wheel of the outer wheels and backward torque to each wheel of the inner wheels, based on each wheel's respective rotation and the vehicle yaw rate. In some embodiments, the amount of forward torque provided to the outer wheels and backward torque provided to the inner wheels is based on the amount the accelerator pedal is pressed. For example, the amount of torque may be proportional to the amount the accelerator pedal is pressed or may be determined using a look-up table. In some embodiments, the forward torque to wheels <NUM> and <NUM> is higher than the backward torque to wheels <NUM> and <NUM>. In some embodiments, the forward torque to wheels <NUM> and <NUM> is lower than the backward torque to wheels <NUM> and <NUM>. In some embodiments, the forward torque at each wheel <NUM> and <NUM> and the backward torque at each wheel <NUM> and <NUM> varies. For example, the value of the backward torque at wheel <NUM> may be approximately similar to the forward torque at wheel <NUM>, a wheel that is diagonal from wheel <NUM>. In another example, the value of the torque at each wheel <NUM>, <NUM>, <NUM> and <NUM> can be different. The torque can be adjusted based on the rotational speed of each wheel, so that when the wheel is on low friction surface, a rotational speed does not exceed a rotation threshold to prevent wheel and drivetrain wear. In another example, a first forward torque at the outer front wheel with a low friction surface (e.g., sandy terrain, icy terrain) can cause the wheel to have a high rotational speed (e.g., <NUM> revolutions per second), while a similar forward torque at the outer rear wheel with high friction surface (e.g., gravel terrain) can cause the wheel to have moderate rotational speed (e.g., <NUM> revolutions per second). Accordingly, the forward torque applied to the outer front wheel and backward torque applied to the inner front wheel may be adjusted to reduce the rotation speed.

<FIG> depicts an illustrative flow diagram of a process 500A for operating a vehicle on an even surface in accordance with several embodiments of the invention.

In some embodiments, process 500A may be executed by processing circuitry of vehicle <NUM> (<FIG>). It should be noted that process 500A or any step thereof could be performed on, or provided by, the system of <FIG>. In addition, one or more steps of process 500A may be incorporated into or combined with one or more other steps described herein.

Process 500A begins at 502A, where the processing circuitry may monitor an incline of the vehicle. An incline surface can be identified by sensors monitoring the orientation of the vehicle. At 504A, the processing circuitry determines that the vehicle is on an even surface (e.g., less than <NUM>% incline grade). At 506A, the processing circuitry may provide forward torque to the outer wheels that is equal to the backward torque to the inner wheels. In some embodiments, the processing circuitry at 508A may determine that the vehicle is on an uneven surface (e.g., greater than <NUM>% incline grade). The vehicle may be on an incline surface, a banked surface or a combination thereof. In response to determining that the vehicle is on the uneven surface, process 500A proceeds to 510A, which starts process 500B (<FIG>).

<FIG> depicts an illustrative flow diagram of a process 500B for operating a vehicle on an uneven surface in accordance with several embodiments of the invention. In some embodiments, process 500B may be executed by processing circuitry of vehicle <NUM> (<FIG>). It should be noted that process 500B or any step thereof could be performed on, or provided by, the system of <FIG>. In addition, one or more steps of process 500B may be incorporated into or combined with one or more other steps described herein.

Process 500B begins at 510A, where the processing circuitry continues from process 500A, where the vehicle is determined to be on an uneven surface. At 502B, the processing circuitry may monitor the incline of the vehicle. For example, to determine whether the vehicle is in incline position or in a banked position.

Process 500B continues at 504B, where the processing circuitry may determine that the vehicle is in an incline position or in a banked position. An incline position/banked position can be identified by sensors monitoring the orientation of the vehicle. For example, the processing circuitry may determine that the vehicle is in the incline position with the front wheels being disposed higher than the rear wheels. In another example, the processing circuitry may determine that the vehicle is in the banked position with the outer wheels (i.e., front outer wheel and rear outer wheel) being disposed higher than the inner wheels (i.e., front inner wheel and rear inner wheel).

Process 500B continues at 506B, where the processing circuitry may proceed depending on the outcome of decision 504B. For example, the processing circuitry may determine that the vehicle is in the incline position with the front wheels higher than the rear wheels. In another example, the processing circuitry may determine that the vehicle is on the incline position with the rear wheels higher than the front wheels. Process 500B continues to 508B, to determine if the front wheels of the vehicle are higher position than rear wheels. If the front wheels are higher (i.e., vehicle is facing up the incline), at 510B, the processing circuitry applies forward torque to the outer wheels, such that a sum of the forward torque to the outer wheels is greater than the sum of the backward torque to the inner wheels. On the other hand, if the rear of the vehicle is higher (i.e., vehicle is facing down the incline), at 512B, the processing circuitry applies backward torques to the inner wheels, such that a sum of the backward torque to the inner wheels is greater than the sum of the forward torque to the outer wheels. For example, the processing circuitry may provide reduced backward torque to the inner wheels as compared to the forward torque to the outer wheels (or additional forward torque to the outer wheels as compared to the backward torque to the inner wheels) because gravity is providing a backward force on the vehicle.

If on the other hand, as process 500B continues at 504B, the processing circuitry determines that the vehicle is in the banked position. Process 500B continues at 514B, the processing circuitry may proceed depending on the outcome of step 504B. For example, the processing circuitry may determine that the vehicle is in a banked position with the outer wheels (i.e., front outer wheel and rear outer wheel) being disposed higher than the inner wheels (i.e., front inner wheel and rear inner wheel). Based on the determination of the surface being banked towards one direction, the processing circuitry may adjust the torques applied to each of the wheels to achieve a vehicle rotation rate in accordance with the present invention. For example, the processing circuitry may provide increased torque to the wheels on the higher side of the vehicle as compared to the wheels on the lower side of the vehicle because the bank causes the higher wheels to carry less of the vehicle weight than the lower wheels.

In some embodiments, as process 500B continues at 504B, the processing circuitry determines that the vehicle is in a combination of an inclined position and a banked position. In such a position, one of the wheels of the vehicle is higher than the other three wheels. For example, the front outer wheel is higher than the front inner wheel, rear outer wheel, and rear inner wheel. The processing circuitry, in response to determining the vehicle is in the combination of inclined and banked positions, may adjust the torques applied to each of the wheels independently to achieve a vehicle yaw rate in accordance with the present invention. For example, the processing circuitry may provide increased torque to the wheels on the higher side of the vehicle as compared to the wheels on the lower side of the vehicle because the bank and incline cause the higher wheels to carry less of the vehicle weight than the lower wheels. In some embodiments, the vehicle may apply torque to each wheel to maintain slippage of each of the wheel as the vehicle rotates (yaws) about a substantially static location on the inclined and banked surface.

Process 500B continues to 516B, to determine if the outer wheels of the vehicle are higher position than inner wheels or if it's the other way around. If the outer wheels are higher (i.e., vehicle is facing the incline sideways with side with forward torque being higher), at 518B, the processing circuitry applies backward torque to the inner wheels, such that a sum of the backward torque to the inner wheels is greater than the sum of the forward torque to the outer wheels. On the other hand, if the inner side of the vehicle is higher (i.e., vehicle is facing the incline sideways with the side with backward torque higher), at 520B, the processing circuitry may apply forward torque to the outer wheels, such that a sum of forward torque to the outer wheels is greater than the sum of backward torque to the inner wheels.

In some embodiments, the difference in forward torque applied to the outer wheels and the backward torque applied to the inner wheels is a function of an angle of the incline of the vehicle. For example, an angle of the incline of the vehicle on an <NUM>% incline grade, has a proportionately greater difference between the forward torque than the backward torque as compared against an angle of the incline of the vehicle on a <NUM>% incline grade.

<FIG> depicts an illustrative flow diagram of process for engaging a closed-loop mode of the vehicle, in accordance with some embodiments of the invention. As shown in <FIG>, according to some embodiments, a process <NUM> may be executed by processing circuitry of vehicle <NUM> (<FIG>). It should be noted that process <NUM> or any step thereof could be performed on, or provided by, the system of <FIG>. In addition, one or more steps of process <NUM> may be incorporated into or combined with one or more other steps described herein (e.g., incorporated into steps of processes <NUM>, 500A, 500B, 700A, 700B, 800A, and 800B).

Process <NUM> begins at <NUM>, where the processing circuitry may monitor each wheel for slippage. For example, the processing circuitry may monitor each wheel <NUM>, <NUM>, <NUM> and <NUM> for wheel slippage. Process <NUM> continues at <NUM>, where the processing circuitry may determine if a sufficient number of wheels are slipping based on a target number of wheels slipping. In some embodiments, the vehicle has sensors at each wheel or at each motor connected to the wheels. Based on information provided from the sensors, the processing circuitry may determine when a wheel is slipping. In some embodiments, the processing circuitry may, in response to determining a sufficient number of wheels of the vehicle are slipping, at <NUM> engage a closed-loop mode. A sufficient number of wheels slipping may be <NUM> wheels, <NUM> wheels or <NUM> wheels. In some embodiments, two wheels slipping are diagonal to each other (e.g., front outer wheel and rear inner wheel).

<FIG> depicts an illustrative flow diagram of processes for operating a vehicle in a vehicle yaw mode, in accordance with some embodiments of the invention. As shown in <FIG>, according to some embodiments, a process 700A may be executed by processing circuitry of vehicle <NUM> (<FIG>). It should be noted that process 700A or any step thereof could be performed on, or provided by, the system of <FIG>. In addition, one or more steps of process 700A may be incorporated into or combined with one or more other steps described herein (e.g., incorporated into steps of processes <NUM>, 500A, 500B, <NUM>, 700B, 800A, and 800B).

Process 700A begins at 702A, where the processing circuitry may monitor vehicle yaw rate. For example, the processing circuitry may monitor positional sensors around the vehicle to monitor the vehicle yaw rate. Process 700A continues at 704A, where the processing circuitry compares the measured vehicle yaw rate against a vehicle yaw target rate T1. If the processing circuitry determines that the vehicle yaw rate is greater than the vehicle yaw target rate ("Yes" at 704A), then at 706A the processing circuitry adjusts the torque applied to the wheels. In some embodiments, if the vehicle yaw rate is too fast, the processing circuitry adjusts torque applied to the wheels to adjust the yaw rate. In some embodiments, the processing circuitry may reduce torque applied to each wheel, or may apply brakes to each wheel to reduce the yaw rate within the target yaw rate. If on the other hand, processing circuitry determines that the vehicle yaw rate is less than the vehicle yaw target rate ("No" at 704A), then 702A is repeated.

<FIG> depicts an illustrative flow diagram of processes for operating a vehicle in a vehicle yaw mode, in accordance with some embodiments of the invention. As shown in <FIG>, according to some embodiments, process 700B may be executed by processing circuitry of vehicle <NUM> (<FIG>). It should be noted that processes 700B or any step thereof could be performed on, or provided by, the system of <FIG>. In addition, one or more of processes 700B may be incorporated into or combined with one or more other steps described herein (e.g., incorporated into steps of processes <NUM>, 500A, 500B, <NUM>, 700A, 800A, and 800B).

Process 700A begins at 702A, where the processing circuitry may perform one or more initialization checks. The initialization checks can include confirming wheel alignment, drive mode, vehicle speed, periphery checks, geo-fencing, and vehicle health. In some embodiments, additional or alternative checks can be performed to determine when to disengage vehicle yaw mode. For example, when the vehicle is on a relatively high friction surface, the vehicle yaw mode can be disengaged. A high friction surface can be identifying by monitoring wheel rotation and the amount of torque applied to the wheels. If a relatively high amount of torque is applied to the wheels and the wheels are not rotating after a predetermined period (e.g., <NUM> seconds, <NUM> seconds, etc.), this may indicate a relatively high friction surface. In such a situation, the vehicle yaw mode can be disengaged to prevent tire and drivetrain wear. The process 700B at 704B monitors for obstructions (via obstruction detection sensors <NUM>) around the vehicle. The vehicle may have sensors around the vehicle monitoring for obstruction. For example, a sensor can monitor in a blind spot for objects which would interfere with the yaw of the vehicle. If the processing circuitry determines that an obstruction exist ("Yes" at 704B), then at 708B, the processing circuitry disengages the vehicle yaw mode. In some embodiments, if the vehicle yaw rate is engaged and a person walks alongside the vehicle, the processing circuitry identifies the obstruction (e.g., person walking), and stops the vehicle yaw. If on the other hand, processing circuitry determines that no obstructions exist ("No" at 704B), then at 706B, vehicle yaw mode is permitted to proceed.

<FIG> depicts an illustrative flow diagram of processes for operating a vehicle in a vehicle yaw mode, in accordance with some embodiments of the invention. As shown in <FIG>, according to some embodiments, a process 800A may be executed by processing circuitry of vehicle <NUM> (<FIG>). It should be noted that process 800A or any step thereof could be performed on, or provided by, the system of <FIG>. In addition, one or more of the steps of process 800A may be incorporated into or combined with one or more other steps described herein (e.g., incorporated into steps of processes <NUM>, 500A, 500B, <NUM>, 700A, 700B, and 800B).

Process 800A begins at 802A, where the processing circuitry may monitor vehicle yaw rate. For example, the processing circuitry may monitor the rotation of the vehicle based on positioning sensors on the vehicle. Process 800A continues at 804A, where the processing circuitry may monitor rotation of each of the wheels <NUM>, <NUM>, <NUM> and <NUM>. For example, the processing circuitry may monitor for wheel slippage of each wheel of the vehicle. Process 800A continues at 806A, where the processing circuitry may proceed depending on the outcomes of step 804A. At 806A, the processing circuitry may compare the rotation of each wheel <NUM>, <NUM>, <NUM>, and <NUM> to a target spin rate. In some embodiments, the processing circuitry determines that at least one of the wheels is higher than the rotation of the other wheels. For example, it is the intent for a sufficient number of wheels to spin, however, the spinning of each of the wheels should be relatively similar as compared to a target spin rate. For example, if the delta between the rotation of the outer wheels (front outer wheel and rear outer wheel) is greater than a wheel spin threshold, the processing circuitry may proceed to step 808A, to adjust torque to a diagonal wheel to balance the torque applied to the other wheels. In some examples, processing circuitry may adjust torque to an adjacent wheel to balance the torque applied to the other wheels. In yet another example, the processing circuitry may adjust torque to a wheel that is spinning higher than the rotation to the other wheels. Otherwise, if no adjustments are necessary process 800A may return to step 802A and continue monitoring the vehicle yaw rate.

<FIG> depicts an illustrative flow diagram of processes for operating a vehicle in a vehicle yaw mode, in accordance with some embodiments of the invention. As shown in <FIG>, according to some embodiments, process 800B may be executed by processing circuitry of vehicle <NUM> (<FIG>). It should be noted that processes 800B or any step thereof could be performed on, or provided by, the system of <FIG>. In addition, one or more of processes 800B may be incorporated into or combined with one or more other steps described herein (e.g., incorporated into steps of processes <NUM>, 500A, 500B, <NUM>, 700A, 700B, and 800A).

Process 800B begins at 802B, where the processing circuitry may monitor vehicle yaw rate. For example, the processing circuitry may monitor the rotation of the vehicle based on positioning sensors on the vehicle. As part of the closed-loop mode of the vehicle yaw mode, the processing circuitry may perform steps 804B, 806B, 816B and 818B. Steps 804B, 806B, 816B and 818B may be performed in any order, or simultaneously. Process 800B continues at 804B, where the processing circuitry may monitor rotational speed of the inner rear wheel. Process 800B continues at 806B, where the processing circuitry may monitor rotational speed of the inner front wheel. Separately, the process 800B continues at 816B, where the processing circuitry may monitor rotational speed of the outer rear wheel. Process 800B continues at 818B, where the processing circuitry may monitor rotational speed of the outer front wheel.

Process 800B continues at 808B, where the processing circuitry determines that at least one of the inner wheels (inner front wheel and inner rear wheel) is rotating at a higher revolution rate than the other inner wheel. If the processing circuitry determines that there is an imbalance in the rotation of each of the inner wheels ("Yes" at 808B), then at 810B the processing circuitry adjusts (e.g., increasing or decreasing) the torque to each of the inners wheels (e.g., front inner wheel and rear inner wheel) to narrow the imbalance. Process 800B continues at 812B, where processing circuitry determines if there is an imbalance in the rotation of the inner wheels as compared to the rotation of the outer wheels. At 808B, in response to determining that there is an imbalance in the rotation of each of the inner wheels ("No" at 808B) then at 812B processing circuitry determines if there is an imbalance in the rotation of the inner wheels as compared to the outer wheels.

Process 800B continues at 820B, where the processing circuitry determines that at least one of the outer wheels (outer front wheel and outer rear wheel) is rotating at a higher revolution rate than the other outer wheel. If the processing circuitry determines that there is an imbalance in the rotation of each of the outer wheels ("Yes" at 820B), then at 822B the processing circuitry adjusts (e.g., increasing or decreasing) the torque to each of the outer wheels (e.g., front outer wheel and rear outer wheel) to narrow the imbalance. Process 800B continues at 812B. At 820B, in response to determining that there is an imbalance in the rotation of each of the inner wheels ("No" at 820B) then at 812B processing circuitry determines if there is an imbalance in the rotation of the inner wheels as compared to the outer wheels.

If the processing circuitry determines that there is an imbalance in the rotation of the outer wheels and the inner wheel ("Yes" at 820B), then at 814B the processing circuitry adjusts (e.g., increasing or decreasing) the torque to each of the wheels (e.g., outer front wheel, outer rear wheel, inner front wheel, and inner rear wheel) to narrow the imbalance. At 812B, in response to determining that there is an imbalance in the rotation of each of the wheels ("No" at 812B) then 802B is repeated.

<FIG> depicts a system diagram of an illustrative system <NUM> including control circuitry <NUM>, inputs variables <NUM>, <NUM>, <NUM>, sensors <NUM>-<NUM>, motor brake controller <NUM> and output variables <NUM>-<NUM>, in accordance with several embodiments of the invention. Illustrative control circuitry <NUM> includes processor <NUM>, and memory <NUM>.

Control circuitry <NUM> may include hardware, software, or both, implemented on one or more modules configured to provide control of front wheels and rear wheels of a vehicle. In some embodiments, processor <NUM> includes one or more microprocessors, microcontrollers, digital signal processors, programmable logic devices, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), or any suitable combination thereof. In some embodiments, processor <NUM> is distributed across more than one processor or processing units. In some embodiments, control circuitry <NUM> executes instructions stored in memory for managing a quad motor vehicle <NUM>, or a triple motor vehicle. In some embodiments, memory <NUM> is an electronic storage device that is part of control circuitry <NUM>. For example, memory may be configured to store electronic data, computer instructions, applications, firmware, or any other suitable information. In some embodiments, memory <NUM> includes random-access memory, read-only memory, hard drives, optical drives, solid-state devices, or any other suitable memory storage devices, or any combination thereof. For example, memory may be used to launch a start-up routine.

In some embodiments, the system may include obstruction detection sensors <NUM>, wheel rotation sensors <NUM>, vehicle rotation sensors <NUM>, orientation sensor <NUM>, speed sensor <NUM>, accelerometer sensor <NUM>. In some embodiments, the control circuitry may be communicatively connected to one or more obstruction detection sensors <NUM> to monitor for obstructions around the vehicle. In some embodiments, the control circuitry may be communicatively connected to one or more wheel rotation sensors <NUM> that provide data indicative of the wheel rotation of each of wheels of the vehicle <NUM>, <NUM>, <NUM>, <NUM>. In some embodiments, based on the data provided by the wheel rotation sensor, the control circuitry may determine if a wheel is slipping and may apply corrective actions if necessary. In some embodiments, the control circuitry may be communicatively connected to one or more vehicle rotation sensors <NUM> that provide data indicative of the rotation of the vehicle. In some embodiments, the control circuitry may be communicatively connected to one or more orientation sensors <NUM> that provide data indicative of the orientation of vehicle <NUM> in 3D space. For example, orientation sensors <NUM> may provide data indicative of a pitch angle of vehicle <NUM>, yaw angle of vehicle <NUM>, and roll angle of vehicle <NUM>. In some embodiments, the control circuitry may be communicatively connected to a speed sensor <NUM> that provides the current speed of vehicle <NUM>. In some embodiments, the control circuitry may be communicatively connected to an accelerometer sensor <NUM> that provides the current acceleration of vehicle <NUM>.

Illustrative system <NUM> of <FIG> may be used to perform any or all of the illustrative steps of processes <NUM>, 500A, <NUM>, <NUM>, 700A, 700B, 800A and 800B of <FIG>, <FIG>, <FIG>, <FIG>, <FIG>, <FIG>, and <FIG>. Illustrative system <NUM> of <FIG> may be used to control any of the wheel / motor configurations shown in <FIG> and <FIG>, in accordance with the present invention. In some embodiments, not all components shown in <FIG> need be included in system <NUM>.

It is contemplated that the steps or descriptions of each of <FIG> may be used with any other embodiment of this invention.

Furthermore, it should be noted that any of the devices or equipment discussed in relation to <FIG> and <FIG> could be used to perform one or more of the steps in <FIG>.

It will be apparent to those of ordinary skill in the art that methods involved in the present invention may be embodied in a computer program product that includes a computer-usable and/or readable medium. For example, such a computer-usable medium may consist of a read-only memory device, such as a CD-ROM disk or conventional ROM device, or a random access memory, such as a hard drive device or a computer diskette, having a computer-readable program code stored thereon. It should also be understood that methods, techniques, and processes involved in the present invention may be executed using processing circuitry. The processing circuitry, for instance, may be a general purpose processor, a customized integrated circuit (e.g., an ASIC), or a field-programmable gate array (FPGA) within any vehicle <NUM>.

The processes discussed above in connection with <FIG> are intended to be illustrative and not limiting. More generally, the above description is meant to be exemplary and not limiting. In addition, the systems and methods described herein may be performed in real-time. It should also be noted, the systems and/or methods described above may be applied to, or used in accordance with, other systems and/or methods.

Claim 1:
A method for controlling torque induced vehicle yaw in a vehicle (<NUM>, <NUM>), the method comprising:
initiating (<NUM>) a vehicle yaw mode;
in response to initiating the vehicle yaw mode, engaging (<NUM>) an open-loop mode;
while operating in the open-loop mode:
providing (<NUM>) an open-loop forward torque to outer wheels (<NUM>, <NUM>) of the vehicle;
providing (<NUM>) an open-loop backward torque to inner wheels (<NUM>, <NUM>) of the vehicle; and
monitoring (<NUM>) each wheel of the outer wheels and each wheel of the inner wheels for slippage;
in response to determining (<NUM>, <NUM>) that a sufficient number of wheels of the vehicle are slipping, engaging (<NUM>, <NUM>) a closed-loop mode; and
while operating in the closed-loop mode;
monitoring (<NUM>) rotation of each wheel;
monitoring (<NUM>) a vehicle yaw rate; and
adjusting forward torque to each wheel of the outer wheels and backward torque to each wheel of the inner wheels, based on each wheel's respective rotation and the vehicle yaw rate,
the method further comprising:
monitoring (502A, 502B) an incline of the vehicle based on a tilt sensor;
determining (504B) that the vehicle is in an inclined position or a banked position based on the incline of the vehicle, wherein
the inclined position includes front wheels of the vehicle being in a higher position than rear wheels or the rear wheels of the vehicle being in a higher position than the front wheels, and
the banked position includes outer wheels of the vehicle being in a higher position than the inner wheels or the inner wheels of the vehicle being in a higher position than the outer wheels; and
comparing the incline of the vehicle against an incline vehicle threshold; and
in response to determining that the incline of the vehicle is below the incline vehicle threshold, initiating the vehicle yaw mode.