이 튜토리얼에서는 ROS2 를 Gazebo 와 통합하는 방법을 학습
두 프로그램 사이의 의사소통을 구축. 이는 여러 측면에서 도움이 될것.
ROS로 부터 데이터(ex: joint 상태)또는 명령을 수신하여 Gazebo에 적용할 수 있으며 그 반대의 경우도 가능ㄷ
또한 RViz가 Gazebo world 에서 시뮬레이션 된 로봇 모델을 시각화 하는데 도움이 될것.
튜토리얼을 하기 앞서
ros_gz_bridge
는 ROS2와 Gazebo Transport 사이의 메세지 교환을 가능하게 하는 네트워크 브릿지를 제공.
지원은 특정 메시지 유형으로만 제한됩니다. 귀하의 메시지 유형이 브릿지에서 지원되는지 확인하려면 아래에서 확인
ros_gz/ros_gz_bridge/README.md at ros2 · gazebosim/ros_gz
모든 주요 작동 및 센서 유형을 연결하는 데모 실행 파일을 포함하여 브릿지의 사용 예시를 ros_gz_sim_demos
에서 찾아볼 수 있다.
우리는 ROS를 publisher로, Gazebo를 subscriber로 또는 그 반대로 가질 수 있도록 양방향 브릿지를 초기화할 수 있습니다. 구문은 /TOPIC @ ROS_MSG @ GZ_MSG
로, 여기서 TOPIC
은 Gazebo 내부 토픽, ROS_MSG
는 이 토픽에 대한 ROS 메시지 유형이고, GZ_MSG
는 Gazebo 메시지 유형입니다.
예를 들어
ros2 run ros2_gz_bridge parameter_bridge /scan@sensor_msgs/msg/[email protected]
/ scan @ sensor_msgs/msg/LaserScan @ gz.msgs.LaserScan
/ Topic @ ROS_MSG @ GZ_MSG
ros2 run ros_gz_bridge parameter_bridge
명령은 단순하게 ros_gz_bridge 패키지의 parameter_bridge 코드를 실행함. 이후 메세지가 전송될 토픽인 /TOPIC
을 지정.