摘  要

工业4.0和人工智能技术相结合发展的趋势下,移动机器人成为智能制造、自动化物流、现代农业等领域中的主要应用方式,自主导航能力越强,生产系统就越安全、高效。本文为了克服在动态环境下移动机器人路径规划存在实时性差、路径不平滑、底层控制精度低等问题,在路径规划算法和运动控制相结合的基础上,设计了移动机器人系统,并进行了实现。本文使用SolidWorks软件建立机器人的三维物理结构模型,使机械结构达到合理的状态,使负载的分布达到最优的效果。本文用Matlab软件建立差速驱动机器人运动学状态空间模型,推导出正逆向运动学方程以及非完全约束条件,利用Jacobian矩阵求解轮速与机器人位姿速度的关系,仿真结果表明运动学模型是正确的。硬件以树莓派4B作为主要平台,配合激光雷达LIDAR、RGBD深度相机以及超声波传感器一起工作,采用多源传感器相结合的方式实现感知,采用电磁隔离技术以及模块化的通讯协议I2C、SERCIAL来提高系统在负载高时依然能够保持良好的性能。本文在算法上用传统RRT算法的随机性,用韩龙岗等(2025)提出的CDBA-RRT算法。该算法采用多种策略结合的方式对机器人在狭小空间中的搜索效率进行提升,重连可以改善路径代价,在底层控制方面用双环PID策略实时修正横向跟踪误差来达到高精度规划轨迹的目的。从实验结果可以看出该系统在复杂的环境下也具备了较好的自主性以及鲁棒性,重规划响应时间小于100毫秒,路径较平滑,为移动机器人在复杂的工业环境中大规模使用打下了理论基础并提供了一种可行的方式。

关键词:移动机器人;路径规划;CDBARRT;树莓派;PID 控制;

Abstract

With the integration of industry 4.0, AI technology and other technological breakthroughs came about new type of devices known as mobile robot which have become most common in areas like Intelligent manufacturing, Automated logistics system, Modern agriculture etc. The better the autonomous navigation is, the safer and more efficient the production system will be. The aim of this article is to solve the problems of bad real-time, bumpy road and inaccurate low level control in the path planning for moving robots in a dynamic environment. So we need to develop an intelligent mobile robot which combine path planning algorithm and motion control algorithm is designed and implemented. First create a 3d physical structure model of the robot by means of Solidworks software to make sure that the mechanical structure gets to a decent point and improve load allocation. The kinematics State Space Model for Differential Drive Robots has been created with the help of MATLAB software and the Forward, Inverse Kinematic Equations along with Non-Complete Constraint Condition has been derived. Wheel speed with respect to a robots pose velocity is done using the Jacobian matrix. From the simulation we can see that it is correct. In terms of hardware it’s a raspberryPi4B(raspberryMoblVDB), with multiple perception coming together via the different types of sensors like LIDARs, RGBD cameras and ultrasonic sensors. The electromagnetic isolation techology and modualr comunication prcolos I2C an Serial aemntained performancu undre higc loas. Algorithm is using the randomness in traditional RRT algorithm and also use the CDBA-RRT which is proposed by Han Longgang et al. (2025). This algorithm takes many strategies at once to increase the step size and also make it different, improving how fast the robot searches for things when there’s not much space around, and changes the way back and forth is done. Use path-tracing technique to do the low-level control which has two-inner loop PID method; it can also work at online situation, so that people can get right solution of lateral error problem. This allows for proper trajectory planning. From the experimental results we can see that it is quite autonomous and robust in complex situations, the re-plan response time is below 100ms and the path smoothness is relatively high. It gives out theories and solutions to the large use of mobile robot in complicated industries.

Keywords:Mobile robot,Path planning,CDBA-RRT,Raspberry Pi,PID control

目  录

摘  要

Abstract

一. 绪论

1.1 研究背景与意义

1.2 国内外研究现状深度综述

1.2.1 国外研究现状

1.2.2 国内研究现状

1.2.3 核心算法对比分析

1.3 本文研究主要内容

二. 基于 MATLAB 的机器人运动学建模与仿真

2.1 移动机器人物理结构建模

2.2 运动学模型建立

2.3 MATLAB 仿真与验证

三. 基于树莓派的硬件架构设计

3.1 核心控制单元

3.2 多源感知系统

3.3 驱动与执行机构

3.4 硬件通讯与电路设计

3.5 基于 MATLAB 的硬件系统仿真验证

四.多传感器测试

4.1 多传感器融合标定

4.1.1 相机标定原理

4.1.2 相机雷达空间标定

4.1.3 相机雷达时间同步

4.2 多传感器标定实验

4.2.1 相机内参标定实验

4.2.2 相机雷达外参标定实验

五. 路径规划算法深度解析

5.1 传统算法局限性分析

5.2 CDBA-RRT 算法原理

5.3 动态避障逻辑

六. 基于 PID 控制的路径跟踪与运动控制

6.1 双环 PID 控制器结构

6.2 前瞻点跟踪策略

6.3 控制闭环稳定性分析

七. 系统集成、调试与结果分析

7.1 软件系统集成

7.2 实验环境搭建与调试过程

7.3 性能评价指标与结果分析

结论与展望

致  谢

一. 绪论

1.1 研究背景与意义

伴随着工业4.0的全面推进以及人工智能、大数据、传感器融合等前沿技术的深入发展,全球制造业正在迅速地向智能化、柔性化、无人化转变,移动机器人是智能制造领域的主要执行工具,也是无人驾驶、智能物流、特种作业等场景的主要支撑设备,它的使用范围越来越广,由原来的结构化车间场景延伸到仓储物流、户外巡检、应急救援、医疗辅助等各种复杂的、动态变化的环境中。移动机器人自主作业能力不再只是走路径、做基础工作,而是在复杂的、不确定的环境中对它的实时感知、动态决策、精确控制有更高的要求,是目前学术界和工程界共同研究的重要领域。

1.2 国内外研究现状深度综述

1.2.1 国外研究现状

国外对于移动机器人方面的研究开始的比较早,在数学建模、容错控制以及动态避障等方面一直保持领先的水平。Sivanthan等(2024)提出一种用代价地图的快速随机抽样算法(RRT),用采样次数评价复杂环境下所得采样数据是否可以减少代价地图中每个节点的计算成本从而提高性能。Yahia 等人(2025)用Lyapunov理论做故障检测和估计,能够处理执行器部分失效或者传感器漂移造成的路径追踪稳定问题。强化学习、Sim-to-Real迁移学习也成为了新的研究热点,使复杂动态规避的能力得以提高。

1.2.2 国内研究现状

国内学者主要对算法改进和工程实际应用进行分析,对小空间适应、多目标优化、ROS系统整合等有所建树。岳凤发等人提出了融合贝塞尔曲线和稀疏采样的自适应RRT*移动机器人路径规划方法,与本文移动机器人路径规划算法的平滑性和采样效率优化有关[1]。赵晨晖等(2025)用分布式宽度脉冲神经网络WNN和马尔可夫决策过程MDP相结合的方式,来达到多目标路径优化的目的。杨洁等人提出了用改进的蚁群算法做机器人路径规划的研究方法,这和本系统中移动机器人路径规划算法的全局搜索能力以及收敛速度优化有关[2]。韩龙岗等(2025)提出了一种新的算法CDBA-RRT,该算法使用变步长以及多种策略来进行扩展,从而使迷宫环境的规划速度比以前的方法快30%左右。赵琳等人提出了全自主移动机器人全局最优路径智能规划的方法,和本系统中移动机器人在复杂环境中全局路径规划、智能决策优化有关[3]。何晨昊等(2025)用ROS做SLAM建图和路径规划,把底层驱动模块解耦开,系统可以被移植,复用也变的更好。

1.2.3 核心算法对比分析

康燕萍等人提出了基于改进蜣螂优化算法的移动机器人路径规划方法,与本系统中移动机器人路径规划算法的启发式优化和全局搜索能力的改进有关[4]。家恺等人提出了基于改进阿奎拉鹰算法的移动机器人路径规划方法,该方法同本系统中移动机器人路径规划算法的仿生智能优化和对复杂环境的适应有关[5]。算法名称,算法逻辑分类,搜索效率,路径最优性,狭窄空间表现,动态环境自适应性算法,启发式搜索,静态环境下速度快,最优在网格精度范围内,优秀,如果存在解,则快速找到,较差,需要重新对整个图像进行搜索。

基础RRT算法通过随机采样的方式运行,速度快,初值搜索较好,在亚优情况下会产生冗余折线,性能一般,采样点难以进入狭窄通道,但是用重规划后计算代价较小。RRT、改进采样速度最快、渐进最优,一般、优秀。CDBA-RRT用变步长的多个策略共同工作,取得了良好的效果,逐步达到了最优,轨迹比较平滑,表现较好,变步长策略表现最佳,多个策略协同工作。

1.3 本文研究主要内容

本文试图构建出一种完整的移动机器人自主导航与控制方案,主要包括如下四个方面的研究内容。

运动学建模、数学仿真,本文采用差速驱动模型,在非完整约束下建立机器人的状态空间方程,用MATLAB对运动学正逆解进行计算,分析Jacobian矩阵在不同运动状态下奇点及线性度。

本文将树莓派4B作为中心,设计出具有高带宽的硬件通讯链路。本文介绍激光雷达、RGBD相机、超声波传感器的结合方式,设计电机驱动的反向电动势及电磁干扰隔离电路。

