基于导航定位的多机器人协作研究(1)

现在的任务是控制单个机器人转到一个特定的朝向,机器人的运动方式是旋转运动。现在的设想是:在VC++平台下,进行循环处理,下面是一个循环的任务:每个xx秒对图像进行采集,首先判断机器人中心位置和目标位置的距离,如果等于0,则机器人停止运动,如果小于0,表示出错;如果大于0,则进行下面的步骤。然后判断机器人的实际朝向和应该朝向之间的角度差值,如果差值等于零(小于等于5度),则控制机器人超目标直线运动。如果差值不等于0,则控制机器人转向。(然后得到A时刻机器人的朝向,然后计算机器人中心(两个圆片圆心连线的中点)和目标位置连线的直线L1和两个圆片连线L2之间所形成的角度,如果这个角度不小于等于,就控制机器人转向)。依次循环。

具体控制的过程(不加优化控制算法,比较原始的方法):每个循环控制机器人转5度,如果判断机器人实际朝向和应该朝向之间的角度差值小于等于5度,那么接下来控制机器人超目标位置运动一定距离,比如说5厘米,然后进入下一个循环,依次循环。

具体控制过程(采用模糊控制算法):输入变量1:机器人实际位置和目标位置的距离

输入变量2:机器人实际朝向和应该朝向之间的角度差值,利用模糊控制规则对两个变量的组合模式进行判断,并输出控制量,左右两个电机的运动方向和运动速度。



猜你喜欢

转载自blog.csdn.net/eastgeneral/article/details/16350091