Index: code/branches/tutorial2/src/orxonox/controllers/AutonomousDroneController.cc
===================================================================
--- code/branches/tutorial2/src/orxonox/controllers/AutonomousDroneController.cc	(revision 7444)
+++ code/branches/tutorial2/src/orxonox/controllers/AutonomousDroneController.cc	(revision 7444)
@@ -0,0 +1,88 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program 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 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program 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 this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Oli Scheuss
+ *   Co-authors:
+ *      Damian 'Mozork' Frick
+ *
+ */
+
+#include "AutonomousDroneController.h"
+
+#include "worldentities/AutonomousDrone.h"
+#include "util/Math.h"
+
+namespace orxonox
+{
+
+    /**
+    @brief
+        Constructor.
+    @param creator
+        The creator of this object.
+    */
+    AutonomousDroneController::AutonomousDroneController(BaseObject* creator) : Controller(creator)
+    {
+        //TODO: Place your code here:
+        // Make sure to register the object in the factory.
+        // Do some kind of initialisation.
+        //TODO: Remove.
+        RegisterObject(AutonomousDroneController);
+
+        // This checks that our creator really is a drone
+        // and saves the pointer to the drone for the controlling commands
+        AutonomousDrone* drone = dynamic_cast<AutonomousDrone*>(creator);
+        assert(drone != NULL);
+        this->setControllableEntity(drone);
+    }
+
+    /**
+    @brief
+        Destructor.
+    */
+    AutonomousDroneController::~AutonomousDroneController()
+    {
+
+    }
+
+    /**
+    @brief
+        The controlling happens here. This method defines what the controller has to do each tick.
+    @param dt
+        The duration of the tick.
+    */
+    void AutonomousDroneController::tick(float dt)
+    {
+        AutonomousDrone *myDrone = static_cast<AutonomousDrone*>(this->getControllableEntity());
+        //TODO: Place your code here:
+        // Steering commands
+        // You can use the following commands for steering
+        // - moveFrontBack, moveRightLeft, moveUpDown
+        // - rotatePitch, rotateYaw, rotateRoll
+        // Apply the to myDrone (e.g. myDrone->rotateYaw(..) )
+        //TODO: Remove:
+        myDrone->rotateRoll(dt*2);
+        myDrone->moveFrontBack(dt*50);
+        myDrone->rotateYaw(dt);
+
+    }
+}
Index: code/branches/tutorial2/src/orxonox/controllers/AutonomousDroneController.h
===================================================================
--- code/branches/tutorial2/src/orxonox/controllers/AutonomousDroneController.h	(revision 7444)
+++ code/branches/tutorial2/src/orxonox/controllers/AutonomousDroneController.h	(revision 7444)
@@ -0,0 +1,59 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program 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 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program 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 this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Oli Scheuss
+ *   Co-authors:
+ *      Damian 'Mozork' Frick
+ *
+ */
+
+#ifndef _AutonomousDroneController_H__
+#define _AutonomousDroneController_H__
+
+#include "OrxonoxPrereqs.h"
+
+#include "Controller.h"
+#include "tools/interfaces/Tickable.h"
+
+namespace orxonox
+{
+    /**
+    @brief
+        Controller for the AutonomousDrone of the PPS tutorial.
+    @author
+        Oli Scheuss
+    */
+    class _OrxonoxExport AutonomousDroneController : public Controller, public Tickable
+    {
+        public:
+            AutonomousDroneController(BaseObject* creator);
+            virtual ~AutonomousDroneController();
+
+            virtual void tick(float dt); //!< The controlling happens here. This method defines what the controller has to do each tick.
+
+        protected:
+
+        private:
+    };
+}
+
+#endif /* _AutonomousDroneController_H__ */
Index: code/branches/tutorial2/src/orxonox/controllers/CMakeLists.txt
===================================================================
--- code/branches/tutorial2/src/orxonox/controllers/CMakeLists.txt	(revision 7441)
+++ code/branches/tutorial2/src/orxonox/controllers/CMakeLists.txt	(revision 7444)
@@ -1,3 +1,4 @@
 ADD_SOURCE_FILES(ORXONOX_SRC_FILES
+  AutonomousDroneController.cc
   Controller.cc
   HumanController.cc
