jrl-umi3218 / lipm_walking_controller

Walking controller based on linear inverted pendulum tracking
BSD 2-Clause "Simplified" License
18 stars 11 forks source link

Problem by running lipm_walking_controller with mc_rtc_ticker #42

Closed Aimiliospet closed 2 years ago

Aimiliospet commented 2 years ago

Hello Everyone, After having some problems with installing hrpsys-base in ubuntu 18.04 i decided to try to just run the lipm_walking_controller with the mc_rtc_ticker in the rviz ros environmet. When calling the controller with _rosrun mc_rtc_ticker mc_rtcticker and having the mc_rtc.yaml file configured:

MainRobot: JVRC1
Enabled: ["LIPMWalking"]

im getting an error concerning observers. I tried adding the simple example for an observer from _https://jrl-umi3218.github.io/mc_rtc/tutorials/recipes/observers.html_ but didnt solve it. The whole error message is the following:

aimpet@aimpets-ubuntu:~$ rosrun mc_rtc_ticker mc_rtc_ticker
[info] Loading default global configuration /usr/local/etc/mc_rtc.yaml
[info] Loading additional global configuration "/home/aimpet/.config/mc_rtc/mc_rtc.yaml"
[info] Enabled plugins: ROS (autoload)
[info] GUI server enabled
[info] Will serve data on:
[info] - ipc:///tmp/mc_rtc_pub.ipc
[info] - tcp://*:4242
[info] Will handle requests on:
[info] - ipc:///tmp/mc_rtc_rep.ipc
[info] - tcp://*:4343
[info] Loading additional plugin configuration: "/usr/local/lib/mc_plugins/etc/ROS.yaml"
[info] Loading additional controller configuration: "/usr/local/lib/mc_controller/etc/LIPMWalking.yaml"
[info] Loading additional controller configuration: "/home/aimpet/.config/mc_rtc/controllers/LIPMWalking.conf"
[info] Create controller LIPMWalking
[warning] No calibration file /home/aimpet/reemc_mc_rtc/catkin_data_ws/src/mc_rtc_data/jvrc_description/calib/jvrc1/calib_data.RightFootForceSensor found for force sensor RightFootForceSensor
[warning] No calibration file /home/aimpet/reemc_mc_rtc/catkin_data_ws/src/mc_rtc_data/jvrc_description/calib/jvrc1/calib_data.LeftFootForceSensor found for force sensor LeftFootForceSensor
[warning] No calibration file /home/aimpet/reemc_mc_rtc/catkin_data_ws/src/mc_rtc_data/jvrc_description/calib/jvrc1/calib_data.RightHandForceSensor found for force sensor RightHandForceSensor
[warning] No calibration file /home/aimpet/reemc_mc_rtc/catkin_data_ws/src/mc_rtc_data/jvrc_description/calib/jvrc1/calib_data.LeftHandForceSensor found for force sensor LeftHandForceSensor
[warning] No calibration file /home/aimpet/reemc_mc_rtc/catkin_data_ws/src/mc_rtc_data/jvrc_description/calib/jvrc1/calib_data.RightFootForceSensor found for force sensor RightFootForceSensor
[warning] No calibration file /home/aimpet/reemc_mc_rtc/catkin_data_ws/src/mc_rtc_data/jvrc_description/calib/jvrc1/calib_data.LeftFootForceSensor found for force sensor LeftFootForceSensor
[warning] No calibration file /home/aimpet/reemc_mc_rtc/catkin_data_ws/src/mc_rtc_data/jvrc_description/calib/jvrc1/calib_data.RightHandForceSensor found for force sensor RightHandForceSensor
[warning] No calibration file /home/aimpet/reemc_mc_rtc/catkin_data_ws/src/mc_rtc_data/jvrc_description/calib/jvrc1/calib_data.LeftHandForceSensor found for force sensor LeftHandForceSensor
[info] Robots loaded in controller:
[info] - jvrc1
[info] - ground
[warning] [MC_RTC_DEPRECATED][kinematics]  "robotIndex" will be deprecated in future versions, use "robot: <robot name>" instead
[warning] [MC_RTC_DEPRECATED][collision]  "robotIndex" will be deprecated in future versions, use "robot: <robot name>" instead
[warning] [MC_RTC_DEPRECATED][collision]  "robotIndex" will be deprecated in future versions, use "robot: <robot name>" instead
[info] MCController(base) ready
[info] Added task FSM_posture_jvrc1
[success] Initialized new ModelPredictiveControl solver
[info] Loaded footstep plan "custom_forward"
[success] LIPMWalking controller init done.
[critical] [LIPMWalking] The observer pipeline can no longer be configured by "EnabledObservers", "RunObservers" and "UpdateObservers".
Multiple pipelines are now supported, allowing for estimation of multiple robots and/or multiple observations of the same robot.
For details on upgrading, please refer to:
- The observer pipelines tutorial: https://jrl-umi3218.github.io/mc_rtc/tutorials/recipes/observers.html
- The JSON Schema documentation: https://jrl-umi3218.github.io/mc_rtc/json.html#Observers/ObserverPipelines
terminate called after throwing an instance of 'std::runtime_error'
[critical] === Backtrace ===
 0# void mc_rtc::log::error_and_throw<std::runtime_error, char const (&) [501], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(char const (&) [501], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) at ../include/mc_rtc/logging.h:40
 1# mc_control::MCController::createObserverPipelines(mc_rtc::Configuration const&) at ../src/mc_control/MCController.cpp:475
 2# mc_control::MCGlobalController::AddController(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) at ../src/mc_control/mc_global_controller.cpp:1004
 3# mc_control::MCGlobalController::MCGlobalController(mc_control::MCGlobalController::GlobalConfiguration const&) at ../src/mc_control/mc_global_controller.cpp:91
 4# mc_control::MCGlobalController::MCGlobalController(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<mc_rbdyn::RobotModule>) at ../src/mc_control/mc_global_controller.cpp:42
 5# 0x0000560379648354 in /home/aimpet/reemc_mc_rtc/test_ws/devel/lib/mc_rtc_ticker/mc_rtc_ticker
 6# 0x00007F986BA99C87 in /lib/x86_64-linux-gnu/libc.so.6
 7# 0x000056037964A48A in /home/aimpet/reemc_mc_rtc/test_ws/devel/lib/mc_rtc_ticker/mc_rtc_ticker

  what():  [LIPMWalking] The observer pipeline can no longer be configured by "EnabledObservers", "RunObservers" and "UpdateObservers".
