본문 바로가기
정나우/코드

DYROS 강의 정리

by 정_나우 2022. 7. 11.

1일차

 

제일 상위 경로: cd/ (Root)

--> 윈도우와 다르게 C, D, E 드라이브가 최상위가 아닌 Root(/)가 최상위 루트

      C, D, E 드라이브는 /media에 있음

 

~/.bashrc: 환경 변수 설정을 위한 터미널 시작 스크립트

 

권한: drwxrwxrwx 

d: direcrory 여부

첫 번째 rwx: 파일의 소유자

두 번째 rwx: 파일의 그룹

세 번째 rwx: 외부인

chmod로 변경 가능하다.

읽기, 쓰기, 실행: rwx면 가능 -면 권한 없음

 

Copy 명령어: cp {source} {destination} --> source를 destination에 복사

                     cp -r --> 폴더 안의 내용까지 모조리 복사

 

CMkaeList.txt 만들기 연습

cmake_minimum_required (VERSION 2.6): Cmake 필요 버전 정의
Project (Tutorial): 프로젝트 이름 정의
add_executable(Tutorial tutorial.cpp): 실행파일 정의(main 함수가 포함된 코드)

 

cpp파일로 프로젝트를 만들었을 때 구조는 다음과 같이 만든다.

 

여기에 맞춰 CmakeList.txt도 수정해준다.

 

ROS2와 ROS1의 차이점: 1. 다른 OS에서 호환이 가능하다.

                                        2. 실시간 정식 제공

                                        3. 보안 이슈 해결

                                        4. roscore가 사라지고 독립적 통신 수행

                                        5. 하나의 프로세서도 여러 노드 실행 가능

                                        6. Cmake를 사용하지 않는 패키지 작성 가능

                                        7. 패키지 개별적으로 빌드 가능

 

python으로 프로젝트 만들었을 때

장점: 코드가 간결, 빌드하지 않아도 변경사항 적용됨

단점: 실행 속도가 느림, 특정 라이브러리가 python을 적용하지 않아 개발에 어려움 존재

 

c++으로 프로젝트 만들었을 때

장점: 실행속도 매우 빠름, 기존c++ 라이브러리 사용 가능

단점: 코드가 복잡함, 빌드해야 변경사항 적용됨

 

2일차

rosbag: ROS의 메시지 데이터를 저장하고 재생시켜주는 도구

             퍼블리시되는 모든 데이터 저장 가능

             로봇의 센서데이터를 저장 및 재생할 때 주로 사용됨

 

$ rosbag record -O data.bag /helloros_topic --> 저장하는 파일의 이름을 data.bag으로 설정

$ rosbag play data.bag --> bag데이터 실행하는 명령어

 

rqt: qt기반 ROS 종합 GUI 도구

rviz: ROS 데이터 시각화 도구, 토픽 데이터를 subscibe해서 시각화 해줌, 각종 센서 데이터 시각화, 로봇 외형 네비게이션 매니퓰레이션 시각화

 

 

 

댓글