Roadmap: python-control integration (Phase 1 — state-space bridge, Phase 2 — NonlinearIOSystem wrapper)
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Bắt đầu bằng cách đọc Simulation.to_statespace và entry point to_control_statespace, sau đó so sánh các labels và hành vi A/B/C/D của chúng với control.StateSpace. Phase 1 hoàn tất khi cầu nối tuyến tính mỏng cung cấp các công cụ python-control đã được ghi tài liệu; Phase 2 yêu cầu nghiên cứu utils/linearization.py và assemble_linear_system của pathsim core trước khi bọc một Simulation dưới dạng NonlinearIOSystem.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Context
Following up on https://github.com/orgs/pathsim/discussions/195, this is
where the python-control integration for pathsim lives, split into two
phases.
Phase 1 — linear bridge (in progress)
The linearization design landed differently than originally scoped here.
pathsim/pathsim#237 (trim() + linearize_system()) was closed without
merging; the maintainer implemented linearization as a pure query instead
in pathsim/pathsim#239 — see
https://github.com/orgs/pathsim/discussions/195#discussioncomment-17779351
for the design rationale.
Simulation.to_statespace(inputs, outputs, t=None) (merged into
pathsim master, not yet in a PyPI release) returns a StateSpace
block whose A/B/C/D and state_labels/input_labels/output_labels
already match control.StateSpace's states=/inputs=/outputs=
kwargs. to_control_statespace(sim, inputs, outputs, t=None) here is a
thin wrapper around it, no adapter code needed. Unlocks control.margin,
control.root_locus, control.bode_plot, etc. on any pathsim
Simulation immediately.
trim() wasn't part of that merge and doesn't exist yet — planned as an
extension of Simulation.steadystate().
Phase 2 — nonlinear bridge (later)
Wrap an entire pathsim Simulation as a control.NonlinearIOSystem
(updfcn/outfcn), enabling full nonlinear simulation/operating-point
analysis through python-control's own tooling. Harder: needs adapting the
DAG-order algebraic-loop-resolution logic in pathsim core's
utils/linearization.py (assemble_linear_system) to work with nonlinear
per-block functions instead of Jacobians.
- Ngôn ngữ chính
- Python
- Star
- 2
- Fork
- 1
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue tương tự
-
[Bug] reef-hermes tells me to resume with hermes --resume, which does not work from my shell Đang mởarea: harness bug status: needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Human-Agent-Society/reef#625 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 80/100
learningequality/kolibri#15351 · 2 bình luận ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Name consistency Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
eellak/triplestore#65 · 1 bình luận ·