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
 | |
| 
 |