Skip to content

Commit

Permalink
LuGre friction model parameters added to ETH protocol (#99)
Browse files Browse the repository at this point in the history
Co-authored-by: marco.accame <[email protected]>
  • Loading branch information
ale-git and marcoaccame authored Jan 9, 2025
1 parent 2e69b4e commit c6be593
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 5 deletions.
3 changes: 1 addition & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@

cmake_minimum_required(VERSION 3.12)

project(icub_firmware_shared
VERSION 1.41.1)
project(icub_firmware_shared VERSION 1.41.2)

find_package(YCM 0.11.0 REQUIRED)

Expand Down
21 changes: 18 additions & 3 deletions eth/embobj/plus/comm-v2/icub/EoMotionControl.h
Original file line number Diff line number Diff line change
Expand Up @@ -692,6 +692,21 @@ typedef struct // size is 1+3+8+0 = 12
eOmc_setpoint_data_t to;
} eOmc_setpoint_t; EO_VERIFYsizeof(eOmc_setpoint_t, 12)

typedef struct
{
float Km;
float Kw;
float S0;
float S1;
float Vth;
float Fc_pos;
float Fc_neg;
float Fs_pos;
float Fs_neg;
} eOmc_LuGre_params_t; EO_VERIFYsizeof(eOmc_LuGre_params_t, 36)

// -- all the possible data holding structures used in a LuGre frction model

typedef struct
{
float bemf_value;
Expand All @@ -704,7 +719,6 @@ typedef struct

// -- all the possible data holding structures used in a motor


typedef struct
{
uint16_t tresh; /**< Current threshold */
Expand Down Expand Up @@ -1017,7 +1031,8 @@ typedef struct // size is: 40+40+4+4+4+6+2+1+1+1+1+4+2+2+8 = 12
eOmeas_pwm_t pwmLimit; /**< the pwm limit of the motor */
eOmeas_temperature_t temperatureLimit; /**< the motor temperature limit */
eOmeas_position_limits_t limitsofrotor; /**< rotor limits */
} eOmc_motor_config_t; EO_VERIFYsizeof(eOmc_motor_config_t, 120);
eOmc_LuGre_params_t LuGre_params; /**< the LuGre friction model parameters */
} eOmc_motor_config_t; EO_VERIFYsizeof(eOmc_motor_config_t, 156);



Expand Down Expand Up @@ -1054,7 +1069,7 @@ typedef struct // size is 120+24+0 = 144
{
eOmc_motor_config_t config; /**< the configuration of the motor */
eOmc_motor_status_t status; /**< the status of the motor */
} eOmc_motor_t; EO_VERIFYsizeof(eOmc_motor_t, 144);
} eOmc_motor_t; EO_VERIFYsizeof(eOmc_motor_t, 180);


// -- the definition of a controller containing a given number of joints and motors
Expand Down

0 comments on commit c6be593

Please sign in to comment.