Multiple pipelines are now supported, allowing for estimation of multiple robots and/or multiple observations of the same robot.
For details on upgrading, please refer to:
- The observer pipelines tutorial: https://jrl-umi3218.github.io/mc_rtc/tutorials/recipes/observers.html
- The JSON Schema documentation: https://jrl-umi3218.github.io/mc_rtc/json.html#Observers/ObserverPipelines
Aborted (core dumped)

Is there a way to solve this or the controller isn't supposed to be tested with the mc_rtc_ticker framework in the ros environment? Thanks in advance!

gergondet commented 2 years ago

Hi @Aimiliospet

The master branch on this repo is not quite up to date. Until #38 is merged it is advised to use this fork/brank which is currently active

Aimiliospet commented 2 years ago

Hello @gergondet, Thank you very much for the feedback, although i was building successfully the controller of the old repo, on the active one you suggested, i have some issues. The online footstep planner you suggest is not accessible in github and two other repositories are private. How can i overcome this? On the other hand, the building errors i get are about the LSSOL_LS class of Eigen, which i suppose has to do with the solver and on this controller it is changed to lssol_ls from eigen_qld. I don't think i can get acces to lssol_ls or am i wrong? Is there a way to overcome these? If i built this controller i could try running it with the default robot of hrp4cr before proceeding. terminal output by the make command:

In file included from /home/aimpet/test/lipm_walking_controller/src/Stabilizer.cpp:30:0:
/home/aimpet/test/lipm_walking_controller/include/lipm_walking/Stabilizer.h:30:10: fatal error: eigen-lssol/LSSOL_LS.h: No such file or directory
 #include <eigen-lssol/LSSOL_LS.h>
          ^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

Or maybe the problem is that i can not clone this repository git@github.com:TsuruMasato/lipm_walking_controller.git. i get the following message when executing the first step of how to build guide in the new fork/brank you sent me :

git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

so i used git clone --recursive. Maybe this could lead to the problem by missing some files. Thanks in advance!