mavros订阅PX4的定高激光以及悬停油门估计数据

2023-05-16

借用已有的Altitude这个话题发布定高数据和基础油门估计

备注:v.1.11.3之后的PX4固件才加入了基础油门估计。


src/modules/mavlink/mavlink_messages.cppclass MavlinkStreamAltitude : public MavlinkStream函数里面
修改增加部分如下:

	uORB::Subscription _local_pos_sub{ORB_ID(vehicle_local_position)};
	uORB::Subscription _home_sub{ORB_ID(home_position)};
	uORB::Subscription _air_data_sub{ORB_ID(vehicle_air_data)};

	//wzy
    uORB::Subscription _hover_thrust_estimate_sub{ORB_ID(hover_thrust_estimate)};
    uORB::Subscription _distance_sensor_sub{ORB_ID(distance_sensor)};

	/* do not allow top copying this class */
	MavlinkStreamAltitude(MavlinkStreamAltitude &) = delete;
	MavlinkStreamAltitude &operator = (const MavlinkStreamAltitude &) = delete;

以及

		//wzy
        hover_thrust_estimate_s thrust_estimate;
		_hover_thrust_estimate_sub.copy(&thrust_estimate);
		msg.altitude_amsl = thrust_estimate.hover_thrust;
        //wzy
        distance_sensor_s distanceSensor;
        _distance_sensor_sub.copy(&distanceSensor);
        msg.altitude_local = distanceSensor.current_distance;

		// local position timeout after 10 ms
		// avoid publishing only baro altitude_monotonic if possible
		bool lpos_timeout = (hrt_elapsed_time(&local_pos.timestamp) > 10_ms);

		if (lpos_updated || (air_data_updated && lpos_timeout)) {
			msg.time_usec = hrt_absolute_time();
			mavlink_msg_altitude_send_struct(_mavlink->get_channel(), &msg);

			return true;
		}

		return false;

另外,为了增加该话题的发布速度,修改src/modules/mavlink/mavlink_main.cpp的如下部分修改

case MAVLINK_MODE_ONBOARD:
		// Note: streams requiring low latency come first
		configure_stream_local("TIMESYNC", 10.0f);
		configure_stream_local("CAMERA_TRIGGER", unlimited_rate);
		configure_stream_local("HIGHRES_IMU", 50.0f);
		configure_stream_local("LOCAL_POSITION_NED", 30.0f);
		configure_stream_local("ATTITUDE", 100.0f);
//		configure_stream_local("ALTITUDE", 10.0f);
		configure_stream_local("ALTITUDE", 30.0f);//wzy
		configure_stream_local("DISTANCE_SENSOR", 10.0f);
		configure_stream_local("MOUNT_ORIENTATION", 10.0f);
		configure_stream_local("OBSTACLE_DISTANCE", 10.0f);
		configure_stream_local("ODOMETRY", 30.0f);

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

