舵轮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就可以按照你的导航算法去运动了。

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

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

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

双舵轮AGV里程计、运动控制核心算法的更多相关文章

  1. SLAM+语音机器人DIY系列:(三)感知与大脑——3.轮式里程计与运动控制

    摘要 在我的想象中机器人首先应该能自由的走来走去,然后应该能流利的与主人对话.朝着这个理想,我准备设计一个能自由行走,并且可以与人语音对话的机器人.实现的关键是让机器人能通过传感器感知周围环境,并通过 ...

  2. 单舵轮(叉车)AGV里程计数据解算

    单舵轮(叉车)AGV里程计数据解算 2016-07 单舵轮AGV,一般包含一个驱动轮和两个从动轮,驱动轮是同时具备行走和转向两个功能的舵轮,因此,单舵轮AGV的运动学自由度为2个.舵轮线速度V1,舵轮 ...

  3. SLAM+语音机器人DIY系列:(四)差分底盘设计——6.底盘里程计标

    摘要 运动底盘是移动机器人的重要组成部分,不像激光雷达.IMU.麦克风.音响.摄像头这些通用部件可以直接买到,很难买到通用的底盘.一方面是因为底盘的尺寸结构和参数是要与具体机器人匹配的:另一方面是因为 ...

  4. SLAM入门之视觉里程计(1):特征点的匹配

    SLAM 主要分为两个部分:前端和后端,前端也就是视觉里程计(VO),它根据相邻图像的信息粗略的估计出相机的运动,给后端提供较好的初始值.VO的实现方法可以根据是否需要提取特征分为两类:基于特征点的方 ...

  5. x264代码剖析(十五):核心算法之宏块编码中的变换编码

    x264代码剖析(十五):核心算法之宏块编码中的变换编码 为了进一步节省图像的传输码率.须要对图像进行压缩,通常採用变换编码及量化来消除图像中的相关性以降低图像编码的动态范围.本文主要介绍变换编码的相 ...

  6. SLAM——视觉里程计(一)feature

    从现在开始下面两篇文章来介绍SLAM中的视觉里程计(Visual Odometry).这个是我们正式进入SLAM工程的第一步,而之前介绍的更多的是一些基础理论.视觉里程计完成的事情是视觉里程计VO的目 ...

  7. 关于视觉里程计以及VI融合的相关研究(长期更新)

    1. svo 源码:https://github.com/uzh-rpg/rpg_svo 国内对齐文章源码的研究: (1)冯斌: 对其代码重写 https://github.com/yueying/O ...

  8. SQL关键字转换大写核心算法实现

    1 不跟你多废话 上代码! /// <summary> /// SQL关键字转换器 /// </summary> public class SqlConverter : IKe ...

  9. SLAM入门之视觉里程计(2):相机模型(内参数,外参数)

    相机成像的过程实际是将真实的三维空间中的三维点映射到成像平面(二维空间)过程,可以简单的使用小孔成像模型来描述该过程,以了解成像过程中三维空间到二位图像空间的变换过程. 本文包含两部分内容,首先介绍小 ...

随机推荐

  1. asp.net截屏功能实现截取web页面

    using System.Drawing;  //打开该页面 System.Diagnostics.Process.Start("IEXPLORE.EXE", "http ...

  2. VC++:Debug出错,提示错误在findfile.cpp (Line 369)

    调试程序的Debug版本,出现断言框,定位于库文件findfile.cpp 第369行: void CFileFind::AssertValid() const { // if you trip th ...

  3. phpcms二级栏目的调用

    1.二级栏目的调用方法 {php $data = subcat($module, $catid);} {loop $data $n $r} {if $r[ismenu]} {$r[catname]} ...

  4. error: Allowed memory size

    错误提示 error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 35 bytes) in D:\www\Th ...

  5. 京东云擎”本周四推出一键免费安装Discuz论坛

    “京东云擎”本周四推出一键免费安装Discuz论坛了,让用户能在1分钟之内建立自己的论坛.这是继上周云擎推出一键安装WordPress之后的又一重大免费贡献! 云擎: http://jae.jd.co ...

  6. kubectl get 输出格式

    常见的输出格式有: * custom-columns=<spec> # 根据自定义列名进行输出,逗号分隔 * custom-columns-file=<filename> # ...

  7. linux IP 设置

    修改ip地址即时生效:# ifconfig eth0 192.168.1.102 netmask 255.255.255.0启动生效:修改/etc/sysconfig/network-scripts/ ...

  8. 【BZOJ1717】[Usaco2006 Dec]Milk Patterns 产奶的模式 后缀数组

    [BZOJ1717][Usaco2006 Dec]Milk Patterns Description 农夫John发现他的奶牛产奶的质量一直在变动.经过细致的调查,他发现:虽然他不能预见明天产奶的质量 ...

  9. {sharepoint}提升 SharePoint 代码执行权限

    提升 SharePoint 代码执行权限 关于如何提升 SharePoint 代码执行权限及相关知识介绍的文章我们园子里有很多, 这里给出其中两篇文章的链接,就不再啰嗦了. http://www.cn ...

  10. 【转载】keil(MDK-ARM)的调试使用

    现在软件的模拟功能都是非常强大,但是有时候会用不好. 原文地址: 那就看这里吧:http://www.cnblogs.com/strongerHuang/p/5596355.html 1.编译+调试 ...