< >
Home » DroneKit-Python教程 » DroneKit-python入门教程教程-SITL仿真-连接pixhawk示例

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类的对象。
  • 通过控制这些对象,即可在同一份代码中控制多架无人机

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: dronekit-python入门教程教程