ADVRHumanoids/CartesianInterface

Feedback from SLAM/State estimator

Opened this issue · 5 comments

If possible, I would like for a feedback loop allowing for the cartesian interface to know the actual robot situation based on COM/ leg pose estimates from SLAM or another state estimator, so that it keeps sending trajectories as well as that the Cartesian model is in sync with the real robot. For example, say it listens to another topic for the pose of the robot and makes corrections based on that. On gazebo this would mean taking joint poses from gazebo and giving it to the interface, on the real robot, the SLAM will be publishing to a topic cartesian interface is listening to.

As we discussed today, we'll try to integrate continuous world pose feedback in CartesIO, in order to compensate for tracking errors. Main steps are

  • binary installation of the framework at the current version (2.0)
  • simulator testing
  • upgrade CartesIO to a modified version which allows for online world pose modification

I'll update this issue when I have something

  • comment out from the .bashrc the line sourcing the superbuild
  • Download the binary package for 16.04-gazebo8, and install it with the provided install.sh script. Then, add source /opt/xbot/setup.sh to your .bashrc file.
  • check that you can correctly run the CartesIO2.0 tutorial
  • now you should be able to restore your superbuild environment by
    • renaming the build folder to something different e.g. build.old, so that you can restore it in case you need it
    • re-create the build folder and compile your own packages only; they should link against the framework dependencies from the binary distro (/opt/xbot/...)
    • uncomment the sourcing of the superbuild environment

Please let me know if you encounter any issue, thanks!

From d8b40b5, you are able to override the floating base (pelvis link in the case of Centauro) pose from the topic base_pose_override. Updated binaries attached

xenial-16.04-2020_09_25_10_19_17.zip

Let me know if there are any issues! @vigisushrutha23

Hello @alaurenzi . I have tried the reset base option. But I am getting some oscillations as can be seen in the attached video. I guess this is a problem with some controller gains?. If so, can you please tell me how to tune them? Thanks.
oscillation.zip

  • open this config file or the equivalent one that you are using; decrease the lambda parameter for the car_frame task by a factor 10 (to start) -> lam = 0.01
  • set the xbotcore filter rate to fast