The Robotic Arm Case-Study

                                  Live demo at ETFA'07 

Introduction
To demonstrate the applicability of the IEC61499 Function Block model in the robotics application domain and prove the effectiveness and usability of our a) IEC61499 compliant FB execution environment (RTAI-AXE), b) tool infrastructure (CORFU ESS and Archimedes System Platform) and c) development process, we have developed the Robotic arm example application. The results of this work are described in the paper entitled  "Using the Function Block Model for Robotic Arm Motion Control" by G. Doukas, K. Thramboulidis, Y. Koveos [MED06].

The robotic arm
The robotic arm that is used in this example consists of 9 links connected appropriately so that 3 parallelogram mechanisms are formed. The structure of the arm ensures that specific links always remain parallel to each other (there are 3 sets of parallel links: {1,4,6} , {2,5,8} and {3,7,9} as referenced in the above schematic diagram).

Robot Arm Photo Robot Arm Schematic
A photo of the robotic arm. A schematic diagram of the robotic arm.

Actuators: 3 dc motors located at the base of the arm are used to actuate the robotic arm.
Sensors: 3 digital quadrature encoders, mounted on each motor axle, provide an indication of the movement and position of the robotic arm links.

This robotic arm was developed in the Laboratory for Automation and Robotics (LAR) at the Electrical and Computer Engineering department of Univerity of Patras.


For simplicity the robotic arm can be considered as a 3-link structure as shown below.

Simple Robotic Arm Animated


The control application
Each link of the simplified robotic arm can be controlled separately. The PID based control application block diagram for the control of a single link is shown bellow.
PID based control application block diagram for a single link.

 
Developing the FB-based control application
The above application is easily transformed to an appropriate FB network (see animation below).

Application transformation animation

Constructing FB types
Corfu FBDK was used to define the FB types that are required for the development of the Robotic arm control application. However, any other IEC61499 compliant ESS, such as Archimedes ESS, can be used to define FB types.

As an example the PID FB type that was used in this case study is given below:

1. PID_SIMPLE FB type graphical representation

The PID_SIMPLE FB type graphical represantation

2.
PID_SIMPLE FB type XML specification


Constructing the FB network diagram

Corfu ESS was utilized for the development of the FB network diagram. A first draft FB network diagram and the complete Function Block network diagram of the control application are given.


The run time environment
Our test run time environment consists of 2 PCs equipped with a Data Acquisition Card each (National Instruments 6024E).
Test environment

Both PCs are running the RTAI-AXE FB execution environment that was developed over RTAI Linux real-time OS.
For the MPI layer of the RTAI-AXE the comedi acquisition device driver is used.
The IPCP layer of the RTAI-AXE is implemented on top of RTnet (real-time Ethernet for RTAI).
Application deployment is supported by a prototype deployer of Archimedes System Platform.

Comming soon...
  • a graphical simulator of the robotic arm (that provides a socket interface for actuators an sensors),
  • the detailed control application FB network, with complete specification of FB types, 
  • the implementation model of FB types targeting the RTAI-AXE execution environment,
  • a binary version of the execution environment (non-RT),
  • the appropriate Mechanical Process Interface FB types to interface to the simulator,
  • and the appropriate tools to deploy the application.
Related links

Latest News

18/10/2005
Press release: IEC 61499 environments
11/10/2s005
New CORFU site. The old one can be reached here
6/10/2005
The new version 0.8 beta of CORFU ESS is released

MIM

Model Integrated Mechatronics

 

CORFU Framework

CORFU ESS