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
파일 아래 chassis
에 horizontal fins
, vertical fins
, propeller
들이 각각 joint로 연결된 것들을 볼 수 있다.
이들은 모두 회전 조인트이지만 upper , lower limit 이 각각 다릅니다. 프로펠러는 회전 제한이 없습니다(무제한 회전 가능). fins 는 이동량을 제한하기 위해 하한 값을 갖습니다.
이것들은 차량의 사양에 기반하여 설정해야 하는 매우 일반적인 패턴들
시뮬레이션 실행
gz sim model.sdf
시뮬레이션을 실행하면 자연스럽게 가라앉을 것이다.