While running some experiments @isorrentino noticed that the robot did some strange motion while using the latest master of blf https://github.com/dic-iit/bipedal-locomotion-framework/commit/bbafe597b4a417ea8eea2b64e9eb2f1763736b1a with https://github.com/isorrentino/iCub-torque-control
I tried to replicate the experiment in simulation on my pc and the robot did this unexpected motion.
With this commit https://github.com/dic-iit/bipedal-locomotion-framework/commit/0ff6472e693eb0f0746b10e32aff67e60be61693 the robot behaves as expected.
cc @S-Dafarra @traversaro @nunoguedelha @paolo-viceconte
I run a git-bisect and I obtained the following outcome
05464849872b45e033c37f0043472de44cf8ffb4 is the first bad commit
commit 05464849872b45e033c37f0043472de44cf8ffb4
Author: Giulio Romualdi <[email protected]>
Date: Tue Jun 22 14:08:17 2021 +0200
Add the possibility to set a desired PWM in IRobotControl
.../RobotInterface/YarpRobotControl.h | 6 +++--
.../YarpImplementation/src/YarpRobotControl.cpp | 28 +++++++++++++++++++++-
.../RobotInterface/IRobotControl.h | 1 +
3 files changed, 32 insertions(+), 3 deletions(-)
This is the log of the bisect
git bisect start
# good: [0ff6472e693eb0f0746b10e32aff67e60be61693] Changes after review of QPFixedBaseTSID
git bisect good 0ff6472e693eb0f0746b10e32aff67e60be61693
# bad: [bbafe597b4a417ea8eea2b64e9eb2f1763736b1a] Merge pull request #359 from isorrentino/updateSensorBridge
git bisect bad bbafe597b4a417ea8eea2b64e9eb2f1763736b1a
# good: [ee6540afc63bd2cd13824f476ec5ed7ebbe04308] Update the CHANGELOG
git bisect good ee6540afc63bd2cd13824f476ec5ed7ebbe04308
# bad: [1bd88a26849ebc076dce39d928bb489eb381f0e7] Merge pull request #361 from dic-iit/feature/calibrator
git bisect bad 1bd88a26849ebc076dce39d928bb489eb381f0e7
# bad: [74c9bae880b1118b0a98b3cbbb136a08e648f9b9] Merge pull request #346 from dic-iit/feature/pwm
git bisect bad 74c9bae880b1118b0a98b3cbbb136a08e648f9b9
# good: [b17185a76e5eb79047766cb53f0c420636b0d43d] Draw the first implementation of CubicSpline
git bisect good b17185a76e5eb79047766cb53f0c420636b0d43d
# good: [147e21aecaa6d74ab7b7ce4f5cd603973e783c9a] Update CHANGELOG.md
git bisect good 147e21aecaa6d74ab7b7ce4f5cd603973e783c9a
# bad: [05464849872b45e033c37f0043472de44cf8ffb4] Add the possibility to set a desired PWM in IRobotControl
git bisect bad 05464849872b45e033c37f0043472de44cf8ffb4
# good: [530c18b7d8d6032432f119fc2d7d3de1839273c6] Merge pull request #344 from dic-iit/feature/cubic_spline
git bisect good 530c18b7d8d6032432f119fc2d7d3de1839273c6
05464849872b45e033c37f0043472de44cf8ffb4 introduced a regression
Here the bug
should be
if (mode == ControlMode::Torque || mode == ControlMode::PWM)
馃う馃徎
Fortunately, v0.2.0 is not affected by the bug.
Most helpful comment
Here the bug
https://github.com/dic-iit/bipedal-locomotion-framework/blob/05464849872b45e033c37f0043472de44cf8ffb4/src/RobotInterface/YarpImplementation/src/YarpRobotControl.cpp#L517
should be
馃う馃徎