APP下载

基于ROS 的移动机器人仿真实验平台设计与实现

2022-07-23戚远航

电子设计工程 2022年14期
关键词:移动机器人功能模块行人

李 恒,杨 亮,曾 碧,戚远航

(1.广东工业大学,广东 广州 510000;2.电子科技大学中山学院,广东 中山 528402)

机器人是先进自动化装备和前沿制造技术的典型代表,是衡量国家高科技创新和制造水平的关键因素[1-2]。由于机器人在智能生产、餐饮服务、信息采集等领域广泛应用,机器人技术[3-4]正在不断改变制造业的运行模式,影响人们的生活方式,同时在促进经济飞速发展和社会高效管理方面发挥重要作用。而移动机器人因为其出色的作业场景拓展能力,相比传统固定位置或者固定轨迹的机器人具有更广阔的发展前景,是目前机器人技术的重要发展方向之一。

另一方面,随着机器人产业的发展,机器人操作系统(ROS)[5-7]也愈发成熟,受到国内外机器人研发人员的广泛关注。ROS 是专门用于机器人领域的开源操作系统,它的主要目的是为机器人研发人员提供代码复用支持,节约开发人员大量的编程时间,使其能够专注于某一个领域的深入研究。机器人技术和机器人操作系统不断深入的同时,仿真技术逐渐为人们所熟知,通过仿真平台模拟机器人运行的真实环境,为机器人有关实物实验提供安全可靠的依据,并大大缩短机器人的开发以及实验周期,具有安全可靠、高效灵活的优点。

因此,文中提出了一种基于ROS 的移动机器人仿真实验平台设计方案。该实验平台可以分为上位机软件、实验功能模块、仿真模块3 个部分,能够完成目标跟随、定位建图、路径规划等功能。并以目标跟随为例搭建了跟随仿真场景,针对此功能完成基于QT[8]的上位机软件设计开发和建立功能模块内部节点,最后进行实验测试。依托该平台能快速开展机器人实验并降低实验成本。

1 总体架构

基于ROS 的移动机器人仿真实验平台主要分为上位机软件、实验功能模块、仿真模块3 个部分,其总体架构图如图1 所示。

图1 系统总体架构图

上位机软件主要负责机器人移动控制、跟踪图像获取等功能,通过话题、服务、动作等通信方式调用控制器。目标跟随、定位建图、路径规划等实验功能模块构建于ROS 之上,各个功能模块通过ros_control提供的控制器对移动机器人进行操纵。硬件抽象层与Gazebo[9-10]仿真器直接进行交互,读取与写入机器人状态,并通过Gazebo 插件读取URDF(Unified Robot Description Format)[11]。仿真模块采用Gazebo作为物理仿真引擎,Gazebo 与ROS 相互协作,有良好的兼容性,通过该模块可以导入丰富的机器人模型和现实场景模型,并对多种传感器进行模拟仿真。

2 基于ROS 的移动机器人仿真平台软件架构设计

在软件实现层面,提出一种基于ROS 的移动机器人仿真实验平台的软件设计方案,软件结构图如图2 所示。

图2 软件架构图

为降低层与层之间的耦合度,结构更为清晰,软件架构采用分层模式。从上至下可以分为算法层、ROS 软件层、Linux 内核驱动层、底层硬件层。Linux系统提供的OpenNI 和串口驱动用于获取摄像头采集的图像信息以及电机驱动板获取到的电机数据。ROS 部署在Linux 操作系统之上,主要包括机器人底盘控制模块与机器人模型模块。其中,Speed2Odom把机器人运动速度信息转换为里程信息,Teleop keyboard 包可以对机器人移动进行远程键盘控制,URDF 模块提供了机器人模型统一的描述格式,机器人模型随着时间的运动变化需要TF 模块进行坐标转换。算法层中,仿真平台主要使用HOG 结合SVM[12]实现行人检测,使用siamRPN[13]目标跟踪算法对行人进行跟踪,而GMapping[14]则用于地图构建等。

3 仿真平台实验功能模块的设计与实现

该仿真实验平台具有较好的拓展性、伸缩性,可根据具体需求建立不同的功能模块。为说明模块建立过程,下面以实现机器人跟随功能为例,详细描述设计基于ROS 的目标跟随模块的过程。

3.1 目标跟随实验功能模块的具体实现流程

整个目标跟随过程可分为目标检测、目标跟踪两个部分,整体流程如图3 所示。

图3 目标跟随流程图

在行人检测部分使用方向梯度直方图(Histogram of Oriented Gradients,HOG)作为特征描述子,它通过计算和统计图像局部区域方向梯度特征来描述目标形状,随后使用支持向量机(Support Vector Machines,SVM)把行人和背景分离,从而获取行人坐标。在目标跟踪部分使用siamRPN 算法。siamRPN 主体网络结构为孪生神经网络,包括模板分支和搜索分支。其中,模版分支输入图片为视频首帧图片,搜索分支输入图片为后续待搜索图片。两个分支经过神经网络提取特征进行卷积操作获取跟踪目标位置与大小。

在移动机器人移动过程中,摄像头获取到的目标行人的图像大小与机器人和行人之间的距离成反比。在尺寸大小为640×480 的图像中设定期望位置坐标为(320,240),将目标跟踪实时的目标图像标记为(x,y),期望位置坐标标记为(xe,ye)。为了保证跟踪位置与期望位置的误差在允许范围,故对机器人的角速度ω(t)和线速度v(t)进行归一化处理[15]:

