打印_battery_status.scale

2023-05-16

    在px4的姿态控制中,publish控制量时代码乘以了一个_battery_status.scale,

                                        /* scale effort by battery status */
				if (_params.bat_scale_en && _battery_status.scale > 0.0f) {
					for (int i = 0; i < 4; i++) {
						_actuators.control[i] *= _battery_status.scale;
					}
				}

不知道代表什么意思,于是想办法把它打印出来,借用洛神提供的ubantu14.04编译环境,地址(https://github.com/luoshi006/luoshi006_communication/blob/master/CSDN_blog/PX4/PX4%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%EF%BC%88Ubuntu%201404%EF%BC%89.md),这个编译环境提供了很多有用的工具。这里采用px4提供的px4_simple_app打印,编译上传到飞控后,将飞控和地面站qgc连接;将电池经降压模块降压后连接到飞控,通过地面站的nsh运行px4_simple_app输出结果输出结果

代码:

__EXPORT int px4_simple_app_main(int argc, char *argv[]);
int px4_simple_app_main(int argc, char *argv[])
{
	PX4_INFO("Hello Sky!");
        int _actuators_0_sub = orb_subscribe(ORB_ID(actuator_controls_0));
        int _battery_status_sub = orb_subscribe(ORB_ID(battery_status));
	    struct battery_status_s	_battery_status;
        struct actuator_controls_s	_actuators01;
        orb_copy(ORB_ID(battery_status), _battery_status_sub, &_battery_status);
        orb_copy(ORB_ID(actuator_controls_0), _actuators_0_sub, &_actuators01);
        bool updated;
	orb_check(_battery_status_sub, &updated);
	 if (updated) {
               orb_copy(ORB_ID(battery_status), _battery_status_sub, &_battery_status);
	           }
     orb_check(_actuators_0_sub, &updated);
	 if (updated) {
               orb_copy(ORB_ID(actuator_controls_0), _actuators_0_sub, &_actuators01);
	           }
        static int error_counter = 1;
        int counter =1;
        while (counter < 2)
             {  
                   if (error_counter == 1)
                         {   error_counter ++;
                         }
                   else if (error_counter <= 500)
                         {   error_counter ++;
                         }
                      else 
                         {   error_counter = 1;
                                    counter++;
                         PX4_INFO("_actuators01.control:\t%8.4f\t%8.4f\t%8.4f\t%8.4f\n",
					             (double)_actuators01.control[0],
					             (double)_actuators01.control[1],
					             (double)_actuators01.control[2],
                                 (double)_actuators01.control[3]);
                         PX4_INFO("_battery_status.scale:\t%8.4f\t%8.4f\n",
                            (double)_battery_status.scale ,                                
                            (double)_battery_status.voltage_filtered_v);
                                             
                             for (int i = 0; i < 4; i++){
	                         PX4_INFO("_actuators01.control/_battery_status.scale:\t%8.4f\n",                                     
		                         (double)_actuators01.control[i]/(double)_battery_status.scale
                                          );
                            }
                      }                         
	    }
	PX4_INFO("exiting");

	return 0;
}

截取的结果:

12.6V

INFO  [px4_simple_app] _actuators01.control:    -0.0273  -0.0129  -1.0473    0.0000

INFO  [px4_simple_app] _battery_status.scale:    1.0909

INFO  [px4_simple_app]_battery_status.voltage_filtered_v:      12.6546

12v(电压表测量结果)

INFO  [px4_simple_app] _actuators01.control:    -0.0256  -0.0145  -1.0472    0.0000

INFO  [px4_simple_app] _battery_status.scale:    1.0909

INFO  [px4_simple_app]_battery_status.voltage_filtered_v:      12.0855

11.55V

NFO  [px4_simple_app] _actuators01.control:     -0.0266  -0.0140  -1.0470    0.0000

INFO  [px4_simple_app] _battery_status.scale:    1.0909

INFO  [px4_simple_app]_battery_status.voltage_filtered_v:      11.6839

11.08V

INFO  [px4_simple_app] _actuators01.control:    -0.0262  -0.0149  -1.0470    0.0000

INFO  [px4_simple_app] _battery_status.scale:    1.0909

INFO  [px4_simple_app]_battery_status.voltage_filtered_v:      11.1986

10.53V

INFO  [px4_simple_app] _actuators01.control:    -0.0256  -0.0161  -1.0470    0.0000

INFO  [px4_simple_app] _battery_status.scale:    1.0909

INFO  [px4_simple_app]_battery_status.voltage_filtered_v:      10.6086

10.03v

INFO  [px4_simple_app] _actuators01.control:    -0.0258  -0.0161  -1.0470    0.0000

INFO  [px4_simple_app] _battery_status.scale:    1.0909

INFO  [px4_simple_app] _battery_status.voltage_filtered_v:      10.1130

9.50v

INFO  [px4_simple_app] _actuators01.control:    -0.0266  -0.0163  -1.0472    0.0000

INFO  [px4_simple_app] _battery_status.scale:    1.0909

INFO  [px4_simple_app]_battery_status.voltage_filtered_v:        9.5028

9.08v

INFO  [px4_simple_app] _actuators01.control:    -0.0289  -0.0146  -1.0475    0.0000

INFO  [px4_simple_app] _battery_status.scale:    1.0909

INFO  [px4_simple_app]_battery_status.voltage_filtered_v:        9.1377

无电池

INFO  [px4_simple_app] _actuators01.control:    -0.0247  -0.0161  -1.0472    0.0000

INFO  [px4_simple_app] _battery_status.scale:    1.0000

INFO  [px4_simple_app]_battery_status.voltage_filtered_v:        0.0000

(有时候会莫名其妙的显示INFO  [px4_simple_app] _battery_status.scale:    0,找不到原因,出现这种情况后,可能摇一摇飞机就好,也可能就一直是0,不知道是bug还是什么原因,希望以后的深入学习会明白吧)

(虽然打印出来了结果,但还不明白为什么这么,可能希望控制量和电池情况有关吧)



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

打印_battery_status.scale 的相关文章

  • JfreeChart 中的自动缩放 Y 轴

    我在用JFreeChart在我的 Java 应用程序中创建蜡烛图 然而 我的图表最终看起来像这样 http imageshack us photo my images 69 capturebhx png http imageshack us
  • ImageView 中心与 ScaleType Matrix 就位

    我正在使用 ImageView 的缩放效果 所以我需要使用scaletype matrix 现在 我想将中心位置设置为 ImageView 但我无法设置它 请帮助我解决这个问题 布局 xml
  • 如何检查用户是否喜欢(+1)网站或网址上的 google+ 按钮?

    如何获取网站或网址上 google 按钮的状态 我正在使用 PHP 不幸的是 这不太可能 REST API 和 PlusOne 按钮本身都没有提供检查用户是否对页面进行 1 的方法 此外 如果您使用 PHP 用户必须首先对自己进行身份验证
  • 客户我的帐户订单历史记录中不显示自定义订单状态

    在 WooCommerce 中 我制作了 2 个自定义订单状态 第一个是 运输状态 另一个是 批准状态 在我将一些订单状态更改为这两个新状态 分别是shipping or approved 客户无法在其订单历史记录页面查看此订单 这是我的代
  • ggplot2scale_x_连续限制或绝对

    我在循环中使用以下 ggplot2 v0 9 scale x continious 逻辑 按县名称 试图将每个县的数据绘制在具有相同 x 比例的单独图上 MaxDays 365 3 p lt p scale x continuous lim
  • 在一个 ggplot 上使用两种比例颜色渐变[重复]

    这个问题在这里已经有答案了 我想将散点图上的点的色阶渐变与绘图上某些文本的色阶渐变结合起来 我可以单独执行它们 如下面的示例所示 但我似乎无法将它们放在一起 有没有办法做到这一点 这是我想要组合的两种类型的图 p 和 p1 的示例代码 l
  • ggplot 的scale_y_log10 行为

    尝试使用绘制堆积直方图ggplot set seed 1 my df lt data frame param runif 10000 0 1 x runif 10000 0 5 1 my df param range lt cut my d
  • 如何在 git checkout 中使用八进制字符?

    我有一个音乐文件的 git 存储库 最近我发现有些文件被删除了 我想我不小心删除了它们 但现在我只是短暂地陶醉于我有先见之明的事实 使用 git 存储库 因此我当前的 git 状态验证它们已被删除 以下是一些清单 deleted Steve
  • ContentObserver 与 BroadCastReceiver:电池使用情况、RAM、CPU?

    由于需要关注应用程序的电池使用情况 RAM 和 CPU 使用情况 因此多个内容观察器与多个广播接收器的费用是多少 示例1 使用 5 个内容观察器以 START STICKY 运行的服务 正确注册 取消注册 示例2 从清单中设置的 5 个广播
  • 在 WooCommerce 管理订单列表中添加自定义操作按钮

    我已关注本说明 https fernandoacosta net blog 2015 06 07 woocommerce adicionar novo status de pedido 为我的 WooCommerce 订单添加自定义订单状态
  • CSS3 缩放变换和溢出问题:在 Safari 上隐藏

    我在 Safari 上遇到缩放变换效果和溢出问题 当我在 div 内容上使用此效果时 溢出在圆形容器上不起作用 这是我的代码 container width 100px height 100px border radius 50 backg
  • 两种长宽比的两种布局(4:3 和 16:9) - 自动更改

    下列的Microsoft 规模指南 http msdn microsoft com en us library windows apps hh780612 aspx有一部分说 设计固定布局时 首先为基线分辨率设计布局 1024x768 和
  • 在ExoPlayer中,到底如何使用SimpleExoPlayer.setVideoScalingMode就像在ImageView center-crop中一样?

    背景 我正在尝试以中心裁剪方式显示视频 就像在 ImageView 上一样 我也希望我能找到如何以其他方式扩展规模 就像上所做的那样这个图书馆 https github com yqritc Android ScalableVideoVie
  • excel+powerpoint 如何决定重新缩放粘贴为图像的范围?

    我注意到 当您复制 Excel 中的范围 复制为图片 如屏幕所示 并将其粘贴到 PowerPoint 中时 生成的图像不会 100 缩放为原始图像 右键单击图像 转到格式设置并转到尺寸以查看比例信息 此外 这种缩放比例在不同的计算机上有所不
  • Linux c++:api 与 /proc 文件?

    我正在开发一个应用程序来收集和发送各种系统信息 分区空间 可用空间 笔记本电脑电池信息等 我没有成功地以直接 c api 的形式获取这些信息 尽管它都可以通过 proc 或类似 中的文件获得 所以 我想知道在我的 C 应用程序中读取 解析这
  • 减法进位标志

    我正在使用 MASM32 有了这个代码 mov eax 5 sub eax 10 CF 状态标志将被设置 但使用我的铅笔和纸 我实际上看到 MSB 没有任何进位 是的 我知道从较少的数字中减去大的数字集CF 但我想知道为什么 因为使用这段代
  • ggplot() 使用scale::percent_format() 缩放产生奇怪的结果

    library tidyverse mtcars gt count cyl gt mutate prop n sum n gt ggplot aes x cyl y prop geom point scale y continuous la
  • onScale 和 Canvas - 缩放图像后如何调整原点?

    我有一个非常简单的测试应用程序 带有自定义组件MyView java https github com afarber android newbie blob master TestScroll src de afarber testscr
  • 如何以编程方式查找Android手机的电池充电时间?

    我想知道我们如何找到 Android 设备将电池充满电需要多长时间 例如 如果我的电池电量为 0 则充满电 即 100 需要多长时间 如果我的设备电量为 70 则相同 因此如果我现在连接充电器 则需要多长时间才能充满我的设备 这对我有用 p
  • CSS3 变换:IE 中的缩放

    我想使用CSS3属性transform scale div transform scale 0 5 0 5 有没有办法在 Internet Explorer 8 及更低版本中模仿这个 可能与filter或者 JavaScript 解决方案

随机推荐

  • STM32F103C8-平衡小车笔记

    STM32F103C8 平衡小车笔记 1 PID的作用 xff08 1 xff09 比例项 xff1a 提高响应速度 xff0c 减小静差 xff08 2 xff09 积分项 xff1a 消除稳态误差 xff08 3 xff09 微分项 x
  • 嵌入式Linux系统开发笔记(十四)

    U Boot环境变量 uboot 中有两个非常重要的环境变量 bootcmd 和 bootargs xff0c bootcmd 和 bootagrs 是采用类似 shell 脚本语言编写的 xff0c 里面有很多的变量引用 xff0c 这些
  • 嵌入式Linux系统开发笔记(十五)

    Linux内核启动验证 5 1 编译内核 span class token comment 清除工程 span span class token comment make distclean span span class token co
  • 基于ROS搭建机器人仿真环境

    别人的发复现及经验 https blog csdn net qq 38620941 article details 125321347 gazebo默认仿真环境 1 gazebo models 是系统下gazebo放置模型库的默认位置 2
  • 嵌入式Linux系统开发笔记(十六)

    根文件系统rootfs启动验证测试 接下来我们使用测试一下前面创建好的根文件系统 rootfs xff0c 测试方法使用 NFS 挂载 6 1 检查是否在Ubuntu主机中安装和开启了NFS服务 xff08 特别注意 xff1a nfs 配
  • 安卓5.0以上7.0以下使用Termux

    参考 xff1a https zhuanlan zhihu com p 400507701 说明 xff1a Termux支持5 0以上的安卓系统 Termux7 3版本之后 xff0c 仅支持7 0以上的安卓系统 1 安装Termux 设
  • 关于DSP的CCS6.0平台下的工程搭建(完全可移植)

    本工程以CCS6 0下新建TMS320F28335工程为例 xff0c 其他系列处理器工程搭建类似 xff0c 参考本例即可 工程搭建用到的F2833x TI官方库文件 下载链接 也可直接参考笔者搭建好CCS6 0的工程 下载链接 所建工程
  • STM32Fxx JTAG/SWD复用功能重映射

    问题描述 xff1a 在实验室调车过程中 xff0c 遇到的一个问题 xff1a 为了每次下载程序方便 xff0c 队员们往往会把 Jlink 插在板子上 xff0c 可是在调车过程中发现 xff0c 有时程序会莫名死掉 xff0c 而同样
  • VS2012编译RTKLIB——GNSS定位开源库

    RTKLIB 开源库 有着强大的 GPS 数据实时和后处理功能 xff0c 由于 笔者的毕业设计中需要对GPS 载波相位观测量进行 RTK 解算 xff0c 故而 xff0c 对 RTKLIB 开源库进行了学习与研究 RTKLIB 提供了很
  • 51单片机串行口波特率计算

    1 工作方式介绍 xff1a 方式 0 xff1a 这种工作方式比较特殊 xff0c 与常见的微型计算机的串行口不同 xff0c 它又叫 同步移位寄存器输出方式 在这种方式下 xff0c 数据从 RXD 端串行输出或输入 xff0c 同步信
  • 数码管显示问题总结

    1 数码管显示原理 我们最常用的是七段式和八段式 LED 数码管 xff0c 八段比七段多了一个小数点 xff0c 其他的基本相同 所谓的八段就是指数码管里有八个小 LED 发光二极管 xff0c 通过控制不同的 LED 的亮灭来显示出不同
  • 单片机与嵌入式linux 比较

    MCU门槛低 xff0c 入门容易 xff0c 但是灵活 xff0c 其实对工程师的软硬件功底要求更高 xff0c 随着半导体的飞速发展 xff0c MCU能实现很多匪夷所思匪夷所思的功能 xff0c 比如 xff0c 使用GPIO模拟1个
  • rtk 精确定位 简介

    RTK又称载波相位差分 xff1a 基准站通过数据链及时将其载波观测量及站坐标信息一同传送给用户站 用户站接收GPS卫星的载波相位与来自基准站的载波相位 xff0c 并组成相位差分观测值进行及时处理 xff0c 能及时给出厘米级的定位结果
  • STM32开发利器:STM32CubeMX

    这篇博客篇幅不长 xff0c 主要是为大家介绍ST公司推出的STM32CubeMX开发工具 xff0c 当成下周更新STM32 10个项目工程的预备篇 xff0c 同时FPGA FPGA 20个例程篇 xff1a 8 SD卡任意地址的读写
  • ROS命名空间

    ROS命令空间是一个很重要的内容 xff0c 官方文档 xff1a http wiki ros org Names 分为三类 xff1a relative xff0c global xff0c private 下边是一个官网给的示例 Nod
  • STM32CubeMX关于添加DSP库的使用

    前言 人生如逆旅 xff0c 我亦是行人 一 介绍 STM32 系列基于专为要求高性能 低成本 低功耗的嵌入式应用专门设计的 ARM Cortex M3 内核 而 DSP 应该是 TMS320 系列 xff0c TMS320 系列 DSP
  • STM32H750VBT6的DSP使用的学习——基于CubeMX

    前言 人生如逆旅 xff0c 我亦是行人 1 STM32H7的DSP功能介绍 xff08 STMicroelectronics xff0c 简称ST xff09 推出新的运算性能创记录的H7系列微控制器 新系列内置STM32平台中存储容量最
  • ROS中激光雷达数据类型传递转换及自定义点云数据类型介绍

    目录 一 ROS中激光雷达数据类型传递转换 xff1b 二 点云数据解析 三 自定义点云数据类型 一 ROS中激光雷达数据类型传递转换 xff1b ROS中涉及激光雷达传递的消息类型有两种 xff0c 一种是针对2D雷达 sensor ms
  • C/C++优秀书籍清单

    转载自 xff1a https www cnblogs com kimiway p 3225767 html 书籍是码农进步的阶梯 读好书 好读书 干一行爱一行 除了工作还有生活 在陪伴家人同时 也不忘提高自己 为更好的生活努力 1 C程序
  • 打印_battery_status.scale

    在px4的姿态控制中 xff0c publish控制量时代码乘以了一个 battery status scale xff0c scale effort by battery status if params bat scale en amp