機(jī)器人軟件工程師
職責(zé):設(shè)計(jì)機(jī)器人軟件整體框架(如基于ROS 2或?qū)S锌蚣埽?、模塊劃分(感知、規(guī)劃、控制、人機(jī)交互)、通信協(xié)議、實(shí)時(shí)性保證。
技能:精通機(jī)器人操作系統(tǒng)(ROS/ROS 2)、實(shí)時(shí)操作系統(tǒng)(RTOS)、分布式系統(tǒng)、軟件工程。
崗位職責(zé)
1.設(shè)計(jì)并實(shí)現(xiàn)機(jī)器人軟件整體架構(gòu):
· 設(shè)計(jì)高性能、可擴(kuò)展、模塊化的機(jī)器人軟件系統(tǒng)框架。
· 評(píng)估并選擇合適的技術(shù)棧(如基于ROS 2、定制化專有框架等)。
· 負(fù)責(zé)核心架構(gòu)的選型、設(shè)計(jì)與持續(xù)優(yōu)化。
2.模塊化設(shè)計(jì)與接口規(guī)范:
· 清晰劃分軟件功能模塊(如感知、規(guī)劃/決策、控制、人機(jī)交互HMI等)。
· 定義模塊間的通信接口、數(shù)據(jù)流和交互協(xié)議。
· 確保模塊解耦,提高系統(tǒng)的可維護(hù)性和可復(fù)用性。
3.通信協(xié)議與中間件:
· 設(shè)計(jì)和實(shí)現(xiàn)高效、可靠的模塊間通信機(jī)制(如基于ROS 2 的Topic/Service/Action,或自定義協(xié)議)。
· 優(yōu)化通信性能,降低延遲,保證數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性與可靠性。
4.實(shí)時(shí)性保證與系統(tǒng)性能:
· 設(shè)計(jì)和實(shí)施關(guān)鍵模塊(尤其是控制環(huán)路)的實(shí)時(shí)性保障策略。
· 熟悉并應(yīng)用實(shí)時(shí)操作系統(tǒng)(RTOS)原理,優(yōu)化任務(wù)調(diào)度和資源管理。
· 進(jìn)行系統(tǒng)性能分析、瓶頸定位與優(yōu)化,確保軟件滿足機(jī)器人系統(tǒng)的實(shí)時(shí)響應(yīng)要求。
5.工程化與質(zhì)量保障:
· 制定并遵循軟件工程最佳實(shí)踐(設(shè)計(jì)模式、代碼規(guī)范、版本控制、持續(xù)集成/持續(xù)部署CI/CD)。
· 參與軟件測(cè)試策略制定(單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試)。
· 編寫高質(zhì)量的設(shè)計(jì)文檔、接口文檔和技術(shù)文檔。
任職要求
1.基本要求:
· 計(jì)算機(jī)科學(xué)、軟件工程、自動(dòng)化、電子工程、機(jī)器人學(xué)或相關(guān)專業(yè)本科及以上學(xué)歷。在企業(yè)參與項(xiàng)目三年以上,能夠有研發(fā)項(xiàng)目帶隊(duì)能力。
2.機(jī)器人項(xiàng)目經(jīng)驗(yàn):
· 有實(shí)際機(jī)器人產(chǎn)品(移動(dòng)機(jī)器人、機(jī)械臂、自動(dòng)駕駛等)核心軟件開發(fā)經(jīng)驗(yàn)。
- 對(duì)機(jī)器人系統(tǒng)的實(shí)時(shí)性、安全性有深入理解和實(shí)踐經(jīng)驗(yàn)。
· 精通機(jī)器人操作系統(tǒng):深入理解ROS/ROS 2的核心概念、通信機(jī)制(DDS)、工具鏈和生態(tài)系統(tǒng),具備豐富的開發(fā)、調(diào)試和優(yōu)化經(jīng)驗(yàn)。
· 精通實(shí)時(shí)操作系統(tǒng)原理與實(shí)踐:深刻理解RTOS(如FreeRTOS, Zephyr, VxWorks, QNX等)的任務(wù)調(diào)度、中斷處理、資源管理、優(yōu)先級(jí)反轉(zhuǎn)預(yù)防等機(jī)制,有相關(guān)開發(fā)或優(yōu)化經(jīng)驗(yàn)。
· 了解機(jī)器人感知(SLAM, 視覺)、運(yùn)動(dòng)規(guī)劃、控制理論等相關(guān)領(lǐng)域知識(shí)。
3.軟件技能:
· 精通軟件工程:熟練掌握面向?qū)ο笤O(shè)計(jì)、設(shè)計(jì)模式、數(shù)據(jù)結(jié)構(gòu)與算法,具備良好的軟件架構(gòu)設(shè)計(jì)能力和代碼質(zhì)量意識(shí)。
· 熟悉DDS(數(shù)據(jù)分發(fā)服務(wù))或其他高性能通信中間件。
· 了解容器化技術(shù)(Docker)。
· 熟悉自動(dòng)化測(cè)試框架。
4.編程能力:
· 扎實(shí)的編程能力:精通C/C++(必須),熟悉Python(常用腳本和工具開發(fā))。
· 系統(tǒng)編程能力:熟悉Linux系統(tǒng)編程、多線程/多進(jìn)程開發(fā)、網(wǎng)絡(luò)編程。
· 通信協(xié)議理解:熟悉常見的網(wǎng)絡(luò)協(xié)議(TCP/UDP)和進(jìn)程間通信機(jī)制(IPC)。
· 調(diào)試與優(yōu)化能力:熟練使用各種調(diào)試工具(如GDB, Valgrind, Wireshark, ROS工具等)進(jìn)行問題定位和性能調(diào)優(yōu)。
· 版本控制:熟練使用Git進(jìn)行協(xié)作開發(fā)。
5.綜合素質(zhì):
· 優(yōu)秀的分析問題、解決問題能力和邏輯思維能力。
· 良好的溝通能力和團(tuán)隊(duì)協(xié)作精神,能與算法工程師協(xié)作,推動(dòng)機(jī)器人算法的落地。
· 強(qiáng)烈的責(zé)任心和自驅(qū)力,能承擔(dān)技術(shù)挑戰(zhàn)。