使用从源码编译的SITL测试dronekit代码

2023-05-16

使用从源码编译的SITL测试DroneKit代码

知识共享许可协议本作品采用知识共享署名-相同方式共享 3.0 未本地化版本许可协议进行许可。

DroneKit和SITL简述

DroneKit是一款Python语言的无人机开发库,可以对使用MAVLink通讯协议的ArduPilot和PX4无人机进行控制。如果已经安装了pip,使用pip install dronekit 可以安装DroneKit。

SITL = Software in the loop,是著名无人机开源社区ArduPilot打造的开源软件模拟器。用户可以在不依托任何硬件的情况下,对固定翼(Plane)、旋翼机(Copter)和车辆(Rover)进行模拟。在通常情况下,如果你成功安装了python和pip,不论你身处何种平台,都可以使用pip install dronekit-sitl命令安装SITL。

但是,如果需要使用其他版本的SITL,就只能自己从源代码编译。这篇文章 详细介绍了从源代码编译SITL的方法。假设当你已经完成了上述所有步骤,成功从源代码编译了所需的SITL,本文将介绍如何使用SITL测试DroneKit源代码。

步骤

  1. 打开cmd,升级mavproxy组件。运行

    pip install -U mavproxy
  2. (已经完成编译SITL)运行SITL服务。打开Cygwin Terminal,运行

    cd ~/ardupilot/ArduCopter/
    ./ArduCopter.elf --home -35,149,584,270 --model quad

    --home 参数指示无人机出生点的经纬度、海拔、朝向,--model 用于设置机型(此处为四旋翼)。

  3. 运行mavproxy服务。新开一个cmd,运行

    mavproxy.py --master tcp:127.0.0.1:5760 --sitl 127.0.0.1:5501 --out 127.0.0.1:14550 --out 127.0.0.1:14551

    若正常连接,mavproxy和sitl窗口都会有信息显示。

  4. 运行MissionPlanner地面站。地面站打开后,右上角选择UDP,点击connect连接。端口可填写14550或14551

    如果连接成功,MissionPlanner界面右上角显示绿色连线connected,同时自动下载参数表。

  5. 运行代码。代码中,使用形如vehicle = connect('127.0.0.1:14551', wait_ready=True)的代码连接SITL。注意端口不要冲突(即不同服务要使用不同的端口)。

    如果正常连接,运行DroneKit程序的窗口将显示mavproxy信息。

错误参考

MAVProxy与SITL连接后,显示FRAME UNKNOWN

有同学反映,完成第三步操作,MAVProxy和SITL成功建立连接后,MAVProxy窗口会提示 FRAME UNKNOWN。在此情况下,一般SITL都无法正常地处理指令,也不能正常解锁。

在MAVProxy窗口下,输入param set FRAME_CLASS 1命令,可以解决该问题。另外,因为MAVProxy会保存当前参数供下一次使用,因此设置一次后,之后打开应当均输出正常。

因为各种原因,无法正常解锁

飞行器的解锁需要通过各种Pre-arming Check(起飞前检查),如果SITL的参数设置有误,很可能无法正常解锁,并且有消息提示 PreArm:加报错信息 。为了解决该问题并顺利进行测试,一种做法,当然是为SITL正确配置每一项参数,但这样太过麻烦;可以在MAVProxy窗口中,输入param set ARMING_CHECK 0 ,将Pre-arming Check取消。

版本信息

1.0 20170702 initial commit
1.1 20170711 add troubleshooting

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

使用从源码编译的SITL测试dronekit代码 的相关文章

