大疆tello无人机是一款微小型无人机,可以支持多种开发模式。这里用的是ROS1的kinetic版本进行开发。参考文档来自http://wiki.ros.org/tello_driver

1)kinetic下tello源码安装

打开终端,键入以下命令进行二进制文件安装:

sudo apt install ros-kinetic-tello-driver

然后进入到ros工作空间,下载tello驱动源码

cd ./catkin_ws/src
git clone --recursive https://github.com/appie-17/tello_driver.git

返回上一级进行编译

cd ..
catkin_make
source devel/setup.bash

2)运行launch文件和发布指令

按下tello无人机的电源键,将电脑连上tello的WIFI(以Tello字段开头的WIFI名)。接着打开一个终端,运行launch文件:

roslaunch tello_driver tello_node.launch

此时打开另外一个终端,键入以下命令,查看所有话题以及相应话题所需的数据类型(这里以起飞为例):

rostopic list
rostopic type /tello/takeoff

然后可以进行话题的发布:

rostopic pub /tello/takeoff std_msgs/Empty

同样也可以查看发布的话题,比如说打印出无人机状态数据:

rostopic echo /tello/status

3)源码解读

打开launch文件可以发现,它运行了两个结点:

其中第一个节点就是tello的驱动代码。

驱动代码的框架还是比较清晰的:python代码的第一部分就是导入各种模块,这里也不例外。之后定义了两个class,分别是RospyLogger和TelloNode,第一个是用于记录警告、错误等信息,而第二个就是实例化tello。

实例化tello分为几步,首先定义一个初始化函数,进行参数获取和无人机连接:

以及话题的发布者、订阅者初始化:

之后是被调用的各种函数的实现,大多是回调函数(以cb作为开头,callback):

最后以main函数收尾。

ROS环境下大疆tello无人机源码安装驱动代码解读相关推荐

  1. tello通信_鸿蒙HarmonyOS and 大疆Tello 无人机 BUILD SUCCESS

    鸿蒙HarmonyOS and 大疆Tello 无人机 BUILD SUCCESS 发布于 2020-11-19 18:55 3028浏览 3收藏 利用鸿蒙Hispark WIFI IOT 套件控制大 ...

  2. 鸿蒙大疆无人机,鸿蒙HarmonyOS and 大疆Tello 无人机 BUILD SUCCESS

    利用鸿蒙Hispark WIFI IOT 套件控制大疆TELLO 无人机 第一步:查看无人机通信协议: 第二步:结合许老师的UDP网络编程--UDP demo 写入无人机的wifi名称,密码,ip地址 ...

  3. 超级简单的大疆tello无人机视频实现(很少代码)

    大疆tello无人机出来有1年时间了,使用pc查看视频的功能也只是今年才开放,经过2天的摸索,终于用简单的方法实现,不敢独享,分享出来. 1.连接tello的wifi: 2.使用udp组件发送打开视频 ...

  4. 翻译python代码的软件_Linux环境下的Python翻译工具源码

    玩蛇网Python教程源码示例,本文源码是用于Linux环境下的Python翻译工具源码详解. 学习计算机编程语言一定会涉及到英文和学习应用,但通常英语词典在Linux环境下都不如Win环境下的好用. ...

  5. 在windows下执行./configure,make,makeinstall源码安装程序spice-gtk

    使用MSYS软件,在我的上一篇博客中有软件下载地址.本文使用MSYS进行源码编译spice-gtk-0.33. 首先打开MSYS软件,进入你源码所在目录,例如: cd  /c/Users/Admi.. ...

  6. 大疆tello的pc端控制方法(代码)

    1.将pc的wifi连接tello. 2.使用udp方式.(IdUDPClient 组件) 3.端口号:8889. 4.ip地址:192.168.10.1(pc的ip地址:192.168.10.2). ...

  7. Java Semaphore实现高并发场景下的流量控制(附源码) | 实用代码架构

    目录 前言 Semaphore介绍 代码演示 总结 前言 在java开发的工作中是否会出现这样的场景,你需要实现一些异步运行的任务,该任务可能存在消耗大量内存的情况,所以需要对任务进行并发控制.如何优 ...

  8. 大疆TT无人机编程初体验,教你对拥抱开源的无人机为所欲为!

    先放个项目演示视频镇帖: 可能是大疆TT无人机的第一款DIY遥控器!大疆TT无人机编程试飞初体验! 认识我的朋友,大概都知道,我是一个"运气爆棚"的人,经常能"捡&quo ...

  9. 试玩系列 | 真香!大疆TT无人机编程初体验,教你对它为所欲为!

    先放个项目演示视频镇帖(点击小程序查看演示视频): 认识我的朋友,大概都知道,我是一个"运气爆棚"的人,经常能"捡"到一些好玩的东西.这不,前两天在家门口&qu ...

最新文章

  1. html5 桌面定时提醒,H5界面实现桌面推送通知
  2. 布尔值_Python基础知识点手册——布尔值及布尔运算
  3. Linux Kernel TCP/IP Stack — L2 Layer — Linux Bridge(虚拟网桥)
  4. ASP.NET Core中使用MediatR实现命令和中介者模式
  5. 前端学习(1760):前端调试值之如何让浏览器阻止请求相关资源
  6. Pandas 中 把Dataframe 格式转化为 array 数组
  7. 漫步线性代数二十七——矩阵对角化
  8. 马斯克再创历史!人类首个商业载人飞船发射成功:移民火星又近一步
  9. 搭建1078部标流媒体服务器
  10. 什么人适合学平面设计?
  11. Linux 下 setfacl访问控制的使用
  12. spacy POS 和 Syntactic Dependency Parsing 的标记
  13. linux鼠标箭头消失了,Ubuntu 16.04 鼠标光标消失的解决方法(右键可弹窗,可以点击)...
  14. 《JAVA并发编程的艺术》之Java内存模型
  15. ACFLY开源飞控的介绍
  16. 消息总线扩展之面向消息的数据集成
  17. 安卓测试和iOS测试的区别-总结篇
  18. Chino with Equation (隔板法+除法取模)
  19. 单据点击套打设置报错,显示可用的套打单据列表时发生错误处理方法
  20. 算法的威力(Google的算法优势)

热门文章

  1. Qt Central Widget
  2. 简单航班查询系统java_基于jsp的航班信息查询-JavaEE实现航班信息查询 - java项目源码...
  3. VSCrawler 爬虫 java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory 解决方案
  4. org.springframework.web.HttpMediaTypeNotSupportedException Content type ‘ap
  5. Next.js国际化配置
  6. 七大品牌联手快手《超Nice大会》,探索综艺营销新通路
  7. echarts图表使用以及图片转码
  8. W3电力线载波通信技术
  9. 金蝶K3WISE 运行错误'2007' Invalid Bands Collection
  10. 网线制作ppt_网线制作PPT课件.ppt-资源下载在线文库www.lddoc.cn