崗位職責(zé)
1. 負(fù)責(zé)基于香橙派 + ROS2 的機(jī)器人/智能設(shè)備軟件開發(fā)、調(diào)試與部署
2. 負(fù)責(zé)STM32F4 系列單片機(jī)底層驅(qū)動(dòng)、外設(shè)開發(fā)、RTOS 系統(tǒng)移植與任務(wù)調(diào)度
3. 完成上下位機(jī)通信、傳感器數(shù)據(jù)采集、控制邏輯實(shí)現(xiàn)
4. 編寫開發(fā)文檔、調(diào)試記錄,配合完成整機(jī)聯(lián)調(diào)
任職要求
1. 熟練使用 STM32F4 系列 MCU,有 RT-Thread / FreeRTOS 實(shí)際項(xiàng)目經(jīng)驗(yàn)
2. 熟悉 Linux 基礎(chǔ)操作,能在香橙派等開發(fā)板上搭建、運(yùn)行 ROS2
3. 掌握串口、CAN、I2C、SPI 等常用通信協(xié)議,有電機(jī)/傳感器驅(qū)動(dòng)經(jīng)驗(yàn)優(yōu)先
4. 有機(jī)器人、無人機(jī)、自動(dòng)化設(shè)備、智能小車等項(xiàng)目經(jīng)驗(yàn)優(yōu)先
5. 能獨(dú)立負(fù)責(zé)模塊開發(fā),問題排查能力強(qiáng)
能力要求
(1)具備嵌入式軟件開發(fā)能力,能負(fù)責(zé)完成從底層MCU到上層ROS的整個(gè)軟件架構(gòu);
a)最底層:MCU程序直接與硬件寄存器、傳感器、執(zhí)行器打交道。
b)中間層:固件架構(gòu)、驅(qū)動(dòng)程序、實(shí)時(shí)操作系統(tǒng)(RTOS)的任務(wù)調(diào)度。
c)最上層: Linux工控機(jī)上開發(fā)復(fù)雜的ROS節(jié)點(diǎn),處理感知、決策、規(guī)劃等高級(jí)應(yīng)用。
(2)嵌入式系統(tǒng)設(shè)計(jì)與開發(fā):具備扎實(shí)的嵌入式系統(tǒng)設(shè)計(jì)基礎(chǔ),熟悉各類嵌入式開發(fā)工具和環(huán)境;
(3)嵌入式編程語(yǔ)言:精通C/C++、熟悉Python編程語(yǔ)言,有豐富的嵌入式系統(tǒng)編程經(jīng)驗(yàn);
(4)嵌入式操作系統(tǒng):熟悉FreeRTOS、Linux/ Ubuntu、ROS1/ROS2能夠進(jìn)行系統(tǒng)配置和優(yōu)化;
(5)嵌入式通訊協(xié)議:深入理解并能夠?qū)崿F(xiàn)UART、SPI、I2C、Modbus-RTU、MQTT、自定義協(xié)議等通信協(xié)議;
(6)嵌入式系統(tǒng)調(diào)試:熟練使用示波器、邏輯分析儀、協(xié)議分析儀等工具進(jìn)行嵌入式系統(tǒng)調(diào)試;
(7)版本控制和協(xié)作工具:熟練使用Git進(jìn)行版本控制,能夠在團(tuán)隊(duì)中進(jìn)行協(xié)作開發(fā)。