전체 글 145

[C언어] 변수의 메모리 할당 위치

개요 프로그래밍 언어 : C언어 과제 수행 날짜 : 2020.09.04 과제 개요 : 변수들을 선언한 후, 메모리 주소를 분석하여 어떻게 변수들이 메모리에 할당되는지 확인 코드 #include char a = 10, b, c; int d = 10, e, f; char g[5]; main() { char h = 10, i, j; int k = 10, l, m; char n[5]; } 실제 주소 a의 주소 = 0x0074a000 b의 주소 = 0x0074a5b9 c의 주소 = 0x0074a5b8 d의 주소 = 0x0074a004 e의 주소 = 0x0074a5b4 f의 주소 = 0x0074a5b0 g[0]의 주소 = 0x0074a5a8 g[1]의 주소 = 0x0074a5a9 g[2]의 주소 = 0x0074a5..

[센서] Lane detection

개요 프로그래밍 언어 : 매트랩 과제 수행 날짜 : 2020.06.24 과제 개요 : Canny Edge Detection으로 달리는 차 안에서 찍은 도로 동영상의 차선을 감지하는 프로젝트 과제 설명 파라미터 변화에 따른 결과 1) Filter Size & sigma Canny Edge Detection의 첫 번째 단계인 가우시안 필터를 적용한다. 가우시안 필터를 적용하면 이미지를 smoothing 할 수 있다. 이때 Filter size와 sigma를 결정하는데, sigma가 크면 edge가 명확히 검출되지 않고, filter size가 크면 속도가 느려지기 때문에 적절한 값으로 필터를 설정하는 것이 필요하다. 1) Filter size = 10, sigma = 5 2) Filter size = 5, ..

[센서] 주차장 출차 시뮬레이션 2

개요 프로그래밍 언어 : 매트랩 과제 수행 날짜 : 2020.06.20 과제 개요 : 주차장에 주차된 차량이 빠져나오는 경로에 궤적을 그리는 시뮬레이션을 스탠리 알고리즘을 이용하여 구현. (단, 차량의 초기 위치는 (13.75, 2.5, 90º)이고, 최대 조향각은 -40.95º ~ +40.95º이고 최대조향각속도는 24 deg/s 이다.) 코드 설명 차량의 초기 위치와 가야 할 경로 등에 대해 초기값을 설정한 후, find_closest_point 함수를 이용하여 현재 차량 앞바퀴 중심점을 기준으로 가장 가까운 점을 찾고, look ahead point index를 5로 둬서 현재 가장 가까운 점으로부터 5개의 인덱스만큼 앞의 점을 따르도록 한다. 이탈거리를 계산하고 최대 조향각을 넘지 않는 범위 안에..

[센서] 주차장 출차 시뮬레이션

개요 프로그래밍 언어 : 매트랩 과제 수행 날짜 : 2020.05.24 과제 개요 : 주차장에 주차된 차량이 빠져나오는 경로에 궤적을 그리는 시뮬레이션을 구현. (단, 차량의 초기 위치는 (13.75, 2.5, 90º)이고, 최대 조향각은 -40.95º ~ +40.95º이고 최대조향각속도는 24 deg/s 이다.) 코드 설명 차가 움직이는 경로에 임의의 점을 추가하고 아래의 공식에 각 점들을 대입하여 각도와 거리를 알아낸다. 각도의 초기값을 설정해주고 앞서 구한 값들을 대입하기 위해 보정해 준 후 각 점을 지나기 위한 steering angle값을 구하여 전부 합쳐 배열로 만든다. 이 과정을 통해 시작 지점부터 종료 지점까지의 steering angle을 sta 라는 배열에 저장한다. sta의 길이만큼 ..

[센서] steering angle의 변화에 따른 차량 궤적

개요 프로그래밍 언어 : 매트랩 과제 수행 날짜 : 2020.05.17 과제 개요 : 아반테 AD를 기준으로 steering angle(조향각)이 주기 20sec, 진폭 5/20º의 sine 파형으로 변화할 때 앞바퀴와 뒷바퀴의 궤적을 그리는 과제 과제 설명 아반테 AD의 경우 아래의 사진에서 볼 수 있듯이 축거 2.7m, 윤거 1.572m이다. 이 자동차가 진폭이 5º, 20º의 sine 파형을 따라 움직인다고 할 때의 앞/뒷바퀴의 궤적을 그린다. 코드 설명 궤적을 그리기 위한 초기값들을 설정해 준 후에, 아래의 공식을 이용하여 앞바퀴와 뒷바퀴의 x/y좌표를 구한다. 차량이지만 간소화를 위해 bicycle model을 이용한다. 그 후, 회전행렬을 이용하여 앞바퀴, 뒷바퀴, 전체 차량의 방향과 위치를 ..

