px4自带教程offboard下的gazebo多无人机编队仿真

2023-05-16

px4自带教程offboard下的gazebo多无人机编队仿真

主要教程参考这篇文章,offboard代码也源自下面链接,增加了其他文件的配置细节,链接如下:
https://blog.csdn.net/weixin_43409270/article/details/114703341?spm=1001.2014.3001.5501

前提:

我的px4版本较旧,现在重新去github上px4-Autopilot上下载的PX4-Autopilot/launch/multi_uav_mavros_sitl.launch文我下载的里面参数配置不同,我参考官网最新的代码进行修改,主要修改以下两部分1、/home/zy/PX4/Firmware/launch/multi_uav_mavros_sitl.launch文件 2、/home/zy/PX4/Firmware/posix-configs/SITL/init/ekf2/iris_0(在原有iris_1、iris_2的基础上复制了iris_3、iris_4)

1、 修改multi_uav_mavros_sitl.launch文件

参考以下官网最新launch文件最后面增加无人机后的端口修改方法如下:

<!-- to add more UAVs (up to 10):
Increase the id
Change the name space
Set the FCU to default="udp://:14540+id@localhost:14550+id"
Set the malink_udp_port to 14560+id) -->

就是说对UAV1,ID=1,则

<arg name="fcu_url" default="udp://:14540+1(ID)@localhost:14550+1(ID)"/>
<arg name="mavlink_udp_port" value="14560+1(ID)"/>

修改完成后UAV1部分完整代码如下:

<!-- UAV1 -->
    <group ns="uav1">
        <!-- MAVROS and vehicle configs -->
        <arg name="ID" value="1"/>
        <arg name="fcu_url" default="udp://:14541@localhost:14551"/>
        <!-- PX4 SITL and vehicle spawn -->
        <include file="$(find px4)/launch/single_vehicle_spawn.launch">
            <arg name="x" value="0"/>
            <arg name="y" value="0"/>
            <arg name="z" value="0"/>
            <arg name="R" value="0"/>
            <arg name="P" value="0"/>
            <arg name="Y" value="0"/>
            <arg name="vehicle" value="$(arg vehicle)"/>
            <arg name="rcS" value="$(find px4)/posix-configs/SITL/init/$(arg est)/$(arg vehicle)_$(arg ID)"/>
            <arg name="mavlink_udp_port" value="14561"/>
            <arg name="ID" value="$(arg ID)"/>
        </include>
        <!-- MAVROS -->
        <include file="$(find mavros)/launch/px4.launch">
            <arg name="fcu_url" value="$(arg fcu_url)"/>
            <arg name="gcs_url" value=""/>
            <arg name="tgt_system" value="$(arg ID)"/>
            <arg name="tgt_component" value="1"/>
        </include>
    </group>

然后复制这部分,命名空间改为UAV2/3/4,ID依次为2、3、4,然后参考UAV1修改fcu_url、mavlink_udp_port的值。

2、修改/home/zy/PX4/Firmware/posix-configs/SITL/init/ekf2中iris无人机参数

由于上一步我们修改了launch文件中的每架无人机的端口号,所以要在原本PX4中的iris的端口参数设置中进行修改,让其与launch文件中的端口号一致。
修改参考以下链接:
https://bbs.amovlab.com/forum.php?mod=viewthread&tid=486
在这里插入图片描述

如果是四架无人机,就复制两次iris_1或iris_2,并分别命名为iris_3,iris_4
以iris_1为例,打开参考multi_uav_mavros_sitl.launch文件,修改以下四部分:
1、MAV_SYS_ID 修改为 (ID数);

param set MAV_SYS_ID 1

2、SITL_UDP_PRT 值要与位于启动脚本中 mavlink_udp_port 参数匹配;

param set SITL_UDP_PRT 14561

3、第一个 mavlink start 端口号要与 mavlink stream 端口号一致,用于与QGC通信。其余iris模型中的第一个mavlink start 值依次加2;

mavlink start -x -u 14556 -r 4000000

4、第二个 mavlink start 端口号要与启动脚本中 fcu_url 参数一致。

mavlink start -x -u 14551 -r 4000000 -m onboard -o 14541

