diff --git a/scripts/utils_mpc.py b/scripts/utils_mpc.py
index 8ef1e1ef48e05d8190e0017638184d1424e4f7e9..eb19e21c043e6fd9c47de4e255c5816be26bf49b 100644
--- a/scripts/utils_mpc.py
+++ b/scripts/utils_mpc.py
@@ -2,109 +2,9 @@ import math
 import numpy as np
 
 from example_robot_data.robots_loader import Solo12Loader
-
-import Joystick
-import Logger
 import pinocchio as pin
 
 
-######################################
-# RPY / Quaternion / Rotation matrix #
-######################################
-
-
-def getQuaternion(rpy):
-    """Roll Pitch Yaw (3 x 1) to Quaternion (4 x 1)"""
-
-    c = np.cos(rpy*0.5)
-    s = np.sin(rpy*0.5)
-    cy = c[2, 0]
-    sy = s[2, 0]
-    cp = c[1, 0]
-    sp = s[1, 0]
-    cr = c[0, 0]
-    sr = s[0, 0]
-
-    w = cy * cp * cr + sy * sp * sr
-    x = cy * cp * sr - sy * sp * cr
-    y = sy * cp * sr + cy * sp * cr
-    z = sy * cp * cr - cy * sp * sr
-
-    return np.array([[x, y, z, w]]).transpose()
-
-
-def quaternionToRPY(quat):
-    """Quaternion (4 x 0) to Roll Pitch Yaw (3 x 1)"""
-
-    qx = quat[0]
-    qy = quat[1]
-    qz = quat[2]
-    qw = quat[3]
-
-    rotateXa0 = 2.0*(qy*qz + qw*qx)
-    rotateXa1 = qw*qw - qx*qx - qy*qy + qz*qz
-    rotateX = 0.0
-
-    if (rotateXa0 != 0.0) and (rotateXa1 != 0.0):
-        rotateX = np.arctan2(rotateXa0, rotateXa1)
-
-    rotateYa0 = -2.0*(qx*qz - qw*qy)
-    rotateY = 0.0
-    if (rotateYa0 >= 1.0):
-        rotateY = np.pi/2.0
-    elif (rotateYa0 <= -1.0):
-        rotateY = -np.pi/2.0
-    else:
-        rotateY = np.arcsin(rotateYa0)
-
-    rotateZa0 = 2.0*(qx*qy + qw*qz)
-    rotateZa1 = qw*qw + qx*qx - qy*qy - qz*qz
-    rotateZ = 0.0
-    if (rotateZa0 != 0.0) and (rotateZa1 != 0.0):
-        rotateZ = np.arctan2(rotateZa0, rotateZa1)
-
-    return np.array([[rotateX], [rotateY], [rotateZ]])
-
-
-def EulerToQuaternion(roll_pitch_yaw):
-    """Roll Pitch Yaw to Quaternion"""
-
-    roll, pitch, yaw = roll_pitch_yaw
-    sr = math.sin(roll/2.)
-    cr = math.cos(roll/2.)
-    sp = math.sin(pitch/2.)
-    cp = math.cos(pitch/2.)
-    sy = math.sin(yaw/2.)
-    cy = math.cos(yaw/2.)
-    qx = sr * cp * cy - cr * sp * sy
-    qy = cr * sp * cy + sr * cp * sy
-    qz = cr * cp * sy - sr * sp * cy
-    qw = cr * cp * cy + sr * sp * sy
-    return [qx, qy, qz, qw]
-
-
-def EulerToRotation(roll, pitch, yaw):
-    c_roll = math.cos(roll)
-    s_roll = math.sin(roll)
-    c_pitch = math.cos(pitch)
-    s_pitch = math.sin(pitch)
-    c_yaw = math.cos(yaw)
-    s_yaw = math.sin(yaw)
-    Rz_yaw = np.array([
-        [c_yaw, -s_yaw, 0],
-        [s_yaw,  c_yaw, 0],
-        [0, 0, 1]])
-    Ry_pitch = np.array([
-        [c_pitch, 0, s_pitch],
-        [0, 1, 0],
-        [-s_pitch, 0, c_pitch]])
-    Rx_roll = np.array([
-        [1, 0, 0],
-        [0, c_roll, -s_roll],
-        [0, s_roll,  c_roll]])
-    # R = RzRyRx
-    return np.dot(Rz_yaw, np.dot(Ry_pitch, Rx_roll))
-
 ##################
 # Initialisation #
 ##################
@@ -184,25 +84,6 @@ def init_robot(q_init, params, enable_viewer):
 
     return solo
 
-
-def init_objects(params):
-    """Create several objects that are used in the control loop
-
-    Args:
-        dt_tsid (float): time step of TSID
-        k_max_loop (int): maximum number of iterations of the simulation
-        predefined (bool): if we are using a predefined reference velocity (True) or a joystick (False)
-        h_init (float): initial height of the robot base
-        kf_enabled (bool): complementary filter (False) or kalman filter (True)
-        perfectEstimator (bool): if we use a perfect estimator
-    """
-
-    # Create Joystick object
-    joystick = Joystick.Joystick(params)
-
-    return joystick
-
-
 def display_all(solo, k, sequencer, fstep_planner, ftraj_gen, mpc):
     """Update various objects in the Gepetto viewer: the Solo robot as well as debug spheres
 
@@ -230,12 +111,3 @@ def display_all(solo, k, sequencer, fstep_planner, ftraj_gen, mpc):
     qu_pinocchio[3:7] = getQuaternion(np.array([mpc.q_w[3:6, 0]])).flatten()
     # Refresh the gepetto viewer display
     solo.display(qu_pinocchio)
-
-
-def getSkew(a):
-    """Returns the skew matrix of a 3 by 1 column vector
-
-    Keyword arguments:
-    a -- the column vector
-    """
-    return np.array([[0, -a[2], a[1]], [a[2], 0, -a[0]], [-a[1], a[0], 0]], dtype=a.dtype)