0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

机器人最优控制的程序实现

麦辣鸡腿堡 来源:古月居 作者:思念之风 2023-11-22 16:20 次阅读

程序实现:

MATLAB中可采用的语法为:

[K,S,P] = lqr(sys,Q,R,N)
[K,S,P] = lqr(A,B,Q,R,N)

也就是说,目的是计算最佳增益矩阵K

下面以一个例子实现LQR的解法;

M = 85.5; %input 1
m = 8.5; %input 2
b = 0.6;
I = 0.008;
g = 9.8;
l = 0.5;        
x0 = [0.2 0 0 0];
a1 = 1;
a2 = 2;
Q = 20;
R=10;
%states = {'x' 'x_dot' 'phi' 'phi_dot'};


p = I*(M+m)+M*m*l^2; %denominator for the A and B matrices


A = [0      1              0           0;
     0 -(I+a2*l^2)*b/p  (a2^2*g*l^2)/p   0;
    0      0              0           1;
    0 -(a2*l*b)/p       a2*g*l*(a1+a2)/p  0];
B = [     0;
    (I+a2*l^2)/p;
        0;
        a2*l/p];
[K,S,P] = lqr(A,B,Q,R)
运行可以得到:


K =


   -1.4142  -62.4810   67.4838  187.5249




S =


   1.0e+05 *


    0.0088    0.1913   -0.0265   -0.1230
    0.1913    7.3677   -1.0374   -4.8827
   -0.0265   -1.0374    0.5767    1.7582
   -0.1230   -4.8827    1.7582    5.9016




P =


  -0.0262 + 0.0258i
  -0.0262 - 0.0258i
  -0.4016 + 0.0093i
  -0.4016 - 0.0093i

程序可视化:

sys = ss(A,B,eye(4),[0;0;0;0]);
sysclosed = ss(A-B*K,[0;0;0;0],eye(4),[0;0;0;0]);
figure(15)
[ycl,tcl,xcl] = initial(sysclosed,x0);
plot(tcl,ycl(:,1),tcl,ycl(:,2),tcl,ycl(:,3),tcl,ycl(:,4))
title('LQR ')
xlabel('时间')
ylabel('输出')
legend('x','x_dot','phi','phi_dot')

图片

LQR 启发式作为基于样本的运动规划算法(例如 RRT 或 RRT*)的扩展,可以是相对低成本的距离度量,并在具有复杂或欠驱动动态的域中找到最佳计划。

%            LQR Steer
%===================================
function x_new = LQRSteer( x_nearest, x_rand, K_rand )
% This function contains system's explicit dynamics
global model;
m   = model.phy.m;
l   = model.phy.l;
b   = model.phy.b;
g   = model.phy.g;
h   = model.h;


u       = -K_rand*( x_nearest - x_rand )';
x_dot   = [ x_nearest(2), ( u - b*x_nearest(2) - m*g*l*sin(x_nearest(1)) ) ];


x_new   = x_nearest + x_dot*h;


end

此MATLAB function可以从来执行系统动力学描述;

%            LQR Near
%===================================
function X_near_ids = LQRNear( x_new, S_new, id_nearest )


global GNodes nun;


% Define Neighborhood Radius
gamma   = 1;  d   = 2;
ner     = gamma*( log(nun+1)/nun )^(1/d);
% Allocate and Assign to Output
X_near_ids  = id_nearest;


  for i = 1 : nun
    x    = GNodes( i, 1:2 );
    cost = (x-x_new)*S_new*(x-x_new)';
    if cost < ner
        X_near_ids(end+1)    = i;
    end
  end


X_near_ids  = unique(X_near_ids);


end

输入期望的初始参数,根据定义算法的逻辑可实现期望数值的求解;

线性二次高斯(LQG)优化控制设计方法,它是线性二次估计器(LQE)(即卡尔曼滤波器)和线性二次调节器(LQR)的组合。

对于逆最优问题,建议读者阅读 Zhifei 和 Joo的文章。最优控制理论的逆问题通过二次逼近 (BOBYQA) 技术 的边界优化来适应和解决。

人工操作任务的成本函数是从给定的演示中建模的,同时考虑与环境的接触。引入逆Karush-Kuhn-Tucker(KKT)逆最优控制算法来学习具有接触约束的操纵任务的成本函数。

最优控制理论的主要关注点是找出在满足某些最优标准的同时将给定系统推向所需状态的控制信号

线性二次调节器 (LQR) 是优化控制的一种变体,其中系统动力学由一组线性微分方程建模。此外,最优标准由包含系统状态和输入的二次函数描述。

考虑智能体之间的关系,也可以用LQR来求解出最优解;

寻找规定机器人阻抗模型的最佳参数的问题被转化为线性二次调节器 (LQR) 问题,该问题最大限度地减少了人力并优化了 HRI 系统针对给定任务的闭环行为。

