一、PID形式的跟踪
在机器人进行 PID 形式跟踪目标物体时,其实 质上 是 一个 “跟踪问题”,通过高频的目标位置刷新,实 时 的 调 整 机 器人末端的运动方向,使得机器人末端的运动方向始终指向目标物体的当前位置,随着目标物体的移动,机器人控制器需要不断的调整其末端的运动方向,直至两者的运动方向保持一致。

如图所示,当传送带速度较慢时,跟踪路径如图中一号轨迹所示,跟踪轨迹曲率较小,跟踪的效率较高;然而当传送带速度较快时,跟踪路径如图中二号轨迹所示,跟踪轨迹曲率较大,跟踪的效率较低,从而导致整个系统的效率较低。

基于PID的路径跟踪python实现_计算机视觉


PID形式跟踪的一种特殊情况,即目标物体刚进入抓取区域就进行跟踪,当抓取到目标物体,随即机器人末端减 速,然后加速到达目标物体的放置点,这种情况下抓取一个物体所需的时间即为 PID 形式 抓取 一 个物体的最短时间。

PID 形式跟踪的一般情况,即当下一个目标物体刚进入抓取范围内时,机器人还在进行抓取或放置上一个目标物体,所以在进行下一个目标物体跟踪抓取时,目标物体已处于抓取区域的上下限之间,此时抓取一个目标物体,机器人末端所运动的距离和时间都会明显变长。

综 上 所得,当传送带速度较快时,PID 形式 跟踪抓取的方法效率较低,PID形式的跟踪抓取适用于传送带速度慢的场合。

二、基于位置预测的拦截式抓取
拦截式抓取是根据目标物体当前位置,速度和加速度来计算出其将来任意时刻的位置;然后规划机器人末端的动作,使其能在最短的时间内与目标物体相遇,其实质类似于 “相遇问题”。如图所示,通过计算提前得出机器人末端与目标物体相遇的位置,从而控制机器人直接运动至此位置,这样就可以缩短机器人末端的运动距离,从而缩短抓取的时间,提高抓取效率。

基于PID的路径跟踪python实现_迭代_02


拦截式抓取的关键是抓取点的求取,由于机器人可以通过其机器人控制器计算出从当前点运动到任意目标点所需的时间,此处用to(x)表示机器人末端从当前位置运动到目标点(x,y)所需的时间。而传送带任意时刻的位置也已经求出,此处t(x)表示传送带上物体从当前位置运动到目标点 (x,y)所需的时间。xd 为两条曲线第一次相交的交点,即为抓取点,求解xd 的过程如图9所示。

基于PID的路径跟踪python实现_人工智能_03

与 PID形式的抓取 一 样,拦截式抓取可分为两种情况进行考虑,一种为特殊情况,即目标物体刚进入抓取区域,机器人末端就开始动作去抓取;另一种为一般情况,即当下一个目标物体进入抓取范围内时,机器人还在进行抓取或放置上一个目标物体,所以在进行下一个目标物体拦截抓取时,目标物体已处于抓取区域的上下限之间。

综上所得,当 传 送 带 速 度 较 快 时,拦截式抓取的方法效率较会较 PID 形式的跟踪抓取效率高,但当传送带速度较慢时,则反之。因此拦截式抓取更加适用于传送带速度较快的场合。

三、金字塔形寻优法的拦截技术
在对机械手和目标物运动轨迹交汇点的预测设计模型中,要充分考虑到两个因素:一是机械手最短时间抓取曲线和目标物运动时间曲线的单调性,保证了交点存在的必然性;二是两者的运动速度的差异性:机械手的速度一般要高于传送带的速度。正是基于这个特点,所设计的金字塔形寻优迭带迭代算法,才会具有快速的单向积聚区间,避免了算法的振荡现象,从而可以实时、准确地预测出时间最优的抓取点位置。

假设机械手开始抓取动作时的位置在分类箱的上方,此时目标抓取物在刚刚进入工作区的Upstream limit点。相同时间之后,机械手进入tr(x)曲线的B点,目标物在t0(x)曲线的A点。由于机械手的速度高于传送带的速度,所以要先到达AB的中点E。以相同的策略依次迭代计算,当机械手和目标物的距离差值到达规定的阈值后,就可以认为是找到最佳抓取点P,如图7所示。

基于PID的路径跟踪python实现_基于PID的路径跟踪python实现_04


在实际工况中,由于负载的变化和摩擦等因素,传送带的速度可能变化,不是一个恒值。这时,可以在步骤3中加入一个PID跟踪算法。