物流分拣机器人设计

2023-01-06 03:38王昱琪熊绍托齐岩松韦隆圣张紫轩
科技风 2022年36期
关键词:激光雷达卷积神经网络

王昱琪 熊绍托 齐岩松 韦隆圣 张紫轩

上海工程技术大学机械与汽车工程学院 上海 201600

随着网络的普及以及电商平台的建立,信息化使如今的物流行业飞速发展,包裹分拣环节的任务量和错误率逐渐上升。因此,设计一种可以自动分拣包裹的机器人对实现物流行业的智能化具有重要意义。目前,依赖多传感器进行自主移动的机器人的研究体系已较为成熟,人工智能算法不断被提出并优化。与软件系统发展相协调的,是体积小、算力高的嵌入式硬件系统持续更新。

在过去的研究中,众多文献都提到了自主移动机器人。文献[1]研究提出了一种基于高斯分布重采样的Rao-Blackwellized粒子滤波SLAM算法,改善了因缺乏粒子多样性而造成的估计不精确问题。文献[2]研究得出将机器人SLAM和目标状态估计作为整体进行粒子滤波估计,进而提高了目标状态估计的准确性。文献[3]研究得出改变采样方式和滤波条件对蒙特卡洛算法进行改进后实时定位精度较高、抗干扰性较强。文献[4]研究得出在每个卷积层后面添加BN层可以增强规范性,通过迁移学习可以有效提升模型的泛化能力。文献[5]研究得出根据机器人所运输的物流件的质量和机械臂上各连杆的尺寸可以逆向计算求得连杆所受的力和力矩。文献[6]探讨了激光雷达测距与建图方法,并提出了两种改进算法。文献[7]提出了从雷达点云中提取面元表达环境以实现室内精确定位和建图的方法。文献[8]研究分析了传统的三种路径跟踪方式,提出了改进后的基于神经网络的移动机器人路径识别方法,通过实验表明控制机器人使其按照所识别的路径曲率进行跟踪,可以提高机器人的路径跟踪精度。

1 硬件系统

图1为系统硬件概述。分拣站点内部有多台计算机和机器人,机器人以NVIDIA Jetson TX2作为控制系统。计算机与机载NVIDIA Jetson TX2配置在同一局域网络下并建立主从关系,计算机作为从机,机载NVIDIA Jetson TX2作为主机。

图1

将NVIDIA Jetson TX2与用于测量障碍物点云数据的激光雷达,用于收集深度信息、进行图像识别以及二维码识别的视觉传感器,用于提供外部视觉位姿估计的IMU传感器,用于测量机器人在运动通道上与通道边缘距离的超声波传感器,用于测量机械臂夹持状态的压力传感器连接。由Arduino充当运动控制中心,Arduino与光电码盘相连,光电码盘通过串口为板载计算机提供里程计数据,程序通过PID(比例积分微分)运动控制算法实现对电机的精准驱动。该机器人配备了一个电源系统,用于电能分配并为决策单元、运动控制单元以及执行单元供电。

1.1 传感器介绍

机器人系统包括:(1)深度相机,与激光雷达相配合的深度摄像头可以为创建二维栅格地图提供深度信息。此外,在匹配货物时通过扫描货箱上的二维码提取货物信息,进而控制机械臂动作。(2)USB相机,机器人机身前方固定的USB相机可以收集环境信息作为神经网络输入端数据。(3)激光雷达,当机器人在快递站点的货架间移动时,激光雷达用于建立地图并根据地图进行自主定位和规划路径。(4)IMU传感器,作用是提供位姿估计,其内由三个三轴传感器构成,分别是加速度计、陀螺仪和磁力计,能够感应线性加速度、角旋转速度和磁场矢量。(5)超声波传感器,提供机器人距离道路边缘的距离信息。由于神经网络在达到最优化之前会经历神经元权重与卷积核不断迭代调整的过程,因此提高初期的分类正确率尤为关键。根据实验结果人为调整一个距离阈值,当距离大于该阈值时,增加直行结果的权重;当距离小于等于该阈值的时候,增加转向结果的权重,可以提高神经网络分类的准确率。(6)压力传感器,当机械臂前爪内侧的压力传感器达到阈值并被触发后,视为货物被夹紧,机械臂开始搬运。

1.2 控制系统介绍

控制系统主要由两部分组成。(1)决策控制:由运行ROS的从机与板载的NVIDIA计算机组成,NVIDIA计算机主要负责采集底盘与传感器信息,并实现部分算法,而ROS从机经过配置之后与NVIDIA计算机以主从方式工作,并负责执行高级算法。(2)运动控制:以Arduino为主控制器的运动控制系统。由于PID控制具有较好的鲁棒性并且易于实现,因此运动控制单元采用PID闭环控制,光电码盘在PID调节之前可以精确测量里程信息。

