更新于 12月2日

软件开发工程师(飞控方向)

1.2-2.4万
  • 成都成华区
  • 3-5年
  • 本科
  • 全职
  • 招3人

职位描述

无人机控制系统无人机飞控系统船舶/航空/航天/火车制造
一、岗位基本信息
岗位名称
飞控软件开发工程师(Flight Control Software Engineer)
汇报对象
飞控总设计师
协作岗位
算法工程师、硬件工程师、测试工程师
二、岗位目标
负责飞控系统嵌入式软件的开发、调试和优化,基于PX4开源平台进行定制化开发,实现高性能、高可靠的飞行控制功能,确保无人机稳定飞行。
三、核心职责3.1 飞控嵌入式软件开发(40%)职责描述
  • 在Pixhawk 6X(STM32H7)上开发飞控核心模块:
    • 传感器驱动:IMU、磁力计、气压计、GPS等的数据读取和校准
    • 姿态估计:集成/优化EKF2姿态解算模块
    • 控制器实现:将总师设计的控制律转化为C++代码(PID、LQR等)
    • 任务调度:基于NuttX RTOS的实时任务管理
  • 开发自定义功能模块(如特殊传感器支持、行业应用逻辑)
  • 优化代码性能(降低CPU占用、减少延迟)
交付物
  • 可编译运行的PX4固件(.px4文件)
  • 模块源代码(符合PX4代码规范,通过CI/CD检查)
  • 单元测试代码(覆盖率 ≥ 70%)
  • 开发文档(模块接口说明、使用示例)
技术要求
  • 精通C/C++(C++11/14特性)
  • 熟悉PX4架构(uORB消息系统、模块化设计)
  • 理解RTOS基本概念(任务调度、信号量、消息队列)
3.2 伴随计算机软件开发(25%)职责描述
  • 在树莓派5(ARM64 Ubuntu)上开发高级功能:
    • 视觉处理:对接摄像头,运行视觉SLAM、目标检测算法
    • 路径规划:实现避障、航迹优化算法
    • 通信中继:与Pixhawk通过UART/MAVLink通信
    • 数据记录:飞行数据采集、存储、回传
  • 使用ROS2(Robot Operating System 2)构建软件框架
  • 实现与地面站的无线通信(WiFi/4G)
交付物
  • ROS2功能包(编译通过,接口文档完整)
  • 通信协议实现(MAVLink/DDS,与Pixhawk对接)
  • 部署脚本(一键部署到树莓派)
  • 性能测试报告(延迟、吞吐量数据)
技术要求
  • 熟悉Linux系统编程(多线程、进程间通信)
  • 了解ROS2基础(Topic/Service/Action机制)
  • 掌握网络编程(Socket、UDP/TCP)
3.3 系统集成与调试(20%)职责描述
  • 进行台架测试:
    • 验证传感器数据正确性(对比标准值)
    • 检查控制输出(PWM信号波形)
    • 测试故障保护逻辑(Failsafe)
  • 配合硬件在环仿真(HITL):
    • 在Gazebo/jMAVSim中仿真飞行
    • 对接真实飞控硬件,验证软件逻辑
  • 实机调试:
    • 参与室内/室外飞行测试
    • 分析飞行日志(.ulg文件),定位问题
    • 协助PID调参、传感器校准
交付物
  • 台架测试报告(各模块功能验证结果)
  • 仿真测试脚本(自动化测试用例)
  • 飞行日志分析报告(异常问题定位)
工具使用
  • QGroundControl(地面站)
  • FlightPlot / PlotJuggler(日志可视化)
  • GDB / JTAG调试器(底层调试)
3.4 代码维护与优化(10%)职责描述
  • 修复Bug,响应测试团队提出的问题
  • 代码重构,提升可读性和可维护性
  • 性能优化:
    • 降低控制回路延迟(目标:<5ms)
    • 减少内存占用(嵌入式资源有限)
    • 优化电池续航(降低CPU功耗)
  • 跟踪PX4上游更新,合并有用的改进
交付物
  • Bug修复记录(问题描述、根因、解决方案)
  • 性能优化报告(优化前后对比数据)
  • 代码质量指标(静态分析工具扫描结果)
