![智能机器人创新实践 课件全套 第1-8章 绪论、Linux操作系统安装与基本操作-移动机器人视觉追踪_第1页](http://file4.renrendoc.com/view10/M03/26/2D/wKhkGWVy04SAX46MAACZ8tfbGQw306.jpg)
![智能机器人创新实践 课件全套 第1-8章 绪论、Linux操作系统安装与基本操作-移动机器人视觉追踪_第2页](http://file4.renrendoc.com/view10/M03/26/2D/wKhkGWVy04SAX46MAACZ8tfbGQw3062.jpg)
![智能机器人创新实践 课件全套 第1-8章 绪论、Linux操作系统安装与基本操作-移动机器人视觉追踪_第3页](http://file4.renrendoc.com/view10/M03/26/2D/wKhkGWVy04SAX46MAACZ8tfbGQw3063.jpg)
![智能机器人创新实践 课件全套 第1-8章 绪论、Linux操作系统安装与基本操作-移动机器人视觉追踪_第4页](http://file4.renrendoc.com/view10/M03/26/2D/wKhkGWVy04SAX46MAACZ8tfbGQw3064.jpg)
![智能机器人创新实践 课件全套 第1-8章 绪论、Linux操作系统安装与基本操作-移动机器人视觉追踪_第5页](http://file4.renrendoc.com/view10/M03/26/2D/wKhkGWVy04SAX46MAACZ8tfbGQw3065.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能机器人创新实践
第一章绪论
1绪论2机器人的定义古代机器人简介近代机器人简介现代机器人简介机器人关键技术与产业链机器人平台简介AI开发平台简介1.机器人的定义机器人形象和机器人(Robot)一词,最早出现在科幻和文学作品中。1920年,捷克作家卡雷尔·卡佩克发表了一部名为《罗萨姆的万能机器人》的剧本。作者根据小说中Robota(捷克文,原意为“劳役、苦工”)和Robotnik(波兰文,原意为“工人”)创造出“Robot这个词。341.机器人的定义1950年,科幻小说家艾萨克·阿西莫夫在小说《我,机器人》中设立了著名的“机器人学的三大法则”,规定所有机器人必须遵守:机器人不得伤害人类,且确保人类不受伤害在不违背第一及第二法则的前提下,机器人必须保护自己在不违背第一法则的前提下,机器人必须服从人类的命令1965年的阿西莫夫51.机器人的定义中国学术组织与人或生物相似的智能能力高度灵活性的自动化机器美国机器人工业协会日本工业机器人协会国际标准化组织通过可编程动作来执行各种任务具有编程能力的多功能操作机记忆装置和末端执行器通过自动化的动作而代替人类劳动的通用机器通过编程和自动控制来执行任务的机器62.古代机器人简介木鸟东汉时期,张衡发明了测量路程用的“计里鼓车”。该车上装有木人、鼓和钟,每走1里,击鼓1次,每走10里击钟一次。三国蜀汉时期,诸葛亮创造出的“木牛流马”可以运送军用物资。这也许是最早的陆地军用机器人。记里鼓车春秋时代后期,鲁班利用竹子和木料制造出一个木鸟,它能在空中飞行,“三日不下”,被称为世界上第一个空中飞行机器人。木牛流马72.古代机器人简介公元前3世纪,古希腊发明家戴达罗斯用青铜为克里特岛国王迈诺斯塑造了一个守卫宝岛的青铜卫士塔罗斯青铜卫士塔罗斯亚历山大时代的古希腊希罗发明了以水、空气和蒸汽压力为动力的机械玩具,它可以自己开门,还可以借助蒸汽唱歌,如气转球、自动门希罗气转球机器鸭法国的天才技师杰克·戴·瓦克逊于1738年发明了一只机器鸭。它会游泳、喝水、吃东西和排泄,还会嘎嘎叫83.近代机器人简介1954年,美国人乔治·德沃尔(G.C.Devol)制造出世界上第一台可编程的机器人。当年,他提出了“通用重复操作机器人”的方案。第一代可编程机器人1959年,乔治·德沃尔与美国发明家约瑟夫·英格伯格(“工业机器人之父”)联手成立了世界上第一家机器人制造工厂——Unimation公司1961年,第一台现代意义的工业机器人FirstUnimateArm在GeneralMotors总装厂亮相1978年,美国Unimation公司推出通用工业机器人PUMA,这标志着工业机器人技术已经成熟。在过去的30到40年间,机器人获得引人注目的发展。具体体现在:机器人产业在全世界迅速发展;机器人的应用范围遍及工业、科技和国防的各个领域;形成了新的学科——机器人学;机器人向智能化方向发展;服务机器人成为机器人的新秀而迅猛发展。94.现代机器人简介现代机器人工业机器人服务机器人特种机器人104.现代机器人简介114.现代机器人简介125.机器人关键技术与产业链控制器减速器伺服电机传感器末端执行器上游零部件家庭服务医疗服务酒店餐饮零售批发特种安防仓储物流航空航天石油化工食品饮料精准农业汽车制造电子制造下游应用机器人生产与集成环境交互系统人机交互系统感知系统驱动系统控制系统机械系统本体制造系统集成玛垛机器人喷涂机器人搬运机器人装配机器人分拣机器人检测机器人工业机器人特种服务机器人公共服务机器人个人/家庭服务机器人服务机器人机器人产业链机器人关键技术共性技术系统开发技术操作系统技术模块化与重构技术前沿技术人机自然交互技术生机电融合技术仿生感知与认知技术安装带舵机末端套件的笛卡尔坐标系安装带舵机末端套件的关节坐标系1.Dobot魔术师机器人Dobot魔术师机器人是越疆科技研发的一款桌面级智能机械臂。机器人由底座、大臂、小臂、末端工具等组成。读者可以在越疆科技的官网(/)了解关于Dobot魔术师机器人的更多信息。1.1Dobot魔术师机器人的坐标系136.机器人平台简介关节坐标系是以各个运动关节作为参照来确定的坐标系。若未安装带舵机的末端套件,它包含三个关节:J1、J2、J3,且均为旋转关节,逆时针旋转为正;若安装了,如吸盘和夹爪套件,则包含四个关节:J1、J2、J3、J4,同样是旋转关节,逆时针为正。笛卡尔坐标系是以机械臂底座为参照确定的坐标系。其原点为大臂、小臂以及底座三个电机三轴的交点。X轴方向垂直于固定底座向前;Y轴方向垂直于固定底座向左;Z轴方向符合右手定则,垂直向上为正方向。当安装了带舵机的末端套件时,存在R轴。R轴为末端舵机中心相对于原点的姿态,逆时针为正。R轴坐标为J1轴和J4轴坐标之和。1.2Dobot魔术师机器人的运动学分析146.机器人平台简介Dobot魔术师机器人的D-H参考坐标系LOidiaiαi1O1d10-(2π/3)2O20a203O30a304O4000Dobot魔术师机器人的D-H参数表B逆运动学分析逆运动学问题就可以描述成:给定齐次变换矩阵X∈SE(3),找出满足T(O)∈X的关节角OO1=tan-1(Py/Px),O2=arctan(sinO2/cosO2),O3=arctan(sinO3/cosO3),O4=-(O2+O3)A正运动学分析机器人的正运动学(ForwardKinematics)是指已知关节坐标,求解末端的位置和姿态。通过正弦余弦变换进行表示:c1=cosO1,c2
=cosO2,c3
=cosO3,s1
=sinO1,s2
=sinO2,s3
=sinO3,s23
=sin(O2+O3),c23
=cos(O2+O3)
机械臂运动多解情况DashGOD1机器人底盘结构2.DashGOD1智能移动平台简介156.机器人平台简介DashGOD1智能移动平台外观DashGOD1智能移动平台是EAI越登智能研制的一款科教级移动平台。读者可以在EAI越登智能的官网(/)了解关于DashGOD1智能移动平台的更多信息。运动状态及纠偏示意图2.1控制两个驱动轮的转向和转速来控制机器人的方向与速度,实现机器人的各种运动形式的控制。辅助轮为万向轮,它起到了支撑车体和导向的作用;两个驱动轮分别由两个独立的直流有刷电机来提供动力进行驱动。
167.AI开发平台简介AI是ArtificialIntelligence(人工智能)的英文缩写。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。AI领域的热点研究对象包括机器人、语言识别、图像识别、自然语言处理等。EasyDL是基于飞桨开源深度学习平台,面向企业AI应用开发者提供零门槛AI开发平台。EasyDL是EasyDeepLearning的缩写。它是一个零门槛AI开发平台,让没有AI开发经验的人(并不仅仅是程序员)和有AI开发经验、但希望更轻松使用AI能力的人,都可以便捷的使用这个平台,开发出自己需要的AI应用。EasyDL提供一站式的智能标注、模型训练、服务部署等全流程功能,内置丰富的预训练模型,支持公有云、设备端、私有服务器、软硬一体方案等灵活的部署方式。读者可以在EasyDL零门槛AI开发平台的官网(/easydl/)了解关于EasyDL平台的更多信息。EasyDL的技术方向与模型类型:177.AI开发平台简介技术方向模型类型EasyDL图像图像分类、物体检测、图像分割EasyDL文本文本分类-单标签、文本分类-多标签、文本实体抽取、情感倾向分析、短文本相似度EasyDL语音语音识别、声音分类EasyDLOCR文字识别EasyDL视频视频分类、目标跟踪EasyDL结构化数据表格预测EasyDL模型效果的评价指标18
7.AI开发平台简介指标含义准确率图像分类/文本分类/声音分类等分类模型的衡量指标,正确分类的样本数与总样本数之比,越接近1模型效果越好F1-score对某类别而言为精确率和召回率的调和平均数,对图像分类/文本分类/声音分类等分类模型来说,该指标越高效果越好精确率(Precision)对某类别而言为正确预测为该类别的样本数与预测为该类别的总样本数之比。召回率(Recall)对某类别而言为正确预测为该类别的样本数与该类别的总样本数之比。top1、top2…top5在查看图像分类/文本分类/声音分类/视频分类模型评估报告中,top1-top5指的是针对一个数据进行识别时,模型会给出多个结果,top1为置信度最高的结果、top2次之…正常业务场景中,我们通常会采信置信度最高的识别结果,重点关注top1的结果即可。mAPmAP(meanaverageprecision)是物体检测(ObjectDetection)算法中衡量算法效果的指标。对于物体检测任务,每一类object都可以计算出其精确率(Precision)和召回率(Recall),在不同阈值下多次计算/试验,每个类都可以得到一条P-R曲线,曲线下的面积就是average。阈值物体检测模型会存在一个可调节的阈值(threshold),是正确结果的判定标准,例如阈值是0.6,置信度大于0.6的识别结果会被当作正确结果返回。每个物体检测模型训练完毕后,可以在模型评估报告中查看推荐阈值,在推荐阈值下F1-score的值最高197.AI开发平台简介EasyDL的模型部署方式模型部署方式调用方法公有云API模型部署为RestfulAPI,可以通过HTTP请求的方式进行调用。设备端SDK模型部署为设备端SDK,可集成在前端智能计算硬件设备中,可完全在无网环境下工作,所有数据皆在设备本地运行处理。目前支持IOS、ANDROID、WINDOWS、LINUX四种操作系统及多款主流智能计算硬件。本地服务器部署模型部署为本地服务器部署,可获得基于定制EasyDL模型封装而成的本地化部署的方案,此软件包部署包开发者本地的服务器上运行能够得到与在线API功能完全相同的接口。软硬一体方案目前EasyDL支持两款软硬一体硬件,包括EasyDL-EdgeBoard软硬一体方案及EasyDL-十目计算卡。通过在AI市场购买,可获得硬件+专项适配硬件的设备端SDK,支持在硬件中离线计算。模型部署方式调用方法公有云API模型部署为RestfulAPI,可以通过HTTP请求的方式进行调用。谈谈什么是机器人?思考机器人专业与传统理工专业的区别(如:数学、物理、机械、计算机等)。直流有刷电机内部结构。DashGOD1移动平台硬件层主要由哪些模块组成?20课后习题21感谢聆听有什么问题吗?智能机器人创新实践
第二章Linux操作系统安装与基本操作
22231.虚拟机安装2.Ubuntu安装3.Linux基本指令2.1虚拟机安装第1步:下载Vmware下载地址:/cn/products/workstation-pro/workstation-pro-evaluation.html下载合适版本(Windows系统选1,Linux系统选2)百度网盘中提供Windows版本安装包。2425第2步:下载完后,双击安装包安装,点击【下一步】。2.1虚拟机安装262.1虚拟机安装第3步:勾选我接受许可协议中的条款,再点击【下一步】。272.1虚拟机安装第4步:更改虚拟机安装位置(不建议安装在C盘),再点击【下一步】。282.1虚拟机安装第5步:更改用户体验设置,取消勾选启动时检查产品更新和加入客户体验提升计划,再点击【下一步】。292.1虚拟机安装第6步:点击【下一步】,再点击【安装】。302.1虚拟机安装第7步:点击【许可证】。312.1虚拟机安装第8步:输入许可证(许可证建议购买正版),点击【输入】。322.1虚拟机安装第9步:点击【完成】,并重启电脑。332.1虚拟机安装第10步:更改虚拟机的默认位置,双击桌面【VMwareWorkstationPro】图标启动软件,并点击【编辑】中的【首选项】。342.1虚拟机安装第11步:更改虚拟机的默认位置,建议放在与你的虚拟机安装位置一样,不推荐放到C盘,然后点击【确定】。352.1虚拟机安装第12步:安装完成。362.2Ubuntu安装第1步:打开虚拟机->文件->新建虚拟机,或者直接点击主页【创建新的虚拟机】。372.2Ubuntu安装第2步:选择自定义(高级),然后点击【下一步】。382.2Ubuntu安装第3步:选择虚拟机硬件兼容性,默认即可,然后点击【下一步】。392.2Ubuntu安装第4步:选择【稍后安装操作系统】,再选择虚拟机中将安装的操作系统类型,这里选Linux即可,然后点击【下一步】。402.2Ubuntu安装第5步:虚拟机命名并保存,然后点击【下一步】。412.2Ubuntu安装第6步:自定义虚拟机配置,处理器、内存按需配置,但最大要小于电脑内存2G,然后点击【下一步】。422.2Ubuntu安装第7步:网络类型选择NAT即可,然后点击【下一步】。432.2Ubuntu安装第8步:I/O控制器类型以及磁盘类型默认即可,然后点击【下一步】。442.2Ubuntu安装第9步:选择磁盘选择创建新虚拟磁盘即可,然后点击【下一步】。452.2Ubuntu安装第10步:磁盘容量按需分配,这里指定80G,然后点击【下一步】。462.2Ubuntu安装第11步:指定磁盘文件默认即可,然后点击【下一步】,再点击【完成】后创建虚拟机。472.2Ubuntu安装第12步:点击完成后,我们可以看到新创建的虚拟机,点击【编辑虚拟机设置->CD/DVD】或者直接点击【CD/DVD】,选择使用ISO映像文件,然后选择Ubuntu镜像文件,百度网盘中提供了Ubuntu-18.04.6版本,也可以去官网下载。482.2Ubuntu安装第13步:点击【开启此虚拟机】。492.2Ubuntu安装第14步:先选择【中文(简体)】,然后点击【安装Ubuntu】(英语好的可以默认选择【English】)。502.2Ubuntu安装第15步:选择键盘布局,选择默认的Chinese即可,然后点击【继续】。512.2Ubuntu安装可能出现的错误:如果安装界面下面显示不全,可以先叉掉安装界面,然后在左下角的九宫格->设置->显示器->分辨率,把分辨率改为1024×768(4:3),然后点击Ubuntu桌面的安装Ubuntu18.04.6LTS继续安装。522.2Ubuntu安装第16步:更新和其它软件选择【正常安装】,然后点击【继续】。532.2Ubuntu安装第17步:安装类型选择【其他选项】,然后点击【继续】。542.2Ubuntu安装第18步:调整分区1.第一个分区:挂载点:/boot(新分区的类型:主分区用于:Ext4日志文件系统)作用:启动目录,开机启动所需目录。Linux的内核及引导系统程序所需要的文件,比如vmlinuzinitrd.img文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录。大小一般在200M-2G,最好不要低于200M。552.2Ubuntu安装创建/boot分区,先选中1处的空闲,再点击2处的+,在弹出的界面修改大小和挂载点,大小这里给了1G左右,挂载点选择/boot,然后点击【OK】。562.2Ubuntu安装第18步:调整分区第二个分区:swap分区
(新分区的类型:逻辑分区用于:交换空间)作用:虚拟内存,电脑内存多大给多大,用于演示的电脑内存为8G,因此这里选为8G。第三个分区:根分区,挂载点:/(新分区的类型:主分区用于:Ext4日志文件系统)作用:安装系统和软件,相当于windows的C盘,里面包含用户工作目录/home,前面分区完后剩多少给多少572.2Ubuntu安装创建swap交换分区,先选中1处的空闲,再点击2处的+,在弹出的界面修改大小和用于,大小这里给了8G左右,用于选择交换空间,然后点击【OK】。582.2Ubuntu安装创建根分区,先选中1处的空闲,再点击2处的+,在弹出的界面修改挂载点,大小这里剩多少给多少,挂载点选择/,然后点击【OK】。592.2Ubuntu安装第19步:调整【安装启动引导器的设备】,选择刚刚创建的/boot分区,然后点击【现在安装】,在弹出界面点击【继续】。602.2Ubuntu安装第20步:时区选择【上海】,点击【继续】,然后填写个人信息,密码不建议太长,因为Ubuntu系统中会常用到密码。612.2Ubuntu安装第21步:等待安装,安装完成后点击【现在重启】。622.3Linux基本指令——文件与目录1)ls:显示文件或目录-l列出文件详细信息l(list)-a列出当前目录下所有文件及目录,包括隐藏的a(all)以易读的方式显示文件大小(显示为MB,GB...):2)mkdir:创建目录-p创建目录,若无父目录,则创建p(parent)在home目录下创建一个名为test的目录:ls-lhmkdir~/testmkdir~/catkin_ws632.3Linux基本指令——文件与目录3)cp:复制-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答y时目标文件将被覆盖。-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。复制文件1到文件2,并保持文件的权限、属主和时间戳:cp文件1文件2cptest1test2-r642.3Linux基本指令——文件与目录4)cd:切换目录切换到工作区间catkin_ws文件夹中:5)mv:移动或重命名将文件名file1重命名为file2,使用-i,如果file2存在则提示是否覆盖:与-i相反,如果使用-f选项则不会进行提示。-v会输出重命名的过程,当文件名中包含通配符时,这个选项会非常方便:mv-ifile1file2mv-vfile1file2cdcatkin_ws652.3Linux基本指令——文件与目录6)rm:删除文件-r递归删除,可删除子目录及文件-f强制删除-i删除文件前先确认:在文件名中使用shell的元字符会非常有用。删除文件前先打印文件名并进行确认:递归删除文件夹下所有文件,并删除该文件夹:rm-ifilename.txtrm-ifile*rm-rexample662.3Linux基本指令——文件与目录7)rmdir:删除空目录删除一个叫做dir1的目录:8)pwd:显示当前路径目录在想要显示的目录下的终端下直接输入pwd即可(下方显示catkin_ws文件夹的当前路径):lah@LAH:~/catkin_ws$pwdrmdirdir1/home/lah/catkin_ws672.3Linux基本指令——文件与目录9)ln:创建链接文件(linkfiles)功能是为某一个文件在另外一个位置建立一个同步的链接。作用:当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。参数-b删除,覆盖以前建立的链接-d允许超级用户制作目录的硬链接-f强制执行-i交互模式,文件存在则提示用户是否覆盖格式:ln[参数][源文件或目录][目标文件或目录]682.3Linux基本指令——文件与目录参数(续):-n把符号链接视为一般目录-s软链接(符号链接)-v显示详细的处理过程创建一个指向文件或目录的软链接(给文件创建软链接,为file1文件创建软链接lnk1,如果file1丢失,lnk1将失效):创建一个指向文件或目录的物理链接(给文件创建硬链接,为file1创建硬链接lnk1,file1与lnk1的各项属性相同):ln-sfile1lnk1lnfile1lnk1692.3Linux基本指令——文件与目录10)locate:定位文件locate命名可以显示某个指定文件(或一组文件)的路径,它会使用由updatedb创建的数据库。下面的命令会显示系统中所有包含crontab字符串的文件:locatecrontab/etc/anacrontab/etc/crontab/usr/bin/crontab/usr/share/doc/cron/examples/crontab2english.pl.gz/usr/share/man/man1/crontab.1.gz/usr/share/man/man5/anacrontab.5.gz/usr/share/vim/vim72/syntax/crontab.vim702.3Linux基本指令——文件与目录11)whatis:显示命令描述信息wathis显示ls命令的描述信息:whatislswhatisifconfigls(1)-listdirectorycontentsifconfig(8)–configure712.3Linux基本指令——文本处理1)cat:查看文件内容你可以一次查看多个文件的内容,下面的命令会先打印file1的内容,然后打印file2的内容:-n命令可以在每行的前面加上行号:把textfile1的文档内容加上行号后输入textfile2这个文档里:-b或--number-nonblank:和-n相似,只不过对于空白行不编号。把textfile1和textfile2的文档内容加上行号(空白行不加)之后将内容附加到textfile3文档里:cat-btextfile1textfile2>>textfile3cat-ntextfile1>textfile2cat-n/etc/logrotate.conf/var/log/btmpcatfile1file2722.3Linux基本指令——文本处理2)more,less:分页显示文本文件内容查看一个长文件的内容:3)head,tail:显示文件头、尾内容查看一个文件的前两行:4)find:在文件系统中搜索某文件-namename,-inamename:文件名称符合name的文件,iname会忽略大小写。查找指定文件名的文件(不区分大小写):morefile1find-iname“MyProgram.c”head-2file1732.3Linux基本指令——文本处理5)grep:在文本文件中查找某个字符串-i或--ignore-case:忽略字符大小写的差别。在文件中查找字符串(不区分大小写)6)sed:利用脚本的指令来处理、编辑一个或多个文本文件。-e<script>以选项中指定的script来处理输入的文本文件。数据的查找与替换格式:sed-e‘s/旧的字符串/新的字符串/g’将testfile文件中每行第一次出现的oo用字符串kk替换,不修改原文件,然后将该文件内容输出到标准输出(+g表示全局查找替换,-e换成-i会修改原文件):grep-i"the"demo_filesed-e's/oo/kk/'testfile742.3Linux基本指令——文本处理7)vim:是一个全屏幕纯文本编辑器,是vi编辑器的增强版。常用模式:普通模式:使用vim打开一个文件时默认模式,也叫命令模式,允许用户通过各种命令浏览代码、滚屏等操作,插入模式点击esc进入普通模式。插入模式:也可以叫做编辑模式,在普通模式下敲击i、I、a、A、o或O就进入插入模式,允许用户通过键盘输入、编辑。命令行模式:在普通模式下,先输入冒号:,接着输入命令,就可以通过配置命令对vim进行配置了,如改变颜色主题、显示行号等,这些配置命令也可以保存到/etc/vim/vimrc配置文件中,每次打开默认配置执行。752.3Linux基本指令——文本处理插入模式常用命令:i:在光标所在的字符前插入I:在光标所在的行首插入a:在光标所在的字符后插入A:在光标所在的行尾插入o:在光标下插入新行O:在光标上插入新行打开文件并跳到第10行:命令行模式常用命令::w保存不退出:w新文件名把文件另存为新文件:q不保存退出:wq保存退出:!强制:q!强制不保存退出,用于修改文件之后,不保存数据退出:wq!强制保存退出,当文件的所有者或root用户,对文件没有写权限的时候,强制写入数据使用vim+10filename.txt762.3Linux基本指令——系统管理1)who:显示在线登陆用户2)uname:显示一些重要的系统信息-a或--all显示全部的信息例如显示内核名称、主机名、内核版本号、处理器类型之类的系统信息:LinuxLAH5.15.0-46-generic#49~20.04.1-UbuntuSMPThuAug419:15:44UTC2022x86_64x86_64
x86_64GNU/Linuxuname-alah:02022-08-2508:59(:0)Who772.3Linux基本指令——系统管理3)top:动态显示当前耗费资源最多进程信息top命令会显示当前系统中占用资源最多的一些进程(默认以CPU占用率排序):toptop-09:08:49up10min,1user,loadaverage:0.07,0.19,0.23任务:277total,1running,276sleeping,0stopped,0zombie%Cpu(s):1.4us,1.2sy,0.0ni,97.3id,0.0wa,0.0hi,0.2si,0.0stMiBMem:3889.9total,2254.4free,917.1used,718.4buff/cacheMiBSwap:7628.0total,7628.0free,0.0used.2744.4availMem782.3Linux基本指令——系统管理4)ifconfig:查看网络情况ifconfig用于查看和配置Linux系统的网络接口。查看所有网络接口及其状态:使用up和down命令启动或停止某个接口:5)ping:测试网络连通ping一个远程主机,只发5个数据包:ifconfig–aifconfigeth0upifconfigeth0downpingpingPS2B-D1(PS2B-D1为1台机器人工控机名)792.3Linux基本指令——打包压缩1)gzip:压缩文件压缩一个叫做'file1'的文件:最大程度压缩:压缩目录下的所有文件:-d或--decompress或----uncompress解开压缩文件。-v或--verbose显示指令执行过程。解压目录下所有压缩文件,并列出详细信息:gzipfile1gzip-9file1gzip*gzip-dv*802.3Linux基本指令——打包压缩2)tar:打包压缩-c归档文件-x压缩文件-zgzip压缩文件-jbzip2压缩文件-v显示压缩或解压缩过程-f使用档名例如只打包,不压缩:打包,并用gzip压缩:打包,并用bzip2压缩:当然,如果想解压缩,就直接替换上面的命令tar-cvf/tar-zcvf/tar-jcvf中的“c”换成“x”就可以了。tar-cvf/home/abc.tar/home/abctar-jcvf/home/abc.tar.bz2/home/abctar-zcvf/home/abc.tar.gz/home/abc812.3Linux基本指令——打包压缩3)rar:打包压缩a添加文件到压缩文件x用绝对路径解压文件创建一个叫做file1.rar的包:同时压缩'file1','file2'以及目录'dir1’:解压rar包:或:rarafile1.rarfile1file2dir1rarafile1.rartest_filerarxfile1.rarunrarxfile1.rar822.3Linux基本指令——关机与重启1) shutdown关闭系统并立即关机:10分钟后关机:重启:系统重启:系统注销:shutdown-h+10logoutrebootshutdown-rnowshutdown-hnow83感谢聆听有什么问题吗?智能机器人创新实践
第三章ROS开发环境与传感器适配
843ROS开发环境和传感器适配85ROS介绍ROS基础ROS下相机的使用移动机器人Rviz与Gazebo仿真3.1ROS介绍什么是ROS:ROS(RobotOperatingSystem,机器人操作系统)是一个用于机器人应用的开源软件开发工具包。起源:862007起源于2007年斯坦福大学人工智能实验室与机器人技术公司WillowGarage之间合作的个人机器人项目2009年,WillowGarage开放了ROS的源码2009873.1ROS介绍特点:代码复用分布式松耦合精简语言独立性易于测试丰富的组件化工具包883.3ROS基础ROS可以运行在Linux、Unix和Android平台上。目前官方对Linux中的Ubuntu系统支持最好。893.3ROS基础ROS由不同的功能包组成,每个功能包提供一类问题的解决方案。ROS
在内部通过消息和服务的方式实现不同程序(节点)的通信。键盘节点手柄节点平板节点ROS环境机器人节点903.3ROS基础节点通信:节点直接通讯:913.3ROS基础一个topic对应多个publisher和subscriber:923.3ROS基础ROS基本功能包命令:(1)rospack用于获取功能包的相关信息(2)rosstack
获取功能包集的相关信息(3)rosls
可通过功能包的名称列出其包含的文件/文件夹,而不必使用绝对路径(4)roscd
改变当前目录到指定的功能包/功能包集(5)catkin_create_pkg创建ros功能包(6)catkin_make的作用是编译ros功能包(7)Tab
自动完成输入933.3ROS基础ROS中的核心命令:(1)在运行ros节点之前,必须先运行roscore
命令(2)rosrun
运行ros节点(3)rosnode
可以显示正在运行的ros节点信息(4)rosmsg
显示消息数据结构的定义,rossrv
显示服务数据结构的定义(5)rostopic
查看节点的主题信息(6)rosservice
是一个应用于服务的命令(7)rosparam
可用来保存和设置ROS参数服务器(ParameterServer)中的数据。安装可以分屏的终端:Terminator。输入以下命令安装:943.3ROS基础sudoaptinstallterminator95
3.6ROS下相机的使用(1)设备准备:USB单目相机(2)准备ROS版本USB摄像机驱动,输入一下命令克隆usb_cam包源码(gitclone/ros-drivers/usb_cam)96
3.6ROS下相机的使用首先需要通过命令行来显示电脑此时的相机可用情况然后看个人电脑情况修改launch文件97
3.6ROS下相机的使用修改完launch文件之后需要对工作空间重新进行编译:启动roscore之后,启动相机节点98
3.6相机标定摄像机标定(Cameracalibration)简单来说是从世界坐标系换到图像坐标系的过程,也就是求最终的投影矩阵。一般来说,标定的过程分为两个部分:1.是从世界坐标系转换为相机坐标系,这一步是三维点到三维点的转换,包括相机外参等参数;2.是从相机坐标系转为图像坐标系,这一步是三维点到二维点的转换,包括相机内参等参数;99
3.6相机标定相机标定的四个坐标系:世界坐标系、相机坐标系、图像坐标系、像素坐标系坐标系的关系:100
3.6相机标定相机标定参数:相机的三大标定参数分别为:相机的内参矩阵A(dx,dy,r,u,v,f)、外参矩阵[R|T]、畸变系数[k1,k2,k3,~,p1,p2,~]101
3.6相机标定给定一幅棋盘格模型的图像,可以估计一个单应性矩阵。界面中的X表示标定板在视野中的左右位置。Y表示标定板在视野中的上下位置。Size表示标定板在占视野的尺寸大小,也可以理解为标定板离摄像头的远近。102
3.6相机标定外参标定流程:103
3.6相机标定相机的外参标定所检测的是旋转平移矩阵,即[R|T],因此需要检测ArucoMarker在空间中相对于相机的旋转与平移关系。ArucoMarker是一种汉明码的格子图104
3.6相机标定相机外参标定可视化结果:1053.7移动机器人Rviz与Gazebo仿真Rviz是一款三维可视化工具,很好地兼容了各种基于ROS软件框架的机器人平台。界面:1063.7移动机器人Rviz与Gazebo仿真Rviz的界面主要部分:(1)3D显示窗口:(2)显示栏:1073.7移动机器人Rviz与Gazebo仿真Rviz的界面主要部分:(3)工具栏:(4)复位键:该键位于Rviz的底部,可实现对机器人模型的复位,使其回到初始状态(5)视图栏:1083.7移动机器人Rviz与Gazebo仿真Gazebo是一款机器人的仿真软件,基于ODE(OpenDynamicEngine)物理引擎规划,常用于机器人的运动学/动力学仿真。Gazebo界面:1093.7移动机器人Rviz与Gazebo仿真Gazebo的窗口分区:(1)左侧面板:该面板主要用于仿真场景的搭建插入:在当前场景下插入新的模块世界:显示当前场景下所有的模型,可以通过该选项查看与修改参数阶层:组织并显示仿真中可用模型1103.7移动机器人Rviz与Gazebo仿真Gazebo的窗口分区:(2)顶部工具栏:该面板主要用于仿真场景的浏览鼠标状按钮移动、旋转、缩放撤销、重做放置长方体、球体、圆柱体放置点光源、聚光灯、方向性光源复制、粘贴对齐、捕捉更改视图1113.7移动机器人Rviz与Gazebo仿真Gazebo的窗口分区:(2)顶部工具栏:该面板主要用于仿真场景的浏览播放播放步长实时因子模拟时间真实时间迭代次数1123.7移动机器人Rviz与Gazebo仿真TF树的建立:TF(TransForm)是坐标转换,包括了位置和姿态两个方面的变换。区分坐标转换和坐标系转换:坐标转换是一个坐标在不同坐标系下的表示;而坐标系转换示不同坐标系的相对位姿关系。1133.7移动机器人Rviz与Gazebo仿真Link函数:URDF中的link标签用于描述机器人某个部件(也即刚体部分)的外观和物理属性1143.7移动机器人Rviz与Gazebo仿真Joint函数:URDF中的joint标签用于描述机器人关节的运动学和动力学属性,还可以指定关节运动的安全极限1153.7移动机器人Rviz与Gazebo仿真Gazebo中显示机器人模型:1163.7移动机器人Rviz与Gazebo仿真通过arbotix实现DashGOD1机器人在Rviz中的运动控制:1173.7移动机器人Rviz与Gazebo仿真实现雷达数据采集与底盘运动控制速度节点和雷达扫描发布节点的信息显示:1183.7移动机器人Rviz与Gazebo仿真solidworks_urdf_exporter插件的使用:solidworks_urdf_exporter是一款用于自动生成URDF文件的插件,基于solidworks绘制的工程图文件,对其进行坐标插入、节点连接、参数修正。步骤:(1)添加节点坐标系1193.7移动机器人Rviz与Gazebo仿真solidworks_urdf_exporter插件的使用:步骤:(2)对各个节点关系的建立与各个零件所述关节的确认1203.7移动机器人Rviz与Gazebo仿真solidworks_urdf_exporter插件的使用:步骤:(3)基于sw_urdf_exporter导出模型的运动控制实现课后完成本章作业对书稿中的实现结果进行复现121课后作业智能机器人创新实践
第四章基于EasyDL的码垛机器人
1224基于EasyDL的码垛机器人123项目简介EasyDL模型的编译与使用Dobot-demo的编译和使用TF-Tree的发布与坐标变换机械臂码垛实验1244.1项目简介优点:结构简单、零部件少占地面积少适用性强能耗低操作简单码垛机器人1254.1项目简介本项目采用Dobot魔术师机器人,在USB单目相机的引导下,实现对不同颜色的小木块的分拣和码垛,模拟实际码垛机器人的基本功能。1264.1项目简介项目流程USB相机EasyDLAPI接口图像信息训练获取图像数据在线调用API物体在机械臂坐标系下坐标物体在相机坐标系下坐标物体在像素坐标系下坐标数学推导TF变换Dobot机器人完成码垛复杂环境1274.2EasyDL模型的编译与使用创建模型训练模型检验模型与发布API调用1284.2EasyDL模型的编译与使用创建模型进入EasyDL的官网,点击“立即使用”选择“图像”中的“物体检测”模型,并填入模型信息。(/easydl/)1294.2EasyDL模型的编译与使用训练模型点击创建数据集,并导入待训练的图片数据建议使用实验中提供的相机拍摄120张左右实际场景中的图片。其中,100张图片作为训练模型使用,20张图片作为测试模型使用。1304.2EasyDL模型的编译与使用训练模型本实验使用包含小木块和Marker的照片作为训练集在上传图片时,选择无标注信息,并从本地导入图片1314.2EasyDL模型的编译与使用模型的校验与发布可以选择20张测试用的图片对模型进行校验和测试,以评估模型的物体检测精度模型检验结果1324.2EasyDL模型的编译与使用模型的校验与发布模型检测通过后,需要发布模型,以便能够通过在线调用API接口的方式完成对该模型的使用申请发布模型1334.2EasyDL模型的编译与使用模型的校验与发布最终可以获得该测试模型的APIKey以及SecretKey用于在线调用该模型1344.3Dobot-demo的编译和使用官方开发包可通过下面的网站中下载https://cn.dobot.cc/downloadcenter/dobot-magician.html?sub_cat=72#sub-download1354.3Dobot-demo的编译和使用Demo的目录:键盘控制自动运动1364.3Dobot-demo的编译和使用ROS中常用的通信方式有四种:(1)Topic(2)Service(3)ParameterService(4)ActionlibService通信方式图1374.3Dobot-demo的编译和使用Service服务编程流程图服务端文件流程图1384.3Dobot-demo的编译和使用客户端文件流程图(以DobotClient_PTP.cpp)1394.3Dobot-demo的编译和使用执行回零功能接口说明表函数原型intSetHOMECmd(HOMECmd*homeCmd,boolisQueued,uint64_t*queuedCmdIndex)功能执行回零功能。在调用该接口前如果未调用SetHOMEParams接口,则表示直接回零至系统设置的位置;如果调用了SetHOMEParams接口,则回零至用户自定义位置参数HOMECmd定义:typedefstructtagHOMECmd{uint32_treserved}homeCmd:HOMECmd
指针;isQueued:是否将该指令加入指令队列中;queuedCmdIndex:若选择将指令加入队列,则表示指令在队列的索引号。否则,该参数无意返回DobotCommunicate_NoError:指令正常返回;DobotCommunicate_BufferFull:指令队列已满;DobotCommunicate_Timeout:指令无返回,导致超时1404.3Dobot-demo的编译和使用对下载的功能包进行编译后进行实验查看端口号通过chmod指令改变该文件的可读写属性sudochmod666/dev/ttyUSB01414.3Dobot-demo的编译和使用可以用rosrun打开DobotServer来发布任务:运行结果1424.3Dobot-demo的编译和使用DobotDemo功能包的功能复现实现回零操作:rosrundobotgohome键盘控制机械臂移动:rosrundobotDobotClient_JOG机械臂自动沿X轴来回运动:rosrundobotDobotClient_PTP1434.3Dobot-demo的编译和使用Dobot键盘控制表:按键方向W向前S向后A向左D向右U向上I向下J逆时针旋转K顺时针旋转其他按键停止1444.4TF-Tree的发布与坐标变换坐标系变换的基础知识TF树的发布本质是坐标系之间变换关系的发布。当向TF空间发布多坐标系之间的关系之后即可组成这些坐标系的TF树,即任意一坐标系下的坐标可通过已发布的TF树转换到另外一个坐标系下。1454.4TF-Tree的发布与坐标变换(1)世界坐标系到相机坐标系:
世界坐标系通过[R|T]矩阵即可转变到相机坐标系R为旋转矩阵T为平移矩阵Xc、Yc、Zc为某点在相机坐标系中的坐标Xw、Yw、Zw表示为该点在世界坐标系中的坐标1464.4TF-Tree的发布与坐标变换(2)相机坐标系到图像物理坐标系:相机和图像物理坐标系的关系此时的f是相机的焦距,属于相机的内参,在相机标定时获得的1474.4TF-Tree的发布与坐标变换(3)图像物理坐标系到图像像素坐标系:图像物理和像素坐标系的转换dx表示每个像素沿x轴实际的物理尺寸,dy表示每个像素沿着y轴的实际尺寸1484.4TF-Tree的发布与坐标变换(4)世界坐标系到图像像素坐标系:将上述坐标系关系进行整合,最终可得世界坐标系到像素坐标系之间的转换(5)世界坐标系到机械臂坐标系:通过已知码垛木块的大小、吸盘可吸取的半径大小以及允许的最大误差,实验采用采用人工标定的方式获得世界坐标系到机械臂基座坐标系的RT矩阵1494.5机械臂码垛实验
获取木块位于机械臂基坐标系下的坐标,然后需要使用机械臂来接收该坐标信息,并进行抓取。
获取机械臂基坐标系下物体位姿后,需要通过逆运动学求解出机械臂各关节的运动角度蓝色点代表机械臂初始末端红色点代表添加吸盘后末端1504.5机械臂码垛实验核心的三个客户端对应的API分别为SetEndEffectorParams、SetEndEffectorSuctionCup以及SetPTPCmdSetPTPCmd为Dobot核心服务函数SetPTPCmdService的API名称,能够设定参数为0-9的PTP模式号以及(x,y,z,r)的坐标参数。SetEndEffectorParams函数用于修正末端执行器与机械臂原本未装末端吸盘之间的偏移1514.5机械臂码垛实验木块分拣流程图SetEndEffectorSuctionCup函数用于控制末端吸盘的吸取和释放1524.5机械臂码垛实验回调函数执行流程(以选择码黄色与绿色两种颜色,其中黄色在第一层,绿色在第二层为例)1534.5机械臂码垛实验码垛演示:课后完成本章作业对书稿中的实现结果进行复现154课后作业智能机器人创新实践
第五章基于EasyDL的声控分拣机器人
1551565.1语音交互介绍语音交互机器人语音交互是机器人人机交互技术中最自然的一种方式。目前,具有语音交互能力的移动机器人已经开始应用在医院、银行、景区等场景中1575.2语音识别案例还包括:语音助手实时字幕智能家居自动客服大批案例:1585.3语音识别介绍语音识别(speechrecognition)技术,也被称为自动语音识别(Automatic
Speech
Recognition,
ASR)。语音识别技术所涉及的领域包括:信号处理、模式识别、概率论和信息论、发声机理和听觉机理、人工智能等等。1595.3语音识别介绍早在计算机发明之前,自动语音识别的设想就已经被提上了议事日程,早期的声码器可被视作语音识别及合成的雏形。声码器对声音进行分析与合成的系统,主要应用于合成人类语音。1605.4语音识别发展探索发展应用深度学习50年代60年代70~90年代21世纪161
5.4语音识别发展20世纪50年代,最早的基于电子计算机的语音识别系统是由AT&T贝尔实验室开发的Audrey语音识别系统,它能够识别10个英文数字。其识别方法是跟踪语音中的共振峰,该系统得到了98%的正确率。16220世纪60年代,人工神经网络被引入了语音识别。这一时代的两大突破是线性预测编码LinearPredictiveCoding
(LPC),及动态时间调整DynamicTimeWarp(DTW)技术。
5.4语音识别发展语音识别技术的最重大突破是隐含马尔可夫模型HiddenMarkovModel的应用。从Baum提出相关数学推理,经过Rabiner等人的研究,卡内基梅隆的李开复最终实现了第一个基于隐马尔科夫模型的大词汇量语音识别系统Sphinx。163
5.4语音识别发展目前的语音识别建立在深度学习的基础上,得益于神经网络对非线性模型和大数据的处理能力,
取得了大量成果。2012年深度神经网络与HMM相结合的声学模型DNN-HMM在大词汇量连续语音识别(large
vocabulary
continuousspeech
recognition,
LVCSR)中取得成功,
掀起利用深度学习进行语音识别的浪潮。164
5.4语音识别发展通常一套完整的语音识别系统应该包括预处理、特征提取、声学模型、语言模型以及搜索算法等模块。1655.5语音识别系统我国的语音识别则起步于国家的“863计划”和“973计划”,中科院声学所等研究所以及顶尖高校尝试实现长时语音的汉语识别工作。如今中文语音识别技术已经达到了国际领先水准。1665.6国内发展情况20152016201720182018清华大学建立了第一个开源的中文语音数据库THCHS-30上海交通大学提出的非常深卷积网络提高了噪声语音识别的性能百度提出
Cold
Fusion以便于更好地利用语言学信息进行语音识别科大讯飞提出的深度全序列卷积神经网络阿里巴巴提出低帧率深度前馈记忆网络167语音识别服务百度语音微软小冰科大讯飞5.7语音识别服务在本节中,我们主要介绍如何基于百度EasyDL平台实现语音识别模型的创建、训练、评估、调用,以及调用百度API实现语音识别。1685.8EasyDL介绍169创建模型系统评估训练模型上线模型更具业务需求,创建并选择想要训练的接口类型上传音频数据集,系统自动评估基础模型的识别率上传业务文本,一键启动模型训练,可迭代训练自动上线模型,语音识别接口配置参数即可调用5.8EasyDL介绍课完成语音抓取实验调研自己感兴趣的语音识别技术170课后作业171感谢聆听有什么问题吗?智能机器人创新实践
第六章EAI机器人自主导航
172内容纲要1736.1项目背景6.2EAI机器人的编译与使用6.3激光雷达的原理与使用6.4Gmapping建图6.5Amcl粒子滤波6.6Move_base自主导航1746.1项目背景大批案例:引导机器人割草机器人内容纲要1756.1项目背景6.2EAI机器人的编译与使用6.3激光雷达的原理与使用6.4Gmapping建图6.5Amcl粒子滤波6.6Move_base自主导航176一.远程连接第一步:修改IP可以采用有线和无线两种方法连接EAI机器人,用一根网线连接EAI机器人上的路由器,或者连接名叫HiWiFi_01的WiFi。6.2EAI机器人的编译和使用176一.远程连接工控机密码默认为eaibot,默认IP为00。这里为保险起见,让EAI机器人连接显示器和键盘确认,在工控机终端使用ifconfig命令,可以看到EAI机器人的IP地址为006.2EAI机器人的编译和使用177一.远程连接设置PC的IP和EAI机器人的IP前三位相同,但最后一位不能相同,且必须是0-255之间的数字。更改PC的IP方法如下。打开设置,点击网络,再点击有线连接的设置,点击IPv4,选择手动,地址前三位和相机一样,最后一位为0-255之间的数字。6.2EAI机器人的编译和使用178一.远程连接这里设置PC的IP为2,网关设置为。6.2EAI机器人的编译和使用179二.ssh远程连接如果在工控机上连接了显示器和键盘,可以跳过此步,直接在工控机上进行第三步,如果没有用PC对工控机进行远程连接,在终端输入ssheaibot@00再输入密码eaibot,如果后续想在工控机上操作,在PC上开一个终端远程连接即可6.2EAI机器人的编译和使用180三.修改PC和工控机hosts文件分别在PC和工控机上修改hosts文件,加入对方的IP地址和计算机名,IP地址通过ifconfig查看,主机名用hostname查看。可以看到工控机的hostname为PS3B-D1本人PC的IP和hostname如下,不同的电脑不一样,请自行查看6.2EAI机器人的编译和使用181三.修改PC和工控机hosts文件之后修改PC和工控机的hosts文件,分别在PC和工控机上输入sudovim/etc/hosts按i键编辑,加入对方的IP和hostname,编辑完后按esc再输入“:wq”,保存并退出。注意只能加入一条,如果多人使用则需将其他人的注释掉。6.2EAI机器人的编译和使用182三.修改PC和工控机hosts文件设置完毕后,分别在两台计算机上使用ping命令,测试网络是否连通。如果双向网络都畅通,就说明底层网络的通信已经没问题。6.2EAI机器人的编译和使用183四.设置ROS相关的环境变量设置ROS_MASTER_URI,因为系统中只能存在一个Master,所以PC需要知道Master的位置。ROSMaster的位置可以使用环境变量ROS_MASTER_URI进行定义,在PC上使用如下命令设置ROS_MASTER_URI。exportROS_MASTER_URI=00:11311但是以上设置只能在输入的终端中生效,为了让所有打开的终端都能识别,最好使用如下命令将环境变量的设置加入终端的配置文件中。echo"exportROS_MASTER_URI=http://00:11311">>~/.bashrc6.2EAI机器人的编译和使用184内容纲要1856.1项目背景6.2EAI机器人的编译与使用6.3激光雷达的原理与使用6.4Gmapping建图6.5Amcl粒子滤波6.6Move_base自主导航一.激光雷达的工作原理激光雷达,英文全名为LightDetectionAndRanging,简称Lidar,是一种集激光,全球定位系统和惯性测量单元于一体的系统。这三种技术的结合,可以高度准确地定位激光束打在物体上的光斑,测距精度可达厘米级,激光雷达最大的优势就是“精准”和“快速、高效作业”。与微波雷达原理相似,激光雷达使用的技术是飞行时间(TOF,TimeofFlight)。具体而言,就是根据激光遇到障碍物后的折返时间(round-tripdelay),计算目标与自己的相对距离,见下图。激光光束可以准确测量视场中物体轮廓边沿与设备间的相对距离,这些轮廓信息组成所谓的点云并绘制出3D环境地图,精度可达到厘米级别,从而提高测量精度。6.3激光雷达的原理与使用186二.激光雷达的优点与应用LiDAR是通过发射激光束来探测目标位置、速度等特征量的雷达系统,具有测量精度高、方向性好等优点,具体如下:具有极高的分辨率激光雷达工作于光学波段,频率比微波高2~3个数量级以上,因此,与微波雷达相比,激光雷达具有极高的距离分辨率、角分辨率和速度分辨率。抗干扰能力强激光波长短,可发射发散角非常小的激光束,多路径效应小,可探测低空/超低空目标。获取的信息量丰富激光雷达可直接获取目标的距离、角度、反射强度、速度等信息,生成目标多维度图像,易于理解。全天时工作激光雷达采用主动探测方式,不依赖于外界光照条件或目标本身的辐射特性。它只需发射自己的激光束,通过探测发射激光束的回波信号来获取目标信息。因此,与相机对比,激光雷达具有全天时工作的优点。6.3激光雷达的原理和使用187三.激光雷达的性能度量四.YDLIDARG1的使用
步骤一:修改启动雷达的launch文件为了将雷达与底盘连接上,需要在启动雷动的“flash_lidar.launch”中发布一个静态坐标系链接雷达与基础坐标系,即在文件中添加:<nodepkg=“tf”type=”static_transform_publisher”name=”laser_frame_to_base_footprint”arg=”0.00.00.20.060.00.0”/base_footprint/laser_frame40/>由于雷达与底盘都遵循右手准则,而且摆放时,雷达0°与底盘0°重合,因此它们的坐标转换关系,仅需要x,y,z平移,不需要翻转,因此后面的两个坐标转换参数为0。功能参数测距频率9000Hz扫描频率5-12Hz测距半径0.12-8m扫描角度360°角分辨率0.2°-0.48°6.3激光雷达的原理和使用188步骤二:启动雷达EAI机器人的内部是装有YDLIDARG1的功能包的,在dashgo_ws工作空间下。名叫“flashlidar”,用户可以运行雷达驱动程序:roslaunchflashgoflash_lidar.launch若出现端口无法寻找的问题,如下图所示:可以在终端输入cd/devls观察所需雷达端口是否被连接。若没有链接,更换雷达连接端口即可。6.3激光雷达的原理和使用189在观察到EAI机器人底盘上方的雷达开始旋转后,在终端打开rviz后,添加雷达扫描的话题,若订阅后仍无画面,可以观察map处,所选连接是否正常,调节至雷达节点即可出现雷达扫描图,如下图所示:6.3激光雷达的原理和使用190步骤三:获取参数在确定雷达的正常运行后,可以在终端中,输入:rostopicecho/scan来获取雷达的发布信息,YDLIDARG1发布的信息内容包括:设定参数(扫描角度、扫描半径、雷达坐标轴名称等)、时间戳、障碍物距离等,如下图所示:6.3激光雷达的原理和使用191内容纲要1926.1项目背景6.2EAI机器人的编译与使用6.3激光雷达的原理与使用6.4Gmapping建图6.5Amcl粒子滤波6.6Move_base自主导航首先我们需要明确三个概念:1、Gmapping是基于滤波SLAM框架的常用开源SLAM算法。2、Gmapping基于RBPF粒子滤波算法,即将定位和建图过程分离,先进行定位再进行建图。3、Gmapping在RBPF
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 木工装修合同
- 保健按摩店装修合同监管费
- 水利行业水资源管理与水生态修复方案
- 专利代理合同书年
- 三农村社会组织创新发展方案
- 留学服务合同
- 品牌营销策略及市场分析作业指导书
- 数字化工厂设计与实施作业指导书
- 旅游景点智能化管理系统的设计与实施计划书
- 三农地区基础设施建设规划方案
- 2024年四川省巴中市级事业单位选聘15人历年高频难、易错点练习500题附带答案详解
- 《中国香文化》课件
- 演出经纪人培训
- 盖房四邻签字协议书范文
- 2024年新人教版七年级上册数学教学课件 第六章 几何图形初步 数学活动
- 《新时代大学生劳动教育》全套教学课件
- 2024简易租房合同下载打印
- 码头工程施工组织设计
- TBSES 001-2024 建设项目环境影响后评价技术指南 污染影响类
- 北师大版数学三年级下册《分橘子》说课稿及反思(共二篇)
- 新能源汽车:电动压缩机技术简介
评论
0/150
提交评论