Underwater Glider Embedded Control System Design Based on QNX Real-time Kernel

Similar documents
Migrating Linux Device Drivers to a Microkernel POSIX RTOS: A Case Study. David Donohoe Senior Software Developer QNX Software Systems

Remote Monitoring System of Ship Running State under Wireless Network

BRDS ( , WS 2017) Ulrich Schmid

Improvement of the Communication Protocol Conversion Equipment Based on Embedded Multi-MCU and μc/os-ii

1. Attempt any three of the following: 15

Research of tooling test signal collection and analysis Guozhuang Liang 1, a, Xuan Chen 1,b,Yufeng Yao 2,c

Robust Controller Design for an Autonomous Underwater Vehicle

The Simulation of the VAPS XT Cockpit Display and Control System Based on the Integrated Data Distribution Network

Surveying of Underwater Robot for Marine Exploration

Wireless Control and transmission of Data for underwater Robot

AIR - A Framework for Exploiting Redundancies in Service-Based Applications

Govt. of Karnataka, Department of Technical Education Diploma in Computer Science Sixth Semester. Contact Hrs / week: 4 Total hrs: 64

Fastboot Techniques for the x86 Architecture. Ben Biron QNX Software Systems

An AUV for Ocean Exploring and its Motion Control System Architecture

A Method for Calculating the Amount of Movements to Estimate the Selfposition

Research and Design of Universal Proportional Valve Controller

DEVELOPMENT OF USER FRIENDLY DATA ACQUISITION AND ACTUATION SYSTEM ON EMBEDDED PLATFORM

LAIR. UNDERWATER ROBOTICS Field Explorations in Marine Biology, Oceanography, and Archeology

The Research of Delay Characteristics in CAN Bus Networked Control System

Implementation of Step Motor Control under Embedded Linux Based on S3C2440

Analysis and Research on Improving Real-time Performance of Linux Kernel

Release Notes for QNX Neutrino BSP for Renesas SH7785 SDK 1.0.0#

Study of Smart Home System based on Zigbee Wireless Sensor System. Jie Huang 1

Hardware design of a submerged buoy system based on electromagnetic inductive coupling

Test Analysis of Serial Communication Extension in Mobile Nodes of Participatory Sensing System Xinqiang Tang 1, Huichun Peng 2

Making Embedded Systems

Research on Technologies in Smart Substation

Path Planning and Decision-making Control for AUV with Complex Environment

International Conference on Information Sciences, Machinery, Materials and Energy (ICISMME 2015)

The IIC interface based on ATmega8 realizes the applications of PS/2 keyboard/mouse in the system

User-Space Debugging Simplifies Driver Development

Implementation and validation of SAE J1850 (VPW) protocol solution for diagnosis application

Agriculture Wireless Temperature and Humidity Sensor Network Based on ZigBee Technology

A Review Paper On The Performance Analysis Of LMPC & MPC For Energy Efficient In Underwater Sensor Networks

Making Buildfiles for the QNX Neutrino RTOS, Part 2

SE300 SWE Practices. Lecture 10 Introduction to Event- Driven Architectures. Tuesday, March 17, Sam Siewert

AUV Cruise Path Planning Based on Energy Priority and Current Model

Overall Structure of RT Systems

CHAPTER 3 LabVIEW REAL TIME APPLICATION DEVELOPMENT REFERENCES: [1] NI, Real Time LabVIEW. [2] R. Bishop, LabVIEW 2009.

Introduction. What is an Operating System? A Modern Computer System. Computer System Components. What is an Operating System?

Temperature Measurement and Control System Based on Embedded WEB

Computer Hardware Requirements for Real-Time Applications

Lesson 5: Software for embedding in System- Part 2

Jacquard Control System of Warp Knitting Machine Based on Embedded System

UNDERWATER ACOUSTIC MODEMS PRODUCT INFORMATION GUIDE

A Design of Remote Monitoring System based on 3G and Internet Technology

ECEN 449 Microprocessor System Design. Hardware-Software Communication. Texas A&M University

DEFENSE & SECURITY CONNECTIVITY SOLUTIONS

DYNAMIC POSITIONING CONFERENCE September 16-17, Sensors

Design of Greenhouse Temperature and Humidity Monitoring System Based on ZIGBEE Technique Ming Xin 1,a, Wei Zhongshan 1,b,*

