You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: paper/paper.md
+4-26Lines changed: 4 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,12 +18,9 @@ date: "2024-12-17"
18
18
---
19
19
20
20
# Summary
21
-
22
21
Dynamic systems play a critical role across various fields such as robotics, aerospace, and control theory. While Python offers robust mathematical tools, it lacks a dedicated framework tailored for dynamic systems. **C4DYNAMICS** bridges this gap by introducing a Python-based platform designed for state-space modeling and analysis. The framework's modular architecture, with "state objects" at its core, simplifies the development of algorithms for sensors, filters, and detectors. This allows researchers, engineers, and students to effectively design, simulate, and analyze dynamic systems. By integrating state objects with a scientific library, **C4DYNAMICS** offers a scalable and efficient solution for dynamic systems modeling.
23
22
24
23
# Statement of Need
25
-
26
-
27
24
Modeling and simulation of dynamical systems are essential across robotics, aerospace, and control engineering. While Python provides powerful numerical libraries (e.g., NumPy, SciPy) and several domain-specific frameworks, none directly support low-level, state-space–based algorithm development.
28
25
29
26
**C4DYNAMICS** is designed for engineers who prefer code-based modeling and want a framework to explicitly define the variables encapsulated in the system’s state vector, and perform streamlined mathematical operations such as scalar multiplication, dot products, and vector addition/subtraction, and data operations such as storing states, retrieving histories, and plotting variables.
@@ -32,25 +29,15 @@ Modeling and simulation of dynamical systems are essential across robotics, aero
32
29
# Comparison with Existing Software
33
30
Existing tools generally fall into two categories:
34
31
1) Block-diagram frameworks (e.g., SimuPy [@Margolis2017simupy], BdSim [@NEVAY2020107200]) mimic Simulink and simplify model building through graphical interfaces, but they abstract away the state vector and limit direct mathematical manipulation.
35
-
2) High-level simulators (e.g., IR-Sim, RobotDART [@Chatzilygeroudis2024]) allow algorithm testing in predefined environments, but lack flexibility for core system modeling and algorithm design.
32
+
2) High-level simulators (e.g., [IR-Sim](https://ir-sim.readthedocs.io/en/stable/), RobotDART [@Chatzilygeroudis2024]) allow algorithm testing in predefined environments, but lack flexibility for core system modeling and algorithm design.
36
33
37
34
This leaves a gap for engineers and researchers who wish to work explicitly at the state-space level—defining variables, performing mathematical operations on them, and integrating with modern data-driven pipelines.
38
35
39
36
**C4DYNAMICS** fills this gap with a modular, Python-native framework for state-space modeling of dynamical systems. Built around explicit state representations and complemented by a scientific library of filters and sensor models, it enables reproducible modeling, testing, and optimization of dynamic systems within the scientific Python ecosystem.
40
37
41
-
\\
42
-
43
-
**C4DYNAMICS** differs from existing solutions in several ways:
44
-
45
-
-**Python-based**: Unlike MATLAB, **C4DYNAMICS** is open-source and leverages Python's ecosystem for accessibility and flexibility.
46
-
-**Modular Design**: Its architecture allows users to extend functionalities and adapt the framework for specific applications.
47
-
-**State Object**: A unique feature enabling seamless state management and mathematical operations, reducing complexity in algorithm development.
48
-
-**Integrated Scientific Library**: Provides built-in modules for sensors, filters, and detectors, streamlining the development of dynamic system models.
49
38
50
-
These features make **C4DYNAMICS** a superior choice for Python users who require robust dynamic systems modeling capabilities.
51
39
52
40
# Example
53
-
54
41
A simple pendulum with a point mass on a rigid massless rod of length = `1[m]`, swiniging under gravity of `9.8[m/s²].` with initial angle `θ = 50[°]` and angle rate `q = 0[°/s]`, integrated with `solve_ivp`
55
42
with a time step of `0.01[s]` for `5[s]`.
56
43
@@ -78,18 +65,9 @@ plt.show()
78
65

79
66
80
67
81
-
\nocite{1104873}
82
68
83
-
# References
84
69
85
-
---
86
-
bibliography: paper.bib
87
-
---
88
-
89
-
90
-
# Software Archive
91
-
92
-
The software is available at [GitHub](https://github.com/C4dynamics/C4dynamics)
0 commit comments