999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

RosLaunch文件的可視化創建方法設計與實現

2020-06-09 12:20:59王志成程勇潘洪濤樊玉琦
軟件 2020年2期

王志成 程勇 潘洪濤 樊玉琦

摘 ?要: 機器人軟件開發不僅涉及到機器人硬件架構還有相關的機器人軟件架構,這要求開發人員具備很好的知識儲備。ROS(Robot Operating System)系統中通常使用RosLaunch文件一次啟動多個節點(Node)完成指定任務,對于非專業的人員來說,設置啟動文件十分困難。可視化開發能夠讓開發人員以圖形的方式編輯和設計程序的功能和格式,不必再對著代碼修改。這種方式更加直觀,能很好的降低出錯誤幾率。本文設計了一種可視化RosLaunch文件創建工具,能夠有助于創建機器人啟動文件,并將已有啟動文件映射成圖形直觀展示出來。在驗證實驗中創建了Kinova jaco機械臂的完整啟動文件,放在其工作空間下可以正常啟動機器人。本文中的方法可以大大降低機器人開發難度和門檻,不熟練的開發人員也可以使用此軟件對機器人進行簡單的調試和開發,從而節省了機器人開發人員培養的成本,提高了開發效率。

關鍵詞:?RosLaunch;可視化編程;機器人軟件開發;Qt Creator

中圖分類號:?TP 311????文獻標識碼:?A????DOI:10.3969/j.issn.1003-6970.2020.02.007

【Abstract】: Robot function development involves not only the robot hardware architecture but also the related robot software architecture, which requires developers to have a good knowledge of the robot system. In the ROS (Robot Operating System) system, the RosLaunch file is usually used to start multiple nodes at a time to complete a specified task. It is very difficult for non-professional personnel to set the startup file. Visual development allows developers to graphically edit and design the functionality and format of a program, which is more intuitive and can reduce the programming errors. This paper designs a tool that can help create robotic startup files and map existing startup files into graphical visualizations. In the verification experiments, the complete startup file of the Kinova jaco robotic arm can be created and placed in its workspace to start the robot normally. The tool designed in this paper can greatly reduce the difficulty of robot development. Unskilled developers can use the tool to debug and develop robots, which saves the cost of robot developers and improves development efficiency.

【Key words】: ROS; Launch files; Visual programming; Robot software development; Qt Creator

0??引言

ROS是一個用于機器人編程的軟件框架,集成了大量的工具和庫。它將硬件抽象描述、管理硬件驅動、規定了消息的傳遞規則,很大程度上將機器人硬件和軟件分割開來,并使得機器人代碼復用成為可能[1]。通常一個ROS功能包(Package)中包括幾個甚至幾十個節點(Node),這些節點是功能包的最基本組成部分[2]。功能包是ROS軟件中的基本單元,包含ROS節點、庫、配置文件等。通常每個功能包、節點都單獨設計、編譯,但是在完成某一個特定的任務時,需要多個功能包組合才能達到特定目的[3]。比如,在機器人模擬仿真環節中,需要不同的ROS包來顯示GUI,如圖1所示,執行運動規劃和可視化機器人運動,所有這些都需要節點并行運行并相互通信。

機器人在執行任務時,常需要將這些節點全部啟動。這些節點內部都有自己的參數定義。對于不同的需求,需要開發人員逐一進入到節點的代碼之中修改節點參數。這種軟件開發方式耗時長,且容易出錯。為此,ROS提供了.XML格式的文件——?RosLaunch文件,將所有需要的節點一次性啟動起來,每個節點的參數可以在RosLaunch文件中直接進行設置[4]。但是RosLaunch文件的編寫對于不熟練的開發人員來說也十分具有挑戰性,并且也有一定的調試難度。

為此,本文采用Qt[5]可視化框架以及C++和Python語言,開發了一款機器人啟動文件的可視化創建、編輯的軟件——Launch Creator,以降低RosLaunch文件創建的復雜度。

2.4??軟件實現流程設計

本文采用自頂向下的方法設計實現Launch

Creator軟件,主要步驟如下:

(1)設計主界面窗口及其相關配置,如控件大小、窗口大小、標題等;

(2)在主界面中添加Launch文件子元素控件按鈕,并添加啟動Launch文件的按鈕和映射Launch文件的按鈕:View Graph;

(3)為主界面中添加的所有子元素按鈕創建單獨的子界面,并使用Qlayout類對子界面經行布局管理,設計控件的大小和位置。

(4)為Launch Creator軟件添加菜單的選項功能,主要包括文件的打開、保存、打印、推出等功能。

如圖9展示了系統主框架具體實現流程。

Launch Creator軟件主界面包括了控件的UI設計,主要包括各控件的位置、窗口大小、位置和標題等信息。子元素模塊大致分為兩類,一是RosLaunch文件中的關鍵字元素(標記),比如:Node、Include、Group等;另一類是View Graph子模塊,此模塊可以將輸入的RosLaunch文件映射成樹型啟動圖形,并反饋給用戶。菜單功能為軟件添加了基本菜單功能,比如文件的打開、保存、打印等操作。文本顯示窗口使用TextEdit控件,添加了代碼顯示區域,方便用戶在子界面關閉后,能夠在主界面中看到已編輯的代碼。用戶也可以在TextEdit控件中直接修改代碼。

3 ?實驗驗證

實驗采用Kinova Jaco機械臂啟動文件——?Kinova bringup.launch作為驗證對象。如圖10所示,此界面是配置Group中remap子元素的參數,等效于語句“”。

