ROS 简介
ROS 是机器人操作系统(Robot Operating System)的英文缩写。 ROS 是用于编写机器人软件程序的一种具有高度灵活性的软件架构。
ROS 图标 :
ROS 是开源的,是用于机器人控制的一种后操作系统,或者说次级操作系统。它提供类似操作系统所提供的功能,包含硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间的消息传递、程序发行包管理,它也提供一些工具程序和库用于获取、建 立、编写和运行多机整合的程序。
ROS 的首要设计目标是在机器人研发领域提高代码复用率。ROS 是一个分布式的进程(也就是 “节点” )框架,这些进程被封装在易于被分享和发布的程序包和功能包中。ROS 也支持一种类似于代码储存库的联合系统,这个系统也可以实现工程的协作及发布。这个设计可以使一个工程的开发实现从文件系统到用户接口完全独立决策(不受 ROS 限制)。同时,所有的工程都可以被 ROS 的基础工具整合在一起。
1 ros 的设计目标和特点
很多人都在问“ROS与其它机器人软件平台有什么不同?”这是一个很难解答的问题。因为ROS不是一个集成了大多数功能或特征的框架。事实上,ROS 的主要目标是为机器人研究和开发提供代码复用的支持。ROS是一个分布式的进程(也就是节点)框架,这些进程被封装在易于被分享和发布的程序包和功能包集中。ROS也支持一种类似于代码储存库的联合系统,这个系统也可以实现工程的协作及发布。这个设计可以使一个工程的开发和实现从文件系统到用户接口完全独立决策(不受ROS限制)。同时,所有的工程都可以被ROS的基础工具整合在一起。
为了支持共享和协作这一主要目标,ROS 框架还有其他几个特点:
- 精简:ROS尽可能设计的精简,以便为ROS编写的代码可以与其他机器人软件框架一起使用。由此得出的必然结论是ROS可以轻松集成在其它机器人软件平台:ROS已经可以与OpenRAVE,Orocos和Player集成。
- ROS不敏感库:ROS的首选开发模型都是用不依赖ROS的干净的库函数编写而成。
- 语言独立:ROS框架可以简单地使用任何的现代编程语言实现。ros已经实现了Python版本,C++版本和 Lisp版本。同时也拥有Java 和 Lua版本的实验库。
- 松耦合:ROS中功能模块封装于独立的功能包或元功能包,便于分享,功能包内的模块以节点为单位运行,以ROS标准的IO作为接口,开发者不需要关注模块内部实现,只要了解接口规则就能实现复用,实现了模块间点对点的松耦合连接
- 方便测试:ROS内建一个了叫做rostest的单元/集成测试框架,可以轻松安装或卸载测试模块。
- 可扩展:ROS可以适用于大型运行时系统和大型开发进程。
- 免费且开源:开发者众多,功能包多
2 为什么使用ROS
通过ROS,我们能够在虚拟环境中实现对机械臂的仿真控制。
我们将通过 rviz 平台实现对机械臂的可视化,并使用多种方式对我们的机械臂进行操作;通过 moveit 平台进行机械臂行动路径的规划和执行,达到自由控制机械臂的效果。
我们将在接下来的章节中学习如何通过ros中的平台对我们产品的控制进行控制。
MoveIt 简介
MoveIt 是目前针对机械臂移动操作的最先进的软件,已在 100 多个机器人上使用。它综合了运动规划、控制、3D 感知、运控学、控制和导航的最新成果,提供了开发先进机器人应用的易用平台,为工业、商业和研发等领域的机器人新产品的设计和集成体用评估提供了一个集成化软件平台。
MoveIt 图标 :
使用设备:myCobot 280 PI
环境搭建
1 虚拟机安装
前往官方网站下载虚拟机Virtual Box 或者前往官方网站下载虚拟机 VM ware
当然,如果您已经拥有您的虚拟机,您可以跳过该步骤。
我们选择下载Virtual box,因为它是免费的。
2 新建虚拟机
2.1 创建虚拟机
在控制中选择新建
输入虚拟机名称和虚拟机存放的位置,选择虚拟机类型为Linux,选择ubuntu64位版本,进行下一步。
按照自己的需求配置内存大小,进行下一步。
选择现在创建虚拟硬盘,进行创建。
虚拟硬盘类型选择VDI类型,进行下一步。
分配虚拟硬盘大小,由于需要安装ubuntu系统,而且还会在该系统中进行操作,建议大小不要低于20G。
2.2 导入ubuntu系统
2.2.1 下载ubuntu系统。文章来源:https://www.toymoban.com/news/detail-475192.html
请根据自己的需要选择ubuntu版本进行安装<文章来源地址https://www.toymoban.com/news/detail-475192.html
到了这里,关于ROS机器人入门-环境搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!