ROS在机器人工程中的应用

2022-02-03 02:42刘国超李少春
无线互联科技 2022年22期
关键词:移动机器人机器人智能

刘国超,李少春,吴 阳

(无锡太湖学院 智能装备工程学院,江苏 无锡 214064)

0 引言

新工科建设是主动应对新一轮科技革命与产业变革的战略行动,它的主要内容为新技术、新业态、新产业、新模式。机器人与人工智能专业在新工科建设中备受关注。智能机器人的研究包括但不限于机器人,还包括图像识别、深度学习、运动控制、语音交互等。智能机器人不是一项技术,而是下一次的产业革命[1]。

随着信息技术加速发展,社会需求飞速变革,导航定位硬件及算法、运动智能算法、深度学习算法等的突破,带动了运动规划、图像识别、语音识别等技术的不断进步,智能机器人不但在工业界得到延伸,也深入服务领域。“机器人”的核心概念和功能是代替人从事一些人类无法完成或是“不愿意”做的事情的自动化机构。人是一个高度复杂的智能体,如果机器人要取代人完成一些工作,则机器人必然也是一个高度复杂的智能体。

1 机器人专业特点

机器人工程专业是跨学科的综合性专业,其最终目的是要培养能够独立进行机器人研发、算法优化的综合性人才[2]。大学的本科教育是培养人才的关键,而相关教育平台、硬件的选择也至关重要。移动机器人学包含了许多工程和学科的知识,包括但不限于机械、电气、电子工程、计算机,甚至认知和社会科学,因此一款性能良好、配置全面的移动机器人是非常契合机器人工程专业教学要求的平台和工具。

同时,教学型机器人平台也是继工业机器人蓬勃发展以来,下一个最惹人注目和具有极高发展前景和充满商机的领域。因此重视移动机器人相关知识的教授和学生能力的培养,将有助于学生紧跟时代节奏,顺利完成就业。机器人开发难度大,从业门槛高,没有开发标准等因素严重阻碍了机器人行业的发展。因此,当前急需一个标准的开发方法,一个高效统一的软件架构,一套辅助开发的工具来帮助广大的机器人开发者发挥自己的才智,构建机器人工程的“高楼大厦”。智能机器人是人类科技进步和产业发展的必然趋势,未来的智能机器人将远远超出人们目前的想象。

2 ROS介绍

2.1 ROS是什么

机器人操作系统(Robot Operating System,ROS),是一个基于Linux的软件框架,这个框架把原本松散的零部件耦合在了一起,为他们提供了通信架构[3-4]。ROS本质上是一个中间件,它为基于ROS的应用程序之间建立起沟通的桥梁,所以也是运行在基操作系统上的环境,在这个环境上,机器人的感知、决策、控制算法可以更好地组织和运行。

2.2 ROS在智能机器人开发中的角色

如图1所示,执行机构通常包含运动底盘,机械手臂,机械手抓等机械或电气执行单元。感知系统一般由视觉、语音、激光、IMU等传感器组成。机器人大脑主要由环境信息处理以及机器人行为决策控制等一系列算法模块组成。常见机器人功能有:环境建模与定位,自然交互,运动控制与规划,计算机视觉等组成。操作系统提供算法单元之间的连接,算法与执行机构之间的连接,相当于人类的中枢神经“小脑”。ROS在机器人开发中扮演的角色就是“小脑”。

图1 ROS在智能机器人开发中的角色

当前机器人行业特别是智能机器人行业存在的问题就是缺乏统一的标准,没有统一的硬件架构,没有统一的软件架构,没有统一的操作系统甚至没有统一的开发语言。这严重阻碍了技术的流通和人才的流通。导致一个机器人功能的开发和维护只能由机器人本身的生产厂商来做。几乎无可能像手机一样可以由大量的第三方开发人员来开发大量优质的能够适用于大部分机器人的应用。ROS的诞生正是为了解决这一问题,为机器人开发提供统一的“标准”。

3 ROS在机器人教学中的探索

以自动化工程中机器人综合智能应用为背景,采用移动机器人作为手段和对象,按复杂工程应用需求进行设计,参考指定场景和具体设计要求,基于机器人操作系统ROS完成具有明确的系统与作业性能要求的智能机器人系统设计过程,包括分工设计、编程开发及集成应用实现、测试、评估及报告。设计过程和内容使学生能够综合运用所学到的专业基础和专业方向核心课程知识和技能,设计和开发具体项目,在智能机器人方向得到专业设计能力的综合性训练。要求完成强化资料阅读,通过综合设计中团队合作分工、交流、设计、制作编程、测试评估及各阶段的头书面报告,得到完整的专业化工程设计及解决实际问题能力的培养,为毕业设计独立完成研究开发工作打下坚实的基础。

