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