本文根据韩龙岗等人工作的基础上,对CDBA策略的数学实现进行了分析。本文主要研究怎样使用启发式采样函数来减小采样空间,并且提出平滑化处理算子,使生成的路径更加符合机器人的最小转弯半径要求。

双环PID控制器设计与集成,本文对移动机器人轨迹跟踪误差进行分析,并设计出线速度环、角速度环双重环PID控制结构。本文在ROS环境下完成了算法的集成以及硬件的软硬件联调,用实际仓库环境对避障成功率和跟踪精度进行了检验。


二. 基于 MATLAB 的机器人运动学建模与仿真

2.1 移动机器人物理结构建模

本文所设计的移动机器人采用经典的后两轮差速驱动、前一万个方向轮支撑的物理结构。本文在使用SolidWorks进行3D建模时,将轮径R设为0.065m,同时将轮距L设为0.32m。本文为了保持运动的稳定性,用重心平衡分析法把电池组、树莓派主控安置在底盘几何中心偏后一点的位置上。系统在得到模型之后,从质量属性、转动惯量中提取出来并输入MATLAB以及Simulink的Simscape模块中,成为运动学仿真时的物理引擎。图2-1为本文所设计的移动机器人三维结构模型。该模型用SolidWorks软件建立,整体是后两轮差速驱动和前一万向轮支撑的物理结构。图中可以清楚地看出两个驱动轮对称安装在底盘后面,前部有一个万向支撑轮来保持平衡。底盘中部留有电池组和树莓派主控安装的位置,重心平衡分析将电池组和树莓派主控设在几何中心稍后的地方来提高运动稳定性。轮径取0.065m,轮距取0.32m,见图中相应位置。

图 21 移动机器人三维结构模型

2.2 运动学模型建立

1.模型假设与坐标系定义

本文研究的移动机器人采用两轮差速驱动方式,前部装有一个万向支撑轮。为了简化运动学建模,做出以下假设:

机器人质心和几何中心重合,车轮和地面之间满足纯滚动、无滑移条件,机器人运动平面为水平面,忽略垂直方向运动,机器人结构为刚体,忽略弹性变形。

定义坐标系如下:

2.3 MATLAB 仿真与验证

本文用MATLAB R2024b软件作为仿真环境,将步长设为0.01秒,用ODE45求解器求解。

仿真内容:S 型步态、原地旋转、急停工况。

结果说明,质心轨迹和理论值之间的误差在0.005m之内,并没有因为完整约束而出现数值漂移的现象,模型是有效的。图2-2为用MATLAB仿真平台制作的机器人运动动画截图。动画模拟了机器人在平面上完成S型步态、原地旋转和紧急停止这三种典型工况的运动轨迹。图中蓝色圆点是机器人的实时位置,红色轨迹线是质心的过去运动路径。仿真步长取0.01秒,用ODE45求解器做数值计算。由动画输出结果可知,质心轨迹同理论值之差一直维持在0.005m之内,显示出了运动学模型是正确的且具备数值稳定性的特征。

图2-2 机器人运动动画

三. 基于树莓派的硬件架构设计

移动机器人硬件架构属于支持上层算法稳定工作和准确完成运动控制的物理支撑。本章主要针对核心计算单元、多源感知系统、驱动执行机构和通讯电路这四个主要模块,对以树莓派4B为基础的移动机器人硬件系统设计进行详细的说明。

3.1 核心控制单元

本文用树莓派4B作为机器人的主控核心。该板卡搭载Broadcom BCM2711四核Cortex-A72处理器,主频达1.5 GHz,配备4GB LPDDR4运行内存,提供千兆以太网、双频Wi-Fi及蓝牙5.0等无线通讯接口。相比于传统的嵌入式平台来说,树莓派4B有如下一些明显的优点。

(1)算力强,用到4颗CPU,64位,有硬件浮点运算和NEON指令集加速度,可以并行完成ROS系统里的多个节点工作。相比于STM32F4系列来说,树莓派算力提高了大约8到10倍,可以满足SLAM实时建图、点云数据处理和路径规划算法对高负载计算的要求。

(2)树莓派支持的ubuntu 20.04 LTS系统版本可以和ROS Noetic相兼容,极大的降低算法开发、部署的难度。开发者可以直接使用ROS丰富的功能包库来实现功能,不需要自己去开发底层驱动。

(3)接口丰富性:板载40针GPIO接口、2×USB 3.0、2×USB 2.0、全尺寸HDMI、MIPI CSI摄像头接口及MicroSD卡槽,为多传感器扩展提供了充足的外部连接资源。

树莓派4B主要是对ROS Master节点进行管理,即协调激光雷达、相机、超声波等各个传感器节点之间的Topic通信以及消息转发;激光雷达数据处理上用2D占据栅格表示每秒钟大概8000多个点云数据,并且给出一个地图;路径规划算法是在毫秒甚至百毫秒级别内完成CDBA-RRT的采样、扩展和重连优化;运动控制解算是根据PID控制器输出的速度指令通过I2C总线向PWM驱动板发送控制信号。

