主要内容

多环PI控制机械手臂

这个例子展示了如何使用looptune调整为6自由度机械臂机械手多回路控制器。

机械臂模型和控制器

下面的例子使用了六自由度机械臂所示。该臂包括6个关节标记从基地到提示:“转台”,“二”,“前臂”、“手腕”,“手”和“抓手”。各关节由直流电机驱动,除了二头肌联合使用串联的两个直流电机。

图1:机械臂机械手。

cst_robotarm文件”。基金”包含一个仿真软件模型,该系金宝app统的电气和机械部件。

open_system (“cst_robotarm”);

图2:机械臂的仿真软金宝app件模型。

“控制器”子系统由六个数字PI控制器(每个联合一个)。每个PI控制器实现使用“二自由度PID控制器”从模型库(参见块金宝appPID调优选点跟踪和抗干扰性动机的例子)。控制样品时间t = 0.1 (10 Hz)。

图3:控制器结构。

此类多回路控制器通常是通过调优一个PID回路调谐顺序和骑自行车通过循环,直到满意的整体行为。这个过程可能会耗费大量时间,不能保证收敛到最佳的整体优化。或者,您可以使用systunelooptune共同调整所有六个π循环受到系统级需求响应时间和最小交叉耦合等。

在这个例子中,手臂在大约1秒必须搬到一个特定的配置与光滑的角运动在每一个关节。手臂开始于一个充分扩展的垂直位置,所有的关节角为零,除了二头肌角为九十度。最终的配置是指定的角位置:转盘= 60度,二头肌= 80度,前臂= 60度,手腕= 90度,手= 90度,和钳子= 60度。

按下“播放”按钮在仿真软件模型来模拟π的角轨迹获得模型中指定的金宝app值。你也可以先双击蓝色按钮显示机械臂的3 d动画。角响应和下面的3 d动画出现。显然过于缓慢和不精确的响应。

图4:不调谐的反应。

线性的植物

机械臂动力学是非线性的。了解部门是否可以控制一组π,线性化植物各点沿着轨迹(快照)。这里的“植物”是指之间的动力学控制信号(输出PID块)和测量信号(输出的“六自由度机械臂”块)。

SnapshotTimes = 0:1:5;%植物从PID输出到机器人手臂输出LinIOs = [linio (“cst_robotarm /控制器/ turntablePID”,1“openinput”),linio (“cst_robotarm /控制器/ bicepPID”,1“openinput”),linio (“cst_robotarm /控制器/ forearmPID”,1“openinput”),linio (“cst_robotarm /控制器/ wristPID”,1“openinput”),linio (“cst_robotarm /控制器/ handPID”,1“openinput”),linio (“cst_robotarm /控制器/ gripperPID”,1“openinput”),linio (“cst_robotarm / 6自由度机械臂”,1“输出”));LinOpt = linearizeOptions (“SampleTime”,0);%寻求连续时间模型G =线性化(“cst_robotarm”,SnapshotTimes LinIOs LinOpt);大小(G)
6 x1的状态空间模型。每个模型都有6输出,6输入,和19个州。

情节线性化模型之间的差距在t = 0, 1, 2, 3, 4秒,最后模型t = 5秒。

G5 = G(:,:,结束);% t = 5G5。SamplingGrid = [];σ(G5, G (:,:, 2:5) G5, {1 e - 3, 1 e3}),网格标题(沿着轨迹线性化动力学的变化)传说(在t = 5 s的线性化的,“绝对变化”,“位置”,“西南”)

而动力学发生显著的变化在低和高频率变化降到低于10%附近10 rad / s,这是大致所需的控制带宽。小厂附近目标获得交叉频率变化表明,我们可以用一组控制臂π收益和不需要诉诸增益调度。

调优与LOOPTUNE PI控制器

looptune,您可以直接调整所有六个π循环来实现所需的响应时间以最小的循环互动和足够的天线稳定利润。控制器自动调整了在连续时间和离散在编写π收益模型。金宝app使用slTuner接口来指定哪些块必须调整和定位装置/控制器边界。

%在t = 3 s线性化植物tLinearize = 3;%创建slTuner接口TunedBlocks = {“turntablePID”,“bicepPID”,“forearmPID”,“wristPID”,“handPID”,“gripperPID”};ST0 = slTuner (“cst_robotarm”、TunedBlocks tLinearize);%马克PID模块的输出作为输入addPoint (ST0 TunedBlocks)%关节角标记为植物输出addPoint (ST0六自由度机械臂的)%马克参考信号RefSignals = {“裁判选择/不洁净的”,“裁判选择/ bREF”,“裁判选择/ fREF”,“裁判选择/ wREF”,“裁判选择/ hREF”,“裁判选择/ gREF”};addPoint (ST0 RefSignals)

