ADVRHumanoids / CartesianInterface

Package for generic cartesian control of floating base robots. It includes a ROS-based front end, as well as a programmatic API that can be used inside a real-time loop.
GNU General Public License v3.0
19 stars 1 forks source link

Opened new branch [edo] for the inverse dynamics solver #32

Open edoardolamon opened 5 years ago

edoardolamon commented 5 years ago

Hi, in the [edo] branch you can find the integration of the inverse dynamics solver OpenSotAcc with the Cartesian Interface. Tested on fixed base robots, there are some issues with the velocity limits (added in the constraints of the stack.yaml file). In this case, the solver seems to not to converge, while removing them seems to improve the convergence. Moreover, it is needed to fix the lambda values, that are not consistent with the kinematic version of the solver and to add the lambda_1 and lambda_2 variables.

EnricoMingo commented 5 years ago

Ok so let's use the power of markdown, we have three issues at the moment:

  1. Velocity Limits which looks like should be tuned for the acceleration level control
  2. lambda consistency with the velocity level control
  3. lambda1 and lambda2 tuning

I will add check boxes as well to track the ones which are done:

EnricoMingo commented 5 years ago

For what concern issue 2: the lambda in the velocity level control is independent from the control rate, while te one of the acceleration is dependent. I suppose that to make the second one independent and equivalent we should divide the value by dt^2 (and for lambda2 by dt).

edoardolamon commented 5 years ago

The values of lambda1 and lambda2 are now set correctly but in the stack file we read lambda that is consistent with the kinematic version of the solver. In a future update we wil be able to set them directly in the stack file.