Skip to content

[cpp] LeapController::read_pos_vel_cur() returns wrong values for the velocity and current for certain finger motions #21

@PasMarra

Description

@PasMarra

I am performing this open-close test with the fingers and i am experiencing an issue with the cpp API (which does not appear with the python API)

MicrosoftTeams-video.1.mp4

While moving the finger, i read its state (position, velocity and current) using LeapController::read_pos_vel_cur() and i get:

[INFO] [lh-move-fingers::printInfoAndLog] TESTING - LEAP Hand 
DES  - Position [rad]:		 4.87752 
MEAS - Position [rad]:		 4.87806 
MEAS - Velocity [rad/s]:	 0.0239808 
MEAS - Current [mA]:		 12
[INFO] [lh-move-fingers::printInfoAndLog] TESTING - LEAP Hand 
DES  - Position [rad]:		 4.87585 
MEAS - Position [rad]:		 4.87806 
MEAS - Velocity [rad/s]:	 0.0239808 
MEAS - Current [mA]:		 0
[INFO] [lh-move-fingers::printInfoAndLog] TESTING - LEAP Hand 
DES  - Position [rad]:		 4.87401 
MEAS - Position [rad]:		 4.87806 
MEAS - Velocity [rad/s]:	 0.0239808 
MEAS - Current [mA]:		 4.29497e+09
[INFO] [lh-move-fingers::printInfoAndLog] TESTING - LEAP Hand 
DES  - Position [rad]:		 4.87198 
MEAS - Position [rad]:		 4.87652 
MEAS - Velocity [rad/s]:	 1.02997e+08 
MEAS - Current [mA]:		 4.29497e+09

Those prints correspond to the moments when the finger motion changes direction (from closing to opening). As you can see, the velocity and current values become incorrect (in the 3rd and 4th print) as soon as the motion reverses, and they retain those incorrect values throughout the rest of the trajectory.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions