루덴스코드 Blog

코딩과 교육/전문코딩 +51

VIA[CTM]

Modeling the Ball and Beam Experiment

Problem Setup

A ball is placed on a beam, see figure below, where it is allowed to roll with 1 degree of freedom along the length of the beam. A lever arm is attached to the beam at one end and a servo gear at the other. As the servo gear turns by an angle theta, the lever changes the angle of the beam by alpha. When the angle is changed from the vertical position, gravity causes the ball to roll along the beam. A controller will be designed for this system so that the ball's position can be manipulated.

사용자 삽입 이미지



For this problem, we will assume that the ball rolls without slipping and friction between the beam and ball is negligible. The constants and variables for this example are defined as follows:

  • M.........mass of the ball  0.11 kg 
  • R.........radius of the ball  0.015 m 
  • d.........lever arm offset  0.03 m 
  • g.........gravitational acceleration  9.8 m/s^2 
  • L.........length of the beam  1.0 m 
  • J.........ball's moment of inertia  9.99e-6 kgm^2 
  • r.........ball position coordinate  
  • alpha.....beam angle coordinate  
  • theta.....servo gear angle  

The design criteria for this problem are:

  • Settling time less than 3 seconds
  • Overshoot less than 5%


System Equations

The Lagrangian equation of motion for the ball is given by the following:

사용자 삽입 이미지
Linearization of this equation about the beam angle, alpha = 0, gives us the following linear approximation of the system:
사용자 삽입 이미지
The equation which relates the beam angle to the angle of the gear can be approximated as linear by the equation below:
사용자 삽입 이미지

Substituting this into the previous equation, we get:

사용자 삽입 이미지

1. Transfer Function
Taking the Laplace transform of the equation above, the following equation is found:

사용자 삽입 이미지

NOTE: When taking the Laplace transform to find the transfer function initial conditions are assumed to be zero.

Rearranging we find the transfer function from the gear angle (theta(s)) to the ball position (R(s)).

사용자 삽입 이미지
It should be noted that the above plant transfer function is a double integrator. As such it is marginally stable and will provide a challenging control problem.

2. State-Space
The linearized system equations can also be represented in state-space form. This can be done by selecting the ball's position (r) and velocity (rdot) as the state variables and the gear angle (theta) as the input. The state-space representation is shown below:

사용자 삽입 이미지
However, for our state-space example we will be using a slightly different model. The same equation for the ball still applies but instead of controlling the position through the gear angle, theta, we will control alpha-doubledot. This is essentially controlling the torque of the beam. Below is the representation of this system:
사용자 삽입 이미지
사용자 삽입 이미지
Note: For this system the gear and lever arm would not be used, instead a motor at the center of the beam will apply torque to the beam, to control the ball's position.


Matlab Representation and Open-Loop Response


1. Transfer Function

The transfer function found from the Laplace transform can be implemented in Matlab by inputting the numerator and denominator as vectors. To do this we must create an m-file and copy the following text into it:

.......m = 0.111;
.......R = 0.015;
.......g = -9.8;
.......L = 1.0;
.......d = 0.03;
.......J = 9.99e-6;

.......K = (m*g*d)/(L*(J/R^2+m));   %simplifies input

.......num = [-K];
.......den = [1 0 0];
.......printsys(num,den)

Your output should be:

.......num/den =   0.21 / ( s^2 )

Now, we would like to observe the ball's response to a step input of 0.25 m. To do this you will need to add the following line to your m-file:

.......step(0.25*num,den)

NOTE: Matlab commands from the control system toolbox are highlighted in red.

You should see the following plot showing the balls position as a function of time:

사용자 삽입 이미지
From this plot it is clear that the system is unstable in open-loop causing the ball to roll right off the end of the beam. Therefore, some method of controlling the ball's position in this system is required. Three examples of controller design are listed below for the transfer function problem. You may select from PID, Root Locus, and Frequency Response.

2. State-Space
The state-space equations can be represented in Matlab with the following commands (these equations are for the torque control model).

.......m = 0.111;
.......R = 0.015;
.......g = -9.8;
.......J = 9.99e-6;

.......H = -m*g/(J/(R^2)+m);
  
.......A=[0 1 0 0
.......   0 0 H 0
.......   0 0 0 1
.......   0 0 0 0];
.......B=[0;0;0;1];
.......C=[1 0 0 0];
.......D=[0];

The step response to a 0.25m desired position can be viewed by running the command below:

.......step(A,B*.25,C,D)

Your output should look like the following:

사용자 삽입 이미지
Like the plot for the transfer function this plot shows that the system is unstable and the ball will roll right off the end of the beam. Therefore, we will require some method of controlling the ball's position in this system. The State-Space example below shows how to implement a controller for this type of system.

Comment +0

기본적인 문제 중 하나다.
F(s)가 주어졌을때 어떻게 시간함수인 f(t)를 구할것인지에 대한 한 예제의 풀이과정이다.

사용자 삽입 이미지

개별근을 가질 경우는 풀이가 쉽다. 중근을 가질 경우 풀이가 어렵다기 보다는 한번 더 생각하면 된다. 보통 미분을 이용해서 풀이하지만 여기서는 문제의 특성상 간단한 대입으로 K1, K2, K3 를 구할 수 있다.

사용자 삽입 이미지

K1, K2, K3 를 구했으면 그것으로 F(s)를 위와 같은 모습으로 재구성하고 각각에 대해서 라플라스 역변환을 한다. 역변환의 기본 공식은 위의 공식을 참조하면 된다. 선형성을 가지므로 각각에 대한 라플라스 역변환을 거친 후 다시 더하면 최종적으로 구하고자 하는 값이 된다.

사용자 삽입 이미지

F(s) 의 라플라스 역변환 된 시간 함수 f(t)는 위와 같이 정해진다.

라플라스 역변환 풀이
http://electoy.tistory.com/108
JelicleLim(2008.7.19)

Comment +2

사용자 삽입 이미지

라플라스변환은 시간영역에서 해를 구하기 어려운 미분방정식의 경우 보다 간단한 대수방정식으로 그 해를 구할 수 있게 해주는 특징을 가진다. 즉 복잡한 미분방정식의 해를 직접 구하기보다는 그 방정식을 라플라스 트랜스폼으로 변환시켜 주파수 영역에서 대수방정식으로 만들어 해를 구하고 그것의 역변환을 취해 최종적인 시간영역에서의 해를 구하게 된다.

함수 f(t)의 라플라스 변환은 모든 실수 t ≥ 0 에 대해, 다음과 같은 함수 F(s)로 정의된다.

    F(s) = amath L { f } (s) = \int_{0^-}^\infty e^(-s*t) f(t) dt endamath

이때 amath  0^- 는 lim_{epsi->+0} -epsi endamath 의 약자이다. 실제 사용시에는 엄밀히 정확하지는 않은 다음의 표기를 사용하기도 한다.

    F(s) = amath L { f(t) }  = \int_{0^-}^\infty e^(-s*t) f(t) dt endamath

보통은 Lapalece 변환의 정의를 다음과 같이 사용한다.

...`L[f(t)] = F(s) = \int_0^\infty f(t) e^(-st) dt`

...`s = sigma + j omega`

Laplace 역변환은 다음과 같이 사용한다.

...`L^(-1) F(s) = f(t) = 1 / {j 2 pi } \int_{c-j omega}^\{c+j omega} F(s) e^(st) dt`


시간함수 f(t)에 대한 라플라스변환 함수 F(S) 를 표로 나타낸 것은 다음과 같다.

사용자 삽입 이미지

이울러 f(t) 의 미분, 적분, t 와의 곱 등으로 변형된 형태의 라플라스 변환은 다음과 같다.

사용자 삽입 이미지


참고자료 : 제어시스템과 라플라스변환 공식


라플라스 변환에 관한 이해
http://electoy.tistory.com/101
JelicleLim(2008.7.12)

Comment +0

사용자 삽입 이미지

기본적인 시스템의 모양은 위와 같다. 입력이 있고 그에 따른 출력이 있다.
입력을 r(t) 라고 하고 출력은 c(t)로 표현한다. 물론 위에서 출력부분에 되먹임(feedback)을 넣어서 다시 입력 부분으로 돌리는 것은 closed loop system 이라고 부른다. 일반적으로 위의 다이어그램은 신호처리(signal system)을 의미하고 feedback 이 들어간 시스템을 control system 이라고 부른다.