3.2 多源感知系统

为了达到机器人的复杂环境鲁棒感知的目的,本文提出使用激光雷达、RGBD相机、超声波传感器三者的融合方式。主测距传感器为RPLIDAR A2激光雷达,扫描范围为360°、测距精度为12m、扫描频率为10Hz,一圈可以得到大约800个激光点,用来建立2D占据栅格地图。为了弥补激光雷达垂直探测盲区,使用了Intel RealSense D435i深度相机,它给出640×480深度图像和1920×1080彩色图像,内置IMU可以对视觉里程计进行定位校正并检测低矮的障碍物。另外在机器人前后左右安装了四个HC-SR04超声波传感器来构成360度近场防护网络,检测距离2~400cm,可以检测到玻璃、吸光物体等激光雷达漏检的目标。三种传感器形成了一种由远及近的多层感知结构,即“远距离激光扫描、中距离视觉识别、近场超声防护”。

3.3 驱动与执行机构

移动机器人执行部分用差速驱动方式,左右两个轮子独立工作,靠转速差来实现转向。本文选用JGA25-371型直流减速电机,额定电压12V,减速比为1:30,内置霍尔编码器,每转产生330个脉冲,经倍频后得到1320个脉冲/转,可以实现电机转速的闭环检测。由于树莓派GPIO引脚数量少且不能实现独立高频PWM输出,本文使用了PCA968516路PWM控制板来扩展IO接口,并且采用I2C协议(400kHz)和树莓派进行通信,得到12位分辨率(4096级)的PWM占空比调节。系统利用逆运动学公式将期望的线速度v和角速度ω求得左右轮的目标转速,再通过PID控制器调节PWM来达到速度闭环跟踪的目的,保证机器人可以准确地按照预定的轨迹运动。

3.4 硬件通讯与电路设计

系统遵照“强弱电分离开来”的规划理念,控制电路用5V、3A供电,驱动电路用7.4V、10A供电,两路电源分开接地,较好地削减了耦合噪声。Yahia S等人提出了基于Lyapunov的随机切换系统容错控制以及K近邻切换检测与联合故障估计的方法,与本系统中移动机器人的控制系统的容错控制和故障检测设计有关[6]。为了防止电机启停时产生的反向电动势(几十伏)干扰主控,本文在PWM输出端和电机驱动器之间加装了6N137高速光耦隔离模块,数据传输速度能达到10MBd,隔离电压2500Vrms,可以很好地阻止尖峰干扰。

3.5 基于 MATLAB 的硬件系统仿真验证

为了检验硬件电路和供电系统是否可靠,本文用MATLAB/Simulink建立仿真模型,对电源模块、光耦隔离电路、通信时序进行仿真分析。

(1)双路 DC-DC 降压电源仿真

在 MATLAB/Simulink 中搭建双路独立输出 DC-DC 降压仿真模型,分别模拟 5V/3A 与 7.4V/10A 供电支路的动态响应特性。仿真设置电机启动冲击、负载突变等典型工况,结果为两路电源输出电压稳定,电压纹波小于2%,负载突变时电压跌落小于5%,满足主控和执行机构的供电要求。图3-1为MATLAB/Simulink仿真得到的双路DC-DC降压电源输出电压波形图。图上上面红色曲线是5V/3A供电支路的输出电压波形,下面蓝色曲线是7.4V/10A供电支路的输出电压波形。仿真设置电机启动冲击(0.1s)和负载突变(0.3s)。从波形可知,两路电源稳态时输出电压稳定,电压纹波小于2%;负载突变时电压跌落小于5%,约0.02s内恢复稳定。结果说明电源模块可以给主控单元(树莓派)、执行机构(舵机)提供不同的供电要求。

图3-1双路电压波形图

(2)6N137 光耦隔离电路仿真

采用 MATLAB/Simulink建立高速光耦信号隔离的仿真模型,仿真电机侧的干扰信号对控制电路产生的影响。仿真结果表明6N137光耦可以很好地阻断尖峰干扰和噪声信号,树莓派端控制信号没有失真、没有延迟畸变,隔离效果好,可以保护主控硬件安全。图3-2为6N137高速光耦隔离电路前后信号波形对比图。图中上方波形是电机侧输入的原始PWM控制信号,带有明显的尖峰干扰和高频噪声(峰值电压大约8V,噪声幅值约2V)。下方为经过光耦隔离之后输入树莓派端的信号,可以看见尖峰干扰已经被有效地去除掉了,信号依然保持着标准的5V方波,没有失真以及延迟畸变。对比结果说明6N137光耦能很好地阻止电机启动或者换向时产生的反向电动势以及电磁干扰对主控硬件造成影响。

图3-2对比波形图

