加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專(zhuān)業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入

【RT-Thread作品秀】寫(xiě)字機(jī)器人

2020/12/20
2063
服務(wù)支持:
技術(shù)交流群

完成交易后在“購(gòu)買(mǎi)成功”頁(yè)面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長(zhǎng)和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購(gòu)買(mǎi)后不支持退換且無(wú)法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
方塊圖(4)
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

【RT-Thread作品秀】寫(xiě)字機(jī)器人

作者:?jiǎn)坛顷?yáng)

 

 

概述(說(shuō)明應(yīng)用產(chǎn)生的背景、實(shí)現(xiàn)功能)

寫(xiě)字機(jī)器人在實(shí)際生產(chǎn)線上由于效率趕不上打印機(jī),應(yīng)用不是很廣,然而由于其結(jié)構(gòu)簡(jiǎn)單,成本低,并且符合人手寫(xiě)風(fēng)格,在學(xué)習(xí)階段很有價(jià)值。寫(xiě)字機(jī)器人設(shè)計(jì)上包含了路徑規(guī)劃、直線插補(bǔ)、加減速控制等常用電機(jī)運(yùn)動(dòng)控制算法,在軟件上也會(huì)用到DXF文件解析、openCV圖像處理等G代碼生成工具,對(duì)后期深入研究激光切割機(jī)、雕刻機(jī)、3D打印機(jī)等大型設(shè)備有很好的鋪墊作用。因此我的作品以寫(xiě)字機(jī)器人為題目分享我的制作過(guò)程和學(xué)習(xí)體驗(yàn),希望對(duì)各位小伙伴的學(xué)習(xí)有所幫助。

開(kāi)發(fā)環(huán)境(所采用的軟、硬件方案)

硬件:ART-PI、arduino、TM4C123GXL

RT-Thread版本:3.14

開(kāi)發(fā)工具及版本:MDK-ARM5.31、VSCode

RT-Thread使用情況概述(簡(jiǎn)要總結(jié)下應(yīng)用中RT-Thread使用情況:內(nèi)核部分、組件部分、軟件包部分、內(nèi)核、其他)

內(nèi)核部分:線程調(diào)度,資源分配、同步通信、設(shè)備驅(qū)動(dòng)框架

組件:DFS文件系統(tǒng)、UART串行異步通信、CAN通信

其他:UDP通信、cJSON編解碼

硬件框架(概述應(yīng)用所采用的硬件方案框圖,并對(duì)核心部分做介紹)

軟件框架說(shuō)明(介紹應(yīng)用所采用的軟件方案框圖、流程圖等,并加以解說(shuō))

在寫(xiě)字機(jī)器人設(shè)計(jì)上我將其分為三個(gè)部分:

 

圖像處理模塊

 

運(yùn)動(dòng)控制模塊

G代碼生成模塊

圖像處理模塊負(fù)責(zé)把文本圖像和照片等圖像文件做預(yù)處理,去除雜點(diǎn),然后以合適的算法將圖像二值化,突現(xiàn)主要信息,然后提取輪廓骨架以適合機(jī)器書(shū)寫(xiě)。

G代碼生成模塊將圖像輪廓序列化后進(jìn)行路徑規(guī)劃,選取一個(gè)適合的加工精度,然后按數(shù)控加工常用的G代碼規(guī)范生成NC加工文件。另外對(duì)于標(biāo)準(zhǔn)的DXF文件則通過(guò)文件解析的方法生成G代碼。

運(yùn)動(dòng)控制模塊是寫(xiě)字機(jī)器人中最雜的一個(gè)模塊,負(fù)責(zé)各個(gè)運(yùn)動(dòng)機(jī)構(gòu)的精準(zhǔn)快速移動(dòng)。收到G代碼指令后需要結(jié)合前后指令信息生成當(dāng)前指令的合適初速度、最大運(yùn)行速度,根據(jù)運(yùn)動(dòng)軌跡進(jìn)行直線插補(bǔ)點(diǎn),最后按SPTA梯形加減速算法向電機(jī)發(fā)出脈沖。

軟件模塊說(shuō)明(介紹應(yīng)用軟件關(guān)鍵部分的邏輯、采用的實(shí)現(xiàn)方式等)

       Grbl是一種高性能低成本的開(kāi)源CNC控制器,基于ATmega328型芯片輸出高速精準(zhǔn)的電機(jī)控制脈沖,完美支持各種標(biāo)準(zhǔn)G代碼,并包含了完整的前瞻性加速控制,可以實(shí)現(xiàn)平穩(wěn)的加速和無(wú)沖擊的轉(zhuǎn)彎動(dòng)作。

正是由于grbl的前瞻性速度控制功能,所以要保證grbl控制器內(nèi)一直保持著16-20個(gè)G代碼指令。這需要ART-PI通過(guò)讀取grbl控制器緩沖區(qū)狀態(tài),及時(shí)發(fā)送G代碼指令,避免出現(xiàn)緩沖溢出和緩沖區(qū)為空等現(xiàn)象出現(xiàn)。

因此需要運(yùn)行RT-thread實(shí)時(shí)操作系統(tǒng),通讀讀取SD卡上的NC文件,并與grbl控制器通信,控制設(shè)備正常運(yùn)行。另外RT-thread也可提供豐富的人機(jī)交互功能,將設(shè)備工作路徑、進(jìn)度等狀態(tài)實(shí)時(shí)顯示在屏幕上,也可以增加暫停續(xù)寫(xiě)等功能。

演示效果(演示效果請(qǐng)采用3張高清圖片,并錄制一段不少于1min視頻解說(shuō)應(yīng)用所實(shí)現(xiàn)的效果,視頻上傳至B站或者騰訊視頻或其他視頻平臺(tái),給出鏈接即可)

演示視頻

比賽感悟

       同樣是C代碼,為什么別人寫(xiě)得那么好,這次比賽用到兩個(gè)開(kāi)源軟件,一個(gè)是RT-thread,負(fù)責(zé)人機(jī)交互和發(fā)送控制指令,另一個(gè)是grbl,用來(lái)完成運(yùn)動(dòng)控制。兩款軟件都設(shè)計(jì)的非常精巧,只需在2kB大小的RAM上運(yùn)行,而功能卻又非常強(qiáng)大,實(shí)現(xiàn)了很多復(fù)雜的功能,所有的代碼封裝的很好,模塊啟用只需打開(kāi)對(duì)應(yīng)的宏定義即可。這次專(zhuān)門(mén)去圖書(shū)館借閱了RTT相關(guān)的圖書(shū),了解線程是如何調(diào)度,設(shè)備驅(qū)動(dòng)應(yīng)該怎么實(shí)現(xiàn),但是內(nèi)部還是有很多內(nèi)容不理解,后期需要繼續(xù)不斷充實(shí)自己。運(yùn)動(dòng)控制一直是我的興趣所在,這次也終于有機(jī)會(huì)把它實(shí)現(xiàn),看著電機(jī)在一行行指令的控制下乖乖地轉(zhuǎn)動(dòng),聽(tīng)著不斷變化著頻率的電機(jī)聲音,真正體會(huì)到了伺服servo的含義,非常開(kāi)心~

  • 電機(jī)驅(qū)動(dòng).pdf
    描述:小型三軸步進(jìn)電機(jī)驅(qū)動(dòng)電路,用于grbl運(yùn)動(dòng)控制
  • 代碼地址.txt
  • 寫(xiě)字機(jī)器人.pdf
    描述:開(kāi)發(fā)文檔

相關(guān)推薦

電子產(chǎn)業(yè)圖譜