国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

HPM知識庫 | 力位混合控制庫使用指南

先楫半導體HPMicro ? 2026-03-02 12:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

概述

力位混合控制(Hybrid Force-Position Control)是一種結合力控制和位置控制的阻抗控制方法,廣泛應用于機器人關節控制、柔順裝配、人機交互等場景。本庫實現了基于PD+前饋的阻抗控制算法,集成于HPM MCL電機控制庫中。

控制原理

1. 阻抗控制模型

力位混合控制的核心思想是讓關節表現出期望的機械阻抗特性,即彈簧-阻尼系統特性。控制律如下:

fe5ab6be-15ec-11f1-96ea-92fbcf53809c.png

其中:

fe6f2612-15ec-11f1-96ea-92fbcf53809c.png

2. 物理意義

該控制律模擬了一個虛擬的彈簧-阻尼系統:

fe7f0d66-15ec-11f1-96ea-92fbcf53809c.pngfe8969f0-15ec-11f1-96ea-92fbcf53809c.png


3. 臨界阻尼條件

為獲得無超調的快速響應,通常采用臨界阻尼設計:

fe9aba52-15ec-11f1-96ea-92fbcf53809c.png

其中 J 為關節等效轉動慣量。對于未知慣量的系統,可簡化為:

fea72f9e-15ec-11f1-96ea-92fbcf53809c.png


系統架構

力位混合控制作為位置/力外環,輸出力矩指令給FOC電流內環:

feb4e3aa-15ec-11f1-96ea-92fbcf53809c.png

力矩到電流的轉換公式:

febf22b6-15ec-11f1-96ea-92fbcf53809c.pngfeccc93e-15ec-11f1-96ea-92fbcf53809c.png


API說明

1. 數據結構

配置結構體

typedefstruct{ floatkp; /* 位置剛度 (N·m/rad) */ floatkd; /* 阻尼系數 (N·m·s/rad) */ floattau_ff; /* 前饋力矩 (N·m) */ floatq_des; /* 期望位置 (rad) */ floatdq_des; /* 期望速度 (rad/s) */ floattau_max; /* 最大輸出力矩 (N·m) */ floattau_min; /* 最小輸出力矩 (N·m) */ floatspeed_lpf_alpha; /* 速度低通濾波系數 (0-1) */ floatspeed_deadzone; /* 速度死區 (rad/s) */}mcl_hybrid_ctrl_cfg_t;

狀態結構體

typedefstruct{ floatq_actual; /* 實際位置 (rad) - 輸入 */ floatdq_actual; /* 實際速度 (rad/s) - 輸入 */ floattau_output; /* 輸出力矩 (N·m) - 輸出 */ floatpos_error; /* 位置誤差 (rad) - 輸出 */ floatvel_error; /* 速度誤差 (rad/s) - 輸出 */ floatspeed_lpf; /* 濾波后速度 (rad/s) - 內部 */}mcl_hybrid_ctrl_state_t;


2. 核心函數

fedbad8c-15ec-11f1-96ea-92fbcf53809c.png


使用示例

1. 參數初始化

以下為bldc_foc示例中的初始化代碼,適用于空載直驅電機

voidmotor0_hybrid_ctrl_init(void){ /* 初始化配置結構體 */ mcl_hybrid_ctrl_init(&motor0.hybrid_ctrl_cfg); /* 清零狀態結構體 */ memset(&motor0.hybrid_ctrl_state,0,sizeof(motor0.hybrid_ctrl_state)); /* 設置PD參數 - 空載直驅電機參數較小 */ mcl_hybrid_ctrl_set_kp(&motor0.hybrid_ctrl_cfg,0.06f); mcl_hybrid_ctrl_set_kd(&motor0.hybrid_ctrl_cfg,0.001429f); /* 設置初始期望位置和速度 */ mcl_hybrid_ctrl_set_position(&motor0.hybrid_ctrl_cfg,0.0f); mcl_hybrid_ctrl_set_velocity(&motor0.hybrid_ctrl_cfg,0.0f); /* 設置力矩限幅,防止過流 */ mcl_hybrid_ctrl_set_limits(&motor0.hybrid_ctrl_cfg, -0.5f,0.5f); /* 設置速度濾波:alpha=0.003(強濾波),死區=0.1 rad/s */ mcl_hybrid_ctrl_set_speed_filter(&motor0.hybrid_ctrl_cfg,0.003f,0.1f);}


