Ubuntu20.04 配置D435i相机

news/2025/3/3 21:58:19/

文章目录

  • 一、安装使用 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 C8B3A55A6F3EFCDEsudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main" -u

2.安装

sudo apt-get updatesudo apt-get install librealsense2-dkmssudo apt-get install librealsense2-utils

3.安装开发者和调试包

sudo apt-get install librealsense2-devsudo apt-get install librealsense2-dbg

4.测试SDK2

连接USB3.0接口

realsense-viewer

在这里插入图片描述

二、安装realsense-ros

1.创建工作空间

mkdir -p ~/catkin_ws/srccd ~/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-reconfiguresudo 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-setuptoolssudo apt-get install python3-setuptools python3-rosinstall python3-ipython libeigen3-dev libboost-all-dev doxygen libopencv-devsudo 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 scope33 |     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 scope85 |     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 defined68 |     std::ofstream out_t;

解决方法

添加头文件:

#include <fstream>

http://www.ppmy.cn/news/828873.html

相关文章

小红书笔记为什么没有流量,归纳总结

我们都知道小红书是一个内容分享类平台。小红书笔记是平台的主要内容形式。但有时候&#xff0c;我们撰写了一篇笔记&#xff0c;却无法搜索到&#xff0c;今天为大家分享下小红书笔记为什么没有流量&#xff0c;归纳总结&#xff01; 一、小红书笔记不被收录的原因 当我们精心…

APP测试要点有哪些?

我们日常购物、旅游、支付等活动都离不开手机&#xff0c;由此衍生了很多APP。 比如每天使用频率非常高的微信、支付宝、微博、抖音、王者荣耀等等。 APP测试主要进行功能测试、性能测试、自动化测试、安全性测试、兼容性测试、专项测试。 01、APP测试流程 APP测试流程与web测…

lenovo电脑如何进入Bios和Boot menu

1、不同型号按键不同&#xff0c;大多都为 F2或者fnF2 &#xff1b;另外也可试试F10、DEL等 进入Bios 2、一键U盘/DVD启动&#xff0c;快捷键一般为F12&#xff0c;也可以到bios-boot进行手动改成第一启动项。 另外 GPT-UEFI 、 MBR-Legacy 对应 3、以上都没反应&#xff0c…

Lenovo/IBM ThinkPad 笔记本电脑指示灯释解

顺序自左向右: 1挂起状态指示灯绿色&#xff1a;计算机处于挂起状态绿色且不断闪烁&#xff1a;计算机正在进入挂起或休眠状态&#xff0c;或者正在从挂起或休眠状态中恢复回来2AC 电源状态指示灯绿色&#xff1a;计算机连接到交流电源上3电池状态指示灯绿色&#xff1a;电池电…

Lenovo到底是干什么的?

给专家准备的笔记本都是Lenovo的笔记本&#xff0c;昭阳E390&#xff0c;这个本子好不好用先不说了&#xff0c;我就怀疑为什么每个本子都带了一个正版的金山毒霸&#xff1f;和Lenovo的工程师聊天&#xff0c;才知道Lenovo已经在KingSoft有了50%的股份&#xff0c;一家人哦&am…

thinkbook 如何连接手机投屏

thinkbook 如何连接手机投屏 百度教程&#xff1a; 笔记本电脑怎么打开手机投屏功能&#xff1f; 关键词&#xff1a; PC&#xff1a;投影手机端&#xff1a;无线投屏 步骤 操作教程&#xff1a; 搜索关键词之后&#xff0c;点击跳转&#xff0c;进入如下图界面。 如上图&a…

qt 聊天室

服务器端 widget.cpp #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this);//实例化一个服务器对象server new QTcpServer(this);}Widget::~Widget() {delete ui; }…

C++学习第二十二天(deque容器及案例)

deque容器的基本概念 功能&#xff1a;双端数组&#xff0c;可以对头端进行删除和插入 deque和vector的区别 vector对于头部的插入删除效率低&#xff0c;数据量越大&#xff0c;效率越低 deque相对而言&#xff0c;对头部的插入和删除比较块 vector访问元素的速度比deque快&am…