~欢迎关注~
微信公众号:古月居
新浪微博:古月春旭
知乎专栏:古月居
古月居联合深蓝学院推出的“古月私房课”第一弹——《ROS机械臂开发:从入门到实战》已经上线啦,欢迎各位小伙伴前来围观,以下是第十讲《针对工业应用的ROS-I又是什么》的内容精要。
大家好,这里是《ROS机械臂开发:从入门到实战》的第十讲——针对工业应用的ROS-I又是什么,我是主讲人胡春旭。
工业机器人是目前机器人应用中非常重要的一部分,自20世纪50年代发明以来,已经广泛应用于工业生产,ROS的繁荣也促生了其在工业领域的分支——ROS-I,本讲我们就从以下三个方面介绍ROS-I相关的内容。
首先来认识下这个和ROS很像的ROS-I。
在之前的课程中,我们给大家介绍过未来智能化的机器人将越来越容易使用,ROS-I也将为工业机器人注入强大的活力,比如视频/图片中的诸多应用,我们不再需要手动施教一个个的路径点,而是由机器人自主感知、规划、检测,从动作级编程进化到任务级编程。
ROS-I由安川机器人、西南研究院和Willow Garage公司联合发起,意在将ROS强大的生态带入工业自动化领域,目前已经在美国、欧洲、新加坡建立三家分支机构,负责推广ROS-I相关的应用和教学,同时已经吸纳了众多会员,共同推进ROS-I在全球范围内工业领域的发展。
ROS-I的目标有以下几点,我们不仅可以在开源社区中获取很多基于ROS-I的应用项目,还可以和全球开发者联合开发有兴趣的项目。
下图是ROS-I的技术愿景,未来在硬件接口、人机交互、运动规划、空间建模、移动功能、环境感知、开发工具、智慧工厂等各方面都会涉及。
ROS-I在技术实现上的架构如下,最上层是与使用者打交道的可视化交互界面,引入了ROS中的可视化工具——Rviz、rqt等,同时针对部分工业应用,还开源了部分可视化插件工具,未来还会推出标准的工业UI。
ROS-I有比较完整的课程和例程,在以下网站我们可以找到所有内容,其中包含ROS基础、MoveIt!使用等内容,我们也都在课程中进行过详细的介绍,大家有兴趣的话可以再按照该教程学习一遍。
总结而言,ROS-I将ROS强大的资源带入了工业领域,同时针对工业应用中常用的硬件、通信、功能进行了补充,联合全球范围内的合作伙伴和开发者,建立了专门针对工业机器人的应用框架。
接下来我们看下ROS-I在应用层面的原理。
ROS-I框架的上边两层,主要完成机器人应用与规划功能的实现,当我们实现具体应用的时候,需要在这个部分进行开发或整合。
ROS-I有一个开源应用——Scan-N-Plan,传统模式中,需要工程师根据工件完成应用中的所有施教工作,后续检测发现问题的话,还需要重新施教工作,而在这个应用中,开启了一种未来模型,机器人使用3D扫描仪完成工件扫描后,自动规划抛光路径,并在完成运动后自动检测缺陷,从而自动改善效果。
该项目的所有代码均可在以下链接中找到,大家可以作为应用参考。
另外一个项目是飞机外壳的喷漆应用,该项目工件灵活、种类多、有移动性,对机器人提出了较大挑战。
使用ROS中的众多功能包即可快速解决这些问题。
可以自动完成类似下图的喷漆应用。
第三个部分我们来浅析ROS-I的核心代码。
ROS-I的核心代码在接口层和协议层,接口层定义了一个industrial_robot_cliet,主要完成上层规划后通过action输出轨迹数据,并且监控机器人的实时状态,协议层完成这些数据的字节流打包和基于TCP/UDP的传输。其中还提供了一个simulator仿真器,针对模型仿真测试。
ROS-I的核心代码可以在以下链接中找到,其中的关键功能包是industrial_robot_client、industrial_robot_simulator和simple_message。(功能与代码分析过程请见课程视频)
我们可以通过PROBOT Anno的例程,了解下ROS-I simulator的使用,运行以下命令后即可启动基于rviz的仿真界面,之后的控制方式就和之前的学习内容一样了,可以看到模型会按照我们设置的位置或者程序运动。
这个模型的运动就是由industrial_robot_simulator驱动的,系统架构如下:
以上就是本讲的内容精要,详细讲解过程和仿真/真机演示过程请见具体课程。
更多精彩,欢迎大家关注“古月居”。
更多内容欢迎关注:
微信公众号:古月居 (guyue_home)
新浪微博:古月春旭
知乎专栏:古月居