getReference return a zero twist
Closed this issue · 3 comments
as the title suggest, there is a problem when getReference is called. The Vector6d is empty.
Hi @graiola, good catch! This is a bug indeed due to a safety mechanism in OpenSoT: basically at every loop, all the quantities different from a pose are set to 0 inside the task.
This is true for the following tasks:
Velocity Tasks:
- Cartesian
- CoM
- Postural
Acceleration Tasks:
- Cartesian
- CoM
- Postural
The same issue is present as well in some more testing tasks (QPPVM
or Centroidal Dynamics
) which for now I will not consider in this issue.
To solve this issue I will copy the last value (before setting to 0) into a buffer which will be returned instead of the actual value. I will start with the acceleration task.
For the moment, you can get the velocity twist reference BEFORE calling the update()
.
Fixed in issue151
branch. Needs to be tested.
I have updated the documentation accordingly.