ROS의 작업 공간에 대해 알아보기

ROS 작업 공간 소개:

작업 공간의 개략도는 다음과 같습니다.

여기에 이미지 설명 삽입

 ROS 작업 공간의 내용은 4가지 범주로 나뉩니다.


- src: 가장 많이 처리된 폴더, 모든 코드 저장, 각 하위 폴더는 패키지, 함수 패키지, 프로젝트, 복사된 패키지 등이 있는 소스 공간(src 폴더). 이 공간에서 가장 중요한 파일은 CMakeLists.txt입니다. 작업 공간에서 패키지를 구성할 때 cmake가 호출하기 때문에 src 폴더에 CMakeLists.txt가 있습니다. 이 파일은 catkin_init_workspace 명령으로 생성됩니다.
- 빌드: 중간 컴파일 파일, 컴파일 중 이상한 버그가 없는 한 빌드 폴더에 cmake 및 catkin은 캐시 정보, 구성 및 기능 패키지 및 프로젝트에 대한 기타 중간 파일을 저장합니다.
- devel: 모든 exec/.py가 생성되는 디렉토리로, ROS 시스템이 자체적으로 작성한 패키지를 안내하는 디렉토리이기도 하며, 추후 자세히 소개할 예정입니다.

개발(Devel) 공간: devel 폴더는 설치 없이 테스트용으로 사용할 수 있는 프로그램인 컴파일된 프로그램을 저장하는 데 사용됩니다. 프로젝트가 테스트를 통과하면 기능 팩을 설치하거나 다른 개발자와 공유하기 위해 내보낼 수 있습니다.
- install: 프로그램이 외부로 출시될 때 저장되는 디렉토리

src 디렉토리


src 디렉토리의 각 폴더는 패키지를 나타내며 각 패키지는 여러 실행 파일을 생성할 수 있으며 각 실행 파일은 ROS 노드입니다.
각 패키지에는 다음이 포함되어 있습니다.

include: 작성된 헤더 파일 저장, CMakeLists.txt 추가 시 include/*.h 지정
src: 작성된 소스 파일 저장, include/*.cpp
srv 지정(선택 사항) CMakeLists.txt 추가 시: 서비스 동의 파일 *.src, CMakeLists.txt의 add_service_files()와 함께 사용, 파일 이름을 직접 작성, 접두사를 추가하지 않음 msg
(선택 사항): 서비스 계약 파일 *.msg의 저장 위치, CMakeLists의 add_message_files() 포함 .txt 사용, 접두사를 추가하지 않고 파일 이름을 직접 작성

개발 디렉토리


이 디렉토리는 일반적으로 독립적이지 않지만 ROS는 c++/Python 출력을 모두 지원하므로 독립적인 폴더에 배치되며 ROS 시스템 부팅 파일은 기본적으로 제공됩니다. 특히 다음을 포함합니다:
-setup.sh/.zsh/.bash: 다른 셸에 의해 호출되는 스크립트 소스 다음에 현재 작업 공간이 ROS 시스템에서 부팅된 다음 생성된 패키지는 rosrun/roscd/...와 같은 명령으로 호출될 수 있습니다. .
-local_setup.sh/.zsh/.bash: 현재 디렉토리에서 setup.sh를 호출하는 데 사용
-__setup__util.py: setup.sh와 유사하지만 파이썬이 로드하도록 안내하는 데 사용
-env.sh: 현재 디렉토리의 환경 설정 Workspace, not 수동 호출 필요
-include: C++ 헤더 파일 디렉터리
-lib: C++ 컴파일, Python 코드 및 구성 파일 디렉터리

[pkg*]: 패키지 폴더에 따라 구분되는 C++ 실행 파일의 출력 디렉터리 [pkgconfig]: 다른 라이브러리에 종속될 때 사용되는 C++의 외부 부팅 구성이며 *.pc 구성 파일 python3
은 각 패키지별로 제공되는
사이트 패키지가 제공되는 파이썬 출력 파일 디렉토리, 파이썬에서 외부적으로 호출 가능

 ros 작업 공간 만들기

1. 패키지 생성        

        mkdir -p ~/catkin_ws/src

2. src 폴더 진입 후 초기화

        cd ~/catkin_ws/src

        catkin_init_workspace

3. 돌아가서 컴파일

        cd ~/catkin_ws/         

        catkin_make

4. 작업 영역을 환경 변수에 소싱하고 추가합니다.  

        소스 개발/setup.bash

Supongo que te gusta

Origin blog.csdn.net/weixin_62705892/article/details/127624030
Recomendado
Clasificación