주사위 게임, 계산기, 크롤링해서 머신러닝 돌리기 같이 처음 언어 배우는 사람들에게야 연습하는데 도움되도
프로그래밍 기본적인 감각은 땟지만 실제 프로젝트 경험이 없는 나한태는 완전히 도움이 안된다고는 하기는 어려워도
그렇다고 그런 책들 보고 연습해서 준비해도 실제 경험해본 프로젝트니 포트폴리오라고 하기에는 민망한 내용들 밖에 없었다.
그냥 편하게 말하면 opencv를 처음에 빌드해서 쓰려고하는데 cmake로 경로 설정해서 makefile 만들고 어째저째진행했는데 cmake가 뭐고 makefile이 뭐고, 파이썬으로 opencv를 쓰면 파이썬 래퍼니 뭐니 하는것들을 제대로 설명해주는 책을 거의 보질 못했엇다. 파이썬에서 느린거 c/c++로 구현하면 그걸 어떻게 쓸수있게 햇냐.
내가 어디 박혀서 독학만 하느라 나만 모르는 걸수도 있지만
기본적인 내용 말고 실제 써먹을수 있는건 어디서 배우나 답답하던 차에 이책을 찾게 되었다.
이 책도 절반정도는 기본적인 내용이지만 절반은 너무 깊게 파고들지도 않으면서 기본서보다는 더 멀리 나간 내용들이다.
중간에 아는 내용도 많다보니 1 ~ 2시간 정도 쭉 봤는데,
thinker나 matplotlib까지는 보통 책들에도 자주 나오기는 하지만 실제로 뭔가 만드는듯한 예제들이 꽤 있고
동시/병렬처리 프로그래밍, 코딩 테스트에 관심없지만 공부하기엔 적당한 분량으로 자료구조와 알고리즘도 있다.
특히 가장 마음에 드는 부분은 마지막에 사용자 정의 패키지/모듈 c/c++ 확장 모듈
이런 내용들까지 알려주는 프로그래밍 교재가 우리나라 책중에 이거말고 있는진 모르겠다.
우리나라 대부분 코딩 교재란게 클래스 만들고 조금만 더하고 끝나니까
오픈 소스봐도 빌드에서 막히고, 다른 뭔지도 모를 문제로 정말 삽질을 많이 했었다.
글만 잘 찾아보고 읽었어도 해맬 일이 훨씬 적었겠지만 그렇게까지 머리 좋지도 끈기도 없어서
- 매니퓰레이터 : 엔드 이펙터(로봇의 맨 끝 손가락 같은 부분)로 물체를 집거나 작업하는 로봇
- 이동 로봇 : 고정된 위치에 있는 매니퓰레이터와 달리 바퀴나 다리 등으로 이동하는 로봇
-> 구성요소, 좌표, 기구학, 동력학, 제어 시스템 등 전반에 대한 이해 필요
분류
로봇 종류
특징
구동법
전기식
간단, 저렴, 저출력 -> 과부하 x , 깨끗, 정확, 편한 관리 - 회전 모터, 리니어 모터
유압식
복잡, 고가, 고출력 -> 과부하 ok, 오염, 고속, 관리 불편 - 큰힘이 필요할 때 사용
공기압식
복잡, 고가, 고출력-> 과부하 ok, 깨끗, 부정확, 편한 관리 - 화재 위험 시 사용, 부정확 but 저렴
작업 공간
직교좌표형
쉬운 제어
원통형
직교좌표에 비해 기구학 설계 간단
원형
구조 간단
SCARA형
저렴, 빠름, 조립 작업에 이용
다관절형
최소 공간에서 최대 작업
제어방법
서보제어
피드백을 통해 추종(servo). - 서보 제어 ex) 프린터, DVD, 카메라 등
비서보제어
피드백없이 입력 한대로 동작하는 경우 - 비서보 제어 ex) 선풍기, 믹서기, 환풍기
자유도
매니퓰레이터
6 DOF : x, y, z, roll, pitch, yaw
이동로봇
3 DOF x, y, theta
* 작업 공간에 따른 로봇 형태들
Scara형
* 이동 형태에 따른 분류
2. 로봇 구성 요소
- 매니퓰레이터, 엔드 이펙터, 구동기, 센서, 제어기 등
기구부
기계/기구
프레임, 바퀴(+바퀴 축), 베어링, 기어, 벨트, 엔드이펙터
HW부
전기/전자
SBC, 제어기, 전원부, 구동기, 센서
SW부
프로그램
펌웨어(모터/센서 제어), OS, 응용 SW
구성요소
매니퓰레이터
구성 : 관절(조인트), 링크(관절 연결), 엔드 이펙트 동력 : 전기, 유압, 기압 조인트 : 직선 운동(primistic 조인트), 회전 운동(revolute 조인트)의 힘을 전달
엔드 이펙터 (말단 조작기)
매니퓰레이터 끝단에 설치된 작업 장치 ex) 그리퍼(열고 닫혀 손가락처럼 집음)
구동기
전기/유압/기압 등으로 로봇에 동작을 주는 모터/실린더 등의 장치 ex) 리니어 엑추에이터, 회전식 엑추에이터(대표적으로 모터) * 하단에 모터 추가 정리
센서
물리량을 전기적인 신호(아날로그/디지털)로 변환하는 소자/회로 ex)광, 이미지, 초음파, 위치 센서 등
제어기
지정한 작업을 하도록 센서 측정 값으로 구동기를 적절하게 제어하는 장치
* 엔드 이펙터의 종류
2.1 모터의 종류
- 로봇의 구동 장치로 사용
- 전원에 따른 모터 분류
전원 구분
장
단
DC 모터
소형, 고속, 큰 토크
부하에 따라 큰 속도 차, 어려운 속도 가변, 짧은 수명(브러시)
AC 모터
큰 토크, 저가, 쉬운 속도 가변
느린 회전
- 전원 및 구조에 따른 분류
1차 분류
2차 분류
3차 분류
특징
DC 모터
브러시
권선
큰 기동 토크, 토크 ∝ 전류 ∝ 1 / 회전속도(직권 : T ∝I^2 ∝ 1/n^2) <-> 브러시에 의한 노이즈, 수명 저하 등 손실 타여자, 직권(무부하 운전시 위험, 속도-토크 큰변화:전차), 분권(정출력, 무여자 운전 시 위험), 복권(가동 복권 , 차동 복권 : 수하 특성) 속도 제어 : 계자제어(정출력 제어), 전압(광범위), 저항 (효율x) * 전압 속도 제어 : 워드레오너드(전압제어), 일그너(플라이휠, 큰부하)
영구자석
브러시리스 (BLDC)
트랜지스터
- 브러시, 정류자 x -> 긴 수명(마모 x) - 반도체 소자로 통전/정류하며 노이즈 발생 x - 브러시 모터와 특성은 같으나 효율은 약간 저하
싸이리스터
AC 모터
유도 모터
공통
- 고정자로 생성한 회전 유도 자계로 회전자를 회전 - 간단, 저렴, 튼튼, 경부하에선 효율이 낮음
단상 유도
- 단상이라 회전 자계 x -> 기동 토크 x -> 혼자 회전 x => 외력(보조 권선, 기동 권선으로 기동) -> 토크 발생 -> 회전 - 반발기동(DCM와 비슷한 권선과 정류자, 가장 큰 기동토크), 반발 유도(회전자 권선 2개, 큰 기동토크/속도변화), 콘덴서 기동(콘덴서를 삽입해 주권선과 보조권선 사이 회전자계 발생, 중간 기동토크), 분상기동(위상 다른 두 전류로 기동, 적은 T), 셰이딩 코일(가장 작은 기동T)
- 광센서 : 가시광선, 적외선, 자외선 등의 빛을 처리 가능한 양으로 변환하는 센서 -포토 다이오드(광 기전력 효과), Cds 셸(광도전 효과 : 반도체에 빛이 닿을 때 전자와 정공 증가 -> 전류 증가), 광전관, PSD 등 - 이미지 센서 : CCD(전하결합소자), CMOS(상보 금속산화막 반도체를 이용한 액티브 픽셀센서)
- 온도(적외선) 센서 : 접촉형 - 작은 물체/원거리/고속 이동물체 측정 힘듬, 짧은 수명, 2000도까지, 저항 변화, 열전 현상이용 -> ex) 저항온도센서, 써미스터, 열전대, 바이메탈 비접촉형 : 작은 물체/원거리/고속 이동물체 측정 가능, 긴수명, 고온측정가능, 측정 대상의 적외선 측정 ->작은 크기, 높은 정확도, 디지털 출력 ex) 적외선 온도센서, 광 온도계 * 적외선 센서 : 적외선으로 온도, 압력, 방사선 등 물리량 측정
- 자기센서 : 자기 효과를 이용해 전기 신호를 만들거나, 바꾸기 위한 변환역활 * 홀 효과(브러시리스 모터 회전 제어, 자계/전류 측정), 자기저항효과(포텐셜 미터), 자기저항효과(MR효과- 자기 인코더)
- 압력센서 : 스트레인게이지, 압전소자, 코일스프링 (기계식, 전자식, 반도체식, 실리콘 등) - 근접 센서 : 자기, 광학, 초음파, 유도성, 용량성, 와전류 등을 이용 - 위치 센서 : 포텐셔미터(가변저항-직선/회전형), 엔코더(회전/선형 증감형, 절대위치형), 리졸버, 시간변위센서 등 - 진동(음파) 센서 : 세라믹스, 마이크로폰, 초음파 센서 등 * 초음파 센서 : 20kHz이상주파수이며 강한 지향성을 가진 초음파로 거리,두께, 움직임 검출 -> 거리/두께 측정, 비파괴 검사, 의료진단, 신호 처리 등(공중/수중/고체/특수환경용) - 바이오 센서 : 생체 화학/미생물 반응 등으로 측정하는 센서 - 미생물/효소/나노바이오센서 - 그 외 : 가스 센서, 습도 센서 등
재료
반도체 센서, 세라믹 센서, 금속 센서, 미생물 센서
작동형태
능동 센서, 수동 센서
출력형태
아날로그 센서, 디지털 센서 등
* 센서 정리
cds 센서 -빛에 의해전류량 변화(광도전)
포토다이오드-빛이셀때역(광)전류증가
CCD - 필터가 해당 색상만 통과시켜 세기 측정, 모자익이미지 취득 ->처리후 사진
써미스터 - 온도에 따른 저항변화
홀 효과 - 전류가 흐를때 전도체에 수직으로 자장이 걸릴때, 전류와 자장에 수직하게 홀전압이 걸리는 현상
홀 효과를 이용한 회전속도 측정 - 두 자석이 회전 시 홀 효과 센서에 전압이 걸릴때 측정
스트레인 게이지 - 압력을 전기 출력으로 변환하는 로드셀을 이용한 압력 센서
초음파 센서 - 발진기 -> 변조 -> 트리거 -> 수신 -> 측정 -> 출력
회전/선형 증감 엔코더-빛카운팅 절대 엔코더-그레이코드에 따라 각표시
2.3 제어기
- 지시된 작업을 할 수 있도록 구동기를 제어하는 장치 ex) 시퀀서, MCU
원래 욕심같아서는 좌표계, 기구학, 동역학 같은 내용들도 하고는 싶었지만 너무 양이 많기도 하고