> ## Documentation Index
> Fetch the complete documentation index at: https://docs.newenergycoder.club/llms.txt
> Use this file to discover all available pages before exploring further.

# 全向轮底盘

> 全向轮结构原理、运动学模型与设计要点

<Warning>
  本页内容为通用技术参考模板，尚未充分结合 NEC 实际硬件、赛季项目或真实调参数据。欢迎有实战经验的成员补充具体案例与代码出处。
</Warning>

全向轮（Omni Wheel）在轮毂外缘装有可自由旋转的小辊子，使轮子在沿轮毂方向滚动的同时，还能沿辊子轴向滑移。三轮或四轮全向轮布局可以让机器人在平面内实现任意方向的平移与旋转。

## 结构特点

![全向轮结构示意图](https://cdn.newenergycoder.club/images/chassis/omni-wheel.svg)

全向轮的关键结构：

* **主轮毂**：提供主要滚动方向的动力
* **小辊子**：通常与轮毂轴线成 90°，允许侧向滑移
* **辊子轴承**：保证辊子被动旋转时的低摩擦

三轮全向轮底盘的典型布局：

![三轮全向轮底盘布局](https://cdn.newenergycoder.club/images/chassis/chassis-layout-omni.svg)

三个轮子互成 120° 分布，接触点共圆，机器人中心为运动学参考点。

## 运动学模型

以三轮全向轮为例，设机器人目标速度为 $(v_x, v_y)$，角速度为 $\omega$，轮距中心距离为 $L$，轮半径为 $R$：

```cpp theme={null}
// 三轮全向轮逆运动学
void omnidirectional_ik(float vx, float vy, float omega, 
                        float& w1, float& w2, float& w3) {
    const float R = 0.05f;  // 轮半径
    const float L = 0.15f;  // 轮距中心距离
    
    // 三个轮子的方向角：90°, 210°, 330°
    w1 = (vy + L * omega) / R;
    w2 = (-0.866f * vx - 0.5f * vy + L * omega) / R;
    w3 = (0.866f * vx - 0.5f * vy + L * omega) / R;
}
```

<Info>
  实际实现时，需要根据具体安装角度和轮子编号调整符号与顺序。
</Info>

## 设计要点

* 三个轮子互成 120° 分布，确保三个速度方向线性无关
* 轮子与地面的接触点尽量共圆，减少不必要的力矩耦合
* 中心处安装陀螺仪，用于闭环控制航向角
* 辊子材质选择需兼顾摩擦系数与耐磨性：光滑地面推荐聚氨酯，地胶场地可考虑橡胶

## 相关资源

* [底盘设计概述](/mechanical/chassis)
* [麦轮底盘](/mechanical/chassis-mecanum)
* [OpenTpuOmniWheel 开源全向轮](/mechanical/chassis#opentpuomniwheel-开源全向轮)
