赞
踩
参考文章 :1、 D435i ----- Ubuntu18.04下D435i使用(SDK安装与测试)_d435i使用手册_杰尼君的博客-CSDN博客
VIO视觉无人机室内定点自主飞行(T265+PX4+Mavros+NX)_air 2216电机_小白造飞机的博客-CSDN博客
Ubuntu18.04 安装D435i ROS_哦*&的博客-CSDN博客
Jeston xavier NX 机载电脑,板载6002E 设备如图:
T265双目摄像头
在我看来,Realsense SDK是我们使用T265所需的驱动,如我们打开官方软件去观看位姿和双目。Realsense-ros则是我们将T265与ros配合使用的必要驱动。
同时我们需要注意的是Realsense SDK(librealsense)和Realsense-ros之间是有版本要求的,如果版本不对应,使用T265是存在问题,如运行相关例程是显示没有插上T265。
如何查看Realsense SDK(librealsense)和Realsense-ros两者之间的对应版本:
Releases · IntelRealSense/realsense-ros · GitHub
第一行适配ros1版本,同时realsense-ros版本为2.3.2;支持的realsense-sdk版本为2.50.0;支持的
ros1版本有Noetic、Melodic、Kinetic。
接下来我会把我安装时碰到的弯路。尽量都复现出来,让大家少走弯路,有更多时间找女朋友。
git clone -b v2.48.0 https://github.com/IntelRealSense/librealsense
cd librealsense
- 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
- 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
- sudo make uninstall
- make clean && make -j8
- sudo make install
- cd librealsense/build/examples/capture
- ./rs-capture
realsense-viewer
注意:catkin_make 这步命令如果错了,可能是编译的地点错误,进入上一级目录,realsense-ros下编译
cd ~/control/ROS
- git clone -b v2.3.1 https://github.com/IntelRealSense/realsense-ros.git
- git clone https://github.com/pal-robotics/ddynamic_reconfigure.git
cd realsense-ros
- catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release
- catkin_make install
- sudo gedit ~/.bashrc
- source ~/control/ROS/realsense-ros/devel/setup.bash
- source ~/control/ROS/realsense-ros/devel/setup.bash
- roslaunch realsense2_camera rs_camera.launch
rostopic list
我们在后续vins实际标定时,需要关闭结构光,这里需要对rs_camera.launch进行修改
- <launch>
- <arg name="serial_no" default=""/>
- <arg name="usb_port_id" default=""/>
- <arg name="device_type" default=""/>
- <arg name="json_file_path" default=""/>
- <arg name="camera" default="camera"/>
- <arg name="tf_prefix" default="$(arg camera)"/>
- <arg name="external_manager" default="false"/>
- <arg name="manager" default="realsense2_camera_manager"/>
- <arg name="output" default="screen"/>
-
- <arg name="fisheye_width" default="1280"/>
- <arg name="fisheye_height" default="720"/>
- <arg name="enable_fisheye" default="false"/>
-
- <arg name="depth_width" default="1280"/>
- <arg name="depth_height" default="720"/>
- <arg name="enable_depth" default="true"/>
-
- <arg name="confidence_width" default="1280"/>
- <arg name="confidence_height" default="720"/>
- <arg name="enable_confidence" default="true"/>
- <arg name="confidence_fps" default="15"/>
-
- <arg name="infra_width" default="1280"/>
- <arg name="infra_height" default="720"/>
- <arg name="enable_infra" default="true"/>
- <arg name="enable_infra1" default="true"/>
- <arg name="enable_infra2" default="true"/>
- <arg name="infra_rgb" default="false"/>
-
- <arg name="color_width" default="1280"/>
- <arg name="color_height" default="720"/>
- <arg name="enable_color" default="true"/>
-
- <arg name="fisheye_fps" default="15"/>
- <arg name="depth_fps" default="15"/>
- <arg name="infra_fps" default="15"/>
- <arg name="color_fps" default="15"/>
- <arg name="gyro_fps" default="200"/>
- <arg name="accel_fps" default="250"/>
- <arg name="enable_gyro" default="true"/>
- <arg name="enable_accel" default="true"/>
-
- <arg name="enable_pointcloud" default="false"/>
- <arg name="pointcloud_texture_stream" default="RS2_STREAM_COLOR"/>
- <arg name="pointcloud_texture_index" default="0"/>
-
- <arg name="enable_sync" default="true"/>
- <arg name="align_depth" default="false"/>
-
- <arg name="publish_tf" default="true"/>
- <arg name="tf_publish_rate" default="0"/>
-
- <arg name="filters" default=""/>
- <arg name="clip_distance" default="-2"/>
- <arg name="linear_accel_cov" default="0.01"/>
- <arg name="initial_reset" default="false"/>
- <arg name="unite_imu_method" default="copy"/>
- <arg name="topic_odom_in" default="odom_in"/>
- <arg name="calib_odom_file" default=""/>
- <arg name="publish_odom_tf" default="true"/>
- <arg name="allow_no_texture_points" default="false"/>
- <arg name="emitter_enable" default="false"/>
-
- <!-- rosparam set /camera/stereo_module/emitter_enabled false -->
- <rosparam>
- /camera/stereo_module/emitter_enabled: 0
- </rosparam>
-
- <rosparam if="$(arg emitter_enable)">
- /camera/stereo_module/emitter_enabled: 1
- </rosparam>
-
-
-
-
- <group ns="$(arg camera)">
- <include file="$(find realsense2_camera)/launch/includes/nodelet.launch.xml">
- <arg name="tf_prefix" value="$(arg tf_prefix)"/>
- <arg name="external_manager" value="$(arg external_manager)"/>
- <arg name="manager" value="$(arg manager)"/>
- <arg name="output" value="$(arg output)"/>
- <arg name="serial_no" value="$(arg serial_no)"/>
- <arg name="usb_port_id" value="$(arg usb_port_id)"/>
- <arg name="device_type" value="$(arg device_type)"/>
- <arg name="json_file_path" value="$(arg json_file_path)"/>
-
- <arg name="enable_pointcloud" value="$(arg enable_pointcloud)"/>
- <arg name="pointcloud_texture_stream" value="$(arg pointcloud_texture_stream)"/>
- <arg name="pointcloud_texture_index" value="$(arg pointcloud_texture_index)"/>
- <arg name="enable_sync" value="$(arg enable_sync)"/>
- <arg name="align_depth" value="$(arg align_depth)"/>
-
- <arg name="fisheye_width" value="$(arg fisheye_width)"/>
- <arg name="fisheye_height" value="$(arg fisheye_height)"/>
- <arg name="enable_fisheye" value="$(arg enable_fisheye)"/>
-
- <arg name="depth_width" value="$(arg depth_width)"/>
- <arg name="depth_height" value="$(arg depth_height)"/>
- <arg name="enable_depth" value="$(arg enable_depth)"/>
-
- <arg name="confidence_width" value="$(arg confidence_width)"/>
- <arg name="confidence_height" value="$(arg confidence_height)"/>
- <arg name="enable_confidence" value="$(arg enable_confidence)"/>
- <arg name="confidence_fps" value="$(arg confidence_fps)"/>
-
- <arg name="color_width" value="$(arg color_width)"/>
- <arg name="color_height" value="$(arg color_height)"/>
- <arg name="enable_color" value="$(arg enable_color)"/>
-
- <arg name="infra_width" value="$(arg infra_width)"/>
- <arg name="infra_height" value="$(arg infra_height)"/>
- <arg name="enable_infra" value="$(arg enable_infra)"/>
- <arg name="enable_infra1" value="$(arg enable_infra1)"/>
- <arg name="enable_infra2" value="$(arg enable_infra2)"/>
- <arg name="infra_rgb" value="$(arg infra_rgb)"/>
-
- <arg name="fisheye_fps" value="$(arg fisheye_fps)"/>
- <arg name="depth_fps" value="$(arg depth_fps)"/>
- <arg name="infra_fps" value="$(arg infra_fps)"/>
- <arg name="color_fps" value="$(arg color_fps)"/>
- <arg name="gyro_fps" value="$(arg gyro_fps)"/>
- <arg name="accel_fps" value="$(arg accel_fps)"/>
- <arg name="enable_gyro" value="$(arg enable_gyro)"/>
- <arg name="enable_accel" value="$(arg enable_accel)"/>
-
- <arg name="publish_tf" value="$(arg publish_tf)"/>
- <arg name="tf_publish_rate" value="$(arg tf_publish_rate)"/>
-
- <arg name="filters" value="$(arg filters)"/>
- <arg name="clip_distance" value="$(arg clip_distance)"/>
- <arg name="linear_accel_cov" value="$(arg linear_accel_cov)"/>
- <arg name="initial_reset" value="$(arg initial_reset)"/>
- <arg name="unite_imu_method" value="$(arg unite_imu_method)"/>
- <arg name="topic_odom_in" value="$(arg topic_odom_in)"/>
- <arg name="calib_odom_file" value="$(arg calib_odom_file)"/>
- <arg name="publish_odom_tf" value="$(arg publish_odom_tf)"/>
- <arg name="allow_no_texture_points" value="$(arg allow_no_texture_points)"/>
-
-
- </include>
- </group>
-
- </launch>
-

