D435i标定摄像头和IMU笔记一(配置环境篇)

2023-05-16

IntelRealSense D435i摄像头和IMU标定笔记一(配置环境篇)

  • 一、标定方案
  • 二、环境要求
  • 三、环境配置
    • 3.1 基本环境安装
      • 3.1.1 for ubuntu16.04
      • 3.1.2 for ubuntu18.04
    • 3.2 D435i驱动和ROS包安装
      • 3.2.1 驱动安装
      • 3.2.2 ros包安装
    • 3.3 Kalibr工具安装

参考视频
D435i标定摄像头和IMU笔记一(配置环境篇)
D435i标定摄像头和IMU笔记二(RGB摄像头标定篇)
D435i标定摄像头和IMU笔记二-2(RGB+双目多摄像头标定篇)
D435i标定摄像头和IMU笔记三(IMU标定篇)
D435i标定摄像头和IMU笔记四(RGB摄像头和IMU联合标定篇)
D435i标定摄像头和IMU笔记四-2(双目摄像头与IMU联合标定篇)

一、标定方案

D435i标定的方案为:使用RealSence官网教程标定IMU的bias和三个轴的对齐、使用港科大imu_utils标定IMU获得随机游走数据、单RGB摄像头标定使用kalibr、单摄像头+IMU联合标定采用kalibr。

二、环境要求

ubuntu16.04/ubuntu18.04、ros kinetic/melodic、python2.7、python3.6及以上。

建议:

  1. 使用ubuntu16.04的版本,因为kalibr实在太久没更新了,ubuntu16.04安装丝滑。ubuntu18.04也成功了,但是使用的不是官方编译方式,官方是python的catkin,我用的是catkin_make
  2. 如果不想单独安装ubuntu16.04,可以使用docker工具来安装一个ubuntu16.04容器。后面补充,docker功能自行百度。
  3. 安装新的ubuntu16.04之后,除了换源,第一件事就是将python3升级到python3.6以上,因为python3.5及以下会报错,很麻烦

三、环境配置

3.1 基本环境安装

3.1.1 for ubuntu16.04

  1. 安装ubuntu16.04,更换源。
  2. 安装python3.7(先查看python3版本,如果是3.6及以上就不用换)
    查看python3版本:python3 --version
1)下载:wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1rc2.tgz	
2)解压:tar zxvf Python-3.7.1rc2.tgz
3)cd Python-3.7.1rc2
4)编译:
./configure
make
make install
5)删除软链接(可能自带的是python3.5)
sudo rm -r /usr/bin/python3
sudo rm -r /usr/bin/pip3
6)添加软链接
ln -s /usr/local/bin/python3.7 /usr/bin/python3
ln -s /usr/local/bin/pip3.7 /usr/bin/pip3
  1. 传送门:安装ros kinetic
    问题一:rosdep init问题
    PS:解决不了,最后rosdep init和rosdep update不搞也行,反正能用

3.1.2 for ubuntu18.04

啥都不用做。	

3.2 D435i驱动和ROS包安装

3.2.1 驱动安装

1.1 参考教程
官网安装教程

  1. 获取源码
git clone https://github.com/IntelRealSense/librealsense.git
  1. 安装依赖
sudo apt-get install git libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev
sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev at
  1. Run Intel Realsense permissions script from librealsense root directory:
cd librealsense
./scripts/setup_udev_rules.sh
  1. Build and apply patched kernel modules for:
./scripts/patch-realsense-ubuntu-lts.sh

ps:这一步要很长时间

  1. TM1-specific:
echo 'hid_sensor_custom' | sudo tee -a /etc/modules
  1. 编译
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j8
  1. 安装
sudo make install

1.2 测试

realsense-viewer

3.2.2 ros包安装

[官方github] https://github.com/IntelRealSense/realsense-ros

参考一、参考二

安装完成后修改lauch文件:

cd ~/catkin_ws/src/realsense-ros/realsense2_camera/launch
sudo gedit rs_camera.launch

修改以下内容

  <arg name="enable_gyro"         default="true"/>
  <arg name="enable_accel"        default="true"/>
  <arg name="enable_sync"         default="false"/>
  <arg name="unite_imu_method"    default="linear_interpolation"/>

PS:unite_imu_method的值为linear_interpolation(插值),copy(复制); enable_sync是同步IMU和图像时间戳,但是后面新的版本好像已经做了,值给false就可以。实际可以分别监听测试。
参数说明

3.3 Kalibr工具安装

(官方WIKI,不要用IDE方式安装)

  1. 安装依赖:

for ubuntu16.04

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

for ubuntu18.04

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

注:libboost-all-dev这个先不装吧,因为安装ros会自动装,如果再装可能后面会出问题
2. 安装python-igraph

sudo apt-get install -y libigraph0-dev
sudo pip install python-igraph

