Skip to content

Latest commit

 

History

History
54 lines (32 loc) · 1.85 KB

design.md

File metadata and controls

54 lines (32 loc) · 1.85 KB

RT-Robot 设计说明

1 智能车体系结构

rt-robot 将智能车平台分为两个部分:车底盘和动力学模型

1.1 车底盘模块 (chassis)

车底盘模块的作用在于定义小车的底盘类型,例如有多少个可以控制的轮子、小车的长宽等物理属性、运动学模型。例如两轮的车底盘搭配两轮差分动力学模型,我们就得到了两轮差分驱动的小车。

车底盘模块下面又包括车轮 (wheel) 模块和动力学模型模块 (kinematics)。

1.1.1 车轮模块 (wheel)

车轮模块需要实现一个能够闭环控制的车轮,因此需要用到电机、编码器和 闭环控制算法。

1.1.1.1 电机模块 (motor)

电机模块需要为不同电机提供统一的接口,能够实现闭环电机转速控制,包括:

  • 直流电机
  • 舵机
  • 步进电机
  • CAN接口电机
  • 直流无刷电机
1.1.1.2 编码器模块 (encoder)

编码器模块需要为不同编码器提供统一的接口,能够测量得到当前电机的转速、运动方向等,包括:

  • 单相编码器
  • AB相编码器
1.1.1.3 车轮速度闭环控制器模块 (e.g. PID)

控制器模块需要利用当前编码器测得的转速,和目标设定值,实现对电机的闭环控制,包括:

  • 增量式PID
  • 位置式PID

1.1.2 动力学模型模块 (kinematics)

动力学模块包含各种小车物理学模型,需要实现小车运动速度 (Vx, Vy, w) 与不同电机转速 (rpm1, rpm2, rpm3, rpm4) 之间的双向切换,包括:

  • 两轮差分驱动
  • 四轮差分驱动
  • 麦克纳姆轮驱动
  • Ackerman模型

当前我们的小车坐标系定义如下:

除了全局坐标系外,我们定义了小车的前进方向为 Xr,与前进方向垂直的方向为 Yr,以小车车头逆时针旋转方向为旋转角速度 w 的正方向。