机器人运动学——轮速里程计(SLAM)

目录

一、机器人运动学分析

二、阿克曼小车

 2.1运动学分析


一、机器人运动学分析

  想要让机器人运动, 除了提供目标速度还不够, 需要将机器人的目标速度转换每个电机实际的目标速度, 最终根据电机的目标速度对电机的控制实现对机器人的控制。 机器人的目标速度转换成电机的目标速度这个过程叫“运动学分析”,运动学分析又分为正解和逆解, 在运动学分析之前先来分别解释一下什么是运动学正解和运动学逆解(在笔者之前的机器人学中也有机械臂的正逆运动学分析有兴趣的同学可以去查看):

  对于移动机器人运动学分为以下两个

1、正解:通过机器人的各轮速度求出机器人 X 轴、 Y 轴和 Z 轴方向的速度。

2、逆解:通过机器人 X 轴、 Y 轴和 Z 轴方向的速度分别求出机器人各轮的速度。

小车的类型又有很多种类,比如阿克曼、两轮差速、麦轮小车、全向轮小车和四驱车。而我们日常的小轿车等都是以阿克曼的结构进行设计的。本文首先讲解阿克曼底盘的运动学,之后的类型会依次加入。

二、阿克曼小车

  阿克曼转向式的优点是可以使用普通轮子, 不需要使用全向轮, 可以提高机器人整体强度和减低成本, 缺点则是受限于前轮的转角幅度, 无法进行 0 半径转弯(简单说就是原地打转)。如下图为阿克曼机器人转向时的状态,要求4个轮子运动方向垂直相交与一点,四个轮子按照同一个圆心旋转

 2.1运动学分析

  首先讨论一下运动学逆解,即V_xV_yV_z三轴目标速度。这里约定一下符号:

                        V_L                        左轮速度
                        V_R                        右轮速度
                        Angle_L                        左轮转角
                        Angle_R                        右轮转角

 这里回归一下中学的一个物理公式,线速度和角速度的关系:

                                                 v=ωR                                                                                      (2-1)

 上图我们可知想要计算出O_1O_2=V_x*t很简单,角速度的公式计算O_1O_2/t=\omega,通过式2-1可得:

v=\omega R

R=\frac{v}{w}

R=\frac{O_1O_2}{\theta }=\frac{V_x*t}{V_z*t}=\frac{V_x}{V_z}(式2-2)

 如果我们已知Vx和Vz则就可以求出小车的转弯半径。接下里需要求解 Angle_LAngle_R。我们需要知道参数是轮距W,和轴距H。

 通过上图和上面的线速度和角速度的公式:

V_L=\omega*(R-0.5w)=\frac{V_x}{R}*(R-0.5w)

V_R=\omega*(R+0.5w)=\frac{V_x}{R}*(R+0.5w)

  Angle_LAngle_R 通过上图的几何关系很容易得出:

Angle_L=\tan^{-1}(V_x\frac{H}{R-0.5W})

Angle_R=\tan^{-1}(V_x\frac{H}{R+0.5W})

   逆运动学我们已经求出来了,接下里我们求解正解。正解的方法也很简单:

V_L+V_R=V_x\frac{R-0.5W}{R}+V_x\frac{R+0.5W}{R}=V_x\frac{R+R+0.5w-0.5w}{R}

V_L+V_R=2V_x

V_x=\frac{V_L+V_R}{2}

 求出了V_x,我们继续求解出V_z:

V_L-V_R=V_x\frac{R-0.5W}{R}-V_x\frac{R+0.5W}{R}=V_x\frac{R-R+0.5w+0.5w}{R}

R=V_x\frac{W}{V_R-V_L}

 根据式2-2我们可以得:

\frac{V_x}{V_z}=V_x\frac{W}{V_R-V_L}

V_z=\frac{V_R-V_L}{W}

 到这里我们就求解完成正解和逆解,小结一下:已知阿克曼式机器人轮距 W, 轴距 H, 机器人目标速度V_xV_zV_LV_RAngle_LAngle_R的关系为:

逆解:

 R=\frac{V_x}{V_z}

V_L=\frac{V_x}{R}*(R-0.5w),V_R=\frac{V_x}{R}*(R+0.5w)

Angle_L=\tan^{-1}(V_x\frac{H}{R-0.5W}),Angle_R=\tan^{-1}(V_x\frac{H}{R+0.5W})

正解: 

V_x=\frac{V_L+V_R}{2}

V_z=\frac{V_R-V_L}{W}

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: ORB-SLAM是一种针对视觉SLAM(Simultaneous Localization and Mapping)的算法,它是一种利用单目相机进行实时定位和地图构建的技术。与传统的SLAM算法相比,ORB-SLAM使用了优化的特征提取与匹配、相机姿态估计、地图点云生成等关键技术,实现了更准确和高效的视觉定位和地图构建。 ORB-SLAM的核心思想是通过提取图像中的ORB(Oriented FAST and Rotated BRIEF)特征点,利用稀疏直接法进行地图点云的生成,然后通过优化的方式估计相机的运动姿态,同时通过特征点匹配和三角测量的方式构建稠密地图。其中,FAST和BRIEF是经典的特征点提取和描述子算法,ORB则是在此基础上进行了优化和改进,使得ORB特征点具有更好的旋转不变性和描述准确性。 ORB-SLAM采用了基于词袋模型的视觉回环检测算法,通过在线构建地图和离线建立数据库来实现回环检测,从而解决了传统SLAM算法的漂移问题。此外,ORB-SLAM还能够自动初始化地图,将相机的初始位置作为关键帧,并在运动过程中持续优化位姿和地图,保持对环境的实时感知。 ORB-SLAM在单目相机定位和地图构建方面表现出色,能够在实时视频流中实现精确的位置跟踪和环境地图的构建。除了单目相机,ORB-SLAM还可以支持双目和深度相机,在各种不同环境和应用场景下都能够取得较好的效果。 总之,ORB-SLAM里程计模块利用ORB特征点提取和匹配、相机姿态估计、地图点云生成等关键技术,实现了精确的实时定位和地图构建,为视觉SLAM技术的应用提供了强大的支持。 ### 回答2: ORB-SLAM(Oriented Fast and Rotated BRIEF-Simultaneous Localization and Mapping)是一种视觉里程计算法。 ORB-SLAM算法结合了FAST角点检测器、ORB特征描述子和BRIEF特征匹配器,通过对相机图像进行处理,可以同时实现实时的定位和构建三维地图。 该算法的视觉里程计部分主要使用FAST角点检测器来检测关键点,然后使用ORB描述子来对这些关键点进行描述。通过匹配两个连续帧之间的关键点,可以计算出相机在三维空间中的运动。同时,ORB-SLAM还会使用RANSAC算法来去除错误匹配,提高精度。 在构建地图方面,ORB-SLAM算法通过观测关键点在连续帧之间的运动来计算相机的轨迹,并且使用三角化方法来恢复场景中关键点的三维位置。这样,就可以逐步构建出一个稠密的三维地图。 ORB-SLAM还具有回环检测和优化的功能。通过检测相机轨迹中的回环,算法可以利用之前观察到的地图和关键点信息,进一步提高定位和地图的准确性。此外,算法还会使用图优化技术来优化地图的结构和相机的轨迹,进一步提高地图的重建质量。 总而言之,ORB-SLAM是一种基于特征点的视觉里程计算法,能够实时地定位相机并构建稠密的三维地图。它的特点是精度高、计算效率高、对环境变化有较好的适应性,因此在机器人导航、增强现实等领域具有广泛的应用前景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

每日亿学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值