반응형
<Reference>
https://answers.gazebosim.org//question/4761/how-to-build-a-world-with-real-image-as-ground-plane/
1. 디렉터리 생성하기
mkdir ~/.gazebo/models/my_ground_plane
2. material 디렉터리 생성 및 하위 디렉터리 생성
mkdir -p ~/.gazebo/models/my_ground_plane/materials/textures
mkdir -p ~/.gazebo/models/my_ground_plane/materials/scripts
3. scripts 파일에 my_ground_plane.material 파일 생성
sudo nano my_ground_plane.material
material MyGroundPlane/Image
{
technique
{
pass
{
ambient 1 1 1 1.000000
diffuse 1 1 1 1.000000
specular 0.03 0.03 0.03 1.000000
texture_unit
{
texture MyImage.png
}
}
}
}
4. textures 폴더에 이미지 복사하기
~/.gazebo/models/my_ground_plane/materials/textures/MyImage.png
5. ~/.gazebo/models/my_ground_plane/model.sdf파일 생성하기
<?xml version="1.0" encoding="UTF-8"?>
<sdf version="1.4">
<model name="my_ground_plane">
<static>true</static>
<link name="link">
<collision name="collision">
<geometry>
<plane>
<normal>0 0 1</normal>
<size>100 100</size>
</plane>
</geometry>
<surface>
<friction>
<ode>
<mu>100</mu>
<mu2>50</mu2>
</ode>
</friction>
</surface>
</collision>
<visual name="visual">
<cast_shadows>false</cast_shadows>
<geometry>
<plane>
<normal>0 0 1</normal>
<size>100 100</size>
</plane>
</geometry>
<material>
<script>
<uri>model://my_ground_plane/materials/scripts</uri>
<uri>model://my_ground_plane/materials/textures/</uri>
<name>MyGroundPlane/Image</name>
</script>
</material>
</visual>
</link>
</model>
</sdf>
[참고]
해당 부분은 충돌 모델의 마찰력(friction)을 정의하는 부분입니다.
사용된 요소들은 Open Dynamics Engine (ODE) 엔진에 의한 마찰력 모델을 나타냅니다.
- <mu> 엘리먼트: 마찰력 계수(friction coefficient)를 나타냅니다. 이 값은 물체 간의 마찰을 정의하며, 값이 클수록 더 강한 마찰이 발생합니다.
- <mu2> 엘리먼트: 물체 간의 슬립(stick-slip) 현상을 조절하는 두 번째 마찰력 계수입니다. 이 값은 마찰력의 변화에 영향을 미치며, 일반적으로 <mu2> 값이 <mu> 값보다 작습니다.
여기서는 <mu>가 100이고 <mu2>가 50으로 설정되어 있습니다. 이는 충돌하는 물체 간의 강한 마찰력을 나타냅니다. 이 값들은 물리 엔진에서 실제 충돌 시의 물체 간 상호작용을 모사하는 데 사용됩니다.
6. ~/.gazebo/models/my_ground_plane/model.config 파일 생성하기
<?xml version="1.0" encoding="UTF-8"?>
<model>
<name>My Ground Plane</name>
<version>1.0</version>
<sdf version="1.4">model.sdf</sdf>
<description>My textured ground plane.</description>
</model>
7. 정리
~/.gazebo/models/my_ground_plane/materials/scripts/my_ground_plane.material
~/.gazebo/models/my_ground_plane/materials/textures/MyImage.png
~/.gazebo/models/my_ground_plane/model.config
~/.gazebo/models/my_ground_plane/model.sdf
8. Result
반응형
'ROS Project🦾' 카테고리의 다른 글
PX4를 이용하여 드론 제어하기 [2] (0) | 2024.02.14 |
---|---|
ROS QGroundControl 띄우기 [1] (0) | 2024.02.14 |
jackal_navigation 파라미터 분석하기 (1) | 2024.01.25 |
Jetson AGX Xavier에 Docker ROS image 설치하기 (2) | 2023.09.16 |
ROS 2 설치하기 (Ubuntu 22.04) + Pacakge & colcon error [solved] (0) | 2023.08.19 |