From 037e2bf932c3753c556147c3e6060ea62ee8943b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sergi=20Hern=C3=A1ndez?= <shernand@iri.upc.edu>
Date: Mon, 8 Aug 2016 17:06:17 +0200
Subject: [PATCH] Solved a bug that made the robot shake after initialization.
 The default compliance slope value was 32 instead of 5 which gave the maximum
 control slope to the servos and any small position error made them oscillate.

---
 motion/src/motion_manager.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/motion/src/motion_manager.c b/motion/src/motion_manager.c
index 9c88856..dc3dc78 100644
--- a/motion/src/motion_manager.c
+++ b/motion/src/motion_manager.c
@@ -185,7 +185,7 @@ uint8_t manager_init(uint8_t num_servos)
     manager_servos[i].center_value=0;
     manager_servos[i].current_value=0;
     manager_servos[i].module=MM_NONE;
-    manager_servos[i].slope=32;
+    manager_servos[i].slope=5;
     manager_servos[i].cw_limit=0;
     manager_servos[i].ccw_limit=0;
   }
@@ -207,7 +207,7 @@ uint8_t manager_init(uint8_t num_servos)
       manager_servos[id].current_value=get_current_position(id);
       get_angle_limits(id,&manager_servos[i].cw_limit,&manager_servos[id].ccw_limit);
       manager_servos[id].module=MM_ACTION;
-      manager_servos[id].slope=32;
+      manager_servos[id].slope=5;
       manager_num_servos++;
     }
     else if(model==0x0C00)// Emmulated servos from the expansion board pan&tilt servos
@@ -220,7 +220,7 @@ uint8_t manager_init(uint8_t num_servos)
       manager_servos[id].current_value=get_current_position(id);
       get_angle_limits(id,&manager_servos[i].cw_limit,&manager_servos[id].ccw_limit);
       manager_servos[id].module=MM_JOINTS;
-      manager_servos[id].slope=32;
+      manager_servos[id].slope=5;
       manager_num_servos++;
     }
   } 
-- 
GitLab