|
|
How far a velocity profile asks for more than the device command ramp can deliver. More...
#include <armarx/navigation/applications/global_planning_analysis/reparametrization.h>
Public Attributes | |
| std::vector< std::pair< float, float > > | spans |
| Arc-length spans in which the demand exceeds the ramp, for the plot. | |
| float | terminalStoppingDistance {0.F} |
| Distance the ramp needs to stop from the profile's final velocity [mm]. | |
| bool | terminalVelocityExceedsBoundary {false} |
Whether the profile ends above boundaryVelocity, i.e. faster than by design. | |
| std::size_t | violations {0} |
| Waypoints demanding more than the ramp can deliver. | |
| float | worstArcLength {0.F} |
| float | worstDemand {0.F} |
| Largest demanded tangential acceleration [mm/s^2], and where along the path it is. | |
| float | worstLimit {0.F} |
| The bound that was exceeded there [mm/s^2]. | |
How far a velocity profile asks for more than the device command ramp can deliver.
A GlobalTrajectory stores a speed per position, so the tangential acceleration it implies is v * dv/ds. Nothing in the planning stack compares that against the ramp in Velocity.cpp, which is the actual bottleneck: TOPPRA is bounded by motor torque and happily plans an 873 mm/s^2 stop that the configured 400 mm/s^2 ramp cannot execute, and the base sails past the goal.
Definition at line 48 of file reparametrization.h.
Arc-length spans in which the demand exceeds the ramp, for the plot.
Definition at line 61 of file reparametrization.h.
| float terminalStoppingDistance {0.F} |
Distance the ramp needs to stop from the profile's final velocity [mm].
A flat profile passes the v * dv/ds test everywhere and still overshoots, because it simply ends at speed: nothing in a GlobalTrajectory says the robot has to be able to stop. This is the number that predicts the overshoot.
Definition at line 68 of file reparametrization.h.
| bool terminalVelocityExceedsBoundary {false} |
Whether the profile ends above boundaryVelocity, i.e. faster than by design.
Definition at line 71 of file reparametrization.h.
| std::size_t violations {0} |
Waypoints demanding more than the ramp can deliver.
Definition at line 51 of file reparametrization.h.
| float worstArcLength {0.F} |
Definition at line 55 of file reparametrization.h.
| float worstDemand {0.F} |
Largest demanded tangential acceleration [mm/s^2], and where along the path it is.
Definition at line 54 of file reparametrization.h.
| float worstLimit {0.F} |
The bound that was exceeded there [mm/s^2].
Definition at line 58 of file reparametrization.h.