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
: 노드 통신 그래프 확인