Issue using combined slip wheel 2Dof in high slip scenarios

12 次查看(过去 30 天)
Hello, I've been working on creating a virtual environment to test our formula student car's Simulink controls model. We've previously used Carmaker but are looking to cut that tie due to the black-box nature and some future implementation goals, hence the fully Simulink-based approach. I'm having issues with the simulation rate. Our model runs on the target (speedgoat in the car) at a rate of 0.01s/step, but the integration and derivatives within, the "Combined Slip Wheel 2DOF" model I'm using to simulate a real car environment, blow up at high tire slip. I've temporarily alleviated this globally using 0.001s steps, but any aggressive throttle or steering application blows up the simulation. I've attempted to make its parent block atomic and run 0.0001s steps, but the Fx relaxation integrator step size moves to 0 for some reason.
I think the issue is transient response but I'm currently using the "Performance Car 225 40R19" tire so idk what I could change.
Any help would be greatly appreciated. Thank you!

回答(1 个)

Umar
Umar 2025-9-1,1:32

Hi @Justin,

Thank you for your detailed explanation of the problem. From your description, the instability during high-slip conditions is very likely due to numerical stiffness in the tire dynamics, rather than simply the global step size. The collapse of the Fx relaxation integrator under aggressive inputs is a strong indication of this.

Although I * do not have access to Simulink* to test your model directly, I have reviewed MathWorks documentation and open-access resources to provide guidance, so please follow recommendations below.

1. Solver Strategy: Stiff tire dynamics often destabilize with coarse fixed-step solvers (e.g., 0.01 s). Using a variable-step solver such as `ode15s` or `ode23tb` can help diagnose stiffness. Once confirmed, fixed-step settings can be refined for real-time deployment.

Reference: MathWorks – Choose an ODE Solver https://www.mathworks.com/help/simulink/ug/choose-an-ode-solver.html

2. Relaxation Length & Damping: Relaxation length dictates how quickly tire forces build under slip. If too short, integrators can collapse during aggressive transients. Increasing this parameter or adding damping improves stability.

Reference: Wikipedia – Relaxation length https://en.m.wikipedia.org/wiki/Relaxation_length

3. Subsystem Solver Consistency:Extremely small steps in atomic subsystems (e.g., 1e‑4 s) can cause conflicts if nested integrators inherit incompatible solver settings. Consistent solver configuration across the model hierarchy is recommended.

Reference: MathWorks – Control Execution of Atomic Subsystems https://www.mathworks.com/help/simulink/ug/atomic-subsystems.html

4. Transient Input Shaping: Abrupt throttle or steering inputs excite high-frequency dynamics, which can destabilize the tire model. Smoothing inputs via ramps or filters reduces stiffness while maintaining maneuver fidelity.

Reference: MathWorks – Modeling Vehicle Dynamics https://www.mathworks.com/help/vdynblks/ug/modeling-vehicle-dynamics.html

Summary of Actionable Steps

Step 1: Run the model with a variable-step solver to verify stiffness-related instability. Step2: Adjust tire relaxation length and/or damping to stabilize transient responses. Step3: Ensure consistent solver configuration across all subsystems. Step 4: Replace abrupt control inputs with smoothed or ramped profiles.

These steps reflect best practices from both MathWorks documentation and open-access literature. While I cannot directly test in Simulink, following this workflow should help you stabilize the model under high-slip conditions.

Good luck!

类别

Help CenterFile Exchange 中查找有关 Tires and Vehicles 的更多信息

产品


版本

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by