机器人运动控制算法(自动机器人移动小车主要算法原理浅析)
Posted
篇首语:志高品高,志下品下。本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器人运动控制算法(自动机器人移动小车主要算法原理浅析)相关的知识,希望对你有一定的参考价值。
机器人运动控制算法(自动机器人移动小车主要算法原理浅析)
移动小车的算法原理
现在有很多智能小车出现在大街上,大家会好奇这玩意和遥控车有啥区别?基础版本最大的区别就是智能小车知道自己在哪!知道去哪里!这个就需要坐标的概念,下面文章就是简单介绍下小车的坐标转换关系!
对于基础的自动化移动小车,非常重要的是:
- 我们要知道小车在哪?
- 怎么让小车到达指定位置?
知道这两点我们就可以编程让小车按照程序逻辑运行!
我们用一个小车模型在世界坐标系里图示讲解这些原理,原理很简单!
下面就用图示分四步一步一步讲解的这个原理:
第一步:
图1中,小车在世界坐标系O里,小车用后轮电机作为原点建立自己的坐标系V;
想知道小车在哪里,其实就是表示小车坐标系V在世界坐标系O中的位置!

第二步:
找到我们已知的参数:
小车的运动速度(电机速度)Vx,沿着Xv坐标系方向;
小车的转向角度r,可由转向轮电机得出;
小车的轴距L,机械参数,固定不变的;
如图2,这几个参数我们能推出所有需要的数据!

第三步:
怎么求小车基于自身坐标系下的位置?
小车拐弯有个旋转中心ICR,小车速度是Vx,虽然小车在拐弯,小车的速度依然是Vx,速度方向就是R1半径圆的切线方向!进而可以求出角速度:
Cv=Vx/R1;
通过三角函数可以求出:
R1=L/tan(r);
通过小车速度,可以得出小车行走的距离;
R1、角速度Cv和小车走的距离知道后,就可以求小车相对于自身坐标系的下个点的坐标X/Y值了!

第四步:
小车基于自身坐标系下的值知道后,后面就是把坐标系转换成世界坐标系了,转换二维坐标系的唯一参数就是坐标系旋转角度b,如下图所示!
知道了角度b,可以求出,世界坐标系O下的小车速度:
Ox=Vx * cos(b);
Oy=Vx * sin(b);
进而再求出小车在世界坐标系下的坐标值!
角度b怎么得到的?
理论情况下,小车需要一个基点,就是把小车坐标系和世界坐标系重合,通过速度和转向角的变化求出b,实际使用中会借助外部设备陀螺仪或外部传感器或视觉精确定位!

自动小车的简单算法原理就阐述到此!
现实的小车会复杂很多,需要各种各样的传感器,视觉,运动控制算法,机械上还需要阿克曼转向机构,但是最基本的切入点就是我上面所说的!
大家感觉有用或者有兴趣,请关注我,我会持续给大家更新有趣的实用的程序和框架知识!
相关参考