Commit c61c97f
authored
stuff for the first alpha (#1)
* add: configure testing dependencies for control module and XML file updates
Signed-off-by: Zach Harel <zach@zharel.me>
* add: implement AngularState and LinearState classes for kinematic motion representation
Signed-off-by: Zach Harel <zach@zharel.me>
* add: introduce InchesPerSecond and inchesPerSecond extension for linear units
Signed-off-by: Zach Harel <zach@zharel.me>
* remove state classes
Signed-off-by: Zach Harel <zach@zharel.me>
* add: implement constructor for SizedVector from SizedMatrix
Signed-off-by: Zach Harel <zach@zharel.me>
* reformat copyright again
Signed-off-by: Zach Harel <zach@zharel.me>
* add: override toString() method to return short string representation for various unit classes
Signed-off-by: Zach Harel <zach@zharel.me>
* add: implement PID and SquID controller classes
Signed-off-by: Zach Harel <zach@zharel.me>
* add: implement MotionState data class for tracking position, velocity, and acceleration
Signed-off-by: Zach Harel <zach@zharel.me>
* refactor: rename SizedMatrix to Matrix and SizedVector to Vector to make it more clear that they are the default
Signed-off-by: Zach Harel <zach@zharel.me>
* add: implement GravityFeedforward and SimpleFeedforward controllers with associated tests
Signed-off-by: Zach Harel <zach@zharel.me>
* add: implement TrapezoidProfile class and associated tests for motion profiling
Signed-off-by: Zach Harel <zach@zharel.me>
* add: implement LinearModel class and Model interface for state-space representation
Signed-off-by: Zach Harel <zach@zharel.me>
* refactor: rename SizedVector and SizedMatrix to Vector and Matrix for clarity
Signed-off-by: Zach Harel <zach@zharel.me>
* add: introduce natural number representations for rows and columns in Matrix class
Signed-off-by: Zach Harel <zach@zharel.me>
* refactor: adjust line length limit to 120 and reformat
Signed-off-by: Zach Harel <zach@zharel.me>
* add: implement LQRController control using state-space representation
Signed-off-by: Zach Harel <zach@zharel.me>
* add: move utility functions for state-space representation to StateSpaceUtil and clean up LQRController
Signed-off-by: Zach Harel <zach@zharel.me>
* add: implement matrix exponential function using Padé approximant and add tests
Signed-off-by: Zach Harel <zach@zharel.me>
* add: move discretizeAB to new file and add discretizeAQ + tests
Signed-off-by: Zach Harel <zach@zharel.me>
* add: enhance matrix operations to support division by scalar
Signed-off-by: Zach Harel <zach@zharel.me>
* add: implement discretizeR function and improve formatting in Discretization and StateSpaceUtil
Signed-off-by: Zach Harel <zach@zharel.me>
* add: update scalar multiplication to accept Number type in DynamicVector and Vector classes
Signed-off-by: Zach Harel <zach@zharel.me>
* add: integrate discretization of matrices in LinearModel using discretizeAB function
Signed-off-by: Zach Harel <zach@zharel.me>
* add: implement Kalman filter for linear state estimation
Signed-off-by: Zach Harel <zach@zharel.me>
* add: update version to 0.0.1-alpha.1 in gradle.properties
Signed-off-by: Zach Harel <zach@zharel.me>
* run spotless oopsies
Signed-off-by: Zach Harel <zach@zharel.me>
* add: update group ID to 'dev.nextftc.control' in build.gradle.kts
Signed-off-by: Zach Harel <zach@zharel.me>
---------
Signed-off-by: Zach Harel <zach@zharel.me>1 parent 3e82ede commit c61c97f
File tree
100 files changed
+3048
-273
lines changed- .idea
- codeStyles
- copyright
- control
- src
- main/kotlin/dev/nextftc/control
- feedback
- feedforward
- filters
- model
- profiles
- util
- test/kotlin/dev/nextftc/control
- feedback
- feedforward
- profiles
- util
- linalg/src
- main/kotlin/dev/nextftc/linalg
- test/kotlin/dev/nextftc/linalg
- units/src
- main/kotlin/dev/nextftc/units
- measuretypes
- unittypes
- test/kotlin/dev/nextftc/units
- measuretypes
- unittypes
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
100 files changed
+3048
-273
lines changedSome generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
| 12 | + | |
11 | 13 | | |
12 | 14 | | |
13 | 15 | | |
| |||
22 | 24 | | |
23 | 25 | | |
24 | 26 | | |
| 27 | + | |
| 28 | + | |
25 | 29 | | |
26 | 30 | | |
27 | 31 | | |
| |||
30 | 34 | | |
31 | 35 | | |
32 | 36 | | |
33 | | - | |
| 37 | + | |
34 | 38 | | |
35 | 39 | | |
36 | 40 | | |
| |||
Lines changed: 121 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
Lines changed: 153 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
0 commit comments