chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

機(jī)器人搭建過(guò)程中的坑和未來(lái)的改進(jìn)方向

STM32嵌入式開發(fā) ? 來(lái)源:CSDN博客 ? 作者: Jumping潤(rùn) ? 2021-09-26 10:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

機(jī)器人整體開源,同時(shí)總結(jié)一下機(jī)器人搭建過(guò)程中遇到的坑和未來(lái)的改進(jìn)方向。在分享的文件里包含了結(jié)構(gòu)設(shè)計(jì)、程序控制、電路設(shè)計(jì)以及其他模塊相關(guān)資料供大家參考。

機(jī)器人原理分析

該機(jī)器人根據(jù)陀螺儀的位姿數(shù)據(jù),通過(guò)三個(gè)全向輪驅(qū)動(dòng)底部球體調(diào)整自己在球上的位置,保持動(dòng)態(tài)平衡的同時(shí)實(shí)現(xiàn)全向移動(dòng)。

保持動(dòng)態(tài)平衡過(guò)程需要對(duì)機(jī)器人進(jìn)行運(yùn)動(dòng)學(xué)分析,這里參考了平衡小車之家的運(yùn)動(dòng)學(xué)方程:

自平衡控制問(wèn)題轉(zhuǎn)化為三步:輸入X、Y角度—控制器計(jì)算—輸出A、B、C電機(jī)轉(zhuǎn)速的控制模型。

控制器設(shè)計(jì)

首先考慮參考平衡車控制,球上自平衡機(jī)器人本質(zhì)上依然是一個(gè)一階倒立擺問(wèn)題。

這里參考了飛思卡爾直立車的控制方法,采用串級(jí)PID控制器,外環(huán)PD角度環(huán),內(nèi)環(huán)速度PI環(huán)。

由于我的驅(qū)動(dòng)方案選擇的是42步進(jìn)電機(jī),在速度閉環(huán)的時(shí)候有些問(wèn)題。正常的直流電機(jī)+編碼器的控制方案可以通過(guò)編碼器將輪子的真實(shí)速度計(jì)算出來(lái),從而和控制器的理想轉(zhuǎn)速作差,實(shí)現(xiàn)速度控制。

而我這里的速度閉環(huán)是通過(guò)計(jì)算上一個(gè)時(shí)鐘周期時(shí)給步進(jìn)電機(jī)的控制量,通過(guò)運(yùn)動(dòng)學(xué)方程分解,得到機(jī)器人的虛擬速度,與理想轉(zhuǎn)速作差控制。我認(rèn)為這種速度閉環(huán)方式還是存在一定缺陷的,但是在網(wǎng)上查看論文的時(shí)候我發(fā)現(xiàn)有很多自平衡機(jī)器人都是用42步進(jìn)電機(jī)來(lái)實(shí)現(xiàn)速度閉環(huán)的,不知道是什么方法。

這里還可以好好思考一下為什么角度環(huán)要用PD控制,速度環(huán)要PI控制,角度環(huán)的P部分和D部分對(duì)機(jī)器人控制有什么影響?在很多CSDN調(diào)試平衡車的博客中都有解釋,這里就留給大家思考了。

硬件及結(jié)構(gòu)設(shè)計(jì)

自平衡機(jī)器人的硬件清單有:

56mm全向輪 45元/個(gè)

42步進(jìn)電機(jī) 25/個(gè)

42步進(jìn)閉環(huán)模塊 59.8元/個(gè)

LM2596S降壓模塊 20元

STM32F103C8T6-4飛控板 59.8元

GY-521六軸陀螺儀 25元

用到的模塊大致如上所示,C8T6的價(jià)格隨著最近芯片漲價(jià)直線上升,我白嫖了實(shí)驗(yàn)室的兩塊板子,現(xiàn)在買一塊實(shí)在太貴,可以等芯片價(jià)格穩(wěn)定一些再買。其余開關(guān)排針等常見元件不再贅述。

電路原理圖如下所示:

7cbf0d6e-136a-11ec-8fb8-12bb97331649.png

機(jī)器人使用solidworks設(shè)計(jì)整體結(jié)構(gòu),底板可在某寶定制6050太空鋁切割,藍(lán)色件為正常3D打印件。

程序部分

keil 5中開發(fā)STM32。

控制程序采用定時(shí)器0.5ms定時(shí)中斷的方式進(jìn)行計(jì)算,每觸發(fā)兩次中斷計(jì)算對(duì)電機(jī)控制一次,這里還是推薦大家采用外部中斷讀取GY-521上的INT引腳的方式,控制計(jì)算周期。GY-521上的INT引腳每5ms觸發(fā)一次跳變,采用外部中斷的方式可以嚴(yán)格保證讀取位姿數(shù)據(jù)與計(jì)算處理同步。

