프로그래밍
-
Autoware 집중 공략! (2) 사용해보기ROS & Autoware 2019. 6. 9. 15:43
0. Warming up Autoware 공식 메뉴얼 (Autoware의 구조에 대한 상세한 설명을 담고 있습니다. 꼭 한번 정독하시기를 추천 드립니다.) https://github.com/CPFL/Autoware-Manuals/blob/master/en/Autoware_UsersManual_v1.1.md 이번 글에서는 TierIV로 부터 제공되는 Data를 바탕으로 시뮬레이션을 진행하면서 Autoware가 어떤 기능들로 구성되어 있는지에 대해 알아볼 것입니다. 지금 당장 사용하지는 않지만 우선 TierIV에서 제공하는 Sample 데이터를 미리 다운로드 받아놓는게 좋습니다. (용량이 약 3GB로 상당히 크기 때문에 시간이 걸립니다.) Moriyama Sample ROSBAG Data http://db3..
-
Autoware 집중 공략! (1) 설치하기ROS & Autoware 2019. 6. 2. 22:41
Autoware에 대해 소개한 글이 별로 없는것 같아 해당 오픈소스를 분석하고 활용한 경험을 공유하기 위해 글을 남깁니다. Autoware는 오픈소스 소프트웨어로 일본의 Tier IV를 통해 관리되고 있는 자율주행 개발 / 시뮬레이션 소프트웨어 입니다. 오픈소스이기 때문에 소스코드는 Github (https://github.com/autowarefoundation/autoware)에서 코드를 내려 받을 수 있으며 이 글을 쓰는 시점에는 1.12 버전까지 출시되었네요. 하드웨어 스펙 요구 사항은 아래와 같습니다. Recommended System Specifications Number of CPU cores: 8 RAM size: 32GB Storage size: 64GB+ 사양이 어마무시한데 그 이유는 ..
-
AUTOSAR란AUTOSAR 2019. 6. 2. 22:11
AUTOSAR에 대해 소개하고 AUTOSAR가 무엇인지 Adaptive Platform의 개발 방법에 대해 서술하고자 한다. 몇 가지 주제를 기반으로 어떤 구성이며 관계인지 설명할 것이다. ARXML은 무엇이고 어떻게 사용되는가? ARXML은 차량 네트워크(ECU간의 통신)의 형태와 그 통신 프로토콜에 대한 명세를 담고 있는 문서이다. 파일로서 존재하며 XML의 형태를 가지고 있고 ARXML to Something Generator를 통해 소스코드 혹은 차량 소프트웨어 개발에 필요한 구체적인 정보들로 변화될 수 있다. Generator의 기능과 성능은 해당 Generator를 제작/유지보수하는 툴벤더(Popcornsar, Vector)에 종속적인 부분이 많기 때문에 상이하다. 하지만 그럼에도 AUTOSA..
-
오브젝트 풀링이것저것 2018. 6. 6. 14:16
컴퓨터 하드웨어 구성과 운영체제에 대해 공부를 했다면 프로그램의 힙 영역 메모리의 할당과 소멸은 큰 부담이 되는것을 알것이다.결론적으로 말하자면 CPU 캐시 메모리와 주 메모리 간의 속도차이가 상당 하기 때문이다. 그렇기 때문에 가급적이면 메모리에 접근하는 일을 줄이는 것이 어떤 개발 환경을 막론하고 간에 퍼포먼스 향상에 큰 도움이 된다.일반적으로 객체의 생성과 소멸이 빈번하지 않은 객체의 경우 큰 문제가 되지 않는다. 하지만 빈번하게 생성과 소멸이 이루어지는 객체의 경우, 어떻게 하면 퍼포먼스를 높힐 수 있을까? 이미 너무나도 잘 알려진 방법이지만 메모리에 올라간 객체들의 소멸시기에 소멸시키지 않고 재활용하는 오브젝트 풀링을 하면 된다. 나는 최근 구현하고 있는 게임에서 몹시 빈번하게 생성과 소멸이 이..
-
가상화폐에 대한 내 생각가볍게 읽는 시리즈 2017. 6. 28. 23:02
비트코인, 이더리움에 대한 열기가 뜨겁다. 둘다 블록체인 개념을 활용한 가상화폐이지만 특히 요즘 비트코인만큼 뜨거운 녀석이 이더리움이다. 이더리움은 비트코인에 비해서 몇가지 특징을 가지고 있는데 내가 생각하는 가장 중요한 차이점은 비트코인과는 달리 최대 채굴량이 정해져 있지 않다는점이다.현대의 화폐 자원은 거대한 기관(특히 정부)에서 관리, 운용되고 있다. 태초부터 이랬던 것은 아니다. 과거에는 귀금속이나 귀한 자원(비단, 상아, 소금 등)들이 화폐의 역할을 해왔다. 하지만 과거와 현재 우리가 사용하고 있는 화폐는 아주 큰 차이점이 있는데 과거의 화폐들은 정교하지는 않지만 그래도 어느 정도 실질적인 가치를 가지고 있는 재화들이 화폐의 역할을 대신했다는 점이다.실질적인 가치라는건 이해가 그리 어렵지 않다...
-
통신료가 사라진 세상가볍게 읽는 시리즈 2017. 6. 22. 02:15
통신료 없는 세상이 왔으면 좋겠다. 돈이 없어서 스마트폰을 살 수 없는 사람이 얼마나 있겠냐만은 그래도 통신 함에 있어서 금전적인 문제로 인해 제약이 없어야 한다고 믿고 있다. 표현을 하건 하지 않건 간에 소통할 수 있는 수단이 제공되어야 하고 그것이 기본 권리에 속한다고 생각하기 때문이다.혹시 왜 통신료를 내야 할까라는 생각을 해본 적이 있는가? 그걸 알기 위해서는 우리가 매일같이 사용하는 네트워크가 어떻게 구성되어 있는지 살펴봐야 할 것이다. 컴퓨터 네트워크란 컴퓨터들의 집합이다. 위 그림과 같은 형태이다. 하지만 우리는 저런 컴퓨터들을 본 적이 없다. 왜냐하면 저런 통신용 컴퓨팅 장비들은 통신사라고 불리는 회사들에 의해 운영&유지되기 때문이다. 장비는 시간이 지나면 고장도 날 수 있고 구식이 되기 ..
-
유니티 네트워크(UNet)게임개발 2017. 6. 20. 16:04
유니티 네트워크에 대해 공부하면서 별것 아니지만 소소한 내용들이 골머리를 앓게 했는데 그것에 대해 짧게 글을 써보려고 한다.해당 게시물은 내가 새롭게 공부하는 족족 지속적으로 변경될 수 있다. 유니티 네트워크에서는 네트워크 모델을 크게 3가지로 구분짓고 있는데 각각 서버, 클라이언트, 호스트이다.서버는 그 이름에서도 알 수 있다시피 클라이언트로부터 네트워크 요청을 전송받아 특정 처리를 해주는 개체이다.클라이언트는 서버에 어떤 처리를 요청할 수 있는 개체이다.호스트는 특이하게도 서버와 클라이언트 둘 다의 역할을 수행한다. 네트워크 커넥션은 일방적으로 클라이언트가 서버에 요청하는 과정을 가진다. 그러므로 서버는 하나이며 클라이언트는 다수이다. (1:N)서버를 통하지 않고 클라이언트끼리 통신이 가능하지 않냐고..