0 环境

Ubuntu18.04 ROS

一、相机及雷达安装

1、相机安装

链接:Ubuntu18.04 https://blog.csdn.net/weixin_45702256/article/details/108673424
TX2:https://blog.csdn.net/weixin_45702256/article/details/109329644

2、rslidar_16(速腾聚创)

IP:RS-lidar默认IP是192.168.1.200

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
git clone https://github.com/RoboSense-LiDAR/ros_rslidar
cd ..
catkin_make

一、 imu标定

1.imu的launch文件设置

复制rs_camera.launch文件命名rs_imu_calibration.launch,修改内容
显示话题:打开imu相关话题

其中影响IMU数据同步的为:unite_imu_method
若使用linear_interpolation选项,可以将加速计的数据以插值的方式对齐到陀螺仪数据时间轴上;

若使用copy选项,则是在每一个陀螺仪数据上,附加上时间最近邻的加速计数据。

默认选项为:None。
在该文件中将unite_imu_method对应设置为“linear_interpolation”,两路数据即可以同步为同一个topic: /camera/imu:

使用命令行rostopic echo /camera/imu查看IMU数据,同一个数据中同时包含两个传感器数据

2 Ceres-Solver安装

git clone https://github.com/ceres-solver/ceres-solver

依赖

# Cmake
sudo apt-get install cmake
# google-glog + gflags
sudo apt-get install libgoogle-glog-dev
# BLAS & LAPAC
sudo apt-get install libatlas-base-dev
# Eigen3
sudo apt-get install libeigen3-dev
# SuiteSparse和CXSparse(可选)
# - 如果您希望将Ceres构建为*static*库(默认),则可以在Ubuntu主包repository中使用SuiteSparse包
sudo apt-get install libsuitesparse-dev
sudo apt-get update
sudo apt-get install libsuitesparse-dev

安装

mkdir build
cd build
camke ..
make
sudo make install

2 code_utils 安装


修改:在~/catkin_biao/src/code_utils/CMakeLists.txt中,添加:include_directories(“include/code_utils”)
或者:修改~/catkin_biao/src/code_utils/src/sumpixel_test.cpp 文件中的#include "backward.hpp"为#include “code_utils/backward.hpp”
修改:
sudo apt-get install libdw-dev

3 imu_utils安装

4 标定参数文件撰写

cd ~/catkin_biao/src/imu_utils/launch
touch d435i_imu_calibration.launch
gedit d435i_imu_calibration.launch

文件内容:

<launch><node pkg="imu_utils" type="imu_an" name="imu_an" output="screen"><param name="imu_topic" type="string" value= "/camera/imu"/><param name="imu_name" type="string" value= "d435i_imu_calibration"/><param name="data_save_path" type="string" value= "$(find imu_utils)/data/"/><param name="max_time_min" type="int" value= "10"/><param name="max_cluster" type="int" value= "100"/></node>
</launch>

max_time_min代表的是标定时间,这里的单位是分钟

5 录制IMU数据包

保持相机静止

roslaunch roslaunch realsense2_camera rs_imu_calibration.launch
cd ~/相机标定结果存储
rosbag record -O imu_calibration /camera/imu

6 标定

添加环境标量:

sudo  gedit ~/.bashrc
source ~/catkin_biao/devel/setup.bash
# 更新
source ~/.bashrc

标定

roslaunch imu_utils d435i_imu_calibration.launch
# 2
cd ~/相机标定结果存储
rosbag play -r 200 imu_calibration.bag

结束后标定结果保存在cd ~/catkin_biao/src/imu_utils/data文件夹下,文件名为d435i_imu_calibration_imu_param.yaml
结果如下:

%YAML:1.0
---
type: IMU
name: d435i_imu_calibration
Gyr:unit: " rad/s"avg-axis:gyr_n: 2.9731456108076613e-03gyr_w: 4.6757866248202665e-05x-axis:gyr_n: 1.9146867645158580e-03gyr_w: 4.0793210309672591e-05y-axis:gyr_n: 4.3985139109595879e-03gyr_w: 7.0425101846912364e-05z-axis:gyr_n: 2.6062361569475388e-03gyr_w: 2.9055286588023026e-05
Acc:unit: " m/s^2"avg-axis:acc_n: 7.1287226520511573e-02acc_w: 1.2369641418984393e-03x-axis:acc_n: 6.5809731513744446e-02acc_w: 1.1504376872998382e-03y-axis:acc_n: 8.0287824597207832e-02acc_w: 1.4939345312911317e-03z-axis:acc_n: 6.7764123450582442e-02acc_w: 1.0665202071043480e-03

