RobotAPI

Modules

 DebugDrawerConfigWidget
 
 Intelligent Coordinates
 
 RobotAPI Components
  
 
 RobotAPIComponentPlugins
 
 RobotStatechartHelpers
 
 RobotUnit
 
 RobotUnitDataStreamingReceiver
 
 Statecharts
 
 armem_grasping
 
 diffik
 
 natik
 

Detailed Description

The RobotAPI package provides a robot-intependent API that other ArmarX packages can use for accessing central functionality of a robot. The central elements of RobotAPI are Sensor-Actor Units, i.e. components responsible for the propagation of sensor values and actor targets. Sensor-Actor Units work as a link between higher level ArmarX components and the actual robot hardware or a robot simulation environment, respectively. The RobotAPI package contains base classes for Sensor-Actor Units for different purposes, e.g. KinematicUnit for sensors and actors related to robotic joints. Concrete Sensor-Actor Units inherit from these base classes in order to provide a common interface. Each type of hardware and each type of simulation environment requires a distinct set of Sensor-Actor Units that handle the hardware/simulator access, e.g. KinematicUnitArmar3 and KinematicUnitArmar4 for accessing the kinematic elements of ARMAR-III and ARMAR-4, respectively:

Inheritance diagram for Sensor-Actor Units

There are three ways to access Sensor-Actor Units:

Inheritance diagram for Sensor-Actor Units

Further documentation on the various contents of the RobotAPI package:

Intelligent Coordinates
RobotAPI provides datatypes for intelligent coordinates that refer to a robot coordinate frame and can be conveniently transformed between different frames. Datatypes are available for positions, orientations, directions and poses.
Read more
Remote Robot State
The ArmarX Robot State is the global pose and joint configuration of a robot and is used for coordinate frame transformations. These Transformations between coordinate frames are essential everyday operations in a robotics framework. ArmarX offers several ways to cope with the different requirements of coordinate transformations in a distributed system like ArmarX.
Read more
Interfaces
RobotAPI provides robot-independent interface definitions that are implemented and used by components in other ArmarX packages. Important interfaces in RobotAPI for instance provide access to the kinematic robot state, different sensor modalities, inverse kinematics computations or the robot visualization.
Read more
Components
RobotAPI not only provides interfaces, but also implementations of robot-independent components. This includes components for management of the robot state or inverse kinematics computations as well as sensor-actor units.
Read more
GUI-Plugins
RobotAPI contains several robot-independent GUI-plugins that refer to the above components. Available GUI-plugins provide access to the kinematic robot state, end effectors, inverse kinematics computations or different sensor modalities. RobotAPI also provides a GUI-plugin for robot visualization.
Read more
RobotUnit
RobotUnit
GamepadUnit
GamepadUnit