(3)I2C 与串口通信时序仿真

用MATLAB建立I2C和UART通信时序仿真模型来检验多个设备同时通信是否稳定。经由仿真得知,在系统工作状况下各传感器均正常工作时不会出现数据通信冲突、无丢包的情况。图3-3为I2C、串口通信时序仿真波形图。图中上半部分为400kHz频率下I2C通信波形,即时钟线SCL、数据线SDA的信号变化情况,下半部分为115200b/s波特率下UART串口通信波形,即发送线TX、接收线RX数据帧格式。仿真模拟出多个传感器同时工作的情况。时序图显示各个通信通道之间没有数据冲突的现象,数据帧是完整的、没有丢失的,信号跳变沿很清楚,传输延迟小于1ms,可以满足ROS节点对于传感器数据实时性的要求。

图3-3时序图

(4)仿真结果表明,用MATLAB仿真的结果可以证明本文提出的硬件系统,在供电稳定度、信号抗干扰性以及通信实时性方面均能满足移动机器人导航系统的要求,结构合理。

四.多传感器测试

4.1 多传感器融合标定

本文在构建地图时要将相机数据转换到雷达坐标系中,完成数据融合,需要获取两个传感器之间的外参,即标定。另外,由于相机和激光雷达的采样频率不一样,因此还要对二者的时间进行同步,以保证融合采样的同时性。本文的实验场景为室内环境,移动服务机器人的工作区域都是在室内平面上完成,IMU坐标的系和机器人的本体坐标系是重合的,激光雷达坐标系和机器人本体坐标系已经存在变换关系,所以不标定IMU与其它传感器的外参,只标定激光雷达和相机的外参。

4.1.1 相机标定原理

在进行相机雷达标定前,首先要对相机的内参进行标定,即畸变消除。相机的成像过程要经过这三个主要坐标系之间的转换。理想情况下相机成像过程中的三个主要坐标系之间的转换。图4-1给出了相机成像过程中三个主要坐标系之间变换的关系。图中分为三行,第一行是世界坐标系到相机坐标系,第二行是相机坐标系到图像坐标系,第三行是图像坐标系到像素坐标系。每一个变换步骤都给出了相应的变换矩阵类型。该图很好地展示了三维空间点最后映射到二维图像像素的过程,给相机内参标定和外参联合标定提供了理论依据。

4.1.3 相机雷达时间同步

对相机和激光雷达进行数据融合除了需要获得两者的外参参数外,还需要对其时间戳进行同步,也就是获取相机雷达同一时刻的数据,但相机和雷达的频率不同,本文使用的雷达频率为10Hz,相机为30Hz,因此需要进行标定,使时间戳对齐。本文的实验使用的是 ROS 操作系统中基于 C++与 python 编程语言实现的滤波程序库

里的时间同步器组件来实现数据采集的时间同步。该同步器具备双重时间对齐能力,可灵活选择精确时间戳对齐或近似时间戳对齐方案。针对移动机器人平台的资源约束特性,实际采用计算开销更低的近似同步模式。如图 4-7 所示,系统在获取激光雷达数据时,会自动匹配时间戳最接近的相机图像帧,实现跨模态传感器数据的时间对齐。这个过程涉及比较相机数据和雷达数据的时间戳。当时间戳的差异小于设定的阈值时,同步器将执行匹配操作,将相机数据和雷达数据对应起来,如果时间差超过阈值时,匹配不会执行。通过这种匹配,我们可以获得在相同时间点上的相机图像和激光雷达点云数据,从而进行传感器融合。图4-7展示了相机与激光雷达数据时间戳同步的工作原理。图中左侧为激光雷达数据流(10 Hz),右侧为相机数据流(30 Hz),中间为ROS message_filters时间同步器。同步器分别订阅两个传感器的话题,比较两帧数据的时间戳差异。当

小于预设阈值时,同步器将激光雷达帧与相机帧进行配对,输出时间对齐的融合数据;当时间差超过阈值时,不执行匹配。图中用不同颜色标注了同步成功与失败的匹配案例,直观体现了近似时间戳同步策略的工作流程。

图 4- 7 时间戳同步原理图

本文中相机和雷达的时间同步是用ROS来实现的。首先,二维激光雷达节点和相机节点把采集到的点云数据和图像数据发布到 ROS的话题(Topic)上。时间同步器节点同时订阅这两个话题,实时接收到激光雷达、相机的传感器数据。时间同步器点检测到激光雷达数据和相机数据时间戳的差异小于一个事先设定好的阈值时,就会触发回调函数来执行后面的融合处理。图4-8、图4-9为同步前后的时间戳,图中可以看见时间戳大体上是同步的。图4-8用散点图的形式展示时间同步前激光雷达数据和相机数据的时间戳分布。横坐标是数据帧的序列号,纵坐标是时间戳值(秒)到数据帧之间的距离。图中蓝色圆点为激光雷达数据,红色叉号为相机数据(30Hz)。从图中可以看出,两种传感器数据的时间轴上是不均匀的,没有对齐关系,如果直接融合的话就会产生时间错位,从而造成感知结果出错。

