<b>2.4.13 啟動檔案</b>
啟動(launch)檔案是ros中一個非常有用的功能,可以啟動多個節點。在之前的小節中,我們已經學習了建立了節點,并且在不同的指令行視窗執行,想象一下,如果在每一個指令行視窗啟動20個節點會是多麼恐怖的一件事情!
通過啟動檔案我們可以在指令行視窗友善地實作以上任務,隻需要運作字尾名為.launch的配置檔案來啟動多個節點。
為了練習這個例子,我們在功能包中建立一個新檔案夾:
現在,在chapter2.launch檔案中輸入下面的代碼:
這是個簡單的例子,如果需要的話,也可以編寫非常複雜的檔案。例如,控制一個完整機器人,如pr2或robonaut,包括真實的機器人和在ros中仿真的機器人。
這個檔案包括launch啟動标簽,在标簽内部可以看到node節點标簽。這個節點标簽用于從功能包中啟動節點,例如從chapter2_tutorials包中啟動example1_a節點。
這個啟動檔案将執行兩個節點,即這章最前的兩個例子。如果你還記得,就是節點example1_a發送消息到節點example1_b。你可以通過如下指令啟動這個檔案:
你可以看到類似下圖的顯示:
運作的節點在上面的截圖中列出,你可以通過下面指令檢視運作的節點資訊:
可以看到如右圖所示的三個節點:
當執行啟動檔案時,并不需要在roscore指令前啟動,roslaunch會啟動它。
還記得節點example1_b會在螢幕輸出從其他節點收到的消息,現在卻看不到了,這是因為example1_b使用了ros_info輸出消息。當你在指令行隻運作一個節點時,可以看到。但是當你運作啟動檔案時,則看不到。
現在,如果想看到資訊,你可以運作rqt_console應用。在接下來的章節中,會做詳細介紹。運作以下指令:
你從下面的截圖中可以看到example1_b發送的消息:
在框中,你可以看到節點發送的消息以及來源檔案。