Added arm trajectory code.

It currently can plan out a path, but doesn't handle saturation
super well.  I'd like to plan the forward acceleration constraint
at runtime rather than plan time.

Change-Id: I0cb6d8007172e46f83207245d9007ada03e3a5e2
diff --git a/y2018/control_loops/python/BUILD b/y2018/control_loops/python/BUILD
index a72c464..5a44834 100644
--- a/y2018/control_loops/python/BUILD
+++ b/y2018/control_loops/python/BUILD
@@ -1,73 +1,87 @@
-package(default_visibility = ['//y2018:__subpackages__'])
+package(default_visibility = ["//y2018:__subpackages__"])
 
 py_binary(
-  name = 'drivetrain',
-  srcs = [
-    'drivetrain.py',
-  ],
-  deps = [
-    '//external:python-gflags',
-    '//external:python-glog',
-    '//frc971/control_loops/python:drivetrain',
-  ],
-  restricted_to = ['//tools:k8'],
+    name = "drivetrain",
+    srcs = [
+        "drivetrain.py",
+    ],
+    restricted_to = ["//tools:k8"],
+    deps = [
+        "//external:python-gflags",
+        "//external:python-glog",
+        "//frc971/control_loops/python:drivetrain",
+    ],
 )
 
 py_binary(
-  name = 'polydrivetrain',
-  srcs = [
-    'polydrivetrain.py',
-    'drivetrain.py',
-  ],
-  deps = [
-    '//external:python-gflags',
-    '//external:python-glog',
-    '//frc971/control_loops/python:polydrivetrain',
-  ],
-  restricted_to = ['//tools:k8'],
+    name = "polydrivetrain",
+    srcs = [
+        "drivetrain.py",
+        "polydrivetrain.py",
+    ],
+    restricted_to = ["//tools:k8"],
+    deps = [
+        "//external:python-gflags",
+        "//external:python-glog",
+        "//frc971/control_loops/python:polydrivetrain",
+    ],
 )
 
 py_library(
-  name = 'polydrivetrain_lib',
-  srcs = [
-    'polydrivetrain.py',
-    'drivetrain.py',
-  ],
-  deps = [
-    '//external:python-gflags',
-    '//external:python-glog',
-    '//frc971/control_loops/python:controls',
-    '//frc971/control_loops/python:drivetrain',
-  ],
-  restricted_to = ['//tools:k8'],
+    name = "polydrivetrain_lib",
+    srcs = [
+        "drivetrain.py",
+        "polydrivetrain.py",
+    ],
+    restricted_to = ["//tools:k8"],
+    deps = [
+        "//external:python-gflags",
+        "//external:python-glog",
+        "//frc971/control_loops/python:controls",
+        "//frc971/control_loops/python:drivetrain",
+    ],
 )
 
 py_test(
-  name = 'polydrivetrain_test',
-  srcs = [
-    'polydrivetrain_test.py',
-  ],
-  deps = [
-    '//external:python-gflags',
-    '//external:python-glog',
-    '//frc971/control_loops/python:polydrivetrain',
-    '//frc971/control_loops/python:controls',
-    ':polydrivetrain_lib',
-  ],
-  restricted_to = ['//tools:k8'],
+    name = "polydrivetrain_test",
+    srcs = [
+        "polydrivetrain_test.py",
+    ],
+    restricted_to = ["//tools:k8"],
+    deps = [
+        ":polydrivetrain_lib",
+        "//external:python-gflags",
+        "//external:python-glog",
+        "//frc971/control_loops/python:controls",
+        "//frc971/control_loops/python:polydrivetrain",
+    ],
 )
 
 py_binary(
-  name = 'intake',
-  srcs = [
-    'intake.py',
-  ],
-  deps = [
-    '//external:python-gflags',
-    '//external:python-glog',
-    '//frc971/control_loops/python:controls',
-  ],
-  restricted_to = ['//tools:k8'],
+    name = "arm_trajectory",
+    srcs = [
+        "arm_trajectory.py",
+        "path_points.py",
+    ],
+    restricted_to = ["//tools:k8"],
+    deps = [
+        "//external:python-gflags",
+        "//external:python-glog",
+        "//frc971/control_loops/python:controls",
+    ],
+)
+
+py_binary(
+    name = "intake",
+    srcs = [
+        "intake.py",
+    ],
+    restricted_to = ["//tools:k8"],
+    deps = [
+        "//external:python-gflags",
+        "//external:python-glog",
+        "//frc971/control_loops/python:controls",
+    ],
 )
 
 cc_binary(
@@ -75,10 +89,10 @@
     srcs = [
         "arm_mpc.cc",
     ],
+    restricted_to = ["//tools:k8"],
     deps = [
         "//third_party/ct",
-        "//third_party/matplotlib-cpp",
         "//third_party/gflags",
+        "//third_party/matplotlib-cpp",
     ],
-    restricted_to = ["//tools:k8"],
 )