국비지원교육
-
데브코스 자율주행_TIL_23.10.02데브코스 자율주행 Perception/_TIL(Today I Learned) 2023. 10. 2. 22:57
자율주행 기술 동향 자율주행 기술의 궁극적인 목표는 완전 자동화, 즉 전 구간에서 운전자가 없는 완전한 자율주행을 하는 것이다. 하지만, 각 회사마다 추구하는 방향이 다르므로, 회사의 특성과 방향이 다르다. 자율주행 기술은 자율주행 자동차 외에도 로봇, 드론등 다양하게 사용되며 주요 기술들은 다음과 같다. 센서(Sensor): 라이다 및 카메라 센서등 HD-Map: 지도 제작(과거와 달리 지금은 다른 방향을 추구) 인지(Perception): 환경 인식 예측(Prediction): 인식한 동적 장애물의 이동경로 예측 판단(Planning & Decision): 경로 생성 방법 제어(Control) 현재는 전통적인 방식과 AI기술을 합친 방법으로 기술 개발이 되고 있음. 테슬라의 경우 E2E 방식을 적용(..
-
데브코스 자율주행_TIL_23.09.26데브코스 자율주행 Perception/_TIL(Today I Learned) 2023. 9. 26. 22:50
코딩 가이드라인 특강 vscode 설치와 CMaker 설치, 그리고 vscode에서 사용할만한 extention 기능들에 대해 살펴보았다. Compiler https://mokchanic.tistory.com/61 GCC_Clang Compiler installation (Ubuntu & Windows) Compiler installation on Ubuntu - GCC 터미널을 열어서 다음의 커맨드를 실행한다. $ sudo apt update && sudo apt upgrade -y $ sudo apt install -y build-essential # 필요한 종속성 설치 $ sudo apt install -y gcc 다음 명령어로 gcc mokchanic.tistory.com CMake https:/..
-
데브코스 자율주행_TIL_23.09.25데브코스 자율주행 Perception/_TIL(Today I Learned) 2023. 9. 26. 22:50
코딩 가이드라인 특강 협업을 하면서 겪은 경험에 대해 들을 수 있는 강의였다. 협업시 다양한 문제가 발생할 수 있으며, 코드 베이스와 개발 가이드라인, 문법들이 잘 정리되어 코드를 작성한다면, 개발 시간을 단축 할 수 있다. 또한, 윈도우, 리눅스, 개발 보드등 개발 환경을 일관화 하면 개발할 때 좋다. C++, Python등 개발에 필요한 IDE 확장 기능을 구성하면 좋다. 또한 개발 환경을 설정할 때, OS를 밀고 다시 설치하는 경우에는 오래 걸린다. Shell script 를 사용하여 한번에 설치하는 방법을 추천한다. 다른 사람들과 협업을 위해 개발 환경을 통합하는게 좋다.(OS version, build version등) 당연한 소리지만, 개발환경을 통일하지 않으면 문제가 발생한다. 내 로봇에서만..
-
데브코스 자율주행_TIL_23.09.22데브코스 자율주행 Perception/_TIL(Today I Learned) 2023. 9. 22. 23:48
오늘 배운 내용 1. C++ - 반복자 - 입출력 스트림 2. STL - 검색 알고리즘 - 유틸리티 알고리즘 3. Linux - Network system 1. C++ - 반복자 반복자는 특정 컨테이너의 항목을 어떻게 순회할지 알고 있는 포인터 객체이다. C++은 템플릿 기반의 컨테이너(자료구조)를 제공하고 컨테이너 항목들에 범용적인 접근 방복을 제공하기 위해 반복자 패턴을 사용한다. 포인터 객체는 C++ 표준에서 정하고 있는 공용 인터페이스를 따르고 있으며 일관된 방법으로 각 컨테이너를 순회할 수 있도록 해준다. 입력 반복자는 입력스트림에서, 출력 반복자는 출력 스트림에서만 쓰인다. 순차, 연관, 비순차 컨테이너 등은 순방향, 양방향 임의 접근 반복자 중 하나를 지원하지만, 컨테이너 어댑터 클래스와 b..
-
데브코스 자율주행_TIL_23.09.21데브코스 자율주행 Perception/_TIL(Today I Learned) 2023. 9. 21. 23:00
오늘 배운 내용 1. C++ - Template 2. STL - 비교 알고리즘 - 변경 알고리즘 - 집합 알고리즘 - 연관 컨테이너 - 비순차 연관 컨테이너 3. Linux - vim editor 1. C++ - Template 템플릿은 C++의 일반화된 코드를 남기는 강력한 도구. 대상에 대한 타입만 다르고 로직이 다르지 않다면 템플릿으로 단순한 반복 작업으로 함수나 클래스를 만들 수 있다. 기본적인 구조는 다음과 같다. T는 아직 정해지지 않은 타입이며 컴파일시 타입을 추론한다. template class Samlple { Sample(const Sample& src) = default; //const Sample&는 파라미터 타입의 예시 //... }; //함수 템플릿 template void f(..
-
데브코스 자율주행_TIL_23.09.20데브코스 자율주행 Perception/_TIL(Today I Learned) 2023. 9. 20. 23:47
오늘 배운 내용 1. C++ - 스코프 - lambda 2. STL - 컨테이너 어댑터 - 비트셋 컨테이너 3. Linux - 명령어 1. C++ 스코프 스코프(scope)는 변수 또는 함수 등의 이름이 통용되는 범위를 이야기한다. 중괄호 블럭 없이 정의되거나 선언된 이름은 전역 스코프를 갖는다. 런타임에 제어흐름이 그 블럭을 벗어나는 순간 변수가 소멸되며 클래스는 소멸자가 자동으로 호출된다. static으로 선언된 sCounter는 전역 변수이며 동시에 블럭 스코프를 갖는다. static으로 선언된 method는 static 멤버 변수로 접근이 가능하다. 클래스 멤버 정의 중 static 키워드가 사용된다면, 클래스 변수를 만든다는 의미. 클래스 변수는 전역 변수이지만, 클래스 스코프를 갖는 변수이다...
-
데브코스 자율주행_TIL_23.09.19데브코스 자율주행 Perception/_TIL(Today I Learned) 2023. 9. 19. 22:05
오늘 배운 내용 1. C++ - 프로세스의 메모리 구조 - 스마트 포인터 2. STL - 순차 컨테이너 - 배열 알고리즘 3. Linux 1. C++ 프로세스 메모리 구조 변수의 타입에 따라 변수가 위치할 메모리 섹션이 결정된다. - Heap: 배열, 객체 힙은 프로세스가 동작하며 동적으로 할당, 해제되는 메모리 섹션 OS에서 가용 메모리를 탐색, 파편화를 최소화 하도록 관리. 오브젝트 풀링이라는 최적화 기법을 사용. (오브젝트 풀링: 힙 메모리 해제가 필요한 상황에서 바로 해제하지 않고 동일한 객체 타입이 다시 필요한 상황에서는 재활용하기 위해서 별도의 풀을 만들어서 관리하는 최적화 기법.) - Stack: 내장 기본 타입의 변수 스택은 함수의 지역 변수, 파라미터 등이 위치하는 메모리 섹션 각 함수의..
-
데브코스 자율주행_TIL_23.09.18데브코스 자율주행 Perception/_TIL(Today I Learned) 2023. 9. 18. 21:51
오늘 배운 내용 1. Git & Github - Git과 Github의차이 - 기본적인 명령어 2. C++ - 기본 자료형 및 리터럴 - 값과 참조 1. Git & Github Git과 Github의 차이? Git은 버전관리 소프트웨어로 로컬 저장소의 모든 변경사항을 기록하여 프로젝트를 관리할 때 도움을 준다. Github는 Git을 사용하는 프로젝트를 지원하는 웹 호스팅 서비스이다. Git은 로컬 저장소에서 작동하기에 Github를 사용하여 웹 상에서 업로드하고 공유할 수 있다. 둘의 관계는 커피숍과 커피의 느낌?😃 기본적인 명령어 $ git init $ git status $ git add $ git commit $ git push $ git pull $ git branch $ git checkout..