版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
課程介紹RobotOperatingSystem(ROS)
機(jī)器人操作系統(tǒng)是當(dāng)前機(jī)器人技術(shù)熱點(diǎn)廣泛應(yīng)用于智能機(jī)器人開發(fā)2024/11/292ROS是什么一、世界潮流二、國(guó)家戰(zhàn)略三、社會(huì)需要四、自我發(fā)展2024/11/293為什么要學(xué)習(xí)ROS龐大的使用者群體https:///index.html
2024/11/294一、世界潮流各地區(qū)軟件包歷史貢獻(xiàn)https:///packages_country.html2024/11/295一、世界潮流知名企業(yè)支持ROS
Nvidia、博世、高通、英特爾、寶馬、大疆
2024/11/296一、世界潮流知名企業(yè)支持ROS工業(yè)機(jī)器人領(lǐng)域:ABB、FANUC(發(fā)那科)、Motoman(安川電機(jī))
2024/11/297一、世界潮流2024/11/298一、世界潮流ROS功能軟件包數(shù)量眾多https:///packages_top.html/ROS成為關(guān)注熱點(diǎn)2024/11/299一、世界潮流ROS發(fā)展現(xiàn)狀2024/11/2910一、世界潮流ROS發(fā)展現(xiàn)狀2024/11/2911一、世界潮流ROS發(fā)展現(xiàn)狀2024/11/2912一、世界潮流2024/11/2913一、世界潮流ROS發(fā)展現(xiàn)狀國(guó)外十周年(視頻,點(diǎn)擊播放)2024/11/2914一、世界潮流機(jī)器人制作個(gè)性化飲品(視頻)FiveRobotsMakeYourPersonalDrinks2024/11/2915二、國(guó)家戰(zhàn)略2024/11/2916二、國(guó)家戰(zhàn)略2024/11/2917國(guó)產(chǎn)ROS機(jī)器人2024/11/2918百度基于ROS無(wú)人駕駛(視頻)1.老齡化2.工農(nóng)業(yè)生產(chǎn)提質(zhì)增效3.高品質(zhì)服務(wù)與生活2024/11/2919三、社會(huì)需求ROS人才缺口大,從業(yè)人員工資高,行業(yè)前景好2024/11/2920四、自我發(fā)展計(jì)算機(jī)操作基本技能(1)較快的文字錄入速度(盲打,英文200字/分,中文40字/分)(2)windows操作系統(tǒng)安裝(3)防病毒設(shè)置與應(yīng)用(建議只安裝系統(tǒng)自帶防病毒軟件)(4)移動(dòng)端與PC端資源共享(多終端網(wǎng)盤,推薦onedrive)(5)信息化應(yīng)用
瀏覽器推薦edge
搜索引擎(推薦必應(yīng)/)
文件壓縮與解壓(推薦7z,壓縮文件格式使用zip)
英文翻譯(/translator/?h_text=msn_ctxt&setlang=zh-cn)2024/11/2921課程前導(dǎo)內(nèi)容Linux(雙系統(tǒng))安裝虛擬機(jī)安裝與使用python、C/C++編程Linux基本操作2024/11/2922課程前導(dǎo)內(nèi)容Linux基礎(chǔ)ROS理論基礎(chǔ)ROS實(shí)踐2024/11/2923課程內(nèi)容安排踏實(shí)學(xué)習(xí)遵守紀(jì)律完成作業(yè)2024/11/2924課程要求出勤20%+平時(shí)20%+期末60%+加分+扣分期末:理論+實(shí)踐2024/11/2925計(jì)分與考核2024/11/2926加分與扣分加分項(xiàng):A全勤
B正確回答提問(wèn)C高質(zhì)量作業(yè)D高質(zhì)量實(shí)訓(xùn)E課程服務(wù)F尊重同學(xué)與老師扣分項(xiàng):I 缺勤II 不遵守課堂紀(jì)律III 不攜帶學(xué)習(xí)資料IV 上課時(shí)手機(jī)不入袋V 拒絕回答提問(wèn)或回答錯(cuò)誤VI 損壞公共物品或?qū)嵱?xùn)器材VII 不誠(chéng)信行為(作業(yè),考試、實(shí)訓(xùn))Linux簡(jiǎn)介
Linux是一種計(jì)算機(jī)操作系統(tǒng),可以在超級(jí)計(jì)算機(jī)、小型機(jī)、工作站和個(gè)人電腦上運(yùn)行的一種類UNIX操作系統(tǒng)Linux操作系統(tǒng)免費(fèi)、開源2024/11/2928Linux操作系統(tǒng)2024/11/2929Linux和Windows的比較Linux的起源Linux系統(tǒng)最初是在1991年10月,由一名21歲的就讀于芬蘭赫爾辛基大學(xué)(UniversityofHelsinki,Finland)的計(jì)算機(jī)科學(xué)專業(yè)學(xué)生林納斯·托瓦茲(LinusTorvalds)發(fā)布。Linux發(fā)音官方標(biāo)準(zhǔn)發(fā)音:/?l?n?ks/2024/11/2930Linux的起源與發(fā)展2024/11/2931Linux的起源與發(fā)展UNIXMINIXLINUX起源于貝爾實(shí)驗(yàn)室C語(yǔ)言開發(fā)有多種版本多用于大型主機(jī)基于MINIX免費(fèi)、開源現(xiàn)在廣受歡迎2024/11/29MINIX:基于微內(nèi)核架構(gòu)的類UNIX計(jì)算機(jī)操作系統(tǒng)用于教學(xué)的簡(jiǎn)單操作系統(tǒng),而非實(shí)用操作系統(tǒng)公開源代碼;2024/11/2932Unix與類UnixUnix系統(tǒng):由貝爾實(shí)驗(yàn)室開發(fā),版權(quán)歸AT&T公司所有(美國(guó)電話電報(bào)公司)類Unix系統(tǒng):繼承UNIX的設(shè)計(jì)風(fēng)格演變出來(lái)的系統(tǒng),不包含UNIX的源代碼。因?yàn)榘鏅?quán)原因,不能叫Unix系統(tǒng)。類Unix系統(tǒng)有的免費(fèi)開源,有的是商業(yè)軟件收費(fèi)。BSD的類Unix系統(tǒng)由加州大學(xué)伯克利分校開發(fā),蘋果公司的MacOS、IOS系統(tǒng)從BSD發(fā)展而來(lái)Linux也屬于類Unix系統(tǒng)2024/11/2933Internet公共服務(wù)器OS市場(chǎng)占有率/technologies/overview/operating_system2024/11/2934Internet公共服務(wù)器OS市場(chǎng)占有率/technologies/details/os-unix2024/11/2935軟件開源許可開源許可(OpenSourceLicense)開源即開放源代碼,常用的開源協(xié)議有GPL、BSD、MIT、Mozilla、Apache和LGPL2024/11/2936軟件開源許可Linux使用GPL開源許可GPL(GNUGeneralPublicLicense):GNU通用公共許可協(xié)議2024/11/2937Linux發(fā)行版本(簡(jiǎn)寫為:distro)通常是一個(gè)基于Linuxkernel(linux內(nèi)核)和包管理系統(tǒng)的軟件集合。2024/11/2937廣泛使用的Linux發(fā)行版本deb包管理系RPM包管理系比較獨(dú)特:經(jīng)過(guò)gzip壓縮和tarball打包文件擴(kuò)展名.tgzLinux發(fā)行版圖譜2024/11/2938DebianDebian(/?d?bi?n/)發(fā)音是完全由自由軟件組成的類UNIX操作系統(tǒng)最初由伊恩·默多(IanMurdock)克于1993年發(fā)起Debian0.01版在1993年9月15日發(fā)布第一個(gè)穩(wěn)定版本則在1996年發(fā)布Debian穩(wěn)定版本分支在個(gè)人電腦和網(wǎng)絡(luò)服務(wù)器最受歡迎的分支,同時(shí)被作為很多發(fā)行版本的基礎(chǔ)2024/11/2939UbuntuUbuntu(/??b?ntu?/;),中文稱為烏班圖自由及開源軟件基于Debian的Linux發(fā)行版本三個(gè)官方版本:UbuntuDesktop桌面版?zhèn)€人電腦UbuntuServer服務(wù)器版服務(wù)器和云UbuntuCore精簡(jiǎn)版本物聯(lián)網(wǎng)設(shè)備和機(jī)器人Ubuntu是最流行的云操作系統(tǒng),也是OpenStack的參考操作系統(tǒng)。/2024/11/2940其他Linux發(fā)行版Fedora是一個(gè)基于社區(qū)的免費(fèi)發(fā)行版,專注于快速發(fā)布新特性和功能,適合桌面用戶Redhat企業(yè)版本,發(fā)布速度較慢,軟件免費(fèi),技術(shù)支持收費(fèi),適合服務(wù)器CentOS基本上是Redhat的社區(qū)版,免費(fèi),Redhat公司不提供支持,適合服務(wù)器(國(guó)內(nèi)有大量用戶,已經(jīng)停止更新)2024/11/2941Linux的特點(diǎn)當(dāng)需要長(zhǎng)期穩(wěn)定運(yùn)行的網(wǎng)站服務(wù)器、處理大數(shù)據(jù)的集群系統(tǒng)或者需要協(xié)同工作的環(huán)境時(shí),大多采用Linux系統(tǒng)!與Windows相比,Linux主要具有以下特點(diǎn):穩(wěn)定且有效率免費(fèi)或少許費(fèi)用漏洞少且快速修補(bǔ)多任務(wù)多用戶更加安全的用戶及文件權(quán)限策略可定制裁剪,移植到嵌入式相對(duì)系統(tǒng)資源占用少2024/11/2942使用Linux的行業(yè)2024/11/2943使用Linux的行業(yè)2024/11/2944了解虛擬技術(shù)化本課程在虛擬機(jī)中使用Linux系統(tǒng),下面介紹虛擬化技術(shù)虛擬化(技術(shù))或虛擬技術(shù)(Virtualization)是一種資源管理技術(shù),是將計(jì)算機(jī)的各種實(shí)體資源(CPU、內(nèi)存、磁盤空間、網(wǎng)絡(luò)適配器等),予以抽象、轉(zhuǎn)換后呈現(xiàn)出來(lái)并可供分區(qū)、組合為一個(gè)或多個(gè)計(jì)算機(jī)配置環(huán)境。2024/11/2945服務(wù)器虛擬化的優(yōu)勢(shì)減少損耗,節(jié)約成本服務(wù)器虛擬化可減少實(shí)體化的服務(wù)器,減少了電力跟服務(wù)器所需的冷卻資源,減少了空間跟成本優(yōu)化資源利用將原本存在的物理成本虛擬化后,可更好地整合vps虛擬主機(jī)的資源,更有效地將減少的成本投入到VPS虛擬化服務(wù)器當(dāng)中。提升穩(wěn)定性資源隔離,不被相互干擾增加靈活性捷性管理,可快速部署,便于維護(hù)2024/11/2946虛擬機(jī)產(chǎn)品兩大主要分類原生架構(gòu)(硬件虛擬化)虛擬機(jī)產(chǎn)品直接安裝在計(jì)算機(jī)硬件之上生產(chǎn)環(huán)境產(chǎn)品舉例:VMWare的VSphere,微軟的Hyper-V寄居構(gòu)架(一般意義的虛擬機(jī))虛擬機(jī)安裝在操作系統(tǒng)之上主要用于學(xué)習(xí)或教學(xué)產(chǎn)品舉例:VMWare的VMWareWorkstation,微軟的VirtualPC,Oracle的VirtualBox2024/11/2947安裝虛擬機(jī)vmwareplayer/products/workstation-player.html非商業(yè)使用免費(fèi)2024/11/2948虛擬機(jī)網(wǎng)絡(luò)連接模式橋接模式BridgedNetworking僅主機(jī)模式Host-OnlyNetworkingNAT模式NetworkAddressTranslation(網(wǎng)絡(luò)地址轉(zhuǎn)換)2024/11/2949虛擬機(jī)網(wǎng)絡(luò)連接模式橋接模式虛擬機(jī)直接使用宿主機(jī)的物理網(wǎng)卡虛擬機(jī)連接到宿主機(jī)所在的LAN網(wǎng),具有與宿主機(jī)同網(wǎng)段的IP地址適用于無(wú)線及有線橋接模式下,虛擬機(jī)是LAN網(wǎng)絡(luò)中獨(dú)立的設(shè)備,可以和LAN網(wǎng)絡(luò)中的設(shè)備互通可以上網(wǎng)2024/11/2950虛擬機(jī)網(wǎng)絡(luò)連接模式僅主機(jī)模式虛擬機(jī)連接到私有網(wǎng)絡(luò),完全與宿主機(jī)外的網(wǎng)絡(luò)獨(dú)立虛擬機(jī)創(chuàng)建了一個(gè)虛擬DHCPserver虛擬主機(jī)只能與宿主機(jī)互通,不能與外界相通不能上網(wǎng)2024/11/2951虛擬機(jī)網(wǎng)絡(luò)連接模式NAT模式NetworkAddressTranslation(網(wǎng)絡(luò)地址轉(zhuǎn)換)VMWare的默認(rèn)配置私有網(wǎng)絡(luò),通過(guò)虛擬DHCP獲取IP地址虛擬主機(jī)與宿主機(jī)可以互通虛擬主機(jī)通過(guò)NAT上網(wǎng)2024/11/2952ubuntu基本操作登錄2024/11/2953ubuntu基本操作文件查看2024/11/2954ubuntu基本操作打開終端(命令)窗口(Terminal)桌面上鼠標(biāo)右鍵選擇“在終端中打開”2024/11/2955ubuntu基本操作命令提示符ros:當(dāng)前登錄的用戶ros-virtual-machine:主機(jī)名2024/11/2956ubuntu基本操作Shell是linux內(nèi)核與用戶的接口Shell接收用戶命令傳給內(nèi)核執(zhí)行圖形界面和字符界面都屬于Shellubuntu默認(rèn)使用:bash2024/11/2957ubuntu基本操作Shell命令:命令名、選項(xiàng)和參數(shù)三部分選項(xiàng)通常以單個(gè)短橫線“-”開頭部分選項(xiàng)以兩個(gè)短橫線“--”開頭命令名[選項(xiàng)][參數(shù)]命令功能的英文單詞或者縮寫命令功能調(diào)控:不同選項(xiàng)控制不同的功能命令的處理對(duì)象:文件名,目錄名,用戶名等空格空格2024/11/2958ubuntu基本操作Shell命令操作注意事項(xiàng)命令,選項(xiàng),參數(shù)之間必須有空格,可以有多個(gè)一行可以輸入多條命令,命令之間使用“;”隔開如果在一行命令后加“\”符號(hào),表示一條命令換行可以使用Tab鍵自動(dòng)補(bǔ)全命令,路徑,或者文件名,加快輸入,如果命令,路徑,或者文件名,不能補(bǔ)全,則表示不存在2024/11/2959Ubuntu常用命令重啟reboot或init6關(guān)機(jī)
init0查看IP地址ifconfig2024/11/2960遠(yuǎn)程登錄Ubuntu兩種遠(yuǎn)程登錄方式1.putty綠色工具,遠(yuǎn)程SSH連接,2.winscp,遠(yuǎn)程SFTP文件傳輸U(kuò)buntu20.04默認(rèn)沒(méi)有安裝網(wǎng)絡(luò)工具sudoaptinstallnet-toolsUbuntu20.04默認(rèn)沒(méi)有安裝SSHsudoaptupdatesudoaptinstallopenssh-server安裝SSH服務(wù)2024/11/2961遠(yuǎn)程登錄Ubuntu使用PuTTY輸入要遠(yuǎn)程登錄的ubuntu虛擬機(jī)的IP2024/11/2962遠(yuǎn)程登錄Ubuntu使用winscp2024/11/2963課堂練習(xí)1關(guān)機(jī)重啟使用putty、winscp連接ubuntu虛擬機(jī)上傳下載文件2024/11/2964課堂練習(xí)2在虛擬機(jī)中創(chuàng)建Linux虛擬機(jī)在虛擬機(jī)中安裝Ubuntu20.04操作系統(tǒng)使用VirtualBox虛擬機(jī)
OracleVMVirtualBoxOracleVMVirtualBox
是全球廣受歡迎的開源跨平臺(tái)虛擬化軟件,免費(fèi)使用。目前屬于Oracle公司所有。當(dāng)前最新版本7.0.4
VirtualBox虛擬機(jī)軟件介紹Vmware
vsVirtualbox一般認(rèn)為:vmware性能更好,細(xì)分功能更多,可以在商業(yè)服務(wù)器上使用,商業(yè)使用需付費(fèi)。Virtualbox安裝簡(jiǎn)單,使用方便,可以直接使用vmware虛擬磁盤/virtualbox/7.0.4/VirtualBox-7.0.4-154605-Win.exe?source=:ow:o:p:nav:mmddyyVirtualBoxHero_cn
VirtualBox
vsVmware在計(jì)算機(jī)上安裝vmware軟件有時(shí)會(huì)報(bào)錯(cuò),這種情況下可以安裝virtualbox,使用VMware的虛擬磁盤。1、安裝并啟動(dòng)virtualbox
在VirtualBox中使用vmware虛擬磁盤在計(jì)算機(jī)上安裝vmware軟件有時(shí)會(huì)報(bào)錯(cuò),這種情況下可以安裝virtualbox,使用VMware的虛擬磁盤。2、點(diǎn)擊“新建”按鈕設(shè)置好后點(diǎn)擊“next”按鈕
在VirtualBox中使用vmware虛擬磁盤填入虛擬機(jī)名稱指定虛擬機(jī)文件存放的文件夾(需要事先創(chuàng)建好)在計(jì)算機(jī)上安裝vmware軟件有時(shí)會(huì)報(bào)錯(cuò),這種情況下可以安裝virtualbox,使用VMware的虛擬磁盤。3、設(shè)置“內(nèi)存大小”和cpu完成后點(diǎn)擊“next”按鈕
在VirtualBox中使用vmware虛擬磁盤根據(jù)需要設(shè)置,不要過(guò)大或過(guò)小設(shè)置處理器核心,可不改在計(jì)算機(jī)上安裝vmware軟件有時(shí)會(huì)報(bào)錯(cuò),這種情況下可以安裝virtualbox,使用VMware的虛擬磁盤。4、指定虛擬磁盤
在VirtualBox中使用vmware虛擬磁盤選中此項(xiàng)(使用已有的虛擬磁盤)點(diǎn)擊此按鈕指定虛擬磁盤位置在計(jì)算機(jī)上安裝vmware軟件有時(shí)會(huì)報(bào)錯(cuò),這種情況下可以安裝virtualbox,使用VMware的虛擬磁盤。5、添加虛擬磁盤
在VirtualBox中使用vmware虛擬磁盤點(diǎn)擊此項(xiàng)指定虛擬磁盤點(diǎn)擊按鈕確認(rèn)在計(jì)算機(jī)上安裝vmware軟件有時(shí)會(huì)報(bào)錯(cuò),這種情況下可以安裝virtualbox,使用VMware的虛擬磁盤。6、完成設(shè)置
在VirtualBox中使用vmware虛擬磁盤點(diǎn)擊按鈕點(diǎn)擊按鈕完成設(shè)置在計(jì)算機(jī)上安裝vmware軟件有時(shí)會(huì)報(bào)錯(cuò),這種情況下可以安裝virtualbox,使用VMware的虛擬磁盤。7、啟動(dòng)虛擬機(jī)
在VirtualBox中使用vmware虛擬磁盤點(diǎn)擊按鈕啟動(dòng)虛擬機(jī)Linux系統(tǒng)文件與目錄管理1
任務(wù)1:了解文件和目錄的概念任務(wù)2:文件管理命令任務(wù)3:查看文件內(nèi)容命令2024/11/2976任務(wù)根目錄家目錄當(dāng)前目錄絕對(duì)路徑相對(duì)路徑2024/11/2977常用概念2024/11/2978根目錄“/”是linux系統(tǒng)最頂層目錄,其他目錄都是它的子目錄根目錄“/”類似于Windows系統(tǒng)中的用戶文件夾,用于存放用戶的個(gè)人數(shù)據(jù)如:ros用戶的家目錄:/home/ros,Linux系統(tǒng)中出root用戶以外的其他用戶家目錄都在/home目錄下2024/11/2979家目錄根目錄下面的的一個(gè)子目錄,名字為root它是管理員root用戶的家目錄2024/11/2980/root目錄pwd命令顯示用戶當(dāng)前工作目錄2024/11/2981當(dāng)前工作目錄絕對(duì)路徑也就是全路徑從“/”要目錄開始表示的目錄,如2024/11/2982絕對(duì)路徑相對(duì)于當(dāng)前所在路徑的子目錄或文件命令行表示路徑時(shí):左邊不從根開始,直接從子目錄或文件的名字開始表示如:2024/11/2983相對(duì)路徑.(一個(gè)小圓點(diǎn))表示當(dāng)前目錄..(二個(gè)小圓點(diǎn))表示上一級(jí)目錄2024/11/2984特殊目錄.(一個(gè)小圓點(diǎn))表示當(dāng)前目錄..(二個(gè)小圓點(diǎn))表示上一級(jí)目錄2024/11/2985特殊目錄ls命令是linux下最常用的命令。ls命令就是list的縮寫,默認(rèn)情況下使用ls用來(lái)打印出當(dāng)前目錄的列表,如果ls指定其他目錄,那么就會(huì)顯示指定目錄里的文件及文件夾列表。通過(guò)ls命令不僅可以查看linux文件夾包含的文件,而且可以查看文件權(quán)限(包括目錄、文件夾、文件權(quán)限),查看目錄信息等等。ls命令在日常的linux操作中使用得比較多了。典型用法ls–a查看隱藏文件2024/11/2986ls命令創(chuàng)建目錄mkdir
xxxxmkdir-pabc/def一次可以建立包含子目錄的目錄2024/11/2987mkdir命令刪除目錄目錄必須為空才能刪除2024/11/2988rmdir命令新建一個(gè)不存在的文件2024/11/2989touch命令刪除一個(gè)目錄中的一個(gè)或多個(gè)文件或目錄rm*-rf不確認(rèn)直接刪除文件或目錄(慎用)2024/11/2990rm命令復(fù)制文件或者目錄,使用-r參數(shù)時(shí)會(huì)復(fù)制子目錄cpros.zipaaacp–raaa/bbbccc/ddd2024/11/2991cp命令移動(dòng)文件或者目錄,使用-r參數(shù)時(shí)會(huì)移動(dòng)子目錄,如果移動(dòng)后的名稱與之前不同,相當(dāng)于改名mvros.zipaaamv–r/aaa/bbb/ccc/ddd2024/11/2992mv命令
查看文件內(nèi)容(文本文件)2024/11/2993cat命令查看文件內(nèi)容
查看文件內(nèi)容(文本文件)2024/11/2994cat命令查看文件內(nèi)容Linux系統(tǒng)文件與目錄管理2
查看文件內(nèi)容查找文件內(nèi)容重定向與管道2024/11/2996任務(wù)
cat
命令查看文件內(nèi)容(文本文件)2024/11/2997查看文件內(nèi)容less一次顯示一屏內(nèi)容每按一次空格鍵就顯示下一屏內(nèi)容,直至文件顯示完成,可以通過(guò)上下箭頭逐行顯示,如果中途要退出顯示,按q鍵適用于文件內(nèi)容多一次顯示不完2024/11/2998查看文件內(nèi)容head查看文件開頭(默認(rèn)前10行),也可以加參數(shù)指定顯示多少行2024/11/2999查看文件內(nèi)容tail命令-查看文件末尾(默認(rèn)后10行),也可以加參數(shù)指定顯示多少行2024/11/29100查看文件內(nèi)容wc命令文件內(nèi)容統(tǒng)計(jì)(行數(shù)、單詞數(shù)、字符數(shù))2024/11/29101文件內(nèi)容統(tǒng)計(jì)grep命令,用于在文件中搜索指定的字符典型用法命令grep-nImageROS_message.txt在文件中查找有“Image”的行并顯示行號(hào)2024/11/29102查找文件內(nèi)容命令grep“Image”~/*.txt查找當(dāng)前/目錄下所有“.txt”文件中包含“Image”的內(nèi)容2024/11/29103查找文件內(nèi)容history查看命令歷史記錄2024/11/29104查看命令歷史記錄1、在命令后加–-help參數(shù)2024/11/29105查看命令幫助2、help命令
(查看內(nèi)部命令)2024/11/29106查看命令幫助3、使用man命令查看命令的幫助手冊(cè)2024/11/29107查看命令幫助Linux標(biāo)準(zhǔn)輸入設(shè)備:鍵盤Linux標(biāo)準(zhǔn)輸出設(shè)備:屏幕重寫向:改變標(biāo)準(zhǔn)的輸入和輸出為其他實(shí)現(xiàn)方法:使用重寫向符號(hào)通常情況:重定向的目標(biāo)為文件2024/11/29108重定向?qū)⒚钪薪邮蛰斎氲耐緩接赡J(rèn)的鍵盤重寫向?yàn)橹赶蛭募僮鞣骸?lt;”示例:將文件ROS_message.txt中的內(nèi)容重定向到wc命令統(tǒng)計(jì)2024/11/29109輸入重定向輸出重定向使用更頻繁將命令的輸出結(jié)果(顯示在屏幕上的內(nèi)容)重定向到一個(gè)文件中示例:將history命令(查看歷史命令)的結(jié)果輸出到文件中2024/11/29110輸出重定向示例:使用cat命令與>
創(chuàng)建文件并輸入內(nèi)容輸入完成后按ctrl+d,輸入的內(nèi)容將會(huì)存入文件list1中2024/11/29111輸出重定向操作符:“>”覆蓋,清除原有文件內(nèi)的內(nèi)容“>>”追加,在文件的末尾增加內(nèi)容2024/11/29112命令說(shuō)明command>file將輸出重定向到file。command<file將輸入重定向到file。command>>file將輸出以追加的方式重定向到file。n>file將文件描述符為n的文件重定向到file。n>>file將文件描述符為n的文件以追加的方式重定向到file。n>&m將輸出文件m和n合并。n<&m將輸入文件m和n合并。<<tag將開始標(biāo)記tag和結(jié)束標(biāo)記tag之間的內(nèi)容作為輸入。輸出重定向典型用法echo
命令在標(biāo)準(zhǔn)輸出上顯示文本,與>(輸出重定向)結(jié)合使用后常用于向文件中添加字符2024/11/29113輸出重定向sort命令用于排序1、對(duì)鍵盤輸入的內(nèi)容排序輸入sort命令后,輸入字符,以回車鍵結(jié)束,輸入多行字符后,按ctrl+d結(jié)束后,按升序排列輸入的內(nèi)容2024/11/29114排序sort命令用于排序2、對(duì)文件內(nèi)容排序使用輸入重定向可以對(duì)文件內(nèi)容排序2024/11/29115排序Linux使用豎線|連接多個(gè)命令,|稱為管道符。Linux管道的具體語(yǔ)法格式如下:command1|command2command1|command2[|commandN...]當(dāng)在兩個(gè)命令之間設(shè)置管道時(shí),管道符|左邊命令的輸出就變成了右邊命令的輸入。只要第一個(gè)命令向標(biāo)準(zhǔn)輸出寫入,而第二個(gè)命令是從標(biāo)準(zhǔn)輸入讀取,那么這兩個(gè)命令就可以形成一個(gè)管道。大部分的Linux命令都可以用來(lái)形成管道。2024/11/29116管道下列命令查看文件內(nèi)容并排序2024/11/29117管道使用vi編輯器
Vim比vi功能更強(qiáng)大,主要特點(diǎn)如下:在vi里,按u只能撤消上次命令,而在vim里可以無(wú)限制的撤消。vi只能運(yùn)行于unix中,而vim不僅可以運(yùn)行于unix,windows,mac等多操作平臺(tái)。vim可以用不同的顏色來(lái)加亮代碼。vim不僅可以在終端運(yùn)行,也可以運(yùn)行于xwindow、macos、windows窗口運(yùn)行。對(duì)vi的完全兼容,通??梢园裿im當(dāng)成vi來(lái)使用。2024/11/29119Linux使用vi編輯器編輯文本文件插入模式、命令模式、末行模式插入模式:在此模式下可以輸入字符,按ESC將回到命令模式。
命令模式:可以移動(dòng)光標(biāo)、刪除字符等。
末行模式:可以保存文件、退出vi、設(shè)置vi、查找等功能(末行模式也可以看作是命令模式里的)。
2024/11/29120vim工作模式插入模式、命令模式、末行模式默認(rèn)進(jìn)入命令模式,在命令模式下,按”i”鍵進(jìn)入插入模式,在插入模式下,按”ESC”退出插入模式,進(jìn)入到命令模式2024/11/29121vim
模式切換進(jìn)入插入模式:INSER-退出插入模式,進(jìn)入命令模式2024/11/29122進(jìn)入命令模式2024/11/29123進(jìn)入插入模式(1)新增(append)a
在光標(biāo)后增加A
在光標(biāo)所在行的最后開始增加(2)插入(insert)i
在光標(biāo)位置前插入I
在光標(biāo)所在行第一個(gè)非空字符前插入(3)刪除(delete)x
每按一次,刪除光標(biāo)后面一個(gè)字符,X
刪除光標(biāo)前面一個(gè)字符。2024/11/29124常用操作(4)整行操作dd
刪除整行yy
復(fù)制整行D
刪除光標(biāo)到本行結(jié)束的字符p
放置(粘貼)使用
、
、
、
、home、end、pageup、pagedown,可以快速移動(dòng)光標(biāo)到需要編輯的地方2024/11/29125常用操作(5)文件指令(在編輯按esc后輸入下列指令):q
結(jié)束編輯:q! 不存盤退出:wq 存盤退出:setnu
顯示行號(hào)
:setnonu
不顯示行號(hào):w
表示保存該文件,但不退出編輯器:w! 表示強(qiáng)制保存該文件,不退出編輯器:wq
表示保存文件并退出vim編輯器:wq! 表示強(qiáng)制保存文件并退出vim編輯器2024/11/29126常用操作文件權(quán)限
通配符*代表文件(或目錄)名稱中的一個(gè)或多個(gè)字符,表示任意長(zhǎng)度的任意字符。例如,在mydir目錄中,輸入:lslist*表示從字符list開始列出當(dāng)前目錄中的所有文件。如果輸入:ls*list這將列出當(dāng)前目錄中以list結(jié)尾的所有文件。通配符??表示匹配一個(gè)字符。輸入ls?list列出當(dāng)前目錄中任意字符開頭,以list結(jié)尾的所有文件2024/11/29128通配符Linux把目錄看成是一種特殊的文件類型。因此,命名文件的規(guī)則和約定適用于目錄。在命名文件時(shí),應(yīng)避免使用具有特殊含義的字符,例如/*和%。另外,避免在名稱中使用空格。比較好的命名文件的方法是僅使用字母數(shù)字字符(即字母和數(shù)字)以及_(下劃線)和.(點(diǎn))
文件名通常以小寫字母開頭,并以點(diǎn)號(hào)結(jié)尾,后跟一組表示文件內(nèi)容的字母。例如,所有由C代碼組成的文件都可以以.c結(jié)尾,例如prog1.c。然后,要列出主目錄中所有包含C代碼的文件,只需在該目錄中輸入ls*.c2024/11/29129文件命名linux是多用戶分級(jí)權(quán)限系統(tǒng),不同用戶可以有不同權(quán)限,對(duì)文件而言有三種權(quán)限:寫、讀、執(zhí)行。每個(gè)文件都有所屬的用戶,文件調(diào)用權(quán)限分為三級(jí):文件所有者(Owner)、用戶組(Group)、其它用戶(OtherUsers)2024/11/29130文件權(quán)限第一個(gè)字符如果是d表示是一個(gè)目錄用9個(gè)符號(hào)表示權(quán)限:分別表示文件所屬用戶、用戶所屬組、其他用戶對(duì)該文件的操作權(quán)限,w表示寫,r表示讀,x表示執(zhí)行第一個(gè)字符是-代表這是一個(gè)文件通常用rwx用表示讀、寫、執(zhí)行權(quán)限,文件所有者可以改變文件權(quán)限。u表示該文件的擁有者,g表示與該文件的擁有者屬于同一個(gè)群體(group)者,o表示其他以外的人,a表示這三者皆是。+表示增加權(quán)限、-表示取消權(quán)限r(nóng)表示可讀取,w表示可寫入,x表示可執(zhí)行改變權(quán)限使用命令chmod2024/11/29131改變文件權(quán)限符號(hào)含義uuserggroupootheraallr讀readw寫writex執(zhí)行+增加權(quán)限-取消權(quán)限示例:將文件file1.txt設(shè)為所有人皆可讀取 chmodugo+rfile1.txt或者chmoda+rfile1.txt
為ex1.py文件擁有者增加可執(zhí)行權(quán)限 chmodu+xex1.py將當(dāng)前目錄下的所有文件與子目錄皆設(shè)為任何人可讀取 chmod-Ra+r*-R表示對(duì)子目錄執(zhí)行相同的操作刪除file的所有用戶的執(zhí)行權(quán)限 chmoda-xfile2024/11/29132改變文件權(quán)限除了用字母表示權(quán)限外,也可以用數(shù)字表示權(quán)限。r=4,w=2,x=1如:rwx權(quán)限4+2+1=7如:rw-權(quán)限4+2=6如:
r-x權(quán)限4+1=5用三個(gè)數(shù)字,分別表示User、Group、及Other的權(quán)限示例:對(duì)file的所有者和用戶組設(shè)置讀寫權(quán)限,其他用戶讀權(quán)限 chmod664file 將當(dāng)前目錄下的所有文件與子目錄皆設(shè)為任何人可讀、可寫、可執(zhí)行
chmod-R777*2024/11/29133改變文件權(quán)限chown命令用于改變文件的所有者,利用chown將指定文件的擁有者改為指定的用戶或組,chown
需要超級(jí)用戶root的權(quán)限才能執(zhí)行此命令示例:把/var/log/abc的所有者設(shè)置為root chownroot/var/log/abc將文件file1.txt的所有者用戶設(shè)為ros,用戶組為ros chownrunoob:runoobgroupfile1.txt將目錄/www/wwwroot的所有者用戶設(shè)為www,用戶組為www chown–Rwww:www/www/wwwroot2024/11/29134改變文件權(quán)限進(jìn)程與系統(tǒng)信息
top命令用于實(shí)時(shí)顯示進(jìn)程動(dòng)態(tài)殺進(jìn)程kill進(jìn)程號(hào)2024/11/29136實(shí)時(shí)顯示進(jìn)程動(dòng)態(tài)顯示指定的進(jìn)程信息top-p201362024/11/29137實(shí)時(shí)顯示進(jìn)程動(dòng)態(tài)1)ps-a顯示現(xiàn)行終端機(jī)下的所有程序,包括其他用戶的程序。2)ps-A顯示所有程序。3)ps-c列出程序時(shí),顯示每個(gè)程序真正的指令名稱,不包含路徑,參數(shù)或服務(wù)標(biāo)示。4)ps-e此參數(shù)的效果和指定"A"參數(shù)相同。5)ps-e列出程序時(shí),顯示每個(gè)程序所使用的環(huán)境變量。6)ps-f用ASCII字符顯示樹狀結(jié)構(gòu),表達(dá)程序間的相互關(guān)系。7)ps-H顯示樹狀結(jié)構(gòu),表示程序間的相互關(guān)系。8)ps-N顯示所有的程序,除了執(zhí)行ps指令終端機(jī)下的程序之外。9)ps-s采用程序信號(hào)的格式顯示程序狀況。10)ps-S列出程序時(shí),包括已中斷的子程序資料。11)ps-t<終端機(jī)編號(hào)>12)ps-uusername以用戶為主的格式來(lái)顯示程序狀況。13)psx顯示所有程序,不以終端機(jī)來(lái)區(qū)分。2024/11/29138ps查看進(jìn)程狀態(tài)最常用的方法是ps-aux,然后再利用一個(gè)管道符號(hào)grep去查找特定的進(jìn)程ps-aux|greproscore2024/11/29139ps命令常用形式df命令報(bào)告系統(tǒng)的磁盤空間。例如,要查明磁盤上還有多少空間,輸入命令
df.2024/11/29140查看磁盤存儲(chǔ)空間du命令輸出當(dāng)前目錄下各個(gè)文件使用KB的數(shù)量。如果想要找出哪個(gè)目錄中的文件最多,輸入
du-s*-s參數(shù)顯示總計(jì),*表示所有文件和目錄。2024/11/29141查看磁盤存儲(chǔ)空間文件查找比較壓縮解壓
find命令用于查找文件示例1:查找擴(kuò)展名為.txt的所有文件,從當(dāng)前目錄(.)開始并遍歷所有子目錄,find.-name"*.txt"2024/11/29143文件查找find示例2:查找大小超過(guò)50Mb的文件find.-size+50M2024/11/29144文件查找find示例3:列出當(dāng)前目錄及其子目錄中的所有目錄find.-typed示例4:列出當(dāng)前目錄及其子目錄中的所有文件find.-typef2024/11/29145文件查找find示例5:列出最近20天內(nèi)創(chuàng)建的文件find.-ctime202024/11/29146文件查找find示例6:列出最近20天內(nèi)修改過(guò)的文件find.-mtime202024/11/29147文件查找finddiff命令比較兩個(gè)文件的內(nèi)容并顯示差異,如果兩個(gè)文件內(nèi)容相同輸出為空difffile1file2c:表示修改a:表示添加d:表示刪除字符前的數(shù)字表示第一個(gè)文件中的行數(shù),字符后的內(nèi)容表示第二個(gè)文件中的行數(shù)。<表示第一個(gè)文件中的內(nèi)容,而>表示第二個(gè)文件中的內(nèi)容2024/11/29148比較文件異同diff示例:先建立兩個(gè)文本文件并輸入如圖所示字符,然后運(yùn)行diff命令“1d0”表示第一個(gè)文件中的第1行、第二個(gè)文件第0行刪除后相同“4a4,5”表示第一個(gè)文件中第4行追加第二個(gè)文件中的第4、第5行后相同2024/11/29149比較文件異同diff示例:改變文件次序,再次運(yùn)行命令diffb.txta.txt“0a1”表示第一個(gè)文件中的第0行追加后第二個(gè)文件的第1行后相同“4,5d4”表示第一個(gè)文件中第4、第5行與第二個(gè)文件中的第4刪除后相同2024/11/29150比較文件異同diff加參數(shù)y,以并列格式輸出diffb.txta.txt-y2024/11/29151比較文件異同diffLinux中,.tar文件是多個(gè)文件打包成為的文件,不壓縮文件大小示例:tar-cvfmysh.tar*.sh把所有的*.sh文件打包為mysh.tar文件2024/11/29152文件打包與解包解包.tar文件常用的參數(shù)為xvf,tar–xvfmysh.tar把剛才打包好的文件解包2024/11/29153文件打包與解包Linux的壓縮文件主要格式有.gz和.zip。.gz格式的文件壓縮/解壓命令為gzip和gunzip。
gzipFileName壓縮FileName文件得到壓縮后的文件FileName.gz,壓縮操作是在FileName文件上進(jìn)行的,不會(huì)生成新的文件,完成后在原文件名后加.gz命名壓縮后的文件。由于gzip命令只能壓縮文件,不能打包,常用的操作方法時(shí)先用tar打包文件或目錄,然后用gzip壓縮。2024/11/29154文件壓縮與解壓使用gzip壓縮文件使用gunzip解壓文件2024/11/29155gzip壓縮/gunzip解壓文件使用tar加參數(shù)zcvf可以一次完成打包壓縮文件使用tar加參數(shù)zxvf可以一次完成解壓解包文件2024/11/29156壓縮/解壓.tar.gz與.tgz文件.zip格式的壓縮文件在Linux和windows系統(tǒng)中都可以被識(shí)別將catkin_ws目錄下的所有文件和子目錄一并壓縮生成壓縮文件catkin_ws.zipzip-rcatkin_ws.zipcatkin_ws使用unzip解壓文件2024/11/29157zip壓縮/unzip解壓文件.zip格式的壓縮文件在Linux和windows系統(tǒng)中都可以被識(shí)別當(dāng)前目錄的a.txt和b.txt壓縮成為ab.zipzipab.zipa.txtb.txt使用unzip解壓文件2024/11/29158zip壓縮/unzip解壓文件管理軟件包
Ubuntu提供了一種中心化的機(jī)制用來(lái)搜索和安裝軟件。軟件通常存放在存儲(chǔ)庫(kù)中,并通過(guò)包的形式對(duì)外進(jìn)行分發(fā)。處理包的工作稱為包管理。包提供了操作系統(tǒng)的基本組件,以及共享的庫(kù)、應(yīng)用程序、服務(wù)和文檔。這稱為軟件包管理系統(tǒng),其除了安裝軟件外,它還提供了工具來(lái)更新已經(jīng)安裝的包。早期Ubuntu使用apt-get命令來(lái)管理軟件包,在Ubuntu16.04發(fā)布時(shí),使用新的包管理命令apt。對(duì)軟件包的管理多數(shù)情況下需要root用戶權(quán)限,通常在包管理命令apt前加上sudo命令用于提權(quán)。2024/11/29160Ubuntu軟件包使用下列命令安裝zipsudoaptinstallzip2024/11/29161安裝軟件包使用下列命令移除zipsudoaptremovezip2024/11/29162移除軟件包Linux命令操作作業(yè)1、建立以“班級(jí)號(hào)+學(xué)生序號(hào)”命名的文件夾,并設(shè)置文件夾的權(quán)限為:宿主用戶:rwx組用戶:r-x其它用戶:然后通過(guò)使用重定向命令把設(shè)置好權(quán)限后“l(fā)s-l”命令顯示的結(jié)果放到文件A01中。2、下載science.txt文件,把其中含有單詞“and”的行放到文件A02中,然后用wc統(tǒng)計(jì)A02文件并把統(tǒng)計(jì)結(jié)果追加到A02文件。3、把本機(jī)歷史命令放到A03文件中,篩選其中使用了ls命令的內(nèi)容存放到ls.txt文件中、使用了cd命令的內(nèi)容存放到cd.txt文件。4、確定上述的三個(gè)文件都放在已建立的文件夾中,然后把文件夾壓縮為zip格式的壓縮文件。2024/11/29164作業(yè)ROS簡(jiǎn)介RobotOperationSystem機(jī)器人操作系統(tǒng)ROS是一個(gè)適用于機(jī)器人的開源的元操作系統(tǒng)。它提供了操作系統(tǒng)應(yīng)有的服務(wù),包括硬件抽象,底層設(shè)備控制,常用函數(shù)的實(shí)現(xiàn),進(jìn)程間消息傳遞,以及包管理。它也提供用于獲取、編譯、編寫、和跨計(jì)算機(jī)運(yùn)行代碼所需的工具和庫(kù)函數(shù)。在某些方面ROS相當(dāng)于一種“機(jī)器人框架/cn/ROS/Introduction2024/11/29166ROS是什么2024/11/29167ROS起源2024/11/29168ROS起源-LTS長(zhǎng)期支持版2024/11/29169ROS總體設(shè)計(jì)2024/11/29170ROS特點(diǎn)2024/11/29171ROS特點(diǎn)2024/11/29172ROS特點(diǎn)2024/11/29173ROS特點(diǎn)2024/11/29174ROS特點(diǎn)2024/11/29175ROS特點(diǎn)2024/11/29176ROS四位一體2024/11/29177ROS計(jì)算圖2024/11/29178ROS計(jì)算圖2024/11/29179ROS話題通信2024/11/29180ROS服務(wù)通信2024/11/29181ROS參數(shù)通信2024/11/29182ROS話題與服務(wù)的區(qū)別2024/11/29183ROS文件系統(tǒng)2024/11/29184ROS開源社區(qū)2024/11/29185ROS系統(tǒng)實(shí)現(xiàn)層次快速安裝Ubuntu20.04快速安裝(1)準(zhǔn)備好ubuntu20.04的ISO文件
阿里云:/ubuntu-releases/20.04//download/desktop2024/11/29187在虛擬機(jī)中安裝ubuntu20.04快速安裝(2)創(chuàng)建存放虛擬機(jī)文件的文件夾2024/11/29188在虛擬機(jī)中安裝ubuntu20.04快速安裝(3)啟動(dòng)VMware2024/11/29189在虛擬機(jī)中安裝ubuntu20.04快速安裝(4)點(diǎn)擊“創(chuàng)建新虛擬機(jī)”2024/11/29190在虛擬機(jī)中安裝ubuntu20.04快速安裝(5)在“新建虛擬機(jī)向?qū)А表?yè)面選中“安裝程序光盤映像文件”并指定為第(1)步中ubuntu20.04ISO文件2024/11/29191在虛擬機(jī)中安裝ubuntu20.04快速安裝(6)點(diǎn)擊“下一步”按鈕后設(shè)置用戶名和密碼2024/11/29192在虛擬機(jī)中安裝ubuntu20.04快速安裝(7)點(diǎn)擊“下一步”按鈕后設(shè)置“虛擬機(jī)名稱”、指定虛擬機(jī)存放的位置為第(2)步中創(chuàng)建的文件夾2024/11/29193在虛擬機(jī)中安裝ubuntu20.04快速安裝(8)點(diǎn)擊“下一步”按鈕后選中“將虛擬磁盤存儲(chǔ)為單個(gè)文件”2024/11/29194在虛擬機(jī)中安裝ubuntu20.04快速安裝(9)點(diǎn)擊“下一步”,然后點(diǎn)擊“完成”按鈕完成設(shè)置開始安裝2024/11/29195在虛擬機(jī)中安裝ubuntu20.04快速安裝(10)斷開虛擬機(jī)的網(wǎng)絡(luò)連接,加快安裝速度(約5-10分鐘)2024/11/29196在虛擬機(jī)中安裝ubuntu20.04快速安裝(10)斷開虛擬機(jī)的網(wǎng)絡(luò)連接,加快安裝速度(約5-10分鐘)2024/11/29197在虛擬機(jī)中安裝ubuntu20.04常規(guī)安裝ubutnu20.04常規(guī)安裝(1)-(4)步與快速安裝相同(5)選中“稍后安裝操作系統(tǒng)”2024/11/29199在虛擬機(jī)中安裝ubuntu20.04常規(guī)安裝(6)默認(rèn)設(shè)置2024/11/29200在虛擬機(jī)中安裝ubuntu20.04常規(guī)安裝(7)設(shè)置“虛擬機(jī)名稱”和保存位置2024/11/29201在虛擬機(jī)中安裝ubuntu20.04常規(guī)安裝(8)點(diǎn)擊“下一步”按鈕后選中“將虛擬磁盤存儲(chǔ)為單個(gè)文件”2024/11/29202在虛擬機(jī)中安裝ubuntu20.04常規(guī)安裝(9)完成設(shè)置2024/11/29203在虛擬機(jī)中安裝ubuntu20.04常規(guī)安裝(10)指定安裝ubuntu的ISO文件2024/11/29204在虛擬機(jī)中安裝ubuntu20.04常規(guī)安裝(11)啟動(dòng)虛擬機(jī)2024/11/29205在虛擬機(jī)中安裝ubuntu20.04常規(guī)安裝(12)啟動(dòng)虛擬機(jī)2024/11/29206在虛擬機(jī)中安裝ubuntu20.04常規(guī)安裝(13)關(guān)閉虛擬機(jī)網(wǎng)絡(luò)(加快安裝速度)2024/11/29207在虛擬機(jī)中安裝ubuntu20.04常規(guī)安裝(14)設(shè)置安裝界面為中文,鍵盤布局為English(US)2024/11/29208在虛擬機(jī)中安裝ubuntu20.04常規(guī)安裝(15)不能顯示“繼續(xù)”按鈕方法(由于vmtools工具沒(méi)有安裝,虛擬機(jī)桌面不能自動(dòng)調(diào)整分辨率,“繼續(xù)”按鈕不能顯示)方法:按住windows鍵+鼠標(biāo)左鍵拖動(dòng)窗口空白地方可顯示出按鈕2024/11/29209在虛擬機(jī)中安裝ubuntu20.04常規(guī)安裝(16)選中最小安裝2024/11/29210在虛擬機(jī)中安裝ubuntu20.04常規(guī)安裝(17)通過(guò)Tab鍵點(diǎn)擊“繼續(xù)”按鈕2024/11/29211在虛擬機(jī)中安裝ubuntu20.04常規(guī)安裝(18)點(diǎn)擊“繼續(xù)”按鈕2024/11/29212在虛擬機(jī)中安裝ubuntu20.04常規(guī)安裝(19)指定時(shí)區(qū)2024/11/29213在虛擬機(jī)中安裝ubuntu20.04常規(guī)安裝(20)設(shè)置用戶密碼2024/11/29214在虛擬機(jī)中安裝ubuntu20.04常規(guī)安裝(21)正式開始安裝(約3分鐘)2024/11/29215在虛擬機(jī)中安裝ubuntu20.04常規(guī)安裝(22)按下回車鍵,重啟虛擬機(jī)2024/11/29216在虛擬機(jī)中安裝ubuntu20.04安裝terminator、ssh、net-tools參考課堂演示,也可以后再安裝sudoaptupdatesudoaptinstallnet-toolssudoaptinstallssh2024/11/29217在虛擬機(jī)中安裝ubuntu20.04安裝vmtools參考教材安裝如果安裝VMwaretools后如果不能在計(jì)算機(jī)和虛擬機(jī)之間實(shí)現(xiàn)文本與文件雙向的復(fù)制粘貼,打開終端窗口,依次運(yùn)行下列命令:sudoaptupdatesudoaptinstall-fsudoaptinstallopen-vm-tools-desktop重啟Ubuntu后即可2024/11/29218在虛擬機(jī)中安裝ubuntu20.04安裝ROS(noetic)1、配置軟件和更新2024/11/29220在ubuntu20.04中安裝ROS(noetic)121、配置軟件和更新2024/11/29221在ubuntu20.04中安裝ROS(noetic)2、設(shè)置安裝源(中科大源)2024/11/29222在ubuntu20.04中安裝ROS(noetic)3、添加sources.list和設(shè)置key(可復(fù)制命令在虛擬機(jī)中執(zhí)行)sudosh-c'echo"deb/ros/ubuntu$(lsb_release-sc)main">/etc/apt/sources.list.d/ros-latest.list'sudoapt-keyadv--keyserver'hkp://:80'--recv-keyC1CF6E31E6BADE8868B172B4F42ED6FBAB17C6542024/11/29223在ubuntu20.04中安裝ROS(noetic)4、更新安裝信息(時(shí)間較長(zhǎng),如果安裝失敗可重復(fù)執(zhí)行直到成功)sudoaptupdate&&sudoaptupgrade輸入y繼續(xù)安裝2024/11/29224在ubuntu20.04中安裝ROS(noetic)5、安裝ROS桌面完整版(時(shí)間較長(zhǎng),如果安裝失敗可重復(fù)執(zhí)行直到成功)sudoaptinstallros-noetic-desktop-full輸入y繼續(xù)安裝2024/11/29225在ubuntu20.04中安裝ROS(noetic)6、配置環(huán)境變量配置環(huán)境變量,方便在終端中運(yùn)行ROS命令和程序。echo"source/opt/ros/noetic/setup.bash">>~/.bashrc2024/11/29226在ubuntu20.04中安裝ROS(noetic)7、安裝構(gòu)建依賴相關(guān)工具sudoaptinstallpython3-rosdeppython3-rosinstallpython3-rosinstall-generatorpython3-wstoolbuild-essentialpython3-roslaunch2024/11/29227在ubuntu20.04中安裝ROS(noetic)8、初始化rosdep(大概率失?。﹕udorosdepinit#初始化rosdeprosdepupdate#更新rosdep2024/11/29228在ubuntu20.04中安裝ROS(noetic)9、初始化rosdep操作失敗,使用以下方法(1)安裝pip工具sudoapt-getinstallpython3-pip2024/11/29229在ubuntu20.04中安裝ROS(noetic)9、初始化rosdep操作失敗,使用以下方法(2)安裝rosdepc插件sudopip3installrosdepc2024/11/29230在ubuntu20.04中安裝ROS(noetic)9、初始化rosdep操作失敗,使用以下方法(3)刪除之前的列表文件(可選,如果沒(méi)有該文件就不執(zhí)行)sudorm-f/etc/ros/rosdep/sources.list.d/20-default.list2024/11/29231在ubuntu20.04中安裝ROS(noetic)9、初始化rosdep操作失敗,使用以下方法(4)運(yùn)行下列命令初始化rosdep(使用替代站點(diǎn))sudorosdepcinit&&rosdepcupdate
#初始化并更新rosdepc2024/11/29232在ubuntu20.04中安裝ROS(noetic)10、建立python3鏈接(可選)sudoln-s/usr/bin/python3/usr/bin/python2024/11/29233在ubuntu20.04中安裝ROS(noetic)11、測(cè)試ROS關(guān)閉當(dāng)前終端,重新開三個(gè)終端窗口運(yùn)行下列命令roscorerosrunturtlesimturtlesim_noderosrunturtlesimturtle_teleop_key2024/11/29234在ubuntu20.04中安裝ROS(noetic)安裝集成開發(fā)環(huán)境(vscode)1.下載VScode/Download2024/11/29236安裝VScode集成開發(fā)環(huán)境2.安裝VScodesudodpkg-icode_1.65.2-1646927742_amd64.deb(根據(jù)下載的文件名,使用tab健自動(dòng)補(bǔ)全)2024/11/29237安裝VScode集成開發(fā)環(huán)境3.啟動(dòng)VScode,安裝插件code.2024/11/29238安裝VScode集成開發(fā)環(huán)境3.啟動(dòng)VScode,安裝插件(需聯(lián)網(wǎng))2024/11/29239安裝VScode集成開發(fā)環(huán)境1.點(diǎn)擊插件圖標(biāo)2.輸入要安裝的插件名3.啟動(dòng)VScode,安裝插件(需聯(lián)網(wǎng))一共需安裝5個(gè)插件Chinese(Simplified)(簡(jiǎn)體中文)LanguagePackforVisualStudioCodeC/C++CMakeToolsPythonROS2024/11/29240安裝VScode集成開發(fā)環(huán)境3.啟動(dòng)VScode,安裝插件(需聯(lián)網(wǎng))啟用中文語(yǔ)言包插件Chinese(Simplified)(簡(jiǎn)體中文)LanguagePackforVisualStudioCode后,vscode的界面為中文2024/11/29241安裝VScode集成開發(fā)環(huán)境安裝ROS集成開發(fā)環(huán)境安裝ROS集成開發(fā)環(huán)境主要包括以下部分:1、使用vmwareplayer虛擬機(jī)軟件個(gè)人版安裝ubuntu20.042、在ubuntu20.04虛擬機(jī)中安裝ROS(noetic)3、在已安裝好ROS的ubuntu虛擬機(jī)中安裝vscode(包括必要插件)把安裝過(guò)程的截圖存放到word文檔中上傳,截圖必須是電腦屏幕的全屏截圖。2024/11/29243安裝ROS集成開發(fā)環(huán)境ROS文件系統(tǒng)與包管理
一、ROS文件系統(tǒng)
二、ROS包管理
三、操作示例2024/11/29245ROS文件系統(tǒng)一、ROS文件系統(tǒng)ROS的工程結(jié)構(gòu),也就是ROS的文件系統(tǒng)結(jié)構(gòu),是ROS軟件開發(fā)項(xiàng)目的組織形式2024/11/29247ROS文件系統(tǒng)也叫catkin工作空間Catkin工作空間是創(chuàng)建、修改、編譯catkin軟件包的目錄。catkin的工作空間,里面存放著ROS的各種項(xiàng)目工程,便于系統(tǒng)組織管理調(diào)用。在可視化圖形界面里是一個(gè)文件夾。build和devel目錄由catkin系統(tǒng)自動(dòng)生成、管理,我們?nèi)粘5拈_發(fā)一般不會(huì)去涉及2024/11/29248ROS工作區(qū)/工作區(qū)開發(fā)中主要用到的是src文件夾我們編寫的ROS程序、網(wǎng)上下載的ROS源代碼包都存放在這里。在編譯時(shí),catkin編譯系統(tǒng)會(huì)遞歸的查找和編譯src/下的每一個(gè)源代碼包因此也可以把幾個(gè)源代碼包放到同一個(gè)文件夾下2024/11/29249ROS工作空間/工作區(qū)mkdir-p~/mycatkin_ws/srccd~/mycatkin_wscatkin_makesource~/mycatkin_ws/devel/setup.bash
第一行代碼直接創(chuàng)建了第二層級(jí)的文件夾src,這也是存放ROS軟件包的地方。第二行代碼進(jìn)入工作空間第三行代碼執(zhí)行catkin_make初始化(編譯軟件包)catkin_make必須在工作空間目錄執(zhí)行,在其他路徑下編譯不會(huì)成功
第四行代碼刷新環(huán)境,使得系統(tǒng)能夠找到剛才編譯生成的ROS可執(zhí)行文件一般緊跟著要source刷新環(huán)境,這個(gè)細(xì)節(jié)比較容易遺漏,致使后面出現(xiàn)可執(zhí)行文件無(wú)法打開等錯(cuò)誤
2024/11/29250創(chuàng)建并初始化ROS工作空間一個(gè)軟件包(package)下常見的文件、路徑有:
├──CMakeLists.txt #package的編譯規(guī)則(必須)
├──package.xml #package的描述信息(必須)
├──src/ #源代碼文件
├──include/ #C++頭文件
├──scripts/ #可執(zhí)行腳本
├──msg/ #自定義消息
├──srv/ #自定義服務(wù)
├──models/ #3D模型文件
├──urdf/ #urdf文件
├──launch/ #launch文件2024/11/29251軟件包(package)結(jié)構(gòu)一個(gè)軟件包(package)下常見的文件、路徑有:
├──CMakeLists.txt #軟件包的編譯規(guī)則(必須)
├──package.xml #軟件包的描述信息(必須)最簡(jiǎn)單的包只有這兩個(gè)文件
2024/11/29252軟件包(package)結(jié)構(gòu)CMakeLists.txt文件規(guī)定了這個(gè)軟件包(package)要依賴哪些軟件包(package),要編譯生成哪些目標(biāo),如何編譯等等流程。
CMakeLists.txt非常重要?。?!它指定了由源碼到目標(biāo)文件的規(guī)則,catkin編譯系統(tǒng)在工作時(shí)首先會(huì)找到每個(gè)軟件包(package)下的CMakeLists.txt,然后按照規(guī)則來(lái)編譯構(gòu)建。必須掌握CMakeLists.txt基本修改方法?。?!通常的做法是在系統(tǒng)生成的模板文件上修改2024/11/29253CMakeLists.txt文件cmake_minimum_required() #CMake的版本號(hào)
project() #項(xiàng)目名稱
find_package() #找到編譯需要的其他package
catkin_python_setup() #打開catkin的PythonModule的支持
add_message_files() #添加自定義Message文件
add_service_files()
#添加自定義Service文件
add_action_files() #添加自定義Action文件
generate_message() #生成不同語(yǔ)言版本的msg/srv/action接口
catkin_package() #生成當(dāng)前package的cmake配置,供依賴本包的其他
軟件包調(diào)用
add_library() #生成庫(kù)
add_executable() #生成可執(zhí)行二進(jìn)制文件
add_dependencies()
#定義目標(biāo)文件依賴于其他目標(biāo)文件,確保其他目
標(biāo)已被構(gòu)建
target_link_libraries() #鏈接
catkin_add_gtest() #生成測(cè)試
install()
#安裝至本機(jī)
2024/11/29254CMakeLists.txt寫法package.xml也是一個(gè)catkin的package必備文件,它是這個(gè)軟件包的描述文件。2024/11/29255package.xmlpacakge.xml包含了package的名稱、版本號(hào)、內(nèi)容描述、維護(hù)人員、軟件許可、編譯構(gòu)建工具、編譯依賴、運(yùn)行依賴等信息。
實(shí)際上rospackfind、rosdep等命令之所以能快速定位和分析出package的依賴項(xiàng)信息,就是直接讀取了每一個(gè)pacakge中的package.xml文件。它為用戶提供了快速了解一個(gè)pacakge的渠道。
2024/11/29256package.xml的作用二、ROS包管理命令rospack獲取軟件包的有關(guān)信息。在本教程中,我們只涉及到rospack中find參數(shù)選項(xiàng),該選項(xiàng)可以turtlesim用法:#rospackfind[包名稱]示例:$rospackfindroscpp返回軟件包的路徑信息2024/11/29258使用rospackroscd進(jìn)入ros軟件包目錄用法:#roscd
cd[包名稱]示例:$roscdroscpp進(jìn)入軟件包的路徑2024/11/29259使用roscdrosls列出軟件包的文件信息用法:#rosls[包名稱]示例:$rosls
turtlesim返回軟件包的路徑信息2024/11/29260使用rosls三、操作示例2024/11/29262示例一創(chuàng)建ROS工作空間如果catkin_ws目錄已經(jīng)存在,先刪除mkdir-p~/mycatkin_ws/srccd~/mycatkin_wscatkin_makesource~/mycatkin_ws/devel/setup.bashecho“source~/mycatkin_ws/devel/setup.bash”>>~/.bashrc2024/11/29263示例二導(dǎo)入ros軟件包1、創(chuàng)建工作空間2、下載軟件包(http://www.yzyfine.top/download/turtlesim.zip)3、放入工作空間的src目錄并解壓4、在工作空間運(yùn)行catkin_make命令編譯工作空間下的軟件包5、刷新環(huán)境變量source~/mycatkin_ws/devel/setup.bash6、運(yùn)行()roscorerosrunturtlesimturtlesim_noderosrunturtlesimdraw_square2024/11/29264示例三VScode編寫python測(cè)試程序1、進(jìn)入前面已經(jīng)創(chuàng)建的工作空間mycatkin_wscd~/mycatkin_ws2、啟動(dòng)vscodecode.3.編寫測(cè)試程序操作演示(1)創(chuàng)建包指定包名test,指定依賴roscpprospystd_msgs(2)創(chuàng)建scripts文件夾(存放python文件)2024/11/29265示例三VScode編寫python測(cè)試程序3.編寫測(cè)試程序操作演示(3)創(chuàng)建pyth
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025關(guān)于解除租房合同協(xié)議書及賠償問(wèn)題
- 2025集團(tuán)權(quán)屬單位合同會(huì)簽審批流程使用指引
- 2025品牌加盟合同樣本
- 2025《工程項(xiàng)目合同管理》
- 2025購(gòu)車貸款擔(dān)保合同(最終版)
- 2025購(gòu)買新房合同
- 《世界盡頭的咖啡館》讀后感600字
- 2025年岳麓版九年級(jí)科學(xué)下冊(cè)階段測(cè)試試卷含答案
- 360文庫(kù)教學(xué)崗崗位職責(zé)
- 2024年滬教版八年級(jí)物理上冊(cè)階段測(cè)試試卷
- 球磨機(jī)安全檢查表分析(SCL)+評(píng)價(jià)記錄
- 學(xué)習(xí)會(huì)計(jì)基礎(chǔ)工作規(guī)范課件
- 雙面埋弧焊螺旋鋼管公稱外公壁厚和每米理論重量
- 富士施樂(lè)VC2265打印機(jī)使用說(shuō)明SPO
- 醫(yī)院工會(huì)經(jīng)費(fèi)使用與管理辦法、制度規(guī)則
- 服務(wù)態(tài)度決定客戶滿意度試題含答案
- 中學(xué)歷史教育中的德育狀況調(diào)查問(wèn)卷
- 教科版四年級(jí)科學(xué)上冊(cè)全冊(cè)復(fù)習(xí)教學(xué)設(shè)計(jì)及知識(shí)點(diǎn)整理
- 重慶萬(wàn)科渠道制度管理辦法2022
- 上海黃金交易所貴金屬交易員題庫(kù)
- 蒸汽管道設(shè)計(jì)表(1)
評(píng)論
0/150
提交評(píng)論