Make a mutual drivetrain between robots.
Change-Id: I23cc9634d9af5d0482dc5a5501dccc064b7b53d3
diff --git a/y2014/actors/BUILD b/y2014/actors/BUILD
index 6fea9eb..ef94367 100644
--- a/y2014/actors/BUILD
+++ b/y2014/actors/BUILD
@@ -35,7 +35,7 @@
'//aos/common/logging',
'//y2014/control_loops/shooter:shooter_queue',
'//y2014/control_loops/claw:claw_queue',
- '//y2014/control_loops/drivetrain:drivetrain_queue',
+ '//frc971/control_loops/drivetrain:drivetrain_queue',
'//y2014:constants',
],
)
@@ -81,7 +81,7 @@
'//aos/common/logging:queue_logging',
'//third_party/eigen',
'//aos/common/util:trapezoid_profile',
- '//y2014/control_loops/drivetrain:drivetrain_queue',
+ '//frc971/control_loops/drivetrain:drivetrain_queue',
'//frc971/control_loops:state_feedback_loop',
],
)
diff --git a/y2014/actors/drivetrain_actor.cc b/y2014/actors/drivetrain_actor.cc
index 9f94ff4..4cb69ca 100644
--- a/y2014/actors/drivetrain_actor.cc
+++ b/y2014/actors/drivetrain_actor.cc
@@ -13,7 +13,7 @@
#include "y2014/actors/drivetrain_actor.h"
#include "y2014/constants.h"
-#include "y2014/control_loops/drivetrain/drivetrain.q.h"
+#include "frc971/control_loops/drivetrain/drivetrain.q.h"
namespace y2014 {
namespace actors {
@@ -50,9 +50,9 @@
while (true) {
::aos::time::PhasedLoopXMS(5, 2500);
- control_loops::drivetrain_queue.status.FetchLatest();
- if (control_loops::drivetrain_queue.status.get()) {
- const auto& status = *control_loops::drivetrain_queue.status;
+ ::frc971::control_loops::drivetrain_queue.status.FetchLatest();
+ if (::frc971::control_loops::drivetrain_queue.status.get()) {
+ const auto& status = *::frc971::control_loops::drivetrain_queue.status;
if (::std::abs(status.uncapped_left_voltage -
status.uncapped_right_voltage) > 24) {
LOG(DEBUG, "spinning in place\n");
@@ -119,7 +119,7 @@
LOG(DEBUG, "Driving left to %f, right to %f\n",
left_goal_state(0, 0) + params.left_initial_position,
right_goal_state(0, 0) + params.right_initial_position);
- control_loops::drivetrain_queue.goal.MakeWithBuilder()
+ ::frc971::control_loops::drivetrain_queue.goal.MakeWithBuilder()
.control_loop_driving(true)
.highgear(true)
.left_goal(left_goal_state(0, 0) + params.left_initial_position)
@@ -129,11 +129,11 @@
.Send();
}
if (ShouldCancel()) return true;
- control_loops::drivetrain_queue.status.FetchLatest();
- while (!control_loops::drivetrain_queue.status.get()) {
+ ::frc971::control_loops::drivetrain_queue.status.FetchLatest();
+ while (!::frc971::control_loops::drivetrain_queue.status.get()) {
LOG(WARNING,
"No previous drivetrain status packet, trying to fetch again\n");
- control_loops::drivetrain_queue.status.FetchNextBlocking();
+ ::frc971::control_loops::drivetrain_queue.status.FetchNextBlocking();
if (ShouldCancel()) return true;
}
while (true) {
@@ -141,13 +141,13 @@
const double kPositionThreshold = 0.05;
const double left_error = ::std::abs(
- control_loops::drivetrain_queue.status->filtered_left_position -
+ ::frc971::control_loops::drivetrain_queue.status->filtered_left_position -
(left_goal_state(0, 0) + params.left_initial_position));
const double right_error = ::std::abs(
- control_loops::drivetrain_queue.status->filtered_right_position -
+ ::frc971::control_loops::drivetrain_queue.status->filtered_right_position -
(right_goal_state(0, 0) + params.right_initial_position));
const double velocity_error =
- ::std::abs(control_loops::drivetrain_queue.status->robot_speed);
+ ::std::abs(::frc971::control_loops::drivetrain_queue.status->robot_speed);
if (left_error < kPositionThreshold && right_error < kPositionThreshold &&
velocity_error < 0.2) {
break;
@@ -155,7 +155,7 @@
LOG(DEBUG, "Drivetrain error is %f, %f, %f\n", left_error, right_error,
velocity_error);
}
- control_loops::drivetrain_queue.status.FetchNextBlocking();
+ ::frc971::control_loops::drivetrain_queue.status.FetchNextBlocking();
}
LOG(INFO, "Done moving\n");
return true;
diff --git a/y2014/actors/shoot_actor.cc b/y2014/actors/shoot_actor.cc
index a70d692..743a4c3 100644
--- a/y2014/actors/shoot_actor.cc
+++ b/y2014/actors/shoot_actor.cc
@@ -7,7 +7,7 @@
#include "y2014/control_loops/shooter/shooter.q.h"
#include "y2014/control_loops/claw/claw.q.h"
#include "y2014/constants.h"
-#include "y2014/control_loops/drivetrain/drivetrain.q.h"
+#include "frc971/control_loops/drivetrain/drivetrain.q.h"
namespace y2014 {
namespace actors {