Skip to content

Commit 344aebe

Browse files
authored
Merge pull request #79 from C4dynamics/dev
Dev
2 parents 484f619 + 9063a9d commit 344aebe

File tree

1 file changed

+4
-26
lines changed

1 file changed

+4
-26
lines changed

paper/paper.md

Lines changed: 4 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,9 @@ date: "2024-12-17"
1818
---
1919

2020
# Summary
21-
2221
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.
2322

2423
# Statement of Need
25-
26-
2724
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.
2825

2926
**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
3229
# Comparison with Existing Software
3330
Existing tools generally fall into two categories:
3431
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.
3633

3734
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.
3835

3936
**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.
4037

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.
4938

50-
These features make **C4DYNAMICS** a superior choice for Python users who require robust dynamic systems modeling capabilities.
5139

5240
# Example
53-
5441
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`
5542
with a time step of `0.01[s]` for `5[s]`.
5643

@@ -78,18 +65,9 @@ plt.show()
7865
![](pendulum.png)
7966

8067

81-
\nocite{1104873}
8268

83-
# References
8469

85-
---
86-
bibliography: paper.bib
87-
---
88-
89-
90-
# Software Archive
91-
92-
The software is available at [GitHub](https://github.com/C4dynamics/C4dynamics)
93-
94-
---
9570

71+
# References
72+
[@1104873]
73+
bibliography: paper.bib

0 commit comments

Comments
 (0)