当前位置: 首页 > article >正文

履带机器人运动模型分析

履带机器人运动学模型分析

滑动转向

在这里插入图片描述

  • 履带机器人单侧履带可等效视为“无穷多个小轮子”,且这单侧的“无穷多个小轮子”的“转速”是一致的。所以,履带式机器人的转向方式和四轮驱动机器人(SSMR)的是一致的,也是滑动转向。 因此,下面以四轮驱动机器人为例,分析滑动转向。

转向原理

在这里插入图片描述

  • 轮速差异:如果四轮驱动机器人的所有轮子转速相同,机器人将直线前进。如果轮速不同,各轮产生的线速度不一致,导致机器人出现转向运动。
  • 旋转中心(ICR(Instantaneous Center of Rotation)表示旋转中心):四个轮子转速不同时,会形成一个虚拟的旋转中心(ICR)。每个轮子与地面的接触点到ICR的线段与该轮子的合速度方向垂直。

转向运动的成因

  • 速度分解:由于轮胎只能沿其纵向轴线滚动,而在转向时各轮的线速度方向与轮胎轴向不完全对齐,导致需要对速度进行分解,产生横向分速度。
  • 横向与纵向分速度
    • 纵向分速度:由轮胎与地面的滚动摩擦力产生,是电机输出转矩的直接结果。
    • 横向分速度:由于轮速不同引起的必然结果,是由滑动摩擦力产生的,这种摩擦力是被动产生的。

力和力矩的作用

  • 力矩不均:四个电机的输出力矩如果不一致,会导致与地面接触的轮胎承受不同的力,这使得机器人无法保持直线运动,而产生偏转。
  • 滑动转向:由于轮胎本质上是设计为只能沿轮轴方向滚动而不侧滑,任何非纵向运动需求(如转向运动)必须通过轮胎与地面间的滑动来实现。

转向半径

公式中的 ( r c r_c rc ) 表示机器人的转向半径,它是基于差速驱动机制计算的,其中机器人两侧的轮速不同。下面是如何使用上述公式计算 ( r c r_c rc) 的详细步骤:

公式

公式为:
[
r c = v c ω c = ( v l + v r ) d L R 2 ( v r − v l ) r_c = \frac{v_c}{\omega_c} = \frac{\left(v_l + v_r\right) d_{LR}}{2 \left(v_r - v_l\right)} rc=ωcvc=2(vrvl)(vl+vr)dLR
]

参数解释

  • ( v l v_l vl) 和 ( v r v_r vr ) 分别是机器人左侧和右侧轮子的线速度。
  • ( d L R d_{LR} dLR ) 是虚拟轮间距,这是一个模型参数,表示机器人两轮之间的距离。
  • ( v c v_c vc ) 是机器人中心的线速度,等于左右轮速的平均值 ( v l + v r 2 \frac{v_l + v_r}{2} 2vl+vr)。
  • ( ω c \omega_c ωc) 是机器人的角速度,根据左右轮速差和轮间距计算,( v r − v l d L R \frac{v_r - v_l}{d_{LR}} dLRvrvl)。

计算步骤

  1. 确定轮速:测量或设定机器人左侧和右侧轮子的线速度 ( $v_l $) 和 ( v r v_r vr )。
  2. 计算中心线速度 ( v c v_c vc )
    [ v c = v l + v r 2 v_c = \frac{v_l + v_r}{2} vc=2vl+vr ]
  3. 计算角速度 ( ω c \omega_c ωc )
    [ ω c = v r − v l d L R \omega_c = \frac{v_r - v_l}{d_{LR}} ωc=dLRvrvl ]
  4. 代入公式计算转向半径 ( r c r_c rc )
    [ r c = ( v l + v r ) d L R 2 ( v r − v l ) r_c = \frac{(v_l + v_r) d_{LR}}{2 (v_r - v_l)} rc=2(vrvl)(vl+vr)dLR ]

注意点

  • 当 ( v r = v l v_r = v_l vr=vl ) 时,即两侧轮速相等,机器人将直线行驶,此时 ( r c r_c rc ) 理论上是无穷大,因为没有转向发生。
  • 当 ( v r v_r vr ) 和 ( v l v_l vl ) 差异较大时,( r c r_c rc ) 较小,表示机器人转向半径小,转弯更加紧凑。

使用这个公式可以帮助你计算在不同轮速条件下机器人的转向半径,这对于路径规划和避障算法非常重要。

运动学模型建立

在这里插入图片描述

正运动学模型

给定左侧 ( v l v_l vl) 和右侧 ( v r v_r vr ) 履带的速度,我们需要计算机器人质心的线速度 ( v c v_c vc ) 和角速度 ( ω c \omega_c ωc )。

原始公式:
[
( v c ω c ) = ( 1 2 1 2 1 d L R − 1 d L R ) ( v r v l ) \begin{pmatrix} v_c \\ \omega_c \end{pmatrix} = \begin{pmatrix} \frac{1}{2} & \frac{1}{2} \\ \frac{1}{d_{LR}} & -\frac{1}{d_{LR}} \end{pmatrix} \begin{pmatrix} v_r \\ v_l \end{pmatrix} (vcωc)=(21dLR121dLR1)(vrvl)
]

