移动机器人主控采用NI MyRIO控制器,驱动部分由Tetrix提供的电机和编码器构成,Labview for MyRIO开发包中带有Robotic常用的模块,全向轮,麦克纳姆轮运动方程正反解模块。整套程序分为4层。底层为4个电机PID速度环。向上提供4个电机角速度接口。第二层为麦克纳姆轮运动控制层,该层分为两部分,第一部分为运动方程反解层,入口为x,y,w速度,出口为4个电机速度的分量。第二部分为航迹推算,实现全场定位。航迹推算部分由麦克纳姆轮运动方程正解,从4个编码器反馈回每个电机的角速度反解成x,y,w的线速度。通过I2C总线得到陀螺仪Z轴角速度积分成当前角度,通过当前相对于原点的航向角对反解得到x,y方向的速度进行平面直角坐标系旋转,从而得到了世界坐标系下的位移速度,对世界坐标系下的移动机器人xy方向速度积分得到移动机器人当前的坐标,从而实现了位置反馈。第三成为高层程序,主要实现了坐标驱动算法,直线插补等模块提供接口给用户层调用。第四层为用户应用程序层,使用第三层提供的接口编程,实现相应的控制。软件结构框架如下:
硬件框架如下: