diff --git a/.gitignore b/.gitignore index 524f096..a826516 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,41 @@ +# This gitignore has been specially created by the WPILib team. +# If you remove items from this file, intellisense might break. + +### C++ ### +# Prerequisites +*.d + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + +### Java ### # Compiled class file *.class @@ -21,4 +59,129 @@ # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* -replay_pid* + +### Linux ### +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +### macOS ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### VisualStudioCode ### +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + +### Windows ### +# Windows thumbnail cache files +Thumbs.db +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +### Gradle ### +.gradle +/build/ + +# Ignore Gradle GUI config +gradle-app.setting + +# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored) +!gradle-wrapper.jar + +# Cache of project +.gradletasknamecache + +# # Work around https://youtrack.jetbrains.com/issue/IDEA-116898 +# gradle/wrapper/gradle-wrapper.properties + +# # VS Code Specific Java Settings +# DO NOT REMOVE .classpath and .project +.classpath +.project +.settings/ +bin/ + +# IntelliJ +*.iml +*.ipr +*.iws +.idea/ +out/ + +# Fleet +.fleet + +# Simulation GUI and other tools window save file +networktables.json +simgui.json +*-window.json + +# Simulation data log directory +logs/ + +# Folder that has CTRE Phoenix Sim device config storage +ctre_sim/ + +# clangd +/.cache +compile_commands.json + +# Eclipse generated file for annotation processors +.factorypath \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..c9c9713 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,21 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + + { + "type": "wpilib", + "name": "WPILib Desktop Debug", + "request": "launch", + "desktop": true, + }, + { + "type": "wpilib", + "name": "WPILib roboRIO Debug", + "request": "launch", + "desktop": false, + } + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..612cdd0 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,60 @@ +{ + "java.configuration.updateBuildConfiguration": "automatic", + "java.server.launchMode": "Standard", + "files.exclude": { + "**/.git": true, + "**/.svn": true, + "**/.hg": true, + "**/CVS": true, + "**/.DS_Store": true, + "bin/": true, + "**/.classpath": true, + "**/.project": true, + "**/.settings": true, + "**/.factorypath": true, + "**/*~": true + }, + "java.test.config": [ + { + "name": "WPIlibUnitTests", + "workingDirectory": "${workspaceFolder}/build/jni/release", + "vmargs": [ "-Djava.library.path=${workspaceFolder}/build/jni/release" ], + "env": { + "LD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" , + "DYLD_LIBRARY_PATH": "${workspaceFolder}/build/jni/release" + } + }, + ], + "java.test.defaultConfig": "WPIlibUnitTests", + "java.import.gradle.annotationProcessing.enabled": false, + "java.completion.favoriteStaticMembers": [ + "org.junit.Assert.*", + "org.junit.Assume.*", + "org.junit.jupiter.api.Assertions.*", + "org.junit.jupiter.api.Assumptions.*", + "org.junit.jupiter.api.DynamicContainer.*", + "org.junit.jupiter.api.DynamicTest.*", + "org.mockito.Mockito.*", + "org.mockito.ArgumentMatchers.*", + "org.mockito.Answers.*", + "edu.wpi.first.units.Units.*" + ], + "java.completion.filteredTypes": [ + "java.awt.*", + "com.sun.*", + "sun.*", + "jdk.*", + "org.graalvm.*", + "io.micrometer.shaded.*", + "java.beans.*", + "java.util.Base64.*", + "java.util.Timer", + "java.sql.*", + "javax.swing.*", + "javax.management.*", + "javax.smartcardio.*", + "edu.wpi.first.math.proto.*", + "edu.wpi.first.math.**.proto.*", + "edu.wpi.first.math.**.struct.*", + ] +} diff --git a/.wpilib/wpilib_preferences.json b/.wpilib/wpilib_preferences.json new file mode 100644 index 0000000..96ea8d5 --- /dev/null +++ b/.wpilib/wpilib_preferences.json @@ -0,0 +1,6 @@ +{ + "enableCppIntellisense": false, + "currentLanguage": "java", + "projectYear": "2025", + "teamNumber": 4499 +} \ No newline at end of file diff --git a/Main.java b/Main.java new file mode 100644 index 0000000..d61e3f8 --- /dev/null +++ b/Main.java @@ -0,0 +1,15 @@ +import java.util.Vector; + +import frc.robot.subsystems.SwerveModule; + +public class Main { + SwerveModule swerve1 = new SwerveModule(); + + public static void main(String[] args) { + + } + + public void run() { + + } +} diff --git a/Polar Pathing/Robots/d.polarrc b/Polar Pathing/Robots/d.polarrc new file mode 100644 index 0000000..510689c Binary files /dev/null and b/Polar Pathing/Robots/d.polarrc differ diff --git a/WPILib-License.md b/WPILib-License.md new file mode 100644 index 0000000..645e542 --- /dev/null +++ b/WPILib-License.md @@ -0,0 +1,24 @@ +Copyright (c) 2009-2024 FIRST and other WPILib contributors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of FIRST, WPILib, nor the names of other WPILib + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY FIRST AND OTHER WPILIB CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY NONINFRINGEMENT AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL FIRST OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..6eea189 --- /dev/null +++ b/build.gradle @@ -0,0 +1,107 @@ +plugins { + id "java" + id "edu.wpi.first.GradleRIO" version "2025.2.1" +} + +java { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 +} + + +def ROBOT_MAIN_CLASS = "frc.robot.Main" + +// Define my targets (RoboRIO) and artifacts (deployable files) +// This is added by GradleRIO's backing project DeployUtils. +deploy { + targets { + roborio(getTargetTypeClass('RoboRIO')) { + // Team number is loaded either from the .wpilib/wpilib_preferences.json + // or from command line. If not found an exception will be thrown. + // You can use getTeamOrDefault(team) instead of getTeamNumber if you + // want to store a team number in this file. + team = project.frc.getTeamNumber() + debug = project.frc.getDebugOrDefault(false) + + artifacts { + // First part is artifact name, 2nd is artifact type + // getTargetTypeClass is a shortcut to get the class type using a string + + frcJava(getArtifactTypeClass('FRCJavaArtifact')) { + } + + // Static files artifact + frcStaticFileDeploy(getArtifactTypeClass('FileTreeArtifact')) { + files = project.fileTree('src/main/deploy') + directory = '/home/lvuser/deploy' + deleteOldFiles = false // Change to true to delete files on roboRIO that no + // longer exist in deploy directory of this project + } + } + } + } +} + +def deployArtifact = deploy.targets.roborio.artifacts.frcJava + +// Set to true to use debug for JNI. +wpi.java.debugJni = false + +// Set this to true to enable desktop support. +def includeDesktopSupport = false + +// Defining my dependencies. In this case, WPILib (+ friends), and vendor libraries. +// Also defines JUnit 5. +dependencies { + annotationProcessor wpi.java.deps.wpilibAnnotations() + implementation wpi.java.deps.wpilib() + implementation wpi.java.vendor.java() + + implementation 'org.json:json:20230227' + + roborioDebug wpi.java.deps.wpilibJniDebug(wpi.platforms.roborio) + roborioDebug wpi.java.vendor.jniDebug(wpi.platforms.roborio) + + roborioRelease wpi.java.deps.wpilibJniRelease(wpi.platforms.roborio) + roborioRelease wpi.java.vendor.jniRelease(wpi.platforms.roborio) + + nativeDebug wpi.java.deps.wpilibJniDebug(wpi.platforms.desktop) + nativeDebug wpi.java.vendor.jniDebug(wpi.platforms.desktop) + simulationDebug wpi.sim.enableDebug() + + nativeRelease wpi.java.deps.wpilibJniRelease(wpi.platforms.desktop) + nativeRelease wpi.java.vendor.jniRelease(wpi.platforms.desktop) + simulationRelease wpi.sim.enableRelease() + + testImplementation 'org.junit.jupiter:junit-jupiter:5.10.1' + testRuntimeOnly 'org.junit.platform:junit-platform-launcher' +} + +test { + useJUnitPlatform() + systemProperty 'junit.jupiter.extensions.autodetection.enabled', 'true' +} + +// Simulation configuration (e.g. environment variables). +wpi.sim.addGui().defaultEnabled = true +wpi.sim.addDriverstation() + +// Setting up my Jar File. In this case, adding all libraries into the main jar ('fat jar') +// in order to make them all available at runtime. Also adding the manifest so WPILib +// knows where to look for our Robot Class. +jar { + from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } } + from sourceSets.main.allSource + manifest edu.wpi.first.gradlerio.GradleRIOPlugin.javaManifest(ROBOT_MAIN_CLASS) + duplicatesStrategy = DuplicatesStrategy.INCLUDE +} + +// Configure jar and deploy tasks +deployArtifact.jarTask = jar +wpi.java.configureExecutableTasks(jar) +wpi.java.configureTestTasks(test) + +// Configure string concat to always inline compile +tasks.withType(JavaCompile) { + options.compilerArgs.add '-XDstringConcat=inline' +} diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..a4b76b9 Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..34bd9ce --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,7 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=permwrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11-bin.zip +networkTimeout=10000 +validateDistributionUrl=true +zipStoreBase=GRADLE_USER_HOME +zipStorePath=permwrapper/dists diff --git a/gradlew b/gradlew new file mode 100644 index 0000000..f5feea6 --- /dev/null +++ b/gradlew @@ -0,0 +1,252 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s +' "$PWD" ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..9d21a21 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,94 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..c493958 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,30 @@ +import org.gradle.internal.os.OperatingSystem + +pluginManagement { + repositories { + mavenLocal() + gradlePluginPortal() + String frcYear = '2025' + File frcHome + if (OperatingSystem.current().isWindows()) { + String publicFolder = System.getenv('PUBLIC') + if (publicFolder == null) { + publicFolder = "C:\\Users\\Public" + } + def homeRoot = new File(publicFolder, "wpilib") + frcHome = new File(homeRoot, frcYear) + } else { + def userFolder = System.getProperty("user.home") + def homeRoot = new File(userFolder, "wpilib") + frcHome = new File(homeRoot, frcYear) + } + def frcHomeMaven = new File(frcHome, 'maven') + maven { + name = 'frcHome' + url = frcHomeMaven + } + } +} + +Properties props = System.getProperties(); +props.setProperty("org.gradle.internal.native.headers.unresolved.dependencies.ignore", "true"); diff --git a/src/main/deploy/Paths/Commands.polarauto b/src/main/deploy/Paths/Commands.polarauto new file mode 100644 index 0000000..21f52a9 --- /dev/null +++ b/src/main/deploy/Paths/Commands.polarauto @@ -0,0 +1 @@ +{"meta_data":{"auto_name":"Commands","robot_name":"d","field_name":"reefscape-updated"},"schedule":[{"branched":false,"path":0},{"branched":false,"path":1},{"branched":false,"path":2}],"paths":[{"meta_data":{"path_name":"Print"},"key_points":[{"x":4.599737876802097,"y":1.185645181567434,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0,"time":0.0},{"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0,"time":1.0}],"commands":[{"start":0.0,"end":1.0,"command":{"start":0.0,"end":1.0,"name":"Print"}}],"sampled_points":[{"x":4.599737876802097,"y":1.185645181567434,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0,"time":0.0},{"x":4.599746787803757,"y":1.185645784486204,"angle":0.0,"x_velocity":0.002659839824901703,"y_velocity":0.00017996488129588717,"angular_velocity":0.0,"x_acceleration":0.5265945511926603,"y_acceleration":0.035629410842418066,"angular_acceleration":0.0,"time":0.01},{"x":4.599808092303691,"y":1.1856499323514065,"angle":0.0,"x_velocity":0.010425508286238531,"y_velocity":0.0007053903560721152,"angular_velocity":0.0,"x_acceleration":1.021274281100917,"y_acceleration":0.0690994634519623,"angular_acceleration":0.0,"time":0.02},{"x":4.5999712637025825,"y":1.1856609725355398,"angle":0.0,"x_velocity":0.02298111378558322,"y_velocity":0.0015549031846767698,"angular_velocity":0.0,"x_acceleration":1.4846905126081256,"y_acceleration":0.10045422636399749,"angular_acceleration":0.0,"time":0.03},{"x":4.600282649051271,"y":1.1856820408821334,"angle":0.0,"x_velocity":0.04001727795334206,"y_velocity":0.002707570812811585,"angular_velocity":0.0,"x_acceleration":1.9174945685976403,"y_acceleration":0.12973776811388843,"angular_acceleration":0.0,"time":0.04},{"x":4.60078553418305,"y":1.1857160661125998,"angle":0.0,"x_velocity":0.06123113564875492,"y_velocity":0.004142901371531941,"angular_velocity":0.0,"x_acceleration":2.320337771952818,"y_acceleration":0.15699415723699986,"angular_acceleration":0.0,"time":0.05},{"x":4.601520208845941,"y":1.1857657742330892,"angle":0.0,"x_velocity":0.08632633495989515,"y_velocity":0.0058408436772468654,"angular_velocity":0.0,"x_acceleration":2.693871445557012,"y_acceleration":0.18226746226869653,"angular_acceleration":0.0,"time":0.060000000000000005},{"x":4.602524031834998,"y":1.1858336929413422,"angle":0.0,"x_velocity":0.11501303720366972,"y_velocity":0.007781787231719037,"angular_velocity":0.0,"x_acceleration":3.0387469122935777,"y_acceleration":0.20560175174434325,"angular_acceleration":0.0,"time":0.07},{"x":4.603831496124583,"y":1.1859221560335447,"angle":0.0,"x_velocity":0.1470079169258191,"y_velocity":0.00994656222206478,"angular_velocity":0.0,"x_acceleration":3.3556154950458708,"y_acceleration":0.22704109419930477,"angular_acceleration":0.0,"time":0.08},{"x":4.605474294000665,"y":1.1860333078111795,"angle":0.0,"x_velocity":0.1820341619009174,"y_velocity":0.012316439520754065,"angular_velocity":0.0,"x_acceleration":3.645128516697247,"y_acceleration":0.2466295581689459,"angular_acceleration":0.0,"time":0.09},{"x":4.6074813821930976,"y":1.186169107487882,"angle":0.0,"x_velocity":0.21982147313237216,"y_velocity":0.01487313068561051,"angular_velocity":0.0,"x_acceleration":3.9079373001310613,"y_acceleration":0.2644112121886314,"angular_acceleration":0.0,"time":0.09999999999999999},{"x":4.609879047007915,"y":1.1863313335962913,"angle":0.0,"x_velocity":0.2601060648524245,"y_velocity":0.017598787959811384,"angular_velocity":0.0,"x_acceleration":4.144693168230668,"y_acceleration":0.28043012479372587,"angular_acceleration":0.0,"time":0.10999999999999999},{"x":4.61269096945962,"y":1.186521588394906,"angle":0.0,"x_velocity":0.3026306645221493,"y_velocity":0.020476004271887605,"angular_velocity":0.0,"x_acceleration":4.356047443879422,"y_acceleration":0.2947303645195944,"angular_acceleration":0.0,"time":0.11999999999999998},{"x":4.615938290403465,"y":1.1867413022749365,"angle":0.0,"x_velocity":0.3471445128314546,"y_velocity":0.023487813235723732,"angular_velocity":0.0,"x_acceleration":4.54265144996068,"y_acceleration":0.3073559999016015,"angular_acceleration":0.0,"time":0.12999999999999998},{"x":4.6196396756677505,"y":1.1869917381671586,"angle":0.0,"x_velocity":0.3934033636990824,"y_velocity":0.026617689150557986,"angular_velocity":0.0,"x_acceleration":4.705156509357797,"y_acceleration":0.3183510994751122,"angular_acceleration":0.0,"time":0.13999999999999999},{"x":4.623811381186107,"y":1.187273995948768,"angle":0.0,"x_velocity":0.44116948427260805,"y_velocity":0.029849547000982215,"angular_velocity":0.0,"x_acceleration":4.844213944954127,"y_acceleration":0.32775973177549095,"angular_acceleration":0.0,"time":0.15},{"x":4.628467318129785,"y":1.1875890168502317,"angle":0.0,"x_velocity":0.4902116549284403,"y_velocity":0.03316774245694192,"angular_velocity":0.0,"x_acceleration":4.960475079633026,"y_acceleration":0.33562596533810285,"angular_acceleration":0.0,"time":0.16},{"x":4.633619118039943,"y":1.1879375878621445,"angle":0.0,"x_velocity":0.5403051692718217,"y_velocity":0.03655707187373626,"angular_velocity":0.0,"x_acceleration":5.054591236277851,"y_acceleration":0.3419938686983124,"angular_acceleration":0.0,"time":0.17},{"x":4.639276197959935,"y":1.18832034614208,"angle":0.0,"x_velocity":0.5912318341368283,"y_velocity":0.04000277229201805,"angular_velocity":0.0,"x_acceleration":5.127213737771952,"y_acceleration":0.34690751039148454,"angular_acceleration":0.0,"time":0.18000000000000002},{"x":4.645445825567602,"y":1.1887377834214448,"angle":0.0,"x_velocity":0.6427799695863696,"y_velocity":0.043490521437793715,"angular_velocity":0.0,"x_acceleration":5.17899390699869,"y_acceleration":0.3504109589529838,"angular_acceleration":0.0,"time":0.19000000000000003},{"x":4.652133184307558,"y":1.1891902504123335,"angle":0.0,"x_velocity":0.694744408912189,"y_velocity":0.047006437722423376,"angular_velocity":0.0,"x_acceleration":5.210583066841415,"y_acceleration":0.3525482829181753,"angular_acceleration":0.0,"time":0.20000000000000004},{"x":4.659341438523477,"y":1.1896779612143802,"angle":0.0,"x_velocity":0.7469264986348626,"y_velocity":0.050537080242620755,"angular_velocity":0.0,"x_acceleration":5.222632540183487,"y_acceleration":0.35336355082242354,"angular_acceleration":0.0,"time":0.21000000000000005},{"x":4.667071798590384,"y":1.1902009977216128,"angle":0.0,"x_velocity":0.7991340985038011,"y_velocity":0.05406944878045326,"angular_velocity":0.0,"x_acceleration":5.215793649908257,"y_acceleration":0.35290083120109356,"angular_acceleration":0.0,"time":0.22000000000000006},{"x":4.675323586046942,"y":1.1907593140293076,"angle":0.0,"x_velocity":0.851181581497248,"y_velocity":0.05759098380334191,"angular_velocity":0.0,"x_acceleration":5.190717718899082,"y_acceleration":0.3512041925895498,"angular_acceleration":0.0,"time":0.23000000000000007},{"x":4.684094298727741,"y":1.1913527408408409,"angle":0.0,"x_velocity":0.9028898338222806,"y_velocity":0.061089566464061426,"angular_velocity":0.0,"x_acceleration":5.1480560700393205,"y_acceleration":0.3483177035231573,"angular_acceleration":0.0,"time":0.24000000000000007},{"x":4.693379675895587,"y":1.1919809898745435,"angle":0.0,"x_velocity":0.9540862549148101,"y_velocity":0.06455351860074011,"angular_velocity":0.0,"x_acceleration":5.088460026212321,"y_acceleration":0.3442854325372807,"angular_acceleration":0.0,"time":0.25000000000000006},{"x":4.703173763373786,"y":1.1926436582705553,"angle":0.0,"x_velocity":1.0046047574395809,"y_velocity":0.06797160273685998,"angular_velocity":0.0,"x_acceleration":5.012580910301445,"y_acceleration":0.33915144816728493,"angular_acceleration":0.0,"time":0.26000000000000006},{"x":4.71346897867844,"y":1.193340232997677,"angle":0.0,"x_velocity":1.054285767290171,"y_velocity":0.07133302208125665,"angular_velocity":0.0,"x_acceleration":4.92107004519004,"y_acceleration":0.33295981894853444,"angular_acceleration":0.0,"time":0.2700000000000001},{"x":4.724256176150726,"y":1.1940700952602237,"angle":0.0,"x_velocity":1.1029762235889915,"y_velocity":0.07462742052811938,"angular_velocity":0.0,"x_acceleration":4.814578753761472,"y_acceleration":0.3257546134163943,"angular_acceleration":0.0,"time":0.2800000000000001},{"x":4.735524712089193,"y":1.194832524904881,"angle":0.0,"x_velocity":1.1505295786872876,"y_velocity":0.07784488265699109,"angular_velocity":0.0,"x_acceleration":4.693758358899087,"y_acceleration":0.31757990010622905,"angular_acceleration":0.0,"time":0.2900000000000001},{"x":4.747262509882045,"y":1.1956267048275548,"angle":0.0,"x_velocity":1.1968057981651383,"y_velocity":0.0809759337327684,"angular_velocity":0.0,"x_acceleration":4.55926018348624,"y_acceleration":0.3084797475534038,"angular_acceleration":0.0,"time":0.3000000000000001},{"x":4.759456125139431,"y":1.1964517253802283,"angle":0.0,"x_velocity":1.2416713608314554,"y_velocity":0.08401153970570155,"angular_velocity":0.0,"x_acceleration":4.411735550406291,"y_acceleration":0.2984982242932829,"angular_acceleration":0.0,"time":0.3100000000000001},{"x":4.772090810825736,"y":1.197306588777813,"angle":0.0,"x_velocity":1.2849992587239853,"y_velocity":0.08694310721139432,"angular_velocity":0.0,"x_acceleration":4.2518357825425985,"y_acceleration":0.2876793988612312,"angular_acceleration":0.0,"time":0.3200000000000001},{"x":4.785150582391862,"y":1.1981902135050038,"angle":0.0,"x_velocity":1.326668997109306,"y_velocity":0.08976248357080426,"angular_velocity":0.0,"x_acceleration":4.08021220277851,"y_acceleration":0.27606733979261405,"angular_acceleration":0.0,"time":0.3300000000000001},{"x":4.798618282907524,"y":1.199101438723131,"angle":0.0,"x_velocity":1.3665665944828314,"y_velocity":0.09246195679024259,"angular_velocity":0.0,"x_acceleration":3.8975161339973834,"y_acceleration":0.2637061156227956,"angular_acceleration":0.0,"time":0.34000000000000014},{"x":4.8124756481935345,"y":1.2000390286770155,"angle":0.0,"x_velocity":1.4045845825688077,"y_velocity":0.09503425556137406,"angular_velocity":0.0,"x_acceleration":3.7043988990825722,"y_acceleration":0.2506397948871407,"angular_acceleration":0.0,"time":0.35000000000000014},{"x":4.826703371954093,"y":1.2010016771018224,"angle":0.0,"x_velocity":1.4406220063203152,"y_velocity":0.09747254926121718,"angular_velocity":0.0,"x_acceleration":3.501511820917436,"y_acceleration":0.2369124461210141,"angular_acceleration":0.0,"time":0.36000000000000015},{"x":4.841281170909074,"y":1.201988011629912,"angle":0.0,"x_velocity":1.474584423919267,"y_velocity":0.09977044795214399,"angular_velocity":0.0,"x_acceleration":3.2895062223853238,"y_acceleration":0.22256813785978063,"angular_acceleration":0.0,"time":0.37000000000000016},{"x":4.8561878499263145,"y":1.2029965981976962,"angle":0.0,"x_velocity":1.50638390677641,"y_velocity":0.10192200238188032,"angular_velocity":0.0,"x_acceleration":3.0690334263695966,"y_acceleration":0.20765093863880568,"angular_acceleration":0.0,"time":0.38000000000000017},{"x":4.8714013671539025,"y":1.2040259454524909,"angle":0.0,"x_velocity":1.5359390395313255,"y_velocity":0.10392170398350552,"angular_velocity":0.0,"x_acceleration":2.8407447557536036,"y_acceleration":0.19220491699345288,"angular_acceleration":0.0,"time":0.3900000000000002},{"x":4.886898899152469,"y":1.205074509159369,"angle":0.0,"x_velocity":1.5631749200524259,"y_velocity":0.1057644848754527,"angular_velocity":0.0,"x_acceleration":2.6052915334207114,"y_acceleration":0.17627414145908804,"angular_acceleration":0.0,"time":0.4000000000000002},{"x":4.90265690602747,"y":1.2061406966080153,"angle":0.0,"x_velocity":1.5880231594369605,"y_velocity":0.10744571786150843,"angular_velocity":0.0,"x_acceleration":2.3633250822542644,"y_acceleration":0.15990268057107526,"angular_acceleration":0.0,"time":0.4100000000000002},{"x":4.9186511965614805,"y":1.2072228710195783,"angle":0.0,"x_velocity":1.6104218820110106,"y_velocity":0.10896121643081322,"angular_velocity":0.0,"x_acceleration":2.115496725137616,"y_acceleration":0.14313460286477953,"angular_acceleration":0.0,"time":0.4200000000000002},{"x":4.9348569933464805,"y":1.2083193559535257,"angle":0.0,"x_velocity":1.6303157253294902,"y_velocity":0.11030723475786097,"angular_velocity":0.0,"x_acceleration":1.8624577849541328,"y_acceleration":0.1260139768755656,"angular_acceleration":0.0,"time":0.4300000000000002},{"x":4.95124899791614,"y":1.2094284397144959,"angle":0.0,"x_velocity":1.6476558401761479,"y_velocity":0.11148046770249939,"angular_velocity":0.0,"x_acceleration":1.6048595845871603,"y_acceleration":0.10858487113879867,"angular_acceleration":0.0,"time":0.4400000000000002},{"x":4.967801455878114,"y":1.2105483797591532,"angle":0.0,"x_velocity":1.6623998905635664,"y_velocity":0.11247805080992966,"angular_velocity":0.0,"x_acceleration":1.3433534469200588,"y_acceleration":0.09089135418984273,"angular_acceleration":0.0,"time":0.45000000000000023},{"x":4.984488222046325,"y":1.2116774071030405,"angle":0.0,"x_velocity":1.6745120537331606,"y_velocity":0.1132975603107068,"angular_velocity":0.0,"x_acceleration":1.0785906948361799,"y_acceleration":0.07297749456406266,"angular_acceleration":0.0,"time":0.46000000000000024},{"x":5.001282825573258,"y":1.2128137307274331,"angle":0.0,"x_velocity":1.6839630201551785,"y_velocity":0.11393701312073941,"angular_velocity":0.0,"x_acceleration":0.8112226512188805,"y_acceleration":0.05488736079682388,"angular_acceleration":0.0,"time":0.47000000000000025},{"x":5.018158535082241,"y":1.213955541986192,"angle":0.0,"x_velocity":1.6907299935287035,"y_velocity":0.1143948668412896,"angular_velocity":0.0,"x_acceleration":0.541900638951514,"y_acceleration":0.03666502142349093,"angular_acceleration":0.0,"time":0.48000000000000026},{"x":5.035088423799739,"y":1.2151010190126175,"angle":0.0,"x_velocity":1.6947966907816545,"y_velocity":0.11467001975897348,"angular_velocity":0.0,"x_acceleration":0.2712759809174301,"y_acceleration":0.018354544979427678,"angular_acceleration":0.0,"time":0.49000000000000027},{"x":5.052045434687637,"y":1.2162483311263035,"angle":0.0,"x_velocity":1.6961533420707753,"y_velocity":0.1147618108457603,"angular_velocity":0.0,"x_acceleration":7.105427357601002e-15,"y_acceleration":4.440892098500626e-16,"angular_acceleration":0.0,"time":0.5000000000000002},{"x":5.069002445575535,"y":1.2173956432399893,"angle":0.0,"x_velocity":1.6947966907816518,"y_velocity":0.11467001975897341,"angular_velocity":0.0,"x_acceleration":-0.271275980917423,"y_acceleration":-0.01835454497942668,"angular_acceleration":0.0,"time":0.5100000000000002},{"x":5.085932334293032,"y":1.218541120266415,"angle":0.0,"x_velocity":1.6907299935287046,"y_velocity":0.11439486684128966,"angular_velocity":0.0,"x_acceleration":-0.5419006389515015,"y_acceleration":-0.03666502142349004,"angular_acceleration":0.0,"time":0.5200000000000002},{"x":5.102808043802016,"y":1.2196829315251738,"angle":0.0,"x_velocity":1.6839630201551787,"y_velocity":0.11393701312073942,"angular_velocity":0.0,"x_acceleration":-0.8112226512188663,"y_acceleration":-0.05488736079682299,"angular_acceleration":0.0,"time":0.5300000000000002},{"x":5.119602647328948,"y":1.2208192551495665,"angle":0.0,"x_velocity":1.6745120537331601,"y_velocity":0.11329756031070687,"angular_velocity":0.0,"x_acceleration":-1.0785906948361657,"y_acceleration":-0.07297749456406177,"angular_acceleration":0.0,"time":0.5400000000000003},{"x":5.1362894134971615,"y":1.2219482824934538,"angle":0.0,"x_velocity":1.6623998905635693,"y_velocity":0.11247805080992979,"angular_velocity":0.0,"x_acceleration":-1.343353446920048,"y_acceleration":-0.09089135418984196,"angular_acceleration":0.0,"time":0.5500000000000003},{"x":5.1528418714591355,"y":1.223068222538111,"angle":0.0,"x_velocity":1.647655840176149,"y_velocity":0.11148046770249942,"angular_velocity":0.0,"x_acceleration":-1.6048595845871496,"y_acceleration":-0.10858487113879756,"angular_acceleration":0.0,"time":0.5600000000000003},{"x":5.169233876028795,"y":1.2241773062990815,"angle":0.0,"x_velocity":1.6303157253294898,"y_velocity":0.11030723475786103,"angular_velocity":0.0,"x_acceleration":-1.8624577849541133,"y_acceleration":-0.12601397687556481,"angular_acceleration":0.0,"time":0.5700000000000003},{"x":5.185439672813793,"y":1.2252737912330285,"angle":0.0,"x_velocity":1.6104218820110123,"y_velocity":0.10896121643081341,"angular_velocity":0.0,"x_acceleration":-2.1154967251376107,"y_acceleration":-0.14313460286477908,"angular_acceleration":0.0,"time":0.5800000000000003},{"x":5.201433963347805,"y":1.226355965644592,"angle":0.0,"x_velocity":1.5880231594369612,"y_velocity":0.10744571786150864,"angular_velocity":0.0,"x_acceleration":-2.363325082254253,"y_acceleration":-0.15990268057107482,"angular_acceleration":0.0,"time":0.5900000000000003},{"x":5.217191970222806,"y":1.2274221530932379,"angle":0.0,"x_velocity":1.563174920052429,"y_velocity":0.10576448487545287,"angular_velocity":0.0,"x_acceleration":-2.605291533420697,"y_acceleration":-0.17627414145908782,"angular_acceleration":0.0,"time":0.6000000000000003},{"x":5.232689502221372,"y":1.228470716800116,"angle":0.0,"x_velocity":1.5359390395313257,"y_velocity":0.10392170398350559,"angular_velocity":0.0,"x_acceleration":-2.8407447557535974,"y_acceleration":-0.19220491699345188,"angular_acceleration":0.0,"time":0.6100000000000003},{"x":5.247903019448961,"y":1.2295000640549107,"angle":0.0,"x_velocity":1.5063839067764135,"y_velocity":0.10192200238188048,"angular_velocity":0.0,"x_acceleration":-3.0690334263695895,"y_acceleration":-0.20765093863880546,"angular_acceleration":0.0,"time":0.6200000000000003},{"x":5.262809698466201,"y":1.230508650622695,"angle":0.0,"x_velocity":1.4745844239192687,"y_velocity":0.09977044795214407,"angular_velocity":0.0,"x_acceleration":-3.289506222385306,"y_acceleration":-0.2225681378597799,"angular_acceleration":0.0,"time":0.6300000000000003},{"x":5.277387497421181,"y":1.2314949851507844,"angle":0.0,"x_velocity":1.440622006320318,"y_velocity":0.0974725492612174,"angular_velocity":0.0,"x_acceleration":-3.501511820917422,"y_acceleration":-0.23691244612101392,"angular_acceleration":0.0,"time":0.6400000000000003},{"x":5.291615221181741,"y":1.2324576335755912,"angle":0.0,"x_velocity":1.4045845825688108,"y_velocity":0.09503425556137418,"angular_velocity":0.0,"x_acceleration":-3.7043988990825483,"y_acceleration":-0.2506397948871406,"angular_acceleration":0.0,"time":0.6500000000000004},{"x":5.305472586467751,"y":1.233395223529476,"angle":0.0,"x_velocity":1.3665665944828342,"y_velocity":0.09246195679024272,"angular_velocity":0.0,"x_acceleration":-3.8975161339973674,"y_acceleration":-0.26370611562279533,"angular_acceleration":0.0,"time":0.6600000000000004},{"x":5.318940286983412,"y":1.2343064487476034,"angle":0.0,"x_velocity":1.3266689971093086,"y_velocity":0.08976248357080452,"angular_velocity":0.0,"x_acceleration":-4.08021220277849,"y_acceleration":-0.27606733979261344,"angular_acceleration":0.0,"time":0.6700000000000004},{"x":5.332000058549538,"y":1.2351900734747938,"angle":0.0,"x_velocity":1.284999258723988,"y_velocity":0.08694310721139425,"angular_velocity":0.0,"x_acceleration":-4.251835782542578,"y_acceleration":-0.28767939886123095,"angular_acceleration":0.0,"time":0.6800000000000004},{"x":5.344634744235844,"y":1.2360449368723785,"angle":0.0,"x_velocity":1.2416713608314573,"y_velocity":0.08401153970570158,"angular_velocity":0.0,"x_acceleration":-4.411735550406263,"y_acceleration":-0.2984982242932812,"angular_acceleration":0.0,"time":0.6900000000000004},{"x":5.356828359493229,"y":1.236869957425052,"angle":0.0,"x_velocity":1.1968057981651405,"y_velocity":0.08097593373276835,"angular_velocity":0.0,"x_acceleration":-4.5592601834862165,"y_acceleration":-0.3084797475534029,"angular_acceleration":0.0,"time":0.7000000000000004},{"x":5.368566157286081,"y":1.2376641373477262,"angle":0.0,"x_velocity":1.1505295786872916,"y_velocity":0.07784488265699119,"angular_velocity":0.0,"x_acceleration":-4.693758358899061,"y_acceleration":-0.31757990010622805,"angular_acceleration":0.0,"time":0.7100000000000004},{"x":5.379834693224549,"y":1.238426566992383,"angle":0.0,"x_velocity":1.1029762235889944,"y_velocity":0.07462742052811944,"angular_velocity":0.0,"x_acceleration":-4.814578753761438,"y_acceleration":-0.325754613416394,"angular_acceleration":0.0,"time":0.7200000000000004},{"x":5.390621890696835,"y":1.2391564292549302,"angle":0.0,"x_velocity":1.0542857672901755,"y_velocity":0.0713330220812568,"angular_velocity":0.0,"x_acceleration":-4.921070045190014,"y_acceleration":-0.3329598189485341,"angular_acceleration":0.0,"time":0.7300000000000004},{"x":5.4009171060014864,"y":1.2398530039820514,"angle":0.0,"x_velocity":1.0046047574395889,"y_velocity":0.0679716027368602,"angular_velocity":0.0,"x_acceleration":-5.012580910301423,"y_acceleration":-0.33915144816728526,"angular_acceleration":0.0,"time":0.7400000000000004},{"x":5.410711193479687,"y":1.240515672378063,"angle":0.0,"x_velocity":0.954086254914813,"y_velocity":0.06455351860074021,"angular_velocity":0.0,"x_acceleration":-5.088460026212289,"y_acceleration":-0.34428543253727995,"angular_acceleration":0.0,"time":0.7500000000000004},{"x":5.419996570647531,"y":1.2411439214117659,"angle":0.0,"x_velocity":0.9028898338222859,"y_velocity":0.06108956646406172,"angular_velocity":0.0,"x_acceleration":-5.1480560700392815,"y_acceleration":-0.3483177035231564,"angular_acceleration":0.0,"time":0.7600000000000005},{"x":5.428767283328333,"y":1.2417373482232992,"angle":0.0,"x_velocity":0.8511815814972525,"y_velocity":0.057590983803342155,"angular_velocity":0.0,"x_acceleration":-5.190717718899066,"y_acceleration":-0.3512041925895506,"angular_acceleration":0.0,"time":0.7700000000000005},{"x":5.437019070784892,"y":1.2422956645309942,"angle":0.0,"x_velocity":0.7991340985038047,"y_velocity":0.05406944878045328,"angular_velocity":0.0,"x_acceleration":-5.215793649908221,"y_acceleration":-0.3529008312010933,"angular_acceleration":0.0,"time":0.7800000000000005},{"x":5.4447494308517985,"y":1.2428187010382268,"angle":0.0,"x_velocity":0.7469264986348669,"y_velocity":0.05053708024262071,"angular_velocity":0.0,"x_acceleration":-5.222632540183454,"y_acceleration":-0.353363550822424,"angular_acceleration":0.0,"time":0.7900000000000005},{"x":5.4519576850677165,"y":1.2433064118402735,"angle":0.0,"x_velocity":0.6947444089122001,"y_velocity":0.04700643772242352,"angular_velocity":0.0,"x_acceleration":-5.210583066841394,"y_acceleration":-0.3525482829181761,"angular_acceleration":0.0,"time":0.8000000000000005},{"x":5.458645043807672,"y":1.2437588788311622,"angle":0.0,"x_velocity":0.6427799695863747,"y_velocity":0.04349052143779408,"angular_velocity":0.0,"x_acceleration":-5.178993906998656,"y_acceleration":-0.3504109589529838,"angular_acceleration":0.0,"time":0.8100000000000005},{"x":5.464814671415342,"y":1.2441763161105273,"angle":0.0,"x_velocity":0.5912318341368348,"y_velocity":0.04000277229201832,"angular_velocity":0.0,"x_acceleration":-5.127213737771925,"y_acceleration":-0.3469075103914854,"angular_acceleration":0.0,"time":0.8200000000000005},{"x":5.470471751335332,"y":1.2445590743904624,"angle":0.0,"x_velocity":0.5403051692718339,"y_velocity":0.03655707187373691,"angular_velocity":0.0,"x_acceleration":-5.054591236277815,"y_acceleration":-0.34199386869831283,"angular_acceleration":0.0,"time":0.8300000000000005},{"x":5.475623551245489,"y":1.2449076454023753,"angle":0.0,"x_velocity":0.4902116549284461,"y_velocity":0.033167742456942095,"angular_velocity":0.0,"x_acceleration":-4.960475079632985,"y_acceleration":-0.33562596533810307,"angular_acceleration":0.0,"time":0.8400000000000005},{"x":5.480279488189167,"y":1.245222666303839,"angle":0.0,"x_velocity":0.4411694842726206,"y_velocity":0.029849547000982635,"angular_velocity":0.0,"x_acceleration":-4.8442139449540775,"y_acceleration":-0.32775973177549034,"angular_acceleration":0.0,"time":0.8500000000000005},{"x":5.484451193707525,"y":1.245504924085448,"angle":0.0,"x_velocity":0.39340336369909323,"y_velocity":0.026617689150558288,"angular_velocity":0.0,"x_acceleration":-4.705156509357735,"y_acceleration":-0.3183510994751133,"angular_acceleration":0.0,"time":0.8600000000000005},{"x":5.488152578971809,"y":1.2457553599776705,"angle":0.0,"x_velocity":0.34714451283146985,"y_velocity":0.023487813235724353,"angular_velocity":0.0,"x_acceleration":-4.54265144996063,"y_acceleration":-0.3073559999016027,"angular_acceleration":0.0,"time":0.8700000000000006},{"x":5.491399899915654,"y":1.245975073857701,"angle":0.0,"x_velocity":0.30263066452216236,"y_velocity":0.02047600427188767,"angular_velocity":0.0,"x_acceleration":-4.35604744387939,"y_acceleration":-0.2947303645195962,"angular_acceleration":0.0,"time":0.8800000000000006},{"x":5.494211822367362,"y":1.2461653286563157,"angle":0.0,"x_velocity":0.26010606485243315,"y_velocity":0.017598787959811624,"angular_velocity":0.0,"x_acceleration":-4.144693168230617,"y_acceleration":-0.28043012479372464,"angular_acceleration":0.0,"time":0.8900000000000006},{"x":5.496609487182178,"y":1.2463275547647252,"angle":0.0,"x_velocity":0.21982147313238087,"y_velocity":0.014873130685610247,"angular_velocity":0.0,"x_acceleration":-3.907937300130996,"y_acceleration":-0.26441121218863195,"angular_acceleration":0.0,"time":0.9000000000000006},{"x":5.498616575374612,"y":1.2464633544414274,"angle":0.0,"x_velocity":0.18203416190093336,"y_velocity":0.01231643952075423,"angular_velocity":0.0,"x_acceleration":-3.6451285166971843,"y_acceleration":-0.24662955816894616,"angular_acceleration":0.0,"time":0.9100000000000006},{"x":5.5002593732506915,"y":1.2465745062190625,"angle":0.0,"x_velocity":0.14700791692583337,"y_velocity":0.009946562222065136,"angular_velocity":0.0,"x_acceleration":-3.3556154950457966,"y_acceleration":-0.22704109419930596,"angular_acceleration":0.0,"time":0.9200000000000006},{"x":5.5015668375402775,"y":1.2466629693112647,"angle":0.0,"x_velocity":0.11501303720368128,"y_velocity":0.007781787231719406,"angular_velocity":0.0,"x_acceleration":-3.0387469122935045,"y_acceleration":-0.20560175174434292,"angular_acceleration":0.0,"time":0.9300000000000006},{"x":5.502570660529335,"y":1.246730888019518,"angle":0.0,"x_velocity":0.08632633495990305,"y_velocity":0.005840843677246577,"angular_velocity":0.0,"x_acceleration":-2.6938714455569226,"y_acceleration":-0.1822674622686975,"angular_acceleration":0.0,"time":0.9400000000000006},{"x":5.503305335192226,"y":1.2467805961400071,"angle":0.0,"x_velocity":0.06123113564877514,"y_velocity":0.0041429013715321705,"angular_velocity":0.0,"x_acceleration":-2.320337771952765,"y_acceleration":-0.15699415723700216,"angular_acceleration":0.0,"time":0.9500000000000006},{"x":5.503808220324006,"y":1.2468146213704736,"angle":0.0,"x_velocity":0.04001727795335697,"y_velocity":0.0027075708128114773,"angular_velocity":0.0,"x_acceleration":-1.9174945685975757,"y_acceleration":-0.12973776811388937,"angular_acceleration":0.0,"time":0.9600000000000006},{"x":5.5041196056726935,"y":1.246835689717067,"angle":0.0,"x_velocity":0.02298111378560108,"y_velocity":0.0015549031846768813,"angular_velocity":0.0,"x_acceleration":-1.4846905126080543,"y_acceleration":-0.1004542263639987,"angular_acceleration":0.0,"time":0.9700000000000006},{"x":5.504282777071587,"y":1.2468467299012005,"angle":0.0,"x_velocity":0.010425508286257212,"y_velocity":0.0007053903560720887,"angular_velocity":0.0,"x_acceleration":-1.021274281100844,"y_acceleration":-0.06909946345196438,"angular_acceleration":0.0,"time":0.9800000000000006},{"x":5.504344081571521,"y":1.246850877766403,"angle":0.0,"x_velocity":0.0026598398249220168,"y_velocity":0.00017996488129590205,"angular_velocity":0.0,"x_acceleration":-0.5265945511925736,"y_acceleration":-0.03562941084241977,"angular_acceleration":0.0,"time":0.9900000000000007}]},{"meta_data":{"path_name":"Override"},"key_points":[{"x":3.990214012738853,"y":1.2373836529310467,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0,"time":0.0},{"x":6.5497630573248395,"y":2.7544031274659107,"angle":0.0,"x_velocity":-1.128884076433121,"y_velocity":0.11177070063694267,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0,"time":1.0}],"commands":[{"start":2.0,"end":3.0,"command":{"start":2.0,"end":3.0,"name":"DriveOverride"}}],"sampled_points":[{"x":3.990214012738853,"y":1.2373836529310467,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0,"time":0.0},{"x":3.9902436626857574,"y":1.2373981571906978,"angle":0.0,"x_velocity":0.00884906352598726,"y_velocity":0.004329480334223268,"angular_velocity":0.0,"x_acceleration":1.7514819749808916,"y_acceleration":0.8571945760066807,"angular_acceleration":0.0,"time":0.01},{"x":3.9904475536656223,"y":1.23749795021681,"angle":0.0,"x_velocity":0.03466677368458599,"y_velocity":0.016971615064323223,"angular_velocity":0.0,"x_acceleration":3.394104205452229,"y_acceleration":1.6627062152702428,"angular_acceleration":0.0,"time":0.02},{"x":3.990989966645441,"y":1.2377635919401146,"angle":0.0,"x_velocity":0.07637577939859873,"y_velocity":0.03741483490571586,"angular_velocity":0.0,"x_acceleration":4.93011596499363,"y_acceleration":2.417586934360122,"angular_acceleration":0.0,"time":0.03},{"x":3.9920245215451144,"y":1.2382705791993251,"angle":0.0,"x_velocity":0.1329212223266242,"y_velocity":0.06515809073951152,"angular_velocity":0.0,"x_acceleration":6.361766527184713,"y_acceleration":3.1228887498457545,"angular_acceleration":0.0,"time":0.04},{"x":3.993694402164808,"y":1.2390894509427952,"angle":0.0,"x_velocity":0.20327073686305736,"y_velocity":0.09971085361251493,"angular_velocity":0.0,"x_acceleration":7.6913051656050975,"y_acceleration":3.7796636782965756,"angular_acceleration":0.0,"time":0.05},{"x":3.996132581112311,"y":1.240285893430174,"angle":0.0,"x_velocity":0.28641445013808925,"y_velocity":0.14059311473722513,"angular_velocity":0.0,"x_acceleration":8.920981153834395,"y_acceleration":4.3889637362820215,"angular_acceleration":0.0,"time":0.060000000000000005},{"x":3.9994620447303926,"y":1.2419208454340651,"angle":0.0,"x_velocity":0.381364982017707,"y_velocity":0.18733538549183554,"angular_velocity":0.0,"x_acceleration":10.05304376545223,"y_acceleration":4.951840940371528,"angular_acceleration":0.0,"time":0.07},{"x":4.003796018024161,"y":1.2440506034416827,"angle":0.0,"x_velocity":0.48715744510369424,"y_velocity":0.23947869742023398,"angular_velocity":0.0,"x_acceleration":11.089742274038217,"y_acceleration":5.469347307134528,"angular_acceleration":0.0,"time":0.08},{"x":4.00923818958842,"y":1.246726926856507,"angle":0.0,"x_velocity":0.6028494447336306,"y_velocity":0.29657460223200255,"angular_velocity":0.0,"x_acceleration":12.033325953171975,"y_acceleration":5.942534853140463,"angular_acceleration":0.0,"time":0.09},{"x":4.015882936535031,"y":1.2499971431999441,"angle":0.0,"x_velocity":0.7275210789808917,"y_velocity":0.3581851718024177,"angular_velocity":0.0,"x_acceleration":12.886044076433125,"y_acceleration":6.3724555949587645,"angular_acceleration":0.0,"time":0.09999999999999999},{"x":4.0238155494202665,"y":1.2539042533129803,"angle":0.0,"x_velocity":0.8602749386546494,"y_velocity":0.42388299817245045,"angular_velocity":0.0,"x_acceleration":13.650145917401273,"y_acceleration":6.7601615491588705,"angular_acceleration":0.0,"time":0.10999999999999999},{"x":4.0331124571721695,"y":1.25848703655784,"angle":0.0,"x_velocity":1.0002361072998724,"y_velocity":0.4932511935487659,"angular_velocity":0.0,"x_acceleration":14.327880749656046,"y_acceleration":7.106704732310214,"angular_acceleration":0.0,"time":0.11999999999999998},{"x":4.0438414520179125,"y":1.2637801560196438,"angle":0.0,"x_velocity":1.1465521611973244,"y_velocity":0.5658833903037236,"angular_velocity":0.0,"x_acceleration":14.921497846777068,"y_acceleration":7.413137160982234,"angular_acceleration":0.0,"time":0.12999999999999998},{"x":4.056061914411153,"y":1.2698142637080627,"angle":0.0,"x_velocity":1.298393169363567,"y_velocity":0.6413837409753776,"angular_velocity":0.0,"x_acceleration":15.433246482343947,"y_acceleration":7.680510851744364,"angular_acceleration":0.0,"time":0.13999999999999999},{"x":4.0698250379593945,"y":1.2766161057589787,"angle":0.0,"x_velocity":1.4549516935509554,"y_velocity":0.7193669182674762,"angular_velocity":0.0,"x_acceleration":15.865375929936302,"y_acceleration":7.909877821166041,"angular_acceleration":0.0,"time":0.15},{"x":4.085174054351343,"y":1.284208627636138,"angle":0.0,"x_velocity":1.6154427882476432,"y_velocity":0.799458115049462,"angular_velocity":0.0,"x_acceleration":16.220135463133758,"y_acceleration":8.102290085816703,"angular_acceleration":0.0,"time":0.16},{"x":4.102144458284265,"y":1.2926110793328107,"angle":0.0,"x_velocity":1.77910400067758,"y_velocity":0.8812930443564717,"angular_velocity":0.0,"x_acceleration":16.499774355515925,"y_acceleration":8.25879966226578,"angular_acceleration":0.0,"time":0.17},{"x":4.120764232391346,"y":1.3018391205734465,"angle":0.0,"x_velocity":1.9451953708005099,"y_velocity":0.9645179393893372,"angular_velocity":0.0,"x_acceleration":16.70654188066242,"y_acceleration":8.380458567082714,"angular_acceleration":0.0,"time":0.18000000000000002},{"x":4.1410540721690445,"y":1.3119049260153315,"angle":0.0,"x_velocity":2.112999431311975,"y_velocity":1.0487895535145837,"angular_velocity":0.0,"x_acceleration":16.842687312152865,"y_acceleration":8.468318816836938,"angular_acceleration":0.0,"time":0.19000000000000003},{"x":4.163027610904458,"y":1.3228172904502462,"angle":0.0,"x_velocity":2.281821207643313,"y_velocity":1.1337751602644321,"angular_velocity":0.0,"x_acceleration":16.910459923566883,"y_acceleration":8.523432428097884,"angular_acceleration":0.0,"time":0.20000000000000004},{"x":4.186691644602675,"y":1.3345817340061212,"angle":0.0,"x_velocity":2.450988217961657,"y_velocity":1.2191525533367953,"angular_velocity":0.0,"x_acceleration":16.91210898848408,"y_acceleration":8.546851417434997,"angular_acceleration":0.0,"time":0.21000000000000005},{"x":4.212046356914131,"y":1.3472006073486953,"angle":0.0,"x_velocity":2.619850473169937,"y_velocity":1.304610046595284,"angular_velocity":0.0,"x_acceleration":16.849883780484078,"y_acceleration":8.539627801417701,"angular_acceleration":0.0,"time":0.22000000000000006},{"x":4.239085544061975,"y":1.3606731968831711,"angle":0.0,"x_velocity":2.78778047690688,"y_velocity":1.3898464740691998,"angular_velocity":0.0,"x_acceleration":16.726033573146495,"y_acceleration":8.502813596615443,"angular_acceleration":0.0,"time":0.23000000000000007},{"x":4.267796839769421,"y":1.374995829955873,"angle":0.0,"x_velocity":2.9541732255470077,"y_velocity":1.474571189953541,"angular_velocity":0.0,"x_acceleration":16.542807640050956,"y_acceleration":8.437460819597657,"angular_acceleration":0.0,"time":0.24000000000000007},{"x":4.298161940187102,"y":1.390161980055905,"angle":0.0,"x_velocity":3.118446208200638,"y_velocity":1.5585040686089993,"angular_velocity":0.0,"x_acceleration":16.302455254777076,"y_acceleration":8.344621486933768,"angular_acceleration":0.0,"time":0.25000000000000006},{"x":4.330156828820439,"y":1.4061623720168042,"angle":0.0,"x_velocity":3.2800394067138874,"y_velocity":1.6413755045619611,"angular_velocity":0.0,"x_acceleration":16.00722569090447,"y_acceleration":8.225347615193227,"angular_acceleration":0.0,"time":0.26000000000000006},{"x":4.363752001456991,"y":1.4229850872182022,"angle":0.0,"x_velocity":3.4384152956686647,"y_velocity":1.7229264125045067,"angular_velocity":0.0,"x_acceleration":15.659368222012745,"y_acceleration":8.080691220945456,"angular_acceleration":0.0,"time":0.2700000000000001},{"x":4.398912691093816,"y":1.4406156687874785,"angle":0.0,"x_velocity":3.593058842382677,"y_velocity":1.802908227294411,"angular_velocity":0.0,"x_acceleration":15.261132121681532,"y_acceleration":7.911704320759902,"angular_acceleration":0.0,"time":0.2800000000000001},{"x":4.435599092864829,"y":1.4590372268014193,"angle":0.0,"x_velocity":3.7434775069094286,"y_velocity":1.881082903955143,"angular_velocity":0.0,"x_acceleration":14.814766663490458,"y_acceleration":7.719438931205993,"angular_acceleration":0.0,"time":0.2900000000000001},{"x":4.473766588968153,"y":1.478230543487874,"angle":0.0,"x_velocity":3.8892012420382187,"y_velocity":1.9572229176758678,"angular_velocity":0.0,"x_acceleration":14.322521121019113,"y_acceleration":7.504947068853167,"angular_acceleration":0.0,"time":0.3000000000000001},{"x":4.513365973593491,"y":1.4981741784274123,"angle":0.0,"x_velocity":4.029782493294142,"y_velocity":2.031111263811442,"angular_velocity":0.0,"x_acceleration":13.78664476784713,"y_acceleration":7.26928075027086,"angular_acceleration":0.0,"time":0.3100000000000001},{"x":4.55434367784947,"y":1.5188445737549803,"angle":0.0,"x_velocity":4.1647961989380935,"y_velocity":2.1025414578824195,"angular_velocity":0.0,"x_acceleration":13.209386877554136,"y_acceleration":7.013491992028509,"angular_acceleration":0.0,"time":0.3200000000000001},{"x":4.596641994691008,"y":1.5402161593615586,"angle":0.0,"x_velocity":4.2938397899667535,"y_velocity":2.1713175355750436,"angular_velocity":0.0,"x_acceleration":12.59299672371976,"y_acceleration":6.738632810695555,"angular_acceleration":0.0,"time":0.3300000000000001},{"x":4.64019930384667,"y":1.562261458095819,"angle":0.0,"x_velocity":4.416533190112615,"y_velocity":2.237254052741259,"angular_velocity":0.0,"x_acceleration":11.93972357992357,"y_acceleration":6.445755222841424,"angular_acceleration":0.0,"time":0.34000000000000014},{"x":4.684950296746019,"y":1.5849511909657807,"angle":0.0,"x_velocity":4.53251881584395,"y_velocity":2.300176085398699,"angular_velocity":0.0,"x_acceleration":11.251816719745229,"y_acceleration":6.135911245035556,"angular_acceleration":0.0,"time":0.35000000000000014},{"x":4.7308262014469875,"y":1.6082543823404678,"angle":0.0,"x_velocity":4.6414615763648435,"y_velocity":2.359919229730695,"angular_velocity":0.0,"x_acceleration":10.531525416764335,"y_acceleration":5.8101528938473805,"angular_acceleration":0.0,"time":0.36000000000000015},{"x":4.777755007563221,"y":1.632138465151566,"angle":0.0,"x_velocity":4.743048873615162,"y_velocity":2.4163296020862712,"angular_velocity":0.0,"x_acceleration":9.781098944560505,"y_acceleration":5.469532185846347,"angular_acceleration":0.0,"time":0.37000000000000016},{"x":4.825661691191448,"y":1.6565693860950803,"angle":0.0,"x_velocity":4.836990602270575,"y_velocity":2.4692638389801442,"angular_velocity":0.0,"x_acceleration":9.002786576713365,"y_acceleration":5.115101137601885,"angular_acceleration":0.0,"time":0.38000000000000017},{"x":4.87446843983883,"y":1.6815117108329911,"angle":0.0,"x_velocity":4.923019149742551,"y_velocity":2.5185890970927294,"angular_velocity":0.0,"x_acceleration":8.19883758680254,"y_acceleration":4.747911765683412,"angular_acceleration":0.0,"time":0.3900000000000002},{"x":4.924094877350319,"y":1.7069287291949102,"angle":0.0,"x_velocity":5.000889396178348,"y_velocity":2.564183053270132,"angular_velocity":0.0,"x_acceleration":7.3715012484076325,"y_acceleration":4.369016086660402,"angular_acceleration":0.0,"time":0.4000000000000002},{"x":4.974458288836026,"y":1.732782560379742,"angle":0.0,"x_velocity":5.070378714461022,"y_velocity":2.6059339045241536,"angular_velocity":0.0,"x_acceleration":6.523026835108276,"y_acceleration":3.9794661171022643,"angular_acceleration":0.0,"time":0.4100000000000002},{"x":5.025473845598566,"y":1.759034258157333,"angle":0.0,"x_velocity":5.13128697020943,"y_velocity":2.643740368032292,"angular_velocity":0.0,"x_acceleration":5.65566362048407,"y_acceleration":3.5803138735784383,"angular_acceleration":0.0,"time":0.4200000000000002},{"x":5.077054830060423,"y":1.7856439160701376,"angle":0.0,"x_velocity":5.183436521778219,"y_velocity":2.6775116811377337,"angular_velocity":0.0,"x_acceleration":4.771660878114652,"y_acceleration":3.1726113726583645,"angular_acceleration":0.0,"time":0.4300000000000002},{"x":5.129112860691307,"y":1.8125707726348679,"angle":0.0,"x_velocity":5.2266722202578375,"y_velocity":2.707167601349369,"angular_velocity":0.0,"x_acceleration":3.8732678815796184,"y_acceleration":2.7574106309114725,"angular_acceleration":0.0,"time":0.4400000000000002},{"x":5.181558116935511,"y":1.839773316544154,"angle":0.0,"x_velocity":5.260861409474524,"y_velocity":2.7326384063417724,"angular_velocity":0.0,"x_acceleration":2.9627339044586023,"y_acceleration":2.335763664907196,"angular_acceleration":0.0,"time":0.45000000000000023},{"x":5.234299564139269,"y":1.8672093918681998,"angle":0.0,"x_velocity":5.285893925990322,"y_velocity":2.75386489395522,"angular_velocity":0.0,"x_acceleration":2.0423082203312006,"y_acceleration":1.9087224912149843,"angular_acceleration":0.0,"time":0.46000000000000024},{"x":5.287245178478113,"y":1.894836303256441,"angle":0.0,"x_velocity":5.301682099103062,"y_velocity":2.770798382195678,"angular_velocity":0.0,"x_acceleration":1.1142401027770674,"y_acceleration":1.4773391264042637,"angular_acceleration":0.0,"time":0.47000000000000025},{"x":5.340302171884238,"y":1.9226109211392015,"angle":0.0,"x_velocity":5.308160750846372,"y_velocity":2.7834007092348076,"angular_velocity":0.0,"x_acceleration":0.18077882537579626,"y_acceleration":1.0426655870444677,"angular_acceleration":0.0,"time":0.48000000000000026},{"x":5.393377216973849,"y":1.9504897869293498,"angle":0.0,"x_velocity":5.305287195989685,"y_velocity":2.79164423340997,"angular_velocity":0.0,"x_acceleration":-0.7558263382930122,"y_acceleration":0.605753889705035,"angular_acceleration":0.0,"time":0.49000000000000027},{"x":5.446376671974523,"y":1.9784292182239573,"angle":0.0,"x_velocity":5.293041242038218,"y_velocity":2.795511833224209,"angular_velocity":0.0,"x_acceleration":-1.6933261146497003,"y_acceleration":0.16765605095540792,"angular_acceleration":0.0,"time":0.5000000000000002},{"x":5.499206805652573,"y":2.006385414005953,"angle":0.0,"x_velocity":5.271425189232993,"y_velocity":2.7949969073462726,"angular_velocity":0.0,"x_acceleration":-2.629471230114646,"y_acceleration":-0.2705759126349818,"angular_acceleration":0.0,"time":0.5100000000000002},{"x":5.5517740222404015,"y":2.034314559845783,"angle":0.0,"x_velocity":5.24046383055083,"y_velocity":2.7901033746106028,"angular_velocity":0.0,"x_acceleration":-3.5620124111082987,"y_acceleration":-0.7078899844967097,"angular_acceleration":0.0,"time":0.5200000000000002},{"x":5.60398508636385,"y":2.0621729331030654,"angle":0.0,"x_velocity":5.200204451704336,"y_velocity":2.780845674017332,"angular_velocity":0.0,"x_acceleration":-4.488700384050958,"y_acceleration":-1.1432341480603228,"angular_acceleration":0.0,"time":0.5300000000000002},{"x":5.655747347969575,"y":2.08991700812825,"angle":0.0,"x_velocity":5.15071683114191,"y_velocity":2.767248764732287,"angular_velocity":0.0,"x_acceleration":-5.4072858753630655,"y_acceleration":-1.5755563867564035,"angular_acceleration":0.0,"time":0.5400000000000003},{"x":5.706968967252389,"y":2.11750356146427,"angle":0.0,"x_velocity":5.092093240047774,"y_velocity":2.749348126086997,"angular_velocity":0.0,"x_acceleration":-6.315519611464978,"y_acceleration":-2.0038046840154884,"angular_acceleration":0.0,"time":0.5500000000000003},{"x":5.757559139582632,"y":2.144889777048206,"angle":0.0,"x_velocity":5.02444844234191,"y_velocity":2.7271897575786666,"angular_velocity":0.0,"x_acceleration":-7.211152318777067,"y_acceleration":-2.426927023268167,"angular_acceleration":0.0,"time":0.5600000000000003},{"x":5.807428320433516,"y":2.1720333514129364,"angle":0.0,"x_velocity":4.947919694680129,"y_velocity":2.700830178870217,"angular_velocity":0.0,"x_acceleration":-8.091934723719746,"y_acceleration":-2.8438713879449935,"angular_acceleration":0.0,"time":0.5700000000000003},{"x":5.856488450308493,"y":2.198892598888798,"angle":0.0,"x_velocity":4.862666746454016,"y_velocity":2.6703364297902548,"angular_velocity":0.0,"x_acceleration":-8.95561755271342,"y_acceleration":-3.2535857614765504,"angular_acceleration":0.0,"time":0.5800000000000003},{"x":5.904653179668612,"y":2.2254265568052434,"angle":0.0,"x_velocity":4.768871839790956,"y_velocity":2.6357860703330696,"angular_velocity":0.0,"x_acceleration":-9.799951532178355,"y_acceleration":-3.65501812729336,"angular_acceleration":0.0,"time":0.5900000000000003},{"x":5.951838093859873,"y":2.251595090692494,"angle":0.0,"x_velocity":4.666739709554147,"y_velocity":2.5972671806586662,"angular_velocity":0.0,"x_acceleration":-10.622687388535041,"y_acceleration":-4.047116468826026,"angular_acceleration":0.0,"time":0.6000000000000003},{"x":5.997960938040587,"y":2.2773589994832033,"angle":0.0,"x_velocity":4.556497583342548,"y_velocity":2.5548783610927295,"angular_velocity":0.0,"x_acceleration":-11.42157584820383,"y_acceleration":-4.428828769505081,"angular_acceleration":0.0,"time":0.6100000000000003},{"x":6.042941842108732,"y":2.3026801207141077,"angle":0.0,"x_velocity":4.438395181490964,"y_velocity":2.508728732126645,"angular_velocity":0.0,"x_acceleration":-12.19436763760514,"y_acceleration":-4.799103012761137,"angular_acceleration":0.0,"time":0.6200000000000003},{"x":6.086703545629316,"y":2.327521435727686,"angle":0.0,"x_velocity":4.312704717069934,"y_velocity":2.458937934417481,"angular_velocity":0.0,"x_acceleration":-12.938813483159237,"y_acceleration":-5.156887182024697,"angular_acceleration":0.0,"time":0.6300000000000003},{"x":6.129171622761728,"y":2.3518471748738157,"angle":0.0,"x_velocity":4.179720895885863,"y_velocity":2.4056361287880197,"angular_velocity":0.0,"x_acceleration":-13.65266411128664,"y_acceleration":-5.50112926072638,"angular_acceleration":0.0,"time":0.6400000000000003},{"x":6.1702747071871045,"y":2.3756229227114325,"angle":0.0,"x_velocity":4.039760916480898,"y_velocity":2.3489639962267264,"angular_velocity":0.0,"x_acceleration":-14.333670248407628,"y_acceleration":-5.830777232296697,"angular_acceleration":0.0,"time":0.6500000000000004},{"x":6.209944717035678,"y":2.398815723210183,"angle":0.0,"x_velocity":3.8931644701329944,"y_velocity":2.289072737887759,"angular_velocity":0.0,"x_acceleration":-14.979582620942693,"y_acceleration":-6.144779080166273,"angular_acceleration":0.0,"time":0.6600000000000004},{"x":6.248117079814142,"y":2.421394184952088,"angle":0.0,"x_velocity":3.7402937408559254,"y_velocity":2.2261240750909668,"angular_velocity":0.0,"x_acceleration":-15.588151955312128,"y_acceleration":-6.442082787765628,"angular_acceleration":0.0,"time":0.6700000000000004},{"x":6.284730957333005,"y":2.443328586333188,"angle":0.0,"x_velocity":3.5815334053992274,"y_velocity":2.1602902493219034,"angular_velocity":0.0,"x_acceleration":-16.157128977936296,"y_acceleration":-6.721636338525329,"angular_acceleration":0.0,"time":0.6800000000000004},{"x":6.31972947063395,"y":2.464590980765214,"angle":0.0,"x_velocity":3.417290633248278,"y_velocity":2.09175402223182,"angular_velocity":0.0,"x_acceleration":-16.684264415235617,"y_acceleration":-6.982387715875937,"angular_acceleration":0.0,"time":0.6900000000000004},{"x":6.353059924917201,"y":2.485155301877237,"angle":0.0,"x_velocity":3.247995086624197,"y_velocity":2.020708675637648,"angular_velocity":0.0,"x_acceleration":-17.167308993630485,"y_acceleration":-7.223284903248043,"angular_acceleration":0.0,"time":0.7000000000000004},{"x":6.384674034468855,"y":2.504997468717323,"angle":0.0,"x_velocity":3.074098920483955,"y_velocity":1.9473580115220201,"angular_velocity":0.0,"x_acceleration":-17.604013439541376,"y_acceleration":-7.443275884072214,"angular_acceleration":0.0,"time":0.7100000000000004},{"x":6.414528147588275,"y":2.5240954909541937,"angle":0.0,"x_velocity":2.8960767825202467,"y_velocity":1.8719163520332636,"angular_velocity":0.0,"x_acceleration":-17.992128479388526,"y_acceleration":-7.64130864177902,"angular_acceleration":0.0,"time":0.7200000000000004},{"x":6.442583471515418,"y":2.5424295740788834,"angle":0.0,"x_velocity":2.714425813161654,"y_velocity":1.7946085394853952,"angular_velocity":0.0,"x_acceleration":-18.329404839592314,"y_acceleration":-7.816331159798935,"angular_acceleration":0.0,"time":0.7300000000000004},{"x":6.468806297358212,"y":2.559982224606396,"angle":0.0,"x_velocity":2.5296656455724857,"y_velocity":1.715669936358145,"angular_velocity":0.0,"x_acceleration":-18.613593246573288,"y_acceleration":-7.967291421562663,"angular_acceleration":0.0,"time":0.7400000000000004},{"x":6.493168225019904,"y":2.576738355277359,"angle":0.0,"x_velocity":2.342338405652864,"y_velocity":1.6353464252968966,"angular_velocity":0.0,"x_acceleration":-18.84244442675154,"y_acceleration":-8.093137410500631,"angular_acceleration":0.0,"time":0.7500000000000004},{"x":6.515646388126427,"y":2.5926853902596823,"angle":0.0,"x_velocity":2.15300871203873,"y_velocity":1.5538944091127807,"angular_velocity":0.0,"x_acceleration":-19.013709106547765,"y_acceleration":-8.192817110043478,"angular_acceleration":0.0,"time":0.7600000000000005},{"x":6.536223678953747,"y":2.607813370350221,"angle":0.0,"x_velocity":1.9622636761017773,"y_velocity":1.4715808107825747,"angular_velocity":0.0,"x_acceleration":-19.125138012382166,"y_acceleration":-8.265278503621815,"angular_acceleration":0.0,"time":0.7700000000000005},{"x":6.554888973355219,"y":2.622115058176417,"angle":0.0,"x_velocity":1.770712901949551,"y_velocity":1.3886830734487852,"angular_velocity":0.0,"x_acceleration":-19.174481870675095,"y_acceleration":-8.309469574666082,"angular_acceleration":0.0,"time":0.7800000000000005},{"x":6.571637355688969,"y":2.6355860433979714,"angle":0.0,"x_velocity":1.5789884864253452,"y_velocity":1.3054891604195973,"angular_velocity":0.0,"x_acceleration":-19.159491407847128,"y_acceleration":-8.324338306606961,"angular_acceleration":0.0,"time":0.7900000000000005},{"x":6.586470343745221,"y":2.6482248479084953,"angle":0.0,"x_velocity":1.3877450191082943,"y_velocity":1.2222975551688933,"angular_velocity":0.0,"x_acceleration":-19.077917350318472,"y_acceleration":-8.308832682874964,"angular_acceleration":0.0,"time":0.8000000000000005},{"x":6.5993961136736825,"y":2.6600330310371687,"angle":0.0,"x_velocity":1.1976595823132499,"y_velocity":1.1394172613362414,"angular_velocity":0.0,"x_acceleration":-18.927510424509506,"y_acceleration":-8.261900686900617,"angular_acceleration":0.0,"time":0.8100000000000005},{"x":6.61042972491087,"y":2.6710152947503922,"angle":0.0,"x_velocity":1.0094317510909576,"y_velocity":1.0571678027269193,"angular_velocity":0.0,"x_acceleration":-18.70602135684075,"y_acceleration":-8.18249030211453,"angular_acceleration":0.0,"time":0.8200000000000005},{"x":6.619593345107508,"y":2.6811795888534475,"angle":0.0,"x_velocity":0.8237835932279083,"y_velocity":0.9758792233118889,"angular_velocity":0.0,"x_acceleration":-18.41120087373247,"y_acceleration":-8.0695495119473,"angular_acceleration":0.0,"time":0.8300000000000005},{"x":6.626916475055846,"y":2.690537216192158,"angle":0.0,"x_velocity":0.6414596692463732,"y_velocity":0.8958920872278071,"angular_velocity":0.0,"x_acceleration":-18.04079970160501,"y_acceleration":-7.9220262998293975,"angular_acceleration":0.0,"time":0.8400000000000005},{"x":6.632436173617041,"y":2.6991029378545397,"angle":0.0,"x_velocity":0.4632270324044754,"y_velocity":0.8175574787770366,"angular_velocity":0.0,"x_acceleration":-17.592568566878896,"y_acceleration":-7.738868649191488,"angular_acceleration":0.0,"time":0.8500000000000005},{"x":6.636197282648517,"y":2.7068950783724626,"angle":0.0,"x_velocity":0.2898752286960544,"y_velocity":0.7412370024276065,"angular_velocity":0.0,"x_acceleration":-17.06425819597436,"y_acceleration":-7.519024543464056,"angular_acceleration":0.0,"time":0.8600000000000005},{"x":6.6382526519313085,"y":2.7139356309232996,"angle":0.0,"x_velocity":0.12221629685085844,"y_velocity":0.6673027828132909,"angular_velocity":0.0,"x_acceleration":-16.45361931531204,"y_acceleration":-7.261441966077726,"angular_acceleration":0.0,"time":0.8700000000000006},{"x":6.638663364097434,"y":2.720250362531602,"angle":0.0,"x_velocity":-0.038915231665718863,"y_velocity":0.5961374647334878,"angular_velocity":0.0,"x_acceleration":-15.758402651312025,"y_acceleration":-6.965068900463066,"angular_acceleration":0.0,"time":0.8800000000000006},{"x":6.63749895955724,"y":2.7258689192707317,"angle":0.0,"x_velocity":-0.1926623326523682,"y_velocity":0.5281342131533435,"angular_velocity":0.0,"x_acceleration":-14.976358930394838,"y_acceleration":-6.628853330050518,"angular_acceleration":0.0,"time":0.8900000000000006},{"x":6.634837661426753,"y":2.7308249314645314,"angle":0.0,"x_velocity":-0.3381454891719713,"y_velocity":0.4636967132036993,"angular_velocity":0.0,"x_acceleration":-14.105238878980742,"y_acceleration":-6.251743238270819,"angular_acceleration":0.0,"time":0.9000000000000006},{"x":6.630766600455072,"y":2.7351561188889866,"angle":0.0,"x_velocity":-0.4744626915517074,"y_velocity":0.4032391701810596,"angular_velocity":0.0,"x_acceleration":-13.142793223490344,"y_acceleration":-5.8326866085544395,"angular_acceleration":0.0,"time":0.9100000000000006},{"x":6.625382039951688,"y":2.738904395973874,"angle":0.0,"x_velocity":-0.6006894373829255,"y_velocity":0.34718630954763796,"angular_velocity":0.0,"x_acceleration":-12.086772690343878,"y_acceleration":-5.370631424331918,"angular_acceleration":0.0,"time":0.9200000000000006},{"x":6.6187896007138605,"y":2.7421159770044223,"angle":0.0,"x_velocity":-0.7158787315211441,"y_velocity":0.29597337693133596,"angular_velocity":0.0,"x_acceleration":-10.934928005961694,"y_acceleration":-4.864525669033867,"angular_acceleration":0.0,"time":0.9300000000000006},{"x":6.611104485953986,"y":2.744841481322963,"angle":0.0,"x_velocity":-0.8190610860860943,"y_velocity":0.2500461381257608,"angular_velocity":0.0,"x_acceleration":-9.6850098967642,"y_acceleration":-4.313317326090839,"angular_acceleration":0.0,"time":0.9400000000000006},{"x":6.602451706226921,"y":2.7471360385305967,"angle":0.0,"x_velocity":-0.9092445204617832,"y_velocity":0.209860879090229,"angular_velocity":0.0,"x_acceleration":-8.3347690891718,"y_acceleration":-3.7159543789334464,"angular_acceleration":0.0,"time":0.9500000000000006},{"x":6.592966304357363,"y":2.749059393688844,"angle":0.0,"x_velocity":-0.9854145612962952,"y_velocity":0.17588440594971644,"angular_velocity":0.0,"x_acceleration":-6.881956309604959,"y_acceleration":-3.0713848109921855,"angular_acceleration":0.0,"time":0.9600000000000006},{"x":6.58279358036722,"y":2.7506760125213043,"angle":0.0,"x_velocity":-1.0465342425020339,"y_velocity":0.14859404499490125,"angular_velocity":0.0,"x_acceleration":-5.324322284483856,"y_acceleration":-2.378556605697611,"angular_acceleration":0.0,"time":0.9700000000000006},{"x":6.572089316402963,"y":2.7520551866153093,"angle":0.0,"x_velocity":-1.0915441052555366,"y_velocity":0.12847764268217077,"angular_velocity":0.0,"x_acceleration":-3.6596177402291232,"y_acceleration":-1.6364177464803618,"angular_acceleration":0.0,"time":0.9800000000000006},{"x":6.5610200016629605,"y":2.7532711386235853,"angle":0.0,"x_velocity":-1.119362197997546,"y_velocity":0.11603356563360734,"angular_velocity":0.0,"x_acceleration":-1.8855934032609412,"y_acceleration":-0.8439162167709355,"angular_acceleration":0.0,"time":0.9900000000000007}]},{"meta_data":{"path_name":"Test"},"key_points":[{"x":5.700305732484075,"y":0.8246425349279726,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0,"time":0.0},{"x":6.6056484076433115,"y":3.4124994404914233,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0,"time":1.0},{"x":7.667470063694267,"y":2.1854983214742703,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0,"time":2.0},{"x":9.612280254777069,"y":1.7727797632594093,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0,"time":3.0}],"commands":[{"start":3.0,"end":5.0,"command":{"start":3.0,"end":5.0,"name":"Command1"}}],"sampled_points":[{"x":5.700305732484075,"y":0.8246425349279726,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0,"time":0.0},{"x":5.700314650652631,"y":0.8246680268712065,"angle":0.0,"x_velocity":0.0026619790677707045,"y_velocity":0.007609075659428215,"angular_velocity":0.0,"x_acceleration":0.5270180780636949,"y_acceleration":1.506443261866596,"angular_acceleration":0.0,"time":0.01},{"x":5.7003760044582465,"y":0.8248434023106969,"angle":0.0,"x_velocity":0.010433893262675173,"y_velocity":0.02982453326523766,"angular_velocity":0.0,"x_acceleration":1.0220956665477718,"y_acceleration":2.9215869321049133,"angular_acceleration":0.0,"time":0.02},{"x":5.700539307091827,"y":0.8253101911406089,"angle":0.0,"x_velocity":0.022999596922547803,"y_velocity":0.06574269318600558,"angular_velocity":0.0,"x_acceleration":1.485884612178346,"y_acceleration":4.247294267686958,"angular_acceleration":0.0,"time":0.03},{"x":5.700850942879991,"y":0.8262009796216423,"angle":0.0,"x_velocity":0.04004946285248413,"y_velocity":0.11447850836002926,"angular_velocity":0.0,"x_acceleration":1.919036761681531,"y_acceleration":5.4854285255847355,"angular_acceleration":0.0,"time":0.04},{"x":5.701354232469744,"y":0.8276395967067282,"angle":0.0,"x_velocity":0.061280382324840864,"y_velocity":0.1751655642953261,"angular_velocity":0.0,"x_acceleration":2.322203961783443,"y_acceleration":6.637852962770252,"angular_acceleration":0.0,"time":0.05},{"x":5.702089498013153,"y":0.8297413003667267,"angle":0.0,"x_velocity":0.08639576507923581,"y_velocity":0.2469560790696335,"angular_velocity":0.0,"x_acceleration":2.696038059210195,"y_acceleration":7.706430836215511,"angular_acceleration":0.0,"time":0.060000000000000005},{"x":5.703094128352018,"y":0.8326129639161236,"angle":0.0,"x_velocity":0.11510553932254793,"y_velocity":0.32902090333040884,"angular_velocity":0.0,"x_acceleration":3.0411909006879028,"y_acceleration":8.69302540289252,"angular_acceleration":0.0,"time":0.07},{"x":5.70440264420254,"y":0.8363532623387282,"angle":0.0,"x_velocity":0.1471261517289174,"y_velocity":0.4205495202948297,"angular_velocity":0.0,"x_acceleration":3.3583143329426792,"y_acceleration":9.599499919773287,"angular_acceleration":0.0,"time":0.08},{"x":5.706046763340003,"y":0.8410528586133699,"angle":0.0,"x_velocity":0.18218056743974545,"y_velocity":0.5207500457497937,"angular_velocity":0.0,"x_acceleration":3.6480602027006426,"y_acceleration":10.427717643829816,"angular_acceleration":0.0,"time":0.09},{"x":5.7080554657834375,"y":0.8467945900395957,"angle":0.0,"x_velocity":0.21999827006369457,"y_velocity":0.6288492280519185,"angular_velocity":0.0,"x_acceleration":3.9110803566879047,"y_acceleration":11.179541832034108,"angular_acceleration":0.0,"time":0.09999999999999999},{"x":5.7104550589803,"y":0.8536536545633677,"angle":0.0,"x_velocity":0.2603152616766882,"y_velocity":0.7440924481275416,"angular_velocity":0.0,"x_acceleration":4.148026641630579,"y_acceleration":11.856835741358173,"angular_acceleration":0.0,"time":0.10999999999999999},{"x":5.71326924299114,"y":0.8616977971027595,"angle":0.0,"x_velocity":0.3028740628219112,"y_velocity":0.8657437194727209,"angular_velocity":0.0,"x_acceleration":4.3595509042547835,"y_acceleration":12.461462628774017,"angular_acceleration":0.0,"time":0.11999999999999998},{"x":5.716519175674272,"y":0.8709874958736543,"angle":0.0,"x_velocity":0.3474237125098093,"y_velocity":0.9930856881532345,"angular_velocity":0.0,"x_acceleration":4.546304991286631,"y_acceleration":12.995285751253643,"angular_acceleration":0.0,"time":0.12999999999999998},{"x":5.720223537870463,"y":0.8815761487154414,"angle":0.0,"x_velocity":0.39371976821808974,"y_velocity":1.12541963280458,"angular_velocity":0.0,"x_acceleration":4.708940749452237,"y_acceleration":13.460168365769063,"angular_acceleration":0.0,"time":0.13999999999999999},{"x":5.7243985985875785,"y":0.8935102594167139,"angle":0.0,"x_velocity":0.4415243058917204,"y_velocity":1.2620654646319756,"angular_velocity":0.0,"x_acceleration":4.848110025477714,"y_acceleration":13.857973729292276,"angular_acceleration":0.0,"time":0.15},{"x":5.729058280185281,"y":0.9068296240409656,"angle":0.0,"x_velocity":0.4906059199429307,"y_velocity":1.4023617274103584,"angular_velocity":0.0,"x_acceleration":4.964464666089179,"y_acceleration":14.190565098795291,"angular_acceleration":0.0,"time":0.16},{"x":5.734214223559686,"y":0.9215675172522877,"angle":0.0,"x_velocity":0.5407397232512111,"y_velocity":1.5456655974843874,"angular_velocity":0.0,"x_acceleration":5.058656518012748,"y_acceleration":14.459805731250114,"angular_acceleration":0.0,"time":0.17},{"x":5.739875853328044,"y":0.9377508786410677,"angle":0.0,"x_velocity":0.591707347163313,"y_velocity":1.69135288376844,"angular_velocity":0.0,"x_acceleration":5.131337427974532,"y_acceleration":14.667558883628748,"angular_acceleration":0.0,"time":0.18000000000000002},{"x":5.746050443013405,"y":0.9554004990496847,"angle":0.0,"x_velocity":0.6432969414932496,"y_velocity":1.838818027746615,"angular_velocity":0.0,"x_acceleration":5.183159242700645,"y_acceleration":14.8156878129032,"angular_acceleration":0.0,"time":0.19000000000000003},{"x":5.752743180229299,"y":0.9745312068982078,"angle":0.0,"x_velocity":0.6953031745222945,"y_velocity":1.987474103472731,"angular_velocity":0.0,"x_acceleration":5.214773808917207,"y_acceleration":14.906055776045472,"angular_acceleration":0.0,"time":0.20000000000000004},{"x":5.759957231864402,"y":0.9951520545100923,"angle":0.0,"x_velocity":0.7475272329989823,"y_velocity":2.1367528175703243,"angular_velocity":0.0,"x_acceleration":5.226832973350328,"y_acceleration":14.940526030027577,"angular_acceleration":0.0,"time":0.21000000000000005},{"x":5.7676938092672145,"y":1.017266504437878,"angle":0.0,"x_velocity":0.7997768221391098,"y_velocity":2.286104509232655,"angular_velocity":0.0,"x_acceleration":5.219988582726123,"y_acceleration":14.920961831821517,"angular_acceleration":0.0,"time":0.22000000000000006},{"x":5.775952233430732,"y":1.0408726157888855,"angle":0.0,"x_velocity":0.8518661656257343,"y_velocity":2.434998150222701,"angular_velocity":0.0,"x_acceleration":5.194892483770711,"y_acceleration":14.849226438399297,"angular_acceleration":0.0,"time":0.23000000000000007},{"x":5.784730000177112,"y":1.0659632305509146,"angle":0.0,"x_velocity":0.9036160056091739,"y_velocity":2.58292134487316,"angular_velocity":0.0,"x_acceleration":5.152196523210202,"y_acceleration":14.727183106732927,"angular_acceleration":0.0,"time":0.24000000000000007},{"x":5.794022845342355,"y":1.0925261599179392,"angle":0.0,"x_velocity":0.9548536027070083,"y_velocity":2.7293803300864523,"angular_velocity":0.0,"x_acceleration":5.092552547770711,"y_acceleration":14.556695093794406,"angular_acceleration":0.0,"time":0.25000000000000006},{"x":5.803824809960976,"y":1.1205443706158078,"angle":0.0,"x_velocity":1.0054127360040785,"y_velocity":2.873899975334716,"angular_velocity":0.0,"x_acceleration":5.016612404178357,"y_acceleration":14.339625656555747,"angular_acceleration":0.0,"time":0.26000000000000006},{"x":5.814128305450668,"y":1.1499961712279376,"angle":0.0,"x_velocity":1.0551337030524865,"y_velocity":3.0160237826598073,"angular_velocity":0.0,"x_acceleration":4.925027939159246,"y_acceleration":14.077838051988945,"angular_acceleration":0.0,"time":0.2700000000000001},{"x":5.824924178796987,"y":1.180855398521013,"angle":0.0,"x_velocity":1.1038633198715946,"y_velocity":3.1553138866733077,"angular_velocity":0.0,"x_acceleration":4.818450999439502,"y_acceleration":13.773195537066012,"angular_acceleration":0.0,"time":0.2800000000000001},{"x":5.836201777738016,"y":1.213091603770684,"angle":0.0,"x_velocity":1.1514549209480278,"y_velocity":3.2913510545565132,"angular_velocity":0.0,"x_acceleration":4.697533431745237,"y_acceleration":13.427561368758962,"angular_acceleration":0.0,"time":0.2900000000000001},{"x":5.847949015949044,"y":1.2466702390872604,"angle":0.0,"x_velocity":1.1977683592356712,"y_velocity":3.4237346860604463,"angular_velocity":0.0,"x_acceleration":4.562927082802558,"y_acceleration":13.042798804039784,"angular_acceleration":0.0,"time":0.3000000000000001},{"x":5.86015243822723,"y":1.2815528437414125,"angle":0.0,"x_velocity":1.2426700061556715,"y_velocity":3.5520828135058435,"angular_velocity":0.0,"x_acceleration":4.4152837993375895,"y_acceleration":12.620771099880496,"angular_acceleration":0.0,"time":0.3100000000000001},{"x":5.872797285676286,"y":1.3176972304898649,"angle":0.0,"x_velocity":1.2860327515964365,"y_velocity":3.6760321017831634,"angular_velocity":0.0,"x_acceleration":4.255255428076444,"y_acceleration":12.163341513253094,"angular_acceleration":0.0,"time":0.3200000000000001},{"x":5.885867560891141,"y":1.355057671901097,"angle":0.0,"x_velocity":1.3277360039136332,"y_velocity":3.7952378483525835,"angular_velocity":0.0,"x_acceleration":4.083493815745235,"y_acceleration":11.672373301129607,"angular_acceleration":0.0,"time":0.3300000000000001},{"x":5.899346093142616,"y":1.3935850866810378,"angle":0.0,"x_velocity":1.367665689930194,"y_velocity":3.909373983244007,"angular_velocity":0.0,"x_acceleration":3.900650809070073,"y_acceleration":11.149729720482005,"angular_acceleration":0.0,"time":0.34000000000000014},{"x":5.913214603562101,"y":1.433227225998764,"angle":0.0,"x_velocity":1.4057142549363086,"y_velocity":4.0181330690570505,"angular_velocity":0.0,"x_acceleration":3.7073782547770833,"y_acceleration":10.597274028282325,"angular_acceleration":0.0,"time":0.35000000000000014},{"x":5.927453770326224,"y":1.4739288598121962,"angle":0.0,"x_velocity":1.4417806626894298,"y_velocity":4.1212263009610535,"angular_velocity":0.0,"x_acceleration":3.504327999592366,"y_acceleration":10.01686948150255,"angular_acceleration":0.0,"time":0.36000000000000015},{"x":5.942043293841523,"y":1.5156319631937998,"angle":0.0,"x_velocity":1.475770395414271,"y_velocity":4.218383506695076,"angular_velocity":0.0,"x_acceleration":3.292151890242045,"y_acceleration":9.410379337114694,"angular_acceleration":0.0,"time":0.37000000000000016},{"x":5.956961961929115,"y":1.5582759026562756,"angle":0.0,"x_velocity":1.5075954538028058,"y_velocity":4.3093531465678945,"angular_velocity":0.0,"x_acceleration":3.0715017734522387,"y_acceleration":8.779666852090767,"angular_acceleration":0.0,"time":0.38000000000000017},{"x":5.97218771500938,"y":1.601797622478263,"angle":0.0,"x_velocity":1.5371743570142717,"y_velocity":4.393902313458011,"angular_velocity":0.0,"x_acceleration":2.843029495949051,"y_acceleration":8.126595283402764,"angular_acceleration":0.0,"time":0.3900000000000002},{"x":5.987697711286624,"y":1.646131831030035,"angle":0.0,"x_velocity":1.5644321426751633,"y_velocity":4.471816732813644,"angular_velocity":0.0,"x_acceleration":2.6073869044586058,"y_acceleration":7.453027888022721,"angular_acceleration":0.0,"time":0.4000000000000002},{"x":6.003468391933754,"y":1.6912111870991955,"angle":0.0,"x_velocity":1.5893003668792394,"y_velocity":4.542900762652732,"angular_velocity":0.0,"x_acceleration":2.365225845707015,"y_acceleration":6.760827922922601,"angular_acceleration":0.0,"time":0.4100000000000002},{"x":6.019475546276949,"y":1.736966486216375,"angle":0.0,"x_velocity":1.6117171041875202,"y_velocity":4.606977393562936,"angular_velocity":0.0,"x_acceleration":2.117198166420385,"y_acceleration":6.051858645074432,"angular_acceleration":0.0,"time":0.4200000000000002},{"x":6.035694376980338,"y":1.78332684698093,"angle":0.0,"x_velocity":1.6316269476282836,"y_velocity":4.6638882487016335,"angular_velocity":0.0,"x_acceleration":1.8639557133248488,"y_acceleration":5.327983311450225,"angular_acceleration":0.0,"time":0.4300000000000002},{"x":6.052099565230667,"y":1.8302198973866401,"angle":0.0,"x_velocity":1.648981008697074,"y_velocity":4.713493583795928,"angular_velocity":0.0,"x_acceleration":1.6061503331465072,"y_acceleration":4.591065179021992,"angular_acceleration":0.0,"time":0.4400000000000002},{"x":6.068665335921974,"y":1.8775719611474044,"angle":0.0,"x_velocity":1.663736917356692,"y_velocity":4.755672287142634,"angular_velocity":0.0,"x_acceleration":1.3444338726114697,"y_acceleration":3.842967504761692,"angular_acceleration":0.0,"time":0.45000000000000023},{"x":6.085365522840264,"y":1.9253082440229377,"angle":0.0,"x_velocity":1.675858822037202,"y_velocity":4.790321879608296,"angular_velocity":0.0,"x_acceleration":1.0794581784458668,"y_acceleration":3.085553545641382,"angular_acceleration":0.0,"time":0.46000000000000024},{"x":6.102173633848172,"y":1.9733530201444687,"angle":0.0,"x_velocity":1.6853173896359284,"y_velocity":4.81735851462917,"angular_velocity":0.0,"x_acceleration":0.8118750973758058,"y_acceleration":2.3206865586330423,"angular_acceleration":0.0,"time":0.47000000000000025},{"x":6.11906291606965,"y":2.0216298183404393,"angle":0.0,"x_velocity":1.6920898055174562,"y_velocity":4.836716978211236,"angular_velocity":0.0,"x_acceleration":0.5423364761273941,"y_acceleration":1.5502298007087134,"angular_acceleration":0.0,"time":0.48000000000000026},{"x":6.136006421074629,"y":2.070061608462198,"angle":0.0,"x_velocity":1.6961597735136358,"y_velocity":4.8483506889302,"angular_velocity":0.0,"x_acceleration":0.27149416142674987,"y_acceleration":0.7760465288403253,"angular_acceleration":0.0,"time":0.49000000000000027},{"x":6.152977070063694,"y":2.118570987709699,"angle":0.0,"x_velocity":1.6975175159235718,"y_velocity":4.852231697931468,"angular_velocity":0.0,"x_acceleration":5.329070518200751e-15,"y_acceleration":-2.1316282072803006e-14,"angular_acceleration":0.0,"time":0.5000000000000002},{"x":6.169947719052759,"y":2.1670803669572,"angle":0.0,"x_velocity":1.6961597735136342,"y_velocity":4.84835068893019,"angular_velocity":0.0,"x_acceleration":-0.2714941614267463,"y_acceleration":-0.7760465288403893,"angular_acceleration":0.0,"time":0.5100000000000002},{"x":6.186891224057739,"y":2.215512157078959,"angle":0.0,"x_velocity":1.692089805517457,"y_velocity":4.836716978211236,"angular_velocity":0.0,"x_acceleration":-0.5423364761273834,"y_acceleration":-1.5502298007087703,"angular_acceleration":0.0,"time":0.5200000000000002},{"x":6.203780506279217,"y":2.263788955274929,"angle":0.0,"x_velocity":1.6853173896359275,"y_velocity":4.817358514629166,"angular_velocity":0.0,"x_acceleration":-0.8118750973757969,"y_acceleration":-2.3206865586331276,"angular_acceleration":0.0,"time":0.5300000000000002},{"x":6.2205886172871265,"y":2.3118337313964608,"angle":0.0,"x_velocity":1.6758588220372004,"y_velocity":4.790321879608289,"angular_velocity":0.0,"x_acceleration":-1.079458178445858,"y_acceleration":-3.085553545641446,"angular_acceleration":0.0,"time":0.5400000000000003},{"x":6.2372888042054155,"y":2.359570014271993,"angle":0.0,"x_velocity":1.6637369173566925,"y_velocity":4.755672287142634,"angular_velocity":0.0,"x_acceleration":-1.3444338726114609,"y_acceleration":-3.8429675047617806,"angular_acceleration":0.0,"time":0.5500000000000003},{"x":6.253854574896723,"y":2.406922078032758,"angle":0.0,"x_velocity":1.6489810086970755,"y_velocity":4.7134935837959215,"angular_velocity":0.0,"x_acceleration":-1.6061503331464984,"y_acceleration":-4.591065179022046,"angular_acceleration":0.0,"time":0.5600000000000003},{"x":6.270259763147051,"y":2.4538151284384675,"angle":0.0,"x_velocity":1.6316269476282832,"y_velocity":4.66388824870163,"angular_velocity":0.0,"x_acceleration":-1.8639557133248381,"y_acceleration":-5.327983311450282,"angular_acceleration":0.0,"time":0.5700000000000003},{"x":6.286478593850441,"y":2.5001754892030235,"angle":0.0,"x_velocity":1.611717104187521,"y_velocity":4.606977393562932,"angular_velocity":0.0,"x_acceleration":-2.117198166420387,"y_acceleration":-6.05185864507451,"angular_acceleration":0.0,"time":0.5800000000000003},{"x":6.302485748193636,"y":2.545930788320203,"angle":0.0,"x_velocity":1.5893003668792396,"y_velocity":4.5429007626527245,"angular_velocity":0.0,"x_acceleration":-2.3652258457070126,"y_acceleration":-6.760827922922672,"angular_acceleration":0.0,"time":0.5900000000000003},{"x":6.318256428840765,"y":2.5910101443893625,"angle":0.0,"x_velocity":1.5644321426751655,"y_velocity":4.47181673281364,"angular_velocity":0.0,"x_acceleration":-2.607386904458604,"y_acceleration":-7.453027888022788,"angular_acceleration":0.0,"time":0.6000000000000003},{"x":6.33376642511801,"y":2.635344352941135,"angle":0.0,"x_velocity":1.5371743570142722,"y_velocity":4.393902313458003,"angular_velocity":0.0,"x_acceleration":-2.8430294959490396,"y_acceleration":-8.126595283402821,"angular_acceleration":0.0,"time":0.6100000000000003},{"x":6.348992178198275,"y":2.678866072763122,"angle":0.0,"x_velocity":1.507595453802808,"y_velocity":4.309353146567894,"angular_velocity":0.0,"x_acceleration":-3.07150177345223,"y_acceleration":-8.779666852090827,"angular_acceleration":0.0,"time":0.6200000000000003},{"x":6.363910846285867,"y":2.7215100122255977,"angle":0.0,"x_velocity":1.4757703954142718,"y_velocity":4.218383506695064,"angular_velocity":0.0,"x_acceleration":-3.2921518902420317,"y_acceleration":-9.410379337114747,"angular_acceleration":0.0,"time":0.6300000000000003},{"x":6.378500369801164,"y":2.7632131156072015,"angle":0.0,"x_velocity":1.4417806626894327,"y_velocity":4.121226300961048,"angular_velocity":0.0,"x_acceleration":-3.504327999592366,"y_acceleration":-10.01686948150261,"angular_acceleration":0.0,"time":0.6400000000000003},{"x":6.392739536565288,"y":2.803914749420633,"angle":0.0,"x_velocity":1.405714254936309,"y_velocity":4.018133069057045,"angular_velocity":0.0,"x_acceleration":-3.707378254777076,"y_acceleration":-10.597274028282385,"angular_acceleration":0.0,"time":0.6500000000000004},{"x":6.406608046984774,"y":2.8435568887383593,"angle":0.0,"x_velocity":1.3676656899301962,"y_velocity":3.9093739832440004,"angular_velocity":0.0,"x_acceleration":-3.900650809070072,"y_acceleration":-11.149729720482057,"angular_acceleration":0.0,"time":0.6600000000000004},{"x":6.420086579236249,"y":2.8820843035183,"angle":0.0,"x_velocity":1.3277360039136346,"y_velocity":3.7952378483525795,"angular_velocity":0.0,"x_acceleration":-4.083493815745221,"y_acceleration":-11.672373301129653,"angular_acceleration":0.0,"time":0.6700000000000004},{"x":6.433156854451104,"y":2.9194447449295318,"angle":0.0,"x_velocity":1.2860327515964354,"y_velocity":3.6760321017831536,"angular_velocity":0.0,"x_acceleration":-4.255255428076431,"y_acceleration":-12.163341513253158,"angular_acceleration":0.0,"time":0.6800000000000004},{"x":6.445801701900159,"y":2.955589131677985,"angle":0.0,"x_velocity":1.2426700061556737,"y_velocity":3.5520828135058267,"angular_velocity":0.0,"x_acceleration":-4.415283799337573,"y_acceleration":-12.620771099880514,"angular_acceleration":0.0,"time":0.6900000000000004},{"x":6.458005124178346,"y":2.9904717363321365,"angle":0.0,"x_velocity":1.1977683592356723,"y_velocity":3.4237346860604347,"angular_velocity":0.0,"x_acceleration":-4.562927082802538,"y_acceleration":-13.04279880403979,"angular_acceleration":0.0,"time":0.7000000000000004},{"x":6.469752362389373,"y":3.024050371648712,"angle":0.0,"x_velocity":1.15145492094803,"y_velocity":3.2913510545565003,"angular_velocity":0.0,"x_acceleration":-4.697533431745221,"y_acceleration":-13.427561368758987,"angular_acceleration":0.0,"time":0.7100000000000004},{"x":6.481029961330403,"y":3.0562865768983833,"angle":0.0,"x_velocity":1.1038633198715937,"y_velocity":3.1553138866732873,"angular_velocity":0.0,"x_acceleration":-4.818450999439506,"y_acceleration":-13.773195537066059,"angular_acceleration":0.0,"time":0.7200000000000004},{"x":6.491825834676721,"y":3.087145804191458,"angle":0.0,"x_velocity":1.055133703052487,"y_velocity":3.0160237826597864,"angular_velocity":0.0,"x_acceleration":-4.925027939159229,"y_acceleration":-14.07783805198899,"angular_acceleration":0.0,"time":0.7300000000000004},{"x":6.502129330166413,"y":3.1165976048035886,"angle":0.0,"x_velocity":1.005412736004084,"y_velocity":2.8738999753347017,"angular_velocity":0.0,"x_acceleration":-5.016612404178346,"y_acceleration":-14.339625656555825,"angular_acceleration":0.0,"time":0.7400000000000004},{"x":6.511931294785033,"y":3.1446158155014583,"angle":0.0,"x_velocity":0.9548536027070131,"y_velocity":2.729380330086432,"angular_velocity":0.0,"x_acceleration":-5.092552547770694,"y_acceleration":-14.556695093794445,"angular_acceleration":0.0,"time":0.7500000000000004},{"x":6.521224139950277,"y":3.171178744868481,"angle":0.0,"x_velocity":0.9036160056091784,"y_velocity":2.5829213448731565,"angular_velocity":0.0,"x_acceleration":-5.152196523210179,"y_acceleration":-14.72718310673298,"angular_acceleration":0.0,"time":0.7600000000000005},{"x":6.530001906696658,"y":3.1962693596305094,"angle":0.0,"x_velocity":0.8518661656257365,"y_velocity":2.4349981502226825,"angular_velocity":0.0,"x_acceleration":-5.194892483770715,"y_acceleration":-14.84922643839937,"angular_acceleration":0.0,"time":0.7700000000000005},{"x":6.538260330860175,"y":3.219875470981517,"angle":0.0,"x_velocity":0.7997768221391119,"y_velocity":2.286104509232633,"angular_velocity":0.0,"x_acceleration":-5.219988582726103,"y_acceleration":-14.92096183182153,"angular_acceleration":0.0,"time":0.7800000000000005},{"x":6.545996908262989,"y":3.2419899209093037,"angle":0.0,"x_velocity":0.7475272329989853,"y_velocity":2.1367528175702972,"angular_velocity":0.0,"x_acceleration":-5.226832973350319,"y_acceleration":-14.940526030027627,"angular_acceleration":0.0,"time":0.7900000000000005},{"x":6.553210959898091,"y":3.2626107685211876,"angle":0.0,"x_velocity":0.6953031745223015,"y_velocity":1.9874741034727208,"angular_velocity":0.0,"x_acceleration":-5.214773808917201,"y_acceleration":-14.906055776045548,"angular_acceleration":0.0,"time":0.8000000000000005},{"x":6.559903697113985,"y":3.2817414763697084,"angle":0.0,"x_velocity":0.6432969414932526,"y_velocity":1.8388180277465977,"angular_velocity":0.0,"x_acceleration":-5.183159242700633,"y_acceleration":-14.815687812903263,"angular_acceleration":0.0,"time":0.8100000000000005},{"x":6.566078286799346,"y":3.2993910967783284,"angle":0.0,"x_velocity":0.5917073471633181,"y_velocity":1.691352883768424,"angular_velocity":0.0,"x_acceleration":-5.131337427974529,"y_acceleration":-14.6675588836288,"angular_acceleration":0.0,"time":0.8200000000000005},{"x":6.571739916567702,"y":3.315574458167105,"angle":0.0,"x_velocity":0.5407397232512174,"y_velocity":1.5456655974843798,"angular_velocity":0.0,"x_acceleration":-5.0586565180127465,"y_acceleration":-14.459805731250185,"angular_acceleration":0.0,"time":0.8300000000000005},{"x":6.576895859942109,"y":3.330312351378427,"angle":0.0,"x_velocity":0.4906059199429329,"y_velocity":1.4023617274103373,"angular_velocity":0.0,"x_acceleration":-4.964464666089171,"y_acceleration":-14.190565098795332,"angular_acceleration":0.0,"time":0.8400000000000005},{"x":6.58155554153981,"y":3.3436317160026814,"angle":0.0,"x_velocity":0.441524305891722,"y_velocity":1.2620654646319593,"angular_velocity":0.0,"x_acceleration":-4.848110025477695,"y_acceleration":-13.85797372929224,"angular_acceleration":0.0,"time":0.8500000000000005},{"x":6.585730602256929,"y":3.35556582670395,"angle":0.0,"x_velocity":0.3937197682180962,"y_velocity":1.125419632804558,"angular_velocity":0.0,"x_acceleration":-4.708940749452211,"y_acceleration":-13.46016836576905,"angular_acceleration":0.0,"time":0.8600000000000005},{"x":6.589434964453115,"y":3.3661544795457345,"angle":0.0,"x_velocity":0.34742371250981385,"y_velocity":0.9930856881532293,"angular_velocity":0.0,"x_acceleration":-4.546304991286604,"y_acceleration":-12.995285751253675,"angular_acceleration":0.0,"time":0.8700000000000006},{"x":6.59268489713625,"y":3.3754441783166325,"angle":0.0,"x_velocity":0.302874062821914,"y_velocity":0.8657437194727038,"angular_velocity":0.0,"x_acceleration":-4.35955090425476,"y_acceleration":-12.46146262877403,"angular_acceleration":0.0,"time":0.8800000000000006},{"x":6.59549908114709,"y":3.3834883208560225,"angle":0.0,"x_velocity":0.26031526167669483,"y_velocity":0.7440924481275246,"angular_velocity":0.0,"x_acceleration":-4.148026641630551,"y_acceleration":-11.856835741358168,"angular_acceleration":0.0,"time":0.8900000000000006},{"x":6.597898674343952,"y":3.3903473853797976,"angle":0.0,"x_velocity":0.21999827006370154,"y_velocity":0.628849228051898,"angular_velocity":0.0,"x_acceleration":-3.911080356687876,"y_acceleration":-11.179541832034118,"angular_acceleration":0.0,"time":0.9000000000000006},{"x":6.599907376787386,"y":3.3960891168060208,"angle":0.0,"x_velocity":0.18218056743975453,"y_velocity":0.5207500457497929,"angular_velocity":0.0,"x_acceleration":-3.648060202700634,"y_acceleration":-10.427717643829823,"angular_acceleration":0.0,"time":0.9100000000000006},{"x":6.601551495924849,"y":3.4007887130806616,"angle":0.0,"x_velocity":0.14712615172892285,"y_velocity":0.42054952029480575,"angular_velocity":0.0,"x_acceleration":-3.358314332942655,"y_acceleration":-9.59949991977328,"angular_acceleration":0.0,"time":0.9200000000000006},{"x":6.6028600117753715,"y":3.404529011503266,"angle":0.0,"x_velocity":0.11510553932255263,"y_velocity":0.32902090333040235,"angular_velocity":0.0,"x_acceleration":-3.04119090068788,"y_acceleration":-8.693025402892488,"angular_acceleration":0.0,"time":0.9300000000000006},{"x":6.603864642114235,"y":3.4074006750526653,"angle":0.0,"x_velocity":0.08639576507923508,"y_velocity":0.24695607906961925,"angular_velocity":0.0,"x_acceleration":-2.696038059210153,"y_acceleration":-7.706430836215475,"angular_acceleration":0.0,"time":0.9400000000000006},{"x":6.604599907657645,"y":3.409502378712663,"angle":0.0,"x_velocity":0.06128038232484556,"y_velocity":0.1751655642953054,"angular_velocity":0.0,"x_acceleration":-2.3222039617834156,"y_acceleration":-6.637852962770239,"angular_acceleration":0.0,"time":0.9500000000000006},{"x":6.6051031972473995,"y":3.41094099579775,"angle":0.0,"x_velocity":0.040049462852486784,"y_velocity":0.11447850836000839,"angular_velocity":0.0,"x_acceleration":-1.9190367616815251,"y_acceleration":-5.485428525584666,"angular_acceleration":0.0,"time":0.9600000000000006},{"x":6.605414833035564,"y":3.41183178427878,"angle":0.0,"x_velocity":0.022999596922556265,"y_velocity":0.0657426931859959,"angular_velocity":0.0,"x_acceleration":-1.4858846121783387,"y_acceleration":-4.247294267686925,"angular_acceleration":0.0,"time":0.9700000000000006},{"x":6.605578135669143,"y":3.4122985731086946,"angle":0.0,"x_velocity":0.010433893262682403,"y_velocity":0.02982453326522716,"angular_velocity":0.0,"x_acceleration":-1.0220956665477559,"y_acceleration":-2.9215869321049013,"angular_acceleration":0.0,"time":0.9800000000000006},{"x":6.60563948947476,"y":3.412473948548188,"angle":0.0,"x_velocity":0.002661979067781317,"y_velocity":0.007609075659416931,"angular_velocity":0.0,"x_acceleration":-0.5270180780636622,"y_acceleration":-1.5064432618665933,"angular_acceleration":0.0,"time":0.9900000000000007},{"x":6.6056484076433115,"y":3.4124994404914233,"angle":0.0,"x_velocity":1.4134999378088743e-29,"y_velocity":-1.6333872977054212e-29,"angular_velocity":0.0,"x_acceleration":4.2438918621361747e-14,"y_acceleration":-4.904081616865221e-14,"angular_acceleration":0.0,"time":1.0000000000000007},{"x":6.605658867223716,"y":3.4124873537942,"angle":0.0,"x_velocity":0.003122074215287041,"y_velocity":-0.0036077513902466173,"angular_velocity":0.0,"x_acceleration":0.6181076224204224,"y_acceleration":-0.7142618914023119,"angular_acceleration":0.0,"time":1.0100000000000007},{"x":6.605730825390797,"y":3.412404201646166,"angle":0.0,"x_velocity":0.012237282221656869,"y_velocity":-0.014140942496449833,"angular_velocity":0.0,"x_acceleration":1.1987541768153247,"y_acceleration":-1.3852351833256495,"angular_acceleration":0.0,"time":1.0200000000000007},{"x":6.6059223531709215,"y":3.4121828793561213,"angle":0.0,"x_velocity":0.02697483589681649,"y_velocity":-0.03117110452784886,"angular_velocity":0.0,"x_acceleration":1.742704174777106,"y_acceleration":-2.0138033165757547,"angular_acceleration":0.0,"time":1.0300000000000007},{"x":6.606287851934818,"y":3.4117605227487346,"angle":0.0,"x_velocity":0.046971592234396474,"y_velocity":-0.05427860310173982,"angular_velocity":0.0,"x_acceleration":2.2507221278981224,"y_acceleration":-2.6008497319583186,"angular_acceleration":0.0,"time":1.0400000000000007},{"x":6.606878129848726,"y":3.4110784198204613,"angle":0.0,"x_velocity":0.07187205334395096,"y_velocity":-0.08305263824347578,"angular_velocity":0.0,"x_acceleration":2.7235725477707318,"y_acceleration":-3.1472578702790353,"angular_acceleration":0.0,"time":1.0500000000000007},{"x":6.607740478325564,"y":3.410081922395462,"angle":0.0,"x_velocity":0.10132836645095765,"y_velocity":-0.1170912443864667,"angular_velocity":0.0,"x_acceleration":3.16201994598729,"y_acceleration":-3.6539111723435953,"angular_acceleration":0.0,"time":1.0600000000000007},{"x":6.608918748476083,"y":3.408720357781524,"angle":0.0,"x_velocity":0.13500032389681785,"y_velocity":-0.15600129037217955,"angular_velocity":0.0,"x_acceleration":3.566828834140154,"y_acceleration":-4.121693078957692,"angular_acceleration":0.0,"time":1.0700000000000007},{"x":6.61045342756003,"y":3.4069469404259785,"angle":0.0,"x_velocity":0.17255536313885633,"y_velocity":-0.19939847945013808,"angular_velocity":0.0,"x_acceleration":3.9387637238216806,"y_acceleration":-4.551487030927019,"angular_acceleration":0.0,"time":1.0800000000000007},{"x":6.6123817154373015,"y":3.4047186835716228,"angle":0.0,"x_velocity":0.2136685667503216,"y_velocity":-0.24690734927792307,"angular_velocity":0.0,"x_acceleration":4.278589126624226,"y_acceleration":-4.944176469057266,"angular_acceleration":0.0,"time":1.0900000000000007},{"x":6.614737601019108,"y":3.401996310912636,"angle":0.0,"x_velocity":0.2580226624203855,"y_velocity":-0.29816127192117226,"angular_velocity":0.0,"x_acceleration":4.587069554140146,"y_acceleration":-5.300644834154127,"angular_acceleration":0.0,"time":1.1000000000000008},{"x":6.617551938719131,"y":3.398744168250503,"angle":0.0,"x_velocity":0.3053080229541437,"y_velocity":-0.3528024538535801,"angular_velocity":0.0,"x_acceleration":4.864969517961802,"y_acceleration":-5.621775567023294,"angular_acceleration":0.0,"time":1.1100000000000008},{"x":6.620852524904682,"y":3.394930135149929,"angle":0.0,"x_velocity":0.3552226662726153,"y_velocity":-0.41048193595689814,"angular_velocity":0.0,"x_acceleration":5.113053529681543,"y_acceleration":-5.908452108470459,"angular_acceleration":0.0,"time":1.1200000000000008},{"x":6.624664174347864,"y":3.3905255365947635,"angle":0.0,"x_velocity":0.4074722554127428,"y_velocity":-0.4708595935209349,"angular_velocity":0.0,"x_acceleration":5.332086100891733,"y_acceleration":-6.161557899301316,"angular_acceleration":0.0,"time":1.1300000000000008},{"x":6.629008796676728,"y":3.3855050546439163,"angle":0.0,"x_velocity":0.46177009852739265,"y_velocity":-0.5336041362435558,"angular_velocity":0.0,"x_acceleration":5.522831743184722,"y_acceleration":-6.381976380321553,"angular_acceleration":0.0,"time":1.1400000000000008},{"x":6.633905472826433,"y":3.3798466400872784,"angle":0.0,"x_velocity":0.5178371488853546,"y_velocity":-0.598393108230683,"angular_velocity":0.0,"x_acceleration":5.686054968152874,"y_acceleration":-6.570590992336869,"angular_acceleration":0.0,"time":1.1500000000000008},{"x":6.639370531490405,"y":3.3735314241016416,"angle":0.0,"x_velocity":0.5754020048713419,"y_velocity":-0.6649128879962958,"angular_velocity":0.0,"x_acceleration":5.82252028738854,"y_acceleration":-6.728285176152951,"angular_acceleration":0.0,"time":1.1600000000000008},{"x":6.645417625571498,"y":3.366543629906618,"angle":0.0,"x_velocity":0.6342009099859918,"y_velocity":-0.7328586884624303,"angular_velocity":0.0,"x_acceleration":5.932992212484078,"y_acceleration":-6.855942372575494,"angular_acceleration":0.0,"time":1.1700000000000008},{"x":6.6520578086331525,"y":3.3588704844205584,"angle":0.0,"x_velocity":0.6939777528458646,"y_velocity":-0.8019345569591796,"angular_velocity":0.0,"x_acceleration":6.018235255031846,"y_acceleration":-6.9544460224101865,"angular_acceleration":0.0,"time":1.1800000000000008},{"x":6.6592996113505505,"y":3.350502129916473,"angle":0.0,"x_velocity":0.7544840671834442,"y_velocity":-0.8718533752246939,"angular_velocity":0.0,"x_acceleration":6.079013926624202,"y_acceleration":-7.024679566462727,"angular_acceleration":0.0,"time":1.1900000000000008},{"x":6.667149117961783,"y":3.341431535677949,"angle":0.0,"x_velocity":0.8154790318471384,"y_velocity":-0.9423368594051795,"angular_velocity":0.0,"x_acceleration":6.116092738853497,"y_acceleration":-7.067526445538804,"angular_acceleration":0.0,"time":1.2000000000000008},{"x":6.675610042719004,"y":3.3316544096550724,"angle":0.0,"x_velocity":0.8767294708012785,"y_velocity":-1.0131155600549009,"angular_velocity":0.0,"x_acceleration":6.130236203312093,"y_acceleration":-7.083870100444111,"angular_acceleration":0.0,"time":1.2100000000000009},{"x":6.684683806339588,"y":3.3211691101203464,"angle":0.0,"x_velocity":0.9380098531261191,"y_velocity":-1.0839288621361782,"angular_velocity":0.0,"x_acceleration":6.122208831592347,"y_acceleration":-7.0745939719843385,"angular_acceleration":0.0,"time":1.2200000000000009},{"x":6.694369612457292,"y":3.3099765573246103,"angle":0.0,"x_velocity":0.9991022930178389,"y_velocity":-1.1545249850193897,"angular_velocity":0.0,"x_acceleration":6.092775135286611,"y_acceleration":-7.040581500965182,"angular_acceleration":0.0,"time":1.2300000000000009},{"x":6.704664524073417,"y":3.2980801451529587,"angle":0.0,"x_velocity":1.0597965497885393,"y_velocity":-1.2246609824829697,"angular_velocity":0.0,"x_acceleration":6.042699625987246,"y_acceleration":-6.982716128192331,"angular_acceleration":0.0,"time":1.2400000000000009},{"x":6.715563540007961,"y":3.285485652780662,"angle":0.0,"x_velocity":1.1198900278662463,"y_velocity":-1.29410274271341,"angular_velocity":0.0,"x_acceleration":5.972746815286607,"y_acceleration":-6.901881294471476,"angular_acceleration":0.0,"time":1.2500000000000009},{"x":6.727059671350788,"y":3.2722011563290865,"angle":0.0,"x_velocity":1.1791877767949084,"y_velocity":-1.3626249883052581,"angular_velocity":0.0,"x_acceleration":5.8836812147770505,"y_acceleration":-6.798960440608318,"angular_acceleration":0.0,"time":1.260000000000001},{"x":6.739144017912772,"y":3.2582369405216114,"angle":0.0,"x_velocity":1.2375024912343988,"y_velocity":-1.430011276261121,"angular_velocity":0.0,"x_acceleration":5.776267336050934,"y_acceleration":-6.67483700740854,"angular_acceleration":0.0,"time":1.270000000000001},{"x":6.751805844676974,"y":3.2436054103395495,"angle":0.0,"x_velocity":1.2946545109605134,"y_velocity":-1.4960539979916592,"angular_velocity":0.0,"x_acceleration":5.651269690700612,"y_acceleration":-6.5303944356778425,"angular_acceleration":0.0,"time":1.280000000000001},{"x":6.765032658249787,"y":3.2283210026780673,"angle":0.0,"x_velocity":1.3504718208649722,"y_velocity":-1.560554379315594,"angular_velocity":0.0,"x_acceleration":5.50945279031844,"y_acceleration":-6.366516166221903,"angular_acceleration":0.0,"time":1.290000000000001},{"x":6.778810283312103,"y":3.212400098002105,"angle":0.0,"x_velocity":1.4047900509554174,"y_velocity":-1.6233224804596993,"angular_velocity":0.0,"x_acceleration":5.351581146496784,"y_acceleration":-6.184085639846433,"angular_acceleration":0.0,"time":1.300000000000001},{"x":6.793122939070469,"y":3.195860932002291,"angle":0.0,"x_velocity":1.4574524763554173,"y_velocity":-1.6841771960588097,"angular_velocity":0.0,"x_acceleration":5.178419270827993,"y_acceleration":-5.983986297357113,"angular_acceleration":0.0,"time":1.310000000000001},{"x":6.80795331570825,"y":3.17872350725087,"angle":0.0,"x_velocity":1.5083100173044612,"y_velocity":-1.7429462551558146,"angular_velocity":0.0,"x_acceleration":4.990731674904426,"y_acceleration":-5.767101579559641,"angular_acceleration":0.0,"time":1.320000000000001},{"x":6.8232826508367825,"y":3.161009504857613,"angle":0.0,"x_velocity":1.5572212391579636,"y_velocity":-1.7994662212016599,"angular_velocity":0.0,"x_acceleration":4.78928287031844,"y_acceleration":-5.534314927259704,"angular_acceleration":0.0,"time":1.330000000000001},{"x":6.8390908059465385,"y":3.142742196125744,"angle":0.0,"x_velocity":1.6040523523872634,"y_velocity":-1.8535824920553527,"angular_velocity":0.0,"x_acceleration":4.574837368662379,"y_acceleration":-5.286509781263,"angular_acceleration":0.0,"time":1.340000000000001},{"x":6.855356342858281,"y":3.123946354207857,"angle":0.0,"x_velocity":1.6486772125796196,"y_velocity":-1.9051492999839512,"angular_velocity":0.0,"x_acceleration":4.34815968152862,"y_acceleration":-5.024569582375213,"angular_acceleration":0.0,"time":1.350000000000001},{"x":6.872056600174227,"y":3.1046481657618332,"angle":0.0,"x_velocity":1.690977320438218,"y_velocity":-1.9540297116625724,"angular_velocity":0.0,"x_acceleration":4.110014320509509,"y_acceleration":-4.749377771402049,"angular_acceleration":0.0,"time":1.360000000000001},{"x":6.889167769729206,"y":3.084875142606762,"angle":0.0,"x_velocity":1.7308418217821662,"y_velocity":-2.0000956281743925,"angular_velocity":0.0,"x_acceleration":3.8611657971974047,"y_acceleration":-4.461817789149185,"angular_acceleration":0.0,"time":1.370000000000001},{"x":6.906664973041814,"y":3.0646560333788644,"angle":0.0,"x_velocity":1.7681675075464975,"y_velocity":-2.043227785010643,"angular_velocity":0.0,"x_acceleration":3.6023786231846673,"y_acceleration":-4.162773076422326,"angular_acceleration":0.0,"time":1.380000000000001},{"x":6.924522337765582,"y":3.044020735187405,"angle":0.0,"x_velocity":1.8028588137821662,"y_velocity":-2.083315752070612,"angular_velocity":0.0,"x_acceleration":3.334417310063645,"y_acceleration":-3.8531270740271513,"angular_acceleration":0.0,"time":1.390000000000001},{"x":6.942713074140128,"y":3.023000205270616,"angle":0.0,"x_velocity":1.8348278216560505,"y_velocity":-2.120257933661644,"angular_velocity":0.0,"x_acceleration":3.0580463694267035,"y_acceleration":-3.533763222769368,"angular_acceleration":0.0,"time":1.400000000000001},{"x":6.961209551442317,"y":3.0016263726516175,"angle":0.0,"x_velocity":1.863994257450955,"y_velocity":-2.1539615684991427,"angular_velocity":0.0,"x_acceleration":2.7740303128661843,"y_acceleration":-3.205564963454661,"angular_acceleration":0.0,"time":1.410000000000001},{"x":6.979983374437423,"y":2.9799320497943347,"angle":0.0,"x_velocity":1.8902854925656039,"y_velocity":-2.1843427297065663,"angular_velocity":0.0,"x_acceleration":2.4831336519744713,"y_acceleration":-2.8694157368887225,"angular_acceleration":0.0,"time":1.420000000000001},{"x":6.999005459830287,"y":2.957950844259416,"angle":0.0,"x_velocity":1.9136365435146472,"y_velocity":-2.211326324815431,"angular_velocity":0.0,"x_acceleration":2.1861208983438942,"y_acceleration":-2.52619898387724,"angular_acceleration":0.0,"time":1.430000000000001},{"x":7.018246112716474,"y":2.9357170703601567,"angle":0.0,"x_velocity":1.9339900719286602,"y_velocity":-2.234846095765313,"angular_velocity":0.0,"x_acceleration":1.8837565635668128,"y_acceleration":-2.176798145225904,"angular_acceleration":0.0,"time":1.440000000000001},{"x":7.03767510303344,"y":2.913265660818415,"angle":0.0,"x_velocity":1.951296384554137,"y_velocity":-2.2548446189038347,"angular_velocity":0.0,"x_acceleration":1.576805159235617,"y_acceleration":-1.8220966617404404,"angular_acceleration":0.0,"time":1.450000000000001},{"x":7.05726174201168,"y":2.890632078420533,"angle":0.0,"x_velocity":1.9655134332534987,"y_velocity":-2.2712733049866918,"angular_velocity":0.0,"x_acceleration":1.2660311969426203,"y_acceleration":-1.4629779742264954,"angular_acceleration":0.0,"time":1.460000000000001},{"x":7.076974958625893,"y":2.8678522276732554,"angle":0.0,"x_velocity":1.9766068150050908,"y_velocity":-2.2840923991776236,"angular_velocity":0.0,"x_acceleration":0.9521991882801881,"y_acceleration":-1.1003255234897757,"angular_acceleration":0.0,"time":1.470000000000001},{"x":7.096783376046146,"y":2.8449623664596477,"angle":0.0,"x_velocity":1.98454977190318,"y_velocity":-2.293270981048432,"angular_velocity":0.0,"x_acceleration":0.6360736448406996,"y_acceleration":-0.7350227503359932,"angular_acceleration":0.0,"time":1.480000000000001},{"x":7.116655388089023,"y":2.8219990176950214,"angle":0.0,"x_velocity":1.9893231911579559,"y_velocity":-2.2987869645789716,"angular_velocity":0.0,"x_acceleration":0.3184190782164933,"y_acceleration":-0.36795309557082234,"angular_acceleration":0.0,"time":1.490000000000001},{"x":7.13655923566879,"y":2.798998880982844,"angle":0.0,"x_velocity":1.9909156050955352,"y_velocity":-2.300627098157161,"angular_velocity":0.0,"x_acceleration":-6.572520305780927e-14,"y_acceleration":3.907985046680551e-14,"angular_acceleration":0.0,"time":1.500000000000001},{"x":7.15646308324856,"y":2.775998744270667,"angle":0.0,"x_velocity":1.9893231911579559,"y_velocity":-2.298786964578973,"angular_velocity":0.0,"x_acceleration":-0.3184190782166354,"y_acceleration":0.3679530955709147,"angular_acceleration":0.0,"time":1.5100000000000011},{"x":7.176335095291434,"y":2.75303539550604,"angle":0.0,"x_velocity":1.9845497719031764,"y_velocity":-2.293270981048429,"angular_velocity":0.0,"x_acceleration":-0.6360736448408346,"y_acceleration":0.735022750336082,"angular_acceleration":0.0,"time":1.5200000000000011},{"x":7.196143512711688,"y":2.7301455342924337,"angle":0.0,"x_velocity":1.9766068150050873,"y_velocity":-2.2840923991776187,"angular_velocity":0.0,"x_acceleration":-0.9521991882803214,"y_acceleration":1.100325523489861,"angular_acceleration":0.0,"time":1.5300000000000011},{"x":7.2158567293259015,"y":2.7073656835451554,"angle":0.0,"x_velocity":1.9655134332534931,"y_velocity":-2.2712733049866896,"angular_velocity":0.0,"x_acceleration":-1.2660311969427447,"y_acceleration":1.462977974226586,"angular_acceleration":0.0,"time":1.5400000000000011},{"x":7.23544336830414,"y":2.684732101147273,"angle":0.0,"x_velocity":1.9512963845541296,"y_velocity":-2.254844618903831,"angular_velocity":0.0,"x_acceleration":-1.5768051592357324,"y_acceleration":1.8220966617405097,"angular_acceleration":0.0,"time":1.5500000000000012},{"x":7.254872358621107,"y":2.662280691605532,"angle":0.0,"x_velocity":1.9339900719286502,"y_velocity":-2.2348460957653073,"angular_velocity":0.0,"x_acceleration":-1.883756563566962,"y_acceleration":2.1767981452259875,"angular_acceleration":0.0,"time":1.5600000000000012},{"x":7.274113011507294,"y":2.6400469177062726,"angle":0.0,"x_velocity":1.9136365435146376,"y_velocity":-2.211326324815428,"angular_velocity":0.0,"x_acceleration":-2.186120898344033,"y_acceleration":2.526198983877322,"angular_acceleration":0.0,"time":1.5700000000000012},{"x":7.293135096900158,"y":2.6180657121713544,"angle":0.0,"x_velocity":1.8902854925655919,"y_velocity":-2.184342729706559,"angular_velocity":0.0,"x_acceleration":-2.4831336519746046,"y_acceleration":2.8694157368887936,"angular_acceleration":0.0,"time":1.5800000000000012},{"x":7.311908919895263,"y":2.5963713893140707,"angle":0.0,"x_velocity":1.863994257450941,"y_velocity":-2.1539615684991356,"angular_velocity":0.0,"x_acceleration":-2.7740303128663193,"y_acceleration":3.2055649634547265,"angular_acceleration":0.0,"time":1.5900000000000012},{"x":7.3304053971974525,"y":2.574997556695073,"angle":0.0,"x_velocity":1.8348278216560372,"y_velocity":-2.1202579336616356,"angular_velocity":0.0,"x_acceleration":-3.058046369426826,"y_acceleration":3.533763222769444,"angular_acceleration":0.0,"time":1.6000000000000012},{"x":7.348596133571997,"y":2.553977026778284,"angle":0.0,"x_velocity":1.8028588137821533,"y_velocity":-2.083315752070604,"angular_velocity":0.0,"x_acceleration":-3.3344173100637775,"y_acceleration":3.8531270740272348,"angular_acceleration":0.0,"time":1.6100000000000012},{"x":7.366453498295765,"y":2.5333417285868247,"angle":0.0,"x_velocity":1.7681675075464804,"y_velocity":-2.0432277850106315,"angular_velocity":0.0,"x_acceleration":-3.6023786231847836,"y_acceleration":4.16277307642239,"angular_acceleration":0.0,"time":1.6200000000000012},{"x":7.383950701608374,"y":2.513122619358927,"angle":0.0,"x_velocity":1.730841821782147,"y_velocity":-2.0000956281743827,"angular_velocity":0.0,"x_acceleration":-3.8611657971975255,"y_acceleration":4.461817789149251,"angular_acceleration":0.0,"time":1.6300000000000012},{"x":7.401061871163351,"y":2.4933495962038568,"angle":0.0,"x_velocity":1.6909773204382006,"y_velocity":-1.9540297116625656,"angular_velocity":0.0,"x_acceleration":-4.1100143205096344,"y_acceleration":4.749377771402116,"angular_acceleration":0.0,"time":1.6400000000000012},{"x":7.417762128479298,"y":2.4740514077578326,"angle":0.0,"x_velocity":1.6486772125796003,"y_velocity":-1.9051492999839388,"angular_velocity":0.0,"x_acceleration":-4.348159681528728,"y_acceleration":5.024569582375264,"angular_acceleration":0.0,"time":1.6500000000000012},{"x":7.434027665391041,"y":2.455255565839945,"angle":0.0,"x_velocity":1.6040523523872414,"y_velocity":-1.8535824920553372,"angular_velocity":0.0,"x_acceleration":-4.574837368662479,"y_acceleration":5.286509781263042,"angular_acceleration":0.0,"time":1.6600000000000013},{"x":7.449835820500796,"y":2.4369882571080765,"angle":0.0,"x_velocity":1.5572212391579416,"y_velocity":-1.799466221201648,"angular_velocity":0.0,"x_acceleration":-4.7892828703185515,"y_acceleration":5.534314927259764,"angular_acceleration":0.0,"time":1.6700000000000013},{"x":7.465165155629328,"y":2.4192742547148205,"angle":0.0,"x_velocity":1.5083100173044404,"y_velocity":-1.742946255155804,"angular_velocity":0.0,"x_acceleration":-4.990731674904545,"y_acceleration":5.767101579559714,"angular_acceleration":0.0,"time":1.6800000000000013},{"x":7.479995532267109,"y":2.4021368299633985,"angle":0.0,"x_velocity":1.4574524763553915,"y_velocity":-1.684177196058796,"angular_velocity":0.0,"x_acceleration":-5.178419270828108,"y_acceleration":5.983986297357163,"angular_acceleration":0.0,"time":1.6900000000000013},{"x":7.494308188025476,"y":2.385597663963585,"angle":0.0,"x_velocity":1.4047900509553921,"y_velocity":-1.6233224804596826,"angular_velocity":0.0,"x_acceleration":-5.3515811464968905,"y_acceleration":6.184085639846479,"angular_acceleration":0.0,"time":1.7000000000000013},{"x":7.508085813087793,"y":2.3696767592876227,"angle":0.0,"x_velocity":1.3504718208649447,"y_velocity":-1.5605543793155778,"angular_velocity":0.0,"x_acceleration":-5.509452790318541,"y_acceleration":6.366516166221949,"angular_acceleration":0.0,"time":1.7100000000000013},{"x":7.521312626660603,"y":2.3543923516261414,"angle":0.0,"x_velocity":1.2946545109604841,"y_velocity":-1.4960539979916447,"angular_velocity":0.0,"x_acceleration":-5.651269690700708,"y_acceleration":6.530394435677863,"angular_acceleration":0.0,"time":1.7200000000000013},{"x":7.533974453424805,"y":2.339760821444079,"angle":0.0,"x_velocity":1.2375024912343733,"y_velocity":-1.430011276261105,"angular_velocity":0.0,"x_acceleration":-5.776267336051028,"y_acceleration":6.674837007408577,"angular_acceleration":0.0,"time":1.7300000000000013},{"x":7.54605879998679,"y":2.3257966056366044,"angle":0.0,"x_velocity":1.1791877767948797,"y_velocity":-1.3626249883052424,"angular_velocity":0.0,"x_acceleration":-5.883681214777148,"y_acceleration":6.798960440608354,"angular_acceleration":0.0,"time":1.7400000000000013},{"x":7.557554931329614,"y":2.312512109185028,"angle":0.0,"x_velocity":1.1198900278662158,"y_velocity":-1.2941027427133935,"angular_velocity":0.0,"x_acceleration":-5.972746815286683,"y_acceleration":6.90188129447148,"angular_acceleration":0.0,"time":1.7500000000000013},{"x":7.5684539472641585,"y":2.2999176168127327,"angle":0.0,"x_velocity":1.0597965497885102,"y_velocity":-1.2246609824829502,"angular_velocity":0.0,"x_acceleration":-6.042699625987332,"y_acceleration":6.9827161281923225,"angular_acceleration":0.0,"time":1.7600000000000013},{"x":7.578748858880284,"y":2.2880212046410797,"angle":0.0,"x_velocity":0.9991022930178062,"y_velocity":-1.1545249850193784,"angular_velocity":0.0,"x_acceleration":-6.0927751352866935,"y_acceleration":7.040581500965203,"angular_acceleration":0.0,"time":1.7700000000000014},{"x":7.588434664997989,"y":2.276828651845344,"angle":0.0,"x_velocity":0.9380098531260828,"y_velocity":-1.0839288621361582,"angular_velocity":0.0,"x_acceleration":-6.12220883159241,"y_acceleration":7.074593971984328,"angular_acceleration":0.0,"time":1.7800000000000014},{"x":7.597508428618573,"y":2.266343352310619,"angle":0.0,"x_velocity":0.8767294708012425,"y_velocity":-1.0131155600548833,"angular_velocity":0.0,"x_acceleration":-6.1302362033121724,"y_acceleration":7.083870100444116,"angular_acceleration":0.0,"time":1.7900000000000014},{"x":7.605969353375793,"y":2.2565662262877417,"angle":0.0,"x_velocity":0.8154790318470972,"y_velocity":-0.9423368594051613,"angular_velocity":0.0,"x_acceleration":-6.116092738853553,"y_acceleration":7.067526445538817,"angular_acceleration":0.0,"time":1.8000000000000014},{"x":7.613818859987025,"y":2.247495632049218,"angle":0.0,"x_velocity":0.7544840671834123,"y_velocity":-0.8718533752246795,"angular_velocity":0.0,"x_acceleration":-6.07901392662427,"y_acceleration":7.024679566462737,"angular_acceleration":0.0,"time":1.8100000000000014},{"x":7.621060662704425,"y":2.2391272775451343,"angle":0.0,"x_velocity":0.6939777528458286,"y_velocity":-0.8019345569591643,"angular_velocity":0.0,"x_acceleration":-6.018235255031911,"y_acceleration":6.954446022410167,"angular_acceleration":0.0,"time":1.8200000000000014},{"x":7.627700845766076,"y":2.2314541320590737,"angle":0.0,"x_velocity":0.6342009099859585,"y_velocity":-0.7328586884624251,"angular_velocity":0.0,"x_acceleration":-5.932992212484137,"y_acceleration":6.855942372575484,"angular_acceleration":0.0,"time":1.8300000000000014},{"x":7.63374793984717,"y":2.2244663378640515,"angle":0.0,"x_velocity":0.5754020048713073,"y_velocity":-0.6649128879962802,"angular_velocity":0.0,"x_acceleration":-5.822520287388571,"y_acceleration":6.728285176152923,"angular_acceleration":0.0,"time":1.8400000000000014},{"x":7.639212998511142,"y":2.2181511218784133,"angle":0.0,"x_velocity":0.5178371488853202,"y_velocity":-0.5983931082306668,"angular_velocity":0.0,"x_acceleration":-5.686054968152902,"y_acceleration":6.570590992336804,"angular_acceleration":0.0,"time":1.8500000000000014},{"x":7.644109674660845,"y":2.212492707321776,"angle":0.0,"x_velocity":0.4617700985273565,"y_velocity":-0.5336041362435395,"angular_velocity":0.0,"x_acceleration":-5.522831743184767,"y_acceleration":6.381976380321504,"angular_acceleration":0.0,"time":1.8600000000000014},{"x":7.648454296989707,"y":2.20747222537093,"angle":0.0,"x_velocity":0.4074722554127028,"y_velocity":-0.4708595935209168,"angular_velocity":0.0,"x_acceleration":-5.332086100891743,"y_acceleration":6.161557899301243,"angular_acceleration":0.0,"time":1.8700000000000014},{"x":7.652265946432891,"y":2.2030676268157645,"angle":0.0,"x_velocity":0.3552226662725779,"y_velocity":-0.4104819359568843,"angular_velocity":0.0,"x_acceleration":-5.113053529681579,"y_acceleration":5.908452108470385,"angular_acceleration":0.0,"time":1.8800000000000014},{"x":7.655566532618442,"y":2.1992535937151896,"angle":0.0,"x_velocity":0.305308022954101,"y_velocity":-0.35280245385357034,"angular_velocity":0.0,"x_acceleration":-4.864969517961825,"y_acceleration":5.621775567023235,"angular_acceleration":0.0,"time":1.8900000000000015},{"x":7.658380870318464,"y":2.196001451053055,"angle":0.0,"x_velocity":0.2580226624203483,"y_velocity":-0.2981612719211597,"angular_velocity":0.0,"x_acceleration":-4.587069554140129,"y_acceleration":5.300644834154028,"angular_acceleration":0.0,"time":1.9000000000000015},{"x":7.66073675590027,"y":2.193279078394071,"angle":0.0,"x_velocity":0.213668566750286,"y_velocity":-0.2469073492779188,"angular_velocity":0.0,"x_acceleration":-4.278589126624226,"y_acceleration":4.944176469057197,"angular_acceleration":0.0,"time":1.9100000000000015},{"x":7.662665043777541,"y":2.191050821539715,"angle":0.0,"x_velocity":0.17255536313881947,"y_velocity":-0.199398479450128,"angular_velocity":0.0,"x_acceleration":-3.9387637238216797,"y_acceleration":4.551487030926921,"angular_acceleration":0.0,"time":1.9200000000000015},{"x":7.664199722861488,"y":2.1892774041841694,"angle":0.0,"x_velocity":0.13500032389677585,"y_velocity":-0.1560012903721706,"angular_velocity":0.0,"x_acceleration":-3.5668288341401677,"y_acceleration":4.12169307895762,"angular_acceleration":0.0,"time":1.9300000000000015},{"x":7.665377993012009,"y":2.1879158395702305,"angle":0.0,"x_velocity":0.10132836645091459,"y_velocity":-0.11709124438645091,"angular_velocity":0.0,"x_acceleration":-3.1620199459872538,"y_acceleration":3.65391117234347,"angular_acceleration":0.0,"time":1.9400000000000015},{"x":7.6662403414888445,"y":2.1869193421452326,"angle":0.0,"x_velocity":0.07187205334390612,"y_velocity":-0.08305263824346198,"angular_velocity":0.0,"x_acceleration":-2.7235725477707007,"y_acceleration":3.1472578702789207,"angular_acceleration":0.0,"time":1.9500000000000015},{"x":7.6668306194027505,"y":2.1862372392169593,"angle":0.0,"x_velocity":0.04697159223435676,"y_velocity":-0.05427860310174282,"angular_velocity":0.0,"x_acceleration":-2.2507221278981007,"y_acceleration":2.6008497319582204,"angular_acceleration":0.0,"time":1.9600000000000015},{"x":7.667196118166647,"y":2.18581488260957,"angle":0.0,"x_velocity":0.026974835896783844,"y_velocity":-0.031171104527842886,"angular_velocity":0.0,"x_acceleration":-1.7427041747770886,"y_acceleration":2.0138033165756326,"angular_acceleration":0.0,"time":1.9700000000000015},{"x":7.667387645946773,"y":2.1855935603195267,"angle":0.0,"x_velocity":0.012237282221619239,"y_velocity":-0.01414094249643938,"angular_velocity":0.0,"x_acceleration":-1.198754176815271,"y_acceleration":1.3852351833254772,"angular_acceleration":0.0,"time":1.9800000000000015},{"x":7.667459604113851,"y":2.1855104081714956,"angle":0.0,"x_velocity":0.0031220742152591185,"y_velocity":-0.0036077513902483815,"angular_velocity":0.0,"x_acceleration":-0.6181076224203821,"y_acceleration":0.7142618914021455,"angular_acceleration":0.0,"time":1.9900000000000015},{"x":7.667470063694267,"y":2.1854983214742703,"angle":0.0,"x_velocity":1.035574691278921e-28,"y_velocity":-2.1976483641854748e-29,"angular_velocity":0.0,"x_acceleration":1.554604597919353e-13,"y_acceleration":-3.299109451345691e-14,"angular_acceleration":0.0,"time":2.0000000000000013},{"x":7.667489221241536,"y":2.1854942559488406,"angle":0.0,"x_velocity":0.005718325404842029,"y_velocity":-0.0012135163767194245,"angular_velocity":0.0,"x_acceleration":1.132112908433243,"y_acceleration":-0.24025172710806092,"angular_acceleration":0.0,"time":2.010000000000001},{"x":7.667621018305451,"y":2.1854662865899566,"angle":0.0,"x_velocity":0.02241354849019306,"y_velocity":-0.0047564988397150515,"angular_velocity":0.0,"x_acceleration":2.195612913324933,"y_acceleration":-0.4659427434822692,"angular_acceleration":0.0,"time":2.020000000000001},{"x":7.667971816555363,"y":2.1853918418196687,"angle":0.0,"x_velocity":0.04940654153732703,"y_velocity":-0.010484826068458263,"angular_velocity":0.0,"x_acceleration":3.1919002780128034,"y_acceleration":-0.6773702064845725,"angular_acceleration":0.0,"time":2.0300000000000007},{"x":7.668641256396604,"y":2.1852497764153664,"angle":0.0,"x_velocity":0.08603217946089364,"y_velocity":-0.01825734831603958,"angular_velocity":0.0,"x_acceleration":4.122375265834436,"y_acceleration":-0.8748312734768856,"angular_acceleration":0.0,"time":2.0400000000000005},{"x":7.669722396996814,"y":2.1850203417940377,"angle":0.0,"x_velocity":0.13163933980891848,"y_velocity":-0.02793588740916868,"angular_velocity":0.0,"x_acceleration":4.988438140127408,"y_acceleration":-1.058623101821123,"angular_acceleration":0.0,"time":2.0500000000000003},{"x":7.671301856312287,"y":2.1846851562965384,"angle":0.0,"x_velocity":0.18559090276280274,"y_velocity":-0.039385236748174395,"angular_velocity":0.0,"x_acceleration":5.7914891642293,"y_acceleration":-1.2290428488791996,"angular_acceleration":0.0,"time":2.06},{"x":7.673459951114292,"y":2.1842271754718494,"angle":0.0,"x_velocity":0.24726375113732366,"y_velocity":-0.05247316130700466,"angular_velocity":0.0,"x_acceleration":6.532928601477692,"y_acceleration":-1.38638767201303,"angular_acceleration":0.0,"time":2.07},{"x":7.676270837015414,"y":2.183630662361348,"angle":0.0,"x_velocity":0.3160487703806341,"y_velocity":-0.06707039763322663,"angular_velocity":0.0,"x_acceleration":7.214156715210161,"y_acceleration":-1.5309547285845284,"angular_acceleration":0.0,"time":2.0799999999999996},{"x":7.67980264849589,"y":2.182881157783065,"angle":0.0,"x_velocity":0.39135084857426267,"y_velocity":-0.08305065384802653,"angular_velocity":0.0,"x_acceleration":7.836573768764292,"y_acceleration":-1.6630411759556107,"angular_acceleration":0.0,"time":2.0899999999999994},{"x":7.684117638929936,"y":2.181965450615951,"angle":0.0,"x_velocity":0.47258887643311404,"y_velocity":-0.10029060964620977,"angular_velocity":0.0,"x_acceleration":8.401580025477658,"y_acceleration":-1.7829441714881902,"angular_acceleration":0.0,"time":2.099999999999999},{"x":7.6892723206120825,"y":2.1808715480841427,"angle":0.0,"x_velocity":0.5591957473054684,"y_velocity":-0.11866991629620098,"angular_velocity":0.0,"x_acceleration":8.910575748687844,"y_acceleration":-1.8909608725441824,"angular_acceleration":0.0,"time":2.109999999999999},{"x":7.695317604783515,"y":2.1795886460412226,"angle":0.0,"x_velocity":0.6506183571729819,"y_velocity":-0.13807119664004375,"angular_velocity":0.0,"x_acceleration":9.364961201732427,"y_acceleration":-1.9873884364855015,"angular_acceleration":0.0,"time":2.1199999999999988},{"x":7.702298941658395,"y":2.178107099254485,"angle":0.0,"x_velocity":0.7463176046506863,"y_velocity":-0.15838004509340095,"angular_velocity":0.0,"x_acceleration":9.766136647948983,"y_acceleration":-2.072524020674063,"angular_acceleration":0.0,"time":2.1299999999999986},{"x":7.710256460450207,"y":2.1764183916891997,"angle":0.0,"x_velocity":0.8457683909869894,"y_velocity":-0.17948502764555463,"angular_velocity":0.0,"x_acceleration":10.115502350675099,"y_acceleration":-2.1466647824717806,"angular_acceleration":0.0,"time":2.1399999999999983},{"x":7.719225109398088,"y":2.1745151067928767,"angle":0.0,"x_velocity":0.9484596200636743,"y_velocity":-0.20127768185940592,"angular_velocity":0.0,"x_acceleration":10.41445857324835,"y_acceleration":-2.21010787924057,"angular_acceleration":0.0,"time":2.149999999999998},{"x":7.729234795793151,"y":2.172390897779526,"angle":0.0,"x_velocity":1.053894198395901,"y_velocity":-0.22365251687147503,"angular_velocity":0.0,"x_acceleration":10.664405579006315,"y_acceleration":-2.2631504683423445,"angular_acceleration":0.0,"time":2.159999999999998},{"x":7.740310526004837,"y":2.1700404579139274,"angle":0.0,"x_velocity":1.1615890351322038,"y_velocity":-0.2465070133919015,"angular_velocity":0.0,"x_acceleration":10.866743631286573,"y_acceleration":-2.30608970713902,"angular_acceleration":0.0,"time":2.1699999999999977},{"x":7.752472545507233,"y":2.1674594907958897,"angle":0.0,"x_velocity":1.2710750420544938,"y_velocity":-0.2697416237044439,"angular_velocity":0.0,"x_acceleration":11.02287299342671,"y_acceleration":-2.3392227529925105,"angular_acceleration":0.0,"time":2.1799999999999975},{"x":7.765736478905415,"y":2.1646446806445154,"angle":0.0,"x_velocity":1.3818971335780577,"y_velocity":-0.29325977166647976,"angular_velocity":0.0,"x_acceleration":11.134193928764299,"y_acceleration":-2.3628467632647316,"angular_acceleration":0.0,"time":2.1899999999999973},{"x":7.780113469961779,"y":2.1615936625824665,"angle":0.0,"x_velocity":1.4936142267515586,"y_velocity":-0.3169678527090063,"angular_velocity":0.0,"x_acceleration":11.202106700636921,"y_acceleration":-2.3772588953175964,"angular_acceleration":0.0,"time":2.199999999999997},{"x":7.795610321622371,"y":2.1583049929202263,"angle":0.0,"x_velocity":1.6057992412570334,"y_velocity":-0.3407752338366393,"angular_velocity":0.0,"x_acceleration":11.228011572382158,"y_acceleration":-2.3827563065130217,"angular_acceleration":0.0,"time":2.209999999999997},{"x":7.812229636043229,"y":2.1547781194403637,"angle":0.0,"x_velocity":1.7180390994098973,"y_velocity":-0.36459425362761383,"angular_velocity":0.0,"x_acceleration":11.213308807337581,"y_acceleration":-2.3796361542129203,"angular_acceleration":0.0,"time":2.2199999999999966},{"x":7.829969954616708,"y":2.1510133516817986,"angle":0.0,"x_velocity":1.8299347261589398,"y_velocity":-0.38834022223378456,"angular_velocity":0.0,"x_acceleration":11.159398668840781,"y_acceleration":-2.368195595779208,"angular_acceleration":0.0,"time":2.2299999999999964},{"x":7.84882589799782,"y":2.147011831224061,"angle":0.0,"x_velocity":1.9411010490863263,"y_velocity":-0.41193142138062466,"angular_velocity":0.0,"x_acceleration":11.06768142022933,"y_acceleration":-2.348731788573798,"angular_acceleration":0.0,"time":2.239999999999996},{"x":7.868788306130565,"y":2.142775501971562,"angle":0.0,"x_velocity":2.0511669984075978,"y_velocity":-0.4352891043672269,"angular_velocity":0.0,"x_acceleration":10.939557324840813,"y_acceleration":-2.3215418899586067,"angular_acceleration":0.0,"time":2.249999999999996},{"x":7.889844378274264,"y":2.1383070804378503,"angle":0.0,"x_velocity":2.1597755069716724,"y_velocity":-0.45833749606630303,"angular_velocity":0.0,"x_acceleration":10.776426646012805,"y_acceleration":-2.286923057295548,"angular_acceleration":0.0,"time":2.259999999999996},{"x":7.911977813029899,"y":2.1336100260298814,"angle":0.0,"x_velocity":2.266583510260843,"y_velocity":-0.48100379292418377,"angular_velocity":0.0,"x_acceleration":10.579689647082883,"y_acceleration":-2.245172447946536,"angular_acceleration":0.0,"time":2.2699999999999956},{"x":7.935168948366435,"y":2.128688511332279,"angle":0.0,"x_velocity":2.3712619463907783,"y_velocity":-0.5032181629608192,"angular_velocity":0.0,"x_acceleration":10.350746591388639,"y_acceleration":-2.1965872192734874,"angular_acceleration":0.0,"time":2.2799999999999954},{"x":7.959394901647165,"y":2.123547392391599,"angle":0.0,"x_velocity":2.4734957561105224,"y_velocity":-0.5249137457697788,"angular_velocity":0.0,"x_acceleration":10.090997742267636,"y_acceleration":-2.141464528638313,"angular_acceleration":0.0,"time":2.289999999999995},{"x":7.984629709656037,"y":2.1181921790005935,"angle":0.0,"x_velocity":2.5729838828024953,"y_velocity":-0.5460266525182504,"angular_velocity":0.0,"x_acceleration":9.801843363057468,"y_acceleration":-2.0801015334029342,"angular_acceleration":0.0,"time":2.299999999999995},{"x":8.010844468623993,"y":2.1126290049824745,"angle":0.0,"x_velocity":2.669439272482496,"y_velocity":-0.5664959659470422,"angular_velocity":0.0,"x_acceleration":9.484683717095706,"y_acceleration":-2.012795390929259,"angular_acceleration":0.0,"time":2.3099999999999947},{"x":8.038007474255297,"y":2.1068645984751786,"angle":0.0,"x_velocity":2.762588873799692,"y_velocity":-0.5862637403705804,"angular_velocity":0.0,"x_acceleration":9.140919067719928,"y_acceleration":-1.939843258579204,"angular_acceleration":0.0,"time":2.3199999999999945},{"x":8.06608436175387,"y":2.1009062522156285,"angle":0.0,"x_velocity":2.8521736380366356,"y_velocity":-0.6052750016769106,"angular_velocity":0.0,"x_acceleration":8.771949678267722,"y_acceleration":-1.8615422937146853,"angular_acceleration":0.0,"time":2.3299999999999943},{"x":8.095038245849631,"y":2.0947617938240004,"angle":0.0,"x_velocity":2.9379485191092467,"y_velocity":-0.623477747327698,"angular_velocity":0.0,"x_acceleration":8.379175812076657,"y_acceleration":-1.7781896536976156,"angular_acceleration":0.0,"time":2.339999999999994},{"x":8.124829860824821,"y":2.0884395560879847,"angle":0.0,"x_velocity":3.0196824735668266,"y_velocity":-0.6408229463582268,"angular_velocity":0.0,"x_acceleration":7.963997732484321,"y_acceleration":-1.6900824958899152,"angular_acceleration":0.0,"time":2.349999999999994},{"x":8.155417700540344,"y":2.081948347247049,"angle":0.0,"x_velocity":3.0971584605920515,"y_velocity":-0.6572645393773999,"angular_velocity":0.0,"x_acceleration":7.52781570282829,"y_acceleration":-1.5975179776534887,"angular_acceleration":0.0,"time":2.3599999999999937},{"x":8.186758158462093,"y":2.0752974212767072,"angle":0.0,"x_velocity":3.17017344200097,"y_velocity":-0.67275943856774,"angular_velocity":0.0,"x_acceleration":7.07202998644615,"y_acceleration":-1.5007932563502604,"angular_acceleration":0.0,"time":2.3699999999999934},{"x":8.21880566768729,"y":2.068496448172778,"angle":0.0,"x_velocity":3.2385383822430107,"y_velocity":-0.6872675276853881,"angular_velocity":0.0,"x_acceleration":6.598040846675467,"y_acceleration":-1.4002054893421372,"angular_acceleration":0.0,"time":2.3799999999999932},{"x":8.251512840970824,"y":2.061555484235651,"angle":0.0,"x_velocity":3.3020782484009725,"y_velocity":-0.7007516620601053,"angular_velocity":0.0,"x_acceleration":6.107248546853841,"y_acceleration":-1.2960518339910405,"angular_acceleration":0.0,"time":2.389999999999993},{"x":8.284830610751566,"y":2.05448494235455,"angle":0.0,"x_velocity":3.36063201019104,"y_velocity":-0.7131776685952718,"angular_velocity":0.0,"x_acceleration":5.601053350318823,"y_acceleration":-1.18862944765888,"angular_acceleration":0.0,"time":2.399999999999993},{"x":8.318708369178733,"y":2.0472955622917963,"angle":0.0,"x_velocity":3.414052639962762,"y_velocity":-0.7245143457678852,"angular_velocity":0.0,"x_acceleration":5.080855520408019,"y_acceleration":-1.0782354877075746,"angular_acceleration":0.0,"time":2.4099999999999926},{"x":8.353094108138189,"y":2.039998380967074,"angle":0.0,"x_velocity":3.46220711269907,"y_velocity":-0.7347334636285654,"angular_velocity":0.0,"x_acceleration":4.548055320458989,"y_acceleration":-0.965167111499035,"angular_acceleration":0.0,"time":2.4199999999999924},{"x":8.3879345592788,"y":2.0326047027416925,"angle":0.0,"x_velocity":3.504976406016269,"y_velocity":-0.7438097638015477,"angular_velocity":0.0,"x_acceleration":4.004053013809333,"y_acceleration":-0.849721476395179,"angular_acceleration":0.0,"time":2.429999999999992},{"x":8.423175334038767,"y":2.0251260697028504,"angle":0.0,"x_velocity":3.542255500164045,"y_velocity":-0.7517209594846911,"angular_velocity":0.0,"x_acceleration":3.4502488637965953,"y_acceleration":-0.7321957397579206,"angular_acceleration":0.0,"time":2.439999999999992},{"x":8.458761063671943,"y":2.0175742319479015,"angle":0.0,"x_velocity":3.57395337802545,"y_velocity":-0.7584477354494679,"angular_velocity":0.0,"x_acceleration":2.8880431337584085,"y_acceleration":-0.6128870589491724,"angular_acceleration":0.0,"time":2.4499999999999917},{"x":8.494635539274192,"y":2.009961117868614,"angle":0.0,"x_velocity":3.599993025116918,"y_velocity":-0.7639737480409751,"angular_velocity":0.0,"x_acceleration":2.318836087032313,"y_acceleration":-0.4920925913308505,"angular_acceleration":0.0,"time":2.4599999999999915},{"x":8.530741851809701,"y":2.0022988044354393,"angle":0.0,"x_velocity":3.6203114295882597,"y_velocity":-0.7682856251779254,"angular_velocity":0.0,"x_acceleration":1.7440279869558992,"y_acceleration":-0.37010949426487283,"angular_acceleration":0.0,"time":2.4699999999999913},{"x":8.567022532137319,"y":1.9945994874817718,"angle":0.0,"x_velocity":3.6348595822226577,"y_velocity":-0.7713729663526524,"angular_velocity":0.0,"x_acceleration":1.165019096866743,"y_acceleration":-0.24723492511314848,"angular_acceleration":0.0,"time":2.479999999999991},{"x":8.603419691036903,"y":1.9868754519882155,"angle":0.0,"x_velocity":3.643602476436677,"y_velocity":-0.7732283426311087,"angular_velocity":0.0,"x_acceleration":0.5832096801024242,"y_acceleration":-0.12376604123759272,"angular_acceleration":0.0,"time":2.489999999999991},{"x":8.639875159235633,"y":1.979139042366847,"angle":0.0,"x_velocity":3.646519108280249,"y_velocity":-0.7738472966528651,"angular_velocity":0.0,"x_acceleration":5.293543381412746e-13,"y_acceleration":-1.2079226507921703e-13,"angular_acceleration":0.0,"time":2.4999999999999907},{"x":8.676330627434366,"y":1.9714026327454783,"angle":0.0,"x_velocity":3.6436024764366897,"y_velocity":-0.7732283426311118,"angular_velocity":0.0,"x_acceleration":-0.5832096801013904,"y_acceleration":0.12376604123735202,"angular_acceleration":0.0,"time":2.5099999999999905},{"x":8.71272778633395,"y":1.9636785972519222,"angle":0.0,"x_velocity":3.6348595822226812,"y_velocity":-0.7713729663526577,"angular_velocity":0.0,"x_acceleration":-1.1650190968656986,"y_acceleration":0.2472349251129069,"angular_acceleration":0.0,"time":2.5199999999999902},{"x":8.74900846666157,"y":1.9559792802982547,"angle":0.0,"x_velocity":3.620311429588291,"y_velocity":-0.7682856251779328,"angular_velocity":0.0,"x_acceleration":-1.7440279869548547,"y_acceleration":0.3701094942646286,"angular_acceleration":0.0,"time":2.52999999999999},{"x":8.785114779197075,"y":1.9483169668650797,"angle":0.0,"x_velocity":3.5999930251169614,"y_velocity":-0.7639737480409847,"angular_velocity":0.0,"x_acceleration":-2.3188360870313076,"y_acceleration":0.4920925913306151,"angular_acceleration":0.0,"time":2.53999999999999},{"x":8.820989254799324,"y":1.9407038527857918,"angle":0.0,"x_velocity":3.573953378025501,"y_velocity":-0.7584477354494794,"angular_velocity":0.0,"x_acceleration":-2.8880431337573995,"y_acceleration":0.6128870589489352,"angular_acceleration":0.0,"time":2.5499999999999896},{"x":8.856574984432502,"y":1.9331520150308428,"angle":0.0,"x_velocity":3.5422555001641083,"y_velocity":-0.7517209594847054,"angular_velocity":0.0,"x_acceleration":-3.450248863795615,"y_acceleration":0.7321957397576888,"angular_acceleration":0.0,"time":2.5599999999999894},{"x":8.891815759192468,"y":1.925673381992001,"angle":0.0,"x_velocity":3.504976406016345,"y_velocity":-0.7438097638015646,"angular_velocity":0.0,"x_acceleration":-4.004053013808345,"y_acceleration":0.849721476394949,"angular_acceleration":0.0,"time":2.569999999999989},{"x":8.926656210333082,"y":1.9182797037666193,"angle":0.0,"x_velocity":3.4622071126991525,"y_velocity":-0.7347334636285838,"angular_velocity":0.0,"x_acceleration":-4.54805532045804,"y_acceleration":0.965167111498813,"angular_acceleration":0.0,"time":2.579999999999989},{"x":8.96104194929254,"y":1.9109825224418966,"angle":0.0,"x_velocity":3.414052639962854,"y_velocity":-0.7245143457679064,"angular_velocity":0.0,"x_acceleration":-5.080855520407091,"y_acceleration":1.0782354877073583,"angular_acceleration":0.0,"time":2.5899999999999888},{"x":8.994919707719706,"y":1.9037931423791425,"angle":0.0,"x_velocity":3.3606320101911384,"y_velocity":-0.7131776685952955,"angular_velocity":0.0,"x_acceleration":-5.601053350317898,"y_acceleration":1.1886294476586645,"angular_acceleration":0.0,"time":2.5999999999999885},{"x":9.028237477500452,"y":1.896722600498041,"angle":0.0,"x_velocity":3.302078248401079,"y_velocity":-0.7007516620601311,"angular_velocity":0.0,"x_acceleration":-6.107248546852944,"y_acceleration":1.2960518339908287,"angular_acceleration":0.0,"time":2.6099999999999883},{"x":9.060944650783982,"y":1.8897816365609137,"angle":0.0,"x_velocity":3.238538382243128,"y_velocity":-0.6872675276854148,"angular_velocity":0.0,"x_acceleration":-6.598040846674621,"y_acceleration":1.4002054893419356,"angular_acceleration":0.0,"time":2.619999999999988},{"x":9.092992160009183,"y":1.8829806634569846,"angle":0.0,"x_velocity":3.170173442001099,"y_velocity":-0.67275943856777,"angular_velocity":0.0,"x_acceleration":-7.072029986445337,"y_acceleration":1.5007932563500663,"angular_acceleration":0.0,"time":2.629999999999988},{"x":9.124332617930936,"y":1.8763297374866426,"angle":0.0,"x_velocity":3.097158460592185,"y_velocity":-0.6572645393774317,"angular_velocity":0.0,"x_acceleration":-7.52781570282751,"y_acceleration":1.597517977653304,"angular_acceleration":0.0,"time":2.6399999999999877},{"x":9.154920457646456,"y":1.8698385286457069,"angle":0.0,"x_velocity":3.019682473566972,"y_velocity":-0.6408229463582602,"angular_velocity":0.0,"x_acceleration":-7.963997732483563,"y_acceleration":1.6900824958897367,"angular_acceleration":0.0,"time":2.6499999999999875},{"x":9.184712072621647,"y":1.86351629090969,"angle":0.0,"x_velocity":2.9379485191094012,"y_velocity":-0.6234777473277338,"angular_velocity":0.0,"x_acceleration":-8.379175812075943,"y_acceleration":1.778189653697444,"angular_acceleration":0.0,"time":2.6599999999999873},{"x":9.213665956717412,"y":1.8573718325180613,"angle":0.0,"x_velocity":2.8521736380367884,"y_velocity":-0.6052750016769468,"angular_velocity":0.0,"x_acceleration":-8.77194967826702,"y_acceleration":1.861542293714523,"angular_acceleration":0.0,"time":2.669999999999987},{"x":9.241742844215988,"y":1.8514134862585117,"angle":0.0,"x_velocity":2.7625888737998583,"y_velocity":-0.5862637403706192,"angular_velocity":0.0,"x_acceleration":-9.14091906771931,"y_acceleration":1.9398432585790477,"angular_acceleration":0.0,"time":2.679999999999987},{"x":9.268905849847293,"y":1.8456490797512153,"angle":0.0,"x_velocity":2.669439272482661,"y_velocity":-0.5664959659470825,"angular_velocity":0.0,"x_acceleration":-9.484683717095137,"y_acceleration":2.0127953909291136,"angular_acceleration":0.0,"time":2.6899999999999866},{"x":9.295120608815248,"y":1.8400859057330963,"angle":0.0,"x_velocity":2.572983882802676,"y_velocity":-0.5460266525182922,"angular_velocity":0.0,"x_acceleration":-9.80184336305696,"y_acceleration":2.0801015334028037,"angular_acceleration":0.0,"time":2.6999999999999864},{"x":9.320355416824123,"y":1.8347306923420896,"angle":0.0,"x_velocity":2.4734957561106974,"y_velocity":-0.5249137457698207,"angular_velocity":0.0,"x_acceleration":-10.090997742267191,"y_acceleration":2.1414645286381955,"angular_acceleration":0.0,"time":2.709999999999986},{"x":9.344581370104855,"y":1.8295895734014098,"angle":0.0,"x_velocity":2.3712619463909643,"y_velocity":-0.5032181629608639,"angular_velocity":0.0,"x_acceleration":-10.350746591388244,"y_acceleration":2.196587219273379,"angular_acceleration":0.0,"time":2.719999999999986},{"x":9.367772505441392,"y":1.8246680587038062,"angle":0.0,"x_velocity":2.2665835102610323,"y_velocity":-0.4810037929242288,"angular_velocity":0.0,"x_acceleration":-10.579689647082546,"y_acceleration":2.245172447946441,"angular_acceleration":0.0,"time":2.7299999999999858},{"x":9.38990594019703,"y":1.819971004295837,"angle":0.0,"x_velocity":2.1597755069718545,"y_velocity":-0.4583374960663469,"angular_velocity":0.0,"x_acceleration":-10.77642664601251,"y_acceleration":2.2869230572954606,"angular_acceleration":0.0,"time":2.7399999999999856},{"x":9.410962012340732,"y":1.8155025827621252,"angle":0.0,"x_velocity":2.051166998407794,"y_velocity":-0.43528910436727264,"angular_velocity":0.0,"x_acceleration":-10.939557324840578,"y_acceleration":2.321541889958535,"angular_acceleration":0.0,"time":2.7499999999999853},{"x":9.430924420473481,"y":1.8112662535096253,"angle":0.0,"x_velocity":1.941101049086523,"y_velocity":-0.4119314213806726,"angular_velocity":0.0,"x_acceleration":-11.067681420229192,"y_acceleration":2.348731788573744,"angular_acceleration":0.0,"time":2.759999999999985},{"x":9.449780363854591,"y":1.8072647330518885,"angle":0.0,"x_velocity":1.829934726159145,"y_velocity":-0.38834022223383347,"angular_velocity":0.0,"x_acceleration":-11.159398668840723,"y_acceleration":2.36819559577917,"angular_acceleration":0.0,"time":2.769999999999985},{"x":9.467520682428072,"y":1.8034999652933215,"angle":0.0,"x_velocity":1.7180390994100954,"y_velocity":-0.3645942536276632,"angular_velocity":0.0,"x_acceleration":-11.213308807337597,"y_acceleration":2.3796361542129,"angular_acceleration":0.0,"time":2.7799999999999847},{"x":9.484139996848931,"y":1.799973091813459,"angle":0.0,"x_velocity":1.605799241257234,"y_velocity":-0.3407752338366876,"angular_velocity":0.0,"x_acceleration":-11.228011572382187,"y_acceleration":2.3827563065130057,"angular_acceleration":0.0,"time":2.7899999999999845},{"x":9.499636848509526,"y":1.7966844221512184,"angle":0.0,"x_velocity":1.493614226751756,"y_velocity":-0.31696785270905536,"angular_velocity":0.0,"x_acceleration":-11.202106700637074,"y_acceleration":2.377258895317599,"angular_acceleration":0.0,"time":2.7999999999999843},{"x":9.51401383956589,"y":1.793633404089169,"angle":0.0,"x_velocity":1.3818971335782493,"y_velocity":-0.29325977166652795,"angular_velocity":0.0,"x_acceleration":-11.134193928764518,"y_acceleration":2.362846763264752,"angular_acceleration":0.0,"time":2.809999999999984},{"x":9.527277772964073,"y":1.7908185939377952,"angle":0.0,"x_velocity":1.271075042054683,"y_velocity":-0.26974162370449317,"angular_velocity":0.0,"x_acceleration":-11.022872993427029,"y_acceleration":2.3392227529925513,"angular_acceleration":0.0,"time":2.819999999999984},{"x":9.539439792466473,"y":1.7882376268197557,"angle":0.0,"x_velocity":1.161589035132387,"y_velocity":-0.24650701339194914,"angular_velocity":0.0,"x_acceleration":-10.866743631286994,"y_acceleration":2.30608970713908,"angular_acceleration":0.0,"time":2.8299999999999836},{"x":9.550515522678163,"y":1.7858871869541566,"angle":0.0,"x_velocity":1.0538941983960761,"y_velocity":-0.2236525168715202,"angular_velocity":0.0,"x_acceleration":-10.664405579006797,"y_acceleration":2.263150468342424,"angular_acceleration":0.0,"time":2.8399999999999834},{"x":9.560525209073226,"y":1.783762977940806,"angle":0.0,"x_velocity":0.9484596200638542,"y_velocity":-0.2012776818594526,"angular_velocity":0.0,"x_acceleration":-10.414458573248908,"y_acceleration":2.210107879240663,"angular_acceleration":0.0,"time":2.849999999999983},{"x":9.569493858021104,"y":1.7818596930444823,"angle":0.0,"x_velocity":0.8457683909871676,"y_velocity":-0.17948502764560104,"angular_velocity":0.0,"x_acceleration":-10.115502350675712,"y_acceleration":2.1466647824718876,"angular_acceleration":0.0,"time":2.859999999999983},{"x":9.577451376812922,"y":1.7801709854791965,"angle":0.0,"x_velocity":0.7463176046508551,"y_velocity":-0.1583800450934456,"angular_velocity":0.0,"x_acceleration":-9.766136647949764,"y_acceleration":2.0725240206741873,"angular_acceleration":0.0,"time":2.869999999999983},{"x":9.584432713687805,"y":1.778689438692458,"angle":0.0,"x_velocity":0.650618357173137,"y_velocity":-0.13807119664008383,"angular_velocity":0.0,"x_acceleration":-9.364961201733252,"y_acceleration":1.9873884364856593,"angular_acceleration":0.0,"time":2.8799999999999826},{"x":9.59047799785924,"y":1.777406536649538,"angle":0.0,"x_velocity":0.5591957473056155,"y_velocity":-0.11866991629624124,"angular_velocity":0.0,"x_acceleration":-8.910575748688842,"y_acceleration":1.8909608725443618,"angular_acceleration":0.0,"time":2.8899999999999824},{"x":9.595632679541385,"y":1.7763126341177295,"angle":0.0,"x_velocity":0.47258887643325664,"y_velocity":-0.10029060964625103,"angular_velocity":0.0,"x_acceleration":-8.40158002547875,"y_acceleration":1.7829441714883814,"angular_acceleration":0.0,"time":2.899999999999982},{"x":9.599947669975437,"y":1.7753969269506147,"angle":0.0,"x_velocity":0.3913508485743833,"y_velocity":-0.08305065384806198,"angular_velocity":0.0,"x_acceleration":-7.836573768765447,"y_acceleration":1.6630411759558257,"angular_acceleration":0.0,"time":2.909999999999982},{"x":9.603479481455913,"y":1.774647422372331,"angle":0.0,"x_velocity":0.3160487703807462,"y_velocity":-0.06707039763326073,"angular_velocity":0.0,"x_acceleration":-7.2141567152114305,"y_acceleration":1.530954728584767,"angular_acceleration":0.0,"time":2.9199999999999817},{"x":9.606290367357037,"y":1.774050909261829,"angle":0.0,"x_velocity":0.24726375113740318,"y_velocity":-0.052473161307036165,"angular_velocity":0.0,"x_acceleration":-6.532928601479085,"y_acceleration":1.3863876720132922,"angular_acceleration":0.0,"time":2.9299999999999815},{"x":9.608448462159043,"y":1.773592928437141,"angle":0.0,"x_velocity":0.1855909027628897,"y_velocity":-0.0393852367482026,"angular_velocity":0.0,"x_acceleration":-5.791489164230825,"y_acceleration":1.2290428488794802,"angular_acceleration":0.0,"time":2.9399999999999813},{"x":9.610027921474513,"y":1.7732577429396412,"angle":0.0,"x_velocity":0.13163933980897724,"y_velocity":-0.027935887409192617,"angular_velocity":0.0,"x_acceleration":-4.988438140129034,"y_acceleration":1.058623101821432,"angular_acceleration":0.0,"time":2.949999999999981},{"x":9.611109062074727,"y":1.7730283083183118,"angle":0.0,"x_velocity":0.08603217946092911,"y_velocity":-0.01825734831606063,"angular_velocity":0.0,"x_acceleration":-4.122375265836155,"y_acceleration":0.8748312734772199,"angular_acceleration":0.0,"time":2.959999999999981},{"x":9.611778501915964,"y":1.77288624291401,"angle":0.0,"x_velocity":0.049406541537365456,"y_velocity":-0.010484826068479336,"angular_velocity":0.0,"x_acceleration":-3.1919002780146855,"y_acceleration":0.6773702064849445,"angular_acceleration":0.0,"time":2.9699999999999807},{"x":9.612129300165876,"y":1.7728117981437217,"angle":0.0,"x_velocity":0.02241354849020638,"y_velocity":-0.004756498839730838,"angular_velocity":0.0,"x_acceleration":-2.1956129133268973,"y_acceleration":0.46594274348264264,"angular_acceleration":0.0,"time":2.9799999999999804},{"x":9.612261097229794,"y":1.7727838287848368,"angle":0.0,"x_velocity":0.005718325404814095,"y_velocity":-0.0012135163767261758,"angular_velocity":0.0,"x_acceleration":-1.1321129084353458,"y_acceleration":0.24025172710847187,"angular_acceleration":0.0,"time":2.9899999999999802},{"x":9.612280254777062,"y":1.772779763259408,"angle":0.0,"x_velocity":-2.842170943040401e-14,"y_velocity":-7.105427357601002e-15,"angular_velocity":0.0,"x_acceleration":-2.4442670110147446e-12,"y_acceleration":4.689582056016661e-13,"angular_acceleration":0.0,"time":2.99999999999998}]}]} \ No newline at end of file diff --git a/src/main/deploy/Paths/straight.polarauto b/src/main/deploy/Paths/straight.polarauto new file mode 100644 index 0000000..6c37f86 --- /dev/null +++ b/src/main/deploy/Paths/straight.polarauto @@ -0,0 +1,4895 @@ +{ + "meta_data": { + "path_name": "straight", + "sample_rate": 0.01, + "robot_name": "Cardigan", + "field_name": "reefscape-updated" + }, + "commands": [], + "key_points": [ + { + "index": 0, + "delta_time": 0.0, + "time": 0.0, + "x": 0.0, + "y": 0.0, + "angle": 0.0, + "x_velocity": 0.0, + "y_velocity": 0.0, + "angular_velocity": 0.0, + "x_acceleration": 0.0, + "y_acceleration": 0.0, + "angular_acceleration": 0.0 + }, + { + "index": 1, + "delta_time": 1.0, + "time": 1.0, + "x": 1.0, + "y": 0.0, + "angle": 0.0, + "x_velocity": 0.5, + "y_velocity": 0.5, + "angular_velocity": 0.0, + "x_acceleration": -0.125, + "y_acceleration": 0.125, + "angular_acceleration": 0.0 + }, + { + "index": 2, + "delta_time": 2.0, + "time": 2.0, + "x": 1.0, + "y": 1.0, + "angle": 0.0, + "x_velocity": -0.5, + "y_velocity": 0.5, + "angular_velocity": 0.0, + "x_acceleration": -0.25, + "y_acceleration": -0.25, + "angular_acceleration": 0.0 + }, + { + "index": 3, + "delta_time": 3.0, + "time": 3.0, + "x": 0.0, + "y": 1.0, + "angle": 0.0, + "x_velocity": -0.5, + "y_velocity": -0.5, + "angular_velocity": 0.0, + "x_acceleration": 0.125, + "y_acceleration": -0.125, + "angular_acceleration": 0.0 + }, + { + "index": 4, + "delta_time": 4.0, + "time": 4.0, + "x": 0.0, + "y": 0.0, + "angle": 0.0, + "x_velocity": 0.0, + "y_velocity": 0.0, + "angular_velocity": 0.0, + "x_acceleration": 0.0, + "y_acceleration": 0.0, + "angular_acceleration": 0.0 + } + ], + "sampled_points": [ + { + "time": 0.0, + "x": 0.0, + "y": 0.0, + "angle": 0.0, + "x_velocity": 0.0, + "y_velocity": 0.0, + "angular_velocity": 0.0, + "x_acceleration": 0.0, + "y_acceleration": 0.0, + "angular_acceleration": 0.0 + }, + { + "time": 0.01, + "x": 0.000007824193750000002, + "y": -0.0000019038937500000005, + "angle": 0.0, + "x_velocity": 0.002335971875, + "y_velocity": -0.0005678218750000001, + "angular_velocity": 0.0, + "x_acceleration": 0.46268875000000004, + "y_acceleration": -0.11222874999999999, + "angular_acceleration": 0.0 + }, + { + "time": 0.02, + "x": 0.00006169420000000001, + "y": -0.000014964600000000004, + "angle": 0.0, + "x_velocity": 0.00916455, + "y_velocity": -0.0022181500000000003, + "angular_velocity": 0.0, + "x_acceleration": 0.89861, + "y_acceleration": -0.21653, + "angular_acceleration": 0.0 + }, + { + "time": 0.03, + "x": 0.00020520658124999997, + "y": -0.000049613681249999996, + "angle": 0.0, + "x_velocity": 0.020220721875000004, + "y_velocity": -0.004872571875, + "angular_velocity": 0.0, + "x_acceleration": 1.3082962500000002, + "y_acceleration": -0.31307625, + "angular_acceleration": 0.0 + }, + { + "time": 0.04, + "x": 0.0004793344000000001, + "y": -0.00011550720000000003, + "angle": 0.0, + "x_velocity": 0.03524480000000001, + "y_velocity": -0.0084544, + "angular_velocity": 0.0, + "x_acceleration": 1.69228, + "y_acceleration": -0.40203999999999995, + "angular_acceleration": 0.0 + }, + { + "time": 0.05, + "x": 0.0009224804687500002, + "y": -0.00022154296875000003, + "angle": 0.0, + "x_velocity": 0.05398242187500001, + "y_velocity": -0.012888671875000002, + "angular_velocity": 0.0, + "x_acceleration": 2.0510937500000006, + "y_acceleration": -0.48359375000000004, + "angular_acceleration": 0.0 + }, + { + "time": 0.060000000000000005, + "x": 0.0015705306000000005, + "y": -0.00037587780000000016, + "angle": 0.0, + "x_velocity": 0.07618455000000002, + "y_velocity": -0.018102150000000004, + "angular_velocity": 0.0, + "x_acceleration": 2.3852700000000002, + "y_acceleration": -0.5579100000000001, + "angular_acceleration": 0.0 + }, + { + "time": 0.07, + "x": 0.00245690685625, + "y": -0.0005859447562500001, + "angle": 0.0, + "x_velocity": 0.10160747187500001, + "y_velocity": -0.024023321875000003, + "angular_velocity": 0.0, + "x_acceleration": 2.6953412500000002, + "y_acceleration": -0.6251612500000001, + "angular_acceleration": 0.0 + }, + { + "time": 0.08, + "x": 0.0036126208000000007, + "y": -0.0008584704000000003, + "angle": 0.0, + "x_velocity": 0.13001279999999998, + "y_velocity": -0.030582400000000003, + "angular_velocity": 0.0, + "x_acceleration": 2.98184, + "y_acceleration": -0.6855199999999998, + "angular_acceleration": 0.0 + }, + { + "time": 0.09, + "x": 0.00506632674375, + "y": -0.00119949204375, + "angle": 0.0, + "x_velocity": 0.161167471875, + "y_velocity": -0.037711321875, + "angular_velocity": 0.0, + "x_acceleration": 3.24529875, + "y_acceleration": -0.7391587500000002, + "angular_acceleration": 0.0 + }, + { + "time": 0.09999999999999999, + "x": 0.006844374999999999, + "y": -0.0016143749999999997, + "angle": 0.0, + "x_velocity": 0.19484374999999998, + "y_velocity": -0.04534374999999999, + "angular_velocity": 0.0, + "x_acceleration": 3.4862500000000005, + "y_acceleration": -0.7862499999999999, + "angular_acceleration": 0.0 + }, + { + "time": 0.10999999999999999, + "x": 0.008970865131249997, + "y": -0.0021078298312499993, + "angle": 0.0, + "x_velocity": 0.23081922187499998, + "y_velocity": -0.053415071874999984, + "angular_velocity": 0.0, + "x_acceleration": 3.70522625, + "y_acceleration": -0.8269662499999999, + "angular_acceleration": 0.0 + }, + { + "time": 0.11999999999999998, + "x": 0.011467699199999995, + "y": -0.0026839295999999987, + "angle": 0.0, + "x_velocity": 0.26887679999999997, + "y_velocity": -0.06186239999999999, + "angular_velocity": 0.0, + "x_acceleration": 3.90276, + "y_acceleration": -0.8614799999999999, + "angular_acceleration": 0.0 + }, + { + "time": 0.12999999999999998, + "x": 0.014354635018749992, + "y": -0.003346127118749998, + "angle": 0.0, + "x_velocity": 0.3088047218749999, + "y_velocity": -0.07062457187499999, + "angular_velocity": 0.0, + "x_acceleration": 4.079383749999999, + "y_acceleration": -0.8899637499999997, + "angular_acceleration": 0.0 + }, + { + "time": 0.13999999999999999, + "x": 0.01764933939999999, + "y": -0.004097272199999998, + "angle": 0.0, + "x_velocity": 0.35039655, + "y_velocity": -0.07964215000000001, + "angular_velocity": 0.0, + "x_acceleration": 4.235629999999999, + "y_acceleration": -0.9125899999999999, + "angular_acceleration": 0.0 + }, + { + "time": 0.15, + "x": 0.02136744140625, + "y": -0.004939628906249999, + "angle": 0.0, + "x_velocity": 0.393451171875, + "y_velocity": -0.08885742187500001, + "angular_velocity": 0.0, + "x_acceleration": 4.372031249999999, + "y_acceleration": -0.9295312499999998, + "angular_acceleration": 0.0 + }, + { + "time": 0.16, + "x": 0.02552258560000001, + "y": -0.0058748928000000025, + "angle": 0.0, + "x_velocity": 0.4377728, + "y_velocity": -0.09821440000000001, + "angular_velocity": 0.0, + "x_acceleration": 4.489120000000001, + "y_acceleration": -0.9409599999999998, + "angular_acceleration": 0.0 + }, + { + "time": 0.17, + "x": 0.03012648529375001, + "y": -0.006904208193750002, + "angle": 0.0, + "x_velocity": 0.483170971875, + "y_velocity": -0.107658821875, + "angular_velocity": 0.0, + "x_acceleration": 4.587428749999999, + "y_acceleration": -0.9470487499999999, + "angular_acceleration": 0.0 + }, + { + "time": 0.18000000000000002, + "x": 0.03518897580000001, + "y": -0.0080281854, + "angle": 0.0, + "x_velocity": 0.52946055, + "y_velocity": -0.11713815000000001, + "angular_velocity": 0.0, + "x_acceleration": 4.66749, + "y_acceleration": -0.9479700000000002, + "angular_acceleration": 0.0 + }, + { + "time": 0.19000000000000003, + "x": 0.040718067681250025, + "y": -0.009246917981250003, + "angle": 0.0, + "x_velocity": 0.5764617218750001, + "y_velocity": -0.12660157187500004, + "angular_velocity": 0.0, + "x_acceleration": 4.729836250000001, + "y_acceleration": -0.9438962499999999, + "angular_acceleration": 0.0 + }, + { + "time": 0.20000000000000004, + "x": 0.04672000000000002, + "y": -0.010560000000000003, + "angle": 0.0, + "x_velocity": 0.6240000000000002, + "y_velocity": -0.13600000000000004, + "angular_velocity": 0.0, + "x_acceleration": 4.775, + "y_acceleration": -0.9349999999999995, + "angular_acceleration": 0.0 + }, + { + "time": 0.21000000000000005, + "x": 0.05319929356875004, + "y": -0.011966543268750008, + "angle": 0.0, + "x_velocity": 0.671906221875, + "y_velocity": -0.14528607187500003, + "angular_velocity": 0.0, + "x_acceleration": 4.8035137500000005, + "y_acceleration": -0.92145375, + "angular_acceleration": 0.0 + }, + { + "time": 0.22000000000000006, + "x": 0.06015880420000005, + "y": -0.01346519460000001, + "angle": 0.0, + "x_velocity": 0.7200165500000004, + "y_velocity": -0.15441415000000008, + "angular_velocity": 0.0, + "x_acceleration": 4.81591, + "y_acceleration": -0.9034299999999997, + "angular_acceleration": 0.0 + }, + { + "time": 0.23000000000000007, + "x": 0.06759977595625005, + "y": -0.01505415305625001, + "angle": 0.0, + "x_velocity": 0.7681724718750003, + "y_velocity": -0.16334032187500003, + "angular_velocity": 0.0, + "x_acceleration": 4.81272125, + "y_acceleration": -0.8811012499999997, + "angular_acceleration": 0.0 + }, + { + "time": 0.24000000000000007, + "x": 0.07552189440000005, + "y": -0.01673118720000001, + "angle": 0.0, + "x_velocity": 0.8162208000000004, + "y_velocity": -0.17202240000000002, + "angular_velocity": 0.0, + "x_acceleration": 4.79448, + "y_acceleration": -0.8546400000000002, + "angular_acceleration": 0.0 + }, + { + "time": 0.25000000000000006, + "x": 0.08392333984375004, + "y": -0.018493652343750007, + "angle": 0.0, + "x_velocity": 0.8640136718750003, + "y_velocity": -0.18041992187500006, + "angular_velocity": 0.0, + "x_acceleration": 4.761718750000001, + "y_acceleration": -0.8242187499999999, + "angular_acceleration": 0.0 + }, + { + "time": 0.26000000000000006, + "x": 0.09280084060000006, + "y": -0.020338507800000006, + "angle": 0.0, + "x_velocity": 0.9114085500000003, + "y_velocity": -0.18849415000000008, + "angular_velocity": 0.0, + "x_acceleration": 4.71497, + "y_acceleration": -0.7900099999999999, + "angular_acceleration": 0.0 + }, + { + "time": 0.2700000000000001, + "x": 0.10214972623125003, + "y": -0.02226233413125001, + "angle": 0.0, + "x_velocity": 0.9582682218750006, + "y_velocity": -0.19620807187500006, + "angular_velocity": 0.0, + "x_acceleration": 4.654766249999999, + "y_acceleration": -0.7521862500000001, + "angular_acceleration": 0.0 + }, + { + "time": 0.2800000000000001, + "x": 0.11196398080000004, + "y": -0.024261350400000013, + "angle": 0.0, + "x_velocity": 1.0044608000000006, + "y_velocity": -0.2035264000000001, + "angular_velocity": 0.0, + "x_acceleration": 4.58164, + "y_acceleration": -0.7109200000000001, + "angular_acceleration": 0.0 + }, + { + "time": 0.2900000000000001, + "x": 0.12223629611875007, + "y": -0.026331431418750016, + "angle": 0.0, + "x_velocity": 1.0498597218750005, + "y_velocity": -0.21041557187500004, + "angular_velocity": 0.0, + "x_acceleration": 4.496123750000001, + "y_acceleration": -0.66638375, + "angular_acceleration": 0.0 + }, + { + "time": 0.3000000000000001, + "x": 0.13295812500000012, + "y": -0.028468125000000025, + "angle": 0.0, + "x_velocity": 1.0943437500000002, + "y_velocity": -0.21684375000000009, + "angular_velocity": 0.0, + "x_acceleration": 4.398749999999998, + "y_acceleration": -0.6187499999999998, + "angular_acceleration": 0.0 + }, + { + "time": 0.3100000000000001, + "x": 0.14411973450625012, + "y": -0.030666669206250028, + "angle": 0.0, + "x_velocity": 1.1377969718750007, + "y_velocity": -0.22278082187500015, + "angular_velocity": 0.0, + "x_acceleration": 4.290051249999998, + "y_acceleration": -0.5681912499999997, + "angular_acceleration": 0.0 + }, + { + "time": 0.3200000000000001, + "x": 0.15571025920000012, + "y": -0.03292200960000001, + "angle": 0.0, + "x_velocity": 1.1801088000000006, + "y_velocity": -0.2281984000000002, + "angular_velocity": 0.0, + "x_acceleration": 4.170559999999998, + "y_acceleration": -0.5148799999999991, + "angular_acceleration": 0.0 + }, + { + "time": 0.3300000000000001, + "x": 0.16771775439375017, + "y": -0.03522881649375002, + "angle": 0.0, + "x_velocity": 1.221173971875, + "y_velocity": -0.233069821875, + "angular_velocity": 0.0, + "x_acceleration": 4.040808750000002, + "y_acceleration": -0.45898875000000006, + "angular_acceleration": 0.0 + }, + { + "time": 0.34000000000000014, + "x": 0.18012924940000014, + "y": -0.03758150220000003, + "angle": 0.0, + "x_velocity": 1.2608925500000003, + "y_velocity": -0.23737015000000006, + "angular_velocity": 0.0, + "x_acceleration": 3.9013299999999975, + "y_acceleration": -0.40068999999999977, + "angular_acceleration": 0.0 + }, + { + "time": 0.35000000000000014, + "x": 0.19293080078125016, + "y": -0.03997423828125003, + "angle": 0.0, + "x_velocity": 1.2991699218750004, + "y_velocity": -0.241076171875, + "angular_velocity": 0.0, + "x_acceleration": 3.752656249999999, + "y_acceleration": -0.3401562500000006, + "angular_acceleration": 0.0 + }, + { + "time": 0.36000000000000015, + "x": 0.20610754560000016, + "y": -0.042400972800000034, + "angle": 0.0, + "x_velocity": 1.3359168000000003, + "y_velocity": -0.24416640000000012, + "angular_velocity": 0.0, + "x_acceleration": 3.5953199999999974, + "y_acceleration": -0.27755999999999936, + "angular_acceleration": 0.0 + }, + { + "time": 0.37000000000000016, + "x": 0.21964375466875025, + "y": -0.04485544756875005, + "angle": 0.0, + "x_velocity": 1.3710492218750008, + "y_velocity": -0.246621071875, + "angular_velocity": 0.0, + "x_acceleration": 3.429853749999996, + "y_acceleration": -0.21307374999999862, + "angular_acceleration": 0.0 + }, + { + "time": 0.38000000000000017, + "x": 0.23352288580000027, + "y": -0.04733121540000006, + "angle": 0.0, + "x_velocity": 1.4044885500000008, + "y_velocity": -0.24842214999999995, + "angular_velocity": 0.0, + "x_acceleration": 3.256789999999997, + "y_acceleration": -0.14686999999999872, + "angular_acceleration": 0.0 + }, + { + "time": 0.3900000000000002, + "x": 0.24772763705625028, + "y": -0.049821657356250056, + "angle": 0.0, + "x_velocity": 1.4361614718750009, + "y_velocity": -0.24955332187500004, + "angular_velocity": 0.0, + "x_acceleration": 3.076661249999998, + "y_acceleration": -0.07912124999999848, + "angular_acceleration": 0.0 + }, + { + "time": 0.4000000000000002, + "x": 0.2622400000000002, + "y": -0.052320000000000026, + "angle": 0.0, + "x_velocity": 1.4660000000000004, + "y_velocity": -0.2500000000000001, + "angular_velocity": 0.0, + "x_acceleration": 2.8900000000000006, + "y_acceleration": -0.009999999999998677, + "angular_acceleration": 0.0 + }, + { + "time": 0.4100000000000002, + "x": 0.2770413129437504, + "y": -0.054819332643750066, + "angle": 0.0, + "x_velocity": 1.4939414718750008, + "y_velocity": -0.24974932187499993, + "angular_velocity": 0.0, + "x_acceleration": 2.6973387499999957, + "y_acceleration": 0.06032125000000166, + "angular_acceleration": 0.0 + }, + { + "time": 0.4200000000000002, + "x": 0.2921123142000004, + "y": -0.057312624600000056, + "angle": 0.0, + "x_velocity": 1.5199285500000006, + "y_velocity": -0.24879015000000018, + "angular_velocity": 0.0, + "x_acceleration": 2.4992099999999953, + "y_acceleration": 0.1316700000000015, + "angular_acceleration": 0.0 + }, + { + "time": 0.4300000000000002, + "x": 0.30743319533125035, + "y": -0.059792742431250066, + "angle": 0.0, + "x_velocity": 1.5439092218750008, + "y_velocity": -0.2471130718749998, + "angular_velocity": 0.0, + "x_acceleration": 2.2961462499999987, + "y_acceleration": 0.20387375000000096, + "angular_acceleration": 0.0 + }, + { + "time": 0.4400000000000002, + "x": 0.32298365440000026, + "y": -0.06225246720000004, + "angle": 0.0, + "x_velocity": 1.5658368000000007, + "y_velocity": -0.24471039999999994, + "angular_velocity": 0.0, + "x_acceleration": 2.0886799999999974, + "y_acceleration": 0.27676000000000034, + "angular_acceleration": 0.0 + }, + { + "time": 0.45000000000000023, + "x": 0.33874294921875037, + "y": -0.06468451171875003, + "angle": 0.0, + "x_velocity": 1.5856699218750003, + "y_velocity": -0.2415761718749999, + "angular_velocity": 0.0, + "x_acceleration": 1.877343749999996, + "y_acceleration": 0.35015625000000217, + "angular_acceleration": 0.0 + }, + { + "time": 0.46000000000000024, + "x": 0.3546899506000004, + "y": -0.06708153780000006, + "angle": 0.0, + "x_velocity": 1.603372550000001, + "y_velocity": -0.23770614999999978, + "angular_velocity": 0.0, + "x_acceleration": 1.6626699999999968, + "y_acceleration": 0.4238900000000023, + "angular_acceleration": 0.0 + }, + { + "time": 0.47000000000000025, + "x": 0.3708031956062504, + "y": -0.06943617350625005, + "angle": 0.0, + "x_velocity": 1.6189139718750007, + "y_velocity": -0.2330978218749999, + "angular_velocity": 0.0, + "x_acceleration": 1.445191249999997, + "y_acceleration": 0.49778875000000156, + "angular_acceleration": 0.0 + }, + { + "time": 0.48000000000000026, + "x": 0.38706094080000036, + "y": -0.07174103040000007, + "angle": 0.0, + "x_velocity": 1.6322688000000005, + "y_velocity": -0.2277503999999998, + "angular_velocity": 0.0, + "x_acceleration": 1.2254399999999972, + "y_acceleration": 0.5716800000000011, + "angular_acceleration": 0.0 + }, + { + "time": 0.49000000000000027, + "x": 0.40344121549375034, + "y": -0.07398872079375005, + "angle": 0.0, + "x_velocity": 1.6434169718750011, + "y_velocity": -0.22166482187500003, + "angular_velocity": 0.0, + "x_acceleration": 1.0039487499999904, + "y_acceleration": 0.6453912500000021, + "angular_acceleration": 0.0 + }, + { + "time": 0.5000000000000002, + "x": 0.41992187500000044, + "y": -0.07617187500000004, + "angle": 0.0, + "x_velocity": 1.6523437499999998, + "y_velocity": -0.2148437499999999, + "angular_velocity": 0.0, + "x_acceleration": 0.7812499999999982, + "y_acceleration": 0.7187500000000009, + "angular_acceleration": 0.0 + }, + { + "time": 0.5100000000000002, + "x": 0.43648065388125046, + "y": -0.07828315858125005, + "angle": 0.0, + "x_velocity": 1.6590397218749997, + "y_velocity": -0.20729157187499958, + "angular_velocity": 0.0, + "x_acceleration": 0.5578762499999979, + "y_acceleration": 0.7915837500000014, + "angular_acceleration": 0.0 + }, + { + "time": 0.5200000000000002, + "x": 0.4530952192000004, + "y": -0.08031528960000006, + "angle": 0.0, + "x_velocity": 1.6635008, + "y_velocity": -0.19901439999999992, + "angular_velocity": 0.0, + "x_acceleration": 0.33435999999998955, + "y_acceleration": 0.8637200000000025, + "angular_acceleration": 0.0 + }, + { + "time": 0.5300000000000002, + "x": 0.4697432237687505, + "y": -0.08226105586875002, + "angle": 0.0, + "x_velocity": 1.6657282218749998, + "y_velocity": -0.19002007187499992, + "angular_velocity": 0.0, + "x_acceleration": 0.11123374999999491, + "y_acceleration": 0.9349862500000024, + "angular_acceleration": 0.0 + }, + { + "time": 0.5400000000000003, + "x": 0.48640235940000054, + "y": -0.08411333220000008, + "angle": 0.0, + "x_velocity": 1.6657285499999996, + "y_velocity": -0.18031814999999962, + "angular_velocity": 0.0, + "x_acceleration": -0.11097000000000534, + "y_acceleration": 1.0052100000000008, + "angular_acceleration": 0.0 + }, + { + "time": 0.5500000000000003, + "x": 0.5030504101562503, + "y": -0.08586509765625, + "angle": 0.0, + "x_velocity": 1.6635136718750014, + "y_velocity": -0.16991992187499994, + "angular_velocity": 0.0, + "x_acceleration": -0.33171875000001094, + "y_acceleration": 1.0742187500000018, + "angular_acceleration": 0.0 + }, + { + "time": 0.5600000000000003, + "x": 0.5196653056000005, + "y": -0.08750945280000005, + "angle": 0.0, + "x_velocity": 1.6591007999999996, + "y_velocity": -0.15883839999999982, + "angular_velocity": 0.0, + "x_acceleration": -0.550480000000011, + "y_acceleration": 1.1418400000000029, + "angular_acceleration": 0.0 + }, + { + "time": 0.5700000000000003, + "x": 0.5362251740437505, + "y": -0.08903963694375008, + "angle": 0.0, + "x_velocity": 1.6525124718749997, + "y_velocity": -0.14708832187499954, + "angular_velocity": 0.0, + "x_acceleration": -0.7667212500000034, + "y_acceleration": 1.2079012500000017, + "angular_acceleration": 0.0 + }, + { + "time": 0.5800000000000003, + "x": 0.5527083958000004, + "y": -0.09044904540000007, + "angle": 0.0, + "x_velocity": 1.6437765500000006, + "y_velocity": -0.13468614999999984, + "angular_velocity": 0.0, + "x_acceleration": -0.9799100000000145, + "y_acceleration": 1.272230000000004, + "angular_acceleration": 0.0 + }, + { + "time": 0.5900000000000003, + "x": 0.5690936564312505, + "y": -0.09173124673124998, + "angle": 0.0, + "x_velocity": 1.6329262218750014, + "y_velocity": -0.12165007187499977, + "angular_velocity": 0.0, + "x_acceleration": -1.1895137500000104, + "y_acceleration": 1.3346537500000037, + "angular_acceleration": 0.0 + }, + { + "time": 0.6000000000000003, + "x": 0.5853600000000004, + "y": -0.09288000000000005, + "angle": 0.0, + "x_velocity": 1.6199999999999992, + "y_velocity": -0.1080000000000001, + "angular_velocity": 0.0, + "x_acceleration": -1.3950000000000067, + "y_acceleration": 1.3950000000000031, + "angular_acceleration": 0.0 + }, + { + "time": 0.6100000000000003, + "x": 0.6014868823187505, + "y": -0.09388927201875008, + "angle": 0.0, + "x_velocity": 1.6050417218750002, + "y_velocity": -0.09375757187499945, + "angular_velocity": 0.0, + "x_acceleration": -1.5958362500000085, + "y_acceleration": 1.4530962500000015, + "angular_acceleration": 0.0 + }, + { + "time": 0.6200000000000003, + "x": 0.6174542242000005, + "y": -0.09475325460000003, + "angle": 0.0, + "x_velocity": 1.5881005500000005, + "y_velocity": -0.07894615000000016, + "angular_velocity": 0.0, + "x_acceleration": -1.7914900000000138, + "y_acceleration": 1.5087700000000055, + "angular_acceleration": 0.0 + }, + { + "time": 0.6300000000000003, + "x": 0.6332424647062505, + "y": -0.09546638180624994, + "angle": 0.0, + "x_velocity": 1.5692309718749988, + "y_velocity": -0.0635908218749992, + "angular_velocity": 0.0, + "x_acceleration": -1.9814287500000027, + "y_acceleration": 1.5618487500000011, + "angular_acceleration": 0.0 + }, + { + "time": 0.6400000000000003, + "x": 0.6488326144000007, + "y": -0.0960233472, + "angle": 0.0, + "x_velocity": 1.5484927999999996, + "y_velocity": -0.04771839999999994, + "angular_velocity": 0.0, + "x_acceleration": -2.1651200000000124, + "y_acceleration": 1.6121600000000038, + "angular_acceleration": 0.0 + }, + { + "time": 0.6500000000000004, + "x": 0.6642063085937505, + "y": -0.09641912109375003, + "angle": 0.0, + "x_velocity": 1.5259511718749983, + "y_velocity": -0.0313574218749999, + "angular_velocity": 0.0, + "x_acceleration": -2.3420312500000087, + "y_acceleration": 1.6595312500000032, + "angular_acceleration": 0.0 + }, + { + "time": 0.6600000000000004, + "x": 0.6793458606000006, + "y": -0.09664896780000001, + "angle": 0.0, + "x_velocity": 1.501676549999999, + "y_velocity": -0.014538149999999472, + "angular_velocity": 0.0, + "x_acceleration": -2.5116300000000074, + "y_acceleration": 1.703790000000005, + "angular_acceleration": 0.0 + }, + { + "time": 0.6700000000000004, + "x": 0.6942343149812505, + "y": -0.0967084628812501, + "angle": 0.0, + "x_velocity": 1.4757447218749995, + "y_velocity": 0.002707428125000133, + "angular_velocity": 0.0, + "x_acceleration": -2.6733837500000064, + "y_acceleration": 1.7447637500000024, + "angular_acceleration": 0.0 + }, + { + "time": 0.6800000000000004, + "x": 0.7088555008000001, + "y": -0.09659351040000005, + "angle": 0.0, + "x_velocity": 1.4482367999999974, + "y_velocity": 0.020345600000001296, + "angular_velocity": 0.0, + "x_acceleration": -2.8267600000000073, + "y_acceleration": 1.7822800000000019, + "angular_acceleration": 0.0 + }, + { + "time": 0.6900000000000004, + "x": 0.7231940848687501, + "y": -0.09630036016874996, + "angle": 0.0, + "x_velocity": 1.4192392218749985, + "y_velocity": 0.03834092812500112, + "angular_velocity": 0.0, + "x_acceleration": -2.9712262500000044, + "y_acceleration": 1.8161662500000002, + "angular_acceleration": 0.0 + }, + { + "time": 0.7000000000000004, + "x": 0.7372356250000003, + "y": -0.09582562500000003, + "angle": 0.0, + "x_velocity": 1.3888437499999968, + "y_velocity": 0.05665625000000074, + "angular_velocity": 0.0, + "x_acceleration": -3.106250000000003, + "y_acceleration": 1.846249999999996, + "angular_acceleration": 0.0 + }, + { + "time": 0.7100000000000004, + "x": 0.7509666232562502, + "y": -0.09516629795624987, + "angle": 0.0, + "x_velocity": 1.357147471874999, + "y_velocity": 0.07525267812500047, + "angular_velocity": 0.0, + "x_acceleration": -3.231298750000004, + "y_acceleration": 1.8723587499999983, + "angular_acceleration": 0.0 + }, + { + "time": 0.7200000000000004, + "x": 0.7643745792000006, + "y": -0.09431976960000005, + "angle": 0.0, + "x_velocity": 1.3242527999999973, + "y_velocity": 0.09408960000000133, + "angular_velocity": 0.0, + "x_acceleration": -3.3458400000000097, + "y_acceleration": 1.8943200000000004, + "angular_acceleration": 0.0 + }, + { + "time": 0.7300000000000004, + "x": 0.7774480431437502, + "y": -0.09328384524374983, + "angle": 0.0, + "x_velocity": 1.2902674718749987, + "y_velocity": 0.11312467812500016, + "angular_velocity": 0.0, + "x_acceleration": -3.4493412500000034, + "y_acceleration": 1.9119612499999992, + "angular_acceleration": 0.0 + }, + { + "time": 0.7400000000000004, + "x": 0.7901766694, + "y": -0.09205676219999998, + "angle": 0.0, + "x_velocity": 1.2553045500000017, + "y_velocity": 0.13231385000000007, + "angular_velocity": 0.0, + "x_acceleration": -3.5412700000000186, + "y_acceleration": 1.9251100000000019, + "angular_acceleration": 0.0 + }, + { + "time": 0.7500000000000004, + "x": 0.8025512695312504, + "y": -0.09063720703124989, + "angle": 0.0, + "x_velocity": 1.2194824218749982, + "y_velocity": 0.1516113281250009, + "angular_velocity": 0.0, + "x_acceleration": -3.621093749999993, + "y_acceleration": 1.93359375, + "angular_acceleration": 0.0 + }, + { + "time": 0.7600000000000005, + "x": 0.8145638655999998, + "y": -0.08902433279999977, + "angle": 0.0, + "x_velocity": 1.1829247999999994, + "y_velocity": 0.17096960000000117, + "angular_velocity": 0.0, + "x_acceleration": -3.688279999999992, + "y_acceleration": 1.9372399999999992, + "angular_acceleration": 0.0 + }, + { + "time": 0.7700000000000005, + "x": 0.8262077434187507, + "y": -0.08721777631875, + "angle": 0.0, + "x_velocity": 1.145760721874999, + "y_velocity": 0.19033942812500015, + "angular_velocity": 0.0, + "x_acceleration": -3.7422962500000096, + "y_acceleration": 1.9358762500000033, + "angular_acceleration": 0.0 + }, + { + "time": 0.7800000000000005, + "x": 0.8374775058000006, + "y": -0.0852176753999998, + "angle": 0.0, + "x_velocity": 1.1081245499999977, + "y_velocity": 0.20966985000000093, + "angular_velocity": 0.0, + "x_acceleration": -3.782609999999991, + "y_acceleration": 1.9293299999999967, + "angular_acceleration": 0.0 + }, + { + "time": 0.7900000000000005, + "x": 0.8483691258062505, + "y": -0.08302468610624991, + "angle": 0.0, + "x_velocity": 1.0701559718749962, + "y_velocity": 0.22890817812500108, + "angular_velocity": 0.0, + "x_acceleration": -3.8086887499999946, + "y_acceleration": 1.9174287499999974, + "angular_acceleration": 0.0 + }, + { + "time": 0.8000000000000005, + "x": 0.8588799999999999, + "y": -0.08063999999999982, + "angle": 0.0, + "x_velocity": 1.0319999999999983, + "y_velocity": 0.24800000000000066, + "angular_velocity": 0.0, + "x_acceleration": -3.8200000000000074, + "y_acceleration": 1.900000000000004, + "angular_acceleration": 0.0 + }, + { + "time": 0.8100000000000005, + "x": 0.8690090016937504, + "y": -0.07806536139374998, + "angle": 0.0, + "x_velocity": 0.9938069718749993, + "y_velocity": 0.26688917812500046, + "angular_velocity": 0.0, + "x_acceleration": -3.8160112500000025, + "y_acceleration": 1.8768712500000007, + "angular_acceleration": 0.0 + }, + { + "time": 0.8200000000000005, + "x": 0.878756534200001, + "y": -0.0753030845999999, + "angle": 0.0, + "x_velocity": 0.9557325499999987, + "y_velocity": 0.28551785000000107, + "angular_velocity": 0.0, + "x_acceleration": -3.796190000000003, + "y_acceleration": 1.8478700000000003, + "angular_acceleration": 0.0 + }, + { + "time": 0.8300000000000005, + "x": 0.8881245840812502, + "y": -0.07235607118124976, + "angle": 0.0, + "x_velocity": 0.9179377218749991, + "y_velocity": 0.3038264281249998, + "angular_velocity": 0.0, + "x_acceleration": -3.7600037500000028, + "y_acceleration": 1.8128237499999997, + "angular_acceleration": 0.0 + }, + { + "time": 0.8400000000000005, + "x": 0.8971167744000004, + "y": -0.06922782719999987, + "angle": 0.0, + "x_velocity": 0.8805887999999982, + "y_velocity": 0.32175360000000053, + "angular_velocity": 0.0, + "x_acceleration": -3.7069199999999967, + "y_acceleration": 1.771560000000001, + "angular_acceleration": 0.0 + }, + { + "time": 0.8500000000000005, + "x": 0.90573841796875, + "y": -0.0659224804687496, + "angle": 0.0, + "x_velocity": 0.8438574218749988, + "y_velocity": 0.33923632812500015, + "angular_velocity": 0.0, + "x_acceleration": -3.636406249999986, + "y_acceleration": 1.7239062499999953, + "angular_acceleration": 0.0 + }, + { + "time": 0.8600000000000005, + "x": 0.9139965706000002, + "y": -0.062444797799999785, + "angle": 0.0, + "x_velocity": 0.8079205500000004, + "y_velocity": 0.35620984999999994, + "angular_velocity": 0.0, + "x_acceleration": -3.5479299999999725, + "y_acceleration": 1.6696899999999921, + "angular_acceleration": 0.0 + }, + { + "time": 0.8700000000000006, + "x": 0.9219000843562499, + "y": -0.0588002022562496, + "angle": 0.0, + "x_velocity": 0.7729604718750043, + "y_velocity": 0.37260767812500006, + "angular_velocity": 0.0, + "x_acceleration": -3.44095875, + "y_acceleration": 1.608738749999997, + "angular_acceleration": 0.0 + }, + { + "time": 0.8800000000000006, + "x": 0.9294596608000001, + "y": -0.05499479039999966, + "angle": 0.0, + "x_velocity": 0.7391648000000011, + "y_velocity": 0.38836159999999964, + "angular_velocity": 0.0, + "x_acceleration": -3.314959999999992, + "y_acceleration": 1.5408800000000014, + "angular_acceleration": 0.0 + }, + { + "time": 0.8900000000000006, + "x": 0.9366879042437501, + "y": -0.051035349543749886, + "angle": 0.0, + "x_velocity": 0.7067264718749957, + "y_velocity": 0.40340167812500116, + "angular_velocity": 0.0, + "x_acceleration": -3.1694012499999857, + "y_acceleration": 1.4659412499999966, + "angular_acceleration": 0.0 + }, + { + "time": 0.9000000000000006, + "x": 0.9435993750000007, + "y": -0.046929374999999496, + "angle": 0.0, + "x_velocity": 0.6758437500000003, + "y_velocity": 0.4176562500000012, + "angular_velocity": 0.0, + "x_acceleration": -3.0037499999999966, + "y_acceleration": 1.3837499999999956, + "angular_acceleration": 0.0 + }, + { + "time": 0.9100000000000006, + "x": 0.9502106426312498, + "y": -0.04268508733124987, + "angle": 0.0, + "x_velocity": 0.6467202218750003, + "y_velocity": 0.43105192812499915, + "angular_velocity": 0.0, + "x_acceleration": -2.8174737499999907, + "y_acceleration": 1.2941337499999932, + "angular_acceleration": 0.0 + }, + { + "time": 0.9200000000000006, + "x": 0.9565403392000009, + "y": -0.03831144959999955, + "angle": 0.0, + "x_velocity": 0.6195647999999974, + "y_velocity": 0.4435136000000002, + "angular_velocity": 0.0, + "x_acceleration": -2.6100399999999837, + "y_acceleration": 1.196919999999995, + "angular_acceleration": 0.0 + }, + { + "time": 0.9300000000000006, + "x": 0.9626092125187493, + "y": -0.033818184618749525, + "angle": 0.0, + "x_velocity": 0.5945917218749983, + "y_velocity": 0.4549644281249998, + "angular_velocity": 0.0, + "x_acceleration": -2.3809162499999985, + "y_acceleration": 1.0919362499999892, + "angular_acceleration": 0.0 + }, + { + "time": 0.9400000000000006, + "x": 0.9684401794000013, + "y": -0.02921579219999959, + "angle": 0.0, + "x_velocity": 0.5720205499999977, + "y_velocity": 0.46532585000000104, + "angular_velocity": 0.0, + "x_acceleration": -2.129569999999987, + "y_acceleration": 0.9790099999999882, + "angular_acceleration": 0.0 + }, + { + "time": 0.9500000000000006, + "x": 0.9740583789062511, + "y": -0.024515566406249967, + "angle": 0.0, + "x_velocity": 0.5520761718750009, + "y_velocity": 0.47451757812499995, + "angular_velocity": 0.0, + "x_acceleration": -1.8554687499999858, + "y_acceleration": 0.8579687499999906, + "angular_acceleration": 0.0 + }, + { + "time": 0.9600000000000006, + "x": 0.9794912256000008, + "y": -0.01972961279999974, + "angle": 0.0, + "x_velocity": 0.5349888000000007, + "y_velocity": 0.4824576000000018, + "angular_velocity": 0.0, + "x_acceleration": -1.5580799999999897, + "y_acceleration": 0.7286399999999951, + "angular_acceleration": 0.0 + }, + { + "time": 0.9700000000000006, + "x": 0.9847684627937499, + "y": -0.014870865693749513, + "angle": 0.0, + "x_velocity": 0.5209939718750007, + "y_velocity": 0.48906217812499975, + "angular_velocity": 0.0, + "x_acceleration": -1.236871249999993, + "y_acceleration": 0.590851249999993, + "angular_acceleration": 0.0 + }, + { + "time": 0.9800000000000006, + "x": 0.989922215800001, + "y": -0.00995310539999994, + "angle": 0.0, + "x_velocity": 0.5103325500000011, + "y_velocity": 0.49424585000000043, + "angular_velocity": 0.0, + "x_acceleration": -0.8913099999999758, + "y_acceleration": 0.4444299999999899, + "angular_acceleration": 0.0 + }, + { + "time": 0.9900000000000007, + "x": 0.9949870451812508, + "y": -0.004990975481249826, + "angle": 0.0, + "x_velocity": 0.503250721875002, + "y_velocity": 0.4979214281249993, + "angular_velocity": 0.0, + "x_acceleration": -0.5208637499999895, + "y_acceleration": 0.28920374999999154, + "angular_acceleration": 0.0 + }, + { + "time": 1.0000000000000007, + "x": 1.0000000000000004, + "y": 3.33066907387547e-16, + "angle": 0.0, + "x_velocity": 0.4999999999999999, + "y_velocity": 0.5000000000000001, + "angular_velocity": 0.0, + "x_acceleration": -0.12500000000000375, + "y_acceleration": 0.12500000000001874, + "angular_acceleration": 0.0 + }, + { + "time": 1.0100000000000007, + "x": 1.0049928181187504, + "y": 0.0050108671562503395, + "angle": 0.0, + "x_velocity": 0.4984709968749999, + "y_velocity": 0.5026281406250003, + "angular_velocity": 0.0, + "x_acceleration": -0.1805762500000037, + "y_acceleration": 0.3978312500000179, + "angular_acceleration": 0.0 + }, + { + "time": 1.0200000000000007, + "x": 1.0099675898000002, + "y": 0.01006137900000035, + "angle": 0.0, + "x_velocity": 0.4963929499999999, + "y_velocity": 0.5079012500000004, + "angular_velocity": 0.0, + "x_acceleration": -0.23481000000000368, + "y_acceleration": 0.6540500000000169, + "angular_acceleration": 0.0 + }, + { + "time": 1.0300000000000007, + "x": 1.0149188916062502, + "y": 0.015177160218750357, + "angle": 0.0, + "x_velocity": 0.4937792468749998, + "y_velocity": 0.5156548906250007, + "angular_velocity": 0.0, + "x_acceleration": -0.2877087500000036, + "y_acceleration": 0.8939937500000161, + "angular_acceleration": 0.0 + }, + { + "time": 1.0400000000000007, + "x": 1.0198414336000003, + "y": 0.02038220800000037, + "angle": 0.0, + "x_velocity": 0.4906431999999997, + "y_velocity": 0.5257280000000008, + "angular_velocity": 0.0, + "x_acceleration": -0.33928000000000363, + "y_acceleration": 1.1180000000000152, + "angular_acceleration": 0.0 + }, + { + "time": 1.0500000000000007, + "x": 1.0247300585937502, + "y": 0.025698925781250385, + "angle": 0.0, + "x_velocity": 0.4869980468749997, + "y_velocity": 0.537962890625001, + "angular_velocity": 0.0, + "x_acceleration": -0.38953125000000355, + "y_acceleration": 1.3264062500000142, + "angular_acceleration": 0.0 + }, + { + "time": 1.0600000000000007, + "x": 1.0295797414000003, + "y": 0.0311481570000004, + "angle": 0.0, + "x_velocity": 0.4828569499999998, + "y_velocity": 0.5522052500000011, + "angular_velocity": 0.0, + "x_acceleration": -0.4384700000000034, + "y_acceleration": 1.5195500000000133, + "angular_acceleration": 0.0 + }, + { + "time": 1.0700000000000007, + "x": 1.0343855880812505, + "y": 0.03674921884375042, + "angle": 0.0, + "x_velocity": 0.47823299687499965, + "y_velocity": 0.5683041406250011, + "angular_velocity": 0.0, + "x_acceleration": -0.4861037500000034, + "y_acceleration": 1.6977687500000123, + "angular_acceleration": 0.0 + }, + { + "time": 1.0800000000000007, + "x": 1.0391428352000005, + "y": 0.04251993600000043, + "angle": 0.0, + "x_velocity": 0.4731391999999996, + "y_velocity": 0.5861120000000014, + "angular_velocity": 0.0, + "x_acceleration": -0.5324400000000034, + "y_acceleration": 1.8614000000000117, + "angular_acceleration": 0.0 + }, + { + "time": 1.0900000000000007, + "x": 1.0438468490687505, + "y": 0.048476674406250454, + "angle": 0.0, + "x_velocity": 0.4675884968749996, + "y_velocity": 0.6054846406250015, + "angular_velocity": 0.0, + "x_acceleration": -0.5774862500000033, + "y_acceleration": 2.0107812500000106, + "angular_acceleration": 0.0 + }, + { + "time": 1.1000000000000008, + "x": 1.0484931250000002, + "y": 0.05463437500000048, + "angle": 0.0, + "x_velocity": 0.4615937499999996, + "y_velocity": 0.6262812500000016, + "angular_velocity": 0.0, + "x_acceleration": -0.6212500000000032, + "y_acceleration": 2.14625000000001, + "angular_acceleration": 0.0 + }, + { + "time": 1.1100000000000008, + "x": 1.0530772865562505, + "y": 0.0610065874687505, + "angle": 0.0, + "x_velocity": 0.4551677468749995, + "y_velocity": 0.6483643906250018, + "angular_velocity": 0.0, + "x_acceleration": -0.6637387500000033, + "y_acceleration": 2.2681437500000086, + "angular_acceleration": 0.0 + }, + { + "time": 1.1200000000000008, + "x": 1.0575950848000009, + "y": 0.06760550400000054, + "angle": 0.0, + "x_velocity": 0.4483231999999994, + "y_velocity": 0.6716000000000018, + "angular_velocity": 0.0, + "x_acceleration": -0.7049600000000031, + "y_acceleration": 2.376800000000008, + "angular_acceleration": 0.0 + }, + { + "time": 1.1300000000000008, + "x": 1.0620423975437503, + "y": 0.07444199303125054, + "angle": 0.0, + "x_velocity": 0.44107274687499937, + "y_velocity": 0.695857390625002, + "angular_velocity": 0.0, + "x_acceleration": -0.7449212500000031, + "y_acceleration": 2.4725562500000073, + "angular_acceleration": 0.0 + }, + { + "time": 1.1400000000000008, + "x": 1.0664152286000004, + "y": 0.08152563300000057, + "angle": 0.0, + "x_velocity": 0.4334289499999994, + "y_velocity": 0.721009250000002, + "angular_velocity": 0.0, + "x_acceleration": -0.7836300000000029, + "y_acceleration": 2.555750000000006, + "angular_acceleration": 0.0 + }, + { + "time": 1.1500000000000008, + "x": 1.0707097070312503, + "y": 0.0888647460937506, + "angle": 0.0, + "x_velocity": 0.42540429687499937, + "y_velocity": 0.7469316406250021, + "angular_velocity": 0.0, + "x_acceleration": -0.821093750000003, + "y_acceleration": 2.6267187500000055, + "angular_acceleration": 0.0 + }, + { + "time": 1.1600000000000008, + "x": 1.0749220864000004, + "y": 0.09646643200000064, + "angle": 0.0, + "x_velocity": 0.41701119999999925, + "y_velocity": 0.7735040000000021, + "angular_velocity": 0.0, + "x_acceleration": -0.857320000000003, + "y_acceleration": 2.685800000000005, + "angular_acceleration": 0.0 + }, + { + "time": 1.1700000000000008, + "x": 1.0790487440187504, + "y": 0.10433660165625065, + "angle": 0.0, + "x_velocity": 0.4082619968749993, + "y_velocity": 0.8006091406250022, + "angular_velocity": 0.0, + "x_acceleration": -0.8923162500000029, + "y_acceleration": 2.7333312500000035, + "angular_acceleration": 0.0 + }, + { + "time": 1.1800000000000008, + "x": 1.0830861802000002, + "y": 0.11248001100000067, + "angle": 0.0, + "x_velocity": 0.39916894999999925, + "y_velocity": 0.8281332500000024, + "angular_velocity": 0.0, + "x_acceleration": -0.9260900000000027, + "y_acceleration": 2.769650000000002, + "angular_acceleration": 0.0 + }, + { + "time": 1.1900000000000008, + "x": 1.0870310175062503, + "y": 0.1209002947187507, + "angle": 0.0, + "x_velocity": 0.3897442468749992, + "y_velocity": 0.8559658906250025, + "angular_velocity": 0.0, + "x_acceleration": -0.9586487500000028, + "y_acceleration": 2.7950937500000013, + "angular_acceleration": 0.0 + }, + { + "time": 1.2000000000000008, + "x": 1.0908800000000007, + "y": 0.12960000000000071, + "angle": 0.0, + "x_velocity": 0.37999999999999917, + "y_velocity": 0.8840000000000023, + "angular_velocity": 0.0, + "x_acceleration": -0.9900000000000025, + "y_acceleration": 2.810000000000001, + "angular_acceleration": 0.0 + }, + { + "time": 1.2100000000000009, + "x": 1.0946299924937504, + "y": 0.1385806202812508, + "angle": 0.0, + "x_velocity": 0.3699482468749991, + "y_velocity": 0.9121318906250024, + "angular_velocity": 0.0, + "x_acceleration": -1.0201512500000023, + "y_acceleration": 2.81470625, + "angular_acceleration": 0.0 + }, + { + "time": 1.2200000000000009, + "x": 1.0982779798, + "y": 0.14784262900000084, + "angle": 0.0, + "x_velocity": 0.35960094999999914, + "y_velocity": 0.9402612500000024, + "angular_velocity": 0.0, + "x_acceleration": -1.0491100000000024, + "y_acceleration": 2.8095499999999993, + "angular_acceleration": 0.0 + }, + { + "time": 1.2300000000000009, + "x": 1.1018210659812502, + "y": 0.15738551334375087, + "angle": 0.0, + "x_velocity": 0.348969996874999, + "y_velocity": 0.9682911406250022, + "angular_velocity": 0.0, + "x_acceleration": -1.0768837500000024, + "y_acceleration": 2.794868749999999, + "angular_acceleration": 0.0 + }, + { + "time": 1.2400000000000009, + "x": 1.1052564736000003, + "y": 0.16720780800000087, + "angle": 0.0, + "x_velocity": 0.33806719999999907, + "y_velocity": 0.9961280000000025, + "angular_velocity": 0.0, + "x_acceleration": -1.1034800000000022, + "y_acceleration": 2.770999999999998, + "angular_acceleration": 0.0 + }, + { + "time": 1.2500000000000009, + "x": 1.1085815429687502, + "y": 0.17730712890625092, + "angle": 0.0, + "x_velocity": 0.32690429687499906, + "y_velocity": 1.0236816406250022, + "angular_velocity": 0.0, + "x_acceleration": -1.128906250000002, + "y_acceleration": 2.738281249999997, + "angular_acceleration": 0.0 + }, + { + "time": 1.260000000000001, + "x": 1.1117937314000004, + "y": 0.18768020700000093, + "angle": 0.0, + "x_velocity": 0.315492949999999, + "y_velocity": 1.0508652500000022, + "angular_velocity": 0.0, + "x_acceleration": -1.1531700000000022, + "y_acceleration": 2.697049999999995, + "angular_acceleration": 0.0 + }, + { + "time": 1.270000000000001, + "x": 1.1148906124562503, + "y": 0.198322921968751, + "angle": 0.0, + "x_velocity": 0.3038447468749989, + "y_velocity": 1.0775953906250024, + "angular_velocity": 0.0, + "x_acceleration": -1.176278750000002, + "y_acceleration": 2.647643749999995, + "angular_acceleration": 0.0 + }, + { + "time": 1.280000000000001, + "x": 1.1178698752000003, + "y": 0.20923033600000102, + "angle": 0.0, + "x_velocity": 0.29197119999999893, + "y_velocity": 1.1037920000000023, + "angular_velocity": 0.0, + "x_acceleration": -1.198240000000002, + "y_acceleration": 2.5903999999999945, + "angular_acceleration": 0.0 + }, + { + "time": 1.290000000000001, + "x": 1.1207293234437503, + "y": 0.22039672753125106, + "angle": 0.0, + "x_velocity": 0.2798837468749989, + "y_velocity": 1.1293783906250026, + "angular_velocity": 0.0, + "x_acceleration": -1.2190612500000018, + "y_acceleration": 2.5256562499999937, + "angular_acceleration": 0.0 + }, + { + "time": 1.300000000000001, + "x": 1.123466875, + "y": 0.2318156250000011, + "angle": 0.0, + "x_velocity": 0.26759374999999885, + "y_velocity": 1.1542812500000024, + "angular_velocity": 0.0, + "x_acceleration": -1.2387500000000018, + "y_acceleration": 2.453749999999993, + "angular_acceleration": 0.0 + }, + { + "time": 1.310000000000001, + "x": 1.1260805609312503, + "y": 0.24347984059375113, + "angle": 0.0, + "x_velocity": 0.25511249687499876, + "y_velocity": 1.1784306406250022, + "angular_velocity": 0.0, + "x_acceleration": -1.2573137500000018, + "y_acceleration": 2.3750187499999926, + "angular_acceleration": 0.0 + }, + { + "time": 1.320000000000001, + "x": 1.1285685248000004, + "y": 0.2553815040000011, + "angle": 0.0, + "x_velocity": 0.24245119999999876, + "y_velocity": 1.201760000000002, + "angular_velocity": 0.0, + "x_acceleration": -1.2747600000000017, + "y_acceleration": 2.2897999999999916, + "angular_acceleration": 0.0 + }, + { + "time": 1.330000000000001, + "x": 1.13092902191875, + "y": 0.26751209615625116, + "angle": 0.0, + "x_velocity": 0.22962099687499876, + "y_velocity": 1.224206140625002, + "angular_velocity": 0.0, + "x_acceleration": -1.2910962500000018, + "y_acceleration": 2.1984312499999916, + "angular_acceleration": 0.0 + }, + { + "time": 1.340000000000001, + "x": 1.1331604186, + "y": 0.2798624830000012, + "angle": 0.0, + "x_velocity": 0.21663294999999874, + "y_velocity": 1.2457092500000022, + "angular_velocity": 0.0, + "x_acceleration": -1.3063300000000013, + "y_acceleration": 2.1012499999999883, + "angular_acceleration": 0.0 + }, + { + "time": 1.350000000000001, + "x": 1.13526119140625, + "y": 0.29242294921875117, + "angle": 0.0, + "x_velocity": 0.20349804687499873, + "y_velocity": 1.2662128906250023, + "angular_velocity": 0.0, + "x_acceleration": -1.3204687500000012, + "y_acceleration": 1.9985937499999888, + "angular_acceleration": 0.0 + }, + { + "time": 1.360000000000001, + "x": 1.1372299264000005, + "y": 0.3051832320000013, + "angle": 0.0, + "x_velocity": 0.19022719999999865, + "y_velocity": 1.285664000000002, + "angular_velocity": 0.0, + "x_acceleration": -1.3335200000000014, + "y_acceleration": 1.890799999999989, + "angular_acceleration": 0.0 + }, + { + "time": 1.370000000000001, + "x": 1.13906531839375, + "y": 0.3181325547812513, + "angle": 0.0, + "x_velocity": 0.17683124687499863, + "y_velocity": 1.304012890625002, + "angular_velocity": 0.0, + "x_acceleration": -1.3454912500000011, + "y_acceleration": 1.778206249999989, + "angular_acceleration": 0.0 + }, + { + "time": 1.380000000000001, + "x": 1.1407661701999998, + "y": 0.3312596610000013, + "angle": 0.0, + "x_velocity": 0.16332094999999866, + "y_velocity": 1.3212132500000018, + "angular_velocity": 0.0, + "x_acceleration": -1.356390000000001, + "y_acceleration": 1.661149999999989, + "angular_acceleration": 0.0 + }, + { + "time": 1.390000000000001, + "x": 1.1423313918812503, + "y": 0.34455284784375134, + "angle": 0.0, + "x_velocity": 0.14970699687499864, + "y_velocity": 1.3372221406250018, + "angular_velocity": 0.0, + "x_acceleration": -1.3662237500000012, + "y_acceleration": 1.5399687499999883, + "angular_acceleration": 0.0 + }, + { + "time": 1.400000000000001, + "x": 1.1437600000000003, + "y": 0.35800000000000143, + "angle": 0.0, + "x_velocity": 0.13599999999999857, + "y_velocity": 1.3520000000000016, + "angular_velocity": 0.0, + "x_acceleration": -1.3750000000000009, + "y_acceleration": 1.414999999999988, + "angular_acceleration": 0.0 + }, + { + "time": 1.410000000000001, + "x": 1.14505111686875, + "y": 0.3715886234062514, + "angle": 0.0, + "x_velocity": 0.12221049687499855, + "y_velocity": 1.3655106406250015, + "angular_velocity": 0.0, + "x_acceleration": -1.3827262500000006, + "y_acceleration": 1.286581249999986, + "angular_acceleration": 0.0 + }, + { + "time": 1.420000000000001, + "x": 1.1462039698000002, + "y": 0.3853058790000014, + "angle": 0.0, + "x_velocity": 0.10834894999999867, + "y_velocity": 1.3777212500000011, + "angular_velocity": 0.0, + "x_acceleration": -1.389410000000001, + "y_acceleration": 1.1550499999999868, + "angular_acceleration": 0.0 + }, + { + "time": 1.430000000000001, + "x": 1.14721789035625, + "y": 0.3991386164687514, + "angle": 0.0, + "x_velocity": 0.09442574687499856, + "y_velocity": 1.3886023906250013, + "angular_velocity": 0.0, + "x_acceleration": -1.395058750000001, + "y_acceleration": 1.0207437499999878, + "angular_acceleration": 0.0 + }, + { + "time": 1.440000000000001, + "x": 1.1480923136000003, + "y": 0.41307340800000153, + "angle": 0.0, + "x_velocity": 0.08045119999999847, + "y_velocity": 1.3981280000000011, + "angular_velocity": 0.0, + "x_acceleration": -1.3996800000000003, + "y_acceleration": 0.8839999999999844, + "angular_acceleration": 0.0 + }, + { + "time": 1.450000000000001, + "x": 1.14882677734375, + "y": 0.4270965820312515, + "angle": 0.0, + "x_velocity": 0.06643554687499861, + "y_velocity": 1.4062753906250007, + "angular_velocity": 0.0, + "x_acceleration": -1.4032812500000007, + "y_acceleration": 0.7451562499999866, + "angular_acceleration": 0.0 + }, + { + "time": 1.460000000000001, + "x": 1.1494209214, + "y": 0.4411942570000015, + "angle": 0.0, + "x_velocity": 0.052388949999998505, + "y_velocity": 1.4130252500000002, + "angular_velocity": 0.0, + "x_acceleration": -1.4058700000000004, + "y_acceleration": 0.6045499999999873, + "angular_acceleration": 0.0 + }, + { + "time": 1.470000000000001, + "x": 1.14987448683125, + "y": 0.4553523750937515, + "angle": 0.0, + "x_velocity": 0.03832149687499844, + "y_velocity": 1.418361640625, + "angular_velocity": 0.0, + "x_acceleration": -1.4074537500000002, + "y_acceleration": 0.4625187499999823, + "angular_acceleration": 0.0 + }, + { + "time": 1.480000000000001, + "x": 1.1501873152000004, + "y": 0.46955673600000153, + "angle": 0.0, + "x_velocity": 0.024243199999998497, + "y_velocity": 1.422272, + "angular_velocity": 0.0, + "x_acceleration": -1.40804, + "y_acceleration": 0.3193999999999848, + "angular_acceleration": 0.0 + }, + { + "time": 1.490000000000001, + "x": 1.15035934781875, + "y": 0.48379303065625157, + "angle": 0.0, + "x_velocity": 0.01016399687499846, + "y_velocity": 1.4247471406250003, + "angular_velocity": 0.0, + "x_acceleration": -1.40763625, + "y_acceleration": 0.17553124999998282, + "angular_acceleration": 0.0 + }, + { + "time": 1.500000000000001, + "x": 1.1503906249999998, + "y": 0.49804687500000144, + "angle": 0.0, + "x_velocity": -0.003906250000001506, + "y_velocity": 1.4257812500000002, + "angular_velocity": 0.0, + "x_acceleration": -1.4062499999999998, + "y_acceleration": 0.031249999999986677, + "angular_acceleration": 0.0 + }, + { + "time": 1.5100000000000011, + "x": 1.15028128530625, + "y": 0.5123038437187516, + "angle": 0.0, + "x_velocity": -0.017957753125001624, + "y_velocity": 1.4253718906250006, + "angular_velocity": 0.0, + "x_acceleration": -1.4038887499999992, + "y_acceleration": -0.11310625000001906, + "angular_acceleration": 0.0 + }, + { + "time": 1.5200000000000011, + "x": 1.1500315648, + "y": 0.5265495040000017, + "angle": 0.0, + "x_velocity": -0.03198080000000167, + "y_velocity": 1.4235199999999992, + "angular_velocity": 0.0, + "x_acceleration": -1.4005599999999996, + "y_acceleration": -0.25720000000001786, + "angular_acceleration": 0.0 + }, + { + "time": 1.5300000000000011, + "x": 1.1496417962937497, + "y": 0.5407694492812516, + "angle": 0.0, + "x_velocity": -0.04596575312500148, + "y_velocity": 1.4202298906249995, + "angular_velocity": 0.0, + "x_acceleration": -1.3962712499999996, + "y_acceleration": -0.4006937500000127, + "angular_acceleration": 0.0 + }, + { + "time": 1.5400000000000011, + "x": 1.1491124085999997, + "y": 0.5549493330000017, + "angle": 0.0, + "x_velocity": -0.059903050000001616, + "y_velocity": 1.4155092499999988, + "angular_velocity": 0.0, + "x_acceleration": -1.3910299999999989, + "y_acceleration": -0.5432500000000182, + "angular_acceleration": 0.0 + }, + { + "time": 1.5500000000000012, + "x": 1.14844392578125, + "y": 0.5690749023437516, + "angle": 0.0, + "x_velocity": -0.07378320312500151, + "y_velocity": 1.4093691406249984, + "angular_velocity": 0.0, + "x_acceleration": -1.3848437499999995, + "y_acceleration": -0.6845312500000151, + "angular_acceleration": 0.0 + }, + { + "time": 1.5600000000000012, + "x": 1.1476369664000001, + "y": 0.5831320320000017, + "angle": 0.0, + "x_velocity": -0.08759680000000161, + "y_velocity": 1.4018239999999993, + "angular_velocity": 0.0, + "x_acceleration": -1.3777199999999992, + "y_acceleration": -0.8242000000000171, + "angular_acceleration": 0.0 + }, + { + "time": 1.5700000000000012, + "x": 1.1466922427687498, + "y": 0.5971067579062518, + "angle": 0.0, + "x_velocity": -0.10133450312500165, + "y_velocity": 1.392891640624999, + "angular_velocity": 0.0, + "x_acceleration": -1.3696662499999988, + "y_acceleration": -0.9619187500000184, + "angular_acceleration": 0.0 + }, + { + "time": 1.5800000000000012, + "x": 1.1456105601999997, + "y": 0.6109853110000015, + "angle": 0.0, + "x_velocity": -0.11498705000000156, + "y_velocity": 1.3825932499999982, + "angular_velocity": 0.0, + "x_acceleration": -1.3606899999999993, + "y_acceleration": -1.0973500000000165, + "angular_acceleration": 0.0 + }, + { + "time": 1.5900000000000012, + "x": 1.1443928162562498, + "y": 0.6247541509687519, + "angle": 0.0, + "x_velocity": -0.1285452531250017, + "y_velocity": 1.3709533906249989, + "angular_velocity": 0.0, + "x_acceleration": -1.3507987499999992, + "y_acceleration": -1.2301562500000163, + "angular_acceleration": 0.0 + }, + { + "time": 1.6000000000000012, + "x": 1.1430399999999998, + "y": 0.6384000000000016, + "angle": 0.0, + "x_velocity": -0.14200000000000151, + "y_velocity": 1.3579999999999985, + "angular_velocity": 0.0, + "x_acceleration": -1.3399999999999987, + "y_acceleration": -1.3600000000000172, + "angular_acceleration": 0.0 + }, + { + "time": 1.6100000000000012, + "x": 1.1415531912437498, + "y": 0.6519098765312518, + "angle": 0.0, + "x_velocity": -0.15534225312500155, + "y_velocity": 1.3437643906249983, + "angular_velocity": 0.0, + "x_acceleration": -1.3283012499999982, + "y_acceleration": -1.4865437500000152, + "angular_acceleration": 0.0 + }, + { + "time": 1.6200000000000012, + "x": 1.1399335597999996, + "y": 0.6652711290000015, + "angle": 0.0, + "x_velocity": -0.1685630500000015, + "y_velocity": 1.3282812499999972, + "angular_velocity": 0.0, + "x_acceleration": -1.3157099999999984, + "y_acceleration": -1.609450000000015, + "angular_acceleration": 0.0 + }, + { + "time": 1.6300000000000012, + "x": 1.13818236473125, + "y": 0.6784714695937516, + "angle": 0.0, + "x_velocity": -0.1816535031250016, + "y_velocity": 1.311588640624997, + "angular_velocity": 0.0, + "x_acceleration": -1.3022337499999983, + "y_acceleration": -1.7283812500000124, + "angular_acceleration": 0.0 + }, + { + "time": 1.6400000000000012, + "x": 1.1363009536, + "y": 0.6914990080000014, + "angle": 0.0, + "x_velocity": -0.19460480000000183, + "y_velocity": 1.293727999999998, + "angular_velocity": 0.0, + "x_acceleration": -1.2878799999999977, + "y_acceleration": -1.843000000000016, + "angular_acceleration": 0.0 + }, + { + "time": 1.6500000000000012, + "x": 1.1342907617187497, + "y": 0.7043422851562515, + "angle": 0.0, + "x_velocity": -0.20740820312500144, + "y_velocity": 1.274744140624997, + "angular_velocity": 0.0, + "x_acceleration": -1.2726562499999983, + "y_acceleration": -1.952968750000009, + "angular_acceleration": 0.0 + }, + { + "time": 1.6600000000000013, + "x": 1.1321533113999998, + "y": 0.7169903070000014, + "angle": 0.0, + "x_velocity": -0.22005505000000133, + "y_velocity": 1.254685249999997, + "angular_velocity": 0.0, + "x_acceleration": -1.2565699999999982, + "y_acceleration": -2.0579500000000124, + "angular_acceleration": 0.0 + }, + { + "time": 1.6700000000000013, + "x": 1.1298902112062497, + "y": 0.7294325782187517, + "angle": 0.0, + "x_velocity": -0.2325367531250016, + "y_velocity": 1.2336028906249958, + "angular_velocity": 0.0, + "x_acceleration": -1.2396287499999974, + "y_acceleration": -2.1576062500000077, + "angular_acceleration": 0.0 + }, + { + "time": 1.6800000000000013, + "x": 1.1275031551999999, + "y": 0.7416591360000014, + "angle": 0.0, + "x_velocity": -0.24484480000000158, + "y_velocity": 1.2115519999999975, + "angular_velocity": 0.0, + "x_acceleration": -1.2218399999999972, + "y_acceleration": -2.2516000000000176, + "angular_acceleration": 0.0 + }, + { + "time": 1.6900000000000013, + "x": 1.1249939221937497, + "y": 0.7536605837812514, + "angle": 0.0, + "x_velocity": -0.2569707531250016, + "y_velocity": 1.1885908906249973, + "angular_velocity": 0.0, + "x_acceleration": -1.2032112499999972, + "y_acceleration": -2.3395937500000095, + "angular_acceleration": 0.0 + }, + { + "time": 1.7000000000000013, + "x": 1.1223643749999996, + "y": 0.7654281250000016, + "angle": 0.0, + "x_velocity": -0.26890625000000157, + "y_velocity": 1.1647812499999972, + "angular_velocity": 0.0, + "x_acceleration": -1.183749999999997, + "y_acceleration": -2.421250000000004, + "angular_acceleration": 0.0 + }, + { + "time": 1.7100000000000013, + "x": 1.11961645968125, + "y": 0.7769535968437519, + "angle": 0.0, + "x_velocity": -0.28064300312500134, + "y_velocity": 1.1401881406249963, + "angular_velocity": 0.0, + "x_acceleration": -1.1634637499999976, + "y_acceleration": -2.4962312500000152, + "angular_acceleration": 0.0 + }, + { + "time": 1.7200000000000013, + "x": 1.1167522047999996, + "y": 0.7882295040000012, + "angle": 0.0, + "x_velocity": -0.29217280000000145, + "y_velocity": 1.1148799999999954, + "angular_velocity": 0.0, + "x_acceleration": -1.142359999999997, + "y_acceleration": -2.564200000000003, + "angular_acceleration": 0.0 + }, + { + "time": 1.7300000000000013, + "x": 1.1137737206687497, + "y": 0.7992490524062511, + "angle": 0.0, + "x_velocity": -0.30348750312500167, + "y_velocity": 1.0889286406249972, + "angular_velocity": 0.0, + "x_acceleration": -1.1204462499999968, + "y_acceleration": -2.6248187500000064, + "angular_acceleration": 0.0 + }, + { + "time": 1.7400000000000013, + "x": 1.1106831985999994, + "y": 0.8100061830000015, + "angle": 0.0, + "x_velocity": -0.31457905000000147, + "y_velocity": 1.0624092499999964, + "angular_velocity": 0.0, + "x_acceleration": -1.0977299999999968, + "y_acceleration": -2.677750000000014, + "angular_acceleration": 0.0 + }, + { + "time": 1.7500000000000013, + "x": 1.1074829101562493, + "y": 0.8204956054687514, + "angle": 0.0, + "x_velocity": -0.3254394531250014, + "y_velocity": 1.0354003906249964, + "angular_velocity": 0.0, + "x_acceleration": -1.0742187499999967, + "y_acceleration": -2.72265625, + "angular_acceleration": 0.0 + }, + { + "time": 1.7600000000000013, + "x": 1.1041752063999999, + "y": 0.830712832000001, + "angle": 0.0, + "x_velocity": -0.3360608000000013, + "y_velocity": 1.007983999999996, + "angular_velocity": 0.0, + "x_acceleration": -1.049919999999997, + "y_acceleration": -2.7592000000000034, + "angular_acceleration": 0.0 + }, + { + "time": 1.7700000000000014, + "x": 1.1007625171437494, + "y": 0.840654211031251, + "angle": 0.0, + "x_velocity": -0.3464352531250015, + "y_velocity": 0.9802453906249955, + "angular_velocity": 0.0, + "x_acceleration": -1.0248412499999962, + "y_acceleration": -2.7870437500000023, + "angular_acceleration": 0.0 + }, + { + "time": 1.7800000000000014, + "x": 1.0972473501999993, + "y": 0.8503169610000019, + "angle": 0.0, + "x_velocity": -0.3565550500000012, + "y_velocity": 0.9522732499999949, + "angular_velocity": 0.0, + "x_acceleration": -0.9989899999999972, + "y_acceleration": -2.805849999999996, + "angular_acceleration": 0.0 + }, + { + "time": 1.7900000000000014, + "x": 1.0936322906312494, + "y": 0.8596992040937517, + "angle": 0.0, + "x_velocity": -0.3664125031250014, + "y_velocity": 0.9241596406249961, + "angular_velocity": 0.0, + "x_acceleration": -0.9723737499999958, + "y_acceleration": -2.8152812500000053, + "angular_acceleration": 0.0 + }, + { + "time": 1.8000000000000014, + "x": 1.0899199999999996, + "y": 0.8688000000000012, + "angle": 0.0, + "x_velocity": -0.37600000000000156, + "y_velocity": 0.8959999999999937, + "angular_velocity": 0.0, + "x_acceleration": -0.944999999999996, + "y_acceleration": -2.8150000000000013, + "angular_acceleration": 0.0 + }, + { + "time": 1.8100000000000014, + "x": 1.0861132156187496, + "y": 0.8776193796562513, + "angle": 0.0, + "x_velocity": -0.3853100031250015, + "y_velocity": 0.8678931406249975, + "angular_velocity": 0.0, + "x_acceleration": -0.9168762499999956, + "y_acceleration": -2.8046687499999976, + "angular_acceleration": 0.0 + }, + { + "time": 1.8200000000000014, + "x": 1.0822147497999992, + "y": 0.8861583790000014, + "angle": 0.0, + "x_velocity": -0.39433505000000146, + "y_velocity": 0.8399412499999963, + "angular_velocity": 0.0, + "x_acceleration": -0.8880099999999959, + "y_acceleration": -2.7839499999999973, + "angular_acceleration": 0.0 + }, + { + "time": 1.8300000000000014, + "x": 1.0782274891062493, + "y": 0.8944190727187507, + "angle": 0.0, + "x_velocity": -0.4030677531250014, + "y_velocity": 0.8122498906249973, + "angular_velocity": 0.0, + "x_acceleration": -0.8584087499999955, + "y_acceleration": -2.7525062500000033, + "angular_acceleration": 0.0 + }, + { + "time": 1.8400000000000014, + "x": 1.0741543935999995, + "y": 0.9024046080000012, + "angle": 0.0, + "x_velocity": -0.4115008000000011, + "y_velocity": 0.7849279999999972, + "angular_velocity": 0.0, + "x_acceleration": -0.828079999999995, + "y_acceleration": -2.710000000000001, + "angular_acceleration": 0.0 + }, + { + "time": 1.8500000000000014, + "x": 1.0699984960937494, + "y": 0.9101192382812515, + "angle": 0.0, + "x_velocity": -0.41962695312500126, + "y_velocity": 0.7580878906249993, + "angular_velocity": 0.0, + "x_acceleration": -0.7970312499999958, + "y_acceleration": -2.6560937499999895, + "angular_acceleration": 0.0 + }, + { + "time": 1.8600000000000014, + "x": 1.0657629013999994, + "y": 0.9175683570000011, + "angle": 0.0, + "x_velocity": -0.42743905000000093, + "y_velocity": 0.7318452499999957, + "angular_velocity": 0.0, + "x_acceleration": -0.7652699999999952, + "y_acceleration": -2.59044999999999, + "angular_acceleration": 0.0 + }, + { + "time": 1.8700000000000014, + "x": 1.0614507855812494, + "y": 0.924758531343751, + "angle": 0.0, + "x_velocity": -0.4349300031250009, + "y_velocity": 0.7063191406249967, + "angular_velocity": 0.0, + "x_acceleration": -0.7328037499999952, + "y_acceleration": -2.5127312499999803, + "angular_acceleration": 0.0 + }, + { + "time": 1.8800000000000014, + "x": 1.0570653951999993, + "y": 0.931697536000001, + "angle": 0.0, + "x_velocity": -0.44209280000000123, + "y_velocity": 0.6816319999999951, + "angular_velocity": 0.0, + "x_acceleration": -0.6996399999999956, + "y_acceleration": -2.4225999999999814, + "angular_acceleration": 0.0 + }, + { + "time": 1.8900000000000015, + "x": 1.0526100465687493, + "y": 0.9383943869062517, + "angle": 0.0, + "x_velocity": -0.44892050312500076, + "y_velocity": 0.6579096406249967, + "angular_velocity": 0.0, + "x_acceleration": -0.6657862499999956, + "y_acceleration": -2.3197187499999856, + "angular_acceleration": 0.0 + }, + { + "time": 1.9000000000000015, + "x": 1.0480881249999991, + "y": 0.9448593750000014, + "angle": 0.0, + "x_velocity": -0.4554062500000009, + "y_velocity": 0.6352812499999985, + "angular_velocity": 0.0, + "x_acceleration": -0.6312499999999962, + "y_acceleration": -2.203749999999978, + "angular_acceleration": 0.0 + }, + { + "time": 1.9100000000000015, + "x": 1.0435030840562494, + "y": 0.9511040999687506, + "angle": 0.0, + "x_velocity": -0.46154325312500133, + "y_velocity": 0.6138793906249962, + "angular_velocity": 0.0, + "x_acceleration": -0.5960387499999945, + "y_acceleration": -2.074356249999987, + "angular_acceleration": 0.0 + }, + { + "time": 1.9200000000000015, + "x": 1.0388584447999996, + "y": 0.9571415040000002, + "angle": 0.0, + "x_velocity": -0.467324800000001, + "y_velocity": 0.5938399999999984, + "angular_velocity": 0.0, + "x_acceleration": -0.5601599999999942, + "y_acceleration": -1.9311999999999756, + "angular_acceleration": 0.0 + }, + { + "time": 1.9300000000000015, + "x": 1.0341577950437493, + "y": 0.9629859055312504, + "angle": 0.0, + "x_velocity": -0.47274425312500096, + "y_velocity": 0.5753023906249979, + "angular_velocity": 0.0, + "x_acceleration": -0.5236212499999935, + "y_acceleration": -1.7739437499999866, + "angular_acceleration": 0.0 + }, + { + "time": 1.9400000000000015, + "x": 1.0294047885999993, + "y": 0.9686530330000016, + "angle": 0.0, + "x_velocity": -0.47779505000000044, + "y_velocity": 0.5584092499999933, + "angular_velocity": 0.0, + "x_acceleration": -0.48642999999999503, + "y_acceleration": -1.6022499999999766, + "angular_acceleration": 0.0 + }, + { + "time": 1.9500000000000015, + "x": 1.0246031445312491, + "y": 0.9741600585937507, + "angle": 0.0, + "x_velocity": -0.4824707031250006, + "y_velocity": 0.5433066406249942, + "angular_velocity": 0.0, + "x_acceleration": -0.4485937499999946, + "y_acceleration": -1.4157812499999665, + "angular_acceleration": 0.0 + }, + { + "time": 1.9600000000000015, + "x": 1.0197566463999994, + "y": 0.9795256320000005, + "angle": 0.0, + "x_velocity": -0.48676480000000055, + "y_velocity": 0.5301439999999964, + "angular_velocity": 0.0, + "x_acceleration": -0.41011999999999427, + "y_acceleration": -1.2141999999999626, + "angular_acceleration": 0.0 + }, + { + "time": 1.9700000000000015, + "x": 1.0148691415187494, + "y": 0.9847699141562507, + "angle": 0.0, + "x_velocity": -0.49067100312500056, + "y_velocity": 0.5190741406250012, + "angular_velocity": 0.0, + "x_acceleration": -0.37101624999999383, + "y_acceleration": -0.9971687499999717, + "angular_acceleration": 0.0 + }, + { + "time": 1.9800000000000015, + "x": 1.009944540199999, + "y": 0.989914611000001, + "angle": 0.0, + "x_velocity": -0.49418305000000046, + "y_velocity": 0.5102532499999999, + "angular_velocity": 0.0, + "x_acceleration": -0.33128999999999387, + "y_acceleration": -0.7643499999999648, + "angular_acceleration": 0.0 + }, + { + "time": 1.9900000000000015, + "x": 1.0049868150062493, + "y": 0.99498300721875, + "angle": 0.0, + "x_velocity": -0.4972947531250007, + "y_velocity": 0.5038408906250034, + "angular_velocity": 0.0, + "x_acceleration": -0.29094874999999343, + "y_acceleration": -0.5154062499999625, + "angular_acceleration": 0.0 + }, + { + "time": 2.0000000000000013, + "x": 0.9999999999999993, + "y": 1.0000000000000007, + "angle": 0.0, + "x_velocity": -0.5000000000000003, + "y_velocity": 0.49999999999999967, + "angular_velocity": 0.0, + "x_acceleration": -0.25000000000003647, + "y_acceleration": -0.2500000000000055, + "angular_acceleration": 0.0 + }, + { + "time": 2.010000000000001, + "x": 0.9949830072187494, + "y": 1.0049868150062504, + "angle": 0.0, + "x_velocity": -0.5038408906250005, + "y_velocity": 0.49729475312499966, + "angular_velocity": 0.0, + "x_acceleration": -0.5154062500000287, + "y_acceleration": -0.29094875000000453, + "angular_acceleration": 0.0 + }, + { + "time": 2.020000000000001, + "x": 0.9899146109999996, + "y": 1.0099445402000002, + "angle": 0.0, + "x_velocity": -0.5102532500000007, + "y_velocity": 0.4941830499999997, + "angular_velocity": 0.0, + "x_acceleration": -0.7643500000000217, + "y_acceleration": -0.33129000000000364, + "angular_acceleration": 0.0 + }, + { + "time": 2.0300000000000007, + "x": 0.9847699141562497, + "y": 1.0148691415187505, + "angle": 0.0, + "x_velocity": -0.5190741406250007, + "y_velocity": 0.4906710031249998, + "angular_velocity": 0.0, + "x_acceleration": -0.9971687500000156, + "y_acceleration": -0.3710162500000027, + "angular_acceleration": 0.0 + }, + { + "time": 2.0400000000000005, + "x": 0.9795256319999999, + "y": 1.0197566464000005, + "angle": 0.0, + "x_velocity": -0.5301440000000006, + "y_velocity": 0.48676479999999983, + "angular_velocity": 0.0, + "x_acceleration": -1.21420000000001, + "y_acceleration": -0.4101200000000018, + "angular_acceleration": 0.0 + }, + { + "time": 2.0500000000000003, + "x": 0.9741600585937498, + "y": 1.0246031445312502, + "angle": 0.0, + "x_velocity": -0.5433066406250004, + "y_velocity": 0.4824707031249999, + "angular_velocity": 0.0, + "x_acceleration": -1.415781250000005, + "y_acceleration": -0.448593750000001, + "angular_acceleration": 0.0 + }, + { + "time": 2.06, + "x": 0.968653033, + "y": 1.0294047886, + "angle": 0.0, + "x_velocity": -0.5584092500000001, + "y_velocity": 0.47779504999999994, + "angular_velocity": 0.0, + "x_acceleration": -1.602250000000001, + "y_acceleration": -0.4864300000000002, + "angular_acceleration": 0.0 + }, + { + "time": 2.07, + "x": 0.9629859055312501, + "y": 1.03415779504375, + "angle": 0.0, + "x_velocity": -0.5753023906249997, + "y_velocity": 0.47274425312500007, + "angular_velocity": 0.0, + "x_acceleration": -1.773943749999997, + "y_acceleration": -0.5236212499999995, + "angular_acceleration": 0.0 + }, + { + "time": 2.0799999999999996, + "x": 0.9571415040000001, + "y": 1.0388584448, + "angle": 0.0, + "x_velocity": -0.5938399999999993, + "y_velocity": 0.4673248000000002, + "angular_velocity": 0.0, + "x_acceleration": -1.9311999999999943, + "y_acceleration": -0.5601599999999988, + "angular_acceleration": 0.0 + }, + { + "time": 2.0899999999999994, + "x": 0.9511040999687504, + "y": 1.0435030840562496, + "angle": 0.0, + "x_velocity": -0.6138793906249987, + "y_velocity": 0.46154325312500033, + "angular_velocity": 0.0, + "x_acceleration": -2.074356249999992, + "y_acceleration": -0.596038749999998, + "angular_acceleration": 0.0 + }, + { + "time": 2.099999999999999, + "x": 0.9448593750000004, + "y": 1.0480881249999996, + "angle": 0.0, + "x_velocity": -0.6352812499999981, + "y_velocity": 0.4554062500000005, + "angular_velocity": 0.0, + "x_acceleration": -2.20374999999999, + "y_acceleration": -0.6312499999999973, + "angular_acceleration": 0.0 + }, + { + "time": 2.109999999999999, + "x": 0.9383943869062507, + "y": 1.0526100465687493, + "angle": 0.0, + "x_velocity": -0.6579096406249977, + "y_velocity": 0.44892050312500065, + "angular_velocity": 0.0, + "x_acceleration": -2.319718749999989, + "y_acceleration": -0.6657862499999966, + "angular_acceleration": 0.0 + }, + { + "time": 2.1199999999999988, + "x": 0.9316975360000008, + "y": 1.0570653951999993, + "angle": 0.0, + "x_velocity": -0.681631999999997, + "y_velocity": 0.44209280000000084, + "angular_velocity": 0.0, + "x_acceleration": -2.422599999999988, + "y_acceleration": -0.6996399999999959, + "angular_acceleration": 0.0 + }, + { + "time": 2.1299999999999986, + "x": 0.9247585313437511, + "y": 1.0614507855812494, + "angle": 0.0, + "x_velocity": -0.7063191406249963, + "y_velocity": 0.4349300031250011, + "angular_velocity": 0.0, + "x_acceleration": -2.512731249999988, + "y_acceleration": -0.7328037499999953, + "angular_acceleration": 0.0 + }, + { + "time": 2.1399999999999983, + "x": 0.9175683570000012, + "y": 1.0657629013999994, + "angle": 0.0, + "x_velocity": -0.7318452499999958, + "y_velocity": 0.42743905000000126, + "angular_velocity": 0.0, + "x_acceleration": -2.5904499999999886, + "y_acceleration": -0.7652699999999947, + "angular_acceleration": 0.0 + }, + { + "time": 2.149999999999998, + "x": 0.9101192382812514, + "y": 1.0699984960937492, + "angle": 0.0, + "x_velocity": -0.758087890624995, + "y_velocity": 0.4196269531250014, + "angular_velocity": 0.0, + "x_acceleration": -2.6560937499999886, + "y_acceleration": -0.7970312499999942, + "angular_acceleration": 0.0 + }, + { + "time": 2.159999999999998, + "x": 0.9024046080000017, + "y": 1.074154393599999, + "angle": 0.0, + "x_velocity": -0.7849279999999944, + "y_velocity": 0.4115008000000017, + "angular_velocity": 0.0, + "x_acceleration": -2.7099999999999898, + "y_acceleration": -0.8280799999999937, + "angular_acceleration": 0.0 + }, + { + "time": 2.1699999999999977, + "x": 0.8944190727187519, + "y": 1.0782274891062493, + "angle": 0.0, + "x_velocity": -0.8122498906249936, + "y_velocity": 0.4030677531250019, + "angular_velocity": 0.0, + "x_acceleration": -2.7525062499999917, + "y_acceleration": -0.8584087499999932, + "angular_acceleration": 0.0 + }, + { + "time": 2.1799999999999975, + "x": 0.8861583790000022, + "y": 1.082214749799999, + "angle": 0.0, + "x_velocity": -0.8399412499999931, + "y_velocity": 0.39433505000000224, + "angular_velocity": 0.0, + "x_acceleration": -2.783949999999994, + "y_acceleration": -0.8880099999999927, + "angular_acceleration": 0.0 + }, + { + "time": 2.1899999999999973, + "x": 0.8776193796562523, + "y": 1.086113215618749, + "angle": 0.0, + "x_velocity": -0.8678931406249923, + "y_velocity": 0.38531000312500246, + "angular_velocity": 0.0, + "x_acceleration": -2.804668749999996, + "y_acceleration": -0.9168762499999923, + "angular_acceleration": 0.0 + }, + { + "time": 2.199999999999997, + "x": 0.8688000000000026, + "y": 1.0899199999999987, + "angle": 0.0, + "x_velocity": -0.8959999999999917, + "y_velocity": 0.3760000000000028, + "angular_velocity": 0.0, + "x_acceleration": -2.814999999999998, + "y_acceleration": -0.944999999999992, + "angular_acceleration": 0.0 + }, + { + "time": 2.209999999999997, + "x": 0.8596992040937529, + "y": 1.0936322906312488, + "angle": 0.0, + "x_velocity": -0.924159640624991, + "y_velocity": 0.366412503125003, + "angular_velocity": 0.0, + "x_acceleration": -2.8152812500000017, + "y_acceleration": -0.9723737499999915, + "angular_acceleration": 0.0 + }, + { + "time": 2.2199999999999966, + "x": 0.8503169610000032, + "y": 1.0972473501999989, + "angle": 0.0, + "x_velocity": -0.9522732499999906, + "y_velocity": 0.3565550500000033, + "angular_velocity": 0.0, + "x_acceleration": -2.8058500000000057, + "y_acceleration": -0.9989899999999913, + "angular_acceleration": 0.0 + }, + { + "time": 2.2299999999999964, + "x": 0.8406542110312535, + "y": 1.100762517143749, + "angle": 0.0, + "x_velocity": -0.9802453906249899, + "y_velocity": 0.3464352531250036, + "angular_velocity": 0.0, + "x_acceleration": -2.7870437500000085, + "y_acceleration": -1.0248412499999908, + "angular_acceleration": 0.0 + }, + { + "time": 2.239999999999996, + "x": 0.8307128320000038, + "y": 1.1041752063999988, + "angle": 0.0, + "x_velocity": -1.0079839999999896, + "y_velocity": 0.336060800000004, + "angular_velocity": 0.0, + "x_acceleration": -2.7592000000000123, + "y_acceleration": -1.0499199999999909, + "angular_acceleration": 0.0 + }, + { + "time": 2.249999999999996, + "x": 0.8204956054687541, + "y": 1.1074829101562487, + "angle": 0.0, + "x_velocity": -1.0354003906249891, + "y_velocity": 0.3254394531250043, + "angular_velocity": 0.0, + "x_acceleration": -2.7226562500000164, + "y_acceleration": -1.0742187499999905, + "angular_acceleration": 0.0 + }, + { + "time": 2.259999999999996, + "x": 0.8100061830000045, + "y": 1.1106831985999988, + "angle": 0.0, + "x_velocity": -1.0624092499999886, + "y_velocity": 0.31457905000000463, + "angular_velocity": 0.0, + "x_acceleration": -2.677750000000021, + "y_acceleration": -1.0977299999999903, + "angular_acceleration": 0.0 + }, + { + "time": 2.2699999999999956, + "x": 0.7992490524062549, + "y": 1.1137737206687488, + "angle": 0.0, + "x_velocity": -1.0889286406249883, + "y_velocity": 0.30348750312500494, + "angular_velocity": 0.0, + "x_acceleration": -2.624818750000025, + "y_acceleration": -1.1204462499999903, + "angular_acceleration": 0.0 + }, + { + "time": 2.2799999999999954, + "x": 0.7882295040000051, + "y": 1.1167522047999987, + "angle": 0.0, + "x_velocity": -1.1148799999999879, + "y_velocity": 0.29217280000000534, + "angular_velocity": 0.0, + "x_acceleration": -2.5642000000000307, + "y_acceleration": -1.1423599999999903, + "angular_acceleration": 0.0 + }, + { + "time": 2.289999999999995, + "x": 0.7769535968437555, + "y": 1.1196164596812486, + "angle": 0.0, + "x_velocity": -1.140188140624988, + "y_velocity": 0.2806430031250056, + "angular_velocity": 0.0, + "x_acceleration": -2.496231250000034, + "y_acceleration": -1.16346374999999, + "angular_acceleration": 0.0 + }, + { + "time": 2.299999999999995, + "x": 0.7654281250000059, + "y": 1.1223643749999987, + "angle": 0.0, + "x_velocity": -1.1647812499999879, + "y_velocity": 0.268906250000006, + "angular_velocity": 0.0, + "x_acceleration": -2.421250000000041, + "y_acceleration": -1.1837499999999899, + "angular_acceleration": 0.0 + }, + { + "time": 2.3099999999999947, + "x": 0.7536605837812562, + "y": 1.1249939221937486, + "angle": 0.0, + "x_velocity": -1.1885908906249876, + "y_velocity": 0.25697075312500633, + "angular_velocity": 0.0, + "x_acceleration": -2.339593750000046, + "y_acceleration": -1.20321124999999, + "angular_acceleration": 0.0 + }, + { + "time": 2.3199999999999945, + "x": 0.7416591360000067, + "y": 1.1275031551999988, + "angle": 0.0, + "x_velocity": -1.2115519999999873, + "y_velocity": 0.2448448000000067, + "angular_velocity": 0.0, + "x_acceleration": -2.2516000000000496, + "y_acceleration": -1.22183999999999, + "angular_acceleration": 0.0 + }, + { + "time": 2.3299999999999943, + "x": 0.729432578218757, + "y": 1.1298902112062486, + "angle": 0.0, + "x_velocity": -1.2336028906249876, + "y_velocity": 0.23253675312500707, + "angular_velocity": 0.0, + "x_acceleration": -2.157606250000054, + "y_acceleration": -1.2396287499999903, + "angular_acceleration": 0.0 + }, + { + "time": 2.339999999999994, + "x": 0.7169903070000073, + "y": 1.1321533113999986, + "angle": 0.0, + "x_velocity": -1.2546852499999879, + "y_velocity": 0.2200550500000074, + "angular_velocity": 0.0, + "x_acceleration": -2.05795000000006, + "y_acceleration": -1.2565699999999902, + "angular_acceleration": 0.0 + }, + { + "time": 2.349999999999994, + "x": 0.7043422851562579, + "y": 1.1342907617187488, + "angle": 0.0, + "x_velocity": -1.274744140624988, + "y_velocity": 0.2074082031250078, + "angular_velocity": 0.0, + "x_acceleration": -1.9529687500000668, + "y_acceleration": -1.2726562499999905, + "angular_acceleration": 0.0 + }, + { + "time": 2.3599999999999937, + "x": 0.6914990080000082, + "y": 1.1363009535999988, + "angle": 0.0, + "x_velocity": -1.2937279999999884, + "y_velocity": 0.19460480000000815, + "angular_velocity": 0.0, + "x_acceleration": -1.8430000000000715, + "y_acceleration": -1.2878799999999908, + "angular_acceleration": 0.0 + }, + { + "time": 2.3699999999999934, + "x": 0.6784714695937586, + "y": 1.1381823647312488, + "angle": 0.0, + "x_velocity": -1.3115886406249886, + "y_velocity": 0.18165350312500855, + "angular_velocity": 0.0, + "x_acceleration": -1.7283812500000768, + "y_acceleration": -1.302233749999991, + "angular_acceleration": 0.0 + }, + { + "time": 2.3799999999999932, + "x": 0.665271129000009, + "y": 1.1399335597999987, + "angle": 0.0, + "x_velocity": -1.3282812499999892, + "y_velocity": 0.16856305000000887, + "angular_velocity": 0.0, + "x_acceleration": -1.609450000000082, + "y_acceleration": -1.3157099999999913, + "angular_acceleration": 0.0 + }, + { + "time": 2.389999999999993, + "x": 0.6519098765312593, + "y": 1.1415531912437489, + "angle": 0.0, + "x_velocity": -1.3437643906249896, + "y_velocity": 0.1553422531250093, + "angular_velocity": 0.0, + "x_acceleration": -1.4865437500000898, + "y_acceleration": -1.3283012499999916, + "angular_acceleration": 0.0 + }, + { + "time": 2.399999999999993, + "x": 0.6384000000000098, + "y": 1.143039999999999, + "angle": 0.0, + "x_velocity": -1.3579999999999905, + "y_velocity": 0.14200000000000965, + "angular_velocity": 0.0, + "x_acceleration": -1.3600000000000918, + "y_acceleration": -1.3399999999999919, + "angular_acceleration": 0.0 + }, + { + "time": 2.4099999999999926, + "x": 0.6247541509687602, + "y": 1.1443928162562491, + "angle": 0.0, + "x_velocity": -1.3709533906249907, + "y_velocity": 0.12854525312501003, + "angular_velocity": 0.0, + "x_acceleration": -1.2301562500000975, + "y_acceleration": -1.3507987499999925, + "angular_acceleration": 0.0 + }, + { + "time": 2.4199999999999924, + "x": 0.6109853110000105, + "y": 1.145610560199999, + "angle": 0.0, + "x_velocity": -1.3825932499999918, + "y_velocity": 0.11498705000001036, + "angular_velocity": 0.0, + "x_acceleration": -1.0973500000001009, + "y_acceleration": -1.3606899999999928, + "angular_acceleration": 0.0 + }, + { + "time": 2.429999999999992, + "x": 0.5971067579062609, + "y": 1.1466922427687491, + "angle": 0.0, + "x_velocity": -1.3928916406249925, + "y_velocity": 0.10133450312501076, + "angular_velocity": 0.0, + "x_acceleration": -0.9619187500001081, + "y_acceleration": -1.3696662499999934, + "angular_acceleration": 0.0 + }, + { + "time": 2.439999999999992, + "x": 0.5831320320000113, + "y": 1.1476369663999995, + "angle": 0.0, + "x_velocity": -1.4018239999999937, + "y_velocity": 0.08759680000001109, + "angular_velocity": 0.0, + "x_acceleration": -0.8242000000001104, + "y_acceleration": -1.3777199999999938, + "angular_acceleration": 0.0 + }, + { + "time": 2.4499999999999917, + "x": 0.5690749023437617, + "y": 1.1484439257812495, + "angle": 0.0, + "x_velocity": -1.4093691406249946, + "y_velocity": 0.07378320312501142, + "angular_velocity": 0.0, + "x_acceleration": -0.6845312500001164, + "y_acceleration": -1.3848437499999946, + "angular_acceleration": 0.0 + }, + { + "time": 2.4599999999999915, + "x": 0.554949333000012, + "y": 1.1491124085999995, + "angle": 0.0, + "x_velocity": -1.4155092499999955, + "y_velocity": 0.059903050000011795, + "angular_velocity": 0.0, + "x_acceleration": -0.5432500000001195, + "y_acceleration": -1.3910299999999953, + "angular_acceleration": 0.0 + }, + { + "time": 2.4699999999999913, + "x": 0.5407694492812625, + "y": 1.1496417962937495, + "angle": 0.0, + "x_velocity": -1.4202298906249964, + "y_velocity": 0.045965753125012165, + "angular_velocity": 0.0, + "x_acceleration": -0.4006937500001264, + "y_acceleration": -1.396271249999996, + "angular_acceleration": 0.0 + }, + { + "time": 2.479999999999991, + "x": 0.5265495040000127, + "y": 1.1500315648000001, + "angle": 0.0, + "x_velocity": -1.4235199999999972, + "y_velocity": 0.031980800000012535, + "angular_velocity": 0.0, + "x_acceleration": -0.25720000000013243, + "y_acceleration": -1.4005599999999965, + "angular_acceleration": 0.0 + }, + { + "time": 2.489999999999991, + "x": 0.5123038437187629, + "y": 1.1502812853062498, + "angle": 0.0, + "x_velocity": -1.4253718906249988, + "y_velocity": 0.01795775312501279, + "angular_velocity": 0.0, + "x_acceleration": -0.11310625000013186, + "y_acceleration": -1.4038887499999975, + "angular_acceleration": 0.0 + }, + { + "time": 2.4999999999999907, + "x": 0.4980468750000132, + "y": 1.150390625, + "angle": 0.0, + "x_velocity": -1.4257812500000004, + "y_velocity": 0.003906250000013087, + "angular_velocity": 0.0, + "x_acceleration": 0.03124999999986766, + "y_acceleration": -1.406249999999998, + "angular_acceleration": 0.0 + }, + { + "time": 2.5099999999999905, + "x": 0.4837930306562635, + "y": 1.1503593478187502, + "angle": 0.0, + "x_velocity": -1.4247471406250016, + "y_velocity": -0.01016399687498663, + "angular_velocity": 0.0, + "x_acceleration": 0.1755312499998647, + "y_acceleration": -1.407636249999999, + "angular_acceleration": 0.0 + }, + { + "time": 2.5199999999999902, + "x": 0.46955673600001374, + "y": 1.1501873152000002, + "angle": 0.0, + "x_velocity": -1.422272000000003, + "y_velocity": -0.024243199999986274, + "angular_velocity": 0.0, + "x_acceleration": 0.31939999999986224, + "y_acceleration": -1.4080399999999997, + "angular_acceleration": 0.0 + }, + { + "time": 2.52999999999999, + "x": 0.45535237509376425, + "y": 1.1498744868312503, + "angle": 0.0, + "x_velocity": -1.418361640625005, + "y_velocity": -0.038321496874985914, + "angular_velocity": 0.0, + "x_acceleration": 0.4625187499998553, + "y_acceleration": -1.4074537500000013, + "angular_acceleration": 0.0 + }, + { + "time": 2.53999999999999, + "x": 0.4411942570000143, + "y": 1.1494209214000006, + "angle": 0.0, + "x_velocity": -1.413025250000007, + "y_velocity": -0.05238894999998579, + "angular_velocity": 0.0, + "x_acceleration": 0.6045499999998594, + "y_acceleration": -1.4058700000000017, + "angular_acceleration": 0.0 + }, + { + "time": 2.5499999999999896, + "x": 0.42709658203126466, + "y": 1.1488267773437508, + "angle": 0.0, + "x_velocity": -1.4062753906250078, + "y_velocity": -0.06643554687498535, + "angular_velocity": 0.0, + "x_acceleration": 0.7451562499998516, + "y_acceleration": -1.4032812500000034, + "angular_acceleration": 0.0 + }, + { + "time": 2.5599999999999894, + "x": 0.4130734080000148, + "y": 1.1480923136000007, + "angle": 0.0, + "x_velocity": -1.3981280000000096, + "y_velocity": -0.08045119999998518, + "angular_velocity": 0.0, + "x_acceleration": 0.8839999999998547, + "y_acceleration": -1.3996800000000043, + "angular_acceleration": 0.0 + }, + { + "time": 2.569999999999989, + "x": 0.399138616468765, + "y": 1.147217890356251, + "angle": 0.0, + "x_velocity": -1.3886023906250116, + "y_velocity": -0.09442574687498483, + "angular_velocity": 0.0, + "x_acceleration": 1.020743749999852, + "y_acceleration": -1.3950587500000056, + "angular_acceleration": 0.0 + }, + { + "time": 2.579999999999989, + "x": 0.3853058790000151, + "y": 1.1462039698000013, + "angle": 0.0, + "x_velocity": -1.377721250000012, + "y_velocity": -0.10834894999998476, + "angular_velocity": 0.0, + "x_acceleration": 1.1550499999998536, + "y_acceleration": -1.3894100000000065, + "angular_acceleration": 0.0 + }, + { + "time": 2.5899999999999888, + "x": 0.3715886234062654, + "y": 1.1450511168687514, + "angle": 0.0, + "x_velocity": -1.365510640625014, + "y_velocity": -0.12221049687498446, + "angular_velocity": 0.0, + "x_acceleration": 1.2865812499998537, + "y_acceleration": -1.3827262500000082, + "angular_acceleration": 0.0 + }, + { + "time": 2.5999999999999885, + "x": 0.3580000000000154, + "y": 1.1437600000000017, + "angle": 0.0, + "x_velocity": -1.352000000000016, + "y_velocity": -0.1359999999999842, + "angular_velocity": 0.0, + "x_acceleration": 1.41499999999985, + "y_acceleration": -1.3750000000000093, + "angular_acceleration": 0.0 + }, + { + "time": 2.6099999999999883, + "x": 0.3445528478437657, + "y": 1.1423313918812519, + "angle": 0.0, + "x_velocity": -1.337222140625018, + "y_velocity": -0.14970699687498407, + "angular_velocity": 0.0, + "x_acceleration": 1.539968749999856, + "y_acceleration": -1.366223750000011, + "angular_acceleration": 0.0 + }, + { + "time": 2.619999999999988, + "x": 0.33125966100001564, + "y": 1.1407661702000018, + "angle": 0.0, + "x_velocity": -1.321213250000019, + "y_velocity": -0.16332094999998387, + "angular_velocity": 0.0, + "x_acceleration": 1.6611499999998625, + "y_acceleration": -1.3563900000000122, + "angular_acceleration": 0.0 + }, + { + "time": 2.629999999999988, + "x": 0.31813255478126595, + "y": 1.139065318393752, + "angle": 0.0, + "x_velocity": -1.3040128906250228, + "y_velocity": -0.17683124687498383, + "angular_velocity": 0.0, + "x_acceleration": 1.7782062499998652, + "y_acceleration": -1.3454912500000138, + "angular_acceleration": 0.0 + }, + { + "time": 2.6399999999999877, + "x": 0.30518323200001574, + "y": 1.137229926400002, + "angle": 0.0, + "x_velocity": -1.2856640000000228, + "y_velocity": -0.19022719999998364, + "angular_velocity": 0.0, + "x_acceleration": 1.8907999999998655, + "y_acceleration": -1.3335200000000151, + "angular_acceleration": 0.0 + }, + { + "time": 2.6499999999999875, + "x": 0.29242294921876577, + "y": 1.1352611914062527, + "angle": 0.0, + "x_velocity": -1.2662128906250252, + "y_velocity": -0.20349804687498346, + "angular_velocity": 0.0, + "x_acceleration": 1.9985937499998645, + "y_acceleration": -1.320468750000017, + "angular_acceleration": 0.0 + }, + { + "time": 2.6599999999999873, + "x": 0.27986248300001604, + "y": 1.1331604186000026, + "angle": 0.0, + "x_velocity": -1.2457092500000266, + "y_velocity": -0.21663294999998334, + "angular_velocity": 0.0, + "x_acceleration": 2.101249999999876, + "y_acceleration": -1.3063300000000186, + "angular_acceleration": 0.0 + }, + { + "time": 2.669999999999987, + "x": 0.2675120961562658, + "y": 1.130929021918753, + "angle": 0.0, + "x_velocity": -1.2242061406250277, + "y_velocity": -0.22962099687498314, + "angular_velocity": 0.0, + "x_acceleration": 2.1984312499998673, + "y_acceleration": -1.2910962500000207, + "angular_acceleration": 0.0 + }, + { + "time": 2.679999999999987, + "x": 0.25538150400001586, + "y": 1.1285685248000032, + "angle": 0.0, + "x_velocity": -1.2017600000000304, + "y_velocity": -0.24245119999998316, + "angular_velocity": 0.0, + "x_acceleration": 2.289799999999879, + "y_acceleration": -1.274760000000022, + "angular_acceleration": 0.0 + }, + { + "time": 2.6899999999999866, + "x": 0.2434798405937657, + "y": 1.1260805609312534, + "angle": 0.0, + "x_velocity": -1.178430640625031, + "y_velocity": -0.25511249687498316, + "angular_velocity": 0.0, + "x_acceleration": 2.3750187499998887, + "y_acceleration": -1.2573137500000242, + "angular_acceleration": 0.0 + }, + { + "time": 2.6999999999999864, + "x": 0.231815625000016, + "y": 1.1234668750000036, + "angle": 0.0, + "x_velocity": -1.1542812500000346, + "y_velocity": -0.26759374999998325, + "angular_velocity": 0.0, + "x_acceleration": 2.4537499999999035, + "y_acceleration": -1.2387500000000258, + "angular_acceleration": 0.0 + }, + { + "time": 2.709999999999986, + "x": 0.2203967275312656, + "y": 1.120729323443754, + "angle": 0.0, + "x_velocity": -1.129378390625035, + "y_velocity": -0.2798837468749832, + "angular_velocity": 0.0, + "x_acceleration": 2.5256562499999085, + "y_acceleration": -1.2190612500000277, + "angular_acceleration": 0.0 + }, + { + "time": 2.719999999999986, + "x": 0.20923033600001573, + "y": 1.117869875200004, + "angle": 0.0, + "x_velocity": -1.1037920000000367, + "y_velocity": -0.29197119999998306, + "angular_velocity": 0.0, + "x_acceleration": 2.5903999999999137, + "y_acceleration": -1.19824000000003, + "angular_acceleration": 0.0 + }, + { + "time": 2.7299999999999858, + "x": 0.19832292196876522, + "y": 1.1148906124562543, + "angle": 0.0, + "x_velocity": -1.0775953906250377, + "y_velocity": -0.30384474687498336, + "angular_velocity": 0.0, + "x_acceleration": 2.6476437499999292, + "y_acceleration": -1.1762787500000318, + "angular_acceleration": 0.0 + }, + { + "time": 2.7399999999999856, + "x": 0.18768020700001498, + "y": 1.1117937314000046, + "angle": 0.0, + "x_velocity": -1.0508652500000375, + "y_velocity": -0.31549294999998334, + "angular_velocity": 0.0, + "x_acceleration": 2.6970499999999333, + "y_acceleration": -1.153170000000034, + "angular_acceleration": 0.0 + }, + { + "time": 2.7499999999999853, + "x": 0.17730712890626543, + "y": 1.1085815429687547, + "angle": 0.0, + "x_velocity": -1.0236816406250382, + "y_velocity": -0.32690429687498346, + "angular_velocity": 0.0, + "x_acceleration": 2.738281249999943, + "y_acceleration": -1.1289062500000364, + "angular_acceleration": 0.0 + }, + { + "time": 2.759999999999985, + "x": 0.16720780800001478, + "y": 1.1052564736000052, + "angle": 0.0, + "x_velocity": -0.9961280000000423, + "y_velocity": -0.3380671999999836, + "angular_velocity": 0.0, + "x_acceleration": 2.770999999999958, + "y_acceleration": -1.1034800000000384, + "angular_acceleration": 0.0 + }, + { + "time": 2.769999999999985, + "x": 0.15738551334376483, + "y": 1.101821065981255, + "angle": 0.0, + "x_velocity": -0.968291140625043, + "y_velocity": -0.3489699968749839, + "angular_velocity": 0.0, + "x_acceleration": 2.7948687499999814, + "y_acceleration": -1.076883750000041, + "angular_acceleration": 0.0 + }, + { + "time": 2.7799999999999847, + "x": 0.14784262900001433, + "y": 1.0982779798000053, + "angle": 0.0, + "x_velocity": -0.9402612500000442, + "y_velocity": -0.35960094999998415, + "angular_velocity": 0.0, + "x_acceleration": 2.8095499999999944, + "y_acceleration": -1.0491100000000428, + "angular_acceleration": 0.0 + }, + { + "time": 2.7899999999999845, + "x": 0.13858062028126483, + "y": 1.094629992493756, + "angle": 0.0, + "x_velocity": -0.9121318906250462, + "y_velocity": -0.36994824687498423, + "angular_velocity": 0.0, + "x_acceleration": 2.814706249999997, + "y_acceleration": -1.020151250000046, + "angular_acceleration": 0.0 + }, + { + "time": 2.7999999999999843, + "x": 0.12960000000001426, + "y": 1.0908800000000063, + "angle": 0.0, + "x_velocity": -0.8840000000000439, + "y_velocity": -0.3799999999999843, + "angular_velocity": 0.0, + "x_acceleration": 2.8100000000000165, + "y_acceleration": -0.9900000000000483, + "angular_acceleration": 0.0 + }, + { + "time": 2.809999999999984, + "x": 0.12090029471876396, + "y": 1.0870310175062563, + "angle": 0.0, + "x_velocity": -0.8559658906250434, + "y_velocity": -0.38974424687498477, + "angular_velocity": 0.0, + "x_acceleration": 2.795093750000028, + "y_acceleration": -0.9586487500000511, + "angular_acceleration": 0.0 + }, + { + "time": 2.819999999999984, + "x": 0.11248001100001415, + "y": 1.0830861802000067, + "angle": 0.0, + "x_velocity": -0.8281332500000467, + "y_velocity": -0.3991689499999852, + "angular_velocity": 0.0, + "x_acceleration": 2.769650000000052, + "y_acceleration": -0.9260900000000537, + "angular_acceleration": 0.0 + }, + { + "time": 2.8299999999999836, + "x": 0.10433660165626257, + "y": 1.0790487440187564, + "angle": 0.0, + "x_velocity": -0.8006091406250437, + "y_velocity": -0.40826199687498554, + "angular_velocity": 0.0, + "x_acceleration": 2.733331250000063, + "y_acceleration": -0.8923162500000561, + "angular_acceleration": 0.0 + }, + { + "time": 2.8399999999999834, + "x": 0.09646643200001281, + "y": 1.074922086400007, + "angle": 0.0, + "x_velocity": -0.7735040000000435, + "y_velocity": -0.41701119999998587, + "angular_velocity": 0.0, + "x_acceleration": 2.6858000000000857, + "y_acceleration": -0.8573200000000588, + "angular_acceleration": 0.0 + }, + { + "time": 2.849999999999983, + "x": 0.08886474609376327, + "y": 1.0707097070312572, + "angle": 0.0, + "x_velocity": -0.7469316406250446, + "y_velocity": -0.42540429687498615, + "angular_velocity": 0.0, + "x_acceleration": 2.6267187500001015, + "y_acceleration": -0.821093750000062, + "angular_acceleration": 0.0 + }, + { + "time": 2.859999999999983, + "x": 0.08152563300001248, + "y": 1.0664152286000075, + "angle": 0.0, + "x_velocity": -0.7210092500000469, + "y_velocity": -0.4334289499999866, + "angular_velocity": 0.0, + "x_acceleration": 2.555750000000124, + "y_acceleration": -0.783630000000065, + "angular_acceleration": 0.0 + }, + { + "time": 2.869999999999983, + "x": 0.07444199303126209, + "y": 1.0620423975437576, + "angle": 0.0, + "x_velocity": -0.6958573906250418, + "y_velocity": -0.4410727468749873, + "angular_velocity": 0.0, + "x_acceleration": 2.472556250000153, + "y_acceleration": -0.7449212500000679, + "angular_acceleration": 0.0 + }, + { + "time": 2.8799999999999826, + "x": 0.06760550400001142, + "y": 1.0575950848000077, + "angle": 0.0, + "x_velocity": -0.6716000000000388, + "y_velocity": -0.4483231999999875, + "angular_velocity": 0.0, + "x_acceleration": 2.3768000000001805, + "y_acceleration": -0.7049600000000705, + "angular_acceleration": 0.0 + }, + { + "time": 2.8899999999999824, + "x": 0.061006587468761087, + "y": 1.053077286556258, + "angle": 0.0, + "x_velocity": -0.6483643906250407, + "y_velocity": -0.45516774687498823, + "angular_velocity": 0.0, + "x_acceleration": 2.2681437500002133, + "y_acceleration": -0.6637387500000738, + "angular_acceleration": 0.0 + }, + { + "time": 2.899999999999982, + "x": 0.05463437500001134, + "y": 1.0484931250000082, + "angle": 0.0, + "x_velocity": -0.6262812500000408, + "y_velocity": -0.461593749999989, + "angular_velocity": 0.0, + "x_acceleration": 2.1462500000002365, + "y_acceleration": -0.6212500000000767, + "angular_acceleration": 0.0 + }, + { + "time": 2.909999999999982, + "x": 0.04847667440626058, + "y": 1.0438468490687585, + "angle": 0.0, + "x_velocity": -0.6054846406250327, + "y_velocity": -0.4675884968749896, + "angular_velocity": 0.0, + "x_acceleration": 2.0107812500002495, + "y_acceleration": -0.5774862500000805, + "angular_acceleration": 0.0 + }, + { + "time": 2.9199999999999817, + "x": 0.04251993600000992, + "y": 1.0391428352000085, + "angle": 0.0, + "x_velocity": -0.5861120000000319, + "y_velocity": -0.4731391999999902, + "angular_velocity": 0.0, + "x_acceleration": 1.8614000000002875, + "y_acceleration": -0.5324400000000831, + "angular_acceleration": 0.0 + }, + { + "time": 2.9299999999999815, + "x": 0.036749218843760145, + "y": 1.034385588081259, + "angle": 0.0, + "x_velocity": -0.5683041406250275, + "y_velocity": -0.47823299687499093, + "angular_velocity": 0.0, + "x_acceleration": 1.6977687500003071, + "y_acceleration": -0.4861037500000869, + "angular_acceleration": 0.0 + }, + { + "time": 2.9399999999999813, + "x": 0.031148157000009835, + "y": 1.0295797414000092, + "angle": 0.0, + "x_velocity": -0.5522052500000267, + "y_velocity": -0.48285694999999196, + "angular_velocity": 0.0, + "x_acceleration": 1.5195500000003506, + "y_acceleration": -0.4384700000000905, + "angular_acceleration": 0.0 + }, + { + "time": 2.949999999999981, + "x": 0.025698925781260762, + "y": 1.024730058593759, + "angle": 0.0, + "x_velocity": -0.5379628906250247, + "y_velocity": -0.4869980468749926, + "angular_velocity": 0.0, + "x_acceleration": 1.3264062500003675, + "y_acceleration": -0.3895312500000938, + "angular_acceleration": 0.0 + }, + { + "time": 2.959999999999981, + "x": 0.020382208000009783, + "y": 1.0198414336000095, + "angle": 0.0, + "x_velocity": -0.5257280000000168, + "y_velocity": -0.4906431999999933, + "angular_velocity": 0.0, + "x_acceleration": 1.1180000000004071, + "y_acceleration": -0.3392800000000975, + "angular_acceleration": 0.0 + }, + { + "time": 2.9699999999999807, + "x": 0.015177160218760921, + "y": 1.0149188916062597, + "angle": 0.0, + "x_velocity": -0.5156548906250205, + "y_velocity": -0.49377924687499436, + "angular_velocity": 0.0, + "x_acceleration": 0.8939937500004547, + "y_acceleration": -0.28770875000010077, + "angular_acceleration": 0.0 + }, + { + "time": 2.9799999999999804, + "x": 0.010061379000009474, + "y": 1.0099675898000098, + "angle": 0.0, + "x_velocity": -0.507901250000014, + "y_velocity": -0.4963929499999954, + "angular_velocity": 0.0, + "x_acceleration": 0.6540500000004741, + "y_acceleration": -0.2348100000001052, + "angular_acceleration": 0.0 + }, + { + "time": 2.9899999999999802, + "x": 0.005010867156259202, + "y": 1.0049928181187597, + "angle": 0.0, + "x_velocity": -0.5026281406250028, + "y_velocity": -0.49847099687499635, + "angular_velocity": 0.0, + "x_acceleration": 0.39783125000051456, + "y_acceleration": -0.18057625000010868, + "angular_acceleration": 0.0 + }, + { + "time": 2.99999999999998, + "x": 1.021405182655144e-14, + "y": 1.00000000000001, + "angle": 0.0, + "x_velocity": -0.5, + "y_velocity": -0.49999999999999745, + "angular_velocity": 0.0, + "x_acceleration": 0.12500000000056843, + "y_acceleration": -0.12500000000011235, + "angular_acceleration": 0.0 + }, + { + "time": 3.00999999999998, + "x": -0.004990975481239944, + "y": 0.99498704518126, + "angle": 0.0, + "x_velocity": -0.49792142812500584, + "y_velocity": -0.5032507218749896, + "angular_velocity": 0.0, + "x_acceleration": 0.28920374999967746, + "y_acceleration": -0.5208637499992262, + "angular_acceleration": 0.0 + }, + { + "time": 3.0199999999999796, + "x": -0.009953105399989913, + "y": 0.9899222158000105, + "angle": 0.0, + "x_velocity": -0.49424585000000903, + "y_velocity": -0.5103325499999818, + "angular_velocity": 0.0, + "x_acceleration": 0.44442999999969224, + "y_acceleration": -0.8913099999992695, + "angular_acceleration": 0.0 + }, + { + "time": 3.0299999999999794, + "x": -0.014870865693739913, + "y": 0.9847684627937607, + "angle": 0.0, + "x_velocity": -0.4890621781250122, + "y_velocity": -0.5209939718749745, + "angular_velocity": 0.0, + "x_acceleration": 0.590851249999707, + "y_acceleration": -1.2368712499993124, + "angular_acceleration": 0.0 + }, + { + "time": 3.039999999999979, + "x": -0.01972961279998995, + "y": 0.9794912256000112, + "angle": 0.0, + "x_velocity": -0.4824576000000152, + "y_velocity": -0.5349887999999676, + "angular_velocity": 0.0, + "x_acceleration": 0.7286399999997217, + "y_acceleration": -1.5580799999993555, + "angular_acceleration": 0.0 + }, + { + "time": 3.049999999999979, + "x": -0.02451556640624001, + "y": 0.9740583789062616, + "angle": 0.0, + "x_velocity": -0.47451757812501805, + "y_velocity": -0.5520761718749609, + "angular_velocity": 0.0, + "x_acceleration": 0.8579687499997365, + "y_acceleration": -1.8554687499993985, + "angular_acceleration": 0.0 + }, + { + "time": 3.0599999999999787, + "x": -0.029215792199990105, + "y": 0.9684401794000123, + "angle": 0.0, + "x_velocity": -0.46532585000002086, + "y_velocity": -0.5720205499999548, + "angular_velocity": 0.0, + "x_acceleration": 0.9790099999997512, + "y_acceleration": -2.1295699999994415, + "angular_acceleration": 0.0 + }, + { + "time": 3.0699999999999785, + "x": -0.03381818461874023, + "y": 0.9626092125187627, + "angle": 0.0, + "x_velocity": -0.4549644281250234, + "y_velocity": -0.5945917218749489, + "angular_velocity": 0.0, + "x_acceleration": 1.0919362499997658, + "y_acceleration": -2.3809162499994843, + "angular_acceleration": 0.0 + }, + { + "time": 3.0799999999999783, + "x": -0.038311449599990374, + "y": 0.9565403392000135, + "angle": 0.0, + "x_velocity": -0.44351360000002593, + "y_velocity": -0.6195647999999435, + "angular_velocity": 0.0, + "x_acceleration": 1.1969199999997808, + "y_acceleration": -2.6100399999995267, + "angular_acceleration": 0.0 + }, + { + "time": 3.089999999999978, + "x": -0.04268508733124055, + "y": 0.9502106426312642, + "angle": 0.0, + "x_velocity": -0.43105192812502835, + "y_velocity": -0.6467202218749384, + "angular_velocity": 0.0, + "x_acceleration": 1.2941337499997951, + "y_acceleration": -2.817473749999569, + "angular_acceleration": 0.0 + }, + { + "time": 3.099999999999978, + "x": -0.04692937499999076, + "y": 0.9435993750000149, + "angle": 0.0, + "x_velocity": -0.4176562500000306, + "y_velocity": -0.6758437499999337, + "angular_velocity": 0.0, + "x_acceleration": 1.38374999999981, + "y_acceleration": -3.003749999999611, + "angular_acceleration": 0.0 + }, + { + "time": 3.1099999999999777, + "x": -0.05103534954374099, + "y": 0.9366879042437658, + "angle": 0.0, + "x_velocity": -0.40340167812503275, + "y_velocity": -0.7067264718749292, + "angular_velocity": 0.0, + "x_acceleration": 1.4659412499998246, + "y_acceleration": -3.169401249999653, + "angular_acceleration": 0.0 + }, + { + "time": 3.1199999999999775, + "x": -0.05499479039999124, + "y": 0.9294596608000167, + "angle": 0.0, + "x_velocity": -0.3883616000000347, + "y_velocity": -0.7391647999999252, + "angular_velocity": 0.0, + "x_acceleration": 1.5408799999998393, + "y_acceleration": -3.3149599999996937, + "angular_acceleration": 0.0 + }, + { + "time": 3.1299999999999772, + "x": -0.05880020225624152, + "y": 0.9219000843562676, + "angle": 0.0, + "x_velocity": -0.37260767812503665, + "y_velocity": -0.7729604718749218, + "angular_velocity": 0.0, + "x_acceleration": 1.6087387499998536, + "y_acceleration": -3.440958749999735, + "angular_acceleration": 0.0 + }, + { + "time": 3.139999999999977, + "x": -0.06244479779999181, + "y": 0.9139965706000186, + "angle": 0.0, + "x_velocity": -0.3562098500000383, + "y_velocity": -0.8079205499999186, + "angular_velocity": 0.0, + "x_acceleration": 1.6696899999998678, + "y_acceleration": -3.5479299999997758, + "angular_acceleration": 0.0 + }, + { + "time": 3.149999999999977, + "x": -0.06592248046874213, + "y": 0.9057384179687695, + "angle": 0.0, + "x_velocity": -0.33923632812504, + "y_velocity": -0.8438574218749157, + "angular_velocity": 0.0, + "x_acceleration": 1.723906249999882, + "y_acceleration": -3.6364062499998164, + "angular_acceleration": 0.0 + }, + { + "time": 3.1599999999999766, + "x": -0.06922782719999247, + "y": 0.8971167744000207, + "angle": 0.0, + "x_velocity": -0.32175360000004144, + "y_velocity": -0.8805887999999135, + "angular_velocity": 0.0, + "x_acceleration": 1.7715599999998963, + "y_acceleration": -3.7069199999998554, + "angular_acceleration": 0.0 + }, + { + "time": 3.1699999999999764, + "x": -0.07235607118124283, + "y": 0.8881245840812717, + "angle": 0.0, + "x_velocity": -0.3038264281250428, + "y_velocity": -0.9179377218749114, + "angular_velocity": 0.0, + "x_acceleration": 1.8128237499999098, + "y_acceleration": -3.7600037499998944, + "angular_acceleration": 0.0 + }, + { + "time": 3.179999999999976, + "x": -0.0753030845999932, + "y": 0.8787565342000228, + "angle": 0.0, + "x_velocity": -0.28551785000004404, + "y_velocity": -0.9557325499999096, + "angular_velocity": 0.0, + "x_acceleration": 1.847869999999924, + "y_acceleration": -3.796189999999934, + "angular_acceleration": 0.0 + }, + { + "time": 3.189999999999976, + "x": -0.0780653613937436, + "y": 0.8690090016937739, + "angle": 0.0, + "x_velocity": -0.2668891781250451, + "y_velocity": -0.9938069718749082, + "angular_velocity": 0.0, + "x_acceleration": 1.8768712499999372, + "y_acceleration": -3.8160112499999714, + "angular_acceleration": 0.0 + }, + { + "time": 3.1999999999999758, + "x": -0.08063999999999398, + "y": 0.8588800000000252, + "angle": 0.0, + "x_velocity": -0.24800000000004604, + "y_velocity": -1.0319999999999074, + "angular_velocity": 0.0, + "x_acceleration": 1.8999999999999508, + "y_acceleration": -3.820000000000009, + "angular_acceleration": 0.0 + }, + { + "time": 3.2099999999999755, + "x": -0.0830246861062444, + "y": 0.8483691258062762, + "angle": 0.0, + "x_velocity": -0.2289081781250469, + "y_velocity": -1.070155971874907, + "angular_velocity": 0.0, + "x_acceleration": 1.9174287499999645, + "y_acceleration": -3.8086887500000466, + "angular_acceleration": 0.0 + }, + { + "time": 3.2199999999999753, + "x": -0.08521767539999482, + "y": 0.8374775058000273, + "angle": 0.0, + "x_velocity": -0.20966985000004762, + "y_velocity": -1.1081245499999068, + "angular_velocity": 0.0, + "x_acceleration": 1.9293299999999776, + "y_acceleration": -3.782610000000081, + "angular_acceleration": 0.0 + }, + { + "time": 3.229999999999975, + "x": -0.08721777631874525, + "y": 0.8262077434187785, + "angle": 0.0, + "x_velocity": -0.1903394281250482, + "y_velocity": -1.1457607218749069, + "angular_velocity": 0.0, + "x_acceleration": 1.9358762499999909, + "y_acceleration": -3.742296250000118, + "angular_acceleration": 0.0 + }, + { + "time": 3.239999999999975, + "x": -0.08902433279999572, + "y": 0.8145638656000298, + "angle": 0.0, + "x_velocity": -0.17096960000004857, + "y_velocity": -1.1829247999999075, + "angular_velocity": 0.0, + "x_acceleration": 1.9372400000000023, + "y_acceleration": -3.6882800000001517, + "angular_acceleration": 0.0 + }, + { + "time": 3.2499999999999747, + "x": -0.09063720703124616, + "y": 0.8025512695312809, + "angle": 0.0, + "x_velocity": -0.15161132812504896, + "y_velocity": -1.2194824218749085, + "angular_velocity": 0.0, + "x_acceleration": 1.9335937500000155, + "y_acceleration": -3.6210937500001865, + "angular_acceleration": 0.0 + }, + { + "time": 3.2599999999999745, + "x": -0.09205676219999662, + "y": 0.7901766694000322, + "angle": 0.0, + "x_velocity": -0.13231385000004908, + "y_velocity": -1.2553045499999096, + "angular_velocity": 0.0, + "x_acceleration": 1.9251100000000279, + "y_acceleration": -3.54127000000022, + "angular_acceleration": 0.0 + }, + { + "time": 3.2699999999999743, + "x": -0.0932838452437471, + "y": 0.7774480431437831, + "angle": 0.0, + "x_velocity": -0.11312467812504923, + "y_velocity": -1.2902674718749114, + "angular_velocity": 0.0, + "x_acceleration": 1.9119612500000396, + "y_acceleration": -3.44934125000025, + "angular_acceleration": 0.0 + }, + { + "time": 3.279999999999974, + "x": -0.09431976959999755, + "y": 0.7643745792000344, + "angle": 0.0, + "x_velocity": -0.09408960000004925, + "y_velocity": -1.324252799999913, + "angular_velocity": 0.0, + "x_acceleration": 1.8943200000000513, + "y_acceleration": -3.345840000000285, + "angular_acceleration": 0.0 + }, + { + "time": 3.289999999999974, + "x": -0.09516629795624804, + "y": 0.7509666232562855, + "angle": 0.0, + "x_velocity": -0.07525267812504904, + "y_velocity": -1.3571474718749155, + "angular_velocity": 0.0, + "x_acceleration": 1.8723587500000631, + "y_acceleration": -3.2312987500003145, + "angular_acceleration": 0.0 + }, + { + "time": 3.2999999999999736, + "x": -0.0958256249999985, + "y": 0.7372356250000367, + "angle": 0.0, + "x_velocity": -0.05665625000004874, + "y_velocity": -1.388843749999918, + "angular_velocity": 0.0, + "x_acceleration": 1.8462500000000746, + "y_acceleration": -3.1062500000003443, + "angular_acceleration": 0.0 + }, + { + "time": 3.3099999999999734, + "x": -0.09630036016874899, + "y": 0.7231940848687877, + "angle": 0.0, + "x_velocity": -0.038340928125048315, + "y_velocity": -1.4192392218749208, + "angular_velocity": 0.0, + "x_acceleration": 1.816166250000086, + "y_acceleration": -2.9712262500003717, + "angular_acceleration": 0.0 + }, + { + "time": 3.319999999999973, + "x": -0.09659351039999947, + "y": 0.7088555008000388, + "angle": 0.0, + "x_velocity": -0.020345600000047745, + "y_velocity": -1.4482367999999246, + "angular_velocity": 0.0, + "x_acceleration": 1.7822800000000956, + "y_acceleration": -2.8267600000004, + "angular_acceleration": 0.0 + }, + { + "time": 3.329999999999973, + "x": -0.09670846288124994, + "y": 0.6942343149812898, + "angle": 0.0, + "x_velocity": -0.0027074281250471927, + "y_velocity": -1.4757447218749278, + "angular_velocity": 0.0, + "x_acceleration": 1.7447637500001065, + "y_acceleration": -2.673383750000427, + "angular_acceleration": 0.0 + }, + { + "time": 3.3399999999999728, + "x": -0.09664896780000039, + "y": 0.6793458606000409, + "angle": 0.0, + "x_velocity": 0.014538149999953467, + "y_velocity": -1.5016765499999316, + "angular_velocity": 0.0, + "x_acceleration": 1.703790000000117, + "y_acceleration": -2.5116300000004523, + "angular_acceleration": 0.0 + }, + { + "time": 3.3499999999999726, + "x": -0.09641912109375084, + "y": 0.6642063085937919, + "angle": 0.0, + "x_velocity": 0.031357421874954605, + "y_velocity": -1.5259511718749357, + "angular_velocity": 0.0, + "x_acceleration": 1.6595312500001265, + "y_acceleration": -2.342031250000475, + "angular_acceleration": 0.0 + }, + { + "time": 3.3599999999999723, + "x": -0.09602334720000133, + "y": 0.6488326144000428, + "angle": 0.0, + "x_velocity": 0.047718399999955516, + "y_velocity": -1.5484927999999407, + "angular_velocity": 0.0, + "x_acceleration": 1.6121600000001346, + "y_acceleration": -2.165120000000499, + "angular_acceleration": 0.0 + }, + { + "time": 3.369999999999972, + "x": -0.09546638180625178, + "y": 0.6332424647062938, + "angle": 0.0, + "x_velocity": 0.06359082187495646, + "y_velocity": -1.5692309718749446, + "angular_velocity": 0.0, + "x_acceleration": 1.5618487500001443, + "y_acceleration": -1.9814287500005223, + "angular_acceleration": 0.0 + }, + { + "time": 3.379999999999972, + "x": -0.0947532546000022, + "y": 0.6174542242000446, + "angle": 0.0, + "x_velocity": 0.07894614999995772, + "y_velocity": -1.5881005499999503, + "angular_velocity": 0.0, + "x_acceleration": 1.5087700000001525, + "y_acceleration": -1.7914900000005414, + "angular_acceleration": 0.0 + }, + { + "time": 3.3899999999999717, + "x": -0.09388927201875269, + "y": 0.6014868823187954, + "angle": 0.0, + "x_velocity": 0.09375757187495887, + "y_velocity": -1.6050417218749546, + "angular_velocity": 0.0, + "x_acceleration": 1.4530962500001618, + "y_acceleration": -1.5958362500005645, + "angular_acceleration": 0.0 + }, + { + "time": 3.3999999999999715, + "x": -0.09288000000000309, + "y": 0.5853600000000462, + "angle": 0.0, + "x_velocity": 0.10799999999996024, + "y_velocity": -1.6199999999999601, + "angular_velocity": 0.0, + "x_acceleration": 1.3950000000001683, + "y_acceleration": -1.3950000000005796, + "angular_acceleration": 0.0 + }, + { + "time": 3.4099999999999713, + "x": -0.09173124673125355, + "y": 0.569093656431297, + "angle": 0.0, + "x_velocity": 0.12165007187496196, + "y_velocity": -1.6329262218749665, + "angular_velocity": 0.0, + "x_acceleration": 1.334653750000176, + "y_acceleration": -1.1895137500005974, + "angular_acceleration": 0.0 + }, + { + "time": 3.419999999999971, + "x": -0.09044904540000392, + "y": 0.5527083958000475, + "angle": 0.0, + "x_velocity": 0.13468614999996323, + "y_velocity": -1.6437765499999717, + "angular_velocity": 0.0, + "x_acceleration": 1.2722300000001838, + "y_acceleration": -0.9799100000006105, + "angular_acceleration": 0.0 + }, + { + "time": 3.429999999999971, + "x": -0.08903963694375427, + "y": 0.5362251740437983, + "angle": 0.0, + "x_velocity": 0.14708832187496465, + "y_velocity": -1.6525124718749775, + "angular_velocity": 0.0, + "x_acceleration": 1.2079012500001927, + "y_acceleration": -0.7667212500006313, + "angular_acceleration": 0.0 + }, + { + "time": 3.4399999999999706, + "x": -0.08750945280000468, + "y": 0.5196653056000489, + "angle": 0.0, + "x_velocity": 0.15883839999996663, + "y_velocity": -1.659100799999984, + "angular_velocity": 0.0, + "x_acceleration": 1.141840000000196, + "y_acceleration": -0.5504800000006362, + "angular_acceleration": 0.0 + }, + { + "time": 3.4499999999999704, + "x": -0.08586509765625505, + "y": 0.5030504101562993, + "angle": 0.0, + "x_velocity": 0.16991992187496824, + "y_velocity": -1.6635136718749899, + "angular_velocity": 0.0, + "x_acceleration": 1.0742187500002034, + "y_acceleration": -0.3317187500006522, + "angular_acceleration": 0.0 + }, + { + "time": 3.45999999999997, + "x": -0.08411333220000536, + "y": 0.48640235940004967, + "angle": 0.0, + "x_velocity": 0.18031814999997015, + "y_velocity": -1.6657285499999965, + "angular_velocity": 0.0, + "x_acceleration": 1.0052100000002082, + "y_acceleration": -0.11097000000066437, + "angular_acceleration": 0.0 + }, + { + "time": 3.46999999999997, + "x": -0.08226105586875573, + "y": 0.46974322376879996, + "angle": 0.0, + "x_velocity": 0.190020071874972, + "y_velocity": -1.6657282218750031, + "angular_velocity": 0.0, + "x_acceleration": 0.9349862500002133, + "y_acceleration": 0.11123374999933056, + "angular_acceleration": 0.0 + }, + { + "time": 3.47999999999997, + "x": -0.08031528960000603, + "y": 0.4530952192000503, + "angle": 0.0, + "x_velocity": 0.19901439999997406, + "y_velocity": -1.6635008000000107, + "angular_velocity": 0.0, + "x_acceleration": 0.8637200000002152, + "y_acceleration": 0.33435999999932875, + "angular_acceleration": 0.0 + }, + { + "time": 3.4899999999999696, + "x": -0.07828315858125634, + "y": 0.4364806538813005, + "angle": 0.0, + "x_velocity": 0.20729157187497582, + "y_velocity": -1.6590397218750164, + "angular_velocity": 0.0, + "x_acceleration": 0.7915837500002221, + "y_acceleration": 0.5578762499993175, + "angular_acceleration": 0.0 + }, + { + "time": 3.4999999999999694, + "x": -0.07617187500000658, + "y": 0.4199218750000506, + "angle": 0.0, + "x_velocity": 0.21484374999997802, + "y_velocity": -1.6523437500000242, + "angular_velocity": 0.0, + "x_acceleration": 0.7187500000002238, + "y_acceleration": 0.7812499999993143, + "angular_acceleration": 0.0 + }, + { + "time": 3.509999999999969, + "x": -0.07398872079375682, + "y": 0.4034412154938005, + "angle": 0.0, + "x_velocity": 0.22166482187498027, + "y_velocity": -1.6434169718750313, + "angular_velocity": 0.0, + "x_acceleration": 0.645391250000225, + "y_acceleration": 1.0039487499993154, + "angular_acceleration": 0.0 + }, + { + "time": 3.519999999999969, + "x": -0.07174103040000712, + "y": 0.3870609408000507, + "angle": 0.0, + "x_velocity": 0.22775039999998248, + "y_velocity": -1.6322688000000383, + "angular_velocity": 0.0, + "x_acceleration": 0.5716800000002298, + "y_acceleration": 1.2254399999993115, + "angular_acceleration": 0.0 + }, + { + "time": 3.5299999999999687, + "x": -0.06943617350625722, + "y": 0.3708031956063005, + "angle": 0.0, + "x_velocity": 0.2330978218749844, + "y_velocity": -1.6189139718750445, + "angular_velocity": 0.0, + "x_acceleration": 0.4977887500002316, + "y_acceleration": 1.445191249999315, + "angular_acceleration": 0.0 + }, + { + "time": 3.5399999999999685, + "x": -0.06708153780000747, + "y": 0.3546899506000505, + "angle": 0.0, + "x_velocity": 0.2377061499999864, + "y_velocity": -1.603372550000053, + "angular_velocity": 0.0, + "x_acceleration": 0.4238900000002328, + "y_acceleration": 1.6626699999993235, + "angular_acceleration": 0.0 + }, + { + "time": 3.5499999999999683, + "x": -0.0646845117187577, + "y": 0.33874294921880027, + "angle": 0.0, + "x_velocity": 0.24157617187498903, + "y_velocity": -1.5856699218750592, + "angular_velocity": 0.0, + "x_acceleration": 0.350156250000234, + "y_acceleration": 1.8773437499993229, + "angular_acceleration": 0.0 + }, + { + "time": 3.559999999999968, + "x": -0.06225246720000781, + "y": 0.3229836544000501, + "angle": 0.0, + "x_velocity": 0.24471039999999133, + "y_velocity": -1.565836800000067, + "angular_velocity": 0.0, + "x_acceleration": 0.27676000000023304, + "y_acceleration": 2.088679999999327, + "angular_acceleration": 0.0 + }, + { + "time": 3.569999999999968, + "x": -0.059792742431257956, + "y": 0.30743319533129937, + "angle": 0.0, + "x_velocity": 0.24711307187499365, + "y_velocity": -1.543909221875074, + "angular_velocity": 0.0, + "x_acceleration": 0.20387375000023233, + "y_acceleration": 2.296146249999346, + "angular_acceleration": 0.0 + }, + { + "time": 3.5799999999999677, + "x": -0.057312624600008064, + "y": 0.29211231420004913, + "angle": 0.0, + "x_velocity": 0.2487901499999955, + "y_velocity": -1.5199285500000803, + "angular_velocity": 0.0, + "x_acceleration": 0.13167000000023332, + "y_acceleration": 2.499209999999348, + "angular_acceleration": 0.0 + }, + { + "time": 3.5899999999999674, + "x": -0.054819332643758156, + "y": 0.2770413129437989, + "angle": 0.0, + "x_velocity": 0.24974932187499843, + "y_velocity": -1.4939414718750883, + "angular_velocity": 0.0, + "x_acceleration": 0.0603212500002277, + "y_acceleration": 2.6973387499993677, + "angular_acceleration": 0.0 + }, + { + "time": 3.5999999999999672, + "x": -0.05232000000000818, + "y": 0.262240000000048, + "angle": 0.0, + "x_velocity": 0.24999999999999978, + "y_velocity": -1.4660000000000943, + "angular_velocity": 0.0, + "x_acceleration": -0.009999999999770637, + "y_acceleration": 2.8899999999993717, + "angular_acceleration": 0.0 + }, + { + "time": 3.609999999999967, + "x": -0.04982165735625829, + "y": 0.24772763705629752, + "angle": 0.0, + "x_velocity": 0.24955332187500312, + "y_velocity": -1.436161471875102, + "angular_velocity": 0.0, + "x_acceleration": -0.0791212499997771, + "y_acceleration": 3.0766612499993933, + "angular_acceleration": 0.0 + }, + { + "time": 3.619999999999967, + "x": -0.047331215400008286, + "y": 0.2335228858000466, + "angle": 0.0, + "x_velocity": 0.24842215000000478, + "y_velocity": -1.4044885500001083, + "angular_velocity": 0.0, + "x_acceleration": -0.14686999999977957, + "y_acceleration": 3.2567899999994125, + "angular_acceleration": 0.0 + }, + { + "time": 3.6299999999999666, + "x": -0.0448554475687582, + "y": 0.21964375466879577, + "angle": 0.0, + "x_velocity": 0.24662107187500726, + "y_velocity": -1.3710492218751131, + "angular_velocity": 0.0, + "x_acceleration": -0.2130737499997819, + "y_acceleration": 3.429853749999438, + "angular_acceleration": 0.0 + }, + { + "time": 3.6399999999999664, + "x": -0.04240097280000829, + "y": 0.20610754560004518, + "angle": 0.0, + "x_velocity": 0.24416640000000878, + "y_velocity": -1.3359168000001218, + "angular_velocity": 0.0, + "x_acceleration": -0.277559999999788, + "y_acceleration": 3.5953199999994574, + "angular_acceleration": 0.0 + }, + { + "time": 3.649999999999966, + "x": -0.039974238281258234, + "y": 0.1929308007812942, + "angle": 0.0, + "x_velocity": 0.24107617187501185, + "y_velocity": -1.2991699218751274, + "angular_velocity": 0.0, + "x_acceleration": -0.3401562499997919, + "y_acceleration": 3.7526562499994895, + "angular_acceleration": 0.0 + }, + { + "time": 3.659999999999966, + "x": -0.03758150220000803, + "y": 0.1801292494000426, + "angle": 0.0, + "x_velocity": 0.23737015000001294, + "y_velocity": -1.2608925500001327, + "angular_velocity": 0.0, + "x_acceleration": -0.4006899999997948, + "y_acceleration": 3.9013299999995006, + "angular_acceleration": 0.0 + }, + { + "time": 3.6699999999999657, + "x": -0.035228816493758086, + "y": 0.16771775439379188, + "angle": 0.0, + "x_velocity": 0.23306982187501624, + "y_velocity": -1.2211739718751398, + "angular_velocity": 0.0, + "x_acceleration": -0.458988749999806, + "y_acceleration": 4.040808749999535, + "angular_acceleration": 0.0 + }, + { + "time": 3.6799999999999655, + "x": -0.03292200960000774, + "y": 0.15571025920004067, + "angle": 0.0, + "x_velocity": 0.22819840000001812, + "y_velocity": -1.180108800000145, + "angular_velocity": 0.0, + "x_acceleration": -0.5148799999998115, + "y_acceleration": 4.1705599999995755, + "angular_acceleration": 0.0 + }, + { + "time": 3.6899999999999653, + "x": -0.030666669206257824, + "y": 0.1441197345062898, + "angle": 0.0, + "x_velocity": 0.22278082187502024, + "y_velocity": -1.13779697187515, + "angular_velocity": 0.0, + "x_acceleration": -0.5681912499998187, + "y_acceleration": 4.290051249999603, + "angular_acceleration": 0.0 + }, + { + "time": 3.699999999999965, + "x": -0.028468125000007588, + "y": 0.13295812500003845, + "angle": 0.0, + "x_velocity": 0.21684375000002154, + "y_velocity": -1.094343750000152, + "angular_velocity": 0.0, + "x_acceleration": -0.6187499999998316, + "y_acceleration": 4.398749999999641, + "angular_acceleration": 0.0 + }, + { + "time": 3.709999999999965, + "x": -0.026331431418757212, + "y": 0.12223629611878684, + "angle": 0.0, + "x_velocity": 0.21041557187502402, + "y_velocity": -1.0498597218751584, + "angular_velocity": 0.0, + "x_acceleration": -0.6663837499998415, + "y_acceleration": 4.49612374999969, + "angular_acceleration": 0.0 + }, + { + "time": 3.7199999999999647, + "x": -0.024261350400007042, + "y": 0.11196398080003478, + "angle": 0.0, + "x_velocity": 0.2035264000000241, + "y_velocity": -1.0044608000001611, + "angular_velocity": 0.0, + "x_acceleration": -0.710919999999847, + "y_acceleration": 4.581639999999723, + "angular_acceleration": 0.0 + }, + { + "time": 3.7299999999999645, + "x": -0.022262334131257, + "y": 0.10214972623128382, + "angle": 0.0, + "x_velocity": 0.19620807187502587, + "y_velocity": -0.9582682218751639, + "angular_velocity": 0.0, + "x_acceleration": -0.7521862499998573, + "y_acceleration": 4.654766249999753, + "angular_acceleration": 0.0 + }, + { + "time": 3.7399999999999642, + "x": -0.020338507800006678, + "y": 0.09280084060003191, + "angle": 0.0, + "x_velocity": 0.1884941500000279, + "y_velocity": -0.9114085500001687, + "angular_velocity": 0.0, + "x_acceleration": -0.7900099999998691, + "y_acceleration": 4.714969999999809, + "angular_acceleration": 0.0 + }, + { + "time": 3.749999999999964, + "x": -0.018493652343756495, + "y": 0.08392333984378131, + "angle": 0.0, + "x_velocity": 0.1804199218750293, + "y_velocity": -0.8640136718751714, + "angular_velocity": 0.0, + "x_acceleration": -0.8242187499998828, + "y_acceleration": 4.761718749999851, + "angular_acceleration": 0.0 + }, + { + "time": 3.759999999999964, + "x": -0.016731187200006103, + "y": 0.07552189440002932, + "angle": 0.0, + "x_velocity": 0.17202240000003055, + "y_velocity": -0.8162208000001714, + "angular_velocity": 0.0, + "x_acceleration": -0.854639999999895, + "y_acceleration": 4.794479999999908, + "angular_acceleration": 0.0 + }, + { + "time": 3.7699999999999636, + "x": -0.015054153056255959, + "y": 0.06759977595627809, + "angle": 0.0, + "x_velocity": 0.16334032187503222, + "y_velocity": -0.768172471875177, + "angular_velocity": 0.0, + "x_acceleration": -0.8811012499999116, + "y_acceleration": 4.812721249999953, + "angular_acceleration": 0.0 + }, + { + "time": 3.7799999999999634, + "x": -0.013465194600005725, + "y": 0.060158804200026283, + "angle": 0.0, + "x_velocity": 0.15441415000003378, + "y_velocity": -0.7200165500001763, + "angular_velocity": 0.0, + "x_acceleration": -0.9034299999999273, + "y_acceleration": 4.815910000000017, + "angular_acceleration": 0.0 + }, + { + "time": 3.789999999999963, + "x": -0.011966543268755292, + "y": 0.05319929356877462, + "angle": 0.0, + "x_velocity": 0.1452860718750335, + "y_velocity": -0.6719062218751795, + "angular_velocity": 0.0, + "x_acceleration": -0.9214537499999427, + "y_acceleration": 4.8035137500000715, + "angular_acceleration": 0.0 + }, + { + "time": 3.799999999999963, + "x": -0.010560000000005176, + "y": 0.046720000000023854, + "angle": 0.0, + "x_velocity": 0.1360000000000361, + "y_velocity": -0.62400000000018, + "angular_velocity": 0.0, + "x_acceleration": -0.9349999999999614, + "y_acceleration": 4.775000000000141, + "angular_acceleration": 0.0 + }, + { + "time": 3.8099999999999627, + "x": -0.009246917981254987, + "y": 0.04071806768127151, + "angle": 0.0, + "x_velocity": 0.12660157187503573, + "y_velocity": -0.5764617218751766, + "angular_velocity": 0.0, + "x_acceleration": -0.9438962499999768, + "y_acceleration": 4.72983625000019, + "angular_acceleration": 0.0 + }, + { + "time": 3.8199999999999625, + "x": -0.008028185400004273, + "y": 0.03518897580001967, + "angle": 0.0, + "x_velocity": 0.11713815000003658, + "y_velocity": -0.5294605500001754, + "angular_velocity": 0.0, + "x_acceleration": -0.9479699999999944, + "y_acceleration": 4.667490000000271, + "angular_acceleration": 0.0 + }, + { + "time": 3.8299999999999623, + "x": -0.006904208193754258, + "y": 0.030126485293767935, + "angle": 0.0, + "x_velocity": 0.10765882187503673, + "y_velocity": -0.4831709718751718, + "angular_velocity": 0.0, + "x_acceleration": -0.9470487500000146, + "y_acceleration": 4.587428750000335, + "angular_acceleration": 0.0 + }, + { + "time": 3.839999999999962, + "x": -0.005874892800003639, + "y": 0.02552258560001608, + "angle": 0.0, + "x_velocity": 0.09821440000003445, + "y_velocity": -0.4377728000001664, + "angular_velocity": 0.0, + "x_acceleration": -0.9409600000000289, + "y_acceleration": 4.489120000000398, + "angular_acceleration": 0.0 + }, + { + "time": 3.849999999999962, + "x": -0.004939628906253213, + "y": 0.02136744140626523, + "angle": 0.0, + "x_velocity": 0.08885742187503443, + "y_velocity": -0.39345117187516543, + "angular_velocity": 0.0, + "x_acceleration": -0.9295312500000463, + "y_acceleration": 4.372031250000475, + "angular_acceleration": 0.0 + }, + { + "time": 3.8599999999999617, + "x": -0.004097272200002999, + "y": 0.01764933940001301, + "angle": 0.0, + "x_velocity": 0.07964215000003572, + "y_velocity": -0.3503965500001609, + "angular_velocity": 0.0, + "x_acceleration": -0.9125900000000762, + "y_acceleration": 4.235630000000548, + "angular_acceleration": 0.0 + }, + { + "time": 3.8699999999999615, + "x": -0.0033461271187525954, + "y": 0.014354635018761552, + "angle": 0.0, + "x_velocity": 0.07062457187503579, + "y_velocity": -0.30880472187516084, + "angular_velocity": 0.0, + "x_acceleration": -0.8899637500000992, + "y_acceleration": 4.079383750000645, + "angular_acceleration": 0.0 + }, + { + "time": 3.8799999999999613, + "x": -0.0026839296000024104, + "y": 0.011467699200010895, + "angle": 0.0, + "x_velocity": 0.061862400000032736, + "y_velocity": -0.26887680000015024, + "angular_velocity": 0.0, + "x_acceleration": -0.861480000000121, + "y_acceleration": 3.9027600000007325, + "angular_acceleration": 0.0 + }, + { + "time": 3.889999999999961, + "x": -0.0021078298312523502, + "y": 0.008970865131259664, + "angle": 0.0, + "x_velocity": 0.05341507187503325, + "y_velocity": -0.2308192218751497, + "angular_velocity": 0.0, + "x_acceleration": -0.8269662500001473, + "y_acceleration": 3.7052262500008197, + "angular_acceleration": 0.0 + }, + { + "time": 3.899999999999961, + "x": -0.0016143750000019441, + "y": 0.006844375000008007, + "angle": 0.0, + "x_velocity": 0.04534375000003177, + "y_velocity": -0.1948437500001372, + "angular_velocity": 0.0, + "x_acceleration": -0.7862500000001731, + "y_acceleration": 3.4862500000008936, + "angular_acceleration": 0.0 + }, + { + "time": 3.9099999999999606, + "x": -0.0011994920437515821, + "y": 0.005066326743757621, + "angle": 0.0, + "x_velocity": 0.03771132187502868, + "y_velocity": -0.16116747187513347, + "angular_velocity": 0.0, + "x_acceleration": -0.7391587500002039, + "y_acceleration": 3.245298750000984, + "angular_acceleration": 0.0 + }, + { + "time": 3.9199999999999604, + "x": -0.0008584704000007548, + "y": 0.0036126208000051285, + "angle": 0.0, + "x_velocity": 0.03058240000002499, + "y_velocity": -0.1300128000001184, + "angular_velocity": 0.0, + "x_acceleration": -0.6855200000002206, + "y_acceleration": 2.9818400000010854, + "angular_acceleration": 0.0 + }, + { + "time": 3.92999999999996, + "x": -0.0005859447562510667, + "y": 0.002456906856253216, + "angle": 0.0, + "x_velocity": 0.024023321875024095, + "y_velocity": -0.10160747187510921, + "angular_velocity": 0.0, + "x_acceleration": -0.6251612500002572, + "y_acceleration": 2.695341250001192, + "angular_acceleration": 0.0 + }, + { + "time": 3.93999999999996, + "x": -0.00037587780000070126, + "y": 0.0015705306000040054, + "angle": 0.0, + "x_velocity": 0.018102150000021133, + "y_velocity": -0.0761845500000966, + "angular_velocity": 0.0, + "x_acceleration": -0.5579100000002839, + "y_acceleration": 2.3852700000012845, + "angular_acceleration": 0.0 + }, + { + "time": 3.9499999999999598, + "x": -0.00022154296875043222, + "y": 0.000922480468751985, + "angle": 0.0, + "x_velocity": 0.012888671875018964, + "y_velocity": -0.05398242187508373, + "angular_velocity": 0.0, + "x_acceleration": -0.48359375000031335, + "y_acceleration": 2.0510937500013853, + "angular_acceleration": 0.0 + }, + { + "time": 3.9599999999999596, + "x": -0.00011550720000053083, + "y": 0.00047933440000225147, + "angle": 0.0, + "x_velocity": 0.008454400000015738, + "y_velocity": -0.03524480000006491, + "angular_velocity": 0.0, + "x_acceleration": -0.4020400000003441, + "y_acceleration": 1.6922800000015172, + "angular_acceleration": 0.0 + }, + { + "time": 3.9699999999999593, + "x": -0.000049613681249782715, + "y": 0.00020520658125011693, + "angle": 0.0, + "x_velocity": 0.0048725718750119995, + "y_velocity": -0.020220721875055858, + "angular_velocity": 0.0, + "x_acceleration": -0.31307625000038186, + "y_acceleration": 1.308296250001618, + "angular_acceleration": 0.0 + }, + { + "time": 3.979999999999959, + "x": -0.000014964600000277883, + "y": 0.00006169419999935144, + "angle": 0.0, + "x_velocity": 0.0022181500000080234, + "y_velocity": -0.009164550000029692, + "angular_velocity": 0.0, + "x_acceleration": -0.21653000000040734, + "y_acceleration": 0.8986100000017245, + "angular_acceleration": 0.0 + }, + { + "time": 3.989999999999959, + "x": -0.0000019038937502102726, + "y": 0.000007824193749783603, + "angle": 0.0, + "x_velocity": 0.0005678218750047037, + "y_velocity": -0.002335971875019993, + "angular_velocity": 0.0, + "x_acceleration": -0.11222875000045462, + "y_acceleration": 0.4626887500018597, + "angular_acceleration": 0.0 + }, + { + "time": 3.9999999999999587, + "x": -2.220446049250313e-16, + "y": -8.881784197001252e-16, + "angle": 0.0, + "x_velocity": 8.881784197001252e-16, + "y_velocity": 0.0, + "angular_velocity": 0.0, + "x_acceleration": -4.796163466380676e-13, + "y_acceleration": 1.9753088054130785e-12, + "angular_acceleration": 0.0 + } + ] +} \ No newline at end of file diff --git a/src/main/deploy/Paths/test.polarpath b/src/main/deploy/Paths/test.polarpath new file mode 100644 index 0000000..ab3557b --- /dev/null +++ b/src/main/deploy/Paths/test.polarpath @@ -0,0 +1 @@ +{"meta_data":{"path_name":"Test","sample_rate":0.01,"robot_name":"Chassis","field_name":"reefscape-updated"},"commands":[{"start":3.0,"end":6.0,"command":{"start":3.0,"end":6.0,"name":"Command1"}}],"key_points":[{"index":0,"delta_time":0.0,"time":0.0,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"index":1,"delta_time":1.0,"time":1.0,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"index":2,"delta_time":2.0,"time":2.0,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"index":3,"delta_time":3.0,"time":3.0,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"index":4,"delta_time":4.0,"time":4.0,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"index":5,"delta_time":5.0,"time":5.0,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"index":6,"delta_time":6.0,"time":6.0,"x":4.79496305732484,"y":2.0293345426902687,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"index":7,"delta_time":7.0,"time":7.0,"x":7.242741401273885,"y":3.200562883570278,"angle":0.0,"x_velocity":1.6430292993630577,"y_velocity":-0.4071412804011463,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"index":8,"delta_time":8.0,"time":8.0,"x":8.081021656050956,"y":1.2150519818879761,"angle":0.0,"x_velocity":-0.4806140127388536,"y_velocity":-0.9537145061451506,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"index":9,"delta_time":9.0,"time":9.0,"x":6.281513375796178,"y":1.2931338712799767,"angle":0.0,"x_velocity":-1.061821656050956,"y_velocity":1.344123953105154,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"index":10,"delta_time":10.0,"time":10.0,"x":5.957378343949044,"y":3.9032998880982843,"angle":0.0,"x_velocity":1.469784713375796,"y_velocity":1.7345334000651575,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"index":11,"delta_time":11.0,"time":11.0,"x":9.22108280254777,"y":4.762200671410292,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0}],"sampled_points":[{"time":0.0,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.01,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.02,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.03,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.04,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.05,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.060000000000000005,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.07,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.08,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.09,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.09999999999999999,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.10999999999999999,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.11999999999999998,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.12999999999999998,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.13999999999999999,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.15,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.16,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.17,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.18000000000000002,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.19000000000000003,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.20000000000000004,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.21000000000000005,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.22000000000000006,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.23000000000000007,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.24000000000000007,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.25000000000000006,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.26000000000000006,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.2700000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.2800000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.2900000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.3000000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.3100000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.3200000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.3300000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.34000000000000014,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.35000000000000014,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.36000000000000015,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.37000000000000016,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.38000000000000017,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.3900000000000002,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.4000000000000002,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.4100000000000002,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.4200000000000002,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.4300000000000002,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.4400000000000002,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.45000000000000023,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.46000000000000024,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.47000000000000025,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.48000000000000026,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.49000000000000027,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.5000000000000002,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.5100000000000002,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.5200000000000002,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.5300000000000002,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.5400000000000003,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.5500000000000003,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.5600000000000003,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.5700000000000003,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.5800000000000003,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.5900000000000003,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.6000000000000003,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.6100000000000003,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.6200000000000003,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.6300000000000003,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.6400000000000003,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.6500000000000004,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.6600000000000004,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.6700000000000004,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.6800000000000004,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.6900000000000004,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.7000000000000004,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.7100000000000004,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.7200000000000004,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.7300000000000004,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.7400000000000004,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.7500000000000004,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.7600000000000005,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.7700000000000005,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.7800000000000005,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.7900000000000005,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.8000000000000005,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.8100000000000005,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.8200000000000005,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.8300000000000005,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.8400000000000005,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.8500000000000005,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.8600000000000005,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.8700000000000006,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.8800000000000006,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.8900000000000006,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.9000000000000006,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.9100000000000006,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.9200000000000006,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.9300000000000006,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.9400000000000006,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.9500000000000006,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.9600000000000006,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.9700000000000006,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.9800000000000006,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":0.9900000000000007,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.0000000000000007,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.0100000000000007,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.0200000000000007,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.0300000000000007,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.0400000000000007,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.0500000000000007,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.0600000000000007,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.0700000000000007,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.0800000000000007,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.0900000000000007,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.1000000000000008,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.1100000000000008,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.1200000000000008,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.1300000000000008,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.1400000000000008,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.1500000000000008,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.1600000000000008,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.1700000000000008,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.1800000000000008,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.1900000000000008,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.2000000000000008,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.2100000000000009,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.2200000000000009,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.2300000000000009,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.2400000000000009,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.2500000000000009,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.260000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.270000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.280000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.290000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.300000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.310000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.320000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.330000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.340000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.350000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.360000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.370000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.380000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.390000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.400000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.410000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.420000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.430000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.440000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.450000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.460000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.470000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.480000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.490000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.500000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.5100000000000011,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.5200000000000011,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.5300000000000011,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.5400000000000011,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.5500000000000012,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.5600000000000012,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.5700000000000012,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.5800000000000012,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.5900000000000012,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.6000000000000012,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.6100000000000012,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.6200000000000012,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.6300000000000012,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.6400000000000012,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.6500000000000012,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.6600000000000013,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.6700000000000013,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.6800000000000013,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.6900000000000013,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.7000000000000013,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.7100000000000013,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.7200000000000013,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.7300000000000013,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.7400000000000013,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.7500000000000013,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.7600000000000013,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.7700000000000014,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.7800000000000014,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.7900000000000014,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.8000000000000014,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.8100000000000014,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.8200000000000014,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.8300000000000014,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.8400000000000014,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.8500000000000014,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.8600000000000014,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.8700000000000014,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.8800000000000014,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.8900000000000015,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.9000000000000015,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.9100000000000015,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.9200000000000015,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.9300000000000015,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.9400000000000015,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.9500000000000015,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.9600000000000015,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.9700000000000015,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.9800000000000015,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":1.9900000000000015,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.0000000000000013,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.010000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.020000000000001,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.0300000000000007,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.0400000000000005,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.0500000000000003,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.06,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.07,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.0799999999999996,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.0899999999999994,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.099999999999999,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.109999999999999,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.1199999999999988,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.1299999999999986,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.1399999999999983,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.149999999999998,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.159999999999998,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.1699999999999977,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.1799999999999975,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.1899999999999973,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.199999999999997,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.209999999999997,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.2199999999999966,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.2299999999999964,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.239999999999996,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.249999999999996,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.259999999999996,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.2699999999999956,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.2799999999999954,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.289999999999995,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.299999999999995,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.3099999999999947,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.3199999999999945,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.3299999999999943,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.339999999999994,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.349999999999994,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.3599999999999937,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.3699999999999934,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.3799999999999932,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.389999999999993,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.399999999999993,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.4099999999999926,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.4199999999999924,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.429999999999992,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.439999999999992,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.4499999999999917,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.4599999999999915,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.4699999999999913,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.479999999999991,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.489999999999991,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.4999999999999907,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.5099999999999905,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.5199999999999902,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.52999999999999,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.53999999999999,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.5499999999999896,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.5599999999999894,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.569999999999989,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.579999999999989,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.5899999999999888,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.5999999999999885,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.6099999999999883,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.619999999999988,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.629999999999988,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.6399999999999877,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.6499999999999875,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.6599999999999873,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.669999999999987,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.679999999999987,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.6899999999999866,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.6999999999999864,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.709999999999986,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.719999999999986,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.7299999999999858,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.7399999999999856,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.7499999999999853,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.759999999999985,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.769999999999985,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.7799999999999847,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.7899999999999845,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.7999999999999843,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.809999999999984,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.819999999999984,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.8299999999999836,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.8399999999999834,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.849999999999983,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.859999999999983,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.869999999999983,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.8799999999999826,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.8899999999999824,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.899999999999982,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.909999999999982,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.9199999999999817,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.9299999999999815,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.9399999999999813,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.949999999999981,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.959999999999981,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.9699999999999807,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.9799999999999804,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.9899999999999802,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":2.99999999999998,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.00999999999998,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.0199999999999796,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.0299999999999794,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.039999999999979,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.049999999999979,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.0599999999999787,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.0699999999999785,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.0799999999999783,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.089999999999978,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.099999999999978,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.1099999999999777,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.1199999999999775,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.1299999999999772,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.139999999999977,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.149999999999977,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.1599999999999766,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.1699999999999764,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.179999999999976,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.189999999999976,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.1999999999999758,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.2099999999999755,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.2199999999999753,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.229999999999975,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.239999999999975,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.2499999999999747,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.2599999999999745,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.2699999999999743,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.279999999999974,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.289999999999974,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.2999999999999736,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.3099999999999734,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.319999999999973,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.329999999999973,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.3399999999999728,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.3499999999999726,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.3599999999999723,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.369999999999972,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.379999999999972,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.3899999999999717,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.3999999999999715,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.4099999999999713,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.419999999999971,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.429999999999971,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.4399999999999706,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.4499999999999704,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.45999999999997,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.46999999999997,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.47999999999997,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.4899999999999696,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.4999999999999694,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.509999999999969,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.519999999999969,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.5299999999999687,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.5399999999999685,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.5499999999999683,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.559999999999968,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.569999999999968,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.5799999999999677,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.5899999999999674,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.5999999999999672,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.609999999999967,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.619999999999967,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.6299999999999666,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.6399999999999664,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.649999999999966,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.659999999999966,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.6699999999999657,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.6799999999999655,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.6899999999999653,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.699999999999965,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.709999999999965,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.7199999999999647,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.7299999999999645,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.7399999999999642,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.749999999999964,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.759999999999964,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.7699999999999636,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.7799999999999634,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.789999999999963,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.799999999999963,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.8099999999999627,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.8199999999999625,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.8299999999999623,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.839999999999962,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.849999999999962,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.8599999999999617,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.8699999999999615,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.8799999999999613,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.889999999999961,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.899999999999961,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.9099999999999606,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.9199999999999604,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.92999999999996,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.93999999999996,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.9499999999999598,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.9599999999999596,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.9699999999999593,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.979999999999959,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.989999999999959,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":3.9999999999999587,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.009999999999959,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.019999999999959,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.0299999999999585,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.039999999999958,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.049999999999958,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.059999999999958,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.069999999999958,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.079999999999957,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.089999999999957,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.099999999999957,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.109999999999957,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.119999999999957,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.129999999999956,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.139999999999956,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.149999999999956,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.159999999999956,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.1699999999999555,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.179999999999955,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.189999999999955,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.199999999999955,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.209999999999955,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.2199999999999545,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.229999999999954,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.239999999999954,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.249999999999954,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.259999999999954,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.269999999999953,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.279999999999953,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.289999999999953,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.299999999999953,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.3099999999999525,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.319999999999952,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.329999999999952,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.339999999999952,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.349999999999952,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.3599999999999515,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.369999999999951,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.379999999999951,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.389999999999951,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.399999999999951,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.40999999999995,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.41999999999995,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.42999999999995,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.43999999999995,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.4499999999999496,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.459999999999949,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.469999999999949,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.479999999999949,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.489999999999949,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.4999999999999485,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.509999999999948,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.519999999999948,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.529999999999948,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.539999999999948,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.549999999999947,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.559999999999947,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.569999999999947,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.579999999999947,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.589999999999947,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.599999999999946,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.609999999999946,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.619999999999946,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.629999999999946,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.6399999999999455,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.649999999999945,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.659999999999945,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.669999999999945,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.679999999999945,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.689999999999944,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.699999999999944,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.709999999999944,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.719999999999944,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.729999999999944,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.739999999999943,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.749999999999943,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.759999999999943,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.769999999999943,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.7799999999999425,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.789999999999942,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.799999999999942,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.809999999999942,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.819999999999942,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.8299999999999415,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.839999999999941,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.849999999999941,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.859999999999941,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.869999999999941,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.87999999999994,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.88999999999994,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.89999999999994,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.90999999999994,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.9199999999999395,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.929999999999939,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.939999999999939,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.949999999999939,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.959999999999939,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.9699999999999385,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.979999999999938,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.989999999999938,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":4.999999999999938,"x":5.504352992573176,"y":1.2468514806851727,"angle":0.0,"x_velocity":0.0,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":0.0,"y_acceleration":0.0,"angular_acceleration":0.0},{"time":5.009999999999938,"x":5.5043460046566794,"y":1.246859188612823,"angle":0.0,"x_velocity":-0.0020858192265849184,"y_velocity":0.0023007349471851667,"angular_velocity":0.0,"x_acceleration":-0.41295006910426346,"y_acceleration":0.4554990400516514,"angular_acceleration":0.0},{"time":5.019999999999937,"x":5.504297930293914,"y":1.2469122163944586,"angle":0.0,"x_velocity":-0.008175577125699883,"y_velocity":0.009017960792941029,"angular_velocity":0.0,"x_acceleration":-0.8008728612956098,"y_acceleration":0.8833920776786798,"angular_acceleration":0.0},{"time":5.029999999999937,"x":5.504169972949319,"y":1.24705335802874,"angle":0.0,"x_velocity":-0.01802155473195616,"y_velocity":0.01987843445201539,"angular_velocity":0.0,"x_acceleration":-1.1642791373247714,"y_acceleration":1.2842425006828095,"angular_acceleration":0.0},{"time":5.039999999999937,"x":5.503925787738956,"y":1.247322703252866,"angle":0.0,"x_velocity":-0.031381140687498796,"y_velocity":0.03461454671720249,"angular_velocity":0.0,"x_acceleration":-1.5036796579451273,"y_acceleration":1.6586136968686844,"angular_acceleration":0.0},{"time":5.049999999999937,"x":5.503531430354419,"y":1.2477576938813542,"angle":0.0,"x_velocity":-0.04801683124200665,"y_velocity":0.052964322259343,"angular_velocity":0.0,"x_acceleration":-1.819585183910056,"y_acceleration":2.007069054040948,"angular_acceleration":0.0},{"time":5.0599999999999365,"x":5.502955305986774,"y":1.2483931801448194,"angle":0.0,"x_velocity":-0.06769623025269232,"y_velocity":0.07467141962732404,"angular_velocity":0.0,"x_acceleration":-2.112506475972937,"y_acceleration":2.330171960004244,"angular_acceleration":0.0},{"time":5.069999999999936,"x":5.502168118250474,"y":1.2492614770287565,"angle":0.0,"x_velocity":-0.09019204918430225,"y_velocity":0.09948513124807914,"angular_velocity":0.0,"x_acceleration":-2.3829542948871474,"y_acceleration":2.6284858025632163,"angular_acceleration":0.0},{"time":5.079999999999936,"x":5.501142818107288,"y":1.2503924206123203,"angle":0.0,"x_velocity":-0.11528210710911663,"y_velocity":0.1271603834265883,"angular_velocity":0.0,"x_acceleration":-2.631439401406068,"y_acceleration":2.9025739695225075,"angular_acceleration":0.0},{"time":5.089999999999936,"x":5.499854552790227,"y":1.2518134244071046,"angle":0.0,"x_velocity":-0.14274933070694945,"y_velocity":0.15745773634587795,"angular_velocity":0.0,"x_acceleration":-2.8584725562830755,"y_acceleration":3.1529998486867634,"angular_acceleration":0.0},{"time":5.099999999999936,"x":5.49828061472746,"y":1.2535495356959243,"angle":0.0,"x_velocity":-0.1723817542651485,"y_velocity":0.19014338406702092,"angular_velocity":0.0,"x_acceleration":-3.06456452027155,"y_acceleration":3.3803268278606247,"angular_acceleration":0.0},{"time":5.1099999999999355,"x":5.496400390466253,"y":1.2556234918715947,"angle":0.0,"x_velocity":-0.20397251967859528,"y_velocity":0.22498915452913656,"angular_velocity":0.0,"x_acceleration":-3.2502260541248713,"y_acceleration":3.5851182948487375,"angular_acceleration":0.0},{"time":5.119999999999935,"x":5.494195309596876,"y":1.2580557767757141,"angle":0.0,"x_velocity":-0.23731987644970529,"y_velocity":0.2617725095493904,"angular_velocity":0.0,"x_acceleration":-3.4159679185964156,"y_acceleration":3.767937637455744,"angular_acceleration":0.0},{"time":5.129999999999935,"x":5.491648793676544,"y":1.2608646770374405,"angle":0.0,"x_velocity":-0.2722271816884275,"y_velocity":0.30027654482299493,"angular_velocity":0.0,"x_acceleration":-3.562300874439564,"y_acceleration":3.929348243486289,"angular_acceleration":0.0},{"time":5.139999999999935,"x":5.488746205153335,"y":1.2640663384122761,"angle":0.0,"x_velocity":-0.30850290011224496,"y_velocity":0.3402899899232086,"angular_velocity":0.0,"x_acceleration":-3.6897356824076932,"y_acceleration":4.069913500745015,"angular_acceleration":0.0},{"time":5.149999999999935,"x":5.485474796290111,"y":1.2676748221208447,"angle":0.0,"x_velocity":-0.3459606040461743,"y_velocity":0.38160720830133626,"angular_velocity":0.0,"x_acceleration":-3.7987831032541837,"y_acceleration":4.190196797036567,"angular_acceleration":0.0},{"time":5.159999999999934,"x":5.481823658088449,"y":1.2717021611876738,"angle":0.0,"x_velocity":-0.3844189734227662,"y_velocity":0.42402819728672964,"angular_velocity":0.0,"x_acceleration":-3.8899538977324135,"y_acceleration":4.290761520165586,"angular_acceleration":0.0},{"time":5.169999999999934,"x":5.47778366921256,"y":1.2761584167799749,"angle":0.0,"x_velocity":-0.42370179578210465,"y_velocity":0.46735858808678654,"angular_velocity":0.0,"x_acceleration":-3.963758826595761,"y_acceleration":4.372171057936719,"angular_acceleration":0.0},{"time":5.179999999999934,"x":5.473347444913217,"y":1.2810517345464232,"angle":0.0,"x_velocity":-0.46363796627180803,"y_velocity":0.5114096457869514,"angular_velocity":0.0,"x_acceleration":-4.020708650597605,"y_acceleration":4.434988798154607,"angular_acceleration":0.0},{"time":5.189999999999934,"x":5.468509285951683,"y":1.2863884009559392,"angle":0.0,"x_velocity":-0.504061487647028,"y_velocity":0.5559982693507147,"angular_velocity":0.0,"x_acceleration":-4.061314130491326,"y_acceleration":4.479778128623896,"angular_acceleration":0.0},{"time":5.199999999999934,"x":5.463265127523628,"y":1.2921728996364679,"angle":0.0,"x_velocity":-0.5448114702704504,"y_velocity":0.6009469916196143,"angular_velocity":0.0,"x_acceleration":-4.0860860270303005,"y_acceleration":4.507102437149227,"angular_acceleration":0.0},{"time":5.209999999999933,"x":5.4576124881830586,"y":1.2984079677137603,"angle":0.0,"x_velocity":-0.5857321321122945,"y_velocity":0.6460839793132331,"angular_velocity":0.0,"x_acceleration":-4.095535100967909,"y_acceleration":4.517525111535244,"angular_acceleration":0.0},{"time":5.219999999999933,"x":5.4515504187662405,"y":1.3050946521501536,"angle":0.0,"x_velocity":-0.6266727987503132,"y_velocity":0.6912430330292014,"angular_velocity":0.0,"x_acceleration":-4.09017211305753,"y_acceleration":4.511609539586595,"angular_acceleration":0.0},{"time":5.229999999999933,"x":5.445079451315626,"y":1.3122323660833513,"angle":0.0,"x_velocity":-0.6674879033697945,"y_velocity":0.7362635872431963,"angular_velocity":0.0,"x_acceleration":-4.070507824052539,"y_acceleration":4.489919109107917,"angular_acceleration":0.0},{"time":5.239999999999933,"x":5.438201548003775,"y":1.3198189451652034,"angle":0.0,"x_velocity":-0.7080369867635584,"y_velocity":0.7809907103089401,"angular_velocity":0.0,"x_acceleration":-4.03705299470632,"y_acceleration":4.453017207903855,"angular_acceleration":0.0},{"time":5.2499999999999325,"x":5.430920050057285,"y":1.3278507039004883,"angle":0.0,"x_velocity":-0.7481846973319597,"y_velocity":0.8252751044582022,"angular_velocity":0.0,"x_acceleration":-3.9903183857722495,"y_acceleration":4.401467223779058,"angular_acceleration":0.0},{"time":5.259999999999932,"x":5.423239626680707,"y":1.3363224919856918,"angle":0.0,"x_velocity":-0.7878007910828866,"y_velocity":0.8689731058007989,"angular_velocity":0.0,"x_acceleration":-3.9308147580037054,"y_acceleration":4.335832544538166,"angular_acceleration":0.0},{"time":5.269999999999932,"x":5.4151662239804805,"y":1.345227750647788,"angle":0.0,"x_velocity":-0.8267601316317617,"y_velocity":0.911946684324592,"angular_velocity":0.0,"x_acceleration":-3.859052872154067,"y_acceleration":4.256676557985822,"angular_acceleration":0.0},{"time":5.279999999999932,"x":5.406707013888847,"y":1.3545585689830204,"angle":0.0,"x_velocity":-0.864942690201541,"y_velocity":0.9540634438954914,"angular_velocity":0.0,"x_acceleration":-3.7755434889767114,"y_acceleration":4.164562651926668,"angular_acceleration":0.0},{"time":5.289999999999932,"x":5.3978703430877895,"y":1.3643057402956813,"angle":0.0,"x_velocity":-0.9022335456227133,"y_velocity":0.99519662225745,"angular_velocity":0.0,"x_acceleration":-3.680797369225021,"y_acceleration":4.060054214165354,"angular_acceleration":0.0},{"time":5.299999999999931,"x":5.388665681932942,"y":1.3744588184368929,"angle":0.0,"x_velocity":-0.9385228843333028,"y_velocity":1.035225091032471,"angular_velocity":0.0,"x_acceleration":-3.575325273652374,"y_acceleration":3.9437146325065187,"angular_acceleration":0.0},{"time":5.309999999999931,"x":5.379103573377519,"y":1.3850061741433872,"angle":0.0,"x_velocity":-0.9737060003788675,"y_velocity":1.0740333557206028,"angular_velocity":0.0,"x_acceleration":-3.459637963012146,"y_acceleration":3.8161072947548043,"angular_acceleration":0.0},{"time":5.319999999999931,"x":5.36919558189625,"y":1.3959350513762885,"angle":0.0,"x_velocity":-1.0076832954124972,"y_velocity":1.1115115556999382,"angular_velocity":0.0,"x_acceleration":-3.3342461980577176,"y_acceleration":3.67779558871486,"angular_acceleration":0.0},{"time":5.329999999999931,"x":5.358954242409287,"y":1.4072316236598905,"angle":0.0,"x_velocity":-1.0403602786948176,"y_velocity":1.1475554642266197,"angular_velocity":0.0,"x_acceleration":-3.199660739542469,"y_acceleration":3.5293429021913223,"angular_acceleration":0.0},{"time":5.339999999999931,"x":5.348393009206142,"y":1.4188810504204392,"angle":0.0,"x_velocity":-1.0716475670939867,"y_velocity":1.1820664884348333,"angular_velocity":0.0,"x_acceleration":-3.0563923482197772,"y_acceleration":3.3713126229888433,"angular_acceleration":0.0},{"time":5.34999999999993,"x":5.337526204869611,"y":1.4308675333249128,"angle":0.0,"x_velocity":-1.1014608850856984,"y_velocity":1.2149516693368139,"angular_velocity":0.0,"x_acceleration":-2.904951784843022,"y_acceleration":3.2042681389120604,"angular_acceleration":0.0},{"time":5.35999999999993,"x":5.326368969199688,"y":1.4431743726198019,"angle":0.0,"x_velocity":-1.1297210647531775,"y_velocity":1.2461236818228412,"angular_velocity":0.0,"x_acceleration":-2.7458498101655784,"y_acceleration":3.028772837765615,"angular_acceleration":0.0},{"time":5.36999999999993,"x":5.314937208137505,"y":1.4557840234698902,"angle":0.0,"x_velocity":-1.1563540457871846,"y_velocity":1.2755008346612415,"angular_velocity":0.0,"x_acceleration":-2.579597184940834,"y_acceleration":2.845390107354163,"angular_acceleration":0.0},{"time":5.37999999999993,"x":5.303247542689242,"y":1.4686781522970356,"angle":0.0,"x_velocity":-1.1812908754860127,"y_velocity":1.3030070704983887,"angular_velocity":0.0,"x_acceleration":-2.4067046699221537,"y_acceleration":2.6546833354823267,"angular_acceleration":0.0},{"time":5.3899999999999295,"x":5.291317257850061,"y":1.4818376931189483,"angle":0.0,"x_velocity":-1.2044677087554911,"y_velocity":1.3285719658587007,"angular_velocity":0.0,"x_acceleration":-2.227683025862932,"y_acceleration":2.4572159099547735,"angular_acceleration":0.0},{"time":5.399999999999929,"x":5.27916425152803,"y":1.4952429038879747,"angle":0.0,"x_velocity":-1.2258258081089806,"y_velocity":1.3521307311446464,"angular_velocity":0.0,"x_acceleration":-2.0430430135165354,"y_acceleration":2.253551218576133,"angular_acceleration":0.0},{"time":5.409999999999929,"x":5.266806983468045,"y":1.5088734228298746,"angle":0.0,"x_velocity":-1.2453115436673756,"y_velocity":1.3736242106367351,"angular_velocity":0.0,"x_acceleration":-1.853295393636352,"y_acceleration":2.0442526491510558,"angular_acceleration":0.0},{"time":5.419999999999929,"x":5.2542644241757515,"y":1.5227083247826045,"angle":0.0,"x_velocity":-1.2628763931591047,"y_velocity":1.3929988824935267,"angular_velocity":0.0,"x_acceleration":-1.6589509269757539,"y_acceleration":1.8298835894841767,"angular_acceleration":0.0},{"time":5.429999999999929,"x":5.2415560038414775,"y":1.5367261775350962,"angle":0.0,"x_velocity":-1.2784769419201325,"y_velocity":1.4102068587516263,"angular_velocity":0.0,"x_acceleration":-1.4605203742881248,"y_acceleration":1.611007427380149,"angular_acceleration":0.0},{"time":5.4399999999999284,"x":5.228701561264152,"y":1.5509050981660366,"angle":0.0,"x_velocity":-1.2920748828939548,"y_velocity":1.4252058853256877,"angular_velocity":0.0,"x_acceleration":-1.2585144963268284,"y_acceleration":1.3881875506436048,"angular_acceleration":0.0},{"time":5.449999999999928,"x":5.215721292775232,"y":1.5652228093826517,"angle":0.0,"x_velocity":-1.3036370166316016,"y_velocity":1.4379593420084051,"angular_velocity":0.0,"x_acceleration":-1.0534440538452694,"y_acceleration":1.1619873470792026,"angular_acceleration":0.0},{"time":5.459999999999928,"x":5.202635701162624,"y":1.5796566958594824,"angle":0.0,"x_velocity":-1.3131352512916363,"y_velocity":1.4484362424705266,"angular_velocity":0.0,"x_acceleration":-0.8458198075968095,"y_acceleration":0.9329702044915713,"angular_acceleration":0.0},{"time":5.469999999999928,"x":5.189465544594616,"y":1.5941838605771692,"angle":0.0,"x_velocity":-1.3205466026401584,"y_velocity":1.4566112342608415,"angular_velocity":0.0,"x_acceleration":-0.6361525183348249,"y_acceleration":0.7016995106853638,"angular_acceleration":0.0},{"time":5.479999999999928,"x":5.176231785543793,"y":1.6087811811612294,"angle":0.0,"x_velocity":-1.3258531940507998,"y_velocity":1.4624645988061875,"angular_velocity":0.0,"x_acceleration":-0.424952946812704,"y_acceleration":0.46873865346521626,"angular_acceleration":0.0},{"time":5.489999999999927,"x":5.1629555397109685,"y":1.6234253662208387,"angle":0.0,"x_velocity":-1.329042256504723,"y_velocity":1.4659822514114478,"angular_velocity":0.0,"x_acceleration":-0.21273185378382387,"y_acceleration":0.23465102063579124,"angular_acceleration":0.0},{"time":5.499999999999927,"x":5.149658024949105,"y":1.6380930116876136,"angle":0.0,"x_velocity":-1.3301061285906313,"y_velocity":1.4671557412595542,"angular_velocity":0.0,"x_acceleration":-1.55964130499342e-12,"y_acceleration":1.708855279503041e-12,"angular_acceleration":0.0},{"time":5.509999999999927,"x":5.136360510187241,"y":1.652760657154389,"angle":0.0,"x_velocity":-1.3290422565047544,"y_velocity":1.4659822514114822,"angular_velocity":0.0,"x_acceleration":0.21273185378070458,"y_acceleration":-0.23465102063237708,"angular_acceleration":0.0},{"time":5.519999999999927,"x":5.123084264354415,"y":1.6674048422139993,"angle":0.0,"x_velocity":-1.3258531940508607,"y_velocity":1.4624645988062548,"angular_velocity":0.0,"x_acceleration":0.4249529468096025,"y_acceleration":-0.4687386534618234,"angular_acceleration":0.0},{"time":5.5299999999999265,"x":5.109850505303592,"y":1.68200216279806,"angle":0.0,"x_velocity":-1.3205466026402515,"y_velocity":1.4566112342609434,"angular_velocity":0.0,"x_acceleration":0.6361525183317358,"y_acceleration":-0.7016995106819852,"angular_acceleration":0.0},{"time":5.539999999999926,"x":5.096680348735582,"y":1.696529327515748,"angle":0.0,"x_velocity":-1.3131352512917602,"y_velocity":1.4484362424706632,"angular_velocity":0.0,"x_acceleration":0.8458198075937435,"y_acceleration":-0.9329702044882264,"angular_acceleration":0.0},{"time":5.549999999999926,"x":5.083594757122974,"y":1.7109632139925797,"angle":0.0,"x_velocity":-1.3036370166317557,"y_velocity":1.437959342008575,"angular_velocity":0.0,"x_acceleration":1.053444053842238,"y_acceleration":-1.1619873470758915,"angular_acceleration":0.0},{"time":5.559999999999926,"x":5.070614488634052,"y":1.7252809252091967,"angle":0.0,"x_velocity":-1.29207488289414,"y_velocity":1.425205885325889,"angular_velocity":0.0,"x_acceleration":1.2585144963238406,"y_acceleration":-1.3881875506403354,"angular_acceleration":0.0},{"time":5.569999999999926,"x":5.057760046056725,"y":1.7394598458401396,"angle":0.0,"x_velocity":-1.2784769419203466,"y_velocity":1.4102068587518621,"angular_velocity":0.0,"x_acceleration":1.4605203742851813,"y_acceleration":-1.6110074273769293,"angular_acceleration":0.0},{"time":5.5799999999999255,"x":5.045051625722449,"y":1.7534776985926335,"angle":0.0,"x_velocity":-1.2628763931593467,"y_velocity":1.3929988824937922,"angular_velocity":0.0,"x_acceleration":1.6589509269728637,"y_acceleration":-1.8298835894810175,"angular_acceleration":0.0},{"time":5.589999999999925,"x":5.032509066430152,"y":1.7673126005453663,"angle":0.0,"x_velocity":-1.2453115436676474,"y_velocity":1.3736242106370318,"angular_velocity":0.0,"x_acceleration":1.8532953936335375,"y_acceleration":-2.0442526491479818,"angular_acceleration":0.0},{"time":5.599999999999925,"x":5.020151798370163,"y":1.7809431194872696,"angle":0.0,"x_velocity":-1.2258258081092785,"y_velocity":1.3521307311449706,"angular_velocity":0.0,"x_acceleration":2.0430430135137776,"y_acceleration":-2.2535512185731257,"angular_acceleration":0.0},{"time":5.609999999999925,"x":5.007998792048129,"y":1.794348330256299,"angle":0.0,"x_velocity":-1.2044677087558182,"y_velocity":1.3285719658590582,"angular_velocity":0.0,"x_acceleration":2.2276830258602622,"y_acceleration":-2.457215909951863,"angular_acceleration":0.0},{"time":5.619999999999925,"x":4.996068507208945,"y":1.807507871078216,"angle":0.0,"x_velocity":-1.1812908754863654,"y_velocity":1.303007070498774,"angular_velocity":0.0,"x_acceleration":2.4067046699195664,"y_acceleration":-2.654683335479504,"angular_acceleration":0.0},{"time":5.629999999999924,"x":4.984378841760679,"y":1.8204019999053647,"angle":0.0,"x_velocity":-1.156354045787562,"y_velocity":1.275500834661655,"angular_velocity":0.0,"x_acceleration":2.579597184938333,"y_acceleration":-2.8453901073514345,"angular_acceleration":0.0},{"time":5.639999999999924,"x":4.972947080698491,"y":1.8330116507554577,"angle":0.0,"x_velocity":-1.1297210647535785,"y_velocity":1.2461236818232804,"angular_velocity":0.0,"x_acceleration":2.745849810163179,"y_acceleration":-3.0287728377629968,"angular_acceleration":0.0},{"time":5.649999999999924,"x":4.961789845028565,"y":1.8453184900503512,"angle":0.0,"x_velocity":-1.1014608850861234,"y_velocity":1.21495166933728,"angular_velocity":0.0,"x_acceleration":2.9049517848407334,"y_acceleration":-3.2042681389095655,"angular_acceleration":0.0},{"time":5.659999999999924,"x":4.950923040692029,"y":1.8573049729548292,"angle":0.0,"x_velocity":-1.0716475670944368,"y_velocity":1.182066488435324,"angular_velocity":0.0,"x_acceleration":3.056392348217603,"y_acceleration":-3.3713126229864763,"angular_acceleration":0.0},{"time":5.6699999999999235,"x":4.9403618074888795,"y":1.8689543997153837,"angle":0.0,"x_velocity":-1.040360278695288,"y_velocity":1.1475554642271328,"angular_velocity":0.0,"x_acceleration":3.1996607395404233,"y_acceleration":-3.5293429021890965,"angular_acceleration":0.0},{"time":5.679999999999923,"x":4.930120468001913,"y":1.8802509719989908,"angle":0.0,"x_velocity":-1.0076832954129875,"y_velocity":1.1115115557004733,"angular_velocity":0.0,"x_acceleration":3.3342461980557943,"y_acceleration":-3.6777955887127654,"angular_acceleration":0.0},{"time":5.689999999999923,"x":4.920212476520637,"y":1.8911798492318967,"angle":0.0,"x_velocity":-0.9737060003793747,"y_velocity":1.0740333557211565,"angular_velocity":0.0,"x_acceleration":3.459637963010362,"y_acceleration":-3.816107294752875,"angular_acceleration":0.0},{"time":5.699999999999923,"x":4.91065036796521,"y":1.901727204938398,"angle":0.0,"x_velocity":-0.9385228843338291,"y_velocity":1.0352250910330465,"angular_velocity":0.0,"x_acceleration":3.5753252736507406,"y_acceleration":-3.9437146325047365,"angular_acceleration":0.0},{"time":5.709999999999923,"x":4.901445706810357,"y":1.9118802830796149,"angle":0.0,"x_velocity":-0.902233545623254,"y_velocity":0.9951966222580415,"angular_velocity":0.0,"x_acceleration":3.680797369223537,"y_acceleration":-4.060054214163756,"angular_acceleration":0.0},{"time":5.7199999999999225,"x":4.892609036009293,"y":1.9216274543922818,"angle":0.0,"x_velocity":-0.8649426902020956,"y_velocity":0.9540634438960955,"angular_velocity":0.0,"x_acceleration":3.7755434889753943,"y_acceleration":-4.1645626519252446,"angular_acceleration":0.0},{"time":5.729999999999922,"x":4.884149825917655,"y":1.93095827272752,"angle":0.0,"x_velocity":-0.8267601316323292,"y_velocity":0.9119466843252138,"angular_velocity":0.0,"x_acceleration":3.8590528721529154,"y_acceleration":-4.256676557984569,"angular_acceleration":0.0},{"time":5.739999999999922,"x":4.876076423217421,"y":1.939863531389623,"angle":0.0,"x_velocity":-0.7878007910834635,"y_velocity":0.8689731058014267,"angular_velocity":0.0,"x_acceleration":3.9308147580027253,"y_acceleration":-4.335832544537105,"angular_acceleration":0.0},{"time":5.749999999999922,"x":4.868395999840839,"y":1.9483353194748319,"angle":0.0,"x_velocity":-0.7481846973325466,"y_velocity":0.825275104458842,"angular_velocity":0.0,"x_acceleration":3.9903183857714453,"y_acceleration":-4.401467223778212,"angular_acceleration":0.0},{"time":5.759999999999922,"x":4.861114501894342,"y":1.956367078210124,"angle":0.0,"x_velocity":-0.708036986764152,"y_velocity":0.7809907103095881,"angular_velocity":0.0,"x_acceleration":4.037052994705697,"y_acceleration":-4.453017207903223,"angular_acceleration":0.0},{"time":5.769999999999921,"x":4.854236598582486,"y":1.9639536572919818,"angle":0.0,"x_velocity":-0.6674879033703975,"y_velocity":0.736263587243851,"angular_velocity":0.0,"x_acceleration":4.070507824052122,"y_acceleration":-4.489919109107504,"angular_acceleration":0.0},{"time":5.779999999999921,"x":4.847765631131866,"y":1.9710913712251865,"angle":0.0,"x_velocity":-0.6266727987509171,"y_velocity":0.691243033029858,"angular_velocity":0.0,"x_acceleration":4.090172113057314,"y_acceleration":-4.511609539586395,"angular_acceleration":0.0},{"time":5.789999999999921,"x":4.84170356171504,"y":1.9777780556615874,"angle":0.0,"x_velocity":-0.5857321321128985,"y_velocity":0.6460839793138877,"angular_velocity":0.0,"x_acceleration":4.095535100967922,"y_acceleration":-4.517525111535285,"angular_acceleration":0.0},{"time":5.799999999999921,"x":4.836050922374465,"y":1.9840131237388858,"angle":0.0,"x_velocity":-0.5448114702710516,"y_velocity":0.6009469916202672,"angular_velocity":0.0,"x_acceleration":4.086086027030518,"y_acceleration":-4.507102437149506,"angular_acceleration":0.0},{"time":5.809999999999921,"x":4.830806763946405,"y":1.9897976224194214,"angle":0.0,"x_velocity":-0.5040614876476255,"y_velocity":0.5559982693513668,"angular_velocity":0.0,"x_acceleration":4.061314130491773,"y_acceleration":-4.479778128624417,"angular_acceleration":0.0},{"time":5.81999999999992,"x":4.8259686049848645,"y":1.9951342888289438,"angle":0.0,"x_velocity":-0.4636379662723993,"y_velocity":0.5114096457875945,"angular_velocity":0.0,"x_acceleration":4.020708650598294,"y_acceleration":-4.434988798155388,"angular_acceleration":0.0},{"time":5.82999999999992,"x":4.821532380685517,"y":2.000027606595398,"angle":0.0,"x_velocity":-0.42370179578268896,"y_velocity":0.4673585880874196,"angular_velocity":0.0,"x_acceleration":3.963758826596681,"y_acceleration":-4.372171057937763,"angular_acceleration":0.0},{"time":5.83999999999992,"x":4.817492391809622,"y":2.0044838621877057,"angle":0.0,"x_velocity":-0.3844189734233421,"y_velocity":0.4240281972873561,"angular_velocity":0.0,"x_acceleration":3.8899538977335837,"y_acceleration":-4.290761520166903,"angular_acceleration":0.0},{"time":5.84999999999992,"x":4.8138412536079525,"y":2.0085112012545414,"angle":0.0,"x_velocity":-0.3459606040467378,"y_velocity":0.38160720830194705,"angular_velocity":0.0,"x_acceleration":3.7987831032556088,"y_acceleration":-4.190196797038176,"angular_acceleration":0.0},{"time":5.8599999999999195,"x":4.810569844744723,"y":2.0121196849631158,"angle":0.0,"x_velocity":-0.30850290011279036,"y_velocity":0.3402899899238001,"angular_velocity":0.0,"x_acceleration":3.6897356824093706,"y_acceleration":-4.0699135007469,"angular_acceleration":0.0},{"time":5.869999999999919,"x":4.807667256221508,"y":2.015321346337957,"angle":0.0,"x_velocity":-0.27222718168895454,"y_velocity":0.30027654482356425,"angular_velocity":0.0,"x_acceleration":3.562300874441526,"y_acceleration":-3.9293482434884908,"angular_acceleration":0.0},{"time":5.879999999999919,"x":4.805120740301172,"y":2.018130246599688,"angle":0.0,"x_velocity":-0.23731987645021313,"y_velocity":0.2617725095499406,"angular_velocity":0.0,"x_acceleration":3.4159679185986462,"y_acceleration":-3.767937637458253,"angular_acceleration":0.0},{"time":5.889999999999919,"x":4.8029156594317906,"y":2.0205625315038147,"angle":0.0,"x_velocity":-0.20397251967907515,"y_velocity":0.22498915452965385,"angular_velocity":0.0,"x_acceleration":3.2502260541273955,"y_acceleration":-3.58511829485154,"angular_acceleration":0.0},{"time":5.899999999999919,"x":4.801035435170579,"y":2.0226364876794887,"angle":0.0,"x_velocity":-0.1723817542656061,"y_velocity":0.19014338406751463,"angular_velocity":0.0,"x_acceleration":3.0645645202743665,"y_acceleration":-3.3803268278637546,"angular_acceleration":0.0},{"time":5.909999999999918,"x":4.7994614971078065,"y":2.0243725989683137,"angle":0.0,"x_velocity":-0.1427493307073746,"y_velocity":0.15745773634632698,"angular_velocity":0.0,"x_acceleration":2.8584725562861735,"y_acceleration":-3.1529998486902144,"angular_acceleration":0.0},{"time":5.919999999999918,"x":4.7981732317907415,"y":2.0257936027631023,"angle":0.0,"x_velocity":-0.11528210710951114,"y_velocity":0.12716038342701452,"angular_velocity":0.0,"x_acceleration":2.63143940140948,"y_acceleration":-2.9025739695263155,"angular_acceleration":0.0},{"time":5.929999999999918,"x":4.797147931647552,"y":2.0269245463466707,"angle":0.0,"x_velocity":-0.09019204918465462,"y_velocity":0.09948513124845348,"angular_velocity":0.0,"x_acceleration":2.3829542948908653,"y_acceleration":-2.6284858025673543,"angular_acceleration":0.0},{"time":5.939999999999918,"x":4.796360743911249,"y":2.0277928432306114,"angle":0.0,"x_velocity":-0.0676962302530093,"y_velocity":0.07467141962765922,"angular_velocity":0.0,"x_acceleration":2.112506475977,"y_acceleration":-2.330171960008755,"angular_acceleration":0.0},{"time":5.949999999999918,"x":4.7957846195436,"y":2.028428329494079,"angle":0.0,"x_velocity":-0.04801683124228617,"y_velocity":0.052964322259633434,"angular_velocity":0.0,"x_acceleration":1.8195851839144268,"y_acceleration":-2.0070690540458145,"angular_acceleration":0.0},{"time":5.959999999999917,"x":4.795390262159062,"y":2.02886332012257,"angle":0.0,"x_velocity":-0.03138114068772779,"y_velocity":0.03461454671744235,"angular_velocity":0.0,"x_acceleration":1.5036796579498741,"y_acceleration":-1.6586136968739567,"angular_acceleration":0.0},{"time":5.969999999999917,"x":4.795146076948694,"y":2.0291326653466975,"angle":0.0,"x_velocity":-0.018021554732140288,"y_velocity":0.019878434452202498,"angular_velocity":0.0,"x_acceleration":1.1642791373298422,"y_acceleration":-1.284242500688464,"angular_acceleration":0.0},{"time":5.979999999999917,"x":4.795018119604098,"y":2.0292738069809815,"angle":0.0,"x_velocity":-0.008175577125829392,"y_velocity":0.009017960793066493,"angular_velocity":0.0,"x_acceleration":0.8008728613010163,"y_acceleration":-0.8833920776846753,"angular_acceleration":0.0},{"time":5.989999999999917,"x":4.7949700452413335,"y":2.0293268347626174,"angle":0.0,"x_velocity":-0.0020858192266608455,"y_velocity":0.002300734947255023,"angular_velocity":0.0,"x_acceleration":0.41295006911003895,"y_acceleration":-0.45549904005807207,"angular_acceleration":0.0},{"time":5.9999999999999165,"x":4.794963057324836,"y":2.0293345426902674,"angle":0.0,"x_velocity":-1.4210854715202004e-14,"y_velocity":0.0,"angular_velocity":0.0,"x_acceleration":3.510081114654895e-12,"y_acceleration":-3.907985046680551e-12,"angular_acceleration":0.0},{"time":6.009999999999916,"x":4.794980711812139,"y":2.029347680179537,"angle":0.0,"x_velocity":0.0052713258713775624,"y_velocity":0.0039209933424467335,"angular_velocity":0.0,"x_acceleration":1.0442765620806815,"y_acceleration":0.7761137908045067,"angular_acceleration":0.0},{"time":6.019999999999916,"x":4.795102299403828,"y":2.0294380289283986,"angle":0.0,"x_velocity":0.02068771051396985,"y_velocity":0.015362228021036312,"angular_velocity":0.0,"x_acceleration":2.0292069058773317,"y_acceleration":1.5042132430996484,"angular_acceleration":0.0},{"time":6.029999999999916,"x":4.795426322891867,"y":2.029678407130877,"angle":0.0,"x_velocity":0.04566154629414624,"y_velocity":0.03384850992694017,"angular_velocity":0.0,"x_acceleration":2.955961941240853,"y_acceleration":2.18528821214512,"angular_acceleration":0.0},{"time":6.039999999999916,"x":4.7960454675373745,"y":2.0301369305326693,"angle":0.0,"x_velocity":0.07961693467687482,"y_velocity":0.05891454350399348,"angular_velocity":0.0,"x_acceleration":3.82571257803112,"y_acceleration":2.8203285532073,"angular_acceleration":0.0},{"time":6.0499999999999154,"x":4.797046718161613,"y":2.030877111416676,"angle":0.0,"x_velocity":0.12198968622572239,"y_velocity":0.09010493174869524,"angular_velocity":0.0,"x_acceleration":4.639629726108002,"y_acceleration":3.410324121552566,"angular_acceleration":0.0},{"time":6.059999999999915,"x":4.798511476236973,"y":2.0319579575885265,"angle":0.0,"x_velocity":0.1722273206028545,"y_velocity":0.12697417621020823,"angular_velocity":0.0,"x_acceleration":5.398884295331373,"y_acceleration":3.9562647724472964,"angular_acceleration":0.0},{"time":6.069999999999915,"x":4.800515676977956,"y":2.033434071362103,"angle":0.0,"x_velocity":0.22978906656903544,"y_velocity":0.16908667699035895,"angular_velocity":0.0,"x_acceleration":6.1046471955611095,"y_acceleration":4.459140361157869,"angular_acceleration":0.0},{"time":6.079999999999915,"x":4.8031299064321695,"y":2.0353557485450713,"angle":0.0,"x_velocity":0.29414586198362824,"y_velocity":0.21601673274363778,"angular_velocity":0.0,"x_acceleration":6.7580893366570765,"y_acceleration":4.91994074295066,"angular_acceleration":0.0},{"time":6.089999999999915,"x":4.806419518571305,"y":2.037769077424404,"angle":0.0,"x_velocity":0.36478035380459445,"y_velocity":0.26734854067719876,"angular_velocity":0.0,"x_acceleration":7.360381628479152,"y_acceleration":5.33965577309205,"angular_acceleration":0.0},{"time":6.099999999999914,"x":4.810444752382127,"y":2.0407160377519094,"angle":0.0,"x_velocity":0.44118689808849476,"y_velocity":0.3226761965508598,"angular_velocity":0.0,"x_acceleration":7.912694980887205,"y_acceleration":5.719275306848415,"angular_acceleration":0.0},{"time":6.109999999999914,"x":4.815260848957458,"y":2.0442345997297573,"angle":0.0,"x_velocity":0.5228715599904881,"y_velocity":0.3816036946771024,"angular_velocity":0.0,"x_acceleration":8.416200303741112,"y_acceleration":6.0597891994861355,"angular_acceleration":0.0},{"time":6.119999999999914,"x":4.8209181685871645,"y":2.048358822996005,"angle":0.0,"x_velocity":0.6093521137643325,"y_velocity":0.44374492792107234,"angular_velocity":0.0,"x_acceleration":8.872068506900742,"y_acceleration":6.3621873062715855,"angular_acceleration":0.0},{"time":6.129999999999914,"x":4.827462307849147,"y":2.053118955610125,"angle":0.0,"x_velocity":0.7001580427623846,"y_velocity":0.5087236877005785,"angular_velocity":0.0,"x_acceleration":9.281470500225971,"y_acceleration":6.6274594824711475,"angular_acceleration":0.0},{"time":6.1399999999999135,"x":4.834934216700319,"y":2.05854153303853,"angle":0.0,"x_velocity":0.7948305394355994,"y_velocity":0.576173663986094,"angular_velocity":0.0,"x_acceleration":9.645577193576669,"y_acceleration":6.856595583351197,"angular_acceleration":0.0},{"time":6.149999999999913,"x":4.843370315567597,"y":2.0646494771401036,"angle":0.0,"x_velocity":0.8929225053335316,"y_velocity":0.6457384453007557,"angular_velocity":0.0,"x_acceleration":9.965559496812709,"y_acceleration":7.050585464178111,"angular_acceleration":0.0},{"time":6.159999999999913,"x":4.852802612438887,"y":2.0714621951517223,"angle":0.0,"x_velocity":0.9939985511043334,"y_velocity":0.7170715187203641,"angular_velocity":0.0,"x_acceleration":10.242588319793963,"y_acceleration":7.210418980218269,"angular_acceleration":0.0},{"time":6.169999999999913,"x":4.863258819954071,"y":2.0789956786737833,"angle":0.0,"x_velocity":1.0976349964947567,"y_velocity":0.7898362698733835,"angular_velocity":0.0,"x_acceleration":10.477834572380301,"y_acceleration":7.337085986738045,"angular_acceleration":0.0},{"time":6.179999999999913,"x":4.874762472495988,"y":2.0872626026557324,"angle":0.0,"x_velocity":1.2034198703501515,"y_velocity":0.8637059829409419,"angular_velocity":0.0,"x_acceleration":10.672469164431602,"y_acceleration":7.431576339003825,"angular_acceleration":0.0},{"time":6.1899999999999125,"x":4.8873330432814255,"y":2.0962724243815902,"angle":0.0,"x_velocity":1.3109529106144668,"y_velocity":0.9383638406568312,"angular_velocity":0.0,"x_acceleration":10.82766300580774,"y_acceleration":7.494879892281983,"angular_acceleration":0.0},{"time":6.199999999999912,"x":4.900986061452104,"y":2.1060314824554793,"angle":0.0,"x_velocity":1.4198455643302506,"y_velocity":1.0135029243075075,"angular_velocity":0.0,"x_acceleration":10.944587006368577,"y_acceleration":7.527986501838893,"angular_acceleration":0.0},{"time":6.209999999999912,"x":4.915733229165661,"y":2.1165430957871476,"angle":0.0,"x_velocity":1.529720987638649,"y_velocity":1.0888262137320894,"angular_velocity":0.0,"x_acceleration":11.024412075973991,"y_acceleration":7.531886022940938,"angular_acceleration":0.0},{"time":6.219999999999912,"x":4.931582538686641,"y":2.1278076625775,"angle":0.0,"x_velocity":1.6402140457794077,"y_velocity":1.1640465873223615,"angular_velocity":0.0,"x_acceleration":11.068309124483857,"y_acceleration":7.507568310854494,"angular_acceleration":0.0},{"time":6.229999999999912,"x":4.9485383894774735,"y":2.139822759304122,"angle":0.0,"x_velocity":1.7509713130908693,"y_velocity":1.2388868220227698,"angular_velocity":0.0,"x_acceleration":11.077449061758042,"y_acceleration":7.456023220845941,"angular_acceleration":0.0},{"time":6.239999999999911,"x":4.96660170528947,"y":2.1525832397068068,"angle":0.0,"x_velocity":1.8616510730099778,"y_velocity":1.3130795933304247,"angular_velocity":0.0,"x_acceleration":11.053002797656426,"y_acceleration":7.3782406081816525,"angular_acceleration":0.0},{"time":6.249999999999911,"x":4.985770051253805,"y":2.1660813337730804,"angle":0.0,"x_velocity":1.9719233180722733,"y_velocity":1.3863674752951018,"angular_velocity":0.0,"x_acceleration":10.996141242038878,"y_acceleration":7.275210328128013,"angular_acceleration":0.0},{"time":6.259999999999911,"x":5.006037750972496,"y":2.180306746723734,"angle":0.0,"x_velocity":2.0814697499118964,"y_velocity":1.4585029405192385,"angular_velocity":0.0,"x_acceleration":10.908035304765269,"y_acceleration":7.147922235951394,"angular_acceleration":0.0},{"time":6.269999999999911,"x":5.0273960036093985,"y":2.195246757998341,"angle":0.0,"x_velocity":2.1899837792615866,"y_velocity":1.5292483601579376,"angular_velocity":0.0,"x_acceleration":10.789855895695469,"y_acceleration":6.997366186918175,"angular_acceleration":0.0},{"time":6.2799999999999105,"x":5.049833000981187,"y":2.210886320240794,"angle":0.0,"x_velocity":2.297170525952681,"y_velocity":1.598376003918965,"angular_velocity":0.0,"x_acceleration":10.642773924689358,"y_acceleration":6.824532036294739,"angular_acceleration":0.0},{"time":6.28999999999991,"x":5.073334044648345,"y":2.227208158284823,"angle":0.0,"x_velocity":2.4027468189151144,"y_velocity":1.66566804006275,"angular_velocity":0.0,"x_acceleration":10.4679603016068,"y_acceleration":6.630409639347455,"angular_acceleration":0.0},{"time":6.29999999999991,"x":5.097881663006143,"y":2.2441928681395282,"angle":0.0,"x_velocity":2.5064411961774233,"y_velocity":1.7309165354023865,"angular_velocity":0.0,"x_acceleration":10.266585936307678,"y_acceleration":6.415988851342708,"angular_acceleration":0.0},{"time":6.30999999999991,"x":5.123455728375638,"y":2.261819015974903,"angle":0.0,"x_velocity":2.607993904866743,"y_velocity":1.793923455303632,"angular_velocity":0.0,"x_acceleration":10.039821738651852,"y_acceleration":6.182259527546872,"angular_acceleration":0.0},{"time":6.31999999999991,"x":5.150033574094642,"y":2.2800632371073615,"angle":0.0,"x_velocity":2.7071569012088004,"y_velocity":1.8545006636849055,"angular_velocity":0.0,"x_acceleration":9.788838618499208,"y_acceleration":5.9302115232263315,"angular_acceleration":0.0},{"time":6.3299999999999095,"x":5.177590111608725,"y":2.2989003349852646,"angle":0.0,"x_velocity":2.8036938505279316,"y_velocity":1.912469923017294,"angular_velocity":0.0,"x_acceleration":9.514807485709607,"y_acceleration":5.66083469364746,"angular_acceleration":0.0},{"time":6.339999999999909,"x":5.206097947562189,"y":2.3183033801744495,"angle":0.0,"x_velocity":2.8973801272470645,"y_velocity":1.9676628943245453,"angular_velocity":0.0,"x_acceleration":9.218899250142936,"y_acceleration":5.375118894076628,"angular_acceleration":0.0},{"time":6.349999999999909,"x":5.235527500889059,"y":2.338243809343753,"angle":0.0,"x_velocity":2.9880028148877296,"y_velocity":2.019921137183072,"angular_velocity":0.0,"x_acceleration":8.902284821659041,"y_acceleration":5.074053979780223,"angular_acceleration":0.0},{"time":6.359999999999909,"x":5.26584711990407,"y":2.358691524250539,"angle":0.0,"x_velocity":3.0753607060700503,"y_velocity":2.069096109721951,"angular_velocity":0.0,"x_acceleration":8.566135110117827,"y_acceleration":4.758629806024624,"angular_acceleration":0.0},{"time":6.369999999999909,"x":5.297023199393649,"y":2.379614990726226,"angle":0.0,"x_velocity":3.159264302512756,"y_velocity":2.11504916862292,"angular_velocity":0.0,"x_acceleration":8.211621025379142,"y_acceleration":4.429836228076207,"angular_acceleration":0.0},{"time":6.379999999999908,"x":5.329020297706905,"y":2.400981337661812,"angle":0.0,"x_velocity":3.239535815033172,"y_velocity":2.1576515691203855,"angular_velocity":0.0,"x_acceleration":7.839913477302863,"y_acceleration":4.088663101201341,"angular_acceleration":0.0},{"time":6.389999999999908,"x":5.361801253846613,"y":2.4227564559934054,"angle":0.0,"x_velocity":3.3160091635472186,"y_velocity":2.1967844650014126,"angular_velocity":0.0,"x_acceleration":7.452183375748872,"y_acceleration":3.7361002806664203,"angular_acceleration":0.0},{"time":6.399999999999908,"x":5.3953273045601975,"y":2.444905097687745,"angle":0.0,"x_velocity":3.3885299770694184,"y_velocity":2.2323389086057315,"angular_velocity":0.0,"x_acceleration":7.049601630577042,"y_acceleration":3.373137621737822,"angular_acceleration":0.0},{"time":6.409999999999908,"x":5.4295582014307255,"y":2.467390974727732,"angle":0.0,"x_velocity":3.4569555937128946,"y_velocity":2.2642158508257415,"angular_velocity":0.0,"x_acceleration":6.633339151647247,"y_acceleration":3.0007649796819074,"angular_acceleration":0.0},{"time":6.419999999999908,"x":5.464452327967886,"y":2.4901768580979557,"angle":0.0,"x_velocity":3.5211550606893667,"y_velocity":2.292326141106498,"angular_velocity":0.0,"x_acceleration":6.204566848819336,"y_acceleration":2.619972209765061,"angular_acceleration":0.0},{"time":6.429999999999907,"x":5.499966816698978,"y":2.5132246767702164,"angle":0.0,"x_velocity":3.581009134309152,"y_velocity":2.316590527445727,"angular_velocity":0.0,"x_acceleration":5.7644556319532025,"y_acceleration":2.231749167253657,"angular_acceleration":0.0},{"time":6.439999999999907,"x":5.536057666259898,"y":2.5364956166890593,"angle":0.0,"x_velocity":3.6364102799811686,"y_velocity":2.336939656393811,"angular_velocity":0.0,"x_acceleration":5.314176410908715,"y_acceleration":1.837085707414083,"angular_acceleration":0.0},{"time":6.449999999999907,"x":5.572679858486122,"y":2.5599502197572925,"angle":0.0,"x_velocity":3.687262672212932,"y_velocity":2.3533140730538022,"angular_velocity":0.0,"x_acceleration":4.854900095545741,"y_acceleration":1.4369716855127113,"angular_acceleration":0.0},{"time":6.459999999999907,"x":5.609787475503697,"y":2.58354848282152,"angle":0.0,"x_velocity":3.733482194610551,"y_velocity":2.365664221081413,"angular_velocity":0.0,"x_acceleration":4.387797595724177,"y_acceleration":1.0323969568159264,"angular_acceleration":0.0},{"time":6.4699999999999065,"x":5.647333816820223,"y":2.6072499566576672,"angle":0.0,"x_velocity":3.7749964398787488,"y_velocity":2.3739504426850226,"angular_velocity":0.0,"x_acceleration":3.914039821303856,"y_acceleration":0.6243513765901021,"angular_acceleration":0.0},{"time":6.479999999999906,"x":5.685271516415838,"y":2.6310138449565046,"angle":0.0,"x_velocity":3.8117447098208324,"y_velocity":2.3781429786256716,"angular_velocity":0.0,"x_acceleration":3.4347976821446764,"y_acceleration":0.2138248001016052,"angular_acceleration":0.0},{"time":6.489999999999906,"x":5.723552659834212,"y":2.6547991033091765,"angle":0.0,"x_velocity":3.8436780153387122,"y_velocity":2.3782219682170678,"angular_velocity":0.0,"x_acceleration":2.951242088106504,"y_acceleration":-0.19819291738316025,"angular_acceleration":0.0},{"time":6.499999999999906,"x":5.762128901273521,"y":2.6785645381927288,"angle":0.0,"x_velocity":3.870759076432896,"y_velocity":2.374177449325578,"angular_velocity":0.0,"x_acceleration":2.4645439490492116,"y_acceleration":-0.6107119205978329,"angular_acceleration":0.0},{"time":6.509999999999906,"x":5.800951580677442,"y":2.702268905955635,"angle":0.0,"x_velocity":3.8929623222024965,"y_velocity":2.3660093583702344,"angular_velocity":0.0,"x_acceleration":1.9758741748326756,"y_acceleration":-1.0227423542760405,"angular_acceleration":0.0},{"time":6.519999999999905,"x":5.839971840826136,"y":2.72587101180332,"angle":0.0,"x_velocity":3.910273890845218,"y_velocity":2.353727530322734,"angular_velocity":0.0,"x_acceleration":1.4864036753167582,"y_acceleration":-1.4332943631514077,"angular_acceleration":0.0},{"time":6.529999999999905,"x":5.879140744427232,"y":2.7493298087836897,"angle":0.0,"x_velocity":3.9226916296573653,"y_velocity":2.3373516987074354,"angular_velocity":0.0,"x_acceleration":0.9973033603613644,"y_acceleration":-1.8413780919575125,"angular_acceleration":0.0},{"time":6.539999999999905,"x":5.9184093912068185,"y":2.772604496772659,"angle":0.0,"x_velocity":3.930225095033845,"y_velocity":2.316911495601368,"angular_velocity":0.0,"x_acceleration":0.5097441398263136,"y_acceleration":-2.2460036854280396,"angular_acceleration":0.0},{"time":6.549999999999905,"x":5.957729035000423,"y":2.795654621459673,"angle":0.0,"x_velocity":3.9328955524681595,"y_velocity":2.292446451634217,"angular_velocity":0.0,"x_acceleration":0.02489692357151796,"y_acceleration":-2.646181288296578,"angular_acceleration":0.0},{"time":6.559999999999905,"x":5.997051200844002,"y":2.8184401733332405,"angle":0.0,"x_velocity":3.93073597655241,"y_velocity":2.2640059959883327,"angular_velocity":0.0,"x_acceleration":-0.4560673785431675,"y_acceleration":-3.0409210452967557,"angular_acceleration":0.0},{"time":6.569999999999904,"x":6.036327802064928,"y":2.840921686666454,"angle":0.0,"x_velocity":3.9237910509772984,"y_velocity":2.231649456398733,"angular_velocity":0.0,"x_acceleration":-0.9319778566578734,"y_acceleration":-3.429233101162204,"angular_acceleration":0.0},{"time":6.579999999999904,"x":6.075511257372968,"y":2.863060338502521,"angle":0.0,"x_velocity":3.9121171685321183,"y_velocity":2.1954460591530944,"angular_velocity":0.0,"x_acceleration":-1.4016636009126913,"y_acceleration":-3.810127600626501,"angular_acceleration":0.0},{"time":6.589999999999904,"x":6.114554607951283,"y":2.8848180476402905,"angle":0.0,"x_velocity":3.8957824311047755,"y_velocity":2.1554749290917616,"angular_velocity":0.0,"x_acceleration":-1.863953701447798,"y_acceleration":-4.182614688423335,"angular_acceleration":0.0},{"time":6.599999999999904,"x":6.153411634547399,"y":2.9061575736197742,"angle":0.0,"x_velocity":3.87486664968176,"y_velocity":2.1118250896077404,"angular_velocity":0.0,"x_acceleration":-2.3176772484032853,"y_acceleration":-4.5457045092862955,"angular_acceleration":0.0},{"time":6.6099999999999035,"x":6.192036974564203,"y":2.927042615707682,"angle":0.0,"x_velocity":3.849461344348173,"y_velocity":2.064595462646703,"angular_velocity":0.0,"x_acceleration":-2.76166333191928,"y_acceleration":-4.898407207948971,"angular_acceleration":0.0},{"time":6.619999999999903,"x":6.230386239150926,"y":2.947437911882939,"angle":0.0,"x_velocity":3.8196697442877117,"y_velocity":2.0138948687069886,"angular_velocity":0.0,"x_acceleration":-3.194741042135959,"y_acceleration":-5.239732929145049,"angular_acceleration":0.0},{"time":6.629999999999903,"x":6.2684161302941295,"y":2.967309337822223,"angle":0.0,"x_velocity":3.7856067877826565,"y_velocity":1.9598420268395822,"angular_velocity":0.0,"x_acceleration":-3.6157394691934,"y_acceleration":-5.568691817608105,"angular_acceleration":0.0},{"time":6.639999999999903,"x":6.306084557908689,"y":2.986624005885478,"angle":0.0,"x_velocity":3.74739912221391,"y_velocity":1.9025655546481595,"angular_velocity":0.0,"x_acceleration":-4.023487703231744,"y_acceleration":-5.884294018071785,"angular_acceleration":0.0},{"time":6.649999999999903,"x":6.343350756928781,"y":3.005350364101454,"angle":0.0,"x_velocity":3.7051851040609556,"y_velocity":1.842203968289037,"angular_velocity":0.0,"x_acceleration":-4.416814834391104,"y_acceleration":-6.185549675269684,"angular_acceleration":0.0},{"time":6.659999999999902,"x":6.380175404398875,"y":3.0234582951532225,"angle":0.0,"x_velocity":3.6591147989018804,"y_velocity":1.7789056824712075,"angular_velocity":0.0,"x_acceleration":-4.794549952811607,"y_acceleration":-6.471468933935455,"angular_acceleration":0.0},{"time":6.669999999999902,"x":6.416520736564709,"y":3.0409192153637132,"angle":0.0,"x_velocity":3.609349981413386,"y_velocity":1.7128290104563249,"angular_velocity":0.0,"x_acceleration":-5.155522148633445,"y_acceleration":-6.7410619388027015,"angular_acceleration":0.0},{"time":6.679999999999902,"x":6.452350665964283,"y":3.0577061736812343,"angle":0.0,"x_velocity":3.556064135370743,"y_velocity":1.644142164058703,"angular_velocity":0.0,"x_acceleration":-5.498560511996686,"y_acceleration":-6.993338834605069,"angular_acceleration":0.0},{"time":6.689999999999902,"x":6.487630898518844,"y":3.073793950664995,"angle":0.0,"x_velocity":3.4994424536478466,"y_velocity":1.5730232536453297,"angular_velocity":0.0,"x_acceleration":-5.8224941330414595,"y_acceleration":-7.227309766076139,"angular_acceleration":0.0},{"time":6.699999999999902,"x":6.522329050623869,"y":3.0891591574706463,"angle":0.0,"x_velocity":3.4396818382171883,"y_velocity":1.499660288135848,"angular_velocity":0.0,"x_acceleration":-6.1261521019079055,"y_acceleration":-7.441984877949572,"angular_acceleration":0.0},{"time":6.709999999999901,"x":6.556414766240054,"y":3.103780334835794,"angle":0.0,"x_velocity":3.3769909001498206,"y_velocity":1.4242511750025582,"angular_velocity":0.0,"x_acceleration":-6.408363508736144,"y_acceleration":-7.636374314958971,"angular_acceleration":0.0},{"time":6.719999999999901,"x":6.5898598339842955,"y":3.1176380520655282,"angle":0.0,"x_velocity":3.3115899596154517,"y_velocity":1.347003720270438,"angular_velocity":0.0,"x_acceleration":-6.667957443666282,"y_acceleration":-7.809488221837938,"angular_acceleration":0.0},{"time":6.729999999999901,"x":6.622638304220687,"y":3.130715006017958,"angle":0.0,"x_velocity":3.243711045882357,"y_velocity":1.2681356285171255,"angular_velocity":0.0,"x_acceleration":-6.903762996838495,"y_acceleration":-7.960336743320141,"angular_acceleration":0.0},{"time":6.739999999999901,"x":6.65472660615149,"y":3.1429961200897276,"angle":0.0,"x_velocity":3.1735978973174124,"y_velocity":1.1878745028729139,"angular_velocity":0.0,"x_acceleration":-7.114609258392889,"y_acceleration":-8.087930024139183,"angular_acceleration":0.0},{"time":6.7499999999999005,"x":6.686103664908136,"y":3.1544686432015503,"angle":0.0,"x_velocity":3.1015059613860956,"y_velocity":1.1064578450207794,"angular_velocity":0.0,"x_acceleration":-7.299325318469599,"y_acceleration":-8.191278209028667,"angular_acceleration":0.0},{"time":6.7599999999999,"x":6.716751018642192,"y":3.165122248783729,"angle":0.0,"x_velocity":3.027702394652483,"y_velocity":1.0241330551963355,"angular_velocity":0.0,"x_acceleration":-7.456740267208701,"y_acceleration":-8.26939144272221,"angular_acceleration":0.0},{"time":6.7699999999999,"x":6.746652935616375,"y":3.174949133761692,"angle":0.0,"x_velocity":2.9524660627792514,"y_velocity":0.9411574321878753,"angular_velocity":0.0,"x_acceleration":-7.585683194750388,"y_acceleration":-8.3212798699535,"angular_acceleration":0.0},{"time":6.7799999999999,"x":6.775796531295504,"y":3.1839441175415053,"angle":0.0,"x_velocity":2.8760875405276707,"y_velocity":0.8577981733363576,"angular_velocity":0.0,"x_acceleration":-7.684983191234778,"y_acceleration":-8.345953635456098,"angular_acceleration":0.0},{"time":6.7899999999999,"x":6.804171885437519,"y":3.192104740995414,"angle":0.0,"x_velocity":2.7988691117576074,"y_velocity":0.7743323745354047,"angular_velocity":0.0,"x_acceleration":-7.753469346801964,"y_acceleration":-8.342422883963621,"angular_acceleration":0.0},{"time":6.7999999999998995,"x":6.831772159184444,"y":3.199431365447361,"angle":0.0,"x_velocity":2.7211247694275507,"y_velocity":0.6910470302312959,"angular_velocity":0.0,"x_acceleration":-7.789970751592094,"y_acceleration":-8.30969776020973,"angular_acceleration":0.0},{"time":6.809999999999899,"x":6.858593712153383,"y":3.205927271658522,"angle":0.0,"x_velocity":2.643180215594551,"y_velocity":0.6082390334229721,"angular_velocity":0.0,"x_acceleration":-7.793316495745287,"y_acceleration":-8.246788408928012,"angular_acceleration":0.0},{"time":6.819999999999899,"x":6.884636219527497,"y":3.211598758812807,"angle":0.0,"x_velocity":2.565372861414307,"y_velocity":0.5262151756620561,"angular_velocity":0.0,"x_acceleration":-7.762335669401708,"y_acceleration":-8.152704974852142,"angular_acceleration":0.0},{"time":6.829999999999899,"x":6.9099027891470115,"y":3.216455243502427,"angle":0.0,"x_velocity":2.48805182714106,"y_velocity":0.44529214705281106,"angular_velocity":0.0,"x_acceleration":-7.695857362701446,"y_acceleration":-8.026457602715695,"angular_acceleration":0.0},{"time":6.839999999999899,"x":6.9344000786001745,"y":3.2205093587133864,"angle":0.0,"x_velocity":2.4115779421276713,"y_velocity":0.3657965362521658,"angular_velocity":0.0,"x_acceleration":-7.592710665784608,"y_acceleration":-7.867056437252245,"angular_acceleration":0.0},{"time":6.849999999999898,"x":6.958138412314257,"y":3.2237770528110223,"angle":0.0,"x_velocity":2.33632374482562,"y_velocity":0.28806483046974307,"angular_velocity":0.0,"x_acceleration":-7.451724668791371,"y_acceleration":-7.673511623195523,"angular_acceleration":0.0},{"time":6.859999999999898,"x":6.981131898646546,"y":3.2262776885255424,"angle":0.0,"x_velocity":2.2626734827849795,"y_velocity":0.2124434154677992,"angular_velocity":0.0,"x_acceleration":-7.271728461861869,"y_acceleration":-7.444833305279104,"angular_acceleration":0.0},{"time":6.869999999999898,"x":7.003398546975315,"y":3.228034141937526,"angle":0.0,"x_velocity":2.1910231126543813,"y_velocity":0.13928857556124896,"angular_velocity":0.0,"x_acceleration":-7.051551135136208,"y_acceleration":-7.18003162823662,"angular_acceleration":0.0},{"time":6.879999999999898,"x":7.024960384790813,"y":3.2290729014634714,"angle":0.0,"x_velocity":2.121780300181104,"y_velocity":0.06896649361770457,"angular_velocity":0.0,"x_acceleration":-6.790021778754436,"y_acceleration":-6.87811673680163,"angular_acceleration":0.0},{"time":6.8899999999998975,"x":7.045843574786267,"y":3.229424166841315,"angle":0.0,"x_velocity":2.0553644202110206,"y_velocity":0.0018532510574189587,"angular_velocity":0.0,"x_acceleration":-6.485969482856831,"y_acceleration":-6.5380987757078515,"angular_acceleration":0.0},{"time":6.899999999999897,"x":7.066078531948851,"y":3.229121948115967,"angle":0.0,"x_velocity":1.9922065566885507,"y_velocity":-0.061665172146696534,"angular_velocity":0.0,"x_acceleration":-6.138223337583355,"y_acceleration":-6.158987889688817,"angular_acceleration":0.0},{"time":6.909999999999897,"x":7.085700040650661,"y":3.228204164624816,"angle":0.0,"x_velocity":1.9327495026567973,"y_velocity":-0.12119289746905437,"angular_velocity":0.0,"x_acceleration":-5.745612433074314,"y_acceleration":-5.739794223478242,"angular_acceleration":0.0},{"time":6.919999999999897,"x":7.104747371739747,"y":3.2267127439832812,"angle":0.0,"x_velocity":1.8774477602573825,"y_velocity":-0.1763241478314086,"angular_velocity":0.0,"x_acceleration":-5.306965859469642,"y_acceleration":-5.279527921809631,"angular_acceleration":0.0},{"time":6.929999999999897,"x":7.12326439963104,"y":3.2246937210703193,"angle":0.0,"x_velocity":1.8267675407306,"y_velocity":-0.2266432476028193,"angular_velocity":0.0,"x_acceleration":-4.821112706909702,"y_acceleration":-4.777199129416772,"angular_acceleration":0.0},{"time":6.9399999999998965,"x":7.141299719397379,"y":3.2221973370139656,"angle":0.0,"x_velocity":1.7811867644152457,"y_velocity":-0.2717246225997556,"angular_velocity":0.0,"x_acceleration":-4.286882065534371,"y_acceleration":-4.231817991033097,"angular_acceleration":0.0},{"time":6.949999999999896,"x":7.158906763860498,"y":3.219278138176853,"angle":0.0,"x_velocity":1.7411950607488293,"y_velocity":-0.31113280008595723,"angular_velocity":0.0,"x_acceleration":-3.7031030254839834,"y_acceleration":-3.6423946513924363,"angular_acceleration":0.0},{"time":6.959999999999896,"x":7.176143920681962,"y":3.2159950751417385,"angle":0.0,"x_velocity":1.7072937682673626,"y_velocity":-0.3444224087725374,"angular_velocity":0.0,"x_acceleration":-3.0686046768985307,"y_acceleration":-3.0079392552281377,"angular_acceleration":0.0},{"time":6.969999999999896,"x":7.19307464945423,"y":3.2124116016970365,"angle":0.0,"x_velocity":1.6799959346055005,"y_velocity":-0.3711381788179082,"angular_velocity":0.0,"x_acceleration":-2.3822161099181756,"y_acceleration":-2.327461947274031,"angular_acceleration":0.0},{"time":6.979999999999896,"x":7.209767598791572,"y":3.2085957738223296,"angle":0.0,"x_velocity":1.6598263164965061,"y_velocity":-0.39081494182781995,"angular_velocity":0.0,"x_acceleration":-1.6427664146830807,"y_acceleration":-1.59997287226372,"angular_acceleration":0.0},{"time":6.989999999999895,"x":7.226296723421099,"y":3.204620348673915,"angle":0.0,"x_velocity":1.6473213797722224,"y_velocity":-0.4029776308554247,"angular_velocity":0.0,"x_acceleration":-0.8490846813333519,"y_acceleration":-0.8244821749308073,"angular_acceleration":0.0},{"time":6.999999999999895,"x":7.242741401273721,"y":3.2005628835703206,"angle":0.0,"x_velocity":1.6430292993630928,"y_velocity":-0.4071412804011487,"angular_velocity":0.0,"x_acceleration":-9.123368727159686e-12,"y_acceleration":-8.924416761146858e-12,"angular_acceleration":0.0},{"time":7.009999999999895,"x":7.259172113561714,"y":3.196478071075268,"angle":0.0,"x_velocity":1.6431523242555395,"y_velocity":-0.41114149479196027,"angular_velocity":0.0,"x_acceleration":0.023502695846922,"y_acceleration":-0.7921813704562578,"angular_acceleration":0.0},{"time":7.019999999999895,"x":7.275605121776385,"y":3.192314429603305,"angle":0.0,"x_velocity":1.6434776161141362,"y_velocity":-0.42282924375557923,"angular_velocity":0.0,"x_acceleration":0.04048424193616163,"y_acceleration":-1.5376635245134904,"angular_acceleration":0.0},{"time":7.0299999999998946,"x":7.292042125614771,"y":3.1879974031085307,"angle":0.0,"x_velocity":1.6439408889026703,"y_velocity":-0.44174223342675767,"angular_velocity":0.0,"x_acceleration":0.05112973054769254,"y_acceleration":-2.2373861219292017,"angular_acceleration":0.0},{"time":7.039999999999894,"x":7.3084841911681675,"y":3.1834570115007033,"angle":0.0,"x_velocity":1.6444797075077653,"y_velocity":-0.46742756653791073,"angular_velocity":0.0,"x_acceleration":0.055624253961769475,"y_acceleration":-2.892288822469447,"angular_acceleration":0.0},{"time":7.049999999999894,"x":7.3249317694313545,"y":3.1786277566792718,"angle":0.0,"x_velocity":1.6450334877388482,"y_velocity":-0.49944174241911393,"angular_velocity":0.0,"x_acceleration":0.054152904458647205,"y_acceleration":-3.50331128590028,"angular_acceleration":0.0},{"time":7.059999999999894,"x":7.341384714811813,"y":3.1734485285673952,"angle":0.0,"x_velocity":1.6455434963281483,"y_velocity":-0.5373506569981037,"angular_velocity":0.0,"x_acceleration":0.046900774318580515,"y_acceleration":-4.071393171987755,"angular_acceleration":0.0},{"time":7.069999999999894,"x":7.357842303638969,"y":3.1678625111459664,"angle":0.0,"x_velocity":1.6459528509306978,"y_velocity":-0.5807296028002764,"angular_velocity":0.0,"x_acceleration":0.03405295582182414,"y_acceleration":-4.597474140497927,"angular_acceleration":0.0},{"time":7.0799999999998935,"x":7.374303252673405,"y":3.161817088487636,"angle":0.0,"x_velocity":1.64620652012433,"y_velocity":-0.6291632689486893,"angular_velocity":0.0,"x_acceleration":0.015794541248632877,"y_acceleration":-5.082493851196852,"angular_acceleration":0.0},{"time":7.089999999999893,"x":7.3907657376161024,"y":3.1552637507908354,"angle":0.0,"x_velocity":1.6462513234096832,"y_velocity":-0.6822457411640606,"angular_velocity":0.0,"x_acceleration":-0.007689377120738493,"y_acceleration":-5.527391963850583,"angular_acceleration":0.0},{"time":7.099999999999893,"x":7.407227411617658,"y":3.1481580004138032,"angle":0.0,"x_velocity":1.6460359312101958,"y_velocity":-0.7395805017647681,"angular_velocity":0.0,"x_acceleration":-0.03621370700603529,"y_acceleration":-5.933108138225173,"angular_acceleration":0.0},{"time":7.109999999999893,"x":7.423685423787519,"y":3.1404592579086024,"angle":0.0,"x_velocity":1.64551086487211,"y_velocity":-0.8007804296668511,"angular_velocity":0.0,"x_acceleration":-0.06959335612700268,"y_acceleration":-6.300582034086679,"angular_acceleration":0.0},{"time":7.119999999999893,"x":7.4401364377032095,"y":3.132130768055149,"angle":0.0,"x_velocity":1.6446284966644709,"y_velocity":-0.865467800384009,"angular_velocity":0.0,"x_acceleration":-0.10764323220338584,"y_acceleration":-6.630753311201154,"angular_acceleration":0.0},{"time":7.129999999999892,"x":7.456576649919558,"y":3.1231395058952343,"angle":0.0,"x_velocity":1.643343049779125,"y_velocity":-0.9332742860276015,"angular_velocity":0.0,"x_acceleration":-0.15017824295493026,"y_acceleration":-6.924561629334654,"angular_acceleration":0.0},{"time":7.139999999999892,"x":7.473001808477923,"y":3.113456082766546,"angle":0.0,"x_velocity":1.6416105983307225,"y_velocity":-1.0038409553066494,"angular_velocity":0.0,"x_acceleration":-0.19701329610138085,"y_acceleration":-7.1829466482532345,"angular_acceleration":0.0},{"time":7.149999999999892,"x":7.489407231415427,"y":3.1030546523366946,"angle":0.0,"x_velocity":1.6393890673567153,"y_velocity":-1.0768182735278338,"angular_velocity":0.0,"x_acceleration":-0.24796329936248285,"y_acceleration":-7.406848027722946,"angular_acceleration":0.0},{"time":7.159999999999892,"x":7.505787825274181,"y":3.0919128166372345,"angle":0.0,"x_velocity":1.6366382328173583,"y_velocity":-1.151866102595496,"angular_velocity":0.0,"x_acceleration":-0.30284316045798204,"y_acceleration":-7.597205427509843,"angular_acceleration":0.0},{"time":7.169999999999892,"x":7.522138103610508,"y":3.08001153209769,"angle":0.0,"x_velocity":1.6333197215957087,"y_velocity":-1.228653701011638,"angular_velocity":0.0,"x_acceleration":-0.361467787107623,"y_acceleration":-7.754958507379986,"angular_acceleration":0.0},{"time":7.179999999999891,"x":7.53845220550418,"y":3.0673350155795744,"angle":0.0,"x_velocity":1.6293970114976264,"y_velocity":-1.3068597238759232,"angular_velocity":0.0,"x_acceleration":-0.4236520870311511,"y_acceleration":-7.881046927099426,"angular_acceleration":0.0},{"time":7.189999999999891,"x":7.554723914067643,"y":3.05387065041042,"angle":0.0,"x_velocity":1.6248354312517739,"y_velocity":-1.3861722228856743,"angular_velocity":0.0,"x_acceleration":-0.489210967948312,"y_acceleration":-7.976410346434216,"angular_acceleration":0.0},{"time":7.199999999999891,"x":7.570946674955237,"y":3.0396088924177938,"angle":0.0,"x_velocity":1.619602160509616,"y_velocity":-1.4662886463358755,"angular_velocity":0.0,"x_acceleration":-0.5579593375788503,"y_acceleration":-8.04198842515041,"angular_acceleration":0.0},{"time":7.209999999999891,"x":7.587113614872436,"y":3.024543175963326,"angle":0.0,"x_velocity":1.61366622984542,"y_velocity":-1.5469158391191704,"angular_velocity":0.0,"x_acceleration":-0.6297121036425117,"y_acceleration":-8.07872082301407,"angular_acceleration":0.0},{"time":7.2199999999998905,"x":7.603217560085071,"y":3.008669819976733,"angle":0.0,"x_velocity":1.6069985207562563,"y_velocity":-1.6277700427258652,"angular_velocity":0.0,"x_acceleration":-0.7042841738590413,"y_acceleration":-8.08754719979124,"angular_acceleration":0.0},{"time":7.22999999999989,"x":7.619251054928553,"y":2.991987933989838,"angle":0.0,"x_velocity":1.5995717656619977,"y_velocity":-1.7085768952439244,"angular_velocity":0.0,"x_acceleration":-0.7814904559481842,"y_acceleration":-8.069407215247985,"angular_acceleration":0.0},{"time":7.23999999999989,"x":7.6352063803171095,"y":2.9744993241705977,"angle":0.0,"x_velocity":1.5913605479053186,"y_velocity":-1.789071431358973,"angular_velocity":0.0,"x_acceleration":-0.8611458576296855,"y_acceleration":-8.025240529150349,"angular_acceleration":0.0},{"time":7.24999999999989,"x":7.65107557225301,"y":2.9562083993571244,"angle":0.0,"x_velocity":1.582341301751697,"y_velocity":-1.8689980823542995,"angular_velocity":0.0,"x_acceleration":-0.9430652866232914,"y_acceleration":-7.955986801264391,"angular_acceleration":0.0},{"time":7.25999999999989,"x":7.666850440335789,"y":2.937122077091708,"angle":0.0,"x_velocity":1.5724923123894134,"y_velocity":-1.9481106761108502,"angular_velocity":0.0,"x_acceleration":-1.027063650648746,"y_acceleration":-7.862585691356169,"angular_acceleration":0.0},{"time":7.269999999999889,"x":7.682522586271481,"y":2.9172496896548417,"angle":0.0,"x_velocity":1.5617937159295505,"y_velocity":-2.026172437107233,"angular_velocity":0.0,"x_acceleration":-1.1129558574257952,"y_acceleration":-7.745976859191732,"angular_acceleration":0.0},{"time":7.279999999999889,"x":7.698083422381843,"y":2.896602890099244,"angle":0.0,"x_velocity":1.5502274994059937,"y_velocity":-2.102955986419715,"angular_velocity":0.0,"x_acceleration":-1.2005568146741834,"y_acceleration":-7.607099964537141,"angular_acceleration":0.0},{"time":7.289999999999889,"x":7.713524190113586,"y":2.875195558283882,"angle":0.0,"x_velocity":1.5377775007754304,"y_velocity":-2.178243341722226,"angular_velocity":0.0,"x_acceleration":-1.289681430113657,"y_acceleration":-7.446894667158444,"angular_acceleration":0.0},{"time":7.299999999999889,"x":7.728835978547601,"y":2.853043706907995,"angle":0.0,"x_velocity":1.5244294089173516,"y_velocity":-2.251825917286353,"angular_velocity":0.0,"x_acceleration":-1.38014461146396,"y_acceleration":-7.2663006268217,"angular_acceleration":0.0},{"time":7.309999999999889,"x":7.74400974290819,"y":2.830165387545119,"angle":0.0,"x_velocity":1.51017076363405,"y_velocity":-2.323504523981349,"angular_velocity":0.0,"x_acceleration":-1.4717612664448396,"y_acceleration":-7.066257503292958,"angular_acceleration":0.0},{"time":7.319999999999888,"x":7.759036323072289,"y":2.8065805966771094,"angle":0.0,"x_velocity":1.494990955650621,"y_velocity":-2.393089369274123,"angular_velocity":0.0,"x_acceleration":-1.5643463027760387,"y_acceleration":-6.847704956338277,"angular_acceleration":0.0},{"time":7.329999999999888,"x":7.773906462078703,"y":2.782311181728163,"angle":0.0,"x_velocity":1.478881226614963,"y_velocity":-2.4604000572292457,"angular_velocity":0.0,"x_acceleration":-1.6577146281773034,"y_acceleration":-6.611582645723717,"angular_acceleration":0.0},{"time":7.339999999999888,"x":7.788610824637324,"y":2.7573807470988427,"angle":0.0,"x_velocity":1.4618346690977764,"y_velocity":-2.525265588508948,"angular_velocity":0.0,"x_acceleration":-1.7516811503683796,"y_acceleration":-6.3588302312153235,"angular_acceleration":0.0},{"time":7.349999999999888,"x":7.803140015638372,"y":2.7318145602001036,"angle":0.0,"x_velocity":1.4438462265925642,"y_velocity":-2.587524360373123,"angular_velocity":0.0,"x_acceleration":-1.8460607770690114,"y_acceleration":-6.090387372579149,"angular_acceleration":0.0},{"time":7.3599999999998875,"x":7.817484598661612,"y":2.7056394574873086,"angle":0.0,"x_velocity":1.4249126935156327,"y_velocity":-2.647024166679323,"angular_velocity":0.0,"x_acceleration":-1.940668415998945,"y_acceleration":-5.807193729581262,"angular_acceleration":0.0},{"time":7.369999999999887,"x":7.831635114485585,"y":2.6788837504942604,"angle":0.0,"x_velocity":1.4050327152060893,"y_velocity":-2.7036221978827597,"angular_velocity":0.0,"x_acceleration":-2.035318974877926,"y_acceleration":-5.510188961987698,"angular_acceleration":0.0},{"time":7.379999999999887,"x":7.845582099596839,"y":2.65157713186722,"angle":0.0,"x_velocity":1.3842067879258457,"y_velocity":-2.7571850410363092,"angular_velocity":0.0,"x_acceleration":-2.129827361425699,"y_acceleration":-5.200312729564528,"angular_acceleration":0.0},{"time":7.389999999999887,"x":7.859316104699157,"y":2.6237505813989324,"angle":0.0,"x_velocity":1.3624372588596145,"y_velocity":-2.8075886797905043,"angular_velocity":0.0,"x_acceleration":-2.2240084833620086,"y_acceleration":-4.87850469207779,"angular_acceleration":0.0},{"time":7.399999999999887,"x":7.872827713222779,"y":2.5954362720626483,"angle":0.0,"x_velocity":1.3397283261149122,"y_velocity":-2.8547184943935373,"angular_velocity":0.0,"x_acceleration":-2.3176772484066004,"y_acceleration":-4.545704509293563,"angular_acceleration":0.0},{"time":7.4099999999998865,"x":7.886107559833635,"y":2.5666674760461476,"angle":0.0,"x_velocity":1.316086038722057,"y_velocity":-2.8984692616912673,"angular_velocity":0.0,"x_acceleration":-2.410648564279219,"y_acceleration":-4.202851840977882,"angular_acceleration":0.0},{"time":7.419999999999886,"x":7.899146348942577,"y":2.537478470785764,"angle":0.0,"x_velocity":1.2915182966341692,"y_velocity":-2.9387451551272097,"angular_velocity":0.0,"x_acceleration":-2.502737338699613,"y_acceleration":-3.8508863468968,"angular_acceleration":0.0},{"time":7.429999999999886,"x":7.911934873214596,"y":2.5079044450004058,"angle":0.0,"x_velocity":1.2660348507271737,"y_velocity":-2.9754597447425377,"angular_velocity":0.0,"x_acceleration":-2.5937584793875237,"y_acceleration":-3.490747686816384,"angular_acceleration":0.0},{"time":7.439999999999886,"x":7.92446403207806,"y":2.477981404725586,"angle":0.0,"x_velocity":1.2396473027997956,"y_velocity":-3.0085359971760908,"angular_velocity":0.0,"x_acceleration":-2.683526894062697,"y_acceleration":-3.1233755205026874,"angular_acceleration":0.0},{"time":7.449999999999886,"x":7.936724850233937,"y":2.447746079347436,"angle":0.0,"x_velocity":1.2123691055735644,"y_velocity":-3.0379062756643678,"angular_velocity":0.0,"x_acceleration":-2.771857490444879,"y_acceleration":-2.7497095077217573,"angular_acceleration":0.0},{"time":7.459999999999885,"x":7.9487084961650245,"y":2.4172358276367367,"angle":0.0,"x_velocity":1.1842155626928104,"y_velocity":-3.0635123400415223,"angular_velocity":0.0,"x_acceleration":-2.8585651762538165,"y_acceleration":-2.370689308239637,"angular_acceleration":0.0},{"time":7.469999999999885,"x":7.960406300645177,"y":2.3864885437829377,"angle":0.0,"x_velocity":1.1552038287246675,"y_velocity":-3.085305346739374,"angular_velocity":0.0,"x_acceleration":-2.943464859209252,"y_acceleration":-1.9872545818224054,"angular_acceleration":0.0},{"time":7.479999999999885,"x":7.971809775248534,"y":2.3555425634281835,"angle":0.0,"x_velocity":1.1253529091590724,"y_velocity":-3.103245848787407,"angular_velocity":0.0,"x_acceleration":-3.0263714470309306,"y_acceleration":-1.6003449882361167,"angular_acceleration":0.0},{"time":7.489999999999885,"x":7.98291063085875,"y":2.324436569701333,"angle":0.0,"x_velocity":1.094683660408764,"y_velocity":-3.1173037958127545,"angular_velocity":0.0,"x_acceleration":-3.1070998474386,"y_acceleration":-1.2109001872468106,"angular_acceleration":0.0},{"time":7.4999999999998845,"x":7.993700796178221,"y":2.2932094992519887,"angle":0.0,"x_velocity":1.0632187898092824,"y_velocity":-3.127458534040219,"angular_velocity":0.0,"x_acceleration":-3.1854649681520044,"y_acceleration":-0.8198598386205376,"angular_acceleration":0.0},{"time":7.509999999999884,"x":8.004172436237308,"y":2.261900448284514,"angle":0.0,"x_velocity":1.0309828556189728,"y_velocity":-3.133698806292259,"angular_velocity":0.0,"x_acceleration":-3.2612817168908883,"y_acceleration":-0.42816360212336235,"angular_acceleration":0.0},{"time":7.519999999999884,"x":8.014317970903576,"y":2.2305485785920625,"angle":0.0,"x_velocity":0.9980022670189823,"y_velocity":-3.1360227519890045,"angular_velocity":0.0,"x_acceleration":-3.334365001374998,"y_acceleration":-0.0367511375213283,"angular_acceleration":0.0},{"time":7.529999999999884,"x":8.024130093391012,"y":2.199193023590594,"angle":0.0,"x_velocity":0.9643052841132584,"y_velocity":-3.134437907148225,"angular_velocity":0.0,"x_acceleration":-3.4045297293240777,"y_acceleration":0.353437895419475,"angular_acceleration":0.0},{"time":7.539999999999884,"x":8.033601788769252,"y":2.167872794352905,"angle":0.0,"x_velocity":0.9299220179285529,"y_velocity":-3.128961204385371,"angular_velocity":0.0,"x_acceleration":-3.471590808457873,"y_acceleration":0.7414638369330326,"angular_acceleration":0.0},{"time":7.5499999999998835,"x":8.042726352472826,"y":2.1366266856426512,"angle":0.0,"x_velocity":0.8948844304144205,"y_velocity":-3.1196189729135417,"angular_velocity":0.0,"x_acceleration":-3.5353631464961284,"y_acceleration":1.1263870272532657,"angular_acceleration":0.0},{"time":7.559999999999883,"x":8.05149740881036,"y":2.105493181948363,"angle":0.0,"x_velocity":0.8592263344432177,"y_velocity":-3.1064469385435043,"angular_velocity":0.0,"x_acceleration":-3.59566165115859,"y_acceleration":1.507267806614145,"angular_acceleration":0.0},{"time":7.569999999999883,"x":8.059908929473824,"y":2.0745103635174815,"angle":0.0,"x_velocity":0.8229833938101034,"y_velocity":-3.0894902236836783,"angular_velocity":0.0,"x_acceleration":-3.652301230165004,"y_acceleration":1.8831665152495987,"angular_acceleration":0.0},{"time":7.579999999999883,"x":8.067955252047756,"y":2.0437158123903703,"angle":0.0,"x_velocity":0.7861931232330406,"y_velocity":-3.0688033473401495,"angular_velocity":0.0,"x_acceleration":-3.705096791235116,"y_acceleration":2.2531434933935657,"angular_acceleration":0.0},{"time":7.589999999999883,"x":8.075631098518484,"y":2.013146518434346,"angle":0.0,"x_velocity":0.7488948883527919,"y_velocity":-3.0444502251166625,"angular_velocity":0.0,"x_acceleration":-3.753863242088668,"y_acceleration":2.616259081279992,"angular_acceleration":0.0},{"time":7.599999999999882,"x":8.082931593783353,"y":1.9828387853776996,"angle":0.0,"x_velocity":0.7111299057329247,"y_velocity":-3.016504169214631,"angular_velocity":0.0,"x_acceleration":-3.7984154904454055,"y_acceleration":2.971573619142852,"angular_acceleration":0.0},{"time":7.609999999999882,"x":8.089852284159972,"y":1.9528281368437193,"angle":0.0,"x_velocity":0.6729412428598087,"y_velocity":-2.985047888433109,"angular_velocity":0.0,"x_acceleration":-3.8385684440250794,"y_acceleration":3.3181474472160772,"angular_acceleration":0.0},{"time":7.619999999999882,"x":8.096389155895414,"y":1.9231492223847142,"angle":0.0,"x_velocity":0.634373818142616,"y_velocity":-2.9501734881688266,"angular_velocity":0.0,"x_acceleration":-3.874137010547427,"y_acceleration":3.6550409057335713,"angular_acceleration":0.0},{"time":7.629999999999882,"x":8.10253865367546,"y":1.893835723516038,"angle":0.0,"x_velocity":0.5954744009133202,"y_velocity":-2.9119824704161745,"angular_velocity":0.0,"x_acceleration":-3.904936097732202,"y_acceleration":3.981314334929351,"angular_acceleration":0.0},{"time":7.6399999999998816,"x":8.10829769913383,"y":1.8649202597501127,"angle":0.0,"x_velocity":0.5562916114266998,"y_velocity":-2.8705857337672036,"angular_velocity":0.0,"x_acceleration":-3.9307806132991416,"y_acceleration":4.296028075037306,"angular_acceleration":0.0},{"time":7.649999999999881,"x":8.113663709361402,"y":1.8364342946304508,"angle":0.0,"x_velocity":0.5168759208603333,"y_velocity":-2.8261035734116113,"angular_velocity":0.0,"x_acceleration":-3.951485464967993,"y_acceleration":4.598242466291396,"angular_acceleration":0.0},{"time":7.659999999999881,"x":8.118634615415447,"y":1.8084080417656792,"angle":0.0,"x_velocity":0.4772796513146027,"y_velocity":-2.7786656811367774,"angular_velocity":0.0,"x_acceleration":-3.9668655604585066,"y_acceleration":4.887017848925581,"angular_acceleration":0.0},{"time":7.669999999999881,"x":8.12320888082885,"y":1.7808703708635627,"angle":0.0,"x_velocity":0.4375569758126925,"y_velocity":-2.7284111453277218,"angular_velocity":0.0,"x_acceleration":-3.976735807490421,"y_acceleration":5.1614145631738,"angular_acceleration":0.0},{"time":7.679999999999881,"x":8.12738552011934,"y":1.7538487137650298,"angle":0.0,"x_velocity":0.3977639183005919,"y_velocity":-2.6754884509671406,"angular_velocity":0.0,"x_acceleration":-3.9809111137834883,"y_acceleration":5.420492949269999,"angular_acceleration":0.0},{"time":7.6899999999998805,"x":8.13116411729873,"y":1.7273689704781912,"angle":0.0,"x_velocity":0.35795835364708894,"y_velocity":-2.620055479635388,"angular_velocity":0.0,"x_acceleration":-3.9792063870574435,"y_acceleration":5.663313347448096,"angular_acceleration":0.0},{"time":7.69999999999988,"x":8.134544844382127,"y":1.701455415212367,"angle":0.0,"x_velocity":0.31820000764377565,"y_velocity":-2.5622795095104625,"angular_velocity":0.0,"x_acceleration":-3.971436535032044,"y_acceleration":5.888936097942086,"angular_acceleration":0.0},{"time":7.70999999999988,"x":8.137528479897163,"y":1.6761306024121079,"angle":0.0,"x_velocity":0.2785504570050479,"y_velocity":-2.502337215368046,"angular_velocity":0.0,"x_acceleration":-3.9574164654270234,"y_acceleration":6.0964215409858795,"angular_acceleration":0.0},{"time":7.71999999999988,"x":8.140116427393242,"y":1.6514152727912201,"angle":0.0,"x_velocity":0.23907312936810365,"y_velocity":-2.4404146685814645,"angular_velocity":0.0,"x_acceleration":-3.936961085962139,"y_acceleration":6.28483001681343,"angular_acceleration":0.0},{"time":7.72999999999988,"x":8.14231073395074,"y":1.6273282593667904,"angle":0.0,"x_velocity":0.19983330329294047,"y_velocity":-2.376707337121722,"angular_velocity":0.0,"x_acceleration":-3.909885304357129,"y_acceleration":6.453221865658676,"angular_acceleration":0.0},{"time":7.739999999999879,"x":8.144114108690255,"y":1.6038863934932017,"angle":0.0,"x_velocity":0.16089810826236395,"y_velocity":-2.311420085557458,"angular_velocity":0.0,"x_acceleration":-3.876004028331737,"y_acceleration":6.600657427755593,"angular_acceleration":0.0},{"time":7.749999999999879,"x":8.14552994128183,"y":1.5811044108961692,"angle":0.0,"x_velocity":0.12233652468197675,"y_velocity":-2.2447671750549905,"angular_velocity":0.0,"x_acceleration":-3.8351321656057102,"y_acceleration":6.7261970433380895,"angular_acceleration":0.0},{"time":7.759999999999879,"x":8.146562320454168,"y":1.5589948577067514,"angle":0.0,"x_velocity":0.08421938388018724,"y_velocity":-2.176972263378305,"angular_velocity":0.0,"x_acceleration":-3.787084623898796,"y_acceleration":6.828901052640134,"angular_acceleration":0.0},{"time":7.769999999999879,"x":8.147216052503875,"y":1.5375679964953788,"angle":0.0,"x_velocity":0.04661936810820588,"y_velocity":-2.1082684048890137,"angular_velocity":0.0,"x_acceleration":-3.731676310930734,"y_acceleration":6.907829795895694,"angular_acceleration":0.0},{"time":7.779999999999879,"x":8.147496679804686,"y":1.5168317123058825,"angle":0.0,"x_velocity":0.009611010540046205,"y_velocity":-2.0388980505464325,"angular_velocity":0.0,"x_acceleration":-3.66872213442128,"y_acceleration":6.962043613338622,"angular_acceleration":0.0},{"time":7.789999999999878,"x":8.147410499316686,"y":1.4967914186895066,"angle":0.0,"x_velocity":-0.02672930472747881,"y_velocity":-1.9691130479075127,"angular_velocity":0.0,"x_acceleration":-3.5980370020901624,"y_acceleration":6.990602845202943,"angular_acceleration":0.0},{"time":7.799999999999878,"x":8.146964581095546,"y":1.477449963738938,"angle":0.0,"x_velocity":-0.06232334267475048,"y_velocity":-1.899174641126855,"angular_velocity":0.0,"x_acceleration":-3.5194358216571455,"y_acceleration":6.99256783172261,"angular_acceleration":0.0},{"time":7.809999999999878,"x":8.146166786801743,"y":1.458807536122333,"angle":0.0,"x_velocity":-0.09709101735934711,"y_velocity":-1.8293534709567538,"angular_velocity":0.0,"x_acceleration":-3.4327335008419624,"y_acceleration":6.966998913131519,"angular_acceleration":0.0},{"time":7.819999999999878,"x":8.145025788209795,"y":1.4408615711173338,"angle":0.0,"x_velocity":-0.13095039191604618,"y_velocity":-1.7599295747471544,"angular_velocity":0.0,"x_acceleration":-3.337744947364367,"y_acceleration":6.912956429663694,"angular_acceleration":0.0},{"time":7.8299999999998775,"x":8.143551085717482,"y":1.423606656645097,"angle":0.0,"x_velocity":-0.16381767855682305,"y_velocity":-1.691192386445632,"angular_velocity":0.0,"x_acceleration":-3.2342850689440894,"y_acceleration":6.829500721552947,"angular_acceleration":0.0},{"time":7.839999999999877,"x":8.141753026855088,"y":1.4070344393043133,"angle":0.0,"x_velocity":-0.1956072385708505,"y_velocity":-1.623440736597459,"angular_velocity":0.0,"x_acceleration":-3.122168773300892,"y_acceleration":6.715692129033357,"angular_acceleration":0.0},{"time":7.849999999999877,"x":8.139642824794608,"y":1.3911335304052281,"angle":0.0,"x_velocity":-0.22623158232449558,"y_velocity":-1.556982852345559,"angular_velocity":0.0,"x_acceleration":-3.00121096815451,"y_acceleration":6.570590992338808,"angular_acceleration":0.0},{"time":7.859999999999877,"x":8.137232576858997,"y":1.3758894120036778,"angle":0.0,"x_velocity":-0.2556013692613268,"y_velocity":-1.4921363574304962,"angular_velocity":0.0,"x_acceleration":-2.871226561224695,"y_acceleration":6.39325765170328,"angular_acceleration":0.0},{"time":7.869999999999877,"x":8.13453528303138,"y":1.3612843429350994,"angle":0.0,"x_velocity":-0.2836254079021101,"y_velocity":-1.4292282721905067,"angular_velocity":0.0,"x_acceleration":-2.7320304602311793,"y_acceleration":6.182752447360656,"angular_acceleration":0.0},{"time":7.879999999999876,"x":8.131564864464291,"y":1.3472972648485664,"angle":0.0,"x_velocity":-0.310210655844803,"y_velocity":-1.3685950135615315,"angular_velocity":0.0,"x_acceleration":-2.5834375728937253,"y_acceleration":5.938135719544945,"angular_acceleration":0.0},{"time":7.889999999999876,"x":8.128336181988901,"y":1.3339037082407899,"angle":0.0,"x_velocity":-0.33526221976457027,"y_velocity":-1.3105823950770805,"angular_velocity":0.0,"x_acceleration":-2.4252628069320643,"y_acceleration":5.658467808490002,"angular_acceleration":0.0},{"time":7.899999999999876,"x":8.124865054624243,"y":1.3210756984901701,"angle":0.0,"x_velocity":-0.3586833554137625,"y_velocity":-1.2555456268684146,"angular_velocity":0.0,"x_acceleration":-2.257321070065956,"y_acceleration":5.342809054429935,"angular_acceleration":0.0},{"time":7.909999999999876,"x":8.121168278086438,"y":1.3087816618908077,"angle":0.0,"x_velocity":-0.38037546762193664,"y_velocity":-1.2038493156643995,"angular_velocity":0.0,"x_acceleration":-2.0794272700151275,"y_acceleration":4.990219797598499,"angular_acceleration":0.0},{"time":7.919999999999876,"x":8.117263643297928,"y":1.2969863316865133,"angle":0.0,"x_velocity":-0.4002381102958461,"y_velocity":-1.1558674647915765,"angular_velocity":0.0,"x_acceleration":-1.8913963144993424,"y_acceleration":4.599760378229789,"angular_acceleration":0.0},{"time":7.929999999999875,"x":8.1131699548967,"y":1.285650654104857,"angle":0.0,"x_velocity":-0.41816898641944,"y_velocity":-1.1119834741741492,"angular_velocity":0.0,"x_acceleration":-1.6930431112383282,"y_acceleration":4.170491136557672,"angular_acceleration":0.0},{"time":7.939999999999875,"x":8.108907049745511,"y":1.2747316943911713,"angle":0.0,"x_velocity":-0.43406394805386306,"y_velocity":-1.0725901403339861,"angular_velocity":0.0,"x_acceleration":-1.4841825679518372,"y_acceleration":3.701472412816088,"angular_acceleration":0.0},{"time":7.949999999999875,"x":8.104495815441132,"y":1.2641825428425895,"angle":0.0,"x_velocity":-0.44781699633745564,"y_velocity":-1.0380896563906141,"angular_velocity":0.0,"x_acceleration":-1.2646295923596291,"y_acceleration":3.191764547239046,"angular_acceleration":0.0},{"time":7.959999999999875,"x":8.099958208823553,"y":1.2539522208420468,"angle":0.0,"x_velocity":-0.4593202814857671,"y_velocity":-1.0088936120612004,"angular_velocity":0.0,"x_acceleration":-1.034199092181435,"y_acceleration":2.6404278800604573,"angular_acceleration":0.0},{"time":7.9699999999998745,"x":8.095317274485234,"y":1.2439855868923342,"angle":0.0,"x_velocity":-0.4684641027915317,"y_velocity":-0.9854229936606203,"angular_velocity":0.0,"x_acceleration":-0.7927059751369931,"y_acceleration":2.0465227515142317,"angular_acceleration":0.0},{"time":7.979999999999874,"x":8.090597163280307,"y":1.2342232426501,"angle":0.0,"x_velocity":-0.47513690862468394,"y_velocity":-0.9681081841013679,"angular_velocity":0.0,"x_acceleration":-0.5399651489460595,"y_acceleration":1.4091095018343651,"angular_acceleration":0.0},{"time":7.989999999999874,"x":8.085823150833834,"y":1.22460143895987,"angle":0.0,"x_velocity":-0.47922529643236267,"y_velocity":-0.9573889628936101,"angular_velocity":0.0,"x_acceleration":-0.2757915213283795,"y_acceleration":0.7272484712547964,"angular_acceleration":0.0},{"time":7.999999999999874,"x":8.081021656051007,"y":1.2150519818880925,"angle":0.0,"x_velocity":-0.48061401273889537,"y_velocity":-0.9537145061451611,"angular_velocity":0.0,"x_acceleration":-3.6912695122737205e-12,"y_acceleration":9.43600753089413e-12,"angular_acceleration":0.0},{"time":8.009999999999874,"x":8.076204808344157,"y":1.2055159694457225,"angle":0.0,"x_velocity":-0.4838106950144424,"y_velocity":-0.9533741265533716,"angular_velocity":0.0,"x_acceleration":-0.6331121683489249,"y_acceleration":0.06831206029928906,"angular_acceleration":0.0},{"time":8.019999999999873,"x":8.071324957549932,"y":1.1959867996651072,"angle":0.0,"x_velocity":-0.49315300431882547,"y_velocity":-0.9523436826477132,"angular_velocity":0.0,"x_acceleration":-1.2292488006041524,"y_acceleration":0.13799880803495598,"angular_acceleration":0.0},{"time":8.029999999999873,"x":8.066322483835368,"y":1.186471440518287,"angle":0.0,"x_velocity":-0.5082748871365886,"y_velocity":-0.9506098491960226,"angular_velocity":0.0,"x_acceleration":-1.7891502658784804,"y_acceleration":0.2089759147656049,"angular_acceleration":0.0},{"time":8.039999999999873,"x":8.061141390884202,"y":1.176976989013198,"angle":0.0,"x_velocity":-0.5288176936435279,"y_velocity":-0.948160144250553,"angular_velocity":0.0,"x_acceleration":-2.313556933292928,"y_acceleration":0.28115905205069247,"angular_acceleration":0.0},{"time":8.049999999999873,"x":8.055729231859942,"y":1.1675106627608318,"angle":0.0,"x_velocity":-0.55443017770665,"y_velocity":-0.9449829291479626,"angular_velocity":0.0,"x_acceleration":-2.803209171968514,"y_acceleration":0.3544638914496752,"angular_acceleration":0.0},{"time":8.059999999999873,"x":8.050037035368986,"y":1.158079791542391,"angle":0.0,"x_velocity":-0.5847684968841711,"y_velocity":-0.9410674085093151,"angular_velocity":0.0,"x_acceleration":-3.2588473510262577,"y_acceleration":0.4288061045220099,"angular_acceleration":0.0},{"time":8.069999999999872,"x":8.044019231423679,"y":1.148691808876446,"angle":0.0,"x_velocity":-0.6194962124255177,"y_velocity":-0.9364036302400799,"angular_velocity":0.0,"x_acceleration":-3.6812118395871782,"y_acceleration":0.5041013628271531,"angular_acceleration":0.0},{"time":8.079999999999872,"x":8.037633577405426,"y":1.1393542435860904,"angle":0.0,"x_velocity":-0.658284289271327,"y_velocity":-0.9309824855301314,"angular_velocity":0.0,"x_acceleration":-4.071043006772294,"y_acceleration":0.5802653379245617,"angular_acceleration":0.0},{"time":8.089999999999872,"x":8.030841084027765,"y":1.130074711366097,"angle":0.0,"x_velocity":-0.7008110960534458,"y_velocity":-0.9247957088537497,"angular_velocity":0.0,"x_acceleration":-4.429081221702625,"y_acceleration":0.6572137013736918,"angular_acceleration":0.0},{"time":8.099999999999872,"x":8.02360594129946,"y":1.1208609063500734,"angle":0.0,"x_velocity":-0.7467624050949317,"y_velocity":-0.9178358779696206,"angular_velocity":0.0,"x_acceleration":-4.75606685349919,"y_acceleration":0.7348621247340006,"angular_acceleration":0.0},{"time":8.109999999999872,"x":8.015895444487587,"y":1.1117205926776188,"angle":0.0,"x_velocity":-0.7958313924100517,"y_velocity":-0.9100964139208346,"angular_velocity":0.0,"x_acceleration":-5.052740271283007,"y_acceleration":0.8131262795649445,"angular_acceleration":0.0},{"time":8.119999999999871,"x":8.007679920080628,"y":1.102661596061479,"angle":0.0,"x_velocity":-0.8477186377042838,"y_velocity":-0.9015715810348884,"angular_velocity":0.0,"x_acceleration":-5.319841844175096,"y_acceleration":0.8919218374259801,"angular_acceleration":0.0},{"time":8.129999999999871,"x":7.998932651751548,"y":1.0936917953547036,"angle":0.0,"x_velocity":-0.9021321243743159,"y_velocity":-0.8922564869236835,"angular_velocity":0.0,"x_acceleration":-5.5581119412964775,"y_acceleration":0.9711644698765644,"angular_acceleration":0.0},{"time":8.139999999999871,"x":7.9896298063208935,"y":1.0848191141178005,"angle":0.0,"x_velocity":-0.9587872395080455,"y_velocity":-0.8821470824835275,"angular_velocity":0.0,"x_acceleration":-5.768290931768169,"y_acceleration":1.0507698484761534,"angular_acceleration":0.0},{"time":8.14999999999987,"x":7.979750359719877,"y":1.0760515121858925,"angle":0.0,"x_velocity":-1.017406773884581,"y_velocity":-0.8712401618951328,"angular_velocity":0.0,"x_acceleration":-5.951119184711188,"y_acceleration":1.1306536447842042,"angular_acceleration":0.0},{"time":8.15999999999987,"x":7.969276022953458,"y":1.0673969772358736,"angle":0.0,"x_velocity":-1.0777209219742412,"y_velocity":-0.8595333626236175,"angular_velocity":0.0,"x_acceleration":-6.107337069246555,"y_acceleration":1.2107315303601733,"angular_acceleration":0.0},{"time":8.16999999999987,"x":7.958191168063442,"y":1.0588635163535642,"angle":0.0,"x_velocity":-1.139467281938554,"y_velocity":-0.8470251654185051,"angular_velocity":0.0,"x_acceleration":-6.237684954495291,"y_acceleration":1.2909191767635178,"angular_acceleration":0.0},{"time":8.17999999999987,"x":7.946482754091562,"y":1.050459147600868,"angle":0.0,"x_velocity":-1.202390855630259,"y_velocity":-0.833714894313725,"angular_velocity":0.0,"x_acceleration":-6.342903209578412,"y_acceleration":1.3711322555536936,"angular_acceleration":0.0},{"time":8.18999999999987,"x":7.934140253042567,"y":1.042191891582926,"angle":0.0,"x_velocity":-1.2662440485933042,"y_velocity":-0.819602716627611,"angular_velocity":0.0,"x_acceleration":-6.423732203616941,"y_acceleration":1.4512864382901578,"angular_acceleration":0.0},{"time":8.19999999999987,"x":7.921155575847308,"y":1.0340697630152762,"angle":0.0,"x_velocity":-1.3307866700628497,"y_velocity":-0.8046896429629032,"angular_velocity":0.0,"x_acceleration":-6.480912305731892,"y_acceleration":1.5312973965323669,"angular_acceleration":0.0},{"time":8.20999999999987,"x":7.907522998325833,"y":1.0261007622910048,"angle":0.0,"x_velocity":-1.3957859329652642,"y_velocity":-0.788977527206747,"angular_velocity":0.0,"x_acceleration":-6.515183885044287,"y_acceleration":1.6110808018397773,"angular_acceleration":0.0},{"time":8.21999999999987,"x":7.893239087150467,"y":1.0182928670479061,"angle":0.0,"x_velocity":-1.4610164539181278,"y_velocity":-0.7724690665306929,"angular_velocity":0.0,"x_acceleration":-6.527287310675144,"y_acceleration":1.6905523257718462,"angular_acceleration":0.0},{"time":8.229999999999869,"x":7.878302625808905,"y":1.010654023735636,"angle":0.0,"x_velocity":-1.5262602532302298,"y_velocity":-0.7551678013906971,"angular_velocity":0.0,"x_acceleration":-6.517962951745482,"y_acceleration":1.76962763988803,"angular_acceleration":0.0},{"time":8.239999999999869,"x":7.862714540567299,"y":1.0031921391828695,"angle":0.0,"x_velocity":-1.5913067549015698,"y_velocity":-0.7370781155271211,"angular_velocity":0.0,"x_acceleration":-6.487951177376322,"y_acceleration":1.848222415747785,"angular_acceleration":0.0},{"time":8.249999999999869,"x":7.846477826433338,"y":0.995915072164455,"angle":0.0,"x_velocity":-1.6559527866233579,"y_velocity":-0.7182052359647321,"angular_velocity":0.0,"x_acceleration":-6.4379923566886825,"y_acceleration":1.9262523249105683,"angular_acceleration":0.0},{"time":8.259999999999868,"x":7.829597473119354,"y":0.988830624968572,"angle":0.0,"x_velocity":-1.7200025797780154,"y_velocity":-0.6985552330127023,"angular_velocity":0.0,"x_acceleration":-6.368826858803583,"y_acceleration":2.0036330389358366,"angular_acceleration":0.0},{"time":8.269999999999868,"x":7.81208039100539,"y":0.9819465349638864,"angle":0.0,"x_velocity":-1.783267769439172,"y_velocity":-0.6781350202646097,"angular_velocity":0.0,"x_acceleration":-6.281195052842038,"y_acceleration":2.080280229383046,"angular_acceleration":0.0},{"time":8.279999999999868,"x":7.793935337102299,"y":0.9752704661667053,"angle":0.0,"x_velocity":-1.8455673943716688,"y_velocity":-0.6569523545984377,"angular_velocity":0.0,"x_acceleration":-6.175837307925073,"y_acceleration":2.156109567811654,"angular_acceleration":0.0},{"time":8.289999999999868,"x":7.7751728410148315,"y":0.9688100008081351,"angle":0.0,"x_velocity":-1.9067278970315564,"y_velocity":-0.6350158361765746,"angular_velocity":0.0,"x_acceleration":-6.0534939931736975,"y_acceleration":2.2310367257811166,"angular_acceleration":0.0},{"time":8.299999999999867,"x":7.755805130904719,"y":0.9625726309012353,"angle":0.0,"x_velocity":-1.966583123566096,"y_velocity":-0.6123349084458152,"angular_velocity":0.0,"x_acceleration":-5.914905477708942,"y_acceleration":2.3049773748508904,"angular_acceleration":0.0},{"time":8.309999999999867,"x":7.735846059453766,"y":0.9565657498081762,"angle":0.0,"x_velocity":-2.0249743238137583,"y_velocity":-0.5889198581373586,"angular_velocity":0.0,"x_acceleration":-5.760812130651825,"y_acceleration":2.3778471865804325,"angular_acceleration":0.0},{"time":8.319999999999867,"x":7.7153110298269345,"y":0.9507966438073937,"angle":0.0,"x_velocity":-2.0817501513042256,"y_velocity":-0.56478181526681,"angular_velocity":0.0,"x_acceleration":-5.591954321123354,"y_acceleration":2.449561832529199,"angular_acceleration":0.0},{"time":8.329999999999867,"x":7.6942169216354355,"y":0.9452724836607456,"angle":0.0,"x_velocity":-2.1367666632583884,"y_velocity":-0.5399327531341802,"angular_velocity":0.0,"x_acceleration":-5.409072418244558,"y_acceleration":2.5200369842566466,"angular_acceleration":0.0},{"time":8.339999999999867,"x":7.672582016899814,"y":0.9400003161806674,"angle":0.0,"x_velocity":-2.1898873205883493,"y_velocity":-0.5143854883238845,"angular_velocity":0.0,"x_acceleration":-5.212906791136457,"y_acceleration":2.589188313322232,"angular_acceleration":0.0},{"time":8.349999999999866,"x":7.650425926013037,"y":0.9349870557973293,"angle":0.0,"x_velocity":-2.2409829878974206,"y_velocity":-0.4881536807047446,"angular_velocity":0.0,"x_acceleration":-5.004197808920062,"y_acceleration":2.6569314912854125,"angular_acceleration":0.0},{"time":8.359999999999866,"x":7.627769513703588,"y":0.9302394761257898,"angle":0.0,"x_velocity":-2.289931933480125,"y_velocity":-0.46125183342998716,"angular_velocity":0.0,"x_acceleration":-4.783685840716391,"y_acceleration":2.723182189705644,"angular_acceleration":0.0},{"time":8.369999999999866,"x":7.604634824998538,"y":0.9257642015331545,"angle":0.0,"x_velocity":-2.3366198293221925,"y_velocity":-0.43369529293724457,"angular_velocity":0.0,"x_acceleration":-4.552111255646479,"y_acceleration":2.7878560801423835,"angular_acceleration":0.0},{"time":8.379999999999866,"x":7.581045011186655,"y":0.92156769870573,"angle":0.0,"x_velocity":-2.380939751100568,"y_velocity":-0.4055002489485541,"angular_velocity":0.0,"x_acceleration":-4.310214422831329,"y_acceleration":2.8508688341550874,"angular_acceleration":0.0},{"time":8.389999999999866,"x":7.557024255781479,"y":0.9176562682161802,"angle":0.0,"x_velocity":-2.4227921781834034,"y_velocity":-0.37668373447035924,"angular_velocity":0.0,"x_acceleration":-4.058735711391965,"y_acceleration":2.9121361233032133,"angular_acceleration":0.0},{"time":8.399999999999865,"x":7.532597700484408,"y":0.9140360360906833,"angle":0.0,"x_velocity":-2.462084993630062,"y_velocity":-0.3472636257935082,"angular_velocity":0.0,"x_acceleration":-3.798415490449412,"y_acceleration":2.9715736191462154,"angular_acceleration":0.0},{"time":8.409999999999865,"x":7.507791371147796,"y":0.9107129453760865,"angle":0.0,"x_velocity":-2.498733484191116,"y_velocity":-0.3172586424932551,"angular_velocity":0.0,"x_acceleration":-3.5299941291246792,"y_acceleration":3.029096993243553,"angular_acceleration":0.0},{"time":8.419999999999865,"x":7.482632103738031,"y":0.9076927477070624,"angle":0.0,"x_velocity":-2.53266034030835,"y_velocity":-0.2866883474292592,"angular_velocity":0.0,"x_acceleration":-3.254211996538791,"y_acceleration":3.0846219171546814,"angular_acceleration":0.0},{"time":8.429999999999865,"x":7.457147470298632,"y":0.9049809948732651,"angle":0.0,"x_velocity":-2.563795656114756,"y_velocity":-0.2555731467455853,"angular_velocity":0.0,"x_acceleration":-2.971809461812768,"y_acceleration":3.138064062439058,"angular_acceleration":0.0},{"time":8.439999999999864,"x":7.431365704913326,"y":0.9025830303864866,"angle":0.0,"x_velocity":-2.5920769294345405,"y_velocity":-0.22393428987070363,"angular_velocity":0.0,"x_acceleration":-2.6835268940676205,"y_acceleration":3.1893391006561393,"angular_acceleration":0.0},{"time":8.449999999999864,"x":7.405315629669145,"y":0.9005039810478107,"angle":0.0,"x_velocity":-2.6174490617831143,"y_velocity":-0.19179386951749003,"angular_velocity":0.0,"x_acceleration":-2.3901046624243847,"y_acceleration":3.2383627033653806,"angular_acceleration":0.0},{"time":8.459999999999864,"x":7.379026580619511,"y":0.8987487485147718,"angle":0.0,"x_velocity":-2.6398643583671024,"y_velocity":-0.15917482168322544,"angular_velocity":0.0,"x_acceleration":-2.0922831360040632,"y_acceleration":3.28505054212624,"angular_acceleration":0.0},{"time":8.469999999999864,"x":7.352528333747326,"y":0.897322000868509,"angle":0.0,"x_velocity":-2.6592825280843426,"y_velocity":-0.12610092564959624,"angular_velocity":0.0,"x_acceleration":-1.790802683927673,"y_acceleration":3.329318288498174,"angular_acceleration":0.0},{"time":8.479999999999864,"x":7.3258510309280505,"y":0.8962281641809225,"angle":0.0,"x_velocity":-2.6756706835238715,"y_velocity":-0.09259680398269488,"angular_velocity":0.0,"x_acceleration":-1.4864036753162555,"y_acceleration":3.371081614040639,"angular_acceleration":0.0},{"time":8.489999999999863,"x":7.299025105892807,"y":0.8954714140818293,"angle":0.0,"x_velocity":-2.689003340965952,"y_velocity":-0.05868792253301833,"angular_velocity":0.0,"x_acceleration":-1.1798264792908029,"y_acceleration":3.4102561903130915,"angular_acceleration":0.0},{"time":8.499999999999863,"x":7.272081210191452,"y":0.8950556673261201,"angle":0.0,"x_velocity":-2.699262420382045,"y_velocity":-0.02440059043546966,"angular_velocity":0.0,"x_acceleration":-0.8718114649723514,"y_acceleration":3.446757688874988,"angular_acceleration":0.0},{"time":8.509999999999863,"x":7.245050139155676,"y":0.8949845733609134,"angle":0.0,"x_velocity":-2.706437245434824,"y_velocity":0.01023803989064298,"angular_velocity":0.0,"x_acceleration":-0.5630990014819126,"y_acceleration":3.4805017812857857,"angular_acceleration":0.0},{"time":8.519999999999863,"x":7.217962757862087,"y":0.895261505892714,"angle":0.0,"x_velocity":-2.7105245434781784,"y_velocity":0.04519997274160581,"angular_velocity":0.0,"x_acceleration":-0.25442945794051397,"y_acceleration":3.5114041391049406,"angular_acceleration":0.0},{"time":8.529999999999863,"x":7.190849927095295,"y":0.8958895544545662,"angle":0.0,"x_velocity":-2.711528445557203,"y_velocity":0.08045636912929965,"angular_velocity":0.0,"x_acceleration":0.053456796530838346,"y_acceleration":3.53938043389191,"angular_acceleration":0.0},{"time":8.539999999999862,"x":7.163742429311004,"y":0.8968715159732121,"angle":0.0,"x_velocity":-2.7094604864081986,"y_velocity":0.11597754678120015,"angular_velocity":0.0,"x_acceleration":0.35981939281111863,"y_acceleration":3.56434633720615,"angular_acceleration":0.0},{"time":8.549999999999862,"x":7.1366708945990975,"y":0.8982098863362461,"angle":0.0,"x_velocity":-2.7043396044586863,"y_velocity":0.15173298014037712,"angular_velocity":0.0,"x_acceleration":0.6639179617793012,"y_acceleration":3.5862175206071174,"angular_acceleration":0.0},{"time":8.559999999999862,"x":7.109665726646736,"y":0.8999068519592711,"angle":0.0,"x_velocity":-2.696192141827392,"y_velocity":0.18769130036549492,"angular_velocity":0.0,"x_acceleration":0.9650121343143745,"y_acceleration":3.6049096556542692,"angular_acceleration":0.0},{"time":8.569999999999862,"x":7.082757028701424,"y":0.9019642813530547,"angle":0.0,"x_velocity":-2.6850518443242493,"y_velocity":0.22382029533081277,"angular_velocity":0.0,"x_acceleration":1.2623615412953235,"y_acceleration":3.620338413907063,"angular_acceleration":0.0},{"time":8.579999999999862,"x":7.0559745295341205,"y":0.9043837166906857,"angle":0.0,"x_velocity":-2.6709598614503998,"y_velocity":0.26008690962618486,"angular_velocity":0.0,"x_acceleration":1.5552258136011083,"y_acceleration":3.6324194669249517,"angular_acceleration":0.0},{"time":8.589999999999861,"x":7.029347509402311,"y":0.9071663653747284,"angle":0.0,"x_velocity":-2.6539647463982132,"y_velocity":0.29645724455705896,"angular_velocity":0.0,"x_acceleration":1.8428645821107388,"y_acceleration":3.6410684862673963,"angular_acceleration":0.0},{"time":8.599999999999861,"x":7.002904726013106,"y":0.9103130916043802,"angle":0.0,"x_velocity":-2.634122456051247,"y_velocity":0.33289655814447766,"angular_velocity":0.0,"x_acceleration":2.1245374777031714,"y_acceleration":3.646201143493851,"angular_acceleration":0.0},{"time":8.60999999999986,"x":6.97667434048632,"y":0.9138244079426266,"angle":0.0,"x_velocity":-2.611496350984279,"y_velocity":0.3693692651250794,"angular_velocity":0.0,"x_acceleration":2.399504131257416,"y_acceleration":3.6477331101637738,"angular_acceleration":0.0},{"time":8.61999999999986,"x":6.950683843317567,"y":0.9177004668833979,"angle":0.0,"x_velocity":-2.586157195463299,"y_velocity":0.40583893695109485,"angular_velocity":0.0,"x_acceleration":2.6670241736524325,"y_acceleration":3.64558005783662,"angular_acceleration":0.0},{"time":8.62999999999986,"x":6.9249599803413435,"y":0.9219410524187239,"angle":0.0,"x_velocity":-2.558183157445499,"y_velocity":0.44226830179035126,"angular_velocity":0.0,"x_acceleration":2.926357235767192,"y_acceleration":3.639657658071846,"angular_acceleration":0.0},{"time":8.63999999999986,"x":6.899528678694118,"y":0.9265455716058919,"angle":0.0,"x_velocity":-2.5276598085792905,"y_velocity":0.4786192445262697,"angular_velocity":0.0,"x_acceleration":3.176762948480679,"y_acceleration":3.62988158242891,"angular_acceleration":0.0},{"time":8.64999999999986,"x":6.87441497277742,"y":0.9315130461345998,"angle":0.0,"x_velocity":-2.494680124204291,"y_velocity":0.5148528067578656,"angular_velocity":0.0,"x_acceleration":3.417500942671907,"y_acceleration":3.616167502467267,"angular_acceleration":0.0},{"time":8.65999999999986,"x":6.849642930220925,"y":0.9368421038941148,"angle":0.0,"x_velocity":-2.459344483351333,"y_velocity":0.5509291867997496,"angular_velocity":0.0,"x_acceleration":3.6478308492198366,"y_acceleration":3.5984310897463763,"angular_acceleration":0.0},{"time":8.66999999999986,"x":6.825235577845547,"y":0.9425309705404279,"angle":0.0,"x_velocity":-2.4217606687424427,"y_velocity":0.5868077396821256,"angular_velocity":0.0,"x_acceleration":3.86701229900342,"y_acceleration":3.576588015825693,"angular_acceleration":0.0},{"time":8.67999999999986,"x":6.801214827626517,"y":0.9485774610634096,"angle":0.0,"x_velocity":-2.3820438667908848,"y_velocity":0.6224469771507936,"angular_velocity":0.0,"x_acceleration":4.074304922901689,"y_acceleration":3.5505539522646723,"angular_acceleration":0.0},{"time":8.68999999999986,"x":6.777601402656488,"y":0.9549789713539674,"angle":0.0,"x_velocity":-2.3403166676011002,"y_velocity":0.6578045676671482,"angular_velocity":0.0,"x_acceleration":4.268968351793589,"y_acceleration":3.520244570622773,"angular_acceleration":0.0},{"time":8.699999999999859,"x":6.7544147631086044,"y":0.9617324697711996,"angle":0.0,"x_velocity":-2.2967090649687707,"y_velocity":0.6928373364081764,"angular_velocity":0.0,"x_acceleration":4.450262216558109,"y_acceleration":3.4855755424594506,"angular_acceleration":0.0},{"time":8.709999999999859,"x":6.7316730321996,"y":0.9688344887095531,"angle":0.0,"x_velocity":-2.2513584563807667,"y_velocity":0.7275012652664619,"angular_velocity":0.0,"x_acceleration":4.617446148074222,"y_acceleration":3.446462539334161,"angular_acceleration":0.0},{"time":8.719999999999859,"x":6.709392922152881,"y":0.9762811161659781,"angle":0.0,"x_velocity":-2.2044096430151843,"y_velocity":0.761751492850183,"angular_velocity":0.0,"x_acceleration":4.76977977722094,"y_acceleration":3.402821232806362,"angular_acceleration":0.0},{"time":8.729999999999858,"x":6.687589660161624,"y":0.9840679873070853,"angle":0.0,"x_velocity":-2.1560148297413217,"y_velocity":0.795542314483111,"angular_velocity":0.0,"x_acceleration":4.906522734877207,"y_acceleration":3.354567294435512,"angular_acceleration":0.0},{"time":8.739999999999858,"x":6.666276914351847,"y":0.9921902760363004,"angle":0.0,"x_velocity":-2.10633362511968,"y_velocity":0.8288271822046136,"angular_velocity":0.0,"x_acceleration":5.026934651922055,"y_acceleration":3.301616395781063,"angular_acceleration":0.0},{"time":8.749999999999858,"x":6.645466719745518,"y":1.0006426865610205,"angle":0.0,"x_velocity":-2.05553304140199,"y_velocity":0.8615587047696505,"angular_velocity":0.0,"x_acceleration":5.130275159234401,"y_acceleration":3.2438842084024753,"angular_acceleration":0.0},{"time":8.759999999999858,"x":6.6251694042236196,"y":1.0094194449597713,"angle":0.0,"x_velocity":-2.0037874945311778,"y_velocity":0.8936886476487789,"angular_velocity":0.0,"x_acceleration":5.215803887693248,"y_acceleration":3.1812864038592075,"angular_acceleration":0.0},{"time":8.769999999999857,"x":6.605393514489257,"y":1.0185142907493614,"angle":0.0,"x_velocity":-1.9512788041413796,"y_velocity":0.9251679330281493,"angular_velocity":0.0,"x_acceleration":5.282780468177613,"y_acceleration":3.1137386537107092,"angular_acceleration":0.0},{"time":8.779999999999857,"x":6.586145742030737,"y":1.027920468452039,"angle":0.0,"x_velocity":-1.8981961935579452,"y_velocity":0.9559466398095064,"angular_velocity":0.0,"x_acceleration":5.3304645315664345,"y_acceleration":3.0411566295164434,"angular_acceleration":0.0},{"time":8.789999999999857,"x":6.567430849084653,"y":1.0376307191626473,"angle":0.0,"x_velocity":-1.844736289797435,"y_velocity":0.9859740036101894,"angular_velocity":0.0,"x_acceleration":5.358115708738687,"y_acceleration":2.963456002835864,"angular_acceleration":0.0},{"time":8.799999999999857,"x":6.549251594598985,"y":1.0476372721157814,"angle":0.0,"x_velocity":-1.7911031235676322,"y_velocity":1.015198416763133,"angular_velocity":0.0,"x_acceleration":5.3649936305733945,"y_acceleration":2.880552445228428,"angular_acceleration":0.0},{"time":8.809999999999857,"x":6.5316086601961665,"y":1.0579318362529435,"angle":0.0,"x_velocity":-1.7375081292675016,"y_velocity":1.0435674283168657,"angular_velocity":0.0,"x_acceleration":5.350357927949531,"y_acceleration":2.7923616282535937,"angular_acceleration":0.0},{"time":8.819999999999856,"x":6.514500576136202,"y":1.0685055917896995,"angle":0.0,"x_velocity":-1.684170144987247,"y_velocity":1.0710277440355105,"angular_velocity":0.0,"x_acceleration":5.313468231746029,"y_acceleration":2.6987992234708145,"angular_acceleration":0.0},{"time":8.829999999999856,"x":6.49792364727972,"y":1.0793491817828338,"angle":0.0,"x_velocity":-1.6313154125082505,"y_velocity":1.0975252263987854,"angular_velocity":0.0,"x_acceleration":5.253584172841883,"y_acceleration":2.599780902439548,"angular_acceleration":0.0},{"time":8.839999999999856,"x":6.48187187905109,"y":1.0904527036975065,"angle":0.0,"x_velocity":-1.5791775773031471,"y_velocity":1.1230048946020037,"angular_velocity":0.0,"x_acceleration":5.169965382116132,"y_acceleration":2.495222336719255,"angular_acceleration":0.0},{"time":8.849999999999856,"x":6.466336903401498,"y":1.1018057009744078,"angle":0.0,"x_velocity":-1.5279976885357343,"y_velocity":1.1474109245560704,"angular_velocity":0.0,"x_acceleration":5.0618714904477,"y_acceleration":2.3850391978693857,"angular_acceleration":0.0},{"time":8.859999999999856,"x":6.451307904772031,"y":1.1133971545969168,"angle":0.0,"x_velocity":-1.4780241990610712,"y_velocity":1.1706866488874899,"angular_velocity":0.0,"x_acceleration":4.928562128715612,"y_acceleration":2.269147157449403,"angular_acceleration":0.0},{"time":8.869999999999855,"x":6.436771546056777,"y":1.1252154746582537,"angle":0.0,"x_velocity":-1.4295129654253742,"y_velocity":1.1927745569383554,"angular_velocity":0.0,"x_acceleration":4.769296927798791,"y_acceleration":2.147461887018757,"angular_acceleration":0.0},{"time":8.879999999999855,"x":6.422711894565906,"y":1.1372484919286387,"angle":0.0,"x_velocity":-1.382727247866118,"y_velocity":1.2136162947663598,"angular_velocity":0.0,"x_acceleration":4.583335518576263,"y_acceleration":2.019899058136911,"angular_acceleration":0.0},{"time":8.889999999999855,"x":6.40911034798874,"y":1.1494834494224468,"angle":0.0,"x_velocity":-1.337937710311948,"y_velocity":1.2331526651447873,"angular_velocity":0.0,"x_acceleration":4.3699375319270075,"y_acceleration":1.8863743423633164,"angular_acceleration":0.0},{"time":8.899999999999855,"x":6.39594556035688,"y":1.1619069939653632,"angle":0.0,"x_velocity":-1.2954224203827387,"y_velocity":1.2513236275625181,"angular_velocity":0.0,"x_acceleration":4.12836259872995,"y_acceleration":1.7468034112574315,"angular_acceleration":0.0},{"time":8.909999999999854,"x":6.383193368007265,"y":1.1745051677615406,"angle":0.0,"x_velocity":-1.255466849389574,"y_velocity":1.2680682982240254,"angular_velocity":0.0,"x_acceleration":3.857870349864143,"y_acceleration":1.601101936378715,"angular_acceleration":0.0},{"time":8.919999999999854,"x":6.370826715545264,"y":1.1872633999607543,"angle":0.0,"x_velocity":-1.2183638723347592,"y_velocity":1.2833249500493795,"angular_velocity":0.0,"x_acceleration":3.5577204162085536,"y_acceleration":1.4491855892866212,"angular_acceleration":0.0},{"time":8.929999999999854,"x":6.3588155818077645,"y":1.2001664982255578,"angle":0.0,"x_velocity":-1.1844137679117743,"y_velocity":1.2970310126742444,"angular_velocity":0.0,"x_acceleration":3.2271724286421204,"y_acceleration":1.2909700415406054,"angular_acceleration":0.0},{"time":8.939999999999854,"x":6.347126905826269,"y":1.2131986402984394,"angle":0.0,"x_velocity":-1.1539242185053524,"y_velocity":1.3091230724498772,"angular_velocity":0.0,"x_acceleration":2.86548601804391,"y_acceleration":1.126370964700131,"angular_acceleration":0.0},{"time":8.949999999999854,"x":6.335724512789982,"y":1.2263433655689784,"angle":0.0,"x_velocity":-1.1272103101914155,"y_velocity":1.31953687244313,"angular_velocity":0.0,"x_acceleration":2.4719208152927905,"y_acceleration":0.9553040303246458,"angular_acceleration":0.0},{"time":8.959999999999853,"x":6.324569040008876,"y":1.239583566641,"angle":0.0,"x_velocity":-1.1045945327370816,"y_velocity":1.3282073124364504,"angular_velocity":0.0,"x_acceleration":2.045736451267757,"y_acceleration":0.7776849099736083,"angular_acceleration":0.0},{"time":8.969999999999853,"x":6.3136178628768125,"y":1.252901480899732,"angle":0.0,"x_velocity":-1.0864067796007113,"y_velocity":1.3350684489278808,"angular_velocity":0.0,"x_acceleration":1.5861925568479194,"y_acceleration":0.593429275206482,"angular_acceleration":0.0},{"time":8.979999999999853,"x":6.302825020834603,"y":1.2662786820789607,"angle":0.0,"x_velocity":-1.0729843479318433,"y_velocity":1.3400534951310572,"angular_velocity":0.0,"x_acceleration":1.0925487629121449,"y_acceleration":0.40245279758271835,"angular_acceleration":0.0},{"time":8.989999999999853,"x":6.292141143333113,"y":1.2796960718281876,"angle":0.0,"x_velocity":-1.064671938571255,"y_velocity":1.3430948209752116,"angular_velocity":0.0,"x_acceleration":0.5640647003394292,"y_acceleration":0.20467114866177383,"angular_acceleration":0.0},{"time":8.999999999999853,"x":6.281513375796345,"y":1.2931338712797824,"angle":0.0,"x_velocity":-1.0618216560509097,"y_velocity":1.3441239531051679,"angular_velocity":0.0,"x_acceleration":8.753886504564434e-12,"y_acceleration":3.105071755271638e-12,"angular_acceleration":0.0},{"time":9.009999999999852,"x":6.2708924759191715,"y":1.306586047658533,"angle":0.0,"x_velocity":-1.0626200584757097,"y_velocity":1.3473888781517402,"angular_velocity":0.0,"x_acceleration":-0.15704979385766935,"y_acceleration":0.6465461536366843,"angular_acceleration":0.0},{"time":9.019999999999852,"x":6.260256001012828,"y":1.3201025599223783,"angle":0.0,"x_velocity":-1.064910671846071,"y_velocity":1.3569273840688882,"angular_velocity":0.0,"x_acceleration":-0.2985055631063011,"y_acceleration":1.2548446745833999,"angular_acceleration":0.0},{"time":9.029999999999852,"x":6.24958980233168,"y":1.3337442443484335,"angle":0.0,"x_velocity":-1.0685394571355427,"y_velocity":1.372360849544025,"angular_velocity":0.0,"x_acceleration":-0.4247475516670298,"y_acceleration":1.8256665657152957,"angular_acceleration":0.0},{"time":9.039999999999852,"x":6.238881252508171,"y":1.3475681895508358,"angle":0.0,"x_velocity":-1.0733561777568634,"y_velocity":1.3933183632934274,"angular_velocity":0.0,"x_acceleration":-0.5361560034634224,"y_acceleration":2.35978282991734,"angular_acceleration":0.0},{"time":9.049999999999851,"x":6.228119207528424,"y":1.3616278135810294,"angle":0.0,"x_velocity":-1.0792143995620085,"y_velocity":1.419436724062221,"angular_velocity":0.0,"x_acceleration":-0.6331111624190455,"y_acceleration":2.8579644700744997,"angular_acceleration":0.0},{"time":9.059999999999851,"x":6.217293968707843,"y":1.3759729410280543,"angle":0.0,"x_velocity":-1.085971490842187,"y_velocity":1.450360440624383,"angular_velocity":0.0,"x_acceleration":-0.7159932724574664,"y_acceleration":3.320982489071744,"angular_acceleration":0.0},{"time":9.069999999999851,"x":6.206397244666722,"y":1.390649880118834,"angle":0.0,"x_velocity":-1.0934886223278455,"y_velocity":1.4857417317827382,"angular_velocity":0.0,"x_acceleration":-0.7851825775022512,"y_acceleration":3.74960788979404,"angular_acceleration":0.0},{"time":9.07999999999985,"x":6.195422113305861,"y":1.4057014998184647,"angle":0.0,"x_velocity":-1.1016307671886645,"y_velocity":1.5252405263689621,"angular_velocity":0.0,"x_acceleration":-0.8410593214769675,"y_acceleration":4.144611675126356,"angular_acceleration":0.0},{"time":9.08999999999985,"x":6.1843629837821625,"y":1.421167306930504,"angle":0.0,"x_velocity":-1.1102667010335625,"y_velocity":1.5685244632435802,"angular_velocity":0.0,"x_acceleration":-0.8840037483051817,"y_acceleration":4.506764847953658,"angular_acceleration":0.0},{"time":9.09999999999985,"x":6.173215558484243,"y":1.4370835231972585,"angle":0.0,"x_velocity":-1.1192690019106915,"y_velocity":1.6152688912959665,"angular_velocity":0.0,"x_acceleration":-0.9143961019104614,"y_acceleration":4.836838411160916,"angular_acceleration":0.0},{"time":9.10999999999985,"x":6.1619767950080435,"y":1.4534831624000728,"angle":0.0,"x_velocity":-1.12851405030744,"y_velocity":1.6651568694443462,"angular_velocity":0.0,"x_acceleration":-0.9326166262163723,"y_acceleration":5.135603367633097,"angular_acceleration":0.0},{"time":9.11999999999985,"x":6.150644868132434,"y":1.4703961074596184,"angle":0.0,"x_velocity":-1.1378820291504324,"y_velocity":1.7178791666357927,"angular_velocity":0.0,"x_acceleration":-0.9390455651464822,"y_acceleration":5.403830720255169,"angular_acceleration":0.0},{"time":9.12999999999985,"x":6.139219131794821,"y":1.4878491875361812,"angle":0.0,"x_velocity":-1.1472569238055286,"y_velocity":1.77313426184623,"angular_velocity":0.0,"x_acceleration":-0.9340631626243572,"y_acceleration":5.642291471912099,"angular_acceleration":0.0},{"time":9.13999999999985,"x":6.1277000810667595,"y":1.5058662551299515,"angle":0.0,"x_velocity":-1.1565265220778238,"y_velocity":1.8306283440804316,"angular_velocity":0.0,"x_acceleration":-0.9180496625735648,"y_acceleration":5.851756625488856,"angular_acceleration":0.0},{"time":9.14999999999985,"x":6.116089314129554,"y":1.5244682631813107,"angle":0.0,"x_velocity":-1.1655824142116493,"y_velocity":1.8900753123720206,"angular_velocity":0.0,"x_acceleration":-0.8913853089176714,"y_acceleration":6.032997183870408,"angular_acceleration":0.0},{"time":9.15999999999985,"x":6.10438949424987,"y":1.5436733421711206,"angle":0.0,"x_velocity":-1.1743199928905719,"y_velocity":1.9511967757834698,"angular_velocity":0.0,"x_acceleration":-0.8544503455802448,"y_acceleration":6.1867841499417215,"angular_acceleration":0.0},{"time":9.169999999999849,"x":6.092604311755344,"y":1.5634968772210132,"angle":0.0,"x_velocity":-1.182638453237394,"y_velocity":2.0137220534061018,"angular_velocity":0.0,"x_acceleration":-0.80762501648485,"y_acceleration":6.313888526587764,"angular_acceleration":0.0},{"time":9.179999999999849,"x":6.080738446010183,"y":1.5839515851936767,"angle":0.0,"x_velocity":-1.1904407928141536,"y_velocity":2.077388174360088,"angular_velocity":0.0,"x_acceleration":-0.7512895655550559,"y_acceleration":6.415081316693506,"angular_acceleration":0.0},{"time":9.189999999999849,"x":6.068797527390783,"y":1.6050475917931453,"angle":0.0,"x_velocity":-1.197633811622125,"y_velocity":2.141939877794451,"angular_velocity":0.0,"x_acceleration":-0.6858242367144277,"y_acceleration":6.491133523143912,"angular_acceleration":0.0},{"time":9.199999999999848,"x":6.056788099261328,"y":1.626792508665089,"angle":0.0,"x_velocity":-1.2041281121018177,"y_velocity":2.207129612887062,"angular_velocity":0.0,"x_acceleration":-0.6116092738865335,"y_acceleration":6.542816148823953,"angular_acceleration":0.0},{"time":9.209999999999848,"x":6.044717579949403,"y":1.6491915104970991,"angle":0.0,"x_velocity":-1.2098380991329767,"y_velocity":2.272717538844643,"angular_velocity":0.0,"x_acceleration":-0.5290249209949393,"y_acceleration":6.570900196618593,"angular_acceleration":0.0},{"time":9.219999999999848,"x":6.032594224721595,"y":1.6722474121189794,"angle":0.0,"x_velocity":-1.2146819800345827,"y_velocity":2.3384715249027637,"angular_velocity":0.0,"x_acceleration":-0.43845142196321196,"y_acceleration":6.5761566694128035,"angular_acceleration":0.0},{"time":9.229999999999848,"x":6.020427087759108,"y":1.6959607456030334,"angle":0.0,"x_velocity":-1.2185817645648522,"y_velocity":2.404167150325845,"angular_velocity":0.0,"x_acceleration":-0.34026902071491927,"y_acceleration":6.559356570091551,"angular_acceleration":0.0},{"time":9.239999999999847,"x":6.00822598413337,"y":1.7203298373643527,"angle":0.0,"x_velocity":-1.2214632649212374,"y_velocity":2.4695877044071564,"angular_velocity":0.0,"x_acceleration":-0.2348579611736279,"y_acceleration":6.521270901539804,"angular_acceleration":0.0},{"time":9.249999999999847,"x":5.996001451781636,"y":1.7453508852611066,"angle":0.0,"x_velocity":-1.2232560957404264,"y_velocity":2.5345241864688197,"angular_velocity":0.0,"x_acceleration":-0.1225984872629029,"y_acceleration":6.462670666642528,"angular_acceleration":0.0},{"time":9.259999999999847,"x":5.983764713482594,"y":1.7710180356948293,"angle":0.0,"x_velocity":-1.2238936740983426,"y_velocity":2.5987753058618024,"angular_velocity":0.0,"x_acceleration":-0.0038708429063145644,"y_acceleration":6.3843268682846945,"angular_acceleration":0.0},{"time":9.269999999999847,"x":5.971527638831983,"y":1.797323460710709,"angle":0.0,"x_velocity":-1.2233132195101453,"y_velocity":2.6621474819659254,"angular_velocity":0.0,"x_acceleration":0.12094472797257483,"y_acceleration":6.287010509351264,"angular_acceleration":0.0},{"time":9.279999999999847,"x":5.95930270621819,"y":1.8242574350978762,"angle":0.0,"x_velocity":-1.2214557539302289,"y_velocity":2.724454844189857,"angular_velocity":0.0,"x_acceleration":0.2514679814501941,"y_acceleration":6.1714925927272155,"angular_acceleration":0.0},{"time":9.289999999999846,"x":5.947102964797866,"y":1.8518084134896928,"angle":0.0,"x_velocity":-1.2182661017522243,"y_velocity":2.7855192319711146,"angular_velocity":0.0,"x_acceleration":0.38731867360297745,"y_acceleration":6.038544121297507,"angular_acceleration":0.0},{"time":9.299999999999846,"x":5.934941996471522,"y":1.8799631074640397,"angle":0.0,"x_velocity":-1.2136928898089974,"y_velocity":2.8451701947760686,"angular_velocity":0.0,"x_acceleration":0.5281165605073601,"y_acceleration":5.888936097947115,"angular_acceleration":0.0},{"time":9.309999999999846,"x":5.922833877859156,"y":1.908706562643606,"angle":0.0,"x_velocity":-1.2076885473726504,"y_velocity":2.9032449920999355,"angular_velocity":0.0,"x_acceleration":0.6734813982397747,"y_acceleration":5.723439525560993,"angular_acceleration":0.0},{"time":9.319999999999846,"x":5.910793142275837,"y":1.9380222357961772,"angle":0.0,"x_velocity":-1.2002093061545205,"y_velocity":2.9595885934667834,"angular_velocity":0.0,"x_acceleration":0.8230329428766523,"y_acceleration":5.542825407024125,"angular_acceleration":0.0},{"time":9.329999999999846,"x":5.89883474170733,"y":1.967892071934924,"angle":0.0,"x_velocity":-1.191215200305181,"y_velocity":3.0140536784295295,"angular_velocity":0.0,"x_acceleration":0.976390950494427,"y_acceleration":5.347864745221472,"angular_acceleration":0.0},{"time":9.339999999999845,"x":5.886974008785699,"y":1.9982965814186888,"angle":0.0,"x_velocity":-1.1806700664144412,"y_velocity":3.0665006365699417,"angular_velocity":0.0,"x_acceleration":1.1331751771695342,"y_acceleration":5.139328543037997,"angular_acceleration":0.0},{"time":9.349999999999845,"x":5.875226618764909,"y":2.0292149170522786,"angle":0.0,"x_velocity":-1.168541543511345,"y_velocity":3.116797567498635,"angular_velocity":0.0,"x_acceleration":1.2930053789784037,"y_acceleration":4.917987803358679,"angular_acceleration":0.0},{"time":9.359999999999845,"x":5.863608551496445,"y":2.06062495118675,"angle":0.0,"x_velocity":-1.154801073064173,"y_velocity":3.1648202808550767,"angular_velocity":0.0,"x_acceleration":1.45550131199747,"y_acceleration":4.684613529068477,"angular_acceleration":0.0},{"time":9.369999999999845,"x":5.852136053404908,"y":2.092503352819696,"angle":0.0,"x_velocity":-1.1394238989804413,"y_velocity":3.2104522963075817,"angular_velocity":0.0,"x_acceleration":1.620282732303167,"y_acceleration":4.439976723052366,"angular_acceleration":0.0},{"time":9.379999999999844,"x":5.84082559946363,"y":2.124825664695541,"angle":0.0,"x_velocity":-1.1223890676069002,"y_velocity":3.253584843553318,"angular_velocity":0.0,"x_acceleration":1.786969395971926,"y_acceleration":4.184848388195299,"angular_acceleration":0.0},{"time":9.389999999999844,"x":5.829693855170277,"y":2.1575663804058216,"angle":0.0,"x_velocity":-1.1036794277295385,"y_velocity":3.2941168623182993,"angular_velocity":0.0,"x_acceleration":1.9551810590801826,"y_acceleration":3.919999527382264,"angular_acceleration":0.0},{"time":9.399999999999844,"x":5.818757638522461,"y":2.1906990214894826,"angle":0.0,"x_velocity":-1.0832816305735775,"y_velocity":3.3319550023573914,"angular_velocity":0.0,"x_acceleration":2.1245374777043695,"y_acceleration":3.6462011434982085,"angular_acceleration":0.0},{"time":9.409999999999844,"x":5.808033881993346,"y":2.224196214533158,"angle":0.0,"x_velocity":-1.0611861298034773,"y_velocity":3.367013623454309,"angular_velocity":0.0,"x_acceleration":2.294658407920916,"y_acceleration":3.364224239428122,"angular_acceleration":0.0},{"time":9.419999999999844,"x":5.797539594507254,"y":2.2580297682714656,"angle":0.0,"x_velocity":-1.0373871815229312,"y_velocity":3.3992147954216163,"angular_velocity":0.0,"x_acceleration":2.46516360580626,"y_acceleration":3.074839818056949,"angular_acceleration":0.0},{"time":9.429999999999843,"x":5.7872918234152735,"y":2.2921707506872915,"angle":0.0,"x_velocity":-1.011882844274869,"y_velocity":3.428488298100727,"angular_velocity":0.0,"x_acceleration":2.6356728274368306,"y_acceleration":2.7788188822696824,"angular_acceleration":0.0},{"time":9.439999999999843,"x":5.7773076164708685,"y":2.3265895661120823,"angle":0.0,"x_velocity":-0.9846749790414564,"y_velocity":3.4547716213619033,"angular_velocity":0.0,"x_acceleration":2.805805828889067,"y_acceleration":2.4769324349512676,"angular_acceleration":0.0},{"time":9.449999999999843,"x":5.7676039838054844,"y":2.361256032326129,"angle":0.0,"x_velocity":-0.9557692492440956,"y_velocity":3.478009965104264,"angular_velocity":0.0,"x_acceleration":2.9751823662393972,"y_acceleration":2.169951478986677,"angular_acceleration":0.0},{"time":9.459999999999843,"x":5.758197859904157,"y":2.39613945765886,"angle":0.0,"x_velocity":-0.9251751207434215,"y_velocity":3.498156239255766,"angular_velocity":0.0,"x_acceleration":3.143422195564254,"y_acceleration":1.8586470172608927,"angular_acceleration":0.0},{"time":9.469999999999843,"x":5.749106065581121,"y":2.4312087180891266,"angle":0.0,"x_velocity":-0.8929058618393085,"y_velocity":3.5151710637732263,"angular_velocity":0.0,"x_acceleration":3.3101450729400748,"y_acceleration":1.5437900526588741,"angular_acceleration":0.0},{"time":9.479999999999842,"x":5.740345269955412,"y":2.4664323343454915,"angle":0.0,"x_velocity":-0.8589785432708638,"y_velocity":3.5290227686423057,"angular_velocity":0.0,"x_acceleration":3.47497075444329,"y_acceleration":1.2261515880655836,"angular_acceleration":0.0},{"time":9.489999999999842,"x":5.731931952426483,"y":2.5017785490065214,"angle":0.0,"x_velocity":-0.8234140382164312,"y_velocity":3.539687393877518,"angular_velocity":0.0,"x_acceleration":3.637518996150331,"y_acceleration":0.9065026263659934,"angular_acceleration":0.0},{"time":9.499999999999842,"x":5.723882364649805,"y":2.537215403601069,"angle":0.0,"x_velocity":-0.7862370222935909,"y_velocity":3.5471486895222206,"angular_velocity":0.0,"x_acceleration":3.79740955413763,"y_acceleration":0.5856141704450764,"angular_acceleration":0.0},{"time":9.509999999999842,"x":5.716212492512478,"y":2.572710815708567,"angle":0.0,"x_velocity":-0.7474759735591574,"y_velocity":3.551398115648628,"angular_velocity":0.0,"x_acceleration":3.9542621844816264,"y_acceleration":0.26425722318779776,"angular_acceleration":0.0},{"time":9.519999999999841,"x":5.708938018108835,"y":2.608232656059313,"angle":0.0,"x_velocity":-0.7071631725091825,"y_velocity":3.552434842357805,"angular_velocity":0.0,"x_acceleration":4.107696643258752,"y_acceleration":-0.05679721252090175,"angular_acceleration":0.0},{"time":9.529999999999841,"x":5.702074281716055,"y":2.64374882563476,"angle":0.0,"x_velocity":-0.6653347020789528,"y_velocity":3.5502657497796566,"angular_velocity":0.0,"x_acceleration":4.257332686545434,"y_acceleration":-0.3767781337960052,"angular_acceleration":0.0},{"time":9.539999999999841,"x":5.695636243769767,"y":2.679227332767806,"angle":0.0,"x_velocity":-0.6220304476429896,"y_velocity":3.5449054280729473,"angular_velocity":0.0,"x_acceleration":4.4027900704181135,"y_acceleration":-0.6949145377525774,"angular_acceleration":0.0},{"time":9.54999999999984,"x":5.689638446839663,"y":2.714636370243078,"angle":0.0,"x_velocity":-0.5772940970150515,"y_velocity":3.5363761774252844,"angular_velocity":0.0,"x_acceleration":4.543688550953217,"y_acceleration":-1.0104354215056333,"angular_acceleration":0.0},{"time":9.55999999999984,"x":5.68409497760509,"y":2.7499443923972255,"angle":0.0,"x_velocity":-0.5311731404481308,"y_velocity":3.52470800805313,"angular_velocity":0.0,"x_acceleration":4.679647884227181,"y_acceleration":-1.322569782170234,"angular_acceleration":0.0},{"time":9.56999999999984,"x":5.6790194288306814,"y":2.785120192219205,"angle":0.0,"x_velocity":-0.4837188706344584,"y_velocity":3.509938640201791,"angular_velocity":0.0,"x_acceleration":4.810287826316436,"y_acceleration":-1.6305466168613734,"angular_acceleration":0.0},{"time":9.57999999999984,"x":5.6744248613419455,"y":2.820132978450572,"angle":0.0,"x_velocity":-0.4349863827054983,"y_velocity":3.492113504145431,"angular_velocity":0.0,"x_acceleration":4.9352281332974215,"y_acceleration":-1.933594922694116,"angular_acceleration":0.0},{"time":9.58999999999984,"x":5.670323766000881,"y":2.854952452685769,"angle":0.0,"x_velocity":-0.38503457423195186,"y_velocity":3.4712857401870556,"angular_velocity":0.0,"x_acceleration":5.054088561246568,"y_acceleration":-2.2309436967834735,"angular_acceleration":0.0},{"time":9.59999999999984,"x":5.666728025681581,"y":2.889548886472409,"angle":0.0,"x_velocity":-0.3339261452237543,"y_velocity":3.4475161986585237,"angular_velocity":0.0,"x_acceleration":5.1664888662403,"y_acceleration":-2.521821936244489,"angular_acceleration":0.0},{"time":9.60999999999984,"x":5.66364887724585,"y":2.92389319841157,"angle":0.0,"x_velocity":-0.2817275981300793,"y_velocity":3.4208734399205456,"angular_velocity":0.0,"x_acceleration":5.272048804355059,"y_acceleration":-2.805458638192185,"angular_acceleration":0.0},{"time":9.61999999999984,"x":5.661096873518797,"y":2.957957031258082,"angle":0.0,"x_velocity":-0.2285092378393303,"y_velocity":3.391433734362673,"angular_velocity":0.0,"x_acceleration":5.370388131667275,"y_acceleration":-3.081082799741594,"angular_acceleration":0.0},{"time":9.62999999999984,"x":5.6590818452644545,"y":2.991712829020814,"angle":0.0,"x_velocity":-0.1743451716791551,"y_velocity":3.3592810624033254,"angular_velocity":0.0,"x_acceleration":5.4611266042533835,"y_acceleration":-3.347923418007767,"angular_acceleration":0.0},{"time":9.639999999999839,"x":5.657612863161382,"y":3.0251339140629634,"angle":0.0,"x_velocity":-0.1193133094164307,"y_velocity":3.324507114489749,"angular_velocity":0.0,"x_acceleration":5.543883978189825,"y_acceleration":-3.6052094901057217,"angular_acceleration":0.0},{"time":9.649999999999839,"x":5.656698199778274,"y":3.0581945642023447,"angle":0.0,"x_velocity":-0.06349536325727145,"y_velocity":3.287211291098054,"angular_velocity":0.0,"x_acceleration":5.618280009553018,"y_acceleration":-3.8521700131504844,"angular_acceleration":0.0},{"time":9.659999999999838,"x":5.6563452915495676,"y":3.090870089811676,"angle":0.0,"x_velocity":-0.006976847847027123,"y_velocity":3.247500702733201,"angular_velocity":0.0,"x_acceleration":5.683934454419397,"y_acceleration":-4.088033984257088,"angular_acceleration":0.0},{"time":9.669999999999838,"x":5.656560700751049,"y":3.123136910918873,"angle":0.0,"x_velocity":0.05015291972971303,"y_velocity":3.205490169928991,"angular_velocity":0.0,"x_acceleration":5.74046706886541,"y_acceleration":-4.3120304005405785,"angular_acceleration":0.0},{"time":9.679999999999838,"x":5.6573500774754635,"y":3.1549726343073288,"angle":0.0,"x_velocity":0.10780081994913049,"y_velocity":3.161302223248084,"angular_velocity":0.0,"x_acceleration":5.78749760896747,"y_acceleration":-4.523388259115968,"angular_acceleration":0.0},{"time":9.689999999999838,"x":5.658718121608124,"y":3.1863561306162125,"angle":0.0,"x_velocity":0.16586993084816903,"y_velocity":3.1150671032819863,"angular_velocity":0.0,"x_acceleration":5.824645830802034,"y_acceleration":-4.721336557098326,"angular_acceleration":0.0},{"time":9.699999999999838,"x":5.660668544802513,"y":3.2172676114407484,"angle":0.0,"x_velocity":0.22425952802453342,"y_velocity":3.066922760651045,"angular_velocity":0.0,"x_acceleration":5.851531490445513,"y_acceleration":-4.9051042916026475,"angular_acceleration":0.0},{"time":9.709999999999837,"x":5.6632040324558925,"y":3.2476887064325095,"angle":0.0,"x_velocity":0.28286508463669424,"y_velocity":3.017014856004474,"angular_velocity":0.0,"x_acceleration":5.867774343974347,"y_acceleration":-5.073920459743974,"angular_acceleration":0.0},{"time":9.719999999999837,"x":5.666326205684922,"y":3.277602540399706,"angle":0.0,"x_velocity":0.34157827140388974,"y_velocity":2.9654967600203292,"angular_velocity":0.0,"x_acceleration":5.872994147464976,"y_acceleration":-5.22701405863733,"angular_acceleration":0.0},{"time":9.729999999999837,"x":5.670035583301249,"y":3.3069938104074756,"angle":0.0,"x_velocity":0.40028695660611735,"y_velocity":2.912529553405509,"angular_velocity":0.0,"x_acceleration":5.8668106569938345,"y_acceleration":-5.363614085397771,"angular_acceleration":0.0},{"time":9.739999999999837,"x":5.674331543787124,"y":3.335848862878163,"angle":0.0,"x_velocity":0.4588752060841452,"y_velocity":2.85828202689577,"angular_velocity":0.0,"x_acceleration":5.84884362863734,"y_acceleration":-5.482949537140335,"angular_acceleration":0.0},{"time":9.749999999999837,"x":5.679212287271014,"y":3.3641557706916188,"angle":0.0,"x_velocity":0.5172232832394998,"y_velocity":2.802930681255715,"angular_velocity":0.0,"x_acceleration":5.8187128184719334,"y_acceleration":-5.584249410980007,"angular_acceleration":0.0},{"time":9.759999999999836,"x":5.684674797503205,"y":3.391904410285485,"angle":0.0,"x_velocity":0.5752076490344731,"y_velocity":2.7466597272787965,"angular_velocity":0.0,"x_acceleration":5.7760379825740635,"y_acceleration":-5.666742704031854,"angular_acceleration":0.0},{"time":9.769999999999836,"x":5.690714803831407,"y":3.4190865387554754,"angle":0.0,"x_velocity":0.632700961992124,"y_velocity":2.6896610857873267,"angular_velocity":0.0,"x_acceleration":5.7204388770201255,"y_acceleration":-5.729658413410895,"angular_acceleration":0.0},{"time":9.779999999999836,"x":5.697326743176363,"y":3.4456958709556824,"angle":0.0,"x_velocity":0.6895720781962753,"y_velocity":2.6321343876324406,"angular_velocity":0.0,"x_acceleration":5.651535257886586,"y_acceleration":-5.772225536232185,"angular_acceleration":0.0},{"time":9.789999999999836,"x":5.704503722007462,"y":3.471728156598843,"angle":0.0,"x_velocity":0.7456860512915107,"y_velocity":2.57428697369415,"angular_velocity":0.0,"x_acceleration":5.568946881249879,"y_acceleration":-5.793673069610733,"angular_acceleration":0.0},{"time":9.799999999999836,"x":5.7122374783183405,"y":3.4971812573566448,"angle":0.0,"x_velocity":0.80090413248318,"y_velocity":2.5163338948813223,"angular_velocity":0.0,"x_acceleration":5.472293503186414,"y_acceleration":-5.793230010661574,"angular_acceleration":0.0},{"time":9.809999999999835,"x":5.720518343602493,"y":3.5220552239600087,"angle":0.0,"x_velocity":0.8550837705374024,"y_velocity":2.4584979121316337,"angular_velocity":0.0,"x_acceleration":5.361194879772654,"y_acceleration":-5.770125356499747,"angular_acceleration":0.0},{"time":9.819999999999835,"x":5.72933520482888,"y":3.546352373299372,"angle":0.0,"x_velocity":0.9080786117810513,"y_velocity":2.4010094964116515,"angular_velocity":0.0,"x_acceleration":5.235270767085005,"y_acceleration":-5.723588104240292,"angular_acceleration":0.0},{"time":9.829999999999835,"x":5.738675466417531,"y":3.570077365524987,"angle":0.0,"x_velocity":0.959738500101774,"y_velocity":2.344106828716777,"angular_velocity":0.0,"x_acceleration":5.094140921199909,"y_acceleration":-5.652847250998221,"angular_acceleration":0.0},{"time":9.839999999999835,"x":5.748525012215159,"y":3.5932372811472004,"angle":0.0,"x_velocity":1.0099094769479766,"y_velocity":2.2880358000712526,"angular_velocity":0.0,"x_acceleration":4.937425098193799,"y_acceleration":-5.557131793888573,"angular_acceleration":0.0},{"time":9.849999999999834,"x":5.758868167470766,"y":3.615841698136749,"angle":0.0,"x_velocity":1.0584337813288371,"y_velocity":2.233050011528178,"angular_velocity":0.0,"x_acceleration":4.764743054143118,"y_acceleration":-5.435670730026388,"angular_acceleration":0.0},{"time":9.859999999999834,"x":5.769687660811243,"y":3.637902769025045,"angle":0.0,"x_velocity":1.105149849814282,"y_velocity":2.1794107741695115,"angular_velocity":0.0,"x_acceleration":4.575714545124285,"y_acceleration":-5.287693056526706,"angular_acceleration":0.0},{"time":9.869999999999834,"x":5.780964586216995,"y":3.659435298004452,"angle":0.0,"x_velocity":1.149892316535011,"y_velocity":2.127387109106067,"angular_velocity":0.0,"x_acceleration":4.369959327213742,"y_acceleration":-5.1124277705045245,"angular_acceleration":0.0},{"time":9.879999999999834,"x":5.792678364997526,"y":3.6804568180286097,"angle":0.0,"x_velocity":1.1924920131825,"y_velocity":2.0772557474774516,"angular_velocity":0.0,"x_acceleration":4.147097156487916,"y_acceleration":-4.909103869074926,"angular_acceleration":0.0},{"time":9.889999999999834,"x":5.804806707767067,"y":3.700987667912677,"angle":0.0,"x_velocity":1.2327759690089746,"y_velocity":2.029301130452197,"angular_velocity":0.0,"x_acceleration":3.9067477890232496,"y_acceleration":-4.676950349352893,"angular_acceleration":0.0},{"time":9.899999999999833,"x":5.817325576420172,"y":3.72105106943365,"angle":0.0,"x_velocity":1.2705674108274199,"y_velocity":1.9838154092276596,"angular_velocity":0.0,"x_acceleration":3.648530980896169,"y_acceleration":-4.415196208453452,"angular_acceleration":0.0},{"time":9.909999999999833,"x":5.830209146107327,"y":3.7406732044306494,"angle":0.0,"x_velocity":1.3056857630116099,"y_velocity":1.9410984450300113,"angular_velocity":0.0,"x_acceleration":3.3720664881831155,"y_acceleration":-4.123070443491727,"angular_acceleration":0.0},{"time":9.919999999999833,"x":5.843429767210566,"y":3.7598832919051866,"angle":0.0,"x_velocity":1.337946647496052,"y_velocity":1.9014578091143157,"angular_velocity":0.0,"x_acceleration":3.0769740669604886,"y_acceleration":-3.7998020515826596,"angular_acceleration":0.0},{"time":9.929999999999833,"x":5.85695792731906,"y":3.778713665121481,"angle":0.0,"x_velocity":1.3671618837760366,"y_velocity":1.8652087827644728,"angular_velocity":0.0,"x_acceleration":2.7628734733047793,"y_acceleration":-3.4446200298413174,"angular_acceleration":0.0},{"time":9.939999999999833,"x":5.870762213204749,"y":3.797199848706734,"angle":0.0,"x_velocity":1.3931394889076234,"y_velocity":1.8326743572932145,"angular_velocity":0.0,"x_acceleration":2.4293844632923722,"y_acceleration":-3.0567533753826837,"angular_acceleration":0.0},{"time":9.949999999999832,"x":5.884809272797932,"y":3.8153806357514117,"angle":0.0,"x_velocity":1.4156836775076194,"y_velocity":1.8041852340421514,"angular_velocity":0.0,"x_acceleration":2.076126792999723,"y_acceleration":-2.635431085321841,"angular_acceleration":0.0},{"time":9.959999999999832,"x":5.8990637771628815,"y":3.833298164909542,"angle":0.0,"x_velocity":1.4345948617536006,"y_velocity":1.7800798243817333,"angular_velocity":0.0,"x_acceleration":1.702720218503238,"y_acceleration":-2.1798821567738287,"angular_acceleration":0.0},{"time":9.969999999999832,"x":5.913488382473446,"y":3.8509979974990065,"angle":0.0,"x_velocity":1.449669651383923,"y_velocity":1.760704249711253,"angular_velocity":0.0,"x_acceleration":1.308784495879408,"y_acceleration":-1.6893355868536446,"angular_acceleration":0.0},{"time":9.979999999999832,"x":5.928043691988665,"y":3.8685291946018223,"angle":0.0,"x_velocity":1.460700853697686,"y_velocity":1.746412341458857,"angular_velocity":0.0,"x_acceleration":0.8939393812046106,"y_acceleration":-1.163020372676371,"angular_acceleration":0.0},{"time":9.989999999999831,"x":5.942688218028369,"y":3.8859443941644294,"angle":0.0,"x_velocity":1.4674774735547693,"y_velocity":1.737565641081531,"angular_velocity":0.0,"x_acceleration":0.4578046305552945,"y_acceleration":-0.6001655113569768,"angular_acceleration":0.0},{"time":9.999999999999831,"x":5.957378343948799,"y":3.903299888097987,"angle":0.0,"x_velocity":1.4697847133758,"y_velocity":1.7345334000651391,"angular_velocity":0.0,"x_acceleration":7.908340649009915e-12,"y_acceleration":-1.0516032489249483e-11,"angular_acceleration":0.0},{"time":10.009999999999831,"x":5.972099638963254,"y":3.9206434138286106,"angle":0.0,"x_velocity":1.4767821837542245,"y_velocity":1.7339919108070228,"angular_velocity":0.0,"x_acceleration":1.384766888767155,"y_acceleration":-0.10790125140344663,"angular_acceleration":0.0},{"time":10.01999999999983,"x":5.986958681893677,"y":3.9379761692390023,"angle":0.0,"x_velocity":1.4971885419868072,"y_velocity":1.7323832970024955,"angular_velocity":0.0,"x_acceleration":2.6820810282590366,"y_acceleration":-0.21342591318675427,"angular_acceleration":0.0},{"time":10.02999999999983,"x":6.002085219326888,"y":3.9552876018127945,"angle":0.0,"x_velocity":1.5301383643041173,"y_velocity":1.7297312944304943,"angular_velocity":0.0,"x_acceleration":3.8937631631649032,"y_acceleration":-0.31658000880812076,"angular_acceleration":0.0},{"time":10.03999999999983,"x":6.01760043464925,"y":3.9725673960902275,"angle":0.0,"x_velocity":1.5747844343838615,"y_velocity":1.7260595786353392,"angular_velocity":0.0,"x_acceleration":5.021634038198132,"y_acceleration":-0.4173695617275848,"angular_acceleration":0.0},{"time":10.04999999999983,"x":6.033617130121139,"y":3.989805473065815,"angle":0.0,"x_velocity":1.6302977433508803,"y_velocity":1.721391764926749,"angular_velocity":0.0,"x_acceleration":6.067514398072096,"y_acceleration":-0.5158005954051854,"angular_acceleration":0.0},{"time":10.05999999999983,"x":6.050239908951415,"y":4.006991989585994,"angle":0.0,"x_velocity":1.6958674897771482,"y_velocity":1.715751408379842,"angular_velocity":0.0,"x_acceleration":7.0332249875001756,"y_acceleration":-0.6118791333009613,"angular_acceleration":0.0},{"time":10.06999999999983,"x":6.067565357371893,"y":4.024117337746778,"angle":0.0,"x_velocity":1.7707010796817724,"y_velocity":1.7091620038351358,"angular_velocity":0.0,"x_acceleration":7.9205865511957425,"y_acceleration":-0.7056111988749512,"angular_acceleration":0.0},{"time":10.07999999999983,"x":6.085682226711817,"y":4.041172144291415,"angle":0.0,"x_velocity":1.8540241265309954,"y_velocity":1.701646985898549,"angular_velocity":0.0,"x_acceleration":8.73141983387217,"y_acceleration":-0.797002815587194,"angular_acceleration":0.0},{"time":10.08999999999983,"x":6.104671615472322,"y":4.058147270008039,"angle":0.0,"x_velocity":1.945080451238193,"y_velocity":1.6932297289413982,"angular_velocity":0.0,"x_acceleration":9.467545580242842,"y_acceleration":-0.8860600068977285,"angular_acceleration":0.0},{"time":10.09999999999983,"x":6.124607151400923,"y":4.075033809127322,"angle":0.0,"x_velocity":2.043132082163874,"y_velocity":1.6839335471004004,"angular_velocity":0.0,"x_acceleration":10.130784535021125,"y_acceleration":-0.9727887962665935,"angular_acceleration":0.0},{"time":10.109999999999829,"x":6.1455551735659695,"y":4.091823088720133,"angle":0.0,"x_velocity":2.1474592551156806,"y_velocity":1.6737816942776722,"angular_velocity":0.0,"x_acceleration":10.722957442920404,"y_acceleration":-1.0571952071538278,"angular_acceleration":0.0},{"time":10.119999999999829,"x":6.167574914431123,"y":4.1085066680951865,"angle":0.0,"x_velocity":2.2573604133483918,"y_velocity":1.6627973641407294,"angular_velocity":0.0,"x_acceleration":11.245885048654044,"y_acceleration":-1.1392852630194705,"angular_acceleration":0.0},{"time":10.129999999999828,"x":6.190718681929829,"y":4.125076338196702,"angle":0.0,"x_velocity":2.3721522075639165,"y_velocity":1.6510036901224885,"angular_velocity":0.0,"x_acceleration":11.701388096935432,"y_acceleration":-1.21906498732356,"angular_acceleration":0.0},{"time":10.139999999999828,"x":6.21503204153979,"y":4.141524121002052,"angle":0.0,"x_velocity":2.4911694959112993,"y_velocity":1.638423745421264,"angular_velocity":0.0,"x_acceleration":12.091287332477934,"y_acceleration":-1.296540403526135,"angular_acceleration":0.0},{"time":10.149999999999828,"x":6.2405539983574325,"y":4.157842268919421,"angle":0.0,"x_velocity":2.6137653439867186,"y_velocity":1.6250805430007713,"angular_velocity":0.0,"x_acceleration":12.417403499994931,"y_acceleration":-1.3717175350872348,"angular_acceleration":0.0},{"time":10.159999999999828,"x":6.2673171791723785,"y":4.174023264185459,"angle":0.0,"x_velocity":2.7393110248334853,"y_velocity":1.6109970355901249,"angular_velocity":0.0,"x_acceleration":12.681557344199799,"y_acceleration":-1.444602405466898,"angular_acceleration":0.0},{"time":10.169999999999828,"x":6.295348014541923,"y":4.19005981826293,"angle":0.0,"x_velocity":2.867196018942046,"y_velocity":1.5961961156838387,"angular_velocity":0.0,"x_acceleration":12.885569609805906,"y_acceleration":-1.5152010381251635,"angular_acceleration":0.0},{"time":10.179999999999827,"x":6.324666920865499,"y":4.205944871238375,"angle":0.0,"x_velocity":2.9968280142499797,"y_velocity":1.5807006155418266,"angular_velocity":0.0,"x_acceleration":13.031261041526637,"y_acceleration":-1.5835194565220696,"angular_acceleration":0.0},{"time":10.189999999999827,"x":6.3552884824591525,"y":4.221671591219759,"angle":0.0,"x_velocity":3.1276329061420003,"y_velocity":1.564533307189402,"angular_velocity":0.0,"x_acceleration":13.120452384075366,"y_acceleration":-1.649563684117656,"angular_acceleration":0.0},{"time":10.199999999999827,"x":6.387221633630008,"y":4.2372333737341235,"angle":0.0,"x_velocity":3.259054797449954,"y_velocity":1.5477169024172783,"angular_velocity":0.0,"x_acceleration":13.154964382165467,"y_acceleration":-1.7133397443719607,"angular_acceleration":0.0},{"time":10.209999999999827,"x":6.420469840750751,"y":4.252623841125252,"angle":0.0,"x_velocity":3.3905559984528195,"y_velocity":1.5302740527815677,"angular_velocity":0.0,"x_acceleration":13.136617780510317,"y_acceleration":-1.7748536607450227,"angular_acceleration":0.0},{"time":10.219999999999827,"x":6.455031284334084,"y":4.267836841951307,"angle":0.0,"x_velocity":3.521617026876714,"y_velocity":1.5122273496037826,"angular_velocity":0.0,"x_acceleration":13.067233323823286,"y_acceleration":-1.8341114566968815,"angular_acceleration":0.0},{"time":10.229999999999826,"x":6.490899041107215,"y":4.282866450382501,"angle":0.0,"x_velocity":3.6517366078948847,"y_velocity":1.493599323970835,"angular_velocity":0.0,"x_acceleration":12.948631756817763,"y_acceleration":-1.8911191556875746,"angular_acceleration":0.0},{"time":10.239999999999826,"x":6.528061266086312,"y":4.297706965598739,"angle":0.0,"x_velocity":3.780431674127713,"y_velocity":1.4744124467350357,"angular_velocity":0.0,"x_acceleration":12.782633824207107,"y_acceleration":-1.9458827811771422,"angular_acceleration":0.0},{"time":10.249999999999826,"x":6.566501374650991,"y":4.3123529111872765,"angle":0.0,"x_velocity":3.907237365642715,"y_velocity":1.4546891285140964,"angular_velocity":0.0,"x_acceleration":12.571060270704706,"y_acceleration":-1.9984083566256223,"angular_acceleration":0.0},{"time":10.259999999999826,"x":6.606198224618772,"y":4.3267990345403735,"angle":0.0,"x_velocity":4.03170702995454,"y_velocity":1.4344517196911277,"angular_velocity":0.0,"x_acceleration":12.315731841023922,"y_acceleration":-2.0487019054930538,"angular_acceleration":0.0},{"time":10.269999999999825,"x":6.647126298319559,"y":4.341040306252947,"angle":0.0,"x_velocity":4.153412222024973,"y_velocity":1.4137225104146398,"angular_velocity":0.0,"x_acceleration":12.018469279878154,"y_acceleration":-2.0967694512394757,"angular_acceleration":0.0},{"time":10.279999999999825,"x":6.689255884670112,"y":4.355071919520226,"angle":0.0,"x_velocity":4.271942704262926,"y_velocity":1.392523730598542,"angular_velocity":0.0,"x_acceleration":11.681093331980751,"y_acceleration":-2.142617017324926,"angular_acceleration":0.0},{"time":10.289999999999825,"x":6.732553261248511,"y":4.368889289535408,"angle":0.0,"x_velocity":4.3869064465244545,"y_velocity":1.370877549922145,"angular_velocity":0.0,"x_acceleration":11.305424742045105,"y_acceleration":-2.1862506272094455,"angular_acceleration":0.0},{"time":10.299999999999825,"x":6.776980876368638,"y":4.382488052887309,"angle":0.0,"x_velocity":4.49792962611274,"y_velocity":1.3488060778301574,"angular_velocity":0.0,"x_acceleration":10.893284254784593,"y_acceleration":-2.2276763043530714,"angular_acceleration":0.0},{"time":10.309999999999825,"x":6.822497531154639,"y":4.395864066958019,"angle":0.0,"x_velocity":4.604656627778104,"y_velocity":1.3263313635326877,"angular_velocity":0.0,"x_acceleration":10.446492614912582,"y_acceleration":-2.266900072215842,"angular_acceleration":0.0},{"time":10.319999999999824,"x":6.869058561615396,"y":4.409013409320555,"angle":0.0,"x_velocity":4.706750043717995,"y_velocity":1.303475396005244,"angular_velocity":0.0,"x_acceleration":9.966870567142452,"y_acceleration":-2.3039279542577975,"angular_acceleration":0.0},{"time":10.329999999999824,"x":6.91661602071901,"y":4.421932377136518,"angle":0.0,"x_velocity":4.8038906735769995,"y_velocity":1.2802601039887351,"angular_velocity":0.0,"x_acceleration":9.456238856187577,"y_acceleration":-2.338765973938976,"angular_acceleration":0.0},{"time":10.339999999999824,"x":6.965118860467254,"y":4.434617486553746,"angle":0.0,"x_velocity":4.895777524446839,"y_velocity":1.256707355989468,"angular_velocity":0.0,"x_acceleration":8.916418226761333,"y_acceleration":-2.371420154719417,"angular_acceleration":0.0},{"time":10.349999999999824,"x":7.01451311397006,"y":4.447065472103964,"angle":0.0,"x_velocity":4.982127810866363,"y_velocity":1.2328389602791503,"angular_velocity":0.0,"x_acceleration":8.349229423577096,"y_acceleration":-2.401896520059158,"angular_acceleration":0.0},{"time":10.359999999999824,"x":7.064742077519982,"y":4.4592732861004425,"angle":0.0,"x_velocity":5.06267695482156,"y_velocity":1.2086766648948881,"angular_velocity":0.0,"x_acceleration":7.756493191348238,"y_acceleration":-2.430201093418239,"angular_acceleration":0.0},{"time":10.369999999999823,"x":7.115746492666669,"y":4.471238098035649,"angle":0.0,"x_velocity":5.137178585745555,"y_velocity":1.1842421576391884,"angular_velocity":0.0,"x_acceleration":7.140030274788149,"y_acceleration":-2.456339898256698,"angular_acceleration":0.0},{"time":10.379999999999823,"x":7.167464728291338,"y":4.482957293978905,"angle":0.0,"x_velocity":5.205404540518594,"y_velocity":1.1595570660799572,"angular_velocity":0.0,"x_acceleration":6.501661418610194,"y_acceleration":-2.4803189580345757,"angular_acceleration":0.0},{"time":10.389999999999823,"x":7.219832962681245,"y":4.49442847597404,"angle":0.0,"x_velocity":5.267144863468075,"y_velocity":1.1346429575504997,"angular_velocity":0.0,"x_acceleration":5.843207367527729,"y_acceleration":-2.502144296211908,"angular_acceleration":0.0},{"time":10.399999999999823,"x":7.2727853656041495,"y":4.505649461437036,"angle":0.0,"x_velocity":5.32220780636851,"y_velocity":1.1095213391495218,"angular_velocity":0.0,"x_acceleration":5.16648886625417,"y_acceleration":-2.521821936248735,"angular_acceleration":0.0},{"time":10.409999999999823,"x":7.326254280382805,"y":4.516618282553697,"angle":0.0,"x_velocity":5.370419828441561,"y_velocity":1.0842136577411279,"angular_velocity":0.0,"x_acceleration":4.47332665950287,"y_acceleration":-2.539357901605097,"angular_acceleration":0.0},{"time":10.419999999999822,"x":7.380170405969402,"y":4.527333185677291,"angle":0.0,"x_velocity":5.411625596356019,"y_velocity":1.0587412999548222,"angular_velocity":0.0,"x_acceleration":3.7655414919871966,"y_acceleration":-2.55475821574103,"angular_acceleration":0.0},{"time":10.429999999999822,"x":7.434462979020064,"y":4.5377926307262095,"angle":0.0,"x_velocity":5.445687984227803,"y_velocity":1.0331255921855094,"angular_velocity":0.0,"x_acceleration":3.044954108420537,"y_acceleration":-2.5680289021165743,"angular_acceleration":0.0},{"time":10.439999999999822,"x":7.4890599559693065,"y":4.547995290581618,"angle":0.0,"x_velocity":5.472488073619969,"y_velocity":1.007387800593493,"angular_velocity":0.0,"x_acceleration":2.3133852535162944,"y_acceleration":-2.5791759841917705,"angular_acceleration":0.0},{"time":10.449999999999822,"x":7.543888195104515,"y":4.557940050485115,"angle":0.0,"x_velocity":5.491925153542711,"y_velocity":0.9815491311044764,"angular_velocity":0.0,"x_acceleration":1.5726556719877927,"y_acceleration":-2.588205485426654,"angular_acceleration":0.0},{"time":10.459999999999821,"x":7.598873638640402,"y":4.56762600743638,"angle":0.0,"x_velocity":5.503916720453352,"y_velocity":0.955630729409562,"angular_velocity":0.0,"x_acceleration":0.8245861085484272,"y_acceleration":-2.595123429281265,"angular_acceleration":0.0},{"time":10.469999999999821,"x":7.653941494793502,"y":4.577052469590834,"angle":0.0,"x_velocity":5.508398478256353,"y_velocity":0.929653680965253,"angular_velocity":0.0,"x_acceleration":0.0709973079115791,"y_acceleration":-2.599935839215643,"angular_acceleration":0.0},{"time":10.479999999999821,"x":7.7090164198566224,"y":4.586218955657286,"angle":0.0,"x_velocity":5.505324338303304,"y_velocity":0.903639010993451,"angular_velocity":0.0,"x_acceleration":-0.6862899852093705,"y_acceleration":-2.6026487386898265,"angular_acceleration":0.0},{"time":10.48999999999982,"x":7.764022700273324,"y":4.595125194295594,"angle":0.0,"x_velocity":5.494666419392935,"y_velocity":0.8776076844814577,"angular_velocity":0.0,"x_acceleration":-1.4454550261010652,"y_acceleration":-2.603268151163854,"angular_acceleration":0.0},{"time":10.49999999999982,"x":7.818884434712393,"y":4.603771123514316,"angle":0.0,"x_velocity":5.476415047771092,"y_velocity":0.8515806061819753,"angular_velocity":0.0,"x_acceleration":-2.20467707005011,"y_acceleration":-2.601800100097764,"angular_acceleration":0.0},{"time":10.50999999999982,"x":7.873525716142301,"y":4.612156890068361,"angle":0.0,"x_velocity":5.45057875713078,"y_velocity":0.8255786206131042,"angular_velocity":0.0,"x_acceleration":-2.9621353723431127,"y_acceleration":-2.5982506089515973,"angular_acceleration":0.0},{"time":10.51999999999982,"x":7.927870813905695,"y":4.620282848856651,"angle":0.0,"x_velocity":5.4171842886121295,"y_velocity":0.7996225120583448,"angular_velocity":0.0,"x_acceleration":-3.716009188266767,"y_acceleration":-2.5926257011853897,"angular_acceleration":0.0},{"time":10.52999999999982,"x":7.9818443557938545,"y":4.628149562319765,"angle":0.0,"x_velocity":5.376276590802387,"y_velocity":0.7737330045665974,"angular_velocity":0.0,"x_acceleration":-4.4644777731076175,"y_acceleration":-2.5849314002591814,"angular_acceleration":0.0},{"time":10.53999999999982,"x":8.035371510121166,"y":4.6357577998376,"angle":0.0,"x_velocity":5.327918819735964,"y_velocity":0.7479307619521621,"angular_velocity":0.0,"x_acceleration":-5.205720382152329,"y_acceleration":-2.5751737296330126,"angular_acceleration":0.0},{"time":10.54999999999982,"x":8.088378167799604,"y":4.6431085371270235,"angle":0.0,"x_velocity":5.272192338894381,"y_velocity":0.7222363877947379,"angular_velocity":0.0,"x_acceleration":-5.937916270687552,"y_acceleration":-2.5633587127669193,"angular_acceleration":0.0},{"time":10.55999999999982,"x":8.140791124413182,"y":4.650202955639527,"angle":0.0,"x_velocity":5.209196719206292,"y_velocity":0.6966704254394241,"angular_velocity":0.0,"x_acceleration":-6.659244693999867,"y_acceleration":-2.5494923731209416,"angular_acceleration":0.0},{"time":10.569999999999819,"x":8.192538262292443,"y":4.65704244195888,"angle":0.0,"x_velocity":5.139049739047506,"y_velocity":0.6712533579967197,"angular_velocity":0.0,"x_acceleration":-7.36788490737586,"y_acceleration":-2.5335807341551195,"angular_acceleration":0.0},{"time":10.579999999999819,"x":8.243548732588922,"y":4.663628587198782,"angle":0.0,"x_velocity":5.061887384240942,"y_velocity":0.6460056083425225,"angular_velocity":0.0,"x_acceleration":-8.062016166102246,"y_acceleration":-2.5156298193294915,"angular_acceleration":0.0},{"time":10.589999999999819,"x":8.293753137349617,"y":4.669963186400523,"angle":0.0,"x_velocity":4.977863848056673,"y_velocity":0.6209475391181303,"angular_velocity":0.0,"x_acceleration":-8.739817725465606,"y_acceleration":-2.495645652104095,"angular_acceleration":0.0},{"time":10.599999999999818,"x":8.343083711591468,"y":4.676048237930626,"angle":0.0,"x_velocity":4.887151531211888,"y_velocity":0.5960994527302408,"angular_velocity":0.0,"x_acceleration":-9.399468840752547,"y_acceleration":-2.4736342559389692,"angular_acceleration":0.0},{"time":10.609999999999818,"x":8.391474505375815,"y":4.681885942878514,"angle":0.0,"x_velocity":4.789941041870925,"y_velocity":0.5714815913509508,"angular_velocity":0.0,"x_acceleration":-10.039148767249756,"y_acceleration":-2.4496016542941534,"angular_acceleration":0.0},{"time":10.619999999999818,"x":8.438861565882886,"y":4.687478704454158,"angle":0.0,"x_velocity":4.686441195645248,"y_velocity":0.5471141369177572,"angular_velocity":0.0,"x_acceleration":-10.657036760243813,"y_acceleration":-2.4235538706296857,"angular_acceleration":0.0},{"time":10.629999999999818,"x":8.48518311948625,"y":4.692829127385726,"angle":0.0,"x_velocity":4.576879015593436,"y_velocity":0.5230172111335568,"angular_velocity":0.0,"x_acceleration":-11.251312075021275,"y_acceleration":-2.3954969284056067,"angular_acceleration":0.0},{"time":10.639999999999818,"x":8.530379753827301,"y":4.697940017317245,"angle":0.0,"x_velocity":4.461499732221254,"y_velocity":0.499210875466645,"angular_velocity":0.0,"x_acceleration":-11.820153966868872,"y_acceleration":-2.3654368510819537,"angular_acceleration":0.0},{"time":10.649999999999817,"x":8.574394599889729,"y":4.702814380206254,"angle":0.0,"x_velocity":4.3405667834815524,"y_velocity":0.4757151311507173,"angular_velocity":0.0,"x_acceleration":-12.361741691073206,"y_acceleration":-2.333379662118766,"angular_acceleration":0.0},{"time":10.659999999999817,"x":8.61717351407399,"y":4.707455421721453,"angle":0.0,"x_velocity":4.214361814774316,"y_velocity":0.4525499191848688,"angular_velocity":0.0,"x_acceleration":-12.874254502920891,"y_acceleration":-2.299331384976081,"angular_acceleration":0.0},{"time":10.669999999999817,"x":8.658665260271764,"y":4.711866546640359,"angle":0.0,"x_velocity":4.083184678946706,"y_velocity":0.4297351203335947,"angular_velocity":0.0,"x_acceleration":-13.355871657698543,"y_acceleration":-2.263298043113939,"angular_acceleration":0.0},{"time":10.679999999999817,"x":8.698821691940452,"y":4.716051358246966,"angle":0.0,"x_velocity":3.947353436292964,"y_velocity":0.40729055512678936,"angular_velocity":0.0,"x_acceleration":-13.804772410692763,"y_acceleration":-2.22528565999238,"angular_acceleration":0.0},{"time":10.689999999999817,"x":8.737597934177623,"y":4.720013657729387,"angle":0.0,"x_velocity":3.807204354554507,"y_velocity":0.38523598385974633,"angular_velocity":0.0,"x_acceleration":-14.219136017190237,"y_acceleration":-2.1853002590714397,"angular_acceleration":0.0},{"time":10.699999999999816,"x":8.774952565795504,"y":4.723757443577521,"angle":0.0,"x_velocity":3.663091908919867,"y_velocity":0.3635911065931591,"angular_velocity":0.0,"x_acceleration":-14.597141732477539,"y_acceleration":-2.143347863811159,"angular_acceleration":0.0},{"time":10.709999999999816,"x":8.810847801395433,"y":4.727286910980697,"angle":0.0,"x_velocity":3.5153887820247043,"y_velocity":0.34237556315312134,"angular_velocity":0.0,"x_acceleration":-14.936968811841282,"y_acceleration":-2.0994344976715773,"angular_acceleration":0.0},{"time":10.719999999999816,"x":8.845249673442353,"y":4.730606451225337,"angle":0.0,"x_velocity":3.364485863951842,"y_velocity":0.32160893313112593,"angular_velocity":0.0,"x_acceleration":-15.236796510568126,"y_acceleration":-2.0535661841127317,"angular_acceleration":0.0},{"time":10.729999999999816,"x":8.878128214339261,"y":4.733720651092596,"angle":0.0,"x_velocity":3.210792252231183,"y_velocity":0.3013107358840653,"angular_velocity":0.0,"x_acceleration":-15.494804083944729,"y_acceleration":-2.005748946594661,"angular_acceleration":0.0},{"time":10.739999999999815,"x":8.90945763850169,"y":4.736634292256034,"angle":0.0,"x_velocity":3.05473525183983,"y_velocity":0.28150043053423124,"angular_velocity":0.0,"x_acceleration":-15.709170787257634,"y_acceleration":-1.9559888085774066,"angular_acceleration":0.0},{"time":10.749999999999815,"x":8.939216524432183,"y":4.7393523506792565,"angle":0.0,"x_velocity":2.8967603752019606,"y_velocity":0.26219741596931523,"angular_velocity":0.0,"x_acceleration":-15.878075875793542,"y_acceleration":-1.904291793521002,"angular_acceleration":0.0},{"time":10.759999999999815,"x":8.96738799679476,"y":4.741879996013573,"angle":0.0,"x_velocity":2.737331342188938,"y_velocity":0.24342103084240835,"angular_velocity":0.0,"x_acceleration":-15.999698604839068,"y_acceleration":-1.8506639248854913,"angular_acceleration":0.0},{"time":10.769999999999815,"x":8.99395990848939,"y":4.744222590995651,"angle":0.0,"x_velocity":2.5769300801191974,"y_velocity":0.2251905535720028,"angular_velocity":0.0,"x_acceleration":-16.072218229680686,"y_acceleration":-1.7951112261309128,"angular_acceleration":0.0},{"time":10.779999999999815,"x":9.018925022726457,"y":4.746385690845174,"angle":0.0,"x_velocity":2.4160567237583805,"y_velocity":0.2075252023419879,"angular_velocity":0.0,"x_acceleration":-16.093814005605196,"y_acceleration":-1.737639720717302,"angular_acceleration":0.0},{"time":10.789999999999814,"x":9.042281195101245,"y":4.748375042662484,"angle":0.0,"x_velocity":2.2552296153192124,"y_velocity":0.19044413510165417,"angular_velocity":0.0,"x_acceleration":-16.062665187899256,"y_acceleration":-1.6782554321047005,"angular_acceleration":0.0},{"time":10.799999999999814,"x":9.064031555668393,"y":4.750196584826249,"angle":0.0,"x_velocity":2.0949853044615665,"y_velocity":0.17396644956569068,"angular_velocity":0.0,"x_acceleration":-15.976951031849325,"y_acceleration":-1.6169643837531469,"angular_acceleration":0.0},{"time":10.809999999999814,"x":9.084184691016386,"y":4.751856446391105,"angle":0.0,"x_velocity":1.9358785482924148,"y_velocity":0.15811118321418852,"angular_velocity":0.0,"x_acceleration":-15.834850792742117,"y_acceleration":-1.5537725991226776,"angular_acceleration":0.0},{"time":10.819999999999814,"x":9.102754826342004,"y":4.753360946485324,"angle":0.0,"x_velocity":1.7784823113659414,"y_velocity":0.14289731329263491,"angular_velocity":0.0,"x_acceleration":-15.634543725864177,"y_acceleration":-1.488686101673335,"angular_acceleration":0.0},{"time":10.829999999999814,"x":9.119762007524804,"y":4.754716593708453,"angle":0.0,"x_velocity":1.6233877656834323,"y_velocity":0.1283437568119179,"angular_velocity":0.0,"x_acceleration":-15.37420908650239,"y_acceleration":-1.4217109148651557,"angular_acceleration":0.0},{"time":10.839999999999813,"x":9.1352322832016,"y":4.755930085528978,"angle":0.0,"x_velocity":1.4712042906932226,"y_velocity":0.11446937054832801,"angular_velocity":0.0,"x_acceleration":-15.05202612994296,"y_acceleration":-1.3528530621581796,"angular_acceleration":0.0},{"time":10.849999999999813,"x":9.14919788684091,"y":4.757008307681976,"angle":0.0,"x_velocity":1.3225594732909371,"y_velocity":0.10129295104355107,"angular_velocity":0.0,"x_acceleration":-14.666174111472884,"y_acceleration":-1.2821185670124422,"angular_acceleration":0.0},{"time":10.859999999999813,"x":9.161697418817468,"y":4.757958333566762,"angle":0.0,"x_velocity":1.1780991078191931,"y_velocity":0.08883323460467554,"angular_velocity":0.0,"x_acceleration":-14.214832286378567,"y_acceleration":-1.2095134528879892,"angular_acceleration":0.0},{"time":10.869999999999813,"x":9.172776028486641,"y":4.758787423644556,"angle":0.0,"x_velocity":1.038487196067841,"y_velocity":0.07710889730418716,"angular_velocity":0.0,"x_acceleration":-13.696179909946807,"y_acceleration":-1.1350437432448506,"angular_acceleration":0.0},{"time":10.879999999999812,"x":9.182485596258966,"y":4.7595030248361265,"angle":0.0,"x_velocity":0.9044059472737658,"y_velocity":0.06613855497997448,"angular_velocity":0.0,"x_acceleration":-13.108396237464007,"y_acceleration":-1.0587154615430703,"angular_acceleration":0.0},{"time":10.889999999999812,"x":9.190884915674545,"y":4.760112769919447,"angle":0.0,"x_velocity":0.7765557781211143,"y_velocity":0.05594076323532207,"angular_velocity":0.0,"x_acceleration":-12.449660524216995,"y_acceleration":-0.9805346312426892,"angular_acceleration":0.0},{"time":10.899999999999812,"x":9.198039875477576,"y":4.760624476927353,"angle":0.0,"x_velocity":0.6556553127410467,"y_velocity":0.0465340174389163,"angular_velocity":0.0,"x_acceleration":-11.718152025492259,"y_acceleration":-0.9005072758037426,"angular_acceleration":0.0},{"time":10.909999999999812,"x":9.20402364169081,"y":4.7610461485451925,"angle":0.0,"x_velocity":0.5424413827118926,"y_velocity":0.03793675272484276,"angular_velocity":0.0,"x_acceleration":-10.9120499965764,"y_acceleration":-0.8186394186862691,"angular_acceleration":0.0},{"time":10.919999999999812,"x":9.208916839690023,"y":4.761385971508482,"angle":0.0,"x_velocity":0.4376690270591723,"y_velocity":0.030167343992586637,"angular_velocity":0.0,"x_acceleration":-10.029533692756274,"y_acceleration":-0.7349370833503112,"angular_acceleration":0.0},{"time":10.929999999999811,"x":9.21280773627845,"y":4.76165231600056,"angle":0.0,"x_velocity":0.34211149225550486,"y_velocity":0.02324410590703141,"angular_velocity":0.0,"x_acceleration":-9.068782369318399,"y_acceleration":-0.6494062932559003,"angular_acceleration":0.0},{"time":10.939999999999811,"x":9.215792421761314,"y":4.761853735050237,"angle":0.0,"x_velocity":0.2565602322205862,"y_velocity":0.017185292898463628,"angular_velocity":0.0,"x_acceleration":-8.027975281549146,"y_acceleration":-0.5620530718630826,"angular_acceleration":0.0},{"time":10.949999999999811,"x":9.21797499202026,"y":4.7619989639294635,"angle":0.0,"x_velocity":0.1818249083213388,"y_velocity":0.012009099162564735,"angular_velocity":0.0,"x_acceleration":-6.905291684735516,"y_acceleration":-0.4728834426318951,"angular_acceleration":0.0},{"time":10.95999999999981,"x":9.219467730587848,"y":4.762096919550961,"angle":0.0,"x_velocity":0.11873338937176925,"y_velocity":0.007733658660420056,"angular_velocity":0.0,"x_acceleration":-5.6989108341638826,"y_acceleration":-0.38190342902237484,"angular_acceleration":0.0},{"time":10.96999999999981,"x":9.220391290722013,"y":4.762156699865899,"angle":0.0,"x_velocity":0.06813175163298979,"y_velocity":0.004377045118512002,"angular_velocity":0.0,"x_acceleration":-4.407011985120903,"y_acceleration":-0.28911905449456243,"angular_acceleration":0.0},{"time":10.97999999999981,"x":9.220874877480528,"y":4.762187583261532,"angle":0.0,"x_velocity":0.030884278813275046,"y_velocity":0.00195727202872209,"angular_velocity":0.0,"x_acceleration":-3.0277743928933774,"y_acceleration":-0.19453634250849483,"angular_acceleration":0.0},{"time":10.98999999999981,"x":9.221056429795478,"y":4.762199027958863,"angle":0.0,"x_velocity":0.007873462068104686,"y_velocity":0.0004922926483358625,"angular_velocity":0.0,"x_acceleration":-1.5593773127677082,"y_acceleration":-0.09816131652421423,"angular_acceleration":0.0},{"time":10.99999999999981,"x":9.22108280254776,"y":4.762200671410297,"angle":0.0,"x_velocity":-2.842170943040401e-14,"y_velocity":3.314015728506092e-14,"angular_velocity":0.0,"x_acceleration":-3.063860276597552e-11,"y_acceleration":-1.7545964681175974e-12,"angular_acceleration":0.0}]} \ No newline at end of file diff --git a/src/main/deploy/example.txt b/src/main/deploy/example.txt new file mode 100644 index 0000000..bb82515 --- /dev/null +++ b/src/main/deploy/example.txt @@ -0,0 +1,3 @@ +Files placed in this directory will be deployed to the RoboRIO into the +'deploy' directory in the home folder. Use the 'Filesystem.getDeployDirectory' wpilib function +to get a proper path relative to the deploy directory. \ No newline at end of file diff --git a/src/main/java/frc/robot/Constants.java b/src/main/java/frc/robot/Constants.java new file mode 100644 index 0000000..c8477e0 --- /dev/null +++ b/src/main/java/frc/robot/Constants.java @@ -0,0 +1,4299 @@ +// Copyright (c) FIRST and other WPILib contributors. +// Open Source Software; you can modify and/or share it under the terms of +// the WPILib BSD license file in the root directory of this project. + +package frc.robot; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.function.BooleanSupplier; +import java.util.function.Supplier; + +import edu.wpi.first.math.geometry.Pose2d; +import edu.wpi.first.math.geometry.Pose3d; +import edu.wpi.first.math.geometry.Rotation2d; +import edu.wpi.first.math.geometry.Transform2d; +import edu.wpi.first.math.geometry.Translation2d; +import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; +import edu.wpi.first.wpilibj2.command.Command; +import frc.robot.commands.Test; +import frc.robot.subsystems.Superstructure.SuperState; + +public final class Constants { + public static double x = 0; + public static double y = 0; + public static double angle = 0; + public static boolean lastPoint = false; + + public static final class Swerve { + + public static final double TURN_kP = 1; + public static final double TURN_kI = 0; + public static final double TURN_kD = 0; + + } + + public static final class Autonomous { + // lookahead distance is a function: + // LOOKAHEAD = AUTONOMOUS_LOOKAHEAD_DISTANCE * velocity + MIN_LOOKAHEAD_DISTANCE + // their constants + public static final double AUTONOMOUS_LOOKAHEAD_DISTANCE = 0.04; // Lookahead at 1m/s scaled by wanted + // velocity + public static final double FULL_SEND_LOOKAHEAD = 0.60; + public static final double MIN_LOOKAHEAD_DISTANCE = 0.05; // Lookahead distance at 0m/s + // Path follower will end if within this radius of the final point + public static final double AUTONOMOUS_END_ACCURACY = 0.40; + public static final double ACCURATE_FOLLOWER_AUTONOMOUS_END_ACCURACY = 0.05; + // When calculating the point distance, will divide x and y by this constant + public static final double AUTONOMOUS_LOOKAHEAD_LINEAR_RADIUS = 1.0; + // When calculating the point distance, will divide theta by this constant + public static final double AUTONOMOUS_LOOKAHEAD_ANGULAR_RADIUS = Math.PI; + // Feed Forward Multiplier + public static final double FEED_FORWARD_MULTIPLIER = 0.5; + public static final double ACCURATE_FOLLOWER_FEED_FORWARD_MULTIPLIER = 1; + public static final String[] paths = new String[] { + "2AlgaeCenter.polarauto", + "2+1PieceFeeder.polarauto", + "3PieceFeederSmart.polarauto", + "4PieceFeederGroundSmart.polarauto", + "TushPush.polarauto", + }; + + public static int getSelectedPathIndex() { + if (OI.autoChooserConnected()) { + if (OI.autoChooser.getRawButton(1)) { + return 0; + } + if (OI.autoChooser.getRawButton(2)) { + return 1; + } + if (OI.autoChooser.getRawButton(3)) { + return 2; + } + if (OI.autoChooser.getRawButton(4)) { + return 3; + } + if (OI.autoChooser.getRawButton(5)) { + return 4; + } + } else { + return (int) Math.round(SmartDashboard.getNumber("ROBOT AUTO OVERIDE", -1)); + } + return -1; + } + + } + + public static void periodic() { + int index = Autonomous.getSelectedPathIndex(); + if (index == -1 || index > Constants.Autonomous.paths.length) { + } else { + } + } + + public static void init() { + + // Constants.Physical.redCoralScoringPositions.add(Constants.Physical.redSetpoint1); + // Constants.Physical.redCoralScoringPositions.add(Constants.Physical.redSetpoint2); + // Constants.Physical.redCoralScoringPositions.add(Constants.Physical.redSetpoint3); + // /////// + // Constants.Physical.redCoralScoringPositions.add(Constants.Physical.redSetpoint4); + // // Only have these 4 now + // Constants.Physical.redCoralScoringPositions.add(Constants.Physical.redSetpoint5); + // // The rest are 0, 0 + // Constants.Physical.redCoralScoringPositions.add(Constants.Physical.redSetpoint6); + // /////// + // Constants.Physical.redCoralScoringPositions.add(Constants.Physical.redSetpoint7); + // Constants.Physical.redCoralScoringPositions.add(Constants.Physical.redSetpoint8); + // Constants.Physical.redCoralScoringPositions.add(Constants.Physical.redSetpoint9); + // Constants.Physical.redCoralScoringPositions.add(Constants.Physical.redSetpoint10); + // Constants.Physical.redCoralScoringPositions.add(Constants.Physical.redSetpoint11); + // Constants.Physical.redCoralScoringPositions.add(Constants.Physical.redSetpoint12); + + // Constants.Physical.blueCoralScoringPositions.add(Constants.Physical.blueSetpoint1); + // Constants.Physical.blueCoralScoringPositions.add(Constants.Physical.blueSetpoint2); + // Constants.Physical.blueCoralScoringPositions.add(Constants.Physical.blueSetpoint3); + // Constants.Physical.blueCoralScoringPositions.add(Constants.Physical.blueSetpoint4); + // Constants.Physical.blueCoralScoringPositions.add(Constants.Physical.blueSetpoint5); + // Constants.Physical.blueCoralScoringPositions.add(Constants.Physical.blueSetpoint6); + // Constants.Physical.blueCoralScoringPositions.add(Constants.Physical.blueSetpoint7); + // Constants.Physical.blueCoralScoringPositions.add(Constants.Physical.blueSetpoint8); + // Constants.Physical.blueCoralScoringPositions.add(Constants.Physical.blueSetpoint9); + // Constants.Physical.blueCoralScoringPositions.add(Constants.Physical.blueSetpoint10); + // Constants.Physical.blueCoralScoringPositions.add(Constants.Physical.blueSetpoint11); + // Constants.Physical.blueCoralScoringPositions.add(Constants.Physical.blueSetpoint12); + + // for (int i = 0; i < Constants.Vision.redSideReefTags.length; i++) { + // Vector tagVector = new Vector(Constants.Vision.redSideReefTags[i][0], + // Constants.Vision.redSideReefTags[i][1]); + // Vector offsetXVector = new Vector( + // Constants.Physical.CORAL_PLACEMENT_X * + // Math.cos(Constants.Vision.redSideReefTags[i][3]), + // Constants.Physical.CORAL_PLACEMENT_X * + // Math.sin(Constants.Vision.redSideReefTags[i][3])); + // Vector offsetYVector = new Vector( + // Constants.Physical.CORAL_PLACEMENT_Y * + // Math.sin(Constants.Vision.redSideReefTags[i][3]), + // Constants.Physical.CORAL_PLACEMENT_Y * + // Math.cos(Constants.Vision.redSideReefTags[i][3])); + // Vector leftVector = tagVector.add(offsetXVector.add(offsetYVector)); + // Vector rightVector = tagVector.add(offsetXVector.subtract(offsetYVector)); + // Constants.Physical.redCoralScoringPositions + // .add(new Pose2d(new Translation2d(leftVector.getI(), leftVector.getJ()), + // new Rotation2d(Constants.Vision.redSideReefTags[i][3] + Math.PI))); + // Constants.Physical.redCoralScoringPositions + // .add(new Pose2d(new Translation2d(rightVector.getI(), rightVector.getJ()), + // new Rotation2d(Constants.Vision.redSideReefTags[i][3] + Math.PI))); + // } + // for (int i = 0; i < Constants.Vision.blueSideReefTags.length; i++) { + // Vector tagVector = new Vector(Constants.Vision.blueSideReefTags[i][0], + // Constants.Vision.blueSideReefTags[i][1]); + // Vector offsetXVector = new Vector( + // Constants.Physical.CORAL_PLACEMENT_X * + // Math.cos(Constants.Vision.blueSideReefTags[i][3]), + // Constants.Physical.CORAL_PLACEMENT_X * + // Math.sin(Constants.Vision.blueSideReefTags[i][3])); + // Vector offsetYVector = new Vector( + // Constants.Physical.CORAL_PLACEMENT_Y * + // Math.sin(Constants.Vision.blueSideReefTags[i][3]), + // Constants.Physical.CORAL_PLACEMENT_Y * + // Math.cos(Constants.Vision.blueSideReefTags[i][3])); + // Vector leftVector = tagVector.add(offsetXVector.add(offsetYVector)); + // Vector rightVector = tagVector.add(offsetXVector.subtract(offsetYVector)); + // Constants.Physical.blueCoralScoringPositions + // .add(new Pose2d(new Translation2d(leftVector.getI(), leftVector.getJ()), + // new Rotation2d(Constants.Vision.blueSideReefTags[i][3] + Math.PI))); + // Constants.Physical.blueCoralScoringPositions + // .add(new Pose2d(new Translation2d(rightVector.getI(), rightVector.getJ()), + // new Rotation2d(Constants.Vision.blueSideReefTags[i][3] + Math.PI))); + // } + + // Logger.recordOutput("red side scoring", + // Constants.Physical.redCoralScoringPositions.toString()); + // Logger.recordOutput("blue side scoring", + // Constants.Physical.blueCoralScoringPositions.toString()); + System.out.println("blue algae front positions: " + + Constants.Reef.algaeBlueFrontPlacingPositions.toString()); + System.out.println("red algae front positions: " + + Constants.Reef.algaeRedFrontPlacingPositions.toString()); + System.out.println("blue algae back positions: " + + Constants.Reef.algaeBlueBackPlacingPositions.toString()); + System.out.println( + "red algae back positions: " + Constants.Reef.algaeRedBackPlacingPositions.toString()); + + System.out.println("blue positions: " + Constants.Reef.blueFrontPlacingPositions.toString()); + System.out.println("red positions: " + Constants.Reef.redFrontPlacingPositions.toString()); + System.out.println("blue back positions: " + Constants.Reef.blueBackPlacingPositions.toString()); + System.out.println("red back positions: " + Constants.Reef.redBackPlacingPositions.toString()); + + System.out.println("l4 blue positions: " + Constants.Reef.l4BlueFrontPlacingPositions.toString()); + System.out.println("l4 red positions: " + Constants.Reef.l4RedFrontPlacingPositions.toString()); + System.out.println("l4 blue back positions: " + Constants.Reef.l4BlueBackPlacingPositions.toString()); + System.out.println("l4 red back positions: " + Constants.Reef.l4RedBackPlacingPositions.toString()); + + System.out.println("l3 blue positions: " + Constants.Reef.l3BlueFrontPlacingPositions.toString()); + System.out.println("l3 red positions: " + Constants.Reef.l3RedFrontPlacingPositions.toString()); + System.out.println("l3 blue back positions: " + Constants.Reef.l3BlueBackPlacingPositions.toString()); + System.out.println("l3 red back positions: " + Constants.Reef.l3RedBackPlacingPositions.toString()); + + System.out.println("L1 Blue Corners: " + Constants.Reef.l1BlueCornerPoints.toString()); + System.out.println("L1 Red Corners: " + Constants.Reef.l1RedCornerPoints.toString()); + + System.out.println("L1 Blue Drive: " + Constants.Reef.l1BlueDrivePoints.toString()); + System.out.println("L1 Red Drive: " + Constants.Reef.l1RedDrivePoints.toString()); + + for (int i = 0; i < Constants.Reef.l1BlueDrivePoints.size(); i++) { + } + + } + + public static class Reef { + public static final double PERFECT_BRANCH_OFFSET_L23 = inchesToMeters(1.625); + public static final double PERFECT_BRANCH_OFFSET_L4 = inchesToMeters(1.125); + + // positive is from face of reef towards center of reef + // negative means futher from reef + // public static final double A_BRANCH_OFFSET = PERFECT_BRANCH_OFFSET_L4 - + // inchesToMeters(1.5); + // public static final double B_BRANCH_OFFSET = PERFECT_BRANCH_OFFSET_L4 - + // inchesToMeters(1.875); + // public static final double C_BRANCH_OFFSET = PERFECT_BRANCH_OFFSET_L4 - + // inchesToMeters(1.125); + // public static final double D_BRANCH_OFFSET = PERFECT_BRANCH_OFFSET_L4 - + // inchesToMeters(1.25); + // public static final double E_BRANCH_OFFSET = PERFECT_BRANCH_OFFSET_L4 - + // inchesToMeters(1.125); + // public static final double F_BRANCH_OFFSET = PERFECT_BRANCH_OFFSET_L4 - + // inchesToMeters(1.125); + // public static final double G_BRANCH_OFFSET = PERFECT_BRANCH_OFFSET_L4 - + // inchesToMeters(1.125); + // public static final double H_BRANCH_OFFSET = PERFECT_BRANCH_OFFSET_L4 - + // inchesToMeters(1.125); + // public static final double I_BRANCH_OFFSET = PERFECT_BRANCH_OFFSET_L4 - + // inchesToMeters(-0.5940); + // public static final double J_BRANCH_OFFSET = PERFECT_BRANCH_OFFSET_L4 - + // inchesToMeters(0.375); + // public static final double K_BRANCH_OFFSET = PERFECT_BRANCH_OFFSET_L4 - + // inchesToMeters(0.7157); + // public static final double L_BRANCH_OFFSET = PERFECT_BRANCH_OFFSET_L4 - + // inchesToMeters(1.75); + + // public static final double A_BRANCH_OFFSET_L3 = PERFECT_BRANCH_OFFSET_L23 - + // inchesToMeters(1.0); + // public static final double B_BRANCH_OFFSET_L3 = PERFECT_BRANCH_OFFSET_L23 - + // inchesToMeters(2.5); + // public static final double C_BRANCH_OFFSET_L3 = PERFECT_BRANCH_OFFSET_L23 - + // inchesToMeters(1.75); + // public static final double D_BRANCH_OFFSET_L3 = PERFECT_BRANCH_OFFSET_L23 - + // inchesToMeters(2.0); + // public static final double E_BRANCH_OFFSET_L3 = PERFECT_BRANCH_OFFSET_L23 - + // inchesToMeters(1.625); + // public static final double F_BRANCH_OFFSET_L3 = PERFECT_BRANCH_OFFSET_L23 - + // inchesToMeters(1.625); + // public static final double G_BRANCH_OFFSET_L3 = PERFECT_BRANCH_OFFSET_L23 - + // inchesToMeters(1.625); + // public static final double H_BRANCH_OFFSET_L3 = PERFECT_BRANCH_OFFSET_L23 - + // inchesToMeters(1.625); + // public static final double I_BRANCH_OFFSET_L3 = PERFECT_BRANCH_OFFSET_L23 - + // inchesToMeters(1.125); + // public static final double J_BRANCH_OFFSET_L3 = PERFECT_BRANCH_OFFSET_L23 - + // inchesToMeters(1.5); + // public static final double K_BRANCH_OFFSET_L3 = PERFECT_BRANCH_OFFSET_L23 - + // inchesToMeters(3.0); + // public static final double L_BRANCH_OFFSET_L3 = PERFECT_BRANCH_OFFSET_L23 - + // inchesToMeters(3.0); + + // public static final double A_BRANCH_OFFSET_L2 = PERFECT_BRANCH_OFFSET_L23 - + // inchesToMeters(1.5); + // public static final double B_BRANCH_OFFSET_L2 = PERFECT_BRANCH_OFFSET_L23 - + // inchesToMeters(2.5); + // public static final double C_BRANCH_OFFSET_L2 = PERFECT_BRANCH_OFFSET_L23 - + // inchesToMeters(1.875); + // public static final double D_BRANCH_OFFSET_L2 = PERFECT_BRANCH_OFFSET_L23 - + // inchesToMeters(2.25); + // public static final double E_BRANCH_OFFSET_L2 = PERFECT_BRANCH_OFFSET_L23 - + // inchesToMeters(1.625); + // public static final double F_BRANCH_OFFSET_L2 = PERFECT_BRANCH_OFFSET_L23 - + // inchesToMeters(1.625); + // public static final double G_BRANCH_OFFSET_L2 = PERFECT_BRANCH_OFFSET_L23 - + // inchesToMeters(1.625); + // public static final double H_BRANCH_OFFSET_L2 = PERFECT_BRANCH_OFFSET_L23 - + // inchesToMeters(1.625); + // public static final double I_BRANCH_OFFSET_L2 = PERFECT_BRANCH_OFFSET_L23 - + // inchesToMeters(1.25); + // public static final double J_BRANCH_OFFSET_L2 = PERFECT_BRANCH_OFFSET_L23 - + // inchesToMeters(1.75); + // public static final double K_BRANCH_OFFSET_L2 = PERFECT_BRANCH_OFFSET_L23 - + // inchesToMeters(2.0); + // public static final double L_BRANCH_OFFSET_L2 = PERFECT_BRANCH_OFFSET_L23 - + // inchesToMeters(2.0); + + // // right when facing the reef side is positive + // // negative makes robot go more to the left + // public static final double A_BRANCH_OFFSET_SIDE = inchesToMeters(0.0); + // public static final double B_BRANCH_OFFSET_SIDE = inchesToMeters(1.5); + // public static final double C_BRANCH_OFFSET_SIDE = inchesToMeters(0.0); + // public static final double D_BRANCH_OFFSET_SIDE = inchesToMeters(0.0); + // public static final double E_BRANCH_OFFSET_SIDE = inchesToMeters(0.0); + // public static final double F_BRANCH_OFFSET_SIDE = inchesToMeters(0.0); + // public static final double G_BRANCH_OFFSET_SIDE = inchesToMeters(0.0); + // public static final double H_BRANCH_OFFSET_SIDE = inchesToMeters(0.0); + // public static final double I_BRANCH_OFFSET_SIDE = inchesToMeters(0.0); + // public static final double J_BRANCH_OFFSET_SIDE = inchesToMeters(-2.0); + // public static final double K_BRANCH_OFFSET_SIDE = inchesToMeters(-1.0); + // public static final double L_BRANCH_OFFSET_SIDE = inchesToMeters(0.0); + + // public static final double A_BRANCH_OFFSET_SIDE_L3 = inchesToMeters(0.0); + // public static final double B_BRANCH_OFFSET_SIDE_L3 = inchesToMeters(0.0); + // public static final double C_BRANCH_OFFSET_SIDE_L3 = inchesToMeters(0.0); + // public static final double D_BRANCH_OFFSET_SIDE_L3 = inchesToMeters(0.0); + // public static final double E_BRANCH_OFFSET_SIDE_L3 = inchesToMeters(0.0); + // public static final double F_BRANCH_OFFSET_SIDE_L3 = inchesToMeters(0.0); + // public static final double G_BRANCH_OFFSET_SIDE_L3 = inchesToMeters(0.0); + // public static final double H_BRANCH_OFFSET_SIDE_L3 = inchesToMeters(0.0); + // public static final double I_BRANCH_OFFSET_SIDE_L3 = inchesToMeters(1.5); + // public static final double J_BRANCH_OFFSET_SIDE_L3 = inchesToMeters(-2.0); + // public static final double K_BRANCH_OFFSET_SIDE_L3 = inchesToMeters(0.0); + // public static final double L_BRANCH_OFFSET_SIDE_L3 = inchesToMeters(0.0); + + // public static final double A_BRANCH_OFFSET_SIDE_L2 = inchesToMeters(0.0); + // public static final double B_BRANCH_OFFSET_SIDE_L2 = inchesToMeters(0.0); + // public static final double C_BRANCH_OFFSET_SIDE_L2 = inchesToMeters(0.0); + // public static final double D_BRANCH_OFFSET_SIDE_L2 = inchesToMeters(0.0); + // public static final double E_BRANCH_OFFSET_SIDE_L2 = inchesToMeters(0.0); + // public static final double F_BRANCH_OFFSET_SIDE_L2 = inchesToMeters(0.0); + // public static final double G_BRANCH_OFFSET_SIDE_L2 = inchesToMeters(0.0); + // public static final double H_BRANCH_OFFSET_SIDE_L2 = inchesToMeters(0.0); + // public static final double I_BRANCH_OFFSET_SIDE_L2 = inchesToMeters(1.5); + // public static final double J_BRANCH_OFFSET_SIDE_L2 = inchesToMeters(-2.0); + // public static final double K_BRANCH_OFFSET_SIDE_L2 = inchesToMeters(0.0); + // public static final double L_BRANCH_OFFSET_SIDE_L2 = inchesToMeters(0.0); + public static final double A_BRANCH_OFFSET = PERFECT_BRANCH_OFFSET_L4 - + inchesToMeters(1.125); + public static final double B_BRANCH_OFFSET = PERFECT_BRANCH_OFFSET_L4 - + inchesToMeters(1.125); + public static final double C_BRANCH_OFFSET = PERFECT_BRANCH_OFFSET_L4 - + inchesToMeters(1.125); + public static final double D_BRANCH_OFFSET = PERFECT_BRANCH_OFFSET_L4 - + inchesToMeters(1.125); + public static final double E_BRANCH_OFFSET = PERFECT_BRANCH_OFFSET_L4 - + inchesToMeters(1.125); + public static final double F_BRANCH_OFFSET = PERFECT_BRANCH_OFFSET_L4 - + inchesToMeters(1.125); + public static final double G_BRANCH_OFFSET = PERFECT_BRANCH_OFFSET_L4 - + inchesToMeters(1.125); + public static final double H_BRANCH_OFFSET = PERFECT_BRANCH_OFFSET_L4 - + inchesToMeters(1.125); + public static final double I_BRANCH_OFFSET = PERFECT_BRANCH_OFFSET_L4 - + inchesToMeters(1.125); + public static final double J_BRANCH_OFFSET = PERFECT_BRANCH_OFFSET_L4 - + inchesToMeters(1.125); + public static final double K_BRANCH_OFFSET = PERFECT_BRANCH_OFFSET_L4 - + inchesToMeters(1.125); + public static final double L_BRANCH_OFFSET = PERFECT_BRANCH_OFFSET_L4 - + inchesToMeters(1.125); + + public static final double A_BRANCH_OFFSET_L3 = PERFECT_BRANCH_OFFSET_L23 - + inchesToMeters(1.625); + public static final double B_BRANCH_OFFSET_L3 = PERFECT_BRANCH_OFFSET_L23 - + inchesToMeters(1.625); + public static final double C_BRANCH_OFFSET_L3 = PERFECT_BRANCH_OFFSET_L23 - + inchesToMeters(1.625); + public static final double D_BRANCH_OFFSET_L3 = PERFECT_BRANCH_OFFSET_L23 - + inchesToMeters(1.625); + public static final double E_BRANCH_OFFSET_L3 = PERFECT_BRANCH_OFFSET_L23 - + inchesToMeters(1.625); + public static final double F_BRANCH_OFFSET_L3 = PERFECT_BRANCH_OFFSET_L23 - + inchesToMeters(1.625); + public static final double G_BRANCH_OFFSET_L3 = PERFECT_BRANCH_OFFSET_L23 - + inchesToMeters(1.625); + public static final double H_BRANCH_OFFSET_L3 = PERFECT_BRANCH_OFFSET_L23 - + inchesToMeters(1.625); + public static final double I_BRANCH_OFFSET_L3 = PERFECT_BRANCH_OFFSET_L23 - + inchesToMeters(1.625); + public static final double J_BRANCH_OFFSET_L3 = PERFECT_BRANCH_OFFSET_L23 - + inchesToMeters(1.625); + public static final double K_BRANCH_OFFSET_L3 = PERFECT_BRANCH_OFFSET_L23 - + inchesToMeters(1.625); + public static final double L_BRANCH_OFFSET_L3 = PERFECT_BRANCH_OFFSET_L23 - + inchesToMeters(1.625); + + public static final double A_BRANCH_OFFSET_L2 = PERFECT_BRANCH_OFFSET_L23 - + inchesToMeters(1.625); + public static final double B_BRANCH_OFFSET_L2 = PERFECT_BRANCH_OFFSET_L23 - + inchesToMeters(1.625); + public static final double C_BRANCH_OFFSET_L2 = PERFECT_BRANCH_OFFSET_L23 - + inchesToMeters(1.625); + public static final double D_BRANCH_OFFSET_L2 = PERFECT_BRANCH_OFFSET_L23 - + inchesToMeters(1.625); + public static final double E_BRANCH_OFFSET_L2 = PERFECT_BRANCH_OFFSET_L23 - + inchesToMeters(1.625); + public static final double F_BRANCH_OFFSET_L2 = PERFECT_BRANCH_OFFSET_L23 - + inchesToMeters(1.625); + public static final double G_BRANCH_OFFSET_L2 = PERFECT_BRANCH_OFFSET_L23 - + inchesToMeters(1.625); + public static final double H_BRANCH_OFFSET_L2 = PERFECT_BRANCH_OFFSET_L23 - + inchesToMeters(1.625); + public static final double I_BRANCH_OFFSET_L2 = PERFECT_BRANCH_OFFSET_L23 - + inchesToMeters(1.625); + public static final double J_BRANCH_OFFSET_L2 = PERFECT_BRANCH_OFFSET_L23 - + inchesToMeters(1.625); + public static final double K_BRANCH_OFFSET_L2 = PERFECT_BRANCH_OFFSET_L23 - + inchesToMeters(1.625); + public static final double L_BRANCH_OFFSET_L2 = PERFECT_BRANCH_OFFSET_L23 - + inchesToMeters(1.625); + + // right when facing the reef side is positive + // negative makes robot go more to the left + public static final double A_BRANCH_OFFSET_SIDE = inchesToMeters(0.0); + public static final double B_BRANCH_OFFSET_SIDE = inchesToMeters(0.0); + public static final double C_BRANCH_OFFSET_SIDE = inchesToMeters(0.0); + public static final double D_BRANCH_OFFSET_SIDE = inchesToMeters(0.0); + public static final double E_BRANCH_OFFSET_SIDE = inchesToMeters(0.0); + public static final double F_BRANCH_OFFSET_SIDE = inchesToMeters(0.0); + public static final double G_BRANCH_OFFSET_SIDE = inchesToMeters(0.0); + public static final double H_BRANCH_OFFSET_SIDE = inchesToMeters(0.0); + public static final double I_BRANCH_OFFSET_SIDE = inchesToMeters(0.0); + public static final double J_BRANCH_OFFSET_SIDE = inchesToMeters(0.0); + public static final double K_BRANCH_OFFSET_SIDE = inchesToMeters(0.0); + public static final double L_BRANCH_OFFSET_SIDE = inchesToMeters(0.0); + + public static final double A_BRANCH_OFFSET_SIDE_L3 = inchesToMeters(0.0); + public static final double B_BRANCH_OFFSET_SIDE_L3 = inchesToMeters(0.0); + public static final double C_BRANCH_OFFSET_SIDE_L3 = inchesToMeters(0.0); + public static final double D_BRANCH_OFFSET_SIDE_L3 = inchesToMeters(0.0); + public static final double E_BRANCH_OFFSET_SIDE_L3 = inchesToMeters(0.0); + public static final double F_BRANCH_OFFSET_SIDE_L3 = inchesToMeters(0.0); + public static final double G_BRANCH_OFFSET_SIDE_L3 = inchesToMeters(0.0); + public static final double H_BRANCH_OFFSET_SIDE_L3 = inchesToMeters(0.0); + public static final double I_BRANCH_OFFSET_SIDE_L3 = inchesToMeters(0.0); + public static final double J_BRANCH_OFFSET_SIDE_L3 = inchesToMeters(0.0); + public static final double K_BRANCH_OFFSET_SIDE_L3 = inchesToMeters(0.0); + public static final double L_BRANCH_OFFSET_SIDE_L3 = inchesToMeters(0.0); + + public static final double A_BRANCH_OFFSET_SIDE_L2 = inchesToMeters(0.0); + public static final double B_BRANCH_OFFSET_SIDE_L2 = inchesToMeters(0.0); + public static final double C_BRANCH_OFFSET_SIDE_L2 = inchesToMeters(0.0); + public static final double D_BRANCH_OFFSET_SIDE_L2 = inchesToMeters(0.0); + public static final double E_BRANCH_OFFSET_SIDE_L2 = inchesToMeters(0.0); + public static final double F_BRANCH_OFFSET_SIDE_L2 = inchesToMeters(0.0); + public static final double G_BRANCH_OFFSET_SIDE_L2 = inchesToMeters(0.0); + public static final double H_BRANCH_OFFSET_SIDE_L2 = inchesToMeters(0.0); + public static final double I_BRANCH_OFFSET_SIDE_L2 = inchesToMeters(0.0); + public static final double J_BRANCH_OFFSET_SIDE_L2 = inchesToMeters(0.0); + public static final double K_BRANCH_OFFSET_SIDE_L2 = inchesToMeters(0.0); + public static final double L_BRANCH_OFFSET_SIDE_L2 = inchesToMeters(0.0); + public static final Translation2d centerBlue = new Translation2d(inchesToMeters(176.746), + inchesToMeters(158.501)); + public static final Translation2d centerRed = new Translation2d( + Constants.Physical.FIELD_LENGTH - inchesToMeters(176.746), + inchesToMeters(158.501)); + public static final double faceToZoneLine = inchesToMeters(12); // Side of the reef to the inside of the + // reef + // zone line + + public static final Pose2d[] centerFaces = new Pose2d[6]; // Starting facing the driver station in + // clockwise + // order + // public static final List> + // blueBranchPositions = new + // ArrayList<>(); // Starting at the right + // // branch facing the driver + // // station in clockwise + // public static final List> + // redBranchPositions = new + // ArrayList<>(); // Starting at the right + + public static final double RED_LEFT_FEEDER_X = 16.28; + public static final double RED_LEFT_FEEDER_Y = 0.92; + public static final double RED_LEFT_FEEDER_THETA = Math.toRadians(126.0); + + public static final double RED_LEFT_FEEDER_X_TELEOP = 16.544; + public static final double RED_LEFT_FEEDER_Y_TELEOP = 0.890; + public static final double RED_LEFT_FEEDER_THETA_TELEOP = Math.toRadians(126.0); + + public static final double RED_LEFT_FEEDER_LEFT_X = 16.853; + public static final double RED_LEFT_FEEDER_LEFT_Y = 1.309; + public static final double RED_LEFT_FEEDER_LEFT_THETA = Math.toRadians(126.0); + public static final double RED_LEFT_FEEDER_RIGHT_X = 15.932; + public static final double RED_LEFT_FEEDER_RIGHT_Y = 0.664; + public static final double RED_LEFT_FEEDER_RIGHT_THETA = Math.toRadians(126.0); + + public static final Pose2d RED_LEFT_FEEDER_LEFT = new Pose2d(RED_LEFT_FEEDER_LEFT_X, + RED_LEFT_FEEDER_LEFT_Y, + new Rotation2d(RED_LEFT_FEEDER_LEFT_THETA)); + public static final Pose2d RED_RIGHT_FEEDER_LEFT = new Pose2d( + RED_LEFT_FEEDER_LEFT_X, Physical.FIELD_WIDTH - RED_LEFT_FEEDER_LEFT_Y, + new Rotation2d(Math.toRadians(234.0))); + public static final Pose2d BLUE_RIGHT_FEEDER_LEFT = new Pose2d( + Physical.FIELD_LENGTH - RED_LEFT_FEEDER_LEFT_X, RED_LEFT_FEEDER_LEFT_Y, + new Rotation2d(Math.toRadians(54.0))); + public static final Pose2d BLUE_LEFT_FEEDER_LEFT = new Pose2d( + Physical.FIELD_LENGTH - RED_LEFT_FEEDER_LEFT_X, + Physical.FIELD_WIDTH - RED_LEFT_FEEDER_LEFT_Y, + new Rotation2d(Math.toRadians(-54.0))); + public static final Pose2d RED_LEFT_FEEDER_RIGHT = new Pose2d(RED_LEFT_FEEDER_RIGHT_X, + RED_LEFT_FEEDER_RIGHT_Y, + new Rotation2d(RED_LEFT_FEEDER_RIGHT_THETA)); + public static final Pose2d RED_RIGHT_FEEDER_RIGHT = new Pose2d( + RED_LEFT_FEEDER_RIGHT_X, Physical.FIELD_WIDTH - RED_LEFT_FEEDER_RIGHT_Y, + new Rotation2d(Math.toRadians(234.0))); + public static final Pose2d BLUE_RIGHT_FEEDER_RIGHT = new Pose2d( + Physical.FIELD_LENGTH - RED_LEFT_FEEDER_RIGHT_X, RED_LEFT_FEEDER_RIGHT_Y, + new Rotation2d(Math.toRadians(54.0))); + public static final Pose2d BLUE_LEFT_FEEDER_RIGHT = new Pose2d( + Physical.FIELD_LENGTH - RED_LEFT_FEEDER_RIGHT_X, + Physical.FIELD_WIDTH - RED_LEFT_FEEDER_RIGHT_Y, + new Rotation2d(Math.toRadians(-54.0))); + + public static final Pose2d RED_LEFT_FEEDER = new Pose2d(RED_LEFT_FEEDER_X, RED_LEFT_FEEDER_Y, + new Rotation2d(RED_LEFT_FEEDER_THETA)); + public static final Pose2d RED_RIGHT_FEEDER = new Pose2d( + RED_LEFT_FEEDER_X, Physical.FIELD_WIDTH - RED_LEFT_FEEDER_Y, + new Rotation2d(Math.toRadians(234.0))); + + public static final Pose2d BLUE_RIGHT_FEEDER = new Pose2d( + Physical.FIELD_LENGTH - RED_LEFT_FEEDER_X, RED_LEFT_FEEDER_Y, + new Rotation2d(Math.toRadians(54.0))); + public static final Pose2d BLUE_LEFT_FEEDER = new Pose2d( + Physical.FIELD_LENGTH - RED_LEFT_FEEDER_X, Physical.FIELD_WIDTH - RED_LEFT_FEEDER_Y, + new Rotation2d(Math.toRadians(-54.0))); + + public static final Pose2d RED_LEFT_FEEDER_TELEOP = new Pose2d(RED_LEFT_FEEDER_X_TELEOP, + RED_LEFT_FEEDER_Y_TELEOP, + new Rotation2d(RED_LEFT_FEEDER_THETA_TELEOP)); + public static final Pose2d RED_RIGHT_FEEDER_TELEOP = new Pose2d( + RED_LEFT_FEEDER_X_TELEOP, Physical.FIELD_WIDTH - RED_LEFT_FEEDER_Y_TELEOP, + new Rotation2d(Math.toRadians(234.0))); + + public static final Pose2d BLUE_RIGHT_FEEDER_TELEOP = new Pose2d( + Physical.FIELD_LENGTH - RED_LEFT_FEEDER_X_TELEOP, RED_LEFT_FEEDER_Y_TELEOP, + new Rotation2d(Math.toRadians(54.0))); + public static final Pose2d BLUE_LEFT_FEEDER_TELEOP = new Pose2d( + Physical.FIELD_LENGTH - RED_LEFT_FEEDER_X_TELEOP, + Physical.FIELD_WIDTH - RED_LEFT_FEEDER_Y_TELEOP, + new Rotation2d(Math.toRadians(-54.0))); + + public static final double PROCESSOR_Y_OFFSET_M = inchesToMeters(50.0); + public static final double PROCESSOR_MORE_Y_OFFSET_M = inchesToMeters(20.0); + public static final double NET_X_OFFSET_M = inchesToMeters(50.0); + public static final double NET_X_OFFSET_MORE = inchesToMeters(34.0); + + public static final Translation2d processorBlueFrontPlacingTranslation = new Translation2d( + inchesToMeters(238.79), + PROCESSOR_Y_OFFSET_M); + public static final Rotation2d processorBlueFrontPlacingRotation = new Rotation2d( + degreesToRadians(270)); + + public static final Translation2d processorRedFrontPlacingTranslation = new Translation2d( + inchesToMeters(452.40), + inchesToMeters(316.21) - PROCESSOR_Y_OFFSET_M); + public static final Rotation2d processorRedFrontPlacingRotation = new Rotation2d(degreesToRadians(90)); + + public static final Translation2d processorBlueBackPlacingTranslation = new Translation2d( + inchesToMeters(238.79), + PROCESSOR_Y_OFFSET_M); + public static final Rotation2d processorBlueBackPlacingRotation = new Rotation2d(degreesToRadians(90)); + + public static final Translation2d processorRedBackPlacingTranslation = new Translation2d( + inchesToMeters(452.40), + inchesToMeters(316.21) - PROCESSOR_Y_OFFSET_M); + public static final Rotation2d processorRedBackPlacingRotation = new Rotation2d(degreesToRadians(270)); + + public static final Translation2d processorMoreBlueFrontPlacingTranslation = new Translation2d( + inchesToMeters(238.79), + PROCESSOR_MORE_Y_OFFSET_M); + public static final Rotation2d processorMoreBlueFrontPlacingRotation = new Rotation2d( + degreesToRadians(270)); + + public static final Translation2d processorMoreRedFrontPlacingTranslation = new Translation2d( + inchesToMeters(452.40), + inchesToMeters(316.21) - PROCESSOR_MORE_Y_OFFSET_M); + public static final Rotation2d processorMoreRedFrontPlacingRotation = new Rotation2d( + degreesToRadians(90)); + + public static final Translation2d processorMoreBlueBackPlacingTranslation = new Translation2d( + inchesToMeters(238.79), + PROCESSOR_MORE_Y_OFFSET_M); + public static final Rotation2d processorMoreBlueBackPlacingRotation = new Rotation2d( + degreesToRadians(90)); + + public static final Translation2d processorMoreRedBackPlacingTranslation = new Translation2d( + inchesToMeters(452.40), + inchesToMeters(316.21) - PROCESSOR_MORE_Y_OFFSET_M); + public static final Rotation2d processorMoreRedBackPlacingRotation = new Rotation2d( + degreesToRadians(270)); + + public static final Pose2d processorBlueFrontPlacingPosition = new Pose2d( + processorBlueFrontPlacingTranslation, + processorBlueFrontPlacingRotation); + public static final Pose2d processorRedFrontPlacingPosition = new Pose2d( + processorRedFrontPlacingTranslation, + processorRedFrontPlacingRotation); + public static final Pose2d processorBlueBackPlacingPosition = new Pose2d( + processorBlueBackPlacingTranslation, + processorBlueBackPlacingRotation); + public static final Pose2d processorRedBackPlacingPosition = new Pose2d( + processorRedBackPlacingTranslation, + processorRedBackPlacingRotation); + + public static final Pose2d processorMoreBlueFrontPlacingPosition = new Pose2d( + processorMoreBlueFrontPlacingTranslation, + processorMoreBlueFrontPlacingRotation); + public static final Pose2d processorMoreRedFrontPlacingPosition = new Pose2d( + processorMoreRedFrontPlacingTranslation, + processorMoreRedFrontPlacingRotation); + public static final Pose2d processorMoreBlueBackPlacingPosition = new Pose2d( + processorMoreBlueBackPlacingTranslation, + processorMoreBlueBackPlacingRotation); + public static final Pose2d processorMoreRedBackPlacingPosition = new Pose2d( + processorMoreRedBackPlacingTranslation, + processorMoreRedBackPlacingRotation); + + public static final double netBlueXM = (Constants.Physical.FIELD_LENGTH / 2) - NET_X_OFFSET_M; + public static final double netRedXM = (Constants.Physical.FIELD_LENGTH / 2) + NET_X_OFFSET_M; + public static final double netBlueXMore = (Constants.Physical.FIELD_LENGTH / 2) - NET_X_OFFSET_MORE; + public static final double netRedXMore = (Constants.Physical.FIELD_LENGTH / 2) + NET_X_OFFSET_MORE; + + public static final double netBlueFrontThetaR = degreesToRadians(0.0); + public static final double netRedFrontThetaR = degreesToRadians(180.0); + public static final double netBlueBackThetaR = degreesToRadians(180.0); + public static final double netRedBackThetaR = degreesToRadians(0.0); + + public static final List blueL1FrontPlacingPositions = new ArrayList<>(); + public static final List redL1FrontPlacingPositions = new ArrayList<>(); + public static final List blueL1BackPlacingPositions = new ArrayList<>(); + public static final List redL1BackPlacingPositions = new ArrayList<>(); + + public static final List blueL1FrontPlacingPositionsMore = new ArrayList<>(); + public static final List redL1FrontPlacingPositionsMore = new ArrayList<>(); + public static final List blueL1BackPlacingPositionsMore = new ArrayList<>(); + public static final List redL1BackPlacingPositionsMore = new ArrayList<>(); + + public static final List blueFrontPlacingPositions = new ArrayList<>(); + public static final List redFrontPlacingPositions = new ArrayList<>(); + public static final List blueBackPlacingPositions = new ArrayList<>(); + public static final List redBackPlacingPositions = new ArrayList<>(); + + public static final List blueFrontPlacingPositionsMore = new ArrayList<>(); + public static final List redFrontPlacingPositionsMore = new ArrayList<>(); + public static final List blueBackPlacingPositionsMore = new ArrayList<>(); + public static final List redBackPlacingPositionsMore = new ArrayList<>(); + + public static final List algaeBlueFrontPlacingPositionsMoreMore = new ArrayList<>(); + public static final List algaeRedFrontPlacingPositionsMoreMore = new ArrayList<>(); + public static final List algaeBlueBackPlacingPositionsMoreMore = new ArrayList<>(); + public static final List algaeRedBackPlacingPositionsMoreMore = new ArrayList<>(); + + public static final List l4BlueFrontPlacingPositions = new ArrayList<>(); + public static final List l4RedFrontPlacingPositions = new ArrayList<>(); + public static final List l4BlueBackPlacingPositions = new ArrayList<>(); + public static final List l4RedBackPlacingPositions = new ArrayList<>(); + + public static final List l3BlueFrontPlacingPositions = new ArrayList<>(); + public static final List l3RedFrontPlacingPositions = new ArrayList<>(); + public static final List l3BlueBackPlacingPositions = new ArrayList<>(); + public static final List l3RedBackPlacingPositions = new ArrayList<>(); + + public static final List algaeBlueFrontPlacingPositions = new ArrayList<>(); + public static final List algaeRedFrontPlacingPositions = new ArrayList<>(); + public static final List algaeBlueBackPlacingPositions = new ArrayList<>(); + public static final List algaeRedBackPlacingPositions = new ArrayList<>(); + + public static final List algaeBlueFrontPlacingPositionsMore = new ArrayList<>(); + public static final List algaeRedFrontPlacingPositionsMore = new ArrayList<>(); + public static final List algaeBlueBackPlacingPositionsMore = new ArrayList<>(); + public static final List algaeRedBackPlacingPositionsMore = new ArrayList<>(); + + public static final List l1BlueCornerPoints = new ArrayList<>(); + public static final List l1RedCornerPoints = new ArrayList<>(); + public static final List l1BlueDrivePoints = new ArrayList<>(); + public static final List l1RedDrivePoints = new ArrayList<>(); + + static { + calculateReefPoints(); + } + + // Angle to face red side: + // 180=AB + // 120=CD + // 60=EF + // 0=GH + // -60=IJ + // -120=KL + + public static void calculateReefPoints() { + System.out.println("recalculating points"); + blueL1FrontPlacingPositions.clear(); + redL1FrontPlacingPositions.clear(); + blueL1BackPlacingPositions.clear(); + redL1BackPlacingPositions.clear(); + blueL1FrontPlacingPositionsMore.clear(); + redL1FrontPlacingPositionsMore.clear(); + blueL1BackPlacingPositionsMore.clear(); + redL1BackPlacingPositionsMore.clear(); + blueFrontPlacingPositions.clear(); + redFrontPlacingPositions.clear(); + blueBackPlacingPositions.clear(); + redBackPlacingPositions.clear(); + blueFrontPlacingPositionsMore.clear(); + redFrontPlacingPositionsMore.clear(); + blueBackPlacingPositionsMore.clear(); + redBackPlacingPositionsMore.clear(); + l4BlueFrontPlacingPositions.clear(); + l4RedFrontPlacingPositions.clear(); + l4BlueBackPlacingPositions.clear(); + l4RedBackPlacingPositions.clear(); + l3BlueFrontPlacingPositions.clear(); + l3RedFrontPlacingPositions.clear(); + l3BlueBackPlacingPositions.clear(); + l3RedBackPlacingPositions.clear(); + algaeBlueFrontPlacingPositions.clear(); + algaeRedFrontPlacingPositions.clear(); + algaeBlueBackPlacingPositions.clear(); + algaeRedBackPlacingPositions.clear(); + algaeBlueFrontPlacingPositionsMore.clear(); + algaeRedFrontPlacingPositionsMore.clear(); + algaeBlueBackPlacingPositionsMore.clear(); + algaeRedBackPlacingPositionsMore.clear(); + algaeBlueFrontPlacingPositionsMoreMore.clear(); + algaeRedFrontPlacingPositionsMoreMore.clear(); + algaeBlueBackPlacingPositionsMoreMore.clear(); + algaeRedBackPlacingPositionsMoreMore.clear(); + l1BlueCornerPoints.clear(); + l1RedCornerPoints.clear(); + l1BlueDrivePoints.clear(); + l1RedDrivePoints.clear(); + centerFaces[0] = new Pose2d( + inchesToMeters(144.003), + inchesToMeters(158.500), + Rotation2d.fromDegrees(180)); + centerFaces[1] = new Pose2d( + inchesToMeters(160.373), + inchesToMeters(186.857), + Rotation2d.fromDegrees(120)); + centerFaces[2] = new Pose2d( + inchesToMeters(193.116), + inchesToMeters(186.858), + Rotation2d.fromDegrees(60)); + centerFaces[3] = new Pose2d( + inchesToMeters(209.489), + inchesToMeters(158.502), + Rotation2d.fromDegrees(0)); + centerFaces[4] = new Pose2d( + inchesToMeters(193.118), + inchesToMeters(130.145), + Rotation2d.fromDegrees(-60)); + centerFaces[5] = new Pose2d( + inchesToMeters(160.375), + inchesToMeters(130.144), + Rotation2d.fromDegrees(-120)); + + for (int face = 0; face < 6; face++) { + Pose2d l1FrontRight = new Pose2d(); + Pose2d l1FrontLeft = new Pose2d(); + Pose2d l1BackRight = new Pose2d(); + Pose2d l1BackLeft = new Pose2d(); + Pose2d l1FrontRightMore = new Pose2d(); + Pose2d l1FrontLeftMore = new Pose2d(); + Pose2d l1BackRightMore = new Pose2d(); + Pose2d l1BackLeftMore = new Pose2d(); + Pose2d l2FrontRight = new Pose2d(); + Pose2d l2FrontLeft = new Pose2d(); + Pose2d frontRightMore = new Pose2d(); + Pose2d frontLeftMore = new Pose2d(); + Pose2d backRightMore = new Pose2d(); + Pose2d backLeftMore = new Pose2d(); + Pose2d l2BackRight = new Pose2d(); + Pose2d l2BackLeft = new Pose2d(); + Pose2d l3FrontRight = new Pose2d(); + Pose2d l3FrontLeft = new Pose2d(); + Pose2d l3BackRight = new Pose2d(); + Pose2d l3BackLeft = new Pose2d(); + Pose2d l4FrontRight = new Pose2d(); + Pose2d l4FrontLeft = new Pose2d(); + Pose2d l4BackRight = new Pose2d(); + Pose2d l4BackLeft = new Pose2d(); + Pose2d algaeFront = new Pose2d(); + Pose2d algaeBack = new Pose2d(); + Pose2d algaeFrontMore = new Pose2d(); + Pose2d algaeBackMore = new Pose2d(); + Pose2d algaeFrontMoreMore = new Pose2d(); + Pose2d algaeBackMoreMore = new Pose2d(); + Pose2d l1Corner = new Pose2d(); + Pose2d l1Drive = new Pose2d(); + Pose2d poseDirection = new Pose2d(centerBlue, + Rotation2d.fromDegrees(180 - (60 * face))); + double adjustX = inchesToMeters(30.738); + double adjustY = inchesToMeters(6.469); + double adjustXL1 = inchesToMeters(30.738); + double adjustYL1 = inchesToMeters(6.469); + double adjustXMore = inchesToMeters(70.738); + double adjustYMore = inchesToMeters(6.469); + double adjustAlgaeX = inchesToMeters(35.738); + double adjustAlgaeY = inchesToMeters(0.0); + double adjustAlgaeMoreX = inchesToMeters(16.738); + double adjustAlgaeMoreY = inchesToMeters(0.0); + double adjustAlgaeMoreMoreX = inchesToMeters(56.738); + double adjustAlgaeMoreMoreY = inchesToMeters(0.0); + double adjustL1CornerX = inchesToMeters(9.0); + double adjustL1CornerY = inchesToMeters(18.0); + double adjustL1DriveX = inchesToMeters(38.0); + double adjustL1DriveY = inchesToMeters(25.0); + + l1FrontRightMore = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustXL1, + adjustYL1, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L1_INTAKE_X_OFFSET_FRONT_MORE, + Physical.L1_INTAKE_Y_OFFSET_FRONT_MORE, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustXL1, + adjustYL1, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L1_INTAKE_X_OFFSET_FRONT_MORE, + Physical.L1_INTAKE_Y_OFFSET_FRONT_MORE, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l1BackRightMore = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustXL1, + adjustYL1, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L1_INTAKE_X_OFFSET_BACK_MORE, + Physical.L1_INTAKE_Y_OFFSET_BACK_MORE, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustXL1, + adjustYL1, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L1_INTAKE_X_OFFSET_BACK_MORE, + Physical.L1_INTAKE_Y_OFFSET_BACK_MORE, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + + l1FrontLeftMore = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustXL1, + -adjustYL1, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L1_INTAKE_X_OFFSET_FRONT_MORE, + Physical.L1_INTAKE_Y_OFFSET_FRONT_MORE, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustXL1, + -adjustYL1, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L1_INTAKE_X_OFFSET_FRONT_MORE, + Physical.L1_INTAKE_Y_OFFSET_FRONT_MORE, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l1BackLeftMore = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustXL1, + -adjustYL1, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L1_INTAKE_X_OFFSET_BACK_MORE, + Physical.L1_INTAKE_Y_OFFSET_BACK_MORE, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustXL1, + -adjustYL1, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L1_INTAKE_X_OFFSET_BACK_MORE, + Physical.L1_INTAKE_Y_OFFSET_BACK_MORE, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + + l1FrontRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustXL1, + adjustYL1, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L1_INTAKE_X_OFFSET_FRONT, + Physical.L1_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustXL1, + adjustYL1, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L1_INTAKE_X_OFFSET_FRONT, + Physical.L1_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l1BackRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustXL1, + adjustYL1, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L1_INTAKE_X_OFFSET_BACK, + Physical.L1_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustXL1, + adjustYL1, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L1_INTAKE_X_OFFSET_BACK, + Physical.L1_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + + l1FrontLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustXL1, + -adjustYL1, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L1_INTAKE_X_OFFSET_FRONT, + Physical.L1_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustXL1, + -adjustYL1, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L1_INTAKE_X_OFFSET_FRONT, + Physical.L1_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l1BackLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustXL1, + -adjustYL1, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L1_INTAKE_X_OFFSET_BACK, + Physical.L1_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustXL1, + -adjustYL1, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L1_INTAKE_X_OFFSET_BACK, + Physical.L1_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + + algaeFront = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustAlgaeX, + adjustAlgaeY, + new Rotation2d())) + .transformBy( + new Transform2d(Physical.INTAKE_X_OFFSET_FRONT_ALGAE, + Physical.INTAKE_Y_OFFSET_FRONT_ALGAE, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustAlgaeX, + adjustAlgaeY, + new Rotation2d())) + .transformBy( + new Transform2d(Physical.INTAKE_X_OFFSET_FRONT_ALGAE, + Physical.INTAKE_Y_OFFSET_FRONT_ALGAE, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() - Math.PI)); + + algaeBack = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustAlgaeX, + adjustAlgaeY, + new Rotation2d())) + .transformBy( + new Transform2d(Physical.INTAKE_X_OFFSET_BACK_ALGAE, + Physical.INTAKE_Y_OFFSET_BACK_ALGAE, + new Rotation2d(Math.PI))) // TODO + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustAlgaeX, + adjustAlgaeY, + new Rotation2d())) + .transformBy( + new Transform2d(Physical.INTAKE_X_OFFSET_BACK_ALGAE, + Physical.INTAKE_Y_OFFSET_BACK_ALGAE, + new Rotation2d(Math.PI))) // TODO + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + algaeFrontMore = new Pose2d( + new Translation2d( + poseDirection + .transformBy( + new Transform2d(adjustAlgaeMoreX, + adjustAlgaeMoreY, + new Rotation2d())) + .transformBy( + new Transform2d(Physical.INTAKE_X_OFFSET_FRONT_ALGAE, + Physical.INTAKE_Y_OFFSET_FRONT_ALGAE, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy( + new Transform2d(adjustAlgaeMoreX, + adjustAlgaeMoreY, + new Rotation2d())) + .transformBy( + new Transform2d(Physical.INTAKE_X_OFFSET_FRONT_ALGAE, + Physical.INTAKE_Y_OFFSET_FRONT_ALGAE, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() - Math.PI)); + + algaeBackMore = new Pose2d( + new Translation2d( + poseDirection + .transformBy( + new Transform2d(adjustAlgaeMoreX, + adjustAlgaeMoreY, + new Rotation2d())) + .transformBy( + new Transform2d(Physical.INTAKE_X_OFFSET_BACK_ALGAE, + Physical.INTAKE_Y_OFFSET_BACK_ALGAE, + new Rotation2d(Math.PI))) // TODO: + // why + // is + // this + // pi + // and + // not + // 0 + .getX(), + poseDirection + .transformBy( + new Transform2d(adjustAlgaeMoreX, + adjustAlgaeMoreY, + new Rotation2d())) + .transformBy( + new Transform2d(Physical.INTAKE_X_OFFSET_BACK_ALGAE, + Physical.INTAKE_Y_OFFSET_BACK_ALGAE, + new Rotation2d(Math.PI))) // TODO + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + algaeFrontMoreMore = new Pose2d( + new Translation2d( + poseDirection + .transformBy( + new Transform2d(adjustAlgaeMoreMoreX, + adjustAlgaeMoreMoreY, + new Rotation2d())) + .transformBy( + new Transform2d(Physical.INTAKE_X_OFFSET_FRONT_ALGAE, + Physical.INTAKE_Y_OFFSET_FRONT_ALGAE, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy( + new Transform2d(adjustAlgaeMoreMoreX, + adjustAlgaeMoreMoreY, + new Rotation2d())) + .transformBy( + new Transform2d(Physical.INTAKE_X_OFFSET_FRONT_ALGAE, + Physical.INTAKE_Y_OFFSET_FRONT_ALGAE, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() - Math.PI)); + + l1Corner = new Pose2d( + new Translation2d( + poseDirection + .transformBy( + new Transform2d(adjustL1CornerX, + adjustL1CornerY, + new Rotation2d())) + .transformBy( + new Transform2d(Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy( + new Transform2d(adjustL1CornerX, + adjustL1CornerY, + new Rotation2d())) + .transformBy( + new Transform2d(Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() - Math.PI)); + + l1Drive = new Pose2d( + new Translation2d( + poseDirection + .transformBy( + new Transform2d(adjustL1DriveX, + adjustL1DriveY, + new Rotation2d())) + .transformBy( + new Transform2d(Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy( + new Transform2d(adjustL1DriveX, + adjustL1DriveY, + new Rotation2d())) + .transformBy( + new Transform2d(Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() - Math.PI)); + + algaeBackMoreMore = new Pose2d( + new Translation2d( + poseDirection + .transformBy( + new Transform2d(adjustAlgaeMoreMoreX, + adjustAlgaeMoreMoreY, + new Rotation2d())) + .transformBy( + new Transform2d(Physical.INTAKE_X_OFFSET_BACK_ALGAE, + Physical.INTAKE_Y_OFFSET_BACK_ALGAE, + new Rotation2d(Math.PI))) // TODO: + // why + // is + // this + // pi + // and + // not + // 0 + .getX(), + poseDirection + .transformBy( + new Transform2d(adjustAlgaeMoreMoreX, + adjustAlgaeMoreMoreY, + new Rotation2d())) + .transformBy( + new Transform2d(Physical.INTAKE_X_OFFSET_BACK_ALGAE, + Physical.INTAKE_Y_OFFSET_BACK_ALGAE, + new Rotation2d(Math.PI))) // TODO + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + + frontRightMore = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustXMore, + adjustYMore, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustXMore, + adjustYMore, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() - Math.PI)); + backRightMore = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustXMore, + adjustYMore, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustXMore, + adjustYMore, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + + // l2FrontRight = new Pose2d( + // new Translation2d( + // poseDirection + // .transformBy(new Transform2d(adjustX, + // adjustY, + // new Rotation2d())) + // .transformBy(new Transform2d( + // Physical.L2_INTAKE_X_OFFSET_FRONT, + // Physical.L2_INTAKE_Y_OFFSET_FRONT, + // new Rotation2d(Math.PI))) + // .getX(), + // poseDirection + // .transformBy(new Transform2d(adjustX, + // adjustY, + // new Rotation2d())) + // .transformBy(new Transform2d( + // Physical.L2_INTAKE_X_OFFSET_FRONT, + // Physical.L2_INTAKE_Y_OFFSET_FRONT, + // new Rotation2d(Math.PI))) + // .getY()), + // new Rotation2d( + // poseDirection.getRotation().getRadians() - Math.PI)); + // l2BackRight = new Pose2d( + // new Translation2d( + // poseDirection + // .transformBy(new Transform2d(adjustX, + // adjustY, + // new Rotation2d())) + // .transformBy(new Transform2d( + // Physical.L2_INTAKE_X_OFFSET_BACK, + // Physical.L2_INTAKE_Y_OFFSET_BACK, + // new Rotation2d())) + // .getX(), + // poseDirection + // .transformBy(new Transform2d(adjustX, + // adjustY, + // new Rotation2d())) + // .transformBy(new Transform2d( + // Physical.L2_INTAKE_X_OFFSET_BACK, + // Physical.L2_INTAKE_Y_OFFSET_BACK, + // new Rotation2d())) + // .getY()), + // new Rotation2d( + // poseDirection.getRotation().getRadians())); + + // Angle to face red side: + // 180=AB + // 120=KL + // 60=IJ + // 0=GH + // -60=EF + // -120=CD + if (poseDirection.getRotation().getDegrees() > 179.0 + && poseDirection.getRotation().getDegrees() < 181.0) { + l4FrontRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + B_BRANCH_OFFSET, + adjustY + B_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_FRONT, + Physical.L4_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + B_BRANCH_OFFSET, + adjustY + B_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_FRONT, + Physical.L4_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l4BackRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + B_BRANCH_OFFSET, + adjustY + B_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_BACK, + Physical.L4_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + B_BRANCH_OFFSET, + adjustY + B_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_BACK, + Physical.L4_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + l3FrontRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + B_BRANCH_OFFSET_L3, + adjustY + B_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + B_BRANCH_OFFSET_L3, + adjustY + B_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l3BackRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + B_BRANCH_OFFSET_L3, + adjustY + B_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + B_BRANCH_OFFSET_L3, + adjustY + B_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + l2FrontRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + B_BRANCH_OFFSET_L2, + adjustY + B_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_FRONT, + Physical.L2_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + B_BRANCH_OFFSET_L2, + adjustY + B_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_FRONT, + Physical.L2_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l2BackRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + B_BRANCH_OFFSET_L2, + adjustY + B_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_BACK, + Physical.L2_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + B_BRANCH_OFFSET_L2, + adjustY + B_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_BACK, + Physical.L2_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + System.out.println("b branch: " + l4FrontRight); + } else if (poseDirection.getRotation().getDegrees() > 119.0 + && poseDirection.getRotation().getDegrees() < 121.0) { + l4FrontRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + L_BRANCH_OFFSET, + adjustY + L_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_FRONT, + Physical.L4_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + L_BRANCH_OFFSET, + adjustY + L_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_FRONT, + Physical.L4_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l4BackRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + L_BRANCH_OFFSET, + adjustY + L_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_BACK, + Physical.L4_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + L_BRANCH_OFFSET, + adjustY + L_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_BACK, + Physical.L4_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + l3FrontRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + L_BRANCH_OFFSET_L3, + adjustY + L_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + L_BRANCH_OFFSET_L3, + adjustY + L_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l3BackRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + L_BRANCH_OFFSET_L3, + adjustY + L_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + L_BRANCH_OFFSET_L3, + adjustY + L_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + l2FrontRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + L_BRANCH_OFFSET_L2, + adjustY + L_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_FRONT, + Physical.L2_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + L_BRANCH_OFFSET_L2, + adjustY + L_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_FRONT, + Physical.L2_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l2BackRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + L_BRANCH_OFFSET_L2, + adjustY + L_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_BACK, + Physical.L2_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + L_BRANCH_OFFSET_L2, + adjustY + L_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_BACK, + Physical.L2_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + System.out.println("d branch: " + l4FrontRight); + } else if (poseDirection.getRotation().getDegrees() > 59.0 + && poseDirection.getRotation().getDegrees() < 61.0) { + l4FrontRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + J_BRANCH_OFFSET, + adjustY + J_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_FRONT, + Physical.L4_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + J_BRANCH_OFFSET, + adjustY + J_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_FRONT, + Physical.L4_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l4BackRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + J_BRANCH_OFFSET, + adjustY + J_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_BACK, + Physical.L4_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + J_BRANCH_OFFSET, + adjustY + J_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_BACK, + Physical.L4_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + l3FrontRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + J_BRANCH_OFFSET_L3, + adjustY + J_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + J_BRANCH_OFFSET_L3, + adjustY + J_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l3BackRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + J_BRANCH_OFFSET_L3, + adjustY + J_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + J_BRANCH_OFFSET_L3, + adjustY + J_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + l2FrontRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + J_BRANCH_OFFSET_L2, + adjustY + J_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_FRONT, + Physical.L2_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + J_BRANCH_OFFSET_L2, + adjustY + J_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_FRONT, + Physical.L2_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l2BackRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + J_BRANCH_OFFSET_L2, + adjustY + J_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_BACK, + Physical.L2_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + J_BRANCH_OFFSET_L2, + adjustY + J_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_BACK, + Physical.L2_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + System.out.println("f branch: " + l4FrontRight); + } else if (poseDirection.getRotation().getDegrees() > -1.0 + && poseDirection.getRotation().getDegrees() < 1.0) { + l4FrontRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + H_BRANCH_OFFSET, + adjustY + H_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_FRONT, + Physical.L4_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + H_BRANCH_OFFSET, + adjustY + H_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_FRONT, + Physical.L4_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l4BackRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + H_BRANCH_OFFSET, + adjustY + H_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_BACK, + Physical.L4_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + H_BRANCH_OFFSET, + adjustY + H_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_BACK, + Physical.L4_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + l3FrontRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + H_BRANCH_OFFSET_L3, + adjustY + H_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + H_BRANCH_OFFSET_L3, + adjustY + H_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l3BackRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + H_BRANCH_OFFSET_L3, + adjustY + H_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + H_BRANCH_OFFSET_L3, + adjustY + H_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + l2FrontRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + H_BRANCH_OFFSET_L2, + adjustY + H_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_FRONT, + Physical.L2_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + H_BRANCH_OFFSET_L2, + adjustY + H_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_FRONT, + Physical.L2_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l2BackRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + H_BRANCH_OFFSET_L2, + adjustY + H_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_BACK, + Physical.L2_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + H_BRANCH_OFFSET_L2, + adjustY + H_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_BACK, + Physical.L2_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + System.out.println("h branch: " + l4FrontRight); + } else if (poseDirection.getRotation().getDegrees() > -61.0 + && poseDirection.getRotation().getDegrees() < -59.0) { + l4FrontRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + F_BRANCH_OFFSET, + adjustY + F_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_FRONT, + Physical.L4_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + F_BRANCH_OFFSET, + adjustY + F_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_FRONT, + Physical.L4_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l4BackRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + F_BRANCH_OFFSET, + adjustY + F_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_BACK, + Physical.L4_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + F_BRANCH_OFFSET, + adjustY + F_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_BACK, + Physical.L4_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + l3FrontRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + F_BRANCH_OFFSET_L3, + adjustY + F_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + F_BRANCH_OFFSET_L3, + adjustY + F_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l3BackRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + F_BRANCH_OFFSET_L3, + adjustY + F_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + F_BRANCH_OFFSET_L3, + adjustY + F_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + l2FrontRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + F_BRANCH_OFFSET_L2, + adjustY + F_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_FRONT, + Physical.L2_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + F_BRANCH_OFFSET_L2, + adjustY + F_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_FRONT, + Physical.L2_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l2BackRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + F_BRANCH_OFFSET_L2, + adjustY + F_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_BACK, + Physical.L2_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + F_BRANCH_OFFSET_L2, + adjustY + F_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_BACK, + Physical.L2_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + System.out.println("j branch: " + l4FrontRight); + } else { + l4FrontRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + D_BRANCH_OFFSET, + adjustY + D_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_FRONT, + Physical.L4_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + D_BRANCH_OFFSET, + adjustY + D_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_FRONT, + Physical.L4_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l4BackRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + D_BRANCH_OFFSET, + adjustY + D_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_BACK, + Physical.L4_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + D_BRANCH_OFFSET, + adjustY + D_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_BACK, + Physical.L4_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + l3FrontRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + D_BRANCH_OFFSET_L3, + adjustY + D_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + D_BRANCH_OFFSET_L3, + adjustY + D_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l3BackRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + D_BRANCH_OFFSET_L3, + adjustY + D_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + D_BRANCH_OFFSET_L3, + adjustY + D_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + l2FrontRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + D_BRANCH_OFFSET_L2, + adjustY + D_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_FRONT, + Physical.L2_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + D_BRANCH_OFFSET_L2, + adjustY + D_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_FRONT, + Physical.L2_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l2BackRight = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + D_BRANCH_OFFSET_L2, + adjustY + D_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_BACK, + Physical.L2_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + D_BRANCH_OFFSET_L2, + adjustY + D_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_BACK, + Physical.L2_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + System.out.println("l branch: " + l4FrontRight); + } + // l3FrontRight = new Pose2d( + // new Translation2d( + // poseDirection + // .transformBy(new Transform2d(adjustX, + // adjustY, + // new Rotation2d())) + // .transformBy(new Transform2d( + // Physical.INTAKE_X_OFFSET_FRONT, + // Physical.INTAKE_Y_OFFSET_FRONT, + // new Rotation2d(Math.PI))) + // .getX(), + // poseDirection + // .transformBy(new Transform2d(adjustX, + // adjustY, + // new Rotation2d())) + // .transformBy(new Transform2d( + // Physical.INTAKE_X_OFFSET_FRONT, + // Physical.INTAKE_Y_OFFSET_FRONT, + // new Rotation2d(Math.PI))) + // .getY()), + // new Rotation2d( + // poseDirection.getRotation().getRadians() - Math.PI)); + // l3BackRight = new Pose2d( + // new Translation2d( + // poseDirection + // .transformBy(new Transform2d(adjustX, + // adjustY, + // new Rotation2d())) + // .transformBy(new Transform2d( + // Physical.INTAKE_X_OFFSET_BACK, + // Physical.INTAKE_Y_OFFSET_BACK, + // new Rotation2d())) + // .getX(), + // poseDirection + // .transformBy(new Transform2d(adjustX, + // adjustY, + // new Rotation2d())) + // .transformBy(new Transform2d( + // Physical.INTAKE_X_OFFSET_BACK, + // Physical.INTAKE_Y_OFFSET_BACK, + // new Rotation2d())) + // .getY()), + // new Rotation2d( + // poseDirection.getRotation().getRadians())); + // l2FrontLeft = new Pose2d( + // new Translation2d( + // poseDirection + // .transformBy(new Transform2d(adjustX, + // -adjustY, + // new Rotation2d())) + // .transformBy(new Transform2d( + // Physical.L2_INTAKE_X_OFFSET_FRONT, + // Physical.L2_INTAKE_Y_OFFSET_FRONT, + // new Rotation2d(Math.PI))) + // .getX(), + // poseDirection + // .transformBy(new Transform2d(adjustX, + // -adjustY, + // new Rotation2d())) + // .transformBy(new Transform2d( + // Physical.L2_INTAKE_X_OFFSET_FRONT, + // Physical.L2_INTAKE_Y_OFFSET_FRONT, + // new Rotation2d(Math.PI))) + // .getY()), + // new Rotation2d( + // poseDirection.getRotation().getRadians() - Math.PI)); + // l2BackLeft = new Pose2d( + // new Translation2d( + // poseDirection + // .transformBy(new Transform2d(adjustX, + // -adjustY, + // new Rotation2d())) + // .transformBy(new Transform2d( + // Physical.L2_INTAKE_X_OFFSET_BACK, + // Physical.L2_INTAKE_Y_OFFSET_BACK, + // new Rotation2d())) + // .getX(), + // poseDirection + // .transformBy(new Transform2d(adjustX, + // -adjustY, + // new Rotation2d())) + // .transformBy(new Transform2d( + // Physical.L2_INTAKE_X_OFFSET_BACK, + // Physical.L2_INTAKE_Y_OFFSET_BACK, + // new Rotation2d())) + // .getY()), + // new Rotation2d( + // poseDirection.getRotation().getRadians())); + frontLeftMore = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustXMore, + -adjustYMore, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustXMore, + -adjustYMore, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() - Math.PI)); + backLeftMore = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustXMore, + -adjustYMore, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustXMore, + -adjustYMore, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + if (poseDirection.getRotation().getDegrees() > 179.0 + && poseDirection.getRotation().getDegrees() < 181.0) { + l4FrontLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + A_BRANCH_OFFSET, + -adjustY + A_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_FRONT, + Physical.L4_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + A_BRANCH_OFFSET, + -adjustY + A_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_FRONT, + Physical.L4_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l4BackLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + A_BRANCH_OFFSET, + -adjustY + A_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_BACK, + Physical.L4_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + A_BRANCH_OFFSET, + -adjustY + A_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_BACK, + Physical.L4_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + l3FrontLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + A_BRANCH_OFFSET_L3, + -adjustY + A_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + A_BRANCH_OFFSET_L3, + -adjustY + A_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l3BackLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + A_BRANCH_OFFSET_L3, + -adjustY + A_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + A_BRANCH_OFFSET_L3, + -adjustY + A_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + l2FrontLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + A_BRANCH_OFFSET_L2, + -adjustY + A_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_FRONT, + Physical.L2_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + A_BRANCH_OFFSET_L2, + -adjustY + A_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_FRONT, + Physical.L2_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l2BackLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + A_BRANCH_OFFSET_L2, + -adjustY + A_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_BACK, + Physical.L2_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + A_BRANCH_OFFSET_L2, + -adjustY + A_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_BACK, + Physical.L2_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + System.out.println("b branch: " + l4FrontRight); + } else if (poseDirection.getRotation().getDegrees() > 119.0 + && poseDirection.getRotation().getDegrees() < 121.0) { + l4FrontLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + K_BRANCH_OFFSET, + -adjustY + K_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_FRONT, + Physical.L4_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + K_BRANCH_OFFSET, + -adjustY + K_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_FRONT, + Physical.L4_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l4BackLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + K_BRANCH_OFFSET, + -adjustY + K_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_BACK, + Physical.L4_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + K_BRANCH_OFFSET, + -adjustY + K_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_BACK, + Physical.L4_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + l3FrontLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + K_BRANCH_OFFSET_L3, + -adjustY + K_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + K_BRANCH_OFFSET_L3, + -adjustY + K_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l3BackLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + K_BRANCH_OFFSET_L3, + -adjustY + K_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + K_BRANCH_OFFSET_L3, + -adjustY + K_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + l2FrontLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + K_BRANCH_OFFSET_L2, + -adjustY + K_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_FRONT, + Physical.L2_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + K_BRANCH_OFFSET_L2, + -adjustY + K_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_FRONT, + Physical.L2_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l2BackLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + K_BRANCH_OFFSET_L2, + -adjustY + K_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_BACK, + Physical.L2_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + K_BRANCH_OFFSET_L2, + -adjustY + K_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_BACK, + Physical.L2_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + System.out.println("d branch: " + l4FrontRight); + } else if (poseDirection.getRotation().getDegrees() > 59.0 + && poseDirection.getRotation().getDegrees() < 61.0) { + l4FrontLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + I_BRANCH_OFFSET, + -adjustY + I_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_FRONT, + Physical.L4_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + I_BRANCH_OFFSET, + -adjustY + I_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_FRONT, + Physical.L4_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l4BackLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + I_BRANCH_OFFSET, + -adjustY + I_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_BACK, + Physical.L4_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + I_BRANCH_OFFSET, + -adjustY + I_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_BACK, + Physical.L4_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + l3FrontLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + I_BRANCH_OFFSET_L3, + -adjustY + I_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + I_BRANCH_OFFSET_L3, + -adjustY + I_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l3BackLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + I_BRANCH_OFFSET_L3, + -adjustY + I_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + I_BRANCH_OFFSET_L3, + -adjustY + I_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + l2FrontLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + I_BRANCH_OFFSET_L2, + -adjustY + I_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_FRONT, + Physical.L2_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + I_BRANCH_OFFSET_L2, + -adjustY + I_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_FRONT, + Physical.L2_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l2BackLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + I_BRANCH_OFFSET_L2, + -adjustY + I_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_BACK, + Physical.L2_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + I_BRANCH_OFFSET_L2, + -adjustY + I_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_BACK, + Physical.L2_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + System.out.println("f branch: " + l4FrontRight); + } else if (poseDirection.getRotation().getDegrees() > -1.0 + && poseDirection.getRotation().getDegrees() < 1.0) { + l4FrontLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + G_BRANCH_OFFSET, + -adjustY + G_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_FRONT, + Physical.L4_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + G_BRANCH_OFFSET, + -adjustY + G_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_FRONT, + Physical.L4_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l4BackLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + G_BRANCH_OFFSET, + -adjustY + G_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_BACK, + Physical.L4_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + G_BRANCH_OFFSET, + -adjustY + G_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_BACK, + Physical.L4_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + l3FrontLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + G_BRANCH_OFFSET_L3, + -adjustY + G_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + G_BRANCH_OFFSET_L3, + -adjustY + G_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l3BackLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + G_BRANCH_OFFSET_L3, + -adjustY + G_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + G_BRANCH_OFFSET_L3, + -adjustY + G_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + l2FrontLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + G_BRANCH_OFFSET_L2, + -adjustY + G_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_FRONT, + Physical.L2_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + G_BRANCH_OFFSET_L2, + -adjustY + G_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_FRONT, + Physical.L2_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l2BackLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + G_BRANCH_OFFSET_L2, + -adjustY + G_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_BACK, + Physical.L2_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + G_BRANCH_OFFSET_L2, + -adjustY + G_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_BACK, + Physical.L2_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + System.out.println("h branch: " + l4FrontRight); + } else if (poseDirection.getRotation().getDegrees() > -61.0 + && poseDirection.getRotation().getDegrees() < -59.0) { + l4FrontLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + E_BRANCH_OFFSET, + -adjustY + E_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_FRONT, + Physical.L4_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + E_BRANCH_OFFSET, + -adjustY + E_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_FRONT, + Physical.L4_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l4BackLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + E_BRANCH_OFFSET, + -adjustY + E_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_BACK, + Physical.L4_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + E_BRANCH_OFFSET, + -adjustY + E_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_BACK, + Physical.L4_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + l3FrontLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + E_BRANCH_OFFSET_L3, + -adjustY + E_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + E_BRANCH_OFFSET_L3, + -adjustY + E_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l3BackLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + E_BRANCH_OFFSET_L3, + -adjustY + E_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + E_BRANCH_OFFSET_L3, + -adjustY + E_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + l2FrontLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + E_BRANCH_OFFSET_L2, + -adjustY + E_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_FRONT, + Physical.L2_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + E_BRANCH_OFFSET_L2, + -adjustY + E_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_FRONT, + Physical.L2_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l2BackLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + E_BRANCH_OFFSET_L2, + -adjustY + E_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_BACK, + Physical.L2_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + E_BRANCH_OFFSET_L2, + -adjustY + E_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_BACK, + Physical.L2_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + System.out.println("j branch: " + l4FrontRight); + } else { + l4FrontLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + C_BRANCH_OFFSET, + -adjustY + C_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_FRONT, + Physical.L4_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + C_BRANCH_OFFSET, + -adjustY + C_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_FRONT, + Physical.L4_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l4BackLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + C_BRANCH_OFFSET, + -adjustY + C_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_BACK, + Physical.L4_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + C_BRANCH_OFFSET, + -adjustY + C_BRANCH_OFFSET_SIDE, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L4_INTAKE_X_OFFSET_BACK, + Physical.L4_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + l3FrontLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + C_BRANCH_OFFSET_L3, + -adjustY + C_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + C_BRANCH_OFFSET_L3, + -adjustY + C_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_FRONT, + Physical.INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l3BackLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + C_BRANCH_OFFSET_L3, + -adjustY + C_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + C_BRANCH_OFFSET_L3, + -adjustY + C_BRANCH_OFFSET_SIDE_L3, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.INTAKE_X_OFFSET_BACK, + Physical.INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + l2FrontLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + C_BRANCH_OFFSET_L2, + -adjustY + C_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_FRONT, + Physical.L2_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + C_BRANCH_OFFSET_L2, + -adjustY + C_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_FRONT, + Physical.L2_INTAKE_Y_OFFSET_FRONT, + new Rotation2d(Math.PI))) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians() + - Math.PI)); + l2BackLeft = new Pose2d( + new Translation2d( + poseDirection + .transformBy(new Transform2d( + adjustX + C_BRANCH_OFFSET_L2, + -adjustY + C_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_BACK, + Physical.L2_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getX(), + poseDirection + .transformBy(new Transform2d( + adjustX + C_BRANCH_OFFSET_L2, + -adjustY + C_BRANCH_OFFSET_SIDE_L2, + new Rotation2d())) + .transformBy(new Transform2d( + Physical.L2_INTAKE_X_OFFSET_BACK, + Physical.L2_INTAKE_Y_OFFSET_BACK, + new Rotation2d())) + .getY()), + new Rotation2d( + poseDirection.getRotation().getRadians())); + System.out.println("l branch: " + l4FrontRight); + } + // l3FrontLeft = new Pose2d( + // new Translation2d( + // poseDirection + // .transformBy(new Transform2d(adjustX, + // -adjustY, + // new Rotation2d())) + // .transformBy(new Transform2d( + // Physical.INTAKE_X_OFFSET_FRONT, + // Physical.INTAKE_Y_OFFSET_FRONT, + // new Rotation2d(Math.PI))) + // .getX(), + // poseDirection + // .transformBy(new Transform2d(adjustX, + // -adjustY, + // new Rotation2d())) + // .transformBy(new Transform2d( + // Physical.INTAKE_X_OFFSET_FRONT, + // Physical.INTAKE_Y_OFFSET_FRONT, + // new Rotation2d(Math.PI))) + // .getY()), + // new Rotation2d( + // poseDirection.getRotation().getRadians() - Math.PI)); + // l3BackLeft = new Pose2d( + // new Translation2d( + // poseDirection + // .transformBy(new Transform2d(adjustX, + // -adjustY, + // new Rotation2d())) + // .transformBy(new Transform2d( + // Physical.INTAKE_X_OFFSET_BACK, + // Physical.INTAKE_Y_OFFSET_BACK, + // new Rotation2d())) + // .getX(), + // poseDirection + // .transformBy(new Transform2d(adjustX, + // -adjustY, + // new Rotation2d())) + // .transformBy(new Transform2d( + // Physical.INTAKE_X_OFFSET_BACK, + // Physical.INTAKE_Y_OFFSET_BACK, + // new Rotation2d())) + // .getY()), + // new Rotation2d( + // poseDirection.getRotation().getRadians())); + blueFrontPlacingPositions.add(l2FrontRight); + blueFrontPlacingPositions.add(l2FrontLeft); + blueBackPlacingPositions.add(l2BackRight); + blueBackPlacingPositions.add(l2BackLeft); + blueFrontPlacingPositionsMore.add(frontRightMore); + blueFrontPlacingPositionsMore.add(frontLeftMore); + blueBackPlacingPositionsMore.add(backRightMore); + blueBackPlacingPositionsMore.add(backLeftMore); + l4BlueFrontPlacingPositions.add(l4FrontRight); + l4BlueFrontPlacingPositions.add(l4FrontLeft); + l4BlueBackPlacingPositions.add(l4BackRight); + l4BlueBackPlacingPositions.add(l4BackLeft); + l3BlueFrontPlacingPositions.add(l3FrontRight); + l3BlueFrontPlacingPositions.add(l3FrontLeft); + l3BlueBackPlacingPositions.add(l3BackRight); + l3BlueBackPlacingPositions.add(l3BackLeft); + algaeBlueFrontPlacingPositions.add(algaeFront); + algaeBlueBackPlacingPositions.add(algaeBack); + algaeBlueFrontPlacingPositionsMore.add(algaeFrontMore); + algaeBlueBackPlacingPositionsMore.add(algaeBackMore); + algaeBlueFrontPlacingPositionsMoreMore.add(algaeFrontMoreMore); + algaeBlueBackPlacingPositionsMoreMore.add(algaeBackMoreMore); + l1BlueCornerPoints.add(l1Corner); + l1BlueDrivePoints.add(l1Drive); + blueL1FrontPlacingPositions.add(l1FrontLeft); + blueL1FrontPlacingPositions.add(l1FrontRight); + blueL1BackPlacingPositions.add(l1BackLeft); + blueL1BackPlacingPositions.add(l1BackRight); + blueL1FrontPlacingPositionsMore.add(l1FrontLeftMore); + blueL1FrontPlacingPositionsMore.add(l1FrontRightMore); + blueL1BackPlacingPositionsMore.add(l1BackLeftMore); + blueL1BackPlacingPositionsMore.add(l1BackRightMore); + } + + for (Pose2d bluePose : blueL1FrontPlacingPositions) { + Pose2d redPose = new Pose2d(); + Translation2d mirroredTranslation = new Translation2d( + Constants.Physical.FIELD_LENGTH - bluePose.getX(), + Constants.Physical.FIELD_WIDTH - bluePose.getY()); + Rotation2d mirroredRotation = new Rotation2d( + bluePose.getRotation().getRadians() + Math.PI); + redPose = new Pose2d(mirroredTranslation, mirroredRotation); + redL1FrontPlacingPositions.add(redPose); + } + + for (Pose2d bluePose : blueL1BackPlacingPositions) { + Pose2d redPose = new Pose2d(); + Translation2d mirroredTranslation = new Translation2d( + Constants.Physical.FIELD_LENGTH - bluePose.getX(), + Constants.Physical.FIELD_WIDTH - bluePose.getY()); + Rotation2d mirroredRotation = new Rotation2d( + bluePose.getRotation().getRadians() + Math.PI); + redPose = new Pose2d(mirroredTranslation, mirroredRotation); + redL1BackPlacingPositions.add(redPose); + } + + for (Pose2d bluePose : blueL1FrontPlacingPositionsMore) { + Pose2d redPose = new Pose2d(); + Translation2d mirroredTranslation = new Translation2d( + Constants.Physical.FIELD_LENGTH - bluePose.getX(), + Constants.Physical.FIELD_WIDTH - bluePose.getY()); + Rotation2d mirroredRotation = new Rotation2d( + bluePose.getRotation().getRadians() + Math.PI); + redPose = new Pose2d(mirroredTranslation, mirroredRotation); + redL1FrontPlacingPositionsMore.add(redPose); + } + + for (Pose2d bluePose : blueL1BackPlacingPositionsMore) { + Pose2d redPose = new Pose2d(); + Translation2d mirroredTranslation = new Translation2d( + Constants.Physical.FIELD_LENGTH - bluePose.getX(), + Constants.Physical.FIELD_WIDTH - bluePose.getY()); + Rotation2d mirroredRotation = new Rotation2d( + bluePose.getRotation().getRadians() + Math.PI); + redPose = new Pose2d(mirroredTranslation, mirroredRotation); + redL1BackPlacingPositionsMore.add(redPose); + } + + for (Pose2d bluePose : algaeBlueFrontPlacingPositions) { + Pose2d redPose = new Pose2d(); + Translation2d mirroredTranslation = new Translation2d( + Constants.Physical.FIELD_LENGTH - bluePose.getX(), + Constants.Physical.FIELD_WIDTH - bluePose.getY()); + Rotation2d mirroredRotation = new Rotation2d( + bluePose.getRotation().getRadians() + Math.PI); + redPose = new Pose2d(mirroredTranslation, mirroredRotation); + algaeRedFrontPlacingPositions.add(redPose); + } + + for (Pose2d bluePose : l1BlueCornerPoints) { + Pose2d redPose = new Pose2d(); + Translation2d mirroredTranslation = new Translation2d( + Constants.Physical.FIELD_LENGTH - bluePose.getX(), + Constants.Physical.FIELD_WIDTH - bluePose.getY()); + Rotation2d mirroredRotation = new Rotation2d( + bluePose.getRotation().getRadians() + Math.PI); + redPose = new Pose2d(mirroredTranslation, mirroredRotation); + l1RedCornerPoints.add(redPose); + } + + for (Pose2d bluePose : l1BlueDrivePoints) { + Pose2d redPose = new Pose2d(); + Translation2d mirroredTranslation = new Translation2d( + Constants.Physical.FIELD_LENGTH - bluePose.getX(), + Constants.Physical.FIELD_WIDTH - bluePose.getY()); + Rotation2d mirroredRotation = new Rotation2d( + bluePose.getRotation().getRadians() + Math.PI); + redPose = new Pose2d(mirroredTranslation, mirroredRotation); + l1RedDrivePoints.add(redPose); + } + + for (Pose2d bluePose : algaeBlueBackPlacingPositions) { + Pose2d redPose = new Pose2d(); + Translation2d mirroredTranslation = new Translation2d( + Constants.Physical.FIELD_LENGTH - bluePose.getX(), + Constants.Physical.FIELD_WIDTH - bluePose.getY()); + Rotation2d mirroredRotation = new Rotation2d( + bluePose.getRotation().getRadians() + Math.PI); + redPose = new Pose2d(mirroredTranslation, mirroredRotation); + algaeRedBackPlacingPositions.add(redPose); + } + + for (Pose2d bluePose : algaeBlueFrontPlacingPositionsMore) { + Pose2d redPose = new Pose2d(); + Translation2d mirroredTranslation = new Translation2d( + Constants.Physical.FIELD_LENGTH - bluePose.getX(), + Constants.Physical.FIELD_WIDTH - bluePose.getY()); + Rotation2d mirroredRotation = new Rotation2d( + bluePose.getRotation().getRadians() + Math.PI); + redPose = new Pose2d(mirroredTranslation, mirroredRotation); + algaeRedFrontPlacingPositionsMore.add(redPose); + } + + for (Pose2d bluePose : algaeBlueBackPlacingPositionsMore) { + Pose2d redPose = new Pose2d(); + Translation2d mirroredTranslation = new Translation2d( + Constants.Physical.FIELD_LENGTH - bluePose.getX(), + Constants.Physical.FIELD_WIDTH - bluePose.getY()); + Rotation2d mirroredRotation = new Rotation2d( + bluePose.getRotation().getRadians() + Math.PI); + redPose = new Pose2d(mirroredTranslation, mirroredRotation); + algaeRedBackPlacingPositionsMore.add(redPose); + } + + for (Pose2d bluePose : algaeBlueFrontPlacingPositionsMoreMore) { + Pose2d redPose = new Pose2d(); + Translation2d mirroredTranslation = new Translation2d( + Constants.Physical.FIELD_LENGTH - bluePose.getX(), + Constants.Physical.FIELD_WIDTH - bluePose.getY()); + Rotation2d mirroredRotation = new Rotation2d( + bluePose.getRotation().getRadians() + Math.PI); + redPose = new Pose2d(mirroredTranslation, mirroredRotation); + algaeRedFrontPlacingPositionsMoreMore.add(redPose); + } + + for (Pose2d bluePose : algaeBlueBackPlacingPositionsMoreMore) { + Pose2d redPose = new Pose2d(); + Translation2d mirroredTranslation = new Translation2d( + Constants.Physical.FIELD_LENGTH - bluePose.getX(), + Constants.Physical.FIELD_WIDTH - bluePose.getY()); + Rotation2d mirroredRotation = new Rotation2d( + bluePose.getRotation().getRadians() + Math.PI); + redPose = new Pose2d(mirroredTranslation, mirroredRotation); + algaeRedBackPlacingPositionsMoreMore.add(redPose); + } + + for (Pose2d bluePose : blueFrontPlacingPositions) { + Pose2d redPose = new Pose2d(); + Translation2d mirroredTranslation = new Translation2d( + Constants.Physical.FIELD_LENGTH - bluePose.getX(), + Constants.Physical.FIELD_WIDTH - bluePose.getY()); + Rotation2d mirroredRotation = new Rotation2d( + bluePose.getRotation().getRadians() + Math.PI); + redPose = new Pose2d(mirroredTranslation, mirroredRotation); + redFrontPlacingPositions.add(redPose); + } + + for (Pose2d bluePose : blueBackPlacingPositions) { + Pose2d redPose = new Pose2d(); + Translation2d mirroredTranslation = new Translation2d( + Constants.Physical.FIELD_LENGTH - bluePose.getX(), + Constants.Physical.FIELD_WIDTH - bluePose.getY()); + Rotation2d mirroredRotation = new Rotation2d( + bluePose.getRotation().getRadians() - Math.PI); + redPose = new Pose2d(mirroredTranslation, mirroredRotation); + redBackPlacingPositions.add(redPose); + } + + for (Pose2d bluePose : blueFrontPlacingPositionsMore) { + Pose2d redPose = new Pose2d(); + Translation2d mirroredTranslation = new Translation2d( + Constants.Physical.FIELD_LENGTH - bluePose.getX(), + Constants.Physical.FIELD_WIDTH - bluePose.getY()); + Rotation2d mirroredRotation = new Rotation2d( + bluePose.getRotation().getRadians() + Math.PI); + redPose = new Pose2d(mirroredTranslation, mirroredRotation); + redFrontPlacingPositionsMore.add(redPose); + } + + for (Pose2d bluePose : blueBackPlacingPositionsMore) { + Pose2d redPose = new Pose2d(); + Translation2d mirroredTranslation = new Translation2d( + Constants.Physical.FIELD_LENGTH - bluePose.getX(), + Constants.Physical.FIELD_WIDTH - bluePose.getY()); + Rotation2d mirroredRotation = new Rotation2d( + bluePose.getRotation().getRadians() - Math.PI); + redPose = new Pose2d(mirroredTranslation, mirroredRotation); + redBackPlacingPositionsMore.add(redPose); + } + + for (Pose2d bluePose : l4BlueFrontPlacingPositions) { + Pose2d redPose = new Pose2d(); + Translation2d mirroredTranslation = new Translation2d( + Constants.Physical.FIELD_LENGTH - bluePose.getX(), + Constants.Physical.FIELD_WIDTH - bluePose.getY()); + Rotation2d mirroredRotation = new Rotation2d( + bluePose.getRotation().getRadians() + Math.PI); + redPose = new Pose2d(mirroredTranslation, mirroredRotation); + l4RedFrontPlacingPositions.add(redPose); + } + + for (Pose2d bluePose : l4BlueBackPlacingPositions) { + Pose2d redPose = new Pose2d(); + Translation2d mirroredTranslation = new Translation2d( + Constants.Physical.FIELD_LENGTH - bluePose.getX(), + Constants.Physical.FIELD_WIDTH - bluePose.getY()); + Rotation2d mirroredRotation = new Rotation2d( + bluePose.getRotation().getRadians() - Math.PI); + redPose = new Pose2d(mirroredTranslation, mirroredRotation); + l4RedBackPlacingPositions.add(redPose); + } + + for (Pose2d bluePose : l3BlueFrontPlacingPositions) { + Pose2d redPose = new Pose2d(); + Translation2d mirroredTranslation = new Translation2d( + Constants.Physical.FIELD_LENGTH - bluePose.getX(), + Constants.Physical.FIELD_WIDTH - bluePose.getY()); + Rotation2d mirroredRotation = new Rotation2d( + bluePose.getRotation().getRadians() + Math.PI); + redPose = new Pose2d(mirroredTranslation, mirroredRotation); + l3RedFrontPlacingPositions.add(redPose); + } + + for (Pose2d bluePose : l3BlueBackPlacingPositions) { + Pose2d redPose = new Pose2d(); + Translation2d mirroredTranslation = new Translation2d( + Constants.Physical.FIELD_LENGTH - bluePose.getX(), + Constants.Physical.FIELD_WIDTH - bluePose.getY()); + Rotation2d mirroredRotation = new Rotation2d( + bluePose.getRotation().getRadians() - Math.PI); + redPose = new Pose2d(mirroredTranslation, mirroredRotation); + l3RedBackPlacingPositions.add(redPose); + } + } + } + + // Physical constants (e.g. field and robot dimensions) + public static final class Physical { + public static final double FIELD_WIDTH = 8.052; + public static final double FIELD_LENGTH = 17.548; + public static final double WHEEL_DIAMETER = inchesToMeters(4); + public static final double WHEEL_CIRCUMFERENCE = Math.PI * WHEEL_DIAMETER; + public static final double WHEEL_ROTATION_PER_METER = 1 / WHEEL_CIRCUMFERENCE; + public static final double WHEEL_TO_FRAME_DISTANCE = inchesToMeters(2.5); + public static final double TOP_SPEED = feetToMeters(30.0); + + public static final double ROBOT_LENGTH = inchesToMeters(26); + public static final double ROBOT_WIDTH = inchesToMeters(26); + public static final double MODULE_OFFSET = inchesToMeters(2.625); + public static final double ROBOT_RADIUS = Math.hypot(ROBOT_LENGTH / 2 - WHEEL_TO_FRAME_DISTANCE, + ROBOT_WIDTH / 2 - WHEEL_TO_FRAME_DISTANCE); + public static double INTAKE_X_OFFSET_FRONT = inchesToMeters(23.8); + public static double INTAKE_Y_OFFSET_FRONT = inchesToMeters(0.7); + public static double INTAKE_X_OFFSET_BACK = inchesToMeters(23.8); + public static double INTAKE_Y_OFFSET_BACK = inchesToMeters(-0.7); + + public static double INTAKE_X_OFFSET_FRONT_ALGAE = inchesToMeters(23.0 + 5.0); + public static double INTAKE_Y_OFFSET_FRONT_ALGAE = inchesToMeters(3.8); + public static double INTAKE_X_OFFSET_BACK_ALGAE = inchesToMeters(23.0 + 5.0); + public static double INTAKE_Y_OFFSET_BACK_ALGAE = inchesToMeters(-3.8); + + public static double L1_INTAKE_X_OFFSET_FRONT = inchesToMeters(35.3); + public static double L1_INTAKE_Y_OFFSET_FRONT = inchesToMeters(5.0); + public static double L1_INTAKE_X_OFFSET_BACK = inchesToMeters(35.3); + public static double L1_INTAKE_Y_OFFSET_BACK = inchesToMeters(-7.0); + + public static double L1_INTAKE_X_OFFSET_FRONT_MORE = inchesToMeters(24.5); + public static double L1_INTAKE_Y_OFFSET_FRONT_MORE = inchesToMeters(5.0); + public static double L1_INTAKE_X_OFFSET_BACK_MORE = inchesToMeters(24.5); + public static double L1_INTAKE_Y_OFFSET_BACK_MORE = inchesToMeters(-9.0); + + public static double L2_INTAKE_X_OFFSET_FRONT = inchesToMeters(23.45); + public static double L2_INTAKE_Y_OFFSET_FRONT = inchesToMeters(0.7); + public static double L2_INTAKE_X_OFFSET_BACK = inchesToMeters(23.45); + public static double L2_INTAKE_Y_OFFSET_BACK = inchesToMeters(-0.7); + + public static double L4_INTAKE_X_OFFSET_FRONT = inchesToMeters(27.1); + public static double L4_INTAKE_Y_OFFSET_FRONT = inchesToMeters(0.7); + public static double L4_INTAKE_X_OFFSET_BACK = inchesToMeters(27.1); + public static double L4_INTAKE_Y_OFFSET_BACK = inchesToMeters(-0.7); + + public static final double GRAVITY_ACCEL_MS2 = 9.806; + } + + // Subsystem setpoint constants + public static final class SetPoints { + public static class IntakeSetpoints { + public static final double INTAKE_ACCELERATION = 500.0; + public static final double INTAKE_CRUISE_VELOCITY = 400.0; + public static final double INTAKE_MOTION_PROFILE_SCALAR = 1.0; + public static final double INTAKE_DOWN = 0.36163; // rotations + public static final double INTAKE_UP = -0.014; // rotations + public static final double INTAKE_ROLLER_MAX_SPEED = 1.0; // percent + public static final double INTAKE_ROLLER_HOLDING_SPEED = 0.1; // percent + public static final double INTAKE_ROLLER_TORQUE = 80.0; // amps + public static final double INTAKE_HOLDING_TORQUE = 60.0; // amps + } + + public static final double ELEVATOR_BOTTOM_POSITION_M = 0.0; + public static final double ELEVATOR_MID_POSITION_M = inchesToMeters(26.0); // L2 after placement + public static final double ELEVATOR_TOP_POSITION_M = inchesToMeters(43.0); + public static final double ELEVATOR_L1_POSITION_M = inchesToMeters(6.6); + public static final double ELEVATOR_L2_POSITION_M = inchesToMeters(15); + public static final double ELEVATOR_AUTO_L2_POSITION_M = inchesToMeters(20); + public static final double ELEVATOR_AUTO_L2_POSITION_SCORE_M = inchesToMeters(16); + public static final double ELEVATOR_AUTO_L3_POSITION_M = inchesToMeters(35.75); + // public static final double ELEVATOR_AUTO_L3_POSITION_M = inchesToMeters(25); + public static final double ELEVATOR_AUTO_SCORE_L3_POSITION_M = inchesToMeters(20); + public static final double ELEVATOR_AUTO_L4_POSITION_M = inchesToMeters(64.0); + public static final double ELEVATOR_L3_POSITION_M = inchesToMeters(28); + public static final double ELEVATOR_L4_POSITION_M = inchesToMeters(64.0); + public static final double ELEVATOR_ALGAE_POSITION_M = inchesToMeters(8.0); + public static final double ELEVATOR_GROUND_CORAL_POSITION_M = inchesToMeters(5.4); + public static final double ELEVATOR_GROUND_ALGAE_POSITION_M = inchesToMeters(0.0); + public static final double ELEVATOR_FEEDER_POSITION_M = inchesToMeters(0.0); + public static final double ELEVATOR_OVER_POSITION_M = inchesToMeters(20); + public static final double ELEVATOR_NET_POSITION_M = inchesToMeters(65); + public static final double ELEVATOR_L2_ALGAE_POSITION_M = inchesToMeters(15.7); + public static final double ELEVATOR_L3_ALGAE_POSITION_M = inchesToMeters(33.0); + public static final double ELEVATOR_PROCESSOR_POSITION_M = inchesToMeters(6.5); + public static final double ELEVATOR_LOLLIPOP_POSITION_M = inchesToMeters(0.0); + public static final double ELEVATOR_PRE_HANDOFF_POSITION_M = inchesToMeters(39.0); + public static final double ELEVATOR_HANDOFF_POSITION_M = inchesToMeters(35.0); + + public enum ElevatorPosition { + kDOWN(ELEVATOR_BOTTOM_POSITION_M, Ratios.elevatorMetersToRotations(ELEVATOR_BOTTOM_POSITION_M)), + kMID(ELEVATOR_MID_POSITION_M, Ratios.elevatorMetersToRotations(ELEVATOR_MID_POSITION_M)), + kUP(ELEVATOR_TOP_POSITION_M, Ratios.elevatorMetersToRotations(ELEVATOR_TOP_POSITION_M)), + kL1(ELEVATOR_L1_POSITION_M, Ratios.elevatorMetersToRotations(ELEVATOR_L1_POSITION_M)), + kL2(ELEVATOR_L2_POSITION_M, Ratios.elevatorMetersToRotations(ELEVATOR_L2_POSITION_M)), + kAUTOL2(ELEVATOR_AUTO_L2_POSITION_M, + Ratios.elevatorMetersToRotations(ELEVATOR_AUTO_L2_POSITION_M)), + kAUTOL2SCORE(ELEVATOR_AUTO_L2_POSITION_SCORE_M, + Ratios.elevatorMetersToRotations(ELEVATOR_AUTO_L2_POSITION_SCORE_M)), + kAUTOL3(ELEVATOR_AUTO_L3_POSITION_M, + Ratios.elevatorMetersToRotations(ELEVATOR_AUTO_L3_POSITION_M)), + kAUTOL3SCORE(ELEVATOR_AUTO_SCORE_L3_POSITION_M, + Ratios.elevatorMetersToRotations(ELEVATOR_AUTO_SCORE_L3_POSITION_M)), + kAUTOL4(ELEVATOR_AUTO_L4_POSITION_M, + Ratios.elevatorMetersToRotations(ELEVATOR_AUTO_L4_POSITION_M)), + kL3(ELEVATOR_L3_POSITION_M, Ratios.elevatorMetersToRotations(ELEVATOR_L3_POSITION_M)), + kL4(ELEVATOR_L4_POSITION_M, Ratios.elevatorMetersToRotations(ELEVATOR_L4_POSITION_M)), + kALGAE(ELEVATOR_ALGAE_POSITION_M, Ratios.elevatorMetersToRotations(ELEVATOR_ALGAE_POSITION_M)), + kFEEDER(ELEVATOR_FEEDER_POSITION_M, + Ratios.elevatorMetersToRotations(ELEVATOR_FEEDER_POSITION_M)), + kGROUNDCORAL(ELEVATOR_GROUND_CORAL_POSITION_M, + Ratios.elevatorMetersToRotations(ELEVATOR_GROUND_CORAL_POSITION_M)), + kGROUNDALGAE(ELEVATOR_GROUND_ALGAE_POSITION_M, + Ratios.elevatorMetersToRotations(ELEVATOR_GROUND_ALGAE_POSITION_M)), + kNET(ELEVATOR_NET_POSITION_M, + Ratios.elevatorMetersToRotations(ELEVATOR_NET_POSITION_M)), + kPROCESSOR(ELEVATOR_PROCESSOR_POSITION_M, + Ratios.elevatorMetersToRotations(ELEVATOR_PROCESSOR_POSITION_M)), + kL2ALGAE(ELEVATOR_L2_ALGAE_POSITION_M, + Ratios.elevatorMetersToRotations(ELEVATOR_L2_ALGAE_POSITION_M)), + kL3ALGAE(ELEVATOR_L3_ALGAE_POSITION_M, + Ratios.elevatorMetersToRotations(ELEVATOR_L3_ALGAE_POSITION_M)), + kOVER(ELEVATOR_OVER_POSITION_M, Ratios.elevatorMetersToRotations(ELEVATOR_OVER_POSITION_M)), + kLOLLIPOP(ELEVATOR_LOLLIPOP_POSITION_M, Ratios.elevatorMetersToRotations( + ELEVATOR_LOLLIPOP_POSITION_M)), + kHANDOFF(ELEVATOR_HANDOFF_POSITION_M, + Ratios.elevatorMetersToRotations(ELEVATOR_HANDOFF_POSITION_M)), + kPREHANDOFF(ELEVATOR_PRE_HANDOFF_POSITION_M, + Ratios.elevatorMetersToRotations(ELEVATOR_PRE_HANDOFF_POSITION_M)); + + public final double meters; + public final double rotations; + + private ElevatorPosition(double meters, double rotations) { + this.meters = meters; + this.rotations = rotations; + } + } + + public static final double PIVOT_L1_POSITION_D = 67.0; + public static final double PIVOT_L23_POSITION_D = 52.5; + // public static final double PIVOT_AUTO_L23_POSITION_D = 45.0; + public static final double PIVOT_AUTO_L2_POSITION_D = 65.0; + public static final double PIVOT_AUTO_L3_POSITION_D = 50.0; + // public static final double PIVOT_AUTO_L3_POSITION_D = 30.0; + public static final double PIVOT_AUTO_L4_POSITION_D = 0.0; + public static final double PIVOT_AUTO_L4_SCORE_POSITION_D = 100.0; + public static final double PIVOT_AUTO_L4_SCORE_SLOW_POSITION_D = 70.0; + public static final double PIVOT_AUTO_L3_SCORE_POSITION_D = 100.0; + public static final double PIVOT_AUTO_L2_SCORE_POSITION_D = 100.0; + public static final double PIVOT_L4_POSITION_D = 60.0; + public static final double PIVOT_UPRIGHT_POSITION_D = 45.0; + public static final double PIVOT_GROUND_ALGAE_POSITION_D = 82.5; + public static final double PIVOT_GROUND_CORAL_POSITION_FRONT_D = 111.0; + public static final double PIVOT_GROUND_CORAL_POSITION_BACK_D = -111.0; + public static final double PIVOT_GROUND_CORAL_PREP_BACK_D = -90; + // public static final double PIVOT_DEFAULT_POSITION_D = 30.0; + public static final double PIVOT_DEFAULT_POSITION_D = 0.0; + public static final double PIVOT_DEFAULT_CLIMB_POSITION_D = 45.0; + public static final double PIVOT_PREP_POSITION_D = 30.0; + public static final double PIVOT_FEEDER_POSITION_D = 21.0; + public static final double PIVOT_NET_POSITION_D = 15.0; + public static final double PIVOT_PROCESSOR_POSITION_D = 76.0; + public static final double PIVOT_REEF_ALGAE_POSITION_D = 80.0; + public static final double PIVOT_CLIMB_POSITION_D = 45.0; + public static final double PIVOT_LOLLIPOP_POSITION_D = -98.0; + public static final double PIVOT_HANDOFF_POSITION_D = 145.0; + + public enum PivotPosition { + kL1(PIVOT_L1_POSITION_D, Constants.degreesToRotations(PIVOT_L1_POSITION_D)), + kL23(PIVOT_L23_POSITION_D, Constants.degreesToRotations(PIVOT_L23_POSITION_D)), + kAUTOL2(PIVOT_AUTO_L2_POSITION_D, Constants.degreesToRotations(PIVOT_AUTO_L2_POSITION_D)), + kAUTOL3(PIVOT_AUTO_L3_POSITION_D, Constants.degreesToRotations(PIVOT_AUTO_L3_POSITION_D)), + kAUTOL4(PIVOT_AUTO_L4_POSITION_D, Constants.degreesToRotations(PIVOT_AUTO_L4_POSITION_D)), + kL4(PIVOT_L4_POSITION_D, Constants.degreesToRotations(PIVOT_L4_POSITION_D)), + kUP(PIVOT_UPRIGHT_POSITION_D, Constants.degreesToRotations(PIVOT_UPRIGHT_POSITION_D)), + kGROUNDALGAE(PIVOT_GROUND_ALGAE_POSITION_D, + Constants.degreesToRotations(PIVOT_GROUND_ALGAE_POSITION_D)), + kGROUNDCORALFRONT(PIVOT_GROUND_CORAL_POSITION_FRONT_D, + Constants.degreesToRotations(PIVOT_GROUND_CORAL_POSITION_FRONT_D)), + kGROUNDCORALBACK(PIVOT_GROUND_CORAL_POSITION_BACK_D, + Constants.degreesToRotations(PIVOT_GROUND_CORAL_POSITION_BACK_D)), + kGROUNDCORALPREPBACK(PIVOT_GROUND_CORAL_PREP_BACK_D, + Constants.degreesToRotations(PIVOT_GROUND_CORAL_PREP_BACK_D)), + kNET(PIVOT_NET_POSITION_D, + Constants.degreesToRotations(PIVOT_NET_POSITION_D)), + kPROCESSOR(PIVOT_PROCESSOR_POSITION_D, + Constants.degreesToRotations(PIVOT_PROCESSOR_POSITION_D)), + kAUTOL2SCORE(PIVOT_AUTO_L2_SCORE_POSITION_D, + Constants.degreesToRotations(PIVOT_AUTO_L2_SCORE_POSITION_D)), + kAUTOL3SCORE(PIVOT_AUTO_L3_SCORE_POSITION_D, + Constants.degreesToRotations(PIVOT_AUTO_L3_SCORE_POSITION_D)), + kAUTOL4SCORE(PIVOT_AUTO_L4_SCORE_POSITION_D, + Constants.degreesToRotations(PIVOT_AUTO_L4_SCORE_POSITION_D)), + kAUTOL4SCORESLOW(PIVOT_AUTO_L4_SCORE_SLOW_POSITION_D, + Constants.degreesToRotations(PIVOT_AUTO_L4_SCORE_SLOW_POSITION_D)), + kDEFAULT(PIVOT_DEFAULT_POSITION_D, Constants.degreesToRotations(PIVOT_DEFAULT_POSITION_D)), + kDEFAULTCLIMB(PIVOT_DEFAULT_CLIMB_POSITION_D, + Constants.degreesToRotations(PIVOT_DEFAULT_CLIMB_POSITION_D)), + kFEEDER(PIVOT_FEEDER_POSITION_D, Constants.degreesToRotations(PIVOT_FEEDER_POSITION_D)), + kREEFALGAE(PIVOT_REEF_ALGAE_POSITION_D, + Constants.degreesToRotations(PIVOT_REEF_ALGAE_POSITION_D)), + kPREP(PIVOT_PREP_POSITION_D, Constants.degreesToRotations(PIVOT_PREP_POSITION_D)), + kCLIMB(PIVOT_CLIMB_POSITION_D, Constants.degreesToRotations(PIVOT_CLIMB_POSITION_D)), + kLOLLIPOP(PIVOT_LOLLIPOP_POSITION_D, Constants.degreesToRotations(PIVOT_LOLLIPOP_POSITION_D)), + kHANDOFF(PIVOT_HANDOFF_POSITION_D, Constants.degreesToRotations(PIVOT_HANDOFF_POSITION_D)); + + public final double degrees; + public final double rotations; + + private PivotPosition(double degrees, double rotations) { + this.degrees = degrees; + this.rotations = rotations; + } + } + } + + // Vision constants (e.g. camera offsets) + public static final class Vision { + // Poses of all 16 AprilTags, {x, y, z, yaw, pitch}, in meters and radians + public static final double[][] TAG_POSES = { + { inchesToMeters(657.37), inchesToMeters(25.8), inchesToMeters(58.5), + Math.toRadians(126), + Math.toRadians(0) }, + { inchesToMeters(657.37), inchesToMeters(291.2), inchesToMeters(58.5), + Math.toRadians(234), + Math.toRadians(0) }, + { inchesToMeters(455.15), inchesToMeters(317.15), inchesToMeters(51.25), + Math.toRadians(270), + Math.toRadians(0) }, + { inchesToMeters(365.2), inchesToMeters(241.64), inchesToMeters(73.54), + Math.toRadians(0), + Math.toRadians(30) }, + { inchesToMeters(365.2), inchesToMeters(75.39), inchesToMeters(73.54), + Math.toRadians(0), + Math.toRadians(30) }, + { inchesToMeters(530.49), inchesToMeters(130.17), inchesToMeters(12.13), + Math.toRadians(300), + Math.toRadians(0) }, + { inchesToMeters(546.87), inchesToMeters(158.5), inchesToMeters(12.13), + Math.toRadians(0), + Math.toRadians(0) }, + { inchesToMeters(530.49), inchesToMeters(186.83), inchesToMeters(12.13), + Math.toRadians(60), + Math.toRadians(0) }, + { inchesToMeters(497.77), inchesToMeters(186.83), inchesToMeters(12.13), + Math.toRadians(120), + Math.toRadians(0) }, + { inchesToMeters(481.39), inchesToMeters(158.5), inchesToMeters(12.13), + Math.toRadians(180), + Math.toRadians(0) }, + { inchesToMeters(497.77), inchesToMeters(130.17), inchesToMeters(12.13), + Math.toRadians(240), + Math.toRadians(0) }, + { inchesToMeters(33.51), inchesToMeters(25.8), inchesToMeters(58.5), Math.toRadians(54), + Math.toRadians(0) }, + { inchesToMeters(33.51), inchesToMeters(291.2), inchesToMeters(58.5), + Math.toRadians(306), + Math.toRadians(0) }, + { inchesToMeters(325.68), inchesToMeters(241.64), inchesToMeters(73.54), + Math.toRadians(180), + Math.toRadians(30) }, + { inchesToMeters(325.68), inchesToMeters(75.39), inchesToMeters(73.54), + Math.toRadians(180), + Math.toRadians(30) }, + { inchesToMeters(235.73), inchesToMeters(-0.15), inchesToMeters(51.25), + Math.toRadians(90), + Math.toRadians(0) }, + { inchesToMeters(160.39), inchesToMeters(130.17), inchesToMeters(12.13), + Math.toRadians(240), + Math.toRadians(0) }, + { inchesToMeters(144), inchesToMeters(158.5), inchesToMeters(12.13), + Math.toRadians(180), + Math.toRadians(0) }, + { inchesToMeters(160.39), inchesToMeters(186.83), inchesToMeters(12.13), + Math.toRadians(120), + Math.toRadians(0) }, + { inchesToMeters(193.1), inchesToMeters(186.83), inchesToMeters(12.13), + Math.toRadians(60), + Math.toRadians(0) }, + { inchesToMeters(209.49), inchesToMeters(158.5), inchesToMeters(12.13), + Math.toRadians(0), + Math.toRadians(0) }, + { inchesToMeters(193.1), inchesToMeters(130.17), inchesToMeters(12.13), + Math.toRadians(300), + Math.toRadians(0) } + }; + + public static final double[][] redSideReefTags = { + TAG_POSES[6 - 1], TAG_POSES[7 - 1], TAG_POSES[8 - 1], TAG_POSES[9 - 1], + TAG_POSES[10 - 1], + TAG_POSES[11 - 1] }; + + public static final double[][] blueSideReefTags = { + TAG_POSES[6 + 11 - 1], TAG_POSES[7 + 11 - 1], TAG_POSES[8 + 11 - 1], + TAG_POSES[9 + 11 - 1], + TAG_POSES[10 + 11 - 1], TAG_POSES[11 + + 11 - 1] }; + + // Poses of cameras relative to robot, {x, y, z, rx, ry, rz}, in meters and + // radians + public static final double[] FRONT_CAMERA_POSE = { Constants.inchesToMeters(1.75), + Constants.inchesToMeters(11.625), + Constants.inchesToMeters(33.5), 0, -33.5, 0 }; + + // Standard deviation adjustments + public static final double STANDARD_DEVIATION_SCALAR = 1; + public static final double ODOMETRY_JUMP_STANDARD_DEVIATION_SCALAR = 1; + public static final double ODOMETRY_JUMP_STANDARD_DEVIATION_DEGREE = 3; + public static final double TAG_STANDARD_DEVIATION_DISTANCE = 2; // meters + public static final double TAG_STANDARD_DEVIATION_FLATNESS = 5; + // public static final double XY_STD_DEV_SCALAR = 0.1; + + // Standard deviation regressions + /** + * Calculates the standard deviation scalar based on the distance from the tag. + * + * @param dist The distance from the tag. + * @return The standard deviation scalar. + */ + public static double getTagDistStdDevScalar(double dist) { + // double a = TAG_STANDARD_DEVIATION_FLATNESS; + // double b = 1 - a * Math.pow(TAG_STANDARD_DEVIATION_DISTANCE, 2); + // Logger.recordOutput("std devs", + // -0.000277778 * Math.pow(dist, 3) + 0.00988095 * Math.pow(dist, 2) + + // 0.00444444 * dist + 0.0371429); + // return Math.max(1, a * Math.pow(dist, 2) + b); + return -0.00045928 * Math.pow(dist, 4) + 0.0069476 * Math.pow(dist, 3) + - 0.0216241 * Math.pow(dist, 2) + + 0.063534 * dist + 0.0317614; + } + + /** + * Calculates the standard deviation scalar based on the number of detected + * tags. + * + * @param numTags The number of detected tags. + * @return The standard deviation scalar. + */ + public static double getNumTagStdDevScalar(int numTags) { + if (numTags == 0) { + return 99999; + } else if (numTags == 1) { + return 1; + } else if (numTags == 2) { + return 0.6; + } else { + return 0.75; + } + } + + /** + * Calculates the standard deviation of the x-coordinate based on the given + * offsets. + * + * @param xOffset The x-coordinate offset. + * @param yOffset The y-coordinate offset. + * @return The standard deviation of the x-coordinate. + */ + public static double getTagStdDevX(double xOffset, double yOffset) { + return Math.max(0, + 0.005533021491867763 * (xOffset * xOffset + yOffset * yOffset) + - 0.010807566510145635) + * STANDARD_DEVIATION_SCALAR; + } + + /** + * Calculates the standard deviation of the y-coordinate based on the given + * offsets. + * + * @param xOffset The x-coordinate offset. + * @param yOffset The y-coordinate offset. + * @return The standard deviation of the y-coordinate. + */ + public static double getTagStdDevY(double xOffset, double yOffset) { + return Math.max(0, 0.0055 * (xOffset * xOffset + yOffset * yOffset) - 0.01941597810542626) + * STANDARD_DEVIATION_SCALAR; + } + + /** + * Calculates the standard deviation in the x-coordinate for triangulation + * measurements. + * + * @param xOffset The x-coordinate offset. + * @param yOffset The y-coordinate offset. + * @return The standard deviation in the x-coordinate. + */ + public static double getTriStdDevX(double xOffset, double yOffset) { + return Math.max(0, + 0.004544133588821881 * (xOffset * xOffset + yOffset * yOffset) + - 0.01955724864971872) + * STANDARD_DEVIATION_SCALAR; + } + + /** + * Calculates the standard deviation in the y-coordinate for triangulation + * measurements. + * + * @param xOffset The x-coordinate offset. + * @param yOffset The y-coordinate offset. + * @return The standard deviation in the y-coordinate. + */ + public static double getTriStdDevY(double xOffset, double yOffset) { + return Math.max(0, + 0.002615358015002413 * (xOffset * xOffset + yOffset * yOffset) + - 0.008955462032388808) + * STANDARD_DEVIATION_SCALAR; + } + + public static double distBetweenPose(Pose3d pose1, Pose3d pose2) { + return (Math.sqrt(Math.pow(pose1.getX() - pose2.getX(), 2) + + Math.pow(pose1.getY() - pose2.getY(), 2))); + } + + public static final double DISTANCE_OFFSET = 7.0; + public static final double CAMERA_ANGLE_OFFSET = 0.0; + // pitch, distance + public static final double[][] CORAL_LOOKUP_TABLE = { + { -17.72 + CAMERA_ANGLE_OFFSET, 24.5 + DISTANCE_OFFSET }, + { -12.22 + CAMERA_ANGLE_OFFSET, 28.5 + DISTANCE_OFFSET }, + { -8.02 + CAMERA_ANGLE_OFFSET, 33.0 + DISTANCE_OFFSET }, + { -5.69 + CAMERA_ANGLE_OFFSET, 38.25 + DISTANCE_OFFSET }, + { -2.73 + CAMERA_ANGLE_OFFSET, 43.75 + DISTANCE_OFFSET }, + { -0.05 + CAMERA_ANGLE_OFFSET, 50.0 + DISTANCE_OFFSET }, + { 2.09 + CAMERA_ANGLE_OFFSET, 56.0 + DISTANCE_OFFSET }, + { 3.55 + CAMERA_ANGLE_OFFSET, 61.5 + DISTANCE_OFFSET }, + { 5.87 + CAMERA_ANGLE_OFFSET, 71.75 + DISTANCE_OFFSET } + }; + + /** + * Interpolates a value from a lookup table based on the given xValue. + * + * @param xIndex The index of the x-values in the lookup table. + * @param yIndex The index of the y-values in the lookup table. + * @param xValue The x-value for which to interpolate a y-value. + * @return The interpolated y-value corresponding to the given x-value. + */ + public static double getInterpolatedValue(int xIndex, int yIndex, double xValue) { + int lastIndex = CORAL_LOOKUP_TABLE.length - 1; + if (xValue < CORAL_LOOKUP_TABLE[0][xIndex]) { + // If the xValue is closer than the first setpoint + double returnValue = CORAL_LOOKUP_TABLE[0][yIndex]; + return returnValue; + } else if (xValue > CORAL_LOOKUP_TABLE[lastIndex][xIndex]) { + // If the xValue is farther than the last setpoint + double returnValue = CORAL_LOOKUP_TABLE[lastIndex][yIndex]; + return returnValue; + } else { + for (int i = 0; i < CORAL_LOOKUP_TABLE.length; i++) { + if (xValue > CORAL_LOOKUP_TABLE[i][xIndex] + && xValue < CORAL_LOOKUP_TABLE[i + 1][xIndex]) { + // If the xValue is in the table of setpoints + // Calculate where xValue is between setpoints + double leftDif = xValue - CORAL_LOOKUP_TABLE[i][xIndex]; + double percent = leftDif / (CORAL_LOOKUP_TABLE[i + 1][xIndex] + - CORAL_LOOKUP_TABLE[i][xIndex]); + + double value1 = CORAL_LOOKUP_TABLE[i][yIndex]; + double value2 = CORAL_LOOKUP_TABLE[i + 1][yIndex]; + + // Interpolate in-between values for value xValue and shooter rpm + double newValue = value1 + (percent * (value2 - value1)); + + double returnValue = newValue; + return returnValue; + } + } + // Should never run + double returnValue = CORAL_LOOKUP_TABLE[0][yIndex]; + return returnValue; + } + } + + /** + * Calculates shooter values (flywheel velocity and note velocity) based on the + * given angle. + * + * @param angle The angle of the shooter. + * @return An array containing the calculated flywheel velocity and note + * velocity. + */ + public static double getCoralDistanceFromPitch(double angle) { + return getInterpolatedValue(0, 1, angle); + // return new double[] {25, getInterpolatedValue(1, 3, angle)}; + } + } + + // Gear ratios and conversions + public static final class Ratios { + + // twist + public static final double TWIST_GEAR_RATIO_ROTOR = 28.8; + public static final double TWIST_GEAR_RATIO_ENCODER = 5.0 / 4.0; + + // pivot + public static final double PIVOT_GEAR_RATIO = 95.238; + + // drive + public static final double DRIVE_GEAR_RATIO = 6.12; + public static final double STEER_GEAR_RATIO = 21.43; + public static final double MAX_WHEEL_RPS = 6380.0 / 60.0 / 6.12; + + // elevator + public static final double ELEVATOR_FIRST_STAGE = Constants.inchesToMeters(23.25); + public static final double ELEVATOR_MOTOR_ROTATIONS_FOR_FIRST_STAGE = 20.425781; + public static final double ELEVATOR_MOTOR_ROTATIONS_PER_METER = ELEVATOR_MOTOR_ROTATIONS_FOR_FIRST_STAGE + * (1 / ELEVATOR_FIRST_STAGE); + + public static double elevatorRotationsToMeters(double rotations) { + return rotations / ELEVATOR_MOTOR_ROTATIONS_PER_METER; + } + + public static double elevatorMetersToRotations(double meters) { + return meters * ELEVATOR_MOTOR_ROTATIONS_PER_METER; + } + + // intake + public static final double INTAKE_PIVOT_GEAR_RATIO = 30.0; + } + + // Can info such as IDs + public static final class CANInfo { + public static final String CANBUS_NAME = "Canivore"; + + // drive + public static final int FRONT_RIGHT_DRIVE_MOTOR_ID = 1; + public static final int FRONT_RIGHT_ANGLE_MOTOR_ID = 2; + public static final int FRONT_LEFT_DRIVE_MOTOR_ID = 3; + public static final int FRONT_LEFT_ANGLE_MOTOR_ID = 4; + public static final int BACK_LEFT_DRIVE_MOTOR_ID = 5; + public static final int BACK_LEFT_ANGLE_MOTOR_ID = 6; + public static final int BACK_RIGHT_DRIVE_MOTOR_ID = 7; + public static final int BACK_RIGHT_ANGLE_MOTOR_ID = 8; + public static final int FRONT_RIGHT_MODULE_CANCODER_ID = 1; + public static final int FRONT_LEFT_MODULE_CANCODER_ID = 2; + public static final int BACK_LEFT_MODULE_CANCODER_ID = 3; + public static final int BACK_RIGHT_MODULE_CANCODER_ID = 4; + + // Lights + public static final int CANDLE_ID_0 = 0; + public static final int CANDLE_ID_1 = 1; + public static final int CANDLE_ID_2 = 2; + + // Elevator + public static final int MASTER_ELEVATOR_MOTOR_ID = 9; + public static final int FOLLOWER_ELEVATOR_MOTOR_ID = 10; + + // Pivot + public static final int PIVOT_MOTOR_ID = 11; + public static final int PIVOT_CANCODER_ID = 5; + + // Twist + public static final int TWIST_MOTOR_ID = 12; + public static final int TWIST_CANCODER_ID = 6; + + // Manipulator + public static final int MANIPULATOR_MOTOR_ID = 13; + + // Climber + public static final int CLIMBER_PIVOT_MOTOR_ID = 15; + + // Intake + public static final int INTAKE_ROLLER_MOTOR_ID = 16; + public static final int INTAKE_PIVOT_MOTOR_ID = 17; + public static final int INTAKE_BEAM_BREAK_PORT = 0; + } + + // Misc. controller values + public static final class OperatorConstants { + public static final double RIGHT_TRIGGER_DEADZONE = 0.1; + public static final double LEFT_TRIGGER_DEADZONE = 0.1; + public static final double LEFT_STICK_DEADZONE = 0.03; + public static final double RIGHT_STICK_DEADZONE = 0.05; + } + + /** + * Converts inches to meters. + * + * @param inches The length in inches to be converted. + * @return The equivalent length in meters. + */ + public static double inchesToMeters(double inches) { + return inches / 39.37; + } + + public static double metersToInches(double meters) { + return meters * 39.37; + } + + /** + * Converts feet to meters. + * + * @param inches The length in feet to be converted. + * @return The equivalent length in meters. + */ + public static double feetToMeters(double feet) { + return feet / 3.281; + } + + /** + * Calculates the Euclidean distance between two points in a 2D plane. + * + * @param x1 The x-coordinate of the first point. + * @param y1 The y-coordinate of the first point. + * @param x2 The x-coordinate of the second point. + * @param y2 The y-coordinate of the second point. + * @return The Euclidean distance between the two points. + */ + public static double getDistance(double x1, double y1, double x2, double y2) { + return Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2)); + } + + public static double getAngleToPoint(double x1, double y1, double x2, double y2) { + // System.out.println("x1: " + x1 + ", y1: " + y1 + ", x2: " + x2 + ", y2: " + + // y2); + double deltaX = x2 - x1; + double deltaY = y2 - y1; + + double angleInRadians = Math.atan2(deltaY, deltaX); + + double angleInDegrees = Math.toDegrees(angleInRadians); + + double standardizeAngleDegrees = standardizeAngleDegrees(angleInDegrees); + + // if (y1 > y2) { + // System.out.println("running"); + return 180 + standardizeAngleDegrees; + // } + // System.out.println("2"); + // double temp = 180 - standardizeAngleDegrees; + // double j = 180 - temp; + // return 180 + j; + // } + } + + /** + * Converts a quantity in rotations to radians. + * + * @param rotations The quantity in rotations to be converted. + * @return The equivalent quantity in radians. + */ + public static double rotationsToRadians(double rotations) { + return rotations * 2 * Math.PI; + } + + /** + * Converts a quantity in degrees to rotations. + * + * @param rotations The quantity in degrees to be converted. + * @return The equivalent quantity in rotations. + */ + public static double degreesToRotations(double degrees) { + return degrees / 360; + } + + /** + * Converts a quantity in rotations to degrees. + * + * @param rotations The quantity in rotations to be converted. + * @return The equivalent quantity in degrees. + */ + public static double rotationsToDegrees(double rotations) { + return rotations * 360; + } + + /** + * Converts a quantity in degrees to radians. + * + * @param rotations The quantity in degrees to be converted. + * @return The equivalent quantity in radians. + */ + public static double degreesToRadians(double degrees) { + return degrees * Math.PI / 180; + } + + /** + * Standardizes an angle to be within the range [0, 360) degrees. + * + * @param angleDegrees The input angle in degrees. + * @return The standardized angle within the range [0, 360) degrees. + */ + public static double standardizeAngleDegrees(double angleDegrees) { + // System.out.println("initial angle degrees" + angleDegrees); + if (angleDegrees >= 0 && angleDegrees < 360) { + // System.out.println("standardized angle degrees" + angleDegrees); + return angleDegrees; + } else if (angleDegrees < 0) { + while (angleDegrees < 0) { + angleDegrees += 360; + } + // System.out.println("standardized angle degrees" + angleDegrees); + return angleDegrees; + } else if (angleDegrees >= 360) { + while (angleDegrees >= 360) { + angleDegrees -= 360; + } + // System.out.println("standardized angle degrees" + angleDegrees); + return angleDegrees; + } else { + // System.out.println("Weird ErroR"); + // System.out.println("standardized angle degrees" + angleDegrees); + return angleDegrees; + } + } + + /** + * Calculates the x-component of a unit vector given an angle in radians. + * + * @param angle The angle in radians. + * @return The x-component of the unit vector. + */ + public static double angleToUnitVectorI(double angle) { + return (Math.cos(angle)); + } + + /** + * Calculates the y-component of a unit vector given an angle in radians. + * + * @param angle The angle in radians. + * @return The y-component of the unit vector. + */ + public static double angleToUnitVectorJ(double angle) { + return (Math.sin(angle)); + } + + /** + * Converts revolutions per minute (RPM) to revolutions per second (RPS). + * + * @param RPM The value in revolutions per minute (RPM) to be converted. + * @return The equivalent value in revolutions per second (RPS). + */ + public static double RPMToRPS(double RPM) { + return RPM / 60; + } + + /** + * Converts revolutions per second (RPS) to revolutions per minute (RPM). + * + * @param RPM The value in revolutions per second (RPS) to be converted. + * @return The equivalent value in revolutions per minute (RPM). + */ + public static double RPSToRPM(double RPS) { + return RPS * 60; + } +} \ No newline at end of file diff --git a/src/main/java/frc/robot/Main.java b/src/main/java/frc/robot/Main.java new file mode 100644 index 0000000..8776e5d --- /dev/null +++ b/src/main/java/frc/robot/Main.java @@ -0,0 +1,25 @@ +// Copyright (c) FIRST and other WPILib contributors. +// Open Source Software; you can modify and/or share it under the terms of +// the WPILib BSD license file in the root directory of this project. + +package frc.robot; + +import edu.wpi.first.wpilibj.RobotBase; + +/** + * Do NOT add any static variables to this class, or any initialization at all. Unless you know what + * you are doing, do not modify this file except to change the parameter class to the startRobot + * call. + */ +public final class Main { + private Main() {} + + /** + * Main initialization function. Do not perform any initialization here. + * + *

If you change your main robot class, change the parameter type. + */ + public static void main(String... args) { + RobotBase.startRobot(Robot::new); + } +} diff --git a/src/main/java/frc/robot/OI.java b/src/main/java/frc/robot/OI.java new file mode 100644 index 0000000..b1f849f --- /dev/null +++ b/src/main/java/frc/robot/OI.java @@ -0,0 +1,258 @@ +// Copyrights (c) 2018-2019 FIRST, 2020 Highlanders FRC. All Rights Reserved. + +package frc.robot; + +import java.util.function.BooleanSupplier; + +import edu.wpi.first.wpilibj.DriverStation; +import edu.wpi.first.wpilibj.Joystick; +import edu.wpi.first.wpilibj.XboxController; +import edu.wpi.first.wpilibj2.command.button.JoystickButton; +import frc.robot.tools.TriggerButton; + +public class OI { + public static XboxController driverController = new XboxController(0); + public static XboxController operatorController = new XboxController(1); + + public static BooleanSupplier driveRTSupplier = () -> getDriverRTPercent() > Constants.OperatorConstants.RIGHT_TRIGGER_DEADZONE; + public static BooleanSupplier driverLTSupplier = () -> getDriverLTPercent() > Constants.OperatorConstants.LEFT_TRIGGER_DEADZONE; + + public static BooleanSupplier povUp = () -> getPOV() == 0; + public static BooleanSupplier povRight = () -> getPOV() == 90; + public static BooleanSupplier povDown = () -> getPOV() == 180; + public static BooleanSupplier povLeft = () -> getPOV() == 270; + + public static TriggerButton driverPOVUp = new TriggerButton(povUp); + public static TriggerButton driverPOVRight = new TriggerButton(povRight); + public static TriggerButton driverPOVDown = new TriggerButton(povDown); + public static TriggerButton driverPOVLeft = new TriggerButton(povLeft); + + public static BooleanSupplier operatorPovUp = () -> getOperatorPOV() == 0; + public static BooleanSupplier operatorPovRight = () -> getOperatorPOV() == 90; + public static BooleanSupplier operatorPovDown = () -> getOperatorPOV() == 180; + public static BooleanSupplier operatorPovLeft = () -> getOperatorPOV() == 270; + + public static TriggerButton operatorPOVUp = new TriggerButton(operatorPovUp); + public static TriggerButton operatorPOVRight = new TriggerButton(operatorPovRight); + public static TriggerButton operatorPOVDown = new TriggerButton(operatorPovDown); + public static TriggerButton operatorPOVLeft = new TriggerButton(operatorPovLeft); + + public static TriggerButton driverRT = new TriggerButton(driveRTSupplier); + public static TriggerButton driverLT = new TriggerButton(driverLTSupplier); + + public static JoystickButton driverA = new JoystickButton(driverController, 1); + public static JoystickButton driverB = new JoystickButton(driverController, 2); + + public static JoystickButton driverY = new JoystickButton(driverController, 4); + public static JoystickButton driverX = new JoystickButton(driverController, 3); + + public static JoystickButton driverRB = new JoystickButton(driverController, 6); + public static JoystickButton driverLB = new JoystickButton(driverController, 5); + + public static JoystickButton driverLJ = new JoystickButton(driverController, 9); + public static JoystickButton driverRJ = new JoystickButton(driverController, 10); + + public static JoystickButton operatorX = new JoystickButton(operatorController, 3); + public static JoystickButton operatorB = new JoystickButton(operatorController, 2); + + public static JoystickButton operatorY = new JoystickButton(operatorController, 4); + public static JoystickButton operatorA = new JoystickButton(operatorController, 1); + + public static BooleanSupplier operatorRTSupplier = () -> getOperatorRTPercent() > Constants.OperatorConstants.RIGHT_TRIGGER_DEADZONE; + public static BooleanSupplier operatorLTSupplier = () -> getOperatorLTPercent() > Constants.OperatorConstants.LEFT_TRIGGER_DEADZONE; + + public static TriggerButton operatorRT = new TriggerButton(operatorRTSupplier); + public static TriggerButton operatorLT = new TriggerButton(operatorLTSupplier); + + public static JoystickButton operatorRB = new JoystickButton(operatorController, 6); + public static JoystickButton operatorLB = new JoystickButton(operatorController, 5); + + public static JoystickButton operatorLJ = new JoystickButton(operatorController, 9); + public static JoystickButton operatorRJ = new JoystickButton(operatorController, 10); + + public static JoystickButton driverViewButton = new JoystickButton(driverController, 7); + + public static JoystickButton operatorViewButton = new JoystickButton(operatorController, 7); + public static JoystickButton driverMenuButton = new JoystickButton(driverController, 8); + + public static JoystickButton operatorMenuButton = new JoystickButton(operatorController, 8); + + public static Joystick autoChooser = new Joystick(2); + + public static JoystickButton autoChooserIsBlue = new JoystickButton(autoChooser, 8); + + public static void printAutoChooserInputs() { + System.out.println("Driver Controller Connected: " + driverController.isConnected()); + System.out.println("Operator Controller Connected: " + operatorController.isConnected()); + System.out.println("Auto Chooser Connected: " + autoChooser.isConnected()); + System.out.println("Auto Chooser Num Buttons: " + autoChooser.getButtonCount()); + System.out.println("Is Blue: " + autoChooserIsBlue.getAsBoolean()); + for (int i = 1; i <= 16; i++) { + System.out.println("Auto Chooser Button " + i + " : " + autoChooser.getRawButton(i)); + } + } + + public static double getDriverLeftX() { + double leftX = -driverController.getLeftX(), leftY = driverController.getLeftY(); + if (Math.hypot(leftX, leftY) < Constants.OperatorConstants.LEFT_STICK_DEADZONE) { + leftX = 0; + } + return leftX; + } + + public static double getDriverLeftY() { + double leftX = -driverController.getLeftX(), leftY = driverController.getLeftY(); + if (Math.hypot(leftX, leftY) < Constants.OperatorConstants.LEFT_STICK_DEADZONE) { + leftY = 0; + } + return leftY; + } + + public static double getDriverRightX() { + double rightX = driverController.getRightX(), rightY = driverController.getRightY(); + if (Math.hypot(rightX, rightY) < Constants.OperatorConstants.LEFT_STICK_DEADZONE) { + rightX = 0; + } + return rightX; + } + + public static double getDriverRightY() { + double rightX = driverController.getRightX(), rightY = driverController.getRightY(); + if (Math.hypot(rightX, rightY) < Constants.OperatorConstants.LEFT_STICK_DEADZONE) { + rightY = 0; + } + return rightY; + } + + public static double getOperatorLeftX() { + double leftX = -operatorController.getLeftX(), leftY = operatorController.getLeftY(); + if (Math.hypot(leftX, leftY) < Constants.OperatorConstants.LEFT_STICK_DEADZONE) { + leftX = 0; + } + return leftX; + } + + public static double getOperatorLeftY() { + double leftX = -operatorController.getLeftX(), leftY = operatorController.getLeftY(); + if (Math.hypot(leftX, leftY) < Constants.OperatorConstants.LEFT_STICK_DEADZONE) { + leftY = 0; + } + return leftY; + } + + public static double getOperatorRightX() { + double rightX = operatorController.getRightX(), rightY = operatorController.getRightY(); + if (Math.hypot(rightX, rightY) < Constants.OperatorConstants.LEFT_STICK_DEADZONE) { + rightX = 0; + } + return rightX; + } + + public static double getOperatorRightY() { + double rightX = operatorController.getRightX(), rightY = operatorController.getRightY(); + if (Math.hypot(rightX, rightY) < Constants.OperatorConstants.LEFT_STICK_DEADZONE) { + rightY = 0; + } + return rightY; + } + + public static double getDriverRTPercent() { + return driverController.getRightTriggerAxis(); + } + + public static double getDriverLTPercent() { + return driverController.getLeftTriggerAxis(); + } + + public static boolean getDriverA() { + return driverController.getAButton(); + } + + public static boolean getDriverRB() { + return driverController.getRightBumper(); + } + + public static boolean getDriverLB() { + return driverController.getLeftBumper(); + } + + public static double getOperatorRTPercent() { + return operatorController.getRightTriggerAxis(); + } + + public static double getOperatorLTPercent() { + return operatorController.getLeftTriggerAxis(); + } + + public static boolean getOperatorLB() { + return operatorController.getLeftBumper(); + } + + public static int getPOV() { + return driverController.getPOV(); + } + + public static int getOperatorPOV() { + return operatorController.getPOV(); + } + + public static boolean getPOVUp() { + if (getPOV() == 0) { + return true; + } else { + return false; + } + } + + public static boolean isRedSide() { + if (autoChooserConnected()) { + return !autoChooser.getRawButton(8); + } else { + return DriverStation.getAlliance().get() == DriverStation.Alliance.Red; + } + } + + public static boolean isProcessorSide() { + return autoChooser.getRawButton(6); + } + + public static boolean isRecalculateMode() { + return autoChooser.getRawButton(7); + } + + public static boolean autoChooserConnected() { + return autoChooser.isConnected(); + } + + public static boolean isBlueSide() { + if (autoChooserConnected()) { + return autoChooser.getRawButton(8); + } else { + return DriverStation.getAlliance().get() == DriverStation.Alliance.Blue; + } + } + + public static boolean is4PieceFarBottom231Auto() { + return autoChooser.getRawButton(2); + } + + public static boolean is5PieceAuto() { + return autoChooser.getRawButton(1); + } + + public static boolean is3PieceFarBottomAuto() { + return autoChooser.getRawButton(3); + } + + public static boolean is1PieceAuto() { + return autoChooser.getRawButton(5); + } + + public static boolean is4PieceAmpSideAuto() { + return autoChooser.getRawButton(4); + } + + public static boolean getDriverRightJoystickPressed() { + return driverController.getRightStickButton(); + } +} \ No newline at end of file diff --git a/src/main/java/frc/robot/Robot.java b/src/main/java/frc/robot/Robot.java new file mode 100644 index 0000000..a5d360f --- /dev/null +++ b/src/main/java/frc/robot/Robot.java @@ -0,0 +1,152 @@ +package frc.robot; + +import java.util.HashMap; + +import org.littletonrobotics.junction.LogFileUtil; +import org.littletonrobotics.junction.LoggedRobot; +import org.littletonrobotics.junction.Logger; +import org.littletonrobotics.junction.networktables.NT4Publisher; +import org.littletonrobotics.junction.wpilog.WPILOGWriter; + +import edu.wpi.first.wpilibj.Filesystem; +import edu.wpi.first.wpilibj2.command.Command; +import edu.wpi.first.wpilibj2.command.CommandScheduler; +import frc.robot.commands.DriveTrainOverride; +import frc.robot.commands.PolarAutoFollower; +import frc.robot.commands.Test; +import frc.robot.subsystems.Drive; +import frc.robot.subsystems.Peripherals; +import frc.robot.subsystems.Superstructure; +import frc.robot.subsystems.Superstructure.SuperState; +import frc.robot.tools.PathLoader; +import java.io.File; +import java.io.FileReader; +import java.util.function.BooleanSupplier; +import java.util.function.Supplier; + +import org.json.JSONObject; +import org.json.JSONTokener; + +public class Robot extends LoggedRobot { + private final RobotContainer m_robotContainer; + private final Drive drive; + private final Peripherals peripherals; + private final Superstructure superstructure; + private double setAngle = 0; + private Command m_autonomousCommand; + PathLoader path = new PathLoader(); + JSONObject autoPath; + PolarAutoFollower autoCommand; + + HashMap> commandMap = new HashMap>() { + { + put("Command1", () -> new Test("command1")); + put("Command2", () -> new Test("command2")); + put("Command3", () -> new Test("command3")); + put("Command4", () -> new Test("command4")); + put("Print", () -> new Test("Print")); + put("DriveOverride", () -> new DriveTrainOverride()); + } + }; + + public Robot() { + + Logger.recordMetadata("ChassisBot", "Chassis"); + + if (isReal()) { + Logger.addDataReceiver(new NT4Publisher()); + } else { + setUseTiming(false); + String logPath = LogFileUtil.findReplayLog(); + Logger.addDataReceiver(new WPILOGWriter(LogFileUtil.addPathSuffix(logPath, "_sim"))); // Save outputs to a + // new log + } + + Logger.start(); + m_robotContainer = new RobotContainer(); + drive = m_robotContainer.drive; + peripherals = m_robotContainer.peripherals; + superstructure = m_robotContainer.superstructure; + } + + @Override + public void robotPeriodic() { + CommandScheduler.getInstance().run(); + } + + @Override + public void robotInit() { + + } + + @Override + public void disabledInit() { + } + + @Override + public void disabledPeriodic() { + } + + @Override + public void autonomousInit() { + String pathName = "Paths/Commands.polarauto"; + try { + File file = new File(Filesystem.getDeployDirectory(), pathName); + if (!file.exists()) { + System.out.println("File not found: " + file.getAbsolutePath()); + return; + } + + JSONObject json = new JSONObject(new JSONTokener(new FileReader(file))); + System.out.println(json); + autoCommand = new PolarAutoFollower(json, commandMap, null); + } catch (Exception e) { + System.out.println("ERROR LOADING PATH " + pathName + ": " + e.getMessage()); + e.printStackTrace(); + } + CommandScheduler.getInstance().schedule(autoCommand); + // try { + // List pathPoints = + // PathLoader.loadPath("square.polarpath"); + // new PurePursuitAutoFollower(pathPoints, drive).schedule(); + // } catch (IOException e) { + // e.printStackTrace(); + // } + + } + + @Override + public void autonomousPeriodic() { + } + + @Override + public void teleopInit() { + if (m_autonomousCommand != null) { + m_autonomousCommand.cancel(); + } + superstructure.setWantedState(SuperState.DEFAULT); + + } + + @Override + public void teleopPeriodic() { + + } + + @Override + public void testInit() { + CommandScheduler.getInstance().cancelAll(); + } + + @Override + public void testPeriodic() { + } + + @Override + public void simulationInit() { + } + + @Override + public void simulationPeriodic() { + } +} \ No newline at end of file diff --git a/src/main/java/frc/robot/RobotContainer.java b/src/main/java/frc/robot/RobotContainer.java new file mode 100644 index 0000000..4401790 --- /dev/null +++ b/src/main/java/frc/robot/RobotContainer.java @@ -0,0 +1,45 @@ +package frc.robot; + +import frc.robot.commands.PolarAutoFollower; +import frc.robot.commands.Test; +import frc.robot.commands.ZeroPigeon; +import frc.robot.subsystems.Drive; +import frc.robot.subsystems.Peripherals; +import frc.robot.subsystems.Superstructure; + +import java.io.File; +import java.io.FileReader; +import java.util.HashMap; +import java.util.function.Supplier; +import java.util.stream.Stream; + +import org.json.JSONArray; +import org.json.JSONObject; +import org.json.JSONTokener; + +import edu.wpi.first.wpilibj.Filesystem; +import edu.wpi.first.wpilibj2.command.Command; +import edu.wpi.first.wpilibj2.command.button.CommandXboxController; +import edu.wpi.first.wpilibj2.command.button.Trigger; + +public class RobotContainer { + public final Drive drive = new Drive(); + public final Peripherals peripherals = new Peripherals(); + public final Superstructure superstructure = new Superstructure(drive, peripherals); + private Command autonomousCommand; + + public RobotContainer() { + configureBindings(); + + } + + Command auto; + + private void configureBindings() { + OI.driverA.whileTrue(new ZeroPigeon(peripherals)); + } + + public Command getAutonomousCommand() { + return this.auto; + } +} \ No newline at end of file diff --git a/src/main/java/frc/robot/commands/DoNothingFollower.java b/src/main/java/frc/robot/commands/DoNothingFollower.java new file mode 100644 index 0000000..b57473f --- /dev/null +++ b/src/main/java/frc/robot/commands/DoNothingFollower.java @@ -0,0 +1,61 @@ +package frc.robot.commands; + +import org.json.JSONArray; +import org.json.JSONObject; + +import frc.robot.tools.wrappers.AutoFollower; +import edu.wpi.first.wpilibj.Timer; + +public class DoNothingFollower extends AutoFollower { + double start = 0; + double currentTime = 0; + int index = 0; + JSONArray path; + boolean isFinished = false; + + public DoNothingFollower(JSONArray path) { + this.path = path; + } + + @Override + public int getPathPointIndex() { + // Clamp index to valid range + int maxIndex = path.length() - 1; + long computedIndex = Math.round(currentTime / 0.01); + int safeIndex = (int) Math.max(0, Math.min(computedIndex, maxIndex)); + this.index = safeIndex; + return safeIndex; + } + + @Override + public void initialize() { + isFinished = false; + index = 0; + start = Timer.getFPGATimestamp(); + currentTime = 0; + } + + @Override + public void execute() { + currentTime = Timer.getFPGATimestamp() - start; + int idx = getPathPointIndex(); + if (idx >= path.length() - 1) { + isFinished = true; + } + System.out.println(idx); + } + + @Override + public void end(boolean interrupted) { + } + + @Override + public void from(int pointIndex, JSONObject pathJSON, int toIndex) { + // No action for DoNothingFollower + } + + @Override + public boolean isFinished() { + return isFinished; + } +} \ No newline at end of file diff --git a/src/main/java/frc/robot/commands/DriveToPoint.java b/src/main/java/frc/robot/commands/DriveToPoint.java new file mode 100644 index 0000000..78c02b7 --- /dev/null +++ b/src/main/java/frc/robot/commands/DriveToPoint.java @@ -0,0 +1,71 @@ +package frc.robot.commands; + +import edu.wpi.first.wpilibj2.command.Command; +import frc.robot.Constants; +import frc.robot.subsystems.Drive; +import frc.robot.tools.math.Vector; +import frc.robot.tools.math.PID; + +public class DriveToPoint extends Command { + private final Drive driveSubsystem; + + private final PID xPID = new PID(4, 0.0, 2.1); + private final PID yPID = new PID(4, 0.0, 2.1); + private final PID yawPID = new PID(2, 0.0, 2.9); + + public DriveToPoint(Drive drive) { + System.out.println("started"); + driveSubsystem = drive; + + yawPID.setMinInput(-180); + yawPID.setMaxInput(180); + yawPID.setContinuous(true); + + xPID.setMinOutput(-3.0); + xPID.setMaxOutput(3.0); + + yPID.setMinOutput(-3.0); + yPID.setMaxOutput(3.0); + + yawPID.setMinInput(-0.5); + yawPID.setMaxOutput(0.5); + + addRequirements(driveSubsystem); + } + + @Override + public void initialize() { + + } + + @Override + public void execute() { + xPID.setSetPoint(Constants.x); + yPID.setSetPoint(Constants.y); + yawPID.setSetPoint(Constants.angle); + + double currentX = driveSubsystem.getX(); + double currentY = driveSubsystem.getY(); + double currentTheta = driveSubsystem.getAngle(); + + double xOut = -xPID.updatePID(currentX) / 2; + double yOut = yPID.updatePID(currentY) / 2; + double turnOut = -yawPID.updatePID(currentTheta) / 8; + + Vector relativeVector = new Vector(xOut, yOut); + driveSubsystem.autoDrive(relativeVector, turnOut); + } + + @Override + public void end(boolean interrupted) { + driveSubsystem.stop(); + } + + @Override + public boolean isFinished() { + boolean posClose = Math.abs(xPID.getError()) < 0.03 && + Math.abs(yPID.getError()) < 0.03; + boolean angleClose = Math.abs(yawPID.getError()) < 1.0; + return posClose && angleClose && Constants.lastPoint; + } +} diff --git a/src/main/java/frc/robot/commands/DriveTrainOverride.java b/src/main/java/frc/robot/commands/DriveTrainOverride.java new file mode 100644 index 0000000..c56d801 --- /dev/null +++ b/src/main/java/frc/robot/commands/DriveTrainOverride.java @@ -0,0 +1,52 @@ +// Copyright (c) FIRST and other WPILib contributors. +// Open Source Software; you can modify and/or share it under the terms of +// the WPILib BSD license file in the root directory of this project. + +package frc.robot.commands; + +import org.json.JSONObject; + +import edu.wpi.first.wpilibj2.command.Command; +import frc.robot.tools.wrappers.AutoFollower; + +/* You should consider using the more terse Command factories API instead https://docs.wpilib.org/en/stable/docs/software/commandbased/organizing-command-based.html#defining-commands */ +public class DriveTrainOverride extends AutoFollower { + /** Creates a new DriveTrainOverride. */ + public DriveTrainOverride() { + // Use addRequirements() here to declare subsystem dependencies. + } + + // Called when the command is initially scheduled. + @Override + public void initialize() { + System.out.println("DriveTrain"); + } + + // Called every time the scheduler runs while the command is scheduled. + @Override + public void execute() { + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return false; + } + + @Override + public int getPathPointIndex() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'getPathPointIndex'"); + } + + @Override + public void from(int pointIndex, JSONObject pathJSON, int toIndex) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'from'"); + } +} diff --git a/src/main/java/frc/robot/commands/FollowPath.java b/src/main/java/frc/robot/commands/FollowPath.java new file mode 100644 index 0000000..f8d32b7 --- /dev/null +++ b/src/main/java/frc/robot/commands/FollowPath.java @@ -0,0 +1,65 @@ +package frc.robot.commands; + +import edu.wpi.first.wpilibj.Timer; +import edu.wpi.first.wpilibj2.command.Command; +import frc.robot.Constants; +import frc.robot.subsystems.Drive; +import frc.robot.tools.PathLoader; + +import java.io.Console; +import java.util.List; + +import org.littletonrobotics.junction.Logger; + +public class FollowPath extends Command { + private final Drive drive; + private final List points; + private final Timer timer = new Timer(); + private int currentIndex = 0; + + public FollowPath(List inputPoints, Drive driveSubsystem) { + this.points = inputPoints; + this.drive = driveSubsystem; + } + + @Override + public void initialize() { + currentIndex = 0; + timer.reset(); + timer.start(); + } + + @Override + public void execute() { + double now = timer.get() - 0.25; + + while (currentIndex < points.size() && now >= points.get(currentIndex).time) { + + PathLoader.PosePoint point = points.get(currentIndex); + + Logger.recordOutput("Points X", point.x); + Logger.recordOutput("Points Y", point.y); + Logger.recordOutput("Points Theta", point.theta); + + Constants.x = point.x; + Constants.y = point.y; + Constants.angle = point.theta; + + currentIndex++; + } + } + + @Override + public void end(boolean interrupted) { + timer.stop(); + } + + @Override + public boolean isFinished() { + boolean allPoints = currentIndex >= points.size(); + if (allPoints) { + Constants.lastPoint = true; + } + return allPoints; + } +} diff --git a/src/main/java/frc/robot/commands/NoRequirements.java b/src/main/java/frc/robot/commands/NoRequirements.java new file mode 100644 index 0000000..11c6cff --- /dev/null +++ b/src/main/java/frc/robot/commands/NoRequirements.java @@ -0,0 +1,40 @@ +// Copyright (c) FIRST and other WPILib contributors. +// Open Source Software; you can modify and/or share it under the terms of +// the WPILib BSD license file in the root directory of this project. + +package frc.robot.commands; + +import edu.wpi.first.wpilibj2.command.Command; + +public class NoRequirements extends Command { + /** Creates a new NoRequirements. */ + Command command; + + public NoRequirements(Command command) { + this.command = command; + // Use addRequirements() here to declare subsystem dependencies. + } + + // Called when the command is initially scheduled. + @Override + public void initialize() { + command.schedule(); + } + + // Called every time the scheduler runs while the command is scheduled. + @Override + public void execute() { + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + command.cancel(); + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return command.isFinished() || !command.isScheduled(); + } +} \ No newline at end of file diff --git a/src/main/java/frc/robot/commands/PolarAutoFollower.java b/src/main/java/frc/robot/commands/PolarAutoFollower.java new file mode 100644 index 0000000..a7ba32c --- /dev/null +++ b/src/main/java/frc/robot/commands/PolarAutoFollower.java @@ -0,0 +1,67 @@ +package frc.robot.commands; + +import java.util.HashMap; +import java.util.function.BooleanSupplier; +import java.util.function.Supplier; + +import org.json.JSONArray; +import org.json.JSONObject; + +import edu.wpi.first.wpilibj2.command.Command; +import edu.wpi.first.wpilibj2.command.ConditionalCommand; +import edu.wpi.first.wpilibj2.command.SequentialCommandGroup; + +public class PolarAutoFollower extends SequentialCommandGroup { + public PolarAutoFollower(JSONObject auto, + HashMap> commandMap, + HashMap conditionMap) { + + System.out.println("PolarAutoFollower: constructor entered"); + + JSONArray schedule = auto.optJSONArray("schedule"); + JSONArray paths = auto.optJSONArray("paths"); + + if (schedule == null || paths == null) { + throw new IllegalArgumentException("PolarAutoFollower: invalid auto JSON (missing schedule or paths)"); + } + + for (int i = 0; i < schedule.length(); i++) { + System.out.println("PolarAutoFollower: loop " + i); + + JSONObject step = schedule.getJSONObject(i); + boolean branched = step.optBoolean("branched", false); + + if (!branched) { + int pathIdx = step.getInt("path"); + if (pathIdx < 0 || pathIdx >= paths.length()) { + throw new IndexOutOfBoundsException("PolarAutoFollower: invalid path index " + pathIdx); + } + addCommands(new PolarPathFollower(paths.getJSONObject(pathIdx), commandMap, conditionMap)); + } else { + String condName = step.optString("condition", null); + BooleanSupplier condition = (conditionMap != null && condName != null) ? conditionMap.get(condName) + : () -> false; + + JSONArray onTrue = step.optJSONArray("on_true"); + JSONArray onFalse = step.optJSONArray("on_false"); + if (onTrue == null || onFalse == null) { + throw new IllegalArgumentException( + "PolarAutoFollower: branched step missing on_true/on_false arrays"); + } + + JSONObject onTrueObj = new JSONObject(); + JSONObject onFalseObj = new JSONObject(); + onTrueObj.put("paths", paths); + onTrueObj.put("schedule", onTrue); + onFalseObj.put("paths", paths); + onFalseObj.put("schedule", onFalse); + + PolarAutoFollower tf = new PolarAutoFollower(onTrueObj, commandMap, conditionMap); + PolarAutoFollower ff = new PolarAutoFollower(onFalseObj, commandMap, conditionMap); + + addCommands(new ConditionalCommand(tf, ff, condition)); + } + } + + } +} diff --git a/src/main/java/frc/robot/commands/PolarPathFollower.java b/src/main/java/frc/robot/commands/PolarPathFollower.java new file mode 100644 index 0000000..49ae793 --- /dev/null +++ b/src/main/java/frc/robot/commands/PolarPathFollower.java @@ -0,0 +1,216 @@ +package frc.robot.commands; + +import java.util.HashMap; +import java.util.function.BooleanSupplier; +import java.util.function.Supplier; +import java.util.ArrayList; + +import org.json.JSONArray; +import org.json.JSONObject; +import org.littletonrobotics.junction.Logger; + +import edu.wpi.first.wpilibj.Timer; +import edu.wpi.first.wpilibj2.command.Command; +import edu.wpi.first.wpilibj2.command.CommandScheduler; +import edu.wpi.first.wpilibj2.command.ConditionalCommand; +import edu.wpi.first.wpilibj2.command.ParallelCommandGroup; +import edu.wpi.first.wpilibj2.command.ParallelDeadlineGroup; +import edu.wpi.first.wpilibj2.command.ParallelRaceGroup; +import edu.wpi.first.wpilibj2.command.SequentialCommandGroup; +import edu.wpi.first.wpilibj2.command.StartEndCommand; +import edu.wpi.first.wpilibj2.command.WaitUntilCommand; +import frc.robot.tools.wrappers.AutoFollower; + +public class PolarPathFollower extends ParallelCommandGroup { + private final JSONObject path; + private final AutoFollower autoFollower; + private volatile Double pathStartWallTimestamp = null; + private volatile Double pathFinishWallTimestamp = null; + private volatile double finalPathTime = -1.0; + + public PolarPathFollower(JSONObject path, + HashMap> commandMap, + HashMap conditionMap) { + this.path = path; + this.autoFollower = new DoNothingFollower(path.optJSONArray("sampled_points")); + this.finalPathTime = computeFinalPathTime(); + + StartEndCommand pathTimerCommand = new StartEndCommand( + () -> { + pathStartWallTimestamp = Timer.getFPGATimestamp(); + pathFinishWallTimestamp = null; + Logger.recordOutput("Path Time Start", pathStartWallTimestamp); + }, + () -> { + pathFinishWallTimestamp = Timer.getFPGATimestamp(); + finalPathTime = Math.max(finalPathTime, computeFinalPathTime()); + pathStartWallTimestamp = null; + Logger.recordOutput("Path Time Finish", pathFinishWallTimestamp); + }); + + ArrayList pdgChildren = new ArrayList<>(); + pdgChildren.add(autoFollower); + pdgChildren.add(pathTimerCommand); + + if (path.has("commands")) { + JSONArray cmds = path.getJSONArray("commands"); + for (int i = 0; i < cmds.length(); i++) { + JSONObject cmdJson = cmds.getJSONObject(i); + Command parsed = runCommand(cmdJson, commandMap, conditionMap); + if (parsed != null) + pdgChildren.add(parsed); + + } + } + + ParallelDeadlineGroup pdg = new ParallelDeadlineGroup( + new WaitUntilCommand(() -> autoFollower.isFinished()), + pdgChildren.toArray(new Command[0])); + + addCommands(pdg); + } + + private Command runCommand(JSONObject command, + HashMap> commandMap, + HashMap conditionMap) { + double start = command.optDouble("start", 0.0); + double end = command.optDouble("end", Double.MAX_VALUE); + + BooleanSupplier Start = () -> GetTime() >= start; + BooleanSupplier End = () -> GetTime() >= end; + + if (command.has("command")) { + JSONObject cobj = command.getJSONObject("command"); + String name = cobj.getString("name"); + Supplier sup = commandMap.get(name); + if (sup == null) { + return null; + } + StartEndCommand deferred = new StartEndCommand( + () -> CommandScheduler.getInstance().schedule(sup.get()), + () -> { + }); + return new TriggerCommand(Start, deferred, End); + } else if (command.has("branched_command")) { + JSONObject branched = command.getJSONObject("branched_command"); + String condName = branched.optString("condition", null); + BooleanSupplier condition = (conditionMap != null && condName != null) + ? conditionMap.get(condName) + : () -> false; + if (condName != null && (condition == null)) { + + condition = () -> false; + } + JSONObject onTrue = branched.getJSONObject("on_true"); + JSONObject onFalse = branched.getJSONObject("on_false"); + Command trueCmd = runCommand(onTrue, commandMap, conditionMap); + Command falseCmd = runCommand(onFalse, commandMap, conditionMap); + return new TriggerCommand(Start, new ConditionalCommand(trueCmd, falseCmd, condition), End); + } else if (command.has("parallel_command_group")) { + JSONArray arr = command.getJSONObject("parallel_command_group").getJSONArray("commands"); + ArrayList subs = new ArrayList<>(); + for (int i = 0; i < arr.length(); i++) { + Command sub = runCommand(arr.getJSONObject(i), commandMap, conditionMap); + if (sub != null) + subs.add(sub); + } + return new TriggerCommand(Start, new ParallelCommandGroup(subs.toArray(new Command[0])), End); + } else if (command.has("sequential_command_group")) { + JSONArray arr = command.getJSONObject("sequential_command_group").getJSONArray("commands"); + ArrayList subs = new ArrayList<>(); + for (int i = 0; i < arr.length(); i++) { + Command sub = runCommand(arr.getJSONObject(i), commandMap, conditionMap); + if (sub != null) + subs.add(sub); + } + return new TriggerCommand(Start, new SequentialCommandGroup(subs.toArray(new Command[0])), End); + } else if (command.has("parallel_deadline_group")) { + JSONObject pdg = command.getJSONObject("parallel_deadline_group"); + Command deadline = runCommand(pdg.getJSONArray("deadline_command").getJSONObject(0), commandMap, + conditionMap); + JSONArray arr = pdg.getJSONArray("commands"); + ArrayList subs = new ArrayList<>(); + for (int i = 0; i < arr.length(); i++) { + Command sub = runCommand(arr.getJSONObject(i), commandMap, conditionMap); + if (sub != null) + subs.add(sub); + } + return new TriggerCommand(Start, + new ParallelDeadlineGroup(deadline, subs.toArray(new Command[0])), End); + } else if (command.has("parallel_race_group")) { + JSONArray arr = command.getJSONObject("parallel_race_group").getJSONArray("commands"); + ArrayList subs = new ArrayList<>(); + for (int i = 0; i < arr.length(); i++) { + Command sub = runCommand(arr.getJSONObject(i), commandMap, conditionMap); + if (sub != null) + subs.add(sub); + } + return new TriggerCommand(Start, new ParallelRaceGroup(subs.toArray(new Command[0])), End); + } + + throw new IllegalArgumentException("PolarPathFollower: Invalid command JSON: " + command.toString()); + } + + private double GetTime() { + double now = Timer.getFPGATimestamp(); + + if (pathStartWallTimestamp != null) { + double elapsed = now - pathStartWallTimestamp; + if (elapsed < 0.0) + elapsed = 0.0; + if (finalPathTime >= 0.0 && elapsed > finalPathTime) + elapsed = finalPathTime; + Logger.recordOutput("Path Time", elapsed); + return elapsed; + } + + if (pathFinishWallTimestamp != null) { + double after = now - pathFinishWallTimestamp; + if (after < 0.0) + after = 0.0; + double t = (finalPathTime >= 0.0) ? finalPathTime : 0.0; + double result = t + after; + Logger.recordOutput("Path Time", result); + return result; + } + + Logger.recordOutput("Path Time", 0.0); + return 0.0; + } + + private double computeFinalPathTime() { + double maxT = -1.0; + + if (path.has("sampled_points")) { + JSONArray sp = path.getJSONArray("sampled_points"); + if (sp.length() > 0) { + double t = sp.getJSONObject(sp.length() - 1).optDouble("time", -1.0); + if (t > maxT) + maxT = t; + } + } + + if (path.has("key_points")) { + JSONArray kp = path.getJSONArray("key_points"); + if (kp.length() > 0) { + double t = kp.getJSONObject(kp.length() - 1).optDouble("time", -1.0); + if (t > maxT) + maxT = t; + } + } + + if (path.has("time")) { + double t = path.optDouble("time", -1.0); + if (t > maxT) + maxT = t; + } + + return maxT; + } + + private double getMaxPathTime() { + if (finalPathTime < 0.0) + finalPathTime = computeFinalPathTime(); + return finalPathTime; + } +} diff --git a/src/main/java/frc/robot/commands/Test.java b/src/main/java/frc/robot/commands/Test.java new file mode 100644 index 0000000..f355dde --- /dev/null +++ b/src/main/java/frc/robot/commands/Test.java @@ -0,0 +1,37 @@ +// Copyright (c) FIRST and other WPILib contributors. +// Open Source Software; you can modify and/or share it under the terms of +// the WPILib BSD license file in the root directory of this project. + +package frc.robot.commands; + +import edu.wpi.first.wpilibj2.command.Command; + +/* You should consider using the more terse Command factories API instead https://docs.wpilib.org/en/stable/docs/software/commandbased/organizing-command-based.html#defining-commands */ +public class Test extends Command { + /** Creates a new Test. */ + public Test(String test) { + // Use addRequirements() here to declare subsystem dependencies. + System.out.println(test); + } + + // Called when the command is initially scheduled. + @Override + public void initialize() { + } + + // Called every time the scheduler runs while the command is scheduled. + @Override + public void execute() { + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return false; + } +} diff --git a/src/main/java/frc/robot/commands/TriggerCommand.java b/src/main/java/frc/robot/commands/TriggerCommand.java new file mode 100644 index 0000000..3c67999 --- /dev/null +++ b/src/main/java/frc/robot/commands/TriggerCommand.java @@ -0,0 +1,27 @@ +// Copyright (c) FIRST and other WPILib contributors. +// Open Source Software; you can modify and/or share it under the terms of +// the WPILib BSD license file in the root directory of this project. + +package frc.robot.commands; + +import java.util.function.BooleanSupplier; + +import edu.wpi.first.wpilibj2.command.Command; +import edu.wpi.first.wpilibj2.command.ParallelRaceGroup; +import edu.wpi.first.wpilibj2.command.SequentialCommandGroup; + +// NOTE: Consider using this command inline, rather than writing a subclass. For more +// information, see: +// https://docs.wpilib.org/en/stable/docs/software/commandbased/convenience-features.html +public class TriggerCommand extends SequentialCommandGroup { + /** Creates a new TriggerCommand. */ + public TriggerCommand(BooleanSupplier startCondition, Command command, BooleanSupplier endCondition) { + // Add your commands in the addCommands() call, e.g. + // addCommands(new FooCommand(), new BarCommand()); + addCommands( + new WaitForCondition(startCondition), + new ParallelRaceGroup( + new NoRequirements(command), + new WaitForCondition(endCondition))); + } +} \ No newline at end of file diff --git a/src/main/java/frc/robot/commands/WaitForCondition.java b/src/main/java/frc/robot/commands/WaitForCondition.java new file mode 100644 index 0000000..566a08f --- /dev/null +++ b/src/main/java/frc/robot/commands/WaitForCondition.java @@ -0,0 +1,35 @@ +// Copyright (c) FIRST and other WPILib contributors. +// Open Source Software; you can modify and/or share it under the terms of +// the WPILib BSD license file in the root directory of this project. + +package frc.robot.commands; + +import java.util.function.BooleanSupplier; + +import edu.wpi.first.wpilibj2.command.Command; + +public class WaitForCondition extends Command { + private final BooleanSupplier condition; + + public WaitForCondition(BooleanSupplier condition) { + this.condition = condition; + } + + @Override + public void initialize() { + } + + @Override + public void execute() { + } + + @Override + public void end(boolean interrupted) { + } + + @Override + public boolean isFinished() { + // Logger.recordOutput("started", condition.getAsBoolean()); + return condition.getAsBoolean(); + } +} \ No newline at end of file diff --git a/src/main/java/frc/robot/commands/ZeroPigeon.java b/src/main/java/frc/robot/commands/ZeroPigeon.java new file mode 100644 index 0000000..41e9094 --- /dev/null +++ b/src/main/java/frc/robot/commands/ZeroPigeon.java @@ -0,0 +1,41 @@ +// Copyright (c) FIRST and other WPILib contributors. +// Open Source Software; you can modify and/or share it under the terms of +// the WPILib BSD license file in the root directory of this project. + +package frc.robot.commands; + +import edu.wpi.first.wpilibj2.command.Command; +import frc.robot.subsystems.Peripherals; + +/* You should consider using the more terse Command factories API instead https://docs.wpilib.org/en/stable/docs/software/commandbased/organizing-command-based.html#defining-commands */ +public class ZeroPigeon extends Command { + /** Creates a new ZeroPigeon. */ + Peripherals peripheralSubsystem; + + public ZeroPigeon(Peripherals peripherals) { + peripheralSubsystem = peripherals; + // Use addRequirements() here to declare subsystem dependencies. + } + + // Called when the command is initially scheduled. + @Override + public void initialize() { + peripheralSubsystem.zeroPigeon(); + } + + // Called every time the scheduler runs while the command is scheduled. + @Override + public void execute() { + } + + // Called once the command ends or is interrupted. + @Override + public void end(boolean interrupted) { + } + + // Returns true when the command should end. + @Override + public boolean isFinished() { + return true; + } +} diff --git a/src/main/java/frc/robot/subsystems/Drive.java b/src/main/java/frc/robot/subsystems/Drive.java new file mode 100644 index 0000000..8b3a5be --- /dev/null +++ b/src/main/java/frc/robot/subsystems/Drive.java @@ -0,0 +1,355 @@ +package frc.robot.subsystems; + +import javax.lang.model.util.ElementScanner14; + +import org.littletonrobotics.junction.Logger; +import com.ctre.phoenix6.hardware.CANcoder; +import com.ctre.phoenix6.hardware.TalonFX; +import edu.wpi.first.math.geometry.Pose2d; +import edu.wpi.first.math.geometry.Rotation2d; +import edu.wpi.first.math.geometry.Translation2d; +import edu.wpi.first.math.kinematics.SwerveDriveKinematics; +import edu.wpi.first.math.kinematics.SwerveDriveOdometry; +import edu.wpi.first.math.kinematics.SwerveModulePosition; +import edu.wpi.first.units.measure.Angle; +import edu.wpi.first.wpilibj2.command.SubsystemBase; +import frc.robot.tools.math.Vector; +import frc.robot.Constants; +import frc.robot.OI; +import frc.robot.tools.SwerveModule; +import frc.robot.tools.math.PID; + +public class Drive extends SubsystemBase { + private final Peripherals peripherals = new Peripherals(); + public final TalonFX driveMotor1, driveMotor2, driveMotor3, driveMotor4; + public final TalonFX turnMotor1, turnMotor2, turnMotor3, turnMotor4; + Superstructure superstructure; + public final CANcoder encoder1, encoder2, encoder3, encoder4; + private final SwerveModule swerve1, swerve2, swerve3, swerve4; + private final SwerveDriveOdometry odometry; + public static Pose2d m_pose = new Pose2d(); + private final double offset = 0.6096 / 2; + public boolean atPosition = false; + + public boolean startedPathToPoint = false; + + private PID xPID = new PID(1.5, 0, 4.2); + private PID yPID = new PID(1.5, 0, 4.2); + private PID yawPID = new PID(0.004, 0, 0.011); + + double targetX = 0; + double targetY = 0; + double targetAngle = 0; + + public enum DriveState { + DEFAULT, + PATH_TO_POINT, + IDLE + } + + private DriveState wantedState = DriveState.IDLE; + private DriveState systemState = DriveState.IDLE; + + public Drive() { + driveMotor1 = new TalonFX(1, "Canivore"); + driveMotor2 = new TalonFX(4, "Canivore"); + driveMotor3 = new TalonFX(6, "Canivore"); + driveMotor4 = new TalonFX(8, "Canivore"); + + turnMotor1 = new TalonFX(2, "Canivore"); + turnMotor2 = new TalonFX(3, "Canivore"); + turnMotor3 = new TalonFX(5, "Canivore"); + turnMotor4 = new TalonFX(7, "Canivore"); + + encoder1 = new CANcoder(1, "Canivore"); + encoder2 = new CANcoder(2, "Canivore"); + encoder3 = new CANcoder(3, "Canivore"); + encoder4 = new CANcoder(4, "Canivore"); + + swerve1 = new SwerveModule(driveMotor1, turnMotor1, encoder1, 1); + swerve2 = new SwerveModule(driveMotor2, turnMotor2, encoder2, 2); + swerve3 = new SwerveModule(driveMotor3, turnMotor3, encoder3, 3); + swerve4 = new SwerveModule(driveMotor4, turnMotor4, encoder4, 4); + + var kinematics = new SwerveDriveKinematics( + new Translation2d(offset, offset), + new Translation2d(offset, -offset), + new Translation2d(-offset, offset), + new Translation2d(-offset, -offset)); + odometry = new SwerveDriveOdometry( + kinematics, + peripherals.getRotation2d(), + new SwerveModulePosition[] { + swerve2.getPosition(), + swerve1.getPosition(), + swerve3.getPosition(), + swerve4.getPosition() + }, + new Pose2d()); + + yawPID.setMinInput(-180); + yawPID.setMaxInput(180); + yawPID.setContinuous(true); + + xPID.setMinOutput(-3.0); + xPID.setMaxOutput(3.0); + + yPID.setMinOutput(-3.0); + yPID.setMaxOutput(3.0); + + yawPID.setMinOutput(-1); + yawPID.setMaxOutput(1); + + } + + public void setWantedState(DriveState wantedState) { + this.wantedState = wantedState; + } + + private DriveState handleStateTransition() { + switch (wantedState) { + case DEFAULT: + if (systemState == DriveState.PATH_TO_POINT) { + startedPathToPoint = false; + atPosition = false; + } + return DriveState.DEFAULT; + case IDLE: + return DriveState.IDLE; + case PATH_TO_POINT: + if (systemState == DriveState.DEFAULT) { + startedPathToPoint = false; + atPosition = false; + } + + if (systemState == DriveState.PATH_TO_POINT && startedPathToPoint) { + boolean posClose = Math.abs(xPID.getError()) < 0.03 + && Math.abs(yPID.getError()) < 0.03; + boolean angleClose = Math.abs(yawPID.getError()) < 1.0; + + if (posClose && angleClose) { + atPosition = true; + return DriveState.DEFAULT; + } + } + return DriveState.PATH_TO_POINT; + default: + return DriveState.IDLE; + } + } + + public double getX() { + return m_pose.getX(); + } + + public double getY() { + return m_pose.getY(); + } + + public double getAngle() { + return Math.toRadians(peripherals.getPigeonAngle()); + } + + public Rotation2d getRotation2D() { + return peripherals.getRotation2d(); + } + + public Pose2d getPose2D() { + Pose2d pose = new Pose2d(getX(), getY(), getRotation2D()); + return pose; + } + + public void stop() { + swerve1.stop(); + swerve2.stop(); + swerve3.stop(); + swerve4.stop(); + } + + public void drive(double leftx, double lefty, double rightx, double yaw) { + double leftX = lefty; + double leftY = -leftX; + double rightX = rightx; + + Vector driveVector = new Vector(leftX, leftY); + if (driveVector.magnitude() > 1.0) { + driveVector = driveVector.scaled(1.0 / driveVector.magnitude()); + } + } + + public void driveSwerve(Vector driveVector, double turn) { + swerve1.drive(driveVector, turn, Math.toDegrees(getAngle())); + swerve2.drive(driveVector, turn, Math.toDegrees(getAngle())); + swerve3.drive(driveVector, turn, Math.toDegrees(getAngle())); + swerve4.drive(driveVector, turn, Math.toDegrees(getAngle())); + } + + public void autoDrive(Vector fieldVector, double targetYawDegrees) { + double vx = fieldVector.getI(); + double vy = -fieldVector.getJ(); + + double headingRad = getAngle(); + double cosA = Math.cos(-headingRad); + double sinA = Math.sin(-headingRad); + + double rx = vx * cosA - vy * sinA; + double ry = vx * sinA + vy * cosA; + + Vector robotVector = new Vector(rx, ry); + + driveSwerve(robotVector, targetYawDegrees); + } + + public void teleopDrive() { + startedPathToPoint = false; + + double leftX = OI.getDriverLeftY(); + double leftY = -OI.getDriverLeftX(); + double rightX = Math.abs(OI.getDriverRightX()) < 0.03 ? 0 : OI.getDriverRightX() * 0.15; + + if (Math.abs(leftX) < 0.03) { + leftX = 0; + } + + if (Math.abs(leftY) < 0.03) { + leftY = 0; + } + + if (Math.abs(rightX) < 0.03) { + rightX = 0; + } + + double originalY = -(Math.copySign(leftY * leftY, leftY)); + double originalX = -(Math.copySign(leftX * leftX, leftX)); + + Vector driveVector = new Vector(originalX, originalY); + if (driveVector.magnitude() > 1.0) { + driveVector = driveVector.scaled(1.0 / driveVector.magnitude()); + } + + Vector fieldCentricVector; + if (driveVector.magnitude() > 0) { + double angleDeg = peripherals.getPigeonAngle(); + double angleRad = Math.toRadians(angleDeg); + double cosA = Math.cos(angleRad); + double sinA = Math.sin(angleRad); + + double fieldX = driveVector.getI() * cosA - driveVector.getJ() * sinA; + double fieldY = driveVector.getI() * sinA + driveVector.getJ() * cosA; + + fieldCentricVector = new Vector(fieldX, fieldY); + } else { + fieldCentricVector = new Vector(0, 0); + } + + driveSwerve(fieldCentricVector, -rightX); + } + + public void updateOdometry() { + m_pose = odometry.update( + peripherals.getRotation2d(), + new SwerveModulePosition[] { + swerve2.getPosition(), + swerve1.getPosition(), + swerve3.getPosition(), + swerve4.getPosition() + }); + Logger.recordOutput("Robot X", getX()); + Logger.recordOutput("Robot Y", getY()); + Logger.recordOutput("Robot Angle", getAngle()); + Logger.recordOutput("Robot Pose", getPose2D()); + + } + + public void goToPoint(double xOffset, double yOffset) { + wantedState = DriveState.PATH_TO_POINT; + } + + public boolean getAtPosition() { + return atPosition; + } + + public void moveToPoint(double targetX, double targetY, double targetAngle) { + xPID.setSetPoint(targetX); + yPID.setSetPoint(targetY); + yawPID.setSetPoint(targetAngle); + + startedPathToPoint = true; + + double xOut = xPID.updatePID(getX()) / 1.0; + double yOut = -yPID.updatePID(getY()) / 1.0; + double turnOut = -yawPID.updatePID(Math.toDegrees(getAngle())); + + Logger.recordOutput("xPID Error", xPID.getError()); + Logger.recordOutput("yPID Error", yPID.getError()); + Logger.recordOutput("Yaw Error", yawPID.getError()); + + boolean posClose = Math.abs(xPID.getError()) < 0.03 + && Math.abs(yPID.getError()) < 0.03; + boolean angleClose = Math.abs(yawPID.getError()) < 1.0; + + Logger.recordOutput("YawPID Input", Math.toDegrees(getAngle())); + Logger.recordOutput("Pos Close", posClose); + Logger.recordOutput("Angle Close", angleClose); + + if (posClose && angleClose) { + } else { + atPosition = false; + autoDrive(new Vector(xOut, yOut), turnOut); + } + } + + public void moveToPoint() { + xPID.setSetPoint(Constants.x); + yPID.setSetPoint(Constants.y); + yawPID.setSetPoint(Constants.angle); + + startedPathToPoint = true; + + double xOut = xPID.updatePID(getX()) / 1.0; + double yOut = -yPID.updatePID(getY()) / 1.0; + double turnOut = -yawPID.updatePID(Math.toDegrees(getAngle())); + + Logger.recordOutput("xPID Error", xPID.getError()); + Logger.recordOutput("yPID Error", yPID.getError()); + Logger.recordOutput("Yaw Error", yawPID.getError()); + + boolean posClose = Math.abs(xPID.getError()) < 0.03 + && Math.abs(yPID.getError()) < 0.03; + boolean angleClose = Math.abs(yawPID.getError()) < 1.0; + + Logger.recordOutput("YawPID Input", Math.toDegrees(getAngle())); + Logger.recordOutput("Pos Close", posClose); + Logger.recordOutput("Angle Close", angleClose); + + if (posClose && angleClose) { + } else { + atPosition = false; + autoDrive(new Vector(xOut, yOut), turnOut); + } + } + + @Override + public void periodic() { + updateOdometry(); + + DriveState newState = handleStateTransition(); + + if (newState != systemState) { + systemState = newState; + } + + switch (systemState) { + case DEFAULT: + teleopDrive(); + break; + case PATH_TO_POINT: + moveToPoint(0, 0, 90); + break; + case IDLE: + break; + default: + break; + } + } +} \ No newline at end of file diff --git a/src/main/java/frc/robot/subsystems/Peripherals.java b/src/main/java/frc/robot/subsystems/Peripherals.java new file mode 100644 index 0000000..9d0b3e8 --- /dev/null +++ b/src/main/java/frc/robot/subsystems/Peripherals.java @@ -0,0 +1,129 @@ +package frc.robot.subsystems; + +import java.util.ArrayList; +import java.util.List; + +import com.ctre.phoenix6.configs.Pigeon2Configuration; +import com.ctre.phoenix6.hardware.Pigeon2; + +import edu.wpi.first.apriltag.AprilTagFieldLayout; +import edu.wpi.first.math.geometry.Rotation2d; +import edu.wpi.first.math.geometry.Rotation3d; +import edu.wpi.first.math.geometry.Transform3d; +import edu.wpi.first.math.geometry.Translation3d; +import edu.wpi.first.wpilibj.Filesystem; +import frc.robot.Constants; +import frc.robot.tools.math.Vector; + +public class Peripherals { + private Pigeon2 pigeon = new Pigeon2(0, "Canivore"); + private Pigeon2Configuration pigeonConfig = new Pigeon2Configuration(); + + public Peripherals() { + } + + /** + * Initializes the Peripherals subsystem. + * + * This method sets up the IMU configuration, mount pose, and zeroes the IMU. + * It also applies the default command to the Peripherals subsystem. + */ + public void init() { + // Set the mount pose configuration for the IMU + pigeonConfig.MountPose.MountPosePitch = 0.3561480641365051; + pigeonConfig.MountPose.MountPoseRoll = -0.10366992652416229; + pigeonConfig.MountPose.MountPoseYaw = -0.24523599445819855; + + // Apply the IMU configuration + pigeon.getConfigurator().apply(pigeonConfig); + + // Zero the IMU angle + zeroPigeon(); + + setPigeonPitchOffset(getPigeonPitch()); + + } + + /** + * Sets the IMU angle to 0 + */ + public void zeroPigeon() { + setPigeonAngle(0.0); + } + + /** + * Sets the angle of the IMU + * + * @param degrees - Angle to be set to the IMU + */ + public void setPigeonAngle(double degrees) { + pigeon.setYaw(degrees); + } + + /** + * Retrieves the yaw of the robot + * + * @return Yaw in degrees + */ + public double getPigeonAngle() { + return -pigeon.getYaw().getValueAsDouble(); + } + + /** + * Retrieves the absolute angular velocity of the IMU's Z-axis in device + * coordinates. + * + * @return The absolute angular velocity of the IMU's Z-axis in device + * coordinates. + * The value is in degrees per second. + */ + public double getPigeonAngularVelocity() { + return Math.abs(pigeon.getAngularVelocityZDevice().getValueAsDouble()); + } + + /** + * Retrieves the absolute angular velocity of the IMU's Z-axis in world + * coordinates. + * + * @return The absolute angular velocity of the IMU's Z-axis in world + * coordinates. + * The value is in radians per second. + */ + public double getPigeonAngularVelocityW() { + return pigeon.getAngularVelocityZWorld().getValueAsDouble(); + } + + /** + * Retrieves the acceleration vector of the robot + * + * @return Current acceleration vector of the robot + */ + public Vector getPigeonLinAccel() { + Vector accelVector = new Vector(); + accelVector.setI(pigeon.getAccelerationX().getValueAsDouble() / Constants.Physical.GRAVITY_ACCEL_MS2); + accelVector.setJ(pigeon.getAccelerationY().getValueAsDouble() / Constants.Physical.GRAVITY_ACCEL_MS2); + return accelVector; + } + + public double getPigeonPitch() { + return pigeon.getPitch().getValueAsDouble(); + } + + public double getPigeonPitchAdjusted() { + return getPigeonPitch() - pigeonPitchOffset; + } + + double pigeonPitchOffset = 0.0; + + public void setPigeonPitchOffset(double newOffset) { + pigeonPitchOffset = newOffset; + } + + public Rotation2d getRotation2d() { + return pigeon.getRotation2d(); + } + + public void periodic() { + + } +} \ No newline at end of file diff --git a/src/main/java/frc/robot/subsystems/Superstructure.java b/src/main/java/frc/robot/subsystems/Superstructure.java new file mode 100644 index 0000000..14e3273 --- /dev/null +++ b/src/main/java/frc/robot/subsystems/Superstructure.java @@ -0,0 +1,107 @@ +// Copyright (c) FIRST and other WPILib contributors. +// Open Source Software; you can modify and/or share it under the terms of +// the WPILib BSD license file in the root directory of this project. + +package frc.robot.subsystems; + +import javax.lang.model.util.ElementScanner14; + +import edu.wpi.first.wpilibj2.command.SubsystemBase; +import frc.robot.Robot; +import frc.robot.subsystems.Drive.DriveState; + +public class Superstructure extends SubsystemBase { + /** Creates a new Superstructure. */ + public enum SuperState { + DEFAULT, + PATH_TO_POINT, + IDLE + } + + private SuperState wantedSuperState = SuperState.IDLE; + private SuperState currentSuperState = SuperState.IDLE; + private boolean pathCompleted = false; + + Drive drive; + Peripherals peripherals; + + public Superstructure(Drive driveSubsystem, Peripherals peripheralSubsystem) { + drive = driveSubsystem; + peripherals = peripheralSubsystem; + } + + public void setWantedState(SuperState wantedState) { + this.wantedSuperState = wantedState; + + if (wantedState == SuperState.PATH_TO_POINT) { + pathCompleted = false; + } + } + + public SuperState getCurrentSuperState() { + return currentSuperState; + } + + public void resetPathToPoint() { + pathCompleted = false; + if (currentSuperState == SuperState.DEFAULT && wantedSuperState == SuperState.DEFAULT) { + wantedSuperState = SuperState.IDLE; + currentSuperState = SuperState.IDLE; + } + } + + public boolean isPathCompleted() { + return pathCompleted; + } + + private void applyStates() { + switch (currentSuperState) { + case DEFAULT: + handleDefaultState(); + break; + case PATH_TO_POINT: + handlePathToPointState(); + break; + default: + handleIdleState(); + break; + } + } + + private SuperState handleStateTransitions() { + switch (wantedSuperState) { + case DEFAULT: + currentSuperState = SuperState.DEFAULT; + break; + case PATH_TO_POINT: + currentSuperState = SuperState.PATH_TO_POINT; + break; + default: + currentSuperState = SuperState.IDLE; + break; + } + return currentSuperState; + } + + public void handleDefaultState() { + drive.setWantedState(DriveState.DEFAULT); + } + + public void handlePathToPointState() { + if (!drive.getAtPosition()) { + drive.setWantedState(DriveState.PATH_TO_POINT); + } else { + drive.setWantedState(DriveState.DEFAULT); + } + } + + public void handleIdleState() { + + } + + @Override + public void periodic() { + currentSuperState = handleStateTransitions(); + applyStates(); + } +} \ No newline at end of file diff --git a/src/main/java/frc/robot/tools/PathLoader.java b/src/main/java/frc/robot/tools/PathLoader.java new file mode 100644 index 0000000..076c8f5 --- /dev/null +++ b/src/main/java/frc/robot/tools/PathLoader.java @@ -0,0 +1,52 @@ +package frc.robot.tools; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.util.ArrayList; +import java.util.List; + +import org.json.JSONArray; +import org.json.JSONObject; + +import edu.wpi.first.wpilibj.Filesystem; + +public class PathLoader { + + public static class PosePoint { + public final double x, y, theta, time; + + public PosePoint(double x, double y, double theta, double time) { + this.x = x; + this.y = y; + this.theta = theta; + this.time = time; + } + } + + public static List loadPath(String relativePath) throws IOException { + File file = new File(Filesystem.getDeployDirectory() + "/" + "Paths/" + relativePath); + String content = Files.readString(file.toPath()); + System.out.println(content); + JSONObject root = new JSONObject(content); + JSONArray arr = root.getJSONArray("sampled_points"); + List points = new ArrayList<>(); + for (int i = 0; i < arr.length(); i++) { + JSONObject p = arr.getJSONObject(i); + points.add(new PosePoint( + p.getDouble("x"), + p.getDouble("y"), + p.getDouble("angle"), + p.getDouble("time"))); + } + return points; + } + + public static JSONObject getJSON(String relativePath) throws IOException { + File file = new File(Filesystem.getDeployDirectory() + "/" + "Paths/" + relativePath); + String content = Files.readString(file.toPath()); + JSONObject root = new JSONObject(content); + System.out.println(root); + return root; + } +} diff --git a/src/main/java/frc/robot/tools/SwerveModule.java b/src/main/java/frc/robot/tools/SwerveModule.java new file mode 100644 index 0000000..e2f8bae --- /dev/null +++ b/src/main/java/frc/robot/tools/SwerveModule.java @@ -0,0 +1,326 @@ +package frc.robot.tools; + +import frc.robot.Constants; +import frc.robot.tools.math.PID; +import frc.robot.tools.math.Vector; + +import org.littletonrobotics.junction.Logger; + +import com.ctre.phoenix6.configs.TalonFXConfiguration; +import com.ctre.phoenix6.controls.PositionTorqueCurrentFOC; +import com.ctre.phoenix6.controls.VelocityTorqueCurrentFOC; +import com.ctre.phoenix6.hardware.CANcoder; +import com.ctre.phoenix6.hardware.TalonFX; +import com.ctre.phoenix6.signals.FeedbackSensorSourceValue; +import com.ctre.phoenix6.signals.InvertedValue; +import com.ctre.phoenix6.signals.NeutralModeValue; + +import edu.wpi.first.math.geometry.Rotation2d; +import edu.wpi.first.math.kinematics.SwerveModulePosition; + +public class SwerveModule { + private static final double minSpeed = 1e-3; + private final TalonFX motorDrive; + private final TalonFX motorTurn; + private final CANcoder motorEncoder; + private final Vector turnVector; + private final double wheelCircumference = Constants.Physical.WHEEL_CIRCUMFERENCE; + private final PositionTorqueCurrentFOC positionTorqueFOCRequest = new PositionTorqueCurrentFOC(0); + private final VelocityTorqueCurrentFOC velocityTorqueFOCRequest = new VelocityTorqueCurrentFOC(0); + private int moduleIndex; + private double lastTargetRad = 0.0; + private double moduleOffsetX; + private double moduleOffsetY; + private double offset = 0.6096 / 2; + + public SwerveModule(TalonFX driveMotor, TalonFX turnMotor, CANcoder encoder, int index) { + this.motorDrive = driveMotor; + this.motorTurn = turnMotor; + this.motorEncoder = encoder; + this.turnVector = new Vector(0, 0); + this.moduleIndex = index; + + double c = 1.0 / Math.sqrt(2); + switch (index) { + case 1: + moduleOffsetX = offset; + moduleOffsetY = offset; + turnVector.setI(c); + turnVector.setJ(c); + break; + case 2: + moduleOffsetX = -offset; + moduleOffsetY = offset; + turnVector.setI(-c); + turnVector.setJ(c); + break; + case 3: + moduleOffsetX = -offset; + moduleOffsetY = -offset; + turnVector.setI(-c); + turnVector.setJ(-c); + break; + case 4: + moduleOffsetX = offset; + moduleOffsetY = -offset; + turnVector.setI(c); + turnVector.setJ(-c); + break; + } + + TalonFXConfiguration angleMotorConfig = new TalonFXConfiguration(); + TalonFXConfiguration driveMotorConfig = new TalonFXConfiguration(); + + angleMotorConfig.Slot0.kP = 370.0; + angleMotorConfig.Slot0.kI = 0.0; + angleMotorConfig.Slot0.kD = 15; + + angleMotorConfig.Slot1.kP = 3.0; + angleMotorConfig.Slot1.kI = 0.0; + angleMotorConfig.Slot1.kD = 0.0; + + angleMotorConfig.TorqueCurrent.PeakForwardTorqueCurrent = 70; + angleMotorConfig.TorqueCurrent.PeakReverseTorqueCurrent = -70; + + angleMotorConfig.MotorOutput.NeutralMode = NeutralModeValue.Brake; + + angleMotorConfig.ClosedLoopRamps.TorqueClosedLoopRampPeriod = 0.1; + + angleMotorConfig.MotorOutput.Inverted = InvertedValue.Clockwise_Positive; + + angleMotorConfig.Feedback.FeedbackSensorSource = FeedbackSensorSourceValue.FusedCANcoder; + angleMotorConfig.Feedback.FeedbackRemoteSensorID = motorEncoder.getDeviceID(); + angleMotorConfig.Feedback.SensorToMechanismRatio = 1.0; + angleMotorConfig.Feedback.RotorToSensorRatio = Constants.Ratios.STEER_GEAR_RATIO; + + // if (index == 1 || index == 4) { + // driveMotorConfig.Slot0.kP = 9.2; + // driveMotorConfig.Slot0.kI = 0.0; + // driveMotorConfig.Slot0.kD = 0.0; + // driveMotorConfig.Slot0.kV = 0.0; + // } else { + + // driveMotorConfig.Slot0.kP = 8.0; + // driveMotorConfig.Slot0.kI = 0.0; + // driveMotorConfig.Slot0.kD = 0.0; + // driveMotorConfig.Slot0.kV = 0.0; + // } + + driveMotorConfig.Slot0.kP = 8.0; + driveMotorConfig.Slot0.kI = 0.0; + driveMotorConfig.Slot0.kD = 0.0; + driveMotorConfig.Slot0.kV = 0.0; + + driveMotorConfig.TorqueCurrent.PeakForwardTorqueCurrent = 120; + driveMotorConfig.TorqueCurrent.PeakReverseTorqueCurrent = -120; + driveMotorConfig.CurrentLimits.StatorCurrentLimitEnable = true; + driveMotorConfig.CurrentLimits.SupplyCurrentLimitEnable = true; + driveMotorConfig.CurrentLimits.StatorCurrentLimit = 120; + driveMotorConfig.CurrentLimits.SupplyCurrentLimit = 120; + driveMotorConfig.Feedback.RotorToSensorRatio = 1; + driveMotorConfig.Feedback.SensorToMechanismRatio = Constants.Ratios.DRIVE_GEAR_RATIO; + + driveMotorConfig.MotorOutput.NeutralMode = NeutralModeValue.Brake; + + driveMotorConfig.ClosedLoopRamps.TorqueClosedLoopRampPeriod = 0.1; + + if (index == 4) { + driveMotorConfig.MotorOutput.Inverted = InvertedValue.Clockwise_Positive; + } else { + driveMotorConfig.MotorOutput.Inverted = InvertedValue.CounterClockwise_Positive; + } + + double absolutePosition = motorEncoder.getAbsolutePosition().getValueAsDouble(); + motorTurn.setPosition(absolutePosition); + motorDrive.setPosition(0.0); + + motorTurn.getConfigurator().apply(angleMotorConfig); + motorDrive.getConfigurator().apply(driveMotorConfig); + + } + + public void drive(Vector driveVector, double turnInput, double navxAngle) { + double vx = driveVector.getI(); + double vy = driveVector.getJ(); + + double rotationalVx = turnInput * turnVector.getI(); + double rotationalVy = turnInput * turnVector.getJ(); + + double totalVx = vx + rotationalVx; + double totalVy = vy + rotationalVy; + + double speed = Math.hypot(totalVx, totalVy); + double angle = Math.atan2(totalVy, totalVx); + + double absAngleRad = motorEncoder.getAbsolutePosition().getValueAsDouble() * 2 * Math.PI; + double targetRad; + + if (speed > minSpeed) { + while (angle < 0) + angle += 2 * Math.PI; + while (angle >= 2 * Math.PI) + angle -= 2 * Math.PI; + + double noFlip = findClosestAngle(absAngleRad, angle); + double flip = findClosestAngle(absAngleRad, angle + Math.PI); + + if (Math.abs(flip) < Math.abs(noFlip)) { + targetRad = absAngleRad + flip; + speed = -speed; + } else { + targetRad = absAngleRad + noFlip; + } + + lastTargetRad = targetRad; + } else { + targetRad = lastTargetRad; + speed = 0; + } + + setSpeed(speed * Constants.Physical.TOP_SPEED); + Logger.recordOutput("Speed", speed * Constants.Physical.TOP_SPEED); + Logger.recordOutput("Current Speed", + motorDrive.getVelocity().getValueAsDouble()); + double currentRevs = motorTurn.getPosition().getValueAsDouble(); + double diffRad = findClosestAngle(absAngleRad, targetRad); + double deltaRevs = diffRad / (2 * Math.PI); + + final double MAX_DELTA_REVS = 0.5; + if (Math.abs(deltaRevs) > MAX_DELTA_REVS) { + deltaRevs = Math.signum(deltaRevs) * MAX_DELTA_REVS; + } + + motorTurn.setControl(positionTorqueFOCRequest.withPosition(currentRevs + deltaRevs)); + } + + private double findClosestAngle(double currentAngle, double targetAngle) { + double diff = targetAngle - currentAngle; + + while (diff > Math.PI) + diff -= 2 * Math.PI; + while (diff < -Math.PI) + diff += 2 * Math.PI; + + return diff; + } + + // public void drive(Vector vector, double turnValue, double navxAngle) { + // if (Math.abs(vector.getI()) < 0.001 && Math.abs(vector.getJ()) < 0.001 && + // Math.abs(turnValue) < 0.01) { + // // stop both motors + // motorDrive.setControl(velocityTorqueFOCRequest.withVelocity(0.0)); + // motorTurn.setControl(velocityTorqueFOCRequest.withVelocity(0.0)); + // } else { + // // desired translation + // double angleWanted = Math.atan2(vector.getJ(), vector.getI()); + // double wheelPower = Math.hypot(vector.getI(), vector.getJ()); + + // // field-centric adjustment + // double angleWithNavx = angleWanted + navxAngle; + // double xWithNavx = wheelPower * Math.cos(angleWithNavx); + // double yWithNavx = wheelPower * Math.sin(angleWithNavx); + + // // rotation component (torqueAngle assumed to be current wheel angle) + // double torqueAng = getEncoder(); + // double turnX = turnValue * Constants.angleToUnitVectorI(torqueAng); + // double turnY = turnValue * Constants.angleToUnitVectorJ(torqueAng); + + // // combine translation + rotation + // Vector finalVector = new Vector(xWithNavx + turnX, yWithNavx + turnY); + + // double finalAngle = -Math.atan2(finalVector.getJ(), finalVector.getI()); + // double finalVelocity = Math.hypot(finalVector.getI(), finalVector.getJ()); + + // // cap speed + // if (finalVelocity > Constants.Physical.TOP_SPEED) { + // finalVelocity = Constants.Physical.TOP_SPEED; + // } + + // double velocityRPS = MPSToRPS(finalVelocity); + + // // optimize wheel movement + // double currentAngle = getEncoder() % (2 * Math.PI); + // double setpoint = findClosestAngle(currentAngle, finalAngle); + // double setpointFlipped = findClosestAngle(currentAngle, finalAngle + + // Math.PI); + + // double angleDiff = Math.abs(currentAngle - finalAngle); + // double adjustedVelocity = Math.cos(angleDiff) * velocityRPS; + + // if (Math.abs(setpoint) <= Math.abs(setpointFlipped)) { + // motorTurn.setControl(positionTorqueFOCRequest.withPosition(currentAngle + + // setpoint)); + // } else { + // motorTurn.setControl(positionTorqueFOCRequest.withPosition(currentAngle + + // setpointFlipped)); + // } + // } + // } + + private double MPSToRPS(double mps) { + // convert meters per second to motor revolutions per second + double wheelCirc = Constants.Physical.WHEEL_CIRCUMFERENCE; + double wheelRPS = mps / wheelCirc; + return wheelRPS * Constants.Ratios.DRIVE_GEAR_RATIO; + } + + private double RPSToMPS(double rps) { + + double wheelCirc = Constants.Physical.WHEEL_CIRCUMFERENCE; + double wheelRPS = rps / wheelCirc; + return wheelRPS * Constants.Ratios.DRIVE_GEAR_RATIO; + } + + private void setSpeed(double velocity) { + motorDrive.setControl(velocityTorqueFOCRequest.withVelocity(wheelToDriveMotorRotations(velocity))); + } + + public double wheelToSteerMotorRotations(double rotations) { + return rotations * Constants.Ratios.STEER_GEAR_RATIO; + } + + public double steerMotorToWheelRotations(double rotations) { + return rotations / Constants.Ratios.STEER_GEAR_RATIO; + } + + public double wheelToDriveMotorRotations(double rotations) { + return rotations * Constants.Ratios.DRIVE_GEAR_RATIO; + } + + public double driveMotorToWheelRotations(double rotations) { + return rotations / Constants.Ratios.DRIVE_GEAR_RATIO; + } + + public double degreesToRotations(double degrees) { + return degrees / 360; + } + + public double rotationsToDegrees(double rotations) { + return rotations * 360; + } + + public double getEncoder() { + return motorEncoder.getAbsolutePosition().getValueAsDouble(); + } + + public double getAngle() { + double rotations = getEncoder(); + double angle = (rotations * 360) % 360; + return angle < 0 ? angle + 360 : angle; + } + + public void stop() { + motorDrive.set(0); + } + + public void periodic() { + } + + public SwerveModulePosition getPosition() { + double motorRotations = motorDrive.getRotorPosition().getValueAsDouble(); + double wheelRotations = motorRotations / Constants.Ratios.DRIVE_GEAR_RATIO; + double distanceMeters = wheelRotations * wheelCircumference; + Rotation2d angle = Rotation2d.fromDegrees(getAngle()); + return new SwerveModulePosition(distanceMeters, angle); + } +} diff --git a/src/main/java/frc/robot/tools/TriggerButton.java b/src/main/java/frc/robot/tools/TriggerButton.java new file mode 100644 index 0000000..083b805 --- /dev/null +++ b/src/main/java/frc/robot/tools/TriggerButton.java @@ -0,0 +1,10 @@ +package frc.robot.tools; + +import java.util.function.BooleanSupplier; +import edu.wpi.first.wpilibj2.command.button.Trigger; + +public class TriggerButton extends Trigger { + public TriggerButton(BooleanSupplier bs) { + super(bs); + } +} \ No newline at end of file diff --git a/src/main/java/frc/robot/tools/math/PID.java b/src/main/java/frc/robot/tools/math/PID.java new file mode 100644 index 0000000..0ed1a29 --- /dev/null +++ b/src/main/java/frc/robot/tools/math/PID.java @@ -0,0 +1,100 @@ +package frc.robot.tools.math; + +public class PID { + private double error; + private double totalError; + private double prevError; + + private double PValue; + private double IValue; + private double DValue; + + private double maxInput; + private double minInput; + private double maxOutput = 1.0; + private double minOutput = -1.0; + + private boolean continuous = false; + private double setPoint; + private double result; + + public PID(double kp, double ki, double kd) { + PValue = kp; + IValue = ki; + DValue = kd; + totalError = 0.0; // Initialize total error + } + + public double updatePID(double value) { + error = setPoint - value; + + if (continuous) { + if (Math.abs(error) > (maxInput - minInput) / 2) { + error = error > 0 ? error - (maxInput - minInput) : error + (maxInput - minInput); + } + } + + if (Math.abs(error) < 0.1) { + totalError += error; + totalError = clamp(totalError); + } + + result = PValue * error + IValue * totalError + DValue * (error - prevError); + prevError = error; + result = clamp(result); + return result; + } + + public void setPID(double p, double i, double d) { + PValue = p; + IValue = i; + DValue = d; + } + + public void setSetPoint(double target) { + setPoint = target; + totalError = 0; + } + + public double getSetPoint() { + return setPoint; + } + + public double getResult() { + return result; + } + + public void setMaxOutput(double output) { + maxOutput = output; + } + + public void setMinOutput(double output) { + minOutput = output; + } + + public void setMinInput(double input) { + minInput = input; + } + + public void setMaxInput(double input) { + maxInput = input; + } + + public void setContinuous(boolean value) { + continuous = value; + } + + public double clamp(double input) { + if (input > maxOutput) { + return maxOutput; + } + if (input < minOutput) { + return minOutput; + } + return input; + } + + public double getError() { + return error; + } +} \ No newline at end of file diff --git a/src/main/java/frc/robot/tools/math/Vector.java b/src/main/java/frc/robot/tools/math/Vector.java new file mode 100644 index 0000000..0da0d96 --- /dev/null +++ b/src/main/java/frc/robot/tools/math/Vector.java @@ -0,0 +1,138 @@ +// Copyrights (c) 2018-2019 FIRST, 2020 Highlanders FRC. All Rights Reserved. + +package frc.robot.tools.math; + +import edu.wpi.first.math.geometry.Translation2d; + +public class Vector { + + private double i; + private double j; + + public Vector() { + i = 0; + j = 0; + } + + public Vector(double i, double j) { + this.i = i; + this.j = j; + } + + /** + * Returns the i-component of the vector. + * + * @return The i-component of the vector. + */ + public double getI() { + return i; + } + + /** + * Returns the j-component of the vector. + * + * @return The j-component of the vector. + */ + public double getJ() { + return j; + } + + /** + * Multiplies the vector by a scalar value. + * + *

+ * This method modifies the current vector by multiplying each component (i and + * j) by the given scalar value. + * + * @param s The scalar value to multiply the vector by. + */ + public void scalarMultiple(double s) { + this.i = this.i * s; + this.j = this.j * s; + } + + /** + * Calculates the dot product of this vector with another vector. + * + *

+ * The dot product of two vectors is a scalar value that represents the product + * of their magnitudes and the cosine of the angle + * between them. It is calculated as the sum of the product of corresponding + * components of the two vectors. + * + * @param u The other vector with which to calculate the dot product. + * @return The dot product of this vector with the given vector {@code u}. + */ + public double dot(Vector u) { + return i * u.getI() + j * u.getJ(); + } + + /** + * Calculates the magnitude (or length) of the vector. + * + *

+ * The magnitude of a vector is a non-negative scalar value that represents the + * length of the vector. + * It is calculated as the square root of the sum of the squares of its + * components (i and j). + * + * @return The magnitude (or length) of the vector. + */ + public double magnitude() { + return Math.sqrt(this.dot(this)); + } + + /** + * Sets the i-component of the vector. + * + *

+ * This method modifies the current vector by setting the i-component to the + * given value. + * + * @param i The new value for the i-component of the vector. + */ + public void setI(double i) { + this.i = i; + } + + /** + * Sets the j-component of the vector. + * + *

+ * This method modifies the current vector by setting the j-component to the + * given value. + * + * @param j The new value for the j-component of the vector. + */ + public void setJ(double j) { + this.j = j; + } + + public Vector add(Vector other) { + return new Vector(this.i + other.getI(), this.j + other.getJ()); + } + + public Vector subtract(Vector other) { + return new Vector(this.i - other.getI(), this.j - other.getJ()); + } + + public Vector scaled(double scalar) { + return new Vector(this.i * scalar, this.j * scalar); + } + + public Vector projectOther(Vector other) { + double dotProduct = dot(other); + double magnitudeSquared = dot(this); + return scaled(dotProduct / magnitudeSquared); + } + + public Translation2d getClosestPointOnLine(Translation2d pointOnLine, Translation2d pointOffLine) { + Vector toPoint = new Vector(pointOffLine.getX() - pointOnLine.getX(), pointOffLine.getY() - pointOnLine.getY()); + Vector projVector = projectOther(toPoint); // Project onto the line direction + return new Translation2d(pointOnLine.getX() + projVector.i, pointOnLine.getY() + projVector.j); + } + + public Vector perpendicular() { + return new Vector(-j, i); + } +} \ No newline at end of file diff --git a/src/main/java/frc/robot/tools/wrappers/AutoFollower.java b/src/main/java/frc/robot/tools/wrappers/AutoFollower.java new file mode 100644 index 0000000..aa65cc0 --- /dev/null +++ b/src/main/java/frc/robot/tools/wrappers/AutoFollower.java @@ -0,0 +1,27 @@ +// Copyright (c) FIRST and other WPILib contributors. +// Open Source Software; you can modify and/or share it under the terms of +// the WPILib BSD license file in the root directory of this project. + +package frc.robot.tools.wrappers; + +import org.json.JSONObject; + +import edu.wpi.first.wpilibj2.command.Command; + +public abstract class AutoFollower extends Command { + /** Creates a new PolarTakeDrive. */ + public abstract int getPathPointIndex(); + + public abstract void initialize(); + + @Override + public abstract void execute(); + + @Override + public abstract void end(boolean interrupted); + + public abstract void from(int pointIndex, JSONObject pathJSON, int toIndex); + + @Override + abstract public boolean isFinished(); +} \ No newline at end of file diff --git a/vendordeps/AdvantageKit.json b/vendordeps/AdvantageKit.json new file mode 100644 index 0000000..bef4a15 --- /dev/null +++ b/vendordeps/AdvantageKit.json @@ -0,0 +1,35 @@ +{ + "fileName": "AdvantageKit.json", + "name": "AdvantageKit", + "version": "4.1.2", + "uuid": "d820cc26-74e3-11ec-90d6-0242ac120003", + "frcYear": "2025", + "mavenUrls": [ + "https://frcmaven.wpi.edu/artifactory/littletonrobotics-mvn-release/" + ], + "jsonUrl": "https://github.com/Mechanical-Advantage/AdvantageKit/releases/latest/download/AdvantageKit.json", + "javaDependencies": [ + { + "groupId": "org.littletonrobotics.akit", + "artifactId": "akit-java", + "version": "4.1.2" + } + ], + "jniDependencies": [ + { + "groupId": "org.littletonrobotics.akit", + "artifactId": "akit-wpilibio", + "version": "4.1.2", + "skipInvalidPlatforms": false, + "isJar": false, + "validPlatforms": [ + "linuxathena", + "linuxx86-64", + "linuxarm64", + "osxuniversal", + "windowsx86-64" + ] + } + ], + "cppDependencies": [] +} \ No newline at end of file diff --git a/vendordeps/Phoenix6-frc2025-latest.json b/vendordeps/Phoenix6-frc2025-latest.json new file mode 100644 index 0000000..6f40c84 --- /dev/null +++ b/vendordeps/Phoenix6-frc2025-latest.json @@ -0,0 +1,479 @@ +{ + "fileName": "Phoenix6-frc2025-latest.json", + "name": "CTRE-Phoenix (v6)", + "version": "25.4.0", + "frcYear": "2025", + "uuid": "e995de00-2c64-4df5-8831-c1441420ff19", + "mavenUrls": [ + "https://maven.ctr-electronics.com/release/" + ], + "jsonUrl": "https://maven.ctr-electronics.com/release/com/ctre/phoenix6/latest/Phoenix6-frc2025-latest.json", + "conflictsWith": [ + { + "uuid": "e7900d8d-826f-4dca-a1ff-182f658e98af", + "errorMessage": "Users can not have both the replay and regular Phoenix 6 vendordeps in their robot program.", + "offlineFileName": "Phoenix6-replay-frc2025-latest.json" + } + ], + "javaDependencies": [ + { + "groupId": "com.ctre.phoenix6", + "artifactId": "wpiapi-java", + "version": "25.4.0" + } + ], + "jniDependencies": [ + { + "groupId": "com.ctre.phoenix6", + "artifactId": "api-cpp", + "version": "25.4.0", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "linuxathena" + ], + "simMode": "hwsim" + }, + { + "groupId": "com.ctre.phoenix6", + "artifactId": "tools", + "version": "25.4.0", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "linuxathena" + ], + "simMode": "hwsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "api-cpp-sim", + "version": "25.4.0", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "tools-sim", + "version": "25.4.0", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simTalonSRX", + "version": "25.4.0", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simVictorSPX", + "version": "25.4.0", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simPigeonIMU", + "version": "25.4.0", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simCANCoder", + "version": "25.4.0", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProTalonFX", + "version": "25.4.0", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProTalonFXS", + "version": "25.4.0", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProCANcoder", + "version": "25.4.0", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProPigeon2", + "version": "25.4.0", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProCANrange", + "version": "25.4.0", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProCANdi", + "version": "25.4.0", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProCANdle", + "version": "25.4.0", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + } + ], + "cppDependencies": [ + { + "groupId": "com.ctre.phoenix6", + "artifactId": "wpiapi-cpp", + "version": "25.4.0", + "libName": "CTRE_Phoenix6_WPI", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "linuxathena" + ], + "simMode": "hwsim" + }, + { + "groupId": "com.ctre.phoenix6", + "artifactId": "tools", + "version": "25.4.0", + "libName": "CTRE_PhoenixTools", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "linuxathena" + ], + "simMode": "hwsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "wpiapi-cpp-sim", + "version": "25.4.0", + "libName": "CTRE_Phoenix6_WPISim", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "tools-sim", + "version": "25.4.0", + "libName": "CTRE_PhoenixTools_Sim", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simTalonSRX", + "version": "25.4.0", + "libName": "CTRE_SimTalonSRX", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simVictorSPX", + "version": "25.4.0", + "libName": "CTRE_SimVictorSPX", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simPigeonIMU", + "version": "25.4.0", + "libName": "CTRE_SimPigeonIMU", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simCANCoder", + "version": "25.4.0", + "libName": "CTRE_SimCANCoder", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProTalonFX", + "version": "25.4.0", + "libName": "CTRE_SimProTalonFX", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProTalonFXS", + "version": "25.4.0", + "libName": "CTRE_SimProTalonFXS", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProCANcoder", + "version": "25.4.0", + "libName": "CTRE_SimProCANcoder", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProPigeon2", + "version": "25.4.0", + "libName": "CTRE_SimProPigeon2", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProCANrange", + "version": "25.4.0", + "libName": "CTRE_SimProCANrange", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProCANdi", + "version": "25.4.0", + "libName": "CTRE_SimProCANdi", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProCANdle", + "version": "25.4.0", + "libName": "CTRE_SimProCANdle", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + } + ] +} \ No newline at end of file diff --git a/vendordeps/WPILibNewCommands.json b/vendordeps/WPILibNewCommands.json new file mode 100644 index 0000000..3718e0a --- /dev/null +++ b/vendordeps/WPILibNewCommands.json @@ -0,0 +1,38 @@ +{ + "fileName": "WPILibNewCommands.json", + "name": "WPILib-New-Commands", + "version": "1.0.0", + "uuid": "111e20f7-815e-48f8-9dd6-e675ce75b266", + "frcYear": "2025", + "mavenUrls": [], + "jsonUrl": "", + "javaDependencies": [ + { + "groupId": "edu.wpi.first.wpilibNewCommands", + "artifactId": "wpilibNewCommands-java", + "version": "wpilib" + } + ], + "jniDependencies": [], + "cppDependencies": [ + { + "groupId": "edu.wpi.first.wpilibNewCommands", + "artifactId": "wpilibNewCommands-cpp", + "version": "wpilib", + "libName": "wpilibNewCommands", + "headerClassifier": "headers", + "sourcesClassifier": "sources", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "linuxathena", + "linuxarm32", + "linuxarm64", + "windowsx86-64", + "windowsx86", + "linuxx86-64", + "osxuniversal" + ] + } + ] +}