단기 SW 보조 강사 2

개요 활동 내역 : 오조봇, 블록 코딩 관련 학습 보조 수행 기간 : 2020.01.13 ~ 2020.01.14 설명 : 초등학생들을 대상으로 기초적인 프로그래밍 지식을 로봇과 게임을 이용하여 가르쳐주는 보조 강사 활동 1) 오조봇 오조봇에 있는 LED와 센서들에 대해 설명해주고, 오조봇의 작동법과 기능을 공부할 수 있도록 지도했다. 오조블록리를 이용하여 오조봇을 프로그래밍 할 수 있도록 지도했다. 오조블록리로 블록 코딩을 하여 오조봇을 정해진 경로대로 움직일 수 있도록 지도했다. 스마트폰 어플리케이션과 블루투스로 연결하여 오조봇을 작동할 수 있도록 지도했다. 2) 블록리게임즈 간단한 블록 코딩을 할 수 있도록 지도했다. 블록들을 보고 각 블록에 해당하는 특성들을 연결할 수 있도록 지도했다. 조건문과 반..

[랜덤] Digital Sound Design

개요 프로그래밍 언어 : 매트랩 과제 수행 날짜 : 2019.12.13 과제 개요 : Simulink로 원본 sound에 delay/chirp effect 등을 적용하여 새로운 sound를 디자인하는 프로젝트 프로젝트 설명 1) Effect - Equalizer : 특정 주파수 영역의 소리의 크기를 조절하여 소리의 특정 영역의 주파수만 강조하여 듣는 효과 - decay effect : 아래와 같은 그래프를 이용하여 끝으로 갈수록 소리가 작아지는 효과 decay effect graph simulink 에서의 예시 decay 전 decay 후 -> 원본 소리에 비해 끝으로 갈수록 작아지는 효과가 적용되었다. - chirp effect : 아래 그래프와 같이 시간이 지남에 따라 주파수가 변화하는 효과. 이때 ..

[랜덤] Monte Carlo Project

개요 프로그래밍 언어 : 매트랩 과제 수행 날짜 : 2019.10.16 과제 개요 : 가상의 가게를 설정하여 monte carlo 방법으로 100회의 시뮬레이션 후 획득한 데이터를 분석하는 프로젝트 프로젝트 설명 아래의 초기 설정값에 근거한 가상의 가게를 생성하여 그 가게에 방문하는 고객들을 monte carlo 방법으로 시뮬레이션을 수행한다. 그 결과로 획득할 수 있는 데이터를 각종 그래프로 표현하고, 확률통계학적인 분석을 수행한다. 초기 설정값 - 데이터 수집하는 시간 = 12시 ~ 14시 - 다음 손님이 들어오는 시간 간격의 범위 = 100초 ~ 300초 - 그룹의 인원수의 범위 = 1명 ~ 8명 - 주문한 것을 받기까지 걸리는 시간의 범위 = 30초 ~ 120초 next_time = (100+20..

[선형] PCA 얼굴 인식

개요 프로그래밍 언어 : 매트랩 과제 수행 날짜 : 2019.06.08 과제 개요 : matlab으로 PCA를 통한 얼굴 인식 알고리즘 구현 코드 설명 1) 이미지 정규화 이미지 정규화를 위한 코드 정규화된 이미지를 출력한 모습 이미지를 불러온 후, 이미지들이 평균이 128, 표준편차가 128인 정규분포를 따르도록 만들어주는 과정이다. 이는 빛과 배경에 의한 인식 오류를 줄이기 위한 과정이다. 먼저 m에 temp의 평균을 구해서 저장하고, st에 temp의 표준편차를 구해서 저장한다. 그리고 temp-m을 해줌으로써 데이터의 평균이 0이 되도록 하고, 그것을 st로 나눠줌으로써 데이터의 표준편차가 1이 되도록 한다. 여기까지 하면 평균이 0이고 분산과 표준편차가 1인 표준정규분포를 따르게 되고, 여기에 ..