之前,一些博文给出了Cozmo和Vector等地面小型机器人的资料,这篇博文,针对空中机器人---Tello。

github上有python等sdk的介绍和说明,这里不再详细介绍。

下载对应ros功能包,进行编译即可使用。


tello_driver(github.com/anqixu/tello_driver)

免责声明:此套餐正在进行中。对于您使用此软件的任何后果,我不承担任何责任。文档可能会被破坏,功能和API目前被认为是VOLATILE。

DISCLAIMER: This package is an work-in-progress. I take no responsibility for any consequences of you using this software. The documentation might be broken, and features and API are considered VOLATILE presently.

适用于DJI / Ryze Tello无人机的ROS驱动程序包

ROS driver wrapper for DJI/Ryze Tello drone

节点Node:

src/tello_driver_node.py

主题Topics:

~cmd_vel: geometry_msgs/Twist
~fast_mode: std_msgs/Empty
~image_raw: sensor_msgs/Image
~takeoff: std_msgs/Empty
~throw_takeoff: std_msgs/Empty
~land: std_msgs/Empty
~palm_land: std_msgs/Empty
~flattrim: std_msgs/Empty
~flip: std_msgs/Uint8

参数Parameters:

~tello_ip
~tello_cmd_port
~client_port
~connect_timeout_sec

安装Installation:
$ cd <CATKIN_WS/SRC>
$ git clone https://github.com/anqixu/TelloPy.git
$ cd TelloPy
$ sudo -H pip2 install -e .
$ cd ..
$ git clone https://github.com/anqixu/h264_image_transport.git
$ git clone https://github.com/anqixu/tello_driver.git
$ cd ..
$ rosdep install h264_image_transport
跳过此步骤: $ # rosdep install tello_driver # not working currently
$ catkin build tello_driver
(可选)为PS3游戏手柄安装以下udev规则 ; 请参阅文件顶部的注释中的说明。

$ cd <CATKIN_WS/SRC>
$ git clone https://github.com/anqixu/TelloPy.git
$ cd TelloPy
$ sudo -H pip2 install -e .
$ cd ..
$ git clone https://github.com/anqixu/h264_image_transport.git
$ git clone https://github.com/anqixu/tello_driver.git
$ cd ..
$ rosdep install h264_image_transport
skip this step: $ # rosdep install tello_driver # not working currently
$ catkin build tello_driver

运行驱动程序Running the driver:
打开无人机,等待前灯琥珀色闪烁

