单舵轮(叉车)AGV里程计数据解算
单舵轮(叉车)AGV里程计数据解算
2016-07
单舵轮AGV,一般包含一个驱动轮和两个从动轮,驱动轮是同时具备行走和转向两个功能的舵轮,因此,单舵轮AGV的运动学自由度为2个。舵轮线速度V1,舵轮转角θ。
AGV机器人里程计一般包含2 个方面的信息:
一、是位姿(位置和转角),即(x,y,θ)。
二、是速度(前进速度AGV的线速度V和转向速度AGV的角速度W)。
为了建立理想运动学模型,我们需要假设以下情况:
一、舵轮与地面之间行走无滑动摩擦;
二、AGV运行的平面为水平面,没有坡度;
建立单舵轮AGV理想运动学模型,如下图所示。设舵轮的线速度为Vf ,前后轮轴向距离为L ,舵轮横向偏距为 D ,舵轮转角(逆时针为正,顺时针为负)为θ,两定向轮轴心点o(x,y,yaw,V,W)为AGV几何中心计算里程计数据。
其中舵轮Vf及θ需要通过增量编码器和角度编码器实时检测。
经过几何运算o点里程计数据的:
- o点其他里程计数据的(x,y,yaw),是通过V和W数据根据各数据的几何关系不断的积分求得。这里对于单舵轮AGV的里程计数据的介绍只开个头,后不再详细解释,开发人员需要养成深入的去探索的习惯。关于AGV控制的其他问题相互探讨,可以评论咨询联系方式。
实际测试时,机器人的移动距离和转动角度都要进行测试(要确保机器人的实际运动方向与发送的速度指令方向一致,并且偏差在正常范围内),如果测试与预期情况不一样则需要查找原因。另外由于轮子打滑、以及各种误差的影响,对速度积分进行航迹推算得到的里程计累积误差会越来越大,角度yaw也是同样的道理,可以加入轮径参数、滑动摩擦参数对其进行调节补偿。测试的方式是,单舵轮AGV机器人从一个固定参考位置开始运动,主要是前进后退以及旋转,最终回到起始位置,比较计算与实际的差距,来调节轮径参数、滑动摩擦参数。
当前机器人导航方式中地图导航,比如激光slam、二维码惯导等方式,均需要精确地里程计数据支持。
单舵轮(叉车)AGV里程计数据解算的更多相关文章
- 双舵轮AGV里程计、运动控制核心算法
舵轮AGV可以通过调整两个舵轮的角度及速度,可以使小车在不转动车头的情况下实现变道,转向等动作,甚至可以实现沿任意点为半径的转弯运动,有很强的灵活性. 因此在AGV行业,这种驱动方式应用很广,但是目前 ...
- 四轴飞行器1.4 姿态解算和Matlab实时姿态显示
原创文章,欢迎转载,转载请注明出处 MPU6050数据读取出来后,经过一个星期的努力,姿态解算和在matlab上的实时显示姿态终于完成了. 1:完成matlab的串口,并且实时通过波形显示数据 2:添 ...
- Gamit解算脚本
这是一个解算单天的shell脚本,对于初学者很有帮助. 首先就是需要在项目(四个字符)建立rinex brdc igs 还有以年纪日命名的目录,然后提前准备好station.info和lfile.文件 ...
- libviso中的姿态解算【转载】
这篇关于libviso的文章,本人已投稿在泡泡机器人微信公众号中,放到这里,作学习笔记用. libviso一直以来被称为在视觉里程计(VO)中的老牌开源算法.它通过corner,chessboard两 ...
- 【转】GPS基线解算模式
GPS基线向量是利用2台或2台以上GPS接 收机所采集的同步观测数据形成的差分观测值,通过参数估计得方法所计算出的两两接收机间的三维坐标差.与常规地面测量中所测定的基线边长不同,基线向量是 既具有长度 ...
- Pixhawk之姿态解算篇(1)_入门篇(DCM Nomalize)
一.开篇 慢慢的.慢慢的.慢慢的就快要到飞控的主要部分了,飞控飞控就是所谓的飞行控制呗,一个是姿态解算一个是姿态控制,解算是解算,控制是控制,各自负责各自的任务.我也不懂.还在学习中~~~~ 近期看姿 ...
- 布料解算插件 Qualoth 重点参数分享
前言 Qualoth是韩国FXGear公司推出的一款布料模拟插件,可以计算出很自然的衣褶以及动态效果,并且能应对大幅度动作的碰撞解算,可以和Houdini的Cloth Solver相媲美: 目前这款插 ...
- 空间谱专题13:联合解算DOA(ML/AP)
其中作者:桂. 时间:2017-10-16 07:51:40 链接:http://www.cnblogs.com/xingshansi/p/7675380.html 前言 主要记录二维测向中,分别利 ...
- V-rep学习笔记:机器人逆运动学解算
IK groups and IK elements VREP中使用IK groups和IK elements来进行正/逆运动学计算,一个IK group可以包含一个或者多个IK elements: I ...
随机推荐
- iPhone开发秘籍(第2版)--具体书签版
http://download.csdn.net/download/fksec/4872499
- ngx_lua 随笔
--[[ test --]] ngx.header.content_type = "text/plain"; --输出头部 local user = ngx.var.arg_use ...
- Streams:深入剖析Redis5.0全新数据结构
Streams:深入剖析Redis5.0全新数据结构 原创: 阿飞的博客 Redis 5.0 全新的数据类型:streams,官方把它定义为:以更抽象的方式建模日志的数据结构.Redis的st ...
- EasyUI 创建对话框
对话框是特殊的窗口,它能包括上面的工具栏和下面的按钮.默认对话框不能改变大小,但是用户可以设置resizeable属性为true来使它可以被改变大小:对话框非常简单,可以使用DIV标记创建: < ...
- 【转】H5页面的测试点总结
在此对H5页面的测试点(以及容易出问题的点) 1.业务逻辑相关 除基本的功能测试之外,H5页面的测试,需要关注以下几点: 1.1 登陆 目前H5与native各个客户端都做了互通,所以大家在测 ...
- selenium 获取按钮的笔记
测试odoo时,发现大部分按钮都是动态生成,id也是动态的, 只能用xpath,但是配置一旦改变导致按钮位置改变 想到一个办法,遍历所有按钮,然后内容相符的才点击,测试代码如下 submit_loc ...
- linux -- ubuntuserver 安装图形界面
安装Gnome桌面 1.安装全部桌面环境,其实Ubuntu系列桌面实际上有几种桌面应用程序,包括Ubuntu-desktop.Kubunut-desktop和Xubuntu- desktop. 我们就 ...
- phalcon下拉列表
<?php echo Phalcon\Tag::selectStatic("gender", array(0 => "Male", 1 => ...
- mysql的优化基础知识
1.查看各种SQL执行的频率 mysql> show status like 'Com_select';--Com_insert,Com_delete,connections(试图连接mysql ...
- iOS开发之 -- 帧动画的使用
在项目的开发过程中,我们经常会遇到使用动画的时候,比如我们在请求接口直接开始一个动画,请求结束后结束动画,下面我就给大家展示一个很方便的帧动画的用法: 代码如下: .h #import <Fou ...