T265 安装(Realsense SDK和Realsense-ros)

news/2024/11/29 12:39:06/

一.写在前面

  1. 硬件配置:

Jeston xavier NX 机载电脑,板载6002E 设备如图:

T265双目摄像头

二.Realsense SDK和Realsense-ros的介绍

在我看来,Realsense SDK是我们使用T265所需的驱动,如我们打开官方软件去观看位姿和双目。Realsense-ros则是我们将T265与ros配合使用的必要驱动。

同时我们需要注意的是Realsense SDK(librealsense)和Realsense-ros之间是有版本要求的,如果版本不对应,使用T265是存在问题,如运行相关例程是显示没有插上T265。

如何查看Realsense SDK(librealsense)和Realsense-ros两者之间的对应版本:

https://github.com/IntelRealSense/realsense-ros/releases

第一行适配ros1版本,同时realsense-ros版本为2.3.2;支持的realsense-sdk版本为2.50.0;支持的

ros1版本有Noetic、Melodic、Kinetic。

接下来我会把我安装时碰到的弯路。尽量都复现出来,让大家少走弯路,有更多时间找女朋友。

三.Realsense SDK安装

!注意安装时不要插上T265
#注册公钥(这么长是因为中间有个或,刚开始可能会不成功,多试几次即可)
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE
# 安装依赖项 
sudo apt-get install libudev-dev pkg-config libgtk-3-dev
sudo apt-get install libusb-1.0-0-dev pkg-config
sudo apt-get install libglfw3-dev
sudo apt-get install libssl-dev
#先试着这个,注意ros 的对应版本
sudo apt-get install ros-melodic-realsense2-camera
sudo apt install ros-melodic-cv-bridge ros-melodic-image-transport ros-melodic-tf ros-melodic-diagnostic-updater ros-melodic-ddynamic-reconfigure
sudo apt install ros-noetic-cv-bridge ros-noetic-image-transport ros-noetic-tf ros-noetic-diagnostic-updater ros-noetic-ddynamic-reconfigure
#下载librealsense
git clone -b v2.50.0 https://github.com/IntelRealSense/IntelRealSense/librealsense如果网速不行,可以使用下边的代理
git clone -b v2.50.0 https://ghproxy.com/https://github.com/
IntelRealSense/librealsensecd librealsense# 安装位于 librealsense 源目录中的 Intel Realsense 权限脚本
sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && udevadm trigger 
# 编译
mkdir build && cd build
#注意复制的时候不要带有空格 (下面这两行是一段命令)
cmake ../ -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=true \
-DFORCE_RSUSB_BACKEND=ON -DBUILD_WITH_TM2=false -DIMPORT_DEPTH_CAM_FW=falsesudo make uninstall && make cleanmake -j6        #6表示同时进行6个任务,一般不超过cpu核数,也可直接make(时间较长)
sudo make install# 连接T265,测试是否安装成功
realsense-viewer
#进入~/librealsense/build/examples/pose路径下打开终端
#运行命令:
./rs-pose
#终端上会不断打印出当前相机相对于初始位置的X、Y、Z三轴坐标值

四.realsense-ros 的安装

cd ~/catkin_ws/src/
#这步没加版本号,我加以后找不到对应的版本,默认下载的realsense-ros刚好适配sdk,因为他没有更新ros1的realsense-ros
git clone https://github.com/IntelRealSense/realsense-ros.git
cd realsense-ros/
git checkout `git tag | sort -V | grep -P "^2.\d+\.\d+" | tail -1`
cd ..
catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release
sudo gedit ~/.bashrc
#添加下面两行命令
source ~/catkin_gps/devel/setup.bash
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/catkin_gps/
#启动测试demo,即可看到T265的位姿数据
roslaunch realsense2_camera demo_t265.launch 

注意:catkin_make 这步命令如果错了,可能是编译的地点错误,进入上一级目录,realsense-ros下编译

五.安装过程中的错误

1.错误CMake Error at /opt/ros/melodic/share/catkin/cmake/catkin_workspace.cmake:100 (message):

This workspace contains non-catkin packages in it, and catkin cannot build

a non-homogeneous workspace without isolation. Try the

'catkin_make_isolated' command instead.

Call Stack (most recent call first):

CMakeLists.txt:69 (catkin_workspace)

解决办法删除.packge.xml

2.CMake Error: The following variables are used in this project, but they are set to NOTFOUND.

解决办法https://blog.csdn.net/Will_Ye/article/details/123800851

Cmake --version 3.2.1 (ros 安装时会自带cmake(ros-melodic 下载时附带的cmake版本3.10),我们在编译px4会因为cmake的版本错误报错)

