Main Content

Gazebo 및 시뮬레이션된 TurtleBot 시작하기

이 예제에서는 Gazebo® 시뮬레이터 엔진을 설정하는 방법을 보여줍니다. 또한 이 예제는 Gazebo에 대해 더 깊이 알아보는 것은 물론 시뮬레이션된 TurtleBot®에 대해서도 알아보기 위한 준비 단계입니다.

Gazebo는 물리적 시나리오를 실제로 테스트하고 실험할 수 있는 시뮬레이터입니다. Gazebo는 고체 물리학과 우수한 그래픽스로 신속하게 실험을 생성하고 실행할 수 있기 때문에 로보틱스에서 유용한 툴입니다. MATLAB®은 ROS 인터페이스를 통해 Gazebo에 연결됩니다.

가상 머신 다운로드하기

ROS와 Gazebo가 이미 설치되어 있는 가상 머신 이미지를 다운로드할 수 있습니다. 이 가상 머신은 Ubuntu® Linux®를 기반으로 하며 ROS Toolbox™의 예제를 지원하도록 사전 구성되어 있습니다.

  • ROS 가상 머신을 다운로드하고 설치합니다.

  • 가상 머신을 시작합니다.

  • Ubuntu 바탕 화면에는 여러 Gazebo 세계 시작 스크립트는 물론 기타 유틸리티 바로 가기도 표시됩니다. TurtleBot® 예제의 경우 Gazebo Empty 아이콘, Gazebo House 아이콘, Gazebo Office 아이콘 또는 Gazebo Sign Follower ROS 아이콘을 사용합니다.

  • Gazebo House를 클릭합니다. 세계(world)가 열립니다.

참고: Gazebo 화면이 완전히 검게 보이면 이미지를 최소화했다가 다시 최대화하여 새로 고칩니다.

  • Ubuntu 가상 머신에서 새 터미널을 엽니다.

  • ifconfig를 입력하고 돌아가서 가상 머신에 대한 네트워킹 정보를 확인합니다.

  • eth0 아래에서 inet addr은 가상 머신의 IP 주소를 표시합니다.

  • 네트워크를 설정하려면 두 개의 ROS 환경 변수 ROS_MASTER_URI 및 ROS_IP를 설정해야 합니다. Linux® 가상 머신의 데스크탑에서 데모를 사용하는 경우 이러한 변수는 일반적으로 시작 시 자동으로 설정됩니다.

  • (선택 사항) 자체 가상 머신을 사용하는 경우 터미널에서 다음 명령을 실행하여 변수를 설정합니다. IP_OF_VM ifconfig를 통해 가져온 IP 주소로 바꿉니다.

echo export ROS_MASTER_URI=http://IP_OF_VM:11311 >> ~/.bashrc
echo export ROS_IP=IP_OF_VM >> ~/.bashrc
  • echo $ENV_VAR을 사용하여 환경 변수를 확인합니다(ENV_VAR을 적절한 환경 변수로 변경). 터미널을 닫았다가 다시 열면 적용됩니다.

  • 다음 다이어그램은 올바른 환경 변수 할당을 보여줍니다(가짜 IP 주소가 사용됨).

기존 Gazebo 시뮬레이터에 연결하기

Linux 배포판에서 이미 Gazebo를 실행 중인 경우 다음 설명에 따라 시뮬레이터를 설정합니다.

  • ROS 웹사이트에서 TurtleBot에 적합한 패키지를 다운로드합니다.

  • ROS 웹사이트의 지침에 따라, 시뮬레이션된 Gazebo 환경에서 TurtleBot을 실행합니다.

  • 환경 변수가 적절하게 설정되어 있고 호스트 컴퓨터와 Gazebo 컴퓨터 간에 ping을 주고받을 수 있는지 확인합니다. 네트워크를 설정하는 방법은 여러 가지가 있습니다. Connect to a ROS Network 예제에는 ROS 네트워크의 장치 간 연결을 확인하는 방법에 대한 팁이 포함되어 있습니다.

  • Linux 머신 터미널에서 ROS 명령을 사용하려면 적절한 ROS 설치를 사용하도록 터미널 환경을 설정해야 합니다. ROS 명령을 실행하기 전에 터미널에서 적절한 ROS 환경 설정 스크립트를 소싱합니다. 가상 머신에서 이 명령은 source /opt/ros/noetic/setup.bash입니다.

  • 다음 토픽에 대한 액세스 권한이 있는지 확인합니다. Linux 머신의 터미널에서, 사용할 수 있는 토픽을 확인하기 위해 rostopic list를 입력합니다.

호스트 컴퓨터 설정

  • 네트워크에서 호스트 컴퓨터의 IP 주소를 찾습니다. Windows® 컴퓨터의 경우 명령 프롬프트에서 ipconfig를 입력합니다. Mac이나 Linux 컴퓨터의 경우 터미널을 열고 ifconfig를 입력합니다. 다음은 ipconfig의 예를 보여줍니다.

참고: 연결 유형은 랩탑에 연결되어 있는 방법에 따라 다를 수 있습니다. 이 경우 이더넷을 사용하기도 하지만 대부분의 경우 무선(wlan) 연결이 적절합니다.

  • 시뮬레이터 머신 ping IP_OF_VM에 대해 ping을 수행합니다. 성공한 ping이 먼저 표시되고 그 뒤에 실패한 ping이 표시됩니다.

다음 단계