Ubuntu20.04 配置D435i相机

2023-05-16

文章目录

  • 一、安装使用 InterRealSenseD435i SDK2
    • 1.注册服务器的公钥
    • 2.安装
    • 3.安装开发者和调试包
    • 4.测试SDK2
  • 二、安装realsense-ros
    • 1.创建工作空间
    • 2.源码安装
    • 3.编译:
  • 三、安装kalibr
    • 1.安装kalibr 依赖
    • 2.安装python-igraph 和 python3-pyx
    • 3.创建工作空间
    • 4.编译:
    • 4. 文件移动
    • 5. kalibr工具生成标定板
  • 四、配置港科大IMU标定
    • 1.安装[ceres](https://blog.csdn.net/SEAL0107/article/details/127790837?spm=1001.2014.3001.5501)
    • 2.创建IMU工作空间
    • 3.下载code_utils并编译
    • 错误:
      • 1) :
      • 2) :
      • 3) :(opencv 4.4.0出现的错误,原因:opencv版本高导致)
        • 1、
        • 2、
    • 4.下载imu_utils并编译
    • 错误:
      • 1) :上半部分中的错误中第二个错误
      • 2) :


一、安装使用 InterRealSenseD435i SDK2

官方安装1 ,
官方安装2 。

1.注册服务器的公钥

sudo apt-key adv --keyserver keys.gnupg.net --recv-key C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key C8B3A55A6F3EFCDE

sudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main" -u

2.安装

sudo apt-get update

sudo apt-get install librealsense2-dkms

sudo apt-get install librealsense2-utils

3.安装开发者和调试包

sudo apt-get install librealsense2-dev

sudo apt-get install librealsense2-dbg

4.测试SDK2

连接USB3.0接口

realsense-viewer

在这里插入图片描述

二、安装realsense-ros

1.创建工作空间

mkdir -p ~/catkin_ws/src

cd ~/catkin_ws/src/

2.源码安装

#原来的链接(最近似乎添加了新的东西,原来的链接下载后东西变了)
git clone https://github.com/IntelRealSense/realsense-ros.git
 
#新的链接
git clone https://github.com/IntelRealSense/realsense-ros/tree/ros1-legacy.git

git clone https://github.com/pal-robotics/ddynamic_reconfigure.git

与上面链接二选一安装ros包ddynamic_reconfigure

打开一个新终端
sudo apt install ros-noetic-ddynamic-reconfigure
这个只是一个卸载提示,不在安装步骤中

卸载ros-noetic-ddynamic-reconfigure
 sudo apt-get purge ros-noetic-ddynamic-reconfigure

非必要#安装依赖包
sudo apt-get install ros-noetic-realsense2-camera

cd realsense-ros/
git checkout `git tag | sort -V | grep -P "^2.\d+\.\d+" | tail -1`

3.编译:

cd ~/catkin_ws/src/
catkin_init_workspace
cd ..
catkin_make clean
catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release
catkin_make install

发布的话题

echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

rs_camera.launch更改选项

source devel/setup.bash
roslaunch realsense2_camera rs_camera.launch

新建一个终端: rostopic list

再新建一个终端,并执行:  rviz

在弹出的rviz软件中,左下角有个‘Add’,然后在弹框中选择‘By topic’, 
在里面选择其中一个选项的image。

三、安装kalibr

1.安装kalibr 依赖

sudo apt-get install python3-setuptools
 
sudo apt-get install python3-setuptools python3-rosinstall python3-ipython libeigen3-dev libboost-all-dev doxygen libopencv-dev
 
sudo apt-get install libopencv-dev ros-noetic-vision-opencv ros-noetic-image-transport-plugins ros-noetic-cmake-modules python3-software-properties software-properties-common libpoco-dev python3-matplotlib python3-scipy python3-git python3-pip libtbb-dev libblas-dev liblapack-dev python3-catkin-tools libv4l-dev

2.安装python-igraph 和 python3-pyx

sudo pip install python-igraph --upgrade

 如果不成功,则可以直接安装:
 
sudo apt-get install python-igraph

sudo apt-get install python3-pyx

3.创建工作空间

mkdir -p ~/kalibr_ws/src
cd ~/kalibr_ws
source /opt/ros/noetic/setup.bash
catkin init
catkin config --extend /opt/ros/noetic
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release

4.编译:

cd ~/kalibr_ws/src
git clone https://github.com/ethz-asl/Kalibr.git
cd ~/kalibr_ws
catkin build -DCMAKE_BUILD_TYPE=Release -j4

重新打开一个终端:
echo "source ~/kalibr_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

4. 文件移动

在文件夹kalibr_ws内,安装完成后,没有可执行文件,因此要将可执行文件移动到文件夹kalibr_ws中。
可执行文件在 kalibr_ws/devel/lib/kalibr 路径下,
在这里插入图片描述
将该路径下的所有文件复制到kalibr_ws内
在这里插入图片描述

5. kalibr工具生成标定板

