jsk-ros-pkg / jsk_control

jsk control ros packages
http://github.com/jsk-ros-pkg/jsk_control
13 stars 51 forks source link

[eus_osqp] add new package to use osqp from euslisp #720

Closed mmurooka closed 3 years ago

mmurooka commented 5 years ago

OSQPをeuslispから使うpackageです. (eus_qp (eiquadprog), eus_qpoases, eus_osqp, ... と,QPのソルバが増えるたびにpackageを新しく作るスタイルは良くない気もします.)

ただ,eus_qp/optmotiongenの最適化IKで使ってみたところ,osqp_max_iter_reachedでQPが解けないことが頻繁に起きていて,qpoasesに比べると使えなさそうな結果です. OSQPの論文のFigure3を見ると,OSQPはqpoasesよりもよく解けるとなっているので,使い方が間違っているのかもしれません.README.mdにある test-eus-osqp.l のQPのテスト(これは,eus_qpoasesと同じテスト)で,解が合っていることは確認しているので,ベース部分の使い方の間違いはないと思いたいですが,OSQPにはパラメータがいくつかあるのでこれのチューニングを頑張らないといけないのでしょうか.それと,qpoasesとOSQPで得意不得意があって,optmotiongenのQPは苦手なものという可能性もあるかも知れません.

cmake function ExternalProject_Add is used to download and build OSQP, which is same for qpoases in eus_qpoases.

k-okada commented 3 years ago

override by #743