简单摆的最优控制
我正在研究各种最佳控制方法(并在Matlab中实现它们),并且作为测试用例,我现在选择一个简单的摆锤(固定在地面上)作为测试用例,将其控制在较高位置。 我设法使用“简单”的反馈方法(基于能量控制的摆动+上部位置的LQR稳定)对其进行控制,并且状态轨迹如图所示(我忘记了轴的描述:x是theta,y是theta点。 现在,我想尝试一种“完整”的最佳控制方法,从迭代LQR方法开始(我发现在这里实现了该方法http://homes.cs.washington.edu/~todorov/software/ilqg_det.m) 该方法需要一个动态函数和一个成本函数(x = [theta; theta_dot], u为电动机转矩(仅一台电动机)): function [xdot, xdot_x, xdot_u] = ilqr_fnDyn(x, u) xdot = [x(2); -g/l * sin(x(1)) - d/(m*l^2)* x(2) + 1/(m*l^2) * u]; if nargout > 1 xdot_x = [ 0, 1; -g/l*cos(x(1)), -d/(m*l^2)]; xdot_u = [0; 1/(m*l^2)]; end end function [l, l_x, l_xx, l_u, …