PX4在使用外部定位下跳出position模式

本文介绍了作者在使用Livox-Mid360进行外部定位时遇到的PX4位置模式异常问题,包括飞控频繁报黄无法解锁。通过分析发现,激光定位数据的毛刺和跳变导致EKF2融合延迟。尝试调整EKF2相关参数并未根本解决问题。最终,作者指出需要在飞控端的ekf融合解算上做修改以适应激光定位的变化,提到了具体的参数如EKF2_EVA_NOISE、EKF2_EVP_NOISE 和 EKF2_EVV_NOISE,并记录了部分调试过程中的日志警告。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前一直使用relsense d435的vio代码生成的pose位置信息,飞控端位置信息比较稳定。更换livox-mid360使用fastlio代码后,飞控端经常出现位置模式下莫名报黄不能解锁和跳出位置模式的情况。
原因:外部输入的位置定位和px4加速度计估计的差别挺大,导致EKF2融合会出现延迟。尤其是在飞机急停或者转弯,px4实际融合的位置会延迟或者超调。大部分帖子给出的解决方式都是通过log分析视觉姿态和飞控姿态的时间差,通过调整ekf2_ev_delay来解决问题。 但是经过测试并没有根本上解决问题
在这里插入图片描述
经过摸索发现,机载端的激光lio数据相对于vio数据毛刺和跳变会更多一些。尤其是四元数部分激变会更多一些,那么问题的解决需要在飞控端的ekf融合解算上做修改来适应激光lio的变化。

在这里插入图片描述
快速旋转时飞控黄色报警,修改EKF2_EVA_NOISE
快速移动时飞控丢失位置,修改EKF2_EVP_NOISE EKF2_EVV_NOISE
飞机端发送了/mavros/vision_pose/pose话题,飞控local_position没有数据,修改EKF2_EV_DELAY

[ WARN]

以下代碼使用toolbar功能后,再點擊toolbar以外的區域時則跳出使用toolbar的狀態: <template> <div style="border: 1px solid #ccc" class="editor-container"> <div class="container"> <Toolbar style="border-bottom: 1px solid #ccc" :editor="editorRef" :defaultConfig="toolbarConfig" :mode="mode" class="toolbar" /> <Editor style="height: 210px;" v-model="valueHtml" :defaultConfig="editorConfig" :mode="mode" @onCreated="handleCreated" class="editor" /> </div> </div> </template> <script> import '@wangeditor/editor/dist/css/style.css' import { onBeforeUnmount, onMounted, ref, watch } from 'vue' import { Editor, Toolbar } from '@wangeditor/editor-for-vue' // 接收來自父組件的 v-model 值 export default { components: { Editor, Toolbar }, props: { modelValue: String }, emits: ['update:modelValue', 'response'], setup(props, { emit }) { const valueHtml = ref(props.modelValue || '<p>hello</p>') const editorRef = ref(null) onMounted(() => { setTimeout(() => { valueHtml.value = '' }, 1500) }) // 監聽 valueHtml 變化,同步給父組件 // 同時發送 response 事件 watch(valueHtml, (newVal) => { if (newVal !== props.modelValue) { emit('update:modelValue', newVal) emit('response', newVal) } }) // 同步父組件的 modelValue 到 valueHtml watch(() => props.modelValue, (newVal) => { if (newVal !== valueHtml.value) { valueHtml.value = newVal } }) onBeforeUnmount(() => { if (editorRef.value) editorRef.value.destroy() }) const handleCreated = (editor) => { editorRef.value = editor } return { valueHtml, editorRef, toolbarConfig: {}, editorConfig: { placeholder: '請輸入內容...' }, mode: 'default', handleCreated } } } </script> <style scoped> .editor-container { position: fixed; top: 56px; bottom: 45px; left: 0; width: 50%; height: 40%; z-index: 999; background-color: #b60000; overflow-y: auto; } .container { display: flex; flex-direction: column; width: 100%; /* 保持原宽度 */ border: 1px solid #ccc; /* 可选:保留容器边框 */ } .toolbar { } .editor { } </style>
最新发布
08-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞同学

随时为您服务

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值