注:
1、如果运行报错说找不到iris_?,可能是iris命名问题,看看报错的找不到iris几,回去看看自己文件夹下有没有这个iris。
2、offboard里面的uav序号也要注意,尽力所以文件序号一致,从零开始计数无人机个数就都从零开始,从一开始计数无人机个数就都从一开始,方便自己后续查找修改问题

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

px4自带教程offboard下的gazebo多无人机编队仿真 的相关文章

  • STM32L152 实现电源电压采集 基于HAL库实现

    CudeMX中对相关ADC的配置 这里用ADC1的通道17 keil中 自己编写 ADC Getvalue的值的函数 在主函数中调用 在debug模式下 可以在watch窗口中看见相关值 单位为mv
  • 基本共射放大电路的动态分析以及放大电路Q点的稳定

    求解静态 xff1a 直流通路 xff1a VCC 61 Ubeq 43 Ibq Rb gt Ibq gt Ieq 2 动态分析 xff1a 交流通路 xff1a H参数等效 xff1a 在放大过程中 xff1a 动态的Ube秉承动态的Ib
  • FreeRTOS 创建任务

    用已经移植好的工程模板 创建一个简单的任务 xff08 电量LED灯 xff09 1 硬件初始化 需要用到开发板上的LED灯小江LED灯相关的函数初始化 xff0c 在main c中创建一个Init xff08 xff09 函数 xff0c
  • 差分放大电路及动态分析

    由温度引起的零点漂移成为温漂 xff0c 引入负反馈 加入Re电阻 从抑制温度漂移的角度来说 希望Re越大越好 但是会导致放大倍数变小 加一个镜像的电路可以让两边一起浮动 但是两个Re可以共用一个 于是改成下面的 形式 Re电阻现在的作用变
  • FreeRTOS的启动流程

    目前的RTOS中有两种比较流行的启动方式 万事俱备 只欠东风 xff1a 在main函数中将硬件初始化 xff0c rtos系统初始化 xff0c 所有任务的创建都完成 再启动RTOS的调度器 xff08 在刚刚创建的的任务中选择一个优先级
  • FreeRTOS--消息队列

    队列 xff1a 队列又称为消息队列 xff0c 是一种用于任务间通信的数据结构 xff0c 是一种异步通信方式 xff0c 实现接收来自其他任务或者中断的不固定长度的消息 xff0c 任务能够从队列中读取消息 xff0c 当队列中消息是空
  • FreeRTOS--信号量

    信号量的基本概念 xff1a 信号量是一种实现任务间通信的机制 xff0c 可以实现任务之间同步或者临界资源的互斥访问 xff0c 常用于协助一组相互竞争的任务来访问临界资源 信号量是一个非负整数 xff0c 所以获取它的任务都会将整数减一
  • FreeRTOS-互斥信号量

    互斥量又称为互斥信号量 xff0c 本质是一种特殊的二值信号量 xff0c 支持互斥量所有权 xff0c 递归访问 xff0c 以及防止优先翻转的特性 xff0c 用于实现对临界资源的独占式处理 任意时刻互斥量的状态只有两种 xff0c 开
  • FreeRTOS--软件定时器

    定时器 xff1a 从指定的时刻开始 经过一个指定时间 触发一个超时事件 用户自定义定时器的周期和频率 硬件定时器 xff1a 芯片本身提供的定时功能 一般是外部晶振提供给芯片输入时钟 芯片向软件模块一直配置寄存器 接收控制输入 到达设定时
  • FreeRTOS--任务通知

    任务通知 xff1a 每个任务有一个32位的通知值在大多数情况下 xff0c 任务通知可以替代二值信号量 计数信号量 事件组 xff0c 也可以替代长度为 1 的队列 xff08 可以保存一个 32位整数或指针值 xff09 使用任务通知比
  • 模拟实现strchr,strrchr,strstr,strrstr函数

    模拟实现strchr strnchr strstr strrstr函数 strchr 查找字符串s中首次出现字符c的位置 xff0c 返回首次出现c的位置的指针 xff0c 如果s中不存在c则返回NULL include lt stdio
  • FreeRTOS--内存管理

    FreeRTOS操作系统将内核和内存管理分开实现 xff0c 操作系统内核仅规定了必要的内存管理函数原型 不关心内存管理函数是如何实现的 所以在 FreeRTOS 中提供了多种内存分配算法 xff08 分配策略 xff09 xff0c 但是
  • 谈谈C++多态的基本使用和总结

    前言 文章目录 前言1 多态的理解2 构成多态的条件3 虚函数4 虚函数的重写 覆盖 5 多态调用虚函数的规则6 析构函数的重写 基类与派生类析构函数的名字不同 7 设计一个不能被继承的基类8 final关键字和override 关键字9
  • 位运算-2进制表示浮点数

    2进制表示浮点数 题目实现思路代码实现 题目 输入一个浮点数 xff0c 输出浮点数的二进制码 实现思路 1 二进制表示浮点数 xff1a 以0为原点向左移是2的整数次幂 xff0c 向右移是逐级除2 类似 8 4 2 1 0 0 5 0
  • Realsense相机疑难问题

    目录 不同传感器模块之间的外参问题问题描述解决办法打开windows命令行 xff0c 将目录导航到C Program Files x86 Intel RealSense SDK 2 0 tools目录下确保此时电脑连入了Realsense
  • 2023.3.17 | Goby红队版可利用漏洞更新

    Goby预置了最具攻击效果的漏洞引擎 xff0c 覆盖Weblogic xff0c Tomcat等最严重漏洞 每天从互联网 xff08 如CVE xff09 会产生大量的漏洞信息 xff0c 我们筛选了会被用于真实攻击的漏洞进行每日更新 G
  • 算法落地思考:如何让智能运维更智能

    嘉宾 王鹏 整理人 西狩xs 出品 CSDN云原生 AIOps是人工智能与运维的结合 xff0c 能够基于已有的运维数据 xff0c 利用人工智能算法 xff0c 通过机器学习的方式帮助企业提升运维效率 xff0c 解决自动化运维无法管理的
  • Python 实现用网页展示多个结果表数据

    Python 实现用网页展示多个表格的数据 前言 一 效果图 二 代码 1 引入库 2 函数定义 3 主程序 前言 实现方法是利用pandas to html 与表格展示的美化相结合 使数据展示更美观 一 效果图 示例 二 代码 本文将使用
  • ubuntu桌面翻转怎么设置成正常?

    有一次在ubuntu设置中 xff0c 脑残在桌面设置里把桌面翻转了 xff0c 虽然有撤回按钮 xff0c 但是桌面翻转了 xff0c 鼠标不受控制 这里介绍一种办法 xff1a Ctrl 43 Alt 43 T 打开终端 xrandr
  • ubuntu20运行VINS-Fusion报错

    ubuntu20运行VINS Fusion报错 Ubuntu20运行VINS Fusion xff0c catkin make报错可以csdn解决 xff1b 但是启动vins node节点的时候 xff0c 就会显示 段错误 xff0c

