Components for Control
| OCL |
The Orocos Component Library uses the Real-Time Toolkit (RTT) for constructing all its components.
Some components use the Kinematics and Dynamics Library (KDL), the Bayesian Filtering Library (BFL) or other libraries.
Below is a list of currently available components:
- Hello World [ready]
- The HelloWorld component demonstrates the TaskContext
interface and how it can be used in applications. This component is used in the tutorial.
- Reporting [ready]
- Components to report the data flow
between components to the console or a file. The reporter components can be configured to report the data flow at specific data ports of a component, or to report all to data flow from and to a component at once.
- Taskbrowser [ready]
- A text oriented user interface for online interaction with components. The taskbrowser allows you to interact with a component through its task context interface: call methods and commands, handle properties and data ports, etc. This is your main tool during component development, testing or experimenting.
- Deployment [beta stage]
- Component for connecting and configuring an application.
- 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.
- 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.

Improve OCL page
I'd like to have a better 'OCL' overview page. The Drupal Content Construction Kit (CCK) allows to create custom 'node' (page) types. One could create a 'component' node which contains a link to the API, a short description, contact person, download link etc. The Drupal 'Views module' allows then to list all added components on a single page. Each component may receive comments from users. This looks then much like an 'ebay', 'shopping list' or drupal 'modules' page.
An icon per component type would be welcome to. The component categories are already in the system, associating an icon with these (like in slashdot) would improve readability.