Closed marcos-pereira closed 3 years ago
@marcos-pereira
Thanks for the report.
I think this bug is not present when using dqrobotics/cpp#34. However, it might take us some time to update it.
@mmmarinho , thanks for the answer. In the meantime, I will migrate some of my python codes to cplusplus.
@marcos-pereira
Sorry, but there was actually no bug. The minimal example you sent is incorrect because DQ_QuadraticProgrammingSolver
is an abstract class and cannot be instanced (it is not supposed to be).
You need to choose a concrete subclass of DQ_QuadraticProgrammingSolver
instead. In Python, I recommend starting with DQ_QuadProgSolver
.
from dqrobotics import *
from dqrobotics.solvers import DQ_QuadprogSolver
import dqrobotics.robot_control as dq_controllers
from dqrobotics.robot_control import ControlObjective
from dqrobotics.robots import KukaLw4Robot
robot = KukaLw4Robot.kinematics()
qp_solver = DQ_QuadprogSolver()
controller = dq_controllers.DQ_ClassicQPController(robot, qp_solver)
controller.set_control_objective(ControlObjective.Pose)
To use it, don't forget to install quadprog
.
python3 -m pip install quadprog --user
@mmmarinho many thanks! I was forgetting to install quadprog. Maybe you could add this information to the ReadTheDocs Python installation. Similar to the C++ interfaces where you mention the need for CPLEX.
@marcos-pereira
Indeed. In fact, you're welcome to update the docs with that information and generate a pull request.
Bug description
To Reproduce
Code
Output
Expected behavior
Environment:
Additional information