1.3 执行系统介绍

执行系统主要包含两部分。一是三轴全向轮电机驱动系统,即驱动单元由一个驱动器和三个电机组成,每个电机连接一个全向轮。该方式可以控制机器人的前进、后退、转向、旋转、平移,增加了机器人运动的灵活性。二是抓取货物的多自由度机械臂,由多个舵机通过连接扩展板上不同的端口,在压力传感器的帮助下,稳定抓取不同尺寸的货物。

1.4 电源系统单元

该机器人由可充电锂聚合物电池供电,并通过一种简单的电池管理系统实现。电源系统可以合理地进行电能分配并保证两组24V、2600mAh的电池均匀放电,保证机器人在较长时间内运行。它们被安置在固定于机器人载物台下方的电池箱中,以便从机身上拆卸。其中一个电池组连接到电源模块,另外一个电池组连接到电机驱动器。

2 软件系统

如图2所示,提出了系统的软件概述。首先,在ROS从机上,有两个控制高级算法的部分,分别是计算机视觉和卷积神经网络。其中,通过调用工作空间下的对应功能包和手动更改相关配置文件实现在货架区域自主移动,其效果可以在从机的插件中可视化显示。TensorFlow的内置函数简化了搭建和调整神经网络的过程。OpenCV库中内置了图像识别模块,可以训练二维码识别模型。在主机上应用了如下的功能包,分别是用于激光雷达数据采集的rplidar_ros,用于摄像头数据采集的astra_camera和usb_camera,用于imu数据采集的9 dof_imu,用于里程计数据采集的ros_arduino。Arduino通过PID进行调速。

图2

3 主程序和算法

如图3概括了机器人的主程序。该程序由两个主要模块构成,分别是SLAM模块和路径识别模块。路径识别模块中将与道路边缘距离作为调整分类权重的依据。SLAM模块通过调用相应功能包完成自主导航。

两种主要算法的实现过程:首先说明创建栅格地图的方式。该机器人利用ROS提供的Gmapping包来生成地图。该功能包集成了Rao-Blackwellized粒子滤波算法,可以根据激光数据和姿态数据建立一个由网格构成的2D地图。

建图完成之后可以进行自主导航。自主导航需要调用的功能包是move_base,move_base提供了ROS导航的配置和运行接口。它主要分为全局路径规划和本地路径规划两个部分。该功能包可以配置四个文件,分别是:(1)通用地图配置文件,该文件可以设置检测障碍物以及自由空间的最大范围,与障碍物的最小距离以及代价参数等。(2)全局规划配置文件,该文件可以设置全局代价地图的参考系、地图更新频率和分辨率等信息。(3)本地规划配置文件,该文件用来设置本地代价地图的相关参数。(4)本地规划器设置,该文件可以设置行进转弯速度以及速度和加速度的阈值。导航过程中,我们需要调用amcl功能包完成自主定位功能,amcl功能包提供了自适应蒙特卡洛定位算法,可以根据建成的地图模型使用粒子滤波器估计机器人位置姿态。

以下说明建立神经网络的方式,在ROS从机上,以TensorFlow为框架编写Python程序,该任务中拟采用经典的ResNet网络进行损失迭代,初始化过程中的所有参数由特定域内的正态分布的随机数构成。

初始化神经网络后,需通过ROS从机控制机器人底盘收集路况环境信息并人为给予每个训练数据标签,将所有带标签的训练集分成若干束发送到ROS主机上。训练集首先进入输入层中,之后经过卷积——池化——全连接层。算法会利用梯度下降法不断迭代调整卷积层的卷积核以及全连接层的神经元权重,若最终准确率与贝叶斯错误率相差较大,需要调整超参数和优化算法。优化算法可以参考Momentum、RMSprop以及Adam等。超参数调整则包括正则化、归一化、卷积、激活等过程。神经网络建立完毕后,权重文件会被发送给NVIDIA计算机,使机器人具备路径识别能力。

图3

结语

本文设计了一种可以在物流分拣站点自动化搬运货物的机器人。这种设计方式结合了传统的多传感器协同与新兴的人工智能算法,使机器人效率达到最大化,为物流分拣这一流程提供了新的思路。不足的是机器人成本稍高,且算法的优化需要周期进行调整。因此,在实际应用前需评估其经济价值并思考提高前期识别准确率的方式。

猜你喜欢
激光雷达卷积神经网络
手持激光雷达应用解决方案
基于递归模糊神经网络的风电平滑控制策略
基于3D-Winograd的快速卷积算法设计及FPGA实现
法雷奥第二代SCALA?激光雷达
卷积神经网络的分析与设计
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于激光雷达通信的地面特征识别技术
基于神经网络的中小学生情感分析
基于激光雷达的多旋翼无人机室内定位与避障研究