littlebot
Published on 2025-04-11 / 0 Visits
0

【源码】基于ROS的Tello无人机控制项目

项目简介

本项目是清华大学无人机赛课初赛提供的最小控制demo,代码改版自Tello官方SDK。通过ROS实现对Tello无人机的控制,能接收无人机的状态和图像信息,还具备识别定位毯并飞到其中心位置的功能。

项目的主要特性和功能

  1. 利用ROS话题通信对Tello无人机进行控制。
  2. 发布 /tello_state/tello_image 话题,便于获取无人机状态和图像信息。
  3. 提供最小控制程序,可识别1号定位毯并飞到其中心位置。
  4. 支持订阅 /command 话题的消息,用于快速调试。

安装使用步骤

安装

bash pip install --upgrade pip pip install pyyaml matplotlib opencv-python==3.4.0.12 cd ~/catkin_ws/src/ cd tello_control/h264decoder mkdir build && cd build cmake .. make -j cp libh264decoder.so ../../ cd ~/catkin_ws catkin_make

使用

  1. 首次使用时,增加可执行权限: bash chmod +x ~/catkin_ws/src/tello_control/tello_control.py chmod +x ~/catkin_ws/src/tello_control/tello_state.py
  2. 打开一个终端,启动ROS核心: bash roscore
  3. 新打开终端,运行状态发布程序: bash rosrun tello_control tello_state.py
  4. 新打开终端,运行控制程序: bash rosrun tello_control tello_control.py

常见报错处理

  1. 报错 no module named rospkgbash conda activate tello conda install setuptools pip install -U rosdep rosinstall_generator wstool rosinstall six vcstools
  2. 报错 ImportError: /opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so: undefined symbol: PyCObject_Type,在报错的文件里加上: python sys.path.remove('/opt/ros/kinetic/lib/python2.7/dist-packages')

其他提示

  • 接收视频流端口为11111(负责接收图像信息)。
  • 接收状态端口为8890(负责接收状态信息)。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】