大疆Tello编队飞行教程(特洛教育版)
通过Python控制特洛无人机群飞
Step1
下载 Mind+ 软件使用在线编程功能, 安装Mind+Link 串口通信工具, 将ESP通过USB链接到PC机, 接着将ESP32模块恢复,多恢复几次,不然会出现一直连不上的问题。
具体的问题解决参考 教程
Step2
安装robomaster python 包
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple robomaster
robomaster api 文档 https://robomaster-dev.readthedocs.io/zh_CN/latest/python_sdk/installs.html
首先将ESP模块设置为 直连模式 开关波动到最下方
使用PC连接无人机的WIFI ,无线的名字一般为RM开头 运行代码将无人机设置为组网模式, 对每台设备都执行下面的代码
import robomaster
from robomaster import robot
if __name__ == '__main__':
tl_drone = robot.Drone()
tl_drone.initialize()
tl_drone.config_sta(ssid="RoboMaster_SDK_WiFi", password="12341234")
print(tl_drone.get_sn())
tl_drone.close()
将所有的无人机都设置为组网模式后, 链接自己的路由器
将ESP模块切换到组网模式
开关拨动到最上方
连接成功后,无人机会出现静置转桨,则链接成功, 这个过程较长,30s左右大于30s可能设置不成功,恢复ESP模块,重复上述步骤。
Step3
多机飞行
首先安装依赖包 pip install netifaces 执行代码 实现两架飞机前后飞行
from multi_robomaster import multi_robot
def takeoff_land_task1(robot_group):
robot_group.takeoff().wait_for_completed()
robot_group.forward(100).wait_for_completed()
robot_group.land().wait_for_completed()
def takeoff_land_task2(robot_group):
robot_group.takeoff().wait_for_completed()
robot_group.backward(100).wait_for_completed()
robot_group.land().wait_for_completed()
if __name__ == '__main__':
# get drone sn by run the expamles of /15_multi_robot/multi_drone/01_scan_ip.py
robot_sn_list = ["0TQZH79ED00H56", "0TQZH79ED00H89"] # 设置组网模式时记下来的机器SN码
multi_drone = multi_robot.MultiDrone()
multi_drone.initialize(robot_num=2)
multi_drone.number_id_by_sn([0, robot_sn_list[0]], [1, robot_sn_list[1]])
multi_drone_group1 = multi_drone.build_group([0])
multi_drone_group2 = multi_drone.build_group([1])
multi_drone.run([multi_drone_group1, takeoff_land_task1],
[multi_drone_group2, takeoff_land_task2])
multi_drone.close()
|