




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
運(yùn)行ROS程序課程內(nèi)容用rosrun運(yùn)行ROSnode用roslaunch運(yùn)行ROSnoderoslaunch命令launch啟動(dòng)腳本文件編寫(xiě)2?NXROBO2022運(yùn)行node的兩種方法通過(guò)rosrun命令單個(gè)node通過(guò)roslaunch命令批處理:運(yùn)行多個(gè)node,及參數(shù)配置3?NXROBO2022用rosrun運(yùn)行ROSnode命令rosrun可以運(yùn)行單一的node,用法如下:如:向node指定參:rosrun還增加了–prefix選項(xiàng),可實(shí)現(xiàn)在gdb中運(yùn)行node(詳細(xì)參數(shù)請(qǐng)查閱官網(wǎng)/roslaunch/Tutorials/RoslaunchNodesinValgrindorGDB):4$rosrun<package><executable>$rosrunbeginner_tutorialshello$rosrunbeginner_tutorialshello_my_param:=value$rosrun–prefix‘gdb-exrun–args’my_packagemy_node?NXROBO2022用roslaunch運(yùn)行ROSnode工具roslaunch是管理node的啟動(dòng)與停止的,一般需要一個(gè)或多個(gè)后綴為.launch的xml類(lèi)文件作為參數(shù)roslaunch工具是正常工作是依賴(lài).launch文件的配置值的,以實(shí)現(xiàn)node的啟動(dòng)及相關(guān)參數(shù)的配置。同rosrun一樣,roslaunch也可以以arg:=value的形式傳遞node映射參數(shù),用法如下:如果節(jié)點(diǎn)管理器通信端口并非默認(rèn)埠號(hào),可通過(guò)-p參數(shù)更改:5$roslaunch<package-name><launch-filename>[args]$roslaunch-p1234packagefilename.launch?NXROBO2022launch文件的示例6?NXROBO2022launch文件啟動(dòng)時(shí)取值順序工具roslaunch對(duì)XML檔的分析取值是單線(xiàn)處理的;對(duì)于包含的其它lanuch文件以深度優(yōu)先的順序遍歷處理;對(duì)于標(biāo)簽則是順序進(jìn)行分析取值,所以如果某個(gè)參數(shù)有多個(gè)賦值,最后一次的賦值才會(huì)真正使用。7?NXROBO2022launch文件的常用標(biāo)簽<launch>所有l(wèi)aunch文件的根元素標(biāo)簽,其它元素的容器<node>ROS節(jié)點(diǎn)的標(biāo)簽,用來(lái)啟動(dòng)一個(gè)節(jié)點(diǎn)<param>設(shè)置參數(shù)服務(wù)器上的參數(shù)<rosparam>使用rosparam文件設(shè)置參數(shù)服務(wù)器上的參數(shù)<remap>聲明一個(gè)名稱(chēng)的映射<group>把一些東西歸為一組,共享一個(gè)命名空間<arg>設(shè)置launch文件中用的參數(shù)<include>包含另一個(gè)launch文件8?NXROBO2022Launch文件標(biāo)簽-<node><launch>標(biāo)簽是roslaunch文件的根元素,其它元素都必須在此標(biāo)簽內(nèi)。<node>標(biāo)簽定義要運(yùn)行的node及其相關(guān)參數(shù)。此類(lèi)標(biāo)簽的定義順序幷不能保證node的運(yùn)行完成的順序。其相關(guān)屬性如下:pkg="mypackage"Node所在的功能包。type="nodetype"Node的類(lèi)型,其值與執(zhí)行程序名相同。name="nodename"Node的名字,不能含有命名空間。args="arg1arg2arg3"(可選)向node傳遞參數(shù)。machine="machine-name"(可選)在指定的機(jī)器上運(yùn)行node。respawn="true"(可選)如果值為真,則node退出后自動(dòng)重新啟動(dòng)。9?NXROBO2022Launch文件標(biāo)簽-<node>respawn_delay="30"(可選,默認(rèn)為0)如果設(shè)置respawn為真,則偵測(cè)到node退出后延時(shí)多少秒node重新啟動(dòng)。required="true"(可選)如果node死掉,則殺死整個(gè)roslaunch進(jìn)程。ns="foo"(可選)在"foo"命名空間中啟動(dòng)node。clear_params="true|false"(可選)在運(yùn)行node前刪除所有node自身命名空間中的參數(shù)。output="log|screen"(可選)如果設(shè)置成'screen',則node產(chǎn)生的stdout/stderr信息打印到屏幕;如果設(shè)置成'log',則node產(chǎn)生的stdout/stderr的信息保存到日志文件。默認(rèn)為'log'。cwd="ROS_HOME|node"(可選)設(shè)置工作目錄是ROS_HOME變量表示的目錄還是Node執(zhí)行文件所在的目錄,默認(rèn)為ROS_HOME。launch-prefix="prefixarguments"(可選)Node的附加運(yùn)行參數(shù),與rosrun的--prefix參數(shù)功能一樣。10?NXROBO2022Launch文件標(biāo)簽-<param><param>用來(lái)在參數(shù)服務(wù)器(ParameterServer)上定義參數(shù),除了可賦常值,還可指定文本文件、二進(jìn)制文件或命令。如果用于<node>標(biāo)簽下,設(shè)置的參數(shù)將作為此node的私有參數(shù)。其屬性有:name="namespace/name"參數(shù)名,可加上命名空間,value="value"(可選)為參數(shù)賦值,如果此屬性不使用,則binfile、textfile和command必須要定義一個(gè)。type="str|int|double|bool"(可選)指定參數(shù)類(lèi)型,如果不指定,roslaunch會(huì)自動(dòng)判斷參數(shù)類(lèi)型。textfile="$(findpkg-name)/path/file.txt"(可選)讀取文本文件內(nèi)容作為string存儲(chǔ)。11?NXROBO2022Launch文件標(biāo)簽-<param>binfile="$(findpkg-name)/path/file"(可選)讀取將文件內(nèi)容作為以base64編碼的XML-RPC二進(jìn)制對(duì)象存儲(chǔ)。command="(findpkg-name)/arg.txt'"(可選)讀取命令的執(zhí)行輸出保存為string。使用示例如下:12<paramname="publish_frequency"type="double"value="10.0"/>?NXROBO2022Launch文件標(biāo)簽-<rosparam>此標(biāo)簽用于通過(guò)rosparam的YAML文件從參數(shù)服務(wù)器加載或轉(zhuǎn)存參數(shù),也可用于銷(xiāo)毀參數(shù)。如果用于<node>標(biāo)簽中,則當(dāng)作私有屬性處理。銷(xiāo)毀和轉(zhuǎn)存操作先于加載操作執(zhí)行,且先于其它其它參數(shù)傳送至參數(shù)服務(wù)器。加載操作會(huì)覆蓋之前定義的參數(shù)。
此標(biāo)簽除了通過(guò)YAML檔進(jìn)行參數(shù)操作外,還能直接通過(guò)YAML類(lèi)型的字符內(nèi)容進(jìn)行操作。其屬性有:command="load|dump|delete"(可選,默認(rèn)為load)此標(biāo)簽的操作命令,分別為加載、轉(zhuǎn)存和銷(xiāo)毀。file="$(findpkg-name)/path/foo.yaml"(用于load和dump命令)指定rosparam檔。param="param-name"參數(shù)名。ns="namespace"(可選)指定參數(shù)的命名空間。subst_value=true|false(可選)選擇是否可在YAML內(nèi)容中含有替代參數(shù)。13?NXROBO2022Launch文件標(biāo)簽-<rosparam>使用示例如下:14<rosparamcommand="load"file="$(findrosparam)/example.yaml"/><rosparamcommand="delete"param="my/param"/><rosparamparam="a_list">[1,2,3,4]</rosparam><rosparam>a:1b:2</rosparam>?NXROBO2022Launch文件標(biāo)簽-<remap><remap>標(biāo)簽可以將名字通過(guò)參數(shù)重映射到node中,用于<launch>、<node>和<group>標(biāo)簽范圍內(nèi)。其屬性有:from="original-name"需映射的名字。to="new-name"映像成的目標(biāo)名字使用示例如下:15<remapfrom="chatter"to="hello"/>?NXROBO2022Launch文件標(biāo)簽-<group>此標(biāo)簽用于對(duì)多個(gè)node進(jìn)行設(shè)置參數(shù),其ns屬性可將一組node置于一個(gè)獨(dú)立的命名空間。其屬性如下:ns="namespace"(可選)指定一組node的命名空間,可用全局命名空間,也可用相對(duì)命名空間。clear_params="true|false"(可選)是否在運(yùn)行node前銷(xiāo)毀此給命名空間下的所有參數(shù),使用此屬性必須先指定ns屬性。16?NXROBO2022Launch文件標(biāo)簽-<arg>此標(biāo)簽用于聲明arg變量、引用命令行或上層文件的傳入?yún)?shù)、將arg變量傳入到包含檔中。其屬性有:name="arg_name"變量名。default="defaultvalue"(可選)變量的默認(rèn)值。value="value"(可選)為變量賦值,不能與default屬性同用。doc="descriptionforthisarg"(可選)變數(shù)描述。17?NXROBO2022Launch文件標(biāo)簽-<arg>示例如下:18<includefile="included.launch"><argname="hoge"value="fuga"/></include><launch><!--聲明傳入的arg變數(shù)--><argname="hoge"/><!--取值--><paramname="param"value="$(arghoge)"/></launch>included.launchmy_file.launch?NXROBO2022Launch文件標(biāo)簽-<machine><machine>標(biāo)簽聲明可以運(yùn)行node的機(jī)器。一般用于遠(yuǎn)程機(jī)器上運(yùn)行node,如果所有node全部在本地運(yùn)行則無(wú)需定義此標(biāo)簽。其屬性如下:name="machine-name"指定機(jī)器的名字,與卷標(biāo)的machine屬性值一致。address=""機(jī)器的網(wǎng)絡(luò)地址或主機(jī)名。env-loader="/opt/ros/kinetic/env.sh"指定遠(yuǎn)程機(jī)器的環(huán)境變量設(shè)置文件。default="true|false|never"(可選)設(shè)置此機(jī)器為node的默認(rèn)運(yùn)行平臺(tái)。user="username"(可選)登錄到遠(yuǎn)程機(jī)器的SSH用戶(hù)名。password="passwhat"登錄到遠(yuǎn)程機(jī)器的SSH密碼。timeout="10.0"(可選)遠(yuǎn)程運(yùn)行的超時(shí)時(shí)間,單位是秒。19?NXROBO2022條件屬性Launch檔中的所有標(biāo)簽均支持if和unless屬性。形式如下:if=value如果if值為真,則其所在的標(biāo)簽及其屬性值有效。unless=value如果unless值為假,則其所在的標(biāo)簽及其屬性值有效。
20?NXROBO2022Launch文件標(biāo)簽-<env><env>用來(lái)設(shè)置Node運(yùn)行所需要的環(huán)境變量,用于<launch>、<include>、<node>和<machine>標(biāo)簽內(nèi)。如果作為<launch>根元素的子元素,則只對(duì)于此標(biāo)簽后聲明的node起作用。特別注意下,此標(biāo)簽設(shè)置的參數(shù)不能在roslaunch內(nèi)作為變量調(diào)用。其屬性有:name="environment-variable-name"設(shè)置環(huán)境變量名。value="environment-variable-value"為環(huán)境變量名賦值。21?NXROBO2022Launch文件標(biāo)簽-<include><include>標(biāo)簽用于將其它roslaunch文件導(dǎo)入當(dāng)前位置,其屬性有:file="$(findpkg-name)/path/filename.xml"要導(dǎo)入的文件ns="foo"(可選)在'foo'命名空間下導(dǎo)入檔。clear_params="true|false"(可選,默認(rèn)為:false)運(yùn)行前刪除所有導(dǎo)入檔命名空間下的參數(shù)。22?NXROBO2022<test>
此標(biāo)簽用于定義運(yùn)行的測(cè)試node,功能與用法<node>標(biāo)簽類(lèi)似。替代參數(shù)roslaunch文件的標(biāo)簽屬性可以使用替代參數(shù)賦值,替代參數(shù)會(huì)在node運(yùn)行之前解析完成。目前支持的替代參數(shù)有:$(envENVIRONMENT_VARIABLE)
用當(dāng)前環(huán)境變量來(lái)替代某個(gè)參數(shù)值。如果使用此替代參數(shù),必須保證指定的環(huán)境變量存在,否則roslaunch會(huì)出錯(cuò)。此環(huán)境變量不能使用<env>標(biāo)簽重寫(xiě)。23?NXROBO2022替代參數(shù)$(optenvENVIRONMENT_VARIABLE)$(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院生活賬戶(hù)管理制度
- 醫(yī)院自檢自查管理制度
- 小學(xué)三年級(jí)數(shù)學(xué)三位數(shù)除以一位數(shù)過(guò)關(guān)考核訓(xùn)練題
- 云游東城活動(dòng)方案
- 云端漫步藝術(shù)活動(dòng)方案
- 互助喝酒比賽活動(dòng)方案
- 互聯(lián)網(wǎng)公司年度活動(dòng)方案
- 互聯(lián)網(wǎng)視頻會(huì)議活動(dòng)方案
- 五一功課安排活動(dòng)方案
- 五一婚宴活動(dòng)方案
- 品檢員考試題庫(kù)及答案
- 數(shù)字金融促進(jìn)區(qū)域經(jīng)濟(jì)高質(zhì)量發(fā)展的機(jī)制與路徑研究
- 2025年高考英語(yǔ)課后續(xù)寫(xiě)高頻考點(diǎn)話(huà)題分類(lèi)第07講 讀后續(xù)寫(xiě)之成長(zhǎng)類(lèi)主題(講義)
- 2025-2030中國(guó)制鞋機(jī)械行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025年信息技術(shù)小學(xué)水平測(cè)試試卷及答案
- 2025年中國(guó)對(duì)苯二甲酸二甲酯市場(chǎng)調(diào)查研究報(bào)告
- 生物+2025云南新高考自主命題沖刺金卷及答案
- 國(guó)家開(kāi)放大學(xué)《園林規(guī)劃設(shè)計(jì)》形考任務(wù)1-4參考答案
- 腕管綜合征診治循證臨床實(shí)踐指南(2024)解讀
- 融資租賃 測(cè)試題及答案
- 千川合同協(xié)議
評(píng)論
0/150
提交評(píng)論