溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何分析基于RT-Thread實(shí)現(xiàn)的激光雷達(dá)避障小車

發(fā)布時(shí)間:2021-12-17 15:07:08 來源:億速云 閱讀:186 作者:柒染 欄目:互聯(lián)網(wǎng)科技

這篇文章給大家介紹如何分析基于RT-Thread實(shí)現(xiàn)的激光雷達(dá)避障小車,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。


背景描述

由于在學(xué)校里很少有機(jī)會(huì)讓我將所學(xué)的東西付諸于實(shí)踐.有時(shí)候?qū)W完一個(gè)東西沒法真正了解自己是否掌握,同時(shí)為了進(jìn)一步提高自己的能力,不再漫無目的的學(xué)習(xí).所以決定做這樣一輛小車.其中PCB原理圖和初版PCB_layout是我在寒假在家中完成的,程序是基于rt-thread[BSP]stm32f429-Apollo寫的.歷時(shí)3個(gè)多月.這輛小車很多地方可以說是邊學(xué)邊做的,尤其是有關(guān)于rt-thread方面的知識.在學(xué)習(xí)rt-thread期間受到了很多RTT社區(qū)里的人的幫助.要特別感謝下RTT開源社區(qū).

RT-Thread起到的作用

作為主控芯片的實(shí)時(shí)系統(tǒng),提供多線程編程.小車的每個(gè)重要的需要實(shí)時(shí)的功能都單獨(dú)作為一個(gè)線程.如小車的mpu9250姿態(tài)解算出姿態(tài)角(Roll、Pitch、Yaw )的過程就單獨(dú)使用了一個(gè)線程(mpu9250),小車的PID控制速度的代碼也單獨(dú)使用了一個(gè)線程(speed).每個(gè)功能線程(mpu9250,speed...等)都會(huì)處理完各自的數(shù)據(jù)得出結(jié)果,并且這些結(jié)果在必要的時(shí)候提供給主線程(master)使用.也正是因?yàn)閞t-thread的優(yōu)先級全搶占式調(diào)度使得重要的線程能及時(shí)處理完.另外rt-thread提供的finsh/msh在調(diào)試期間起到了很大的作用,同時(shí)也可以通過遠(yuǎn)程藍(lán)牙串口控制小車的行為.

實(shí)物圖

如何分析基于RT-Thread實(shí)現(xiàn)的激光雷達(dá)避障小車如何分析基于RT-Thread實(shí)現(xiàn)的激光雷達(dá)避障小車如何分析基于RT-Thread實(shí)現(xiàn)的激光雷達(dá)避障小車

  • 主控芯片:STM32F429IGT6

  • 其它主要配件:激光雷達(dá),藍(lán)牙串口,無線射頻模塊,MPU9250九軸姿態(tài)模塊,電機(jī)驅(qū)動(dòng)芯片l298n.兩個(gè)自帶AB相編碼器的電機(jī).履帶一對.

  • 編譯環(huán)境:MDK525

  • RT-Thread版本:3.0.2

硬件設(shè)計(jì)

如何分析基于RT-Thread實(shí)現(xiàn)的激光雷達(dá)避障小車

  1. 激光雷達(dá)通過串口通訊,以及pwm控制轉(zhuǎn)速.

  2. 射頻模塊通過uart6通信.使用rt-thread的事件通知消息的到來.

  3. 藍(lán)牙串口,作為msh終端的輸出.方便調(diào)試.

  4. mpu9250模塊通過i2c通信.

  5. 如何分析基于RT-Thread實(shí)現(xiàn)的激光雷達(dá)避障小車

  6. 如何分析基于RT-Thread實(shí)現(xiàn)的激光雷達(dá)避障小車

軟件設(shè)計(jì)

如何分析基于RT-Thread實(shí)現(xiàn)的激光雷達(dá)避障小車

  1. master線程負(fù)責(zé)創(chuàng)建其它子線程,以及處理各種子線程處理后的信息.

  2. eaix4線程控制激光雷達(dá)上傳到消息隊(duì)列里的消息,將激光雷達(dá)的版本信息,狀態(tài),以及掃描數(shù)據(jù)解析出來.

  3. mpu9250線程通過dmp姿態(tài)解算出 姿態(tài)角(Roll、Pitch、Yaw ).

  4. speed線程通過采集stm429自帶的編碼器以及pwm輸出,PID控制電機(jī)轉(zhuǎn)速.

幾個(gè)主要的命令

命令功能
eaix4cmd -gvf輸出激光雷達(dá)版本信息.
eaix4cmd -sc小車開始掃描,啟動(dòng)避障功能.
eaix4cmd -s激光雷達(dá)停止掃描,但是不會(huì)停車.
carMove -f小車向前.
carMove -b小車后退.
carMove -l小車左轉(zhuǎn).
carMove -r小車右轉(zhuǎn).

操作演示GIF

如何分析基于RT-Thread實(shí)現(xiàn)的激光雷達(dá)避障小車


關(guān)于如何分析基于RT-Thread實(shí)現(xiàn)的激光雷達(dá)避障小車就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI