2.7 Software Environment Analysis and Design

deadmancrossingraceAI and Robotics

Nov 13, 2013 (3 years and 7 months ago)

169 views


運動控制概論















題目
:
嵌入式機器手臂運動控制器
















出處
:
中正大學

電機工程研究所碩士論文





中華民國九十九年七月




作者
:

潘奕璁

同學



作者研究老師
:
黃國勝

博士









報告學生
:
黃元杰

同學






老師
:
王明賢

老師




ii

摘要

本論文的目的是發展一套可移植性,便於重複使用的機器人控制系統
。鑑於

近年來電腦科技的快速進步。嵌入式系統已慢慢適合搭載機器人手臂上來用於日

常生活的環境。

在實作中,主要的目的是建立一個基於嵌入式系統的雙手臂控制器。在機器

手臂部分,利用逆向運動學的推導,與順向運動學的驗證,搭配特製輕型化的機

器手臂,以及電路連接與傳輸參數等設定,實做出機器手臂在空間中的運動控

制。為了實現可移植性,控制系統的實作採用開放架構的

Linux

系統和物件導向

程式化技術。此開發系統為一種獨立的架構。因此,設計者可為了設計結構的用

途而採用適合的模塊化設計來優化使用。

為了驗證所開發系統的可行性,輸入動作指令和目標位置於控制系統,機器

手臂即可如預期般順利的做出拾取移動之用途。


TABLE

OF

CONTENTS




PAGE


ACKNOWLEDGMENTS
....................................................................................i

CHINESEABSTRACT
.......................................................................................ii

ABSTRACT
.........................................................................................................iii

TABLE

OF

CONTENTS
....................................................................................iv

LIST

OF

FIGURES

............................................................................................vi

LIST

OFTABLES
..............................................................................................vii

I.

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

1.5

Research

Objectives
.....................................................................7

Research

Method
..........................................................................8

Thesis

Structure

...........................................................................8

II.

ANALYSISAND

DESIGN
................................................................................10

2.1

2.2

2.3

2.4

2.5

2.6

Problem

Statement

and

Requirements

Elicitation
..................10

Functional

Requirements
..........................................................11

Nonfunctional

Requirements
....................................................12

Use

Case
......................................................................................12

Analysis

Model
...........................................................................16

HardwareAnalysis

and

Design
.................................................19

2.6.1

2.6.2

2.6.3

Analysis

and

Design

Control

System
..................................20

Analysis

and

Design

Communication

Interface
................21

Design

Hardware
..................................................................25

2.7

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
..........................................................
3
0

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

1

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.


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

processing,

can

handle

multiple



3

LinuxSystem

WindowsSystem

opensource





resource

much

much

modify

permission



valuable

useful

common

cost

cheap

expensive

realtime

high

low

power

save

waste

difficult

high

low

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

system






























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

6

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

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.


2.


3.


4.

Analysis

the

purpose

of

thesis.


Design

framework

of

implementation

according

to

analysis.


Follow

the

way

of

design

to

implement

software

and

hardware

system.


Discuss

the

result

of

implementation.

1.5

Thesis

Structure



The

thesis

is

divided

into

five

sections,

described

below:

1.








2.








3.








4.








5.

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.


Chapter

II

is

the

system

analysis

and

system

design,

using

methods

by


software

engineering

analysis,

then

summarized

and

presented

the


design.


Chapter

III

is

the

hardware

architecture,

mainly

plan

the

overall

hardware,


focus

on

robotic

arm

design

and

hardware

implementation,

arm

kinematics,


and

so

on.


Chapter

IV

is

the

software

architecture,

shows

the

overall

software

planning,


focus

on

embedded

Linux

system

development

environment,

software


architecture

design

and

implementation


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

9

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.

Why

Makefamilylifemoreconvenient.

What

Controlsystemofroboticarm.

Who

Theuserordeveloperwithprogrammingcapabilities.

How

UsingcomputersystemwithgeneralPCdegreetooperate.

When

Anytime.

Where

Spaciousplace.




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.









Table

2.1

5W1H

analysis





















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

of


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

Title

InitialControlTable.

Description

Buildallmotorconnections

initializeandhoming.

Actors

Developer.

Pre
-
condition

Fillinallmotordevicenumbers.

Post
-
condition

Allmotorsarereadytomove.

Scenario

1.Enterthecontrolsystem.

2.Buildallmotorconnections.

3.Initialallargumentsforeachmotor.

4.Defineinitiationsiteforarm.

5.Seetheroboticarmturntoinitialposition.

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.








Table

2.2

5W1H

analysis












































12

Title

Axiscontrol.

Description

Controleachaxis.

Actors

Developer.

Pre
-
condition

InitialControlTable.

Post
-
condition

Someaxismovesomeangular.

Scenario

1.Enterthecontrolsystem.

2.Selectaxis.

