From a549188caeaf16793f2f53d990b98bc945c80af3 Mon Sep 17 00:00:00 2001
From: beuchatp <beuchatp@control.ee.ethz.ch>
Date: Sun, 10 Feb 2019 13:05:27 +0100
Subject: [PATCH] Remove the StudentGUI because it is was not updated to the
 new node naming convention and because it was re-factored as the
 FlyingAgentGUI

---
 dfall_ws/src/dfall_pkg/CMakeLists.txt         |   49 +-
 .../GUI_Qt/studentGUI/images/battery_20.png   |  Bin 2099 -> 0 bytes
 .../GUI_Qt/studentGUI/images/battery_40.png   |  Bin 2147 -> 0 bytes
 .../GUI_Qt/studentGUI/images/battery_60.png   |  Bin 2232 -> 0 bytes
 .../GUI_Qt/studentGUI/images/battery_80.png   |  Bin 2252 -> 0 bytes
 .../studentGUI/images/battery_empty.png       |  Bin 3379 -> 0 bytes
 .../GUI_Qt/studentGUI/images/battery_full.png |  Bin 2152 -> 0 bytes
 .../studentGUI/images/battery_unknown.png     |  Bin 3138 -> 0 bytes
 .../images/flying_state_disabling.png         |  Bin 3303 -> 0 bytes
 .../images/flying_state_enabling.png          |  Bin 3512 -> 0 bytes
 .../studentGUI/images/flying_state_flying.png |  Bin 3001 -> 0 bytes
 .../studentGUI/images/flying_state_off.png    |  Bin 3106 -> 0 bytes
 .../images/flying_state_unknown.png           |  Bin 3868 -> 0 bytes
 .../GUI_Qt/studentGUI/images/rf_connected.png |  Bin 6410 -> 0 bytes
 .../studentGUI/images/rf_connecting.png       |  Bin 5679 -> 0 bytes
 .../studentGUI/images/rf_disconnected.png     |  Bin 5321 -> 0 bytes
 .../GUI_Qt/studentGUI/include/MainWindow.h    |  433 --
 .../include/rosNodeThread_for_studentGUI.h    |   93 -
 .../GUI_Qt/studentGUI/src/MainWindow.cpp      | 2181 -------
 .../GUI_Qt/studentGUI/src/MainWindow.ui       | 5238 -----------------
 .../dfall_pkg/GUI_Qt/studentGUI/src/main.cpp  |   42 -
 .../src/rosNodeThread_for_studentGUI.cpp      |  114 -
 .../GUI_Qt/studentGUI/studentGUI.pro          |   28 -
 .../GUI_Qt/studentGUI/studentgui.qrc          |   19 -
 .../dfall_pkg/src/nodes/FlyingAgentClient.cpp |    3 +-
 25 files changed, 4 insertions(+), 8196 deletions(-)
 delete mode 100644 dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/battery_20.png
 delete mode 100644 dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/battery_40.png
 delete mode 100644 dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/battery_60.png
 delete mode 100644 dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/battery_80.png
 delete mode 100644 dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/battery_empty.png
 delete mode 100644 dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/battery_full.png
 delete mode 100644 dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/battery_unknown.png
 delete mode 100644 dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/flying_state_disabling.png
 delete mode 100644 dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/flying_state_enabling.png
 delete mode 100644 dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/flying_state_flying.png
 delete mode 100644 dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/flying_state_off.png
 delete mode 100644 dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/flying_state_unknown.png
 delete mode 100644 dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/rf_connected.png
 delete mode 100644 dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/rf_connecting.png
 delete mode 100644 dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/rf_disconnected.png
 delete mode 100644 dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/include/MainWindow.h
 delete mode 100644 dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/include/rosNodeThread_for_studentGUI.h
 delete mode 100644 dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/src/MainWindow.cpp
 delete mode 100644 dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/src/MainWindow.ui
 delete mode 100644 dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/src/main.cpp
 delete mode 100644 dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/src/rosNodeThread_for_studentGUI.cpp
 delete mode 100644 dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/studentGUI.pro
 delete mode 100644 dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/studentgui.qrc

