From 4d7fa593fbedeb3d6ee18f0fb828492bcff81d9f Mon Sep 17 00:00:00 2001
From: Daniel Flickinger <flikx@flux.utah.edu>
Date: Wed, 15 Dec 2004 22:35:18 +0000
Subject: [PATCH] Reverted the previous behavior of goto commands. Estimated
 positions for pivots are not calculated, they are assumed.

---
 robots/primotion/dgrobot/grobot.cc | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/robots/primotion/dgrobot/grobot.cc b/robots/primotion/dgrobot/grobot.cc
index 5723dfaf0f..716519d14b 100755
--- a/robots/primotion/dgrobot/grobot.cc
+++ b/robots/primotion/dgrobot/grobot.cc
@@ -260,17 +260,20 @@ void grobot::dgoto(float Dx, float Dy, float Rf) {
      
     // calculate rotation components
     float Rir = atan2(Dy, Dx);
-    float Rfr = Rf - dt_init;
+    float Rfr = Rf - Rir;
     float moveL = sqrt((pow(Dx,2)) + (pow(Dy,2)));
 
-    if (0.0f == dt_init && 0.0f == moveL && 0.0f == Rfr) {
+    if (0.0f == Rir && 0.0f == moveL && 0.0f == Rfr) {
       set_gotocomplete();
     } else {
       // execute primitives
 
+      dt_init = Rir;
+      dt_final = Rfr;
+      
       // reset position estimates
-      dt_init = 0.0f;
-      dt_final = 0.0f;
+      
+      
       
       dx_est = 0.0f;
       dy_est = 0.0f;
@@ -432,19 +435,21 @@ void grobot::setCBstatus(int id, int stat, cb_type_t cbt) {
       
       
       updatePosition();
-      float pa_temp = (dright - dleft) / TRACK_WIDTH;
+      //float pa_temp = (dright - dleft) / TRACK_WIDTH;
       
       if (1 == gotomcomplete) {
       // first pivot has finished
         
-      dt_init = pa_temp;
+      // FIXME
+      //dt_init = pa_temp;
       gotop1 = stat;
       
       } else if (3 == gotomcomplete) {
       // second pivot has executed
         
-      dt_final = pa_temp;
-      dt_est = dt_init + dt_final;
+      // FIXME
+      //dt_final = pa_temp;
+      //dt_est = dt_init + dt_final;
       
       gotop2 = stat;
       
-- 
GitLab