ROS初级教程1---官方ROS文件系统导览
文章目錄
- 1.文件系統概念簡介
- 2.文件系統工具
- 2.1使用rospack
- 2.2使用roscd
- 2.2.1 子目錄
- 2.2.2 roscd log
- 2.3 使用rosls
- 2.3 Tab補全
1.文件系統概念簡介
?軟件包(packages):包是ROS代碼的軟件組織單元,每個軟件包都可以包含程序庫、可執行文件、腳本或其他構建。
?Manifests(package.xml):清單(Manifest)是對軟件包的描述。它用于定義軟件包之間的依賴關系,并記錄有關軟件包的元信息,如版本、維護者、許可證。
2.文件系統工具
程序代碼散落在許多ROS中,使用linux內置命令行工具(如ls和cd)來進行查找和導航可能非常繁瑣,我們可用ROS提供的命令工具來簡化這些操作
2.1使用rospack
rospack允許你獲取軟件包的有關信息,在本教程中,我們只涉及到find參數選項,該選項可以返回軟件包的所在路徑
用法:$ rospack find [package_name]
2.2使用roscd
roscd是rosbash命令集的一部分,它允許你直接切換目錄到某個軟件包或軟件包集中。
用法:$ roscd [locationname[/subdir]]
roscd后面跟的是路徑名不是包名,比如slam_gmapping只是路徑名,不是包名。
需要注意,就像ROS中的其他工具一樣,roscd只能切換到那些路徑包含在ROS_PACKAGE_PATH環境變量中的軟件包。要查看它包含的路徑可以輸入
echo $ROS_PACKAGE_PATH
/home/kandi/catkin_ws/src:/opt/ros/noetic/share中前面的路徑是我增加的,后面是自帶的。
2.2.1 子目錄
roscd也可以切換到一個軟件包或軟件包集的子目錄中。
2.2.2 roscd log
roscd log進入存儲ROS日志文件的目錄。需要注意的是,如果沒有執行過任務ROS程序,系統會報錯說該目錄不存在
2.3 使用rosls
rosls允許你直接按軟件包的名稱執行ls命令(而不必輸入絕對路徑)
用法:$ rosls [locationname[/subdir]]
2.3 Tab補全
如果輸入完整的軟件包名稱有時候比較繁瑣,ROS工具支持Tab補全功能
輸入后,當按Tab健后,命令應該會盡可能自動補齊完整,但有許多軟件包都以我們輸入的名字開頭(比如turtle),當再次按下Tab健后會列出所有以turtle開頭的ROS軟件包,這時只需要在turtle后面輸入s然后按Tab健就能自動補齊找到turtlesim了。
如果要查看當前安裝的所有軟件包的列表,也可以利用Tab補全:
用法:rosls <<<雙擊TAB鍵>>>
總結
以上是生活随笔為你收集整理的ROS初级教程1---官方ROS文件系统导览的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人工智能技术类资源汇聚
- 下一篇: 信息系统项目管理师备考之旅1---学习计