ros_gz_project_template
가이드해당 튜토리얼에서는 ros_gz_project_template
를 사용하여 ROS2 및 Gazebo 프로젝트를 위한(추천되는) 구조화 된 워크스페이스를 생성하거나 기존 워크스페이스를 개선하는 방법을 배울 것.
해당 템플릿은 일관된 레이아웃, 자동화된 빌드 프로세스, ROS2 및 Gazebo와의 통합을 제공하여 로봇 응용 프로그램 개발에 집중할 수 있도록 돕습니다.
mkdir -p ~/project_ws/src
cd ~/project_ws/src
ros_gz_project_template
템플릿을 직접 사용하고 GitHub 에서 프로젝트 저장소를 생성.
혹은 git clone 을 통해 위 template 레포짓을 가져오기
wget <https://raw.githubusercontent.com/gazebosim/ros_gz_project_template/main/template_workspace.yaml>
vcs import < template_workspace.yaml
이후 생성된 레포짓의 이름을 원하는 대로 변경
각 패키지의 설명은 아래와 같습니다.
ros_gz_example_application
: ROS2 특정 코드 및 구성을 보유 ⇒ 로봇의 제어와 계획 그리고 상쉬 수준의 알고리즘이 있는 곳
위 처럼 디렉토리를 구성하여 pkg 를 새로이 빌드하면 된다.
ros_gz_example_bringup
: launch 파일과 고급 유틸리티, ROS와 Gazebo 사이의 통신 브릿지를 보유, 모든 로봇 또는 하드웨어 관련 구성이 여기에 표시 된다.
ros_gz_example_description
: 시뮬레이션된 시스템 및 기타 시뮬레이션 asset 에 대한 SDF 설명을 보유
ros_gz_example_gazebo
: Gazebo 특정 코드 및 구성을 보유 ⇒ 사용자의 world와 plugin 설정
시뮬레이션 assets 에서는 URDF 또는 SDF의 모델이나 로봇 설명서, 로봇의 다른 부분을 시각화 하는데 도움이 되는 mesh , materials files 그리고 이러한 요소를 시뮬레이션 된 world SDF로 컴파일 하는 것이 포함됨
Gazebo는 이러한 assets을 찾는 몇가지 다른 메커니즘을 제공하며, GZ_SIM_RESOURCE_PATH
환경 변수에서 검색을 설정.
RESOURCE 를 찾는 gz-sim API 에 대한 자세한 내용은 여기를 참조.