当前位置: 首页 > news >正文

唐山长城网站建设免费google账号注册入口

唐山长城网站建设,免费google账号注册入口,广东湛江霞山最新疫情,赤峰网站建设企业DJI ROS dji_sdk 源码分析|整体框架launch文件CMakeLists.txtcpp文件main.cppOSDK 是一个用于开发无人机应用程序的开发工具包,基于OSDK 开发的应用程序能够运行在机载计算机上(如Manifold 2),开发者通过调用OSDK 中指定的接口能够…

DJI ROS dji_sdk 源码分析|整体框架

  • launch文件
  • CMakeLists.txt
  • cpp文件
    • main.cpp

OSDK 是一个用于开发无人机应用程序的开发工具包,基于OSDK 开发的应用程序能够运行在机载计算机上(如Manifold 2),开发者通过调用OSDK 中指定的接口能够获取无人机上的各类数据,经开发者设计的软件逻辑和算法框架,执行相应的计算和处理,生成对应的控制指令控制无人机执行相应的动作,实现如自动化飞行、负载控制和视频图像分析等功能。
在这里插入图片描述
本篇博客通过对dji_sdk 源码分析梳理出了整体框架。

launch文件

运行ros dji sdk 功能包运行的launch文件仅有一个,在对应文件夹下的 sdk.launch

<launch><node pkg="dji_sdk" type="dji_sdk_node" name="dji_sdk" output="screen"><!-- node parameters --><param name="acm_name" type="string" value="/dev/ttyACM0"/><param name="serial_name" type="string" value="/dev/ttyUSB0"/><param name="baud_rate" type="int" value="921600"/><param name="app_id" type="int" value="123456"/><param name="app_version" type="int" value="1"/><param name="align_time" type="bool" value="false"/><param name="enc_key" type="string" value="abcd1234"/><param name="use_broadcast" type="bool" value="false"/></node>
</launch>

节点的名字为dji_sdk_node ,之后可以看CMakeLists.txt 可以看这个节点对应的 cpp文件。

节点有几个参数,需要配置。

  • acm_name 不用管
  • serial_name 串口的名称
  • baud_rate 波特率
  • app_id 申请的app id
  • app_version 不用管
  • align_time 是否开启时间同步
  • enc_key 申请的app id 对应的KEY
  • use_broadcast 是否使用广播,默认不使用

CMakeLists.txt

前面的依赖配置就不看了,直接看 exe生成部分

add_executable(dji_sdk_nodesrc/main.cppsrc/modules/dji_sdk_node_control.cppsrc/modules/dji_sdk_node_services.cppsrc/modules/dji_sdk_node.cppsrc/modules/dji_sdk_node_mission_services.cppsrc/modules/dji_sdk_node_subscriber.cppsrc/modules/dji_sdk_node_publisher.cppsrc/modules/dji_sdk_node_mobile_comm.cppsrc/modules/dji_sdk_node_payload_comm.cppsrc/modules/dji_sdk_node_time_sync.cpp)

依赖的cpp文件在 src文件夹下和src/modules文件夹下

cpp文件

main.cpp

首先来看 main.cpp

该文件完成 ros的最基础功能,然后对DJISDKNode类的实例化

#include <dji_sdk/dji_sdk_node.h>

包含dji_sdk_node.hDJISDKNode类的定义就在这个文件中。

int main(int argc, char **argv) {ros::init(argc, argv, "dji_sdk");ros::NodeHandle nh;ros::NodeHandle nh_private("~");

ros 节点的初始基本操作

DJISDKNode* dji_sdk_node = new DJISDKNode(nh, nh_private);

DJISDKNode类的实例化

  ros::AsyncSpinner spinner(4); // Use 4 threadsspinner.start();

开启4个线程

  ros::waitForShutdown();delete dji_sdk_node;dji_sdk_node = NULL;return 0;
}

结束部分

DJISDKNode类的定义在dji_sdk_node.hpp文件中
其中的实现在主要在dji_sdk_node.cpp中,特殊功能的在modle文件夹下的其它对应cpp文件中实现

http://www.shuangfujiaoyu.com/news/61977.html

相关文章:

  • 哪里有免费的网站模板下载 迅雷下载软件广告联盟广告点击一次多少钱
  • 平谷区网站建设在线外链发布工具
  • 房产中介如何做网站百度人工智能开放平台
  • 做网站干什么交换链接的方法
  • 网站开发和设计苹果自研搜索引擎或为替代谷歌
  • 邢台做网站名列前茅发外链平台
  • 网站301定向品牌推广平台
  • 湖南学校网站建设移动建站优化
  • 免费招聘人才网百度seo优化
  • 绛县网站建设百度竞价怎么做开户需要多少钱
  • 峰峰专业做网站廊坊百度关键词排名平台
  • 怎么看网站使用什么做的吉林百度seo公司
  • 网站的数据库怎么做互动营销是什么
  • 做招标网站 如何互联网营销推广怎么做
  • dwcs5怎么做网站电脑培训班速成班
  • flash网页制作实例搜索引擎seo外包
  • 网站维护托管搜狗引擎搜索
  • 复制单页网站网站权重如何查询
  • 网站数据接口怎么做网站关键词推广优化
  • 做招聘的网站有哪些上海有名网站建站开发公司
  • 做网站 阿里云和百度云哪个好厦门seo推广
  • wordpress faviconseo高手是怎样炼成的
  • 中小学学校网站建设重大新闻事件
  • 湖南手机版建站系统哪家好美国最新消息今天 新闻
  • 虫部落导航网站怎么做网店营销策划方案
  • 怎么找网站的根目录百度手机助手app下载并安装
  • 做网站哪个编辑器好用好搜搜索
  • 网站开发后台注意事项全网整合营销
  • 宁波做网站制作国内真正的免费建站
  • 上海家装十强企业windows优化大师有用吗