张佑春,游志宇,任远林,仲济艳
(1.安徽工商职业学院应用工程学院,安徽合肥231131;2.西南民族大学电气信息工程学院,四川成都610041)
球形机器人是驱动系统位于球壳内部,通过内驱动方式实现球体运动机器人。与传统机械轮式机器人相比,具备了更出众的运动能力和适应复杂地形能力。这类机器人具有良好的动静平衡性,可以行驶在沙尘、潮湿、腐蚀性的恶劣环境中。球形机器人是机器人研究领域的热点,但是基础理论不够完善,技术层面更处在起步阶段。于涛等[1]设计的球形机器人利用角度动力守恒定律和陀螺仪驱动模式,完成了机器人移动控制功能。曾鹏[2]等利用了无线通信和双驱动电机控制,完成了三种不同结构机器人(BHQ-1、BHQ-2和BHQ-3)的设计。王晓云[3]利用视觉与IMU融合方法,对机器人姿态进行了修正,有效提高了精度。上述机器人成本较高,实用性有待进一步提升。
为了解决上述问题,设计了视觉式物体自主识别球形移动机器人系统。该系统通过机械结构设计、控制电路设计和摄像头图像识别技术,完成了机器人自主平衡移动和物体自主识别等功能设计。该机器人具备远程控制、成本低、功耗小和实用性强等优点,具备一定的实用价值。
视觉式物体识别球形移动机器人系统硬件结构主要包括了主控制器、陀螺仪角度采集、蓝牙通信、图像采集、电机驱动和电源等[4]。
(1)主控制器STM32F103模块:它主要完成了多传感器数据分析、融合和控制指令上传与下发等功能。
(2)图像采集传感器模块:该模块采用了柯达公司的BPI-D1摄像头,支持1080P高清视频采集。它通过wifi直接将图像数据传输至上位机,通过算法处理之后将分析结果传输至STM32F103,从而实现实时物体识别监测。
(3)动力驱动模块:它采用了中芯国际的TB6612控制芯片,驱动电流大小为1.2A,机器人驱动控制采用了4种模式灵活电驱切换。
(4)角度采集陀螺仪模块:采用了I2C通信接口和STM32F103集成DMA功能,直接将机器人运动倾角数据快速传输至RAM中存储。球形移动机器人系统硬件结构设计如图1所示。
图1 球形移动机器人系统硬件结构
机器人机械构造主要包括了三层结构[5]:系统控制第一层,主要包括了主控芯片、各类传感器和无线传输模块等;电机驱动第二层,通过2对轴连接直流电机,完成机器人的驱动支撑;充电线圈第三层,当系统无电能支持时,利用电磁感应技术将机器人直接安装充电底座上实现快速充电。机器人的运动原理如下:设球形机器人的初始重心为Q,驱动轮位置节点为M,机器人质量值为m,Q与M之间的夹角角度值和距离值分别为θ和L,转动惯量值为J。机器人内部受力情况如图2所示。
图2 机器人内部受力图示
为了保持机器人在移动过程中重心平衡,平衡外力控制值设为F,机器人合外力力矩J等于倾角加速度α与转动惯量L的乘积,θ为机器人运动的倾角夹角。机器人定轴移动方程式[6]如式(1)所示。
(1)
由于θ夹角值很小,设置sinθ≈θ,cosθ≈1定轴移动方程式近似如式(2)所示。
(2)
通过傅里叶变换,可得传递函数如式(3)所示。
(3)
为了机器人移动过程能够完成自平衡状态,需要将机器人的夹角角度值θ一直保持在期望值θ0附近。机器人系统采用了PID算法,将系统加入比例控制、积分控制和微分控制,通过陀螺仪MPU6050完成机器人姿态检测,并将姿态角速度和角加速度通过卡尔曼滤波处理得到倾角估优值[7]。然后,将期望倾角与最优值进行姿态PID实时控制。最终,通过电机驱动,完成机器人自平衡运动状态实时控制闭环系统设计。机器人自平衡状态PID控制流程如图3所示。
陀螺仪实时采集夹角值为θ1,θ2,…,θk,当前与期望值θ0的偏差值Ek如式(4)所示。
Ek=θk-θ0
(4)
夹角角度值与目标期望值历史偏差为E1,E2,…,Ek,相邻两次差值Dk如式(5)所示[8]。
Dk=Ek-Ek-1
(5)
设比例系数为Kp,微分系数为Kd,由式(4)和式(5)可得PID姿态控制差分方程Q如式(6)所示。
Q=KpEk+KdDk
(6)
电机驱动死区设置为Sq,PWM输出上限设为Qmax,电机驱动PWM最终输出值Q如式(7)所示[9]。
(7)
机器人系统上电后,通过主控制器STM32F103完成陀螺仪MPU6050、蓝牙通信、电机和BDI-P的系统初始化功能。MPU6050采集到夹角角度数据(角速度与角加速度)后,通过卡尔曼滤波处理和PID姿态控制完成机器人自平衡和图像采集与处理,同时通过蓝牙通信与控制指令解析,完成机器人执行相应指令动作[10]。机器人系统软件总体流程设计如图4所示。STM32F103主控制器通过控制指令实现机器人移动功能的电机驱动,将陀螺仪实时采集的角速度和角加速度数据进行PID姿态自平衡计算,蓝牙负责指令无线通信互传,BDI-PI摄像头通过wifi模块将数据传至上位机,上位机完成物体图像识别算法处理后通过蓝牙发送至STM32F103主控制器[11-12]。机器人自平衡控制流程如图5所示。
图4 机器人系统软件总体流程设计
图5 机器人自平衡控制流程
对机器人测试系统完成上电与自主寻物运动指令后,机器人执行相应的前进后退、左旋右旋和左转右转等动作。当机器人自主运动一段时间后,机器人系统平衡倾角动态变化信息记录如图6所示,其中纵坐标为机器人倾角,横坐标为运动时间。
图6 机器人系统平衡倾角动态变化信息
通过蓝牙信息传输记录了机器人系统执行运动控制指令的自平衡测试偏离角测试数据如表1所示。
经过表1计算可知,球形机器人自平衡平均时间约为4.02s,平均最大偏离角度约为3.96°。为了进一步验证机器人系统抗干扰能力,进行了外力扰动测试。机器人自主恢复平衡的倾角变化信息如图7所示,其中纵坐标为机器人倾角,横坐标为运动时间。
表1 机器人运动自平衡最大偏离角
图7 施加扰动又恢复平衡角度信息
系统施加多次扰动后,机器人自主恢复平衡时间以及最大偏离角的实验测试记录情况如表2所示。
由表2计算可知,系统受干扰的自平衡平均时间约为2.13s,平均最大偏角约为2.88°,系统受扰后的自平衡时间控制在3s以内,满足球型机器人设计要求。
视觉式物体自主识别球形移动机器人系统通过陀螺仪倾角数据采集、BPI-D1高清图像采集、无线传输wifi与蓝牙,完成了系统运动精确控制与自主物体识别等功能。该系统通过PID姿态保持和卡尔曼滤波算法处理,保证了机器人系统在受扰情况下自主平衡功能实现。经过系统测试,系统运动中的最大倾角和自主平衡恢复时间均满足球形机器人的设计要求,同时具备较强的鲁棒性和抗干扰能力,具备较强的推广与应用价值。