resibots / inria_wbc

Generic whole-body controller based on quadratic programming
13 stars 0 forks source link

How should I solve this problem?:Controller failed, can't solve problem #125

Open Wwwwjunjie opened 1 month ago

Wwwwjunjie commented 1 month ago

Error (exception): inria_wbc:: Controller failed, can't solve problem. Status : 1 => Infeasible (t=0.205000) [/home/ros/tmp/inria_wbc/src/controllers/controller.cpp:312] ------ stack ------ 0# inria_wbc::Exception::Exception<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(char const*, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) in libinria_wbc.so 1# 0x00007FC6D6724BDE in libinria_wbc.so 2# inria_wbc::controllers::HumanoidPosTracker::update(std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Eigen::Matrix<double, -1, -1, 0, -1, -1>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Eigen::Matrix<double, -1, -1, 0, -1, -1> > > > const&) in libinria_wbc.so 3# inria_wbc::controllers::TalosPosTracker::update(std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Eigen::Matrix<double, -1, -1, 0, -1, -1>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Eigen::Matrix<double, -1, -1, 0, -1, -1> > > > const&) in libinria_wbc.so 4# inria_wbc::behaviors::humanoid::Walk::update(std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, Eigen::Matrix<double, -1, -1, 0, -1, -1>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Eigen::Matrix<double, -1, -1, 0, -1, -1> > > > const&) in libinria_wbc.so 5# 0x0000558703E2CAB8 in ./aubo_graphics 6# __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6 7# 0x0000558703E3164E in ./aubo_graphics

jbmouret commented 1 month ago

Either your robot starts from a position outside of the constraints (joint limit constraints typically), or you need a smaller time-step.

Wwwwjunjie commented 1 month ago

thanks a lot!!The problem has been resolved, and the cause did indeed appear in the URDF file. It is not only necessary to limit the joint angle, torque, and speed, but also to pay attention to the direction of the rotation axis