图 4-8 时间戳同步前

图4-9为经过message_filters时间同步器处理后的时间戳对齐结果。绿色圆点是被正确配准好的激光雷达和相机的数据对。从图可知每对匹配数据的时间戳差都是在设定阈值之内的,在时间轴上是均匀的分布的。该结果说明时间同步器把10Hz激光雷达数据和30Hz相机数据近似时间对准,给后面的多传感器融合提供了一个可信的时间基准。

图 4-9 时间戳同步后

4.2 多传感器标定实验 

4.2.1 相机内参标定实验

在进行相机雷达联合标定之前,首先要对相机的内参进行标定,相机标定的质量会对后面的目标检测结果造成重大影响。本文内参标定实验使用的是张正友标定法。张氏标定法比其他标定方法只需要一块棋盘格标定板,能够满足大部分场景的标定需求。

本文实验用到的是8行11列的棋盘格标定板,每一个黑白格子的边长是30mm。标定时主要用固定相机的方法,使相机的位姿不变,拍摄不同角度、不同位置的棋盘格图片。一共收集了24张图片,图4-10给出了用于相机内参标定的24个棋盘格图像。棋盘格为8行11列,黑白格的边长是30mm。拍摄时保持相机位姿不变,移动棋盘格标定板到不同的角度(俯仰、偏航、滚转变化),不同的位置(图像中心、四角、边缘),不同的距离(0.5m~1.5m)。图中用缩略图阵列的形式给出了部分标定需要的几何信息丰富的图像,保证标定结果的鲁棒性及精度。

图4-10相机标定图片

本文主要使用的是 OpenCV 中的相机标定程序,对每张图片中的角点进行提取,然后将角点标示出来,进行标定,最终对结果进行评定,如果成功的图片少于10张,则会被认定为标定失败。识别的棋盘格角点。图4-11展示了OpenCV相机标定程序对棋盘格图像进行角点检测的结果。图中棋盘格图像上叠加了绿色圆圈标记,每个圆圈对应一个检测到的棋盘格内角点。本实验中每张图像可检测到(8-1)×(11-1)= 70个角点。程序通过亚像素精确定位算法进一步提升角点坐标精度。图中右下角显示了成功检测角点的图像序号及角点数量,成功识别的图像用于后续内参矩阵与畸变系数的计算。

图4-11角点提取

相 机 标 定 实 验 获 得 的 内 参 为

畸 变 系 数 为

[0.0950 0.19240 0.00063 0.00023 0.06845]

4.2.2 相机雷达外参标定实验

完成相机内参标定之后,接下来进行相机和雷达的外参标定。标定板还是用的棋盘格标定板。首先将棋盘格参数输入到代码中,手持标定板到相机和二维激光雷达前方0.7m左右处,在手持过程中需要保证标定板在相机视野范围内,同时保证二维激光雷达激光束能打在标定板上。开启 rosbag 录制功能包,从不同的角度、不同的位置对相机和二维激光雷达数据进行采集,并保存起来。

得到采集的数据后,将录制的 bag 文件路径写入,运行标定代码。在标定过程中,发现激光束自动检测的效果较为一般,会出现误检测,导致标定效果较差。因此,本文通过手动分割的方法,将一帧激光中打在标定板上的激光束分割出来,然后与相机数据进行标定。分割得到的激光束。图4-12展示了二维激光雷达一帧数据中,通过手动分割方法提取出的打标定板上的激光束点云。图中背景为灰度化的激光雷达强度图,红色高亮点云表示被手动框选分割出的有效激光点。这些激光点均落在标定板平面区域内,坐标在激光雷达坐标系下表示为 。通过手动分割,避免了自动检测中可能出现的误检问题,从而提高了后续外参标定的精度。

图4-12手动分割后的激光束

图4-13展示了相机与二维激光雷达联合外参标定的投影验证效果。图中左侧为相机采集的棋盘格标定板彩色图像,右侧为将激光雷达点云数据经外参变换矩阵 投影至图像平面后的叠加效果。红色圆点表示激光束投影点,绿色方框表示标定板检测区域。从图中可以看出:红色激光点云完整且准确地落在棋盘格标定板的区域内,边缘与棋盘格边界基本重合,无明显偏移或发散。该结果表明求得的变换矩阵  具有较高的标定精度,能够满足多传感器数据融合的实际需求。

图4-13标定结果

将分割后的二维激光雷达数据保存下来,并将其路径写入,运行标定程序,程序结束后终端会输出相机与二维激光雷达之间的变换矩阵。相机雷达外参标定实验获得的变换矩阵

