本资源包含基于STM32单片机的麦克纳姆轮小车控制程序和操纵杆操作界面的源代码。适用于机器人运动控制研究与实践。
在大二期间的电子设计竞赛准备工作中,我完成了STM32单片机麦克纳姆轮小车的基本驱动功能:通过蓝牙手机控制上下左右及斜向总共8个方向的平移,并实现了原地正反转功能。当时计划使用操纵杆来遥控控制车辆,但由于学习和比赛的压力较大,暂时搁置了这一想法。直到毕业后整理东西时才发现当时的设想非常有趣,并决定尝试实现更复杂的移动方式——理论上可以任意方向移动。
首先,我完成了操纵杆的读取与通信部分:该操作杆由x、y两个运动轴组成,支持360°旋转。单片机通过2个ADC通道分别读取这两个轴上的滑动变阻器值(范围为0-4096),并根据这些值判断当前操纵杆的姿态和所处的象限。
为了实现精确控制,我定义了一种自定义命令格式:利用串口通信将x、y两个轴的ADC值发送给小车。例如使用 #x轴adc值,y轴adc值* 的形式通知车辆调整其姿态或位置。此外,操纵杆还带有一个隐藏按键用于切换旋转模式。
综上所述,在完成基础控制功能后,我实现了通过操纵杆精确操控麦克纳姆轮小车的功能,并进一步探索了如何利用该设备实现更复杂的移动操作和方向变换。