전체 글

Robotics, Vision and Control [Chap.2]
Chap.2에서는 로봇에 대한 기초를 배운다. Representing Position and Orientation 위치와 회전에 관해서 설명한다. 로봇과 컴퓨터 비전 분야에서 위치와 회전에 대해 설명하기 위해 Coordinate vector(= bound vector)를 이용한다. {A}와 {B}는 서로 다른 좌표계의 원점을 나타낸다. 위 예에서는 로봇팔과 큐브에 대해서 각각 좌표계가 1개씩 존재한다. ξ(크시)는 각각의 좌표계의 원점 간의 거리를 나타내는 Symbol이다. $$ {}^{A}\textrm{ξ}_{B} $$ 는 A 좌표계 원점에서 B 좌표계 원점 사이의 거리를 나타낸다. 따라서 $$ {}^{A}\textrm{ξ}_{B} $$를 줄이면 로봇팔이 큐브에 서서히 다가가게 된다. 위 식은 다음과 ..

Robotics, Vision and Control [Chap.1]
서론 Chap.1은 센서기반모바일로봇 수업에 대한 전반적인 개요를 설명한다. 많은 학문에서 모바일로봇에 대한 연구가 진행된다. Mechanical engineering(기계): vehicle design and in particular locomotive mechanisms Computer science(컴퓨터): representations and sensing and planning algorithms Electrical engineering(전자 - 블로그 주인 학과): system integration, sensors, and communications Cognitive psychology, perception, and neuroscience(인지, 뇌공학): insights into how bi..

무선 스피커 만들기
무선 스피커 만들기는 2020년 1학기 어드벤처 디자인 작품 발표를 위한 프로젝트였다. 무선 스피커 만들기 무선 스피커를 만들게 된 계기는 유튜브에서 스피커 관련 동영상을 보고 감명을 받아서였다. (출처 : https://youtu.be/77FliBh61_c) 처음에는 동영상에 나온 형태의 스피커를 만들어 보려고 했으나 예산 부족 등의 한계로 아래와 같은 형태의 스피커로 대체하여 진행하였다. 제작 주제 : 블루투스를 이용한 LED 사운드바 개요: 블루투스 스피커를 통해 재생되는 음악을 사운드 센서가 소리의 크기를 인식하여 여러 줄의 네오픽셀의 출력을 제어한다. 목적: 소리 크기에 따라 변화하는 빛을 이용하여 심미적인 만족감을 얻는다. 시각 효과로 더욱 입체적인 음악 감상을 돕는다. 필요한 부품 네오픽셀 ..
6. 표준 라이브러리
표준 라이브러리 특정 프로그래밍 언어에서 미리 소스코드를 구현해 놓은 라이브러리 내장함수 별도로 import가 필요없는 기본 내장 라이브러리의 함수 입출력 a = input() # 입력 print(a) # 출력 Hello World Hello World 더하기 temp = [1, 2, 3, 4, 5] result = sum(temp) print(result) 15 최대값 # max() - 가장 큰 값을 반환 result = max(7, 3, 5, 2) print(result) 7 최소값 # min() - 파라미터 2개 이상이 주어질 때 가장 작은 값을 반환 result = min(7, 3, 5, 2) print(result) 2 문자열로 이루어진 수식 계산 result = eval("(2 + 8) * 1..
5. 입출력
입출력 알고리즘 문제 풀이의 첫 번째 단계는 데이터를 입력받는 것 적절한 입력이 주어졌을 때, 그 입력을 받아서 적절한 알고리즘을 수행한 뒤 결과를 출력하는 것을 요구 입력 input(): 데이터를 입력받을 때 사용하는 함수 input 함수를 통해 입력된 데이터는 모두 문자열 형식 list(map(int, input().split())) : 공백을 기준으로, 데이터를 받아 int로 변환 후 리스트에 저장 ▶ 코딩테스트에서 필수 # 공백을 기준으로 데이터 저장 data = list(map(int, input().split())) # 입력: 1 2 3 4 5 6 7 8 9 10 print(data) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] list(map(int, input().split()..
4. 함수
함수 함수를 정의하여 효율적인 소스코드 작성이 가능하다. 매개변수: 함수 내부에서 사용되는 변수의 값을 전달받기 위해 정의 return: 함수에서 특정 값을 반환하기 위해 사용 def add(a, b): return a + b print(add(5, 10)) 15 return 없이도 함수 작성 가능 def add(a, b): print(f'a + b = {a + b}') add(5, 10) a + b = 15 Global 변수 global 키워드를 이용하면, 바깥에서 선언된 변수를 가져다가 값을 변경할 수 있다. 함수는 복사를 기본으로 동작하기에 지역변수가 선언되지만, global을 통해 전역변수를 이용할 수 있다. a = 0 def add_a(i): global a a += i for i in rang..
3. 반복문
반복문 특정 소스코드를 반복적으로 실행하고자 할 때 사용하는 구문 while문 while 조건문: 구문 조건문이 참인 동안 반복적으로 코드가 수행됨 result = 0 while result = 80: print(i + 1,"번 점수..
2. 조건문
조건문 주어진 조건에 따라 프로그램의 흐름을 바꾸는 구문 if~ else~ x = 100 if x >= 100: print('x는 100 이상입니다.') else: print('x는 100 미만입니다.') x는 100 이상입니다. if~ elif~ else x = 100 if x y : x가 y보다 클 때 True, 작으면 False x = y : x가 y보다 크..