一种基于改进粒子群算法的全向移动智能轮椅机器人参数辨
识方法
技术领域
背景技术
[0002] 机器人参数辨识是机器人控制领域的一个重要课题,其根据机器人系统的响应数据来确定机器人动
力学和运动学特性的数学模型。对于许多的机器人领域,由于结构比较复杂,不能用传统的建模分析法获得精确的数学模型,只能通过系统辨识技术来估计出较为准确的模型。参数辨识是系统辨识中的重要组成部分,在已知机器人动力学和
运动学模型的结构之后,可以通过输入与输出数据之间的关系确定已知模型结构中的未知参数。目前,辨识技术已经推广到工程和非工程的许多领域,如化学化工过程、
核反应堆、电力系统、航空航天
飞行器、
生物医学系统、社会经济系统、环境系统、
生态系统等。
[0003] 系统辨识方法主要包括经典系统辨识方法和现代系统辨识方法。其中经典系统辨识方法已经发展比较成熟和完善,主要包括阶跃响应法、脉冲响应法、
频率响应法、相关分析法、谱分析法、最小二乘法和极大似然法等。但是由于实际系统很多都是具有不确定性的复杂系统,经典的辨识方法在此方面还存在一定的不足,其对于某些复杂系统在一些情况下无能为力。现代系统辨识方法主要包括集员系统辨识法、神经网络系统辨识法、
模糊逻辑系统辨识法、智能算法系统辨识法等。其中,智能算法主要包括
遗传算法、蚁群算法、粒子群算法、差分
进化算法等,是解决传统系统辨识问题的新方法。由于智能算法不依赖于问题模型本身的特性,能够快速有效地搜索复杂、高度非线性和多维空间,非常适合于辨识系统参数,是系统辨识研究与应用中的重要途径。
[0004] 粒子群
优化算法(Particle Swarm Optimization,PSO)是一种进化计算技术,1995年由Eberhart博士和Kennedy博士提出。该算法源于对
鸟群捕食的行为研究,是通过模拟鸟群觅食过程中迁徙和协同合作行为而提出的一种智能随机优化算法。其基本思想在于:从随机解出发,通过
迭代的方式不断更新粒子个体的
位置和速度,同时根据目标函数来判断粒子的适应性,进而寻找最优解。
粒子群优化算法以实现容易、
精度高、收敛快等优点引起了学术界的重视,并且在解决系统辨识问题中展示了其特殊的优越性。但是,粒子群优化算法在处理复杂问题时容易陷入局部最优解上而停止不动,即所谓的早熟收敛现象。
[0005] 遗传算法(Genetic Algorithm,GA)是20世纪70年代初由美国密西根大学的J.Holland教授和他的学生提出的一种新型的优化算法。其基本思想在于模仿生物进化论过程当中基因(
染色体)的生存过程。此过程中的染色体充当了种群当中的个体,因此每一个个体都可以作为问题的一个解。个体在衍生的过程中不断地复制、交叉和变异,产生新的个体。进而通过设定的适应度来衡量个体,对新产生的个体进行筛选,在保持种群数量恒定的同时,经过一代代的不断变化,选出最好的个体,得出问题的最优解。遗传算法拥有极强的探索精度和求变功能,在解空间全局寻优上具有优势,但在局部搜索能力上相对不足。
发明内容
[0006] 为了解决上述问题,本发明提出了一种基于改进粒子群算法的全向移动智能轮椅
机器人运动学参数辨识方法。将粒子群优化算法与遗传算法进行融合,将遗传算法中的遗传继承的思想引入粒子群优化算法中,并对粒子群优化算法的惯性权重进行动态调整,即具有遗传性能的权重调整粒子群算法(Weight-adjusted Particle Swarm Optimization algorithm with Genetic performance,GWPSO)。与粒子群优化算法和遗传算法相比,改进的粒子群算法表现出了更好的优化性能,提高了全局搜索能力,加快了算法的收敛速度。将改进的粒子群算法应用于确定全向移动智能轮椅机器人运动学的相关参数,是一种有效的参数辨识方法。
[0007] 本发明的主要应用对象为一种安装有四个麦克纳姆轮(又叫全向轮)的智能轮椅床式机器人,这是一种典型的能够为机器人提供全向运
动能力的移动底盘结构,如
附图1所示。本发明的目的在于提供一种对全向移动智能轮椅床式机器人运动学相关参数进行辨识的有效方法,进而得到的能够真实描述轮椅机器人运动学特性的数学模型。
[0008] 具体技术方案:
[0009] 本发明根据改进粒子群算法全局搜索能力强、收敛速度快等特点,将其应用于全向移动智能轮椅机器人运动学模型相关参数的优化问题中,得到更接近于实际的全向移动智能轮椅机器人运动学模型,该方法的步骤如下:
[0010] 准备工作:利用数学推导及运动学特性分析得到全向移动智能轮椅机器人运动学模型表达式。设置粒子群算法的最大迭代次数tpmax、最小惯性权重系数ωpmin∈(0,1)、最大惯性权重系数ωpmax∈(ωpmin,1)。
[0011] 步骤一:给轮椅机器人一定的横向运动输入指令Vx,纵向运动及
姿态输入为零,即控制轮椅机器人横向运动,利用视觉
传感器采集到轮椅机器人产生的运动位置及姿态信息。
[0012] 步骤二:设迭代次数tp=1,初始化粒子群,设定粒子个数N,即每个粒子位置对应一个参数辨识结果,每个粒子速度对应一次迭代参数辨识结果中参数值的变化值,每一个粒子的维数D,即每个粒子对应D个需要辨识的参数,设定参数搜索范围、速度限制,并随机确定每个粒子的初始位置和速度,即生成N个参数辨识结果和对应的参数变化值,每个结果中的D个参数值为参数搜索范围中的随机值,其对应的参数变化值为速度限制中的随机值。
[0013] 步骤三:根据目标函数计算每个粒子的适应度Jx,将当前粒子的位置存储在pbestid(tp)中,将其中最优粒子的位置存储在gbestid(tp)中,所述的最优粒子是指适应度值最小的粒子。
[0014] 适应度即参数辨识结果和实际参数值的一致程度,适应度值越小,参数辨识结果越好,适应度值越大,参数辨识结果越差。
[0015] 步骤四:更新群体中所有粒子的位置和速度。
[0016] 步骤五:根据目标函数计算更新后粒子的适应度Jx,对于每个粒子,将粒子更新后的适应度值与存储在pbestid(tp)中的粒子的适应度值进行比较,并用更优的粒子更新得到局部最优解pbestid(tp+1),所述的更优的粒子指适应度值更小的粒子,即更新得到每个粒子目前搜索到的最优的参数辨识结果,并从pbestid(tp+1)中选取最优粒子更新得到全局最优解gbestid(tp+1),即更新得到所有粒子目前搜索到的最优的参数辨识结果。
[0017] 步骤六:根据适应度值对更新后的粒子进行排序,找出最优粒子,并且所有其他粒子都继承最优粒子的位置和速度,即使所有其他粒子的位置和速度均与最优粒子的位置和速度相同,保持pbestid(tp+1)与gbestid(tp+1)不变。
[0018] 步骤七:令tp=tp+1,判断是否满足tp>tpmax,如果满足,则停止搜索并保存得到的横向运动辨识参数最优值,否则返回步骤四继续搜索。
[0019] 步骤八:给轮椅机器人一定的纵向运动输入指令Vy,横向运动及姿态输入为零,即控制轮椅机器人纵向运动,利用视觉传感器采集轮椅机器人产生的运动位置及姿态信息。重复步骤二到步骤七过程,并更新其中的一些参数设置和目标函数Jy,即得到轮椅机器人纵向运动辨识参数最优值。
[0020] 步骤九:给轮椅机器人一定的姿态输入指令Vθ,横向运动及纵向运动输入为零,即控制轮椅机器人的姿态,利用视觉传感器采集轮椅机器人产生的运动位置及姿态信息。重复步骤二到步骤七过程,并更新其中的一些参数设置和目标函数Jθ,即得到轮椅机器人姿态运动辨识参数最优值。
[0021] 步骤十:输出所有参数辨识结果,即横向运动、纵向运动及姿态运动辨识参数的最优值。
[0022] 补充说明:
[0023] 其中,准备工作中,全向移动智能轮椅机器人运动学模型如下所示:
[0024]
[0025] 上式(1)中,R为麦克纳姆轮的半径。 为轮椅机器人在车体
坐标系Or(xr,yr)中的速度向量。Vx,Vy,Vθ分别为轮椅机器人横向运动、纵向运动及姿态运动对应的速度值。Or(xr,yr)是以轮椅机器人底盘几何中心作为原点的车体坐标系。ωi(i=1,2,3,4)为麦克纳姆轮i绕
轮毂旋转的
角速度,l和w分别为麦克纳姆轮在车体坐标系Or(xr,yr)中到xr轴和yr轴的距离,如附图1所示。
[0026] 由于轮子打滑及外界扰动等因素,全向移动智能轮椅机器人运动学模型并非理想状态,于是将其写为如下形式进行参数辨识:
[0027]
[0028] 上式中,k11,k12,k13,k14,k21,k22,k23,k24,k31,k32,k33,k34即为需要辨识的参数。k1=[k11,k12,k13,k14]T为轮椅机器人横向运动时需要辨识的参数,k11,k12,k13,k14分别对应麦克纳姆轮1,2,3,4的角速度系数。k2=[k21,k22,k23,k24]T为轮椅机器人纵向运动时需要辨识的参数,k21,k22,k23,k24分别对应麦克纳姆轮1,2,3,4的角速度系数。k3=[k31,k32,k33,k34]T为轮椅机器人姿态运动时需要辨识的参数,k31,k32,k33,k34分别对应麦克纳姆轮1,2,3,4的角速度系数。
[0029] 其中,步骤一中,横向运动输入指令Vx为轮椅机器人的横向运动速度值,将速度值按理想运动学模型先转化为四个轮子的转速,再输入到实际系统和辨识系统。
[0030] 其中,步骤二中,粒子群为X=[X1,X2,…,XN],其中粒子i的位置表示为xid(tp)=[xi1,xi2,…,xiD],即对应D个辨识参数的参数值,速度表示为vid(tp)=[vi1,vi2,…,viD],即对应D个辨识参数参数值的变化值,i=1,2,…,N。速度最大值Vmax∈[0.001,0.1]、最小值Vmin∈[-0.1,-0.001],参数搜索范围上界k1max=[k11max,k12max,k13max,k14max]T、下界k1min=T[k11min,k12min,k13min,k14min]。
[0031] 其中,步骤三和步骤五中,目标函数如下所示:
[0032]
[0033] 上式中,n为视觉传感器采集到的样本数据总量,xi表示视觉传感器采集的轮椅机器人的第i个运动位置, 表示根据第i个粒子预测的运动位置。在辨识轮椅机器人横向运动参数最优值阶段时,运动位置指横向位置,另外两个阶段则分别对应为纵向位置和角度位置。
[0034] 其中,步骤三和步骤五中,pbestid(tp)=[pbesti1,pbesti2,…,pbestiD]表示截至第tp代i(i=1,2,…,N)粒子的最优解,即截至第tp代i粒子对应的适应度值最小的参数辨识结果,gbestid(tp)=[gbesti1,gbesti2,…,gbestiD]表示截至第tp代的全局最优解,即截至第tp代适应度值最小的粒子i对应的参数辨识结果。
[0035] 其中,步骤四中,粒子的位置和速度更新公式如下所示:
[0036]
[0037] 上式中c1∈[1,2]、c2∈[1,2]表示
加速度常数,ωp表示惯性权重,rand()表示(0,1)之间的随机数。惯性权重ωp计算公式如下:
[0038]
[0039] 其中,步骤八中,重复步骤二时,参数搜索范围更改为k2max=[k21max,k22max,k23max,k24max]T,k2min=[k21min,k22min,k23min,k24min]T。重复步骤三和步骤五时,目标函数更改为如下形式:
[0040]
[0041] 上式中,n为视觉传感器采集到的样本数据总量,yi表示实际系统输出的样本数据, 表示辨识模型输出的数据。
[0042] 其中,步骤九中,重复步骤二时,参数搜索范围更改为k3max=[k31max,k32max,k33max,k34max]T,k3min=[k31min,k32min,k33min,k34min]T。重复步骤三和步骤五时,目标函数更改为如下形式:
[0043]
[0044] 上式中n为视觉传感器采集到的样本数据总量,θi表示实际系统输出的样本数据,表示辨识模型输出的数据。
[0045] 有益效果
[0046] 本发明提出了一种基于改进粒子群算法的全向移动智能轮椅机器人参数辨识方法。改进粒子群算法将粒子群优化算法与遗传算法进行融合,取长补短,将遗传算法中遗传继承的思想引入粒子群优化算法中,弥补了遗传算法在局部搜索能力上相对不足的缺点。同时对粒子群优化算法的惯性权重进行动态调整,较好地平衡了算法的全局搜索能力和局部搜索能力,使算法具有更优越的寻优性能,既能得到
质量高的最优解,又能保持很高的搜索速度。与粒子群优化算法和遗传算法相比,改进的粒子群算法具有更好的优化性能,能够提高算法的全局搜索能力,加快算法的收敛速度,是一种有效的参数辨识方法。将其应用于全向移动智能轮椅机器人运动学模型的参数辨识问题中,可以得到更接近于实际的全向移动智能轮椅机器人运动学模型。
附图说明
[0047] 图1是轮椅机器人结构及运动状态量示意图。
[0048] 图2是轮椅机器人的运动学模型参数辨识原理图。
[0049] 图3是改进粒子群算法对轮椅机器人横向运动的相关参数辨识
流程图。
[0050] 图4是横向运动目标函数优化过程图。
[0051] 图5是横向运动辨识模型输出曲线图。
[0052] 图6是x方向参数辨识结果表。
[0053] 图7是纵向运动目标函数优化过程图。
[0054] 图8是纵向运动辨识模型输出曲线图。
[0055] 图9是y方向参数辨识结果表。
[0056] 图10是姿态运动目标函数优化过程图。
[0057] 图11是姿态运动辨识模型输出曲线图。
[0058] 图12是姿态参数辨识结果表。
具体实施方式
[0059] 下面结合具体实施过程对本发明进行进一步描述:
[0060] 准备工作:利用数学推导及运动学特性分析得到的全向移动智能轮椅机器人运动学模型已知如公式(1)所示,将其写为公式(2)的形式进行参数辨识。设置粒子群算法的最大迭代次数tpmax=200,最大惯性权重系数ωpmax=0.9,最小惯性权重系数ωpmin=0.1。
[0061] 步骤一:给轮椅机器人一定的横向运动输入指令Vx如下所示,纵向运动及姿态输入为零,即控制轮椅机器人横向运动,并利用视觉传感器采集到轮椅机器人产生的运动位置及姿态信息。
[0062]
[0063] 上式中,横向运动输入指令Vx为轮椅机器人的横向运动速度值,将其按理想运动学模型先转化为四个轮子的转速,再输入到实际系统和辨识系统。
[0064] 步骤二:令迭代次数tp=1,初始化粒子群,设定粒子个数N=30,每一个粒子的维数D=4,参数搜索范围k1max=[1,1,1,1]T,k1min=[0.5,0.5,0.5,0.5]T,速度限制Vmax=0.01,Vmin=-0.01,并随机确定每个粒子的初始位置和速度。
[0065] 步骤三:根据目标函数计算每个粒子的适应度Jx,将当前粒子的位置存储在pbestid(tp)中,将其中最优粒子的位置存储在gbestid(tp)中。目标函数如下所示:
[0066]
[0067] 上式中,n为视觉传感器采集到的样本数据总量,xi表示实际系统输出的样本数据, 表示辨识模型输出的数据。
[0068] 步骤四:更新群体中所有粒子的位置和速度。粒子的位置和速度更新公式如下所示:
[0069]
[0070] 上式中,rand()表示(0,1)之间的随机数,惯性权重ωp计算公式如下:
[0071]
[0072] 步骤五:根据公式(9)计算更新后粒子的适应度值,将粒子更新后的适应度值与存储在pbestid(tp)中的粒子的适应度值进行比较,用更优的粒子更新得到局部最优解pbestid(tp+1),并从pbestid(tp+1)中选取最优粒子更新得到全局最优解gbestid(tp+1)。
[0073] 步骤六:根据适应度值对更新后的粒子进行排序,找出最优粒子,并且所有其他粒子都继承最优粒子的位置和速度,即使所有其他粒子的位置和速度均与最优粒子的位置和速度相同,保持pbestid(tp+1)与gbestid(tp+1)不变。
[0074] 步骤七:令tp=tp+1,判断是否满足tp>tpmax,如果满足,则停止搜索并保存得到的参数辨识结果,否则返回步骤四继续搜索。
[0075] 步骤八:给轮椅机器人一定的纵向运动输入指令Vy如下所示,横向运动及姿态输入为零,即控制轮椅机器人纵向运动,利用视觉传感器采集轮椅机器人产生的运动位置及姿态信息。
[0076]
[0077] 上式中,纵向运动输入指令Vy为轮椅机器人的纵向运动速度值,将其按理想运动学模型先转化为四个轮子的转速,再输入到实际系统和辨识系统。
[0078] 重复步骤二到步骤七过程,参数搜索范围更改为k2max=[1,1,1,1]T,k2min=[0.5,0.5,0.5,0.5]T。目标函数更改为如下形式:
[0079]
[0080] 上式中,n为视觉传感器采集到的样本数据总量,yi表示实际系统输出的样本数据, 表示辨识模型输出的数据。
[0081] 步骤九:给轮椅机器人一定的姿态输入指令Vθ如下所示,横向运动及纵向运动输入为零,即控制轮椅机器人的姿态,利用视觉传感器采集轮椅机器人产生的运动位置及姿态信息。
[0082] Vθ=0.025rad/s (14)
[0083] 上式中,姿态输入指令Vθ为轮椅机器人的姿态运动速度值,将其按理想运动学模型先转化为四个轮子的转速,再输入到实际系统和辨识系统。
[0084] 重复步骤二到步骤七过程,参数搜索范围更改为k3max=[1,1,1,1]T,k3min=[0.5,0.5,0.5,0.5]T。目标函数更改为如下形式:
[0085]
[0086] 上式中n为视觉传感器采集到的样本数据总量,θi表示实际系统输出的样本数据,表示辨识模型输出的数据。
[0087] 步骤十:输出所有参数辨识结果,即横向运动、纵向运动及姿态运动辨识参数的最优值。
[0088] 附图4、7、10表明了横向运动、纵向运动、姿态运动中目标函数的优化过程。可以看出本发明提出的改进粒子群算法(GWPSO)相比于传统的粒子群优化算法(PSO)和遗传算法(GA),具有更好的优化性能,在保持最优解质量的同时,算法的收敛速度更快。附图5、8、11是横向运动、纵向运动、姿态运动辨识模型输出曲线图,其表明了算法优化得到的全向移动智能轮椅机器人运动学模型,很接近实际应用中全向移动智能轮椅机器人的运动学模型。附图6、9、12表明了全向移动智能轮椅机器人运动学模型参数辨识结果。其中建模值为利用数学推导及运动学特性分析得到的全向移动智能轮椅机器人运动学模型的相关参数值。表中第3、4、5行分别为粒子群优化算法(PSO)、遗传算法(GA)和改进粒子群算法(GWPSO)优化得到的轮椅机器人相关参数值及目标函数的最优值。由参数辨识结果可以看出,改进粒子群算法得到的最优解在三种算法中是最好的。由附图4到附图12说明了改进粒子群算法能够提高全局搜索能力,加快收敛速度,是一种有效的参数辨识方法。将其应用于全向移动智能轮椅机器人运动学模型的优化问题中,可以得到更接近于实际的全向移动智能轮椅机器人运动学模型。