summaryrefslogtreecommitdiff
path: root/2004/i/nono/src/motor/tracker.cc
diff options
context:
space:
mode:
authorschodet2004-05-02 04:32:30 +0000
committerschodet2004-05-02 04:32:30 +0000
commitf6702333c361551314d3988946bc4a37d987d3a8 (patch)
treee9622355a29f8f7dd5711e50e474eee4ab273bf5 /2004/i/nono/src/motor/tracker.cc
parentca55222ed88ced5ded14049488fabbf62143174b (diff)
Oula, il date le dernier commit, voir les diff.
Diffstat (limited to '2004/i/nono/src/motor/tracker.cc')
-rw-r--r--2004/i/nono/src/motor/tracker.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/2004/i/nono/src/motor/tracker.cc b/2004/i/nono/src/motor/tracker.cc
index 270455a..381ed32 100644
--- a/2004/i/nono/src/motor/tracker.cc
+++ b/2004/i/nono/src/motor/tracker.cc
@@ -210,10 +210,14 @@ Tracker::computeArcs (double x, double y, double &l, double &r, double eps)
/// Met à jour la position.
void
-Tracker::update (double dL, double dR)
+Tracker::update (double dL, double dR, bool zero)
{
// Compte les zeros.
- if (dL == 0.0 && dR == 0.0)
+ if (zero)
+ {
+ zero_++;
+ }
+ else if (dL == 0.0 && dR == 0.0)
{
zero_++;
return;
@@ -226,8 +230,8 @@ Tracker::update (double dL, double dR)
// Avec a petit (c'est le cas, car f_ >> abs (dR - dL)), a ~= atan (a).
double dA = (dR - dL) / f_;
double dS = 0.5 * (dL + dR);
- log_ (Log::verydebug) << "update dL " << dL << " dR " << dR << "
- dA " << dA << " dS " << dS << std::endl;
+ log_ (Log::verydebug) << "update dL " << dL << " dR " << dR << " dA " <<
+ dA << " dS " << dS << std::endl;
// Si l'angle est petit, évite une division par presque 0.
if (dA < 0.0001 && dA > -0.0001)
{