我已经阅读了多个资源,其中说InverseKinematics类的Drake工具箱能够以两种方式求解IK :使用三次多项式轨迹来优化IK和IK轨迹。(Link1 4.1节,Link2第二.B和第二.C节)
正如下面所示,我已经实现了一次一次的IK,并且正在工作,现在我该如何使用迪尔科尔或其他什么方法来完成整个轨迹呢?有什么文件可以参考吗?
// Building a floating-base plant for Ik
drake::multibody::MultibodyPlant<mjtNum> plant{0.0005};
drake::multibody::Parser parser(&plant);
std::string full_name = "model.urdf";
parser.AddModelFromFile(full_name);
plant.Finalize();
drake::multibody::InverseKinematics ik(plant,true);
// Constraints
Eigen::Matrix<mjtNum,33,1> q_ik_guess = Eigen::Matrix<mjtNum,33,1>::Zero();
ik.get_mutable_prog()->SetInitialGuess(ik.q(), q_ik_guess);
const auto result = Solve(ik.prog());
const auto q_sol = result.GetSolution(ik.q());发布于 2021-10-16 18:09:21
IK三次多项式是德雷克的过时版本。您可以查看matlab。在文件夹drake/matlab/systems/plants@RigidBodyManipulator/inverseKinTraj.m中
https://stackoverflow.com/questions/69590113
复制相似问题