본문 바로가기

SMALL

전체 글

(56)
Path Planning 1. 경로계획 정의 : 한 지점에서 다른 한 지점까지 가는 동안 일어날 수 있는 모든 상황을 고려하여 주행을 진행하는 기술입니다. 종류 : 전역 경로 계획 & 지역 경로 계획 - Global Path Planning Global Map 안에서 출발 지점 ~ 도착 지점까지 갈 수 있는 수많은 경로 중에서 하나의 경로를 선택하는 기술입니다. 최소 비용, 최단 거리, 단순 정도 등에 따라 경로 선택 - Local Path Planning Local Map 안에서 주변 정보를 실시간으로 처리합니다 => 사용자가 안전하고 효율적으로 주행할 수 있도록 하는 기술 전역 경로 계획과 스케일 차이가 있어 목적이 다르고 풀고자 하는 방법이 다릅니다. 돌발 상황에 대응하기 위한 여러 경로가 생성되며 Selection하는 알..
[Review] End to End Learning for Self-Driving Cars 0. Abstract 자율주행 자동차의 주행을 위해 컴퓨터 비전 기술을 사용하는 방법을 설명하고 있습니다. 이를 위해 컨벌루션 신경망(CNN)을 사용하여, 전면 카메라에서 입력되는 생 이미지(raw pixels)를 직접 조향 명령(steering commands)으로 매핑(mapping)하였습니다. 이 방법은 전체 시스템에 대한 최적화를 가능하게 하기 때문에, 최소한의 학습 데이터만으로도 시스템이 교통 정체와 같은 도로 환경에서 운전할 수 있습니다. 이 시스템은 컴퓨터가 도로 특징을 자동으로 감지하고 이를 처리하는 방식을 학습합니다. 인간의 조향 각도만을 학습 신호(training signal)로 사용하여, 시스템 내부 표현(internal representations)을 자동으로 학습합니다. 이러한 방..
package 빌드와 node 작성 ROS의 빌드 시스템 Catkin(캐킨)은 ROS의 빌드 시스템입니다. CMake(Cross Platform Make)를 기본적으로 이용하여, 패키지 폴터에 CMakeList.txt라는 파일에 빌드 환경을 기술해야 합니다. ROS에서는 CMake를 ROS에 맞게 수정해 특화된 캐킨 빌드 시스템을 만들었으며, ROS관련 빌드, 패키지 관리, 패키지 간 의존관계 등을 편리하게 사용할 수 있게 되었습니다. 패키지 빌드 과정 1. 패키지 생성 2. 패키지 설정 파일(package.xml) 수정 3. 빌드 설정 파일(CMakeList.txt) 수정 4. 메시지 파일 작성 5. 소스 코드 작성 6. 빌드 전 처리 7. 노드 실행 1. 패키지 생성 가장 먼저 패키지를 생성합니다. 도시락을 만들기 위해서는 도시락 통을..
Linux, ROS 주요 명령어 1. Linux 주요 명령어 명령어 약어/뜻 설명 cd change directory cd 경로 해당 경로로 이동 ls list segment 파일&디렉토리 목록 출력 mkdir make directory mkdir 폴더이름 디렉토리 생성 echo 반항되다 echo 대상 터미널 창에 출력 grep 특정 문자열 검색 alias 별명 명령어의 별칭 등록 ifconfig interface config 컴퓨터의 네트워크 상황 출력 sudo superuser do 사용자 권한을 root로 이 외에도 cp (copy, 복사), mv (move, 이동) , rm (remove, 제거), cat (catenate, 출력), head (앞에서부터 출력), tail (뒤에서부터 출력), 등이 있으나 ROS 프로그래밍 및 ..
ROS 기본 로봇 소프트웨어 플랫폼 기계는 하드웨어, 소프트웨어로 구성이 되어 있습니다. 로봇 소프트웨어 플랫폼은 로봇 응용프로그램의 개발을 위한 하드웨어 추상화, 하위 디바이스 제어와 센싱 및 인식, 위치 추정, 내비게이션 등의 기능, 패키지 관리, 라이브러리, 개발 도구와 디버깅 도구 등을 포함합니다. 로봇 소프트웨어는 다양합니다. 하드웨어 역시 제조사마다 다른 스펙을 보유하고 있습니다. 이런 복잡성과 다양성을 해결하기 위해서 로봇 소프트웨어 플랫폼이 만들어져, 여러 연구자들이 협업하도록 하고있습니다. 이러한 로봇 소프트웨어 플랫폼에는 OpenRTM, OROCOS, OPRoS 등 여러 종류가 있으며 그 중 하나는 ROS라고 합니다. 로봇 소프트웨어 플랫폼, 특히 ROS의 필요성은 다음과 같습니다. 1. 프로그램의..
RNN, Recurrent Neural Network Recurrent Neural Network(RNN)은 자연어 문자오가 같이 단어의 순서에 따라 의미가 달라지는 순차 데이터(Sequential Data)를 다룰 때 주로 사용되는 신경망입니다. 따라서 RNN은 단어의 어순에 따라 문장의 의미가 달라지고 앞에 어떤 단어가 쓰였는지 기억해야 뒤에 오는 단어를 예측하는 등의 문제를 풀 때 주로 활용됩니다. RNN은 Hidden Layer의 노드에서 Activation Function을 거쳐 나온 결과값을 Output Layer로 보내면서 다시 다음 Hidden Layer 노드 계산의 입력값으로 보내는 신경망입니다. 이처럼, 결과값이 다음 Hidden Layer 노드의 입력값 계산에 보내지는 것을 '순환한다'라고 표현하고, 이러한 신경망을 순환 신경망이라고 부..
CNN, Convolutional Neural Network Fully Connected Layer 만으로 구성된 인공 신경망의 입력 데이터는 1차원 형태로 한정됩니다. 한 장의 컬러사진은 3차원 데이터 입니다. 배치 모드에 사용되는 여러장의 사진은 4차원 데이터입니다. 사진 데이터로 FC(Fully Connected) 신경망을 학습시켜야 할 경우에, 3차원 사진 데이터를 1차원으로 평면화시켜야합니다. 사진 데이터를 평면화 시키는 과정에서 공간 정보가 손실될 수밖에 없습니다. 결과적으로 이미지 공간 정보 유실로 인한 정보 부족으로 인공 신경망이 특징을 추출 및 학습이 비효율적이고 정확도를 높이는데 한계가 있습니다. 이미지의 공간 정보를 유지한 상태로 학습이 가능한 모델이 CNN입니다. CNN은 기존 FNN와 비교하여 다음과 같은 차이점이 있습니다. 각 레이어의 입..
lec 9장 lec 9-1 : XOR 문제 딥러닝을 풀기 (Neural Nets(NN)) XOR 문제를 풀기 위해서는 가장 기본적인 unit 하나로는 풀 수 없는 상태였습니다. 하지만 여러개가 합친 logistic이라면 문제를 풀 수 있게 됐습니다. 하지만 복잡한 Network에 들어가 있는 각각의 weight과 bios는 학습하는게 불가능할 것이라는 이야기도 나왔습니다. 이를 NN을 이용해서 XOR 문제를 해결해보도록 하겠습니다. XOR 0 1 0 - + 1 + - 위와 같이 XOR의 성질에 따라 Linear하게 +,-을 구분하는 것은 불가능했습니다. (선 하나를 그어서 +,- 구분은불가능) 이와 같은 상황을 3개의 network을 가지고 해결해보겠습니다. input에는 2개의 값을, output은 1개의 값을 가..