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

ARTICLE DETAIL

資訊詳情

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

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

機(jī)器人嵌入式崗位重新定價(jià):從STM32到Linux的能力躍遷 1. 機(jī)器人嵌入式崗位的定價(jià)邏輯正在發(fā)生什么變化這兩年跟做機(jī)器人的朋友聊天話題從“你用什么主控”慢慢變成了“你那邊Linux驅(qū)動誰在扛”。這個(gè)變化挺微妙的但背后反映的是整個(gè)行業(yè)對嵌入式工程師能力評估體系的一次重構(gòu)。以前我們聊嵌入式STM32加個(gè)RTOS基本就能覆蓋大部分場景現(xiàn)在你去翻招聘需求會發(fā)現(xiàn)“熟悉Linux驅(qū)動開發(fā)”“有ROS/ROS2經(jīng)驗(yàn)”“了解實(shí)時(shí)內(nèi)核調(diào)優(yōu)”這些詞出現(xiàn)的頻率越來越高。不是STM32不重要了而是單純會STM32已經(jīng)不夠撐起一個(gè)機(jī)器人崗位的薪資預(yù)期了。我自己的觀察是機(jī)器人這個(gè)賽道把嵌入式崗位拆成了兩個(gè)明顯的方向一個(gè)是偏底層的實(shí)時(shí)控制一個(gè)是偏上層的系統(tǒng)集成。前者還是STM32、RTOS那一套但要求你對電機(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ī)劃自己的技能樹。我會盡量用實(shí)際項(xiàng)目里的例子來說明而不是泛泛地談趨勢。適合已經(jīng)在做嵌入式、想往機(jī)器人方向靠的朋友也適合剛?cè)胄?、想知道該往哪個(gè)方向投入時(shí)間的新人。2. STM32和RTOS從“會用”到“用得好”的分水嶺2.1 為什么STM32依然是機(jī)器人底層的硬通貨先說一個(gè)可能有點(diǎn)反直覺的判斷STM32在機(jī)器人領(lǐng)域的地位不但沒有下降反而在某些細(xì)分場景里變得更關(guān)鍵了。原因很簡單機(jī)器人對實(shí)時(shí)性的要求是剛性的。你讓一個(gè)機(jī)械臂的關(guān)節(jié)控制跑在Linux上哪怕打了實(shí)時(shí)補(bǔ)丁抖動也可能到幾百微秒級別而STM32跑裸機(jī)或者RTOS抖動可以控制在微秒級。這個(gè)差距在低速場景可能看不出來但在高速抓取、力控打磨這些場景里就是能不能用的區(qū)別。我去年幫一個(gè)朋友調(diào)過一臺協(xié)作機(jī)器人的關(guān)節(jié)控制器用的就是STM32F4系列跑FreeRTOS。他們的痛點(diǎn)很有意思單個(gè)關(guān)節(jié)控制沒問題但六個(gè)關(guān)節(jié)聯(lián)動的時(shí)候總線通信的延遲導(dǎo)致末端軌跡跟蹤誤差超標(biāo)。這個(gè)問題最后不是靠換更快的芯片解決的而是重新設(shè)計(jì)了CAN總線的調(diào)度策略把關(guān)鍵控制幀的優(yōu)先級提上去同時(shí)把一些非實(shí)時(shí)的狀態(tài)上報(bào)挪到低優(yōu)先級任務(wù)里。這個(gè)過程里對STM32的CAN外設(shè)、中斷優(yōu)先級、RTOS任務(wù)調(diào)度的理解深度直接決定了你能不能定位到問題。所以STM32的“變貴”不是因?yàn)樗旧碜冸y了而是因?yàn)闄C(jī)器人場景對它的使用深度提出了更高要求。以前你可能只需要點(diǎn)個(gè)燈、讀個(gè)傳感器現(xiàn)在你需要理解DMA和中斷的配合、理解總線仲裁、理解RTOS里優(yōu)先級反轉(zhuǎn)怎么避免。這些知識在普通項(xiàng)目里可能一輩子用不上但在機(jī)器人里是天天要面對的。2.2 RTOS在機(jī)器人項(xiàng)目里的真實(shí)使用場景RTOS在機(jī)器人里的角色我覺得可以用一個(gè)類比來說明它就像是一個(gè)交通警察負(fù)責(zé)讓不同優(yōu)先級的任務(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)先級反轉(zhuǎn)或者任務(wù)餓死的bug。我用過幾種RTOSFreeRTOS在STM32上是最常見的Zephyr這兩年在機(jī)器人圈子里也開始多起來尤其是需要網(wǎng)絡(luò)協(xié)議棧或者多核支持的場景。選哪個(gè)其實(shí)不是最關(guān)鍵的關(guān)鍵是你得理解RTOS的幾個(gè)核心概念任務(wù)優(yōu)先級怎么分配、中斷和任務(wù)的交互怎么設(shè)計(jì)、共享資源怎么保護(hù)。這些東西在文檔里都有但實(shí)際項(xiàng)目里踩的坑往往出在細(xì)節(jié)上。舉個(gè)例子我之前做一個(gè)移動機(jī)器人的底盤控制用FreeRTOS建了三個(gè)任務(wù)電機(jī)控制任務(wù)最高優(yōu)先級、IMU讀取任務(wù)中優(yōu)先級、上位機(jī)通信任務(wù)低優(yōu)先級??雌饋頉]問題對吧但實(shí)際跑起來發(fā)現(xiàn)電機(jī)控制任務(wù)偶爾會延遲。查了半天發(fā)現(xiàn)是IMU讀取任務(wù)里用了I2C而I2C的驅(qū)動里有個(gè)忙等待的循環(huán)在等待期間它不釋放CPU導(dǎo)致高優(yōu)先級任務(wù)被阻塞。解決辦法是把I2C改成中斷或者DMA模式或者在忙等待里加個(gè)taskYIELD。這種問題你在教科書里看不到但實(shí)際項(xiàng)目里很常見。2.3 傳統(tǒng)能力“變貴”的具體表現(xiàn)所謂“變貴”我理解體現(xiàn)在兩個(gè)方面一是薪資溢價(jià)二是崗位門檻。從我這段時(shí)間看到的招聘信息來看同樣寫著“熟悉STM32和RTOS”機(jī)器人公司的面試深度明顯比消費(fèi)電子公司要深。他們會問你如果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ī)器人場景對實(shí)時(shí)性、可靠性的要求更高能勝任的人更少。而且這個(gè)差距還在擴(kuò)大因?yàn)闄C(jī)器人出貨量在漲但能做好底層控制的人培養(yǎng)周期很長。3. Linux在機(jī)器人系統(tǒng)里到底承擔(dān)什么角色3.1 從“可選”到“必選”的轉(zhuǎn)變五年前你做機(jī)器人Linux可能只是用來跑個(gè)上位機(jī)界面或者做個(gè)簡單的通信網(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有豐富的庫和框架支持ROS/ROS2、OpenCV、PCL這些工具鏈在Linux上是最成熟的。但這里有個(gè)常見的誤區(qū)很多人以為Linux就是“跑個(gè)Ubuntu”會敲幾個(gè)命令就行了。實(shí)際機(jī)器人項(xiàng)目里對Linux的要求遠(yuǎn)不止于此。你需要理解實(shí)時(shí)調(diào)度策略SCHED_FIFO、SCHED_RR、需要知道怎么隔離CPU核心給實(shí)時(shí)任務(wù)、需要會看ftrace或者perf來定位延遲問題。這些技能在普通的Linux運(yùn)維里用不到但在機(jī)器人里是剛需。3.2 機(jī)器人Linux開發(fā)的幾個(gè)關(guān)鍵能力點(diǎn)我梳理了一下機(jī)器人方向的Linux嵌入式開發(fā)核心能力大概有這么幾塊第一是設(shè)備驅(qū)動開發(fā)。機(jī)器人上有很多自定義的傳感器和執(zhí)行器它們的接口可能是SPI、I2C、CAN、甚至PCIe。你需要能在Linux內(nèi)核里寫驅(qū)動來對接這些設(shè)備。這個(gè)門檻比STM32的HAL庫開發(fā)要高不少因?yàn)長inux驅(qū)動涉及內(nèi)核態(tài)編程、并發(fā)控制、電源管理等一系列復(fù)雜問題。但一旦掌握了你會發(fā)現(xiàn)它的擴(kuò)展性強(qiáng)很多一個(gè)驅(qū)動寫好了上層應(yīng)用可以通過標(biāo)準(zhǔn)的文件接口來訪問不用每次都改應(yīng)用代碼。第二是實(shí)時(shí)性調(diào)優(yōu)。標(biāo)準(zhǔn)Linux內(nèi)核的調(diào)度延遲在毫秒級別對于很多機(jī)器人應(yīng)用來說是不夠的。你需要會用PREEMPT_RT補(bǔ)丁或者至少知道怎么用CPU隔離、中斷親和性設(shè)置來降低延遲。我見過一個(gè)案例一個(gè)移動機(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)先級。調(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了我的回答通常是看你的控制頻率和抖動要求。如果你的控制循環(huán)在100Hz以下抖動要求是毫秒級那Linux加上實(shí)時(shí)補(bǔ)丁基本夠用。但如果你的控制循環(huán)在1kHz以上抖動要求是微秒級那還是老老實(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)動控制和安全邏輯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 不同能力組合的市場價(jià)值對比為了更直觀地說明問題我整理了一個(gè)粗略的能力定價(jià)對比表。這個(gè)表是基于我看到的招聘信息和跟同行交流得出的不一定精確但能反映大致的趨勢。能力組合典型崗位薪資范圍一線城市3-5年經(jīng)驗(yàn)市場供需STM32 RTOS 電機(jī)控制底層控制工程師25K-35K供需平衡STM32 RTOS Linux驅(qū)動嵌入式系統(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供需平衡從表里能看出來單純會STM32或者單純會Linux薪資上限是有限的。真正“變貴”的是那些能打通底層實(shí)時(shí)控制和上層系統(tǒng)集成的人。這種人需要同時(shí)理解微秒級的時(shí)序約束和秒級的任務(wù)調(diào)度能在兩種截然不同的開發(fā)范式之間切換。培養(yǎng)周期長自然就貴。4.2 為什么“全棧嵌入式”在機(jī)器人領(lǐng)域特別值錢機(jī)器人系統(tǒng)的特殊性在于它的性能瓶頸往往不在單個(gè)模塊而在模塊之間的交互。比如你有一個(gè)很好的視覺算法但圖像傳輸延遲太大整個(gè)系統(tǒng)的響應(yīng)就上不去。或者你的電機(jī)控制很精準(zhǔn)但上位機(jī)的軌跡規(guī)劃不平滑末端抖動就很明顯。這些問題需要有人能從系統(tǒng)層面去分析和優(yōu)化而不是只盯著自己那一畝三分地。我認(rèn)識一個(gè)做協(xié)作機(jī)器人的架構(gòu)師他的背景很有意思最早是做STM32電機(jī)控制的后來自己學(xué)了Linux和ROS再后來去做了兩年的運(yùn)動規(guī)劃算法?,F(xiàn)在他帶團(tuán)隊(duì)能跟底層驅(qū)動的同事聊中斷延遲也能跟上層的算法同事聊軌跡插值的連續(xù)性。這種人在市場上非常搶手因?yàn)闄C(jī)器人公司最缺的就是能打通上下層的人。4.3 哪些傳統(tǒng)能力正在貶值有變貴的就有變便宜的。我觀察到幾個(gè)趨勢單純的STM32外設(shè)驅(qū)動開發(fā)比如點(diǎn)屏、讀傳感器正在貶值因?yàn)檫@部分工作越來越標(biāo)準(zhǔn)化而且很多芯片原廠提供了很完善的庫。單純的Linux應(yīng)用開發(fā)比如寫個(gè)Qt界面在機(jī)器人領(lǐng)域也不值錢因?yàn)檫@部分工作可以外包或者由軟件團(tuán)隊(duì)承擔(dān)。真正貶值的是“只會調(diào)庫”的能力。以前你會用STM32的HAL庫點(diǎn)個(gè)LCD就能找到工作?,F(xiàn)在面試官會問你你知道這個(gè)LCD的時(shí)序參數(shù)怎么算嗎如果刷新率上不去你怎么排查如果你只會調(diào)庫這些問題就答不上來。機(jī)器人領(lǐng)域?qū)Φ讓釉淼囊蟾咭驗(yàn)槌隽藛栴}往往沒有現(xiàn)成的庫可以調(diào)你得自己分析波形、看手冊、改配置。5. 從STM32到Linux的躍遷路徑5.1 第一階段把STM32和RTOS吃透如果你現(xiàn)在還在做STM32裸機(jī)或者簡單的RTOS項(xiàng)目我的建議是先別急著學(xué)Linux把手頭的東西做深。什么叫“做深”我舉幾個(gè)具體的標(biāo)準(zhǔn)你能獨(dú)立設(shè)計(jì)一個(gè)多任務(wù)的RTOS系統(tǒng)合理分配優(yōu)先級處理好任務(wù)間的同步和通信。你能用示波器或者邏輯分析儀定位時(shí)序問題能看懂芯片手冊里的時(shí)序圖。你能優(yōu)化中斷服務(wù)程序的執(zhí)行時(shí)間知道哪些操作該放在中斷里哪些該放到任務(wù)里。你能設(shè)計(jì)一個(gè)可靠的通信協(xié)議處理丟包、重傳、超時(shí)這些異常情況。這些能力在機(jī)器人底層控制里是基礎(chǔ)而且它們是可以遷移的。你理解了RTOS的任務(wù)調(diào)度再去看Linux的調(diào)度器就會容易很多。你理解了STM32的中斷機(jī)制再去看Linux的中斷子系統(tǒng)也會有似曾相識的感覺。我自己的經(jīng)驗(yàn)是在STM32上花時(shí)間研究RTOS的源碼是值得的。FreeRTOS的源碼量不大核心的調(diào)度器和IPC機(jī)制幾千行代碼啃下來之后你對實(shí)時(shí)系統(tǒng)的理解會上一個(gè)臺階。這個(gè)投入在后面的Linux學(xué)習(xí)中會加倍回報(bào)給你。5.2 第二階段Linux系統(tǒng)編程和驅(qū)動入門從STM32轉(zhuǎn)到Linux最大的障礙不是命令行而是思維方式的轉(zhuǎn)變。在STM32上你直接操作寄存器一切都在你的掌控之中。在Linux上你通過內(nèi)核提供的接口來操作硬件中間隔了好幾層抽象。這個(gè)轉(zhuǎn)變需要時(shí)間適應(yīng)。我的建議是從Linux系統(tǒng)編程開始先熟悉文件IO、進(jìn)程線程、信號、IPC這些概念。然后找一個(gè)簡單的驅(qū)動例子比如GPIO驅(qū)動或者字符設(shè)備驅(qū)動在樹莓派或者BeagleBone上跑一遍。重點(diǎn)不是把驅(qū)動寫得多完美而是理解Linux的設(shè)備模型設(shè)備樹怎么描述硬件、驅(qū)動怎么注冊、用戶空間怎么訪問。這個(gè)階段我推薦用BeagleBone Black或者樹莓派因?yàn)樗鼈兊纳鐓^(qū)資源豐富出了問題容易找到答案。等你有了一定基礎(chǔ)再上更復(fù)雜的平臺比如NXP的i.MX系列或者瑞芯微的RK系列這些在機(jī)器人產(chǎn)品里用得比較多。5.3 第三階段實(shí)時(shí)調(diào)優(yōu)和系統(tǒng)集成當(dāng)你能在Linux上寫驅(qū)動、跑ROS節(jié)點(diǎn)之后下一步就是實(shí)時(shí)調(diào)優(yōu)。這部分是機(jī)器人Linux開發(fā)和普通Linux開發(fā)的分水嶺。你需要理解調(diào)度策略SCHED_FIFO、SCHED_RR、SCHED_DEADLINE的區(qū)別和適用場景。CPU隔離怎么通過isolcpus或者cgroups把CPU核心隔離出來給實(shí)時(shí)任務(wù)用。中斷親和性怎么把特定中斷綁定到特定CPU核心減少緩存失效和上下文切換。內(nèi)存鎖定怎么用mlockall防止實(shí)時(shí)任務(wù)被換頁出去。延遲測量怎么用cyclictest測量系統(tǒng)延遲怎么用ftrace追蹤延遲來源。這些知識在普通的Linux運(yùn)維里用不到但在機(jī)器人里是核心技能。我建議你在學(xué)習(xí)的時(shí)候準(zhǔn)備一個(gè)實(shí)際的測試平臺比如用樹莓派加一個(gè)伺服電機(jī)寫一個(gè)簡單的控制循環(huán)然后測量不同配置下的延遲。這種動手實(shí)驗(yàn)比看文檔有效得多。6. 實(shí)操案例一個(gè)移動機(jī)器人底盤的軟硬件協(xié)同設(shè)計(jì)6.1 系統(tǒng)架構(gòu)和選型理由去年我參與了一個(gè)移動機(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)先級分配是這樣的// 任務(wù)優(yōu)先級定義數(shù)值越大優(yōu)先級越高 #define PRIO_MOTOR_CTRL 5 // 電機(jī)控制1kHz #define PRIO_IMU_READ 4 // IMU讀取500Hz #define PRIO_CAN_RX 3 // CAN接收事件驅(qū)動 #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沒收到新的速度指令就自動減速停車。CAN通信的數(shù)據(jù)格式我們定義了一個(gè)簡單的協(xié)議每幀8字節(jié)包含幀類型、數(shù)據(jù)長度、數(shù)據(jù)和CRC校驗(yàn)。速度指令幀包含線速度和角速度狀態(tài)上報(bào)幀包含當(dāng)前速度、電流、溫度、錯誤碼。這個(gè)協(xié)議很簡單但足夠用而且調(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左右對于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各有所長強(qiáng)行讓一方做另一方的事效果往往不好。STM32做實(shí)時(shí)控制Linux做計(jì)算和決策兩者通過定義良好的接口通信這是目前機(jī)器人底盤的主流方案。另一個(gè)啟示是通信協(xié)議的設(shè)計(jì)比想象中重要。我們一開始想用ROS2的DDS直接跟STM32通信但DDS的協(xié)議棧太重STM32跑不動。后來改成自定義的CAN協(xié)議簡單可靠反而更合適。所以在機(jī)器人項(xiàng)目里不要迷信“標(biāo)準(zhǔn)方案”要根據(jù)實(shí)際約束來選擇。7. 常見問題與排查技巧實(shí)錄7.1 STM32和RTOS相關(guān)的典型問題問題一RTOS任務(wù)偶爾延遲導(dǎo)致控制周期抖動。這個(gè)問題的排查思路是先確認(rèn)是哪個(gè)任務(wù)延遲用GPIO翻轉(zhuǎn)加示波器測量任務(wù)的實(shí)際執(zhí)行時(shí)間。如果發(fā)現(xiàn)是高優(yōu)先級任務(wù)被低優(yōu)先級任務(wù)阻塞檢查是否有共享資源沒有正確保護(hù)。常見的原因是低優(yōu)先級任務(wù)在持有互斥鎖的時(shí)候被中斷打斷而中斷里又試圖獲取同一個(gè)鎖。解決辦法是用優(yōu)先級繼承互斥鎖FreeRTOS的xSemaphoreCreateMutex默認(rèn)支持或者把共享資源的訪問放到臨界區(qū)里。問題二CAN總線負(fù)載率高的時(shí)候丟幀。CAN總線的仲裁機(jī)制決定了低優(yōu)先級幀在總線忙的時(shí)候會被延遲甚至丟失。解決辦法是合理分配CAN ID把關(guān)鍵控制幀的ID設(shè)小優(yōu)先級高非關(guān)鍵的狀態(tài)幀ID設(shè)大。同時(shí)可以降低非關(guān)鍵幀的發(fā)送頻率或者用CAN FD提高帶寬。如果還是不夠考慮用多條CAN總線分擔(dān)負(fù)載。問題三STM32的ADC采樣值跳動大。這個(gè)問題在電機(jī)控制里很常見因?yàn)镻WM開關(guān)會產(chǎn)生電磁干擾。解決辦法有幾個(gè)一是用硬件濾波在ADC輸入引腳加RC低通濾波二是用軟件濾波比如多次采樣取中值或者滑動平均三是調(diào)整采樣時(shí)機(jī)在PWM的中央對齊模式下在計(jì)數(shù)器過零點(diǎn)的時(shí)候觸發(fā)ADC采樣避開開關(guān)噪聲。我一般會先用示波器看ADC輸入引腳的波形確認(rèn)噪聲來源再決定用哪種方案。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測量系統(tǒng)延遲如果最壞延遲超過預(yù)期用ftrace追蹤延遲來源。常見的延遲來源包括中斷處理時(shí)間過長、內(nèi)核線程搶占、內(nèi)存換頁。解決辦法包括把實(shí)時(shí)任務(wù)綁定到隔離的CPU核心、用mlockall鎖定內(nèi)存、把中斷親和性設(shè)置到非實(shí)時(shí)核心上。問題三Linux驅(qū)動加載失敗。先看dmesg的輸出通常會有錯誤信息。常見的原因包括設(shè)備樹配置錯誤、引腳復(fù)用沖突、時(shí)鐘沒有使能、電源域沒有打開。如果是設(shè)備樹的問題用dtc工具反編譯設(shè)備樹檢查節(jié)點(diǎn)的屬性和兼容性字符串是否正確。如果是引腳沖突檢查pinctrl的配置確保同一個(gè)引腳沒有被多個(gè)驅(qū)動占用。7.3 問題排查速查表現(xiàn)象可能原因排查工具解決方案RTOS任務(wù)延遲優(yōu)先級反轉(zhuǎn)、中斷阻塞示波器、GPIO翻轉(zhuǎn)優(yōu)先級繼承互斥鎖、縮短中斷CAN丟幀總線負(fù)載高、終端電阻缺失candump、示波器調(diào)整ID優(yōu)先級、加終端電阻ADC跳動電磁干擾、采樣時(shí)機(jī)不對示波器RC濾波、中央對齊采樣ROS2延遲大QoS配置、回調(diào)阻塞ros2 topic delay調(diào)整QoS、異步回調(diào)Linux調(diào)度延遲中斷搶占、內(nèi)存換頁cyclictest、ftraceCPU隔離、mlockall驅(qū)動加載失敗設(shè)備樹錯誤、引腳沖突dmesg、dtc修正設(shè)備樹、檢查pinctrl8. 給不同階段嵌入式工程師的建議8.1 如果你還在學(xué)校或者剛?cè)胄邢劝袰語言和數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)打牢然后找一塊STM32的開發(fā)板從點(diǎn)燈開始一步步做到能跑RTOS、能寫通信協(xié)議、能控制電機(jī)。這個(gè)過程不要跳步每一步都動手做一遍。我見過太多人直接上Linux結(jié)果底層的基礎(chǔ)不牢遇到時(shí)序問題就抓瞎。同時(shí)建議學(xué)一點(diǎn)Python和Linux的基本操作因?yàn)闄C(jī)器人領(lǐng)域不可避免地會用到這些。但不要本末倒置嵌入式工程師的核心競爭力還是在對硬件和實(shí)時(shí)系統(tǒng)的理解上。8.2 如果你有幾年STM32經(jīng)驗(yàn)想轉(zhuǎn)機(jī)器人你的優(yōu)勢是對實(shí)時(shí)系統(tǒng)和硬件接口的理解這是很多純軟件背景的人不具備的。你需要補(bǔ)的是Linux系統(tǒng)編程、ROS2、以及一些機(jī)器人學(xué)的基礎(chǔ)知識比如坐標(biāo)變換、運(yùn)動學(xué)。建議從一個(gè)小項(xiàng)目入手比如用樹莓派加STM32做一個(gè)簡單的移動機(jī)器人把ROS2的導(dǎo)航棧跑起來。這個(gè)過程會讓你理解機(jī)器人系統(tǒng)的整體架構(gòu)也會讓你發(fā)現(xiàn)自己的知識缺口。不要試圖一下子把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)動控制、傳感器融合、功能安全。架構(gòu)師需要更廣的知識面包括系統(tǒng)設(shè)計(jì)、性能優(yōu)化、團(tuán)隊(duì)協(xié)作。垂直領(lǐng)域?qū)<倚枰畹睦碚摶A(chǔ)比如控制理論、狀態(tài)估計(jì)、機(jī)器學(xué)習(xí)。不管走哪條路保持動手的習(xí)慣很重要。我見過一些架構(gòu)師脫離一線太久對具體的技術(shù)細(xì)節(jié)失去了判斷力設(shè)計(jì)出來的方案看起來很美好但落地困難。定期寫代碼、調(diào)板子、看波形能讓你保持對系統(tǒng)的直覺。9. 我對這個(gè)趨勢的個(gè)人判斷回到標(biāo)題里的“重新定價(jià)”我的理解是機(jī)器人行業(yè)正在從“能做出來”向“做得好”轉(zhuǎn)變這個(gè)轉(zhuǎn)變對嵌入式工程師的能力要求從“廣度”轉(zhuǎn)向了“深度加廣度”。以前你會STM32就能找到工作現(xiàn)在你需要在一個(gè)方向上足夠深同時(shí)在其他相關(guān)方向上有足夠的廣度來支撐系統(tǒng)級的思考。STM32和RTOS不會過時(shí)但它們的價(jià)值會越來越依賴于你用它解決了什么問題。如果你只是用STM32點(diǎn)了個(gè)燈那這個(gè)技能不值錢。如果你用STM32加RTOS做出了一個(gè)抖動在微秒級、能在惡劣電磁環(huán)境下穩(wěn)定運(yùn)行的控制系統(tǒng)那這個(gè)技能就很值錢。Linux也是一樣會敲命令不值錢能用Linux構(gòu)建一個(gè)滿足實(shí)時(shí)性要求的機(jī)器人系統(tǒng)才值錢。最后分享一個(gè)我自己的習(xí)慣每隔一段時(shí)間我會把自己會的東西列一個(gè)清單然后問自己這里面哪些是“只有我會”或者“會的人很少”的。如果清單里大部分都是“很多人都會”的技能那就說明我需要往深處再挖一挖了。這個(gè)習(xí)慣幫我避開了不少“看起來很忙但實(shí)際在貶值”的陷阱。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
五月婷婷久久综合| 久久精品人人做人人看| 黄片视频,下载| 91超级碰| 青草一区二区| 偷拍综合亚洲| 亚州操操穴网| 丁香五月婷婷啪啪| 丰满岳乱妇一区二区三区| 青青草日韩免费观看高清在线| 日韩亚洲中文字幕在线| 日韩一级久久毛片| 玖玖无码超碰| 嗯嗯啊啊日韩精品| 中出789在线视频| 大屁股xxxxx| 白嫩少妇| 中文字幕在线观| 97超碰巨乳| 久99热| 精品亚洲一区在线观看| 激情文学亚洲| 淫纸中9区| 国产熟妇一区二区| 人妻插插人妻人| 丁香五月激情五月| 久久久久9999| 91GD.COM| 偷窥自拍亚洲天堂网爆| 殴美,日韩国产伦精品| 日本伦乱九九九综合| 久久↗↗| 国产综合久| 亚洲综合夜色| 视频在线观看青青99国产| 久久曰曰| 啊啊啊啊啊啊啊在线| 丁香五月社区| 欧美激情综合色综合啪啪五月| 欧美操逼熟女| 激情综合亚洲| 伊人色综合网| 日韩紧密久久| 蜜桃av综合网发布| 97色在线视频| 97在线亚洲| 色图综合| 欧洲亚洲人妻无码高清久久三区四区| 午夜啊啊| 91粉芽高清在线一区二区| 91N综合网在线| 超碰99在线观看| 青青草中文字幕| 欧洲精品一区二区三区| 伊人久久青青草| 岛国色情视频在线观看| 亚洲人妻精品一区二区| Aa东京男人的天堂| 秋霞午夜视频一区二区| 亚洲97在线| 狠狠操夜夜操蜜桃视频三区| 精品日韩人妻视频| 男人的天堂久久狠| 99爱久久视频频| 思思热在线观看| 狠狠操夜夜| 97天堂| 中文字幕伊人| 日韩天天本| 五月丁香啪| AV无码久久久精品| 国产人妻天天干精品| 蜜臀99久久| 2003天天干夜夜操| 日本精品免费一区二区三区四区| 亚洲色图欧美色图制服丝袜| 欧美日韩中文字幕不卡| 一本色道久久综合狠狠操| 91综合国产精品| 夜夜嗨AV蜜臀av| 91超级碰| 日韩紧密久久| 国产AV人人 夜夜人人澡| 久jiu久神马影院| www.婷婷五月天| 欧美精品一区二区少妇免费A片| 天天视频黄| 強姦亂倫a| 东京热视频网| 噜噜吧,噜噜色,噜噜| 久热9| 欧美老熟另类| 大香蕉92| 天天看精品动漫视频一区| 国产精品女生av| 一区二区三区精品视频| 97精品国产97久久久久久免费| 丁香五月性爱| 欧美在线色图| 久久精品日韩专区免费观看| av毛片aaaaa免费看| yellow网站免费观看日韩高清无码| 大香蕉九九| 日日操丁香五月天| 久久乐| 有码色中文字幕在线观看| 欧美激情久久久久| 精品九九九| 久综合国内精品自在自线| 中文字幕精品探花视频| 亚洲精品国产熟女久久久久久| 国产亚洲精品玖玖玖在线观看| 日本三级黄页| 一本一道久久综合久久| 亚洲熟女精品| 最新精品久久蜜桃 | 五月丁香黄色网| 色av中文字| 综合网欧美在线| 精品中文日韩字幕视频| 啪啪啪东京| 久久久精品国产亚洲伊人| 噜噜噜久久亚洲精品色情| 日本三级韩三级99久久| www欧美91| 美女极品一区二区三区| 亚洲。天堂。日本在线观看| 黄在线| 蜜桃中文字日产乱幕4区| 懂色av中文字幕| 国产精品宅男免费| 99re6在线视频精品免费完整版安卓版| 超碰97伊人| 久久久精品91八戒| 日日夜夜草草草| 日韩欧美综合激情| 四虎在线视频| 欧美色图片91| 国产色呦呦| 久久婷婷苹果| 超碰在线人妻不卡| 99热在线观看| 999久久久免费精品国产牛牛| 激情综合五月天| 啊啊啊好疼| 亚洲国产激情国产av| 久久精品国产97欧美精品亚洲 | 好涩综合| 亚码人妻| 欧美精品四区| 成人性爱高清视频免费看| 国产热av| 91久久国外网| 精品福利视频| 91精品大奶人妻| 国产色产精品在线观看| 97鸡把在线视频| 怡春苑东京热| 韩国一区二区精品亚洲| 亚洲精品啪视频| 欧日韩一二三f区| 天天摸夜夜摸| 白嫩嫩一区| 啪啪啪东京| 亚洲天堂一区| 超碰久超碰久| 天天在线91| 97日视频| 人妻内射一区二区在线视频| 亚洲91网站| 操久久久久久| 久久熟女嫩草成人片免费| 无码99| 超碰av人人人| 亚洲精品三区在线观看| 国产精品白领在线观看| 中文久久久| 欧美色图自拍| 超碰97精品| 日本一区二区亚洲综合| 任你草| 人妻铁牛TV| 99热aaa| 婷婷丁香五月天亚洲天堂网| 98人妻精品一区二区色欲| 久噜噜| 色色色热| 免费看黄视频亚洲网站| 欧美大香蕉久| 大香蕉一人| 久久手机好看网站| 澳门特级毛片免费观看| 极品欧美一区二区三区| 亚洲s色图| 天天日日日射| 一区二区三区在线资源| 午夜久久无码1000合集| 国产强奸乱伦欧美| 亚洲国产精品成人久久蜜臀| 日日不卡av| 成熟熟女国产精品一区二区| 91狠| 黄片在线免费在线观看| 精品无av| 超碰这里有精品| 97爱免费插| 尤物一级在线免费观看| 麻豆视频国产一区二区| 男人的天堂免费| 日韩啪啪视频| 亚洲色人妻综合| 精品超碰中文在线| 大香蕉婷婷| 精品久久久高清无码| 国产免费小视频| 激情小说亚洲视频| 激情婷婷丁香| 日本精品久久久久久久| 日本天堂网| 亚殴在线| 啊啊啊com| 欧美性爱五月天| 国产女人与拘做受视频免费| 亚洲无码国产探花在线观看| 亚洲情色 无码专区| 国产吹潮女在线观看| 亚洲色9| 殴美牲| 99re在线观看| 中文字幕 码 自拍 视频 区| 天天爽夜夜操| 日韩美一区| 日韩啪啪啪啪啪| 国产第25页在线观看| 中文字幕一区二区无码成人| 亚洲欧美一区二区三区在钱蜜桃| 天天天天干| 日韩欧美国产一区二区三区四区| 國產尤物AV尤物在線觀看| 日韩操逼HD| 色视频蜜乳| 三级日韩一区二区三区| 日本αv| 91欧美亚洲| 亚洲九九九| 欧美欧美啪啪视频| 超碰国产精品久| 亚洲美女自拍偷拍视频| 丁香五月久久| 中文伊人大香蕉视频| 好爽,再快点啊哈嗯嗯嗯嗯| 欧美少妇第一页| 人妻人人澡人人爽人人| 天天操天天日青青草超碰av| 高颜值美女口爆高潮浪叫| 黄页| 色嗨嗨在线| 91动漫操逼视频| 欧美综合区| 激激五月| 久久久久久裸体| 欧美97| 1769国内精品视频| 精品一区二区亚洲国产| 婷婷五月天成人网| 久久鲁夜| 精品女同一区二区三区| 一级性爱网| 思思热久久成人| 国产精品久久久三级无码| 怡红院一区二区熟女人妻| 25国产精品免费观看| 干b在线性社区| 乱伦一区二区三区‘| 中文字幕一区二区三区四区在线视频| 国模精品一区二区三区苹果色戒| 性性欧美| 在线中文字幕| 色五月婷婷久久| 日日黄色三级网站| 国产丝袜啪啪| 神马久久久久久伦理片| 熟妇视频一区二区三区在线观看| 色在线69堂| 久久夜夜| 色色色综合网| 久久机热| 日韩精品人妻| 天天日夜夜| 欧美一级专区免费大片| 亚洲欧美人妻| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 亚洲天堂电影精品一区| 亚洲国成人情色好看电影| 激情婷婷黑人91| 日韩三A大片在线观看| 欧美乱色| 91人妻人人澡人人爽人人精品| 无码人妻精品一区二区中文| 欧洲乱码视频| 日本熟女不卡视频| 艳美熟妇先锋一二三区| 日本男人天堂| 男人的天堂不卡一区二区| 九久久精品| 91快色色色色色| 新97国产超碰| 日韩中文字幕精品一区在线| 日韩三级在线观看mp4| 理论久久婷婷网8| 睡产熟女乱伦| 97jingpin| 国产免a费看黄片在线| 中文字幕在在线观看网站| 97久久久久| 在线看免费无码AV天堂的| 91扒丝袜综合在线| 素人一区二区三区日韩| 亚洲欧美一区二区不卡视频播放 | 翔田千里AⅤHD无码| 大香蕉AV丝袜| 日韩偷拍一区二区三区| 大香蕉欧美国产日韩高潮| 国产亚洲精品A在线观看下载| 女一区二区| 偷拍 欧美 日韩| 91艹逼精品| 亚洲国产成人精品999| 国产久久男人天堂| 九色视频91| 久久久亚洲精品中文字幕人妻| 欧美 亚洲 另类 综合| 九九九色| 欧美第38页| 亚洲一区中文精品| 美女干逼2| 亚洲午夜福利视频| 日韩猛交| 女同性恋一区二区三区精品视频| 又粗又长又爽在线观看| 青青青青青手机视频| 98色网| 亚洲成a人v欧美综合天堂下载| 综合欧美亚洲| 无码欧美有限公司| 黄色一区二区秘书性感| 一二三四区电影| 九九热精品在线| 国产又猛又粗又爽又黄| 五月婷婷青青草娱乐伊人| 91性高潮久久久久久久久| 夜色91| 亚洲色香| 日本在线激情一区二区三区| 男女做爰猛烈动高潮A片免费应用| 欧美一区二区成人一卡| 9久热| 欧美大香蕉久| 快播电影网日韩新片| 欧美高清性猛交| 蜜桃无码AV一区二区| 日本淫乱女一区二区三区视频| 情侣操 逼视频99| 看日韩美女二区三区免费操逼视频| 亚洲国产av中文字幕久久| 久久久性少妇| 91性生活久久久| 久久综合五月天| 欧美性爱第一区| 啊啊啊水好多| 久久影视二区三区行押| 粉嫩小泬久久久一区二区| 色五月婷婷麻豆在| 人妻乱仑一区二区三区| 精品国产91内射久久| 欧美亚洲特P| 亚洲激情色片| 影音综合网| 大香交伊人网| 无码免费精品高清| 91av一区二区在线观看| 亚洲阿v天堂无码z2018| 日本国产欧美一区三区二区| 午夜噜噜噜| 蜜臀久久精品久久久久视频| 欧美性,色九九| 99性爱| 日亚韩精品视频二区三| 樱花蜜乳av| 日日超碰亚洲| 青青青在线高清视频在线一二三四区| 99蜜月精品久久| 亚洲天堂第一页| 亚洲色人妻综合| 五月婷婷五月天| 国产女生在线| 久久久久亚洲Aⅴ无码| 亚洲色欲天天天堂色欲网女| av网站在线观看了| 日本人人操人人操| 亚洲激情在线观看一区| 好屌色综合| 大吊色| 久操 高清| 美女黑人91神马| 躁躁日曰躁2020| 丰满搜索结果 -第18页- 久久高清无码| 亚洲午夜免费狠狠干| 一区二区激情国产熟女| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 国产熟妇一区二区| 热久久99999| 国产精品91ai| 丝袜狠狠草尤物 91| 无码操逼天堂| 亚洲激情深爱文学小说网站| 亚洲美女黄色| 毛片17S| 日欧毛片久久| 蜜屁Av| 久久久久九九九| 日韩另类色图| 黄色网址久久精品欧美喷水| 日韩精品中文字幕二区| 免费岛国一级片| 日韩欧美日韩| 可以在线观看的黄色网址| 一区操逼日比视频| 免费久久精品麻豆一区二区av| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 搞中出视频在线观看| 精品中文一区二区| 色图综合网| 人人干黄色| 一起草日韩| 日本网色| 91人妻超碰| 日韩99神马视频片| 黑人性暴力毛片| av网站免费线看| 操高情无码| 五月丁香综合| 日本免费人成视频播放120秒| 加勒比久久综合网高清| 成人夜夜爽| 日韩钢筋无码高清啾啾啾| 九九九九九九九九九五码| 日本不卡一二区| 91大神精品长腿在线观看网站| 成人麻豆av电影网站| 亚洲精品99| 亚洲黄a三级三级三级看三级| 99热在线只有精品| 成人网站 免费观看| 国产97亚洲| 久久91精品国产9丨久久分亭| 亚洲国产无码精品首页久久久| 精品少妇后入一区二区三区四区人妻巨乳 | 久久精品中文字幕无码l| 一区二区激情国产熟女| 四虎精品一区| 国产宅男宅女在线观看| 成人AV素股で擦久久| 日本一卡二区在线| 强歼乱伦资源网| 亚洲精品一二三四区| 国产AV线| 国产福利视频精品视频| 精品四五区| 抽插一区二区视频| 国产女性无套 免费观看| 亚州色站 日韩电影| 色色九区| 十八禁视频网站| 久久有碼| 91精品久久久久五月天精品| 久操99| 国际精品久久久| 国产操逼逼网| av在线免费一区二区| 久久嫩草国产成人一区| 日韩久射综合| 婷婷综合久久| 夜夜欢天天干| 欧洲熟妇xxXx欧美老妇裸体| 久久伊人青青草| 日本成人在线不卡一区二区三区| 亚洲有码 视频一区| 成人怡红院| 91久热这里只有精品| 啊啊啊啊好疼| www.激情| 亚洲精品久久久久毛片A片拉屎 | 搞中出久久| 亚洲熟女精品| 欧美天天| xxx亚洲午夜天堂| 清纯唯美激情| 九九久久久| 亚洲AV小说| 东京热男人的天堂| 男人下部插入女人下部| jizz啪啪| 九草在线大香蕉| 中文字幕一区二区三区高清| 久操视频免费观看| 色综合久久av| 日日橹狠狠爱欧美超碰| 亚洲超碰AV| 超碰吊日色| 国产精品一二三免费网站| 久久这里只有精品9| 天天透伊人| 欧洲精品二区| 精久久久91| 国产极品一区二区三区三州| 96一区二区| 美女高潮视频91| 三级三级三级a级全黄三| 91视频女生| 99亚亚热| 污色区网站| 老女人91| 91蜜臀在线久久久久| 国产日韩精品suv| 日韩精品三级片长长久久| 国内毛片无码一级毛片| 粉嫩av在线| 人妻素股| 欧美内射少妇| 丰满人妻一区二区三区| 五十路熟女工口| 大香蕉 222| 后入式视频国产自| 翔田千里AV无码秘 三区| 麻豆性爱视频在线播放| 十八禁黄色成人网站观看| 91GD.COM| 啪啪啪精品| 男女性扦B| 性生活无遮挡纯毛片在线看| 狠狠干狠狠色| 91快色色色色色| 国产精品香蕉| 欧州色图区| 久久熟妇五十路一区| 国产成人无码久久精品| 51国产午夜精品视频| av日韩中文字幕| 中国黑人三级片网站上区| 最新三级网址| 中国一级特黄大片护士| 色悠久| 美女十八禁| 欧美一级专区免费大片| 夜夜操老骚逼视频网站| 无码又爽又硬又激情免费视频| 俄罗斯一区二区视频在线观看| 富女玩鸭子一级毛片| 一区二区视频在看| 国产精品夜夜夜| 亚洲 另类 丝袜 自拍 动漫| 精品人妻夜夜草| 精品精品精品| 蜜臀久久99精品久久综合| 性爱乱伦一区| 国产精品久久久久久久久久梁医生| 国产精品不卡高清在线观看| 四虎精品一区二区| 国产无码一二三区| 久久久久久性爱免费视频| 人妻啊啊人妻啊| 99精品在线| 中文字幕午夜精品久久久| 在线99热| 婷婷大香蕉| 97久久超碰| 超碰9 7女人| 天天躁狠狠躁av| 一区二区视频你懂的| 久久色一区| 青青草视频在线观看一区二区| 亚洲日韩视频二区| 天天艹天天日| 日va操| 青青草日韩无码| 91网站18+| 中文字幕视频一区视频二区| 色情综合| 亚洲aV无码成人在线观看| av天堂精品久久| 国产精品自在自拍视频| 超碰公开久久网| www.男人天堂| 国产成人久久精品蜜臀| 天天草天天干天天日| 五月天黄色av| 清纯唯美综合| 日韩不卡av一二三| 极品尤物在线观看| 怡春苑东京热| 飘花国产午夜精品不卡| 婷婷五月天小说| 亚洲国产亚洲天堂| 日韩无码三级影院| 性性欧美| 日日插夜夜| 日夜干射色啊| 亚洲综合另类小说色区亚洲成av人片在www| 国产成人www免费人成看片| 婷婷色网| 99热这里只有精品18| 天天色播| 亚洲另类春色| 久久最新视频免费观看| 国产精品露脸在线观看| 亚洲国产一级中文综合久久天堂在线免费观看| 日日A∨| 日本狂喷奶水在线播放212| 精品人妻视频一区二区三区蜜桃视频| 国产激情视频一区区三区| 色穴精品| 亚洲欧洲激情卡通另类文学四射小说网站 | 日本有码影片下载| 极品出轨视频网站| 国产高清1234区| 人人干黄色| 青青欧美| 小少妇| 国产真乱mangent| 欧美78| 丁香五月大香蕉| 日本成人在线不卡一区二区三区| 少妇六月天| 老司机午夜精品视频| 亚洲天堂人人妻| 偷窥自拍亚洲天堂网爆| V A在线| 亚洲区 欧美区| 涩爱AV在线| 99热国产| 操高情无码| 亚州色综合| 久久久成人精品| 清纯唯美激情四射| 一区二区三区精品视频| 69XX一中文字幕人妻91| 日天天九九天堂666| 男人的天堂激情| 婷婷久久大香蕉| 人人操人人摸人人看人人插| 黄页| 黄页av| 亚洲资源网| 天天看特黄的免费网站| 五月丁香激情啪啪| 91艹| 欧美黑人精品一区二区| 亚洲日韩视频二区| 在线播放成人高清免费视频| 狠狠爱大香蕉| 大香蕉中文| 屁股久久久久久| 91情色| yiqicaoav| 精品无码欧美三级| 国产高清亚洲日韩一区| 人妻夜夜爽天天爽三区麻豆AV网站| 中文字幕青青草| 亚洲欧美97| 久久日韩肥臀| 狠狠操狠狠操操| 欧美亚洲自拍另类人妻| 国产日韩无码一区二区三区久久区| 亚洲精品一区二区日本| 国产视频一区二区三区在线免费观看 | 岛国色情视频在线观看| 黄色在线网站| 夂久色| 日韩精品99久久久久久中文字幕 | 大香蕉一级黄色片久久| 岛国片在线播放| 三级三久久线久久99久目本WW| 亚洲乱码国产乱码精网站| 无码久久亚洲高清,| 国产超碰人人爽人人做| 九九在线视频| 精品无吗久久| 日本精品性生活久久久| 亚洲性刺激| 热久久国产| www.婷婷| 亚洲91射| 日韩性爱毛片操骚逼| 五月婷婷六月激情| 二三四区精品| 上床啊啊啊| 成人a大片在线观看| 一区二区久久天天干狠狠| 97综合国产| 免费1级a做爰片观看| 97操操| 天天综合网AV91| 无码不卡亚洲成?人片| 亚洲第一无码播放立川理惠| 传媒免费一区二区三区| 绯色一区二区三区不卡少妇| 凹凸视频特色日本特黄| 99这里只有精品| 久久成人国产| 中文字幕人乱码中文字的预防方法| 秋霞一集毛片观看| 射丝袜高跟鞋99| 东京热一区二区中文字幕| 日韩三级视频一区二区三区| 大香蕉2017| 激情小说五月天| 无码人妻一区二区三区四区老鸭窝| 欧美人妻一区| 久久精品无码不卡| 男人的天堂啪啪啪啪啪蜜桃不卡| 东北女人性交| 夜夜操老骚逼视频网站| 日本黄色精品专区网站| 天天爽夜夜欢视| 亚洲字幕一区二区| 91男女| 99热99re超碰精品| 无码WWW免费视频网站| 青青三级视频| 69精品在线| 看大黄色大片原件| 伊人网一本| 欧美在线伊人色| 一起草日韩| 九九九九九九九九九国产精品| 欧美另类色图片| 日韩av在线免费网站| 亚洲交性| 少妇熟女视频一二三区| 偷拍欧美激情| 69少妇一区二区| 日本加勒比无码专区| 天堂射| 日本免费不卡二区| www.色婷婷.com| 激情熟女12P| 色综合超碰超| 青久操| 天天摸天天碰天天添青青| 午夜精品久久久久久久99蜜桃一| 999久久久免费精品国产牛牛| 亚洲熟久久| 最新精品久久蜜桃 | 欧美五十路熟| 人人弄人人摸| 毛片99-全集电影手机免费观看完整-B029AV | 熟妇乱伦一区二区| 人妻第一页| 国产精品一区在线播放| 欧美天天综合站| 妇人噜噜| 午夜福利在线合集| 97久久久精品| 91久操| 精品超碰中文在线| 成人婷婷丁香| 蜜桃久久久久久久| 男人干美女| 十八禁一区二区无码观看| 亚洲色香| 国产精品一区二区三区在线| 久久成人东京热人妻| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | oumeisetupian| 亚洲精品819| 福利一级版子| 情色大香蕉| 白丝av| 国产又黄又粗的视频| 91精品国产91久久青草| 国产精品4p在线观看| 午夜舔阴达高潮视频免费看| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 日本有码久久| 中文字幕在线观看AV| 亚洲综合影视| 久久精品无码熟妇一区二区三区视频导航| 欧美丰满少妇交换91欧美精品| 人妻少妇精品| 亚洲二区精品在线观看| 玖色AV| 丰满少妇精品一区二区| 国产精品999aaa| 丝袜剧情| 60秒免费小视频| 精…码一二三区| 人人摸人人干人人拍97| 日日爽夜夜爽| 日韩色图 一区二区| 91福利网在线观看| 97久久资源| 日韩资源网| 一区二区免费电影久久| 东北黄色电影| 婷婷午夜清品久久久久久久性色视频观| 日小BB小视频| 亚洲丝袜色| 九九九九精| 五月天激情四射| 精品综合久久久久久97| A级国产欧美激情在线| 俺去也婷婷| 呻吟 欧美 日本 中出| 内射夫妻三片| 密桃99999| 亚洲欧美黄| 日韩成人电影AV| 国产精品久久久九九九| 日韩美女啪啪一区| 亚洲日韩东京热一区| 午夜超爽| chaopen97久久| 丁香五月天啪啪| 午夜九九| 国产农村妇女一区二区| 日本国产欧美一区三区二区 | 日本黄大片在线观看视频| 999狠狠综合| 秋霞网—男女啪啪亚洲免费体验区 | 欧美国产视频| 国产情侣自拍在线播放| 四虎影视永久在线观看精品免费网站| 日本Xx性爱| 国产深喉视频一区二区| 区二区亚洲婷| xxx0国产在线播放| 淫纸中9区| 久久久久成人蜜桃精品| 波多野结衣被操50分钟免费视频 | 2021久久国产综合精品青草| 美女爽到高潮91| 国产精品色哟哟| 亚洲一区中文精品| 国产sv美女内射| 大香蕉啪啪啪啪在线| 久久久久久午夜男人的天堂| 精品人妻中文字幕4399| 国产精品视屏| 亚洲校园激情| 国产精品天干天干综合网麻豆| 色婷婷丁香五月天| 综合久久9| 亚洲色图8| 蜜臀aV午夜一区二区三区| 欧美性爱在线无码| 国产成人亚洲精品无码古代早漏男| 精品视频久久| 久久老熟女| 亚洲se电影| 久久精品电影| 中文字幕乱码人妻一区二区三区,99精品| 日韩欧美国产高清视频| 久操网无码在线| 噜噜噜在线视频| 欧美色视频在线| 成人a大片在线观看| 久久久久久大| 日日干夜夜干| 四虎永久在线精品免费网址 | 97操综合| 亚州黄站| 日韩啊V| se吧提供91精品国产91久久久久久 | 天天影视综合色| 久久在肏| 在线毛片片免费观看| 人妻夜夜爽天天爽三区麻豆AV网站| 91P0RNY大屁股人妻| 91在线一起| 九九九精品一区二区无码| 久久激情综合| 有码人妻系列| 欧美色图片91| 久久99干一本高清| 99黄页网站| 狼人狠干| 18禁精品网站在线看| 久操热线| 国产熟女| 青青操国产夫妻| 精品国产三级av韩国在线| 在线看的av| 九九热精品视频在线观看| 看黑人AV不卡| 揉揉日日日日| 日韩精品9999| 青娱乐啪啪视频| AV污污污污| 性生活久久久久久久久久| 97视频在| 日本在线观看网址| 久操婷婷| 国产蜜臀在线| 久久久久免费看少妇A片特黄| 亚洲五月婷婷| 蜜臀无码一区二区| 五月天婷婷在线看| 精品少妇一区二区三区免费观看| 九九九九九九九| 国产日韩欧美操逼视频| 黄色污污污污污污网站| 嗯嗯啊啊的视频| 99亚洲天堂| s片在线观看| 国产av又色又爽又黄| 9超碰免费| 欧美加勒比| 天天看综合网| 亚洲麻豆av一区二区| 怡红院一区二区熟女人妻| 941超碰| 国产精品亚洲一区二区三区四区| 天天摸天天舔天天操| 国产高清成人免费视频| 亚洲 国产 精品一区| 亚洲色图伊人网| 日韩乱伦影音先锋| 欧美综合色站| 后入式免费视频| 国产性刺激| 色黄色美女大长腿午夜视频| AV中文在线可看| 精品人妻丰满熟妇一区二区三| 韩国三级理论在线| 97色操| 北条麻妃99精品青青久久| 97久久超碰日韩精品| 国产美女高潮| 免费亚洲国产精品久久一区| 欧美精品日韩一区二区| 日夜精品| 欧美性综合| 91在线页| 97国产|免费| 91丨九色丨东北熟女| 国产日韩无码一区二区三区久久区| 骚女高跟AV在线| 天天综合,91综合永久| 亚瑟国产精品久久无码| 国产白丝AV| 日日骚精品视频| 久久99黄色卞西瓜| 激情综合网五月婷婷五月天| 天天噜| 色五月第四色| 欧美色偷拍| 乱老女人一区二区视频| 99老司机精品视频在线观看| 久久精品无码一区二区三区| 久久久久大香青草精品综合| 色噜噜综合在线| 国产精品亚洲免费| 26uuu性物| 动漫爆乳3D奶水一区在线观看| 91精品国产91熟女| 精品久操| 久热精品在线| 东京太热男人的天堂久久久| 操死我了啊啊啊| 伊人四虎综合| 九99久久| 欧美综合天堂| 78操B| 国产欧美日产一区二区三区 - 国产欧美日 | 91精品人妻一区二区三区蜜桃| 久草热制服丝袜在线观看| 久久亚洲av成人无码国产| 黄网在线播放| 国产最新AV| 丰满的三级少妇欧美久久久| 欧美亚洲中文字幕| 柠檬AV导航| 久久激情网| 日韩AV一区二区三区三州三州| 亚码激情| 亚洲有码第一页| 一区e区三| 久久日韩肥臀| 免费操逼91| 亚洲啪啪视频一区二区| 欧美AB在线观看| 亚洲熟妇综合久久久久久| 蜜臀va69| 久热最新在线杭州| 13小男生GAY自慰脱裤子| 人干人人人操人人摸| 国产精选三级在线观看| 日韩国产品视频中文字| 五十路熟女,国产欧美精品区一区二区三区| 91白虎| 久久性爱精品一区| 91人妻Pr| 高清肉丝中文无码| 射丝袜大香蕉| 岛国毛片在线观看免费| 亚洲有码 视频一区| 欧美日韩制服| 亚洲AV无码久久精品蜜桃小说| 玖玖草久草99蜜月一区二区三区| 国产精品不卡一区二区电影| 国产欧美一区激情交| 96精品久久久| 手机在线看片免费人成视频| 5252色欧美在线| 黄色片一区二区三区四区五区| 九九热免费国产视频婷婷伊人| 97干97色| 在现视频女上位好爽| 美女91在线| 国产极品999| 欧美18老人禁| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 尤物网站91| 欧美在线啊啊啊| 老司机天天操| 亚洲精品97中文字幕| 天天操天天舔| 超碰 欧美| 午夜福利久久久噜久噜久久综合| 日韩熟女无码| 60秒试看最爽10分钟网站| 香蕉久久AⅤ...| 97久久国产精品| 超碰在线看| 看全色黄大色大片免费视频| 欧美天天谢综合网| 综合久久99| 97露脸精品丝袜| 亚洲欧洲国产综合av| 日韩肏逼视频| 91 亚洲情侣偷拍 久久| 天天综合色电影| 琪琪精品免费一区二区三区| 综合色久欲| 美日韩一卡二卡三卡免费人妻精品| 另类小说综合网| 久久婷婷电影网| 99re这里只有精品2| 亚洲揄拍网| www.狠狠干.coom| 国模精品一区二区三区苹果色戒| av网站免费看| 亚洲资源吧| 偷拍亚洲视频一区二区三区四区| 狠狠爱综合网| 欧美白嫩在线放| 欧美日韩色图片| 国产情侣自拍在线播放| 91精品微拍福利| 天天插网| 插入逼91| 91综合网在线| 国语精品av| 麻豆区99999| 亚洲免费97免费| 九九九久千久久激情蜜桃在线看 | 激情情色五月天| 粉嫩小泬久久久一区二区| 成人在线视频一区| 中文字幕版| 婷婷另类小说| 一区| 人妻熟女一区二区三区在线| 天天摸夜夜摸| 2025亚洲男人天堂| 国产又黄又猛又粗又爽的网站| 日本中文字幕在线视频| 日本三级韩国三级99| 丁香六月天| 亚洲天堂女优在线| 天天做天天爱天天爽AV| 少妇六月天| 综合视频91| 密臀在线视频| 日本阿v天堂在线观看| 日韩欧洲操屄视频| 四虎影视永久在线免费| 18禁精品网站在线看| 殴美在线AⅤ| 天天爱天天韩国日本牛牛牛牛| 97资源制服丝袜| 东北老女人的激情视频| 熟女一区二区三区四区| 国产搭汕a级片| 成人无码在线超碰网| 天天做日日做天天欢。| 国产乱码久久| 久久夜夜夜夜| 黄页网站成人免费| 69XX一中文字幕人妻91| 蜜乳av首页| 欧美乱妇狂野欧美在线视频| 怡红院成人视频| 日韩国产欧美伦理在线| 好淫网一二三视区| 看看日B真人视频| 国产精品无码av| 青青草九九九九九| 葡萄牙性视频一二区| 操逼逼福利视频| 综合97久久| 黄片免费视频2019| 欧美狠狠弄| 校园春色五月天| 日韩av一级黄片| 97舔舔| 91国模| 91美女丝袜诱惑视频| 精品久久97| 色香色欲天天综合网天天来吧| 人妻 制服 日韩 中文 在线| 翔田千里AV无码秘 三区| 欧美制服网站美腿丝袜| 欧美视频一区二区三区| 99热精品在线播放| 97中文综合| 亚洲精品色| 亚洲婷婷丁香在线| 在线啊啊啊啊| 成人蜜乳小视频网站| 欧美狠狠弄| 亚洲天堂一区二区久久| 激情黄色五月天| 精品成人动漫一区二区| 九九九九九九九| 99ri精品| 中文?日韩?免费?精品| 天堂麻豆天美| A片三级无码| 清纯唯美综合| 亚洲综合有玛| 另类在线| 国产成人亚洲精品无| 99后入| 青青草九九九九九| 性开放中文AV高清无码免费看| 99精品九九九九九九| 天天看特黄的免费网站| 亚洲色图亚洲无码强奸乱伦| 97资源久久| 91色艳| 免费综合亚洲中文| 岛国在线免费视频| 美女91AV| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 蜜臀久久一区二区| 亚洲色五月| 一本一道波多野毛片中文在线| 日本韩高清无砖码22o|