在Windows平台使用python3调用dronekit并仿真

2023-05-16

实验平台

  • Windows 10
  • Python3.7
  • dronekit-python 2.9.2

本文使用上述环境进行实验。dronekit-python官方文档1的Introduction/Release Notes部分更新到dronekit-python 2.9.1,并已经对python3有基本的支持。通过pip,可以在PyPI上获取2019年更新的版本dronekit-python 2.9.22。目前,我们只是对dronekit进行简单的使用,包括在树莓派Ubuntu mate 20.04上进行部署后,使用实体无人机起飞、位置控制、速度控制、降落。虽然文档中其他章节表示不支持python3,但我们在上述使用过程中都可以在python3的环境中运行。

仿真中MissionPlanner地面站的使用

根据文档Developing/Simulated Vehicle/Connecting an additional Ground Station部分所示,如果仿真中要连接地面站,需要通过MAVProxy。在ardupilot文档中可以知道Windows系统需要安装mavproxy.exe,而不同于其他系统可以通过pip安装mavproxy.py

下载并安装MAVProxy后,可以通过以下步骤使用仿真器并在地面站中显示。下面会涉及一些命令的输入,Windows的终端我们使用cmd就可以了。

  1. 单独启动SITL仿真器
    在cmd中输入下述命令,启动SITL(Software in the Loop)仿真器。这里我们选择模型为四旋翼(quad)
dronekit-sitl copter --model quad
  1. 使用MAVProxy连接
    地面站MissionPlanner中要获取消息,可以通过以下命令连接需要用到的端口。如果找不到mavproxy.exe可以用刚刚安装到的完整路径。
    注意,tcp地址前要加tcp:,udp则不用。
mavproxy.exe  --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
  1. MissionPlanner连接到仿真器
    之后,便可以打开MissionPlanner,在右上角选择UDP协议进行连接,端口可以是14550或14551

仿真不能正常起飞

pymavlink2.4.9引入了的新bug3,导致仿真不能正常起飞。运行起飞的脚本后,高度一直没有什么大的变化,不久,电机会自动disarm(arm指通电可以起飞的状态,disarm则相反)。降低pymavlink的版本,可以解决这个问题。

pip uninstall pymavlink 
pip install pymavlink==2.4.8

虽然安装时会报mavproxy 1.8.48 requires pymavlink>=2.4.14, but you have pymavlink 2.4.8 which is incompatible,安装后运行起飞脚本时,仍然会有ERROR:autopilot:ARMING MOTORS,但可以正常起飞了。

参考文献


  1. https://dronekit-python.readthedocs.io/en/latest/ ↩︎

  2. https://pypi.org/search/?q=dronekit ↩︎

  3. https://github.com/dronekit/dronekit-python/issues/1083 ↩︎

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

在Windows平台使用python3调用dronekit并仿真 的相关文章

  • 生产者消费者模型

    什么是生产者消费者模型 xff1f span class token variable 生产者和消费是操作系统中一种重要的模型 xff0c 它描述的是一种等待和通知的机制 span 一 概念引入 日常生活中 xff0c 每当我们缺少某些生活
  • Mariadb-Mysql服务器

    1 安装服务 root 64 ftp2 yum install y mariadb 2 启动服务 root 64 ftp2 systemctl start mariadb 3 进入Mysql 因为默认进入Mysql是不需要密码的 xff0c
  • Vmware批量开关机脚本

    运行Windows脚本批量开关Vmware虚拟机 1 vmrun T ws start opt VMware win2k8r2 vmx nogui启动无图形界面虚拟机 xff08 T 是区分宿主机的类型 xff0c ws server se
  • linux下proxy设定的一般方法

    在linux下配置测试环境时 xff0c 经常遇到代理服务器配置的相关问题 xff0c 在这里总结一些 xff0c 为以后节省些时间 也希望对需要的人有所帮助 linux下proxy的常规设置 一般是把如下环境变量的设置放到 etc pro
  • 计算机视觉中的论文常见单词总结

    前言 本文对计算机视觉论文中常出现的单词进行了汇总 xff0c 对于不具备直接阅读英文文献的读者 xff0c 可以考虑把这些单词给背了 之前的文章 计算机视觉中的高效阅读论文的方法总结 中提到了如何掌握阅读英文文献的能力 xff0c 我就是
  • android常见面试题与我自己的回答 (二)

    1 xff0c android process 解决访问SharedPreferences xff0c 不在同一进程 private SharedPreferencesDB Context cxt this context 61 cxt C
  • 解决打开Chrome出现 输入密码以解锁您的登录密钥环

    问题是这样的 xff0c 打开Chrome 后出现如下所示 xff1a xff08 图是网上找的 xff0c 我电脑上解决了这个问题 xff0c 这图就出现不了了 xff09 我的具体情况是 xff0c 输入什么密码都解不开 xff0c 也
  • Spring_ 依赖注入 详细讲解

    文章目录 一 什么是依赖注入 xff1f 1 类的关系1 1 依赖关系 xff08 Dependency xff09 1 2 聚合 xff08 Aggregation xff09 2 关系强度 二 为什么使用依赖注入 xff1f 1 开闭原
  • 向日葵ubuntu19.10安装不上依赖解决办法

    源链接 https blog csdn net zhang24qin article details 103611923 http www luyixian cn news show 267507 aspx 不知道哪个是原作者 都放上面了
  • Linux向日葵重启以后连接不上解决办法

    Linux重启之后向日葵连接不上 xff0c 查看log时候显示和屏幕组件有关 xff0c 获取不到屏幕组件 在 etc profile d 下面创建一个脚本xrk sh vim编辑 bin bash xhost 43 wq 保存一下 ch
  • clickhouse的too many part问题

    clickhouse踩坑记录 Yuque what DB Exception Too many partitions for single INSERT block more than 100 The limit is controlled
  • jumpserver DOCKER脚本报错解决方案

    ERROR for koko Container 34 10761048e0bf 34 is unhealthy ERROR for celery Container 34 10761048e0bf 34 is unhealthy ERRO
  • ESXI 无法打开磁盘“XXX.vmdk”或其所依赖的快照磁盘之一

    如果遇到断电突然VMDK嗝屁了 xff0c 这时候重启没有 lck文件把硬盘锁死还是无法启动可能需要修复硬盘 vmkfstool x check vm 103 disk 0 vmdk vmkfstool x repair vm 103 di
  • linux C++创建多级目录

    static bool check exists const std string amp file path return access file path c str F OK 61 1 static std string get pa
  • [转] Linux 之 /etc/profile、~/.bash_profile 等几个文件的执行过程

    原文链接 在登录Linux时要执行文件的过程如下 xff1a 在刚登录Linux时 xff0c 首先启动 etc profile 文件 xff0c 然后再启动用户目录下的 bash profile bash login或 profile文件
  • clickhouse授权

    create role xxx db readonly grant select on xxx db to xxx db readonly grant xxx db readonly to username show grants for
  • MYSQL docker 和 UBUNTU docker

    MYSQL docker 和 UBUNTU docker sudo docker run p 3306 3306 name mysql restart 61 always privileged 61 true v raid10 mysql
  • pandas datetime64 转string

    https stackoverflow com questions 50449453 pandas datetime64 to string You can just cast the dtype first using astype In
  • clion 头文件和源文件切换

    H 和 CPP切换 在keymap快捷键找到 related symbol
  • Git Cherry-pick/Git Merge/Git Rebase

    原文出处 xff1a http pinkyjie com 2014 08 10 git notes part 3 Git笔记 三 cherry pick merge rebase 书接上回 xff0c 直入主题 xff01 这篇继续实践剩下

随机推荐