在与相机标定中用到参数:陀螺仪和加速度计的随机游走和 高斯白噪声的平均值

Gyr:avg-axis:gyr_n: 2.9731456108076613e-03gyr_w: 4.6757866248202665e-05
Acc:avg-axis:acc_n: 7.1287226520511573e-02acc_w: 1.2369641418984393e-03

7 查看imu默认参数

rostopic echo /camera/gyro/imu_info
rostopic echo /camera/accel/imu_info
rostopic echo /camera/color/camera_info #相机参数

二、相机标定

1 kalibr ubuntu18.04安装

cd ~/catkin_biao/src
git clone https://github.com/ethz-asl/Kalibr.git
cd ..
catkin_make

1 编译出错

解决:修改CMakeLists.txt内容:

ExternalProject_Add(suitesparse_srcCMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}DOWNLOAD_COMMAND rm -f SuiteSparse-${VERSION}.tar.gz && wget http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-${VERSION}.tar.gzPATCH_COMMAND tar -xzf ../SuiteSparse-${VERSION}.tar.gz && rm -rf ../suitesparse_src-build/SuiteSparse && sed -i.bu "s/\\/usr\\/local\\/lib/..\\/lib/g" SuiteSparse/SuiteSparse_config/SuiteSparse_config.mk && sed -i.bu "s/\\/usr\\/local\\/include/..\\/include/g" SuiteSparse/SuiteSparse_config/SuiteSparse_config.mk && mv SuiteSparse ../suitesparse_src-build/CONFIGURE_COMMAND ""BUILD_COMMAND cd SuiteSparse && make library -j8 -l8INSTALL_COMMAND cd SuiteSparse && mkdir -p lib && mkdir -p include && make install && cd lib && cp libamd.2.3.1.a libcamd.2.3.1.a libcholmod.2.1.2.a libcxsparse.3.1.2.a libldl.2.1.0.a libspqr.1.3.1.a libumfpack.5.6.2.a libamd.a libcamd.a libcholmod.a  libcxsparse.a libldl.a libspqr.a libumfpack.a libbtf.1.2.0.a    libccolamd.2.8.0.a libcolamd.2.8.0.a libklu.1.2.1.a librbio.2.1.1.a libsuitesparseconfig.4.2.1.a libbtf.a   libccolamd.a libcolamd.a        libklu.a librbio.a libsuitesparseconfig.a  ${CATKIN_DEVEL_PREFIX}/${CATKIN_GLOBAL_LIB_DESTINATION}/ && cd .. && mkdir -p ${CATKIN_DEVEL_PREFIX}/${CATKIN_GLOBAL_INCLUDE_DESTINATION}/suitesparse && cd include && cp amd.h cholmod_matrixops.h SuiteSparseQR_definitions.h umfpack_load_symbolic.h umfpack_save_symbolic.h btf.h cholmod_modify.h SuiteSparseQR.hpp umfpack_numeric.h umfpack_scale.h camd.h cholmod_partition.h umfpack_col_to_triplet.h umfpack_qsymbolic.h umfpack_solve.h ccolamd.h cholmod_supernodal.h umfpack_defaults.h umfpack_report_control.h umfpack_symbolic.h cholmod_blas.h cholmod_template.h umfpack_free_numeric.h umfpack_report_info.h umfpack_tictoc.h cholmod_camd.h colamd.h umfpack_free_symbolic.h umfpack_report_matrix.h umfpack_timer.h cholmod_check.h cs.h umfpack_get_determinant.h umfpack_report_numeric.h umfpack_transpose.h cholmod_cholesky.h klu.h umfpack_get_lunz.h umfpack_report_perm.h umfpack_triplet_to_col.h cholmod_complexity.h ldl.h umfpack_get_numeric.h umfpack_report_status.h umfpack_wsolve.h cholmod_config.h RBio.h umfpack_get_symbolic.h umfpack_report_symbolic.h cholmod_core.h spqr.hpp umfpack_global.h umfpack_report_triplet.h cholmod.h SuiteSparse_config.h umfpack.h umfpack_report_vector.h cholmod_io64.h SuiteSparseQR_C.h umfpack_load_numeric.h umfpack_save_numeric.h ${CATKIN_DEVEL_PREFIX}/${CATKIN_GLOBAL_INCLUDE_DESTINATION}/suitesparse
)

