DroneKit-python入门教程教程-SITL仿真-连接pixhawk示例
DroneKit-python入门教程教程-SITL仿真-连接pixhawk示例
说明:
- 介绍如何利用DroneKit-python连接飞控
步骤:
- 使用DroneKit中的connect函数,可以方便地连接到飞控
- connect函数原型为
def connect(ip, # 目标无人机的地址
_initialize=True,
wait_ready=None, # 函数返回之前,是否等待属性参数下载完成(通常设置为True)
status_printer=errprinter, # 输出诊断信息的途径,默认输出到运行程序的cmd
vehicle_class=None, # 返回值的类型,可以是"Vehicle"类本身或它的任意子类
rate=4, # 数据流的刷新频率,默认4Hz
baud=115200, # 使用串口连接时的波特率,默认115200
heartbeat_timeout=30, # 连接无人机的超时时间,默认30s
source_system=255, # 目标无人机的MAVLink ID,默认255
use_native=False) # 使用预编译的解析器
- 其中,ip, wait_ready, vehicle_class, baud参数比较常用。
- connect函数将返回一个Vehicle类型的对象(或其他类型,当vehicle_class不为None时),可以通过该对象实现对无人机的控制
- 连接飞控的示例代码为
from dronekit import connect
# 使用connect函数连接到本地端口14551
vehicle = connect('127.0.0.1:14551', wait_ready=True)
- 例如,飞控通过TCP连接到本地的5760端口(通常为SITL):
vehicle = connect('tcp:127.0.0.1:5760', wait_ready = True)
- 飞控通过UART串口连接到Linux计算机,且波特率为115200
vehicle = connect('/dev/ttyAMA0', baud = 115200, wait_ready = True)
- 连接到多个飞控
- 通过多次使用connect函数连接到不同的地址,即可在同一个代码文件内连接到多个飞控。
- 每次调用connect,都会返回一个Vehicle类的对象。
- 通过控制这些对象,即可在同一份代码中控制多架无人机
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号