一种柔性机械臂控制仿真平台及其仿真方法与流程

文档序号:15229254发布日期:2018-08-21 19:10阅读:599来源:国知局

本发明涉及一种机械臂的仿真技术,尤其是一种用于柔性机械臂的控制仿真平台及其仿真方法,属于移动通信技术领域。



背景技术:

柔性机械臂作为柔性多体系统动力学分析与控制理论研究最直接的应用对象,其具有简明的物理模型以及易于计算机和实物模型试验实现的特点。自20世纪90年代起,柔性机械臂的建模与仿真研究引起了国内外专家学者的广泛关注。迄今为止针对刚性机械臂控制的研究已经形成了诸多成熟的控制理论。

控制论的全面发展为柔性机械臂控制算法设计提供了诸多选择,特别是神经网络控制、模糊控制、混合智能控制等非线性控制等理论都被不同程度地引入柔性机械臂控制器的设计领域。传统的柔性机械臂前期研制到投入工程实践的过程中需要多次进行控制效果测试,测试周期长,且在产品不能保证控制方法满足安全性和高效性要求时无法更新算法,需要重新设计柔性机械臂从而产生资源浪费。

近几十年来,计算机技术己经成为诸多科学研究领域必要的工具,而以数学理论为基础,以计算机和各种物理设施为辅助设备,建立模拟仿真模型对实际的或设想的系统进行试验仿真研究的方法也逐渐成为了各个学术领域研究过程中最常用的方法。利用计算机仿真技术,在前期设计过程中控制系统的参数可随时进行重设,通过仿真结果可预先确定机械臂设计的合理性,这一方法在柔性机械臂的理论研究方面具有长远的帮助。

国内现阶段实现柔性机械臂仿真的方法大多为软件直接建模。例如,在adams软件中建立柔性机械臂的物理模型,并在matlab/simulink环境中设计控制器实现了联合仿真;或在dads软件环境下采用有限段法对多柔体系统进行建模并实现了双连杆柔性机械臂的动力学仿真;或在柔性机械臂的建模上采用了maplesim多领域仿真建模平台,借助maple环境功能块化的编程方式实现了柔性机械臂的分部设计。但上述柔性机械臂仿真系统的结构很复杂,参数重设难度大,还有交互性差,仿真数据不易观察与处理的问题。

综上所述,现阶段的柔性机械臂控制仿真平台主要存在以下问题:

1、仿真平台人机交互性差,操作逻辑复杂。

2、仿真数据量大,纯数据的记录不易于分析工作。

3、参数设修改难度大,需对仿真系统进行重新设计。



技术实现要素:

本发明的目的在于:针对现有技术存在的缺陷,提出一种柔性机械臂控制仿真平台及其仿真方法,以图形化人机交互界面为主要形式,以柔性机械臂控制算法选择、数学模型参数设置、状态量实时显示为主要功能,实现柔性机械臂控制算法快速测试的仿真平台。

为了达到以上目的,本发明提供了一种柔性机械臂控制仿真平台,包括柔性机械臂数学模型(1)、仿真平台主界面(2)、控制方案选择及实现模块(3)、期望轨迹设计模块(4)、控制参数设置模块(5)及参数状态显示模块(6),各模块之间通讯连接实现数据传输。

所述的仿真平台主界面(2)负责协调仿真平台中各模块的工作过程,通过控制参数设置模块(5)给定目标控制参数,并传递至柔性机械臂数学模型(1);通过控制方案选择及实现模块(3)设置目标使用的控制方法;利用期望轨迹设置模块(4)指定柔性机械臂仿真运动的期望轨迹;利用参数状态显示模块(6)在仿真平台主界面(2)上实现各参数数值及仿真图像的实时显示。

本发明的进一步限定技术方案为:所述柔性机械臂数学模型为被控柔性机械臂的数学模型表达式,利用力学关系建立两自由度的柔性机械臂数学模型,表达式如下:

其中,q和qm分别表示连杆和转子的角位置;i和j分别表示连杆和转子的转动惯量;

k代表关节刚度系数;m,g,l分别表示连杆质量、重力加速度和连杆中心至关节长度;u表示电机转矩输入;所述柔性机械数学模型包括柔性机械臂的模型数学表达式及数据传输模块:所述数学表达式以s函数方式存储为单文件负责数学仿真任务,所述数据传输模块负责与仿真平台主界面链接实现仿真结果数据的传送任务。

