From 51689c624ec8679a4f466a9dada1cd047656521d Mon Sep 17 00:00:00 2001 From: TheSnowHatHero Date: Mon, 24 Feb 2025 08:01:32 -0600 Subject: [PATCH 01/42] ctre pneumatic hub --- src/subsystems/climber.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/subsystems/climber.rs b/src/subsystems/climber.rs index 32f945d..8270444 100644 --- a/src/subsystems/climber.rs +++ b/src/subsystems/climber.rs @@ -18,8 +18,8 @@ impl Default for Climber { impl Climber { pub fn new() -> Self { Self { - raise: Solenoid::new(ModuleType::Rev, RAISE), - grab: Solenoid::new(ModuleType::Rev, GRAB), + raise: Solenoid::new(ModuleType::CTRE, RAISE), + grab: Solenoid::new(ModuleType::CTRE, GRAB), } } From 1808625518ed21693dd387d6c7ee15ee60519a47 Mon Sep 17 00:00:00 2001 From: TheSnowHatHero Date: Fri, 28 Feb 2025 21:06:00 -0600 Subject: [PATCH 02/42] Mess with lineup to try to get accuracy, achieve very little --- src/constants.rs | 3 ++- src/lib.rs | 2 +- src/subsystems/drivetrain.rs | 2 +- src/subsystems/vision.rs | 4 +++- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/constants.rs b/src/constants.rs index 12b0e44..37e98a6 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -44,10 +44,11 @@ pub const HALF_FIELD_LENGTH_METERS: f64 = 8.2296; // 54/2 feet pub mod vision { use nalgebra::Vector2; - pub const LIMELIGHT_UPPER_PITCH_DEGREES: f64 = -35.15; + pub const LIMELIGHT_UPPER_PITCH_DEGREES: f64 = -34.45; pub const LIMELIGHT_UPPER_YAW_DEGREES: f64 = 90.; // Counterclockwise positive pub const LIMELIGHT_UPPER_HEIGHT_INCHES: f64 = 20.8; pub const ROBOT_CENTER_TO_LIMELIGHT_UPPER_INCHES: Vector2 = Vector2::new(11.118, 10.352); + pub const TX_FUDGE_FACTOR: f64 = 0.1 / 20.; //Increase distance by 10% for every 20 degrees of absolute tx } pub mod drivetrain { diff --git a/src/lib.rs b/src/lib.rs index a3aa3cb..7ef6135 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -223,7 +223,6 @@ impl Robot for Ferris { false }; - if self.controllers.left_drive.get(SCORE_L2) { score( drivetrain_aligned, @@ -333,6 +332,7 @@ pub fn score( indexer: &mut Indexer, elevator_position: ElevatorPosition, ) { + println!("dt_aligned: {}", drivetrain_aligned); elevator.set_target(elevator_position); let elevator_at_target = elevator.run_to_target_trapezoid(); diff --git a/src/subsystems/drivetrain.rs b/src/subsystems/drivetrain.rs index 87fba47..03699f8 100644 --- a/src/subsystems/drivetrain.rs +++ b/src/subsystems/drivetrain.rs @@ -625,7 +625,7 @@ impl Drivetrain { let yaw = quaternion_to_yaw(tag_rotation); let mut side_distance = Length::new::(13. / 2.); // theoretical is 13. / 2. - let forward_distance = Length::new::(16.75); //theoretical is 16.75 + let forward_distance = Length::new::(16.25); //theoretical is 16.75 let elevator_position = match target_level { ElevatorPosition::Bottom => Length::new::(-10.5), ElevatorPosition::L2 => Length::new::(-10.5), diff --git a/src/subsystems/vision.rs b/src/subsystems/vision.rs index a390499..771be05 100644 --- a/src/subsystems/vision.rs +++ b/src/subsystems/vision.rs @@ -2,7 +2,7 @@ use frcrs::limelight::{Limelight, LimelightResults}; use std::fs::File; use crate::constants::vision; -use crate::constants::vision::ROBOT_CENTER_TO_LIMELIGHT_UPPER_INCHES; +use crate::constants::vision::{ROBOT_CENTER_TO_LIMELIGHT_UPPER_INCHES, TX_FUDGE_FACTOR}; use frcrs::telemetry::Telemetry; use nalgebra::{Quaternion, Rotation2, Vector2, Vector3}; use serde_json::Value; @@ -146,6 +146,8 @@ impl Vision { let pitch_to_tag: Angle = Angle::new::( vision::LIMELIGHT_UPPER_PITCH_DEGREES + self.get_ty().get::(), ); + let mut dist = Length::new::(height_diff) / f64::tan(pitch_to_tag.get::()); + dist += (dist * TX_FUDGE_FACTOR * self.get_tx().get::().abs()); Some(Length::new::(height_diff) / f64::tan(pitch_to_tag.get::())) } None => None, From bd339a14283d1c93a9b64f409aedeedd6526432a Mon Sep 17 00:00:00 2001 From: TheSnowHatHero Date: Sat, 1 Mar 2025 10:54:27 -0600 Subject: [PATCH 03/42] Fix tag distance estimate for borders of screen --- src/constants.rs | 12 ++++++++++-- src/subsystems/vision.rs | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/constants.rs b/src/constants.rs index 37e98a6..4d9286a 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -29,6 +29,11 @@ pub mod robotmap { pub mod indexer { pub const MOTOR: i32 = 12; pub const LASER_CAN: i32 = 0; // Cant save can id + pub const BOTTOM_SPEED: f64 = -0.25; + pub const L2_SPEED: f64 = -0.5; + pub const L3_SPEED: f64 = -0.5; + pub const L4_SPEED: f64 = -0.375; + } pub mod climber { @@ -44,11 +49,14 @@ pub const HALF_FIELD_LENGTH_METERS: f64 = 8.2296; // 54/2 feet pub mod vision { use nalgebra::Vector2; - pub const LIMELIGHT_UPPER_PITCH_DEGREES: f64 = -34.45; + pub const LIMELIGHT_UPPER_PITCH_DEGREES: f64 = -34.35; pub const LIMELIGHT_UPPER_YAW_DEGREES: f64 = 90.; // Counterclockwise positive pub const LIMELIGHT_UPPER_HEIGHT_INCHES: f64 = 20.8; pub const ROBOT_CENTER_TO_LIMELIGHT_UPPER_INCHES: Vector2 = Vector2::new(11.118, 10.352); - pub const TX_FUDGE_FACTOR: f64 = 0.1 / 20.; //Increase distance by 10% for every 20 degrees of absolute tx + + // Increase distance by 10% for every 20 degrees of absolute value of tx + // Set this to 0 for new robots + pub const TX_FUDGE_FACTOR: f64 = 0.095 / 20.; } pub mod drivetrain { diff --git a/src/subsystems/vision.rs b/src/subsystems/vision.rs index 771be05..3293762 100644 --- a/src/subsystems/vision.rs +++ b/src/subsystems/vision.rs @@ -148,7 +148,7 @@ impl Vision { ); let mut dist = Length::new::(height_diff) / f64::tan(pitch_to_tag.get::()); dist += (dist * TX_FUDGE_FACTOR * self.get_tx().get::().abs()); - Some(Length::new::(height_diff) / f64::tan(pitch_to_tag.get::())) + Some(dist) } None => None, } From 8de420ec06e2038f90048e29838be145522a6a8d Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Sat, 1 Mar 2025 10:18:09 -0600 Subject: [PATCH 04/42] mirror path on red --- src/auto/path.rs | 10 +++++++++- src/constants.rs | 7 +++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/auto/path.rs b/src/auto/path.rs index c4b1968..030700a 100644 --- a/src/auto/path.rs +++ b/src/auto/path.rs @@ -2,6 +2,7 @@ use frcrs::telemetry::Telemetry; use std::f64::consts::PI; use std::ops::{Add, Neg}; use std::time::Duration; +use frcrs::alliance_station; use frcrs::input::RobotState; use tokio::fs::File; @@ -26,6 +27,7 @@ use crate::{ }, subsystems::Drivetrain, }; +use crate::constants::{HALF_FIELD_LENGTH_METERS, HALF_FIELD_WIDTH_METERS}; // TODO: Test pub async fn drive( @@ -70,6 +72,7 @@ pub async fn follow_path_segment( let mut last_error = Vector2::zeros(); let mut last_loop = Instant::now(); let mut i = Vector2::zeros(); + let red = alliance_station().red(); loop { let state = RobotState::get(); @@ -94,7 +97,12 @@ pub async fn follow_path_segment( break; } - let setpoint = path.get(Time::new::(elapsed)); + let setpoint = if red { + path.get(Time::new::(elapsed)).mirror(HALF_FIELD_LENGTH_METERS, HALF_FIELD_WIDTH_METERS) + } else { + path.get(Time::new::(elapsed)) + }; + let mut angle = -setpoint.heading; // let mut angle_radians: f64 = setpoint.heading.get::(); diff --git a/src/constants.rs b/src/constants.rs index 4d9286a..4d33771 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -1,3 +1,6 @@ +use uom::si::f64::Length; +use uom::si::length::meter; + pub const FPS_LIMIT: f64 = 250.; pub mod robotmap { @@ -43,8 +46,8 @@ pub mod robotmap { } // TODO: get 2025 field dimensions -pub const HALF_FIELD_WIDTH_METERS: f64 = 4.1148; // 54/4 feet -pub const HALF_FIELD_LENGTH_METERS: f64 = 8.2296; // 54/2 feet +pub const HALF_FIELD_WIDTH_METERS: Length = Length::new::(17.55 / 2.); +pub const HALF_FIELD_LENGTH_METERS: Length = Length::new::(8.05 / 2.); pub mod vision { use nalgebra::Vector2; From 4ef81b05c26e812137dcaabb0e580730ea0f1124 Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Sat, 1 Mar 2025 10:24:32 -0600 Subject: [PATCH 05/42] added reset_heading_offset --- src/subsystems/drivetrain.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/subsystems/drivetrain.rs b/src/subsystems/drivetrain.rs index 03699f8..c810351 100644 --- a/src/subsystems/drivetrain.rs +++ b/src/subsystems/drivetrain.rs @@ -539,6 +539,10 @@ impl Drivetrain { self.offset = self.get_angle(); } + pub fn reset_heading_offset(&mut self, offset: Angle) { + self.offset = self.get_angle() + offset; + } + pub async fn lineup(&mut self, side: LineupSide, target_level: ElevatorPosition) -> bool { let mut last_error = Vector2::zeros(); let mut i = Vector2::zeros(); From 163abe689d0c1ffd3d58c400cdf098bacdf2497f Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Sat, 1 Mar 2025 10:56:19 -0600 Subject: [PATCH 06/42] mid autos --- src/auto/mod.rs | 99 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 95 insertions(+), 4 deletions(-) diff --git a/src/auto/mod.rs b/src/auto/mod.rs index 8310414..0507e31 100644 --- a/src/auto/mod.rs +++ b/src/auto/mod.rs @@ -9,6 +9,8 @@ use std::time::Duration; use tokio::join; use tokio::time::{sleep, Instant, timeout}; use uom::si::{f64::Length, length::meter}; +use uom::si::angle::degree; +use uom::si::f64::Angle; use crate::subsystems::{Drivetrain, Elevator, ElevatorPosition, Indexer, LineupSide}; use crate::{constants, score, Ferris}; @@ -22,6 +24,8 @@ pub enum Auto { BlueLong, Blue2, RotationTest, + BlueMidLeft2, + Center1, } impl Auto { @@ -33,6 +37,8 @@ impl Auto { "BlueLong" => Auto::BlueLong, "Blue2" => Auto::Blue2, "RotationTest" => Auto::RotationTest, + "BlueMidLeft2" => Auto::BlueMidLeft2, + "Center1" => Auto::Center1, _ => Auto::Nothing, } } @@ -45,6 +51,8 @@ impl Auto { Auto::BlueLong => "BlueLong", Auto::Blue2 => "Blue2", Auto::RotationTest => "RotationTest", + Auto::BlueMidLeft2 => "BlueMidLeft2", + Auto::Center1 => "Center1", _ => "none", } } @@ -52,11 +60,13 @@ impl Auto { pub fn iterator() -> Vec { vec![ Auto::Nothing, - Auto::BlueTriangle, - Auto::Blue180, - Auto::BlueLong, + // Auto::BlueTriangle, + // Auto::Blue180, + // Auto::BlueLong, Auto::Blue2, - Auto::RotationTest, + // Auto::RotationTest, + Auto::BlueMidLeft2, + Auto::Center1, ] } @@ -81,6 +91,8 @@ impl Auto { Auto::BlueLong => blue_long(ferris).await.expect("Failed running auto"), Auto::Blue2 => blue_2(ferris).await.expect("Failed running auto"), Auto::RotationTest => rotation_test(ferris).await.expect("Failed running auto"), + Auto::BlueMidLeft2 => blue_mid_left_2(ferris).await.expect("Failed running auto"), + Auto::Center1 => center_1(ferris).await.expect("Failed running auto"), } } } @@ -273,3 +285,82 @@ async fn rotation_test(robot: Ferris) -> Result<(), Box> Ok(()) } + +async fn blue_mid_left_2(robot: Ferris) -> Result<(), Box> { + let mut drivetrain = robot.drivetrain.deref().borrow_mut(); + let mut elevator = robot.elevator.deref().borrow_mut(); + let mut indexer = robot.indexer.deref().borrow_mut(); + + drivetrain.reset_heading_offset(Angle::new::(180.)); + + drivetrain.odometry.set_abs(Vector2::new( + Length::new::(7.2230658531188965), + Length::new::(5.444962978363037) + )); + + join!( + drive("BlueHighMid2", &mut drivetrain, 1), + async { + sleep(Duration::from_secs_f64(0.5)).await; + elevator.set_target(ElevatorPosition::L4); + elevator.run_to_target_trapezoid(); + } + ); + + let _ = timeout(Duration::from_secs_f64(0.5), async { + loop { + drivetrain.update_limelight().await; + sleep(Duration::from_millis(20)).await; + } + }).await; + + async_score( + &mut drivetrain, + LineupSide::Right, + &mut elevator, + &mut indexer, + ElevatorPosition::L4, + ).await; + + join!(drive("BlueHighMid2", &mut drivetrain, 3), async { + elevator.set_target(ElevatorPosition::Bottom); + elevator.run_to_target_trapezoid_async().await; + + indexer.set_speed(-0.25); + + wait(|| indexer.get_laser_dist() < LASER_TRIP_DISTANCE_MM && indexer.get_laser_dist() != -1).await; + + indexer.stop(); + }); + + join!(drive("BlueHighMid2", &mut drivetrain, 4), async { + sleep(Duration::from_secs_f64(1.25)).await; + elevator.set_target(ElevatorPosition::L4); + elevator.run_to_target_trapezoid(); + }); + + let _ = timeout(Duration::from_secs_f64(0.5), async { + loop { + drivetrain.update_limelight().await; + sleep(Duration::from_millis(20)).await; + } + }).await; + + async_score( + &mut drivetrain, + LineupSide::Left, + &mut elevator, + &mut indexer, + ElevatorPosition::L4, + ) + .await; + + Ok(()) +} + +async fn center_1(robot: Ferris) -> Result<(), Box> { + + + + Ok(()) +} \ No newline at end of file From f5d7673a15d528ffc8a8a4bac0d6f5969a20b745 Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Sat, 1 Mar 2025 17:15:25 -0600 Subject: [PATCH 07/42] indexer speed and auto changes --- auto/Blue2.traj | 488 +++++++++++++++++------------------ src/auto/mod.rs | 12 +- src/auto/path.rs | 4 +- src/constants.rs | 10 +- src/lib.rs | 13 +- src/main.rs | 2 +- src/subsystems/drivetrain.rs | 17 +- 7 files changed, 277 insertions(+), 269 deletions(-) diff --git a/auto/Blue2.traj b/auto/Blue2.traj index fd25ab6..9db077f 100644 --- a/auto/Blue2.traj +++ b/auto/Blue2.traj @@ -3,47 +3,47 @@ "version":1, "snapshot":{ "waypoints":[ - {"x":8.020708084106445, "y":7.632927417755127, "heading":0.0, "intervals":55, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, - {"x":5.0278000831604, "y":6.317748546600342, "heading":-2.3136669276919144, "intervals":32, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, - {"x":4.00510835647583, "y":5.744552135467529, "heading":-2.832393716810233, "intervals":32, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, - {"x":4.20214, "y":5.31078, "heading":-2.61799, "intervals":55, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, - {"x":0.8179629445075989, "y":6.8356733322143555, "heading":2.223643141658804, "intervals":53, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":7.223065853118896, "y":7.611384391784668, "heading":3.141592653589793, "intervals":48, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":5.976703643798828, "y":6.435436248779297, "heading":0.0, "intervals":50, "split":false, "fixTranslation":true, "fixHeading":false, "overrideIntervals":false}, + {"x":4.140191078186035, "y":5.898554801940918, "heading":-2.832393716810233, "intervals":35, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":4.20214, "y":5.31078, "heading":-2.61799, "intervals":59, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":0.8179629445075989, "y":6.8356733322143555, "heading":2.223643141658804, "intervals":57, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, {"x":3.9226479530334473, "y":5.69948148727417, "heading":-2.61799, "intervals":35, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], "constraints":[ {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":0.0, "y":0.0, "w":17.548, "h":8.052}}, "enabled":false}, - {"from":0, "to":2, "data":{"type":"MaxAcceleration", "props":{"max":3.0}}, "enabled":true}, + {"from":0, "to":2, "data":{"type":"MaxAcceleration", "props":{"max":2.5}}, "enabled":true}, {"from":2, "to":2, "data":{"type":"MaxAcceleration", "props":{"max":1.0}}, "enabled":true}, {"from":3, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, {"from":3, "to":3, "data":{"type":"MaxAcceleration", "props":{"max":0.5}}, "enabled":true}, {"from":2, "to":3, "data":{"type":"MaxAcceleration", "props":{"max":1.0}}, "enabled":true}, {"from":2, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, {"from":5, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, - {"from":3, "to":5, "data":{"type":"MaxAcceleration", "props":{"max":3.0}}, "enabled":true}, + {"from":3, "to":5, "data":{"type":"MaxAcceleration", "props":{"max":2.5}}, "enabled":true}, {"from":4, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}], "targetDt":0.05 }, "params":{ "waypoints":[ - {"x":{"exp":"8.020708084106445 m", "val":8.020708084106445}, "y":{"exp":"7.632927417755127 m", "val":7.632927417755127}, "heading":{"exp":"0 deg", "val":0.0}, "intervals":55, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, - {"x":{"exp":"5.0278000831604 m", "val":5.0278000831604}, "y":{"exp":"6.317748546600342 m", "val":6.317748546600342}, "heading":{"exp":"-2.3136669276919144 rad", "val":-2.3136669276919144}, "intervals":32, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, - {"x":{"exp":"4.00510835647583 m", "val":4.00510835647583}, "y":{"exp":"5.744552135467529 m", "val":5.744552135467529}, "heading":{"exp":"-2.832393716810233 rad", "val":-2.832393716810233}, "intervals":32, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, - {"x":{"exp":"4.20214 m", "val":4.20214}, "y":{"exp":"5.31078 m", "val":5.31078}, "heading":{"exp":"-2.61799 rad", "val":-2.61799}, "intervals":55, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, - {"x":{"exp":"0.8179629445075989 m", "val":0.8179629445075989}, "y":{"exp":"6.8356733322143555 m", "val":6.8356733322143555}, "heading":{"exp":"2.223643141658804 rad", "val":2.223643141658804}, "intervals":53, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"7.2230658531188965 m", "val":7.223065853118896}, "y":{"exp":"7.611384391784668 m", "val":7.611384391784668}, "heading":{"exp":"180 deg", "val":3.141592653589793}, "intervals":48, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"5.976703643798828 m", "val":5.976703643798828}, "y":{"exp":"6.435436248779297 m", "val":6.435436248779297}, "heading":{"exp":"0 deg", "val":0.0}, "intervals":50, "split":false, "fixTranslation":true, "fixHeading":false, "overrideIntervals":false}, + {"x":{"exp":"4.140191078186035 m", "val":4.140191078186035}, "y":{"exp":"5.898554801940918 m", "val":5.898554801940918}, "heading":{"exp":"-2.832393716810233 rad", "val":-2.832393716810233}, "intervals":35, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"4.20214 m", "val":4.20214}, "y":{"exp":"5.31078 m", "val":5.31078}, "heading":{"exp":"-2.61799 rad", "val":-2.61799}, "intervals":59, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"0.8179629445075989 m", "val":0.8179629445075989}, "y":{"exp":"6.8356733322143555 m", "val":6.8356733322143555}, "heading":{"exp":"2.223643141658804 rad", "val":2.223643141658804}, "intervals":57, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, {"x":{"exp":"3.9226479530334473 m", "val":3.9226479530334473}, "y":{"exp":"5.69948148727417 m", "val":5.69948148727417}, "heading":{"exp":"-2.61799 rad", "val":-2.61799}, "intervals":35, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], "constraints":[ {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":{"exp":"0 m", "val":0.0}, "y":{"exp":"0 m", "val":0.0}, "w":{"exp":"17.548 m", "val":17.548}, "h":{"exp":"8.052 m", "val":8.052}}}, "enabled":false}, - {"from":0, "to":2, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"3 m / s ^ 2", "val":3.0}}}, "enabled":true}, + {"from":0, "to":2, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"2.5 m / s ^ 2", "val":2.5}}}, "enabled":true}, {"from":2, "to":2, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"1 m / s ^ 2", "val":1.0}}}, "enabled":true}, {"from":3, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, {"from":3, "to":3, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"0.5 m / s ^ 2", "val":0.5}}}, "enabled":true}, {"from":2, "to":3, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"1 m / s ^ 2", "val":1.0}}}, "enabled":true}, {"from":2, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, {"from":5, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, - {"from":3, "to":5, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"3 m / s ^ 2", "val":3.0}}}, "enabled":true}, + {"from":3, "to":5, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"2.5 m / s ^ 2", "val":2.5}}}, "enabled":true}, {"from":4, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}], "targetDt":{ "exp":"0.05 s", @@ -52,237 +52,237 @@ }, "trajectory":{ "sampleType":"Swerve", - "waypoints":[0.0,1.5515,2.436,3.81681,6.07625,8.1767], + "waypoints":[0.0,1.1875,2.44885,3.98741,6.45851,8.75936], "samples":[ - {"t":0.0, "x":8.02071, "y":7.63293, "heading":0.0, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-2.77792, "ay":-1.12706, "alpha":-9.16268, "fx":[-23.34296,-25.92143,-71.96829,-67.77383], "fy":[-49.61934,8.14858,6.65304,-41.86602]}, - {"t":0.02821, "x":8.0196, "y":7.63248, "heading":0.0, "vx":-0.07836, "vy":-0.03179, "omega":-0.25847, "ax":-2.77867, "ay":-1.128, "alpha":-8.40171, "fx":[-25.35959,-27.74462,-69.94213,-66.01109], "fy":[-46.97483,5.66517,4.74794,-40.18642]}, - {"t":0.05642, "x":8.01629, "y":7.63113, "heading":-0.00729, "vx":-0.15675, "vy":-0.06361, "omega":-0.49547, "ax":-2.77841, "ay":-1.12857, "alpha":-7.68008, "fx":[-27.22267,-29.15294,-67.96232,-64.70181], "fy":[-44.42727,3.16129,2.76458,-38.28535]}, - {"t":0.08463, "x":8.01076, "y":7.62889, "heading":-0.02127, "vx":-0.23512, "vy":-0.09545, "omega":-0.71212, "ax":-2.77813, "ay":-1.12917, "alpha":-7.01969, "fx":[-29.20862,-30.5712,-65.86358,-63.37768], "fy":[-42.55013,0.70559,1.50744,-36.49045]}, - {"t":0.11284, "x":8.00302, "y":7.62575, "heading":-0.04136, "vx":-0.31349, "vy":-0.1273, "omega":-0.91014, "ax":-2.77785, "ay":-1.1298, "alpha":-6.35518, "fx":[-31.14675,-31.66891,-63.93019,-62.25572], "fy":[-40.38124,-1.77608,-0.15683,-34.55595]}, - {"t":0.14105, "x":7.99307, "y":7.62171, "heading":-0.06703, "vx":-0.39185, "vy":-0.15917, "omega":-1.08941, "ax":-2.77754, "ay":-1.13046, "alpha":-5.75202, "fx":[-33.04966,-32.92852,-61.89571,-61.10695], "fy":[-38.80012,-4.02914,-1.31164,-32.77445]}, - {"t":0.16925, "x":7.98091, "y":7.61677, "heading":-0.09776, "vx":-0.4702, "vy":-0.19106, "omega":-1.25167, "ax":-2.77722, "ay":-1.13116, "alpha":-5.14807, "fx":[-34.89639,-33.84028,-60.09272,-60.12979], "fy":[-36.86589,-6.33047,-2.86822,-30.89798]}, - {"t":0.19746, "x":7.96655, "y":7.61093, "heading":-0.13307, "vx":-0.54855, "vy":-0.22297, "omega":-1.39689, "ax":-2.77688, "ay":-1.1319, "alpha":-4.60364, "fx":[-36.59874,-35.08704,-58.20728,-59.04297], "fy":[-35.47134,-8.29347,-3.98476,-29.26342]}, - {"t":0.22567, "x":7.94997, "y":7.60419, "heading":-0.17248, "vx":-0.62688, "vy":-0.2549, "omega":-1.52676, "ax":-2.77653, "ay":-1.13267, "alpha":-4.06101, "fx":[-38.27458,-35.91566,-56.60235,-58.11919], "fy":[-33.67653,-10.31773,-5.50887,-27.56265]}, - {"t":0.25388, "x":7.93118, "y":7.59655, "heading":-0.21554, "vx":-0.7052, "vy":-0.28685, "omega":-1.64132, "ax":-2.77615, "ay":-1.1335, "alpha":-3.59046, "fx":[-39.75054,-36.96309,-55.03794,-57.13425], "fy":[-32.37814,-11.96791,-6.65865,-26.11755]}, - {"t":0.28209, "x":7.91018, "y":7.588, "heading":-0.26184, "vx":-0.78351, "vy":-0.31883, "omega":-1.7426, "ax":-2.77575, "ay":-1.13437, "alpha":-3.10483, "fx":[-41.13018,-38.02253,-53.586,-56.11984], "fy":[-30.85159,-13.55992,-8.10934,-24.66064]}, - {"t":0.3103, "x":7.88697, "y":7.57856, "heading":-0.311, "vx":-0.86181, "vy":-0.35083, "omega":-1.83018, "ax":-2.77531, "ay":-1.13531, "alpha":-2.66966, "fx":[-42.37158,-39.08228,-52.28016,-55.09517], "fy":[-29.42124,-14.89666,-9.38908,-23.53828]}, - {"t":0.33851, "x":7.86156, "y":7.56821, "heading":-0.36263, "vx":-0.9401, "vy":-0.38285, "omega":-1.90549, "ax":-2.77486, "ay":-1.1363, "alpha":-2.24022, "fx":[-43.47519,-40.16735,-51.11355,-54.04208], "fy":[-27.92302,-16.11275,-10.79719,-22.47962]}, - {"t":0.36672, "x":7.83394, "y":7.55696, "heading":-0.41638, "vx":-1.01838, "vy":-0.41491, "omega":-1.96869, "ax":-2.77437, "ay":-1.13736, "alpha":-1.85151, "fx":[-44.41954,-41.23763,-50.09969,-53.00796], "fy":[-26.58725,-17.07719,-12.14848,-21.57195]}, - {"t":0.39493, "x":7.8041, "y":7.5448, "heading":-0.47191, "vx":-1.09664, "vy":-0.44699, "omega":-2.02092, "ax":-2.77385, "ay":-1.13849, "alpha":-1.47205, "fx":[-45.22816,-42.32388,-49.23284,-51.94455], "fy":[-25.16713,-17.94421,-13.52263,-20.82748]}, - {"t":0.42314, "x":7.77207, "y":7.53174, "heading":-0.52892, "vx":-1.17489, "vy":-0.47911, "omega":-2.06244, "ax":-2.77328, "ay":-1.13971, "alpha":-1.12773, "fx":[-45.88226,-43.38348,-48.52324,-50.90199], "fy":[-23.90125,-18.5275,-14.86168,-20.25423]}, - {"t":0.45134, "x":7.73782, "y":7.51777, "heading":-0.5871, "vx":-1.25312, "vy":-0.51126, "omega":-2.09425, "ax":-2.77268, "ay":-1.14101, "alpha":-0.79529, "fx":[-46.40307,-44.43355,-47.95767,-49.85577], "fy":[-22.58653,-19.06514,-16.15613,-19.82518]}, - {"t":0.47955, "x":7.70137, "y":7.5029, "heading":-0.64618, "vx":-1.33134, "vy":-0.54344, "omega":-2.11669, "ax":-2.77202, "ay":-1.14243, "alpha":-0.49084, "fx":[-46.78003,-45.44507,-47.53958,-48.84072], "fy":[-21.41667,-19.30543,-17.43058,-19.57672]}, - {"t":0.50776, "x":7.66271, "y":7.48711, "heading":-0.70589, "vx":-1.40953, "vy":-0.57567, "omega":-2.13053, "ax":-2.77132, "ay":-1.14393, "alpha":-0.20196, "fx":[-47.03216,-46.42083,-47.25766,-47.84707], "fy":[-20.23985,-19.55275,-18.59871,-19.44066]}, - {"t":0.53597, "x":7.62184, "y":7.47042, "heading":-0.76599, "vx":-1.48771, "vy":-0.60794, "omega":-2.13623, "ax":-2.77055, "ay":-1.1456, "alpha":0.06637, "fx":[-47.1576,-47.34744,-47.10001,-46.90007], "fy":[-19.19763,-19.49998,-19.75698,-19.49064]}, - {"t":0.56418, "x":7.57878, "y":7.45281, "heading":-0.82625, "vx":-1.56586, "vy":-0.64025, "omega":-2.13436, "ax":-2.76972, "ay":-1.14738, "alpha":0.31498, "fx":[-47.17114,-48.21288,-47.06829,-45.99637], "fy":[-18.18985,-19.51018,-20.7606,-19.60565]}, - {"t":0.59239, "x":7.5335, "y":7.43429, "heading":-0.88646, "vx":-1.64399, "vy":-0.67262, "omega":-2.12547, "ax":-2.7688, "ay":-1.14936, "alpha":0.55014, "fx":[-47.08081,-49.02211,-47.12707,-45.15592], "fy":[-17.30642,-19.21904,-21.76172,-19.91378]}, - {"t":0.6206, "x":7.48602, "y":7.41486, "heading":-0.94642, "vx":-1.7221, "vy":-0.70504, "omega":-2.10995, "ax":-2.7678, "ay":-1.15149, "alpha":0.76154, "fx":[-46.89399,-49.74954,-47.29975,-44.37463], "fy":[-16.49418,-19.04872,-22.57754,-20.22588]}, - {"t":0.64881, "x":7.43634, "y":7.39452, "heading":-1.00594, "vx":-1.80018, "vy":-0.73753, "omega":-2.08847, "ax":-2.76668, "ay":-1.15388, "alpha":0.96584, "fx":[-46.63043,-50.41785,-47.52263,-43.67102], "fy":[-15.79279,-18.58397,-23.39309,-20.73876]}, - {"t":0.67702, "x":7.38446, "y":7.37325, "heading":-1.06485, "vx":-1.87822, "vy":-0.77008, "omega":-2.06123, "ax":-2.76546, "ay":-1.15647, "alpha":1.14234, "fx":[-46.28762,-50.98735,-47.84756,-43.03644], "fy":[-15.19237,-18.29632,-24.01111,-21.18522]}, - {"t":0.70523, "x":7.33038, "y":7.35107, "heading":-1.12299, "vx":-1.95623, "vy":-0.8027, "omega":-2.029, "ax":-2.76408, "ay":-1.15942, "alpha":1.27831, "fx":[-45.68958,-51.40125,-47.98437,-42.98938], "fy":[-14.72138,-17.74374,-24.66942,-21.75119]}, - {"t":0.73343, "x":7.2741, "y":7.32796, "heading":-1.18023, "vx":-2.0342, "vy":-0.8354, "omega":-1.99294, "ax":-2.76255, "ay":-1.16265, "alpha":1.46019, "fx":[-45.44404,-51.9019,-48.59785,-42.01695], "fy":[-14.32877,-17.34844,-25.05778,-22.3703]}, - {"t":0.76164, "x":7.21561, "y":7.30394, "heading":-1.23645, "vx":-2.11213, "vy":-0.8682, "omega":-1.95175, "ax":-2.76079, "ay":-1.16637, "alpha":1.56149, "fx":[-45.30923,-52.04712,-48.59029,-41.89412], "fy":[-13.97525,-16.79014,-25.55014,-23.04328]}, - {"t":0.78985, "x":7.15494, "y":7.27898, "heading":-1.29151, "vx":-2.19001, "vy":-0.9011, "omega":-1.9077, "ax":-2.75881, "ay":-1.17052, "alpha":1.71094, "fx":[-44.46535,-52.46422,-49.44184,-41.33505], "fy":[-13.89306,-16.40983,-25.70782,-23.63015]}, - {"t":0.81806, "x":7.09206, "y":7.2531, "heading":-1.34532, "vx":-2.26783, "vy":-0.93412, "omega":-1.85944, "ax":-2.7565, "ay":-1.17536, "alpha":1.80514, "fx":[-44.06092,-52.3339,-50.01713,-41.13727], "fy":[-13.80035,-15.88834,-25.89202,-24.38967]}, - {"t":0.84627, "x":7.02699, "y":7.22628, "heading":-1.39777, "vx":-2.34559, "vy":-0.96728, "omega":-1.80852, "ax":-2.75388, "ay":-1.18081, "alpha":1.89629, "fx":[-43.44529,-52.68445,-50.26392,-40.97719], "fy":[-13.91895,-15.51177,-26.03012,-24.88037]}, - {"t":0.87448, "x":6.95973, "y":7.19852, "heading":-1.44879, "vx":-2.42328, "vy":-1.00059, "omega":-1.75503, "ax":-2.7507, "ay":-1.18742, "alpha":2.02671, "fx":[-42.77442,-53.22937,-50.44864,-40.70178], "fy":[-14.04545,-14.90832,-26.17401,-25.66299]}, - {"t":0.90269, "x":6.89027, "y":7.16982, "heading":-1.4983, "vx":-2.50087, "vy":-1.03408, "omega":-1.69785, "ax":-2.74702, "ay":-1.19497, "alpha":2.00847, "fx":[-42.47621,-52.56039,-50.96341,-40.90409], "fy":[-14.33563,-14.90414,-26.06759,-25.99677]}, - {"t":0.9309, "x":6.81863, "y":7.14018, "heading":-1.54619, "vx":-2.57836, "vy":-1.06779, "omega":-1.6412, "ax":-2.74239, "ay":-1.20444, "alpha":2.10621, "fx":[-41.85257,-52.9811,-51.01143,-40.74387], "fy":[-14.66699,-14.41078,-26.13277,-26.73804]}, - {"t":0.95911, "x":6.74481, "y":7.10958, "heading":-1.59249, "vx":-2.65572, "vy":-1.10177, "omega":-1.58178, "ax":-2.73684, "ay":-1.21564, "alpha":2.04985, "fx":[-41.62859,-52.11288,-51.41935,-41.05037], "fy":[-15.19172,-14.5789,-25.96619,-26.97364]}, - {"t":0.98732, "x":6.66881, "y":7.07801, "heading":-1.63711, "vx":-2.73293, "vy":-1.13606, "omega":-1.52396, "ax":-2.72953, "ay":-1.23025, "alpha":2.10313, "fx":[-41.07825,-52.43154,-51.24359,-40.96079], "fy":[-15.72072,-14.37376,-25.98539,-27.62468]}, - {"t":1.01552, "x":6.59063, "y":7.04548, "heading":-1.6801, "vx":-2.80992, "vy":-1.17077, "omega":-1.46463, "ax":-2.72013, "ay":-1.2487, "alpha":2.00057, "fx":[-40.96206,-51.29281,-51.48074,-41.3392], "fy":[-16.52155,-14.81561,-25.84621,-27.77684]}, - {"t":1.04373, "x":6.51028, "y":7.01195, "heading":-1.72141, "vx":-2.88666, "vy":-1.20599, "omega":-1.4082, "ax":-2.70695, "ay":-1.27412, "alpha":1.97695, "fx":[-40.58132,-51.23773,-51.02778,-41.33116], "fy":[-17.31902,-15.12447,-25.90668,-28.33976]}, - {"t":1.07194, "x":6.42777, "y":6.97743, "heading":-1.76114, "vx":-2.96302, "vy":-1.24193, "omega":-1.35243, "ax":-2.68799, "ay":-1.30963, "alpha":1.83637, "fx":[-40.45663,-49.96184,-50.87178,-41.59721], "fy":[-18.56128,-15.99055,-26.00969,-28.5443]}, - {"t":1.10015, "x":6.34312, "y":6.94187, "heading":-1.79929, "vx":-3.03884, "vy":-1.27888, "omega":-1.30063, "ax":-2.65706, "ay":-1.36531, "alpha":1.73328, "fx":[-39.99606,-49.66719,-49.77482,-41.34499], "fy":[-19.94107,-17.2558,-26.45042,-29.24676]}, - {"t":1.12836, "x":6.25634, "y":6.90525, "heading":-1.83598, "vx":-3.11379, "vy":-1.31739, "omega":-1.25173, "ax":-2.60014, "ay":-1.46102, "alpha":1.47825, "fx":[-39.59838,-47.37892,-48.78364,-41.1497], "fy":[-22.15764,-19.87169,-27.3837,-29.99336]}, - {"t":1.15657, "x":6.16747, "y":6.86751, "heading":-1.87129, "vx":-3.18714, "vy":-1.3586, "omega":-1.21003, "ax":-2.44231, "ay":-1.69334, "alpha":1.34672, "fx":[-36.92801,-45.9021,-44.86202,-38.48013], "fy":[-26.78025,-24.22194,-30.87785,-33.33311]}, - {"t":1.18478, "x":6.07659, "y":6.82851, "heading":-1.90542, "vx":-3.25604, "vy":-1.40637, "omega":-1.17204, "ax":-1.79753, "ay":-2.31914, "alpha":0.80141, "fx":[-27.18444,-32.34631,-33.97165,-28.79915], "fy":[-37.1652,-38.43935,-40.20169,-41.98538]}, - {"t":1.21299, "x":5.98403, "y":6.78792, "heading":-1.93848, "vx":-3.30674, "vy":-1.47179, "omega":-1.14944, "ax":2.71214, "ay":-1.05769, "alpha":0.46558, "fx":[46.91771,48.99001,42.86128,45.76181], "fy":[-17.00465,-15.86152,-19.01933,-20.07849]}, - {"t":1.2412, "x":5.89182, "y":6.74598, "heading":-1.97091, "vx":-3.23024, "vy":-1.50163, "omega":-1.1363, "ax":2.94337, "ay":0.38053, "alpha":0.3083, "fx":[50.87107,49.71565,49.25993,50.41659], "fy":[6.66652,8.07563,5.93197,5.21703]}, - {"t":1.26941, "x":5.80187, "y":6.70377, "heading":-2.00296, "vx":-3.14721, "vy":-1.49089, "omega":-1.12761, "ax":2.90139, "ay":0.68412, "alpha":0.05044, "fx":[49.36635,50.02962,48.80078,49.21025], "fy":[11.72853,11.87406,11.56177,11.38268]}, - {"t":1.29761, "x":5.71425, "y":6.66198, "heading":-2.03477, "vx":-3.06536, "vy":-1.47159, "omega":-1.12618, "ax":2.87537, "ay":0.80716, "alpha":0.03117, "fx":[48.81787,48.91886,49.0046,48.89522], "fy":[13.6178,14.20349,13.57164,13.52547]}, - {"t":1.32582, "x":5.62892, "y":6.62079, "heading":-2.06654, "vx":-2.98425, "vy":-1.44883, "omega":-1.1253, "ax":2.85873, "ay":0.87473, "alpha":-0.02114, "fx":[48.44827,49.2146,48.39699,48.4449], "fy":[14.85777,14.80092,14.9167,14.94026]}, - {"t":1.35403, "x":5.54588, "y":6.58027, "heading":-2.09828, "vx":-2.90361, "vy":-1.42415, "omega":-1.1259, "ax":2.84706, "ay":0.91831, "alpha":0.09396, "fx":[48.59229,48.34848,48.26331,48.50666], "fy":[15.63636,16.21914,15.46569,15.15923]}, - {"t":1.38224, "x":5.4651, "y":6.54046, "heading":-2.13004, "vx":-2.8233, "vy":-1.39825, "omega":-1.12325, "ax":2.83915, "ay":0.9467, "alpha":0.20409, "fx":[48.89056,48.56082,47.35416,48.36666], "fy":[16.24191,16.90741,15.98481,15.27822]}, - {"t":1.41045, "x":5.38659, "y":6.5014, "heading":-2.16173, "vx":-2.74321, "vy":-1.37154, "omega":-1.11749, "ax":2.83284, "ay":0.9684, "alpha":0.4403, "fx":[49.52862,47.80369,46.8397,48.57133], "fy":[16.66023,18.48194,16.13569,14.61098]}, - {"t":1.43866, "x":5.31033, "y":6.46309, "heading":-2.19325, "vx":-2.66329, "vy":-1.34422, "omega":-1.10507, "ax":2.82811, "ay":0.98439, "alpha":0.67236, "fx":[50.30942,48.03438,45.55666,48.52083], "fy":[17.03775,19.43893,16.484,14.01605]}, - {"t":1.46687, "x":5.23633, "y":6.42557, "heading":-2.22443, "vx":-2.58352, "vy":-1.31645, "omega":-1.08611, "ax":2.82417, "ay":0.99739, "alpha":1.01475, "fx":[51.36641,47.35231,44.67465,48.75973], "fy":[17.22164,21.32787,16.56178,12.75004]}, - {"t":1.49508, "x":5.16457, "y":6.38883, "heading":-2.25506, "vx":-2.50385, "vy":-1.28832, "omega":-1.05748, "ax":2.82106, "ay":1.00754, "alpha":1.32999, "fx":[52.25435,47.73369,43.13835,48.81535], "fy":[17.44681,22.59638,16.93415,11.57474]}, - {"t":1.52329, "x":5.09507, "y":6.35288, "heading":-2.28489, "vx":-2.42427, "vy":-1.2599, "omega":-1.01996, "ax":2.81836, "ay":1.01622, "alpha":1.79861, "fx":[53.98521,47.11478,41.76219,48.89571], "fy":[17.35338,24.84687,17.1089,9.83332]}, - {"t":1.5515, "x":5.0278, "y":6.31775, "heading":-2.31367, "vx":-2.34477, "vy":-1.23123, "omega":-0.96923, "ax":2.80287, "ay":1.04812, "alpha":1.532, "fx":[52.86586,47.12183,42.39214,48.32455], "fy":[17.69263,24.27652,17.83219,11.51126]}, - {"t":1.57914, "x":4.96406, "y":6.28412, "heading":-2.34046, "vx":-2.26729, "vy":-1.20226, "omega":-0.92688, "ax":2.78658, "ay":1.10176, "alpha":1.27483, "fx":[51.52802,46.65342,42.93223,48.48239], "fy":[18.82404,23.99244,18.89038,13.25545]}, - {"t":1.60678, "x":4.90245, "y":6.25131, "heading":-2.36608, "vx":-2.19027, "vy":-1.17181, "omega":-0.89164, "ax":2.76861, "ay":1.14679, "alpha":1.13952, "fx":[50.9796,46.81971,43.16941,47.40436], "fy":[19.10869,24.31421,19.78265,14.82102]}, - {"t":1.63442, "x":4.84297, "y":6.21936, "heading":-2.39072, "vx":-2.11374, "vy":-1.14011, "omega":-0.86015, "ax":2.75231, "ay":1.1859, "alpha":0.93346, "fx":[50.04753,46.47923,43.837,46.90031], "fy":[20.06978,24.0949,20.40329,16.11956]}, - {"t":1.66206, "x":4.7856, "y":6.18829, "heading":-2.4145, "vx":-2.03767, "vy":-1.10733, "omega":-0.83434, "ax":2.73749, "ay":1.22018, "alpha":0.88378, "fx":[49.60228,46.47674,43.50862,46.66781], "fy":[20.25501,24.46057,21.15178,17.15249]}, - {"t":1.6897, "x":4.73032, "y":6.15815, "heading":-2.43756, "vx":-1.962, "vy":-1.0736, "omega":-0.80992, "ax":2.72398, "ay":1.25044, "alpha":0.72971, "fx":[48.87945,46.16389,44.03015,46.2628], "fy":[21.07282,24.33235,21.57613,18.0973]}, - {"t":1.71734, "x":4.67713, "y":6.12896, "heading":-2.45995, "vx":-1.88671, "vy":-1.03904, "omega":-0.78975, "ax":2.71162, "ay":1.27736, "alpha":0.72175, "fx":[48.60589,46.14433,43.64126,46.1041], "fy":[21.16315,24.76351,22.16542,18.81783]}, - {"t":1.74498, "x":4.62602, "y":6.10072, "heading":-2.48177, "vx":-1.81176, "vy":-1.00373, "omega":-0.7698, "ax":2.7003, "ay":1.30142, "alpha":0.64236, "fx":[48.2096,46.04377,43.61652,45.85536], "fy":[21.83249,24.6225,22.589,19.5033]}, - {"t":1.77262, "x":4.57697, "y":6.07348, "heading":-2.50305, "vx":-1.73712, "vy":-0.96776, "omega":-0.75204, "ax":2.68988, "ay":1.32309, "alpha":0.62396, "fx":[47.90594,45.85687,43.60626,45.64741], "fy":[21.9041,25.10749,22.98907,20.02074]}, - {"t":1.80026, "x":4.52998, "y":6.04723, "heading":-2.52384, "vx":-1.66277, "vy":-0.93119, "omega":-0.73479, "ax":2.68028, "ay":1.34267, "alpha":0.57434, "fx":[47.63449,45.77571,43.51918,45.43387], "fy":[22.46785,25.03415,23.34178,20.51003]}, - {"t":1.8279, "x":4.48505, "y":6.02201, "heading":-2.54415, "vx":-1.58869, "vy":-0.89408, "omega":-0.71892, "ax":2.6714, "ay":1.36047, "alpha":0.5819, "fx":[47.45063,45.6139,43.43493,45.25965], "fy":[22.48537,25.53691,23.68813,20.85428]}, - {"t":1.85554, "x":4.44215, "y":5.99781, "heading":-2.56402, "vx":-1.51485, "vy":-0.85647, "omega":-0.70284, "ax":2.66317, "ay":1.37671, "alpha":0.55707, "fx":[47.28109,45.55561,43.2922,45.07015], "fy":[22.94035,25.52622,24.00589,21.19721]}, - {"t":1.88318, "x":4.4013, "y":5.97467, "heading":-2.58345, "vx":-1.44123, "vy":-0.81842, "omega":-0.68744, "ax":2.65553, "ay":1.39157, "alpha":0.58403, "fx":[47.19514,45.42821,43.14758,44.90804], "fy":[22.93063,26.01905,24.32461,21.40682]}, - {"t":1.91082, "x":4.36248, "y":5.95258, "heading":-2.60245, "vx":-1.36783, "vy":-0.77996, "omega":-0.67129, "ax":2.6484, "ay":1.40525, "alpha":0.58222, "fx":[47.11173,45.39157,42.95606,44.73488], "fy":[23.29736,26.0811,24.61579,21.61724]}, - {"t":1.93847, "x":4.32568, "y":5.93156, "heading":-2.621, "vx":-1.29463, "vy":-0.74111, "omega":-0.6552, "ax":2.64176, "ay":1.41785, "alpha":0.62876, "fx":[47.11319,45.2947,42.76102,44.57319], "fy":[23.2332,26.60209,24.91903,21.71466]}, - {"t":1.96611, "x":4.29091, "y":5.91161, "heading":-2.63911, "vx":-1.22161, "vy":-0.70192, "omega":-0.63782, "ax":2.63554, "ay":1.42952, "alpha":0.64595, "fx":[47.11005,45.28932,42.52206,44.3975], "fy":[23.50686,26.70463,25.21685,21.83434]}, - {"t":1.99375, "x":4.25815, "y":5.89276, "heading":-2.65674, "vx":-1.14876, "vy":-0.66241, "omega":-0.61997, "ax":2.62971, "ay":1.44034, "alpha":0.70947, "fx":[47.18157,45.22408,42.28173,44.235], "fy":[23.41121,27.24903,25.51114,21.8275]}, - {"t":2.02139, "x":4.2274, "y":5.875, "heading":-2.67388, "vx":-1.07608, "vy":-0.6226, "omega":-0.60036, "ax":2.62424, "ay":1.4504, "alpha":0.74333, "fx":[47.24502,45.25454,41.99884,44.05162], "fy":[23.63646,27.37811,25.81489,21.85424]}, - {"t":2.04903, "x":4.19866, "y":5.85834, "heading":-2.69047, "vx":-1.00354, "vy":-0.58251, "omega":-0.57981, "ax":2.61909, "ay":1.45979, "alpha":0.82298, "fx":[47.38521,45.22449,41.71226,43.87773], "fy":[23.4742,27.94288,26.12875,21.7765]}, - {"t":2.07667, "x":4.17192, "y":5.8428, "heading":-2.7065, "vx":-0.93115, "vy":-0.54216, "omega":-0.55706, "ax":2.61424, "ay":1.46856, "alpha":0.87547, "fx":[47.51757,45.28837,41.38345,43.68019], "fy":[23.62027,28.12186,26.45221,21.72489]}, - {"t":2.10431, "x":4.14718, "y":5.82837, "heading":-2.7219, "vx":-0.85889, "vy":-0.50157, "omega":-0.53287, "ax":2.60966, "ay":1.47678, "alpha":0.97044, "fx":[47.71835,45.29524,41.05324,43.49113], "fy":[23.41846,28.70504,26.78435,21.57055]}, - {"t":2.13195, "x":4.12444, "y":5.81507, "heading":-2.73663, "vx":-0.78675, "vy":-0.46075, "omega":-0.50604, "ax":2.60533, "ay":1.48449, "alpha":1.03252, "fx":[47.90813,45.42365,40.66729,43.26435], "fy":[23.52481,28.81101,27.17716,21.49018]}, - {"t":2.15959, "x":4.10369, "y":5.80291, "heading":-2.75061, "vx":-0.71474, "vy":-0.41971, "omega":-0.4775, "ax":2.60123, "ay":1.49175, "alpha":1.13869, "fx":[48.15979,45.49649,40.27458,43.05368], "fy":[23.31233,29.30606,27.61021,21.26811]}, - {"t":2.18723, "x":4.08492, "y":5.79188, "heading":-2.76381, "vx":-0.64284, "vy":-0.37848, "omega":-0.44603, "ax":2.59734, "ay":1.49858, "alpha":1.23338, "fx":[48.43177,45.60713,39.8625,42.81881], "fy":[23.28312,29.69124,27.92036,21.06687]}, - {"t":2.21487, "x":4.06815, "y":5.78199, "heading":-2.77614, "vx":-0.57105, "vy":-0.33706, "omega":-0.41194, "ax":2.59365, "ay":1.50503, "alpha":1.35812, "fx":[48.74808,45.71762,39.42038,42.58305], "fy":[23.01972,30.22584,28.38941,20.76557]}, - {"t":2.24251, "x":4.05335, "y":5.77324, "heading":-2.78753, "vx":-0.49936, "vy":-0.29546, "omega":-0.3744, "ax":2.59015, "ay":1.51112, "alpha":1.47148, "fx":[49.08896,45.86921,38.95303,42.31941], "fy":[22.93265,30.65322,28.73362,20.49572]}, - {"t":2.27015, "x":4.04054, "y":5.76565, "heading":-2.79788, "vx":-0.42777, "vy":-0.25369, "omega":-0.33372, "ax":2.58681, "ay":1.5169, "alpha":1.61703, "fx":[49.47384,46.01436,38.45327,42.06208], "fy":[22.61108,31.24418,29.24377,20.10885]}, - {"t":2.29779, "x":4.02971, "y":5.75922, "heading":-2.8071, "vx":-0.35626, "vy":-0.21176, "omega":-0.28903, "ax":2.58363, "ay":1.52237, "alpha":1.75192, "fx":[49.89344,46.20622,37.92052,41.76712], "fy":[22.4549,31.72733,29.6306,19.76718]}, - {"t":2.32543, "x":4.02084, "y":5.75395, "heading":-2.81509, "vx":-0.28485, "vy":-0.16968, "omega":-0.2406, "ax":2.5806, "ay":1.52756, "alpha":1.91894, "fx":[50.35154,46.39043,37.35045,41.48851], "fy":[22.09493,32.36465,30.18865,19.28522]}, - {"t":2.35308, "x":4.01396, "y":5.74984, "heading":-2.82174, "vx":-0.21352, "vy":-0.12746, "omega":-0.18756, "ax":2.5777, "ay":1.5325, "alpha":2.07791, "fx":[50.85902,46.61887,36.74058,41.16543], "fy":[21.87936,32.91659,30.61885,18.85458]}, - {"t":2.38072, "x":4.00904, "y":5.74691, "heading":-2.82692, "vx":-0.14227, "vy":-0.0851, "omega":-0.13013, "ax":2.57493, "ay":1.5372, "alpha":2.2578, "fx":[51.3923,46.82751,36.1179,40.85782], "fy":[21.54164,33.64908,31.06103,18.33742]}, - {"t":2.40836, "x":4.00609, "y":5.74514, "heading":-2.83052, "vx":-0.0711, "vy":-0.04261, "omega":-0.06772, "ax":2.57229, "ay":1.54167, "alpha":2.45007, "fx":[52.00726,47.0897,35.40457,40.5139], "fy":[21.23832,34.28758,31.60161,17.76619]}, - {"t":2.436, "x":4.00511, "y":5.74455, "heading":-2.83239, "vx":0.0, "vy":0.0, "omega":0.0, "ax":0.41327, "ay":-0.90982, "alpha":0.81229, "fx":[9.79851,8.49744,4.2481,5.57419], "fy":[-16.83625,-12.81699,-14.04988,-18.20018]}, - {"t":2.47915, "x":4.00549, "y":5.74371, "heading":-2.83239, "vx":0.01783, "vy":-0.03926, "omega":0.03505, "ax":0.41346, "ay":-0.91024, "alpha":0.71059, "fx":[9.42229,8.29846,4.62274,5.78773], "fy":[-16.7344,-13.08014,-14.26461,-17.85272]}, - {"t":2.5223, "x":4.00665, "y":5.74116, "heading":-2.83088, "vx":0.03567, "vy":-0.07854, "omega":0.06571, "ax":0.41345, "ay":-0.91023, "alpha":0.61051, "fx":[9.10714,8.12753,4.951,5.94502], "fy":[-16.50834,-13.45505,-14.43334,-17.53396]}, - {"t":2.56545, "x":4.00857, "y":5.73693, "heading":-2.82805, "vx":0.05351, "vy":-0.11781, "omega":0.09206, "ax":0.41344, "ay":-0.91021, "alpha":0.53018, "fx":[8.81617,7.9648,5.2299,6.11921], "fy":[-16.42517,-13.68113,-14.57557,-17.24747]}, - {"t":2.6086, "x":4.01127, "y":5.731, "heading":-2.82407, "vx":0.07135, "vy":-0.15709, "omega":0.11493, "ax":0.41343, "ay":-0.91018, "alpha":0.45136, "fx":[8.57718,7.83274,5.48381,6.23562], "fy":[-16.22609,-13.99131,-14.70759,-17.00275]}, - {"t":2.65175, "x":4.01473, "y":5.72337, "heading":-2.81911, "vx":0.08919, "vy":-0.19636, "omega":0.13441, "ax":0.41342, "ay":-0.91015, "alpha":0.39101, "fx":[8.34911,7.70325,5.69528,6.38084], "fy":[-16.1861,-14.14141,-14.81781,-16.78054]}, - {"t":2.6949, "x":4.01896, "y":5.71405, "heading":-2.81331, "vx":0.10703, "vy":-0.23564, "omega":0.15128, "ax":0.4134, "ay":-0.91012, "alpha":0.32754, "fx":[8.1661,7.60301,5.896,6.46233], "fy":[-16.00398,-14.41108,-14.91931,-16.58918]}, - {"t":2.73805, "x":4.02397, "y":5.70304, "heading":-2.80679, "vx":0.12487, "vy":-0.27491, "omega":0.16542, "ax":0.41338, "ay":-0.91008, "alpha":0.28258, "fx":[7.9829,7.49915,6.05724,6.58687], "fy":[-16.00544,-14.4983,-15.0036,-16.41339]}, - {"t":2.7812, "x":4.02974, "y":5.69033, "heading":-2.79965, "vx":0.14271, "vy":-0.31418, "omega":0.17761, "ax":0.41336, "ay":-0.91003, "alpha":0.22966, "fx":[7.84133,7.42435,6.22056,6.63828], "fy":[-15.82834,-14.74854,-15.08038,-16.25988]}, - {"t":2.82435, "x":4.03628, "y":5.67592, "heading":-2.79198, "vx":0.16055, "vy":-0.35345, "omega":0.18752, "ax":0.41333, "ay":-0.90996, "alpha":0.19675, "fx":[7.68859,7.33864,6.34376,6.75141], "fy":[-15.87331,-14.7788,-15.14379,-16.11654]}, - {"t":2.8675, "x":4.04359, "y":5.65982, "heading":-2.78389, "vx":0.17838, "vy":-0.39271, "omega":0.19601, "ax":0.41329, "ay":-0.90986, "alpha":0.15016, "fx":[7.57801,7.28429,6.48218,6.775], "fy":[-15.68584,-15.03172,-15.20022,-15.98827]}, - {"t":2.91065, "x":4.05168, "y":5.64203, "heading":-2.77544, "vx":0.19621, "vy":-0.43197, "omega":0.20249, "ax":0.41322, "ay":-0.90973, "alpha":0.12718, "fx":[7.44282,7.20899,6.5754,6.88809], "fy":[-15.78516,-15.00134,-15.24554,-15.8648]}, - {"t":2.9538, "x":4.06053, "y":5.62254, "heading":-2.7667, "vx":0.21404, "vy":-0.47123, "omega":0.20798, "ax":0.41313, "ay":-0.90952, "alpha":0.0823, "fx":[7.35585,7.17157,6.6996,6.88171], "fy":[-15.56096,-15.28957,-15.28277,-15.74907]}, - {"t":2.99695, "x":4.07015, "y":5.60136, "heading":-2.75772, "vx":0.23187, "vy":-0.51047, "omega":0.21153, "ax":0.41295, "ay":-0.90913, "alpha":0.06881, "fx":[7.22259,7.09549,6.76495,7.0139], "fy":[-15.74604,-15.17326,-15.30729,-15.6298]}, - {"t":3.0401, "x":4.08054, "y":5.57849, "heading":-2.7486, "vx":0.24969, "vy":-0.5497, "omega":0.2145, "ax":0.41255, "ay":-0.90825, "alpha":0.0188, "fx":[7.1528,7.07224,6.88341,6.9611], "fy":[-15.42327,-15.55518,-15.31408,-15.50359]}, - {"t":3.08325, "x":4.0917, "y":5.55392, "heading":-2.73934, "vx":0.26749, "vy":-0.58889, "omega":0.21531, "ax":0.41059, "ay":-0.90392, "alpha":0.01934, "fx":[6.98165,6.95642,6.89522,7.10253], "fy":[-15.74434,-15.21501,-15.2411,-15.30123]}, - {"t":3.1264, "x":4.10362, "y":5.52767, "heading":-2.73005, "vx":0.28521, "vy":-0.6279, "omega":0.21614, "ax":-0.41042, "ay":0.90356, "alpha":0.0144, "fx":[-7.03068,-7.00074,-6.93184,-6.96154], "fy":[15.2729,15.66629,15.23568,15.30253]}, - {"t":3.16955, "x":4.11555, "y":5.50142, "heading":-2.72072, "vx":0.2675, "vy":-0.58891, "omega":0.21676, "ax":-0.41253, "ay":0.90821, "alpha":-0.04413, "fx":[-7.11693,-7.0344,-6.83832,-7.07867], "fy":[15.76971,15.21896,15.30687,15.49788]}, - {"t":3.2127, "x":4.1267, "y":5.47685, "heading":-2.71137, "vx":0.2497, "vy":-0.54972, "omega":0.21486, "ax":-0.41295, "ay":0.90912, "alpha":-0.05076, "fx":[-7.26371,-7.1127,-6.78599,-6.93409], "fy":[15.48472,15.42143,15.31331,15.63596]}, - {"t":3.25585, "x":4.13709, "y":5.45398, "heading":-2.7021, "vx":0.23188, "vy":-0.51049, "omega":0.21267, "ax":-0.41312, "ay":0.90951, "alpha":-0.09804, "fx":[-7.34522,-7.13264,-6.66336,-6.96729], "fy":[15.74905,15.0778,15.29853,15.75649]}, - {"t":3.299, "x":4.14672, "y":5.4328, "heading":-2.69292, "vx":0.21405, "vy":-0.47125, "omega":0.20844, "ax":-0.41322, "ay":0.90972, "alpha":-0.116, "fx":[-7.4838,-7.19078,-6.57463,-6.86595], "fy":[15.58631,15.14739,15.2795,15.88333]}, - {"t":3.34215, "x":4.15557, "y":5.41331, "heading":-2.68393, "vx":0.19622, "vy":-0.43199, "omega":0.20343, "ax":-0.41328, "ay":0.90986, "alpha":-0.16121, "fx":[-7.58856,-7.21661,-6.43848,-6.87575], "fy":[15.77389,14.86898,15.25189,16.0111]}, - {"t":3.3853, "x":4.16365, "y":5.39552, "heading":-2.67515, "vx":0.17839, "vy":-0.39273, "omega":0.19648, "ax":-0.41333, "ay":0.90996, "alpha":-0.18916, "fx":[-7.74242,-7.27167,-6.3189,-6.78934], "fy":[15.67504,14.86061,15.2232,16.15346]}, - {"t":3.42845, "x":4.17096, "y":5.37942, "heading":-2.66667, "vx":0.16055, "vy":-0.35346, "omega":0.18832, "ax":-0.41336, "ay":0.91002, "alpha":-0.23816, "fx":[-7.87835,-7.30517,-6.15931,-6.78165], "fy":[15.82796,14.59863,15.18661,16.30383]}, - {"t":3.4716, "x":4.17751, "y":5.36501, "heading":-2.65855, "vx":0.14272, "vy":-0.3142, "omega":0.17804, "ax":-0.41338, "ay":0.91008, "alpha":-0.27713, "fx":[-8.06095,-7.36254,-6.00135,-6.70127], "fy":[15.76664,14.52656,15.15074,16.47669]}, - {"t":3.51475, "x":4.18328, "y":5.3523, "heading":-2.65086, "vx":0.12488, "vy":-0.27493, "omega":0.16608, "ax":-0.4134, "ay":0.91012, "alpha":-0.33431, "fx":[-8.23768,-7.40551,-5.80589,-6.67832], "fy":[15.90312,14.25258,15.10483,16.66296]}, - {"t":3.5579, "x":4.18828, "y":5.34129, "heading":-2.6437, "vx":0.10704, "vy":-0.23566, "omega":0.15166, "ax":-0.41342, "ay":0.91015, "alpha":-0.38696, "fx":[-8.46345,-7.47019,-5.59864,-6.59617], "fy":[15.87037,14.11541,15.06005,16.87997]}, - {"t":3.60106, "x":4.19252, "y":5.33197, "heading":-2.63715, "vx":0.0892, "vy":-0.19638, "omega":0.13496, "ax":-0.41343, "ay":0.91018, "alpha":-0.45682, "fx":[-8.69403,-7.52592,-5.35248,-6.55689], "fy":[16.00176,13.80668,15.00232,17.11694]}, - {"t":3.64421, "x":4.19598, "y":5.32434, "heading":-2.63133, "vx":0.07136, "vy":-0.15711, "omega":0.11525, "ax":-0.41344, "ay":0.9102, "alpha":-0.5271, "fx":[-8.97969,-7.60355,-5.08094,-6.46588], "fy":[15.99581,13.59412,14.94504,17.39433]}, - {"t":3.68736, "x":4.19868, "y":5.31841, "heading":-2.62636, "vx":0.05352, "vy":-0.11783, "omega":0.0925, "ax":-0.41345, "ay":0.91023, "alpha":-0.61492, "fx":[-9.28141,-7.67752,-4.7656,-6.40613], "fy":[16.13187,13.22829,14.87058,17.69992]}, - {"t":3.73051, "x":4.2006, "y":5.31417, "heading":-2.62236, "vx":0.03568, "vy":-0.07856, "omega":0.06597, "ax":-0.41346, "ay":0.91024, "alpha":-0.70816, "fx":[-9.64748,-7.77597,-4.40989,-6.29786], "fy":[16.15579,12.92376,14.79443,18.05786]}, - {"t":3.77366, "x":4.20176, "y":5.31163, "heading":-2.61952, "vx":0.01784, "vy":-0.03928, "omega":0.03541, "ax":-0.41346, "ay":0.91026, "alpha":-0.82062, "fx":[-10.04295,-7.87747,-4.00188,-6.20937], "fy":[16.3082,12.47471,14.69506,18.45489]}, - {"t":3.81681, "x":4.20214, "y":5.31078, "heading":-2.61799, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-0.45519, "ay":0.20514, "alpha":-4.01497, "fx":[-22.26435,-11.90674,7.01321,-3.81276], "fy":[7.4109,-11.28559,-0.44755,18.27962]}, - {"t":3.85789, "x":4.20176, "y":5.31095, "heading":-2.61799, "vx":-0.0187, "vy":0.00843, "omega":-0.16494, "ax":-2.7344, "ay":1.23231, "alpha":-2.84047, "fx":[-55.81163,-50.1371,-36.82948,-43.26714], "fy":[23.10796,9.57598,18.88552,32.27522]}, - {"t":3.89897, "x":4.19868, "y":5.31234, "heading":-2.62477, "vx":-0.13103, "vy":0.05905, "omega":-0.28163, "ax":-2.73437, "ay":1.2323, "alpha":-2.47934, "fx":[-54.61019,-49.70302,-38.13549,-43.59461], "fy":[22.89581,11.0452,19.02973,30.87353]}, - {"t":3.94005, "x":4.19099, "y":5.3158, "heading":-2.63634, "vx":-0.24336, "vy":0.10968, "omega":-0.38348, "ax":-2.73434, "ay":1.23229, "alpha":-2.13095, "fx":[-53.48568,-49.32577,-39.32075,-43.90887], "fy":[22.70812,12.46886,19.24662,29.42027]}, - {"t":3.98113, "x":4.17869, "y":5.32135, "heading":-2.65209, "vx":-0.35569, "vy":0.1603, "omega":-0.47102, "ax":-2.7343, "ay":1.23229, "alpha":-1.83542, "fx":[-52.47058,-49.00906,-40.40055,-44.15847], "fy":[22.58472,13.67077,19.32326,28.26463]}, - {"t":4.02221, "x":4.16177, "y":5.32898, "heading":-2.67144, "vx":-0.46802, "vy":0.21092, "omega":-0.54642, "ax":-2.73426, "ay":1.23228, "alpha":-1.54414, "fx":[-51.52768,-48.70678,-41.38021,-44.42134], "fy":[22.42161,14.87631,19.50273,27.04224]}, - {"t":4.06329, "x":4.14023, "y":5.33868, "heading":-2.69389, "vx":-0.58034, "vy":0.26155, "omega":-0.60986, "ax":-2.73422, "ay":1.23227, "alpha":-1.3015, "fx":[-50.6791,-48.44025,-42.2658,-44.64799], "fy":[22.321,15.85162,19.57953,26.09018]}, - {"t":4.10437, "x":4.11408, "y":5.35046, "heading":-2.71894, "vx":-0.69267, "vy":0.31217, "omega":-0.66332, "ax":-2.73417, "ay":1.23226, "alpha":-1.06608, "fx":[-49.89178,-48.17228,-43.07743,-44.88845], "fy":[22.17974,16.82162,19.70411,25.13627]}, - {"t":4.14545, "x":4.08332, "y":5.36433, "heading":-2.74619, "vx":-0.80499, "vy":0.36279, "omega":-0.70712, "ax":-2.73412, "ay":1.23225, "alpha":-0.85748, "fx":[-49.19877,-47.91237,-43.78643,-45.12888], "fy":[22.02741,17.65226,19.8733,24.28808]}, - {"t":4.18653, "x":4.04794, "y":5.38027, "heading":-2.77524, "vx":-0.91731, "vy":0.41341, "omega":-0.74235, "ax":-2.73406, "ay":1.23224, "alpha":-0.66018, "fx":[-48.55481,-47.64758,-44.44324,-45.3769], "fy":[21.85187,18.46605,20.0208,23.50164]}, - {"t":4.22761, "x":4.00795, "y":5.39829, "heading":-2.80574, "vx":-1.02963, "vy":0.46403, "omega":-0.76947, "ax":-2.734, "ay":1.23223, "alpha":-0.48825, "fx":[-47.99805,-47.38883,-45.00637,-45.62495], "fy":[21.67529,19.12277,20.22793,22.81349]}, - {"t":4.2687, "x":3.96335, "y":5.4184, "heading":-2.83735, "vx":-1.14194, "vy":0.51466, "omega":-0.78952, "ax":-2.73393, "ay":1.23222, "alpha":-0.3227, "fx":[-47.48255,-47.12139,-45.52693,-45.88239], "fy":[21.46192,19.8062,20.39562,22.17487]}, - {"t":4.30978, "x":3.91413, "y":5.44058, "heading":-2.86978, "vx":-1.25425, "vy":0.56528, "omega":-0.80278, "ax":-2.73385, "ay":1.2322, "alpha":-0.18278, "fx":[-47.04872,-46.86477,-45.96084,-46.13341], "fy":[21.26563,20.30025,20.63877,21.63283]}, - {"t":4.35086, "x":3.8603, "y":5.46484, "heading":-2.90276, "vx":-1.36656, "vy":0.6159, "omega":-0.81029, "ax":-2.73375, "ay":1.23218, "alpha":-0.04524, "fx":[-46.64925,-46.59778,-46.36042,-46.3939], "fy":[21.02498,20.86449,20.81745,21.12944]}, - {"t":4.39194, "x":3.80185, "y":5.49118, "heading":-2.93605, "vx":-1.47887, "vy":0.66651, "omega":-0.81215, "ax":-2.73364, "ay":1.23216, "alpha":0.0665, "fx":[-46.32681,-46.35077,-46.6793,-46.63719], "fy":[20.8185,21.21334,21.08329,20.71976]}, - {"t":4.43302, "x":3.73879, "y":5.5196, "heading":-2.96941, "vx":-1.59117, "vy":0.71713, "omega":-0.80942, "ax":-2.73352, "ay":1.23214, "alpha":0.17886, "fx":[-46.03317,-46.09214,-46.9712,-46.88898], "fy":[20.56481,21.67513,21.25497,20.33848]}, - {"t":4.4741, "x":3.67112, "y":5.5501, "heading":-3.00266, "vx":-1.70346, "vy":0.76775, "omega":-0.80207, "ax":-2.73337, "ay":1.23211, "alpha":0.26427, "fx":[-45.81332,-45.8622,-47.1887,-47.11122], "fy":[20.36589,21.88482,21.52813,20.05254]}, - {"t":4.51518, "x":3.59883, "y":5.58268, "heading":-3.03561, "vx":-1.81575, "vy":0.81837, "omega":-0.79121, "ax":-2.73319, "ay":1.23208, "alpha":0.35129, "fx":[-45.61314,-45.63386,-47.38081,-47.3354], "fy":[20.12201,22.24675,21.67467,19.78596]}, - {"t":4.55626, "x":3.52193, "y":5.61734, "heading":-3.06811, "vx":-1.92803, "vy":0.86898, "omega":-0.77678, "ax":-2.73298, "ay":1.23204, "alpha":0.41064, "fx":[-45.48551,-45.44049,-47.50544,-47.51711], "fy":[19.95018,22.32798,21.93323,19.61494]}, - {"t":4.59734, "x":3.44042, "y":5.65408, "heading":-3.10003, "vx":-2.04031, "vy":0.91959, "omega":-0.75991, "ax":-2.7327, "ay":1.23199, "alpha":0.4727, "fx":[-45.37225,-45.25467,-47.60773,-47.69521], "fy":[19.73438,22.61556,22.02405,19.44941]}, - {"t":4.63842, "x":3.3543, "y":5.6929, "heading":-3.13124, "vx":-2.15257, "vy":0.97021, "omega":-0.74049, "ax":-2.73236, "ay":1.23192, "alpha":0.50339, "fx":[-45.33232,-45.10922,-47.64877,-47.81605], "fy":[19.62132,22.55436,22.24781,19.39496]}, - {"t":4.6795, "x":3.26356, "y":5.73379, "heading":3.12152, "vx":-2.26482, "vy":1.02081, "omega":-0.71981, "ax":-2.73189, "ay":1.23184, "alpha":0.53391, "fx":[-45.29393,-45.00557,-47.65938,-47.91557], "fy":[19.47335,22.74206,22.26154,19.33634]}, - {"t":4.72059, "x":3.16822, "y":5.77677, "heading":3.09195, "vx":-2.37704, "vy":1.07142, "omega":-0.69788, "ax":-2.73124, "ay":1.23172, "alpha":0.49313, "fx":[-45.15503,-45.44105,-47.45398,-47.78052], "fy":[19.48688,22.43825,22.44634,19.43301]}, - {"t":4.76167, "x":3.06826, "y":5.82182, "heading":3.06328, "vx":-2.48925, "vy":1.12202, "omega":-0.67762, "ax":-2.73026, "ay":1.23157, "alpha":0.52425, "fx":[-45.37812,-44.94188,-47.52721,-47.91625], "fy":[19.39533,22.69498,22.26976,19.43466]}, - {"t":4.80275, "x":2.9637, "y":5.86896, "heading":3.03544, "vx":-2.60141, "vy":1.17261, "omega":-0.65608, "ax":-2.72865, "ay":1.23126, "alpha":0.42454, "fx":[-45.29994,-45.58758,-47.18084,-47.58613], "fy":[19.57591,22.17483,22.33556,19.687]}, - {"t":4.84383, "x":2.85453, "y":5.91817, "heading":3.00849, "vx":-2.7135, "vy":1.22319, "omega":-0.63864, "ax":-2.72545, "ay":1.23071, "alpha":0.39841, "fx":[-45.59994,-45.18249,-47.1328,-47.5211], "fy":[19.68954,22.2427,21.96018,19.84335]}, - {"t":4.88491, "x":2.74075, "y":5.96946, "heading":2.98226, "vx":-2.82547, "vy":1.27375, "omega":-0.62228, "ax":-2.71538, "ay":1.2306, "alpha":0.22449, "fx":[-45.49691,-45.96069,-46.50353,-46.78995], "fy":[20.09741,21.6019,21.77343,20.25557]}, - {"t":4.92599, "x":2.62239, "y":6.02282, "heading":2.95669, "vx":-2.93702, "vy":1.32431, "omega":-0.61305, "ax":-2.29224, "ay":0.99207, "alpha":0.13234, "fx":[-38.79968,-38.65247,-39.2006,-39.3083], "fy":[16.35226,17.81469,16.9065,16.42604]}, - {"t":4.96707, "x":2.4998, "y":6.07806, "heading":2.93151, "vx":-3.03118, "vy":1.36506, "omega":-0.60762, "ax":2.71765, "ay":-1.22166, "alpha":-0.00051, "fx":[45.37032,47.5906,45.88055,46.06436], "fy":[-20.37503,-21.00497,-21.24763,-20.49291]}, - {"t":5.00815, "x":2.37757, "y":6.13311, "heading":2.90655, "vx":-2.91954, "vy":1.31487, "omega":-0.60764, "ax":2.72741, "ay":-1.22539, "alpha":-0.30409, "fx":[45.91552,45.46087,46.8759,47.31723], "fy":[-19.7887,-21.79977,-21.70537,-20.08014]}, - {"t":5.04923, "x":2.25993, "y":6.18609, "heading":2.88158, "vx":-2.8075, "vy":1.26453, "omega":-0.62013, "ax":2.72981, "ay":-1.22826, "alpha":-0.35283, "fx":[45.60051,45.74621,46.86537,47.52093], "fy":[-19.56739,-21.75727,-22.23778,-20.00727]}, - {"t":5.09031, "x":2.1469, "y":6.237, "heading":2.85611, "vx":-2.69535, "vy":1.21408, "omega":-0.63463, "ax":2.73118, "ay":-1.22927, "alpha":-0.47885, "fx":[45.78863,44.91892,47.14501,47.97407], "fy":[-19.22022,-22.19987,-22.40539,-19.81254]}, - {"t":5.13139, "x":2.03848, "y":6.28584, "heading":2.83004, "vx":-2.58315, "vy":1.16358, "omega":-0.6543, "ax":2.73196, "ay":-1.22997, "alpha":-0.46363, "fx":[45.59803,45.30837,47.00489,47.96811], "fy":[-19.19316,-21.92721,-22.67777,-19.88744]}, - {"t":5.17247, "x":1.93467, "y":6.3326, "heading":2.80316, "vx":-2.47092, "vy":1.11305, "omega":-0.67334, "ax":2.7325, "ay":-1.23037, "alpha":-0.52469, "fx":[45.84161,44.74925,47.14087,48.18448], "fy":[-19.0227,-22.2106,-22.65608,-19.82388]}, - {"t":5.21356, "x":1.83547, "y":6.37729, "heading":2.7755, "vx":-2.35867, "vy":1.0625, "omega":-0.6949, "ax":2.73288, "ay":-1.23069, "alpha":-0.42922, "fx":[46.02548,45.42052,46.70794,47.78781], "fy":[-19.10652,-21.7925,-22.79148,-20.04402]}, - {"t":5.25464, "x":1.74088, "y":6.4199, "heading":2.74695, "vx":-2.2464, "vy":1.01195, "omega":-0.71253, "ax":2.73317, "ay":-1.2309, "alpha":-0.47826, "fx":[45.99931,44.87741,47.00494,48.07977], "fy":[-19.15023,-22.00309,-22.57239,-20.02345]}, - {"t":5.29572, "x":1.6509, "y":6.46043, "heading":2.71768, "vx":-2.13412, "vy":0.96138, "omega":-0.73218, "ax":2.73338, "ay":-1.23108, "alpha":-0.42269, "fx":[46.08645,45.04292,46.91494,47.93201], "fy":[-19.37593,-21.70114,-22.47251,-20.21183]}, - {"t":5.3368, "x":1.56553, "y":6.49889, "heading":2.6876, "vx":-2.02183, "vy":0.91081, "omega":-0.74954, "ax":2.73356, "ay":-1.23122, "alpha":-0.36206, "fx":[46.19551,45.25107,46.81627,47.72563], "fy":[-19.55466,-21.67382,-22.21672,-20.32544]}, - {"t":5.37788, "x":1.48478, "y":6.53527, "heading":2.65681, "vx":-1.90953, "vy":0.86023, "omega":-0.76442, "ax":2.73371, "ay":-1.23133, "alpha":-0.28045, "fx":[46.28708,45.52552,46.71899,47.4667], "fy":[-19.87637,-21.39049,-21.99041,-20.52122]}, - {"t":5.41896, "x":1.40864, "y":6.56957, "heading":2.62541, "vx":-1.79723, "vy":0.80964, "omega":-0.77594, "ax":2.73383, "ay":-1.23142, "alpha":-0.19176, "fx":[46.38315,45.82772,46.63293,47.16277], "fy":[-20.18724,-21.33121,-21.61598,-20.65031]}, - {"t":5.46004, "x":1.33712, "y":6.60179, "heading":2.59353, "vx":-1.68492, "vy":0.75905, "omega":-0.78382, "ax":2.73393, "ay":-1.23151, "alpha":-0.08496, "fx":[46.45985,46.20271,46.55413,46.79677], "fy":[-20.61296,-21.07556,-21.26545,-20.8363]}, - {"t":5.50112, "x":1.27021, "y":6.63193, "heading":2.56133, "vx":-1.57261, "vy":0.70846, "omega":-0.78731, "ax":2.73402, "ay":-1.23157, "alpha":0.03228, "fx":[46.52015,46.60878,46.49847,46.3921], "fy":[-21.05952,-21.0079,-20.76958,-20.95771]}, - {"t":5.5422, "x":1.20791, "y":6.66, "heading":2.52899, "vx":-1.46029, "vy":0.65787, "omega":-0.78598, "ax":2.73409, "ay":-1.23163, "alpha":0.16545, "fx":[46.56169,47.0865,46.46035,45.91605], "fy":[-21.59564,-20.80252,-20.28763,-21.11311]}, - {"t":5.58328, "x":1.15023, "y":6.68598, "heading":2.4967, "vx":-1.34798, "vy":0.60727, "omega":-0.77918, "ax":2.73416, "ay":-1.23168, "alpha":0.31222, "fx":[46.56934,47.59551,46.45652,45.40777], "fy":[-22.18162,-20.7593,-19.65969,-21.20174]}, - {"t":5.62436, "x":1.09716, "y":6.70989, "heading":2.46469, "vx":-1.23565, "vy":0.55667, "omega":-0.76636, "ax":2.73422, "ay":-1.23173, "alpha":0.47493, "fx":[46.55641,48.18276,46.47964,44.81428], "fy":[-22.8402,-20.61747,-19.03812,-21.30969]}, - {"t":5.66544, "x":1.0487, "y":6.73172, "heading":2.43321, "vx":-1.12333, "vy":0.50607, "omega":-0.74685, "ax":2.73427, "ay":-1.23177, "alpha":0.65423, "fx":[46.496,48.79812,46.54759,44.19496], "fy":[-23.57345,-20.62807,-18.26391,-21.34271]}, - {"t":5.70653, "x":1.00486, "y":6.75147, "heading":2.40252, "vx":-1.011, "vy":0.45547, "omega":-0.71997, "ax":2.73432, "ay":-1.23181, "alpha":0.85104, "fx":[46.41237,49.5031,46.65146,43.47288], "fy":[-24.37119,-20.55716,-17.49213,-21.39017]}, - {"t":5.74761, "x":0.96564, "y":6.76914, "heading":2.37295, "vx":-0.89868, "vy":0.40487, "omega":-0.68501, "ax":2.73436, "ay":-1.23184, "alpha":1.06803, "fx":[46.27129,50.23494,46.8076,42.72886], "fy":[-25.26818,-20.63477,-16.55718,-21.35268]}, - {"t":5.78869, "x":0.93103, "y":6.78474, "heading":2.34481, "vx":-0.78635, "vy":0.35426, "omega":-0.64113, "ax":2.7344, "ay":-1.23187, "alpha":1.3051, "fx":[46.10666,51.06899,47.00856,41.86104], "fy":[-26.22303,-20.65002,-15.6145,-21.32731]}, - {"t":5.82977, "x":0.90103, "y":6.79825, "heading":2.31847, "vx":-0.67401, "vy":0.30366, "omega":-0.58752, "ax":2.73443, "ay":-1.23189, "alpha":1.5581, "fx":[45.89631,51.92602,47.26018,40.96509], "fy":[-27.2105,-20.83028,-14.53096,-21.2449]}, - {"t":5.87085, "x":0.87565, "y":6.80968, "heading":2.29433, "vx":-0.56168, "vy":0.25305, "omega":-0.52351, "ax":2.73446, "ay":-1.23192, "alpha":1.85243, "fx":[45.6305,52.917,47.57193,39.93031], "fy":[-28.44533,-20.90391,-13.35658,-21.11251]}, - {"t":5.91193, "x":0.85488, "y":6.81904, "heading":2.27283, "vx":-0.44935, "vy":0.20244, "omega":-0.44741, "ax":2.73449, "ay":-1.23194, "alpha":2.16577, "fx":[45.3271,53.95346,47.92894,38.8422], "fy":[-29.70452,-21.0492,-12.03312,-21.03298]}, - {"t":5.95301, "x":0.83873, "y":6.82632, "heading":2.25445, "vx":-0.33701, "vy":0.15183, "omega":-0.35844, "ax":2.73452, "ay":-1.23196, "alpha":2.51398, "fx":[45.0019,55.10965,48.34131,37.60063], "fy":[-31.11176,-21.29681,-10.64267,-20.77001]}, - {"t":5.99409, "x":0.82719, "y":6.83152, "heading":2.23972, "vx":-0.22468, "vy":0.10122, "omega":-0.25516, "ax":2.73454, "ay":-1.23198, "alpha":2.8949, "fx":[44.6438,56.34231,48.79142,36.27763], "fy":[-32.64265,-21.49599,-9.03301,-20.65086]}, - {"t":6.03517, "x":0.82027, "y":6.83463, "heading":2.22924, "vx":-0.11234, "vy":0.05061, "omega":-0.13624, "ax":2.73457, "ay":-1.232, "alpha":3.31631, "fx":[44.29132,57.73674,49.27958,34.74906], "fy":[-34.32531,-21.7541,-7.35822,-20.38609]}, - {"t":6.07625, "x":0.81796, "y":6.83567, "heading":2.22364, "vx":0.0, "vy":0.0, "omega":0.0, "ax":2.81582, "ay":-1.03048, "alpha":3.5542, "fx":[45.63338,59.81267,50.75305,35.38638], "fy":[-31.959,-18.58383,-2.87187,-16.69771]}, - {"t":6.11588, "x":0.82017, "y":6.83486, "heading":2.22364, "vx":0.11159, "vy":-0.04084, "omega":0.14086, "ax":2.81652, "ay":-1.03073, "alpha":3.12083, "fx":[45.8936,58.39117,50.3744,36.97361], "fy":[-30.23919,-18.42547,-4.66188,-16.80318]}, - {"t":6.15552, "x":0.82681, "y":6.83244, "heading":2.22923, "vx":0.22322, "vy":-0.08169, "omega":0.26454, "ax":2.81649, "ay":-1.03072, "alpha":2.7232, "fx":[46.16716,57.08642,49.99567,38.38139], "fy":[-28.61623,-18.27196,-6.292,-16.94874]}, - {"t":6.19515, "x":0.83787, "y":6.82839, "heading":2.23971, "vx":0.33484, "vy":-0.12254, "omega":0.37246, "ax":2.81645, "ay":-1.03071, "alpha":2.36708, "fx":[46.47366,55.92944,49.60561,39.61961], "fy":[-27.18016,-18.03025,-7.77095,-17.14673]}, - {"t":6.23478, "x":0.85335, "y":6.82272, "heading":2.25447, "vx":0.44646, "vy":-0.16338, "omega":0.46627, "ax":2.81642, "ay":-1.03069, "alpha":2.03175, "fx":[46.76056,54.82627,49.25743,40.78154], "fy":[-25.77667,-17.96147,-9.13656,-17.25245]}, - {"t":6.27441, "x":0.87325, "y":6.81544, "heading":2.27295, "vx":0.55807, "vy":-0.20423, "omega":0.54679, "ax":2.81638, "ay":-1.03068, "alpha":1.75223, "fx":[46.9998,53.87359,48.9384,41.81123], "fy":[-24.76726,-17.65533,-10.31371,-17.38982]}, - {"t":6.31404, "x":0.89758, "y":6.80654, "heading":2.29462, "vx":0.66969, "vy":-0.24508, "omega":0.61623, "ax":2.81633, "ay":-1.03066, "alpha":1.46749, "fx":[47.25573,52.94074,48.65693,42.76657], "fy":[-23.52092,-17.60595,-11.45974,-17.53839]}, - {"t":6.35367, "x":0.92633, "y":6.79601, "heading":2.31904, "vx":0.7813, "vy":-0.28592, "omega":0.67439, "ax":2.81628, "ay":-1.03064, "alpha":1.22922, "fx":[47.45017,52.12727,48.41812,43.62104], "fy":[-22.61793,-17.37784,-12.47139,-17.6566]}, - {"t":6.3933, "x":0.95951, "y":6.78387, "heading":2.34577, "vx":0.89291, "vy":-0.32677, "omega":0.72311, "ax":2.81623, "ay":-1.03062, "alpha":0.99119, "fx":[47.63179,51.3367,48.22363,44.42073], "fy":[-21.56238,-17.40117,-13.42918,-17.72965]}, - {"t":6.43293, "x":0.99711, "y":6.77011, "heading":2.37443, "vx":1.00452, "vy":-0.36761, "omega":0.76239, "ax":2.81617, "ay":-1.0306, "alpha":0.79515, "fx":[47.75216,50.64634,48.07482,45.13534], "fy":[-20.83177,-17.2382,-14.27055,-17.78032]}, - {"t":6.47256, "x":1.03913, "y":6.75474, "heading":2.40464, "vx":1.11613, "vy":-0.40846, "omega":0.7939, "ax":2.8161, "ay":-1.03057, "alpha":0.59561, "fx":[47.85744,49.9786,47.96503,45.80288], "fy":[-19.93171,-17.34053,-15.06863,-17.77824]}, - {"t":6.51219, "x":1.08558, "y":6.73774, "heading":2.4361, "vx":1.22774, "vy":-0.4493, "omega":0.81751, "ax":2.81602, "ay":-1.03055, "alpha":0.43611, "fx":[47.90563,49.39917,47.89973,46.39409], "fy":[-19.35279,-17.24386,-15.75656,-17.76392]}, - {"t":6.55183, "x":1.13644, "y":6.71912, "heading":2.4685, "vx":1.33934, "vy":-0.49014, "omega":0.83479, "ax":2.81593, "ay":-1.03051, "alpha":0.26994, "fx":[47.94048,48.84348,47.86447,46.94409], "fy":[-18.59271,-17.42471,-16.40578,-17.69169]}, - {"t":6.59146, "x":1.19173, "y":6.69889, "heading":2.50159, "vx":1.45094, "vy":-0.53098, "omega":0.84549, "ax":2.81582, "ay":-1.03047, "alpha":0.14429, "fx":[47.92142,48.37103,47.86847,47.42455], "fy":[-18.17125,-17.36955,-16.94823,-17.62326]}, - {"t":6.63109, "x":1.25145, "y":6.67704, "heading":2.53509, "vx":1.56253, "vy":-0.57182, "omega":0.85121, "ax":2.8157, "ay":-1.03043, "alpha":0.00695, "fx":[47.90454,47.92028,47.89231,47.86013], "fy":[-17.52513,-17.63038,-17.45617,-17.49759]}, - {"t":6.67072, "x":1.31558, "y":6.65356, "heading":2.56883, "vx":1.67412, "vy":-0.61266, "omega":0.85148, "ax":2.81556, "ay":-1.03038, "alpha":-0.08791, "fx":[47.83574,47.55695,47.94425,48.23061], "fy":[-17.23999,-17.58914,-17.86926,-17.4073]}, - {"t":6.71035, "x":1.38414, "y":6.62848, "heading":2.60257, "vx":1.7857, "vy":-0.65349, "omega":0.848, "ax":2.81539, "ay":-1.03031, "alpha":-0.19567, "fx":[47.78079,47.21508,48.00738,48.55265], "fy":[-16.7285,-17.89418,-18.23433,-17.24438]}, - {"t":6.74998, "x":1.45712, "y":6.60177, "heading":2.63618, "vx":1.89728, "vy":-0.69433, "omega":0.84024, "ax":2.81518, "ay":-1.03024, "alpha":-0.25698, "fx":[47.68169,46.96553,48.08747,48.80697], "fy":[-16.60327,-17.8378,-18.5071,-17.14796]}, - {"t":6.78961, "x":1.53452, "y":6.57344, "heading":2.66948, "vx":2.00885, "vy":-0.73516, "omega":0.83006, "ax":2.81492, "ay":-1.03014, "alpha":-0.33771, "fx":[47.61238,46.72997,48.16524,49.01626], "fy":[-16.19714,-18.18922,-18.72865,-16.97459]}, - {"t":6.82924, "x":1.61635, "y":6.5435, "heading":2.70238, "vx":2.12041, "vy":-0.77598, "omega":0.81668, "ax":2.81458, "ay":-1.03002, "alpha":-0.3629, "fx":[47.5,46.60456,48.23918,49.15723], "fy":[-16.24203,-18.06454,-18.86448,-16.91008]}, - {"t":6.86887, "x":1.70259, "y":6.51194, "heading":2.73474, "vx":2.23195, "vy":-0.8168, "omega":0.80229, "ax":2.81413, "ay":-1.02985, "alpha":-0.41058, "fx":[47.44648,46.49164,48.30684,49.22549], "fy":[-15.95744,-18.42014,-18.93121,-16.76107]}, - {"t":6.9085, "x":1.79326, "y":6.47876, "heading":2.76654, "vx":2.34348, "vy":-0.85762, "omega":0.78602, "ax":2.81351, "ay":-1.02962, "alpha":-0.43793, "fx":[47.18778,46.32796,48.18792,49.72406], "fy":[-16.22308,-18.22846,-18.95568,-16.64683]}, - {"t":6.94814, "x":1.88834, "y":6.44396, "heading":2.79769, "vx":2.45498, "vy":-0.89842, "omega":0.76867, "ax":2.81257, "ay":-1.02926, "alpha":-0.4029, "fx":[47.3407,46.52118,48.35957,49.14246], "fy":[-16.02374,-18.51788,-18.81549,-16.6724]}, - {"t":6.98777, "x":1.98784, "y":6.40755, "heading":2.82815, "vx":2.56645, "vy":-0.93921, "omega":0.7527, "ax":2.81099, "ay":-1.02869, "alpha":-0.37895, "fx":[47.11898,46.48998,48.12685,49.52086], "fy":[-16.49458,-18.15188,-18.66048,-16.68398]}, - {"t":7.0274, "x":2.09176, "y":6.36952, "heading":2.85798, "vx":2.67785, "vy":-0.97998, "omega":0.73768, "ax":2.80793, "ay":-1.02731, "alpha":-0.28168, "fx":[47.34087,46.86557,48.18546,48.65616], "fy":[-16.48264,-18.20387,-18.3632,-16.8474]}, - {"t":7.06703, "x":2.20009, "y":6.32987, "heading":2.88722, "vx":2.78913, "vy":-1.02069, "omega":0.72652, "ax":2.79783, "ay":-1.02556, "alpha":-0.21765, "fx":[46.93259,46.71223,47.50158,49.21485], "fy":[-17.32758,-17.67731,-17.86933,-16.90381]}, - {"t":7.10666, "x":2.31283, "y":6.28862, "heading":2.91601, "vx":2.90001, "vy":-1.06134, "omega":0.71789, "ax":0.00068, "ay":-0.00037, "alpha":-0.00137, "fx":[0.00996,0.00895,0.01333,0.01434], "fy":[-0.00016,-0.01166,-0.01125,-0.00224]}, - {"t":7.14629, "x":2.42776, "y":6.24655, "heading":2.94446, "vx":2.90004, "vy":-1.06135, "omega":0.71784, "ax":-2.79786, "ay":1.02548, "alpha":0.21404, "fx":[-46.91146,-46.73912,-47.53084,-49.18189], "fy":[17.33908,17.70472,17.84335,16.88526]}, - {"t":7.18592, "x":2.54049, "y":6.2053, "heading":2.97291, "vx":2.78916, "vy":-1.02071, "omega":0.72632, "ax":-2.80793, "ay":1.0273, "alpha":0.28153, "fx":[-47.24002,-46.92464,-48.28457,-48.59905], "fy":[16.56146,18.30761,18.28039,16.74702]}, - {"t":7.22555, "x":2.64882, "y":6.16565, "heading":3.00169, "vx":2.67788, "vy":-0.98, "omega":0.73748, "ax":-2.81098, "ay":1.02873, "alpha":0.38065, "fx":[-46.88625,-46.56299,-48.27761,-49.52886], "fy":[16.69951,18.33715,18.50328,16.4536]}, - {"t":7.26518, "x":2.75274, "y":6.12762, "heading":3.03092, "vx":2.56647, "vy":-0.93923, "omega":0.75256, "ax":-2.81256, "ay":1.02929, "alpha":0.4043, "fx":[-47.05186,-46.68015,-48.64384,-48.98734], "fy":[16.2515,18.79913,18.59903,16.38184]}, - {"t":7.30482, "x":2.85225, "y":6.09121, "heading":3.06075, "vx":2.45501, "vy":-0.89844, "omega":0.76859, "ax":-2.8135, "ay":1.02964, "alpha":0.43118, "fx":[-46.8135,-46.54298,-48.56116,-49.50962], "fy":[16.52264,18.61448,18.66035,16.25788]}, - {"t":7.34445, "x":2.94733, "y":6.05641, "heading":3.0912, "vx":2.34351, "vy":-0.85763, "omega":0.78567, "ax":-2.81413, "ay":1.02986, "alpha":0.41386, "fx":[-46.99876,-46.73272,-48.75045,-48.98819], "fy":[16.30232,18.89563,18.58107,16.29176]}, - {"t":7.38408, "x":3.038, "y":6.02323, "heading":3.12234, "vx":2.23198, "vy":-0.81682, "omega":0.80208, "ax":-2.81458, "ay":1.03003, "alpha":0.36137, "fx":[-47.00949,-46.87358,-48.71939,-48.89824], "fy":[16.63363,18.57469,18.48004,16.3935]}, - {"t":7.42371, "x":3.12424, "y":5.99167, "heading":-3.12906, "vx":2.12044, "vy":-0.776, "omega":0.8164, "ax":-2.81492, "ay":1.03015, "alpha":0.34078, "fx":[-47.11659,-46.99634,-48.65755,-48.75314], "fy":[16.58483,18.71893,18.33475,16.45171]}, - {"t":7.46334, "x":3.20607, "y":5.96172, "heading":-3.0967, "vx":2.00888, "vy":-0.73517, "omega":0.8299, "ax":-2.81518, "ay":1.03025, "alpha":0.25541, "fx":[-47.22568,-47.21565,-48.53386,-48.56627], "fy":[16.97469,18.31059,18.14389,16.66753]}, - {"t":7.50297, "x":3.28347, "y":5.9334, "heading":-3.06381, "vx":1.89731, "vy":-0.69434, "omega":0.84003, "ax":-2.81539, "ay":1.03032, "alpha":0.19794, "fx":[-47.42207,-47.40906,-48.36499,-48.35961], "fy":[17.01717,18.27636,17.94104,16.86731]}, - {"t":7.5426, "x":3.35645, "y":5.90669, "heading":-3.03052, "vx":1.78573, "vy":-0.65351, "omega":0.84787, "ax":-2.81556, "ay":1.03038, "alpha":0.08667, "fx":[-47.63697,-47.67292,-48.13923,-48.11828], "fy":[17.40497,17.79504,17.70099,17.20513]}, - {"t":7.58223, "x":3.42501, "y":5.8816, "heading":-2.99692, "vx":1.67415, "vy":-0.61267, "omega":0.8513, "ax":-2.8157, "ay":1.03044, "alpha":-0.00477, "fx":[-47.93349,-47.91153,-47.8639,-47.86819], "fy":[17.5204,17.59587,17.45663,17.53678]}, - {"t":7.62186, "x":3.48915, "y":5.85813, "heading":-2.96318, "vx":1.56256, "vy":-0.57183, "omega":0.85112, "ax":-2.81582, "ay":1.03048, "alpha":-0.14427, "fx":[-48.25952,-48.20514,-47.52537,-47.59531], "fy":[17.92301,16.99922,17.1904,18.00002]}, - {"t":7.66149, "x":3.54886, "y":5.83627, "heading":-2.92945, "vx":1.45097, "vy":-0.531, "omega":0.8454, "ax":-2.81593, "ay":1.03052, "alpha":-0.26805, "fx":[-48.66936,-48.47019,-47.13153,-47.32132], "fy":[18.04944,16.63605,16.9428,18.48693]}, - {"t":7.70113, "x":3.60415, "y":5.81604, "heading":-2.89595, "vx":1.33937, "vy":-0.49015, "omega":0.83477, "ax":-2.81602, "ay":1.03055, "alpha":-0.43574, "fx":[-49.12284,-48.7745,-46.66589,-47.03527], "fy":[18.42031,15.92377,16.67877,19.0946]}, - {"t":7.74076, "x":3.65502, "y":5.79742, "heading":-2.86286, "vx":1.22777, "vy":-0.44931, "omega":0.81751, "ax":-2.81609, "ay":1.03058, "alpha":-0.59531, "fx":[-49.65363,-49.0534,-46.14129,-46.75553], "fy":[18.56247,15.36844,16.44454,19.74394]}, - {"t":7.78039, "x":3.70147, "y":5.78042, "heading":-2.83046, "vx":1.11616, "vy":-0.40847, "omega":0.79391, "ax":-2.81616, "ay":1.0306, "alpha":-0.79371, "fx":[-50.24463,-49.35633,-45.53248,-46.47513], "fy":[18.89084,14.53217,16.19394,20.50416]}, - {"t":7.82002, "x":3.74349, "y":5.76505, "heading":-2.799, "vx":1.00455, "vy":-0.36763, "omega":0.76246, "ax":-2.81623, "ay":1.03063, "alpha":-0.99145, "fx":[-50.91335,-49.63898,-44.86119,-46.19923], "fy":[19.01874,13.78826,15.98656,21.32907]}, - {"t":7.85965, "x":3.78109, "y":5.75129, "heading":-2.76878, "vx":0.89294, "vy":-0.32678, "omega":0.72317, "ax":-2.81628, "ay":1.03065, "alpha":-1.22701, "fx":[-51.65633,-49.93749,-44.08959,-45.9331], "fy":[19.30181,12.79261,15.7657,22.26388]}, - {"t":7.89928, "x":3.81427, "y":5.73914, "heading":-2.74012, "vx":0.78133, "vy":-0.28594, "omega":0.67454, "ax":-2.81633, "ay":1.03066, "alpha":-1.46895, "fx":[-52.47701,-50.22386,-43.25135,-45.66767], "fy":[19.40893,11.83474,15.59623,23.28533]}, - {"t":7.93891, "x":3.84302, "y":5.72862, "heading":-2.71339, "vx":0.66972, "vy":-0.24509, "omega":0.61632, "ax":-2.81638, "ay":1.03068, "alpha":-1.74841, "fx":[-53.39099,-50.52305,-42.29462,-45.41428], "fy":[19.64509,10.66217,15.40454,24.41454]}, - {"t":7.97854, "x":3.86735, "y":5.71972, "heading":-2.68897, "vx":0.5581, "vy":-0.20424, "omega":0.54703, "ax":-2.81642, "ay":1.0307, "alpha":-2.04097, "fx":[-54.3875,-50.82327,-41.26176,-45.15319], "fy":[19.67779,9.48627,15.28875,25.67454]}, - {"t":8.01817, "x":3.88726, "y":5.71243, "heading":-2.66729, "vx":0.44648, "vy":-0.1634, "omega":0.46614, "ax":-2.81645, "ay":1.03071, "alpha":-2.36924, "fx":[-55.49807,-51.14199,-40.08005,-44.90814], "fy":[19.86116,8.10866,15.18524,26.97322]}, - {"t":8.05781, "x":3.90274, "y":5.70677, "heading":-2.64881, "vx":0.33486, "vy":-0.12255, "omega":0.37225, "ax":-2.81649, "ay":1.03072, "alpha":-2.72004, "fx":[-56.65693,-51.49288,-38.8341,-44.64667], "fy":[20.02898,6.66978,15.01847,28.41188]}, - {"t":8.09744, "x":3.9138, "y":5.70272, "heading":-2.63406, "vx":0.22324, "vy":-0.0817, "omega":0.26445, "ax":-2.81652, "ay":1.03073, "alpha":-3.11417, "fx":[-57.9482,-51.8901,-37.43905,-44.35537], "fy":[20.21723,5.04583,14.8392,30.02764]}, - {"t":8.13707, "x":3.92044, "y":5.70029, "heading":-2.62358, "vx":0.11162, "vy":-0.04085, "omega":0.14103, "ax":-2.81655, "ay":1.03074, "alpha":-3.55867, "fx":[-59.37855,-52.36661,-35.89032,-43.99922], "fy":[20.44546,3.24488,14.5595,31.88078]}, - {"t":8.1767, "x":3.92265, "y":5.69948, "heading":-2.61799, "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,87,119,174] + {"t":0.0, "x":7.22307, "y":7.61138, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-1.51801, "ay":-1.98438, "alpha":0.62454, "fx":[-24.02071,-24.26472,-27.62152,-27.37657], "fy":[-35.54217,-32.10497,-32.05289,-35.31481]}, + {"t":0.03209, "x":7.22228, "y":7.61036, "heading":3.14159, "vx":-0.04872, "vy":-0.06369, "omega":0.02004, "ax":-1.52953, "ay":-1.97648, "alpha":0.55745, "fx":[-24.40228,-24.6185,-27.63466,-27.41217], "fy":[-35.21124,-32.18551,-32.08063,-34.99995]}, + {"t":0.06419, "x":7.21993, "y":7.6073, "heading":-3.14095, "vx":-0.09781, "vy":-0.12712, "omega":0.03794, "ax":-1.54119, "ay":-1.96737, "alpha":0.48848, "fx":[-24.80533,-24.96341,-27.69295,-27.39935], "fy":[-34.78249,-32.26246,-32.08314,-34.72935]}, + {"t":0.09628, "x":7.216, "y":7.60221, "heading":-3.13973, "vx":-0.14727, "vy":-0.19026, "omega":0.05361, "ax":-1.55352, "ay":-1.95761, "alpha":0.45024, "fx":[-25.12196,-25.30853,-27.72632,-27.54314], "fy":[-34.58848,-32.11802,-32.06408,-34.42315]}, + {"t":0.12838, "x":7.21047, "y":7.59509, "heading":-3.13801, "vx":-0.19713, "vy":-0.25309, "omega":0.06806, "ax":-1.56658, "ay":-1.94715, "alpha":0.3891, "fx":[-25.52449,-25.65373,-27.83674,-27.57323], "fy":[-34.14972,-32.15902,-32.02018,-34.15263]}, + {"t":0.16047, "x":7.20334, "y":7.58597, "heading":-3.13583, "vx":-0.24741, "vy":-0.31559, "omega":0.08055, "ax":-1.58042, "ay":-1.93589, "alpha":0.35989, "fx":[-25.84069,-26.00423,-27.91928,-27.76591], "fy":[-33.96286,-31.96227,-31.95191,-33.83855]}, + {"t":0.19257, "x":7.19458, "y":7.57484, "heading":-3.13324, "vx":-0.29813, "vy":-0.37772, "omega":0.0921, "ax":-1.59513, "ay":-1.92375, "alpha":0.30499, "fx":[-26.2543,-26.35973,-28.08341,-27.83305], "fy":[-33.50898,-31.96373,-31.8587,-33.55834]}, + {"t":0.22466, "x":7.18419, "y":7.56173, "heading":-3.13029, "vx":-0.34933, "vy":-0.43946, "omega":0.10189, "ax":-1.61077, "ay":-1.91063, "alpha":0.28409, "fx":[-26.57683,-26.72229,-28.21202,-28.08355], "fy":[-33.32043,-31.70291,-31.74448,-33.22917]}, + {"t":0.25676, "x":7.17215, "y":7.54664, "heading":-3.12702, "vx":-0.40103, "vy":-0.50078, "omega":0.11101, "ax":-1.62743, "ay":-1.8964, "alpha":0.23381, "fx":[-27.0116,-27.09623,-28.43183,-28.18904], "fy":[-32.83823,-31.66791,-31.59497,-32.92807]}, + {"t":0.28885, "x":7.15844, "y":7.52959, "heading":-3.12345, "vx":-0.45326, "vy":-0.56164, "omega":0.11851, "ax":-1.64523, "ay":-1.88094, "alpha":0.21975, "fx":[-27.35004,-27.47834,-28.60899,-28.50187], "fy":[-32.63284,-31.34697,-31.42507,-32.57202]}, + {"t":0.32095, "x":7.14305, "y":7.5106, "heading":-3.11965, "vx":-0.50606, "vy":-0.62201, "omega":0.12557, "ax":-1.66425, "ay":-1.86407, "alpha":0.17304, "fx":[-27.81583,-27.87898,-28.88726,-28.65176], "fy":[-32.1086,-31.26554,-31.21685,-32.2381]}, + {"t":0.35304, "x":7.12595, "y":7.48967, "heading":-3.11562, "vx":-0.55947, "vy":-0.68184, "omega":0.13112, "ax":-1.68464, "ay":-1.8456, "alpha":0.16558, "fx":[-28.17953,-28.29179,-29.11816,-29.03139], "fy":[-31.88035,-30.86695,-30.98371,-31.8418]}, + {"t":0.38513, "x":7.10713, "y":7.46684, "heading":-3.11141, "vx":-0.61354, "vy":-0.74107, "omega":0.13643, "ax":-1.70652, "ay":-1.82532, "alpha":0.12138, "fx":[-28.68662,-28.72883,-29.46084,-29.2336], "fy":[-31.29447,-30.73414,-30.70399,-31.46018]}, + {"t":0.41723, "x":7.08656, "y":7.44211, "heading":-3.10703, "vx":-0.66831, "vy":-0.79965, "omega":0.14033, "ax":-1.73006, "ay":-1.80295, "alpha":0.11939, "fx":[-29.08802,-29.18316,-29.7537,-29.68661], "fy":[-31.02557,-30.25133,-30.39075,-31.0032]}, + {"t":0.44932, "x":7.06422, "y":7.41552, "heading":-3.10253, "vx":-0.72384, "vy":-0.85752, "omega":0.14416, "ax":-1.75543, "ay":-1.77818, "alpha":0.07732, "fx":[-29.64976,-29.67103,-30.17072,-29.94614], "fy":[-30.35943,-30.04258,-30.02562,-30.55771]}, + {"t":0.48142, "x":7.04008, "y":7.38708, "heading":-3.0979, "vx":-0.78018, "vy":-0.91459, "omega":0.14664, "ax":-1.78283, "ay":-1.75062, "alpha":0.08131, "fx":[-30.10024,-30.18086,-30.53429,-30.48634], "fy":[-30.03211,-29.44081,-29.61657,-30.02074]}, + {"t":0.51351, "x":7.01412, "y":7.35683, "heading":-3.0932, "vx":-0.8374, "vy":-0.97077, "omega":0.14925, "ax":-1.81247, "ay":-1.71981, "alpha":0.03981, "fx":[-30.73197,-30.73251,-31.03839,-30.81579], "fy":[-29.24692,-29.14661,-29.13819,-29.48231]}, + {"t":0.54561, "x":6.98631, "y":7.32479, "heading":-3.0884, "vx":-0.89557, "vy":-1.02597, "omega":0.15053, "ax":-1.84461, "ay":-1.68519, "alpha":0.04895, "fx":[-31.24794,-31.3122,-31.48713,-31.4576], "fy":[-28.83037,-28.40645,-28.59612,-28.82554]}, + {"t":0.5777, "x":6.95662, "y":7.29099, "heading":-3.08357, "vx":-0.95477, "vy":-1.08006, "omega":0.1521, "ax":-1.87949, "ay":-1.64607, "alpha":0.00816, "fx":[-31.9683,-31.94777,-32.09423,-31.86813], "fy":[-27.89109,-27.97558,-27.97167,-28.15823]}, + {"t":0.6098, "x":6.92501, "y":7.25548, "heading":-3.07869, "vx":-1.01509, "vy":-1.13289, "omega":0.15236, "ax":-1.91741, "ay":-1.60159, "alpha":0.02442, "fx":[-32.56556,-32.6177,-32.64384,-32.63155], "fy":[-27.34719,-27.01799,-27.26018,-27.34507]}, + {"t":0.64189, "x":6.89144, "y":7.21829, "heading":-3.0738, "vx":-1.07663, "vy":-1.18429, "omega":0.15315, "ax":-1.95867, "ay":-1.5507, "alpha":-0.01798, "fx":[-33.40035,-33.3631,-33.38197,-33.12008], "fy":[-26.19721,-26.41839,-26.41551,-26.47705]}, + {"t":0.67399, "x":6.85588, "y":7.17949, "heading":-3.06889, "vx":-1.13949, "vy":-1.23406, "omega":0.15257, "ax":-2.00354, "ay":-1.49209, "alpha":0.00319, "fx":[-34.09475,-34.13157,-34.04454,-34.04765], "fy":[-25.42705,-25.21283,-25.45571,-25.42447]}, + {"t":0.70608, "x":6.81828, "y":7.13911, "heading":-3.06399, "vx":-1.20379, "vy":-1.28195, "omega":0.15267, "ax":-2.05228, "ay":-1.42409, "alpha":-0.03927, "fx":[-35.05751,-35.00566,-34.92639,-34.64496], "fy":[-23.9667,-24.32467,-24.32008,-24.28207]}, + {"t":0.73817, "x":6.77859, "y":7.09723, "heading":-3.05909, "vx":-1.26966, "vy":-1.32765, "omega":0.15141, "ax":-2.10503, "ay":-1.34463, "alpha":-0.01231, "fx":[-35.87013,-35.89161,-35.72311,-35.73887], "fy":[-22.87802,-22.74403,-22.99248,-22.87244]}, + {"t":0.77027, "x":6.73675, "y":7.05393, "heading":-3.05423, "vx":-1.33722, "vy":-1.37081, "omega":0.15102, "ax":-2.16175, "ay":-1.25108, "alpha":-0.05472, "fx":[-36.96758,-36.90683,-36.75732,-36.4514], "fy":[-20.97636,-21.42567,-21.41719,-21.30315]}, + {"t":0.80236, "x":6.69272, "y":7.00929, "heading":-3.04938, "vx":-1.4066, "vy":-1.41096, "omega":0.14926, "ax":-2.22204, "ay":-1.14019, "alpha":-0.02205, "fx":[-37.89338,-37.90402,-37.68155,-37.70626], "fy":[-19.37751,-19.28417,-19.54848,-19.36707]}, + {"t":0.83446, "x":6.64643, "y":6.96342, "heading":-3.04459, "vx":-1.47792, "vy":-1.44755, "omega":0.14855, "ax":-2.28487, "ay":-1.00792, "alpha":-0.06104, "fx":[-39.08297,-39.03065,-38.83913,-38.50715], "fy":[-16.86584,-17.30145,-17.28758,-17.12267]}, + {"t":0.86655, "x":6.59782, "y":6.91644, "heading":-3.03983, "vx":-1.55125, "vy":-1.4799, "omega":0.14659, "ax":-2.34816, "ay":-0.84946, "alpha":-0.03054, "fx":[-40.05826,-40.05038,-39.81444,-39.84312], "fy":[-14.40174,-14.40984,-14.59932,-14.38537]}, + {"t":0.89865, "x":6.54683, "y":6.86851, "heading":-3.03512, "vx":-1.62661, "vy":-1.50717, "omega":0.14561, "ax":-2.4082, "ay":-0.65941, "alpha":-0.06113, "fx":[-41.18228,-41.14352,-40.93792,-40.5876], "fy":[-10.99776,-11.36818,-11.34844,-11.15134]}, + {"t":0.93074, "x":6.49338, "y":6.8198, "heading":-3.03045, "vx":-1.7039, "vy":-1.52833, "omega":0.14365, "ax":-2.45887, "ay":-0.43241, "alpha":-0.03763, "fx":[-41.94504,-41.92255,-41.70188,-41.72919], "fy":[-7.27291,-7.42965,-7.46703,-7.25096]}, + {"t":0.96284, "x":6.43743, "y":6.77052, "heading":-3.02584, "vx":-1.78282, "vy":-1.54221, "omega":0.14244, "ax":-2.49092, "ay":-0.16452, "alpha":-0.05306, "fx":[-42.57014,-42.54761,-42.3543,-42.00734], "fy":[-2.70643,-2.91619,-2.89195,-2.67905]}, + {"t":0.99493, "x":6.37893, "y":6.72094, "heading":-3.02127, "vx":-1.86276, "vy":-1.54749, "omega":0.14074, "ax":-2.49194, "ay":0.14427, "alpha":-0.04064, "fx":[-42.49425,-42.47039,-42.28109,-42.30289], "fy":[2.56033,2.27384,2.39646,2.58513]}, + {"t":1.02703, "x":6.31786, "y":6.67135, "heading":-3.01675, "vx":-1.94274, "vy":-1.54286, "omega":0.13944, "ax":-2.44797, "ay":0.48685, "alpha":-0.03957, "fx":[-41.7945,-41.77776,-41.62095,-41.3641], "fy":[8.27382,8.19988,8.22398,8.42713]}, + {"t":1.05912, "x":6.25425, "y":6.62208, "heading":-3.01227, "vx":-2.02131, "vy":-1.52723, "omega":0.13817, "ax":-2.34775, "ay":0.8468, "alpha":-0.03642, "fx":[-40.01214,-40.00551,-39.85274,-39.86776], "fy":[14.50765,14.18324,14.39506,14.52906]}, + {"t":1.09121, "x":6.18817, "y":6.57351, "heading":-3.00784, "vx":-2.09666, "vy":-1.50005, "omega":0.137, "ax":-2.18841, "ay":1.19987, "alpha":-0.02019, "fx":[-37.32485,-37.29509,-37.1966,-37.08061], "fy":[20.3084,20.38322,20.39976,20.5467]}, + {"t":1.12331, "x":6.11975, "y":6.52598, "heading":-3.00344, "vx":-2.16689, "vy":-1.46154, "omega":0.13635, "ax":-1.97907, "ay":1.52069, "alpha":-0.02558, "fx":[-33.69888,-33.71861,-33.61377,-33.62269], "fy":[25.94668,25.66688,25.89499,25.95715]}, + {"t":1.1554, "x":6.04918, "y":6.47986, "heading":-2.99907, "vx":-2.23041, "vy":-1.41274, "omega":0.13553, "ax":-1.73848, "ay":1.79101, "alpha":-0.00851, "fx":[-29.64292,-29.60662,-29.58416,-29.45028], "fy":[30.3687,30.47357,30.47622,30.53972]}, + {"t":1.1875, "x":5.9767, "y":6.43544, "heading":-2.99472, "vx":-2.28621, "vy":-1.35526, "omega":0.13526, "ax":-1.50117, "ay":1.98898, "alpha":-0.00474, "fx":[-25.52317,-25.55995,-25.52664,-25.52802], "fy":[33.85057,33.77041,33.86005,33.84682]}, + {"t":1.21984, "x":5.90198, "y":6.39264, "heading":-2.99034, "vx":-2.33476, "vy":-1.29093, "omega":0.1351, "ax":-1.23382, "ay":2.16922, "alpha":0.00655, "fx":[-21.01394,-20.98146,-21.03809,-20.91387], "fy":[36.79157,36.95067,36.93899,36.91004]}, + {"t":1.25218, "x":5.82582, "y":6.35203, "heading":-2.98597, "vx":-2.37466, "vy":-1.22077, "omega":0.13531, "ax":-0.88794, "ay":2.33186, "alpha":0.00815, "fx":[-15.0447,-15.0899,-15.14465,-15.13498], "fy":[39.66341,39.61644,39.73168,39.6458]}, + {"t":1.28453, "x":5.74855, "y":6.31376, "heading":-2.9816, "vx":-2.40338, "vy":-1.14535, "omega":0.13558, "ax":-0.4674, "ay":2.45075, "alpha":0.02393, "fx":[-7.91083,-7.90644,-8.04255,-7.94145], "fy":[41.55849,41.78513,41.76199,41.6409]}, + {"t":1.31687, "x":5.67058, "y":6.278, "heading":-2.97721, "vx":-2.4185, "vy":-1.06609, "omega":0.13635, "ax":0.00363, "ay":2.4948, "alpha":0.02488, "fx":[0.16256,0.12914,-0.03628,-0.00852], "fy":[42.39809,42.44846,42.52502,42.37201]}, + {"t":1.34921, "x":5.59236, "y":6.24483, "heading":-2.9728, "vx":-2.41838, "vy":-0.9854, "omega":0.13716, "ax":0.4793, "ay":2.4484, "alpha":0.0448, "fx":[8.28102,8.23155,8.02891,8.06963], "fy":[41.4152,41.80397,41.77517,41.59211]}, + {"t":1.38155, "x":5.51439, "y":6.21424, "heading":-2.96837, "vx":-2.40288, "vy":-0.90621, "omega":0.13861, "ax":0.91109, "ay":2.32282, "alpha":0.0266, "fx":[15.62876,15.61266,15.34997,15.39836], "fy":[39.49572,39.40361,39.67647,39.46615]}, + {"t":1.41389, "x":5.43716, "y":6.18614, "heading":-2.96388, "vx":-2.37341, "vy":-0.83109, "omega":0.13947, "ax":1.26952, "ay":2.1484, "alpha":0.06364, "fx":[21.81793,21.72411,21.48087,21.35366], "fy":[36.20649,36.74355,36.71188,36.51258]}, + {"t":1.44624, "x":5.36106, "y":6.16039, "heading":-2.95937, "vx":-2.33235, "vy":-0.7616, "omega":0.14152, "ax":1.54937, "ay":1.9567, "alpha":0.02978, "fx":[26.50327,26.48671,26.18274,26.24454], "fy":[33.267,33.14797,33.48201,33.23436]}, + {"t":1.47858, "x":5.28643, "y":6.13678, "heading":-2.95479, "vx":-2.28224, "vy":-0.69832, "omega":0.14249, "ax":1.76068, "ay":1.76949, "alpha":0.06989, "fx":[30.20718,30.10241,29.8472,29.63761], "fy":[29.733,30.31113,30.27622,30.07394]}, + {"t":1.51092, "x":5.21354, "y":6.11512, "heading":-2.95019, "vx":-2.2253, "vy":-0.64109, "omega":0.14475, "ax":1.91825, "ay":1.59786, "alpha":0.03231, "fx":[32.78113,32.75312,32.45811,32.52312], "fy":[27.15056,27.07942,27.37145,27.11491]}, + {"t":1.54326, "x":5.14257, "y":6.09522, "heading":-2.9455, "vx":-2.16326, "vy":-0.58941, "omega":0.14579, "ax":2.03586, "ay":1.44556, "alpha":0.06837, "fx":[34.89636,34.80399,34.5632,34.25421], "fy":[24.25666,24.7846,24.74793,24.56493]}, + {"t":1.57561, "x":5.07367, "y":6.07691, "heading":-2.94079, "vx":-2.09741, "vy":-0.54266, "omega":0.148, "ax":2.1244, "ay":1.3125, "alpha":0.03173, "fx":[36.27485,36.23997,35.98359,36.04321], "fy":[22.28736,22.27609,22.48637,22.25142]}, + {"t":1.60795, "x":5.00695, "y":6.06005, "heading":-2.936, "vx":-2.0287, "vy":-0.50021, "omega":0.14903, "ax":2.19186, "ay":1.19693, "alpha":0.05866, "fx":[37.52524,37.45398,37.25219,36.90055], "fy":[20.10574,20.51652,20.48189,20.33368]}, + {"t":1.64029, "x":4.94248, "y":6.0445, "heading":-2.93118, "vx":-1.95781, "vy":-0.4615, "omega":0.15093, "ax":2.24398, "ay":1.09658, "alpha":0.02693, "fx":[38.28054,38.24693,38.05175,38.09886], "fy":[18.61402,18.64627,18.7668,18.58277]}, + {"t":1.67263, "x":4.88034, "y":6.03014, "heading":-2.9263, "vx":-1.88524, "vy":-0.42603, "omega":0.1518, "ax":2.28481, "ay":1.0092, "alpha":0.04284, "fx":[39.05042,39.0022,38.86289,38.54026], "fy":[16.98779,17.27534,17.24843,17.15341]}, + {"t":1.70498, "x":4.82056, "y":6.01689, "heading":-2.92139, "vx":-1.81134, "vy":-0.39339, "omega":0.15318, "ax":2.31722, "ay":0.9328, "alpha":0.0148, "fx":[39.48141,39.46209,39.34476,39.37265], "fy":[15.85072,15.84976,15.93561,15.83079]}, + {"t":1.73732, "x":4.76319, "y":6.00466, "heading":-2.91644, "vx":-1.7364, "vy":-0.36322, "omega":0.15366, "ax":2.34328, "ay":0.86567, "alpha":0.02332, "fx":[39.97789,39.95611,39.90288,39.5969], "fy":[14.6127,14.77406,14.7621,14.75001]}, + {"t":1.76966, "x":4.70825, "y":5.99336, "heading":-2.91147, "vx":-1.66061, "vy":-0.33523, "omega":0.15442, "ax":2.36447, "ay":0.80635, "alpha":-0.00328, "fx":[40.22458,40.22891,40.21043,40.21197], "fy":[13.73726,13.65539,13.73401,13.73661]}, + {"t":1.802, "x":4.65578, "y":5.98294, "heading":-2.90647, "vx":-1.58414, "vy":-0.30915, "omega":0.15431, "ax":2.3819, "ay":0.75367, "alpha":-0.00104, "fx":[40.55532,40.56712,40.62277,40.31651], "fy":[12.78679,12.78902,12.80076,12.90247]}, + {"t":1.83435, "x":4.60579, "y":5.97334, "heading":-2.90148, "vx":-1.5071, "vy":-0.28477, "omega":0.15428, "ax":2.39637, "ay":0.70664, "alpha":-0.02632, "fx":[40.69047,40.7269,40.83097,40.79818], "fy":[12.08775,11.89932,11.97661,12.11561]}, + {"t":1.86669, "x":4.5583, "y":5.9645, "heading":-2.89649, "vx":-1.4296, "vy":-0.26192, "omega":0.15343, "ax":2.4085, "ay":0.66445, "alpha":-0.03004, "fx":[40.91216,40.96458,41.15517,40.83993], "fy":[11.34144,11.17661,11.22192,11.46864]}, + {"t":1.89903, "x":4.51333, "y":5.95637, "heading":-2.89153, "vx":-1.3517, "vy":-0.24043, "omega":0.15245, "ax":2.41875, "ay":0.62642, "alpha":-0.05556, "fx":[40.97663,41.05538,41.30677,41.23052], "fy":[10.78283,10.44474,10.54378,10.84981]}, + {"t":1.93137, "x":4.47087, "y":5.94893, "heading":-2.8866, "vx":-1.27347, "vy":-0.22017, "omega":0.15066, "ax":2.42748, "ay":0.592, "alpha":-0.06466, "fx":[41.12182,41.22409,41.57602,41.24129], "fy":[10.1891,9.82792,9.91849,10.34318]}, + {"t":1.96372, "x":4.43096, "y":5.94212, "heading":-2.88173, "vx":-1.19496, "vy":-0.20102, "omega":0.14857, "ax":2.43497, "ay":0.5607, "alpha":-0.09144, "fx":[41.13819,41.27073,41.69697,41.56665], "fy":[9.73758,9.20634,9.34948,9.85591]}, + {"t":1.99606, "x":4.39358, "y":5.93591, "heading":-2.87692, "vx":-1.11621, "vy":-0.18289, "omega":0.14561, "ax":2.44143, "ay":0.53214, "alpha":-0.10529, "fx":[41.22682,41.39012,41.93342,41.56178], "fy":[9.25555,8.67096,8.82022,9.45941]}, + {"t":2.0284, "x":4.35876, "y":5.93027, "heading":-2.87221, "vx":-1.03725, "vy":-0.16567, "omega":0.1422, "ax":2.44704, "ay":0.50598, "alpha":-0.13413, "fx":[41.20711,41.40584,42.03879,41.84207], "fy":[8.89099,8.13016,8.33063,9.07475]}, + {"t":2.06074, "x":4.32649, "y":5.92518, "heading":-2.86761, "vx":-0.9581, "vy":-0.14931, "omega":0.13787, "ax":2.45194, "ay":0.48195, "alpha":-0.15328, "fx":[41.24978,41.48764,42.25638,41.83324], "fy":[8.49888,7.65032,7.87391,8.7681]}, + {"t":2.09308, "x":4.29679, "y":5.9206, "heading":-2.86315, "vx":-0.8788, "vy":-0.13372, "omega":0.13291, "ax":2.45624, "ay":0.45979, "alpha":-0.18516, "fx":[41.20143,41.48135,42.35709,42.07958], "fy":[8.20462,7.1634,7.44562,8.47008]}, + {"t":2.12543, "x":4.26965, "y":5.91652, "heading":-2.85886, "vx":-0.79936, "vy":-0.11885, "omega":0.12692, "ax":2.46002, "ay":0.43931, "alpha":-0.20964, "fx":[41.20521,41.53349,42.56721,42.07137], "fy":[7.8839,6.72598,7.04205,8.23808]}, + {"t":2.15777, "x":4.24508, "y":5.9129, "heading":-2.85475, "vx":-0.7198, "vy":-0.10464, "omega":0.12014, "ax":2.46338, "ay":0.42032, "alpha":-0.2452, "fx":[41.131,41.50906,42.67025,42.29528], "fy":[7.64714,6.2791,6.65863,8.01305]}, + {"t":2.19011, "x":4.22309, "y":5.90974, "heading":-2.85087, "vx":-0.64013, "vy":-0.09105, "omega":0.11221, "ax":2.46636, "ay":0.40267, "alpha":-0.27585, "fx":[41.09885,41.53584,42.88099,42.29292], "fy":[7.38463,5.86692,6.2966,7.84879]}, + {"t":2.22245, "x":4.20368, "y":5.907, "heading":-2.84724, "vx":-0.56036, "vy":-0.07803, "omega":0.10329, "ax":2.46903, "ay":0.38622, "alpha":-0.31599, "fx":[40.99977,41.49595,42.99292,42.50117], "fy":[7.19915,5.44778,5.94398,7.68703]}, + {"t":2.2548, "x":4.18685, "y":5.90468, "heading":-2.8439, "vx":-0.4805, "vy":-0.06554, "omega":0.09307, "ax":2.47141, "ay":0.37086, "alpha":-0.35408, "fx":[40.9337,41.50106,43.2111,42.50629], "fy":[6.99622,5.04273,5.61064,7.58334]}, + {"t":2.28714, "x":4.1726, "y":5.90276, "heading":-2.84089, "vx":-0.40057, "vy":-0.05354, "omega":0.08162, "ax":2.47356, "ay":0.35649, "alpha":-0.4003, "fx":[40.80752,41.44507,43.3381,42.70735], "fy":[6.85086,4.63597,5.28322,7.48488]}, + {"t":2.31948, "x":4.16094, "y":5.90121, "heading":-2.83825, "vx":-0.32057, "vy":-0.04201, "omega":0.06867, "ax":2.47549, "ay":0.34301, "alpha":-0.44678, "fx":[40.70444,41.42684,43.57232,42.726], "fy":[6.6963,4.234,4.96838,7.4391]}, + {"t":2.35182, "x":4.15186, "y":5.90003, "heading":-2.83603, "vx":-0.24051, "vy":-0.03092, "omega":0.05422, "ax":2.47724, "ay":0.33034, "alpha":-0.50033, "fx":[40.55066,41.35592,43.71841,42.92356], "fy":[6.5924,3.82769,4.65528,7.40069]}, + {"t":2.38417, "x":4.14538, "y":5.8992, "heading":-2.83427, "vx":-0.16039, "vy":-0.02023, "omega":0.03804, "ax":2.47883, "ay":0.31842, "alpha":-0.55653, "fx":[40.40838,41.31402,43.97466,42.95937], "fy":[6.48036,3.41857,4.35147,7.41454]}, + {"t":2.41651, "x":4.14149, "y":5.89872, "heading":-2.83304, "vx":-0.08022, "vy":-0.00993, "omega":0.02004, "ax":2.48027, "ay":0.30718, "alpha":-0.61955, "fx":[40.2222,41.2251,44.1471,43.1601], "fy":[6.42266,3.00058,4.04179,7.43513]}, + {"t":2.44885, "x":4.14019, "y":5.89855, "heading":-2.83239, "vx":0.0, "vy":0.0, "omega":0.0, "ax":0.10474, "ay":-0.99379, "alpha":0.69638, "fx":[4.13009,3.0068,-0.5754,0.565], "fy":[-18.11474,-14.51715,-15.75269,-19.23205]}, + {"t":2.49281, "x":4.14029, "y":5.89759, "heading":-2.83239, "vx":0.0046, "vy":-0.04369, "omega":0.03061, "ax":0.10479, "ay":-0.99424, "alpha":0.59293, "fx":[3.80443,2.83596,-0.24279,0.73213], "fy":[-17.89718,-14.93604,-15.90654,-18.90749]}, + {"t":2.53677, "x":4.1406, "y":5.89471, "heading":-2.83105, "vx":0.00921, "vy":-0.08739, "omega":0.05668, "ax":0.10479, "ay":-0.99423, "alpha":0.51748, "fx":[3.53903,2.69449,0.02104,0.87505], "fy":[-17.80164,-15.15877,-16.04695,-18.63878]}, + {"t":2.58073, "x":4.1411, "y":5.88991, "heading":-2.82856, "vx":0.01382, "vy":-0.1311, "omega":0.07942, "ax":0.10479, "ay":-0.99421, "alpha":0.44117, "fx":[3.29235,2.56088,0.27208,1.00417], "fy":[-17.62604,-15.44115,-16.17218,-18.4055]}, + {"t":2.62469, "x":4.14181, "y":5.88319, "heading":-2.82507, "vx":0.01842, "vy":-0.1748, "omega":0.09882, "ax":0.10478, "ay":-0.99419, "alpha":0.38511, "fx":[3.09051,2.45102,0.47148,1.1163], "fy":[-17.56809,-15.59264,-16.28157,-18.20109]}, + {"t":2.66865, "x":4.14272, "y":5.87454, "heading":-2.82072, "vx":0.02303, "vy":-0.2185, "omega":0.11575, "ax":0.10478, "ay":-0.99416, "alpha":0.32497, "fx":[2.90166,2.34799,0.66454,1.21494], "fy":[-17.41332,-15.82672,-16.37875,-18.02287]}, + {"t":2.7126, "x":4.14384, "y":5.86398, "heading":-2.81563, "vx":0.02764, "vy":-0.26221, "omega":0.13003, "ax":0.10478, "ay":-0.99413, "alpha":0.2837, "fx":[2.74615,2.26325,0.8168,1.30273], "fy":[-17.3885,-15.92193,-16.46329,-17.8659]}, + {"t":2.75656, "x":4.14515, "y":5.85149, "heading":-2.80992, "vx":0.03224, "vy":-0.30591, "omega":0.1425, "ax":0.10477, "ay":-0.9941, "alpha":0.23535, "fx":[2.6003,2.18457,0.96711,1.37669], "fy":[-17.24614,-16.12458,-16.53823,-17.72823]}, + {"t":2.80052, "x":4.14667, "y":5.83708, "heading":-2.80365, "vx":0.03685, "vy":-0.34961, "omega":0.15285, "ax":0.10477, "ay":-0.99405, "alpha":0.20552, "fx":[2.4785,2.1192,1.08477,1.44588], "fy":[-17.25155,-16.17274,-16.60347,-17.60643]}, + {"t":2.84448, "x":4.14839, "y":5.82075, "heading":-2.79693, "vx":0.04145, "vy":-0.3933, "omega":0.16188, "ax":0.10476, "ay":-0.994, "alpha":0.1655, "fx":[2.36482,2.05956,1.20358,1.49999], "fy":[-17.11252,-16.3581,-16.66123,-17.49861]}, + {"t":2.88844, "x":4.15031, "y":5.8025, "heading":-2.78982, "vx":0.04606, "vy":-0.437, "omega":0.16916, "ax":0.10476, "ay":-0.99393, "alpha":0.14477, "fx":[2.2673,2.00871,1.29583,1.55562], "fy":[-17.14755,-16.3634,-16.71183,-17.40287]}, + {"t":2.9324, "x":4.15244, "y":5.78233, "heading":-2.78238, "vx":0.05066, "vy":-0.48069, "omega":0.17552, "ax":0.10475, "ay":-0.99383, "alpha":0.11019, "fx":[2.17776,1.96381,1.3916,1.59361], "fy":[-17.00101,-16.54464,-16.75662,-17.31697]}, + {"t":2.97636, "x":4.15477, "y":5.76024, "heading":-2.77467, "vx":0.05527, "vy":-0.52438, "omega":0.18037, "ax":0.10473, "ay":-0.9937, "alpha":0.09713, "fx":[2.09724,1.92346,1.46519,1.63993], "fy":[-17.06854,-16.50527,-16.79621,-17.24027]}, + {"t":3.02032, "x":4.1573, "y":5.73623, "heading":-2.76674, "vx":0.05987, "vy":-0.56806, "omega":0.18463, "ax":0.10471, "ay":-0.9935, "alpha":0.06535, "fx":[2.02566,1.88977,1.5443,1.66469], "fy":[-16.89969,-16.69666,-16.83083,-17.16966]}, + {"t":3.06427, "x":4.16003, "y":5.7103, "heading":-2.75862, "vx":0.06447, "vy":-0.61173, "omega":0.18751, "ax":0.10468, "ay":-0.99317, "alpha":0.05929, "fx":[1.95639,1.85663,1.60415,1.70488], "fy":[-17.0054,-16.60462,-16.86002,-17.10441]}, + {"t":3.10823, "x":4.16297, "y":5.68245, "heading":-2.75038, "vx":0.06908, "vy":-0.65539, "omega":0.19011, "ax":0.10461, "ay":-0.99252, "alpha":0.02833, "fx":[1.89728,1.83076,1.67103,1.71826], "fy":[-16.80629,-16.812,-16.87712,-17.03425]}, + {"t":3.15219, "x":4.16611, "y":5.65268, "heading":-2.74202, "vx":0.07367, "vy":-0.69902, "omega":0.19136, "ax":0.1044, "ay":-0.99054, "alpha":0.0183, "fx":[1.83272,1.79971,1.71848,1.75228], "fy":[-16.8806,-16.76556,-16.83558,-16.91374]}, + {"t":3.19615, "x":4.16944, "y":5.621, "heading":-2.73361, "vx":0.07826, "vy":-0.74257, "omega":0.19216, "ax":0.00005, "ay":-0.00046, "alpha":-0.00045, "fx":[0.00302,0.00218,0.00023,-0.0021], "fy":[0.0202,-0.01606,-0.0169,-0.01887]}, + {"t":3.24011, "x":4.17288, "y":5.58835, "heading":-2.72516, "vx":0.07827, "vy":-0.74259, "omega":0.19214, "ax":-0.1044, "ay":0.99054, "alpha":-0.01954, "fx":[-1.83078,-1.79789,-1.72039,-1.75414], "fy":[16.88646,16.74433,16.84538,16.9193]}, + {"t":3.28407, "x":4.17622, "y":5.55667, "heading":-2.71672, "vx":0.07368, "vy":-0.69904, "omega":0.19128, "ax":-0.10461, "ay":0.99252, "alpha":-0.02744, "fx":[-1.89665,-1.82634,-1.67256,-1.72178], "fy":[16.78567,16.81838,16.88716,17.03845]}, + {"t":3.32803, "x":4.17936, "y":5.5269, "heading":-2.70831, "vx":0.06908, "vy":-0.65541, "omega":0.19008, "ax":-0.10468, "ay":0.99317, "alpha":-0.05987, "fx":[-1.9578,-1.84689,-1.60272,-1.71465], "fy":[16.99994,16.59108,16.87387,17.10956]}, + {"t":3.37199, "x":4.1823, "y":5.49905, "heading":-2.69995, "vx":0.06448, "vy":-0.61175, "omega":0.18745, "ax":-0.10471, "ay":0.9935, "alpha":-0.06501, "fx":[-2.03013,-1.87293,-1.54057,-1.68078], "fy":[16.87585,16.69503,16.85004,17.17593]}, + {"t":3.41594, "x":4.18503, "y":5.47311, "heading":-2.69171, "vx":0.05987, "vy":-0.56808, "omega":0.18459, "ax":-0.10473, "ay":0.9937, "alpha":-0.09725, "fx":[-2.10601,-1.89609,-1.45644,-1.6673], "fy":[17.04358,16.49182,16.82481,17.25008]}, + {"t":3.4599, "x":4.18756, "y":5.4491, "heading":-2.6836, "vx":0.05527, "vy":-0.5244, "omega":0.18031, "ax":-0.10475, "ay":0.99383, "alpha":-0.11009, "fx":[-2.19167,-1.92361,-1.37809,-1.6334], "fy":[16.95779,16.53256,16.79748,17.33142]}, + {"t":3.50386, "x":4.18989, "y":5.42701, "heading":-2.67567, "vx":0.05066, "vy":-0.48071, "omega":0.17547, "ax":-0.10476, "ay":0.99393, "alpha":-0.14483, "fx":[-2.28841,-1.95133,-1.27477,-1.61293], "fy":[17.09277,16.34008,16.76896,17.42385]}, + {"t":3.54782, "x":4.19202, "y":5.40684, "heading":-2.66796, "vx":0.04606, "vy":-0.43702, "omega":0.16911, "ax":-0.10476, "ay":0.994, "alpha":-0.1656, "fx":[-2.39403,-1.98225,-1.17492,-1.57675], "fy":[17.0346,16.33068,16.73799,17.5272]}, + {"t":3.59178, "x":4.19394, "y":5.38859, "heading":-2.66052, "vx":0.04145, "vy":-0.39332, "omega":0.16183, "ax":-0.10477, "ay":0.99405, "alpha":-0.20561, "fx":[-2.51834,-2.01592,-1.04509,-1.54901], "fy":[17.15176,16.1326,16.70489,17.64494]}, + {"t":3.63574, "x":4.19566, "y":5.37226, "heading":-2.65341, "vx":0.03685, "vy":-0.34963, "omega":0.15279, "ax":-0.10477, "ay":0.9941, "alpha":-0.23561, "fx":[-2.65184,-2.05217,-0.91612,-1.50853], "fy":[17.11504,16.07526,16.66875,17.77813]}, + {"t":3.6797, "x":4.19718, "y":5.35785, "heading":-2.64669, "vx":0.03224, "vy":-0.30593, "omega":0.14243, "ax":-0.10478, "ay":0.99413, "alpha":-0.28388, "fx":[-2.81272,-2.0939,-0.75058,-1.47173], "fy":[17.22432,15.85665,16.6289,17.92976]}, + {"t":3.72366, "x":4.1985, "y":5.34536, "heading":-2.64043, "vx":0.02764, "vy":-0.26223, "omega":0.12995, "ax":-0.10478, "ay":0.99416, "alpha":-0.32541, "fx":[-2.98446,-2.1382,-0.58255,-1.42394], "fy":[17.20701,15.74704,16.58503,18.10258]}, + {"t":3.76761, "x":4.19961, "y":5.3348, "heading":-2.63472, "vx":0.02303, "vy":-0.21852, "omega":0.11565, "ax":-0.10478, "ay":0.99419, "alpha":-0.38543, "fx":[-3.19352,-2.19094,-0.36921,-1.37565], "fy":[17.31565,15.4927,16.53552,18.29952]}, + {"t":3.81157, "x":4.20052, "y":5.32615, "heading":-2.62964, "vx":0.01843, "vy":-0.17482, "omega":0.09871, "ax":-0.10479, "ay":0.99421, "alpha":-0.4418, "fx":[-3.41676,-2.24707,-0.14891,-1.31673], "fy":[17.31855,15.32113,16.48033,18.52485]}, + {"t":3.85553, "x":4.20123, "y":5.31943, "heading":-2.6253, "vx":0.01382, "vy":-0.13112, "omega":0.07928, "ax":-0.10479, "ay":0.99423, "alpha":-0.51799, "fx":[-3.68934,-2.31555,0.12783,-1.25255], "fy":[17.43379,15.01358,16.41681,18.78196]}, + {"t":3.89949, "x":4.20174, "y":5.31462, "heading":-2.62181, "vx":0.00921, "vy":-0.08741, "omega":0.05651, "ax":-0.10479, "ay":0.99424, "alpha":-0.59379, "fx":[-3.98145,-2.38944,0.4177,-1.17654], "fy":[17.46075,14.76513,16.34468,19.07671]}, + {"t":3.94345, "x":4.20204, "y":5.31174, "heading":-2.61933, "vx":0.00461, "vy":-0.04371, "omega":0.03041, "ax":-0.10479, "ay":0.99426, "alpha":-0.69184, "fx":[-4.33747,-2.48116,0.77826,-1.08947], "fy":[17.59175,14.38277,16.26026,19.41347]}, + {"t":3.98741, "x":4.20214, "y":5.31078, "heading":-2.61799, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-0.45531, "ay":0.20518, "alpha":-3.24255, "fx":[-19.56687,-10.90513,4.10956,-4.6166], "fy":[6.66351,-8.46063,0.30796,15.44945]}, + {"t":4.02929, "x":4.20174, "y":5.31096, "heading":-2.61799, "vx":-0.01907, "vy":0.00859, "omega":-0.13581, "ax":-2.2787, "ay":1.02687, "alpha":-2.46286, "fx":[-47.10403,-41.6855,-30.16705,-36.08368], "fy":[19.51319,7.87922,15.41442,27.06029]}, + {"t":4.07117, "x":4.19894, "y":5.31222, "heading":-2.62368, "vx":-0.11451, "vy":0.0516, "omega":-0.23896, "ax":-2.27868, "ay":1.02686, "alpha":-2.14359, "fx":[-46.08275,-41.24892,-31.31208,-36.39502], "fy":[19.27375,9.14504,15.64735,25.80055]}, + {"t":4.11306, "x":4.19215, "y":5.31528, "heading":-2.63369, "vx":-0.20995, "vy":0.09461, "omega":-0.32874, "ax":-2.27866, "ay":1.02686, "alpha":-1.84949, "fx":[-45.01206,-41.03047,-32.36733,-36.62728], "fy":[19.11543,10.28764,15.81364,24.64954]}, + {"t":4.15494, "x":4.18136, "y":5.32015, "heading":-2.64745, "vx":-0.30538, "vy":0.13762, "omega":-0.4062, "ax":-2.27863, "ay":1.02685, "alpha":-1.59021, "fx":[-44.17899,-40.69021,-33.3003,-36.86592], "fy":[18.94995,11.33018,15.96626,23.61933]}, + {"t":4.19682, "x":4.16657, "y":5.32681, "heading":-2.66447, "vx":-0.40082, "vy":0.18063, "omega":-0.4728, "ax":-2.2786, "ay":1.02684, "alpha":-1.35437, "fx":[-43.29661,-40.54801,-34.14604,-37.04287], "fy":[18.83641,12.24297,16.09814,22.68766]}, + {"t":4.23871, "x":4.14778, "y":5.33528, "heading":-2.68427, "vx":-0.49625, "vy":0.22363, "omega":-0.52953, "ax":-2.27857, "ay":1.02683, "alpha":-1.14199, "fx":[-42.62359,-40.24518,-34.90607,-37.25666], "fy":[18.69119,13.10346,16.22336,21.84659]}, + {"t":4.28059, "x":4.125, "y":5.34554, "heading":-2.70645, "vx":-0.59169, "vy":0.26664, "omega":-0.57736, "ax":-2.27854, "ay":1.02682, "alpha":-0.95305, "fx":[-41.89999,-40.14144,-35.57777,-37.41005], "fy":[18.58581,13.82425,16.35664,21.09725]}, + {"t":4.32247, "x":4.09822, "y":5.35761, "heading":-2.73063, "vx":-0.68712, "vy":0.30965, "omega":-0.61728, "ax":-2.2785, "ay":1.02681, "alpha":-0.77751, "fx":[-41.36381,-39.84845,-36.196,-37.61856], "fy":[18.43576,14.53798,16.47927,20.41024]}, + {"t":4.36436, "x":4.06744, "y":5.37148, "heading":-2.75648, "vx":-0.78255, "vy":0.35265, "omega":-0.64984, "ax":-2.27846, "ay":1.0268, "alpha":-0.62652, "fx":[-40.77273,-39.7637,-36.72211,-37.76558], "fy":[18.32378,15.09758,16.62722,19.81391]}, + {"t":4.40624, "x":4.03267, "y":5.38715, "heading":-2.7837, "vx":-0.87798, "vy":0.39566, "omega":-0.67608, "ax":-2.27842, "ay":1.02679, "alpha":-0.47989, "fx":[-40.35386,-39.46274,-37.22526,-37.9793], "fy":[18.16007,15.69091,16.75611,19.25455]}, + {"t":4.44812, "x":3.9939, "y":5.40462, "heading":-2.81202, "vx":-0.97341, "vy":0.43866, "omega":-0.69618, "ax":-2.27837, "ay":1.02678, "alpha":-0.36062, "fx":[-39.87488,-39.39528,-37.62579,-38.1219], "fy":[18.03818,16.11118,16.92208,18.78926]}, + {"t":4.49, "x":3.95113, "y":5.4239, "heading":-2.84118, "vx":-1.06883, "vy":0.48167, "omega":-0.71128, "ax":-2.27832, "ay":1.02676, "alpha":-0.23705, "fx":[-39.55594,-39.08291,-38.03368,-38.34164], "fy":[17.86069,16.60568,17.05584,18.33742]}, + {"t":4.53189, "x":3.90437, "y":5.44497, "heading":-2.87097, "vx":-1.16425, "vy":0.52467, "omega":-0.72121, "ax":-2.27826, "ay":1.02674, "alpha":-0.14525, "fx":[-39.17397,-39.0341,-38.32548,-38.47647], "fy":[17.73456,16.90083,17.23481,17.98824]}, + {"t":4.57377, "x":3.8536, "y":5.46785, "heading":-2.90117, "vx":-1.25967, "vy":0.56767, "omega":-0.7273, "ax":-2.27819, "ay":1.02672, "alpha":-0.0405, "fx":[-38.94682,-38.70851,-38.65225,-38.69775], "fy":[17.5455,17.31553,17.36931,17.62676]}, + {"t":4.61565, "x":3.79885, "y":5.49252, "heading":-2.93163, "vx":-1.35509, "vy":0.61068, "omega":-0.72899, "ax":-2.27811, "ay":1.0267, "alpha":0.02733, "fx":[-38.64427,-38.68645,-38.84972,-38.81948], "fy":[17.42356,17.49807,17.55415,17.37985]}, + {"t":4.65754, "x":3.74009, "y":5.519, "heading":-2.96217, "vx":-1.45051, "vy":0.65368, "omega":-0.72785, "ax":-2.27802, "ay":1.02667, "alpha":0.11629, "fx":[-38.49861,-38.34868,-39.10906,-39.03742], "fy":[17.23094,17.84612,17.68003,17.09668]}, + {"t":4.69942, "x":3.67734, "y":5.54728, "heading":-2.99265, "vx":-1.54592, "vy":0.69668, "omega":-0.72298, "ax":-2.27791, "ay":1.02664, "alpha":0.16144, "fx":[-38.26431,-38.36607,-39.2209,-39.13524], "fy":[17.12486,17.92174,17.86193,16.94321]}, + {"t":4.7413, "x":3.6106, "y":5.57736, "heading":-3.02293, "vx":-1.64132, "vy":0.73968, "omega":-0.71622, "ax":-2.27779, "ay":1.02661, "alpha":0.23708, "fx":[-38.19579,-38.01093,-39.42609,-39.3452], "fy":[16.93691,18.21714,17.96772,16.72748]}, + {"t":4.78319, "x":3.53986, "y":5.60924, "heading":-3.05293, "vx":-1.73672, "vy":0.78267, "omega":-0.70629, "ax":-2.27764, "ay":1.02657, "alpha":0.25942, "fx":[-38.01722,-38.08925,-39.45661,-39.40463], "fy":[16.86028,18.19002,18.13544,16.66072]}, + {"t":4.82507, "x":3.46512, "y":5.64292, "heading":-3.08251, "vx":-1.83212, "vy":0.82567, "omega":-0.69542, "ax":-2.27745, "ay":1.02651, "alpha":0.322, "fx":[-38.02112,-37.72481,-39.61375,-39.59557], "fy":[16.6883,18.44046,18.20868,16.50536]}, + {"t":4.86695, "x":3.38639, "y":5.6784, "heading":-3.11164, "vx":-1.9275, "vy":0.86866, "omega":-0.68193, "ax":-2.27722, "ay":1.02645, "alpha":0.31963, "fx":[-37.88935,-37.87928,-39.56802,-39.6029], "fy":[16.66177,18.2982,18.35284,16.52573]}, + {"t":4.90883, "x":3.30366, "y":5.71568, "heading":-3.1402, "vx":-2.02288, "vy":0.91165, "omega":-0.66855, "ax":-2.27693, "ay":1.02636, "alpha":0.3693, "fx":[-37.96575,-37.50851,-39.68288,-39.76243], "fy":[16.51479,18.52394,18.37236,16.42154]}, + {"t":4.95072, "x":3.21694, "y":5.75477, "heading":3.11499, "vx":-2.11824, "vy":0.95464, "omega":-0.65308, "ax":-2.27653, "ay":1.02626, "alpha":0.34032, "fx":[-37.87221,-37.76211,-39.56063,-39.6977], "fy":[16.55248,18.28191,18.46885,16.52219]}, + {"t":4.9926, "x":3.12623, "y":5.79565, "heading":3.08763, "vx":-2.21359, "vy":0.99762, "omega":-0.63883, "ax":-2.27599, "ay":1.0261, "alpha":0.37267, "fx":[-38.02249,-37.39558,-39.63199,-39.80543], "fy":[16.45557,18.46519,18.41876,16.47489]}, + {"t":5.03448, "x":3.03152, "y":5.83833, "heading":3.06088, "vx":-2.30892, "vy":1.0406, "omega":-0.62322, "ax":-2.27516, "ay":1.02588, "alpha":0.31442, "fx":[-37.95932,-37.77104,-39.42832,-39.64046], "fy":[16.56872,18.15938,18.42821,16.64331]}, + {"t":5.07637, "x":2.93282, "y":5.88282, "heading":3.03478, "vx":-2.40421, "vy":1.08357, "omega":-0.61005, "ax":-2.2738, "ay":1.02548, "alpha":0.31546, "fx":[-38.15832,-37.49372,-39.41915,-39.63546], "fy":[16.56428,18.24567,18.29056,16.67227]}, + {"t":5.11825, "x":2.83013, "y":5.9291, "heading":3.00923, "vx":-2.49944, "vy":1.12652, "omega":-0.59684, "ax":-2.27107, "ay":1.02478, "alpha":0.22472, "fx":[-38.12581,-37.93792,-39.12397,-39.33307], "fy":[16.77705,17.87718,18.16859,16.90201]}, + {"t":5.16013, "x":2.72345, "y":5.97718, "heading":2.98423, "vx":-2.59456, "vy":1.16944, "omega":-0.58742, "ax":-2.26306, "ay":1.02267, "alpha":0.16378, "fx":[-38.19782,-37.94618,-38.84054,-38.99172], "fy":[16.89568,17.80573,17.87518,17.00453]}, + {"t":5.20202, "x":2.6128, "y":6.02706, "heading":2.95962, "vx":-2.68934, "vy":1.21227, "omega":-0.58056, "ax":-1.83008, "ay":0.80231, "alpha":0.07677, "fx":[-31.01731,-30.95084,-31.24528,-31.30287], "fy":[13.33212,14.20025,13.67436,13.38142]}, + {"t":5.2439, "x":2.49856, "y":6.07853, "heading":2.93531, "vx":-2.76599, "vy":1.24587, "omega":-0.57735, "ax":2.26424, "ay":-1.01721, "alpha":-0.01617, "fx":[38.12875,39.05122,38.39701,38.47914], "fy":[-17.06465,-17.46118,-17.54456,-17.13971]}, + {"t":5.28578, "x":2.38469, "y":6.12982, "heading":2.91113, "vx":-2.67116, "vy":1.20327, "omega":-0.57803, "ax":2.27189, "ay":-1.02223, "alpha":-0.17009, "fx":[38.3287,38.10287,38.95656,39.18897], "fy":[-16.82952,-17.83248,-17.8817,-17.00771]}, + {"t":5.32766, "x":2.27481, "y":6.17932, "heading":2.88692, "vx":-2.57601, "vy":1.16046, "omega":-0.58515, "ax":2.27438, "ay":-1.02389, "alpha":-0.25721, "fx":[38.35467,37.70263,39.16987,39.51878], "fy":[-16.60023,-17.96435,-18.20586,-16.8936]}, + {"t":5.36955, "x":2.16891, "y":6.22703, "heading":2.86241, "vx":-2.48075, "vy":1.11757, "omega":-0.59592, "ax":2.27562, "ay":-1.02468, "alpha":-0.27585, "fx":[38.22524,37.7731,39.17838,39.65359], "fy":[-16.54645,-17.81765,-18.43108,-16.92313]}, + {"t":5.41143, "x":2.06701, "y":6.27294, "heading":2.83745, "vx":-2.38544, "vy":1.07466, "omega":-0.60748, "ax":2.27636, "ay":-1.02516, "alpha":-0.34887, "fx":[38.35513,37.30757,39.3328,39.88511], "fy":[-16.3228,-18.11664,-18.51938,-16.79209]}, + {"t":5.45331, "x":1.9691, "y":6.31705, "heading":2.81201, "vx":-2.2901, "vy":1.03172, "omega":-0.62209, "ax":2.27685, "ay":-1.02548, "alpha":-0.32266, "fx":[38.23652,37.62051,39.21103,39.84603], "fy":[-16.36476,-17.89713,-18.62315,-16.88744]}, + {"t":5.4952, "x":1.87518, "y":6.35936, "heading":2.78595, "vx":-2.19474, "vy":0.98877, "omega":-0.6356, "ax":2.2772, "ay":-1.02571, "alpha":-0.36174, "fx":[38.39174,37.28545,39.29675,39.96402], "fy":[-16.24732,-18.09576,-18.61575,-16.82898]}, + {"t":5.53708, "x":1.78525, "y":6.39987, "heading":2.75933, "vx":-2.09936, "vy":0.94581, "omega":-0.65075, "ax":2.27746, "ay":-1.02587, "alpha":-0.31295, "fx":[38.32386,37.64464,39.14449,39.84296], "fy":[-16.37625,-17.82242,-18.63053,-16.96989]}, + {"t":5.57896, "x":1.69932, "y":6.43859, "heading":2.73208, "vx":-2.00397, "vy":0.90284, "omega":-0.66386, "ax":2.27767, "ay":-1.026, "alpha":-0.32388, "fx":[38.48534,37.43963,39.18445,39.86036], "fy":[-16.34561,-17.97699,-18.5322,-16.95336]}, + {"t":5.62085, "x":1.61739, "y":6.4755, "heading":2.70427, "vx":-1.90858, "vy":0.85987, "omega":-0.67743, "ax":2.27783, "ay":-1.02611, "alpha":-0.26052, "fx":[38.45317,37.81968,39.02992,39.67813], "fy":[-16.53661,-17.72557,-18.45098,-17.10207]}, + {"t":5.66273, "x":1.53945, "y":6.51061, "heading":2.6759, "vx":-1.81318, "vy":0.81689, "omega":-0.68834, "ax":2.27796, "ay":-1.02619, "alpha":-0.24358, "fx":[38.60367,37.75039,39.03698,39.59895], "fy":[-16.60506,-17.80467,-18.28478,-17.12656]}, + {"t":5.70461, "x":1.4655, "y":6.54393, "heading":2.64707, "vx":-1.71777, "vy":0.77391, "omega":-0.69854, "ax":2.27807, "ay":-1.02626, "alpha":-0.16753, "fx":[38.59323,38.14259,38.89884,39.36293], "fy":[-16.86274,-17.57262,-18.11684,-17.27364]}, + {"t":5.74649, "x":1.39556, "y":6.57544, "heading":2.61781, "vx":-1.62236, "vy":0.73093, "omega":-0.70556, "ax":2.27817, "ay":-1.02633, "alpha":-0.12721, "fx":[38.73076,38.17578,38.89924,39.19818], "fy":[-17.02286,-17.61592,-17.87482,-17.3164]}, + {"t":5.78838, "x":1.32961, "y":6.60515, "heading":2.58826, "vx":-1.52694, "vy":0.68795, "omega":-0.71088, "ax":2.27825, "ay":-1.02638, "alpha":-0.03571, "fx":[38.71781,38.61256,38.78026,38.8988], "fy":[-17.35476,-17.40325,-17.62273,-17.45278]}, + {"t":5.83026, "x":1.26765, "y":6.63307, "heading":2.55849, "vx":-1.43152, "vy":0.64496, "omega":-0.71238, "ax":2.27832, "ay":-1.02642, "alpha":0.02793, "fx":[38.8307,38.74834,38.7887,38.64645], "fy":[-17.60671,-17.43786,-17.29618,-17.49579]}, + {"t":5.87214, "x":1.20969, "y":6.65918, "heading":2.52865, "vx":-1.3361, "vy":0.60197, "omega":-0.71121, "ax":2.27838, "ay":-1.02646, "alpha":0.13621, "fx":[38.8024,39.23511,38.70163,38.27922], "fy":[-18.01847,-17.25966,-16.9531,-17.60796]}, + {"t":5.91403, "x":1.15573, "y":6.68349, "heading":2.49886, "vx":-1.24067, "vy":0.55898, "omega":-0.7055, "ax":2.27843, "ay":-1.02649, "alpha":0.22462, "fx":[38.88042,39.47386,38.73353,37.93422], "fy":[-18.37035,-17.29879,-16.53402,-17.63836]}, + {"t":5.95591, "x":1.10577, "y":6.706, "heading":2.46932, "vx":-1.14524, "vy":0.51598, "omega":-0.6961, "ax":2.27848, "ay":-1.02653, "alpha":0.35272, "fx":[38.82273,40.02312,38.68953,37.48991], "fy":[-18.87084,-17.16772,-16.09083,-17.71421]}, + {"t":5.99779, "x":1.0598, "y":6.72671, "heading":2.44016, "vx":-1.04981, "vy":0.47299, "omega":-0.68132, "ax":2.27852, "ay":-1.02655, "alpha":0.46876, "fx":[38.85396,40.36993,38.75934,37.04496], "fy":[-19.33543,-17.22459,-15.56676,-17.71868]}, + {"t":6.03968, "x":1.01783, "y":6.74562, "heading":2.41163, "vx":-0.95438, "vy":0.42999, "omega":-0.66169, "ax":2.27856, "ay":-1.02658, "alpha":0.62143, "fx":[38.7546,40.99626,38.77104,36.50892], "fy":[-19.94223,-17.14614,-15.01115,-17.74762]}, + {"t":6.08156, "x":0.97985, "y":6.76273, "heading":2.38391, "vx":-0.85895, "vy":0.387, "omega":-0.63566, "ax":2.2786, "ay":-1.0266, "alpha":0.76982, "fx":[38.72948,41.46373,38.89396,35.94603], "fy":[-20.53145,-17.23971,-14.36369,-17.71379]}, + {"t":6.12344, "x":0.94588, "y":6.77804, "heading":2.35729, "vx":-0.76352, "vy":0.344, "omega":-0.60342, "ax":2.27863, "ay":-1.02662, "alpha":0.95255, "fx":[38.57692,42.18202,38.9724,35.30403], "fy":[-21.26468,-17.22047,-13.67848,-17.68637]}, + {"t":6.16532, "x":0.9159, "y":6.79155, "heading":2.33202, "vx":-0.66808, "vy":0.301, "omega":-0.56353, "ax":2.27866, "ay":-1.02664, "alpha":1.13925, "fx":[38.48745,42.78246,39.16154,34.60588], "fy":[-22.00034,-17.36478,-12.88309,-17.60306]}, + {"t":6.20721, "x":0.88992, "y":6.80325, "heading":2.30841, "vx":-0.57264, "vy":0.25801, "omega":-0.51581, "ax":2.27869, "ay":-1.02665, "alpha":1.36032, "fx":[38.27434,43.61914,39.31648,33.82917], "fy":[-22.88723,-17.40965,-12.04229,-17.51326]}, + {"t":6.24909, "x":0.86793, "y":6.81316, "heading":2.28681, "vx":-0.4772, "vy":0.21501, "omega":-0.45884, "ax":2.27871, "ay":-1.02667, "alpha":1.5941, "fx":[38.11526,44.37886,39.5809,32.96578], "fy":[-23.80044,-17.60876,-11.06698,-17.3773]}, + {"t":6.29097, "x":0.84994, "y":6.82126, "heading":2.26759, "vx":-0.38177, "vy":0.17201, "omega":-0.39207, "ax":2.27873, "ay":-1.02668, "alpha":1.86365, "fx":[37.8442,45.3646,39.81701,32.01652], "fy":[-24.87691,-17.71772,-10.03318,-17.22664]}, + {"t":6.33286, "x":0.83595, "y":6.82757, "heading":2.25117, "vx":-0.28633, "vy":0.12901, "omega":-0.31402, "ax":2.27875, "ay":-1.0267, "alpha":2.156, "fx":[37.62422,46.32117,40.15544,30.94293], "fy":[-26.01167,-17.96271,-8.83325,-17.04773]}, + {"t":6.37474, "x":0.82596, "y":6.83207, "heading":2.23802, "vx":-0.19088, "vy":0.086, "omega":-0.22372, "ax":2.27877, "ay":-1.02671, "alpha":2.48767, "fx":[37.30978,47.50107,40.46819,29.76603], "fy":[-27.33023,-18.11898,-7.54991,-16.85707]}, + {"t":6.41662, "x":0.81996, "y":6.83477, "heading":2.22865, "vx":-0.09544, "vy":0.043, "omega":-0.11952, "ax":2.27879, "ay":-1.02672, "alpha":2.85377, "fx":[37.0559,48.71259,40.86433,28.41348], "fy":[-28.74625,-18.37829,-6.06418,-16.66826]}, + {"t":6.45851, "x":0.81796, "y":6.83567, "heading":2.22364, "vx":0.0, "vy":0.0, "omega":0.0, "ax":2.34654, "ay":-0.85874, "alpha":3.06912, "fx":[38.16294,50.52452,42.15066,28.81791], "fy":[-26.80442,-15.74359,-2.31701,-13.56299]}, + {"t":6.49887, "x":0.81987, "y":6.83497, "heading":2.22364, "vx":0.09472, "vy":-0.03466, "omega":0.12389, "ax":2.34711, "ay":-0.85895, "alpha":2.68088, "fx":[38.31998,49.24706,41.82163,30.30612], "fy":[-25.3046,-15.54844,-3.89002,-13.69914]}, + {"t":6.53924, "x":0.82561, "y":6.83287, "heading":2.22864, "vx":0.18946, "vy":-0.06934, "omega":0.2321, "ax":2.34709, "ay":-0.85894, "alpha":2.33922, "fx":[38.58181,48.03573,41.55502,31.52062], "fy":[-23.93836,-15.42022,-5.22327,-13.85977]}, + {"t":6.5796, "x":0.83517, "y":6.82938, "heading":2.23801, "vx":0.28421, "vy":-0.10401, "omega":0.32653, "ax":2.34706, "ay":-0.85894, "alpha":2.03363, "fx":[38.78223,47.04133,41.23101,32.63688], "fy":[-22.74002,-15.19191,-6.47546,-14.03359]}, + {"t":6.61997, "x":0.84855, "y":6.82448, "heading":2.25119, "vx":0.37895, "vy":-0.13868, "omega":0.40862, "ax":2.34703, "ay":-0.85893, "alpha":1.75435, "fx":[39.04678,46.03124,40.99627,33.61527], "fy":[-21.62502,-15.06281,-7.5501,-14.20238]}, + {"t":6.66034, "x":0.86576, "y":6.81818, "heading":2.26769, "vx":0.47369, "vy":-0.17335, "omega":0.47943, "ax":2.347, "ay":-0.85891, "alpha":1.50803, "fx":[39.21799,45.24122,40.71606,34.51224], "fy":[-20.65477,-14.84989,-8.5706,-14.36431]}, + {"t":6.7007, "x":0.8868, "y":6.81048, "heading":2.28704, "vx":0.56843, "vy":-0.20802, "omega":0.54031, "ax":2.34697, "ay":-0.8589, "alpha":1.27784, "fx":[39.44851,44.38156,40.5421,35.31312], "fy":[-19.73576,-14.76062,-9.44807,-14.49431]}, + {"t":6.74107, "x":0.91165, "y":6.80139, "heading":2.30885, "vx":0.66316, "vy":-0.24269, "omega":0.59189, "ax":2.34694, "ay":-0.85889, "alpha":1.07985, "fx":[39.56483,43.75696,40.32088,36.04016], "fy":[-18.94888,-14.58913,-10.28455,-14.61533]}, + {"t":6.78143, "x":0.94033, "y":6.79089, "heading":2.33274, "vx":0.7579, "vy":-0.27736, "omega":0.63548, "ax":2.3469, "ay":-0.85888, "alpha":0.8888, "fx":[39.74559,43.01562,40.21451,36.70442], "fy":[-18.18617,-14.55523,-11.00516,-14.69035]}, + {"t":6.8218, "x":0.97284, "y":6.77899, "heading":2.35839, "vx":0.85263, "vy":-0.31203, "omega":0.67135, "ax":2.34685, "ay":-0.85886, "alpha":0.73055, "fx":[39.80147,42.52745,40.05516,37.29309], "fy":[-17.54963,-14.43229,-11.69079,-14.76313]}, + {"t":6.86216, "x":1.00917, "y":6.7657, "heading":2.38549, "vx":0.94737, "vy":-0.3467, "omega":0.70084, "ax":2.3468, "ay":-0.85884, "alpha":0.57093, "fx":[39.9314,41.88007,40.01416,37.84824], "fy":[-16.91555,-14.45686,-12.28133,-14.78091]}, + {"t":6.90253, "x":1.04932, "y":6.751, "heading":2.41378, "vx":1.0421, "vy":-0.38137, "omega":0.72389, "ax":2.34675, "ay":-0.85882, "alpha":0.44631, "fx":[39.92919,41.51165,39.90992,38.31942], "fy":[-16.41004,-14.37351,-12.84011,-14.80965]}, + {"t":6.9429, "x":1.0933, "y":6.73491, "heading":2.44301, "vx":1.13683, "vy":-0.41604, "omega":0.74191, "ax":2.34669, "ay":-0.8588, "alpha":0.3118, "fx":[40.01592,40.93743,39.92796,38.78471], "fy":[-15.882,-14.45721,-13.31751,-14.77509]}, + {"t":6.98326, "x":1.1411, "y":6.71742, "heading":2.47295, "vx":1.23155, "vy":-0.4507, "omega":0.75449, "ax":2.34662, "ay":-0.85878, "alpha":0.21651, "fx":[39.962,40.68207,39.86642,39.15084], "fy":[-15.49036,-14.40608,-13.76511,-14.76857]}, + {"t":7.02363, "x":1.19273, "y":6.69852, "heading":2.50341, "vx":1.32628, "vy":-0.48537, "omega":0.76323, "ax":2.34654, "ay":-0.85875, "alpha":0.1032, "fx":[40.01435,40.17142,39.93275,39.53742], "fy":[-15.05715,-14.53672,-14.14207,-14.69223]}, + {"t":7.06399, "x":1.24817, "y":6.67823, "heading":2.53422, "vx":1.421, "vy":-0.52003, "omega":0.7674, "ax":2.34645, "ay":-0.85871, "alpha":0.03414, "fx":[39.91933,40.02198,39.90098,39.80745], "fy":[-14.77039,-14.50055,-14.49095,-14.66404]}, + {"t":7.10436, "x":1.30744, "y":6.65654, "heading":2.56519, "vx":1.51571, "vy":-0.55469, "omega":0.76878, "ax":2.34634, "ay":-0.85868, "alpha":-0.06084, "fx":[39.94989,39.56578,40.00414,40.12268], "fy":[-14.4221,-14.67046,-14.77401,-14.55675]}, + {"t":7.14473, "x":1.37054, "y":6.63345, "heading":2.59623, "vx":1.61043, "vy":-0.58936, "omega":0.76632, "ax":2.34622, "ay":-0.85863, "alpha":-0.10503, "fx":[39.8245,39.52141,39.98707,40.30095], "fy":[-14.23664,-14.62557,-15.03428,-14.52374]}, + {"t":7.18509, "x":1.43746, "y":6.60896, "heading":2.62716, "vx":1.70513, "vy":-0.62401, "omega":0.76208, "ax":2.34607, "ay":-0.85858, "alpha":-0.18375, "fx":[39.84844,39.10878,40.11609,40.55035], "fy":[-13.96539,-14.83051,-15.2246,-14.39601]}, + {"t":7.22546, "x":1.5082, "y":6.58307, "heading":2.65792, "vx":1.79983, "vy":-0.65867, "omega":0.75466, "ax":2.34588, "ay":-0.85851, "alpha":-0.2029, "fx":[39.70367,39.17507,40.09637,40.636], "fy":[-13.87694,-14.76379,-15.39877,-14.37249]}, + {"t":7.26582, "x":1.58276, "y":6.55579, "heading":2.68838, "vx":1.89453, "vy":-0.69333, "omega":0.74647, "ax":2.34565, "ay":-0.85843, "alpha":-0.26589, "fx":[39.73875,38.79534,40.23961,40.82172], "fy":[-13.68284,-14.98422,-15.49826,-14.241]}, + {"t":7.30619, "x":1.66115, "y":6.5271, "heading":2.71852, "vx":1.98921, "vy":-0.72798, "omega":0.73574, "ax":2.34535, "ay":-0.85832, "alpha":-0.25772, "fx":[39.58489,38.98555,40.19629,40.80849], "fy":[-13.69432,-14.86903,-15.58893,-14.2468]}, + {"t":7.34656, "x":1.74335, "y":6.49702, "heading":2.74821, "vx":2.08388, "vy":-0.76262, "omega":0.72534, "ax":2.34496, "ay":-0.85818, "alpha":-0.30413, "fx":[39.65327,38.62691,40.34038,40.92778], "fy":[-13.5778,-15.09356,-15.5907,-14.12725]}, + {"t":7.38692, "x":1.82938, "y":6.46553, "heading":2.77749, "vx":2.17854, "vy":-0.79727, "omega":0.71306, "ax":2.34441, "ay":-0.85798, "alpha":-0.26577, "fx":[39.50037,38.95813,40.24829,40.80386], "fy":[-13.68403,-14.93517,-15.58379,-14.17279]}, + {"t":7.42729, "x":1.91923, "y":6.43265, "heading":2.80628, "vx":2.27317, "vy":-0.8319, "omega":0.70233, "ax":2.34358, "ay":-0.85768, "alpha":-0.2877, "fx":[39.61267,38.65178,40.35796,40.83176], "fy":[-13.66298,-15.10836,-15.48639,-14.09758]}, + {"t":7.46765, "x":2.0129, "y":6.39837, "heading":2.83463, "vx":2.36778, "vy":-0.86652, "omega":0.69072, "ax":2.34219, "ay":-0.85718, "alpha":-0.21726, "fx":[39.48173,39.10234,40.19196,40.58382], "fy":[-13.86161,-14.90195,-15.36208,-14.19602]}, + {"t":7.50802, "x":2.11038, "y":6.3627, "heading":2.86251, "vx":2.46232, "vy":-0.90112, "omega":0.68195, "ax":2.33942, "ay":-0.85618, "alpha":-0.14396, "fx":[39.38207,39.61868,39.95184,40.21886], "fy":[-13.9669,-14.9183,-15.15788,-14.21041]}, + {"t":7.54838, "x":2.21168, "y":6.32562, "heading":2.89004, "vx":2.55675, "vy":-0.93568, "omega":0.67614, "ax":2.33114, "ay":-0.85308, "alpha":-0.0904, "fx":[39.46778,39.3417,39.82763,39.97118], "fy":[-14.23936,-14.56339,-14.87456,-14.36497]}, + {"t":7.58875, "x":2.31679, "y":6.28716, "heading":2.91733, "vx":2.65085, "vy":-0.97012, "omega":0.67249, "ax":0.00082, "ay":0.0004, "alpha":-0.00099, "fx":[0.02191,-0.00278,0.01859,0.01783], "fy":[0.00655,0.00701,0.00699,0.00653]}, + {"t":7.62912, "x":2.42379, "y":6.248, "heading":2.94447, "vx":2.65088, "vy":-0.9701, "omega":0.67245, "ax":-2.33121, "ay":0.85289, "alpha":0.08956, "fx":[-39.4517,-39.354,-39.84545,-39.9617], "fy":[14.24932,14.56057,14.87195,14.348]}, + {"t":7.66948, "x":2.5289, "y":6.20954, "heading":2.97162, "vx":2.55678, "vy":-0.93567, "omega":0.67606, "ax":-2.33945, "ay":0.8561, "alpha":0.14814, "fx":[-39.32633,-39.63235,-40.01946,-40.1952], "fy":[14.00626,14.9828,15.11526,14.14405]}, + {"t":7.70985, "x":2.6302, "y":6.17246, "heading":2.99891, "vx":2.46235, "vy":-0.90111, "omega":0.68204, "ax":-2.34221, "ay":0.85713, "alpha":0.21714, "fx":[-39.36244,-39.16949,-40.31085,-40.51841], "fy":[13.93629,15.01198,15.29472,14.07499]}, + {"t":7.75021, "x":2.72769, "y":6.13679, "heading":3.02644, "vx":2.3678, "vy":-0.86652, "omega":0.69081, "ax":-2.34359, "ay":0.85764, "alpha":0.28625, "fx":[-39.42563,-38.75608,-40.53765,-40.73571], "fy":[13.78521,15.30129,15.36273,13.90362]}, + {"t":7.79058, "x":2.82136, "y":6.10251, "heading":3.05433, "vx":2.2732, "vy":-0.8319, "omega":0.70236, "ax":-2.34442, "ay":0.85795, "alpha":0.26574, "fx":[-39.25533,-39.09253,-40.49169,-40.67183], "fy":[13.83909,15.17991,15.43366,13.92111]}, + {"t":7.83095, "x":2.91121, "y":6.06963, "heading":3.08268, "vx":2.17857, "vy":-0.79726, "omega":0.71309, "ax":-2.34497, "ay":0.85815, "alpha":0.30262, "fx":[-39.35128,-38.79226,-40.63357,-40.77184], "fy":[13.77815,15.40776,15.38905,13.81273]}, + {"t":7.87131, "x":2.99724, "y":6.03814, "heading":3.11146, "vx":2.08391, "vy":-0.76262, "omega":0.72531, "ax":-2.34536, "ay":0.8583, "alpha":0.25741, "fx":[-39.24918,-39.16803,-40.52975,-40.6288], "fy":[13.90873,15.20927,15.3789,13.90074]}, + {"t":7.91168, "x":3.07944, "y":6.00806, "heading":3.14074, "vx":1.98924, "vy":-0.72798, "omega":0.7357, "ax":-2.34566, "ay":0.85841, "alpha":0.26621, "fx":[-39.38965,-38.96529,-40.59497,-40.64597], "fy":[13.91994,15.35911,15.25871,13.86733]}, + {"t":7.95204, "x":3.15783, "y":5.97937, "heading":-3.11275, "vx":1.89455, "vy":-0.69333, "omega":0.74644, "ax":-2.34589, "ay":0.85849, "alpha":0.20311, "fx":[-39.35979,-39.3601,-40.43847,-40.45315], "fy":[14.09333,15.1175,15.18386,14.01621]}, + {"t":7.99241, "x":3.23239, "y":5.95209, "heading":-3.08262, "vx":1.79986, "vy":-0.65867, "omega":0.75464, "ax":-2.34607, "ay":0.85856, "alpha":0.18341, "fx":[-39.54676,-39.25896,-40.4172,-40.40111], "fy":[14.1666,15.15365,15.02194,14.07336]}, + {"t":8.03278, "x":3.30314, "y":5.9262, "heading":-3.05216, "vx":1.70516, "vy":-0.62402, "omega":0.76204, "ax":-2.34622, "ay":0.85862, "alpha":0.1052, "fx":[-39.5984,-39.63946,-40.21256,-40.18384], "fy":[14.36863,14.85557,14.90451,14.29063]}, + {"t":8.07314, "x":3.37005, "y":5.90171, "heading":-3.0214, "vx":1.61045, "vy":-0.58936, "omega":0.76629, "ax":-2.34635, "ay":0.85866, "alpha":0.06002, "fx":[-39.84588,-39.60907,-40.10424,-40.0836], "fy":[14.48199,14.78654,14.71355,14.44042]}, + {"t":8.11351, "x":3.43315, "y":5.87862, "heading":-2.99046, "vx":1.51574, "vy":-0.5547, "omega":0.76871, "ax":-2.34645, "ay":0.8587, "alpha":-0.03334, "fx":[-39.9805,-39.97954,-39.83986,-39.8501], "fy":[14.69564,14.434,14.565,14.73054]}, + {"t":8.15387, "x":3.49242, "y":5.85693, "heading":-2.95943, "vx":1.42102, "vy":-0.52004, "omega":0.76737, "ax":-2.34654, "ay":0.85874, "alpha":-0.10488, "fx":[-40.29889,-40.00641,-39.6361,-39.7148], "fy":[14.83742,14.24221,14.36249,14.98535]}, + {"t":8.19424, "x":3.54787, "y":5.83663, "heading":-2.92846, "vx":1.3263, "vy":-0.48537, "omega":0.76313, "ax":-2.34662, "ay":0.85877, "alpha":-0.21549, "fx":[-40.52469,-40.36078,-39.30125,-39.47484], "fy":[15.05417,13.81526,14.19806,15.36197]}, + {"t":8.23461, "x":3.5995, "y":5.81774, "heading":-2.89765, "vx":1.23158, "vy":-0.45071, "omega":0.75444, "ax":-2.34669, "ay":0.85879, "alpha":-0.31387, "fx":[-40.93069,-40.42282,-38.99397,-39.31877], "fy":[15.20788,13.50009,13.9929,15.73033]}, + {"t":8.27497, "x":3.6473, "y":5.80025, "heading":-2.8672, "vx":1.13685, "vy":-0.41604, "omega":0.74177, "ax":-2.34675, "ay":0.85881, "alpha":-0.44514, "fx":[-41.2543,-40.76646,-38.57222,-39.07741], "fy":[15.41905,12.98211,13.82371,16.20787]}, + {"t":8.31534, "x":3.69128, "y":5.78415, "heading":-2.83726, "vx":1.04212, "vy":-0.38137, "omega":0.7238, "ax":-2.34681, "ay":0.85883, "alpha":-0.57306, "fx":[-41.76312,-40.852,-38.14922,-38.90974], "fy":[15.57289,12.53228,13.62517,16.70377]}, + {"t":8.3557, "x":3.73143, "y":5.76946, "heading":-2.80804, "vx":0.94739, "vy":-0.34671, "omega":0.70067, "ax":-2.34686, "ay":0.85885, "alpha":-0.72899, "fx":[-42.19748,-41.18421,-37.62193,-38.67374], "fy":[15.76982,11.90839,13.45953,17.29758]}, + {"t":8.39607, "x":3.76776, "y":5.75616, "heading":-2.77976, "vx":0.85266, "vy":-0.31204, "omega":0.67124, "ax":-2.3469, "ay":0.85887, "alpha":-0.89158, "fx":[-42.82807,-41.28885,-37.06155,-38.50185], "fy":[15.91676,11.30323,13.27595,17.94048]}, + {"t":8.43643, "x":3.80027, "y":5.74427, "heading":-2.75266, "vx":0.75792, "vy":-0.27737, "omega":0.63525, "ax":-2.34694, "ay":0.85888, "alpha":-1.07797, "fx":[-43.38761,-41.61037,-36.4118,-38.27323], "fy":[16.09765,10.54826,13.11814,18.67337]}, + {"t":8.4768, "x":3.82895, "y":5.73377, "heading":-2.72702, "vx":0.66319, "vy":-0.2427, "omega":0.59174, "ax":-2.34697, "ay":0.8589, "alpha":-1.28102, "fx":[-44.1595,-41.7333,-35.69375,-38.09889], "fy":[16.2336,9.76845,12.95198,19.48429]}, + {"t":8.51717, "x":3.85381, "y":5.72467, "heading":-2.70314, "vx":0.56845, "vy":-0.20803, "omega":0.54003, "ax":-2.34701, "ay":0.85891, "alpha":-1.50575, "fx":[-44.86568,-42.05294,-34.89338,-37.87566], "fy":[16.4015,8.85528,12.79909,20.38328]}, + {"t":8.55753, "x":3.87484, "y":5.71698, "heading":-2.68134, "vx":0.47371, "vy":-0.17336, "omega":0.47925, "ax":-2.34704, "ay":0.85892, "alpha":-1.75778, "fx":[-45.80648,-42.20196,-33.9888,-37.69246], "fy":[16.53232,7.87116,12.64582,21.39061]}, + {"t":8.5979, "x":3.89205, "y":5.71068, "heading":-2.66199, "vx":0.37897, "vy":-0.13869, "omega":0.40829, "ax":-2.34706, "ay":0.85893, "alpha":-2.03064, "fx":[-46.6815,-42.54157,-33.0054,-37.46312], "fy":[16.70193,6.76538,12.48386,22.48943]}, + {"t":8.63826, "x":3.90544, "y":5.70578, "heading":-2.64551, "vx":0.28423, "vy":-0.10402, "omega":0.32632, "ax":-2.34709, "ay":0.85894, "alpha":-2.34284, "fx":[-47.82135,-42.74419,-31.87859,-37.24918], "fy":[16.85074,5.53887,12.32116,23.73047]}, + {"t":8.67863, "x":3.915, "y":5.70228, "heading":-2.63234, "vx":0.18949, "vy":-0.06934, "omega":0.23175, "ax":-2.34711, "ay":0.85895, "alpha":-2.67647, "fx":[-48.8944,-43.14417,-30.67066,-36.98569], "fy":[17.05844,4.19708,12.11651,25.0698]}, + {"t":8.719, "x":3.92074, "y":5.70018, "heading":-2.62298, "vx":0.09474, "vy":-0.03467, "omega":0.12371, "ax":-2.34714, "ay":0.85896, "alpha":-3.0648, "fx":[-50.27082,-43.54191,-29.26488,-36.6188], "fy":[17.23385,2.71563,11.8905,26.60241]}, + {"t":8.75936, "x":3.92265, "y":5.69948, "heading":-2.61799, "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,76,111,170] }, "events":[] } diff --git a/src/auto/mod.rs b/src/auto/mod.rs index 0507e31..c07315e 100644 --- a/src/auto/mod.rs +++ b/src/auto/mod.rs @@ -206,7 +206,7 @@ pub async fn blue_2(robot: Ferris) -> Result<(), Box> { let mut elevator = robot.elevator.deref().borrow_mut(); let mut indexer = robot.indexer.deref().borrow_mut(); - drivetrain.reset_heading(); + drivetrain.reset_heading_offset(Angle::new::(180.)); drivetrain.odometry.set_abs(Vector2::new( Length::new::(8.020708084106445), @@ -214,12 +214,18 @@ pub async fn blue_2(robot: Ferris) -> Result<(), Box> { )); join!(drive("Blue2", &mut drivetrain, 1), async { - sleep(Duration::from_secs_f64(2.5)).await; + elevator.set_target(ElevatorPosition::L2); + elevator.run_to_target_trapezoid(); + + indexer.set_speed(-0.25); + wait(|| indexer.get_laser_dist() < LASER_TRIP_DISTANCE_MM && indexer.get_laser_dist() != -1).await; + indexer.stop(); + elevator.set_target(ElevatorPosition::L4); elevator.run_to_target_trapezoid(); }); - let _ = timeout(Duration::from_secs_f64(0.5), async { + let _ = timeout(Duration::from_secs_f64(0.75), async { loop { drivetrain.update_limelight().await; sleep(Duration::from_millis(20)).await; diff --git a/src/auto/path.rs b/src/auto/path.rs index 030700a..3206999 100644 --- a/src/auto/path.rs +++ b/src/auto/path.rs @@ -98,7 +98,9 @@ pub async fn follow_path_segment( } let setpoint = if red { - path.get(Time::new::(elapsed)).mirror(HALF_FIELD_LENGTH_METERS, HALF_FIELD_WIDTH_METERS) + path.get(Time::new::(elapsed)).mirror( + Length::new::(HALF_FIELD_LENGTH_METERS), + Length::new::(HALF_FIELD_WIDTH_METERS)) } else { path.get(Time::new::(elapsed)) }; diff --git a/src/constants.rs b/src/constants.rs index 4d33771..33c78fe 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -46,20 +46,20 @@ pub mod robotmap { } // TODO: get 2025 field dimensions -pub const HALF_FIELD_WIDTH_METERS: Length = Length::new::(17.55 / 2.); -pub const HALF_FIELD_LENGTH_METERS: Length = Length::new::(8.05 / 2.); +pub const HALF_FIELD_WIDTH_METERS: f64 = 17.55 / 2.; +pub const HALF_FIELD_LENGTH_METERS: f64 = 8.05 / 2.; pub mod vision { use nalgebra::Vector2; - pub const LIMELIGHT_UPPER_PITCH_DEGREES: f64 = -34.35; + pub const LIMELIGHT_UPPER_PITCH_DEGREES: f64 = -34.4; pub const LIMELIGHT_UPPER_YAW_DEGREES: f64 = 90.; // Counterclockwise positive pub const LIMELIGHT_UPPER_HEIGHT_INCHES: f64 = 20.8; pub const ROBOT_CENTER_TO_LIMELIGHT_UPPER_INCHES: Vector2 = Vector2::new(11.118, 10.352); // Increase distance by 10% for every 20 degrees of absolute value of tx // Set this to 0 for new robots - pub const TX_FUDGE_FACTOR: f64 = 0.095 / 20.; + pub const TX_FUDGE_FACTOR: f64 = 0.105 / 20.; } pub mod drivetrain { @@ -70,7 +70,7 @@ pub mod drivetrain { pub const BR_OFFSET_DEGREES: f64 = -0.056641 * 360.; pub const BL_OFFSET_DEGREES: f64 = 0.170898 * 360.; - pub const PIGEON_OFFSET: f64 = -1.5; + pub const PIGEON_OFFSET: f64 = -0.4; pub const SWERVE_TURN_KP: f64 = 0.6; diff --git a/src/lib.rs b/src/lib.rs index 7ef6135..a4cf679 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -23,7 +23,8 @@ use std::net::{IpAddr, Ipv4Addr, SocketAddr}; use std::ops::Deref; use std::rc::Rc; use std::sync::Arc; -use std::time::{Duration, Instant}; +use std::time::Duration; +use tokio::time::Instant; use axum::response::IntoResponse; use tokio::runtime::Handle; use tokio::task::{spawn_local, AbortHandle}; @@ -339,10 +340,10 @@ pub fn score( if elevator_at_target && drivetrain_aligned { if indexer.get_laser_dist() < constants::indexer::LASER_TRIP_DISTANCE_MM { let indexer_speed = match elevator_position { - ElevatorPosition::Bottom => -0.5, - ElevatorPosition::L2 => -0.5, - ElevatorPosition::L3 => -0.5, - ElevatorPosition::L4 => -0.25, + ElevatorPosition::Bottom => -0.7, + ElevatorPosition::L2 => -0.7, + ElevatorPosition::L3 => -0.7, + ElevatorPosition::L4 => -0.5, }; indexer.set_speed(indexer_speed); } else { @@ -351,6 +352,8 @@ pub fn score( //elevator.set_target(ElevatorPosition::Bottom); //elevator.run_to_target_trapezoid(); } + } else { + indexer.stop(); } } diff --git a/src/main.rs b/src/main.rs index a72a4ad..ee34f43 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,7 +1,7 @@ #![warn(non_snake_case)] use std::ops::Deref; -use std::time::{Duration, Instant}; +use tokio::time::{Duration, Instant}; use frcrs::{init_hal, observe_user_program_starting, refresh_data, Robot}; use frcrs::input::{RobotMode, RobotState}; use frcrs::networktables::NetworkTable; diff --git a/src/subsystems/drivetrain.rs b/src/subsystems/drivetrain.rs index c810351..dd57035 100644 --- a/src/subsystems/drivetrain.rs +++ b/src/subsystems/drivetrain.rs @@ -21,6 +21,7 @@ use frcrs::telemetry::Telemetry; use nalgebra::{Quaternion, Rotation2, Vector2}; use serde::Deserialize; use serde::Serialize; +use tokio::time::Instant; use crate::constants; use crate::constants::vision::ROBOT_CENTER_TO_LIMELIGHT_UPPER_INCHES; @@ -268,7 +269,7 @@ impl Drivetrain { .get::(), ) .await; - Telemetry::put_number("angle", self.get_offset().get::()).await; + Telemetry::put_number("angle", self.get_offset().get::()).await; Telemetry::put_number( "FOM", self.odometry @@ -507,11 +508,7 @@ impl Drivetrain { } pub fn get_angle(&self) -> Angle { - if alliance_station().red() { - Angle::new::(-self.pigeon.get_rotation().z + 180. + PIGEON_OFFSET) - } else { - Angle::new::(-self.pigeon.get_rotation().z + PIGEON_OFFSET) - } + Angle::new::(-self.pigeon.get_rotation().z + PIGEON_OFFSET) } pub fn get_offset(&self) -> Angle { @@ -566,8 +563,8 @@ impl Drivetrain { i += error_position; } - error_angle *= SWERVE_TURN_KP; - error_position *= -SWERVE_DRIVE_KP * 1.25; + error_angle *= SWERVE_TURN_KP * 1.2; + error_position *= -SWERVE_DRIVE_KP * 1.65; let mut speed = error_position; @@ -588,9 +585,9 @@ impl Drivetrain { Telemetry::put_number("target_x", target.position.x).await; Telemetry::put_number("target_y", target.position.y).await; Telemetry::put_number("target_angle", target.angle.get::()).await; - if error_position.magnitude().abs() < 0.015 && error_angle.abs() < 0.015 { + if error_position.magnitude().abs() < 0.0125 && error_angle.abs() < 0.015 { self.stop(); - self.set_speeds(0., 0., 0., SwerveControlStyle::RobotOriented); + //self.set_speeds(0., 0., 0., SwerveControlStyle::RobotOriented); // println!("dt at position"); true } else { From b19d37de0bddaa8d4453cf30bc256fe2579998df Mon Sep 17 00:00:00 2001 From: TheSnowHatHero Date: Sat, 1 Mar 2025 17:20:20 -0600 Subject: [PATCH 08/42] Indexer speed constants --- src/auto/mod.rs | 16 ++++++++-------- src/constants.rs | 9 +++++---- src/lib.rs | 11 ++++++----- src/main.rs | 3 ++- src/subsystems/indexer.rs | 3 ++- 5 files changed, 23 insertions(+), 19 deletions(-) diff --git a/src/auto/mod.rs b/src/auto/mod.rs index c07315e..83c1fda 100644 --- a/src/auto/mod.rs +++ b/src/auto/mod.rs @@ -14,7 +14,7 @@ use uom::si::f64::Angle; use crate::subsystems::{Drivetrain, Elevator, ElevatorPosition, Indexer, LineupSide}; use crate::{constants, score, Ferris}; -use crate::constants::indexer::LASER_TRIP_DISTANCE_MM; +use crate::constants::indexer::{BOTTOM_SPEED, INTAKE_SPEED, L2_SPEED, L3_SPEED, L4_SPEED, LASER_TRIP_DISTANCE_MM}; #[derive(Serialize, Deserialize)] pub enum Auto { @@ -134,10 +134,10 @@ pub async fn async_score( while indexer.get_laser_dist() < constants::indexer::LASER_TRIP_DISTANCE_MM { let indexer_speed = match elevator_position { - ElevatorPosition::Bottom => -0.5, - ElevatorPosition::L2 => -0.5, - ElevatorPosition::L3 => -0.5, - ElevatorPosition::L4 => -0.25, + ElevatorPosition::Bottom => BOTTOM_SPEED, + ElevatorPosition::L2 => L2_SPEED, + ElevatorPosition::L3 => L3_SPEED, + ElevatorPosition::L4 => L4_SPEED, }; indexer.set_speed(indexer_speed); } @@ -217,7 +217,7 @@ pub async fn blue_2(robot: Ferris) -> Result<(), Box> { elevator.set_target(ElevatorPosition::L2); elevator.run_to_target_trapezoid(); - indexer.set_speed(-0.25); + indexer.set_speed(INTAKE_SPEED); wait(|| indexer.get_laser_dist() < LASER_TRIP_DISTANCE_MM && indexer.get_laser_dist() != -1).await; indexer.stop(); @@ -245,7 +245,7 @@ pub async fn blue_2(robot: Ferris) -> Result<(), Box> { elevator.set_target(ElevatorPosition::Bottom); elevator.run_to_target_trapezoid_async().await; - indexer.set_speed(-0.25); + indexer.set_speed(INTAKE_SPEED); wait(|| indexer.get_laser_dist() < LASER_TRIP_DISTANCE_MM && indexer.get_laser_dist() != -1).await; @@ -332,7 +332,7 @@ async fn blue_mid_left_2(robot: Ferris) -> Result<(), Box elevator.set_target(ElevatorPosition::Bottom); elevator.run_to_target_trapezoid_async().await; - indexer.set_speed(-0.25); + indexer.set_speed(INTAKE_SPEED); wait(|| indexer.get_laser_dist() < LASER_TRIP_DISTANCE_MM && indexer.get_laser_dist() != -1).await; diff --git a/src/constants.rs b/src/constants.rs index 33c78fe..4650840 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -32,10 +32,6 @@ pub mod robotmap { pub mod indexer { pub const MOTOR: i32 = 12; pub const LASER_CAN: i32 = 0; // Cant save can id - pub const BOTTOM_SPEED: f64 = -0.25; - pub const L2_SPEED: f64 = -0.5; - pub const L3_SPEED: f64 = -0.5; - pub const L4_SPEED: f64 = -0.375; } @@ -119,6 +115,11 @@ pub mod elevator { } pub mod indexer { pub const LASER_TRIP_DISTANCE_MM: i32 = 2; + pub const INTAKE_SPEED: f64 = -0.25; + pub const BOTTOM_SPEED: f64 = -0.7; + pub const L2_SPEED: f64 = -0.7; + pub const L3_SPEED: f64 = -0.7; + pub const L4_SPEED: f64 = -0.35; } pub mod joystick_map { // Joystick IDs (set in driver station) diff --git a/src/lib.rs b/src/lib.rs index a4cf679..4822bde 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -30,6 +30,7 @@ use tokio::runtime::Handle; use tokio::task::{spawn_local, AbortHandle}; use tokio::time::sleep; use uom::si::angle::degree; +use crate::constants::indexer::{BOTTOM_SPEED, INTAKE_SPEED, L2_SPEED, L3_SPEED, L4_SPEED}; #[derive(Clone)] pub struct Controllers { @@ -252,7 +253,7 @@ impl Robot for Ferris { if indexer.get_laser_dist() > constants::indexer::LASER_TRIP_DISTANCE_MM || indexer.get_laser_dist() == -1 { - indexer.set_speed(-0.25); + indexer.set_speed(INTAKE_SPEED); } else { indexer.stop(); } @@ -340,10 +341,10 @@ pub fn score( if elevator_at_target && drivetrain_aligned { if indexer.get_laser_dist() < constants::indexer::LASER_TRIP_DISTANCE_MM { let indexer_speed = match elevator_position { - ElevatorPosition::Bottom => -0.7, - ElevatorPosition::L2 => -0.7, - ElevatorPosition::L3 => -0.7, - ElevatorPosition::L4 => -0.5, + ElevatorPosition::Bottom => BOTTOM_SPEED, + ElevatorPosition::L2 => L2_SPEED, + ElevatorPosition::L3 => L3_SPEED, + ElevatorPosition::L4 => L4_SPEED, }; indexer.set_speed(indexer_speed); } else { diff --git a/src/main.rs b/src/main.rs index ee34f43..e165ac8 100644 --- a/src/main.rs +++ b/src/main.rs @@ -13,6 +13,7 @@ use RobotCode2025::constants::joystick_map::{CLIMB, CLIMB_FALL, CLIMBER_GRAB, CL use RobotCode2025::container::control_drivetrain; use RobotCode2025::{constants, Ferris, score, TeleopState}; use RobotCode2025::auto::Auto; +use RobotCode2025::constants::indexer::INTAKE_SPEED; use RobotCode2025::subsystems::{Climber, ElevatorPosition, LineupSide}; fn main() { @@ -152,7 +153,7 @@ async fn teleop(robot: &mut Ferris) { if indexer.get_laser_dist() > constants::indexer::LASER_TRIP_DISTANCE_MM || indexer.get_laser_dist() == -1 { - indexer.set_speed(-0.25); + indexer.set_speed(INTAKE_SPEED); } else { indexer.stop(); } diff --git a/src/subsystems/indexer.rs b/src/subsystems/indexer.rs index 00af9c3..dba0857 100644 --- a/src/subsystems/indexer.rs +++ b/src/subsystems/indexer.rs @@ -7,6 +7,7 @@ use std::rc::Rc; use std::time::Duration; use std::time::Instant; use tokio::time::sleep; +use crate::constants::indexer::INTAKE_SPEED; pub struct Indexer { motor: Talon, @@ -37,7 +38,7 @@ impl Indexer { || indexer.laser_can.get_measurement() == -1 { println!("Dist: {}", indexer.get_laser_dist()); - indexer.set_speed(-0.3); + indexer.set_speed(INTAKE_SPEED); } indexer.motor.stop(); From 47f30d3a9ae5edc8cddd40680a821376e8a1b397 Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Sat, 1 Mar 2025 20:53:05 -0600 Subject: [PATCH 09/42] lineup working properlly --- src/auto/mod.rs | 7 +- src/constants.rs | 11 +- src/lib.rs | 419 ++++++++++++++++++----------------- src/main.rs | 11 +- src/subsystems/drivetrain.rs | 26 +-- 5 files changed, 244 insertions(+), 230 deletions(-) diff --git a/src/auto/mod.rs b/src/auto/mod.rs index 83c1fda..b85a35b 100644 --- a/src/auto/mod.rs +++ b/src/auto/mod.rs @@ -111,6 +111,7 @@ pub async fn async_score( elevator: &mut Elevator, indexer: &mut Indexer, elevator_position: ElevatorPosition, + dt: Duration, ) -> bool { elevator.set_target(elevator_position); @@ -120,7 +121,7 @@ pub async fn async_score( drivetrain.update_limelight().await; drivetrain.post_odo().await; - if drivetrain.lineup(lineup_side, elevator_position).await { + if drivetrain.lineup(lineup_side, elevator_position, dt).await { break; } @@ -238,6 +239,7 @@ pub async fn blue_2(robot: Ferris) -> Result<(), Box> { &mut elevator, &mut indexer, ElevatorPosition::L4, + robot.dt, ) .await; @@ -271,6 +273,7 @@ pub async fn blue_2(robot: Ferris) -> Result<(), Box> { &mut elevator, &mut indexer, ElevatorPosition::L4, + robot.dt, ) .await; @@ -326,6 +329,7 @@ async fn blue_mid_left_2(robot: Ferris) -> Result<(), Box &mut elevator, &mut indexer, ElevatorPosition::L4, + robot.dt, ).await; join!(drive("BlueHighMid2", &mut drivetrain, 3), async { @@ -358,6 +362,7 @@ async fn blue_mid_left_2(robot: Ferris) -> Result<(), Box &mut elevator, &mut indexer, ElevatorPosition::L4, + robot.dt, ) .await; diff --git a/src/constants.rs b/src/constants.rs index 4650840..ec9848b 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -48,9 +48,9 @@ pub const HALF_FIELD_LENGTH_METERS: f64 = 8.05 / 2.; pub mod vision { use nalgebra::Vector2; - pub const LIMELIGHT_UPPER_PITCH_DEGREES: f64 = -34.4; + pub const LIMELIGHT_UPPER_PITCH_DEGREES: f64 = -34.12; pub const LIMELIGHT_UPPER_YAW_DEGREES: f64 = 90.; // Counterclockwise positive - pub const LIMELIGHT_UPPER_HEIGHT_INCHES: f64 = 20.8; + pub const LIMELIGHT_UPPER_HEIGHT_INCHES: f64 = 20.92; pub const ROBOT_CENTER_TO_LIMELIGHT_UPPER_INCHES: Vector2 = Vector2::new(11.118, 10.352); // Increase distance by 10% for every 20 degrees of absolute value of tx @@ -70,7 +70,7 @@ pub mod drivetrain { pub const SWERVE_TURN_KP: f64 = 0.6; - pub const SWERVE_ROTATIONS_TO_INCHES: f64 = (1. / 6.75) * (3.84 * PI); + pub const SWERVE_ROTATIONS_TO_INCHES: f64 = (1. / 6.75) * (3.65 * PI); pub const SWERVE_TURN_RATIO: f64 = 12.8; pub const SWERVE_DRIVE_KP: f64 = 0.7; @@ -94,6 +94,11 @@ pub mod drivetrain { pub const TX_ACCEPTABLE_ERROR: f64 = 1.8; pub const TY_ACCEPTABLE_ERROR: f64 = 1.8; pub const YAW_ACCEPTABLE_ERROR: f64 = 0.02; + + pub const LINEUP_DRIVE_KP: f64 = 0.6; + pub const LINEUP_DRIVE_KI: f64 = 10.; + pub const LINEUP_DRIVE_KD: f64 = 10.; + pub const LINEUP_DRIVE_IE: f64 = 0.25; } pub mod pose_estimation { pub const ARC_ODOMETRY_MINIMUM_DELTA_THETA_RADIANS: f64 = 0.000001; diff --git a/src/lib.rs b/src/lib.rs index 4822bde..b74fdd7 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -30,7 +30,6 @@ use tokio::runtime::Handle; use tokio::task::{spawn_local, AbortHandle}; use tokio::time::sleep; use uom::si::angle::degree; -use crate::constants::indexer::{BOTTOM_SPEED, INTAKE_SPEED, L2_SPEED, L3_SPEED, L4_SPEED}; #[derive(Clone)] pub struct Controllers { @@ -60,6 +59,8 @@ pub struct Ferris { elevator_trapezoid_handle: Option, indexer_intake_handle: Option, pub climb_handle: Option, + + pub dt: Duration, } impl Default for Ferris { @@ -88,6 +89,8 @@ impl Ferris { elevator_trapezoid_handle: None, indexer_intake_handle: None, climb_handle: None, + + dt: Duration::from_millis(0), } } @@ -106,209 +109,209 @@ impl Ferris { } } -impl Robot for Ferris { - async fn robot_init(&mut self) { - Telemetry::init(5807); - - NetworkTable::init(); - - Telemetry::put_selector("auto chooser", Auto::names()).await; - } - - fn disabled_init(&mut self) { - if let Ok(drivetrain) = self.drivetrain.try_borrow_mut() { - drivetrain.stop(); - - let offsets = drivetrain.get_offsets(); - - for offset in offsets { - print!("{} : ", offset.get::()) - } - - println!(); - } - - if let Some(handle) = self.auto_handle.take() { - println!("Aborted"); - handle.abort(); - } - } - - fn autonomous_init(&mut self) { - println!("Autonomous init"); - } - - fn teleop_init(&mut self) { - println!("Teleop init"); - } - - fn test_init(&mut self) { - println!("Test init"); - } - - async fn disabled_periodic(&mut self) { - let metrics = Handle::current().metrics(); - - let n = metrics.num_alive_tasks(); - // println!("Active tasks: {}", n); - - &self.stop(); - - let mut drivetrain = self.drivetrain.deref().borrow_mut(); - - drivetrain.stop(); - - if let Ok(mut drivetrain) = self.drivetrain.try_borrow_mut() { - //drivetrain.update_limelight().await; - drivetrain.post_odo().await; - drivetrain.stop(); - } - - if let Some(handle) = self.auto_handle.take() { - println!("Aborted"); - handle.abort(); - } - } - - async fn autonomous_periodic(&mut self) { - if let Ok(mut drivetrain) = self.drivetrain.try_borrow_mut() { - drivetrain.update_limelight().await; - drivetrain.post_odo().await; - } - - if self.auto_handle.is_none() { - let f = self.clone(); - - if let Some(selected_auto) = Telemetry::get_selection("auto chooser").await { - let chosen = Auto::from_dashboard(selected_auto.as_str()); - - let handle = spawn_local(Auto::run_auto(f, chosen)).abort_handle(); - self.auto_handle = Some(handle); - } else { - eprintln!("Failed to get selected auto from telemetry, running default"); - - let handle = spawn_local(Auto::run_auto(f, Auto::Nothing)).abort_handle(); - self.auto_handle = Some(handle); - } - } - } - - async fn teleop_periodic(&mut self) { - let TeleopState { - ref mut drivetrain_state, - } = *self.teleop_state.deref().borrow_mut(); - - if let Ok(mut drivetrain) = self.drivetrain.try_borrow_mut() { - if let Ok(mut elevator) = self.elevator.try_borrow_mut() { - if let Ok(mut indexer) = self.indexer.try_borrow_mut() { - drivetrain.update_limelight().await; - drivetrain.post_odo().await; - - let drivetrain_aligned = if self.controllers.right_drive.get(LINEUP_LEFT) { - drivetrain - .lineup(LineupSide::Left, elevator.get_target()) - .await - } else if self.controllers.right_drive.get(LINEUP_RIGHT) { - drivetrain - .lineup(LineupSide::Right, elevator.get_target()) - .await - } else if self.controllers.operator.get(WHEELS_ZERO) { - drivetrain.set_wheels_zero(); - false - } else { - control_drivetrain( - &mut drivetrain, - &mut self.controllers, - drivetrain_state, - ) - .await; - - false - }; - if self.controllers.left_drive.get(SCORE_L2) { - score( - drivetrain_aligned, - &mut elevator, - &mut indexer, - ElevatorPosition::L2, - ) - } else if self.controllers.left_drive.get(SCORE_L3) { - score( - drivetrain_aligned, - &mut elevator, - &mut indexer, - ElevatorPosition::L3, - ) - } else if self.controllers.left_drive.get(SCORE_L4) { - score( - drivetrain_aligned, - &mut elevator, - &mut indexer, - ElevatorPosition::L4, - ) - } else if self.controllers.right_drive.get(INTAKE) { - elevator.set_target(ElevatorPosition::Bottom); - elevator.run_to_target_trapezoid(); - - if indexer.get_laser_dist() > constants::indexer::LASER_TRIP_DISTANCE_MM - || indexer.get_laser_dist() == -1 - { - indexer.set_speed(INTAKE_SPEED); - } else { - indexer.stop(); - } - } else if self.controllers.left_drive.get(14) { - elevator.set_speed(1.); - } else if self.controllers.left_drive.get(15) { - elevator.set_speed(-1.) - } else { - elevator.stop(); - indexer.stop(); - } - } - } - } - - if self.controllers.right_drive.get(CLIMB) { - if self.climb_handle.is_none() { - let f = self.clone(); - let climb_task = Climber::climb(f); - let handle = spawn_local(climb_task).abort_handle(); - self.climb_handle = Some(handle); - } - } else if self.controllers.right_drive.get(CLIMB_FALL) { - if let Some(handle) = self.climb_handle.take() { - handle.abort(); - } - - if let Ok(mut climber) = self.climber.try_borrow_mut() { - climber.fall() - } - } else { - if let Some(handle) = self.climb_handle.take() { - handle.abort(); - } - - if let Ok(mut climber) = self.climber.try_borrow_mut() { - if self.controllers.right_drive.get(CLIMBER_RAISE) { - climber.set_raise(true); - } else { - climber.set_raise(false); - } - - if self.controllers.right_drive.get(CLIMBER_GRAB) { - climber.set_grab(true); - } else { - climber.set_grab(false); - } - } - } - } - - async fn test_periodic(&mut self) { - // println!("Test periodic"); - } -} +// impl Robot for Ferris { +// async fn robot_init(&mut self) { +// Telemetry::init(5807); +// +// NetworkTable::init(); +// +// Telemetry::put_selector("auto chooser", Auto::names()).await; +// } +// +// fn disabled_init(&mut self) { +// if let Ok(drivetrain) = self.drivetrain.try_borrow_mut() { +// drivetrain.stop(); +// +// let offsets = drivetrain.get_offsets(); +// +// for offset in offsets { +// print!("{} : ", offset.get::()) +// } +// +// println!(); +// } +// +// if let Some(handle) = self.auto_handle.take() { +// println!("Aborted"); +// handle.abort(); +// } +// } +// +// fn autonomous_init(&mut self) { +// println!("Autonomous init"); +// } +// +// fn teleop_init(&mut self) { +// println!("Teleop init"); +// } +// +// fn test_init(&mut self) { +// println!("Test init"); +// } +// +// async fn disabled_periodic(&mut self) { +// let metrics = Handle::current().metrics(); +// +// let n = metrics.num_alive_tasks(); +// // println!("Active tasks: {}", n); +// +// &self.stop(); +// +// let mut drivetrain = self.drivetrain.deref().borrow_mut(); +// +// drivetrain.stop(); +// +// if let Ok(mut drivetrain) = self.drivetrain.try_borrow_mut() { +// //drivetrain.update_limelight().await; +// drivetrain.post_odo().await; +// drivetrain.stop(); +// } +// +// if let Some(handle) = self.auto_handle.take() { +// println!("Aborted"); +// handle.abort(); +// } +// } +// +// async fn autonomous_periodic(&mut self) { +// if let Ok(mut drivetrain) = self.drivetrain.try_borrow_mut() { +// drivetrain.update_limelight().await; +// drivetrain.post_odo().await; +// } +// +// if self.auto_handle.is_none() { +// let f = self.clone(); +// +// if let Some(selected_auto) = Telemetry::get_selection("auto chooser").await { +// let chosen = Auto::from_dashboard(selected_auto.as_str()); +// +// let handle = spawn_local(Auto::run_auto(f, chosen)).abort_handle(); +// self.auto_handle = Some(handle); +// } else { +// eprintln!("Failed to get selected auto from telemetry, running default"); +// +// let handle = spawn_local(Auto::run_auto(f, Auto::Nothing)).abort_handle(); +// self.auto_handle = Some(handle); +// } +// } +// } +// +// async fn teleop_periodic(&mut self) { +// let TeleopState { +// ref mut drivetrain_state, +// } = *self.teleop_state.deref().borrow_mut(); +// +// if let Ok(mut drivetrain) = self.drivetrain.try_borrow_mut() { +// if let Ok(mut elevator) = self.elevator.try_borrow_mut() { +// if let Ok(mut indexer) = self.indexer.try_borrow_mut() { +// drivetrain.update_limelight().await; +// drivetrain.post_odo().await; +// +// let drivetrain_aligned = if self.controllers.right_drive.get(LINEUP_LEFT) { +// drivetrain +// .lineup(LineupSide::Left, elevator.get_target()) +// .await +// } else if self.controllers.right_drive.get(LINEUP_RIGHT) { +// drivetrain +// .lineup(LineupSide::Right, elevator.get_target()) +// .await +// } else if self.controllers.operator.get(WHEELS_ZERO) { +// drivetrain.set_wheels_zero(); +// false +// } else { +// control_drivetrain( +// &mut drivetrain, +// &mut self.controllers, +// drivetrain_state, +// ) +// .await; +// +// false +// }; +// if self.controllers.left_drive.get(SCORE_L2) { +// score( +// drivetrain_aligned, +// &mut elevator, +// &mut indexer, +// ElevatorPosition::L2, +// ) +// } else if self.controllers.left_drive.get(SCORE_L3) { +// score( +// drivetrain_aligned, +// &mut elevator, +// &mut indexer, +// ElevatorPosition::L3, +// ) +// } else if self.controllers.left_drive.get(SCORE_L4) { +// score( +// drivetrain_aligned, +// &mut elevator, +// &mut indexer, +// ElevatorPosition::L4, +// ) +// } else if self.controllers.right_drive.get(INTAKE) { +// elevator.set_target(ElevatorPosition::Bottom); +// elevator.run_to_target_trapezoid(); +// +// if indexer.get_laser_dist() > constants::indexer::LASER_TRIP_DISTANCE_MM +// || indexer.get_laser_dist() == -1 +// { +// indexer.set_speed(-0.25); +// } else { +// indexer.stop(); +// } +// } else if self.controllers.left_drive.get(14) { +// elevator.set_speed(1.); +// } else if self.controllers.left_drive.get(15) { +// elevator.set_speed(-1.) +// } else { +// elevator.stop(); +// indexer.stop(); +// } +// } +// } +// } +// +// if self.controllers.right_drive.get(CLIMB) { +// if self.climb_handle.is_none() { +// let f = self.clone(); +// let climb_task = Climber::climb(f); +// let handle = spawn_local(climb_task).abort_handle(); +// self.climb_handle = Some(handle); +// } +// } else if self.controllers.right_drive.get(CLIMB_FALL) { +// if let Some(handle) = self.climb_handle.take() { +// handle.abort(); +// } +// +// if let Ok(mut climber) = self.climber.try_borrow_mut() { +// climber.fall() +// } +// } else { +// if let Some(handle) = self.climb_handle.take() { +// handle.abort(); +// } +// +// if let Ok(mut climber) = self.climber.try_borrow_mut() { +// if self.controllers.right_drive.get(CLIMBER_RAISE) { +// climber.set_raise(true); +// } else { +// climber.set_raise(false); +// } +// +// if self.controllers.right_drive.get(CLIMBER_GRAB) { +// climber.set_grab(true); +// } else { +// climber.set_grab(false); +// } +// } +// } +// } +// +// async fn test_periodic(&mut self) { +// // println!("Test periodic"); +// } +// } pub async fn elevator_move_to_target_async(robot: Ferris) { println!("Called elevator_move_to_target_async"); if let Ok(mut elevator) = robot.elevator.try_borrow_mut() { @@ -341,10 +344,10 @@ pub fn score( if elevator_at_target && drivetrain_aligned { if indexer.get_laser_dist() < constants::indexer::LASER_TRIP_DISTANCE_MM { let indexer_speed = match elevator_position { - ElevatorPosition::Bottom => BOTTOM_SPEED, - ElevatorPosition::L2 => L2_SPEED, - ElevatorPosition::L3 => L3_SPEED, - ElevatorPosition::L4 => L4_SPEED, + ElevatorPosition::Bottom => -0.35, + ElevatorPosition::L2 => -0.35, + ElevatorPosition::L3 => -0.35, + ElevatorPosition::L4 => -0.25, }; indexer.set_speed(indexer_speed); } else { diff --git a/src/main.rs b/src/main.rs index e165ac8..6da28de 100644 --- a/src/main.rs +++ b/src/main.rs @@ -37,7 +37,6 @@ fn main() { Telemetry::put_selector("auto chooser", Auto::names()).await; let mut last_loop = Instant::now(); - let mut dt = Duration::from_millis(0); let mut auto: Option = None; @@ -83,8 +82,10 @@ fn main() { auto.abort(); } - dt = last_loop.elapsed(); - let elapsed = dt.as_secs_f64(); + Telemetry::put_number("Loop Rate", 1. / last_loop.elapsed().as_secs_f64()).await; + + ferris.dt = last_loop.elapsed(); + let elapsed = ferris.dt.as_secs_f64(); let left = (1. / 250. - elapsed).max(0.); sleep(Duration::from_secs_f64(left)).await; last_loop = Instant::now(); @@ -105,11 +106,11 @@ async fn teleop(robot: &mut Ferris) { let drivetrain_aligned = if robot.controllers.right_drive.get(LINEUP_LEFT) { drivetrain - .lineup(LineupSide::Left, elevator.get_target()) + .lineup(LineupSide::Left, elevator.get_target(), robot.dt) .await } else if robot.controllers.right_drive.get(LINEUP_RIGHT) { drivetrain - .lineup(LineupSide::Right, elevator.get_target()) + .lineup(LineupSide::Right, elevator.get_target(), robot.dt) .await } else if robot.controllers.operator.get(WHEELS_ZERO) { drivetrain.set_wheels_zero(); diff --git a/src/subsystems/drivetrain.rs b/src/subsystems/drivetrain.rs index dd57035..807b461 100644 --- a/src/subsystems/drivetrain.rs +++ b/src/subsystems/drivetrain.rs @@ -3,16 +3,11 @@ use std::f64::consts::PI; use std::net::{IpAddr, Ipv4Addr, SocketAddr}; use std::ops::{Add, Sub}; +use std::time::Duration; use frcrs::ctre::{talon_encoder_tick, CanCoder, ControlMode, Pigeon, Talon}; -use crate::constants::drivetrain::{ - BL_OFFSET_DEGREES, BR_OFFSET_DEGREES, FL_OFFSET_DEGREES, FR_OFFSET_DEGREES, - LINEUP_2D_TX_FWD_KP, LINEUP_2D_TX_STR_KP, LINEUP_2D_TY_FWD_KP, PIGEON_OFFSET, SWERVE_DRIVE_IE, - SWERVE_DRIVE_KP, SWERVE_ROTATIONS_TO_INCHES, SWERVE_TURN_KP, SWERVE_TURN_RATIO, TARGET_TX_LEFT, - TARGET_TX_RIGHT, TARGET_TY_LEFT, TARGET_TY_RIGHT, TX_ACCEPTABLE_ERROR, TY_ACCEPTABLE_ERROR, - YAW_ACCEPTABLE_ERROR, -}; +use crate::constants::drivetrain::{BL_OFFSET_DEGREES, BR_OFFSET_DEGREES, FL_OFFSET_DEGREES, FR_OFFSET_DEGREES, LINEUP_2D_TX_FWD_KP, LINEUP_2D_TX_STR_KP, LINEUP_2D_TY_FWD_KP, LINEUP_DRIVE_IE, LINEUP_DRIVE_KD, LINEUP_DRIVE_KI, LINEUP_DRIVE_KP, PIGEON_OFFSET, SWERVE_DRIVE_IE, SWERVE_DRIVE_KD, SWERVE_DRIVE_KI, SWERVE_DRIVE_KP, SWERVE_ROTATIONS_TO_INCHES, SWERVE_TURN_KP, SWERVE_TURN_RATIO, TARGET_TX_LEFT, TARGET_TX_RIGHT, TARGET_TY_LEFT, TARGET_TY_RIGHT, TX_ACCEPTABLE_ERROR, TY_ACCEPTABLE_ERROR, YAW_ACCEPTABLE_ERROR}; use crate::constants::robotmap::swerve::*; use crate::swerve::kinematics::{ModuleState, Swerve}; use crate::swerve::odometry::{ModuleReturn, Odometry}; @@ -540,7 +535,7 @@ impl Drivetrain { self.offset = self.get_angle() + offset; } - pub async fn lineup(&mut self, side: LineupSide, target_level: ElevatorPosition) -> bool { + pub async fn lineup(&mut self, side: LineupSide, target_level: ElevatorPosition, dt: Duration) -> bool { let mut last_error = Vector2::zeros(); let mut i = Vector2::zeros(); @@ -559,14 +554,16 @@ impl Drivetrain { let mut error_angle = (-target.angle - dt_angle).get::(); - if error_position.abs().max() < SWERVE_DRIVE_IE { + if error_position.abs().max() < LINEUP_DRIVE_IE { i += error_position; } - error_angle *= SWERVE_TURN_KP * 1.2; - error_position *= -SWERVE_DRIVE_KP * 1.65; + error_angle *= SWERVE_TURN_KP; + error_position *= -LINEUP_DRIVE_KP; let mut speed = error_position; + speed += i * -LINEUP_DRIVE_KI * dt.as_secs_f64(); + speed += (speed - last_error) * LINEUP_DRIVE_KD * dt.as_secs_f64(); let speed_s = speed; last_error = speed_s; @@ -585,7 +582,10 @@ impl Drivetrain { Telemetry::put_number("target_x", target.position.x).await; Telemetry::put_number("target_y", target.position.y).await; Telemetry::put_number("target_angle", target.angle.get::()).await; - if error_position.magnitude().abs() < 0.0125 && error_angle.abs() < 0.015 { + if error_position.x.abs() < 0.015 + && error_position.y.abs() < 0.015 + && error_angle.abs() < 0.015 + { self.stop(); //self.set_speeds(0., 0., 0., SwerveControlStyle::RobotOriented); // println!("dt at position"); @@ -626,7 +626,7 @@ impl Drivetrain { let yaw = quaternion_to_yaw(tag_rotation); let mut side_distance = Length::new::(13. / 2.); // theoretical is 13. / 2. - let forward_distance = Length::new::(16.25); //theoretical is 16.75 + let forward_distance = Length::new::(16.75); //theoretical is 16.75 let elevator_position = match target_level { ElevatorPosition::Bottom => Length::new::(-10.5), ElevatorPosition::L2 => Length::new::(-10.5), From 8005f8e84b205f8414937c71738dbeee6f299c49 Mon Sep 17 00:00:00 2001 From: TheSnowHatHero Date: Sun, 2 Mar 2025 12:13:09 -0600 Subject: [PATCH 10/42] slightly tuned l3 lineup --- src/constants.rs | 12 ++++++------ src/subsystems/drivetrain.rs | 9 ++++----- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/constants.rs b/src/constants.rs index ec9848b..42e5311 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -48,7 +48,7 @@ pub const HALF_FIELD_LENGTH_METERS: f64 = 8.05 / 2.; pub mod vision { use nalgebra::Vector2; - pub const LIMELIGHT_UPPER_PITCH_DEGREES: f64 = -34.12; + pub const LIMELIGHT_UPPER_PITCH_DEGREES: f64 = -34.483; //Last measured: -36.67 pub const LIMELIGHT_UPPER_YAW_DEGREES: f64 = 90.; // Counterclockwise positive pub const LIMELIGHT_UPPER_HEIGHT_INCHES: f64 = 20.92; pub const ROBOT_CENTER_TO_LIMELIGHT_UPPER_INCHES: Vector2 = Vector2::new(11.118, 10.352); @@ -95,7 +95,7 @@ pub mod drivetrain { pub const TY_ACCEPTABLE_ERROR: f64 = 1.8; pub const YAW_ACCEPTABLE_ERROR: f64 = 0.02; - pub const LINEUP_DRIVE_KP: f64 = 0.6; + pub const LINEUP_DRIVE_KP: f64 = 0.7; pub const LINEUP_DRIVE_KI: f64 = 10.; pub const LINEUP_DRIVE_KD: f64 = 10.; pub const LINEUP_DRIVE_IE: f64 = 0.25; @@ -113,7 +113,7 @@ pub mod pose_estimation { pub mod elevator { pub const BOTTOM: f64 = 0.0; // unit is rotations pub const L2: f64 = 2.; // unit is rotations - pub const L3: f64 = 16.5; // unit is rotations + pub const L3: f64 = 15.5; // unit is rotations pub const L4: f64 = 39.1; // unit is rotations pub const ELEVATOR_TRAPEZOID_DT_MS: u64 = 50; // sleep.await this long in between updating the elevator trapezoidal when running its async function pub const POSITION_TOLERANCE: f64 = 0.25; // unit is rotations. finish elevator async move when within this distance of target @@ -121,9 +121,9 @@ pub mod elevator { pub mod indexer { pub const LASER_TRIP_DISTANCE_MM: i32 = 2; pub const INTAKE_SPEED: f64 = -0.25; - pub const BOTTOM_SPEED: f64 = -0.7; - pub const L2_SPEED: f64 = -0.7; - pub const L3_SPEED: f64 = -0.7; + pub const BOTTOM_SPEED: f64 = -0.5; + pub const L2_SPEED: f64 = -0.5; + pub const L3_SPEED: f64 = -0.5; pub const L4_SPEED: f64 = -0.35; } pub mod joystick_map { diff --git a/src/subsystems/drivetrain.rs b/src/subsystems/drivetrain.rs index 807b461..d8f8fb4 100644 --- a/src/subsystems/drivetrain.rs +++ b/src/subsystems/drivetrain.rs @@ -582,8 +582,7 @@ impl Drivetrain { Telemetry::put_number("target_x", target.position.x).await; Telemetry::put_number("target_y", target.position.y).await; Telemetry::put_number("target_angle", target.angle.get::()).await; - if error_position.x.abs() < 0.015 - && error_position.y.abs() < 0.015 + if error_position.magnitude().abs() < 0.015 && error_angle.abs() < 0.015 { self.stop(); @@ -628,9 +627,9 @@ impl Drivetrain { let mut side_distance = Length::new::(13. / 2.); // theoretical is 13. / 2. let forward_distance = Length::new::(16.75); //theoretical is 16.75 let elevator_position = match target_level { - ElevatorPosition::Bottom => Length::new::(-10.5), - ElevatorPosition::L2 => Length::new::(-10.5), - ElevatorPosition::L3 => Length::new::(-10.5), + ElevatorPosition::Bottom => Length::new::(-9.), + ElevatorPosition::L2 => Length::new::(-9.), + ElevatorPosition::L3 => Length::new::(-9.), ElevatorPosition::L4 => Length::new::(-9.), }; //theoretical is -11.0 From b662722327bdbe02808193e7b5b6c2531c3f415c Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Sun, 2 Mar 2025 16:42:20 -0600 Subject: [PATCH 11/42] im allergic to commiting single changes, auto, indexer, elevator, scoring --- auto/Blue2.traj | 485 ++++++++++++++++------------------- auto/BlueLong.traj | 148 +++++------ src/auto/mod.rs | 44 ++-- src/auto/path.rs | 2 +- src/lib.rs | 6 +- src/main.rs | 8 +- src/subsystems/climber.rs | 2 +- src/subsystems/drivetrain.rs | 12 +- src/subsystems/elevator.rs | 10 +- 9 files changed, 335 insertions(+), 382 deletions(-) diff --git a/auto/Blue2.traj b/auto/Blue2.traj index 9db077f..af6dc5b 100644 --- a/auto/Blue2.traj +++ b/auto/Blue2.traj @@ -3,48 +3,42 @@ "version":1, "snapshot":{ "waypoints":[ - {"x":7.223065853118896, "y":7.611384391784668, "heading":3.141592653589793, "intervals":48, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, - {"x":5.976703643798828, "y":6.435436248779297, "heading":0.0, "intervals":50, "split":false, "fixTranslation":true, "fixHeading":false, "overrideIntervals":false}, - {"x":4.140191078186035, "y":5.898554801940918, "heading":-2.832393716810233, "intervals":35, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, - {"x":4.20214, "y":5.31078, "heading":-2.61799, "intervals":59, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, - {"x":0.8179629445075989, "y":6.8356733322143555, "heading":2.223643141658804, "intervals":57, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, - {"x":3.9226479530334473, "y":5.69948148727417, "heading":-2.61799, "intervals":35, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + {"x":7.215517520904541, "y":5.439107418060303, "heading":3.141592653589793, "intervals":48, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":4.385048866271973, "y":5.797516345977783, "heading":-2.832393716810233, "intervals":28, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":4.20214, "y":5.31078, "heading":-2.61799, "intervals":62, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":0.8179629445075989, "y":6.8356733322143555, "heading":2.223643141658804, "intervals":60, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":4.043154239654541, "y":5.656472206115723, "heading":-2.61799, "intervals":35, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], "constraints":[ {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, - {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":0.0, "y":0.0, "w":17.548, "h":8.052}}, "enabled":false}, - {"from":0, "to":2, "data":{"type":"MaxAcceleration", "props":{"max":2.5}}, "enabled":true}, - {"from":2, "to":2, "data":{"type":"MaxAcceleration", "props":{"max":1.0}}, "enabled":true}, - {"from":3, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, - {"from":3, "to":3, "data":{"type":"MaxAcceleration", "props":{"max":0.5}}, "enabled":true}, - {"from":2, "to":3, "data":{"type":"MaxAcceleration", "props":{"max":1.0}}, "enabled":true}, + {"from":0, "to":1, "data":{"type":"MaxAcceleration", "props":{"max":2.5}}, "enabled":true}, {"from":2, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, - {"from":5, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, - {"from":3, "to":5, "data":{"type":"MaxAcceleration", "props":{"max":2.5}}, "enabled":true}, - {"from":4, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}], + {"from":1, "to":2, "data":{"type":"MaxAcceleration", "props":{"max":1.5}}, "enabled":true}, + {"from":1, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":4, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":2, "to":4, "data":{"type":"MaxAcceleration", "props":{"max":2.25}}, "enabled":true}, + {"from":3, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":0, "to":4, "data":{"type":"MaxVelocity", "props":{"max":4.0}}, "enabled":true}], "targetDt":0.05 }, "params":{ "waypoints":[ - {"x":{"exp":"7.2230658531188965 m", "val":7.223065853118896}, "y":{"exp":"7.611384391784668 m", "val":7.611384391784668}, "heading":{"exp":"180 deg", "val":3.141592653589793}, "intervals":48, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, - {"x":{"exp":"5.976703643798828 m", "val":5.976703643798828}, "y":{"exp":"6.435436248779297 m", "val":6.435436248779297}, "heading":{"exp":"0 deg", "val":0.0}, "intervals":50, "split":false, "fixTranslation":true, "fixHeading":false, "overrideIntervals":false}, - {"x":{"exp":"4.140191078186035 m", "val":4.140191078186035}, "y":{"exp":"5.898554801940918 m", "val":5.898554801940918}, "heading":{"exp":"-2.832393716810233 rad", "val":-2.832393716810233}, "intervals":35, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, - {"x":{"exp":"4.20214 m", "val":4.20214}, "y":{"exp":"5.31078 m", "val":5.31078}, "heading":{"exp":"-2.61799 rad", "val":-2.61799}, "intervals":59, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, - {"x":{"exp":"0.8179629445075989 m", "val":0.8179629445075989}, "y":{"exp":"6.8356733322143555 m", "val":6.8356733322143555}, "heading":{"exp":"2.223643141658804 rad", "val":2.223643141658804}, "intervals":57, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, - {"x":{"exp":"3.9226479530334473 m", "val":3.9226479530334473}, "y":{"exp":"5.69948148727417 m", "val":5.69948148727417}, "heading":{"exp":"-2.61799 rad", "val":-2.61799}, "intervals":35, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + {"x":{"exp":"7.215517520904541 m", "val":7.215517520904541}, "y":{"exp":"5.439107418060303 m", "val":5.439107418060303}, "heading":{"exp":"180 deg", "val":3.141592653589793}, "intervals":48, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"4.385048866271973 m", "val":4.385048866271973}, "y":{"exp":"5.797516345977783 m", "val":5.797516345977783}, "heading":{"exp":"-2.832393716810233 rad", "val":-2.832393716810233}, "intervals":28, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"4.20214 m", "val":4.20214}, "y":{"exp":"5.31078 m", "val":5.31078}, "heading":{"exp":"-2.61799 rad", "val":-2.61799}, "intervals":62, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"0.8179629445075989 m", "val":0.8179629445075989}, "y":{"exp":"6.8356733322143555 m", "val":6.8356733322143555}, "heading":{"exp":"2.223643141658804 rad", "val":2.223643141658804}, "intervals":60, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"4.043154239654541 m", "val":4.043154239654541}, "y":{"exp":"5.656472206115723 m", "val":5.656472206115723}, "heading":{"exp":"-2.61799 rad", "val":-2.61799}, "intervals":35, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], "constraints":[ {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, - {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":{"exp":"0 m", "val":0.0}, "y":{"exp":"0 m", "val":0.0}, "w":{"exp":"17.548 m", "val":17.548}, "h":{"exp":"8.052 m", "val":8.052}}}, "enabled":false}, - {"from":0, "to":2, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"2.5 m / s ^ 2", "val":2.5}}}, "enabled":true}, - {"from":2, "to":2, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"1 m / s ^ 2", "val":1.0}}}, "enabled":true}, - {"from":3, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, - {"from":3, "to":3, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"0.5 m / s ^ 2", "val":0.5}}}, "enabled":true}, - {"from":2, "to":3, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"1 m / s ^ 2", "val":1.0}}}, "enabled":true}, + {"from":0, "to":1, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"2.5 m / s ^ 2", "val":2.5}}}, "enabled":true}, {"from":2, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, - {"from":5, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, - {"from":3, "to":5, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"2.5 m / s ^ 2", "val":2.5}}}, "enabled":true}, - {"from":4, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}], + {"from":1, "to":2, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"1.5 m / s ^ 2", "val":1.5}}}, "enabled":true}, + {"from":1, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":4, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":2, "to":4, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"2.25 m / s ^ 2", "val":2.25}}}, "enabled":true}, + {"from":3, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":0, "to":4, "data":{"type":"MaxVelocity", "props":{"max":{"exp":"4 m / s", "val":4.0}}}, "enabled":true}], "targetDt":{ "exp":"0.05 s", "val":0.05 @@ -52,237 +46,208 @@ }, "trajectory":{ "sampleType":"Swerve", - "waypoints":[0.0,1.1875,2.44885,3.98741,6.45851,8.75936], + "waypoints":[0.0,2.13706,3.31488,5.89824,8.36966], "samples":[ - {"t":0.0, "x":7.22307, "y":7.61138, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-1.51801, "ay":-1.98438, "alpha":0.62454, "fx":[-24.02071,-24.26472,-27.62152,-27.37657], "fy":[-35.54217,-32.10497,-32.05289,-35.31481]}, - {"t":0.03209, "x":7.22228, "y":7.61036, "heading":3.14159, "vx":-0.04872, "vy":-0.06369, "omega":0.02004, "ax":-1.52953, "ay":-1.97648, "alpha":0.55745, "fx":[-24.40228,-24.6185,-27.63466,-27.41217], "fy":[-35.21124,-32.18551,-32.08063,-34.99995]}, - {"t":0.06419, "x":7.21993, "y":7.6073, "heading":-3.14095, "vx":-0.09781, "vy":-0.12712, "omega":0.03794, "ax":-1.54119, "ay":-1.96737, "alpha":0.48848, "fx":[-24.80533,-24.96341,-27.69295,-27.39935], "fy":[-34.78249,-32.26246,-32.08314,-34.72935]}, - {"t":0.09628, "x":7.216, "y":7.60221, "heading":-3.13973, "vx":-0.14727, "vy":-0.19026, "omega":0.05361, "ax":-1.55352, "ay":-1.95761, "alpha":0.45024, "fx":[-25.12196,-25.30853,-27.72632,-27.54314], "fy":[-34.58848,-32.11802,-32.06408,-34.42315]}, - {"t":0.12838, "x":7.21047, "y":7.59509, "heading":-3.13801, "vx":-0.19713, "vy":-0.25309, "omega":0.06806, "ax":-1.56658, "ay":-1.94715, "alpha":0.3891, "fx":[-25.52449,-25.65373,-27.83674,-27.57323], "fy":[-34.14972,-32.15902,-32.02018,-34.15263]}, - {"t":0.16047, "x":7.20334, "y":7.58597, "heading":-3.13583, "vx":-0.24741, "vy":-0.31559, "omega":0.08055, "ax":-1.58042, "ay":-1.93589, "alpha":0.35989, "fx":[-25.84069,-26.00423,-27.91928,-27.76591], "fy":[-33.96286,-31.96227,-31.95191,-33.83855]}, - {"t":0.19257, "x":7.19458, "y":7.57484, "heading":-3.13324, "vx":-0.29813, "vy":-0.37772, "omega":0.0921, "ax":-1.59513, "ay":-1.92375, "alpha":0.30499, "fx":[-26.2543,-26.35973,-28.08341,-27.83305], "fy":[-33.50898,-31.96373,-31.8587,-33.55834]}, - {"t":0.22466, "x":7.18419, "y":7.56173, "heading":-3.13029, "vx":-0.34933, "vy":-0.43946, "omega":0.10189, "ax":-1.61077, "ay":-1.91063, "alpha":0.28409, "fx":[-26.57683,-26.72229,-28.21202,-28.08355], "fy":[-33.32043,-31.70291,-31.74448,-33.22917]}, - {"t":0.25676, "x":7.17215, "y":7.54664, "heading":-3.12702, "vx":-0.40103, "vy":-0.50078, "omega":0.11101, "ax":-1.62743, "ay":-1.8964, "alpha":0.23381, "fx":[-27.0116,-27.09623,-28.43183,-28.18904], "fy":[-32.83823,-31.66791,-31.59497,-32.92807]}, - {"t":0.28885, "x":7.15844, "y":7.52959, "heading":-3.12345, "vx":-0.45326, "vy":-0.56164, "omega":0.11851, "ax":-1.64523, "ay":-1.88094, "alpha":0.21975, "fx":[-27.35004,-27.47834,-28.60899,-28.50187], "fy":[-32.63284,-31.34697,-31.42507,-32.57202]}, - {"t":0.32095, "x":7.14305, "y":7.5106, "heading":-3.11965, "vx":-0.50606, "vy":-0.62201, "omega":0.12557, "ax":-1.66425, "ay":-1.86407, "alpha":0.17304, "fx":[-27.81583,-27.87898,-28.88726,-28.65176], "fy":[-32.1086,-31.26554,-31.21685,-32.2381]}, - {"t":0.35304, "x":7.12595, "y":7.48967, "heading":-3.11562, "vx":-0.55947, "vy":-0.68184, "omega":0.13112, "ax":-1.68464, "ay":-1.8456, "alpha":0.16558, "fx":[-28.17953,-28.29179,-29.11816,-29.03139], "fy":[-31.88035,-30.86695,-30.98371,-31.8418]}, - {"t":0.38513, "x":7.10713, "y":7.46684, "heading":-3.11141, "vx":-0.61354, "vy":-0.74107, "omega":0.13643, "ax":-1.70652, "ay":-1.82532, "alpha":0.12138, "fx":[-28.68662,-28.72883,-29.46084,-29.2336], "fy":[-31.29447,-30.73414,-30.70399,-31.46018]}, - {"t":0.41723, "x":7.08656, "y":7.44211, "heading":-3.10703, "vx":-0.66831, "vy":-0.79965, "omega":0.14033, "ax":-1.73006, "ay":-1.80295, "alpha":0.11939, "fx":[-29.08802,-29.18316,-29.7537,-29.68661], "fy":[-31.02557,-30.25133,-30.39075,-31.0032]}, - {"t":0.44932, "x":7.06422, "y":7.41552, "heading":-3.10253, "vx":-0.72384, "vy":-0.85752, "omega":0.14416, "ax":-1.75543, "ay":-1.77818, "alpha":0.07732, "fx":[-29.64976,-29.67103,-30.17072,-29.94614], "fy":[-30.35943,-30.04258,-30.02562,-30.55771]}, - {"t":0.48142, "x":7.04008, "y":7.38708, "heading":-3.0979, "vx":-0.78018, "vy":-0.91459, "omega":0.14664, "ax":-1.78283, "ay":-1.75062, "alpha":0.08131, "fx":[-30.10024,-30.18086,-30.53429,-30.48634], "fy":[-30.03211,-29.44081,-29.61657,-30.02074]}, - {"t":0.51351, "x":7.01412, "y":7.35683, "heading":-3.0932, "vx":-0.8374, "vy":-0.97077, "omega":0.14925, "ax":-1.81247, "ay":-1.71981, "alpha":0.03981, "fx":[-30.73197,-30.73251,-31.03839,-30.81579], "fy":[-29.24692,-29.14661,-29.13819,-29.48231]}, - {"t":0.54561, "x":6.98631, "y":7.32479, "heading":-3.0884, "vx":-0.89557, "vy":-1.02597, "omega":0.15053, "ax":-1.84461, "ay":-1.68519, "alpha":0.04895, "fx":[-31.24794,-31.3122,-31.48713,-31.4576], "fy":[-28.83037,-28.40645,-28.59612,-28.82554]}, - {"t":0.5777, "x":6.95662, "y":7.29099, "heading":-3.08357, "vx":-0.95477, "vy":-1.08006, "omega":0.1521, "ax":-1.87949, "ay":-1.64607, "alpha":0.00816, "fx":[-31.9683,-31.94777,-32.09423,-31.86813], "fy":[-27.89109,-27.97558,-27.97167,-28.15823]}, - {"t":0.6098, "x":6.92501, "y":7.25548, "heading":-3.07869, "vx":-1.01509, "vy":-1.13289, "omega":0.15236, "ax":-1.91741, "ay":-1.60159, "alpha":0.02442, "fx":[-32.56556,-32.6177,-32.64384,-32.63155], "fy":[-27.34719,-27.01799,-27.26018,-27.34507]}, - {"t":0.64189, "x":6.89144, "y":7.21829, "heading":-3.0738, "vx":-1.07663, "vy":-1.18429, "omega":0.15315, "ax":-1.95867, "ay":-1.5507, "alpha":-0.01798, "fx":[-33.40035,-33.3631,-33.38197,-33.12008], "fy":[-26.19721,-26.41839,-26.41551,-26.47705]}, - {"t":0.67399, "x":6.85588, "y":7.17949, "heading":-3.06889, "vx":-1.13949, "vy":-1.23406, "omega":0.15257, "ax":-2.00354, "ay":-1.49209, "alpha":0.00319, "fx":[-34.09475,-34.13157,-34.04454,-34.04765], "fy":[-25.42705,-25.21283,-25.45571,-25.42447]}, - {"t":0.70608, "x":6.81828, "y":7.13911, "heading":-3.06399, "vx":-1.20379, "vy":-1.28195, "omega":0.15267, "ax":-2.05228, "ay":-1.42409, "alpha":-0.03927, "fx":[-35.05751,-35.00566,-34.92639,-34.64496], "fy":[-23.9667,-24.32467,-24.32008,-24.28207]}, - {"t":0.73817, "x":6.77859, "y":7.09723, "heading":-3.05909, "vx":-1.26966, "vy":-1.32765, "omega":0.15141, "ax":-2.10503, "ay":-1.34463, "alpha":-0.01231, "fx":[-35.87013,-35.89161,-35.72311,-35.73887], "fy":[-22.87802,-22.74403,-22.99248,-22.87244]}, - {"t":0.77027, "x":6.73675, "y":7.05393, "heading":-3.05423, "vx":-1.33722, "vy":-1.37081, "omega":0.15102, "ax":-2.16175, "ay":-1.25108, "alpha":-0.05472, "fx":[-36.96758,-36.90683,-36.75732,-36.4514], "fy":[-20.97636,-21.42567,-21.41719,-21.30315]}, - {"t":0.80236, "x":6.69272, "y":7.00929, "heading":-3.04938, "vx":-1.4066, "vy":-1.41096, "omega":0.14926, "ax":-2.22204, "ay":-1.14019, "alpha":-0.02205, "fx":[-37.89338,-37.90402,-37.68155,-37.70626], "fy":[-19.37751,-19.28417,-19.54848,-19.36707]}, - {"t":0.83446, "x":6.64643, "y":6.96342, "heading":-3.04459, "vx":-1.47792, "vy":-1.44755, "omega":0.14855, "ax":-2.28487, "ay":-1.00792, "alpha":-0.06104, "fx":[-39.08297,-39.03065,-38.83913,-38.50715], "fy":[-16.86584,-17.30145,-17.28758,-17.12267]}, - {"t":0.86655, "x":6.59782, "y":6.91644, "heading":-3.03983, "vx":-1.55125, "vy":-1.4799, "omega":0.14659, "ax":-2.34816, "ay":-0.84946, "alpha":-0.03054, "fx":[-40.05826,-40.05038,-39.81444,-39.84312], "fy":[-14.40174,-14.40984,-14.59932,-14.38537]}, - {"t":0.89865, "x":6.54683, "y":6.86851, "heading":-3.03512, "vx":-1.62661, "vy":-1.50717, "omega":0.14561, "ax":-2.4082, "ay":-0.65941, "alpha":-0.06113, "fx":[-41.18228,-41.14352,-40.93792,-40.5876], "fy":[-10.99776,-11.36818,-11.34844,-11.15134]}, - {"t":0.93074, "x":6.49338, "y":6.8198, "heading":-3.03045, "vx":-1.7039, "vy":-1.52833, "omega":0.14365, "ax":-2.45887, "ay":-0.43241, "alpha":-0.03763, "fx":[-41.94504,-41.92255,-41.70188,-41.72919], "fy":[-7.27291,-7.42965,-7.46703,-7.25096]}, - {"t":0.96284, "x":6.43743, "y":6.77052, "heading":-3.02584, "vx":-1.78282, "vy":-1.54221, "omega":0.14244, "ax":-2.49092, "ay":-0.16452, "alpha":-0.05306, "fx":[-42.57014,-42.54761,-42.3543,-42.00734], "fy":[-2.70643,-2.91619,-2.89195,-2.67905]}, - {"t":0.99493, "x":6.37893, "y":6.72094, "heading":-3.02127, "vx":-1.86276, "vy":-1.54749, "omega":0.14074, "ax":-2.49194, "ay":0.14427, "alpha":-0.04064, "fx":[-42.49425,-42.47039,-42.28109,-42.30289], "fy":[2.56033,2.27384,2.39646,2.58513]}, - {"t":1.02703, "x":6.31786, "y":6.67135, "heading":-3.01675, "vx":-1.94274, "vy":-1.54286, "omega":0.13944, "ax":-2.44797, "ay":0.48685, "alpha":-0.03957, "fx":[-41.7945,-41.77776,-41.62095,-41.3641], "fy":[8.27382,8.19988,8.22398,8.42713]}, - {"t":1.05912, "x":6.25425, "y":6.62208, "heading":-3.01227, "vx":-2.02131, "vy":-1.52723, "omega":0.13817, "ax":-2.34775, "ay":0.8468, "alpha":-0.03642, "fx":[-40.01214,-40.00551,-39.85274,-39.86776], "fy":[14.50765,14.18324,14.39506,14.52906]}, - {"t":1.09121, "x":6.18817, "y":6.57351, "heading":-3.00784, "vx":-2.09666, "vy":-1.50005, "omega":0.137, "ax":-2.18841, "ay":1.19987, "alpha":-0.02019, "fx":[-37.32485,-37.29509,-37.1966,-37.08061], "fy":[20.3084,20.38322,20.39976,20.5467]}, - {"t":1.12331, "x":6.11975, "y":6.52598, "heading":-3.00344, "vx":-2.16689, "vy":-1.46154, "omega":0.13635, "ax":-1.97907, "ay":1.52069, "alpha":-0.02558, "fx":[-33.69888,-33.71861,-33.61377,-33.62269], "fy":[25.94668,25.66688,25.89499,25.95715]}, - {"t":1.1554, "x":6.04918, "y":6.47986, "heading":-2.99907, "vx":-2.23041, "vy":-1.41274, "omega":0.13553, "ax":-1.73848, "ay":1.79101, "alpha":-0.00851, "fx":[-29.64292,-29.60662,-29.58416,-29.45028], "fy":[30.3687,30.47357,30.47622,30.53972]}, - {"t":1.1875, "x":5.9767, "y":6.43544, "heading":-2.99472, "vx":-2.28621, "vy":-1.35526, "omega":0.13526, "ax":-1.50117, "ay":1.98898, "alpha":-0.00474, "fx":[-25.52317,-25.55995,-25.52664,-25.52802], "fy":[33.85057,33.77041,33.86005,33.84682]}, - {"t":1.21984, "x":5.90198, "y":6.39264, "heading":-2.99034, "vx":-2.33476, "vy":-1.29093, "omega":0.1351, "ax":-1.23382, "ay":2.16922, "alpha":0.00655, "fx":[-21.01394,-20.98146,-21.03809,-20.91387], "fy":[36.79157,36.95067,36.93899,36.91004]}, - {"t":1.25218, "x":5.82582, "y":6.35203, "heading":-2.98597, "vx":-2.37466, "vy":-1.22077, "omega":0.13531, "ax":-0.88794, "ay":2.33186, "alpha":0.00815, "fx":[-15.0447,-15.0899,-15.14465,-15.13498], "fy":[39.66341,39.61644,39.73168,39.6458]}, - {"t":1.28453, "x":5.74855, "y":6.31376, "heading":-2.9816, "vx":-2.40338, "vy":-1.14535, "omega":0.13558, "ax":-0.4674, "ay":2.45075, "alpha":0.02393, "fx":[-7.91083,-7.90644,-8.04255,-7.94145], "fy":[41.55849,41.78513,41.76199,41.6409]}, - {"t":1.31687, "x":5.67058, "y":6.278, "heading":-2.97721, "vx":-2.4185, "vy":-1.06609, "omega":0.13635, "ax":0.00363, "ay":2.4948, "alpha":0.02488, "fx":[0.16256,0.12914,-0.03628,-0.00852], "fy":[42.39809,42.44846,42.52502,42.37201]}, - {"t":1.34921, "x":5.59236, "y":6.24483, "heading":-2.9728, "vx":-2.41838, "vy":-0.9854, "omega":0.13716, "ax":0.4793, "ay":2.4484, "alpha":0.0448, "fx":[8.28102,8.23155,8.02891,8.06963], "fy":[41.4152,41.80397,41.77517,41.59211]}, - {"t":1.38155, "x":5.51439, "y":6.21424, "heading":-2.96837, "vx":-2.40288, "vy":-0.90621, "omega":0.13861, "ax":0.91109, "ay":2.32282, "alpha":0.0266, "fx":[15.62876,15.61266,15.34997,15.39836], "fy":[39.49572,39.40361,39.67647,39.46615]}, - {"t":1.41389, "x":5.43716, "y":6.18614, "heading":-2.96388, "vx":-2.37341, "vy":-0.83109, "omega":0.13947, "ax":1.26952, "ay":2.1484, "alpha":0.06364, "fx":[21.81793,21.72411,21.48087,21.35366], "fy":[36.20649,36.74355,36.71188,36.51258]}, - {"t":1.44624, "x":5.36106, "y":6.16039, "heading":-2.95937, "vx":-2.33235, "vy":-0.7616, "omega":0.14152, "ax":1.54937, "ay":1.9567, "alpha":0.02978, "fx":[26.50327,26.48671,26.18274,26.24454], "fy":[33.267,33.14797,33.48201,33.23436]}, - {"t":1.47858, "x":5.28643, "y":6.13678, "heading":-2.95479, "vx":-2.28224, "vy":-0.69832, "omega":0.14249, "ax":1.76068, "ay":1.76949, "alpha":0.06989, "fx":[30.20718,30.10241,29.8472,29.63761], "fy":[29.733,30.31113,30.27622,30.07394]}, - {"t":1.51092, "x":5.21354, "y":6.11512, "heading":-2.95019, "vx":-2.2253, "vy":-0.64109, "omega":0.14475, "ax":1.91825, "ay":1.59786, "alpha":0.03231, "fx":[32.78113,32.75312,32.45811,32.52312], "fy":[27.15056,27.07942,27.37145,27.11491]}, - {"t":1.54326, "x":5.14257, "y":6.09522, "heading":-2.9455, "vx":-2.16326, "vy":-0.58941, "omega":0.14579, "ax":2.03586, "ay":1.44556, "alpha":0.06837, "fx":[34.89636,34.80399,34.5632,34.25421], "fy":[24.25666,24.7846,24.74793,24.56493]}, - {"t":1.57561, "x":5.07367, "y":6.07691, "heading":-2.94079, "vx":-2.09741, "vy":-0.54266, "omega":0.148, "ax":2.1244, "ay":1.3125, "alpha":0.03173, "fx":[36.27485,36.23997,35.98359,36.04321], "fy":[22.28736,22.27609,22.48637,22.25142]}, - {"t":1.60795, "x":5.00695, "y":6.06005, "heading":-2.936, "vx":-2.0287, "vy":-0.50021, "omega":0.14903, "ax":2.19186, "ay":1.19693, "alpha":0.05866, "fx":[37.52524,37.45398,37.25219,36.90055], "fy":[20.10574,20.51652,20.48189,20.33368]}, - {"t":1.64029, "x":4.94248, "y":6.0445, "heading":-2.93118, "vx":-1.95781, "vy":-0.4615, "omega":0.15093, "ax":2.24398, "ay":1.09658, "alpha":0.02693, "fx":[38.28054,38.24693,38.05175,38.09886], "fy":[18.61402,18.64627,18.7668,18.58277]}, - {"t":1.67263, "x":4.88034, "y":6.03014, "heading":-2.9263, "vx":-1.88524, "vy":-0.42603, "omega":0.1518, "ax":2.28481, "ay":1.0092, "alpha":0.04284, "fx":[39.05042,39.0022,38.86289,38.54026], "fy":[16.98779,17.27534,17.24843,17.15341]}, - {"t":1.70498, "x":4.82056, "y":6.01689, "heading":-2.92139, "vx":-1.81134, "vy":-0.39339, "omega":0.15318, "ax":2.31722, "ay":0.9328, "alpha":0.0148, "fx":[39.48141,39.46209,39.34476,39.37265], "fy":[15.85072,15.84976,15.93561,15.83079]}, - {"t":1.73732, "x":4.76319, "y":6.00466, "heading":-2.91644, "vx":-1.7364, "vy":-0.36322, "omega":0.15366, "ax":2.34328, "ay":0.86567, "alpha":0.02332, "fx":[39.97789,39.95611,39.90288,39.5969], "fy":[14.6127,14.77406,14.7621,14.75001]}, - {"t":1.76966, "x":4.70825, "y":5.99336, "heading":-2.91147, "vx":-1.66061, "vy":-0.33523, "omega":0.15442, "ax":2.36447, "ay":0.80635, "alpha":-0.00328, "fx":[40.22458,40.22891,40.21043,40.21197], "fy":[13.73726,13.65539,13.73401,13.73661]}, - {"t":1.802, "x":4.65578, "y":5.98294, "heading":-2.90647, "vx":-1.58414, "vy":-0.30915, "omega":0.15431, "ax":2.3819, "ay":0.75367, "alpha":-0.00104, "fx":[40.55532,40.56712,40.62277,40.31651], "fy":[12.78679,12.78902,12.80076,12.90247]}, - {"t":1.83435, "x":4.60579, "y":5.97334, "heading":-2.90148, "vx":-1.5071, "vy":-0.28477, "omega":0.15428, "ax":2.39637, "ay":0.70664, "alpha":-0.02632, "fx":[40.69047,40.7269,40.83097,40.79818], "fy":[12.08775,11.89932,11.97661,12.11561]}, - {"t":1.86669, "x":4.5583, "y":5.9645, "heading":-2.89649, "vx":-1.4296, "vy":-0.26192, "omega":0.15343, "ax":2.4085, "ay":0.66445, "alpha":-0.03004, "fx":[40.91216,40.96458,41.15517,40.83993], "fy":[11.34144,11.17661,11.22192,11.46864]}, - {"t":1.89903, "x":4.51333, "y":5.95637, "heading":-2.89153, "vx":-1.3517, "vy":-0.24043, "omega":0.15245, "ax":2.41875, "ay":0.62642, "alpha":-0.05556, "fx":[40.97663,41.05538,41.30677,41.23052], "fy":[10.78283,10.44474,10.54378,10.84981]}, - {"t":1.93137, "x":4.47087, "y":5.94893, "heading":-2.8866, "vx":-1.27347, "vy":-0.22017, "omega":0.15066, "ax":2.42748, "ay":0.592, "alpha":-0.06466, "fx":[41.12182,41.22409,41.57602,41.24129], "fy":[10.1891,9.82792,9.91849,10.34318]}, - {"t":1.96372, "x":4.43096, "y":5.94212, "heading":-2.88173, "vx":-1.19496, "vy":-0.20102, "omega":0.14857, "ax":2.43497, "ay":0.5607, "alpha":-0.09144, "fx":[41.13819,41.27073,41.69697,41.56665], "fy":[9.73758,9.20634,9.34948,9.85591]}, - {"t":1.99606, "x":4.39358, "y":5.93591, "heading":-2.87692, "vx":-1.11621, "vy":-0.18289, "omega":0.14561, "ax":2.44143, "ay":0.53214, "alpha":-0.10529, "fx":[41.22682,41.39012,41.93342,41.56178], "fy":[9.25555,8.67096,8.82022,9.45941]}, - {"t":2.0284, "x":4.35876, "y":5.93027, "heading":-2.87221, "vx":-1.03725, "vy":-0.16567, "omega":0.1422, "ax":2.44704, "ay":0.50598, "alpha":-0.13413, "fx":[41.20711,41.40584,42.03879,41.84207], "fy":[8.89099,8.13016,8.33063,9.07475]}, - {"t":2.06074, "x":4.32649, "y":5.92518, "heading":-2.86761, "vx":-0.9581, "vy":-0.14931, "omega":0.13787, "ax":2.45194, "ay":0.48195, "alpha":-0.15328, "fx":[41.24978,41.48764,42.25638,41.83324], "fy":[8.49888,7.65032,7.87391,8.7681]}, - {"t":2.09308, "x":4.29679, "y":5.9206, "heading":-2.86315, "vx":-0.8788, "vy":-0.13372, "omega":0.13291, "ax":2.45624, "ay":0.45979, "alpha":-0.18516, "fx":[41.20143,41.48135,42.35709,42.07958], "fy":[8.20462,7.1634,7.44562,8.47008]}, - {"t":2.12543, "x":4.26965, "y":5.91652, "heading":-2.85886, "vx":-0.79936, "vy":-0.11885, "omega":0.12692, "ax":2.46002, "ay":0.43931, "alpha":-0.20964, "fx":[41.20521,41.53349,42.56721,42.07137], "fy":[7.8839,6.72598,7.04205,8.23808]}, - {"t":2.15777, "x":4.24508, "y":5.9129, "heading":-2.85475, "vx":-0.7198, "vy":-0.10464, "omega":0.12014, "ax":2.46338, "ay":0.42032, "alpha":-0.2452, "fx":[41.131,41.50906,42.67025,42.29528], "fy":[7.64714,6.2791,6.65863,8.01305]}, - {"t":2.19011, "x":4.22309, "y":5.90974, "heading":-2.85087, "vx":-0.64013, "vy":-0.09105, "omega":0.11221, "ax":2.46636, "ay":0.40267, "alpha":-0.27585, "fx":[41.09885,41.53584,42.88099,42.29292], "fy":[7.38463,5.86692,6.2966,7.84879]}, - {"t":2.22245, "x":4.20368, "y":5.907, "heading":-2.84724, "vx":-0.56036, "vy":-0.07803, "omega":0.10329, "ax":2.46903, "ay":0.38622, "alpha":-0.31599, "fx":[40.99977,41.49595,42.99292,42.50117], "fy":[7.19915,5.44778,5.94398,7.68703]}, - {"t":2.2548, "x":4.18685, "y":5.90468, "heading":-2.8439, "vx":-0.4805, "vy":-0.06554, "omega":0.09307, "ax":2.47141, "ay":0.37086, "alpha":-0.35408, "fx":[40.9337,41.50106,43.2111,42.50629], "fy":[6.99622,5.04273,5.61064,7.58334]}, - {"t":2.28714, "x":4.1726, "y":5.90276, "heading":-2.84089, "vx":-0.40057, "vy":-0.05354, "omega":0.08162, "ax":2.47356, "ay":0.35649, "alpha":-0.4003, "fx":[40.80752,41.44507,43.3381,42.70735], "fy":[6.85086,4.63597,5.28322,7.48488]}, - {"t":2.31948, "x":4.16094, "y":5.90121, "heading":-2.83825, "vx":-0.32057, "vy":-0.04201, "omega":0.06867, "ax":2.47549, "ay":0.34301, "alpha":-0.44678, "fx":[40.70444,41.42684,43.57232,42.726], "fy":[6.6963,4.234,4.96838,7.4391]}, - {"t":2.35182, "x":4.15186, "y":5.90003, "heading":-2.83603, "vx":-0.24051, "vy":-0.03092, "omega":0.05422, "ax":2.47724, "ay":0.33034, "alpha":-0.50033, "fx":[40.55066,41.35592,43.71841,42.92356], "fy":[6.5924,3.82769,4.65528,7.40069]}, - {"t":2.38417, "x":4.14538, "y":5.8992, "heading":-2.83427, "vx":-0.16039, "vy":-0.02023, "omega":0.03804, "ax":2.47883, "ay":0.31842, "alpha":-0.55653, "fx":[40.40838,41.31402,43.97466,42.95937], "fy":[6.48036,3.41857,4.35147,7.41454]}, - {"t":2.41651, "x":4.14149, "y":5.89872, "heading":-2.83304, "vx":-0.08022, "vy":-0.00993, "omega":0.02004, "ax":2.48027, "ay":0.30718, "alpha":-0.61955, "fx":[40.2222,41.2251,44.1471,43.1601], "fy":[6.42266,3.00058,4.04179,7.43513]}, - {"t":2.44885, "x":4.14019, "y":5.89855, "heading":-2.83239, "vx":0.0, "vy":0.0, "omega":0.0, "ax":0.10474, "ay":-0.99379, "alpha":0.69638, "fx":[4.13009,3.0068,-0.5754,0.565], "fy":[-18.11474,-14.51715,-15.75269,-19.23205]}, - {"t":2.49281, "x":4.14029, "y":5.89759, "heading":-2.83239, "vx":0.0046, "vy":-0.04369, "omega":0.03061, "ax":0.10479, "ay":-0.99424, "alpha":0.59293, "fx":[3.80443,2.83596,-0.24279,0.73213], "fy":[-17.89718,-14.93604,-15.90654,-18.90749]}, - {"t":2.53677, "x":4.1406, "y":5.89471, "heading":-2.83105, "vx":0.00921, "vy":-0.08739, "omega":0.05668, "ax":0.10479, "ay":-0.99423, "alpha":0.51748, "fx":[3.53903,2.69449,0.02104,0.87505], "fy":[-17.80164,-15.15877,-16.04695,-18.63878]}, - {"t":2.58073, "x":4.1411, "y":5.88991, "heading":-2.82856, "vx":0.01382, "vy":-0.1311, "omega":0.07942, "ax":0.10479, "ay":-0.99421, "alpha":0.44117, "fx":[3.29235,2.56088,0.27208,1.00417], "fy":[-17.62604,-15.44115,-16.17218,-18.4055]}, - {"t":2.62469, "x":4.14181, "y":5.88319, "heading":-2.82507, "vx":0.01842, "vy":-0.1748, "omega":0.09882, "ax":0.10478, "ay":-0.99419, "alpha":0.38511, "fx":[3.09051,2.45102,0.47148,1.1163], "fy":[-17.56809,-15.59264,-16.28157,-18.20109]}, - {"t":2.66865, "x":4.14272, "y":5.87454, "heading":-2.82072, "vx":0.02303, "vy":-0.2185, "omega":0.11575, "ax":0.10478, "ay":-0.99416, "alpha":0.32497, "fx":[2.90166,2.34799,0.66454,1.21494], "fy":[-17.41332,-15.82672,-16.37875,-18.02287]}, - {"t":2.7126, "x":4.14384, "y":5.86398, "heading":-2.81563, "vx":0.02764, "vy":-0.26221, "omega":0.13003, "ax":0.10478, "ay":-0.99413, "alpha":0.2837, "fx":[2.74615,2.26325,0.8168,1.30273], "fy":[-17.3885,-15.92193,-16.46329,-17.8659]}, - {"t":2.75656, "x":4.14515, "y":5.85149, "heading":-2.80992, "vx":0.03224, "vy":-0.30591, "omega":0.1425, "ax":0.10477, "ay":-0.9941, "alpha":0.23535, "fx":[2.6003,2.18457,0.96711,1.37669], "fy":[-17.24614,-16.12458,-16.53823,-17.72823]}, - {"t":2.80052, "x":4.14667, "y":5.83708, "heading":-2.80365, "vx":0.03685, "vy":-0.34961, "omega":0.15285, "ax":0.10477, "ay":-0.99405, "alpha":0.20552, "fx":[2.4785,2.1192,1.08477,1.44588], "fy":[-17.25155,-16.17274,-16.60347,-17.60643]}, - {"t":2.84448, "x":4.14839, "y":5.82075, "heading":-2.79693, "vx":0.04145, "vy":-0.3933, "omega":0.16188, "ax":0.10476, "ay":-0.994, "alpha":0.1655, "fx":[2.36482,2.05956,1.20358,1.49999], "fy":[-17.11252,-16.3581,-16.66123,-17.49861]}, - {"t":2.88844, "x":4.15031, "y":5.8025, "heading":-2.78982, "vx":0.04606, "vy":-0.437, "omega":0.16916, "ax":0.10476, "ay":-0.99393, "alpha":0.14477, "fx":[2.2673,2.00871,1.29583,1.55562], "fy":[-17.14755,-16.3634,-16.71183,-17.40287]}, - {"t":2.9324, "x":4.15244, "y":5.78233, "heading":-2.78238, "vx":0.05066, "vy":-0.48069, "omega":0.17552, "ax":0.10475, "ay":-0.99383, "alpha":0.11019, "fx":[2.17776,1.96381,1.3916,1.59361], "fy":[-17.00101,-16.54464,-16.75662,-17.31697]}, - {"t":2.97636, "x":4.15477, "y":5.76024, "heading":-2.77467, "vx":0.05527, "vy":-0.52438, "omega":0.18037, "ax":0.10473, "ay":-0.9937, "alpha":0.09713, "fx":[2.09724,1.92346,1.46519,1.63993], "fy":[-17.06854,-16.50527,-16.79621,-17.24027]}, - {"t":3.02032, "x":4.1573, "y":5.73623, "heading":-2.76674, "vx":0.05987, "vy":-0.56806, "omega":0.18463, "ax":0.10471, "ay":-0.9935, "alpha":0.06535, "fx":[2.02566,1.88977,1.5443,1.66469], "fy":[-16.89969,-16.69666,-16.83083,-17.16966]}, - {"t":3.06427, "x":4.16003, "y":5.7103, "heading":-2.75862, "vx":0.06447, "vy":-0.61173, "omega":0.18751, "ax":0.10468, "ay":-0.99317, "alpha":0.05929, "fx":[1.95639,1.85663,1.60415,1.70488], "fy":[-17.0054,-16.60462,-16.86002,-17.10441]}, - {"t":3.10823, "x":4.16297, "y":5.68245, "heading":-2.75038, "vx":0.06908, "vy":-0.65539, "omega":0.19011, "ax":0.10461, "ay":-0.99252, "alpha":0.02833, "fx":[1.89728,1.83076,1.67103,1.71826], "fy":[-16.80629,-16.812,-16.87712,-17.03425]}, - {"t":3.15219, "x":4.16611, "y":5.65268, "heading":-2.74202, "vx":0.07367, "vy":-0.69902, "omega":0.19136, "ax":0.1044, "ay":-0.99054, "alpha":0.0183, "fx":[1.83272,1.79971,1.71848,1.75228], "fy":[-16.8806,-16.76556,-16.83558,-16.91374]}, - {"t":3.19615, "x":4.16944, "y":5.621, "heading":-2.73361, "vx":0.07826, "vy":-0.74257, "omega":0.19216, "ax":0.00005, "ay":-0.00046, "alpha":-0.00045, "fx":[0.00302,0.00218,0.00023,-0.0021], "fy":[0.0202,-0.01606,-0.0169,-0.01887]}, - {"t":3.24011, "x":4.17288, "y":5.58835, "heading":-2.72516, "vx":0.07827, "vy":-0.74259, "omega":0.19214, "ax":-0.1044, "ay":0.99054, "alpha":-0.01954, "fx":[-1.83078,-1.79789,-1.72039,-1.75414], "fy":[16.88646,16.74433,16.84538,16.9193]}, - {"t":3.28407, "x":4.17622, "y":5.55667, "heading":-2.71672, "vx":0.07368, "vy":-0.69904, "omega":0.19128, "ax":-0.10461, "ay":0.99252, "alpha":-0.02744, "fx":[-1.89665,-1.82634,-1.67256,-1.72178], "fy":[16.78567,16.81838,16.88716,17.03845]}, - {"t":3.32803, "x":4.17936, "y":5.5269, "heading":-2.70831, "vx":0.06908, "vy":-0.65541, "omega":0.19008, "ax":-0.10468, "ay":0.99317, "alpha":-0.05987, "fx":[-1.9578,-1.84689,-1.60272,-1.71465], "fy":[16.99994,16.59108,16.87387,17.10956]}, - {"t":3.37199, "x":4.1823, "y":5.49905, "heading":-2.69995, "vx":0.06448, "vy":-0.61175, "omega":0.18745, "ax":-0.10471, "ay":0.9935, "alpha":-0.06501, "fx":[-2.03013,-1.87293,-1.54057,-1.68078], "fy":[16.87585,16.69503,16.85004,17.17593]}, - {"t":3.41594, "x":4.18503, "y":5.47311, "heading":-2.69171, "vx":0.05987, "vy":-0.56808, "omega":0.18459, "ax":-0.10473, "ay":0.9937, "alpha":-0.09725, "fx":[-2.10601,-1.89609,-1.45644,-1.6673], "fy":[17.04358,16.49182,16.82481,17.25008]}, - {"t":3.4599, "x":4.18756, "y":5.4491, "heading":-2.6836, "vx":0.05527, "vy":-0.5244, "omega":0.18031, "ax":-0.10475, "ay":0.99383, "alpha":-0.11009, "fx":[-2.19167,-1.92361,-1.37809,-1.6334], "fy":[16.95779,16.53256,16.79748,17.33142]}, - {"t":3.50386, "x":4.18989, "y":5.42701, "heading":-2.67567, "vx":0.05066, "vy":-0.48071, "omega":0.17547, "ax":-0.10476, "ay":0.99393, "alpha":-0.14483, "fx":[-2.28841,-1.95133,-1.27477,-1.61293], "fy":[17.09277,16.34008,16.76896,17.42385]}, - {"t":3.54782, "x":4.19202, "y":5.40684, "heading":-2.66796, "vx":0.04606, "vy":-0.43702, "omega":0.16911, "ax":-0.10476, "ay":0.994, "alpha":-0.1656, "fx":[-2.39403,-1.98225,-1.17492,-1.57675], "fy":[17.0346,16.33068,16.73799,17.5272]}, - {"t":3.59178, "x":4.19394, "y":5.38859, "heading":-2.66052, "vx":0.04145, "vy":-0.39332, "omega":0.16183, "ax":-0.10477, "ay":0.99405, "alpha":-0.20561, "fx":[-2.51834,-2.01592,-1.04509,-1.54901], "fy":[17.15176,16.1326,16.70489,17.64494]}, - {"t":3.63574, "x":4.19566, "y":5.37226, "heading":-2.65341, "vx":0.03685, "vy":-0.34963, "omega":0.15279, "ax":-0.10477, "ay":0.9941, "alpha":-0.23561, "fx":[-2.65184,-2.05217,-0.91612,-1.50853], "fy":[17.11504,16.07526,16.66875,17.77813]}, - {"t":3.6797, "x":4.19718, "y":5.35785, "heading":-2.64669, "vx":0.03224, "vy":-0.30593, "omega":0.14243, "ax":-0.10478, "ay":0.99413, "alpha":-0.28388, "fx":[-2.81272,-2.0939,-0.75058,-1.47173], "fy":[17.22432,15.85665,16.6289,17.92976]}, - {"t":3.72366, "x":4.1985, "y":5.34536, "heading":-2.64043, "vx":0.02764, "vy":-0.26223, "omega":0.12995, "ax":-0.10478, "ay":0.99416, "alpha":-0.32541, "fx":[-2.98446,-2.1382,-0.58255,-1.42394], "fy":[17.20701,15.74704,16.58503,18.10258]}, - {"t":3.76761, "x":4.19961, "y":5.3348, "heading":-2.63472, "vx":0.02303, "vy":-0.21852, "omega":0.11565, "ax":-0.10478, "ay":0.99419, "alpha":-0.38543, "fx":[-3.19352,-2.19094,-0.36921,-1.37565], "fy":[17.31565,15.4927,16.53552,18.29952]}, - {"t":3.81157, "x":4.20052, "y":5.32615, "heading":-2.62964, "vx":0.01843, "vy":-0.17482, "omega":0.09871, "ax":-0.10479, "ay":0.99421, "alpha":-0.4418, "fx":[-3.41676,-2.24707,-0.14891,-1.31673], "fy":[17.31855,15.32113,16.48033,18.52485]}, - {"t":3.85553, "x":4.20123, "y":5.31943, "heading":-2.6253, "vx":0.01382, "vy":-0.13112, "omega":0.07928, "ax":-0.10479, "ay":0.99423, "alpha":-0.51799, "fx":[-3.68934,-2.31555,0.12783,-1.25255], "fy":[17.43379,15.01358,16.41681,18.78196]}, - {"t":3.89949, "x":4.20174, "y":5.31462, "heading":-2.62181, "vx":0.00921, "vy":-0.08741, "omega":0.05651, "ax":-0.10479, "ay":0.99424, "alpha":-0.59379, "fx":[-3.98145,-2.38944,0.4177,-1.17654], "fy":[17.46075,14.76513,16.34468,19.07671]}, - {"t":3.94345, "x":4.20204, "y":5.31174, "heading":-2.61933, "vx":0.00461, "vy":-0.04371, "omega":0.03041, "ax":-0.10479, "ay":0.99426, "alpha":-0.69184, "fx":[-4.33747,-2.48116,0.77826,-1.08947], "fy":[17.59175,14.38277,16.26026,19.41347]}, - {"t":3.98741, "x":4.20214, "y":5.31078, "heading":-2.61799, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-0.45531, "ay":0.20518, "alpha":-3.24255, "fx":[-19.56687,-10.90513,4.10956,-4.6166], "fy":[6.66351,-8.46063,0.30796,15.44945]}, - {"t":4.02929, "x":4.20174, "y":5.31096, "heading":-2.61799, "vx":-0.01907, "vy":0.00859, "omega":-0.13581, "ax":-2.2787, "ay":1.02687, "alpha":-2.46286, "fx":[-47.10403,-41.6855,-30.16705,-36.08368], "fy":[19.51319,7.87922,15.41442,27.06029]}, - {"t":4.07117, "x":4.19894, "y":5.31222, "heading":-2.62368, "vx":-0.11451, "vy":0.0516, "omega":-0.23896, "ax":-2.27868, "ay":1.02686, "alpha":-2.14359, "fx":[-46.08275,-41.24892,-31.31208,-36.39502], "fy":[19.27375,9.14504,15.64735,25.80055]}, - {"t":4.11306, "x":4.19215, "y":5.31528, "heading":-2.63369, "vx":-0.20995, "vy":0.09461, "omega":-0.32874, "ax":-2.27866, "ay":1.02686, "alpha":-1.84949, "fx":[-45.01206,-41.03047,-32.36733,-36.62728], "fy":[19.11543,10.28764,15.81364,24.64954]}, - {"t":4.15494, "x":4.18136, "y":5.32015, "heading":-2.64745, "vx":-0.30538, "vy":0.13762, "omega":-0.4062, "ax":-2.27863, "ay":1.02685, "alpha":-1.59021, "fx":[-44.17899,-40.69021,-33.3003,-36.86592], "fy":[18.94995,11.33018,15.96626,23.61933]}, - {"t":4.19682, "x":4.16657, "y":5.32681, "heading":-2.66447, "vx":-0.40082, "vy":0.18063, "omega":-0.4728, "ax":-2.2786, "ay":1.02684, "alpha":-1.35437, "fx":[-43.29661,-40.54801,-34.14604,-37.04287], "fy":[18.83641,12.24297,16.09814,22.68766]}, - {"t":4.23871, "x":4.14778, "y":5.33528, "heading":-2.68427, "vx":-0.49625, "vy":0.22363, "omega":-0.52953, "ax":-2.27857, "ay":1.02683, "alpha":-1.14199, "fx":[-42.62359,-40.24518,-34.90607,-37.25666], "fy":[18.69119,13.10346,16.22336,21.84659]}, - {"t":4.28059, "x":4.125, "y":5.34554, "heading":-2.70645, "vx":-0.59169, "vy":0.26664, "omega":-0.57736, "ax":-2.27854, "ay":1.02682, "alpha":-0.95305, "fx":[-41.89999,-40.14144,-35.57777,-37.41005], "fy":[18.58581,13.82425,16.35664,21.09725]}, - {"t":4.32247, "x":4.09822, "y":5.35761, "heading":-2.73063, "vx":-0.68712, "vy":0.30965, "omega":-0.61728, "ax":-2.2785, "ay":1.02681, "alpha":-0.77751, "fx":[-41.36381,-39.84845,-36.196,-37.61856], "fy":[18.43576,14.53798,16.47927,20.41024]}, - {"t":4.36436, "x":4.06744, "y":5.37148, "heading":-2.75648, "vx":-0.78255, "vy":0.35265, "omega":-0.64984, "ax":-2.27846, "ay":1.0268, "alpha":-0.62652, "fx":[-40.77273,-39.7637,-36.72211,-37.76558], "fy":[18.32378,15.09758,16.62722,19.81391]}, - {"t":4.40624, "x":4.03267, "y":5.38715, "heading":-2.7837, "vx":-0.87798, "vy":0.39566, "omega":-0.67608, "ax":-2.27842, "ay":1.02679, "alpha":-0.47989, "fx":[-40.35386,-39.46274,-37.22526,-37.9793], "fy":[18.16007,15.69091,16.75611,19.25455]}, - {"t":4.44812, "x":3.9939, "y":5.40462, "heading":-2.81202, "vx":-0.97341, "vy":0.43866, "omega":-0.69618, "ax":-2.27837, "ay":1.02678, "alpha":-0.36062, "fx":[-39.87488,-39.39528,-37.62579,-38.1219], "fy":[18.03818,16.11118,16.92208,18.78926]}, - {"t":4.49, "x":3.95113, "y":5.4239, "heading":-2.84118, "vx":-1.06883, "vy":0.48167, "omega":-0.71128, "ax":-2.27832, "ay":1.02676, "alpha":-0.23705, "fx":[-39.55594,-39.08291,-38.03368,-38.34164], "fy":[17.86069,16.60568,17.05584,18.33742]}, - {"t":4.53189, "x":3.90437, "y":5.44497, "heading":-2.87097, "vx":-1.16425, "vy":0.52467, "omega":-0.72121, "ax":-2.27826, "ay":1.02674, "alpha":-0.14525, "fx":[-39.17397,-39.0341,-38.32548,-38.47647], "fy":[17.73456,16.90083,17.23481,17.98824]}, - {"t":4.57377, "x":3.8536, "y":5.46785, "heading":-2.90117, "vx":-1.25967, "vy":0.56767, "omega":-0.7273, "ax":-2.27819, "ay":1.02672, "alpha":-0.0405, "fx":[-38.94682,-38.70851,-38.65225,-38.69775], "fy":[17.5455,17.31553,17.36931,17.62676]}, - {"t":4.61565, "x":3.79885, "y":5.49252, "heading":-2.93163, "vx":-1.35509, "vy":0.61068, "omega":-0.72899, "ax":-2.27811, "ay":1.0267, "alpha":0.02733, "fx":[-38.64427,-38.68645,-38.84972,-38.81948], "fy":[17.42356,17.49807,17.55415,17.37985]}, - {"t":4.65754, "x":3.74009, "y":5.519, "heading":-2.96217, "vx":-1.45051, "vy":0.65368, "omega":-0.72785, "ax":-2.27802, "ay":1.02667, "alpha":0.11629, "fx":[-38.49861,-38.34868,-39.10906,-39.03742], "fy":[17.23094,17.84612,17.68003,17.09668]}, - {"t":4.69942, "x":3.67734, "y":5.54728, "heading":-2.99265, "vx":-1.54592, "vy":0.69668, "omega":-0.72298, "ax":-2.27791, "ay":1.02664, "alpha":0.16144, "fx":[-38.26431,-38.36607,-39.2209,-39.13524], "fy":[17.12486,17.92174,17.86193,16.94321]}, - {"t":4.7413, "x":3.6106, "y":5.57736, "heading":-3.02293, "vx":-1.64132, "vy":0.73968, "omega":-0.71622, "ax":-2.27779, "ay":1.02661, "alpha":0.23708, "fx":[-38.19579,-38.01093,-39.42609,-39.3452], "fy":[16.93691,18.21714,17.96772,16.72748]}, - {"t":4.78319, "x":3.53986, "y":5.60924, "heading":-3.05293, "vx":-1.73672, "vy":0.78267, "omega":-0.70629, "ax":-2.27764, "ay":1.02657, "alpha":0.25942, "fx":[-38.01722,-38.08925,-39.45661,-39.40463], "fy":[16.86028,18.19002,18.13544,16.66072]}, - {"t":4.82507, "x":3.46512, "y":5.64292, "heading":-3.08251, "vx":-1.83212, "vy":0.82567, "omega":-0.69542, "ax":-2.27745, "ay":1.02651, "alpha":0.322, "fx":[-38.02112,-37.72481,-39.61375,-39.59557], "fy":[16.6883,18.44046,18.20868,16.50536]}, - {"t":4.86695, "x":3.38639, "y":5.6784, "heading":-3.11164, "vx":-1.9275, "vy":0.86866, "omega":-0.68193, "ax":-2.27722, "ay":1.02645, "alpha":0.31963, "fx":[-37.88935,-37.87928,-39.56802,-39.6029], "fy":[16.66177,18.2982,18.35284,16.52573]}, - {"t":4.90883, "x":3.30366, "y":5.71568, "heading":-3.1402, "vx":-2.02288, "vy":0.91165, "omega":-0.66855, "ax":-2.27693, "ay":1.02636, "alpha":0.3693, "fx":[-37.96575,-37.50851,-39.68288,-39.76243], "fy":[16.51479,18.52394,18.37236,16.42154]}, - {"t":4.95072, "x":3.21694, "y":5.75477, "heading":3.11499, "vx":-2.11824, "vy":0.95464, "omega":-0.65308, "ax":-2.27653, "ay":1.02626, "alpha":0.34032, "fx":[-37.87221,-37.76211,-39.56063,-39.6977], "fy":[16.55248,18.28191,18.46885,16.52219]}, - {"t":4.9926, "x":3.12623, "y":5.79565, "heading":3.08763, "vx":-2.21359, "vy":0.99762, "omega":-0.63883, "ax":-2.27599, "ay":1.0261, "alpha":0.37267, "fx":[-38.02249,-37.39558,-39.63199,-39.80543], "fy":[16.45557,18.46519,18.41876,16.47489]}, - {"t":5.03448, "x":3.03152, "y":5.83833, "heading":3.06088, "vx":-2.30892, "vy":1.0406, "omega":-0.62322, "ax":-2.27516, "ay":1.02588, "alpha":0.31442, "fx":[-37.95932,-37.77104,-39.42832,-39.64046], "fy":[16.56872,18.15938,18.42821,16.64331]}, - {"t":5.07637, "x":2.93282, "y":5.88282, "heading":3.03478, "vx":-2.40421, "vy":1.08357, "omega":-0.61005, "ax":-2.2738, "ay":1.02548, "alpha":0.31546, "fx":[-38.15832,-37.49372,-39.41915,-39.63546], "fy":[16.56428,18.24567,18.29056,16.67227]}, - {"t":5.11825, "x":2.83013, "y":5.9291, "heading":3.00923, "vx":-2.49944, "vy":1.12652, "omega":-0.59684, "ax":-2.27107, "ay":1.02478, "alpha":0.22472, "fx":[-38.12581,-37.93792,-39.12397,-39.33307], "fy":[16.77705,17.87718,18.16859,16.90201]}, - {"t":5.16013, "x":2.72345, "y":5.97718, "heading":2.98423, "vx":-2.59456, "vy":1.16944, "omega":-0.58742, "ax":-2.26306, "ay":1.02267, "alpha":0.16378, "fx":[-38.19782,-37.94618,-38.84054,-38.99172], "fy":[16.89568,17.80573,17.87518,17.00453]}, - {"t":5.20202, "x":2.6128, "y":6.02706, "heading":2.95962, "vx":-2.68934, "vy":1.21227, "omega":-0.58056, "ax":-1.83008, "ay":0.80231, "alpha":0.07677, "fx":[-31.01731,-30.95084,-31.24528,-31.30287], "fy":[13.33212,14.20025,13.67436,13.38142]}, - {"t":5.2439, "x":2.49856, "y":6.07853, "heading":2.93531, "vx":-2.76599, "vy":1.24587, "omega":-0.57735, "ax":2.26424, "ay":-1.01721, "alpha":-0.01617, "fx":[38.12875,39.05122,38.39701,38.47914], "fy":[-17.06465,-17.46118,-17.54456,-17.13971]}, - {"t":5.28578, "x":2.38469, "y":6.12982, "heading":2.91113, "vx":-2.67116, "vy":1.20327, "omega":-0.57803, "ax":2.27189, "ay":-1.02223, "alpha":-0.17009, "fx":[38.3287,38.10287,38.95656,39.18897], "fy":[-16.82952,-17.83248,-17.8817,-17.00771]}, - {"t":5.32766, "x":2.27481, "y":6.17932, "heading":2.88692, "vx":-2.57601, "vy":1.16046, "omega":-0.58515, "ax":2.27438, "ay":-1.02389, "alpha":-0.25721, "fx":[38.35467,37.70263,39.16987,39.51878], "fy":[-16.60023,-17.96435,-18.20586,-16.8936]}, - {"t":5.36955, "x":2.16891, "y":6.22703, "heading":2.86241, "vx":-2.48075, "vy":1.11757, "omega":-0.59592, "ax":2.27562, "ay":-1.02468, "alpha":-0.27585, "fx":[38.22524,37.7731,39.17838,39.65359], "fy":[-16.54645,-17.81765,-18.43108,-16.92313]}, - {"t":5.41143, "x":2.06701, "y":6.27294, "heading":2.83745, "vx":-2.38544, "vy":1.07466, "omega":-0.60748, "ax":2.27636, "ay":-1.02516, "alpha":-0.34887, "fx":[38.35513,37.30757,39.3328,39.88511], "fy":[-16.3228,-18.11664,-18.51938,-16.79209]}, - {"t":5.45331, "x":1.9691, "y":6.31705, "heading":2.81201, "vx":-2.2901, "vy":1.03172, "omega":-0.62209, "ax":2.27685, "ay":-1.02548, "alpha":-0.32266, "fx":[38.23652,37.62051,39.21103,39.84603], "fy":[-16.36476,-17.89713,-18.62315,-16.88744]}, - {"t":5.4952, "x":1.87518, "y":6.35936, "heading":2.78595, "vx":-2.19474, "vy":0.98877, "omega":-0.6356, "ax":2.2772, "ay":-1.02571, "alpha":-0.36174, "fx":[38.39174,37.28545,39.29675,39.96402], "fy":[-16.24732,-18.09576,-18.61575,-16.82898]}, - {"t":5.53708, "x":1.78525, "y":6.39987, "heading":2.75933, "vx":-2.09936, "vy":0.94581, "omega":-0.65075, "ax":2.27746, "ay":-1.02587, "alpha":-0.31295, "fx":[38.32386,37.64464,39.14449,39.84296], "fy":[-16.37625,-17.82242,-18.63053,-16.96989]}, - {"t":5.57896, "x":1.69932, "y":6.43859, "heading":2.73208, "vx":-2.00397, "vy":0.90284, "omega":-0.66386, "ax":2.27767, "ay":-1.026, "alpha":-0.32388, "fx":[38.48534,37.43963,39.18445,39.86036], "fy":[-16.34561,-17.97699,-18.5322,-16.95336]}, - {"t":5.62085, "x":1.61739, "y":6.4755, "heading":2.70427, "vx":-1.90858, "vy":0.85987, "omega":-0.67743, "ax":2.27783, "ay":-1.02611, "alpha":-0.26052, "fx":[38.45317,37.81968,39.02992,39.67813], "fy":[-16.53661,-17.72557,-18.45098,-17.10207]}, - {"t":5.66273, "x":1.53945, "y":6.51061, "heading":2.6759, "vx":-1.81318, "vy":0.81689, "omega":-0.68834, "ax":2.27796, "ay":-1.02619, "alpha":-0.24358, "fx":[38.60367,37.75039,39.03698,39.59895], "fy":[-16.60506,-17.80467,-18.28478,-17.12656]}, - {"t":5.70461, "x":1.4655, "y":6.54393, "heading":2.64707, "vx":-1.71777, "vy":0.77391, "omega":-0.69854, "ax":2.27807, "ay":-1.02626, "alpha":-0.16753, "fx":[38.59323,38.14259,38.89884,39.36293], "fy":[-16.86274,-17.57262,-18.11684,-17.27364]}, - {"t":5.74649, "x":1.39556, "y":6.57544, "heading":2.61781, "vx":-1.62236, "vy":0.73093, "omega":-0.70556, "ax":2.27817, "ay":-1.02633, "alpha":-0.12721, "fx":[38.73076,38.17578,38.89924,39.19818], "fy":[-17.02286,-17.61592,-17.87482,-17.3164]}, - {"t":5.78838, "x":1.32961, "y":6.60515, "heading":2.58826, "vx":-1.52694, "vy":0.68795, "omega":-0.71088, "ax":2.27825, "ay":-1.02638, "alpha":-0.03571, "fx":[38.71781,38.61256,38.78026,38.8988], "fy":[-17.35476,-17.40325,-17.62273,-17.45278]}, - {"t":5.83026, "x":1.26765, "y":6.63307, "heading":2.55849, "vx":-1.43152, "vy":0.64496, "omega":-0.71238, "ax":2.27832, "ay":-1.02642, "alpha":0.02793, "fx":[38.8307,38.74834,38.7887,38.64645], "fy":[-17.60671,-17.43786,-17.29618,-17.49579]}, - {"t":5.87214, "x":1.20969, "y":6.65918, "heading":2.52865, "vx":-1.3361, "vy":0.60197, "omega":-0.71121, "ax":2.27838, "ay":-1.02646, "alpha":0.13621, "fx":[38.8024,39.23511,38.70163,38.27922], "fy":[-18.01847,-17.25966,-16.9531,-17.60796]}, - {"t":5.91403, "x":1.15573, "y":6.68349, "heading":2.49886, "vx":-1.24067, "vy":0.55898, "omega":-0.7055, "ax":2.27843, "ay":-1.02649, "alpha":0.22462, "fx":[38.88042,39.47386,38.73353,37.93422], "fy":[-18.37035,-17.29879,-16.53402,-17.63836]}, - {"t":5.95591, "x":1.10577, "y":6.706, "heading":2.46932, "vx":-1.14524, "vy":0.51598, "omega":-0.6961, "ax":2.27848, "ay":-1.02653, "alpha":0.35272, "fx":[38.82273,40.02312,38.68953,37.48991], "fy":[-18.87084,-17.16772,-16.09083,-17.71421]}, - {"t":5.99779, "x":1.0598, "y":6.72671, "heading":2.44016, "vx":-1.04981, "vy":0.47299, "omega":-0.68132, "ax":2.27852, "ay":-1.02655, "alpha":0.46876, "fx":[38.85396,40.36993,38.75934,37.04496], "fy":[-19.33543,-17.22459,-15.56676,-17.71868]}, - {"t":6.03968, "x":1.01783, "y":6.74562, "heading":2.41163, "vx":-0.95438, "vy":0.42999, "omega":-0.66169, "ax":2.27856, "ay":-1.02658, "alpha":0.62143, "fx":[38.7546,40.99626,38.77104,36.50892], "fy":[-19.94223,-17.14614,-15.01115,-17.74762]}, - {"t":6.08156, "x":0.97985, "y":6.76273, "heading":2.38391, "vx":-0.85895, "vy":0.387, "omega":-0.63566, "ax":2.2786, "ay":-1.0266, "alpha":0.76982, "fx":[38.72948,41.46373,38.89396,35.94603], "fy":[-20.53145,-17.23971,-14.36369,-17.71379]}, - {"t":6.12344, "x":0.94588, "y":6.77804, "heading":2.35729, "vx":-0.76352, "vy":0.344, "omega":-0.60342, "ax":2.27863, "ay":-1.02662, "alpha":0.95255, "fx":[38.57692,42.18202,38.9724,35.30403], "fy":[-21.26468,-17.22047,-13.67848,-17.68637]}, - {"t":6.16532, "x":0.9159, "y":6.79155, "heading":2.33202, "vx":-0.66808, "vy":0.301, "omega":-0.56353, "ax":2.27866, "ay":-1.02664, "alpha":1.13925, "fx":[38.48745,42.78246,39.16154,34.60588], "fy":[-22.00034,-17.36478,-12.88309,-17.60306]}, - {"t":6.20721, "x":0.88992, "y":6.80325, "heading":2.30841, "vx":-0.57264, "vy":0.25801, "omega":-0.51581, "ax":2.27869, "ay":-1.02665, "alpha":1.36032, "fx":[38.27434,43.61914,39.31648,33.82917], "fy":[-22.88723,-17.40965,-12.04229,-17.51326]}, - {"t":6.24909, "x":0.86793, "y":6.81316, "heading":2.28681, "vx":-0.4772, "vy":0.21501, "omega":-0.45884, "ax":2.27871, "ay":-1.02667, "alpha":1.5941, "fx":[38.11526,44.37886,39.5809,32.96578], "fy":[-23.80044,-17.60876,-11.06698,-17.3773]}, - {"t":6.29097, "x":0.84994, "y":6.82126, "heading":2.26759, "vx":-0.38177, "vy":0.17201, "omega":-0.39207, "ax":2.27873, "ay":-1.02668, "alpha":1.86365, "fx":[37.8442,45.3646,39.81701,32.01652], "fy":[-24.87691,-17.71772,-10.03318,-17.22664]}, - {"t":6.33286, "x":0.83595, "y":6.82757, "heading":2.25117, "vx":-0.28633, "vy":0.12901, "omega":-0.31402, "ax":2.27875, "ay":-1.0267, "alpha":2.156, "fx":[37.62422,46.32117,40.15544,30.94293], "fy":[-26.01167,-17.96271,-8.83325,-17.04773]}, - {"t":6.37474, "x":0.82596, "y":6.83207, "heading":2.23802, "vx":-0.19088, "vy":0.086, "omega":-0.22372, "ax":2.27877, "ay":-1.02671, "alpha":2.48767, "fx":[37.30978,47.50107,40.46819,29.76603], "fy":[-27.33023,-18.11898,-7.54991,-16.85707]}, - {"t":6.41662, "x":0.81996, "y":6.83477, "heading":2.22865, "vx":-0.09544, "vy":0.043, "omega":-0.11952, "ax":2.27879, "ay":-1.02672, "alpha":2.85377, "fx":[37.0559,48.71259,40.86433,28.41348], "fy":[-28.74625,-18.37829,-6.06418,-16.66826]}, - {"t":6.45851, "x":0.81796, "y":6.83567, "heading":2.22364, "vx":0.0, "vy":0.0, "omega":0.0, "ax":2.34654, "ay":-0.85874, "alpha":3.06912, "fx":[38.16294,50.52452,42.15066,28.81791], "fy":[-26.80442,-15.74359,-2.31701,-13.56299]}, - {"t":6.49887, "x":0.81987, "y":6.83497, "heading":2.22364, "vx":0.09472, "vy":-0.03466, "omega":0.12389, "ax":2.34711, "ay":-0.85895, "alpha":2.68088, "fx":[38.31998,49.24706,41.82163,30.30612], "fy":[-25.3046,-15.54844,-3.89002,-13.69914]}, - {"t":6.53924, "x":0.82561, "y":6.83287, "heading":2.22864, "vx":0.18946, "vy":-0.06934, "omega":0.2321, "ax":2.34709, "ay":-0.85894, "alpha":2.33922, "fx":[38.58181,48.03573,41.55502,31.52062], "fy":[-23.93836,-15.42022,-5.22327,-13.85977]}, - {"t":6.5796, "x":0.83517, "y":6.82938, "heading":2.23801, "vx":0.28421, "vy":-0.10401, "omega":0.32653, "ax":2.34706, "ay":-0.85894, "alpha":2.03363, "fx":[38.78223,47.04133,41.23101,32.63688], "fy":[-22.74002,-15.19191,-6.47546,-14.03359]}, - {"t":6.61997, "x":0.84855, "y":6.82448, "heading":2.25119, "vx":0.37895, "vy":-0.13868, "omega":0.40862, "ax":2.34703, "ay":-0.85893, "alpha":1.75435, "fx":[39.04678,46.03124,40.99627,33.61527], "fy":[-21.62502,-15.06281,-7.5501,-14.20238]}, - {"t":6.66034, "x":0.86576, "y":6.81818, "heading":2.26769, "vx":0.47369, "vy":-0.17335, "omega":0.47943, "ax":2.347, "ay":-0.85891, "alpha":1.50803, "fx":[39.21799,45.24122,40.71606,34.51224], "fy":[-20.65477,-14.84989,-8.5706,-14.36431]}, - {"t":6.7007, "x":0.8868, "y":6.81048, "heading":2.28704, "vx":0.56843, "vy":-0.20802, "omega":0.54031, "ax":2.34697, "ay":-0.8589, "alpha":1.27784, "fx":[39.44851,44.38156,40.5421,35.31312], "fy":[-19.73576,-14.76062,-9.44807,-14.49431]}, - {"t":6.74107, "x":0.91165, "y":6.80139, "heading":2.30885, "vx":0.66316, "vy":-0.24269, "omega":0.59189, "ax":2.34694, "ay":-0.85889, "alpha":1.07985, "fx":[39.56483,43.75696,40.32088,36.04016], "fy":[-18.94888,-14.58913,-10.28455,-14.61533]}, - {"t":6.78143, "x":0.94033, "y":6.79089, "heading":2.33274, "vx":0.7579, "vy":-0.27736, "omega":0.63548, "ax":2.3469, "ay":-0.85888, "alpha":0.8888, "fx":[39.74559,43.01562,40.21451,36.70442], "fy":[-18.18617,-14.55523,-11.00516,-14.69035]}, - {"t":6.8218, "x":0.97284, "y":6.77899, "heading":2.35839, "vx":0.85263, "vy":-0.31203, "omega":0.67135, "ax":2.34685, "ay":-0.85886, "alpha":0.73055, "fx":[39.80147,42.52745,40.05516,37.29309], "fy":[-17.54963,-14.43229,-11.69079,-14.76313]}, - {"t":6.86216, "x":1.00917, "y":6.7657, "heading":2.38549, "vx":0.94737, "vy":-0.3467, "omega":0.70084, "ax":2.3468, "ay":-0.85884, "alpha":0.57093, "fx":[39.9314,41.88007,40.01416,37.84824], "fy":[-16.91555,-14.45686,-12.28133,-14.78091]}, - {"t":6.90253, "x":1.04932, "y":6.751, "heading":2.41378, "vx":1.0421, "vy":-0.38137, "omega":0.72389, "ax":2.34675, "ay":-0.85882, "alpha":0.44631, "fx":[39.92919,41.51165,39.90992,38.31942], "fy":[-16.41004,-14.37351,-12.84011,-14.80965]}, - {"t":6.9429, "x":1.0933, "y":6.73491, "heading":2.44301, "vx":1.13683, "vy":-0.41604, "omega":0.74191, "ax":2.34669, "ay":-0.8588, "alpha":0.3118, "fx":[40.01592,40.93743,39.92796,38.78471], "fy":[-15.882,-14.45721,-13.31751,-14.77509]}, - {"t":6.98326, "x":1.1411, "y":6.71742, "heading":2.47295, "vx":1.23155, "vy":-0.4507, "omega":0.75449, "ax":2.34662, "ay":-0.85878, "alpha":0.21651, "fx":[39.962,40.68207,39.86642,39.15084], "fy":[-15.49036,-14.40608,-13.76511,-14.76857]}, - {"t":7.02363, "x":1.19273, "y":6.69852, "heading":2.50341, "vx":1.32628, "vy":-0.48537, "omega":0.76323, "ax":2.34654, "ay":-0.85875, "alpha":0.1032, "fx":[40.01435,40.17142,39.93275,39.53742], "fy":[-15.05715,-14.53672,-14.14207,-14.69223]}, - {"t":7.06399, "x":1.24817, "y":6.67823, "heading":2.53422, "vx":1.421, "vy":-0.52003, "omega":0.7674, "ax":2.34645, "ay":-0.85871, "alpha":0.03414, "fx":[39.91933,40.02198,39.90098,39.80745], "fy":[-14.77039,-14.50055,-14.49095,-14.66404]}, - {"t":7.10436, "x":1.30744, "y":6.65654, "heading":2.56519, "vx":1.51571, "vy":-0.55469, "omega":0.76878, "ax":2.34634, "ay":-0.85868, "alpha":-0.06084, "fx":[39.94989,39.56578,40.00414,40.12268], "fy":[-14.4221,-14.67046,-14.77401,-14.55675]}, - {"t":7.14473, "x":1.37054, "y":6.63345, "heading":2.59623, "vx":1.61043, "vy":-0.58936, "omega":0.76632, "ax":2.34622, "ay":-0.85863, "alpha":-0.10503, "fx":[39.8245,39.52141,39.98707,40.30095], "fy":[-14.23664,-14.62557,-15.03428,-14.52374]}, - {"t":7.18509, "x":1.43746, "y":6.60896, "heading":2.62716, "vx":1.70513, "vy":-0.62401, "omega":0.76208, "ax":2.34607, "ay":-0.85858, "alpha":-0.18375, "fx":[39.84844,39.10878,40.11609,40.55035], "fy":[-13.96539,-14.83051,-15.2246,-14.39601]}, - {"t":7.22546, "x":1.5082, "y":6.58307, "heading":2.65792, "vx":1.79983, "vy":-0.65867, "omega":0.75466, "ax":2.34588, "ay":-0.85851, "alpha":-0.2029, "fx":[39.70367,39.17507,40.09637,40.636], "fy":[-13.87694,-14.76379,-15.39877,-14.37249]}, - {"t":7.26582, "x":1.58276, "y":6.55579, "heading":2.68838, "vx":1.89453, "vy":-0.69333, "omega":0.74647, "ax":2.34565, "ay":-0.85843, "alpha":-0.26589, "fx":[39.73875,38.79534,40.23961,40.82172], "fy":[-13.68284,-14.98422,-15.49826,-14.241]}, - {"t":7.30619, "x":1.66115, "y":6.5271, "heading":2.71852, "vx":1.98921, "vy":-0.72798, "omega":0.73574, "ax":2.34535, "ay":-0.85832, "alpha":-0.25772, "fx":[39.58489,38.98555,40.19629,40.80849], "fy":[-13.69432,-14.86903,-15.58893,-14.2468]}, - {"t":7.34656, "x":1.74335, "y":6.49702, "heading":2.74821, "vx":2.08388, "vy":-0.76262, "omega":0.72534, "ax":2.34496, "ay":-0.85818, "alpha":-0.30413, "fx":[39.65327,38.62691,40.34038,40.92778], "fy":[-13.5778,-15.09356,-15.5907,-14.12725]}, - {"t":7.38692, "x":1.82938, "y":6.46553, "heading":2.77749, "vx":2.17854, "vy":-0.79727, "omega":0.71306, "ax":2.34441, "ay":-0.85798, "alpha":-0.26577, "fx":[39.50037,38.95813,40.24829,40.80386], "fy":[-13.68403,-14.93517,-15.58379,-14.17279]}, - {"t":7.42729, "x":1.91923, "y":6.43265, "heading":2.80628, "vx":2.27317, "vy":-0.8319, "omega":0.70233, "ax":2.34358, "ay":-0.85768, "alpha":-0.2877, "fx":[39.61267,38.65178,40.35796,40.83176], "fy":[-13.66298,-15.10836,-15.48639,-14.09758]}, - {"t":7.46765, "x":2.0129, "y":6.39837, "heading":2.83463, "vx":2.36778, "vy":-0.86652, "omega":0.69072, "ax":2.34219, "ay":-0.85718, "alpha":-0.21726, "fx":[39.48173,39.10234,40.19196,40.58382], "fy":[-13.86161,-14.90195,-15.36208,-14.19602]}, - {"t":7.50802, "x":2.11038, "y":6.3627, "heading":2.86251, "vx":2.46232, "vy":-0.90112, "omega":0.68195, "ax":2.33942, "ay":-0.85618, "alpha":-0.14396, "fx":[39.38207,39.61868,39.95184,40.21886], "fy":[-13.9669,-14.9183,-15.15788,-14.21041]}, - {"t":7.54838, "x":2.21168, "y":6.32562, "heading":2.89004, "vx":2.55675, "vy":-0.93568, "omega":0.67614, "ax":2.33114, "ay":-0.85308, "alpha":-0.0904, "fx":[39.46778,39.3417,39.82763,39.97118], "fy":[-14.23936,-14.56339,-14.87456,-14.36497]}, - {"t":7.58875, "x":2.31679, "y":6.28716, "heading":2.91733, "vx":2.65085, "vy":-0.97012, "omega":0.67249, "ax":0.00082, "ay":0.0004, "alpha":-0.00099, "fx":[0.02191,-0.00278,0.01859,0.01783], "fy":[0.00655,0.00701,0.00699,0.00653]}, - {"t":7.62912, "x":2.42379, "y":6.248, "heading":2.94447, "vx":2.65088, "vy":-0.9701, "omega":0.67245, "ax":-2.33121, "ay":0.85289, "alpha":0.08956, "fx":[-39.4517,-39.354,-39.84545,-39.9617], "fy":[14.24932,14.56057,14.87195,14.348]}, - {"t":7.66948, "x":2.5289, "y":6.20954, "heading":2.97162, "vx":2.55678, "vy":-0.93567, "omega":0.67606, "ax":-2.33945, "ay":0.8561, "alpha":0.14814, "fx":[-39.32633,-39.63235,-40.01946,-40.1952], "fy":[14.00626,14.9828,15.11526,14.14405]}, - {"t":7.70985, "x":2.6302, "y":6.17246, "heading":2.99891, "vx":2.46235, "vy":-0.90111, "omega":0.68204, "ax":-2.34221, "ay":0.85713, "alpha":0.21714, "fx":[-39.36244,-39.16949,-40.31085,-40.51841], "fy":[13.93629,15.01198,15.29472,14.07499]}, - {"t":7.75021, "x":2.72769, "y":6.13679, "heading":3.02644, "vx":2.3678, "vy":-0.86652, "omega":0.69081, "ax":-2.34359, "ay":0.85764, "alpha":0.28625, "fx":[-39.42563,-38.75608,-40.53765,-40.73571], "fy":[13.78521,15.30129,15.36273,13.90362]}, - {"t":7.79058, "x":2.82136, "y":6.10251, "heading":3.05433, "vx":2.2732, "vy":-0.8319, "omega":0.70236, "ax":-2.34442, "ay":0.85795, "alpha":0.26574, "fx":[-39.25533,-39.09253,-40.49169,-40.67183], "fy":[13.83909,15.17991,15.43366,13.92111]}, - {"t":7.83095, "x":2.91121, "y":6.06963, "heading":3.08268, "vx":2.17857, "vy":-0.79726, "omega":0.71309, "ax":-2.34497, "ay":0.85815, "alpha":0.30262, "fx":[-39.35128,-38.79226,-40.63357,-40.77184], "fy":[13.77815,15.40776,15.38905,13.81273]}, - {"t":7.87131, "x":2.99724, "y":6.03814, "heading":3.11146, "vx":2.08391, "vy":-0.76262, "omega":0.72531, "ax":-2.34536, "ay":0.8583, "alpha":0.25741, "fx":[-39.24918,-39.16803,-40.52975,-40.6288], "fy":[13.90873,15.20927,15.3789,13.90074]}, - {"t":7.91168, "x":3.07944, "y":6.00806, "heading":3.14074, "vx":1.98924, "vy":-0.72798, "omega":0.7357, "ax":-2.34566, "ay":0.85841, "alpha":0.26621, "fx":[-39.38965,-38.96529,-40.59497,-40.64597], "fy":[13.91994,15.35911,15.25871,13.86733]}, - {"t":7.95204, "x":3.15783, "y":5.97937, "heading":-3.11275, "vx":1.89455, "vy":-0.69333, "omega":0.74644, "ax":-2.34589, "ay":0.85849, "alpha":0.20311, "fx":[-39.35979,-39.3601,-40.43847,-40.45315], "fy":[14.09333,15.1175,15.18386,14.01621]}, - {"t":7.99241, "x":3.23239, "y":5.95209, "heading":-3.08262, "vx":1.79986, "vy":-0.65867, "omega":0.75464, "ax":-2.34607, "ay":0.85856, "alpha":0.18341, "fx":[-39.54676,-39.25896,-40.4172,-40.40111], "fy":[14.1666,15.15365,15.02194,14.07336]}, - {"t":8.03278, "x":3.30314, "y":5.9262, "heading":-3.05216, "vx":1.70516, "vy":-0.62402, "omega":0.76204, "ax":-2.34622, "ay":0.85862, "alpha":0.1052, "fx":[-39.5984,-39.63946,-40.21256,-40.18384], "fy":[14.36863,14.85557,14.90451,14.29063]}, - {"t":8.07314, "x":3.37005, "y":5.90171, "heading":-3.0214, "vx":1.61045, "vy":-0.58936, "omega":0.76629, "ax":-2.34635, "ay":0.85866, "alpha":0.06002, "fx":[-39.84588,-39.60907,-40.10424,-40.0836], "fy":[14.48199,14.78654,14.71355,14.44042]}, - {"t":8.11351, "x":3.43315, "y":5.87862, "heading":-2.99046, "vx":1.51574, "vy":-0.5547, "omega":0.76871, "ax":-2.34645, "ay":0.8587, "alpha":-0.03334, "fx":[-39.9805,-39.97954,-39.83986,-39.8501], "fy":[14.69564,14.434,14.565,14.73054]}, - {"t":8.15387, "x":3.49242, "y":5.85693, "heading":-2.95943, "vx":1.42102, "vy":-0.52004, "omega":0.76737, "ax":-2.34654, "ay":0.85874, "alpha":-0.10488, "fx":[-40.29889,-40.00641,-39.6361,-39.7148], "fy":[14.83742,14.24221,14.36249,14.98535]}, - {"t":8.19424, "x":3.54787, "y":5.83663, "heading":-2.92846, "vx":1.3263, "vy":-0.48537, "omega":0.76313, "ax":-2.34662, "ay":0.85877, "alpha":-0.21549, "fx":[-40.52469,-40.36078,-39.30125,-39.47484], "fy":[15.05417,13.81526,14.19806,15.36197]}, - {"t":8.23461, "x":3.5995, "y":5.81774, "heading":-2.89765, "vx":1.23158, "vy":-0.45071, "omega":0.75444, "ax":-2.34669, "ay":0.85879, "alpha":-0.31387, "fx":[-40.93069,-40.42282,-38.99397,-39.31877], "fy":[15.20788,13.50009,13.9929,15.73033]}, - {"t":8.27497, "x":3.6473, "y":5.80025, "heading":-2.8672, "vx":1.13685, "vy":-0.41604, "omega":0.74177, "ax":-2.34675, "ay":0.85881, "alpha":-0.44514, "fx":[-41.2543,-40.76646,-38.57222,-39.07741], "fy":[15.41905,12.98211,13.82371,16.20787]}, - {"t":8.31534, "x":3.69128, "y":5.78415, "heading":-2.83726, "vx":1.04212, "vy":-0.38137, "omega":0.7238, "ax":-2.34681, "ay":0.85883, "alpha":-0.57306, "fx":[-41.76312,-40.852,-38.14922,-38.90974], "fy":[15.57289,12.53228,13.62517,16.70377]}, - {"t":8.3557, "x":3.73143, "y":5.76946, "heading":-2.80804, "vx":0.94739, "vy":-0.34671, "omega":0.70067, "ax":-2.34686, "ay":0.85885, "alpha":-0.72899, "fx":[-42.19748,-41.18421,-37.62193,-38.67374], "fy":[15.76982,11.90839,13.45953,17.29758]}, - {"t":8.39607, "x":3.76776, "y":5.75616, "heading":-2.77976, "vx":0.85266, "vy":-0.31204, "omega":0.67124, "ax":-2.3469, "ay":0.85887, "alpha":-0.89158, "fx":[-42.82807,-41.28885,-37.06155,-38.50185], "fy":[15.91676,11.30323,13.27595,17.94048]}, - {"t":8.43643, "x":3.80027, "y":5.74427, "heading":-2.75266, "vx":0.75792, "vy":-0.27737, "omega":0.63525, "ax":-2.34694, "ay":0.85888, "alpha":-1.07797, "fx":[-43.38761,-41.61037,-36.4118,-38.27323], "fy":[16.09765,10.54826,13.11814,18.67337]}, - {"t":8.4768, "x":3.82895, "y":5.73377, "heading":-2.72702, "vx":0.66319, "vy":-0.2427, "omega":0.59174, "ax":-2.34697, "ay":0.8589, "alpha":-1.28102, "fx":[-44.1595,-41.7333,-35.69375,-38.09889], "fy":[16.2336,9.76845,12.95198,19.48429]}, - {"t":8.51717, "x":3.85381, "y":5.72467, "heading":-2.70314, "vx":0.56845, "vy":-0.20803, "omega":0.54003, "ax":-2.34701, "ay":0.85891, "alpha":-1.50575, "fx":[-44.86568,-42.05294,-34.89338,-37.87566], "fy":[16.4015,8.85528,12.79909,20.38328]}, - {"t":8.55753, "x":3.87484, "y":5.71698, "heading":-2.68134, "vx":0.47371, "vy":-0.17336, "omega":0.47925, "ax":-2.34704, "ay":0.85892, "alpha":-1.75778, "fx":[-45.80648,-42.20196,-33.9888,-37.69246], "fy":[16.53232,7.87116,12.64582,21.39061]}, - {"t":8.5979, "x":3.89205, "y":5.71068, "heading":-2.66199, "vx":0.37897, "vy":-0.13869, "omega":0.40829, "ax":-2.34706, "ay":0.85893, "alpha":-2.03064, "fx":[-46.6815,-42.54157,-33.0054,-37.46312], "fy":[16.70193,6.76538,12.48386,22.48943]}, - {"t":8.63826, "x":3.90544, "y":5.70578, "heading":-2.64551, "vx":0.28423, "vy":-0.10402, "omega":0.32632, "ax":-2.34709, "ay":0.85894, "alpha":-2.34284, "fx":[-47.82135,-42.74419,-31.87859,-37.24918], "fy":[16.85074,5.53887,12.32116,23.73047]}, - {"t":8.67863, "x":3.915, "y":5.70228, "heading":-2.63234, "vx":0.18949, "vy":-0.06934, "omega":0.23175, "ax":-2.34711, "ay":0.85895, "alpha":-2.67647, "fx":[-48.8944,-43.14417,-30.67066,-36.98569], "fy":[17.05844,4.19708,12.11651,25.0698]}, - {"t":8.719, "x":3.92074, "y":5.70018, "heading":-2.62298, "vx":0.09474, "vy":-0.03467, "omega":0.12371, "ax":-2.34714, "ay":0.85896, "alpha":-3.0648, "fx":[-50.27082,-43.54191,-29.26488,-36.6188], "fy":[17.23385,2.71563,11.8905,26.60241]}, - {"t":8.75936, "x":3.92265, "y":5.69948, "heading":-2.61799, "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,76,111,170] + {"t":0.0, "x":7.21552, "y":5.43911, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-2.47906, "ay":0.31392, "alpha":0.69785, "fx":[-40.47224,-40.4024,-43.86325,-43.93431], "fy":[3.34496,7.42884,7.28223,3.30288]}, + {"t":0.04452, "x":7.21306, "y":5.43942, "heading":3.14159, "vx":-0.11037, "vy":0.01398, "omega":0.03107, "ax":-2.4796, "ay":0.31399, "alpha":0.60075, "fx":[-40.71782,-40.65715,-43.63625,-43.69792], "fy":[3.62592,7.13366,7.01897,3.58508]}, + {"t":0.08904, "x":7.20569, "y":5.44035, "heading":-3.14021, "vx":-0.22077, "vy":0.02796, "omega":0.05782, "ax":-2.47957, "ay":0.31399, "alpha":0.51391, "fx":[-40.91983,-40.87303,-43.44425,-43.47015], "fy":[3.88968,6.85455,6.78438,3.8348]}, + {"t":0.13357, "x":7.1934, "y":5.44191, "heading":-3.13764, "vx":-0.33116, "vy":0.04194, "omega":0.0807, "ax":-2.47954, "ay":0.31399, "alpha":0.442, "fx":[-41.09987,-41.06354,-43.25266,-43.28912], "fy":[4.0845,6.66903,6.56917,4.04048]}, + {"t":0.17809, "x":7.1762, "y":5.44409, "heading":-3.13404, "vx":-0.44156, "vy":0.05591, "omega":0.10038, "ax":-2.47951, "ay":0.31398, "alpha":0.3726, "fx":[-41.25858,-41.23627,-43.10523,-43.10283], "fy":[4.30025,6.44351,6.38184,4.23734]}, + {"t":0.22261, "x":7.15408, "y":5.44689, "heading":-3.12957, "vx":-0.55195, "vy":0.06989, "omega":0.11696, "ax":-2.47947, "ay":0.31398, "alpha":0.31672, "fx":[-41.39949,-41.3857,-42.95089,-42.96431], "fy":[4.44726,6.30528,6.21137,4.39875]}, + {"t":0.26713, "x":7.12705, "y":5.45031, "heading":-3.12437, "vx":-0.66234, "vy":0.08387, "omega":0.13107, "ax":-2.47943, "ay":0.31397, "alpha":0.26061, "fx":[-41.5264,-41.5237,-42.83651,-42.81096], "fy":[4.62679,6.11826,6.06165,4.55565]}, + {"t":0.31165, "x":7.09511, "y":5.45436, "heading":-3.11853, "vx":-0.77273, "vy":0.09785, "omega":0.14267, "ax":-2.47938, "ay":0.31397, "alpha":0.21748, "fx":[-41.63784,-41.63967,-42.70973,-42.70717], "fy":[4.73251,6.01737,5.92808,4.68405]}, + {"t":0.35618, "x":7.05825, "y":5.45902, "heading":-3.11218, "vx":-0.88312, "vy":0.11183, "omega":0.15235, "ax":-2.47933, "ay":0.31396, "alpha":0.17164, "fx":[-41.74098,-41.75004,-42.62114,-42.57869], "fy":[4.88319,5.85842,5.80917,4.81086]}, + {"t":0.4007, "x":7.01647, "y":5.46431, "heading":-3.1054, "vx":-0.9935, "vy":0.12581, "omega":0.15999, "ax":-2.47927, "ay":0.31396, "alpha":0.13885, "fx":[-41.82874,-41.83805,-42.51516,-42.50484], "fy":[4.95479,5.78733,5.70599,4.9131]}, + {"t":0.44522, "x":6.96978, "y":5.47023, "heading":-3.09827, "vx":-1.10389, "vy":0.13979, "omega":0.16618, "ax":-2.4792, "ay":0.31395, "alpha":0.10105, "fx":[-41.9129,-41.92595,-42.44761,-42.39568], "fy":[5.08561,5.64909,5.61123,5.01474]}, + {"t":0.48974, "x":6.91818, "y":5.47676, "heading":-3.09087, "vx":-1.21426, "vy":0.15376, "omega":0.17067, "ax":-2.47912, "ay":0.31394, "alpha":0.07714, "fx":[-41.981,-41.99035,-42.35799,-42.34739], "fy":[5.12532,5.60574,5.5335,5.09554]}, + {"t":0.53426, "x":6.86166, "y":5.48392, "heading":-3.08328, "vx":-1.32464, "vy":0.16774, "omega":0.17411, "ax":-2.47903, "ay":0.31393, "alpha":0.04568, "fx":[-42.04986,-42.06027,-42.30898,-42.25129], "fy":[5.24131,5.48211,5.4593,5.17668]}, + {"t":0.57879, "x":6.80022, "y":5.4917, "heading":-3.07552, "vx":-1.43501, "vy":0.18172, "omega":0.17614, "ax":-2.47892, "ay":0.31392, "alpha":0.02974, "fx":[-42.09965,-42.10328,-42.23253,-42.2274], "fy":[5.25238,5.46489,5.40312,5.23817]}, + {"t":0.62331, "x":6.73388, "y":5.5001, "heading":-3.06768, "vx":-1.54538, "vy":0.19569, "omega":0.17747, "ax":-2.47879, "ay":0.3139, "alpha":0.00332, "fx":[-42.15497,-42.15832,-42.20083,-42.1396], "fy":[5.3614,5.3509,5.34521,5.30008]}, + {"t":0.66783, "x":6.66262, "y":5.50912, "heading":-3.05978, "vx":-1.65574, "vy":0.20967, "omega":0.17761, "ax":-2.47862, "ay":0.31389, "alpha":-0.00453, "fx":[-42.18649,-42.18081,-42.13566,-42.13947], "fy":[5.33989,5.36549,5.30814,5.3429]}, + {"t":0.71235, "x":6.58644, "y":5.51877, "heading":-3.05187, "vx":-1.76609, "vy":0.22364, "omega":0.17741, "ax":-2.47841, "ay":0.31386, "alpha":-0.02632, "fx":[-42.22715,-42.22128,-42.11957,-42.06014], "fy":[5.44188,5.25637,5.26736,5.38922]}, + {"t":0.75687, "x":6.50536, "y":5.52904, "heading":-3.04397, "vx":-1.87644, "vy":0.23762, "omega":0.17624, "ax":-2.47813, "ay":0.31384, "alpha":-0.02641, "fx":[-42.23965,-42.22408,-42.0661,-42.0796], "fy":[5.39226,5.30303,5.24717,5.41056]}, + {"t":0.8014, "x":6.41936, "y":5.53993, "heading":-3.03613, "vx":-1.98677, "vy":0.25159, "omega":0.17506, "ax":-2.47776, "ay":0.3138, "alpha":-0.04489, "fx":[-42.26568,-42.25165,-42.06793,-41.99866], "fy":[5.50528,5.19323,5.21724,5.43469]}, + {"t":0.84592, "x":6.32845, "y":5.55144, "heading":-3.02833, "vx":-2.09708, "vy":0.26556, "omega":0.17307, "ax":-2.47722, "ay":0.31374, "alpha":-0.03538, "fx":[-42.25178,-42.22885,-42.02294,-42.04358], "fy":[5.40986,5.27908,5.21938,5.43788]}, + {"t":0.89044, "x":6.23263, "y":5.56357, "heading":-3.02063, "vx":-2.20737, "vy":0.27953, "omega":0.17149, "ax":-2.47637, "ay":0.31366, "alpha":-0.04709, "fx":[-42.24117,-42.22334,-42.02584,-41.99888], "fy":[5.52714,5.17378,5.20296,5.43691]}, + {"t":0.93496, "x":6.1319, "y":5.57633, "heading":-3.01299, "vx":-2.31763, "vy":0.29349, "omega":0.16939, "ax":-2.47484, "ay":0.3135, "alpha":-0.02938, "fx":[-42.1981,-42.175,-41.99559,-42.0165], "fy":[5.38786,5.30259,5.22441,5.41512]}, + {"t":0.97948, "x":6.02626, "y":5.58971, "heading":-3.00545, "vx":-2.42781, "vy":0.30745, "omega":0.16809, "ax":-2.47127, "ay":0.31316, "alpha":0.00614, "fx":[-41.89121,-41.87692,-41.75184,-42.62248], "fy":[5.46423,5.22621,5.24635,5.37031]}, + {"t":1.02401, "x":5.91572, "y":5.6037, "heading":-2.99797, "vx":-2.53784, "vy":0.32139, "omega":0.16836, "ax":-2.45386, "ay":0.30887, "alpha":0.0041, "fx":[-41.76563,-41.75734,-41.7144,-41.7206], "fy":[5.21376,5.40251,5.17897,5.22004]}, + {"t":1.06853, "x":5.8003, "y":5.61832, "heading":-2.99047, "vx":-2.64709, "vy":0.33515, "omega":0.16854, "ax":2.45318, "ay":-0.31055, "alpha":-0.04473, "fx":[41.32644,41.31652,41.23112,43.03726], "fy":[-5.50736,-5.1719,-5.18693,-5.26351]}, + {"t":1.11305, "x":5.68487, "y":5.63293, "heading":-2.98297, "vx":-2.53787, "vy":0.32132, "omega":0.16655, "ax":2.47128, "ay":-0.31264, "alpha":0.02762, "fx":[42.1293,42.10502,41.94284,41.96623], "fy":[-5.37013,-5.27971,-5.21993,-5.40171]}, + {"t":1.15757, "x":5.57433, "y":5.64693, "heading":-2.97555, "vx":-2.42784, "vy":0.3074, "omega":0.16778, "ax":2.47485, "ay":-0.31326, "alpha":0.00787, "fx":[41.96516,41.93535,41.7207,42.76475], "fy":[-5.53661,-5.15942,-5.2027,-5.41505]}, + {"t":1.20209, "x":5.46869, "y":5.66031, "heading":-2.96808, "vx":-2.31765, "vy":0.29345, "omega":0.16813, "ax":2.47638, "ay":-0.31349, "alpha":0.04012, "fx":[42.25748,42.21825,41.98887,42.02542], "fy":[-5.40823,-5.26402,-5.19932,-5.45783]}, + {"t":1.24662, "x":5.36796, "y":5.67306, "heading":-2.9606, "vx":-2.2074, "vy":0.2795, "omega":0.16992, "ax":2.47723, "ay":-0.31363, "alpha":0.05216, "fx":[42.27977,42.24526,42.01914,42.00353], "fy":[-5.51399,-5.15173,-5.20181,-5.47117]}, + {"t":1.29114, "x":5.27214, "y":5.68519, "heading":-2.95303, "vx":-2.09711, "vy":0.26553, "omega":0.17224, "ax":2.47777, "ay":-0.31371, "alpha":0.0365, "fx":[42.26915,42.23063,42.02426,42.0604], "fy":[-5.40439,-5.2653,-5.22303,-5.4515]}, + {"t":1.33566, "x":5.18123, "y":5.6967, "heading":-2.94536, "vx":-1.9868, "vy":0.25157, "omega":0.17386, "ax":2.47814, "ay":-0.31376, "alpha":0.04028, "fx":[42.26722,42.2392,42.07126,42.03219], "fy":[-5.4765,-5.19683,-5.23675,-5.43787]}, + {"t":1.38018, "x":5.09523, "y":5.70759, "heading":-2.93762, "vx":-1.87646, "vy":0.2376, "omega":0.17566, "ax":2.47842, "ay":-0.3138, "alpha":0.02037, "fx":[42.23001,42.20506,42.08513,42.10833], "fy":[-5.37244,-5.30453,-5.27292,-5.40074]}, + {"t":1.4247, "x":5.01414, "y":5.71786, "heading":-2.9298, "vx":-1.76612, "vy":0.22363, "omega":0.17656, "ax":2.47862, "ay":-0.31383, "alpha":0.01506, "fx":[42.20282,42.1949,42.1447,42.10037], "fy":[-5.41356,-5.28345,-5.29544,-5.3602]}, + {"t":1.46923, "x":4.93797, "y":5.72751, "heading":-2.92194, "vx":-1.65577, "vy":0.20965, "omega":0.17724, "ax":2.47879, "ay":-0.31385, "alpha":-0.00901, "fx":[42.14993,42.15255,42.17791,42.17364], "fy":[-5.31054,-5.40334,-5.33944,-5.30101]}, + {"t":1.51375, "x":4.8667, "y":5.73653, "heading":-2.91405, "vx":-1.54541, "vy":0.19568, "omega":0.17683, "ax":2.47892, "ay":-0.31387, "alpha":-0.02186, "fx":[42.10118,42.12871,42.2535,42.17976], "fy":[-5.32269,-5.41414,-5.37755,-5.24129]}, + {"t":1.55827, "x":4.80036, "y":5.74493, "heading":-2.90618, "vx":-1.43504, "vy":0.18171, "omega":0.17586, "ax":2.47903, "ay":-0.31389, "alpha":-0.05027, "fx":[42.02973,42.07758,42.30626,42.2571], "fy":[-5.22749,-5.54325,-5.42843,-5.15758]}, + {"t":1.60279, "x":4.73892, "y":5.75271, "heading":-2.89835, "vx":-1.32467, "vy":0.16773, "omega":0.17362, "ax":2.47913, "ay":-0.3139, "alpha":-0.07085, "fx":[41.95788,42.04057,42.39996,42.27858], "fy":[-5.2195,-5.58788,-5.47744,-5.07283]}, + {"t":1.64731, "x":4.6824, "y":5.75986, "heading":-2.89062, "vx":-1.21429, "vy":0.15375, "omega":0.17047, "ax":2.47921, "ay":-0.31392, "alpha":-0.10494, "fx":[41.86623,41.98071,42.47537,42.36007], "fy":[-5.12125,-5.73528,-5.53795,-4.96396]}, + {"t":1.69184, "x":4.6308, "y":5.7664, "heading":-2.88303, "vx":-1.10391, "vy":0.13978, "omega":0.1658, "ax":2.47927, "ay":-0.31393, "alpha":-0.13377, "fx":[41.76856,41.93046,42.59079,42.39721], "fy":[-5.09458,-5.81399,-5.59927,-4.85128]}, + {"t":1.73636, "x":4.58411, "y":5.77231, "heading":-2.87565, "vx":-0.99353, "vy":0.1258, "omega":0.15984, "ax":2.47933, "ay":-0.31393, "alpha":-0.17504, "fx":[41.6528,41.86043,42.69266,42.48517], "fy":[-4.98975,-5.98749,-5.6705,-4.71198]}, + {"t":1.78088, "x":4.54233, "y":5.7776, "heading":-2.86853, "vx":-0.88315, "vy":0.11183, "omega":0.15205, "ax":2.47939, "ay":-0.31394, "alpha":-0.21318, "fx":[41.52491,41.79575,42.83499,42.53896], "fy":[-4.94659,-6.1023,-5.7456,-4.56572]}, + {"t":1.8254, "x":4.50547, "y":5.78227, "heading":-2.86176, "vx":-0.77276, "vy":0.09785, "omega":0.14256, "ax":2.47943, "ay":-0.31395, "alpha":-0.26377, "fx":[41.3793,41.71286,42.96861,42.637], "fy":[-4.8285,-6.3121,-5.83041,-4.38965]}, + {"t":1.86992, "x":4.47352, "y":5.78631, "heading":-2.85541, "vx":-0.66237, "vy":0.08387, "omega":0.13081, "ax":2.47947, "ay":-0.31395, "alpha":-0.31318, "fx":[41.21496,41.63119,43.14482,42.7096], "fy":[-4.76303,-6.46968,-5.92428,-4.20408]}, + {"t":1.91445, "x":4.44649, "y":5.78974, "heading":-2.84959, "vx":-0.55198, "vy":0.06989, "omega":0.11687, "ax":2.47951, "ay":-0.31396, "alpha":-0.37536, "fx":[41.03133,41.53147,43.31741,42.82287], "fy":[-4.63088,-6.72242,-6.02645,-3.98169]}, + {"t":1.95897, "x":4.42437, "y":5.79254, "heading":-2.84439, "vx":-0.44158, "vy":0.05591, "omega":0.10016, "ax":2.47954, "ay":-0.31396, "alpha":-0.43899, "fx":[40.82157,41.42813,43.53675,42.9189], "fy":[-4.53934,-6.93438,-6.14287,-3.74517]}, + {"t":2.00349, "x":4.40717, "y":5.79472, "heading":-2.83993, "vx":-0.33119, "vy":0.04194, "omega":0.08061, "ax":2.47957, "ay":-0.31397, "alpha":-0.51652, "fx":[40.58946,41.30528,43.75822,43.05446], "fy":[-4.38314,-7.24559,-6.26901,-3.46431]}, + {"t":2.04801, "x":4.39488, "y":5.79627, "heading":-2.83634, "vx":-0.22079, "vy":0.02796, "omega":0.05762, "ax":2.4796, "ay":-0.31397, "alpha":-0.59821, "fx":[40.32194,41.17273,44.03279,43.18183], "fy":[-4.25816,-7.52398,-6.41671,-3.16349]}, + {"t":2.09253, "x":4.38751, "y":5.79721, "heading":-2.83377, "vx":-0.1104, "vy":0.01398, "omega":0.03098, "ax":2.47963, "ay":-0.31398, "alpha":-0.69588, "fx":[40.02751,41.01732,44.31631,43.34987], "fy":[-4.06606,-7.91081,-6.57737,-2.80834]}, + {"t":2.13706, "x":4.38505, "y":5.79752, "heading":-2.83239, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-0.52739, "ay":-1.40344, "alpha":1.05021, "fx":[-5.30146,-7.14065,-12.66038,-10.78072], "fy":[-25.71019,-20.5179,-21.96631,-27.29397]}, + {"t":2.17912, "x":4.38458, "y":5.79627, "heading":-2.83239, "vx":-0.02218, "vy":-0.05904, "omega":0.04418, "ax":-0.52751, "ay":-1.40376, "alpha":0.9225, "fx":[-5.78222,-7.38095,-12.15094,-10.57725], "fy":[-25.5933,-20.83192,-22.23887,-26.84593]}, + {"t":2.22119, "x":4.38318, "y":5.79255, "heading":-2.83054, "vx":-0.04437, "vy":-0.11808, "omega":0.08298, "ax":-0.5275, "ay":-1.40372, "alpha":0.7869, "fx":[-6.22444,-7.61191,-11.73218,-10.32198], "fy":[-25.25277,-21.34419,-22.46516,-26.44571]}, + {"t":2.26325, "x":4.38085, "y":5.78634, "heading":-2.82704, "vx":-0.06656, "vy":-0.17713, "omega":0.11608, "ax":-0.52749, "ay":-1.40369, "alpha":0.68696, "fx":[-6.5904,-7.8001,-11.33226,-10.16677], "fy":[-25.17206,-21.59809,-22.65808,-26.07695]}, + {"t":2.30532, "x":4.37758, "y":5.77765, "heading":-2.82216, "vx":-0.08875, "vy":-0.23618, "omega":0.14498, "ax":-0.52747, "ay":-1.40364, "alpha":0.57541, "fx":[-6.94348,-7.98903,-11.00759,-9.94824], "fy":[-24.85648,-22.0449,-22.8394,-25.76123]}, + {"t":2.34738, "x":4.37338, "y":5.76647, "heading":-2.81606, "vx":-0.11094, "vy":-0.29522, "omega":0.16918, "ax":-0.52745, "ay":-1.40358, "alpha":0.50098, "fx":[-7.22645,-8.13536,-10.68633,-9.83872], "fy":[-24.84315,-22.19698,-22.99209,-25.46586]}, + {"t":2.38945, "x":4.36825, "y":5.75281, "heading":-2.80895, "vx":-0.13313, "vy":-0.35427, "omega":0.19026, "ax":-0.52742, "ay":-1.40351, "alpha":0.40581, "fx":[-7.51694,-8.28923,-10.43022,-9.6486], "fy":[-24.53568,-22.61378,-23.13381,-25.20984]}, + {"t":2.43151, "x":4.36218, "y":5.73667, "heading":-2.80094, "vx":-0.15531, "vy":-0.4133, "omega":0.20733, "ax":-0.52738, "ay":-1.40341, "alpha":0.35217, "fx":[-7.73647,-8.39889,-10.16324,-9.58395], "fy":[-24.59536,-22.67332,-23.2523,-24.96562]}, + {"t":2.47358, "x":4.35518, "y":5.71804, "heading":-2.79222, "vx":-0.1775, "vy":-0.47234, "omega":0.22214, "ax":-0.52733, "ay":-1.40328, "alpha":0.26634, "fx":[-7.98556,-8.52601,-9.958,-9.40964], "fy":[-24.27161,-23.09682,-23.35972,-24.74959]}, + {"t":2.51564, "x":4.34725, "y":5.69693, "heading":-2.78288, "vx":-0.19968, "vy":-0.53137, "omega":0.23335, "ax":-0.52726, "ay":-1.40309, "alpha":0.23118, "fx":[-8.1541,-8.60288,-9.72466,-9.39276], "fy":[-24.42695,-23.05546,-23.44635,-24.53618]}, + {"t":2.55771, "x":4.33838, "y":5.67333, "heading":-2.77306, "vx":-0.22186, "vy":-0.59039, "omega":0.24307, "ax":-0.52715, "ay":-1.4028, "alpha":0.14604, "fx":[-8.38006,-8.71144,-9.55789,-9.21745], "fy":[-24.03887,-23.54691,-23.51897,-24.34009]}, + {"t":2.59977, "x":4.32858, "y":5.64726, "heading":-2.76284, "vx":-0.24403, "vy":-0.6494, "omega":0.24921, "ax":-0.52695, "ay":-1.40227, "alpha":0.13151, "fx":[-8.50088,-8.75357,-9.33475,-9.26405], "fy":[-24.35708,-23.35155,-23.56789,-24.13222]}, + {"t":2.64184, "x":4.31785, "y":5.6187, "heading":-2.75235, "vx":-0.2662, "vy":-0.70838, "omega":0.25475, "ax":-0.52649, "ay":-1.40103, "alpha":0.03223, "fx":[-8.71983,-8.85147,-9.19686,-9.05354], "fy":[-23.78773,-24.03244,-23.58717,-23.91743]}, + {"t":2.6839, "x":4.30619, "y":5.58766, "heading":-2.74164, "vx":-0.28835, "vy":-0.76732, "omega":0.2561, "ax":-0.52421, "ay":-1.39494, "alpha":0.04579, "fx":[-8.77374,-8.82389,-8.92744,-9.14178], "fy":[-24.31609,-23.47034,-23.51194,-23.6118]}, + {"t":2.72597, "x":4.2936, "y":5.55415, "heading":-2.73086, "vx":-0.3104, "vy":-0.826, "omega":0.25803, "ax":0.5241, "ay":1.39466, "alpha":0.02036, "fx":[8.82432,8.8762,9.0078,8.95084], "fy":[23.57146,24.19545,23.50131,23.62277]}, + {"t":2.76803, "x":4.281, "y":5.52064, "heading":-2.72001, "vx":-0.28835, "vy":-0.76733, "omega":0.25889, "ax":0.52648, "ay":1.401, "alpha":-0.09096, "fx":[8.63295,8.80836,9.15779,9.2219], "fy":[24.39115,23.43208,23.58032,23.91902]}, + {"t":2.8101, "x":4.26934, "y":5.4896, "heading":-2.70912, "vx":-0.26621, "vy":-0.7084, "omega":0.25506, "ax":0.52695, "ay":1.40226, "alpha":-0.09232, "fx":[8.53216,8.8037,9.39969,9.1175], "fy":[23.9036,23.76321,23.58456,24.15658]}, + {"t":2.85216, "x":4.25861, "y":5.46104, "heading":-2.69839, "vx":-0.24404, "vy":-0.64941, "omega":0.25118, "ax":0.52715, "ay":1.40279, "alpha":-0.18038, "fx":[8.30723,8.72663,9.55602,9.27685], "fy":[24.34831,23.18204,23.55263,24.36146]}, + {"t":2.89423, "x":4.24881, "y":5.43497, "heading":-2.68783, "vx":-0.22187, "vy":-0.5904, "omega":0.24359, "ax":0.52726, "ay":1.40309, "alpha":-0.20749, "fx":[8.14582,8.69468,9.79528,9.23857], "fy":[24.08497,23.28248,23.51535,24.58189]}, + {"t":2.93629, "x":4.23994, "y":5.41137, "heading":-2.67758, "vx":-0.19969, "vy":-0.53138, "omega":0.23486, "ax":0.52733, "ay":1.40328, "alpha":-0.28977, "fx":[7.90006,8.62075,9.99195,9.36642], "fy":[24.39986,22.81546,23.46175,24.8005]}, + {"t":2.97836, "x":4.23201, "y":5.39026, "heading":-2.6677, "vx":-0.1775, "vy":-0.47235, "omega":0.22267, "ax":0.52738, "ay":1.40341, "alpha":-0.33621, "fx":[7.68314,8.57568,10.26145,9.36225], "fy":[24.24442,22.78542,23.40857,25.04807]}, + {"t":3.02042, "x":4.22501, "y":5.37163, "heading":-2.65833, "vx":-0.15532, "vy":-0.41332, "omega":0.20853, "ax":0.52742, "ay":1.40351, "alpha":-0.42363, "fx":[7.39769,8.49928,10.50958,9.47843], "fy":[24.50181,22.34559,23.34091,25.3047]}, + {"t":3.06249, "x":4.21894, "y":5.35549, "heading":-2.64956, "vx":-0.13313, "vy":-0.35428, "omega":0.19071, "ax":0.52745, "ay":1.40358, "alpha":-0.48963, "fx":[7.11597,8.44195,10.83077,9.49816], "fy":[24.40986,22.21114,23.27553,25.60147]}, + {"t":3.10455, "x":4.21381, "y":5.34183, "heading":-2.64154, "vx":-0.11095, "vy":-0.29524, "omega":0.17011, "ax":0.52747, "ay":1.40364, "alpha":-0.58983, "fx":[6.77068,8.35707,11.14583,9.61475], "fy":[24.64137,21.75154,23.19272,25.91632]}, + {"t":3.14662, "x":4.20961, "y":5.33065, "heading":-2.63438, "vx":-0.08876, "vy":-0.23619, "omega":0.1453, "ax":0.52749, "ay":1.40369, "alpha":-0.6789, "fx":[6.40785,8.2841,11.54066,9.65691], "fy":[24.59895,21.51139,23.11177,26.28303]}, + {"t":3.18868, "x":4.20634, "y":5.32196, "heading":-2.62827, "vx":-0.06657, "vy":-0.17715, "omega":0.11674, "ax":0.5275, "ay":1.40372, "alpha":-0.79914, "fx":[5.97967,8.18297,11.94368,9.7842], "fy":[24.82547,20.99716,23.00766,26.67749]}, + {"t":3.23075, "x":4.20401, "y":5.31575, "heading":-2.62336, "vx":-0.04438, "vy":-0.1181, "omega":0.08313, "ax":0.52751, "ay":1.40376, "alpha":-0.91707, "fx":[5.51288,8.08626,12.43757,9.85465], "fy":[24.83179,20.63693,22.90315,27.13812]}, + {"t":3.27281, "x":4.20261, "y":5.31202, "heading":-2.61986, "vx":-0.02219, "vy":-0.05905, "omega":0.04455, "ax":0.52752, "ay":1.40378, "alpha":-1.05905, "fx":[4.97261,7.9555,12.95374,10.01021], "fy":[25.09757,20.06085,22.7933,27.56016]}, + {"t":3.31488, "x":4.20214, "y":5.31078, "heading":-2.61799, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-1.36712, "ay":0.61594, "alpha":-2.83669, "fx":[-33.13359,-26.53423,-12.93654,-20.41295], "fy":[13.11528,-0.18914,7.82987,21.15158]}, + {"t":3.35655, "x":4.20095, "y":5.31131, "heading":-2.61799, "vx":-0.05696, "vy":0.02566, "omega":-0.1182, "ax":-2.05091, "ay":0.924, "alpha":-2.31037, "fx":[-42.84353,-37.56138,-26.713,-32.42368], "fy":[17.67577,6.81782,13.78603,24.58848]}, + {"t":3.39821, "x":4.1968, "y":5.31319, "heading":-2.62291, "vx":-0.14242, "vy":0.06416, "omega":-0.21446, "ax":-2.05089, "ay":0.92399, "alpha":-2.01667, "fx":[-41.82129,-37.21317,-27.80908,-32.69698], "fy":[17.47271,7.95278,13.95193,23.48991]}, + {"t":3.43988, "x":4.18908, "y":5.31666, "heading":-2.63185, "vx":-0.22787, "vy":0.10266, "omega":-0.29849, "ax":-2.05088, "ay":0.92398, "alpha":-1.73595, "fx":[-40.86823,-36.96125,-28.78047,-32.92944], "fy":[17.2687,9.06437,14.17728,22.35611]}, + {"t":3.48155, "x":4.17781, "y":5.32174, "heading":-2.64429, "vx":-0.31333, "vy":0.14116, "omega":-0.37082, "ax":-2.05086, "ay":0.92397, "alpha":-1.50359, "fx":[-40.03748,-36.70946,-29.66188,-33.12933], "fy":[17.147,9.95938,14.27439,21.48481]}, + {"t":3.52321, "x":4.16297, "y":5.32843, "heading":-2.65974, "vx":-0.39878, "vy":0.17966, "omega":-0.43347, "ax":-2.05084, "ay":0.92395, "alpha":-1.27594, "fx":[-39.26394,-36.52389,-30.43986,-33.30915], "fy":[16.97897,10.87679,14.45153,20.55729]}, + {"t":3.56488, "x":4.14458, "y":5.33671, "heading":-2.6778, "vx":-0.48423, "vy":0.21816, "omega":-0.48664, "ax":-2.05082, "ay":0.92394, "alpha":-1.09175, "fx":[-38.59326,-36.31759,-31.14689,-33.47765], "fy":[16.89266,11.57523,14.52713,19.86853]}, + {"t":3.60655, "x":4.12262, "y":5.34661, "heading":-2.69808, "vx":-0.56969, "vy":0.25666, "omega":-0.53213, "ax":-2.0508, "ay":0.92392, "alpha":-0.9152, "fx":[-37.96526,-36.16752,-31.77169,-33.62938], "fy":[16.76937,12.2853,14.6297,19.17802]}, + {"t":3.64822, "x":4.0971, "y":5.3581, "heading":-2.72025, "vx":-0.65514, "vy":0.29516, "omega":-0.57026, "ax":-2.05077, "ay":0.9239, "alpha":-0.75991, "fx":[-37.43148,-35.97586,-32.33186,-33.79296], "fy":[16.65517,12.87236,14.76461,18.56904]}, + {"t":3.68988, "x":4.06803, "y":5.3712, "heading":-2.74401, "vx":-0.74059, "vy":0.33365, "omega":-0.60193, "ax":-2.05074, "ay":0.92388, "alpha":-0.616, "fx":[-36.92654,-35.83931,-32.82706,-33.93743], "fy":[16.52441,13.46071,14.86432,18.01035]}, + {"t":3.73155, "x":4.03539, "y":5.38591, "heading":-2.76909, "vx":-0.82604, "vy":0.37215, "omega":-0.62759, "ax":-2.05072, "ay":0.92386, "alpha":-0.49188, "fx":[-36.50497,-35.65558,-33.27077,-34.09701], "fy":[16.41173,13.90778,15.0084,17.53042]}, + {"t":3.77322, "x":3.99919, "y":5.40222, "heading":-2.79524, "vx":-0.91148, "vy":0.41064, "omega":-0.64809, "ax":-2.05068, "ay":0.92384, "alpha":-0.37424, "fx":[-36.10223,-35.52578,-33.659,-34.2391], "fy":[16.27033,14.39548,15.10965,17.08121]}, + {"t":3.81488, "x":3.95943, "y":5.42013, "heading":-2.82225, "vx":-0.99693, "vy":0.44914, "omega":-0.66368, "ax":-2.05065, "ay":0.92381, "alpha":-0.27515, "fx":[-35.7752,-35.34557,-34.00661,-34.39627], "fy":[16.15649,14.72686,15.26327,16.70828]}, + {"t":3.85655, "x":3.91611, "y":5.43964, "heading":-2.8499, "vx":-1.08237, "vy":0.48763, "omega":-0.67515, "ax":-2.05061, "ay":0.92378, "alpha":-0.17881, "fx":[-35.45768,-35.22194,-34.3056,-34.53572], "fy":[16.00566,15.13344,15.3637,16.35006]}, + {"t":3.89822, "x":3.86923, "y":5.46076, "heading":-2.87803, "vx":-1.16782, "vy":0.52612, "omega":-0.6826, "ax":-2.05056, "ay":0.92375, "alpha":-0.10024, "fx":[-35.2111,-35.04337,-34.5741,-34.68933], "fy":[15.89336,15.3647,15.52468,16.06791]}, + {"t":3.93989, "x":3.81879, "y":5.48349, "heading":-2.90647, "vx":-1.25326, "vy":0.56461, "omega":-0.68677, "ax":-2.05051, "ay":0.92371, "alpha":-0.02145, "fx":[-34.96519,-34.92994,-34.79703,-34.82235], "fy":[15.73588,15.70855,15.61884,15.78476]}, + {"t":3.98155, "x":3.76479, "y":5.50781, "heading":-2.93509, "vx":-1.3387, "vy":0.6031, "omega":-0.68767, "ax":-2.05045, "ay":0.92367, "alpha":0.03957, "fx":[-34.78759,-34.75499,-34.99936,-34.96865], "fy":[15.63116,15.84889,15.78329,15.58192]}, + {"t":4.02322, "x":3.70723, "y":5.53375, "heading":-2.96374, "vx":-1.42413, "vy":0.64158, "omega":-0.68602, "ax":-2.05039, "ay":0.92362, "alpha":0.10296, "fx":[-34.60203,-34.65713,-35.15684,-35.09023], "fy":[15.47379,16.13839,15.8665,15.36319]}, + {"t":4.06489, "x":3.64611, "y":5.56128, "heading":-2.99233, "vx":-1.50957, "vy":0.68007, "omega":-0.68173, "ax":-2.05031, "ay":0.92356, "alpha":0.14869, "fx":[-34.48281,-34.4927,-35.30235,-35.2232], "fy":[15.38196,16.19999,16.02735,15.22891]}, + {"t":4.10655, "x":3.58143, "y":5.59042, "heading":-3.02073, "vx":-1.595, "vy":0.71855, "omega":-0.67553, "ax":-2.05023, "ay":0.9235, "alpha":0.19909, "fx":[-34.3504,-34.41213,-35.40383,-35.32877], "fy":[15.22765,16.45464,16.09002,15.06139]}, + {"t":4.14822, "x":3.51319, "y":5.62116, "heading":-3.04888, "vx":-1.68042, "vy":0.75703, "omega":-0.66724, "ax":-2.05012, "ay":0.92342, "alpha":0.23009, "fx":[-34.28231,-34.26211,-35.50065,-35.44297], "fy":[15.15927,16.43462,16.24283,14.99186]}, + {"t":4.18989, "x":3.4414, "y":5.65351, "heading":-3.07668, "vx":-1.76585, "vy":0.79551, "omega":-0.65765, "ax":-2.05, "ay":0.92333, "alpha":0.26791, "fx":[-34.19564,-34.20782,-35.55175,-35.52445], "fy":[15.01496,16.66232,16.27653,14.86833]}, + {"t":4.23156, "x":3.36604, "y":5.68745, "heading":-3.10408, "vx":-1.85126, "vy":0.83398, "omega":-0.64649, "ax":-2.04985, "ay":0.92322, "alpha":0.28472, "fx":[-34.17361,-34.07496,-35.60683,-35.61383], "fy":[14.97893,16.56415,16.41331,14.85827]}, + {"t":4.27322, "x":3.28712, "y":5.723, "heading":-3.13102, "vx":-1.93668, "vy":0.87245, "omega":-0.63462, "ax":-2.04966, "ay":0.92307, "alpha":0.31038, "fx":[-34.12732,-34.057,-35.61051,-35.66154], "fy":[14.84753,16.78586,16.40377,14.76774]}, + {"t":4.31489, "x":3.20465, "y":5.76016, "heading":3.12572, "vx":-2.02208, "vy":0.91091, "omega":-0.62169, "ax":-2.04941, "ay":0.9229, "alpha":0.22682, "fx":[-34.25642,-34.69624,-35.19986,-35.28707], "fy":[14.86066,16.51039,16.55706,14.86472]}, + {"t":4.35656, "x":3.11861, "y":5.79891, "heading":3.09982, "vx":-2.10747, "vy":0.94936, "omega":-0.61224, "ax":-2.04909, "ay":0.92265, "alpha":0.31698, "fx":[-34.14913,-33.99537,-35.57111,-35.70203], "fy":[14.76818,16.79517,16.43626,14.77618]}, + {"t":4.39822, "x":3.02902, "y":5.83927, "heading":3.07431, "vx":-2.19285, "vy":0.98781, "omega":-0.59903, "ax":-2.04863, "ay":0.92232, "alpha":0.24716, "fx":[-33.99678,-34.59435,-35.31911,-35.47601], "fy":[14.88107,16.42691,16.51785,14.92744]}, + {"t":4.43989, "x":2.93588, "y":5.88123, "heading":3.04935, "vx":-2.27821, "vy":1.02624, "omega":-0.58873, "ax":-2.04795, "ay":0.92179, "alpha":0.27426, "fx":[-34.26296,-34.06525,-35.41746,-35.59429], "fy":[14.83442,16.63283,16.33425,14.91597]}, + {"t":4.48156, "x":2.83917, "y":5.92479, "heading":3.02482, "vx":-2.36354, "vy":1.06465, "omega":-0.57731, "ax":-2.04679, "ay":0.92095, "alpha":0.17133, "fx":[-34.13195,-34.81317,-35.07304,-35.2432], "fy":[15.02469,16.18893,16.32422,15.12258]}, + {"t":4.52322, "x":2.73891, "y":5.96995, "heading":3.00076, "vx":-2.44883, "vy":1.10302, "omega":-0.57017, "ax":-2.04463, "ay":0.91891, "alpha":0.16576, "fx":[-34.44776,-34.30108,-35.11083,-35.25453], "fy":[15.09711,16.19143,16.04203,15.1909]}, + {"t":4.56489, "x":2.6351, "y":6.01671, "heading":2.977, "vx":-2.53402, "vy":1.14131, "omega":-0.56326, "ax":-2.03719, "ay":0.91459, "alpha":-0.00332, "fx":[-34.11923,-35.53456,-34.43891,-34.51565], "fy":[15.32137,15.71922,15.80714,15.38003]}, + {"t":4.60656, "x":2.52775, "y":6.06506, "heading":2.95353, "vx":-2.61891, "vy":1.17942, "omega":-0.5634, "ax":1.37804, "ay":-0.58903, "alpha":-0.04708, "fx":[23.3796,23.3414,23.50398,23.53516], "fy":[-9.81092,-10.44498,-9.98378,-9.8373]}, + {"t":4.64823, "x":2.41982, "y":6.11369, "heading":2.93006, "vx":-2.56149, "vy":1.15487, "omega":-0.56536, "ax":2.0349, "ay":-0.92133, "alpha":-0.08774, "fx":[34.25819,34.65172,34.69937,34.84329], "fy":[-15.28745,-15.93954,-16.05264,-15.40662]}, + {"t":4.68989, "x":2.31486, "y":6.16101, "heading":2.9065, "vx":-2.4767, "vy":1.11648, "omega":-0.56902, "ax":2.04313, "ay":-0.92264, "alpha":-0.19744, "fx":[34.42117,34.1465,35.09329,35.35145], "fy":[-15.00411,-16.37673,-16.18702,-15.20778]}, + {"t":4.73156, "x":2.21344, "y":6.20673, "heading":2.88279, "vx":-2.39157, "vy":1.07804, "omega":-0.57724, "ax":2.04587, "ay":-0.92318, "alpha":-0.18423, "fx":[34.19178,34.6718,34.99262,35.34248], "fy":[-14.93556,-16.16066,-16.49108,-15.22475]}, + {"t":4.77323, "x":2.11556, "y":6.25085, "heading":2.85874, "vx":-2.30632, "vy":1.03957, "omega":-0.58492, "ax":2.04723, "ay":-0.92348, "alpha":-0.27745, "fx":[34.39439,33.93277,35.2638,35.70028], "fy":[-14.72468,-16.5419,-16.48424,-15.08184]}, + {"t":4.81489, "x":2.02124, "y":6.29336, "heading":2.83437, "vx":-2.22102, "vy":1.00109, "omega":-0.59648, "ax":2.04806, "ay":-0.92364, "alpha":-0.24195, "fx":[34.22981,34.40796,35.10706,35.60299], "fy":[-14.75032,-16.22889,-16.69122,-15.17265]}, + {"t":4.85656, "x":1.93048, "y":6.33427, "heading":2.80952, "vx":-2.13568, "vy":0.96261, "omega":-0.60656, "ax":2.04861, "ay":-0.92376, "alpha":-0.29667, "fx":[34.42829,33.85966,35.27555,35.82148], "fy":[-14.64788,-16.47011,-16.62224,-15.11118]}, + {"t":4.89823, "x":1.84327, "y":6.37358, "heading":2.78424, "vx":-2.05032, "vy":0.92412, "omega":-0.61892, "ax":2.049, "ay":-0.92383, "alpha":-0.29059, "fx":[34.49437,33.81457,35.26963,35.83337], "fy":[-14.70381,-16.2413,-16.70794,-15.20348]}, + {"t":4.9399, "x":1.75961, "y":6.41128, "heading":2.75845, "vx":-1.96495, "vy":0.88563, "omega":-0.63103, "ax":2.0493, "ay":-0.9239, "alpha":-0.27765, "fx":[34.51239,33.91138,35.21393,35.79422], "fy":[-14.69451,-16.36597,-16.59935,-15.20108]}, + {"t":4.98156, "x":1.67952, "y":6.44738, "heading":2.73216, "vx":-1.87956, "vy":0.84713, "omega":-0.6426, "ax":2.04953, "ay":-0.92394, "alpha":-0.25687, "fx":[34.59107,33.92627,35.18571,35.74452], "fy":[-14.80146,-16.13532,-16.61649,-15.31083]}, + {"t":5.02323, "x":1.60298, "y":6.48188, "heading":2.70538, "vx":-1.79416, "vy":0.80863, "omega":-0.6533, "ax":2.04971, "ay":-0.92398, "alpha":-0.22706, "fx":[34.62198,34.07293,35.11648,35.64863], "fy":[-14.86336,-16.20426,-16.46144,-15.3378]}, + {"t":5.0649, "x":1.53, "y":6.51477, "heading":2.67816, "vx":-1.70875, "vy":0.77013, "omega":-0.66276, "ax":2.04986, "ay":-0.92402, "alpha":-0.19332, "fx":[34.70443,34.14517,35.0788,35.54188], "fy":[-15.01611,-15.99634,-16.4067,-15.44978]}, + {"t":5.10656, "x":1.46059, "y":6.54606, "heading":2.65055, "vx":-1.62334, "vy":0.73163, "omega":-0.67082, "ax":2.04999, "ay":-0.92404, "alpha":-0.14816, "fx":[34.73914,34.34158,35.00726,35.39075], "fy":[-15.14478,-16.03486,-16.20032,-15.49093]}, + {"t":5.14823, "x":1.39472, "y":6.57574, "heading":2.6226, "vx":-1.53793, "vy":0.69313, "omega":-0.67699, "ax":2.05009, "ay":-0.92406, "alpha":-0.10063, "fx":[34.81548,34.47605,34.96911,35.22536], "fy":[-15.35053,-15.84563,-16.07623,-15.5999]}, + {"t":5.1899, "x":1.33242, "y":6.60382, "heading":2.59439, "vx":-1.4525, "vy":0.65463, "omega":-0.68119, "ax":2.05018, "ay":-0.92409, "alpha":-0.04028, "fx":[34.8457,34.72316,34.90589,35.01739], "fy":[-15.54743,-15.87025,-15.81283,-15.64321]}, + {"t":5.23157, "x":1.27368, "y":6.63029, "heading":2.56601, "vx":-1.36708, "vy":0.61612, "omega":-0.68286, "ax":2.05026, "ay":-0.9241, "alpha":0.02222, "fx":[34.90767,34.9228,34.87717,34.7899], "fy":[-15.8133,-15.70334,-15.61595,-15.74215]}, + {"t":5.27323, "x":1.2185, "y":6.65516, "heading":2.53755, "vx":-1.28165, "vy":0.57762, "omega":-0.68194, "ax":2.05033, "ay":-0.92412, "alpha":0.09896, "fx":[34.9243,35.22608,34.83199,34.51982], "fy":[-16.08364,-15.72606,-15.28856,-15.77755]}, + {"t":5.3149, "x":1.16688, "y":6.67843, "heading":2.50914, "vx":-1.19622, "vy":0.53911, "omega":-0.67781, "ax":2.05039, "ay":-0.92413, "alpha":0.17858, "fx":[34.96331,35.4966,34.82268,34.22377], "fy":[-16.41875,-15.58914,-15.01093,-15.85781]}, + {"t":5.35657, "x":1.11881, "y":6.70009, "heading":2.4809, "vx":-1.11079, "vy":0.50061, "omega":-0.67037, "ax":2.05045, "ay":-0.92414, "alpha":0.27407, "fx":[34.95644,35.86526,34.80533,33.88298], "fy":[-16.77026,-15.62447,-14.6085,-15.87424]}, + {"t":5.39823, "x":1.07431, "y":6.72015, "heading":2.45296, "vx":-1.02535, "vy":0.4621, "omega":-0.65895, "ax":2.05049, "ay":-0.92415, "alpha":0.37383, "fx":[34.96416,36.2131,34.82647,33.50958], "fy":[-17.18739,-15.52245,-14.24035,-15.92793]}, + {"t":5.4399, "x":1.03337, "y":6.7386, "heading":2.42551, "vx":-0.93991, "vy":0.42359, "omega":-0.64338, "ax":2.05054, "ay":-0.92416, "alpha":0.49174, "fx":[34.92337,36.66026,34.84695,33.0857], "fy":[-17.63367,-15.5763,-13.75221,-15.9166]}, + {"t":5.48157, "x":0.99598, "y":6.75545, "heading":2.3987, "vx":-0.85447, "vy":0.38509, "omega":-0.62289, "ax":2.05058, "ay":-0.92417, "alpha":0.61605, "fx":[34.89059,37.09732,34.90936,32.62171], "fy":[-18.14688,-15.52298,-13.27613,-15.93334]}, + {"t":5.52324, "x":0.96216, "y":6.77069, "heading":2.37274, "vx":-0.76903, "vy":0.34658, "omega":-0.59722, "ax":2.05061, "ay":-0.92418, "alpha":0.76134, "fx":[34.80648,37.63733,34.97902,32.09856], "fy":[-18.7028,-15.61335,-12.68079,-15.88294]}, + {"t":5.5649, "x":0.9319, "y":6.78433, "heading":2.34786, "vx":-0.68359, "vy":0.30807, "omega":-0.5655, "ax":2.05065, "ay":-0.92418, "alpha":0.91606, "fx":[34.72463,38.18093,35.093,31.52506], "fy":[-19.33447,-15.60919,-12.08067,-15.856]}, + {"t":5.60657, "x":0.90519, "y":6.79636, "heading":2.3243, "vx":-0.59814, "vy":0.26956, "omega":-0.52733, "ax":2.05068, "ay":-0.92419, "alpha":1.08718, "fx":[34.59814,38.8292,35.2201,30.87822], "fy":[-19.93392,-15.77002,-11.38702,-15.78982]}, + {"t":5.64824, "x":0.88205, "y":6.80679, "heading":2.30233, "vx":-0.5127, "vy":0.23105, "omega":-0.48203, "ax":2.0507, "ay":-0.9242, "alpha":1.2879, "fx":[34.45206,39.50552,35.39712,30.17283], "fy":[-20.79972,-15.79465,-10.60444,-15.68237]}, + {"t":5.6899, "x":0.86247, "y":6.81562, "heading":2.28224, "vx":-0.42725, "vy":0.19255, "omega":-0.42836, "ax":2.05073, "ay":-0.9242, "alpha":1.50607, "fx":[34.26397,40.30528,35.59236,29.36766], "fy":[-21.61747,-15.88769,-9.74002,-15.63638]}, + {"t":5.73157, "x":0.84645, "y":6.82284, "heading":2.26439, "vx":-0.3418, "vy":0.15404, "omega":-0.36561, "ax":2.05075, "ay":-0.92421, "alpha":1.75057, "fx":[34.0683,41.13176,35.83485,28.49596], "fy":[-22.61177,-16.08275,-8.77764,-15.40972]}, + {"t":5.77324, "x":0.83399, "y":6.82845, "heading":2.24916, "vx":-0.25635, "vy":0.11553, "omega":-0.29267, "ax":2.05077, "ay":-0.92421, "alpha":2.02354, "fx":[33.83025,42.10754,36.10091,27.49366], "fy":[-23.642,-16.22781,-7.69351,-15.31889]}, + {"t":5.81491, "x":0.82508, "y":6.83246, "heading":2.23696, "vx":-0.1709, "vy":0.07702, "omega":-0.20835, "ax":2.0508, "ay":-0.92421, "alpha":2.32872, "fx":[33.59154,43.14253,36.4034,26.39628], "fy":[-24.86602,-16.4547,-6.50221,-15.05958]}, + {"t":5.85657, "x":0.81974, "y":6.83487, "heading":2.22828, "vx":-0.08545, "vy":0.03851, "omega":-0.11132, "ax":2.05081, "ay":-0.92422, "alpha":2.67172, "fx":[33.32665,44.34867,36.72754,25.13217], "fy":[-26.16935,-16.62751,-5.13516,-14.95077]}, + {"t":5.89824, "x":0.81796, "y":6.83567, "heading":2.22364, "vx":0.0, "vy":0.0, "omega":0.0, "ax":2.11213, "ay":-0.77228, "alpha":2.77278, "fx":[34.26354,45.68969,37.74113,26.01253], "fy":[-24.13407,-14.2323,-2.08304,-12.09547]}, + {"t":5.93943, "x":0.81975, "y":6.83502, "heading":2.22364, "vx":0.087, "vy":-0.03181, "omega":0.11421, "ax":2.11263, "ay":-0.77246, "alpha":2.43201, "fx":[34.53019,44.50636,37.57527,27.12924], "fy":[-22.71083,-14.06015,-3.46992,-12.31662]}, + {"t":5.98062, "x":0.82513, "y":6.83305, "heading":2.22835, "vx":0.17402, "vy":-0.06363, "omega":0.21439, "ax":2.11261, "ay":-0.77246, "alpha":2.11644, "fx":[34.74263,43.39537,37.31859,28.28313], "fy":[-21.50041,-13.92291,-4.73793,-12.3958]}, + {"t":6.02181, "x":0.83409, "y":6.82978, "heading":2.23718, "vx":0.26104, "vy":-0.09545, "omega":0.30156, "ax":2.11259, "ay":-0.77245, "alpha":1.83492, "fx":[34.94164,42.44148,37.06211,29.29301], "fy":[-20.36465,-13.72561,-5.83632,-12.63009]}, + {"t":6.063, "x":0.84663, "y":6.82519, "heading":2.2496, "vx":0.34806, "vy":-0.12726, "omega":0.37714, "ax":2.11257, "ay":-0.77244, "alpha":1.58254, "fx":[35.15014,41.54144,36.83581,30.20929], "fy":[-19.40468,-13.59352,-6.84342,-12.7145]}, + {"t":6.10419, "x":0.86276, "y":6.81929, "heading":2.26513, "vx":0.43507, "vy":-0.15908, "omega":0.44233, "ax":2.11254, "ay":-0.77244, "alpha":1.35951, "fx":[35.32159,40.77347,36.62017,31.01972], "fy":[-18.51196,-13.49229,-7.71424,-12.83717]}, + {"t":6.14538, "x":0.88248, "y":6.81208, "heading":2.28335, "vx":0.52209, "vy":-0.1909, "omega":0.49833, "ax":2.11252, "ay":-0.77243, "alpha":1.1536, "fx":[35.4958,40.04214,36.44482,31.75035], "fy":[-17.71652,-13.31756,-8.53819,-12.98277]}, + {"t":6.18657, "x":0.90577, "y":6.80357, "heading":2.30388, "vx":0.60911, "vy":-0.22271, "omega":0.54585, "ax":2.11248, "ay":-0.77242, "alpha":0.97471, "fx":[35.62254,39.42307,36.2821,32.40335], "fy":[-16.99218,-13.26175,-9.23574,-13.06486]}, + {"t":6.22776, "x":0.93265, "y":6.79374, "heading":2.32636, "vx":0.69612, "vy":-0.25453, "omega":0.58599, "ax":2.11245, "ay":-0.77241, "alpha":0.80784, "fx":[35.75048,38.81881,36.16413,32.99547], "fy":[-16.34895,-13.12752,-9.91106,-13.16622]}, + {"t":6.26895, "x":0.96312, "y":6.7826, "heading":2.3505, "vx":0.78313, "vy":-0.28635, "omega":0.61927, "ax":2.11242, "ay":-0.7724, "alpha":0.66418, "fx":[35.82805,38.3194,36.05452,33.52446], "fy":[-15.75891,-13.12295,-10.46906,-13.20217]}, + {"t":6.31014, "x":0.99717, "y":6.77015, "heading":2.37601, "vx":0.87014, "vy":-0.31816, "omega":0.64663, "ax":2.11238, "ay":-0.77239, "alpha":0.5287, "fx":[35.90961,37.81845,35.98986,34.00586], "fy":[-15.23912,-13.02862,-11.02489,-13.25957]}, + {"t":6.35133, "x":1.0348, "y":6.75639, "heading":2.40264, "vx":0.95715, "vy":-0.34998, "omega":0.6684, "ax":2.11233, "ay":-0.77237, "alpha":0.41338, "fx":[35.94169,37.41726,35.92782,34.43403], "fy":[-14.75957,-13.07057,-11.468,-13.25323]}, + {"t":6.39252, "x":1.07602, "y":6.74132, "heading":2.43018, "vx":1.04416, "vy":-0.38179, "omega":0.68543, "ax":2.11229, "ay":-0.77236, "alpha":0.30331, "fx":[35.98321,37.00034,35.90921,34.82477], "fy":[-14.3421,-13.01233,-11.92407,-13.27179]}, + {"t":6.43371, "x":1.12082, "y":6.72494, "heading":2.45841, "vx":1.13117, "vy":-0.4136, "omega":0.69793, "ax":2.11223, "ay":-0.77234, "alpha":0.21137, "fx":[35.97604,36.68475,35.88561,35.16737], "fy":[-13.95432,-13.09792,-12.26803,-13.22905]}, + {"t":6.4749, "x":1.16921, "y":6.70724, "heading":2.48716, "vx":1.21817, "vy":-0.44542, "omega":0.70663, "ax":2.11217, "ay":-0.77232, "alpha":0.12257, "fx":[35.98521,36.34087,35.90309,35.48048], "fy":[-13.62593,-13.06267,-12.6405,-13.21881]}, + {"t":6.51609, "x":1.22118, "y":6.68824, "heading":2.51626, "vx":1.30517, "vy":-0.47723, "omega":0.71168, "ax":2.1121, "ay":-0.77231, "alpha":0.05002, "fx":[35.94775,36.09959,35.90854,35.7489], "fy":[-13.31559,-13.18636,-12.89697,-13.14786]}, + {"t":6.55728, "x":1.27673, "y":6.66793, "heading":2.54558, "vx":1.39217, "vy":-0.50904, "omega":0.71374, "ax":2.11202, "ay":-0.77228, "alpha":-0.0204, "fx":[35.93401,35.81913,35.95229,35.994], "fy":[-13.06784,-13.16082,-13.19692,-13.11923]}, + {"t":6.59847, "x":1.33586, "y":6.64631, "heading":2.57498, "vx":1.47916, "vy":-0.54085, "omega":0.7129, "ax":2.11193, "ay":-0.77225, "alpha":-0.07607, "fx":[35.87481,35.64693,35.97625,36.19502], "fy":[-12.82493,-13.31444,-13.37426,-13.02954]}, + {"t":6.63967, "x":1.39858, "y":6.62337, "heading":2.60434, "vx":1.56615, "vy":-0.57266, "omega":0.70977, "ax":2.11182, "ay":-0.77222, "alpha":-0.13009, "fx":[35.8488,35.42062,36.03711,36.37914], "fy":[-12.65197,-13.28661,-13.60916,-12.99289]}, + {"t":6.68086, "x":1.46488, "y":6.59913, "heading":2.63358, "vx":1.65314, "vy":-0.60447, "omega":0.70441, "ax":2.11168, "ay":-0.77219, "alpha":-0.16985, "fx":[35.77597,35.31627,36.06833,36.51602], "fy":[-12.47252,-13.46245,-13.70943,-12.89419]}, + {"t":6.72205, "x":1.53477, "y":6.57358, "heading":2.66259, "vx":1.74012, "vy":-0.63627, "omega":0.69741, "ax":2.11153, "ay":-0.77213, "alpha":-0.20833, "fx":[35.74732,35.14153,36.13535,36.6419], "fy":[-12.36871,-13.41814,-13.8872,-12.86069]}, + {"t":6.76324, "x":1.60824, "y":6.54671, "heading":2.69132, "vx":1.8271, "vy":-0.66808, "omega":0.68883, "ax":2.11133, "ay":-0.77208, "alpha":-0.23287, "fx":[35.67066,35.10336,36.16278,36.71583], "fy":[-12.24825,-13.60316,-13.91642,-12.7635]}, + {"t":6.80443, "x":1.68529, "y":6.51854, "heading":2.71969, "vx":1.91406, "vy":-0.69988, "omega":0.67924, "ax":2.11109, "ay":-0.772, "alpha":-0.2545, "fx":[35.64755,34.98469,36.22259,36.78125], "fy":[-12.21439,-13.53138,-14.03478,-12.74518]}, + {"t":6.84562, "x":1.76592, "y":6.48906, "heading":2.74767, "vx":2.00102, "vy":-0.73168, "omega":0.66876, "ax":2.11076, "ay":-0.77192, "alpha":-0.26423, "fx":[35.57953,35.00713,36.23548,36.79137], "fy":[-12.14608,-13.73312,-13.9867,-12.65497]}, + {"t":6.88681, "x":1.85013, "y":6.45826, "heading":2.77522, "vx":2.08796, "vy":-0.76348, "omega":0.65787, "ax":2.11033, "ay":-0.77177, "alpha":-0.21839, "fx":[35.37769,35.51882,36.08386,36.60385], "fy":[-12.21196,-13.5472,-14.06097,-12.69009]}, + {"t":6.928, "x":1.93792, "y":6.42616, "heading":2.80231, "vx":2.17489, "vy":-0.79526, "omega":0.64888, "ax":2.10968, "ay":-0.77161, "alpha":-0.25588, "fx":[35.52893,35.04324,36.25049,36.71749], "fy":[-12.18737,-13.80787,-13.89968,-12.60475]}, + {"t":6.96919, "x":2.0293, "y":6.39275, "heading":2.82904, "vx":2.26178, "vy":-0.82705, "omega":0.63834, "ax":2.10869, "ay":-0.77129, "alpha":-0.16993, "fx":[35.30541,35.79084,35.99483,36.3817], "fy":[-12.35855,-13.51199,-13.90119,-12.70628]}, + {"t":7.01038, "x":2.12425, "y":6.35803, "heading":2.85533, "vx":2.34864, "vy":-0.85882, "omega":0.63134, "ax":2.1068, "ay":-0.77101, "alpha":-0.19136, "fx":[35.54018,35.23236,36.13872,36.43313], "fy":[-12.42251,-13.72495,-13.63386,-12.6774]}, + {"t":7.05157, "x":2.22278, "y":6.322, "heading":2.88134, "vx":2.43542, "vy":-0.89058, "omega":0.62345, "ax":2.10265, "ay":-0.76969, "alpha":-0.08598, "fx":[35.39574,35.85043,35.81871,35.99672], "fy":[-12.68037,-13.34196,-13.50684,-12.83968]}, + {"t":7.09276, "x":2.32488, "y":6.28466, "heading":2.90702, "vx":2.52203, "vy":-0.92228, "omega":0.61991, "ax":2.08488, "ay":-0.75509, "alpha":-0.06763, "fx":[35.38369,35.31528,35.54823,35.60579], "fy":[-12.53082,-13.46111,-12.80343,-12.58031]}, + {"t":7.13395, "x":2.43053, "y":6.24603, "heading":2.93255, "vx":2.60791, "vy":-0.95338, "omega":0.61713, "ax":-2.08165, "ay":0.7626, "alpha":-0.04278, "fx":[-34.84141,-36.58699,-35.06806,-35.13694], "fy":[12.78927,13.0769,13.17009,12.85049]}, + {"t":7.17514, "x":2.53619, "y":6.20741, "heading":2.95797, "vx":2.52216, "vy":-0.92197, "omega":0.61537, "ax":-2.10346, "ay":0.76733, "alpha":0.14234, "fx":[-35.51145,-35.36153,-36.04752,-36.19624], "fy":[12.57342,13.52826,13.41665,12.68959]}, + {"t":7.21633, "x":2.63829, "y":6.17009, "heading":2.98332, "vx":2.43552, "vy":-0.89036, "omega":0.62123, "ax":-2.10716, "ay":0.76997, "alpha":0.14203, "fx":[-35.21829,-35.95214,-36.00615,-36.19234], "fy":[12.50326,13.5363,13.7071,12.64136]}, + {"t":7.25752, "x":2.73682, "y":6.13407, "heading":3.00891, "vx":2.34873, "vy":-0.85865, "omega":0.62708, "ax":-2.10892, "ay":0.77063, "alpha":0.24651, "fx":[-35.38616,-35.16805,-36.36763,-36.56692], "fy":[12.31191,13.95786,13.7178,12.44489]}, + {"t":7.29871, "x":2.83178, "y":6.09935, "heading":3.03474, "vx":2.26186, "vy":-0.82691, "omega":0.63723, "ax":-2.10983, "ay":0.77118, "alpha":0.21459, "fx":[-35.12106,-35.74028,-36.25164,-36.43757], "fy":[12.35727,13.74985,13.89816,12.46483]}, + {"t":7.3399, "x":2.92315, "y":6.06594, "heading":3.06099, "vx":2.17496, "vy":-0.79514, "omega":0.64607, "ax":-2.11045, "ay":0.77141, "alpha":0.28091, "fx":[-35.29537,-35.11754,-36.50891,-36.67096], "fy":[12.26707,14.04746,13.83018,12.34137]}, + {"t":7.38109, "x":3.01095, "y":6.03385, "heading":3.0876, "vx":2.08802, "vy":-0.76337, "omega":0.65764, "ax":-2.11086, "ay":0.77163, "alpha":0.18695, "fx":[-35.42086,-35.86134,-36.10856,-36.22985], "fy":[12.34668,13.81234,13.92397,12.41791]}, + {"t":7.42228, "x":3.09517, "y":6.00306, "heading":3.11469, "vx":2.00108, "vy":-0.73158, "omega":0.66534, "ax":-2.11118, "ay":0.77175, "alpha":0.2676, "fx":[-35.29512,-35.19653,-36.53234,-36.61798], "fy":[12.35829,14.01951,13.78093,12.35048]}, + {"t":7.46347, "x":3.1758, "y":5.97358, "heading":-3.14109, "vx":1.91412, "vy":-0.69979, "omega":0.67637, "ax":-2.11141, "ay":0.77187, "alpha":0.24133, "fx":[-35.35256,-35.22424,-36.51864,-36.56236], "fy":[12.48247,13.83468,13.76293,12.43684]}, + {"t":7.50466, "x":3.25285, "y":5.94541, "heading":-3.11323, "vx":1.82715, "vy":-0.668, "omega":0.68631, "ax":-2.1116, "ay":0.77194, "alpha":0.2171, "fx":[-35.38997,-35.36821,-36.45103,-36.46157], "fy":[12.54068,13.8901,13.62113,12.46974]}, + {"t":7.54585, "x":3.32632, "y":5.91855, "heading":-3.08496, "vx":1.74017, "vy":-0.6362, "omega":0.69525, "ax":-2.11175, "ay":0.77201, "alpha":0.17595, "fx":[-35.49201,-35.43297,-36.38646,-36.36934], "fy":[12.68926,13.67234,13.56359,12.60173]}, + {"t":7.58704, "x":3.39621, "y":5.893, "heading":-3.05633, "vx":1.65319, "vy":-0.6044, "omega":0.7025, "ax":-2.11187, "ay":0.77206, "alpha":0.13568, "fx":[-35.57815,-35.6004,-36.27119,-36.23972], "fy":[12.78458,13.64138,13.40359,12.70055]}, + {"t":7.62823, "x":3.46251, "y":5.86876, "heading":-3.02739, "vx":1.5662, "vy":-0.5726, "omega":0.70808, "ax":-2.11198, "ay":0.77211, "alpha":0.08022, "fx":[-35.72992,-35.69788,-36.14948,-36.11914], "fy":[12.94605,13.39266,13.31264,12.88232]}, + {"t":7.66942, "x":3.52523, "y":5.84583, "heading":-2.99822, "vx":1.47921, "vy":-0.5408, "omega":0.71139, "ax":-2.11207, "ay":0.77215, "alpha":0.02458, "fx":[-35.87413,-35.87754,-35.98113,-35.9698], "fy":[13.06442,13.28241,13.14019,13.049]}, + {"t":7.71061, "x":3.58437, "y":5.82421, "heading":-2.96892, "vx":1.39221, "vy":-0.50899, "omega":0.7124, "ax":-2.11214, "ay":0.77218, "alpha":-0.04657, "fx":[-36.0857,-35.99529,-35.79653,-35.83023], "fy":[13.2356,12.98209,13.02652,13.29432]}, + {"t":7.7518, "x":3.63992, "y":5.8039, "heading":-2.93958, "vx":1.30521, "vy":-0.47719, "omega":0.71048, "ax":-2.11221, "ay":0.77221, "alpha":-0.11953, "fx":[-36.29546,-36.18784,-35.56362,-35.66545], "fy":[13.36913,12.78568,12.84663,13.53893]}, + {"t":7.79299, "x":3.69189, "y":5.78489, "heading":-2.91031, "vx":1.21821, "vy":-0.44538, "omega":0.70556, "ax":-2.11227, "ay":0.77224, "alpha":-0.20841, "fx":[-36.5768,-36.32185,-35.30504,-35.51265], "fy":[13.54334,12.41935,12.72033,13.8592]}, + {"t":7.83418, "x":3.74028, "y":5.7672, "heading":-2.88125, "vx":1.1312, "vy":-0.41357, "omega":0.69698, "ax":-2.11232, "ay":0.77226, "alpha":-0.30138, "fx":[-36.86399,-36.52158,-34.99583,-35.33856], "fy":[13.68603,12.12215,12.54116,14.19422]}, + {"t":7.87537, "x":3.78508, "y":5.75082, "heading":-2.85254, "vx":1.04419, "vy":-0.38176, "omega":0.68456, "ax":-2.11237, "ay":0.77228, "alpha":-0.41077, "fx":[-37.22785,-36.66682,-34.65029,-35.1781], "fy":[13.85591,11.67863,12.40702,14.60356]}, + {"t":7.91656, "x":3.8263, "y":5.73575, "heading":-2.82434, "vx":0.95719, "vy":-0.34995, "omega":0.66764, "ax":-2.11241, "ay":0.7723, "alpha":-0.52724, "fx":[-37.6069,-36.87055,-34.24921,-34.99929], "fy":[14.00078,11.26954,12.23287,15.04304]}, + {"t":7.95775, "x":3.86394, "y":5.722, "heading":-2.79684, "vx":0.87017, "vy":-0.31814, "omega":0.64592, "ax":-2.11245, "ay":0.77232, "alpha":-0.66172, "fx":[-38.06921,-37.02405,-33.80005,-34.83517], "fy":[14.16243,10.72665,12.09749,15.56088]}, + {"t":7.99895, "x":3.89799, "y":5.70955, "heading":-2.77024, "vx":0.78316, "vy":-0.28633, "omega":0.61867, "ax":-2.11248, "ay":0.77233, "alpha":-0.80707, "fx":[-38.55725,-37.23121,-33.28756,-34.65481], "fy":[14.30648,10.18377,11.933,16.12514]}, + {"t":8.04014, "x":3.92845, "y":5.69841, "heading":-2.74475, "vx":0.69615, "vy":-0.25452, "omega":0.58543, "ax":-2.11251, "ay":0.77234, "alpha":-0.97225, "fx":[-39.138,-37.39214,-32.71369,-34.4891], "fy":[14.45665,9.52124,11.79848,16.77299]}, + {"t":8.08133, "x":3.95534, "y":5.68858, "heading":-2.72064, "vx":0.60913, "vy":-0.2227, "omega":0.54538, "ax":-2.11254, "ay":0.77235, "alpha":-1.1532, "fx":[-39.75599,-37.60677,-32.06536,-34.30679], "fy":[14.59932,8.82155,11.64296,17.48626]}, + {"t":8.12252, "x":3.97864, "y":5.68006, "heading":-2.69818, "vx":0.52212, "vy":-0.19089, "omega":0.49788, "ax":-2.11257, "ay":0.77237, "alpha":-1.35699, "fx":[-40.47992,-37.78053,-31.33981,-34.1364], "fy":[14.7414,8.00882,11.50796,18.29277]}, + {"t":8.16371, "x":3.99835, "y":5.67285, "heading":-2.67767, "vx":0.4351, "vy":-0.15908, "omega":0.44198, "ax":-2.11259, "ay":0.77238, "alpha":-1.58155, "fx":[-41.25803,-38.01306,-30.52341,-33.94381], "fy":[14.83463,7.13595,11.37483,19.2062]}, + {"t":8.2049, "x":4.01448, "y":5.66696, "heading":-2.65946, "vx":0.34808, "vy":-0.12726, "omega":0.37684, "ax":-2.11261, "ay":0.77239, "alpha":-1.83503, "fx":[-42.15014,-38.21858,-29.61274,-33.75836], "fy":[15.03667,6.1216,11.20696,20.18707]}, + {"t":8.24609, "x":4.02702, "y":5.66237, "heading":-2.64394, "vx":0.26106, "vy":-0.09545, "omega":0.30125, "ax":-2.11263, "ay":0.77239, "alpha":-2.10717, "fx":[-43.11155,-38.49139,-28.58841,-33.54991], "fy":[15.18482,5.05187,11.09216,21.224]}, + {"t":8.28728, "x":4.03599, "y":5.65909, "heading":-2.63153, "vx":0.17404, "vy":-0.06363, "omega":0.21446, "ax":-2.11265, "ay":0.7724, "alpha":-2.43075, "fx":[-44.2163,-38.76422,-27.45161,-33.31041], "fy":[15.39354,3.77568,10.84405,22.54021]}, + {"t":8.32847, "x":4.04136, "y":5.65713, "heading":-2.6227, "vx":0.08702, "vy":-0.03182, "omega":0.11433, "ax":-2.11267, "ay":0.77241, "alpha":-2.77574, "fx":[-45.39243,-39.09163,-26.26064,-32.99906], "fy":[15.62767,2.39936,10.60281,23.92417]}, + {"t":8.36966, "x":4.04315, "y":5.65647, "heading":-2.61799, "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,48,76,138] }, "events":[] } diff --git a/auto/BlueLong.traj b/auto/BlueLong.traj index 612b212..1d2028f 100644 --- a/auto/BlueLong.traj +++ b/auto/BlueLong.traj @@ -3,28 +3,26 @@ "version":1, "snapshot":{ "waypoints":[ - {"x":7.5, "y":7.0, "heading":0.0, "intervals":40, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, - {"x":4.857022285461426, "y":5.825005054473877, "heading":0.0, "intervals":38, "split":false, "fixTranslation":true, "fixHeading":false, "overrideIntervals":false}, + {"x":7.5, "y":7.0, "heading":0.0, "intervals":52, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, {"x":2.5, "y":7.0, "heading":0.0, "intervals":40, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], "constraints":[ {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":0.0, "y":0.0, "w":17.548, "h":8.052}}, "enabled":false}, - {"from":0, "to":2, "data":{"type":"MaxAcceleration", "props":{"max":3.0}}, "enabled":true}, - {"from":0, "to":2, "data":{"type":"MaxVelocity", "props":{"max":4.0}}, "enabled":true}], + {"from":0, "to":1, "data":{"type":"MaxAcceleration", "props":{"max":3.0}}, "enabled":true}, + {"from":0, "to":1, "data":{"type":"MaxVelocity", "props":{"max":4.0}}, "enabled":true}], "targetDt":0.05 }, "params":{ "waypoints":[ - {"x":{"exp":"7.5 m", "val":7.5}, "y":{"exp":"7 m", "val":7.0}, "heading":{"exp":"0 deg", "val":0.0}, "intervals":40, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, - {"x":{"exp":"4.857022285461426 m", "val":4.857022285461426}, "y":{"exp":"5.825005054473877 m", "val":5.825005054473877}, "heading":{"exp":"0 deg", "val":0.0}, "intervals":38, "split":false, "fixTranslation":true, "fixHeading":false, "overrideIntervals":false}, + {"x":{"exp":"7.5 m", "val":7.5}, "y":{"exp":"7 m", "val":7.0}, "heading":{"exp":"0 deg", "val":0.0}, "intervals":52, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, {"x":{"exp":"2.5 m", "val":2.5}, "y":{"exp":"7 m", "val":7.0}, "heading":{"exp":"0 rad", "val":0.0}, "intervals":40, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], "constraints":[ {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":{"exp":"0 m", "val":0.0}, "y":{"exp":"0 m", "val":0.0}, "w":{"exp":"17.548 m", "val":17.548}, "h":{"exp":"8.052 m", "val":8.052}}}, "enabled":false}, - {"from":0, "to":2, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"3 m / s ^ 2", "val":3.0}}}, "enabled":true}, - {"from":0, "to":2, "data":{"type":"MaxVelocity", "props":{"max":{"exp":"4 m / s", "val":4.0}}}, "enabled":true}], + {"from":0, "to":1, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"3 m / s ^ 2", "val":3.0}}}, "enabled":true}, + {"from":0, "to":1, "data":{"type":"MaxVelocity", "props":{"max":{"exp":"4 m / s", "val":4.0}}}, "enabled":true}], "targetDt":{ "exp":"0.05 s", "val":0.05 @@ -32,87 +30,61 @@ }, "trajectory":{ "sampleType":"Swerve", - "waypoints":[0.0,1.49946,2.91895], + "waypoints":[0.0,2.58252], "samples":[ - {"t":0.0, "x":7.5, "y":7.0, "heading":0.0, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-2.13002, "ay":-2.11027, "alpha":-0.00085, "fx":[-36.25468,-36.18859,-36.23813,-36.24283], "fy":[-35.88779,-35.90531,-35.89459,-35.89265]}, - {"t":0.03749, "x":7.4985, "y":6.99852, "heading":0.0, "vx":-0.07985, "vy":-0.07911, "omega":-0.00003, "ax":-2.1498, "ay":-2.09124, "alpha":-0.00004, "fx":[-36.58661,-36.54101,-36.56854,-36.57359], "fy":[-35.56547,-35.57625,-35.57351,-35.57068]}, - {"t":0.07497, "x":7.494, "y":6.99408, "heading":0.0, "vx":-0.16043, "vy":-0.1575, "omega":-0.00003, "ax":-2.17026, "ay":-2.06995, "alpha":-0.00043, "fx":[-36.91467,-36.92952,-36.90635,-36.91157], "fy":[-35.21569,-35.1657,-35.23512,-35.22072]}, - {"t":0.11246, "x":7.48646, "y":6.98672, "heading":0.0, "vx":-0.24179, "vy":-0.23509, "omega":-0.00005, "ax":-2.19211, "ay":-2.04675, "alpha":0.00021, "fx":[-37.31024,-37.25468,-37.28933,-37.29451], "fy":[-34.8061,-34.82332,-34.81756,-34.81145]}, - {"t":0.14995, "x":7.47586, "y":6.97647, "heading":0.0, "vx":-0.32396, "vy":-0.31182, "omega":-0.00004, "ax":-2.21548, "ay":-2.02137, "alpha":-0.00038, "fx":[-37.68546,-37.70087,-37.67354,-37.67892], "fy":[-34.3909,-34.33093,-34.41405,-34.39609]}, - {"t":0.18743, "x":7.46216, "y":6.96336, "heading":-0.00001, "vx":-0.40701, "vy":-0.38759, "omega":-0.00006, "ax":-2.24052, "ay":-1.99353, "alpha":0.00073, "fx":[-38.1373,-38.07437,-38.11256,-38.11794], "fy":[-33.89789,-33.92211,-33.91383,-33.90348]}, - {"t":0.22492, "x":7.44532, "y":6.94743, "heading":-0.00001, "vx":-0.491, "vy":-0.46232, "omega":-0.00003, "ax":-2.26738, "ay":-1.96285, "alpha":0.00032, "fx":[-38.57054,-38.58558,-38.55418,-38.55979], "fy":[-33.39362,-33.33587,-33.4215,-33.39904]}, - {"t":0.2624, "x":7.42533, "y":6.92872, "heading":-0.00001, "vx":-0.576, "vy":-0.5359, "omega":-0.00002, "ax":-2.29626, "ay":-1.92892, "alpha":0.0017, "fx":[-39.08765,-39.02527,-39.0581,-39.06375], "fy":[-32.796,-32.82579,-32.81751,-32.80188]}, - {"t":0.29989, "x":7.40212, "y":6.90728, "heading":-0.00001, "vx":-0.66208, "vy":-0.60821, "omega":0.00005, "ax":-2.32734, "ay":-1.89121, "alpha":0.00095, "fx":[-39.5929,-39.60866,-39.57116,-39.57707], "fy":[-32.1743,-32.11339,-32.20804,-32.18]}, - {"t":0.33738, "x":7.37567, "y":6.88315, "heading":-0.00001, "vx":-0.74932, "vy":-0.67911, "omega":0.00008, "ax":-2.36085, "ay":-1.84912, "alpha":0.0026, "fx":[-40.19119,-40.12079,-40.15581,-40.16179], "fy":[-31.43448,-31.47396,-31.4628,-31.44073]}, - {"t":0.37486, "x":7.34592, "y":6.85639, "heading":0.0, "vx":-0.83782, "vy":-0.74842, "omega":0.00018, "ax":-2.39701, "ay":-1.80189, "alpha":0.00148, "fx":[-40.78101,-40.79705,-40.75283,-40.75907], "fy":[-30.65527,-30.58591,-30.69622,-30.6613]}, - {"t":0.41235, "x":7.31283, "y":6.82707, "heading":0.0, "vx":-0.92768, "vy":-0.81597, "omega":0.00024, "ax":-2.43606, "ay":-1.74862, "alpha":0.00333, "fx":[-41.47836,-41.38996,-41.43614,-41.44247], "fy":[-29.71975,-29.77167,-29.75622,-29.72639]}, - {"t":0.44984, "x":7.27634, "y":6.79526, "heading":0.00001, "vx":-1.019, "vy":-0.88152, "omega":0.00036, "ax":-2.47824, "ay":-1.68817, "alpha":0.00248, "fx":[-42.16653,-42.18173,-42.13097,-42.13753], "fy":[-28.7188,-28.6492,-28.76823,-28.72514]}, - {"t":0.48732, "x":7.2364, "y":6.76103, "heading":0.00002, "vx":-1.1119, "vy":-0.9448, "omega":0.00045, "ax":-2.52376, "ay":-1.61918, "alpha":0.00413, "fx":[-42.979,-42.87022,-42.929,-42.93561], "fy":[-27.51224,-27.5772,-27.55831,-27.51921]}, - {"t":0.52481, "x":7.19295, "y":6.72447, "heading":0.00004, "vx":-1.2065, "vy":-1.0055, "omega":0.00061, "ax":-2.57278, "ay":-1.53991, "alpha":-0.00578, "fx":[-43.77197,-43.81647,-43.72562,-43.73525], "fy":[-26.25254,-25.92249,-26.33849,-26.26022]}, - {"t":0.5623, "x":7.14591, "y":6.6857, "heading":0.00006, "vx":-1.30295, "vy":-1.06323, "omega":0.00039, "ax":-2.62536, "ay":-1.44824, "alpha":0.00461, "fx":[-44.71765,-44.58103,-44.66054,-44.66715], "fy":[-24.59871,-24.67815,-24.65428,-24.60569]}, - {"t":0.59978, "x":7.09522, "y":6.64482, "heading":0.00008, "vx":-1.40136, "vy":-1.11752, "omega":0.00056, "ax":-2.68133, "ay":-1.34152, "alpha":-0.005, "fx":[-45.62289,-45.66154,-45.57053,-45.57963], "fy":[-22.87572,-22.54626,-22.97087,-22.88296]}, - {"t":0.63727, "x":7.04081, "y":6.60199, "heading":0.0001, "vx":-1.50188, "vy":-1.1678, "omega":0.00038, "ax":-2.74018, "ay":-1.21648, "alpha":0.0047, "fx":[-46.67968,-46.51727,-46.61801,-46.62401], "fy":[-20.65234,-20.74161,-20.71538,-20.6587]}, - {"t":0.67476, "x":6.98258, "y":6.55736, "heading":0.00011, "vx":-1.6046, "vy":-1.21341, "omega":0.00055, "ax":-2.80082, "ay":-1.06909, "alpha":-0.00363, "fx":[-47.6599,-47.68831,-47.60446,-47.61205], "fy":[-18.23437,-17.92997,-18.33523,-18.24036]}, - {"t":0.71224, "x":6.92046, "y":6.51112, "heading":0.00013, "vx":-1.70959, "vy":-1.25348, "omega":0.00042, "ax":-2.86118, "ay":-0.89457, "alpha":0.00359, "fx":[-48.74798,-48.54855,-48.68512,-48.68966], "fy":[-15.17514,-15.268,-15.24251,-15.17997]}, - {"t":0.74973, "x":6.85437, "y":6.4635, "heading":0.00015, "vx":-1.81684, "vy":-1.28702, "omega":0.00055, "ax":-2.9177, "ay":-0.68745, "alpha":-0.00388, "fx":[-49.65099,-49.6685,-49.59626,-49.60109], "fy":[-11.74275,-11.4396,-11.84424,-11.74645]}, - {"t":0.78721, "x":6.78421, "y":6.41477, "heading":0.00017, "vx":-1.92622, "vy":-1.31279, "omega":0.00041, "ax":-2.96463, "ay":-0.44201, "alpha":0.00125, "fx":[-50.51563,-50.28012,-50.45613,-50.45818], "fy":[-7.48105,-7.56233,-7.54741,-7.48324]}, - {"t":0.8247, "x":6.70992, "y":6.36525, "heading":0.00019, "vx":-2.03735, "vy":-1.32936, "omega":0.00045, "ax":-2.99327, "ay":-0.15344, "alpha":0.00348, "fx":[-50.93885,-50.93997,-50.88961,-50.89039], "fy":[-2.61583,-2.49823,-2.70982,-2.61622]}, - {"t":0.86219, "x":6.63144, "y":6.31531, "heading":0.0002, "vx":-2.14956, "vy":-1.33511, "omega":0.00058, "ax":-2.99157, "ay":0.1804, "alpha":-0.00171, "fx":[-50.97409,-50.72554,-50.92239,-50.92127], "fy":[3.0947,3.04708,3.0362,3.09591]}, - {"t":0.89967, "x":6.54876, "y":6.26539, "heading":0.00023, "vx":-2.2617, "vy":-1.32835, "omega":0.00052, "ax":-2.94489, "ay":0.55555, "alpha":0.01353, "fx":[-50.11182,-50.11619,-50.07117,-50.06769], "fy":[9.49866,9.3788,9.41997,9.50161]}, - {"t":0.93716, "x":6.46191, "y":6.21598, "heading":0.00024, "vx":-2.37209, "vy":-1.30752, "omega":0.00103, "ax":-2.839, "ay":0.95932, "alpha":-0.00282, "fx":[-48.36394,-48.15867,-48.3216,-48.31786], "fy":[16.32986,16.32325,16.28419,16.33385]}, - {"t":0.97465, "x":6.37099, "y":6.16764, "heading":0.00028, "vx":-2.47852, "vy":-1.27156, "omega":0.00092, "ax":-2.66561, "ay":1.36905, "alpha":0.03193, "fx":[-45.34707,-45.39621,-45.31381,-45.30789], "fy":[23.4257,22.92681,23.36544,23.43044]}, - {"t":1.01213, "x":6.27621, "y":6.12094, "heading":0.00032, "vx":-2.57844, "vy":-1.22024, "omega":0.00212, "ax":-2.42782, "ay":1.75655, "alpha":-0.03588, "fx":[-41.52944,-40.70557,-41.47802,-41.4729], "fy":[29.86138,29.95532,29.82892,29.86814]}, - {"t":1.04962, "x":6.17785, "y":6.07643, "heading":0.0004, "vx":-2.66945, "vy":-1.15439, "omega":0.00077, "ax":-2.14194, "ay":2.09579, "alpha":0.03914, "fx":[-36.42696,-36.51436,-36.39962,-36.39435], "fy":[35.81991,35.17347,35.77746,35.82403]}, - {"t":1.08711, "x":6.07628, "y":6.03463, "heading":0.00043, "vx":-2.74975, "vy":-1.07583, "omega":0.00224, "ax":-1.83147, "ay":2.37208, "alpha":-0.02244, "fx":[-31.30528,-30.77607,-31.26677,-31.26324], "fy":[40.33772,40.39729,40.31626,40.34236]}, - {"t":1.12459, "x":5.97191, "y":5.99597, "heading":0.00051, "vx":-2.8184, "vy":-0.98691, "omega":0.0014, "ax":-1.52063, "ay":2.5826, "alpha":0.01323, "fx":[-25.86789,-25.90337,-25.84647,-25.84423], "fy":[43.97903,43.79809,43.95862,43.98116]}, - {"t":1.16208, "x":5.86519, "y":5.96079, "heading":0.00056, "vx":-2.8754, "vy":-0.89009, "omega":0.0019, "ax":-1.2263, "ay":2.73486, "alpha":-0.01445, "fx":[-20.95664,-20.61236,-20.93415,-20.93267], "fy":[46.51512,46.54196,46.50296,46.51704]}, - {"t":1.19956, "x":5.75654, "y":5.92934, "heading":0.00063, "vx":-2.92137, "vy":-0.78757, "omega":0.00135, "ax":-0.95867, "ay":2.83997, "alpha":0.00944, "fx":[-16.30541,-16.33094,-16.2955,-16.29492], "fy":[48.34597,48.19823,48.33752,48.34652]}, - {"t":1.23705, "x":5.64635, "y":5.90181, "heading":0.00068, "vx":-2.95731, "vy":-0.68111, "omega":0.00171, "ax":-0.72091, "ay":2.90962, "alpha":-0.00955, "fx":[-12.31454,-12.11249,-12.31137,-12.31123], "fy":[49.48935,49.50146,49.487,49.48951]}, - {"t":1.27454, "x":5.53499, "y":5.87833, "heading":0.00075, "vx":-2.98434, "vy":-0.57204, "omega":0.00135, "ax":-0.51263, "ay":2.95362, "alpha":0.00481, "fx":[-8.71505,-8.7276,-8.718,-8.71822], "fy":[50.26452,50.16409,50.2679,50.26433]}, - {"t":1.31202, "x":5.42276, "y":5.85896, "heading":0.0008, "vx":-3.00355, "vy":-0.46132, "omega":0.00153, "ax":-0.33136, "ay":2.97957, "alpha":-0.00618, "fx":[-5.64882,-5.56646,-5.66477,-5.66504], "fy":[50.67722,50.68791,50.68432,50.67685]}, - {"t":1.34951, "x":5.30993, "y":5.84376, "heading":0.00086, "vx":-3.01597, "vy":-0.34963, "omega":0.0013, "ax":-0.17384, "ay":2.99303, "alpha":0.00079, "fx":[-2.94837,-2.95172,-2.96374,-2.96398], "fy":[50.9219,50.86264,50.93645,50.92168]}, - {"t":1.387, "x":5.19675, "y":5.83275, "heading":0.00091, "vx":-3.02249, "vy":-0.23743, "omega":0.00133, "ax":-0.0368, "ay":2.99798, "alpha":-0.00506, "fx":[-0.61114,-0.60243,-0.64497,-0.64502], "fy":[50.98681,51.00294,51.00283,50.98674]}, - {"t":1.42448, "x":5.08342, "y":5.82596, "heading":0.00095, "vx":-3.02387, "vy":-0.12505, "omega":0.00114, "ax":0.08282, "ay":2.99718, "alpha":-0.00198, "fx":[1.42187,1.4235,1.39462,1.39484], "fy":[50.98443,50.94597,51.00971,50.98463]}, - {"t":1.46197, "x":4.97013, "y":5.82338, "heading":0.001, "vx":-3.02076, "vy":-0.01269, "omega":0.00106, "ax":0.18764, "ay":2.99255, "alpha":-0.00465, "fx":[3.22976,3.17902,3.17887,3.17943], "fy":[50.88975,50.91489,50.91466,50.89047]}, - {"t":1.49946, "x":4.85702, "y":5.82501, "heading":0.00104, "vx":-3.01373, "vy":0.09949, "omega":0.00089, "ax":0.29082, "ay":2.9827, "alpha":-0.00428, "fx":[4.99793,4.91056,4.93874,4.93959], "fy":[50.71894,50.75112,50.7496,50.7201]}, - {"t":1.53681, "x":4.74465, "y":5.8308, "heading":0.00107, "vx":-3.00287, "vy":0.2109, "omega":0.00073, "ax":0.41339, "ay":2.96969, "alpha":-0.00486, "fx":[7.05245,7.05893,7.00672,7.00824], "fy":[50.51081,50.47812,50.55292,50.51222]}, - {"t":1.57417, "x":4.63276, "y":5.84075, "heading":0.0011, "vx":-2.98743, "vy":0.32184, "omega":0.00055, "ax":0.55171, "ay":2.94701, "alpha":-0.00378, "fx":[9.46183,9.30488,9.38437,9.3866], "fy":[50.10501,50.15206,50.14613,50.10793]}, - {"t":1.61152, "x":4.52155, "y":5.85483, "heading":0.00112, "vx":-2.96682, "vy":0.43192, "omega":0.00041, "ax":0.70819, "ay":2.91324, "alpha":-0.0063, "fx":[12.07185,12.08351,12.01284,12.01599], "fy":[49.54968,49.50692,49.60435,49.55261]}, - {"t":1.64888, "x":4.41122, "y":5.873, "heading":0.00113, "vx":-2.94036, "vy":0.54075, "omega":0.00017, "ax":0.8849, "ay":2.86437, "alpha":-0.00261, "fx":[15.16005,14.91264,15.06547,15.06965], "fy":[48.68985,48.75994,48.74351,48.69531]}, - {"t":1.68623, "x":4.302, "y":5.8952, "heading":0.00114, "vx":-2.90731, "vy":0.64775, "omega":0.00007, "ax":1.08361, "ay":2.7951, "alpha":-0.00662, "fx":[18.4612,18.48047,18.39015,18.39549], "fy":[47.54482,47.46889,47.61209,47.54982]}, - {"t":1.72359, "x":4.19415, "y":5.92134, "heading":0.00114, "vx":-2.86683, "vy":0.75216, "omega":-0.00017, "ax":1.30486, "ay":2.69874, "alpha":-0.00086, "fx":[22.33577,21.98337,22.22759,22.2342], "fy":[45.8604,45.96339,45.92668,45.86905]}, - {"t":1.76094, "x":4.08797, "y":5.95132, "heading":0.00114, "vx":-2.81808, "vy":0.85297, "omega":-0.0002, "ax":1.54727, "ay":2.56727, "alpha":-0.00738, "fx":[26.35051,26.37299,26.2715,26.27914], "fy":[43.66854,43.58336,43.74677,43.67574]}, - {"t":1.7983, "x":3.98378, "y":5.98498, "heading":0.00113, "vx":-2.76029, "vy":0.94887, "omega":-0.00048, "ax":1.80584, "ay":2.39226, "alpha":0.00471, "fx":[30.90607,30.36966,30.79155,30.80034], "fy":[40.63241,40.78146,40.70915,40.64394]}, - {"t":1.83565, "x":3.88193, "y":6.02209, "heading":0.00111, "vx":-2.69283, "vy":1.03823, "omega":-0.0003, "ax":2.07126, "ay":2.16635, "alpha":-0.00615, "fx":[35.26317,35.28556,35.18423,35.19306], "fy":[36.85457,36.7397,36.9388,36.86297]}, - {"t":1.87301, "x":3.78279, "y":6.06239, "heading":0.0011, "vx":-2.61546, "vy":1.11916, "omega":-0.00053, "ax":2.32879, "ay":1.88661, "alpha":0.01364, "fx":[39.85436,39.09221,39.74613,39.75525], "fy":[32.0195,32.21303,32.09889,32.03148]}, - {"t":1.91036, "x":3.68671, "y":6.10551, "heading":0.00108, "vx":-2.52847, "vy":1.18963, "omega":-0.00002, "ax":2.56092, "ay":1.55687, "alpha":0.0014, "fx":[43.5843,43.61726,43.51535,43.52539], "fy":[26.52558,26.23722,26.63143,26.53358]}, - {"t":1.94772, "x":3.59405, "y":6.15103, "heading":0.00108, "vx":-2.4328, "vy":1.24779, "omega":0.00003, "ax":2.75046, "ay":1.19043, "alpha":-0.00405, "fx":[46.86288,46.66767,46.80101,46.80646], "fy":[20.20504,20.31052,20.26897,20.21089]}, - {"t":1.98507, "x":3.50509, "y":6.19848, "heading":0.00108, "vx":-2.33006, "vy":1.29226, "omega":-0.00012, "ax":2.8864, "ay":0.80691, "alpha":-0.0047, "fx":[49.11785,49.12116,49.07179,49.07678], "fy":[13.72061,13.6515,13.8045,13.72474]}, - {"t":2.02243, "x":3.42006, "y":6.24731, "heading":0.00108, "vx":-2.22224, "vy":1.3224, "omega":-0.0003, "ax":2.96641, "ay":0.42829, "alpha":0.00164, "fx":[50.5331,50.31121,50.4924,50.49429], "fy":[7.25735,7.32202,7.30162,7.25937]}, - {"t":2.05978, "x":3.33912, "y":6.29701, "heading":0.00106, "vx":-2.11143, "vy":1.3384, "omega":-0.00024, "ax":2.99642, "ay":0.07261, "alpha":-0.0134, "fx":[50.98109,50.97883,50.95619,50.95673], "fy":[1.17456,1.35829,1.23204,1.17514]}, - {"t":2.09714, "x":3.26234, "y":6.34705, "heading":0.00105, "vx":-1.99949, "vy":1.34111, "omega":-0.00074, "ax":2.98711, "ay":-0.24869, "alpha":0.00562, "fx":[50.87286,50.66631,50.85059,50.85004], "fy":[-4.23999,-4.22367,-4.21631,-4.24059]}, - {"t":2.13449, "x":3.18973, "y":6.39698, "heading":0.00103, "vx":-1.88791, "vy":1.33182, "omega":-0.00053, "ax":2.95021, "ay":-0.53095, "alpha":-0.01994, "fx":[50.18308,50.19865,50.17437,50.17275], "fy":[-9.12903,-8.77046,-9.09551,-9.13023]}, - {"t":2.17185, "x":3.12127, "y":6.44636, "heading":0.00101, "vx":-1.77771, "vy":1.31199, "omega":-0.00127, "ax":2.89596, "ay":-0.77458, "alpha":0.00859, "fx":[49.31221,49.11946,49.30393,49.30251], "fy":[-13.17211,-13.19048,-13.16508,-13.17362]}, - {"t":2.2092, "x":3.05688, "y":6.49483, "heading":0.00096, "vx":-1.66953, "vy":1.28305, "omega":-0.00095, "ax":2.83225, "ay":-0.98277, "alpha":-0.02303, "fx":[48.16571,48.20308,48.1681,48.16606], "fy":[-16.83078,-16.38835,-16.81523,-16.83233]}, - {"t":2.24656, "x":2.99649, "y":6.54207, "heading":0.00092, "vx":-1.56373, "vy":1.24634, "omega":-0.00181, "ax":2.76455, "ay":-1.15998, "alpha":0.00865, "fx":[47.06093,46.91305,47.06217,47.0608], "fy":[-19.72104,-19.75511,-19.72519,-19.72249]}, - {"t":2.28391, "x":2.94001, "y":6.58782, "heading":0.00086, "vx":-1.46046, "vy":1.20301, "omega":-0.00149, "ax":2.69645, "ay":-1.31082, "alpha":-0.01918, "fx":[45.85053,45.89516,45.85965,45.85788], "fy":[-22.39178,-22.01399,-22.38756,-22.39311]}, - {"t":2.32127, "x":2.88733, "y":6.63184, "heading":0.0008, "vx":-1.35973, "vy":1.15405, "omega":-0.00221, "ax":2.63011, "ay":-1.43954, "alpha":0.00826, "fx":[44.76332,44.64712,44.77023,44.76915], "fy":[-24.47347,-24.5127,-24.48393,-24.4746]}, - {"t":2.35862, "x":2.83838, "y":6.67395, "heading":0.00072, "vx":-1.26148, "vy":1.10027, "omega":-0.0019, "ax":2.56677, "ay":-1.54986, "alpha":-0.00496, "fx":[43.64857,43.6707,43.66099,43.66016], "fy":[-26.38934,-26.27421,-26.39696,-26.39017]}, - {"t":2.39598, "x":2.79304, "y":6.71397, "heading":0.00065, "vx":-1.1656, "vy":1.04238, "omega":-0.00208, "ax":2.50705, "ay":-1.6449, "alpha":0.00831, "fx":[42.66468,42.56183,42.67544,42.67467], "fy":[-27.96511,-28.00634,-27.97954,-27.96588]}, - {"t":2.43333, "x":2.75125, "y":6.75176, "heading":0.00057, "vx":-1.07195, "vy":0.98093, "omega":-0.00177, "ax":2.45116, "ay":-1.72723, "alpha":-0.00344, "fx":[41.6802,41.70249,41.69588,41.6954], "fy":[-29.39996,-29.3064,-29.41171,-29.40047]}, - {"t":2.47069, "x":2.71292, "y":6.78719, "heading":0.0005, "vx":-0.98039, "vy":0.91641, "omega":-0.0019, "ax":2.3991, "ay":-1.79897, "alpha":0.00787, "fx":[40.82178,40.73832,40.83604,40.83563], "fy":[-30.58541,-30.62537,-30.60328,-30.5858]}, - {"t":2.50804, "x":2.67797, "y":6.82017, "heading":0.00043, "vx":-0.89077, "vy":0.84921, "omega":-0.00161, "ax":2.35073, "ay":-1.86184, "alpha":-0.00187, "fx":[39.97054,39.99207,39.98923,39.9891], "fy":[-31.68329,-31.61219,-31.69861,-31.68347]}, - {"t":2.5454, "x":2.64634, "y":6.85059, "heading":0.00037, "vx":-0.80296, "vy":0.77966, "omega":-0.00168, "ax":2.30584, "ay":-1.91725, "alpha":0.00742, "fx":[39.22939,39.16406,39.24678,39.24667], "fy":[-32.59708,-32.63557,-32.61791,-32.59713]}, - {"t":2.58275, "x":2.61795, "y":6.87838, "heading":0.00031, "vx":-0.71682, "vy":0.70804, "omega":-0.0014, "ax":2.2642, "ay":-1.96635, "alpha":-0.00104, "fx":[38.49719,38.51889,38.51859,38.51875], "fy":[-33.45801,-33.39592,-33.47634,-33.45792]}, - {"t":2.62011, "x":2.59275, "y":6.90346, "heading":0.00026, "vx":-0.63224, "vy":0.63459, "omega":-0.00144, "ax":2.22554, "ay":-2.01008, "alpha":0.00714, "fx":[37.85881,37.80678,37.87885,37.87898], "fy":[-34.17563,-34.21322,-34.19894,-34.17542]}, - {"t":2.65746, "x":2.57069, "y":6.92576, "heading":0.0002, "vx":-0.54911, "vy":0.5595, "omega":-0.00117, "ax":2.18963, "ay":-2.04921, "alpha":0.00008, "fx":[37.22807,37.24813,37.25179,37.25214], "fy":[-34.86305,-34.81605,-34.8838,-34.86278]}, - {"t":2.69482, "x":2.5517, "y":6.94523, "heading":0.00016, "vx":-0.46731, "vy":0.48295, "omega":-0.00117, "ax":2.15623, "ay":-2.08439, "alpha":0.00761, "fx":[36.6792,36.62536,36.70142,36.7017], "fy":[-35.43879,-35.47798,-35.46416,-35.4384]}, - {"t":2.73217, "x":2.53575, "y":6.96182, "heading":0.00012, "vx":-0.38677, "vy":0.40509, "omega":-0.00088, "ax":2.12513, "ay":-2.11615, "alpha":0.00076, "fx":[36.12987,36.1498,36.15557,36.15606], "fy":[-35.99921,-35.96054,-36.02189,-35.99883]}, - {"t":2.76953, "x":2.52279, "y":6.97547, "heading":0.00008, "vx":-0.30738, "vy":0.32604, "omega":-0.00086, "ax":2.09612, "ay":-2.14495, "alpha":0.0074, "fx":[35.65354,35.60838,35.67752,35.67789], "fy":[-36.46882,-36.50663,-36.4959,-36.46833]}, - {"t":2.80688, "x":2.51277, "y":6.98616, "heading":0.00005, "vx":-0.22908, "vy":0.24592, "omega":-0.00058, "ax":2.06901, "ay":-2.17115, "alpha":0.0013, "fx":[35.17468,35.19407,35.20206,35.2026], "fy":[-36.93283,-36.9002,-36.95706,-36.9324]}, - {"t":2.84424, "x":2.50565, "y":6.99383, "heading":0.00003, "vx":-0.15179, "vy":0.16481, "omega":-0.00053, "ax":2.04366, "ay":-2.19508, "alpha":0.00715, "fx":[34.75862,34.72144,34.7839,34.78428], "fy":[-37.32157,-37.35795,-37.34999,-37.32105]}, - {"t":2.88159, "x":2.50141, "y":6.99845, "heading":0.00001, "vx":-0.07545, "vy":0.08282, "omega":-0.00026, "ax":2.0199, "ay":-2.217, "alpha":0.00708, "fx":[34.35345,34.31909,34.37936,34.37974], "fy":[-37.69445,-37.73039,-37.72356,-37.69393]}, - {"t":2.91895, "x":2.5, "y":7.0, "heading":0.0, "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]}], + {"t":0.0, "x":7.5, "y":7.0, "heading":0.0, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-2.99877, "ay":0.0, "alpha":-0.00462, "fx":[-51.03528,-50.93402,-51.03174,-51.03174], "fy":[-0.00126,0.00124,0.00127,-0.00125]}, + {"t":0.04966, "x":7.4963, "y":7.0, "heading":0.0, "vx":-0.14893, "vy":0.0, "omega":-0.00023, "ax":-2.99936, "ay":0.0, "alpha":-0.00294, "fx":[-51.03741,-50.96939,-51.03308,-51.03308], "fy":[-0.00096,0.00095,0.00096,-0.00095]}, + {"t":0.09933, "x":7.48521, "y":7.0, "heading":-0.00001, "vx":-0.29789, "vy":0.0, "omega":-0.00038, "ax":-2.99933, "ay":0.0, "alpha":-0.0004, "fx":[-51.01246,-51.01246,-51.02309,-51.02309], "fy":[0.00318,0.00406,-0.01043,0.00318]}, + {"t":0.14899, "x":7.46671, "y":7.0, "heading":-0.00003, "vx":-0.44685, "vy":0.0, "omega":-0.0004, "ax":-2.9993, "ay":0.0, "alpha":-0.00321, "fx":[-51.03938,-50.96162,-51.03404,-51.03404], "fy":[-0.00046,0.00045,0.00047,-0.00046]}, + {"t":0.19866, "x":7.44082, "y":7.0, "heading":-0.00005, "vx":-0.59581, "vy":0.0, "omega":-0.00055, "ax":-2.99927, "ay":0.0, "alpha":-0.00005, "fx":[-51.01211,-51.01211,-51.02132,-51.02132], "fy":[0.0043,0.00299,-0.0116,0.00431]}, + {"t":0.24832, "x":7.40753, "y":7.0, "heading":-0.00008, "vx":-0.74476, "vy":0.0, "omega":-0.00056, "ax":-2.99923, "ay":0.0, "alpha":-0.00328, "fx":[-51.04242,-50.95292,-51.03454,-51.03455], "fy":[0.0008,-0.00082,-0.0008,0.00081]}, + {"t":0.29798, "x":7.36685, "y":7.0, "heading":-0.0001, "vx":-0.89371, "vy":0.0, "omega":-0.00072, "ax":-2.99919, "ay":0.0, "alpha":0.00054, "fx":[-51.01204,-51.01203,-51.01884,-51.01884], "fy":[0.00628,0.00123,-0.0138,0.00629]}, + {"t":0.34765, "x":7.31876, "y":7.0, "heading":-0.00014, "vx":-1.04267, "vy":0.0, "omega":-0.00069, "ax":-2.99915, "ay":0.0, "alpha":-0.00332, "fx":[-51.0471,-50.94106,-51.03531,-51.03532], "fy":[0.00279,-0.00281,-0.00277,0.0028]}, + {"t":0.39731, "x":7.26328, "y":7.0, "heading":-0.00018, "vx":-1.19161, "vy":0.0, "omega":-0.00086, "ax":-2.9991, "ay":0.0, "alpha":0.00137, "fx":[-51.01215,-51.01215,-51.01559,-51.01559], "fy":[0.00907,-0.00118,-0.01698,0.00908]}, + {"t":0.44697, "x":7.2004, "y":7.0, "heading":-0.00022, "vx":-1.34056, "vy":0.0, "omega":-0.00079, "ax":-2.99905, "ay":0.0, "alpha":-0.00342, "fx":[-51.05385,-50.92437,-51.03678,-51.03678], "fy":[0.00549,-0.00552,-0.00547,0.0055]}, + {"t":0.49664, "x":7.13013, "y":7.0, "heading":-0.00026, "vx":-1.48951, "vy":0.0, "omega":-0.00096, "ax":-2.99899, "ay":0.0, "alpha":0.00245, "fx":[-51.01237,-51.01237,-51.01142,-51.01142], "fy":[0.01268,-0.00424,-0.02112,0.01269]}, + {"t":0.5463, "x":7.05245, "y":7.0, "heading":-0.0003, "vx":-1.63845, "vy":0.0, "omega":-0.00084, "ax":-2.99892, "ay":0.0, "alpha":-0.00352, "fx":[-51.0623,-50.90341,-51.03856,-51.03856], "fy":[0.00894,-0.00898,-0.00892,0.00895]}, + {"t":0.59597, "x":6.96738, "y":7.0, "heading":-0.00035, "vx":-1.78739, "vy":0.0, "omega":-0.00101, "ax":-2.99884, "ay":0.0, "alpha":0.00379, "fx":[-51.01258,-51.01258,-51.0061,-51.0061], "fy":[0.0171,-0.00799,-0.02622,0.01711]}, + {"t":0.64563, "x":6.87492, "y":7.0, "heading":-0.0004, "vx":-1.93632, "vy":0.0, "omega":-0.00083, "ax":-2.99874, "ay":0.0, "alpha":-0.00391, "fx":[-51.07373,-50.87346,-51.04191,-51.04191], "fy":[0.01318,-0.01323,-0.01314,0.01319]}, + {"t":0.69529, "x":6.77505, "y":7.0, "heading":-0.00044, "vx":-2.08525, "vy":0.0, "omega":-0.00102, "ax":-2.99863, "ay":0.0, "alpha":0.00538, "fx":[-51.01248,-51.01249,-50.99929,-50.99929], "fy":[0.02226,-0.01238,-0.03216,0.02228]}, + {"t":0.74496, "x":6.66779, "y":7.0, "heading":-0.00049, "vx":-2.23417, "vy":0.0, "omega":-0.00075, "ax":-2.9985, "ay":0.0, "alpha":-0.0047, "fx":[-51.08799,-50.83278,-51.04695,-51.04695], "fy":[0.0181,-0.01817,-0.01804,0.01812]}, + {"t":0.79462, "x":6.55314, "y":7.0, "heading":-0.00053, "vx":-2.38309, "vy":0.0, "omega":-0.00099, "ax":-2.99834, "ay":0.0, "alpha":0.00711, "fx":[-51.01139,-51.01139,-50.99058,-50.99058], "fy":[0.02777,-0.01709,-0.03846,0.02779]}, + {"t":0.84429, "x":6.43109, "y":7.0, "heading":-0.00057, "vx":-2.532, "vy":0.0, "omega":-0.00063, "ax":-2.99815, "ay":0.0, "alpha":-0.00552, "fx":[-51.10091,-50.78875,-51.05051,-51.05051], "fy":[0.02322,-0.02332,-0.02314,0.02325]}, + {"t":0.89395, "x":6.30164, "y":7.0, "heading":-0.00061, "vx":-2.6809, "vy":0.0, "omega":-0.00091, "ax":-2.9979, "ay":0.0, "alpha":0.00872, "fx":[-51.00763,-51.00764,-50.9793,-50.9793], "fy":[0.03266,-0.02133,-0.044,0.03268]}, + {"t":0.94361, "x":6.1648, "y":7.0, "heading":-0.00065, "vx":-2.82978, "vy":0.0, "omega":-0.00047, "ax":-2.99758, "ay":0.0, "alpha":-0.00853, "fx":[-51.11831,-50.71168,-51.06094,-51.06094], "fy":[0.02724,-0.02738,-0.02711,0.02726]}, + {"t":0.99328, "x":6.02057, "y":7.0, "heading":-0.00067, "vx":-2.97866, "vy":0.0, "omega":-0.0009, "ax":-2.99714, "ay":0.0, "alpha":0.00928, "fx":[-50.99639,-50.9964,-50.96455,-50.96454], "fy":[0.03389,-0.02245,-0.04533,0.03391]}, + {"t":1.04294, "x":5.86894, "y":7.0, "heading":-0.00072, "vx":-3.12751, "vy":0.0, "omega":-0.00044, "ax":-2.9965, "ay":0.0, "alpha":-0.00975, "fx":[-51.10137,-50.68222,-51.04748,-51.04748], "fy":[0.02558,-0.02574,-0.02543,0.02559]}, + {"t":1.0926, "x":5.70992, "y":7.0, "heading":-0.00074, "vx":-3.27632, "vy":0.0, "omega":-0.00092, "ax":-2.9955, "ay":0.0, "alpha":0.00827, "fx":[-50.96315,-50.96316,-50.94206,-50.94205], "fy":[0.03383,-0.03209,-0.03555,0.03385]}, + {"t":1.14227, "x":5.54351, "y":7.0, "heading":-0.00079, "vx":-3.42509, "vy":0.0, "omega":-0.00051, "ax":-2.9937, "ay":0.0, "alpha":0.00116, "fx":[-50.95088,-50.88626,-50.92532,-50.92531], "fy":[0.00962,-0.0097,-0.00953,0.00962]}, + {"t":1.19193, "x":5.36971, "y":7.0, "heading":-0.00081, "vx":-3.57377, "vy":0.0, "omega":-0.00045, "ax":-2.98949, "ay":0.0, "alpha":-0.00133, "fx":[-50.84093,-50.84094,-50.8598,-50.85979], "fy":[0.00222,0.0001,-0.00482,0.00222]}, + {"t":1.2416, "x":5.18854, "y":7.0, "heading":-0.00083, "vx":-3.72224, "vy":0.0, "omega":-0.00052, "ax":-2.96846, "ay":0.0, "alpha":0.11819, "fx":[-49.78714,-52.52792,-49.82762,-49.82762], "fy":[-0.031,0.03092,0.03101,-0.03101]}, + {"t":1.29126, "x":5.00002, "y":7.0, "heading":-0.00086, "vx":-3.86966, "vy":0.0, "omega":0.00535, "ax":2.96795, "ay":0.0, "alpha":-0.006, "fx":[50.50144,50.50145,50.46655,50.46654], "fy":[-0.01472,0.01695,0.01276,-0.01471]}, + {"t":1.34092, "x":4.8115, "y":7.0, "heading":-0.00059, "vx":-3.72226, "vy":0.0, "omega":0.00505, "ax":2.98943, "ay":0.0, "alpha":-0.0605, "fx":[50.55447,51.76922,50.537,50.537], "fy":[-0.01218,0.01216,0.01221,-0.01218]}, + {"t":1.39059, "x":4.63032, "y":7.0, "heading":-0.00034, "vx":-3.5738, "vy":0.0, "omega":0.00205, "ax":2.99368, "ay":0.0, "alpha":-0.00853, "fx":[50.94018,50.94018,50.90303,50.90303], "fy":[-0.02723,0.02828,0.02618,-0.02723]}, + {"t":1.44025, "x":4.45652, "y":7.0, "heading":-0.00024, "vx":-3.42512, "vy":0.0, "omega":0.00163, "ax":2.99549, "ay":0.0, "alpha":0.0046, "fx":[51.07395,50.71133,51.01224,51.01222], "fy":[-0.03514,0.03528,0.03501,-0.03515]}, + {"t":1.48992, "x":4.29011, "y":7.0, "heading":-0.00016, "vx":-3.27635, "vy":0.0, "omega":0.00185, "ax":2.9965, "ay":0.0, "alpha":-0.01423, "fx":[50.99731,50.99733,50.94175,50.94174], "fy":[-0.0486,0.04954,0.04767,-0.04861]}, + {"t":1.53958, "x":4.13109, "y":7.0, "heading":-0.00007, "vx":-3.12754, "vy":0.0, "omega":0.00115, "ax":2.99713, "ay":0.0, "alpha":0.00542, "fx":[51.12333,50.6986,51.04985,51.04983], "fy":[-0.04035,0.0405,0.04021,-0.04036]}, + {"t":1.58924, "x":3.97946, "y":7.0, "heading":-0.00001, "vx":-2.97869, "vy":0.0, "omega":0.00142, "ax":2.99758, "ay":0.0, "alpha":-0.01309, "fx":[51.01472,51.01474,50.96112,50.9611], "fy":[-0.04347,0.03591,0.05104,-0.04348]}, + {"t":1.63891, "x":3.83523, "y":7.0, "heading":0.00006, "vx":-2.82981, "vy":0.0, "omega":0.00077, "ax":2.9979, "ay":0.0, "alpha":0.00392, "fx":[51.12041,50.7505,51.05141,51.0514], "fy":[-0.0369,0.03702,0.03679,-0.03691]}, + {"t":1.68857, "x":3.69839, "y":7.0, "heading":0.0001, "vx":-2.68093, "vy":0.0, "omega":0.00096, "ax":2.99815, "ay":0.0, "alpha":-0.01139, "fx":[51.01983,51.01984,50.97545,50.97544], "fy":[-0.03893,0.03101,0.04685,-0.03893]}, + {"t":1.73823, "x":3.56894, "y":7.0, "heading":0.00014, "vx":-2.53203, "vy":0.0, "omega":0.0004, "ax":2.99834, "ay":0.0, "alpha":0.0023, "fx":[51.10251,50.81348,51.04393,51.04393], "fy":[-0.0306,0.03069,0.03053,-0.03062]}, + {"t":1.7879, "x":3.44689, "y":7.0, "heading":0.00016, "vx":-2.38312, "vy":0.0, "omega":0.00051, "ax":2.9985, "ay":0.0, "alpha":-0.0092, "fx":[51.02066,51.02067,50.98664,50.98664], "fy":[-0.03238,0.02479,0.03998,-0.03239]}, + {"t":1.83756, "x":3.33223, "y":7.0, "heading":0.00019, "vx":-2.2342, "vy":0.0, "omega":0.00005, "ax":2.99863, "ay":0.0, "alpha":0.00169, "fx":[51.08632,50.85901,51.03909,51.03908], "fy":[-0.02415,0.02421,0.0241,-0.02416]}, + {"t":1.88723, "x":3.22497, "y":7.0, "heading":0.00019, "vx":-2.08528, "vy":0.0, "omega":0.00014, "ax":2.99874, "ay":0.0, "alpha":-0.00711, "fx":[51.02008,51.02008,50.9954,50.9954], "fy":[-0.02583,0.01883,0.03283,-0.02584]}, + {"t":1.93689, "x":3.1251, "y":7.0, "heading":0.0002, "vx":-1.93635, "vy":0.0, "omega":-0.00022, "ax":2.99884, "ay":0.0, "alpha":0.00144, "fx":[51.0721,50.89437,51.03542,51.03542], "fy":[-0.01834,0.01839,0.01831,-0.01836]}, + {"t":1.98655, "x":3.03263, "y":7.0, "heading":0.00019, "vx":-1.78742, "vy":0.0, "omega":-0.00015, "ax":2.99892, "ay":0.0, "alpha":-0.00526, "fx":[51.01906,51.01906,51.00233,51.00233], "fy":[-0.01984,0.01352,0.02617,-0.01986]}, + {"t":2.03622, "x":2.94756, "y":7.0, "heading":0.00018, "vx":-1.63848, "vy":0.0, "omega":-0.00041, "ax":2.99899, "ay":0.0, "alpha":0.00157, "fx":[51.06097,50.91929,51.03364,51.03365], "fy":[-0.01332,0.01336,0.0133,-0.01333]}, + {"t":2.08588, "x":2.86989, "y":7.0, "heading":0.00016, "vx":-1.48954, "vy":0.0, "omega":-0.00033, "ax":2.99905, "ay":0.0, "alpha":-0.00364, "fx":[51.01794,51.01793,51.00793,51.00794], "fy":[-0.01454,0.00888,0.02021,-0.01455]}, + {"t":2.13555, "x":2.79961, "y":7.0, "heading":0.00014, "vx":-1.34059, "vy":0.0, "omega":-0.00051, "ax":2.9991, "ay":0.0, "alpha":0.00193, "fx":[51.05226,50.9368,51.0332,51.0332], "fy":[-0.00895,0.00897,0.00893,-0.00896]}, + {"t":2.18521, "x":2.73673, "y":7.0, "heading":0.00012, "vx":-1.19165, "vy":0.0, "omega":-0.00041, "ax":2.99915, "ay":0.0, "alpha":-0.00221, "fx":[51.01675,51.01674,51.01264,51.01264], "fy":[-0.00978,0.00472,0.01485,-0.00979]}, + {"t":2.23487, "x":2.68125, "y":7.0, "heading":0.0001, "vx":-1.0427, "vy":0.0, "omega":-0.00052, "ax":2.99919, "ay":0.0, "alpha":0.00247, "fx":[51.04525,50.94907,51.03371,51.03371], "fy":[-0.005,0.00502,0.00499,-0.00501]}, + {"t":2.28454, "x":2.63316, "y":7.0, "heading":0.00007, "vx":-0.89374, "vy":0.0, "omega":-0.0004, "ax":2.99923, "ay":0.0, "alpha":-0.00087, "fx":[51.01542,51.01542,51.01679,51.01679], "fy":[-0.00537,0.00084,0.0099,-0.00537]}, + {"t":2.3342, "x":2.59247, "y":7.0, "heading":0.00005, "vx":-0.74479, "vy":0.0, "omega":-0.00044, "ax":2.99927, "ay":0.0, "alpha":0.0031, "fx":[51.03871,50.95893,51.0346,51.03461], "fy":[-0.00123,0.00125,0.00123,-0.00124]}, + {"t":2.38386, "x":2.55918, "y":7.0, "heading":0.00003, "vx":-0.59584, "vy":0.0, "omega":-0.00029, "ax":2.9993, "ay":0.0, "alpha":0.00044, "fx":[51.01384,51.01384,51.02069,51.02069], "fy":[-0.00106,-0.00299,0.00512,-0.00107]}, + {"t":2.43353, "x":2.53329, "y":7.0, "heading":0.00002, "vx":-0.44688, "vy":0.0, "omega":-0.00027, "ax":2.99933, "ay":0.0, "alpha":0.00395, "fx":[51.03354,50.96476,51.03639,51.03639], "fy":[0.00261,-0.0026,-0.00262,0.00261]}, + {"t":2.48319, "x":2.5148, "y":7.0, "heading":0.0, "vx":-0.29792, "vy":0.0, "omega":-0.00007, "ax":2.99936, "ay":0.0, "alpha":0.00182, "fx":[51.01185,51.01185,51.02462,51.02462], "fy":[0.00339,-0.00705,0.00027,0.00339]}, + {"t":2.53286, "x":2.5037, "y":7.0, "heading":0.0, "vx":-0.14896, "vy":0.0, "omega":0.00002, "ax":2.99938, "ay":0.0, "alpha":-0.00039, "fx":[51.02585,51.02585,51.03494,50.98801], "fy":[0.00859,-0.00511,-0.00511,0.00164]}, + {"t":2.58252, "x":2.5, "y":7.0, "heading":0.0, "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":[] diff --git a/src/auto/mod.rs b/src/auto/mod.rs index b85a35b..203380c 100644 --- a/src/auto/mod.rs +++ b/src/auto/mod.rs @@ -62,7 +62,7 @@ impl Auto { Auto::Nothing, // Auto::BlueTriangle, // Auto::Blue180, - // Auto::BlueLong, + Auto::BlueLong, Auto::Blue2, // Auto::RotationTest, Auto::BlueMidLeft2, @@ -112,37 +112,39 @@ pub async fn async_score( indexer: &mut Indexer, elevator_position: ElevatorPosition, dt: Duration, + use_tag: Option, ) -> bool { elevator.set_target(elevator_position); join!( - async { + timeout(Duration::from_secs_f64(2.), async { loop { drivetrain.update_limelight().await; drivetrain.post_odo().await; - if drivetrain.lineup(lineup_side, elevator_position, dt).await { + if drivetrain.lineup(lineup_side, elevator_position, dt, use_tag).await { break; } sleep(Duration::from_millis(20)).await; } - }, + }), elevator.run_to_target_trapezoid_async() ); drivetrain.stop(); - while indexer.get_laser_dist() < constants::indexer::LASER_TRIP_DISTANCE_MM { - let indexer_speed = match elevator_position { - ElevatorPosition::Bottom => BOTTOM_SPEED, - ElevatorPosition::L2 => L2_SPEED, - ElevatorPosition::L3 => L3_SPEED, - ElevatorPosition::L4 => L4_SPEED, - }; - indexer.set_speed(indexer_speed); - } - sleep(Duration::from_secs_f64(0.5)).await; + let indexer_speed = match elevator_position { + ElevatorPosition::Bottom => BOTTOM_SPEED, + ElevatorPosition::L2 => L2_SPEED, + ElevatorPosition::L3 => L3_SPEED, + ElevatorPosition::L4 => L4_SPEED, + }; + indexer.set_speed(indexer_speed); + + wait(|| indexer.get_laser_dist() > LASER_TRIP_DISTANCE_MM || indexer.get_laser_dist() == -1).await; + + sleep(Duration::from_secs_f64(0.25)).await; indexer.stop(); true @@ -210,8 +212,8 @@ pub async fn blue_2(robot: Ferris) -> Result<(), Box> { drivetrain.reset_heading_offset(Angle::new::(180.)); drivetrain.odometry.set_abs(Vector2::new( - Length::new::(8.020708084106445), - Length::new::(7.632927417755127), + Length::new::(7.215517520904541), + Length::new::(5.439107418060303), )); join!(drive("Blue2", &mut drivetrain, 1), async { @@ -226,9 +228,11 @@ pub async fn blue_2(robot: Ferris) -> Result<(), Box> { elevator.run_to_target_trapezoid(); }); - let _ = timeout(Duration::from_secs_f64(0.75), async { + let _ = timeout(Duration::from_secs_f64(1.25), async { loop { drivetrain.update_limelight().await; + drivetrain.post_odo().await; + sleep(Duration::from_millis(20)).await; } }).await; @@ -240,6 +244,7 @@ pub async fn blue_2(robot: Ferris) -> Result<(), Box> { &mut indexer, ElevatorPosition::L4, robot.dt, + Some(19) ) .await; @@ -260,7 +265,7 @@ pub async fn blue_2(robot: Ferris) -> Result<(), Box> { elevator.run_to_target_trapezoid(); }); - let _ = timeout(Duration::from_secs_f64(0.5), async { + let _ = timeout(Duration::from_secs_f64(0.75), async { loop { drivetrain.update_limelight().await; sleep(Duration::from_millis(20)).await; @@ -274,6 +279,7 @@ pub async fn blue_2(robot: Ferris) -> Result<(), Box> { &mut indexer, ElevatorPosition::L4, robot.dt, + Some(19) ) .await; @@ -330,6 +336,7 @@ async fn blue_mid_left_2(robot: Ferris) -> Result<(), Box &mut indexer, ElevatorPosition::L4, robot.dt, + None, ).await; join!(drive("BlueHighMid2", &mut drivetrain, 3), async { @@ -363,6 +370,7 @@ async fn blue_mid_left_2(robot: Ferris) -> Result<(), Box &mut indexer, ElevatorPosition::L4, robot.dt, + None, ) .await; diff --git a/src/auto/path.rs b/src/auto/path.rs index 3206999..6d79d8a 100644 --- a/src/auto/path.rs +++ b/src/auto/path.rs @@ -81,8 +81,8 @@ pub async fn follow_path_segment( break } - drivetrain.post_odo().await; drivetrain.update_limelight().await; + drivetrain.post_odo().await; let now = Instant::now(); let dt = now - last_loop; diff --git a/src/lib.rs b/src/lib.rs index b74fdd7..5454c20 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -345,8 +345,8 @@ pub fn score( if indexer.get_laser_dist() < constants::indexer::LASER_TRIP_DISTANCE_MM { let indexer_speed = match elevator_position { ElevatorPosition::Bottom => -0.35, - ElevatorPosition::L2 => -0.35, - ElevatorPosition::L3 => -0.35, + ElevatorPosition::L2 => -0.425, + ElevatorPosition::L3 => -0.425, ElevatorPosition::L4 => -0.25, }; indexer.set_speed(indexer_speed); @@ -357,7 +357,7 @@ pub fn score( //elevator.run_to_target_trapezoid(); } } else { - indexer.stop(); + //indexer.stop(); } } diff --git a/src/main.rs b/src/main.rs index 6da28de..5ff613d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,7 +4,7 @@ use std::ops::Deref; use tokio::time::{Duration, Instant}; use frcrs::{init_hal, observe_user_program_starting, refresh_data, Robot}; use frcrs::input::{RobotMode, RobotState}; -use frcrs::networktables::NetworkTable; +use frcrs::networktables::{NetworkTable, SmartDashboard}; use frcrs::telemetry::Telemetry; use tokio::task; use tokio::task::{AbortHandle, spawn_local}; @@ -36,6 +36,8 @@ fn main() { Telemetry::put_selector("auto chooser", Auto::names()).await; + SmartDashboard::start_camera_server(); + let mut last_loop = Instant::now(); let mut auto: Option = None; @@ -106,11 +108,11 @@ async fn teleop(robot: &mut Ferris) { let drivetrain_aligned = if robot.controllers.right_drive.get(LINEUP_LEFT) { drivetrain - .lineup(LineupSide::Left, elevator.get_target(), robot.dt) + .lineup(LineupSide::Left, elevator.get_target(), robot.dt, None) .await } else if robot.controllers.right_drive.get(LINEUP_RIGHT) { drivetrain - .lineup(LineupSide::Right, elevator.get_target(), robot.dt) + .lineup(LineupSide::Right, elevator.get_target(), robot.dt, None) .await } else if robot.controllers.operator.get(WHEELS_ZERO) { drivetrain.set_wheels_zero(); diff --git a/src/subsystems/climber.rs b/src/subsystems/climber.rs index 8270444..989113f 100644 --- a/src/subsystems/climber.rs +++ b/src/subsystems/climber.rs @@ -42,7 +42,7 @@ impl Climber { pub async fn climb(ferris: Ferris) { if let Ok(climber) = ferris.climber.try_borrow_mut() { climber.set_raise(true); - sleep(Duration::from_secs(1)).await; + sleep(Duration::from_secs_f64(1.75)).await; climber.set_grab(true); sleep(Duration::from_secs_f64(0.25)).await; climber.set_raise(false); diff --git a/src/subsystems/drivetrain.rs b/src/subsystems/drivetrain.rs index d8f8fb4..d5af480 100644 --- a/src/subsystems/drivetrain.rs +++ b/src/subsystems/drivetrain.rs @@ -535,11 +535,11 @@ impl Drivetrain { self.offset = self.get_angle() + offset; } - pub async fn lineup(&mut self, side: LineupSide, target_level: ElevatorPosition, dt: Duration) -> bool { + pub async fn lineup(&mut self, side: LineupSide, target_level: ElevatorPosition, dt: Duration, use_tag: Option) -> bool { let mut last_error = Vector2::zeros(); let mut i = Vector2::zeros(); - if let Some(target) = self.calculate_target_lineup_position(side, target_level) { + if let Some(target) = self.calculate_target_lineup_position(side, target_level, use_tag) { let mut error_position = target.position - self.odometry.robot_pose_estimate.get_position_meters(); @@ -612,8 +612,14 @@ impl Drivetrain { &mut self, side: LineupSide, target_level: ElevatorPosition, + use_tag: Option, ) -> Option { - let tag_id = self.limelight.get_saved_id(); + let tag_id = if use_tag.is_some() { + use_tag.unwrap() + } else { + self.limelight.get_saved_id() + }; + if tag_id == -1 { return None; } diff --git a/src/subsystems/elevator.rs b/src/subsystems/elevator.rs index 6147a71..40381b2 100644 --- a/src/subsystems/elevator.rs +++ b/src/subsystems/elevator.rs @@ -4,6 +4,7 @@ use frcrs::ctre::{ControlMode, Talon}; use std::fmt::Display; use std::time::Duration; use tokio::time::sleep; +use crate::auto::wait; pub struct Elevator { left: Talon, @@ -101,12 +102,11 @@ impl Elevator { ElevatorPosition::L4 => elevator::L4, }; - while (self.right.get_position() - target_position).abs() > elevator::POSITION_TOLERANCE { - self.right.set(ControlMode::MotionMagic, target_position); - self.left.follow(&self.right, true); + self.right.set(ControlMode::MotionMagic, target_position); + self.left.follow(&self.right, true); + + wait(|| (self.right.get_position() - target_position).abs() < elevator::POSITION_TOLERANCE).await; - sleep(Duration::from_millis(20)).await; - } println!("elevator at target"); } From c4f4b8414da4a13d10381a1e961261300f458328 Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Sun, 2 Mar 2025 17:16:50 -0600 Subject: [PATCH 12/42] mirroring autos --- Cargo.toml | 4 ++-- src/auto/mod.rs | 8 +++++--- src/auto/path.rs | 12 ++++++++---- src/subsystems/drivetrain.rs | 6 +++++- src/swerve/odometry.rs | 18 ++++++++++++++++++ 5 files changed, 38 insertions(+), 10 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index cd0281b..d6ef236 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,8 +11,8 @@ serde = { version = "1.0.217", features = ["derive"] } serde_json = "1.0.134" uom = { version = "0.35.0", features = ["f64"] } nalgebra = "0.32.3" -wpi-trajectory = { git = "https://github.com/Sha-dos/trajectory-rs" } -#wpi-trajectory = { path = "../trajectory-rs" } +#wpi-trajectory = { git = "https://github.com/Sha-dos/trajectory-rs" } +wpi-trajectory = { path = "../trajectory-rs" } axum = "0.7.4" # limelightlib-rust = { git = "https://github.com/LimelightVision/limelightlib-rust.git" } diff --git a/src/auto/mod.rs b/src/auto/mod.rs index 203380c..dbc3e9d 100644 --- a/src/auto/mod.rs +++ b/src/auto/mod.rs @@ -60,7 +60,7 @@ impl Auto { pub fn iterator() -> Vec { vec![ Auto::Nothing, - // Auto::BlueTriangle, + Auto::BlueTriangle, // Auto::Blue180, Auto::BlueLong, Auto::Blue2, @@ -153,7 +153,9 @@ pub async fn async_score( pub async fn blue_triangle(robot: Ferris) -> Result<(), Box> { let mut drivetrain = robot.drivetrain.deref().borrow_mut(); - drivetrain.odometry.set_abs(Vector2::new( + drivetrain.reset_heading(); + + drivetrain.odometry.set(Vector2::new( Length::new::(8.075126647949219), Length::new::(2.0993127822875977), )); @@ -211,7 +213,7 @@ pub async fn blue_2(robot: Ferris) -> Result<(), Box> { drivetrain.reset_heading_offset(Angle::new::(180.)); - drivetrain.odometry.set_abs(Vector2::new( + drivetrain.odometry.set(Vector2::new( Length::new::(7.215517520904541), Length::new::(5.439107418060303), )); diff --git a/src/auto/path.rs b/src/auto/path.rs index 6d79d8a..4ee1c1c 100644 --- a/src/auto/path.rs +++ b/src/auto/path.rs @@ -99,8 +99,8 @@ pub async fn follow_path_segment( let setpoint = if red { path.get(Time::new::(elapsed)).mirror( - Length::new::(HALF_FIELD_LENGTH_METERS), - Length::new::(HALF_FIELD_WIDTH_METERS)) + Length::new::(HALF_FIELD_WIDTH_METERS), + Length::new::(HALF_FIELD_LENGTH_METERS)) } else { path.get(Time::new::(elapsed)) }; @@ -163,6 +163,10 @@ pub async fn follow_path_segment( speed += (speed - last_error) * SWERVE_DRIVE_KD * dt.as_secs_f64(); last_error = speed_s; + if red { + speed *= -1.; + } + drivetrain.set_speeds( speed.x, speed.y, @@ -170,8 +174,8 @@ pub async fn follow_path_segment( SwerveControlStyle::FieldOriented, ); - Telemetry::put_number("path_turn_err", error_angle).await; - Telemetry::put_number("path_target_angle", angle.get::()).await; + Telemetry::put_number("Auto X", position.x).await; + Telemetry::put_number("Auto Y", position.y).await; sleep(Duration::from_millis(20)).await; } diff --git a/src/subsystems/drivetrain.rs b/src/subsystems/drivetrain.rs index d5af480..8cafb25 100644 --- a/src/subsystems/drivetrain.rs +++ b/src/subsystems/drivetrain.rs @@ -417,7 +417,11 @@ impl Drivetrain { let mut sensor_measurements = Vec::new(); if let Some(odo_estimate) = self .odometry - .calculate_arcs(positions, (angle + Angle::new::(180.))) + .calculate_arcs(positions, (angle + if alliance_station().red() { + Angle::new::(0.) + } else { + Angle::new::(180.) + })) { //println!("new odo pose estimate: x {} y {} fom {}",odo_estimate.get_position_meters().x, odo_estimate.get_position_meters().y, odo_estimate.figure_of_merit.get::()); sensor_measurements.push(odo_estimate); diff --git a/src/swerve/odometry.rs b/src/swerve/odometry.rs index 864697d..7867531 100644 --- a/src/swerve/odometry.rs +++ b/src/swerve/odometry.rs @@ -11,6 +11,7 @@ use uom::si::{ f64::{Angle, Length}, length::meter, }; +use crate::constants::{HALF_FIELD_LENGTH_METERS, HALF_FIELD_WIDTH_METERS}; #[derive(Default, Clone)] pub struct ModuleReturn { @@ -88,6 +89,23 @@ impl Odometry { self.robot_pose_estimate.figure_of_merit = Length::new::(START_POSITION_FOM); } + /// Set position, mirrored for red + pub fn set(&mut self, position: Vector2) { + self.robot_pose_estimate.figure_of_merit = Length::new::(START_POSITION_FOM); + + if alliance_station().red() { + let half_width = Length::new::(HALF_FIELD_WIDTH_METERS); + let half_length = Length::new::(HALF_FIELD_LENGTH_METERS); + + self.robot_pose_estimate.set_absolute(Vector2::new( + half_width - position.x + half_width, + half_length - position.y + half_length + )); + } else { + self.robot_pose_estimate.set_absolute(position); + } + } + pub fn calculate( &mut self, positions: Vec, From 77725a173106047d181a23e91d81fb2877dcdaf5 Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Sun, 2 Mar 2025 18:01:00 -0600 Subject: [PATCH 13/42] red odo works, rotation needs to be fixed --- src/subsystems/drivetrain.rs | 10 ++-------- src/subsystems/vision.rs | 9 ++++++++- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/subsystems/drivetrain.rs b/src/subsystems/drivetrain.rs index 8cafb25..097f86a 100644 --- a/src/subsystems/drivetrain.rs +++ b/src/subsystems/drivetrain.rs @@ -129,12 +129,6 @@ impl Drivetrain { 5807, )); - let offset = if alliance_station().red() { - Angle::new::(180.) - } else { - Angle::new::(0.) - }; - let abs_offsets = [ Angle::new::((-fr_encoder.get_absolute() * 360.) - FR_OFFSET_DEGREES), Angle::new::((-fl_encoder.get_absolute() * 360.) - FL_OFFSET_DEGREES), @@ -164,7 +158,7 @@ impl Drivetrain { kinematics: Swerve::rectangle(Length::new::(21.5), Length::new::(21.5)), odometry: Odometry::new(), - offset, + offset: Angle::new::(0.), limelight: limelight, @@ -264,7 +258,7 @@ impl Drivetrain { .get::(), ) .await; - Telemetry::put_number("angle", self.get_offset().get::()).await; + Telemetry::put_number("angle", self.get_offset().get::()).await; Telemetry::put_number( "FOM", self.odometry diff --git a/src/subsystems/vision.rs b/src/subsystems/vision.rs index 3293762..cccd4d2 100644 --- a/src/subsystems/vision.rs +++ b/src/subsystems/vision.rs @@ -1,3 +1,4 @@ +use std::f64::consts::PI; use frcrs::limelight::{Limelight, LimelightResults}; use std::fs::File; @@ -20,6 +21,7 @@ use crate::constants::pose_estimation::{ }; use crate::swerve::odometry::PoseEstimate; use std::net::SocketAddr; +use frcrs::alliance_station; use tokio::time::Instant; #[derive(Clone)] @@ -205,7 +207,12 @@ impl Vision { pub fn get_position_from_tag_2d(&self) -> Option> { let id = self.get_id(); let dist = self.get_dist()?; - let drivetrain_angle = Angle::new::(-self.drivetrain_angle.get::()); + + let drivetrain_angle = if alliance_station().red() { + Angle::new::(-self.drivetrain_angle.get::() + PI) + } else { + Angle::new::(-self.drivetrain_angle.get::()) + }; //println!("dist: {}", dist.get::()); From 3df78ed098bac4722d7430e4482b1cfd20dab6b5 Mon Sep 17 00:00:00 2001 From: TheSnowHatHero Date: Fri, 7 Mar 2025 20:36:37 -0600 Subject: [PATCH 14/42] Red auto works mostly (it does a little spin) --- auto/Blue2.traj | 3 ++- src/auto/mod.rs | 13 +++++++++---- src/auto/path.rs | 3 --- src/container.rs | 13 ++++++++++--- src/subsystems/drivetrain.rs | 12 ++++-------- src/subsystems/vision.rs | 6 +----- 6 files changed, 26 insertions(+), 24 deletions(-) diff --git a/auto/Blue2.traj b/auto/Blue2.traj index af6dc5b..8ba2cd4 100644 --- a/auto/Blue2.traj +++ b/auto/Blue2.traj @@ -27,7 +27,8 @@ {"x":{"exp":"4.385048866271973 m", "val":4.385048866271973}, "y":{"exp":"5.797516345977783 m", "val":5.797516345977783}, "heading":{"exp":"-2.832393716810233 rad", "val":-2.832393716810233}, "intervals":28, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, {"x":{"exp":"4.20214 m", "val":4.20214}, "y":{"exp":"5.31078 m", "val":5.31078}, "heading":{"exp":"-2.61799 rad", "val":-2.61799}, "intervals":62, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, {"x":{"exp":"0.8179629445075989 m", "val":0.8179629445075989}, "y":{"exp":"6.8356733322143555 m", "val":6.8356733322143555}, "heading":{"exp":"2.223643141658804 rad", "val":2.223643141658804}, "intervals":60, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, - {"x":{"exp":"4.043154239654541 m", "val":4.043154239654541}, "y":{"exp":"5.656472206115723 m", "val":5.656472206115723}, "heading":{"exp":"-2.61799 rad", "val":-2.61799}, "intervals":35, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + {"x":{"exp":"4.043154239654541 m", "val":4.043154239654541}, "y":{"exp":"5.656472206115723 m", "val":5.656472206115723}, "heading":{"exp":"-2.61799 rad", "val":-2.61799}, "intervals":35, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"13.293108940124512 m", "val":13.293108940124512}, "y":{"exp":"2.7016777992248535 m", "val":2.7016777992248535}, "heading":{"exp":"0.5028429218295835 rad", "val":0.5028429218295835}, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], "constraints":[ {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, diff --git a/src/auto/mod.rs b/src/auto/mod.rs index dbc3e9d..31b06bb 100644 --- a/src/auto/mod.rs +++ b/src/auto/mod.rs @@ -6,6 +6,7 @@ use serde::{Deserialize, Serialize}; use std::cell::RefMut; use std::ops::Deref; use std::time::Duration; +use frcrs::alliance_station; use tokio::join; use tokio::time::{sleep, Instant, timeout}; use uom::si::{f64::Length, length::meter}; @@ -211,8 +212,12 @@ pub async fn blue_2(robot: Ferris) -> Result<(), Box> { let mut elevator = robot.elevator.deref().borrow_mut(); let mut indexer = robot.indexer.deref().borrow_mut(); - drivetrain.reset_heading_offset(Angle::new::(180.)); - + drivetrain.reset_heading_offset( + if alliance_station().red() { + Angle::new::(0.) + } else { + Angle::new::(180.) + }); drivetrain.odometry.set(Vector2::new( Length::new::(7.215517520904541), Length::new::(5.439107418060303), @@ -246,7 +251,7 @@ pub async fn blue_2(robot: Ferris) -> Result<(), Box> { &mut indexer, ElevatorPosition::L4, robot.dt, - Some(19) + if alliance_station().red() {Some(6)} else { Some(19)} ) .await; @@ -281,7 +286,7 @@ pub async fn blue_2(robot: Ferris) -> Result<(), Box> { &mut indexer, ElevatorPosition::L4, robot.dt, - Some(19) + if alliance_station().red() {Some(6)} else { Some(19)} ) .await; diff --git a/src/auto/path.rs b/src/auto/path.rs index 4ee1c1c..b9d4631 100644 --- a/src/auto/path.rs +++ b/src/auto/path.rs @@ -163,9 +163,6 @@ pub async fn follow_path_segment( speed += (speed - last_error) * SWERVE_DRIVE_KD * dt.as_secs_f64(); last_error = speed_s; - if red { - speed *= -1.; - } drivetrain.set_speeds( speed.x, diff --git a/src/container.rs b/src/container.rs index 59c7eea..ef7a1de 100644 --- a/src/container.rs +++ b/src/container.rs @@ -2,7 +2,8 @@ use crate::constants::drivetrain::SWERVE_TURN_KP; use crate::constants::joystick_map::*; use crate::subsystems::{Drivetrain, DrivetrainControlState, SwerveControlStyle}; use crate::Controllers; -use frcrs::deadzone; +use frcrs::{alliance_station, deadzone}; +use frcrs::input::RobotState; use nalgebra::ComplexField; use uom::si::angle::{degree, radian}; @@ -45,8 +46,8 @@ pub async fn control_drivetrain( } else { 0.0..1. }; - let deadly = deadzone(left_drive.get_y(), &joystick_range, &power_translate); - let deadlx = deadzone(left_drive.get_x(), &joystick_range, &power_translate); + let mut deadly = deadzone(left_drive.get_y(), &joystick_range, &power_translate); + let mut deadlx = deadzone(left_drive.get_x(), &joystick_range, &power_translate); let deadrz = deadzone(right_drive.get_z(), &joystick_range, &power_rotate); let hold_angle = deadrz == 0. && right_drive.get(3); @@ -73,6 +74,12 @@ pub async fn control_drivetrain( deadrz }; + // Flip because the driver is facing the other way + if alliance_station().red() { + deadlx *= -1.; + deadly *= -1.; + } + drivetrain.set_speeds(deadly, deadlx, rot, SwerveControlStyle::FieldOriented); if right_drive.get(RESET_HEADING) { diff --git a/src/subsystems/drivetrain.rs b/src/subsystems/drivetrain.rs index 097f86a..8e670b8 100644 --- a/src/subsystems/drivetrain.rs +++ b/src/subsystems/drivetrain.rs @@ -411,11 +411,7 @@ impl Drivetrain { let mut sensor_measurements = Vec::new(); if let Some(odo_estimate) = self .odometry - .calculate_arcs(positions, (angle + if alliance_station().red() { - Angle::new::(0.) - } else { - Angle::new::(180.) - })) + .calculate_arcs(positions, (angle + Angle::new::(180.))) { //println!("new odo pose estimate: x {} y {} fom {}",odo_estimate.get_position_meters().x, odo_estimate.get_position_meters().y, odo_estimate.figure_of_merit.get::()); sensor_measurements.push(odo_estimate); @@ -566,9 +562,9 @@ impl Drivetrain { let speed_s = speed; last_error = speed_s; - if alliance_station().red() { - speed.x *= -1. - } + // if alliance_station().red() { + // speed.x *= -1. + // } Telemetry::put_number("error_position_x", error_position.x).await; Telemetry::put_number("error_position_y", error_position.y).await; diff --git a/src/subsystems/vision.rs b/src/subsystems/vision.rs index cccd4d2..17d4d66 100644 --- a/src/subsystems/vision.rs +++ b/src/subsystems/vision.rs @@ -208,11 +208,7 @@ impl Vision { let id = self.get_id(); let dist = self.get_dist()?; - let drivetrain_angle = if alliance_station().red() { - Angle::new::(-self.drivetrain_angle.get::() + PI) - } else { - Angle::new::(-self.drivetrain_angle.get::()) - }; + let drivetrain_angle = -self.drivetrain_angle; //println!("dist: {}", dist.get::()); From f79ccb995bb70e8a966362bc9cc37fccb36d3b0e Mon Sep 17 00:00:00 2001 From: TheSnowHatHero Date: Sat, 8 Mar 2025 12:20:29 -0600 Subject: [PATCH 15/42] fully working red auto --- auto/Blue2.traj | 2 +- src/auto/path.rs | 5 +++-- src/constants.rs | 8 ++++---- src/lib.rs | 9 +++++---- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/auto/Blue2.traj b/auto/Blue2.traj index 8ba2cd4..bdaf8e5 100644 --- a/auto/Blue2.traj +++ b/auto/Blue2.traj @@ -28,7 +28,7 @@ {"x":{"exp":"4.20214 m", "val":4.20214}, "y":{"exp":"5.31078 m", "val":5.31078}, "heading":{"exp":"-2.61799 rad", "val":-2.61799}, "intervals":62, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, {"x":{"exp":"0.8179629445075989 m", "val":0.8179629445075989}, "y":{"exp":"6.8356733322143555 m", "val":6.8356733322143555}, "heading":{"exp":"2.223643141658804 rad", "val":2.223643141658804}, "intervals":60, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, {"x":{"exp":"4.043154239654541 m", "val":4.043154239654541}, "y":{"exp":"5.656472206115723 m", "val":5.656472206115723}, "heading":{"exp":"-2.61799 rad", "val":-2.61799}, "intervals":35, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, - {"x":{"exp":"13.293108940124512 m", "val":13.293108940124512}, "y":{"exp":"2.7016777992248535 m", "val":2.7016777992248535}, "heading":{"exp":"0.5028429218295835 rad", "val":0.5028429218295835}, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + {"x":{"exp":"2.8063414096832275 m", "val":2.8063414096832275}, "y":{"exp":"6.129861831665039 m", "val":6.129861831665039}, "heading":{"exp":"-3.122726949501708 rad", "val":-3.122726949501708}, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], "constraints":[ {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, diff --git a/src/auto/path.rs b/src/auto/path.rs index b9d4631..b2bf5b1 100644 --- a/src/auto/path.rs +++ b/src/auto/path.rs @@ -171,8 +171,9 @@ pub async fn follow_path_segment( SwerveControlStyle::FieldOriented, ); - Telemetry::put_number("Auto X", position.x).await; - Telemetry::put_number("Auto Y", position.y).await; + Telemetry::put_number("target_x", position.x).await; + Telemetry::put_number("target_y", position.y).await; + Telemetry::put_number("target_angle", angle.get::()).await; sleep(Duration::from_millis(20)).await; } diff --git a/src/constants.rs b/src/constants.rs index 42e5311..ec809f7 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -121,10 +121,10 @@ pub mod elevator { pub mod indexer { pub const LASER_TRIP_DISTANCE_MM: i32 = 2; pub const INTAKE_SPEED: f64 = -0.25; - pub const BOTTOM_SPEED: f64 = -0.5; - pub const L2_SPEED: f64 = -0.5; - pub const L3_SPEED: f64 = -0.5; - pub const L4_SPEED: f64 = -0.35; + pub const BOTTOM_SPEED: f64 = -0.35; + pub const L2_SPEED: f64 = -0.425; + pub const L3_SPEED: f64 = -0.425; + pub const L4_SPEED: f64 = -0.25; } pub mod joystick_map { // Joystick IDs (set in driver station) diff --git a/src/lib.rs b/src/lib.rs index 5454c20..2faeb4d 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -30,6 +30,7 @@ use tokio::runtime::Handle; use tokio::task::{spawn_local, AbortHandle}; use tokio::time::sleep; use uom::si::angle::degree; +use crate::constants::indexer::{BOTTOM_SPEED, L2_SPEED, L3_SPEED, L4_SPEED}; #[derive(Clone)] pub struct Controllers { @@ -344,10 +345,10 @@ pub fn score( if elevator_at_target && drivetrain_aligned { if indexer.get_laser_dist() < constants::indexer::LASER_TRIP_DISTANCE_MM { let indexer_speed = match elevator_position { - ElevatorPosition::Bottom => -0.35, - ElevatorPosition::L2 => -0.425, - ElevatorPosition::L3 => -0.425, - ElevatorPosition::L4 => -0.25, + ElevatorPosition::Bottom => BOTTOM_SPEED, + ElevatorPosition::L2 => L2_SPEED, + ElevatorPosition::L3 => L3_SPEED, + ElevatorPosition::L4 => L4_SPEED, }; indexer.set_speed(indexer_speed); } else { From 2fc7652f180363d78f04dc82646fb6d5f4203fc7 Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Sat, 8 Mar 2025 12:20:55 -0600 Subject: [PATCH 16/42] updated path --- auto/Blue2.traj | 438 ++++++++++++++++++++++++------------------------ 1 file changed, 221 insertions(+), 217 deletions(-) diff --git a/auto/Blue2.traj b/auto/Blue2.traj index bdaf8e5..f077a5b 100644 --- a/auto/Blue2.traj +++ b/auto/Blue2.traj @@ -3,28 +3,30 @@ "version":1, "snapshot":{ "waypoints":[ - {"x":7.215517520904541, "y":5.439107418060303, "heading":3.141592653589793, "intervals":48, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, - {"x":4.385048866271973, "y":5.797516345977783, "heading":-2.832393716810233, "intervals":28, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":7.215517520904541, "y":5.439107418060303, "heading":3.141592653589793, "intervals":42, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":4.602366924285889, "y":5.840433120727539, "heading":3.141592653589793, "intervals":27, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":4.002677917480469, "y":5.568408966064453, "heading":-2.631621058010692, "intervals":9, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, {"x":4.20214, "y":5.31078, "heading":-2.61799, "intervals":62, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, {"x":0.8179629445075989, "y":6.8356733322143555, "heading":2.223643141658804, "intervals":60, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, {"x":4.043154239654541, "y":5.656472206115723, "heading":-2.61799, "intervals":35, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], "constraints":[ {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, - {"from":0, "to":1, "data":{"type":"MaxAcceleration", "props":{"max":2.5}}, "enabled":true}, + {"from":0, "to":2, "data":{"type":"MaxAcceleration", "props":{"max":2.5}}, "enabled":true}, + {"from":3, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, {"from":2, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, - {"from":1, "to":2, "data":{"type":"MaxAcceleration", "props":{"max":1.5}}, "enabled":true}, - {"from":1, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":5, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":3, "to":5, "data":{"type":"MaxAcceleration", "props":{"max":2.25}}, "enabled":true}, {"from":4, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, - {"from":2, "to":4, "data":{"type":"MaxAcceleration", "props":{"max":2.25}}, "enabled":true}, - {"from":3, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, - {"from":0, "to":4, "data":{"type":"MaxVelocity", "props":{"max":4.0}}, "enabled":true}], + {"from":0, "to":5, "data":{"type":"MaxVelocity", "props":{"max":4.0}}, "enabled":true}, + {"from":0, "to":1, "data":{"type":"MaxAngularVelocity", "props":{"max":0.001}}, "enabled":true}], "targetDt":0.05 }, "params":{ "waypoints":[ - {"x":{"exp":"7.215517520904541 m", "val":7.215517520904541}, "y":{"exp":"5.439107418060303 m", "val":5.439107418060303}, "heading":{"exp":"180 deg", "val":3.141592653589793}, "intervals":48, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, - {"x":{"exp":"4.385048866271973 m", "val":4.385048866271973}, "y":{"exp":"5.797516345977783 m", "val":5.797516345977783}, "heading":{"exp":"-2.832393716810233 rad", "val":-2.832393716810233}, "intervals":28, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"7.215517520904541 m", "val":7.215517520904541}, "y":{"exp":"5.439107418060303 m", "val":5.439107418060303}, "heading":{"exp":"180 deg", "val":3.141592653589793}, "intervals":42, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"4.602366924285889 m", "val":4.602366924285889}, "y":{"exp":"5.840433120727539 m", "val":5.840433120727539}, "heading":{"exp":"180 deg", "val":3.141592653589793}, "intervals":27, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"4.002677917480469 m", "val":4.002677917480469}, "y":{"exp":"5.568408966064453 m", "val":5.568408966064453}, "heading":{"exp":"-2.631621058010692 rad", "val":-2.631621058010692}, "intervals":9, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, {"x":{"exp":"4.20214 m", "val":4.20214}, "y":{"exp":"5.31078 m", "val":5.31078}, "heading":{"exp":"-2.61799 rad", "val":-2.61799}, "intervals":62, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, {"x":{"exp":"0.8179629445075989 m", "val":0.8179629445075989}, "y":{"exp":"6.8356733322143555 m", "val":6.8356733322143555}, "heading":{"exp":"2.223643141658804 rad", "val":2.223643141658804}, "intervals":60, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, {"x":{"exp":"4.043154239654541 m", "val":4.043154239654541}, "y":{"exp":"5.656472206115723 m", "val":5.656472206115723}, "heading":{"exp":"-2.61799 rad", "val":-2.61799}, "intervals":35, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, @@ -32,14 +34,14 @@ "constraints":[ {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, - {"from":0, "to":1, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"2.5 m / s ^ 2", "val":2.5}}}, "enabled":true}, + {"from":0, "to":2, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"2.5 m / s ^ 2", "val":2.5}}}, "enabled":true}, + {"from":3, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, {"from":2, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, - {"from":1, "to":2, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"1.5 m / s ^ 2", "val":1.5}}}, "enabled":true}, - {"from":1, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":5, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":3, "to":5, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"2.25 m / s ^ 2", "val":2.25}}}, "enabled":true}, {"from":4, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, - {"from":2, "to":4, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"2.25 m / s ^ 2", "val":2.25}}}, "enabled":true}, - {"from":3, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, - {"from":0, "to":4, "data":{"type":"MaxVelocity", "props":{"max":{"exp":"4 m / s", "val":4.0}}}, "enabled":true}], + {"from":0, "to":5, "data":{"type":"MaxVelocity", "props":{"max":{"exp":"4 m / s", "val":4.0}}}, "enabled":true}, + {"from":0, "to":1, "data":{"type":"MaxAngularVelocity", "props":{"max":{"exp":"0.001 rad / s", "val":0.001}}}, "enabled":true}], "targetDt":{ "exp":"0.05 s", "val":0.05 @@ -47,208 +49,210 @@ }, "trajectory":{ "sampleType":"Swerve", - "waypoints":[0.0,2.13706,3.31488,5.89824,8.36966], + "waypoints":[0.0,1.62564,2.36193,2.77561,5.34507,7.81649], "samples":[ - {"t":0.0, "x":7.21552, "y":5.43911, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-2.47906, "ay":0.31392, "alpha":0.69785, "fx":[-40.47224,-40.4024,-43.86325,-43.93431], "fy":[3.34496,7.42884,7.28223,3.30288]}, - {"t":0.04452, "x":7.21306, "y":5.43942, "heading":3.14159, "vx":-0.11037, "vy":0.01398, "omega":0.03107, "ax":-2.4796, "ay":0.31399, "alpha":0.60075, "fx":[-40.71782,-40.65715,-43.63625,-43.69792], "fy":[3.62592,7.13366,7.01897,3.58508]}, - {"t":0.08904, "x":7.20569, "y":5.44035, "heading":-3.14021, "vx":-0.22077, "vy":0.02796, "omega":0.05782, "ax":-2.47957, "ay":0.31399, "alpha":0.51391, "fx":[-40.91983,-40.87303,-43.44425,-43.47015], "fy":[3.88968,6.85455,6.78438,3.8348]}, - {"t":0.13357, "x":7.1934, "y":5.44191, "heading":-3.13764, "vx":-0.33116, "vy":0.04194, "omega":0.0807, "ax":-2.47954, "ay":0.31399, "alpha":0.442, "fx":[-41.09987,-41.06354,-43.25266,-43.28912], "fy":[4.0845,6.66903,6.56917,4.04048]}, - {"t":0.17809, "x":7.1762, "y":5.44409, "heading":-3.13404, "vx":-0.44156, "vy":0.05591, "omega":0.10038, "ax":-2.47951, "ay":0.31398, "alpha":0.3726, "fx":[-41.25858,-41.23627,-43.10523,-43.10283], "fy":[4.30025,6.44351,6.38184,4.23734]}, - {"t":0.22261, "x":7.15408, "y":5.44689, "heading":-3.12957, "vx":-0.55195, "vy":0.06989, "omega":0.11696, "ax":-2.47947, "ay":0.31398, "alpha":0.31672, "fx":[-41.39949,-41.3857,-42.95089,-42.96431], "fy":[4.44726,6.30528,6.21137,4.39875]}, - {"t":0.26713, "x":7.12705, "y":5.45031, "heading":-3.12437, "vx":-0.66234, "vy":0.08387, "omega":0.13107, "ax":-2.47943, "ay":0.31397, "alpha":0.26061, "fx":[-41.5264,-41.5237,-42.83651,-42.81096], "fy":[4.62679,6.11826,6.06165,4.55565]}, - {"t":0.31165, "x":7.09511, "y":5.45436, "heading":-3.11853, "vx":-0.77273, "vy":0.09785, "omega":0.14267, "ax":-2.47938, "ay":0.31397, "alpha":0.21748, "fx":[-41.63784,-41.63967,-42.70973,-42.70717], "fy":[4.73251,6.01737,5.92808,4.68405]}, - {"t":0.35618, "x":7.05825, "y":5.45902, "heading":-3.11218, "vx":-0.88312, "vy":0.11183, "omega":0.15235, "ax":-2.47933, "ay":0.31396, "alpha":0.17164, "fx":[-41.74098,-41.75004,-42.62114,-42.57869], "fy":[4.88319,5.85842,5.80917,4.81086]}, - {"t":0.4007, "x":7.01647, "y":5.46431, "heading":-3.1054, "vx":-0.9935, "vy":0.12581, "omega":0.15999, "ax":-2.47927, "ay":0.31396, "alpha":0.13885, "fx":[-41.82874,-41.83805,-42.51516,-42.50484], "fy":[4.95479,5.78733,5.70599,4.9131]}, - {"t":0.44522, "x":6.96978, "y":5.47023, "heading":-3.09827, "vx":-1.10389, "vy":0.13979, "omega":0.16618, "ax":-2.4792, "ay":0.31395, "alpha":0.10105, "fx":[-41.9129,-41.92595,-42.44761,-42.39568], "fy":[5.08561,5.64909,5.61123,5.01474]}, - {"t":0.48974, "x":6.91818, "y":5.47676, "heading":-3.09087, "vx":-1.21426, "vy":0.15376, "omega":0.17067, "ax":-2.47912, "ay":0.31394, "alpha":0.07714, "fx":[-41.981,-41.99035,-42.35799,-42.34739], "fy":[5.12532,5.60574,5.5335,5.09554]}, - {"t":0.53426, "x":6.86166, "y":5.48392, "heading":-3.08328, "vx":-1.32464, "vy":0.16774, "omega":0.17411, "ax":-2.47903, "ay":0.31393, "alpha":0.04568, "fx":[-42.04986,-42.06027,-42.30898,-42.25129], "fy":[5.24131,5.48211,5.4593,5.17668]}, - {"t":0.57879, "x":6.80022, "y":5.4917, "heading":-3.07552, "vx":-1.43501, "vy":0.18172, "omega":0.17614, "ax":-2.47892, "ay":0.31392, "alpha":0.02974, "fx":[-42.09965,-42.10328,-42.23253,-42.2274], "fy":[5.25238,5.46489,5.40312,5.23817]}, - {"t":0.62331, "x":6.73388, "y":5.5001, "heading":-3.06768, "vx":-1.54538, "vy":0.19569, "omega":0.17747, "ax":-2.47879, "ay":0.3139, "alpha":0.00332, "fx":[-42.15497,-42.15832,-42.20083,-42.1396], "fy":[5.3614,5.3509,5.34521,5.30008]}, - {"t":0.66783, "x":6.66262, "y":5.50912, "heading":-3.05978, "vx":-1.65574, "vy":0.20967, "omega":0.17761, "ax":-2.47862, "ay":0.31389, "alpha":-0.00453, "fx":[-42.18649,-42.18081,-42.13566,-42.13947], "fy":[5.33989,5.36549,5.30814,5.3429]}, - {"t":0.71235, "x":6.58644, "y":5.51877, "heading":-3.05187, "vx":-1.76609, "vy":0.22364, "omega":0.17741, "ax":-2.47841, "ay":0.31386, "alpha":-0.02632, "fx":[-42.22715,-42.22128,-42.11957,-42.06014], "fy":[5.44188,5.25637,5.26736,5.38922]}, - {"t":0.75687, "x":6.50536, "y":5.52904, "heading":-3.04397, "vx":-1.87644, "vy":0.23762, "omega":0.17624, "ax":-2.47813, "ay":0.31384, "alpha":-0.02641, "fx":[-42.23965,-42.22408,-42.0661,-42.0796], "fy":[5.39226,5.30303,5.24717,5.41056]}, - {"t":0.8014, "x":6.41936, "y":5.53993, "heading":-3.03613, "vx":-1.98677, "vy":0.25159, "omega":0.17506, "ax":-2.47776, "ay":0.3138, "alpha":-0.04489, "fx":[-42.26568,-42.25165,-42.06793,-41.99866], "fy":[5.50528,5.19323,5.21724,5.43469]}, - {"t":0.84592, "x":6.32845, "y":5.55144, "heading":-3.02833, "vx":-2.09708, "vy":0.26556, "omega":0.17307, "ax":-2.47722, "ay":0.31374, "alpha":-0.03538, "fx":[-42.25178,-42.22885,-42.02294,-42.04358], "fy":[5.40986,5.27908,5.21938,5.43788]}, - {"t":0.89044, "x":6.23263, "y":5.56357, "heading":-3.02063, "vx":-2.20737, "vy":0.27953, "omega":0.17149, "ax":-2.47637, "ay":0.31366, "alpha":-0.04709, "fx":[-42.24117,-42.22334,-42.02584,-41.99888], "fy":[5.52714,5.17378,5.20296,5.43691]}, - {"t":0.93496, "x":6.1319, "y":5.57633, "heading":-3.01299, "vx":-2.31763, "vy":0.29349, "omega":0.16939, "ax":-2.47484, "ay":0.3135, "alpha":-0.02938, "fx":[-42.1981,-42.175,-41.99559,-42.0165], "fy":[5.38786,5.30259,5.22441,5.41512]}, - {"t":0.97948, "x":6.02626, "y":5.58971, "heading":-3.00545, "vx":-2.42781, "vy":0.30745, "omega":0.16809, "ax":-2.47127, "ay":0.31316, "alpha":0.00614, "fx":[-41.89121,-41.87692,-41.75184,-42.62248], "fy":[5.46423,5.22621,5.24635,5.37031]}, - {"t":1.02401, "x":5.91572, "y":5.6037, "heading":-2.99797, "vx":-2.53784, "vy":0.32139, "omega":0.16836, "ax":-2.45386, "ay":0.30887, "alpha":0.0041, "fx":[-41.76563,-41.75734,-41.7144,-41.7206], "fy":[5.21376,5.40251,5.17897,5.22004]}, - {"t":1.06853, "x":5.8003, "y":5.61832, "heading":-2.99047, "vx":-2.64709, "vy":0.33515, "omega":0.16854, "ax":2.45318, "ay":-0.31055, "alpha":-0.04473, "fx":[41.32644,41.31652,41.23112,43.03726], "fy":[-5.50736,-5.1719,-5.18693,-5.26351]}, - {"t":1.11305, "x":5.68487, "y":5.63293, "heading":-2.98297, "vx":-2.53787, "vy":0.32132, "omega":0.16655, "ax":2.47128, "ay":-0.31264, "alpha":0.02762, "fx":[42.1293,42.10502,41.94284,41.96623], "fy":[-5.37013,-5.27971,-5.21993,-5.40171]}, - {"t":1.15757, "x":5.57433, "y":5.64693, "heading":-2.97555, "vx":-2.42784, "vy":0.3074, "omega":0.16778, "ax":2.47485, "ay":-0.31326, "alpha":0.00787, "fx":[41.96516,41.93535,41.7207,42.76475], "fy":[-5.53661,-5.15942,-5.2027,-5.41505]}, - {"t":1.20209, "x":5.46869, "y":5.66031, "heading":-2.96808, "vx":-2.31765, "vy":0.29345, "omega":0.16813, "ax":2.47638, "ay":-0.31349, "alpha":0.04012, "fx":[42.25748,42.21825,41.98887,42.02542], "fy":[-5.40823,-5.26402,-5.19932,-5.45783]}, - {"t":1.24662, "x":5.36796, "y":5.67306, "heading":-2.9606, "vx":-2.2074, "vy":0.2795, "omega":0.16992, "ax":2.47723, "ay":-0.31363, "alpha":0.05216, "fx":[42.27977,42.24526,42.01914,42.00353], "fy":[-5.51399,-5.15173,-5.20181,-5.47117]}, - {"t":1.29114, "x":5.27214, "y":5.68519, "heading":-2.95303, "vx":-2.09711, "vy":0.26553, "omega":0.17224, "ax":2.47777, "ay":-0.31371, "alpha":0.0365, "fx":[42.26915,42.23063,42.02426,42.0604], "fy":[-5.40439,-5.2653,-5.22303,-5.4515]}, - {"t":1.33566, "x":5.18123, "y":5.6967, "heading":-2.94536, "vx":-1.9868, "vy":0.25157, "omega":0.17386, "ax":2.47814, "ay":-0.31376, "alpha":0.04028, "fx":[42.26722,42.2392,42.07126,42.03219], "fy":[-5.4765,-5.19683,-5.23675,-5.43787]}, - {"t":1.38018, "x":5.09523, "y":5.70759, "heading":-2.93762, "vx":-1.87646, "vy":0.2376, "omega":0.17566, "ax":2.47842, "ay":-0.3138, "alpha":0.02037, "fx":[42.23001,42.20506,42.08513,42.10833], "fy":[-5.37244,-5.30453,-5.27292,-5.40074]}, - {"t":1.4247, "x":5.01414, "y":5.71786, "heading":-2.9298, "vx":-1.76612, "vy":0.22363, "omega":0.17656, "ax":2.47862, "ay":-0.31383, "alpha":0.01506, "fx":[42.20282,42.1949,42.1447,42.10037], "fy":[-5.41356,-5.28345,-5.29544,-5.3602]}, - {"t":1.46923, "x":4.93797, "y":5.72751, "heading":-2.92194, "vx":-1.65577, "vy":0.20965, "omega":0.17724, "ax":2.47879, "ay":-0.31385, "alpha":-0.00901, "fx":[42.14993,42.15255,42.17791,42.17364], "fy":[-5.31054,-5.40334,-5.33944,-5.30101]}, - {"t":1.51375, "x":4.8667, "y":5.73653, "heading":-2.91405, "vx":-1.54541, "vy":0.19568, "omega":0.17683, "ax":2.47892, "ay":-0.31387, "alpha":-0.02186, "fx":[42.10118,42.12871,42.2535,42.17976], "fy":[-5.32269,-5.41414,-5.37755,-5.24129]}, - {"t":1.55827, "x":4.80036, "y":5.74493, "heading":-2.90618, "vx":-1.43504, "vy":0.18171, "omega":0.17586, "ax":2.47903, "ay":-0.31389, "alpha":-0.05027, "fx":[42.02973,42.07758,42.30626,42.2571], "fy":[-5.22749,-5.54325,-5.42843,-5.15758]}, - {"t":1.60279, "x":4.73892, "y":5.75271, "heading":-2.89835, "vx":-1.32467, "vy":0.16773, "omega":0.17362, "ax":2.47913, "ay":-0.3139, "alpha":-0.07085, "fx":[41.95788,42.04057,42.39996,42.27858], "fy":[-5.2195,-5.58788,-5.47744,-5.07283]}, - {"t":1.64731, "x":4.6824, "y":5.75986, "heading":-2.89062, "vx":-1.21429, "vy":0.15375, "omega":0.17047, "ax":2.47921, "ay":-0.31392, "alpha":-0.10494, "fx":[41.86623,41.98071,42.47537,42.36007], "fy":[-5.12125,-5.73528,-5.53795,-4.96396]}, - {"t":1.69184, "x":4.6308, "y":5.7664, "heading":-2.88303, "vx":-1.10391, "vy":0.13978, "omega":0.1658, "ax":2.47927, "ay":-0.31393, "alpha":-0.13377, "fx":[41.76856,41.93046,42.59079,42.39721], "fy":[-5.09458,-5.81399,-5.59927,-4.85128]}, - {"t":1.73636, "x":4.58411, "y":5.77231, "heading":-2.87565, "vx":-0.99353, "vy":0.1258, "omega":0.15984, "ax":2.47933, "ay":-0.31393, "alpha":-0.17504, "fx":[41.6528,41.86043,42.69266,42.48517], "fy":[-4.98975,-5.98749,-5.6705,-4.71198]}, - {"t":1.78088, "x":4.54233, "y":5.7776, "heading":-2.86853, "vx":-0.88315, "vy":0.11183, "omega":0.15205, "ax":2.47939, "ay":-0.31394, "alpha":-0.21318, "fx":[41.52491,41.79575,42.83499,42.53896], "fy":[-4.94659,-6.1023,-5.7456,-4.56572]}, - {"t":1.8254, "x":4.50547, "y":5.78227, "heading":-2.86176, "vx":-0.77276, "vy":0.09785, "omega":0.14256, "ax":2.47943, "ay":-0.31395, "alpha":-0.26377, "fx":[41.3793,41.71286,42.96861,42.637], "fy":[-4.8285,-6.3121,-5.83041,-4.38965]}, - {"t":1.86992, "x":4.47352, "y":5.78631, "heading":-2.85541, "vx":-0.66237, "vy":0.08387, "omega":0.13081, "ax":2.47947, "ay":-0.31395, "alpha":-0.31318, "fx":[41.21496,41.63119,43.14482,42.7096], "fy":[-4.76303,-6.46968,-5.92428,-4.20408]}, - {"t":1.91445, "x":4.44649, "y":5.78974, "heading":-2.84959, "vx":-0.55198, "vy":0.06989, "omega":0.11687, "ax":2.47951, "ay":-0.31396, "alpha":-0.37536, "fx":[41.03133,41.53147,43.31741,42.82287], "fy":[-4.63088,-6.72242,-6.02645,-3.98169]}, - {"t":1.95897, "x":4.42437, "y":5.79254, "heading":-2.84439, "vx":-0.44158, "vy":0.05591, "omega":0.10016, "ax":2.47954, "ay":-0.31396, "alpha":-0.43899, "fx":[40.82157,41.42813,43.53675,42.9189], "fy":[-4.53934,-6.93438,-6.14287,-3.74517]}, - {"t":2.00349, "x":4.40717, "y":5.79472, "heading":-2.83993, "vx":-0.33119, "vy":0.04194, "omega":0.08061, "ax":2.47957, "ay":-0.31397, "alpha":-0.51652, "fx":[40.58946,41.30528,43.75822,43.05446], "fy":[-4.38314,-7.24559,-6.26901,-3.46431]}, - {"t":2.04801, "x":4.39488, "y":5.79627, "heading":-2.83634, "vx":-0.22079, "vy":0.02796, "omega":0.05762, "ax":2.4796, "ay":-0.31397, "alpha":-0.59821, "fx":[40.32194,41.17273,44.03279,43.18183], "fy":[-4.25816,-7.52398,-6.41671,-3.16349]}, - {"t":2.09253, "x":4.38751, "y":5.79721, "heading":-2.83377, "vx":-0.1104, "vy":0.01398, "omega":0.03098, "ax":2.47963, "ay":-0.31398, "alpha":-0.69588, "fx":[40.02751,41.01732,44.31631,43.34987], "fy":[-4.06606,-7.91081,-6.57737,-2.80834]}, - {"t":2.13706, "x":4.38505, "y":5.79752, "heading":-2.83239, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-0.52739, "ay":-1.40344, "alpha":1.05021, "fx":[-5.30146,-7.14065,-12.66038,-10.78072], "fy":[-25.71019,-20.5179,-21.96631,-27.29397]}, - {"t":2.17912, "x":4.38458, "y":5.79627, "heading":-2.83239, "vx":-0.02218, "vy":-0.05904, "omega":0.04418, "ax":-0.52751, "ay":-1.40376, "alpha":0.9225, "fx":[-5.78222,-7.38095,-12.15094,-10.57725], "fy":[-25.5933,-20.83192,-22.23887,-26.84593]}, - {"t":2.22119, "x":4.38318, "y":5.79255, "heading":-2.83054, "vx":-0.04437, "vy":-0.11808, "omega":0.08298, "ax":-0.5275, "ay":-1.40372, "alpha":0.7869, "fx":[-6.22444,-7.61191,-11.73218,-10.32198], "fy":[-25.25277,-21.34419,-22.46516,-26.44571]}, - {"t":2.26325, "x":4.38085, "y":5.78634, "heading":-2.82704, "vx":-0.06656, "vy":-0.17713, "omega":0.11608, "ax":-0.52749, "ay":-1.40369, "alpha":0.68696, "fx":[-6.5904,-7.8001,-11.33226,-10.16677], "fy":[-25.17206,-21.59809,-22.65808,-26.07695]}, - {"t":2.30532, "x":4.37758, "y":5.77765, "heading":-2.82216, "vx":-0.08875, "vy":-0.23618, "omega":0.14498, "ax":-0.52747, "ay":-1.40364, "alpha":0.57541, "fx":[-6.94348,-7.98903,-11.00759,-9.94824], "fy":[-24.85648,-22.0449,-22.8394,-25.76123]}, - {"t":2.34738, "x":4.37338, "y":5.76647, "heading":-2.81606, "vx":-0.11094, "vy":-0.29522, "omega":0.16918, "ax":-0.52745, "ay":-1.40358, "alpha":0.50098, "fx":[-7.22645,-8.13536,-10.68633,-9.83872], "fy":[-24.84315,-22.19698,-22.99209,-25.46586]}, - {"t":2.38945, "x":4.36825, "y":5.75281, "heading":-2.80895, "vx":-0.13313, "vy":-0.35427, "omega":0.19026, "ax":-0.52742, "ay":-1.40351, "alpha":0.40581, "fx":[-7.51694,-8.28923,-10.43022,-9.6486], "fy":[-24.53568,-22.61378,-23.13381,-25.20984]}, - {"t":2.43151, "x":4.36218, "y":5.73667, "heading":-2.80094, "vx":-0.15531, "vy":-0.4133, "omega":0.20733, "ax":-0.52738, "ay":-1.40341, "alpha":0.35217, "fx":[-7.73647,-8.39889,-10.16324,-9.58395], "fy":[-24.59536,-22.67332,-23.2523,-24.96562]}, - {"t":2.47358, "x":4.35518, "y":5.71804, "heading":-2.79222, "vx":-0.1775, "vy":-0.47234, "omega":0.22214, "ax":-0.52733, "ay":-1.40328, "alpha":0.26634, "fx":[-7.98556,-8.52601,-9.958,-9.40964], "fy":[-24.27161,-23.09682,-23.35972,-24.74959]}, - {"t":2.51564, "x":4.34725, "y":5.69693, "heading":-2.78288, "vx":-0.19968, "vy":-0.53137, "omega":0.23335, "ax":-0.52726, "ay":-1.40309, "alpha":0.23118, "fx":[-8.1541,-8.60288,-9.72466,-9.39276], "fy":[-24.42695,-23.05546,-23.44635,-24.53618]}, - {"t":2.55771, "x":4.33838, "y":5.67333, "heading":-2.77306, "vx":-0.22186, "vy":-0.59039, "omega":0.24307, "ax":-0.52715, "ay":-1.4028, "alpha":0.14604, "fx":[-8.38006,-8.71144,-9.55789,-9.21745], "fy":[-24.03887,-23.54691,-23.51897,-24.34009]}, - {"t":2.59977, "x":4.32858, "y":5.64726, "heading":-2.76284, "vx":-0.24403, "vy":-0.6494, "omega":0.24921, "ax":-0.52695, "ay":-1.40227, "alpha":0.13151, "fx":[-8.50088,-8.75357,-9.33475,-9.26405], "fy":[-24.35708,-23.35155,-23.56789,-24.13222]}, - {"t":2.64184, "x":4.31785, "y":5.6187, "heading":-2.75235, "vx":-0.2662, "vy":-0.70838, "omega":0.25475, "ax":-0.52649, "ay":-1.40103, "alpha":0.03223, "fx":[-8.71983,-8.85147,-9.19686,-9.05354], "fy":[-23.78773,-24.03244,-23.58717,-23.91743]}, - {"t":2.6839, "x":4.30619, "y":5.58766, "heading":-2.74164, "vx":-0.28835, "vy":-0.76732, "omega":0.2561, "ax":-0.52421, "ay":-1.39494, "alpha":0.04579, "fx":[-8.77374,-8.82389,-8.92744,-9.14178], "fy":[-24.31609,-23.47034,-23.51194,-23.6118]}, - {"t":2.72597, "x":4.2936, "y":5.55415, "heading":-2.73086, "vx":-0.3104, "vy":-0.826, "omega":0.25803, "ax":0.5241, "ay":1.39466, "alpha":0.02036, "fx":[8.82432,8.8762,9.0078,8.95084], "fy":[23.57146,24.19545,23.50131,23.62277]}, - {"t":2.76803, "x":4.281, "y":5.52064, "heading":-2.72001, "vx":-0.28835, "vy":-0.76733, "omega":0.25889, "ax":0.52648, "ay":1.401, "alpha":-0.09096, "fx":[8.63295,8.80836,9.15779,9.2219], "fy":[24.39115,23.43208,23.58032,23.91902]}, - {"t":2.8101, "x":4.26934, "y":5.4896, "heading":-2.70912, "vx":-0.26621, "vy":-0.7084, "omega":0.25506, "ax":0.52695, "ay":1.40226, "alpha":-0.09232, "fx":[8.53216,8.8037,9.39969,9.1175], "fy":[23.9036,23.76321,23.58456,24.15658]}, - {"t":2.85216, "x":4.25861, "y":5.46104, "heading":-2.69839, "vx":-0.24404, "vy":-0.64941, "omega":0.25118, "ax":0.52715, "ay":1.40279, "alpha":-0.18038, "fx":[8.30723,8.72663,9.55602,9.27685], "fy":[24.34831,23.18204,23.55263,24.36146]}, - {"t":2.89423, "x":4.24881, "y":5.43497, "heading":-2.68783, "vx":-0.22187, "vy":-0.5904, "omega":0.24359, "ax":0.52726, "ay":1.40309, "alpha":-0.20749, "fx":[8.14582,8.69468,9.79528,9.23857], "fy":[24.08497,23.28248,23.51535,24.58189]}, - {"t":2.93629, "x":4.23994, "y":5.41137, "heading":-2.67758, "vx":-0.19969, "vy":-0.53138, "omega":0.23486, "ax":0.52733, "ay":1.40328, "alpha":-0.28977, "fx":[7.90006,8.62075,9.99195,9.36642], "fy":[24.39986,22.81546,23.46175,24.8005]}, - {"t":2.97836, "x":4.23201, "y":5.39026, "heading":-2.6677, "vx":-0.1775, "vy":-0.47235, "omega":0.22267, "ax":0.52738, "ay":1.40341, "alpha":-0.33621, "fx":[7.68314,8.57568,10.26145,9.36225], "fy":[24.24442,22.78542,23.40857,25.04807]}, - {"t":3.02042, "x":4.22501, "y":5.37163, "heading":-2.65833, "vx":-0.15532, "vy":-0.41332, "omega":0.20853, "ax":0.52742, "ay":1.40351, "alpha":-0.42363, "fx":[7.39769,8.49928,10.50958,9.47843], "fy":[24.50181,22.34559,23.34091,25.3047]}, - {"t":3.06249, "x":4.21894, "y":5.35549, "heading":-2.64956, "vx":-0.13313, "vy":-0.35428, "omega":0.19071, "ax":0.52745, "ay":1.40358, "alpha":-0.48963, "fx":[7.11597,8.44195,10.83077,9.49816], "fy":[24.40986,22.21114,23.27553,25.60147]}, - {"t":3.10455, "x":4.21381, "y":5.34183, "heading":-2.64154, "vx":-0.11095, "vy":-0.29524, "omega":0.17011, "ax":0.52747, "ay":1.40364, "alpha":-0.58983, "fx":[6.77068,8.35707,11.14583,9.61475], "fy":[24.64137,21.75154,23.19272,25.91632]}, - {"t":3.14662, "x":4.20961, "y":5.33065, "heading":-2.63438, "vx":-0.08876, "vy":-0.23619, "omega":0.1453, "ax":0.52749, "ay":1.40369, "alpha":-0.6789, "fx":[6.40785,8.2841,11.54066,9.65691], "fy":[24.59895,21.51139,23.11177,26.28303]}, - {"t":3.18868, "x":4.20634, "y":5.32196, "heading":-2.62827, "vx":-0.06657, "vy":-0.17715, "omega":0.11674, "ax":0.5275, "ay":1.40372, "alpha":-0.79914, "fx":[5.97967,8.18297,11.94368,9.7842], "fy":[24.82547,20.99716,23.00766,26.67749]}, - {"t":3.23075, "x":4.20401, "y":5.31575, "heading":-2.62336, "vx":-0.04438, "vy":-0.1181, "omega":0.08313, "ax":0.52751, "ay":1.40376, "alpha":-0.91707, "fx":[5.51288,8.08626,12.43757,9.85465], "fy":[24.83179,20.63693,22.90315,27.13812]}, - {"t":3.27281, "x":4.20261, "y":5.31202, "heading":-2.61986, "vx":-0.02219, "vy":-0.05905, "omega":0.04455, "ax":0.52752, "ay":1.40378, "alpha":-1.05905, "fx":[4.97261,7.9555,12.95374,10.01021], "fy":[25.09757,20.06085,22.7933,27.56016]}, - {"t":3.31488, "x":4.20214, "y":5.31078, "heading":-2.61799, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-1.36712, "ay":0.61594, "alpha":-2.83669, "fx":[-33.13359,-26.53423,-12.93654,-20.41295], "fy":[13.11528,-0.18914,7.82987,21.15158]}, - {"t":3.35655, "x":4.20095, "y":5.31131, "heading":-2.61799, "vx":-0.05696, "vy":0.02566, "omega":-0.1182, "ax":-2.05091, "ay":0.924, "alpha":-2.31037, "fx":[-42.84353,-37.56138,-26.713,-32.42368], "fy":[17.67577,6.81782,13.78603,24.58848]}, - {"t":3.39821, "x":4.1968, "y":5.31319, "heading":-2.62291, "vx":-0.14242, "vy":0.06416, "omega":-0.21446, "ax":-2.05089, "ay":0.92399, "alpha":-2.01667, "fx":[-41.82129,-37.21317,-27.80908,-32.69698], "fy":[17.47271,7.95278,13.95193,23.48991]}, - {"t":3.43988, "x":4.18908, "y":5.31666, "heading":-2.63185, "vx":-0.22787, "vy":0.10266, "omega":-0.29849, "ax":-2.05088, "ay":0.92398, "alpha":-1.73595, "fx":[-40.86823,-36.96125,-28.78047,-32.92944], "fy":[17.2687,9.06437,14.17728,22.35611]}, - {"t":3.48155, "x":4.17781, "y":5.32174, "heading":-2.64429, "vx":-0.31333, "vy":0.14116, "omega":-0.37082, "ax":-2.05086, "ay":0.92397, "alpha":-1.50359, "fx":[-40.03748,-36.70946,-29.66188,-33.12933], "fy":[17.147,9.95938,14.27439,21.48481]}, - {"t":3.52321, "x":4.16297, "y":5.32843, "heading":-2.65974, "vx":-0.39878, "vy":0.17966, "omega":-0.43347, "ax":-2.05084, "ay":0.92395, "alpha":-1.27594, "fx":[-39.26394,-36.52389,-30.43986,-33.30915], "fy":[16.97897,10.87679,14.45153,20.55729]}, - {"t":3.56488, "x":4.14458, "y":5.33671, "heading":-2.6778, "vx":-0.48423, "vy":0.21816, "omega":-0.48664, "ax":-2.05082, "ay":0.92394, "alpha":-1.09175, "fx":[-38.59326,-36.31759,-31.14689,-33.47765], "fy":[16.89266,11.57523,14.52713,19.86853]}, - {"t":3.60655, "x":4.12262, "y":5.34661, "heading":-2.69808, "vx":-0.56969, "vy":0.25666, "omega":-0.53213, "ax":-2.0508, "ay":0.92392, "alpha":-0.9152, "fx":[-37.96526,-36.16752,-31.77169,-33.62938], "fy":[16.76937,12.2853,14.6297,19.17802]}, - {"t":3.64822, "x":4.0971, "y":5.3581, "heading":-2.72025, "vx":-0.65514, "vy":0.29516, "omega":-0.57026, "ax":-2.05077, "ay":0.9239, "alpha":-0.75991, "fx":[-37.43148,-35.97586,-32.33186,-33.79296], "fy":[16.65517,12.87236,14.76461,18.56904]}, - {"t":3.68988, "x":4.06803, "y":5.3712, "heading":-2.74401, "vx":-0.74059, "vy":0.33365, "omega":-0.60193, "ax":-2.05074, "ay":0.92388, "alpha":-0.616, "fx":[-36.92654,-35.83931,-32.82706,-33.93743], "fy":[16.52441,13.46071,14.86432,18.01035]}, - {"t":3.73155, "x":4.03539, "y":5.38591, "heading":-2.76909, "vx":-0.82604, "vy":0.37215, "omega":-0.62759, "ax":-2.05072, "ay":0.92386, "alpha":-0.49188, "fx":[-36.50497,-35.65558,-33.27077,-34.09701], "fy":[16.41173,13.90778,15.0084,17.53042]}, - {"t":3.77322, "x":3.99919, "y":5.40222, "heading":-2.79524, "vx":-0.91148, "vy":0.41064, "omega":-0.64809, "ax":-2.05068, "ay":0.92384, "alpha":-0.37424, "fx":[-36.10223,-35.52578,-33.659,-34.2391], "fy":[16.27033,14.39548,15.10965,17.08121]}, - {"t":3.81488, "x":3.95943, "y":5.42013, "heading":-2.82225, "vx":-0.99693, "vy":0.44914, "omega":-0.66368, "ax":-2.05065, "ay":0.92381, "alpha":-0.27515, "fx":[-35.7752,-35.34557,-34.00661,-34.39627], "fy":[16.15649,14.72686,15.26327,16.70828]}, - {"t":3.85655, "x":3.91611, "y":5.43964, "heading":-2.8499, "vx":-1.08237, "vy":0.48763, "omega":-0.67515, "ax":-2.05061, "ay":0.92378, "alpha":-0.17881, "fx":[-35.45768,-35.22194,-34.3056,-34.53572], "fy":[16.00566,15.13344,15.3637,16.35006]}, - {"t":3.89822, "x":3.86923, "y":5.46076, "heading":-2.87803, "vx":-1.16782, "vy":0.52612, "omega":-0.6826, "ax":-2.05056, "ay":0.92375, "alpha":-0.10024, "fx":[-35.2111,-35.04337,-34.5741,-34.68933], "fy":[15.89336,15.3647,15.52468,16.06791]}, - {"t":3.93989, "x":3.81879, "y":5.48349, "heading":-2.90647, "vx":-1.25326, "vy":0.56461, "omega":-0.68677, "ax":-2.05051, "ay":0.92371, "alpha":-0.02145, "fx":[-34.96519,-34.92994,-34.79703,-34.82235], "fy":[15.73588,15.70855,15.61884,15.78476]}, - {"t":3.98155, "x":3.76479, "y":5.50781, "heading":-2.93509, "vx":-1.3387, "vy":0.6031, "omega":-0.68767, "ax":-2.05045, "ay":0.92367, "alpha":0.03957, "fx":[-34.78759,-34.75499,-34.99936,-34.96865], "fy":[15.63116,15.84889,15.78329,15.58192]}, - {"t":4.02322, "x":3.70723, "y":5.53375, "heading":-2.96374, "vx":-1.42413, "vy":0.64158, "omega":-0.68602, "ax":-2.05039, "ay":0.92362, "alpha":0.10296, "fx":[-34.60203,-34.65713,-35.15684,-35.09023], "fy":[15.47379,16.13839,15.8665,15.36319]}, - {"t":4.06489, "x":3.64611, "y":5.56128, "heading":-2.99233, "vx":-1.50957, "vy":0.68007, "omega":-0.68173, "ax":-2.05031, "ay":0.92356, "alpha":0.14869, "fx":[-34.48281,-34.4927,-35.30235,-35.2232], "fy":[15.38196,16.19999,16.02735,15.22891]}, - {"t":4.10655, "x":3.58143, "y":5.59042, "heading":-3.02073, "vx":-1.595, "vy":0.71855, "omega":-0.67553, "ax":-2.05023, "ay":0.9235, "alpha":0.19909, "fx":[-34.3504,-34.41213,-35.40383,-35.32877], "fy":[15.22765,16.45464,16.09002,15.06139]}, - {"t":4.14822, "x":3.51319, "y":5.62116, "heading":-3.04888, "vx":-1.68042, "vy":0.75703, "omega":-0.66724, "ax":-2.05012, "ay":0.92342, "alpha":0.23009, "fx":[-34.28231,-34.26211,-35.50065,-35.44297], "fy":[15.15927,16.43462,16.24283,14.99186]}, - {"t":4.18989, "x":3.4414, "y":5.65351, "heading":-3.07668, "vx":-1.76585, "vy":0.79551, "omega":-0.65765, "ax":-2.05, "ay":0.92333, "alpha":0.26791, "fx":[-34.19564,-34.20782,-35.55175,-35.52445], "fy":[15.01496,16.66232,16.27653,14.86833]}, - {"t":4.23156, "x":3.36604, "y":5.68745, "heading":-3.10408, "vx":-1.85126, "vy":0.83398, "omega":-0.64649, "ax":-2.04985, "ay":0.92322, "alpha":0.28472, "fx":[-34.17361,-34.07496,-35.60683,-35.61383], "fy":[14.97893,16.56415,16.41331,14.85827]}, - {"t":4.27322, "x":3.28712, "y":5.723, "heading":-3.13102, "vx":-1.93668, "vy":0.87245, "omega":-0.63462, "ax":-2.04966, "ay":0.92307, "alpha":0.31038, "fx":[-34.12732,-34.057,-35.61051,-35.66154], "fy":[14.84753,16.78586,16.40377,14.76774]}, - {"t":4.31489, "x":3.20465, "y":5.76016, "heading":3.12572, "vx":-2.02208, "vy":0.91091, "omega":-0.62169, "ax":-2.04941, "ay":0.9229, "alpha":0.22682, "fx":[-34.25642,-34.69624,-35.19986,-35.28707], "fy":[14.86066,16.51039,16.55706,14.86472]}, - {"t":4.35656, "x":3.11861, "y":5.79891, "heading":3.09982, "vx":-2.10747, "vy":0.94936, "omega":-0.61224, "ax":-2.04909, "ay":0.92265, "alpha":0.31698, "fx":[-34.14913,-33.99537,-35.57111,-35.70203], "fy":[14.76818,16.79517,16.43626,14.77618]}, - {"t":4.39822, "x":3.02902, "y":5.83927, "heading":3.07431, "vx":-2.19285, "vy":0.98781, "omega":-0.59903, "ax":-2.04863, "ay":0.92232, "alpha":0.24716, "fx":[-33.99678,-34.59435,-35.31911,-35.47601], "fy":[14.88107,16.42691,16.51785,14.92744]}, - {"t":4.43989, "x":2.93588, "y":5.88123, "heading":3.04935, "vx":-2.27821, "vy":1.02624, "omega":-0.58873, "ax":-2.04795, "ay":0.92179, "alpha":0.27426, "fx":[-34.26296,-34.06525,-35.41746,-35.59429], "fy":[14.83442,16.63283,16.33425,14.91597]}, - {"t":4.48156, "x":2.83917, "y":5.92479, "heading":3.02482, "vx":-2.36354, "vy":1.06465, "omega":-0.57731, "ax":-2.04679, "ay":0.92095, "alpha":0.17133, "fx":[-34.13195,-34.81317,-35.07304,-35.2432], "fy":[15.02469,16.18893,16.32422,15.12258]}, - {"t":4.52322, "x":2.73891, "y":5.96995, "heading":3.00076, "vx":-2.44883, "vy":1.10302, "omega":-0.57017, "ax":-2.04463, "ay":0.91891, "alpha":0.16576, "fx":[-34.44776,-34.30108,-35.11083,-35.25453], "fy":[15.09711,16.19143,16.04203,15.1909]}, - {"t":4.56489, "x":2.6351, "y":6.01671, "heading":2.977, "vx":-2.53402, "vy":1.14131, "omega":-0.56326, "ax":-2.03719, "ay":0.91459, "alpha":-0.00332, "fx":[-34.11923,-35.53456,-34.43891,-34.51565], "fy":[15.32137,15.71922,15.80714,15.38003]}, - {"t":4.60656, "x":2.52775, "y":6.06506, "heading":2.95353, "vx":-2.61891, "vy":1.17942, "omega":-0.5634, "ax":1.37804, "ay":-0.58903, "alpha":-0.04708, "fx":[23.3796,23.3414,23.50398,23.53516], "fy":[-9.81092,-10.44498,-9.98378,-9.8373]}, - {"t":4.64823, "x":2.41982, "y":6.11369, "heading":2.93006, "vx":-2.56149, "vy":1.15487, "omega":-0.56536, "ax":2.0349, "ay":-0.92133, "alpha":-0.08774, "fx":[34.25819,34.65172,34.69937,34.84329], "fy":[-15.28745,-15.93954,-16.05264,-15.40662]}, - {"t":4.68989, "x":2.31486, "y":6.16101, "heading":2.9065, "vx":-2.4767, "vy":1.11648, "omega":-0.56902, "ax":2.04313, "ay":-0.92264, "alpha":-0.19744, "fx":[34.42117,34.1465,35.09329,35.35145], "fy":[-15.00411,-16.37673,-16.18702,-15.20778]}, - {"t":4.73156, "x":2.21344, "y":6.20673, "heading":2.88279, "vx":-2.39157, "vy":1.07804, "omega":-0.57724, "ax":2.04587, "ay":-0.92318, "alpha":-0.18423, "fx":[34.19178,34.6718,34.99262,35.34248], "fy":[-14.93556,-16.16066,-16.49108,-15.22475]}, - {"t":4.77323, "x":2.11556, "y":6.25085, "heading":2.85874, "vx":-2.30632, "vy":1.03957, "omega":-0.58492, "ax":2.04723, "ay":-0.92348, "alpha":-0.27745, "fx":[34.39439,33.93277,35.2638,35.70028], "fy":[-14.72468,-16.5419,-16.48424,-15.08184]}, - {"t":4.81489, "x":2.02124, "y":6.29336, "heading":2.83437, "vx":-2.22102, "vy":1.00109, "omega":-0.59648, "ax":2.04806, "ay":-0.92364, "alpha":-0.24195, "fx":[34.22981,34.40796,35.10706,35.60299], "fy":[-14.75032,-16.22889,-16.69122,-15.17265]}, - {"t":4.85656, "x":1.93048, "y":6.33427, "heading":2.80952, "vx":-2.13568, "vy":0.96261, "omega":-0.60656, "ax":2.04861, "ay":-0.92376, "alpha":-0.29667, "fx":[34.42829,33.85966,35.27555,35.82148], "fy":[-14.64788,-16.47011,-16.62224,-15.11118]}, - {"t":4.89823, "x":1.84327, "y":6.37358, "heading":2.78424, "vx":-2.05032, "vy":0.92412, "omega":-0.61892, "ax":2.049, "ay":-0.92383, "alpha":-0.29059, "fx":[34.49437,33.81457,35.26963,35.83337], "fy":[-14.70381,-16.2413,-16.70794,-15.20348]}, - {"t":4.9399, "x":1.75961, "y":6.41128, "heading":2.75845, "vx":-1.96495, "vy":0.88563, "omega":-0.63103, "ax":2.0493, "ay":-0.9239, "alpha":-0.27765, "fx":[34.51239,33.91138,35.21393,35.79422], "fy":[-14.69451,-16.36597,-16.59935,-15.20108]}, - {"t":4.98156, "x":1.67952, "y":6.44738, "heading":2.73216, "vx":-1.87956, "vy":0.84713, "omega":-0.6426, "ax":2.04953, "ay":-0.92394, "alpha":-0.25687, "fx":[34.59107,33.92627,35.18571,35.74452], "fy":[-14.80146,-16.13532,-16.61649,-15.31083]}, - {"t":5.02323, "x":1.60298, "y":6.48188, "heading":2.70538, "vx":-1.79416, "vy":0.80863, "omega":-0.6533, "ax":2.04971, "ay":-0.92398, "alpha":-0.22706, "fx":[34.62198,34.07293,35.11648,35.64863], "fy":[-14.86336,-16.20426,-16.46144,-15.3378]}, - {"t":5.0649, "x":1.53, "y":6.51477, "heading":2.67816, "vx":-1.70875, "vy":0.77013, "omega":-0.66276, "ax":2.04986, "ay":-0.92402, "alpha":-0.19332, "fx":[34.70443,34.14517,35.0788,35.54188], "fy":[-15.01611,-15.99634,-16.4067,-15.44978]}, - {"t":5.10656, "x":1.46059, "y":6.54606, "heading":2.65055, "vx":-1.62334, "vy":0.73163, "omega":-0.67082, "ax":2.04999, "ay":-0.92404, "alpha":-0.14816, "fx":[34.73914,34.34158,35.00726,35.39075], "fy":[-15.14478,-16.03486,-16.20032,-15.49093]}, - {"t":5.14823, "x":1.39472, "y":6.57574, "heading":2.6226, "vx":-1.53793, "vy":0.69313, "omega":-0.67699, "ax":2.05009, "ay":-0.92406, "alpha":-0.10063, "fx":[34.81548,34.47605,34.96911,35.22536], "fy":[-15.35053,-15.84563,-16.07623,-15.5999]}, - {"t":5.1899, "x":1.33242, "y":6.60382, "heading":2.59439, "vx":-1.4525, "vy":0.65463, "omega":-0.68119, "ax":2.05018, "ay":-0.92409, "alpha":-0.04028, "fx":[34.8457,34.72316,34.90589,35.01739], "fy":[-15.54743,-15.87025,-15.81283,-15.64321]}, - {"t":5.23157, "x":1.27368, "y":6.63029, "heading":2.56601, "vx":-1.36708, "vy":0.61612, "omega":-0.68286, "ax":2.05026, "ay":-0.9241, "alpha":0.02222, "fx":[34.90767,34.9228,34.87717,34.7899], "fy":[-15.8133,-15.70334,-15.61595,-15.74215]}, - {"t":5.27323, "x":1.2185, "y":6.65516, "heading":2.53755, "vx":-1.28165, "vy":0.57762, "omega":-0.68194, "ax":2.05033, "ay":-0.92412, "alpha":0.09896, "fx":[34.9243,35.22608,34.83199,34.51982], "fy":[-16.08364,-15.72606,-15.28856,-15.77755]}, - {"t":5.3149, "x":1.16688, "y":6.67843, "heading":2.50914, "vx":-1.19622, "vy":0.53911, "omega":-0.67781, "ax":2.05039, "ay":-0.92413, "alpha":0.17858, "fx":[34.96331,35.4966,34.82268,34.22377], "fy":[-16.41875,-15.58914,-15.01093,-15.85781]}, - {"t":5.35657, "x":1.11881, "y":6.70009, "heading":2.4809, "vx":-1.11079, "vy":0.50061, "omega":-0.67037, "ax":2.05045, "ay":-0.92414, "alpha":0.27407, "fx":[34.95644,35.86526,34.80533,33.88298], "fy":[-16.77026,-15.62447,-14.6085,-15.87424]}, - {"t":5.39823, "x":1.07431, "y":6.72015, "heading":2.45296, "vx":-1.02535, "vy":0.4621, "omega":-0.65895, "ax":2.05049, "ay":-0.92415, "alpha":0.37383, "fx":[34.96416,36.2131,34.82647,33.50958], "fy":[-17.18739,-15.52245,-14.24035,-15.92793]}, - {"t":5.4399, "x":1.03337, "y":6.7386, "heading":2.42551, "vx":-0.93991, "vy":0.42359, "omega":-0.64338, "ax":2.05054, "ay":-0.92416, "alpha":0.49174, "fx":[34.92337,36.66026,34.84695,33.0857], "fy":[-17.63367,-15.5763,-13.75221,-15.9166]}, - {"t":5.48157, "x":0.99598, "y":6.75545, "heading":2.3987, "vx":-0.85447, "vy":0.38509, "omega":-0.62289, "ax":2.05058, "ay":-0.92417, "alpha":0.61605, "fx":[34.89059,37.09732,34.90936,32.62171], "fy":[-18.14688,-15.52298,-13.27613,-15.93334]}, - {"t":5.52324, "x":0.96216, "y":6.77069, "heading":2.37274, "vx":-0.76903, "vy":0.34658, "omega":-0.59722, "ax":2.05061, "ay":-0.92418, "alpha":0.76134, "fx":[34.80648,37.63733,34.97902,32.09856], "fy":[-18.7028,-15.61335,-12.68079,-15.88294]}, - {"t":5.5649, "x":0.9319, "y":6.78433, "heading":2.34786, "vx":-0.68359, "vy":0.30807, "omega":-0.5655, "ax":2.05065, "ay":-0.92418, "alpha":0.91606, "fx":[34.72463,38.18093,35.093,31.52506], "fy":[-19.33447,-15.60919,-12.08067,-15.856]}, - {"t":5.60657, "x":0.90519, "y":6.79636, "heading":2.3243, "vx":-0.59814, "vy":0.26956, "omega":-0.52733, "ax":2.05068, "ay":-0.92419, "alpha":1.08718, "fx":[34.59814,38.8292,35.2201,30.87822], "fy":[-19.93392,-15.77002,-11.38702,-15.78982]}, - {"t":5.64824, "x":0.88205, "y":6.80679, "heading":2.30233, "vx":-0.5127, "vy":0.23105, "omega":-0.48203, "ax":2.0507, "ay":-0.9242, "alpha":1.2879, "fx":[34.45206,39.50552,35.39712,30.17283], "fy":[-20.79972,-15.79465,-10.60444,-15.68237]}, - {"t":5.6899, "x":0.86247, "y":6.81562, "heading":2.28224, "vx":-0.42725, "vy":0.19255, "omega":-0.42836, "ax":2.05073, "ay":-0.9242, "alpha":1.50607, "fx":[34.26397,40.30528,35.59236,29.36766], "fy":[-21.61747,-15.88769,-9.74002,-15.63638]}, - {"t":5.73157, "x":0.84645, "y":6.82284, "heading":2.26439, "vx":-0.3418, "vy":0.15404, "omega":-0.36561, "ax":2.05075, "ay":-0.92421, "alpha":1.75057, "fx":[34.0683,41.13176,35.83485,28.49596], "fy":[-22.61177,-16.08275,-8.77764,-15.40972]}, - {"t":5.77324, "x":0.83399, "y":6.82845, "heading":2.24916, "vx":-0.25635, "vy":0.11553, "omega":-0.29267, "ax":2.05077, "ay":-0.92421, "alpha":2.02354, "fx":[33.83025,42.10754,36.10091,27.49366], "fy":[-23.642,-16.22781,-7.69351,-15.31889]}, - {"t":5.81491, "x":0.82508, "y":6.83246, "heading":2.23696, "vx":-0.1709, "vy":0.07702, "omega":-0.20835, "ax":2.0508, "ay":-0.92421, "alpha":2.32872, "fx":[33.59154,43.14253,36.4034,26.39628], "fy":[-24.86602,-16.4547,-6.50221,-15.05958]}, - {"t":5.85657, "x":0.81974, "y":6.83487, "heading":2.22828, "vx":-0.08545, "vy":0.03851, "omega":-0.11132, "ax":2.05081, "ay":-0.92422, "alpha":2.67172, "fx":[33.32665,44.34867,36.72754,25.13217], "fy":[-26.16935,-16.62751,-5.13516,-14.95077]}, - {"t":5.89824, "x":0.81796, "y":6.83567, "heading":2.22364, "vx":0.0, "vy":0.0, "omega":0.0, "ax":2.11213, "ay":-0.77228, "alpha":2.77278, "fx":[34.26354,45.68969,37.74113,26.01253], "fy":[-24.13407,-14.2323,-2.08304,-12.09547]}, - {"t":5.93943, "x":0.81975, "y":6.83502, "heading":2.22364, "vx":0.087, "vy":-0.03181, "omega":0.11421, "ax":2.11263, "ay":-0.77246, "alpha":2.43201, "fx":[34.53019,44.50636,37.57527,27.12924], "fy":[-22.71083,-14.06015,-3.46992,-12.31662]}, - {"t":5.98062, "x":0.82513, "y":6.83305, "heading":2.22835, "vx":0.17402, "vy":-0.06363, "omega":0.21439, "ax":2.11261, "ay":-0.77246, "alpha":2.11644, "fx":[34.74263,43.39537,37.31859,28.28313], "fy":[-21.50041,-13.92291,-4.73793,-12.3958]}, - {"t":6.02181, "x":0.83409, "y":6.82978, "heading":2.23718, "vx":0.26104, "vy":-0.09545, "omega":0.30156, "ax":2.11259, "ay":-0.77245, "alpha":1.83492, "fx":[34.94164,42.44148,37.06211,29.29301], "fy":[-20.36465,-13.72561,-5.83632,-12.63009]}, - {"t":6.063, "x":0.84663, "y":6.82519, "heading":2.2496, "vx":0.34806, "vy":-0.12726, "omega":0.37714, "ax":2.11257, "ay":-0.77244, "alpha":1.58254, "fx":[35.15014,41.54144,36.83581,30.20929], "fy":[-19.40468,-13.59352,-6.84342,-12.7145]}, - {"t":6.10419, "x":0.86276, "y":6.81929, "heading":2.26513, "vx":0.43507, "vy":-0.15908, "omega":0.44233, "ax":2.11254, "ay":-0.77244, "alpha":1.35951, "fx":[35.32159,40.77347,36.62017,31.01972], "fy":[-18.51196,-13.49229,-7.71424,-12.83717]}, - {"t":6.14538, "x":0.88248, "y":6.81208, "heading":2.28335, "vx":0.52209, "vy":-0.1909, "omega":0.49833, "ax":2.11252, "ay":-0.77243, "alpha":1.1536, "fx":[35.4958,40.04214,36.44482,31.75035], "fy":[-17.71652,-13.31756,-8.53819,-12.98277]}, - {"t":6.18657, "x":0.90577, "y":6.80357, "heading":2.30388, "vx":0.60911, "vy":-0.22271, "omega":0.54585, "ax":2.11248, "ay":-0.77242, "alpha":0.97471, "fx":[35.62254,39.42307,36.2821,32.40335], "fy":[-16.99218,-13.26175,-9.23574,-13.06486]}, - {"t":6.22776, "x":0.93265, "y":6.79374, "heading":2.32636, "vx":0.69612, "vy":-0.25453, "omega":0.58599, "ax":2.11245, "ay":-0.77241, "alpha":0.80784, "fx":[35.75048,38.81881,36.16413,32.99547], "fy":[-16.34895,-13.12752,-9.91106,-13.16622]}, - {"t":6.26895, "x":0.96312, "y":6.7826, "heading":2.3505, "vx":0.78313, "vy":-0.28635, "omega":0.61927, "ax":2.11242, "ay":-0.7724, "alpha":0.66418, "fx":[35.82805,38.3194,36.05452,33.52446], "fy":[-15.75891,-13.12295,-10.46906,-13.20217]}, - {"t":6.31014, "x":0.99717, "y":6.77015, "heading":2.37601, "vx":0.87014, "vy":-0.31816, "omega":0.64663, "ax":2.11238, "ay":-0.77239, "alpha":0.5287, "fx":[35.90961,37.81845,35.98986,34.00586], "fy":[-15.23912,-13.02862,-11.02489,-13.25957]}, - {"t":6.35133, "x":1.0348, "y":6.75639, "heading":2.40264, "vx":0.95715, "vy":-0.34998, "omega":0.6684, "ax":2.11233, "ay":-0.77237, "alpha":0.41338, "fx":[35.94169,37.41726,35.92782,34.43403], "fy":[-14.75957,-13.07057,-11.468,-13.25323]}, - {"t":6.39252, "x":1.07602, "y":6.74132, "heading":2.43018, "vx":1.04416, "vy":-0.38179, "omega":0.68543, "ax":2.11229, "ay":-0.77236, "alpha":0.30331, "fx":[35.98321,37.00034,35.90921,34.82477], "fy":[-14.3421,-13.01233,-11.92407,-13.27179]}, - {"t":6.43371, "x":1.12082, "y":6.72494, "heading":2.45841, "vx":1.13117, "vy":-0.4136, "omega":0.69793, "ax":2.11223, "ay":-0.77234, "alpha":0.21137, "fx":[35.97604,36.68475,35.88561,35.16737], "fy":[-13.95432,-13.09792,-12.26803,-13.22905]}, - {"t":6.4749, "x":1.16921, "y":6.70724, "heading":2.48716, "vx":1.21817, "vy":-0.44542, "omega":0.70663, "ax":2.11217, "ay":-0.77232, "alpha":0.12257, "fx":[35.98521,36.34087,35.90309,35.48048], "fy":[-13.62593,-13.06267,-12.6405,-13.21881]}, - {"t":6.51609, "x":1.22118, "y":6.68824, "heading":2.51626, "vx":1.30517, "vy":-0.47723, "omega":0.71168, "ax":2.1121, "ay":-0.77231, "alpha":0.05002, "fx":[35.94775,36.09959,35.90854,35.7489], "fy":[-13.31559,-13.18636,-12.89697,-13.14786]}, - {"t":6.55728, "x":1.27673, "y":6.66793, "heading":2.54558, "vx":1.39217, "vy":-0.50904, "omega":0.71374, "ax":2.11202, "ay":-0.77228, "alpha":-0.0204, "fx":[35.93401,35.81913,35.95229,35.994], "fy":[-13.06784,-13.16082,-13.19692,-13.11923]}, - {"t":6.59847, "x":1.33586, "y":6.64631, "heading":2.57498, "vx":1.47916, "vy":-0.54085, "omega":0.7129, "ax":2.11193, "ay":-0.77225, "alpha":-0.07607, "fx":[35.87481,35.64693,35.97625,36.19502], "fy":[-12.82493,-13.31444,-13.37426,-13.02954]}, - {"t":6.63967, "x":1.39858, "y":6.62337, "heading":2.60434, "vx":1.56615, "vy":-0.57266, "omega":0.70977, "ax":2.11182, "ay":-0.77222, "alpha":-0.13009, "fx":[35.8488,35.42062,36.03711,36.37914], "fy":[-12.65197,-13.28661,-13.60916,-12.99289]}, - {"t":6.68086, "x":1.46488, "y":6.59913, "heading":2.63358, "vx":1.65314, "vy":-0.60447, "omega":0.70441, "ax":2.11168, "ay":-0.77219, "alpha":-0.16985, "fx":[35.77597,35.31627,36.06833,36.51602], "fy":[-12.47252,-13.46245,-13.70943,-12.89419]}, - {"t":6.72205, "x":1.53477, "y":6.57358, "heading":2.66259, "vx":1.74012, "vy":-0.63627, "omega":0.69741, "ax":2.11153, "ay":-0.77213, "alpha":-0.20833, "fx":[35.74732,35.14153,36.13535,36.6419], "fy":[-12.36871,-13.41814,-13.8872,-12.86069]}, - {"t":6.76324, "x":1.60824, "y":6.54671, "heading":2.69132, "vx":1.8271, "vy":-0.66808, "omega":0.68883, "ax":2.11133, "ay":-0.77208, "alpha":-0.23287, "fx":[35.67066,35.10336,36.16278,36.71583], "fy":[-12.24825,-13.60316,-13.91642,-12.7635]}, - {"t":6.80443, "x":1.68529, "y":6.51854, "heading":2.71969, "vx":1.91406, "vy":-0.69988, "omega":0.67924, "ax":2.11109, "ay":-0.772, "alpha":-0.2545, "fx":[35.64755,34.98469,36.22259,36.78125], "fy":[-12.21439,-13.53138,-14.03478,-12.74518]}, - {"t":6.84562, "x":1.76592, "y":6.48906, "heading":2.74767, "vx":2.00102, "vy":-0.73168, "omega":0.66876, "ax":2.11076, "ay":-0.77192, "alpha":-0.26423, "fx":[35.57953,35.00713,36.23548,36.79137], "fy":[-12.14608,-13.73312,-13.9867,-12.65497]}, - {"t":6.88681, "x":1.85013, "y":6.45826, "heading":2.77522, "vx":2.08796, "vy":-0.76348, "omega":0.65787, "ax":2.11033, "ay":-0.77177, "alpha":-0.21839, "fx":[35.37769,35.51882,36.08386,36.60385], "fy":[-12.21196,-13.5472,-14.06097,-12.69009]}, - {"t":6.928, "x":1.93792, "y":6.42616, "heading":2.80231, "vx":2.17489, "vy":-0.79526, "omega":0.64888, "ax":2.10968, "ay":-0.77161, "alpha":-0.25588, "fx":[35.52893,35.04324,36.25049,36.71749], "fy":[-12.18737,-13.80787,-13.89968,-12.60475]}, - {"t":6.96919, "x":2.0293, "y":6.39275, "heading":2.82904, "vx":2.26178, "vy":-0.82705, "omega":0.63834, "ax":2.10869, "ay":-0.77129, "alpha":-0.16993, "fx":[35.30541,35.79084,35.99483,36.3817], "fy":[-12.35855,-13.51199,-13.90119,-12.70628]}, - {"t":7.01038, "x":2.12425, "y":6.35803, "heading":2.85533, "vx":2.34864, "vy":-0.85882, "omega":0.63134, "ax":2.1068, "ay":-0.77101, "alpha":-0.19136, "fx":[35.54018,35.23236,36.13872,36.43313], "fy":[-12.42251,-13.72495,-13.63386,-12.6774]}, - {"t":7.05157, "x":2.22278, "y":6.322, "heading":2.88134, "vx":2.43542, "vy":-0.89058, "omega":0.62345, "ax":2.10265, "ay":-0.76969, "alpha":-0.08598, "fx":[35.39574,35.85043,35.81871,35.99672], "fy":[-12.68037,-13.34196,-13.50684,-12.83968]}, - {"t":7.09276, "x":2.32488, "y":6.28466, "heading":2.90702, "vx":2.52203, "vy":-0.92228, "omega":0.61991, "ax":2.08488, "ay":-0.75509, "alpha":-0.06763, "fx":[35.38369,35.31528,35.54823,35.60579], "fy":[-12.53082,-13.46111,-12.80343,-12.58031]}, - {"t":7.13395, "x":2.43053, "y":6.24603, "heading":2.93255, "vx":2.60791, "vy":-0.95338, "omega":0.61713, "ax":-2.08165, "ay":0.7626, "alpha":-0.04278, "fx":[-34.84141,-36.58699,-35.06806,-35.13694], "fy":[12.78927,13.0769,13.17009,12.85049]}, - {"t":7.17514, "x":2.53619, "y":6.20741, "heading":2.95797, "vx":2.52216, "vy":-0.92197, "omega":0.61537, "ax":-2.10346, "ay":0.76733, "alpha":0.14234, "fx":[-35.51145,-35.36153,-36.04752,-36.19624], "fy":[12.57342,13.52826,13.41665,12.68959]}, - {"t":7.21633, "x":2.63829, "y":6.17009, "heading":2.98332, "vx":2.43552, "vy":-0.89036, "omega":0.62123, "ax":-2.10716, "ay":0.76997, "alpha":0.14203, "fx":[-35.21829,-35.95214,-36.00615,-36.19234], "fy":[12.50326,13.5363,13.7071,12.64136]}, - {"t":7.25752, "x":2.73682, "y":6.13407, "heading":3.00891, "vx":2.34873, "vy":-0.85865, "omega":0.62708, "ax":-2.10892, "ay":0.77063, "alpha":0.24651, "fx":[-35.38616,-35.16805,-36.36763,-36.56692], "fy":[12.31191,13.95786,13.7178,12.44489]}, - {"t":7.29871, "x":2.83178, "y":6.09935, "heading":3.03474, "vx":2.26186, "vy":-0.82691, "omega":0.63723, "ax":-2.10983, "ay":0.77118, "alpha":0.21459, "fx":[-35.12106,-35.74028,-36.25164,-36.43757], "fy":[12.35727,13.74985,13.89816,12.46483]}, - {"t":7.3399, "x":2.92315, "y":6.06594, "heading":3.06099, "vx":2.17496, "vy":-0.79514, "omega":0.64607, "ax":-2.11045, "ay":0.77141, "alpha":0.28091, "fx":[-35.29537,-35.11754,-36.50891,-36.67096], "fy":[12.26707,14.04746,13.83018,12.34137]}, - {"t":7.38109, "x":3.01095, "y":6.03385, "heading":3.0876, "vx":2.08802, "vy":-0.76337, "omega":0.65764, "ax":-2.11086, "ay":0.77163, "alpha":0.18695, "fx":[-35.42086,-35.86134,-36.10856,-36.22985], "fy":[12.34668,13.81234,13.92397,12.41791]}, - {"t":7.42228, "x":3.09517, "y":6.00306, "heading":3.11469, "vx":2.00108, "vy":-0.73158, "omega":0.66534, "ax":-2.11118, "ay":0.77175, "alpha":0.2676, "fx":[-35.29512,-35.19653,-36.53234,-36.61798], "fy":[12.35829,14.01951,13.78093,12.35048]}, - {"t":7.46347, "x":3.1758, "y":5.97358, "heading":-3.14109, "vx":1.91412, "vy":-0.69979, "omega":0.67637, "ax":-2.11141, "ay":0.77187, "alpha":0.24133, "fx":[-35.35256,-35.22424,-36.51864,-36.56236], "fy":[12.48247,13.83468,13.76293,12.43684]}, - {"t":7.50466, "x":3.25285, "y":5.94541, "heading":-3.11323, "vx":1.82715, "vy":-0.668, "omega":0.68631, "ax":-2.1116, "ay":0.77194, "alpha":0.2171, "fx":[-35.38997,-35.36821,-36.45103,-36.46157], "fy":[12.54068,13.8901,13.62113,12.46974]}, - {"t":7.54585, "x":3.32632, "y":5.91855, "heading":-3.08496, "vx":1.74017, "vy":-0.6362, "omega":0.69525, "ax":-2.11175, "ay":0.77201, "alpha":0.17595, "fx":[-35.49201,-35.43297,-36.38646,-36.36934], "fy":[12.68926,13.67234,13.56359,12.60173]}, - {"t":7.58704, "x":3.39621, "y":5.893, "heading":-3.05633, "vx":1.65319, "vy":-0.6044, "omega":0.7025, "ax":-2.11187, "ay":0.77206, "alpha":0.13568, "fx":[-35.57815,-35.6004,-36.27119,-36.23972], "fy":[12.78458,13.64138,13.40359,12.70055]}, - {"t":7.62823, "x":3.46251, "y":5.86876, "heading":-3.02739, "vx":1.5662, "vy":-0.5726, "omega":0.70808, "ax":-2.11198, "ay":0.77211, "alpha":0.08022, "fx":[-35.72992,-35.69788,-36.14948,-36.11914], "fy":[12.94605,13.39266,13.31264,12.88232]}, - {"t":7.66942, "x":3.52523, "y":5.84583, "heading":-2.99822, "vx":1.47921, "vy":-0.5408, "omega":0.71139, "ax":-2.11207, "ay":0.77215, "alpha":0.02458, "fx":[-35.87413,-35.87754,-35.98113,-35.9698], "fy":[13.06442,13.28241,13.14019,13.049]}, - {"t":7.71061, "x":3.58437, "y":5.82421, "heading":-2.96892, "vx":1.39221, "vy":-0.50899, "omega":0.7124, "ax":-2.11214, "ay":0.77218, "alpha":-0.04657, "fx":[-36.0857,-35.99529,-35.79653,-35.83023], "fy":[13.2356,12.98209,13.02652,13.29432]}, - {"t":7.7518, "x":3.63992, "y":5.8039, "heading":-2.93958, "vx":1.30521, "vy":-0.47719, "omega":0.71048, "ax":-2.11221, "ay":0.77221, "alpha":-0.11953, "fx":[-36.29546,-36.18784,-35.56362,-35.66545], "fy":[13.36913,12.78568,12.84663,13.53893]}, - {"t":7.79299, "x":3.69189, "y":5.78489, "heading":-2.91031, "vx":1.21821, "vy":-0.44538, "omega":0.70556, "ax":-2.11227, "ay":0.77224, "alpha":-0.20841, "fx":[-36.5768,-36.32185,-35.30504,-35.51265], "fy":[13.54334,12.41935,12.72033,13.8592]}, - {"t":7.83418, "x":3.74028, "y":5.7672, "heading":-2.88125, "vx":1.1312, "vy":-0.41357, "omega":0.69698, "ax":-2.11232, "ay":0.77226, "alpha":-0.30138, "fx":[-36.86399,-36.52158,-34.99583,-35.33856], "fy":[13.68603,12.12215,12.54116,14.19422]}, - {"t":7.87537, "x":3.78508, "y":5.75082, "heading":-2.85254, "vx":1.04419, "vy":-0.38176, "omega":0.68456, "ax":-2.11237, "ay":0.77228, "alpha":-0.41077, "fx":[-37.22785,-36.66682,-34.65029,-35.1781], "fy":[13.85591,11.67863,12.40702,14.60356]}, - {"t":7.91656, "x":3.8263, "y":5.73575, "heading":-2.82434, "vx":0.95719, "vy":-0.34995, "omega":0.66764, "ax":-2.11241, "ay":0.7723, "alpha":-0.52724, "fx":[-37.6069,-36.87055,-34.24921,-34.99929], "fy":[14.00078,11.26954,12.23287,15.04304]}, - {"t":7.95775, "x":3.86394, "y":5.722, "heading":-2.79684, "vx":0.87017, "vy":-0.31814, "omega":0.64592, "ax":-2.11245, "ay":0.77232, "alpha":-0.66172, "fx":[-38.06921,-37.02405,-33.80005,-34.83517], "fy":[14.16243,10.72665,12.09749,15.56088]}, - {"t":7.99895, "x":3.89799, "y":5.70955, "heading":-2.77024, "vx":0.78316, "vy":-0.28633, "omega":0.61867, "ax":-2.11248, "ay":0.77233, "alpha":-0.80707, "fx":[-38.55725,-37.23121,-33.28756,-34.65481], "fy":[14.30648,10.18377,11.933,16.12514]}, - {"t":8.04014, "x":3.92845, "y":5.69841, "heading":-2.74475, "vx":0.69615, "vy":-0.25452, "omega":0.58543, "ax":-2.11251, "ay":0.77234, "alpha":-0.97225, "fx":[-39.138,-37.39214,-32.71369,-34.4891], "fy":[14.45665,9.52124,11.79848,16.77299]}, - {"t":8.08133, "x":3.95534, "y":5.68858, "heading":-2.72064, "vx":0.60913, "vy":-0.2227, "omega":0.54538, "ax":-2.11254, "ay":0.77235, "alpha":-1.1532, "fx":[-39.75599,-37.60677,-32.06536,-34.30679], "fy":[14.59932,8.82155,11.64296,17.48626]}, - {"t":8.12252, "x":3.97864, "y":5.68006, "heading":-2.69818, "vx":0.52212, "vy":-0.19089, "omega":0.49788, "ax":-2.11257, "ay":0.77237, "alpha":-1.35699, "fx":[-40.47992,-37.78053,-31.33981,-34.1364], "fy":[14.7414,8.00882,11.50796,18.29277]}, - {"t":8.16371, "x":3.99835, "y":5.67285, "heading":-2.67767, "vx":0.4351, "vy":-0.15908, "omega":0.44198, "ax":-2.11259, "ay":0.77238, "alpha":-1.58155, "fx":[-41.25803,-38.01306,-30.52341,-33.94381], "fy":[14.83463,7.13595,11.37483,19.2062]}, - {"t":8.2049, "x":4.01448, "y":5.66696, "heading":-2.65946, "vx":0.34808, "vy":-0.12726, "omega":0.37684, "ax":-2.11261, "ay":0.77239, "alpha":-1.83503, "fx":[-42.15014,-38.21858,-29.61274,-33.75836], "fy":[15.03667,6.1216,11.20696,20.18707]}, - {"t":8.24609, "x":4.02702, "y":5.66237, "heading":-2.64394, "vx":0.26106, "vy":-0.09545, "omega":0.30125, "ax":-2.11263, "ay":0.77239, "alpha":-2.10717, "fx":[-43.11155,-38.49139,-28.58841,-33.54991], "fy":[15.18482,5.05187,11.09216,21.224]}, - {"t":8.28728, "x":4.03599, "y":5.65909, "heading":-2.63153, "vx":0.17404, "vy":-0.06363, "omega":0.21446, "ax":-2.11265, "ay":0.7724, "alpha":-2.43075, "fx":[-44.2163,-38.76422,-27.45161,-33.31041], "fy":[15.39354,3.77568,10.84405,22.54021]}, - {"t":8.32847, "x":4.04136, "y":5.65713, "heading":-2.6227, "vx":0.08702, "vy":-0.03182, "omega":0.11433, "ax":-2.11267, "ay":0.77241, "alpha":-2.77574, "fx":[-45.39243,-39.09163,-26.26064,-32.99906], "fy":[15.62767,2.39936,10.60281,23.92417]}, - {"t":8.36966, "x":4.04315, "y":5.65647, "heading":-2.61799, "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,48,76,138] + {"t":0.0, "x":7.21552, "y":5.43911, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-2.36222, "ay":0.81446, "alpha":0.0, "fx":[-40.2022,-40.1942,-40.16485,-40.16158], "fy":[13.83456,13.95821,13.78417,13.83785]}, + {"t":0.03871, "x":7.21375, "y":5.43972, "heading":3.14159, "vx":-0.09143, "vy":0.03152, "omega":0.0, "ax":-2.36461, "ay":0.80947, "alpha":0.0, "fx":[-40.23573,-40.23026,-40.21066,-40.20839], "fy":[13.75589,13.83926,13.72177,13.7582]}, + {"t":0.07741, "x":7.20844, "y":5.44154, "heading":-3.14159, "vx":-0.18296, "vy":0.06286, "omega":0.0, "ax":-2.36649, "ay":0.80385, "alpha":0.0, "fx":[-40.24457,-40.24769,-40.28949,-40.23163], "fy":[13.74341,13.66875,13.66342,13.61762]}, + {"t":0.11612, "x":7.19958, "y":5.44458, "heading":-3.14159, "vx":-0.27455, "vy":0.09397, "omega":0.0, "ax":-2.36851, "ay":0.79778, "alpha":0.0, "fx":[-40.30333,-40.29756,-40.27625,-40.27386], "fy":[13.55616,13.64608,13.51944,13.55858]}, + {"t":0.15482, "x":7.18718, "y":5.44881, "heading":-3.14159, "vx":-0.36623, "vy":0.12485, "omega":0.0, "ax":-2.37069, "ay":0.7912, "alpha":0.0, "fx":[-40.31538,-40.31881,-40.36454,-40.30024], "fy":[13.53454,13.45333,13.44756,13.39693]}, + {"t":0.19353, "x":7.17123, "y":5.45424, "heading":-3.14159, "vx":-0.45799, "vy":0.15547, "omega":0.0, "ax":-2.37303, "ay":0.78404, "alpha":0.0, "fx":[-40.38152,-40.37522,-40.35215,-40.34955], "fy":[13.32115,13.41919,13.28077,13.32378]}, + {"t":0.23223, "x":7.15173, "y":5.46084, "heading":-3.14159, "vx":-0.54984, "vy":0.18582, "omega":0.0, "ax":-2.37557, "ay":0.77621, "alpha":0.0, "fx":[-40.35165,-40.36535,-40.33541,-40.57837], "fy":[13.33672,13.15241,13.15539,13.16786]}, + {"t":0.27094, "x":7.12867, "y":5.46862, "heading":-3.14159, "vx":-0.64178, "vy":0.21586, "omega":0.0, "ax":-2.37831, "ay":0.76762, "alpha":0.0, "fx":[-40.4728,-40.46613,-40.44071,-40.43797], "fy":[13.04062,13.14763,12.99664,13.0434]}, + {"t":0.30965, "x":7.10204, "y":5.47755, "heading":3.14159, "vx":-0.73384, "vy":0.24557, "omega":0.0, "ax":-2.3813, "ay":0.75817, "alpha":0.0, "fx":[-40.44252,-40.45744,-40.42477,-40.69602], "fy":[13.04634,12.83941,12.84257,12.85647]}, + {"t":0.34835, "x":7.07186, "y":5.48762, "heading":-3.14159, "vx":-0.82601, "vy":0.27492, "omega":0.0, "ax":-2.38455, "ay":0.7477, "alpha":0.0, "fx":[-40.57964,-40.57289,-40.54631,-40.54354], "fy":[12.70103,12.81225,12.65528,12.70382]}, + {"t":0.38706, "x":7.0381, "y":5.49882, "heading":3.14159, "vx":-0.9183, "vy":0.30386, "omega":0.0, "ax":-2.38812, "ay":0.73604, "alpha":0.0, "fx":[-40.55201,-40.56761,-40.5273,-40.83812], "fy":[12.6819,12.45653,12.46026,12.4807]}, + {"t":0.42576, "x":7.00077, "y":5.51113, "heading":-3.14159, "vx":-1.01074, "vy":0.33235, "omega":0.0, "ax":-2.39204, "ay":0.72299, "alpha":0.0, "fx":[-40.71018,-40.70239,-40.67119,-40.66802], "fy":[12.27792,12.40877,12.22363,12.28111]}, + {"t":0.46447, "x":6.95985, "y":5.52454, "heading":3.14159, "vx":-1.10332, "vy":0.36033, "omega":0.0, "ax":-2.39637, "ay":0.70828, "alpha":0.0, "fx":[-40.68305,-40.69972,-40.65272,-41.01066], "fy":[12.22999,11.97539,11.97953,12.00555]}, + {"t":0.50317, "x":6.91535, "y":5.53902, "heading":-3.14159, "vx":-1.19608, "vy":0.38775, "omega":0.0, "ax":-2.40116, "ay":0.69157, "alpha":0.0, "fx":[-40.86719,-40.85953,-40.8244,-40.8213], "fy":[11.74158,11.88353,11.68376,11.74468]}, + {"t":0.54188, "x":6.86726, "y":5.55454, "heading":3.14159, "vx":-1.28902, "vy":0.41451, "omega":0.0, "ax":-2.4065, "ay":0.67243, "alpha":0.0, "fx":[-40.84546,-40.86265,-40.80462,-41.22296], "fy":[11.63833,11.3556,11.36029,11.39703]}, + {"t":0.58059, "x":6.81556, "y":5.57109, "heading":-3.14159, "vx":-1.38216, "vy":0.44054, "omega":0.0, "ax":-2.41247, "ay":0.65029, "alpha":0.0, "fx":[-41.06399,-41.05529,-41.01309,-41.0096], "fy":[11.03536,11.2052,10.96556,11.03882]}, + {"t":0.61929, "x":6.76026, "y":5.58863, "heading":3.14159, "vx":-1.47554, "vy":0.46571, "omega":0.0, "ax":-2.41918, "ay":0.6244, "alpha":0.0, "fx":[-41.04407,-41.06283,-40.9975,-41.49405], "fy":[10.86328,10.52228,10.52698,10.57064]}, + {"t":0.658, "x":6.70134, "y":5.60712, "heading":-3.14159, "vx":-1.56918, "vy":0.48988, "omega":0.0, "ax":-2.42675, "ay":0.59372, "alpha":0.0, "fx":[-41.30621,-41.29863,-41.25578,-41.25277], "fy":[10.07339,10.24111,10.00491,10.07634]}, + {"t":0.6967, "x":6.63878, "y":5.62653, "heading":3.14159, "vx":-1.6631, "vy":0.51286, "omega":0.0, "ax":-2.43531, "ay":0.55681, "alpha":0.0, "fx":[-41.30377,-41.32119,-41.23561,-41.83539], "fy":[9.73541,9.35708,9.36219,9.4299]}, + {"t":0.73541, "x":6.57259, "y":5.6468, "heading":-3.14159, "vx":-1.75737, "vy":0.53441, "omega":0.0, "ax":-2.445, "ay":0.5116, "alpha":0.0, "fx":[-41.62307,-41.61564,-41.55972,-41.55682], "fy":[8.67021,8.87834,8.58704,8.67299]}, + {"t":0.77412, "x":6.50273, "y":5.66786, "heading":3.14159, "vx":-1.852, "vy":0.55421, "omega":0.0, "ax":-2.45591, "ay":0.455, "alpha":0.0, "fx":[-41.62632,-41.64179,-41.52813,-42.30102], "fy":[8.04955,7.60127,7.59707,7.70984]}, + {"t":0.81282, "x":6.42921, "y":5.68966, "heading":-3.14159, "vx":-1.94706, "vy":0.57182, "omega":0.0, "ax":-2.46796, "ay":0.38223, "alpha":0.0, "fx":[-42.01172,-42.00692,-41.9501,-41.94827], "fy":[6.47075,6.67235,6.39109,6.47242]}, + {"t":0.85153, "x":6.352, "y":5.71208, "heading":3.14159, "vx":-2.04258, "vy":0.58662, "omega":0.0, "ax":-2.48058, "ay":0.28552, "alpha":0.0, "fx":[-42.02153,-42.02908,-41.86685,-42.85863], "fy":[5.17526,4.68636,4.68931,4.87528]}, + {"t":0.89023, "x":6.27108, "y":5.73499, "heading":-3.14159, "vx":-2.1386, "vy":0.59767, "omega":0.0, "ax":-2.49179, "ay":0.15148, "alpha":0.0, "fx":[-42.41324,-42.41261,-42.35641,-42.35618], "fy":[2.54834,2.72322,2.4868,2.54842]}, + {"t":0.92894, "x":6.18644, "y":5.75824, "heading":3.14159, "vx":-2.23504, "vy":0.60353, "omega":0.0, "ax":-2.49518, "ay":-0.04437, "alpha":0.0, "fx":[-42.25927,-42.25442,-42.00793,-43.24756], "fy":[-0.51094,-0.93798,-0.94239,-0.62763]}, + {"t":0.96764, "x":6.09806, "y":5.78157, "heading":-3.14159, "vx":-2.33162, "vy":0.60182, "omega":0.0, "ax":-2.46973, "ay":-0.34964, "alpha":0.0, "fx":[-42.01591,-42.01387,-42.00426,-42.00354], "fy":[-5.95317,-5.93533,-5.94823,-5.95237]}, + {"t":1.00635, "x":6.00597, "y":5.8046, "heading":-3.14159, "vx":-2.42721, "vy":0.58828, "omega":0.0, "ax":-2.34113, "ay":-0.85532, "alpha":0.0, "fx":[-39.67482,-39.67432,-39.3171,-40.62179], "fy":[-14.5504,-14.68625,-14.706,-14.25209]}, + {"t":1.04506, "x":5.91026, "y":5.82673, "heading":-3.14159, "vx":-2.51783, "vy":0.55518, "omega":0.0, "ax":-1.85792, "ay":-1.65775, "alpha":0.0, "fx":[-31.53265,-31.49441,-31.69796,-31.68585], "fy":[-28.11435,-28.63412,-27.93997,-28.10299]}, + {"t":1.08376, "x":5.81142, "y":5.84698, "heading":3.14159, "vx":-2.58974, "vy":0.49101, "omega":0.0, "ax":-0.66083, "ay":-2.39962, "alpha":0.0, "fx":[-11.31117,-11.3334,-10.91211,-11.40541], "fy":[-41.45052,-40.73001,-40.74024,-40.34678]}, + {"t":1.12247, "x":5.71069, "y":5.86418, "heading":3.14159, "vx":-2.61532, "vy":0.39813, "omega":0.0, "ax":0.59131, "ay":-2.41981, "alpha":0.0, "fx":[10.21206,10.1871,9.92042,9.91246], "fy":[-41.0149,-41.83069,-40.77314,-41.02264]}, + {"t":1.16117, "x":5.6099, "y":5.87778, "heading":3.14159, "vx":-2.59243, "vy":0.30447, "omega":0.0, "ax":1.27688, "ay":-2.14157, "alpha":0.0, "fx":[21.5009,21.55626,21.59577,22.22486], "fy":[-37.07738,-36.23805,-36.23504,-36.15918]}, + {"t":1.19988, "x":5.51051, "y":5.88796, "heading":-3.14159, "vx":-2.54301, "vy":0.22158, "omega":0.0, "ax":1.61612, "ay":-1.90072, "alpha":0.0, "fx":[27.58403,27.54042,27.4252,27.40919], "fy":[-32.25051,-32.72195,-32.08465,-32.26603]}, + {"t":1.23858, "x":5.4133, "y":5.89511, "heading":-3.14159, "vx":-2.48046, "vy":0.14801, "omega":0.0, "ax":1.80104, "ay":-1.728, "alpha":0.0, "fx":[30.43634,30.50132,30.43215,31.17088], "fy":[-29.88886,-29.2245,-29.22839,-29.22939]}, + {"t":1.27729, "x":5.31864, "y":5.89955, "heading":-3.14159, "vx":-2.41074, "vy":0.08113, "omega":0.0, "ax":1.91303, "ay":-1.60423, "alpha":0.0, "fx":[32.59963,32.5651,32.50456,32.49117], "fy":[-27.23858,-27.53868,-27.12068,-27.25177]}, + {"t":1.316, "x":5.22676, "y":5.90149, "heading":-3.14159, "vx":-2.3367, "vy":0.01904, "omega":0.0, "ax":1.98672, "ay":-1.51284, "alpha":0.0, "fx":[33.62938,33.6864,33.58822,34.27019], "fy":[-26.1092,-25.59323,-25.60138,-25.62803]}, + {"t":1.3547, "x":5.13781, "y":5.90109, "heading":-3.14159, "vx":-2.2598, "vy":-0.03952, "omega":0.0, "ax":2.03835, "ay":-1.44317, "alpha":0.0, "fx":[34.70791,34.68498,34.65157,34.64242], "fy":[-24.51868,-24.704,-24.4414,-24.52781]}, + {"t":1.39341, "x":5.05187, "y":5.89848, "heading":-3.14159, "vx":-2.18091, "vy":-0.09538, "omega":0.0, "ax":2.0763, "ay":-1.38854, "alpha":0.0, "fx":[35.19065,35.23315,35.11223,35.7328], "fy":[-23.87438,-23.50751,-23.51934,-23.5737]}, + {"t":1.43211, "x":4.96901, "y":5.89375, "heading":-3.14159, "vx":-2.10054, "vy":-0.14912, "omega":0.0, "ax":2.10525, "ay":-1.34466, "alpha":0.0, "fx":[35.83318,35.81725,35.79752,35.79104], "fy":[-22.85362,-22.97544,-22.80019,-22.86014]}, + {"t":1.47082, "x":4.88928, "y":5.88697, "heading":-3.14159, "vx":-2.01906, "vy":-0.20117, "omega":0.0, "ax":2.12802, "ay":-1.3087, "alpha":0.0, "fx":[36.09389,36.12806,36.01627,36.5495], "fy":[-22.45879,-22.16876,-22.18055,-22.23435]}, + {"t":1.50952, "x":4.81273, "y":5.8782, "heading":-3.14159, "vx":-1.93669, "vy":-0.25182, "omega":0.0, "ax":2.14635, "ay":-1.27872, "alpha":0.0, "fx":[36.52231,36.51222,36.5023,36.49813], "fy":[-21.73996,-21.81152,-21.70672,-21.74418]}, + {"t":1.54823, "x":4.73937, "y":5.8675, "heading":-3.14159, "vx":-1.85361, "vy":-0.30132, "omega":0.0, "ax":2.16141, "ay":-1.25335, "alpha":0.0, "fx":[36.68259,36.70843,36.59457,37.07401], "fy":[-21.45868,-21.2435,-21.25605,-21.31842]}, + {"t":1.58694, "x":4.66925, "y":5.8549, "heading":-3.14159, "vx":-1.76995, "vy":-0.34983, "omega":0.0, "ax":2.17399, "ay":-1.23163, "alpha":0.00002, "fx":[36.98504,36.97932,36.9768,36.97439], "fy":[-20.9452,-20.97791,-20.92774,-20.94764]}, + {"t":1.62564, "x":4.60237, "y":5.84043, "heading":3.14159, "vx":-1.68581, "vy":-0.3975, "omega":0.0, "ax":2.21919, "ay":-1.14295, "alpha":5.76864, "fx":[51.48568,53.75358,23.46436,22.28728], "fy":[-34.03705,-3.29727,-3.38951,-37.04126]}, + {"t":1.65291, "x":4.55722, "y":5.82917, "heading":-3.14159, "vx":-1.62529, "vy":-0.42867, "omega":0.15731, "ax":2.29669, "ay":-0.98273, "alpha":5.11715, "fx":[51.05286,52.83306,26.44347,25.93444], "fy":[-30.1919,-1.99265,-2.24895,-32.4304]}, + {"t":1.68018, "x":4.51375, "y":5.81711, "heading":-3.1373, "vx":-1.56266, "vy":-0.45547, "omega":0.29685, "ax":2.36095, "ay":-0.81638, "alpha":4.63698, "fx":[51.27675,52.53054,28.81413,28.0147], "fy":[-25.93234,-0.55465,-0.91928,-28.139]}, + {"t":1.70745, "x":4.47202, "y":5.80439, "heading":-3.12921, "vx":-1.49828, "vy":-0.47773, "omega":0.4233, "ax":2.4128, "ay":-0.64731, "alpha":4.07488, "fx":[50.77362,51.47524,30.86761,31.04746], "fy":[-21.98192,0.93815,0.62139,-23.62011]}, + {"t":1.73472, "x":4.43206, "y":5.79112, "heading":-3.11766, "vx":-1.43248, "vy":-0.49538, "omega":0.53442, "ax":2.45195, "ay":-0.47817, "alpha":3.66269, "fx":[50.77261,50.98826,32.54187,32.52521], "fy":[-17.75855,2.64562,2.05425,-19.47547]}, + {"t":1.76199, "x":4.3939, "y":5.77743, "heading":-3.10309, "vx":-1.36562, "vy":-0.50842, "omega":0.63431, "ax":2.47868, "ay":-0.31143, "alpha":3.14208, "fx":[49.94567,49.70984,34.02674,34.96454], "fy":[-13.78232,4.17203,3.60318,-15.18218]}, + {"t":1.78926, "x":4.35759, "y":5.76345, "heading":-3.08579, "vx":-1.29803, "vy":-0.51691, "omega":0.71999, "ax":2.49374, "ay":-0.14928, "alpha":2.78364, "fx":[49.62473,49.03909,35.16665,35.841], "fy":[-9.8167,5.90665,5.02165,-11.26857]}, + {"t":1.81653, "x":4.32312, "y":5.7493, "heading":-3.06616, "vx":-1.23002, "vy":-0.52099, "omega":0.7959, "ax":2.49824, "ay":0.00649, "alpha":2.29593, "fx":[48.4436,47.58965,36.24598,37.69827], "fy":[-5.98658,7.26679,6.46465,-7.30335]}, + {"t":1.8438, "x":4.2905, "y":5.7351, "heading":-3.04446, "vx":-1.1619, "vy":-0.52081, "omega":0.85851, "ax":2.49351, "ay":0.15455, "alpha":1.97061, "fx":[47.78266,46.76246,37.02671,38.08382], "fy":[-2.4201,8.82791,7.75853,-3.65081]}, + {"t":1.87107, "x":4.25975, "y":5.72095, "heading":-3.02104, "vx":-1.0939, "vy":-0.51659, "omega":0.91225, "ax":2.48098, "ay":0.29403, "alpha":1.50499, "fx":[46.27308,45.21109,37.8612,39.45792], "fy":[1.14559,9.89356,9.01757,-0.05153]}, + {"t":1.89834, "x":4.23084, "y":5.70697, "heading":-2.99617, "vx":-1.02624, "vy":-0.50858, "omega":0.95329, "ax":2.46208, "ay":0.42443, "alpha":1.1984, "fx":[45.3122,44.29716,38.44295,39.46485], "fy":[4.25104,11.15728,10.14472,3.32502]}, + {"t":1.92561, "x":4.20377, "y":5.69326, "heading":-2.97017, "vx":-0.9591, "vy":-0.497, "omega":0.98597, "ax":2.43814, "ay":0.54564, "alpha":0.79121, "fx":[43.77947,42.95904,38.92233,40.22735], "fy":[7.46501,11.85332,11.22165,6.58487]}, + {"t":1.95288, "x":4.17852, "y":5.67991, "heading":-2.94328, "vx":-0.89261, "vy":-0.48212, "omega":1.00754, "ax":2.41036, "ay":0.65778, "alpha":0.44502, "fx":[42.32198,41.79504,39.68232,40.19884], "fy":[10.12364,12.76865,12.15603,9.70599]}, + {"t":1.98015, "x":4.15507, "y":5.66701, "heading":-2.91581, "vx":-0.82688, "vy":-0.46418, "omega":1.01968, "ax":2.37979, "ay":0.76116, "alpha":0.03773, "fx":[40.54358,40.47655,40.18774,40.71035], "fy":[12.96988,13.10069,13.03992,12.67784]}, + {"t":2.00742, "x":4.13341, "y":5.65464, "heading":-2.888, "vx":-0.76199, "vy":-0.44343, "omega":1.02071, "ax":2.34731, "ay":0.85624, "alpha":-0.30799, "fx":[38.91313,39.38499,40.94707,40.46318], "fy":[15.20942,13.6449,13.81871,15.58456]}, + {"t":2.03469, "x":4.1135, "y":5.64286, "heading":-2.86017, "vx":-0.69798, "vy":-0.42008, "omega":1.01231, "ax":2.31365, "ay":0.94355, "alpha":-0.72498, "fx":[36.93715,38.14812,41.55914,40.77366], "fy":[17.73615,13.59204,14.53906,18.33083]}, + {"t":2.06196, "x":4.09533, "y":5.63176, "heading":-2.83256, "vx":-0.63488, "vy":-0.39435, "omega":0.99254, "ax":2.27939, "ay":1.02366, "alpha":-1.08242, "fx":[35.15422,37.16416,42.37974,40.3891], "fy":[19.58405,13.75345,15.20905,21.1018]}, + {"t":2.08923, "x":4.07887, "y":5.62138, "heading":-2.8055, "vx":-0.57273, "vy":-0.36643, "omega":0.96302, "ax":2.245, "ay":1.09713, "alpha":-1.49115, "fx":[33.10092,36.12642,42.88277,40.63718], "fy":[21.77842,13.35741,15.83795,23.67373]}, + {"t":2.1165, "x":4.06408, "y":5.6118, "heading":-2.77923, "vx":-0.5115, "vy":-0.33651, "omega":0.92236, "ax":2.21084, "ay":1.16454, "alpha":-1.89483, "fx":[31.08511,35.1879,44.07505,40.07464], "fy":[23.33591,13.13952,16.38441,26.37403]}, + {"t":2.14377, "x":4.05096, "y":5.60306, "heading":-2.75408, "vx":-0.45122, "vy":-0.30476, "omega":0.87069, "ax":2.17717, "ay":1.22642, "alpha":-2.31238, "fx":[29.04208,34.52325,44.88195,39.68464], "fy":[25.22988,12.38918,16.87015,28.95475]}, + {"t":2.17104, "x":4.03946, "y":5.5952, "heading":-2.73034, "vx":-0.39185, "vy":-0.27131, "omega":0.80763, "ax":2.1442, "ay":1.28327, "alpha":-2.76154, "fx":[26.72139,33.47504,46.09114,39.60102], "fy":[26.57881,11.8372,17.39124,31.50482]}, + {"t":2.19831, "x":4.02957, "y":5.58828, "heading":-2.70831, "vx":-0.33337, "vy":-0.23632, "omega":0.73232, "ax":2.11207, "ay":1.33556, "alpha":-3.2162, "fx":[24.47891,32.91794,47.11545,39.1902], "fy":[28.25659,10.7971,17.77997,34.03627]}, + {"t":2.22558, "x":4.02127, "y":5.58233, "heading":-2.68834, "vx":-0.27578, "vy":-0.1999, "omega":0.64462, "ax":2.08087, "ay":1.38372, "alpha":-3.67935, "fx":[22.04014,31.98691,48.45385,39.09944], "fy":[29.52197,9.9719,18.31346,36.3393]}, + {"t":2.25285, "x":4.01452, "y":5.57739, "heading":-2.67077, "vx":-0.21903, "vy":-0.16217, "omega":0.54428, "ax":2.05069, "ay":1.42813, "alpha":-4.18039, "fx":[19.58315,31.50373,49.71566,38.72388], "fy":[31.0711,8.64675,18.59201,38.85881]}, + {"t":2.28012, "x":4.00931, "y":5.5735, "heading":-2.65592, "vx":-0.16311, "vy":-0.12322, "omega":0.43028, "ax":2.02154, "ay":1.46916, "alpha":-4.7004, "fx":[17.05172,30.66867,51.22111,38.60163], "fy":[32.18891,7.4004,18.97079,41.3999]}, + {"t":2.30739, "x":4.00561, "y":5.57069, "heading":-2.64419, "vx":-0.10798, "vy":-0.08316, "omega":0.3021, "ax":1.99344, "ay":1.50711, "alpha":-5.25517, "fx":[14.38011,30.19706,52.73345,38.32088], "fy":[33.71381,5.79751,19.09677,43.93422]}, + {"t":2.33466, "x":4.00341, "y":5.56898, "heading":-2.63595, "vx":-0.05362, "vy":-0.04206, "omega":0.1588, "ax":1.9664, "ay":1.54228, "alpha":-5.82318, "fx":[11.72968,29.36614,54.40293,38.29266], "fy":[34.86856,4.21201,19.34054,46.51394]}, + {"t":2.36193, "x":4.00268, "y":5.56841, "heading":-2.63162, "vx":0.0, "vy":0.0, "omega":0.0, "ax":1.52933, "ay":-1.97531, "alpha":1.57288, "fx":[31.83491,28.05185,20.12224,24.04502], "fy":[-34.8629,-27.95449,-32.35916,-39.22126]}, + {"t":2.40789, "x":4.00429, "y":5.56632, "heading":-2.63162, "vx":0.0703, "vy":-0.0908, "omega":0.0723, "ax":5.52004, "ay":-7.12977, "alpha":-0.00009, "fx":[93.89396,93.89385,93.8946,93.89471], "fy":[-121.27561,-121.27569,-121.27511,-121.27503]}, + {"t":2.45386, "x":4.01336, "y":5.55462, "heading":-2.6283, "vx":0.32402, "vy":-0.41852, "omega":0.07229, "ax":5.51703, "ay":-7.12588, "alpha":-0.00429, "fx":[93.82769,93.82246,93.85845,93.86369], "fy":[-121.22096,-121.22509,-121.19724,-121.1931]}, + {"t":2.49982, "x":4.03408, "y":5.52785, "heading":-2.62497, "vx":0.57762, "vy":-0.74606, "omega":0.0721, "ax":5.50807, "ay":-7.11428, "alpha":-0.01776, "fx":[93.62666,93.60578,93.75456,93.77562], "fy":[-121.06095,-121.0778,-120.96274,-120.9457]}, + {"t":2.54579, "x":4.06645, "y":5.48604, "heading":-2.62166, "vx":0.83079, "vy":-1.07307, "omega":0.07128, "ax":3.9916, "ay":-5.1558, "alpha":-1.46212, "fx":[62.50107,64.73494,73.16369,71.18404], "fy":[-88.04344,-93.03582,-87.43658,-82.27876]}, + {"t":2.59175, "x":4.10885, "y":5.43127, "heading":-2.61838, "vx":1.01427, "vy":-1.31005, "omega":0.00407, "ax":-5.50765, "ay":7.11383, "alpha":-0.03617, "fx":[-93.81475,-93.85584,-93.55201,-93.51171], "fy":[120.90358,120.87022,121.10533,121.13792]}, + {"t":2.63772, "x":4.14965, "y":5.37857, "heading":-2.6182, "vx":0.76111, "vy":-0.98306, "omega":0.00241, "ax":-5.51691, "ay":7.12577, "alpha":-0.02124, "fx":[-93.91823,-93.94243,-93.76393,-93.73996], "fy":[121.14789,121.12867,121.26684,121.28582]}, + {"t":2.68368, "x":4.17881, "y":5.34091, "heading":-2.61809, "vx":0.50752, "vy":-0.65553, "omega":0.00143, "ax":-5.51998, "ay":7.12973, "alpha":-0.01671, "fx":[-93.95401,-93.97308,-93.8326,-93.81368], "fy":[121.22778,121.21276,121.32151,121.33638]}, + {"t":2.72965, "x":4.19631, "y":5.31831, "heading":-2.61802, "vx":0.2538, "vy":-0.32781, "omega":0.00067, "ax":-5.52151, "ay":7.1317, "alpha":-0.01451, "fx":[-93.97207,-93.98865,-93.86665,-93.85019], "fy":[121.26749,121.25449,121.34894,121.36182]}, + {"t":2.77561, "x":4.20214, "y":5.31078, "heading":-2.61799, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-2.05036, "ay":0.92388, "alpha":-2.69954, "fx":[-43.88746,-38.34754,-25.26513,-32.00428], "fy":[18.05669,5.27363,13.3899,26.1392]}, + {"t":2.81705, "x":4.20038, "y":5.31157, "heading":-2.61799, "vx":-0.08497, "vy":0.03829, "omega":-0.11188, "ax":-2.05085, "ay":0.92409, "alpha":-2.35468, "fx":[-42.96845,-37.60674,-26.58417,-32.3781], "fy":[17.73478,6.64465,13.69988,24.79498]}, + {"t":2.8585, "x":4.1951, "y":5.31395, "heading":-2.62263, "vx":-0.16997, "vy":0.07659, "omega":-0.20946, "ax":-2.05083, "ay":0.92409, "alpha":-2.04343, "fx":[-41.7349,-37.4738,-27.67347,-32.65406], "fy":[17.52443,7.81022,13.92426,23.61481]}, + {"t":2.89994, "x":4.18629, "y":5.31792, "heading":-2.63131, "vx":-0.25496, "vy":0.11488, "omega":-0.29415, "ax":-2.05081, "ay":0.92408, "alpha":-1.77122, "fx":[-40.96385,-36.9935,-28.6825,-32.89506], "fy":[17.32152,8.92529,14.10155,22.52473]}, + {"t":2.94138, "x":4.17396, "y":5.32348, "heading":-2.6435, "vx":-0.33995, "vy":0.15318, "omega":-0.36755, "ax":-2.05079, "ay":0.92407, "alpha":-1.52207, "fx":[-39.91042,-36.97254,-29.55688,-33.09365], "fy":[17.19159,9.84599,14.2558,21.57905]}, + {"t":2.98283, "x":4.15811, "y":5.33062, "heading":-2.65873, "vx":-0.42494, "vy":0.19147, "omega":-0.43063, "ax":-2.05077, "ay":0.92406, "alpha":-1.30297, "fx":[-39.33255,-36.54673,-30.36965,-33.28302], "fy":[17.02825,10.77134,14.38171,20.6904]}, + {"t":3.02427, "x":4.13874, "y":5.33935, "heading":-2.67658, "vx":-0.50993, "vy":0.22977, "omega":-0.48463, "ax":-2.05074, "ay":0.92404, "alpha":-1.11722, "fx":[-38.59367,-36.53779,-31.00892,-33.38991], "fy":[16.91498,11.49261,14.5203,19.94303]}, + {"t":3.06571, "x":4.11585, "y":5.34966, "heading":-2.69666, "vx":-0.59492, "vy":0.26806, "omega":-0.53093, "ax":-2.05072, "ay":0.92403, "alpha":-0.92576, "fx":[-38.01353,-36.17806,-31.72063,-33.61627], "fy":[16.77523,12.26066,14.62295,19.21124]}, + {"t":3.10715, "x":4.08943, "y":5.36156, "heading":-2.71866, "vx":-0.67991, "vy":0.30636, "omega":-0.5693, "ax":-2.05069, "ay":0.92402, "alpha":-0.78005, "fx":[-37.4008,-36.20511,-32.21405,-33.70658], "fy":[16.67427,12.81114,14.76342,18.62032]}, + {"t":3.1486, "x":4.05949, "y":5.37505, "heading":-2.74226, "vx":-0.76489, "vy":0.34465, "omega":-0.60162, "ax":-2.05066, "ay":0.924, "alpha":-0.62104, "fx":[-36.95518,-35.84376,-32.79591,-33.92954], "fy":[16.52542,13.4574,14.86177,18.02356]}, + {"t":3.19004, "x":4.02603, "y":5.39013, "heading":-2.76719, "vx":-0.84988, "vy":0.38295, "omega":-0.62736, "ax":-2.05062, "ay":0.92399, "alpha":-0.50804, "fx":[-36.44604,-35.89742,-33.16782,-34.01077], "fy":[16.42766,13.86406,15.01297,17.56234]}, + {"t":3.23148, "x":3.98905, "y":5.4068, "heading":-2.79319, "vx":-0.93486, "vy":0.42124, "omega":-0.64842, "ax":-2.05058, "ay":0.92397, "alpha":-0.37427, "fx":[-36.1144,-35.52417,-33.64442,-34.23647], "fy":[16.2647,14.41447,15.11021,17.07643]}, + {"t":3.27293, "x":3.94855, "y":5.42505, "heading":-2.82006, "vx":-1.01984, "vy":0.45953, "omega":-0.66393, "ax":-2.05054, "ay":0.92395, "alpha":-0.28865, "fx":[-35.68942,-35.60592,-33.91288,-34.30835], "fy":[16.16901,14.69695,15.27401,16.72449]}, + {"t":3.31437, "x":3.90452, "y":5.44488, "heading":-2.84758, "vx":-1.10482, "vy":0.49782, "omega":-0.67589, "ax":-2.0505, "ay":0.92393, "alpha":-0.17479, "fx":[-35.45628,-35.21432,-34.30446,-34.53833], "fy":[15.99405,15.17039,15.36694,16.33157]}, + {"t":3.35581, "x":3.85697, "y":5.46631, "heading":-2.87559, "vx":-1.1898, "vy":0.53611, "omega":-0.68313, "ax":-2.05044, "ay":0.9239, "alpha":-0.11274, "fx":[-35.09869,-35.33303,-34.48215,-34.59591], "fy":[15.90249,15.3444,15.54209,16.07229]}, + {"t":3.39725, "x":3.8059, "y":5.48932, "heading":-2.9039, "vx":-1.27478, "vy":0.5744, "omega":-0.6878, "ax":-2.05038, "ay":0.92387, "alpha":-0.01415, "fx":[-34.95325,-34.91648,-34.80612,-34.8299], "fy":[15.71805,15.7607,15.6249,15.75568]}, + {"t":3.4387, "x":3.75131, "y":5.51392, "heading":-2.9324, "vx":-1.35975, "vy":0.61269, "omega":-0.68839, "ax":-2.05032, "ay":0.92384, "alpha":0.02684, "fx":[-34.65184,-35.07512,-34.90528,-34.86889], "fy":[15.63722,15.83444,15.80719,15.57833]}, + {"t":3.48014, "x":3.6932, "y":5.5401, "heading":-2.96093, "vx":-1.44472, "vy":0.65098, "omega":-0.68728, "ax":-2.05024, "ay":0.92381, "alpha":0.11284, "fx":[-34.58281,-34.63866,-35.17271,-35.10166], "fy":[15.4493,16.20651,15.87274,15.32613]}, + {"t":3.52158, "x":3.63157, "y":5.56788, "heading":-2.98942, "vx":-1.52969, "vy":0.68926, "omega":-0.6826, "ax":-2.05015, "ay":0.92376, "alpha":0.13369, "fx":[-34.32429,-34.85573,-35.19796,-35.11172], "fy":[15.3864,16.18649,16.05688,15.22202]}, + {"t":3.56303, "x":3.56641, "y":5.59723, "heading":-3.0177, "vx":-1.61466, "vy":0.72754, "omega":-0.67706, "ax":-2.05004, "ay":0.92371, "alpha":0.20898, "fx":[-34.32735,-34.392,-35.42195,-35.34122], "fy":[15.20421,16.51874,16.09841,15.02697]}, + {"t":3.60447, "x":3.49773, "y":5.62818, "heading":-3.04576, "vx":-1.69961, "vy":0.76583, "omega":-0.6684, "ax":-2.04992, "ay":0.92365, "alpha":0.20933, "fx":[-34.09797,-34.69624,-35.37228,-35.30743], "fy":[15.16583,16.41454,16.27575,14.98822]}, + {"t":3.64591, "x":3.42554, "y":5.66071, "heading":-3.07346, "vx":-1.78457, "vy":0.80411, "omega":-0.65973, "ax":-2.04976, "ay":0.92358, "alpha":0.2763, "fx":[-34.17429,-34.1894,-35.56658,-35.53328], "fy":[14.9953,16.72373,16.27946,14.84089]}, + {"t":3.68735, "x":3.34982, "y":5.69483, "heading":-3.1008, "vx":-1.86952, "vy":0.84238, "omega":-0.64828, "ax":-2.04957, "ay":0.92349, "alpha":0.2542, "fx":[-33.96733,-34.599,-35.44203,-35.44235], "fy":[14.99446,16.52853,16.4436,14.8668]}, + {"t":3.7288, "x":3.27058, "y":5.73053, "heading":-3.12767, "vx":-1.95446, "vy":0.88065, "omega":-0.63774, "ax":-2.04934, "ay":0.92338, "alpha":0.31441, "fx":[-34.11532,-34.04869,-35.61336,-35.65713], "fy":[14.8383,16.84604,16.38679,14.75449]}, + {"t":3.77024, "x":3.18782, "y":5.76782, "heading":3.12908, "vx":-2.03939, "vy":0.91892, "omega":-0.62471, "ax":-2.04902, "ay":0.92323, "alpha":0.26319, "fx":[-33.916,-34.61654,-35.3999,-35.48078], "fy":[14.89749,16.52942,16.53466,14.85412]}, + {"t":3.81168, "x":3.10154, "y":5.8067, "heading":3.10319, "vx":-2.12431, "vy":0.95718, "omega":-0.6138, "ax":-2.0486, "ay":0.92303, "alpha":0.31562, "fx":[-34.14507,-33.99787,-35.56023,-35.68121], "fy":[14.77621,16.84524,16.40114,14.77919]}, + {"t":3.85313, "x":3.01175, "y":5.84716, "heading":3.07776, "vx":-2.20921, "vy":0.99543, "omega":-0.60072, "ax":-2.04798, "ay":0.92274, "alpha":0.23009, "fx":[-33.94765,-34.7613,-35.24426,-35.38927], "fy":[14.90866,16.41209,16.50923,14.95221]}, + {"t":3.89457, "x":2.91843, "y":5.8892, "heading":3.05286, "vx":-2.29408, "vy":1.03368, "omega":-0.59119, "ax":-2.04703, "ay":0.92227, "alpha":0.27284, "fx":[-34.26184,-34.06824,-35.39194,-35.55525], "fy":[14.83062,16.74457,16.26494,14.90996]}, + {"t":3.93601, "x":2.8216, "y":5.93283, "heading":3.02836, "vx":-2.37891, "vy":1.0719, "omega":-0.57988, "ax":-2.04528, "ay":0.92146, "alpha":0.14896, "fx":[-34.08357,-34.97224,-34.97498,-35.12804], "fy":[15.06993,16.16271,16.29963,15.16257]}, + {"t":3.97745, "x":2.72126, "y":5.97805, "heading":3.00433, "vx":-2.46368, "vy":1.11009, "omega":-0.57371, "ax":-2.04126, "ay":0.9195, "alpha":0.1594, "fx":[-34.41961,-34.28154,-35.02961,-35.15415], "fy":[15.10398,16.32845,15.9415,15.18747]}, + {"t":4.0189, "x":2.6174, "y":6.02484, "heading":2.98055, "vx":-2.54827, "vy":1.14819, "omega":-0.5671, "ax":-2.02096, "ay":0.91033, "alpha":-0.04799, "fx":[-33.76279,-35.67499,-34.00596,-34.06028], "fy":[15.3095,15.59381,15.67906,15.35546]}, + {"t":4.06034, "x":2.51006, "y":6.07321, "heading":2.95705, "vx":-2.63203, "vy":1.18592, "omega":-0.56909, "ax":2.02144, "ay":-0.90817, "alpha":-0.08156, "fx":[34.28491,34.21667,34.49028,34.5448], "fy":[-15.08427,-16.18801,-15.39029,-15.12806]}, + {"t":4.10178, "x":2.40272, "y":6.12158, "heading":2.93347, "vx":-2.54825, "vy":1.14828, "omega":-0.57247, "ax":2.041, "ay":-0.91994, "alpha":-0.07303, "fx":[34.17805,35.13257,34.69535,34.86158], "fy":[-15.21563,-15.92593,-16.0989,-15.35131]}, + {"t":4.14323, "x":2.29886, "y":6.16837, "heading":2.90974, "vx":-2.46367, "vy":1.11016, "omega":-0.5755, "ax":2.04515, "ay":-0.92171, "alpha":-0.21958, "fx":[34.42525,34.12258,35.16188,35.43988], "fy":[-14.89763,-16.51531,-16.18132,-15.11818]}, + {"t":4.18467, "x":2.19852, "y":6.21359, "heading":2.88589, "vx":-2.37891, "vy":1.07196, "omega":-0.5846, "ax":2.04694, "ay":-0.92244, "alpha":-0.18845, "fx":[34.13041,34.78621,34.99177,35.36295], "fy":[-14.8762,-16.17303,-16.53075,-15.18177]}, + {"t":4.22611, "x":2.10169, "y":6.25722, "heading":2.86166, "vx":-2.29408, "vy":1.03373, "omega":-0.59241, "ax":2.04792, "ay":-0.92286, "alpha":-0.29658, "fx":[34.38228,33.89296,35.30281,35.76037], "fy":[-14.63306,-16.65118,-16.49541,-15.01065]}, + {"t":4.26755, "x":2.00837, "y":6.29927, "heading":2.83711, "vx":-2.20921, "vy":0.99548, "omega":-0.6047, "ax":2.04855, "ay":-0.92313, "alpha":-0.24677, "fx":[34.16526,34.4974,35.09757,35.62083], "fy":[-14.69507,-16.24321,-16.73411,-15.13615]}, + {"t":4.309, "x":1.91857, "y":6.33973, "heading":2.81205, "vx":-2.12431, "vy":0.95723, "omega":-0.61492, "ax":2.04898, "ay":-0.92331, "alpha":-0.31617, "fx":[34.41387,33.81193,35.30578,35.87893], "fy":[-14.55483,-16.57519,-16.647,-15.04426]}, + {"t":4.35044, "x":1.8323, "y":6.37861, "heading":2.78657, "vx":-2.03939, "vy":0.91896, "omega":-0.62803, "ax":2.0493, "ay":-0.92345, "alpha":-0.25884, "fx":[34.26855,34.35107,35.10334,35.70922], "fy":[-14.66144,-16.20878,-16.77497,-15.18526]}, + {"t":4.39188, "x":1.74954, "y":6.4159, "heading":2.76054, "vx":-1.95447, "vy":0.88069, "omega":-0.63875, "ax":2.04955, "ay":-0.92355, "alpha":-0.29719, "fx":[34.49969,33.85938,35.23787,35.85177], "fy":[-14.60133,-16.45521,-16.63945,-15.14155]}, + {"t":4.43333, "x":1.6703, "y":6.45161, "heading":2.73407, "vx":-1.86953, "vy":0.84242, "omega":-0.65107, "ax":2.04974, "ay":-0.92364, "alpha":-0.23226, "fx":[34.40424,34.35842,35.04618,35.65294], "fy":[-14.7587,-16.1078,-16.68139,-15.29525]}, + {"t":4.47477, "x":1.59458, "y":6.48573, "heading":2.70709, "vx":-1.78458, "vy":0.80414, "omega":-0.6607, "ax":2.04989, "ay":-0.9237, "alpha":-0.24484, "fx":[34.61382,34.02497,35.13327,35.70028], "fy":[-14.77511,-16.27928,-16.50573,-15.28754]}, + {"t":4.51621, "x":1.52238, "y":6.51826, "heading":2.6797, "vx":-1.69963, "vy":0.76586, "omega":-0.67084, "ax":2.05002, "ay":-0.92376, "alpha":-0.17168, "fx":[34.54713,34.51502,34.95388,35.46504], "fy":[-14.9788,-15.96955,-16.46409,-15.43897]}, + {"t":4.55765, "x":1.45371, "y":6.54921, "heading":2.6519, "vx":-1.61467, "vy":0.72757, "omega":-0.67796, "ax":2.05013, "ay":-0.9238, "alpha":-0.16332, "fx":[34.73596,34.30199,35.0174,35.43305], "fy":[-15.06414,-16.10106,-16.24103,-15.44832]}, + {"t":4.5991, "x":1.38855, "y":6.57857, "heading":2.62381, "vx":-1.5297, "vy":0.68929, "omega":-0.68473, "ax":2.05022, "ay":-0.92384, "alpha":-0.08085, "fx":[34.68587,34.79364,34.8577,35.15742], "fy":[-15.32203,-15.81883,-16.1225,-15.5939]}, + {"t":4.64054, "x":1.32692, "y":6.60634, "heading":2.59543, "vx":-1.44474, "vy":0.651, "omega":-0.68808, "ax":2.0503, "ay":-0.92388, "alpha":-0.05204, "fx":[34.84671,34.6946,34.91054,35.04817], "fy":[-15.48039,-15.9179,-15.84982,-15.61145]}, + {"t":4.68198, "x":1.2688, "y":6.63252, "heading":2.56691, "vx":-1.35977, "vy":0.61271, "omega":-0.69023, "ax":2.05037, "ay":-0.92391, "alpha":0.04219, "fx":[34.79785,35.21101,34.77412,34.72171], "fy":[-15.79622,-15.6754,-15.64936,-15.7406]}, + {"t":4.72343, "x":1.21421, "y":6.65712, "heading":2.53831, "vx":-1.27479, "vy":0.57442, "omega":-0.68849, "ax":2.05043, "ay":-0.92393, "alpha":0.09069, "fx":[34.92824,35.21001,34.83278,34.53779], "fy":[-16.02895,-15.7664,-15.31584,-15.75216]}, + {"t":4.76487, "x":1.16314, "y":6.68014, "heading":2.50978, "vx":-1.18982, "vy":0.53613, "omega":-0.68473, "ax":2.05048, "ay":-0.92396, "alpha":0.19959, "fx":[34.86905,35.76485,34.72744,34.15112], "fy":[-16.41495,-15.56022,-15.03009,-15.85966]}, + {"t":4.80631, "x":1.11559, "y":6.70156, "heading":2.4814, "vx":-1.10484, "vy":0.49784, "omega":-0.67646, "ax":2.05053, "ay":-0.92398, "alpha":0.26958, "fx":[34.96177,35.86287,34.80397,33.8871], "fy":[-16.7306,-15.65505,-14.62559,-15.85509]}, + {"t":4.84775, "x":1.07156, "y":6.7214, "heading":2.45336, "vx":-1.01986, "vy":0.45955, "omega":-0.66528, "ax":2.05057, "ay":-0.924, "alpha":0.39698, "fx":[34.88006,36.47318,34.73786,33.42754], "fy":[-17.19846,-15.49319,-14.24401,-15.9319]}, + {"t":4.8892, "x":1.03106, "y":6.73965, "heading":2.42579, "vx":-0.93488, "vy":0.42126, "omega":-0.64883, "ax":2.05061, "ay":-0.92401, "alpha":0.49134, "fx":[34.92845,36.67251,34.84536,33.07495], "fy":[-17.60986,-15.6022,-13.755,-15.90164]}, + {"t":4.93064, "x":0.99408, "y":6.75632, "heading":2.3989, "vx":-0.8499, "vy":0.38296, "omega":-0.62847, "ax":2.05065, "ay":-0.92403, "alpha":0.64247, "fx":[34.81155,37.36009,34.82655,32.52547], "fy":[-18.1747,-15.49394,-13.26298,-15.93811]}, + {"t":4.97208, "x":0.96062, "y":6.77139, "heading":2.37286, "vx":-0.76491, "vy":0.34467, "omega":-0.60184, "ax":2.05068, "ay":-0.92404, "alpha":0.76526, "fx":[34.80977,37.66533,34.97903,32.0717], "fy":[-18.69606,-15.63507,-12.66885,-15.87069]}, + {"t":5.01353, "x":0.93068, "y":6.78488, "heading":2.34792, "vx":-0.67992, "vy":0.30637, "omega":-0.57013, "ax":2.05071, "ay":-0.92405, "alpha":0.94644, "fx":[34.64746,38.45104,35.0174,31.41193], "fy":[-19.38112,-15.58119,-12.049,-15.86021]}, + {"t":5.05497, "x":0.90426, "y":6.79679, "heading":2.32429, "vx":-0.59494, "vy":0.26808, "omega":-0.5309, "ax":2.05073, "ay":-0.92406, "alpha":1.10404, "fx":[34.5892,38.87844,35.22601,30.836], "fy":[-20.03584,-15.76396,-11.32599,-15.74653]}, + {"t":5.09641, "x":0.88136, "y":6.8071, "heading":2.30229, "vx":-0.50995, "vy":0.22978, "omega":-0.48515, "ax":2.05076, "ay":-0.92408, "alpha":1.32326, "fx":[34.37437,39.78748,35.33082,30.03867], "fy":[-20.86865,-15.76869,-10.55085,-15.68485]}, + {"t":5.13785, "x":0.86199, "y":6.81583, "heading":2.28218, "vx":-0.42496, "vy":0.19149, "omega":-0.43031, "ax":2.05078, "ay":-0.92409, "alpha":1.52438, "fx":[34.25716,40.36241,35.60359,29.30974], "fy":[-21.68848,-15.99912,-9.6655,-15.52061]}, + {"t":5.1793, "x":0.84614, "y":6.82298, "heading":2.26435, "vx":-0.33997, "vy":0.15319, "omega":-0.36714, "ax":2.0508, "ay":-0.92409, "alpha":1.76425, "fx":[34.11784,41.08061,35.93289,28.403], "fy":[-22.68153,-16.1044,-8.68788,-15.40052]}, + {"t":5.22074, "x":0.83381, "y":6.82853, "heading":2.24913, "vx":-0.25498, "vy":0.11489, "omega":-0.29402, "ax":2.05082, "ay":-0.9241, "alpha":2.04674, "fx":[33.82003,42.1843,36.11664,27.41471], "fy":[-23.73111,-16.33156,-7.61052,-15.20171]}, + {"t":5.26218, "x":0.82501, "y":6.8325, "heading":2.23695, "vx":-0.16999, "vy":0.0766, "omega":-0.2092, "ax":2.05084, "ay":-0.92411, "alpha":2.34985, "fx":[33.63378,43.1244,36.51461,26.26415], "fy":[-24.95428,-16.47821,-6.39365,-15.0493]}, + {"t":5.30363, "x":0.81972, "y":6.83488, "heading":2.22828, "vx":-0.08499, "vy":0.0383, "omega":-0.11181, "ax":2.05086, "ay":-0.92412, "alpha":2.698, "fx":[33.31412,44.4396,36.74721,25.03718], "fy":[-26.2697,-16.72363,-5.05086,-14.83176]}, + {"t":5.34507, "x":0.81796, "y":6.83567, "heading":2.22364, "vx":0.0, "vy":0.0, "omega":0.0, "ax":2.11214, "ay":-0.77224, "alpha":2.77882, "fx":[34.43712,45.54464,37.96064,25.76537], "fy":[-24.11016,-14.2516,-2.07622,-12.1045]}, + {"t":5.38626, "x":0.81975, "y":6.83502, "heading":2.22364, "vx":0.087, "vy":-0.03181, "omega":0.11446, "ax":2.11265, "ay":-0.77243, "alpha":2.43073, "fx":[34.53151,44.50202,37.57447,27.13399], "fy":[-22.70401,-14.13853,-3.49734,-12.2151]}, + {"t":5.42745, "x":0.82513, "y":6.83305, "heading":2.22836, "vx":0.17402, "vy":-0.06363, "omega":0.21458, "ax":2.11263, "ay":-0.77242, "alpha":2.11077, "fx":[34.80062,43.27668,37.41317,28.25019], "fy":[-21.48902,-13.93665,-4.73411,-12.3947]}, + {"t":5.46864, "x":0.83409, "y":6.82978, "heading":2.2372, "vx":0.26104, "vy":-0.09544, "omega":0.30153, "ax":2.11261, "ay":-0.77241, "alpha":1.83363, "fx":[34.94328,42.43344,37.06096,29.30155], "fy":[-20.35701,-13.81218,-5.85361,-12.53116]}, + {"t":5.50983, "x":0.84664, "y":6.82519, "heading":2.24962, "vx":0.34806, "vy":-0.12726, "omega":0.37705, "ax":2.11258, "ay":-0.7724, "alpha":1.57254, "fx":[35.21173,41.40016,36.9212,30.20459], "fy":[-19.3869,-13.60815,-6.84613,-12.7122]}, + {"t":5.55102, "x":0.86276, "y":6.81929, "heading":2.26515, "vx":0.43508, "vy":-0.15907, "omega":0.44183, "ax":2.11256, "ay":-0.77239, "alpha":1.35319, "fx":[35.32536,40.76349,36.61695,31.03022], "fy":[-18.46704,-13.50803,-7.7467,-12.831]}, + {"t":5.59221, "x":0.88248, "y":6.81209, "heading":2.28335, "vx":0.52209, "vy":-0.19089, "omega":0.49757, "ax":2.11253, "ay":-0.77238, "alpha":1.17013, "fx":[35.42164,40.26213,36.36671,31.68371], "fy":[-17.70854,-13.29265,-8.56263,-12.98827]}, + {"t":5.6334, "x":0.90577, "y":6.80357, "heading":2.30384, "vx":0.60911, "vy":-0.2227, "omega":0.54576, "ax":2.1125, "ay":-0.77237, "alpha":0.96563, "fx":[35.62626,39.40315,36.27893,32.42388], "fy":[-16.93589,-13.28141,-9.27814,-13.05591]}, + {"t":5.67459, "x":0.93266, "y":6.79374, "heading":2.32632, "vx":0.69612, "vy":-0.25452, "omega":0.58554, "ax":2.11247, "ay":-0.77236, "alpha":0.82237, "fx":[35.67209,39.03818,36.08082,32.93897], "fy":[-16.32995,-13.10424,-9.94631,-13.17005]}, + {"t":5.71578, "x":0.96312, "y":6.7826, "heading":2.35044, "vx":0.78314, "vy":-0.28633, "omega":0.61941, "ax":2.11244, "ay":-0.77235, "alpha":0.65287, "fx":[35.8314,38.29125,36.05195,33.55309], "fy":[-15.69343,-13.14749,-10.51873,-13.19001]}, + {"t":5.75697, "x":0.99717, "y":6.77015, "heading":2.37595, "vx":0.87015, "vy":-0.31814, "omega":0.6463, "ax":2.1124, "ay":-0.77233, "alpha":0.54191, "fx":[35.82523,38.04134,35.90189,33.9566], "fy":[-15.21118,-13.00694,-11.06907,-13.26151]}, + {"t":5.79816, "x":1.0348, "y":6.75639, "heading":2.40258, "vx":0.95716, "vy":-0.34996, "omega":0.66863, "ax":2.11235, "ay":-0.77232, "alpha":0.40019, "fx":[35.94404,37.38197,35.92658,34.46959], "fy":[-14.68705,-13.09983,-11.52334,-13.23742]}, + {"t":5.83935, "x":1.07602, "y":6.74132, "heading":2.43012, "vx":1.04417, "vy":-0.38177, "omega":0.68511, "ax":2.11231, "ay":-0.7723, "alpha":0.31638, "fx":[35.88836,37.23818,35.81457,34.77784], "fy":[-14.30698,-12.99176,-11.97611,-13.27159]}, + {"t":5.88054, "x":1.12082, "y":6.72494, "heading":2.45834, "vx":1.13117, "vy":-0.41358, "omega":0.69814, "ax":2.11225, "ay":-0.77228, "alpha":0.19645, "fx":[35.97669,36.64305,35.8865,35.20909], "fy":[-13.87529,-13.1337,-12.32743,-13.20867]}, + {"t":5.92173, "x":1.16921, "y":6.70725, "heading":2.48709, "vx":1.21818, "vy":-0.44539, "omega":0.70623, "ax":2.11219, "ay":-0.77226, "alpha":0.13604, "fx":[35.87738,36.59872,35.80179,35.43335], "fy":[-13.58483,-13.04338,-12.69936,-13.216]}, + {"t":5.96292, "x":1.22118, "y":6.68825, "heading":2.51618, "vx":1.30518, "vy":-0.4772, "omega":0.71184, "ax":2.11213, "ay":-0.77223, "alpha":0.03371, "fx":[35.94591,36.05217,35.91239,35.79612], "fy":[-13.23241,-13.23036,-12.95783,-13.12124]}, + {"t":6.00411, "x":1.27673, "y":6.66794, "heading":2.5455, "vx":1.39218, "vy":-0.50901, "omega":0.71322, "ax":2.11205, "ay":-0.7722, "alpha":-0.00559, "fx":[35.80927,36.10712,35.84262,35.94223], "fy":[-13.02221,-13.14245,-13.26161,-13.1136]}, + {"t":6.0453, "x":1.33587, "y":6.64632, "heading":2.57488, "vx":1.47918, "vy":-0.54082, "omega":0.71299, "ax":2.11196, "ay":-0.77217, "alpha":-0.09354, "fx":[35.86985,35.59489,35.98365,36.24666], "fy":[-12.73883,-13.36723,-13.4345,-12.99699]}, + {"t":6.08649, "x":1.39859, "y":6.62339, "heading":2.60425, "vx":1.56617, "vy":-0.57262, "omega":0.70914, "ax":2.11185, "ay":-0.77213, "alpha":-0.11167, "fx":[35.69892,35.76351,35.91235,36.313], "fy":[-12.60427,-13.26728,-13.6784,-12.98492]}, + {"t":6.12768, "x":1.46489, "y":6.59914, "heading":2.63346, "vx":1.65316, "vy":-0.60443, "omega":0.70454, "ax":2.11172, "ay":-0.77208, "alpha":-0.1883, "fx":[35.76777,35.26171,36.07949,36.57015], "fy":[-12.38332,-13.5245,-13.7686,-12.85525]}, + {"t":6.16888, "x":1.53477, "y":6.57359, "heading":2.66248, "vx":1.74014, "vy":-0.63623, "omega":0.69679, "ax":2.11157, "ay":-0.77203, "alpha":-0.18399, "fx":[35.56627,35.56192,35.98935,36.5511], "fy":[-12.32274,-13.39561,-13.95792,-12.85151]}, + {"t":6.21007, "x":1.60824, "y":6.54673, "heading":2.69118, "vx":1.82711, "vy":-0.66803, "omega":0.68921, "ax":2.11138, "ay":-0.77196, "alpha":-0.25088, "fx":[35.65967,35.05053,36.17719,36.76831], "fy":[-12.16234,-13.6746,-13.96595,-12.72006]}, + {"t":6.25126, "x":1.68529, "y":6.51856, "heading":2.71957, "vx":1.91408, "vy":-0.69983, "omega":0.67887, "ax":2.11114, "ay":-0.77187, "alpha":-0.22157, "fx":[35.43281,35.50361,36.0491,36.65378], "fy":[-12.17651,-13.5024,-14.10064,-12.73737]}, + {"t":6.29245, "x":1.76593, "y":6.48908, "heading":2.74753, "vx":2.00104, "vy":-0.73162, "omega":0.66975, "ax":2.11082, "ay":-0.77175, "alpha":-0.27945, "fx":[35.56834,34.96393,36.25086,36.83475], "fy":[-12.07243,-13.80934,-14.01605,-12.61112]}, + {"t":6.33364, "x":1.85014, "y":6.45829, "heading":2.77512, "vx":2.08799, "vy":-0.76341, "omega":0.65824, "ax":2.11039, "ay":-0.77159, "alpha":-0.21859, "fx":[35.31703,35.61473,36.05512,36.60175], "fy":[-12.17337,-13.55528,-14.09771,-12.67179]}, + {"t":6.37483, "x":1.93793, "y":6.42619, "heading":2.80223, "vx":2.17491, "vy":-0.79519, "omega":0.64923, "ax":2.10977, "ay":-0.77136, "alpha":-0.26806, "fx":[35.51962,35.01268,36.26498,36.74924], "fy":[-12.12415,-13.89457,-13.90444,-12.55909]}, + {"t":6.41602, "x":2.02931, "y":6.39278, "heading":2.82897, "vx":2.26182, "vy":-0.82696, "omega":0.63819, "ax":2.1088, "ay":-0.771, "alpha":-0.16427, "fx":[35.23791,35.93398,35.95323,36.35495], "fy":[-12.33004,-13.51295,-13.9244,-12.69067]}, + {"t":6.45721, "x":2.12426, "y":6.35806, "heading":2.85526, "vx":2.34868, "vy":-0.85872, "omega":0.63142, "ax":2.10704, "ay":-0.77036, "alpha":-0.20197, "fx":[35.53489,35.21199,36.15463,36.45908], "fy":[-12.35763,-13.82127,-13.6125,-12.623]}, + {"t":6.4984, "x":2.22279, "y":6.32204, "heading":2.88127, "vx":2.43547, "vy":-0.89045, "omega":0.62311, "ax":2.10295, "ay":-0.76886, "alpha":-0.05639, "fx":[35.24004,36.28578,35.68482,35.87154], "fy":[-12.65651,-13.31408,-13.51851,-12.82349]}, + {"t":6.53959, "x":2.3249, "y":6.28471, "heading":2.90694, "vx":2.52209, "vy":-0.92212, "omega":0.62078, "ax":2.08225, "ay":-0.76238, "alpha":-0.0659, "fx":[35.33087,35.25788,35.51072,35.57416], "fy":[-12.68376,-13.46039,-12.98839,-12.73907]}, + {"t":6.58078, "x":2.43055, "y":6.24608, "heading":2.93251, "vx":2.60786, "vy":-0.95352, "omega":0.61807, "ax":-2.08206, "ay":0.76157, "alpha":-0.05442, "fx":[-34.8259,-36.70491,-35.03395,-35.0963], "fy":[12.78527,13.04795,13.13992,12.84307]}, + {"t":6.62197, "x":2.5362, "y":6.20745, "heading":2.95796, "vx":2.5221, "vy":-0.92215, "omega":0.61583, "ax":-2.10279, "ay":0.76915, "alpha":0.14012, "fx":[-35.50463,-35.35465,-36.03396,-36.17806], "fy":[12.61151,13.57087,13.42488,12.72507]}, + {"t":6.66316, "x":2.6383, "y":6.17012, "heading":2.98333, "vx":2.43548, "vy":-0.89047, "omega":0.6216, "ax":-2.10701, "ay":0.77039, "alpha":0.12795, "fx":[-35.16873,-36.11628,-35.94617,-36.1273], "fy":[12.51837,13.5299,13.71101,12.65734]}, + {"t":6.70435, "x":2.73683, "y":6.13409, "heading":3.00893, "vx":2.34869, "vy":-0.85874, "omega":0.62687, "ax":-2.10878, "ay":0.77103, "alpha":0.24803, "fx":[-35.38368,-35.16542,-36.36658,-36.56299], "fy":[12.30782,14.01708,13.69449,12.44069]}, + {"t":6.74554, "x":2.83179, "y":6.09938, "heading":3.03476, "vx":2.26183, "vy":-0.82698, "omega":0.63708, "ax":-2.10976, "ay":0.77139, "alpha":0.20199, "fx":[-35.06734,-35.9071,-36.194,-36.37688], "fy":[12.36463,13.74252,13.90345,12.47381]}, + {"t":6.78673, "x":2.92316, "y":6.06597, "heading":3.061, "vx":2.17493, "vy":-0.79521, "omega":0.6454, "ax":-2.11038, "ay":0.77161, "alpha":0.2828, "fx":[-35.29304,-35.11415,-36.51036,-36.67022], "fy":[12.26007,14.09546,13.80896,12.33529]}, + {"t":6.82792, "x":3.01096, "y":6.03387, "heading":3.08758, "vx":2.088, "vy":-0.76342, "omega":0.65705, "ax":-2.11081, "ay":0.77177, "alpha":0.2299, "fx":[-35.07607,-35.73581,-36.34128,-36.46401], "fy":[12.3681,13.83339,13.90881,12.40004]}, + {"t":6.86911, "x":3.09517, "y":6.00308, "heading":3.11465, "vx":2.00106, "vy":-0.73163, "omega":0.66652, "ax":-2.11113, "ay":0.77188, "alpha":0.27258, "fx":[-35.28735,-35.18607,-36.53998,-36.62531], "fy":[12.34138,14.06854,13.774,12.33422]}, + {"t":6.9103, "x":3.17581, "y":5.97359, "heading":-3.14109, "vx":1.9141, "vy":-0.69984, "omega":0.67775, "ax":-2.11137, "ay":0.77197, "alpha":0.21125, "fx":[-35.15187,-35.74294,-36.35818,-36.4022], "fy":[12.48705,13.80338,13.79391,12.4397]}, + {"t":6.95149, "x":3.25286, "y":5.94542, "heading":-3.11317, "vx":1.82713, "vy":-0.66804, "omega":0.68645, "ax":-2.11156, "ay":0.77204, "alpha":0.22638, "fx":[-35.37326,-35.34875,-36.46785,-36.47835], "fy":[12.51196,13.94933,13.62957,12.43788]}, + {"t":6.99268, "x":3.32633, "y":5.91856, "heading":-3.08489, "vx":1.74016, "vy":-0.63624, "omega":0.69578, "ax":-2.11172, "ay":0.7721, "alpha":0.15527, "fx":[-35.31255,-35.86325,-36.26075,-36.24218], "fy":[12.68672,13.6552,13.5969,12.59371]}, + {"t":7.03387, "x":3.39621, "y":5.89301, "heading":-3.05623, "vx":1.65317, "vy":-0.60444, "omega":0.70217, "ax":-2.11184, "ay":0.77214, "alpha":0.14632, "fx":[-35.55787,-35.57907,-36.29165,-36.25884], "fy":[12.75395,13.70159,13.41789,12.66224]}, + {"t":7.07506, "x":3.46252, "y":5.86877, "heading":-3.02731, "vx":1.56619, "vy":-0.57263, "omega":0.7082, "ax":-2.11195, "ay":0.77218, "alpha":0.06617, "fx":[-35.57513,-36.05192,-36.05082,-36.01686], "fy":[12.94126,13.38495,13.34317,12.86892]}, + {"t":7.11625, "x":3.52524, "y":5.84583, "heading":-2.99814, "vx":1.4792, "vy":-0.54083, "omega":0.71092, "ax":-2.11204, "ay":0.77221, "alpha":0.03535, "fx":[-35.85353,-35.85746,-36.00195,-35.988], "fy":[13.03494,13.34051,13.15727,13.00781]}, + {"t":7.15744, "x":3.58437, "y":5.82421, "heading":-2.96886, "vx":1.3922, "vy":-0.50902, "omega":0.71238, "ax":-2.11212, "ay":0.77224, "alpha":-0.05749, "fx":[-35.94736,-36.31038,-35.71001,-35.73856], "fy":[13.23177,12.97755,13.05323,13.27992]}, + {"t":7.19863, "x":3.63993, "y":5.8039, "heading":-2.93951, "vx":1.3052, "vy":-0.47721, "omega":0.71001, "ax":-2.11219, "ay":0.77227, "alpha":-0.10941, "fx":[-36.2763,-36.17028,-35.58308,-35.68132], "fy":[13.34312,12.84067,12.86237,13.498]}, + {"t":7.23982, "x":3.6919, "y":5.7849, "heading":-2.91027, "vx":1.2182, "vy":-0.4454, "omega":0.70551, "ax":-2.11225, "ay":0.77229, "alpha":-0.21703, "fx":[-36.45671,-36.59971,-35.22831,-35.43036], "fy":[13.54115,12.41639,12.74238,13.84572]}, + {"t":7.28101, "x":3.74028, "y":5.76721, "heading":-2.88121, "vx":1.13119, "vy":-0.41359, "omega":0.69657, "ax":-2.1123, "ay":0.77231, "alpha":-0.29246, "fx":[-36.84732,-36.50706,-35.01281,-35.35153], "fy":[13.66502,12.17093,12.55486,14.15614]}, + {"t":7.3222, "x":3.78508, "y":5.75083, "heading":-2.85252, "vx":1.04419, "vy":-0.38178, "omega":0.68452, "ax":-2.11235, "ay":0.77233, "alpha":-0.41818, "fx":[-37.12475,-36.91701,-34.57854,-35.10166], "fy":[13.85561,11.67544,12.42455,14.59252]}, + {"t":7.36339, "x":3.8263, "y":5.73576, "heading":-2.82432, "vx":0.95718, "vy":-0.34997, "omega":0.66729, "ax":-2.11239, "ay":0.77234, "alpha":-0.51955, "fx":[-37.59348,-36.85909,-34.26296,-35.00935], "fy":[13.98393,11.31257,12.24479,15.00788]}, + {"t":7.40458, "x":3.86394, "y":5.722, "heading":-2.79683, "vx":0.87017, "vy":-0.31815, "omega":0.64589, "ax":-2.11243, "ay":0.77235, "alpha":-0.66873, "fx":[-37.9822,-37.25335,-33.72955,-34.76241], "fy":[14.16393,10.72195,12.11082,15.55342]}, + {"t":7.44577, "x":3.89799, "y":5.70955, "heading":-2.77023, "vx":0.78316, "vy":-0.28634, "omega":0.61835, "ax":-2.11247, "ay":0.77237, "alpha":-0.80086, "fx":[-38.54769,-37.22275,-33.29742,-34.66202], "fy":[14.29406,10.21945,11.94329,16.09418]}, + {"t":7.48696, "x":3.92845, "y":5.69841, "heading":-2.74476, "vx":0.69614, "vy":-0.25453, "omega":0.58536, "ax":-2.1125, "ay":0.77238, "alpha":-0.97953, "fx":[-39.06703,-37.60518,-32.64153,-34.41832], "fy":[14.45973,9.51395,11.80782,16.77026]}, + {"t":7.52816, "x":3.95534, "y":5.68858, "heading":-2.72065, "vx":0.60913, "vy":-0.22271, "omega":0.54501, "ax":-2.11253, "ay":0.77239, "alpha":-1.14868, "fx":[-39.75105,-37.60134,-32.07048,-34.31116], "fy":[14.59117,8.84923,11.6514,17.46067]}, + {"t":7.56935, "x":3.97864, "y":5.68006, "heading":-2.6982, "vx":0.52211, "vy":-0.1909, "omega":0.4977, "ax":-2.11256, "ay":0.7724, "alpha":-1.3511, "fx":[-40.25615,-38.03282,-31.32307,-34.12382], "fy":[14.76226,7.99366,11.50889,18.28832]}, + {"t":7.61054, "x":3.99835, "y":5.67285, "heading":-2.6777, "vx":0.4351, "vy":-0.15908, "omega":0.44205, "ax":-2.11258, "ay":0.77241, "alpha":-1.57969, "fx":[-41.25287,-38.01157,-30.52523,-33.94788], "fy":[14.88609,7.13907,11.36171,19.16686]}, + {"t":7.65173, "x":4.01448, "y":5.66696, "heading":-2.65949, "vx":0.34808, "vy":-0.12727, "omega":0.37698, "ax":-2.1126, "ay":0.77242, "alpha":-1.83007, "fx":[-41.94664,-38.45626,-29.59074,-33.74545], "fy":[15.05848,6.10449,11.20469,20.18663]}, + {"t":7.69292, "x":4.02702, "y":5.66237, "heading":-2.64396, "vx":0.26106, "vy":-0.09545, "omega":0.3016, "ax":-2.11262, "ay":0.77242, "alpha":-2.11514, "fx":[-43.1141,-38.4943,-28.58903,-33.54311], "fy":[15.2106,5.01632,11.04093,21.28696]}, + {"t":7.73411, "x":4.03599, "y":5.65909, "heading":-2.63154, "vx":0.17404, "vy":-0.06363, "omega":0.21448, "ax":-2.11264, "ay":0.77243, "alpha":-2.42717, "fx":[-44.03323,-38.98842,-27.42308,-33.29715], "fy":[15.41586,3.75638,10.83898,22.54408]}, + {"t":7.7753, "x":4.04136, "y":5.65713, "heading":-2.62271, "vx":0.08702, "vy":-0.03182, "omega":0.1145, "ax":-2.11266, "ay":0.77244, "alpha":-2.77977, "fx":[-45.24892,-39.3305,-26.14414,-33.01955], "fy":[15.64805,2.37857,10.60105,23.92808]}, + {"t":7.81649, "x":4.04315, "y":5.65647, "heading":-2.61799, "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,69,78,140] }, "events":[] } From 6fb6e6e728efc550d28831a8678898062db5c259 Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Sat, 8 Mar 2025 13:46:51 -0600 Subject: [PATCH 17/42] dont clone ferris for auto, keeping state --- src/auto/mod.rs | 73 +++++++++++++++++++++++++++++-------------------- src/main.rs | 27 +++++++++++------- 2 files changed, 60 insertions(+), 40 deletions(-) diff --git a/src/auto/mod.rs b/src/auto/mod.rs index 31b06bb..10c21cb 100644 --- a/src/auto/mod.rs +++ b/src/auto/mod.rs @@ -3,8 +3,9 @@ mod path; use crate::auto::path::drive; use nalgebra::Vector2; use serde::{Deserialize, Serialize}; -use std::cell::RefMut; +use std::cell::{RefCell, RefMut}; use std::ops::Deref; +use std::rc::Rc; use std::time::Duration; use frcrs::alliance_station; use tokio::join; @@ -78,22 +79,22 @@ impl Auto { .collect() } - pub async fn run_auto<'a>(ferris: Ferris, chosen: Auto) { + pub async fn run_auto<'a>(ferris: Rc>, chosen: Auto) { match chosen { Auto::Nothing => { println!("No auto was selected!"); } Auto::BlueTriangle => { - blue_triangle(ferris).await.expect("Failed running auto"); + blue_triangle(Rc::clone(&ferris)).await.expect("Failed running auto"); } Auto::Blue180 => { - blue_180(ferris).await.expect("Failed running auto"); + blue_180(Rc::clone(&ferris)).await.expect("Failed running auto"); } - Auto::BlueLong => blue_long(ferris).await.expect("Failed running auto"), - Auto::Blue2 => blue_2(ferris).await.expect("Failed running auto"), - Auto::RotationTest => rotation_test(ferris).await.expect("Failed running auto"), - Auto::BlueMidLeft2 => blue_mid_left_2(ferris).await.expect("Failed running auto"), - Auto::Center1 => center_1(ferris).await.expect("Failed running auto"), + Auto::BlueLong => blue_long(Rc::clone(&ferris)).await.expect("Failed running auto"), + Auto::Blue2 => blue_2(Rc::clone(&ferris)).await.expect("Failed running auto"), + Auto::RotationTest => rotation_test(Rc::clone(&ferris)).await.expect("Failed running auto"), + Auto::BlueMidLeft2 => blue_mid_left_2(Rc::clone(&ferris)).await.expect("Failed running auto"), + Auto::Center1 => center_1(Rc::clone(&ferris)).await.expect("Failed running auto"), } } } @@ -151,8 +152,9 @@ pub async fn async_score( true } -pub async fn blue_triangle(robot: Ferris) -> Result<(), Box> { - let mut drivetrain = robot.drivetrain.deref().borrow_mut(); +pub async fn blue_triangle(robot: Rc>) -> Result<(), Box> { + let mut robot_ref = robot.borrow_mut(); + let mut drivetrain = robot_ref.drivetrain.deref().borrow_mut(); drivetrain.reset_heading(); @@ -177,8 +179,11 @@ pub async fn blue_triangle(robot: Ferris) -> Result<(), Box Result<(), Box> { - let mut drivetrain = robot.drivetrain.deref().borrow_mut(); +pub async fn blue_180(robot: Rc>) -> Result<(), Box> { + let mut robot_ref = robot.borrow_mut(); + let mut drivetrain = robot_ref.drivetrain.deref().borrow_mut(); + let mut elevator = robot_ref.elevator.deref().borrow_mut(); + let mut indexer = robot_ref.indexer.deref().borrow_mut(); drivetrain.odometry.set_abs(Vector2::new( Length::new::(7.8775811195373535), @@ -191,8 +196,11 @@ pub async fn blue_180(robot: Ferris) -> Result<(), Box> { Ok(()) } -pub async fn blue_long(robot: Ferris) -> Result<(), Box> { - let mut drivetrain = robot.drivetrain.deref().borrow_mut(); +pub async fn blue_long(robot: Rc>) -> Result<(), Box> { + let mut robot_ref = robot.borrow_mut(); + let mut drivetrain = robot_ref.drivetrain.deref().borrow_mut(); + let mut elevator = robot_ref.elevator.deref().borrow_mut(); + let mut indexer = robot_ref.indexer.deref().borrow_mut(); drivetrain.reset_heading(); @@ -207,10 +215,11 @@ pub async fn blue_long(robot: Ferris) -> Result<(), Box> Ok(()) } -pub async fn blue_2(robot: Ferris) -> Result<(), Box> { - let mut drivetrain = robot.drivetrain.deref().borrow_mut(); - let mut elevator = robot.elevator.deref().borrow_mut(); - let mut indexer = robot.indexer.deref().borrow_mut(); +pub async fn blue_2(robot: Rc>) -> Result<(), Box> { + let mut robot_ref = robot.borrow_mut(); + let mut drivetrain = robot_ref.drivetrain.deref().borrow_mut(); + let mut elevator = robot_ref.elevator.deref().borrow_mut(); + let mut indexer = robot_ref.indexer.deref().borrow_mut(); drivetrain.reset_heading_offset( if alliance_station().red() { @@ -250,7 +259,7 @@ pub async fn blue_2(robot: Ferris) -> Result<(), Box> { &mut elevator, &mut indexer, ElevatorPosition::L4, - robot.dt, + robot_ref.dt, if alliance_station().red() {Some(6)} else { Some(19)} ) .await; @@ -285,7 +294,7 @@ pub async fn blue_2(robot: Ferris) -> Result<(), Box> { &mut elevator, &mut indexer, ElevatorPosition::L4, - robot.dt, + robot_ref.dt, if alliance_station().red() {Some(6)} else { Some(19)} ) .await; @@ -293,8 +302,11 @@ pub async fn blue_2(robot: Ferris) -> Result<(), Box> { Ok(()) } -async fn rotation_test(robot: Ferris) -> Result<(), Box> { - let mut drivetrain = robot.drivetrain.deref().borrow_mut(); +async fn rotation_test(robot: Rc>) -> Result<(), Box> { + let mut robot_ref = robot.borrow_mut(); + let mut drivetrain = robot_ref.drivetrain.deref().borrow_mut(); + let mut elevator = robot_ref.elevator.deref().borrow_mut(); + let mut indexer = robot_ref.indexer.deref().borrow_mut(); drivetrain.reset_heading(); @@ -308,10 +320,11 @@ async fn rotation_test(robot: Ferris) -> Result<(), Box> Ok(()) } -async fn blue_mid_left_2(robot: Ferris) -> Result<(), Box> { - let mut drivetrain = robot.drivetrain.deref().borrow_mut(); - let mut elevator = robot.elevator.deref().borrow_mut(); - let mut indexer = robot.indexer.deref().borrow_mut(); +async fn blue_mid_left_2(robot: Rc>) -> Result<(), Box> { + let mut robot_ref = robot.borrow_mut(); + let mut drivetrain = robot_ref.drivetrain.deref().borrow_mut(); + let mut elevator = robot_ref.elevator.deref().borrow_mut(); + let mut indexer = robot_ref.indexer.deref().borrow_mut(); drivetrain.reset_heading_offset(Angle::new::(180.)); @@ -342,7 +355,7 @@ async fn blue_mid_left_2(robot: Ferris) -> Result<(), Box &mut elevator, &mut indexer, ElevatorPosition::L4, - robot.dt, + robot_ref.dt, None, ).await; @@ -376,7 +389,7 @@ async fn blue_mid_left_2(robot: Ferris) -> Result<(), Box &mut elevator, &mut indexer, ElevatorPosition::L4, - robot.dt, + robot_ref.dt, None, ) .await; @@ -384,7 +397,7 @@ async fn blue_mid_left_2(robot: Ferris) -> Result<(), Box Ok(()) } -async fn center_1(robot: Ferris) -> Result<(), Box> { +async fn center_1(robot: Rc>) -> Result<(), Box> { diff --git a/src/main.rs b/src/main.rs index 5ff613d..3fffc7a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,6 +1,8 @@ #![warn(non_snake_case)] +use std::cell::RefCell; use std::ops::Deref; +use std::rc::Rc; use tokio::time::{Duration, Instant}; use frcrs::{init_hal, observe_user_program_starting, refresh_data, Robot}; use frcrs::input::{RobotMode, RobotState}; @@ -20,7 +22,7 @@ fn main() { let runtime = tokio::runtime::Runtime::new().unwrap(); let local = task::LocalSet::new(); - let mut ferris = Ferris::new(); + let mut ferris = Rc::new(RefCell::new(Ferris::new())); // ferris.start_competition(runtime, local); runtime.block_on(local.run_until(async { @@ -55,27 +57,30 @@ fn main() { } if state.enabled() && state.teleop() { - teleop(&mut ferris).await; + teleop(&mut *ferris.borrow_mut()).await; } if state.enabled() && state.auto() { - if let Ok(mut drivetrain) = ferris.drivetrain.try_borrow_mut() { - drivetrain.update_limelight().await; - drivetrain.post_odo().await; + { + let mut ferris_mut = ferris.borrow_mut(); + if let Ok(mut drivetrain) = ferris_mut.drivetrain.try_borrow_mut() { + drivetrain.update_limelight().await; + drivetrain.post_odo().await; + }; } if let None = auto { - let f = ferris.clone(); + let ferris_clone = Rc::clone(&ferris); if let Some(selected_auto) = Telemetry::get_selection("auto chooser").await { let chosen = Auto::from_dashboard(selected_auto.as_str()); - let run = Auto::run_auto(f, chosen); + let run = Auto::run_auto(ferris_clone, chosen); auto = Some(local.spawn_local(run).abort_handle()); } else { eprintln!("Failed to get selected auto from telemetry, running default"); - let run = Auto::run_auto(f, Auto::Nothing); + let run = Auto::run_auto(ferris_clone, Auto::Nothing); auto = Some(local.spawn_local(run).abort_handle()); } } @@ -86,8 +91,10 @@ fn main() { Telemetry::put_number("Loop Rate", 1. / last_loop.elapsed().as_secs_f64()).await; - ferris.dt = last_loop.elapsed(); - let elapsed = ferris.dt.as_secs_f64(); + let dt = last_loop.elapsed(); + ferris.borrow_mut().dt = dt; + + let elapsed = dt.as_secs_f64(); let left = (1. / 250. - elapsed).max(0.); sleep(Duration::from_secs_f64(left)).await; last_loop = Instant::now(); From f8c2277bd332f5f1fa657b34e1064b3ce0b693ed Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Sat, 8 Mar 2025 14:15:00 -0600 Subject: [PATCH 18/42] watchdog --- src/lib.rs | 2 +- src/main.rs | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/lib.rs b/src/lib.rs index 2faeb4d..8ca7104 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -338,7 +338,7 @@ pub fn score( indexer: &mut Indexer, elevator_position: ElevatorPosition, ) { - println!("dt_aligned: {}", drivetrain_aligned); + // println!("dt_aligned: {}", drivetrain_aligned); elevator.set_target(elevator_position); let elevator_at_target = elevator.run_to_target_trapezoid(); diff --git a/src/main.rs b/src/main.rs index 3fffc7a..1aa1848 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,6 +3,9 @@ use std::cell::RefCell; use std::ops::Deref; use std::rc::Rc; +use std::sync::Arc; +use std::sync::atomic::{AtomicU64, Ordering}; +use std::time::SystemTime; use tokio::time::{Duration, Instant}; use frcrs::{init_hal, observe_user_program_starting, refresh_data, Robot}; use frcrs::input::{RobotMode, RobotState}; @@ -44,6 +47,29 @@ fn main() { let mut auto: Option = None; + // Watchdog setup + let last_loop_time = Arc::new(AtomicU64::new(0)); + let watchdog_last_loop = Arc::clone(&last_loop_time); + let watchdog_ferris = ferris.clone(); + + // Spawn watchdog task + spawn_local(async move { + loop { + sleep(Duration::from_millis(500)).await; + let last = watchdog_last_loop.load(Ordering::Relaxed); + let now = SystemTime::now() + .duration_since(SystemTime::UNIX_EPOCH) + .unwrap() + .as_millis() as u64; + + if last != 0 && now - last > 500 { + let mut ferris = watchdog_ferris.borrow_mut(); + ferris.stop(); + println!("Watchdog triggered: Motors stopped"); + } + } + }); + loop { refresh_data(); From cacc5adb4d2289f6739082c8b46d4cf6300364c1 Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Sat, 8 Mar 2025 14:15:41 -0600 Subject: [PATCH 19/42] update watchdog --- src/main.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main.rs b/src/main.rs index 1aa1848..2cdec58 100644 --- a/src/main.rs +++ b/src/main.rs @@ -120,6 +120,12 @@ fn main() { let dt = last_loop.elapsed(); ferris.borrow_mut().dt = dt; + let now_millis = SystemTime::now() + .duration_since(SystemTime::UNIX_EPOCH) + .unwrap() + .as_millis() as u64; + last_loop_time.store(now_millis, Ordering::Relaxed); + let elapsed = dt.as_secs_f64(); let left = (1. / 250. - elapsed).max(0.); sleep(Duration::from_secs_f64(left)).await; From 44f3df2da9c513ad25b8f4edb71bd7f35664dfad Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Sat, 8 Mar 2025 16:09:04 -0600 Subject: [PATCH 20/42] limelight angle and center auto --- src/auto/mod.rs | 41 +++++++++++++++++++++++++++++++++++++++++ src/constants.rs | 2 +- 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/src/auto/mod.rs b/src/auto/mod.rs index 10c21cb..ca5b416 100644 --- a/src/auto/mod.rs +++ b/src/auto/mod.rs @@ -398,8 +398,49 @@ async fn blue_mid_left_2(robot: Rc>) -> Result<(), Box>) -> Result<(), Box> { + let mut robot = robot.borrow_mut(); + let mut drivetrain = robot.drivetrain.deref().borrow_mut(); + let mut elevator = robot.elevator.deref().borrow_mut(); + let mut indexer = robot.indexer.deref().borrow_mut(); + drivetrain.reset_heading_offset(Angle::new::(90.)); + drivetrain.odometry.set_abs(Vector2::new( + Length::new::(7.211895942687988), + Length::new::(4.088092803955078) + )); + + join!(drive("BlueCenter1", &mut drivetrain, 1), async { + elevator.set_target(ElevatorPosition::L2); + elevator.run_to_target_trapezoid(); + + indexer.set_speed(INTAKE_SPEED); + wait(|| indexer.get_laser_dist() < LASER_TRIP_DISTANCE_MM && indexer.get_laser_dist() != -1).await; + indexer.stop(); + + elevator.set_target(ElevatorPosition::L4); + elevator.run_to_target_trapezoid(); + }); + + let _ = timeout(Duration::from_secs_f64(1.25), async { + loop { + drivetrain.update_limelight().await; + drivetrain.post_odo().await; + + sleep(Duration::from_millis(20)).await; + } + }).await; + + async_score( + &mut drivetrain, + LineupSide::Right, + &mut elevator, + &mut indexer, + ElevatorPosition::L4, + robot.dt, + if alliance_station().red() {Some(10)} else { Some(21)} + ) + .await; Ok(()) } \ No newline at end of file diff --git a/src/constants.rs b/src/constants.rs index ec809f7..d44e532 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -48,7 +48,7 @@ pub const HALF_FIELD_LENGTH_METERS: f64 = 8.05 / 2.; pub mod vision { use nalgebra::Vector2; - pub const LIMELIGHT_UPPER_PITCH_DEGREES: f64 = -34.483; //Last measured: -36.67 + pub const LIMELIGHT_UPPER_PITCH_DEGREES: f64 = -35.7; //Last measured: -36.67 pub const LIMELIGHT_UPPER_YAW_DEGREES: f64 = 90.; // Counterclockwise positive pub const LIMELIGHT_UPPER_HEIGHT_INCHES: f64 = 20.92; pub const ROBOT_CENTER_TO_LIMELIGHT_UPPER_INCHES: Vector2 = Vector2::new(11.118, 10.352); From 0fdcadf8155733139c873300925863d6fffb74f3 Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Wed, 12 Mar 2025 22:09:10 -0500 Subject: [PATCH 21/42] last minute changes --- auto/Blue2.traj | 425 +++++++++++++++++------------------ src/auto/mod.rs | 26 ++- src/main.rs | 42 ++-- src/subsystems/drivetrain.rs | 7 +- src/subsystems/vision.rs | 12 +- 5 files changed, 269 insertions(+), 243 deletions(-) diff --git a/auto/Blue2.traj b/auto/Blue2.traj index f077a5b..6a9f872 100644 --- a/auto/Blue2.traj +++ b/auto/Blue2.traj @@ -3,8 +3,8 @@ "version":1, "snapshot":{ "waypoints":[ - {"x":7.215517520904541, "y":5.439107418060303, "heading":3.141592653589793, "intervals":42, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, - {"x":4.602366924285889, "y":5.840433120727539, "heading":3.141592653589793, "intervals":27, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":7.215517520904541, "y":5.439107418060303, "heading":3.141592653589793, "intervals":43, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":4.524648189544678, "y":6.065530776977539, "heading":3.141592653589793, "intervals":28, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, {"x":4.002677917480469, "y":5.568408966064453, "heading":-2.631621058010692, "intervals":9, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, {"x":4.20214, "y":5.31078, "heading":-2.61799, "intervals":62, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, {"x":0.8179629445075989, "y":6.8356733322143555, "heading":2.223643141658804, "intervals":60, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, @@ -18,19 +18,17 @@ {"from":5, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, {"from":3, "to":5, "data":{"type":"MaxAcceleration", "props":{"max":2.25}}, "enabled":true}, {"from":4, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, - {"from":0, "to":5, "data":{"type":"MaxVelocity", "props":{"max":4.0}}, "enabled":true}, - {"from":0, "to":1, "data":{"type":"MaxAngularVelocity", "props":{"max":0.001}}, "enabled":true}], + {"from":0, "to":5, "data":{"type":"MaxVelocity", "props":{"max":4.0}}, "enabled":true}], "targetDt":0.05 }, "params":{ "waypoints":[ - {"x":{"exp":"7.215517520904541 m", "val":7.215517520904541}, "y":{"exp":"5.439107418060303 m", "val":5.439107418060303}, "heading":{"exp":"180 deg", "val":3.141592653589793}, "intervals":42, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, - {"x":{"exp":"4.602366924285889 m", "val":4.602366924285889}, "y":{"exp":"5.840433120727539 m", "val":5.840433120727539}, "heading":{"exp":"180 deg", "val":3.141592653589793}, "intervals":27, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"7.215517520904541 m", "val":7.215517520904541}, "y":{"exp":"5.439107418060303 m", "val":5.439107418060303}, "heading":{"exp":"180 deg", "val":3.141592653589793}, "intervals":43, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"4.524648189544678 m", "val":4.524648189544678}, "y":{"exp":"6.065530776977539 m", "val":6.065530776977539}, "heading":{"exp":"180 deg", "val":3.141592653589793}, "intervals":28, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, {"x":{"exp":"4.002677917480469 m", "val":4.002677917480469}, "y":{"exp":"5.568408966064453 m", "val":5.568408966064453}, "heading":{"exp":"-2.631621058010692 rad", "val":-2.631621058010692}, "intervals":9, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, {"x":{"exp":"4.20214 m", "val":4.20214}, "y":{"exp":"5.31078 m", "val":5.31078}, "heading":{"exp":"-2.61799 rad", "val":-2.61799}, "intervals":62, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, {"x":{"exp":"0.8179629445075989 m", "val":0.8179629445075989}, "y":{"exp":"6.8356733322143555 m", "val":6.8356733322143555}, "heading":{"exp":"2.223643141658804 rad", "val":2.223643141658804}, "intervals":60, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, - {"x":{"exp":"4.043154239654541 m", "val":4.043154239654541}, "y":{"exp":"5.656472206115723 m", "val":5.656472206115723}, "heading":{"exp":"-2.61799 rad", "val":-2.61799}, "intervals":35, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, - {"x":{"exp":"2.8063414096832275 m", "val":2.8063414096832275}, "y":{"exp":"6.129861831665039 m", "val":6.129861831665039}, "heading":{"exp":"-3.122726949501708 rad", "val":-3.122726949501708}, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + {"x":{"exp":"4.043154239654541 m", "val":4.043154239654541}, "y":{"exp":"5.656472206115723 m", "val":5.656472206115723}, "heading":{"exp":"-2.61799 rad", "val":-2.61799}, "intervals":35, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], "constraints":[ {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, @@ -40,8 +38,7 @@ {"from":5, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, {"from":3, "to":5, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"2.25 m / s ^ 2", "val":2.25}}}, "enabled":true}, {"from":4, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, - {"from":0, "to":5, "data":{"type":"MaxVelocity", "props":{"max":{"exp":"4 m / s", "val":4.0}}}, "enabled":true}, - {"from":0, "to":1, "data":{"type":"MaxAngularVelocity", "props":{"max":{"exp":"0.001 rad / s", "val":0.001}}}, "enabled":true}], + {"from":0, "to":5, "data":{"type":"MaxVelocity", "props":{"max":{"exp":"4 m / s", "val":4.0}}}, "enabled":true}], "targetDt":{ "exp":"0.05 s", "val":0.05 @@ -49,210 +46,212 @@ }, "trajectory":{ "sampleType":"Swerve", - "waypoints":[0.0,1.62564,2.36193,2.77561,5.34507,7.81649], + "waypoints":[0.0,1.75659,2.55904,2.97273,5.54219,8.0136], "samples":[ - {"t":0.0, "x":7.21552, "y":5.43911, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-2.36222, "ay":0.81446, "alpha":0.0, "fx":[-40.2022,-40.1942,-40.16485,-40.16158], "fy":[13.83456,13.95821,13.78417,13.83785]}, - {"t":0.03871, "x":7.21375, "y":5.43972, "heading":3.14159, "vx":-0.09143, "vy":0.03152, "omega":0.0, "ax":-2.36461, "ay":0.80947, "alpha":0.0, "fx":[-40.23573,-40.23026,-40.21066,-40.20839], "fy":[13.75589,13.83926,13.72177,13.7582]}, - {"t":0.07741, "x":7.20844, "y":5.44154, "heading":-3.14159, "vx":-0.18296, "vy":0.06286, "omega":0.0, "ax":-2.36649, "ay":0.80385, "alpha":0.0, "fx":[-40.24457,-40.24769,-40.28949,-40.23163], "fy":[13.74341,13.66875,13.66342,13.61762]}, - {"t":0.11612, "x":7.19958, "y":5.44458, "heading":-3.14159, "vx":-0.27455, "vy":0.09397, "omega":0.0, "ax":-2.36851, "ay":0.79778, "alpha":0.0, "fx":[-40.30333,-40.29756,-40.27625,-40.27386], "fy":[13.55616,13.64608,13.51944,13.55858]}, - {"t":0.15482, "x":7.18718, "y":5.44881, "heading":-3.14159, "vx":-0.36623, "vy":0.12485, "omega":0.0, "ax":-2.37069, "ay":0.7912, "alpha":0.0, "fx":[-40.31538,-40.31881,-40.36454,-40.30024], "fy":[13.53454,13.45333,13.44756,13.39693]}, - {"t":0.19353, "x":7.17123, "y":5.45424, "heading":-3.14159, "vx":-0.45799, "vy":0.15547, "omega":0.0, "ax":-2.37303, "ay":0.78404, "alpha":0.0, "fx":[-40.38152,-40.37522,-40.35215,-40.34955], "fy":[13.32115,13.41919,13.28077,13.32378]}, - {"t":0.23223, "x":7.15173, "y":5.46084, "heading":-3.14159, "vx":-0.54984, "vy":0.18582, "omega":0.0, "ax":-2.37557, "ay":0.77621, "alpha":0.0, "fx":[-40.35165,-40.36535,-40.33541,-40.57837], "fy":[13.33672,13.15241,13.15539,13.16786]}, - {"t":0.27094, "x":7.12867, "y":5.46862, "heading":-3.14159, "vx":-0.64178, "vy":0.21586, "omega":0.0, "ax":-2.37831, "ay":0.76762, "alpha":0.0, "fx":[-40.4728,-40.46613,-40.44071,-40.43797], "fy":[13.04062,13.14763,12.99664,13.0434]}, - {"t":0.30965, "x":7.10204, "y":5.47755, "heading":3.14159, "vx":-0.73384, "vy":0.24557, "omega":0.0, "ax":-2.3813, "ay":0.75817, "alpha":0.0, "fx":[-40.44252,-40.45744,-40.42477,-40.69602], "fy":[13.04634,12.83941,12.84257,12.85647]}, - {"t":0.34835, "x":7.07186, "y":5.48762, "heading":-3.14159, "vx":-0.82601, "vy":0.27492, "omega":0.0, "ax":-2.38455, "ay":0.7477, "alpha":0.0, "fx":[-40.57964,-40.57289,-40.54631,-40.54354], "fy":[12.70103,12.81225,12.65528,12.70382]}, - {"t":0.38706, "x":7.0381, "y":5.49882, "heading":3.14159, "vx":-0.9183, "vy":0.30386, "omega":0.0, "ax":-2.38812, "ay":0.73604, "alpha":0.0, "fx":[-40.55201,-40.56761,-40.5273,-40.83812], "fy":[12.6819,12.45653,12.46026,12.4807]}, - {"t":0.42576, "x":7.00077, "y":5.51113, "heading":-3.14159, "vx":-1.01074, "vy":0.33235, "omega":0.0, "ax":-2.39204, "ay":0.72299, "alpha":0.0, "fx":[-40.71018,-40.70239,-40.67119,-40.66802], "fy":[12.27792,12.40877,12.22363,12.28111]}, - {"t":0.46447, "x":6.95985, "y":5.52454, "heading":3.14159, "vx":-1.10332, "vy":0.36033, "omega":0.0, "ax":-2.39637, "ay":0.70828, "alpha":0.0, "fx":[-40.68305,-40.69972,-40.65272,-41.01066], "fy":[12.22999,11.97539,11.97953,12.00555]}, - {"t":0.50317, "x":6.91535, "y":5.53902, "heading":-3.14159, "vx":-1.19608, "vy":0.38775, "omega":0.0, "ax":-2.40116, "ay":0.69157, "alpha":0.0, "fx":[-40.86719,-40.85953,-40.8244,-40.8213], "fy":[11.74158,11.88353,11.68376,11.74468]}, - {"t":0.54188, "x":6.86726, "y":5.55454, "heading":3.14159, "vx":-1.28902, "vy":0.41451, "omega":0.0, "ax":-2.4065, "ay":0.67243, "alpha":0.0, "fx":[-40.84546,-40.86265,-40.80462,-41.22296], "fy":[11.63833,11.3556,11.36029,11.39703]}, - {"t":0.58059, "x":6.81556, "y":5.57109, "heading":-3.14159, "vx":-1.38216, "vy":0.44054, "omega":0.0, "ax":-2.41247, "ay":0.65029, "alpha":0.0, "fx":[-41.06399,-41.05529,-41.01309,-41.0096], "fy":[11.03536,11.2052,10.96556,11.03882]}, - {"t":0.61929, "x":6.76026, "y":5.58863, "heading":3.14159, "vx":-1.47554, "vy":0.46571, "omega":0.0, "ax":-2.41918, "ay":0.6244, "alpha":0.0, "fx":[-41.04407,-41.06283,-40.9975,-41.49405], "fy":[10.86328,10.52228,10.52698,10.57064]}, - {"t":0.658, "x":6.70134, "y":5.60712, "heading":-3.14159, "vx":-1.56918, "vy":0.48988, "omega":0.0, "ax":-2.42675, "ay":0.59372, "alpha":0.0, "fx":[-41.30621,-41.29863,-41.25578,-41.25277], "fy":[10.07339,10.24111,10.00491,10.07634]}, - {"t":0.6967, "x":6.63878, "y":5.62653, "heading":3.14159, "vx":-1.6631, "vy":0.51286, "omega":0.0, "ax":-2.43531, "ay":0.55681, "alpha":0.0, "fx":[-41.30377,-41.32119,-41.23561,-41.83539], "fy":[9.73541,9.35708,9.36219,9.4299]}, - {"t":0.73541, "x":6.57259, "y":5.6468, "heading":-3.14159, "vx":-1.75737, "vy":0.53441, "omega":0.0, "ax":-2.445, "ay":0.5116, "alpha":0.0, "fx":[-41.62307,-41.61564,-41.55972,-41.55682], "fy":[8.67021,8.87834,8.58704,8.67299]}, - {"t":0.77412, "x":6.50273, "y":5.66786, "heading":3.14159, "vx":-1.852, "vy":0.55421, "omega":0.0, "ax":-2.45591, "ay":0.455, "alpha":0.0, "fx":[-41.62632,-41.64179,-41.52813,-42.30102], "fy":[8.04955,7.60127,7.59707,7.70984]}, - {"t":0.81282, "x":6.42921, "y":5.68966, "heading":-3.14159, "vx":-1.94706, "vy":0.57182, "omega":0.0, "ax":-2.46796, "ay":0.38223, "alpha":0.0, "fx":[-42.01172,-42.00692,-41.9501,-41.94827], "fy":[6.47075,6.67235,6.39109,6.47242]}, - {"t":0.85153, "x":6.352, "y":5.71208, "heading":3.14159, "vx":-2.04258, "vy":0.58662, "omega":0.0, "ax":-2.48058, "ay":0.28552, "alpha":0.0, "fx":[-42.02153,-42.02908,-41.86685,-42.85863], "fy":[5.17526,4.68636,4.68931,4.87528]}, - {"t":0.89023, "x":6.27108, "y":5.73499, "heading":-3.14159, "vx":-2.1386, "vy":0.59767, "omega":0.0, "ax":-2.49179, "ay":0.15148, "alpha":0.0, "fx":[-42.41324,-42.41261,-42.35641,-42.35618], "fy":[2.54834,2.72322,2.4868,2.54842]}, - {"t":0.92894, "x":6.18644, "y":5.75824, "heading":3.14159, "vx":-2.23504, "vy":0.60353, "omega":0.0, "ax":-2.49518, "ay":-0.04437, "alpha":0.0, "fx":[-42.25927,-42.25442,-42.00793,-43.24756], "fy":[-0.51094,-0.93798,-0.94239,-0.62763]}, - {"t":0.96764, "x":6.09806, "y":5.78157, "heading":-3.14159, "vx":-2.33162, "vy":0.60182, "omega":0.0, "ax":-2.46973, "ay":-0.34964, "alpha":0.0, "fx":[-42.01591,-42.01387,-42.00426,-42.00354], "fy":[-5.95317,-5.93533,-5.94823,-5.95237]}, - {"t":1.00635, "x":6.00597, "y":5.8046, "heading":-3.14159, "vx":-2.42721, "vy":0.58828, "omega":0.0, "ax":-2.34113, "ay":-0.85532, "alpha":0.0, "fx":[-39.67482,-39.67432,-39.3171,-40.62179], "fy":[-14.5504,-14.68625,-14.706,-14.25209]}, - {"t":1.04506, "x":5.91026, "y":5.82673, "heading":-3.14159, "vx":-2.51783, "vy":0.55518, "omega":0.0, "ax":-1.85792, "ay":-1.65775, "alpha":0.0, "fx":[-31.53265,-31.49441,-31.69796,-31.68585], "fy":[-28.11435,-28.63412,-27.93997,-28.10299]}, - {"t":1.08376, "x":5.81142, "y":5.84698, "heading":3.14159, "vx":-2.58974, "vy":0.49101, "omega":0.0, "ax":-0.66083, "ay":-2.39962, "alpha":0.0, "fx":[-11.31117,-11.3334,-10.91211,-11.40541], "fy":[-41.45052,-40.73001,-40.74024,-40.34678]}, - {"t":1.12247, "x":5.71069, "y":5.86418, "heading":3.14159, "vx":-2.61532, "vy":0.39813, "omega":0.0, "ax":0.59131, "ay":-2.41981, "alpha":0.0, "fx":[10.21206,10.1871,9.92042,9.91246], "fy":[-41.0149,-41.83069,-40.77314,-41.02264]}, - {"t":1.16117, "x":5.6099, "y":5.87778, "heading":3.14159, "vx":-2.59243, "vy":0.30447, "omega":0.0, "ax":1.27688, "ay":-2.14157, "alpha":0.0, "fx":[21.5009,21.55626,21.59577,22.22486], "fy":[-37.07738,-36.23805,-36.23504,-36.15918]}, - {"t":1.19988, "x":5.51051, "y":5.88796, "heading":-3.14159, "vx":-2.54301, "vy":0.22158, "omega":0.0, "ax":1.61612, "ay":-1.90072, "alpha":0.0, "fx":[27.58403,27.54042,27.4252,27.40919], "fy":[-32.25051,-32.72195,-32.08465,-32.26603]}, - {"t":1.23858, "x":5.4133, "y":5.89511, "heading":-3.14159, "vx":-2.48046, "vy":0.14801, "omega":0.0, "ax":1.80104, "ay":-1.728, "alpha":0.0, "fx":[30.43634,30.50132,30.43215,31.17088], "fy":[-29.88886,-29.2245,-29.22839,-29.22939]}, - {"t":1.27729, "x":5.31864, "y":5.89955, "heading":-3.14159, "vx":-2.41074, "vy":0.08113, "omega":0.0, "ax":1.91303, "ay":-1.60423, "alpha":0.0, "fx":[32.59963,32.5651,32.50456,32.49117], "fy":[-27.23858,-27.53868,-27.12068,-27.25177]}, - {"t":1.316, "x":5.22676, "y":5.90149, "heading":-3.14159, "vx":-2.3367, "vy":0.01904, "omega":0.0, "ax":1.98672, "ay":-1.51284, "alpha":0.0, "fx":[33.62938,33.6864,33.58822,34.27019], "fy":[-26.1092,-25.59323,-25.60138,-25.62803]}, - {"t":1.3547, "x":5.13781, "y":5.90109, "heading":-3.14159, "vx":-2.2598, "vy":-0.03952, "omega":0.0, "ax":2.03835, "ay":-1.44317, "alpha":0.0, "fx":[34.70791,34.68498,34.65157,34.64242], "fy":[-24.51868,-24.704,-24.4414,-24.52781]}, - {"t":1.39341, "x":5.05187, "y":5.89848, "heading":-3.14159, "vx":-2.18091, "vy":-0.09538, "omega":0.0, "ax":2.0763, "ay":-1.38854, "alpha":0.0, "fx":[35.19065,35.23315,35.11223,35.7328], "fy":[-23.87438,-23.50751,-23.51934,-23.5737]}, - {"t":1.43211, "x":4.96901, "y":5.89375, "heading":-3.14159, "vx":-2.10054, "vy":-0.14912, "omega":0.0, "ax":2.10525, "ay":-1.34466, "alpha":0.0, "fx":[35.83318,35.81725,35.79752,35.79104], "fy":[-22.85362,-22.97544,-22.80019,-22.86014]}, - {"t":1.47082, "x":4.88928, "y":5.88697, "heading":-3.14159, "vx":-2.01906, "vy":-0.20117, "omega":0.0, "ax":2.12802, "ay":-1.3087, "alpha":0.0, "fx":[36.09389,36.12806,36.01627,36.5495], "fy":[-22.45879,-22.16876,-22.18055,-22.23435]}, - {"t":1.50952, "x":4.81273, "y":5.8782, "heading":-3.14159, "vx":-1.93669, "vy":-0.25182, "omega":0.0, "ax":2.14635, "ay":-1.27872, "alpha":0.0, "fx":[36.52231,36.51222,36.5023,36.49813], "fy":[-21.73996,-21.81152,-21.70672,-21.74418]}, - {"t":1.54823, "x":4.73937, "y":5.8675, "heading":-3.14159, "vx":-1.85361, "vy":-0.30132, "omega":0.0, "ax":2.16141, "ay":-1.25335, "alpha":0.0, "fx":[36.68259,36.70843,36.59457,37.07401], "fy":[-21.45868,-21.2435,-21.25605,-21.31842]}, - {"t":1.58694, "x":4.66925, "y":5.8549, "heading":-3.14159, "vx":-1.76995, "vy":-0.34983, "omega":0.0, "ax":2.17399, "ay":-1.23163, "alpha":0.00002, "fx":[36.98504,36.97932,36.9768,36.97439], "fy":[-20.9452,-20.97791,-20.92774,-20.94764]}, - {"t":1.62564, "x":4.60237, "y":5.84043, "heading":3.14159, "vx":-1.68581, "vy":-0.3975, "omega":0.0, "ax":2.21919, "ay":-1.14295, "alpha":5.76864, "fx":[51.48568,53.75358,23.46436,22.28728], "fy":[-34.03705,-3.29727,-3.38951,-37.04126]}, - {"t":1.65291, "x":4.55722, "y":5.82917, "heading":-3.14159, "vx":-1.62529, "vy":-0.42867, "omega":0.15731, "ax":2.29669, "ay":-0.98273, "alpha":5.11715, "fx":[51.05286,52.83306,26.44347,25.93444], "fy":[-30.1919,-1.99265,-2.24895,-32.4304]}, - {"t":1.68018, "x":4.51375, "y":5.81711, "heading":-3.1373, "vx":-1.56266, "vy":-0.45547, "omega":0.29685, "ax":2.36095, "ay":-0.81638, "alpha":4.63698, "fx":[51.27675,52.53054,28.81413,28.0147], "fy":[-25.93234,-0.55465,-0.91928,-28.139]}, - {"t":1.70745, "x":4.47202, "y":5.80439, "heading":-3.12921, "vx":-1.49828, "vy":-0.47773, "omega":0.4233, "ax":2.4128, "ay":-0.64731, "alpha":4.07488, "fx":[50.77362,51.47524,30.86761,31.04746], "fy":[-21.98192,0.93815,0.62139,-23.62011]}, - {"t":1.73472, "x":4.43206, "y":5.79112, "heading":-3.11766, "vx":-1.43248, "vy":-0.49538, "omega":0.53442, "ax":2.45195, "ay":-0.47817, "alpha":3.66269, "fx":[50.77261,50.98826,32.54187,32.52521], "fy":[-17.75855,2.64562,2.05425,-19.47547]}, - {"t":1.76199, "x":4.3939, "y":5.77743, "heading":-3.10309, "vx":-1.36562, "vy":-0.50842, "omega":0.63431, "ax":2.47868, "ay":-0.31143, "alpha":3.14208, "fx":[49.94567,49.70984,34.02674,34.96454], "fy":[-13.78232,4.17203,3.60318,-15.18218]}, - {"t":1.78926, "x":4.35759, "y":5.76345, "heading":-3.08579, "vx":-1.29803, "vy":-0.51691, "omega":0.71999, "ax":2.49374, "ay":-0.14928, "alpha":2.78364, "fx":[49.62473,49.03909,35.16665,35.841], "fy":[-9.8167,5.90665,5.02165,-11.26857]}, - {"t":1.81653, "x":4.32312, "y":5.7493, "heading":-3.06616, "vx":-1.23002, "vy":-0.52099, "omega":0.7959, "ax":2.49824, "ay":0.00649, "alpha":2.29593, "fx":[48.4436,47.58965,36.24598,37.69827], "fy":[-5.98658,7.26679,6.46465,-7.30335]}, - {"t":1.8438, "x":4.2905, "y":5.7351, "heading":-3.04446, "vx":-1.1619, "vy":-0.52081, "omega":0.85851, "ax":2.49351, "ay":0.15455, "alpha":1.97061, "fx":[47.78266,46.76246,37.02671,38.08382], "fy":[-2.4201,8.82791,7.75853,-3.65081]}, - {"t":1.87107, "x":4.25975, "y":5.72095, "heading":-3.02104, "vx":-1.0939, "vy":-0.51659, "omega":0.91225, "ax":2.48098, "ay":0.29403, "alpha":1.50499, "fx":[46.27308,45.21109,37.8612,39.45792], "fy":[1.14559,9.89356,9.01757,-0.05153]}, - {"t":1.89834, "x":4.23084, "y":5.70697, "heading":-2.99617, "vx":-1.02624, "vy":-0.50858, "omega":0.95329, "ax":2.46208, "ay":0.42443, "alpha":1.1984, "fx":[45.3122,44.29716,38.44295,39.46485], "fy":[4.25104,11.15728,10.14472,3.32502]}, - {"t":1.92561, "x":4.20377, "y":5.69326, "heading":-2.97017, "vx":-0.9591, "vy":-0.497, "omega":0.98597, "ax":2.43814, "ay":0.54564, "alpha":0.79121, "fx":[43.77947,42.95904,38.92233,40.22735], "fy":[7.46501,11.85332,11.22165,6.58487]}, - {"t":1.95288, "x":4.17852, "y":5.67991, "heading":-2.94328, "vx":-0.89261, "vy":-0.48212, "omega":1.00754, "ax":2.41036, "ay":0.65778, "alpha":0.44502, "fx":[42.32198,41.79504,39.68232,40.19884], "fy":[10.12364,12.76865,12.15603,9.70599]}, - {"t":1.98015, "x":4.15507, "y":5.66701, "heading":-2.91581, "vx":-0.82688, "vy":-0.46418, "omega":1.01968, "ax":2.37979, "ay":0.76116, "alpha":0.03773, "fx":[40.54358,40.47655,40.18774,40.71035], "fy":[12.96988,13.10069,13.03992,12.67784]}, - {"t":2.00742, "x":4.13341, "y":5.65464, "heading":-2.888, "vx":-0.76199, "vy":-0.44343, "omega":1.02071, "ax":2.34731, "ay":0.85624, "alpha":-0.30799, "fx":[38.91313,39.38499,40.94707,40.46318], "fy":[15.20942,13.6449,13.81871,15.58456]}, - {"t":2.03469, "x":4.1135, "y":5.64286, "heading":-2.86017, "vx":-0.69798, "vy":-0.42008, "omega":1.01231, "ax":2.31365, "ay":0.94355, "alpha":-0.72498, "fx":[36.93715,38.14812,41.55914,40.77366], "fy":[17.73615,13.59204,14.53906,18.33083]}, - {"t":2.06196, "x":4.09533, "y":5.63176, "heading":-2.83256, "vx":-0.63488, "vy":-0.39435, "omega":0.99254, "ax":2.27939, "ay":1.02366, "alpha":-1.08242, "fx":[35.15422,37.16416,42.37974,40.3891], "fy":[19.58405,13.75345,15.20905,21.1018]}, - {"t":2.08923, "x":4.07887, "y":5.62138, "heading":-2.8055, "vx":-0.57273, "vy":-0.36643, "omega":0.96302, "ax":2.245, "ay":1.09713, "alpha":-1.49115, "fx":[33.10092,36.12642,42.88277,40.63718], "fy":[21.77842,13.35741,15.83795,23.67373]}, - {"t":2.1165, "x":4.06408, "y":5.6118, "heading":-2.77923, "vx":-0.5115, "vy":-0.33651, "omega":0.92236, "ax":2.21084, "ay":1.16454, "alpha":-1.89483, "fx":[31.08511,35.1879,44.07505,40.07464], "fy":[23.33591,13.13952,16.38441,26.37403]}, - {"t":2.14377, "x":4.05096, "y":5.60306, "heading":-2.75408, "vx":-0.45122, "vy":-0.30476, "omega":0.87069, "ax":2.17717, "ay":1.22642, "alpha":-2.31238, "fx":[29.04208,34.52325,44.88195,39.68464], "fy":[25.22988,12.38918,16.87015,28.95475]}, - {"t":2.17104, "x":4.03946, "y":5.5952, "heading":-2.73034, "vx":-0.39185, "vy":-0.27131, "omega":0.80763, "ax":2.1442, "ay":1.28327, "alpha":-2.76154, "fx":[26.72139,33.47504,46.09114,39.60102], "fy":[26.57881,11.8372,17.39124,31.50482]}, - {"t":2.19831, "x":4.02957, "y":5.58828, "heading":-2.70831, "vx":-0.33337, "vy":-0.23632, "omega":0.73232, "ax":2.11207, "ay":1.33556, "alpha":-3.2162, "fx":[24.47891,32.91794,47.11545,39.1902], "fy":[28.25659,10.7971,17.77997,34.03627]}, - {"t":2.22558, "x":4.02127, "y":5.58233, "heading":-2.68834, "vx":-0.27578, "vy":-0.1999, "omega":0.64462, "ax":2.08087, "ay":1.38372, "alpha":-3.67935, "fx":[22.04014,31.98691,48.45385,39.09944], "fy":[29.52197,9.9719,18.31346,36.3393]}, - {"t":2.25285, "x":4.01452, "y":5.57739, "heading":-2.67077, "vx":-0.21903, "vy":-0.16217, "omega":0.54428, "ax":2.05069, "ay":1.42813, "alpha":-4.18039, "fx":[19.58315,31.50373,49.71566,38.72388], "fy":[31.0711,8.64675,18.59201,38.85881]}, - {"t":2.28012, "x":4.00931, "y":5.5735, "heading":-2.65592, "vx":-0.16311, "vy":-0.12322, "omega":0.43028, "ax":2.02154, "ay":1.46916, "alpha":-4.7004, "fx":[17.05172,30.66867,51.22111,38.60163], "fy":[32.18891,7.4004,18.97079,41.3999]}, - {"t":2.30739, "x":4.00561, "y":5.57069, "heading":-2.64419, "vx":-0.10798, "vy":-0.08316, "omega":0.3021, "ax":1.99344, "ay":1.50711, "alpha":-5.25517, "fx":[14.38011,30.19706,52.73345,38.32088], "fy":[33.71381,5.79751,19.09677,43.93422]}, - {"t":2.33466, "x":4.00341, "y":5.56898, "heading":-2.63595, "vx":-0.05362, "vy":-0.04206, "omega":0.1588, "ax":1.9664, "ay":1.54228, "alpha":-5.82318, "fx":[11.72968,29.36614,54.40293,38.29266], "fy":[34.86856,4.21201,19.34054,46.51394]}, - {"t":2.36193, "x":4.00268, "y":5.56841, "heading":-2.63162, "vx":0.0, "vy":0.0, "omega":0.0, "ax":1.52933, "ay":-1.97531, "alpha":1.57288, "fx":[31.83491,28.05185,20.12224,24.04502], "fy":[-34.8629,-27.95449,-32.35916,-39.22126]}, - {"t":2.40789, "x":4.00429, "y":5.56632, "heading":-2.63162, "vx":0.0703, "vy":-0.0908, "omega":0.0723, "ax":5.52004, "ay":-7.12977, "alpha":-0.00009, "fx":[93.89396,93.89385,93.8946,93.89471], "fy":[-121.27561,-121.27569,-121.27511,-121.27503]}, - {"t":2.45386, "x":4.01336, "y":5.55462, "heading":-2.6283, "vx":0.32402, "vy":-0.41852, "omega":0.07229, "ax":5.51703, "ay":-7.12588, "alpha":-0.00429, "fx":[93.82769,93.82246,93.85845,93.86369], "fy":[-121.22096,-121.22509,-121.19724,-121.1931]}, - {"t":2.49982, "x":4.03408, "y":5.52785, "heading":-2.62497, "vx":0.57762, "vy":-0.74606, "omega":0.0721, "ax":5.50807, "ay":-7.11428, "alpha":-0.01776, "fx":[93.62666,93.60578,93.75456,93.77562], "fy":[-121.06095,-121.0778,-120.96274,-120.9457]}, - {"t":2.54579, "x":4.06645, "y":5.48604, "heading":-2.62166, "vx":0.83079, "vy":-1.07307, "omega":0.07128, "ax":3.9916, "ay":-5.1558, "alpha":-1.46212, "fx":[62.50107,64.73494,73.16369,71.18404], "fy":[-88.04344,-93.03582,-87.43658,-82.27876]}, - {"t":2.59175, "x":4.10885, "y":5.43127, "heading":-2.61838, "vx":1.01427, "vy":-1.31005, "omega":0.00407, "ax":-5.50765, "ay":7.11383, "alpha":-0.03617, "fx":[-93.81475,-93.85584,-93.55201,-93.51171], "fy":[120.90358,120.87022,121.10533,121.13792]}, - {"t":2.63772, "x":4.14965, "y":5.37857, "heading":-2.6182, "vx":0.76111, "vy":-0.98306, "omega":0.00241, "ax":-5.51691, "ay":7.12577, "alpha":-0.02124, "fx":[-93.91823,-93.94243,-93.76393,-93.73996], "fy":[121.14789,121.12867,121.26684,121.28582]}, - {"t":2.68368, "x":4.17881, "y":5.34091, "heading":-2.61809, "vx":0.50752, "vy":-0.65553, "omega":0.00143, "ax":-5.51998, "ay":7.12973, "alpha":-0.01671, "fx":[-93.95401,-93.97308,-93.8326,-93.81368], "fy":[121.22778,121.21276,121.32151,121.33638]}, - {"t":2.72965, "x":4.19631, "y":5.31831, "heading":-2.61802, "vx":0.2538, "vy":-0.32781, "omega":0.00067, "ax":-5.52151, "ay":7.1317, "alpha":-0.01451, "fx":[-93.97207,-93.98865,-93.86665,-93.85019], "fy":[121.26749,121.25449,121.34894,121.36182]}, - {"t":2.77561, "x":4.20214, "y":5.31078, "heading":-2.61799, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-2.05036, "ay":0.92388, "alpha":-2.69954, "fx":[-43.88746,-38.34754,-25.26513,-32.00428], "fy":[18.05669,5.27363,13.3899,26.1392]}, - {"t":2.81705, "x":4.20038, "y":5.31157, "heading":-2.61799, "vx":-0.08497, "vy":0.03829, "omega":-0.11188, "ax":-2.05085, "ay":0.92409, "alpha":-2.35468, "fx":[-42.96845,-37.60674,-26.58417,-32.3781], "fy":[17.73478,6.64465,13.69988,24.79498]}, - {"t":2.8585, "x":4.1951, "y":5.31395, "heading":-2.62263, "vx":-0.16997, "vy":0.07659, "omega":-0.20946, "ax":-2.05083, "ay":0.92409, "alpha":-2.04343, "fx":[-41.7349,-37.4738,-27.67347,-32.65406], "fy":[17.52443,7.81022,13.92426,23.61481]}, - {"t":2.89994, "x":4.18629, "y":5.31792, "heading":-2.63131, "vx":-0.25496, "vy":0.11488, "omega":-0.29415, "ax":-2.05081, "ay":0.92408, "alpha":-1.77122, "fx":[-40.96385,-36.9935,-28.6825,-32.89506], "fy":[17.32152,8.92529,14.10155,22.52473]}, - {"t":2.94138, "x":4.17396, "y":5.32348, "heading":-2.6435, "vx":-0.33995, "vy":0.15318, "omega":-0.36755, "ax":-2.05079, "ay":0.92407, "alpha":-1.52207, "fx":[-39.91042,-36.97254,-29.55688,-33.09365], "fy":[17.19159,9.84599,14.2558,21.57905]}, - {"t":2.98283, "x":4.15811, "y":5.33062, "heading":-2.65873, "vx":-0.42494, "vy":0.19147, "omega":-0.43063, "ax":-2.05077, "ay":0.92406, "alpha":-1.30297, "fx":[-39.33255,-36.54673,-30.36965,-33.28302], "fy":[17.02825,10.77134,14.38171,20.6904]}, - {"t":3.02427, "x":4.13874, "y":5.33935, "heading":-2.67658, "vx":-0.50993, "vy":0.22977, "omega":-0.48463, "ax":-2.05074, "ay":0.92404, "alpha":-1.11722, "fx":[-38.59367,-36.53779,-31.00892,-33.38991], "fy":[16.91498,11.49261,14.5203,19.94303]}, - {"t":3.06571, "x":4.11585, "y":5.34966, "heading":-2.69666, "vx":-0.59492, "vy":0.26806, "omega":-0.53093, "ax":-2.05072, "ay":0.92403, "alpha":-0.92576, "fx":[-38.01353,-36.17806,-31.72063,-33.61627], "fy":[16.77523,12.26066,14.62295,19.21124]}, - {"t":3.10715, "x":4.08943, "y":5.36156, "heading":-2.71866, "vx":-0.67991, "vy":0.30636, "omega":-0.5693, "ax":-2.05069, "ay":0.92402, "alpha":-0.78005, "fx":[-37.4008,-36.20511,-32.21405,-33.70658], "fy":[16.67427,12.81114,14.76342,18.62032]}, - {"t":3.1486, "x":4.05949, "y":5.37505, "heading":-2.74226, "vx":-0.76489, "vy":0.34465, "omega":-0.60162, "ax":-2.05066, "ay":0.924, "alpha":-0.62104, "fx":[-36.95518,-35.84376,-32.79591,-33.92954], "fy":[16.52542,13.4574,14.86177,18.02356]}, - {"t":3.19004, "x":4.02603, "y":5.39013, "heading":-2.76719, "vx":-0.84988, "vy":0.38295, "omega":-0.62736, "ax":-2.05062, "ay":0.92399, "alpha":-0.50804, "fx":[-36.44604,-35.89742,-33.16782,-34.01077], "fy":[16.42766,13.86406,15.01297,17.56234]}, - {"t":3.23148, "x":3.98905, "y":5.4068, "heading":-2.79319, "vx":-0.93486, "vy":0.42124, "omega":-0.64842, "ax":-2.05058, "ay":0.92397, "alpha":-0.37427, "fx":[-36.1144,-35.52417,-33.64442,-34.23647], "fy":[16.2647,14.41447,15.11021,17.07643]}, - {"t":3.27293, "x":3.94855, "y":5.42505, "heading":-2.82006, "vx":-1.01984, "vy":0.45953, "omega":-0.66393, "ax":-2.05054, "ay":0.92395, "alpha":-0.28865, "fx":[-35.68942,-35.60592,-33.91288,-34.30835], "fy":[16.16901,14.69695,15.27401,16.72449]}, - {"t":3.31437, "x":3.90452, "y":5.44488, "heading":-2.84758, "vx":-1.10482, "vy":0.49782, "omega":-0.67589, "ax":-2.0505, "ay":0.92393, "alpha":-0.17479, "fx":[-35.45628,-35.21432,-34.30446,-34.53833], "fy":[15.99405,15.17039,15.36694,16.33157]}, - {"t":3.35581, "x":3.85697, "y":5.46631, "heading":-2.87559, "vx":-1.1898, "vy":0.53611, "omega":-0.68313, "ax":-2.05044, "ay":0.9239, "alpha":-0.11274, "fx":[-35.09869,-35.33303,-34.48215,-34.59591], "fy":[15.90249,15.3444,15.54209,16.07229]}, - {"t":3.39725, "x":3.8059, "y":5.48932, "heading":-2.9039, "vx":-1.27478, "vy":0.5744, "omega":-0.6878, "ax":-2.05038, "ay":0.92387, "alpha":-0.01415, "fx":[-34.95325,-34.91648,-34.80612,-34.8299], "fy":[15.71805,15.7607,15.6249,15.75568]}, - {"t":3.4387, "x":3.75131, "y":5.51392, "heading":-2.9324, "vx":-1.35975, "vy":0.61269, "omega":-0.68839, "ax":-2.05032, "ay":0.92384, "alpha":0.02684, "fx":[-34.65184,-35.07512,-34.90528,-34.86889], "fy":[15.63722,15.83444,15.80719,15.57833]}, - {"t":3.48014, "x":3.6932, "y":5.5401, "heading":-2.96093, "vx":-1.44472, "vy":0.65098, "omega":-0.68728, "ax":-2.05024, "ay":0.92381, "alpha":0.11284, "fx":[-34.58281,-34.63866,-35.17271,-35.10166], "fy":[15.4493,16.20651,15.87274,15.32613]}, - {"t":3.52158, "x":3.63157, "y":5.56788, "heading":-2.98942, "vx":-1.52969, "vy":0.68926, "omega":-0.6826, "ax":-2.05015, "ay":0.92376, "alpha":0.13369, "fx":[-34.32429,-34.85573,-35.19796,-35.11172], "fy":[15.3864,16.18649,16.05688,15.22202]}, - {"t":3.56303, "x":3.56641, "y":5.59723, "heading":-3.0177, "vx":-1.61466, "vy":0.72754, "omega":-0.67706, "ax":-2.05004, "ay":0.92371, "alpha":0.20898, "fx":[-34.32735,-34.392,-35.42195,-35.34122], "fy":[15.20421,16.51874,16.09841,15.02697]}, - {"t":3.60447, "x":3.49773, "y":5.62818, "heading":-3.04576, "vx":-1.69961, "vy":0.76583, "omega":-0.6684, "ax":-2.04992, "ay":0.92365, "alpha":0.20933, "fx":[-34.09797,-34.69624,-35.37228,-35.30743], "fy":[15.16583,16.41454,16.27575,14.98822]}, - {"t":3.64591, "x":3.42554, "y":5.66071, "heading":-3.07346, "vx":-1.78457, "vy":0.80411, "omega":-0.65973, "ax":-2.04976, "ay":0.92358, "alpha":0.2763, "fx":[-34.17429,-34.1894,-35.56658,-35.53328], "fy":[14.9953,16.72373,16.27946,14.84089]}, - {"t":3.68735, "x":3.34982, "y":5.69483, "heading":-3.1008, "vx":-1.86952, "vy":0.84238, "omega":-0.64828, "ax":-2.04957, "ay":0.92349, "alpha":0.2542, "fx":[-33.96733,-34.599,-35.44203,-35.44235], "fy":[14.99446,16.52853,16.4436,14.8668]}, - {"t":3.7288, "x":3.27058, "y":5.73053, "heading":-3.12767, "vx":-1.95446, "vy":0.88065, "omega":-0.63774, "ax":-2.04934, "ay":0.92338, "alpha":0.31441, "fx":[-34.11532,-34.04869,-35.61336,-35.65713], "fy":[14.8383,16.84604,16.38679,14.75449]}, - {"t":3.77024, "x":3.18782, "y":5.76782, "heading":3.12908, "vx":-2.03939, "vy":0.91892, "omega":-0.62471, "ax":-2.04902, "ay":0.92323, "alpha":0.26319, "fx":[-33.916,-34.61654,-35.3999,-35.48078], "fy":[14.89749,16.52942,16.53466,14.85412]}, - {"t":3.81168, "x":3.10154, "y":5.8067, "heading":3.10319, "vx":-2.12431, "vy":0.95718, "omega":-0.6138, "ax":-2.0486, "ay":0.92303, "alpha":0.31562, "fx":[-34.14507,-33.99787,-35.56023,-35.68121], "fy":[14.77621,16.84524,16.40114,14.77919]}, - {"t":3.85313, "x":3.01175, "y":5.84716, "heading":3.07776, "vx":-2.20921, "vy":0.99543, "omega":-0.60072, "ax":-2.04798, "ay":0.92274, "alpha":0.23009, "fx":[-33.94765,-34.7613,-35.24426,-35.38927], "fy":[14.90866,16.41209,16.50923,14.95221]}, - {"t":3.89457, "x":2.91843, "y":5.8892, "heading":3.05286, "vx":-2.29408, "vy":1.03368, "omega":-0.59119, "ax":-2.04703, "ay":0.92227, "alpha":0.27284, "fx":[-34.26184,-34.06824,-35.39194,-35.55525], "fy":[14.83062,16.74457,16.26494,14.90996]}, - {"t":3.93601, "x":2.8216, "y":5.93283, "heading":3.02836, "vx":-2.37891, "vy":1.0719, "omega":-0.57988, "ax":-2.04528, "ay":0.92146, "alpha":0.14896, "fx":[-34.08357,-34.97224,-34.97498,-35.12804], "fy":[15.06993,16.16271,16.29963,15.16257]}, - {"t":3.97745, "x":2.72126, "y":5.97805, "heading":3.00433, "vx":-2.46368, "vy":1.11009, "omega":-0.57371, "ax":-2.04126, "ay":0.9195, "alpha":0.1594, "fx":[-34.41961,-34.28154,-35.02961,-35.15415], "fy":[15.10398,16.32845,15.9415,15.18747]}, - {"t":4.0189, "x":2.6174, "y":6.02484, "heading":2.98055, "vx":-2.54827, "vy":1.14819, "omega":-0.5671, "ax":-2.02096, "ay":0.91033, "alpha":-0.04799, "fx":[-33.76279,-35.67499,-34.00596,-34.06028], "fy":[15.3095,15.59381,15.67906,15.35546]}, - {"t":4.06034, "x":2.51006, "y":6.07321, "heading":2.95705, "vx":-2.63203, "vy":1.18592, "omega":-0.56909, "ax":2.02144, "ay":-0.90817, "alpha":-0.08156, "fx":[34.28491,34.21667,34.49028,34.5448], "fy":[-15.08427,-16.18801,-15.39029,-15.12806]}, - {"t":4.10178, "x":2.40272, "y":6.12158, "heading":2.93347, "vx":-2.54825, "vy":1.14828, "omega":-0.57247, "ax":2.041, "ay":-0.91994, "alpha":-0.07303, "fx":[34.17805,35.13257,34.69535,34.86158], "fy":[-15.21563,-15.92593,-16.0989,-15.35131]}, - {"t":4.14323, "x":2.29886, "y":6.16837, "heading":2.90974, "vx":-2.46367, "vy":1.11016, "omega":-0.5755, "ax":2.04515, "ay":-0.92171, "alpha":-0.21958, "fx":[34.42525,34.12258,35.16188,35.43988], "fy":[-14.89763,-16.51531,-16.18132,-15.11818]}, - {"t":4.18467, "x":2.19852, "y":6.21359, "heading":2.88589, "vx":-2.37891, "vy":1.07196, "omega":-0.5846, "ax":2.04694, "ay":-0.92244, "alpha":-0.18845, "fx":[34.13041,34.78621,34.99177,35.36295], "fy":[-14.8762,-16.17303,-16.53075,-15.18177]}, - {"t":4.22611, "x":2.10169, "y":6.25722, "heading":2.86166, "vx":-2.29408, "vy":1.03373, "omega":-0.59241, "ax":2.04792, "ay":-0.92286, "alpha":-0.29658, "fx":[34.38228,33.89296,35.30281,35.76037], "fy":[-14.63306,-16.65118,-16.49541,-15.01065]}, - {"t":4.26755, "x":2.00837, "y":6.29927, "heading":2.83711, "vx":-2.20921, "vy":0.99548, "omega":-0.6047, "ax":2.04855, "ay":-0.92313, "alpha":-0.24677, "fx":[34.16526,34.4974,35.09757,35.62083], "fy":[-14.69507,-16.24321,-16.73411,-15.13615]}, - {"t":4.309, "x":1.91857, "y":6.33973, "heading":2.81205, "vx":-2.12431, "vy":0.95723, "omega":-0.61492, "ax":2.04898, "ay":-0.92331, "alpha":-0.31617, "fx":[34.41387,33.81193,35.30578,35.87893], "fy":[-14.55483,-16.57519,-16.647,-15.04426]}, - {"t":4.35044, "x":1.8323, "y":6.37861, "heading":2.78657, "vx":-2.03939, "vy":0.91896, "omega":-0.62803, "ax":2.0493, "ay":-0.92345, "alpha":-0.25884, "fx":[34.26855,34.35107,35.10334,35.70922], "fy":[-14.66144,-16.20878,-16.77497,-15.18526]}, - {"t":4.39188, "x":1.74954, "y":6.4159, "heading":2.76054, "vx":-1.95447, "vy":0.88069, "omega":-0.63875, "ax":2.04955, "ay":-0.92355, "alpha":-0.29719, "fx":[34.49969,33.85938,35.23787,35.85177], "fy":[-14.60133,-16.45521,-16.63945,-15.14155]}, - {"t":4.43333, "x":1.6703, "y":6.45161, "heading":2.73407, "vx":-1.86953, "vy":0.84242, "omega":-0.65107, "ax":2.04974, "ay":-0.92364, "alpha":-0.23226, "fx":[34.40424,34.35842,35.04618,35.65294], "fy":[-14.7587,-16.1078,-16.68139,-15.29525]}, - {"t":4.47477, "x":1.59458, "y":6.48573, "heading":2.70709, "vx":-1.78458, "vy":0.80414, "omega":-0.6607, "ax":2.04989, "ay":-0.9237, "alpha":-0.24484, "fx":[34.61382,34.02497,35.13327,35.70028], "fy":[-14.77511,-16.27928,-16.50573,-15.28754]}, - {"t":4.51621, "x":1.52238, "y":6.51826, "heading":2.6797, "vx":-1.69963, "vy":0.76586, "omega":-0.67084, "ax":2.05002, "ay":-0.92376, "alpha":-0.17168, "fx":[34.54713,34.51502,34.95388,35.46504], "fy":[-14.9788,-15.96955,-16.46409,-15.43897]}, - {"t":4.55765, "x":1.45371, "y":6.54921, "heading":2.6519, "vx":-1.61467, "vy":0.72757, "omega":-0.67796, "ax":2.05013, "ay":-0.9238, "alpha":-0.16332, "fx":[34.73596,34.30199,35.0174,35.43305], "fy":[-15.06414,-16.10106,-16.24103,-15.44832]}, - {"t":4.5991, "x":1.38855, "y":6.57857, "heading":2.62381, "vx":-1.5297, "vy":0.68929, "omega":-0.68473, "ax":2.05022, "ay":-0.92384, "alpha":-0.08085, "fx":[34.68587,34.79364,34.8577,35.15742], "fy":[-15.32203,-15.81883,-16.1225,-15.5939]}, - {"t":4.64054, "x":1.32692, "y":6.60634, "heading":2.59543, "vx":-1.44474, "vy":0.651, "omega":-0.68808, "ax":2.0503, "ay":-0.92388, "alpha":-0.05204, "fx":[34.84671,34.6946,34.91054,35.04817], "fy":[-15.48039,-15.9179,-15.84982,-15.61145]}, - {"t":4.68198, "x":1.2688, "y":6.63252, "heading":2.56691, "vx":-1.35977, "vy":0.61271, "omega":-0.69023, "ax":2.05037, "ay":-0.92391, "alpha":0.04219, "fx":[34.79785,35.21101,34.77412,34.72171], "fy":[-15.79622,-15.6754,-15.64936,-15.7406]}, - {"t":4.72343, "x":1.21421, "y":6.65712, "heading":2.53831, "vx":-1.27479, "vy":0.57442, "omega":-0.68849, "ax":2.05043, "ay":-0.92393, "alpha":0.09069, "fx":[34.92824,35.21001,34.83278,34.53779], "fy":[-16.02895,-15.7664,-15.31584,-15.75216]}, - {"t":4.76487, "x":1.16314, "y":6.68014, "heading":2.50978, "vx":-1.18982, "vy":0.53613, "omega":-0.68473, "ax":2.05048, "ay":-0.92396, "alpha":0.19959, "fx":[34.86905,35.76485,34.72744,34.15112], "fy":[-16.41495,-15.56022,-15.03009,-15.85966]}, - {"t":4.80631, "x":1.11559, "y":6.70156, "heading":2.4814, "vx":-1.10484, "vy":0.49784, "omega":-0.67646, "ax":2.05053, "ay":-0.92398, "alpha":0.26958, "fx":[34.96177,35.86287,34.80397,33.8871], "fy":[-16.7306,-15.65505,-14.62559,-15.85509]}, - {"t":4.84775, "x":1.07156, "y":6.7214, "heading":2.45336, "vx":-1.01986, "vy":0.45955, "omega":-0.66528, "ax":2.05057, "ay":-0.924, "alpha":0.39698, "fx":[34.88006,36.47318,34.73786,33.42754], "fy":[-17.19846,-15.49319,-14.24401,-15.9319]}, - {"t":4.8892, "x":1.03106, "y":6.73965, "heading":2.42579, "vx":-0.93488, "vy":0.42126, "omega":-0.64883, "ax":2.05061, "ay":-0.92401, "alpha":0.49134, "fx":[34.92845,36.67251,34.84536,33.07495], "fy":[-17.60986,-15.6022,-13.755,-15.90164]}, - {"t":4.93064, "x":0.99408, "y":6.75632, "heading":2.3989, "vx":-0.8499, "vy":0.38296, "omega":-0.62847, "ax":2.05065, "ay":-0.92403, "alpha":0.64247, "fx":[34.81155,37.36009,34.82655,32.52547], "fy":[-18.1747,-15.49394,-13.26298,-15.93811]}, - {"t":4.97208, "x":0.96062, "y":6.77139, "heading":2.37286, "vx":-0.76491, "vy":0.34467, "omega":-0.60184, "ax":2.05068, "ay":-0.92404, "alpha":0.76526, "fx":[34.80977,37.66533,34.97903,32.0717], "fy":[-18.69606,-15.63507,-12.66885,-15.87069]}, - {"t":5.01353, "x":0.93068, "y":6.78488, "heading":2.34792, "vx":-0.67992, "vy":0.30637, "omega":-0.57013, "ax":2.05071, "ay":-0.92405, "alpha":0.94644, "fx":[34.64746,38.45104,35.0174,31.41193], "fy":[-19.38112,-15.58119,-12.049,-15.86021]}, - {"t":5.05497, "x":0.90426, "y":6.79679, "heading":2.32429, "vx":-0.59494, "vy":0.26808, "omega":-0.5309, "ax":2.05073, "ay":-0.92406, "alpha":1.10404, "fx":[34.5892,38.87844,35.22601,30.836], "fy":[-20.03584,-15.76396,-11.32599,-15.74653]}, - {"t":5.09641, "x":0.88136, "y":6.8071, "heading":2.30229, "vx":-0.50995, "vy":0.22978, "omega":-0.48515, "ax":2.05076, "ay":-0.92408, "alpha":1.32326, "fx":[34.37437,39.78748,35.33082,30.03867], "fy":[-20.86865,-15.76869,-10.55085,-15.68485]}, - {"t":5.13785, "x":0.86199, "y":6.81583, "heading":2.28218, "vx":-0.42496, "vy":0.19149, "omega":-0.43031, "ax":2.05078, "ay":-0.92409, "alpha":1.52438, "fx":[34.25716,40.36241,35.60359,29.30974], "fy":[-21.68848,-15.99912,-9.6655,-15.52061]}, - {"t":5.1793, "x":0.84614, "y":6.82298, "heading":2.26435, "vx":-0.33997, "vy":0.15319, "omega":-0.36714, "ax":2.0508, "ay":-0.92409, "alpha":1.76425, "fx":[34.11784,41.08061,35.93289,28.403], "fy":[-22.68153,-16.1044,-8.68788,-15.40052]}, - {"t":5.22074, "x":0.83381, "y":6.82853, "heading":2.24913, "vx":-0.25498, "vy":0.11489, "omega":-0.29402, "ax":2.05082, "ay":-0.9241, "alpha":2.04674, "fx":[33.82003,42.1843,36.11664,27.41471], "fy":[-23.73111,-16.33156,-7.61052,-15.20171]}, - {"t":5.26218, "x":0.82501, "y":6.8325, "heading":2.23695, "vx":-0.16999, "vy":0.0766, "omega":-0.2092, "ax":2.05084, "ay":-0.92411, "alpha":2.34985, "fx":[33.63378,43.1244,36.51461,26.26415], "fy":[-24.95428,-16.47821,-6.39365,-15.0493]}, - {"t":5.30363, "x":0.81972, "y":6.83488, "heading":2.22828, "vx":-0.08499, "vy":0.0383, "omega":-0.11181, "ax":2.05086, "ay":-0.92412, "alpha":2.698, "fx":[33.31412,44.4396,36.74721,25.03718], "fy":[-26.2697,-16.72363,-5.05086,-14.83176]}, - {"t":5.34507, "x":0.81796, "y":6.83567, "heading":2.22364, "vx":0.0, "vy":0.0, "omega":0.0, "ax":2.11214, "ay":-0.77224, "alpha":2.77882, "fx":[34.43712,45.54464,37.96064,25.76537], "fy":[-24.11016,-14.2516,-2.07622,-12.1045]}, - {"t":5.38626, "x":0.81975, "y":6.83502, "heading":2.22364, "vx":0.087, "vy":-0.03181, "omega":0.11446, "ax":2.11265, "ay":-0.77243, "alpha":2.43073, "fx":[34.53151,44.50202,37.57447,27.13399], "fy":[-22.70401,-14.13853,-3.49734,-12.2151]}, - {"t":5.42745, "x":0.82513, "y":6.83305, "heading":2.22836, "vx":0.17402, "vy":-0.06363, "omega":0.21458, "ax":2.11263, "ay":-0.77242, "alpha":2.11077, "fx":[34.80062,43.27668,37.41317,28.25019], "fy":[-21.48902,-13.93665,-4.73411,-12.3947]}, - {"t":5.46864, "x":0.83409, "y":6.82978, "heading":2.2372, "vx":0.26104, "vy":-0.09544, "omega":0.30153, "ax":2.11261, "ay":-0.77241, "alpha":1.83363, "fx":[34.94328,42.43344,37.06096,29.30155], "fy":[-20.35701,-13.81218,-5.85361,-12.53116]}, - {"t":5.50983, "x":0.84664, "y":6.82519, "heading":2.24962, "vx":0.34806, "vy":-0.12726, "omega":0.37705, "ax":2.11258, "ay":-0.7724, "alpha":1.57254, "fx":[35.21173,41.40016,36.9212,30.20459], "fy":[-19.3869,-13.60815,-6.84613,-12.7122]}, - {"t":5.55102, "x":0.86276, "y":6.81929, "heading":2.26515, "vx":0.43508, "vy":-0.15907, "omega":0.44183, "ax":2.11256, "ay":-0.77239, "alpha":1.35319, "fx":[35.32536,40.76349,36.61695,31.03022], "fy":[-18.46704,-13.50803,-7.7467,-12.831]}, - {"t":5.59221, "x":0.88248, "y":6.81209, "heading":2.28335, "vx":0.52209, "vy":-0.19089, "omega":0.49757, "ax":2.11253, "ay":-0.77238, "alpha":1.17013, "fx":[35.42164,40.26213,36.36671,31.68371], "fy":[-17.70854,-13.29265,-8.56263,-12.98827]}, - {"t":5.6334, "x":0.90577, "y":6.80357, "heading":2.30384, "vx":0.60911, "vy":-0.2227, "omega":0.54576, "ax":2.1125, "ay":-0.77237, "alpha":0.96563, "fx":[35.62626,39.40315,36.27893,32.42388], "fy":[-16.93589,-13.28141,-9.27814,-13.05591]}, - {"t":5.67459, "x":0.93266, "y":6.79374, "heading":2.32632, "vx":0.69612, "vy":-0.25452, "omega":0.58554, "ax":2.11247, "ay":-0.77236, "alpha":0.82237, "fx":[35.67209,39.03818,36.08082,32.93897], "fy":[-16.32995,-13.10424,-9.94631,-13.17005]}, - {"t":5.71578, "x":0.96312, "y":6.7826, "heading":2.35044, "vx":0.78314, "vy":-0.28633, "omega":0.61941, "ax":2.11244, "ay":-0.77235, "alpha":0.65287, "fx":[35.8314,38.29125,36.05195,33.55309], "fy":[-15.69343,-13.14749,-10.51873,-13.19001]}, - {"t":5.75697, "x":0.99717, "y":6.77015, "heading":2.37595, "vx":0.87015, "vy":-0.31814, "omega":0.6463, "ax":2.1124, "ay":-0.77233, "alpha":0.54191, "fx":[35.82523,38.04134,35.90189,33.9566], "fy":[-15.21118,-13.00694,-11.06907,-13.26151]}, - {"t":5.79816, "x":1.0348, "y":6.75639, "heading":2.40258, "vx":0.95716, "vy":-0.34996, "omega":0.66863, "ax":2.11235, "ay":-0.77232, "alpha":0.40019, "fx":[35.94404,37.38197,35.92658,34.46959], "fy":[-14.68705,-13.09983,-11.52334,-13.23742]}, - {"t":5.83935, "x":1.07602, "y":6.74132, "heading":2.43012, "vx":1.04417, "vy":-0.38177, "omega":0.68511, "ax":2.11231, "ay":-0.7723, "alpha":0.31638, "fx":[35.88836,37.23818,35.81457,34.77784], "fy":[-14.30698,-12.99176,-11.97611,-13.27159]}, - {"t":5.88054, "x":1.12082, "y":6.72494, "heading":2.45834, "vx":1.13117, "vy":-0.41358, "omega":0.69814, "ax":2.11225, "ay":-0.77228, "alpha":0.19645, "fx":[35.97669,36.64305,35.8865,35.20909], "fy":[-13.87529,-13.1337,-12.32743,-13.20867]}, - {"t":5.92173, "x":1.16921, "y":6.70725, "heading":2.48709, "vx":1.21818, "vy":-0.44539, "omega":0.70623, "ax":2.11219, "ay":-0.77226, "alpha":0.13604, "fx":[35.87738,36.59872,35.80179,35.43335], "fy":[-13.58483,-13.04338,-12.69936,-13.216]}, - {"t":5.96292, "x":1.22118, "y":6.68825, "heading":2.51618, "vx":1.30518, "vy":-0.4772, "omega":0.71184, "ax":2.11213, "ay":-0.77223, "alpha":0.03371, "fx":[35.94591,36.05217,35.91239,35.79612], "fy":[-13.23241,-13.23036,-12.95783,-13.12124]}, - {"t":6.00411, "x":1.27673, "y":6.66794, "heading":2.5455, "vx":1.39218, "vy":-0.50901, "omega":0.71322, "ax":2.11205, "ay":-0.7722, "alpha":-0.00559, "fx":[35.80927,36.10712,35.84262,35.94223], "fy":[-13.02221,-13.14245,-13.26161,-13.1136]}, - {"t":6.0453, "x":1.33587, "y":6.64632, "heading":2.57488, "vx":1.47918, "vy":-0.54082, "omega":0.71299, "ax":2.11196, "ay":-0.77217, "alpha":-0.09354, "fx":[35.86985,35.59489,35.98365,36.24666], "fy":[-12.73883,-13.36723,-13.4345,-12.99699]}, - {"t":6.08649, "x":1.39859, "y":6.62339, "heading":2.60425, "vx":1.56617, "vy":-0.57262, "omega":0.70914, "ax":2.11185, "ay":-0.77213, "alpha":-0.11167, "fx":[35.69892,35.76351,35.91235,36.313], "fy":[-12.60427,-13.26728,-13.6784,-12.98492]}, - {"t":6.12768, "x":1.46489, "y":6.59914, "heading":2.63346, "vx":1.65316, "vy":-0.60443, "omega":0.70454, "ax":2.11172, "ay":-0.77208, "alpha":-0.1883, "fx":[35.76777,35.26171,36.07949,36.57015], "fy":[-12.38332,-13.5245,-13.7686,-12.85525]}, - {"t":6.16888, "x":1.53477, "y":6.57359, "heading":2.66248, "vx":1.74014, "vy":-0.63623, "omega":0.69679, "ax":2.11157, "ay":-0.77203, "alpha":-0.18399, "fx":[35.56627,35.56192,35.98935,36.5511], "fy":[-12.32274,-13.39561,-13.95792,-12.85151]}, - {"t":6.21007, "x":1.60824, "y":6.54673, "heading":2.69118, "vx":1.82711, "vy":-0.66803, "omega":0.68921, "ax":2.11138, "ay":-0.77196, "alpha":-0.25088, "fx":[35.65967,35.05053,36.17719,36.76831], "fy":[-12.16234,-13.6746,-13.96595,-12.72006]}, - {"t":6.25126, "x":1.68529, "y":6.51856, "heading":2.71957, "vx":1.91408, "vy":-0.69983, "omega":0.67887, "ax":2.11114, "ay":-0.77187, "alpha":-0.22157, "fx":[35.43281,35.50361,36.0491,36.65378], "fy":[-12.17651,-13.5024,-14.10064,-12.73737]}, - {"t":6.29245, "x":1.76593, "y":6.48908, "heading":2.74753, "vx":2.00104, "vy":-0.73162, "omega":0.66975, "ax":2.11082, "ay":-0.77175, "alpha":-0.27945, "fx":[35.56834,34.96393,36.25086,36.83475], "fy":[-12.07243,-13.80934,-14.01605,-12.61112]}, - {"t":6.33364, "x":1.85014, "y":6.45829, "heading":2.77512, "vx":2.08799, "vy":-0.76341, "omega":0.65824, "ax":2.11039, "ay":-0.77159, "alpha":-0.21859, "fx":[35.31703,35.61473,36.05512,36.60175], "fy":[-12.17337,-13.55528,-14.09771,-12.67179]}, - {"t":6.37483, "x":1.93793, "y":6.42619, "heading":2.80223, "vx":2.17491, "vy":-0.79519, "omega":0.64923, "ax":2.10977, "ay":-0.77136, "alpha":-0.26806, "fx":[35.51962,35.01268,36.26498,36.74924], "fy":[-12.12415,-13.89457,-13.90444,-12.55909]}, - {"t":6.41602, "x":2.02931, "y":6.39278, "heading":2.82897, "vx":2.26182, "vy":-0.82696, "omega":0.63819, "ax":2.1088, "ay":-0.771, "alpha":-0.16427, "fx":[35.23791,35.93398,35.95323,36.35495], "fy":[-12.33004,-13.51295,-13.9244,-12.69067]}, - {"t":6.45721, "x":2.12426, "y":6.35806, "heading":2.85526, "vx":2.34868, "vy":-0.85872, "omega":0.63142, "ax":2.10704, "ay":-0.77036, "alpha":-0.20197, "fx":[35.53489,35.21199,36.15463,36.45908], "fy":[-12.35763,-13.82127,-13.6125,-12.623]}, - {"t":6.4984, "x":2.22279, "y":6.32204, "heading":2.88127, "vx":2.43547, "vy":-0.89045, "omega":0.62311, "ax":2.10295, "ay":-0.76886, "alpha":-0.05639, "fx":[35.24004,36.28578,35.68482,35.87154], "fy":[-12.65651,-13.31408,-13.51851,-12.82349]}, - {"t":6.53959, "x":2.3249, "y":6.28471, "heading":2.90694, "vx":2.52209, "vy":-0.92212, "omega":0.62078, "ax":2.08225, "ay":-0.76238, "alpha":-0.0659, "fx":[35.33087,35.25788,35.51072,35.57416], "fy":[-12.68376,-13.46039,-12.98839,-12.73907]}, - {"t":6.58078, "x":2.43055, "y":6.24608, "heading":2.93251, "vx":2.60786, "vy":-0.95352, "omega":0.61807, "ax":-2.08206, "ay":0.76157, "alpha":-0.05442, "fx":[-34.8259,-36.70491,-35.03395,-35.0963], "fy":[12.78527,13.04795,13.13992,12.84307]}, - {"t":6.62197, "x":2.5362, "y":6.20745, "heading":2.95796, "vx":2.5221, "vy":-0.92215, "omega":0.61583, "ax":-2.10279, "ay":0.76915, "alpha":0.14012, "fx":[-35.50463,-35.35465,-36.03396,-36.17806], "fy":[12.61151,13.57087,13.42488,12.72507]}, - {"t":6.66316, "x":2.6383, "y":6.17012, "heading":2.98333, "vx":2.43548, "vy":-0.89047, "omega":0.6216, "ax":-2.10701, "ay":0.77039, "alpha":0.12795, "fx":[-35.16873,-36.11628,-35.94617,-36.1273], "fy":[12.51837,13.5299,13.71101,12.65734]}, - {"t":6.70435, "x":2.73683, "y":6.13409, "heading":3.00893, "vx":2.34869, "vy":-0.85874, "omega":0.62687, "ax":-2.10878, "ay":0.77103, "alpha":0.24803, "fx":[-35.38368,-35.16542,-36.36658,-36.56299], "fy":[12.30782,14.01708,13.69449,12.44069]}, - {"t":6.74554, "x":2.83179, "y":6.09938, "heading":3.03476, "vx":2.26183, "vy":-0.82698, "omega":0.63708, "ax":-2.10976, "ay":0.77139, "alpha":0.20199, "fx":[-35.06734,-35.9071,-36.194,-36.37688], "fy":[12.36463,13.74252,13.90345,12.47381]}, - {"t":6.78673, "x":2.92316, "y":6.06597, "heading":3.061, "vx":2.17493, "vy":-0.79521, "omega":0.6454, "ax":-2.11038, "ay":0.77161, "alpha":0.2828, "fx":[-35.29304,-35.11415,-36.51036,-36.67022], "fy":[12.26007,14.09546,13.80896,12.33529]}, - {"t":6.82792, "x":3.01096, "y":6.03387, "heading":3.08758, "vx":2.088, "vy":-0.76342, "omega":0.65705, "ax":-2.11081, "ay":0.77177, "alpha":0.2299, "fx":[-35.07607,-35.73581,-36.34128,-36.46401], "fy":[12.3681,13.83339,13.90881,12.40004]}, - {"t":6.86911, "x":3.09517, "y":6.00308, "heading":3.11465, "vx":2.00106, "vy":-0.73163, "omega":0.66652, "ax":-2.11113, "ay":0.77188, "alpha":0.27258, "fx":[-35.28735,-35.18607,-36.53998,-36.62531], "fy":[12.34138,14.06854,13.774,12.33422]}, - {"t":6.9103, "x":3.17581, "y":5.97359, "heading":-3.14109, "vx":1.9141, "vy":-0.69984, "omega":0.67775, "ax":-2.11137, "ay":0.77197, "alpha":0.21125, "fx":[-35.15187,-35.74294,-36.35818,-36.4022], "fy":[12.48705,13.80338,13.79391,12.4397]}, - {"t":6.95149, "x":3.25286, "y":5.94542, "heading":-3.11317, "vx":1.82713, "vy":-0.66804, "omega":0.68645, "ax":-2.11156, "ay":0.77204, "alpha":0.22638, "fx":[-35.37326,-35.34875,-36.46785,-36.47835], "fy":[12.51196,13.94933,13.62957,12.43788]}, - {"t":6.99268, "x":3.32633, "y":5.91856, "heading":-3.08489, "vx":1.74016, "vy":-0.63624, "omega":0.69578, "ax":-2.11172, "ay":0.7721, "alpha":0.15527, "fx":[-35.31255,-35.86325,-36.26075,-36.24218], "fy":[12.68672,13.6552,13.5969,12.59371]}, - {"t":7.03387, "x":3.39621, "y":5.89301, "heading":-3.05623, "vx":1.65317, "vy":-0.60444, "omega":0.70217, "ax":-2.11184, "ay":0.77214, "alpha":0.14632, "fx":[-35.55787,-35.57907,-36.29165,-36.25884], "fy":[12.75395,13.70159,13.41789,12.66224]}, - {"t":7.07506, "x":3.46252, "y":5.86877, "heading":-3.02731, "vx":1.56619, "vy":-0.57263, "omega":0.7082, "ax":-2.11195, "ay":0.77218, "alpha":0.06617, "fx":[-35.57513,-36.05192,-36.05082,-36.01686], "fy":[12.94126,13.38495,13.34317,12.86892]}, - {"t":7.11625, "x":3.52524, "y":5.84583, "heading":-2.99814, "vx":1.4792, "vy":-0.54083, "omega":0.71092, "ax":-2.11204, "ay":0.77221, "alpha":0.03535, "fx":[-35.85353,-35.85746,-36.00195,-35.988], "fy":[13.03494,13.34051,13.15727,13.00781]}, - {"t":7.15744, "x":3.58437, "y":5.82421, "heading":-2.96886, "vx":1.3922, "vy":-0.50902, "omega":0.71238, "ax":-2.11212, "ay":0.77224, "alpha":-0.05749, "fx":[-35.94736,-36.31038,-35.71001,-35.73856], "fy":[13.23177,12.97755,13.05323,13.27992]}, - {"t":7.19863, "x":3.63993, "y":5.8039, "heading":-2.93951, "vx":1.3052, "vy":-0.47721, "omega":0.71001, "ax":-2.11219, "ay":0.77227, "alpha":-0.10941, "fx":[-36.2763,-36.17028,-35.58308,-35.68132], "fy":[13.34312,12.84067,12.86237,13.498]}, - {"t":7.23982, "x":3.6919, "y":5.7849, "heading":-2.91027, "vx":1.2182, "vy":-0.4454, "omega":0.70551, "ax":-2.11225, "ay":0.77229, "alpha":-0.21703, "fx":[-36.45671,-36.59971,-35.22831,-35.43036], "fy":[13.54115,12.41639,12.74238,13.84572]}, - {"t":7.28101, "x":3.74028, "y":5.76721, "heading":-2.88121, "vx":1.13119, "vy":-0.41359, "omega":0.69657, "ax":-2.1123, "ay":0.77231, "alpha":-0.29246, "fx":[-36.84732,-36.50706,-35.01281,-35.35153], "fy":[13.66502,12.17093,12.55486,14.15614]}, - {"t":7.3222, "x":3.78508, "y":5.75083, "heading":-2.85252, "vx":1.04419, "vy":-0.38178, "omega":0.68452, "ax":-2.11235, "ay":0.77233, "alpha":-0.41818, "fx":[-37.12475,-36.91701,-34.57854,-35.10166], "fy":[13.85561,11.67544,12.42455,14.59252]}, - {"t":7.36339, "x":3.8263, "y":5.73576, "heading":-2.82432, "vx":0.95718, "vy":-0.34997, "omega":0.66729, "ax":-2.11239, "ay":0.77234, "alpha":-0.51955, "fx":[-37.59348,-36.85909,-34.26296,-35.00935], "fy":[13.98393,11.31257,12.24479,15.00788]}, - {"t":7.40458, "x":3.86394, "y":5.722, "heading":-2.79683, "vx":0.87017, "vy":-0.31815, "omega":0.64589, "ax":-2.11243, "ay":0.77235, "alpha":-0.66873, "fx":[-37.9822,-37.25335,-33.72955,-34.76241], "fy":[14.16393,10.72195,12.11082,15.55342]}, - {"t":7.44577, "x":3.89799, "y":5.70955, "heading":-2.77023, "vx":0.78316, "vy":-0.28634, "omega":0.61835, "ax":-2.11247, "ay":0.77237, "alpha":-0.80086, "fx":[-38.54769,-37.22275,-33.29742,-34.66202], "fy":[14.29406,10.21945,11.94329,16.09418]}, - {"t":7.48696, "x":3.92845, "y":5.69841, "heading":-2.74476, "vx":0.69614, "vy":-0.25453, "omega":0.58536, "ax":-2.1125, "ay":0.77238, "alpha":-0.97953, "fx":[-39.06703,-37.60518,-32.64153,-34.41832], "fy":[14.45973,9.51395,11.80782,16.77026]}, - {"t":7.52816, "x":3.95534, "y":5.68858, "heading":-2.72065, "vx":0.60913, "vy":-0.22271, "omega":0.54501, "ax":-2.11253, "ay":0.77239, "alpha":-1.14868, "fx":[-39.75105,-37.60134,-32.07048,-34.31116], "fy":[14.59117,8.84923,11.6514,17.46067]}, - {"t":7.56935, "x":3.97864, "y":5.68006, "heading":-2.6982, "vx":0.52211, "vy":-0.1909, "omega":0.4977, "ax":-2.11256, "ay":0.7724, "alpha":-1.3511, "fx":[-40.25615,-38.03282,-31.32307,-34.12382], "fy":[14.76226,7.99366,11.50889,18.28832]}, - {"t":7.61054, "x":3.99835, "y":5.67285, "heading":-2.6777, "vx":0.4351, "vy":-0.15908, "omega":0.44205, "ax":-2.11258, "ay":0.77241, "alpha":-1.57969, "fx":[-41.25287,-38.01157,-30.52523,-33.94788], "fy":[14.88609,7.13907,11.36171,19.16686]}, - {"t":7.65173, "x":4.01448, "y":5.66696, "heading":-2.65949, "vx":0.34808, "vy":-0.12727, "omega":0.37698, "ax":-2.1126, "ay":0.77242, "alpha":-1.83007, "fx":[-41.94664,-38.45626,-29.59074,-33.74545], "fy":[15.05848,6.10449,11.20469,20.18663]}, - {"t":7.69292, "x":4.02702, "y":5.66237, "heading":-2.64396, "vx":0.26106, "vy":-0.09545, "omega":0.3016, "ax":-2.11262, "ay":0.77242, "alpha":-2.11514, "fx":[-43.1141,-38.4943,-28.58903,-33.54311], "fy":[15.2106,5.01632,11.04093,21.28696]}, - {"t":7.73411, "x":4.03599, "y":5.65909, "heading":-2.63154, "vx":0.17404, "vy":-0.06363, "omega":0.21448, "ax":-2.11264, "ay":0.77243, "alpha":-2.42717, "fx":[-44.03323,-38.98842,-27.42308,-33.29715], "fy":[15.41586,3.75638,10.83898,22.54408]}, - {"t":7.7753, "x":4.04136, "y":5.65713, "heading":-2.62271, "vx":0.08702, "vy":-0.03182, "omega":0.1145, "ax":-2.11266, "ay":0.77244, "alpha":-2.77977, "fx":[-45.24892,-39.3305,-26.14414,-33.01955], "fy":[15.64805,2.37857,10.60105,23.92808]}, - {"t":7.81649, "x":4.04315, "y":5.65647, "heading":-2.61799, "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,69,78,140] + {"t":0.0, "x":7.21552, "y":5.43911, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-2.16222, "ay":1.25243, "alpha":-0.44866, "fx":[-37.89841,-38.03638,-35.66762,-35.51231], "fy":[22.4432,20.14889,20.01818,22.60377]}, + {"t":0.04085, "x":7.21371, "y":5.44015, "heading":3.14159, "vx":-0.08833, "vy":0.05116, "omega":-0.01833, "ax":-2.16737, "ay":1.24469, "alpha":-0.39283, "fx":[-37.83876,-37.9634,-35.90023,-35.76326], "fy":[22.17524,20.1283,20.06663,22.31685]}, + {"t":0.0817, "x":7.2083, "y":5.44328, "heading":3.14084, "vx":-0.17687, "vy":0.10201, "omega":-0.03438, "ax":-2.17235, "ay":1.23592, "alpha":-0.35327, "fx":[-37.74235,-37.89351,-36.07797,-36.0905], "fy":[22.11779,19.93673,20.04921,21.98699]}, + {"t":0.12255, "x":7.19926, "y":5.44848, "heading":3.13944, "vx":-0.26561, "vy":0.1525, "omega":-0.04881, "ax":-2.17773, "ay":1.22636, "alpha":-0.29186, "fx":[-37.77224,-37.86186,-36.32099,-36.21533], "fy":[21.60207,20.12327,20.01198,21.70249]}, + {"t":0.1634, "x":7.18659, "y":5.45573, "heading":3.13745, "vx":-0.35457, "vy":0.2026, "omega":-0.06073, "ax":-2.18357, "ay":1.21587, "alpha":-0.26205, "fx":[-37.70678,-37.82941,-36.48243,-36.54869], "fy":[21.55131,19.86182,19.94055,21.37279]}, + {"t":0.20425, "x":7.17028, "y":5.46502, "heading":3.13497, "vx":-0.44377, "vy":0.25226, "omega":-0.07143, "ax":-2.18991, "ay":1.20433, "alpha":-0.20998, "fx":[-37.7819,-37.84475,-36.72713,-36.64518], "fy":[21.01547,20.00058,19.84341,21.08191]}, + {"t":0.24511, "x":7.15033, "y":5.47633, "heading":3.13205, "vx":-0.53323, "vy":0.30146, "omega":-0.08001, "ax":-2.19683, "ay":1.19157, "alpha":-0.18773, "fx":[-37.74608,-37.84624,-36.87964,-36.99809], "fy":[20.95892,19.6639,19.7149,20.73546]}, + {"t":0.28596, "x":7.12671, "y":5.48964, "heading":3.12878, "vx":-0.62297, "vy":0.35014, "omega":-0.08768, "ax":-2.20442, "ay":1.17739, "alpha":-0.14322, "fx":[-37.86719,-37.90873,-37.13609,-37.0741], "fy":[20.38359,19.74629,19.55434,20.4239]}, + {"t":0.32681, "x":7.09942, "y":5.50493, "heading":3.1252, "vx":-0.71303, "vy":0.39824, "omega":-0.09353, "ax":-2.21276, "ay":1.16153, "alpha":-0.12596, "fx":[-37.86063,-37.94182,-37.28685,-37.46435], "fy":[20.29944,19.32932,19.35927,20.0411]}, + {"t":0.36766, "x":7.06845, "y":5.52217, "heading":3.12138, "vx":-0.80342, "vy":0.44569, "omega":-0.09868, "ax":-2.22197, "ay":1.14369, "alpha":-0.08695, "fx":[-38.03376,-38.05425,-37.5682,-37.52433], "fy":[19.65957,19.35845,19.11586,19.68118]}, + {"t":0.40851, "x":7.03378, "y":5.54133, "heading":3.11734, "vx":-0.89419, "vy":0.49241, "omega":-0.10223, "ax":-2.2322, "ay":1.12346, "alpha":-0.07478, "fx":[-38.05939,-38.12366,-37.72661,-37.96648], "fy":[19.53765,18.82367,18.83902,19.23879]}, + {"t":0.44936, "x":6.99539, "y":5.56238, "heading":3.11317, "vx":-0.98538, "vy":0.5383, "omega":-0.10528, "ax":-2.2436, "ay":1.10036, "alpha":-0.04051, "fx":[-38.29215,-38.29426,-38.04598,-38.01945], "fy":[18.79727,18.76741,18.49563,18.80688]}, + {"t":0.49021, "x":6.95326, "y":5.58529, "heading":3.10887, "vx":-1.07703, "vy":0.58325, "omega":-0.10694, "ax":-2.25638, "ay":1.07372, "alpha":-0.03199, "fx":[-38.35703,-38.40585,-38.22473,-38.53377], "fy":[18.60865,18.09037,18.09697,18.25884]}, + {"t":0.53106, "x":6.90738, "y":5.61001, "heading":3.1045, "vx":-1.1692, "vy":0.62711, "omega":-0.10825, "ax":-2.27078, "ay":1.04269, "alpha":-0.00069, "fx":[-38.66327,-38.6477,-38.60007,-38.59044], "fy":[17.70495,17.91784,17.61223,17.70841]}, + {"t":0.57191, "x":6.85772, "y":5.6365, "heading":3.10008, "vx":-1.26197, "vy":0.66971, "omega":-0.10827, "ax":-2.28711, "ay":1.0061, "alpha":0.00713, "fx":[-38.77753,-38.8085,-38.81076,-39.2156], "fy":[17.37039,17.0401,17.04317,17.00036]}, + {"t":0.61276, "x":6.80426, "y":5.6647, "heading":3.09565, "vx":-1.3554, "vy":0.71081, "omega":-0.10798, "ax":-2.30572, "ay":0.96236, "alpha":0.0341, "fx":[-39.17991,-39.14789,-39.27189,-39.27873], "fy":[16.23721,16.6717,16.32935,16.2397]}, + {"t":0.65361, "x":6.74697, "y":5.69454, "heading":3.09124, "vx":-1.44959, "vy":0.75012, "omega":-0.10659, "ax":-2.32702, "ay":0.90921, "alpha":0.04083, "fx":[-39.3601,-39.37507,-39.53685,-40.05596], "fy":[15.67318,15.46733,15.47166,15.24975]}, + {"t":0.69446, "x":6.68581, "y":5.72594, "heading":3.08689, "vx":-1.54465, "vy":0.78726, "omega":-0.10492, "ax":-2.35148, "ay":0.84339, "alpha":0.06466, "fx":[-39.88997,-39.84431,-40.11763,-40.14017], "fy":[14.12187,14.74927,14.38389,14.12833]}, + {"t":0.73532, "x":6.62075, "y":5.7588, "heading":3.0826, "vx":-1.64071, "vy":0.82172, "omega":-0.10228, "ax":-2.3795, "ay":0.75999, "alpha":0.07646, "fx":[-40.15722,-40.15092,-40.45697,-41.13347], "fy":[13.04463,13.00824,13.01887,12.6369]}, + {"t":0.77617, "x":6.55174, "y":5.793, "heading":3.07842, "vx":-1.73791, "vy":0.85276, "omega":-0.09916, "ax":-2.41119, "ay":0.65138, "alpha":0.0912, "fx":[-40.84093,-40.78795,-41.19466,-41.23108], "fy":[10.77655,11.54482,11.20496,10.79284]}, + {"t":0.81702, "x":6.47873, "y":5.82838, "heading":3.07437, "vx":-1.83641, "vy":0.87937, "omega":-0.09543, "ax":-2.44559, "ay":0.50526, "alpha":0.11596, "fx":[-41.16679,-41.13786,-41.58465,-42.50606], "fy":[8.60991,8.74951,8.77355,8.24441]}, + {"t":0.85787, "x":6.40167, "y":5.86473, "heading":3.07047, "vx":-1.93632, "vy":0.90001, "omega":-0.09069, "ax":-2.47852, "ay":0.30101, "alpha":0.11822, "fx":[-41.91686,-41.86577,-42.40376,-42.44903], "fy":[4.73093,5.64385,5.34007,4.76579]}, + {"t":0.89872, "x":6.3205, "y":5.90175, "heading":3.06677, "vx":-2.03757, "vy":0.91231, "omega":-0.08587, "ax":-2.49603, "ay":0.00356, "alpha":0.16693, "fx":[-41.88824,-41.84221,-42.44629,-43.65006], "fy":[-0.16515,0.31959,0.37158,-0.28383]}, + {"t":0.93957, "x":6.23518, "y":5.93902, "heading":3.06326, "vx":-2.13953, "vy":0.91246, "omega":-0.07905, "ax":-2.45545, "ay":-0.44296, "alpha":0.13571, "fx":[-41.43328,-41.39051,-42.10187,-42.14038], "fy":[-7.94428,-7.222,-7.10575,-7.86674]}, + {"t":0.98042, "x":6.14573, "y":5.97592, "heading":3.06003, "vx":-2.23984, "vy":0.89436, "omega":-0.0735, "ax":-2.24105, "ay":-1.09432, "alpha":0.23685, "fx":[-37.41748,-37.42276,-38.24674,-39.39128], "fy":[-19.49211,-18.13124,-18.023,-18.80975]}, + {"t":1.02127, "x":6.05236, "y":6.01154, "heading":3.05703, "vx":-2.33139, "vy":0.84966, "omega":-0.06383, "ax":-1.65802, "ay":-1.86193, "alpha":0.15644, "fx":[-27.72897,-27.64425,-28.7055,-28.73109], "fy":[-32.04284,-31.79039,-30.94367,-31.90675]}, + {"t":1.06212, "x":5.95574, "y":6.0447, "heading":3.05442, "vx":-2.39912, "vy":0.7736, "omega":-0.05744, "ax":-0.7453, "ay":-2.37945, "alpha":0.29239, "fx":[-11.96991,-11.9482,-13.13383,-13.65739], "fy":[-41.91846,-39.72324,-39.59398,-40.65957]}, + {"t":1.10297, "x":5.85711, "y":6.07432, "heading":3.05208, "vx":-2.42957, "vy":0.67639, "omega":-0.04549, "ax":0.08144, "ay":-2.49318, "alpha":0.20674, "fx":[2.02799,2.15402,0.74448,0.61448], "fy":[-42.83727,-42.58924,-41.47634,-42.73034]}, + {"t":1.14382, "x":5.75793, "y":6.09987, "heading":3.05022, "vx":-2.42624, "vy":0.57454, "omega":-0.03705, "ax":0.63488, "ay":-2.41347, "alpha":0.32031, "fx":[11.39637,11.64544,10.03527,10.11951], "fy":[-42.55221,-40.12305,-40.0314,-41.50289]}, + {"t":1.18467, "x":5.65935, "y":6.12132, "heading":3.0487, "vx":-2.4003, "vy":0.47595, "omega":-0.02396, "ax":0.98135, "ay":-2.29542, "alpha":0.30555, "fx":[17.52286,17.7303,15.88949,15.62731], "fy":[-39.76376,-38.79904,-37.92895,-39.68584]}, + {"t":1.22553, "x":5.56211, "y":6.13885, "heading":3.04773, "vx":-2.36021, "vy":0.38218, "omega":-0.01148, "ax":1.20473, "ay":-2.18715, "alpha":0.40975, "fx":[21.26074,21.66563,19.46437,19.57764], "fy":[-38.82611,-36.03388,-35.95134,-37.99976]}, + {"t":1.26638, "x":5.4667, "y":6.15264, "heading":3.04726, "vx":-2.311, "vy":0.29284, "omega":0.00526, "ax":1.35619, "ay":-2.09713, "alpha":0.44341, "fx":[24.15779,24.50896,22.00178,21.60484], "fy":[-36.80027,-34.89131,-34.26812,-36.72688]}, + {"t":1.30723, "x":5.37342, "y":6.16285, "heading":3.04747, "vx":-2.2556, "vy":0.20717, "omega":0.02337, "ax":1.46393, "ay":-2.02381, "alpha":0.54871, "fx":[25.98579,26.53608,23.55153,23.53088], "fy":[-36.32062,-32.90203,-32.81084,-35.66406]}, + {"t":1.34808, "x":5.2825, "y":6.16963, "heading":3.04843, "vx":-2.1958, "vy":0.12449, "omega":0.04579, "ax":1.54378, "ay":-1.96391, "alpha":0.62127, "fx":[27.70998,28.23712,24.82079,24.26893], "fy":[-35.03993,-32.04822,-31.56822,-34.96609]}, + {"t":1.38893, "x":5.19409, "y":6.17307, "heading":3.0503, "vx":-2.13273, "vy":0.04426, "omega":0.07117, "ax":1.60497, "ay":-1.9145, "alpha":0.73724, "fx":[28.82432,29.53574,25.50546,25.33501], "fy":[-34.87384,-30.55517,-30.45348,-34.3779]}, + {"t":1.42978, "x":5.10831, "y":6.17328, "heading":3.0532, "vx":-2.06717, "vy":-0.03395, "omega":0.10128, "ax":1.6532, "ay":-1.87324, "alpha":0.85109, "fx":[30.06343,30.79342,26.17669,25.44809], "fy":[-34.13034,-29.81741,-29.43528,-34.07023]}, + {"t":1.47063, "x":5.02524, "y":6.17033, "heading":3.05734, "vx":-1.99963, "vy":-0.11047, "omega":0.13605, "ax":1.69208, "ay":-1.83838, "alpha":0.99551, "fx":[30.90969,31.81601,26.41245,25.98927], "fy":[-34.20838,-28.57563,-28.47665,-33.82084]}, + {"t":1.51148, "x":4.94497, "y":6.16429, "heading":3.0629, "vx":-1.93051, "vy":-0.18557, "omega":0.17672, "ax":1.72405, "ay":-1.8086, "alpha":1.14805, "fx":[31.93381,32.88577,26.69806,25.78478], "fy":[-33.82074,-27.84664,-27.56862,-33.81918]}, + {"t":1.55233, "x":4.86754, "y":6.1552, "heading":3.07012, "vx":-1.86008, "vy":-0.25945, "omega":0.22362, "ax":1.75076, "ay":-1.7829, "alpha":1.32967, "fx":[32.70778,33.81718,26.61694,25.9779], "fy":[-34.07352,-26.71293,-26.66381,-33.85609]}, + {"t":1.59318, "x":4.79302, "y":6.14311, "heading":3.07925, "vx":-1.78856, "vy":-0.33228, "omega":0.27794, "ax":1.77339, "ay":-1.76051, "alpha":1.53079, "fx":[33.67746,34.84032,26.6047,25.53719], "fy":[-33.97347,-25.90149,-25.77806,-34.13012]}, + {"t":1.63403, "x":4.72143, "y":6.12807, "heading":3.09061, "vx":-1.71612, "vy":-0.4042, "omega":0.34047, "ax":1.7928, "ay":-1.74085, "alpha":1.76215, "fx":[34.50243,35.78232,26.2361,25.45933], "fy":[-34.37041,-24.75475,-24.86484,-34.45546]}, + {"t":1.67488, "x":4.65282, "y":6.1101, "heading":3.10452, "vx":-1.64288, "vy":-0.47532, "omega":0.41246, "ax":1.80962, "ay":-1.72346, "alpha":2.02413, "fx":[35.53509,36.83716,25.93,24.82224], "fy":[-34.51114,-23.77118,-23.95297,-35.02672]}, + {"t":1.71574, "x":4.58722, "y":6.08925, "heading":3.12137, "vx":-1.56895, "vy":-0.54572, "omega":0.49514, "ax":1.82433, "ay":-1.70796, "alpha":2.32145, "fx":[36.58953,37.84351,25.23419,24.45802], "fy":[-34.78564,-22.51808,-23.02946,-35.87478]}, + {"t":1.75659, "x":4.52465, "y":6.06553, "heading":3.14159, "vx":-1.49443, "vy":-0.61549, "omega":0.58998, "ax":1.8722, "ay":-1.65274, "alpha":1.4425, "fx":[35.43193,36.00784,28.2234,27.71928], "fy":[-31.68306,-24.20757,-24.27764,-32.28208]}, + {"t":1.78525, "x":4.48259, "y":6.04721, "heading":-3.12468, "vx":-1.44077, "vy":-0.66286, "omega":0.63132, "ax":1.96143, "ay":-1.54782, "alpha":1.27395, "fx":[36.44197,36.88406,30.01615,30.11114], "fy":[-29.6777,-22.51317,-23.06646,-30.0547]}, + {"t":1.8139, "x":4.4421, "y":6.02758, "heading":-3.10659, "vx":-1.38456, "vy":-0.70722, "omega":0.66783, "ax":2.05299, "ay":-1.42401, "alpha":1.11176, "fx":[37.73897,37.96358,32.0813,31.89905], "fy":[-26.92543,-20.96821,-21.40429,-27.58985]}, + {"t":1.84256, "x":4.40326, "y":6.00673, "heading":-3.08745, "vx":-1.32572, "vy":-0.74803, "omega":0.69969, "ax":2.14596, "ay":-1.27945, "alpha":0.95406, "fx":[38.85966,38.96026,33.8655,34.32332], "fy":[-24.2677,-18.76395,-19.35514,-24.66538]}, + {"t":1.87122, "x":4.36615, "y":5.98476, "heading":-3.0674, "vx":-1.26422, "vy":-0.7847, "omega":0.72703, "ax":2.23742, "ay":-1.11161, "alpha":0.81238, "fx":[40.18659,40.13645,35.92085,35.9874], "fy":[-20.84638,-16.43431,-16.88688,-21.46529]}, + {"t":1.89988, "x":4.33084, "y":5.96182, "heading":-3.04656, "vx":-1.2001, "vy":-0.81656, "omega":0.75031, "ax":2.32323, "ay":-0.91864, "alpha":0.66049, "fx":[41.18699,41.05728,37.55416,38.2716], "fy":[-17.35943,-13.44568,-13.97428,-17.72411]}, + {"t":1.92854, "x":4.2974, "y":5.93804, "heading":-3.02506, "vx":-1.13352, "vy":-0.84288, "omega":0.76924, "ax":2.3981, "ay":-0.70004, "alpha":0.53587, "fx":[42.24531,42.04641,39.3333,39.53901], "fy":[-13.16952,-10.19809,-10.60945,-13.65269]}, + {"t":1.9572, "x":4.2659, "y":5.9136, "heading":-3.00301, "vx":-1.06479, "vy":-0.86295, "omega":0.7846, "ax":2.45589, "ay":-0.45742, "alpha":0.38044, "fx":[42.75227,42.52919,40.48726,41.32717], "fy":[-8.75273,-6.46067,-6.8322,-9.0767]}, + {"t":1.98586, "x":4.23639, "y":5.88868, "heading":-2.98053, "vx":-0.99441, "vy":-0.87606, "omega":0.7955, "ax":2.49044, "ay":-0.19518, "alpha":0.27045, "fx":[43.11782,42.92326,41.60417,41.80152], "fy":[-3.95639,-2.38788,-2.70755,-4.22797]}, + {"t":2.01452, "x":4.20892, "y":5.86349, "heading":-2.95773, "vx":-0.92303, "vy":-0.88165, "omega":0.80325, "ax":2.49679, "ay":0.07941, "alpha":0.10584, "fx":[42.70549,42.58103,41.92431,42.66789], "fy":[1.12829,1.76509,1.62876,0.8809]}, + {"t":2.04318, "x":4.18349, "y":5.83825, "heading":-2.93471, "vx":-0.85148, "vy":-0.87937, "omega":0.80629, "ax":2.47242, "ay":0.35689, "alpha":0.00423, "fx":[42.03724,42.03891,42.07584,42.06896], "fy":[6.03604,6.19079,6.01416,6.04161]}, + {"t":2.07184, "x":4.1601, "y":5.8132, "heading":-2.9116, "vx":-0.78062, "vy":-0.86915, "omega":0.80641, "ax":2.41808, "ay":0.6271, "alpha":-0.17465, "fx":[40.51714,40.72684,41.44808,41.83137], "fy":[11.19568,10.12127,10.28756,11.06261]}, + {"t":2.1005, "x":4.13872, "y":5.78855, "heading":-2.88849, "vx":-0.71132, "vy":-0.85117, "omega":0.8014, "ax":2.33763, "ay":0.88094, "alpha":-0.27667, "fx":[38.83739,39.26321,40.6954,40.25398], "fy":[15.55241,14.20261,14.28985,15.89308]}, + {"t":2.12916, "x":4.1193, "y":5.76452, "heading":-2.86552, "vx":-0.64432, "vy":-0.82593, "omega":0.79347, "ax":2.23714, "ay":1.11179, "alpha":-0.46953, "fx":[36.43948,37.22416,39.3905,39.15852], "fy":[20.12214,17.35469,17.91263,20.25561]}, + {"t":2.15781, "x":4.10175, "y":5.7413, "heading":-2.84278, "vx":-0.58021, "vy":-0.79406, "omega":0.78002, "ax":2.12348, "ay":1.3161, "alpha":-0.58027, "fx":[34.11552,35.20374,38.13541,37.02417], "fy":[23.53461,20.60881,21.09745,24.30481]}, + {"t":2.18647, "x":4.08599, "y":5.71908, "heading":-2.82043, "vx":-0.51935, "vy":-0.75634, "omega":0.76339, "ax":2.00309, "ay":1.49308, "alpha":-0.7882, "fx":[31.29167,32.87456,36.60929,35.5127], "fy":[27.22116,22.7438,23.82982,27.79237]}, + {"t":2.21513, "x":4.07193, "y":5.69802, "heading":-2.79855, "vx":-0.46195, "vy":-0.71355, "omega":0.7408, "ax":1.88131, "ay":1.64401, "alpha":-0.91461, "fx":[28.72793,30.70936,35.28637,33.27819], "fy":[29.65362,25.06784,26.1396,30.99548]}, + {"t":2.24379, "x":4.05946, "y":5.67825, "heading":-2.77732, "vx":-0.40803, "vy":-0.66644, "omega":0.71459, "ax":1.762, "ay":1.77139, "alpha":-1.1389, "fx":[25.84548,28.43696,33.89688,31.70536], "fy":[32.48537,26.2624,28.06096,33.71492]}, + {"t":2.27245, "x":4.04849, "y":5.65987, "heading":-2.75684, "vx":-0.35753, "vy":-0.61567, "omega":0.68195, "ax":1.64776, "ay":1.87824, "alpha":-1.2886, "fx":[23.28694,26.3907,32.78196,29.65188], "fy":[34.14267,27.76202,29.65424,36.23455]}, + {"t":2.30111, "x":4.03892, "y":5.643, "heading":-2.7373, "vx":-0.31031, "vy":-0.56184, "omega":0.64502, "ax":1.54006, "ay":1.96761, "alpha":-1.53122, "fx":[20.52989,24.34589,31.71443,28.19359], "fy":[36.30714,28.22047,30.95037,38.39621]}, + {"t":2.32977, "x":4.03066, "y":5.62771, "heading":-2.71881, "vx":-0.26617, "vy":-0.50545, "omega":0.60113, "ax":1.43961, "ay":2.04234, "alpha":-1.68806, "fx":[18.05086,22.50582,30.90675,26.48605], "fy":[37.5006,29.16301,32.1227,40.17239]}, + {"t":2.35843, "x":4.02363, "y":5.61406, "heading":-2.70158, "vx":-0.22491, "vy":-0.44692, "omega":0.55276, "ax":1.34658, "ay":2.10492, "alpha":-1.95274, "fx":[15.45742,20.72188,30.2127,25.2278], "fy":[39.16018,29.08458,32.97596,41.99589]}, + {"t":2.38709, "x":4.01773, "y":5.60212, "heading":-2.68574, "vx":-0.18632, "vy":-0.3866, "omega":0.49679, "ax":1.26079, "ay":2.15747, "alpha":-2.16544, "fx":[13.09199,19.13405,29.7863,23.77061], "fy":[39.92648,29.41385,33.69688,43.75491]}, + {"t":2.41575, "x":4.01291, "y":5.59192, "heading":-2.6715, "vx":-0.15019, "vy":-0.32476, "omega":0.43473, "ax":1.18188, "ay":2.20176, "alpha":-2.45595, "fx":[10.64211,17.58758,29.4699,22.71403], "fy":[41.25365,28.9354,34.2412,45.37509]}, + {"t":2.44441, "x":4.00909, "y":5.58352, "heading":-2.65904, "vx":-0.11632, "vy":-0.26166, "omega":0.36435, "ax":1.10936, "ay":2.23924, "alpha":-2.70851, "fx":[8.33562,16.19588,29.40232,21.54572], "fy":[41.81103,28.85429,34.7049,46.98484]}, + {"t":2.47307, "x":4.00621, "y":5.57694, "heading":-2.6486, "vx":-0.08452, "vy":-0.19749, "omega":0.28672, "ax":1.04272, "ay":2.27109, "alpha":-3.01022, "fx":[6.03397,14.83512,29.41509,20.6616], "fy":[42.42859,28.20217,35.24947,48.64183]}, + {"t":2.50172, "x":4.00422, "y":5.57221, "heading":-2.64038, "vx":-0.05464, "vy":-0.1324, "omega":0.20045, "ax":0.98146, "ay":2.29828, "alpha":-3.31878, "fx":[3.70169,13.56959,29.71537,19.79067], "fy":[43.16274,27.72231,35.37056,50.11644]}, + {"t":2.53038, "x":4.00306, "y":5.56936, "heading":-2.63464, "vx":-0.02651, "vy":-0.06653, "omega":0.10534, "ax":0.92507, "ay":2.32159, "alpha":-3.67557, "fx":[1.40623,12.32169,30.08888,19.12367], "fy":[43.95319,26.67356,35.61907,51.7127]}, + {"t":2.55904, "x":4.00268, "y":5.56841, "heading":-2.63162, "vx":0.0, "vy":0.0, "omega":0.0, "ax":1.52933, "ay":-1.97531, "alpha":1.57288, "fx":[31.83491,28.05185,20.12224,24.04502], "fy":[-34.8629,-27.95449,-32.35916,-39.22126]}, + {"t":2.60501, "x":4.00429, "y":5.56632, "heading":-2.63162, "vx":0.0703, "vy":-0.0908, "omega":0.0723, "ax":5.52004, "ay":-7.12977, "alpha":-0.00009, "fx":[93.89396,93.89385,93.8946,93.89471], "fy":[-121.27561,-121.27569,-121.27511,-121.27503]}, + {"t":2.65097, "x":4.01336, "y":5.55462, "heading":-2.6283, "vx":0.32402, "vy":-0.41852, "omega":0.07229, "ax":5.51703, "ay":-7.12588, "alpha":-0.00429, "fx":[93.82769,93.82246,93.85845,93.86369], "fy":[-121.22096,-121.22509,-121.19724,-121.1931]}, + {"t":2.69694, "x":4.03408, "y":5.52785, "heading":-2.62497, "vx":0.57762, "vy":-0.74606, "omega":0.0721, "ax":5.50807, "ay":-7.11428, "alpha":-0.01776, "fx":[93.62666,93.60578,93.75456,93.77562], "fy":[-121.06095,-121.0778,-120.96274,-120.9457]}, + {"t":2.7429, "x":4.06645, "y":5.48604, "heading":-2.62166, "vx":0.83079, "vy":-1.07307, "omega":0.07128, "ax":3.9916, "ay":-5.1558, "alpha":-1.46213, "fx":[62.50107,64.73494,73.16369,71.18404], "fy":[-88.04344,-93.03582,-87.43658,-82.27876]}, + {"t":2.78887, "x":4.10885, "y":5.43127, "heading":-2.61838, "vx":1.01427, "vy":-1.31005, "omega":0.00407, "ax":-5.50765, "ay":7.11383, "alpha":-0.03617, "fx":[-93.81475,-93.85584,-93.55201,-93.51171], "fy":[120.90358,120.87022,121.10533,121.13792]}, + {"t":2.83483, "x":4.14965, "y":5.37857, "heading":-2.6182, "vx":0.76111, "vy":-0.98306, "omega":0.00241, "ax":-5.51691, "ay":7.12577, "alpha":-0.02124, "fx":[-93.91823,-93.94243,-93.76393,-93.73996], "fy":[121.14789,121.12867,121.26684,121.28582]}, + {"t":2.8808, "x":4.17881, "y":5.34091, "heading":-2.61809, "vx":0.50752, "vy":-0.65553, "omega":0.00143, "ax":-5.51998, "ay":7.12973, "alpha":-0.01671, "fx":[-93.95401,-93.97308,-93.8326,-93.81368], "fy":[121.22778,121.21276,121.32151,121.33638]}, + {"t":2.92676, "x":4.19631, "y":5.31831, "heading":-2.61802, "vx":0.2538, "vy":-0.32781, "omega":0.00067, "ax":-5.52151, "ay":7.1317, "alpha":-0.01451, "fx":[-93.97207,-93.98865,-93.86665,-93.85019], "fy":[121.26749,121.25449,121.34894,121.36182]}, + {"t":2.97273, "x":4.20214, "y":5.31078, "heading":-2.61799, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-2.05036, "ay":0.92388, "alpha":-2.69953, "fx":[-43.88746,-38.34753,-25.26513,-32.00428], "fy":[18.05669,5.27364,13.38991,26.13919]}, + {"t":3.01417, "x":4.20038, "y":5.31157, "heading":-2.61799, "vx":-0.08497, "vy":0.03829, "omega":-0.11188, "ax":-2.05085, "ay":0.92409, "alpha":-2.35468, "fx":[-42.96845,-37.60674,-26.58418,-32.3781], "fy":[17.73477,6.64467,13.69988,24.79497]}, + {"t":3.05561, "x":4.1951, "y":5.31395, "heading":-2.62263, "vx":-0.16997, "vy":0.07659, "omega":-0.20946, "ax":-2.05083, "ay":0.92409, "alpha":-2.04343, "fx":[-41.7349,-37.4738,-27.67347,-32.65406], "fy":[17.52443,7.81022,13.92426,23.61481]}, + {"t":3.09706, "x":4.18629, "y":5.31792, "heading":-2.63131, "vx":-0.25496, "vy":0.11488, "omega":-0.29415, "ax":-2.05081, "ay":0.92408, "alpha":-1.77121, "fx":[-40.96385,-36.9935,-28.6825,-32.89507], "fy":[17.32151,8.92531,14.10155,22.52472]}, + {"t":3.1385, "x":4.17396, "y":5.32348, "heading":-2.6435, "vx":-0.33995, "vy":0.15318, "omega":-0.36755, "ax":-2.05079, "ay":0.92407, "alpha":-1.52207, "fx":[-39.91042,-36.97253,-29.55688,-33.09365], "fy":[17.19159,9.84599,14.2558,21.57905]}, + {"t":3.17994, "x":4.15811, "y":5.33062, "heading":-2.65873, "vx":-0.42494, "vy":0.19147, "omega":-0.43063, "ax":-2.05077, "ay":0.92406, "alpha":-1.30297, "fx":[-39.33255,-36.54673,-30.36965,-33.28302], "fy":[17.02824,10.77136,14.3817,20.6904]}, + {"t":3.22139, "x":4.13874, "y":5.33935, "heading":-2.67658, "vx":-0.50993, "vy":0.22977, "omega":-0.48463, "ax":-2.05074, "ay":0.92404, "alpha":-1.11722, "fx":[-38.59367,-36.53779,-31.00892,-33.38991], "fy":[16.91498,11.49261,14.5203,19.94303]}, + {"t":3.26283, "x":4.11585, "y":5.34966, "heading":-2.69666, "vx":-0.59492, "vy":0.26806, "omega":-0.53093, "ax":-2.05072, "ay":0.92403, "alpha":-0.92575, "fx":[-38.01353,-36.17806,-31.72063,-33.61627], "fy":[16.77523,12.26068,14.62294,19.21123]}, + {"t":3.30427, "x":4.08943, "y":5.36156, "heading":-2.71866, "vx":-0.67991, "vy":0.30636, "omega":-0.56929, "ax":-2.05069, "ay":0.92402, "alpha":-0.78005, "fx":[-37.4008,-36.20511,-32.21405,-33.70658], "fy":[16.67427,12.81114,14.76342,18.62032]}, + {"t":3.34571, "x":4.05949, "y":5.37505, "heading":-2.74226, "vx":-0.76489, "vy":0.34465, "omega":-0.60162, "ax":-2.05066, "ay":0.924, "alpha":-0.62104, "fx":[-36.95519,-35.84376,-32.7959,-33.92954], "fy":[16.52541,13.45741,14.86176,18.02355]}, + {"t":3.38716, "x":4.02603, "y":5.39013, "heading":-2.76719, "vx":-0.84988, "vy":0.38295, "omega":-0.62736, "ax":-2.05062, "ay":0.92399, "alpha":-0.50804, "fx":[-36.44604,-35.89742,-33.16781,-34.01077], "fy":[16.42766,13.86406,15.01297,17.56234]}, + {"t":3.4286, "x":3.98905, "y":5.4068, "heading":-2.79319, "vx":-0.93486, "vy":0.42124, "omega":-0.64842, "ax":-2.05058, "ay":0.92397, "alpha":-0.37427, "fx":[-36.1144,-35.52417,-33.64441,-34.23647], "fy":[16.2647,14.41449,15.1102,17.07643]}, + {"t":3.47004, "x":3.94855, "y":5.42505, "heading":-2.82006, "vx":-1.01984, "vy":0.45953, "omega":-0.66393, "ax":-2.05054, "ay":0.92395, "alpha":-0.28865, "fx":[-35.68943,-35.60592,-33.91288,-34.30835], "fy":[16.16901,14.69694,15.27401,16.7245]}, + {"t":3.51149, "x":3.90452, "y":5.44488, "heading":-2.84758, "vx":-1.10482, "vy":0.49782, "omega":-0.67589, "ax":-2.0505, "ay":0.92393, "alpha":-0.17479, "fx":[-35.45629,-35.21432,-34.30445,-34.53832], "fy":[15.99405,15.1704,15.36692,16.33157]}, + {"t":3.55293, "x":3.85697, "y":5.46631, "heading":-2.87559, "vx":-1.1898, "vy":0.53611, "omega":-0.68313, "ax":-2.05044, "ay":0.9239, "alpha":-0.11274, "fx":[-35.0987,-35.33303,-34.48214,-34.59591], "fy":[15.90249,15.34439,15.54209,16.0723]}, + {"t":3.59437, "x":3.8059, "y":5.48932, "heading":-2.9039, "vx":-1.27478, "vy":0.5744, "omega":-0.6878, "ax":-2.05038, "ay":0.92387, "alpha":-0.01415, "fx":[-34.95326,-34.91648,-34.80611,-34.82989], "fy":[15.71805,15.76072,15.62488,15.75568]}, + {"t":3.63581, "x":3.75131, "y":5.51392, "heading":-2.9324, "vx":-1.35975, "vy":0.61269, "omega":-0.68839, "ax":-2.05032, "ay":0.92384, "alpha":0.02683, "fx":[-34.65185,-35.07511,-34.90527,-34.86889], "fy":[15.63723,15.83443,15.80719,15.57834]}, + {"t":3.67726, "x":3.6932, "y":5.5401, "heading":-2.96093, "vx":-1.44472, "vy":0.65098, "omega":-0.68728, "ax":-2.05024, "ay":0.92381, "alpha":0.11284, "fx":[-34.58282,-34.63867,-35.1727,-35.10165], "fy":[15.4493,16.20653,15.87272,15.32613]}, + {"t":3.7187, "x":3.63157, "y":5.56788, "heading":-2.98941, "vx":-1.52969, "vy":0.68926, "omega":-0.6826, "ax":-2.05015, "ay":0.92376, "alpha":0.13368, "fx":[-34.3243,-34.85572,-35.19796,-35.11171], "fy":[15.38641,16.18648,16.05688,15.22202]}, + {"t":3.76014, "x":3.56641, "y":5.59723, "heading":-3.0177, "vx":-1.61466, "vy":0.72754, "omega":-0.67706, "ax":-2.05004, "ay":0.92371, "alpha":0.20898, "fx":[-34.32736,-34.392,-35.42194,-35.34122], "fy":[15.2042,16.51877,16.09839,15.02697]}, + {"t":3.80159, "x":3.49773, "y":5.62818, "heading":-3.04576, "vx":-1.69961, "vy":0.76583, "omega":-0.6684, "ax":-2.04992, "ay":0.92365, "alpha":0.20932, "fx":[-34.09798,-34.69623,-35.37228,-35.30743], "fy":[15.16584,16.41453,16.27574,14.98823]}, + {"t":3.84303, "x":3.42554, "y":5.66071, "heading":-3.07346, "vx":-1.78457, "vy":0.80411, "omega":-0.65973, "ax":-2.04976, "ay":0.92358, "alpha":0.2763, "fx":[-34.1743,-34.18941,-35.56657,-35.53328], "fy":[14.99529,16.72377,16.27944,14.84088]}, + {"t":3.88447, "x":3.34982, "y":5.69483, "heading":-3.1008, "vx":-1.86952, "vy":0.84238, "omega":-0.64828, "ax":-2.04957, "ay":0.92349, "alpha":0.2542, "fx":[-33.96735,-34.59898,-35.44203,-35.44235], "fy":[14.99447,16.52853,16.44359,14.8668]}, + {"t":3.92591, "x":3.27058, "y":5.73053, "heading":-3.12767, "vx":-1.95446, "vy":0.88065, "omega":-0.63774, "ax":-2.04934, "ay":0.92338, "alpha":0.31442, "fx":[-34.11533,-34.0487,-35.61336,-35.65712], "fy":[14.83827,16.8461,16.38677,14.75449]}, + {"t":3.96736, "x":3.18782, "y":5.76782, "heading":3.12908, "vx":-2.03939, "vy":0.91892, "omega":-0.62471, "ax":-2.04902, "ay":0.92323, "alpha":0.26319, "fx":[-33.91601,-34.61652,-35.3999,-35.48079], "fy":[14.8975,16.52941,16.53465,14.85413]}, + {"t":4.0088, "x":3.10154, "y":5.8067, "heading":3.10319, "vx":-2.12431, "vy":0.95718, "omega":-0.6138, "ax":-2.0486, "ay":0.92303, "alpha":0.31563, "fx":[-34.14508,-33.99787,-35.56023,-35.6812], "fy":[14.77616,16.84532,16.40112,14.77918]}, + {"t":4.05024, "x":3.01175, "y":5.84716, "heading":3.07776, "vx":-2.20921, "vy":0.99543, "omega":-0.60072, "ax":-2.04798, "ay":0.92274, "alpha":0.2301, "fx":[-33.94767,-34.76127,-35.24427,-35.38928], "fy":[14.90867,16.41209,16.50923,14.95222]}, + {"t":4.09169, "x":2.91843, "y":5.8892, "heading":3.05286, "vx":-2.29408, "vy":1.03368, "omega":-0.59119, "ax":-2.04703, "ay":0.92227, "alpha":0.27285, "fx":[-34.26185,-34.06823,-35.39194,-35.55525], "fy":[14.83053,16.74469,16.26492,14.90995]}, + {"t":4.13313, "x":2.8216, "y":5.93283, "heading":3.02836, "vx":-2.37891, "vy":1.0719, "omega":-0.57988, "ax":-2.04528, "ay":0.92146, "alpha":0.14896, "fx":[-34.08357,-34.97227,-34.97498,-35.12804], "fy":[15.06993,16.16271,16.29963,15.16257]}, + {"t":4.17457, "x":2.72126, "y":5.97805, "heading":3.00433, "vx":-2.46368, "vy":1.11009, "omega":-0.57371, "ax":-2.04126, "ay":0.9195, "alpha":0.15941, "fx":[-34.41961,-34.28153,-35.02962,-35.15416], "fy":[15.10392,16.32862,15.94145,15.18741]}, + {"t":4.21601, "x":2.6174, "y":6.02484, "heading":2.98055, "vx":-2.54827, "vy":1.14819, "omega":-0.5671, "ax":-2.02096, "ay":0.91033, "alpha":-0.04799, "fx":[-33.7628,-35.67492,-34.00598,-34.06031], "fy":[15.30949,15.59382,15.67907,15.35545]}, + {"t":4.25746, "x":2.51006, "y":6.07321, "heading":2.95705, "vx":-2.63203, "vy":1.18592, "omega":-0.56909, "ax":2.02144, "ay":-0.90817, "alpha":-0.08154, "fx":[34.28492,34.21669,34.49027,34.54478], "fy":[-15.08434,-16.18785,-15.39032,-15.12812]}, + {"t":4.2989, "x":2.40272, "y":6.12158, "heading":2.93347, "vx":-2.54825, "vy":1.14828, "omega":-0.57247, "ax":2.041, "ay":-0.91994, "alpha":-0.07313, "fx":[34.17853,35.13119,34.69581,34.86202], "fy":[-15.21563,-15.92599,-16.09885,-15.3513]}, + {"t":4.34034, "x":2.29886, "y":6.16837, "heading":2.90974, "vx":-2.46367, "vy":1.11016, "omega":-0.5755, "ax":2.04515, "ay":-0.92171, "alpha":-0.21956, "fx":[34.42525,34.1226,35.16188,35.43986], "fy":[-14.89774,-16.51511,-16.18129,-15.11829]}, + {"t":4.38179, "x":2.19852, "y":6.21359, "heading":2.88589, "vx":-2.37891, "vy":1.07196, "omega":-0.5846, "ax":2.04694, "ay":-0.92244, "alpha":-0.18844, "fx":[34.1304,34.78627,34.99175,35.36293], "fy":[-14.87621,-16.17302,-16.53074,-15.18178]}, + {"t":4.42323, "x":2.10169, "y":6.25722, "heading":2.86166, "vx":-2.29408, "vy":1.03373, "omega":-0.59241, "ax":2.04792, "ay":-0.92286, "alpha":-0.29657, "fx":[34.38228,33.89297,35.30281,35.76037], "fy":[-14.63314,-16.65107,-16.49542,-15.01067]}, + {"t":4.46467, "x":2.00837, "y":6.29927, "heading":2.83711, "vx":-2.20921, "vy":0.99548, "omega":-0.6047, "ax":2.04855, "ay":-0.92313, "alpha":-0.24677, "fx":[34.16525,34.49744,35.09756,35.62081], "fy":[-14.69508,-16.2432,-16.73411,-15.13615]}, + {"t":4.50611, "x":1.91857, "y":6.33973, "heading":2.81205, "vx":-2.12431, "vy":0.95723, "omega":-0.61493, "ax":2.04898, "ay":-0.92331, "alpha":-0.31617, "fx":[34.41387,33.81194,35.30578,35.87893], "fy":[-14.55489,-16.57511,-16.647,-15.04427]}, + {"t":4.54756, "x":1.8323, "y":6.37861, "heading":2.78657, "vx":-2.03939, "vy":0.91896, "omega":-0.62803, "ax":2.0493, "ay":-0.92345, "alpha":-0.25884, "fx":[34.26854,34.3511,35.10333,35.70921], "fy":[-14.66144,-16.20878,-16.77497,-15.18526]}, + {"t":4.589, "x":1.74954, "y":6.4159, "heading":2.76054, "vx":-1.95447, "vy":0.88069, "omega":-0.63875, "ax":2.04955, "ay":-0.92355, "alpha":-0.29718, "fx":[34.49968,33.85939,35.23787,35.85177], "fy":[-14.60138,-16.45515,-16.63946,-15.14155]}, + {"t":4.63044, "x":1.6703, "y":6.45161, "heading":2.73407, "vx":-1.86953, "vy":0.84242, "omega":-0.65107, "ax":2.04974, "ay":-0.92364, "alpha":-0.23226, "fx":[34.40423,34.35844,35.04617,35.65293], "fy":[-14.7587,-16.1078,-16.68139,-15.29525]}, + {"t":4.67189, "x":1.59458, "y":6.48573, "heading":2.70709, "vx":-1.78458, "vy":0.80414, "omega":-0.6607, "ax":2.04989, "ay":-0.9237, "alpha":-0.24484, "fx":[34.61382,34.02497,35.13327,35.70028], "fy":[-14.77512,-16.27923,-16.50575,-15.28756]}, + {"t":4.71333, "x":1.52238, "y":6.51826, "heading":2.6797, "vx":-1.69963, "vy":0.76586, "omega":-0.67084, "ax":2.05002, "ay":-0.92376, "alpha":-0.17168, "fx":[34.54712,34.51504,34.95387,35.46504], "fy":[-14.9788,-15.96955,-16.46409,-15.43897]}, + {"t":4.75477, "x":1.45371, "y":6.54921, "heading":2.6519, "vx":-1.61467, "vy":0.72757, "omega":-0.67796, "ax":2.05013, "ay":-0.9238, "alpha":-0.16332, "fx":[34.73596,34.30199,35.0174,35.43305], "fy":[-15.06416,-16.10102,-16.24105,-15.44833]}, + {"t":4.79621, "x":1.38855, "y":6.57857, "heading":2.62381, "vx":-1.5297, "vy":0.68929, "omega":-0.68473, "ax":2.05022, "ay":-0.92384, "alpha":-0.08085, "fx":[34.68586,34.79366,34.85769,35.15742], "fy":[-15.32203,-15.81882,-16.1225,-15.5939]}, + {"t":4.83766, "x":1.32692, "y":6.60634, "heading":2.59543, "vx":-1.44474, "vy":0.651, "omega":-0.68808, "ax":2.0503, "ay":-0.92388, "alpha":-0.05203, "fx":[34.84671,34.6946,34.91054,35.04817], "fy":[-15.4804,-15.91786,-15.84983,-15.61147]}, + {"t":4.8791, "x":1.2688, "y":6.63252, "heading":2.56691, "vx":-1.35977, "vy":0.61271, "omega":-0.69023, "ax":2.05037, "ay":-0.92391, "alpha":0.04219, "fx":[34.79785,35.21103,34.77412,34.72171], "fy":[-15.79622,-15.67539,-15.64936,-15.7406]}, + {"t":4.92054, "x":1.21421, "y":6.65712, "heading":2.53831, "vx":-1.27479, "vy":0.57442, "omega":-0.68849, "ax":2.05043, "ay":-0.92393, "alpha":0.09069, "fx":[34.92824,35.21001,34.83278,34.53779], "fy":[-16.02896,-15.76636,-15.31586,-15.75217]}, + {"t":4.96199, "x":1.16314, "y":6.68014, "heading":2.50978, "vx":-1.18982, "vy":0.53613, "omega":-0.68473, "ax":2.05048, "ay":-0.92396, "alpha":0.19959, "fx":[34.86905,35.76486,34.72744,34.15111], "fy":[-16.41495,-15.56022,-15.03009,-15.85966]}, + {"t":5.00343, "x":1.11559, "y":6.70156, "heading":2.4814, "vx":-1.10484, "vy":0.49784, "omega":-0.67646, "ax":2.05053, "ay":-0.92398, "alpha":0.26958, "fx":[34.96177,35.86287,34.80397,33.8871], "fy":[-16.73061,-15.65502,-14.6256,-15.8551]}, + {"t":5.04487, "x":1.07156, "y":6.7214, "heading":2.45336, "vx":-1.01986, "vy":0.45955, "omega":-0.66528, "ax":2.05057, "ay":-0.924, "alpha":0.39699, "fx":[34.88006,36.47319,34.73785,33.42753], "fy":[-17.19846,-15.49319,-14.24401,-15.9319]}, + {"t":5.08631, "x":1.03106, "y":6.73965, "heading":2.42579, "vx":-0.93488, "vy":0.42126, "omega":-0.64883, "ax":2.05061, "ay":-0.92401, "alpha":0.49134, "fx":[34.92845,36.67251,34.84536,33.07495], "fy":[-17.60986,-15.60217,-13.75503,-15.90164]}, + {"t":5.12776, "x":0.99408, "y":6.75632, "heading":2.3989, "vx":-0.8499, "vy":0.38296, "omega":-0.62847, "ax":2.05065, "ay":-0.92403, "alpha":0.64247, "fx":[34.81155,37.3601,34.82654,32.52547], "fy":[-18.1747,-15.49394,-13.26299,-15.93811]}, + {"t":5.1692, "x":0.96062, "y":6.77139, "heading":2.37286, "vx":-0.76491, "vy":0.34467, "omega":-0.60184, "ax":2.05068, "ay":-0.92404, "alpha":0.76526, "fx":[34.80977,37.66533,34.97903,32.0717], "fy":[-18.69606,-15.63503,-12.66887,-15.87071]}, + {"t":5.21064, "x":0.93068, "y":6.78488, "heading":2.34792, "vx":-0.67992, "vy":0.30637, "omega":-0.57013, "ax":2.05071, "ay":-0.92405, "alpha":0.94644, "fx":[34.64746,38.45104,35.01739,31.41193], "fy":[-19.38112,-15.58119,-12.04901,-15.86021]}, + {"t":5.25209, "x":0.90426, "y":6.79679, "heading":2.32429, "vx":-0.59494, "vy":0.26808, "omega":-0.5309, "ax":2.05073, "ay":-0.92406, "alpha":1.10404, "fx":[34.5892,38.87844,35.22601,30.836], "fy":[-20.03584,-15.76392,-11.326,-15.74655]}, + {"t":5.29353, "x":0.88136, "y":6.8071, "heading":2.30229, "vx":-0.50995, "vy":0.22978, "omega":-0.48515, "ax":2.05076, "ay":-0.92408, "alpha":1.32326, "fx":[34.37437,39.78748,35.33082,30.03866], "fy":[-20.86865,-15.76869,-10.55085,-15.68485]}, + {"t":5.33497, "x":0.86199, "y":6.81583, "heading":2.28218, "vx":-0.42496, "vy":0.19149, "omega":-0.43031, "ax":2.05078, "ay":-0.92409, "alpha":1.52438, "fx":[34.25716,40.36241,35.60359,29.30974], "fy":[-21.68847,-15.99909,-9.66551,-15.52062]}, + {"t":5.37641, "x":0.84614, "y":6.82298, "heading":2.26435, "vx":-0.33997, "vy":0.15319, "omega":-0.36714, "ax":2.0508, "ay":-0.92409, "alpha":1.76425, "fx":[34.11783,41.08062,35.93288,28.403], "fy":[-22.68153,-16.1044,-8.68788,-15.40052]}, + {"t":5.41786, "x":0.83381, "y":6.82853, "heading":2.24913, "vx":-0.25498, "vy":0.11489, "omega":-0.29402, "ax":2.05082, "ay":-0.9241, "alpha":2.04674, "fx":[33.82003,42.1843,36.11664,27.41471], "fy":[-23.73111,-16.33153,-7.61054,-15.20173]}, + {"t":5.4593, "x":0.82501, "y":6.8325, "heading":2.23695, "vx":-0.16999, "vy":0.0766, "omega":-0.2092, "ax":2.05084, "ay":-0.92411, "alpha":2.34985, "fx":[33.63377,43.12441,36.51461,26.26414], "fy":[-24.95429,-16.47821,-6.39365,-15.0493]}, + {"t":5.50074, "x":0.81972, "y":6.83488, "heading":2.22828, "vx":-0.08499, "vy":0.0383, "omega":-0.11181, "ax":2.05086, "ay":-0.92412, "alpha":2.698, "fx":[33.31412,44.4396,36.74721,25.03718], "fy":[-26.2697,-16.72361,-5.05087,-14.83178]}, + {"t":5.54219, "x":0.81796, "y":6.83567, "heading":2.22364, "vx":0.0, "vy":0.0, "omega":0.0, "ax":2.11214, "ay":-0.77224, "alpha":2.77882, "fx":[34.43712,45.54463,37.96064,25.76538], "fy":[-24.11015,-14.2516,-2.07623,-12.1045]}, + {"t":5.58338, "x":0.81975, "y":6.83502, "heading":2.22364, "vx":0.087, "vy":-0.03181, "omega":0.11446, "ax":2.11265, "ay":-0.77243, "alpha":2.43073, "fx":[34.53151,44.50201,37.57447,27.134], "fy":[-22.704,-14.13853,-3.49735,-12.2151]}, + {"t":5.62457, "x":0.82513, "y":6.83305, "heading":2.22836, "vx":0.17402, "vy":-0.06363, "omega":0.21458, "ax":2.11263, "ay":-0.77242, "alpha":2.11077, "fx":[34.80062,43.27668,37.41317,28.2502], "fy":[-21.48901,-13.93665,-4.73412,-12.3947]}, + {"t":5.66576, "x":0.83409, "y":6.82978, "heading":2.2372, "vx":0.26104, "vy":-0.09544, "omega":0.30153, "ax":2.11261, "ay":-0.77241, "alpha":1.83363, "fx":[34.94328,42.43343,37.06096,29.30156], "fy":[-20.35701,-13.81217,-5.85361,-12.53116]}, + {"t":5.70695, "x":0.84664, "y":6.82519, "heading":2.24962, "vx":0.34806, "vy":-0.12726, "omega":0.37705, "ax":2.11258, "ay":-0.7724, "alpha":1.57254, "fx":[35.21173,41.40016,36.9212,30.20459], "fy":[-19.38689,-13.60815,-6.84614,-12.7122]}, + {"t":5.74814, "x":0.86276, "y":6.81929, "heading":2.26515, "vx":0.43508, "vy":-0.15907, "omega":0.44183, "ax":2.11256, "ay":-0.77239, "alpha":1.35318, "fx":[35.32536,40.76348,36.61694,31.03022], "fy":[-18.46703,-13.50802,-7.7467,-12.831]}, + {"t":5.78933, "x":0.88248, "y":6.81209, "heading":2.28335, "vx":0.52209, "vy":-0.19089, "omega":0.49757, "ax":2.11253, "ay":-0.77238, "alpha":1.17013, "fx":[35.42164,40.26213,36.36671,31.68371], "fy":[-17.70854,-13.29265,-8.56264,-12.98827]}, + {"t":5.83052, "x":0.90577, "y":6.80357, "heading":2.30384, "vx":0.60911, "vy":-0.2227, "omega":0.54576, "ax":2.1125, "ay":-0.77237, "alpha":0.96563, "fx":[35.62626,39.40314,36.27892,32.42389], "fy":[-16.93589,-13.2814,-9.27814,-13.05592]}, + {"t":5.87171, "x":0.93266, "y":6.79374, "heading":2.32632, "vx":0.69612, "vy":-0.25452, "omega":0.58554, "ax":2.11247, "ay":-0.77236, "alpha":0.82237, "fx":[35.67209,39.03817,36.08082,32.93897], "fy":[-16.32994,-13.10424,-9.94632,-13.17005]}, + {"t":5.9129, "x":0.96312, "y":6.7826, "heading":2.35044, "vx":0.78314, "vy":-0.28633, "omega":0.61941, "ax":2.11244, "ay":-0.77235, "alpha":0.65287, "fx":[35.8314,38.29124,36.05195,33.55309], "fy":[-15.69343,-13.14749,-10.51873,-13.19002]}, + {"t":5.95409, "x":0.99717, "y":6.77015, "heading":2.37595, "vx":0.87015, "vy":-0.31814, "omega":0.6463, "ax":2.1124, "ay":-0.77233, "alpha":0.54191, "fx":[35.82523,38.04134,35.90189,33.9566], "fy":[-15.21118,-13.00695,-11.06908,-13.26151]}, + {"t":5.99528, "x":1.0348, "y":6.75639, "heading":2.40258, "vx":0.95716, "vy":-0.34996, "omega":0.66862, "ax":2.11235, "ay":-0.77232, "alpha":0.40018, "fx":[35.94404,37.38197,35.92658,34.46959], "fy":[-14.68704,-13.09982,-11.52334,-13.23742]}, + {"t":6.03647, "x":1.07602, "y":6.74132, "heading":2.43012, "vx":1.04417, "vy":-0.38177, "omega":0.68511, "ax":2.11231, "ay":-0.7723, "alpha":0.31638, "fx":[35.88836,37.23817,35.81457,34.77784], "fy":[-14.30697,-12.99177,-11.97611,-13.27159]}, + {"t":6.07766, "x":1.12082, "y":6.72494, "heading":2.45834, "vx":1.13117, "vy":-0.41358, "omega":0.69814, "ax":2.11225, "ay":-0.77228, "alpha":0.19645, "fx":[35.97669,36.64304,35.8865,35.20909], "fy":[-13.87529,-13.13369,-12.32743,-13.20867]}, + {"t":6.11885, "x":1.16921, "y":6.70725, "heading":2.48709, "vx":1.21818, "vy":-0.44539, "omega":0.70623, "ax":2.11219, "ay":-0.77226, "alpha":0.13604, "fx":[35.87738,36.59871,35.80179,35.43335], "fy":[-13.58483,-13.04338,-12.69937,-13.216]}, + {"t":6.16004, "x":1.22118, "y":6.68825, "heading":2.51618, "vx":1.30518, "vy":-0.4772, "omega":0.71184, "ax":2.11213, "ay":-0.77223, "alpha":0.03371, "fx":[35.94591,36.05217,35.91239,35.79612], "fy":[-13.23241,-13.23036,-12.95783,-13.12124]}, + {"t":6.20123, "x":1.27673, "y":6.66794, "heading":2.5455, "vx":1.39218, "vy":-0.50901, "omega":0.71322, "ax":2.11205, "ay":-0.7722, "alpha":-0.00559, "fx":[35.80927,36.10712,35.84262,35.94223], "fy":[-13.02221,-13.14245,-13.26161,-13.1136]}, + {"t":6.24242, "x":1.33587, "y":6.64632, "heading":2.57488, "vx":1.47918, "vy":-0.54082, "omega":0.71299, "ax":2.11196, "ay":-0.77217, "alpha":-0.09354, "fx":[35.86985,35.5949,35.98365,36.24666], "fy":[-12.73883,-13.36722,-13.4345,-12.997]}, + {"t":6.28361, "x":1.39859, "y":6.62339, "heading":2.60425, "vx":1.56617, "vy":-0.57262, "omega":0.70914, "ax":2.11185, "ay":-0.77213, "alpha":-0.11167, "fx":[35.69891,35.76351,35.91235,36.313], "fy":[-12.60428,-13.26728,-13.6784,-12.98492]}, + {"t":6.3248, "x":1.46489, "y":6.59914, "heading":2.63346, "vx":1.65316, "vy":-0.60443, "omega":0.70454, "ax":2.11172, "ay":-0.77208, "alpha":-0.1883, "fx":[35.76777,35.26171,36.07949,36.57015], "fy":[-12.38332,-13.5245,-13.7686,-12.85525]}, + {"t":6.36599, "x":1.53477, "y":6.57359, "heading":2.66248, "vx":1.74014, "vy":-0.63623, "omega":0.69678, "ax":2.11157, "ay":-0.77203, "alpha":-0.18399, "fx":[35.56627,35.56192,35.98935,36.5511], "fy":[-12.32275,-13.39561,-13.95791,-12.85151]}, + {"t":6.40718, "x":1.60824, "y":6.54673, "heading":2.69118, "vx":1.82711, "vy":-0.66803, "omega":0.68921, "ax":2.11138, "ay":-0.77196, "alpha":-0.25088, "fx":[35.65967,35.05054,36.17719,36.76831], "fy":[-12.16234,-13.6746,-13.96594,-12.72007]}, + {"t":6.44837, "x":1.68529, "y":6.51856, "heading":2.71957, "vx":1.91408, "vy":-0.69983, "omega":0.67887, "ax":2.11114, "ay":-0.77187, "alpha":-0.22157, "fx":[35.43281,35.50362,36.0491,36.65378], "fy":[-12.17651,-13.5024,-14.10063,-12.73737]}, + {"t":6.48956, "x":1.76593, "y":6.48908, "heading":2.74753, "vx":2.00104, "vy":-0.73162, "omega":0.66975, "ax":2.11082, "ay":-0.77175, "alpha":-0.27945, "fx":[35.56834,34.96394,36.25085,36.83474], "fy":[-12.07243,-13.80934,-14.01605,-12.61112]}, + {"t":6.53075, "x":1.85014, "y":6.45829, "heading":2.77512, "vx":2.08799, "vy":-0.76341, "omega":0.65824, "ax":2.11039, "ay":-0.77159, "alpha":-0.21859, "fx":[35.31703,35.61474,36.05512,36.60175], "fy":[-12.17338,-13.55528,-14.0977,-12.6718]}, + {"t":6.57194, "x":1.93793, "y":6.42619, "heading":2.80223, "vx":2.17491, "vy":-0.79519, "omega":0.64923, "ax":2.10977, "ay":-0.77136, "alpha":-0.26806, "fx":[35.51963,35.01269,36.26498,36.74923], "fy":[-12.12416,-13.89457,-13.90444,-12.5591]}, + {"t":6.61313, "x":2.02931, "y":6.39278, "heading":2.82897, "vx":2.26182, "vy":-0.82696, "omega":0.63819, "ax":2.1088, "ay":-0.771, "alpha":-0.16427, "fx":[35.23791,35.93399,35.95323,36.35494], "fy":[-12.33005,-13.51295,-13.92439,-12.69068]}, + {"t":6.65432, "x":2.12426, "y":6.35806, "heading":2.85526, "vx":2.34868, "vy":-0.85872, "omega":0.63142, "ax":2.10704, "ay":-0.77036, "alpha":-0.20197, "fx":[35.53489,35.212,36.15463,36.45907], "fy":[-12.35764,-13.82127,-13.61249,-12.62301]}, + {"t":6.69551, "x":2.22279, "y":6.32204, "heading":2.88127, "vx":2.43547, "vy":-0.89045, "omega":0.6231, "ax":2.10295, "ay":-0.76886, "alpha":-0.0564, "fx":[35.24008,36.28567,35.68486,35.87157], "fy":[-12.65652,-13.31408,-13.5185,-12.82349]}, + {"t":6.7367, "x":2.3249, "y":6.28471, "heading":2.90694, "vx":2.52209, "vy":-0.92212, "omega":0.62078, "ax":2.08225, "ay":-0.76238, "alpha":-0.0659, "fx":[35.33088,35.25789,35.51071,35.57415], "fy":[-12.68376,-13.46039,-12.98838,-12.73907]}, + {"t":6.7779, "x":2.43055, "y":6.24608, "heading":2.93251, "vx":2.60786, "vy":-0.95352, "omega":0.61807, "ax":-2.08206, "ay":0.76157, "alpha":-0.05442, "fx":[-34.82589,-36.70491,-35.03395,-35.09631], "fy":[12.78526,13.04795,13.13993,12.84306]}, + {"t":6.81909, "x":2.5362, "y":6.20745, "heading":2.95796, "vx":2.5221, "vy":-0.92215, "omega":0.61583, "ax":-2.10279, "ay":0.76915, "alpha":0.14012, "fx":[-35.50462,-35.35464,-36.03397,-36.17807], "fy":[12.6115,13.57087,13.42489,12.72507]}, + {"t":6.86028, "x":2.6383, "y":6.17012, "heading":2.98333, "vx":2.43548, "vy":-0.89047, "omega":0.6216, "ax":-2.10701, "ay":0.77039, "alpha":0.12795, "fx":[-35.16873,-36.11626,-35.94617,-36.1273], "fy":[12.51836,13.52991,13.71102,12.65734]}, + {"t":6.90147, "x":2.73683, "y":6.13409, "heading":3.00893, "vx":2.34869, "vy":-0.85874, "omega":0.62687, "ax":-2.10878, "ay":0.77103, "alpha":0.24803, "fx":[-35.38367,-35.16541,-36.36659,-36.563], "fy":[12.30782,14.01709,13.6945,12.44069]}, + {"t":6.94266, "x":2.83179, "y":6.09938, "heading":3.03475, "vx":2.26183, "vy":-0.82698, "omega":0.63708, "ax":-2.10976, "ay":0.77139, "alpha":0.20199, "fx":[-35.06734,-35.90709,-36.194,-36.37689], "fy":[12.36463,13.74253,13.90346,12.4738]}, + {"t":6.98385, "x":2.92316, "y":6.06597, "heading":3.061, "vx":2.17493, "vy":-0.79521, "omega":0.6454, "ax":-2.11038, "ay":0.77161, "alpha":0.2828, "fx":[-35.29303,-35.11414,-36.51037,-36.67023], "fy":[12.26006,14.09548,13.80897,12.33528]}, + {"t":7.02504, "x":3.01096, "y":6.03387, "heading":3.08758, "vx":2.088, "vy":-0.76342, "omega":0.65705, "ax":-2.11081, "ay":0.77177, "alpha":0.2299, "fx":[-35.07607,-35.7358,-36.34129,-36.46402], "fy":[12.36809,13.8334,13.90882,12.40004]}, + {"t":7.06623, "x":3.09517, "y":6.00308, "heading":3.11465, "vx":2.00106, "vy":-0.73163, "omega":0.66652, "ax":-2.11113, "ay":0.77188, "alpha":0.27259, "fx":[-35.28734,-35.18606,-36.53999,-36.62532], "fy":[12.34137,14.06855,13.774,12.33421]}, + {"t":7.10742, "x":3.17581, "y":5.97359, "heading":-3.14109, "vx":1.9141, "vy":-0.69984, "omega":0.67775, "ax":-2.11137, "ay":0.77197, "alpha":0.21125, "fx":[-35.15187,-35.74293,-36.35819,-36.4022], "fy":[12.48704,13.80339,13.79392,12.4397]}, + {"t":7.14861, "x":3.25286, "y":5.94542, "heading":-3.11317, "vx":1.82713, "vy":-0.66804, "omega":0.68645, "ax":-2.11156, "ay":0.77204, "alpha":0.22639, "fx":[-35.37325,-35.34874,-36.46785,-36.47836], "fy":[12.51195,13.94934,13.62957,12.43787]}, + {"t":7.1898, "x":3.32633, "y":5.91856, "heading":-3.08489, "vx":1.74016, "vy":-0.63624, "omega":0.69578, "ax":-2.11172, "ay":0.7721, "alpha":0.15527, "fx":[-35.31255,-35.86324,-36.26076,-36.24219], "fy":[12.68672,13.65521,13.59691,12.5937]}, + {"t":7.23099, "x":3.39621, "y":5.89301, "heading":-3.05623, "vx":1.65317, "vy":-0.60444, "omega":0.70217, "ax":-2.11184, "ay":0.77214, "alpha":0.14632, "fx":[-35.55787,-35.57906,-36.29165,-36.25884], "fy":[12.75394,13.7016,13.4179,12.66223]}, + {"t":7.27218, "x":3.46252, "y":5.86877, "heading":-3.02731, "vx":1.56619, "vy":-0.57263, "omega":0.7082, "ax":-2.11195, "ay":0.77218, "alpha":0.06617, "fx":[-35.57513,-36.05191,-36.05082,-36.01686], "fy":[12.94125,13.38495,13.34317,12.86892]}, + {"t":7.31337, "x":3.52524, "y":5.84583, "heading":-2.99814, "vx":1.4792, "vy":-0.54083, "omega":0.71093, "ax":-2.11204, "ay":0.77221, "alpha":0.03535, "fx":[-35.85353,-35.85746,-36.00195,-35.98801], "fy":[13.03494,13.34052,13.15727,13.00781]}, + {"t":7.35456, "x":3.58437, "y":5.82421, "heading":-2.96886, "vx":1.3922, "vy":-0.50902, "omega":0.71238, "ax":-2.11212, "ay":0.77224, "alpha":-0.05749, "fx":[-35.94736,-36.31038,-35.71001,-35.73857], "fy":[13.23177,12.97756,13.05323,13.27992]}, + {"t":7.39575, "x":3.63993, "y":5.8039, "heading":-2.93951, "vx":1.3052, "vy":-0.47721, "omega":0.71001, "ax":-2.11219, "ay":0.77227, "alpha":-0.10941, "fx":[-36.2763,-36.17028,-35.58308,-35.68132], "fy":[13.34311,12.84067,12.86237,13.498]}, + {"t":7.43694, "x":3.6919, "y":5.7849, "heading":-2.91027, "vx":1.2182, "vy":-0.4454, "omega":0.70551, "ax":-2.11225, "ay":0.77229, "alpha":-0.21703, "fx":[-36.45671,-36.59971,-35.22832,-35.43036], "fy":[13.54115,12.41639,12.74238,13.84571]}, + {"t":7.47813, "x":3.74028, "y":5.76721, "heading":-2.88121, "vx":1.13119, "vy":-0.41359, "omega":0.69657, "ax":-2.1123, "ay":0.77231, "alpha":-0.29246, "fx":[-36.84732,-36.50706,-35.01281,-35.35153], "fy":[13.66502,12.17093,12.55486,14.15614]}, + {"t":7.51932, "x":3.78508, "y":5.75083, "heading":-2.85252, "vx":1.04419, "vy":-0.38178, "omega":0.68452, "ax":-2.11235, "ay":0.77233, "alpha":-0.41818, "fx":[-37.12475,-36.91701,-34.57854,-35.10166], "fy":[13.85561,11.67544,12.42455,14.59252]}, + {"t":7.56051, "x":3.8263, "y":5.73576, "heading":-2.82432, "vx":0.95718, "vy":-0.34997, "omega":0.6673, "ax":-2.11239, "ay":0.77234, "alpha":-0.51955, "fx":[-37.59348,-36.85909,-34.26295,-35.00935], "fy":[13.98394,11.31256,12.24478,15.00788]}, + {"t":7.6017, "x":3.86394, "y":5.722, "heading":-2.79684, "vx":0.87017, "vy":-0.31815, "omega":0.6459, "ax":-2.11243, "ay":0.77235, "alpha":-0.66873, "fx":[-37.9822,-37.25335,-33.72954,-34.76241], "fy":[14.16393,10.72194,12.11081,15.55343]}, + {"t":7.64289, "x":3.89799, "y":5.70955, "heading":-2.77023, "vx":0.78316, "vy":-0.28634, "omega":0.61835, "ax":-2.11247, "ay":0.77237, "alpha":-0.80086, "fx":[-38.5477,-37.22276,-33.29741,-34.66202], "fy":[14.29406,10.21944,11.94329,16.09418]}, + {"t":7.68408, "x":3.92845, "y":5.69841, "heading":-2.74476, "vx":0.69614, "vy":-0.25453, "omega":0.58536, "ax":-2.1125, "ay":0.77238, "alpha":-0.97953, "fx":[-39.06703,-37.60518,-32.64152,-34.41832], "fy":[14.45973,9.51394,11.80782,16.77027]}, + {"t":7.72527, "x":3.95534, "y":5.68858, "heading":-2.72065, "vx":0.60913, "vy":-0.22271, "omega":0.54502, "ax":-2.11253, "ay":0.77239, "alpha":-1.14868, "fx":[-39.75106,-37.60134,-32.07048,-34.31116], "fy":[14.59118,8.84922,11.6514,17.46067]}, + {"t":7.76646, "x":3.97864, "y":5.68006, "heading":-2.6982, "vx":0.52211, "vy":-0.1909, "omega":0.4977, "ax":-2.11256, "ay":0.7724, "alpha":-1.3511, "fx":[-40.25615,-38.03282,-31.32307,-34.12382], "fy":[14.76227,7.99365,11.50888,18.28833]}, + {"t":7.80765, "x":3.99835, "y":5.67285, "heading":-2.6777, "vx":0.4351, "vy":-0.15908, "omega":0.44205, "ax":-2.11258, "ay":0.77241, "alpha":-1.57969, "fx":[-41.25288,-38.01157,-30.52522,-33.94787], "fy":[14.88609,7.13907,11.36171,19.16687]}, + {"t":7.84884, "x":4.01448, "y":5.66696, "heading":-2.65949, "vx":0.34808, "vy":-0.12727, "omega":0.37698, "ax":-2.1126, "ay":0.77242, "alpha":-1.83007, "fx":[-41.94665,-38.45626,-29.59073,-33.74545], "fy":[15.05849,6.10448,11.20468,20.18665]}, + {"t":7.89003, "x":4.02702, "y":5.66237, "heading":-2.64396, "vx":0.26106, "vy":-0.09545, "omega":0.3016, "ax":-2.11262, "ay":0.77242, "alpha":-2.11514, "fx":[-43.11411,-38.4943,-28.58901,-33.5431], "fy":[15.21061,5.01631,11.04093,21.28697]}, + {"t":7.93122, "x":4.03599, "y":5.65909, "heading":-2.63154, "vx":0.17404, "vy":-0.06363, "omega":0.21448, "ax":-2.11264, "ay":0.77243, "alpha":-2.42717, "fx":[-44.03324,-38.98842,-27.42307,-33.29714], "fy":[15.41586,3.75637,10.83897,22.54409]}, + {"t":7.97241, "x":4.04136, "y":5.65713, "heading":-2.62271, "vx":0.08702, "vy":-0.03182, "omega":0.1145, "ax":-2.11266, "ay":0.77244, "alpha":-2.77977, "fx":[-45.24893,-39.33051,-26.14413,-33.01955], "fy":[15.64806,2.37855,10.60105,23.92809]}, + {"t":8.0136, "x":4.04315, "y":5.65647, "heading":-2.61799, "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,71,80,142] }, "events":[] } diff --git a/src/auto/mod.rs b/src/auto/mod.rs index ca5b416..5147924 100644 --- a/src/auto/mod.rs +++ b/src/auto/mod.rs @@ -202,9 +202,14 @@ pub async fn blue_long(robot: Rc>) -> Result<(), Box(180.) + } else { + Angle::new::(0.) + }); - drivetrain.odometry.set_abs(Vector2::new( + drivetrain.odometry.set(Vector2::new( Length::new::(7.5), Length::new::(7.), )); @@ -403,14 +408,21 @@ async fn center_1(robot: Rc>) -> Result<(), Box(90.)); + drivetrain.reset_heading_offset( + if alliance_station().red() { + Angle::new::(-90.) + } else { + Angle::new::(90.) + }); - drivetrain.odometry.set_abs(Vector2::new( - Length::new::(7.211895942687988), - Length::new::(4.088092803955078) + drivetrain.odometry.set(Vector2::new( + Length::new::(7.16530704498291), + Length::new::(4.919252395629883) )); - join!(drive("BlueCenter1", &mut drivetrain, 1), async { + drive("BlueCenter1", &mut drivetrain, 1).await?; + + join!(drive("BlueCenter1", &mut drivetrain, 2), async { elevator.set_target(ElevatorPosition::L2); elevator.run_to_target_trapezoid(); diff --git a/src/main.rs b/src/main.rs index 2cdec58..e067dba 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,6 +2,7 @@ use std::cell::RefCell; use std::ops::Deref; +use std::process::exit; use std::rc::Rc; use std::sync::Arc; use std::sync::atomic::{AtomicU64, Ordering}; @@ -55,16 +56,21 @@ fn main() { // Spawn watchdog task spawn_local(async move { loop { - sleep(Duration::from_millis(500)).await; + sleep(Duration::from_millis(20)).await; let last = watchdog_last_loop.load(Ordering::Relaxed); let now = SystemTime::now() .duration_since(SystemTime::UNIX_EPOCH) .unwrap() .as_millis() as u64; - if last != 0 && now - last > 500 { - let mut ferris = watchdog_ferris.borrow_mut(); - ferris.stop(); + if last != 0 && now - last > 125 { + println!("Loop Overrun: {}ms", now - last); + if let Ok(ferris) = watchdog_ferris.try_borrow_mut() { + ferris.stop(); + } else { + println!("FAILED TO GET FERRIS TO STOP"); + exit(1); + } println!("Watchdog triggered: Motors stopped"); } } @@ -74,28 +80,41 @@ fn main() { refresh_data(); let state = RobotState::get(); + let dt = last_loop.elapsed(); if !state.enabled() { if let Some(handle) = auto.take() { println!("Aborted"); handle.abort(); } + + if let Ok(f) = ferris.try_borrow() { + f.stop(); + } else { + println!("Didnt borrow ferris"); + } } if state.enabled() && state.teleop() { - teleop(&mut *ferris.borrow_mut()).await; + if let Ok(mut robot) = ferris.try_borrow_mut() { + robot.dt = dt; + teleop(&mut robot).await; + } } if state.enabled() && state.auto() { - { - let mut ferris_mut = ferris.borrow_mut(); + // Update dt before using it in auto + if let Ok(mut ferris_mut) = ferris.try_borrow_mut() { + ferris_mut.dt = dt; + + // Now access drivetrain if let Ok(mut drivetrain) = ferris_mut.drivetrain.try_borrow_mut() { drivetrain.update_limelight().await; drivetrain.post_odo().await; - }; + } } - if let None = auto { + if auto.is_none() { let ferris_clone = Rc::clone(&ferris); if let Some(selected_auto) = Telemetry::get_selection("auto chooser").await { @@ -115,10 +134,7 @@ fn main() { auto.abort(); } - Telemetry::put_number("Loop Rate", 1. / last_loop.elapsed().as_secs_f64()).await; - - let dt = last_loop.elapsed(); - ferris.borrow_mut().dt = dt; + Telemetry::put_number("Loop Rate", 1. / dt.as_secs_f64()).await; let now_millis = SystemTime::now() .duration_since(SystemTime::UNIX_EPOCH) diff --git a/src/subsystems/drivetrain.rs b/src/subsystems/drivetrain.rs index 8e670b8..5a39e7e 100644 --- a/src/subsystems/drivetrain.rs +++ b/src/subsystems/drivetrain.rs @@ -16,7 +16,7 @@ use frcrs::telemetry::Telemetry; use nalgebra::{Quaternion, Rotation2, Vector2}; use serde::Deserialize; use serde::Serialize; -use tokio::time::Instant; +use tokio::time::{Instant, timeout}; use crate::constants; use crate::constants::vision::ROBOT_CENTER_TO_LIMELIGHT_UPPER_INCHES; @@ -167,12 +167,11 @@ impl Drivetrain { } pub async fn update_limelight(&mut self) { - self.limelight + let _ = timeout(Duration::from_millis(10), self.limelight .update( self.get_offset_wrapped(), self.odometry.robot_pose_estimate.get_position(), - ) - .await; + )).await; Telemetry::put_number( "limelight upper fom", self.limelight.get_figure_of_merit().get::(), diff --git a/src/subsystems/vision.rs b/src/subsystems/vision.rs index 17d4d66..d49fe3a 100644 --- a/src/subsystems/vision.rs +++ b/src/subsystems/vision.rs @@ -82,12 +82,12 @@ impl Vision { self.drivetrain_angle = dt_angle; self.last_update_time = Instant::now(); - if self.limelight - .update_robot_orientation(-dt_angle.get::()) // Why do we use clockwise positive - .await - .is_err() { - eprintln!("Failed to update robot orientation on limelight") - } + // if self.limelight + // .update_robot_orientation(-dt_angle.get::()) // Why do we use clockwise positive + // .await + // .is_err() { + // eprintln!("Failed to update robot orientation on limelight") + // } if !self.results.Fiducial.is_empty() { if self.results.Fiducial[0].fID != -1 && self.results.Fiducial[0].fID != self.saved_id { From 571c1cb5073533ea366dae4bcd640bd6a045ab40 Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Thu, 13 Mar 2025 10:23:51 -0500 Subject: [PATCH 22/42] tuned for field --- src/constants.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/constants.rs b/src/constants.rs index d44e532..8e3b2e2 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -48,14 +48,14 @@ pub const HALF_FIELD_LENGTH_METERS: f64 = 8.05 / 2.; pub mod vision { use nalgebra::Vector2; - pub const LIMELIGHT_UPPER_PITCH_DEGREES: f64 = -35.7; //Last measured: -36.67 + pub const LIMELIGHT_UPPER_PITCH_DEGREES: f64 = -35.25; //Last measured: -36.67 pub const LIMELIGHT_UPPER_YAW_DEGREES: f64 = 90.; // Counterclockwise positive pub const LIMELIGHT_UPPER_HEIGHT_INCHES: f64 = 20.92; pub const ROBOT_CENTER_TO_LIMELIGHT_UPPER_INCHES: Vector2 = Vector2::new(11.118, 10.352); // Increase distance by 10% for every 20 degrees of absolute value of tx // Set this to 0 for new robots - pub const TX_FUDGE_FACTOR: f64 = 0.105 / 20.; + pub const TX_FUDGE_FACTOR: f64 = 0.135 / 20.; } pub mod drivetrain { From c3b6cee018c128b8bf8da8d5b1071fabe04c16ac Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Thu, 13 Mar 2025 12:56:20 -0500 Subject: [PATCH 23/42] drivetrain updates --- src/main.rs | 12 ++++++------ src/subsystems/drivetrain.rs | 2 ++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/main.rs b/src/main.rs index e067dba..b774c5d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -63,13 +63,13 @@ fn main() { .unwrap() .as_millis() as u64; - if last != 0 && now - last > 125 { + if last != 0 && now - last > 150 { println!("Loop Overrun: {}ms", now - last); if let Ok(ferris) = watchdog_ferris.try_borrow_mut() { ferris.stop(); } else { println!("FAILED TO GET FERRIS TO STOP"); - exit(1); + // exit(1); } println!("Watchdog triggered: Motors stopped"); } @@ -83,10 +83,10 @@ fn main() { let dt = last_loop.elapsed(); if !state.enabled() { - if let Some(handle) = auto.take() { - println!("Aborted"); - handle.abort(); - } + // if let Some(handle) = auto.take() { + // println!("Aborted"); + // handle.abort(); + // } if let Ok(f) = ferris.try_borrow() { f.stop(); diff --git a/src/subsystems/drivetrain.rs b/src/subsystems/drivetrain.rs index 5a39e7e..74b9219 100644 --- a/src/subsystems/drivetrain.rs +++ b/src/subsystems/drivetrain.rs @@ -521,6 +521,8 @@ impl Drivetrain { } pub fn reset_heading(&mut self) { + println!("Resetting heading: {}", self.get_offset_wrapped().get::()); + self.offset = self.get_angle(); } From 91958107aca889484c5c2119c9e215e00c5470f3 Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Thu, 13 Mar 2025 12:58:05 -0500 Subject: [PATCH 24/42] drivetrain updates --- src/constants.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/constants.rs b/src/constants.rs index 8e3b2e2..efe2c93 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -111,7 +111,7 @@ pub mod pose_estimation { pub const LIMELIGHT_INACCURACY_PER_LINEAR_VELOCITY: f64 = 2.; // Meters of inaccuracy per (meter/second) of drivetrain linear velocity } pub mod elevator { - pub const BOTTOM: f64 = 0.0; // unit is rotations + pub const BOTTOM: f64 = 1.0; // unit is rotations pub const L2: f64 = 2.; // unit is rotations pub const L3: f64 = 15.5; // unit is rotations pub const L4: f64 = 39.1; // unit is rotations From 24b07a93d81f5fe3dd54e428ebce92607551b9f5 Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Thu, 13 Mar 2025 13:00:45 -0500 Subject: [PATCH 25/42] change bottom elevator setpoint --- src/constants.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/constants.rs b/src/constants.rs index efe2c93..de0cf8f 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -111,7 +111,7 @@ pub mod pose_estimation { pub const LIMELIGHT_INACCURACY_PER_LINEAR_VELOCITY: f64 = 2.; // Meters of inaccuracy per (meter/second) of drivetrain linear velocity } pub mod elevator { - pub const BOTTOM: f64 = 1.0; // unit is rotations + pub const BOTTOM: f64 = 0.5; // unit is rotations pub const L2: f64 = 2.; // unit is rotations pub const L3: f64 = 15.5; // unit is rotations pub const L4: f64 = 39.1; // unit is rotations From a775ff17a86fecd5234c65cbc038eed32e3e08e6 Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Thu, 13 Mar 2025 13:04:04 -0500 Subject: [PATCH 26/42] change bottom elevator setpoint again --- src/constants.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/constants.rs b/src/constants.rs index de0cf8f..7250c4d 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -111,7 +111,7 @@ pub mod pose_estimation { pub const LIMELIGHT_INACCURACY_PER_LINEAR_VELOCITY: f64 = 2.; // Meters of inaccuracy per (meter/second) of drivetrain linear velocity } pub mod elevator { - pub const BOTTOM: f64 = 0.5; // unit is rotations + pub const BOTTOM: f64 = 0.25; // unit is rotations pub const L2: f64 = 2.; // unit is rotations pub const L3: f64 = 15.5; // unit is rotations pub const L4: f64 = 39.1; // unit is rotations From cc69bb2b778388ad0f2b225a9a7cff734d534342 Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Thu, 13 Mar 2025 14:50:42 -0500 Subject: [PATCH 27/42] fixed blue2 timing --- src/auto/mod.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/auto/mod.rs b/src/auto/mod.rs index 5147924..6e0d255 100644 --- a/src/auto/mod.rs +++ b/src/auto/mod.rs @@ -146,7 +146,7 @@ pub async fn async_score( wait(|| indexer.get_laser_dist() > LASER_TRIP_DISTANCE_MM || indexer.get_laser_dist() == -1).await; - sleep(Duration::from_secs_f64(0.25)).await; + sleep(Duration::from_secs_f64(0.2)).await; indexer.stop(); true @@ -249,7 +249,7 @@ pub async fn blue_2(robot: Rc>) -> Result<(), Box>) -> Result<(), Box Date: Thu, 13 Mar 2025 15:36:20 -0500 Subject: [PATCH 28/42] change forward lineup distance --- src/subsystems/drivetrain.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/subsystems/drivetrain.rs b/src/subsystems/drivetrain.rs index 74b9219..509b752 100644 --- a/src/subsystems/drivetrain.rs +++ b/src/subsystems/drivetrain.rs @@ -626,7 +626,7 @@ impl Drivetrain { let yaw = quaternion_to_yaw(tag_rotation); let mut side_distance = Length::new::(13. / 2.); // theoretical is 13. / 2. - let forward_distance = Length::new::(16.75); //theoretical is 16.75 + let forward_distance = Length::new::(16.25); //theoretical is 16.75 let elevator_position = match target_level { ElevatorPosition::Bottom => Length::new::(-9.), ElevatorPosition::L2 => Length::new::(-9.), From ee9371dde217797a9abe21a5155a5db41a7167fe Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Thu, 13 Mar 2025 15:56:49 -0500 Subject: [PATCH 29/42] limelight and lineup match 24 --- src/constants.rs | 2 +- src/subsystems/drivetrain.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/constants.rs b/src/constants.rs index 7250c4d..7ebe410 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -48,7 +48,7 @@ pub const HALF_FIELD_LENGTH_METERS: f64 = 8.05 / 2.; pub mod vision { use nalgebra::Vector2; - pub const LIMELIGHT_UPPER_PITCH_DEGREES: f64 = -35.25; //Last measured: -36.67 + pub const LIMELIGHT_UPPER_PITCH_DEGREES: f64 = -34.75; //Last measured: -36.67 pub const LIMELIGHT_UPPER_YAW_DEGREES: f64 = 90.; // Counterclockwise positive pub const LIMELIGHT_UPPER_HEIGHT_INCHES: f64 = 20.92; pub const ROBOT_CENTER_TO_LIMELIGHT_UPPER_INCHES: Vector2 = Vector2::new(11.118, 10.352); diff --git a/src/subsystems/drivetrain.rs b/src/subsystems/drivetrain.rs index 509b752..9a3ee46 100644 --- a/src/subsystems/drivetrain.rs +++ b/src/subsystems/drivetrain.rs @@ -626,7 +626,7 @@ impl Drivetrain { let yaw = quaternion_to_yaw(tag_rotation); let mut side_distance = Length::new::(13. / 2.); // theoretical is 13. / 2. - let forward_distance = Length::new::(16.25); //theoretical is 16.75 + let forward_distance = Length::new::(16.3); //theoretical is 16.75 let elevator_position = match target_level { ElevatorPosition::Bottom => Length::new::(-9.), ElevatorPosition::L2 => Length::new::(-9.), From 1f6c418df4fa493a5a5fab9839e637bba5998832 Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Thu, 13 Mar 2025 15:58:09 -0500 Subject: [PATCH 30/42] center 1 is now tush push 1 --- src/auto/mod.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/auto/mod.rs b/src/auto/mod.rs index 6e0d255..a83d0f8 100644 --- a/src/auto/mod.rs +++ b/src/auto/mod.rs @@ -27,7 +27,7 @@ pub enum Auto { Blue2, RotationTest, BlueMidLeft2, - Center1, + TushPush1, } impl Auto { @@ -40,7 +40,7 @@ impl Auto { "Blue2" => Auto::Blue2, "RotationTest" => Auto::RotationTest, "BlueMidLeft2" => Auto::BlueMidLeft2, - "Center1" => Auto::Center1, + "TushPush1" => Auto::TushPush1, _ => Auto::Nothing, } } @@ -54,7 +54,7 @@ impl Auto { Auto::Blue2 => "Blue2", Auto::RotationTest => "RotationTest", Auto::BlueMidLeft2 => "BlueMidLeft2", - Auto::Center1 => "Center1", + Auto::TushPush1 => "TushPush1", _ => "none", } } @@ -68,7 +68,7 @@ impl Auto { Auto::Blue2, // Auto::RotationTest, Auto::BlueMidLeft2, - Auto::Center1, + Auto::TushPush1, ] } @@ -94,7 +94,7 @@ impl Auto { Auto::Blue2 => blue_2(Rc::clone(&ferris)).await.expect("Failed running auto"), Auto::RotationTest => rotation_test(Rc::clone(&ferris)).await.expect("Failed running auto"), Auto::BlueMidLeft2 => blue_mid_left_2(Rc::clone(&ferris)).await.expect("Failed running auto"), - Auto::Center1 => center_1(Rc::clone(&ferris)).await.expect("Failed running auto"), + Auto::TushPush1 => tush_push_1(Rc::clone(&ferris)).await.expect("Failed running auto"), } } } @@ -402,7 +402,7 @@ async fn blue_mid_left_2(robot: Rc>) -> Result<(), Box>) -> Result<(), Box> { +async fn tush_push_1(robot: Rc>) -> Result<(), Box> { let mut robot = robot.borrow_mut(); let mut drivetrain = robot.drivetrain.deref().borrow_mut(); let mut elevator = robot.elevator.deref().borrow_mut(); From 4b1914da238172214a2d837f56629f3b92362666 Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Thu, 13 Mar 2025 17:10:27 -0500 Subject: [PATCH 31/42] measured limelight --- src/constants.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/constants.rs b/src/constants.rs index 7ebe410..20d7423 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -48,7 +48,7 @@ pub const HALF_FIELD_LENGTH_METERS: f64 = 8.05 / 2.; pub mod vision { use nalgebra::Vector2; - pub const LIMELIGHT_UPPER_PITCH_DEGREES: f64 = -34.75; //Last measured: -36.67 + pub const LIMELIGHT_UPPER_PITCH_DEGREES: f64 = -34.75; //Last measured: -38.1 pub const LIMELIGHT_UPPER_YAW_DEGREES: f64 = 90.; // Counterclockwise positive pub const LIMELIGHT_UPPER_HEIGHT_INCHES: f64 = 20.92; pub const ROBOT_CENTER_TO_LIMELIGHT_UPPER_INCHES: Vector2 = Vector2::new(11.118, 10.352); From a979c93e9f738d7ea343bdd293f70d4e3e529274 Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Thu, 13 Mar 2025 17:26:50 -0500 Subject: [PATCH 32/42] upped lineup kp --- src/constants.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/constants.rs b/src/constants.rs index 20d7423..53f9476 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -95,7 +95,7 @@ pub mod drivetrain { pub const TY_ACCEPTABLE_ERROR: f64 = 1.8; pub const YAW_ACCEPTABLE_ERROR: f64 = 0.02; - pub const LINEUP_DRIVE_KP: f64 = 0.7; + pub const LINEUP_DRIVE_KP: f64 = 0.85; pub const LINEUP_DRIVE_KI: f64 = 10.; pub const LINEUP_DRIVE_KD: f64 = 10.; pub const LINEUP_DRIVE_IE: f64 = 0.25; From 00caa5b81205572eeea5018a18397bf58b39e98a Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Thu, 13 Mar 2025 18:02:09 -0500 Subject: [PATCH 33/42] eod tuning, looks goodrp make deploy-scp --- src/constants.rs | 4 ++-- src/subsystems/drivetrain.rs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/constants.rs b/src/constants.rs index 53f9476..56669fd 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -95,7 +95,7 @@ pub mod drivetrain { pub const TY_ACCEPTABLE_ERROR: f64 = 1.8; pub const YAW_ACCEPTABLE_ERROR: f64 = 0.02; - pub const LINEUP_DRIVE_KP: f64 = 0.85; + pub const LINEUP_DRIVE_KP: f64 = 0.9; pub const LINEUP_DRIVE_KI: f64 = 10.; pub const LINEUP_DRIVE_KD: f64 = 10.; pub const LINEUP_DRIVE_IE: f64 = 0.25; @@ -124,7 +124,7 @@ pub mod indexer { pub const BOTTOM_SPEED: f64 = -0.35; pub const L2_SPEED: f64 = -0.425; pub const L3_SPEED: f64 = -0.425; - pub const L4_SPEED: f64 = -0.25; + pub const L4_SPEED: f64 = -0.325; } pub mod joystick_map { // Joystick IDs (set in driver station) diff --git a/src/subsystems/drivetrain.rs b/src/subsystems/drivetrain.rs index 9a3ee46..fbbd621 100644 --- a/src/subsystems/drivetrain.rs +++ b/src/subsystems/drivetrain.rs @@ -626,7 +626,7 @@ impl Drivetrain { let yaw = quaternion_to_yaw(tag_rotation); let mut side_distance = Length::new::(13. / 2.); // theoretical is 13. / 2. - let forward_distance = Length::new::(16.3); //theoretical is 16.75 + let forward_distance = Length::new::(16.275); //theoretical is 16.75 let elevator_position = match target_level { ElevatorPosition::Bottom => Length::new::(-9.), ElevatorPosition::L2 => Length::new::(-9.), From 3cccc99b55009ea2d84f91adc7c220fc2a2fd85d Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Thu, 13 Mar 2025 22:28:50 -0500 Subject: [PATCH 34/42] added offsets for each apriltag lineup position --- src/subsystems/drivetrain.rs | 85 +++++++++++++++++++++++++++++++----- 1 file changed, 74 insertions(+), 11 deletions(-) diff --git a/src/subsystems/drivetrain.rs b/src/subsystems/drivetrain.rs index fbbd621..c098c4a 100644 --- a/src/subsystems/drivetrain.rs +++ b/src/subsystems/drivetrain.rs @@ -1,3 +1,4 @@ +use std::collections::HashMap; use frcrs::alliance_station; use std::f64::consts::PI; @@ -47,6 +48,12 @@ pub struct LineupTarget { pub angle: Angle, } +#[derive(Copy, Clone)] +pub struct LineupLocation { + side_distance: Length, + forward_distance: Length, +} + pub struct Drivetrain { pigeon: Pigeon, @@ -74,6 +81,8 @@ pub struct Drivetrain { pub limelight: Vision, abs_offsets: [Angle; 4], + + lineup_locations: HashMap } #[derive(Serialize, Deserialize)] @@ -136,6 +145,16 @@ impl Drivetrain { Angle::new::((-br_encoder.get_absolute() * 360.) - BR_OFFSET_DEGREES), ]; + let mut lineup_locations = HashMap::new(); + + /// default is: + // side_distance: Length::new::(13. / 2.), + // forward_distance: Length::new::(16.275), + lineup_locations.insert(17, LineupLocation { + side_distance: Length::new::(13. / 2.), + forward_distance: Length::new::(16.), + }); + Self { pigeon: Pigeon::new(PIGEON, Some("can0".to_owned())), @@ -163,6 +182,8 @@ impl Drivetrain { limelight: limelight, abs_offsets, + + lineup_locations, } } @@ -625,8 +646,19 @@ impl Drivetrain { let yaw = quaternion_to_yaw(tag_rotation); - let mut side_distance = Length::new::(13. / 2.); // theoretical is 13. / 2. - let forward_distance = Length::new::(16.275); //theoretical is 16.75 + let lineup_location = match self.lineup_locations.get(&tag_id) { + None => { + LineupLocation { + side_distance: Length::new::(13. / 2.), + forward_distance: Length::new::(16.275), + } + } + Some(l) => { *l } + }; + + let mut side_distance = lineup_location.side_distance; + let mut forward_distance = lineup_location.forward_distance; + let elevator_position = match target_level { ElevatorPosition::Bottom => Length::new::(-9.), ElevatorPosition::L2 => Length::new::(-9.), @@ -814,18 +846,19 @@ pub fn calculate_relative_target(current: f64, target: f64) -> f64 { #[cfg(test)] mod tests { + use std::collections::HashMap; use nalgebra::{Quaternion, Vector2, Vector3}; use std::f64::consts::PI; + use std::ops::{Add, Sub}; use crate::subsystems::drivetrain::{calculate_relative_target, quaternion_to_yaw}; - use crate::subsystems::{FieldPosition, LineupSide}; - use uom::si::angle::radian; + use crate::subsystems::{ElevatorPosition, FieldPosition, LineupLocation, LineupSide, LineupTarget}; + use uom::si::angle::{degree, radian}; use uom::si::f32::Angle; use uom::si::f64::Length; - use uom::si::length::meter; + use uom::si::length::{inch, meter}; #[test] - #[ignore] fn calculate_target_lineup_position() { let side = LineupSide::Right; @@ -848,18 +881,36 @@ mod tests { let yaw = quaternion_to_yaw(tag_rotation); - let side_distance = Length::new::(0.5); - let forward_distance = Length::new::(0.5); + let mut lineup_locations = HashMap::new(); + + lineup_locations.insert(17, LineupLocation { + side_distance: Length::new::(13. / 2.), + forward_distance: Length::new::(20.275), + }); + + let lineup_location = match lineup_locations.get(&17) { + None => { + LineupLocation { + side_distance: Length::new::(13. / 2.), + forward_distance: Length::new::(16.275), + } + } + Some(l) => { *l } + }; + + let mut side_distance = lineup_location.side_distance; + let mut forward_distance = lineup_location.forward_distance; let side_multiplier = match side { LineupSide::Left => -1.0, LineupSide::Right => 1.0, }; + side_distance *= side_multiplier; let perpendicular_yaw = yaw + std::f64::consts::PI / 2.0; - let offset_x = side_distance.get::() * f64::cos(perpendicular_yaw) * side_multiplier; - let offset_y = side_distance.get::() * f64::sin(perpendicular_yaw) * side_multiplier; + let offset_x = side_distance.get::() * f64::cos(perpendicular_yaw); + let offset_y = side_distance.get::() * f64::sin(perpendicular_yaw); let forward_x = forward_distance.get::() * f64::cos(yaw); let forward_y = forward_distance.get::() * f64::sin(yaw); @@ -871,7 +922,19 @@ mod tests { .get::(), ); - let robot_angle = Angle::new::(yaw as f32); + let mut robot_angle = uom::si::f64::Angle::new::(yaw) + .add(uom::si::f64::Angle::new::(PI)) + .sub(uom::si::f64::Angle::new::(PI / 2.)); + + // robot_angle = uom::si::f64::Angle::new::(calculate_relative_target( + // self.get_offset_wrapped().get::(), + // robot_angle.get::(), + // )); + if robot_angle.get::() > 180. { + robot_angle -= uom::si::f64::Angle::new::(360.) + } else if robot_angle.get::() < -180. { + robot_angle += uom::si::f64::Angle::new::(360.) + } println!("{:?}", target_pos); println!("{:?}", robot_angle); From 3c6f3c92f3b107cef90fc3b834dc0766847af218 Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Thu, 13 Mar 2025 22:34:35 -0500 Subject: [PATCH 35/42] changed tush push to get better limelight view --- auto/TushPush1.traj | 193 ++++++++++++++++++++++++++++++++++++++++++++ src/auto/mod.rs | 4 +- 2 files changed, 195 insertions(+), 2 deletions(-) create mode 100644 auto/TushPush1.traj diff --git a/auto/TushPush1.traj b/auto/TushPush1.traj new file mode 100644 index 0000000..0032aa3 --- /dev/null +++ b/auto/TushPush1.traj @@ -0,0 +1,193 @@ +{ + "name":"TushPush1", + "version":1, + "snapshot":{ + "waypoints":[ + {"x":7.16530704498291, "y":4.919252395629883, "heading":1.5707963267948966, "intervals":39, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":7.85153865814209, "y":4.919252395629883, "heading":1.5707963267948966, "intervals":31, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":6.889065742492676, "y":3.818342685699463, "heading":1.5707963267948966, "intervals":49, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":6.163188457489014, "y":3.73522686958313, "heading":1.5707963267948966, "intervals":17, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":5.769199371337891, "y":3.898647785186768, "heading":1.5707963267948966, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":0.0, "y":0.0, "w":17.548, "h":8.052}}, "enabled":false}, + {"from":4, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":1, "to":4, "data":{"type":"MaxAcceleration", "props":{"max":2.5}}, "enabled":true}, + {"from":2, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":false}, + {"from":1, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":0, "to":1, "data":{"type":"MaxAcceleration", "props":{"max":0.75}}, "enabled":true}, + {"from":1, "to":2, "data":{"type":"MaxAcceleration", "props":{"max":2.5}}, "enabled":true}, + {"from":2, "to":3, "data":{"type":"MaxAcceleration", "props":{"max":0.5}}, "enabled":true}, + {"from":3, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}], + "targetDt":0.05 + }, + "params":{ + "waypoints":[ + {"x":{"exp":"7.16530704498291 m", "val":7.16530704498291}, "y":{"exp":"4.919252395629883 m", "val":4.919252395629883}, "heading":{"exp":"90 deg", "val":1.5707963267948966}, "intervals":39, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"7.85153865814209 m", "val":7.85153865814209}, "y":{"exp":"4.919252395629883 m", "val":4.919252395629883}, "heading":{"exp":"90 deg", "val":1.5707963267948966}, "intervals":31, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"6.889065742492676 m", "val":6.889065742492676}, "y":{"exp":"3.818342685699463 m", "val":3.818342685699463}, "heading":{"exp":"90 deg", "val":1.5707963267948966}, "intervals":49, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"6.163188457489014 m", "val":6.163188457489014}, "y":{"exp":"3.73522686958313 m", "val":3.73522686958313}, "heading":{"exp":"90 deg", "val":1.5707963267948966}, "intervals":17, "split":true, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"5.769199371337891 m", "val":5.769199371337891}, "y":{"exp":"3.8986477851867676 m", "val":3.898647785186768}, "heading":{"exp":"90 deg", "val":1.5707963267948966}, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":{"exp":"0 m", "val":0.0}, "y":{"exp":"0 m", "val":0.0}, "w":{"exp":"17.548 m", "val":17.548}, "h":{"exp":"8.052 m", "val":8.052}}}, "enabled":false}, + {"from":4, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":1, "to":4, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"2.5 m / s ^ 2", "val":2.5}}}, "enabled":true}, + {"from":2, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":false}, + {"from":1, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":0, "to":1, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"0.75 m / s ^ 2", "val":0.75}}}, "enabled":true}, + {"from":1, "to":2, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"2.5 m / s ^ 2", "val":2.5}}}, "enabled":true}, + {"from":2, "to":3, "data":{"type":"MaxAcceleration", "props":{"max":{"exp":"0.5 m / s ^ 2", "val":0.5}}}, "enabled":true}, + {"from":3, "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}], + "targetDt":{ + "exp":"0.05 s", + "val":0.05 + } + }, + "trajectory":{ + "sampleType":"Swerve", + "waypoints":[0.0,1.91411,3.26985,4.98724,5.85437], + "samples":[ + {"t":0.0, "x":7.16531, "y":4.91925, "heading":1.5708, "vx":0.0, "vy":0.0, "omega":0.0, "ax":0.74969, "ay":0.0, "alpha":0.00158, "fx":[12.74857,12.75535,12.75535,12.74857], "fy":[-0.00502,-0.00517,0.00509,0.00509]}, + {"t":0.04908, "x":7.16621, "y":4.91925, "heading":1.5708, "vx":0.03679, "vy":0.0, "omega":0.00008, "ax":0.74983, "ay":0.0, "alpha":0.00157, "fx":[12.75108,12.75787,12.75787,12.75108], "fy":[-0.00496,-0.00511,0.00504,0.00504]}, + {"t":0.09816, "x":7.16892, "y":4.91925, "heading":1.5708, "vx":0.0736, "vy":0.0, "omega":0.00015, "ax":0.74982, "ay":0.0, "alpha":-0.00087, "fx":[12.73448,12.74451,12.74451,12.79372], "fy":[-0.0052,-0.00506,0.00513,0.00513]}, + {"t":0.14724, "x":7.17343, "y":4.91925, "heading":1.57081, "vx":0.1104, "vy":0.0, "omega":0.00011, "ax":0.74981, "ay":0.0, "alpha":0.00167, "fx":[12.75042,12.75783,12.75783,12.75042], "fy":[-0.00522,-0.00534,0.00528,0.00528]}, + {"t":0.19632, "x":7.17976, "y":4.91925, "heading":1.57081, "vx":0.1472, "vy":0.0, "omega":0.00019, "ax":0.7498, "ay":0.0, "alpha":-0.0011, "fx":[12.73179,12.74253,12.74253,12.79879], "fy":[-0.00554,-0.00543,0.00549,0.00549]}, + {"t":0.2454, "x":7.18788, "y":4.91925, "heading":1.57082, "vx":0.184, "vy":0.0, "omega":0.00014, "ax":0.74979, "ay":0.0, "alpha":0.00185, "fx":[12.74947,12.75787,12.75787,12.74947], "fy":[-0.00568,-0.00579,0.00574,0.00574]}, + {"t":0.29448, "x":7.19782, "y":4.91925, "heading":1.57083, "vx":0.2208, "vy":0.0, "omega":0.00023, "ax":0.74977, "ay":0.0, "alpha":-0.00137, "fx":[12.7282,12.74003,12.74003,12.8053], "fy":[-0.00608,-0.00598,0.00603,0.00603]}, + {"t":0.34356, "x":7.20956, "y":4.91925, "heading":1.57084, "vx":0.2576, "vy":0.0, "omega":0.00016, "ax":0.74975, "ay":0.0, "alpha":0.00208, "fx":[12.74824,12.7579,12.7579,12.74823], "fy":[-0.00631,-0.00639,0.00635,0.00635]}, + {"t":0.39264, "x":7.2231, "y":4.91925, "heading":1.57085, "vx":0.29439, "vy":0.0, "omega":0.00027, "ax":0.74973, "ay":0.0, "alpha":-0.00175, "fx":[12.72342,12.73659,12.73658,12.81414], "fy":[-0.00674,-0.00666,0.0067,0.0067]}, + {"t":0.44172, "x":7.23845, "y":4.91925, "heading":1.57086, "vx":0.33119, "vy":0.0, "omega":0.00018, "ax":0.7497, "ay":0.0, "alpha":0.00235, "fx":[12.74667,12.75778,12.75778,12.74667], "fy":[-0.00702,-0.00709,0.00706,0.00706]}, + {"t":0.4908, "x":7.25561, "y":4.91925, "heading":1.57087, "vx":0.36798, "vy":0.0, "omega":0.0003, "ax":0.74967, "ay":0.0, "alpha":-0.00239, "fx":[12.71685,12.73143,12.73143,12.82694], "fy":[-0.00746,-0.00738,0.00742,0.00742]}, + {"t":0.53988, "x":7.27457, "y":4.91925, "heading":1.57089, "vx":0.40478, "vy":0.0, "omega":0.00018, "ax":0.74963, "ay":0.0, "alpha":0.00261, "fx":[12.74468,12.75724,12.75724,12.74468], "fy":[-0.0077,-0.00777,0.00774,0.00774]}, + {"t":0.58896, "x":7.29534, "y":4.91925, "heading":1.57089, "vx":0.44157, "vy":0.0, "omega":0.00031, "ax":0.74957, "ay":0.0, "alpha":-0.00356, "fx":[12.70717,12.72294,12.72294,12.84717], "fy":[-0.00806,-0.00798,0.00802,0.00802]}, + {"t":0.63804, "x":7.31792, "y":4.91925, "heading":1.57091, "vx":0.47836, "vy":0.0, "omega":0.00013, "ax":0.7495, "ay":0.0, "alpha":0.00279, "fx":[12.74203,12.75567,12.75567,12.74203], "fy":[-0.00813,-0.00821,0.00817,0.00817]}, + {"t":0.68711, "x":7.3423, "y":4.91925, "heading":1.57092, "vx":0.51514, "vy":0.0, "omega":0.00027, "ax":0.7494, "ay":0.0, "alpha":-0.00591, "fx":[12.69111,12.70723,12.70723,12.88308], "fy":[-0.00824,-0.00815,0.0082,0.00819]}, + {"t":0.73619, "x":7.36848, "y":4.91925, "heading":1.57093, "vx":0.55192, "vy":0.0, "omega":-0.00002, "ax":0.74926, "ay":0.0, "alpha":0.00273, "fx":[12.73787,12.7514,12.7514,12.73786], "fy":[-0.00785,-0.00795,0.0079,0.0079]}, + {"t":0.78527, "x":7.39648, "y":4.91925, "heading":1.57093, "vx":0.5887, "vy":0.0, "omega":0.00011, "ax":0.74901, "ay":0.0, "alpha":-0.01145, "fx":[12.65729,12.67164,12.67164,12.9611], "fy":[-0.00736,-0.00724,0.0073,0.00729]}, + {"t":0.83435, "x":7.42627, "y":4.91925, "heading":1.57093, "vx":0.62546, "vy":0.0, "omega":-0.00045, "ax":0.74851, "ay":0.0, "alpha":0.00207, "fx":[12.72678,12.73721,12.73721,12.72677], "fy":[-0.00586,-0.00596,0.00591,0.00591]}, + {"t":0.88343, "x":7.45787, "y":4.91925, "heading":1.57091, "vx":0.6622, "vy":0.0, "omega":-0.00035, "ax":0.74703, "ay":0.0, "alpha":-0.03079, "fx":[12.529,12.53724,12.53724,13.22348], "fy":[-0.00426,-0.00414,0.0042,0.00419]}, + {"t":0.93251, "x":7.49127, "y":4.91925, "heading":1.57089, "vx":0.69886, "vy":0.0, "omega":-0.00186, "ax":0.00016, "ay":0.0, "alpha":-0.00008, "fx":[0.00285,0.00248,0.00248,0.00285], "fy":[0.00024,0.00024,-0.00024,-0.00024]}, + {"t":0.98159, "x":7.52557, "y":4.91925, "heading":1.5708, "vx":0.69887, "vy":0.0, "omega":-0.00186, "ax":-0.74703, "ay":0.0, "alpha":0.03132, "fx":[-12.5248,-12.53394,-12.53394,-13.23428], "fy":[0.00472,0.0046,-0.00466,-0.00466]}, + {"t":1.03067, "x":7.55897, "y":4.91925, "heading":1.57071, "vx":0.6622, "vy":0.0, "omega":-0.00033, "ax":-0.74851, "ay":0.0, "alpha":-0.00221, "fx":[-12.72646,-12.73752,-12.73752,-12.72646], "fy":[0.00628,0.00639,-0.00634,-0.00634]}, + {"t":1.07975, "x":7.59057, "y":4.91925, "heading":1.5707, "vx":0.62547, "vy":0.0, "omega":-0.00043, "ax":-0.74901, "ay":0.0, "alpha":0.01146, "fx":[-12.65613,-12.67121,-12.67122,-12.96311], "fy":[0.00773,0.00761,-0.00767,-0.00767]}, + {"t":1.12883, "x":7.62036, "y":4.91925, "heading":1.57067, "vx":0.58871, "vy":0.0, "omega":0.00013, "ax":-0.74926, "ay":0.0, "alpha":-0.00284, "fx":[-12.73763,-12.75163,-12.75163,-12.73764], "fy":[0.00817,0.00828,-0.00822,-0.00823]}, + {"t":1.17791, "x":7.64836, "y":4.91925, "heading":1.57068, "vx":0.55193, "vy":0.0, "omega":-0.00001, "ax":-0.7494, "ay":0.0, "alpha":0.00586, "fx":[-12.69051,-12.70719,-12.70719,-12.88376], "fy":[0.00853,0.00844,-0.00848,-0.00848]}, + {"t":1.22699, "x":7.67454, "y":4.91925, "heading":1.57068, "vx":0.51515, "vy":0.0, "omega":0.00028, "ax":-0.7495, "ay":0.0, "alpha":-0.00287, "fx":[-12.74187,-12.75583,-12.75583,-12.74187], "fy":[0.00839,0.00848,-0.00843,-0.00843]}, + {"t":1.27607, "x":7.69892, "y":4.91925, "heading":1.57069, "vx":0.47837, "vy":0.0, "omega":0.00014, "ax":-0.74957, "ay":0.0, "alpha":0.0035, "fx":[-12.70676,-12.723,-12.72301,-12.84745], "fy":[0.00829,0.00822,-0.00826,-0.00826]}, + {"t":1.32515, "x":7.7215, "y":4.91925, "heading":1.5707, "vx":0.44158, "vy":0.0, "omega":0.00031, "ax":-0.74963, "ay":0.0, "alpha":-0.00268, "fx":[-12.74454,-12.75737,-12.75737,-12.74455], "fy":[0.00793,0.00801,-0.00796,-0.00797]}, + {"t":1.37423, "x":7.74227, "y":4.91925, "heading":1.57072, "vx":0.40479, "vy":0.0, "omega":0.00018, "ax":-0.74967, "ay":0.0, "alpha":0.00232, "fx":[-12.71651,-12.73155,-12.73155,-12.82704], "fy":[0.00768,0.00761,-0.00765,-0.00765]}, + {"t":1.42331, "x":7.76123, "y":4.91925, "heading":1.57072, "vx":0.36799, "vy":0.0, "omega":0.00029, "ax":-0.7497, "ay":0.0, "alpha":-0.00242, "fx":[-12.74652,-12.75792,-12.75792,-12.74653], "fy":[0.00726,0.00734,-0.0073,-0.0073]}, + {"t":1.47239, "x":7.77839, "y":4.91925, "heading":1.57074, "vx":0.3312, "vy":0.0, "omega":0.00017, "ax":-0.74973, "ay":0.0, "alpha":0.00166, "fx":[-12.72308,-12.73678,-12.73678,-12.81409], "fy":[0.00701,0.00694,-0.00698,-0.00698]}, + {"t":1.52147, "x":7.79374, "y":4.91925, "heading":1.57075, "vx":0.2944, "vy":0.0, "omega":0.00025, "ax":-0.74975, "ay":0.0, "alpha":-0.00218, "fx":[-12.74804,-12.7581,-12.7581,-12.74804], "fy":[0.00663,0.00671,-0.00667,-0.00667]}, + {"t":1.57055, "x":7.80729, "y":4.91925, "heading":1.57076, "vx":0.2576, "vy":0.0, "omega":0.00015, "ax":-0.74977, "ay":0.0, "alpha":0.00124, "fx":[-12.72778,-12.74035,-12.74035,-12.80509], "fy":[0.00645,0.00636,-0.00641,-0.00641]}, + {"t":1.61963, "x":7.81903, "y":4.91925, "heading":1.57077, "vx":0.2208, "vy":0.0, "omega":0.00021, "ax":-0.74979, "ay":0.0, "alpha":-0.00199, "fx":[-12.74916,-12.75818,-12.75818,-12.74916], "fy":[0.00614,0.00624,-0.00619,-0.00619]}, + {"t":1.66871, "x":7.82896, "y":4.91925, "heading":1.57078, "vx":0.18401, "vy":0.0, "omega":0.00011, "ax":-0.7498, "ay":0.0, "alpha":0.0009, "fx":[-12.73119,-12.74304,-12.74304,-12.79837], "fy":[0.0061,0.00599,-0.00605,-0.00605]}, + {"t":1.71779, "x":7.83709, "y":4.91925, "heading":1.57078, "vx":0.14721, "vy":0.0, "omega":0.00015, "ax":-0.74981, "ay":0.0, "alpha":-0.0019, "fx":[-12.74991,-12.75834,-12.75834,-12.74991], "fy":[0.00591,0.00603,-0.00597,-0.00597]}, + {"t":1.76687, "x":7.84341, "y":4.91925, "heading":1.57079, "vx":0.1104, "vy":0.0, "omega":0.00006, "ax":-0.74982, "ay":0.0, "alpha":0.00056, "fx":[-12.7336,-12.74532,-12.74532,-12.79298], "fy":[0.00605,0.00592,-0.00599,-0.00599]}, + {"t":1.81595, "x":7.84793, "y":4.91925, "heading":1.57079, "vx":0.0736, "vy":0.0, "omega":0.00009, "ax":-0.74983, "ay":0.0, "alpha":-0.00192, "fx":[-12.75025,-12.75869,-12.75869,-12.75025], "fy":[0.00603,0.00616,-0.0061,-0.0061]}, + {"t":1.86503, "x":7.85064, "y":4.91925, "heading":1.5708, "vx":0.0368, "vy":0.0, "omega":-0.00001, "ax":-0.74984, "ay":0.0, "alpha":0.00014, "fx":[-12.73513,-12.74752,-12.74752,-12.78831], "fy":[0.0064,0.00626,-0.00633,-0.00633]}, + {"t":1.91411, "x":7.85154, "y":4.91925, "heading":1.5708, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-0.36565, "ay":-0.65419, "alpha":-0.01008, "fx":[-6.17826,-6.26096,-6.26172,-6.17764], "fy":[-11.03697,-11.19352,-11.13982,-11.14033]}, + {"t":1.95784, "x":7.85119, "y":4.91863, "heading":1.5708, "vx":-0.01599, "vy":-0.02861, "omega":-0.00044, "ax":-1.22491, "ay":-2.17802, "alpha":-0.00795, "fx":[-20.77695,-20.85856,-20.85234,-20.85366], "fy":[-37.05982,-36.98974,-37.07254,-37.06755]}, + {"t":2.00157, "x":7.84932, "y":4.91529, "heading":1.57078, "vx":-0.06956, "vy":-0.12386, "omega":-0.00079, "ax":-1.23133, "ay":-2.17431, "alpha":-0.01154, "fx":[-20.90905,-20.99021,-20.9758,-20.90322], "fy":[-36.92876,-36.99287,-37.00549,-37.0103]}, + {"t":2.04531, "x":7.8451, "y":4.9078, "heading":1.57074, "vx":-0.12341, "vy":-0.21895, "omega":-0.00129, "ax":-1.2386, "ay":-2.17008, "alpha":-0.00675, "fx":[-21.009,-21.08816,-21.08181,-21.09386], "fy":[-36.93297,-36.85291,-36.93499,-36.92883]}, + {"t":2.08904, "x":7.83852, "y":4.89615, "heading":1.57069, "vx":-0.17758, "vy":-0.31386, "omega":-0.00159, "ax":-1.2469, "ay":-2.16521, "alpha":-0.01169, "fx":[-21.17205,-21.25773,-21.24207,-21.16569], "fy":[-36.76972,-36.84503,-36.84912,-36.85457]}, + {"t":2.13277, "x":7.82956, "y":4.88035, "heading":1.57062, "vx":-0.23211, "vy":-0.40855, "omega":-0.0021, "ax":-1.25646, "ay":-2.15955, "alpha":-0.00662, "fx":[-21.3061,-21.39266,-21.3854,-21.40419], "fy":[-36.76342,-36.66594,-36.75539,-36.7483]}, + {"t":2.17651, "x":7.81821, "y":4.86042, "heading":1.57052, "vx":-0.28706, "vy":-0.503, "omega":-0.00239, "ax":-1.26761, "ay":-2.15287, "alpha":-0.01346, "fx":[-21.5183,-21.61814,-21.59951,-21.51057], "fy":[-36.55133,-36.63808,-36.64136,-36.64834]}, + {"t":2.22024, "x":7.80444, "y":4.83636, "heading":1.57042, "vx":-0.3425, "vy":-0.59715, "omega":-0.00298, "ax":-1.28075, "ay":-2.1449, "alpha":-0.00729, "fx":[-21.70305,-21.80976,-21.80064,-21.82744], "fy":[-36.52975,-36.40038,-36.50728,-36.49932]}, + {"t":2.26397, "x":7.78824, "y":4.80819, "heading":1.57029, "vx":-0.39851, "vy":-0.69095, "omega":-0.0033, "ax":-1.29649, "ay":-2.13521, "alpha":0.00308, "fx":[-22.01613,-22.07489,-22.11531,-22.00543], "fy":[-36.14197,-36.61401,-36.25583,-36.26553]}, + {"t":2.30771, "x":7.76957, "y":4.77593, "heading":1.57015, "vx":-0.45521, "vy":-0.78433, "omega":-0.00316, "ax":-1.31567, "ay":-2.12318, "alpha":0.00592, "fx":[-22.21888,-22.4262,-22.41387,-22.45761], "fy":[-36.4638,-35.91133,-36.04688,-36.03703]}, + {"t":2.35144, "x":7.7484, "y":4.7396, "heading":1.57001, "vx":-0.51275, "vy":-0.87719, "omega":-0.0029, "ax":-1.33954, "ay":-2.10787, "alpha":0.00502, "fx":[-22.74193,-22.80998,-22.8602,-22.72896], "fy":[-35.63704,-36.22482,-35.77151,-35.78362]}, + {"t":2.39518, "x":7.7247, "y":4.69922, "heading":1.56988, "vx":-0.57133, "vy":-0.96937, "omega":-0.00268, "ax":-1.37007, "ay":-2.08773, "alpha":0.01204, "fx":[-23.1102,-23.35156,-23.33759,-23.41837], "fy":[-35.97391,-35.2594,-35.41408,-35.39915]}, + {"t":2.43891, "x":7.6984, "y":4.65483, "heading":1.56976, "vx":-0.63125, "vy":-1.06068, "omega":-0.00216, "ax":-1.41042, "ay":-2.06009, "alpha":0.01227, "fx":[-23.94631,-24.00871,-24.07648,-23.93208], "fy":[-34.76996,-35.54794,-34.91744,-34.93094]}, + {"t":2.48264, "x":7.66944, "y":4.60647, "heading":1.56967, "vx":-0.69293, "vy":-1.15077, "omega":-0.00162, "ax":-1.46618, "ay":-2.01995, "alpha":0.02873, "fx":[-24.69081,-24.95884,-24.94474,-25.16313], "fy":[-35.00828,-34.04335,-34.20596,-34.17748]}, + {"t":2.52638, "x":7.63774, "y":4.55422, "heading":1.5696, "vx":-0.75705, "vy":-1.23911, "omega":-0.00036, "ax":-1.54792, "ay":-1.95673, "alpha":0.03053, "fx":[-26.29343,-26.32372,-26.42159,-26.27964], "fy":[-32.92345,-34.05682,-33.07029,-33.08329]}, + {"t":2.57011, "x":7.60315, "y":4.49815, "heading":1.56958, "vx":-0.82475, "vy":-1.32469, "omega":0.00097, "ax":-1.67804, "ay":-1.8441, "alpha":0.07022, "fx":[-28.20185,-28.47602,-28.46442,-29.0299], "fy":[-32.40119,-30.94373,-31.09277,-31.03274]}, + {"t":2.61384, "x":7.56547, "y":4.43846, "heading":1.56962, "vx":-0.89814, "vy":-1.40534, "omega":0.00404, "ax":-1.90977, "ay":-1.59796, "alpha":0.06314, "fx":[-32.46869,-32.44446,-32.56624,-32.45937], "fy":[-26.69885,-28.38135,-26.8175,-26.82593]}, + {"t":2.65758, "x":7.52437, "y":4.37547, "heading":1.5698, "vx":-0.98166, "vy":-1.47522, "omega":0.0068, "ax":-2.33823, "ay":-0.83498, "alpha":0.14985, "fx":[-39.13247,-39.24978,-39.24713,-41.46122], "fy":[-15.09571,-13.87227,-13.96336,-13.87998]}, + {"t":2.70131, "x":7.4792, "y":4.31015, "heading":1.5701, "vx":-1.08392, "vy":-1.51174, "omega":0.01336, "ax":-1.93055, "ay":1.5499, "alpha":-0.06571, "fx":[-32.84799,-32.78393,-32.87068,-32.84996], "fy":[26.02706,27.42647,25.99937,26.00069]}, + {"t":2.74504, "x":7.42995, "y":4.24552, "heading":1.57068, "vx":-1.16835, "vy":-1.44395, "omega":0.01048, "ax":-0.32154, "ay":2.46519, "alpha":-0.09177, "fx":[-5.43965,-5.46088,-5.46037,-5.51603], "fy":[43.46059,41.40652,41.43193,41.42986]}, + {"t":2.78878, "x":7.37855, "y":4.18473, "heading":1.57114, "vx":-1.18241, "vy":-1.33614, "omega":0.00647, "ax":0.28637, "ay":2.47497, "alpha":-0.06004, "fx":[4.84859,4.8782,4.90985,4.84751], "fy":[41.6952,43.19263,41.75259,41.7534]}, + {"t":2.83251, "x":7.32711, "y":4.12866, "heading":1.57142, "vx":-1.16989, "vy":-1.2279, "omega":0.00384, "ax":0.54502, "ay":2.43369, "alpha":-0.06529, "fx":[9.03051,9.16036,9.15781,9.73418], "fy":[42.18284,41.0871,41.16621,41.1494]}, + {"t":2.87625, "x":7.27647, "y":4.07729, "heading":1.57159, "vx":-1.14605, "vy":-1.12147, "omega":0.00099, "ax":0.68351, "ay":2.39992, "alpha":-0.02481, "fx":[11.5957,11.63509,11.68331,11.59129], "fy":[40.56894,41.40753,40.65404,40.65754]}, + {"t":2.91998, "x":7.227, "y":4.03054, "heading":1.57164, "vx":-1.11616, "vy":-1.01651, "omega":-0.0001, "ax":0.76898, "ay":2.37484, "alpha":-0.04132, "fx":[12.85003,12.99674,12.99218,13.48145], "fy":[40.88176,40.18073,40.27178,40.24703]}, + {"t":2.96371, "x":7.17892, "y":3.98835, "heading":1.57163, "vx":-1.08253, "vy":-0.91265, "omega":-0.0019, "ax":0.82677, "ay":2.35598, "alpha":-0.01224, "fx":[14.03287,14.0757,14.11623,14.02786], "fy":[39.89157,40.4547,39.97378,39.9779]}, + {"t":3.00745, "x":7.13237, "y":3.95069, "heading":1.57155, "vx":-1.04637, "vy":-0.80962, "omega":-0.00244, "ax":0.86839, "ay":2.34142, "alpha":-0.01455, "fx":[14.6154,14.69248,14.68837,15.0878], "fy":[39.88425,39.76446,39.84233,39.81667]}, + {"t":3.05118, "x":7.08744, "y":3.91752, "heading":1.57144, "vx":-1.00839, "vy":-0.70722, "omega":-0.00307, "ax":0.89976, "ay":2.3299, "alpha":0.01042, "fx":[15.26708,15.35227,15.3358,15.26322], "fy":[39.57925,39.64971,39.6458,39.64916]}, + {"t":3.09491, "x":7.0442, "y":3.88882, "heading":1.57131, "vx":-0.96904, "vy":-0.60532, "omega":-0.00262, "ax":0.92423, "ay":2.32058, "alpha":-0.01214, "fx":[15.59105,15.65006,15.64681,15.99583], "fy":[39.50148,39.42861,39.49239,39.46721]}, + {"t":3.13865, "x":7.0027, "y":3.86457, "heading":1.57119, "vx":-0.92862, "vy":-0.50384, "omega":-0.00315, "ax":0.94386, "ay":2.31289, "alpha":0.00968, "fx":[16.0234,16.09524,16.08012,16.0204], "fy":[39.3036,39.34153,39.35945,39.36205]}, + {"t":3.18238, "x":6.96299, "y":3.84475, "heading":1.57106, "vx":-0.88734, "vy":-0.40268, "omega":-0.00273, "ax":0.95994, "ay":2.30645, "alpha":-0.01067, "fx":[16.21295,16.26088,16.25828,16.58139], "fy":[39.23992,39.20111,39.25566,39.23158]}, + {"t":3.22611, "x":6.92511, "y":3.82934, "heading":1.57094, "vx":-0.84536, "vy":-0.30181, "omega":-0.00319, "ax":0.97336, "ay":2.30098, "alpha":0.00888, "fx":[16.52957,16.59168,16.57819,16.52712], "fy":[39.10808,39.131,39.15732,39.15936]}, + {"t":3.26985, "x":6.88907, "y":3.81834, "heading":1.5708, "vx":-0.80279, "vy":-0.20118, "omega":-0.0028, "ax":0.22333, "ay":0.44523, "alpha":0.01822, "fx":[3.71991,3.9945,3.76091,3.71986], "fy":[7.55465,7.55399,7.59215,7.59222]}, + {"t":3.3049, "x":6.86107, "y":3.81156, "heading":1.5707, "vx":-0.79497, "vy":-0.18558, "omega":-0.00217, "ax":0.27406, "ay":0.41712, "alpha":-0.00222, "fx":[4.64553,4.67746,4.6781,4.64545], "fy":[7.03103,7.2153,7.06701,7.06707]}, + {"t":3.33995, "x":6.83337, "y":3.80532, "heading":1.57062, "vx":-0.78536, "vy":-0.17096, "omega":-0.00224, "ax":0.31613, "ay":0.38627, "alpha":0.01468, "fx":[5.31298,5.53903,5.34448,5.31293], "fy":[6.55637,6.55559,6.58478,6.58484]}, + {"t":3.37499, "x":6.80604, "y":3.79956, "heading":1.57054, "vx":-0.77428, "vy":-0.15742, "omega":-0.00173, "ax":0.35052, "ay":0.35544, "alpha":-0.00134, "fx":[5.95037,5.97388,5.9744,5.95031], "fy":[5.99978,6.13025,6.02677,6.02681]}, + {"t":3.41004, "x":6.77912, "y":3.79426, "heading":1.57048, "vx":-0.762, "vy":-0.14496, "omega":-0.00178, "ax":0.37822, "ay":0.32588, "alpha":0.01347, "fx":[6.37173,6.59566,6.39489,6.37169], "fy":[5.53302,5.5322,5.55365,5.55368]}, + {"t":3.44509, "x":6.75264, "y":3.78938, "heading":1.57042, "vx":-0.74874, "vy":-0.13354, "omega":-0.0013, "ax":0.40039, "ay":0.29831, "alpha":-0.00074, "fx":[6.80221,6.81876,6.81912,6.80217], "fy":[5.04242,5.13051,5.06177,5.06178]}, + {"t":3.48014, "x":6.72665, "y":3.78488, "heading":1.57037, "vx":-0.73471, "vy":-0.12309, "omega":-0.00133, "ax":0.4181, "ay":0.27302, "alpha":0.01181, "fx":[7.05563,7.26394,7.07183,7.05561], "fy":[4.63706,4.63634,4.65128,4.65129]}, + {"t":3.51519, "x":6.70115, "y":3.78074, "heading":1.57033, "vx":-0.72005, "vy":-0.11352, "omega":-0.00092, "ax":0.43227, "ay":0.25007, "alpha":-0.00048, "fx":[7.34724,7.3582,7.35843,7.34721], "fy":[4.23236,4.29098,4.24544,4.24542]}, + {"t":3.55024, "x":6.67618, "y":3.77691, "heading":1.5703, "vx":-0.7049, "vy":-0.10475, "omega":-0.00093, "ax":0.44365, "ay":0.22934, "alpha":0.01012, "fx":[7.4968,7.68477,7.50738,7.49678], "fy":[3.89667,3.89608,3.9058,3.90578]}, + {"t":3.58529, "x":6.65175, "y":3.77338, "heading":1.57026, "vx":-0.68935, "vy":-0.09672, "omega":-0.00058, "ax":0.45285, "ay":0.21068, "alpha":-0.00045, "fx":[7.69957,7.70614,7.70628,7.69954], "fy":[3.56989,3.60892,3.57797,3.57793]}, + {"t":3.62034, "x":6.62786, "y":3.77012, "heading":1.57024, "vx":-0.67348, "vy":-0.08933, "omega":-0.00059, "ax":0.46033, "ay":0.19389, "alpha":0.0086, "fx":[7.78655,7.95444,7.79269,7.78654], "fy":[3.2955,3.29504,3.30067,3.30063]}, + {"t":3.65539, "x":6.60454, "y":3.76711, "heading":1.57022, "vx":-0.65735, "vy":-0.08254, "omega":-0.00029, "ax":0.46644, "ay":0.17875, "alpha":-0.00053, "fx":[7.93248,7.93568,7.93576,7.93246], "fy":[3.0319,3.05807,3.03606,3.03601]}, + {"t":3.69043, "x":6.58179, "y":3.76433, "heading":1.57021, "vx":-0.641, "vy":-0.07627, "omega":-0.00031, "ax":0.47148, "ay":0.16509, "alpha":0.00731, "fx":[7.98168,8.13136,7.98436,7.98166], "fy":[2.80713,2.80677,2.80928,2.80923]}, + {"t":3.72548, "x":6.55961, "y":3.76176, "heading":1.5702, "vx":-0.62447, "vy":-0.07048, "omega":-0.00006, "ax":0.47565, "ay":0.15272, "alpha":-0.00066, "fx":[8.09043,8.09107,8.09111,8.09041], "fy":[2.59281,2.61061,2.59393,2.59388]}, + {"t":3.76053, "x":6.53802, "y":3.75938, "heading":1.5702, "vx":-0.6078, "vy":-0.06513, "omega":-0.00008, "ax":0.47913, "ay":0.14151, "alpha":0.00623, "fx":[8.11647,8.25035,8.11647,8.11645], "fy":[2.40716,2.40688,2.40701,2.40696]}, + {"t":3.79558, "x":6.51701, "y":3.75718, "heading":1.5702, "vx":-0.59101, "vy":-0.06017, "omega":0.00014, "ax":0.48205, "ay":0.1313, "alpha":-0.00081, "fx":[8.2002,8.19891,8.19893,8.20018], "fy":[2.23095,2.24321,2.22974,2.22968]}, + {"t":3.83063, "x":6.49659, "y":3.75516, "heading":1.5702, "vx":-0.57411, "vy":-0.05557, "omega":0.00011, "ax":0.48451, "ay":0.12199, "alpha":0.00534, "fx":[8.21183,8.33215,8.20977,8.21181], "fy":[2.07596,2.07575,2.0741,2.07405]}, + {"t":3.86568, "x":6.47677, "y":3.75328, "heading":1.57021, "vx":-0.55713, "vy":-0.05129, "omega":0.0003, "ax":0.48659, "ay":0.11346, "alpha":-0.00094, "fx":[8.27821,8.27546,8.27547,8.27819], "fy":[1.92935,1.93799,1.92632,1.92626]}, + {"t":3.90073, "x":6.45754, "y":3.75155, "heading":1.57022, "vx":-0.54008, "vy":-0.04732, "omega":0.00027, "ax":0.48837, "ay":0.10564, "alpha":0.0046, "fx":[8.28075,8.38945,8.27708,8.28073], "fy":[1.79855,1.79838,1.79538,1.79533]}, + {"t":3.93578, "x":6.43891, "y":3.74996, "heading":1.57023, "vx":-0.52296, "vy":-0.04361, "omega":0.00043, "ax":0.48988, "ay":0.09844, "alpha":-0.00107, "fx":[8.33472,8.33087,8.33087,8.33471], "fy":[1.67509,1.68142,1.67065,1.67059]}, + {"t":3.97082, "x":6.42088, "y":3.74849, "heading":1.57024, "vx":-0.50579, "vy":-0.04016, "omega":0.00039, "ax":0.49119, "ay":0.0918, "alpha":0.00398, "fx":[8.33148,8.43022,8.32655,8.33146], "fy":[1.56355,1.56343,1.55938,1.55933]}, + {"t":4.00587, "x":6.40346, "y":3.74714, "heading":1.57025, "vx":-0.48857, "vy":-0.03695, "omega":0.00053, "ax":0.49231, "ay":0.08565, "alpha":-0.00119, "fx":[8.37637,8.37165,8.37164,8.37635], "fy":[1.45846,1.46332,1.45287,1.45282]}, + {"t":4.04092, "x":6.38664, "y":3.7459, "heading":1.57027, "vx":-0.47132, "vy":-0.03395, "omega":0.00049, "ax":0.49328, "ay":0.07995, "alpha":0.00346, "fx":[8.36946,8.45956,8.36349,8.36944], "fy":[1.36242,1.36232,1.35744,1.3574]}, + {"t":4.07597, "x":6.37042, "y":3.74476, "heading":1.57029, "vx":-0.45403, "vy":-0.03114, "omega":0.00061, "ax":0.49412, "ay":0.07465, "alpha":-0.0013, "fx":[8.4075,8.40207,8.40207,8.40748], "fy":[1.27203,1.27602,1.2655,1.26546]}, + {"t":4.11102, "x":6.35481, "y":3.74371, "heading":1.57031, "vx":-0.43671, "vy":-0.02853, "omega":0.00056, "ax":0.49485, "ay":0.06971, "alpha":0.003, "fx":[8.39828,8.48084,8.39145,8.39826], "fy":[1.18862,1.18853,1.18297,1.18294]}, + {"t":4.14607, "x":6.33981, "y":3.74276, "heading":1.57033, "vx":-0.41937, "vy":-0.02608, "omega":0.00067, "ax":0.49548, "ay":0.0651, "alpha":-0.00141, "fx":[8.43105,8.42502,8.42502,8.43104], "fy":[1.11015,1.11367,1.10281,1.10277]}, + {"t":4.18112, "x":6.32541, "y":3.74188, "heading":1.57035, "vx":-0.402, "vy":-0.0238, "omega":0.00062, "ax":0.49604, "ay":0.06079, "alpha":0.0026, "fx":[8.42042,8.49631,8.41283,8.42041], "fy":[1.03713,1.03706,1.0309,1.03087]}, + {"t":4.21617, "x":6.31163, "y":3.74108, "heading":1.57038, "vx":-0.38462, "vy":-0.02167, "omega":0.00071, "ax":0.49653, "ay":0.05675, "alpha":-0.00152, "fx":[8.44906,8.44249,8.44249,8.44905], "fy":[0.96843,0.97177,0.96036,0.96032]}, + {"t":4.25122, "x":6.29845, "y":3.74036, "heading":1.5704, "vx":-0.36721, "vy":-0.01968, "omega":0.00066, "ax":0.49695, "ay":0.05295, "alpha":0.00224, "fx":[8.43763,8.50756,8.42932,8.43762], "fy":[0.90405,0.904,0.89728,0.89725]}, + {"t":4.28626, "x":6.28589, "y":3.7397, "heading":1.57042, "vx":-0.3498, "vy":-0.01783, "omega":0.00074, "ax":0.49733, "ay":0.04938, "alpha":-0.00164, "fx":[8.46296,8.45585,8.45585,8.46295], "fy":[0.84345,0.84681,0.83467,0.83464]}, + {"t":4.32131, "x":6.27393, "y":3.73911, "heading":1.57045, "vx":-0.33237, "vy":-0.0161, "omega":0.00068, "ax":0.49766, "ay":0.04601, "alpha":0.0019, "fx":[8.45112,8.51567,8.44211,8.45111], "fy":[0.78633,0.78628,0.779,0.77898]}, + {"t":4.35636, "x":6.26259, "y":3.73857, "heading":1.57047, "vx":-0.31492, "vy":-0.01448, "omega":0.00074, "ax":0.49795, "ay":0.04284, "alpha":-0.00176, "fx":[8.47376,8.46611,8.46611,8.47376], "fy":[0.7325,0.73602,0.723,0.72298]}, + {"t":4.39141, "x":6.25186, "y":3.73809, "heading":1.5705, "vx":-0.29747, "vy":-0.01298, "omega":0.00068, "ax":0.4982, "ay":0.03983, "alpha":0.00159, "fx":[8.46181,8.52142,8.45206,8.4618], "fy":[0.68152,0.68148,0.67362,0.67361]}, + {"t":4.42646, "x":6.24174, "y":3.73766, "heading":1.57052, "vx":-0.28001, "vy":-0.01159, "omega":0.00074, "ax":0.49843, "ay":0.03699, "alpha":-0.0019, "fx":[8.48222,8.47397,8.47397,8.48222], "fy":[0.63341,0.6372,0.62315,0.62313]}, + {"t":4.46151, "x":6.23223, "y":3.73728, "heading":1.57055, "vx":-0.26254, "vy":-0.01029, "omega":0.00067, "ax":0.49862, "ay":0.0343, "alpha":0.00128, "fx":[8.47034,8.52536,8.4598,8.47034], "fy":[0.58768,0.58765,0.57915,0.57914]}, + {"t":4.49656, "x":6.22333, "y":3.73694, "heading":1.57057, "vx":-0.24506, "vy":-0.00909, "omega":0.00072, "ax":0.4988, "ay":0.03174, "alpha":-0.00206, "fx":[8.48888,8.47997,8.47997,8.48888], "fy":[0.54445,0.54856,0.53335,0.53334]}, + {"t":4.53161, "x":6.21505, "y":3.73664, "heading":1.5706, "vx":-0.22758, "vy":-0.00797, "omega":0.00064, "ax":0.49895, "ay":0.02931, "alpha":0.00097, "fx":[8.47722,8.52791,8.4658,8.47722], "fy":[0.50323,0.50321,0.49399,0.49398]}, + {"t":4.56666, "x":6.20738, "y":3.73638, "heading":1.57062, "vx":-0.21009, "vy":-0.00695, "omega":0.00068, "ax":0.49909, "ay":0.027, "alpha":-0.00223, "fx":[8.49417,8.48449,8.4845,8.49417], "fy":[0.46418,0.46868,0.45214,0.45213]}, + {"t":4.6017, "x":6.20032, "y":3.73615, "heading":1.57064, "vx":-0.1926, "vy":-0.006, "omega":0.0006, "ax":0.49921, "ay":0.0248, "alpha":0.00065, "fx":[8.48283,8.52936,8.47039,8.48283], "fy":[0.42689,0.42686,0.4168,0.41679]}, + {"t":4.63675, "x":6.19388, "y":3.73595, "heading":1.57067, "vx":-0.17511, "vy":-0.00513, "omega":0.00062, "ax":0.49931, "ay":0.0227, "alpha":-0.00244, "fx":[8.49841,8.48783,8.48783,8.49841], "fy":[0.39147,0.39638,0.37833,0.37832]}, + {"t":4.6718, "x":6.18805, "y":3.73579, "heading":1.57069, "vx":-0.15761, "vy":-0.00434, "omega":0.00054, "ax":0.4994, "ay":0.0207, "alpha":0.00031, "fx":[8.48746,8.52993,8.47383,8.48746], "fy":[0.35758,0.35756,0.34651,0.3465]}, + {"t":4.70685, "x":6.18283, "y":3.73565, "heading":1.57071, "vx":-0.1401, "vy":-0.00361, "omega":0.00055, "ax":0.49948, "ay":0.01878, "alpha":-0.00268, "fx":[8.50185,8.49019,8.4902,8.50185], "fy":[0.32535,0.33069,0.31091,0.3109]}, + {"t":4.7419, "x":6.17823, "y":3.73553, "heading":1.57072, "vx":-0.1226, "vy":-0.00295, "omega":0.00045, "ax":0.49955, "ay":0.01695, "alpha":-0.00005, "fx":[8.49136,8.52977,8.47631,8.49136], "fy":[0.29445,0.29444,0.28218,0.28217]}, + {"t":4.77695, "x":6.17424, "y":3.73544, "heading":1.57074, "vx":-0.10509, "vy":-0.00236, "omega":0.00045, "ax":0.49961, "ay":0.0152, "alpha":-0.00297, "fx":[8.5047,8.49173,8.49173,8.5047], "fy":[0.26504,0.27083,0.24904,0.24903]}, + {"t":4.812, "x":6.17086, "y":3.73537, "heading":1.57076, "vx":-0.08758, "vy":-0.00183, "omega":0.00035, "ax":0.49966, "ay":0.01352, "alpha":-0.00046, "fx":[8.49472,8.52898,8.47796,8.49472], "fy":[0.23678,0.23677,0.22304,0.22304]}, + {"t":4.84705, "x":6.1681, "y":3.73531, "heading":1.57077, "vx":-0.07006, "vy":-0.00135, "omega":0.00033, "ax":0.49971, "ay":0.0119, "alpha":-0.00332, "fx":[8.50714,8.49255,8.49255,8.50714], "fy":[0.20988,0.21613,0.19199,0.19198]}, + {"t":4.88209, "x":6.16595, "y":3.73527, "heading":1.57078, "vx":-0.05255, "vy":-0.00093, "omega":0.00022, "ax":0.49974, "ay":0.01036, "alpha":-0.00093, "fx":[8.49772,8.52762,8.47887,8.49772], "fy":[0.18397,0.18396,0.16841,0.16841]}, + {"t":4.91714, "x":6.16442, "y":3.73525, "heading":1.57079, "vx":-0.03503, "vy":-0.00057, "omega":0.00018, "ax":0.49977, "ay":0.00887, "alpha":-0.00374, "fx":[8.50932,8.49272,8.49272,8.50932], "fy":[0.15936,0.16606,0.13913,0.13912]}, + {"t":4.95219, "x":6.1635, "y":3.73523, "heading":1.57079, "vx":-0.01752, "vy":-0.00026, "omega":0.00005, "ax":0.4998, "ay":0.00744, "alpha":-0.00148, "fx":[8.50052,8.52574,8.47909,8.50052], "fy":[0.13554,0.13553,0.11771,0.11771]}, + {"t":4.98724, "x":6.16319, "y":3.73523, "heading":1.5708, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-0.46141, "ay":0.19139, "alpha":0.00294, "fx":[-7.85962,-7.83731,-7.83732,-7.85946], "fy":[3.22094,3.28067,3.26026,3.26012]}, + {"t":5.03825, "x":6.16259, "y":3.73548, "heading":1.5708, "vx":-0.02354, "vy":0.00976, "omega":0.00015, "ax":-2.30872, "ay":0.95765, "alpha":0.00178, "fx":[-39.28114,-39.26394,-39.26024,-39.27757], "fy":[16.32053,16.25639,16.28784,16.29284]}, + {"t":5.08926, "x":6.15838, "y":3.73722, "heading":1.5708, "vx":-0.1413, "vy":0.05861, "omega":0.00024, "ax":-2.30864, "ay":0.95762, "alpha":0.00063, "fx":[-39.27784,-39.26094,-39.26363,-39.27472], "fy":[16.25344,16.33159,16.2866,16.28391]}, + {"t":5.14026, "x":6.14817, "y":3.74145, "heading":1.57082, "vx":-0.25906, "vy":0.10746, "omega":0.00027, "ax":-2.30852, "ay":0.95758, "alpha":0.00059, "fx":[-39.27417,-39.26041,-39.25722,-39.27727], "fy":[16.33702,16.24988,16.27889,16.28683]}, + {"t":5.19127, "x":6.13196, "y":3.74818, "heading":1.57083, "vx":-0.37681, "vy":0.1563, "omega":0.0003, "ax":-2.30834, "ay":0.95752, "alpha":-0.00095, "fx":[-39.27344,-39.25354,-39.25929,-39.27074], "fy":[16.24473,16.35533,16.27524,16.27297]}, + {"t":5.24228, "x":6.10973, "y":3.7574, "heading":1.57085, "vx":-0.49455, "vy":0.20514, "omega":0.00025, "ax":-2.30805, "ay":0.95741, "alpha":-0.00219, "fx":[-39.2597,-39.25224,-39.24967,-39.27525], "fy":[16.37779,16.23284,16.25858,16.2719]}, + {"t":5.29329, "x":6.0815, "y":3.76911, "heading":1.57086, "vx":-0.61228, "vy":0.25398, "omega":0.00014, "ax":-2.30745, "ay":0.9572, "alpha":-0.00532, "fx":[-39.25884,-39.23384,-39.24707,-39.25683], "fy":[16.22081,16.41713,16.2453,16.24372]}, + {"t":5.3443, "x":6.04727, "y":3.78331, "heading":1.57087, "vx":-0.72998, "vy":0.3028, "omega":-0.00013, "ax":-2.30568, "ay":0.95659, "alpha":0.01587, "fx":[-39.03829,-39.0468,-39.0452,-39.74577], "fy":[16.52275,16.19557,16.21521,16.15191]}, + {"t":5.3953, "x":6.00704, "y":3.8, "heading":1.57086, "vx":-0.84759, "vy":0.3516, "omega":0.00068, "ax":-1.84768, "ay":0.76532, "alpha":-0.01682, "fx":[-31.43958,-31.40628,-31.42977,-31.43867], "fy":[12.89863,13.33887,12.91733,12.91677]}, + {"t":5.44631, "x":5.9614, "y":3.81893, "heading":1.57089, "vx":-0.94183, "vy":0.39063, "omega":-0.00018, "ax":2.30578, "ay":-0.9562, "alpha":-0.01834, "fx":[38.88026,38.93261,38.93346,40.13647], "fy":[-16.77188,-16.13607,-16.12417,-16.02695]}, + {"t":5.49732, "x":5.91636, "y":3.83761, "heading":1.57089, "vx":-0.82422, "vy":0.34186, "omega":-0.00111, "ax":2.30751, "ay":-0.95702, "alpha":0.01089, "fx":[39.25633,39.2329,39.2549,39.25648], "fy":[-16.21614,-16.47064,-16.21408,-16.2139]}, + {"t":5.54833, "x":5.87732, "y":3.8538, "heading":1.57083, "vx":-0.70652, "vy":0.29304, "omega":-0.00056, "ax":2.30809, "ay":-0.9573, "alpha":0.00635, "fx":[39.24909,39.26072,39.26014,39.26962], "fy":[-16.39877,-16.23502,-16.24042,-16.25923]}, + {"t":5.59933, "x":5.84428, "y":3.8675, "heading":1.5708, "vx":-0.58879, "vy":0.24421, "omega":-0.00023, "ax":2.30837, "ay":-0.95743, "alpha":0.00307, "fx":[39.27258,39.25279,39.26208,39.27159], "fy":[-16.25018,-16.36878,-16.26252,-16.26124]}, + {"t":5.65034, "x":5.81725, "y":3.87872, "heading":1.57079, "vx":-0.47104, "vy":0.19538, "omega":-0.00008, "ax":2.30854, "ay":-0.95752, "alpha":0.00236, "fx":[39.26721,39.26658,39.26517,39.27176], "fy":[-16.34942,-16.25362,-16.2669,-16.2783]}, + {"t":5.70135, "x":5.79623, "y":3.88744, "heading":1.57078, "vx":-0.35329, "vy":0.14654, "omega":0.00004, "ax":2.30866, "ay":-0.95757, "alpha":0.00091, "fx":[39.27747,39.25995,39.26512,39.27598], "fy":[-16.25993,-16.34001,-16.27688,-16.2751]}, + {"t":5.75236, "x":5.78121, "y":3.89366, "heading":1.57079, "vx":-0.23553, "vy":0.09769, "omega":0.00009, "ax":2.30874, "ay":-0.95761, "alpha":0.00033, "fx":[39.27862,39.26231,39.26621,39.27695], "fy":[-16.26298,-16.33139,-16.28104,-16.2791]}, + {"t":5.80337, "x":5.7722, "y":3.8974, "heading":1.57079, "vx":-0.11777, "vy":0.04885, "omega":0.00011, "ax":2.3088, "ay":-0.95764, "alpha":-0.0021, "fx":[39.27841,39.26975,39.26377,39.27633], "fy":[-16.27924,-16.28711,-16.29594,-16.29419]}, + {"t":5.85437, "x":5.7692, "y":3.89865, "heading":1.5708, "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,39,119] + }, + "events":[] +} diff --git a/src/auto/mod.rs b/src/auto/mod.rs index a83d0f8..54f5757 100644 --- a/src/auto/mod.rs +++ b/src/auto/mod.rs @@ -420,9 +420,9 @@ async fn tush_push_1(robot: Rc>) -> Result<(), Box(4.919252395629883) )); - drive("BlueCenter1", &mut drivetrain, 1).await?; + drive("TushPush1", &mut drivetrain, 1).await?; - join!(drive("BlueCenter1", &mut drivetrain, 2), async { + join!(drive("TushPush1", &mut drivetrain, 2), async { elevator.set_target(ElevatorPosition::L2); elevator.run_to_target_trapezoid(); From 89849a617cfccadae03f1e38dc8b231b8d1a4752 Mon Sep 17 00:00:00 2001 From: TheSnowHatHero Date: Thu, 13 Mar 2025 22:55:18 -0500 Subject: [PATCH 36/42] move to close-to-reef end of lineup tolerance at end of lineup --- src/subsystems/drivetrain.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/subsystems/drivetrain.rs b/src/subsystems/drivetrain.rs index c098c4a..2d0558a 100644 --- a/src/subsystems/drivetrain.rs +++ b/src/subsystems/drivetrain.rs @@ -601,8 +601,8 @@ impl Drivetrain { if error_position.magnitude().abs() < 0.015 && error_angle.abs() < 0.015 { - self.stop(); - //self.set_speeds(0., 0., 0., SwerveControlStyle::RobotOriented); + // self.stop(); + self.set_speeds(0., 0.1, 0., SwerveControlStyle::RobotOriented); // println!("dt at position"); true } else { From b7b9cce9d9c240152fd790ca2561d5b070b2e736 Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Fri, 14 Mar 2025 15:35:52 -0500 Subject: [PATCH 37/42] tuning changes, needs more --- src/constants.rs | 14 +++++++------- src/subsystems/drivetrain.rs | 13 +++++++------ 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/constants.rs b/src/constants.rs index 56669fd..256ec2e 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -95,7 +95,7 @@ pub mod drivetrain { pub const TY_ACCEPTABLE_ERROR: f64 = 1.8; pub const YAW_ACCEPTABLE_ERROR: f64 = 0.02; - pub const LINEUP_DRIVE_KP: f64 = 0.9; + pub const LINEUP_DRIVE_KP: f64 = 1.; pub const LINEUP_DRIVE_KI: f64 = 10.; pub const LINEUP_DRIVE_KD: f64 = 10.; pub const LINEUP_DRIVE_IE: f64 = 0.25; @@ -112,9 +112,9 @@ pub mod pose_estimation { } pub mod elevator { pub const BOTTOM: f64 = 0.25; // unit is rotations - pub const L2: f64 = 2.; // unit is rotations - pub const L3: f64 = 15.5; // unit is rotations - pub const L4: f64 = 39.1; // unit is rotations + pub const L2: f64 = 1.5; // unit is rotations + pub const L3: f64 = 15.; // unit is rotations + pub const L4: f64 = 39.5; // unit is rotations pub const ELEVATOR_TRAPEZOID_DT_MS: u64 = 50; // sleep.await this long in between updating the elevator trapezoidal when running its async function pub const POSITION_TOLERANCE: f64 = 0.25; // unit is rotations. finish elevator async move when within this distance of target } @@ -122,9 +122,9 @@ pub mod indexer { pub const LASER_TRIP_DISTANCE_MM: i32 = 2; pub const INTAKE_SPEED: f64 = -0.25; pub const BOTTOM_SPEED: f64 = -0.35; - pub const L2_SPEED: f64 = -0.425; - pub const L3_SPEED: f64 = -0.425; - pub const L4_SPEED: f64 = -0.325; + pub const L2_SPEED: f64 = -0.4; + pub const L3_SPEED: f64 = -0.4; + pub const L4_SPEED: f64 = -0.2; } pub mod joystick_map { // Joystick IDs (set in driver station) diff --git a/src/subsystems/drivetrain.rs b/src/subsystems/drivetrain.rs index 2d0558a..4e641ec 100644 --- a/src/subsystems/drivetrain.rs +++ b/src/subsystems/drivetrain.rs @@ -577,6 +577,11 @@ impl Drivetrain { error_angle *= SWERVE_TURN_KP; error_position *= -LINEUP_DRIVE_KP; + // Give KP boost when close + if error_position.magnitude().abs() < 0.1 { + error_position *= 2.75; + } + let mut speed = error_position; speed += i * -LINEUP_DRIVE_KI * dt.as_secs_f64(); speed += (speed - last_error) * LINEUP_DRIVE_KD * dt.as_secs_f64(); @@ -584,10 +589,6 @@ impl Drivetrain { let speed_s = speed; last_error = speed_s; - // if alliance_station().red() { - // speed.x *= -1. - // } - Telemetry::put_number("error_position_x", error_position.x).await; Telemetry::put_number("error_position_y", error_position.y).await; Telemetry::put_number("error_angle", error_angle).await; @@ -601,8 +602,8 @@ impl Drivetrain { if error_position.magnitude().abs() < 0.015 && error_angle.abs() < 0.015 { - // self.stop(); - self.set_speeds(0., 0.1, 0., SwerveControlStyle::RobotOriented); + self.stop(); + // self.set_speeds(0., 0.1, 0., SwerveControlStyle::RobotOriented); // println!("dt at position"); true } else { From 6ce402e6baa17be18e317c9060ccde69287b8523 Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Fri, 14 Mar 2025 15:43:37 -0500 Subject: [PATCH 38/42] tuning --- src/constants.rs | 2 +- src/subsystems/drivetrain.rs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/constants.rs b/src/constants.rs index 256ec2e..e354eac 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -113,7 +113,7 @@ pub mod pose_estimation { pub mod elevator { pub const BOTTOM: f64 = 0.25; // unit is rotations pub const L2: f64 = 1.5; // unit is rotations - pub const L3: f64 = 15.; // unit is rotations + pub const L3: f64 = 14.8; // unit is rotations pub const L4: f64 = 39.5; // unit is rotations pub const ELEVATOR_TRAPEZOID_DT_MS: u64 = 50; // sleep.await this long in between updating the elevator trapezoidal when running its async function pub const POSITION_TOLERANCE: f64 = 0.25; // unit is rotations. finish elevator async move when within this distance of target diff --git a/src/subsystems/drivetrain.rs b/src/subsystems/drivetrain.rs index 4e641ec..70ddd24 100644 --- a/src/subsystems/drivetrain.rs +++ b/src/subsystems/drivetrain.rs @@ -578,8 +578,8 @@ impl Drivetrain { error_position *= -LINEUP_DRIVE_KP; // Give KP boost when close - if error_position.magnitude().abs() < 0.1 { - error_position *= 2.75; + if error_position.magnitude().abs() < 0.15 { + error_position *= 2.5; } let mut speed = error_position; From 67013851cfadaadefe7942ca58272fec3f1e30f5 Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Fri, 14 Mar 2025 16:23:49 -0500 Subject: [PATCH 39/42] untested code finally worked --- src/constants.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/constants.rs b/src/constants.rs index e354eac..509512e 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -113,7 +113,7 @@ pub mod pose_estimation { pub mod elevator { pub const BOTTOM: f64 = 0.25; // unit is rotations pub const L2: f64 = 1.5; // unit is rotations - pub const L3: f64 = 14.8; // unit is rotations + pub const L3: f64 = 14.; // unit is rotations pub const L4: f64 = 39.5; // unit is rotations pub const ELEVATOR_TRAPEZOID_DT_MS: u64 = 50; // sleep.await this long in between updating the elevator trapezoidal when running its async function pub const POSITION_TOLERANCE: f64 = 0.25; // unit is rotations. finish elevator async move when within this distance of target From ed30271c1530cb11cba67912a41022b4937d7916 Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Fri, 14 Mar 2025 17:01:59 -0500 Subject: [PATCH 40/42] tuned again, said it would work like 20 commits ago. Maybe this is the lucky one? --- src/constants.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/constants.rs b/src/constants.rs index 509512e..9386dcd 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -113,7 +113,7 @@ pub mod pose_estimation { pub mod elevator { pub const BOTTOM: f64 = 0.25; // unit is rotations pub const L2: f64 = 1.5; // unit is rotations - pub const L3: f64 = 14.; // unit is rotations + pub const L3: f64 = 13.; // unit is rotations pub const L4: f64 = 39.5; // unit is rotations pub const ELEVATOR_TRAPEZOID_DT_MS: u64 = 50; // sleep.await this long in between updating the elevator trapezoidal when running its async function pub const POSITION_TOLERANCE: f64 = 0.25; // unit is rotations. finish elevator async move when within this distance of target From d2bcdb98b5717ea4514637660bc8586c98487b2c Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Fri, 14 Mar 2025 20:32:20 -0500 Subject: [PATCH 41/42] fixed limelight angle --- src/constants.rs | 2 +- src/subsystems/drivetrain.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/constants.rs b/src/constants.rs index 9386dcd..f2f57ce 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -48,7 +48,7 @@ pub const HALF_FIELD_LENGTH_METERS: f64 = 8.05 / 2.; pub mod vision { use nalgebra::Vector2; - pub const LIMELIGHT_UPPER_PITCH_DEGREES: f64 = -34.75; //Last measured: -38.1 + pub const LIMELIGHT_UPPER_PITCH_DEGREES: f64 = -34.5; //Last measured: -37.0 pub const LIMELIGHT_UPPER_YAW_DEGREES: f64 = 90.; // Counterclockwise positive pub const LIMELIGHT_UPPER_HEIGHT_INCHES: f64 = 20.92; pub const ROBOT_CENTER_TO_LIMELIGHT_UPPER_INCHES: Vector2 = Vector2::new(11.118, 10.352); diff --git a/src/subsystems/drivetrain.rs b/src/subsystems/drivetrain.rs index 70ddd24..0ce6297 100644 --- a/src/subsystems/drivetrain.rs +++ b/src/subsystems/drivetrain.rs @@ -579,7 +579,7 @@ impl Drivetrain { // Give KP boost when close if error_position.magnitude().abs() < 0.15 { - error_position *= 2.5; + error_position *= 2.; } let mut speed = error_position; From aa44fce37ea2e0099146eb82b109b70e6c3243ec Mon Sep 17 00:00:00 2001 From: Nolan Peterson Date: Sat, 15 Mar 2025 14:12:40 -0500 Subject: [PATCH 42/42] increased l4 speed --- src/constants.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/constants.rs b/src/constants.rs index f2f57ce..af2aff4 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -124,7 +124,7 @@ pub mod indexer { pub const BOTTOM_SPEED: f64 = -0.35; pub const L2_SPEED: f64 = -0.4; pub const L3_SPEED: f64 = -0.4; - pub const L4_SPEED: f64 = -0.2; + pub const L4_SPEED: f64 = -0.4; } pub mod joystick_map { // Joystick IDs (set in driver station)