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

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
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值