diff --git a/scripts/hpp_wholebody_motion/end_effector/bezier_constrained.py b/scripts/hpp_wholebody_motion/end_effector/bezier_constrained.py
index 6f193c34e7a31d4fb21213908d7e6890a599008e..74ae5407e009d9010d37d91a1260f733ef3cb814 100644
--- a/scripts/hpp_wholebody_motion/end_effector/bezier_constrained.py
+++ b/scripts/hpp_wholebody_motion/end_effector/bezier_constrained.py
@@ -280,7 +280,8 @@ def dimWithSizeObject(dim,size):
             res += [dim[2*k+i] + size[k]]
     return res
 
-def computeBoxVertices(client,center,x_dir,dim):
+# TODO : sizeObject not taken in account
+def computeBoxVertices(client,center,x_dir,dim,sizeObject):
     # compute the vertices of this box: 
     #points = [ [dim[1],-dim[2],-dim[4]], [dim[1],-dim[2],dim[5]], [-dim[0],-dim[2],dim[5]], [-dim[0],-dim[2],-dim[4]], [dim[1],dim[3],-dim[4]], [dim[1],dim[3],dim[5]], [-dim[0],dim[3],dim[5]], [-dim[0],dim[3],-dim[4]] ]    
     points = []
@@ -315,8 +316,9 @@ def large_col_free_box(client,a,b,maxX = 0.2,maxY = 0.05 ,maxZ = 0.05, sizeObjec
     x = norm(b_r - a_r)
     x_dir = (b_r -a_r)/x
     MIN_VALUE = 0.001    
-    x = (x/2.) #+ MIN_VALUE # initial half-length (+margin)
+    x = (x/2.) + MIN_VALUE # initial half-length (+margin)
     x_origin = x
+    """
     # transform the sizeObject from the world frame to the x_dir one (ignoring value on z axis):
     size_r = np.array(sizeObject)    
     objPoints = []
@@ -334,7 +336,7 @@ def large_col_free_box(client,a,b,maxX = 0.2,maxY = 0.05 ,maxZ = 0.05, sizeObjec
         print "x_dir = ",x_dir.tolist()
         #print "obj points after transform : ",objPoints
         print "sizeObject after  transform : ",size_r.tolist()
-        
+    """    
     maxs = [maxX,maxX,maxY,maxY,maxZ,maxZ]
     
     if VERBOSE : 
@@ -350,11 +352,11 @@ def large_col_free_box(client,a,b,maxX = 0.2,maxY = 0.05 ,maxZ = 0.05, sizeObjec
     z_prev = 0.001
     x_prev = x # original lenght of the rrt solution
     
-    collision = not client.isBoxAroundAxisCollisionFree(center.tolist(),x_dir.tolist(),dimWithSizeObject([x,x,y_prev,y_prev,z_prev,z_prev],size_r),margin)
+    collision = not client.isBoxAroundAxisCollisionFree(center.tolist(),x_dir.tolist(),[x,x,y_prev,y_prev,z_prev,z_prev],sizeObject,margin)
     #assert not collision and "initial box is already in collision, limb-rrt path cannot be approximated by a straight line."    
     if collision :
         print "!! initial box is already in collision, limb-rrt path cannot be approximated by a straight line." 
-        return computeBoxVertices(client,center,x_dir,dimWithSizeObject([x,x,y_prev,y_prev,z_prev,z_prev],size_r))
+        return computeBoxVertices(client,center,x_dir,[x,x,y_prev,y_prev,z_prev,z_prev],sizeObject)
     # By dichotomy : find the maximal value for y,z with a uniform scaling leading to a collision-free box
     it = 0
     found = False
@@ -363,7 +365,7 @@ def large_col_free_box(client,a,b,maxX = 0.2,maxY = 0.05 ,maxZ = 0.05, sizeObjec
         y = (y_max - y_prev)/2. + y_prev
         z = (z_max - z_prev)/2. + z_prev
         #print "try "+str(y)+" , "+str(z)
-        collision = not client.isBoxAroundAxisCollisionFree(center.tolist(),x_dir.tolist(),dimWithSizeObject([x,x,y,y,z,z],size_r),margin)
+        collision = not client.isBoxAroundAxisCollisionFree(center.tolist(),x_dir.tolist(),[x,x,y,y,z,z],sizeObject,margin)
         if collision :
             #print "collision"
             y_max = y
@@ -388,7 +390,7 @@ def large_col_free_box(client,a,b,maxX = 0.2,maxY = 0.05 ,maxZ = 0.05, sizeObjec
     it = 0
     while not found and it < 100:
         x = (x_max - x_prev)/2. + x_prev
-        collision = not client.isBoxAroundAxisCollisionFree(center.tolist(),x_dir.tolist(),dimWithSizeObject([x,x,y,y,z,z],size_r),margin)
+        collision = not client.isBoxAroundAxisCollisionFree(center.tolist(),x_dir.tolist(),[x,x,y,y,z,z],sizeObject,margin)
         if collision :
             x_max = x
         else :
@@ -413,7 +415,7 @@ def large_col_free_box(client,a,b,maxX = 0.2,maxY = 0.05 ,maxZ = 0.05, sizeObjec
         for i in range(6):
             if dim[i] < maxs[i] :
                 dim[i] += step
-                collision = not client.isBoxAroundAxisCollisionFree(center.tolist(),x_dir.tolist(),dimWithSizeObject(dim,size_r),margin)
+                collision = not client.isBoxAroundAxisCollisionFree(center.tolist(),x_dir.tolist(),dim,sizeObject,margin)
                 if collision :
                     dim[i] -= step
                 else :
@@ -440,7 +442,7 @@ def large_col_free_box(client,a,b,maxX = 0.2,maxY = 0.05 ,maxZ = 0.05, sizeObjec
     if VERBOSE : 
         print "dimensions after applying sizeObject : ",dim
     """    
-    points = computeBoxVertices(client,center,x_dir,dimWithSizeObject(dim,size_r))
+    points = computeBoxVertices(client,center,x_dir,dim,sizeObject)
     if VERBOSE :
         print "final points list : ",points
     return points
@@ -453,10 +455,12 @@ def large_col_free_box(client,a,b,maxX = 0.2,maxY = 0.05 ,maxZ = 0.05, sizeObjec
 def computeInequalitiesAroundLine(fullBody,p_from,p_to,eeName,groupName,viewer):
     a = p_from.translation.T.tolist()[0]
     b = p_to.translation.T.tolist()[0]
-    # size of the end effector (x,y,z)
+    # size of the end effector (-x,x,-y,y,-z,z)
     size_diagonal = math.sqrt(cfg.Robot.dict_size[eeName][0]**2 + cfg.Robot.dict_size[eeName][1]**2)  #TODO margin ??
     #size = [size_diagonal/2., size_diagonal/2.,0.001]
-    size = [cfg.Robot.dict_size[eeName][0]/2., cfg.Robot.dict_size[eeName][1]/2.,0.001]
+    size = [-cfg.Robot.dict_size[eeName][0]/2.,cfg.Robot.dict_size[eeName][0]/2.,
+            -cfg.Robot.dict_size[eeName][1]/2.,cfg.Robot.dict_size[eeName][1]/2.,
+            -0.001,0.001]
     #size=[0,0,0] #FIXME debug    
     """
     size_r = np.array(size)
@@ -520,10 +524,10 @@ def filterWPs(fullBody,eeName,wps,t):
     while i < len(wps)-1 :
         i_end = i+1        
         use = False
-        print "- while i = ",i
+        #print "- while i = ",i
         for id in i_mid :
             d = distPointLine(pts[id],pts[i_begin],pts[i_end])
-            print "d = ",d
+            #print "d = ",d
             if d > EPS:
                 use = True
         if use :