[package]
edition = "2024"
rust-version = "1.88"
name = "copp"
version = "0.2.2"
build = "build.rs"
exclude = [
"data/**",
"target/**",
"bindings/python/**/*.pdb",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Convex-objective path parameterization for robotic trajectory planning."
readme = "README.md"
keywords = [
"trajectory-planning",
"jerk-limited",
"motion-planning",
"convex-optimization",
"time-optimal",
]
categories = [
"science::robotics",
"algorithms",
"mathematics",
"simulation",
]
license = "MIT"
repository = "https://github.com/TOPP-THU/copp"
[package.metadata.docs.rs]
rustdoc-args = [
"--html-in-header",
"mathjax-config.html",
]
[features]
c = []
cpp = [
"dep:cxx",
"dep:cxx-build",
]
default = []
matlab = ["c"]
python = [
"dep:numpy",
"dep:pyo3",
]
[lib]
name = "copp"
crate-type = [
"rlib",
"cdylib",
"staticlib",
]
path = "src/lib.rs"
[[example]]
name = "copp2_socp"
path = "examples/copp2_socp.rs"
[[example]]
name = "copp3_socp"
path = "examples/copp3_socp.rs"
[[example]]
name = "reach_set2"
path = "examples/reach_set2.rs"
[[example]]
name = "topp2_ra"
path = "examples/topp2_ra.rs"
[[example]]
name = "topp3_lp"
path = "examples/topp3_lp.rs"
[[example]]
name = "topp3_socp"
path = "examples/topp3_socp.rs"
[[test]]
name = "test_franka"
path = "tests/test_franka.rs"
[[test]]
name = "test_random_spline"
path = "tests/test_random_spline.rs"
[dependencies.chrono]
version = "0.4.44"
[dependencies.clarabel]
version = "0.11.1"
[dependencies.cxx]
version = "1.0"
optional = true
[dependencies.itertools]
version = "0.14.0"
[dependencies.log]
version = "0.4.30"
[dependencies.nalgebra]
version = "0.34.1"
features = ["serde-serialize"]
[dependencies.numpy]
version = "0.28.0"
features = ["nalgebra"]
optional = true
[dependencies.pyo3]
version = "0.28.3"
optional = true
[dependencies.rayon]
version = "1.12.0"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.thiserror]
version = "2.0.18"
[dev-dependencies.csv]
version = "1.4.0"
[dev-dependencies.env_logger]
version = "0.11.8"
[dev-dependencies.memmap2]
version = "0.9.10"
[dev-dependencies.plotters]
version = "0.3.7"
[dev-dependencies.rand]
version = "0.10.1"
[dev-dependencies.rkyv]
version = "0.7.46"
features = [
"std",
"validation",
"size_64",
]
default-features = false
[build-dependencies.cxx-build]
version = "1.0"
optional = true