Autopilot.emv 2.34 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
package de.rwth.armin.modeling.autopilot;


view Autopilot {
	component Autopilot{
		ports in ? currentVelocity,
			  in ? compass,
			  in ? currentPosX,
			  in ? currentPosY,
			  in ? trajectory_length,
			  in ? trajectory_x,
			  in ? trajectory_y,
			  out ? Engine,
			  out ? Brakes,
			  out ? Steering;

	component Compass2CurrentDirection{
		ports in ? ?,
			  out ? ?,
			  out ? ?;
	}
	instance Compass2CurrentDirection comp;
	
	component BehaviorGeneration{
		ports in ? ?,
			  in ? ?,
			  in ? ?,
			  in ? ?,
			  in ? ?,
			  in ? ?,
			  in ? ?,
			  out ? ?;
	}
	instance BehaviorGeneration behavior;
	
	component CalculateMotionCommands{
		ports in ? ?,
			  in ? ?,
			  in ? ?,
			  in ? ?,
			  in ? ?,
			  out ? ?;
	}
	instance CalculateMotionCommands calcMotion;
	
	component TrimPath{
		ports in ? ?,
			  in ? ?,
			  in ? ?,
			  in ? ?,
			  in ? ?,
			  out ? ?;
	}
	instance TrimPath trim;
	
	component MotionPlanning{
		ports in ? ?,
			  in ? ?,
			  out ? ?;
	}
	instance MotionPlanning motion;
	
	component CalculateEngineAndBrakes{
		ports in ? ?,
			  in ? ?,
			  out ? ?;
	}
	instance CalculateEngineAndBrakes calcEngine;
	
	component KeepDirection{
		ports in ? ?,
			  out ? ?;
	}
	instance KeepDirection keep;
	
	component SteeringAngleCorrection{
		ports in ? ?,
			  out ? ?;
	}
	instance SteeringAngleCorrection steer;
	
	component EnsureBounds{
		ports in ? ?,
			  out ? ?;
	}
	instance EnsureBounds ensure;
	
	connect currentVelocity -> motion;
	connect compass -> comp;
	connect currentPosX -> behavior;
	connect currentPosY -> behavior;
	connect trajectory_length -> behavior;
	connect trajectory_x -> behavior;
	connect trajectory_y -> behavior;
	
	connect comp -> behavior;
	connect comp -> behavior;
	
	connect behavior -> calcMotion;
	connect behavior -> calcMotion;
	connect behavior -> calcMotion;
	connect behavior -> calcMotion;
	connect behavior -> trim;
	connect behavior -> trim;
	connect behavior -> trim;
	connect behavior -> trim;
	connect behavior -> trim;
	
	connect trim -> calcMotion;
	
	connect calcMotion -> behavior;
	
	connect behavior -> motion;
	
	connect motion -> calcEngine;
	connect motion -> calcEngine;
	
	connect calcEngine -> keep;
	
	connect keep -> steer;
	
	connect steer -> ensure;
	
	connect ensure -> motion;
	
	connect motion -> Engine;
	connect motion -> Brakes;
	connect motion -> Steering;
	
	}
}