所述仿真平台主界面是基于gui语言编写的图形化人机交互界面,其界面包含参数设置窗口、参数状态显示窗口及综合控制区;所述仿真平台主界面基于gui编写的程序,下附四个控制算法子界面,界面包含参数设置窗口、参数状态显示窗口和综合控制区。所述的参数设置窗口提供控制参数的输入界面;所述的参数状态显示窗口提供参数状态显示的绘图区域;所述的综合控制区通过按钮控件负责控制仿真工作的启动、暂停和返回上级界面。

所述控制方案选择及实现模块具有至少一种控制方法以供用户选择,用户通过修改仿真系统中控制律的数学表达式匹配控制算法;所述控制方案选择及实现模块为用户搭建实现控制方案的基本框架,具有多种控制方案供选择进行仿真,包括pid控制、神经网络控制、滑模控制、模糊控制、鲁棒控制、自适应控制、预测控制等,通过数学推导出不同控制方法对应的控制律进行调整以适配所述仿真平台。

所述期望轨迹设置模块具有至少一种柔性机械臂运动轨迹以供用户选择,用户根据实验设计需要选择相应的轨迹函数进行仿真测试;所述期望轨迹设置模块具有被控柔性机械臂运动轨迹的设置方法,通过选择轨迹输入模块使用的轨迹函数,实现柔性机械臂仿真运动轨迹的预设和更改;所述柔性机械臂运动轨迹包括按正弦轨迹运动、按余弦轨迹运动、按三角波轨迹运动、按方波轨迹运动、按恒值轨迹运动。

所述控制参数设置模块负责完成控制参数的输入及向柔性机械臂数学模型的传递工作;所述控制参数设置模块具有柔性机械臂各控制参数的设置窗口,用户在仿真平台主界面的参数设置窗口处输入仿真所需控制参数后,完成对柔性机械臂各相关控制参数的设置。

所述参数状态显示模块负责显示控制参数的数值及仿真控制系统输出的仿真曲线。所述参数状态显示界面通过数值方式以显示各输入参数的值,并通过动态绘图的方式显示各被观测状态量,包括控制律、仿真控制系统输出状态值及观测器输出值的曲线,实现对仿真系统各参数及仿真结果的实时监测。

一种柔性机械臂控制仿真平台的仿真方法,包括如下步骤:

步骤1,启动仿真平台,运行主界面,根据实际工况选择所需控制算法,点击对应的“gui调用”按钮,调用仿真平台主界面下相对应的子界面;

步骤2,在仿真平台的子系统界面中,通过控制参数设置模块输入仿真模型的各项物理参数及控制参数;

步骤3,启动仿真,仿真平台主界面的参数状态显示模块负责调用数学模型产生的仿真数据实现各状态量的图形绘制;

步骤4,用户根据反馈信息进行回应,实现所需的后续操作,回到上一级主界面;

步骤5,重复以上流程直至结束。

本发明采用以上技术方案与现有技术相比,具有以下技术效果:本发明利用构建图形化界面的gui语言,设计仿真平台的人机交互界面,与基于simulink的控制仿真系统建立了数据交互通道。使用者在人机交互界面上输入仿真平台的各个控制参数及模型参数,通过点击各个功能按钮,实现参数设置、数学仿真运行及仿真图像显示。

本发明可以让使用者根据设计需要任意给定柔性机械臂的运动期望轨迹、设置仿真平台的各个控制参数及模型参数。仿真平台的使用不受时间、地点限制,使用者可以根据需要随时进行仿真工作。使用者可以选择多种控制算法进行仿真实验,缩短了控制算法的测试时间。使用者可以验证控制系统设计的可靠性,避免因为柔性机械臂参数设计失误而产生的资源浪费与设计人员的安全问题。

附图说明

下面结合附图对本发明作进一步的说明。

图1是本发明的结构示意图。

具体实施方式

本实施例提供了一种柔性机械臂控制仿真平台,结构如图1所示,包括柔性机械臂数学模型1、仿真平台主界面2、控制方案选择及实现模块3、期望轨迹设计模块4、控制参数设置模块5和参数状态显示模块6。

柔性机械数学模型包括柔性机械臂的模型数学表达式及数据传输模块,数学表达式以s函数方式存储为m文件负责数学仿真任务;数据传输模块负责与仿真平台主界面链接实现仿真结果数据的传送任务。进行仿真任务前需从仿真平台主界面接收控制参数设置模块5所传递的参数。

