/robot_basic_tools

Multi-sensors calibration and data time anaylse for robot.

Primary LanguageC++GNU General Public License v3.0GPL-3.0

机器人基础工具箱

Codacy Badge

简介

机器人基础工具箱(Robot Basic Tools, 简称RBT)旨在对机器人上常用的传感器,比如相机、单多线激光雷达、IMU、里程计等,进行单个或者多个传感器的内外参标定,对不同传感器数据进行时序分析。本工具基于openGL开发,为用户提供了友善的UI界面与明晰的结果展示。

工具界面 工具界面

标定展示 标定展示

依赖说明

本工具依赖以下开源库或工程:

ui框架参考了interactive_slam @koide3

安装

本工具测试环境为Ubuntu 18.04,建议系统版本 >= Ubuntu 18.04。

opengl相关环境

sudo apt install libglm-dev libglfw3-dev

ceres

建议安装2.0.0及以上版本。参考Installation:Linux

# 安装ceres依赖
# CMake
sudo apt-get install cmake
# google-glog + gflags
sudo apt-get install libgoogle-glog-dev libgflags-dev
# BLAS & LAPACK
sudo apt-get install libatlas-base-dev
# Eigen3
sudo apt-get install libeigen3-dev
# SuiteSparse and CXSparse (optional)
sudo apt-get install libsuitesparse-dev

# 下载
git clone https://ceres-solver.googlesource.com/ceres-solver
# 安装
tar zxf ceres-solver-2.0.0.tar.gz
mkdir ceres-bin
cd ceres-bin
cmake ../ceres-solver-2.0.0
make -j3
make test
# Optionally install Ceres, it can also be exported using CMake which
# allows Ceres to be used without requiring installation, see the documentation
# for the EXPORT_BUILD_DIR option for more information.
make install

opencv

建议安装4.3.0及以上版本。参考Installation in Linux:Build core modules

# 安装opencv依赖
sudo apt-get install \
    libgtk-3-dev \
    libjpeg-dev \
    libpng++-dev \
    libtiff-dev \
    libopenexr-dev \
    libwebp-dev \
    ffmpeg \
    libavcodec-dev \
    libavformat-dev \
    libavutil-dev \
    libswscale-dev \
    libavresample-dev

# 编译
cmake \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr/local \
    -DBUILD_DOCS=OFF \
    -DBUILD_EXAMPLES=OFF \
    -DBUILD_JASPER=OFF \
    -DBUILD_OPENEXR=OFF \
    -DBUILD_PERF_TESTS=OFF \
    -DBUILD_TESTS=OFF \
    -DBUILD_opencv_apps=OFF \
    -DBUILD_opencv_dnn=OFF \
    -DBUILD_opencv_ml=OFF \
    -DBUILD_opencv_python_bindings_generator=OFF \
    -DENABLE_CXX11=ON \
    -DENABLE_FAST_MATH=ON \
    -DWITH_EIGEN=ON \
    -DWITH_FFMPEG=ON \
    -DWITH_OPENMP=ON ..

ros

根据自己系统安装相应的版本,参考ros wiki

ubuntu 18.04安装参考

robot basic tools

  robot basic tools工具需在新创建ROS工作空间中运行,请优先创建工作空间,并source当前空间。

# 获取代码
git clone https://github.com/hardjet/robot_basic_tools.git
# 更新子模块
git submodule sync
git submodule init
git submodule update

# 如果opencv,ceres安装在系统默认位置
catkin_make -DCATKIN_WHITELIST_PACKAGES="robot_basic_tools" -j4

# 指定opencv, ceres库位置(请优先source当前工作空间)
catkin_make -DCATKIN_WHITELIST_PACKAGES="robot_basic_tools" -DOpenCV_LIB_DIR="/path/to/opencv/lib/" -DCeres_LIB_DIR="/path/to/ceres/lib/" -j4

可以在源码根目录创建.lib_path_config文件,指定opencv, ceres库位置。格式如下:

OpenCV_LIB_DIR=/home/xxx/work/lib/opencv43/
Ceres_LIB_DIR=/home/xxx/work/lib/ceres-solver-2.0.0/

运行

# 运行
roslaunch robot_basic_tools run.launch

# 使用rosbag回放时
roslaunch robot_basic_tools sim.launch

License

本工具遵照 GPLv3 license。