Skip to content
Merged
Show file tree
Hide file tree
Changes from 163 commits
Commits
Show all changes
164 commits
Select commit Hold shift + click to select a range
92f3c5d
intake subsystem
NikolaJenkins Oct 23, 2025
ae9b18f
intake subsystem
NikolaJenkins Oct 23, 2025
83aca1d
quick units fix
Craftzman7 Oct 24, 2025
141c271
update intake
Craftzman7 Oct 24, 2025
1007c66
fix mechanism ligament
Craftzman7 Oct 26, 2025
3cd95e2
rename
Craftzman7 Oct 26, 2025
e47fecf
finish intake code
Craftzman7 Oct 27, 2025
64b310d
stuff and things
Craftzman7 Oct 27, 2025
98d3d7a
started shooter subsystem
njoy3663 Oct 27, 2025
9e81e87
add PID control method to flywheels
Craftzman7 Oct 27, 2025
5fa8974
fix canrange ID
Craftzman7 Oct 27, 2025
4ca8055
work on shooter subsystems
Craftzman7 Oct 27, 2025
7bed289
stuff
Craftzman7 Oct 27, 2025
cb33c2f
continued shooter
NikolaJenkins Oct 27, 2025
9b92b41
add track width
Craftzman7 Oct 27, 2025
97771c4
add sysid routine for flywheels
Craftzman7 Oct 27, 2025
3695f22
rename to pulse
Craftzman7 Oct 27, 2025
a95d294
pivot things
Craftzman7 Oct 28, 2025
3728a96
trig is fun
njoy3663 Oct 28, 2025
66bd413
Merge remote-tracking branch 'origin/main' into subsystems
Craftzman7 Oct 29, 2025
4299dbe
cleanup
Craftzman7 Oct 29, 2025
ceef463
ok what the fuck gang
Craftzman7 Oct 29, 2025
34b28b0
ok
Craftzman7 Oct 29, 2025
de2b9c1
stuff and things
Craftzman7 Oct 29, 2025
8fe04e4
surely this will work on the third attempt
Craftzman7 Oct 29, 2025
4bb9c05
super complicated regression model bc differential equations are kind…
NikolaJenkins Oct 29, 2025
db56a98
get carrot poses
NikolaJenkins Oct 29, 2025
74ea6ea
ok
Craftzman7 Oct 29, 2025
dfcd3bd
ok
Craftzman7 Oct 29, 2025
234a60a
lots of code very good
Craftzman7 Oct 29, 2025
14955f4
that wouldn't have worked. this hopefully does!
Craftzman7 Oct 30, 2025
2fa8d32
cleanup
Craftzman7 Oct 30, 2025
6c2c501
it doesn't matter but this makes more sense
Craftzman7 Oct 30, 2025
a4c1da1
cool vision stuff to make debugging easier
Craftzman7 Oct 30, 2025
cf24291
waow
Craftzman7 Oct 30, 2025
30ccfbe
comment to clarify dumb shit
Craftzman7 Oct 30, 2025
4cd6588
add motor temperature logging for troubleshooting overheating
Craftzman7 Oct 30, 2025
0049555
i fucking hate akit sometimes dude
Craftzman7 Oct 30, 2025
dead699
ok this should just work
Craftzman7 Oct 30, 2025
d3a4c7f
add DT linear sysid bindings
Craftzman7 Oct 30, 2025
0c724f0
this is what i get for copy pasting sun tzu
Craftzman7 Oct 30, 2025
fda6e8a
whoopsie
Craftzman7 Oct 30, 2025
7665565
stupid override button
Craftzman7 Oct 30, 2025
d9adee3
clear up var name
Craftzman7 Oct 30, 2025
545c9c0
clamp `RobotState.heldPieces`
Craftzman7 Oct 30, 2025
69bfded
update `FIELD_LAYOUT`
Craftzman7 Oct 30, 2025
93023ff
log flywheel setpoints
Craftzman7 Oct 30, 2025
8736bb6
cleanup
Craftzman7 Oct 30, 2025
36557a4
don't run the jmx server
Craftzman7 Oct 30, 2025
6cb7e1a
add turnToAngle assertion
Craftzman7 Oct 30, 2025
7525b5e
move (hopefully) unneeded canrange config options
Craftzman7 Oct 30, 2025
21f543b
make canrange enum function
Craftzman7 Oct 30, 2025
ce11522
cleanup sysid
Craftzman7 Oct 31, 2025
0d9a5d1
flywheel speed interpolation table
Craftzman7 Oct 31, 2025
7dfebe6
waow. spark closed loop control.
Craftzman7 Oct 31, 2025
5c58d81
nit
Craftzman7 Oct 31, 2025
84c0a53
dev mode
Craftzman7 Oct 31, 2025
992297b
unit put and get calls to `InterpolatingDoubleTreeMap`
Craftzman7 Oct 31, 2025
c79a833
a
Craftzman7 Oct 31, 2025
774c371
ok
Craftzman7 Nov 1, 2025
b93e034
add mechanism auto-disable
Craftzman7 Nov 1, 2025
1aac6da
just in-case
Craftzman7 Nov 1, 2025
e41514f
reject measurements with less than 8 corners
Craftzman7 Nov 1, 2025
6f393ce
log corner count
Craftzman7 Nov 1, 2025
43230ea
a
Craftzman7 Nov 1, 2025
ac3dfd2
add bunnybots apriltag map
Craftzman7 Nov 2, 2025
63a0ab2
add bunnybots LL apriltag map
Craftzman7 Nov 2, 2025
39db638
ok
Craftzman7 Nov 2, 2025
17c4372
whoopsie im such a silly girl
Craftzman7 Nov 2, 2025
c7d12df
a
Craftzman7 Nov 2, 2025
b9127f1
try not to use `baseUnitMagnitude()`
Craftzman7 Nov 2, 2025
2516efe
ok
Craftzman7 Nov 2, 2025
ab96a7f
ok
Craftzman7 Nov 2, 2025
cdaffb3
whoopsie
Craftzman7 Nov 2, 2025
8309aeb
drivetrain sim
Craftzman7 Nov 2, 2025
647eceb
working DT sim
Craftzman7 Nov 3, 2025
161226d
get started on intake sim
Craftzman7 Nov 3, 2025
492da7e
better intake sim yes yes
Craftzman7 Nov 3, 2025
4be9f02
get started on indexerio sim
Craftzman7 Nov 3, 2025
7e147c2
sim stuff. fix polar driving (oscillation in sim tho)
Craftzman7 Nov 3, 2025
59d5ec3
remove useless debug statement
Craftzman7 Nov 3, 2025
94fb54c
yes
Craftzman7 Nov 3, 2025
cf015f8
change stowed angle
Craftzman7 Nov 4, 2025
4551bdb
ensure pivot motors are in brake mode
Craftzman7 Nov 4, 2025
1b2b0e6
whoops
Craftzman7 Nov 4, 2025
cc2bd6f
delete sparkmax function (THANK GOD)
Craftzman7 Nov 4, 2025
1de2c59
cancoder offset
Craftzman7 Nov 4, 2025
78ad1ae
add advantagekit tunables for targeting
Craftzman7 Nov 4, 2025
6e47e94
ok
Craftzman7 Nov 4, 2025
0d6780d
ok
Craftzman7 Nov 4, 2025
a02e654
sim stuff
Craftzman7 Nov 4, 2025
957ba29
add stow function to intake
Craftzman7 Nov 4, 2025
615aff8
bulldoze
Craftzman7 Nov 4, 2025
f2a6dd0
blink limelight on shoot start
Craftzman7 Nov 4, 2025
528cb1f
log stuff
Craftzman7 Nov 4, 2025
8d1cc3f
ok
Craftzman7 Nov 5, 2025
56ce16d
choreo things
Craftzman7 Nov 5, 2025
54ee8e2
fix field dimensions
Craftzman7 Nov 6, 2025
8492313
auto stuff
Craftzman7 Nov 6, 2025
a185b62
cursed sim swerve
Craftzman7 Nov 6, 2025
3054a67
auto updates
Craftzman7 Nov 6, 2025
671ad48
ok
Craftzman7 Nov 6, 2025
116dce0
ok
Craftzman7 Nov 7, 2025
c1801a0
make sure to use temurin
Craftzman7 Nov 7, 2025
ffd401d
ok
Craftzman7 Nov 7, 2025
cc64a04
blink limelight when we start bulldozing
Craftzman7 Nov 7, 2025
8197c86
delete `LocalADStarAK`
Craftzman7 Nov 7, 2025
f70e16a
Merge branch 'main' into subsystems
Craftzman7 Nov 7, 2025
c815e5c
fix pivot accidentally disabling
Craftzman7 Nov 7, 2025
e2d3b3b
delete unused imports
Craftzman7 Nov 7, 2025
81087c0
lol
Craftzman7 Nov 7, 2025
690643e
delete choreo unit tests
Craftzman7 Nov 7, 2025
f8dc4a5
only throttle the LL4 after switching to MT2
Craftzman7 Nov 7, 2025
d9cb584
fix point at
Craftzman7 Nov 7, 2025
6a05dd1
add RightOne trajectory
Craftzman7 Nov 7, 2025
0719911
add secondary end condition to shoot commands in auto
Craftzman7 Nov 7, 2025
cb6a00b
lower max velo
Craftzman7 Nov 7, 2025
f7275d8
ok
Craftzman7 Nov 8, 2025
74f5e74
ok
Craftzman7 Nov 8, 2025
a8f34e3
refactor the entire way we do vision :3
Craftzman7 Nov 9, 2025
4c1d4d1
fix bug that has existed since 2024
Craftzman7 Nov 9, 2025
59885a1
remove unused import
Craftzman7 Nov 9, 2025
f99fdd2
tfw the code finally works
Craftzman7 Nov 9, 2025
7888b4b
minor fixups
Craftzman7 Nov 9, 2025
4997522
yay
Craftzman7 Nov 9, 2025
9ed0830
fix tag visualizer in sim
Craftzman7 Nov 9, 2025
f91bda4
whoopsie
Craftzman7 Nov 9, 2025
74272c1
add alignToZoo
Craftzman7 Nov 9, 2025
ae6e7f3
finally remove every usage of baseUnitMagnitude
Craftzman7 Nov 9, 2025
38a7926
add URCL and flywheel sysid
Craftzman7 Nov 9, 2025
dede4b1
cleanup
Craftzman7 Nov 9, 2025
9be1831
ok fine ill be consistent
Craftzman7 Nov 9, 2025
9bdfeed
sysid bindings
Craftzman7 Nov 10, 2025
5d2350f
we are no longer javapilled
Craftzman7 Nov 10, 2025
dc09250
add photonvision support
Craftzman7 Nov 10, 2025
04907af
nit
Craftzman7 Nov 10, 2025
b3f8be3
add annotation to AbsolutePoseProviderInputs
Craftzman7 Nov 10, 2025
6dd6aee
store swerve module temperatures inside a fucking byte buffer cause w…
Craftzman7 Nov 10, 2025
a51a43e
cool logging velocities
Craftzman7 Nov 10, 2025
f4aef9f
update limelightposeprovider
Craftzman7 Nov 10, 2025
7cfb334
nit
Craftzman7 Nov 10, 2025
40ffb96
fix buffer overflow
Craftzman7 Nov 10, 2025
19c7ade
remove values recorded by URCL
Craftzman7 Nov 10, 2025
fe3c6f5
log flywheel test state
Craftzman7 Nov 10, 2025
b08faf3
only use one ffcontroller
Craftzman7 Nov 10, 2025
f8b1109
fix incorrect assert
Craftzman7 Nov 10, 2025
787c76a
moar debug
Craftzman7 Nov 10, 2025
8567a81
log distance to zoo
Craftzman7 Nov 10, 2025
b11c1b0
ok
Craftzman7 Nov 10, 2025
4fb34eb
one-shot control for shooter pivot
Craftzman7 Nov 10, 2025
5b01664
attempt to reduce GC pressure
Craftzman7 Nov 10, 2025
af47dfc
make intellij happy
Craftzman7 Nov 10, 2025
84f1680
ok
Craftzman7 Nov 10, 2025
7c3e91f
make intellij happy
Craftzman7 Nov 10, 2025
f50e96c
update choreo trajectories
Craftzman7 Nov 12, 2025
6984b2c
make upper and lower PID/FF controllers
Craftzman7 Nov 12, 2025
ab3d62e
add: rhs autos
bluzier4409 Nov 13, 2025
8d4149d
weird intake logic to make weird design work
Craftzman7 Nov 13, 2025
de6837a
fix very bad bug
Craftzman7 Nov 13, 2025
2bcefac
cool target observation stuff
Craftzman7 Nov 13, 2025
432f01d
please god don't break anything
Craftzman7 Nov 14, 2025
6e6e5b3
ok
Craftzman7 Nov 15, 2025
5dfe320
rename PivotProfile to ShooterProfile
Craftzman7 Nov 15, 2025
ff3c4c2
apply requested changes
Craftzman7 Nov 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions annotation/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ dependencies {
implementation(wpi.java.vendor.java())

// Annotation Processor Dependencies
implementation("com.squareup:kotlinpoet:1.14.2")
implementation("com.squareup:kotlinpoet-ksp:1.14.2")
implementation("com.google.devtools.ksp:symbol-processing-api:2.1.0-1.0.29")
implementation("com.squareup:kotlinpoet:2.2.0")
implementation("com.squareup:kotlinpoet-ksp:2.2.0")
implementation("com.google.devtools.ksp:symbol-processing-api:2.3.1")
}