2. 控制循環

ADC中斷(PWM周期觸發,20kHz)中執行控制算法:

voidisr_adc(void){ uint32_tstatus; mcl_user_value_tuser_current; status =hpm_adc_get_status_flags(&hpm_adc_u); if((status & BOARD_BLDC_ADC_TRIG_FLAG) !=0) { hpm_adc_clear_status_flags(&hpm_adc_u, BOARD_BLDC_ADC_TRIG_FLAG); /* 編碼器數據處理 */ hpm_mcl_encoder_process(&motor0.encoder, motor0.cfg.mcl.physical.time.mcu_clock_tick / PWM_FREQUENCY); if(hybrid_ctrl_mode) { /* 步驟1:獲取編碼器反饋 */ hpm_mcl_encoder_get_absolute_theta(&motor0.encoder, &motor0.hybrid_ctrl_state.q_actual); motor0.hybrid_ctrl_state.dq_actual = hpm_mcl_encoder_get_speed(&motor0.encoder); /* 步驟2:執行力位混合控制算法 */ mcl_hybrid_ctrl_step(&motor0.hybrid_ctrl_cfg, &motor0.hybrid_ctrl_state); /* 步驟3:力矩轉電流,發送給FOC電流環 */ user_current.enable =true; /* kt = 0.053 N·m/A(電機轉矩常數) */ user_current.value = motor0.hybrid_ctrl_state.tau_output /0.053f; hpm_mcl_loop_set_current_q(&motor0.loop, user_current); } /* 執行FOC電流環 */ hpm_mcl_loop(&motor0.loop); }}


3. 用戶交互

主循環中的模式選擇和位置輸入:

if(user_mode ==2) { /* 初始化力位混合控制 */ motor0_hybrid_ctrl_init(); hybrid_ctrl_mode =true; /* 禁用速度環,由力位混合控制接管 */ user_speed.enable =false; hpm_mcl_loop_set_speed(&motor0.loop, user_speed); printf("\r\nHybrid control mode\r\n"); printf("kp=%.3f, kd=%.3f, tau_limit=%.3f\r\n", (double)motor0.hybrid_ctrl_cfg.kp, (double)motor0.hybrid_ctrl_cfg.kd, (double)motor0.hybrid_ctrl_cfg.tau_max); while(1) { /* 讀取用戶輸入的目標位置(度) */ position =atoi(input_data); /* 角度轉弧度:deg * (π/180) ≈ deg * 0.01745 */ mcl_hybrid_ctrl_set_position(&motor0.hybrid_ctrl_cfg, (float)position *0.00157079632f); /* 實際為 deg * π/180 / 10 */ printf("Pos: %d deg, Tau: %.4f Nm, Pos_err: %.4f rad\r\n", position, (double)motor0.hybrid_ctrl_state.tau_output, (double)motor0.hybrid_ctrl_state.pos_error); }}


參數調節指南

1. 參數含義與調節

位置剛度 kp

位置剛度決定了關節對位置偏差產生的恢復力矩:

fee5b836-15ec-11f1-96ea-92fbcf53809c.pngfef604c0-15ec-11f1-96ea-92fbcf53809c.png

阻尼系數 kd

阻尼系數決定了關節對速度的阻尼力矩:

ff0e3522-15ec-11f1-96ea-92fbcf53809c.png

推薦按臨界阻尼設計:

ff1b9dd4-15ec-11f1-96ea-92fbcf53809c.pngff25e35c-15ec-11f1-96ea-92fbcf53809c.png

力矩限幅

保護電機和驅動器,防止過流:

ff38d05c-15ec-11f1-96ea-92fbcf53809c.png

根據電機額定電流和轉矩常數計算最大力矩:

ff440cd8-15ec-11f1-96ea-92fbcf53809c.png

速度濾波

速度信號通常噪聲較大,建議使用低通濾波:

ff5169b4-15ec-11f1-96ea-92fbcf53809c.png

α 越小,濾波越強(推薦0.003-0.1)

死區用于消除靜止時的小幅抖動

2. 不同應用場景的參數配置

空載直驅電機(測試用)

mcl_hybrid_ctrl_set_kp(&cfg,0.06f);mcl_hybrid_ctrl_set_kd(&cfg,0.001429f);mcl_hybrid_ctrl_set_limits(&cfg, -0.5f,0.5f);mcl_hybrid_ctrl_set_speed_filter(&cfg,0.003f,0.1f);

特點:慣量小,無減速器,參數需要較小以避免過激響應。

帶減速器的關節電機

假設減速比 N=100N=100,電機端轉矩常數 kt=0.1kt=0.1 N·m/A,最大電流3A:

/* 輸出端等效剛度 = 電機端剛度 × 減速比2 */mcl_hybrid_ctrl_set_kp(&cfg,50.0f);mcl_hybrid_ctrl_set_kd(&cfg,14.0f); /* ≈ 2*sqrt(50) *//* 輸出端最大力矩 = 電機端力矩 × 減速比 */mcl_hybrid_ctrl_set_limits(&cfg, -30.0f,30.0f); /* 0.1 × 3 × 100 */mcl_hybrid_ctrl_set_speed_filter(&cfg,0.05f,0.01f);

柔順人機交互

需要較低剛度,允許人手推動:

mcl_hybrid_ctrl_set_kp(&cfg,5.0f);mcl_hybrid_ctrl_set_kd(&cfg,4.5f); /* ≈2*sqrt(5) */mcl_hybrid_ctrl_set_limits(&cfg, -5.0f,5.0f);

高精度定位

需要較高剛度和強阻尼:

mcl_hybrid_ctrl_set_kp(&cfg,200.0f);mcl_hybrid_ctrl_set_kd(&cfg,28.0f); /* ≈2*sqrt(200) */mcl_hybrid_ctrl_set_limits(&cfg, -50.0f,50.0f);


3. 參數整定步驟

ff60691e-15ec-11f1-96ea-92fbcf53809c.png


注意事項

電機轉矩常數:需要根據實際電機參數設置,可從電機規格書獲取或通過標定測量

編碼器精度:位置和速度反饋精度直接影響控制效果