随机推荐

  • 谷粒学院自学笔记

    谷粒学院自学笔记 day01上午一 MyBatis Plus的入门配置 下午 day02day03day04 Day05Day06Day07Day08Day09Day10Day11Day12Day13Day14Day15Day16Day17
  • CPU 任务调度算法

    摘录自 TSN网络中时间同步精度提升与可靠性研究 董林峰 可参考文章 xff1a https blog csdn net qq 38216239 article details 80374539 多任务操作系统按调度策略的差别可以细分为抢占
  • 安装Docker详细步骤总结

    一 安装Docker 1 下载关于Docker的依赖环境 在Xterm中输入以下代码安装依赖环境 回车 yum y install yum utils device mapper persistent datalvm2 使用yum工具下载
  • MobaXterm连接报错Network error: Connection timed out

    今天打开MobaXterm远程连接我VMware虚拟机的时候出现以下界面 xff0c 问题详情如下 xff1a Network error Connection timed out Session stopped Press lt retu
  • 拉丁超立方抽样

    拉丁超立方 xff08 LHS xff09 适用于样本数量少的情况 xff0c 主要思想是概率分布的分层 xff0c 一层一个样本 xff08 每层的样本是随机的 当且仅当每一行和每一列只有一个样本时 xff0c 才能称为拉丁方格 LHS可
  • 银河麒麟用x11vnc实现远程桌面

    1 安装x11vnc 插入x11vnc的命令 sudo apt span class token operator span get update sudo apt span class token operator span get in
  • Vins-mono细节描述--相机imu外参标定

    vins mono能够在初始化的时候 自动标定相机和imu的外参 这个强大的功能其实并没有想象中那么复杂 一起来看看 1 在vins mono的配置文件中 就可以找到参数 来选择 是否需要估计参数 Extrinsic parameter b
  • lvi-sam的深度匹配策略

    在lvi sam中 xff0c 作者通过视觉处理的时候 xff0c 利用lidar的深度信息 xff0c 得到了更稳定的估计 那在代码里是怎么实现的呢 xff1f 一起来看看看呗 1 在lvi sam的feature tracker nod
  • 路由器硬件组成

    和其他计算机一样 xff0c 运行着baiIOS的路由器也包含了一个 中央处理器 CPU 不同系列和型号的路由器 xff0c CPU也不尽相同 路由器的处理器负责执行处理数据包所需的工作 xff0c 比如维护路由和桥接所需的各种表格以及作出
  • 系统调用与库函数的关系

    系统调用与库函数 1 系统调用 操作系统负责管理和分配所有的计算机资源 为了更好地服务于应用程序 xff0c 操作系统提供了一组特殊接口 系统调用 通过这组接口用户程序可以使用操作系统内核提供的各种功能 例如分配内存 创建进程 实现进程之间
  • FPGA中关于“后仿真正常,但上板测试出错”的问题

    FPGA中关于 后仿真正常 xff0c 但上板测试出错 的问题 求助帖 做的是矩阵键盘的扫描程序 xff0c 后仿真的扫描波形正常 xff1a 但上板子测试的时候用chipscope看扫描的波形却是这个样子的 xff1a 有带佬分析一下是什
  • 一张图搞懂数据结构体系——数据结构脑图

    基本概念 xff1a 数据 xff1a 数据是信息的载体 xff0c 是计算机程序加工的原料 数据元素 xff1a 是数据的基本单位 xff0c 也称元素 结点 数据结构 xff1a 是数据之间的相互关系 xff0c 是数据的组织形式 xf
  • 【入门篇】ESP8266直连智能音箱(天猫精灵)控制智能灯

    本系列博客学习由非官方人员 刘一周 潜心所力所写 xff0c 仅仅做个人技术交流分享 xff0c 不做任何商业用途 如有不对之处 xff0c 请留言 xff0c 本人及时更改 本系列博客内容是通过乐鑫ESP8266直连天猫精灵 xff0c
  • 如何进行CAN总线高效测试?

    CAN总线自BOSCH公司发明以来 xff0c 在汽车通信网络中的应用得到了广泛认可 随着汽车电子技术的发展 xff0c 车上的电子模块越来越多 xff0c 汽车内部的CAN总线节点也随之增多 一般汽车内部CAN节点少则10个 xff0c
  • keil5 中文注释

    keil5 中文注释 点击 Edit gt configuration 如下图 xff1a 在Editor界面中选择Encoding xff0c 如下图 xff0c 这三个均可显示中文注释 xff0c 推荐第一个 xff0c 保持Keil代
  • 【CMake学习】list使用

    添加链接描述 一 介绍 cmake的list命令即对列表的一系列操作 xff0c cmake中的列表变量是用分号 分隔的一组字符串 xff0c 创建列表可以使用set命令 xff08 参考set命令 xff09 xff0c 例如 xff1a
  • 【ros+movros安装与飞控连接测试,pixhawk2.4.8】

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 ros安装二 mavros总结 前言 记一下装ros和movros的过程顺便把一些重要的链接保存一些 提示 xff1a
  • 使用docker发布.net应用

    步骤 xff1a 创建 NET应用样例 创建包含生成 NET镜像所需引导的Dockerfile 构建一个镜像并基于此创建一个容器 设置容器数据卷和网络设置 使用Docker Compose编排容器 使用容器构建开发坏境 创建镜像 先决条件
  • python计算机视觉--全景图像拼接

    目录 一 RANSAC算法 1 1 RANSAC算法简介 1 2 算法基本思想和流程 1 3 RANSAC求解单应性矩阵 二 图像映射与全景拼接 2 1 简介 2 2 计算第二张图像与第一张图像之间的变换关系 2 3 将第二张图像叠加到第一
  • px4自带教程offboard下的gazebo多无人机编队仿真

    px4自带教程offboard下的gazebo多无人机编队仿真 主要教程参考这篇文章 xff0c offboard代码也源自下面链接 xff0c 增加了其他文件的配置细节 xff0c 链接如下 xff1a https blog csdn n