Related Work The Concept of the Signaling. In the mobile communication system, in addition to transmit the necessary user information (usually voice

Review on an Underwater Acoustic Networks

Real-Time Systems and Intel take industrial embedded systems to the next level

ARM Embedded Development Using Oberon-07

Wireless Remote Water Meter Design of Automatic Meter Reading System

What are Embedded Systems? Lecture 1 Introduction to Embedded Systems & Software

EMBEDDED LINUX ON ARM9 Weekend Workshop

Embedded Linux Architecture

Arduino Uno. Power & Interface. Arduino Part 1. Introductory Medical Device Prototyping. Digital I/O Pins. Reset Button. USB Interface.

Test and Verification Solutions. ARM Based SOC Design and Verification

Designing Embedded Processors in FPGAs

Liquor Detection through Automatic Motor Locking System: In Built (LDAMLS)

Research on Image Sensor System Acquisition Based on ARM

An Example of Network Video Monitoring System Based on DM6446. ChaoJun Yan

DiskOnChip 2000 MD2200, MD2201 Data Sheet

Key Technology of Monitoring and Control for Coal Shearer Supporting Network Convergence

Design of Temperature and Humidity Data Acquisition System. Based on ARM

Short Term Courses (Including Project Work)

A Network Disk Device Based on Web Accessing

EMS CPC XTI. CAN-PC Interface. User Manual THOMAS WÜNSCHE. Documentation for CAN-Interface CPC-XTI.

EMS CPC 104I. CAN-PC Interface. User Manual THOMAS WÜNSCHE. Documentation for plug-in board CPC-104I.

AC : INFRARED COMMUNICATIONS FOR CONTROLLING A ROBOT

Embedded Device Server. White Paper. English ver 1.2

2017 International Conference on Economics, Management Engineering and Marketing (EMEM 2017) ISBN:

Performance Optimization for an ARM Cortex-A53 System Using Software Workloads and Cycle Accurate Models. Jason Andrews

Motion Control Computing Architectures for Ultra Precision Machines

The Design of the Embedded WEB Server Based on ENC28J60

On Efficient Data Collection and Event Detection with Delay Minimization in Deep Sea

Components & Characteristics of an Embedded System Embedded Operating System Application Areas of Embedded d Systems. Embedded System Components

Design of Underground Current Detection Nodes Based on ZigBee

TIP570-SW-95 QNX-Neutrino Device Driver TIP570 16/8 Channel 12 Bit ADC and 8 Channel 12 Bit DAC on SBS PCI40 Carrier

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory

Processor Affinity or Bound Multiprocessing? Easing the Migration to Embedded Multicore Processing

Design and Implementation of a Multi-Function Data Acquisition System based on Android Platform

PXA270 EPIC Computer with Power Over Ethernet & Six Serial Protocols SBC4670

Research and Application of Unstructured Data Acquisition and Retrieval Technology

hperry - 5/2/01 1 Real Time System Testing (MIT Lecture 31)

A Remote Mobile Controlling and Monitoring Vehicle System

Research on Scalable Zigbee Wireless Sensor Network Expansion Solution

VIRTUAL INTERFACE FOR CONTROLLING A REMOTE-HANDLE ROVER

1 Mission Level Design. of Autonomous Underwater Vehicles

Automating with STEP 7 in STL

Hardware-In-the-loop simulation platform for the design, testing and validation of autonomous control system for unmanned underwater vehicle

Comprehensive analysis and evaluation of big data for main transformer equipment based on PCA and Apriority

Unlocking the Potential of Your Microcontroller

The Application of CAN Bus in Intelligent Substation Automation System Yuehua HUANG 1, a, Ruiyong LIU 2, b, Peipei YANG 3, C, Dongxu XIANG 4,D

ECGR4161/5196 Lecture 6 June 9, 2011

CISC RISC. Compiler. Compiler. Processor. Processor

Realization of Automatic Keystone Correction for Smart mini Projector Projection Screen

An Architecture for Underwater Networks

Transcription:

Underwater Glider Embedded Control System Design Based on QNX Real-time Kernel Xibo Wang 1,2, Song Liu 2, Ge Yu 1, Qian Li 2 1. College of Information Science and Engineering, Northeastern University, Shenyang, China 2. School of Information Science and Engineering, Shenyang University of Technology, Shenyang, China E-mail: wangxb@sut.edu.cn Abstract Underwater glider, being a new kind of underwater autonomous robot which has no external propulsion system equipped on it, is driven depending on buoyancy adjustment of itself. In development of underwater glider, its control system design plays an important role. The paper put forward the design approach to build embedded control system based on a real-time kernel in underwater glider. Hardware configuration of the control system is designed, in which SysCentreModuleTM-7108B main-board and M-System DOC2000 flash memory serve as core. The methods that drive DiskOnChip under QNX as well as QNX kernel migration to M-System DOC2000 are given. Main content and fundamental frame of system boot file-buildfile which suitable for the embedded control system is created. Control system software modules applied in underwater glide is described and some of them were developed. All application software is supported by QNX real-time kernel and ultimately resided on DOC together with QNX. Theoretical analysis and some simulation experiments prove that the design idea is correct and the implementation approach is feasible. Key words underwater Glider, QNX real-time kernel, embedded Software design, OS migration, simulation I. INTRODUCTION Initially conceived by Henry Stommel[1], autonomous underwater gliders has attracted strongly research interests in ocean exploring and monitoring field. Underwater glider is a new kind of underwater autonomous robot which has no external propulsion system equipped on it. Underwater glider is driven depending on buoyancy adjustment system of itself. Adjustment system change barycenter of the carrier and gravity changes its gesture. Therefore, underwater glider can navigate along periodical zigzag track in water. Sailing sketch map of underwater glider is shown in Fig 1. Figure 1. Sailing sketch map of underwater glider Generally speaking, underwater glider has approximately 5 KG load capability. Except navigation control system absolutely necessary hardware, various appropriative sensors can be mounted on underwater glider to satisfy task need of ocean exploring and monitoring. Considering spatiotemporal density and operational flexibility on ocean monitoring, underwater glider shows prominence application future. U.S Office of Naval Research provided financial support for Autonomous Oceanographic Sampling Network (AOSN) project, several seaworthy gliders which named Sea-glider[2], Spray[3] and SLOCUM [4] were developed respectively. Underwater glider have distinct propulsion and navigation system comparing with traditional underwater robot, therefore, it s controller design and navigation as well as sailing programming are different and novel. In order to develop underwater glider, it is critical to design its control system. Considering restriction of carrier space and load capacity, submarine control system of underwater glider should be embedded system so as to achieve high mobility and the robustness. Embedded application under supported by 978-1-4244-1676-9/08 /$25.00 2008 IEEE RAM 2008

real-time operating system kernel represents embedded system development direction. Under real-time kernel, flexibility and extensibility of software module designing can be realized. Oriented to underwater glider, the paper design and implement embedded control system based on QNX real-time kernel. II. EMBEDDED CONTROL SYSTEM HARDWARE DESIGN Underwater glider is comprised of submarine control computer, gravity adjustment system, buoyancy adjusting system, energy system, sensors system etc. Control computer responsible for navigating data collection, glider s position prediction, motion control algorithm implementation, failure diagnosis as well as communication with surface mainframe. Communication subsystem of the submarine control computer realize the function of download navigating plan from surface mainframe, upload glider navigation state to surface mainframe. Hardware configuration of the underwater glider control system is shown in Fig. 2. 128M DOC SCM-7018B 128M SDRAM algorithm calculation. D/A module provide control pulse output for step motors of buoyancy, gravity and pitching adjustment system. Serial interface board used to connect navigation positioning system. It transmits navigating positioning data information of GPS, Speed-meter and TCM2-50 electrical compass to embedded control system. The navigating positioning data is ultimately important for glider s position prediction and control. Power transmission board is a self-make board. The function is obtains embedded computer working power by inverted supply equipped on glider. III. EMBEDDED SOFTWARE DEVELOPING PLATFORM Underwater glider executes ocean monitoring tasks at submarine special environment. Real-time and security of the software is required mostly. Comprehensive considering factors of running speed, kernel size, scheduling strategy, security and power consumption, QNX Neutrino real-time operating system is employed in the underwater glider control system development. The inherent reliability and excellent performance have proved that QNX RTOS is a optimal real-time embedded to support X86 series microprocessor[5]. PC104 Bus Power board ADT650 board Serial interface Serial port A/D Module D/A Module GPS Speed-meter Gyro Depth meter Altimeter Leak water detection Thruster A. QNX microkernel architecture and it s security guarantee QNX microkernel adopts optional priority preemptive scheduling strategy. The main function of the kernel are processes scheduling and processes communication as well as interrupt handle, other services are provided by optional processes. The QNX Neutrino OS microkernel structure illustrate in Fig.3. TCM2 Figure 2. Underwater glider embedded control system hardware configuration In hardware design, SysCentreModule TM -7108B main-board bases on PC104 bus standard was selected, in which X86 processor is core. M-System DOC2000 flash memory was choose and equipped on SCM-7018B to provide DiskOnChip memory. QNX kernel and all control system software module supported by QNX are resident on this DOC. ADT650 Extension board provided A/D, D/A modules. A/D module is responsible for detecting underwater glider navigating information which needed for motion control Figure 3. Architecture of The QNX Neutrino RTOS

From the architecture, it can be seen that QNX Neutrino acts as a kind of software bus. OS modules can plug in/out dynamically whenever needed. Except kernel, all processes have equal rank to interact with each other through the coordinating kernel [6]. The kernel is cabinet and run fast, can satisfy the need of underwater glider correct motion controlling with period of 16ms. QNX microkernel OS also offers complete memory protection, It provides protection not only to OS components (device drivers, file systems, etc.), but also to user applications processes. That means all process is decoupling with kernel and running in a protected memory address space. In case a module failure, OS system can not crash. This feature guarantees the security of underwater glider embedded control system. A. DOC driven procedure and QNX migration method QNX kernel and all control software module running on QNX will eventually resident on DiskOnChip flash memory which mounted on embedded processor main-board SCM-7108B in form of OS image [7]. OS image is a file that contains OS kernel, executable application module, and any data files related to user s programs. In the development of underwater glider control system, OS image must be created and transferred to DOC. The first step of establishment development environment is DOC driving. The DOC driven procedure and QNX migration on DOC are as follow: Load QNX6.0 and DOC device driver on mainframe Drive DOC under mainframe Format DOC, do corresponding configuration, restart QNX and run DOC device driver, then mainframe can aware DOC. At this time, DOC can be found by QNX running on mainframe Create partition for DOC and write to QNX Loader Drive DOC physically and initiate QNX file system on DOC partition, and then, Drive QNX file system physically on DOC partition Copy QNX system files to corresponding address on DOC partition Create a start image file named buildfile which consists of a boot-file, a script, a list of links. Compile buildfile to form.boot file and transfer to DOC Now, QNX operating system platform is migrated on DOC in X86 embedded main-board. Main content and frame of buildfile is shown as follow: { [virtual=x86,bios +compress].bootstrap = { startup-bios -Nmachine-name PATH=/proc/boot:/bin:/sbin LD_LIBRARY_PATH=/proc/boot:/dev/shmem:/lib:/lib /dll procnto [+script].script={ devc-con -n4 & reopen /dev/con3 devb-doc blk automount=hd0t77:/ & pipe & [+session] sh & reopen /dev/con1 [+session] sh [search=${mkifs_path:/root] [type=link] /tmp=/dev/shmem [type=link] /usr/lib/ldqnx.so.2=/proc/boot/libc.so libc.so devb-doc IV. EMBEDDED CONTROL SYSTEM SOFTWARE DESIGN A. Software general structure design Software can be divided into two parts: surface software system running on mainframe and submarine software system running on underwater glider embedded system. Surface

software system is responsible of task planning, data receiving, mission commands sending and motion trace displaying etc. Submarine software system realizes navigation control of underwater glider. Communication subsystem is the bridge of surface and submarine system. The software general structure is shown in Fig.4. hardware resource of serial port, make configuration for serial controller driver parameters in order to implement serial communication. The reception module program flowchart of submarine communication system is shown in Fig.5. Start Surface control system Monitor and task manage Initialize and set serial port parameters Mission program Mainframe Data analysis Open the serial port and open interruption Monitor interrupt Surface communication Occur? N Submarine control system Submarine communication Task analysis Y Interruption handle and read date from serial port Embedded processor system Navigation control Common data zones Close interruption,reset interrupt permission register and reopen interruption Security control Data Collection End Figure 4. Sketch map of the software general structure Figure 5. Flowchart of receive module of submarine carrier B. Communication software design Before underwater glider diving, it can connect to mainframe via serial cable and download navigation plan, while the carrier diving, wireless radio station is utilized to transmit data between surface and submarine. Underwater glider receive commands from surface mainframe occasionally, interrupt style is adopted in reception module of submarine communication subsystem of the carrier, while query style is used in reception module of surface communication subsystem for receiving data from carrier frequently. Transmission module of surface and submarine communication subsystem use query style. Surface communication subsystem should running on PC, it just needs serial port communication functions driven by QNX. By simply set the parameters such as the baud rate, the verification position, the data length, etc, communication can be realized by read(write) data from(to) serial port. While on subsystem of the carrier, serial ports driver being customized and ported from QNX, it has to load OS image file, register Brief frame of submarine communication subsystem illustrate as follow: *Include files* main(){ OpenPort();//open serial port ClosePort();//close serial port void OpenPort(){ InitCOM();//initialize serial port *Initialize internal register set interruption vector and interruption processing function, interruption number 4* InterruptAttach(4,asyncint,NULL, 0, 0); InterruptEnable();//open interrtuption const struct sigevent *asyncint (void *arg, int id)

{ out8(0x20,0x20); Data sampling Static modeling Sensor grouping void ClosePort(void) { *close interruption and reset interrupt permission register, reopen interrupt* void InitCOM(){ ThreadCtl(_NTO_TCTL_IO, NULL); *Initialize the internal register and set serial communication parameters* unsigned char read_char(){ *read data from buffer* void send_char(unsigned char *unch){ *detect circuitry state register and when it is 1, then send data to send data register* The communication programs have been debugged in experiment environment and already successfully used in serial communication of underwater glider. C. Approach for increase detect and control precision Underwater glider navigating state information can collect by multi-sensors equipped on it. For instance, data can obtain from DVL speed-meter, TCM2 electrical compass, as well as information from A/D converter. One navigation parameter may come from different sensor. Single sensor has the characteristic of imperfection and uncertainties because of measuring data affected by environment and carrier motion state. So multi-sensor data fusion approach has been proposed for increase detect precision. Meanwhile, some sensor s detecting data is affected by corresponding factors, dynamic correction is needed according to state changing of carrier. Considering various factors, reliable data acquisition approach is proposed and shown in Fig.6. Coordinate conversion Figure 6. Dynamic correction Data processing ( store and access) Approach of increase detecting precision On the basis of the processed data, precision of ship position prediction algorithm as well as control algorithm will be higher. V. CONCLUSION Data fusion Special navigation style of underwater glider decide that it s navigation control system should be embedded. Real-time application supported by real-time operating system represent embedded system development trend. The proposed scheme of underwater glider embedded control system based on QNX real-time operating system is advanced and rational in technology. Designing technique analysis and some simulation experiments prove that the design idea is correct and the implementation approach is feasible. The proposed technology scheme and technology implementation approach will be able to have good model function and guiding sense in relevant research. REFERENCES [1] Stommel. H.. The Slocum mission. Oceanography, 1989,2(1),22-25 [2] Eriksen C. C, Osse, T. J, Light R. D., Sea-glider: A long-range autonomous underwater vehicle for oceanographic research, IEEE Journal,Oceanic Engineer, 2001,26(4),. 424-436 [3] Sherman J, Davis R. E, Owens W. B, The autonomous underwater glider Spray, IEEE Journal Oceanic Engineer, 2001, 26(4), 437-446 [4] Webb D.C, Simone P.J and Jones C.P, SLOCUM: An underwater glider propelled by environment energy IEEE Journal, 2001, IEEE Journal Oceanic Engineer, 2001, 26(4), 447-452 [5] RTOS Evaluation Project Net.pdf [EB/OL]. Comparison between QNX6.1 VxWorks AE1.1 and Windows CE,http://www.dedicated-systems.com, 2002, 05. [6] QNX Software Systems Ltd. Systems Architecture. http://www.qnx.com, 2006. [7] QNX Software Systems Ltd. Building Embedded Systems. http:// www.qnx.com, 2006.