// Helper Functions to keep syntax cleaner
Expand Down
9 changes: 8 additions & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ plugins {
}

val javaVersion by extra(17)
val jvmVendor: JvmVendorSpec by extra { JvmVendorSpec.AMAZON }
val jvmVendor: JvmVendorSpec by extra { JvmVendorSpec.ADOPTIUM }

@Suppress("PropertyName")
val ROBOT_MAIN_CLASS = "com.frcteam3636.bunnybots2025.Main"
Expand Down Expand Up @@ -105,6 +105,12 @@ deploy {

roborio.artifacts {
register<FRCJavaArtifact>("frcJava") {
// jvmArgs.add("-Dcom.sun.management.jmxremote=true")
// jvmArgs.add("-Dcom.sun.management.jmxremote.port=1198")
// jvmArgs.add("-Dcom.sun.management.jmxremote.local.only=false")
// jvmArgs.add("-Dcom.sun.management.jmxremote.ssl=false")
// jvmArgs.add("-Dcom.sun.management.jmxremote.authenticate=false")
// jvmArgs.add("-Djava.rmi.server.hostname=10.36.36.2")
jvmArgs.add("-XX:+UnlockExperimentalVMOptions")
jvmArgs.add("-XX:GCTimeRatio=5")
jvmArgs.add("-XX:+UseSerialGC")
Expand Down Expand Up @@ -135,6 +141,7 @@ dependencies {
annotationProcessor(wpi.java.deps.wpilibAnnotations())
implementation(wpi.java.deps.wpilib())
implementation(wpi.java.vendor.java())
implementation("com.google.code.gson:gson:2.13.1")

roborioDebug(wpi.java.deps.wpilibJniDebug(NativePlatforms.roborio))
roborioDebug(wpi.java.vendor.jniDebug(NativePlatforms.roborio))
Expand Down
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
kspVersion=2.2.20-2.0.3
kotlinVersion=2.2.20
kspVersion=2.3.1
kotlinVersion=2.2.21
frcYear=2025
wpilibVersion=2025.3.2
1 change: 1 addition & 0 deletions limelight/2025-bunnybots.fmap
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"fiducials":[{"family":"apriltag3_36h11_classic","id":1,"size":165.1,"transform":[-2.220446049250313e-16,1,0,-4.572002900000001,-1,-2.220446049250313e-16,0,-0.30675580000000036,0,0,1,1.114425,0,0,0,1],"unique":true},{"family":"apriltag3_36h11_classic","id":2,"size":165.1,"transform":[1,0,0,-4.2652217000000014,0,1,0,-8.881784197001252e-16,0,0,1,1.114425,0,0,0,1],"unique":true},{"family":"apriltag3_36h11_classic","id":3,"size":165.1,"transform":[2.220446049250313e-16,-1,0,-4.572002900000001,1,2.220446049250313e-16,0,0.30678119999999964,0,0,1,1.114425,0,0,0,1],"unique":true},{"family":"apriltag3_36h11_classic","id":4,"size":165.1,"transform":[-1,-1.2246467991473532e-16,0,-4.878758700000001,1.2246467991473532e-16,-1,0,-8.881784197001252e-16,0,0,1,1.114425,0,0,0,1],"unique":true},{"family":"apriltag3_36h11_classic","id":5,"size":165.1,"transform":[2.220446049250313e-16,-1,0,4.571997099999999,1,2.220446049250313e-16,0,0.30678119999999964,0,0,1,1.114425,0,0,0,1],"unique":true},{"family":"apriltag3_36h11_classic","id":6,"size":165.1,"transform":[-1,-1.2246467991473532e-16,0,4.265241299999998,1.2246467991473532e-16,-1,0,-8.881784197001252e-16,0,0,1,1.114425,0,0,0,1],"unique":true},{"family":"apriltag3_36h11_classic","id":7,"size":165.1,"transform":[-2.220446049250313e-16,1,0,4.571997099999999,-1,-2.220446049250313e-16,0,-0.30675580000000036,0,0,1,1.114425,0,0,0,1],"unique":true},{"family":"apriltag3_36h11_classic","id":8,"size":165.1,"transform":[1,0,0,4.878778299999997,0,1,0,-8.881784197001252e-16,0,0,1,1.114425,0,0,0,1],"unique":true}],"type":"frc","fieldlength":16.721537,"fieldwidth":8.0264}
152 changes: 152 additions & 0 deletions src/main/deploy/Bunnybots-2025-AprilTagMap.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
{
"tags": [
{
"ID": 1,
"pose": {
"translation": {
"x": 3.7887655999999996,
"y": 3.7064442,
"z": 1.114425
},
"rotation": {
"quaternion": {
"W": -0.7071067811865475,
"X": -0.0,
"Y": 0.0,
"Z": 0.7071067811865476
}
}
}
},
{
"ID": 2,
"pose": {
"translation": {
"x": 4.095546799999999,
"y": 4.013199999999999,
"z": 1.114425
},
"rotation": {
"quaternion": {
"W": 1.0,
"X": 0.0,
"Y": 0.0,
"Z": 0.0
}
}
}
},
{
"ID": 3,
"pose": {
"translation": {
"x": 3.7887655999999996,
"y": 4.3199812,
"z": 1.114425
},
"rotation": {
"quaternion": {
"W": 0.7071067811865476,
"X": 0.0,
"Y": 0.0,
"Z": 0.7071067811865475
}
}
}
},
{
"ID": 4,
"pose": {
"translation": {
"x": 3.4820097999999997,
"y": 4.013199999999999,
"z": 1.114425
},
"rotation": {
"quaternion": {
"W": 6.123233995736766e-17,
"X": 0.0,
"Y": 0.0,
"Z": 1.0
}
}
}
},
{
"ID": 5,
"pose": {
"translation": {
"x": 12.9327656,
"y": 4.3199812,
"z": 1.114425
},
"rotation": {
"quaternion": {
"W": 0.7071067811865476,
"X": 0.0,
"Y": 0.0,
"Z": 0.7071067811865475
}
}
}
},
{
"ID": 6,
"pose": {
"translation": {
"x": 12.626009799999999,
"y": 4.013199999999999,
"z": 1.114425
},
"rotation": {
"quaternion": {
"W": 6.123233995736766e-17,
"X": 0.0,
"Y": 0.0,
"Z": 1.0
}
}
}
},
{
"ID": 7,
"pose": {
"translation": {
"x": 12.9327656,
"y": 3.7064442,
"z": 1.114425
},
"rotation": {
"quaternion": {
"W": -0.7071067811865475,
"X": -0.0,
"Y": 0.0,
"Z": 0.7071067811865476
}
}
}
},
{
"ID": 8,
"pose": {
"translation": {
"x": 13.239546799999998,
"y": 4.013199999999999,
"z": 1.114425
},
"rotation": {
"quaternion": {
"W": 1.0,
"X": 0.0,
"Y": 0.0,
"Z": 0.0
}
}
}
}
],
"field": {
"length": 16.721537,
"width": 8.026400
}
}
66 changes: 66 additions & 0 deletions src/main/deploy/choreo/LeftOne.traj
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
{
"name":"LeftOne",
"version":1,
"snapshot":{
"waypoints":[
{"x":0.4616594612598419, "y":6.022614002227783, "heading":-0.5208568941062287, "intervals":14, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false},
{"x":2.20108699798584, "y":5.841423988342285, "heading":0.0, "intervals":11, "split":false, "fixTranslation":true, "fixHeading":false, "overrideIntervals":false},
{"x":3.7154877185821538, "y":5.7213592529296875, "heading":0.0, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":false, "overrideIntervals":false}],
"constraints":[
{"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true},
{"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true},
{"from":1, "to":2, "data":{"type":"PointAt", "props":{"x":3.788172721862793, "y":4.018669128417969, "tolerance":0.017453292519943295, "flip":false}}, "enabled":true},
{"from":0, "to":2, "data":{"type":"MaxVelocity", "props":{"max":3.0}}, "enabled":true}],
"targetDt":0.05
},
"params":{
"waypoints":[
{"x":{"exp":"0.4616594612598419 m", "val":0.4616594612598419}, "y":{"exp":"6.022614002227783 m", "val":6.022614002227783}, "heading":{"exp":"-0.5208568941062287 rad", "val":-0.5208568941062287}, "intervals":14, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false},
{"x":{"exp":"2.20108699798584 m", "val":2.20108699798584}, "y":{"exp":"5.841423988342285 m", "val":5.841423988342285}, "heading":{"exp":"0 deg", "val":0.0}, "intervals":11, "split":false, "fixTranslation":true, "fixHeading":false, "overrideIntervals":false},
{"x":{"exp":"3.7154877185821533 m", "val":3.7154877185821538}, "y":{"exp":"5.7213592529296875 m", "val":5.7213592529296875}, "heading":{"exp":"0 deg", "val":0.0}, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":false, "overrideIntervals":false}],
"constraints":[
{"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true},
{"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true},
{"from":1, "to":2, "data":{"type":"PointAt", "props":{"x":{"exp":"3.788172721862793 m", "val":3.788172721862793}, "y":{"exp":"4.018669128417969 m", "val":4.018669128417969}, "tolerance":{"exp":"1 deg", "val":0.017453292519943295}, "flip":false}}, "enabled":true},
{"from":0, "to":2, "data":{"type":"MaxVelocity", "props":{"max":{"exp":"3 m / s", "val":3.0}}}, "enabled":true}],
"targetDt":{
"exp":"0.05 s",
"val":0.05
}
},
"trajectory":{
"sampleType":"Swerve",
"waypoints":[0.0,0.60468,1.13334],
"samples":[
{"t":0.0, "x":0.46166, "y":6.02261, "heading":-0.52086, "vx":0.0, "vy":0.0, "omega":0.0, "ax":69.06474, "ay":-7.2257, "alpha":-0.12549, "fx":[626.40048,626.62775,626.68804,626.46299], "fy":[-67.01051,-64.98979,-64.0876,-66.11379]},
{"t":0.04319, "x":0.52608, "y":6.01587, "heading":-0.52086, "vx":2.98301, "vy":-0.31209, "omega":-0.00542, "ax":0.00091, "ay":-0.00009, "alpha":-5.40386, "fx":[9.01247,33.24763,-8.99599,-33.23123], "fy":[-33.24027,9.00336,33.23858,-9.00511]},
{"t":0.08638, "x":0.65492, "y":6.00239, "heading":-0.52109, "vx":2.98305, "vy":-0.31209, "omega":-0.23882, "ax":0.0, "ay":0.0, "alpha":-3.73531, "fx":[6.21863,22.97759,-6.21863,-22.97759], "fy":[-22.97759,6.21863,22.97759,-6.21863]},
{"t":0.12957, "x":0.78376, "y":5.98891, "heading":-0.53141, "vx":2.98305, "vy":-0.31209, "omega":-0.40015, "ax":0.0, "ay":0.0, "alpha":-2.58524, "fx":[4.13969,15.9465,-4.13969,-15.9465], "fy":[-15.9465,4.13969,15.9465,-4.13969]},
{"t":0.17277, "x":0.91261, "y":5.97544, "heading":-0.54869, "vx":2.98305, "vy":-0.31209, "omega":-0.51181, "ax":0.0, "ay":0.0, "alpha":-1.79788, "fx":[2.68682,11.13793,-2.68682,-11.13793], "fy":[-11.13793,2.68682,11.13793,-2.68682]},
{"t":0.21596, "x":1.04145, "y":5.96196, "heading":-0.5708, "vx":2.98305, "vy":-0.31209, "omega":-0.58947, "ax":0.0, "ay":0.0, "alpha":-1.26447, "fx":[1.71605,7.87328,-1.71605,-7.87328], "fy":[-7.87328,1.71605,7.87328,-1.71605]},
{"t":0.25915, "x":1.17029, "y":5.94848, "heading":-0.59626, "vx":2.98305, "vy":-0.31209, "omega":-0.64408, "ax":0.0, "ay":0.0, "alpha":-0.91045, "fx":[1.09089,5.69859,-1.09089,-5.69859], "fy":[-5.69859,1.09089,5.69859,-1.09089]},
{"t":0.30234, "x":1.29913, "y":5.935, "heading":-0.62407, "vx":2.98305, "vy":-0.31209, "omega":-0.68341, "ax":0.0, "ay":0.0, "alpha":-0.68599, "fx":[0.7022,4.31491,-0.7022,-4.31491], "fy":[-4.31491,0.7022,4.31491,-0.7022]},
{"t":0.34553, "x":1.42797, "y":5.92152, "heading":-0.65359, "vx":2.98305, "vy":-0.31209, "omega":-0.71303, "ax":0.0, "ay":0.0, "alpha":-0.55938, "fx":[0.4685,3.53385,-0.4685,-3.53385], "fy":[-3.53385,0.4685,3.53385,-0.4685]},
{"t":0.38872, "x":1.55682, "y":5.90804, "heading":-0.68439, "vx":2.98305, "vy":-0.31209, "omega":-0.73719, "ax":0.0, "ay":0.0, "alpha":-0.51268, "fx":[0.32945,3.25051,-0.32946,-3.25051], "fy":[-3.25051,0.32946,3.25051,-0.32945]},
{"t":0.43191, "x":1.68566, "y":5.89456, "heading":-0.71623, "vx":2.98305, "vy":-0.31209, "omega":-0.75934, "ax":0.0, "ay":0.0, "alpha":-0.53932, "fx":[0.23754,3.42876,-0.23754,-3.42876], "fy":[-3.42876,0.23754,3.42876,-0.23754]},
{"t":0.47511, "x":1.8145, "y":5.88108, "heading":-0.74903, "vx":2.98305, "vy":-0.31209, "omega":-0.78263, "ax":0.0, "ay":0.0, "alpha":-0.64323, "fx":[0.14906,4.09641,-0.14906,-4.09641], "fy":[-4.09639,0.14908,4.09643,-0.14904]},
{"t":0.5183, "x":1.94334, "y":5.8676, "heading":-0.78283, "vx":2.98305, "vy":-0.31209, "omega":-0.81041, "ax":0.00015, "ay":0.00145, "alpha":-0.83938, "fx":[0.01512,5.35051,-0.01237,-5.34777], "fy":[-5.33601,0.02688,5.36228,-0.00061]},
{"t":0.56149, "x":2.07218, "y":5.85412, "heading":-0.81783, "vx":2.98305, "vy":-0.31203, "omega":-0.84667, "ax":0.06501, "ay":0.83846, "alpha":-1.15577, "fx":[0.35103,7.95232,0.82847,-6.77287], "fy":[0.24482,7.36838,14.96585,7.84632]},
{"t":0.60468, "x":2.20109, "y":5.84142, "heading":-0.8544, "vx":2.98586, "vy":-0.27582, "omega":-0.89659, "ax":0.10217, "ay":1.00248, "alpha":-1.74029, "fx":[0.16241,11.99321,1.69112,-10.13929], "fy":[-1.97013,8.33216,20.15341,9.86208]},
{"t":0.64535, "x":2.3226, "y":5.83104, "heading":-0.89086, "vx":2.99001, "vy":-0.23505, "omega":-0.96736, "ax":0.0001, "ay":0.00132, "alpha":-1.79112, "fx":[-1.20062,11.35188,1.20251,-11.35], "fy":[-11.33898,-1.1896,11.3629,1.21353]},
{"t":0.68601, "x":2.44419, "y":5.82148, "heading":-0.9302, "vx":2.99002, "vy":-0.23499, "omega":-1.0402, "ax":-0.00007, "ay":-0.00085, "alpha":-1.86434, "fx":[-1.71499,11.75605,1.71378,-11.75726], "fy":[-11.76439,-1.72213,11.74892,1.70665]},
{"t":0.72668, "x":2.56578, "y":5.81192, "heading":-0.9725, "vx":2.99002, "vy":-0.23503, "omega":-1.11601, "ax":-0.00007, "ay":-0.00092, "alpha":-1.94802, "fx":[-2.30987,12.19695,2.30856,-12.19827], "fy":[-12.20599,-2.3176,12.18923,2.30083]},
{"t":0.76735, "x":2.68737, "y":5.80236, "heading":-1.01789, "vx":2.99001, "vy":-0.23507, "omega":-1.19523, "ax":-0.00008, "ay":-0.00099, "alpha":-2.01026, "fx":[-2.95231,12.46549,2.95089,-12.46691], "fy":[-12.4752,-2.9606,12.4572,2.9426]},
{"t":0.80801, "x":2.80897, "y":5.7928, "heading":-1.06649, "vx":2.99001, "vy":-0.23511, "omega":-1.27698, "ax":-0.00008, "ay":-0.00106, "alpha":-2.03597, "fx":[-3.60001,12.46475,3.59851,-12.46626], "fy":[-12.4751,-3.60886,12.45591,3.58966]},
{"t":0.84868, "x":2.93056, "y":5.78324, "heading":-1.11842, "vx":2.99001, "vy":-0.23515, "omega":-1.35978, "ax":-0.00009, "ay":-0.00112, "alpha":-2.00075, "fx":[-4.16888,12.04896,4.16728,-12.05056], "fy":[-12.05993,-4.17825,12.03959,4.15791]},
{"t":0.88934, "x":3.05215, "y":5.77368, "heading":-1.17372, "vx":2.99, "vy":-0.2352, "omega":-1.44114, "ax":-0.00009, "ay":-0.00114, "alpha":-1.88516, "fx":[-4.54959,11.1184,4.54797,-11.12003], "fy":[-11.12952,-4.55909,11.10891,4.53847]},
{"t":0.93001, "x":3.17374, "y":5.76411, "heading":-1.23232, "vx":2.99, "vy":-0.23524, "omega":-1.5178, "ax":-0.00008, "ay":-0.00098, "alpha":-2.02501, "fx":[-5.57811,11.63663,5.57671,-11.63804], "fy":[-11.64627,-5.58634,11.62841,5.56847]},
{"t":0.97068, "x":3.29534, "y":5.75455, "heading":-1.29405, "vx":2.99, "vy":-0.23528, "omega":-1.60015, "ax":-0.0001, "ay":-0.00123, "alpha":-4.02179, "fx":[-12.48253,22.3843,12.4808,-22.38609], "fy":[-22.39633,-12.49282,22.37406,12.47051]},
{"t":1.01134, "x":3.41693, "y":5.74498, "heading":-1.35912, "vx":2.98999, "vy":-0.23533, "omega":-1.7637, "ax":-0.00049, "ay":-0.00614, "alpha":-4.53752, "fx":[-15.69909,24.28201,15.69036,-24.29114], "fy":[-24.34225,-15.75051,24.23089,15.63893]},
{"t":1.05201, "x":3.53852, "y":5.7354, "heading":-1.43084, "vx":2.98997, "vy":-0.23558, "omega":-1.94823, "ax":-3.27561, "ay":0.19871, "alpha":46.54676, "fx":[146.09229,-264.03104,-209.77345,208.84897], "fy":[245.3104,174.71773,-229.64091,-183.1766]},
{"t":1.09268, "x":3.6574, "y":5.72599, "heading":-1.51007, "vx":2.85677, "vy":-0.2275, "omega":-0.05534, "ax":-70.24906, "ay":5.59435, "alpha":1.36092, "fx":[-636.12421,-636.53028,-638.35317,-638.14749], "fy":[64.76568,60.91615,37.18018,40.14243]},
{"t":1.13334, "x":3.71549, "y":5.72136, "heading":-1.51232, "vx":0.0, "vy":0.0, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}],
"splits":[0]
},
"events":[]
}
Loading
Loading