问题:可能会安装错误,原因是版本太新,而python2太老。
解决办法:使用老版本的,具体大家上python官网查看版本。

sudo pip install python-igraph==0.7.0
  1. 创建工作空间(单独建一个工作空间,因为这个是python编译的):

for ubuntu16.04

mkdir -p ~/kalibr_workspace/src
cd ~/kalibr_workspace
source /opt/ros/kinetic/setup.bash
catkin init
catkin config --extend /opt/ros/kinetic
catkin config --merge-devel # Necessary for catkin_tools >= 0.4.
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release

for ubuntu18.04

mkdir -p ~/kalibr_workspace/src
cd ~/kalibr_workspace
  1. 下载源码:
cd ~/kalibr_workspace/src
git clone https://github.com/ethz-asl/Kalibr.git
  1. 编译(可以去接杯茶喝了):

for ubuntu16.04

cd ~/kalibr_workspace
catkin build -DCMAKE_BUILD_TYPE=Release -j4

for ubuntu18.04

catkin_make -DCMAKE_BUILD_TYPE=Release

问题:

无法验证 faculty.cse.tamu.edu 的由 “CN=InCommon RSA Server CA,OU=InCommon,O=Internet2,L=Ann Arbor,ST=MI,C=US” 颁发的证书:   无法本地校验颁发者的权限
recipe for target 'Kalibr/suitesparse/suitesparse_src-prefix/src/suitesparse_src-stamp/suitesparse_src-download' failed

原因:suitesparse没办法在这个链接下了
解决办法:更改kalibr/suitesparse下的CMakeLists.txt
更改前:

ExternalProject_Add(suitesparse_src
  CMAKE_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.gz
  PATCH_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 -l8
  INSTALL_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_src
  CMAKE_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"
  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 -l8
  INSTALL_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 
)
  1. 添加环境变量
echo "source ~/kalibr_workspace/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
  1. 生成标定板子
kalibr_create_target_pdf --type checkerboard --nx 5 --ny 8 --csx 0.045 --csy --0.045

–type GRIDTYPE表示网格图类型,两种可选apriltag和checkerboard
–nx N_COLS表示x轴方向上的内部角点数,默认为6
–ny N_ROWS表示y轴方向上的内部角点数,默认为7
–csx CHESSSZX表示x轴方向上每个棋盘格的宽度,默认为0.05m
–csy CHESSSZY表示y轴方向上每个棋盘格的宽度,默认为0.05m

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

D435i标定摄像头和IMU笔记一(配置环境篇) 的相关文章

  • 【前端】ajax 接口返回图片文件流,将图片保存至自己服务器,并展示该图片

    一 解决前 1 1 问题描述 ajax 调用第三方接口 xff0c 接口没有返回图片链接 xff0c 直接返回的图片 现在要将文件保存至服务器 xff0c 并返回自身的链接 span class token comment 解决前的代码 s
  • http请求带用户名和密码验证

    发送http请求往往需要带用户名和密码 xff0c 服务端进行授权验证 实现方式是将将用户名和密码放到请求头里面 xff0c 采用Basic Authentication Scheme xff0c 译为基本授权方案 xff0c 想要了解的可
  • 【TPM2.0原理及应用指南】 1-3章

    码字不易 xff0c 求求点个赞呗 第一章 TPM的历史 可信平台模块 xff08 TPM xff09 是一种加密协处理器 可信计算组织 xff08 TCG xff09 直接匿名认证 DAA 认证可迁移密钥 xff08 Certified
  • QGC通过网络连接飞控(树莓派+ROS桥接MavLink)

    1 为树莓派刷ubuntu 因为无界面的ubuntu在连接无线 设置自动登录等方面的设置比较复杂 我经过各种百度尝试后 均没有成功 所以我放弃了 转而又刷了ubuntu mate 带界面 然后连接了无线 设置了自动登录 静态IP 自此树莓派
  • 大厂大数据岗位面试随笔

    大厂面试简要记录 1 腾讯2 阿里 1 腾讯 腾讯PCG事业部 大数据开发岗 问题回忆 xff1a spark数据分发机制Hadoop集群高可用机制阐述Spark Streaming给个具体视频应用场景阐述开发思路及任务架构 xff08 期
  • 南京邮电大学C++实验三(多态性实验)

    文章目录 一 实验目的和要求二 实验环境 实验设备 三 实验原理及内容 xff08 一 xff09 实验题目1 xff1a 1 题目2 代码3 程序运行结果 4 实验解答过程 xff1a 1 类Point的构造函数 xff1a 2 用成员函
  • ROS package.xml教程

    文章目录 总览标准格式2 xff08 推荐格式 xff09 基本结构必要标签依赖元包其他标签 标准格式1 xff08 遗留格式 xff09 总览 ROS的package包使用package xml文件来描述 xff0c 该描述文件必须放置在
  • 如何从论文中实现算法复现(译)

    原文地址 xff1a http xff1a codecapsule com 2012 01 18 how to implement a paper 作者 xff1a Emmanuel Goossaert 翻译 xff1a Joseph Ar
  • CMakeList.txt

    一个视频讲解 http v youku com v show id XMjc1MjE0MjEwNA 61 61 html cmake 语法设置路径 xff0c 配置库 xff0c 编译器标记 xff1a https www cnblogs
  • GPS ROS包

    NMEA GPS数据读取 span class hljs label http span wiki span class hljs preprocessor ros span span class hljs preprocessor org
  • Arduino Atmega328P烧写bootloader及熔丝

    Arduino Atmega328P烧写bootloader及熔丝 Cc1924的博客 CSDN博客 亲测成功
  • 云服务器 搭建 AWTRIX 服务器

    Java 环境 首先检查 java 版本 如果没有 安装 openjdk 后再执行 sh脚本 yum list java 1 8 yum install java 1 8 0 openjdk y wget N https blueforce
  • esp8266对接天猫精灵(1)前言

    本系列文章小狂决定一步步来完成其他智能设备与天猫精灵的对接 xff0c 简单粗暴的目的就是使用ESP8266或者其他的wifi设备制造一个智能设备 xff0c 完成一次天猫精灵智能音箱对我们自己制造的智能设备的控制 xff0c 以来验证天猫
  • 牢记公式,ardupilot EKF2就是纸老虎(二)!

    版权声明 xff1a 本文为博主原创文章 xff0c 转载请附上博文链接 xff01 二 扩展卡尔曼滤波器 因为卡尔曼滤波器针对的是线性系统 xff0c 状态转移模型 xff08 说的白话一点就是知道上一时刻被估计量的值 xff0c 通过状
  • esp8266对接天猫精灵(3)原理

    这一篇文章主要讲解服务器端的设置 xff0c 这里我使用的是腾讯云 xff0c 当时学生价1块钱一个月买的 xff0c 现在的学生价涨到了10块 xff0c 为我当时的机智点赞 为什么一定要使用服务器呢 xff0c 这个是因为天猫精灵协议的
  • esp8266对接天猫精灵(8)开发者网关地址

    洋洋洒洒六七千字已经搭进去了 xff0c 终于把服务器篇写的差不多了 xff0c 当然小狂不是专业的写手 xff0c 有些东西写的凑合看吧 xff0c 只是说明过程 xff0c 并不修饰言辞 xff0c 看的舒服就点个赞 xff0c 不舒服
  • esp8266对接天猫精灵(10)nodumcu固件编译

    一 下载编译器 进入这个网站 xff0c https esp8266 ru esplorer xff0c 找到这个地方 xff0c 可以直接下载 xff0c 下载完成后双击红框中的内容就能打开 打开后的截图如下图所示 xff0c 左边为代码
  • esp8266对接天猫精灵(11)终端编程

    一 编写lua脚本获取控制信息 xff08 8266 xff09 前边也说过 xff0c 这个脚本要实现的步骤可以分三步 xff0c 第一步是联网 xff0c 第二步是使用http get到数据 xff0c 然后控制要控制的设备 我们的lu
  • Altium Designer -- 精心总结

    如需转载请注明出处 xff1a http blog csdn net qq 29350001 article details 52199356 以前是使用DXP2004来画图的 xff0c 后来转行 想来已经有一年半的时间没有画过了 突然转
  • Arduino点亮ws2812

    先加载ws2812库文件 span style color rgb 68 68 68 font family none font size 14px background color rgb 255 255 255 a target bla

