diff --git a/etc/doxygen/pages/5.Components.dox b/etc/doxygen/pages/5.Components.dox
index 8d47f77d4e13b92b200861ad6a7f832a4935ba16..b076255b458833746ada7e9e9fc082d4b7f6ae26 100644
--- a/etc/doxygen/pages/5.Components.dox
+++ b/etc/doxygen/pages/5.Components.dox
@@ -7,4 +7,30 @@
 
 Components are the main building blocks of ArmarX and offer services to other applications via Ice.
 Each component usually implements an interface through which it can be accessed.
+
+There are several types of special components:
+
+\li *Sensor-Actor Units* provide access to certain hardware modalities like sensors or actors.
+
+\li *Base Sensor-Actor Units* provide a base class for the implementation of Sensor-Actor Units, defining a common interface.
+    The ForceTorqueUnit itself for instance is a base class for unit implementations like ForceTorqueUnitSimulation or ForceTorqueUnitArmar4.
+
+\li *Simulated Sensor-Actor Units* are Sensor-Actor Units that do not connect to any hardware, but simulate sensors and actors.
+
+\li *Observers* monitor values published by Sensor-Actor Units and fire events based on installed conditions.
+    There has to be a specific observer implementation for each base unit.
+
+
+\defgroup RobotAPI-SensorActorUnits-simulation Sensor-Actor Unit Simulations
+\ingroup RobotAPI-Components
+Basic simulation implementations of the interfaces that do not consider any physical laws.
+
+\defgroup RobotAPI-SensorActorUnits-observers Sensor-Actor Unit Observers
+\ingroup RobotAPI-Components
+Almost any Sensor-Actor Unit has an observer, that observes the sensor value of this unit and
+provides datafields for the sensor data. All unit observers implement the \ref armarx::Observer interface.
+
+\defgroup RobotAPI-SensorActorUnits-util Utilities
+\ingroup RobotAPI-Components
+Utility and helper classes associated with Sensor-Actor Units.
 */
diff --git a/etc/doxygen/pages/SensorActorUnits.dox b/etc/doxygen/pages/SensorActorUnits.dox
index 4cd152181b2de5ca262f1b345db4dd75c7904ccb..147a15e14db7f05b27f84d086403d1c3705a2aa5 100644
--- a/etc/doxygen/pages/SensorActorUnits.dox
+++ b/etc/doxygen/pages/SensorActorUnits.dox
@@ -1,29 +1,10 @@
 /**
-  \defgroup RobotAPI-SensorActorUnits Sensor-Actor Unit
-  \ingroup RobotAPI-Components
+\defgroup RobotAPI-SensorActorUnits Sensor-Actor Unit
+\ingroup RobotAPI-Components
 
-    * @brief Sensor-Actor Units are Armarx \ref armarx::Component "Components" that communicate usually directly with their
-    * associated hardware and feed the topic for their connected \ref armarx::Observer. They always implement
-    * an Ice interface to be reachable via Ice. The Ice interface is always tailored to the hardware
-    * which they represent, PlatformUnitInterface, KinematicUnitInterface etc.
-    *
+\brief Sensor-Actor Units are components that provide an interface to an associated hardware device.
 
-  @li Receive control data through Ice remote procedure calls (e.g. setTargetJointAngles(...)) @see armarx::KinematicUnit
-  @li Publish sensor data through Ice topics @see \ref RobotAPI-SensorActorUnits-observers, \ref Observers
-
-
-  \defgroup RobotAPI-SensorActorUnits-simulation Sensor-Actor Unit Simulations
-  \ingroup RobotAPI-Components
-  Basic simulation implementations of the interfaces that do not consider any physical laws.
-
-  \defgroup RobotAPI-SensorActorUnits-observers Sensor-Actor Unit Observers
-  \ingroup RobotAPI-Components
-  Almost any Sensor-Actor Unit has an observer, that observes the sensor value of this unit and
-  provides datafields for the sensor data. All unit observers implement the \ref armarx::Observer interface.
-
-  \defgroup RobotAPI-SensorActorUnits-util Utilities
-  \ingroup RobotAPI-Components
-  Utility and helper classes associated with Sensor-Actor Units.
+Sensor-Actor Units implement a corresponding Ice interface which makes them accessible for other running components.
  */
 
 
