![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PX4代码
文章平均质量分 62
小火炉飞
这个作者很懒,什么都没留下…
展开
-
PX4的代码测试
PX4的代码测试写完代码总要测试一下吧,自己先测试一下,怎么用Test呢?官方关于测试的概括说明:Platform Testing and Continuous Integration | PX4 User Guidehttp://docs.px4.io/master/en/test_and_ci/单元测试说明:http://docs.px4.io/master/en/test_and_ci/unit_tests.html#unit-testsPX4的测试有:飞行测试单元测试集成测试原创 2022-04-19 17:26:51 · 448 阅读 · 0 评论 -
PX4输出限制状态机output_limit
1. 参数__EXPORT void output_limit_calc(const bool armed, const bool pre_armed, const unsigned num_channels, const uint16_t reverse_mask, const uint16_t *disarmed_output, const uint16_t *min_out原创 2022-01-10 22:39:30 · 369 阅读 · 0 评论 -
PX4阅读开发小技巧
1 基操本文件搜索全局搜索后退前进ctrl+p,搜索文件名右键,书签功能(ctrl+单击) / F12,转到定义大纲视图vscode的Open Folder插件搜索文件夹名2 利用测试代码帮助理解测试代码是为了测试本模块代码是否正确,会给定一些输入,并判断其输出与预期输出是否一致。例如:src/modules/mc_att_control/AttitudeControl/AttitudeControlTest.cpp就测试了多旋翼姿态控制算法是否正确。测试代码书写简单明了,能原创 2022-01-05 22:56:25 · 603 阅读 · 0 评论 -
PX4的mix文件是怎么被使用的呢?
启动怎么到启动这里的就不说了2 作为MIXER_FILE被mixer load的src/systemcmds/mixer/mixer.cpp实现mixer loadMixer load调用函数:load(const char *devname, const char *fname, bool append)3 将mix文件传给设备然后调用int load_mixer_file(const char *fname, char *buf, unsigned maxlen),将文件加载到buff原创 2022-01-05 22:32:27 · 1053 阅读 · 0 评论 -
px4的PWM是如何输出的
如果有io芯片,且使用了io作为输出PWM的设备则fmu将mixer传输给io,io进行混控计算并输出PWM,将pwm结果传递回fmu,此时无app订阅acuator_outpus,就是给人看的。// src/drivers/px4io/px4io.cpp /* fetch PWM outputs from IO */ io_publish_pwm_outputs();在px4iofirmware和pwm_out中都使用函数up_pwm_serv原创 2022-01-05 22:06:59 · 2287 阅读 · 2 评论 -
PX4中IMU传感器的数据经过了哪些处理后被使用的?
注:所用PX4的代码版本为当前master最新版9e309f62a9b1731caae96000b824aa96661e67ad2019年11月所写,新版本有所不同,尚未更新。IMU的数据:加速度、角速度发布后被两个地方所使用:1,导航算法;2,控制算法以加速度数据为例说明IMU到导航算法ekf2经过了哪些处理ekf2使用了sensor_combined中的数据进行导航解算。此主题在src/modules/sensors/sensors.cpp中publish。_sensor_pub.publi原创 2021-12-20 19:37:15 · 2383 阅读 · 0 评论 -
PX4调试过程中的小问题
使用USB直连飞控可以开始校准,但是用无线的方式开始任一传感器的校准都报错:Transition denied: SHUTDOWN to INIT。明明飞控正常上电,也许报了个错说“critical battery”你没注意。这时候你可以检查一下POWER的设置,电池cell数,电量是不是还足。改正后再去校准就不报错了。电量不足时,系统处于SHUTDOWN模式,不能做任何事?...原创 2021-12-17 23:02:10 · 429 阅读 · 0 评论 -
PX4中串口名称、设备名称、端口名称对应关系
这里规定了各种uart/usart的波特率、bufsize等配置,boards/px4/fmu-v5/nuttx-config/nsh/defconfigCONFIG_STM32F7_UART4=yCONFIG_UART4_BAUD=57600CONFIG_UART4_RXBUFSIZE=600CONFIG_UART4_RXDMA=yCONFIG_UART4_TXBUFSIZE=1500在每一种板子的default.cmake中定义了串口名称与ttys的对应关系(例如,pixhawk.原创 2021-12-17 09:43:47 · 869 阅读 · 0 评论 -
对PX4参数THR_MDL_FAC的理解
对参数THR_MDL_FAC的理解/home/wp/src/PX/Firmware/src/lib/mixer_module/mixer_module.hpp这里引入了参数THR_MDL_FAC的使用 DEFINE_PARAMETERS( (ParamInt<px4::params::MC_AIRMODE>) _param_mc_airmode, ///< mult...原创 2019-11-28 14:08:53 · 632 阅读 · 1 评论 -
PX4检查位置速度有效性
在Commander::check_posvel_validity函数中检查位置速度有效性检查项目有3个:数据有效性,valid; 判断距离上一次有效的时间间隔或时间戳是否为0; 检查精度因子是否达到期望的精度。最后在加上时间校验。 // Check accuracy with hysteresis in both test level and time if (l...原创 2019-07-13 23:58:59 · 469 阅读 · 0 评论