./kalibr_create_target_pdf --type 'apriltag' --nx 6 --ny 6 --tsize 0.08 --tspace 0.3

四、配置港科大IMU标定

1.安装ceres

2.创建IMU工作空间

mkdir -p ~/imu_catkin_ws/src
cd ~/imu_catkin_ws/src
catkin_init_workspace
cd ~/imu_catkin_ws 
catkin_make
source ~/imu_catkin_ws/devel/setup.bash
source ~/.bashrc

3.下载code_utils并编译

cd ~/imu_catkin_ws/src
git clone https://github.com/gaowenliang/code_utils.git
cd ~/imu_catkin_ws/
catkin_make 

错误:

1) :

/imu_catkin_ws/src/code_utils/src/sumpixel_test.cpp:2:10: fatal error: backward.hpp: 没有那个文件或目录    
2 | #include "backward.hpp"

解决办法:

sudo apt-get install libdw-dev

将出错文件中的
#include “backward.hpp
替换为
#include "code_utils/backward.hpp"

2) :

/usr/local/include/ceres/internal/integer_sequence_algorithm.h:64:21: error: ‘integer_sequence’ is not a member of ‘std’
   64 | struct SumImpl<std::integer_sequence<T, N, Ns...>> {

解决方法1
解决方法2
找到报错的项目的CMakeList.txt
set(CMAKE_CXX_FLAGS “-std=c++11”)
改成
set(CMAKE_CXX_STANDARD 14)

3) :(opencv 4.4.0出现的错误,原因:opencv版本高导致)

1、

/imu_catkin_ws/src/code_utils/src/mat_io_test.cpp:33:47: error: ‘CV_LOAD_IMAGE_UNCHANGED’ was not declared in this scope
   33 |     Mat img1 = imread( "/home/gao/IMG_1.png", CV_LOAD_IMAGE_UNCHANGED );
/imu_catkin_ws/src/code_utils/src/sumpixel_test.cpp:85:47: error: ‘CV_LOAD_IMAGE_GRAYSCALE’ was not declared in this scope
   85 |     Mat img1 = imread( "/home/gao/IMG_1.png", CV_LOAD_IMAGE_GRAYSCALE );

解决方法

将  CV_LOAD_IMAGE_UNCHANGED   换成   IMREAD_UNCHANGED
并在代码头文件下面添加命名空间   using namespace cv;

将  CV_LOAD_IMAGE_GRAYSCALE   换成   IMREAD_GRAYSCALE

2、

/imu_catkin_ws/src/code_utils/src/sumpixel_test.cpp:95:35: error: ‘CV_MINMAX’ was not declared in this scope; did you mean ‘CV_MMX’?
   95 |     normalize( img, img2, 0, 255, CV_MINMAX );
   

解决方法1

原因:缺少 
#include <opencv2/imgproc/types_c.h>

解决:添加到对应报错的文件中
.

解决方法2

CV_MINMAX  改成    NORM_MINMAX

4.下载imu_utils并编译

cd ~/imu_catkin_ws/src/
git clone https://github.com/gaowenliang/imu_utils.git
cd ~/imu_catkin_ws/
catkin_make
echo "source ~/imu_catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

错误:

1) :上半部分中的错误中第二个错误

2) :

/imu_catkin_ws/src/imu_utils/src/imu_an.cpp:68:19: error: aggregate ‘std::ofstream out_t’ has incomplete type and cannot be defined
   68 |     std::ofstream out_t;

解决方法

添加头文件:

#include <fstream>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu20.04 配置D435i相机 的相关文章

