提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
AGV机器人多用双轮差速方案行走,速度控制策略可分为三部分:
1、径向速度控制
2、横向速度控制
3、速度耦合输出
本文根据AGV机器人的实际速度控制出发,进行讲解。
无代码
一、径向速度控制
径向速度控制分为二大步,四小步:
第一大步:基于目标的速度规划
目标速度规划是根据目标点位置,当前位置和速度,动力学约束(速度,加速度,加加速度约束)等生成一条理想的速度曲线,为机器人提供一个全局速度规划。
本文所用为:
1、s曲线速度规划
第二大步:基于位置的速度控制
当前位置速度控制是一种实时反馈控制,基于机器人当前位置,位置误差,突发性事件(避障,急停)来调整速度。
2、电机过流,位置误差引起的约束
3、贝塞尔速度约束
4、其余工况限速:避障,急停等
1.s曲线速度规划
径向速度控制中的 S曲线控制 是一种常见的加速度平滑控制方法,主要用来优化机器人从静止加速到目标速度,以及从高速减速到停止的过程。这种控制方法可以有效减少速度急剧变化带来的振动和冲击,使机器人行驶更加平稳。
输入:目标路径点,当前速度和位置,速度约束,加速度约束,加加速度约束。
理论上,根据加速度不同,可以将其分为七段:加加速阶段,匀加速阶段,加减速阶段,匀速阶段,减加速阶段,匀减速阶段,减减速阶段
存在末端路径并非停止点的情况,需要根据情况处理。
实际过程中,由于初速度,距离等限制,不一定每次都存在完整的七段,所以将s曲线简化为:加速阶段,匀速阶段,减速阶段。
需要先判断加速阶段和减速阶段是否可以达到最大加速度,然后去判断是否存在匀速阶段,这部分详情请看另一位博主的文章:
‘https://blog.csdn.net/m0_61616957/article/details/141220514’
输出:可输出速度,加速度,位置随时间t变化的函数。
其中速度随时间t变化的函数,就是我们所需要的速度规划曲线。
2.位置偏差的约束
上面s曲线速度规划,得到了一条初始速度规划曲线。
实际控制中,电机过流和位置误差也是关键的约束条件,需要在初步速度曲线上进行必要的调整:
1、电机过流检测:实时检测电机电流是否超过允许的安全阈值。如果电流过高,通过降低加速度来减小电机负载,保障安全。
2、位置误差:对于依靠地面二维码识别定位的机器人来说,根据路径中的二维码进行位置更新。
3、根据当前实际位置调整速度,使其与理想速度曲线保持一致。
4、具体实现:使用PID逐步消除误差。
3.贝塞尔速度约束(起始段和末端)
目标:进一步平滑S曲线的加速和减速阶段,使起始和终止阶段的速度曲线符合位置和动力学要求。
控制方式:这部分仍然基于 目标速度规划。我们将贝塞尔曲线与S曲线结合,优化速度曲线的边缘(起点和终点的过渡阶段),避免因速度突变导致的不稳定性。
结合方式:在S曲线的前段和后段叠加贝塞尔控制点,进一步降低初始加速和末端减速的陡峭程度。这相当于为S曲线加上一个柔和的“缓冲区”,使机器人在起步和停止时的动力学特性更加稳定。
4.其他工况限速(避障,急停等)
目标:处理各种动态工况,防止突发状况影响行驶安全。
控制方式:这一阶段采用实时反馈的 当前位置速度控制,在遇到障碍、急停或紧急减速等情况下,通过位置和环境反馈,快速降低速度。
实现方式:如果在路径执行中检测到紧急情况,忽略目标速度规划的全局曲线,优先满足当前位置的动态控制需求。此时的限速优先于S曲线和贝塞尔约束,确保紧急情况下的快速响应。
最后输出左右驱动轮速度,径向速度控制中两驱动轮速度相同。
二、横向速度控制(MPC)
差速驱动的AGV机器人的横向速度控制依靠(MPC)等算法实现。MPC横向控制主要目标是通过实时计算来保持机器人在期望轨迹上,同时稳定地控制机器人的横向位置和姿态偏差。具体到差速机器人,MPC会控制左右车轮的速度差,从而产生期望的转向效果。
一共可以分为五步:
1、建立系统模型;
2、定义目标函数;
3、确定约束条件;
4、求解优化问题;
5、将控制输入转换为差速轮速度;
1.建立系统模型
机器人模型:两轮差速AGV机器人运动学模型较为简单。在此不再赘述。
输入控制量:对于差速驱动机器人,主要控制量是左右车轮的速度