int TIM1_UP_IRQHandler (void) { u8 key_cal; if(TIM_GetITStatus(TIM1,TIM_IT_Update) != RESET) { TIM_ClearITPendingBit(TIM1,TIM_IT_Update); flag_target=!flag_target; key_cal=KEY_Scan(0); if(state_flag==1)//矯正結(jié)束 { if(flag_target==1)//每讀取兩次陀螺儀控制一次 { Read_DMP(); //===讀取傾角 scope();

return 0; } } if(key_cal==1)//矯正按鍵 { Angle_Zero_X=Angle_Balance_X; Angle_Zero_Y=Angle_Balance_Y; key_cal=0; Flag_Stop=0; } if(key_cal==2||key_cal==3)//矯正按鍵 { Flag_Stop=1;//關(guān)閉速度環(huán)I積分 key_cal=0; } Angle_Bias_X =Angle_Balance_X-Angle_Zero_X;

//獲取Y方向的偏差 Angle_Bias_Y =Angle_Balance_Y-Angle_Zero_Y; //獲取Y方向的偏差 if(control_mode==0)//PID控制模式 { Encoder_Analysis(Motor_A,Motor_B,Motor_C); //正運(yùn)動(dòng)學(xué)分析,得到X Y方向的速度 Balance_Pwm_X= balance_X(Angle_Bias_X,Gyro_Balance_X);

//X方向的傾角控制 Balance_Pwm_Y=-balance_Y(Angle_Bias_Y,Gyro_Balance_Y); //Y方向的傾角控制// if(++flag_target_2==4)//速度環(huán)頻率慢于加速度環(huán) 但是還沒(méi)加速度環(huán) // { Velocity_Pwm_X=velocity_X(compute_X);

//X方向的速度控制 Velocity_Pwm_Y=velocity_Y(compute_Y); //Y方向的速度控制 // flag_target_2=0;// } Move_X =Balance_Pwm_X+Velocity_Pwm_X;

//===X方向控制量累加 Move_Y =Balance_Pwm_Y+Velocity_Pwm_Y; //===Y方向控制量累加 Move_Z=0; Kinematic_Analysis(Move_X,Move_Y,Move_Z);//逆運(yùn)動(dòng)學(xué)分析得到ABC電機(jī)控制量 } Motor_A=Target_A;//直接調(diào)節(jié)PWM頻率 Motor_B=Target_B;//直接調(diào)節(jié)PWM Motor_C=Target_C;//直接調(diào)節(jié)PWM//以下都是為了速度連續(xù)化處理防止突變

if(Motor_A==0) Motor_A=motor_a_last; if(Motor_B==0) Motor_B=motor_b_last; if(Motor_C==0)

Motor_C=motor_c_last; Xianfu_Pwm(2000); Set_Pwm(Motor_A,Motor_B,Motor_C);

Gyro_Balance_X_last=Gyro_Balance_X; Gyro_Balance_Y_last=Gyro_Balance_Y;

Gyro_Balance_Z_last=Gyro_Balance_Z; Angle_Balance_X_last=Angle_Balance_X;

Angle_Balance_Y_last=Angle_Balance_Y; Angle_Balance_Z_last=Angle_Balance_Z;

motor_a_last=Motor_A; motor_b_last=Motor_B; motor_c_last=Motor_C; } return 0;}

對(duì)于電機(jī)控制,由于采用的驅(qū)動(dòng)方案是步進(jìn)電機(jī),調(diào)速的方式是改變驅(qū)動(dòng)步進(jìn)電機(jī)的脈沖頻率。我這里選擇了三個(gè)定時(shí)器,動(dòng)態(tài)調(diào)節(jié)定時(shí)器的頻率,具體方式是在初始化時(shí)設(shè)定好定時(shí)器的預(yù)分頻系數(shù)psc的值,然后在程序里動(dòng)態(tài)更改ARR寄存器的值,從而改變定時(shí)器的定時(shí)頻率。

//這里以A電機(jī)的速度控制為例 輸入為 電機(jī)方向和電機(jī)速度void set_motorA_speed(u8 dir,u16 speed){ u32 arr; arr=speed; TIM_ARRPreloadConfig(TIM3,DISABLE); TIM3-》ARR=arr;//計(jì)數(shù)到10000在歸零重新計(jì)數(shù) TIM3-》CCR4=arr/2;//保持占空比為50% TIM_ARRPreloadConfig(TIM3,ENABLE); TIM_Cmd(TIM3,ENABLE);

if(dir==0) { GPIO_SetBits(GPIOA,GPIO_Pin_1); } else { GPIO_ResetBits(GPIOA,GPIO_Pin_1); }}

小車的運(yùn)動(dòng)學(xué)分解代碼實(shí)現(xiàn)如下,參考了平衡小車之家的代碼:

/**********************************************************函數(shù)功能:小車運(yùn)動(dòng)數(shù)學(xué)模型入口參數(shù):X Y Z 三軸速度或者位置返回 值:無(wú)***********************************************************/void Kinematic_Analysis(float Vx,float Vy,float Vz)

{ Target_A = Vx + L_PARAMETER*Vz; Target_B = -X_PARAMETER*Vx + Y_PARAMETER*Vy + L_PARAMETER*Vz; Target_C = -X_PARAMETER*Vx - Y_PARAMETER*Vy + L_PARAMETER*Vz;}/*****************************************************************函數(shù)功能:小車運(yùn)動(dòng) 正運(yùn)動(dòng)學(xué)分析 入口參數(shù):A B C三個(gè)電機(jī)的速度返回 值:無(wú)******************************************************************/void Encoder_Analysis(float Va,float Vb,float Vc){ compute_X=(Va*2-Vb-Vc); compute_Y=((Vb-Vc)*sqrt(3)); compute_Z=(Va+Vb+Vc); }

其余代碼不全放出,可在文末點(diǎn)擊“閱讀原文”下載查看。

總結(jié)與展望

球上自平衡機(jī)器人可以作為算法試驗(yàn)平臺(tái), 輸入輸出固定,更換不同控制器,將數(shù)據(jù)導(dǎo)入MATLAB進(jìn)行分析即可比較控制器性能。

個(gè)人認(rèn)為結(jié)構(gòu)有兩個(gè)改進(jìn)方向,一方面參考以下論文:余義。 單球驅(qū)動(dòng)自平衡機(jī)器人位姿解算與控制系統(tǒng)研究[D]。武漢科技大學(xué),2019。論文中采用的四足式驅(qū)動(dòng)結(jié)構(gòu)更有利于機(jī)器人自平衡控制。

另一方面可以增加球體和機(jī)器人固定裝置,利用機(jī)械結(jié)構(gòu)將機(jī)器人與底部驅(qū)動(dòng)球結(jié)合成一個(gè)整體防止機(jī)器人跳輪等問(wèn)題。同時(shí)驅(qū)動(dòng)球?qū)τ跈C(jī)器人平衡的影響較大,最好還是定制空心鋼球,然后噴漆增大摩擦力,最有利于機(jī)器人自平衡控制。

控制部分的改進(jìn),首先是控制原理,本文是針對(duì)建立好的運(yùn)動(dòng)學(xué)方程進(jìn)行分析,通過(guò)串級(jí)PID算法來(lái)實(shí)現(xiàn)自平衡運(yùn)動(dòng)。該機(jī)器人的控制問(wèn)題本質(zhì)上是一階倒立擺問(wèn)題,可以采用動(dòng)力學(xué)建模的方式,通過(guò)動(dòng)力學(xué)分析算出平衡需要的虛擬力矩,再對(duì)電機(jī)進(jìn)行力矩控制。

其次是控制器,PID控制算法應(yīng)用廣泛但也有一定的缺點(diǎn),可以考慮采用模糊PID,ADRC自抗擾控制器,強(qiáng)化學(xué)習(xí)等智能控制算法對(duì)機(jī)器人自平衡進(jìn)行控制。

原文鏈接:https://blog.csdn.net/qq_42823167/article/details/118085368

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 機(jī)器人
    +關(guān)注

    關(guān)注

    213

    文章

    29728

    瀏覽量

    212820
  • STM32
    +關(guān)注

    關(guān)注

    2293

    文章

    11032

    瀏覽量

    364751

原文標(biāo)題:STM32自平衡機(jī)器人項(xiàng)目,附代碼、電路圖等資料

文章出處:【微信號(hào):c-stm32,微信公眾號(hào):STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    明遠(yuǎn)智睿SSD2351開發(fā)板:語(yǔ)音機(jī)器人領(lǐng)域的變革力量

    源的開發(fā)資料為開發(fā)者提供了深入研究和定制語(yǔ)音機(jī)器人功能的基礎(chǔ),開發(fā)者可以根據(jù)不同的應(yīng)用需求,對(duì)語(yǔ)音識(shí)別算法、語(yǔ)音合成引擎等進(jìn)行優(yōu)化和改進(jìn)。一對(duì)一的技術(shù)支持則能及時(shí)解決開發(fā)過(guò)程中遇到的難題,保障語(yǔ)音
    發(fā)表于 05-28 11:36

    盤點(diǎn)#機(jī)器人開發(fā)平臺(tái)

    Athena機(jī)器人****開發(fā)平臺(tái)思嵐推出Athena機(jī)器人開發(fā)平臺(tái),有望主導(dǎo)機(jī)器人開發(fā)平臺(tái)未來(lái)市場(chǎng)-電子發(fā)燒友網(wǎng)AUTO CUBEROS機(jī)器人
    發(fā)表于 05-13 15:02

    詳細(xì)介紹機(jī)場(chǎng)智能指路機(jī)器人的工作原理

    路徑。路徑規(guī)劃算法會(huì)考慮多種因素,如距離最短、避開人流密集區(qū)域、優(yōu)先選擇寬闊通道等,以確保旅客能夠快速、順暢地到達(dá)目的地。 實(shí)時(shí)導(dǎo)航與避障 :在機(jī)器人引導(dǎo)旅客的過(guò)程中,導(dǎo)航系統(tǒng)會(huì)實(shí)時(shí)監(jiān)控機(jī)器人的運(yùn)動(dòng)狀態(tài)
    發(fā)表于 05-10 18:26

    工業(yè)機(jī)器人未來(lái)發(fā)展方向:富唯智能以具身智能重構(gòu)人機(jī)協(xié)作新范式

    在制造業(yè)智能化轉(zhuǎn)型的深水區(qū),工業(yè)機(jī)器人正從“機(jī)械執(zhí)行者”向“自主決策者”進(jìn)化。傳統(tǒng)工業(yè)機(jī)器人依賴固定編程與剛性路徑的局限性日益凸顯,而工業(yè)機(jī)器人未來(lái)發(fā)展
    的頭像 發(fā)表于 05-06 16:32 ?301次閱讀

    【「# ROS 2智能機(jī)器人開發(fā)實(shí)踐」閱讀體驗(yàn)】視覺(jué)實(shí)現(xiàn)的基礎(chǔ)算法的應(yīng)用

    相機(jī)標(biāo)定是視覺(jué)系統(tǒng)的基石,直接影響后續(xù)圖像處理的精度。書中詳細(xì)介紹了單目和雙目相機(jī)的標(biāo)定流程,包括標(biāo)定板的使用、參數(shù)優(yōu)化以及標(biāo)定文件的應(yīng)用。 實(shí)際應(yīng)用,標(biāo)定誤差可能導(dǎo)致機(jī)器人定位偏差,因此標(biāo)定過(guò)程
    發(fā)表于 05-03 19:41

    【「# ROS 2智能機(jī)器人開發(fā)實(shí)踐」閱讀體驗(yàn)】機(jī)器人入門的引路書

    的非常好的,特別是一些流程圖,很清晰的闡釋了概念 很適合作為初學(xué)者入門的引路書 還能了解很多技術(shù)和框架,破除初學(xué)者的自負(fù)困境,讓初學(xué)者知道功能是由很多開發(fā)者維護(hù)的,前人已經(jīng)為各種產(chǎn)品搭建了完善的框架。避免陷入得一個(gè)單打獨(dú)斗的錯(cuò)覺(jué) 一直蠢蠢欲動(dòng)ros2和
    發(fā)表于 04-30 01:05

    什么是機(jī)器人?追蹤機(jī)器人技術(shù)的發(fā)展和未來(lái)

    什么是機(jī)器人? 我們都知道“機(jī)器人”這個(gè)詞,并在日常對(duì)話隨意使用它。但我們知道它真正的含義嗎?讓我們花點(diǎn)時(shí)間來(lái)深入研究機(jī)器人的定義。它是像看起來(lái)那么簡(jiǎn)單,還是挑戰(zhàn)了我們的理解? 在其
    的頭像 發(fā)表于 04-24 19:21 ?1099次閱讀

    【「具身智能機(jī)器人系統(tǒng)」閱讀體驗(yàn)】2.具身智能機(jī)器人的基礎(chǔ)模塊

    具身智能機(jī)器人的基礎(chǔ)模塊,這個(gè)是本書的第二部分內(nèi)容,主要分為四個(gè)部分:機(jī)器人計(jì)算系統(tǒng),自主機(jī)器人的感知系統(tǒng),自主機(jī)器人的定位系統(tǒng),自主機(jī)器人
    發(fā)表于 01-04 19:22

    【「具身智能機(jī)器人系統(tǒng)」閱讀體驗(yàn)】2.具身智能機(jī)器人大模型

    的設(shè)計(jì)不僅提高了機(jī)器人對(duì)環(huán)境的理解能力,還使其能夠更精準(zhǔn)地執(zhí)行復(fù)雜任務(wù)。 擴(kuò)散模型的新思路 除了大模型,擴(kuò)散模型的引入為機(jī)器人控制開辟了新的研究方向。在以UniPi為代表的創(chuàng)新工作,
    發(fā)表于 12-29 23:04

    【「具身智能機(jī)器人系統(tǒng)」閱讀體驗(yàn)】1.初步理解具身智能

    、家庭服務(wù)機(jī)器人等。具身智能機(jī)器人技術(shù)與市場(chǎng)的融合閉環(huán)是自主經(jīng)濟(jì)重要的發(fā)展方向之一。 具身智能機(jī)器人是一種能夠在沒(méi)有人類直接控制的情況下自
    發(fā)表于 12-28 21:12

    【「具身智能機(jī)器人系統(tǒng)」閱讀體驗(yàn)】+初品的體驗(yàn)

    解決許多技術(shù)的和非技術(shù)的挑戰(zhàn),如提高智能體的自主性、處理復(fù)雜環(huán)境互動(dòng)的能力及確保行為的倫理和安全性。 未來(lái)的研究需要將視覺(jué)、語(yǔ)音和其他傳感技術(shù)與機(jī)器人技術(shù)相結(jié)合,以探索更加先進(jìn)的知識(shí)表示和記憶模塊,利用強(qiáng)化學(xué)習(xí)進(jìn)一步優(yōu)化決策過(guò)程
    發(fā)表于 12-20 19:17

    移動(dòng)機(jī)器人的技術(shù)突破和未來(lái)展望

    移動(dòng)機(jī)器人已經(jīng)成為現(xiàn)代社會(huì)不可或缺的一部分,在各個(gè)領(lǐng)域發(fā)揮著越來(lái)越重要的作用。在這個(gè)過(guò)程中,富唯智能機(jī)器人以其卓越的技術(shù)突破,引領(lǐng)著移動(dòng)機(jī)器人領(lǐng)域的發(fā)展潮流。
    的頭像 發(fā)表于 12-13 17:57 ?639次閱讀
    移動(dòng)<b class='flag-5'>機(jī)器人</b>的技術(shù)突破和<b class='flag-5'>未來(lái)</b>展望

    焊接機(jī)器人使用過(guò)程中要注意哪些問(wèn)題

    操作過(guò)程中需要注意以下幾個(gè)方面的問(wèn)題。 焊接機(jī)器人使用過(guò)程中要注意哪些問(wèn)題? 1. 設(shè)備維護(hù)與保養(yǎng) 焊接機(jī)器人作為高精度設(shè)備,日常維護(hù)保養(yǎng)必不可少。定期檢查各類傳感器、機(jī)械臂的關(guān)節(jié)、導(dǎo)
    的頭像 發(fā)表于 10-22 17:43 ?643次閱讀
    焊接<b class='flag-5'>機(jī)器人</b>使用<b class='flag-5'>過(guò)程中</b>要注意哪些問(wèn)題

    在用機(jī)器人未來(lái)機(jī)器人并行推進(jìn)的權(quán)重關(guān)系

    在用機(jī)器人未來(lái)機(jī)器人并行推進(jìn)的權(quán)重關(guān)系
    的頭像 發(fā)表于 08-01 08:14 ?734次閱讀
    在用<b class='flag-5'>機(jī)器人</b>與<b class='flag-5'>未來(lái)</b><b class='flag-5'>機(jī)器人</b>并行推進(jìn)的權(quán)重關(guān)系

    FMEA在焊接機(jī)器人研發(fā)的應(yīng)用

    在現(xiàn)代工業(yè)制造領(lǐng)域,焊接機(jī)器人的應(yīng)用越來(lái)越廣泛,它們的高效、精確和可靠性已成為提升制造業(yè)競(jìng)爭(zhēng)力的關(guān)鍵。然而,隨著焊接機(jī)器人技術(shù)的不斷進(jìn)步,其研發(fā)過(guò)程中也面臨著諸多挑戰(zhàn)。今天,我們將探討一種重要
    的頭像 發(fā)表于 07-23 11:33 ?840次閱讀