从安装到做项目一步步教你ROS学习入门 (从安装到做项目的流程)

文章编号:40182 资讯动态 2024-12-03 ROS

第一次接触ROS是在沈阳自动化所做项目的时候,那时候我才知道自己非常感兴趣的机器人领域有一个叫做ROS(Robot Operating System)的平台。仔细了解之后才知道ROS被机器人界看作是一套准标准平台,很多人将其比作是手机界的安卓,电脑界的微软。在我看来ROS最大的优点在于灵活、低耦合、分布式、开源以及功能强大而丰富的第三方功能包(类似于编程语言中的库)。于是我乘着毕设的机会申请了做ROS相关的项目--自主导航小车PlantBot。

ROS虽然叫操作系统,但是真正底层的任务调度、编译、寻址等任务还是由Linux操作系统完成,也就是ROS充其量是一个运行在Linux上的次级操作系统。关于ROS的介绍有一篇大牛写的很不错的文章: 机器人操作系统ROS | 简介篇 。

第一步,安装Linux和ROS

从安装到做项目一步步教你ROS学习入门

学习ROS首先要安装Linux,为了不抛弃原Windows操作系统,有两个选择:一个是在VMvare等虚拟机上运行,另一个是安装Windows和Linux的双系统。我的建议是电脑有足够的空间的话,最好安装双系统,这样在Linux上使用ROS时运行速度更快。虚拟机跑ROS我没尝试过,但是网上也看到有人用虚拟机学习ROS,如果电脑不好装双系统或者内存不够的话可以尝试使用虚拟机。

Linux 有不同的发行版本,目前对ROS支持最好的版本是Ubuntu 14.04 LTS (Long Term Support),对应的ROS的版本推荐为indigo,官网安装主页已更新为最新版本的Ubuntu。可以到 Old Ubuntu Releases 下载对应的14.04版本。Linux安装教程可以参照: Win7上安装Ubuntu14.04双系统 。

需要说明的是,随着电脑的配置和操作系统的不同,安装过程大同小异,但是 有的电脑就是装不上,谷歌之后仍然无法解决问题,这时候可以尝试换台电脑或者装虚拟机,我之前用联想ideapad,折腾了一周,试了各种方法就是不成功,最后换了台华硕一下就好了。

装好Linux后可以根据这篇官方指导安装ROS: Ubuntu install of ROS Indigo 。如果没有任何Linux命令行基础,那么可以先学习Linux命令行,然后再装ROS。

第二步,学习Linux命令行

从安装到做项目一步步教你ROS学习入门

对于熟悉Windows而没有接触过Linux系统的人来说,上一步安装的Ubuntu是一个很好的Linux过渡版本。在Linux中,一切任务都可以在终端(Terminal)通过命令行完成。因此非常有必要学习Linux命令行。学习Linux推荐在线编程学习环境实验楼的两门课程: Linux 基础入门(新版) 和 Linux命令实例练习 ,两门课程可以结合互补学习,也可以参见我的学习笔记: Linux命令行 有一个小建议是实验楼的在线编程环境就是Linux,因此没有必要在它们的网络环境学习,而是直接用自己的终端。

同时Ubuntu 作为非商业操作系统,里面或多或少有dug,遇到问题多搜索,对于常见的问题,网上都有解决办法。我在安装完Ubuntu后就遇到一个很窘的问题:网络连接不上,但是神奇的是盖上盖子再打开后就好了,之后碰到的带耳机的时候没声音也是这样,一种解释如下: ubuntu14.04下外放有声音,耳机没声音 。对于同样的遇到网络无法连接的同学可以在终端输入:

echo "options asus_nb_wmi wapf=4"| sudo tee /etc/modprobe.d/asus_nb_wmi.conf

重启即可。

第三步, 学习ROS基础

从安装到做项目一步步教你ROS学习入门

对于ROS的学习,最好的办法还是直接学习官方的Tutorial: ROS Tutorials 。英语不太好的话可以看中文版的 核心 ROS 教程 也可以参见我的学习笔记 ROS基础笔记 ,前期只学初级20讲即可。学习完基础20讲后可以根据兴趣或用途来学习其他教程,如上图就是实时观测工具Rviz显示机器人的URDF(Unified Robot Description Format)模型,里面还涉及坐标变换的TF相关知识,都需要学习对应的Tutorial来入门。当然,无从着手的话,这时候选择一本参考书也是很不错的,如 ros by example , Learning Robotics Using python , Learning ROS for Robotics Programming 。

此外,ROS的编程语言主要是C++ 和 Python。C++是国内大多数高校的教学语言,更加深入的学习可以阅读C++ Prime。但是我同时推荐的是学习Python,Python语言作为一种解释性语言/脚本语言,更加灵活、编程效率更高,同时有强大的库支持,因此也是现在人工智能的第一语言。如果有C/C++基础也可以很快入门,推荐廖雪峰的微博教程 Python 2.7教程 ,以及实验楼快速入门课程:Python快速教程,书的话我用的是《Python核心编程》(Core Python Programming)。

第四步,做项目

从安装到做项目一步步教你ROS学习入门

只有不断的学习和实践才能学好一门知识,学习ROS最好是一开始就挑战一个项目。在完成前三步的基础上,这时候就要根据尝试写第一个功能包(package)、第一个节点(node)了。碰到问题可以谷歌,官方问答平台也很有用。同时要在实践中不断学习,因为基础20讲还远远不够,用到相关知识可以继续参见相关Tutorial。

总之,ROS的学习曲线在开始阶段很陡,需要很多预备知识,比如编程语言、Linux基础、熟练的英文阅读功底,甚至在理解ros::spin(),ros::spinOnce() (C++),rospy.spin() (Python)的时候只有理解线程才能搞清楚这三者之间的区别。总之,有志于学习ROS的同学要有不断学习的心理准备,但是同时,ROS的熟练使用绝对是以后找工作或实现项目的一块很有力的敲门砖。

附原文地址:

版权文章,未经授权禁止转载。详情见 转载须知 。


本文地址: https://www.gpxz.com/article/b5c287e8b6101719f0a3.html
全局中部横幅
全局中部横幅
人民日报

首页-人民日报-有品质的新闻

qqclivevipapp

qqclivevipapp十年沉淀2023,potplayer看国外直播,PokeGal口袋少女汉化安卓版下载,podo漫画app免费下载,pockettouchsimulation安卓下载,pixelpoca像素少女,picapica哔咔下载,picacomic.bika,picacg网页版登录入口,picacg哔咔下载最新官网入口,picacg哔咔网页版,picacg哔咔官网(入口)下载,paypal必须年满18周岁,patta画的勇者漫画哪里看,paralotna,palipali线路检测一整晚,palipali线路检测3,palipali2线路检测3,palipali2网页轻量版,palipali2入口线路检测

高速线束哈巴焊机,光模块脉冲式焊接机,高速光器件热压机,V

广东亚兰装备技术有限公司研发、生产、销售、服务为一体的综合性配套厂商,产品有FFC/FPC焊接机,脉冲式热压机,Hotbar哈巴焊机,脉冲热压焊接机,墨盒芯片再生焊接机,陶瓷片焊锡机,光模块器件热压机,光通讯模块焊接机,电子行业高密度FPC、FFC与PCB、SFP、XFP、QSFP等高速线束连接器之间的热压焊锡工艺。PCB分板机,LED灯条分板机,多刀式分板机,走刀式分板机,铡刀式分板机,气动式分板机,冲压分板机,冲床分板机等。

讲师网

找讲师,培训师,上讲师网,直接对接10000多名优秀讲师,去中介,省时省力省钱,公开培训师联系方式、培训讲师简介、培训讲师视频、讲师课程大纲及培训师电话。

精灵物语官方正版官网下载

是一款正版宝可梦IP题材的养成回合手游。游戏中有1-9世代口袋妖怪全世代共800多只精灵、600多种技能、上百种精灵特性,全新3D建模,完美复现掌机精灵捕捉、精灵孵蛋、经典回合战斗等玩法,属性相克,精灵特性,特色技能,Mega进化应有尽有!更有比拼实力和策略的竞技场、跨服赛、策略联赛、联盟之夜等你来战!

精品酒店预订网酒店预订

精品酒店预订网是国内领先的在线酒店客房搜订平台,凭借现代化的通信系统、在线电子商务技术和完善的客户管理系统,通过一体化的专业呼叫中心,向广大的商旅人士提供集酒店定位搜索、实时房态、在线订房、出行资讯等在内的商旅服务。

 兴城市万恒电力设备有限责任公司

 兴城市万恒电力设备有限责任公司_兴城市万恒电力设备有限责任公司占地10000平方米,厂房面积2000平方米,机器设备60余台,固定资产500万元,年生产总值达1000万元。并拥有高级管理人员、工程技术人员、技术工人总计80余名,是一个拥有雄厚实力的优秀民营企业。

56下载通

56下载通是一个提供海量资源的高速下载平台。我们致力于为用户提供最新、最热门的软件、游戏、影视、音乐等下载资源。通过56下载通,您可以轻松找到所需的文件,并享受极速下载体验。我们不断优化服务器和下载技术,确保用户能够安全、快速地获取所需资源。立即访问56下载通,探索无尽的下载世界!

月蓝咖啡网

咖啡(英语:coffee),是用经过烘焙磨粉的咖啡豆制作出来的饮料。作为世界三大饮料之一,其与可可、茶同为流行于世界的主要饮品

漳州网站建设

漳州盛行网络科技(05962916087)成立于2007年,主要集网站建设,网络开发,系统开发,优化扩广为一体的网络服务公司,目前是漳州市最大的网站建设代工工厂。欢迎客户恰谈。

宿州市恒顺工贸有限公司

宿州市恒顺工贸有限公司是一家专业生产矿用锚杆,矿用锚索,井下支护网,瓦斯抽放管,风筒,矿用钻具,矿用导轨等工矿配件为主的矿用安全产品实力厂家,产品通过煤安认证,广泛应用于各大矿企。

仙剑奇侠传5

仙剑奇侠传5游戏专题;提供仙剑奇侠传5中文版下载,仙剑奇侠传5攻略大全,仙剑奇侠传5汉化补丁,仙剑奇侠传5视频解说,攻略视频,修改器,汉化下载,完美存档,MOD,配置,教学,截图,壁纸等资料。更多《仙剑奇侠传5》相关内容尽在游侠网。

全局底部横幅