玩转四旋翼无人机(DJI OnBoard SDK ROS)

这篇博客介绍了如何使用DJI Onboard SDK ROS包在Manifold上进行视频解码,包括针对Manifold的特定视频读取包、使用方法以及注意事项。强调了RC控制器连接到Matrice 100的重要性,并指出该包不支持视频透明传输,同时提供了硬件解码和FFMPEG两种解码方式的选择。
摘要由CSDN通过智能技术生成

System Structure

  • dji_sdk: the core package handling the communication with Matrice 100, which provides a header file dji_drone.h for future use
  • dji_sdk_demo: an example package of using dji_drone.h to control the Matrice 100
  • dji_sdk_web_groundstation: a WebSocket example using ROS-bridge-suite, where a webpage groundstatino is provided
  • dji_sdk_manifold_read_cam: a specifed X3 video reading package for Manifold, video stream will be published out in RGB, CATKIN_IGNOREd by defualt
  • dji_sdk_manifold_read_cam_nv: same as the previous one, but use hardware decoding method and in Grayscale, CATKIN_IGNOREd by defualt
  • dji_sdk_doc: all documents

这里写图片描述

DJI Onboard SDK ROS Package for Video Decoding on Manifold

This package is a specified video decoding package for Manifold.

How to use

  1. Install the necessary library: refer here
  2. Delete the CATKIN_IGNORE file inside package and catkin_make.
  3. rosrun dji_sdk_manifold_read_cam_nv dji_sdk_manifold_read_cam_nv
  4. The image will be published into topic /dji_sdk/image_raw

Note:

  1. This package is specially designed for Manifold.
  2. The RC controller must be connected to Matrice 100 in order to get the video stream.
  3. This package does not provice video transparent transmission. You cannot see the video on DJI Go while running this package.
  4. This package uses hardware decoding method, while the other one uses FFMPEG.
  5. The image format is in Grayscale, while the other one publishes RGB image.

DJI Onboard SDK ROS Package for Video Decoding on Manifold

This package is a specified video decoding package for Manifold.

How to use

  1. Install the necessary library: it should be already there, try to run the project in the demo folder of your Manifold home directory. If not, please run the install_lib.sh
  2. Delete the CATKIN_IGNORE file inside package and catkin_make.
  3. rosrun dji_sdk_manifold_read_cam dji_sdk_manifold_read_cam
  4. The image will be published into topic /dji_sdk/image_raw

Note:

  1. This package is specially designed for Manifold.
  2. The RC controller must be connected to Matrice 100 in order to get the video stream.
  3. This package does not provice video transparent transmission. You cannot see the video on DJI Go while running this package.
  4. This package uses FFMPENG for video decoding. while the _nv one uses hardware decoding method.
  5. The image format is RGB, while the _nv one publishes Grayscale image.

DJI_SDK_Node是这个ROS package的核心部分,可以看出它打包了DJI_LIB,向外展示了三个模块,一是dji_sdk_node_main.cpp(Publisher), dji_sdk_node_service.cpp(Service_Server), 以及dji_sdk_node_action.cpp(ActionLib Server).为了理解这三个文件我们首先看一下,他们构成了一个类就是DJISDKNode, 所以这里先看一下他的类头文件。

//# acceleration
Header header
int32 ts
float32 ax
float32 ay
float32 az

//#//#Gimbal
Header header
int32 ts
float32 pitch
float32 yaw
float32 roll

//#Compass
Header header
int32 ts
int8 x
int8 y
int8 z

//#FlightControlInfo
int8 cur_ctrl_dev_in_navi_mode
int8 serial_req_status

//#AttitudeQuaternion
//# The attitude in the aeronautical frame (right-handed, Z-down, X-front, Y-right), expressed as quaternion. Quaternion order is w, x, y, z and a zero rotation would be expressed as (1 0 0 0).
Header header
int32 ts
//# Quaternion component
float32 q0
float32 q1
float32 q2
float32 q3
//# Angular speed (rad/s)
float32 wx
float32 wy
float32 wz

//#GlobalPosition
Header header
int32 ts
//#latitud
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值