安全限幅:務必設置合理的力矩限幅,防止失控

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 電機控制
    +關注

    關注

    3600

    文章

    2131

    瀏覽量

    277663
  • 混合控制
    +關注

    關注

    0

    文章

    11

    瀏覽量

    7089
  • HPM
    HPM
    +關注

    關注

    2

    文章

    51

    瀏覽量

    8254
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于知識庫的智能策略翻譯技術

    提出基于知識庫的策略翻譯方法,設計策略翻譯組成結構,分析策略知識及其表示形式,建立動態可擴展的策略知識庫,開發可擴展的策略編譯器和策略組裝器。實例測試表明,該
    發表于 04-22 09:42 ?11次下載

    一種基于解釋的知識庫綜合

    知識庫的解釋出發,對概念和概念間關系的解釋進行了分析,定義了知識庫系統的最小概念集合,設計了生成最小概念集合的方法,提出了基于解釋的知識庫綜合算法,討論了該
    發表于 05-07 20:44 ?16次下載

    面向抗攻擊能力測試的攻擊知識庫設計

    論文在對攻擊知識和攻擊知識庫進行綜合分析的基礎上,針對網絡設備的抗攻擊能力測試要求,提出了一種面向抗攻擊測試的攻擊知識庫設計方案。該方案既著眼于被測目標的
    發表于 08-12 09:05 ?17次下載

    基于雙向混合推理機的知識庫系統

    針對目前知識庫系統推理效率不高和信息可信度不強的特點,本文結合正向推理和反向推理的優勢,取長補短,提出了一種雙向混合推理機。本文還設計了一個原型系統,采用知識
    發表于 07-26 17:57 ?33次下載

    領域知識庫的研究與設計

    領域知識庫的構建有利于知識的檢索和共享。分析了領域知識庫應具備的條件,指出構建領域知識庫的有效方法;介紹了構建知識庫的一般步驟,并設計出領域
    發表于 08-29 14:39 ?0次下載

    NXP NFC知識庫

    NXP NFC知識庫
    發表于 12-30 17:32 ?49次下載

    TI StellarisWare圖形使用指南

    TI StellarisWare圖形使用指南
    發表于 10-29 10:29 ?3次下載
    TI StellarisWare圖形<b class='flag-5'>庫</b><b class='flag-5'>使用指南</b>

    本體知識庫的模塊與保守擴充

    模塊化是軟件工程的一種方法,近年來被引入到本體領域,用以支持本體的重用和本體的整合。已有的工作沒有討論同時含有TBox和ABox的本體知識庫的模塊化的相關問題。在定義本體知識庫的模塊和知識庫的保守
    發表于 11-24 09:58 ?0次下載

    STM32 LL使用指南

    STM32 LL使用指南
    發表于 01-23 17:31 ?229次下載

    AltiumDesigner文件使用指南教程免費下載

    本文檔的主要內容詳細介紹的是Altium Designer文件使用指南教程免費下載。
    發表于 05-07 08:00 ?1次下載
    AltiumDesigner<b class='flag-5'>庫</b>文件<b class='flag-5'>使用指南</b>教程免費下載

    虛擬儀器知識庫文件的結構組成和知識庫文件自動生成器的設計與應用

    在前幾章中,重點介紹了VISA規范、儀器驅動程序規范及軟面板規范,這些構成了虛擬儀器及系統設計的關鍵部分。為了將VXI產品更有效地集成到虛擬儀器系統中去,VXI總線即插即用系統聯盟還定義了虛擬儀器知識庫文件的結構。本章介紹了虛擬儀器知識庫文件的結構組成,并重點介紹了
    發表于 12-05 14:21 ?2次下載
    虛擬儀器<b class='flag-5'>知識庫</b>文件的結構組成和<b class='flag-5'>知識庫</b>文件自動生成器的設計與應用

    復雜知識庫問答任務的典型挑戰和解決方案

    知識庫問答旨在通過知識庫回答自然語言問題。近來,大量的研究集中在語義或句法上復雜的問題上。在本文中,我們精心總結了復雜知識庫問答任務的典型挑戰和解決方案,介紹了復雜知識庫問答的兩種主流
    的頭像 發表于 06-13 09:49 ?3248次閱讀

    如何基于亞馬遜云科技LLM相關工具打造知識庫

    了解其核心組件、快速部署指南以及LangChain集成及其在電商的應用場景。 通用場景:基于企業內部知識庫例如IT/HR信息的問答 制造行業:裝備維保知識庫問答和售后客服 金融行業:智能客服和智能報告生成 教育行業:面向學生和面
    的頭像 發表于 11-23 17:53 ?2034次閱讀
    如何基于亞馬遜云科技LLM相關工具打造<b class='flag-5'>知識庫</b>

    32基于ARM微控制器GD32E50x固件使用指南

    電子發燒友網站提供《32基于ARM微控制器GD32E50x固件使用指南.pdf》資料免費下載
    發表于 05-16 18:12 ?12次下載

    騰訊ima升級知識庫功能,上線小程序實現共享與便捷問答

    近日,騰訊旗下的AI智能工作臺ima.copilot(簡稱ima)迎來了知識庫功能的重大升級。此次升級不僅增加了“共享知識庫”的新能力,還正式上線了“ima知識庫”小程序,為用戶帶來了更加便捷和高效
    的頭像 發表于 12-31 15:32 ?3070次閱讀