사용자 삽입 이미지

라플라스변환에 관한 기본 공식이다. 라플라스 변환은 일반 대수함수를 라플라스함수로 바꾸는 것을 말한다.

사용자 삽입 이미지

기본함수들에 대한 라플라스 변환식이다.
라플라스변환을 사용하는 이유는 식의 간편성때문이다. 일반 대수함수, 특히 미방의 경우 그 풀이가 상당히 어렵다. 반면에 라플라스로 변환된 식은 간단하고 명료하게 풀이 된다. 이런 점에서 라플라스변환은 제어쪽에서 주로 사용된다.
일반식을 라플라스변환으로 S 도메인 상의 공식으로 만들고 그것을 푼다. 풀이는 미방이 아닌 선형방정식이 된다. 그렇게 풀어진 최종값을 다시 역변환을 거쳐 최종식을 만들어낸다. 라플라스변환에 주로 사용되는 식은 위 테이블에 제공된다.


Comment +0

제어기 설계시 들어가는 입력값으로 다음의 값들을 넣게 된다. 그에 대한 반응을 살펴서 제어기의 성능을 볼수 있게 된다.


사용자 삽입 이미지

Impulse, d(t), 아주 짧은 순간에 무한대의 입력이 들어오는 것을 의미한다. 그리고 그 부분의 적분합은 1이 된다. 시간폭이 없는 짧은 순간의 신호가 폭과 높이를 곱해서 1이 된다는 것이 흥미로운 부분이다. 높이는 무한대고, 폭은 0이다. 그것을 곱하면 1이 된다. 이러한 특징을 갖는 함수를 delta 함수로 부른다.

사용자 삽입 이미지

Step, u(t), 이 함수는 t가 0 이상인 경우에 1의 값을 갖는다.
사용자 삽입 이미지

Ramp, tu(t), 시간 t가 0 이상인 경우에 t 라는 값을 갖는다.
사용자 삽입 이미지

Parabola, amath 1/2t^2 u(t) endamath, t가 0 이상인 경우 amath 1/2 t^2 endamath 의 값을 갖는다.
사용자 삽입 이미지

Sinusoid, amath sin(wt) endamath , 사인함수


제어 02 : 제어기 Input 값들
http://electoy.tistory.com/98
JelicleLim(2008.7.11)

Comment +0

제어에 관한 기본적인 다이어그램이다. 제어에서 필요한 것은 나온 결과를 다시 일정한 양만큼 입력으로 넣는 것이다. 이를테면 자동차의 제어를 위해서 출력(속도)를 측정하고, 그것을 다시 제어를 위한 입력으로 하는 것이다.
사용자 삽입 이미지

물론 위 그림에서 보듯이 입력과 그에 따른 수학적, 정량적 계산결과만이 있는 것이 아니라 외부 노이즈가 존재한다. 이를테면 동일한 가솔린을 사용하더라도 바람이 뒤에서 부는지 앞에서 부는지에 따라 차의 속도는 달라지는 것 따위다. 다양한 종류의 노이즈를 완벽히 계산할 수 없기 때문에 그것은 그냥 들어오는 것으로 처리한다. 결과값, 즉 RPM 을 측정하여 그것을 다시 입력으로 처리하는 것이다.
사용자 삽입 이미지

위 [Controller] 박스의 Gain 을 어떻게 처리하느냐에 따라서 위와 같은 결과 곡선이 만들어진다. Gain 을 크게 잡으로 반응은 매우 빠르게 나타난다. 즉시 결과값에 가까운 값으로 가고, 넘어가고, 다시 줄어드는 식으로 일정한 값을 찾아가게 된다. 반면 Gain 값을 작게 잡으면 서서히 증가하여 최종값이 수렴하는 식의 그래프가 그려진다.

제어에서 Gain 을 어떻게 잡는지가 제어기의 성능을 결정한다. 최종결과치에 가능한 짧은 시간에 도달하게 하는 것이 좋은 제어기이기도 하다. 동시에 특정한 제어기의 경우 Overshoot 을 허용하지 않기도 한다. 이를테면 벽면에 붙어 있는 스위치를 켜고 끄는 로봇팔 같은 경우 Overshoot 이 일어난다는 것은 로봇팔의 망가뜨릴수 있는 치명적인 결점이 된다.


제어 01 : 제어공학과 기본 다이어그램
http://electoy.tistory.com/97
JelicleLim(2008.7.11)

Comment +0

13일, 금요일 오전 9시 부터 12시까지 백남학술관 104호에서 기말 프로젝트 발표를 갖습니다.
기말 시험은 17일, 화요일 오전 9시부터 10시까지 202호와 301호에서 치릅니다.

Comment +0

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

확인

추가시험자를 위한 곳입니다.


질문사항은 전화로 받겠습니다. 반드시 자신의 힘으로 하시기 바랍니다. 보고서 제출 후 개별심사도 있을 수 있습니다.

Comment +0

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

확인

사용자 삽입 이미지

공학입문설계를 듣는 학생들 중 아래 학생들은 수업시간에 발표할 자료를 준비해 오시기 바랍니다.

발표내용 - 3번째 과제 (PPT 등 발표 자료를 미리 준비해서 오시기 바랍니다)
시간 - 2008년 5월 27일 수업시간

3번   김경태
4번   김종철
50번  강민혜
49번  김민재
26번  김진호
34번  정유경


이상 6명입니다. 각 5분에서 7분 정도의 시간이 주어집니다. 최대 7분은 넘기지 않도록, 최소 3분은 발표할 수 있도록 준비하시기 바랍니다.

Comment +0


수업중 사용한 파워포인트 자료를 올려두었습니다. 참고하시기 바랍니다.
[Link : 자료]

Comment +0

과제자료입니다.


Comment +0

PADS Layout & Logic 파일 - 3.3V Regulator Circuit



Comment +0

사용자 삽입 이미지
1. ‘국의 이공계는 글쓰기가 두렵다.’


이 책은 2003 3월에 발행되어 이제까지 8쇄를 찍었습니다. 아직도 교보문고의 베스트셀러에 올라 있을만큼 인기를 끌고 있습니다. 이공계 과학자나 기술자가 얼마나 그동안 글쓰기에 어려움이 많았는지 짐작이 됩니다.

세상 일의 원리는 간단합니다. 누군가 복잡하게 해서 문제입니다. 글쓰기도 마찬가지입니다. 앞으로 이 난을 빌어 과학자나 기술자가 쉽게 글을 쓸 수 있도록 여러가지 도움을 드릴 예정입니다. 당장 좀 더 많은 정보를 원하시면 다음의 사이트에 들어오시면 되겠습니다.


임재춘의 기술글쓰기’ ; www.tec-writing.com 이나 한글인터넷 주소임재춘’ 'SERI Technical Communication' ; www.seri.org/fr/ktca


제가 과학기술자 글쓰기와 인연을 맺은 사연입니다.

저는 영남대 기계공학과를 졸업하고 73년 기술고시에 합격하여 과학기술처 원자력국에서 공직생활을 시작했습니다. 당시 원자력국에는 공채출신 사무관이 드물어 해외 교육이나 근무의 기회가 많이 주어졌습니다. 미국원자력규제위원회(US Nuclear Regulatory Commission) 1년 간, 국제원자력기구(International Atomic Energy Agency) 2년 간 파견 근무를 하면서 제일 먼저 부딪치는 것이 글쓰기였기 때문에 Technical Writing(TW) 교육을 받았습니다. 주로 미국인이 잘 틀리는 문법과 문체를 중심으로 했기 때문에 이 교육은 별로 도움이 되지 않았습니다. 추후 영국 Lancaster 대학에서 MBA를 공부하면서뼈대가 반듯하고 논리적 TW의 원리를 이해하게 되었습니다.


저는 26년 간을 과학기술()부에서 근무하면서 기술직 공무원들의 보고서 작성이나 보고 요령이 행정직에 비하여 뒤떨어짐을 보았습니다. 고위직으로 올라 갈수록 기술직 공무원의 수가 현저하게 적어지는 현상도 글쓰기나 보고 능력과 결코 무관하지 않았습니다.  현대인은 하루 종일 읽고 씀으로 의사소통 능력은 곧 사회적인 경쟁력이 될 수밖에 없는 것인데 글쓰기를 잘 하지 못하는 이공계 출신 기술자나 과학자를 볼 때마다 안타까운 마음이 들어약도 그리듯이 하는 Technical Writing(기술글쓰기)’ 전파에 나섰습니다.


