본문 바로가기

분류 전체보기1382

칼만필터, 가속도센서로 아두이노 센서 소프트웨어 만들기 (코딩 팁) 칼만필터, 가속도센서로 아두이노 센서 소프트웨어 만들기 (코딩 팁) 칼만필터로 아두이노 소프트웨어 만들기 전에 칼만필터에 대한 이해는 이 포스트를 참조하자. 칼만필터를 잘 알고 있다면 소개한 링크는 생략해도 무방하다. 먼저 시스템 방정식과 관측방정식을 살펴보자 칼만필터를 도입하여 가속도센서로 아두이노 센서 소프트웨어를 만들기 위해서는 기본적으로 위와 같은 두 선형방정식이 필요하다. 비선형 방정식에 대한 "확장형 칼만필터 (Extended Kalman Filter)"는 비선형 방정식을 테일러 급수전개 등을 이용하여 가속도센서의 선형화한 후 적용한 형태일 뿐이다. (다만 비선형의 선형화에 따른 변환계수 -그림에서 A 또는 H와 같은- 의 형태가 달라질 뿐이다. 이에 대해서는 "확장형 칼만필터"에서 다시 자세.. 2017. 1. 21.
[C++프로그래밍] Gaussian(가우시안) 필터 알고리즘 개념과 소스 [C++프로그래밍] Gaussian(가우시안) 필터 알고리즘 개념과 소스 Gaussian 스무딩의 공식은 아래이고, C++프로그래밍 소스로 구현하면 그 아래처럼 됩니다. 아래에서 소개하는 C++프로그래밍 가우시안 필터 소스는 Qt Creator에서 작업한 결과입니다. Qt로 구성했으나, 일반적인 C++프로그래밍 소스와 호환됩니다. Qt만의 특성은 딱히 없습니다. 있어봐야 QVector 정도인데, 일반 Vector와 같습니다. (Qt프로그래밍과 C++프로그래밍의 차이는 매우 적어요. Qt 소스지만, C++ 프로그래밍에도 적용할 수 있는 가우시안 필터 소스입니다) 헤더 파일 (Gausian .h) 12345678910111213141516171819202122232425#ifndef GAUSIANFILTER.. 2017. 1. 21.
[MFC강좌] 메모리맵 파일 소스, WinCE(windows embedded compact) [MFC강좌] 메모리맵 파일 소스, WinCE(windows embedded compact) MMF(Memory Map File)를 구현한 소스로 MFC강좌 알려드립니다. WinCE MMF는 메모리맵파일(메모리 관리 기법)로 프로그래밍 강좌에서 메모리 관리 기법으로 주로 소개하는 것입니다. 간단한 이론은 구글에서 검색하시면 되고, 이 포스트에선 소스를 제공하며 간단히 주요 소스를 언급합니다. 일단, WinCE 메모리맵파일을 이용해 메모리에 읽고 쓰는 프로그램 UI는 아래와 같습니다. bbb는 쓰는 프로그램이고, aaa는 읽는 프로그램입니다. 아래 첨부한 MFC강좌용 예제 소스는 MMF를 구현한 것인데, 읽기 쓰기 모두 됩니다. 하지만, 윈도우7과 윈도우CE(windows embedded compact) .. 2017. 1. 20.
리눅스 Flex 컴파일러 윈도우 설치 (LEX Linux GNU 버전을 Windows7) 리눅스 Flex 컴파일러 윈도우 설치 (LEX Linux GNU 버전을 Windows7) 리눅스 Flex 컴파일은 리눅스 Lex의 GNU 버전 프로그램입니다. 단순한 GNU 버전인 것만은 아니고, 많은 부분이 개선된 프로그램이라고 합니다. MinGW 설치(윈도우즈에 리눅스 개발환경 설정하기) 12flex linenos.flexgcc lexyy.c -lflcs 위와 같은 리눅스 Flex 컴파일 명령어들을 사용하기 위해선 윈도우즈에 리눅스 개발환경을 설정해야 합니다. 리눅스에선, 12yum install bisonyum install flexcs 와 같은 명령어로 쉽게 설치해야 사용할 수도 있습니다. 저와 같이 리눅스에서 사용하는 컴파일러인 gcc를 사용하기 위해선 MinGW를 윈도우7에 먼저 설치해야 합니.. 2017. 1. 19.