前言:
本文的目的在于分享一种 2D移动机器人 的速度规划与控制方法,其包括时间预测模块、速度规划模块和控制模块,上述模块均为独立的算法模块由代码实现。实时预测完成任务的时间,根据预测时间规划速度,最后再根据规划的速度设计控制律。本方法定位采用2D激光雷达定位。
实际工程控制效果如下:
原始视频链接:
https://www.bilibili.com/video/BV1dr4y1z7Q5?spm_id_from=333.999.0.0&vd_source=17590aa1827095b3a788bf13037bddca
1.直线轨迹跟踪:
2.贝塞尔曲线跟踪:
.
.
上控制框图:
时间预测模块
- 可根据起点到达终点的路径距离、期望加速度、期望减速度、最大运行速度,起点速度、终点速度预测AGV完成该路径跟踪所需时间。
- 路径可以是直线、样条曲线、圆弧、贝塞尔曲线等等,路径距离为沿上述曲线或直线到达终点的距离,在路径上车辆行驶方向一致,即速度均为正或为负,当前路径的预测时间为从执行当前路径跟踪任务到完成路径跟踪任务的预测时间。
速度规划模块
- 可根据到达终点路径距离、当前沿路径行驶速度、当前路径预估时间和当前路径消耗时间规划下一时刻沿路径的命令速度和命令位置。
- 调用时间预测模块根据实时运行情况决定是否更新当前路径预估时间,并根据当前路径消耗时间、当前速度和到达目标距离预测完成任务所需时间,根据完成任务所需时间与预估时间更新AGV纵向命令速度,最终获得AGV期望的运行速度和命令位置。
控制模块
- 针对AGV不同载荷下的速度特性差异,可根据命令距离、命令速度、实际距离和实际速度由控制律输出AGV运行的命令速度。
- 控制模块的控制算法的设计采用ADRC实现位置误差、速度误差的反馈和干扰抑制功能,以实现精准控制。
通过时间预测模块、速度规划模块、控制模块和AGV纵向通道的配合,不仅能解决停车精度和作业效率的矛盾,而且还可以根据限速和实际运行情况实时地调整速度,并上传到达目标所需的预估时间,考虑到不同载荷下AGV的速度特性不同,还使用控制模块同时跟踪命令速度和位置以实现精准控制。