修改的是
- <!-- rosparam set /camera/stereo_module/emitter_enabled false -->
- <rosparam>
- /camera/stereo_module/emitter_enabled: 0
- </rosparam>
-
- <rosparam if="$(arg emitter_enable)">
- /camera/stereo_module/emitter_enabled: 1
- </rosparam>
参考文章:Realsense d435i启动双目并关闭IR结构光(保证管用)_d435i关闭结构光_SJTU_YJ的博客-CSDN博客
Realsense D435i关闭IR结构光_Hecttttttttt的博客-CSDN博客
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
Cmake --version 3.2.1 (ros 安装时会自带cmake(ros-melodic 下载时附带的cmake版本3.10),我们在编译px4会因为cmake的版本错误报错)
千万注意不要着急升级cmake ,如果你的命令有sudo make uninstall ,那样会卸载cmake。所以安装好ros1后正常安装T265,再编译PX4的时候再进行升级
解决办法:在我们安装mavros时,会碰到wstool,通过
sudo apt-get install python-wstool
或者 sudo pip install -U wstool 下载
解决办法:【ROS】解决rosdep无法更新、缺少依赖问题 - 知乎
这里再次感谢小鱼,放一下鱼哥的网址
解决办法:Ubuntu在命令行中复制和移动文件/文件夹到另一个目录中 - 北冥有鱼
Ubuntu删除文件命令
解决办法:
# 编辑hosts文件
sudo gedit /etc/hosts
# 在hosts中修改或添加下面内容
185.199.110.133 raw.githubusercontent.com
查询网址ip
ip查询 查ip 网站ip查询 同ip网站查询 iP反查域名 iP查域名 同ip域名 (专用于查询网址ip)
我原本以为选个中国的,结果根本不好用,选第一个就行,不行多试几个,反正电信那个就是下不了
解决:sudo apt-get install rosinstall_generator
两个办法
解除系统限制
c++: internal compiler error: Segmentation fault (program cc1plus) 解决_机器人虎哥的博客-CSDN博客
我改过后还是那样,open files没有变化,那么可以用第二个方法,不要盲目的以为是自己的内存问题,很可能是系统的限制
减少运算核数
Catkin_build -j2
Releases · PX4/PX4-Autopilot · GitHub
解决办法: 删去src/下的cmakelists.txt
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。