diff --git a/source/RobotAPI/components/units/BusInspectionUnit.cpp b/source/RobotAPI/components/units/BusInspectionUnit.cpp
index 1593dc07596745abdbd755a18d84bdcbfe5b0f9e..20506415423cfeba683533a9d2b4d267c5694e46 100644
--- a/source/RobotAPI/components/units/BusInspectionUnit.cpp
+++ b/source/RobotAPI/components/units/BusInspectionUnit.cpp
@@ -72,11 +72,6 @@ DeviceInformation BusInspectionUnit::getDeviceInformation(const std::string& dev
   return *(new DeviceInformation);
 }
 
-//int BusInspectionUnit::performBasicOperation( BasicOperation& operation,  const std::string &device, const Ice::Current& c) {
-
-//    return 0;
-//}
-
 Ice::Int BusInspectionUnit::performDeviceOperation(BasicOperation operation, Ice::Int device,  const Ice::Current& c)
 {
     return 0;
diff --git a/source/RobotAPI/components/units/BusInspectionUnit.h b/source/RobotAPI/components/units/BusInspectionUnit.h
index f89c39a730d751cb08bcce1d9ba4bc8efafef6f8..e0983a4c2b1f5a18f29d82bb89274de31e898f73 100644
--- a/source/RobotAPI/components/units/BusInspectionUnit.h
+++ b/source/RobotAPI/components/units/BusInspectionUnit.h
@@ -32,58 +32,64 @@
 
 #include <RobotAPI/interface/hardware/BusInspectionInterface.h>
 
-namespace armarx {
-  
-   class BusInspectionUnitPropertyDefinitions:
+namespace armarx
+{
+    /**
+     * \class BusInspectionUnitPropertyDefinitions
+     * \brief
+     */
+    class BusInspectionUnitPropertyDefinitions:
            public ComponentPropertyDefinitions
-   {
-   public:
-       BusInspectionUnitPropertyDefinitions(std::string prefix):
-           ComponentPropertyDefinitions(prefix)
-       {
-	 
-           //defineRequiredProperty<std::string>("RobotNodeSetName","Robot node name");
-           //defineRequiredProperty<std::string>("RobotFileName", "Robot file name, e.g. robot_model.xml");
-       }
-   };
-  
-class BusInspectionUnit :
-        virtual public BusInspectionInterface, virtual public Component
     {
-    public:
-        // inherited from Component
-        virtual std::string getDefaultName() const { return "BusInspectionUnit"; }
-        virtual void onInitComponent();
-        virtual void onConnectComponent();
-        virtual void onExitComponent();
-	
-        virtual void onInitBusInspectionUnit() = 0;
-        virtual void onConnectBusInspectionUnit() = 0;
-        virtual void onExitBusInspectionUnit() = 0;
-  
-         virtual BusNames getConfiguredBusses( const Ice::Current& c = ::Ice::Current());
-         virtual BusInformation getBusInformation(const std::string &bus, const Ice::Current& c = ::Ice::Current());
-         virtual DeviceNames getDevicesOnBus(const std::string &bus, const Ice::Current& c = ::Ice::Current());
-         virtual DeviceInformation getDeviceInformation(const std::string &device,  const Ice::Current& c = ::Ice::Current());
-
-         virtual Ice::Int performDeviceOperation(BasicOperation operation, Ice::Int device,  const Ice::Current& c = ::Ice::Current());
-         virtual Ice::Int performBusOperation(BasicOperation operation, const std::string &bus,  const Ice::Current& c = ::Ice::Current());
-         virtual bool isInRealTimeMode(const Ice::Current& c = ::Ice::Current());
-
-         //virtual int performBasicOperation(BasicOperation &operation,  const std::string &device, const Ice::Current& c = ::Ice::Current());
-         virtual std::string sendCommand(const std::string &command,  Ice::Int device, const Ice::Current& c = ::Ice::Current());
-
-
-        /**
-         * @see PropertyUser::createPropertyDefinitions()
-         */
-        virtual PropertyDefinitionsPtr createPropertyDefinitions();
-	
-	  protected:
-	    std::string channel;
-	    BusInspectionInterfacePrx busInspectionValuePrx; // gets commands from hardware
-	
+        public:
+            BusInspectionUnitPropertyDefinitions(std::string prefix) :
+                ComponentPropertyDefinitions(prefix)
+            {
+            }
     };
+  
+    /**
+     * \class BusInspectionUnit
+     * \ingroup RobotAPI-SensorActorUnits
+     * \brief Provides information about connected hardware devices.
+     *
+     * BusInspectionUnit is the base class of a unit that allows the introspection of a connected bus system.
+     */
+    class BusInspectionUnit :
+            virtual public BusInspectionInterface, virtual public Component
+        {
+        public:
+            // inherited from Component
+            virtual std::string getDefaultName() const { return "BusInspectionUnit"; }
+            virtual void onInitComponent();
+            virtual void onConnectComponent();
+            virtual void onExitComponent();
+
+            virtual void onInitBusInspectionUnit() = 0;
+            virtual void onConnectBusInspectionUnit() = 0;
+            virtual void onExitBusInspectionUnit() = 0;
+
+             virtual BusNames getConfiguredBusses( const Ice::Current& c = ::Ice::Current());
+             virtual BusInformation getBusInformation(const std::string &bus, const Ice::Current& c = ::Ice::Current());
+             virtual DeviceNames getDevicesOnBus(const std::string &bus, const Ice::Current& c = ::Ice::Current());
+             virtual DeviceInformation getDeviceInformation(const std::string &device,  const Ice::Current& c = ::Ice::Current());
+
+             virtual Ice::Int performDeviceOperation(BasicOperation operation, Ice::Int device,  const Ice::Current& c = ::Ice::Current());
+             virtual Ice::Int performBusOperation(BasicOperation operation, const std::string &bus,  const Ice::Current& c = ::Ice::Current());
+             virtual bool isInRealTimeMode(const Ice::Current& c = ::Ice::Current());
+
+             virtual std::string sendCommand(const std::string &command,  Ice::Int device, const Ice::Current& c = ::Ice::Current());
+
+             /**
+              * \see PropertyUser::createPropertyDefinitions()
+              */
+             virtual PropertyDefinitionsPtr createPropertyDefinitions();
+
+          protected:
+            std::string channel;
+            BusInspectionInterfacePrx busInspectionValuePrx; // gets commands from hardware
+
+        };
 }
 
 
diff --git a/source/RobotAPI/components/units/ForceTorqueUnit.h b/source/RobotAPI/components/units/ForceTorqueUnit.h
index c87a582e81b17632abdc593aef6b41df7b160662..b239859437bddfcc6538b61a8cf7460d7fb9ca2c 100644
--- a/source/RobotAPI/components/units/ForceTorqueUnit.h
+++ b/source/RobotAPI/components/units/ForceTorqueUnit.h
@@ -36,6 +36,10 @@
 
 namespace armarx
 {
+    /**
+     * \class ForceTorqueUnitPropertyDefinitions
+     * \brief
+     */
     class ForceTorqueUnitPropertyDefinitions : public ComponentPropertyDefinitions
     {
         public:
@@ -51,8 +55,10 @@ namespace armarx
     };
     
     /**
-     * @class ForceTorqueUnit
-     * @ingroup RobotAPI-SensorActorUnits
+     * \class ForceTorqueUnit
+     * \ingroup RobotAPI-SensorActorUnits
+     * \brief Base unit for force/torque sensors.
+     *
      * The ForceTorqueUnit class is the base unit for force/torque sensors.
      * It implements the ForceTorqueUnit-interface and is responsible for distributing F/T sensor-values in ArmarX.
      * RobotAPI contains the ForceTorqueUnitSimulation class that does a very basic simulation of F/T-sensors.
diff --git a/source/RobotAPI/components/units/HandUnit.h b/source/RobotAPI/components/units/HandUnit.h
index 21a361db30077647635b53b0a2ecd3ea3498cfe0..db2c3d6b13bf837ee2158aec4f80561f387f8650 100644
--- a/source/RobotAPI/components/units/HandUnit.h
+++ b/source/RobotAPI/components/units/HandUnit.h
@@ -44,8 +44,8 @@ namespace VirtualRobot
 namespace armarx
 {
     /**
-     * @class HandUnitPropertyDefinitions
-     * @brief Defines all necessary properties for armarx::HandUnit
+     * \class HandUnitPropertyDefinitions
+     * \brief Defines all necessary properties for armarx::HandUnit
      */
     class HandUnitPropertyDefinitions:
             public ComponentPropertyDefinitions
@@ -61,9 +61,9 @@ namespace armarx
 
 
     /**
-     * @class HandUnit
-     * @brief This class defines an interface for providing high level access to robot hands
-     * @ingroup RobotAPI-SensorActorUnits
+     * \class HandUnit
+     * \brief Base unit for high-level access to robot hands.
+     * \ingroup RobotAPI-SensorActorUnits
      *
      * An instance of a HandUnit provides means to open, close, and preshape hands.
      * It uses the HandUnitListener Ice interface to report updates of its current state
@@ -83,17 +83,17 @@ namespace armarx
         /**
          * Retrieve proxy for publishing State information and call
          * armarx::PlatformUnit::onInitPlatformUnit().
-         * @see armarx::Component::onInitComponent()
+         * \see armarx::Component::onInitComponent()
          */
         virtual void onInitComponent();
         /**
          * Calls armarx::PlatformUnit::onStartPlatformUnit().
-         * @see armarx::Component::onConnectComponent()
+         * \see armarx::Component::onConnectComponent()
          */
         virtual void onConnectComponent();
         /**
          * Calls armarx::PlatformUnit::onExitPlatformUnit().
-         * @see armarx::Component::onExitComponent()
+         * \see armarx::Component::onExitComponent()
          */
         virtual void onExitComponent();
 
@@ -110,23 +110,13 @@ namespace armarx
          */
         virtual void onExitHandUnit() = 0;
 
-        /**
-         * Send command to the hand to open all fingers.
-         */
-        //virtual void open(const Ice::Current& c = ::Ice::Current());
-
-        /**
-         * Send command to the hand to close all fingers.
-         */
-        //virtual void close(const Ice::Current& c = ::Ice::Current());
-
         /**
          * Send command to the hand to form a specific shape position. The shapes are defined in the robot.xml file.
          */
         void setShape(const std::string& shapeName, const Ice::Current& c = ::Ice::Current());
 
         /**
-         * @return a list of strings for shape positions which can be used together with HandUnit::shape().
+         * \return a list of strings for shape positions which can be used together with HandUnit::shape().
          */
         virtual SingleTypeVariantListBasePtr getShapeNames(const Ice::Current& c = ::Ice::Current());
 
@@ -137,7 +127,7 @@ namespace armarx
         void setJointAngles(const NameValueMap& targetJointAngles, const Ice::Current &);
 
         /**
-         * @see armarx::PropertyUser::createPropertyDefinitions()
+         * \see armarx::PropertyUser::createPropertyDefinitions()
          */
         virtual PropertyDefinitionsPtr createPropertyDefinitions();
 
diff --git a/source/RobotAPI/components/units/HapticUnit.h b/source/RobotAPI/components/units/HapticUnit.h
index c98b866b4f80fb57d08ca45c4130058c8c37502f..012825f072f4678855aa7aa078a5878c7af7eb19 100644
--- a/source/RobotAPI/components/units/HapticUnit.h
+++ b/source/RobotAPI/components/units/HapticUnit.h
@@ -35,6 +35,10 @@
 
 namespace armarx
 {
+    /**
+     * \class HapticUnitPropertyDefinitions
+     * \brief
+     */
     class HapticUnitPropertyDefinitions : public ComponentPropertyDefinitions
     {
         public:
@@ -45,10 +49,10 @@ namespace armarx
             }
     };
     
-    /*!
-     * @class HapticUnit
-     * @ingroup RobotAPI-SensorActorUnits
-     * \brief The HapticUnit class
+    /**
+     * \class HapticUnit
+     * \ingroup RobotAPI-SensorActorUnits
+     * \brief Base unit for haptic sensors.
      */
     class HapticUnit :
         virtual public HapticUnitInterface,
diff --git a/source/RobotAPI/components/units/HeadIKUnit.h b/source/RobotAPI/components/units/HeadIKUnit.h
index cd7385491822fcdc39fb150b81ae072efe9bb4b9..143150b61e98879b4985a995b0572ebb999644c8 100644
--- a/source/RobotAPI/components/units/HeadIKUnit.h
+++ b/source/RobotAPI/components/units/HeadIKUnit.h
@@ -36,8 +36,10 @@
 
 namespace armarx
 {
-
-
+    /**
+     * \class HeadIKUnitPropertyDefinitions
+     * \brief
+     */
     class HeadIKUnitPropertyDefinitions:
             public ComponentPropertyDefinitions
     {
@@ -50,10 +52,10 @@ namespace armarx
         }
     };
 
-    /*!
-     * @class HeadIKUnit
-     * @ingroup RobotAPI-SensorActorUnits
-     * @brief The HeadIKUnit class
+    /**
+     * \class HeadIKUnit
+     * \ingroup RobotAPI-SensorActorUnits
+     * \brief Unit for controlling a robot head via IK targets.
      */
     class HeadIKUnit : virtual public Component, virtual public HeadIKUnitInterface
     {
diff --git a/source/RobotAPI/components/units/InertialMeasurementUnit.h b/source/RobotAPI/components/units/InertialMeasurementUnit.h
index 11463c13ac4e88026cd18b349d009d078f393ed4..4cd2861f7fe30d61b7778f809f3261abd8e29bfc 100644
--- a/source/RobotAPI/components/units/InertialMeasurementUnit.h
+++ b/source/RobotAPI/components/units/InertialMeasurementUnit.h
@@ -33,8 +33,8 @@
 namespace armarx
 {
     /**
-     * @class InertialMeasurementUnitPropertyDefinitions
-     * @brief
+     * \class InertialMeasurementUnitPropertyDefinitions
+     * \brief
      */
     class InertialMeasurementUnitPropertyDefinitions:
         public ComponentPropertyDefinitions
@@ -48,11 +48,9 @@ namespace armarx
     };
 
     /**
-     * @class InertialMeasurementUnit
-     * @ingroup RobotAPI-SensorActorUnits
-     * @brief A brief description
-     *
-     * Detailed Description
+     * \class InertialMeasurementUnit
+     * \ingroup RobotAPI-SensorActorUnits
+     * \brief Base unit for %IMU sensors.
      */
     class InertialMeasurementUnit :
         virtual public armarx::InertialMeasurementUnitInterface,
@@ -60,7 +58,7 @@ namespace armarx
     {
     public:
         /**
-         * @see armarx::ManagedIceObject::getDefaultName()
+         * \see armarx::ManagedIceObject::getDefaultName()
          */
         virtual std::string getDefaultName() const
         {
@@ -70,28 +68,28 @@ namespace armarx
 
     protected:
         /**
-         * @see armarx::ManagedIceObject::onInitComponent()
+         * \see armarx::ManagedIceObject::onInitComponent()
          */
         virtual void onInitComponent();
 
         /**
-         * @see armarx::ManagedIceObject::onConnectComponent()
+         * \see armarx::ManagedIceObject::onConnectComponent()
          */
         virtual void onConnectComponent();
 
         /**
-         * @see armarx::ManagedIceObject::onDisconnectComponent()
+         * \see armarx::ManagedIceObject::onDisconnectComponent()
          */
         virtual void onDisconnectComponent();
 
         /**
-         * @see armarx::ManagedIceObject::onExitComponent()
+         * \see armarx::ManagedIceObject::onExitComponent()
          */
         virtual void onExitComponent();
 
 
         /**
-         * @see PropertyUser::createPropertyDefinitions()
+         * \see PropertyUser::createPropertyDefinitions()
          */
         virtual PropertyDefinitionsPtr createPropertyDefinitions();
 
diff --git a/source/RobotAPI/components/units/KinematicUnit.h b/source/RobotAPI/components/units/KinematicUnit.h
index af56852eef00bee23384f4f9602a1dfd1b43a2df..c39ddfe0caf601c3ed5dff88285964837f9fe634 100644
--- a/source/RobotAPI/components/units/KinematicUnit.h
+++ b/source/RobotAPI/components/units/KinematicUnit.h
@@ -38,8 +38,8 @@
 namespace armarx
 {
     /**
-     * @class KinematicUnitPropertyDefinitions
-     * @brief
+     * \class KinematicUnitPropertyDefinitions
+     * \brief
      */
     class KinematicUnitPropertyDefinitions:
             public ComponentPropertyDefinitions
@@ -55,8 +55,9 @@ namespace armarx
 
 
     /**
-     * @class KinematicUnit
-     * @ingroup RobotAPI-SensorActorUnits
+     * \class KinematicUnit
+     * \ingroup RobotAPI-SensorActorUnits
+     * \brief Base unit for kinematic sensors and actors.
      *
      * KinematicUnits are SensorActorUnits which provide sensory data in terms of joints angles, joint velocities and joint forces.
      * Further target joint angles and velocities can be controlled.
@@ -89,7 +90,7 @@ namespace armarx
 
 
         /**
-         * @see PropertyUser::createPropertyDefinitions()
+         * \see PropertyUser::createPropertyDefinitions()
          */
         virtual PropertyDefinitionsPtr createPropertyDefinitions();
 
diff --git a/source/RobotAPI/components/units/PlatformUnit.h b/source/RobotAPI/components/units/PlatformUnit.h
index 60ecaf2fad195f4795050c90af5e2f84b9ae7bca..6252fe48e75e14493bbf3db9306134d78c2e508c 100644
--- a/source/RobotAPI/components/units/PlatformUnit.h
+++ b/source/RobotAPI/components/units/PlatformUnit.h
@@ -36,8 +36,8 @@
 namespace armarx
 {
     /**
-     * @class PlatformUnitPropertyDefinitions
-     * @brief Defines all necessary properties for armarx::PlatformUnit
+     * \class PlatformUnitPropertyDefinitions
+     * \brief Defines all necessary properties for armarx::PlatformUnit
      */
     class PlatformUnitPropertyDefinitions:
             public ComponentPropertyDefinitions
@@ -52,13 +52,13 @@ namespace armarx
 
 
     /**
-     * @class PlatformUnit
-     * @brief This class defines an interface for providing high level access to robot platforms
-     * @ingroup RobotAPI-SensorActorUnits
+     * \class PlatformUnit
+     * \ingroup RobotAPI-SensorActorUnits
+     * \brief Base unit for high-level access to robot platforms.
      *
+     * This class defines an interface for providing high level access to robot platforms
      * An instance of a PlatformUnit provides means to set target positions.
      * It uses the PlatformUnitListener Ice interface to report updates of its current state.
-     *
      */
     class PlatformUnit :
         virtual public PlatformUnitInterface,
@@ -74,35 +74,25 @@ namespace armarx
         /**
          * Retrieve proxy for publishing State information and call
          * armarx::PlatformUnit::onInitPlatformUnit().
-         * @see armarx::Component::onInitComponent()
+         * \see armarx::Component::onInitComponent()
          */
         virtual void onInitComponent();
         /**
          * Calls armarx::PlatformUnit::onStartPlatformUnit().
-         * @see armarx::Component::onConnectComponent()
+         * \see armarx::Component::onConnectComponent()
          */
         virtual void onConnectComponent();
 
         virtual void onDisconnectComponent();
         /**
          * Calls armarx::PlatformUnit::onExitPlatformUnit().
-         * @see armarx::Component::onExitComponent()
+         * \see armarx::Component::onExitComponent()
          */
         virtual void onExitComponent();
 
-        /**
-         *
-         */
         virtual void onInitPlatformUnit() = 0;
-        /**
-         *
-         */
         virtual void onStartPlatformUnit() = 0;
-
         virtual void onStopPlatformUnit() {}
-        /**
-         *
-         */
         virtual void onExitPlatformUnit() = 0;
 
         /**
@@ -114,7 +104,7 @@ namespace armarx
 
         void stopPlatform(const Ice::Current &c = Ice::Current()){}
         /**
-         * @see armarx::PropertyUser::createPropertyDefinitions()
+         * \see armarx::PropertyUser::createPropertyDefinitions()
          */
         virtual PropertyDefinitionsPtr createPropertyDefinitions();
 
diff --git a/source/RobotAPI/components/units/SensorActorUnit.h b/source/RobotAPI/components/units/SensorActorUnit.h
index d839a4563690748b1a80c0165c55c88537701e8f..7180ec22424c9417620b862540acdfa9bf790b6c 100644
--- a/source/RobotAPI/components/units/SensorActorUnit.h
+++ b/source/RobotAPI/components/units/SensorActorUnit.h
@@ -33,9 +33,9 @@
 namespace armarx
 {
     /**
-    *
-    * @ingroup RobotAPI-SensorActorUnits
-    * Base Class for all ArmarX SensorActorUnits.
+    * \class SensorActorUnit
+    * \ingroup RobotAPI-SensorActorUnits
+    * \brief Base Class for SensorActorUnits.
     *
     * SensorActorUnits are ArmarX component which provide an actor API and a sensor data stream.
     * The SensorActorUnit provides basic execution state handling and concurrent access handling.
@@ -59,7 +59,7 @@ namespace armarx
             *
             * Assures that init is called only once and the calls subclass method onInit().
             *
-            * @param c Ice context provided by the Ice framework
+            * \param c Ice context provided by the Ice framework
             */
             virtual void init(const Ice::Current& c = ::Ice::Current());
 
@@ -71,7 +71,7 @@ namespace armarx
             * Start can be called if the unit is initialized and not started yet (stopped).
             * Calls subclass method inStart().
             *
-            * @param c Ice context provided by the Ice framework
+            * \param c Ice context provided by the Ice framework
             */
             virtual void start(const Ice::Current& c = ::Ice::Current());
 
@@ -83,29 +83,29 @@ namespace armarx
             * Stop can be called if the unit is started.
             * Calls subclass method onStop()
             *
-            * @param c Ice context provided by the Ice framework
+            * \param c Ice context provided by the Ice framework
             */
             virtual void stop(const Ice::Current& c = ::Ice::Current());
 
             /**
             * Retrieve current execution state
             *
-            * @param c Ice context provided by the Ice framework
-            * @return current execution state
+            * \param c Ice context provided by the Ice framework
+            * \return current execution state
             */
             UnitExecutionState getExecutionState(const Ice::Current& c = ::Ice::Current());
 
             /**
             * Request exclusive access to current unit. Throws ResourceUnavailableException on error.
             *
-            * @param c Ice context provided by the Ice framework
+            * \param c Ice context provided by the Ice framework
             */
             virtual void request(const Ice::Current& c = ::Ice::Current());
 
             /**
             * Release exclusive access to current unit. Throws ResourceUnavailableException on error.
             *
-            * @param c Ice context provided by the Ice framework
+            * \param c Ice context provided by the Ice framework
             */
             virtual void release(const Ice::Current& c = ::Ice::Current());
 
diff --git a/source/RobotAPI/components/units/TCPControlUnit.h b/source/RobotAPI/components/units/TCPControlUnit.h
index 13506f6401f77d8f4e97096f2db464b7fccdf424..030891c76bf6b8e02d928317e07a3f168d746a4f 100644
--- a/source/RobotAPI/components/units/TCPControlUnit.h
+++ b/source/RobotAPI/components/units/TCPControlUnit.h
@@ -33,9 +33,12 @@
 #include <RobotAPI/libraries/core/remoterobot/RemoteRobot.h>
 #include <Core/interface/observers/ObserverInterface.h>
 
-namespace armarx {
-
-
+namespace armarx
+{
+    /**
+     * \class TCPControlUnitPropertyDefinitions
+     * \brief
+     */
     class TCPControlUnitPropertyDefinitions:
             public ComponentPropertyDefinitions
     {
@@ -55,9 +58,11 @@ namespace armarx {
     };
 
     /**
-     * @class TCPControlUnit
-     * @ingroup RobotAPI-SensorActorUnits
-     * @brief This class implements the interface to control a node of a robot (e.g a TCP)
+     * \class TCPControlUnit
+     * \ingroup RobotAPI-SensorActorUnits
+     * \brief Unit for controlling a tool center point (TCP).
+     *
+     * This class implements the interface to control a node of a robot (e.g a TCP)
      * in cartesian coordinates in velocity control mode. It takes velocities in mm/s for
      * translations and rad/s for orientation. Several nodessets can be controlled simultaneously.
      *
@@ -67,76 +72,72 @@ namespace armarx {
      * updates the joint velocities. To set another cycle time use setCycleTime().
      * To set the velocity for a node use setTCPVelocity. Calling setTCPVelocity again with another nodeset
      * will add this nodeset to the list of currently controlled TCPs.
-     * @node After usage release() **must** be called to stop the recalcuation and setting of joint velocities.
+     *
+     * \note After usage release() **must** be called to stop the recalcuation and setting of joint velocities.
      */
-
     class TCPControlUnit :
             virtual public Component,
             virtual public TCPControlUnitInterface
-
     {
     public:
         TCPControlUnit();
 
-
-
-
         // TCPControlUnitInterface interface
 
         /**
-         * @brief Sets the cycle time with which the joint velocities are recalculated.
-         * @param milliseconds New cycle time.
-         * @param c Ice Context, leave blank.
+         * \brief Sets the cycle time with which the joint velocities are recalculated.
+         * \param milliseconds New cycle time.
+         * \param c Ice Context, leave blank.
          */
         void setCycleTime(Ice::Int milliseconds, const Ice::Current &c = Ice::Current());
 
         /**
-         * @brief Sets the cartesian velocity of a node in a nodeset for translation and/or orientation.
+         * \brief Sets the cartesian velocity of a node in a nodeset for translation and/or orientation.
          * It is best to provide the data in global coordinates. Otherwise the coordinates frame transformation is done in place
          * on the current robot state, which might not be the same as when the command was given. Additionally, execution inaccurracies
          * might propagate if local coordinate frames are used.
-         * @param nodeSetName Nodeset that should be used for moving the node, i.e. tcp
-         * @param tcpName Name of the VirtualRobot node that should be moved
-         * @param translationVelocity Target cartesian translation velocity in mm/s, but might not be reached. If NULL the translation is ommitted in the calculation.
+         * \param nodeSetName Nodeset that should be used for moving the node, i.e. tcp
+         * \param tcpName Name of the VirtualRobot node that should be moved
+         * \param translationVelocity Target cartesian translation velocity in mm/s, but might not be reached. If NULL the translation is ommitted in the calculation.
          * Thus the translation behaviour is undefined und the node/tcp position might change.
-         * @param orientationVelocityRPY Target cartesian orientation velocity in rad/s in roll-pitch-yaw, but might not be reached. If NULL the orientation is ommitted in the calculation.
+         * \param orientationVelocityRPY Target cartesian orientation velocity in rad/s in roll-pitch-yaw, but might not be reached. If NULL the orientation is ommitted in the calculation.
          * Thus the orientation behaviour is undefined und the node/tcp orientation might change.
-         * @param c Ice Context, leave blank.
+         * \param c Ice Context, leave blank.
          *
-         * @see request(), release()
+         * \see request(), release()
          */
         void setTCPVelocity(const std::string &nodeSetName, const std::string &tcpName, const::armarx::FramedDirectionBasePtr &translationVelocity, const::armarx::FramedDirectionBasePtr &orientationVelocityRPY, const Ice::Current &c = Ice::Current());
 
         // UnitExecutionManagementInterface interface
         /**
-         * @brief Does not do anything at the moment.
-         * @param c
+         * \brief Does not do anything at the moment.
+         * \param c
          */
         void init(const Ice::Current &c = Ice::Current());
         /**
-         * @brief Does not do anything at the moment.
-         * @param c
+         * \brief Does not do anything at the moment.
+         * \param c
          */
         void start(const Ice::Current &c = Ice::Current());
         /**
-         * @brief Does not do anything at the moment.
-         * @param c
+         * \brief Does not do anything at the moment.
+         * \param c
          */
         void stop(const Ice::Current &c = Ice::Current());
         UnitExecutionState getExecutionState(const Ice::Current &c = Ice::Current());
 
         // UnitResourceManagementInterface interface
         /**
-         * @brief Triggers the calculation loop for using cartesian velocity. Call once before/after setting a tcp velocity with SetTCPVelocity.
-         * @param c Ice Context, leave blank.
+         * \brief Triggers the calculation loop for using cartesian velocity. Call once before/after setting a tcp velocity with SetTCPVelocity.
+         * \param c Ice Context, leave blank.
          */
         void request(const Ice::Current &c = Ice::Current());
 
         /**
-         * @brief Releases and stops the recalculation and updating of joint velocities.
+         * \brief Releases and stops the recalculation and updating of joint velocities.
          * Call always when finished with cartesian control. The target velocity values of
          * all node set will be deleted in this function.
-         * @param c Ice Context, leave blank.
+         * \param c Ice Context, leave blank.
          */
         void release(const Ice::Current &c = Ice::Current());