LIBRARY
Examples.PathProgress ​
The progress state of ACADOSMPCOmniPathFollowingExample, integrated in the loop because it belongs to the controller rather than to the robot: the controller outputs the correction ds to the nominal rate of progress, this block integrates v_nom must be the one the prediction model OmniRobotPathModel was built with.
Usage ​
MPCComponents.Examples.PathProgress(v_nom=0.4, s0=0.0)
Parameters: ​
| Name | Description | Units | Default value |
|---|---|---|---|
v_nom | Rate of progress at which the correction is zero | – | 0.4 |
s0 | Progress at the start | – | 0.0 |
Connectors ​
ds- This connector represents a real signal as an input to a component (RealInput)s_out- This connector represents a real signal as an output from a component (RealOutput)
Variables ​
| Name | Description | Units |
|---|---|---|
s | Progress along the planned path | – |
Behavior ​
Behavior of this component cannot be rendered because it includes path variables.
Source ​
dyad
"""
The progress state of `ACADOSMPCOmniPathFollowingExample`, integrated in the loop because it belongs
to the controller rather than to the robot: the controller outputs the correction `ds` to the nominal
rate of progress, this block integrates ``\\dot\\sigma = v_\\mathrm{nom} + \\Delta v``, and the result
is sampled back into the controller's state input. `v_nom` must be the one the prediction model
`OmniRobotPathModel` was built with.
"""
component PathProgress
"Correction to the nominal rate of progress"
ds = RealInput() {
"Dyad": {"placement": {"diagram": {"x1": -100, "x2": 0, "y1": 450, "y2": 550}}}
}
"Progress along the planned path"
s_out = RealOutput() {
"Dyad": {"placement": {"diagram": {"x1": 1000, "x2": 1100, "y1": 450, "y2": 550}}}
}
"Rate of progress at which the correction is zero"
parameter v_nom::Real = 0.4
"Progress at the start"
parameter s0::Real = 0.0
"Progress along the planned path"
variable s::Real
relations
initial s = s0
der(s) = v_nom + ds
s_out = s
metadata {
"Dyad": {
"icons": {"default": "dyad://MPCComponents/PathProgress.svg"},
"doc": {"behavior": false}
}
}
endFlattened Source
dyad
"""
The progress state of `ACADOSMPCOmniPathFollowingExample`, integrated in the loop because it belongs
to the controller rather than to the robot: the controller outputs the correction `ds` to the nominal
rate of progress, this block integrates ``\\dot\\sigma = v_\\mathrm{nom} + \\Delta v``, and the result
is sampled back into the controller's state input. `v_nom` must be the one the prediction model
`OmniRobotPathModel` was built with.
"""
component PathProgress
"Correction to the nominal rate of progress"
ds = RealInput() {
"Dyad": {"placement": {"diagram": {"x1": -100, "x2": 0, "y1": 450, "y2": 550}}}
}
"Progress along the planned path"
s_out = RealOutput() {
"Dyad": {"placement": {"diagram": {"x1": 1000, "x2": 1100, "y1": 450, "y2": 550}}}
}
"Rate of progress at which the correction is zero"
parameter v_nom::Real = 0.4
"Progress at the start"
parameter s0::Real = 0.0
"Progress along the planned path"
variable s::Real
relations
initial s = s0
der(s) = v_nom + ds
s_out = s
metadata {
"Dyad": {
"icons": {"default": "dyad://MPCComponents/PathProgress.svg"},
"doc": {"behavior": false}
}
}
endTest Cases ​
No test cases defined.
Related ​
Examples
Experiments
Analyses