Dronekit代码学习(一)连接及基础状态设置

2023-05-16

Dronekit代码学习(一)连接及基础状态设置

目前Dronekit可自行设置的内容较少,但能满足基本使用要求。后面还是需要对Mavlink相关指令进行学习。

连接
地址根据实际情况修改,官网如下:
https://dronekit-python.readthedocs.io/en/latest/guide/connecting_vehicle.html

Linux USB 	/dev/ttyUSB0
Linux Serial port (RaspberryPi example) 	/dev/ttyAMA0 (also set baud=57600)
SITL UDP 	127.0.0.1:14550
SITL TCP 	tcp:127.0.0.1:5760
OSX USB 	dev/cu.usbmodem1
Windows USB (in this case on COM14) 	com14
Windows COM14 	com14 (also set baud=57600)

仿真用:

#连接
vehicle = connect('127.0.0.1:14551', wait_ready=True)

飞行模式

#设置mode
print("设置模式Guided...")
vehicle.mode = VehicleMode("GUIDED")

解锁

#解锁
print("解锁...")
vehicle.armed = True

地速,即移速

#设置移动速度,地速
print("设置移动速度...")
vehicle.groundspeed = 3.2

设置目标位置

#设置目标位置a
print("设置目标位置...")
a_location = LocationGlobalRelative(-34.364114, 149.166022, 30)

关闭连接

print("关闭连接")
vehicle.close()

起飞

#起飞
def arm_and_takeoff(aTargetAltitude):
    
    print("起飞前检查...") 
    while not vehicle.is_armable:
        print (" 等待飞机初始化...") 
        time.sleep(1)


    print ("切换至GUIDED模式...")
    vehicle.mode    = VehicleMode("GUIDED")
    print ("解锁...")
    vehicle.armed   = True

    while not vehicle.armed:
        print ("等待解锁...")
        time.sleep(1)

    print ("起飞!!!...")
    vehicle.simple_takeoff(aTargetAltitude) 

    while True:
        print (" 当前高度: ", vehicle.location.global_relative_frame.alt)
        
        if vehicle.location.global_relative_frame.alt>=aTargetAltitude*0.95:
            print ("到达目标高度...")
            break
        time.sleep(1)

实际应用:
起飞十米,前往A点方向5s,返航。

# -*- coding: utf-8 -*-
'''
---------------------------------------------------------------------------
控制无人机基础设置

---------------------------------------------------------------------------

'''
from __future__ import print_function
import time
from dronekit import connect, VehicleMode, LocationGlobalRelative
from pymavlink import mavutil


#连接
vehicle = connect('127.0.0.1:14551', wait_ready=True)

#起飞
def arm_and_takeoff(aTargetAltitude):
    
    print("起飞前检查...") 
    while not vehicle.is_armable:
        print (" 等待飞机初始化...") 
        time.sleep(1)


    print ("切换至GUIDED模式...")
    vehicle.mode    = VehicleMode("GUIDED")
    print ("解锁...")
    vehicle.armed   = True

    while not vehicle.armed:
        print ("等待解锁...")
        time.sleep(1)

    print ("起飞!!!...")
    vehicle.simple_takeoff(aTargetAltitude) 

    while True:
        print (" 当前高度: ", vehicle.location.global_relative_frame.alt)
        
        if vehicle.location.global_relative_frame.alt>=aTargetAltitude*0.95:
            print ("到达目标高度...")
            break
        time.sleep(1)

#设置目标位置a
print("设置目标位置...")
a_location = LocationGlobalRelative(-34.364114, 149.166022, 30)

#设置移动速度,地速
print("设置移动速度...")
vehicle.groundspeed = 3.2

#起飞10m
arm_and_takeoff(10)


print("前往位置a...")
vehicle.simple_goto(a_location)
time.sleep(5)

print("设置模式返航...")
vehicle.mode = VehicleMode("RTL")

