00001 /* 00002 * PosCtrlElement.hpp 00003 * 00004 * Created on: Oct 27, 2011 00005 * Author: mriedel 00006 */ 00007 00008 #ifndef POSCTRLELEMENT_HPP_ 00009 #define POSCTRLELEMENT_HPP_ 00010 00011 #include <telekyb_defines/telekyb_defines.hpp> 00012 #include <telekyb_defines/telekyb_enums.hpp> 00013 00014 #include <telekyb_base/Spaces.hpp> 00015 00016 namespace TELEKYB_NAMESPACE { 00017 00018 struct PosCtrlInput { 00019 // Control Mode for each Axis 00020 PosControlType crtlTypeX; 00021 PosControlType crtlTypeY; 00022 PosControlType crtlTypeZ; 00023 00024 // Current State 00025 Position3D curPosition; // (x,y,z) 00026 Velocity3D curLinVelocity; // (x,y,z) 00027 Vector3D curOrientation; // (0,1,2) -> (roll,pitch,yaw) 00028 Velocity3D curAngVelocity; // (0,1,2) -> (omega_x, omega_y, omega_z) 00029 00030 // Desired State 00031 Position3D desPosition; 00032 Velocity3D desLinVelocity; 00033 Acceleration3D desLinAcceleration; 00034 }; 00035 00036 struct PosCtrlOutput { 00037 double comRoll; 00038 double comPitch; 00039 double comThrust; 00040 }; 00041 00042 } 00043 00044 #endif /* POSCTRLELEMENT_HPP_ */