저는 미국의 TW기법에다 우리나라 기술자와 과학자가 많이 틀리는 부분을 정리하여 6시간짜리기술글쓰기강좌를 개설하였습니다. 수강생은 짧은 시간에 글쓰기의 두려움을 탈출할 수 있어 이 강좌의 인기가 높습니다. 또한 영남대학교, 인제의과대학, 한동대학에서 객원교수로 공대생을 위한의사소통기술과목을 맡고 있습니다.


2.  
잘 쓰는 이공계가 성공한다.


얼마 전, 동부건설에서 강의 요청을 해 왔다. 강의를 들으려 모인 사람은 180여명이나 되는 전국의 건설 현장 소장이었다. 건설 현장 소장이 왜 테크니칼 라이팅(TW) 강의를 들으려고 하는지 내가 우선 궁금했다. 그 이유를 물었더니 두 가지였다.

하나는 전자결재 제도 때문이었다. 동부건설은 본사와 현장간의 업무효율을 높이기 위하여 전자결재 시스템을 구축했으나 "글로써 간결하고 정확하게 의사소통을 하는데 준비가 미흡하다"는 판단 하에서 전자결재를 당분간 보류하고 있었습니다. 다른 하나는 전자입찰 제도 때문이었다. 정부는 대형 토목공사에 2004년부터 전자입찰 제도를 도입할 예정인데 이때 입찰하는 회사는 입찰서에 기술의 독창성 등을 간결하게 작성하여 제출해야 하는데 토목 현장 기술자는 그 동안 글쓰기와는 인연이 멀어 회사가 걱정이 많다고 하였다. 이 사례에서 보듯이 이제는 현장 기술자가 쓴 글이 곧 돈과 직결되는 시대가 오고 있는 것이다.


훌륭한 지도자는 훌륭한 의사소통 능력을 가지고 있다

지도자는 의사소통 능력을 가지고 있어야 한다. 자기가 전달하고자 하는 내용을 설득력 있게 표현하는 능력은 경쟁력과 직결되기 때문이다. 미국 하버드 대학의 케네디 스쿨(정치. 행정대학원)은 첫 시간을 의사소통에 관한 수업으로 시작할 정도로 의사소통능력을 중요시 여긴다. 이렇게 현대는 의사소통능력이 경쟁력의 핵심이 되기 때문에 마르크스가 살아 있다면 '자본론' 대신에 '의사소통론을 썼을 것이라고 한다.


미국 기술자는 의사소통의 경쟁력을 일찍 터득

의사소통능력은 정치나 행정에서만 경쟁력을 발휘하는 것이 아니다. 직장에서도 경쟁력이 된다. 우선 미국에서의 실태를 살펴보기로 한다. 미국에서 실시한 설문조사에 의하면 기술자는 직장에서 자신의 시간 중에서 적어도 1/3은 쓰기, 편집, 프레젠테이션 준비 등, 쓰기와 관련된 일에 소모하고 있다고 한다. 승진할수록 비율은 더욱 늘어나 중간관리자는 40%, 그리고 매니저는 50%를 쓰면서 보낸다. 이렇게 쓰기가 의사소통에서 차지하는 비율이 높으니 직장에서 쓰기가 경쟁력이 되지 않을 수 없다. <1>은 성공한 직장인에게 문장력의 중요성을 물은 조사이다.


<
1> 문장력과 성공과의 관계 (성공한 엔지니어 245명을 조사)

질문1; 본인 업무에서 효과적인 문장력의 필요성은?

필수적임

110(45%)

매우 중요함

124(50%)

조금 중요함

9(4%)

 

질문2; 부하의 문장력을 진급심사에 어느 정도 고려?

필수적임

63(26%)

많이 고려함

153(63%)

조금 고려함

25(10%)


이 표에서 보듯이 문장력은 출세에 필수적이거나 매우 중요하다. 특히 매니저들은 문장력이 업무에필수적으로 보는 비율이 71 %에 달했으며자신의 생각을 명쾌하고 논리적으로 표현할 수 있는 엔지니어는 졸업 후 5년 안에 매니저가 될 수 있다고 설문지에 써 놓았다. 이렇기 때문에 미국에서는 직장에 가면제출하는 보고서가 곧 승진 청원서가 된다. 따라서 직장의 초급 간부가 되면 테크니칼 라이팅과 프레젠테이션을 반드시 배우게 된다.


다음 표도 의사소통이 기술자에게 경쟁력이 되고 있는 사실을 잘 보여 준다. <2>는 미국에서 성공한 기술자 4.000여명을 대상으로 기술자가 직장에서 필요한 학과목을 조사한 결과이다. 1위부터 10위까지 공대 전공과목은확률과 통계하나밖에 없다. 10위 마케팅도 반 이상이 의사소통능력을 요구하는 점을 감안하면 10위 이내 과목의 2/3 이상이 의사소통과 관련된 과목인 것이다. 공대 전공과목은 10위 이후에나 나타난다. 이 자료는 의사소통능력이 기술자에게도 경쟁력이 된다는 것을 단적으로 보여주는 예다.


<
2> 산업체 근무를 성공적으로 수행하기 위하여 필요한 학과목 (3-4년 근무 경력을 가진 4,095명이 응답)

1. 경영학

2. 기술자글쓰기(Technical Writing)

3. 확률과 통계

4. 발표(Public Speech)

5. 창의(Creative Thinking)

6. 개인간 인화

7. 그룹간 인화

8. 속독(Speed Reading)

9. 대화(Talking With People)

10. 영업(Marketing)

11. 컴퓨터

12. 열전달

13. 기기사용 및 측정

14. 데이터 처리

15. 시스템 프로그래밍

16. 경제학

17. 미분학

18. 논리학

19. 경제분석

20. 응용프로그래밍(이하 생략)


과학자도 글을 잘 써야 성공할 확률이 높다

과학자가 정부 연구비를 신청할 때에 연구 계획서는 비전문가도 이해할 수 있는 형태와 문장이 되어야 한다. 이는 세금 납부자인 국민이 이해하지 못하는 연구를 국가가 지원할 수 없기 때문이다. 따라서 연구보고서가 아무리 훌륭한 내용을 담고 있더라도 너무 전문적이어서 내용 전달이 되지 않으면 그 보고서는 실패한 것이 되고 책임도 작성자가 져야 한다. 그렇기 때문에 미국은 아예 과학자의 글쓰기 의무(The Code of Ethical Conduct by the Society for Technical Communication)를 규정하고 있는데 그 내용은 다음과 같다.


-
새로운 개념의 개발만큼 이의 전달에도 중요한 의미를 부여하라.
- 읽는 사람의 시간과 노력이 중요함을 인식하라.
- 기술적 사실을 진실하고, 명확하면서 경제적으로 전달할 책임이 있음을 인식하라.


글은 논리적으로 차근차근 적어 나갈 때 설득력을 가진다는 점에서 사물을 논리적으로 분석하는 과학과 닮은 점이 많다. 그런 점에서 위대한 과학자들 가운데 위대한 작가가 많은 것은 이상할 것이 없다. 다윈이 5년 동안 남미와 갈라파고스를 둘러보고 쓴비글호의 항해는 생생한 묘사로 문학사의 고전으로 꼽히고 진화론을 체계화한종의 기원은 판매되자마자 매진된 베스트셀러였다. ‘이기적 유전자를 쓴 리처드 도킨스나시간의 역사를 쓴 스티븐 호킹도 베스트셀러 작가에 오른 인물이다.

그렇기 때문에 미 MIT 공대 부근에 있는 서점에서 지난 40년 간 베스트셀러를 기록한 책이 작문 책인 'The Elements of Style'(Strunk & White)인 것이다. 본문이 100쪽이 되지 않는 이 책이 강조하는 것이문장은 간결하고 짧게, 단문으로, 수동형은 피하고, 불필요한 단어는 무조건 빼라인데 이러한 원칙이 오랜 세월동안 공대에서 각광을 받고 있는 것이다.


글쓰기는 미국 공학 교육의 필수 항목이다.

직장에서 의사소통 능력이 경쟁력이고 글 잘 쓰는 기술자나 과학자가 성공하기 때문에 미국은 공대에서 TW나 프레젠테이션을공학교육인증제의 일환으로 필수 과목으로 가르치고 있다.