print("关闭连接")
vehicle.close()


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Dronekit代码学习(一)连接及基础状态设置 的相关文章

  • 使用DroneKit控制无人机

    摘自 xff1a https www cnblogs com DarrenChan p 7847199 html label3 使用DroneKit控制无人机 我的知乎 xff1a DarrenChan陈驰 目录 第0步 预先储备第1步 组
  • DroneKit教程(二):控制Pixhawk示例

    这让我感觉阿木的普罗米修斯或者px4 command是不是有模仿dronekit的成分 xff0c dronekit也是有直接的take off指令 在dronekit可能python一个指令就好了 xff0c 底层都给你封装好了 摘自 x
  • lvgl page manage 代码学习

    64 file lv 100ask page manager c INCLUDES include 34 lv 100ask page manager h 34 if LV USE 100ASK PAGE MANAGER 61 0 DEFI
  • Dronekit代码学习(一)连接及基础状态设置

    Dronekit代码学习 xff08 一 xff09 连接及基础状态设置 目前Dronekit可自行设置的内容较少 xff0c 但能满足基本使用要求 后面还是需要对Mavlink相关指令进行学习 连接 地址根据实际情况修改 xff0c 官网
  • Dronekit代码学习(五)基于Gps下的自动跟随

    Dronekit代码学习 xff08 五 xff09 基于Gps下的自动跟随 参考Dronkit python xff1a https github com dronekit dronekit python 实时更新PC端GPS位置 xff
  • Ubuntu+DroneKit Python配置

    安装 sudo apt span class hljs attribute get span install python span class hljs attribute py span python span class hljs a
  • Tensorflow代码学习-10-3验证码识别

    验证码识别 课程 xff1a 炼数成金GITHUBCSDN知乎欢迎点亮star span class token comment coding utf 8 span span class token keyword import span
  • dronekit 控制飞控 上/下/前/后/左/右 或是 上/下/东/西/南/北

    1 ardupilot平台 对于ardupilot平台 xff0c dronekit的python代码可以这样编写实现 上 下 前 后 左 右 from pymavlink import mavutil from dronekit impo
  • Dronekit 搭配使用Ardupilot 和 PX4

    Dronekit是一个与无人机飞控搭配使用 xff0c 方便开发者使用代码控制无人机 个人认为它会比搭建ros来控制无人机更容易上手一些 对于Dronekit xff0c PX4被支持的较少 xff0c 不可以进行模式切换 xff0c 而对
  • BlueROV-7: Keep Learning Dronekit

    The motors can spin now by using the following program from dronekit import connect VehicleMode import sys import time C
  • Apollo代码学习(七)—MPC与LQR比较

    Apollo代码学习 MPC与LQR比较 前言研究对象状态方程工作时域目标函数求解方法 前言 Apollo中用到了PID MPC和LQR三种控制器 xff0c 其中 xff0c MPC和LQR控制器在状态方程的形式 状态变量的形式 目标函数
  • Dronekit——Introduction

    Dronekit Introduction 参考 xff1a http python dronekit io about overview html 关于Dronekit DroneKit Python允许开发人员创建 在板载协同计算机上运
  • 使用从源码编译的SITL测试dronekit代码

    使用从源码编译的SITL测试DroneKit代码 本作品采用知识共享署名 相同方式共享 3 0 未本地化版本许可协议进行许可 DroneKit和SITL简述 DroneKit是一款Python语言的无人机开发库 xff0c 可以对使用MAV
  • DroneKit教程(一):安装DroneKit和测试工具

    DroneKit教程 xff08 一 xff09 xff1a 安装DroneKit和测试工具 DroneKit Python是一个用于控制无人机的Python库 DroneKit提供了用于控制无人机的API xff0c 其代码独立于飞控 x
  • DroneKit教程(二):控制Pixhawk示例

    DroneKit教程 xff08 二 xff09 xff1a 控制Pixhawk示例 本篇提供了一个简单的示例 xff0c 配以详细的注释说明不同语句的功能 xff0c 希望能给各位一个总体的框架和印象 该示例文件改写自DroneKit的官
  • DroneKit教程(七):遥控信道覆盖

    DroneKit教程 xff08 七 xff09 xff1a 遥控信道覆盖 MAVLink支持一项有用却又非常危险的功能 xff1a 遥控信道覆盖 xff08 Channel Override xff09 遥控信道覆盖可以将任一至全部通道的
  • HTML代码学习

    任务 请根据给出的需求 在基本模板上完善网页 网页包括首页 登录 注册界面 实现3个页面功能 页面外观请参考给出的具体图片 首页代码 h1 各位 注意了 这个页面是 是首页 h1 p p
  • C语言共用体-union的用法

    定义格式 union 共用体名 成员列表 共用体特点 1 占用的内存等于最长的成员占用的内存 2 共用体使用了内存覆盖技术 同一时刻只能保存一个成员的值 如果对新的成员赋值 就会把原来成员的值覆盖掉 会影响其余所有成员 实例说明 typed
  • 从容器连接到主机服务的示例

    我是 Docker 和无人机编程的新手 我能够将 python 脚本 包含 Dronekit 代码 部署到 Windows 10 上的 docker 容器 要运行该脚本 我需要连接到主机上的服务 我在下面提供了一个片段 Windows 有一
  • DroneKit:无法连接到 /dev/tty.usbmodem1411:“串行”对象没有属性“setBaudrate”

    按照 DroneKit 说明 我能够运行其快速入门指南中的 hello py 代码 http python dronekit io guide quick start html http python dronekit io guide q

