運動控制概論 題目:嵌入式機器手臂運動控制器 出處:中正大學 電機工程研究所碩士論文 中華民國九十九年七月 作者: 潘奕璁 同學 作者研究老師:黃國勝 博士 報告學生:黃元杰 同學 老師: 王明賢 老師 摘要 本論文的目的是發展一套可移植性,便於重複使用的機器人控制系統。鑑於 近年來電腦科技的快速進步。嵌入式系統已慢慢適合搭載機器人手臂上來用於日 常生活的環境。 在實作中,主要的目的是建立一個基於嵌入式系統的雙手臂控制器。在機器 手臂部分,利用逆向運動學的推導,與順向運動學的驗證,搭配特製輕型化的機 器手臂,以及電路連接與傳輸參數等設定,實做出機器手臂在空間中的運動控 制。為了實現可移植性,控制系統的實作採用開放架構的 Linux 系統和物件導向 程式化技術。此開發系統為一種獨立的架構。因此,設計者可為了設計結構的用 途而採用適合的模塊化設計來優化使用。 為了驗證所開發系統的可行性,輸入動作指令和目標位置於控制系統,機器 手臂即可如預期般順利的做出拾取移動之用途。 ii TABLE OF CONTENTS PAGE ACKNOWLEDGMENTS....................................................................................i CHINESEABSTRACT.......................................................................................ii ABSTRACT.........................................................................................................iii TABLE OF CONTENTS....................................................................................iv LIST OF FIGURES ............................................................................................vi I. LIST OFTABLES..............................................................................................vii INTRODUCTION................................................................................................1 1.1 1.2 Research Context .........................................................................1 Research Motivation....................................................................2 1.2.1 1.2.2 1.2.3 Embedded Linux....................................................................3 Portability...............................................................................5 Digital Home...........................................................................6 1.3 1.4 Research Objectives.....................................................................7 Research Method..........................................................................8 1.5 Thesis Structure ...........................................................................8 II. ANALYSISAND DESIGN................................................................................10 2.1 2.2 2.3 2.4 Problem Statement and Requirements Elicitation..................10 Functional Requirements..........................................................11 Nonfunctional Requirements....................................................12 Use Case......................................................................................12 2.5 2.6 Analysis Model...........................................................................16 HardwareAnalysis and Design.................................................19 2.6.1 2.6.2 2.6.3 2.7 Analysis and Design Control System..................................20 Analysis and Design Communication Interface................21 Design Hardware..................................................................25 Software Environment Analysis and Design ...........................25 2.7.1 2.7.2 2.7.3 Analysis and Design IDE.....................................................26 Analysis and Design Embedded Operation System..........27 Design Software....................................................................29 III. CONCLUSIONAND FUTURE WORK..........................................................30 5.1 5.2 Conclusion ..................................................................................31 Future Work...............................................................................32 LIST OF FIGURES Figure Page Figur e 1.1 Common embedded system.......................................................................6 Figure 1.2Auxiliary taking glass................................................................................7 Figure 2.1 Use case of the development platform ....................................................15 Figure 2.2Analysis model of initial control system.................................................16 Figure 2.3Analysis model of homing.......................................................................16 Figure 2.4Analysis model of axis control................................................................17 Figure 2.5Analysis model of arm control ................................................................17 Figure 2.6Analysis model of basic instruction control ............................................18 Figure 2.7Analysis model of behavior planning......................................................18 Figure 2.8Analysis model of class diagram.............................................................19 Figure 2.8 Main components of Linux OS ...............................................................28 vi LIST OFTABLES Table Page Table 1.1 Compare with system..................................................................................4 Table 2.1 5W1H analysis..........................................................................................10 Table 2.2 5W1H analysis..........................................................................................12 Table 2.3 Use case of homing...................................................................................13 Table 2.4 Use case of axis control.............................................................................13 Table 2.5 Use case of arm control.............................................................................14 Table 2.6 Use case of basic instruction for each axis................................................14 Table 2.7 Use case of behavior planning ..................................................................15 Table 2.8 Comparison with computer.......................................................................21 Table 2.9 Comparison with serial transmission........................................................24 Table 2.10 Comparison with IDE .............................................................................26 vii I. INTRODUCTION 1.1 Research Context In the past few years, Robotics has been a lot of progress and success stories, such as the auxiliary arm surgery, vehicle automatic driving system technology, exploration robot— Sojourner Rover on Mars, development of automating agriculture and aquaculture, museum tour systems and so on. The most widely used, is the automation robotic arm for industrial purposes. Robotic arm is one kind of general-purpose precisely mechanism designed by simulating the function of the human arm. As long as the robotic arm accord to the purpose of application field, installed appropriate platform and dress corresponding tools on the end of the arm. Can use in the field by setting corresponding program. For example: Assembling spraying gun at the end of the robotic arm and corresponding program to complete the painting job. Assembling welding gun at the end of the robotic arm is complete the work of assembling automobile. Using gripper to do as transportation, surgical precision technology, is beginning to appear in the eyes of the world. Its stability and maneuverability as a high-tech applications rather than be the object of fear or worry. In term of robotic system is different with the application of other software or hardware. There are the following features [1]: 1. Need to achieve high and complex targets. 2. In order to achieve the mobility of the system, need to interact with complex or dynamic environments. 3. Need to face the outside noise and unforeseen circumstances. 4. Need to response unexpected changes. 1 The requirements affect the design and operation of robotic systems. Addition to many hardware resources for interaction with the outside world, also need a hardware and software support to manage the entire resources of system and the response capability in real time. Therefore, in systems development platform capabilities required of the following [2]: Extensive hardware support and expansion to interact with the outside world. Ahardware and software support to manage effective the entire resources of system and the response capability in real time. Simple operating environment for users to edit and control. 1.2 Research Motivation Robot system has a certain complexity. It can be divided into much expertise in different field. For example: mechanism, hardware circuit, control, strategy, kinematics, visual, communication protocols, power system and so on. Therefore, the whole robot system must be division of labor and perform their duties. The hardware module in this thesis is designed to provide the software designer to concentrate on robotic-arm-related behavior and learning strategies. Through a simple set that can achieve the corresponding hardware module control. As the complexity of the robot control system is not built up overnight to complete. So it hopes to accumulate research results. Step by step to construct the hands, feet, visual, audition and sound system of the robot. And reduce duplication of hardware and software development time. Based on characteristics and future development of robot, the main motivation of this thesis would like to build a portable, easy to reuse controller of robotic arm. This controller has the following features: 2 1. It have extensive hardware support, and could expand by developer. 2. Developed by common programming language, accelerate learning and provide flexibility operation to users. 3. Allow developers to directly operate the bottom of the control instruction. 4. To provide intuitive control interface, let users and designers to quickly test the robot. Provide a direct interface has the following advantages: 1. To provide a simple interface for beginners to operate. 2. To facilitate the debugging and advanced of application for skilled people. 3. Let users to reduce anxiety, could direct control, encourage the exploration. In terms of the hardware, robotic arm exist long enough time. Maneuverability and stability has been gradually and widely by the public awareness. For the reason, the thesis tries to integrate the light robotic arm and embedded system. To create a consumer product is for the application of digital home. 1.2.1 Embedded Linux In recent years, as chip design and embedded system development. Its effectiveness has gradually conforming robotic arm complex of computing and algorithms needs. Besides, the hardware using of embedded Linux system architecture, has many Windows systems characteristics cannot be replaced [3]: Free software, open source, does not worry about copyright issues. Rich in resources, a number of forums, easy to find the point of the problem. Free for deletion or extended, users can customize the software packages required. Multitasking environment, parallel 3 processing, can handle multiple operations simultaneously on robot system. Facilitate of development, there are many ready-made tools to support various development. Use common PC or embedded hardware, Windows or Linux operating system, this is indeed a prerequisites for planning before implementation. Overlooking the majority of thesis, most of them construct in general PC with Windows. Has its simple, has its limited between. The following table lists some relevant comparison between the two systems: Table 1.1 Compare with systemWindowsSystem LinuxSystem resource much much modify permission valuable useful common cost cheap expensive high low power save waste difficult high low opensource realtime Although it would spend time to structure the environment, develop the application software and user interface. Because of open source and the advantages can be tailored hardware and software of the system. This is still the biggest motivation to select Embedded Linux system in thesis. 4 1.2.2 Portability Portability has two meanings - mobility and migration. These two features are one of the motivations expected to implementation in this thesis. Migration: If the establishment of system environment and compile applications of control program, every time a similar study or implementation have to start all over again once, is quite a thing to waste of human resources. Therefore, the initial design of this thesis is expected to be able to complete a reusable design and programming. Not just the migration of system environment, but also properly planning the control interface. The inheritor of user or developer can save time, manpower and material resources. Let resources invest in other areas. Mobility: Light-weight robotic arm control system is also the start of one of the motivations for this thesis. As the experimental device has a light weight robotic arm with only 8 kg. So let me rise the idea of "consumer product". Just as the progression of personal computers, expensive mainframe platform personal home computer notebook smart phone. This progress may represent one of the trends toward computer. It may also represent a popular opportunity. The more lightweight and high availability of equipment, the more attraction for general user. Figure1.1 shows an example of some embedded products. Not only the role of a robotic arm can work in factory, prostheses, support arm, digital home, robot parts, etc. Perhaps it is the time for robotic arm starting being a "consumer product". 5 Figure 1.1 Common embedded system[4] 1.2.3 Digital Home Digital Home [5] is a large concept. Hope that the people-oriented, science and technology into the home and family. Meet the information sharing, entertainment, communications and automation needs within the family. Be pursuit for more comfortable, efficient quality of life. Presently, more popular are audio and video products. Such as TV, stereo, DVD players, game consoles, computers, internet, etc. TV as the main core, is the formation of a family concept of digital multimedia center. The application field with robot could be said that very few. The application of mechanized equipment in the family, Remove the cleaning robot current began to appear in family life. Mechanized equipment is still few. Thus engaged in relevant research, has much considerable development. This thesis, the robotic arm is generated for this motivation. Figure 1.2 can be used as an example of family life. Prior to the families of the application are bound to be many changes and amendments. So an appropriate software project planning and portability design is this series important part of development process. Therefore, continued development 6 and tried many-sides and multi-angle, is the key element to achieve the ultimate goal. These factors are also important motivation in the initial development of this thesis. Figure 1.2Auxiliary taking glass 1.3 Research Objectives Articulated by the foregoing context and motivation, can be simply summarized the purpose of this thesis in the following: Light of the robotic arm and miniature the host device. System structure in embedded system and Linux environment. Using software engineering theory to portability design. Easy to operate and widely used system of robotic arm controller. Easy to maintain, features with flexible and expandability. These points are the purpose of implementation in this thesis. Specific of the research, analysis and implementation methods, will be described in later chapters. 7 1.4 Research Method Through research text, motivation and purpose of integration, specific instructions the direction of exploration and design in this thesis. Finally, experimental results are also consistent with expecting target of research purposes. The following introductions are the used method to complete the research purpose [6]: 1. Analysis the purpose of thesis. 2. Design framework of implementation according to analysis. 3. Follow the way of design to implement software and hardware system. 4. Discuss the result of implementation. 1.5 Thesis Structure The thesis is divided into five sections, described below: 1. The first chapter contains the research text, motivation and purpose, then describe the research methods used in this thesis, the outline of the thesis at the last. 2. Chapter II is the system analysis and system design, using methods by software engineering analysis, then summarized and presented the design. 3. Chapter III is the hardware architecture, mainly plan the overall hardware, focus on robotic arm design and hardware implementation, arm kinematics, and so on. 4. Chapter IV is the software architecture, shows the overall software planning, focus on embedded Linux system development environment, software architecture design and implementation 5. Chapter V is the conclusion and future work, the part of conclusion will first be done on the quantitative analysis of the overall system, then advantages 8 and disadvantages implementation of hardware and software design of this thesis. the part of future work will do simple personal assessment on follow-up development of the system. 9 II. ANALYSISAND DESIGN This chapter for analysis of this paper's motivation and purpose, then use the planning to design. This assay method is to take Unified Process, using some analysis tools, will transform goals into clear and specific work items. First, use 5W1H to further reduce the target scope. Why Table 2.1 5W1H analysis Makefamilylifemoreconvenient. What Controlsystemofroboticarm. Who Theuserordeveloperwithprogrammingcapabilities. How UsingcomputersystemwithgeneralPCdegreetooperate. When Anytime. Where Spaciousplace. 2.1 Problem Statement and Requirements Elicitation Second, we use the problem statement and requirement elicitation, further define the targets. What things the robotic arm controller can do? Robotic arm can reach the location by giving coordinate to control system. Can also respectively control the axis angle, facilitate the development to test. Can directly enter the underlying instructions, adjust initial parameter values of each motor. Have memory access capability to complete a series of instructions and movement of robotic arm. Are there any limits with family robotic arm? 10 Robotic arm must be as light-based devices, its control system must also be on the light as far as possible, Must have safety inspection, power system, appearances and arrangement of circuit are the point considerations. But this thesis is in the research stage, do not need to obey the limited. How to communicate between the controller and the robotic arm? Enter the commands to controller of robotic arm, it will be compiled into low-level instruction to motor controller, with converting the PWM signal of motor. What are the characteristics of the environment of robot control system architecture? Need good hardware scalability, resources acquire easily, and can add and remove hardware devices of the system architecture by demands. What are the characteristics of the robotic arm controller? To easily develop re-use as the main points, have the portability, object-oriented design, easy operation and maintenance 2.2 Functional Requirements Functional requirements are derived in accordance with the problem statement and requirement elicitation, to clearly define the targets. Initialize the control system. Return to the original point of each axis. Control each shaft angles. Control robotic arm. Robotic arm motion planning. The basic operation command of axis. 11 of 2.3 Nonfunctional Requirements Likewise non-functional requirements, defined in the rest of non-functional. Control interface design must clearly inform the various operating and behavior. Have simplify the procedure of orders and cancellation with the user interface 2.4 Use Case A use-case [7] instance is a sequence of actions a system performs that yields an observable result of value to a particular actor. Title Table 2.2 5W1H analysis InitialControlTable. Description Buildallmotorconnections、initializeandhoming. Actors Developer. Pre-condition Fillinallmotordevicenumbers. Post-condition Allmotorsarereadytomove. Scenario 1.Enterthecontrolsystem. 2.Buildallmotorconnections. 3.Initialallargumentsforeachmotor. 4.Defineinitiationsiteforarm. 5.Seetheroboticarmturntoinitialposition. 12 Table 2.3 Use case of homing Title Homing. Description Letroboticarmreturntoinitialposition. Actors Developeranduser. Pre-condition InitialControlTable. Post-condition Roboticarmreturntoinitialposition. Scenario 1.Enterthecontrolsystem. 2.SelectHoming. 3.Seetheroboticarmturntoinitialposition. Table 2.4 Use case of axis control Title Axiscontrol. Description Controleachaxis. Actors Developer. Pre-condition InitialControlTable. Post-condition Someaxismovesomeangular. Scenario 1.Enterthecontrolsystem. 2.Selectaxis. 3.Inputangulartomoveaxis. 4.Seetheaxismovetospecifyangular. 13 Table 2.5 Use case of arm control Title Controlarm. Description Controlroboticarmtomove. Actors Developeranduser. Pre-condition InitialControlTable. Post-condition Controlroboticarmtosomecoordinates. Scenario 1.Enterthecontrolsystem. 3.Inputcoordinates. 4.Seetheroboticarmmovetospecifycoordinates. Table 2.6 Use case of basic instruction for each axis Title Basicinstructionforeachaxis. Description Directinputbasicinstructiontoeachaxis. Actors Developer. Pre-condition InitialControlTable. Post-condition Axisdoingsomechange. Scenario 1.Enterthecontrolsystem. 2.Selectdirectinput. 3.Inputoneinstructiontoaxis. 4.Seethechangefortheaxis. 14 Table 2.7 Use case of behavior planning Behaviorplanning. Title Description Planningaxisorroboticarmdoingsomebehavior. Actors Developer. Pre-condition InitialControlTable. Post-condition Axisorroboticarmdoingsomebehavior. Scenario 1.Enterthecontrolsystem. 2.Selectdirectinput. 3.Selectbuffertoinput. 4.Inputseveralinstructions. 5.Seethebehaviorofaxisorroboticarm. Robotic Arm System Initial Control System * * ** ** ** Basic Instruction Control * Behavior Control * Developer Homing * * * * * * Axis Control User <<uses>> * Arm Control * Figure 2.1 Use case of the development platform 15 2.5 Analysis Model Analysis Model is further decomposed Use Case, so that each function can be by the Boundary class, Entity class, Control class instead. This will allow the subsequent design and implementation of a more precise definition. Initial Control System * * * * * * Start Control System Process Initial Function Initial Parameter Figure 2.2 Analysis model of initial control system Homing * * * * * * Console Arm back to origin Origin parameter Figure 2.3Analysis model of homing 16 Axis Control * * * * * * Console Move selected Axis Angular value Figure 2.4 Analysis model of axis control Arm Control * * * * * * Console Move Robotic Arm Angular value of each Axis Figure 2.5 Analysis model of arm control 17 Basic Instruction Control * * * * * * Console Move selected Axis Basic Instruction Figure 2.6 Analysis model of basic instruction control Behavior Planning * * * * * * Console Move Robotic Arm Basic Instruction Figure 2.7Analysis model of behavior planning 18 * * Initial Parameter * Process Initial Function * * Origin parameter * * * * Start Control System * Developer Arm back to origin * * Angular value * * * * * Move selected Axis Console * * * Angular value of each Axis * * Move Robotic * * Arm Basic Instruction Figure 2.8 Analysis model of class diagram 2.6 HardwareAnalysis and Design From the above analysis, this thesis aims to light the hardware architecture. There are two main objectives, one for the light of a robotic arm, another is control system for the host. Aspects of the robotic arm, we use a lighter (about 8 kg) of five-axis DC motor design robotic arm, the controller also uses the set of motor auxiliary equipment, it can reduce the design time of controller. The only required part is the communication interface between low-level motor controller and robotic arm control system, this part will analysis and design in detail in later chapters. 19 Another thing has to mind is using what for the host control system, it should consider light-weight, so the weight of the host must be specially designed, it will analysis and design in the following sections: 2.6.1 Analysis and Design Control System In the previous analysis of this thesis, there are two demands on the host hardware, one is lighter and the other is hardware design flexibility. For the light of the host hardware, no more than two ways, one is adoption of lighter device, the other is using wireless communication. There does not take wireless communication in this thesis, because of home life wireless communication often have many obstacles and dead ends, also often disturb by other electronic equipments. Furthermore, since the arm is considered a high safely equipment, so construct the control system on the robotic arm. It is better than the use of wireless communications in the remote host. As for the hardware design flexibility for embedded system, is the best different from the general common characteristics of the host. Reduce unwanted hardware and module design, not only reduce the system computation, but also effective in reducing the weight of the whole system. More importantly, also reduces the overall cost of hardware. In the advance of chip technology and hardware design, directly to construct the control system with robotic arm, is just right for an effective program for general household consumer products. The following table compares the difference between the two programs: 20 Table 2.8 Comparison with computer EmbeddedSystem Weight CommonPC 1kg 10kg HardwareSupport flexible redundant ComputingCapability usable high Price low high Learnability hard easy Wireless ok ok 2.6.2 Analysis and Design Communication Interface Transmission interface is divided into two modes: parallel transmission and serial transmission, because this thesis aims modular robot hardware design, surely there must be quite a lot of hardware modules. Although the parallel transmission has a transmission speed advantages of fast, but High hardware complexity interfere vulnerability of high-frequency, is not easy to expand and maintain, so this thesis, the way serial transmission, difficult to expand and maintain. So this thesis adopted the way of serial transmission. Present common sequence transmission interface as below [8]: I2C: Use master-slave architecture, to develop motherboards, embedded systems to connect low-speed peripherals by Philips in the 1980s. I2C uses only two bi-directional serial data (SDA) and serial clock (SCL). RS-232: U.S. Electronic Industries Alliance (EIA) developed the standard serial data communication interface, the full name is the EIA-RS-232. In the RS-232 standard, the character string is a sequence of bits to transfer one by one. The most common encoding format is non-synchronous asynchronous start-stop format. It uses a start bit is followed by 7 or 8 data bits, this may 21 be the parity bit, and then following two start bits element. Two-way interface requires only three lines can be produced, because all the signals of RS-232 share a common ground. RS-485: Electrical characteristics under the standard is two lines, half-duplex and multi-point communications. The electrical characteristic is not the same with RS-232. The voltage difference between the wires to both ends present of signal transmission. One pole voltage indicates logic ―1‖, another indicates logic ―0‖. The voltage difference effective is 0.2V above the minimum, any difference more than 12V or not less than -7V of the receiver are considered to be correct. CANBus: CAN is short for the Controller Area Network, which characteristics is allow direct communication with each other on the network equipment. The network does not require the host control communication. CAN is set out in the 1980 specifications, and standardized in 1993 (ISO 11898-1), is widely used in a variety of vehicles and electronic devices. CAN is a serial bus, it provides high level of security and efficient real-time control. Even with the debugging and the priority determination mechanism. The network information transmission becomes more reliable and efficient. Ethernet: Using CSMA / CD (Carrier Sense multiple Access with Collision Detection) access control protocol. That is, when the transmission, the transceiver detects whether there are other stations to send messages simultaneously. In the event of conflict, all of the sites are immediately stop transmission. Their decision is to wait a random length of time before re-transmission. The purpose of random waiting time, is to reduce the chance of collision. 22 USB: Universal Serial Bus, USB was originally launched by Intel and Microsoft. Its biggest feature is hot-swappable (Hot Plug) and Plug and Play. When a device is inserted, the host enumerating the device and load the required drivers. The following table is the simply comparison of the transmissions: 23 0.5 250 5 Simple、Less connection Fast、Long length Fastest、Plug &Play、Common use short range not immediately short range I2C Ethernet USB 1000 1000 no suitable large data CANBus 15 Simple、Fast Broadcast、 Priority interfere RS-232 RS-485 Simple、 Common Use、 Less connection length(m) not immediately、no filter Advantage Weakness Longest 24 127 1024 127 32 1024 1 Most points 4 8 2 2 2 3 Connections 480 100 3.4 0.1 1 0.1 rate(Mbits/sec) transmission Highest Table 2.9 Comparison with serial transmission Observation of the above analysis, since real-time is a great impact on safety of robotic arm, so the connection of non-real-time is not used. I2C distance is too short, CANBus with poor general also abandoned, so the communication interface of RS-232 and USB as a consideration .Comparing the two, due to USB transfer speed, with higher commonality, and other aspects meet the necessary requirements. Therefore, the final decision is USB interface as a robot communication. It also be more extensive application in the future. 2.6.3 Design Hardware The specifications are as follows: Robotic arm motor: Germany "Faulhaber" manufacturer, DC Motor * 5. Robotic arm motor controller: Germany "Faulhaber" manufacturers, DSP system controller * 5. Robotic arm structure: Taiwan's "North River" company, ―rotate - swing rotate - swing – rotate‖, five-axis Simulation of arm structure. Robotic gripper: Japan "My Gripper" company, parallel gripper type. Communication interface: USB. Control System: Taiwan "DMA" company, Embedded Systems NAV270. Development of test platforms: Taiwan "ASUS" company, notebook F8SP. 2.7 Software Environment Analysis and Design Through the above, the software is mainly portability and flexibility of design, and tend to easy operate and resource-rich software. Since machinery equipment, the most common programming language is still C. On the one hand is the C language is a good first programming language developed, although the C + + have object-oriented and class features, but in fact can be implement by C language. On the 25 other hand, C language is characterized is closest to the low-level language high-level language. Therefore, the lowest consumption of program resources, and also the most support from the majority of hardware In addition to the programming language used, the most worthy of study is the use of what development IDE suite. As well as in embedded control systems use the "operating system". The following are the detailed analysis and design of these two projects. 2.7.1 Analysis and Design IDE IDE (Integrated Development Environment) is the design of any large software an indispensable tool. If only to design simple computer tools or programs like ―Hallo World‖ can be completed with a text editor in fact. But IDE has many convenience aids, such as: Graphics, version control, direct editing and debugging, semantic and syntactic tips, view of class, object and function. A wide range of collaboration tools have become an indispensable element for software development. The following is a comparative table of some commonly used IDE: Table 2.10 Comparison with IDE Eclipse VisualStudio CodeBlocks Free Capability High High Low High Crossplatform Multilanguage Much Much Few Few Maintain Much Much Few Few 26 BorlandC++ From the table above, this thesis adopts with Eclipse development environment. The most important point, that has excellent cross-platform special system, whether in Windows or Linux operating system, several versions can be found in the support package, as well as multi-language and library support, so that expansion of the system development can also be easily ported and maintenance in the future. 2.7.2 Analysis and Design Embedded Operation System Analysis by the hardware design of embedded system, used in combination with the software must be suitable for some embedded "operating system" can be effectively done on the management of hardware resources. The reason why the special label "operating system", is most of the useful operating system software and hardware aspects to deal with computing, resource allocation, GUI and equipment needs. In general personal computer, the operating system is synonymous with the Windows family of common, or Linux, Ubuntu, Fedora, etc. The operating system installed on computer, the general network, instruments, games, applications, probably on the establishment of complete However, the word of operating system for embedded systems, but the term encompasses not only all the simple. Most of its split into three: Kernel, file system and graphical interface, the three with be considered as the general user understanding of the operating system. Note the following icons embedded Linux system architecture diagram with common software tools. 27 Figure 2.9 Main components of Linux OS[9] In case of NAV270 hardware used in the embedded, kernel and toolkits to original proposal selection is better. After all, the core of the original company has planning software is the most used of hardware. And we have used the relevant software tools, what kind of the underlying kernel and toolkits are also no significant differences. So we used Linux kernel 2.6.9 and Busybox for basic tools. The graphical interface of choice, is more influence the system scalability and operation. From the user point of view, the user is interacting with the system through the GUI. It should benefit from the use and high reliability of GUI. But taking into consideration the hardware aspects of embedded system memory is often relatively small. Therefore, light-weight is also very important considerations in the design and selection. Suitable for embedded hardware NAV270 in the thesis are the following [10]: XFree86: The product is a free repeat distribution, open source X Windows System. Is early in the UNIX / UNIX-like machines and equipment on the 28 most commonly used Windows system. Advantage of packet buffer architecture for the use of good performance; occupy a relatively small resources; support high and suit for expansion. Unfortunately, due to other emerging GUI tools more powerful, and non-specific embedded system architecture development, has its blemishes. Microwindows: Century Software developed by the embedded devices a GUI, based on client / server design of hierarchical structure. The advantages are simple code design, operating speed and occupy less resource. The disadvantages are the weak networking, application for expansion and related resources reference less. Qt / Embedded: Developed by the Trolltech GUI interface for embedded, a development tools based on cross-platform Qt. Support for various UNIX / UNIXlike or Microsoft Windows systems. Good object-oriented structure, excellent computational speed is its outstanding advantages. In recent years, Qt has a number of developments in several fields. In software and hardware aspects of a high degree of flexibility and scalability support. And have a wealth of documents and resources for reference. Brief analysis based on the above points, the final embedded software system GUI interface with Qtopia (Qt Exteded). Believe after the implementation is complete, development of more advanced applications can be easily. 2.7.3 Design Software Specific software specifications are as follows: Programming Language: C. Development IDE: Eclipse. Development of the operating system: Ubuntu. 29 Operating system kernel of control platform: Linux2.6.9. File system of control platform: Busybox. GUI of control platform: Qtopia. File Transfer Tool: TFTP. Transmission test software: Docklight. 30 REFERENCES [1] D. J. Sun, Y. Wang, Control Technology for Robot, Jinghua, , China, 1998. [2] David E. Simon, An Embedded Software Primer, Addison-Wesley, America, 1999. [3] Philippe Gerum, Karim Yaghmour, Jon Masters, Giliad Ben-Yossef, Building Embedded Linux System, O’Reilly, America, 2ed Edition, 2008. [4] http://www.ilc.co.jp/en/Company/index.htm, embedded product. [5] Quentin Wells, Guide to Digital Home Technology Integration, Delmar, America, 2009. [6] Naichia Yeh, A Comprehensive Guide to Writing Theses, Dissertations, and Research Papers, Five South, Taiwan, 2004. [7] I. Jacobson, G. Booch, J. Rumbaugh, The Unified Modeling Language Reference Manual,Addison Wesley,1999. [8] J. M. Chen, ―Design of Hardware Modulation of a Robotic Embedded Control System‖, M.S. Thesis, National Chung Cheng University, Taiwan, 2008. [9] http://www.go2linux.org/, linux architecture. [10] http://www.dmatek.com.tw, DMA-NAV270 user manual. [11] J. Y. Chiu, ―Robotic Arm Operation System and Human Interface‖, M.S. Thesis, National Chung Cheng University, Taiwan, 1996. [12] Fritz Faulhaber Gmbh, Instruction Manual-Motion Control System, Germany, 4th Edition, 2009. [13] NRC, product architecture picture, Taiwan, 2009. [14] M. L. Jin, Robotics, Five South, Taiwan, 1998. [15] Yu-Jen Chen , ―The Study of Visual Tracking for An Eyes-on-Hand Robot‖, M.S. Thesis, National Chung Cheng University, Taiwan, 1997. 31 [16] Daniel P. Bovet, Marco Cesati, Understanding the Linux Kernel, O’Reilly, America, 3ed Edition, 2005. [17] John Catsoulis, Designing Embedded Hardware, O’Reilly, America, 2ed Edition, 2005. [18] Sreekishnan Venkateswaran, Essential Linux Device Drivers, Person, America, 2009. [19] Craig Hollabaugh, Embedded Linux-Hardware, Software, and Interfacing, Person,America, 2002. 32