六. 基于 PID 控制的路径跟踪与运动控制

移动机器人路径跟踪控制属于完成高精度自主导航的重要部分。规划算法所给出的理想路径一般是由许多离散路径点组成的,但是由于机器人自身运动学限制、轮地摩擦非线性、传感器噪声以及行驶过程中细微的扰动等原因,开环控制方式很难使机器人准确地复现规划轨迹。

需要设计一个具有反馈校正功能的运动控制器,对机器人实际位姿和期望路径之间的差异进行及时比较,然后根据比较结果改变驱动轮的转速,以达到高精度路径跟随的效果。本文在对差速驱动机器人运动学特性进行充分分析的基础上,设计了一个采用双环PID控制结构、结合前瞻点跟踪策略的路径跟踪系统,在复杂的环境里可以使机器人准确、平稳地跟随规划的路径。

6.1 双环 PID 控制器结构

本文使用角速度环和线速度环相结合的方式,对机器人航向角偏差和横向跟踪误差做独立的修正。Mostafa J等人提出了使用较小时延的轮式移动机器人学习模型预测控制法,该模型与本文所述的移动机器人路径跟踪控制器模型预测优化以及延迟补偿设计有联系[9]。角速度环属于内环,它的输入量是机器人当前航向角和期望路径切线方向之间的偏差。线速度环属于外环,它的输入量是机器人质心到期望路径的最短距离,也就是横向跟踪误差。机器人偏离路线太远的时候,线速度环会立刻减小行驶速度,给角速度环足够多的时间去修正,从而防止由于速度太快造成的大幅度摆动或者失稳。

两个控制环一起工作,内环是航向变化的快速响应环,外环是宏观路径的纠偏环,二者结合使用可以得到响应速度快、稳态精度高的控制结构。经过多次参数整定实验,本文得到的角速度环PID参数为比例系数1.2、积分系数0.05、微分系数0.08,线速度环PID参数为比例系数0.8、积分系数0.02、微分系数0.05。这组参数可以取得良好的响应速度和抗干扰效果。

6.2 前瞻点跟踪策略

传统路径跟踪控制的控制器一般把机器人当前位置最接近的一个路径点当作跟踪目标。但是该控制策略很容易造成机器人出现追逐振荡的现象,即机器人每经过一个路径点就会立刻转到下一个路径点上,从而使运动轨迹变得非常尖锐,行驶起来十分颠簸且能量消耗过多。Youngmin Y等给出城市环境下全尺寸自动驾驶巴士使用扫掠区域的换道路径规划方法,该类方法同本文中的移动机器人在结构化环境中路线规划以及换道策略改进相关联[10]。为此本文采用了前瞻点的跟踪策略。前瞻距离的选取会对控制性能产生较大的影响,当前瞻距离过短的时候,机器人对于路径局部的曲率变化非常敏感,容易出现频繁转向的情况,当前瞻距离太长的时候,机器人就会“绕远道而行”,进而陷入窄小通道中。

因此本文设计了一个以车速为依据的前瞻距离自适应机制,使得前瞻距离随着当前的线速度而改变。高速行驶时前瞻距离会变大,让机器人提前对前方的弯道进行感知并慢慢转向;低速行驶或者穿过狭小的地方的时候,前瞻距离就会减小,使得机器人可以准确地跟上复杂的轨迹。本策略在平滑性以及贴合精度两个方面达到了自适应的效果。

6.3 控制闭环稳定性分析

为了检验双环PID控制器实际的跟踪性能,在MATLAB仿真环境里建立了完整的闭环控制系统模型,用S型蜿蜒路径作参考轨迹来测试。仿真时在均值为0、方差为0.02米的高斯噪声上加上噪声,代表了真实情况下,测量装置无法完全准确地给出位置。另外在机器人运动模型里加入±5%轮速执行偏差来代表电机响应不同、地面摩擦不均等非理想情况。

仿真实验分为开环控制和闭环控制两种模式的对比。在开环控制模式下,机器人只用逆运动学模型来算出轮速的指令,不会对实际行驶偏差做任何的反馈修正。仿真结果表明由于初始位姿误差和模型参数的差异,使得机器人轨迹与参考路径之间横向误差随着行驶距离的增大而增大,最大误差达12厘米左右,在路径转弯处比较明显。切换到双环PID闭环控制之后,控制器依靠角速度环、线速度环的即时反馈修正来很大程度上压制了误差的发散趋向。仿真数据显示闭环控制的横向跟踪误差可以被控制在2.5厘米之内,稳态误差趋于零。积分项可以消除由于轮径不一致所引起的静差,微分项可以抑制误差快速变化的时候出现的超调、振荡。闭环系统幅值裕度、相位裕度均符合稳定性判据的要求,说明控制器在典型工况下有较好的鲁棒性。


七. 系统集成、调试与结果分析