미국의공학교육인증제

미국의 공학 교육이 산업 현장에서 필요로 하는 지식을 제대로 지원하지 못하여 산업계의 불만이 높았다. 기업은 공대 졸업자를 사내 재교육을 통하여 다시 교육을 시켜야 하는 부담을 안았다. 미국은 이러한 공학 교육 문제를 해결하기 위하여 미국공학교육인증원(ABET : The Accreditation Board for Engineering and Technology)을 설립하고 교육의 인증제도를 실시하고 있다. 미국 공과 대학의 95%가 이 인증제도에 참여하고 있으며 캐나다, 호주, 영국 등 약 30개국과 협조하여 이 인증을 받은 대학 졸업자는 국가에 관계없이 1급 엔지니어로 상호 인정하는 시스템을 구축하고 있다. 대학이 인증을 받기 위해서는 공대생에게효과적인 의사소통능력을 배양하여야 한다.


TW
는 미국에서 전문 직종이다

미국은 TW를 교육 차원에서 머무르지 않고 전문 직업 분야까지 확대하고 있다. TW복잡하고 어려운 기술적인 내용을 이해하기 쉽게 표현하는 글쓰기로 정의하고 있기 때문에 그 대상이 매우 넓다.


<
3> Technical Writing의 정의

기술자나 과학자가 작성하는 논문, 연구보고서 및 기술보고서(협의) 직장인이 업무의 일환으로 하는 모든 종류의 글쓰기(광의)

- 회사 내의 공문, 보고서, 작업지시서 및 제안서

- 회계 및 결산 보고서

- 투자유치서

- 제품의 사용설명서 등


상기 대상 가운데 회계 및 결산보고서, 투자유치서와 제품의 사용설명서에 Technical Writer라는 전문 직종이 관여하게 된다. 예전에는 회계 및 결산보고서를 회계직만 이해하면 되었으나 요즈음은 소액 주주가 늘어나면서 어려운 기술 및 회계 내용도 일반인이 이해할 수 있어야 하기 때문에 이들 보고서가 쉽게 작성되지 않으면 결산 총회가 순조롭게 진행될 수 없기 때문이다. 투자유치서도 마찬가지이다. 벤처에 투자하는 투자가는 기술자가 아니기 때문에 복잡하고 어려운 첨단 기술을 잘 이해하지 못하므로 벤처회사는 기술을 쉽게 설명하지 못하면 자금을 모을 수 없다. 또한 제품의 사용설명서는 Technical Writer가 가장 많이 관여하는 분야이다. 제조물책임법(Product Liability Law;일명 PL)이 발효하면서 소비자가 설명서를 잘못 이해하여 입은 손해를 제조 회사가 배상하여야 되기 때문이다.

미국에서 Technical Writer를 직업으로 삼고 있는 전문 직업인이 10만 명이 넘고 대학에서 강좌를 개설하고 있는 곳도 240곳이 넘는다. 요즈음은 TW Technical Communication(TC) 영역까지 확대되고 있는데, TC복잡하고 어려운 기술적인 내용을 쉽게 전달하는 기술로서 글에 국한하지 않고 그림을 포함한다. 컴퓨터와 정보 통신이 발달하면서 컴퓨터 그래픽을 활용한 온 라인 전자매뉴얼 제작이 TC의 많은 부분을 차지하고 있다.


한국의 이공계는 글을 잘 못 쓴다

이공계 출신은 어느 나라 없이 글을 잘 쓰지 못한다. 그 중에서도 특히 우리나라 이공계 출신은 글을 더욱 못 쓴다. 요즈음은 대학 입시에 논술이 포함되어 그래도 글을 논리적으로 쓰는 방법을 배울 기회가 있으나 예전에는 그러한 제도도 없었고 뒤늦게 배우고 싶어도 가르쳐 주는 곳도 없었기 때문이다. 직장에서 결재권자는 기술자가 올리는 보고문을 보고 한결같이 내용 파악에 답답함을 호소하고 있다. 특히 요즈음에는 최고 경영자가 회의를 통하여 논의하던 업무를 전자 메일로 하는 경우가 많아졌는데 기술직 간부가 올리는 글이 관리직에서 올리는 글에 비해 형편이 없어 읽는 사람은 짜증이 날 정도라고 한다.


이공계열의 몰락과도 관계가 있다

이공계 출신이 우리나라에서 푸대접을 받고 있다고 난리이지만 그 책임의 상당 부분은 글쓰기 실력이 나빠 의사소통 능력이 부족한 자신에게 있다고 보아야 할 것이다. 우리 사회에서 봉급 기준으로 본 사회적 경쟁력은 기술 분야가 최하위에 있고 이 보다 금융이나 경영이 높다. 외교, 언론 및 정치는 더욱 월등하다. 뒤쪽으로 갈수록 의사소통 능력이 뛰어난 것을 보면 의사소통과 사회적 경쟁력은 비례한다고 볼 수 있다.

우리 사회에서 기술자가 담당해야 할 기술 경영, 기술 외교, 기술 언론 및 기술 정치를 비기술 분야에서 담당하는 것도 기술자의 의사소통 능력이 부족하기 때문일 것이다. 이공계 출신의 옹알이는 집 밖에 나서면 아무도 들어 주지 않기 때문에 그 만큼 과학기술의 경쟁력이 손상을 받을 수밖에 없다. 기술자가 푸대접을 받든 말든 그것은 개인의 문제이지만 기술이 천시를 받으면 결국은 우리나라가 앞으로 먹고살기가 힘들어 진다.


글쓰기는 기업 경쟁력에도 직결된다.

이제 글쓰기는 기업의 생존 차원까지 확대되고 있다. 제품의 사용설명서가 좋은 예이다. 지금까지는 제품의 사용설명서가 한결같이 이해하기 어려운 것이었지만 이를 아무도 탓하지 않았다. 그 이유는 우리나라는 그동안 기술을 수입에 의존하였기 때문에 사용설명서는 주로 외국 매뉴얼을 번역한 것이었고 어차피 읽는 사람이 매우 드물었기 때문이다. 그러나 이러한 상황도 변하고 있다. 우리나라가 최초로 기술을 개발하여 수출하는 제품이 생기면서 우리가 사용설명서를 만들어야 하고 제조물책임법에 의해 사용설명서도 법적인 제재를 받기 때문이다.

우리나라가 CDMA 무선전화통신기술을 개발하였으니 보고 참고할 매뉴얼이 없다. 이러다 보니 이 작업이 만만한 일이 아니다. 삼성전자는 이를 위해 TW 전문 부서를 운영하고 있으나 어려움이 많다고 한다. 개발을 담당하는 연구원이 작성한 사용설명서를 TW부서가 잘 이해할 수가 없고 가까스로 이해해서 영어로 번역을 하지만 기술 수입국으로부터 많은 문의가 오고 있다는 것이다.

또한 사용설명서는 2002 7월부터 법적인 제재를 받게 되어 사용설명서를 전문적으로 쓰는 매뉴얼 제작 업종이 급속히 성장하게 될 것이라는 점을 지난 호에서 이미 언급을 하였다. 제품의 사용설명서 이외에도 기업의 경쟁력을 좌우하는 글쓰기 분야가 많다. 투자유치서의 경우에, 예전에는묻지마투자이니까 상관이 없으나 요즈음은 상황이 바뀌었다. 벤처의 진정한 경쟁력은 기술에서 나오는 것이므로 투자자가 기술에 대한 정확한 이해 없이는 벤처회사의 자금 확보가 어려운 것이다. 일반인이 누가 보아도 이해할 수 있는 투자유치서를 쓰는 것이 회사의 경쟁력이 된다.

우리나라의 TW는 미국의 TC에 비하면 아주 초기 단계에 있다. 과학기술자가 작성하는 논문, 연구보고서 및 기술보고서 쓰기에도 미국의 TW의 개념이 도입되지 않고 있는 마당에 미국처럼 직장에서 작성하는 보고서나 투자유치서까지 포함하기는 요원하다. 그러나 제품의 사용설명서가 PL법에 포함되고 우리가 개발하는 기술이 늘어남에 따라 앞으로 이 분야도 전문직종으로 자리를 잡을 전망이다.


공학교육이 이제서야 글쓰기에 관심

