Embedded System 58

우승팀 앵콜주행 영상

와...잘한다 진짜... 1등 인정 안할수가 없다. 경기때는 완주했는데 앵콜주행에서는 보는 사람이 많아서 차가 긴장했나보다. 가톨릭대학교가 우승을 차지했다. 우리팀은 되도않는 실력으로 공동2등이 되었었지만 순위결정전 에서 3등으로 밀려났지만 모두들 수고했다. 2등이 세명대였나? 우리팀 주행영상은 부끄러워서 찍지도 않았다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

주차파트

제일 간단할 줄 알았는데 괜히 질질끌다가 대회 당일까지 손대게 하는 파트였다. 확실히 간단하기는 한데 왠만하면 빨리 끝내자. 지능형 자동차 옆에 있는 적외선거리센서를 이용해서 장애물을 인지하고 수직구간인지 수평구간인지 파악해준다. 후면에 있는 거리센서를 통해 뒷쪽 벽에 부딪히지 않게 해준다. 처음 동영상은 수직주차이다. 두 번째 동영상은 수직,수평 통합이다. 주차방법에 상당히 여러가지 알고리즘을 도전해봤다. 마지막으로 그 중에 하나다. 속도는 느리지만 좀 더 안전하게 주차할 수 있다 수직 두번만 하면 된다.

S자 코너와 주행

주로 내가 맡은 파트는 코너링과 일반주행이었다. 연구실에서는 잘 되던놈이 왜 실전에 약하니 ;; 영상처리는 무조건 간단하게 해야한다. 괜히 openCV같은거 쓰면 안될듯? 왠만하면 YCbCr로 처리하고 RGB나 HSV로 바꾸고 싶으면 룩업테이블을 활용하자. 그렇지 않으면 연산속도가 딸려서 주행에 문제가 생긴다. 그리고 가장 중요한건 예외처리다. 문제가 발생하면 그 상황으로 빠지지 않게하는게 관건이다.

개발환경 구축하기(마지막)

환경구축 마지막이다. 환경만 잘 구축해 놓으면 다음 단계는 이제 개발자의 역량이다. 나는 대회를 준비하면서 리눅스를 처음 접하게 되었고 시작부터 막막했었다. 그저 리눅스를 사용해야한다는 것만 알고 있었다. 역시 사람은 직접 부딪혀봐야 뭔가를 얻는다. 혹시라도 임베디드 대회를 준비하는 사람들이 이 글을 보게 된다면 나처럼 환경구축에만 몇 개월을 쓰는 일은 없을 것이다. 혹시 이글을 참고하고자 한다면 내가 설명을 개떡같이 해놨지만 찰떡같이 알아들어라. 이건 남을 위해 작성한게 아니라 나를 위한 정리니까! Tool-Chain 설정하기 툴체인이 뭔가? 간단히 컴파일환경이다. 나는 컴파일러를 지정해 주는것이라고 생각한다. 우리가 코드를 멋지게 짜놔봤자 뭐하겠노? 좋다고 소고기 사먹ㄱ.... 불어 한마디 못하는 당..

[라즈베리파이] 도착!

라즈베리파이가 도착했다. 임베디드소프트웨어 대회 준비 6개월동안 ARM만 사용하다보니 지능형자동차에 붙어있던 보드를 써보고 싶었다. 고성능에 영상처리도 가능하고 여러모로 좋았다. 그래서 대회 끝나고 하이버스에 가격을 물어 봤다. 하지만.... 감히 내가 지를수 있는 수준이 아니었다. 5만원도 아닌 50만원이라니!! 어쨌든 AVR과는 다른 느낌이랄까? OS도 올릴 수 있고 좀더 상위레벨의 개발을 할 수 있을 것 같았다. 하지만 내 실력이 수준이하라는게 함ㅋ정ㅋ 싸고 좋은 임베디드보드를 알아보던 중 선배로부터 라즈베리파이의 존재를 알게 되었다. 성능도 xhyper320mini(지능 형자동차에 붙어있던거)랑 비슷하고 크기도 작고 여러모로 마음에 들었다. 가격도 5만원 아래! 거의 10배 싸다. 라즈베리파이에 ..

개발환경 구축하기(3)

Eclipse 설치하기 저번 글에서 사용했던 apt-get install 을 사용하여 eclipse를 설치해보자. eclipse는 일종의 틀 같은 놈이다. 일식, 월식할때 "식(蝕)"이 바로 eclipse다. eclipse는 오픈소스로 되어있고 tool-chain에 따라 컴파일 할 수 있게 되어있다. 메모장으로 소스를 만들어도 상관없지만 eclipse를 쓰면 좀 더 효율적으로 소스코드를 작성할 수 있다. 메모장에서는 자동 들여쓰기나 작성 중 오류발견 등이 어려운데 eclipse를 쓰면 자동으로 잡아주기 때문이다. 설치하기 전에 update를 한번 해주자. 안하니까 eclipse 설치가 안된다. - -; 터미널에 sudo apt-get update라고 입력해준다. 자 이제 업데이트가 끝났으니 eclipse..

개발환경 구축하기(2)

1. 리눅스 설치하기 보통 많이 사용되는 리눅스는 우분투, 페도라이다. 그럼 두 리눅스의 차이는 뭘까? 간단히 얘기하면 패키징관리 방법이 다르다. 쉽게 비유한다면 우분투, 페도라는 똑같이 단군할아버지로 시작해서 후에 서로 다른 정치방법에 의해서 백제, 신라, 고구려처럼 나뉜거다. 참 쉽죠? 우분투는 데비안으로 부터 튀어나온 놈이다. 데비안은 또 뭐냐? 그냥 쉽게 말해서 우분투아빠다.-- 자세한건 인터넷 ㄱㄱ 페도라는 레드햇으로 부터 튀어나왔다. 역시 자세한건 인터넷 ㄱㄱ 아까 위에서 둘의 차이는 패키징관리 방법이 틀리다고 했다. 데비안은 dep을 쓰고 레드햇을 rpm을 쓴다. 따라서 우분투는 dep, 페도라는 rpm형식을 쓴다. 근데 왜 데비안, 레드햇을 안쓰고 우분투, 페도라를 하느냐?(사실 써도 된다..

개발환경 구축하기(1)

이 글은 내가 했던 과정을 정리하기 위한 자료이다. 남들을 위한 배려따윈 없다!! 지능형 자동차 개발을 하기위해선 개발환경부터 구축해야 한다. 그렇다면... 개발환경구축이란 무엇인가? 개발환경구축이란 말 그대로 개발을 하기 위한 환경을 만들어 주는 것이다. 지능형자동차를 개발을 하기 위해서는 다음과 같은 작업을 해줘야 한다. 1. 리눅스 설치하기 2. arm-linux-4.1.1 설치 3. minicom 설치 4. TFTP설치 우선 위의 작업을 해주면 가장 기본적인 단계는 끝이다. 그외 작업의 편의성을 위해 이클립스(리눅스에서는 visual studio가 안되는걸로 알고있다.)를 설치하는건 자유에 맡긴다. 자~ 그럼 차근차근 하나씩 해보자. 먼저 리눅스가 있어야한다. 당연히...근데 왜 하필 리눅스에서 ..