在完成运动学建模、硬件架构设计、多传感器标定、路径规划算法改进和PID跟踪控制器设计等各个模块的独立验证之后,本章将这些模块集成在一起形成一个完整的移动机器人自主导航系统,在真实的室内仓储模拟环境中做综合调试和性能评价。系统集成指搭建软件框架,设置各个模块间的通讯协议,并使传感器数据尽快地融合到规划和控制的算法当中,从而实现三个模块的协同。

本章主要对本章提出的算法和参数组合,用多组对比实验对其性能做了定量分析,即规划效率、路径质量、避障鲁棒性、实时性四个方面,证明了本文所提技术方案是有效的,并具有工程可行性。

7.1 软件系统集成

本文基于ROS Noetic框架建立移动机器人模块化软件系统,用分布式节点的方式把感知、规划、控制等模块解耦并协同起来。何晨昊等人提出了以ROS为平台的移动机器人路径规划研究方法,并且和本文中移动机器人路径规划算法的ROS框架以及多节点协同优化有关[11]。传感层运行激光雷达驱动节点、RGBD相机驱动节点,分发频率分别为10Hz、30Hz的点云数据以及深度图。

决策层是本文的主要贡献之处,将改良过的CDBA-RRT路径规划算法封装成ROS插件,并且将其嵌入到move_base功能包的全局规划器模块里,取代了原来的规划器。插件会收到感知层的栅格地图以及定位模块的当前位置在接收到目标点之后会使用CDBA-RRT算法计算出全局最优点,通过动态重规划的方式来适应环境的变化。驱动层用rosserial协议与STM32电机控制板进行串行通信,把PID控制器输出的线速度、角速度指令解析成PWM占空比信号,发送到电机驱动板上。系统运行时所有的关键数据都可以用rviz可视化的工具实时监控,有利于调试和故障查找。

7.2 实验环境搭建与调试过程

为了对系统在复杂的动态环境中做全面的检验,在室内模拟仓库环境下建立了专门的测试平台。实验场地尺寸为长10米、宽8米,地面是铺设平整环氧地坪漆的地面,模拟的是工业仓储的常见地面条件。场地内布设了六个形状不规则的纸箱作为静态障碍物,单个纸箱尺寸大约为长0.4米、宽0.4米、高0.5米,随机分布在场地中部。在场地一侧设一条宽0.5米、长2米的窄小走廊,对算法在狭小空间里的通行进行试验。动态障碍物用一台遥控移动小车来模拟,这台小车的速度约为0.4米每秒,在L型轨道上往复运动,与机器人的规划路线发生交叉。

机器人起始点设在场地左下角,目标点设在场地右上角,两点之间的直线距离约为12米,规划路径要绕过所有静态障碍物,并穿过狭窄的走廊。实验分三大部分。静态环境下只对传统的RRT算法和本文提出的CDBARRT算法进行25次运行,得到规划时间、路径长度等参数。第二阶段为动态避障测试,开启动态移动小车,测试两种算法在碰到突发障碍物时的重规划成功率以及响应时间。第三阶段就是把系统各部分联调,检验由传感器采集、地图建立、路径规划、PID跟踪控制组成的所有过程协同完成情况。每组实验做5次取平均值来消除随机因素的影响。

7.3 性能评价指标与结果分析

第一项就是规划效率,即系统收到目标点之后生成一条可行路径所需要的时间,单位是毫秒,体现算法的计算速度。曹腾等提出了带有预设性能的多移动机器人轨迹跟踪控制方法,和本系统中多移动机器人轨迹跟踪控制的预设性能以及协同优化设计有关[12]。第二项为路径质量,用路径长度和平均曲率两个子指标来表示,路径长度越短,能量消耗越小,平均曲率越小,轨迹越平滑,对电机的磨损就越小。

杨昊航提出基于PLC的智能电梯控制系统设计方法,和本系统中移动机器人控制系统和PLC协同控制的设计有关[13]。避障鲁棒性就是机器人在有动态障碍物干扰的时候,能将目标点移到成功次数所占的比例。姜佩贺等提出了改进的RRT算法移动机器人路径规划研究方法,与本文中移动机器人路径规划算法的改进以及复杂环境适应性验证相关[14]。第四项是实时性,即机器人检测出动态障碍物之后,从检测到生成避障路径所需要的响应时间,单位为毫秒。

共做了50组对比实验,其中传统RRT算法有25组,本文改进的CDBA-RRT算法也有25组。戴雨果等人提出了使用改进双向JPS算法的移动机器人路径规划方法,该方法和本文所用移动机器人路径规划算法的双向搜索优化、复杂环境适应性有相关之处[15]。从表可知,用传统的RRT算法求解时平均规划时间为118.4毫秒、路径长为12.67米、曲率是0.42米、成功率82.0%、重规划时间为210.5毫秒。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