[데브코스 자율주행 TIL] DAY8 (09/27)

happy_quokka·2023년 9월 27일
0

2023.09.27 데브코스 8일차😁

앞으로 프로젝트를 진행하면서 문제점을 정의하고 그 문제를 어떻게 해결할 건지에 대한 생각을 많이 해야겠다. 그리고 그때그때 하는 생각들을 잘 정리하고 기록해야겠다. 프로젝트 협업을 진행하는 과정에서 어떤 일이 있었는지, 나의 파트가 무엇이었는지에 대해 중요하게 생각해야겠다.

오늘 1차 프로젝트 팀이 정해졌고 다음주부터 프로젝트가 시작할 것 같다. 설렌다. 진심으로 프로젝트를 생각하고 좋은 과정, 결과를 통해 의미있는 경험이 되도록 열심히 할거다!!🥰

오늘은 C++ 환경 설정에서 CMake에 대해 배우고, ROS 원격 노드 통신에 대해 배웠다.


💻 CMake

  • build system으로 프로젝트를 관리
  • CMake를 제대로 작성하고 사용하면 readme가 필요없을 정도다. 그럴 수 있는 개발자가 되고 싶다!
  • CMakeLists.txt 작성이 중요하다⭐

variable 관련 명령어

  • set() : 변수 설정 (변수 이름, 값, 경로, 전역 캐시 등)
  • message() : 정보, 경고, 오류 메시지 출력

project 관련 명령어

  • cmake_minimum_required() : 최소 요구 버전, 반드시 CMakeLists.txt 최상단에 있어야한다
  • project() : 프로젝트 이름, 언어, 버전 설정

target 관련 명령어

  • add_executable() : 실행 파일 생성
  • add_library() : 라이브러리 생성
  • target_link_library() : 특정 타겟에 라이브러리를 연결

file system 관련 명령어

  • file() : 파일, 디렉토리 관련 작업 수행
  • install() : 프로젝트 타겟, 파일, 디렉토리를 지정된 위치에 설치하도록 설정 (프로젝트 빌드 후 install을 통해 타겟, 파일들이 설치된다.)

ExternalProject

  • 외부 프로젝트 모듈 사용
  • ExternalProject_Add()

📡 ROS 원격 노드 통신

  • 빨리 자이카 실습해보고 싶다!!🚗

  • TCP/IP 계열의 통신 프로토콜을 사용하여 노드 간 통신
  • 공인 IP : 유일한 IP 주소, 공유기 IP
  • 사설 IP : 노트북 IP 주소처럼 내부에서 할당된 IP 주소

0개의 댓글