首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >麦克纳姆轮底盘运动学模型及公式

麦克纳姆轮底盘运动学模型及公式

作者头像
索旭东
发布2026-06-29 10:50:06
发布2026-06-29 10:50:06
810
举报
文章被收录于专栏:具身小站具身小站

1. 轮子布局

标准布局为矩形,四个轮子呈对称分布,对角线轮子的排布一致,分为X型和O型,分布方式如字面意思,四个轮子的小滚轮方向组成X则车辆为X型布局,小滚轮方向组成O型则车辆为O型布局,两种布局的左右轮子相反安装。

2. 运动学模型

基础运动

各轮旋转关系

前进

四轮同速正向旋转 →

后退

四轮同速反向旋转 ←

右平移

A轮正转,B轮反转 →←

左平移

B轮正转,A轮反转 ←→

原地顺转

左侧轮反转,右侧轮正转 ↻

原地逆转

右侧轮反转,左侧轮正转 ↺

通过矢量合成实现任意方向移动:

代码语言:javascript
复制
Vx(X轴速度) = (前右轮 + 后左轮) - (前左轮 + 后右轮) = 2 * (B - A)
Vy(Y轴速度) = (前左轮 + 前右轮) - (后左轮 + 后右轮)
ω(旋转量)  = 四轮差速控制

3. 逆运动学公式

代码语言:javascript
复制
import math

class MecanumKinematics:
    def __init__(self, wheel_radius=0.05, lx=0.15, ly=0.15):
        """
        参数:
        wheel_radius: 轮子半径 (米)
        lx: 轮子到中心在x方向的距离 (米)
        ly: 轮子到中心在y方向的距离 (米)
        """
        self.R = wheel_radius
        self.lx = lx  # 通常为底盘长的一半
        self.ly = ly  # 通常为底盘宽的一半

    def chassis_to_wheel(self, vx, vy, omega):
        """
        将底盘速度转换为四个轮子的转速

        参数:
        vx: x方向速度 (米/秒,向右为正)
        vy: y方向速度 (米/秒,向前为正)
        omega: 角速度 (弧度/秒,逆时针为正)

        返回:
        w1, w2, w3, w4: 四个轮子的转速 (弧度/秒)
        """
        # 核心运动学公式
        w1 = (1/self.R) * (vx - vy - (self.lx + self.ly) * omega)  # 右前
        w2 = (1/self.R) * (vx + vy + (self.lx + self.ly) * omega)  # 左前
        w3 = (1/self.R) * (vx + vy - (self.lx + self.ly) * omega)  # 右后
        w4 = (1/self.R) * (vx - vy + (self.lx + self.ly) * omega)  # 左后

        return w1, w2, w3, w4

    def wheel_to_chassis(self, w1, w2, w3, w4):
        """
        将四个轮子的转速转换为底盘速度(正运动学)
        """
        vx = (self.R/4) * (w1 + w2 + w3 + w4)
        vy = (self.R/4) * (-w1 + w2 + w3 - w4)
        omega = (self.R/(4*(self.lx + self.ly))) * (-w1 + w2 - w3 + w4)

        return vx, vy, omega
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-06-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 具身小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 轮子布局
  • 2. 运动学模型
    • 3. 逆运动学公式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档