在其最简单的使用,looptune只需要知道目标控制带宽,应至少两次所需的响应时间的倒数。这里所需的响应时间是1秒所以尝试目标带宽3 rad / s(记住植物动力学变化至少10 rad / s)附近。

wc = 3;%的目标获得交叉频率控制= TunedBlocks;%执行命令测量=六自由度机械臂的;%关节角的测量相约= looptune (ST0、控制测量、wc);
最后:峰值增益= 0.957、迭代TargetGain = 1 = 10达到目标获得价值。

最后一个值接近或小于1表明looptune实现请求的带宽。比较反应步骤命令角位置的初始和优化控制器。

T0 = getIOTransfer (ST0 RefSignals,测量);T1 = getIOTransfer (RefSignals相约,测量);选择= timeoptions;opt.IOGrouping =“所有”;opt.Grid =“上”;stepplot (T0,“b——”T1,“r”4选择)传说(“初始”,“调”,“位置”,“东南”)

六个曲线解决附近y = 1代表每个关节的一步反应,和附近的曲线解决y = 0代表交叉耦合项。调整控制器是一个明显的进步,但还是有一些过度和二头肌反应需要很长时间来解决。

利用第二个自由度

双自由度PI控制器有一个前馈和反馈元件。

图5:两个二自由度PID控制器。

默认情况下,looptune只有曲调反馈回路,不“看见”前馈分量。这可以通过验证确认b美元PI控制器的参数仍然设置为初始值b = 1美元(类型showTunable(死神)看到调谐值)。利用前馈行动,减少超调,取代带宽目标明确的步骤从参考角度跟踪要求关节角。

TR = TuningGoal.StepTracking (RefSignals,测量,0.5);ST2 = looptune (ST0、控制测量,TR);
最后:峰值增益= 0.766、迭代TargetGain = 1 = 13达到目标获得价值。

双自由度优化消除超调,提高了二头肌的反应。

T2 = getIOTransfer (ST2 RefSignals,测量);stepplot (T1,“r——”,T2,‘g’4选择)传说(“1-DOF调优”,“双自由度优化”,“位置”,“东南”)

验证优化控制器

调整线性反应看起来满意所以写调谐的π值收益回到整个机动仿真软件模块和模拟。金宝app仿真结果显示在图6。

writeBlockValue (ST2)

图6:调谐角响应。

二头肌联合明显跌进的非线性响应。进一步调查表明,两种可能的罪魁祸首。首先,PI控制器过于咄咄逼人,饱和的马达(±5 V的输入电压是有限的)。

图7:输入电压为直流电机(控制信号)。

第二,手腕和二头肌之间的交叉耦合效应,带来规模时,对二头肌反应有显著而持久的影响。看到这个,画出这三个关节的阶跃响应实际一步操作期间发生变化(二头肌联合-10度和90度的腕关节)。

H2 = T2(4[2],[2 - 4]) *诊断接头(90 [-10]);%的振幅H2。u = {“二”,“手腕”};H2。y = {“二”,“手腕”};步骤(H2, 5),网格

细化设计

改进的二头肌反应特定的手臂动作,我们必须保持他们的影响很小相对于最后一个角各关节的位移。要做到这一点,规模一步跟踪需求的交叉耦合基准角振幅。

JointDisp = (60 60 60 90 90);%吩咐角度位移,在度TR.InputScaling = JointDisp;

减少饱和的致动器,限制获得参考信号来控制信号。

你= TuningGoal.Gain (RefSignals控制6);

重新调整控制器与这些精调优目标。

ST3 = looptune (ST0、控制测量、TR UR);
最后:峰值增益= 1.13,迭代= 202

比较了反应与以前的设计。注意的显著减少手腕和二头肌之间的耦合运动,在峰值和总能量。

T2 =诊断接头(1. / JointDisp) * T2 *诊断接头(JointDisp);t3 =诊断接头(1. / JointDisp) * getIOTransfer (ST3 RefSignals,测量)*诊断接头(JointDisp);stepplot (t2,“g——”t3,“米”4选择)传说(“初始双自由度”,“精二自由度”,“位置”,“东南”)

推动哑音值模型进行进一步的验证。金宝app

writeBlockValue (ST3)

仿真结果显示在图8。二头肌反应现在与其他关节的稳定时间和平滑过渡,也减少了执行机构饱和比以前的设计。

图8:角位置和控制信号与精制控制器。

现在的3 d动画确认手臂动作快速、精确到所需的配置。

图9:调整响应。

另请参阅

|||

相关的话题