대학에서 인문, 사회과학 분야로 진출하는 학생은 그래도 의사소통에 관심을 가지고 실력을 배양할 기회가 있으나 기술을 전공하는 공과대학 학생은 의사소통 분야에는 전혀 관심을 기울이지 않는 것이 우리나라 실정이다. 공대생들이 분석과 분해에는 강해도 통합과 표현에는 약하기 때문에 우리나라도 미국처럼 공대생에게 의사소통 기술을 반드시 함양시켜야 한다. 다행히 우리나라도 의사소통 기술을 키울 수 있는공학교육인증제를 도입하고 있다. 아직은 시행 초기 단계라 아주 적은 수의 학교만이 참여를 하고 있다.


한국의공학교육인증제

우리나라도 공학 교육이 산업 현장에서 필요로 하는 지식을 제대로 지원하지 못하여 산업계의 불만이 높다. 기업 인사담당자 300명에게 설문한 조사에 의하면 기업이 필요로 하는 지식의 26 % 만을 대학이 제공하고 있다고 한다. 워낙 대학이 제공하는 실용 전문 지식이 없으니 일반적인 태도나 품성, 의사소통 능력을 보고 인재를 뽑을 수밖에 없다고 한다. 기업은 이들을 뽑아 사내 재교육을 시키는데, 통계에 의하면 그 비용이 년간 28천억에 달한다고 한다. 산업자원부는 이러한 문제점을 해소하기 위해 문교부와 함께 한국공학교육인증원(ABEEC: The Accreditation Board for Engineering Education for Korea)을 설립하여 인증제도를 실시하는 한편, 산업 현장의 경영자를 CEO 객원교수로 공대에 파견하고 있다. 2001년에 영남과 동국대학교가, 2002년에 인하, 울산 및 부경대학교가, 2003년에는 창원, 한국해양, 공주, 경상대학교가 이 인증을 받았다(공대 전체가 아니고 일부 학과가 이 인증을 받는다). 2004년에는 강릉, 광운, 동국, 부산, 연세, 한양대학교가 추가로 받을 예정이다.


공대 글쓰기 교육도 고쳐야한다.

인증제에 참여하는 대학은 공대생에게효과적인 의사소통 기술을 가르쳐야 하나 마땅한 교재도 없고 가르칠 전문 교수도 없다. 주로 논문 작성법 위주로 강의가 진행되나 TW기법과는 많은 거리가 있다. 글쓴이가 이 일을 제일 먼저 시작하였기에 앞으로 빠르게 이들 학교에 TW기법이 전파되기를 희망하고 있다.

인증제에 참여하지 않는 대학에서는 이공계 학생이 교양 과목으로 1년 간 글쓰기를 배우게 되는데 두 가지 문제가 있다. 첫 번째가 대학 작문 교재는 아주 두꺼워 학생들이 보기만 해도 질릴 정도이다. 사정이 이러니 그렇지 않아도 글쓰기에 관심이 적은 공대 학생을 글쓰기에서 더욱 멀리 멀어지게 하고 있다. 두 번째가 문학적인 글쓰기와 사무적인 글쓰기는 성격이 아주 판이하게 다른데 이를 아무도 지적하지 않는데 있다. 문학적인 글쓰기는 재미와 감동을 위한 글로 기---결이 있다. 영화디 어더스(The Others)'를 보면 마지막 순간까지 결과를 알 수가 없어 조마조마하다. 그러나 사무적인 글은 먹고 살자고 쓰는 글이다. 사무실에서 상사한테 보고를 할 때 중요한 결론을 끝까지 숨기다가 마지막에! 이게 결론입니다. 재미있지요했다가는 목이 몇 개라도 남아나지 못한다. 보고서나 논문을 작성할 때는 결론이 먼저 제시되는 TW기법이 적용되어야 하는 것이다.

미국식 TW기법을 그대로 수입하는 것도 효과가 높지 않다. 서울 공대는 지난 98년부터 여름 방학에 1주 동안 TW 분야의 최고급 교수를 미국에서 초빙하여 영어 논문 쓰기 강좌를 개설하고 있다. 미국에서는 초등학교 때부터 체계적인 글쓰기를 가르치고 중, 고등학교에서는 많은 ‘Essay'를 학생이 쓰도록 하기 때문에 글쓰기의 기본이 갖추어져 있어 대학에서는 주로 ‘English Style'에 초점을 맞춘다. 이 교수가 미국에서 가르치는 대로 한국에서도 ’English Style' 위주로 강의를 하는데 우리나라 학생은 글쓰기의 기본이 되어 있지 않기 때문에 그 효과가 크지 않는 것이다.


이공계 글쓰기 쉽고 빠르게 배워 보자

글을 쓴다는 것은 전문 작가에게도 어려운 작업이다. 마치 김정호가 대동여지도를 그리기 위해 전국 방방곡곡을 발로 걸어 다니는 것과 같은 것이다. 그래서 글쓰기 교육은 마냥많이 읽고, 많이 쓰고, 많이 생각하라고 가르친다. 문제는 어디까지 해야 되는지 아무도 모르는데 있다. 이러니 글쓰기 교육이 어려울 수밖에 없는 것이다. 특히 글쓰기에 소질도 없고 관심도 없는 이공계 출신 기술자나 과학자는 더하다. 해답은 없는 것인가?

글쓰기 방법을 바꾸면 해답은 있다. 문학적인 글쓰기가 아니라 사무적인 글쓰기를 하면 된다. 글은 아름다워야 하고 읽는 사람의 마음을 움직일 수 있어야 한다고 사람들이 생각하기 때문에 글쓰기가 어려워진다. 이런 문학적인 글은 잘 그린 그림처럼 많은 시간과 노력이 든다. 그러나 그림 대신 약도를 그린다면 약도는 누구나 쉽게 그릴 수 있다. 기술자는 글쓰기를 약도 그리 듯이 하면 된다. 기술자가 사무적으로 쓰는 글은 감정에 호소하여 느낌을 전달하는 것이 아니므로주요 사실을 알기 쉽고 간결하게기술하면 되는 것이다. 이것이 바로 Technical Writing(TW)의 핵심이며, 글쓰기를 두려워하는 기술자들에게 요구되는 능력이다.

TW는 미국에서 출발한 개념으로복잡하고 어려운 기술적인 내용을 이해하기 쉽게 표현하는 글쓰기이다. 50년의 전통을 가지고 공대에서 필수과목으로 가르치고 있으며

회사에서 초급 간부로 승진하면 반드시 배우는 분야이다.


약도 그리듯이 하는 글쓰기(TW)

사무적인 글쓰기는 약도 그리듯이 글쓰기의 기본에 맞추어 하면 누구나 쉽게 할 수 있다. 글쓴이의 경험에 의하면 이공계는 누구나 6시간 정도의 교육을 받으면 글쓰기의 두려움을 없애고 제법 훌륭한 글쓰기를 할 수 있게 되는 것을 보아 왔다. 글쓰기를 약도 그리기에 비유하여 다음과 같이 제시한다.


1.
방향을 정하라: 읽는 사람을 고려한 글쓰기

약도를 그릴 때 먼저 방향을 정하듯이 글을 쓸 때도 먼저 방향을 정한다. 이때 방향은 자신에게 맞추는 것이 아니고 글을 읽는 상대에게 방향을 맞추는 것이다. 장사에는 고객이 왕이듯이 글을 쓰는 데는 읽는 사람이 왕이다.

실무자는 보고를 할 때 자신이 일을 한 순서대로 한다. 그러나 결재권자는 중요한 사항을 먼저 보고하기를 원한다. 이와 같이 실무자가 하는 보고와 결재권자가 원하는 보고가 얼마나 다른지 정리하면 다음과 같다.


* 실무자가 하는 보고

- 자신이 한 일을 시간 순으로 나열한다.

- 배경과 필요성이 먼저 나온다. 특히 책임이 따를까봐 문제제기를 우선한다.

- 보고서는 두꺼워야 설득력이 있다.

- 자신이 한 업무량과 보고서량을 비례시킨다.

- 고생한 만큼 보고량이 증가한다.

- 전문용어를 존중하고 자신에게 편리한 약어를 많이 쓴다.

 

* 결재권자가 원하는 보고

- 결론이 먼저 나오기를 원한다.

- 문제보다는 해결에 관심이 많다.

