Eng/MotTrqVecSat first 2 entries are motor providing all torque and no motor. In the Engine vector is that considering if motor gives all torque or is it referring to engine?
3 views (last 30 days)
Show older comments
I went under the mask of the ECMS block trying to understand how is the optimization done. I found that each timestep many of the variables have 202 entries which I noticed comes from the breakpoint calculation done for the motor's torque. The possible torque vector includes 1) Motor provides all torque 2) no motor and 3) linspace of min to max motor torque (200 entries). By this calculation all the other values including H, InfeasibleFlagVec, etc. have 202 entries. I want to know if the first 2 entries of for example EngTrqVecSat are considering 1)Motor provides all torque 2) no motor or 1) Engine provides all torque 2) no engine.
Finally I want to ask if by any chance the Eng/MotTrqVecSat are pairs giving an optimal torque for its specific column (in the 202 entries) or if they are independent from each other. I went through each block and from what I understand they work independently and they are the result of their own constraints. I know for a fact that the InfeasibleFlagVec is a logical operator which flags if any of the components are infeasible; however, I want to make sure I am not missing any connection.
0 Comments
Accepted Answer
Kevin Oshiro
on 19 Feb 2025
Hi Luis,
Please look at the following subsystem under the mask of the ECMS block:
Equivalent Consumption Minimization Strategy/Energy Management/Powertrain Constraints/Engine Constraint
At the bottom left, you can see that WhlTrqCmd - WhlMotTrqVecSat = WhlEngTrqCmd. WhlEngTrqCmd will be reflected to get torque at the engine, and it is saturated by it's torque limits which results in EngTrqVecSat.
So to answer your questions about EngTrqVecSat first 2 elements in the vector means: 1) motor provides all torque (no engine), 2) no motor (engine provides all torque).
For your second question about Eng/MotTrqVecSat vectors, they are dependent on each other as listed in the above equation. The Motor vector is based on the control vector torque split (202 elements), it is then saturated based on it's torque vs. speed constraints, which results in WhlMotTrqVecSat. The Engine will then provide the difference between the WhlTrqCmd and WhlMotTrqVecSat.
Hopefully this answers your questions, please let me know if it doesn't.
Regards,
Kevin
More Answers (0)
See Also
Categories
Find more on Powertrain Blockset in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!