mavros订阅PX4的定高激光以及悬停油门估计数据 的相关文章

  • 使用memoize解决PEG解析器无法左递归的问题

    本篇文章是个人对 Guido 有关 Packrat PEG 解析器文章的处理左递归部分的理解和总结 左递归 众所周知 xff0c PEG 解析器的一个缺陷就在于无法解析具有左递归的文法 xff0c 而大多数情况下 xff0c CFG 使用左
  • 观测器计算频率与效果对比

    文章目录 速度环内计算 8KHz 速度环内计算 xff0c 加400Hz低通滤波相位延迟 电流环内计算 16KHz 观测器带宽160Hz xff0c 800HzLPF观测器带宽236Hz xff0c 无LPF观测器带宽236Hz xff0c
  • Docker 10张图带你深入理解Docker容器和镜像

    这篇文章希望能够帮助读者深入理解Docker的命令 xff0c 还有容器 xff08 container xff09 和镜像 xff08 image xff09 之间的区别 xff0c 并深入探讨容器和运行中的容器之间的区别 题外话 xff
  • Nginx 多进程模型

    Nginx 整体结构 Nginx运行在企业内网的边缘节点 xff0c 也就是最外层 xff0c 也就是边缘节点 它处理的流量是其他应用服务器处理流量的数倍 xff0c 甚至是几个数量级 在应用场景下所有的问题都会被放大 所以有必要去了解ma
  • 海康威视SDK 整合到springboot(二)

    上篇连接 xff1a 海康威视SDK告警上传功能整合到springboot xff08 一 xff09 上篇的只是兼容Windows系统 xff0c 此篇写兼容windos和Linux的一个整合 还是下载好sdk xff0c 将所需的so文
  • JS手写防抖与节流

    1 概念 xff1a 防抖 xff1a 指定内只执行一次 xff0c 如果指定时间内再次被触发 xff0c 则重新开始计时 实现主要需要利用闭包 xff0c 定时器 xff0c arguments和this指向 xff0c 立即执行 节流
  • QT 读取txt文件的几种方法

    废话不说直接上代码 xff11 xff0e 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 QString displayString QFile file 34 home alvin text txt 34 if
  • socket本地多进程通信基本使用方法和示例

    目录 前言 xff1a socket是什么 socket基本原理框图 socket基本函数 1 socket 函数 2 bind 函数 3 connect 函数 4 listen 函数 5 accept 函数 6 read write se
  • STM32串口读取一帧数据USART_IT_IDLE

    stm32 串口读取数据中断 USART IT RXNE xff1a 读取到一个数据产生中断USART IT IDLE xff1a 读取到一帧数据产生中断 以前串口读取一帧数据的方法 xff1a 收到数据后重置定时器的值 xff0c 等到定
  • Vivado连不上目标板(Target)

    可能是Vivado没把JTAG驱动装上 xff0c JTAG驱动在Vivado安装目录X Xilinx Vivado 2015 4 data xicom cable drivers nt64 digilent xff0c 双击install
  • 图解跨域请求、反向代理原理,对前端更友好的反向代理服务器 - Caddy

    写在开头 本文采用图文解析 结合实战的方式进行网络原理解析 xff0c 帮助大家去掌握一些网络知识 xff0c 并了解 Caddy 的基本使用 xff08 见下图 xff09 本人计划在近几年将持续输出深度好文 xff0c 如果对这类文章感
  • java toString()方法的使用和详解

    java toString方法是使用和详解 1 toString 方法2 通过java lang Object类的toString 定义来看实际使用中会出现什么情况 xff1f 1 toString 方法 toString 方法在Objec
  • vscode使用git

    1 找到项目路径 打开gitbash输入 git config global user name 34 your name 34 git config global user email 34 your email address 34 2
  • Logback

    logback logback 与 log4f出自同一作者 logback是作者对log4j的升级 它实现了slf4j slf4j是 simple log face for java 的缩写 我们要入门logback 搞懂几个核心类就可了
  • 取消与关闭

    取消与关闭 两方面 1 线程池的关闭 线程池的关闭 线程池给了两个方法 一个是shutdown 一个是shutdownnow 前者会把队里的任务给执行完 xff0c 且拒绝再进来的任务 而后者会将队里没有执行的任务返回 xff0c 且让正在
  • Linux 的文件的基本属性

    Linux 的文件的基本属性 1 两个指令 chown 修该所属用户与组合 chmod 修改用户的权限 首先这两个指令很重要 xff0c 我们以后会经常用到 xff0c 其次 xff0c 这两个指令也引出的两个概念 一个文件一定属于某个用户
  • Linux的用户和用户组

    Linux的用户和用户组 两个文件 我们学习Linux的用户和用户组可以从两个文件开始 1 passwd 如上图 这个配置文件 在 etc passwd路径下 每一行表示一个用户 1 1 每一行的结构 user name x uId gId
  • kalibr安装采坑过程

    前言 有两种方式进行kalibr标定 一种是编译好的kelibr cde xff0c 另一种是源码编译 xff0c 使用rosrun运行 我推荐源码安装方式 一 kalibr cde方式 想使用kalibr cde见如下过程 软件 我使用了
  • Linux 系统目录结构

    Linux 系统目录结构 虽然最近一直在使用docker来部署一些中间件或者服务 xff0c 但是还是会在宿主机中创建一些挂载 xff0c 这就涉及到我们应该把这些挂载文件放在哪里比较合适的问题 现在我们来认识下Linux的系统目录结构 先
  • 克拉拉与太阳

    克拉拉与太阳 当乔西要去读大学 xff0c 最后一次拥抱了克拉拉后离开 xff0c 我他妈真的哭了 克拉拉不应该是只是一个东西 xff0c 不应该被用完后就被抛弃 xff0c 不应该这样的 fuck the world 克拉拉最后独自在堆厂

