172808 2025-11-27 20:37 采纳率: 0%
浏览 8

PreArm: VisOdom: not healthy

img

img


这个报错不知道怎么解决,光流为微空的MTF-01P(auto),硬件连接没有问题,飞控为雷迅的7nano飞控,使用的是四旋翼最新固件,飞控可以接收光流模块传回来的数据

  • 写回答

3条回答 默认 最新

  • 阿里嘎多学长 2025-11-27 20:40
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    问题分析

    根据你的描述,报错信息是 "PreArm: VisOdom: not healthy",这通常是指视觉odom(视觉定位系统)不健康。光流模块为微空的MTF-01P,硬件连接正常,飞控为雷迅的7nano飞控,使用最新固件,且可以接收光流模块的数据。

    解决方案

    1. 检查光流模块的连接和设置:确保光流模块的连接正常,且设置正确。
    2. 检查飞控的固件版本:确保飞控的固件版本是最新的,且支持光流模块。
    3. 检查视觉odom的配置:检查视觉odom的配置是否正确,包括光流模块的参数设置。
    4. 尝试重启飞控和光流模块:重启飞控和光流模块,检查是否可以正常工作。
    5. 检查光流模块的数据:检查光流模块传回来的数据是否正常,是否有异常值。

    核心代码

    // 检查光流模块的连接和设置
    if (check_light_flow_module_connection() && check_light_flow_module_setting()) {
        // 检查飞控的固件版本
        if (check_fly_control_firmware_version()) {
            // 检查视觉odom的配置
            if (check_vis_odom_config()) {
                // 重启飞控和光流模块
                restart_fly_control_and_light_flow_module();
                // 检查光流模块的数据
                check_light_flow_module_data();
            } else {
                // 视觉odom配置错误
                printf("VisOdom config error\n");
            }
        } else {
            // 飞控固件版本错误
            printf("Fly control firmware version error\n");
        }
    } else {
        // 光流模块连接或设置错误
        printf("Light flow module connection or setting error\n");
    }
    

    注意

    上述代码仅为示例,具体实现需要根据实际情况进行调整。

    评论

报告相同问题?

问题事件

  • 创建了问题 11月27日