3.Inputangulartomoveaxis.

4.Seetheaxismovetospecifyangular.

Title

Homing.

Description

Letroboticarmreturntoinitialposition.

Actors

Developeranduser.

Pre
-
condition

InitialControlTable.

Post
-
condition

Roboticarmreturntoinitialposition.

Scenario

1.Enterthecontrolsystem.

2.SelectHoming.

3.Seetheroboticarmturntoinitialposition.

13

Table

2.3

Use

case

of

homing

Table

2.4

Use

case

of

axis

control

Title

Basicinstructionforeachaxis.

Description

Directinputbasicinstructiontoeachaxis.

Actors

Developer.

Pre
-
condition

InitialControlTable.

Post
-
condition

Axisdoingsomechange.

Scenario

1.Enterthecontrolsystem.

2.Selectdirectinput.

3.Inputoneinstructiontoaxis.

4.Seethechangefortheaxis.

Title

Controlarm.

Description

Controlroboticarmtomove.

Actors

Developeranduser.

Pre
-
condition

InitialControlTable.

Post
-
condition

Controlroboticarmtosomecoordinates.

Scenario

1.Enterthecontrolsystem.

3.Inputcoordinates.

4.Seetheroboticarmmovetospecifycoordinates.

14

Table

2.5

Use

case

of

arm

control

Table

2.6

Use

case

of

basic

instruction

for

each

axis

Title

Behaviorplanning.

Description

Planningaxisorroboticarmdoingsomebehavior.

Actors

Developer.

Pre
-
condition

InitialControlTable.

Post
-
condition

Axisorroboticarmdoingsomebehavior.

Scenario

1.Enterthecontrolsystem.

2.Selectdirectinput.

3.Selectbuffertoinput.

4.Inputseveralinstructions.

5.Seethebehaviorofaxisorroboticarm.

*

User

Table

2.7

Use

case

of

behavior

planning





























Robotic

Arm

System








Initial

Control

System


*







Basic

Instruction

Control

*

*

*

*

*

*

*

Axis

Control



<<uses>>




Arm

Control

Behavior

Control


*

**


*

Developer




Homing

*


*



*




*

*

Figure

2.1

Use

case

of

the

development

platform





15


Start

Control

System


Initial

Parameter


Process



Initial

Function

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





*

*

*

*

*

*

Console


Origin

parameter

Arm

back


to

origin

Figure

2.2

Analysis

model

of

initial

control

system









Homing



*

*

*

*

*

*

Figure

2.3Analysis

model

of

homing














16

Console

Angular


value


Move

selected



Axis

Axis

Control



*

*

*

*

*

*

Console

Angular


value

of

each

Axis

Move

Robotic


Arm

Figure

2.4

Analysis

model

of

axis

control







Arm

Control




*

*

*

*

*

*

Figure

2.5

Analysis

model

of

arm

control
























17

Console


Basic

Instruction


Move

selected



Axis

Basic

Instruction

Control



*

*

*

*

*

*

Console


Basic

Instruction


Move

Robotic



Arm

Figure

2.6

Analysis

model

of

basic

instruction

control







Behavior

Planning




*

*

*

*

*

*

Figure

2.7Analysis

model

of

behavior

planning
























18

Developer

Start

Control

System

Console


Initial

Parameter

to

origin

Move

selected


Axis


Move

Robotic

Origin

parameter

Angular


value

*

*

*

*

*


*

Process


*

Arm

back

*


*

*

*

*

*

*

*


Initial

Function




*

*

*

*

*


*


Angular


value

of

each

Axis

*


*


*





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

20

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:

EmbeddedSystem

CommonPC

Weight

1kg

10kg

HardwareSupport

flexible

redundant

ComputingCapability

usable

high

Price

low

high

Learnability

hard

easy

Wireless

ok

ok



Table

2.8

Comparison

with

computer
























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.


CANB
us:

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.


Ethern
et:

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



US
B:

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

Highest

Longest

Advantage

length(m)

rate(Mbits/sec)

Most

points

Connections

transmission

Weakness

RS
-
232

interfere

Simple


Common

Use


Less

connection

15

1

3

Broadcast


Priority

1000

1024

2

0.1

CANBus

no

suitable

large

data

1

RS
-
485

not

immediately

no

filter

Simple

Fast

1000

32

Simple

Less

connection

0.5

127

2

0.1

I2C

short

range

2

3.4

Ethernet

not

immediately

250

Fast

Long

length

1024

8

100

USB

short

range

Fastest

Plug

&Play

Common

use

5

127

4

480

24

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

Eclipse

VisualStudio

CodeBlocks

BorlandC++

Free









Capability

High

High

Low

High

Cross
-
platform









Multi
-
language

Much

Much

Few

Few

Maintain

Much

Much

Few

Few

26

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

27

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.




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


32

[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.