"""
基于多传感器的智能轮椅避障控制方法
1. 控制系统任务分析
1.1 基于多传感器的智能轮椅运动控制系统组成
1.1.1 霍尔编码器的作用
- 霍尔编码器用于检测无刷直流电机的转速,向主控单元反馈电机的实时转速。
- 角度传感器检测转向避障时轮毂转角,根据转角实时调整智能轮椅避障角。
1.1.2 主控模块的功能
- 主控模块将读取到的电机实际转速和输出转速做对比,能够得到电机期望转速值于电机实际工作时的转速值。
- 使用速度控制算法根据世纪转速和期望转速的速度差值来调整电机实际转速,调速主要通过改变输入给电机的脉冲频率来实现。
1.2 差速转向避障系统模型设计
1.2.1 差速转向避障模型的假设条件
- 不考虑轮毂与地面的摩擦系数大小,假设轮毂与地面不会产生滑动。
- 不计轮毂因受载荷产生弹性形变。
1.2.2 差速转向避障模型的函数关系
- 根据前轮与后轮的宽度设为L,将两各后轮之间的宽度设为W,𝜃是轮椅转向时的轮毂偏转角度,𝜔r是轮椅转向时车体转的角位移,R是转向时外侧轮中轴线到转向原点的距离。
- 将左后轮的移动线速度设为V3,右后轮为V4,轮椅整体移动速度设为V,推导出后轮线速度为 V4 的表达式。
1.3 智能轮椅多传感器运动控制原理
1.3.1 智能轮椅多传感器运动控制原理图
- 霍尔传感器实时检测电机实际转速,反馈给主控模块中的速度控制器。
- 路面障碍检测模块实时检测路面信息,反馈给主控模块进行避障决策。
- 在检测到路面障碍时,通过两种反馈对电机进行速度调控,计算得到给电机的PWM输出脉冲调制信号,从而实现无刷直流电机的双闭环调速。
1.4 BP神经网络优化PID控制算法
1.4.1 PID算法设计
- PID控制从诞生到现在一直广泛应用于各大领域,主要针对于线性控制,包括电机调速、温度控制。
- PID控制组成部分有比例系数P、积分系数I和微分系数D。P、I、D三种空置方法分别具有不同的调节作用。
1.4.2 BP神经网络理论
- 神经网络是模仿生物的神经元结构设计出来的,利用人工神经元构建出神经网络,使之具备学习和记忆能力。
- BP神经网络的作用就是通过训练,使控制对象的输入u与输出y之间满足某种关系。
1.5 基于多传感器的BP神经网络PID算法
1.5.1 基于多传感器的BP神经网络PID控制器基本结构
- 将BP神经网络与PID相结合,利用BP神经网络优化PID的三个控制系数Kp、Ki、Kd,以此提高智能轮椅的运动控制精度。
- PID算法方程如下:u(k) = Kp * e(k) + Ki * ∫e(k)dt + Kd * de(k)/dt。
1.5.2 不同算法下的电机转速分析
- 在传统PID、普通BP神经网络PID和改进后BP神经网络PID三种控制算法下的转速仿真结果表明,改进后的BP神经网络PID算法能够有效的减少速度调控时间,能让运动控制系统的运动控制功能响应更快,更及时的避开路面障碍。
1.6 多传感器智能避障轮椅系统硬件设计
1.6.1 智能轮椅系统硬件组成
- 为了降低轮椅硬件系统的线路布局难度和轮椅本身活动结构对线路的影响,利用三块控制板组成分布式布局。
- 智能轮椅避障控制系统硬件组成主要有:摇杆、按键、LCD显示器、无刷直流电机、激光测距雷达和超声波测距雷达等。
1.6.2 器件选型
- 驱动板与主控板选型:STM32F03RCT6型芯片。
- 路面检测传感器选型:RPLIDAR型激光测距雷达。
- 编码器选型:E6C2-CWZ3E编码器。
- 电机筛选:60BL100S15-230TF0型号三相无刷直流电机。
- 轮椅整体角度传感器选型:MPU6050型陀螺仪。
- 角位移传感器选择:E6C2-CWZ3E型号编码器。
1.7 多传感器智能轮椅避障控制系统软件设计
1.7.1 智能轮椅控制系统主程序设计
- 主程序是整个控制程序的框架。智能轮椅路面检测模块和运动控制模块的主程序功能主要包含系统初始化、看门狗初始化、开/关终端和各子函数。
1.7.2 智能轮椅软件子程序流程设计
- 中断函数流程设计:主要放置于定时器中断内部,根据定时器时钟频率和中断条件来决定中断函数何时开启中断。
- 基于多传感器的转向子程序流程设计:通过主控模块对路面障碍的位置和大小进行计算后进行避障。
- 基于多传感器融的路面障碍避障程序设计:当路面检测模块检测到前方路面有路面障碍时,计算前轮与路面障碍距离,根据计算得的路面障碍计算最小转向角度,调用速度控制子程序和差速转向子程序计算避开路面障碍时两驱动轮各自需要的转速来实现避开路面障碍。
- BP神经网络 PID 控制算法程序设计:智能轮椅在行驶过程中检测到路面障碍后通过路面检测功能计算出路面障碍的距离和大小,最终得出避障角度。以避障角度,电机实际转速、期望转速和转速差作为网络输入调整 PID 算法的比例、微分和积分系数,以此优化电机控制算法。改进后的控制算法如下:u(k) = Kp * e(k) + Ki * ∫e(k)dt + Kd * de(k)/dt。 """




