The steering wheel behaves strangely: it starts spinning continuously and seems to ignore the angle value I send.
I am not sure if motorMoveTo() is the right function for this use case or if this is even possible with the SDK.
I also wonder whether the target angle is related to the available motor torque, or if those are completely independent.
Any advice would be greatly appreciated.
Thank you!
0 Votes
Gudsen Support Support posted
12 days ago
AdminBest Answer
MotorMoveTo() can be used to rotate the base to a specified absolute angle. This interface actually achieves PID like position control through the constant force effect of DirectInput:
Calculate the target speed based on the error between the targetAngle and the current steering wheel angle.
Use speedRPM to limit the target speed.
Calculate the constant force output based on the speed error and drive the steering wheel to move towards the target position.
Therefore, targetAngle is not a direct torque command. However, the actual constant force output and whether the steering wheel can reach and maintain the target position will be affected by the following factors:
The maximum torque that the base can output.
The force feedback strength set in MOZA Pit House.
The MOZA Pit House is equipped with natural damping, natural friction, adaptive damping, centering force, and other force feedback effects.
MotorMoveTo() is mainly used to move to a fixed target position and is not designed for high-frequency, continuous synchronization of external steering wheel angles. If called repeatedly in a loop, the interface will stop and restart the previous motion, causing instability or abnormal behavior.
Continuous rotation is not a normal phenomenon. Please call motorStopMove() first, and if necessary, call stopForceFeedback() to stop the force feedback output. Suggestion before retesting:
Set the limit angle to 1080 °, corresponding to approximately -540 ° to+540 °.
First, test with a single, small angle target, such as+30 °, and use lower speed and force feedback intensity.
Do not continuously call motorMoveTo() to update the target during initial testing.
0 Votes
1 Comments
Gudsen Support Supportposted
12 days ago
AdminAnswer
MotorMoveTo() can be used to rotate the base to a specified absolute angle. This interface actually achieves PID like position control through the constant force effect of DirectInput:
Calculate the target speed based on the error between the targetAngle and the current steering wheel angle.
Use speedRPM to limit the target speed.
Calculate the constant force output based on the speed error and drive the steering wheel to move towards the target position.
Therefore, targetAngle is not a direct torque command. However, the actual constant force output and whether the steering wheel can reach and maintain the target position will be affected by the following factors:
The maximum torque that the base can output.
The force feedback strength set in MOZA Pit House.
The MOZA Pit House is equipped with natural damping, natural friction, adaptive damping, centering force, and other force feedback effects.
MotorMoveTo() is mainly used to move to a fixed target position and is not designed for high-frequency, continuous synchronization of external steering wheel angles. If called repeatedly in a loop, the interface will stop and restart the previous motion, causing instability or abnormal behavior.
Continuous rotation is not a normal phenomenon. Please call motorStopMove() first, and if necessary, call stopForceFeedback() to stop the force feedback output. Suggestion before retesting:
Set the limit angle to 1080 °, corresponding to approximately -540 ° to+540 °.
First, test with a single, small angle target, such as+30 °, and use lower speed and force feedback intensity.
Do not continuously call motorMoveTo() to update the target during initial testing.
Hi,
I am working on a driving rig connected to a real physical vehicle.
The steering wheel is a Lamborghini x MOZA Revuelto mounted on an R25 Ultra Torque wheelbase.
My goal is to reproduce the real steering wheel position on the MOZA wheel (between -540° and +540°).
I am currently using the Motion Control API:
However, the behavior is not what I expected.
The steering wheel behaves strangely: it starts spinning continuously and seems to ignore the angle value I send.
I am not sure if
motorMoveTo()is the right function for this use case or if this is even possible with the SDK.I also wonder whether the target angle is related to the available motor torque, or if those are completely independent.
Any advice would be greatly appreciated.
Thank you!
0 Votes
Gudsen Support Support posted 12 days ago Admin Best Answer
MotorMoveTo() can be used to rotate the base to a specified absolute angle. This interface actually achieves PID like position control through the constant force effect of DirectInput:
Calculate the target speed based on the error between the targetAngle and the current steering wheel angle.
Use speedRPM to limit the target speed.
Calculate the constant force output based on the speed error and drive the steering wheel to move towards the target position.
Therefore, targetAngle is not a direct torque command. However, the actual constant force output and whether the steering wheel can reach and maintain the target position will be affected by the following factors:
The maximum torque that the base can output.
The force feedback strength set in MOZA Pit House.
The MOZA Pit House is equipped with natural damping, natural friction, adaptive damping, centering force, and other force feedback effects.
MotorMoveTo() is mainly used to move to a fixed target position and is not designed for high-frequency, continuous synchronization of external steering wheel angles. If called repeatedly in a loop, the interface will stop and restart the previous motion, causing instability or abnormal behavior.
Continuous rotation is not a normal phenomenon. Please call motorStopMove() first, and if necessary, call stopForceFeedback() to stop the force feedback output. Suggestion before retesting:
Set the limit angle to 1080 °, corresponding to approximately -540 ° to+540 °.
First, test with a single, small angle target, such as+30 °, and use lower speed and force feedback intensity.
Do not continuously call motorMoveTo() to update the target during initial testing.
0 Votes
1 Comments
Gudsen Support Support posted 12 days ago Admin Answer
MotorMoveTo() can be used to rotate the base to a specified absolute angle. This interface actually achieves PID like position control through the constant force effect of DirectInput:
Calculate the target speed based on the error between the targetAngle and the current steering wheel angle.
Use speedRPM to limit the target speed.
Calculate the constant force output based on the speed error and drive the steering wheel to move towards the target position.
Therefore, targetAngle is not a direct torque command. However, the actual constant force output and whether the steering wheel can reach and maintain the target position will be affected by the following factors:
The maximum torque that the base can output.
The force feedback strength set in MOZA Pit House.
The MOZA Pit House is equipped with natural damping, natural friction, adaptive damping, centering force, and other force feedback effects.
MotorMoveTo() is mainly used to move to a fixed target position and is not designed for high-frequency, continuous synchronization of external steering wheel angles. If called repeatedly in a loop, the interface will stop and restart the previous motion, causing instability or abnormal behavior.
Continuous rotation is not a normal phenomenon. Please call motorStopMove() first, and if necessary, call stopForceFeedback() to stop the force feedback output. Suggestion before retesting:
Set the limit angle to 1080 °, corresponding to approximately -540 ° to+540 °.
First, test with a single, small angle target, such as+30 °, and use lower speed and force feedback intensity.
Do not continuously call motorMoveTo() to update the target during initial testing.
0 Votes
Login or Sign up to post a comment