亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FreeRTOS和emWin圖形庫(kù)的工業(yè)機(jī)械臂示教器軟件設(shè)計(jì)

        2022-06-11 11:32:36楊亮亮竇巖杰張暉
        軟件工程 2022年6期

        楊亮亮 竇巖杰 張暉

        摘? 要:為了解決工業(yè)機(jī)械臂示教器軟件設(shè)計(jì)成本高、界面不友好等問(wèn)題,采用基于ARM Cortex-M7內(nèi)核的STM32H743為主控芯片,并運(yùn)用實(shí)時(shí)操作系統(tǒng)FreeRTOS和emWin圖形庫(kù)設(shè)計(jì)了一種液晶顯示的工業(yè)機(jī)械臂示教器軟件。該示教器軟件使用emWin圖形庫(kù)進(jìn)行軟件界面的設(shè)計(jì)與搭建,采用FreeRTOS操作系統(tǒng)來(lái)滿足軟件多任務(wù)的運(yùn)行,并且能夠?qū)崿F(xiàn)多任務(wù)之間的通信與同步,再通過(guò)LwIP中UDP協(xié)議實(shí)現(xiàn)示教器與運(yùn)動(dòng)控制卡之間的通信,從而實(shí)現(xiàn)示教功能。實(shí)驗(yàn)結(jié)果表明,該示教器軟件顯示穩(wěn)定,性能可靠,界面人機(jī)交互功能友好,具有實(shí)用價(jià)值。

        關(guān)鍵詞:FreeRTOS;emWin圖形庫(kù);移植;LwIP;示教器軟件

        中圖分類號(hào):TP23? ? ?文獻(xiàn)標(biāo)識(shí)碼:A

        Design of Software for Industrial Manipulator Teaching Pendant

        based on FreeRTOS and emWin Graphics Library

        YANG Liangliang, DOU Yanjie, ZHANG Hui

        Abstract: Aiming at the high software design cost and unfriendly interface of the teaching pendant for industrial manipulator, this paper proposes to use a STM32H743 based on the ARM Cortex-M7 core as the main control chip, and design teaching pendant software of LCD display for industrial manipulator by using a real-time operating system FreeRTOS and emWin graphics library. The emWin graphics library in the teaching pendant software is used to design and build the software interface. The FreeRTOS operating system is used for the multi-task operation of the software, and multi-task communication and synchronization can be achieved. Then the UDP protocol in LwIP is used to realize communication between teaching pendant software and a motion control card, so as to implement the teaching function. Finally, experimental results show that the proposed software has stable display, reliable performance, friendly man-machine interaction and practical value.

        Keywords: FreeRTOS; emWin graphics library; transplantation; LwIP; teaching pendant software

        1? ?引言(Introduction)

        隨著現(xiàn)代制造業(yè)的發(fā)展和“中國(guó)制造2025”戰(zhàn)略的推進(jìn),智能化制造水平不斷提升,制造業(yè)對(duì)工業(yè)機(jī)械臂的需求越來(lái)越大。工業(yè)機(jī)械臂的主要應(yīng)用場(chǎng)景有機(jī)械加工、碼垛、焊接、噴漆等,目前國(guó)內(nèi)工業(yè)機(jī)械臂在這些場(chǎng)景的運(yùn)用過(guò)程中主要通過(guò)示教再現(xiàn)的方式進(jìn)行控制[1-2]。

        常見的工業(yè)機(jī)械臂示教器軟件一般基于嵌入式系統(tǒng)進(jìn)行開發(fā)設(shè)計(jì),目前主流的嵌入式操作系統(tǒng)有μC/OS-III、FreeRTOS、RT-Thread等,相比μC/OS-III等商用收費(fèi)的操作系統(tǒng),F(xiàn)reeRTOS是一個(gè)源碼公開的免費(fèi)實(shí)時(shí)操作系統(tǒng),能夠很方便地移植到各種微型處理器上,并且降低了開發(fā)成本。嵌入式中人機(jī)交互GUI圖形界面軟件有Qt、UCGUI等,由于軟件運(yùn)行環(huán)境不同或者圖形用戶界面軟件功能有限,因此很難達(dá)到完美的效果[3-4]。圖形軟件庫(kù)emWin提供的接口函數(shù)使得嵌入式圖形界面開發(fā)變得更加容易,設(shè)計(jì)簡(jiǎn)單,對(duì)開發(fā)要求低并且資源豐富[5-6]。

        通過(guò)上述分析,為了降低軟件的開發(fā)成本、周期與資源需求等,采用FreeRTOS與emWin組合的方式開發(fā)嵌入式機(jī)械臂示教器軟件,既能夠保證實(shí)現(xiàn)多任務(wù)運(yùn)行,又能夠提供一個(gè)友好的人機(jī)交互界面。以ARM Cortex-M7內(nèi)核芯片STM32H743作為工業(yè)機(jī)械臂示教器軟件的主控芯片,集成RGB接口的7 寸GT911電容屏進(jìn)行液晶顯示,在實(shí)時(shí)操作系統(tǒng)FreeRTOS上建立多任務(wù),并通過(guò)emWin圖形庫(kù)搭建GUI界面,再選用LAN8720A作為網(wǎng)口通信PHY層芯片,實(shí)現(xiàn)上位機(jī)示教器軟件與下位機(jī)運(yùn)動(dòng)控制卡之間的UDP網(wǎng)絡(luò)通信,從而滿足工業(yè)機(jī)械臂示教器軟件的設(shè)計(jì)要求。

        2? FreeRTOS操作系統(tǒng)和emWin圖形庫(kù)(FreeRTOS operating system and emWin graphics library)

        2.1? ?FreeRTOS操作系統(tǒng)

        FreeRTOS是一款可移植的、開放源代碼的微型實(shí)時(shí)內(nèi)核,它免費(fèi)下載,免版稅,并可用于商業(yè)應(yīng)用。它為多種不同的處理器架構(gòu)和開發(fā)工具提供移植包,并且提供多個(gè)例程用來(lái)展示內(nèi)核特性,加快學(xué)習(xí)進(jìn)程,并允許“開箱即用”式的開發(fā)。作為一款輕量級(jí)操作系統(tǒng),F(xiàn)reeRTOS提供了任務(wù)管理、時(shí)間管理、信號(hào)量、消息隊(duì)列、內(nèi)存管理、記錄等功能,可基本滿足較小系統(tǒng)的需要[7]。

        FreeRTOS的內(nèi)核支持設(shè)置為可剝奪型內(nèi)核或不可剝奪型內(nèi)核。當(dāng)FreeRTOS為可剝奪型內(nèi)核時(shí),每個(gè)任務(wù)可根據(jù)不同重要程度被賦予一定的優(yōu)先級(jí),優(yōu)先級(jí)高的任務(wù)具有CPU優(yōu)先使用權(quán),因此總是保證處于就緒態(tài)的、優(yōu)先級(jí)最高的任務(wù)先運(yùn)行,這樣可以滿足系統(tǒng)的實(shí)時(shí)性要求。而當(dāng)FreeRTOS為非可剝奪型內(nèi)核時(shí),處于就緒態(tài)的高優(yōu)先級(jí)任務(wù)只能等當(dāng)前運(yùn)行任務(wù)運(yùn)行完成后主動(dòng)釋放CPU的使用權(quán)才能獲得運(yùn)行,CPU的運(yùn)行效率被提高。因此,在本文工業(yè)機(jī)械臂示教器軟件設(shè)計(jì)的過(guò)程中,將FreeRTOS的內(nèi)核設(shè)置為可剝奪型內(nèi)核,這樣能夠滿足工業(yè)機(jī)械臂的實(shí)時(shí)性,可以在示教器上實(shí)時(shí)地顯示機(jī)械臂的姿態(tài)以及實(shí)現(xiàn)特殊情況下的急停操作(因優(yōu)先級(jí)最高,可剝奪型內(nèi)核可以保證急停任務(wù)優(yōu)先執(zhí)行)。

        2.2? ?emWin圖形庫(kù)

        emWin是一種復(fù)雜高效的圖形用戶界面,可工作在單任務(wù)或多任務(wù)環(huán)境中,具有模塊化的特點(diǎn),并采用分層結(jié)構(gòu)。emWin的主要功能有:

        (1)繪制2-D圖形,如繪制橢圓、弧線和線圖等。

        (2)顯示位圖文件,提供工具將JPG圖片轉(zhuǎn)換為C語(yǔ)言的形式。

        (3)顯示文字,支持多國(guó)文字,如中文、英文。

        (4)處理用戶輸入,如外接鍵盤輸入及觸摸屏的人機(jī)交互輸入。

        (5)提供各種窗口對(duì)象。這些窗口對(duì)象為圖形控件,如常見的菜單控件、窗口控件、按鍵控件等,由于這些控件的存在能夠非常容易地制作成簡(jiǎn)潔的控制界面,降低了開發(fā)周期和開發(fā)難度[6]。

        emWin的這些功能為開發(fā)者提供C語(yǔ)言的接口函數(shù),也解決了人機(jī)交互應(yīng)用的設(shè)計(jì)難點(diǎn),并且emWin對(duì)內(nèi)存的消耗較低,能夠滿足工業(yè)機(jī)械臂示教器軟件的要求。

        emWin主要分為硬件層、驅(qū)動(dòng)層、圖形庫(kù)層和應(yīng)用層四個(gè)層次,如圖1所示。本文示教器軟件主要是在emWin應(yīng)用層上進(jìn)行開發(fā),編寫用戶應(yīng)用程序?qū)崿F(xiàn)人機(jī)交互的功能。示教器軟件界面顯示是通過(guò)調(diào)用圖形庫(kù)層提供功能函數(shù)接口,然后各個(gè)功能函數(shù)調(diào)用驅(qū)動(dòng)層的驅(qū)動(dòng)函數(shù)去實(shí)現(xiàn)底層硬件的顯示功能。

        3? FreeRTOS操作系統(tǒng)與emWin圖形庫(kù)的移植

        (FreeRTOS operating system and the transplantation of emWin graphics library)

        3.1? ?FreeRTOS操作系統(tǒng)的移植

        本文是針對(duì)STM32H743IIT6芯片進(jìn)行移植,使用的編譯軟件為Keil 5。首先在工程中添加FreeRTOS官方源碼中的Source文件。FreeRTOS的實(shí)現(xiàn)主要由list.c、queue.c、task.c

        和corutine.c組成,其中l(wèi)ist.c是鏈表的實(shí)現(xiàn)源文件,主要給內(nèi)核調(diào)度器使用;queue.c是隊(duì)列的實(shí)現(xiàn)源文件,支持中斷和信號(hào)量的控制;task.c任務(wù)實(shí)現(xiàn)是各個(gè)任務(wù)使用各自的堆棧,支持搶占式調(diào)度;而corutine.c任務(wù)實(shí)現(xiàn)是各任務(wù)共享一個(gè)堆棧,使得RAM需求縮小[7]。在本文中主要使用前三個(gè)源文件,同時(shí)還修改FreeRTOSConfig.h頭文件對(duì)FreeRTOS進(jìn)行裁減,應(yīng)用于不同的處理器平臺(tái)。在配置FreeRTOSConfig.h

        時(shí)將宏configUSE_TICK_HOOK、configUSE_MALLOC_FAILED_HOOK和configCHECK_FOR_STACK_OVERFLOW定義為0。FreeRTOS中大量使用了內(nèi)存管理,比如創(chuàng)建任務(wù)、信號(hào)量、隊(duì)列等會(huì)自動(dòng)從堆中申請(qǐng)內(nèi)存。FreeRTOS提供了內(nèi)存管理函數(shù)來(lái)申請(qǐng)和釋放內(nèi)存,一共提供了五種內(nèi)存分配方式。為了避免造成內(nèi)存碎片化,使用提供的heap_4.c文件,該分配方式能夠合并兩塊相鄰的內(nèi)存空間,使之變大,在使用時(shí)能夠直接調(diào)用函數(shù)pvPortMalloc()和vPortFree()來(lái)動(dòng)態(tài)申請(qǐng)和釋放內(nèi)存。

        3.2? ?emWin圖形庫(kù)的移植

        emWin在特定的硬件平臺(tái)上運(yùn)行,需要為emWin提供與底層硬件操作相關(guān)的函數(shù)接口,主要為內(nèi)存管理接口、液晶驅(qū)動(dòng)接口和觸摸屏接口。移植過(guò)程首先添加emWin 5.44版本的源文件和配置文件[8-9]。內(nèi)存管理接口主要配置GUIConf.c

        和GUIConf.h文件,修改配置從外部32 MB SDRAM分配emWin動(dòng)態(tài)內(nèi)存為8 MB,并設(shè)置支持多任務(wù)和ARGB。顯示驅(qū)動(dòng)接口主要配置LCDConf.c和LCDConf.h文件,配置為多幀緩沖功能,同時(shí)設(shè)置屏幕顯示區(qū)域大小為800×480。觸摸屏接口為Gt9xx.c文件,軟件通過(guò)FreeRTOS創(chuàng)建一個(gè)觸摸任務(wù),30 ms讀取一次觸摸信息,因此要配置關(guān)閉觸摸中斷的方式。

        4? 示教器軟件設(shè)計(jì)(Design of teaching pendant software)

        4.1? ?主要框架

        機(jī)械臂示教器軟件具體實(shí)現(xiàn)示教功能的框圖如圖2所示。本文主要是針對(duì)示教器軟件進(jìn)行設(shè)計(jì),再通過(guò)網(wǎng)口方式與機(jī)械臂運(yùn)動(dòng)控制卡進(jìn)行通信,然后運(yùn)動(dòng)控制卡通過(guò)驅(qū)動(dòng)器來(lái)控制工業(yè)機(jī)械臂進(jìn)行運(yùn)動(dòng)。

        示教器的硬件與運(yùn)行環(huán)境搭建好后,軟件功能的總體框架如圖3所示。其主要功能有菜單欄包括文件(新建、保存等)、編輯(剪切、復(fù)制、粘貼等)和幫助;模式設(shè)置包括運(yùn)行模式(單步、單次、循環(huán)運(yùn)行)、運(yùn)行速度和啟停;指令顯示包括顯示區(qū)(顯示已經(jīng)編輯好的指令)、刪除(刪除指定指令)和清空(清空所有指令);指令編輯區(qū)包括運(yùn)動(dòng)指令(關(guān)節(jié)、直線、圓弧、圓等的編輯)、邏輯指令(延時(shí)、Home點(diǎn)設(shè)置等的編輯)、碼垛、跟蹤和通信;運(yùn)動(dòng)與參數(shù)設(shè)置包括關(guān)節(jié)運(yùn)動(dòng)(按鍵直接控制關(guān)節(jié)運(yùn)動(dòng):按下關(guān)節(jié)移動(dòng),釋放停止運(yùn)動(dòng))、D-H參數(shù)(針對(duì)不同機(jī)械臂需要改變D-H參數(shù)并保存)、最大運(yùn)動(dòng)速度(設(shè)置每個(gè)關(guān)節(jié)最大的運(yùn)動(dòng)速度、加速度等)和回零速度;提示信息與數(shù)字鍵盤主要顯示運(yùn)行過(guò)程中的各種信息(錯(cuò)誤信息、運(yùn)行成功等)以及數(shù)字鍵盤用于指令編輯區(qū)的指令輸入和運(yùn)動(dòng)參數(shù)的設(shè)置等。

        根據(jù)軟件的功能,實(shí)時(shí)操作系統(tǒng)的任務(wù)主要?jiǎng)澐譃閿?shù)據(jù)處理與傳輸任務(wù)、人機(jī)交互控制任務(wù)、文件與數(shù)據(jù)存儲(chǔ)任務(wù)和界面刷新與顯示任務(wù)。為了保證數(shù)據(jù)處理和傳輸?shù)膶?shí)時(shí)性,數(shù)據(jù)處理與傳輸任務(wù)處于最高優(yōu)先級(jí)。界面刷新與顯示任務(wù)主要包括文本、按鍵和圖片等的顯示與刷新,由于采用的emWin圖形庫(kù)占用系統(tǒng)資源較大,并且任務(wù)時(shí)間長(zhǎng),因此設(shè)置為最低優(yōu)先級(jí)。考慮到人機(jī)交互的響應(yīng)時(shí)間與速度問(wèn)題,將人機(jī)交互控制任務(wù)的優(yōu)先級(jí)設(shè)置第二優(yōu)先級(jí),文件與數(shù)據(jù)存儲(chǔ)任務(wù)設(shè)置為第三優(yōu)先級(jí)。因此,示教器軟件系統(tǒng)任務(wù)的優(yōu)先級(jí)從高到低分別為數(shù)據(jù)處理與傳輸任務(wù)、人機(jī)交互控制任務(wù)、文件與數(shù)據(jù)存儲(chǔ)任務(wù)和界面刷新與顯示任務(wù)。

        系統(tǒng)任務(wù)之間的通信與同步是通過(guò)任務(wù)通知與消息隊(duì)列進(jìn)行的,如圖4所示。

        4.2? ?網(wǎng)絡(luò)通信

        LwIP適用于嵌入式的開源輕型TCP/IP協(xié)議棧,可以移植在FreeRTOS操作系統(tǒng)平臺(tái)上,占用ROM與RAM資源較少,支持較為完整的TCP/IP協(xié)議且便于裁減、調(diào)試,被廣泛應(yīng)用在32 位控制器上,因此本文的示教器軟件采用LwIP進(jìn)行網(wǎng)口通信[10-11]。LwIP在FreeRTOS操作系統(tǒng)上能夠使用NETCONN API與Socket API編程,相較于RAW API編程會(huì)更加簡(jiǎn)便。由于FreeRTOS上能夠?qū)崿F(xiàn)多任務(wù),因此可以單獨(dú)創(chuàng)建一個(gè)任務(wù)處理LwIP數(shù)據(jù)的收發(fā),再通過(guò)消息隊(duì)列(郵箱)實(shí)現(xiàn)多個(gè)任務(wù)之間的通信。Socket通常被稱為套接字,在當(dāng)前網(wǎng)絡(luò)通信中主流程序設(shè)計(jì)都是使用Socket進(jìn)行編程的,因?yàn)樗?jiǎn)單易用,是一個(gè)網(wǎng)絡(luò)編程標(biāo)準(zhǔn),能夠在不同平臺(tái)上移植。工業(yè)機(jī)械臂示教器軟件選用LwIP的Socket API編程,在Socket中,通過(guò)Socket套接字記錄網(wǎng)絡(luò)的連接情況。TCP/IP協(xié)議棧常用通信協(xié)議有TCP和UDP,TCP是一種穩(wěn)定的傳輸層協(xié)議,能夠提供面向連接、可靠的傳輸服務(wù),而UDP則提供一種不可靠的、無(wú)連接的服務(wù),但是UDP相對(duì)于TCP傳輸速度快,沒(méi)有TCP的握手、確認(rèn)、重傳等機(jī)制,因此針對(duì)示教器軟件要求實(shí)時(shí)顯示機(jī)械臂的姿態(tài),在這種實(shí)時(shí)性要求較高的場(chǎng)合中選用UDP協(xié)議。

        工業(yè)機(jī)械臂示教器軟件套接字使用如下:

        第一步,創(chuàng)建套接字:

        sock=socket(AF_INET, SOCK_DGRAM, 0);

        創(chuàng)建套接字,socket第一個(gè)參數(shù)為套接字協(xié)議簇,對(duì)于TCP/IP協(xié)議,該值為AF_INET;第二個(gè)參數(shù)為套接字使用的服務(wù)類型,對(duì)于UDP協(xié)議,該值為SOCK_DGRAM(若為TCP協(xié)議,該值為SOCK_STREAM);第三個(gè)參數(shù)為套接字使用的協(xié)議,對(duì)于IPv4中的TCP和UDP,該值均為0。

        第二步,套接字綁定本地網(wǎng)絡(luò)信息:

        /* udp_localaddr一個(gè)sockaddr_in的結(jié)構(gòu)體*/

        udp_localaddr.sin_family=AF_INET;? ?//協(xié)議簇

        udp_localaddr.sin_addr.s_addr=INADDR_ANY;? //IP地址信息

        udp_localaddr.sin_port=htons(50000);? //本地端口

        memset(&(udp_localaddr.sin_zero), 0, sizeof(udp_localaddr.sin_zero));? //8字節(jié)保留未用

        bind(sock, (struct sockaddr *)&udp_localaddr, sizeof(struct sockaddr)); //綁定操作

        經(jīng)過(guò)上述兩步,已經(jīng)將sock與本地綁定好,就可以使用UDP進(jìn)行通信了。UDP通信時(shí)發(fā)送數(shù)據(jù)調(diào)用Socket API中sendto函數(shù):

        sendto(sock, Send_data, send_data_len,0, (struct sockaddr*)&serveraddr, sizeof(struct sockaddr_in));

        該函數(shù)中sock為套接字;Send_data為存放要發(fā)送數(shù)據(jù)數(shù)組的起始地址;send_data_len為發(fā)送數(shù)據(jù)長(zhǎng)度;第四個(gè)參數(shù)為發(fā)送時(shí)的一些處理,比如外帶數(shù)據(jù)等,此處無(wú)處理設(shè)置為0;serveraddr為sockaddr結(jié)構(gòu)體,記錄了遠(yuǎn)端運(yùn)動(dòng)控制卡的IP地址和端口;最后一個(gè)參數(shù)為sockaddr結(jié)構(gòu)體長(zhǎng)度。

        接收時(shí)調(diào)用recvfrom函數(shù):

        recv_data_len=recvfrom(sock, Recv_data, recv_data_maxlen,0, (struct sockaddr*)&serveraddr, &addrlen);

        與上述sendto參數(shù)基本一致,其中recv_data_len為接收數(shù)據(jù)長(zhǎng)度,Recv_data為存放接收數(shù)據(jù)數(shù)組的起始地址,recv_data_maxlen接收數(shù)據(jù)長(zhǎng)度最大值。

        4.3? ?軟件界面顯示

        工業(yè)機(jī)械臂示教器軟件界面如圖5所示,其中數(shù)字按鍵是彈窗式的,點(diǎn)擊要編輯的編輯框就會(huì)彈出數(shù)字鍵盤,如圖6所示。此數(shù)字鍵盤界面是模態(tài)的,只有按鍵界面點(diǎn)擊Ok按鍵結(jié)束后才能對(duì)其他界面進(jìn)行操作。

        5? ?應(yīng)用(Application)

        5.1? ?平臺(tái)搭建

        工業(yè)機(jī)械臂示教器軟件應(yīng)用平臺(tái)的搭建如圖7所示,主要包括四軸SCARA機(jī)械臂本體、驅(qū)動(dòng)器、運(yùn)動(dòng)控制卡、機(jī)械臂示教器軟件等。

        5.2? ?機(jī)械臂示教器軟件的應(yīng)用

        工業(yè)機(jī)械臂運(yùn)動(dòng)時(shí)需要根據(jù)初始位姿和終點(diǎn)位姿,從起點(diǎn)運(yùn)動(dòng)到終點(diǎn),但是一般情況下在實(shí)際使用過(guò)程中無(wú)法事先獲取始末位姿。機(jī)械臂示教器軟件一般是示教再實(shí)現(xiàn)機(jī)械臂的運(yùn)動(dòng),首先將機(jī)械臂運(yùn)動(dòng)到起始位置,然后通過(guò)示教器軟件獲取位姿并記錄下來(lái),再移動(dòng)到終點(diǎn)位置,示教器軟件獲取位姿并記錄下來(lái)。通過(guò)獲取的始末位置和姿態(tài),再選擇運(yùn)動(dòng)方式是直線或者圓弧,不斷重復(fù)地從起始位置運(yùn)動(dòng)到終點(diǎn)位置。

        如圖5和圖6所示,在使用機(jī)械臂示教器軟件示教時(shí),先在運(yùn)動(dòng)與參數(shù)設(shè)置區(qū)設(shè)置好機(jī)械臂的參數(shù),如D-H參數(shù)(在List display中設(shè)置并顯示,如表1所示)、最大運(yùn)動(dòng)速度(在Maximum speed中設(shè)置并顯示)等,再關(guān)節(jié)輸入,通過(guò)關(guān)節(jié)運(yùn)動(dòng)指令運(yùn)動(dòng)到起始點(diǎn),此時(shí)機(jī)械臂的位置和姿態(tài)都會(huì)顯示在指令編輯區(qū)的運(yùn)動(dòng)指令處。機(jī)械臂的位置會(huì)顯示在Linear move指令窗口的編輯框x、y、z、rz中,此時(shí)點(diǎn)擊Ok按鈕即可在Code Edit處保存并記錄當(dāng)前位置,再用同樣的方法保存并記錄終點(diǎn)位置,如此便可實(shí)現(xiàn)示教重現(xiàn)了。在運(yùn)行時(shí),需要選擇運(yùn)行模式,如單步運(yùn)行Step,以及運(yùn)行速度模式,如60%,再點(diǎn)擊Start按鈕,軟件會(huì)對(duì)每行指令進(jìn)行編譯解析,如果指令出錯(cuò)會(huì)在提示信息區(qū)顯示錯(cuò)誤信息,如果沒(méi)錯(cuò)會(huì)在提示信息區(qū)顯示編譯成功,并下發(fā)指令開始運(yùn)動(dòng),如圖8所示。

        6? ?結(jié)論(Conclusion)

        本文利用FreeRTOS操作系統(tǒng)與emWin圖形庫(kù)在STM32H743嵌入式平臺(tái)上實(shí)現(xiàn)了工業(yè)機(jī)械臂示教器軟件的設(shè)計(jì),描述了硬件平臺(tái)上的移植過(guò)程、軟件界面的搭建與實(shí)現(xiàn)以及上下位機(jī)之間的UDP通信。示教器軟件使用編譯器Keil 5

        進(jìn)行編寫、下載與調(diào)試,通過(guò)應(yīng)用于工業(yè)機(jī)械臂的實(shí)驗(yàn),證明了示教器軟件多個(gè)任務(wù)運(yùn)行和同步可靠,反應(yīng)靈敏,具有高效性;同時(shí)有一個(gè)簡(jiǎn)潔友好的人機(jī)交互界面,并且可以實(shí)現(xiàn)機(jī)械臂的關(guān)節(jié)、直線、圓弧等多種運(yùn)動(dòng)方式;通信速度穩(wěn)定可靠,能夠滿足工業(yè)機(jī)械臂的實(shí)時(shí)顯示狀態(tài)性能,可以很好地運(yùn)用在實(shí)際制造加工過(guò)程中,能夠降低加工生產(chǎn)的成本、開發(fā)周期與資源占用。

        參考文獻(xiàn)(References)

        [1] 申淑麗,黃昕,祝潤(rùn)澤,等.基于Linux系統(tǒng)的通用工業(yè)機(jī)器人示教器開發(fā)[J].機(jī)床與液壓,2021,49(03):63-68.

        [2] 田國(guó)富,李曉婷.工業(yè)機(jī)器人示教器人機(jī)界面的設(shè)計(jì)[J].機(jī)械制造,2017,55(12):29-31,35.

        [3] 謝鵬程.基于STM32和FreeRTOS的獨(dú)立式運(yùn)動(dòng)控制器設(shè)計(jì)與研究[D].廣州:華南理工大學(xué),2012.

        [4] 劉建強(qiáng),李建義,梁力水,等.基于μCOS-Ⅲ+EMWIN的自動(dòng)駕駛系統(tǒng)設(shè)計(jì)[J].廊坊師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2018,

        18(04):38-42.

        [5] 陳新,蒲慶文.基于emWin圖形庫(kù)的電動(dòng)汽車液晶儀表設(shè)計(jì)[J].儀表技術(shù)與傳感器,2013(07):105-107,110.

        [6] 肖林京,于鵬杰,于志豪,等.基于STM32和emWin圖形庫(kù)的液晶顯示系統(tǒng)設(shè)計(jì)[J].電視技術(shù),2015,39(01):39-42,50.

        [7] 張龍彪,張果,王劍平,等.嵌入式操作系統(tǒng)FreeRTOS的原理與移植實(shí)現(xiàn)[J].信息技術(shù),2012,36(11):31-34.

        [8] 陳繼華,湯濤林,李國(guó)棟,等.emWin在stm32和ra8875中的嵌入式設(shè)計(jì)[J].電子設(shè)計(jì)工程,2019,27(08):156-160,165.

        [9] 張維通,王潤(rùn)潔,康迂勇,等.基于EMWIN和ARM Cortex-M4內(nèi)核的數(shù)字示波器[J].電子世界,2018(12):13-15.

        [10] 張文亮,田沛,劉暉,等.基于FreeRTOS的lwip協(xié)議棧的移植與測(cè)試[J].自動(dòng)化技術(shù)與應(yīng)用,2015,34(11):25-29.

        [11] MENG F R, HUO Y, ZHOU Y. Network multifunctional substation with embedded system in coal mine[J]. Journal of China University of Mining & Technology(English Edition), 2006(02):236-240.

        作者簡(jiǎn)介:

        楊亮亮(1978-),男,博士,副教授.研究領(lǐng)域:高速高精運(yùn)動(dòng)控制.

        竇巖杰(1996-),男,碩士生.研究領(lǐng)域:機(jī)械臂運(yùn)動(dòng)控制.

        張? ? 暉(1997-),男,碩士生.研究領(lǐng)域:嵌入式系統(tǒng)設(shè)計(jì).

        按摩偷拍一区二区三区| 粉嫩少妇内射浓精videos| 91产精品无码无套在线| 蜜桃精品国产一区二区三区| 人妻少妇不满足中文字幕| 亚洲中文久久精品无码| 99re在线视频播放| 国产偷闻隔壁人妻内裤av| 国产三级不卡一区不卡二区在线| 四川丰满妇女毛片四川话 | 青青视频一区| 亚洲av高清资源在线观看三区| 青青青免费在线视频亚洲视频| 蜜桃日本免费看mv免费版| 尤物yw无码网站进入| 国产精品一区二区av白丝在线| 亚洲乱码中文字幕综合久久| 亚洲av永久无码精品三区在线| 97性视频| 一级黄色一区二区三区视频| 青青手机在线观看视频| 亚洲av永久无码精品国产精品 | 国产精品久久婷婷免费观看| 曰韩无码无遮挡a级毛片| 久久人人97超碰超国产| 美腿丝袜一区二区三区| 成人大片免费观看视频| а√资源新版在线天堂| 国产精品丝袜在线不卡| 白白色日韩免费在线观看| 日本丰满少妇裸体自慰| 亚洲巨乳自拍在线视频| 国产男女做爰猛烈视频网站| 亚洲国产丝袜久久久精品一区二区| 真人做爰片免费观看播放| 精品四虎免费观看国产高清| 亚洲第一女人天堂av| 丰满少妇高潮惨叫久久久| 最新亚洲精品国偷自产在线| 中文人妻av大区中文不卡| 91色老久久偷偷精品蜜臀懂色 |