修改为:

  ExternalProject_Add(suitesparse_srcCMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}DOWNLOAD_COMMAND rm -f SuiteSparse-${VERSION}.tar.gz && wget -O SuiteSparse-${VERSION}.tar.gz "https://github.com/jluttine/suitesparse/archive/v${VERSION}.tar.gz"#DOWNLOAD_COMMAND wget "https://www.baidu.com"PATCH_COMMAND tar -xzf ../SuiteSparse-${VERSION}.tar.gz && mv suitesparse-${VERSION} ./SuiteSparse && rm -rf ../suitesparse_src-build/SuiteSparse && sed -i.bu "s/\\/usr\\/local\\/lib/..\\/lib/g" SuiteSparse/SuiteSparse_config/SuiteSparse_config.mk && sed -i.bu "s/\\/usr\\/local\\/include/..\\/include/g" SuiteSparse/SuiteSparse_config/SuiteSparse_config.mk && mv SuiteSparse ../suitesparse_src-build/CONFIGURE_COMMAND ""BUILD_COMMAND cd SuiteSparse && make library -j8 -l8INSTALL_COMMAND cd SuiteSparse && mkdir -p lib && mkdir -p include && make install && cd lib && cp libamd.2.3.1.a libcamd.2.3.1.a libcholmod.2.1.2.a libcxsparse.3.1.2.a libldl.2.1.0.a libspqr.1.3.1.a libumfpack.5.6.2.a libamd.a    libcamd.a libcholmod.a  libcxsparse.a libldl.a libspqr.a libumfpack.a libbtf.1.2.0.a    libccolamd.2.8.0.a libcolamd.2.8.0.a libklu.1.2.1.a librbio.2.1.1.a libsuitesparseconfig.4.2.1.a libbtf.a   libccolamd.a libcolamd.a        libklu.a librbio.a libsuitesparseconfig.a  ${CATKIN_DEVEL_PREFIX}/${CATKIN_GLOBAL_LIB_DESTINATION}/ && cd .. && mkdir -p ${CATKIN_DEVEL_PREFIX}/${CATKIN_GLOBAL_INCLUDE_DESTINATION}/suitesparse && cd include && cp amd.h cholmod_matrixops.h SuiteSparseQR_definitions.h umfpack_load_symbolic.h umfpack_save_symbolic.h btf.h cholmod_modify.h SuiteSparseQR.hpp umfpack_numeric.h umfpack_scale.h camd.h cholmod_partition.h umfpack_col_to_triplet.h umfpack_qsymbolic.h umfpack_solve.h ccolamd.h cholmod_supernodal.h umfpack_defaults.h umfpack_report_control.h umfpack_symbolic.h cholmod_blas.h cholmod_template.h umfpack_free_numeric.h umfpack_report_info.h umfpack_tictoc.h cholmod_camd.h colamd.h umfpack_free_symbolic.h umfpack_report_matrix.h umfpack_timer.h cholmod_check.h cs.h umfpack_get_determinant.h umfpack_report_numeric.h umfpack_transpose.h cholmod_cholesky.h klu.h umfpack_get_lunz.h umfpack_report_perm.h umfpack_triplet_to_col.h cholmod_complexity.h ldl.h umfpack_get_numeric.h umfpack_report_status.h umfpack_wsolve.h cholmod_config.h RBio.h umfpack_get_symbolic.h umfpack_report_symbolic.h cholmod_core.h spqr.hpp umfpack_global.h umfpack_report_triplet.h cholmod.h SuiteSparse_config.h umfpack.h umfpack_report_vector.h cholmod_io64.h SuiteSparseQR_C.h umfpack_load_numeric.h umfpack_save_numeric.h ${CATKIN_DEVEL_PREFIX}/${CATKIN_GLOBAL_INCLUDE_DESTINATION}/suitesparse
)

2 编译出错fatal error: libv4l2.h: No such file or directory #include <libv4l2.h>
解决:sudo apt install libv4l-dev

2.标定板制作

2.1

D435i与速腾聚创(rslidar-16)标定相关推荐

  1. 速腾聚创RS-LiDAR激光雷达点云格式转换

    目录 一.速腾原格式 1.1点云.bag转.pcd 1.2查看pcd文件内容及数据格式 1.2.1 pcl_viewer查看 1.2.2 VS Code查看 二.velodyne格式转pcd 2.1 ...

  2. 【激光雷达】速腾聚创16线激光雷达驱动程序测试总结

    目录 1.速腾16线激光测试参考: 2.测试目的: 3.测试结果: 4.测试代码: 1.速腾16线激光测试参考: 源码地址: https://github.com/RoboSense-LiDAR/ro ...

  3. 速腾聚创16线激光雷达rslidar-16的ros驱动安装与rviz点云显示

    原链接: https://community.bwbot.org/topic/520 运行测试平台:小强ROS机器人 速腾聚创16线激光雷达rslidar-16的供电是直流12v 3A,通信接口是rs ...

  4. 速腾聚创16线激光雷达ros驱动安装与rviz点云展示说明

    .速腾聚创16线激光雷达ros驱动安装与rviz点云展示说明 V1.0.0 – by Holden Date : 2021-10-12 文章目录 .速腾聚创16线激光雷达ros驱动安装与rviz点云展 ...

  5. 【激光雷达】3D激光雷达传感器建图:速腾聚创、velodyne建图过程总结

    3D激光雷达建图 目录 1.3D激光驱动安装与点云数据录制 1.1.新建.或者使用现有的ROS的工程: 1.2.下载激光雷达的ROS接口驱动: 1.3.配置主机的IP地址: 1.4.配置出厂标定文件: ...

  6. lego-LOAM跑自己的数据包无法显示全局点云地图解决(速腾聚创RS-LiDAR-16 雷达 )---SLAM不学无术小问题

    LeGo-LOAM跑自己的数据包无法显示全局地图问题 注意:本文笔者使用环境:Ubuntu18.04 ROS melodic 版本 背景      3D SLAM新手,在看到了各种狂拽炫酷的3D点云图 ...

  7. 速腾聚创rs_lidar_16(Robosense)使用gmapping建图

    1.配置速腾聚创 rs_lidar_16雷达驱动 参考下面教程的第一步,Robosense16线雷达驱动安装 速腾聚创rs_lidar_16使用cartographer配置教程 2.使用pointcl ...

  8. ROS功能包在线把速腾聚创点云格式转为velodyne点云格式

    国外算法很多slam算法是基于velodyne_lidar开发的,对国内雷达型号不友好,在这里记录一下使用rs_to_velodyne功能包实时在线将速腾聚创点云转化为velodyne点云的过程 环境 ...

  9. 速腾聚创激光雷达部署

    速腾聚创激光雷达部署 文章目录 速腾聚创激光雷达部署 一.安装显卡驱动 ① 修改Ubuntu系统软件与更新中的默认配置 ② 添加NVIDIA下载源 ③ 安装 二.修改网口IP地址 三.启动实时点云获取 ...

最新文章

  1. 为什么老编辑器Vim这么难用,却很受欢迎?
  2. WordPress-基础设置之固定链接设置
  3. ASP.NET Core Filter如何支持依赖注入
  4. 以命令方式从ftp服务器上下载和上传文件
  5. 【Linux 命令】- find 命令
  6. 做自媒体花式撸收益?
  7. [BZOJ3110] [Zjoi2013]K大数查询
  8. zeppelin 连接hive 认证方式_HIVE的学习之路(六)Hive的分组Join排序
  9. 考勤打卡记录数据库表结构_考勤系统数据表结构
  10. 使用WDF开发驱动程序
  11. 【C++要笑着学】类的默认成员函数详解 | 构造函数 | 析构函数 | 构造拷贝函数
  12. 阿里云服务平台,分布式架构云平台解决方案
  13. Batter Charger EC之间的数据交互
  14. 写代码后你胖了几斤?(程序员健身的独特方式)
  15. 笔记本做wifi热点
  16. 基于PC与单片机串口通信的温度监控系统程序设计
  17. DiskPart 常用操作【Windows】
  18. 【附源码】计算机毕业设计SSM天气预报系统
  19. Axure教程(中级):分类导航菜单高亮条的实现
  20. 深度划痕的基本修复方法_如何修复划痕和损坏的照片或扫描件

热门文章

  1. winpython与python区别_winpython与python区别是什么
  2. MybatisPlus3整合
  3. 再见了数仓,阿里的数据湖建设攻略确实牛!
  4. 离散傅里叶变换(DFT)与三角插值法
  5. 京东分布式存储建设之路(JFS)
  6. 模拟器安装应用:INSTALL_FALLED_INTERNAL_ERROR
  7. 人生思维与职业的转变
  8. 第六届云安全联盟大中华区大会:数字技术引领数字安全生态建设,成功举办!
  9. 一个农村博士的独白:全家为什么只有我读到了博士...
  10. linux进程pid分配规则,Linux进程pid分配法