[데브코스 자율주행 TIL] DAY6 (09/25)

happy_quokka·2023년 9월 25일
0

2023.09.25 데브코스 6일차😝

새로운 일주일 시작!!
배우고 싶던 것 중 하나였던 ROS를 배우는 날들이라 기대가 된다.

C++ 개발 환경을 설정하는 것과 ROS 기초에 대해서 배웠다.


💻 C++ 개발 환경 설정

사람이 읽기 좋은 코드가 컴퓨터에게도 좋은 코드다!

개발 환경?

  • SW 개발을 하기 위해 필요한 도구들의 모음
  • OS, Language, Complier(or Interpreter), Build System, Version Control System

C++ 개발 환경 세팅

  • OS 종속성이 없고 어디서나 C++이 가능하도록
  • IDE 확장이 가능하도록
  • 개발 환경 구축을 자동화할 수 있도록

C++ Complier

  • complier는 번역기다!
  • GCC, Clang 사용

Build System

  • source code과 library들을 엮어주는 것!
  • CMake 사용

VCS

  • 프로젝트의 버전, 변경 내역을 관리 및 추적
  • git, github 사용

Coding Font

  • 읽기 쉽고 구조를 명확하게 파악할 수 있는 폰트가 있다.
  • 뭔가 신세계인 느낌이었다...!

설치

  • GCC, Clang, CMake, Git을 Ubuntu에 설치했다
  • clangd 설치 과정에 오류가 발생했다. 해결하지 못해서 내일 멘토님께 여쭤봐야겠다

🐢 ROS 기초

ROS를 처음 배우는 것이라 조금 생소하지만 배워보고 싶었고, 많은 로봇들에 사용되고 있고 적용할 수 있으니 재밌을 것 같아서 기대된다!

ROS란?

  • 오픈소스 로봇 운영체제 / 여러 도구 제공 / 이기종간의 통신 가능
  • 기본 용어들 : 마스터, 노드, 토픽, 발행자, 구독자, 패키지
  • 노드간 토픽을 주고 받으며 통신

거북이 실습

  • 거북이 너무 귀엽고 재밌다🐢 난 역시 이런 실습이 너무 좋다.
  • 직접 코드를 작성하고 실습을 통해서 배우는게 이해가 잘되고 습득이 잘 되는 것 같다
  • 패키지 관련 명령어
    • 패키지 만드는 catkin_create_pkg
    • 빌드하는 catkin_make
    • 패키지 확인하는 rospack
  • 프로그램 실행 관련 명령어
    • roscore : 마스터 실행
    • rosrun : node 실행
    • roslaunch : 여러 노드를 포함하는 launch 실행(roscore 자동 실행)
  • 확인 관련 명령어
    • rosnode list : node list 확인
    • rostopic : topic 확인
    • rosmsg : topic의 메세지 확인
    • rqt_graph : 노드 통신 그래프 확인

0개의 댓글