- 보고서는 얇아야 경쟁력이 있다.

- 사안의 중요성과 보고량이 비례하기를 원한다.

- 중요한 사항 순으로 보고 받기를 원한다

- 알아들을 수 있는 일반 용어를 선호한다.

일반적으로 자기 위주로 글을 쓸 때 나타나는 특징이 있는데 그것은 문장에 주어가 없다는 것이다. 쓰는 사람이야 어떤 일을누가한지 잘 알고 있지만 읽는 사람은 주어가 없으면누가한지를 몰라 혼란스럽기 마련이다. 게다가 생략 주어가 한 번은내가되고 그 다음은 '네가가 된다면 읽는 사람은 혼란을 넘어 화까지 나게 된다. 문장에 주어를 생략하면 그만큼 글자 수를 줄일 수 있다고 생각하는 사람이 많다. 천만의 말씀이다. 문장에 주어가 없으면 의미가 모호해져 오히려 글자 수는 많아진다.


2.
길 구도를 그려라: 논리적인 틀이 있는 글쓰기


 
. 목표를 부각시켜라: 주제 중심의 전개

약도에서 방향을 결정하면 다음은 목표를 정하듯이 글쓰기에서는 주제를 정한다. 다음은 목표와 주제가 가지는 공통점이다.

1) 목표도 하나, 주제도 하나이어야 한다.
2) 목표가 분명해야 하듯이 주제도 분명해야 한다.
3) 목표가 구체성을 가져야 하듯이 주제도 구체적이어야 하다.


 
. 가는 길을 결정하라: 글의 구상

약도에서 가는 길을 잡듯이 글도 정해진 순서대로 전개해 나가야 되는데 이를 글의 구상이라고 한다. 글을 시간 순이나 공간 순으로 적기도 하지만 대부분은 논리적인 순서로 적는다. 논리적 구상은,

1) 글의 전체 윤곽을 3단으로 도입-전개-정리나 서론-본론-결론으로 나눈다.
2) 글의 각 부분 배열을 규칙적으로 한다.
 
) 문제-해결 또는 해결-문제로 배열한다.
 
) 원인-결과 또는 결과-원인으로 배열한다.
 
) 중요한 순서나 동등한 내용을 성격별로 배열한다.
 
) 비교나 대조 또는 옹호나 비판으로 배열한다.

글의 전체와 부분을 개략적으로 나타내는 구상이 끝나면 이를 개요도로 작성한다. 약도에서 큰길, 좁은 도로 및 골목길로 나누듯이 글의 개요도는 주제를 중심으로 몇 개의 주된 가지를 정하고, 주된 가지 별로 몇 개의 부수 가지를 정한다. 필요시에는 부수 가지 별로 몇 개의 세부 가지를 정한다.


 
. 큰 길을 중심으로 구도를 잡아라: 문단 구조

큰길 몇 개로 구도를 잡듯이 글도 문단 몇 개로 구조를 잡는다. 문단은 하나의 소주제를 포함하게 하고 이들 소주제가 논리적인 연관성을 가지고 출발지에서 목표지까지 잘 흘러가도록 유도한다. 이를 위해 먼저, 글에서 핵심이 되는 문단의 형식적인 구조를 이해하여야 하는데 주요 내용은 다음과 같다.


. 한 문단은 한 소주제만을 다룬다(One paragraph, one topic).

. 문단은 소주제문과 이를 뒷받침하는 뒷받침문장들로 구성한다.
. 문단은 6개 내외의 문장으로 구성한다.
. 한 문장은 한 개념만을 다룬다(One sentence, one idea).
. 문장은 길어도 16 20 개의 단어(1.5 줄 이내)로 구성한다.
. 한 단어는 한 의미만을 갖는다. 즉 문맥에 맞는 정확한 단어를 사용한다. (‘一物一語의 법칙)


3.
단순하고 명쾌하게 그려라: 간결하고 명확한 글쓰기

마지막으로, 약도를 척 보면 알 수 있어야 하듯이 글도 핵심 내용을 한눈에 전달할 수 있어야 한다. 현대인은 바쁘고 읽어야 할 글도 많아 글을 선택적으로 읽는다. 그렇기 때문에 약도에서 주목을 받을 수 있는 큰 건물 몇 개만 단순하게 표시하고 헷갈리는 부문이 없도록 하듯이 글도 간결하게 하고 의미를 분명하게 해야 한다. 다음은 이를 위해 유의할 사항이다.


. 읽는 사람이 제목과 소제목에서 내용의 대부분을 파악할 수 있도록 한다.

. 결론을 향해 최단거리로 직행한다.
. 간결은 최고의 예술이다. 처음 쓴 글은 반 이상으로 압축이 가능하다.
. 형용사와 부사, 비유가 적을수록 좋은 글이다.
. 모호한 표현은 틀린 표현보다 더 나쁘다.


이와 같이 약도 그리듯이 쓴 글은 건물에 비유하면 반듯한 뼈대에 해당한다. 부하가 써온 글을 고치기보다 내가 새로 쓰는 것이 더 나은 것도 반듯한 뼈대가 되어 있지 않기 때문이다. 기술적인 글이 반듯한 뼈대만 갖추면 글의 80 % 이상은 완성된 것이다. 이제까지의 글쓰기 교육이 대부분 뼈대보다는 내부 장식의 성격이 강한 문법이나 표현 방법에 치중하여 그 효과가 미미하였다. 문법이나 표현 방법은 80 %의 완성도를 달성한 후에, 시간이 있고 취미가 있을 때 착수할 단계라고 나는 생각한다.

뼈대가 반듯하고 논리적인 글은 번역문제도 싶게 해결할 수 있다. 현재는 자동 번역율이 매우 낮은데 이는 우리 글의 뼈대와 논리가 반듯하지 않기 때문이다. 특히 대부분의 문장이 주어가 없고 복문과 중문으로 복잡하게 얽혀 있어 자동 번역이 불가능할 정도이다. 더욱이 요즈음은 전문 분야가 세분되어 있고 워낙 전문적이어서 국내에서 외국어 번역가를 찾기가 어려운 실정이다. 뼈대가 반듯하고 논리적인 글은 쉽게 자동 번역이 되고 이를 외국의 TW전문가가 알아보기 때문에 인터넷으로 번역 서비스(추천 싸이트 참조)를 활용하면 값싸고 빠르게 번역이 되는 것이다.  

 

Comment +4

Lib 파일입니다.

Comment +0

수업시간에 사용할 자료입니다.
꼭 프린트해 오시기 바랍니다.

Comment +0

사용자 삽입 이미지
강의 중 사용할 PADS의 최신버젼은 PADS2007 이다.
PADS2007 프로그램은 Mentor Graphics 홈페이지에서 데모버젼을 구할 수 있다. 데모버젼의 제약사항은 다음과 같다


Evaluation Details

PADS evaluation software is fully functional for small designs, allowing you to load, test, and save up to 30 components, 65 nets, and 150 connections. For larger designs, the software will go into a "no output" mode, which means you can experiment with all the features but will not be able to save your work.

HyperLynx functionality is constrained to work with the demonstration script and a set of predefined designs and models. You cannot use it to simulate your own designs. More information is contained in the ReadMe.

For information on new DxDesigner functionality or to request an evaluation copy of DxDesigner, contact your local sales representative.


간단히 살펴보면 다음과 같다.
첫째 부품 갯수는 30개 까지 사용할 수 있다. 네트수는 65개, 연결하는 컨넥셕은 150개로 제한된다. 그 이상을 사용해도 프로그램은 문제없이 움직인다. 단, 저장이 되지 않는다.

데모버젼으로 모든 기능을 사용하기는 무리겠지만 간단한 회로를 그려보고, PCB를 만들어보는 것은 가능해진다. PADS 가 어떤 것인지 살펴보고, 간단한 회로를 그리고, PCB를 만드는 작업은 데모버젼(평가판)으로도 가능하다.


프로그램은 여기서 다운 받을 수 있으며(MentorGraphics), 다운을 위한 박스를 클릭하면 등록을 위한 새창이 뜬다. 그곳에 필요한 정보를 입력하고, 등록을 완료하면 써넣은 메일주소로 pads 평가판을 다운받을 수 있는 곳이 알려진다.

