返回介绍

仿真 - 基本仿真

发布于 2020-07-27 14:09:23 字数 3314 浏览 1287 评论 0 收藏 0


translated_page: https://github.com/PX4/Devguide/blob/master/en/simulation/sitl.md

translated_sha: 95b39d747851dd01c1fe5d36b24e59ec865e323e

软件在环仿真 (SITL)

软件在环仿真是在主机上运行一个完整的系统并模拟自驾仪。它通过本地网络连接到仿真器。 设置成如下的形式:

{% mermaid %}
graph LR;
Simulator—>MAVLink;
MAVLink—>SITL;
{% endmermaid %}

运行SITL

在确保仿真必备条件 已经安装在系统上之后, 就可以直接启动 : 使用便捷的make target可以编译POSIX的主构建,并运行仿真 .

  1. make posix_sitl_default jmavsim

这将启动PX4 shell:

  1. [init] shell id: 140735313310464
  2. [init] task name: mainapp
  3. ______ __ __ ___
  4. | ___ \ \ \ / / / |
  5. | |_/ / \ V / / /| |
  6. | __/ / \ / /_| |
  7. | | / /^\ \ \___ |
  8. \_| \/ \/ |_/
  9. Ready to fly.
  10. pxh>

重要的文件

  • 启动脚本文件在 posix-configs/SITL/init 文件夹中并被命名为rcS_SIM_AIRFRAME, 默认是 rcS_jmavsim_iris.
  • 系统启动文件 (相当于 / 被视为) 位于构建文件夹内部 : build/posix_sitl_default/src/firmware/posix/rootfs/

起飞

添加一个带jMAVSim仿真器的3D视觉窗口:

jMAVSim 3d View

一旦完成初始化,该系统将打印home的位置 (telem> home: 55.7533950, 37.6254270, -0.00). 你能够通过输入以下指令让其起飞:

  1. pxh> commander takeoff

提示 地面站(QGC)支持虚拟操纵杆或拇指操纵杆。要使用手动输入,把系统打在手动飞行模式(e.g. POSCTL, 位置控制)。从地面站QGC参考菜单启动拇指操纵杆。

Wifi无人机的仿真

现有一个特殊的任务:对通过局域网WiFi连接的无人机进行仿真

  1. make broadcast jmavsim

如同一个真正的无人机会做的一样,仿真器也会广播无人机在局域网中的地址

扩展和自定义

为了扩展或自定义仿真界面,可以编辑 Tools/jMAVSim文件夹下的文件。能够通过 Github上的jMAVSim repository取得原码.

提示 构建系统强制检查所有依赖的子模块,包括仿真软件。虽然这些文件夹中文件的改变不会被覆盖,但当这些改变被提交的时候子模块需要在固件库中以新的hash注册。为此,输入 git add Tools/jMAVSim进行提交。这样仿真软件的GIT hash就会被更新。

连接ROS

这个仿真能够连接到ROS上,其方法与将一个搭载真实的飞行器的板子连接到ROS上相同。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文