随机推荐

  • 动物农村 读后感

    pig 在读完1984后 xff0c 我又马不停蹄的翻开了 动物农场 我怀恋苏联 xff0c 我觉得那是一个美丽的梦 xff0c 哪个国家所有的一切都属于人民 我想从这本书里找到红色梦想破碎的答案 农场里的动物在一天受到了老上校的思想启蒙
  • 哈士奇与藤原拓海

    哈士奇与藤原拓海 有的哈士奇是悲伤的 当我看到它的时候 xff0c 它像一摊被雨淋过的泥巴 xff0c 有气无力的趴着 它很瘦弱 xff0c 有几团毛似乎要脱落了 我蹲下来 xff0c 它只撇了我一眼 xff0c 它的眼睛是蓝色的 xff0
  • docker 镜像的复制

    docker 镜像的复制 有时候我们打的镜像需要从一台服务器传到另一台服务器 xff0c 但是奈何公司的服务器是只能连接内网的 这时候我们就需要能对docker的镜像进行复制 粘贴 整体思路就是 先在本地对镜像打包 然后通过ftp工具传到
  • FastDFS 搭建与客户端编写

    FastDFS 搭建与客户端编写 文件服务器 服务器搭建 https github com qbanxiaoli fastdfs 客户端编写 依赖 span class token tag span class token tag span
  • Linux 常用命令

    常用命令 1 yum 1 1 简介 yum 全称 xff08 Yellow dog Updater Modified 他是一个sheel前端软件包管理器 基于RPM包管理 xff0c 能够从指定的服务器自动下载RPM包并且安装 xff0c
  • 面对idea无厘头问题的两板斧

    1 啥都正常但是飘红 今天工程 所有import都飘红 但是 编译和运行都正常 解决 File gt Invalide Cache 2 工程结构不能识别 在idea中工程目录信息是控制在 idea 文件夹下面的 xff0c 有时候我们在一个
  • 开发中遇到的英语单词

    工作英语 metrics 指标resiliency 弹性 exchange 交换机 本来是交换 但是在系统中可以理解为邮局 即接受消息并发送消息的地方fuss 麻烦primitive 原始的 简陋的declarative 声明式的Relay
  • 来简单认识下简单的布隆过滤器

    布隆过滤器 1 简介 布隆过滤器是一种数据结构 主要由 一个 bit数组和一组hash函数组成 1 1优点 占用空间小 xff0c 效率高 1 2缺点 对于判断存在 是一个概率事件 而不是确定事件 2 作用 用来告诉我们 某个量 在一个量很
  • Gazebo 9 参考手册

    Gazebo参考文档 gazebo plugin参数含义
  • 手写一个布隆过滤器

    span class token keyword public span span class token keyword class span span class token class name BloomFilter span sp
  • INVALID TASK ‘.TEST.SKIP=TRUE’: YOU MUST SPECIFY A VALID LIFECYCLE PHASE […]

    问题 当我们在用如下命令行进行编译时 mvn Dmavne test skip span class token operator 61 span ture clean span class token function install s
  • 回到Zookeeper

    回到Zookeeper 1 藕花深处 平时会花时间学习Redis RocketMQ Motan Dubbo xff0c Kafka等中间件 xff0c 它们各有各的概念 xff0c 各有各的用途 我自认为自己在编程学习上并没有什么天分 xf
  • ChatGPT帮我实现LRU

    1 内存受限 不知道从什么时候开始 xff0c 什么东西都有了限制 xff0c 一个咖啡杯只能装下500ml水 xff0c 一块新买的内存也被标好了容量 xff0c 姑娘的心里再装不下另一个人 xff0c 我开始怀疑有什么东西是可以无限的
  • ACK 与外星文明进行交流

    一段故事 在 三体 第三部中 xff0c 蓝色空间号和万有引力号上的船员从三维空间进入四维空间 xff0c 看到了宏伟的四维建筑 xff0c 并与它们进行了交流 让我们来看一段原文 按照计划 xff0c 卓文用中频电波发送了一个问候语 这是
  • 预写日志 做一个靠谱的男人

    书接上回 我们在之前的一篇文章 ACK 与外星文明交流 中针对一个问题 两个节点之间的通信不可靠 提出了ack的解决方案 现在 我们为了消息能原子性和持久性的落盘 也面临一个问题 假如一条要写入磁盘的信息写到一半 xff0c 机器崩溃了怎么
  • 下载任意版本vmware对应的vmware tools

    参考博客 xff1a https baijiahao baidu com s id 61 1636060669707508136 amp wfr 61 spider amp for 61 pc 网址 xff1a http softwareu
  • 荣耀 MagicBook Pro 加装固态硬盘

    电脑于2019年10月1日在华为天猫官方商城抢购 xff0c 6099 机器配置 xff1a 咨询华为商城的客服 xff0c 得到的回复 xff1a 荣耀 MagicBook Pro 最大可以扩展 HDD 2TB xff0c 可以更换 SS
  • linux下usb无线网卡对比

    2021年12月23日 冬月二十 xff0c 天晴 xff0c 微风 一 使用场景 1 xff0c 由于软件开发需要用到linux系统 xff0c 嵌入式设备nvidia xavier没有无线网卡 xff0c 需要自购 2 xff0c 另外
  • 树莓派安装花生壳软件 phddns ,没有显示SN码

    树莓派型号 xff1a Pi4B 2G 树莓派系统版本 xff1a uname a Linux raspberrypi 5 10 103 v7l 43 1529 SMP Tue Mar 8 12 24 00 GMT 2022 armv7l
  • mavros订阅PX4的定高激光以及悬停油门估计数据

    借用已有的Altitude这个话题发布定高数据和基础油门估计 备注 xff1a v 1 11 3之后的PX4固件才加入了基础油门估计 在src modules mavlink mavlink messages cpp的class Mavli