Skip to content
LIBRARY
Examples.PathProgress.md

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 Missing open brace for subscript, 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.

Usage ​

MPCComponents.Examples.PathProgress(v_nom=0.4, s0=0.0)

Parameters: ​

NameDescriptionUnitsDefault value
v_nomRate of progress at which the correction is zero–0.4
s0Progress 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 ​

NameDescriptionUnits
sProgress 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}
  }
}
end
Flattened 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}
  }
}
end


Test Cases ​

No test cases defined.

  • Examples

  • Experiments

  • Analyses