전체 글 118

[쿼드콥터] 추력상수를 구하기 위한 실험

추력상수는 무엇이고 왜 구해야 하는가??? 일단 추력이란 무엇인가?? 추력을 쉽게 아래의 그림으로 설명하자면 모터에 프로펠러를 달고 회전을 시키면 모터의 평행방향을 생기는 힘이 추력이다. 추력상수는 임의로 붙인 이름의 상수이다. 이 상수를 왜 구해야 하는지는 저번 글에서 살짝 소개했는데 다시 한번 설명하자면 사실상 우리의 계산의 흐름에서 어찌보면 최종적으로 나오는 값은 각 모터의 추력값이다. 그런데 각 모터를 얼마나 회전시켜야지 얼만큼의 추력이 나오는지 어떻게 알까?? 실험을 통해서 모터의 회전을 -> 추력으로 바꿔주는 추력상수라는걸 구할 것이다. 실험에 앞서서 기본적인 값 쿼드콥터의 기본 무게는 : 1170g 모터는 :RCTimer A2212 1000kV 프로펠러 사이즈 : 10 x 4.5실험 설명 이..

SSM/쿼드콥터 2016.01.08

[쿼드콥터] 쿼드콥터 입력에서 출력까지의 흐름

입력에서 출력까지의 계산의 흐름 원래 전체적인 제어기를 구현할때 가장 중요한 것이 아마도 입력이 무엇이며 출력이 무엇인가가 매우 중요하다. 왜냐하면 어떤 물리량을 제어할지 알아야 구현을 할 수 있기 때문이다. 그렇기에 우리가 주는 입력값에 대해서 어떻게 계산이 이루어져서 출력값까지 가는지 알아야 한다. 이 부분이 나도 쿼드콥터를 만들면서도 가장 이해가 안되고 힘들었던 부분이기 때문이 설명을 잘 못할 수 있다는 점 미리 양해를 구하겠다. 보통 저 흐름데로 제어기가 돌아가는데 이 흐름을 따라서 설명을 하겠다. 하지만 나같은 경우는 사실상 실제로 코드를 짜다 보면 느끼는 흐름의 방식은 아래의 그림 같다는 것을 느낄 수 있었다. 어 근데 위 그림을 보면 쿼드콥터는 피드벡 시스템인데 왜 센서가 흐름에서 독립적으로..

SSM/쿼드콥터 2016.01.06

PID 제어의 원리

제어기란?? 제어기란 아래의 그림에서 보는거와 같이 controller 부분을 나타내는 부분을 말한다. 이 제어기가 필요한 이유는 오차를 제거하기 위해서 즉 오차값을 0에 가깝게 만들기 위해서 plant에 주는 입력인 조작량을 조절해 주는 역할을 한다. 이러한 오차를 입력으로 받아서 조작량 즉 제어신호를 만들어 주는 방법을 제어동작(control action)이라고도 한다. 제어기의 분류는 현대에 이르러서 Analog 제어기와 Digital 제어기로 나누어지는데 과거에는 Analog 제어기를 대다수 사용하였지만 요새는 Digital 제어기를 자주 쓰인다 그 이유 중 가장 큰 이유는 아마도 Digital 방식이 저가형인 경우가 많기 때문일 것이다.(추측) 이러한 제어기는 파워에 따라서 전자식, 유압식, 공..

공부/제어공학 2016.01.05

전달함수와 블록선도

전달함수와 블록선도 아마도 제어공학의 공부를 시작한다면 전달함수와 블록선도라는 이야기를 많이 들을것이다. 실제로 공부하면서 많이 사용되고 나오는 부분이고 알아두어야 할 부분이다. 전달함수 전달함수의 정의는 모든 초기조건이 0이라는 가정하에 선형 시불변 시스템의 입력과 출력사이의 관계로 보면 된다. 그래서 위의 그림과 같은 관계인데 즉 아래와 같이 표현할 수 있다. 그러하면 여기서 만약에 입력인 u(t) 가 임펄스 응답 함수라면??? 이걸 라플라스 변환 한다면 U(s) = 1 이 된다. 즉 여기서 G(s) = Y(s) 가 된다. 즉 이러한 함수를 역변환 해주면 가 된다 이 역변환 함수를 임펄스 응답함수라고 하고 가중함수 라고도 한다. 이러한 임펄스 응답함수는 주로 증명을 할때 많이 사용하므로 알아두도록 한..

공부/제어공학 2015.12.19

시스템의 분류 및 수학적 모델링

제어기 설계 절차 보통 제어기를 설계하는 절차는 크게 4가지로 나누어 진다 첫번째는 제어 대상시스템의 작동원리를 파악해야하며 두번째로는 그 대상 시스템의 동역학적 해석 즉 수학적 모델링과 동역학 해석을 해야합니다. 세번째로는 제어기 설계이론을 가지고 제어기를 설계하여야 합니다 마지막으로는 그 제어기가 잘 작동하고 있는지 실험이나 시뮬레이션으로 성능을 검증해야 합니다. 제어 대상의 시스템 종류 및 해석 제어 대상의 시스템은 여러 개의 분류로 나누어 질 수 있는데 시스템의 출력이 어느 시점의 입력에 영향을 받느냐의 분류로 두가지로 나눌 수 있다. 1.시스템의 출력이 영향을 받는 입렵에 시점에 따른 시스템의 분류 동적시스템 - 현재의 출력이 현재의 입력뿐 아니라 과거에 입력에도 영향을 받는 시스템이다. 과거에..

