There is no model of an emergency brake in Chrono::Vehicle. A simple way of adding that would be by providing a function that would lock the wheel spindles (i.e., remove their rotation degrees of freedom).
What scenario are you trying to model? In other words, why isn’t it enough to just apply maximum brake input (+1)?
--Radu
--
You received this message because you are subscribed to the Google Groups "ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
projectchron...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/projectchrono/a69c4b93-61a5-47d9-8f0b-10b476c2529fn%40googlegroups.com.
Well, that is true for the “standard” 4-wheel, front-steering configuration. Granted, the most common topology. For Chrono::Vehicle, where one can model all sorts of configurations, implementing an emergency/parking brake would also require user input for which axles that would be applied. I’ll consider adding that.
For now, you want to implement this outside the Chrono::Vehicle library (i.e., in user code). Look at the implementation of ChBrakeSimple which uses this locking of the spindle joints to overcome a limitation of this simplistic brake model (no braking torque applied when the wheel has zero relative angular velocity). You can get the appropriate revolute joint from the ChSuspension object and then can call the Lock(true) function on that joint.
By the way, if you are using a ChBrakeSimple in your model, I suggest you change that to a ChBrakeShafts which does not require the hack I mentioned above.
To view this discussion on the web visit https://groups.google.com/d/msgid/projectchrono/f02cd447-1c5b-4f89-88b4-fd99ef6f56a7n%40googlegroups.com.
Looking back in the code, I realized I had already implemented a parking brake (exactly along the lines I mentioned below). I just pushed a minor change so that the parking brake (i.e., locking of the spindle DOF) happens only for non-steerable axles.
The function to engage/release the parking brake is ChWheeledVehicle::ApplyParkingBrake() which takes a bool argument.
--Radu
To view this discussion on the web visit https://groups.google.com/d/msgid/projectchrono/PH0PR06MB823723FBD210C784E025873EA74A9%40PH0PR06MB8237.namprd06.prod.outlook.com.