-
andreadelprete authored
Add two new versions of eiquadprog. EiquadprogFast is a slightly optimized version of the original solver that preallocate all the dynamic memory. EiquadprogRT (i.e. real time) is a version of the solver that uses static-size matrices. Both new versions have also much more documentation and provide more information to the interested user, such as number of iterations, number of active inequalities, maximum number of iterations and proper status flag in case the problem could not be solved.
andreadelprete authoredAdd two new versions of eiquadprog. EiquadprogFast is a slightly optimized version of the original solver that preallocate all the dynamic memory. EiquadprogRT (i.e. real time) is a version of the solver that uses static-size matrices. Both new versions have also much more documentation and provide more information to the interested user, such as number of iterations, number of active inequalities, maximum number of iterations and proper status flag in case the problem could not be solved.
CMakeLists.txt 2.48 KiB
#
# Copyright (c) 2017 CNRS
#
# This file is part of PinInvDyn
# pinocchio is free software: you can redistribute it
# and/or modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation, either version
# 3 of the License, or (at your option) any later version.
# pinocchio is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Lesser Public License for more details. You should have
# received a copy of the GNU Lesser General Public License along with
# pinocchio If not, see
# <http://www.gnu.org/licenses/>.
# --- MAIN LIBRARY --- #
SET(LIBRARY_NAME ${PROJECT_NAME})
SET(${LIBRARY_NAME}_MATH_SOURCES
math/constraint-base.cpp
math/constraint-equality.cpp
math/constraint-inequality.cpp
math/constraint-bound.cpp
math/utils.cpp
)
SET(${LIBRARY_NAME}_TASKS_SOURCES
tasks/task-base.cpp
tasks/task-actuation-bounds.cpp
tasks/task-actuation-equality.cpp
tasks/task-actuation.cpp
tasks/task-com-equality.cpp
tasks/task-contact-force-equality.cpp
tasks/task-contact-force.cpp
tasks/task-joint-bounds.cpp
tasks/task-joint-posture.cpp
tasks/task-motion.cpp
tasks/task-se3-equality.cpp
)
SET(${LIBRARY_NAME}_CONTACTS_SOURCES
contacts/contact-base.cpp
contacts/contact-6d.cpp
)
SET(${LIBRARY_NAME}_TRAJECTORIES_SOURCES
trajectories/trajectory-se3.cpp
trajectories/trajectory-euclidian.cpp
)
SET(${LIBRARY_NAME}_SOLVERS_SOURCES
solvers/solver-HQP-base.cpp
solvers/solver-HQP-eiquadprog.cpp
solvers/solver-HQP-eiquadprog-fast.cpp
solvers/solver-HQP-qpoases.cpp
)
SET(${LIBRARY_NAME}_SOURCES
robot-wrapper.cpp
inverse-dynamics-formulation-base.cpp
inverse-dynamics-formulation-acc-force.cpp
utils/statistics.cpp
utils/stop-watch.cpp
${${LIBRARY_NAME}_MATH_SOURCES}
${${LIBRARY_NAME}_TASKS_SOURCES}
${${LIBRARY_NAME}_CONTACTS_SOURCES}
${${LIBRARY_NAME}_TRAJECTORIES_SOURCES}
${${LIBRARY_NAME}_SOLVERS_SOURCES}
)
ADD_LIBRARY(${LIBRARY_NAME} SHARED ${HEADERS_FULL_PATH} ${${LIBRARY_NAME}_SOURCES})
SET_TARGET_PROPERTIES(${LIBRARY_NAME} PROPERTIES LINKER_LANGUAGE CXX)
ADD_HEADER_GROUP(HEADERS_FULL_PATH)
ADD_SOURCE_GROUP(${LIBRARY_NAME}_SOURCES)
PKG_CONFIG_USE_DEPENDENCY(${LIBRARY_NAME} eigen3)
PKG_CONFIG_USE_DEPENDENCY(${LIBRARY_NAME} pinocchio)
INSTALL(TARGETS ${PROJECT_NAME} DESTINATION lib)