Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support specifying the FT sensors to use in the estimation via multipleAnalogSensorsNames::SixAxisForceTorqueSensorsNames without the need to modify the loaded URDF #194

Merged
merged 4 commits into from
Jul 12, 2024

Conversation

traversaro
Copy link
Member

@traversaro traversaro commented Jul 10, 2024

In particular:

  • As also before the PR, the FT sensors to load are specified by the multipleAnalogSensorsNames::SixAxisForceTorqueSensorsNames parameter. This PR just changes the logic so that the list of FT sensors loaded by the model are modified to only include the sensors specified in the multipleAnalogSensorsNames::SixAxisForceTorqueSensorsNames. So, after this PR you can just specify the FT sensors to use by editing the multipleAnalogSensorsNames::SixAxisForceTorqueSensorsNames list, without any need to modify the URDF (the only thing that you need to make sure is that the FT sensors specified in the URDF are a superset of the one specified in multipleAnalogSensorsNames::SixAxisForceTorqueSensorsNames .
  • The logic for the temperature compensation have been changed. If the temperature compensation is enabled, it is compulsory that all the FT sensors used provide temperature readings.
  • The documentation for temperature-compensation and related parameter has been consolidated in the README.
  • The multipleAnalogSensorsNames::TemperatureSensorsNames parameter to specify the temperature sensors to use is not supported anymore, as if the temperature compensation is used, it will be assumed that all the sensors specified in multipleAnalogSensorsNames::SixAxisForceTorqueSensorsNames also provide a temperature sensor with the same name.

Fix #183 .
Fix #32 .

@GiulioRomualdi
Copy link
Member

@traversaro, this feature is a dream! I appreciate it!

@isorrentino
Copy link
Collaborator

Thanks a lot @traversaro! Just a curiosity, have you already tested the PR on the robot?

@traversaro
Copy link
Member Author

Thanks a lot @traversaro! Just a curiosity, have you already tested the PR on the robot?

No, I just tested it on the test added in #177 (catching a couple of bugs). The PR does not need any change in the configuration files, so it should be quite straightforward to test on the robot.

traversaro and others added 2 commits July 11, 2024 09:39
@traversaro
Copy link
Member Author

The pixi crash on Windows was a byproduct of switching from Visual Studio to Ninja, by doing so the default build type switched to Debug, and conda-forge binaries are not compatible with Debug. Changing to have explicit build type for all projects fixed the problem.

@traversaro
Copy link
Member Author

CI is happy, PR is ready for review/test on robot/merge.

@S-Dafarra
Copy link
Collaborator

With @LoreMoretti we tested it on the robot. We did the following modification

diff --git a/ergoCubSN002/estimators/wholebodydynamics.xml b/ergoCubSN002/estimators/wholebodydynamics.xml
index b662ac180..84e479e7b 100644
--- a/ergoCubSN002/estimators/wholebodydynamics.xml
+++ b/ergoCubSN002/estimators/wholebodydynamics.xml
@@ -27,7 +27,7 @@
   </group>
 
   <group name="multipleAnalogSensorsNames">
-    <param name="SixAxisForceTorqueSensorsNames">(l_leg_ft, l_foot_front_ft, l_foot_rear_ft, r_leg_ft, r_foot_front_ft, r_foot_rear_ft, r_arm_ft, l_arm_ft)</param>
+    <param name="SixAxisForceTorqueSensorsNames">(l_foot_front_ft, l_foot_rear_ft, r_foot_front_ft, r_foot_rear_ft, r_arm_ft, l_arm_ft)</param>
   </group>
 

Here is the result with the robot on the ground
Screenshot from 2024-07-12 09-59-17

There is no force on the legs 🥳

@traversaro
Copy link
Member Author

Great, thanks!

@traversaro traversaro merged commit 80d45bf into master Jul 12, 2024
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants