吴忠躺衫网络科技有限公司

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

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

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

立創(chuàng)梁山派開發(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;
}

打開角度環(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)容及配圖由入駐作者撰寫或者入駐合作網(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

    文章

    9088

    瀏覽量

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

    關(guān)注

    35

    文章

    1473

    瀏覽量

    85825
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5121

    瀏覽量

    98204
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ARM開發(fā)板與樹莓的比較

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

    自適應(yīng)藍(lán)牙控制智能小車

    基于野火Renesas R7FA8D1BH (Cortex?-M85)開發(fā)板,設(shè)計(jì)的一款智能控制小車。其可實(shí)現(xiàn)采集現(xiàn)場(chǎng)環(huán)境的溫度、濕度、光照強(qiáng)度,同時(shí)使用超聲波雷達(dá)掃描環(huán)境的參數(shù),以了解特殊環(huán)境的地形特性
    發(fā)表于 10-07 23:08

    授人以漁,24H資料開源,思想開源-(1)硬件講解

    在2024全國(guó)電子競(jìng)賽的H題目中,我們團(tuán)隊(duì)采用了CW32F030C8T6作為核心控制芯片,設(shè)計(jì)并完成了一款功能完備的智能小車。以下是我們的硬件配置及其功能特性的詳細(xì)介紹: 1.硬件概述與組成
    的頭像 發(fā)表于 09-09 18:10 ?488次閱讀
    授人以漁,24<b class='flag-5'>電</b><b class='flag-5'>賽</b>H<b class='flag-5'>題</b>完<b class='flag-5'>賽</b>資料開源,思想開源-(1)硬件講解

    PY32F002A單片機(jī)開發(fā)板 PY32F002AF15P6開發(fā)板 32位MCU,M0+內(nèi)核

    PY32F002A 開發(fā)板上 搭載的是 PY32F002AF15P6 單片機(jī),TSSOP20封裝,開發(fā)板使用Type C接口供電, 可以用來(lái)對(duì)PY32
    的頭像 發(fā)表于 09-03 14:41 ?663次閱讀
    PY32<b class='flag-5'>F</b>002A單片機(jī)<b class='flag-5'>開發(fā)板</b> PY32<b class='flag-5'>F</b>002AF15P6<b class='flag-5'>開發(fā)板</b> 32位MCU,M0+內(nèi)核

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

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

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

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

    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 ?1020次閱讀
    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 ?1063次閱讀
    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開發(fā)板體驗(yàn)連載】核桃ZeroW開發(fā)板拆箱、組裝、上

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

    STM32平衡小車原理圖

    STM32f103c8t6平衡小車原理圖
    發(fā)表于 07-05 10:54 ?1次下載

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

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

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

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

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

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

    fpga開發(fā)板是什么?fpga開發(fā)板有哪些?

    FPGA開發(fā)板是一種基于FPGA(現(xiàn)場(chǎng)可編程門陣列)技術(shù)的開發(fā)平臺(tái),它允許工程師通過(guò)編程來(lái)定義和配置FPGA芯片上的邏輯電路,以實(shí)現(xiàn)各種數(shù)字電路和邏輯功能。FPGA開發(fā)板通常包括FPG
    的頭像 發(fā)表于 03-14 18:20 ?2220次閱讀
    百家乐官网赌场信息| 法拉利百家乐的玩法技巧和规则| 威尼斯人娱乐公司| 百家乐官网视频游戏大厅| 百家乐是如何出千的| 百家乐官网投注双赢技巧| 百家乐出千的方法| 筹码百家乐官网500| 大发888娱乐老虎机| 正品百家乐官网玩法| 百家乐官网棋牌公式| 全讯网直播| 长江百家乐的玩法技巧和规则| 百家乐官网买闲打法| 百家乐官网怎么推算| 足球心水论坛| 大发888娱乐场下载com| 百家乐赌场赌场网站| 网上百家乐骗人| 娱乐城百家乐官网的玩法技巧和规则 | 百家乐官网伴侣| 中骏百家乐的玩法技巧和规则| 百家乐破解| 百家乐官网国际赌场娱乐网规则| 百家乐大赌场娱乐网规则| 漯河市| 刀把状的房子做生意| 大发888游戏平台官方| 百家乐官网庄家优势| 游戏机百家乐下载| 沙河市| 太阳城百家乐杀猪吗| 御匾会娱乐城| 24山六十日吉凶| 大发888网站大全| 百家乐官网赌场策略论坛| 御匾会百家乐的玩法技巧和规则| 肯博百家乐官网现金网| 百家乐珠盘路| 博士百家乐官网现金网| 百家乐平台下载|