日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

機(jī)器人嵌入式崗位重新定價(jià):從STM32到Linux的能力躍遷

機(jī)器人嵌入式崗位重新定價(jià):從STM32到Linux的能力躍遷 1. 機(jī)器人嵌入式崗位的定價(jià)邏輯正在發(fā)生什么變化這兩年跟做機(jī)器人的朋友聊天話題從“你用什么主控”慢慢變成了“你那邊Linux驅(qū)動(dòng)誰在扛”。這個(gè)變化挺微妙的但背后反映的是整個(gè)行業(yè)對(duì)嵌入式工程師能力評(píng)估體系的一次重構(gòu)。以前我們聊嵌入式STM32加個(gè)RTOS基本就能覆蓋大部分場(chǎng)景現(xiàn)在你去翻招聘需求會(huì)發(fā)現(xiàn)“熟悉Linux驅(qū)動(dòng)開發(fā)”“有ROS/ROS2經(jīng)驗(yàn)”“了解實(shí)時(shí)內(nèi)核調(diào)優(yōu)”這些詞出現(xiàn)的頻率越來越高。不是STM32不重要了而是單純會(huì)STM32已經(jīng)不夠撐起一個(gè)機(jī)器人崗位的薪資預(yù)期了。我自己的觀察是機(jī)器人這個(gè)賽道把嵌入式崗位拆成了兩個(gè)明顯的方向一個(gè)是偏底層的實(shí)時(shí)控制一個(gè)是偏上層的系統(tǒng)集成。前者還是STM32、RTOS那一套但要求你對(duì)電機(jī)控制、傳感器融合、實(shí)時(shí)性有更深的理解后者則直接跳到Linux、ROS、甚至具身智能的訓(xùn)練部署框架上。這兩個(gè)方向的能力定價(jià)差異正在拉大而且拉大的速度比很多人預(yù)想的要快。這篇文章我想把這件事拆開聊透。從STM32和RTOS這些傳統(tǒng)能力為什么“變貴”了到Linux在機(jī)器人里到底承擔(dān)什么角色再到如果你現(xiàn)在想往機(jī)器人方向轉(zhuǎn)應(yīng)該怎么規(guī)劃自己的技能樹。我會(huì)盡量用實(shí)際項(xiàng)目里的例子來說明而不是泛泛地談趨勢(shì)。適合已經(jīng)在做嵌入式、想往機(jī)器人方向靠的朋友也適合剛?cè)胄小⑾胫涝撏膫€(gè)方向投入時(shí)間的新人。2. STM32和RTOS從“會(huì)用”到“用得好”的分水嶺2.1 為什么STM32依然是機(jī)器人底層的硬通貨先說一個(gè)可能有點(diǎn)反直覺的判斷STM32在機(jī)器人領(lǐng)域的地位不但沒有下降反而在某些細(xì)分場(chǎng)景里變得更關(guān)鍵了。原因很簡(jiǎn)單機(jī)器人對(duì)實(shí)時(shí)性的要求是剛性的。你讓一個(gè)機(jī)械臂的關(guān)節(jié)控制跑在Linux上哪怕打了實(shí)時(shí)補(bǔ)丁抖動(dòng)也可能到幾百微秒級(jí)別而STM32跑裸機(jī)或者RTOS抖動(dòng)可以控制在微秒級(jí)。這個(gè)差距在低速場(chǎng)景可能看不出來但在高速抓取、力控打磨這些場(chǎng)景里就是能不能用的區(qū)別。我去年幫一個(gè)朋友調(diào)過一臺(tái)協(xié)作機(jī)器人的關(guān)節(jié)控制器用的就是STM32F4系列跑FreeRTOS。他們的痛點(diǎn)很有意思單個(gè)關(guān)節(jié)控制沒問題但六個(gè)關(guān)節(jié)聯(lián)動(dòng)的時(shí)候總線通信的延遲導(dǎo)致末端軌跡跟蹤誤差超標(biāo)。這個(gè)問題最后不是靠換更快的芯片解決的而是重新設(shè)計(jì)了CAN總線的調(diào)度策略把關(guān)鍵控制幀的優(yōu)先級(jí)提上去同時(shí)把一些非實(shí)時(shí)的狀態(tài)上報(bào)挪到低優(yōu)先級(jí)任務(wù)里。這個(gè)過程里對(duì)STM32的CAN外設(shè)、中斷優(yōu)先級(jí)、RTOS任務(wù)調(diào)度的理解深度直接決定了你能不能定位到問題。所以STM32的“變貴”不是因?yàn)樗旧碜冸y了而是因?yàn)闄C(jī)器人場(chǎng)景對(duì)它的使用深度提出了更高要求。以前你可能只需要點(diǎn)個(gè)燈、讀個(gè)傳感器現(xiàn)在你需要理解DMA和中斷的配合、理解總線仲裁、理解RTOS里優(yōu)先級(jí)反轉(zhuǎn)怎么避免。這些知識(shí)在普通項(xiàng)目里可能一輩子用不上但在機(jī)器人里是天天要面對(duì)的。2.2 RTOS在機(jī)器人項(xiàng)目里的真實(shí)使用場(chǎng)景RTOS在機(jī)器人里的角色我覺得可以用一個(gè)類比來說明它就像是一個(gè)交通警察負(fù)責(zé)讓不同優(yōu)先級(jí)的任務(wù)在正確的時(shí)間得到CPU。機(jī)器人系統(tǒng)里通常有這么幾類任務(wù)高頻的電機(jī)控制循環(huán)1kHz以上、中頻的傳感器讀取100Hz到1kHz、低頻的狀態(tài)上報(bào)和通信10Hz到100Hz。如果沒有RTOS你得自己寫一個(gè)調(diào)度器來管理這些任務(wù)而且很容易寫出優(yōu)先級(jí)反轉(zhuǎn)或者任務(wù)餓死的bug。我用過幾種RTOSFreeRTOS在STM32上是最常見的Zephyr這兩年在機(jī)器人圈子里也開始多起來尤其是需要網(wǎng)絡(luò)協(xié)議?;蛘叨嗪酥С值膱?chǎng)景。選哪個(gè)其實(shí)不是最關(guān)鍵的關(guān)鍵是你得理解RTOS的幾個(gè)核心概念任務(wù)優(yōu)先級(jí)怎么分配、中斷和任務(wù)的交互怎么設(shè)計(jì)、共享資源怎么保護(hù)。這些東西在文檔里都有但實(shí)際項(xiàng)目里踩的坑往往出在細(xì)節(jié)上。舉個(gè)例子我之前做一個(gè)移動(dòng)機(jī)器人的底盤控制用FreeRTOS建了三個(gè)任務(wù)電機(jī)控制任務(wù)最高優(yōu)先級(jí)、IMU讀取任務(wù)中優(yōu)先級(jí)、上位機(jī)通信任務(wù)低優(yōu)先級(jí)。看起來沒問題對(duì)吧但實(shí)際跑起來發(fā)現(xiàn)電機(jī)控制任務(wù)偶爾會(huì)延遲。查了半天發(fā)現(xiàn)是IMU讀取任務(wù)里用了I2C而I2C的驅(qū)動(dòng)里有個(gè)忙等待的循環(huán)在等待期間它不釋放CPU導(dǎo)致高優(yōu)先級(jí)任務(wù)被阻塞。解決辦法是把I2C改成中斷或者DMA模式或者在忙等待里加個(gè)taskYIELD。這種問題你在教科書里看不到但實(shí)際項(xiàng)目里很常見。2.3 傳統(tǒng)能力“變貴”的具體表現(xiàn)所謂“變貴”我理解體現(xiàn)在兩個(gè)方面一是薪資溢價(jià)二是崗位門檻。從我這段時(shí)間看到的招聘信息來看同樣寫著“熟悉STM32和RTOS”機(jī)器人公司的面試深度明顯比消費(fèi)電子公司要深。他們會(huì)問你如果CAN總線負(fù)載率達(dá)到80%你怎么優(yōu)化如果電機(jī)控制任務(wù)和通信任務(wù)共享一個(gè)SPI接口你怎么設(shè)計(jì)互斥如果系統(tǒng)需要在不重啟的情況下更新參數(shù)你怎么做這些問題沒有標(biāo)準(zhǔn)答案但能看出你有沒有真正在資源受限的環(huán)境里做過取舍。薪資方面我了解到的情況是一個(gè)有三年機(jī)器人底層控制經(jīng)驗(yàn)的嵌入式工程師薪資大概比同等經(jīng)驗(yàn)做消費(fèi)電子的高出30%到50%。這個(gè)溢價(jià)不是因?yàn)镾TM32本身而是因?yàn)闄C(jī)器人場(chǎng)景對(duì)實(shí)時(shí)性、可靠性的要求更高能勝任的人更少。而且這個(gè)差距還在擴(kuò)大因?yàn)闄C(jī)器人出貨量在漲但能做好底層控制的人培養(yǎng)周期很長(zhǎng)。3. Linux在機(jī)器人系統(tǒng)里到底承擔(dān)什么角色3.1 從“可選”到“必選”的轉(zhuǎn)變五年前你做機(jī)器人Linux可能只是用來跑個(gè)上位機(jī)界面或者做個(gè)簡(jiǎn)單的通信網(wǎng)關(guān)?,F(xiàn)在不一樣了Linux在機(jī)器人系統(tǒng)里承擔(dān)的角色越來越核心。導(dǎo)航、SLAM、路徑規(guī)劃、視覺處理、甚至一些中頻的控制邏輯都跑在Linux上。原因也很直接這些算法需要大量的計(jì)算資源和內(nèi)存STM32那點(diǎn)RAM和Flash根本不夠用。而且Linux有豐富的庫(kù)和框架支持ROS/ROS2、OpenCV、PCL這些工具鏈在Linux上是最成熟的。但這里有個(gè)常見的誤區(qū)很多人以為L(zhǎng)inux就是“跑個(gè)Ubuntu”會(huì)敲幾個(gè)命令就行了。實(shí)際機(jī)器人項(xiàng)目里對(duì)Linux的要求遠(yuǎn)不止于此。你需要理解實(shí)時(shí)調(diào)度策略SCHED_FIFO、SCHED_RR、需要知道怎么隔離CPU核心給實(shí)時(shí)任務(wù)、需要會(huì)看ftrace或者perf來定位延遲問題。這些技能在普通的Linux運(yùn)維里用不到但在機(jī)器人里是剛需。3.2 機(jī)器人Linux開發(fā)的幾個(gè)關(guān)鍵能力點(diǎn)我梳理了一下機(jī)器人方向的Linux嵌入式開發(fā)核心能力大概有這么幾塊第一是設(shè)備驅(qū)動(dòng)開發(fā)。機(jī)器人上有很多自定義的傳感器和執(zhí)行器它們的接口可能是SPI、I2C、CAN、甚至PCIe。你需要能在Linux內(nèi)核里寫驅(qū)動(dòng)來對(duì)接這些設(shè)備。這個(gè)門檻比STM32的HAL庫(kù)開發(fā)要高不少因?yàn)長(zhǎng)inux驅(qū)動(dòng)涉及內(nèi)核態(tài)編程、并發(fā)控制、電源管理等一系列復(fù)雜問題。但一旦掌握了你會(huì)發(fā)現(xiàn)它的擴(kuò)展性強(qiáng)很多一個(gè)驅(qū)動(dòng)寫好了上層應(yīng)用可以通過標(biāo)準(zhǔn)的文件接口來訪問不用每次都改應(yīng)用代碼。第二是實(shí)時(shí)性調(diào)優(yōu)。標(biāo)準(zhǔn)Linux內(nèi)核的調(diào)度延遲在毫秒級(jí)別對(duì)于很多機(jī)器人應(yīng)用來說是不夠的。你需要會(huì)用PREEMPT_RT補(bǔ)丁或者至少知道怎么用CPU隔離、中斷親和性設(shè)置來降低延遲。我見過一個(gè)案例一個(gè)移動(dòng)機(jī)器人的激光雷達(dá)數(shù)據(jù)處理跑在Linux上因?yàn)檎{(diào)度延遲導(dǎo)致點(diǎn)云時(shí)間戳不準(zhǔn)最后影響了建圖效果。解決辦法是把雷達(dá)數(shù)據(jù)接收的中斷綁定到一個(gè)隔離的CPU核心上同時(shí)把處理線程設(shè)成SCHED_FIFO優(yōu)先級(jí)。調(diào)整之后延遲從幾毫秒降到了幾百微秒。第三是系統(tǒng)集成和調(diào)試。機(jī)器人系統(tǒng)通常由多個(gè)節(jié)點(diǎn)組成節(jié)點(diǎn)之間通過ROS2的DDS或者自定義的IPC機(jī)制通信。你需要能定位通信延遲、數(shù)據(jù)丟包、節(jié)點(diǎn)崩潰這些問題。常用的工具包括ros2 topic hz、ros2 doctor、以及Linux本身的strace、gdb、perf。這些工具的使用熟練度直接決定了你排查問題的效率。3.3 Linux和RTOS的邊界在哪里這個(gè)問題我被問過很多次既然Linux也能做實(shí)時(shí)那是不是可以全部用Linux不用RTOS了我的回答通常是看你的控制頻率和抖動(dòng)要求。如果你的控制循環(huán)在100Hz以下抖動(dòng)要求是毫秒級(jí)那Linux加上實(shí)時(shí)補(bǔ)丁基本夠用。但如果你的控制循環(huán)在1kHz以上抖動(dòng)要求是微秒級(jí)那還是老老實(shí)實(shí)用STM32加RTOS。實(shí)際項(xiàng)目里更常見的做法是異構(gòu)架構(gòu)STM32負(fù)責(zé)硬實(shí)時(shí)的電機(jī)控制和傳感器讀取Linux負(fù)責(zé)導(dǎo)航、規(guī)劃、視覺這些計(jì)算密集型的任務(wù)兩者之間通過CAN、以太網(wǎng)或者共享內(nèi)存通信。這種架構(gòu)的好處是各司其職STM32保證實(shí)時(shí)性Linux提供算力和靈活性。難點(diǎn)在于兩者之間的通信設(shè)計(jì)需要保證數(shù)據(jù)同步和時(shí)序正確。我參與過一個(gè)AGV項(xiàng)目就是這種架構(gòu)。STM32負(fù)責(zé)底盤的運(yùn)動(dòng)控制和安全邏輯Linux跑ROS2做導(dǎo)航和調(diào)度。通信用的是CAN但CAN的帶寬有限不能把所有數(shù)據(jù)都往上發(fā)。我們的做法是在STM32上做一層數(shù)據(jù)聚合和降采樣只把導(dǎo)航需要的關(guān)鍵狀態(tài)發(fā)上去同時(shí)Linux下發(fā)的速度指令也做了限幅和看門狗保護(hù)。這個(gè)設(shè)計(jì)花了不少時(shí)間調(diào)試但跑起來之后很穩(wěn)。4. 機(jī)器人嵌入式崗位的能力定價(jià)模型4.1 不同能力組合的市場(chǎng)價(jià)值對(duì)比為了更直觀地說明問題我整理了一個(gè)粗略的能力定價(jià)對(duì)比表。這個(gè)表是基于我看到的招聘信息和跟同行交流得出的不一定精確但能反映大致的趨勢(shì)。能力組合典型崗位薪資范圍一線城市3-5年經(jīng)驗(yàn)市場(chǎng)供需STM32 RTOS 電機(jī)控制底層控制工程師25K-35K供需平衡STM32 RTOS Linux驅(qū)動(dòng)嵌入式系統(tǒng)工程師35K-50K供不應(yīng)求Linux ROS2 導(dǎo)航算法機(jī)器人系統(tǒng)工程師40K-60K供不應(yīng)求STM32 RTOS Linux 實(shí)時(shí)調(diào)優(yōu)機(jī)器人嵌入式架構(gòu)師50K-80K嚴(yán)重供不應(yīng)求純Linux應(yīng)用開發(fā)無嵌入式背景機(jī)器人軟件工程師30K-45K供需平衡從表里能看出來單純會(huì)STM32或者單純會(huì)Linux薪資上限是有限的。真正“變貴”的是那些能打通底層實(shí)時(shí)控制和上層系統(tǒng)集成的人。這種人需要同時(shí)理解微秒級(jí)的時(shí)序約束和秒級(jí)的任務(wù)調(diào)度能在兩種截然不同的開發(fā)范式之間切換。培養(yǎng)周期長(zhǎng)自然就貴。4.2 為什么“全棧嵌入式”在機(jī)器人領(lǐng)域特別值錢機(jī)器人系統(tǒng)的特殊性在于它的性能瓶頸往往不在單個(gè)模塊而在模塊之間的交互。比如你有一個(gè)很好的視覺算法但圖像傳輸延遲太大整個(gè)系統(tǒng)的響應(yīng)就上不去?;蛘吣愕碾姍C(jī)控制很精準(zhǔn)但上位機(jī)的軌跡規(guī)劃不平滑末端抖動(dòng)就很明顯。這些問題需要有人能從系統(tǒng)層面去分析和優(yōu)化而不是只盯著自己那一畝三分地。我認(rèn)識(shí)一個(gè)做協(xié)作機(jī)器人的架構(gòu)師他的背景很有意思最早是做STM32電機(jī)控制的后來自己學(xué)了Linux和ROS再后來去做了兩年的運(yùn)動(dòng)規(guī)劃算法?,F(xiàn)在他帶團(tuán)隊(duì)能跟底層驅(qū)動(dòng)的同事聊中斷延遲也能跟上層的算法同事聊軌跡插值的連續(xù)性。這種人在市場(chǎng)上非常搶手因?yàn)闄C(jī)器人公司最缺的就是能打通上下層的人。4.3 哪些傳統(tǒng)能力正在貶值有變貴的就有變便宜的。我觀察到幾個(gè)趨勢(shì)單純的STM32外設(shè)驅(qū)動(dòng)開發(fā)比如點(diǎn)屏、讀傳感器正在貶值因?yàn)檫@部分工作越來越標(biāo)準(zhǔn)化而且很多芯片原廠提供了很完善的庫(kù)。單純的Linux應(yīng)用開發(fā)比如寫個(gè)Qt界面在機(jī)器人領(lǐng)域也不值錢因?yàn)檫@部分工作可以外包或者由軟件團(tuán)隊(duì)承擔(dān)。真正貶值的是“只會(huì)調(diào)庫(kù)”的能力。以前你會(huì)用STM32的HAL庫(kù)點(diǎn)個(gè)LCD就能找到工作?,F(xiàn)在面試官會(huì)問你你知道這個(gè)LCD的時(shí)序參數(shù)怎么算嗎如果刷新率上不去你怎么排查如果你只會(huì)調(diào)庫(kù)這些問題就答不上來。機(jī)器人領(lǐng)域?qū)Φ讓釉淼囊蟾咭驗(yàn)槌隽藛栴}往往沒有現(xiàn)成的庫(kù)可以調(diào)你得自己分析波形、看手冊(cè)、改配置。5. 從STM32到Linux的躍遷路徑5.1 第一階段把STM32和RTOS吃透如果你現(xiàn)在還在做STM32裸機(jī)或者簡(jiǎn)單的RTOS項(xiàng)目我的建議是先別急著學(xué)Linux把手頭的東西做深。什么叫“做深”我舉幾個(gè)具體的標(biāo)準(zhǔn)你能獨(dú)立設(shè)計(jì)一個(gè)多任務(wù)的RTOS系統(tǒng)合理分配優(yōu)先級(jí)處理好任務(wù)間的同步和通信。你能用示波器或者邏輯分析儀定位時(shí)序問題能看懂芯片手冊(cè)里的時(shí)序圖。你能優(yōu)化中斷服務(wù)程序的執(zhí)行時(shí)間知道哪些操作該放在中斷里哪些該放到任務(wù)里。你能設(shè)計(jì)一個(gè)可靠的通信協(xié)議處理丟包、重傳、超時(shí)這些異常情況。這些能力在機(jī)器人底層控制里是基礎(chǔ)而且它們是可以遷移的。你理解了RTOS的任務(wù)調(diào)度再去看Linux的調(diào)度器就會(huì)容易很多。你理解了STM32的中斷機(jī)制再去看Linux的中斷子系統(tǒng)也會(huì)有似曾相識(shí)的感覺。我自己的經(jīng)驗(yàn)是在STM32上花時(shí)間研究RTOS的源碼是值得的。FreeRTOS的源碼量不大核心的調(diào)度器和IPC機(jī)制幾千行代碼啃下來之后你對(duì)實(shí)時(shí)系統(tǒng)的理解會(huì)上一個(gè)臺(tái)階。這個(gè)投入在后面的Linux學(xué)習(xí)中會(huì)加倍回報(bào)給你。5.2 第二階段Linux系統(tǒng)編程和驅(qū)動(dòng)入門從STM32轉(zhuǎn)到Linux最大的障礙不是命令行而是思維方式的轉(zhuǎn)變。在STM32上你直接操作寄存器一切都在你的掌控之中。在Linux上你通過內(nèi)核提供的接口來操作硬件中間隔了好幾層抽象。這個(gè)轉(zhuǎn)變需要時(shí)間適應(yīng)。我的建議是從Linux系統(tǒng)編程開始先熟悉文件IO、進(jìn)程線程、信號(hào)、IPC這些概念。然后找一個(gè)簡(jiǎn)單的驅(qū)動(dòng)例子比如GPIO驅(qū)動(dòng)或者字符設(shè)備驅(qū)動(dòng)在樹莓派或者BeagleBone上跑一遍。重點(diǎn)不是把驅(qū)動(dòng)寫得多完美而是理解Linux的設(shè)備模型設(shè)備樹怎么描述硬件、驅(qū)動(dòng)怎么注冊(cè)、用戶空間怎么訪問。這個(gè)階段我推薦用BeagleBone Black或者樹莓派因?yàn)樗鼈兊纳鐓^(qū)資源豐富出了問題容易找到答案。等你有了一定基礎(chǔ)再上更復(fù)雜的平臺(tái)比如NXP的i.MX系列或者瑞芯微的RK系列這些在機(jī)器人產(chǎn)品里用得比較多。5.3 第三階段實(shí)時(shí)調(diào)優(yōu)和系統(tǒng)集成當(dāng)你能在Linux上寫驅(qū)動(dòng)、跑ROS節(jié)點(diǎn)之后下一步就是實(shí)時(shí)調(diào)優(yōu)。這部分是機(jī)器人Linux開發(fā)和普通Linux開發(fā)的分水嶺。你需要理解調(diào)度策略SCHED_FIFO、SCHED_RR、SCHED_DEADLINE的區(qū)別和適用場(chǎng)景。CPU隔離怎么通過isolcpus或者cgroups把CPU核心隔離出來給實(shí)時(shí)任務(wù)用。中斷親和性怎么把特定中斷綁定到特定CPU核心減少緩存失效和上下文切換。內(nèi)存鎖定怎么用mlockall防止實(shí)時(shí)任務(wù)被換頁(yè)出去。延遲測(cè)量怎么用cyclictest測(cè)量系統(tǒng)延遲怎么用ftrace追蹤延遲來源。這些知識(shí)在普通的Linux運(yùn)維里用不到但在機(jī)器人里是核心技能。我建議你在學(xué)習(xí)的時(shí)候準(zhǔn)備一個(gè)實(shí)際的測(cè)試平臺(tái)比如用樹莓派加一個(gè)伺服電機(jī)寫一個(gè)簡(jiǎn)單的控制循環(huán)然后測(cè)量不同配置下的延遲。這種動(dòng)手實(shí)驗(yàn)比看文檔有效得多。6. 實(shí)操案例一個(gè)移動(dòng)機(jī)器人底盤的軟硬件協(xié)同設(shè)計(jì)6.1 系統(tǒng)架構(gòu)和選型理由去年我參與了一個(gè)移動(dòng)機(jī)器人底盤的項(xiàng)目正好可以用來說明STM32和Linux怎么協(xié)同。這個(gè)底盤的要求是最大速度1.5m/s控制頻率1kHz支持ROS2接口續(xù)航4小時(shí)以上。架構(gòu)上我們選了STM32H7加樹莓派CM4的方案。STM32H7負(fù)責(zé)電機(jī)控制、IMU讀取、電池管理、安全邏輯跑FreeRTOS。樹莓派CM4跑Ubuntu加ROS2負(fù)責(zé)導(dǎo)航、路徑規(guī)劃、上位機(jī)通信。兩者之間通過CAN FD通信STM32作為CAN主節(jié)點(diǎn)樹莓派作為從節(jié)點(diǎn)。選STM32H7的原因是它的主頻高480MHz有硬件浮點(diǎn)單元適合做電機(jī)控制的FOC算法。選樹莓派CM4的原因是它的算力足夠跑ROS2的導(dǎo)航棧而且社區(qū)支持好出了問題容易找到資料。CAN FD的帶寬比經(jīng)典CAN高不少能滿足1kHz控制頻率下的數(shù)據(jù)交換需求。6.2 STM32側(cè)的關(guān)鍵實(shí)現(xiàn)STM32側(cè)的核心是一個(gè)1kHz的控制循環(huán)用FreeRTOS的任務(wù)來實(shí)現(xiàn)。任務(wù)的優(yōu)先級(jí)分配是這樣的// 任務(wù)優(yōu)先級(jí)定義數(shù)值越大優(yōu)先級(jí)越高 #define PRIO_MOTOR_CTRL 5 // 電機(jī)控制1kHz #define PRIO_IMU_READ 4 // IMU讀取500Hz #define PRIO_CAN_RX 3 // CAN接收事件驅(qū)動(dòng) #define PRIO_BATTERY 2 // 電池管理10Hz #define PRIO_STATUS_LED 1 // 狀態(tài)指示5Hz電機(jī)控制任務(wù)里做FOC的電流環(huán)和速度環(huán)計(jì)算IMU讀取任務(wù)里做姿態(tài)解算CAN接收任務(wù)里處理來自樹莓派的速度指令。這里有個(gè)關(guān)鍵設(shè)計(jì)速度指令不是直接用的而是經(jīng)過一個(gè)斜坡函數(shù)做平滑防止速度突變導(dǎo)致電機(jī)過流。同時(shí)還有一個(gè)看門狗機(jī)制如果超過100ms沒收到新的速度指令就自動(dòng)減速停車。CAN通信的數(shù)據(jù)格式我們定義了一個(gè)簡(jiǎn)單的協(xié)議每幀8字節(jié)包含幀類型、數(shù)據(jù)長(zhǎng)度、數(shù)據(jù)和CRC校驗(yàn)。速度指令幀包含線速度和角速度狀態(tài)上報(bào)幀包含當(dāng)前速度、電流、溫度、錯(cuò)誤碼。這個(gè)協(xié)議很簡(jiǎn)單但足夠用而且調(diào)試起來方便。6.3 Linux側(cè)的關(guān)鍵實(shí)現(xiàn)樹莓派側(cè)跑的是Ubuntu 22.04加ROS2 Humble。我們寫了一個(gè)ROS2節(jié)點(diǎn)來跟STM32通信用的是socketcan接口。這個(gè)節(jié)點(diǎn)訂閱/cmd_vel話題把速度指令轉(zhuǎn)換成CAN幀發(fā)出去同時(shí)接收STM32的狀態(tài)幀發(fā)布成/odom和/battery_state話題。實(shí)時(shí)性方面我們把CAN接收的中斷綁定到了一個(gè)隔離的CPU核心上同時(shí)把ROS2節(jié)點(diǎn)的回調(diào)組設(shè)成了Reentrant避免回調(diào)阻塞。還用了PREEMPT_RT補(bǔ)丁把最壞調(diào)度延遲從幾毫秒降到了幾百微秒。這些調(diào)整之后從/cmd_vel發(fā)出到STM32收到指令的端到端延遲大概在2ms左右對(duì)于1.5m/s的速度來說位置誤差在3mm以內(nèi)滿足要求。調(diào)試過程中遇到的一個(gè)坑是CAN總線的終端電阻。我們一開始只在一端接了120歐姆的終端電阻結(jié)果通信不穩(wěn)定偶爾丟幀。后來在另一端也加上終端電阻問題就解決了。這個(gè)坑很經(jīng)典但第一次做CAN的時(shí)候很容易忽略。6.4 這個(gè)案例的啟示這個(gè)項(xiàng)目讓我更深刻地理解了異構(gòu)架構(gòu)的價(jià)值。STM32和Linux各有所長(zhǎng)強(qiáng)行讓一方做另一方的事效果往往不好。STM32做實(shí)時(shí)控制Linux做計(jì)算和決策兩者通過定義良好的接口通信這是目前機(jī)器人底盤的主流方案。另一個(gè)啟示是通信協(xié)議的設(shè)計(jì)比想象中重要。我們一開始想用ROS2的DDS直接跟STM32通信但DDS的協(xié)議棧太重STM32跑不動(dòng)。后來改成自定義的CAN協(xié)議簡(jiǎn)單可靠反而更合適。所以在機(jī)器人項(xiàng)目里不要迷信“標(biāo)準(zhǔn)方案”要根據(jù)實(shí)際約束來選擇。7. 常見問題與排查技巧實(shí)錄7.1 STM32和RTOS相關(guān)的典型問題問題一RTOS任務(wù)偶爾延遲導(dǎo)致控制周期抖動(dòng)。這個(gè)問題的排查思路是先確認(rèn)是哪個(gè)任務(wù)延遲用GPIO翻轉(zhuǎn)加示波器測(cè)量任務(wù)的實(shí)際執(zhí)行時(shí)間。如果發(fā)現(xiàn)是高優(yōu)先級(jí)任務(wù)被低優(yōu)先級(jí)任務(wù)阻塞檢查是否有共享資源沒有正確保護(hù)。常見的原因是低優(yōu)先級(jí)任務(wù)在持有互斥鎖的時(shí)候被中斷打斷而中斷里又試圖獲取同一個(gè)鎖。解決辦法是用優(yōu)先級(jí)繼承互斥鎖FreeRTOS的xSemaphoreCreateMutex默認(rèn)支持或者把共享資源的訪問放到臨界區(qū)里。問題二CAN總線負(fù)載率高的時(shí)候丟幀。CAN總線的仲裁機(jī)制決定了低優(yōu)先級(jí)幀在總線忙的時(shí)候會(huì)被延遲甚至丟失。解決辦法是合理分配CAN ID把關(guān)鍵控制幀的ID設(shè)小優(yōu)先級(jí)高非關(guān)鍵的狀態(tài)幀ID設(shè)大。同時(shí)可以降低非關(guān)鍵幀的發(fā)送頻率或者用CAN FD提高帶寬。如果還是不夠考慮用多條CAN總線分擔(dān)負(fù)載。問題三STM32的ADC采樣值跳動(dòng)大。這個(gè)問題在電機(jī)控制里很常見因?yàn)镻WM開關(guān)會(huì)產(chǎn)生電磁干擾。解決辦法有幾個(gè)一是用硬件濾波在ADC輸入引腳加RC低通濾波二是用軟件濾波比如多次采樣取中值或者滑動(dòng)平均三是調(diào)整采樣時(shí)機(jī)在PWM的中央對(duì)齊模式下在計(jì)數(shù)器過零點(diǎn)的時(shí)候觸發(fā)ADC采樣避開開關(guān)噪聲。我一般會(huì)先用示波器看ADC輸入引腳的波形確認(rèn)噪聲來源再?zèng)Q定用哪種方案。7.2 Linux和實(shí)時(shí)性相關(guān)的典型問題問題一ROS2節(jié)點(diǎn)通信延遲大。先確認(rèn)是網(wǎng)絡(luò)延遲還是處理延遲。用ros2 topic hz看發(fā)布頻率用ros2 topic delay看消息延遲。如果是網(wǎng)絡(luò)延遲檢查DDS的配置可能需要調(diào)整QoS設(shè)置比如把可靠性從RELIABLE改成BEST_EFFORT或者增大緩沖區(qū)。如果是處理延遲檢查回調(diào)函數(shù)里有沒有阻塞操作比如同步的文件IO或者sleep。問題二系統(tǒng)調(diào)度延遲超標(biāo)。用cyclictest測(cè)量系統(tǒng)延遲如果最壞延遲超過預(yù)期用ftrace追蹤延遲來源。常見的延遲來源包括中斷處理時(shí)間過長(zhǎng)、內(nèi)核線程搶占、內(nèi)存換頁(yè)。解決辦法包括把實(shí)時(shí)任務(wù)綁定到隔離的CPU核心、用mlockall鎖定內(nèi)存、把中斷親和性設(shè)置到非實(shí)時(shí)核心上。問題三Linux驅(qū)動(dòng)加載失敗。先看dmesg的輸出通常會(huì)有錯(cuò)誤信息。常見的原因包括設(shè)備樹配置錯(cuò)誤、引腳復(fù)用沖突、時(shí)鐘沒有使能、電源域沒有打開。如果是設(shè)備樹的問題用dtc工具反編譯設(shè)備樹檢查節(jié)點(diǎn)的屬性和兼容性字符串是否正確。如果是引腳沖突檢查pinctrl的配置確保同一個(gè)引腳沒有被多個(gè)驅(qū)動(dòng)占用。7.3 問題排查速查表現(xiàn)象可能原因排查工具解決方案RTOS任務(wù)延遲優(yōu)先級(jí)反轉(zhuǎn)、中斷阻塞示波器、GPIO翻轉(zhuǎn)優(yōu)先級(jí)繼承互斥鎖、縮短中斷CAN丟幀總線負(fù)載高、終端電阻缺失candump、示波器調(diào)整ID優(yōu)先級(jí)、加終端電阻ADC跳動(dòng)電磁干擾、采樣時(shí)機(jī)不對(duì)示波器RC濾波、中央對(duì)齊采樣ROS2延遲大QoS配置、回調(diào)阻塞ros2 topic delay調(diào)整QoS、異步回調(diào)Linux調(diào)度延遲中斷搶占、內(nèi)存換頁(yè)cyclictest、ftraceCPU隔離、mlockall驅(qū)動(dòng)加載失敗設(shè)備樹錯(cuò)誤、引腳沖突dmesg、dtc修正設(shè)備樹、檢查pinctrl8. 給不同階段嵌入式工程師的建議8.1 如果你還在學(xué)?;蛘邉?cè)胄邢劝袰語言和數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)打牢然后找一塊STM32的開發(fā)板從點(diǎn)燈開始一步步做到能跑RTOS、能寫通信協(xié)議、能控制電機(jī)。這個(gè)過程不要跳步每一步都動(dòng)手做一遍。我見過太多人直接上Linux結(jié)果底層的基礎(chǔ)不牢遇到時(shí)序問題就抓瞎。同時(shí)建議學(xué)一點(diǎn)Python和Linux的基本操作因?yàn)闄C(jī)器人領(lǐng)域不可避免地會(huì)用到這些。但不要本末倒置嵌入式工程師的核心競(jìng)爭(zhēng)力還是在對(duì)硬件和實(shí)時(shí)系統(tǒng)的理解上。8.2 如果你有幾年STM32經(jīng)驗(yàn)想轉(zhuǎn)機(jī)器人你的優(yōu)勢(shì)是對(duì)實(shí)時(shí)系統(tǒng)和硬件接口的理解這是很多純軟件背景的人不具備的。你需要補(bǔ)的是Linux系統(tǒng)編程、ROS2、以及一些機(jī)器人學(xué)的基礎(chǔ)知識(shí)比如坐標(biāo)變換、運(yùn)動(dòng)學(xué)。建議從一個(gè)小項(xiàng)目入手比如用樹莓派加STM32做一個(gè)簡(jiǎn)單的移動(dòng)機(jī)器人把ROS2的導(dǎo)航棧跑起來。這個(gè)過程會(huì)讓你理解機(jī)器人系統(tǒng)的整體架構(gòu)也會(huì)讓你發(fā)現(xiàn)自己的知識(shí)缺口。不要試圖一下子把Linux內(nèi)核和ROS2都學(xué)透那樣容易挫敗。先能用起來再逐步深入。遇到問題的時(shí)候善用社區(qū)資源ROS2的官方文檔和GitHub上的開源項(xiàng)目是最好的學(xué)習(xí)材料。8.3 如果你已經(jīng)是機(jī)器人嵌入式工程師你的下一步可能是往架構(gòu)師方向走或者往某個(gè)垂直領(lǐng)域深入比如運(yùn)動(dòng)控制、傳感器融合、功能安全。架構(gòu)師需要更廣的知識(shí)面包括系統(tǒng)設(shè)計(jì)、性能優(yōu)化、團(tuán)隊(duì)協(xié)作。垂直領(lǐng)域?qū)<倚枰畹睦碚摶A(chǔ)比如控制理論、狀態(tài)估計(jì)、機(jī)器學(xué)習(xí)。不管走哪條路保持動(dòng)手的習(xí)慣很重要。我見過一些架構(gòu)師脫離一線太久對(duì)具體的技術(shù)細(xì)節(jié)失去了判斷力設(shè)計(jì)出來的方案看起來很美好但落地困難。定期寫代碼、調(diào)板子、看波形能讓你保持對(duì)系統(tǒng)的直覺。9. 我對(duì)這個(gè)趨勢(shì)的個(gè)人判斷回到標(biāo)題里的“重新定價(jià)”我的理解是機(jī)器人行業(yè)正在從“能做出來”向“做得好”轉(zhuǎn)變這個(gè)轉(zhuǎn)變對(duì)嵌入式工程師的能力要求從“廣度”轉(zhuǎn)向了“深度加廣度”。以前你會(huì)STM32就能找到工作現(xiàn)在你需要在一個(gè)方向上足夠深同時(shí)在其他相關(guān)方向上有足夠的廣度來支撐系統(tǒng)級(jí)的思考。STM32和RTOS不會(huì)過時(shí)但它們的價(jià)值會(huì)越來越依賴于你用它解決了什么問題。如果你只是用STM32點(diǎn)了個(gè)燈那這個(gè)技能不值錢。如果你用STM32加RTOS做出了一個(gè)抖動(dòng)在微秒級(jí)、能在惡劣電磁環(huán)境下穩(wěn)定運(yùn)行的控制系統(tǒng)那這個(gè)技能就很值錢。Linux也是一樣會(huì)敲命令不值錢能用Linux構(gòu)建一個(gè)滿足實(shí)時(shí)性要求的機(jī)器人系統(tǒng)才值錢。最后分享一個(gè)我自己的習(xí)慣每隔一段時(shí)間我會(huì)把自己會(huì)的東西列一個(gè)清單然后問自己這里面哪些是“只有我會(huì)”或者“會(huì)的人很少”的。如果清單里大部分都是“很多人都會(huì)”的技能那就說明我需要往深處再挖一挖了。這個(gè)習(xí)慣幫我避開了不少“看起來很忙但實(shí)際在貶值”的陷阱。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99自拍B亚洲 | 老女人碰碰在线碰碰视频| 国产欧美日韩一区二区三区| 操国产逼| 久伊人网78| 欧美一区二区在线资源| 狠狠激情综合狠狠操中文字幕| 中国91AV| 最新欧洲欧美日本激情网站| 日韩少妇一区二区三区| 翔田千里无码一区| 欧美亚洲手机在线| 国产自偷| 久久风骚城市| 亚洲国产青青| 91欧美偷拍| av大香蕉| 日韩精品国产精品五码一区二区| 国产福利av精彩对白| 日韩欧无码一区二区三区免费不卡| 视频黄站| 国产精品对白自产拍| 九热大香蕉| 91在线页| 亚洲欧洲精品成人| 久久超碰、| 精品夜夜澡人妻无码| 免费视频a级毛片免费视频| 97人人夜夜精品视频| 欧美宗合网| 精品综合久久久久久97| 亚洲精品白丝| 国产精品久久久久久久久久二区三区| 久久大陆| 久热伊人| 一级性爱视频免费观看 | 91成人精品在线播放| 青娱乐欧美激情一区二区| 不卡在线观看视频| A级国产欧美激情在线| 亚洲无码超碰免费| 欧美专区日本专区| 久操99| 91女网站| 97se综合| 国产第12页| 韩美日操逼| 百度百度日本操逼| 久久久久成人亚洲国产| 91热爆在线| 天天日天天干天天整| av国产无码| 色五月激情综合网| 国产丝袜美女诱惑| 综合日韩激情另类图片| 91天射| 99只有精品| 欧美天堂亚洲电影院一区在线播放| 久久网亚洲| av在线人气| 躁躁日曰躁2020| 新97国产超碰| 欧美高清色| 美女天天干| 久热在线精品免费观看| 熟女人妇一区二区三区| 色优久久| 97欧美精品综合| 夜夜 中文视频rt| 亚洲性综合| 91大香蕉伊人| 9色国产精品一区粉嫩| 国产精品盗摄 偷窥盗摄| 日韩欧美成人午夜福利| 性吧在线视频| 亚洲高清男人天堂| 9色国产精品一区粉嫩| 家庭乱伦国产精品| 国内精品伊人久久久久影院会| 中文字幕 码 自拍 视频 区| 久偷拍| #NAME?| 翔田千里AV无码秘 三区| 国产精品欧美日韩久久| 中文字幕55555| 亚洲色图综合网| 天天干18禁| 1000部熟女视频在线观看| 日韩少妇一区二区三区| 欧美色一二三| 老司机福利青青草| 蜜桃色色网站视频三区| 国产三级中文字幕粉嫩| 日韩欧美aⅴ综合网站发布| 丁香六月啪啪| 欧美熟女逼久久久久久| 中文字幕91页| 老熟女熟妇| 日本一区二区三区四区五区六区七区八区九区| 乱伦1色页| 久久久久久久一级黄色打同平台| 亚州精品人妻一二三区| 眼镜人妻101.com| 97香蕉碰碰人妻国产欧美| 国产乱婷婷精品二区三区| 黑人精品欧美一区二区蜜桃| 欧美日韩国产三级黄色| 精品乱码久久久久| 国产粉嫩蜜臀av一区二区三区 | www老逼91| 日本精品五区| 私色综合网| 日本 情色 1区| 国产精品无码av| 亚洲天堂久| 五月天偷拍| 91 国产丝袜在线播放-百度| 亚一综合久久久久久久久久| 97超碰这里只有精品| 国产精品不卡高清在线观看| 男人的天堂2018东京热啪啪啪| 超碰在线综合97| 精品人体无圣光凹凸| 日本精品人妻少妇一区二区| 人妻铁牛TV| 色婷婷99| 日韩欧美日韩| 一本一道人妻久久一区二区三区| 蜜臀久久99精品久久久久久-DVD| www.超碰| 亚洲男人天堂av| 日本美女性生活久久久久久久| 性一级黄色录像片网站导航| 嗯嗯啊中文字幕| 极品少妇久久久久| 大香蕉伊人色偷偷在线| 99999精品| 欧亚洲精品有视频| av网站在线观看了| 97视频新免费| 国产精品亚洲免费| 欧美成人性活片| 亚洲精品一二三四区| 人妻偷拍一区二区三区| 97丝袜亚洲在线播放| 秋霞蝌科网日本一区| 亚洲中文sv| 久久五月份| www国产无码| 区一在线观看| 色综合尤物| 激情欧美97| 97玖玖人妻| 精品成人无码| 久久系列| 中文字幕人乱码中文字的预防方法 | 91亚洲图片| 色月天AV导航| 国产欧美精品日韩区二区麻豆天美| 中文字幕欧美丝袜07资源| 熟妇视频一区二区三区在线观看| 2019久久久久久久久福利| 激情文学亚洲| 久久仑合| 国产丝袜视频| 综合欧美日韩在线观看| 亚洲成人激情小说视频| 国产精品夜夜夜| 4141514逼喷水三级片| 国产强上视频在线观看| 国产精品成人久久一区二区三区| 老熟妇91| 校园春色家庭伦理欧美激情| 色老汉色| 亚洲综合码| 成人网站 免费观看| 伊人国产成人av网站| 亚洲人精品久久久| 91欧美性| 天天日天天舔东京热 | 欧美成人贴图| 欧美三级偷拍| 嗯,啊。舔我逼| 亚洲天堂区| 国产乱码精品一区二区三区四川| 伊人黄色片| 男人的天堂2018| 欧美色图片欧美色图| 男人的天堂2018.| 91狠狠综合久久久| 亚洲欧美在线观看2021| 无码国产Av| 天天综合网日韩| 亚洲色图8| 婷婷五月天无码 | 国产欧美在线观看免费观看| 麻豆天美一区二区| 久久精品噜噜噜成人看免欧美大片| 亚洲 欧美 小说| 97精品一二区| 小草三级久久观看| 97色色网| 狠狠搞 亚洲91| 嗯阿好爽好紧| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 大香蕉中文| 亚洲熟妇AV日韩熟妇在线| 青青草久久一区网| julia在线观看久久| 日本免费中文字幕在线| 国产极品粉嫩馒头一线天av| 亚洲中文字幕在现观看| 性猛交| 最新AV在线| 久久久少妇诱惑精品视频| 中国小夫妻勾搭露脸淫荡对白| 天美av在线观看| 九九亚洲视频| 狠狠干综合| 六月丁香婷| 亚洲操人| 99久久婷婷| 亚洲一本大道中文字幕无码在线| 欧美日韩香蕉| 九九性爱网| 色婷婷狠狠18禁| av无码av无码专区| 开心激情婷婷| 大香蕉色十月| 97超碰天天爱天天爱| 日韩亚洲美女一区久久| 伊人991| 久久妇| 啊啊啊啊好疼视频| 欧美丝袜91| 成人性交免费视屏| 加勒比综合| 日本欧美中文字幕| 欧美激情激情xxxx欧美专区| 日韩人妻一区二区| 内射夫妻三片| 国产小u女在线观看| 婷婷六月色开| 丝袜喷水在线| 亚洲无限观看| 97伊人超碰| 欧美综合色综合| 草草草视频| 一区二区三区国产在线播放| 三级AV入口| 日韩成人性爱AV| 日本在线不卡一二区| 丁香六月婷婷| 人妻天天爽夜夜爽精品2| 久操 高清| 欧美欲色| 狠狠超| 内射夫妻三片| 精品毛片久久久精品毛片| 五月丁香色婷婷| 久久久久中出| 久久一本大香蕉| 久久宗合亚洲| 精品久久无码午夜福利| 无码自拍SM| 久草久热| 国产精品一区在线播放| 国产福利电影| 99色热| 看看日B真人视频| 免费试看60秒| 看一级黄色视频| 欧美日韩理论一区| 中文字幕一区二区无码成人| 手机在线A片| 亚洲第一无码播放立川理惠| 日本九九久久99播| 熟妇人妻一二三区免费| 人人看人人摸人人色| 国产日本熟女顶级一区二区三区视频 | 国产精品爽爽va在线观看98| 亚洲精品一二三四区| 97超碰影音| 爱妃国产亚洲视频中文字幕| 欧美在线播放aaaa| 一二三四区操操Av| 26uuu性| 99国内精品| 欧美啪啪啪91| 九九Av| 天堂综合| 日本韩欧美在线播放a| 日日夜夜国产综合| 九九九九九九视频免费| 操操操操网黑人| 免费看国产曰批40分钟怎么下载| 91精品伊人久久久大香线蕉91| 嗯嗯不要 视频| 加勒比AV天堂| 岛国黄| 人妻插插人妻人| 久久蜜桃一区二区| 99这里有精品| 欧美丝袜91| 欧美日韩国内不卡| 欧美高潮| 国产一级片| 欧美亚洲成人在线一区二区三区| 久久黄色性爱视频| 久9久精品视频| 国产黄色在线播放观看| 国产精品不卡一区二区三区| 黄色av网站在线播放| 97色色色综合网站| 欧美性爱18观看| 欧美日本久久精品一区| 韩国三级一线观看久| 嗯嗯啊啊操死我| 在线观看中文字幕| AV一二区| 92性色国产午夜福利在线661| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 国产熟女免费观看久久| 超碰久久草| 91人妻做a观看视频| k频道色撸撸| 亚洲中文字母在线播放| 日日AAvv| 蜜臀久久99精品久久综合| 亚洲91在线| 91夜夜蜜桃臀1区2区3区| 亚洲第一狼人丝袜美女另类| 伊人性在线视频| 五月婷婷大香蕉| 久久久999| 欧美熟妇亚洲版| 午夜丁香| 超碰在线欧美性爱激情| 品亲网欧美品亲网| 99日精品欧美国产| 午夜精品久久一区二区| 91色色综合| 青青网三级视频| 国产性爱乱伦AV| 久久大香蕉手机高清| 亚洲另类欧美精品| 久久久免费视频18| 天天狠| 乱伦a片视频| 久久久啊啊啊| 丁香婷婷激情五月天无毒不卡| 久久久免费的精品| 国产拍偷精品网站| 亚洲AV不卡在线观看| 天天看天天综合成人网| 爱射综合| 亚洲精品三区在线观看| 东北熟女91| 骚逼一区二区| 天美传媒国产原创中文字幕亚洲欧美另类| 国产野战露脸在线播放| 午夜一区| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | JULIA人妻风俗店中出电影| 无码人妻丰满热妇又大又粗| 天天澡天天爽日日AV| 乱子伦一区二区三区国产精品| 另类视频在线| 性色av网站| 国产精品不卡av免费在线观看| 欧美久久人体| 91嫩草在线| 欧美亚洲国产自久久| 一起草AV| 美女黄频a美女大全免费皮| 亚洲av青草久久一区二区| 天天欧美97| 青青草大香蕉在线视频| 91狠| 综合欧美激情网| 日韩欧美日韩| 最新无码国产| 欧亚无码视频| 中国AAAAAA黄色片| 激情婷婷丁香网| 日韩精品人妻中文字幕不卡乱码| 狠狠做深爱婷婷久久二区| 一及黄久一点| 欧美性区| 欧美色图亚洲特色| 91熟女综合| 中文字幕55555| 久久精彩视频9| 久久,精品一二三| 国产精品久久久久无码AV会牛| 中文人妻av高清一区| 国产一区二区三区白丝| 激情无码日韩| 26UUU欧美激情一区二区| 乱伦熟女专区| 超碰成人公开| 日韩999| 日韩无码专区| 天天操天天插| 啪啪91| 国产馆极品诱惑| 97爱免费插| 99久久综合| 日韩电影天堂视频一区二区| 久久久噜噜噜久久人妻| 日韩BBN| 99久久99九九99九九九| 日少妇视频| 偷拍三区| 青娱乐啪啪视频| 亚欧日韩成人| 99精品热| 国产在线不卡导航| 亚洲资源网| 国产精品对白自产拍| 天美传媒精品久久视频| 干B网| 美女被啪到深处抽搐视频| 亚洲精品久久久久毛片A片拉屎 | 欧美黑人熟妇精品91| 国产综合久久久麻桃个| 亚洲成人性| 欧美一级黄色18片免费看| 亚洲欧美综合区自拍另类| 国产一级αv免费看片| 91一区二区| 人妻精品一区二区全免费| 亚洲啪啪啪啪视香蕉| 日韩日韩日韩-国产乱码精品一区二区| 色臀aV| 性欧美第一页| 日语五十路和六十路亚洲国产精品| 狠狠超| 男女激情黄色网址| 日本天堂网| 肉丝无码中文高清| 在线毛片片免费观看| 无码自拍SM| 丝袜性亚洲| 综合欧美色图| 国产强奸乱伦xd| 99色在线观看| 色眯眯av| 免费视频一二三区| 亚洲最大网站av| 宗合情欲网| 午夜视频久久久| 蜜臀AV秘一区翔田千里| 国产毛片精品一区二区色欲黄A片| 亚洲区限制级| 中文字幕天堂在线| 五月丁香在线| 亚洲亚洲亚洲天堂天堂| 亚洲熟女性高潮久久久| 殴美综合色88| 色牛aV| 日韩女优中文字幕| 抽插亚洲无码| 欧美一级黄色18片免费看| 亚洲狼狼干综合1| 国产精品播放| 亚洲激情综合| 天美精品一区二区三区四区在线观看| 天天综合网日韩| www五月| 少妇蹲下买菜露大唇0| 干干干天天| 亚洲综合性网址| 青娱乐休闲视频在线观看| 色播五月婷婷| 亚洲一区二区av| 97最新在线播放视频| 日日噜噜夜夜久久亚洲一区二区 | 天天综合欧美| 天天做天天爽| 超碰诱惑| 深爱五月天| 精品妇操一区二区三区| 99热99在线播放激情| 欧亚日韩三区| 久久黄色性爱视频| 久草老司机| 欧美日韩国产高清在线一二三区| 伦在线97| a片久久久久久久久久久久 | 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 狠狠爱夜夜| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 日韩偷拍色图| 日本韩高清无砖码22o| 极品丝袜无码| 老熟女乱伦一区| 欧美激情一区二区| 家庭乱伦网站国产| 东北女人性交| 玖玖97综合 | 精品国产AV一区天美传媒| 色婷婷基地| 久久精品店| 久久国产精品91| 国产中文大片资源中文字幕| 久久人妻精品| 免费A V在线播放| 97久久超碰亚洲| 亚州伊人色综台| 91情色在线| 国产不卡精品91| 先锋激情∨在线视频播放| 亚洲欧美在线综合| 99精品在线| 国产AV中文| 69视频福利导航| 久久久久亚洲Aⅴ无码| 殴美色网| 日韩99神马视频播放| 大香蕉免费3| 自拍第一页| 欧美天天插| 天天综合网日韩7799| 97久操| 欧美中文字幕男人天堂久久精品| 男女性感激情网站| 亚洲色宗合| 久久99草| 欧美亚洲国内自拍| 桃花色涩综合影院| 久久久久久电影| 不卡视频一区蜜桃视频| 激情文学 亚洲图片| 婷婷大香蕉| 无遮挡一级毛片视频免费的| 抽插亚洲无码| 九9热伊人| 一本一道人妻久久一区二区三区 | 日本淫穴在线| 人妻日日夜夜精品| 一级免费啪啪片| 无码高清少妇久久| 久夜视频| 人人妻人人色一区二区三区| 无码heyzo高清一区| 午夜精品久久久久久久99蜜桃一| 精品日韩人妻视频| 最近二区三区视频大全 | 黄色电影观看久久9| 日韩大香蕉| 99精品无码| 欧美亚洲se91| 久久久久一本一区二区青青蜜月| 午夜丁香婷婷| 大香蕉久| 国产专区第一页| 综合久久久久久久久91| 一区二区影视| 特色a在线上| 黑人精品欧美一区二区蜜桃| 日本97久久| 锕锕好爽 死我在线观看| 中国黑人三级片网站上区| 亚州少妇| 在线观看十八禁| 成人五月香网在线| 99免费在线视频| 99在线精品观看99| 1024人妻| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 夜夜夜夜久久久久| 啊啊啊啊无码| 欧美综合色图网| 后入式999| 97这里有精品| 999熟女精品| 欧美亚洲宗合色性图| 怡春苑东京热| 久久人爽| 一本色道人妻久久| 亚洲国产97| 九九九九精品| 蜜乳AV免费观看| 麻豆国产97在线| 国产黄色小视频网站| 国产精品免费1区2区视频| 日韩福利综合一区| 超碰国产精品久| 亚洲 欧美 手机在线观看| 在线看免费无码AV天堂的| 激情网色| 久久婷色| 欧美精品成人亚洲| 无码人妻精品一区二区三区九九| 熟女精品一区二区在线观看| 大茄子熟女AV导航| 国产91福利小视频在线观看| 久久综合国产精品国产| HEYZO高无码国产精品227| 国产AV高清AV无码| 男人天堂2019亚洲| 亚洲一区二区麻豆影院| 人人污日韩一区二区| 综合天天网| 九九九国产精品| 天堂综合网| 日韩激情啪啪啪| 日本123区操B视频| 亚洲AO在线| 男人的天堂欧美| 99re久久| 97精品熟女少妇一区| 99综合免费视频| 夜夜騷av、一區二區| 天堂精品| 亚洲国产精品V?在线播放| 人人爱人人操人人性| 亚洲日本成人动漫| 欧美色图人妻| 在线不欧美| 97任你吞精| 天天干天天日天天射黄色大片| 色香91| 人妻精品免费一二三区| 亚洲欧美激情在线视频| 超碰91在线| 欧美性特| 素人无码中文字幕| 色色毛片| 六月丁香五月婷婷| 精品人妻一区春色| 98人妻精品一区二区色欲| 你懂得91| 97精品97久久| 在线亚洲 欧美 日本专区| 在线强奷到舒服的无码视频 | 夜夜草我| 中亚av| 狠狠爱夜夜| 天天视频综合在线观看视频| 97在线欧洲| 91网站在线播放| 不卡中文字幕aⅴ在线| 欧美1727免费观看视频| 熟女少妇一区二区三区| 亚洲一级性爱视频免费看| 婷婷伊人一区| 好吊色综合| 99综合视频一体| 亚洲自拍小说| 国产伦精品一区二区三区在线观| 欧美美女后入| 亚洲国产成人福利在线观看| 久草男人天堂| 国产传媒操逼视频| 96国产污污污丝袜| 激情 欧美 亚洲 小说| 超碰99热中文字幕| 人人操人人干xxx| 国产欧美一区二区| 97欧美视频| 亚洲青青青视频在线| 天美传媒AV在线| 婷婷五月天成人网| 九九九九久久久久| 欧美图片色综合| 麻豆国产97在线| www老逼91| 人人模人人看| 97色97好| 中文字幕亚洲永久精品| 亚洲日韩欧美一区二区| 26uuu性| 欧美色图小说综合| 精品性爱无码在线播放| 天天综合网~91| 五月天激情婷婷| 毛片久久| 偷拍综合亚洲| 黄片在线免费在线观看| 综合大香蕉美。| 日本肉体xxxx裸交| 9精品在线| 国产中文精品一区二区在线观看| 国产在线观看一区二区三区| 99久久久久久久久| 97美日韩视频| 夜夜嗨AV蜜臀av| 国产最新小视频在线播放下载| 91性感网站| www色日本| 四虎精品永久在线播放| 精品久久久不卡一区二区| 99色天堂| 国产精品嫩草影院午夜两性| 日韩精品国模| 成人综合色网| 做爱A级亚欧| 一本大道青青| 啊啊啊啊啊操我视频| 人妻精品一区二区在线| 欧美天天性| 成人熟女区| 91九色精品熟女内射| 日韩三级在线观看网站| 职场同事知名国产国产精品久久欧美日韩 | 精品无码一区二区三区| 久久精品99| 九九精品美女高溯喷水| 艹比视频国产精品| 久久岛国| 蜜臀无码一区二区| 精品99999久久久久久| av天堂手机版追回| AV乱伦专区| 亚洲色图A| 98福利在线视频| 精品国产网站| 色色色五月婷婷| 91看黄片| 一级毛片电影免费看| 另类图片五月天| 四虎视频在线观看| 国色天香av| 国产18精品亚洲精品| 天天射天天操天天干天天吃2018| 久久黄黄黄| 亚洲国产精品久久久久婷婷老年| 成人网欧美风情| 长长久久曰曰夜夜成人网| 超碰色男人操熟女| 午夜小电影在线插入淫高潮| 日日干日日摸| 欧美影音在线| 一区二区三区色综合| 97网址www| 狠狠操狠狠插| 韩国成人精品久久久免费看| 香港澳门日本三级网站| 先锋女优在线观看视频| 亚洲成人在线乱码色午夜| 中文字幕无码不卡啪啪| 中出789在线视频| 婷婷导航| 色五月综合网| 婷婷精品视频| 国产福利精品最新在线| 尤物国产一区在线观看| 美女国产一区二区久久| 强奸乱伦Av网| 一牛影视成人片免费| 在线一道啪| 一级片在线观看高清无码| 色综合国产在线观看| 免费a v| 久久啊啊啊| 区一二区日韩亚洲乱码av电影| 成人性爱高清视频免费看| 成人亚欧免费视频| 操B在线观看| 免费精品中文字幕| 97人人操人人摸人人爱| 日本一级性爱| 亚洲国产日韩欧美熟妇在线| 大香蕉AV在线| AV色天香在线| 色五月69夫妻| 久久超碰98| 骚熟女AV网| 超碰97COm中文| 东京热天堂网| 夜夜操青青草| 亚洲国产麻豆一区二区三区| 色色色色综合网| 成人av免费观看| 自拍盗摄一区| 色偷综合| 欧美精品激情| 五月天久久综合网| 麻豆精品A片免费观看| hd成人一区二区在线| 九九黄色视频在线观看| 日韩国产成人自拍视频| 99日精品欧美国产| 旡码电影特区| 国产丸一视频| 啊啊啊啊啊啊在线| 岛国片在线播放| 久久AV无码网址| 99精品久久| 色哟哟-国产专区| 成人黄页| 97久久久久| 超碰97人妻免费在线| 亚洲免费在线探花| 色婷婷激一区二区三区| 熟女精品一区二区三区| 欧美精品偷拍| 亚洲狠狠入| 青娱乐二区免费| 麻花传媒免费网站在线观看| 丁香五月婷婷基地| 91美女看B| 999精品乱码| 国产精品嫩草久久久久| 99热精品在线观看| 日本超碰97日韩精品人妻| 性生活性生大爱77AV国产| 家庭乱伦国产精品| 在线日韩视频| 夜夜嗨绯色| 日韩十八禁| 中文一区在线视频| 日韩伦理视频| 中日韓欧美高清| 在线观看亚洲专区| 日本九九久久99播| 91国产丝袜美女| 欧美一级久久久久久久大片动画| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 成人免费性爱视视| 九九Av| 97热视频在线观看| 日韩欧美大片免费高清啪啪| 色婷婷五月综合| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 欧美青青视频| 久久黄片国产一区二区| 粉嫩国产精品久久粉嫩| 久久精品综合| 秋霞欧美性爰视频| 先锋音影AV| 一中国女人毛片水真多| 日韩女优中文字幕| 精品999一区二区| 三级片网站在线播放| 天天综合网视频91| 玖玖玖玖精品国产剧情| 亚洲熟女综合| 日韩综合无码色欲vv| 蜜臀人妻少妇久久在线观看| 大色综合| 久久婷五月天| 亚洲黄色| 色丁香五月婷婷| 精品美女少妇一区二区| 国产三区免费在线观看| 最新精品久久蜜桃 | 97激情97激情| 欧美片第一页| 日韩精品99久久久久久中文字幕| 日本一道在线播放高清| 少妇 综合| а√天堂资源官网在线资源| 亚洲,欧美,春色,另类| 久久97精品久久久久久久不卡| 大香蕉碰碰| 中文字幕99999| AV不卡在线| 国产精品3| 无码在线亚洲| 美女t无毒不卡不卡| 久久性爱免费送| 日韩91网| 蜜桃久久综合视频| 久综合国内精品自在自线| 欧美人人天天网| 333kkkk·亚洲com久久| 狠狠爱夜夜| 人妻碰碰碰碰碰碰| 日本不卡五区| 精品亚州18| 亚洲国产精品成人无码久久久| 欧美激情片一区二区| 亚洲制服aⅴ中文字幕| 欧美在线|亚洲| 可以看的av| 日本成a人v网站在线观看| 白丝少妇一区二区| 久久9视频| 日韩肏逼视频| 天天舔天天日天天射| 亚洲色久| 天天噜| 啊啊啊啊啊好大好舒服想要| 熟女突然公开看18禁影片| 欧美96精品在线| 熟女自慰久久久| 亚洲图片欧美在线视频| 中文操逼字幕| 国产精品suv一区| 狠狠色综合网| 少妇熟女1区2区3区| 殴美色网| 亚洲情色电影网| 欧美日韩国产黄色片| 男人的天堂久久久| 91美女视频在线| 操一区| 国产精品久久久久亚洲av| 78精品| 免费人人搞97| 桃色五月天| 91操人| 99青草| 97任你吞精| 不卡中文字幕aⅴ在线| 亚洲欧美97√| 91AV天堂| 日日日啊啊啊| 草草影院在线视频| 亚洲欧美国产其他二区| 日韩免费一级性爱视频| 亚州,欧美在线| 国产二区三区粉嫩在线| 天天摸夜夜摸| 婷婷色色五月天| 亚洲国产精品成人无码久久久 | 俺去俺来也在线www| 久久久久亚洲熟妇熟女| 欧美一级二级三级| 亚洲色综网| 日韩99神马视频播放片在线播放| 色香色欲天天综合网天天来吧| 综合久久久久久久综合网| 久久伊人最新网址视频| 97亚洲国产| 夜夜騷av、一區二區| 亚洲春色激情小说| www.狠狠干.coom| www色色com| 国人欧美精品一区二区| 国产AV激情无码久久无码 | 国产人妻天天干精品| 亚川综合视频| 亚洲天堂中文字| 亚洲国产成人精品999| 中日韩久久久免费看| 亚洲 欧美 综合 91| 黄总AV色图| 国产一区二区三区不卡手机在线| 大香樵伊人网| 丁香九月婷婷| 日韩素人无码一区二区三区三州| 丁香九月激情| 国产91久久九九免费精品无码| 911av网站免费观看| 日韩欧美大力操| 人人做天天爱| 国产又猛又粗又爽又黄| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 人妻性爱一区二区| 久久精品国产Aⅴ| 日韩在线国产字幕| 探花视频免费观看国产专区| 蜜臀99久久| 无码免费在线观看黄色片| 岛国片在线播放| 久久久久久精品免费看A级| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 久久久久白虎| 97视频在线| 人人搞人人插人人操| 日本媚薬中文字幕在线| rion磁力链接| 日韩综合无码一区久久92| ji熟女.com| 成人八戒网站| 日本 欧美 国产一区| 97国产超湿| 亚洲人妻熟妇三十三区| 亚洲女人毛茸茸91| 加勒比综合88| 日本黄大片在线观看视频| 啪啪资源网| 亚洲欧美经典一区二区| 欧美婷婷五月天| 欧亚综合一卡二卡中文字幕| 校园春色综合色| 国产后入式在线观看| 国产精品久久久久久久久久久久久久吹 | 久久熟女人| 天堂亚洲精品久久老牛| 狠狠入| 色在线亚洲视频www| 日本在线不卡一二区| 欧美熟爽综合| 熟女露脸激情自拍视频| 男人的天堂va| 国产精品爽爽v| 天天天天干| 精品一区二区三区最新| 热G综合热G中文| 日逼97| 国产日韩精品人妻久久久久色欲网站 | caorenqi shipin| 中文字幕二区日韩天堂| 东北操逼| 免费a v| 97自拍视频在线| 久久精品视频久久久| 天天享受天天看| 人人澡人人澡人人| av网站在线看| 中文字幕精品区先锋资源| 亚洲熟妇丝袜在线观看| 国产91丝袜 在线播放| 国产精品人人爽人人做可爱福利| 丝袜 亚洲 偷拍| 日韩综合97P| 综合久久少妇中文字幕| 97五月天| 久久久少妇诱惑精品视频| 免费观看成人www精品视频| 91粉嫩萝控精品福利网站_精品影音先锋国| 日本三级日本三级三级人妇四虎| 亚洲日韩资源| 人人操肉肉| 亚洲国产精品久久久久婷婷青年| 国产一区二区精品在线视频| 亚洲综人| 97啪啪| 热久久这里只有精品| 欧洲精品久久| 日本乱人伦片中文三区| 亚洲欧美精品91| 久久做97| 国产精品久久| 激情五月天婷婷| 国产精品另类一区大香蕉| 国产日韩欧美中文在线播放| 亚洲色鬼| 黄久久| 美国aaaaa一级黄片| 天天α片| 一起草视频在线| 久久久97| 日欧毛片久久| 四虎午夜影院| 欧美极品女人的天堂| 91观看 国产白丝| 狠狠久久手机视频精品| 中文字幕一区 二区三四五 区日 日骚| 在线观看午夜婷婷久久久久清性观看| 日本中文熟女视频| 在线人妻熟女一区二区三区四区五区| 国产成人在线观看网址| 国内91熟女人妻丝袜天天精品视频在线| 精品久操| 中文字幕第页| 欧美综合另类| 欧美 日韩 国产传媒| 亚洲成人黄色在线观看| 男人天堂一区二区| 在线观看亚洲成人精品| 99∨VTV| 老熟女综合| www四虎| 岛国大片国产| 亚洲自拍欧美色综合| 久久精品国产72国产精品福利| 国产精彩女在线观看视频| 国产高清成人传媒影视| 亚洲九九视频| 好吊妞转入那个网| 久久永久无码人妻视频| 黑操B| 国产操逼视频在线观看| A男人的天堂| 最近2019中文字幕国语免费版| 欧美成人国产精品| 黑丝少妇| 最新亚洲黄色免费电影 | 久久97超碰香蕉| 天天色播| 97超碰站| 91久久伊人婷婷青青草| 欧美日韩国产中文精品字幕自在自线| 久九九九九九九九热| 91黑丝露脚| 国产操伦| 青青草综合在线| 开心五月深爱五月| 国产高清自拍视频| 猛交交| 伊人久久大香线蕉无码| 日韩日韩日韩-国产乱码精品一区二区| 久久亚洲影院一区二区| 99视频这有这里有精品| 日本高清视频在线观看黄已三辽| 亚洲色图大香| 少妇厨房愉情理伦片bd在线观看| 亚洲熟久久| 2020中文字幕| 日本成人A片免费看| 91九色丨风韵犹存| 久久夜夜夜夜| 日本在线一二 | 久久久男人的天堂| 狠狠干综合| 91丨人妻丨国产丨丝袜| 欧美亚洲涩涩| 北条麻妃99精品青青久久| 国产精品自拍xxxx| 激情文学亚洲| 爱爱动态试试看6 0秒| 亚洲一区二区三区四区视频| 小说区 图片区色 综合区| 麻豆区久久久久亚| 亚洲欧美一区二区三区在钱蜜桃| 免费精品人妻一区二区三| 色图综合| 亚洲性综合| 亚洲大色堂| 99热免费| 日韩在线观看字幕精品| 色呦呦国产精品免费看| 久久在肏| 91少妇通奸网站| 99青青草国产视频| 乱伦1色页| 国产隔壁老王影院在线| 少妇天堂| 欧亚 另类 久| 老女人老91妇女老热女| 日韩在线97| 视频二区美腿丝袜制服人妻欧美| 中文操嬖片。| 国产亚洲精品A在线观看下载| 9久久精品| 日本 情色 1区2区3区| 91欧美偷拍| 在线观看十八禁| 亚洲人成网www| 亚洲av强奸乱伦| 中国亚洲呦女专区| 成年人黄色小视频网站| 欧美一区二区一级岛国大片| 精品视频一二三中文| 97美日韩视频| 精品一区二区2| 色av中文字| 精品999一区二区| 夜夜夜爽www精品视频| 国产91专区| 99re热| 风月影院男女十八禁| 天天综合网1| 97频视在线| 亚洲青色欧美| 亚洲清纯唯美| 97在线青| 九九九九九九免费视频| 蜜臀无码一区二区| 中文字幕精品专区搜索结果91| 精品成人女人久久| 999九九九九国产动| 综合色久欲| 性生活无遮挡纯毛片在线看|