ROS是“新工科”的最佳实践“机器人开发”。与老工科相比,更强调学科的实用性、交叉性与综合性。而机器人的特点是跨学科、综合性、工程性,是人工智能最具有挑战性的实践平台。ROS与“新工科”教育机器人方面。ROS真正融合了很多人工智能的技术,包括深度学习、导航、SLAM、决策、人机交互等。

3.1 能力的培养

课程培养学生的能力,具体包括以下几方面能力的培养:

(1)了解智能机器人相关技术点,了解智能机器人组成架构。

(2)综合性的专业基础知识和技能应用能力的培养,包括计算机硬件、软件、机器人运动控制、机器入动态控制/智能感知与决策算法、通信及人机交互技术。

(3)具体掌握基于机器人操作系统ROS的移动机器人开发方法。

(4)培养学生学习标准化设计、测试文档及技术报告编写能力。

(5)培养学生智能机器人综合应用能力。

3.2 课程情况

以智能机器人综合智能应用为背景,采用移动机器人以及多关节手臂作为手段和对象,按复杂工程应用需求进行设计,参考指定场景和具体设计要求,基于机器人操作系统ROS完成具有明确的系统与作业性能要求的智能机器人系统设计过程,包括分工设计、编程开发及集成应用实现、测试、评估及报告。课程具有以下特色。

3.2.1 主流开发框架

开发架构采用当前行业主流开发框架,实用性较强。底层驱动开发:STM32嵌入式开发;操作系统层以及开发工具:ROS+rviz+gazebo辅助应用开发库、科大讯飞语音、百度AI、OpenCV、AI框架。

3.2.2 涉及知识广泛

如图2所示,展示了课程涉及的相关知识。

图2 涉及的相关知识

3.3 课程主要内容

整体课程分为3个阶段。

第一阶段:机器人软件系统构建以及硬件系统构建;

第二阶段:机器人基础功能开发;

第三阶段:机器人开发与综合系统设计。

第一阶段以操作系统认知及ROS系统认知为主,并认识一个ROS工程。第二阶段包括基础功能开发,从C++编写一个node,到话题服务通信机制,再到参数服务器、tf构建、运动学解算等。第三个阶段主要是机器人开发与综合系统设计,包括navigation自主导航实验、多点导航实验、机械臂抓取服务开发、AR码识别追踪、语音交互等,并完成几个综合涉及,如自主充电开发实验、物料识别与抓取实验、定点抓取应用实验等。

其中主要内容是以下两部分:激光雷达SLAM,即同步定位与地图构建。激光SLAM,是目前最稳定、最主流的定位导航方法。涉及知识点包括STM32模块、激光雷达、IMU模块、超声波模块等硬件模块的功能及原理以及整个ROS操作系统。

移动智能抓取:移动智能抓取系统主要由智能移动平台系统和智能视觉抓取系统二部分组成,形成集感知、思维、知行统一为一体的智能系统。取智能车和机械臂的优势进行组合,相较于常规的移动机器人或固定工位的机械臂而言,有着更灵活、更广泛的应用,在实际生产车间、仓库或是餐厅、家庭都具有实际的应用需求,而这也在一定程度上助涨了关于移动智能抓取机器人的研究热情。该DEMO在激光雷达SLAM的基础上,增加了图像识别,机械臂运动控制等知识点,可作为是本科阶段的进阶课程应用。

4 结语

从机器人工程专业人才培养目标来讲,相对于传统的自动化专业,机器人工程专业更强调由机器自动化向人工智能的进化,这就突出了软件及算法的学习和开发在专业课程中的重要性,而ROS因为其开源性、通用性、复用性和社区性的特点,成为被最为广泛接受的学习和开发平台。以智能机器人综合智能应用为背景,采用移动机器人以及多关节手臂作为手段和对象,按复杂工程应用需求进行设计,为毕业设计独立完成研究开发工作打下扎实的基础。

猜你喜欢
移动机器人机器人智能
移动机器人自主动态避障方法
基于Twincat的移动机器人制孔系统
极坐标系下移动机器人的点镇定
基于引导角的非完整移动机器人轨迹跟踪控制