仿真平台主界面是基于gui编写的人机交互界面,下附四个控制算法子界面,界面包含①参数设置窗口:参数设置窗口提供控制参数的输入界面,在对应输入窗口输入期望的参数值并点击传参按钮即可完成参数设置工作;②参数状态显示窗口:参数状态显示窗口提供参数状态显示的绘图区域,通过调用仿真数据绘制被观测状态量的实时值,实现参数状态的监测;③综合控制区:所述的综合控制区负责控制仿真的启动、暂停和返回上级界面,包含绘图、暂停、返回主界面三个按钮,负责控制仿真工作的起止和交互界面的跳转。

控制方案选择及实现模块为使用者搭建了控制方案实现的基本框架,可选择多种控制方案进行仿真,如pid控制、神经网络控制等,通过数学分析建立不同控制方法对应的控制律,在simulink被控对象对应的s函数中对控制律定义语句进行修改,即可适配本平台。

期望轨迹设置模块为使用者提供了被控柔性机械臂运动轨迹的设置方法,通过在simulink的librarybrowser中的sourses选择需要使用的轨迹函数,即可实现柔性机械臂仿真运动轨迹的预设和更改。可供选择的函数包括三角波、方波、正余弦函数等,也可通过自定义函数,实现其他轨迹。

控制参数设置模块为使用者提供了柔性机械臂各控制参数的设置窗口,使用者在仿真平台主界面2的参数设置窗口处输入仿真所需控制参数即可实现对柔性机械臂各相关控制参数的设置,参数包括时间收敛系数、转子转动惯量、连杆转动惯量、关节刚度系数及重力力矩。

参数状态显示界面负责通过数值方式显示各输入参数的值,并通过动态绘图的方式显示各被观测状态量,如控制律、观测器误差等的实时值,实现对仿真系统各参数的实时监测。

本发明的各模块实施方式如下:

1、柔性机械臂数学模型1工作原理

基于simulink编程环境建立柔性机械臂的控制系统模型,包含系统的控制器、被控模型及观测器。各模块以s函数的形式在控制系统各个环节负责数据的处理工作。模块所包含的处理函数及数据的输入输出均借助对应m文件的指令实现。数学模型方程如下式:

其中,q和qm分别表示连杆和转子的角位置;i和j分别表示连杆和转子的转动惯量;

k代表关节刚度系数;m,g,l分别表示连杆质量、重力加速度和连杆中心至关节长度;u表示电机转矩输入。

2、仿真平台主界面2工作原理

所述的仿真平台主界面是基于gui编写的图像化人机交互界面,下附四个控制算法对应的子界面,界面上包含参数设置窗口、参数状态显示窗口和综合控制区。所述的参数设置窗口提供控制参数的输入界面,及控制参数设置模块5;所述的参数状态显示窗口6提供参数状态显示的绘图区域;所述的综合控制区负责控制仿真的启动、暂停和返回上级界面。

3、控制方案选择及实现模块3工作原理

本发明包含两大类四小类控制方法可供选择,包括状态反馈控制、输出反馈控制、鲁棒状态反馈控制、鲁棒输出反馈控制。通过选择需要使用的子系统界面即可完成控制方案的选择。各子系统界面对应含有待设置参数的柔性机械臂数学模型1,调用子系统界面可直接继续进行参数设置与数学仿真工作。

控制方案选择及实现模块源代码如下:

set_param('chap8_2sim/constant','value','1');

load_system('chap8_2sim');

sim('chap8_2sim');

set_param('chap8_2sim','stoptime','0');

4、期望轨迹设置模块4工作原理

期望轨迹设置模块为使用者提供了柔性机械臂目标运动轨迹的设置方法,通过选择使用的轨迹数学函数,实现柔性机械臂仿真期望轨迹的预设和更改,使用者可根据仿真需要更改simulink的函数发生模块,将期望轨迹设置为方波、三角波等轨迹波形。本项目预设为正弦波形。

5、控制参数设置模块5工作原理

控制参数设置模块为使用者提供了柔性机械臂各控制参数的设置窗口,使用者在仿真平台主界面2的参数设置窗口处输入各仿真所需控制参数的值即可实现对柔性机械臂各相关控制参数的设置。

控制参数设置模块源代码:

globalmgl

globali

globalj

globalk

globalxite

mgl=get(handles.edit24,'string');

goes='=';

wget1=['xite',goes,get(handles.edit20,'string'),';'];

wget2=['i',goes,get(handles.edit21,'string'),';'];

