【技术干货】机器人课程系列:如何安装ROS(机器人操作系统)
由上图可以看到,在PC端的系统有Windows、Linux与Mac,而在手持系装置有Android和iOS占大宗,看来ROS的目标就是想做机器人的Android系统。
ROS是什么?
维基上ROS的定义如下,
ROS(机器人操作系统,RobotOperating System),是专为机器人软件开发所设计出来的一套电脑操作系统架构。它是一个开源的元级操作系统(后操作系统),提供类似于操作系统的服务,包括硬件抽象描述、底层驱动程序管理、共享功能的执行、程序间消息传递、程序发行包管理,它也提供一些工具和库用于获取、建立、编写和执行多机融合的程序。
之前的课程里分享了很多机器人的专案,很多伙伴也都有做各种不同的机器人,例如:双足机器人、教育型机器人或是Arduino的关节型机器人。这些机器人有些没有操作系统,且硬件设计都不一样,如果在新的项目只是想用之前设计的一部分的话,代表要重复制作,才有办法使用到别人早就做过的东西。
由于code无法维护,因此当项目时程不明确,且软件人员离职后,新来的程序员还要看懂前人所留下的自闭软件系统,等到三个月试用期一过,又离职到其他公司上班了!如此重复造轮子,PM要先跳脚,专案就要爆炸了!
所以,这时ROS就这么横空出世了!(当然这不是理由,哈哈)
在机器人智慧化的过程当中,ROS(机器人操作系统)成为最关键的一环,当机器人要投入生活甚至是医疗等更多元的场景时,皆需要面对相较普通的生产线以及更复杂的空间环境,而ROS也相较于我们大脑的中枢,不仅能汇集环境变动的数据,亦能分析服务对象的空间位置,进而提供对应的服务操作。
回到设计的需求,用ROS跑项目的确可以加速进行。基本上ROS的核心精神就是在巴别塔里面讲着相同的语言。
总而言之,就是不要再重复造部件!而ROS是架构在Linux内的一套软件,所以只要有Ubuntu就行啦!这次我们用仿真器,可以是VMWARE或是Virtual Box,使用Ubuntu 16.04安装ROS Kinetic,但在2018五月时,ROS推出了Melodic,也有网友在Ubuntu 18.04安装,基本上也没什么问题!
ROS安装过程
这篇文章在VMWARE使用ubuntu-16.04.5-desktop-amd64.iso。
在安装过程中,会需要输入Ubuntu的账号及密码。
下图有一点小小提示,本来作者是用预设的20GB,但在尝试ROS的仿真器与程序代码后,东灌西灌的结果就是20GB搞到要爆炸了,所以建议60GB会比较好一点点。
简单提一下,作者的MAC Air 128G一开始是用双系统切了一半过去,用了1个月后系统容量爆炸,完完全全不够用啊!!!之后再来提一下MAC系统如果不是只想模拟该怎么办。
由于这篇文章目的在模拟,所以在Windows与MAC OS都能用VMWARE或是Virtual Box,但问题来了,如果您是研究所以上的学生,教授要您做出硬件来,VMWARE或是Virtual Box都无法控制到远程的硬件啊!这也是作者试了好几次才发现,一定要用原生的Linux系统加上ROS才行啊!!!所以建议在Windows上的解决方式是直接做双系统,反正硬盘够大,但UEFI的BIOS也搞了许久。
而在MAC Air就不能切双系统了,128G切一半就不能拿来工作了,所以在MAC Air是用外接128G USB随身碟安装Ubuntu,这也搞了许久,总之Windows与MAC OS安装ROS都可以写一篇文章了。好,回到开始用VMWARE安装Ubuntu的时候,会看到下图,这时可以去喝杯饮料悠闲的等待~
安装完毕后,可以去更新一下在Software & Updates,但不更新也可以准备安装就是了。
然后在Terminal输入以下指令:
sudo sh -c ‘echo “debhttp://packages.ros.org/ros/ubuntu $(lsb_release -sc) main” > /etc/apt/sources.list.d/ros-latest.list’
这个时候会请您输入密码,之后再贴上KEY的指令(如下方指令):
sudo apt-key adv –keyserverhkp://ha.pool.sks-keyservers.net:80 –recv-key421C365BD9FF1F717815A3895523BAEEB01FA116
然后再sudo apt-get update:
接着sudo apt-get upgrade升所有需要的安装包:
所以建议前面不要Software & Update也可以,接着就是安装Desktop-Full版本的ROS系统在Ubuntu内:sudo apt-get install ros-kinetic-desktop-full
安装完毕,再来呢?接下就就是要初始化!
sudo rosdep init
rosdep update
配置环变量:
echo “source /opt/ros/kinetic/setup.bash”>> ~/.bashrc
source ~/.bashrc
上面2句还挺重要的,不然每次ROSRUN xxx什么安装包都出现Error,例如:
But!人生就是有这个But!
印象中有一次在Windows的VMWARE中也输入上面2句然后再ROSRUN还是出现Error,所以就开了MAC Air内的Ubuntu看了一下.bashrc檔照抄:
红框是有修正过的,如果您下了ROSRUN的指令也出现Error,就照抄Source的那行吧!
许眼尖的读者会发现上面的.bashrc档最后一行是TURTLEBOT3!
作者当初就是在Windows的VMWARE安装UBUNTU及MAC Air安装Virtual Box,不论是在哪台机器都控制不了Turtlebot3的硬件啊!至于如何控制硬件!?接下来安装所有以后可能用的到的套件:
sudo apt-get install python-rosinstallpython-rosinstall-generator python-wstool build-essential
安装结束啰 ~ 而本篇的最后,就是来个roscore测试一下!
然后看到如下图的描述没出现Error就正确啦~
恭喜各位进入ROS的世界!!!
好的文章,需要您的鼓励
19
- 最新资讯
- 最新问答
-
轮式机器人的发展及其趋势
关键字: 轮式机器人 发展 趋势 2024-07-03 -
具身智能的定义和作用
关键字: 具身智能 2024-06-28 -
什么是agv小车?特点有哪些?
关键字: agv小车 特点 2024-06-27 -
机器视觉应用的分类?范围有哪些?
关键字: 机器视觉 应用分类 范围 2024-06-25 -
机器人打磨抛光设备有哪些?特点是什么?
关键字: 机器人打磨 抛光 特点 2024-06-20
-
工业机器人技术是干什么的?
标签: 工业机器人,技术 提问:小杰 2024-07-03 13:03:15 -
机器人焊接焊机报TC异常怎么解决
标签: 焊接机器人,焊机,TC异常 提问:TC 2024-06-28 16:05:01 -
机器人运动轨迹的控制方式有哪两种
标签: 机器人,运动轨迹,控制方式 提问:张默 2024-06-25 10:10:02 -
具身智能什么意思
标签: 具身智能,什么意思 提问:MESSE 2024-06-19 10:37:04 -
3D视觉无序抓取系统配置要点?
标签: 3D视觉,无序抓取,系统配置 提问:QUTE 2024-06-17 13:17:05
- 2021-06-10 10:45:45
- 2021-06-11 13:34:28
- 2020-05-29 10:03:22
- 2019-09-24 11:19:01
- 2020-01-16 13:27:13
- 2019-03-22 15:42:15
- 2022-08-30 15:17:40
- 2022-08-24 14:16:37
- 2022-09-13 12:17:35
- 2023-09-01 10:16:04
- 2022-08-03 10:20:40
- 2022-08-03 10:20:40
- 2024-07-03
- 2024-06-28
- 2024-06-27
- 2024-06-25
- 2024-06-20
- 2024-06-19
- 2024-06-17
- 2024-06-13
- 2024-06-11
- 2024-06-06