舵轮AGV可以通过调整两个舵轮的角度及速度,可以使小车在不转动车头的情况下实现变道,转向等动作,甚至可以实现沿任意点为半径的转弯运动,有很强的灵活性。 因此在AGV行业,这种驱动方式应用很广,但是目前能做好控制的厂家并不多。国内比较好的厂家主要有沈阳新松机器人、苏州华晓精密、上海同普,还有部分新创企业,苏州极客嘉智能科技有限公司,做的也很好。

该种AGV,一般包含两个舵轮,通常布置在AGV车体中心前后、或AGV车体对角分布。如图:

本文将以在车体中心前后分布方式的AGV为例,进行分析。

大家都知道舵轮的参数有线速度大小、角速度大小、舵向值(v,w,a)三个参数(舵轮线速度方向一定等于舵向值)。同时我们控制双舵轮AGV去跟随路劲的时候,导航算法控制器也会给AGV下发线速度大小、线速度方向、角速度(不同于差速轮AGV,舵轮AGV可以全向行走,因此线速度方向是可以不同于AGV的航向角的,本文假设的线速度方向相对于AGV航向角),然后AGV舵轮驱动算法,将根据导航算法下发的三个参数来解算两个舵轮的三个参数。

我们可以将该AGV简化成两个舵轮旋转中心支点刚性连接的情况,以两舵轮旋转中心点来计算AGV线速度和角速度。

已知导航算法下发给AGV中心点的参数为(V,W,A),两舵轮之间的距离D,求舵轮1的参数(V1,W1,A1),舵轮2的参数(V2,W2,A2)。如下图:

其中W=W1=W2;

第一步:已知参数(V,W,A),求AGV的旋转半径。

根据A可知旋转半径与AGV中心点速度的几何关系,如下图所示“:

第二步:由于两个舵轮旋转中心支点与AGV是刚性连接,所以两舵轮的中心支点必定与AGV旋转中心同心。

将AGV旋转中心与两舵轮旋转中心点连接,如下图;

这里问题变成了,已知A、R,求R1,R2,A1,A2;(提示简单的三角几何计算);

R1、R2、A1、A2就算到这里。

 第三步:由于r=v/w,W1=W2=W,所以

V1=V*(R1/R);

V2=V*(R2/R);

第四步:将V1、V2、A1、A2分别解算出来,下发给两舵轮控制器,双舵轮AGV就可以按照你的导航算法去运动了。

就讲到这一步,再有其他问题,工程师要养成独立深度思考的习惯,自己去搜索,自己去分析解决。

另外,双舵轮的里程计,也可以根据此文章,倒退计算出来。

本篇文章新鲜出炉,未经审稿,如有表达纰漏之处,可以指出,转载请说明出处。

最新文章

  1. 据说练就了一指禅神功的觅闻实时手机新闻网,正以每天2000+IP的用户量递增。有智能手机的可以当场进行体验,没有的就算了哈
  2. 【翻译九】java-同步方法
  3. 文件系统层次标准FHS的详细介绍
  4. Follow Path -》 Unity3d通用脚本
  5. 还是把一个课程设计作为第一篇文章吧——学生学籍管理系统(C语言)
  6. Javascript数组操作方法
  7. Oracle SQL CPU占用高
  8. 关于arcengine权限的设置
  9. Spring框架Controller层(表现层)针对方法参数是Bean时HttpServletRequest绑定参数值问题解释
  10. Python学习笔记 set&&dict
  11. JaveScript用二分法与普通遍历(冒泡)
  12. SSL协议之数据加密过程详解
  13. openvpn 初步使用
  14. hibernate4使用原生jdbc进行批处理
  15. java热加载之springloaded
  16. 国外(英文)——WPF较好的奇葩问题解决网站
  17. 未找到路径“/Agent/SissQrTemplate/AddN”的控制器或该控制器未实现 IController。
  18. SCOPE_IDENTITY的用法【转载】
  19. NRF24L01通信频率
  20. ubuntu中获取文件名称并生成txt文件

热门文章

  1. 新机器,分区为NTFS, 安装 Windows XP、Windows Server 2003 时蓝屏问题,修改为 FAT32 即可
  2. 【matlab】图像去噪的代码测试
  3. Scala 读文件
  4. 漫谈.Net关键字系列之一Sealed与Final(转)
  5. swift开发之 -- 自动轮播图(UIScrollView+UIPageControl+Timer)
  6. Gson、FastJson、json-lib对比与实例
  7. cocos2d-x游戏引擎核心之八——多线程
  8. php学习十四:抽象,接口和多态
  9. Android 基于帧布局实现一个进度条 FrameLayout+ProgressBar
  10. Eclipse版GoogleI/O2014开源项目