API Reference¶
pole_placement.servoTool.cli¶
Command-line interface for pole_placement.servoTool.
The CLI preserves the original servo-tool subcommands:
exampledesignobserversim
It also adds a sphinx-skel helper for generating a conservative,
GitHub Pages friendly Sphinx documentation skeleton.
pole_placement.servoTool.apis¶
- class pole_placement.servoTool.apis.DesignResult(K1: 'List[List[float]]', K2: 'List[List[float]]', meta: 'Dict[str, Any]')[source]¶
Bases:
object- Parameters:
K1 (List[List[float]])
K2 (List[List[float]])
meta (Dict[str, Any])
- K1: List[List[float]]¶
- K2: List[List[float]]¶
- meta: Dict[str, Any]¶
- class pole_placement.servoTool.apis.ObserverResult(Ke: 'List[List[float]]', T: 'List[List[float]]', notes: 'str')[source]¶
Bases:
object- Parameters:
Ke (List[List[float]])
T (List[List[float]])
notes (str)
- Ke: List[List[float]]¶
- T: List[List[float]]¶
- notes: str¶
- class pole_placement.servoTool.apis.RunRequest(mode: 'str', config: 'Optional[str]' = None, G: 'Optional[str]' = None, H: 'Optional[str]' = None, C: 'Optional[str]' = None, which: 'str' = 'ogata', method: 'str' = 'acker', poles: 'Optional[str]' = None, observer_mode: 'str' = 'current', K1: 'Optional[str]' = None, K2: 'Optional[str]' = None, N: 'int' = 10, ref: 'str' = 'step', use_observer: 'bool' = False, Ke: 'Optional[str]' = None, T: 'Optional[str]' = None, csv: 'Optional[str]' = None, out: 'Optional[str]' = None, plot: 'bool' = False, savefig: 'Optional[str]' = None, plotly: 'bool' = False, html: 'Optional[str]' = None, open_html: 'bool' = False, eq: 'bool' = False, eq_stdout: 'bool' = False, eq_file: 'Optional[str]' = None)[source]¶
Bases:
object- Parameters:
mode (str)
config (str | None)
G (str | None)
H (str | None)
C (str | None)
which (str)
method (str)
poles (str | None)
observer_mode (str)
K1 (str | None)
K2 (str | None)
N (int)
ref (str)
use_observer (bool)
Ke (str | None)
T (str | None)
csv (str | None)
out (str | None)
plot (bool)
savefig (str | None)
plotly (bool)
html (str | None)
open_html (bool)
eq (bool)
eq_stdout (bool)
eq_file (str | None)
- C: str | None = None¶
- G: str | None = None¶
- H: str | None = None¶
- K1: str | None = None¶
- K2: str | None = None¶
- Ke: str | None = None¶
- N: int = 10¶
- T: str | None = None¶
- config: str | None = None¶
- csv: str | None = None¶
- eq: bool = False¶
- eq_file: str | None = None¶
- eq_stdout: bool = False¶
- html: str | None = None¶
- method: str = 'acker'¶
- mode: str¶
- observer_mode: str = 'current'¶
- open_html: bool = False¶
- out: str | None = None¶
- plot: bool = False¶
- plotly: bool = False¶
- poles: str | None = None¶
- ref: str = 'step'¶
- savefig: str | None = None¶
- use_observer: bool = False¶
- which: str = 'ogata'¶
pole_placement.servoTool.app¶
- class pole_placement.servoTool.app.ServoApp[source]¶
Bases:
object- run(req)[source]¶
- Parameters:
req (RunRequest)
pole_placement.servoTool.core¶
- class pole_placement.servoTool.core.MinObserver(Ke: 'np.ndarray', T: 'np.ndarray')[source]¶
Bases:
object- Parameters:
Ke (numpy.ndarray)
T (numpy.ndarray)
- Ke: numpy.ndarray¶
- T: numpy.ndarray¶
- class pole_placement.servoTool.core.SimOut(y: 'list[float]', u: 'list[float]', k0_u: 'float')[source]¶
Bases:
object- Parameters:
y (list[float])
u (list[float])
k0_u (float)
- k0_u: float¶
- u: list[float]¶
- y: list[float]¶
- pole_placement.servoTool.core.acker(A, B, desired_poles)[source]¶
- Parameters:
A (numpy.ndarray)
B (numpy.ndarray)
desired_poles (List[complex])
- Return type:
numpy.ndarray
- pole_placement.servoTool.core.ctrb(A, B)[source]¶
- Parameters:
A (numpy.ndarray)
B (numpy.ndarray)
- Return type:
numpy.ndarray
- pole_placement.servoTool.core.design_min_observer(G, H, C, poles=None, method='acker')[source]¶
- Parameters:
G (numpy.ndarray)
H (numpy.ndarray)
C (numpy.ndarray)
poles (List[complex] | None)
method (str)
- Return type:
- pole_placement.servoTool.core.design_servo_aug(G, H, C, poles=None, method='acker')[source]¶
- Parameters:
G (numpy.ndarray)
H (numpy.ndarray)
C (numpy.ndarray)
poles (List[complex] | None)
method (str)
- Return type:
Tuple[numpy.ndarray, numpy.ndarray]
- pole_placement.servoTool.core.design_servo_ogata(G, H, C, poles=None, method='acker')[source]¶
- Parameters:
G (numpy.ndarray)
H (numpy.ndarray)
C (numpy.ndarray)
poles (List[complex] | None)
method (str)
- Return type:
Tuple[numpy.ndarray, numpy.ndarray]
- pole_placement.servoTool.core.measured_form_T(C, n, m)[source]¶
- Parameters:
C (numpy.ndarray)
n (int)
m (int)
- Return type:
numpy.ndarray
- pole_placement.servoTool.core.place_wrapper(A, B, poles, method)[source]¶
- Parameters:
A (numpy.ndarray)
B (numpy.ndarray)
poles (List[complex])
method (str)
- Return type:
numpy.ndarray
- pole_placement.servoTool.core.poly_from_roots(roots)[source]¶
- Parameters:
roots (List[complex])
- Return type:
numpy.ndarray
- pole_placement.servoTool.core.right_inverse(C)[source]¶
- Parameters:
C (numpy.ndarray)
- Return type:
numpy.ndarray
- pole_placement.servoTool.core.simulate_servo(G, H, C, K1, K2, N=10, r_type='step', use_observer=False, minobs=None, observer_mode='current')[source]¶
- Parameters:
G (numpy.ndarray)
H (numpy.ndarray)
C (numpy.ndarray)
K1 (numpy.ndarray)
K2 (numpy.ndarray)
N (int)
r_type (str)
use_observer (bool)
minobs (MinObserver | None)
observer_mode (str)
- Return type:
pole_placement.servoTool.io¶
- pole_placement.servoTool.io.force_col(a)[source]¶
- Parameters:
a (numpy.ndarray | None)
- Return type:
numpy.ndarray | None
- pole_placement.servoTool.io.load_yaml(path)[source]¶
- Parameters:
path (str | None)
- Return type:
Dict[str, Any]
- pole_placement.servoTool.io.parse_matrix(s)[source]¶
- Parameters:
s (str | None)
- Return type:
numpy.ndarray | None
- pole_placement.servoTool.io.parse_poles(ps)[source]¶
- Parameters:
ps (str | None)
- Return type:
list[complex] | None
- pole_placement.servoTool.io.write_csv_matrix(M, path)[source]¶
- Parameters:
M (numpy.ndarray)
path (str | None)
- Return type:
None
pole_placement.servoTool.utils¶
pole_placement.servoTool.design¶
- pole_placement.servoTool.design.emit_equations(lines, eq_file, eq_stdout)[source]¶
- Parameters:
lines (List[str])
eq_file (str | None)
eq_stdout (bool)
- Return type:
str