diff --git a/dfall_ws/src/dfall_pkg/CMakeLists.txt b/dfall_ws/src/dfall_pkg/CMakeLists.txt
index dcbc0a05..5e4e44e1 100755
--- a/dfall_ws/src/dfall_pkg/CMakeLists.txt
+++ b/dfall_ws/src/dfall_pkg/CMakeLists.txt
@@ -64,13 +64,6 @@ set(SYSTEM_CONFIG_GUI_RESOURCE_FILE_QRC  ${PROJECT_SOURCE_DIR}/GUI_Qt/systemConf
 
 
 
-# StudentGUI -- Add src, includes, and resources
-set(STUDENT_GUI_LIB_PATH_SRC ${PROJECT_SOURCE_DIR}/GUI_Qt/studentGUI/src)
-set(STUDENT_GUI_LIB_PATH_INC ${PROJECT_SOURCE_DIR}/GUI_Qt/studentGUI/include)
-set(STUDENT_RESOURCE_FILE_QRC ${PROJECT_SOURCE_DIR}/GUI_Qt/studentGUI/studentgui.qrc)
-
-
-
 # Flying Agent GUI -- Add src, includes, forms, and resources
 set(FLYING_AGENT_GUI_LIB_PATH_SRC      ${PROJECT_SOURCE_DIR}/GUI_Qt/flyingAgentGUI/src)
 set(FLYING_AGENT_GUI_LIB_PATH_INC      ${PROJECT_SOURCE_DIR}/GUI_Qt/flyingAgentGUI/include)
@@ -107,18 +100,6 @@ qt5_add_resources(SYSTEM_CONFIG_GUI_RESOURCE_FILE_RRC ${SYSTEM_CONFIG_GUI_RESOUR
 
 
 
-# StudentGUI -- Special Qt sources that need to be wrapped before being compiled
-set(SRC_HDRS_QOBJECT_STUDENT_GUI
-  ${STUDENT_GUI_LIB_PATH_INC}/MainWindow.h
-  ${STUDENT_GUI_LIB_PATH_INC}/rosNodeThread_for_studentGUI.h
-  )
-# StudentGUI -- wrap UI file and QOBJECT files
-qt5_wrap_ui(UIS_HDRS_STUDENT_GUI ${STUDENT_GUI_LIB_PATH_SRC}/MainWindow.ui)
-qt5_wrap_cpp(SRC_MOC_HDRS_STUDENT_GUI ${SRC_HDRS_QOBJECT_STUDENT_GUI})
-# GUI -- wrap resource file qrc->rcc
-qt5_add_resources(STUDENT_RESOURCE_FILE_RCC ${STUDENT_RESOURCE_FILE_QRC})
-
-
 
 # Flying Agent GUI
 # - Special Qt sources that need to be wrapped before being compiled
@@ -286,7 +267,6 @@ generate_messages(
 ## DEPENDS: system dependencies of this project that dependent projects also need
 catkin_package(
   INCLUDE_DIRS include ${SYSTEM_CONFIG_GUI_LIB_PATH_INC}            # GUI -- include headers from GUI in package
-  INCLUDE_DIRS include ${STUDENT_GUI_LIB_PATH_INC}       # StudentGUI -- include headers from GUI in package
   INCLUDE_DIRS include ${FLYING_AGENT_GUI_LIB_PATH_INC}  # FlyingAgentGUI -- include headers from GUI in package
   LIBRARIES
   CATKIN_DEPENDS roscpp rospy std_msgs rosbag roslib
@@ -301,9 +281,8 @@ catkin_package(
 ## Your package locations should be listed before other locations
 # include_directories(include)
 include_directories(
-  ${SYSTEM_CONFIG_GUI_LIB_PATH_INC}            # GUI -- include directory inside GUI folder
-  ${STUDENT_GUI_LIB_PATH_INC}       # StudentGUI -- include directory inside GUI folder
-  ${FLYING_AGENT_GUI_LIB_PATH_INC}  # FlyingAgentGUI -- include directory inside GUI folder
+  ${SYSTEM_CONFIG_GUI_LIB_PATH_INC}    # SystemConfigGUI -- include directory inside GUI folder
+  ${FLYING_AGENT_GUI_LIB_PATH_INC}     # FlyingAgentGUI  -- include directory inside GUI folder
   ${catkin_INCLUDE_DIRS}
   include
   include/nodes
@@ -371,14 +350,6 @@ set(SYSTEM_CONFIG_GUI_CPP_SOURCES              # compilation of sources
 
 
 
-# StudentGUI -- Add sources here
-set(STUDENT_GUI_CPP_SOURCES              # compilation of sources
-    ${STUDENT_GUI_LIB_PATH_SRC}/MainWindow.cpp
-    ${STUDENT_GUI_LIB_PATH_SRC}/main.cpp
-    ${STUDENT_GUI_LIB_PATH_SRC}/rosNodeThread_for_studentGUI.cpp
-    )
-
-
 
 # FLYING AGENT GUI -- Add sources here
 set(FLYING_AGENT_GUI_CPP_SOURCES         # compilation of sources
@@ -406,11 +377,6 @@ qt5_use_modules(systemConfigGUI Widgets)
 
 
 
-# StudentGUI -- Add executables here
-add_executable(student_GUI ${STUDENT_GUI_CPP_SOURCES} ${UIS_HDRS_STUDENT_GUI} ${SRC_MOC_HDRS_STUDENT_GUI} ${STUDENT_RESOURCE_FILE_RCC})
-qt5_use_modules(student_GUI Widgets)
-
-
 # FLYING AGENT GUI -- Add executables here
 add_executable(flyingAgentGUI ${FLYING_AGENT_GUI_CPP_SOURCES} ${UIS_HDRS_FLYING_AGENT_GUI} ${SRC_MOC_HDRS_FLYING_AGENT_GUI} ${FLYING_AGENT_GUI_RESOURCE_FILE_RCC})
 qt5_use_modules(flyingAgentGUI Widgets)
@@ -441,11 +407,6 @@ add_dependencies(systemConfigGUI dfall_pkg_generate_messages_cpp ${catkin_EXPORT
 
 
 
-# StudentGUI-- dependencies
-add_dependencies(student_GUI dfall_pkg_generate_messages_cpp ${catkin_EXPORTED_TARGETS})
-
-
-
 # FLYING AGENT GUI-- dependencies
 add_dependencies(flyingAgentGUI dfall_pkg_generate_messages_cpp ${catkin_EXPORTED_TARGETS})
 
@@ -499,12 +460,6 @@ target_link_libraries(systemConfigGUI ${catkin_LIBRARIES})
 
 
 
-# StudentGUI -- link libraries
-target_link_libraries(student_GUI Qt5::Widgets) # GUI -- let student_GUI have acesss to Qt stuff
-target_link_libraries(student_GUI ${catkin_LIBRARIES})
-
-
-
 # Flying Agent GUI -- link libraries
 target_link_libraries(flyingAgentGUI Qt5::Widgets) # GUI -- let flyingAgentGUI have acesss to Qt stuff
 target_link_libraries(flyingAgentGUI ${catkin_LIBRARIES})
diff --git a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/battery_20.png b/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/battery_20.png
deleted file mode 100644
index cc7ae62ab7c662f7cf3e098e713232d2d6e0ae14..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2099
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
C)C#=-

diff --git a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/battery_40.png b/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/battery_40.png
deleted file mode 100644
index cea5ab35b9605910112dd8a7e2eda371c430894b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2147
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
B4M+e0

diff --git a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/battery_60.png b/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/battery_60.png
deleted file mode 100644
index 1f75257c3c1f44fc10f318274741942916b47b70..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

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

diff --git a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/battery_80.png b/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/battery_80.png
deleted file mode 100644
index 8224e7e1e2ed8e251f37f802b14ce4ebd9027f35..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2252
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
ZV8c+LNiLl1kbWcp$Fn%wMr*&+{{e&KMh*Y~

diff --git a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/battery_empty.png b/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/battery_empty.png
deleted file mode 100644
index 0bf35549aab7c7c0247cebd69a176d68ea67387c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3379
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
JPDHLkV1lbxPcZ-h

diff --git a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/battery_full.png b/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/battery_full.png
deleted file mode 100644
index 495383be5e346e624d7a92670fcf9ddb053f99ef..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2152
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
bw6(vwhAXL2?5wx<EdXpTVo*#AucUtf=a~RS

diff --git a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/battery_unknown.png b/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/battery_unknown.png
deleted file mode 100644
index e20348f65a39bac7c0e40a2a4c0b338ef018dc03..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3138
zcmV-I488M-P)<h;3K|Lk000e1NJLTq003G5004yu1^@s6+raPm00001b5ch_0Itp)
z=>Px#32;bRa{vGr5&!@f5&>tQ(oz5b3+G8hK~#7F?VV?A6+0GyPpAn52mwM9y)2@K
zC4r?00*Ky)04;3=D;BMm{<Mf9x>g_oLi9%vqO5=)KxiU}_TV8UR0$+PhtOMilt6$$
zV9y!k?A*C?=Xx@8J>%T56lPrJ*#55Z*vH47h#x<GfagL_ph)Pm@Nysm9%w=Bzys}p
z7DPZ$HeQSNKno%uC>yUu3j$qCP(A^(`S$Hwsh2NbCVu(yrF_6d79vWOD)qc##fq1T
z7A=}<L5$@`9RrOMr6O0ZT>0hV#fuBSfB#;>a!m{b6fa)<ef#$9|JATz!)*r1LK+p}
z)XXqFJ$>2Lt5<&sY3($^J9OyqkH(D~Z`1?}@jB8+zkdC?IYOQxq=u?Y@W);8`Sa%r
zsvu#vj&vPQo;>M}HH=`jjEjqdgoFerUAi<2vV6tv2p&Iv3>Pk3fV{jsMIOBmo<D!y
zv3Bj+DV8%ZDZmlX+1c5(SUF3UED61P_l6QB?C+*yV`G83#&hS+vFt#dcYdIN8%Meh
zb-i#z5E95Nk80Jbv0F#4j)N{zB(y~cwS3-RFSNDfEkzilv)o5#Wo5-befl(s`o7%U
z+!!8aI6+C^Nf(MVw{PG6E0+1s9I}5zMn-0pDN`o1MvWS&<;s=2&GAgYBn1Y2|Ni~K
z_(os!_U+ro0j0Yz0wE{RpV^|}$SA!{n>PQhTD9sKv(Hj`)1a}{mOFX!<bNMNeAuTT
z8Or(${x58M@ZiDIjT$vd##!b+%}(h}_0b<ceypC7l9Co~kkyUj#*G`}4<9~!?CaOB
z(dzJE_uNx(6kPhifdjwetS(+Fl-}$#>7WTmL`42PM4L?4Ph;JdEnDiw*%65E4rS6}
zRu+xFb8>Rv#fuj}lOL_CS+nM$9zA*t!20?}Y7?WM8}ykoXMV+B^Y2<2b?epz{I3L2
zQBm5cLg7cPBBZ6I!L3`j{OXgKm^c#~$x^=vod7P-`0{AAckkW{_`FY7gGw4eC5?{Q
z!WV?26*zV3luyNq6)W~(`0(KkQ5E~lCql>L15PJi2|@+XRJ`#?iz>&kflLq@G-v=#
zn>JN=uzyf@5}lEeF@gDwu0HVe5~8rk%*@Pz>NwI%v}@N+9TXP#*i`_wUZ1+&y?b}K
zPe1@qP|)w+zpqcfoceiu5rkAfq0Y-q_t;fHty=l|Fr{ek-o5)1@(KEa3JUtehYvNi
zmBrbTHYjZTdUZ!eHG%;M3L15}CAC7#4&k)V%k0-vQX!+rV08)#I+y@2o{xYBnvav^
zR32!{2>Aqfp!qmiPUV5NjF3-&2bzzQ<y0PM%Lw@dc%b<>Sx#kog~f7?CIz5s79Ko!
z0H{HPSFc_HE<OOR-$D8E<@5jQ)Tskis#Gy4S!{CGfku-p*u8r<q^71SYDrSO^Ejp#
zCuP@w0RsTn_IMr>mc})pagi6+tXZS{so_RPM??Mk^_3P&trpknl$K4cn_4=qz$>us
z-Ma_$w|)C|m^5h;3>!8KrcRv-ty;Ab2Gb}bSAfRFUKl-kG@wnMQdVk>0|yR-{{8zy
zmo8m^%*Fya)RhA+vBA1^>)_e5pZa%Pc7q)|b|`-%MvQ<B8#X}MvSkB_5EAbA%W&Sj
zdC;v}Hw7{QB|n-nDBybb>}d#@2sLls9OlfK1J|!#hw<ab`$5~eb0@^d$HS#dm;B;H
z1~>|O!GZ;_aN$D55V3RT&Oohm{`~nt;pzdR7v!c*n_$8O{{;`~Qs~E|AHyl<80alq
zwkS}k;?zAHJ9Z3cdCaP#ejaTv{KU{ZpiiGZ%IL)}Qb2$spy_2dZQ3-YdbAd|XU`s>
z)eAcu$(b=j-^QJ~B<h-+aE^eUHER}73yX<~fkTH5DdS-~D^J6_K#sZ>0xsGK2Tc<W
z8Yhz@*v*<XQ&yL$g_GY7M>f|qiP3X3BH6ZWn_g5%!-Rw0zkk0nyJNLNTRymU?Ha6H
zxf0s8ZL5rpS)7$?g$jYUsvJ3T#ER$wJu4hEZg~q>(3>}J!sgAJ1IC+)Fd8@0P*3!3
zG~uApK+=%ci4!Lb<9Q>EHXfmQfbh|WaL~B9(vX#1FDf(vFwBR#ERjw)Xqw3xxh74T
z7)5i(q19`^v@`@1t#lF&dg#!hhI$852-)F`K;u>k(6i65Bi}$Wgo7rNs;yhM`i-5b
zl`UGd2>SKw7pSb<;b^9%*fj@wfXs|VJA0;MCQD74xsDw>0`49FG!g`|<s)5(-qhKo
zXeBvK=jnwP$c-I4Hc(W^!W{ukwV`qDxN+k`Qn7ve_63w%uU<V!N=gbCAF2r9T}P-Y
z!sOzy6tHX8F6Q;SZrr%h^!5)wAq5C1RG`tsSovR~x95b|Oq@6ox_0ea08G{&DKwy|
zPo}<~blQ4u<j9e*di83(C?R2m2K3yybN%+1FoLA8B1ICdH#+4Udl}kU;p4}T!?I<|
z{6vz`I4v*?88XB#PIQ3uplLOH)TmK@djUyJN{hDI4L+g)v;3q6O&Yi{W5xiUD#Pld
zTxl`(=+UE4sZu4Ma3?)d_tB)o*6NnYfQI%1x(PD<z|yv8G7%#)1GS^A&eW30=*DeM
z+7`Wb?OOQs=~F&WQWW84cvnKELP`mm0265D@BkA9vRlqiV&zg_r36jdKN@W?w`9o@
zWs#Tp-FTG_G)=EptXPrHlC*$RrcBBAyY)so(9{ppNdx3)rk9+YEL@3SkRMYz&}4AK
z9GT|YVMfN}h4LyLXm(}>ZIhlodv++<*eY8p&~(-)>o)rK?JL!JAyR=RgLUQx4<5{J
zrMOB3THS5*>eWjMz^sr`foA4pv@fM{<;tuMQe341%{CEr>eNXJxavYm1DaH#Y&PiT
zskR!f`d%8)Z{EBCvTY_O+MG)btf2SOfX1^y^XusLU9$NFRozGfns(GO=QgE2E0@t#
z8qn%WIJugwE{B<WDM6d5pj*;P30lVE;G_YqhHJDx#VsvZTMlVJ)0Q@JbS^5p*H*^O
zerZ<0t5>fMr%#^-vOc0ULfM=&pb4yuQ*YKFr0F_Xfn~jVpauPM9%v7=AOeE2@mjP8
zS`Yz2*+|i%X(K+ZdXsvT_9T)8|K-b<1tGF08`py-)7<XeyDLVFw3PMe(Idcb!T^3C
z4A!q-Zx00lQd|w1PIDv!M!mB&XcyMx$&-OC*a~1}DGOJFUb=LtVdZFPYx(l!hH2aq
z=~~caHOg}+AnlZu!MPT+4Dig9(Y2uIJPn=$TwAwpZKl4CrFAW6A~JL4OhYhqY|!-S
z(+$(OCDPTP=@3{l%~h|iFmQB`%BoeXphb%oEXdVYSA!;Uix)3e&Ml>LMakZdc3+Vt
zX?l9Pa$13_>8c7Rh2o!%esJpe2Nf$zx2|u|mTKpshdt1Oehd$^2U-vTLD_gM+5;_!
zfS_!=7VUu+L_knBL0dFVf4>VVi?rGBFbWD9KREvL8%Zh*>H|qs!C`T$S9d)|S{Ok=
zqlxTYe8{I&vrjE)g@uD(TX*~#(rYxj{3BT1gMua@xZUhGwIDj0G9x2H9TXP#ckbNr
zJF*^+ecQ`Z`JkXl2p%`QNh^%BXS5|PTpTs7vuDrxRTtSL`vvL*aDm37fOp5m#igmA
zr&VY=|CyaOppGkS_w?NXIx1QFT>$+2-wxz*o~OPMdQ16w58}sY8X?#;%q&J5PlhdY
z(m8!8LQhGrO)rC=xa8#I0DWbHeKS#AZanfWbI_nciBVBe|3BPGoj`NX4Vs?A^D?^O
zxpD{d^77;}xz|+OiWgsif8Y`Monm8Sukp$;1)7ASwa{M>b_#B=jN{FuFr~xK`Q5@L
zw!V1%d9V{_<xGPnxj2@LJAeNCfAC8{e?xBsXI@e#!&UiQ{I1tZT$x{ti^9eqdC{q9
zfj~1k_$IE0L!J@Xhb3iaXV=o}zgb!tuQ;^L!p%wdah)<12L!utV&Z$+tcgll0&OCn
zuusZ0ybF6uHURKI+W?VAga?|3k_~A*&^AEi5#fR6p=3iE53~&sc|>@ic_`VC#sh5w
cL>>|U1A{WS@`N`;j{pDw07*qoM6N<$f>IsmaR2}S

diff --git a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/flying_state_disabling.png b/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/flying_state_disabling.png
deleted file mode 100644
index 667c8027f2b902f08f8e81d3120599a5ed151d48..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

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

diff --git a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/flying_state_enabling.png b/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/flying_state_enabling.png
deleted file mode 100644
index ef2dc5bffa6d27edbb6c6ff1171cd77a5af5c20a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

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

diff --git a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/flying_state_flying.png b/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/flying_state_flying.png
deleted file mode 100644
index b0b51f3d42edbfad9f875c1faa413391c4f21de9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3001
zcmds(`8O2q9>-^_Wrz?nC`+XnrVLpsge1#Eh^#ZrlrMvs$P&hGY*S<xMJ8(#nIV(x
zJCVJ_SRxW5+gK`er+e<X_kXxQe4fvFp67g?&w0*yf6n_AZ*jv&fKP%C000OWU%zU}
z&e`k;ImE+WgGPlD*$L=tX`~M*{~-09y*Z4(Zs!XChztJ>pj+M$y9DHHd{xgn5V-Qx
z-AweoSh!$hTqIvXK_qbVw&<+S&4Qbpu*YEWg3IYBM!~s`l~{*UN1v@9y|BuwBHxcC
zNuU{#9mVnz7j|Mn2kWu=W+U|cLvegCaZx<y!f1AY+tB2&>f~_mmAq$G#uHA(FU!oI
zZVoyTYCZU=pFNx6m1oRBtTneehPnelxhYwNH?#&|un-`!$qk0zZCVvWb?te(HUJDd
z_;)8c__L=Gz2b+yQx0FvRW2zj^SJ8g=NE!TqcLt1bH65W5i>J0+b*rddW4x7g+wBG
zGOMnENf)Suy<L@{Zy%lpiwFysMGJ!m=lfjMg<e<pJ-M))1QLhsO&&V==pqqtDTuYG
zTToD-qk21HGd4Xv-R~Whx`8`_ulpR#ZRg<NutpS+40WS(@WM(f$Yiqa)LY*(!;(#}
zJ%tX)8eR<g`i?>D5ih)LgKdTL0GYSZlui>o_8>U;(%#-rt6P(6Yik))Dz%rzV)=}6
zc<9$#&z`g#34jC$9KSf?zqflY2TYDH(zI*mz)jUvrl+Ni$;rt%hMbU;{JpUGt^a00
zMeVcbTD~tbNH2bM+|=cXSV3uutL=~21nxG?UUioiF7W|%uW^=io<0%xxaZwimI~T)
zx-rc5W}=}D?FxZV@3l753?EqQvtq2cZiN?Vg$qCAda51lU&^`(g#q+=G<oJ;^mEJ#
z4jqgP*p53Ea-n31rtrcxy7DgLt?vW)^Bj^q2K*0U|Ce86)d2~jDx<87P@F{ziqZX+
z#o{WV(M00-4!ZME43p`3`;8|gSMy$r0b(<^r@K31cQ-IwUjsLlD=R|p{^#1BN=gMK
z@!BlAq1%Vth|!m}m!>~XHHHb&wT6ZYsj<-po;~$oxrmwO(i{oN52-1feV4Mwi{;iO
zpze`^lXj@-2Eyx*pFU?$Jw9_C52Lhv7tXd9^+ET`JBUv<o&><FO_Vl0fk&%&j#l|Y
zI?rN{iHRv1X7s9Jbo{ZtzN$)gRIYMl<B!Vu$0v>Sy}ipj;Wk>`$v+2DSEuTu-uiyi
zH#Cg7`%+Fx^gPlC3`a<@js@=RRuV#PSy_?oT-xG}Cg<f<*nLoBOI12h*g$l5QH0aQ
z>D4h&(JR;ER?W^eoN0~X70gFAh7Q!=kiT{0<vR|Bo}0?*if=fX?^8<ba%_obt5~Ab
z`>4^fTlVeu^K?UY&&S1sVDsWiw^0&ZY6f7~IIYPY$bS=cWpt9n?WWh=yuC6(*e-lg
zRb_qbd>x}D26WnXWy+u-74o`qN+^c<T`!8KdAu5%?rQK8`>DJ+;TSZZOl~dI(MkB$
zpSLQv3IiG}6wYrE&yGBqq}~Csz7HF%q}fv61+2Cd7$(kqsz8=)wJF&M(e7IJ`^6^9
zZni8<MW0RUOW=lhOMCTDpKX9oG`}0E!A&#7RENpJ>6k7?tx0H0j!;b9!XIDPgY^AZ
z<}10*pV^9a*=Bwo7#aEc#>B!xXeNK!ES~q^VqJu6La9}8<TG%Vz3*-xZgZi}qxk-N
z4=h%XA{9v_@+A4e;c&n-sxJ);7r^D}5XM7y1|&JHu-=okellV%B~OP=i_nr*!oNo_
zJd;eAG6oCHeZf0Fwlou43~qf>$Q^s@HKFb{H4$|V*)S#>w$02gFS{E}>cl9Pt4b7D
zxbuCa*rD@EO8jq_5~G5pzGh}FJAl<ZM$TS0HXihN^S)md!<UMVb6uZp$Io>Lv_n>D
z;EM4|bnMPCLjkViZoYBzZneuf>o8)EDn?k`U;e7Bd&h$~Bxjmc#?v#}QZuupbf|3$
zThZESKHBZcZ^zrP##k&=>T;kE%&C^kbuvO59G_^9*Q-P)b?!<e<*>$NH>)aMzKk-@
z(|PbJ^Bo^p@{&Ij932y*r6EOjpRe(r^gx!(l{;Pdx%Q=1Psz#Z(&!2t9zccKmN)&{
zS_bOnryP;e9Jo`qy*e$OkeIj<c6+yTer#=cI9b-9)=aP(lzjrer(WaMe`2gYSmX2Q
zJ08THYUUu>C_G1Pi}`t2N5D~W`4M_ppV(})zR8PU8c_)Rxp608jL5o>nwko93yI5v
zEN+Kp9f3Q-Y^<%h&X_;D{~Ji3cy(8wd#yYMc^bbZas$|jC)%Zy%CxqN)1!Mcqi{6v
zxOC8rtLWZHG$^JRk#jfUU533bf)jG!c(kL~-rjzMg~@(>#nDk}W{JSK`yto8-|9Tc
zU8Ys2ZE=wNWvV_{l=<=WMLBCt4JB1oks|ZFBgV$YPCiaZWSd&DOD7E3!2jUE1DVji
z{!jaAgkW%^DFPAGoqDD<O~HzZ`cftjJ!PdwgnHub1#T$o_<W5cB<0ysvd#x4=vsvX
zN8&}!w7f7*1)!a5%!(rU1xR6oyZ+IVp)#QxU*q?Ubnult9I<E(#`#cUPVsbS%l2B`
z<LDsGlsWKD4?5P&YxPjv#cj<k`@Q>GsKDm3D_WlNlQ~D=r9Sn+JH++5&Iygu+$49q
z@NcPu8{)=Z5O|6=xlqmE+I!@w>N{Q6YaeC|@k5lu9*<<mp8T$EZ=#B++B39tAd+58
z{G-s9{C`^{phx^e02MdU00)99*HUD=*dtGJOk5VK0UX4l{~nMW<CeL~xxv(?Ekfp&
zqX@OEtc<Hr{hV{1MS`X@KrC=;DV>suKp^%p92yWr*V6JbI?a#m2`@$O=>U{uZYOV1
ztE+E)lFXOKP;InY#m=LE#NO~hdO`r3D(YzBnd&GYqN{*y;|deUHSzhDZ9f68o5F#d
zn0kH?=r`=IN$F>#rCFC!axyZC{{3olN{Za_9cycAve}G0`Ea(qcIZ26TEf<yo*L77
zZFMe4XE*D~C;R!dd+_>tRj%x*j<-_(1)Fer%<RKinq^`IvQg16R}cVF)6jSyRN6tL
zG$GkP5Ed48hC(wkGogmLHFR!IbxC%kuK(T7&dt4Kk7AxFG&4QDdH?rLp`6YeI=6|b
z>GSgP8z0{@nM_>_M*!rMH5Lkk9Tb<~QoT7YJD8d#mh^NliIu#1RUMy|)%)l9^XIw}
z5)wS|4cHB`9YC^K;kb&5%4%WqmwPrg8Lx_pI+oOrEFNfw><(l+d7{Y4Pe58&tl_l7
zU9x5NjLa{F9qgsl)z$g-P$ThY6%`|MbEV=QK8!h`t(Mo+Bd>{rgQ}{lBeIMR?Zzo7
zC`3r>hIXl$v58D{jyBB(ny)wxs$~kvS)$U>#pTP1o1-xv8QhN$awkvz3HilxPtag2
z2031oU@k5mV*A*qMsQhEgvrt}oldvE$1C}5MsIZr+9mbSxi0XYtg}TKK-xjFj=^C3
zNx*$HIL;qP)8K+QU#YX({@fV$CxeYzy!=@gfFMCZ+=u>t-QeHbD@wS0%ZyR&HF24@
zh}jid*nc4M#e{xHB#ApRDr%zL)bVMcef{CXhuxPcvpNwJnhBnObqJpm__$r65Y(BR
z-6HVOCQ_F6CJZrniP$UZ{rZhCe|GggHepHyQ-qJIPDgc7R*+V#A7OL)KPpfZjb%1|
O1B?xCTrJl}Mg9v7cDHr_

diff --git a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/flying_state_off.png b/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/flying_state_off.png
deleted file mode 100644
index 70669664f07c12ef27a41f5b5fb918aff93da688..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

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

diff --git a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/flying_state_unknown.png b/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/flying_state_unknown.png
deleted file mode 100644
index 5c0c7337a103e5726af53def62e37ad22209c972..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3868
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
QwZf$_F*G-*)pw2mACB2W-2eap

diff --git a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/rf_connected.png b/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/rf_connected.png
deleted file mode 100644
index f9f3580113053f71fe86344e6f34a74e98c17b70..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6410
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
Y1MT~g8Gu|h>;M1&07*qoM6N<$f{u_*s{jB1

diff --git a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/rf_connecting.png b/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/rf_connecting.png
deleted file mode 100644
index 5f1d4ca1b48496ecf1372e1a0f727058bbc24d95..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5679
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
VL=C_Dk2wGU002ovPDHLkV1kGw)=~ff

diff --git a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/rf_disconnected.png b/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/images/rf_disconnected.png
deleted file mode 100644
index 0e99e624009059328820b317c908d337caf55ddc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5321
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
b<XGT;)oaV+3*z)L00000NkvXXu0mjf@PT8C

diff --git a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/include/MainWindow.h b/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/include/MainWindow.h
deleted file mode 100644
index c792c916..00000000
--- a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/include/MainWindow.h
+++ /dev/null
@@ -1,433 +0,0 @@
-//    Copyright (C) 2017, ETH Zurich, D-ITET, Paul Beuchat, Angel Romero
-//
-//    This file is part of D-FaLL-System.
-//    
-//    D-FaLL-System is free software: you can redistribute it and/or modify
-//    it under the terms of the GNU General Public License as published by
-//    the Free Software Foundation, either version 3 of the License, or
-//    (at your option) any later version.
-//    
-//    D-FaLL-System is distributed in the hope that it will be useful,
-//    but WITHOUT ANY WARRANTY; without even the implied warranty of
-//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//    GNU General Public License for more details.
-//    
-//    You should have received a copy of the GNU General Public License
-//    along with D-FaLL-System.  If not, see <http://www.gnu.org/licenses/>.
-//    
-//
-//    ----------------------------------------------------------------------------------
-//    DDDD        FFFFF        L     L           SSSS  Y   Y   SSSS  TTTTT  EEEEE  M   M
-//    D   D       F      aaa   L     L          S       Y Y   S        T    E      MM MM
-//    D   D  ---  FFFF  a   a  L     L     ---   SSS     Y     SSS     T    EEE    M M M
-//    D   D       F     a  aa  L     L              S    Y        S    T    E      M   M
-//    DDDD        F      aa a  LLLL  LLLL       SSSS     Y    SSSS     T    EEEEE  M   M
-//
-//
-//    DESCRIPTION:
-//    Main window of the Student's GUI
-//
-//    ----------------------------------------------------------------------------------
-
-
-#ifndef MAINWINDOW_H
-#define MAINWINDOW_H
-
-#include <QMainWindow>
-#include <QShortcut>
-
-#include <std_msgs/Int32.h>
-#include <std_msgs/Float32.h>
-
-#include "rosNodeThread_for_studentGUI.h"
-
-#include "dfall_pkg/CrazyflieContext.h"
-#include "dfall_pkg/CrazyflieData.h"
-#include "dfall_pkg/Setpoint.h"
-#include "dfall_pkg/SetpointV2.h"
-#include "dfall_pkg/ViconSubscribeObjectName.h"
-
-
-// Types of controllers being used:
-#define SAFE_CONTROLLER    1
-#define DEMO_CONTROLLER    2
-#define STUDENT_CONTROLLER 3
-#define MPC_CONTROLLER     4
-#define REMOTE_CONTROLLER  5
-#define TUNING_CONTROLLER  6
-#define PICKER_CONTROLLER  7
-
-
-// Commands for CrazyRadio
-#define CMD_RECONNECT  0
-#define CMD_DISCONNECT 1
-
-// CrazyRadio states:
-#define CONNECTED        0
-#define CONNECTING       1
-#define DISCONNECTED     2
-
-// The constants that "command" changes in the
-// operation state of this agent. These "commands"
-// are sent from this GUI node to the "FlyingAgentClient"
-// node where the command is enacted
-#define CMD_USE_SAFE_CONTROLLER      1
-#define CMD_USE_DEMO_CONTROLLER      2
-#define CMD_USE_STUDENT_CONTROLLER   3
-#define CMD_USE_MPC_CONTROLLER       4
-#define CMD_USE_REMOTE_CONTROLLER    5
-#define CMD_USE_TUNING_CONTROLLER    6
-#define CMD_USE_PICKER_CONTROLLER    7
-
-#define CMD_CRAZYFLY_TAKE_OFF        11
-#define CMD_CRAZYFLY_LAND            12
-#define CMD_CRAZYFLY_MOTORS_OFF      13
-
-// Flying States
-#define STATE_MOTORS_OFF 1
-#define STATE_TAKE_OFF   2
-#define STATE_FLYING     3
-#define STATE_LAND       4
-
-// Battery states
-#define BATTERY_STATE_NORMAL 0
-#define BATTERY_STATE_LOW    1
-
-// Battery label image index
-#define BATTERY_LABEL_IMAGE_INDEX_EMPTY     0
-#define BATTERY_LABEL_IMAGE_INDEX_20        1
-#define BATTERY_LABEL_IMAGE_INDEX_40        2
-#define BATTERY_LABEL_IMAGE_INDEX_60        3
-#define BATTERY_LABEL_IMAGE_INDEX_80        4
-#define BATTERY_LABEL_IMAGE_INDEX_FULL      5
-#define BATTERY_LABEL_IMAGE_INDEX_UNKNOWN   6
-
-// For which controller parameters to load
-#define LOAD_YAML_SAFE_CONTROLLER_AGENT           1
-#define LOAD_YAML_DEMO_CONTROLLER_AGENT           2
-#define LOAD_YAML_STUDENT_CONTROLLER_AGENT        3
-#define LOAD_YAML_MPC_CONTROLLER_AGENT            4
-#define LOAD_YAML_REMOTE_CONTROLLER_AGENT         5
-#define LOAD_YAML_TUNING_CONTROLLER_AGENT         6
-#define LOAD_YAML_PICKER_CONTROLLER_AGENT         7
-
-#define LOAD_YAML_SAFE_CONTROLLER_COORDINATOR     11
-#define LOAD_YAML_DEMO_CONTROLLER_COORDINATOR     12
-#define LOAD_YAML_STUDENT_CONTROLLER_COORDINATOR  13
-#define LOAD_YAML_MPC_CONTROLLER_COORDINATOR      14
-#define LOAD_YAML_REMOTE_CONTROLLER_COORDINATOR   15
-#define LOAD_YAML_TUNING_CONTROLLER_COORDINATOR   16
-#define LOAD_YAML_PICKER_CONTROLLER_COORDINATOR   17
-
-
-// FOR WHICH BUTTON WAS PRESSED IN THE PICKER CONTOLLER
-#define PICKER_BUTTON_GOTOSTART     1
-#define PICKER_BUTTON_ATTACH        2
-#define PICKER_BUTTON_PICKUP        3
-#define PICKER_BUTTON_GOTOEND       4
-#define PICKER_BUTTON_PUTDOWN       5
-#define PICKER_BUTTON_SQUAT         6
-#define PICKER_BUTTON_JUMP          7
-
-#define PICKER_BUTTON_1             11
-#define PICKER_BUTTON_2             12
-#define PICKER_BUTTON_3             13
-#define PICKER_BUTTON_4             14
-
-
-// Universal constants
-#define PI 3.141592653589
-
-#define RAD2DEG 180.0/PI
-#define DEG2RAD PI/180.0
-
-namespace Ui {
-class MainWindow;
-}
-
-class MainWindow : public QMainWindow
-{
-    Q_OBJECT
-
-public:
-    explicit MainWindow(int argc, char **argv, QWidget *parent = 0);
-    ~MainWindow();
-
-private slots:
-    void updateNewViconData(const ptrToMessage& p_msg);
-
-    // # RF Crazyradio Connect Disconnect
-    void on_RF_Connect_button_clicked();
-    void on_RF_disconnect_button_clicked();
-
-    // # Take off, lanf, motors off
-    void on_take_off_button_clicked();
-    void on_land_button_clicked();
-    void on_motors_OFF_button_clicked();
-
-    // # Setpoint
-    void on_set_setpoint_button_safe_clicked();
-    void on_set_setpoint_button_demo_clicked();
-    void on_set_setpoint_button_student_clicked();
-    void on_set_setpoint_button_mpc_clicked();
-
-    // # Load Yaml when acting as the GUI for an Agent
-    void on_load_safe_yaml_button_clicked();
-    void on_load_demo_yaml_button_clicked();
-    void on_load_student_yaml_button_clicked();
-    void on_load_mpc_yaml_button_clicked();
-    void on_load_remote_yaml_button_clicked();
-    void on_load_tuning_yaml_button_clicked();
-    void on_load_picker_yaml_button_clicked();
-
-    // # Enable controllers
-    void on_enable_safe_controller_clicked();
-    void on_enable_demo_controller_clicked();
-    void on_enable_student_controller_clicked();
-    void on_enable_mpc_controller_clicked();
-    void on_enable_remote_controller_clicked();
-    void on_enable_tuning_controller_clicked();
-    void on_enable_picker_controller_clicked();
-
-    
-
-    void on_demoButton_1_clicked();
-    void on_demoButton_2_clicked();
-    void on_demoButton_3_clicked();
-
-    void on_studentButton_1_clicked();
-    void on_studentButton_2_clicked();
-    void on_studentButton_3_clicked();
-
-    // Buttons within the REMOTE controller tab
-    void on_remote_subscribe_button_clicked();
-    void on_remote_unsubscribe_button_clicked();
-    void on_remote_activate_button_clicked();
-    void on_remote_deactivate_button_clicked();
-
-    // Buttons within the TUNING controller tab
-    void on_tuning_test_horizontal_button_clicked();
-    void on_tuning_test_vertical_button_clicked();
-    void on_tuning_test_heading_button_clicked();
-    void on_tuning_test_all_button_clicked();
-    void on_tuning_test_circle_button_clicked();
-    void on_tuning_slider_horizontal_valueChanged(int value);
-    void on_tuning_slider_vertical_valueChanged(int value);
-    void on_tuning_slider_heading_valueChanged(int value);
-
-    // Interations with the PICKER controller tab
-    // > For the buttons
-    void on_picker_gotostart_button_clicked();
-    void on_picker_attach_button_clicked();
-    void on_picker_pickup_button_clicked();
-    void on_picker_gotoend_button_clicked();
-    void on_picker_putdown_button_clicked();
-    void on_picker_squat_button_clicked();
-    void on_picker_jump_button_clicked();
-    void on_picker_1_button_clicked();
-    void on_picker_2_button_clicked();
-    void on_picker_3_button_clicked();
-    void on_picker_4_button_clicked();
-    // > For the sliders
-    void on_picker_x_slider_valueChanged(int value);
-    void on_picker_y_slider_valueChanged(int value);
-    void on_picker_z_slider_valueChanged(int value);
-    void on_picker_mass_slider_valueChanged(int value);
-    // > For the dial
-    void on_picker_yaw_dial_valueChanged(int value);
-
-
-
-
-
-private:
-    Ui::MainWindow *ui;
-
-    QShortcut* m_close_GUI_shortcut;
-
-    rosNodeThread* m_rosNodeThread;
-    int m_radio_status;
-    float m_battery_voltage;
-    int m_battery_level;
-
-    std::string m_ros_namespace;
-
-    ros::Timer m_timer_yaml_file_for_safe_controller;
-    ros::Timer m_timer_yaml_file_for_demo_controller;
-    ros::Timer m_timer_yaml_file_for_student_controller;
-    ros::Timer m_timer_yaml_file_for_mpc_controller;
-    ros::Timer m_timer_yaml_file_for_remote_controller;
-    ros::Timer m_timer_yaml_file_for_tuning_controller;
-    ros::Timer m_timer_yaml_file_for_picker_controller;
-
-
-    int m_student_id;
-    CrazyflieContext m_context;
-
-    Setpoint m_safe_setpoint;
-    Setpoint m_demo_setpoint;
-    Setpoint m_student_setpoint;
-    Setpoint m_mpc_setpoint;
-    Setpoint m_picker_setpoint;
-
-    int m_flying_state;
-    QMutex m_flying_state_mutex;
-    QMutex voltage_field_mutex;
-    QMutex battery_status_label_mutex;
-    QMutex rf_status_label_mutex;
-    int m_battery_state;
-    // BATTERY EMPTY VOLTAGES (THESE SHOULD BE READ IN AS PARAMTERS)
-    //const std::vector<float> m_cutoff_voltages {3.1966,        3.2711,        3.3061,        3.3229,        3.3423,        3.3592,        3.3694,        3.385,        3.4006,        3.4044,        3.4228,        3.4228,        3.4301,        3.4445,        3.4531,        3.4677,        3.4705,        3.4712,        3.4756,        3.483,        3.4944,        3.5008,        3.5008,        3.5084,        3.511,        3.5122,        3.5243,        3.5329,        3.5412,        3.5529,        3.5609,        3.5625,        3.5638,        3.5848,        3.6016,        3.6089,        3.6223,        3.628,        3.6299,        3.6436,        3.6649,        3.6878,        3.6983,        3.7171,        3.7231,        3.7464,        3.7664,        3.7938,        3.8008,        3.816,        3.8313,        3.8482,        3.866,        3.8857,        3.8984,        3.9159,        3.9302,        3.9691,        3.997,        4.14    };
-    const float battery_voltage_empty_while_flying      =  2.80;   // in Volts
-    const float battery_voltage_empty_while_motors_off  =  3.30;  // in Volts
-    // BATTERY FULL VOLTAGES
-    const float battery_voltage_full_while_flying      =  3.70;   // in Volts
-    const float battery_voltage_full_while_motors_off  =  4.20;   // in Volts
-
-    int m_battery_label_image_current_index;
-
-    ros::Publisher crazyRadioCommandPublisher;
-    ros::Subscriber crazyRadioStatusSubscriber;
-    ros::Publisher FlyingAgentClientCommandPublisher;
-    ros::Subscriber CFBatterySubscriber;
-    ros::Subscriber flyingStateSubscriber;
-    ros::Subscriber batteryStateSubscriber;
-
-    ros::Publisher controllerSetpointPublisher;
-    ros::Subscriber safeSetpointSubscriber;
-
-    // SUBSCRIBERS AND PUBLISHERS:
-    // > For the Demo Controller SETPOINTS
-    ros::Publisher  demoSetpointPublisher;
-    ros::Subscriber demoSetpointSubscriber;
-    // > For the Student Controller SETPOINTS
-    ros::Publisher  studentSetpointPublisher;
-    ros::Subscriber studentSetpointSubscriber;
-    // > For the MPC Controller SETPOINTS
-    ros::Publisher  mpcSetpointPublisher;
-    ros::Subscriber mpcSetpointSubscriber;
-
-    // > For the Remote Controller subscribe action
-    ros::Publisher remoteSubscribePublisher;
-    // > For the Remote Controller activate action
-    ros::Publisher remoteActivatePublisher;
-    // > For the Remote Controller data
-    ros::Subscriber remoteDataSubscriber;
-    // > For the Remote Control setpoint
-    ros::Subscriber remoteControlSetpointSubscriber;
-
-    // > For the TUNING CONTROLLER "test" button publisher
-    ros::Publisher tuningActivateTestPublisher;
-    // > For the TUNING CONTOLLER "gain" sliders
-    ros::Publisher tuningHorizontalGainPublisher;
-    ros::Publisher tuningVerticalGainPublisher;
-    ros::Publisher tuningHeadingGainPublisher;
-
-
-
-	// > For the PICKER CONTROLLER
-	ros::Publisher  pickerButtonPressedPublisher;
-	ros::Publisher  pickerZSetpointPublisher;
-	ros::Publisher  pickerYawSetpointPublisher;
-	ros::Publisher  pickerMassPublisher;
-	ros::Publisher  pickerXAdjustmentPublisher;
-	ros::Publisher  pickerYAdjustmentPublisher;
-	ros::Publisher  pickerSetpointPublisher;
-	ros::Subscriber pickerSetpointSubscriber;
-    ros::Subscriber pickerSetpointToGUISubscriber;
-
-    ros::Publisher  pickerButtonPressedWithSetpointPublisher;
-
-    bool shouldSendWithSetpoint_for_pickerButtons = true;
-
-
-
-
-    ros::Publisher demoCustomButtonPublisher;
-    ros::Publisher studentCustomButtonPublisher;
-
-    ros::Subscriber DBChangedSubscriber;
-
-
-
-    // > For publishing a message that requests the
-    //   YAML parameters to be re-loaded from file
-    // > The message contents specify which controller
-    //   the parameters should be re-loaded for
-    ros::Publisher requestLoadControllerYamlPublisher;
-
-    // Subscriber for locking the load the controller YAML
-    // parameters when the Coordintor GUI requests a load
-    ros::Subscriber requestLoadControllerYaml_from_my_GUI_Subscriber;
-
-
-    ros::Subscriber controllerUsedSubscriber;
-
-    ros::ServiceClient centralManager;
-
-    // callbacks
-    void crazyRadioStatusCallback(const std_msgs::Int32& msg);
-    void CFBatteryCallback(const std_msgs::Float32& msg);
-    void flyingStateChangedCallback(const std_msgs::Int32& msg);
-
-    void safeSetpointCallback(const Setpoint& newSetpoint);
-    void demoSetpointCallback(const Setpoint& newSetpoint);
-    void studentSetpointCallback(const Setpoint& newSetpoint);
-    void mpcSetpointCallback(const Setpoint& newSetpoint);
-    void pickerSetpointCallback(const Setpoint& newSetpoint);
-
-
-    void remoteDataCallback(const CrazyflieData& objectData);
-    void remoteControlSetpointCallback(const CrazyflieData& setpointData);
-
-
-    // > For actually sending the button message
-    void send_picker_button_clicked_message(int button_index);
-    void send_picker_button_clicked_message_with_setpoint(const SetpointV2& setpointV2_to_send);
-    
-
-    void DBChangedCallback(const std_msgs::Int32& msg);
-
-    // # Load Yaml when acting as the GUI for an Agent
-    void safeYamlFileTimerCallback(const ros::TimerEvent&);
-    void demoYamlFileTimerCallback(const ros::TimerEvent&);
-    void studentYamlFileTimerCallback(const ros::TimerEvent&);
-    void mpcYamlFileTimerCallback(const ros::TimerEvent&);
-    void remoteYamlFileTimerCallback(const ros::TimerEvent&);
-    void tuningYamlFileTimerCallback(const ros::TimerEvent&);
-    void pickerYamlFileTimerCallback(const ros::TimerEvent&);
-    
-
-
-    void requestLoadControllerYaml_from_my_GUI_Callback(const std_msgs::Int32& msg);
-    void controllerUsedChangedCallback(const std_msgs::Int32& msg);
-    void batteryStateChangedCallback(const std_msgs::Int32& msg);
-
-    float fromVoltageToPercent(float voltage);
-    void updateBatteryVoltage(float battery_voltage);
-    void setCrazyRadioStatus(int radio_status);
-    void loadCrazyflieContext();
-    void coordinatesToLocal(CrazyflieData& cf);
-
-    void initialize_demo_setpoint();
-    void initialize_student_setpoint();
-    void initialize_mpc_setpoint();
-    void initialize_picker_setpoint();
-
-
-    void disableGUI();
-    void enableGUI();
-    void highlightSafeControllerTab();
-    void highlightDemoControllerTab();
-    void highlightStudentControllerTab();
-    void highlightMpcControllerTab();
-    void highlightRemoteControllerTab();
-    void highlightTuningControllerTab();
-    void highlightPickerControllerTab();
-
-    bool setpointInsideBox(Setpoint setpoint, CrazyflieContext context);
-    Setpoint correctSetpointBox(Setpoint setpoint, CrazyflieContext context);
-
-};
-
-#endif // MAINWINDOW_H
diff --git a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/include/rosNodeThread_for_studentGUI.h b/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/include/rosNodeThread_for_studentGUI.h
deleted file mode 100644
index 823094a0..00000000
--- a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/include/rosNodeThread_for_studentGUI.h
+++ /dev/null
@@ -1,93 +0,0 @@
-//    Copyright (C) 2017, ETH Zurich, D-ITET, Angel Romero
-//
-//    This file is part of D-FaLL-System.
-//    
-//    D-FaLL-System is free software: you can redistribute it and/or modify
-//    it under the terms of the GNU General Public License as published by
-//    the Free Software Foundation, either version 3 of the License, or
-//    (at your option) any later version.
-//    
-//    D-FaLL-System is distributed in the hope that it will be useful,
-//    but WITHOUT ANY WARRANTY; without even the implied warranty of
-//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//    GNU General Public License for more details.
-//    
-//    You should have received a copy of the GNU General Public License
-//    along with D-FaLL-System.  If not, see <http://www.gnu.org/licenses/>.
-//    
-//
-//    ----------------------------------------------------------------------------------
-//    DDDD        FFFFF        L     L           SSSS  Y   Y   SSSS  TTTTT  EEEEE  M   M
-//    D   D       F      aaa   L     L          S       Y Y   S        T    E      MM MM
-//    D   D  ---  FFFF  a   a  L     L     ---   SSS     Y     SSS     T    EEE    M M M
-//    D   D       F     a  aa  L     L              S    Y        S    T    E      M   M
-//    DDDD        F      aa a  LLLL  LLLL       SSSS     Y    SSSS     T    EEEEE  M   M
-//
-//
-//    DESCRIPTION:
-//    Takes care of creating a ros node thread.
-//
-//    ----------------------------------------------------------------------------------
-
-
-#ifndef ___ROSNODETHREAD_FOR_STUDENTGUI_H___
-#define ___ROSNODETHREAD_FOR_STUDENTGUI_H___
-
-#include <QtCore>
-#include <QThread>
-#include <QStringList>
-#include <stdlib.h>
-#include <QMutex>
-#include <iostream>
-#include "assert.h"
-
-#include <ros/ros.h>
-#include <ros/network.h>
-#include "dfall_pkg/UnlabeledMarker.h"
-#include "dfall_pkg/CrazyflieData.h"
-#include "dfall_pkg/ViconData.h"
-
-using namespace dfall_pkg;
-
-typedef ViconData::ConstPtr ptrToMessage;
-
-Q_DECLARE_METATYPE(ptrToMessage)
-
-
-class rosNodeThread : public QObject {
-	Q_OBJECT
-public:
-    explicit rosNodeThread(int argc, char **pArgv, const char * node_name, QObject *parent = 0);
-    virtual ~rosNodeThread();
-
-    bool init();
-
-    // void messageCallback(const ViconData& data);
-    void messageCallback(const ptrToMessage& p_msg);
-
-    ros::ServiceClient m_read_db_client;
-    ros::ServiceClient m_update_db_client;
-    ros::ServiceClient m_command_db_client;
-
-
-signals:
-
-    void newViconData(const ptrToMessage& p_msg);
-
-public slots:
-    void run();
-
-private:
-    int m_Init_argc;
-    char** m_pInit_argv;
-    const char * m_node_name;
-
-    QThread * m_pThread;
-
-    ViconData m_vicon_data;
-
-    ros::Subscriber m_vicon_subscriber;
-    // ros::Publisher  sim_velocity;
-};
-#endif
-
diff --git a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/src/MainWindow.cpp b/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/src/MainWindow.cpp
deleted file mode 100644
index 3d74934f..00000000
--- a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/src/MainWindow.cpp
+++ /dev/null
@@ -1,2181 +0,0 @@
-//    Copyright (C) 2017, ETH Zurich, D-ITET, Paul Beuchat, Angel Romero
-//
-//    This file is part of D-FaLL-System.
-//    
-//    D-FaLL-System is free software: you can redistribute it and/or modify
-//    it under the terms of the GNU General Public License as published by
-//    the Free Software Foundation, either version 3 of the License, or
-//    (at your option) any later version.
-//    
-//    D-FaLL-System is distributed in the hope that it will be useful,
-//    but WITHOUT ANY WARRANTY; without even the implied warranty of
-//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//    GNU General Public License for more details.
-//    
-//    You should have received a copy of the GNU General Public License
-//    along with D-FaLL-System.  If not, see <http://www.gnu.org/licenses/>.
-//    
-//
-//    ----------------------------------------------------------------------------------
-//    DDDD        FFFFF        L     L           SSSS  Y   Y   SSSS  TTTTT  EEEEE  M   M
-//    D   D       F      aaa   L     L          S       Y Y   S        T    E      MM MM
-//    D   D  ---  FFFF  a   a  L     L     ---   SSS     Y     SSS     T    EEE    M M M
-//    D   D       F     a  aa  L     L              S    Y        S    T    E      M   M
-//    DDDD        F      aa a  LLLL  LLLL       SSSS     Y    SSSS     T    EEEEE  M   M
-//
-//
-//    DESCRIPTION:
-//    Main window of the Student's GUI
-//
-//    ----------------------------------------------------------------------------------
-
-
-#include "MainWindow.h"
-#include "ui_MainWindow.h"
-#include <string>
-
-#include <ros/ros.h>
-#include <ros/network.h>
-#include <ros/package.h>
-
-#include "dfall_pkg/CMQuery.h"
-
-#include "dfall_pkg/ViconData.h"
-
-#include "dfall_pkg/CustomButton.h"
-
-MainWindow::MainWindow(int argc, char **argv, QWidget *parent) :
-    QMainWindow(parent),
-    ui(new Ui::MainWindow),
-    m_battery_level(0)
-{
-
-    ui->setupUi(this);
-
-    m_rosNodeThread = new rosNodeThread(argc, argv, "student_GUI");
-    m_rosNodeThread->init();
-
-    setCrazyRadioStatus(DISCONNECTED);
-
-    m_ros_namespace = ros::this_node::getNamespace();
-    ROS_INFO("[Student GUI] node namespace: %s", m_ros_namespace.c_str());
-
-    qRegisterMetaType<ptrToMessage>("ptrToMessage");
-    QObject::connect(m_rosNodeThread, SIGNAL(newViconData(const ptrToMessage&)), this, SLOT(updateNewViconData(const ptrToMessage&)));
-
-    ros::NodeHandle nodeHandle(m_ros_namespace);
-
-
-    // SUBSCRIBERS AND PUBLISHERS:
-    // > For the Demo Controller SETPOINTS and CUSTOM COMMANDS
-    demoSetpointPublisher     = nodeHandle.advertise<Setpoint>("DemoControllerService/Setpoint", 1);
-    demoSetpointSubscriber    = nodeHandle.subscribe("DemoControllerService/Setpoint", 1, &MainWindow::demoSetpointCallback, this);
-    demoCustomButtonPublisher = nodeHandle.advertise<CustomButton>("DemoControllerService/GUIButton", 1);
-    // > For the Student Controller SETPOINTS and CUSTOM COMMANDS
-    studentSetpointPublisher     = nodeHandle.advertise<Setpoint>("StudentControllerService/Setpoint", 1);
-    studentSetpointSubscriber    = nodeHandle.subscribe("StudentControllerService/Setpoint", 1, &MainWindow::studentSetpointCallback, this);
-    studentCustomButtonPublisher = nodeHandle.advertise<CustomButton>("StudentControllerService/GUIButton", 1);
-    // > For the MPC Controller SETPOINTS
-    mpcSetpointPublisher  = nodeHandle.advertise<Setpoint>("MpcControllerService/Setpoint", 1);
-    mpcSetpointSubscriber = nodeHandle.subscribe("MpcControllerService/Setpoint", 1, &MainWindow::mpcSetpointCallback, this);
-
-
-    // > For the Remote Controller subscribe action
-    remoteSubscribePublisher = nodeHandle.advertise<ViconSubscribeObjectName>("RemoteControllerService/ViconSubscribeObjectName", 1);
-    // > For the Remote Controller activate action
-    remoteActivatePublisher = nodeHandle.advertise<std_msgs::Int32>("RemoteControllerService/Activate", 1);
-    // > For the Remote Controller data
-    remoteDataSubscriber = nodeHandle.subscribe("RemoteControllerService/RemoteData", 1, &MainWindow::remoteDataCallback, this);;
-    // > For the Remote Controller data
-    remoteControlSetpointSubscriber = nodeHandle.subscribe("RemoteControllerService/RemoteControlSetpoint", 1, &MainWindow::remoteControlSetpointCallback, this);;
-
-
-    // > For the TUNING CONTROLLER "test" button publisher
-    tuningActivateTestPublisher = nodeHandle.advertise<std_msgs::Int32>("TuningControllerService/ActivateTest", 1);
-    // > For the TUNING CONTOLLER "gain" sliders
-    tuningHorizontalGainPublisher = nodeHandle.advertise<std_msgs::Int32>("TuningControllerService/HorizontalGain", 1);
-    tuningVerticalGainPublisher = nodeHandle.advertise<std_msgs::Int32>("TuningControllerService/VerticalGain", 1);
-    tuningHeadingGainPublisher = nodeHandle.advertise<std_msgs::Int32>("TuningControllerService/HeadingGain", 1);
-
-
-    // > For the PICKER CONTROLLER
-    pickerButtonPressedPublisher  =  nodeHandle.advertise<std_msgs::Int32>("PickerControllerService/ButtonPressed", 1);
-    pickerZSetpointPublisher      =  nodeHandle.advertise<std_msgs::Float32>("PickerControllerService/ZSetpoint", 1);
-    pickerYawSetpointPublisher    =  nodeHandle.advertise<std_msgs::Float32>("PickerControllerService/YawSetpoint", 1);
-    pickerMassPublisher           =  nodeHandle.advertise<std_msgs::Float32>("PickerControllerService/Mass", 1);
-    pickerXAdjustmentPublisher    =  nodeHandle.advertise<std_msgs::Float32>("PickerControllerService/XAdjustment", 1);
-    pickerYAdjustmentPublisher    =  nodeHandle.advertise<std_msgs::Float32>("PickerControllerService/YAdjustment", 1);
-    pickerSetpointPublisher       =  nodeHandle.advertise<Setpoint>("PickerControllerService/Setpoint", 1);
-    pickerSetpointSubscriber      =  nodeHandle.subscribe("PickerControllerService/Setpoint", 1, &MainWindow::pickerSetpointCallback, this);
-    pickerSetpointToGUISubscriber =  nodeHandle.subscribe("PickerControllerService/SetpointToGUI", 1, &MainWindow::pickerSetpointCallback, this);
-
-    pickerButtonPressedWithSetpointPublisher =  nodeHandle.advertise<SetpointV2>("PickerControllerService/ButtonPressedWithSetpoint", 1);
-
-    // SET ALL SLIDERS AND DIALS TO DEFAULT VALUES
-    ui->picker_z_slider->setValue( 40 );
-    ui->picker_mass_slider->setValue( 29 );
-    ui->picker_yaw_dial->setValue( 0 );
-    ui->picker_x_slider->setValue( 0 );
-    ui->picker_y_slider->setValue( 0 );
-
-    // SET ALL THE FIELDS TO DEFAULT VALUES
-    // > For goto start
-    ui->picker_gotostart_x->setText("-0.30");
-    ui->picker_gotostart_y->setText("+0.00");
-    ui->picker_gotostart_z->setText("+0.50");
-    // > For attach
-    ui->picker_attach_z->setText("+0.38");
-    // > For pickup
-    ui->picker_pickup_z->setText("+0.60");
-    // > For goto end
-    ui->picker_gotoend_x->setText("+0.30");
-    ui->picker_gotoend_y->setText("+0.00");
-    // > For putdown
-    ui->picker_putdown_z->setText("+0.39");
-    // > For squat
-    ui->picker_squat_z->setText("+0.35");
-    // > For jump
-    ui->picker_jump_z->setText("+0.50");
-    // > For the check boxes
-    ui->picker_gotostart_checkBox->setChecked(1);
-    ui->picker_attach_checkBox->setChecked(1);
-    ui->picker_pickup_checkBox->setChecked(1);
-    ui->picker_gotoend_checkBox->setChecked(1);
-    ui->picker_putdown_checkBox->setChecked(1);
-    ui->picker_squat_checkBox->setChecked(0);
-    ui->picker_jump_checkBox->setChecked(0);
-
-
-
-
-    // subscribers
-    crazyRadioStatusSubscriber = nodeHandle.subscribe("CrazyRadio/CrazyRadioStatus", 1, &MainWindow::crazyRadioStatusCallback, this);
-
-    CFBatterySubscriber = nodeHandle.subscribe("CrazyRadio/CFBattery", 1, &MainWindow::CFBatteryCallback, this);
-
-    flyingStateSubscriber = nodeHandle.subscribe("FlyingAgentClient/flyingState", 1, &MainWindow::flyingStateChangedCallback, this);
-
-    batteryStateSubscriber = nodeHandle.subscribe("FlyingAgentClient/batteryState", 1, &MainWindow::batteryStateChangedCallback, this);
-
-    controllerUsedSubscriber = nodeHandle.subscribe("FlyingAgentClient/controllerUsed", 1, &MainWindow::controllerUsedChangedCallback, this);
-
-
-    safeSetpointSubscriber = nodeHandle.subscribe("SafeControllerService/Setpoint", 1, &MainWindow::safeSetpointCallback, this);
-    DBChangedSubscriber = nodeHandle.subscribe("/my_GUI/DBChanged", 1, &MainWindow::DBChangedCallback, this);
-
-    ros::NodeHandle my_nodeHandle("~");
-    controllerSetpointPublisher = my_nodeHandle.advertise<Setpoint>("ControllerSetpoint", 1);
-
-
-    // communication with Flying Agent Client, just to make it possible to communicate through terminal also we use FlyingAgentClient's name
-    //ros::NodeHandle nh_FlyingAgentClient(m_ros_namespace + "/FlyingAgentClient");
-    ros::NodeHandle nh_FlyingAgentClient("FlyingAgentClient");
-    crazyRadioCommandPublisher = nh_FlyingAgentClient.advertise<std_msgs::Int32>("crazyRadioCommand", 1);
-    FlyingAgentClientCommandPublisher = nh_FlyingAgentClient.advertise<std_msgs::Int32>("Command", 1);    
-
-
-    // > For publishing a message that requests the
-    //   YAML parameters to be re-loaded from file
-    // > The message contents specify which controller
-    //   the parameters should be re-loaded for
-    requestLoadControllerYamlPublisher = nh_FlyingAgentClient.advertise<std_msgs::Int32>("requestLoadControllerYaml", 1);
-
-
-    // Subscriber for locking the load the controller YAML
-    // parameters when the Coordintor GUI requests a load
-    requestLoadControllerYaml_from_my_GUI_Subscriber = nodeHandle.subscribe("/my_GUI/requestLoadControllerYaml", 1, &MainWindow::requestLoadControllerYaml_from_my_GUI_Callback, this);
-
-    // First get student ID
-    if(!nh_FlyingAgentClient.getParam("agentID", m_student_id))
-    {
-		ROS_ERROR("Failed to get agentID");
-	}
-
-    // Then, Central manager
-    // CREATE A NODE HANDLE TO THE ROOT OF THE D-FaLL SYSTEM
-    ros::NodeHandle dfall_root_nodeHandle("/dfall");
-    centralManager = dfall_root_nodeHandle.serviceClient<CMQuery>("CentralManagerService/Query", false);
-    loadCrazyflieContext();
-
-
-
-
-    // Load default setpoint from the "SafeController" namespace of the "ParameterService"
-    std::vector<float> default_setpoint(4);
-    ros::NodeHandle nodeHandle_to_own_agent_parameter_service("ParameterService");
-    ros::NodeHandle nodeHandle_for_safeController(nodeHandle_to_own_agent_parameter_service, "SafeController");
-
-    if(!nodeHandle_for_safeController.getParam("defaultSetpoint", default_setpoint))
-    {
-        ROS_ERROR_STREAM("The StudentGUI could not find parameter 'defaultSetpoint', as called from main(...)");
-    }
-
-    // Copy the default setpoint into respective text fields of the GUI
-    ui->current_setpoint_x_safe->setText(QString::number(default_setpoint[0]));
-    ui->current_setpoint_y_safe->setText(QString::number(default_setpoint[1]));
-    ui->current_setpoint_z_safe->setText(QString::number(default_setpoint[2]));
-    ui->current_setpoint_yaw_safe->setText(QString::number(default_setpoint[3]));
-
-
-    disableGUI();
-    highlightSafeControllerTab();
-
-    // INITIALISE THE BATTERY STATE AS NORMAL
-    m_battery_state = BATTERY_STATE_NORMAL;
-
-    // SET THE BATTERY VOLTAGE FIELD TO BE BLANK
-    QString qstr = "-.-- V";
-    ui->voltage_field->setText(qstr);
-    // SET THE IMAGE FOR THE BATTERY STATUS LABEL
-    QPixmap battery_unknown_pixmap(":/images/battery_unknown.png");
-    ui->battery_status_label->setPixmap(battery_unknown_pixmap);
-    ui->battery_status_label->setScaledContents(true);
-    m_battery_label_image_current_index = BATTERY_LABEL_IMAGE_INDEX_UNKNOWN;
-
-    // SET THE IMAGE FOR THE CRAZY RADIO STATUS LABEL
-    QPixmap rf_disconnected_pixmap(":/images/rf_disconnected.png");
-    ui->rf_status_label->setPixmap(rf_disconnected_pixmap);
-    ui->rf_status_label->setScaledContents(true);
-
-    // SET THE IMAGE FOR THE FLYING STATE LABEL
-    QPixmap flying_state_off_pixmap(":/images/flying_state_off.png");
-    ui->flying_state_label->setPixmap(flying_state_off_pixmap);
-    ui->flying_state_label->setScaledContents(true);
-
-
-
-    //QPixmap battery_80_pixmap(":/images/battery_80.png");
-	//m_battery_80_pixmap = battery_80_pixmap.scaled(50,70,Qt::IgnoreAspectRatio);
-	// The syntax for "scaled" is (int width, int height, ...)
-
-
-    ui->error_label->setStyleSheet("QLabel { color : red; }");
-    ui->error_label->clear();
-
-    // Add keyboard shortcuts
-    // > for "all motors off", press the space bar
-    ui->motors_OFF_button->setShortcut(tr("Space"));
-    // > for "kill GUI node", press "CTRL+C" while the GUI window is the focus
-    m_close_GUI_shortcut = new QShortcut(QKeySequence(tr("CTRL+C")), this, SLOT(close()));
-
-
-    initialize_demo_setpoint();
-    initialize_student_setpoint();
-    initialize_mpc_setpoint();
-    initialize_picker_setpoint();
-}
-
-
-MainWindow::~MainWindow()
-{
-    delete ui;
-}
-
-void MainWindow::disableGUI()
-{
-    ui->motors_OFF_button->setEnabled(false);
-    ui->take_off_button->setEnabled(false);
-    ui->land_button->setEnabled(false);
-}
-
-void MainWindow::enableGUI()
-{
-    ui->motors_OFF_button->setEnabled(true);
-    if(m_battery_state == BATTERY_STATE_NORMAL)
-    {
-        ui->take_off_button->setEnabled(true);
-        ui->land_button->setEnabled(true);
-    }
-}
-
-void MainWindow::highlightSafeControllerTab()
-{
-    ui->tabWidget->tabBar()->setTabTextColor(0, Qt::green);
-    ui->tabWidget->tabBar()->setTabTextColor(1, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(2, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(3, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(4, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(5, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(6, Qt::black);
-}
-void MainWindow::highlightPickerControllerTab()
-{
-    ui->tabWidget->tabBar()->setTabTextColor(0, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(1, Qt::green);
-    ui->tabWidget->tabBar()->setTabTextColor(2, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(3, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(4, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(5, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(6, Qt::black);
-}
-void MainWindow::highlightDemoControllerTab()
-{
-    ui->tabWidget->tabBar()->setTabTextColor(0, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(1, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(2, Qt::green);
-    ui->tabWidget->tabBar()->setTabTextColor(3, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(4, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(5, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(6, Qt::black);
-}
-void MainWindow::highlightStudentControllerTab()
-{
-    ui->tabWidget->tabBar()->setTabTextColor(0, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(1, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(2, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(3, Qt::green);
-    ui->tabWidget->tabBar()->setTabTextColor(4, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(5, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(6, Qt::black);
-}
-void MainWindow::highlightMpcControllerTab()
-{
-    ui->tabWidget->tabBar()->setTabTextColor(0, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(1, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(2, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(3, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(4, Qt::green);
-    ui->tabWidget->tabBar()->setTabTextColor(5, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(6, Qt::black);
-}
-void MainWindow::highlightRemoteControllerTab()
-{
-    ui->tabWidget->tabBar()->setTabTextColor(0, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(1, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(2, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(3, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(4, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(5, Qt::green);
-    ui->tabWidget->tabBar()->setTabTextColor(6, Qt::black);
-}
-void MainWindow::highlightTuningControllerTab()
-{
-    ui->tabWidget->tabBar()->setTabTextColor(0, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(1, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(2, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(3, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(4, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(5, Qt::black);
-    ui->tabWidget->tabBar()->setTabTextColor(6, Qt::green);
-}
-
-
-void MainWindow::DBChangedCallback(const std_msgs::Int32& msg)
-{
-    loadCrazyflieContext();
-    ROS_INFO("context reloaded in student_GUI");
-}
-
-void MainWindow::controllerUsedChangedCallback(const std_msgs::Int32& msg)
-{
-    switch(msg.data)
-    {
-        case SAFE_CONTROLLER:
-            highlightSafeControllerTab();
-            break;
-        case DEMO_CONTROLLER:
-            highlightDemoControllerTab();
-            break;
-        case STUDENT_CONTROLLER:
-            highlightStudentControllerTab();
-            break;
-        case MPC_CONTROLLER:
-            highlightMpcControllerTab();
-            break;
-        case REMOTE_CONTROLLER:
-            highlightRemoteControllerTab();
-            break;
-        case TUNING_CONTROLLER:
-            highlightTuningControllerTab();
-            break;
-        case PICKER_CONTROLLER:
-            highlightPickerControllerTab();
-            break;
-        default:
-            break;
-    }
-}
-
-void MainWindow::safeSetpointCallback(const Setpoint& newSetpoint)
-{
-    m_safe_setpoint = newSetpoint;
-    // here we get the new setpoint, need to update it in GUI
-    ui->current_setpoint_x_safe->setText(QString::number(newSetpoint.x, 'f', 3));
-    ui->current_setpoint_y_safe->setText(QString::number(newSetpoint.y, 'f', 3));
-    ui->current_setpoint_z_safe->setText(QString::number(newSetpoint.z, 'f', 3));
-    ui->current_setpoint_yaw_safe->setText(QString::number(newSetpoint.yaw * RAD2DEG, 'f', 1));
-}
-
-void MainWindow::demoSetpointCallback(const Setpoint& newSetpoint)
-{
-    m_demo_setpoint = newSetpoint;
-    // here we get the new setpoint, need to update it in GUI
-    ui->current_setpoint_x_demo->setText(QString::number(newSetpoint.x, 'f', 3));
-    ui->current_setpoint_y_demo->setText(QString::number(newSetpoint.y, 'f', 3));
-    ui->current_setpoint_z_demo->setText(QString::number(newSetpoint.z, 'f', 3));
-    ui->current_setpoint_yaw_demo->setText(QString::number(newSetpoint.yaw * RAD2DEG, 'f', 1));
-}
-
-void MainWindow::studentSetpointCallback(const Setpoint& newSetpoint)
-{
-    m_student_setpoint = newSetpoint;
-    // here we get the new setpoint, need to update it in GUI
-    ui->current_setpoint_x_student->setText(QString::number(newSetpoint.x, 'f', 3));
-    ui->current_setpoint_y_student->setText(QString::number(newSetpoint.y, 'f', 3));
-    ui->current_setpoint_z_student->setText(QString::number(newSetpoint.z, 'f', 3));
-    ui->current_setpoint_yaw_student->setText(QString::number(newSetpoint.yaw * RAD2DEG, 'f', 1));
-}
-
-void MainWindow::mpcSetpointCallback(const Setpoint& newSetpoint)
-{
-    m_mpc_setpoint = newSetpoint;
-    // here we get the new setpoint, need to update it in GUI
-    ui->current_setpoint_x_mpc->setText(QString::number(newSetpoint.x, 'f', 3));
-    ui->current_setpoint_y_mpc->setText(QString::number(newSetpoint.y, 'f', 3));
-    ui->current_setpoint_z_mpc->setText(QString::number(newSetpoint.z, 'f', 3));
-    ui->current_setpoint_yaw_mpc->setText(QString::number(newSetpoint.yaw * RAD2DEG, 'f', 1));
-}
-
-void MainWindow::pickerSetpointCallback(const Setpoint& newSetpoint)
-{
-    m_picker_setpoint = newSetpoint;
-    // here we get the new setpoint, need to update it in GUI
-    ui->picker_z_slider->setValue( int(newSetpoint.z*100.0) );
-    ui->picker_yaw_dial->setValue( int(newSetpoint.yaw * RAD2DEG) );
-    
-}
-
-void MainWindow::flyingStateChangedCallback(const std_msgs::Int32& msg)
-{
-	// PUT THE CURRENT STATE INTO THE CLASS VARIABLE
-	m_flying_state_mutex.lock();
-	m_flying_state = msg.data;
-	m_flying_state_mutex.unlock();
-
-	// UPDATE THE LABEL TO DISPLAY THE FLYING STATE
-    //QString qstr = "Flying State: ";
-    switch(msg.data)
-    {
-        case STATE_MOTORS_OFF:
-        {
-            //qstr.append("Motors OFF");
-            // SET THE APPROPRIATE IMAGE FOR THE FLYING STATE LABEL
-            ui->flying_state_label->clear();
-            QPixmap flying_state_off_pixmap(":/images/flying_state_off.png");
-            ui->flying_state_label->setPixmap(flying_state_off_pixmap);
-            ui->flying_state_label->setScaledContents(true);
-            ui->flying_state_label->update();
-            break;
-        }
-
-        case STATE_TAKE_OFF:
-        {
-            //qstr.append("Take OFF");
-            // SET THE APPROPRIATE IMAGE FOR THE FLYING STATE LABEL
-            ui->flying_state_label->clear();
-            QPixmap flying_state_enabling_pixmap(":/images/flying_state_enabling.png");
-            ui->flying_state_label->setPixmap(flying_state_enabling_pixmap);
-            ui->flying_state_label->setScaledContents(true);
-            ui->flying_state_label->update();
-            break;
-        }
-
-        case STATE_FLYING:
-        {
-            //qstr.append("Flying");
-            // SET THE APPROPRIATE IMAGE FOR THE FLYING STATE LABEL
-            ui->flying_state_label->clear();
-            QPixmap flying_state_flying_pixmap(":/images/flying_state_flying.png");
-            ui->flying_state_label->setPixmap(flying_state_flying_pixmap);
-            ui->flying_state_label->setScaledContents(true);
-            ui->flying_state_label->update();
-            break;
-        }
-
-        case STATE_LAND:
-        {
-            //qstr.append("Land");
-            // SET THE APPROPRIATE IMAGE FOR THE FLYING STATE LABEL
-            ui->flying_state_label->clear();
-            QPixmap flying_state_disabling_pixmap(":/images/flying_state_disabling.png");
-            ui->flying_state_label->setPixmap(flying_state_disabling_pixmap);
-            ui->flying_state_label->setScaledContents(true);
-            ui->flying_state_label->update();
-            break;
-        }
-
-        default:
-        {
-            // SET THE APPROPRIATE IMAGE FOR THE FLYING STATE LABEL
-            ui->flying_state_label->clear();
-            QPixmap flying_state_unknown_pixmap(":/images/flying_state_unknown.png");
-            ui->flying_state_label->setPixmap(flying_state_unknown_pixmap);
-            ui->flying_state_label->setScaledContents(true);
-            ui->flying_state_label->update();
-            break;
-        }
-    }
-    //ui->flying_state_label->setText(qstr);
-}
-
-void MainWindow::batteryStateChangedCallback(const std_msgs::Int32& msg)
-{
-    // switch case with unabling buttons motors off, take off, etc... when battery is low
-    QString qstr = "";
-    switch(msg.data)
-    {
-        case BATTERY_STATE_LOW:
-        {
-            // DISABLE THE TAKE OFF AND LAND BUTTONS
-            ui->take_off_button->setEnabled(false);
-            ui->land_button->setEnabled(false);
-            // ui->groupBox_4->setEnabled(false);
-
-			// SET THE CLASS VARIABLE FOR TRACKING THE BATTERY STATE
-            m_battery_state = BATTERY_STATE_LOW;
-            break;
-        }
-
-        case BATTERY_STATE_NORMAL:
-        {
-            // ui->groupBox_4->setEnabled(true);
-            ui->take_off_button->setEnabled(true);
-            ui->land_button->setEnabled(true);
-
-            // SET THE CLASS VARIABLE FOR TRACKING THE BATTERY STATE
-            m_battery_state = BATTERY_STATE_NORMAL;
-            break;
-        }
-
-        default:
-            break;
-    }
-}
-
-
-void MainWindow::setCrazyRadioStatus(int radio_status)
-{
-    // add more things whenever the status is changed
-    switch(radio_status)
-    {
-        case CONNECTED:
-        {
-            // SET THE APPROPRIATE IMAGE FOR THE RADIOSTATUS LABEL
-            rf_status_label_mutex.lock();
-            //ui->rf_status_label->clear();
-            QPixmap rf_connected_pixmap(":/images/rf_connected.png");
-            ui->rf_status_label->setPixmap(rf_connected_pixmap);
-            ui->rf_status_label->setScaledContents(true);
-            //ui->rf_status_label->update();
-            rf_status_label_mutex.unlock();
-            // ENABLE THE REMAINDER OF THE GUI
-            enableGUI();
-            break;
-        }
-
-        case CONNECTING:
-        {
-            // SET THE APPROPRIATE IMAGE FOR THE RADIO STATUS LABEL
-            rf_status_label_mutex.lock();
-            //ui->rf_status_label->clear();
-            QPixmap rf_connecting_pixmap(":/images/rf_connecting.png");
-            ui->rf_status_label->setPixmap(rf_connecting_pixmap);
-            ui->rf_status_label->setScaledContents(true);
-            //ui->rf_status_label->update();
-            rf_status_label_mutex.unlock();
-            break;
-        }
-
-        case DISCONNECTED:
-        {
-            // SET THE APPROPRIATE IMAGE FOR THE RADIO STATUS LABEL
-            rf_status_label_mutex.lock();
-            //ui->rf_status_label->clear();
-            QPixmap rf_disconnected_pixmap(":/images/rf_disconnected.png");
-            ui->rf_status_label->setPixmap(rf_disconnected_pixmap);
-            ui->rf_status_label->setScaledContents(true);
-            //ui->rf_status_label->update();
-            rf_status_label_mutex.unlock();
-            // SET THE BATTERY VOLTAGE FIELD TO BE BLANK
-            QString qstr = "-.-- V";
-            voltage_field_mutex.lock();
-            ui->voltage_field->setText(qstr);
-            voltage_field_mutex.unlock();
-            // SET THE APPROPRIATE IMAGE FOR THE BATTERY STATUS LABEL
-            battery_status_label_mutex.lock();
-            if (m_battery_label_image_current_index != BATTERY_LABEL_IMAGE_INDEX_UNKNOWN)
-			{
-				ui->battery_status_label->clear();
-	            QPixmap battery_unknown_pixmap(":/images/battery_unknown.png");
-	            ui->battery_status_label->setPixmap(battery_unknown_pixmap);
-	            ui->battery_status_label->setScaledContents(true);
-	            m_battery_label_image_current_index = BATTERY_LABEL_IMAGE_INDEX_UNKNOWN;
-	            ui->battery_status_label->update();
-	        }
-            battery_status_label_mutex.unlock();
-            // DISABLE THE REMAINDER OF THE GUI
-            disableGUI();
-            break;
-        }
-
-        default:
-        {
-    		ROS_ERROR_STREAM("unexpected radio status: " << m_radio_status);
-            break;
-        }
-    }
-    this->m_radio_status = radio_status;
-}
-
-
-
-
-float MainWindow::fromVoltageToPercent(float voltage)
-{
-	// INITIALISE THE LOCAL VARIABLE FOR THE VOLTAGE WHEN FULL/EMPTY
-	float voltage_when_full;
-	float voltage_when_empty;
-
-	// COMPUTE THE PERCENTAGE DIFFERENTLY DEPENDING ON
-	// THE CURRENT FLYING STATE
-	m_flying_state_mutex.lock();
-	if (m_flying_state == STATE_MOTORS_OFF)
-	{
-		voltage_when_empty = battery_voltage_empty_while_motors_off;
-		voltage_when_full  = battery_voltage_full_while_motors_off;
-	}
-	else
-	{
-		voltage_when_empty = battery_voltage_empty_while_flying;
-		voltage_when_full  = battery_voltage_full_while_flying;
-	}
-	m_flying_state_mutex.unlock();
-	//voltage_when_empty = battery_voltage_empty_while_motors_off;
-	//voltage_when_full  = battery_voltage_full_while_motors_off;
-
-	// COMPUTE THE PERCENTAGE
-	float percentage = 100.0f * (voltage-voltage_when_empty)/(voltage_when_full-voltage_when_empty);
-
-
-	// CLIP THE PERCENTAGE TO BE BETWEEN [0,100]
-    // > This should not happen to often
-    if(percentage > 100.0f)
-    {
-        percentage = 100.0f;
-    }
-    if(percentage < 0.0f)
-    {
-        percentage = 0.0f;
-    }
-
-    return percentage;
-}
-
-void MainWindow::updateBatteryVoltage(float battery_voltage)
-{
-	// PUT THE VOLTAGE INTO THE CLASS VARIABLES
-    m_battery_voltage = battery_voltage;
-
-    // UPDATE THE BATTERY VOLTAGE FIELD
-    voltage_field_mutex.lock();
-    QString qstr = "";
-    qstr.append(QString::number(battery_voltage, 'f', 2));
-    qstr.append(" V");
-    ui->voltage_field->setText(qstr);
-    voltage_field_mutex.unlock();
-
-	// COMPUTE THE BATTERY VOLTAGE AS A PERCENTAGE
-	float battery_voltage_percentage = fromVoltageToPercent(battery_voltage);
-
-	//ROS_INFO_STREAM("Battery percentage = " << battery_voltage_percentage );
-
-	// UPDATE THE IMAGE DISPLAYED IN THE BATTERY VOLTAGE LABEL IMAGE
-	battery_status_label_mutex.lock();
-	switch(m_battery_state)
-	{
-		// WHEN THE BATTERY IS IN A LOW STATE
-		case BATTERY_STATE_LOW:
-        {
-			// SET THE IMAGE FOR THE BATTERY STATUS LABEL
-			if (m_battery_label_image_current_index != BATTERY_LABEL_IMAGE_INDEX_EMPTY)
-			{
-				ui->battery_status_label->clear();
-				QPixmap battery_empty_pixmap(":/images/battery_empty.png");
-				ui->battery_status_label->setPixmap(battery_empty_pixmap);
-				ui->battery_status_label->setScaledContents(true);
-				m_battery_label_image_current_index = BATTERY_LABEL_IMAGE_INDEX_EMPTY;
-				ui->battery_status_label->update();
-			}
-			break;
-        }
-
-		// WHEN THE BATTERY IS IN A NORMAL STATE
-		case BATTERY_STATE_NORMAL:
-        {
-
-			if (
-				((m_battery_label_image_current_index != BATTERY_LABEL_IMAGE_INDEX_EMPTY) && (battery_voltage_percentage <= 0.0f))
-				||
-				((m_battery_label_image_current_index == BATTERY_LABEL_IMAGE_INDEX_EMPTY) && (battery_voltage_percentage <= 2.0f))
-			)
-			{
-				if (m_battery_label_image_current_index != BATTERY_LABEL_IMAGE_INDEX_EMPTY)
-				{
-					// SET THE IMAGE FOR THE BATTERY STATUS LABEL
-					ui->battery_status_label->clear();
-					QPixmap battery_empty_pixmap(":/images/battery_empty.png");
-					ui->battery_status_label->setPixmap(battery_empty_pixmap);
-					ui->battery_status_label->setScaledContents(true);
-					m_battery_label_image_current_index = BATTERY_LABEL_IMAGE_INDEX_EMPTY;
-					ui->battery_status_label->update();
-				}
-			}
-			else if (
-				((m_battery_label_image_current_index != BATTERY_LABEL_IMAGE_INDEX_20) && (battery_voltage_percentage <= 20.0f))
-				||
-				((m_battery_label_image_current_index == BATTERY_LABEL_IMAGE_INDEX_20) && (battery_voltage_percentage <= 22.0f))
-			)
-			{
-				if (m_battery_label_image_current_index != BATTERY_LABEL_IMAGE_INDEX_20)
-				{
-					// SET THE IMAGE FOR THE BATTERY STATUS LABEL
-					ui->battery_status_label->clear();
-					QPixmap battery_20_pixmap(":/images/battery_20.png");
-					ui->battery_status_label->setPixmap(battery_20_pixmap);
-					ui->battery_status_label->setScaledContents(true);
-					m_battery_label_image_current_index = BATTERY_LABEL_IMAGE_INDEX_20;
-					ui->battery_status_label->update();
-				}
-			}
-			else if (
-				((m_battery_label_image_current_index != BATTERY_LABEL_IMAGE_INDEX_40) && (battery_voltage_percentage <= 40.0f))
-				||
-				((m_battery_label_image_current_index == BATTERY_LABEL_IMAGE_INDEX_40) && (battery_voltage_percentage <= 42.0f))
-			)
-			{
-				if (m_battery_label_image_current_index != BATTERY_LABEL_IMAGE_INDEX_40)
-				{
-					// SET THE IMAGE FOR THE BATTERY STATUS LABEL
-					ui->battery_status_label->clear();
-					QPixmap battery_40_pixmap(":/images/battery_40.png");
-					ui->battery_status_label->setPixmap(battery_40_pixmap);
-					ui->battery_status_label->setScaledContents(true);
-					m_battery_label_image_current_index = BATTERY_LABEL_IMAGE_INDEX_40;
-					ui->battery_status_label->update();
-				}
-			}
-			else if (
-				((m_battery_label_image_current_index != BATTERY_LABEL_IMAGE_INDEX_60) && (battery_voltage_percentage <= 60.0f))
-				||
-				((m_battery_label_image_current_index == BATTERY_LABEL_IMAGE_INDEX_60) && (battery_voltage_percentage <= 62.0f))
-			)
-			{
-				if (m_battery_label_image_current_index != BATTERY_LABEL_IMAGE_INDEX_60)
-				{
-					// SET THE IMAGE FOR THE BATTERY STATUS LABEL
-					ui->battery_status_label->clear();
-					QPixmap battery_60_pixmap(":/images/battery_60.png");
-					ui->battery_status_label->setPixmap(battery_60_pixmap);
-					ui->battery_status_label->setScaledContents(true);
-					m_battery_label_image_current_index = BATTERY_LABEL_IMAGE_INDEX_60;
-					ui->battery_status_label->update();
-				}
-			}
-			else if (
-				((m_battery_label_image_current_index != BATTERY_LABEL_IMAGE_INDEX_80) && (battery_voltage_percentage <= 80.0f))
-				||
-				((m_battery_label_image_current_index == BATTERY_LABEL_IMAGE_INDEX_80) && (battery_voltage_percentage <= 82.0f))
-			)
-			{
-				if (m_battery_label_image_current_index != BATTERY_LABEL_IMAGE_INDEX_80)
-				{
-					// SET THE IMAGE FOR THE BATTERY STATUS LABEL
-					ui->battery_status_label->clear();
-					QPixmap battery_80_pixmap(":/images/battery_80.png");
-					ui->battery_status_label->setPixmap(battery_80_pixmap);
-					ui->battery_status_label->setScaledContents(true);
-					m_battery_label_image_current_index = BATTERY_LABEL_IMAGE_INDEX_80;
-					ui->battery_status_label->update();
-				}
-			}
-			else
-			{
-				if (m_battery_label_image_current_index != BATTERY_LABEL_IMAGE_INDEX_FULL)
-				{
-					// SET THE IMAGE FOR THE BATTERY STATUS LABEL
-					ui->battery_status_label->clear();
-					QPixmap battery_full_pixmap(":/images/battery_full.png");
-					ui->battery_status_label->setPixmap(battery_full_pixmap);
-					ui->battery_status_label->setScaledContents(true);
-					m_battery_label_image_current_index = BATTERY_LABEL_IMAGE_INDEX_FULL;
-					ui->battery_status_label->update();
-				}
-			}
-			break;
-        }
-
-		default:
-        {
-        	if (m_battery_label_image_current_index != BATTERY_LABEL_IMAGE_INDEX_UNKNOWN)
-			{
-	            // SET THE IMAGE FOR THE BATTERY STATUS LABEL
-	            ui->battery_status_label->clear();
-	            QPixmap battery_unknown_pixmap(":/images/battery_unknown.png");
-	            ui->battery_status_label->setPixmap(battery_unknown_pixmap);
-	            ui->battery_status_label->setScaledContents(true);
-	            m_battery_label_image_current_index = BATTERY_LABEL_IMAGE_INDEX_UNKNOWN;
-				ui->battery_status_label->update();
-	        }
-			break;
-        }
-	}
-	battery_status_label_mutex.unlock();
-}
-
-void MainWindow::CFBatteryCallback(const std_msgs::Float32& msg)
-{
-    updateBatteryVoltage(msg.data);
-}
-
-void MainWindow::crazyRadioStatusCallback(const std_msgs::Int32& msg)
-{
-    ROS_INFO("[Student GUI] Callback CrazyRadioStatus called");
-    this->setCrazyRadioStatus(msg.data);
-}
-
-void MainWindow::loadCrazyflieContext()
-{
-	CMQuery contextCall;
-	contextCall.request.studentID = m_student_id;
-	ROS_INFO_STREAM("StudentID:" << m_student_id);
-
-	centralManager.waitForExistence(ros::Duration(-1));
-
-	if(centralManager.call(contextCall))
-    {
-		m_context = contextCall.response.crazyflieContext;
-		ROS_INFO_STREAM("CrazyflieContext:\n" << m_context);
-        // we now have the m_context variable with the current context. Put CF Name in label
-
-        QString qstr = "StudentID ";
-        qstr.append(QString::number(m_student_id));
-        qstr.append(" connected to CF ");
-        qstr.append(QString::fromStdString(m_context.crazyflieName));
-        ui->groupBox->setTitle(qstr);
-	}
-    else
-    {
-		ROS_ERROR("Failed to load context");
-	}
-
-	ros::NodeHandle nh("CrazyRadio");
-	nh.setParam("crazyFlieAddress", m_context.crazyflieAddress);
-}
-
-void MainWindow::coordinatesToLocal(CrazyflieData& cf)
-{
-	AreaBounds area = m_context.localArea;
-	float originX = (area.xmin + area.xmax) / 2.0;
-	float originY = (area.ymin + area.ymax) / 2.0;
-    // change Z origin to zero, i.e., to the table height, zero of global coordinates, instead of middle of the box
-    float originZ = 0.0;
-	// float originZ = (area.zmin + area.zmax) / 2.0;
-
-	cf.x -= originX;
-	cf.y -= originY;
-	cf.z -= originZ;
-}
-
-
-void MainWindow::updateNewViconData(const ptrToMessage& p_msg) //connected to newViconData, from node
-{
-    for(std::vector<CrazyflieData>::const_iterator it = p_msg->crazyflies.begin(); it != p_msg->crazyflies.end(); ++it)
-    {
-		CrazyflieData global = *it;
-        if(global.crazyflieName == m_context.crazyflieName)
-        {
-            CrazyflieData local = global;
-            coordinatesToLocal(local);
-
-            // now we have the local coordinates, put them in the labels
-            ui->current_x_safe->setText(QString::number(local.x, 'f', 3));
-            ui->current_y_safe->setText(QString::number(local.y, 'f', 3));
-            ui->current_z_safe->setText(QString::number(local.z, 'f', 3));
-            ui->current_yaw_safe->setText(QString::number(local.yaw * RAD2DEG, 'f', 1));
-            ui->current_pitch_safe->setText(QString::number(local.pitch * RAD2DEG, 'f', 1));
-            ui->current_roll_safe->setText(QString::number(local.roll * RAD2DEG, 'f', 1));
-
-            ui->current_x_demo->setText(QString::number(local.x, 'f', 3));
-            ui->current_y_demo->setText(QString::number(local.y, 'f', 3));
-            ui->current_z_demo->setText(QString::number(local.z, 'f', 3));
-            ui->current_yaw_demo->setText(QString::number(local.yaw * RAD2DEG, 'f', 1));
-            ui->current_pitch_demo->setText(QString::number(local.pitch * RAD2DEG, 'f', 1));
-            ui->current_roll_demo->setText(QString::number(local.roll * RAD2DEG, 'f', 1));
-
-            ui->current_x_student->setText(QString::number(local.x, 'f', 3));
-            ui->current_y_student->setText(QString::number(local.y, 'f', 3));
-            ui->current_z_student->setText(QString::number(local.z, 'f', 3));
-            ui->current_yaw_student->setText(QString::number(local.yaw * RAD2DEG, 'f', 1));
-            ui->current_pitch_student->setText(QString::number(local.pitch * RAD2DEG, 'f', 1));
-            ui->current_roll_student->setText(QString::number(local.roll * RAD2DEG, 'f', 1));
-
-            // also update diff
-            ui->diff_x_safe->setText(QString::number(m_safe_setpoint.x - local.x, 'f', 3));
-            ui->diff_y_safe->setText(QString::number(m_safe_setpoint.y - local.y, 'f', 3));
-            ui->diff_z_safe->setText(QString::number(m_safe_setpoint.z - local.z, 'f', 3));
-            ui->diff_yaw_safe->setText(QString::number((m_safe_setpoint.yaw - local.yaw) * RAD2DEG, 'f', 1));
-
-            ui->diff_x_demo->setText(QString::number(m_demo_setpoint.x - local.x, 'f', 3));
-            ui->diff_y_demo->setText(QString::number(m_demo_setpoint.y - local.y, 'f', 3));
-            ui->diff_z_demo->setText(QString::number(m_demo_setpoint.z - local.z, 'f', 3));
-            ui->diff_yaw_demo->setText(QString::number((m_demo_setpoint.yaw - local.yaw) * RAD2DEG, 'f', 1));
-
-            ui->diff_x_student->setText(QString::number(m_student_setpoint.x - local.x, 'f', 3));
-            ui->diff_y_student->setText(QString::number(m_student_setpoint.y - local.y, 'f', 3));
-            ui->diff_z_student->setText(QString::number(m_student_setpoint.z - local.z, 'f', 3));
-            ui->diff_yaw_student->setText(QString::number((m_student_setpoint.yaw - local.yaw) * RAD2DEG, 'f', 1));
-        }
-    }
-}
-
-
-
-//    ----------------------------------------------------------------------------------
-// # RF Crazyradio Connect Disconnect
-void MainWindow::on_RF_Connect_button_clicked()
-{
-    std_msgs::Int32 msg;
-    msg.data = CMD_RECONNECT;
-    this->crazyRadioCommandPublisher.publish(msg);
-    ROS_INFO("command reconnect published");
-}
-
-void MainWindow::on_RF_disconnect_button_clicked()
-{
-    std_msgs::Int32 msg;
-    msg.data = CMD_DISCONNECT;
-    this->crazyRadioCommandPublisher.publish(msg);
-    ROS_INFO("command disconnect published");
-}
-
-
-
-//    ----------------------------------------------------------------------------------
-// # Take off, lanf, motors off
-void MainWindow::on_take_off_button_clicked()
-{
-    std_msgs::Int32 msg;
-    msg.data = CMD_CRAZYFLY_TAKE_OFF;
-    this->FlyingAgentClientCommandPublisher.publish(msg);
-}
-
-void MainWindow::on_land_button_clicked()
-{
-    std_msgs::Int32 msg;
-    msg.data = CMD_CRAZYFLY_LAND;
-    this->FlyingAgentClientCommandPublisher.publish(msg);
-}
-
-void MainWindow::on_motors_OFF_button_clicked()
-{
-    std_msgs::Int32 msg;
-    msg.data = CMD_CRAZYFLY_MOTORS_OFF;
-    this->FlyingAgentClientCommandPublisher.publish(msg);
-}
-
-
-
-//    ----------------------------------------------------------------------------------
-// # Setpoint
-void MainWindow::on_set_setpoint_button_safe_clicked()
-{
-    Setpoint msg_setpoint;
-
-    // initialize setpoint to previous one
-
-    msg_setpoint.x = (ui->current_setpoint_x_safe->text()).toFloat();
-    msg_setpoint.y = (ui->current_setpoint_y_safe->text()).toFloat();
-    msg_setpoint.z = (ui->current_setpoint_z_safe->text()).toFloat();
-    msg_setpoint.yaw = (ui->current_setpoint_yaw_safe->text()).toFloat();
-
-    if(!ui->new_setpoint_x_safe->text().isEmpty())
-        msg_setpoint.x = (ui->new_setpoint_x_safe->text()).toFloat();
-
-    if(!ui->new_setpoint_y_safe->text().isEmpty())
-        msg_setpoint.y = (ui->new_setpoint_y_safe->text()).toFloat();
-
-    if(!ui->new_setpoint_z_safe->text().isEmpty())
-        msg_setpoint.z = (ui->new_setpoint_z_safe->text()).toFloat();
-
-    if(!ui->new_setpoint_yaw_safe->text().isEmpty())
-        msg_setpoint.yaw = (ui->new_setpoint_yaw_safe->text()).toFloat() * DEG2RAD;
-
-
-    if(!setpointInsideBox(msg_setpoint, m_context))
-    {
-        ROS_INFO("Corrected setpoint, was out of bounds");
-
-        // correct the setpoint given the box size
-        msg_setpoint = correctSetpointBox(msg_setpoint, m_context);
-        ui->error_label->setText("Setpoint is outside safety box");
-    }
-    else
-    {
-        ui->error_label->clear();
-    }
-
-    this->controllerSetpointPublisher.publish(msg_setpoint);
-
-    ROS_INFO_STREAM("Setpoint change clicked with:" << msg_setpoint.x << ", "<< msg_setpoint.y << ", "<< msg_setpoint.z << ", "<< msg_setpoint.yaw);
-}
-
-void MainWindow::initialize_demo_setpoint()
-{
-    Setpoint msg_setpoint;
-    msg_setpoint.x = 0;
-    msg_setpoint.y = 0;
-    msg_setpoint.z = 0.4;
-    msg_setpoint.yaw = 0;
-
-    this->demoSetpointPublisher.publish(msg_setpoint);
-}
-
-void MainWindow::initialize_student_setpoint()
-{
-    Setpoint msg_setpoint;
-    msg_setpoint.x = 0;
-    msg_setpoint.y = 0;
-    msg_setpoint.z = 0.4;
-    msg_setpoint.yaw = 0;
-
-    this->studentSetpointPublisher.publish(msg_setpoint);
-}
-
-void MainWindow::initialize_mpc_setpoint()
-{
-    Setpoint msg_setpoint;
-    msg_setpoint.x = 0;
-    msg_setpoint.y = 0;
-    msg_setpoint.z = 0.4;
-    msg_setpoint.yaw = 0;
-
-    this->mpcSetpointPublisher.publish(msg_setpoint);
-}
-
-void MainWindow::initialize_picker_setpoint()
-{
-    Setpoint msg_setpoint;
-    msg_setpoint.x = 0;
-    msg_setpoint.y = 0;
-    msg_setpoint.z = 0.4;
-    msg_setpoint.yaw = 0;
-
-    this->pickerSetpointPublisher.publish(msg_setpoint);
-}
-
-void MainWindow::on_set_setpoint_button_demo_clicked()
-{
-    Setpoint msg_setpoint;
-
-    msg_setpoint.x = (ui->current_setpoint_x_demo->text()).toFloat();
-    msg_setpoint.y = (ui->current_setpoint_y_demo->text()).toFloat();
-    msg_setpoint.z = (ui->current_setpoint_z_demo->text()).toFloat();
-    msg_setpoint.yaw = (ui->current_setpoint_yaw_demo->text()).toFloat();
-
-    if(!ui->new_setpoint_x_demo->text().isEmpty())
-        msg_setpoint.x = (ui->new_setpoint_x_demo->text()).toFloat();
-    if(!ui->new_setpoint_y_demo->text().isEmpty())
-        msg_setpoint.y = (ui->new_setpoint_y_demo->text()).toFloat();
-    if(!ui->new_setpoint_z_demo->text().isEmpty())
-        msg_setpoint.z = (ui->new_setpoint_z_demo->text()).toFloat();
-    if(!ui->new_setpoint_yaw_demo->text().isEmpty())
-        msg_setpoint.yaw = (ui->new_setpoint_yaw_demo->text()).toFloat() * DEG2RAD;
-
-    this->demoSetpointPublisher.publish(msg_setpoint);
-
-    ROS_INFO_STREAM("Setpoint change clicked with:" << msg_setpoint.x << ", "<< msg_setpoint.y << ", "<< msg_setpoint.z << ", "<< msg_setpoint.yaw);
-}
-
-void MainWindow::on_set_setpoint_button_student_clicked()
-{
-    Setpoint msg_setpoint;
-
-    msg_setpoint.x = (ui->current_setpoint_x_student->text()).toFloat();
-    msg_setpoint.y = (ui->current_setpoint_y_student->text()).toFloat();
-    msg_setpoint.z = (ui->current_setpoint_z_student->text()).toFloat();
-    msg_setpoint.yaw = (ui->current_setpoint_yaw_student->text()).toFloat();
-
-    if(!ui->new_setpoint_x_student->text().isEmpty())
-        msg_setpoint.x = (ui->new_setpoint_x_student->text()).toFloat();
-    if(!ui->new_setpoint_y_student->text().isEmpty())
-        msg_setpoint.y = (ui->new_setpoint_y_student->text()).toFloat();
-    if(!ui->new_setpoint_z_student->text().isEmpty())
-        msg_setpoint.z = (ui->new_setpoint_z_student->text()).toFloat();
-    if(!ui->new_setpoint_yaw_student->text().isEmpty())
-        msg_setpoint.yaw = (ui->new_setpoint_yaw_student->text()).toFloat() * DEG2RAD;
-
-    this->studentSetpointPublisher.publish(msg_setpoint);
-
-    ROS_INFO_STREAM("Setpoint change clicked with:" << msg_setpoint.x << ", "<< msg_setpoint.y << ", "<< msg_setpoint.z << ", "<< msg_setpoint.yaw);
-}
-
-void MainWindow::on_set_setpoint_button_mpc_clicked()
-{
-    Setpoint msg_setpoint;
-
-    msg_setpoint.x = (ui->current_setpoint_x_mpc->text()).toFloat();
-    msg_setpoint.y = (ui->current_setpoint_y_mpc->text()).toFloat();
-    msg_setpoint.z = (ui->current_setpoint_z_mpc->text()).toFloat();
-    msg_setpoint.yaw = (ui->current_setpoint_yaw_mpc->text()).toFloat();
-
-    if(!ui->new_setpoint_x_mpc->text().isEmpty())
-        msg_setpoint.x = (ui->new_setpoint_x_mpc->text()).toFloat();
-    if(!ui->new_setpoint_y_mpc->text().isEmpty())
-        msg_setpoint.y = (ui->new_setpoint_y_mpc->text()).toFloat();
-    if(!ui->new_setpoint_z_mpc->text().isEmpty())
-        msg_setpoint.z = (ui->new_setpoint_z_mpc->text()).toFloat();
-    if(!ui->new_setpoint_yaw_mpc->text().isEmpty())
-        msg_setpoint.yaw = (ui->new_setpoint_yaw_mpc->text()).toFloat() * DEG2RAD;
-
-    this->mpcSetpointPublisher.publish(msg_setpoint);
-
-    ROS_INFO_STREAM("Setpoint change clicked with:" << msg_setpoint.x << ", "<< msg_setpoint.y << ", "<< msg_setpoint.z << ", "<< msg_setpoint.yaw);
-}
-
-
-//    ----------------------------------------------------------------------------------
-// # Load Yaml when acting as the GUI for an Agent
-void MainWindow::on_load_safe_yaml_button_clicked()
-{
-    // Set the "load safe yaml" button to be disabled
-    ui->load_safe_yaml_button->setEnabled(false);
-
-    // Send a message requesting the parameters from the YAML
-    // file to be reloaded for the safe controller
-    std_msgs::Int32 msg;
-    msg.data = LOAD_YAML_SAFE_CONTROLLER_AGENT;
-    this->requestLoadControllerYamlPublisher.publish(msg);
-    ROS_INFO("Request load of safe controller YAML published");
-
-    // Start a timer which will enable the button in its callback
-    // > This is required because the agent node waits some time between
-    //   re-loading the values from the YAML file and then assigning then
-    //   to the local variable of the agent.
-    // > Thus we use this timer to prevent the user from clicking the
-    //   button in the GUI repeatedly.
-    ros::NodeHandle nodeHandle("~");
-    m_timer_yaml_file_for_safe_controller = nodeHandle.createTimer(ros::Duration(1.5), &MainWindow::safeYamlFileTimerCallback, this, true);
-}
-
-void MainWindow::safeYamlFileTimerCallback(const ros::TimerEvent&)
-{
-    // Enble the "load safe yaml" button again
-    ui->load_safe_yaml_button->setEnabled(true);
-}
-
-
-
-void MainWindow::on_load_demo_yaml_button_clicked()
-{
-    // Set the "load demo yaml" button to be disabled
-    ui->load_demo_yaml_button->setEnabled(false);
-
-    // Send a message requesting the parameters from the YAML
-    // file to be reloaded for the demo controller
-    std_msgs::Int32 msg;
-    msg.data = LOAD_YAML_DEMO_CONTROLLER_AGENT;
-    this->requestLoadControllerYamlPublisher.publish(msg);
-    ROS_INFO("Request load of demo controller YAML published");
-
-    // Start a timer which will enable the button in its callback
-    // > This is required because the agent node waits some time between
-    //   re-loading the values from the YAML file and then assigning then
-    //   to the local variable of the agent.
-    // > Thus we use this timer to prevent the user from clicking the
-    //   button in the GUI repeatedly.
-    ros::NodeHandle nodeHandle("~");
-    m_timer_yaml_file_for_demo_controller = nodeHandle.createTimer(ros::Duration(1.5), &MainWindow::demoYamlFileTimerCallback, this, true);
-}
-
-void MainWindow::demoYamlFileTimerCallback(const ros::TimerEvent&)
-{
-    // Enble the "load demo yaml" button again
-    ui->load_demo_yaml_button->setEnabled(true);
-}
-
-
-
-void MainWindow::on_load_student_yaml_button_clicked()
-{
-    // Set the "load student yaml" button to be disabled
-    ui->load_student_yaml_button->setEnabled(false);
-
-    // Send a message requesting the parameters from the YAML
-    // file to be reloaded for the student controller
-    std_msgs::Int32 msg;
-    msg.data = LOAD_YAML_STUDENT_CONTROLLER_AGENT;
-    this->requestLoadControllerYamlPublisher.publish(msg);
-    ROS_INFO("Request load of student controller YAML published");
-
-    // Start a timer which will enable the button in its callback
-    // > This is required because the agent node waits some time between
-    //   re-loading the values from the YAML file and then assigning then
-    //   to the local variable of the agent.
-    // > Thus we use this timer to prevent the user from clicking the
-    //   button in the GUI repeatedly.
-    ros::NodeHandle nodeHandle("~");
-    m_timer_yaml_file_for_student_controller = nodeHandle.createTimer(ros::Duration(1.5), &MainWindow::studentYamlFileTimerCallback, this, true);    
-}
-
-void MainWindow::studentYamlFileTimerCallback(const ros::TimerEvent&)
-{
-    // Enble the "load student yaml" button again
-    ui->load_student_yaml_button->setEnabled(true);
-}
-
-
-
-void MainWindow::on_load_mpc_yaml_button_clicked()
-{
-    // Set the "load mpc yaml" button to be disabled
-    ui->load_mpc_yaml_button->setEnabled(false);
-
-    // Send a message requesting the parameters from the YAML
-    // file to be reloaded for the mpc controller
-    std_msgs::Int32 msg;
-    msg.data = LOAD_YAML_MPC_CONTROLLER_AGENT;
-    this->requestLoadControllerYamlPublisher.publish(msg);
-    ROS_INFO("Request load of mpc controller YAML published");
-
-    // Start a timer which will enable the button in its callback
-    // > This is required because the agent node waits some time between
-    //   re-loading the values from the YAML file and then assigning then
-    //   to the local variable of the agent.
-    // > Thus we use this timer to prevent the user from clicking the
-    //   button in the GUI repeatedly.
-    ros::NodeHandle nodeHandle("~");
-    m_timer_yaml_file_for_mpc_controller = nodeHandle.createTimer(ros::Duration(1.5), &MainWindow::mpcYamlFileTimerCallback, this, true);
-}
-
-void MainWindow::mpcYamlFileTimerCallback(const ros::TimerEvent&)
-{
-    // Enble the "load mpc yaml" button again
-    ui->load_mpc_yaml_button->setEnabled(true);
-}
-
-
-
-
-void MainWindow::on_load_remote_yaml_button_clicked()
-{
-    // Set the "load remote yaml" button to be disabled
-    ui->load_remote_yaml_button->setEnabled(false);
-
-    // Send a message requesting the parameters from the YAML
-    // file to be reloaded for the remote controller
-    std_msgs::Int32 msg;
-    msg.data = LOAD_YAML_REMOTE_CONTROLLER_AGENT;
-    this->requestLoadControllerYamlPublisher.publish(msg);
-    ROS_INFO("[STUDENT GUI] Request load of remote controller YAML published");
-
-    // Start a timer which will enable the button in its callback
-    // > This is required because the agent node waits some time between
-    //   re-loading the values from the YAML file and then assigning then
-    //   to the local variable of the agent.
-    // > Thus we use this timer to prevent the user from clicking the
-    //   button in the GUI repeatedly.
-    ros::NodeHandle nodeHandle("~");
-    m_timer_yaml_file_for_remote_controller = nodeHandle.createTimer(ros::Duration(1.5), &MainWindow::remoteYamlFileTimerCallback, this, true);
-}
-
-void MainWindow::remoteYamlFileTimerCallback(const ros::TimerEvent&)
-{
-    // Enble the "load remote yaml" button again
-    ui->load_remote_yaml_button->setEnabled(true);
-}
-
-
-
-void MainWindow::on_load_tuning_yaml_button_clicked()
-{
-    // Set the "load tuning yaml" button to be disabled
-    ui->load_tuning_yaml_button->setEnabled(false);
-
-    // Send a message requesting the parameters from the YAML
-    // file to be reloaded for the tuning controller
-    std_msgs::Int32 msg;
-    msg.data = LOAD_YAML_TUNING_CONTROLLER_AGENT;
-    this->requestLoadControllerYamlPublisher.publish(msg);
-    ROS_INFO("[STUDENT GUI] Request load of tuning controller YAML published");
-
-    // Start a timer which will enable the button in its callback
-    // > This is required because the agent node waits some time between
-    //   re-loading the values from the YAML file and then assigning then
-    //   to the local variable of the agent.
-    // > Thus we use this timer to prevent the user from clicking the
-    //   button in the GUI repeatedly.
-    ros::NodeHandle nodeHandle("~");
-    m_timer_yaml_file_for_tuning_controller = nodeHandle.createTimer(ros::Duration(1.5), &MainWindow::tuningYamlFileTimerCallback, this, true);
-}
-
-void MainWindow::tuningYamlFileTimerCallback(const ros::TimerEvent&)
-{
-    // Enble the "load tuning yaml" button again
-    ui->load_tuning_yaml_button->setEnabled(true);
-}
-
-
-
-void MainWindow::on_load_picker_yaml_button_clicked()
-{
-    // Set the "load picker yaml" button to be disabled
-    ui->load_picker_yaml_button->setEnabled(false);
-
-    // Send a message requesting the parameters from the YAML
-    // file to be reloaded for the picker controller
-    std_msgs::Int32 msg;
-    msg.data = LOAD_YAML_PICKER_CONTROLLER_AGENT;
-    this->requestLoadControllerYamlPublisher.publish(msg);
-    ROS_INFO("[STUDENT GUI] Request load of picker controller YAML published");
-
-    // Start a timer which will enable the button in its callback
-    // > This is required because the agent node waits some time between
-    //   re-loading the values from the YAML file and then assigning then
-    //   to the local variable of the agent.
-    // > Thus we use this timer to prevent the user from clicking the
-    //   button in the GUI repeatedly.
-    ros::NodeHandle nodeHandle("~");
-    m_timer_yaml_file_for_picker_controller = nodeHandle.createTimer(ros::Duration(1.5), &MainWindow::pickerYamlFileTimerCallback, this, true);
-}
-
-void MainWindow::pickerYamlFileTimerCallback(const ros::TimerEvent&)
-{
-    // Enble the "load picker yaml" button again
-    ui->load_picker_yaml_button->setEnabled(true);
-}
-
-
-void MainWindow::requestLoadControllerYaml_from_my_GUI_Callback(const std_msgs::Int32& msg)
-{
-    // Extract from the "msg" for which controller the YAML
-    // parameters should be loaded
-    int controller_to_load_yaml = msg.data;
-
-    // Create the "nodeHandle" needed in the switch cases below
-    ros::NodeHandle nodeHandle("~");
-
-    // Switch between loading for the different controllers
-    switch(controller_to_load_yaml)
-    {
-        case LOAD_YAML_SAFE_CONTROLLER_AGENT:
-        case LOAD_YAML_SAFE_CONTROLLER_COORDINATOR:
-            // Set the "load safe yaml" button to be disabled
-            ui->load_safe_yaml_button->setEnabled(false);
-
-            // Start a timer which will enable the button in its callback
-            // > This is required because the agent node waits some time between
-            //   re-loading the values from the YAML file and then assigning then
-            //   to the local variable of the agent.
-            // > Thus we use this timer to prevent the user from clicking the
-            //   button in the GUI repeatedly.
-            m_timer_yaml_file_for_safe_controller = nodeHandle.createTimer(ros::Duration(1.5), &MainWindow::safeYamlFileTimerCallback, this, true);
-
-            break;
-
-        case LOAD_YAML_DEMO_CONTROLLER_AGENT:
-        case LOAD_YAML_DEMO_CONTROLLER_COORDINATOR:
-            // Set the "load demo yaml" button to be disabled
-            ui->load_demo_yaml_button->setEnabled(false);
-
-            // Start a timer which will enable the button in its callback
-            // > This is required because the agent node waits some time between
-            //   re-loading the values from the YAML file and then assigning then
-            //   to the local variable of the agent.
-            // > Thus we use this timer to prevent the user from clicking the
-            //   button in the GUI repeatedly.
-            m_timer_yaml_file_for_demo_controller = nodeHandle.createTimer(ros::Duration(1.5), &MainWindow::demoYamlFileTimerCallback, this, true);    
-
-            break;
-
-        case LOAD_YAML_STUDENT_CONTROLLER_AGENT:
-        case LOAD_YAML_STUDENT_CONTROLLER_COORDINATOR:
-            // Set the "load student yaml" button to be disabled
-            ui->load_student_yaml_button->setEnabled(false);
-
-            // Start a timer which will enable the button in its callback
-            // > This is required because the agent node waits some time between
-            //   re-loading the values from the YAML file and then assigning then
-            //   to the local variable of the agent.
-            // > Thus we use this timer to prevent the user from clicking the
-            //   button in the GUI repeatedly.
-            m_timer_yaml_file_for_student_controller = nodeHandle.createTimer(ros::Duration(1.5), &MainWindow::studentYamlFileTimerCallback, this, true);    
-
-            break;
-
-        case LOAD_YAML_MPC_CONTROLLER_AGENT:
-        case LOAD_YAML_MPC_CONTROLLER_COORDINATOR:
-            // Set the "load mpc yaml" button to be disabled
-            ui->load_mpc_yaml_button->setEnabled(false);
-
-            // Start a timer which will enable the button in its callback
-            // > This is required because the agent node waits some time between
-            //   re-loading the values from the YAML file and then assigning then
-            //   to the local variable of the agent.
-            // > Thus we use this timer to prevent the user from clicking the
-            //   button in the GUI repeatedly.
-            m_timer_yaml_file_for_mpc_controller = nodeHandle.createTimer(ros::Duration(1.5), &MainWindow::mpcYamlFileTimerCallback, this, true);    
-
-            break;
-
-        case LOAD_YAML_REMOTE_CONTROLLER_AGENT:
-        case LOAD_YAML_REMOTE_CONTROLLER_COORDINATOR:
-            // Set the "load remote yaml" button to be disabled
-            ui->load_remote_yaml_button->setEnabled(false);
-
-            // Start a timer which will enable the button in its callback
-            // > This is required because the agent node waits some time between
-            //   re-loading the values from the YAML file and then assigning then
-            //   to the local variable of the agent.
-            // > Thus we use this timer to prevent the user from clicking the
-            //   button in the GUI repeatedly.
-            m_timer_yaml_file_for_remote_controller = nodeHandle.createTimer(ros::Duration(1.5), &MainWindow::remoteYamlFileTimerCallback, this, true);    
-
-            break;
-
-        case LOAD_YAML_TUNING_CONTROLLER_AGENT:
-        case LOAD_YAML_TUNING_CONTROLLER_COORDINATOR:
-            // Set the "load tuning yaml" button to be disabled
-            ui->load_tuning_yaml_button->setEnabled(false);
-
-            // Start a timer which will enable the button in its callback
-            // > This is required because the agent node waits some time between
-            //   re-loading the values from the YAML file and then assigning then
-            //   to the local variable of the agent.
-            // > Thus we use this timer to prevent the user from clicking the
-            //   button in the GUI repeatedly.
-            m_timer_yaml_file_for_tuning_controller = nodeHandle.createTimer(ros::Duration(1.5), &MainWindow::tuningYamlFileTimerCallback, this, true);    
-
-            break;
-
-        case LOAD_YAML_PICKER_CONTROLLER_AGENT:
-        case LOAD_YAML_PICKER_CONTROLLER_COORDINATOR:
-            // Set the "load picker yaml" button to be disabled
-            ui->load_picker_yaml_button->setEnabled(false);
-
-            // Start a timer which will enable the button in its callback
-            // > This is required because the agent node waits some time between
-            //   re-loading the values from the YAML file and then assigning then
-            //   to the local variable of the agent.
-            // > Thus we use this timer to prevent the user from clicking the
-            //   button in the GUI repeatedly.
-            m_timer_yaml_file_for_picker_controller = nodeHandle.createTimer(ros::Duration(1.5), &MainWindow::pickerYamlFileTimerCallback, this, true);    
-
-            break;
-
-        default:
-            ROS_INFO("Unknown 'all controllers to load yaml' command, thus nothing will be disabled");
-            break;
-    }
-}
-
-
-
-
-
-// # Enable controllers
-void MainWindow::on_enable_safe_controller_clicked()
-{
-    std_msgs::Int32 msg;
-    msg.data = CMD_USE_SAFE_CONTROLLER;
-    this->FlyingAgentClientCommandPublisher.publish(msg);
-}
-
-void MainWindow::on_enable_demo_controller_clicked()
-{
-    std_msgs::Int32 msg;
-    msg.data = CMD_USE_DEMO_CONTROLLER;
-    this->FlyingAgentClientCommandPublisher.publish(msg);
-}
-
-void MainWindow::on_enable_student_controller_clicked()
-{
-    std_msgs::Int32 msg;
-    msg.data = CMD_USE_STUDENT_CONTROLLER;
-    this->FlyingAgentClientCommandPublisher.publish(msg);
-}
-
-void MainWindow::on_enable_mpc_controller_clicked()
-{
-    std_msgs::Int32 msg;
-    msg.data = CMD_USE_MPC_CONTROLLER;
-    this->FlyingAgentClientCommandPublisher.publish(msg);
-}
-
-void MainWindow::on_enable_remote_controller_clicked()
-{
-    std_msgs::Int32 msg;
-    msg.data = CMD_USE_REMOTE_CONTROLLER;
-    this->FlyingAgentClientCommandPublisher.publish(msg);
-}
-
-void MainWindow::on_enable_tuning_controller_clicked()
-{
-    std_msgs::Int32 msg;
-    msg.data = CMD_USE_TUNING_CONTROLLER;
-    this->FlyingAgentClientCommandPublisher.publish(msg);
-}
-
-void MainWindow::on_enable_picker_controller_clicked()
-{
-    std_msgs::Int32 msg;
-    msg.data = CMD_USE_PICKER_CONTROLLER;
-    this->FlyingAgentClientCommandPublisher.publish(msg);
-}
-
-
-
-// # Custom command buttons - FOR DEMO CONTROLLER
-void MainWindow::on_demoButton_1_clicked()
-{
-    CustomButton msg_custom_button;
-    msg_custom_button.button_index = 1;
-    msg_custom_button.command_code = 0;
-    this->demoCustomButtonPublisher.publish(msg_custom_button);
-
-    ROS_INFO("Demo button 1 pressed in GUI");
-}
-
-void MainWindow::on_demoButton_2_clicked()
-{
-    CustomButton msg_custom_button;
-    msg_custom_button.button_index = 2;
-    msg_custom_button.command_code = 0;
-    this->demoCustomButtonPublisher.publish(msg_custom_button);
-    ROS_INFO("Demo button 2 pressed in GUI");
-}
-
-void MainWindow::on_demoButton_3_clicked()
-{
-    CustomButton msg_custom_button;
-    msg_custom_button.button_index = 3;
-    msg_custom_button.command_code = (ui->demoField_3->text()).toFloat();
-    this->demoCustomButtonPublisher.publish(msg_custom_button);
-    ROS_INFO("Demo button 3 pressed in GUI");
-}
-
-
-
-
-
-// # Custom command buttons - FOR STUDENT CONTROLLER
-void MainWindow::on_studentButton_1_clicked()
-{
-    CustomButton msg_custom_button;
-    msg_custom_button.button_index = 1;
-    msg_custom_button.command_code = 0;
-    this->studentCustomButtonPublisher.publish(msg_custom_button);
-
-    ROS_INFO("Student button 1 pressed in GUI");
-}
-
-void MainWindow::on_studentButton_2_clicked()
-{
-    CustomButton msg_custom_button;
-    msg_custom_button.button_index = 2;
-    msg_custom_button.command_code = 0;
-    this->studentCustomButtonPublisher.publish(msg_custom_button);
-    ROS_INFO("Student button 2 pressed in GUI");
-}
-
-void MainWindow::on_studentButton_3_clicked()
-{
-    CustomButton msg_custom_button;
-    msg_custom_button.button_index = 3;
-    msg_custom_button.command_code = (ui->studentField_3->text()).toFloat();
-    this->studentCustomButtonPublisher.publish(msg_custom_button);
-    ROS_INFO("Student button 3 pressed in GUI");
-}
-
-
-
-Setpoint MainWindow::correctSetpointBox(Setpoint setpoint, CrazyflieContext context)
-{
-    Setpoint corrected_setpoint;
-    corrected_setpoint =  setpoint;
-
-    float x_size = context.localArea.xmax - context.localArea.xmin;
-    float y_size = context.localArea.ymax - context.localArea.ymin;
-    float z_size = context.localArea.zmax - context.localArea.zmin;
-
-    if(setpoint.x > x_size/2)
-        corrected_setpoint.x = x_size/2;
-    if(setpoint.y > y_size/2)
-        corrected_setpoint.y = y_size/2;
-    if(setpoint.z > z_size)
-        corrected_setpoint.z = z_size;
-
-    if(setpoint.x < -x_size/2)
-        corrected_setpoint.x = -x_size/2;
-    if(setpoint.y < -y_size/2)
-        corrected_setpoint.y = -y_size/2;
-    if(setpoint.z < 0)
-        corrected_setpoint.z = 0;
-
-    return corrected_setpoint;
-}
-
-bool MainWindow::setpointInsideBox(Setpoint setpoint, CrazyflieContext context)
-{
-
-    float x_size = context.localArea.xmax - context.localArea.xmin;
-    float y_size = context.localArea.ymax - context.localArea.ymin;
-    float z_size = context.localArea.zmax - context.localArea.zmin;
-    //position check
-	if((setpoint.x < -x_size/2) or (setpoint.x > x_size/2)) {
-		ROS_INFO_STREAM("x outside safety box");
-		return false;
-	}
-	if((setpoint.y < -y_size/2) or (setpoint.y > y_size/2)) {
-		ROS_INFO_STREAM("y outside safety box");
-		return false;
-	}
-	if((setpoint.z < 0) or (setpoint.z > z_size)) {
-		ROS_INFO_STREAM("z outside safety box");
-		return false;
-	}
-
-	return true;
-}
-
-
-
-
-
-
-
-
-// # Custom buttons for the REMOTE controller service
-void MainWindow::on_remote_subscribe_button_clicked()
-{
-    // Initialise the message
-    ViconSubscribeObjectName msg;
-    // Set the subscribe flag
-    msg.shouldSubscribe = true;
-    // Set the object name
-    msg.objectName = (ui->remote_object_name->text()).toUtf8().constData();
-    // Publish the message
-    this->remoteSubscribePublisher.publish(msg);
-}
-
-void MainWindow::on_remote_unsubscribe_button_clicked()
-{
-    // Initialise the message
-    ViconSubscribeObjectName msg;
-    // Set the subscribe flag
-    msg.shouldSubscribe = false;
-    // Set the object name
-    msg.objectName = (ui->remote_object_name->text()).toUtf8().constData();
-    // Publish the message
-    this->remoteSubscribePublisher.publish(msg);
-}
-
-void MainWindow::on_remote_activate_button_clicked()
-{
-    // Initialise the message
-    std_msgs::Int32 msg;
-    // Set the msg data
-    msg.data = 1;
-    // Publish the message
-    this->remoteActivatePublisher.publish(msg);
-}
-
-void MainWindow::on_remote_deactivate_button_clicked()
-{
-    // Initialise the message
-    std_msgs::Int32 msg;
-    // Set the msg data
-    msg.data = 0;
-    // Publish the message
-    this->remoteActivatePublisher.publish(msg);
-}
-
-void MainWindow::remoteDataCallback(const CrazyflieData& objectData)
-{
-    // Check if the object is occluded
-    if (objectData.occluded)
-    {
-        // Set the column heading label to have a red background
-        // > IMPORTANT: Set the background auto fill property to true
-        ui->remote_data_label->setAutoFillBackground(true);
-        // > Get the pallette currently set for the label
-        QPalette pal = ui->remote_roll_label->palette();
-        // > Set the palette property that will change the background
-        pal.setColor(QPalette::Window, QColor(Qt::red));
-        // > Update the palette for the label
-        ui->remote_data_label->setPalette(pal);
-    }
-    else
-    {
-        // Put the roll, pitch, yaw, and z data into the appropriate fields
-        ui->remote_data_roll ->setText(QString::number( objectData.roll  * RAD2DEG, 'f', 1));
-        ui->remote_data_pitch->setText(QString::number( objectData.pitch * RAD2DEG, 'f', 1));
-        ui->remote_data_yaw  ->setText(QString::number( objectData.yaw   * RAD2DEG, 'f', 1));
-        ui->remote_data_z    ->setText(QString::number( objectData.z,               'f', 2));
-
-        // Set the column heading label to have a "normal" background
-        // > IMPORTANT: Set the background auto fill property to true
-        ui->remote_data_label->setAutoFillBackground(false);
-        // > Get the pallette currently set for the roll label
-        QPalette pal = ui->remote_roll_label->palette();
-        // > Update the palette for the column heading label
-        ui->remote_data_label->setPalette(pal);
-    }
-}
-
-void MainWindow::remoteControlSetpointCallback(const CrazyflieData& setpointData)
-{
-    ui->remote_setpoint_roll ->setText(QString::number( setpointData.roll  * RAD2DEG, 'f', 1));
-    ui->remote_setpoint_pitch->setText(QString::number( setpointData.pitch * RAD2DEG, 'f', 1));
-    ui->remote_setpoint_yaw  ->setText(QString::number( setpointData.yaw   * RAD2DEG, 'f', 1));
-    ui->remote_setpoint_z    ->setText(QString::number( setpointData.z,               'f', 2));
-}
-
-
-
-
-
-
-// TUNING CONTROLLER TAB
-void MainWindow::on_tuning_test_horizontal_button_clicked()
-{
-	// Initialise the message
-    std_msgs::Int32 msg;
-    // Set the msg data
-    msg.data = 1;
-    // Publish the message
-    this->tuningActivateTestPublisher.publish(msg);
-}
-
-void MainWindow::on_tuning_test_vertical_button_clicked()
-{
-	// Initialise the message
-    std_msgs::Int32 msg;
-    // Set the msg data
-    msg.data = 2;
-    // Publish the message
-    this->tuningActivateTestPublisher.publish(msg);
-}
-
-void MainWindow::on_tuning_test_heading_button_clicked()
-{
-	// Initialise the message
-    std_msgs::Int32 msg;
-    // Set the msg data
-    msg.data = 3;
-    // Publish the message
-    this->tuningActivateTestPublisher.publish(msg);
-}
-
-void MainWindow::on_tuning_test_all_button_clicked()
-{
-	// Initialise the message
-    std_msgs::Int32 msg;
-    // Set the msg data
-    msg.data = 4;
-    // Publish the message
-    this->tuningActivateTestPublisher.publish(msg);
-}
-
-void MainWindow::on_tuning_test_circle_button_clicked()
-{
-    // Initialise the message
-    std_msgs::Int32 msg;
-    // Set the msg data
-    msg.data = 5;
-    // Publish the message
-    this->tuningActivateTestPublisher.publish(msg);
-}
-
-void MainWindow::on_tuning_slider_horizontal_valueChanged(int value)
-{
-    // Initialise the message
-    std_msgs::Int32 msg;
-    // Set the msg data
-    msg.data = value;
-    // Publish the message
-    this->tuningHorizontalGainPublisher.publish(msg);
-}
-
-void MainWindow::on_tuning_slider_vertical_valueChanged(int value)
-{
-    // Initialise the message
-    std_msgs::Int32 msg;
-    // Set the msg data
-    msg.data = value;
-    // Publish the message
-    this->tuningVerticalGainPublisher.publish(msg);
-}
-
-void MainWindow::on_tuning_slider_heading_valueChanged(int value)
-{
-    // Initialise the message
-    std_msgs::Int32 msg;
-    // Set the msg data
-    msg.data = value;
-    // Publish the message
-    this->tuningHeadingGainPublisher.publish(msg);
-}
-
-
-
-
-
-
-
-
-
-
-// PICKER CONTROLLER TAB
-
-// > FOR THE BUTTONS
-
-void MainWindow::send_picker_button_clicked_message(int button_index)
-{
-    // Initialise the message
-    std_msgs::Int32 msg;
-    // Set the msg data
-    msg.data = button_index;
-    // Publish the message
-    this->pickerButtonPressedPublisher.publish(msg);
-}
-
-void MainWindow::send_picker_button_clicked_message_with_setpoint(const SetpointV2& setpointV2_to_send)
-{
-    // Publish the message
-    this->pickerButtonPressedWithSetpointPublisher.publish(setpointV2_to_send);
-}
-
-void MainWindow::on_picker_gotostart_button_clicked()
-{
-    if (!shouldSendWithSetpoint_for_pickerButtons)
-    {
-        // Call the function that sends the message
-        send_picker_button_clicked_message(PICKER_BUTTON_GOTOSTART);
-    }
-    else
-    {
-        // Construct the setpoint
-        SetpointV2 msg_setpointV2;
-        msg_setpointV2.buttonID = PICKER_BUTTON_GOTOSTART;
-        msg_setpointV2.isChecked = ui->picker_gotostart_checkBox->isChecked();
-        msg_setpointV2.x = 0.0;
-        msg_setpointV2.y = 0.0;
-        msg_setpointV2.z = 0.0;
-        msg_setpointV2.yaw = 0.0;
-        // Get the (x,y,z) coordinates from the GUI
-        if(!ui->picker_gotostart_x->text().isEmpty())
-            msg_setpointV2.x = (ui->picker_gotostart_x->text()).toFloat();
-        if(!ui->picker_gotostart_y->text().isEmpty())
-            msg_setpointV2.y = (ui->picker_gotostart_y->text()).toFloat();
-        if(!ui->picker_gotostart_z->text().isEmpty())
-            msg_setpointV2.z = (ui->picker_gotostart_z->text()).toFloat();
-        // Update the z slider in the GUI
-        ui->picker_z_slider->setValue( int((msg_setpointV2.z+0.005)*100.0) );
-        // Call the function that sends the message
-        send_picker_button_clicked_message_with_setpoint(msg_setpointV2);
-    }
-}
-void MainWindow::on_picker_attach_button_clicked()
-{
-    if (!shouldSendWithSetpoint_for_pickerButtons)
-    {
-        // Call the function that sends the message
-        send_picker_button_clicked_message(PICKER_BUTTON_ATTACH);
-    }
-    else
-    {
-        // Construct the setpoint
-        SetpointV2 msg_setpointV2;
-        msg_setpointV2.buttonID = PICKER_BUTTON_ATTACH;
-        msg_setpointV2.isChecked = ui->picker_attach_checkBox->isChecked();;
-        msg_setpointV2.x = 0.0;
-        msg_setpointV2.y = 0.0;
-        msg_setpointV2.z = 0.0;
-        msg_setpointV2.yaw = 0.0;
-        // Get the z coordinates from the GUI
-        if(!ui->picker_attach_z->text().isEmpty())
-            msg_setpointV2.z = (ui->picker_attach_z->text()).toFloat();
-        // Update the z slider in the GUI
-        ui->picker_z_slider->setValue( int((msg_setpointV2.z+0.005)*100.0) );
-        // Call the function that sends the message
-        send_picker_button_clicked_message_with_setpoint(msg_setpointV2);
-    }
-}
-void MainWindow::on_picker_pickup_button_clicked()
-{
-    if (!shouldSendWithSetpoint_for_pickerButtons)
-    {
-        // Call the function that sends the message
-        send_picker_button_clicked_message(PICKER_BUTTON_PICKUP);
-    }
-    else
-    {
-        // Construct the setpoint
-        SetpointV2 msg_setpointV2;
-        msg_setpointV2.buttonID = PICKER_BUTTON_PICKUP;
-        msg_setpointV2.isChecked = ui->picker_pickup_checkBox->isChecked();;
-        msg_setpointV2.x = 0.0;
-        msg_setpointV2.y = 0.0;
-        msg_setpointV2.z = 0.0;
-        msg_setpointV2.yaw = 0.0;
-        // Get the z coordinates from the GUI
-        if(!ui->picker_pickup_z->text().isEmpty())
-            msg_setpointV2.z = (ui->picker_pickup_z->text()).toFloat();
-        // Update the z slider in the GUI
-        ui->picker_z_slider->setValue( int((msg_setpointV2.z+0.005)*100.0) );
-        // Call the function that sends the message
-        send_picker_button_clicked_message_with_setpoint(msg_setpointV2);
-    }
-}
-void MainWindow::on_picker_gotoend_button_clicked()
-{
-    if (!shouldSendWithSetpoint_for_pickerButtons)
-    {
-        // Call the function that sends the message
-        send_picker_button_clicked_message(PICKER_BUTTON_GOTOEND);
-    }
-    else
-    {
-        // Construct the setpoint
-        SetpointV2 msg_setpointV2;
-        msg_setpointV2.buttonID = PICKER_BUTTON_GOTOEND;
-        msg_setpointV2.isChecked = ui->picker_gotoend_checkBox->isChecked();;
-        msg_setpointV2.x = 0.0;
-        msg_setpointV2.y = 0.0;
-        msg_setpointV2.z = 0.0;
-        msg_setpointV2.yaw = 0.0;
-        // Get the (x,y) coordinates from the GUI
-        if(!ui->picker_gotoend_x->text().isEmpty())
-            msg_setpointV2.x = (ui->picker_gotoend_x->text()).toFloat();
-        if(!ui->picker_gotoend_y->text().isEmpty())
-            msg_setpointV2.y = (ui->picker_gotoend_y->text()).toFloat();
-        // Call the function that sends the message
-        send_picker_button_clicked_message_with_setpoint(msg_setpointV2);
-    }
-}
-void MainWindow::on_picker_putdown_button_clicked()
-{
-    if (!shouldSendWithSetpoint_for_pickerButtons)
-    {
-        // Call the function that sends the message
-        send_picker_button_clicked_message(PICKER_BUTTON_PUTDOWN);
-    }
-    else
-    {
-        // Construct the setpoint
-        SetpointV2 msg_setpointV2;
-        msg_setpointV2.buttonID = PICKER_BUTTON_PUTDOWN;
-        msg_setpointV2.isChecked = ui->picker_putdown_checkBox->isChecked();;
-        msg_setpointV2.x = 0.0;
-        msg_setpointV2.y = 0.0;
-        msg_setpointV2.z = 0.0;
-        msg_setpointV2.yaw = 0.0;
-        // Get the z coordinates from the GUI
-        if(!ui->picker_putdown_z->text().isEmpty())
-            msg_setpointV2.z = (ui->picker_putdown_z->text()).toFloat();
-        // Update the z slider in the GUI
-        ui->picker_z_slider->setValue( int((msg_setpointV2.z+0.005)*100.0) );
-        // Call the function that sends the message
-        send_picker_button_clicked_message_with_setpoint(msg_setpointV2);
-    }
-}
-void MainWindow::on_picker_squat_button_clicked()
-{
-    if (!shouldSendWithSetpoint_for_pickerButtons)
-    {
-        // Call the function that sends the message
-        send_picker_button_clicked_message(PICKER_BUTTON_SQUAT);
-    }
-    else
-    {
-        // Construct the setpoint
-        SetpointV2 msg_setpointV2;
-        msg_setpointV2.buttonID = PICKER_BUTTON_SQUAT;
-        msg_setpointV2.isChecked = ui->picker_squat_checkBox->isChecked();;
-        msg_setpointV2.x = 0.0;
-        msg_setpointV2.y = 0.0;
-        msg_setpointV2.z = 0.0;
-        msg_setpointV2.yaw = 0.0;
-        // Get the z coordinates from the GUI
-        if(!ui->picker_squat_z->text().isEmpty())
-            msg_setpointV2.z = (ui->picker_squat_z->text()).toFloat();
-        // Update the z slider in the GUI
-        ui->picker_z_slider->setValue( int((msg_setpointV2.z+0.005)*100.0) );
-        // Call the function that sends the message
-        send_picker_button_clicked_message_with_setpoint(msg_setpointV2);
-    }
-}
-void MainWindow::on_picker_jump_button_clicked()
-{
-    if (!shouldSendWithSetpoint_for_pickerButtons)
-    {
-        // Call the function that sends the message
-        send_picker_button_clicked_message(PICKER_BUTTON_JUMP);
-    }
-    else
-    {
-        // Construct the setpoint
-        SetpointV2 msg_setpointV2;
-        msg_setpointV2.buttonID = PICKER_BUTTON_JUMP;
-        msg_setpointV2.isChecked = ui->picker_jump_checkBox->isChecked();;
-        msg_setpointV2.x = 0.0;
-        msg_setpointV2.y = 0.0;
-        msg_setpointV2.z = 0.0;
-        msg_setpointV2.yaw = 0.0;
-        // Get the z coordinates from the GUI
-        if(!ui->picker_jump_z->text().isEmpty())
-            msg_setpointV2.z = (ui->picker_jump_z->text()).toFloat();
-        // Update the z slider in the GUI
-        ui->picker_z_slider->setValue( int((msg_setpointV2.z+0.005)*100.0) );
-        // Call the function that sends the message
-        send_picker_button_clicked_message_with_setpoint(msg_setpointV2);
-    }
-}
-void MainWindow::on_picker_1_button_clicked()
-{
-    if (!shouldSendWithSetpoint_for_pickerButtons)
-    {
-        // Call the function that sends the message
-        send_picker_button_clicked_message(PICKER_BUTTON_1);
-    }
-    else
-    {
-        // Construct the setpoint
-        SetpointV2 msg_setpointV2;
-        msg_setpointV2.buttonID = PICKER_BUTTON_1;
-        msg_setpointV2.isChecked = true;
-        msg_setpointV2.x = 0.0;
-        msg_setpointV2.y = 0.0;
-        msg_setpointV2.z = 0.0;
-        msg_setpointV2.yaw = 0.0;
-        // Call the function that sends the message
-        send_picker_button_clicked_message_with_setpoint(msg_setpointV2);
-    }
-}
-void MainWindow::on_picker_2_button_clicked()
-{
-    if (!shouldSendWithSetpoint_for_pickerButtons)
-    {
-        // Call the function that sends the message
-        send_picker_button_clicked_message(PICKER_BUTTON_2);
-    }
-    else
-    {
-        // Construct the setpoint
-        SetpointV2 msg_setpointV2;
-        msg_setpointV2.buttonID = PICKER_BUTTON_2;
-        msg_setpointV2.isChecked = true;
-        msg_setpointV2.x = 0.0;
-        msg_setpointV2.y = 0.0;
-        msg_setpointV2.z = 0.0;
-        msg_setpointV2.yaw = 0.0;
-        // Call the function that sends the message
-        send_picker_button_clicked_message_with_setpoint(msg_setpointV2);
-    }
-}
-void MainWindow::on_picker_3_button_clicked()
-{
-    if (!shouldSendWithSetpoint_for_pickerButtons)
-    {
-        // Call the function that sends the message
-        send_picker_button_clicked_message(PICKER_BUTTON_3);
-    }
-    else
-    {
-        // Construct the setpoint
-        SetpointV2 msg_setpointV2;
-        msg_setpointV2.buttonID = PICKER_BUTTON_3;
-        msg_setpointV2.isChecked = true;
-        msg_setpointV2.x = 0.0;
-        msg_setpointV2.y = 0.0;
-        msg_setpointV2.z = 0.0;
-        msg_setpointV2.yaw = 0.0;
-        // Call the function that sends the message
-        send_picker_button_clicked_message_with_setpoint(msg_setpointV2);
-    }
-}
-void MainWindow::on_picker_4_button_clicked()
-{
-    if (!shouldSendWithSetpoint_for_pickerButtons)
-    {
-        // Call the function that sends the message
-        send_picker_button_clicked_message(PICKER_BUTTON_4);
-    }
-    else
-    {
-        // Construct the setpoint
-        SetpointV2 msg_setpointV2;
-        msg_setpointV2.buttonID = PICKER_BUTTON_4;
-        msg_setpointV2.isChecked = true;
-        msg_setpointV2.x = 0.0;
-        msg_setpointV2.y = 0.0;
-        msg_setpointV2.z = 0.0;
-        msg_setpointV2.yaw = 0.0;
-        // Call the function that sends the message
-        send_picker_button_clicked_message_with_setpoint(msg_setpointV2);
-    }
-}
-
-
-
-// > FOR THE SLIDERS AND DIAL
-
-void MainWindow::on_picker_x_slider_valueChanged(int value)
-{
-    // Initialise the message
-    std_msgs::Float32 msg;
-    // Set the msg data
-    msg.data = float(value) / 100.0f;
-    // Publish the message
-    this->pickerXAdjustmentPublisher.publish(msg);
-}
-void MainWindow::on_picker_y_slider_valueChanged(int value)
-{
-    // Initialise the message
-    std_msgs::Float32 msg;
-    // Set the msg data
-    msg.data = float(value) / 100.0f;
-    // Publish the message
-    this->pickerYAdjustmentPublisher.publish(msg);
-}
-void MainWindow::on_picker_z_slider_valueChanged(int value)
-{
-    ROS_INFO_STREAM("[Student GUI] z slider int value " << value );
-    // Initialise the message
-    std_msgs::Float32 msg;
-    // Set the msg data
-    msg.data = float(value) / 100.0f;
-    // Publish the message
-    this->pickerZSetpointPublisher.publish(msg);
-}
-void MainWindow::on_picker_mass_slider_valueChanged(int value)
-{
-    // Initialise the message
-    std_msgs::Float32 msg;
-    // Set the msg data
-    msg.data = float(value);
-    // Publish the message
-    this->pickerMassPublisher.publish(msg);
-}
-void MainWindow::on_picker_yaw_dial_valueChanged(int value)
-{
-    // Initialise the message
-    std_msgs::Float32 msg;
-    // Set the msg data
-    msg.data = float(value) * DEG2RAD;
-    // Publish the message
-    this->pickerYawSetpointPublisher.publish(msg);
-}
-
-
-
diff --git a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/src/MainWindow.ui b/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/src/MainWindow.ui
deleted file mode 100644
index 7890bdbb..00000000
--- a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/src/MainWindow.ui
+++ /dev/null
@@ -1,5238 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>MainWindow</class>
- <widget class="QMainWindow" name="MainWindow">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>1500</width>
-    <height>1000</height>
-   </rect>
-  </property>
-  <property name="sizePolicy">
-   <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-    <horstretch>0</horstretch>
-    <verstretch>0</verstretch>
-   </sizepolicy>
-  </property>
-  <property name="maximumSize">
-   <size>
-    <width>1500</width>
-    <height>1000</height>
-   </size>
-  </property>
-  <property name="windowTitle">
-   <string>MainWindow</string>
-  </property>
-  <widget class="QWidget" name="centralWidget">
-   <layout class="QGridLayout" name="gridLayout">
-    <item row="1" column="1">
-     <layout class="QVBoxLayout" name="verticalLayout_4">
-      <property name="leftMargin">
-       <number>6</number>
-      </property>
-      <property name="topMargin">
-       <number>6</number>
-      </property>
-      <property name="rightMargin">
-       <number>6</number>
-      </property>
-      <property name="bottomMargin">
-       <number>6</number>
-      </property>
-      <item>
-       <widget class="QGroupBox" name="groupBox">
-        <property name="sizePolicy">
-         <sizepolicy hsizetype="MinimumExpanding" vsizetype="Minimum">
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="font">
-         <font>
-          <pointsize>18</pointsize>
-          <weight>50</weight>
-          <bold>false</bold>
-         </font>
-        </property>
-        <property name="title">
-         <string>StudentID # connected to CF #</string>
-        </property>
-        <property name="alignment">
-         <set>Qt::AlignCenter</set>
-        </property>
-        <layout class="QGridLayout" name="gridLayout_2"/>
-       </widget>
-      </item>
-      <item>
-       <widget class="Line" name="line_9">
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <layout class="QHBoxLayout" name="horizontalLayout">
-        <property name="sizeConstraint">
-         <enum>QLayout::SetMaximumSize</enum>
-        </property>
-        <property name="leftMargin">
-         <number>6</number>
-        </property>
-        <property name="topMargin">
-         <number>6</number>
-        </property>
-        <property name="rightMargin">
-         <number>6</number>
-        </property>
-        <property name="bottomMargin">
-         <number>6</number>
-        </property>
-        <item>
-         <widget class="QPushButton" name="RF_disconnect_button">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>180</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>750</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="font">
-           <font>
-            <pointsize>16</pointsize>
-           </font>
-          </property>
-          <property name="text">
-           <string>Disconnect</string>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="rf_status_label">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>95</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>95</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="text">
-           <string/>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QPushButton" name="RF_Connect_button">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>180</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>750</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="font">
-           <font>
-            <pointsize>16</pointsize>
-           </font>
-          </property>
-          <property name="text">
-           <string>Connect</string>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLineEdit" name="voltage_field">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>100</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>100</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="font">
-           <font>
-            <pointsize>16</pointsize>
-           </font>
-          </property>
-          <property name="readOnly">
-           <bool>true</bool>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="battery_status_label">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>50</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>50</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="font">
-           <font>
-            <pointsize>16</pointsize>
-            <italic>true</italic>
-           </font>
-          </property>
-          <property name="text">
-           <string/>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QPushButton" name="take_off_button">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>180</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>750</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="font">
-           <font>
-            <pointsize>16</pointsize>
-           </font>
-          </property>
-          <property name="text">
-           <string>Take Off</string>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QPushButton" name="land_button">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>180</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>750</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="font">
-           <font>
-            <pointsize>16</pointsize>
-           </font>
-          </property>
-          <property name="text">
-           <string>Land</string>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="flying_state_label">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>90</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>90</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="font">
-           <font>
-            <pointsize>16</pointsize>
-           </font>
-          </property>
-          <property name="text">
-           <string/>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QPushButton" name="motors_OFF_button">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>180</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>750</width>
-            <height>70</height>
-           </size>
-          </property>
-          <property name="font">
-           <font>
-            <pointsize>16</pointsize>
-            <weight>75</weight>
-            <bold>true</bold>
-           </font>
-          </property>
-          <property name="text">
-           <string>Motors OFF</string>
-          </property>
-         </widget>
-        </item>
-       </layout>
-      </item>
-      <item>
-       <widget class="Line" name="line_8">
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <layout class="QHBoxLayout" name="horizontalLayout_8">
-        <property name="leftMargin">
-         <number>6</number>
-        </property>
-        <property name="topMargin">
-         <number>6</number>
-        </property>
-        <property name="rightMargin">
-         <number>6</number>
-        </property>
-        <property name="bottomMargin">
-         <number>6</number>
-        </property>
-        <item>
-         <widget class="QTabWidget" name="tabWidget">
-          <property name="font">
-           <font>
-            <pointsize>16</pointsize>
-           </font>
-          </property>
-          <property name="currentIndex">
-           <number>3</number>
-          </property>
-          <property name="usesScrollButtons">
-           <bool>true</bool>
-          </property>
-          <property name="tabsClosable">
-           <bool>false</bool>
-          </property>
-          <widget class="QWidget" name="tab_safe">
-           <property name="sizePolicy">
-            <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
-             <horstretch>0</horstretch>
-             <verstretch>0</verstretch>
-            </sizepolicy>
-           </property>
-           <property name="font">
-            <font>
-             <pointsize>14</pointsize>
-            </font>
-           </property>
-           <attribute name="title">
-            <string>   Safe   </string>
-           </attribute>
-           <layout class="QGridLayout" name="gridLayout_5">
-            <item row="0" column="0">
-             <widget class="QGroupBox" name="groupBox_2">
-              <property name="title">
-               <string/>
-              </property>
-              <layout class="QGridLayout" name="gridLayout_3">
-               <item row="6" column="1">
-                <widget class="QLineEdit" name="current_roll_safe">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="readOnly">
-                  <bool>true</bool>
-                 </property>
-                </widget>
-               </item>
-               <item row="2" column="1">
-                <widget class="QLineEdit" name="current_y_safe">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="readOnly">
-                  <bool>true</bool>
-                 </property>
-                </widget>
-               </item>
-               <item row="4" column="1">
-                <widget class="QLineEdit" name="current_yaw_safe">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="readOnly">
-                  <bool>true</bool>
-                 </property>
-                </widget>
-               </item>
-               <item row="3" column="1">
-                <widget class="QLineEdit" name="current_z_safe">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="readOnly">
-                  <bool>true</bool>
-                 </property>
-                </widget>
-               </item>
-               <item row="1" column="0">
-                <widget class="QLabel" name="current_x_label">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="text">
-                  <string>x [m] =</string>
-                 </property>
-                </widget>
-               </item>
-               <item row="3" column="0">
-                <widget class="QLabel" name="current_z_label">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="text">
-                  <string>z [m] =</string>
-                 </property>
-                </widget>
-               </item>
-               <item row="2" column="0">
-                <widget class="QLabel" name="current_y_label">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="text">
-                  <string>y [m] =</string>
-                 </property>
-                </widget>
-               </item>
-               <item row="4" column="0">
-                <widget class="QLabel" name="current_yaw_label">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="text">
-                  <string>yaw [deg] = </string>
-                 </property>
-                </widget>
-               </item>
-               <item row="1" column="1">
-                <widget class="QLineEdit" name="current_x_safe">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="readOnly">
-                  <bool>true</bool>
-                 </property>
-                </widget>
-               </item>
-               <item row="5" column="0">
-                <widget class="QLabel" name="current_pitch_label">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="text">
-                  <string>pitch [deg] =</string>
-                 </property>
-                </widget>
-               </item>
-               <item row="6" column="0">
-                <widget class="QLabel" name="current_roll_label">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="text">
-                  <string>roll [deg] =</string>
-                 </property>
-                </widget>
-               </item>
-               <item row="5" column="1">
-                <widget class="QLineEdit" name="current_pitch_safe">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="readOnly">
-                  <bool>true</bool>
-                 </property>
-                </widget>
-               </item>
-               <item row="0" column="1">
-                <widget class="QLabel" name="label_4">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="text">
-                  <string>Current</string>
-                 </property>
-                 <property name="alignment">
-                  <set>Qt::AlignCenter</set>
-                 </property>
-                </widget>
-               </item>
-               <item row="1" column="2">
-                <widget class="QLineEdit" name="diff_x_safe">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="readOnly">
-                  <bool>true</bool>
-                 </property>
-                </widget>
-               </item>
-               <item row="2" column="2">
-                <widget class="QLineEdit" name="diff_y_safe">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="readOnly">
-                  <bool>true</bool>
-                 </property>
-                </widget>
-               </item>
-               <item row="3" column="2">
-                <widget class="QLineEdit" name="diff_z_safe">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="readOnly">
-                  <bool>true</bool>
-                 </property>
-                </widget>
-               </item>
-               <item row="4" column="2">
-                <widget class="QLineEdit" name="diff_yaw_safe">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="readOnly">
-                  <bool>true</bool>
-                 </property>
-                </widget>
-               </item>
-               <item row="0" column="2">
-                <widget class="QLabel" name="label_5">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="text">
-                  <string>Difference</string>
-                 </property>
-                 <property name="alignment">
-                  <set>Qt::AlignCenter</set>
-                 </property>
-                </widget>
-               </item>
-              </layout>
-             </widget>
-            </item>
-            <item row="0" column="1">
-             <widget class="QGroupBox" name="groupBox_3">
-              <property name="title">
-               <string/>
-              </property>
-              <layout class="QGridLayout" name="gridLayout_4">
-               <item row="2" column="2">
-                <widget class="QLineEdit" name="new_setpoint_y_safe">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                </widget>
-               </item>
-               <item row="4" column="2">
-                <widget class="QLineEdit" name="new_setpoint_yaw_safe">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                </widget>
-               </item>
-               <item row="1" column="2">
-                <widget class="QLineEdit" name="new_setpoint_x_safe">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                </widget>
-               </item>
-               <item row="2" column="1">
-                <widget class="QLineEdit" name="current_setpoint_y_safe">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="readOnly">
-                  <bool>true</bool>
-                 </property>
-                </widget>
-               </item>
-               <item row="1" column="1">
-                <widget class="QLineEdit" name="current_setpoint_x_safe">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="readOnly">
-                  <bool>true</bool>
-                 </property>
-                </widget>
-               </item>
-               <item row="4" column="0">
-                <widget class="QLabel" name="label_11">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="text">
-                  <string>yaw [deg] =</string>
-                 </property>
-                </widget>
-               </item>
-               <item row="0" column="1">
-                <widget class="QLabel" name="label_12">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="text">
-                  <string>Current</string>
-                 </property>
-                 <property name="alignment">
-                  <set>Qt::AlignCenter</set>
-                 </property>
-                </widget>
-               </item>
-               <item row="1" column="0">
-                <widget class="QLabel" name="label_7">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="text">
-                  <string>x [m] =</string>
-                 </property>
-                </widget>
-               </item>
-               <item row="3" column="1">
-                <widget class="QLineEdit" name="current_setpoint_z_safe">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="readOnly">
-                  <bool>true</bool>
-                 </property>
-                </widget>
-               </item>
-               <item row="3" column="0">
-                <widget class="QLabel" name="label_9">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="text">
-                  <string>z [m] =</string>
-                 </property>
-                </widget>
-               </item>
-               <item row="2" column="0">
-                <widget class="QLabel" name="label_8">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="text">
-                  <string>y [m] =</string>
-                 </property>
-                </widget>
-               </item>
-               <item row="4" column="1">
-                <widget class="QLineEdit" name="current_setpoint_yaw_safe">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="readOnly">
-                  <bool>true</bool>
-                 </property>
-                </widget>
-               </item>
-               <item row="5" column="2">
-                <widget class="QPushButton" name="set_setpoint_button_safe">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="text">
-                  <string>Set setpoint</string>
-                 </property>
-                </widget>
-               </item>
-               <item row="3" column="2">
-                <widget class="QLineEdit" name="new_setpoint_z_safe">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                </widget>
-               </item>
-               <item row="0" column="0">
-                <widget class="QLabel" name="label_3">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="text">
-                  <string>Setpoint:</string>
-                 </property>
-                </widget>
-               </item>
-               <item row="0" column="2">
-                <widget class="QLabel" name="label_13">
-                 <property name="sizePolicy">
-                  <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                   <horstretch>0</horstretch>
-                   <verstretch>0</verstretch>
-                  </sizepolicy>
-                 </property>
-                 <property name="font">
-                  <font>
-                   <pointsize>14</pointsize>
-                  </font>
-                 </property>
-                 <property name="text">
-                  <string>New</string>
-                 </property>
-                 <property name="alignment">
-                  <set>Qt::AlignCenter</set>
-                 </property>
-                </widget>
-               </item>
-               <item row="5" column="1">
-                <widget class="QLabel" name="error_label">
-                 <property name="text">
-                  <string/>
-                 </property>
-                </widget>
-               </item>
-              </layout>
-             </widget>
-            </item>
-           </layout>
-          </widget>
-          <widget class="QWidget" name="tab_picker">
-           <attribute name="title">
-            <string>Picker</string>
-           </attribute>
-           <layout class="QGridLayout" name="gridLayout_19">
-            <item row="0" column="0">
-             <layout class="QGridLayout" name="gridLayout_18">
-              <property name="leftMargin">
-               <number>6</number>
-              </property>
-              <property name="topMargin">
-               <number>6</number>
-              </property>
-              <property name="rightMargin">
-               <number>6</number>
-              </property>
-              <property name="bottomMargin">
-               <number>6</number>
-              </property>
-              <item row="0" column="2">
-               <layout class="QHBoxLayout" name="horizontalLayout_2">
-                <property name="leftMargin">
-                 <number>6</number>
-                </property>
-                <property name="topMargin">
-                 <number>6</number>
-                </property>
-                <property name="rightMargin">
-                 <number>6</number>
-                </property>
-                <property name="bottomMargin">
-                 <number>6</number>
-                </property>
-                <item>
-                 <layout class="QVBoxLayout" name="verticalLayout_5">
-                  <property name="leftMargin">
-                   <number>6</number>
-                  </property>
-                  <property name="topMargin">
-                   <number>6</number>
-                  </property>
-                  <property name="rightMargin">
-                   <number>6</number>
-                  </property>
-                  <property name="bottomMargin">
-                   <number>6</number>
-                  </property>
-                  <item>
-                   <widget class="QLabel" name="label_47">
-                    <property name="text">
-                     <string>Yaw</string>
-                    </property>
-                    <property name="alignment">
-                     <set>Qt::AlignCenter</set>
-                    </property>
-                   </widget>
-                  </item>
-                  <item>
-                   <widget class="QLabel" name="label_54">
-                    <property name="font">
-                     <font>
-                      <family>Courier</family>
-                     </font>
-                    </property>
-                    <property name="text">
-                     <string>+ve x-axis</string>
-                    </property>
-                    <property name="alignment">
-                     <set>Qt::AlignCenter</set>
-                    </property>
-                   </widget>
-                  </item>
-                  <item>
-                   <widget class="QDial" name="picker_yaw_dial">
-                    <property name="sizePolicy">
-                     <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
-                      <horstretch>0</horstretch>
-                      <verstretch>0</verstretch>
-                     </sizepolicy>
-                    </property>
-                    <property name="minimum">
-                     <number>-180</number>
-                    </property>
-                    <property name="maximum">
-                     <number>180</number>
-                    </property>
-                    <property name="singleStep">
-                     <number>5</number>
-                    </property>
-                    <property name="pageStep">
-                     <number>15</number>
-                    </property>
-                    <property name="value">
-                     <number>0</number>
-                    </property>
-                    <property name="sliderPosition">
-                     <number>0</number>
-                    </property>
-                    <property name="tracking">
-                     <bool>false</bool>
-                    </property>
-                    <property name="wrapping">
-                     <bool>true</bool>
-                    </property>
-                    <property name="notchTarget">
-                     <double>6.000000000000000</double>
-                    </property>
-                    <property name="notchesVisible">
-                     <bool>true</bool>
-                    </property>
-                   </widget>
-                  </item>
-                  <item>
-                   <widget class="QLabel" name="label_55">
-                    <property name="font">
-                     <font>
-                      <family>Courier</family>
-                     </font>
-                    </property>
-                    <property name="text">
-                     <string>-ve x-axis</string>
-                    </property>
-                    <property name="alignment">
-                     <set>Qt::AlignCenter</set>
-                    </property>
-                   </widget>
-                  </item>
-                 </layout>
-                </item>
-                <item>
-                 <layout class="QVBoxLayout" name="verticalLayout_6">
-                  <property name="leftMargin">
-                   <number>6</number>
-                  </property>
-                  <property name="topMargin">
-                   <number>6</number>
-                  </property>
-                  <property name="rightMargin">
-                   <number>6</number>
-                  </property>
-                  <property name="bottomMargin">
-                   <number>6</number>
-                  </property>
-                  <item>
-                   <widget class="QLabel" name="label_48">
-                    <property name="text">
-                     <string>z</string>
-                    </property>
-                    <property name="alignment">
-                     <set>Qt::AlignCenter</set>
-                    </property>
-                   </widget>
-                  </item>
-                  <item>
-                   <widget class="QLabel" name="label_51">
-                    <property name="font">
-                     <font>
-                      <family>Courier</family>
-                     </font>
-                    </property>
-                    <property name="text">
-                     <string>1.0</string>
-                    </property>
-                    <property name="alignment">
-                     <set>Qt::AlignCenter</set>
-                    </property>
-                   </widget>
-                  </item>
-                  <item>
-                   <layout class="QHBoxLayout" name="horizontalLayout_9">
-                    <property name="leftMargin">
-                     <number>6</number>
-                    </property>
-                    <property name="topMargin">
-                     <number>6</number>
-                    </property>
-                    <property name="rightMargin">
-                     <number>6</number>
-                    </property>
-                    <property name="bottomMargin">
-                     <number>6</number>
-                    </property>
-                    <item>
-                     <widget class="QSlider" name="picker_z_slider">
-                      <property name="maximum">
-                       <number>100</number>
-                      </property>
-                      <property name="singleStep">
-                       <number>1</number>
-                      </property>
-                      <property name="pageStep">
-                       <number>2</number>
-                      </property>
-                      <property name="tracking">
-                       <bool>false</bool>
-                      </property>
-                      <property name="orientation">
-                       <enum>Qt::Vertical</enum>
-                      </property>
-                      <property name="invertedAppearance">
-                       <bool>false</bool>
-                      </property>
-                      <property name="invertedControls">
-                       <bool>false</bool>
-                      </property>
-                      <property name="tickPosition">
-                       <enum>QSlider::TicksBothSides</enum>
-                      </property>
-                      <property name="tickInterval">
-                       <number>10</number>
-                      </property>
-                     </widget>
-                    </item>
-                   </layout>
-                  </item>
-                  <item>
-                   <widget class="QLabel" name="label_50">
-                    <property name="font">
-                     <font>
-                      <family>Courier</family>
-                     </font>
-                    </property>
-                    <property name="text">
-                     <string>0.0</string>
-                    </property>
-                    <property name="alignment">
-                     <set>Qt::AlignCenter</set>
-                    </property>
-                   </widget>
-                  </item>
-                 </layout>
-                </item>
-                <item>
-                 <layout class="QVBoxLayout" name="verticalLayout_7">
-                  <property name="leftMargin">
-                   <number>6</number>
-                  </property>
-                  <property name="topMargin">
-                   <number>6</number>
-                  </property>
-                  <property name="rightMargin">
-                   <number>6</number>
-                  </property>
-                  <property name="bottomMargin">
-                   <number>6</number>
-                  </property>
-                  <item>
-                   <widget class="QLabel" name="label_49">
-                    <property name="text">
-                     <string>Mass</string>
-                    </property>
-                   </widget>
-                  </item>
-                  <item>
-                   <widget class="QLabel" name="label_53">
-                    <property name="font">
-                     <font>
-                      <family>Courier</family>
-                     </font>
-                    </property>
-                    <property name="text">
-                     <string>38</string>
-                    </property>
-                    <property name="alignment">
-                     <set>Qt::AlignCenter</set>
-                    </property>
-                   </widget>
-                  </item>
-                  <item>
-                   <layout class="QHBoxLayout" name="horizontalLayout_11">
-                    <property name="leftMargin">
-                     <number>6</number>
-                    </property>
-                    <property name="topMargin">
-                     <number>6</number>
-                    </property>
-                    <property name="rightMargin">
-                     <number>6</number>
-                    </property>
-                    <property name="bottomMargin">
-                     <number>6</number>
-                    </property>
-                    <item>
-                     <widget class="QSlider" name="picker_mass_slider">
-                      <property name="minimum">
-                       <number>28</number>
-                      </property>
-                      <property name="maximum">
-                       <number>38</number>
-                      </property>
-                      <property name="pageStep">
-                       <number>1</number>
-                      </property>
-                      <property name="tracking">
-                       <bool>false</bool>
-                      </property>
-                      <property name="orientation">
-                       <enum>Qt::Vertical</enum>
-                      </property>
-                      <property name="tickPosition">
-                       <enum>QSlider::TicksBothSides</enum>
-                      </property>
-                      <property name="tickInterval">
-                       <number>1</number>
-                      </property>
-                     </widget>
-                    </item>
-                   </layout>
-                  </item>
-                  <item>
-                   <widget class="QLabel" name="label_52">
-                    <property name="font">
-                     <font>
-                      <family>Courier</family>
-                     </font>
-                    </property>
-                    <property name="text">
-                     <string>28</string>
-                    </property>
-                    <property name="alignment">
-                     <set>Qt::AlignCenter</set>
-                    </property>
-                   </widget>
-                  </item>
-                 </layout>
-                </item>
-               </layout>
-              </item>
-              <item row="1" column="0">
-               <layout class="QVBoxLayout" name="verticalLayout_8">
-                <property name="leftMargin">
-                 <number>6</number>
-                </property>
-                <property name="topMargin">
-                 <number>6</number>
-                </property>
-                <property name="rightMargin">
-                 <number>6</number>
-                </property>
-                <property name="bottomMargin">
-                 <number>6</number>
-                </property>
-                <item>
-                 <widget class="QPushButton" name="picker_1_button">
-                  <property name="text">
-                   <string>Button 1</string>
-                  </property>
-                 </widget>
-                </item>
-                <item>
-                 <widget class="QPushButton" name="picker_2_button">
-                  <property name="text">
-                   <string>Button 2</string>
-                  </property>
-                 </widget>
-                </item>
-                <item>
-                 <widget class="QPushButton" name="picker_3_button">
-                  <property name="text">
-                   <string>Button 3</string>
-                  </property>
-                 </widget>
-                </item>
-                <item>
-                 <widget class="QPushButton" name="picker_4_button">
-                  <property name="text">
-                   <string>Button 4</string>
-                  </property>
-                 </widget>
-                </item>
-               </layout>
-              </item>
-              <item row="1" column="2">
-               <layout class="QVBoxLayout" name="verticalLayout_9">
-                <item>
-                 <widget class="QLabel" name="label_56">
-                  <property name="text">
-                   <string>x-axis adjustment</string>
-                  </property>
-                 </widget>
-                </item>
-                <item>
-                 <layout class="QHBoxLayout" name="horizontalLayout_12">
-                  <property name="leftMargin">
-                   <number>6</number>
-                  </property>
-                  <property name="topMargin">
-                   <number>6</number>
-                  </property>
-                  <property name="rightMargin">
-                   <number>6</number>
-                  </property>
-                  <property name="bottomMargin">
-                   <number>6</number>
-                  </property>
-                  <item>
-                   <widget class="QLabel" name="label_60">
-                    <property name="font">
-                     <font>
-                      <family>Courier</family>
-                     </font>
-                    </property>
-                    <property name="text">
-                     <string>-0.1</string>
-                    </property>
-                    <property name="alignment">
-                     <set>Qt::AlignCenter</set>
-                    </property>
-                   </widget>
-                  </item>
-                  <item>
-                   <widget class="QSlider" name="picker_x_slider">
-                    <property name="minimum">
-                     <number>-10</number>
-                    </property>
-                    <property name="maximum">
-                     <number>10</number>
-                    </property>
-                    <property name="pageStep">
-                     <number>1</number>
-                    </property>
-                    <property name="tracking">
-                     <bool>false</bool>
-                    </property>
-                    <property name="orientation">
-                     <enum>Qt::Horizontal</enum>
-                    </property>
-                    <property name="tickPosition">
-                     <enum>QSlider::TicksBothSides</enum>
-                    </property>
-                    <property name="tickInterval">
-                     <number>1</number>
-                    </property>
-                   </widget>
-                  </item>
-                  <item>
-                   <widget class="QLabel" name="label_58">
-                    <property name="font">
-                     <font>
-                      <family>Courier</family>
-                     </font>
-                    </property>
-                    <property name="text">
-                     <string>0.1</string>
-                    </property>
-                    <property name="alignment">
-                     <set>Qt::AlignCenter</set>
-                    </property>
-                   </widget>
-                  </item>
-                 </layout>
-                </item>
-                <item>
-                 <widget class="QLabel" name="label_57">
-                  <property name="text">
-                   <string>y-axis adjustment</string>
-                  </property>
-                 </widget>
-                </item>
-                <item>
-                 <layout class="QHBoxLayout" name="horizontalLayout_13">
-                  <property name="leftMargin">
-                   <number>6</number>
-                  </property>
-                  <property name="topMargin">
-                   <number>6</number>
-                  </property>
-                  <property name="rightMargin">
-                   <number>6</number>
-                  </property>
-                  <property name="bottomMargin">
-                   <number>6</number>
-                  </property>
-                  <item>
-                   <widget class="QLabel" name="label_61">
-                    <property name="font">
-                     <font>
-                      <family>Courier</family>
-                     </font>
-                    </property>
-                    <property name="text">
-                     <string>-0.1</string>
-                    </property>
-                    <property name="alignment">
-                     <set>Qt::AlignCenter</set>
-                    </property>
-                   </widget>
-                  </item>
-                  <item>
-                   <widget class="QSlider" name="picker_y_slider">
-                    <property name="minimum">
-                     <number>-10</number>
-                    </property>
-                    <property name="maximum">
-                     <number>10</number>
-                    </property>
-                    <property name="pageStep">
-                     <number>1</number>
-                    </property>
-                    <property name="tracking">
-                     <bool>false</bool>
-                    </property>
-                    <property name="orientation">
-                     <enum>Qt::Horizontal</enum>
-                    </property>
-                    <property name="tickPosition">
-                     <enum>QSlider::TicksBothSides</enum>
-                    </property>
-                    <property name="tickInterval">
-                     <number>1</number>
-                    </property>
-                   </widget>
-                  </item>
-                  <item>
-                   <widget class="QLabel" name="label_59">
-                    <property name="font">
-                     <font>
-                      <family>Courier</family>
-                     </font>
-                    </property>
-                    <property name="text">
-                     <string>0.1</string>
-                    </property>
-                    <property name="alignment">
-                     <set>Qt::AlignCenter</set>
-                    </property>
-                   </widget>
-                  </item>
-                 </layout>
-                </item>
-               </layout>
-              </item>
-              <item row="0" column="0">
-               <layout class="QGridLayout" name="gridLayout_20">
-                <property name="leftMargin">
-                 <number>6</number>
-                </property>
-                <property name="topMargin">
-                 <number>6</number>
-                </property>
-                <property name="rightMargin">
-                 <number>6</number>
-                </property>
-                <property name="bottomMargin">
-                 <number>6</number>
-                </property>
-                <item row="3" column="0">
-                 <widget class="QPushButton" name="picker_pickup_button">
-                  <property name="sizePolicy">
-                   <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                    <horstretch>0</horstretch>
-                    <verstretch>0</verstretch>
-                   </sizepolicy>
-                  </property>
-                  <property name="text">
-                   <string>Pick-up</string>
-                  </property>
-                 </widget>
-                </item>
-                <item row="2" column="1">
-                 <widget class="QCheckBox" name="picker_attach_checkBox">
-                  <property name="styleSheet">
-                   <string notr="true">QCheckBox::indicator{ width:30px ; height:30px }</string>
-                  </property>
-                  <property name="text">
-                   <string/>
-                  </property>
-                 </widget>
-                </item>
-                <item row="6" column="1">
-                 <widget class="QCheckBox" name="picker_squat_checkBox">
-                  <property name="styleSheet">
-                   <string notr="true">QCheckBox::indicator{ width:30px ; height:30px }</string>
-                  </property>
-                  <property name="text">
-                   <string/>
-                  </property>
-                 </widget>
-                </item>
-                <item row="5" column="1">
-                 <widget class="QCheckBox" name="picker_putdown_checkBox">
-                  <property name="styleSheet">
-                   <string notr="true">QCheckBox::indicator{ width:30px ; height:30px }</string>
-                  </property>
-                  <property name="text">
-                   <string/>
-                  </property>
-                 </widget>
-                </item>
-                <item row="4" column="1">
-                 <widget class="QCheckBox" name="picker_gotoend_checkBox">
-                  <property name="styleSheet">
-                   <string notr="true">QCheckBox::indicator{ width:30px ; height:30px }</string>
-                  </property>
-                  <property name="text">
-                   <string/>
-                  </property>
-                 </widget>
-                </item>
-                <item row="3" column="1">
-                 <widget class="QCheckBox" name="picker_pickup_checkBox">
-                  <property name="styleSheet">
-                   <string notr="true">QCheckBox::indicator{ width:30px ; height:30px }</string>
-                  </property>
-                  <property name="text">
-                   <string/>
-                  </property>
-                 </widget>
-                </item>
-                <item row="7" column="1">
-                 <widget class="QCheckBox" name="picker_jump_checkBox">
-                  <property name="styleSheet">
-                   <string notr="true">QCheckBox::indicator{ width:30px ; height:30px }</string>
-                  </property>
-                  <property name="text">
-                   <string/>
-                  </property>
-                 </widget>
-                </item>
-                <item row="0" column="3">
-                 <widget class="QLabel" name="label_63">
-                  <property name="sizePolicy">
-                   <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
-                    <horstretch>0</horstretch>
-                    <verstretch>0</verstretch>
-                   </sizepolicy>
-                  </property>
-                  <property name="text">
-                   <string>y[m]</string>
-                  </property>
-                  <property name="alignment">
-                   <set>Qt::AlignCenter</set>
-                  </property>
-                 </widget>
-                </item>
-                <item row="1" column="1">
-                 <widget class="QCheckBox" name="picker_gotostart_checkBox">
-                  <property name="styleSheet">
-                   <string notr="true">QCheckBox::indicator{ width:30px ; height:30px }</string>
-                  </property>
-                  <property name="text">
-                   <string/>
-                  </property>
-                 </widget>
-                </item>
-                <item row="0" column="2">
-                 <widget class="QLabel" name="label_62">
-                  <property name="sizePolicy">
-                   <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
-                    <horstretch>0</horstretch>
-                    <verstretch>0</verstretch>
-                   </sizepolicy>
-                  </property>
-                  <property name="text">
-                   <string>x[m]</string>
-                  </property>
-                  <property name="alignment">
-                   <set>Qt::AlignCenter</set>
-                  </property>
-                 </widget>
-                </item>
-                <item row="1" column="0">
-                 <widget class="QPushButton" name="picker_gotostart_button">
-                  <property name="text">
-                   <string>Goto Start</string>
-                  </property>
-                 </widget>
-                </item>
-                <item row="4" column="0">
-                 <widget class="QPushButton" name="picker_gotoend_button">
-                  <property name="text">
-                   <string>Goto End</string>
-                  </property>
-                 </widget>
-                </item>
-                <item row="2" column="0">
-                 <widget class="QPushButton" name="picker_attach_button">
-                  <property name="text">
-                   <string>Attach</string>
-                  </property>
-                 </widget>
-                </item>
-                <item row="1" column="2">
-                 <widget class="QLineEdit" name="picker_gotostart_x">
-                  <property name="sizePolicy">
-                   <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                    <horstretch>0</horstretch>
-                    <verstretch>0</verstretch>
-                   </sizepolicy>
-                  </property>
-                  <property name="maximumSize">
-                   <size>
-                    <width>100</width>
-                    <height>16777215</height>
-                   </size>
-                  </property>
-                  <property name="font">
-                   <font>
-                    <family>Courier 10 Pitch</family>
-                   </font>
-                  </property>
-                 </widget>
-                </item>
-                <item row="0" column="0">
-                 <widget class="QLabel" name="label_64">
-                  <property name="text">
-                   <string>Function:</string>
-                  </property>
-                 </widget>
-                </item>
-                <item row="6" column="0">
-                 <widget class="QPushButton" name="picker_squat_button">
-                  <property name="text">
-                   <string>Squat</string>
-                  </property>
-                 </widget>
-                </item>
-                <item row="7" column="0">
-                 <widget class="QPushButton" name="picker_jump_button">
-                  <property name="text">
-                   <string>Jump</string>
-                  </property>
-                 </widget>
-                </item>
-                <item row="5" column="0">
-                 <widget class="QPushButton" name="picker_putdown_button">
-                  <property name="text">
-                   <string>Put down</string>
-                  </property>
-                 </widget>
-                </item>
-                <item row="1" column="4">
-                 <widget class="QLineEdit" name="picker_gotostart_z">
-                  <property name="sizePolicy">
-                   <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                    <horstretch>0</horstretch>
-                    <verstretch>0</verstretch>
-                   </sizepolicy>
-                  </property>
-                  <property name="maximumSize">
-                   <size>
-                    <width>100</width>
-                    <height>16777215</height>
-                   </size>
-                  </property>
-                  <property name="font">
-                   <font>
-                    <family>Courier 10 Pitch</family>
-                   </font>
-                  </property>
-                 </widget>
-                </item>
-                <item row="1" column="3">
-                 <widget class="QLineEdit" name="picker_gotostart_y">
-                  <property name="sizePolicy">
-                   <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                    <horstretch>0</horstretch>
-                    <verstretch>0</verstretch>
-                   </sizepolicy>
-                  </property>
-                  <property name="maximumSize">
-                   <size>
-                    <width>100</width>
-                    <height>16777215</height>
-                   </size>
-                  </property>
-                  <property name="font">
-                   <font>
-                    <family>Courier 10 Pitch</family>
-                   </font>
-                  </property>
-                 </widget>
-                </item>
-                <item row="2" column="4">
-                 <widget class="QLineEdit" name="picker_attach_z">
-                  <property name="sizePolicy">
-                   <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                    <horstretch>0</horstretch>
-                    <verstretch>0</verstretch>
-                   </sizepolicy>
-                  </property>
-                  <property name="maximumSize">
-                   <size>
-                    <width>100</width>
-                    <height>16777215</height>
-                   </size>
-                  </property>
-                  <property name="font">
-                   <font>
-                    <family>Courier 10 Pitch</family>
-                   </font>
-                  </property>
-                 </widget>
-                </item>
-                <item row="0" column="4">
-                 <widget class="QLabel" name="label_65">
-                  <property name="sizePolicy">
-                   <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
-                    <horstretch>0</horstretch>
-                    <verstretch>0</verstretch>
-                   </sizepolicy>
-                  </property>
-                  <property name="text">
-                   <string>z[m]</string>
-                  </property>
-                  <property name="alignment">
-                   <set>Qt::AlignCenter</set>
-                  </property>
-                 </widget>
-                </item>
-                <item row="3" column="4">
-                 <widget class="QLineEdit" name="picker_pickup_z">
-                  <property name="sizePolicy">
-                   <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                    <horstretch>0</horstretch>
-                    <verstretch>0</verstretch>
-                   </sizepolicy>
-                  </property>
-                  <property name="maximumSize">
-                   <size>
-                    <width>100</width>
-                    <height>16777215</height>
-                   </size>
-                  </property>
-                  <property name="font">
-                   <font>
-                    <family>Courier 10 Pitch</family>
-                   </font>
-                  </property>
-                 </widget>
-                </item>
-                <item row="4" column="2">
-                 <widget class="QLineEdit" name="picker_gotoend_x">
-                  <property name="sizePolicy">
-                   <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                    <horstretch>0</horstretch>
-                    <verstretch>0</verstretch>
-                   </sizepolicy>
-                  </property>
-                  <property name="maximumSize">
-                   <size>
-                    <width>100</width>
-                    <height>16777215</height>
-                   </size>
-                  </property>
-                  <property name="font">
-                   <font>
-                    <family>Courier 10 Pitch</family>
-                   </font>
-                  </property>
-                 </widget>
-                </item>
-                <item row="4" column="3">
-                 <widget class="QLineEdit" name="picker_gotoend_y">
-                  <property name="sizePolicy">
-                   <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                    <horstretch>0</horstretch>
-                    <verstretch>0</verstretch>
-                   </sizepolicy>
-                  </property>
-                  <property name="maximumSize">
-                   <size>
-                    <width>100</width>
-                    <height>16777215</height>
-                   </size>
-                  </property>
-                  <property name="font">
-                   <font>
-                    <family>Courier 10 Pitch</family>
-                   </font>
-                  </property>
-                 </widget>
-                </item>
-                <item row="5" column="4">
-                 <widget class="QLineEdit" name="picker_putdown_z">
-                  <property name="sizePolicy">
-                   <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                    <horstretch>0</horstretch>
-                    <verstretch>0</verstretch>
-                   </sizepolicy>
-                  </property>
-                  <property name="maximumSize">
-                   <size>
-                    <width>100</width>
-                    <height>16777215</height>
-                   </size>
-                  </property>
-                  <property name="font">
-                   <font>
-                    <family>Courier 10 Pitch</family>
-                   </font>
-                  </property>
-                 </widget>
-                </item>
-                <item row="6" column="4">
-                 <widget class="QLineEdit" name="picker_squat_z">
-                  <property name="sizePolicy">
-                   <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                    <horstretch>0</horstretch>
-                    <verstretch>0</verstretch>
-                   </sizepolicy>
-                  </property>
-                  <property name="maximumSize">
-                   <size>
-                    <width>100</width>
-                    <height>16777215</height>
-                   </size>
-                  </property>
-                  <property name="font">
-                   <font>
-                    <family>Courier 10 Pitch</family>
-                   </font>
-                  </property>
-                 </widget>
-                </item>
-                <item row="7" column="4">
-                 <widget class="QLineEdit" name="picker_jump_z">
-                  <property name="sizePolicy">
-                   <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                    <horstretch>0</horstretch>
-                    <verstretch>0</verstretch>
-                   </sizepolicy>
-                  </property>
-                  <property name="maximumSize">
-                   <size>
-                    <width>100</width>
-                    <height>16777215</height>
-                   </size>
-                  </property>
-                  <property name="font">
-                   <font>
-                    <family>Courier 10 Pitch</family>
-                   </font>
-                  </property>
-                 </widget>
-                </item>
-                <item row="0" column="1">
-                 <widget class="QLabel" name="label_66">
-                  <property name="text">
-                   <string>Smooth</string>
-                  </property>
-                 </widget>
-                </item>
-               </layout>
-              </item>
-             </layout>
-            </item>
-            <item row="1" column="0">
-             <spacer name="verticalSpacer_7">
-              <property name="orientation">
-               <enum>Qt::Vertical</enum>
-              </property>
-              <property name="sizeHint" stdset="0">
-               <size>
-                <width>20</width>
-                <height>40</height>
-               </size>
-              </property>
-             </spacer>
-            </item>
-           </layout>
-          </widget>
-          <widget class="QWidget" name="tab_demo">
-           <property name="sizePolicy">
-            <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
-             <horstretch>0</horstretch>
-             <verstretch>0</verstretch>
-            </sizepolicy>
-           </property>
-           <attribute name="title">
-            <string>  Demo  </string>
-           </attribute>
-           <layout class="QGridLayout" name="gridLayout_9">
-            <item row="0" column="0">
-             <layout class="QVBoxLayout" name="verticalLayout_3">
-              <property name="leftMargin">
-               <number>6</number>
-              </property>
-              <property name="topMargin">
-               <number>6</number>
-              </property>
-              <property name="rightMargin">
-               <number>6</number>
-              </property>
-              <property name="bottomMargin">
-               <number>6</number>
-              </property>
-              <item>
-               <layout class="QHBoxLayout" name="horizontalLayout_3">
-                <property name="leftMargin">
-                 <number>6</number>
-                </property>
-                <property name="topMargin">
-                 <number>6</number>
-                </property>
-                <property name="rightMargin">
-                 <number>6</number>
-                </property>
-                <property name="bottomMargin">
-                 <number>6</number>
-                </property>
-                <item>
-                 <widget class="QGroupBox" name="groupBox_5">
-                  <property name="title">
-                   <string/>
-                  </property>
-                  <layout class="QGridLayout" name="gridLayout_7">
-                   <item row="1" column="2">
-                    <widget class="QLineEdit" name="diff_x_demo">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="readOnly">
-                      <bool>true</bool>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="6" column="1">
-                    <widget class="QLineEdit" name="current_roll_demo">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="readOnly">
-                      <bool>true</bool>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="2" column="1">
-                    <widget class="QLineEdit" name="current_y_demo">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="readOnly">
-                      <bool>true</bool>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="4" column="1">
-                    <widget class="QLineEdit" name="current_yaw_demo">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="readOnly">
-                      <bool>true</bool>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="3" column="1">
-                    <widget class="QLineEdit" name="current_z_demo">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="readOnly">
-                      <bool>true</bool>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="1" column="0">
-                    <widget class="QLabel" name="current_x_label_2">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="text">
-                      <string>x [m] =</string>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="3" column="0">
-                    <widget class="QLabel" name="current_z_label_2">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="text">
-                      <string>z [m] =</string>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="1" column="1">
-                    <widget class="QLineEdit" name="current_x_demo">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="readOnly">
-                      <bool>true</bool>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="2" column="0">
-                    <widget class="QLabel" name="current_y_label_2">
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="text">
-                      <string>y [m] =</string>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="4" column="0">
-                    <widget class="QLabel" name="current_yaw_label_2">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="text">
-                      <string>yaw [deg] = </string>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="5" column="1">
-                    <widget class="QLineEdit" name="current_pitch_demo">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="readOnly">
-                      <bool>true</bool>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="5" column="0">
-                    <widget class="QLabel" name="current_pitch_label_2">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="text">
-                      <string>pitch [deg] =</string>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="6" column="0">
-                    <widget class="QLabel" name="current_roll_label_2">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="text">
-                      <string>roll [deg] =</string>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="0" column="1">
-                    <widget class="QLabel" name="label_6">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="text">
-                      <string>Current</string>
-                     </property>
-                     <property name="alignment">
-                      <set>Qt::AlignCenter</set>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="3" column="2">
-                    <widget class="QLineEdit" name="diff_z_demo">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="readOnly">
-                      <bool>true</bool>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="2" column="2">
-                    <widget class="QLineEdit" name="diff_y_demo">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="readOnly">
-                      <bool>true</bool>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="4" column="2">
-                    <widget class="QLineEdit" name="diff_yaw_demo">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="readOnly">
-                      <bool>true</bool>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="0" column="2">
-                    <widget class="QLabel" name="label_10">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="text">
-                      <string>Difference</string>
-                     </property>
-                     <property name="alignment">
-                      <set>Qt::AlignCenter</set>
-                     </property>
-                    </widget>
-                   </item>
-                  </layout>
-                 </widget>
-                </item>
-                <item>
-                 <widget class="QGroupBox" name="groupBox_6">
-                  <property name="title">
-                   <string/>
-                  </property>
-                  <layout class="QGridLayout" name="gridLayout_8">
-                   <item row="2" column="2">
-                    <widget class="QLineEdit" name="new_setpoint_y_demo">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="4" column="2">
-                    <widget class="QLineEdit" name="new_setpoint_yaw_demo">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="1" column="2">
-                    <widget class="QLineEdit" name="new_setpoint_x_demo">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="2" column="1">
-                    <widget class="QLineEdit" name="current_setpoint_y_demo">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="readOnly">
-                      <bool>true</bool>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="1" column="1">
-                    <widget class="QLineEdit" name="current_setpoint_x_demo">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="readOnly">
-                      <bool>true</bool>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="4" column="0">
-                    <widget class="QLabel" name="label_14">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="text">
-                      <string>yaw [deg] =</string>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="0" column="1">
-                    <widget class="QLabel" name="label_15">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="text">
-                      <string>Current</string>
-                     </property>
-                     <property name="alignment">
-                      <set>Qt::AlignCenter</set>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="1" column="0">
-                    <widget class="QLabel" name="label_16">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="text">
-                      <string>x [m] =</string>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="3" column="0">
-                    <widget class="QLabel" name="label_17">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="text">
-                      <string>z [m] =</string>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="2" column="0">
-                    <widget class="QLabel" name="label_18">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="text">
-                      <string>y [m] =</string>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="3" column="1">
-                    <widget class="QLineEdit" name="current_setpoint_z_demo">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="readOnly">
-                      <bool>true</bool>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="5" column="2">
-                    <widget class="QPushButton" name="set_setpoint_button_demo">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="text">
-                      <string>Set setpoint</string>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="4" column="1">
-                    <widget class="QLineEdit" name="current_setpoint_yaw_demo">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="readOnly">
-                      <bool>true</bool>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="3" column="2">
-                    <widget class="QLineEdit" name="new_setpoint_z_demo">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="0" column="0">
-                    <widget class="QLabel" name="label_19">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="text">
-                      <string>Setpoint:</string>
-                     </property>
-                    </widget>
-                   </item>
-                   <item row="0" column="2">
-                    <widget class="QLabel" name="label_20">
-                     <property name="sizePolicy">
-                      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                       <horstretch>0</horstretch>
-                       <verstretch>0</verstretch>
-                      </sizepolicy>
-                     </property>
-                     <property name="font">
-                      <font>
-                       <pointsize>14</pointsize>
-                      </font>
-                     </property>
-                     <property name="text">
-                      <string>New</string>
-                     </property>
-                     <property name="alignment">
-                      <set>Qt::AlignCenter</set>
-                     </property>
-                    </widget>
-                   </item>
-                  </layout>
-                 </widget>
-                </item>
-               </layout>
-              </item>
-              <item>
-               <layout class="QHBoxLayout" name="horizontalLayout_5">
-                <property name="leftMargin">
-                 <number>6</number>
-                </property>
-                <property name="topMargin">
-                 <number>6</number>
-                </property>
-                <property name="rightMargin">
-                 <number>6</number>
-                </property>
-                <property name="bottomMargin">
-                 <number>6</number>
-                </property>
-                <item>
-                 <widget class="QPushButton" name="demoButton_1">
-                  <property name="sizePolicy">
-                   <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-                    <horstretch>0</horstretch>
-                    <verstretch>0</verstretch>
-                   </sizepolicy>
-                  </property>
-                  <property name="font">
-                   <font>
-                    <pointsize>14</pointsize>
-                   </font>
-                  </property>
-                  <property name="text">
-                   <string>Command 1</string>
-                  </property>
-                 </widget>
-                </item>
-                <item>
-                 <widget class="QPushButton" name="demoButton_2">
-                  <property name="sizePolicy">
-                   <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-                    <horstretch>0</horstretch>
-                    <verstretch>0</verstretch>
-                   </sizepolicy>
-                  </property>
-                  <property name="font">
-                   <font>
-                    <pointsize>14</pointsize>
-                   </font>
-                  </property>
-                  <property name="text">
-                   <string>Command 2</string>
-                  </property>
-                 </widget>
-                </item>
-                <item>
-                 <widget class="QPushButton" name="demoButton_3">
-                  <property name="sizePolicy">
-                   <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-                    <horstretch>0</horstretch>
-                    <verstretch>0</verstretch>
-                   </sizepolicy>
-                  </property>
-                  <property name="font">
-                   <font>
-                    <pointsize>14</pointsize>
-                   </font>
-                  </property>
-                  <property name="text">
-                   <string>Command 3</string>
-                  </property>
-                 </widget>
-                </item>
-                <item>
-                 <widget class="QLineEdit" name="demoField_3">
-                  <property name="font">
-                   <font>
-                    <pointsize>14</pointsize>
-                   </font>
-                  </property>
-                 </widget>
-                </item>
-               </layout>
-              </item>
-             </layout>
-            </item>
-           </layout>
-          </widget>
-          <widget class="QWidget" name="tab_student">
-           <property name="sizePolicy">
-            <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
-             <horstretch>0</horstretch>
-             <verstretch>0</verstretch>
-            </sizepolicy>
-           </property>
-           <attribute name="title">
-            <string>Student</string>
-           </attribute>
-           <layout class="QGridLayout" name="gridLayout_11">
-            <item row="0" column="0">
-             <layout class="QGridLayout" name="gridLayout_6">
-              <property name="leftMargin">
-               <number>6</number>
-              </property>
-              <property name="topMargin">
-               <number>6</number>
-              </property>
-              <property name="rightMargin">
-               <number>6</number>
-              </property>
-              <property name="bottomMargin">
-               <number>6</number>
-              </property>
-              <item row="15" column="0">
-               <widget class="QLabel" name="label_72">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>roll [deg]</string>
-                </property>
-               </widget>
-              </item>
-              <item row="3" column="0">
-               <widget class="QLabel" name="label_67">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>x [m]</string>
-                </property>
-               </widget>
-              </item>
-              <item row="7" column="0">
-               <widget class="QLabel" name="label_68">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>y [m]</string>
-                </property>
-               </widget>
-              </item>
-              <item row="11" column="3">
-               <widget class="QLabel" name="label_25">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-                <property name="text">
-                 <string>yaw [deg] =</string>
-                </property>
-               </widget>
-              </item>
-              <item row="1" column="5">
-               <widget class="QLabel" name="label_27">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-                <property name="text">
-                 <string>New</string>
-                </property>
-                <property name="alignment">
-                 <set>Qt::AlignCenter</set>
-                </property>
-               </widget>
-              </item>
-              <item row="14" column="5">
-               <widget class="QPushButton" name="set_setpoint_button_student">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>16</pointsize>
-                 </font>
-                </property>
-                <property name="text">
-                 <string>Set setpoint</string>
-                </property>
-               </widget>
-              </item>
-              <item row="1" column="4">
-               <widget class="QLabel" name="label_26">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-                <property name="text">
-                 <string>Current</string>
-                </property>
-                <property name="alignment">
-                 <set>Qt::AlignCenter</set>
-                </property>
-               </widget>
-              </item>
-              <item row="1" column="3">
-               <widget class="QLabel" name="label_28">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-                <property name="text">
-                 <string>Setpoint:</string>
-                </property>
-               </widget>
-              </item>
-              <item row="3" column="3">
-               <widget class="QLabel" name="label_29">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-                <property name="text">
-                 <string>x [m] =</string>
-                </property>
-               </widget>
-              </item>
-              <item row="9" column="3">
-               <widget class="QLabel" name="label_24">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-                <property name="text">
-                 <string>z [m] =</string>
-                </property>
-               </widget>
-              </item>
-              <item row="7" column="3">
-               <widget class="QLabel" name="label_23">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-                <property name="text">
-                 <string>y [m] =</string>
-                </property>
-               </widget>
-              </item>
-              <item row="3" column="5">
-               <widget class="QLineEdit" name="new_setpoint_x_student">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-               </widget>
-              </item>
-              <item row="11" column="5">
-               <widget class="QLineEdit" name="new_setpoint_yaw_student">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-               </widget>
-              </item>
-              <item row="3" column="4">
-               <widget class="QLineEdit" name="current_setpoint_x_student">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-                <property name="readOnly">
-                 <bool>true</bool>
-                </property>
-               </widget>
-              </item>
-              <item row="7" column="4">
-               <widget class="QLineEdit" name="current_setpoint_y_student">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-                <property name="readOnly">
-                 <bool>true</bool>
-                </property>
-               </widget>
-              </item>
-              <item row="11" column="4">
-               <widget class="QLineEdit" name="current_setpoint_yaw_student">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-                <property name="readOnly">
-                 <bool>true</bool>
-                </property>
-               </widget>
-              </item>
-              <item row="9" column="4">
-               <widget class="QLineEdit" name="current_setpoint_z_student">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-                <property name="readOnly">
-                 <bool>true</bool>
-                </property>
-               </widget>
-              </item>
-              <item row="9" column="5">
-               <widget class="QLineEdit" name="new_setpoint_z_student">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-               </widget>
-              </item>
-              <item row="7" column="5">
-               <widget class="QLineEdit" name="new_setpoint_y_student">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-               </widget>
-              </item>
-              <item row="1" column="1">
-               <widget class="QLabel" name="label_73">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>Current</string>
-                </property>
-               </widget>
-              </item>
-              <item row="14" column="0">
-               <widget class="QLabel" name="label_71">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>pitch [deg]</string>
-                </property>
-               </widget>
-              </item>
-              <item row="11" column="0">
-               <widget class="QLabel" name="label_70">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>yaw [deg]</string>
-                </property>
-               </widget>
-              </item>
-              <item row="9" column="0">
-               <widget class="QLabel" name="label_69">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>z [m]</string>
-                </property>
-               </widget>
-              </item>
-              <item row="1" column="2">
-               <widget class="QLabel" name="label_74">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="text">
-                 <string>Difference</string>
-                </property>
-               </widget>
-              </item>
-              <item row="3" column="1">
-               <widget class="QLineEdit" name="current_x_student">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-               </widget>
-              </item>
-              <item row="3" column="2">
-               <widget class="QLineEdit" name="diff_x_student">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-               </widget>
-              </item>
-              <item row="7" column="1">
-               <widget class="QLineEdit" name="current_y_student">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-               </widget>
-              </item>
-              <item row="7" column="2">
-               <widget class="QLineEdit" name="diff_y_student">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-               </widget>
-              </item>
-              <item row="9" column="1">
-               <widget class="QLineEdit" name="current_z_student">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-               </widget>
-              </item>
-              <item row="9" column="2">
-               <widget class="QLineEdit" name="diff_z_student">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-               </widget>
-              </item>
-              <item row="11" column="1">
-               <widget class="QLineEdit" name="current_yaw_student">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-               </widget>
-              </item>
-              <item row="11" column="2">
-               <widget class="QLineEdit" name="diff_yaw_student">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-               </widget>
-              </item>
-              <item row="14" column="1">
-               <widget class="QLineEdit" name="current_pitch_student">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-               </widget>
-              </item>
-              <item row="15" column="1">
-               <widget class="QLineEdit" name="current_roll_student">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-               </widget>
-              </item>
-              <item row="16" column="2">
-               <widget class="QPushButton" name="studentButton_1">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="minimumSize">
-                 <size>
-                  <width>0</width>
-                  <height>40</height>
-                 </size>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>16777215</width>
-                  <height>50</height>
-                 </size>
-                </property>
-                <property name="text">
-                 <string>Command 1</string>
-                </property>
-               </widget>
-              </item>
-              <item row="16" column="3">
-               <widget class="QPushButton" name="studentButton_2">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="minimumSize">
-                 <size>
-                  <width>0</width>
-                  <height>40</height>
-                 </size>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>16777215</width>
-                  <height>50</height>
-                 </size>
-                </property>
-                <property name="text">
-                 <string>Commnd 2</string>
-                </property>
-               </widget>
-              </item>
-              <item row="16" column="4">
-               <widget class="QPushButton" name="studentButton_3">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="minimumSize">
-                 <size>
-                  <width>0</width>
-                  <height>40</height>
-                 </size>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>16777215</width>
-                  <height>50</height>
-                 </size>
-                </property>
-                <property name="text">
-                 <string>Command 3</string>
-                </property>
-               </widget>
-              </item>
-              <item row="16" column="5">
-               <widget class="QLineEdit" name="studentField_3">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="minimumSize">
-                 <size>
-                  <width>0</width>
-                  <height>40</height>
-                 </size>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>16777215</width>
-                  <height>50</height>
-                 </size>
-                </property>
-               </widget>
-              </item>
-             </layout>
-            </item>
-           </layout>
-          </widget>
-          <widget class="QWidget" name="tab_mpc">
-           <property name="sizePolicy">
-            <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
-             <horstretch>0</horstretch>
-             <verstretch>0</verstretch>
-            </sizepolicy>
-           </property>
-           <attribute name="title">
-            <string>MPC</string>
-           </attribute>
-           <layout class="QGridLayout" name="gridLayout_13">
-            <item row="0" column="0">
-             <layout class="QGridLayout" name="gridLayout_12">
-              <property name="leftMargin">
-               <number>6</number>
-              </property>
-              <property name="topMargin">
-               <number>6</number>
-              </property>
-              <property name="rightMargin">
-               <number>6</number>
-              </property>
-              <property name="bottomMargin">
-               <number>6</number>
-              </property>
-              <item row="1" column="2">
-               <widget class="QLabel" name="label_30">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-                <property name="text">
-                 <string>New</string>
-                </property>
-                <property name="alignment">
-                 <set>Qt::AlignCenter</set>
-                </property>
-               </widget>
-              </item>
-              <item row="14" column="2">
-               <widget class="QPushButton" name="set_setpoint_button_mpc">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-                <property name="text">
-                 <string>Set setpoint</string>
-                </property>
-               </widget>
-              </item>
-              <item row="1" column="1">
-               <widget class="QLabel" name="label_31">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-                <property name="text">
-                 <string>Current</string>
-                </property>
-                <property name="alignment">
-                 <set>Qt::AlignCenter</set>
-                </property>
-               </widget>
-              </item>
-              <item row="1" column="0">
-               <widget class="QLabel" name="label_32">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-                <property name="text">
-                 <string>Setpoint:</string>
-                </property>
-               </widget>
-              </item>
-              <item row="3" column="0">
-               <widget class="QLabel" name="label_33">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-                <property name="text">
-                 <string>x [m] =</string>
-                </property>
-               </widget>
-              </item>
-              <item row="11" column="0">
-               <widget class="QLabel" name="label_34">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-                <property name="text">
-                 <string>yaw [deg] =</string>
-                </property>
-               </widget>
-              </item>
-              <item row="9" column="0">
-               <widget class="QLabel" name="label_35">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-                <property name="text">
-                 <string>z [m] =</string>
-                </property>
-               </widget>
-              </item>
-              <item row="7" column="0">
-               <widget class="QLabel" name="label_36">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-                <property name="text">
-                 <string>y [m] =</string>
-                </property>
-               </widget>
-              </item>
-              <item row="3" column="2">
-               <widget class="QLineEdit" name="new_setpoint_x_mpc">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-               </widget>
-              </item>
-              <item row="11" column="2">
-               <widget class="QLineEdit" name="new_setpoint_yaw_mpc">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-               </widget>
-              </item>
-              <item row="3" column="1">
-               <widget class="QLineEdit" name="current_setpoint_x_mpc">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-                <property name="readOnly">
-                 <bool>true</bool>
-                </property>
-               </widget>
-              </item>
-              <item row="7" column="1">
-               <widget class="QLineEdit" name="current_setpoint_y_mpc">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-                <property name="readOnly">
-                 <bool>true</bool>
-                </property>
-               </widget>
-              </item>
-              <item row="11" column="1">
-               <widget class="QLineEdit" name="current_setpoint_yaw_mpc">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-                <property name="readOnly">
-                 <bool>true</bool>
-                </property>
-               </widget>
-              </item>
-              <item row="9" column="1">
-               <widget class="QLineEdit" name="current_setpoint_z_mpc">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-                <property name="readOnly">
-                 <bool>true</bool>
-                </property>
-               </widget>
-              </item>
-              <item row="9" column="2">
-               <widget class="QLineEdit" name="new_setpoint_z_mpc">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-               </widget>
-              </item>
-              <item row="7" column="2">
-               <widget class="QLineEdit" name="new_setpoint_y_mpc">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="font">
-                 <font>
-                  <pointsize>14</pointsize>
-                 </font>
-                </property>
-               </widget>
-              </item>
-             </layout>
-            </item>
-           </layout>
-          </widget>
-          <widget class="QWidget" name="tab_remote">
-           <property name="sizePolicy">
-            <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
-             <horstretch>0</horstretch>
-             <verstretch>0</verstretch>
-            </sizepolicy>
-           </property>
-           <attribute name="title">
-            <string>Remote</string>
-           </attribute>
-           <layout class="QGridLayout" name="gridLayout_14">
-            <item row="0" column="0">
-             <layout class="QGridLayout" name="gridLayout_10">
-              <property name="leftMargin">
-               <number>6</number>
-              </property>
-              <property name="topMargin">
-               <number>6</number>
-              </property>
-              <property name="rightMargin">
-               <number>6</number>
-              </property>
-              <property name="bottomMargin">
-               <number>6</number>
-              </property>
-              <item row="0" column="0">
-               <widget class="QLineEdit" name="remote_object_name">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>16777215</width>
-                  <height>50</height>
-                 </size>
-                </property>
-               </widget>
-              </item>
-              <item row="5" column="1">
-               <widget class="QLineEdit" name="remote_data_pitch">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>16777215</width>
-                  <height>50</height>
-                 </size>
-                </property>
-                <property name="font">
-                 <font>
-                  <family>Monospace</family>
-                 </font>
-                </property>
-                <property name="readOnly">
-                 <bool>true</bool>
-                </property>
-               </widget>
-              </item>
-              <item row="0" column="2">
-               <widget class="QPushButton" name="remote_unsubscribe_button">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>16777215</width>
-                  <height>50</height>
-                 </size>
-                </property>
-                <property name="text">
-                 <string>UN-subscribe</string>
-                </property>
-               </widget>
-              </item>
-              <item row="7" column="2">
-               <widget class="QLineEdit" name="remote_setpoint_z">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>16777215</width>
-                  <height>50</height>
-                 </size>
-                </property>
-                <property name="font">
-                 <font>
-                  <family>Monospace</family>
-                 </font>
-                </property>
-               </widget>
-              </item>
-              <item row="0" column="1">
-               <widget class="QPushButton" name="remote_subscribe_button">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>16777215</width>
-                  <height>50</height>
-                 </size>
-                </property>
-                <property name="text">
-                 <string>Subscribe</string>
-                </property>
-               </widget>
-              </item>
-              <item row="7" column="1">
-               <widget class="QLineEdit" name="remote_data_z">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>16777215</width>
-                  <height>50</height>
-                 </size>
-                </property>
-                <property name="font">
-                 <font>
-                  <family>Monospace</family>
-                 </font>
-                </property>
-                <property name="readOnly">
-                 <bool>true</bool>
-                </property>
-               </widget>
-              </item>
-              <item row="6" column="2">
-               <widget class="QLineEdit" name="remote_setpoint_yaw">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>16777215</width>
-                  <height>50</height>
-                 </size>
-                </property>
-                <property name="font">
-                 <font>
-                  <family>Monospace</family>
-                 </font>
-                </property>
-               </widget>
-              </item>
-              <item row="6" column="1">
-               <widget class="QLineEdit" name="remote_data_yaw">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>16777215</width>
-                  <height>50</height>
-                 </size>
-                </property>
-                <property name="font">
-                 <font>
-                  <family>Monospace</family>
-                 </font>
-                </property>
-                <property name="readOnly">
-                 <bool>true</bool>
-                </property>
-               </widget>
-              </item>
-              <item row="1" column="2">
-               <widget class="Line" name="line_12">
-                <property name="lineWidth">
-                 <number>5</number>
-                </property>
-                <property name="orientation">
-                 <enum>Qt::Horizontal</enum>
-                </property>
-               </widget>
-              </item>
-              <item row="1" column="0">
-               <widget class="Line" name="line_10">
-                <property name="frameShadow">
-                 <enum>QFrame::Sunken</enum>
-                </property>
-                <property name="lineWidth">
-                 <number>5</number>
-                </property>
-                <property name="orientation">
-                 <enum>Qt::Horizontal</enum>
-                </property>
-               </widget>
-              </item>
-              <item row="5" column="2">
-               <widget class="QLineEdit" name="remote_setpoint_pitch">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>16777215</width>
-                  <height>50</height>
-                 </size>
-                </property>
-                <property name="font">
-                 <font>
-                  <family>Monospace</family>
-                 </font>
-                </property>
-               </widget>
-              </item>
-              <item row="4" column="1">
-               <widget class="QLineEdit" name="remote_data_roll">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>16777215</width>
-                  <height>50</height>
-                 </size>
-                </property>
-                <property name="font">
-                 <font>
-                  <family>Monospace</family>
-                 </font>
-                </property>
-                <property name="readOnly">
-                 <bool>true</bool>
-                </property>
-               </widget>
-              </item>
-              <item row="1" column="1">
-               <widget class="Line" name="line_11">
-                <property name="lineWidth">
-                 <number>5</number>
-                </property>
-                <property name="orientation">
-                 <enum>Qt::Horizontal</enum>
-                </property>
-               </widget>
-              </item>
-              <item row="4" column="2">
-               <widget class="QLineEdit" name="remote_setpoint_roll">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>16777215</width>
-                  <height>50</height>
-                 </size>
-                </property>
-                <property name="font">
-                 <font>
-                  <family>Monospace</family>
-                 </font>
-                </property>
-                <property name="readOnly">
-                 <bool>true</bool>
-                </property>
-               </widget>
-              </item>
-              <item row="2" column="1">
-               <widget class="QLabel" name="remote_data_label">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>16777215</width>
-                  <height>50</height>
-                 </size>
-                </property>
-                <property name="text">
-                 <string>Remote</string>
-                </property>
-                <property name="alignment">
-                 <set>Qt::AlignCenter</set>
-                </property>
-               </widget>
-              </item>
-              <item row="2" column="2">
-               <widget class="QLabel" name="label_38">
-                <property name="text">
-                 <string>Setpoint</string>
-                </property>
-                <property name="alignment">
-                 <set>Qt::AlignCenter</set>
-                </property>
-               </widget>
-              </item>
-              <item row="4" column="0">
-               <widget class="QLabel" name="remote_roll_label">
-                <property name="text">
-                 <string>Roll [deg]</string>
-                </property>
-               </widget>
-              </item>
-              <item row="5" column="0">
-               <widget class="QLabel" name="remote_pitch_label">
-                <property name="text">
-                 <string>Pitch [deg]</string>
-                </property>
-               </widget>
-              </item>
-              <item row="6" column="0">
-               <widget class="QLabel" name="remote_yaw_label">
-                <property name="text">
-                 <string>Yaw [deg]</string>
-                </property>
-               </widget>
-              </item>
-              <item row="7" column="0">
-               <widget class="QLabel" name="remote_z_label">
-                <property name="text">
-                 <string>z [m]</string>
-                </property>
-               </widget>
-              </item>
-             </layout>
-            </item>
-            <item row="0" column="1">
-             <layout class="QVBoxLayout" name="verticalLayout_2">
-              <property name="leftMargin">
-               <number>6</number>
-              </property>
-              <property name="topMargin">
-               <number>6</number>
-              </property>
-              <property name="rightMargin">
-               <number>6</number>
-              </property>
-              <property name="bottomMargin">
-               <number>6</number>
-              </property>
-              <item>
-               <spacer name="verticalSpacer_2">
-                <property name="orientation">
-                 <enum>Qt::Vertical</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>20</width>
-                  <height>40</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-              <item>
-               <widget class="QPushButton" name="remote_activate_button">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>16777215</width>
-                  <height>100</height>
-                 </size>
-                </property>
-                <property name="text">
-                 <string>Activate</string>
-                </property>
-               </widget>
-              </item>
-              <item>
-               <widget class="QPushButton" name="remote_deactivate_button">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>16777215</width>
-                  <height>100</height>
-                 </size>
-                </property>
-                <property name="text">
-                 <string>DE-activate</string>
-                </property>
-               </widget>
-              </item>
-              <item>
-               <spacer name="verticalSpacer_3">
-                <property name="orientation">
-                 <enum>Qt::Vertical</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>20</width>
-                  <height>40</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-             </layout>
-            </item>
-           </layout>
-          </widget>
-          <widget class="QWidget" name="tab">
-           <property name="sizePolicy">
-            <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
-             <horstretch>0</horstretch>
-             <verstretch>0</verstretch>
-            </sizepolicy>
-           </property>
-           <attribute name="title">
-            <string>Tuning</string>
-           </attribute>
-           <layout class="QGridLayout" name="gridLayout_16">
-            <item row="0" column="0">
-             <layout class="QGridLayout" name="gridLayout_15">
-              <property name="leftMargin">
-               <number>6</number>
-              </property>
-              <property name="topMargin">
-               <number>0</number>
-              </property>
-              <property name="rightMargin">
-               <number>6</number>
-              </property>
-              <property name="bottomMargin">
-               <number>0</number>
-              </property>
-              <item row="4" column="0">
-               <widget class="QLabel" name="label_45">
-                <property name="text">
-                 <string>Vertical Controller Gain   (Vertikal Regler Verstaekung)</string>
-                </property>
-               </widget>
-              </item>
-              <item row="2" column="0">
-               <widget class="Line" name="line_13">
-                <property name="lineWidth">
-                 <number>5</number>
-                </property>
-                <property name="orientation">
-                 <enum>Qt::Horizontal</enum>
-                </property>
-               </widget>
-              </item>
-              <item row="2" column="1">
-               <widget class="Line" name="line_15">
-                <property name="lineWidth">
-                 <number>5</number>
-                </property>
-                <property name="orientation">
-                 <enum>Qt::Horizontal</enum>
-                </property>
-               </widget>
-              </item>
-              <item row="11" column="0">
-               <spacer name="verticalSpacer_4">
-                <property name="orientation">
-                 <enum>Qt::Vertical</enum>
-                </property>
-                <property name="sizeType">
-                 <enum>QSizePolicy::Minimum</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>20</width>
-                  <height>10</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-              <item row="1" column="1">
-               <widget class="QPushButton" name="tuning_test_horizontal_button">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>160</width>
-                  <height>50</height>
-                 </size>
-                </property>
-                <property name="text">
-                 <string>Test</string>
-                </property>
-               </widget>
-              </item>
-              <item row="6" column="1">
-               <widget class="Line" name="line_16">
-                <property name="lineWidth">
-                 <number>5</number>
-                </property>
-                <property name="orientation">
-                 <enum>Qt::Horizontal</enum>
-                </property>
-               </widget>
-              </item>
-              <item row="8" column="0">
-               <widget class="QLabel" name="label_46">
-                <property name="text">
-                 <string>Heading Controller Gain   (Orientierung Regler Verstaekung)</string>
-                </property>
-               </widget>
-              </item>
-              <item row="12" column="0">
-               <layout class="QHBoxLayout" name="horizontalLayout_10">
-                <property name="leftMargin">
-                 <number>6</number>
-                </property>
-                <property name="topMargin">
-                 <number>0</number>
-                </property>
-                <property name="rightMargin">
-                 <number>6</number>
-                </property>
-                <property name="bottomMargin">
-                 <number>0</number>
-                </property>
-                <item>
-                 <widget class="QPushButton" name="tuning_test_all_button">
-                  <property name="sizePolicy">
-                   <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                    <horstretch>0</horstretch>
-                    <verstretch>0</verstretch>
-                   </sizepolicy>
-                  </property>
-                  <property name="minimumSize">
-                   <size>
-                    <width>0</width>
-                    <height>0</height>
-                   </size>
-                  </property>
-                  <property name="maximumSize">
-                   <size>
-                    <width>340</width>
-                    <height>50</height>
-                   </size>
-                  </property>
-                  <property name="text">
-                   <string>Test All</string>
-                  </property>
-                 </widget>
-                </item>
-                <item>
-                 <widget class="QPushButton" name="tuning_test_circle_button">
-                  <property name="sizePolicy">
-                   <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                    <horstretch>0</horstretch>
-                    <verstretch>0</verstretch>
-                   </sizepolicy>
-                  </property>
-                  <property name="maximumSize">
-                   <size>
-                    <width>340</width>
-                    <height>50</height>
-                   </size>
-                  </property>
-                  <property name="text">
-                   <string>Fly a circle</string>
-                  </property>
-                 </widget>
-                </item>
-               </layout>
-              </item>
-              <item row="6" column="0">
-               <widget class="Line" name="line_14">
-                <property name="lineWidth">
-                 <number>5</number>
-                </property>
-                <property name="orientation">
-                 <enum>Qt::Horizontal</enum>
-                </property>
-               </widget>
-              </item>
-              <item row="3" column="0">
-               <spacer name="verticalSpacer_5">
-                <property name="orientation">
-                 <enum>Qt::Vertical</enum>
-                </property>
-                <property name="sizeType">
-                 <enum>QSizePolicy::Minimum</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>20</width>
-                  <height>5</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-              <item row="9" column="1">
-               <widget class="QPushButton" name="tuning_test_heading_button">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>160</width>
-                  <height>50</height>
-                 </size>
-                </property>
-                <property name="text">
-                 <string>Test</string>
-                </property>
-               </widget>
-              </item>
-              <item row="0" column="0">
-               <widget class="QLabel" name="label_37">
-                <property name="text">
-                 <string>Horizontal Controller Gain   (Horizontal Regler Verstaekung)</string>
-                </property>
-                <property name="alignment">
-                 <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
-                </property>
-               </widget>
-              </item>
-              <item row="5" column="0">
-               <layout class="QHBoxLayout" name="horizontalLayout_4">
-                <property name="leftMargin">
-                 <number>6</number>
-                </property>
-                <property name="rightMargin">
-                 <number>6</number>
-                </property>
-                <item>
-                 <widget class="QLabel" name="label_39">
-                  <property name="text">
-                   <string>Min</string>
-                  </property>
-                 </widget>
-                </item>
-                <item>
-                 <widget class="QSlider" name="tuning_slider_vertical">
-                  <property name="maximum">
-                   <number>1000</number>
-                  </property>
-                  <property name="value">
-                   <number>100</number>
-                  </property>
-                  <property name="tracking">
-                   <bool>false</bool>
-                  </property>
-                  <property name="orientation">
-                   <enum>Qt::Horizontal</enum>
-                  </property>
-                  <property name="tickPosition">
-                   <enum>QSlider::TicksAbove</enum>
-                  </property>
-                  <property name="tickInterval">
-                   <number>100</number>
-                  </property>
-                 </widget>
-                </item>
-                <item>
-                 <widget class="QLabel" name="label_40">
-                  <property name="text">
-                   <string>Max</string>
-                  </property>
-                 </widget>
-                </item>
-               </layout>
-              </item>
-              <item row="5" column="1">
-               <widget class="QPushButton" name="tuning_test_vertical_button">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>160</width>
-                  <height>50</height>
-                 </size>
-                </property>
-                <property name="text">
-                 <string>Test</string>
-                </property>
-               </widget>
-              </item>
-              <item row="7" column="0">
-               <spacer name="verticalSpacer_6">
-                <property name="orientation">
-                 <enum>Qt::Vertical</enum>
-                </property>
-                <property name="sizeType">
-                 <enum>QSizePolicy::Minimum</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>20</width>
-                  <height>5</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-              <item row="9" column="0">
-               <layout class="QHBoxLayout" name="horizontalLayout_6">
-                <property name="leftMargin">
-                 <number>6</number>
-                </property>
-                <property name="rightMargin">
-                 <number>6</number>
-                </property>
-                <item>
-                 <widget class="QLabel" name="label_41">
-                  <property name="text">
-                   <string>Min</string>
-                  </property>
-                 </widget>
-                </item>
-                <item>
-                 <widget class="QSlider" name="tuning_slider_heading">
-                  <property name="maximum">
-                   <number>1000</number>
-                  </property>
-                  <property name="value">
-                   <number>100</number>
-                  </property>
-                  <property name="tracking">
-                   <bool>false</bool>
-                  </property>
-                  <property name="orientation">
-                   <enum>Qt::Horizontal</enum>
-                  </property>
-                  <property name="tickPosition">
-                   <enum>QSlider::TicksAbove</enum>
-                  </property>
-                  <property name="tickInterval">
-                   <number>100</number>
-                  </property>
-                 </widget>
-                </item>
-                <item>
-                 <widget class="QLabel" name="label_42">
-                  <property name="text">
-                   <string>Max</string>
-                  </property>
-                 </widget>
-                </item>
-               </layout>
-              </item>
-              <item row="1" column="0">
-               <layout class="QHBoxLayout" name="horizontalLayout_7">
-                <property name="leftMargin">
-                 <number>6</number>
-                </property>
-                <property name="rightMargin">
-                 <number>6</number>
-                </property>
-                <item>
-                 <widget class="QLabel" name="label_43">
-                  <property name="text">
-                   <string>Min</string>
-                  </property>
-                 </widget>
-                </item>
-                <item>
-                 <widget class="QSlider" name="tuning_slider_horizontal">
-                  <property name="maximum">
-                   <number>1000</number>
-                  </property>
-                  <property name="value">
-                   <number>100</number>
-                  </property>
-                  <property name="tracking">
-                   <bool>false</bool>
-                  </property>
-                  <property name="orientation">
-                   <enum>Qt::Horizontal</enum>
-                  </property>
-                  <property name="tickPosition">
-                   <enum>QSlider::TicksAbove</enum>
-                  </property>
-                  <property name="tickInterval">
-                   <number>100</number>
-                  </property>
-                 </widget>
-                </item>
-                <item>
-                 <widget class="QLabel" name="label_44">
-                  <property name="text">
-                   <string>Max</string>
-                  </property>
-                 </widget>
-                </item>
-               </layout>
-              </item>
-              <item row="10" column="0">
-               <widget class="Line" name="line_17">
-                <property name="lineWidth">
-                 <number>5</number>
-                </property>
-                <property name="orientation">
-                 <enum>Qt::Horizontal</enum>
-                </property>
-               </widget>
-              </item>
-              <item row="10" column="1">
-               <widget class="Line" name="line_18">
-                <property name="lineWidth">
-                 <number>5</number>
-                </property>
-                <property name="orientation">
-                 <enum>Qt::Horizontal</enum>
-                </property>
-               </widget>
-              </item>
-             </layout>
-            </item>
-           </layout>
-          </widget>
-         </widget>
-        </item>
-        <item>
-         <widget class="Line" name="line">
-          <property name="orientation">
-           <enum>Qt::Vertical</enum>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <layout class="QGridLayout" name="gridLayout_17">
-          <property name="leftMargin">
-           <number>6</number>
-          </property>
-          <property name="topMargin">
-           <number>6</number>
-          </property>
-          <property name="rightMargin">
-           <number>6</number>
-          </property>
-          <property name="bottomMargin">
-           <number>6</number>
-          </property>
-          <item row="8" column="1">
-           <widget class="Line" name="line_20">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
-            </property>
-           </widget>
-          </item>
-          <item row="9" column="2">
-           <widget class="QPushButton" name="load_tuning_yaml_button">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="maximumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="font">
-             <font>
-              <pointsize>14</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>Tuning</string>
-            </property>
-           </widget>
-          </item>
-          <item row="7" column="1">
-           <widget class="Line" name="line_21">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
-            </property>
-           </widget>
-          </item>
-          <item row="6" column="1">
-           <widget class="Line" name="line_22">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
-            </property>
-           </widget>
-          </item>
-          <item row="7" column="2">
-           <widget class="QPushButton" name="load_mpc_yaml_button">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="maximumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="font">
-             <font>
-              <pointsize>14</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>MPC</string>
-            </property>
-           </widget>
-          </item>
-          <item row="8" column="2">
-           <widget class="QPushButton" name="load_remote_yaml_button">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="maximumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="font">
-             <font>
-              <pointsize>14</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>Remote</string>
-            </property>
-           </widget>
-          </item>
-          <item row="6" column="2">
-           <widget class="QPushButton" name="load_student_yaml_button">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="maximumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="font">
-             <font>
-              <pointsize>14</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>Student</string>
-            </property>
-           </widget>
-          </item>
-          <item row="6" column="0">
-           <widget class="QPushButton" name="enable_student_controller">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="maximumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="font">
-             <font>
-              <pointsize>14</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>Student</string>
-            </property>
-           </widget>
-          </item>
-          <item row="0" column="2">
-           <widget class="QLabel" name="label_2">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize">
-             <size>
-              <width>180</width>
-              <height>30</height>
-             </size>
-            </property>
-            <property name="maximumSize">
-             <size>
-              <width>180</width>
-              <height>30</height>
-             </size>
-            </property>
-            <property name="font">
-             <font>
-              <pointsize>16</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>Load</string>
-            </property>
-            <property name="alignment">
-             <set>Qt::AlignCenter</set>
-            </property>
-           </widget>
-          </item>
-          <item row="0" column="0">
-           <widget class="QLabel" name="label_21">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize">
-             <size>
-              <width>180</width>
-              <height>30</height>
-             </size>
-            </property>
-            <property name="maximumSize">
-             <size>
-              <width>180</width>
-              <height>30</height>
-             </size>
-            </property>
-            <property name="font">
-             <font>
-              <pointsize>16</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>Controller</string>
-            </property>
-            <property name="alignment">
-             <set>Qt::AlignCenter</set>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="0">
-           <widget class="QLabel" name="label">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize">
-             <size>
-              <width>180</width>
-              <height>30</height>
-             </size>
-            </property>
-            <property name="maximumSize">
-             <size>
-              <width>180</width>
-              <height>30</height>
-             </size>
-            </property>
-            <property name="font">
-             <font>
-              <pointsize>16</pointsize>
-              <weight>75</weight>
-              <bold>true</bold>
-             </font>
-            </property>
-            <property name="text">
-             <string>Enable</string>
-            </property>
-            <property name="alignment">
-             <set>Qt::AlignCenter</set>
-            </property>
-           </widget>
-          </item>
-          <item row="5" column="0">
-           <widget class="QPushButton" name="enable_demo_controller">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="maximumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="font">
-             <font>
-              <pointsize>14</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>Demo</string>
-            </property>
-           </widget>
-          </item>
-          <item row="10" column="0">
-           <spacer name="verticalSpacer">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
-            </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>20</width>
-              <height>40</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-          <item row="3" column="2">
-           <widget class="QPushButton" name="load_safe_yaml_button">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="maximumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="font">
-             <font>
-              <pointsize>14</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>Safe</string>
-            </property>
-           </widget>
-          </item>
-          <item row="3" column="0">
-           <widget class="QPushButton" name="enable_safe_controller">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="maximumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="font">
-             <font>
-              <pointsize>14</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>Safe</string>
-            </property>
-           </widget>
-          </item>
-          <item row="5" column="2">
-           <widget class="QPushButton" name="load_demo_yaml_button">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="maximumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="font">
-             <font>
-              <pointsize>14</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>Demo</string>
-            </property>
-           </widget>
-          </item>
-          <item row="3" column="1">
-           <widget class="Line" name="line_3">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="2">
-           <widget class="QLabel" name="label_22">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize">
-             <size>
-              <width>180</width>
-              <height>30</height>
-             </size>
-            </property>
-            <property name="maximumSize">
-             <size>
-              <width>180</width>
-              <height>30</height>
-             </size>
-            </property>
-            <property name="font">
-             <font>
-              <pointsize>16</pointsize>
-              <weight>75</weight>
-              <bold>true</bold>
-             </font>
-            </property>
-            <property name="text">
-             <string>YAML</string>
-            </property>
-            <property name="alignment">
-             <set>Qt::AlignCenter</set>
-            </property>
-           </widget>
-          </item>
-          <item row="5" column="1">
-           <widget class="Line" name="line_4">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
-            </property>
-           </widget>
-          </item>
-          <item row="0" column="1">
-           <widget class="Line" name="line_7">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="1">
-           <widget class="Line" name="line_6">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
-            </property>
-           </widget>
-          </item>
-          <item row="10" column="1">
-           <widget class="Line" name="line_5">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
-            </property>
-           </widget>
-          </item>
-          <item row="7" column="0">
-           <widget class="QPushButton" name="enable_mpc_controller">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="maximumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="font">
-             <font>
-              <pointsize>14</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>MPC</string>
-            </property>
-           </widget>
-          </item>
-          <item row="8" column="0">
-           <widget class="QPushButton" name="enable_remote_controller">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="maximumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="font">
-             <font>
-              <pointsize>14</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>Remote</string>
-            </property>
-           </widget>
-          </item>
-          <item row="9" column="1">
-           <widget class="Line" name="line_19">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
-            </property>
-           </widget>
-          </item>
-          <item row="9" column="0">
-           <widget class="QPushButton" name="enable_tuning_controller">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="maximumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="font">
-             <font>
-              <pointsize>14</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>Tuning</string>
-            </property>
-           </widget>
-          </item>
-          <item row="4" column="0">
-           <widget class="QPushButton" name="enable_picker_controller">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="maximumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="font">
-             <font>
-              <pointsize>14</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>Picker</string>
-            </property>
-           </widget>
-          </item>
-          <item row="4" column="2">
-           <widget class="QPushButton" name="load_picker_yaml_button">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="minimumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="maximumSize">
-             <size>
-              <width>180</width>
-              <height>50</height>
-             </size>
-            </property>
-            <property name="font">
-             <font>
-              <pointsize>14</pointsize>
-             </font>
-            </property>
-            <property name="text">
-             <string>Picker</string>
-            </property>
-           </widget>
-          </item>
-         </layout>
-        </item>
-        <item>
-         <widget class="Line" name="line_2">
-          <property name="orientation">
-           <enum>Qt::Vertical</enum>
-          </property>
-         </widget>
-        </item>
-       </layout>
-      </item>
-     </layout>
-    </item>
-   </layout>
-  </widget>
-  <widget class="QMenuBar" name="menuBar">
-   <property name="geometry">
-    <rect>
-     <x>0</x>
-     <y>0</y>
-     <width>1500</width>
-     <height>25</height>
-    </rect>
-   </property>
-  </widget>
-  <widget class="QToolBar" name="mainToolBar">
-   <attribute name="toolBarArea">
-    <enum>TopToolBarArea</enum>
-   </attribute>
-   <attribute name="toolBarBreak">
-    <bool>false</bool>
-   </attribute>
-  </widget>
-  <widget class="QStatusBar" name="statusBar"/>
- </widget>
- <layoutdefault spacing="6" margin="11"/>
- <resources/>
- <connections/>
-</ui>
diff --git a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/src/main.cpp b/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/src/main.cpp
deleted file mode 100644
index 27bdde98..00000000
--- a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/src/main.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-//    Copyright (C) 2017, ETH Zurich, D-ITET, Angel Romero
-//
-//    This file is part of D-FaLL-System.
-//    
-//    D-FaLL-System is free software: you can redistribute it and/or modify
-//    it under the terms of the GNU General Public License as published by
-//    the Free Software Foundation, either version 3 of the License, or
-//    (at your option) any later version.
-//    
-//    D-FaLL-System is distributed in the hope that it will be useful,
-//    but WITHOUT ANY WARRANTY; without even the implied warranty of
-//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//    GNU General Public License for more details.
-//    
-//    You should have received a copy of the GNU General Public License
-//    along with D-FaLL-System.  If not, see <http://www.gnu.org/licenses/>.
-//    
-//
-//    ----------------------------------------------------------------------------------
-//    DDDD        FFFFF        L     L           SSSS  Y   Y   SSSS  TTTTT  EEEEE  M   M
-//    D   D       F      aaa   L     L          S       Y Y   S        T    E      MM MM
-//    D   D  ---  FFFF  a   a  L     L     ---   SSS     Y     SSS     T    EEE    M M M
-//    D   D       F     a  aa  L     L              S    Y        S    T    E      M   M
-//    DDDD        F      aa a  LLLL  LLLL       SSSS     Y    SSSS     T    EEEEE  M   M
-//
-//
-//    DESCRIPTION:
-//    Main program of the Student's GUI
-//
-//    ----------------------------------------------------------------------------------
-
-
-#include "MainWindow.h"
-#include <QApplication>
-
-int main(int argc, char *argv[])
-{
-    QApplication a(argc, argv);
-    MainWindow w(argc, argv);
-    w.show();
-    return a.exec();
-}
diff --git a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/src/rosNodeThread_for_studentGUI.cpp b/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/src/rosNodeThread_for_studentGUI.cpp
deleted file mode 100644
index ed87c889..00000000
--- a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/src/rosNodeThread_for_studentGUI.cpp
+++ /dev/null
@@ -1,114 +0,0 @@
-//    Copyright (C) 2017, ETH Zurich, D-ITET, Angel Romero
-//
-//    This file is part of D-FaLL-System.
-//    
-//    D-FaLL-System is free software: you can redistribute it and/or modify
-//    it under the terms of the GNU General Public License as published by
-//    the Free Software Foundation, either version 3 of the License, or
-//    (at your option) any later version.
-//    
-//    D-FaLL-System is distributed in the hope that it will be useful,
-//    but WITHOUT ANY WARRANTY; without even the implied warranty of
-//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//    GNU General Public License for more details.
-//    
-//    You should have received a copy of the GNU General Public License
-//    along with D-FaLL-System.  If not, see <http://www.gnu.org/licenses/>.
-//    
-//
-//    ----------------------------------------------------------------------------------
-//    DDDD        FFFFF        L     L           SSSS  Y   Y   SSSS  TTTTT  EEEEE  M   M
-//    D   D       F      aaa   L     L          S       Y Y   S        T    E      MM MM
-//    D   D  ---  FFFF  a   a  L     L     ---   SSS     Y     SSS     T    EEE    M M M
-//    D   D       F     a  aa  L     L              S    Y        S    T    E      M   M
-//    DDDD        F      aa a  LLLL  LLLL       SSSS     Y    SSSS     T    EEEEE  M   M
-//
-//
-//    DESCRIPTION:
-//    Takes care of creating a ros node thread.
-//
-//    ----------------------------------------------------------------------------------
-
-
-#include "rosNodeThread_for_studentGUI.h"
-
-#include "dfall_pkg/CMRead.h"
-#include "dfall_pkg/CMUpdate.h"
-#include "dfall_pkg/CMCommand.h"
-
-
-rosNodeThread::rosNodeThread(int argc, char** pArgv, const char * node_name, QObject* parent)
-    :   QObject(parent),
-        m_Init_argc(argc),
-        m_pInit_argv(pArgv),
-        m_node_name(node_name)
-
-{
-    /** Constructor for the node thread **/
-}
-
-rosNodeThread::~rosNodeThread()
-{
-    if (ros::isStarted())
-    {
-        ros::shutdown();
-        ros::waitForShutdown();
-    } // end if
-    m_pThread->wait();
-} // end destructor
-
-bool rosNodeThread::init()
-{
-    m_pThread = new QThread();
-    this->moveToThread(m_pThread); // QObject method
-
-    connect(m_pThread, SIGNAL(started()), this, SLOT(run()));
-    ros::init(m_Init_argc, m_pInit_argv, m_node_name); // student_GUI is the name of this node
-
-    if (!ros::master::check())
-    {
-        ROS_ERROR("Master not found, please check teacher computer is running and try again");
-        return false;           // do not start without ros.
-    }
-
-    ros::start();
-    ros::Time::init();
-    ros::NodeHandle nh("~");
-
-    m_vicon_subscriber = nh.subscribe("/ViconDataPublisher/ViconData", 100, &rosNodeThread::messageCallback, this);
-
-    // clients for db services:
-    m_read_db_client = nh.serviceClient<CMRead>("/CentralManagerService/Read", false);
-    m_update_db_client = nh.serviceClient<CMUpdate>("/CentralManagerService/Update", false);
-    m_command_db_client = nh.serviceClient<CMCommand>("/CentralManagerService/Command", false);
-
-    m_pThread->start();
-    return true;
-} // set up the thread
-
-void rosNodeThread::messageCallback(const ptrToMessage& p_msg) // When a message arrives to the topic, this callback is executed
-{
-    emit newViconData(p_msg);   //pass the message to other places
-}
-
-void rosNodeThread::run()
-{
-    ros::Rate loop_rate(100);
-    QMutex * pMutex;
-    while (ros::ok())
-    {
-        pMutex = new QMutex();
-
-        // geometry_msgs::Twist cmd_msg;
-        pMutex->lock();
-        // cmd_msg.linear.x = m_speed;
-        // cmd_msg.angular.z = m_angle;
-        pMutex->unlock();
-        // ROS_INFO("RUNNING");
-
-        // sim_velocity.publish(cmd_msg);
-        ros::spinOnce();
-        loop_rate.sleep();
-        delete pMutex;
-    } // do ros things.
-}
diff --git a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/studentGUI.pro b/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/studentGUI.pro
deleted file mode 100644
index 215f47e8..00000000
--- a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/studentGUI.pro
+++ /dev/null
@@ -1,28 +0,0 @@
-#-------------------------------------------------
-#
-# Project created by QtCreator 2017-08-21T11:01:25
-#
-#-------------------------------------------------
-
-QT       += core gui
-
-greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
-
-TARGET = studentGUI
-TEMPLATE = app
-
-INCLUDEPATH += $$PWD/include
-CONFIG += c++11
-
-SOURCES += \
-         src/main.cpp \
-         src/MainWindow.cpp
-
-HEADERS  += \
-         include/MainWindow.h \
-
-FORMS    += \
-         src/MainWindow.ui
-
-RESOURCES += \
-    studentgui.qrc
diff --git a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/studentgui.qrc b/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/studentgui.qrc
deleted file mode 100644
index 0f6e7d8e..00000000
--- a/dfall_ws/src/dfall_pkg/GUI_Qt/studentGUI/studentgui.qrc
+++ /dev/null
@@ -1,19 +0,0 @@
-<RCC>
-    <qresource prefix="/">
-        <file>images/battery_20.png</file>
-        <file>images/battery_40.png</file>
-        <file>images/battery_60.png</file>
-        <file>images/battery_80.png</file>
-        <file>images/battery_empty.png</file>
-        <file>images/battery_full.png</file>
-        <file>images/rf_connected.png</file>
-        <file>images/rf_connecting.png</file>
-        <file>images/rf_disconnected.png</file>
-        <file>images/battery_unknown.png</file>
-        <file>images/flying_state_disabling.png</file>
-        <file>images/flying_state_enabling.png</file>
-        <file>images/flying_state_flying.png</file>
-        <file>images/flying_state_off.png</file>
-        <file>images/flying_state_unknown.png</file>
-    </qresource>
-</RCC>
diff --git a/dfall_ws/src/dfall_pkg/src/nodes/FlyingAgentClient.cpp b/dfall_ws/src/dfall_pkg/src/nodes/FlyingAgentClient.cpp
index eadb4743..159faa7d 100755
--- a/dfall_ws/src/dfall_pkg/src/nodes/FlyingAgentClient.cpp
+++ b/dfall_ws/src/dfall_pkg/src/nodes/FlyingAgentClient.cpp
@@ -710,7 +710,8 @@ void loadPickerController()
 
 void sendMessageUsingController(int controller)
 {
-    // send a message in topic for the studentGUI to read it
+    // Send a message on the topic for informing the Flying
+    // Agent GUI about this update
     std_msgs::Int32 controller_used_msg;
     controller_used_msg.data = controller;
     controllerUsedPublisher.publish(controller_used_msg);
-- 
GitLab