ROS概述与常见操作指令
ROS概述
ROS,全称Robot OperatingSystem, 开源的机器人操作系统,能为异质计算机集群提供类似操作系统的功能(注意:ROS不是真正意义上的操作系统,它通常运行在Ubuntu系统上,有固定的版本对应)。
ROS提供了操作系统应有的服务,包括硬件抽象、底层设备控制、常用函数的实现、进程间消息传递,以及包管理。
ROS也提供用于获取、编译、编写和跨计算机运行代码所需的工具和库函数。
*
ROS系统起源于2007年斯坦福大学人工智能实验室与机器人技术公司Willow Garage 合作的个人机器人项目 PR2(Personal Robots Program )。
2009年初推出测试版的ROS0.4,该版本已初步具备现有的ROS系统框架。
2010年正式推出ROS1.0版本,并开发出一系列机器人操作的基础软件包。之后不断进行版本迭代和功能完善,目前ROS的最新版本为Lunaro除此之外,支持包括Linux、Windows, macOS等操作系统的ROS2也已推出。ROS各版本及其发布时间如表所示。
ROS版本 | 发布时间 |
---|---|
Lunar Loggerhead | 2017.5 |
Kinetic Kame | 2016.5 |
Jade Turtle | 2015.5 |
Indigo Igloo | 2014.7 |
Hydro Medusa | 2013.9 |
Groovy Galapagos | 2012.12 |
Fuerte Turtle | 2012.4 |
Electric Emys | 2011.8 |
Diamondback | 2011.3 |
C Turtle | 2010.8 |
Box TurtlcBox Turtle | 2010.3 |
ROS版本 | Ubuntu版本 |
---|---|
ROS Kinetic Kame,Released May, 2016 | Ubuntu Wily (15.10) and Ubuntu Xenial (16.04 LTS) |
ROS Melodic Morenia,Released May, 2018 | Ubuntu Artful (17.10), Bionic (18.04 LTS) and Debian Stretch |
ROS Noetic Ninjemys,Released May, 2020 | Ubuntu Focal (20.04), Debian Buster (10) |
ROS 2 Bouncy Bolson , github | - |
-
如果你对操作系统内核以及狭义的操作系统定义有一定了解的话,能很直观地认识到,Win10或者MacOS是一个操作系统,而Linux的内核+Shell命令行也是一个无图形化界面的操作系统。
-
那么ROS就很好理解了 ,他是一个基于Linux内核的框架,可以看作一个广义的操作系统,也可以看作一个平台。
-
和ROS同级的操作系统是Android,同样是Linux内核来提供对硬件的抽象与管理,由应用框架、系统库、应用编程环境等组成的Android系统框架对上层来提供Android应用的开发与执行环境。
ROS安装
ROS通常是安装在linux上,你需要准备好ubuntu等linux系统环境/或者虚拟机。
如果使用的Ubuntu20环境,大部分ros用的库还不能通过apt获得,必须用github下载后自行编译。编译工具为catkin。
-
官方编译教程:ROS WIKI
-
我的安装和编译过程:
ROS-学习笔记-01-(Ubuntu20.04+ROS Noetic Ninjemys下载安装教程)
ROS-学习笔记-02-(Ubuntu20.04+Noetic编译pr2和pr2_navigation)
ROS-学习笔记-03-(Ubuntu20.04 Noetic运行Web上位机和Nav2d)
ROS-学习笔记-04-( Ubuntu20.04编译ecto,boost1.7环境)
常见操作指令
查找:
rosc/roscd:切换当前工作目录到ros的某个程序包
rosls:按程序包的名称执行ls命令
catkin_ctreate_pkg:创建功能包
catkin_make:编译ROS工作空间,该src空间下所有程序包以及其子包都会被编译
roscore:启动管理器
rosrun:运行ROS程序包中的可执行文件
roslaunch:启动roscore,本地结点和远程结点,设置服务器参数(ssh)
roslaunch package_name
filename.launch
:启动包中的一个文件
rospack:获取程序包有关信息
rospack find:返回程序包的路径
rospack list:获取所有的程序包
rosdep:rosdep install package_name
可以下载安装ROS 程序包所需要的系统依赖项
roswtf:可以检查ROS系统并尝试发现问题
rostopic -h:查看所有Topic操作
rostopic list:获取所有的Topic列表
rosrun rqt_plot rqt_plot:图形化显示Topic
rostopic echo ‘topic namae’:查看某个Topic的信息