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

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

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

立創(chuàng)梁山派開(kāi)發(fā)板-21年電賽F題-送藥小車-小車角度環(huán)的調(diào)試與實(shí)現(xiàn)

jf_31863339 ? 來(lái)源:jf_31863339 ? 作者:jf_31863339 ? 2023-07-27 10:18 ? 次閱讀

小車轉(zhuǎn)向的調(diào)試與實(shí)現(xiàn)

怎么實(shí)現(xiàn)小車的90度轉(zhuǎn)向?

首先,在09_國(guó)產(chǎn)IMU移植及姿態(tài)解算.md里面我們可以獲取到小車的姿態(tài)信息,對(duì)應(yīng)的轉(zhuǎn)向信息就是Yaw(偏航角)。

而在08_直流減速電機(jī)PID速度環(huán)與位置環(huán)調(diào)試中我們也可以準(zhǔn)確控制小車輪子的轉(zhuǎn)速和轉(zhuǎn)多少個(gè)脈沖(也就是轉(zhuǎn)幾圈)了。

這樣實(shí)現(xiàn)小車的轉(zhuǎn)向就有了兩種方案了。一種是用Yaw(偏航角)作為測(cè)量值,想要轉(zhuǎn)的角度作為目標(biāo)值,用PID驅(qū)動(dòng)小車以一定的速度去旋轉(zhuǎn)來(lái)達(dá)到目標(biāo)值。

第二種是在實(shí)現(xiàn)小車輪子位置環(huán)的基礎(chǔ)上,控制兩邊輪子同時(shí)向不同的方向旋轉(zhuǎn)一定的圈數(shù)(編碼器脈沖),在小車輪子不打滑的情況下轉(zhuǎn)過(guò)的角度就是一個(gè)確定的值,在送藥小車的地圖中,旋轉(zhuǎn)基本都是90度的,所以這種實(shí)現(xiàn)方法會(huì)很簡(jiǎn)單也容易調(diào)試。

用角度環(huán)實(shí)現(xiàn)90度轉(zhuǎn)向

在pid_thread.c中實(shí)現(xiàn):

創(chuàng)建相應(yīng)的PID控制參數(shù)的結(jié)構(gòu)體:

positional_pid_params_t car_angle_ring_pid;

初始化控制結(jié)構(gòu)體并修改kp ki kd:

//角度環(huán)配置
//角度環(huán) pid 參數(shù)初始化
positional_pid_init(&car_angle_ring_pid, 0.015, 0, 0, 0.1, 2, -2);
//修改 角度環(huán) kp ki kd
car_angle_ring_pid.positional_pid_set_value(&car_angle_ring_pid, 0.015, 0,
                                            0);

在PID的軟件定時(shí)器回調(diào)函數(shù)中計(jì)算兩個(gè)輪子需要的速度:

// 小車角度環(huán)
if (car_angle_ring_enable_flag == 1)
{
    static float error = 0;

    error = turn_target - fusion_data.euler.euler.yaw;
    // 處理角度突變
    if (error > 180.0f)
        error -= 360.0f;
    else if (error < -180.0f)
        error += 360.0f;

    angle_ring_speed_target = positional_pid_compute(
        &car_angle_ring_pid, error, fusion_data.euler.euler.yaw);
}
else
{
    turn_target = fusion_data.euler.euler.yaw;
    angle_ring_speed_target = 0;
}

打開(kāi)角度環(huán)后他就會(huì)保持Yaw為0,如下面這個(gè)圖一樣:

wKgZomTB0_CAGcVLAB6Ip3df6Pc667.jpg

下面是設(shè)定他靠角度換旋轉(zhuǎn)90度的效果:

wKgZomTB0_OAL-mcAMWJ-SB9-D4998.jpg

用位置環(huán)實(shí)現(xiàn)90度轉(zhuǎn)向

還是在pid_thread.c中實(shí)現(xiàn):

在08_直流減速電機(jī)PID速度環(huán)與位置環(huán)調(diào)試已經(jīng)可以讓輪子轉(zhuǎn)固定的脈沖(圈數(shù))了,直接把對(duì)應(yīng)的目標(biāo)值加給電機(jī)1和電機(jī)2的位置目標(biāo)就可以了。

// 位置式旋轉(zhuǎn),負(fù)數(shù)左轉(zhuǎn),正數(shù)右轉(zhuǎn)。
void car_spin_position(int32_t _position_target)
{
    motor1_position_target += -_position_target;    motor2_position_target -= _position_target;
}

在實(shí)際實(shí)現(xiàn)中,如下面的gif圖所示:

wKgaomTB0_WAQLwDABnYgU9ZdEk092.jpg



審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)注

    142

    文章

    8884

    瀏覽量

    144896
  • PID
    PID
    +關(guān)注

    關(guān)注

    35

    文章

    1470

    瀏覽量

    85217
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4913

    瀏覽量

    97086
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ARM開(kāi)發(fā)板與樹(shù)莓的比較

    ARM開(kāi)發(fā)板和樹(shù)莓都是基于ARM架構(gòu)的單板計(jì)算機(jī),它們?cè)诮逃?、工業(yè)控制、物聯(lián)網(wǎng)等領(lǐng)域有著廣泛的應(yīng)用。 硬件配置 ARM開(kāi)發(fā)板和樹(shù)莓的硬件配置各有特點(diǎn),具體取決于不同的型號(hào)和制造商。
    的頭像 發(fā)表于 11-05 11:11 ?160次閱讀

    樹(shù)莓和arm開(kāi)發(fā)板的區(qū)別

    樹(shù)莓(Raspberry Pi)和ARM開(kāi)發(fā)板都是基于ARM架構(gòu)的微型計(jì)算機(jī),但它們之間存在一些關(guān)鍵區(qū)別。 一、歷史背景 樹(shù)莓(Raspberry Pi) 樹(shù)莓是由英國(guó)樹(shù)莓
    的頭像 發(fā)表于 08-30 15:36 ?727次閱讀

    linux開(kāi)發(fā)板與樹(shù)莓的區(qū)別

    定義和用途 Linux開(kāi)發(fā)板:Linux開(kāi)發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式開(kāi)發(fā)板,通常用于工業(yè)自動(dòng)化、物聯(lián)網(wǎng)、智能家居等領(lǐng)域。 樹(shù)莓:樹(shù)莓
    的頭像 發(fā)表于 08-30 15:34 ?665次閱讀

    19.3-星曈科技 openmv Hopenmv發(fā)送五個(gè)uchar Openmv+STM32F103C8T6視覺(jué)巡線小車 STM32循跡小車系列教程

    19.3-【星曈科技】openmv Hopenmv發(fā)送五個(gè)uchar Openmv+STM32F103C8T6視覺(jué)巡線小車 STM32循跡小車系列教程 使用OpenMV循跡 openMV尋跡與
    的頭像 發(fā)表于 08-20 11:32 ?760次閱讀
    19.3-星曈科技 openmv Hopenmv發(fā)送五個(gè)uchar Openmv+STM32<b class='flag-5'>F</b>103C8T6視覺(jué)巡線<b class='flag-5'>小車</b> STM32循跡<b class='flag-5'>小車</b>系列教程

    19.4-STM32接收數(shù)據(jù)-狀態(tài)顯示在屏幕 openMV尋跡與小車控制 Openmv+STM32F103C8T6視覺(jué)巡線小車

    19.4-STM32接收數(shù)據(jù)-狀態(tài)顯示在屏幕 openMV尋跡與小車控制 Openmv+STM32F103C8T6視覺(jué)巡線小車
    的頭像 發(fā)表于 08-20 11:12 ?748次閱讀
    19.4-STM32接收數(shù)據(jù)-狀態(tài)顯示在屏幕 openMV尋跡與<b class='flag-5'>小車</b>控制 Openmv+STM32<b class='flag-5'>F</b>103C8T6視覺(jué)巡線<b class='flag-5'>小車</b>

    【核桃ZeroW開(kāi)發(fā)板體驗(yàn)連載】核桃ZeroW開(kāi)發(fā)板拆箱、組裝、上

    核桃ZeroW開(kāi)發(fā)板拆箱、組裝、上 1.做工很精致,芯片很強(qiáng)大 2.自帶WIFI、藍(lán)牙、4K高清接口,TYPEC供電,彩屏驅(qū)動(dòng) 3.可以用python、C、C++進(jìn)行開(kāi)發(fā) 4.自
    發(fā)表于 08-09 11:08

    【Vision Board創(chuàng)客營(yíng)連載體驗(yàn)】基于RA8D1-Vision Board的自動(dòng)路徑規(guī)劃小車

    電機(jī)和編碼器實(shí)現(xiàn),大腦使用RA8D1-Vision Board開(kāi)發(fā)板的openmv固件完成障礙識(shí)別和底盤(pán)移動(dòng)控制,兩個(gè)部分使用串口進(jìn)行通訊。 二、底盤(pán):(1)底盤(pán)使用普通車輪以菱形布局,可實(shí)現(xiàn)
    發(fā)表于 06-18 15:33

    【項(xiàng)目展示】基于CW32的遙控循跡小車

    CW32循跡小車.zip_免費(fèi)高速下載|百度網(wǎng)盤(pán)-分享無(wú)限制? 一、概述 CW32循跡、遙控小車具有循跡和遙控兩種功能,小車的硬件模塊由CW32F030C8T6小藍(lán)板、智能
    的頭像 發(fā)表于 05-31 17:33 ?1194次閱讀
    【項(xiàng)目展示】基于CW32的遙控循跡<b class='flag-5'>小車</b>

    AGV小車升降平臺(tái)控制

    簡(jiǎn)介: 應(yīng)用于控制AGV小車升降,推拉,勾取動(dòng)作 應(yīng)用場(chǎng)景: 升降裝置結(jié)構(gòu),AGV小車升降推拉裝置結(jié)構(gòu) 1、產(chǎn)品介紹: 本產(chǎn)品是AGV小車升降平臺(tái)控制,應(yīng)用于控制AGV
    的頭像 發(fā)表于 05-11 16:30 ?518次閱讀
    AGV<b class='flag-5'>小車</b>升降平臺(tái)控制<b class='flag-5'>板</b>

    用悟空全志H3開(kāi)發(fā)板做一個(gè)基于ROS系統(tǒng)的全向輪小車

    這個(gè)強(qiáng)大的開(kāi)發(fā)板的一些關(guān)鍵特性以及我是如何利用它來(lái)打造一個(gè)全向輪的小車的。 2、產(chǎn)品設(shè)計(jì)介紹 本次設(shè)計(jì)的全向輪小車是在一個(gè)圓形底盤(pán)上安裝了三個(gè)帶有反饋編碼器的全向輪,控制中心是悟空
    發(fā)表于 05-06 11:15

    米爾電子和瑞薩電子推出首款MPU生態(tài)開(kāi)發(fā)板瑞米

    近日,米爾電子和瑞薩電子共同定義和開(kāi)發(fā)了瑞薩第一款MPU生態(tài)開(kāi)發(fā)板——瑞米(Remi Pi)正式上市了!在各種Pi板卡琳瑯滿目的當(dāng)下,Remi Pi是一款與眾不同的開(kāi)發(fā)板,它兼顧了嚴(yán)
    的頭像 發(fā)表于 01-25 09:21 ?1003次閱讀

    基于啟明6M5開(kāi)發(fā)板的無(wú)線環(huán)境監(jiān)測(cè)小車系統(tǒng)設(shè)計(jì)

    本項(xiàng)目旨在基于啟明6M5開(kāi)發(fā)板設(shè)計(jì)一個(gè)無(wú)線環(huán)境監(jiān)測(cè)小車系統(tǒng),用于監(jiān)測(cè)實(shí)驗(yàn)室環(huán)境,用戶能夠通過(guò)藍(lán)牙對(duì)小車進(jìn)行控制,并通過(guò)onenet云平臺(tái)進(jìn)行查看當(dāng)前環(huán)境數(shù)據(jù)以及歷史數(shù)據(jù)。
    的頭像 發(fā)表于 12-11 12:22 ?876次閱讀
    基于啟明6M5<b class='flag-5'>開(kāi)發(fā)板</b>的無(wú)線環(huán)境監(jiān)測(cè)<b class='flag-5'>小車</b>系統(tǒng)設(shè)計(jì)

    香橙聯(lián)合華為發(fā)布全新Orange Pi?AIpro?開(kāi)發(fā)板,起售價(jià)799元

    12月3日,第五屆中國(guó)計(jì)算機(jī)教育大會(huì)于202312月2日-3日在廈門(mén)國(guó)際會(huì)議中心舉行。期間,香橙聯(lián)合華為發(fā)布了基于昇騰的OrangePiAIpro開(kāi)發(fā)板,其8/20TOPS澎湃算力是目前開(kāi)
    的頭像 發(fā)表于 12-05 10:44 ?1104次閱讀
    香橙<b class='flag-5'>派</b>聯(lián)合華為發(fā)布全新Orange Pi?AIpro?<b class='flag-5'>開(kāi)發(fā)板</b>,起售價(jià)799元

    香橙聯(lián)合華為發(fā)布基于昇騰的Orange Pi AIpro開(kāi)發(fā)板 業(yè)界首款基于昇騰AI開(kāi)發(fā)板

    是目前開(kāi)發(fā)板市場(chǎng)中所具備的最大算力,能覆蓋生態(tài)開(kāi)發(fā)板者的主流應(yīng)用場(chǎng)景,讓用戶實(shí)踐各種創(chuàng)新場(chǎng)景,并為其提供配套的軟硬件。而價(jià)格更是極為親民,8TOPS、8GB內(nèi)存的創(chuàng)客價(jià)/預(yù)售價(jià)僅為799元,8TOPS、16GB內(nèi)存的
    的頭像 發(fā)表于 12-04 19:04 ?1435次閱讀
    香橙<b class='flag-5'>派</b>聯(lián)合華為發(fā)布基于昇騰的Orange Pi AIpro<b class='flag-5'>開(kāi)發(fā)板</b> 業(yè)界首款基于昇騰AI<b class='flag-5'>開(kāi)發(fā)板</b>

    方法|如何為開(kāi)發(fā)板調(diào)試新的觸摸屏

    方法|如何為開(kāi)發(fā)板調(diào)試新的觸摸屏
    的頭像 發(fā)表于 11-30 11:30 ?856次閱讀
    方法|如何為<b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>調(diào)試</b>新的觸摸屏