摘要:在“雙高”建設(shè)背景下,職業(yè)院校通過整合校內(nèi)專業(yè)資源組建專業(yè)群來發(fā)揮集群發(fā)展的優(yōu)勢(shì)。計(jì)算機(jī)專業(yè)利用程序開發(fā)和軟件工具實(shí)現(xiàn)對(duì)工業(yè)機(jī)器人的控制,是工業(yè)機(jī)器人專業(yè)群向數(shù)字化發(fā)展的一個(gè)方向。面對(duì)專業(yè)群課程內(nèi)容交叉,需要對(duì)其進(jìn)行區(qū)分和更新。計(jì)算機(jī)專業(yè)的教學(xué)模式需要符合專業(yè)人才培養(yǎng)要求,并制定實(shí)例化、應(yīng)用型實(shí)驗(yàn)解決方案。文章針對(duì)機(jī)器人操作系統(tǒng)的程序設(shè)計(jì)理論與實(shí)踐要點(diǎn),介紹了ROS實(shí)驗(yàn)平臺(tái),以創(chuàng)新計(jì)算機(jī)專業(yè)人才的培養(yǎng)模式,促進(jìn)專業(yè)群協(xié)同發(fā)展。
關(guān)鍵詞:工業(yè)機(jī)器人;ROS;實(shí)驗(yàn)平臺(tái)
中圖法分類號(hào):TP3—4 文獻(xiàn)標(biāo)識(shí)碼:A
Computer teaching practice based on ROS experimental platform
HOU Jingxi
(Zhongshan No. 1 Vocational and Technical School, Zhongshan, Guangdong 528400, China)
Abstract: Under the background of "double high" construction, vocational colleges have formed professional groups by integrating professional resources within the school to give full play to the advantages of cluster development. The computer major uses program development and software tools to realize the control of industrial robots, which is a direction for the digital development of industrial robot professional groups. Facing the intersection of professional group curriculum content, it needs to be differentiated and updated. The teaching mode of computer major needs to meet the requirements of professional personnel training, and formulate practical and applied experimental solutions. This paper introduces the ROS experimental platform for the theory and practice of programming theory and practice of robot operating system, in order to innovate the training mode of computer professionals and promote the coordinated development of professional groups.
Key words: industrial robot, ROS, experiment platform
1? 概述
為應(yīng)對(duì)新經(jīng)濟(jì)的挑戰(zhàn),各職業(yè)院校開始探索和實(shí)施工業(yè)機(jī)器人專業(yè)的人才培養(yǎng)模式,分層次、分專業(yè)、分領(lǐng)域開展機(jī)器人學(xué)科建設(shè),以服務(wù)國(guó)家戰(zhàn)略,滿足產(chǎn)業(yè)需求。通過調(diào)研發(fā)現(xiàn),工業(yè)機(jī)器人企業(yè)對(duì)人才崗位的要求是“具有機(jī)器人應(yīng)用系統(tǒng)的設(shè)計(jì)和開發(fā)能力,可勝任系統(tǒng)集成、維護(hù)、編程、調(diào)試等工作”。從人才需求可見,“工業(yè)機(jī)器人技術(shù)”是一門融合了多門學(xué)科知識(shí)的交叉學(xué)科,綜合應(yīng)用機(jī)械、電子、仿生、傳感器、計(jì)算機(jī)硬件和軟件等眾多前沿科技,單憑在職業(yè)院校的短時(shí)間學(xué)習(xí),是難以培養(yǎng)出知識(shí)體系全面的高技能人才的。因此,不少職業(yè)院校通過組建專業(yè)群,梳理工業(yè)機(jī)器人教學(xué)內(nèi)容的邏輯關(guān)系,按照邏輯主線劃分專業(yè)領(lǐng)域,如機(jī)械、電氣、計(jì)算機(jī)專業(yè)分別服務(wù)于工業(yè)機(jī)器人產(chǎn)業(yè)鏈的不同領(lǐng)域。本文對(duì)職業(yè)院校計(jì)算機(jī)專業(yè)運(yùn)用專業(yè)特點(diǎn)為工業(yè)機(jī)器人專業(yè)群發(fā)展提供服務(wù)進(jìn)行了介紹,并提出了教學(xué)改革思路。
2? 計(jì)算機(jī)專業(yè)在工業(yè)機(jī)器人專業(yè)群中的位置
傳統(tǒng)計(jì)算機(jī)專業(yè)的專業(yè)課程大致為“操作系統(tǒng)”“程序設(shè)計(jì)”“網(wǎng)頁(yè)設(shè)計(jì)”“網(wǎng)絡(luò)工程”等,課程總體偏向計(jì)算機(jī)軟件編程,理論內(nèi)容較為抽象?;谠搶I(yè)特點(diǎn),容易出現(xiàn)與學(xué)生設(shè)想的課程內(nèi)容有出入的情況,不僅不能讓學(xué)生深刻體會(huì)開設(shè)計(jì)算機(jī)專業(yè)課程的意義,并且淡化和降低了學(xué)生對(duì)計(jì)算機(jī)專業(yè)學(xué)習(xí)的興趣,還無法直觀、便捷地向非專業(yè)群體進(jìn)行成果演示,更難以取得對(duì)等的專業(yè)認(rèn)可。計(jì)算機(jī)課程既要體現(xiàn)信息技術(shù)專業(yè)知識(shí)的綜合應(yīng)用,又要使得基礎(chǔ)理論擁有合理的層次和深度,實(shí)訓(xùn)載體還要具有時(shí)代性和必要的實(shí)物化展示。
隨著新一代信息技術(shù)的不斷發(fā)展,機(jī)器人工程研究領(lǐng)域已經(jīng)向網(wǎng)絡(luò)化、智能化、數(shù)據(jù)化方向貼近,呈現(xiàn)出“互聯(lián)網(wǎng)+”工業(yè)數(shù)字化的特點(diǎn):以機(jī)械專業(yè)或電氣專業(yè)為主,計(jì)算機(jī)專業(yè)為輔;以算法和程序開發(fā)為主,使得硬件與軟件的聯(lián)系更加緊密。具體控制層次如圖1 所示。
結(jié)合職業(yè)院校的學(xué)制特點(diǎn),學(xué)生一般只有2 ~3 年的在校學(xué)習(xí)時(shí)間,計(jì)算機(jī)專業(yè)學(xué)生沒有足夠的時(shí)間學(xué)習(xí)電子硬件相關(guān)課程。計(jì)算機(jī)課程與機(jī)械或電氣課程學(xué)習(xí)可采用隱性學(xué)時(shí)增長(zhǎng)的方式,通過在工作過程系統(tǒng)化的實(shí)際場(chǎng)景中,以項(xiàng)目實(shí)施的方式進(jìn)行教學(xué)擴(kuò)展和實(shí)驗(yàn)實(shí)踐,認(rèn)識(shí)電子硬件的基本運(yùn)行流程。
在教育信息化快速發(fā)展背景下,一些實(shí)驗(yàn)課程與硬件密切相關(guān)的內(nèi)容還可通過仿真平臺(tái)的支撐,解決計(jì)算機(jī)專業(yè)學(xué)生硬件知識(shí)技術(shù)不足的問題,實(shí)現(xiàn)機(jī)器人可視化教學(xué)。教學(xué)內(nèi)容可偏向機(jī)器人操作系統(tǒng)的使用、工作實(shí)例編程調(diào)試實(shí)現(xiàn)、策略性和技巧性的人工智能編程等,它們與計(jì)算機(jī)知識(shí)體系具有很強(qiáng)的相關(guān)性,可為學(xué)生后續(xù)學(xué)習(xí)和工作打下基礎(chǔ),從而推進(jìn)技能訓(xùn)練、提升信息化素養(yǎng)。35452F5C-3464-4420-AED8-CB2C886658CA
3? 基于 ROS 實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)方案
ROS(Robot Operating System )由斯坦福大學(xué)的人工智能實(shí)驗(yàn)室所研發(fā),是一個(gè)分布式模塊化的開源框架機(jī)器人項(xiàng)目 [1]。ROS 基于 Ubuntu 的 Linux 系統(tǒng), Linux 系統(tǒng)則是計(jì)算機(jī)專業(yè)操作系統(tǒng)教學(xué)內(nèi)容,以機(jī)械模型驗(yàn)證程序運(yùn)行效果,能更好地解決職業(yè)院校計(jì)算機(jī)專業(yè)無法通過實(shí)物化進(jìn)行教學(xué)展示的問題。計(jì)算機(jī)專業(yè)學(xué)生無須了解硬件抽象原理、底層設(shè)備控制過程,只需通過控制進(jìn)程間消息傳遞,利用常用工具,編譯庫(kù)函數(shù),編寫算法程序,即可將人工智能技術(shù)應(yīng)用于機(jī)器人載具。機(jī)器人的傳感器信息通過插件的形式加入 Gazebo 仿真環(huán)境,學(xué)生學(xué)習(xí)并理解仿真模型的制作流程和模型代碼,以可視化的方式進(jìn)行測(cè)試。其整體框架如圖2 所示。
ROS 使用分布式控制節(jié)點(diǎn)實(shí)現(xiàn)程序間的通信,節(jié)點(diǎn)可在主題中發(fā)布話題消息,也可以其他節(jié)點(diǎn)進(jìn)行主題消息的訂閱,節(jié)點(diǎn)間進(jìn)行話題消息的傳遞。
4? 基于 ROS 平臺(tái)的機(jī)械臂控制系統(tǒng)案例分析
4.1? 仿真環(huán)境與建模
通過前期簡(jiǎn)單的教學(xué),讓學(xué)生通過學(xué)習(xí)使用 Gazebo 軟件來熟悉三維模型的創(chuàng)建,了解仿真軟件的功能。在 Gazebo 軟件中,可以添加各類傳感器設(shè)備和修改對(duì)應(yīng)配置參數(shù)的方式來模擬現(xiàn)實(shí)環(huán)境。在仿真三維建模中,可以采用 XML 和 URDF 的形式進(jìn)行仿真環(huán)境和模型的描述與存儲(chǔ),用于描述機(jī)器人的一系列關(guān)節(jié)與連桿的相對(duì)關(guān)系、慣性屬性、幾何特點(diǎn)和碰撞模型的文檔。計(jì)算機(jī)專業(yè)學(xué)生通過前置課程網(wǎng)頁(yè)設(shè)計(jì),對(duì) HTML 等超文本標(biāo)記語(yǔ)言較為熟悉,教師可以直接使用標(biāo)記語(yǔ)言對(duì)模型進(jìn)行設(shè)計(jì)與開展教學(xué)活動(dòng)。本文對(duì)機(jī)械臂控制系統(tǒng)進(jìn)行了介紹,通過ros _ control 控制器實(shí)現(xiàn) ROS 與機(jī)械臂模型的關(guān)聯(lián)。ros? control 控制器集成了機(jī)械臂常用的關(guān)節(jié)力矩控制器和關(guān)節(jié)角度控制器,使用者利用ros_control控制器實(shí)現(xiàn)機(jī)械臂的操控[2]。
4.2? 上位機(jī)控制軟件
rviz軟件是 ROS 自帶的圖形化工具,可以方便用戶通過圖形界面開發(fā)調(diào)試 ROS,從而完成機(jī)械臂運(yùn)動(dòng)規(guī)劃和控制等功能。本設(shè)計(jì)方案以rviz為上位機(jī)控制軟件,讓控制對(duì)象發(fā)布控制信息,實(shí)現(xiàn)對(duì)機(jī)械臂工作狀態(tài)的監(jiān)控。
使用者通過上位機(jī)控制軟件查詢狀態(tài)、下達(dá)指令等。上位機(jī)控制軟件擁有3 種控制模式:(1)輸入末端的坐標(biāo)位置和末端夾爪的姿態(tài),控制機(jī)械臂的末端到達(dá)目標(biāo)位置;(2)控制機(jī)械臂的各個(gè)關(guān)節(jié)的運(yùn)動(dòng)角度;(3)設(shè)置軌跡,讓機(jī)械臂完成一系列指定動(dòng)作。
4.3? ROS 分布式節(jié)點(diǎn)控制模塊
為提高模塊的重用率、降低模塊的耦合性,本設(shè)計(jì)方案采用分布式設(shè)計(jì)架構(gòu),上位機(jī)軟件通過 ROS 分布式控制節(jié)點(diǎn)控制機(jī)械臂。上位機(jī)軟件節(jié)點(diǎn)采用話題發(fā)布與訂閱的方式與分布式節(jié)點(diǎn)控制模塊ur_treatment通信,實(shí)現(xiàn)對(duì)機(jī)械臂的控制。
4.4? 機(jī)械臂的運(yùn)動(dòng)規(guī)劃
在Gazeb仿真環(huán)境中,我們可以對(duì)機(jī)械臂模型實(shí)現(xiàn)路徑規(guī)劃和控制,可使用 API 中的MoveIt的 move_ group 函數(shù)控制 ROS 機(jī)器人的運(yùn)動(dòng)。對(duì) move_ group 函數(shù)接口編程,如使用 C++或 Python 編寫 API 接口,實(shí)現(xiàn)點(diǎn)到點(diǎn)的簡(jiǎn)單直線運(yùn)動(dòng)路徑規(guī)劃,運(yùn)行界面如圖3 所示。授課過程中,學(xué)生只需修改MoveIt相關(guān)參數(shù)來對(duì)機(jī)器人的運(yùn)動(dòng)進(jìn)行控制,則重培養(yǎng)學(xué)生接口調(diào)用和應(yīng)用的能力,同時(shí)裝配有多種運(yùn)動(dòng)輔助插件,提高了程序的可擴(kuò)展性,減輕了學(xué)生因過于拘泥于程序開發(fā)而忽視對(duì)系統(tǒng)整體的認(rèn)識(shí)。
4.5? 系統(tǒng)測(cè)試
工程項(xiàng)目的實(shí)現(xiàn)效果需要開展測(cè)試工作來驗(yàn)證。在機(jī)械臂仿真環(huán)境中,在上位機(jī)軟件的輸入欄中拖動(dòng)滑塊或輸入坐標(biāo),即可控制機(jī)械臂的末端位置及關(guān)節(jié)角度。在加載機(jī)械臂模型后,通過控制機(jī)械臂末端的夾具的位置和開閉狀態(tài),可以使機(jī)械臂成功夾取置于桌面上的棍條。此外,后續(xù)可以結(jié)合物聯(lián)網(wǎng)技術(shù),應(yīng)用樹莓派和 Arduino 等開源硬件來控制攝像頭等傳感設(shè)備,構(gòu)建與視覺識(shí)別相關(guān)的實(shí)驗(yàn)環(huán)境。
5? 效果與展望
5.1? ROS 實(shí)驗(yàn)平臺(tái)的使用效果
ROS 實(shí)驗(yàn)平臺(tái)包括上位機(jī)軟件、ROS 分布式控制節(jié)點(diǎn)程序、仿真機(jī)械臂。ROS 分布式控制節(jié)點(diǎn)程序是 ROS 實(shí)驗(yàn)平臺(tái)的中樞系統(tǒng),負(fù)責(zé)將上位機(jī)軟件控制指令以話題消息的形式發(fā)送給仿真機(jī)械臂模塊。而各硬件和軟件系統(tǒng)的構(gòu)建成本都不高,還可以結(jié)合樹莓派和 Arduino 等開源硬件替換昂貴的硬件,以降低實(shí)訓(xùn)成本、提高硬件兼容性和擴(kuò)展性。除此之外,ROS 實(shí)驗(yàn)平臺(tái)通過仿真實(shí)驗(yàn)驗(yàn)證,適合線上教學(xué)場(chǎng)景,方便學(xué)生在家中開展項(xiàng)目實(shí)訓(xùn)。
基于職業(yè)院校的實(shí)際情況,ROS 程序設(shè)計(jì)實(shí)驗(yàn)課程涉及的專業(yè)知識(shí)面較廣,主要培養(yǎng)學(xué)生掌握機(jī)器人操作系統(tǒng)的使用方法和簡(jiǎn)單編程調(diào)試方法,為其今后從事機(jī)器人相關(guān)工作打下基礎(chǔ),從而提升計(jì)算機(jī)思維能力、激發(fā)學(xué)習(xí)積極性。對(duì)于“學(xué)有余力”的學(xué)生還可以利用工作室的形式,開展創(chuàng)客項(xiàng)目實(shí)訓(xùn),培養(yǎng)學(xué)生創(chuàng)造性思維,促進(jìn)實(shí)驗(yàn)課程的良好有效運(yùn)行,提高學(xué)生學(xué)習(xí)主動(dòng)性和效率。ROS 實(shí)驗(yàn)平臺(tái)把原本枯燥、割裂的專業(yè)群課程知識(shí)有機(jī)結(jié)合,為計(jì)算機(jī)專業(yè)提供了一個(gè)交集互聯(lián)的展示平臺(tái)。原來課程和改進(jìn)課程對(duì)比情況如表1 所列。
5.2? 工業(yè)機(jī)器人專業(yè)群的展望
工業(yè)機(jī)器人的發(fā)展方興未艾,傳統(tǒng)專業(yè)建設(shè)已經(jīng)無法順應(yīng)行業(yè)的綜合性與交叉性發(fā)展潮流,專業(yè)群建設(shè)是產(chǎn)業(yè)升級(jí)的要求。隨著專業(yè)群內(nèi)職業(yè)分工界限的拓寬、不同工種的打通,同一產(chǎn)業(yè)鏈中不同崗位的核心能力形成相互交織的核心素養(yǎng)體系。對(duì)于計(jì)算機(jī)專業(yè)而言,培養(yǎng)目標(biāo)向“一專多能”轉(zhuǎn)變,學(xué)生必須具備多崗位適應(yīng)能力。通過信息化手段改造實(shí)訓(xùn)環(huán)境,將產(chǎn)業(yè)鏈技術(shù)全面滲透至課堂教學(xué),讓實(shí)訓(xùn)基地?zé)o限接近真實(shí)現(xiàn)場(chǎng),使教學(xué)過程更“接地氣”,也使學(xué)生從產(chǎn)業(yè)鏈視角掌握課程內(nèi)容,提高學(xué)生應(yīng)用計(jì)算機(jī)技術(shù)服務(wù)工業(yè)機(jī)器人產(chǎn)業(yè)的能力。
參考文獻(xiàn):
[1] 蘇鑫.基于 ROS 的無人帆船自主航行控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].大連:大連海事大學(xué),2020.
[2] 綦慧,周宇,張辰.基于 ROS 和 CAN 協(xié)議的機(jī)械臂實(shí)時(shí)通信機(jī)制的設(shè)計(jì)與實(shí)現(xiàn)[ J].工業(yè)控制計(jì)算機(jī),2021,34(8):42?44+47.
作者簡(jiǎn)介:
侯敬熙(1989—) ,本科,講師,研究方向:軟件開發(fā)、網(wǎng)絡(luò)工程。35452F5C-3464-4420-AED8-CB2C886658CA