일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- navgation
- Robotics program 교육
- C++
- catkin빌드
- turtlesim
- 자율주행
- 기초
- turtlebot3
- Slam
- Gazebo
- Python
- CNN
- sudo
- 어렵네
- 공부
- 노트
- Ros
- 판단
- 데브코스
- Localization
- udacity
- 가재보
- 튜토리얼
- 입문
- TinySLAM
- Publisher
- XML
- Subscriber
- launch
- 패키지만들기
- Today
- Total
목록전체 글 (42)
Tnote
# 카메라와 동영상 처리하기 @VideoCaputre 클래스 카메라, 동영상 모두 매 프레임을 받아오는 공통의 작업 수행(read()) 영상 -> open() -> read() -> frame 클래스 사용할 때 처음에 인자없이 클래스 선언 VideoCapture cap 카메라/동영상 열기 -카메라 열기: cap.open(0); // 0번 카메라 -동영상 열기: cap.open('xxx.mp4') // xxx 파일 재생 -cap.isOpened() : 카메라가 열렸는지 안열렸는지 반환 현재 프레임 받아오기 -while 문 이용 -cap >> frame or cap.read(frame) // frame에 영상 받아오기. *항상 프레임을 잘 받을 수는 없기 때문에 되도록 예외처리(if, 조건문) 추가. // ..
# 영상 불러와서 출력하기 @OpenCV 주요 함수 include opencv/opencv.hpp : opencv 헤더파일 모음 using namespace std, cv; : std::, cv:: 생략가능 imread("a", [b]): 'a' 영상 불러오기 // a는 파일이름(현재 위치에 파일이 있어야 함.) or 경로, [b]는 불러올 방법 imwrite("a", b): "a"라는 이름에 b 확장자로 저장 imshow("a", b): "a"라는 창에 b 이미지 띄우기 waitkey(): key를 누를 때 까지 기다림. // waitkey() == 27 로 조건을 세우면 특정 키 누를 때 까지 기다림. destroyWindow("a"): a창 닫기 destoryAllWindows(): 모든창 닫기 *..

# 컴퓨터 비전 @컴퓨터 비전 -정의 : 컴퓨터를 이용하여 영상으로부터 의미 있는 정보를 추출하는 방법을 연구하는 학문 ex) 사과의 사진을 보고, 바나나인지, 사과인지 판단한다고 할 때, 사과 - 둥글다 + 빨간색 둥글다 : 둥글다를 어떻게 판단할 수 있을지에 대한 기준(경계면이 어디까지 인지, 꼭지부분은 둥글다고 해도되는지 ...) 빨간색 : 노란색에 가까운 빨간색 .. 이런 어떤 기준에서 빨간색이라 인지할 것인지.. 여기서 방울 토마토가 등장한다면? => 둥글고 + 빨간색 만으로는 구분할 수 없다. 그래서 + 꼭지 모양에 대한 기준이 필요. ....etc 결론 : 사진을 제대로 이해하는 것이 쉬운게 아니다. @컴퓨터 비전과 영상 처리 * 영상 : 물체의 상으로, 사진도 영상이라고 할 수 있다. 사진..
#자율주행 자동차 개론 - V2X : 도로와 소통하다. 자율차와 연결 - 인공지능 : 인공지능이 운전함 - 빅데이터 : 센싱 데이터를 모아 학습시킴, 운전 데이터 - 초연결 : 5G, 자율차의 지도는 굉장히 크다 -> 크기가 커서 -> 전송이 빨라야함. Q. 기존에는 안컸나?
# ROS 노드간 통신 3 @통신 프로토콜 (TCP/IP 계열) * TCP/IP : 인터넷접속, wifi, 광통신과 같이 무선으로 통신하는 것 XMLRPC 프로토콜 : 노드들이 마스터와 통신할 때 이용, 서버연결, URL 형식(https://192.s....)으로 되어있다. TCPORS 프로토콜 : 각 노드간 통신할 때 이용 Q. 인터넷이 연결되어야 사용할 수 있는가? A. 원격을 제외하고는, x 일듯 4 @하나의 장치에서 통신 노드 - 하드웨어 : 노드는 OS의 도움을 받아 하드웨어 제어 노드 - 노드 : 마스터의 도움을 받아 서로 메시지 주고 받음. 5,6 서로 다른 하드웨어끼리 원격 통신 : TCP/UDP, 네트워크 통신 단일 하드웨어 내부에서 통신도 반드시 네트워크로 통신 - 노드에게 전달하겠다...
#노드간 통신 기초 *topic : 문자열 or 숫자 https://jfl2dh.tistory.com/8 aa = rospy.Publisher("토픽이름 정한 것", String) > aa.publish("보내고 싶은 내용") #1:N, N:1, N:N 통신 - 1:N : 카메라 토픽을 인공지능처리하는 노드, 영상처리하는 노드 ... 에 전달 - N:1 : 30km로 전환, 방향 얼마로 전환하는 내용을 제어하는 노드 하나에 전달. - N:N : 서로 받고 서로 쏘고. * std_msgs.msg/Int32 : 메시지 유형 중 Int(정수) 타입. @ 하나의 파일로 여러 개 메시지를 동시에 보내고 싶을 때 - 같은 내용을 동시에 여러 개 보내고 싶을 때, py 파일을 여러 개 만든다면 비효율적이다. - 그렇..
#ROS 기초 @소개 및 기초 이론들 ROS (Robot Operationg System) 로봇 소프트웨어를 개발하는데 필요한 소프트웨어의 집합체 // 소프트웨어 프레임워크 ROS는 로봇 제어를 위한 미들웨어(자동차의 안드로이드) // ex. 라이다 정보를 가지고 싶은데? 하면 ros에게 요청, 오른쪽 바퀴를 빠르게 회전하고싶은데? 하면 ros에게 요청.... ROS사용 - 이미 구현된 걸 잘 가져다 쓰고 잇고 하거나, 특별한 기능만 구현하면 됨. (구현은 쉽지만 시장에 내보내긴 조금 ...) - 시장에 내보낼 때는 필요 없는 부분을 제거해야 함. 이 부분이 오히려 어렵다고 함. => "ROS는 프로토타입을 만들 땐 매우 적합하지만, 시장에 내보낼 때는 최적화 과정이 필수" ROS목표 - 코드의 재사용이..
#Unix command(1) @Linux(Unix) 필수 명령어 CLI command : 터미널 명령어 -명령어를 외우는거 x, man 페이지 활용 man 해당 명령어(help같은 느낌) tap을 활용한 명령행 완성 기능 활용(auto-completion), command compeletion -더블탭 : 사용할 목록을 보여줌 i18n : 문자와 관련된 것, LANG 환경변수 설정에 영향받음. -연습할 때에는 en_US 로케일 사용하는 편이 좋음 -locale : 언어셋 *regex : 정규표현식 가장 많이 쓰는 명령어 vmstat vim grep apt ss nmcli lsof sysctl git *editor : vim 무조건 다뤄야함. *약어의 원어를 알면 명령어가 더 잘 외워짐 *~ : 틸드 절..