Download cubeos a component-based operating system for autonomous systems

Transcript
CHAPTER 4. APPLICATION OF CUBEOS
102
Interface layer
Control Layer
periodic timer
MC68332 onboard TPU
Stop base
set new
pulsewidth
M
M
D
E
F
QDEC 2
compute
correction values
C
QDEC 1
Get position
B
QDEC 2
update position
and orientation
A
QDEC 1
Drive vector
Channels:
PWM
read quadrature
decoders
PWM
Set target speed
Figure 4.2: Internal structure of the RobLib
the TPU hardware and sets up the channel functions. The control information for the mobile
base state and the odometry position is reset to orientation 0 degrees, position (0,0), speed 0.
4.2 interpreter for visual control block architecture: icon-L
As an example for an industrial application, a visual control and programming environment for
factory automation systems has been ported to CubeOS and the RoboCube. The icon-L system
is used to control and program various programmable control systems in industrial applications.
icon-L is a product of ProSign[Pro], a german software company.
The icon-L architecture is a graphical programming tool for controller applications that is based
on so-called function blocks. Function blocks consist of a visual interface for design and inspection and of multiple binary components for multiple target systems that implement the
functionality of the function block. The graphical programming tool allows the combination
of pre-existing function blocks to complex software structures. The advantage of the graphical
approach is that there is no need for classical programming skills and therefore, a designer that
has specialized knowledge in the application domain of a system can start working even with
limited training. To be as portable as possible among different embedded control targets, iconL utilizes a virtual hardware-independent processor. The application generated by the graphical
programming tool is downloaded into the target in form of a list of pointers. The virtual processor then calls the appropriate pointers to call functions within the target-dependent binary
component that corresponds to the function block (See Figure 4.3).
The virtual processor, the function block target library and its support routines form the icon-L
target code. They are written in ANSI-C. Porting the icon-L target code to CubeOS was done
in several steps. In a first step, the support routines (the so-called D-Shell) were derived from
existing template code and adopted to the CubeOS API. In the next step, the generic function