代码拉取完成,页面将自动刷新
同步操作将从 王浩赟/使用kinodynamic RRTStar算法规划轨迹 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
function [tauStar,cStar,u,x] = optTraj(x0,x1,h,B,R)
%OPTTRAJ 此处显示有关此函数的摘要
% 输 出:
% x 最优轨迹,?X3矩阵
% u 控制量,?X3矩阵
% cStar 最优轨迹x的代价,标量
% t 时间,列向量
% 输 入:
% x0初始位置列向量,x1末端位置列向量,h时间步长标量,B是6X3输人矩阵,R是权3X3权重矩阵
% 使用函数tauStarSolve.m、rungeKutta4.m和dmdt.m
% 作 者:鲁 鹏(北京理工大学宇航学院)
% 版 本:1.0
% version 1.0 更新日志:
% x0 = [0 0 0 0 0 0]'; % 初始位置列向量
% x1 = [10 10 10 0 0 0]'; % 末端位置列向量
% h = 0.01; % 时间步长,四阶龙格库塔法等使用
[tauStar, cStar, xBarStar, GStar] = tauStarSolve(x0, x1, h);
dTauStar = GStar\(x1 - xBarStar);
hTauStar = [x1; dTauStar]; % 微分方程的终端状态
% 应为是从tauStar朝0积分,所以步长要是‘-h’
[~, m] = rungeKutta4(@dmdt, tauStar, 0 , hTauStar, -h);
% figure
% plot3(h(:, 1), h(:, 2), h(:, 3))
u = zeros(size(m,1), 3);
K = B / R';
for i = 1 : size(m,1)
u(i, :) = m(i,7:12)*K;
end
% 由于是反向求微分方程,所以要将输出结果上下颠倒
x = flipud(m(:,1:6));
u = flipud(u);
end
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。