공부/제어공학 2015.12.07

라플라스(Laplace) 변환

라플라스 변환 왜 하는가?? 라플라스 변환 같은 경우는 제어공학에서 많이 사용하는 변환으로 알아두어야 할 필요가 있다. 그렇다면 이러한 변환을 하여서 얻는 이점은 무엇일까?? 그건 크게 두가지로 말할 수 있다. 1. 선형 상 미분방정식을 대수 방정식으로 바꿀 수 있기 때문.2. 주파수 응답 같은 경우 도해적으로 해석하는데 활용 가능하기 때문. 위에 이유 때문에 라플라스의 변환을 한다. 예를 들면 보통 플랜트 해석을 시간 영역에서 해석 하기 어렵기 때문에 주파수 영역으로 가지고 와서 해석하는데 이때 필요한 변환이 라플라스 변환인 것이다. 라플라스 변환의 정의와 특징 라플라스 변환의 정의 같은 경우는 이거 이다. 이 방식으로 미분 방정식인 f(t) 를 대수 방정식인 F(s) 바꿔 준다 여기서 참고할 사항이 ..

공부/제어공학 2015.12.06

복소 평면

복소 평면을 왜 쓰는가?? 복소 평면이란 허수축을 포함하는 평면이라고 볼 수 있다. 복소평면을 쓰는 가장 큰 이유는 벡터의 방향을 정확하게 표현할 수 있으며 회전이나 좌표계산에 대해서 편리한 장점을 가질 수 있다는 것이다. 그 예로 들어보자면 0도와 180도의 차이를 예를 들어보면 이 둘의 차이는 방향이 다르기 때문에 부호가 다르다. 즉 180도는 그냥 0도에서 -1을 곱한값으로 표현할 수 있는 것이다 그렇다면 90도를 표현하기 위해서 이 -1의 제곱근 값이 필요할 것이닥. 그렇기 때문에 인 허수가 필요한 것이다. 그렇기에 이 허수를 사용 한다면 방향을 표시하는 편리함을 갖는다는 이점을 가지고 있다. 복소 변수 복소변수는 실수와 복소수(허수)로 이루어진 변수를 의미한다. 그렇다면 복소수는 무엇인가?? 복..

공부/제어공학 2015.12.04

되먹임 제어 시스템

개념 제어란(Control)?? 쉽게 설명하자면 어떠한 시스템(System) 에 대하여 원하는 출력이 나타나도록 조절하는 행위를 제어라고 한다. 간단한 예를 들어 보자. 에어콘을 예로 들어 보자면, 우리가 원하는 실내 온도를 맞춰 놓으면 그 온도가 되기 위해서 에어콘이 출력을 조절하는 행위를 에어콘이 온도를 제어한다 라는 것이다. 용어 설명 Control variable (제어 변수) : 측정되어서 제어되는 양을 말한다. Plant (플랜트) : 어떤 특별한 기능을 수행하는 장치를 말한다 ex) 모터의 속도 제어 라면 모터 자체가 플랜트가 된다.System (시스템) : 시스템 , 계, 계통 이라고도 말하며 여러개의 조합체라고 생각하면 된다.Sevomechanism (서보기구) : 위치, 속도, 가속도 ..

공부/제어공학 2015.11.28

[쿼드콥터] 상보필터 사용

필터의 필요성 우리가 쿼드콥터의 자세유지를 위해 필요한 것은 각속도도 아니고 가속도도 아닌 각도(오일러각)가 필요하다. 그렇다면 각도를 어떻게 구해야할까?? 그것은 센서끼리 융합을 하여서 얻어오는 것인데 두가지 방식이 있다. 바로 아래와 같다.ARS(Attitude Reference System) : 자이로 가속도 센서를 이용한 롤. 피치각 추정하는 시스템AHRS(Attitude Heading Reference System) : 자이로 가속도 자기컴파스 센서를 이용하여서 롤, 피치, 요각을 추정하는 시스템 나는 여기서 ARS 를 이용하였고 자이로 가속도값으로 각도를 구하였다. 그럼 어떻게 자이로 가속도값으로 각도를 알 수 있을까?? 그 이유는 자이로, 가속도 센서는 각도에 대한 정보를 간접적으로 가지고 ..

SSM/쿼드콥터 2015.11.21

[쿼드콥터] SPI 통신 < MPU6050 -> MPU6000 >

MPU6050 / MPU6000 에 대하여 mpu6050은 6축 자이로 가속도 센서이다. 6축이라는건 3축 자이로와 3축 가속도 센서가 합쳐진 것인다. 그렇다면 이 자이로 가속도 센서라는게 어떤값을 출력하는지 알아야지 사용하지 않겠는가?? 그래서 어떤값을 출력하는지 보자면 아래와 같다. 3축 자이로 센서 - 각 축에 대한 회전 각가속도 값3축 가속도 센서 - 각 축에 대한 가속도 값 + 중력 가속도 값 (아래의 4.데이터 수신 및 변환 꼭 볼것!) 그래서 자이로 가속도 센서를 이용하여서 궁극적으로 각도를 추정할 수 있게 됩니다. 이 추정하는 과정에서 상보필터 혹은 칼만필터를 사용하기도 하는데 이 부분은 복잡하므로 다음으로 설명을 미루겠다. 하여튼 이 자이로 가속도 센서의 값을 받아오는 통신 같은 경우는 ..

SSM/쿼드콥터 2015.11.20
728x90