Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • jchemin/hpp-bezier-com-traj
  • pfernbac/hpp-bezier-com-traj
  • gsaurel/hpp-bezier-com-traj
  • humanoid-path-planner/hpp-bezier-com-traj
4 results
Show changes
Commits on Source (125)
......@@ -3,3 +3,5 @@
# [Python] allow Python 3 & fix format (Guilhem Saurel, 2019-09-25)
c9d5314ca82524d5aab0dffd75c40564262495b1
# pre-commit run -a (Guilhem Saurel, 2022-10-05)
5bac51b3232c27d606faeaa6746de9a04de149d6
name: "CI - Nix"
on:
push:
jobs:
tests:
name: "Nix build on ${{ matrix.os }}"
runs-on: "${{ matrix.os }}-latest"
strategy:
matrix:
os: [ubuntu]
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v27
- uses: cachix/cachix-action@v15
with:
name: gepetto
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- run: nix build -L
include: http://rainboard.laas.fr/project/hpp-bezier-com-traj/.gitlab-ci.yml
include: https://rainboard.laas.fr/project/hpp-bezier-com-traj/.gitlab-ci.yml
pull_request_rules:
- name: merge automatically when CI passes and PR is approved
conditions:
- check-success = "gitlab-ci"
- check-success = "Nix build on ubuntu"
- check-success = "pre-commit.ci - pr"
- or:
- author = pre-commit-ci[bot]
- author = dependabot[bot]
actions:
merge:
ci:
autoupdate_branch: 'devel'
autoupdate_branch: devel
repos:
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v13.0.1
hooks:
- id: clang-format
args: [-i, --style=Google]
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.2.0
hooks:
- id: check-added-large-files
- id: check-ast
- id: check-executables-have-shebangs
- id: check-json
- id: check-merge-conflict
- id: check-symlinks
- id: check-toml
- id: check-yaml
- id: debug-statements
- id: destroyed-symlinks
- id: detect-private-key
- id: end-of-file-fixer
- id: fix-byte-order-marker
- id: mixed-line-ending
- id: trailing-whitespace
- repo: https://github.com/psf/black
rev: 22.3.0
hooks:
- id: black
- repo: https://github.com/PyCQA/flake8
rev: 4.0.1
hooks:
- id: flake8
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.8.1
hooks:
- id: ruff
args:
- --fix
- --exit-non-zero-on-fix
- id: ruff-format
- repo: https://github.com/cheshirekow/cmake-format-precommit
rev: v0.6.13
hooks:
- id: cmake-format
- repo: https://github.com/pappasam/toml-sort
rev: v0.24.2
hooks:
- id: toml-sort-fix
exclude: poetry.lock
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v19.1.4
hooks:
- id: clang-format
args:
- --style=Google
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: check-added-large-files
- id: check-ast
- id: check-executables-have-shebangs
- id: check-json
- id: check-merge-conflict
- id: check-symlinks
- id: check-toml
- id: check-yaml
- id: debug-statements
- id: destroyed-symlinks
- id: detect-private-key
- id: end-of-file-fixer
- id: fix-byte-order-marker
- id: mixed-line-ending
- id: trailing-whitespace
cmake_minimum_required(VERSION 3.1)
cmake_minimum_required(VERSION 3.10)
# Project properties
SET(PROJECT_NAME hpp-bezier-com-traj)
SET(PROJECT_DESCRIPTION "Multi contact trajectory generation for the COM using Bezier curves")
set(PROJECT_NAME hpp-bezier-com-traj)
set(PROJECT_DESCRIPTION
"Multi contact trajectory generation for the COM using Bezier curves")
# Project options
OPTION(BUILD_PYTHON_INTERFACE "Build the python bindings" ON)
OPTION(USE_GLPK "Use sparse lp solver" OFF)
OPTION(PRINT_QHULL_INEQ "generate text file containing last inequality computed" OFF)
option(BUILD_PYTHON_INTERFACE "Build the python bindings" ON)
option(USE_GLPK "Use sparse lp solver" OFF)
option(PRINT_QHULL_INEQ
"generate text file containing last inequality computed" OFF)
# Project configuration
SET(PROJECT_USE_CMAKE_EXPORT TRUE)
SET(CUSTOM_HEADER_DIR "hpp/bezier-com-traj")
SET(CXX_DISABLE_WERROR TRUE)
# JRL-cmakemodule setup
INCLUDE(cmake/hpp.cmake)
INCLUDE(cmake/boost.cmake)
INCLUDE(cmake/python.cmake)
set(PROJECT_USE_CMAKE_EXPORT TRUE)
set(CUSTOM_HEADER_DIR "hpp/bezier-com-traj")
set(CXX_DISABLE_WERROR TRUE)
# Check if the submodule cmake have been initialized
set(JRL_CMAKE_MODULES "${CMAKE_CURRENT_LIST_DIR}/cmake")
if(EXISTS "${JRL_CMAKE_MODULES}/base.cmake")
message(STATUS "JRL cmakemodules found in 'cmake/' git submodule")
else()
find_package(jrl-cmakemodules QUIET CONFIG)
if(jrl-cmakemodules_FOUND)
get_property(
JRL_CMAKE_MODULES
TARGET jrl-cmakemodules::jrl-cmakemodules
PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
message(STATUS "JRL cmakemodules found on system at ${JRL_CMAKE_MODULES}")
elseif(${CMAKE_VERSION} VERSION_LESS "3.14.0")
message(
FATAL_ERROR
"\nCan't find jrl-cmakemodules. Please either:\n"
" - use git submodule: 'git submodule update --init'\n"
" - or install https://github.com/jrl-umi3218/jrl-cmakemodules\n"
" - or upgrade your CMake version to >= 3.14 to allow automatic fetching\n"
)
else()
message(STATUS "JRL cmakemodules not found. Let's fetch it.")
include(FetchContent)
FetchContent_Declare(
"jrl-cmakemodules"
GIT_REPOSITORY "https://github.com/jrl-umi3218/jrl-cmakemodules.git")
FetchContent_MakeAvailable("jrl-cmakemodules")
FetchContent_GetProperties("jrl-cmakemodules" SOURCE_DIR JRL_CMAKE_MODULES)
endif()
endif()
include("${JRL_CMAKE_MODULES}/hpp.cmake")
include("${JRL_CMAKE_MODULES}/boost.cmake")
# Project definition
COMPUTE_PROJECT_ARGS(PROJECT_ARGS LANGUAGES CXX)
PROJECT(${PROJECT_NAME} ${PROJECT_ARGS})
compute_project_args(PROJECT_ARGS LANGUAGES CXX)
project(${PROJECT_NAME} ${PROJECT_ARGS})
IF(BUILD_PYTHON_INTERFACE)
FINDPYTHON()
FIND_NUMPY()
STRING(REGEX REPLACE "-" "_" PY_NAME ${PROJECT_NAME})
SEARCH_FOR_BOOST_PYTHON(REQUIRED)
ADD_PROJECT_DEPENDENCY(eigenpy REQUIRED)
ENDIF(BUILD_PYTHON_INTERFACE)
if(BUILD_PYTHON_INTERFACE)
string(REGEX REPLACE "-" "_" PY_NAME ${PROJECT_NAME})
add_project_dependency(eigenpy 2.7.12 REQUIRED)
endif(BUILD_PYTHON_INTERFACE)
# Project dependencies
ADD_PROJECT_DEPENDENCY(hpp-centroidal-dynamics REQUIRED)
ADD_PROJECT_DEPENDENCY(ndcurves 1.0.0 REQUIRED)
add_project_dependency(hpp-centroidal-dynamics REQUIRED)
add_project_dependency(ndcurves REQUIRED)
IF(USE_GLPK)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake/find-external/glpk")
ADD_PROJECT_DEPENDENCY(glpk REQUIRED)
add_definitions ( -DUSE_GLPK_SOLVER=1)
ENDIF(USE_GLPK)
if(USE_GLPK)
add_project_dependency(glpk REQUIRED FIND_EXTERNAL glpk)
add_definitions(-DUSE_GLPK_SOLVER=1)
endif(USE_GLPK)
# Main Library
SET(${PROJECT_NAME}_HEADERS
include/${CUSTOM_HEADER_DIR}/common_solve_methods.hh
include/${CUSTOM_HEADER_DIR}/common_solve_methods.inl
include/${CUSTOM_HEADER_DIR}/cost/costfunction_definition.hh
include/${CUSTOM_HEADER_DIR}/data.hh
include/${CUSTOM_HEADER_DIR}/definitions.hh
include/${CUSTOM_HEADER_DIR}/flags.hh
include/${CUSTOM_HEADER_DIR}/local_config.hh
include/${CUSTOM_HEADER_DIR}/solve_end_effector.hh
include/${CUSTOM_HEADER_DIR}/solve.hh
include/${CUSTOM_HEADER_DIR}/solver/eiquadprog-fast.hpp # TODO: use stack-of-task/eiquadprog
include/${CUSTOM_HEADER_DIR}/solver/glpk-wrapper.hpp
include/${CUSTOM_HEADER_DIR}/solver/solver-abstract.hpp
include/${CUSTOM_HEADER_DIR}/utils.hh
include/${CUSTOM_HEADER_DIR}/waypoints/waypoints_c0_dc0_c1.hh
include/${CUSTOM_HEADER_DIR}/waypoints/waypoints_c0_dc0_dc1_c1.hh
include/${CUSTOM_HEADER_DIR}/waypoints/waypoints_c0_dc0_dc1.hh
include/${CUSTOM_HEADER_DIR}/waypoints/waypoints_c0_dc0_ddc0_c1.hh
include/${CUSTOM_HEADER_DIR}/waypoints/waypoints_c0_dc0_ddc0_dc1_c1.hh
include/${CUSTOM_HEADER_DIR}/waypoints/waypoints_c0_dc0_ddc0_ddc1_dc1_c1.hh
include/${CUSTOM_HEADER_DIR}/waypoints/waypoints_c0_dc0_ddc0.hh
include/${CUSTOM_HEADER_DIR}/waypoints/waypoints_c0_dc0_ddc0_j0_j1_ddc1_dc1_c1.hh
include/${CUSTOM_HEADER_DIR}/waypoints/waypoints_c0_dc0_ddc0_j0_x3_j1_ddc1_dc1_c1.hh
include/${CUSTOM_HEADER_DIR}/waypoints/waypoints_c0_dc0_ddc0_j0_x5_j1_ddc1_dc1_c1.hh
include/${CUSTOM_HEADER_DIR}/waypoints/waypoints_definition.hh
)
SET(${PROJECT_NAME}_SOURCES
src/common_solve_methods.cpp
src/costfunction_definition.cpp
src/solver-abstract.cpp
src/eiquadprog-fast.cpp
src/computeCOMTraj.cpp
src/solve_0_step.cpp
src/utils.cpp
src/waypoints_definition.cpp
)
set(${PROJECT_NAME}_HEADERS
include/${CUSTOM_HEADER_DIR}/common_solve_methods.hh
include/${CUSTOM_HEADER_DIR}/common_solve_methods.inl
include/${CUSTOM_HEADER_DIR}/cost/costfunction_definition.hh
include/${CUSTOM_HEADER_DIR}/data.hh
include/${CUSTOM_HEADER_DIR}/definitions.hh
include/${CUSTOM_HEADER_DIR}/flags.hh
include/${CUSTOM_HEADER_DIR}/local_config.hh
include/${CUSTOM_HEADER_DIR}/solve_end_effector.hh
include/${CUSTOM_HEADER_DIR}/solve.hh
include/${CUSTOM_HEADER_DIR}/solver/eiquadprog-fast.hpp # TODO: use
# stack-of-task/eiquadprog
include/${CUSTOM_HEADER_DIR}/solver/glpk-wrapper.hpp
include/${CUSTOM_HEADER_DIR}/solver/solver-abstract.hpp
include/${CUSTOM_HEADER_DIR}/utils.hh
include/${CUSTOM_HEADER_DIR}/waypoints/waypoints_c0_dc0_c1.hh
include/${CUSTOM_HEADER_DIR}/waypoints/waypoints_c0_dc0_dc1_c1.hh
include/${CUSTOM_HEADER_DIR}/waypoints/waypoints_c0_dc0_dc1.hh
include/${CUSTOM_HEADER_DIR}/waypoints/waypoints_c0_dc0_ddc0_c1.hh
include/${CUSTOM_HEADER_DIR}/waypoints/waypoints_c0_dc0_ddc0_dc1_c1.hh
include/${CUSTOM_HEADER_DIR}/waypoints/waypoints_c0_dc0_ddc0_ddc1_dc1_c1.hh
include/${CUSTOM_HEADER_DIR}/waypoints/waypoints_c0_dc0_ddc0.hh
include/${CUSTOM_HEADER_DIR}/waypoints/waypoints_c0_dc0_ddc0_j0_j1_ddc1_dc1_c1.hh
include/${CUSTOM_HEADER_DIR}/waypoints/waypoints_c0_dc0_ddc0_j0_x3_j1_ddc1_dc1_c1.hh
include/${CUSTOM_HEADER_DIR}/waypoints/waypoints_c0_dc0_ddc0_j0_x5_j1_ddc1_dc1_c1.hh
include/${CUSTOM_HEADER_DIR}/waypoints/waypoints_definition.hh)
set(${PROJECT_NAME}_SOURCES
src/common_solve_methods.cpp
src/costfunction_definition.cpp
src/solver-abstract.cpp
src/eiquadprog-fast.cpp
src/computeCOMTraj.cpp
src/solve_0_step.cpp
src/utils.cpp
src/waypoints_definition.cpp)
if(USE_GLPK)
SET(${PROJECT_NAME}_SOURCES ${${PROJECT_NAME}_SOURCES}
src/glpk-wrapper.cpp
)
set(${PROJECT_NAME}_SOURCES ${${PROJECT_NAME}_SOURCES} src/glpk-wrapper.cpp)
endif(USE_GLPK)
ADD_LIBRARY(${PROJECT_NAME} SHARED
${${PROJECT_NAME}_SOURCES} ${${PROJECT_NAME}_HEADERS})
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PUBLIC $<INSTALL_INTERFACE:include>)
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ndcurves::ndcurves hpp-centroidal-dynamics::hpp-centroidal-dynamics)
add_library(${PROJECT_NAME} SHARED ${${PROJECT_NAME}_SOURCES}
${${PROJECT_NAME}_HEADERS})
target_include_directories(
${PROJECT_NAME} PUBLIC $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
target_link_libraries(${PROJECT_NAME} ndcurves::ndcurves
hpp-centroidal-dynamics::hpp-centroidal-dynamics)
if(USE_GLPK)
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PUBLIC ${glpk_INCLUDE_DIR})
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${glpk_LIBRARY})
target_include_directories(${PROJECT_NAME} PUBLIC ${glpk_INCLUDE_DIR})
target_link_libraries(${PROJECT_NAME} ${glpk_LIBRARY})
endif(USE_GLPK)
INSTALL(TARGETS ${PROJECT_NAME} EXPORT ${TARGETS_EXPORT_NAME} DESTINATION lib)
install(
TARGETS ${PROJECT_NAME}
EXPORT ${TARGETS_EXPORT_NAME}
DESTINATION lib)
ADD_SUBDIRECTORY(tests)
IF(BUILD_PYTHON_INTERFACE)
ADD_SUBDIRECTORY(python)
ENDIF(BUILD_PYTHON_INTERFACE)
add_subdirectory(tests)
if(BUILD_PYTHON_INTERFACE)
add_subdirectory(python)
endif(BUILD_PYTHON_INTERFACE)
INSTALL(FILES package.xml DESTINATION share/${PROJECT_NAME})
install(FILES package.xml DESTINATION share/${PROJECT_NAME})
Subproject commit e77c9c32b1d69b21e447cf64f1ad1590aab61159
Subproject commit 29c0eb4e659304f44d55a0389e2749812d858659
{
"nodes": {
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1719877454,
"narHash": "sha256-g5N1yyOSsPNiOlFfkuI/wcUjmtah+nxdImJqrSATjOU=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "4e3583423212f9303aa1a6337f8dffb415920e4f",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1727174734,
"narHash": "sha256-xa3TynMF5vaWonmTOg/Ejc1Fmo0GkQnCaVRVkBc3z2I=",
"owner": "gepetto",
"repo": "nixpkgs",
"rev": "0ad139a0e4372abc12320c8c92ee90e0e5e296e1",
"type": "github"
},
"original": {
"owner": "gepetto",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}
{
description = "Multi contact trajectory generation for the COM using Bezier curves";
nixConfig = {
extra-substituters = [ "https://gepetto.cachix.org" ];
extra-trusted-public-keys = [ "gepetto.cachix.org-1:toswMl31VewC0jGkN6+gOelO2Yom0SOHzPwJMY2XiDY=" ];
};
inputs = {
nixpkgs.url = "github:gepetto/nixpkgs";
flake-parts = {
url = "github:hercules-ci/flake-parts";
inputs.nixpkgs-lib.follows = "nixpkgs";
};
};
outputs =
inputs:
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
systems = [
"x86_64-linux"
"aarch64-linux"
"aarch64-darwin"
"x86_64-darwin"
];
perSystem =
{ pkgs, self', ... }:
{
devShells.default = pkgs.mkShell { inputsFrom = [ self'.packages.default ]; };
packages = {
default = self'.packages.hpp-bezier-com-traj;
hpp-bezier-com-traj = pkgs.hpp-bezier-com-traj.overrideAttrs (_: {
src = pkgs.lib.fileset.toSource {
root = ./.;
fileset = pkgs.lib.fileset.unions [
./CMakeLists.txt
./include
./package.xml
./python
./src
./tests
];
};
});
};
};
};
}
......@@ -26,12 +26,12 @@
#define OPTIMIZE_UPDATE_Z
#define OPTIMIZE_HESSIAN_INVERSE
#define OPTIMIZE_UNCONSTR_MINIM
//#define TRACE_SOLVER 1
// #define TRACE_SOLVER 1
//#define USE_WARM_START
//#define PROFILE_EIQUADPROG
// #define USE_WARM_START
// #define PROFILE_EIQUADPROG
//#define DEBUG_STREAM(msg) std::cout<<msg;
// #define DEBUG_STREAM(msg) std::cout<<msg;
#define DEBUG_STREAM(msg)
#ifdef PROFILE_EIQUADPROG
......
<?xml version='1.0'?>
<package format='2'>
<name>hpp-bezier-com-traj</name>
<version>4.13.0</version>
<version>6.0.0</version>
<description>Multi contact trajectory generation for the COM using Bezier curves</description>
<maintainer email='guilhem.saurel@laas.fr'>Guilhem Saurel</maintainer>
......
[tool.black]
exclude = "cmake"
[build-system]
build-backend = "cmeel.build"
requires = [
"cmeel-boost[build] ~= 1.83.0",
"cmeel-glpk[build]",
"cmeel[build]",
"hpp-centroidal-dynamics[build]",
"ndcurves[build]"
]
[project]
dependencies = [
"cmeel-boost ~= 1.83.0",
"cmeel-glpk",
"hpp-centroidal-dynamics",
"ndcurves"
]
description = "Multi contact trajectory generation for the COM using Bezier curves"
license = "BSD-2-Clause"
name = "hpp-bezier-com-traj"
version = "6.0.0"
[tool.cmeel]
configure-args = ["-DUSE_GLPK=ON"]
[tool.ruff]
extend-exclude = ["cmake"]
[tool.ruff.lint]
extend-select = ["I", "NPY", "RUF", "UP", "W"]
[tool.tomlsort]
all = true
# Define the wrapper library that wraps our library
add_library(${PY_NAME} SHARED bezier_com_traj.cpp )
add_library(${PY_NAME} SHARED bezier_com_traj.cpp)
target_link_libraries(${PY_NAME} ${PROJECT_NAME} eigenpy::eigenpy)
# don't prepend wrapper library name with lib
set_target_properties(${PY_NAME} PROPERTIES PREFIX "")
IF(APPLE)
if(APPLE)
# We need to change the extension for python bindings
SET_TARGET_PROPERTIES(${PY_NAME} PROPERTIES SUFFIX ".so")
ENDIF(APPLE)
set_target_properties(${PY_NAME} PROPERTIES SUFFIX ".so")
endif(APPLE)
INSTALL(TARGETS ${PY_NAME} DESTINATION ${PYTHON_SITELIB})
install(TARGETS ${PY_NAME} DESTINATION ${PYTHON_SITELIB})
SET(${PROJECT_NAME}_PYTHON_TESTS
binding_tests.py
#compare_pin_inv_dyn.py requires pinocchio_inv_dyn
)
set(${PROJECT_NAME}_PYTHON_TESTS
binding_tests.py
# compare_pin_inv_dyn.py requires pinocchio_inv_dyn
)
FOREACH(test ${${PROJECT_NAME}_PYTHON_TESTS})
ADD_PYTHON_UNIT_TEST(${test} "python/test/${test}" "python")
ENDFOREACH(test)
foreach(test ${${PROJECT_NAME}_PYTHON_TESTS})
add_python_unit_test(${test} "python/test/${test}" "python")
endforeach(test)
import ndcurves # noqa - necessary to register ndcurves::bezier_curve
import numpy as np
from numpy import array
from hpp_centroidal_dynamics import Equilibrium, EquilibriumAlgorithm, SolverLP
from hpp_bezier_com_traj import (
SOLVER_QUADPROG,
ConstraintFlag,
......@@ -11,6 +9,8 @@ from hpp_bezier_com_traj import (
computeCOMTraj,
zeroStepCapturability,
)
from hpp_centroidal_dynamics import Equilibrium, EquilibriumAlgorithm, SolverLP
from numpy import array
# testing constructors
eq = Equilibrium("test", 54.0, 4)
......
# -*- coding: utf-8 -*-
"""
Created on Thu Sep 1 16:54:39 2016
@author: stonneau
"""
from __future__ import print_function
from math import atan, pi
import numpy as np
from numpy import array, asarray, asmatrix
from numpy import cross as X
from numpy import matrix, zeros
from centroidal_dynamics import Equilibrium, EquilibriumAlgorithm
from curves import bezier
from numpy import array, asarray, asmatrix, matrix, zeros
from numpy import cross as X
from pinocchio_inv_dyn.multi_contact.bezier.bezier_0_step_capturability import (
BezierZeroStepCapturability,
compute_CWC,
......@@ -24,7 +20,6 @@ from pinocchio_inv_dyn.multi_contact.utils import (
find_static_equilibrium_com,
generate_contacts,
)
from curves import bezier
__EPS = 1e-5
np.set_printoptions(precision=2, suppress=True, linewidth=100)
......@@ -116,7 +111,6 @@ def __check_trajectory(p0, p1, p2, p3, T, H, mass, g, time_step=0.1, dL=allZeros
def test_continuous_cpp_vs_continuous_py(N_CONTACTS=2, solver="qpoases", verb=0):
mu = 0.5
# friction coefficient
lx = 0.1
......@@ -163,7 +157,8 @@ def test_continuous_cpp_vs_continuous_py(N_CONTACTS=2, solver="qpoases", verb=0)
mass, [X_LB, Y_LB, Z_LB], [X_UB, Y_UB, Z_UB], H, h
)
dc0 = np.random.uniform(-1, 1, size=3)
rng = np.random.default_rng()
dc0 = rng.uniform(-1, 1, size=3)
Z_MIN = np.max(p[:, 2]) - 0.1
Ineq_kin = zeros([3, 3])
......
[flake8]
exclude = cmake
max-line-length = 88
ignore = E226, E704, E24, E121, W504, E126, E123, W503, E203
SET(${PROJECT_NAME}_TESTS
transition-quasi-static
transition
bezier-symbolic
#zero-step-capturability # hangs forever ?
)
set(${PROJECT_NAME}_TESTS transition-quasi-static transition bezier-symbolic
# zero-step-capturability # hangs forever ?
)
FOREACH(test ${${PROJECT_NAME}_TESTS})
ADD_UNIT_TEST("${test}" "test-${test}.cpp")
TARGET_LINK_LIBRARIES(${test} ${PROJECT_NAME})
ENDFOREACH(test)
foreach(test ${${PROJECT_NAME}_TESTS})
add_unit_test("${test}" "test-${test}.cpp")
target_link_libraries(${test} ${PROJECT_NAME})
endforeach(test)