Create your vehicle

MBARI LRAUV 수중 차량을 만드는 과정

my_lrauv 라는 디렉토리를 만들어서 진행

cd gazebo_maritime/models
mkdir my_lrauv
cd my_lrauv
mkdir materials
mkdir meshes
cd materials
mkdir textures

아래 코드를 통해 디렉토리로 파일 다운로드

wget -r <https://raw.githubusercontent.com/gazebosim/gz-sim/gz-sim8/tutorials/files/underwater_vehicles/my_lrauv/model.config> -O /home/ioes-docker/host/Downloads/ROS-Gazebo-Dockerfile/gz_tutorial/gazebo_maritime/models/my_lrauv/model.config
wget -r <https://raw.githubusercontent.com/gazebosim/gz-sim/gz-sim8/tutorials/files/underwater_vehicles/my_lrauv/model.sdf> -O /home/ioes-docker/host/Downloads/ROS-Gazebo-Dockerfile/gz_tutorial/gazebo_maritime/models/my_lrauv/model.sdf
wget -r <https://raw.githubusercontent.com/gazebosim/gz-sim/gz-sim8/tutorials/files/underwater_vehicles/my_lrauv/materials/textures/Tethys_Albedo.png> -O /home/ioes-docker/host/Downloads/ROS-Gazebo-Dockerfile/gz_tutorial/gazebo_maritime/models/my_lrauv/materials/textures/Tethys_Albedo.png
wget -r <https://raw.githubusercontent.com/gazebosim/gz-sim/gz-sim8/tutorials/files/underwater_vehicles/my_lrauv/materials/textures/Tethys_Metalness.png> -O /home/ioes-docker/host/Downloads/ROS-Gazebo-Dockerfile/gz_tutorial/gazebo_maritime/models/my_lrauv/materials/textures/Tethys_Metalness.png
wget -r <https://raw.githubusercontent.com/gazebosim/gz-sim/gz-sim8/tutorials/files/underwater_vehicles/my_lrauv/materials/textures/Tethys_Normal.png> -O /home/ioes-docker/host/Downloads/ROS-Gazebo-Dockerfile/gz_tutorial/gazebo_maritime/models/my_lrauv/materials/textures/Tethys_Normal.png
wget -r <https://raw.githubusercontent.com/gazebosim/gz-sim/gz-sim8/tutorials/files/underwater_vehicles/my_lrauv/materials/textures/Tethys_Roughness.png> -O /home/ioes-docker/host/Downloads/ROS-Gazebo-Dockerfile/gz_tutorial/gazebo_maritime/models/my_lrauv/materials/textures/Tethys_Roughness.png
wget -r <https://raw.githubusercontent.com/gazebosim/gz-sim/gz-sim8/tutorials/files/underwater_vehicles/my_lrauv/meshes/base.dae> -O /home/ioes-docker/host/Downloads/ROS-Gazebo-Dockerfile/gz_tutorial/gazebo_maritime/models/my_lrauv/meshes/base.dae
wget -r <https://raw.githubusercontent.com/gazebosim/gz-sim/gz-sim8/tutorials/files/underwater_vehicles/my_lrauv/meshes/propeller.dae> -O /home/ioes-docker/host/Downloads/ROS-Gazebo-Dockerfile/gz_tutorial/gazebo_maritime/models/my_lrauv/meshes/propeller.dae
wget -r <https://raw.githubusercontent.com/gazebosim/gz-sim/gz-sim8/tutorials/files/underwater_vehicles/my_lrauv/meshes/tethys.dae> -O /home/ioes-docker/host/Downloads/ROS-Gazebo-Dockerfile/gz_tutorial/gazebo_maritime/models/my_lrauv/meshes/tethys.dae

model.sdf 파일을 열어서 보자.

차량이 다향한 links 들로 나뉘어져 있다는 것에 주목 : chassis, horizontal fins, vertical fins, propeller.

이는 하나 이상의 쓰러스터와 일부 제어 표면을 포함하는 차량에서 매우 일반적인 구분.

프로펠러와 제어 표면은 모두 이동 가능하기 떄문에 이들에 대한 별도의 링크를 생성해야 한다.

model.sdf 파일 아래 chassishorizontal fins, vertical fins, propeller 들이 각각 joint로 연결된 것들을 볼 수 있다.

이들은 모두 회전 조인트이지만 upper , lower limit 이 각각 다릅니다. 프로펠러는 회전 제한이 없습니다(무제한 회전 가능). fins 는 이동량을 제한하기 위해 하한 값을 갖습니다.

이것들은 차량의 사양에 기반하여 설정해야 하는 매우 일반적인 패턴들

시뮬레이션 실행

스크린샷 2024-05-08 오전 11.45.10.png

gz sim model.sdf

시뮬레이션을 실행하면 자연스럽게 가라앉을 것이다.