From 084475a90d159d53b9b333d805adaa21850835eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sergi=20Hern=C3=A1ndez?= <shernand@iri.upc.edu>
Date: Tue, 5 Apr 2016 21:52:14 +0000
Subject: [PATCH] Removed the pitch offset from the kinematics computation.

---
 include/darwin_kinematics.h |  1 -
 src/walking.c               | 28 ++++++++++++++--------------
 2 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/include/darwin_kinematics.h b/include/darwin_kinematics.h
index 7f67ffa..783781e 100755
--- a/include/darwin_kinematics.h
+++ b/include/darwin_kinematics.h
@@ -11,7 +11,6 @@ extern "C" {
 #define DARWIN_LEG_SIDE_OFFSET             37.0 //mm
 #define DARWIN_THIGH_LENGTH                93.0 //mm
 #define DARWIN_CALF_LENGTH                 93.0 //mm
-#define DARWIN_PITCH_OFFSET                0.1910 //rad
 #define DARWIN_ANKLE_LENGTH                33.5 //mm
 #define DARWIN_LEG_LENGTH                  (DARWIN_THIGH_LENGTH + DARWIN_CALF_LENGTH + DARWIN_ANKLE_LENGTH) //mm (THIGH_LENGTH + CALF_LENGTH + ANKLE_LENGTH)
 
diff --git a/src/walking.c b/src/walking.c
index 192efbd..1bfbd1e 100755
--- a/src/walking.c
+++ b/src/walking.c
@@ -445,33 +445,33 @@ void walking_process(void)
 
   // Compute motor value
   if(manager_get_module(R_HIP_YAW)==MM_WALKING)
-    manager_current_angles[R_HIP_YAW]=((180.0*(angle[0]-PI/4.0))/PI)*65536.0;
+    manager_current_angles[R_HIP_YAW]=((-180.0*angle[0])/PI)*65536.0;
   if(manager_get_module(R_HIP_ROLL)==MM_WALKING)
-    manager_current_angles[R_HIP_ROLL]=((180.0*(angle[1]+pelvis_offset_r))/PI)*65536.0;
+    manager_current_angles[R_HIP_ROLL]=((-180.0*(angle[1]+pelvis_offset_r))/PI)*65536.0;
   if(manager_get_module(R_HIP_PITCH)==MM_WALKING)
-    manager_current_angles[R_HIP_PITCH]=((180.0*(angle[2]-DARWIN_PITCH_OFFSET))/PI-m_Hip_Pitch_Offset)*65536.0;
+    manager_current_angles[R_HIP_PITCH]=((180.0*angle[2])/PI-m_Hip_Pitch_Offset)*65536.0;
   if(manager_get_module(R_KNEE)==MM_WALKING)
-    manager_current_angles[R_KNEE]=((-180.0*angle[3])/PI)*65536.0;
+    manager_current_angles[R_KNEE]=((180.0*angle[3])/PI)*65536.0;
   if(manager_get_module(R_ANKLE_PITCH)==MM_WALKING)
-    manager_current_angles[R_ANKLE_PITCH]=((-180.0*(angle[4]+DARWIN_PITCH_OFFSET))/PI)*65536.0;
+    manager_current_angles[R_ANKLE_PITCH]=((-180.0*angle[4])/PI)*65536.0;
   if(manager_get_module(R_ANKLE_ROLL)==MM_WALKING)
-    manager_current_angles[R_ANKLE_ROLL]=((-180.0*angle[5])/PI)*65536.0;
+    manager_current_angles[R_ANKLE_ROLL]=((180.0*angle[5])/PI)*65536.0;
   if(manager_get_module(L_HIP_YAW)==MM_WALKING)
-    manager_current_angles[L_HIP_YAW]=((180.0*(angle[6]+PI/4.0))/PI)*65536.0;
+    manager_current_angles[L_HIP_YAW]=((-180.0*angle[6])/PI)*65536.0;
   if(manager_get_module(L_HIP_ROLL)==MM_WALKING)
-    manager_current_angles[L_HIP_ROLL]=((180.0*(angle[7]+pelvis_offset_l))/PI)*65536.0;
+    manager_current_angles[L_HIP_ROLL]=((-180.0*(angle[7]+pelvis_offset_l))/PI)*65536.0;
   if(manager_get_module(L_HIP_PITCH)==MM_WALKING)
-    manager_current_angles[L_HIP_PITCH]=((-180.0*(angle[8]-DARWIN_PITCH_OFFSET))/PI+m_Hip_Pitch_Offset)*65536.0;
+    manager_current_angles[L_HIP_PITCH]=((-180.0*angle[8])/PI+m_Hip_Pitch_Offset)*65536.0;
   if(manager_get_module(L_KNEE)==MM_WALKING)
-    manager_current_angles[L_KNEE]=((180.0*angle[9])/PI)*65536.0;
+    manager_current_angles[L_KNEE]=((-180.0*angle[9])/PI)*65536.0;
   if(manager_get_module(L_ANKLE_PITCH)==MM_WALKING)
-    manager_current_angles[L_ANKLE_PITCH]=((180.0*(angle[10]+DARWIN_PITCH_OFFSET))/PI)*65536.0;
+    manager_current_angles[L_ANKLE_PITCH]=((180.0*angle[10])/PI)*65536.0;
   if(manager_get_module(L_ANKLE_ROLL)==MM_WALKING)
-    manager_current_angles[L_ANKLE_ROLL]=((-180.0*angle[11])/PI)*65536.0;
+    manager_current_angles[L_ANKLE_ROLL]=((180.0*angle[11])/PI)*65536.0;
   if(manager_get_module(R_SHOULDER_PITCH)==MM_WALKING)
-    manager_current_angles[R_SHOULDER_PITCH]=(angle[12]-90.0)*65536.0;
+    manager_current_angles[R_SHOULDER_PITCH]=(angle[12]-48.345)*65536.0;
   if(manager_get_module(L_SHOULDER_PITCH)==MM_WALKING)
-    manager_current_angles[L_SHOULDER_PITCH]=(-angle[13]+90.0)*65536.0;
+    manager_current_angles[L_SHOULDER_PITCH]=(-angle[13]+41.313)*65536.0;
 }
 
 // operation functions
-- 
GitLab