一、崗位基本信息
崗位名稱
飛控軟件開(kāi)發(fā)工程師(Flight Control Software Engineer)
匯報(bào)對(duì)象
飛控總設(shè)計(jì)師
協(xié)作崗位
算法工程師、硬件工程師、測(cè)試工程師
二、崗位目標(biāo)
負(fù)責(zé)飛控系統(tǒng)嵌入式軟件的開(kāi)發(fā)、調(diào)試和優(yōu)化,基于PX4開(kāi)源平臺(tái)進(jìn)行定制化開(kāi)發(fā),實(shí)現(xiàn)高性能、高可靠的飛行控制功能,確保無(wú)人機(jī)穩(wěn)定飛行。
三、核心職責(zé)3.1 飛控嵌入式軟件開(kāi)發(fā)(40%)職責(zé)描述
- 在Pixhawk 6X(STM32H7)上開(kāi)發(fā)飛控核心模塊:
- 傳感器驅(qū)動(dòng):IMU、磁力計(jì)、氣壓計(jì)、GPS等的數(shù)據(jù)讀取和校準(zhǔn)
- 姿態(tài)估計(jì):集成/優(yōu)化EKF2姿態(tài)解算模塊
- 控制器實(shí)現(xiàn):將總師設(shè)計(jì)的控制律轉(zhuǎn)化為C++代碼(PID、LQR等)
- 任務(wù)調(diào)度:基于NuttX RTOS的實(shí)時(shí)任務(wù)管理
- 開(kāi)發(fā)自定義功能模塊(如特殊傳感器支持、行業(yè)應(yīng)用邏輯)
- 優(yōu)化代碼性能(降低CPU占用、減少延遲)
交付物
- 可編譯運(yùn)行的PX4固件(.px4文件)
- 模塊源代碼(符合PX4代碼規(guī)范,通過(guò)CI/CD檢查)
- 單元測(cè)試代碼(覆蓋率 ≥ 70%)
- 開(kāi)發(fā)文檔(模塊接口說(shuō)明、使用示例)
技術(shù)要求
- 精通C/C++(C++11/14特性)
- 熟悉PX4架構(gòu)(uORB消息系統(tǒng)、模塊化設(shè)計(jì))
- 理解RTOS基本概念(任務(wù)調(diào)度、信號(hào)量、消息隊(duì)列)
3.2 伴隨計(jì)算機(jī)軟件開(kāi)發(fā)(25%)職責(zé)描述
- 在樹(shù)莓派5(ARM64 Ubuntu)上開(kāi)發(fā)高級(jí)功能:
- 視覺(jué)處理:對(duì)接攝像頭,運(yùn)行視覺(jué)SLAM、目標(biāo)檢測(cè)算法
- 路徑規(guī)劃:實(shí)現(xiàn)避障、航跡優(yōu)化算法
- 通信中繼:與Pixhawk通過(guò)UART/MAVLink通信
- 數(shù)據(jù)記錄:飛行數(shù)據(jù)采集、存儲(chǔ)、回傳
- 使用ROS2(Robot Operating System 2)構(gòu)建軟件框架
- 實(shí)現(xiàn)與地面站的無(wú)線通信(WiFi/4G)
交付物
- ROS2功能包(編譯通過(guò),接口文檔完整)
- 通信協(xié)議實(shí)現(xiàn)(MAVLink/DDS,與Pixhawk對(duì)接)
- 部署腳本(一鍵部署到樹(shù)莓派)
- 性能測(cè)試報(bào)告(延遲、吞吐量數(shù)據(jù))
技術(shù)要求
- 熟悉Linux系統(tǒng)編程(多線程、進(jìn)程間通信)
- 了解ROS2基礎(chǔ)(Topic/Service/Action機(jī)制)
- 掌握網(wǎng)絡(luò)編程(Socket、UDP/TCP)
3.3 系統(tǒng)集成與調(diào)試(20%)職責(zé)描述
-
進(jìn)行臺(tái)架測(cè)試:
- 驗(yàn)證傳感器數(shù)據(jù)正確性(對(duì)比標(biāo)準(zhǔn)值)
- 檢查控制輸出(PWM信號(hào)波形)
- 測(cè)試故障保護(hù)邏輯(Failsafe)
-
配合硬件在環(huán)仿真(HITL):
- 在Gazebo/jMAVSim中仿真飛行
- 對(duì)接真實(shí)飛控硬件,驗(yàn)證軟件邏輯
- 實(shí)機(jī)調(diào)試:
- 參與室內(nèi)/室外飛行測(cè)試
- 分析飛行日志(.ulg文件),定位問(wèn)題
- 協(xié)助PID調(diào)參、傳感器校準(zhǔn)
交付物
- 臺(tái)架測(cè)試報(bào)告(各模塊功能驗(yàn)證結(jié)果)
- 仿真測(cè)試腳本(自動(dòng)化測(cè)試用例)
- 飛行日志分析報(bào)告(異常問(wèn)題定位)
工具使用
- QGroundControl(地面站)
- FlightPlot / PlotJuggler(日志可視化)
- GDB / JTAG調(diào)試器(底層調(diào)試)
3.4 代碼維護(hù)與優(yōu)化(10%)職責(zé)描述
- 修復(fù)Bug,響應(yīng)測(cè)試團(tuán)隊(duì)提出的問(wèn)題
- 代碼重構(gòu),提升可讀性和可維護(hù)性
- 性能優(yōu)化:
- 降低控制回路延遲(目標(biāo):<5ms)
- 減少內(nèi)存占用(嵌入式資源有限)
- 優(yōu)化電池續(xù)航(降低CPU功耗)
- 跟蹤PX4上游更新,合并有用的改進(jìn)
交付物
- Bug修復(fù)記錄(問(wèn)題描述、根因、解決方案)
- 性能優(yōu)化報(bào)告(優(yōu)化前后對(duì)比數(shù)據(jù))
- 代碼質(zhì)量指標(biāo)(靜態(tài)分析工具掃描結(jié)果)
3.5 文檔編寫與知識(shí)傳承(5%)職責(zé)描述
-
編寫技術(shù)文檔:
- 模塊設(shè)計(jì)文檔(架構(gòu)圖、流程圖)
- 接口說(shuō)明文檔(API文檔)
- 故障排查手冊(cè)(常見(jiàn)問(wèn)題及解決方法)
- 參與Code Review,幫助新人成長(zhǎng)
- 整理開(kāi)發(fā)日志,沉淀經(jīng)驗(yàn)教訓(xùn)
交付物
- 模塊設(shè)計(jì)文檔(Markdown/Confluence)
- 代碼注釋(關(guān)鍵函數(shù)必須有注釋)
- 問(wèn)題庫(kù)(FAQ文檔)
四、任職要求4.1 教育背景
- 學(xué)歷:本科及以上
- 專業(yè):計(jì)算機(jī)、軟件工程、自動(dòng)化、電子工程等相關(guān)專業(yè)
4.2 專業(yè)技能(必備)
C/C++編程 熟練掌握指針、面向?qū)ο?、STL
嵌入式開(kāi)發(fā) 理解裸機(jī)/RTOS開(kāi)發(fā)流程
調(diào)試能力 會(huì)用GDB、串口、示波器
4.3 專業(yè)技能(加分項(xiàng)目)
- 有PX4/ArduPilot二次開(kāi)發(fā)經(jīng)驗(yàn)(提供代碼鏈接)
- 熟悉MAVLink協(xié)議,開(kāi)發(fā)過(guò)地面站軟件
- 了解控制理論基礎(chǔ)(能看懂PID、狀態(tài)空間方程)
- 有航模/無(wú)人機(jī)實(shí)際調(diào)試經(jīng)驗(yàn)
- 熟悉Python(用于腳本工具開(kāi)發(fā))
4.4 工作經(jīng)驗(yàn)
- 入門級(jí)(P5):1-3年嵌入式開(kāi)發(fā)經(jīng)驗(yàn),接觸過(guò)RTOS
- 高級(jí)(P6):3-5年經(jīng)驗(yàn),有完整飛控項(xiàng)目開(kāi)發(fā)經(jīng)歷
- 資深(P7):5年以上,能獨(dú)立負(fù)責(zé)核心模塊,指導(dǎo)初級(jí)工程師
4.5 軟技能力
- 責(zé)任心:代碼質(zhì)量直接影響飛行安全
- 團(tuán)隊(duì)協(xié)作:與硬件、算法、測(cè)試密切配合
- 學(xué)習(xí)能力:快速吸收飛控理論知識(shí)
- 抗壓能力:面對(duì)緊急Bug能冷靜分析
五、典型工作場(chǎng)景場(chǎng)景1:開(kāi)發(fā)新傳感器驅(qū)動(dòng)
任務(wù):為飛控增加RTK GPS支持(如u-blox F9P)
工作流程:
- 閱讀傳感器datasheet,理解UART通信協(xié)議(UBX格式)
- 在PX4中創(chuàng)建新驅(qū)動(dòng)模塊(參考已有GPS驅(qū)動(dòng))
- 實(shí)現(xiàn)數(shù)據(jù)解析、發(fā)布uORB消息(vehicle_gps_position)
- 臺(tái)架測(cè)試:對(duì)比RTK輸出與標(biāo)準(zhǔn)位置
- 提交PR,通過(guò)Code Review
- 編寫使用文檔,說(shuō)明參數(shù)配置
預(yù)期時(shí)間:5-10個(gè)工作日
場(chǎng)景2:優(yōu)化控制回路延遲
任務(wù):將姿態(tài)控制回路延遲從8ms降低到5ms
工作流程:
- 使用性能分析工具(perf)定位瓶頸函數(shù)
- 優(yōu)化熱點(diǎn)代碼(如矩陣運(yùn)算改用SIMD指令)
- 調(diào)整任務(wù)優(yōu)先級(jí),減少調(diào)度延遲
- 硬件在環(huán)仿真驗(yàn)證(HITL)
- 實(shí)機(jī)測(cè)試,對(duì)比優(yōu)化前后飛行性能
- 提交優(yōu)化報(bào)告
預(yù)期時(shí)間:2-3周
場(chǎng)景3:定位飛行異常
任務(wù):分析一次異常姿態(tài)翻滾事故
工作流程:
- 下載飛行日志(.ulg文件)
- 用Flight Review查看關(guān)鍵曲線(姿態(tài)、角速度、控制量)
- 發(fā)現(xiàn)IMU數(shù)據(jù)有毛刺 → 懷疑振動(dòng)問(wèn)題
- 檢查硬件安裝(減振墊是否老化)
- 軟件層面增加濾波器(低通濾波IMU原始數(shù)據(jù))
- 復(fù)現(xiàn)測(cè)試,確認(rèn)問(wèn)題解決
- 編寫故障報(bào)告,更新調(diào)試手冊(cè)
職位福利:五險(xiǎn)一金、績(jī)效獎(jiǎng)金、帶薪年假、節(jié)日福利、周末雙休