有没有人知道ROS?

Python09

有没有人知道ROS?,第1张

楼主你好!ROS是需氧细胞在代谢过程中产生一系列活性氧簇( reactive oxygen species, ROS),包括:O2 -·、H2O2 及HO2·、·OH 等。ROS也可称为是Route Operation System.意为“软件路由器”。

ROS(Robot Operating System)是一个机器人软件平台,它能为异质计算机集群提供类似操作系统的功能。ROS的前身是斯坦福人工智能实验室为了支持斯坦福智能机器人STAIR而建立的交换庭(switchyard)项目。到2008年,主要由威楼加拉吉继续该项目的研发。

ROS提供一些标准操作系统服务,例如硬件抽象,底层设备控制,常用功能实现,进程间消息以及数据包管理。ROS是基于一种图状架构,从而不同节点的进程能接受,发布,聚合各种信息(例如传感,控制,状态,规划等等)。目前ROS主要支持Ubuntu。

ROS可以分成两层,低层是上面描述的操作系统层,高层则是广大用户群贡献的实现不同功能的各种软件包,例如定位绘图,行动规划,感知,模拟等等。

ROS(低层)使用BSD许可证,所有是开源软件,并能免费用于研究和商业用途。而高层的用户提供的包则可以使用很多种不同的许可证。

2009年中国机器人大赛暨RoboCup公开赛在中国科学技术大学举办。中科大蓝鹰队队员陈凯对所有参加队伍做了关于ROS的相关报告,首次将ROS引入中国。

望采纳!

ROS的主要目标是为机器人研究和开发提供代码复用的支持。璞数技术介绍:ROS是一个分布式的进程(即“节点”)框架,这些进程被封装在易于被分享和发布的程序包和功能包中。ROS也支持一种类似于代码储存库的联合系统,这个系统也可以实现工程的协作及发布。可以使一个工程的开发和实现从文件系统到用户接口完全独立决策(不受ROS限制)。同时,所有的工程都可以被ROS的基础工具整合在一起。

ROS在某些程度上和其他常见的机器人架构有些相似之处,如:Player、Orocos、CARMEN、Orca和MicrosoftRoboticsStudio。对于简单的无机械手的移动平台来说,Player是非常不错的选择。ROS则不同,它被设计为适用于有机械臂和运动传感器的移动平台(倾角激光、云台、机械臂传感器)。与Player相比,ROS更有利于分布式计算环境。当然,Player提供了较多的硬件驱动程序,ROS则在高层架构上提供了更多的算法应用(如集成OpenCV的视觉算法)。

在机器人智慧化的过程当中,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的世界!!!

ros是机器人操作系统(Robot Operating System)的英文缩写。ROS是用于编写机器人软件程序的一种具有高度灵活性的软件架构。ROS的原型源自斯坦福大学的STanford Artificial Intelligence Robot (STAIR) 和 Personal Robotics (PR)项目。[1]

中文名

机器人操作系统

外文名

Robot Operating System

简称

ROS

性质

机器人软件平台

快速

导航

ROS的历史 许可协议 主要发行版本 主要功能

ROS是什么

ROS是用于编写机器人软件程序的一种具有高度灵活性的软件架构。它包含了大量工具软件、库代码和约定协议,旨在简化跨机器人平台创建复杂、鲁棒的机器人行为这一过程的难度与复杂度。

ROS图标

ROS设计者将ROS表述为“ROS = Plumbing + Tools + Capabilities + Ecosystem”,即ROS是通讯机制、工具软件包、机器人高层技能以及机器人生态系统的集合体[2] 。

ROS简介

关于ROS是什么,一些不同解释如下:

ROS wiki的解释

ROS(Robot Operating System,下文简称“ROS”)是一个适用于机器人的开源的元操作系统。它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。它也提供用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数。

ROS 的主要目标是为机器人研究和开发提供代码复用的支持。ROS是一个分布式的进程(也就是“节点”)框架,这些进程被封装在易于被分享和发布的程序包和功能包中。ROS也支持一种类似于代码储存库的联合系统,这个系统也可以实现工程的协作及发布。这个设计可以使一个工程的开发和实现从文件系统到用户接口完全独立决策(不受ROS限制)。同时,所有的工程都可以被ROS的基础工具整合在一起。

Brian Gerkey的网上留言

我通常这样解释ROS:

1. 通道:ROS提供了一种发布-订阅式的通信框架用以简单、快速地构建分布式计算系。

2. 工具:ROS提供了大量的工具组合用以配置、启动、自检、调试、可视化、登录、测试、终止分布式计算系统。

3. 强大的库:ROS提供了广泛的库文件实现以机动性、操作控制、感知为主的机器人功能。

4. 生态系统:ROS的支持与发展依托着一个强大的社区。ros.org尤其关注兼容性和支持文档,提供了一套“一站式”的方案使得用户得以搜索并学习来自全球开发者数以千计的ROS程序包。

摘自《ROS by Example》的解释

ROS的首要目标是提供一套统一的开源程序框架,用以在多样化的现实世界与仿真环境中实现对机器人的控制。

ROS的历史

ROS是一个由来已久、贡献者众多的大型软件项目。在ROS诞生之前,很多学者认为,机器人研究需要一个开放式的协作框架,并且已经有不少类似的项目致力于实现这样的框架。在这些工作中,斯坦福大学在2000年年中开展了一系列相关研究项目,如斯坦福人工智能机器人(STandford AI Robot, STAIR)项目、个人机器人(Personal Robots, PR)项目等,在上述项目中,在研究具有代表性、集成式人工智能系统的过程中,创立了用于室内场景的高灵活性、动态软件系统,其可以用于机器人学研究。