由以上公式可知,机器人移动速度与机器人和行人之间的距离成正比,距离较远时加快速度跟上目标,距离较近时放慢速度维持安全距离。此外,在跟随过程中使用紧密跟随方法,使用多线程进行控制,把直线前进与定点转向分离,在行人进行转向时机器人保持直行,延后机器人转弯时间点,缩小机器人与行人相对位置误差。

在ROS 中节点相当于每个执行计算的进程,通常每个节点实现一个功能,因此本模块设置节点关系如图4 所示。

图4 节点关系图

在图4 中,椭圆形代表节点,长方形代表话题,在Gazebo 仿真环境中,摄像头拍摄到RGB 图像后,由Gazebo 节点发布到/image_raw 话题,tracker 节点订阅/image_raw 话题获取图像,在第一帧图片使用HOG+SVM 检测行人,并在随后帧使用siamRPN 算法跟踪目标,把目标中心点坐标以及宽和高发送到/center_of_bbox 话题。follow 节点订阅话题获取目标位置后,向/teleop 控制器发送速度以及转向指令,控制机器人进行目标跟随。

3.2 仿真模块搭建

仿真模块构建主要包括场景的构建、actor 动态模型构建和移动机器人模型的导入,主要流程如图5所示。

图5 仿真模块构建流程图

Gazebo 提供了场景墙体编辑器,通过编辑器可以构建场景所需的主体墙体、地板结构等,并通过仿真器集成模型导入行人、雪糕筒、桌椅等干扰物。动态行人目标使用actor 动态模型进行构建,actor 支持模型外观与运动轨迹的设定。移动机器人模型使用turtlebot2[16]仿真模型,turtlebot2 使用ARM Coretexm3[17-18]控制芯片,配置有kobuki 移动底座、Xtion Pro深度摄像头、车轮跌落传感器,具有操作简单、可移植性强的优点。

3.3 上位机软件设计

为了提高系统的易用性和改善用户体验,该文设计了基于QT 框架的上位机图形控制软件,完成移动机器人进行移动控制以及跟踪图像获取等功能。其使用界面如图6 所示。

图6 上位机软件界面图

软件的操作步骤:首先,用户通过ip 地址与移动机器人进行连接,检测行人功能对摄像头拍摄图片进行行人检测,并在随后帧进行目标跟踪;然后,点击开始跟随按钮机器人开始移动跟随,并同步显示回传的摄像头拍摄的跟踪画面。

4 系统测试

为证明该平台方案的有效性,以目标跟随为例对系统进行测试。跟踪目标正确识别是机器人稳定跟随的前提,故分别从行人目标正面和侧面对目标识别进行干扰性测试。在机器人摄像头视野范围内设定行人、雪糕筒等干扰物增加背景复杂度,实验结果如图7所示。

由图7 可见,移动机器人在背景复杂,且存在相似行人目标条件之下依然能够对目标进行正确的识别,具有较好的鲁棒性和稳定性。

图7 干扰性测试

然后分别针对环形和S 型跟随路线(如图8 所示)对跟随紧密程度进行实验。在Gazebo 仿真环境中搭建边长20 m 的密闭环型围墙,建立以1.2 m/s 匀速移动的行人作为跟踪目标,并设立其他的行人、雪糕筒作为干扰物,移动机器人保持安全距离对行人进行跟随。使用紧密跟随方法与传统跟随方法的机器人跟随轨迹如图9 与图10 所示。

图8 跟随测试地形图

通过图9(a)与图10(a)、图9(b)与图10(b)对比,可发现使用紧密跟随方法的机器人轨迹与行人轨迹重合率明显更高,移动路线一致性更强,使得机器人更容易通过有障碍物阻挡的狭窄空间,更好地完成跟随任务。

图9 紧密跟随轨迹图

图10 传统跟随轨迹图

最后,对机器人穿越雪糕筒围成的狭窄空间进行了实验(场景图如图11(a)所示),并生成机器人与行人轨迹图(如图11(b)所示),机器人能够在没有触碰雪糕筒的条件下顺利完成跟随任务。

图11 障碍物穿越测试

从3 次不同的实验对比结果可看出,目标跟随功能模块在复杂的环境下能够实现平稳和紧密跟随,对运行空间要求较低,在障碍物较多的狭窄空间能顺利完成跟随任务,具有一定的抗干扰能力和鲁棒性。平台的功能模块可根据需要进行部署替换,通过更换不同实验模块来完成不同的功能,具有操作简单、可拓展性强的优点。

5 结束语

该文提出了一种基于ROS 的移动机器人仿真实验平台设计方案,并以机器人目标跟随为例说明了功能模块搭建以及实验结果的验证过程。该平台可以根据不同的实验需求部署目标跟随、定位建图、路径规划等功能模块。依托该平台进行机器人算法验证等实验能有效节省实验成本与时间,具有快速、低成本、高安全性验证等特点。

猜你喜欢

移动机器人功能模块行人
移动机器人自主动态避障方法
基于粒子滤波的欠驱动移动机器人多目标点跟踪控制
移动机器人路径规划算法综述
毒舌出没,行人避让
路不为寻找者而设
移动机器人技术的应用与展望
我是行人
商业模式是新媒体的核心
基于ASP.NET标准的采购管理系统研究
高校二手交易网络平台功能及技术框架分析与设计