化简后的关系:
[ v c = v r + v l 2 v_c = \frac{v_r + v_l}{2} vc=2vr+vl ]
[ ω c = v r − v l d L R \omega_c = \frac{v_r - v_l}{d_{LR}} ωc=dLRvrvl ]

这里,( v c v_c vc ) 是机器人质心的平均线速度,而 ( ω c \omega_c ωc) 是机器人绕其质心的角速度,其中 ( d L R d_{LR} dLR ) 是虚拟左右轮间的距离。

逆运动学模型

根据机器人质心的期望线速度 ( v c v_c vc ) 和角速度 ( ω c \omega_c ωc ),我们需要计算出每个履带应有的速度 ( v r v_r vr ) 和 ( v l v_l vl)。

原始公式:
[
( v r v l ) = ( 1 d L R 2 1 − d L R 2 ) ( v c ω c ) \begin{pmatrix} v_r \\ v_l \end{pmatrix} = \begin{pmatrix} 1 & \frac{d_{LR}}{2} \\ 1 & -\frac{d_{LR}}{2} \end{pmatrix} \begin{pmatrix} v_c \\ \omega_c \end{pmatrix} (vrvl)=(112dLR2dLR)(vcωc)
]

化简后的关系:
[ v r = v c + ω c × d L R 2 v_r = v_c + \frac{\omega_c \times d_{LR}}{2} vr=vc+2ωc×dLR ]
[ v l = v c − ω c × d L R 2 v_l = v_c - \frac{\omega_c \times d_{LR}}{2} vl=vc2ωc×dLR ]

这里,( v r v_r vr ) 和 ( v l v_l vl ) 分别是右侧和左侧履带的速度。这两个公式使我们能够根据机器人质心的运动需求(线速度和角速度)来设置每个履带的速度。

虚拟轮间距dLR的求解

在这里插入图片描述

虚拟轮间距 ( d L R d_{LR} dLR )

  • 定义与挑战:( d L R d_{LR} dLR ) 是指模型中假设的两个虚拟轮之间的距离,这是一个理论上的参数,难以直接测量或计算。这个参数不是固定的,而是会随着机器人的工作条件变化而变化,因此无法得到一个固定的解析解。

无量纲参数 ( γ \gamma γ )

  • 引入原因:为了处理 ($ d_{LR}$ ) 的不确定性和复杂性,研究者引入了无量纲参数 ( γ \gamma γ ),通过这个参数来简化问题的处理。
  • 定义:( γ \gamma γ ) 是一个无量纲的比例因子,与多个因素相关,如机器人的轮间距 ( d w b d_{wb} dwb)、总负载、轮胎与地面的相对摩擦系数、转弯半径及质心位置。

估计方法

  • 实验方法:由于 ( γ \gamma γ ) 的复杂性和依赖于具体的工作条件,最常用的方法是通过实验来估计。在控制条件不变的情况下,让机器人在特定的地面上进行差速转向运动,通过采集多组实验数据来拟合和估算 ( γ \gamma γ )。
  • 数据分析:实验数据的收集和分析允许研究者根据实际的运动表现来调整和优化 ( γ \gamma γ ) 的值,从而改善机器人的运动精度和可靠性。

一种简单实用的测量参数γ的方法

测量和计算步骤
  1. 安装陀螺仪

    • 在机器人上安装陀螺仪来测量其在转动过程中的角速度 ( ω c \omega_c ωc )。这个数据对于计算机器人实时转动状态非常关键。
  2. 轮子速度控制与测量

    • 控制机器人的四个轮子以设定速度转动,确保同侧(左或右)的轮子转速相同。
    • 使用编码器反馈数据来精确测量每个轮子的线速度,即 ( v l v_l vl ) 和 ( v r v_r vr )。
  3. 计算虚拟轮间距和 ( γ \gamma γ) 参数

    • 利用公式( r c = v c ω c = ( v l + v r ) d L R 2 ( v r − v l ) r_c = \frac{v_c}{\omega_c} = \frac{\left(v_l + v_r\right) d_{LR}}{2 \left(v_r - v_l\right)} rc=ωcvc=2(vrvl)(vl+vr)dLR)计算此时的虚拟轮间距 ( d L R d_{LR} dLR),然后通过除以机器人的物理轮间距 ( d w b d_{wb} dwb) 来计算 ( γ \gamma γ )。
    • ( γ \gamma γ ) 表示虚拟轮间距与实际物理轮间距的比率,是一个重要的无量纲参数,影响着模型的准确性。
  4. 数据拟合和图表制作

    • 绘制 ( γ \gamma γ ) 与表达式 ( [ ( v l + v r ) / ( v r − v l ) ] [(v_l + v_r) / (v_r - v_l)] [(vl+vr)/(vrvl)])(或直接与 ( ω c \omega_c ωc ))的关系图表。
    • 对数据曲线进行拟合,以得到 ( γ \gamma γ ) 与机器人的行为(速度比或角速度)之间的关系表达式。
