版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程介绍RobotOperatingSystem(ROS)
机器人操作系统是当前机器人技术热点广泛应用于智能机器人开发2024/11/292ROS是什么一、世界潮流二、国家战略三、社会需要四、自我发展2024/11/293为什么要学习ROS庞大的使用者群体https:///index.html
2024/11/294一、世界潮流各地区软件包历史贡献https:///packages_country.html2024/11/295一、世界潮流知名企业支持ROS
Nvidia、博世、高通、英特尔、宝马、大疆
2024/11/296一、世界潮流知名企业支持ROS工业机器人领域:ABB、FANUC(发那科)、Motoman(安川电机)
2024/11/297一、世界潮流2024/11/298一、世界潮流ROS功能软件包数量众多https:///packages_top.html/ROS成为关注热点2024/11/299一、世界潮流ROS发展现状2024/11/2910一、世界潮流ROS发展现状2024/11/2911一、世界潮流ROS发展现状2024/11/2912一、世界潮流2024/11/2913一、世界潮流ROS发展现状国外十周年(视频,点击播放)2024/11/2914一、世界潮流机器人制作个性化饮品(视频)FiveRobotsMakeYourPersonalDrinks2024/11/2915二、国家战略2024/11/2916二、国家战略2024/11/2917国产ROS机器人2024/11/2918百度基于ROS无人驾驶(视频)1.老龄化2.工农业生产提质增效3.高品质服务与生活2024/11/2919三、社会需求ROS人才缺口大,从业人员工资高,行业前景好2024/11/2920四、自我发展计算机操作基本技能(1)较快的文字录入速度(盲打,英文200字/分,中文40字/分)(2)windows操作系统安装(3)防病毒设置与应用(建议只安装系统自带防病毒软件)(4)移动端与PC端资源共享(多终端网盘,推荐onedrive)(5)信息化应用
浏览器推荐edge
搜索引擎(推荐必应/)
文件压缩与解压(推荐7z,压缩文件格式使用zip)
英文翻译(/translator/?h_text=msn_ctxt&setlang=zh-cn)2024/11/2921课程前导内容Linux(双系统)安装虚拟机安装与使用python、C/C++编程Linux基本操作2024/11/2922课程前导内容Linux基础ROS理论基础ROS实践2024/11/2923课程内容安排踏实学习遵守纪律完成作业2024/11/2924课程要求出勤20%+平时20%+期末60%+加分+扣分期末:理论+实践2024/11/2925计分与考核2024/11/2926加分与扣分加分项:A全勤
B正确回答提问C高质量作业D高质量实训E课程服务F尊重同学与老师扣分项:I 缺勤II 不遵守课堂纪律III 不携带学习资料IV 上课时手机不入袋V 拒绝回答提问或回答错误VI 损坏公共物品或实训器材VII 不诚信行为(作业,考试、实训)Linux简介
Linux是一种计算机操作系统,可以在超级计算机、小型机、工作站和个人电脑上运行的一种类UNIX操作系统Linux操作系统免费、开源2024/11/2928Linux操作系统2024/11/2929Linux和Windows的比较Linux的起源Linux系统最初是在1991年10月,由一名21岁的就读于芬兰赫尔辛基大学(UniversityofHelsinki,Finland)的计算机科学专业学生林纳斯·托瓦兹(LinusTorvalds)发布。Linux发音官方标准发音:/ˈlɪnəks/2024/11/2930Linux的起源与发展2024/11/2931Linux的起源与发展UNIXMINIXLINUX起源于贝尔实验室C语言开发有多种版本多用于大型主机基于MINIX免费、开源现在广受欢迎2024/11/29MINIX:基于微内核架构的类UNIX计算机操作系统用于教学的简单操作系统,而非实用操作系统公开源代码;2024/11/2932Unix与类UnixUnix系统:由贝尔实验室开发,版权归AT&T公司所有(美国电话电报公司)类Unix系统:继承UNIX的设计风格演变出来的系统,不包含UNIX的源代码。因为版权原因,不能叫Unix系统。类Unix系统有的免费开源,有的是商业软件收费。BSD的类Unix系统由加州大学伯克利分校开发,苹果公司的MacOS、IOS系统从BSD发展而来Linux也属于类Unix系统2024/11/2933Internet公共服务器OS市场占有率/technologies/overview/operating_system2024/11/2934Internet公共服务器OS市场占有率/technologies/details/os-unix2024/11/2935软件开源许可开源许可(OpenSourceLicense)开源即开放源代码,常用的开源协议有GPL、BSD、MIT、Mozilla、Apache和LGPL2024/11/2936软件开源许可Linux使用GPL开源许可GPL(GNUGeneralPublicLicense):GNU通用公共许可协议2024/11/2937Linux发行版本(简写为:distro)通常是一个基于Linuxkernel(linux内核)和包管理系统的软件集合。2024/11/2937广泛使用的Linux发行版本deb包管理系RPM包管理系比较独特:经过gzip压缩和tarball打包文件扩展名.tgzLinux发行版图谱2024/11/2938DebianDebian(/ˈdɛbiən/)发音是完全由自由软件组成的类UNIX操作系统最初由伊恩·默多(IanMurdock)克于1993年发起Debian0.01版在1993年9月15日发布第一个稳定版本则在1996年发布Debian稳定版本分支在个人电脑和网络服务器最受欢迎的分支,同时被作为很多发行版本的基础2024/11/2939UbuntuUbuntu(/ʊˈbʊntuː/;),中文称为乌班图自由及开源软件基于Debian的Linux发行版本三个官方版本:UbuntuDesktop桌面版个人电脑UbuntuServer服务器版服务器和云UbuntuCore精简版本物联网设备和机器人Ubuntu是最流行的云操作系统,也是OpenStack的参考操作系统。/2024/11/2940其他Linux发行版Fedora是一个基于社区的免费发行版,专注于快速发布新特性和功能,适合桌面用户Redhat企业版本,发布速度较慢,软件免费,技术支持收费,适合服务器CentOS基本上是Redhat的社区版,免费,Redhat公司不提供支持,适合服务器(国内有大量用户,已经停止更新)2024/11/2941Linux的特点当需要长期稳定运行的网站服务器、处理大数据的集群系统或者需要协同工作的环境时,大多采用Linux系统!与Windows相比,Linux主要具有以下特点:稳定且有效率免费或少许费用漏洞少且快速修补多任务多用户更加安全的用户及文件权限策略可定制裁剪,移植到嵌入式相对系统资源占用少2024/11/2942使用Linux的行业2024/11/2943使用Linux的行业2024/11/2944了解虚拟技术化本课程在虚拟机中使用Linux系统,下面介绍虚拟化技术虚拟化(技术)或虚拟技术(Virtualization)是一种资源管理技术,是将计算机的各种实体资源(CPU、内存、磁盘空间、网络适配器等),予以抽象、转换后呈现出来并可供分区、组合为一个或多个计算机配置环境。2024/11/2945服务器虚拟化的优势减少损耗,节约成本服务器虚拟化可减少实体化的服务器,减少了电力跟服务器所需的冷却资源,减少了空间跟成本优化资源利用将原本存在的物理成本虚拟化后,可更好地整合vps虚拟主机的资源,更有效地将减少的成本投入到VPS虚拟化服务器当中。提升稳定性资源隔离,不被相互干扰增加灵活性捷性管理,可快速部署,便于维护2024/11/2946虚拟机产品两大主要分类原生架构(硬件虚拟化)虚拟机产品直接安装在计算机硬件之上生产环境产品举例:VMWare的VSphere,微软的Hyper-V寄居构架(一般意义的虚拟机)虚拟机安装在操作系统之上主要用于学习或教学产品举例:VMWare的VMWareWorkstation,微软的VirtualPC,Oracle的VirtualBox2024/11/2947安装虚拟机vmwareplayer/products/workstation-player.html非商业使用免费2024/11/2948虚拟机网络连接模式桥接模式BridgedNetworking仅主机模式Host-OnlyNetworkingNAT模式NetworkAddressTranslation(网络地址转换)2024/11/2949虚拟机网络连接模式桥接模式虚拟机直接使用宿主机的物理网卡虚拟机连接到宿主机所在的LAN网,具有与宿主机同网段的IP地址适用于无线及有线桥接模式下,虚拟机是LAN网络中独立的设备,可以和LAN网络中的设备互通可以上网2024/11/2950虚拟机网络连接模式仅主机模式虚拟机连接到私有网络,完全与宿主机外的网络独立虚拟机创建了一个虚拟DHCPserver虚拟主机只能与宿主机互通,不能与外界相通不能上网2024/11/2951虚拟机网络连接模式NAT模式NetworkAddressTranslation(网络地址转换)VMWare的默认配置私有网络,通过虚拟DHCP获取IP地址虚拟主机与宿主机可以互通虚拟主机通过NAT上网2024/11/2952ubuntu基本操作登录2024/11/2953ubuntu基本操作文件查看2024/11/2954ubuntu基本操作打开终端(命令)窗口(Terminal)桌面上鼠标右键选择“在终端中打开”2024/11/2955ubuntu基本操作命令提示符ros:当前登录的用户ros-virtual-machine:主机名2024/11/2956ubuntu基本操作Shell是linux内核与用户的接口Shell接收用户命令传给内核执行图形界面和字符界面都属于Shellubuntu默认使用:bash2024/11/2957ubuntu基本操作Shell命令:命令名、选项和参数三部分选项通常以单个短横线“-”开头部分选项以两个短横线“--”开头命令名[选项][参数]命令功能的英文单词或者缩写命令功能调控:不同选项控制不同的功能命令的处理对象:文件名,目录名,用户名等空格空格2024/11/2958ubuntu基本操作Shell命令操作注意事项命令,选项,参数之间必须有空格,可以有多个一行可以输入多条命令,命令之间使用“;”隔开如果在一行命令后加“\”符号,表示一条命令换行可以使用Tab键自动补全命令,路径,或者文件名,加快输入,如果命令,路径,或者文件名,不能补全,则表示不存在2024/11/2959Ubuntu常用命令重启reboot或init6关机
init0查看IP地址ifconfig2024/11/2960远程登录Ubuntu两种远程登录方式1.putty绿色工具,远程SSH连接,2.winscp,远程SFTP文件传输Ubuntu20.04默认没有安装网络工具sudoaptinstallnet-toolsUbuntu20.04默认没有安装SSHsudoaptupdatesudoaptinstallopenssh-server安装SSH服务2024/11/2961远程登录Ubuntu使用PuTTY输入要远程登录的ubuntu虚拟机的IP2024/11/2962远程登录Ubuntu使用winscp2024/11/2963课堂练习1关机重启使用putty、winscp连接ubuntu虚拟机上传下载文件2024/11/2964课堂练习2在虚拟机中创建Linux虚拟机在虚拟机中安装Ubuntu20.04操作系统使用VirtualBox虚拟机
OracleVMVirtualBoxOracleVMVirtualBox
是全球广受欢迎的开源跨平台虚拟化软件,免费使用。目前属于Oracle公司所有。当前最新版本7.0.4
VirtualBox虚拟机软件介绍Vmware
vsVirtualbox一般认为:vmware性能更好,细分功能更多,可以在商业服务器上使用,商业使用需付费。Virtualbox安装简单,使用方便,可以直接使用vmware虚拟磁盘/virtualbox/7.0.4/VirtualBox-7.0.4-154605-Win.exe?source=:ow:o:p:nav:mmddyyVirtualBoxHero_cn
VirtualBox
vsVmware在计算机上安装vmware软件有时会报错,这种情况下可以安装virtualbox,使用VMware的虚拟磁盘。1、安装并启动virtualbox
在VirtualBox中使用vmware虚拟磁盘在计算机上安装vmware软件有时会报错,这种情况下可以安装virtualbox,使用VMware的虚拟磁盘。2、点击“新建”按钮设置好后点击“next”按钮
在VirtualBox中使用vmware虚拟磁盘填入虚拟机名称指定虚拟机文件存放的文件夹(需要事先创建好)在计算机上安装vmware软件有时会报错,这种情况下可以安装virtualbox,使用VMware的虚拟磁盘。3、设置“内存大小”和cpu完成后点击“next”按钮
在VirtualBox中使用vmware虚拟磁盘根据需要设置,不要过大或过小设置处理器核心,可不改在计算机上安装vmware软件有时会报错,这种情况下可以安装virtualbox,使用VMware的虚拟磁盘。4、指定虚拟磁盘
在VirtualBox中使用vmware虚拟磁盘选中此项(使用已有的虚拟磁盘)点击此按钮指定虚拟磁盘位置在计算机上安装vmware软件有时会报错,这种情况下可以安装virtualbox,使用VMware的虚拟磁盘。5、添加虚拟磁盘
在VirtualBox中使用vmware虚拟磁盘点击此项指定虚拟磁盘点击按钮确认在计算机上安装vmware软件有时会报错,这种情况下可以安装virtualbox,使用VMware的虚拟磁盘。6、完成设置
在VirtualBox中使用vmware虚拟磁盘点击按钮点击按钮完成设置在计算机上安装vmware软件有时会报错,这种情况下可以安装virtualbox,使用VMware的虚拟磁盘。7、启动虚拟机
在VirtualBox中使用vmware虚拟磁盘点击按钮启动虚拟机Linux系统文件与目录管理1
任务1:了解文件和目录的概念任务2:文件管理命令任务3:查看文件内容命令2024/11/2976任务根目录家目录当前目录绝对路径相对路径2024/11/2977常用概念2024/11/2978根目录“/”是linux系统最顶层目录,其他目录都是它的子目录根目录“/”类似于Windows系统中的用户文件夹,用于存放用户的个人数据如:ros用户的家目录:/home/ros,Linux系统中出root用户以外的其他用户家目录都在/home目录下2024/11/2979家目录根目录下面的的一个子目录,名字为root它是管理员root用户的家目录2024/11/2980/root目录pwd命令显示用户当前工作目录2024/11/2981当前工作目录绝对路径也就是全路径从“/”要目录开始表示的目录,如2024/11/2982绝对路径相对于当前所在路径的子目录或文件命令行表示路径时:左边不从根开始,直接从子目录或文件的名字开始表示如:2024/11/2983相对路径.(一个小圆点)表示当前目录..(二个小圆点)表示上一级目录2024/11/2984特殊目录.(一个小圆点)表示当前目录..(二个小圆点)表示上一级目录2024/11/2985特殊目录ls命令是linux下最常用的命令。ls命令就是list的缩写,默认情况下使用ls用来打印出当前目录的列表,如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹列表。通过ls命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限),查看目录信息等等。ls命令在日常的linux操作中使用得比较多了。典型用法ls–a查看隐藏文件2024/11/2986ls命令创建目录mkdir
xxxxmkdir-pabc/def一次可以建立包含子目录的目录2024/11/2987mkdir命令删除目录目录必须为空才能删除2024/11/2988rmdir命令新建一个不存在的文件2024/11/2989touch命令删除一个目录中的一个或多个文件或目录rm*-rf不确认直接删除文件或目录(慎用)2024/11/2990rm命令复制文件或者目录,使用-r参数时会复制子目录cpros.zipaaacp–raaa/bbbccc/ddd2024/11/2991cp命令移动文件或者目录,使用-r参数时会移动子目录,如果移动后的名称与之前不同,相当于改名mvros.zipaaamv–r/aaa/bbb/ccc/ddd2024/11/2992mv命令
查看文件内容(文本文件)2024/11/2993cat命令查看文件内容
查看文件内容(文本文件)2024/11/2994cat命令查看文件内容Linux系统文件与目录管理2
查看文件内容查找文件内容重定向与管道2024/11/2996任务
cat
命令查看文件内容(文本文件)2024/11/2997查看文件内容less一次显示一屏内容每按一次空格键就显示下一屏内容,直至文件显示完成,可以通过上下箭头逐行显示,如果中途要退出显示,按q键适用于文件内容多一次显示不完2024/11/2998查看文件内容head查看文件开头(默认前10行),也可以加参数指定显示多少行2024/11/2999查看文件内容tail命令-查看文件末尾(默认后10行),也可以加参数指定显示多少行2024/11/29100查看文件内容wc命令文件内容统计(行数、单词数、字符数)2024/11/29101文件内容统计grep命令,用于在文件中搜索指定的字符典型用法命令grep-nImageROS_message.txt在文件中查找有“Image”的行并显示行号2024/11/29102查找文件内容命令grep“Image”~/*.txt查找当前/目录下所有“.txt”文件中包含“Image”的内容2024/11/29103查找文件内容history查看命令历史记录2024/11/29104查看命令历史记录1、在命令后加–-help参数2024/11/29105查看命令帮助2、help命令
(查看内部命令)2024/11/29106查看命令帮助3、使用man命令查看命令的帮助手册2024/11/29107查看命令帮助Linux标准输入设备:键盘Linux标准输出设备:屏幕重写向:改变标准的输入和输出为其他实现方法:使用重写向符号通常情况:重定向的目标为文件2024/11/29108重定向将命令中接收输入的途径由默认的键盘重写向为指向文件操作符:“<”示例:将文件ROS_message.txt中的内容重定向到wc命令统计2024/11/29109输入重定向输出重定向使用更频繁将命令的输出结果(显示在屏幕上的内容)重定向到一个文件中示例:将history命令(查看历史命令)的结果输出到文件中2024/11/29110输出重定向示例:使用cat命令与>
创建文件并输入内容输入完成后按ctrl+d,输入的内容将会存入文件list1中2024/11/29111输出重定向操作符:“>”覆盖,清除原有文件内的内容“>>”追加,在文件的末尾增加内容2024/11/29112命令说明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将开始标记tag和结束标记tag之间的内容作为输入。输出重定向典型用法echo
命令在标准输出上显示文本,与>(输出重定向)结合使用后常用于向文件中添加字符2024/11/29113输出重定向sort命令用于排序1、对键盘输入的内容排序输入sort命令后,输入字符,以回车键结束,输入多行字符后,按ctrl+d结束后,按升序排列输入的内容2024/11/29114排序sort命令用于排序2、对文件内容排序使用输入重定向可以对文件内容排序2024/11/29115排序Linux使用竖线|连接多个命令,|称为管道符。Linux管道的具体语法格式如下:command1|command2command1|command2[|commandN...]当在两个命令之间设置管道时,管道符|左边命令的输出就变成了右边命令的输入。只要第一个命令向标准输出写入,而第二个命令是从标准输入读取,那么这两个命令就可以形成一个管道。大部分的Linux命令都可以用来形成管道。2024/11/29116管道下列命令查看文件内容并排序2024/11/29117管道使用vi编辑器
Vim比vi功能更强大,主要特点如下:在vi里,按u只能撤消上次命令,而在vim里可以无限制的撤消。vi只能运行于unix中,而vim不仅可以运行于unix,windows,mac等多操作平台。vim可以用不同的颜色来加亮代码。vim不仅可以在终端运行,也可以运行于xwindow、macos、windows窗口运行。对vi的完全兼容,通常可以把vim当成vi来使用。2024/11/29119Linux使用vi编辑器编辑文本文件插入模式、命令模式、末行模式插入模式:在此模式下可以输入字符,按ESC将回到命令模式。
命令模式:可以移动光标、删除字符等。
末行模式:可以保存文件、退出vi、设置vi、查找等功能(末行模式也可以看作是命令模式里的)。
2024/11/29120vim工作模式插入模式、命令模式、末行模式默认进入命令模式,在命令模式下,按”i”键进入插入模式,在插入模式下,按”ESC”退出插入模式,进入到命令模式2024/11/29121vim
模式切换进入插入模式:INSER-退出插入模式,进入命令模式2024/11/29122进入命令模式2024/11/29123进入插入模式(1)新增(append)a
在光标后增加A
在光标所在行的最后开始增加(2)插入(insert)i
在光标位置前插入I
在光标所在行第一个非空字符前插入(3)删除(delete)x
每按一次,删除光标后面一个字符,X
删除光标前面一个字符。2024/11/29124常用操作(4)整行操作dd
删除整行yy
复制整行D
删除光标到本行结束的字符p
放置(粘贴)使用
、
、
、
、home、end、pageup、pagedown,可以快速移动光标到需要编辑的地方2024/11/29125常用操作(5)文件指令(在编辑按esc后输入下列指令):q
结束编辑:q! 不存盘退出:wq 存盘退出:setnu
显示行号
:setnonu
不显示行号:w
表示保存该文件,但不退出编辑器:w! 表示强制保存该文件,不退出编辑器:wq
表示保存文件并退出vim编辑器:wq! 表示强制保存文件并退出vim编辑器2024/11/29126常用操作文件权限
通配符*代表文件(或目录)名称中的一个或多个字符,表示任意长度的任意字符。例如,在mydir目录中,输入:lslist*表示从字符list开始列出当前目录中的所有文件。如果输入:ls*list这将列出当前目录中以list结尾的所有文件。通配符??表示匹配一个字符。输入ls?list列出当前目录中任意字符开头,以list结尾的所有文件2024/11/29128通配符Linux把目录看成是一种特殊的文件类型。因此,命名文件的规则和约定适用于目录。在命名文件时,应避免使用具有特殊含义的字符,例如/*和%。另外,避免在名称中使用空格。比较好的命名文件的方法是仅使用字母数字字符(即字母和数字)以及_(下划线)和.(点)
文件名通常以小写字母开头,并以点号结尾,后跟一组表示文件内容的字母。例如,所有由C代码组成的文件都可以以.c结尾,例如prog1.c。然后,要列出主目录中所有包含C代码的文件,只需在该目录中输入ls*.c2024/11/29129文件命名linux是多用户分级权限系统,不同用户可以有不同权限,对文件而言有三种权限:写、读、执行。每个文件都有所属的用户,文件调用权限分为三级:文件所有者(Owner)、用户组(Group)、其它用户(OtherUsers)2024/11/29130文件权限第一个字符如果是d表示是一个目录用9个符号表示权限:分别表示文件所属用户、用户所属组、其他用户对该文件的操作权限,w表示写,r表示读,x表示执行第一个字符是-代表这是一个文件通常用rwx用表示读、写、执行权限,文件所有者可以改变文件权限。u表示该文件的拥有者,g表示与该文件的拥有者属于同一个群体(group)者,o表示其他以外的人,a表示这三者皆是。+表示增加权限、-表示取消权限r表示可读取,w表示可写入,x表示可执行改变权限使用命令chmod2024/11/29131改变文件权限符号含义uuserggroupootheraallr读readw写writex执行+增加权限-取消权限示例:将文件file1.txt设为所有人皆可读取 chmodugo+rfile1.txt或者chmoda+rfile1.txt
为ex1.py文件拥有者增加可执行权限 chmodu+xex1.py将当前目录下的所有文件与子目录皆设为任何人可读取 chmod-Ra+r*-R表示对子目录执行相同的操作删除file的所有用户的执行权限 chmoda-xfile2024/11/29132改变文件权限除了用字母表示权限外,也可以用数字表示权限。r=4,w=2,x=1如:rwx权限4+2+1=7如:rw-权限4+2=6如:
r-x权限4+1=5用三个数字,分别表示User、Group、及Other的权限示例:对file的所有者和用户组设置读写权限,其他用户读权限 chmod664file 将当前目录下的所有文件与子目录皆设为任何人可读、可写、可执行
chmod-R777*2024/11/29133改变文件权限chown命令用于改变文件的所有者,利用chown将指定文件的拥有者改为指定的用户或组,chown
需要超级用户root的权限才能执行此命令示例:把/var/log/abc的所有者设置为root chownroot/var/log/abc将文件file1.txt的所有者用户设为ros,用户组为ros chownrunoob:runoobgroupfile1.txt将目录/www/wwwroot的所有者用户设为www,用户组为www chown–Rwww:www/www/wwwroot2024/11/29134改变文件权限进程与系统信息
top命令用于实时显示进程动态杀进程kill进程号2024/11/29136实时显示进程动态显示指定的进程信息top-p201362024/11/29137实时显示进程动态1)ps-a显示现行终端机下的所有程序,包括其他用户的程序。2)ps-A显示所有程序。3)ps-c列出程序时,显示每个程序真正的指令名称,不包含路径,参数或服务标示。4)ps-e此参数的效果和指定"A"参数相同。5)ps-e列出程序时,显示每个程序所使用的环境变量。6)ps-f用ASCII字符显示树状结构,表达程序间的相互关系。7)ps-H显示树状结构,表示程序间的相互关系。8)ps-N显示所有的程序,除了执行ps指令终端机下的程序之外。9)ps-s采用程序信号的格式显示程序状况。10)ps-S列出程序时,包括已中断的子程序资料。11)ps-t<终端机编号>12)ps-uusername以用户为主的格式来显示程序状况。13)psx显示所有程序,不以终端机来区分。2024/11/29138ps查看进程状态最常用的方法是ps-aux,然后再利用一个管道符号grep去查找特定的进程ps-aux|greproscore2024/11/29139ps命令常用形式df命令报告系统的磁盘空间。例如,要查明磁盘上还有多少空间,输入命令
df.2024/11/29140查看磁盘存储空间du命令输出当前目录下各个文件使用KB的数量。如果想要找出哪个目录中的文件最多,输入
du-s*-s参数显示总计,*表示所有文件和目录。2024/11/29141查看磁盘存储空间文件查找比较压缩解压
find命令用于查找文件示例1:查找扩展名为.txt的所有文件,从当前目录(.)开始并遍历所有子目录,find.-name"*.txt"2024/11/29143文件查找find示例2:查找大小超过50Mb的文件find.-size+50M2024/11/29144文件查找find示例3:列出当前目录及其子目录中的所有目录find.-typed示例4:列出当前目录及其子目录中的所有文件find.-typef2024/11/29145文件查找find示例5:列出最近20天内创建的文件find.-ctime202024/11/29146文件查找find示例6:列出最近20天内修改过的文件find.-mtime202024/11/29147文件查找finddiff命令比较两个文件的内容并显示差异,如果两个文件内容相同输出为空difffile1file2c:表示修改a:表示添加d:表示删除字符前的数字表示第一个文件中的行数,字符后的内容表示第二个文件中的行数。<表示第一个文件中的内容,而>表示第二个文件中的内容2024/11/29148比较文件异同diff示例:先建立两个文本文件并输入如图所示字符,然后运行diff命令“1d0”表示第一个文件中的第1行、第二个文件第0行删除后相同“4a4,5”表示第一个文件中第4行追加第二个文件中的第4、第5行后相同2024/11/29149比较文件异同diff示例:改变文件次序,再次运行命令diffb.txta.txt“0a1”表示第一个文件中的第0行追加后第二个文件的第1行后相同“4,5d4”表示第一个文件中第4、第5行与第二个文件中的第4删除后相同2024/11/29150比较文件异同diff加参数y,以并列格式输出diffb.txta.txt-y2024/11/29151比较文件异同diffLinux中,.tar文件是多个文件打包成为的文件,不压缩文件大小示例:tar-cvfmysh.tar*.sh把所有的*.sh文件打包为mysh.tar文件2024/11/29152文件打包与解包解包.tar文件常用的参数为xvf,tar–xvfmysh.tar把刚才打包好的文件解包2024/11/29153文件打包与解包Linux的压缩文件主要格式有.gz和.zip。.gz格式的文件压缩/解压命令为gzip和gunzip。
gzipFileName压缩FileName文件得到压缩后的文件FileName.gz,压缩操作是在FileName文件上进行的,不会生成新的文件,完成后在原文件名后加.gz命名压缩后的文件。由于gzip命令只能压缩文件,不能打包,常用的操作方法时先用tar打包文件或目录,然后用gzip压缩。2024/11/29154文件压缩与解压使用gzip压缩文件使用gunzip解压文件2024/11/29155gzip压缩/gunzip解压文件使用tar加参数zcvf可以一次完成打包压缩文件使用tar加参数zxvf可以一次完成解压解包文件2024/11/29156压缩/解压.tar.gz与.tgz文件.zip格式的压缩文件在Linux和windows系统中都可以被识别将catkin_ws目录下的所有文件和子目录一并压缩生成压缩文件catkin_ws.zipzip-rcatkin_ws.zipcatkin_ws使用unzip解压文件2024/11/29157zip压缩/unzip解压文件.zip格式的压缩文件在Linux和windows系统中都可以被识别当前目录的a.txt和b.txt压缩成为ab.zipzipab.zipa.txtb.txt使用unzip解压文件2024/11/29158zip压缩/unzip解压文件管理软件包
Ubuntu提供了一种中心化的机制用来搜索和安装软件。软件通常存放在存储库中,并通过包的形式对外进行分发。处理包的工作称为包管理。包提供了操作系统的基本组件,以及共享的库、应用程序、服务和文档。这称为软件包管理系统,其除了安装软件外,它还提供了工具来更新已经安装的包。早期Ubuntu使用apt-get命令来管理软件包,在Ubuntu16.04发布时,使用新的包管理命令apt。对软件包的管理多数情况下需要root用户权限,通常在包管理命令apt前加上sudo命令用于提权。2024/11/29160Ubuntu软件包使用下列命令安装zipsudoaptinstallzip2024/11/29161安装软件包使用下列命令移除zipsudoaptremovezip2024/11/29162移除软件包Linux命令操作作业1、建立以“班级号+学生序号”命名的文件夹,并设置文件夹的权限为:宿主用户:rwx组用户:r-x其它用户:然后通过使用重定向命令把设置好权限后“ls-l”命令显示的结果放到文件A01中。2、下载science.txt文件,把其中含有单词“and”的行放到文件A02中,然后用wc统计A02文件并把统计结果追加到A02文件。3、把本机历史命令放到A03文件中,筛选其中使用了ls命令的内容存放到ls.txt文件中、使用了cd命令的内容存放到cd.txt文件。4、确定上述的三个文件都放在已建立的文件夹中,然后把文件夹压缩为zip格式的压缩文件。2024/11/29164作业ROS简介RobotOperationSystem机器人操作系统ROS是一个适用于机器人的开源的元操作系统。它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。它也提供用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数。在某些方面ROS相当于一种“机器人框架/cn/ROS/Introduction2024/11/29166ROS是什么2024/11/29167ROS起源2024/11/29168ROS起源-LTS长期支持版2024/11/29169ROS总体设计2024/11/29170ROS特点2024/11/29171ROS特点2024/11/29172ROS特点2024/11/29173ROS特点2024/11/29174ROS特点2024/11/29175ROS特点2024/11/29176ROS四位一体2024/11/29177ROS计算图2024/11/29178ROS计算图2024/11/29179ROS话题通信2024/11/29180ROS服务通信2024/11/29181ROS参数通信2024/11/29182ROS话题与服务的区别2024/11/29183ROS文件系统2024/11/29184ROS开源社区2024/11/29185ROS系统实现层次快速安装Ubuntu20.04快速安装(1)准备好ubuntu20.04的ISO文件
阿里云:/ubuntu-releases/20.04//download/desktop2024/11/29187在虚拟机中安装ubuntu20.04快速安装(2)创建存放虚拟机文件的文件夹2024/11/29188在虚拟机中安装ubuntu20.04快速安装(3)启动VMware2024/11/29189在虚拟机中安装ubuntu20.04快速安装(4)点击“创建新虚拟机”2024/11/29190在虚拟机中安装ubuntu20.04快速安装(5)在“新建虚拟机向导”页面选中“安装程序光盘映像文件”并指定为第(1)步中ubuntu20.04ISO文件2024/11/29191在虚拟机中安装ubuntu20.04快速安装(6)点击“下一步”按钮后设置用户名和密码2024/11/29192在虚拟机中安装ubuntu20.04快速安装(7)点击“下一步”按钮后设置“虚拟机名称”、指定虚拟机存放的位置为第(2)步中创建的文件夹2024/11/29193在虚拟机中安装ubuntu20.04快速安装(8)点击“下一步”按钮后选中“将虚拟磁盘存储为单个文件”2024/11/29194在虚拟机中安装ubuntu20.04快速安装(9)点击“下一步”,然后点击“完成”按钮完成设置开始安装2024/11/29195在虚拟机中安装ubuntu20.04快速安装(10)断开虚拟机的网络连接,加快安装速度(约5-10分钟)2024/11/29196在虚拟机中安装ubuntu20.04快速安装(10)断开虚拟机的网络连接,加快安装速度(约5-10分钟)2024/11/29197在虚拟机中安装ubuntu20.04常规安装ubutnu20.04常规安装(1)-(4)步与快速安装相同(5)选中“稍后安装操作系统”2024/11/29199在虚拟机中安装ubuntu20.04常规安装(6)默认设置2024/11/29200在虚拟机中安装ubuntu20.04常规安装(7)设置“虚拟机名称”和保存位置2024/11/29201在虚拟机中安装ubuntu20.04常规安装(8)点击“下一步”按钮后选中“将虚拟磁盘存储为单个文件”2024/11/29202在虚拟机中安装ubuntu20.04常规安装(9)完成设置2024/11/29203在虚拟机中安装ubuntu20.04常规安装(10)指定安装ubuntu的ISO文件2024/11/29204在虚拟机中安装ubuntu20.04常规安装(11)启动虚拟机2024/11/29205在虚拟机中安装ubuntu20.04常规安装(12)启动虚拟机2024/11/29206在虚拟机中安装ubuntu20.04常规安装(13)关闭虚拟机网络(加快安装速度)2024/11/29207在虚拟机中安装ubuntu20.04常规安装(14)设置安装界面为中文,键盘布局为English(US)2024/11/29208在虚拟机中安装ubuntu20.04常规安装(15)不能显示“继续”按钮方法(由于vmtools工具没有安装,虚拟机桌面不能自动调整分辨率,“继续”按钮不能显示)方法:按住windows键+鼠标左键拖动窗口空白地方可显示出按钮2024/11/29209在虚拟机中安装ubuntu20.04常规安装(16)选中最小安装2024/11/29210在虚拟机中安装ubuntu20.04常规安装(17)通过Tab键点击“继续”按钮2024/11/29211在虚拟机中安装ubuntu20.04常规安装(18)点击“继续”按钮2024/11/29212在虚拟机中安装ubuntu20.04常规安装(19)指定时区2024/11/29213在虚拟机中安装ubuntu20.04常规安装(20)设置用户密码2024/11/29214在虚拟机中安装ubuntu20.04常规安装(21)正式开始安装(约3分钟)2024/11/29215在虚拟机中安装ubuntu20.04常规安装(22)按下回车键,重启虚拟机2024/11/29216在虚拟机中安装ubuntu20.04安装terminator、ssh、net-tools参考课堂演示,也可以后再安装sudoaptupdatesudoaptinstallnet-toolssudoaptinstallssh2024/11/29217在虚拟机中安装ubuntu20.04安装vmtools参考教材安装如果安装VMwaretools后如果不能在计算机和虚拟机之间实现文本与文件双向的复制粘贴,打开终端窗口,依次运行下列命令:sudoaptupdatesudoaptinstall-fsudoaptinstallopen-vm-tools-desktop重启Ubuntu后即可2024/11/29218在虚拟机中安装ubuntu20.04安装ROS(noetic)1、配置软件和更新2024/11/29220在ubuntu20.04中安装ROS(noetic)121、配置软件和更新2024/11/29221在ubuntu20.04中安装ROS(noetic)2、设置安装源(中科大源)2024/11/29222在ubuntu20.04中安装ROS(noetic)3、添加sources.list和设置key(可复制命令在虚拟机中执行)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、更新安装信息(时间较长,如果安装失败可重复执行直到成功)sudoaptupdate&&sudoaptupgrade输入y继续安装2024/11/29224在ubuntu20.04中安装ROS(noetic)5、安装ROS桌面完整版(时间较长,如果安装失败可重复执行直到成功)sudoaptinstallros-noetic-desktop-full输入y继续安装2024/11/29225在ubuntu20.04中安装ROS(noetic)6、配置环境变量配置环境变量,方便在终端中运行ROS命令和程序。echo"source/opt/ros/noetic/setup.bash">>~/.bashrc2024/11/29226在ubuntu20.04中安装ROS(noetic)7、安装构建依赖相关工具sudoaptinstallpython3-rosdeppython3-rosinstallpython3-rosinstall-generatorpython3-wstoolbuild-essentialpython3-roslaunch2024/11/29227在ubuntu20.04中安装ROS(noetic)8、初始化rosdep(大概率失败)sudorosdepinit#初始化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)删除之前的列表文件(可选,如果没有该文件就不执行)sudorm-f/etc/ros/rosdep/sources.list.d/20-default.list2024/11/29231在ubuntu20.04中安装ROS(noetic)9、初始化rosdep操作失败,使用以下方法(4)运行下列命令初始化rosdep(使用替代站点)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、测试ROS关闭当前终端,重新开三个终端窗口运行下列命令roscorerosrunturtlesimturtlesim_noderosrunturtlesimturtle_teleop_key2024/11/29234在ubuntu20.04中安装ROS(noetic)安装集成开发环境(vscode)1.下载VScode/Download2024/11/29236安装VScode集成开发环境2.安装VScodesudodpkg-icode_1.65.2-1646927742_amd64.deb(根据下载的文件名,使用tab健自动补全)2024/11/29237安装VScode集成开发环境3.启动VScode,安装插件code.2024/11/29238安装VScode集成开发环境3.启动VScode,安装插件(需联网)2024/11/29239安装VScode集成开发环境1.点击插件图标2.输入要安装的插件名3.启动VScode,安装插件(需联网)一共需安装5个插件Chinese(Simplified)(简体中文)LanguagePackforVisualStudioCodeC/C++CMakeToolsPythonROS2024/11/29240安装VScode集成开发环境3.启动VScode,安装插件(需联网)启用中文语言包插件Chinese(Simplified)(简体中文)LanguagePackforVisualStudioCode后,vscode的界面为中文2024/11/29241安装VScode集成开发环境安装ROS集成开发环境安装ROS集成开发环境主要包括以下部分:1、使用vmwareplayer虚拟机软件个人版安装ubuntu20.042、在ubuntu20.04虚拟机中安装ROS(noetic)3、在已安装好ROS的ubuntu虚拟机中安装vscode(包括必要插件)把安装过程的截图存放到word文档中上传,截图必须是电脑屏幕的全屏截图。2024/11/29243安装ROS集成开发环境ROS文件系统与包管理
一、ROS文件系统
二、ROS包管理
三、操作示例2024/11/29245ROS文件系统一、ROS文件系统ROS的工程结构,也就是ROS的文件系统结构,是ROS软件开发项目的组织形式2024/11/29247ROS文件系统也叫catkin工作空间Catkin工作空间是创建、修改、编译catkin软件包的目录。catkin的工作空间,里面存放着ROS的各种项目工程,便于系统组织管理调用。在可视化图形界面里是一个文件夹。build和devel目录由catkin系统自动生成、管理,我们日常的开发一般不会去涉及2024/11/29248ROS工作区/工作区开发中主要用到的是src文件夹我们编写的ROS程序、网上下载的ROS源代码包都存放在这里。在编译时,catkin编译系统会递归的查找和编译src/下的每一个源代码包因此也可以把几个源代码包放到同一个文件夹下2024/11/29249ROS工作空间/工作区mkdir-p~/mycatkin_ws/srccd~/mycatkin_wscatkin_makesource~/mycatkin_ws/devel/setup.bash
第一行代码直接创建了第二层级的文件夹src,这也是存放ROS软件包的地方。第二行代码进入工作空间第三行代码执行catkin_make初始化(编译软件包)catkin_make必须在工作空间目录执行,在其他路径下编译不会成功
第四行代码刷新环境,使得系统能够找到刚才编译生成的ROS可执行文件一般紧跟着要source刷新环境,这个细节比较容易遗漏,致使后面出现可执行文件无法打开等错误
2024/11/29250创建并初始化ROS工作空间一个软件包(package)下常见的文件、路径有:
├──CMakeLists.txt #package的编译规则(必须)
├──package.xml #package的描述信息(必须)
├──src/ #源代码文件
├──include/ #C++头文件
├──scripts/ #可执行脚本
├──msg/ #自定义消息
├──srv/ #自定义服务
├──models/ #3D模型文件
├──urdf/ #urdf文件
├──launch/ #launch文件2024/11/29251软件包(package)结构一个软件包(package)下常见的文件、路径有:
├──CMakeLists.txt #软件包的编译规则(必须)
├──package.xml #软件包的描述信息(必须)最简单的包只有这两个文件
2024/11/29252软件包(package)结构CMakeLists.txt文件规定了这个软件包(package)要依赖哪些软件包(package),要编译生成哪些目标,如何编译等等流程。
CMakeLists.txt非常重要!!!它指定了由源码到目标文件的规则,catkin编译系统在工作时首先会找到每个软件包(package)下的CMakeLists.txt,然后按照规则来编译构建。必须掌握CMakeLists.txt基本修改方法!!!通常的做法是在系统生成的模板文件上修改2024/11/29253CMakeLists.txt文件cmake_minimum_required() #CMake的版本号
project() #项目名称
find_package() #找到编译需要的其他package
catkin_python_setup() #打开catkin的PythonModule的支持
add_message_files() #添加自定义Message文件
add_service_files()
#添加自定义Service文件
add_action_files() #添加自定义Action文件
generate_message() #生成不同语言版本的msg/srv/action接口
catkin_package() #生成当前package的cmake配置,供依赖本包的其他
软件包调用
add_library() #生成库
add_executable() #生成可执行二进制文件
add_dependencies()
#定义目标文件依赖于其他目标文件,确保其他目
标已被构建
target_link_libraries() #链接
catkin_add_gtest() #生成测试
install()
#安装至本机
2024/11/29254CMakeLists.txt写法package.xml也是一个catkin的package必备文件,它是这个软件包的描述文件。2024/11/29255package.xmlpacakge.xml包含了package的名称、版本号、内容描述、维护人员、软件许可、编译构建工具、编译依赖、运行依赖等信息。
实际上rospackfind、rosdep等命令之所以能快速定位和分析出package的依赖项信息,就是直接读取了每一个pacakge中的package.xml文件。它为用户提供了快速了解一个pacakge的渠道。
2024/11/29256package.xml的作用二、ROS包管理命令rospack获取软件包的有关信息。在本教程中,我们只涉及到rospack中find参数选项,该选项可以turtlesim用法:#rospackfind[包名称]示例:$rospackfindroscpp返回软件包的路径信息2024/11/29258使用rospackroscd进入ros软件包目录用法:#roscd
cd[包名称]示例:$roscdroscpp进入软件包的路径2024/11/29259使用roscdrosls列出软件包的文件信息用法:#rosls[包名称]示例:$rosls
turtlesim返回软件包的路径信息2024/11/29260使用rosls三、操作示例2024/11/29262示例一创建ROS工作空间如果catkin_ws目录已经存在,先删除mkdir-p~/mycatkin_ws/srccd~/mycatkin_wscatkin_makesource~/mycatkin_ws/devel/setup.bashecho“source~/mycatkin_ws/devel/setup.bash”>>~/.bashrc2024/11/29263示例二导入ros软件包1、创建工作空间2、下载软件包(http://www.yzyfine.top/download/turtlesim.zip)3、放入工作空间的src目录并解压4、在工作空间运行catkin_make命令编译工作空间下的软件包5、刷新环境变量source~/mycatkin_ws/devel/setup.bash6、运行()roscorerosrunturtlesimturtlesim_noderosrunturtlesimdraw_square2024/11/29264示例三VScode编写python测试程序1、进入前面已经创建的工作空间mycatkin_wscd~/mycatkin_ws2、启动vscodecode.3.编写测试程序操作演示(1)创建包指定包名test,指定依赖roscpprospystd_msgs(2)创建scripts文件夹(存放python文件)2024/11/29265示例三VScode编写python测试程序3.编写测试程序操作演示(3)创建pyth
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024仪器仪表格销售合同
- 2024机房项目锅炉供货安装合同
- 2024带家电房屋租赁合同版
- 2024传媒公司员工劳动合同文档模板
- 子宫平滑肌瘤护理查房
- 心机健康教育主题班会
- 2024混凝土泵车租赁合同
- 湖北大学知行学院《房屋建筑学》2022-2023学年第一学期期末试卷
- 呼伦贝尔学院《虚拟化技术》2021-2022学年第一学期期末试卷
- 呼伦贝尔学院《蒙汉翻译基础》2021-2022学年第一学期期末试卷
- 二年级上册音乐课件-第7课《小花雀》|花城版 (共12张PPT)
- 2022年医院科教科工作计划
- 幼儿园警察职业介绍(课堂PPT)
- 初中难度几何100题
- 消防维保公司管理制度消防维保管理制度范本.doc
- 经尿道前列腺电切术的手术护理-经尿道前列腺电切术护理问题
- 防爆柜使用说明书课件
- 轴承压装力计算软件
- 家庭装修预算模板
- 信用卡中心司法催收律师事务所服务方案
- 校长在上级领导检查指导工作会议上的汇报发言
评论
0/150
提交评论