3.5 文档编写与知识传承(5%)职责描述
  • 编写技术文档:
    • 模块设计文档(架构图、流程图)
    • 接口说明文档(API文档)
    • 故障排查手册(常见问题及解决方法)
  • 参与Code Review,帮助新人成长
  • 整理开发日志,沉淀经验教训
交付物
  • 模块设计文档(Markdown/Confluence)
  • 代码注释(关键函数必须有注释)
  • 问题库(FAQ文档)
四、任职要求4.1 教育背景
  • 学历:本科及以上
  • 专业:计算机、软件工程、自动化、电子工程等相关专业
4.2 专业技能(必备)
C/C++编程 熟练掌握指针、面向对象、STL
嵌入式开发 理解裸机/RTOS开发流程
调试能力 会用GDB、串口、示波器
4.3 专业技能(加分项目)
  • 有PX4/ArduPilot二次开发经验(提供代码链接)
  • 熟悉MAVLink协议,开发过地面站软件
  • 了解控制理论基础(能看懂PID、状态空间方程)
  • 有航模/无人机实际调试经验
  • 熟悉Python(用于脚本工具开发)
4.4 工作经验
  • 入门级(P5):1-3年嵌入式开发经验,接触过RTOS
  • 高级(P6):3-5年经验,有完整飞控项目开发经历
  • 资深(P7):5年以上,能独立负责核心模块,指导初级工程师
4.5 软技能力
  • 责任心:代码质量直接影响飞行安全
  • 团队协作:与硬件、算法、测试密切配合
  • 学习能力:快速吸收飞控理论知识
  • 抗压能力:面对紧急Bug能冷静分析
五、典型工作场景场景1:开发新传感器驱动
任务:为飞控增加RTK GPS支持(如u-blox F9P)
工作流程:
  1. 阅读传感器datasheet,理解UART通信协议(UBX格式)
  2. 在PX4中创建新驱动模块(参考已有GPS驱动)
  3. 实现数据解析、发布uORB消息(vehicle_gps_position)
  4. 台架测试:对比RTK输出与标准位置
  5. 提交PR,通过Code Review
  6. 编写使用文档,说明参数配置
预期时间:5-10个工作日
场景2:优化控制回路延迟
任务:将姿态控制回路延迟从8ms降低到5ms
工作流程:
  1. 使用性能分析工具(perf)定位瓶颈函数
  2. 优化热点代码(如矩阵运算改用SIMD指令)
  3. 调整任务优先级,减少调度延迟
  4. 硬件在环仿真验证(HITL)
  5. 实机测试,对比优化前后飞行性能
  6. 提交优化报告
预期时间:2-3周
场景3:定位飞行异常
任务:分析一次异常姿态翻滚事故
工作流程:
  1. 下载飞行日志(.ulg文件)
  2. 用Flight Review查看关键曲线(姿态、角速度、控制量)
  3. 发现IMU数据有毛刺 → 怀疑振动问题
  4. 检查硬件安装(减振垫是否老化)
  5. 软件层面增加滤波器(低通滤波IMU原始数据)
  6. 复现测试,确认问题解决
  7. 编写故障报告,更新调试手册
    职位福利:五险一金、绩效奖金、带薪年假、节日福利、周末双休

工作地点

成都成华区银龙国际

职位发布者

刘钊泉/人事经理

刚刚活跃
立即沟通
公司Logo四川虹鹰动力科技有限公司
四川虹鹰动力科技有限公司是一家专业从事中小型航空发动机、小型燃气轮机、电动压缩机、涡轮增压器、螺旋桨、电机等高端装备研发设计、生产制造、销售服务为一体的高科技现代化企业。公司与清华大学、浙江大学、上海交通大学、北京航空航天大学、西北工业大学、四川大学、电子科技大学、华中科技大学、哈尔滨工业大学等高校建立了深入合作关系,共同推动科技创新与产业创新的深度融合发展。公司位于四川内江国家高新技术开发区,成都设有高端研发中心,北京及海外各地设有办事处,拥有4万平方米办公区域,规划用地400亩。现因业务拓展需要,诚挚招聘各类优秀人才。
公司主页