데이터 모델의 개념 현실 세계의 데이터구조를 컴퓨터 세계의 데이터 구조로 기술하는 논리적 구조 현실 세계를 데이터 베이스에 표현하는 중간과정 DBMS나 컴퓨터에 맞게 데이터의 크기 및 유형을 결정하고, 레코드 타입을 결정한다. 데이터 모델 1. 데이터 구조 : 정적 성질로서 개체 타입과 이들 간의 관계를 명세 2. 연산 : 동적 성질로서 개체 인스턴스에 적용 가능한 연산에 대한 명세 3. 제약 조건 : 데이터에 대한 논리적 제약으로 개체 인스턴스의 허용 조건 관계 : 표 N:M 계층 : 트리 1:N 네트워크 : 그래프 1:N 소극적인 N:M DBMS 종류 관계형 DBMS 계층형 DBMS 네트워크형 DBMS 객체지향형 DBMS 개체 관계 모델 ( ER 모델) 네모 : 개체 타원 : 속성 마름모 : 관계 직..
DBS = DB + DBMS + 사용자 + Data Language + DBA + DB com 스키마 데이터베이스의 구조에 대한 정의와 이에 대한 제약 조건 등을 기술한 것 1. 외부 스키마 관점 : 사용자 , 응용 프로그램 2. 개념 스키마 관점 : 통합, 논리적인 전체 3. 내부 스키마 관점 : 물리적 저장장치 데이터 언어 1. 정의어 : 데이터베이스의 정의 및 수정 등에 사용. 2. 조작어 : 데이터베이스 내에서 검색, 삽입, 수정, 삭제 등에 사용 되는 언어 3. 제어어 : 데이터를 보호 하기 위해 데이터의 보안, 무결성, 회복, 병행 수행등에 사용되는 언어. 데이터베이스 관리자 (DBA) DBMS의 전체적인 관리 운영에 책임을 지는 사람. 역할 1. 데이터베이스 구성 요소 결정 2. 스키마 정의..
데이터베이스 구조] 1. 논리적 구조 : 일반 사용자 관점에서 본 구조. 2. 물리적 구조 : 저장 장치 관점에서 본 구조. - 종래 자료처리 시스템의 문제점 1. 데이터 종속성 종속성이 심하다는 말은 독점데이터를 쓸수 없다는 뜻. 2. 데이터 중복성 중복성이 심하다는 말은 자료의 불일치성을 높일수 있다. 불일치성이 높다는것은 정확성이 떨어짐과 동시에 무결성 유지 곤란. 중복성이 높으면 사용자의 실수가 높아지기 마련이다. 장점은 회복이 좋다. - 데이터 베이스 관리 시스템 (DBMS : DataBase Management System) - 데이터베이스와 응용프로그램들 사이에 위치한다. 1) 독립성이 높다. -> 공용 데이터 2) 중복성이 최소화. -> 자료의 일치성이 높아지고 정확도, 무결성유지에도 좋다..
외부 라이브러리 설치: sudo apt-get install libatlas-base-dev libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev libgflags-dev lib google-glog-dev liblmdb-dev protobuf-compiler gitlib과 google-glog-dev를 찾을수 없다. caffe 다운로드 git clone https://github.com/BVLC/Caffe.git g++ 설치 sudo apt-get install g++-4.6 gedit cpu 동작하도록 설정 변경
시뮬레이션 로봇 : Turtlebot 강의를 통해서 배울 내용 : 1. ROS 프로그램 구조화 및 실행2. C++기반을 통한 기본 ROS 프로그램 생성 3. 기본 ROS의 개념들 (노드화 , 매개 변수 , 환경 변수 등등) ROS 프로그램을 통하여 간단하게 로봇을 움직여 보자! 먼저 벽앞에 터틀봇이 놓여 있다. $ roslaunch turtlebot_teleop keyboard_teleop.launch로봇을 원격으로 조종하기 위한 명령어이다. 로봇을 위와 같은 키입력으로 원격 제어 할수 있다. 로봇을 (,) 키 입력을 통해 뒤로 후진 시켜 벽에서 멀리 떨어 트린 모습이다. 위와 같은 과정에서 우리가 사용한 명령어 roslaunch에 대해 알 필요가 있다. roslaunch의 명령어 구조 : roslaun..
ROS로 로봇을 프로그래밍하려면 무엇을 배워야합니까? ROS를 배우기 위해 알아야 할 첫 번째 사항은 topic를 다루는 방법입니다. topic는 아마도 ROS의 가장 중요한 부분이므로주의 깊게 학습해야합니다. ROS는 topic를 통한 거의 모든 커뮤니케이션을 처리합니다. 결국 service 나 action과 같은 더욱 복잡한 통신 시스템은 결국 topic에 의존합니다. ROS topic를 통해 로봇을 움직이거나 로봇의 센서 판독 값을 읽는 등 로봇과 통신 할 수 있습니다. $ roslaunch publisher_example move.launch 로봇을 움직이기 위한 명령어이다. $ roslaunch publisher_example stop.launch 로봇을 멈추기 위한 명령어이다. Ctrl + C..
Pure pursuit algorithm History 1. 여러 해동안 로봇 연구소등에서 사용되었다. 2. 그 뒤로 Nav-lab에서 사용한다. http://www.navlab.it/web11/chi-siamo.html Pure pursuit 알고리즘은 로봇이 경로를 되찾아 가기위해서 원 호(arc)를 그리며 찾아가는데 , 이때 필요한 원 호(arc)를 계산하는 방법으로 고안이 되었다. 이 알고리즘은 80년대 초 , 위 사진에 보이는 Terragator라고 하는 6륜 기계에 적용이 되었습니다. 나아가 Nav-Lab에서도 접근하여 수 많은 path tracking 알고리즘을 시도해 보았는데 , 많은 알고리즘들 중에 Pure pursuit을 구현한 결과가 가장 견고하고 믿을만하다는것을 알수 있었다고 합니다.