Orocos Component Library
1.10.1
This project consists of a series of independent Orocos components which can be used to build a control application. It uses the Orocos RealTime Toolkit and KDL, a kinematic and dynamic library which is available through svn at
http://svn.mech.kuleuven.be/repos/orocos/trunk/kdl
Examples for the usage of all components can be found in the respective tests subdirectory
Some Orocos Components requires a number of libraries in order to build. These are:
- Every component requires the Real-Time Toolkit (RTT).
- KDL for kinematics and path interpolation
- ncurses and readline for the OCL::TaskBrowser
- Comedi for the hardware comedi support
- OpenCV for the OCL::CaptureCamera firewire component.
The
OCL::HelloWorld component demonstrates the TaskContext interface and how it can be used in applications.
Components for real-time data capturing. Currently console and file reporting is supported.
A Component for online interaction with any other component. Your main tool during component development, testing or experimenting.
Component for loading and configuring components into an application.
A Component which sends naxisposition values to the kdlviewer. KDLViewer is an application of KDL and can be found on
http://svn.mech.kuleuven.be/repos/orocos/apps/kdl/kdlviewer
Components for various devices (like sensors) and hardware platforms, the simulation devices can be used by everyone,
-
kuka: Implementation for use with Kuka160 and Kuka361, simulation can be used for everyone, realtime execution only in our lab (KULeuven/PMA/robotics) since the interface to the different DAQ-cards is very specific. A software EmergencyStop is implemented to safely stop the robots.
-
wrench: Implementation for use with JR3-sensor, can be used by everyone using the pci-interface to a JR3-sensor. The specific lxrt-drivers can be found in the driver subdirectory.
-
camera: Implementation for use with firewire camera's and OpenCV. Can be used by everyone.
-
krypton: Implementation to get Krypton (see www.metris.com) measurements in realtime. The specific lxrt-drivers can be found in the driver subdirectory.
-
demotool: Implementation to combine Krypton and WrenchSensor measurement for the human demonstration tool in our lab (KULeuven/PMA/Robotics)
-
laserdistance: Implementation to read and convert the LaserSensor measurements. Can only be used through the NI-6024 pci card in our lab(KULeuven/PMA/Robotics). But can be an example for everyone.
-
io: Implementation to read/write the Orocos device interface. It can handle the RTT::AnalogInInterface, RTT::AnalogOutInterface, RTT::DigitalInInterface and RTT::DigitalOutInterface objects. The analog IO is made available as Data ports and methods, while the digital IO is available only through methods.
-
axes: Implementation to access the Orocos Axis interface. It uses the RTT::AxisInterface to allow the user to manipulate them. Several ports and methods are available per axis in a single component. Usefull for quick testing of axis implementations.
Components for path interpolation and control in cartesian and joint space. These components need KDL for the path interpolation and for the cartesian operations.
-
naxes: These components include different controllers and generators(interpolators) and an effector(output) and sensor(input) which sends velocity setpoints to and reads position measurements from dataports shared with one of the hardware-components. It can be used for any number of axes.
-
cartesian: These components include different controllers and generators(interpolators) that control cartesian setpoints in 6D (3 translations and 3 rotations). It uses a KDL::KinematicFamily (see KDL) to convert the axes positions to cartesian position and the cartesian velocity to axes velocities. It gets and sends its position and velocities to dataports shared with one of the hardware-components. It can be used for any number of axes.