diff --git a/scripts/Joystick.py b/scripts/Joystick.py index 1ffd1aa320d9c7aca12ae178db571d650f2e2fc3..f12592fd3820ffe215bbcc6195f3362d94ddf5fe 100644 --- a/scripts/Joystick.py +++ b/scripts/Joystick.py @@ -201,13 +201,13 @@ class Joystick: 0.0, 0.0, 0.0, 0.0, R_max, R_max, 0.0, 0.0, -R_max, 0.0]) elif velID == 2: - self.t_switch = np.array([0, 14, 28, 40, 60]) - self.v_switch = np.array([[0.0, 0.7, 1.3, 1.3, 1.3], + self.t_switch = np.array([0, 5, 8, 10, 12]) + self.v_switch = np.array([[0.0, 0.8, 0.8, 0.8, 0.8 ], [0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0], - [0.0, 0.0, 0.0, 0.0, 0.0]]) + [0.0, 0., 1., 0., -1. ]]) elif velID == 3: self.t_switch = np.array([0, 2, 6, 8, 12, 60]) self.v_switch = np.array([[0.0, 0.0, 0.4, 0.4, 0.0, 0.0], diff --git a/scripts/main_solo12_control.py b/scripts/main_solo12_control.py index 321983edb8b4e628c95ec074f436935e6535d114..59e7eb9f65f59ccd6cb948af1d78e7a782fef05b 100644 --- a/scripts/main_solo12_control.py +++ b/scripts/main_solo12_control.py @@ -176,11 +176,11 @@ def control_loop(name_interface_clone=None, des_vel_analysis=None): t_log_whole = np.zeros((params.N_SIMULATION)) k_log_whole = 0 t_start_whole = 0.0 - T_whole = time.clock() + T_whole = time.time() dT_whole = 0.0 while ((not device.is_timeout) and (t < t_max) and (not controller.error)): - t_start_whole = time.clock() + t_start_whole = time.time() # Update sensor data (IMU, encoders, Motion capture) device.parse_sensor_data() @@ -251,7 +251,7 @@ def control_loop(name_interface_clone=None, des_vel_analysis=None): t += params.dt_wbc # Increment loop time dT_whole = T_whole - T_whole = time.clock() + T_whole = time.time() dT_whole = T_whole - dT_whole t_log_whole[k_log_whole] = t_end_whole - t_start_whole diff --git a/src/config_solo12.yaml b/src/config_solo12.yaml index 5c9d455c7a673694f8972fd7b52245f81dc7537b..ca0cef1a7fde5144a13b9420897d3a9839a63f35 100644 --- a/src/config_solo12.yaml +++ b/src/config_solo12.yaml @@ -2,16 +2,16 @@ robot: # General parameters interface: enp2s0 # Name of the communication interface (check with ifconfig) SIMULATION: true # Enable/disable PyBullet simulation or running on real robot - LOGGING: false # Enable/disable logging during the experiment - PLOTTING: true # Enable/disable automatic plotting at the end of the experiment + LOGGING: true # Enable/disable logging during the experiment + PLOTTING: false # Enable/disable automatic plotting at the end of the experiment envID: 0 # Identifier of the environment to choose in which one the simulation will happen use_flat_plane: true # If True the ground is flat, otherwise it has bumps predefined_vel: true # If we are using a predefined reference velocity (True) or a joystick (False) - velID: 3 # Identifier of the reference velocity profile to choose which one will be sent to the robot - N_SIMULATION: 15000 # Number of simulated wbc time steps + velID: 2 # Identifier of the reference velocity profile to choose which one will be sent to the robot + N_SIMULATION: 30000 # Number of simulated wbc time steps enable_pyb_GUI: true # Enable/disable PyBullet GUI enable_corba_viewer: false # Enable/disable Corba Viewer - enable_multiprocessing: true # Enable/disable running the MPC in another process in parallel of the main loop + enable_multiprocessing: false # Enable/disable running the MPC in another process in parallel of the main loop perfect_estimator: false # Enable/disable perfect estimator by using data directly from PyBullet # General control parameters @@ -22,7 +22,7 @@ robot: dt_mpc: 0.02 # Time step of the model predictive control T_gait: 0.48 # Duration of one gait period T_mpc: 0.48 # Duration of the prediction horizon - type_MPC: 0 # Which MPC solver you want to use: 0 for OSQP MPC, 1, 2, 3 for Crocoddyl MPCs + type_MPC: 1 # Which MPC solver you want to use: 0 for OSQP MPC, 1, 2, 3 for Crocoddyl MPCs kf_enabled: false # Use complementary filter (False) or kalman filter (True) for the estimator Kp_main: 6.0 # Proportional gains for the PD+ Kd_main: 0.3 # Derivative gains for the PD+