为了避免对人体模型知识的要求,可以使用积分强化学习来解决给定的 LQR 问题。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • matlab
    +关注

    关注

    185

    文章

    2974

    浏览量

    230448
  • 机器人
    +关注

    关注

    211

    文章

    28413

    浏览量

    207036
  • 最优控制
    +关注

    关注

    0

    文章

    9

    浏览量

    7143
收藏 人收藏

    评论

    相关推荐

    主动队列管理建模及最优控制策略

    主动队列管理建模及最优控制策略针对主动队列管理(AQM)研究中缺乏系统的理论分析的问题,引入最优控制理论进行分析,得到了主动队列管理的数学模型,该模型包括两个差分方程,分别描述队列长度和平均队列长度
    发表于 06-14 00:14

    什么是工业机器人

    ` 本帖最后由 大连云港 于 2015-1-19 11:02 编辑 工业机器人是面向工业领域的多关节机械手或多自由度的机器人。工业机器人是自动执行工作的机器装置,是靠自身动力和
    发表于 01-19 10:58

    关节机器人控制

    本菜鸟刚学机器人控制,对于两关节机器人实现既定的末端轨迹,轨迹规划已完成,但是程序的延时不准确,导致最终轨迹混乱,求大神破?
    发表于 04-29 16:21

    辰汉-如何实现服务机器人的运算与控制

    的能力。红外模块可以实现对一些外部电器的操控,电池和电池管理模块给整个机器人的运转提供能量。辰汉-硬件结构是实现服务机器人运算和控制的基础,
    发表于 06-09 17:18

    怎么实现对机甲大师机器人控制

    怎么实现对机甲大师机器人控制
    发表于 11-19 06:33

    通过多轴工业机器人来聊聊机器人控制系统以及控制器的实现

    机器人控制系统当中。那么今天,我们就通过多轴工业机器人来聊聊机器人控制系统以及控制器的
    发表于 02-24 17:05

    基于Matlab和VR技术的移动机器人建模及仿真

    ,虚拟模型准确地模拟了真实移动机器人的动力学特征 ; 通过对模型的参数修改 ,为实现对真实机器人最优控制和设计提供了可信的参考方案
    发表于 09-20 06:24

    大纯滞后对象的最优控制

    本文针对工业过程控制中普遍存在的大纯滞后对象,从最优控制的角度,研究了大纯滞后对象的LQ逆问题,给出了一般的设计过程。仿真研究表明,运用最优控制的方法,能够使大纯
    发表于 06-15 11:32 7次下载

    最优控制理论

    最优控制理论(中科院)-2003-9-科学出版社-王朝珠
    发表于 04-13 15:29 0次下载

    最优控制系统设计

    最优控制系统设计-2000-3-大连理工大学出版社-刘培玉
    发表于 04-13 15:29 0次下载

    基于Legendre伪谱法的空间机器人姿态运动的最优控制

    的姿态会随着机械臂的相对运动而发生变化,增大了载体姿态控制难度的同时,为控制其姿态也提供了一种方法。Fernandes等根据空间机器人的非完整性质提出空间机器人的关节运动规划的
    发表于 01-31 13:48 0次下载
    基于Legendre伪谱法的空间<b class='flag-5'>机器人</b>姿态运动的<b class='flag-5'>最优控制</b>

    使用Matlab和VR技术实现移动机器人的建模及仿真的方案说明

    地模拟了真实移动机器人的动力学特征;通过对模型的参数修改,为实现对真实机器人最优控制和设计提供了可信的参考方案.
    发表于 10-25 11:32 10次下载
    使用Matlab和VR技术<b class='flag-5'>实现</b>移动<b class='flag-5'>机器人</b>的建模及仿真的方案说明

    如何使用Matlab和VR技术实现移动机器人的建模和仿真

    准确地模拟了真实移动机器人的动力学特征; 通过对模型的参数修改,为实现对真实机器人最优控制和设计提供了可信的参考方案
    发表于 01-15 17:20 13次下载
    如何使用Matlab和VR技术<b class='flag-5'>实现</b>移动<b class='flag-5'>机器人</b>的建模和仿真

    LQR控制算法之最优控制

    LQR算法是最优控制中经典的算法,而且LQR是一个应用较多的控制算法,所以在这里我以最优控制为起点介绍LQR控制算法。 注意LQR控制
    的头像 发表于 05-19 16:33 4100次阅读
    LQR<b class='flag-5'>控制</b>算法之<b class='flag-5'>最优控制</b>

    什么是机器人最优控制和逆最优控制

    机器人在执行期望目标任务时,我们希望机器人能精确地达到人类所预设的目标,那么我们就来理解下什么是最优控制和逆最优控制。 因此,最优控制是期望
    的头像 发表于 11-22 15:29 996次阅读
    什么是<b class='flag-5'>机器人</b><b class='flag-5'>最优控制</b>和逆<b class='flag-5'>最优控制</b>