當所有參數配置結束,返回主界面。在主界面右側TextEdit區域中可以再次修改文件內容,不必再進入子元素界面中修改,這是為了保證軟件的代碼易修改性。

啟動文件保存后點擊“View Graph”按鈕,調用此子模塊將已保存的文件映射為圖型,并反饋給用戶,如圖11。圖中可以看到,啟動文件名為“kinova_robot.launch”,其中有兩個節點,分別是“kinova_driver”和“robot_state_publisher”。j2n6s300為實驗使用的機械臂型號,根據不同型號機械臂,節點的前綴會相應變化。

4??結論和未來工作

本文提出并實現了一個可視化編程軟件,有助于ROS啟動文件的可視化創建,它將機器人的編程模塊化。當啟動文件生成,樹型啟動文件會以圖片形式保存。開發人員了解啟動文件內容可以直接查看Launch Creator生成的樹型節點啟動文件圖,不需要再打開軟件,一定程度上提高了機器人調試的靈活性和開發效率。經過實踐檢驗,該軟件驗證了本文的設計和其實用性。該軟件將會集成到機器人開發軟件和機器人控制軟件環境中,成為機器人開發的有力工具。

該方法在ROS系統中創建機器人啟動文件過程易于接受且使用方便,但是一些功能在未來可以進一步改進。例如:增加一個畫布元素,用圖形樣式實時顯示已添加的元素,方便用戶在創建啟動文件的過程中理解當前的系統結構,進一步降低機器人開發門檻。另一方面,將界面制作的更加通用,使得它們可以適用于其他文件的創建及修改。

參考文獻

張鵬,?高放,?雙豐.?基于ROS的全向移動機器人控制系統的設計與實現[J].?組合機床與自動化加工技術,?2018(07):?89-92+96.

張建偉, 張立偉, 胡穎, 等. 開源機器人操作系統——?ROS[M].?北京: 科學出版社, 2012.

樊澤棟, 丁博, 史殿習, 等. 機器人中間件消息實時性保證機制的研究與實現[J].?軟件, 2015, 36(10): 21-25.

http://wiki.ros.org/roslaunch/.

鄧子強,?王玉玫,?鄧紅艷,?等.?基于Qt繪圖系統的圖形應用優化研究與實現[J].?軟件,?2016,?37(12):?59-62.

Jackson J. Microsoft robotics studio: A technical introduction[J].?IEEE Journal of Robotics and Amp Automation Magazine, 2007,?14(4):?82-87.

Elliott, Chance,?Vijayakumar, Vipin,Zink, Wesley,Hansen, Richard. National Instruments LabVIEW: A Programming Environment for Laboratory Automation and Measurement[J]. JALA-Journal of the Association for Laboratory Automation . 2007,?12(1):?17-24.

Pot E, Monceaux J, Gelin R, et al. Choregraphe: a graphical tool for humanoid robot programming[J]//The, IEEE International?Symposium on Robot and Human Interactive Communication- Toyama, Japan.?RO-MAN 2009. IEEE,?2009:?46-51.

主站蜘蛛池模板: 色噜噜久久| 中文字幕永久在线看| 毛片卡一卡二| 91福利免费视频| 欧美国产日韩在线播放| 国产美女91呻吟求| 日本免费一级视频| 成人毛片免费在线观看| 亚洲综合日韩精品| 在线免费a视频| 日韩国产精品无码一区二区三区| 国产福利拍拍拍| 91丝袜美腿高跟国产极品老师| 无码一区二区三区视频在线播放| 国产白丝av| 亚洲国产中文精品va在线播放 | 国产激情无码一区二区APP| 91毛片网| 色成人亚洲| 四虎国产在线观看| 大陆国产精品视频| 77777亚洲午夜久久多人| 国产玖玖视频| 亚亚洲乱码一二三四区| 日本一区二区不卡视频| 一级做a爰片久久免费| 老司机午夜精品网站在线观看| 亚洲成AV人手机在线观看网站| 亚洲欧美日韩中文字幕一区二区三区| 国产产在线精品亚洲aavv| 精品一区二区三区中文字幕| 五月综合色婷婷| 国产女人爽到高潮的免费视频| 国产精品视频3p| 中国国语毛片免费观看视频| 午夜国产理论| 人妻夜夜爽天天爽| 亚洲第一黄片大全| 看你懂的巨臀中文字幕一区二区| 少妇露出福利视频| 污视频日本| 玖玖精品视频在线观看| 2020极品精品国产| 久久黄色免费电影| 精品国产免费人成在线观看| 午夜福利无码一区二区| 国产成人高清精品免费软件| 亚洲欧美成人网| 久久精品无码一区二区日韩免费| 国产高清不卡视频| 999精品色在线观看| 国产午夜精品一区二区三| 国产成人精品18| AV熟女乱| 一级一级特黄女人精品毛片| 免费国产好深啊好涨好硬视频| 亚洲无码高清免费视频亚洲 | 高清不卡毛片| 亚洲一区二区三区在线视频| 欧美日韩综合网| 亚洲二区视频| 久久综合五月婷婷| 青青青视频91在线 | 国产精品.com| 日韩精品久久久久久久电影蜜臀| 成人福利在线看| 中文字幕调教一区二区视频| 久久久久久久久18禁秘| 99久久国产综合精品2020| 亚洲一级色| 欧美激情伊人| 国产免费高清无需播放器| 久久国产精品波多野结衣| jijzzizz老师出水喷水喷出| 国产美女自慰在线观看| 伊人中文网| 国产精品亚洲αv天堂无码| 在线精品自拍| 毛片最新网址| 少妇精品久久久一区二区三区| 日韩中文无码av超清| 国产日韩欧美中文|