千万注意不要着急升级cmake ,如果你的命令有sudo make uninstall ,那样会卸载cmake。所以安装好ros1后正常安装T265,再编译PX4的时候再进行升级

3.wstool下载

解决办法:在我们安装mavros时,会碰到wstool,通过

sudo apt-get install python-wstool

或者 sudo pip install -U wstool 下载

https://blog.csdn.net/weixin_44145300/article/details/87966943

4. ERROR: your rosdep installation has not been initialized yet. Please run:rosdep update

rosdep init

Rosdep update 失败的解决办法

解决办法:https://zhuanlan.zhihu.com/p/546426618

这里再次感谢小鱼,放一下鱼哥的网址

https://fishros.org.cn/forum/topic/20/%E5%B0%8F%E9%B1%BC%E7%9A%84%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85%E7%B3%BB%E5%88%97?lang=zh-CN

5.Ubuntu 复制和移动文件命令

解决办法:https://jiuaidu.com/jianzhan/892439/

Ubuntu删除文件命令

https://www.lsjlt.com/news/111824.html

6.

Wget

https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh无法连接的问题

https://raw.githubusercontent.com/无法连接

解决办法:

# 编辑hosts文件

sudo gedit /etc/hosts

# 在hosts中修改或添加下面内容

185.199.110.133 raw.githubusercontent.com

查询网址ip

https://site.ip138.com/raw.githubusercontent.com/ (专用于查询网址ip)

我原本以为选个中国的,结果根本不好用,选第一个就行,不行多试几个,反正电信那个就是下不了

7.bash: rosinstall_generator: command not found.

解决:sudo apt-get install rosinstall_generator

8.Mavros catkin_build 出错

两个办法

解除系统限制

https://blog.csdn.net/cau_weiyuhu/article/details/128167041

我改过后还是那样,open files没有变化,那么可以用第二个方法,不要盲目的以为是自己的内存问题,很可能是系统的限制

减少运算核数

Catkin_build -j2

9.PX4固件下载地址

https://github.com/PX4/PX4-Autopilot/releases


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

相关文章

LSF_管理软件许可证和其他共享资源

管理软件许可证和其他共享资源 设置LSF external LIM (ELIM),将软件许可证作为动态共享资源进行监控。 LSF如何使用动态共享资源 LSF识别两种主要类型的资源: 集群内的所有主机都有基于主机的资源,如主机类型和型号、nodelocked software license。共…

restful定义

HTTP GET方法用于获取资源,不应有副作用,所以是幂等的。比如: GET http://www .bank.com/account/123456, 不会改变资源的状态,不论调用一次还是N次都没有副作用。请注意,这里强调的是一次和N次具有相同的副作用,而不 …

Restful规范

1、关于Restful 随着前后端分离越来越普遍,后端接口规范也就越来越重要了。一套良好的接口规范可以提升工作效率,减少沟通障碍。通常我们都会采用RestfulApi方式来提供接口,使用JSON来传输数据。 Restful是一种软件架构风格,不是…

RESSL

标题只是缩写啊 这个ssl 不是openssl加解密那个哈 自监督学习(SSL)在最近几年取得了很大的进展,在许多下游任务上几乎已经达到监督学习方法的水平。但是,由于模型的复杂性以及缺乏有标注训练数据集,我们还一直难以理解…

LSF作业管理系统使用方法

查看LSF计算节点列表bhosts # bhosts HOST_NAME STATUS JL/U MAX NJOBS RUN SSUSP USUSP RSV fat01 ok - 16 0 0 0 0 0 fat02 ok - 16 0 0 …

联发科p60和骁龙710哪个好_一文读懂骁龙710/骁龙660/骁龙845/Helio P60的区别,联发科有苦说不出?-控制器/处理器-与非网...

昨天,高通人工智能创新论坛在北京举行。在会上,高通正式发布了全新的骁龙 700 系列移动平台。 骁龙 710 该系列的首款产品,其定位次旗舰级别,提供了一些过去仅在顶级移动平台中所支持的技术与特性。其采用支持人工智能的高效架构而…

awk实现行列反转

awk实现行列反转 实现将下面文本的行列转换 [rootmanager ~]# cat data HOST_NAME status r15s r1m r15m ut pg io ls it tmp swp mem node2 ok 0.0 0.0 0.0 0% 0.0 1 0 7340 34G 3.9G 1.6G …

LFS 队列调整 for rusage

工作背景: 集群中所有队里再使用过程中,频繁出现mem使用不均衡情况从而导致部分机器的jobs 变成SSUP状态; 状态 描述 PEND 作业在队列中等待被调度和分发。 RUN 作业已被分发至某个主机且正在执行。 DONE 作业已正常执行完成(退…