57 lines
1.2 KiB
Matlab
57 lines
1.2 KiB
Matlab
function [ values ] = flight_trajectory( input_args )
|
|
%UNTITLED2 Summary of this function goes here
|
|
% Detailed explanation goes here
|
|
|
|
import gtsam.*;
|
|
|
|
values = Values;
|
|
curvature = 2;
|
|
|
|
|
|
forward = Pose3(Rot3(),Point3(10,0,0));
|
|
left = Pose3(Rot3.RzRyRx(0.0,0.0,curvature*pi/180),Point3(10,0,0));
|
|
right = Pose3(Rot3.RzRyRx(0.0,0.0,-curvature*pi/180),Point3(10,0,0));
|
|
|
|
pose = Pose3(Rot3.RzRyRx(0,0,0),Point3(0,0,1000));
|
|
|
|
plan(1).direction = right;
|
|
plan(1).steps = 20;
|
|
|
|
plan(2).direction = forward;
|
|
plan(2).steps = 5;
|
|
|
|
plan(3).direction = left;
|
|
plan(3).steps = 100;
|
|
|
|
plan(4).direction = forward;
|
|
plan(4).steps = 50;
|
|
|
|
plan(5).direction = left;
|
|
plan(5).steps = 80;
|
|
|
|
plan(6).direction = forward;
|
|
plan(6).steps = 50;
|
|
|
|
plan(7).direction = right;
|
|
plan(7).steps = 100;
|
|
|
|
plan_steps = numel(plan);
|
|
|
|
values_i = 0;
|
|
|
|
for i=1:plan_steps
|
|
direction = plan(i).direction;
|
|
segment_steps = plan(i).steps;
|
|
|
|
for j=1:segment_steps
|
|
pose = pose.compose(direction);
|
|
values.insert(symbol('x',values_i), pose);
|
|
values_i = values_i + 1;
|
|
end
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|