Skip to content

Commit

Permalink
LuGre section not mandatory
Browse files Browse the repository at this point in the history
  • Loading branch information
ale-git committed Nov 7, 2024
1 parent 111db45 commit a0168f1
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1380,14 +1380,14 @@ bool embObjMotionControl::init()
jconfig.impedance.offset = 0;

jconfig.lugre_params.Km = _lugre_params[logico].Km;
jconfig.lugre_params.Kw = _lugre_params[logico].Kw;
jconfig.lugre_params.S0 = _lugre_params[logico].S0;
jconfig.lugre_params.S1 = _lugre_params[logico].S1;
jconfig.lugre_params.Vth = _lugre_params[logico].Vth;
jconfig.lugre_params.Fc_pos = _lugre_params[logico].Fc_pos;
jconfig.lugre_params.Fc_neg = _lugre_params[logico].Fc_neg;
jconfig.lugre_params.Fs_pos = _lugre_params[logico].Fs_pos;
jconfig.lugre_params.Fs_neg = _lugre_params[logico].Fs_neg;
jconfig.lugre_params.Kw = _lugre_params[logico].Kw;
jconfig.lugre_params.S0 = _lugre_params[logico].S0;
jconfig.lugre_params.S1 = _lugre_params[logico].S1;
jconfig.lugre_params.Vth = _lugre_params[logico].Vth;
jconfig.lugre_params.Fc_pos = _lugre_params[logico].Fc_pos;
jconfig.lugre_params.Fc_neg = _lugre_params[logico].Fc_neg;
jconfig.lugre_params.Fs_pos = _lugre_params[logico].Fs_pos;
jconfig.lugre_params.Fs_neg = _lugre_params[logico].Fs_neg;

_cacheImpedance[logico].stiffness = jconfig.impedance.stiffness;
_cacheImpedance[logico].damping = jconfig.impedance.damping;
Expand Down
9 changes: 7 additions & 2 deletions src/libraries/icubmod/embObjMotionControl/eomcParser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2482,8 +2482,13 @@ bool Parser::parseLugreGroup(yarp::os::Searchable &config,std::vector<lugreParam

if(lugreGroup.isNull())
{
yError() <<"embObjMC BOARD " << _boardname << "fromConfig(): Error: no LUGRE group found in config file, returning";
return false;
for (int j = 0; j<_njoints; ++j)
{
lugre[j].S0 = 0.0;
}

yWarning() <<"embObjMC BOARD " << _boardname << "fromConfig(): Warning: no LUGRE group found in config file, returning";
return true;
}


Expand Down
26 changes: 14 additions & 12 deletions src/libraries/icubmod/embObjMotionControl/eomcParser.h
Original file line number Diff line number Diff line change
Expand Up @@ -510,20 +510,22 @@ typedef struct
impedanceLimits_t limits;
} impedanceParameters_t;


// LuGre friction model parameters
typedef struct
{
double Km;
double Kw;
double S0;
double S1;
double Vth;
double Fc_pos;
double Fc_neg;
double Fs_pos;
double Fs_neg;
double tbd0;
double tbd1;
double tbd2;
double Km; // Motor torque constant (not strictly LuGre) but required to compute the net torque
double Kw; // Viscous friction constant
double S0; // LuGre bristle analogy eleastic constant
double S1; // LuGre bristle analogy viscous constant
double Vth; // Stribeck velocity threshold
double Fc_pos; // Coulomb friction constant (positive rotation)
double Fc_neg; // Coulomb friction constant (negative rotation)
double Fs_pos; // Stribeck friction constant (positive rotation)
double Fs_neg; // Stribeck friction constant (negative rotation)
double tbd0; // for future use?
double tbd1; // for future use?
double tbd2; // for future use?
} lugreParameters_t;

typedef struct
Expand Down

0 comments on commit a0168f1

Please sign in to comment.