随机推荐

  • 傅里叶与图像特征简介

    傅里叶变换在图像处理中有着广泛的应用 xff0c 主要应用方向有 xff1a 图像增强与去噪 边缘检测 特征提取 图像压缩等 其核心思想是使用傅里叶变换将图像由空间域转换至频率域 xff0c 通过对频率域进行不同的运算操作 xff0c 实现
  • openCPU开发demo详解包括线程调度、队列等的使用

    OpenCPU开发例程的详细解释 xff0c 包括各种功能的测试 xff0c 如线程 队列等 源代码为osi demo c 初步学习 xff0c 可能有误 xff0c 仅供参考 demo详解 代码部分系统函数fibo textTrace 输
  • 如何在ros上编写一个简单的node并进行通信

    如何在ros上编写一个简单的node并进行通信 这里采用ros教程的例子 xff0c 稍作修改 与C 43 43 不同的是 xff0c python不需要在package中加入message runtime以及message generat
  • ros编写自己的msg(Python)

    这里 xff0c 假设我们的包名叫做test py 我们写自己的msg文件在该包的msg文件夹下 test msg float32 data 然后 xff0c 我们编写自己的talker py文件如下 usr bin env python
  • docker(2)——docker仓库之Registry、harbor仓库

    一 什么是仓库 Docker 仓库是用来包含镜像的位置 xff0c Docker提供一个注册服务器 xff08 Register xff09 来保存多个仓库 xff0c 每个仓库又可以包含多个具备不同tag的镜像 Docker运行中使用的默
  • 物联网平台设备数据同步到RDS & MySQL数据库(保姆级教学)

    物联网平台设备数据同步到RDS amp MySQL数据库 xff08 保姆级教学 xff09 目标实现 xff1a 阿里云物联网平台某设备实时数据 xff08 MQTT协议上云 xff09 同步存储到RDS MySQL数据库 实现步骤 xf
  • 重头开始

    总感觉 生活中缺点什么 今天开始更新我正在学的FPGA和ESP8266的一些教程和心得 xff1b
  • ESP8266与FPGA初识

    ESP8266 今天其实就了解了一下ESP8266的一些相关 我们主要使用由SDK来编写代码来控制ESP8266以往我们用8266通常都是用AT指令用单片机串口控制的 这样的优点是简单 但是效率不是很高 xff0c 我们知道ESP8266本
  • 大创训练:基于图像处理的智能安防系统(序)

    基本完成目标 xff1a 利用OPENCV进行图像人脸识别进行操作 后期 xff1a 实际应该用到各个平台 QQ xff1a 754331516 欢迎交流 两周一更
  • 研究中常用的数据归一化方法(附Matlab程序)

    在数据处理中 我们往往需要对计算得到的结果数据 xff08 如fMRI中计算得到功能连接等指标 xff09 进行归一化 xff08 Normalization xff09 处理 其实不止在脑科学领域 xff0c 在其他领域也常常需要对结果数
  • INA219与INA216测试总结

    最近需要用到测电压的芯片 xff0c 主要看了一下有TI芯片的INA219系列和INA226系列 xff0c 索性回来都测试了一下 xff0c INA216的话我测试的时候没有图片 INA219我用的是这一款 xff0c 这一款我测试的时候
  • 基于ACFLY无人机调试笔记(一)

    调试心得 最近调试有空了来调试无人机 xff0c 飞控是用的ACFLY EDU的开源飞控 xff0c 因为ACFLY的教程比较少 xff0c 比较偏向商业化 xff0c 所以我开始记录一下使用 记录些项目进行二次开发过程中的细节ACFLY的
  • 入门信号完整性(1)

    最近在学习信号完整性 记录一下学习的过程 好久没回来写了 总觉得脑子是不够用的 这一回打算在博客上写关于信号完整性的知识 xff0c 但是信号完整性的知识非常的抽象 xff0c 所以我们也不能只是学习理论啦 xff0c 还需要仿真软件 xf
  • 二极管仿真模式在同步BUCK里面的应用

    效化和小型化 xff0c 一直都是功率电源发展的两个方向 同步BUCK在这两个方面的卓越表现 xff0c 也是在越来越多的场合得到了运用 xff0c 像锂电池充电 二次砖块电源等等 如图1所示 xff0c 同步BUCK相较传统BUCK最主要
  • 树莓派初体验之安装及SSH远程连接

    树莓派初体验之安装及SSH远程连接 安装远程通信 等了好久终于把树莓派等来了 xff0c 想法是通过pix4飞控和树莓派通信 xff0c 进行飞控的开发 xff0c 毫无经验 xff0c 一点一点来吧 xff0c 也希望有人一起来愉快的学习
  • 树莓派4B与Pixhawk4飞控之状态读取

    树莓派4B与Pixhawk4飞控之状态监控读取 飞控配置树莓派配置程序代码总结 先看看装备 xff0c 上节就说了 xff0c 这树莓派的壳子我喜欢 历经九九八十一难 xff0c 终于把树莓派和Pixhawk4飞控接通了 xff0c 中间尝
  • Ros机器人之(五)订阅subscriber消息

    Ros机器人之 xff08 五 xff09 订阅subscriber消息 这个讲的是订阅节点消息 learning topic里src下创建一个cpp文件 touch pos subscriber 内容如下 xff1a span class
  • Ardupilot之Mavros实现Ros节点控制(一)

    Ardupilot之Mavros实现Ros节点控制 Mavros安装修改Mavros运行Mavros 这部分ros发布的命令话题参考的是PX4固件最基本的Offboard node节点 xff0c 命令发布后 xff0c 能够连接并解锁 x
  • Ardupilot之Mavros实现Ros节点控制(二)

    Ardupilot之Mavros实现Ros节点控制 xff08 二 xff09 offboard建立仿真运行 未完成mavros安装及相关设置的参考上一篇文章 Ardupilot之Mavros实现Ros节点控制 xff08 一 xff09
  • Dronekit代码学习(一)连接及基础状态设置

    Dronekit代码学习 xff08 一 xff09 连接及基础状态设置 目前Dronekit可自行设置的内容较少 xff0c 但能满足基本使用要求 后面还是需要对Mavlink相关指令进行学习 连接 地址根据实际情况修改 xff0c 官网