메일을 확인해 보면 평가판을 다운 받을 수 있는 ftp 주소가 보인다. 물론 그 주소를 여기에 써줄수도 있다. 하지만 그것이 별 의미가 없는 것이, 메일을 받은 후 72시간난에 Activation code 라는 것을 넣어야 한다. 그 코드도 메일에 포함되어 온다. Y52eWL... 이런식이다. 이런 코드까지 넣어야 제대로 평가판이 설치되고 그 다음부터는 평가판을 영구적(?)으로 사용할 수 있다. 물론 위의 제약조건을 그대라 가진 채 말이다.

평가판 파일의 크기는 대략 160MB 정도이고,

  • PADS Logic
  • PADS Layout
  • PADS Router
  • HyperLynx (demo/tutorial)

이렇게 네개의 프로그램이 설치된다. 각각의 제약사항은 위에 말했다. 더 자세한 내용은 위의 링크를 클릭해서 멘토그래픽스 홈페이지의 내용을 직접 살펴보기 바란다.


P.S. P2P 사이트 등을 살펴봐도 된다.... 그건 설명할 수 없으니 알아서 찾기를 ...

PADS2007 데모버젼(평가판) 다운받기
http://electoy.tistory.com/55
JelicleLim(2008.2.19)

Comment +8

  • alegro 2010.03.28 18:32 신고

    pads2007평가 판이 어디있다는 건지요?
    알수가 없네요.
    mentor 홈페이지에도 demo버전은 없는데요?
    박사과정 밟고 있으면, 홈페이지에 오류가 있으면 빨리 수정하든가 아니면 정정됐으면 바꾸던가..
    자기 자랑할려고 올려놨나? 원래 인터넷은 진정한 정보를 전달하는게 목적입니다.
    당신떄문에 시간낭비하는거 보상해 줄겁니까?

    • savor 2010.05.24 00:42 신고

      제대로 읽어보시고 찾아보세요
      전 다운됐는데요..?
      자랑할려고 올린게 아니라 다들 도울려고 올린겁니다
      님께서 못찾으신거를 여기다 화풀이 하시면 안돼죠.ㅎ
      님이 보상해주셔야 할거같은데요?ㅎㅎ

  • savor 2010.05.24 00:40 신고

    다운되는데요?ㅎㅎ 잘안해보셔놓고..ㅋ

  • ah 2010.12.05 11:25 신고

    mail은 언제쯤 오나요? 즉시는 안오는 것 같은데

  • 2011.04.20 20:38 신고

    다운로드 잘 된느데...^^

  • 근데 2011.05.25 18:39 신고

    레이아웃이랑아우터있는데 로직만왜없죠?

  • Choi 2011.11.11 20:10 신고

    안녕하세요
    너무 좋은 정보라서 페이스북에 링크 공유해버렸네용~
    감사합니다 ^^;

  • 초보자 2013.12.09 01:24 신고

    안녕하세요 pcb설계 처음으로 입문한 사람인데요
    pads데모버젼으로 공부 좀 할려고하는데
    제가 위에 내용이 무슨 말씀이신지 잘 모르겠네요
    메일로 좀 받을 수 있을까 해서 문의드립니다
    메일주소는 jinwon85@hanmai.net
    부탁드리겠습니다


비트맵포맷의 구조는 다음과 같다.

기본적으로 디바이스 독립적 영상파일 저장 표준규격은 JPEG, GIF, BMP, TIFF, PCX, PGM 등의 여러 규격이 존재한다. 많이 사용하는 영상 포맷들은 압축 알고리즘을 사용하여 작은 크기로 변환시킨다.
BMP 파일포맷은 압축을 수행하지 않아 파일 크기가 커지는 반면, 파일의 구조가 가장 간단하다.


## 비타맵 파일에 대한 정보(파일헤드)

typedef struct tagBITMAPFILEHEADER {    // 14 = 2+4+2+2+4 (byte)
   WORD    bfType;  // "BM"이라는 글자가 설정됨
   DWORD   bfSize;  // 비트맵 파일의 전체 크기
   WORD    bfReserved1;  // 예약변수(0으로 설정함)
   WORD    bfReserved2;  // 예약변수(0으로 설정함)
   DWORD   bfOffBits;  // 파일에서 비트맵 데이터가 있는 위치
} BITMAPFILEHEADER;

비트맵파일인지 아닌지를 확인하는 변수가 bfType 이다. BMP파일의 첫 두 바이트는 항상 "BM" 문자가 저장된다. bfOffBits 는 파일 시작부분에서 실제 영상데이터가 존재하는 위치까지 바이트 단위의 거리를 나타낸다. WORD 는 unsigned short, DWORD 는 unsigned long 으로 정의되어 있다.

## 영상 자체에 대한 정보(영상헤드)

비트맵 영상에 대한 크기, 흑백, 칼러정보, 팔레트 크기 정보등을 저장하기 위한 구조체 변수이다.

typedef struct tagBITMAPINFOHEADER {  // 40 = 4+4+4+2+2+4+4+4+4+4+4 (byte)
   DWORD biSize;  // 구조체의 크기
   LONG biWidth;  // 비트맵의 가로 크기
   LONG biHeight;  // 비트맵의 세로 크기
   WORD biPlanes;  // Plane수(1로 설정함)
   WORD biBitCount;  // 한 픽셀당 비트수
   DWORD biCompression;  // 압축 유무 플래그
   DWORD biSizeImage;  // 그림 데이터의 크기
   LONG biXPelsPerMeter;  // 한 픽셀당 가로 미터
   LONG biYPelsPerMeter;  // 한 픽셀당 세로 미터
   DWORD biClrUsed;  // 그림에서 실제 사용되는 컬러 수
   DWORD biClrImportant;  // 중요하게 사용되는 컬러
} BITMAPINFOHEADER;

중요한 정보는 영상파일의 크기를 나타내는 변수 biHeight, biWidth 와 흑백과 칼라여부를 나타내는 biBitCount, 팔레트 크기를 나타내는 biClrUsed 등이다.
biBitCount 가 8이면 흑백영상이거나 2^8 = 256 칼라의 영상이다. 24라면 트루칼라, 16이면 2^16 개의 칼라를 사용하는 영상이다.


## 팔레트

팔레트는 인덱스에 의한 칼라값을 저장하기 위한 구조체이다. 이 구조체를 사용, 팔레트 수만큼 배열을 할당, 저장한다. 256 칼라모드의 경우 팔레트배열 크기는 256이 되고, 16비트 칼라영상의 경우 2^16 개의 팔레트배열 크기를 가지게 된다.

typedef struct tagRGBQUAD { // 4
   BYTE rgbBlue;  // B성분 (파랑)
   BYTE rgbGreen; // G성분 (초록)
   BYTE rgbRed;   // R성분 (빨강)
   BYTE rgbReserved;
} RGBQUAD;
typedef struct tagBITMAPINFO {
   BITMAPINFOHEADER bmiHeader;
   RGBQUAD bmiColors[1];
} BITMAPINFO;


## DIB 와 DDB
DDB 는 Device Dependent Bitmat 의 약자로 디바이스 종속적인 비트맵이고, DIB 는 Device Independent Bitmat 의 약자로 디바이스에 독립적인 비트맵이다. 다시말해서 DIB 는 어느 기종에서 보든 즉, PC 거나, MAC 이거나, 아니면 핸드폰으로 보거나, PDA로 보거나 상관없이 같은 그림과 칼라가 나온다는 의미이다.

## BMP 에서 DIB 사용시 주의사항
비트맵 영상이 저장될 때는 이미지가 거꾸로 저장된다. 즉, 비트맵에서 영상데이타를 영상처리를 위해 사용할 배열로 다시 저장할 때는 거꾸로 뒤집어서 저장해 주어야 한다.

 for(int i=0; i<biHeight; i++) {
  for (int j=0; j<biWidth; j++)
   ProcImg[i*biWidth+j] = lpImg[(biWidth-i-1)*rwsize+j];
 }


 
영상의 가로길이는 4바이트의 배수가 된다.
비트맵은 메모리 저장시 가로줄의 크기가 항상 4바이트의 배수가 되어야 한다. 실제 사용 영상의 가로길이는 4바이트의 배수가 아닐 수 있다. 이런 경우 4의 배수바이트로 바꾸어 저장한다. 즉 78 x 80 크기의 BMP 파일은 가로 픽셀 78이 78byte 로 4의 배수가 아니므로 80byte 로 만들고 나머지 2byte 는 쓰레기값으로 처리된다. 실제 저장되는 메모리는 80 x 80 으로 저장된다.

