Tello和ROS的一些资料
之前,一些博文给出了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.107.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的一些资料相关推荐
- ROS机器人操作系统资料与资讯(2018年8月)
暑假好快,转眼开学,假期基本都在出差,工作这些年,发现ROS讨论最火的时候基本在2015-17年,进入18年,基本教程已经完全普及,课程体系也已经完备,国内基本机器人相关专业和方向,都已经逐步开展基于 ...
- ROS机器人操作系统资料与资讯(2018年5月)
只补充最近有更新的精选资料,先上官网为敬. 官网: 1. ROS 1.0:http://www.ros.org/ 2. ROS 2.0:https://github.com/ros2/ros2/wik ...
- ROS机器人操作系统资料与资讯(2018年12月)
要闻一览: ROS 2新版 开源机器人论文集征稿 机器人导航新功能 适用18.04+16.04的ROS QT 4.8 行为树 发布ROS版本号命名 Existing ROS 2 names and c ...
- ROS(1和2)机器人操作系统相关书籍、资料和学习路径
ROS机器人相关书籍与资料(更新日期2017年11月) ROS发展10年了,已经逐渐成为通用的机器人操作系统标准.ROS 2相关资料链接:http://blog.csdn.net/zhangrelay ...
- 嵌入式的我们为什么要学ROS
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:良知犹存 转载授权以及围观:欢迎添加微信公众号:羽林君 前言 本来是要写一篇STM32移植ROS ...
- clion配置_Ubuntu16.04系统下用CLion编译器调试ROS代码详细教程
本教程主要实践如何创建一个ROS工作空间和功能包实现基于ROS的信息发送和接收,同时用CLion如何去调试这个ROS工程.ROS允许多个工作空间并存,每个工作空间中创建需要的功能包,功能包创建于工作空 ...
- ROS探索总结(七)(八)(九)——smartcar源码上传 键盘控制 操作杆控制
ROS探索总结(七)--smartcar源码上传 看到前面写的博客还是帮助了很多ROS的学习者,我感到非常荣幸.其实我也是一名ROS的新手,ROS的相关资料少,上手难度大,我现在也在摸索着学习,还希望 ...
- android ros 节点编写_嵌入式的我们为什么要学ROS
前言 本来是要写一篇STM32移植ROS的一个小lib库,ROS一般都是需要跑在Linux上的,STM32使用就是当成一个ROS通讯的小节点,但是写文章时间不够,所以就简单做一篇ROS的介绍文章,分享 ...
- 基于ROS的移动机器人开发:视觉、语音、导航
经过十余年的快速发展,ROS已成为当下主流的移动机器人操作系统,被各大机器人科技企业支持与使用.一些重大的自动驾驶或者机器人开源框架都是基于ROS系统进行开发的,例如:百度的Apllo和日本的Auto ...
最新文章
- ZNCZZ|新手做车的常见误区
- [BeiJing2010组队]次小生成树 Tree
- 怎么将文件转换成linux文件,你如何在linux中创建一个将文件转换为大写...
- Android原生系统API自带dp、px、sp单位转换
- SpringBoot 手动配置 @Enable 的秘密
- day02:关于惯性导航工具箱的学习与使用:use of the progen
- 浏览器数据库 IndexedDB(一) 概述
- 计算机文化基础证书丢了,计算机文化基础 文档的打印与保护 3.8.1 防止文档内容丢失.pptx...
- 关于android的apk版本升级的一些建议
- 远程计算机用户名win7,Win7远程桌面连接设置的方法
- 数学软件的matlab用处,引导高职学生用MATLAB软件解决数学的意义和价值
- 三星a5000刷Android原生,三星 A5000中文Recovery刷机教程
- 还在用老办法扫描?纸质文档变电子文档,手机这个功能一键搞定!
- 7个最佳小型企业电子邮件营销服务(2020)
- 静态路由原理及配置(8)
- 一元三次方程求根公式详细逐步推导
- 幅频特性曲线matlab,幅频特性曲线的matlab模拟
- 伦敦 quant_伦敦统一用户组(LUUG)见面v2.0
- 蒙太奇服务器维修,蒙太奇服务器多台互连导片方法
- winedt103系统找不到指定文件_win10专业版提示系统找不到指定文件的解决教程