API Reference¶
pole_placement.poleTool.cli¶
Command-line interface for pole_placement.poleTool.
The CLI supports two usage styles:
Modern subcommand form:
python -m pole_placement.poleTool.cli run --json_in in/system.json --poles "0.5,0.6"
Historical no-subcommand form:
python -m pole_placement.poleTool.cli --json_in in/system.json --poles "0.5,0.6"
It also includes a sphinx-skel helper for generating a conservative,
GitHub Pages friendly Sphinx documentation skeleton.
pole_placement.poleTool.apis¶
- class pole_placement.poleTool.apis.RunRequest(A=None, B=None, C=None, json_in=None, poles=None, deadbeat=False, method='auto', samples=60, plot='mpl', style='dots', pretty=False, save_json=False, save_csv=False, name='pole_place', outdir=None, log='INFO')[source]¶
Bases:
objectUser-facing API request for a pole-placement design & simulation run.
- Parameters:
A (str | None)
B (str | None)
C (str | None)
json_in (str | None)
poles (str | None)
deadbeat (bool)
method (str)
samples (int)
plot (str)
style (str)
pretty (bool)
save_json (bool)
save_csv (bool)
name (str)
outdir (str | None)
log (str)
- A: str | None = None¶
- B: str | None = None¶
- C: str | None = None¶
- deadbeat: bool = False¶
- json_in: str | None = None¶
- log: str = 'INFO'¶
- method: str = 'auto'¶
- name: str = 'pole_place'¶
- outdir: str | None = None¶
- plot: str = 'mpl'¶
- poles: str | None = None¶
- pretty: bool = False¶
- samples: int = 60¶
- save_csv: bool = False¶
- save_json: bool = False¶
- style: str = 'dots'¶
pole_placement.poleTool.app¶
- class pole_placement.poleTool.app.PolePlacementApp[source]¶
Bases:
objectHigh-level orchestration of pole placement design, simulation, plotting & exports.
- run(req)[source]¶
- Parameters:
req (RunRequest)
- Return type:
Dict[str, Any]
pole_placement.poleTool.core¶
- pole_placement.poleTool.core.ackermann_siso(A, B, poles)[source]¶
- Parameters:
A (numpy.ndarray)
B (numpy.ndarray)
poles (numpy.ndarray)
- Return type:
numpy.ndarray
- pole_placement.poleTool.core.compute_K0(Acl, B, C)[source]¶
- Parameters:
Acl (numpy.ndarray)
B (numpy.ndarray)
C (numpy.ndarray)
- pole_placement.poleTool.core.ctrb(A, B)[source]¶
- Parameters:
A (numpy.ndarray)
B (numpy.ndarray)
- Return type:
numpy.ndarray
- pole_placement.poleTool.core.eigenvector_method_siso(A, B, poles)[source]¶
- Parameters:
A (numpy.ndarray)
B (numpy.ndarray)
poles (numpy.ndarray)
- Return type:
numpy.ndarray
- pole_placement.poleTool.core.mat_pow(A, k)[source]¶
- Parameters:
A (numpy.ndarray)
k (int)
- Return type:
numpy.ndarray
- pole_placement.poleTool.core.match_pole_sets(lcl, mu)[source]¶
- Parameters:
lcl (numpy.ndarray)
mu (numpy.ndarray)
- Return type:
float
- pole_placement.poleTool.core.obsv(A, C)[source]¶
- Parameters:
A (numpy.ndarray)
C (numpy.ndarray)
- Return type:
numpy.ndarray
- pole_placement.poleTool.core.place_method(A, B, poles)[source]¶
- Parameters:
A (numpy.ndarray)
B (numpy.ndarray)
poles (numpy.ndarray)
- Return type:
numpy.ndarray
pole_placement.poleTool.io¶
- pole_placement.poleTool.io.parse_matrix(s)[source]¶
- Parameters:
s (str | None)
- Return type:
np.ndarray | None
pole_placement.poleTool.utils¶
- pole_placement.poleTool.utils.ensure_out_dir(default_rel='out', override=None)[source]¶
Return an output directory. If override is given, create and use it; else use ./out (package-local).
- Parameters:
default_rel (str)
override (str | None)
- Return type:
Path
pole_placement.poleTool.design¶
- pole_placement.poleTool.design.plot_step(k, y, backend, style, outfile)[source]¶
- Parameters:
backend (str)
style (str)
outfile (Path)