【PX4仿真】使用PX4+Gazebo+MAVROS+ROS进行无人机仿真中提高IMU消息频率的方法

这篇具有很好参考价值的文章主要介绍了【PX4仿真】使用PX4+Gazebo+MAVROS+ROS进行无人机仿真中提高IMU消息频率的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在无人机仿真中,IMU(惯性测量单元)消息频率对于路径规划和感知的仿真至关重要。然而,在使用PX4+Gazebo+MAVROS+ROS进行仿真时,可能会遇到频率受限的情况。本文将介绍如何提高IMU消息频率。

通过以下命令可以查看到IMU消息的发布频率

rostopic hz /mavros/imu/data_raw

通常情况下固定在50Hz。
然而,通过gz topic --hz /gazebo/default/iris/imu命令查看到在Gazebo仿真环境中,IMU消息的频率可能会达到800~1000Hz,远高于ROS中的消息频率。

经过查询资料发现需要通过调整MAVROS节点的参数来提高IMU消息的发布频率(https://github.com/mavlink/mavros/issues/1455)。具体步骤如下:

  1. 首先,我们需要知道IMU消息在MAVLink中的ID。通过查询MavLink文档(https://mavlink.io/en/messages/common.html),我们可以得知IMU对应的ID为HIGHRES_IMU (#105)
  2. 使用rosservice call /mavros/set_message_interval命令来设置消息发布频率。例如,要将IMU消息的频率修改为200Hz,可以执行以下命令:
rosservice call /mavros/set_message_interval 105 200

执行完上述命令后,如果终端显示success: True,表示设置成功。

  1. 最后,通过rostopic hz /mavros/imu/data_raw命令再次查看IMU消息的频率,应该会看到频率已经提高。

通过第三部可以成功提高IMU消息的发布频率,但是我的电脑上显示频率为125Hz,并非200Hz。

我试了多组数值,如果设置/mavros/set_message_interval为150或者180,IMU频率可以到达148Hz左右,如果设置为500或者100,IMU频率可以到达230Hz左右。这一点具体的原因还没有查明,如果有懂的大佬可以在评论区留言交流。

注:若要修改/mavros/imu/data的频率,修改ATTITUDE_QUATERNION ( #31 )的interval即可。
鉴于每次重启仿真,都需要重新执行指令,会比较麻烦,所以可以写成脚本,并且加入launch文件中。

#!/usr/bin/env python
import rospy
from mavros_msgs.srv import MessageInterval

def set_message_interval():
    rospy.init_node('set_message_interval_client')
    rospy.wait_for_service('/mavros/set_message_interval')
    try:
        set_interval = rospy.ServiceProxy('/mavros/set_message_interval', MessageInterval)
        resp = set_interval(105, 1000)
        print("Set /mavros/imu/data_raw message interval: %s" % resp.success)
        resp = set_interval(31, 1000)
        print("Set /mavros/imu/data message interval: %s" % resp.success)

    except rospy.ServiceException as e:
        print("Service call failed: %s" % e)

if __name__ == "__main__":
    set_message_interval()

在仿真启动的launch文件添加下面的内容(将package换成自己的名称)文章来源地址https://www.toymoban.com/news/detail-850963.html

<launch>
    <node name="set_message_interval_node" pkg="YOUR_PACKAGE_NAME" type="set_message_interval.py" output="screen"/>
</launch>

到了这里,关于【PX4仿真】使用PX4+Gazebo+MAVROS+ROS进行无人机仿真中提高IMU消息频率的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 无人机仿真—PX4编译,gazebo仿真及简单off board控制模式下无人机起飞

    在上篇记录中,已经对整体的PX4仿真环境有了一定的了解,现如今就要开始对无人机进行起飞等仿真环境工作,在整体虚拟环境中如果程序能够安稳起飞降落,即可对无人机进行实飞操作。 需要做的是,通过PX4官网提供的基本程序包,在ROS工作空间下新建程序包对其进行运行

    2024年02月03日
    浏览(36)
  • px4+gazebo无人机仿真,定点起飞,y=x²轨迹飞行

    目录 一、创建工作空间 1.创建工作空间 catkin_ws 2.编译工作空间 catkin_make 二、offboard位置控制定点起飞 1.准备工作 2.启动 三、offboard位置控制y=x²轨迹飞行 参考ROS学习--第3篇:ROS基础---创建工作空间 打开终端,创建src文件夹: 进入src文件夹: 初始化文件夹: 进入catkin_ws文件

    2024年02月05日
    浏览(31)
  • PX4+gazebo仿真中给无人机添加相机,以及改变相机的位姿

    找到你的需要运行的lauch文件,例如mavros_posix_sitl.lauch,编辑(最好先备份一份)。  修改sdf部分(也就是添加一个传感器给无人机),传感器模块路径,选择一个相机(本文选择的是iris_depth_camera):  根据选择的相机修改launch文件,如下: 保存后运行roslauch  mavros_posix_sitl.la

    2024年04月11日
    浏览(37)
  • ROS-基于PX4的无人机SLAM建图(Cartographer)仿真

    首先在电脑上安装好Ubuntu系统和ROS系统,我安装的是Ubuntu18.04和ROS Melodic,不同的Ubuntu版本对应不同的ROS版本 ROS发布日期 ROS版本 停止支持日期 对应Ubuntu版本 2018年5月23日 ROS Melodic Morenia 2023年5月 Ubuntu 18.04 2016年5月23日 ROS Kinetic Kame 2021年4月 Ubuntu 16.04 (Xenial) Ubuntu 15.10 (Wily) 201

    2024年02月15日
    浏览(31)
  • 【PX4-AutoPilot教程-TIPS】PX4控制无人机在Gazebo中飞行时由于视角跟随无人机在画面中心导致视角乱晃的解决方法

    无人机在Gazebo中飞行时,无人机始终处于画面中央,会带着视角乱晃,在Gazebo中进行任何操作视角都无法固定。 观察Gazebo左侧World栏GUI选项,发现有一个track_visual项,这个是Gazebo中的跟随视角,跟踪目标是无人机iris,但是手动点击无法取消,设置Gazebo使用FOLLOW选项跟随其他目

    2024年02月22日
    浏览(59)
  • 【PX4-AutoPilot教程-Offboard】MAVROS功能包控制无人机进入offboard模式飞行官方例程(C++实现)

    主要介绍如何通过MAVROS功能包的offboard模式控制gazebo中的飞机起飞到高度两米。 首先建立工作空间,这里建立一个名为 uav_demo_ws 的工作空间。 之后创建功能包,这里命名为 offboard_run 。 建立C++脚本作为这个功能包的执行文件。 把官方代码复制到这个文件里面,保存退出。

    2024年02月04日
    浏览(40)
  • Ubuntu PX4无人机仿真环境配置

     目录 一、VM虚拟机安装ubuntu18.04   1、VMware安装   2、新建虚拟机 二、Ubuntu系统配置   1、更改软件安装源   2、安装中文输入法 三、PX4环境搭建   1、安装git   2、下载px4源码   3、安装ROS   4、安装MAVROS   5、安装QGC   6、仿真测试 四、其他工具安装   1、VScode安装      

    2024年02月02日
    浏览(33)
  • ubuntu搭建PX4无人机仿真环境(4) —— 仿真环境搭建

    前言 在搭建之前,需要把 ROS、MAVROS、QGC 等基础环境安装配置完成。大家可以参考我之前的教程 本次安装是以 px4 v1.13.2 为例。 我的配置如下: 虚拟机 Ubuntu 18.04 (运行内存 4G、硬盘内存 80G) 、ROS melodic 、最新版 QGC 建议安装之前可以先看看这个 👉 ubuntu搭建PX4无人机仿真环境

    2024年02月15日
    浏览(46)
  • (最新)ubuntu搭建PX4无人机仿真环境(4) —— 仿真环境搭建

    前言 在搭建之前,需要把 ROS、MAVROS、QGC 等基础环境安装配置完成。大家可以参考我之前的教程 本次安装是以 px4 v1.13.2 为例。 我的配置如下: 虚拟机 Ubuntu 18.04 (运行内存 4G、硬盘内存 80G) 、ROS melodic 、最新版 QGC 建议安装之前可以先看看这个 👉 ubuntu搭建PX4无人机仿真环境

    2024年02月09日
    浏览(31)
  • 【PX4】Ubuntu20.04+ROS Noetic 配置PX4-v1.13和Gazebo11联合仿真环境【教程】

    写在前面,目前中文互联网上关于 PX4 飞控的学习资料较少,笔者查阅了大量的资料整理成这篇博客,贡献一些学习内容,码字不易,如果帮助到您,请您帮我点点赞。 安装Ubuntu可以查看这篇教程,安装ros可以查看这篇教程,这里就不再赘述了。 ● 在使用apt安装的过程中(

    2024年02月08日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包