加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
calc_maneuver.m 699 Bytes
一键复制 编辑 原始数据 按行查看 历史
flyinskybtx 提交于 2023-04-12 11:33 . 测试完成matlab转c++功能
function [ tf, motion ] = calc_maneuver( ps,pe,pi )
%GET_MOTION Calculate motion time and acceleration
% 此处显示详细说明
ti = 0; % 无用的申明
pd = [0;0;0]; % 无用的申明
global BM_SHUTDOWN_SPEED IM_RANGE IM_SHUTDOWN_SPEED MOTION_SPEED
vs = get_aiming_vel(ps,pe,BM_SHUTDOWN_SPEED);
state = [ps;vs];
[pc_t,vc_t,tt] = get_free_flight_ball(state, 3.6e3);
[ti,pd] = get_interception_point(pc_t, tt, pi,IM_RANGE);
[ pf, vf, tf ] = get_interception_params(pi, pd, IM_SHUTDOWN_SPEED, ti);
i = find(tt == tf);
pc = pc_t(i,:)';
vc = vc_t(i,:)';
view_direction = (pc - pf);
motion_direction = cross(cross(vc, vf), -view_direction);
motion = MOTION_SPEED * motion_direction / norm(motion_direction);
end
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化