52 Eigen::VectorXf delta = target - state;
56 if (mode & VirtualRobot::IKSolver::Position)
58 Eigen::Vector3f posDelta = delta.block<3, 1>(i, 0);
59 float posFactor = posDelta.norm() / maxPositionAcceleration /
dt;
60 factor = std::max(factor, posFactor);
64 if (mode & VirtualRobot::IKSolver::Orientation)
66 Eigen::Vector3f oriDelta = delta.block<3, 1>(i, 0);
67 float oriFactor = oriDelta.norm() / maxOrientationAcceleration /
dt;
68 factor = std::max(factor, oriFactor);
71 state += delta / factor;