随机推荐

  • Arduino 旋转编码器ky-040

    int pinA 61 3 Connected to CLK on KY 040 CLK接 pin3 int pinB 61 4 Connected to DT on KY 040 DT接pin4 SW是按键 xff0c 不用接 int e
  • Dockerfile

    Dockerfile文件 xff0c 自创镜像 一 概念 xff1a 二 案例 xff1a 1 先创建一个Dockerfile文件2 编写内容3 构建镜像4 运行 三 指令 xff1a FROM xff1a MAINTAINER xff1a
  • 关于嵌入式无人机之模型创建-使用3D打印装配体01

    做嵌入式的同学离不开硬件的支撑 那么无人机作为一套综合性工程 span class token punctuation span 涉及软件 span class token punctuation span 嵌入式 span class t
  • 牢记公式,ardupilot EKF2就是纸老虎(三)!

    版权声明 xff1a 本文为博主原创文章 xff0c 转载请附上博文链接 xff01 三 掀开EKF2的神秘面纱 EKF2是EKF算法在ardupilot上的代码实现 读到这里你也许已经忘了 xff0c EKF的5大公式 虽然下面是7个公式
  • ROS节点 报错process has died [pid 3322522, exit code -11

    偶尔出现 我的情况是两个节点 ros span class token double colon punctuation span span class token function init span span class token p
  • JS的冒泡函数

    今天下午学习了冒泡函数的加载和运行 一 var a 61 20 30 40 20 15 5 25 for var i 61 0 i lt a length i 43 43 for var j 61 1 j lt a length j 43
  • ubuntu server 版安装桌面

    安装xfce4 xff08 或其他桌面 xff09 amp xinit sudo apt install xfce4 xinit安装Display Manager 安装xdm xff0c 虽然有着古早的界面 xff0c 但是不会安装任何依赖
  • ubuntu下gazebo加载很慢解决办法

    ubuntu下gazebo加载很慢解决办法 前言 刚安装好 r o s ros r o s 后 xff0c 在终端输入命令 gazebo 启动 g
  • 从用户态是怎么切换到核心态的?

    此文章参考了 Linux 用户态通过中断切换到内核态详解 简答来说 xff0c 用户态和核心态的区别就是 xff1a 两者的操作权限不同 xff0c 用户态的进程能够访问的资源受到了极大的控制 xff0c 而运行在内核态的进程可以 为所欲为
  • 将rgbd数据集制作成rosbag,并发布图片和camera_info消息

    因为最近做的项目需要和别的开源项目做一些对比 xff0c 比如rgbdslamV2 xff0c 但是rdgbslamV2使用的输入是rosbag xff0c 并且他必须要订阅四个话题才能运行 xff0c 这四个话题分别是 xff1a cam
  • PX4添加自定义日志消息

    固件版本 xff11 11 一 将要观察的数据声明成uORB消息 xff0c 并发布 我这里随便添加了一个 在logged topics cpp里的add default topics函数里加上一行add topic fanbu 100 或
  • ROS常用知识点总结——Cmakelist

    Cmakelist编译规则 1 Cmakelist通常需要添加可执行文件名称 xff0c 并且指定编译的源文件即可 2 添加头文件编译时候 xff0c 应当在Cmakelist文件中打开以下标记出的部分 xff0c 否则编译找不到头文件 C
  • agx xavier rtso1001载板启动

    recovery按键长按 gt reset键按一下 gt 3s后松开recovery键 ubuntu命令行 lsusb lsusb Bus 004 Device 001 ID 1d6b 0003 Linux Foundation 3 0 r
  • 了解卡尔曼滤波器1--状态观测器

    在本文中 xff0c 我们将讨状态观测器 这个概念将有助于解释卡尔曼滤波器是什么以及它是如何工作的 让我们从一个例子开始 这是小蒂米 你想知道他的心情以及他现在的感受 然而 xff0c 没有直接的方法能测量他的心情 所以 xff0c 你要做
  • 牢记公式,ardupilot EKF2就是纸老虎(五)!

    版权声明 xff1a 本文为博主原创文章 xff0c 转载请附上博文链接 xff01 四 一睹EKF2芳容 xff08 上接牢记公式 xff0c ardupilot EKF2就是纸老虎 xff08 四 xff09 xff09 更新 本博客讲
  • jsp页面引入jstl标签后台报java.lang.ArrayIndexOutOfBoundsException

    jsp引用了jstl的core标签和fmt标签 xff0c 但访问jsp时后台报java lang ArrayIndexOutOfBoundsException xff0c 如下图所示 xff1a 花了很长时间上网查找原因也没有找到答案 x
  • 了解卡尔曼滤波器4--非线性状态估算器(EKF,UKF,PF)

    一般来说 xff0c 我们希望我们的生活是线性的 xff0c 就像这条线 xff0c 这可能表示成功 收入或者幸福 但实际上 xff0c 生活并不是线性的 xff0c 它充满了起伏 xff0c 有时甚至更复杂 如果您是工程师 xff0c 您
  • Velodyne VLP16激光雷达在ubuntu中的使用教程

    Velodyne VLP16激光雷达在ubuntu中的使用教程 设备连接工作使用ROS驱动并添加点云客官 xff01 如果觉得有用 xff0c 给俺点赞支持下呗 xff01 设备连接工作 连接雷达有线网络进入有线设置 xff08 点击ubu
  • 在ROS中用openCV显示摄像头并发布图像数据

    在ROS中用openCV显示摄像头并发布图像数据 前言使用C 43 43 实现CMakeLists txt配置 使用python实现查看usb串口使用情况永久打开串口权限ROS使用openCV进行图片接收 xff0c 并显示客官 xff01
  • D435i标定摄像头和IMU笔记一(配置环境篇)

    IntelRealSense D435i摄像头和IMU标定笔记一 xff08 配置环境篇 xff09 一 标定方案二 环境要求三 环境配置3 1 基本环境安装3 1 1 for ubuntu16 043 1 2 for ubuntu18 0