ROS环境下大疆tello无人机源码安装驱动代码解读
大疆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无人机源码安装驱动代码解读相关推荐
- tello通信_鸿蒙HarmonyOS and 大疆Tello 无人机 BUILD SUCCESS
鸿蒙HarmonyOS and 大疆Tello 无人机 BUILD SUCCESS 发布于 2020-11-19 18:55 3028浏览 3收藏 利用鸿蒙Hispark WIFI IOT 套件控制大 ...
- 鸿蒙大疆无人机,鸿蒙HarmonyOS and 大疆Tello 无人机 BUILD SUCCESS
利用鸿蒙Hispark WIFI IOT 套件控制大疆TELLO 无人机 第一步:查看无人机通信协议: 第二步:结合许老师的UDP网络编程--UDP demo 写入无人机的wifi名称,密码,ip地址 ...
- 超级简单的大疆tello无人机视频实现(很少代码)
大疆tello无人机出来有1年时间了,使用pc查看视频的功能也只是今年才开放,经过2天的摸索,终于用简单的方法实现,不敢独享,分享出来. 1.连接tello的wifi: 2.使用udp组件发送打开视频 ...
- 翻译python代码的软件_Linux环境下的Python翻译工具源码
玩蛇网Python教程源码示例,本文源码是用于Linux环境下的Python翻译工具源码详解. 学习计算机编程语言一定会涉及到英文和学习应用,但通常英语词典在Linux环境下都不如Win环境下的好用. ...
- 在windows下执行./configure,make,makeinstall源码安装程序spice-gtk
使用MSYS软件,在我的上一篇博客中有软件下载地址.本文使用MSYS进行源码编译spice-gtk-0.33. 首先打开MSYS软件,进入你源码所在目录,例如: cd /c/Users/Admi.. ...
- 大疆tello的pc端控制方法(代码)
1.将pc的wifi连接tello. 2.使用udp方式.(IdUDPClient 组件) 3.端口号:8889. 4.ip地址:192.168.10.1(pc的ip地址:192.168.10.2). ...
- Java Semaphore实现高并发场景下的流量控制(附源码) | 实用代码架构
目录 前言 Semaphore介绍 代码演示 总结 前言 在java开发的工作中是否会出现这样的场景,你需要实现一些异步运行的任务,该任务可能存在消耗大量内存的情况,所以需要对任务进行并发控制.如何优 ...
- 大疆TT无人机编程初体验,教你对拥抱开源的无人机为所欲为!
先放个项目演示视频镇帖: 可能是大疆TT无人机的第一款DIY遥控器!大疆TT无人机编程试飞初体验! 认识我的朋友,大概都知道,我是一个"运气爆棚"的人,经常能"捡&quo ...
- 试玩系列 | 真香!大疆TT无人机编程初体验,教你对它为所欲为!
先放个项目演示视频镇帖(点击小程序查看演示视频): 认识我的朋友,大概都知道,我是一个"运气爆棚"的人,经常能"捡"到一些好玩的东西.这不,前两天在家门口&qu ...
最新文章
- html5 桌面定时提醒,H5界面实现桌面推送通知
- 布尔值_Python基础知识点手册——布尔值及布尔运算
- Linux Kernel TCP/IP Stack — L2 Layer — Linux Bridge(虚拟网桥)
- ASP.NET Core中使用MediatR实现命令和中介者模式
- 前端学习(1760):前端调试值之如何让浏览器阻止请求相关资源
- Pandas 中 把Dataframe 格式转化为 array 数组
- 漫步线性代数二十七——矩阵对角化
- 马斯克再创历史!人类首个商业载人飞船发射成功:移民火星又近一步
- 搭建1078部标流媒体服务器
- 什么人适合学平面设计?
- Linux 下 setfacl访问控制的使用
- spacy POS 和 Syntactic Dependency Parsing 的标记
- linux鼠标箭头消失了,Ubuntu 16.04 鼠标光标消失的解决方法(右键可弹窗,可以点击)...
- 《JAVA并发编程的艺术》之Java内存模型
- ACFLY开源飞控的介绍
- 消息总线扩展之面向消息的数据集成
- 安卓测试和iOS测试的区别-总结篇
- Chino with Equation (隔板法+除法取模)
- 单据点击套打设置报错,显示可用的套打单据列表时发生错误处理方法
- 算法的威力(Google的算法优势)
热门文章
- Qt Central Widget
- 简单航班查询系统java_基于jsp的航班信息查询-JavaEE实现航班信息查询 - java项目源码...
- VSCrawler 爬虫 java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory 解决方案
- org.springframework.web.HttpMediaTypeNotSupportedException Content type ‘ap
- Next.js国际化配置
- 七大品牌联手快手《超Nice大会》,探索综艺营销新通路
- echarts图表使用以及图片转码
- W3电力线载波通信技术
- 金蝶K3WISE 运行错误'2007' Invalid Bands Collection
- 网线制作ppt_网线制作PPT课件.ppt-资源下载在线文库www.lddoc.cn