实际应用和数据利用
  • 实时应用:当机器人在转弯时,机载陀螺仪可以提供实时的角速度数据,结合先前拟合的关系式,可以实时计算出对应的 ( γ \gamma γ ) 值,从而提高转向控制的精确度。
  • 离线应用:如果实际应用中不使用陀螺仪,可以预先通过上述测量和拟合过程,建立一个 ( γ \gamma γ ) 与速度比或角速度的对应表,供实际操作时参考使用。

运动性能分析

履带式机器人的优势

  • 越障及跨沟能力:由于履带提供了较大的接触面积,履带式机器人能更有效地分布重量,增强其通过不平坦地形的能力,如跨越障碍物或不稳定的表面。
  • 运动平稳性:较大的接触面积减少了单位面积上的压力,使得机器人在运动过程中更加稳定,降低了打滑的风险。
  • 爬坡能力:履带的设计提供了更好的抓地力,使得机器人在爬坡时不易倾翻,特别是在陡峭或滑的斜坡上。
  • 负载能力:履带式机器人由于其均匀的重量分布和较低的地面压强,可以携带更重的负载而不易陷入软质地面,如泥土或沙地。

履带式机器人的缺点

  • 滑动转向阻力大:由于履带与地面的接触面积大,在进行滑动转向时需要克服更大的摩擦阻力,也意味着对轮轴产生的扭矩更大。这不仅增加了能量消耗,也可能导致更大的机械磨损。
  • 运动损耗大:与轮式机器人的点接触相比,履带的面接触特性意味着在直行过程中滚动摩擦损耗更大,这可能导致效率降低和能源消耗增加。

运动控制分析

运动控制的挑战

  • 滑移问题:履带式机器人由于其滑动摩擦的驱动方式,面临严重的滑移问题,这使得机器人的运动路径和行为难以精确预测和控制。滑移是由于履带与地面之间的摩擦不足或不均匀导致的。
  • 质心与几何中心不一致:履带式机器人的质心(重量中心)和几何中心(机器人体形的中心)往往不重合,这种不对称性使得运动控制模型的精确性受限。质心位置的不确定性进一步增加了控制的复杂性。

解决策略

  • 传感器辅助:为了克服滑移带来的控制困难,建议使用各类传感器(如IMU、GPS、光学传感器等)来实时监测和校正机器人的位置和姿态,提高运动控制的准确性。
  • 质心调整:在机器人设计阶段,应尽可能使质心与几何中心重合,以减少由于质心偏移带来的运动不稳定性。可以通过调整内部组件的布局或使用配置块来实现这一点。

动力学分析

  • 综合分析必要性:由于履带式机器人的运动控制受多种因素影响(如载重、地面条件、履带状态等),开发者需要进行全面的动力学分析,以确保机器人能够精确地执行预定轨迹和任务。
  • 质心调整:在机器人设计阶段,应尽可能使质心与几何中心重合,以减少由于质心偏移带来的运动不稳定性。可以通过调整内部组件的布局或使用配置块来实现这一点。

动力学分析

  • 综合分析必要性:由于履带式机器人的运动控制受多种因素影响(如载重、地面条件、履带状态等),开发者需要进行全面的动力学分析,以确保机器人能够精确地执行预定轨迹和任务。

http://www.kler.cn/a/323637.html

相关文章:

  • flink cdc 应用
  • 大模型研究报告 | 2024年中国金融大模型产业发展洞察报告|附34页PDF文件下载
  • 深度学习之pytorch常见的学习率绘制
  • 2411d,右值与移动
  • 执行flink sql连接clickhouse库
  • qt QProcess详解
  • 如何选择游戏高防服务器,有什么需要注意的点?
  • 一体化杀猪厂污水处理设备特点
  • 数据科学的核心工具箱:全面解析pandas、matplotlib.pyplot与scipy.stats在复杂数据分析流程中的应用
  • Maya学习笔记:项目设置和快捷键
  • 【已解决】【Hadoop】找到java环境路径
  • C++ —— 关于list
  • 数据结构:队列及其应用
  • 数组基础(c++)
  • 爬虫技术深潜:探究 JsonPath 与 XPath 的语法海洋与实战岛屿
  • VOC2007 的ImageSets/Main目录下通常有四个文件test.txt val.txt train.txt trainval.txt
  • Linux部署RabbitMQ
  • Momenta中间件C++一面-面经总结
  • Java集合(下)
  • 这条挣钱的路,离我好遥远啊
  • CSS05-复合选择器
  • 鞋类分类系统源码分享
  • 胡超:引领中美文化、创意与能源合作的关键人物
  • 【计算机网络 - 基础问题】每日 3 题(二十五)
  • MurmurHash 算法
  • 众数问题,