gazebo

gazebo : building a world 튜토리얼

정지홍 2025. 2. 7. 15:28

https://gazebosim.org/docs/harmonic/building_robot/

 

Building your own robot — Gazebo harmonic documentation

Building your own robot In this tutorial we will learn how to build our own robot in SDFormat. We will build a simple two wheeled robot. You can find the finished SDF file for the tutorial here. What is SDF SDFormat (Simulation Description Format), sometim

gazebosim.org

 

  • <?xml version="1.0" ?>
    • xml 문서임을 선언
  • <sdf version="1.10">
    • sdf파일의 root 요소이다.
  • <world name="car_world">
    • 시뮬레이션 월드를 car_world로 지정한다. 이는 시뮬레이터에서 해당 월드를 식별하는데 사용함.
    • <physics name="1ms" type="ignored">
      • 물리엔진에 관련한 파라미터를 설정하는 요소다.
        • 물리엔진 이름을 1ms라고 하였는데, 보통은 시간 단계(step size)나 특정 설정을 식별하기 위해서 붙인다.
        • ignored는 특정 물리 엔진을 사용하지 않거나, 해당 설정이 시뮬레이션에서 무시됨을 의미할 수 있음
      • <max_step_size>
        • 물리 시뮬레이션의 최대 시간 단계(step size)를 설정. 0.001dms 1m/s 단위로 시뮬레이션이 진행됨을 의미
      • <real_time_factor>
        • 시뮬레이션의 속도를 실제 시간(real time)에 얼마나 맞출것 인지를 결정하는 것이다.
    • <plugin>
      • 시뮬레이터의 기능을 확장하거나 특정한 시스템을 활성화하기 위해 플러그을 로드하는 역할을 한다.
      • ex)
        • filename="gz-sim-physics-system"은 물리 시뮬레이션을 위한 플러그인 라이브러리 파일 이름이다.
          • name="gz::sim::systems::Physics"은 플러그인 내부 이름으로, 물리시스템을 나타냄
        • filename="gz-sim-user-commands-system": 사용자 명령(입력 이벤트, 제어 명령)을 처리하는 플러그인
          • name="gz::sim::systems::UserCommands": 사용자 명령 시스템을 활성화
        • filename="gz-sim-scene-broadcaster-system": 시뮬레이션 장면 관련 정보를 외부로 broadcast하는 플러그인
          • name="gz::sim::systems::SceneBroadcaster": 시각적 요소나 상태를 다른 시스템에 전달하는 역할
    • <light>
      • sim내부의 조명을 정의
        • directional은 조명이 방향성 조명임을 나타냄.
          • 이는 특정 지점에서 빛이 발산되는 것이 아니라, 태양처럼 평행한 광선을 제공한다.
        • 조명의 이름을 sun으로 지정
        • cast_shadows는 true를 설정했으니, 조명이 그림자를 생성함을 의미함.
        • x,y,z는 당연 위치이다. roll , pitch , yaw은 회전을 의미
        • <diffuse>는 조명의 확산 색상을 정의함.
          • red , green , blue , alpha를 의미한다.
        • <specular>는 조명의 반사를 설정.
        • <attenuation>은 조명의 감쇠를 설정. 즉 빛의 감소 정도를 제어
          • 빛이 영향을 미치는 최대 거리는 1000이다.
          • constant는 감쇠 계수이다.
          • linear은 거리와 선형적으로 비례하는 감쇠 계수이다.
          • quadatic은 거리의 제곱에 비례하는 감쇠 계수
        • direction은 조명이 어느 방향에서 빛을 비출지 결정.

전체적으로 여기까지 완료

 


 

 

  • canonical_link은 모델 내에서 주(link)로 취급할 링크를 지정한다. 여기에서는 chassis링크가 차량의 기준 링크가 됨을 의미한다.

 

 

 


바퀴 추가에 대한 부분. 왼오같다.