本项目设计了一个麦轮结构的小车底盘运动系统,经过对底盘的运动学分析,解算出每个麦轮的运动信息。
然后经过8路PWM控制四路桥式电路,使其驱动4个麦轮的电机。其地盘可实现全向移动,即平面的纵向,横向移动和原地的旋转移动。
应用背景
在目前移动机器人开发中,除了仿生结构的机器人之外,麦轮结构的移动机器人和万向轮结构的移动机器人使用频率也非常高。
特别是消费领域的机器人,例如扫地机器人,楼宇内消毒和地铁巡检机器人等。这些领域的底盘结构基本上均采用更为灵活,相比仿生机器人更为可靠和实现容易的麦轮结构。
实现功能
8路PWM输出
底盘全向运动
整体框架
硬件框架
ra开发板生成8路pwm信号,此8路pwm信号提供给DRV8833桥式电路模块。由此模块驱动各个麦轮电机。
软件框架
软件方面线程涉及的不多,除了主线程和调试用的串口中断线程之外,就是运动模式切换线程。
RT-Thread的使用
在我的项目中使用了RTT作为RTOS的线程实现
RTT有一个对板级适配的HAL曾,在本项目中使用了PWM和串口外设,都是使用RTT提供的HAL层的函数,增强了可移植性.
本项目还用到了RTT自动初始化机制,自动初始化机制是指初始化函数不需要被现实调用,只需要在函数定义出=处通过宏定义的方式进行申明,就会在系统启动过程中被执行。INIT_PREV_EXPORT(),进行了对pwm设备的查找和初始化。
INIT_APP_EXPORT(),对运动模式线程进行了初始化。