随机推荐

  • C端产品工作流程

    文章目录 发现需求需求分析用户需求定义产品需求定义构建产品方案收集需求确定产品功能 产品需求分类产品目标分解产品版本规划需求评审产品功能设计需求评审确定执行计划测试验收发布上线 发现需求 通过自身的体验发现需求 通过间接的体验发现需求 1
  • STM32cubeMX将STM32F767+LAN8720+LwIP+FreeRTOS的以太网实现

    通过STM32cubeMX将STM32F767 43 LAN8720 43 LwIP 43 FreeRTOS的以太网实现 本文使用了正点原子的阿波罗开发板 xff0c 接下来我将粗略的对STM32F767通过STM32cubeMX进行以太网
  • 数据产品经理有哪些

    文章目录 数据分析产品经理数据挖掘产品经理策略产品经理数据工程类产品 首先希望大家能重新认识经理这份工作 xff1a 大数据产品经理并不一定要数学能力强或者编程能力强 xff0c 只要你有用数据思考的方式 xff0c 有相信数据的信念 xf
  • 产品经理必备的20个常用工具

    原型设计工具 xff1a Axure 墨刀 思维导图工具 xff1a Xmind MindManager 流程图绘制工具 xff1a Viso ProcessOn 数据处理与分析工具 xff1a Excel Tableau 问卷调研工具 x
  • Hibernate根据实体类自动生成表的方法

    文章目录 第一种方法第二种方法参考 第一种方法 这种方法需要配置 hibernate cfg xml 的属性 hibernate hbm2ddl auto xff0c 该属性值的具体说明如下 xff1a 值说明update实体对应的表如果不
  • 微信账户如何解除对第三方应用的授权

    参考文章 xff1a https baijiahao baidu com s id 61 1754354599985802723 amp wfr 61 spider amp for 61 pc amp searchword 61 E5 B0
  • 进程间通信

    现在的嵌入式系统往往有并发的特征 xff0c 就像多任务操作系统的多进程一样 xff0c 其内核会提供几种机制处理任务间通信 xff0c 本文对四种常见通信模式进行了分析 xff0c 并对其各自的优劣作较细致的比较 目前 xff0c 越来越
  • HTTP请求返回状态码的不同含义

    用户通过 HTTP 访问一台正在运行Internet信息服务的服务器上的内容时 xff0c 会返回一个表示该请求的状态的数字代码 状态代码可以指明具体请求是否已成功 xff0c 还可以揭示请求失败的确切原因 1 信息提示 这些状态代码表示临
  • 异常检测及其分布集成

    异常检测算法种类繁多 xff0c 包括聚类 xff0c 树 xff0c 统计分布 xff0c 机器学习 xff0c 深度学习等多种形式 xff0c 下面对一些常见问题进行了自己的总结 xff1a 1 如何选型 xff1f 主要看算法原理和数
  • 关于FreeRTOS 任务运行中卡死在临界区vPortExitCritical()

    FreeRTOS创建任务正常运行 xff0c 偶尔出现任务卡死状态 xff0c 通过在线调试 xff0c 程序卡在vPortExitCritical 函数中 xff0c 在IAR Call Stack中观察到各任务都可能回调该接口 span
  • Ardupilot添加自定义日志(AP_LOG)

    1 在libraries AP Logger LogStructure h中添加自定义的结构体 span class token keyword struct span span class token class name PACKED
  • Ardupilot 编译Bootloader

    1 清理之前的编译中间文件 xff0c 一定要清理一下 xff0c 能避免很多奇怪的问题 span class token punctuation span span class token operator span waf distcl
  • 基于STM32CUBE的LWIP+FREERTOS+Socket构成的TCP服务器

    本实验基于STM32F767制作 一 实验目的 本实验主要目的是通过Socket网络编程方法完成通过以太网控制两个LED的亮灭的 xff0c 同理可用到继电器上控制其它高电压设备 二 实验步骤 1 首先先生成一个带有LWIP和FreeRTO
  • PX4 ---- Mixer

    文章目录 Mixer 混合控制 作用输入输出装载混控文件MAVROS代码解析总结示例MAINAUX Mixer 混合控制 作用 经过位置控制和姿态控制后 xff0c 控制量通过 actuator controls发布 xff0c 其中 co
  • PX4 ---- Indoor Flight

    文章目录 室内飞行ROS amp PX4Pose Data 飞机配置MAVROS 基于工训赛 VIO 飞行总结 室内飞行 ROS amp PX4 Pose Data 飞机配置 VIO 参考此处 xff0c 采用 T265 配置 相机与飞控机
  • PX4 -- EKF2

    文章目录 EKF2参数高度估计Range Finder滤波 单变量更新单变量更新对多变量的影响 EKF2 参数 EKF2 中有一类 GATE 参数 当测量值在 VAR GATE 范围内才会更新值 高度估计 四种高度控制方法 xff1a 气压
  • opencv4以上版本报错:CV_LOAD_IMAGE_COLOR和CV_BGR2HSV和CV_CAP_PROP_FRAME_WIDTH

    报错关于 xff1a CV LOAD IMAGE COLOR xff0c 加入头文件 span class token preprocessor property include span span class token string 3
  • 【原神】各角色Pixiv涩图统计(一). 最多的是谁? R18涩图谁最多?

    统计的结果请见第一篇文章 代码已经开源至GitHub 本文下面所有的爬虫项目都有详细的配套教程以及源码 xff0c 都已经打包好上传到百度云了 xff0c 链接在文章结尾处 xff01 扫码此处领取大家自行获取即可 讲真 这个应该是我做过的
  • 如何从源码编译SITL

    从源码编译SITL Windows 本作品采用知识共享署名 相同方式共享 3 0 未本地化版本许可协议进行许可 SITL简介和适用情况 SITL 61 Software in the loop xff0c 是著名无人机开源社区ArduPil
  • 使用从源码编译的SITL测试dronekit代码

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