Light-weight package to create b-spline trajectory from 6DOF control points. The spline functions are based on the basalt library.
Features:
- Quick inquiries on the spline (min/max time, order, knots, sampled pose)
- Create a random spline
- Deskew a pointcloud
- Fit a spline with sample data
Please ensure the following dependencies are installed
- Eigen3
sudo apt install libeigen3-dev
- Ceres Solver
## Third party programs----------------------------------------------------
# CMake
sudo apt-get install -y cmake
# google-glog + gflags
sudo apt-get install -y libgoogle-glog-dev libgflags-dev
# BLAS & LAPACK
sudo apt-get install -y libatlas-base-dev
# Eigen3
sudo apt-get install -y libeigen3-dev
# SuiteSparse and CXSparse (optional)
sudo apt-get install -y libsuitesparse-dev
## Download ceres---------------------------------------------------------
rm -rf ceres_2.1.0
git clone https://ceres-solver.googlesource.com/ceres-solver ceres_2.1.0; cd ceres_2.1.0; git checkout 2.1.0;
## Install ceres----------------------------------------------------------
mkdir -p ceres_bin; cd ceres_bin; cmake ..; make -j$(nproc); make test; sudo make install
git clone --recursive https://github.com/mcdviral/ceva; cd ceva; python3 setup.py install # Some system may need to use 'sudo python3 setup.py install'
The package can be used for the following:
- Create a spline with random control points or from log files.
- Querry all information of the spline: order, min / max time, sampled pose, velocity, acceleration, etc.
- Fit a spline to a noisy pose measurements.
- Deskew a pointcloud.
Navigate to the folder scripts for the demo scripts.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License and is intended for non-commercial academic use.
The package is created as an tool for the MCD dataset. If you use this package in other works please consider citing MCD as
@software{mcdviral2023,
author = {Anonymous},
title = {MCD: Diverse Large-Scale Multi-Campus Dataset for Robot Perception},
license = {CC BY-NC-SA 4.0},
url = {https://mcdviral.github.io/},
version = {1.0},
year = {2023},
month = {11}
}