将WiFi连接到无人机的接入点(例如TELLO_######)
$ roslaunch tello_driver launch/tello_node.launch

要查看摄像头:

$ rosrun rqt_image_view rqt_image_view /tello/image_raw/compressed

使用有线DualShock 3游戏手柄远程操作无人机
首先检查以下内容并可能调整参数/代码/映射parameters / code / mappings:

launch/joy_teleop.launch
launch/logger.launch
src/gamepad_marshall_node.py

现在运行:

$ roslaunch tello_driver devel.launch

连接多个无人机
通过使用多个USB WiFi加密狗和运行UDP代理服务器的Docker容器,可以连接到多个Tello无人机。

已知的错误
有时,也许在没有移动游戏手柄模拟棒/发送命令的情况下起飞时/tello/cmd_vel,进一步的cmd_vel将无法工作; 通过重新启动节点,移动游戏手柄模拟棒/发送消息到/tello/cmd_velFIRST,然后起飞来修复



ROS2(github.com/clydemcqueen/tello_ros)

tello_ros 是Tello和Tello EDU无人机的ROS2驱动程序。

功能包
有3个ROS2包:

tello_driver 是连接到无人机的C ++ ROS2节点
tello_msgs 是一组ROS2消息
tello_description 包含一个URDF和其他对rviz2和Gazebo有用的文件
接口
许多Tello命令(例如,takeoff和land)都在长时间运行,客户希望知道它们何时完成。在ROS1中,在这些情况下使用动作很常见,但ROS2 Bouncy中没有动作。目前,接口使用ROS服务tello_command来启动命令,并使用相应的ROS主题tello_response来指示命令完成。

一次只能激活一个命令。命令完成后,可以启动下一个命令。

如果在15秒内没有收到任何命令,Tello无人机将自动着陆。驱动程序发送适当的保持活动消息以避免这种情况。

驱动程序激活视频并发送有关image_raw主题的图像。在camera_info主题上发送相机信息。

服务
~tello_command tello_msgs / TelloCommand
发布的主题
~tello_response std_msgs /字符串
~flight_data tello_msgs / FlightData
~image_raw sensor_msgs /图像
~camera_info sensor_msgs / CameraInfo
安装要求
Ubuntu 18.04
ROS2 Bouncy
libasio-dev 1.10.8-1
ffmpeg 3.4.4-0ubuntu0.18.04.1,包括这些库:
libavcodec.so.57.1​​07.100
libavutil.so.55.78.100
libswscale.so.4.8.100
OpenCV 3
发送命令
使用command主题将任意字符串发送到无人机。例子:

ros2 service call /tello_command tello_msgs/TelloCommand "{cmd: 'takeoff'}"
ros2 service call /tello_command tello_msgs/TelloCommand "{cmd: 'land'}"
ros2 service call /tello_command tello_msgs/TelloCommand "{cmd: 'rc 10 0 0 0'}"
ros2 service call /tello_command tello_msgs/TelloCommand "{cmd: 'battery?'}"
设备经过测试
Tello
固件v01.04.35.01,SDK v1.3
Tello EDU
固件v02.04.69.03,SDK v2.0
在CLion中运行C ++节点
设置LD_LIBRARY_PATH以获取已编译的tello_msgs库。例:

source /opt/ros/bouncy/setup.bash
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:~/ros2/flock2_ws/install/tello_msgs/lib
bash ~/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/183.4588.63/bin/clion.sh
积分
h264decoder来自:https://github.com/DaWelter/h264decoder

资源
Tello用户手册1.4:解释灯光等等。
Tello固件版本:不包括Tello EDU固件版本。
SDK 1.3:对于特洛。
SDK 2.0:对于Tello EDU。
Tello EDU Mission Pad指南(SDK 2.0)适用于Tello EDU。



重要步骤:

连接到Tello:

编译ROS1和ROS2:

111:

222:

更多内容稍后补充。

----

Fin

----

Tello和ROS的一些资料相关推荐

  1. ROS机器人操作系统资料与资讯(2018年8月)

    暑假好快,转眼开学,假期基本都在出差,工作这些年,发现ROS讨论最火的时候基本在2015-17年,进入18年,基本教程已经完全普及,课程体系也已经完备,国内基本机器人相关专业和方向,都已经逐步开展基于 ...

  2. ROS机器人操作系统资料与资讯(2018年5月)

    只补充最近有更新的精选资料,先上官网为敬. 官网: 1. ROS 1.0:http://www.ros.org/ 2. ROS 2.0:https://github.com/ros2/ros2/wik ...

  3. ROS机器人操作系统资料与资讯(2018年12月)

    要闻一览: ROS 2新版 开源机器人论文集征稿 机器人导航新功能 适用18.04+16.04的ROS QT 4.8 行为树 发布ROS版本号命名 Existing ROS 2 names and c ...

  4. ROS(1和2)机器人操作系统相关书籍、资料和学习路径

    ROS机器人相关书籍与资料(更新日期2017年11月) ROS发展10年了,已经逐渐成为通用的机器人操作系统标准.ROS 2相关资料链接:http://blog.csdn.net/zhangrelay ...

  5. 嵌入式的我们为什么要学ROS

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:良知犹存 转载授权以及围观:欢迎添加微信公众号:羽林君 前言 本来是要写一篇STM32移植ROS ...

  6. clion配置_Ubuntu16.04系统下用CLion编译器调试ROS代码详细教程

    本教程主要实践如何创建一个ROS工作空间和功能包实现基于ROS的信息发送和接收,同时用CLion如何去调试这个ROS工程.ROS允许多个工作空间并存,每个工作空间中创建需要的功能包,功能包创建于工作空 ...

  7. ROS探索总结(七)(八)(九)——smartcar源码上传 键盘控制 操作杆控制

    ROS探索总结(七)--smartcar源码上传 看到前面写的博客还是帮助了很多ROS的学习者,我感到非常荣幸.其实我也是一名ROS的新手,ROS的相关资料少,上手难度大,我现在也在摸索着学习,还希望 ...

  8. android ros 节点编写_嵌入式的我们为什么要学ROS

    前言 本来是要写一篇STM32移植ROS的一个小lib库,ROS一般都是需要跑在Linux上的,STM32使用就是当成一个ROS通讯的小节点,但是写文章时间不够,所以就简单做一篇ROS的介绍文章,分享 ...

  9. 基于ROS的移动机器人开发:视觉、语音、导航

    经过十余年的快速发展,ROS已成为当下主流的移动机器人操作系统,被各大机器人科技企业支持与使用.一些重大的自动驾驶或者机器人开源框架都是基于ROS系统进行开发的,例如:百度的Apllo和日本的Auto ...

最新文章

  1. ZNCZZ|新手做车的常见误区
  2. [BeiJing2010组队]次小生成树 Tree
  3. 怎么将文件转换成linux文件,你如何在linux中创建一个将文件转换为大写...
  4. Android原生系统API自带dp、px、sp单位转换
  5. SpringBoot 手动配置 @Enable 的秘密
  6. day02:关于惯性导航工具箱的学习与使用:use of the progen
  7. 浏览器数据库 IndexedDB(一) 概述
  8. 计算机文化基础证书丢了,计算机文化基础 文档的打印与保护 3.8.1 防止文档内容丢失.pptx...
  9. 关于android的apk版本升级的一些建议
  10. 远程计算机用户名win7,Win7远程桌面连接设置的方法
  11. 数学软件的matlab用处,引导高职学生用MATLAB软件解决数学的意义和价值
  12. 三星a5000刷Android原生,三星 A5000中文Recovery刷机教程
  13. 还在用老办法扫描?纸质文档变电子文档,手机这个功能一键搞定!
  14. 7个最佳小型企业电子邮件营销服务(2020)
  15. 静态路由原理及配置(8)
  16. 一元三次方程求根公式详细逐步推导
  17. 幅频特性曲线matlab,幅频特性曲线的matlab模拟
  18. 伦敦 quant_伦敦统一用户组(LUUG)见面v2.0
  19. 蒙太奇服务器维修,蒙太奇服务器多台互连导片方法
  20. winedt103系统找不到指定文件_win10专业版提示系统找不到指定文件的解决教程

热门文章

  1. QT的Listwidget控件
  2. 晚上11:45点 ,你进入睡眠状态了吗?
  3. SQL学习记录2--基础查询与排序
  4. 【Python自动化测试8】流程控制语句讲解
  5. html第二章课后选择题答案,心理学基础第二章 课后习题
  6. DevOps落地实践:BAT系列:CICD:iPipe vs CCI
  7. Php5.6重启php-fpm,PHP5.6中php-fpm的配置、启动、关闭和重启
  8. [面试算法]24点计算
  9. 基于tensorflow2的手写中文数字识别(自己创建数据集)
  10. 最好的我们 经典语录