随机推荐

  • 关于大端序和小段序

    Most Significant Byte 指多字节序列中具有最大权重的 字节 wiki中的解释 xff1a Most Significant Bit 是指一个n位 二进制数字中的n 1位 xff0c 具有最高的权值 与之相反的称之为最低有
  • 使用Project进行项目管理

    文章目录 1 Project可以做哪些 xff1f 1 1 功能清单1 2 本文将会涉及到的内容 2 常见操作2 1 设置 xff1a 自动任务2 2 设置 xff1a 任务的时间格式2 3 日历设置 xff1a 项目开始时间2 4 日历设
  • 进销存小程序(一)项目整体功能和设计

    文章目录 1 设计目标2 功能点说明2 1 首页2 2 登陆2 2 1 微信用户和当前用户绑定的过程2 2 2 获取用户信息 2 3 创建店铺2 4 加入店铺2 5 创建商品2 6 商品信息修改2 7 入库管理2 8 出库管理2 9 库存盘
  • Tomcat的appBase,docBase,path关系

    文章目录 1 结论在最前面2 server xml关于appbase和context配置2 1 war包在webapps目录下 xff1b appbase 61 34 webapps 34 xff1b 无context配置2 2 war包在
  • ubuntu 18.04 LTS 安装搜狗输入法

    首先安装 fcitx xff0c 再安装搜狗输入法 一 检测是否安装fcitx 首先检测是否有 fcitx xff0c 因为搜狗拼音依赖fcitx 在终端中输入 fcitx xff0c 检查 fcitx 是否已有 fcitx 提示 xff1
  • Activiti之一:部署activiti-admin、activiti-app、activiti-rest

    文章目录 各组件版本下载部署将war包放入tomcat 访问 在网上查找activiti相关资料 xff0c 发现对于activiti rest的使用很少 xff0c 而官网对于api的支持还是比较多的 xff0c 如果考虑的是一个纯粹的工
  • 基于mongodb的动态表单实现

    文章目录 1 项目背景2 术语表3 技术选型4 概要设计4 1 逻辑架构图4 2 系统覆盖图 5 详细设计5 1 元数据样例及说明5 2 关于uuid 6 接口清单6 1 表单管理模块6 1 1 从excel导入表单元数据6 1 2 表单元
  • 10.9.1-Dataway+Echarts动态图表方案

    文章目录 1 技术选型2 实现方案2 1 方案介绍2 2 方案实现 xff08 demo xff09 2 2 1 使用echarts绘制html静态页2 2 1 1 选择合适的图表2 2 1 2 下载html demo 2 2 2 使用Da
  • 11.1-股票基金历年收益率计算

    文章目录 1 计算目标2 关键问题3 获取交易日历4 逻辑编写 1 计算目标 我们想知道 xff0c 一只股票标的 xff0c 在之前的几年中 xff0c 每一年的年化收益率是多少 xff1f 如果将每年的年化收益率进行求和汇总 xff0c
  • java代理实现爬取代理IP

    仅仅使用了一个java文件 xff0c 运行main方法即可 xff0c 需要依赖的jar包是com alibaba fastjson xff08 版本1 2 28 xff09 和Jsoup xff08 版本1 10 2 xff09 如果用
  • 使用proguard进行javaweb代码混淆

    背景 xff1a 公司需要将软件打包出售 xff0c 此时需要进行代码混淆和一些加密要求 调研 xff1a 目前此类实现包含软件和硬件实现 xff1b 硬件实现是使用类似加密狗usb工具进行防护 xff0c 应用系统通过与加密狗交互 xff
  • 使用说明-Postman-带cookie请求、文件上传

    Postman进行文件上传 选择post方式 xff0c 地址是http 192 168 102 213 7240 foa system upload Headers部分不要填写任何内容 对照后台的接口 xff0c 配置postman 选择
  • CentOS7下使用docker,完成Jenkins镜像、tomcat镜像制作和启动

    最终的目的 xff0c 是为了完成docker环境的Jenkins搭建使用 xff0c 并从gitlab上获取代码 xff0c 打出war包 xff0c war包通过目录挂载的方式 xff0c 在tomcat容器中使用 xff0c 总体思路
  • C# HttpWeb POST请求封装

    用于发送POST请求 xff0c 可以发送各种POST参数 传送文件 xff0c 返回结果 下载文件 说明如下 xff1a span class hljs keyword public span span class hljs keywor
  • [ROS学习笔记]ROS中使用激光雷达(RPLIDAR)

    RPLIDAR是低成本的二维雷达解决方案 xff0c 由SlamTec公司的RoboPeak团队开发 xff0c 本次学习用的是RPLidar A1型号激光雷达 xff0c 它能扫描360 xff0c 6米半径的范围它适合用于构建地图 xf
  • Ubuntu 18.04 配置国内源

    安装Ubuntu 18 04后 xff0c 使用国外源太慢了 xff0c 修改为国内源会快很多 修改阿里源为Ubuntu 18 04默认的源 备份 etc apt sources list 备份 cp etc apt sources lis
  • VS2010 断点失效解决方案 (VC)

    遇到几次断点失效的问题 xff0c 下面的方法都用了一下 xff0c 不清楚是哪个方法起作用了 一 菜单 调试 选项和设置 调试 常规 要求源文件与原始版本完全匹配 取消这个功能 二 菜单 编辑 高级 设置选定内容的格式 把打不上断点的那个
  • stm32学习

    波特率 xff1a 每秒传送的位数 DMA Direct Memory Access xff0c 直接内存存取 是所有现代电脑的重要特色 xff0c 它允许不同速度的硬件装置来沟通 xff0c 而不需要依赖于 CPU 的大量中断负载 否则
  • 经纬高坐标系转到东北天坐标系

    经纬高坐标系转到东北天坐标系 基本思路 xff1a 首先把经纬高 xff08 大地坐标系 lla llh xff09 转到直角坐标系 xff08 地心地固直角坐标系 xff08 ECEF xff09 xyz xff09 然后再转为局部坐标系
  • Ubuntu20.04 配置D435i相机

    文章目录 一 安装使用 InterRealSenseD435i SDK21 注册服务器的公钥2 安装3 安装开发者和调试包4 测试SDK2 二 安装realsense ros1 创建工作空间2 源码安装3 编译 xff1a 三 安装kali