通过思翼SIYI MK15E回传Realsense D435i 的 RGB图像

一、可选方法

本次使用到的硬件有:

  • Intel Realsense D435i深度相机
  • 思翼MK15E手持地面站和天空端
  • NUC11TNKi5 作为机载电脑

任务需求:

  • 将D435i的RGB视频回传

可以选用的方法:

  1. D435i连接NUC,NUC的RJ45网口连接MK15E天空端,局域网内发布RTSP
  2. D435i连接NUC,NUC的RJ45网口连接MK15E天空端,局域网使用Nomachine远程桌面
  3. D435i连接NUC,NUC的HDMI连接MK15E天空端HDMI转接器,回传桌面

本次使用的是方法1

二、NUC安装ROS

NUC安装Ubuntu 18.04系统和ROS Melodic,建立catkin_ws。

ROS安装使用鱼香ROS,参考自fishros.com

wget http://fishros.com/install -O fishros && . fishros

建立catkin_ws参考我以前的博客。

三、NUC安装D435i驱动和SDK

使用原装USB3.0数据线连接D435i和NUC,为NUC安装相机的驱动和ROS包,参考自

https://blog.csdn.net/gyxx1998/article/details/121204091

3.1 安装 RealSense SDK

3.1.1 克隆SDK

打开终端

git clone https://github.com/IntelRealSense/librealsense
cd librealsense

3.1.2 安装相关依赖

在原先的终端下,分别输入以下命令完成相关依赖的安装

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

3.1.3 安装权限脚本

在原先的终端下,分别输入以下命令完成相关依赖的安装

sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && udevadm trigger

3.1.4 进行编译与安装

执行以下命令实现编译与安装

mkdir build
cd build
cmake ../ -DBUILD_EXAMPLES=true
make
sudo make install

3.1.5 测试安装是否成功

打开新的终端,在终端中输入以下命令验证相机驱动是否安装成功

cd librealsense/build/examples/capture
./rs-capture

或直接使用realsense-viewer工具查看效果:

realsense-viewer

3.2 安装RealSense-ROS

这里直接在~/catkin_ws/src目录下从github下载相关的包,然后进行编译:

cd ur_ws/src
git clone https://github.com/IntelRealSense/realsense-ros.git
git clone https://github.com/pal-robotics/ddynamic_reconfigure.git
cd ~/ur_ws && catkin_make

编译完成后,使用如下命令测试:

roslaunch realsense2_camera demo_pointcloud.launch

此时使用

rostopic list

可以查看我们需要的话题/camera/color/image_raw已经发布出来了

四、NUC安装ROS-RTSP包

这里参考ROS-RTSP官方GitHub

https://github.com/CircusMonkey/ros_rtsp

4.1 安装依赖

gstreamer 库

sudo apt-get install libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer-plugins-bad1.0-dev libgstrtspserver-1.0-dev gstreamer1.0-plugins-ugly gstreamer1.0-plugins-bad

4.2 克隆并编译项目

在~/catkin_ws/src目录下

git clone https://github.com/CircusMonkey/ros_rtsp.git
cd ..
catkin_make pkg:=ros_rtsp

4.3 配置文件

配置文件在config/stream_setup.yaml

streams:

  stream2:
    type: topic  # topic - Image is sourced from a sensor_msgs::Image topic
    source: /camera/color/image_raw  # The ROS topic to subscribe to
    mountpoint: /back      # Choose the mountpoint for the rtsp stream. This will be able to be accessed from rtsp://<server_ip>/back
    caps: video/x-raw,framerate=10/1,width=640,height=480  # Set the caps to be applied after getting the ROS Image and before the x265 encoder.
    bitrate: 500

4.4 启动ROS-RTSP服务

roslaunch ros_rtsp rtsp_streams.launch

4.5 查看RTSP流

注意:

RTSP的播放软件很多,但我在使用EasyPlayer和VLC都有问题,只有gstreamer可以用

安装gstreamer

apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio

接收RTSP,里面的RTSP地址要换成发布者的IP

gst-launch-1.0 -v rtspsrc location=rtsp://192.168.144.152:8554/back drop-on-latency=true use-pipeline-clock=true do-retransmission=false latency=0 protocols=GST_RTSP_LOWER_TRANS_UDP ! rtph264depay ! h264parse ! avdec_h264 ! autovideosink sync=true

五、综合调试

5.1 使用网线连接NUC和MK15E天空端

这里需要定制一根网线,一端是RJ45水晶头,另一头是GH1.25带锁的接口,TX+ TX- ,RX+,RX-,分别对应水晶头上的1236接口,其他线不用接。
在这里插入图片描述

5.2 手持地面站设置

手持地面站需要打开“以太网”

MK15E上可以接收RTSP的APP有SIYI FPV、ACfly和QGC,经测试只有QGC好用。

设置如下,长宽比改为1.3333333333
在这里插入图片描述

此时应可以看见视频。

5.3 使用电脑观看视频

开启MK15E遥控器的热点,用笔记本电脑连接热点。

在Ubuntu 18.04安装gstreamer 库

apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio

接收RTSP,里面的RTSP地址要换成发布者的IP

gst-launch-1.0 -v rtspsrc location=rtsp://192.168.144.152:8554/back drop-on-latency=true use-pipeline-clock=true do-retransmission=false latency=0 protocols=GST_RTSP_LOWER_TRANS_UDP ! rtph264depay ! h264parse ! avdec_h264 ! autovideosink sync=true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值