아래는 간단한 소스이다.

#include <stdio.h>
#include <windows.h>
#define WIDTHBYTES(bits) (((bits)+31)/32*4)
#define BYTE    unsigned char

int main()
{
 FILE *infile;
 infile = fopen("ImgBW.bmp", "rb");
 if(infile==NULL) {printf("No Image File"); return;}

 // BMP Header Information
 BITMAPFILEHEADER hf;
 BITMAPINFOHEADER hInfo;
 fread(&hf, sizeof(BITMAPFILEHEADER),1,infile);
 if(hf.bfType!=0x4D42) exit(1);
 fread(&hInfo,sizeof(BITMAPINFOHEADER),1,infile);
 if(hInfo.biBitCount!=8) {printf("Bad File Format!!"); return;}

 // BMP Pallete
 RGBQUAD hRGB[256];
 fread(hRGB, sizeof(RGBQUAD), 256, infile);

 // Memory
 BYTE *lpImg = new BYTE [hInfo.biSizeImage];
 fread(lpImg, sizeof(char), hInfo.biSizeImage, infile);
 fclose(infile);

 int rwsize = WIDTHBYTES(hInfo.biBitCount * hInfo.biWidth);

 // Reversed Image
 for(int i=0; i<hInfo.biHeight; i++) {
  for (int j=0; j<hInfo.biWidth; j++)
   lpImg[i*rwsize+j] = 255 - lpImg[i*rwsize+j];
 }

 // Image Output
 FILE *outfile = fopen("ImgBWR.bmp", "wb");
 fwrite(&hf, sizeof(char), sizeof(BITMAPFILEHEADER), outfile);
 fwrite(&hInfo, sizeof(char), sizeof(BITMAPINFOHEADER), outfile);
 fwrite(hRGB, sizeof(RGBQUAD), 256, outfile);
 fwrite(lpImg, sizeof(char), hInfo.biSizeImage, outfile);
 fclose(outfile);

 delete [] lpImg;
}

사용자 삽입 이미지

256 회색 이미지를 반전 처리한


BMP 파일을 읽고 쓰는 방법
http://electoy.tistory.com/35
JelicleLim (2007.11.24.)

Comment +0

영상처리 프로그램을 시작한다. 최종적으로 Mindstorms NXT 에서 사용할 것인데, 그전에 PC 기반으로 영상처리 기본 연습을 해야 할 듯 하다. 우선은 영상을 읽어 들이고 처리하는 부분부터 시작하고, 나중에 Arm7 으로 무장한 Mindstorms Intelligent Bric 을 사용한 영상인식과 처리까지 가능하게 하려고 구상하고 있다. 중간단계로 WebCam 을 사용한 PC 기반에서의 영상인식과 처리를 구현하는 것을 생각하고 있다.

우선 오랜만에 그간 안하던 Visual C++ 프로그램을 시작한다. 사실 C 만 주로 해서 아직까지 C++ 프로그램은 익숙하지 않다. 이번기회에 C++ 마인드로 새롭게 갖춰야 할 필요도 느낀다. 사실 작성하고 보니 아래 소스는 C++ 이라기보다는 그냥 C를 사용해 만들어진 프로그램이다.

#include <stdio.h>

void main()
{
 int i,j;
 unsigned char OrgImg[256][256];

 FILE *infile = fopen("coin.raw", "rb");
 if(infile==NULL) { printf("File open error!!"); return;}
 fread(OrgImg, sizeof(char), 256*256, infile);
 fclose(infile);

 for(i=0; i<256; i++)
 {
  for(j=0;j<256;j++)
  {
   OrgImg[i][j] = 255-OrgImg[i][j];
  }
 }

 FILE *outfile=fopen("coin_inv.raw", "wb");
 fwrite(OrgImg, sizeof(char), 256*256, outfile);
 fclose(outfile);
}

기본적으로 RAW 파일은 영상의 정보없이 그냥 데이타만 가득한 파일이다. RAW 파일은 특성상 전혀 데이타의 손실이 없다. 하지만 데이타의 크기가 크다는 단점과 함께 파일에 대한 정보가 없기 때문에 이용에 불편함이 있다.

위 소스는 256 x 256 짜리 RAW 파일을 읽어 들여서 255 - Value 연산을 통해 역상을 만들어 저장하는 것이다. 영상처리랄 것도 없이 그저 영상을 읽어들이고 다시 쓰는 기초작업이다.

이런 방식으로 파일을 읽고, 처리하고, 저장하는 식으로 진행될 것이다.
아래에 RAW 파일로 만든 원본 이미지와 역상 이미지를 둔다.

사용자 삽입 이미지
깨끗하게 영상이 반전되어 나타난다. 당연한 결과지면 역시 드러나는 결과를 눈으로 보는 것과 수치로 이해하는 것의 차이는 매우 크다는 것을 실감하는 순간이었다. ^^ (당연히 이렇게 되겠지... 우와~ 멋있는데 ^@@^ )


RAW 파일 읽고 쓰는 기본 소스 (C++)
http://electoy.tistory.com/19
JelicleLim (2007.11.19)



 

Comment +2

한참을 찾았다.

레나라고 불리는 이 사진은 영상처리에 있어 감초같은 그림이다. 왜인지는 모르겠지만, 어쨌거나 처음 시작한 이들부터 시작해서 이 사진은 영상처리에 있어 중요한 시약같은 역할을 해왔다.

쉽게 말해서 얼마나 제대로 영상처리가 되었는지를 검사하는데 이 사진을 사용한 것이다. 사진은 Lena 혹은 Lenna 라고 불리는 한 여인의 사진인데, 꽤나 매력적이다. 그리고 이 사진을 계속보다보니 알게 된 사실인데, 스웨덴 여자로 플레이보이의 모델이었다고 한다. 그리고 1972년 11월호에 나온 사진이었다. 인터넷을 통해 세계에 알려진 아마도 첫번째 유명인물일 것이다. 그녀는 플레이보이 모델로서가 아니라 영상처리분야의 시약같은 존재로 더 유명해 졌다.

사용자 삽입 이미지

왜 "Lenna" 사진을 이용하는 것인가?

두 가지 이유를 든다. 아래에 원문을 인용한다. 간단히 번역하면 첫째 레나 이미지는 조밀한 영역, 평면, 그리고 텍스처라고 불리는 일종의 결모양을 가지고 있어 다양한 이미저 처리 알고리즘 테스트에 좋은 사진이라는 점이다. 두번째는 이쪽 분야 연구원들이 일반적으로 남자들이 다수를 차지하다보니 매력적인 여성의 사진에 마음이 가는 것은 어쩔수 없는 자연의 순리라는 정도다. ^_^

Two reason was stated in "A Note on Lena" by David C. Munson. First, the Lenna image contains a nice mixture of detail, flat regions, shading, and texture that do a good job of testing various image processing algorithms. It is a good test image! Second, the Lena image is a picture of an attractive woman. It is not surprising that the (mostly male) image processing research community gravitated toward an image that they found attractive.


사용자 삽입 이미지
어쨌건 이 사진 말고도 다른 사진을 가지고 얼마든지 영상처리에 관련된 실험이 가능하기는 하지만 그래도 실험결과를 비교하기 위해서는 이전 실험자가 한 방법을 검토해야만 할 때가 있다. 그때는 아무래도 이전 사용자가 사용했던 사진에 자신의 연구를 통해 나온 결과를 보여줌으로 성과를 보여줄 수 있다. 이 사진은 아무래도 당분간 계속해서 영상처리 분야에서 사용될 듯 하다.

참고로 Lenna 는 1997년에 50세 생일을 맞이해, IS&T(Society of Imaging Science and Technology)에서 연 컨퍼런스에 참석하기도 했다.

마지막으로 Lenna 사진을 사용해서 영상처리 결과를 만들 경우 필요한 원본사진 TIFF 포맷의 사진을 올린다. 이 사진의 꽤 크기가 크지만 그만큼 충실하게 영상데이타를 담고 있는 셈이다.

lena_std.tif

Lenna / Lena TIFF 포맷의 Image


VIA [Lenna97] / [Chuck]

이미지 처리에서 Lenna 사진의 위치
http://electoy.tistory.com/18
JelicleLim (2007.11.19)

Comment +0