運動控制概論 題目:嵌入式機器手臂運動控制器 出處:中正大學 電機工程研究所碩士論文 中華民國九十九年七月

advertisement
運動控制概論
題目:嵌入式機器手臂運動控制器
出處:中正大學 電機工程研究所碩士論文
中華民國九十九年七月
作者: 潘奕璁 同學
作者研究老師:黃國勝 博士
報告學生:黃元杰 同學
老師:
王明賢 老師
摘要
本論文的目的是發展一套可移植性,便於重複使用的機器人控制系統。鑑於
近年來電腦科技的快速進步。嵌入式系統已慢慢適合搭載機器人手臂上來用於日
常生活的環境。
在實作中,主要的目的是建立一個基於嵌入式系統的雙手臂控制器。在機器
手臂部分,利用逆向運動學的推導,與順向運動學的驗證,搭配特製輕型化的機
器手臂,以及電路連接與傳輸參數等設定,實做出機器手臂在空間中的運動控
制。為了實現可移植性,控制系統的實作採用開放架構的 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
Download