wget3=['j',goes,get(handles.edit22,'string'),';'];

wget4=['k',goes,get(handles.edit23,'string'),';'];

wget5=['mgl',goes,get(handles.edit24,'string'),';'];

evalin('base',wget1);

evalin('base',wget2);

evalin('base',wget3);

evalin('base',wget4);

evalin('base',wget5);

6、参数状态显示模块6工作原理

参数状态显示界面负责通过数值方式显示各输入参数的值,并通过动态绘图的方式显示各被观测状态量,如控制律、观测器误差等的实时值,实现对仿真系统各参数的实时监测。

参数状态显示模块源代码如下:

set_param('lsim','stoptime',num2str(c));

t=evalin('base','t');

simout=evalin('base','simout');

simout1=evalin('base','simout1');

simout2=evalin('base','simout2');

if(c==0.1)

set(handles.axes6,'xticklabel',{stra,”,”,”,”,”,”,”,”,”,”},'fontsize',8);

temp=stra;

end

while(1)

axis(handles.axes6,[b1b2-33]);

if(t(tl,1)==b2-18)

set(handles.axes6,'xticklabel',{temp,stra,”,”,”,”,”,”,”,”,”},'fontsize',8);

temp1=stra;

break;

end

……………………………………………………

break;

end

break;

end

if(t(tl,1)==b2)

b1=b1+20;

b2=b2+20;

set(handles.axes6,'xticklabel',{temp9,”,”,”,”,”,”,”,”,”,”},'fontsize',8);

temp=stra;

end

axes(handles.axes9);

plot(t(tl,1),simout2(tl,1),'c.-','linewidth',1.5)

holdon;

plot(t(tl,1),simout2(tl,2),'m.-','linewidth',1.5)

gridon

本实施例的具体工作方法为,包括以下步骤:

步骤1,使用者启动仿真平台后进入仿真平台主界面,运行主界面,选择要使用的控制算法,点击对应的“gui调用”按钮;

步骤2,在仿真平台的子系统界面中通过参数设置模块的多个输入窗口输入仿真模型的所需要设置的物理参数和控制参数,包括时间收敛系数、转子转动惯量、连杆转动惯量、关节刚度系数、连杆质量、重力加速度和连杆中心至关节的长度。在参数设置模块5中输入本实施例中选择系统设计的默认值,20,1,1,40,5,其中,xite表示时间收敛系数,为无单位常数;i和j分别表示连杆转动惯量和转子转动惯量,单位是kg·m2;k代表关节刚度系数(单位是n/m);m,g,l分别表示连杆质量(单位kg)、重力加速度(单位n/kg)和连杆中心至关节长度(单位m)。

在期望轨迹设置模块4中通过选择simulinksource库的sinewave信号,相位置零使其发生正弦信号,在控制器的配置m文件中依次修改期望信号的高阶导数表达式,完成期望轨迹设置。本实例在控制方案选择及实现模块3中,基于滑模控制方法推导了控制律u的表达式,在数学模型1的配置m文件中将表达式向控制律输出函数赋值,完成控制方法的选择。

步骤3,运行仿真平台,通过其主界面的参数状态显示模块负责调用数学模型产生的仿真数据实现各状态量的图形绘制,在参数状态显示模块6上观察仿真曲线、控制律状态曲线和误差值曲线的实时趋势。

步骤4,通过点击“返回主界面”回到上一级主界面。

本发明实现了以下功能:

1、期望轨迹设置功能。本发明为使用者提供了柔性机械臂运动期望轨迹的选择功能,使用者可根据仿真需要,在simulink仿真系统中选择合适的数学函数模块即可为仿真系统完成期望轨迹的设置。

2、参数设置功能。控制参数的设置是仿真平台的核心功能之一。参数设置窗口提供了控制参数的输入界面,包括时间收敛系数、转子转动惯量、连杆转动惯量、关节刚度系数、重力力矩及观测器各设计参数,在对应窗口输入期望的参数值并点击传参按钮即可完成控制参数设置工作。使用者能够在仿真过程中暂停系统仿真工作调整控制参数,并且可以继续仿真工作,将调整前的曲线与调整后的曲线展示在同一显示区域中,实现同图比较。

3、显示功能。在仿真平台主界面的图像显示区域可实时地,以数据或前的形式显示各被观测状态量,如控制律、观测器误差等的实时值。

4、其他功能。本系统将当前系统时间设置为了图像显示区域曲线横坐标轴的刻度。

除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1